$ od -c -N 50000 [_CD8_]<doradosource>LoadMB.dm!6
0000000  377  \0  \0   L   o   a   d   M   B   .   b   c   p   l  \0 373
0000020  231   C 304   &  \0  \0 376 001  \0 373   0   /   /       L   o
0000040    a   d   M   B   .   b   c   p   l       -   -       l   o   a
0000060    d   s       M   B       f   i   l   e       o   n       D   o
0000100    r   a   d   o  \r  \r   /   /       L   a   s   t       m   o
0000120    d   i   f   i   e   d       J   u   n   e       2   5   ,    
0000140    1   9   8   2           6   :   1   8       P   M       b   y
0000160        T   a   f   t  \r  \r   g   e   t       "   S   t   r   e
0000200    a   m   s   .   d   "  \r   g   e   t       "   A   l   t   o
0000220    F   i   l   e   S   y   s   .   d   "  \r  \r   e   x   t   e
0000240    r   n   a   l  \r   [  \r   /   /       i   n   c   o   m   i
0000260    n   g       p   r   o   c   e   d   u   r   e   s  \r   S   e
0000300    t   u   p   R   e   a   d   P   a   r   a   m   ;       R   e
0000320    a   d   P   a   r   a   m   ;       E   v   a   l   P   a   r
0000340    a   m  \r   O   p   e   n   F   i   l   e   ;       C   l   o
0000360    s   e   s   ;       R   e   a   d   B   l   o   c   k   ;    
0000400    W   r   i   t   e   B   l   o   c   k   ;       F   i   l   e
0000420    P   o   s   ;       S   e   t   F   i   l 376 001  \0   @   S
0000440    e   P   o   s   ;       G   e   t   C   o   m   p   l   e   t
0000460    e   F   a  \r   W   s   ;       G   e   t   s   ;       P   u
0000500    t   s   ;       R   e   s   e   t   s   ;       R   e   a   d
0000520    L   e   a   d   e   r   P   a   g   e   ;       T   r   u   n
0000540    c   a   t   e   D   i   s   k   S   t   r   e   a   m  \r   P
0000560    u   t   T   e   m   p   l   a   t   e   ;       E   n   q   u
0000600    e   u   e  \r   Z   e   r   o   ;       M   o   v   e   B   l
0000620    o   c   k   ;       U   s   c   ;       C   a   l   l   S   w
0000640    a   t   ;       R   e   a   d   C   a   l   e   n   d   a   r
0000660    ;       A   l   l   o   c   a   t   e  \r  \r   /   /       i
0000700    n   c   o   m   i   n   g       s   t   a   t   i   c   s  \r
0000720    k   e   y   s   ;       d   s   p   ;       s   y   s   Z   o
0000740    n   e  \r   ]  \r  \r  \r   s   t   r   u   c   t   u   r   e
0000760        M   B   N   a   m   e       ^   0   ,   0       b   y   t
0001000    e           /   /       t   e   r   m   i   n   a   t   e   s
0001020        o   n       n   u   l   l       b   y   t   e  \r   s   t
0001040  376 001  \0   |   8   r   u   c   t   u   r   e       S   t   r
0001060    i   n   g       [       l   e   n   g   t   h       b   y   t
0001100    e   ;       c   h   a   r       ^   1   ,   1       b   y   t
0001120    e       ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -
0001140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0001240    -   -   -  \r   s   t   r   u   c   t   u   r   e       M   B
0001260    :  \t  \t   /   /       b   l   o   c   k       f   o   r   m
0001300    a   t       i   n       M   B       f   i   l   e  \r   /   /
0001320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0001420    -   -   -   -   -   -   -   -   -   -   -   -  \r   [  \r   w
0001440    o   r   d   0     376 001  \0 374 355   w   o   r   d       =
0001460   \r               [  \r               b   l   a   n   k       b
0001500    y   t   e  \t  \t   /   /       u   s   e   d       i   n    
0001520    M   i   d   a   s       M   B       f   i   l   e   s   ,    
0001540    b   u   t       n   o   t       i   n       n   o   r   m   a
0001560    l       o   n   e   s  \r               t   y   p   e       b
0001600    y   t   e  \t  \t   /   /       b   l   o   c   k       t   y
0001620    p   e  \r               ]  \r   d   a   t   a   :  \r        
0001640        [  \r               s   o   u   r   c   e   L   i   n   e
0001660        w   o   r   d  \t   /   /       s   o   u   r   c   e    
0001700    l   i   n   e       n   u   m   b   e   r  \r               v
0001720    a   l   u   e       ^   0   ,   0       w   o   r   d  \t   /
0001740    /       l   e   f   t   -   a   d   j   u   s   t   e   d    
0001760    d   a   t   a  \r               ]       =  \r   m   e   m   o
0002000    r   y   :  \r               [  \r               m   e   m   o
0002020    r   y   N   u   m       w   o   r   d  \t   /   /       m   e
0002040    m   o   r   y       n   u   m   b   e 376 001  \0 037   D   r
0002060   \r               l   o   c   a   t   i   o   n       w   o   r
0002100    d  \t   /   /       f   i   r   s   t       l   o   c   a   t
0002120    i   o   n       i   n       m   e   m   o   r   y  \r        
0002140        ]       =  \r   f   i   x   u   p   :  \r               [
0002160   \r               m   e   m   o   r   y   N   u   m       w   o
0002200    r   d  \t   /   /       m   e   m   o   r   y       n   u   m
0002220    b   e   r  \r               l   o   c   a   t   i   o   n    
0002240    w   o   r   d  \t   /   /       l   o   c   a   t   i   o   n
0002260        i   n       m   e   m   o   r   y  \r               f   i
0002300    r   s   t   B   i   t       b   y   t   e  \t   /   /       f
0002320    i   e   l   d       t   o       b   e       s   t   o   r   e
0002340    d       i   n   t   o  \r               l   a   s   t   B   i
0002360    t       b   y   t   e  \r               v   a   l   u   e    
0002400    w   o   r   d  \t  \t   /   /       v   a   l   u   e       t
0002420    o       b   e       s   t   o   r   e   d  \r               ]
0002440        =  \r   m   e   m   o   r   y   N   a   m   e   :  \r 376
0002460  001  \0 366 261               [  \r               m   e   m   o
0002500    r   y   N   u   m       w   o   r   d  \t   /   /       m   e
0002520    m   o   r   y       n   u   m   b   e   r  \r               w
0002540    i   d   t   h       w   o   r   d  \t  \t   /   /       m   e
0002560    m   o   r   y       w   i   d   t   h  \r               n   a
0002600    m   e       @   M   B   N   a   m   e  \t  \t   /   /       m
0002620    e   m   o   r   y       n   a   m   e  \r               ]    
0002640    =  \r   a   d   d   r   e   s   s   :  \r               [  \r
0002660                m   e   m   o   r   y   N   u   m       w   o   r
0002700    d  \t   /   /       m   e   m   o   r   y       n   u   m   b
0002720    e   r  \r               v   a   l   u   e       w   o   r   d
0002740   \t  \t   /   /       a   d   d   r   e   s   s       v   a   l
0002760    u   e  \r               n   a   m   e       @   M   B   N   a
0003000    m   e  \t  \t   /   /       a   d   d   r   e   s   s       s
0003020    y   m   b   o   l       n   a   m   e  \r               ]    
0003040    =  \r   u   n   d   e   f   i   n   e   d   :  \r            
0003060    [  \r         376 001  \0  \t 350       m   e   m   o   r   y
0003100    N   u   m       w   o   r   d  \t   /   /       m   e   m   o
0003120    r   y       n   u   m   b   e   r  \r               l   o   c
0003140    a   t   i   o   n       w   o   r   d  \t   /   /       l   o
0003160    c   a   t   i   o   n       i   n       m   e   m   o   r   y
0003200   \r               f   i   r   s   t   B   i   t       b   y   t
0003220    e  \t   /   /       f   i   e   l   d       t   o       b   e
0003240        s   t   o   r   e   d       i   n   t   o  \r            
0003260    l   a   s   t   B   i   t       b   y   t   e  \r            
0003300    n   a   m   e       @   M   B   N   a   m   e  \t  \t   /   /
0003320        e   x   t   e   r   n   a   l       s   y   m   b   o   l
0003340        n   a   m   e  \r               ]  \r   ]  \r  \r   m   a
0003360    n   i   f   e   s   t  \r   [  \r   /   /       b   l   o   c
0003400    k       t   y   p   e   s  \r   m   b   E   n   d       =    
0003420    0  \t  \t   /   /       e   n   d       o   f       M   B    
0003440    f   i   l   e  \r   m   b   D   a   t   a       =       1  \t
0003460   \t   /   /       s   t   o   r   e 376 001  \0   r   d       m
0003500    e   m   o   r   y       d   a   t   a       a   n   d       i
0003520    n   c   r   e   m   e   n   t       l   o   c   a   t   i   o
0003540    n  \r   m   b   M   e   m   o   r   y       =       2  \t  \t
0003560    /   /       s   e   t       m   e   m   o   r   y       n   u
0003600    m   b   e   r       a   n   d       l   o   c   a   t   i   o
0003620    n  \r   m   b   F   i   x   u   p       =       3  \t  \t   /
0003640    /       f   o   r   w   a   r   d       r   e   f   e   r   e
0003660    n   c   e       f   i   x   u   p  \r   m   b   M   e   m   o
0003700    r   y   N   a   m   e       =       4  \t   /   /       c   o
0003720    r   r   e   l   a   t   e       m   e   m   o   r   y       n
0003740    a   m   e       a   n   d       n   u   m   b   e   r  \r   m
0003760    b   A   d   d   r   e   s   s       =       5  \t  \t   /   /
0004000        d   e   f   i   n   e       a   d   d   r   e   s   s    
0004020    s   y   m   b   o   l  \r   m   b   U   n   d   e   f   i   n
0004040    e   d       =       6  \t  \t   /   /       e   x   t   e   r
0004060    n   a   l       r   e   f   e   r   e   n   c   e  \r 376 001
0004100   \0 213   u  \r   /   /       b   l   o   c   k       l   e   n
0004120    g   t   h   s  \r   l   e   n   M   B   D   a   t   a       =
0004140        o   f   f   s   e   t       M   B   .   d   a   t   a   .
0004160    v   a   l   u   e   /   1   6           /   /       +       s
0004200    i   z   e       o   f       v   a   l   u   e  \r   l   e   n
0004220    M   B   M   e   m   o   r   y       =       o   f   f   s   e
0004240    t       M   B   .   m   e   m   o   r   y   .   l   o   c   a
0004260    t   i   o   n   /   1   6       +   1  \r   l   e   n   M   B
0004300    F   i   x   u   p       =       o   f   f   s   e   t       M
0004320    B   .   f   i   x   u   p   .   v   a   l   u   e   /   1   6
0004340        +   1  \r   l   e   n   M   B   M   e   m   o   r   y   N
0004360    a   m   e       =       o   f   f   s   e   t       M   B   .
0004400    m   e   m   o   r   y   N   a   m   e   .   n   a   m   e   /
0004420    1   6           /   /       +       s   i   z   e       o   f
0004440        n   a   m   e  \r   l   e   n   M   B   A   d   d   r   e
0004460    s   s       =       o   f   f   s   e   t       M   B   .   a
0004500    d   d   r 376 001  \0 335 362   e   s   s   .   n   a   m   e
0004520    /   1   6           /   /       +       s   i   z   e       o
0004540    f       n   a   m   e  \r   l   e   n   M   B   U   n   d   e
0004560    f   i   n   e   d       =       o   f   f   s   e   t       M
0004600    B   .   u   n   d   e   f   i   n   e   d   .   n   a   m   e
0004620    /   1   6           /   /       +       s   i   z   e       o
0004640    f       n   a   m   e  \r  \r   m   a   x   M   e   m   o   r
0004660    y   N   u   m       =       5   0  \r   m   a   x   L   e   n
0004700    N   a   m   e       =       1   2   7  \r   ]  \r  \r   /   /
0004720    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0005020    -   -   -   -   -   -   -   -   -   -   -   -  \r   s   t   r
0005040    u   c   t   u   r   e       I   M   :  \t  \t   /   /       I
0005060    M       w   o   r   d   ,       i   n       M   B       f   i
0005100    l   e       o   n   l   y  \r 376 001  \0 330   @   /   /   -
0005120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0005220    -   -   -   -   -   -   -   -   -   -   -  \r   [  \r   w   o
0005240    r   d   0       w   o   r   d       =  \r               [    
0005260    R   S   T   K       b   i   t       4   ;       A   L   U   F
0005300        b   i   t       4   ;       B   S   E   L       b   i   t
0005320        3   ;       L   C       b   i   t       3   ;       A   S
0005340    E   L   0   1       b   i   t       2       ]       =  \r    
0005360            [       R   S   T   K   0       b   i   t       1   ;
0005400        r   e   s   t   0       b   i   t       1   5       ]  \r
0005420    w   o   r   d   1       w   o   r   d       =  \r            
0005440    [       A   S   E   L   2       b   i   t       1   ;       B
0005460    L   K       b   i   t       1   ;       F   F       b   i   t
0005500        8   ;       J   C   N   0   5       b   i   t 376 001  \0
0005520    K 321       6       ]       =  \r               [       A   S
0005540    E   L   2   B   L   K       b   i   t       2   ;       r   e
0005560    s   t   1       b   i   t       1   4       ]  \r   w   o   r
0005600    d   2       w   o   r   d       =  \r               [       J
0005620    C   N   6   7       b   i   t       2   ;       P   E   0   2
0005640    0       b   i   t       1   ;       P   E   2   1   3   1    
0005660    b   i   t       1   ;       b   l   a   n   k       b   i   t
0005700        1   2       ]  \r   w   o   r   d   3       w   o   r   d
0005720        =  \r               [       b   l   a   n   k       b   i
0005740    t       4   ;       a   b   s   o   l   u   t   e   A   d   d
0005760    r       b   i   t       1   2       ]  \r   ]  \r  \r   /   /
0006000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0006100    -   -   -   -   -   -   -   -   -   -   -   -  \r   s   t   r
0006120    u   c 376 001  \0 356   F   t   u   r   e       I   F   U   M
0006140    :  \t  \t   /   /       I   F   U   M       w   o   r   d   ,
0006160        i   n       M   B       f   i   l   e       a   n   d    
0006200    i   n       I   t   e   m  \r   /   /   -   -   -   -   -   -
0006220    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0006320    -   -   -   -   -   -  \r   [  \r   w   o   r   d   0       w
0006340    o   r   d       =  \r               [       b   l   a   n   k
0006360        b   i   t       5   ;       P   A       b   i   t       1
0006400    ;       I   F   A   D       b   i   t       1   0       =    
0006420    [       I   F   A   D   0   1       b   i   t       2   ;    
0006440    I   F   A   D   2   9       b   i   t       8       ]       ]
0006460   \r   w   o   r   d   1       w   o   r   d       =  \r        
0006500        [  \r               S   G   N       b   i   t       1   ;
0006520        I   P   A   R       b 376 001  \0   Z   }   i   t       3
0006540        =       [       P   0       b   i   t   ;       P   1    
0006560    b   i   t   ;       P   2       b   i   t       ]   ;       L
0006600    E   N       b   i   t       2   ;  \r               R   B   A
0006620    S   E   B       b   i   t       1   ;       M   E   M   B    
0006640    b   i   t       3       =       [       M   E   M   B   0    
0006660    b   i   t       1   ;       M   E   M   B   1   2       b   i
0006700    t       2       ]   ;  \r               T   Y   P   E       b
0006720    i   t       2   ;       N       b   i   t       4  \r        
0006740        ]  \r   ]  \r  \r   m   a   n   i   f   e   s   t  \r   [
0006760   \r   /   /       m   a   s   k   s       d   e   f   i   n   i
0007000    n   g       c   o   n   t   r   i   b   u   t   i   o   n    
0007020    o   f       e   a   c   h       w   o   r   d       t   o    
0007040    e   a   c   h       p   a   r   i   t   y       b   i   t  \r
0007060    i   f   u   m   W   0   P   0       =       1   4   0   0   B
0007100    ;       i   f   u   m   W   0   P   1       =       3   7   7
0007120    B   ;       i   f   u   m   W   0   P   2     376 001  \0 234
0007140    V   =       2   0   0   0   B  \r   i   f   u   m   W   1   P
0007160    0       =       3   1   7   B   ;       i   f   u   m   W   1
0007200    P   1       =       0   B   ;       i   f   u   m   W   1   P
0007220    2       =       1   0   7   4   6   0   B  \r   ]  \r  \r   /
0007240    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0007260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0007340    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   s   t
0007360    r   u   c   t   u   r   e       R   M   :  \t  \t   /   /    
0007400    R   M       w   o   r   d   ,       i   n       M   B       f
0007420    i   l   e       a   n   d       i   n       I   t   e   m  \r
0007440    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0007460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0007540    - 376 001  \0 220   "   -   -   -   -   -   -   -   -   -   -
0007560    -   -   -  \r   [  \r   w   o   r   d   0       w   o   r   d
0007600   \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -
0007620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0007720    -   -  \r   s   t   r   u   c   t   u   r   e       I   t   e
0007740    m   :  \t  \t   /   /       c   o   n   t   r   o   l       s
0007760    t   o   r   e       i   t   e   m  \r   /   /   -   -   -   -
0010000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0010100    -   -   -   -   -   -   -   -  \r   [  \r   e   x   t   r   a
0010120    I   M       b   i   t       4       =  \t  \t   /   /       e
0010140    x   t   r   a       b 376 001  \0 313 365   i   t   s       f
0010160    o   r       I   M       d   a   t   a  \r               [    
0010200    P   E   0   2   0       b   i   t   ;       R   S   T   K   0
0010220        b   i   t   ;       P   E   2   1   3   1       b   i   t
0010240    ;       B   L   K       b   i   t       ]  \r   z   e   r   o
0010260        b   i   t       1  \t  \t   /   /       m   u   s   t    
0010300    b   e       z   e   r   o  \r   b   l   a   n   k       b   i
0010320    t       8  \t  \t   /   /       u   n   u   s   e   d   ,    
0010340    l   e   a   v   e       z   e   r   o       f   o   r       n
0010360    o   w  \r   t   y   p   e       b   i   t       3  \t  \t   /
0010400    /       I   t   e   m       t   y   p   e  \r   d   a   t   a
0010420    :           /   /       I   M   ,       I   F   U   M   ,    
0010440    o   r       R   M  \r               [  \r               a   d
0010460    d   r       w   o   r   d  \t  \t   /   /       a   d   d   r
0010500    e   s   s  \r               w   o   r   d   0       w   o   r
0010520    d  \t  \t   /   /       l   e   f   t       h   a   l   f    
0010540    (   I   M   ,       I   F   U   M   )     376 001  \0 001 235
0010560    o   r       e   n   t   i   r   e       v   a   l   u   e    
0010600    (   R   M   )  \r               w   o   r   d   1       w   o
0010620    r   d  \t  \t   /   /       r   i   g   h   t       h   a   l
0010640    f       (   I   M   ,       I   F   U   M   )  \r            
0010660    ]       =  \r   e   n   d   :  \r               [  \r        
0010700        b   l   a   n   k       w   o   r   d  \r               c
0010720    h   e   c   k   s   u   m       w   o   r   d  \t   /   /    
0010740    c   h   e   c   k   s   u   m       o   v   e   r       e   n
0010760    t   i   r   e       i   t   e   m       a   r   r   a   y  \r
0011000                s   t   a   r   t   A   d   d   r       w   o   r
0011020    d  \t   /   /       s   t   a   r   t   i   n   g       a   d
0011040    d   r   e   s   s  \r               ]  \r   ]  \r  \r   m   a
0011060    n   i   f   e   s   t  \r   [  \r   /   /       I   t   e   m
0011100        t   y   p   e   s  \r   i   t   e   m   I   M       =    
0011120    0  \t  \t   /   /       I   M       d   a   t   a  \r   i   t
0011140    e   m   I   F   U   M       =       1  \t  \t   /   /       I
0011160  376 001  \0 354 234   F   U   M       d   a   t   a  \r   i   t
0011200    e   m   E   n   d       =       2  \t  \t   /   /       E   n
0011220    d       b   l   o   c   k  \r   i   t   e   m   R   M       =
0011240        3  \t  \t   /   /       R   M       d   a   t   a  \r  \r
0011260    l   e   n   I   t   e   m       =       s   i   z   e       I
0011300    t   e   m   /   1   6  \r   ]  \r  \r   /   /   -   -   -   -
0011320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0011420    -   -   -   -   -   -   -   -  \r   s   t   r   u   c   t   u
0011440    r   e       C   S   A   r   r   a   y   :  \t   /   /       c
0011460    o   n   t   r   o   l       s   t   o   r   e       a   r   r
0011500    a   y  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0011520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0011560    -   -   -   -   - 376 001  \0 037 016   -   -   -   -   -   -
0011600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0011620    -   -   -   -   -   -  \r   [  \r   l   e   n   g   t   h    
0011640    w   o   r   d  \t  \t   /   /       l   e   n   g   t   h    
0011660    o   f       a   r   r   a   y       (   I   t   e   m   s   )
0011700   \r   m   a   x   L   e   n   g   t   h       w   o   r   d  \t
0011720   \t   /   /       m   a   x       l   e   n   g   t   h       o
0011740    f       a   r   r   a   y       (   I   t   e   m   s   )  \r
0011760    i   t   e   m       ^   0   ,   0       @   I   t   e   m  \r
0012000    ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0012020    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0012120    -  \r   s   t   r   u   c   t   u   r   e       M   e   s   a
0012140    S   t   r   i   n   g   :       [       l   e   n   g   t   h
0012160        w   o   r   d   ;       m   a   x 376 001  \0  \f   d   L
0012200    e   n   g   t   h       w   o   r   d   ;       c   h   a   r
0012220    ^   0   ,   1       b   y   t   e       ]  \r   /   /   -   -
0012240    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0012340    -   -   -   -   -   -   -   -   -   -  \r  \r   /   /   -   -
0012360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0012460    -   -   -   -   -   -   -   -   -   -  \r   s   t   r   u   c
0012500    t   u   r   e       E   B   F   i   l   e   :  \t   /   /    
0012520    E   t   h   e   r       B   o   o   t   a   b   l   e       f
0012540    o   r   m   a   t  \r   /   /   -   -   -   -   -   -   -   -
0012560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   - 376
0012600  001  \0 207   b   -   -   -   -   -   -   -   -   -   -   -   -
0012620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0012660    -   -   -   -   -   -   -   -   -  \r   [  \r   o   v   e   r
0012700    h   e   a   d   P   a   g   e       w   o   r   d       2   5
0012720    6       =  \r               [  \r               e   t   h   e
0012740    r   V   e   r   s   i   o   n   N   u   m   b   e   r       w
0012760    o   r   d  \r               m   u   s   t   B   e   Z   e   r
0013000    o       w   o   r   d       2  \r               c   r   e   a
0013020    t   i   o   n   D   a   t   e       w   o   r   d       2  \r
0013040                n   a   m   e       @   M   e   s   a   S   t   r
0013060    i   n   g  \t   /   /       n   a   m   e       o   f       t
0013100    h   i   s       .   e   b       f   i   l   e  \r            
0013120    ]  \r   i   t   e   m       ^   0   ,   0       @   I   t   e
0013140    m  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -
0013160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0013200    -   -   -   - 376 001  \0   g 235   -   -   -   -   -   -   -
0013220    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0013260    -   -   -   -   -   -   -   -  \r   s   t   r   u   c   t   u
0013300    r   e       B   R   F   i   l   e   :  \t   /   /       B   c
0013320    p   l       b   i   n   a   r   y       f   o   r   m   a   t
0013340   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0013360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0013440    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0013460    [  \r   b   c   p   l   V   e   r   s   i   o   n   N   u   m
0013500    b   e   r       w   o   r   d  \r   f   i   l   e   L   e   n
0013520    g   t   h       w   o   r   d  \r   b   l   a   n   k       w
0013540    o   r   d  \t  \t   /   /       m   u   s   t       b   e    
0013560    z   e   r   o  \r   n   a   m   e   T   a   b   l   e   O   f
0013600    f   s   e   t       w   o   r   d 376 001  \0   L 036  \r   b
0013620    l   a   n   k       w   o   r   d  \t  \t   /   /       m   u
0013640    s   t       b   e       z   e   r   o  \r   l   a   b   e   l
0013660    T   a   b   l   e   O   f   f   s   e   t       w   o   r   d
0013700   \r   b   l   a   n   k       w   o   r   d  \t  \t   /   /    
0013720    m   u   s   t       b   e       z   e   r   o  \r   c   o   d
0013740    e   O   f   f   s   e   t       w   o   r   d  \r   b   l   a
0013760    n   k       w   o   r   d  \t  \t   /   /       m   u   s   t
0014000        b   e       z   e   r   o  \r   c   h   a   i   n   T   a
0014020    b   l   e   O   f   f   s   e   t       w   o   r   d  \r   b
0014040    l   a   n   k       w   o   r   d  \t  \t   /   /       m   u
0014060    s   t       b   e       z   e   r   o  \r   z   c   h   a   i
0014100    n   T   a   b   l   e   O   f   f   s   e   t       w   o   r
0014120    d  \r   b   l   a   n   k       w   o   r   d       3  \t  \t
0014140    /   /       m   u   s   t       b   e       z   e   r   o  \r
0014160    l   a   b   e   l   T   a   b   l   e       w   o   r   d    
0014200    3       =  \r               [  \r               l   a 376 001
0014220   \0   "   0   b   e   l   C   o   u   n   t       w   o   r   d
0014240   \t   /   /       m   u   s   t       b   e       1  \r        
0014260        l   a   b   e   l   N   a   m   e   N   u   m   b   e   r
0014300        w   o   r   d  \t   /   /       m   u   s   t       b   e
0014320        1  \r               l   a   b   e   l   P   C       w   o
0014340    r   d  \t  \t   /   /       m   u   s   t       b   e       1
0014360   \r               ]  \r   c   h   a   i   n   T   a   b   l   e
0014400        w   o   r   d       1  \t   /   /       m   u   s   t    
0014420    b   e       z   e   r   o  \r   z   c   h   a   i   n   T   a
0014440    b   l   e       w   o   r   d       1  \t   /   /       m   u
0014460    s   t       b   e       z   e   r   o  \r   n   a   m   e   T
0014500    a   b   l   e       w   o   r   d       3       =  \r        
0014520        [  \r               n   a   m   e   C   o   u   n   t    
0014540    w   o   r   d  \t   /   /       m   u   s   t       b   e    
0014560    1  \r               n   a   m   e   D   e   s   c   r   i   p
0014600    t   o   r       w   o   r   d  \t   /   /       m   u   s   t
0014620        b   e 376 001  \0 265 265       1   4   0   b  \r        
0014640        b   l   a   n   k       w   o   r   d  \r               n
0014660    a   m   e   S   t   r   i   n   g       w   o   r   d       0
0014700   \t   /   /       a   c   t   u   a   l   l   y       @   S   t
0014720    r   i   n   g  \r               ]  \r   c   o   d   e       w
0014740    o   r   d       2       =  \r               [  \r            
0014760    c   o   d   e   L   e   n   g   t   h       w   o   r   d  \r
0015000                c   o   d   e   F   i   r   s   t       w   o   r
0015020    d       1  \t  \t   /   /       s   h   o   u   l   d       b
0015040    e       z   e   r   o  \r               i   t   e   m       ^
0015060    0   ,   0       @   I   t   e   m  \r               ]  \r   ]
0015100   \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0015120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0015220   \r   s   t   r   u   c   t   u 376 001  \0   b   G   r   e    
0015240    I   n   F   i   l   e   :  \t   /   /       I   n   p   u   t
0015260        f   i   l   e       d   e   s   c   r   i   p   t   o   r
0015300   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0015320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0015400    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0015420    [  \r   n   e   x   t       w   o   r   d  \r   n   a   m   e
0015440        w   o   r   d  \t  \t   /   /       -   >       c   o   m
0015460    p   l   e   t   e       f   i   l   e       n   a   m   e    
0015500    s   t   r   i   n   g  \r   c   f   a       @   C   F   A  \r
0015520    s   t   a   r   t   A   d   d   r       w   o   r   d  \t  \t
0015540    /   /       m   i   c   r   o   c   o   d   e       s   t   a
0015560    r   t   i   n   g       a   d   d   r   e   s   s       f   o
0015600    r       t   h   i   s       o   v   e   r   l   a   y  \r   ]
0015620   \r   m   a   n   i   f   e   s   t       l   e   n 376 001  \0
0015640  371 241   I   n   F   i   l   e       =       s   i   z   e    
0015660    I   n   F   i   l   e   /   1   6  \r  \r   m   a   n   i   f
0015700    e   s   t  \r   [  \r   m   a   x   I   t   e   m   s       =
0015720        4   0   9   6   +   1   0   2   4   +   2   5   6   +   1
0015740            /   /       I   M   +   I   F   U   M   +   R   M   +
0015760    E   n   d   ,       e   n   o   u   g   h       f   o   r    
0016000    o   n   e       f   u   l   l       i   m   a   g   e  \r   l
0016020    e   n   C   S   A   r   r   a   y       =       o   f   f   s
0016040    e   t       C   S   A   r   r   a   y   .   i   t   e   m   /
0016060    1   6       +       m   a   x   I   t   e   m   s   *   l   e
0016100    n   I   t   e   m  \r   l   e   n   E   B   F   i   l   e    
0016120    =       o   f   f   s   e   t       E   B   F   i   l   e   .
0016140    i   t   e   m   /   1   6           /   /       +       I   t
0016160    e   m       a   r   r   a   y  \r   l   e   n   B   R   F   i
0016200    l   e       =       o   f   f   s   e   t       B   R   F   i
0016220    l   e   .   n   a   m   e   S   t   r   i   n   g   /   1   6
0016240          376 001  \0 260   M   /   /       +       n   a   m   e
0016260        s   t   r   i   n   g       +       I   t   e   m       a
0016300    r   r   a   y  \r   e   t   h   e   r   V   e   r   s   i   o
0016320    n   N   u   m   b   e   r       =       0       l   s   h   i
0016340    f   t       8       +       1           /   /       *   *   *
0016360        C   h   a   n   g   e       t   o       1       l   s   h
0016400    i   f   t       8       s   o   m   e   d   a   y       *   *
0016420    *  \r   b   c   p   l   V   e   r   s   i   o   n   N   u   m
0016440    b   e   r       =       2       l   s   h   i   f   t       8
0016460   \r   ]  \r  \r  \r   /   /   -   -   -   -   -   -   -   -   -
0016500    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0016600    -   -   -  \r   l   e   t       L   o   a   d   M   B   (   )
0016620        b   e  \r   /   /   -   -   -   -   -   -   -   -   -   -
0016640    -   -   -   -   -   -   - 376 001  \0 344   $   -   -   -   -
0016660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0016740    -   -   -   -   -   -   -  \r   [  \r   W   s   (   "   *   n
0016760    L   o   a   d   M   B       o   f       J   u   n   e       2
0017000    5   ,       1   9   8   2   "   )  \r  \r   l   e   t       c
0017020    s   A   r   r   a   y       =       v   e   c       l   e   n
0017040    C   S   A   r   r   a   y   ;       Z   e   r   o   (   c   s
0017060    A   r   r   a   y   ,       l   e   n   C   S   A   r   r   a
0017100    y   )  \r   c   s   A   r   r   a   y   >   >   C   S   A   r
0017120    r   a   y   .   m   a   x   L   e   n   g   t   h       =    
0017140    m   a   x   I   t   e   m   s  \r  \r   l   e   t       s   t
0017160    r   i   n   g   V   e   c   ,       s   w   i   t   c   h   V
0017200    e   c       =       v   e   c       5   0   ,       v   e   c
0017220        5   0  \r   S   e   t   u   p   R   e   a   d   P   a   r
0017240    a   m   (   s   t   r   i   n   g   V   e   c 376 001  \0 227
0017260  205   ,       s   w   i   t   c   h   V   e   c   )  \r  \r   l
0017300    e   t       W   r   i   t   e   H   e   a   d   e   r       =
0017320        0  \r   l   e   t       v   e   r   i   f   y       =    
0017340    f   a   l   s   e  \r  \r   f   o   r       i       =       1
0017360        t   o       s   w   i   t   c   h   V   e   c   !   0    
0017400    d   o  \r               s   w   i   t   c   h   o   n       s
0017420    w   i   t   c   h   V   e   c   !   i       i   n   t   o  \r
0017440                            [  \r                           c   a
0017460    s   e       $   B   :       c   a   s   e       $   b   :  \r
0017500                                        W   r   i   t   e   H   e
0017520    a   d   e   r       =       W   r   i   t   e   B   R   H   e
0017540    a   d   e   r  \r                                       e   n
0017560    d   c   a   s   e  \r                           c   a   s   e
0017600        $   E   :       c   a   s   e       $   e   :  \r        
0017620                                W   r   i   t   e   H   e   a   d
0017640    e   r       =       W   r   i   t   e   E   B   H   e   a   d
0017660    e 376 001  \0 035   t   r  \r                                
0017700        e   n   d   c   a   s   e  \r                           c
0017720    a   s   e       $   V   :       c   a   s   e       $   v   :
0017740   \r                                       v   e   r   i   f   y
0017760        =       t   r   u   e  \r                                
0020000        e   n   d   c   a   s   e  \r                           d
0020020    e   f   a   u   l   t   :  \r                                
0020040        F   a   i   l   (   "   u   n   d   e   f   i   n   e   d
0020060        g   l   o   b   a   l       s   w   i   t   c   h       /
0020100    $   C   "   ,       s   w   i   t   c   h   V   e   c   !   i
0020120    )  \r                           ]  \r  \r   l   e   t       s
0020140    t   r   e   a   m   O   u   t       =       0  \r   l   e   t
0020160        o   u   t   N   a   m   e       =       v   e   c       5
0020200    0  \r   l   e   t       i   n   F   i   l   e   Q       =    
0020220    v   e   c       1   ;       i   n   F   i   l   e   Q   !   0
0020240        =       0  \r   l   e   t       l   a   b   e   l   N   a
0020260    m   e       =       v 376 001  \0 247   7   e   c       5   0
0020300   \r   M   o   v   e   B   l   o   c   k   (   l   a   b   e   l
0020320    N   a   m   e   ,       "   L   o   a   d   R   a   m   T   a
0020340    b   l   e   "   ,       1   2   /   2   +   1   )  \r  \r    
0020360            [       /   /       r   e   p   e   a   t  \r        
0020400        i   f       R   e   a   d   P   a   r   a   m   (   0   ,
0020420        0   ,       0   ,       0   ,       t   r   u   e   )    
0020440    e   q       -   1       t   h   e   n       b   r   e   a   k
0020460   \r               s   w   i   t   c   h   o   n       s   w   i
0020500    t   c   h   V   e   c   !   0       i   n   t   o  \r        
0020520                    [  \r                           c   a   s   e
0020540        0   :  \r                                       s   w   i
0020560    t   c   h   V   e   c   !   1       =       $   I           /
0020600    /       f   a   l   l       t   h   r   u       (   t   r   e
0020620    a   t       a   s       i   n   p   u   t       f   i   l   e
0020640        n   a   m   e   )  \r                           c   a   s
0020660    e       1   :  \r                         376 001  \0 224 274
0020700                s   w   i   t   c   h   o   n       s   w   i   t
0020720    c   h   V   e   c   !   1       i   n   t   o  \r            
0020740                                        [  \r                    
0020760                                c   a   s   e       $   I   :    
0021000    c   a   s   e       $   i   :  \r                            
0021020                                    [  \r                        
0021040                                        l   e   t       i   n   N
0021060    a   m   e       =       v   e   c       5   0  \r            
0021100                                                    l   e   t    
0021120    s       =       E   v   a   l   P   a   r   a   m   (   s   t
0021140    r   i   n   g   V   e   c   ,       "   I   W   "   ,       "
0021160    I   n   p   u   t       M   B       f   i   l   e       n   a
0021200    m   e   :       "   ,       i   n   N   a   m   e   )  \r    
0021220                                                            l   e
0021240    t       i   n   F   i   l   e       =       A   l   l   o   c
0021260    a   t   e   (   s   y   s   Z   o   n   e   ,       l   e   n
0021300  376 001  \0 037   1   I   n   F   i   l   e   )  \r            
0021320                                                    l   e   t    
0021340    l       =       i   n   N   a   m   e   >   >   S   t   r   i
0021360    n   g   .   l   e   n   g   t   h       r   s   h   i   f   t
0021400        1       +   1  \r                                        
0021420                        i   n   F   i   l   e   >   >   I   n   F
0021440    i   l   e   .   n   a   m   e       =       A   l   l   o   c
0021460    a   t   e   (   s   y   s   Z   o   n   e   ,       l   )  \r
0021500                                                                M
0021520    o   v   e   B   l   o   c   k   (   i   n   F   i   l   e   >
0021540    >   I   n   F   i   l   e   .   n   a   m   e   ,       i   n
0021560    N   a   m   e   ,       l   )  \r                            
0021600                                    G   e   t   C   o   m   p   l
0021620    e   t   e   F   a   (   s   ,       l   v       i   n   F   i
0021640    l   e   >   >   I   n   F   i   l   e   .   c   f   a   )  \r
0021660                                                                C
0021700    l   o   s   e   s 376 001  \0   A   F   (   s   )  \r        
0021720                                                        i   n   F
0021740    i   l   e   >   >   I   n   F   i   l   e   .   s   t   a   r
0021760    t   A   d   d   r       =       -   1           /   /       h
0022000    a   v   e   n   '   t       s   e   e   n       s   t   a   r
0022020    t       a   d   d   r   e   s   s       y   e   t  \r        
0022040                                                        E   n   q
0022060    u   e   u   e   (   i   n   F   i   l   e   Q   ,       i   n
0022100    F   i   l   e   )  \r                                        
0022120                        e   n   d   c   a   s   e  \r            
0022140                                                    ]  \r        
0022160                                            c   a   s   e       $
0022200    L   :       c   a   s   e       $   l   :  \r                
0022220                                                u   n   l   e   s
0022240    s       W   r   i   t   e   H   e   a   d   e   r       e   q
0022260        W   r   i   t   e   B   R   H   e   a   d   e   r       d
0022300    o  \r                                 376 001  \0 321 235    
0022320                                        F   a   i   l   (   "   /
0022340    L       o   n   l   y       a   l   l   o   w   e   d       w
0022360    i   t   h       .   B   R       o   u   t   p   u   t   "   )
0022400   \r                                                            
0022420    E   v   a   l   P   a   r   a   m   (   s   t   r   i   n   g
0022440    V   e   c   ,       $   P   ,       "   L   a   b   e   l    
0022460    f   o   r       L   o   a   d   R   a   m       t   a   b   l
0022500    e   :       "   ,       l   a   b   e   l   N   a   m   e   )
0022520   \r                                                            
0022540    e   n   d   c   a   s   e  \r                                
0022560                    c   a   s   e       $   O   :       c   a   s
0022600    e       $   o   :  \r                                        
0022620                        s   t   r   e   a   m   O   u   t       =
0022640        E   v   a   l   P   a   r   a   m   (   s   t   r   i   n
0022660    g   V   e   c   ,       "   O   W   "   ,       "   O   u   t
0022700    p   u   t       f   i   l   e       n   a   m   e   :     376
0022720  001  \0   [   \   "   ,       o   u   t   N   a   m   e   )  \r
0022740                                                                i
0022760    f       W   r   i   t   e   H   e   a   d   e   r       e   q
0023000        0       t   h   e   n       W   r   i   t   e   H   e   a
0023020    d   e   r       =       W   r   i   t   e   E   B   H   e   a
0023040    d   e   r  \r                                                
0023060                e   n   d   c   a   s   e  \r                    
0023100                                c   a   s   e       $   S   :    
0023120    c   a   s   e       $   s   :  \r                            
0023140                                    i   f       i   n   F   i   l
0023160    e   Q   !   0       e   q       0       t   h   e   n  \r    
0023200                                                                 
0023220        F   a   i   l   (   "   s   t   a   r   t       a   d   d
0023240    r       m   u   s   t       f   o   l   l   o   w       t   h
0023260    e       i   n   p   u   t       f   i   l   e       t   o    
0023300    w   h   i   c   h       i   t       a   p   p   l   i   e   s
0023320    "   )  \r     376 001  \0 203 035                            
0023340                                (   i   n   F   i   l   e   Q   !
0023360    1   )   >   >   I   n   F   i   l   e   .   s   t   a   r   t
0023400    A   d   d   r       =  \r                                    
0023420                                E   v   a   l   P   a   r   a   m
0023440    (   s   t   r   i   n   g   V   e   c   ,       $   B   ,    
0023460    "   S   t   a   r   t   i   n   g       a   d   d   r   e   s
0023500    s   :       "   )  \r                                        
0023520                        e   n   d   c   a   s   e  \r            
0023540                                        d   e   f   a   u   l   t
0023560    :  \r                                                        
0023600        F   a   i   l   (   "   u   n   d   e   f   i   n   e   d
0023620        l   o   c   a   l       s   w   i   t   c   h       /   $
0023640    C   "   ,       s   w   i   t   c   h   V   e   c   !   1   )
0023660   \r                                                            
0023700    ]  \r                                       e   n   d   c   a
0023720    s   e  \r                         376 001  \0   P   Y   d   e
0023740    f   a   u   l   t   :  \r                                    
0023760    F   a   i   l   (   "   m   u   l   t   i   p   l   e       l
0024000    o   c   a   l       s   w   i   t   c   h   e   s   "   )  \r
0024020                            ]  \r               ]       r   e   p
0024040    e   a   t  \r  \r   i   f       i   n   F   i   l   e   Q   !
0024060    0       e   q       0       t   h   e   n       F   a   i   l
0024100    (   "   n   o       i   n   p   u   t       f   i   l   e    
0024120    s   p   e   c   i   f   i   e   d   "   )  \r  \r   i   f    
0024140    W   r   i   t   e   H   e   a   d   e   r       n   e       0
0024160        &       s   t   r   e   a   m   O   u   t       e   q    
0024200    0       t   h   e   n  \r               [           /   /    
0024220    d   e   f   a   u   l   t       o   u   t   p   u   t       f
0024240    i   l   e   n   a   m   e       t   o       m   a   t   c   h
0024260        l   a   s   t       i   n   p   u   t       f   i   l   e
0024300    n   a   m   e  \r               M   o   v   e   B   l   o   c
0024320    k   (   o   u   t   N   a   m   e   ,       (   i   n 376 001
0024340   \0   v 306   F   i   l   e   Q   !   1   )   >   >   I   n   F
0024360    i   l   e   .   n   a   m   e   ,       5   0   )  \r        
0024400        f   o   r       i       =       1       t   o       o   u
0024420    t   N   a   m   e   >   >   S   t   r   i   n   g   .   l   e
0024440    n   g   t   h       d   o  \r                           i   f
0024460        o   u   t   N   a   m   e   >   >   S   t   r   i   n   g
0024500    .   c   h   a   r   ^   i       e   q       $   .       t   h
0024520    e   n       o   u   t   N   a   m   e   >   >   S   t   r   i
0024540    n   g   .   l   e   n   g   t   h       =       i   -   1  \r
0024560                l   e   t       i       =       o   u   t   N   a
0024600    m   e   >   >   S   t   r   i   n   g   .   l   e   n   g   t
0024620    h  \r               o   u   t   N   a   m   e   >   >   S   t
0024640    r   i   n   g   .   c   h   a   r   ^   (   i   +   1   )    
0024660    =       $   .  \r               o   u   t   N   a   m   e   >
0024700    >   S   t   r   i   n   g   .   c   h   a   r   ^   (   i   +
0024720    2   )       =       W   r   i   t   e   H   e   a   d   e   r
0024740        e   q 376 001  \0 353   ]       W   r   i   t   e   B   R
0024760    H   e   a   d   e   r   ?       $   b   ,       $   e  \r    
0025000            o   u   t   N   a   m   e   >   >   S   t   r   i   n
0025020    g   .   c   h   a   r   ^   (   i   +   3   )       =       W
0025040    r   i   t   e   H   e   a   d   e   r       e   q       W   r
0025060    i   t   e   B   R   H   e   a   d   e   r   ?       $   r   ,
0025100        $   b  \r               o   u   t   N   a   m   e   >   >
0025120    S   t   r   i   n   g   .   l   e   n   g   t   h       =    
0025140    i   +   3  \r               s   t   r   e   a   m   O   u   t
0025160        =       O   p   e   n   F   i   l   e   (   o   u   t   N
0025200    a   m   e   ,       k   s   T   y   p   e   W   r   i   t   e
0025220    O   n   l   y   ,       w   o   r   d   I   t   e   m   )  \r
0025240                ]  \r  \r   l   e   t       d   e   f   a   u   l
0025260    t   S   t   a   r   t   A   d   d   r       =       W   r   i
0025300    t   e   H   e   a   d   e   r       n   e       0   ?       1
0025320    0   7   6   B   ,       1   0   7   0   B           /   /    
0025340    b   o   o   t   ,       r   e 376 001  \0 241   M   s   u   m
0025360    e       s   t   a   r   t       a   d   d   r   s  \r  \r   i
0025400    f       W   r   i   t   e   H   e   a   d   e   r       n   e
0025420        0       t   h   e   n  \r               W   r   i   t   e
0025440    H   e   a   d   e   r   (   s   t   r   e   a   m   O   u   t
0025460    ,       c   s   A   r   r   a   y   ,       l   a   b   e   l
0025500    N   a   m   e   ,       o   u   t   N   a   m   e   )  \r  \r
0025520    l   e   t       t   o   t   a   l   I   t   e   m   s       =
0025540        0  \r   l   e   t       i   n   F   i   l   e       =    
0025560    i   n   F   i   l   e   Q   !   0  \r   w   h   i   l   e    
0025600    i   n   F   i   l   e       n   e       0       d   o  \r    
0025620            [  \r               l   e   t       s   t   r   e   a
0025640    m   M   B       =       O   p   e   n   F   i   l   e   (   i
0025660    n   F   i   l   e   >   >   I   n   F   i   l   e   .   n   a
0025700    m   e   ,       k   s   T   y   p   e   R   e   a   d   O   n
0025720    l   y   ,       c   h   a   r   I   t   e   m   ,       0   ,
0025740   \r                   l   v       i   n   F   i   l 376 001  \0
0025760  302 023   e   >   >   I   n   F   i   l   e   .   c   f   a   .
0026000    f   p   )  \r               i   f       s   t   r   e   a   m
0026020    M   B       e   q       0       t   h   e   n       C   a   l
0026040    l   S   w   a   t   (   "   F   a   i   l   e   d       t   o
0026060        o   p   e   n       e   x   i   s   t   i   n   g       f
0026100    i   l   e   "   )  \r               l   e   t       i   t   e
0026120    m   s       =       c   s   A   r   r   a   y   >   >   C   S
0026140    A   r   r   a   y   .   l   e   n   g   t   h  \r            
0026160    R   e   a   d   M   B   F   i   l   e   (   s   t   r   e   a
0026200    m   M   B   ,       c   s   A   r   r   a   y   )  \r        
0026220        C   l   o   s   e   s   (   s   t   r   e   a   m   M   B
0026240    )  \r               i   f       i   n   F   i   l   e   >   >
0026260    I   n   F   i   l   e   .   s   t   a   r   t   A   d   d   r
0026300        e   q       -   1       t   h   e   n       i   n   F   i
0026320    l   e   >   >   I   n   F   i   l   e   .   s   t   a   r   t
0026340    A   d   d   r       =       d   e   f   a   u   l   t   S   t
0026360    a   r 376 001  \0 217 215   t   A   d   d   r  \r            
0026400    A   p   p   e   n   d   E   n   d   I   t   e   m   (   c   s
0026420    A   r   r   a   y   ,       i   n   F   i   l   e   >   >   I
0026440    n   F   i   l   e   .   s   t   a   r   t   A   d   d   r   )
0026460   \r               i   t   e   m   s       =       c   s   A   r
0026500    r   a   y   >   >   C   S   A   r   r   a   y   .   l   e   n
0026520    g   t   h       -       i   t   e   m   s  \r               t
0026540    o   t   a   l   I   t   e   m   s       =       t   o   t   a
0026560    l   I   t   e   m   s       +       i   t   e   m   s  \r    
0026600            P   u   t   T   e   m   p   l   a   t   e   (   d   s
0026620    p   ,       "   *   n   $   D       i   t   e   m   s       r
0026640    e   a   d       f   r   o   m       $   S   ;       s   t   a
0026660    r   t   i   n   g       a   d   d   r   e   s   s       =    
0026700    $   U   O   B   .   "   ,  \r                   i   t   e   m
0026720    s   ,       i   n   F   i   l   e   >   >   I   n   F   i   l
0026740    e   .   n   a   m   e   ,       i   n   F   i   l   e   >   >
0026760    I   n   F   i   l   e   . 376 001  \0 270 305   s   t   a   r
0027000    t   A   d   d   r   )  \r               i   f       W   r   i
0027020    t   e   H   e   a   d   e   r       n   e       0       t   h
0027040    e   n  \r                           [           /   /       w
0027060    r   i   t   e       c   s   A   r   r   a   y       o   u   t
0027100        o   n   t   o       f   i   l   e       a   n   d       r
0027120    e   -   u   s   e       i   t  \r                           W
0027140    r   i   t   e   B   l   o   c   k   (   s   t   r   e   a   m
0027160    O   u   t   ,       l   v       c   s   A   r   r   a   y   >
0027200    >   C   S   A   r   r   a   y   .   i   t   e   m   ^   0   ,
0027220        c   s   A   r   r   a   y   >   >   C   S   A   r   r   a
0027240    y   .   l   e   n   g   t   h   *   l   e   n   I   t   e   m
0027260    )  \r                           Z   e   r   o   (   c   s   A
0027300    r   r   a   y   ,       l   e   n   C   S   A   r   r   a   y
0027320    )  \r                           c   s   A   r   r   a   y   >
0027340    >   C   S   A   r   r   a   y   .   m   a   x   L   e   n   g
0027360    t   h       =       m   a   x   I   t   e   m 376 001  \0 001
0027400  311   s  \r                           ]  \r               i   n
0027420    F   i   l   e       =       i   n   F   i   l   e   >   >   I
0027440    n   F   i   l   e   .   n   e   x   t  \r               ]  \r
0027460   \r   i   f       W   r   i   t   e   H   e   a   d   e   r    
0027500    n   e       0       t   h   e   n  \r               [  \r    
0027520            l   e   t       p   o   s       =       v   e   c    
0027540    1   ;       F   i   l   e   P   o   s   (   s   t   r   e   a
0027560    m   O   u   t   ,       p   o   s   )  \r               i   f
0027600        W   r   i   t   e   H   e   a   d   e   r       e   q    
0027620    W   r   i   t   e   B   R   H   e   a   d   e   r       t   h
0027640    e   n  \r                           [  \r                    
0027660        T   r   u   n   c   a   t   e   D   i   s   k   S   t   r
0027700    e   a   m   (   s   t   r   e   a   m   O   u   t   )  \r    
0027720                        F   i   x   U   p   B   R   H   e   a   d
0027740    e   r   (   s   t   r   e   a   m   O   u   t   ,       t   o
0027760    t   a   l   I   t   e   m   s   *   l   e   n   I   t   e   m
0030000    , 376 001  \0 377   `       l   a   b   e   l   N   a   m   e
0030020    )  \r                           ]  \r               C   l   o
0030040    s   e   s   (   s   t   r   e   a   m   O   u   t   )  \r    
0030060            P   u   t   T   e   m   p   l   a   t   e   (   d   s
0030100    p   ,       "   *   n   $   E   D       b   y   t   e   s    
0030120    w   r   i   t   t   e   n       o   n       $   S   .   "   ,
0030140        p   o   s   ,       o   u   t   N   a   m   e   )  \r    
0030160            f   i   n   i   s   h  \r               ]  \r  \r   i
0030200    f       v   e   r   i   f   y       t   h   e   n  \r        
0030220        [  \r               W   s   (   "   *   n   L   o   a   d
0030240        a   n   d       b   o   o   t   ?   "   )  \r            
0030260                [       /   /       r   e   p   e   a   t  \r    
0030300                        s   w   i   t   c   h   o   n       G   e
0030320    t   s   (   k   e   y   s   )       i   n   t   o  \r        
0030340                                [  \r                            
0030360            c   a   s   e       $   Y   :       c   a   s   e    
0030400    $   y   :       c   a 376 001  \0 231   q   s   e       $   *
0030420    n   :  \r                                                   b
0030440    r   e   a   k  \r                                       c   a
0030460    s   e       $   N   :       c   a   s   e       $   n   :    
0030500    c   a   s   e       $   *   1   7   7   :  \r                
0030520                                    f   i   n   i   s   h  \r    
0030540                                    d   e   f   a   u   l   t   :
0030560   \r                                                   W   s   (
0030600    "   ?   "   )  \r                                       ]  \r
0030620                            ]       r   e   p   e   a   t  \r    
0030640            ]  \r  \r   l   e   t       L   o   a   d   R   a   m
0030660    A   n   d   J   u   m   p       =       t   a   b   l   e    
0030700    [       6   1   0   3   6   B   ;       1   4   0   1   B    
0030720    ]  \r   L   o   a   d   R   a   m   A   n   d   J   u   m   p
0030740    (   l   v       c   s   A   r   r   a   y   >   >   C   S   A
0030760    r   r   a   y   .   i   t   e   m   ^   0   ,       t   r   u
0031000    e   )  \r   ]  \r  \r   /   /   -   -   - 376 001  \0 264   6
0031020    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0031120    -   -   -   -   -   -   -   -   -  \r   a   n   d       F   a
0031140    i   l   (   s   t   r   i   n   g   ,       p   a   r   1   ,
0031160        p   a   r   2   ,       p   a   r   3   )       b   e  \r
0031200    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0031220    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0031300    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [
0031320   \r   W   s   (   "   *   n   C   o   m   m   a   n   d       e
0031340    r   r   o   r   :       "   )  \r   P   u   t   T   e   m   p
0031360    l   a   t   e   (   d   s   p   ,       s   t   r   i   n   g
0031400    ,       p   a   r   1   ,       p   a   r   2   ,       p   a
0031420  376 001  \0 332 305   r   3   )  \r   W   s   (   "   *   n   "
0031440    )  \r   a   b   o   r   t  \r   ]  \r  \r   /   /   -   -   -
0031460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0031560    -   -   -   -   -   -   -   -   -  \r   a   n   d       R   e
0031600    a   d   M   B   F   i   l   e   (   s   t   r   e   a   m   ,
0031620        c   s   A   r   r   a   y   )       b   e  \r   /   /   -
0031640    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0031740    -   -   -   -   -   -   -   -   -   -   -  \r   [  \r   m   a
0031760    n   i   f   e   s   t       l   e   n   B   u   f       =    
0032000    1   0   2   4  \r   m   a   n   i   f   e   s   t       m   i
0032020    n   L   e   n   B 376 001  \0   $ 344   u   f       =       1
0032040    2   8  \r   l   e   t       m   b   B   u   f       =       v
0032060    e   c       l   e   n   B   u   f  \r   l   e   t       m   b
0032100        =       m   b   B   u   f  \r   l   e   t       e   n   d
0032120    B   u   f       =       m   b   B   u   f  \r   l   e   t    
0032140    i   t   e   m       =       l   v       c   s   A   r   r   a
0032160    y   >   >   C   S   A   r   r   a   y   .   i   t   e   m   ^
0032200    (   c   s   A   r   r   a   y   >   >   C   S   A   r   r   a
0032220    y   .   l   e   n   g   t   h   )  \r   l   e   t       e   n
0032240    d   I   t   e   m       =       l   v       c   s   A   r   r
0032260    a   y   >   >   C   S   A   r   r   a   y   .   i   t   e   m
0032300    ^   (   c   s   A   r   r   a   y   >   >   C   S   A   r   r
0032320    a   y   .   m   a   x   L   e   n   g   t   h   )  \r   l   e
0032340    t       m   e   m   o   r   y   N   u   m   I   M       =    
0032360    -   2  \r   l   e   t       m   e   m   o   r   y   N   u   m
0032400    I   F   U   M       =       -   2  \r   l   e   t       m   e
0032420    m   o   r   y   N   u   m   R   M     376 001  \0 230   K   =
0032440        -   2  \r   l   e   t       m   e   m   o   r   y   N   u
0032460    m       =       -   1  \r   l   e   t       a   d   d   r    
0032500    =       n   i   l  \r   l   e   t       m   e   m   o   r   y
0032520    W   i   d   t   h   s       =       v   e   c       m   a   x
0032540    M   e   m   o   r   y   N   u   m   ;       Z   e   r   o   (
0032560    m   e   m   o   r   y   W   i   d   t   h   s   ,       m   a
0032600    x   M   e   m   o   r   y   N   u   m   )  \r   l   e   t    
0032620    n   a   m   e       =       v   e   c       m   a   x   L   e
0032640    n   N   a   m   e  \r  \r               [       /   /       r
0032660    e   p   e   a   t  \r               i   f       (   e   n   d
0032700    B   u   f   -   m   b   )       l   s       m   i   n   L   e
0032720    n   B   u   f       t   h   e   n  \r                        
0032740    [  \r                           l   e   t       w   o   r   d
0032760    s   R   e   m   a   i   n   i   n   g       =       e   n   d
0033000    B   u   f   -   m   b  \r                           M   o   v
0033020    e   B   l   o   c   k   (   m   b   B   u   f   ,       m 376
0033040  001  \0 202   $   b   ,       w   o   r   d   s   R   e   m   a
0033060    i   n   i   n   g   )  \r                           m   b    
0033100    =       m   b   B   u   f  \r                           w   o
0033120    r   d   s   R   e   m   a   i   n   i   n   g       =       w
0033140    o   r   d   s   R   e   m   a   i   n   i   n   g       +  \r
0033160                                R   e   a   d   B   l   o   c   k
0033200    (   s   t   r   e   a   m   ,       m   b   +   w   o   r   d
0033220    s   R   e   m   a   i   n   i   n   g   ,       l   e   n   B
0033240    u   f   -   w   o   r   d   s   R   e   m   a   i   n   i   n
0033260    g   )  \r                           i   f       w   o   r   d
0033300    s   R   e   m   a   i   n   i   n   g       l   e       0    
0033320    t   h   e   n       C   a   l   l   S   w   a   t   (   "   M
0033340    i   s   s   i   n   g       E   n   d       b   l   o   c   k
0033360        i   n       M   B       f   i   l   e   "   )  \r        
0033400                    e   n   d   B   u   f       =       m   b   B
0033420    u   f   +   w   o   r   d   s   R   e   m   a   i   n   i   n
0033440    g  \r         376 001  \0  \0 324                   ]  \r  \r
0033460                s   w   i   t   c   h   o   n       m   b   >   >
0033500    M   B   .   t   y   p   e       i   n   t   o  \r            
0033520                [  \r                           c   a   s   e    
0033540    m   b   E   n   d   :  \r                                    
0033560    b   r   e   a   k  \r  \r                           c   a   s
0033600    e       m   b   D   a   t   a   :  \r                        
0033620                [  \r                                       l   e
0033640    t       v   a   l   u   e       =       l   v       m   b   >
0033660    >   M   B   .   d   a   t   a   .   v   a   l   u   e  \r    
0033700                                    t   e   s   t       m   e   m
0033720    o   r   y   N   u   m       e   q       m   e   m   o   r   y
0033740    N   u   m   I   M       i   f   s   o  \r                    
0033760                                [  \r                            
0034000                        i   t   e   m   >   >   I   t   e   m   .
0034020    t   y   p   e       =       i   t   e   m   I   M  \r        
0034040                                      376 001  \0 354 214       i
0034060    t   e   m   >   >   I   t   e   m   .   d   a   t   a   .   a
0034100    d   d   r       =       v   a   l   u   e   >   >   I   M   .
0034120    a   b   s   o   l   u   t   e   A   d   d   r  \r            
0034140                                        i   t   e   m   >   >   I
0034160    t   e   m   .   d   a   t   a   .   w   o   r   d   0       =
0034200        v   a   l   u   e   >   >   I   M   .   r   e   s   t   0
0034220        l   s   h   i   f   t       1       +       v   a   l   u
0034240    e   >   >   I   M   .   A   S   E   L   2  \r                
0034260                                    i   t   e   m   >   >   I   t
0034300    e   m   .   d   a   t   a   .   w   o   r   d   1       =    
0034320    v   a   l   u   e   >   >   I   M   .   r   e   s   t   1    
0034340    l   s   h   i   f   t       2       +       v   a   l   u   e
0034360    >   >   I   M   .   J   C   N   6   7  \r                    
0034400                                i   t   e   m   >   >   I   t   e
0034420    m   .   P   E   0   2   0       =       v   a   l   u   e   >
0034440    >   I   M   .   P   E   0   2   0  \r                 376 001
0034460   \0 002 222                                   i   t   e   m   >
0034500    >   I   t   e   m   .   R   S   T   K   0       =       v   a
0034520    l   u   e   >   >   I   M   .   R   S   T   K   0  \r        
0034540                                            i   t   e   m   >   >
0034560    I   t   e   m   .   P   E   2   1   3   1       =       v   a
0034600    l   u   e   >   >   I   M   .   P   E   2   1   3   1  \r    
0034620                                                i   t   e   m   >
0034640    >   I   t   e   m   .   B   L   K       =       v   a   l   u
0034660    e   >   >   I   M   .   B   L   K  \r                        
0034700                            i   t   e   m       =       i   t   e
0034720    m   +   l   e   n   I   t   e   m  \r                        
0034740                            i   f       i   t   e   m       g   e
0034760        e   n   d   I   t   e   m       t   h   e   n       C   a
0035000    l   l   S   w   a   t   (   "   I   t   e   m       a   r   r
0035020    a   y       o   v   e   r   f   l   o   w   e   d   "   )  \r
0035040                                                    ]  \r        
0035060              376 001  \0 025 257                   i   f   n   o
0035100    t       t   e   s   t       m   e   m   o   r   y   N   u   m
0035120        e   q       m   e   m   o   r   y   N   u   m   I   F   U
0035140    M       i   f   s   o  \r                                    
0035160                [  \r                                            
0035200        i   t   e   m   >   >   I   t   e   m   .   t   y   p   e
0035220        =       i   t   e   m   I   F   U   M  \r                
0035240                                    i   t   e   m   >   >   I   t
0035260    e   m   .   d   a   t   a   .   a   d   d   r       =       a
0035300    d   d   r  \r                                                
0035320    /   /       D   e   s   p   i   t   e       w   h   a   t    
0035340    t   h   e       m   a   n   u   a   l       s   a   y   s   ,
0035360        t   h   e       h   a   r   d   w   a   r   e       r   e
0035400    a   l   l   y       w   a   n   t   s       t   o  \r        
0035420                                            /   /       s   e   e
0035440        e   v   e   n       p   a   r   i   t   y       -   -    
0035460    h   e   n   c   e       t   h 376 001  \0 216   o   e       "
0035500    n   o   t   "       i   n       t   h   e       f   o   l   l
0035520    o   w   i   n   g       s   t   a   t   e   m   e   n   t   s
0035540   \r                                                   v   a   l
0035560    u   e   >   >   I   F   U   M   .   P   0       =       n   o
0035600    t       O   d   d   P   a   r   i   t   y   (   (   v   a   l
0035620    u   e   >   >   I   F   U   M   .   w   o   r   d   0       &
0035640        i   f   u   m   W   0   P   0   )       x   o   r  \r    
0035660                                                    (   v   a   l
0035700    u   e   >   >   I   F   U   M   .   w   o   r   d   1       &
0035720        i   f   u   m   W   1   P   0   )   )  \r                
0035740                                    v   a   l   u   e   >   >   I
0035760    F   U   M   .   P   1       =       n   o   t       O   d   d
0036000    P   a   r   i   t   y   (   (   v   a   l   u   e   >   >   I
0036020    F   U   M   .   w   o   r   d   0       &       i   f   u   m
0036040    W   0   P   1   )       x   o   r  \r                        
0036060                                (   v   a   l   u   e 376 001  \0
0036100    _ 275   >   >   I   F   U   M   .   w   o   r   d   1       &
0036120        i   f   u   m   W   1   P   1   )   )  \r                
0036140                                    v   a   l   u   e   >   >   I
0036160    F   U   M   .   P   2       =       n   o   t       O   d   d
0036200    P   a   r   i   t   y   (   (   v   a   l   u   e   >   >   I
0036220    F   U   M   .   w   o   r   d   0       &       i   f   u   m
0036240    W   0   P   2   )       x   o   r  \r                        
0036260                                (   v   a   l   u   e   >   >   I
0036300    F   U   M   .   w   o   r   d   1       &       i   f   u   m
0036320    W   1   P   2   )   )  \r                                    
0036340                i   t   e   m   >   >   I   t   e   m   .   d   a
0036360    t   a   .   w   o   r   d   0       =       v   a   l   u   e
0036400    >   >   I   F   U   M   .   w   o   r   d   0  \r            
0036420                                        i   t   e   m   >   >   I
0036440    t   e   m   .   d   a   t   a   .   w   o   r   d   1       =
0036460        v   a   l   u   e   >   >   I   F   U   M   .   w   o   r
0036500    d   1 376 001  \0   i 232  \r                                
0036520                    i   t   e   m       =       i   t   e   m   +
0036540    l   e   n   I   t   e   m  \r                                
0036560                    i   f       i   t   e   m       g   e       e
0036600    n   d   I   t   e   m       t   h   e   n       C   a   l   l
0036620    S   w   a   t   (   "   I   t   e   m       a   r   r   a   y
0036640        o   v   e   r   f   l   o   w   e   d   "   )  \r        
0036660                                            ]  \r                
0036700                        i   f   n   o   t       t   e   s   t    
0036720    m   e   m   o   r   y   N   u   m       e   q       m   e   m
0036740    o   r   y   N   u   m   R   M       i   f   s   o  \r        
0036760                                            [  \r                
0037000                                    i   t   e   m   >   >   I   t
0037020    e   m   .   t   y   p   e       =       i   t   e   m   R   M
0037040   \r                                                   i   t   e
0037060    m   >   >   I   t   e   m   .   d   a   t   a   .   a   d   d
0037100    r       =       a   d   d 376 001  \0   ^ 372   r  \r        
0037120                                            i   t   e   m   >   >
0037140    I   t   e   m   .   d   a   t   a   .   w   o   r   d   0    
0037160    =       v   a   l   u   e   >   >   R   M   .   w   o   r   d
0037200    0  \r                                                   i   t
0037220    e   m       =       i   t   e   m   +   l   e   n   I   t   e
0037240    m  \r                                                   i   f
0037260        i   t   e   m       g   e       e   n   d   I   t   e   m
0037300        t   h   e   n       C   a   l   l   S   w   a   t   (   "
0037320    I   t   e   m       a   r   r   a   y       o   v   e   r   f
0037340    l   o   w   e   d   "   )  \r                                
0037360                    ]  \r                                       i
0037400    f   n   o   t       i   f       m   e   m   o   r   y   N   u
0037420    m       e   q       -   1       t   h   e   n  \r            
0037440                                        C   a   l   l   S   w   a
0037460    t   (   "   D   a   t   a       f   o   r       u   n   s   p
0037500    e   c   i   f   i   e   d       m   e   m   o 376 001  \0 376
0037520    ?   r   y   "   )  \r                                       a
0037540    d   d   r       =       a   d   d   r   +   1  \r            
0037560                            m   b       =       m   b       +    
0037600    l   e   n   M   B   D   a   t   a       +       m   e   m   o
0037620    r   y   W   i   d   t   h   s   !   m   e   m   o   r   y   N
0037640    u   m  \r                                       e   n   d   c
0037660    a   s   e  \r                                       ]  \r  \r
0037700                            c   a   s   e       m   b   M   e   m
0037720    o   r   y   :  \r                                       m   e
0037740    m   o   r   y   N   u   m       =       m   b   >   >   M   B
0037760    .   m   e   m   o   r   y   .   m   e   m   o   r   y   N   u
0040000    m  \r                                       i   f       m   e
0040020    m   o   r   y   W   i   d   t   h   s   !   m   e   m   o   r
0040040    y   N   u   m       e   q       0       t   h   e   n  \r    
0040060                                                C   a   l   l   S
0040100    w   a   t   (   "   U   n   d   e   f   i   n   e   d       m
0040120    e 376 001  \0   K   y   m   o   r   y   "   )  \r            
0040140                            a   d   d   r       =       m   b   >
0040160    >   M   B   .   m   e   m   o   r   y   .   l   o   c   a   t
0040200    i   o   n  \r                                       m   b    
0040220    =       m   b       +       l   e   n   M   B   M   e   m   o
0040240    r   y  \r                                       e   n   d   c
0040260    a   s   e  \r  \r                           c   a   s   e    
0040300    m   b   F   i   x   u   p   :  \r                            
0040320            C   a   l   l   S   w   a   t   (   "   F   i   x   u
0040340    p       b   l   o   c   k       e   n   c   o   u   n   t   e
0040360    r   e   d       i   n       M   B       f   i   l   e   "   )
0040400   \r  \r                           c   a   s   e       m   b   M
0040420    e   m   o   r   y   N   a   m   e   :  \r                    
0040440                    [  \r                                       l
0040460    e   t       n   e   w   M   e   m   o   r   y   N   u   m    
0040500    =       m   b   >   >   M   B   .   m   e   m   o   r   y   N
0040520    a   m   e   .   m   e 376 001  \0 177   _   m   o   r   y   N
0040540    u   m  \r                                       i   f       U
0040560    s   c   (   n   e   w   M   e   m   o   r   y   N   u   m   ,
0040600        m   a   x   M   e   m   o   r   y   N   u   m   )       g
0040620    r       0       t   h   e   n  \r                            
0040640                        C   a   l   l   S   w   a   t   (   "   M
0040660    e   m   o   r   y       n   u   m   b   e   r       o   u   t
0040700        o   f       b   o   u   n   d   s   "   )  \r            
0040720                            m   e   m   o   r   y   W   i   d   t
0040740    h   s   !   n   e   w   M   e   m   o   r   y   N   u   m    
0040760    =       (   m   b   >   >   M   B   .   m   e   m   o   r   y
0041000    N   a   m   e   .   w   i   d   t   h       +   1   5   )    
0041020    r   s   h   i   f   t       4  \r                            
0041040            l   e   t       l   e   n   N   a   m   e       =    
0041060    R   e   a   d   N   a   m   e   (   l   v       m   b   >   >
0041100    M   B   .   m   e   m   o   r   y   N   a   m   e   .   n   a
0041120    m   e   ,       n   a   m   e   )  \r     376 001  \0 204   W
0041140                                    t   e   s   t       S   t   r
0041160    i   n   g   E   q   (   n   a   m   e   ,       "   I   M   "
0041200    )       i   f   s   o       m   e   m   o   r   y   N   u   m
0041220    I   M       =       n   e   w   M   e   m   o   r   y   N   u
0041240    m  \r                                       i   f   n   o   t
0041260        t   e   s   t       S   t   r   i   n   g   E   q   (   n
0041300    a   m   e   ,       "   I   F   U   M   "   )       i   f   s
0041320    o       m   e   m   o   r   y   N   u   m   I   F   U   M    
0041340    =       n   e   w   M   e   m   o   r   y   N   u   m  \r    
0041360                                    i   f   n   o   t       i   f
0041400        S   t   r   i   n   g   E   q   (   n   a   m   e   ,    
0041420    "   R   M   "   )       t   h   e   n       m   e   m   o   r
0041440    y   N   u   m   R   M       =       n   e   w   M   e   m   o
0041460    r   y   N   u   m  \r                                       m
0041500    b       =       m   b       +       l   e   n   M   B   M   e
0041520    m   o   r   y   N   a   m   e       +       l   e   n   N   a
0041540  376 001  \0   e   V   m   e  \r                                
0041560        e   n   d   c   a   s   e  \r                            
0041600            ]  \r  \r                           c   a   s   e    
0041620    m   b   A   d   d   r   e   s   s   :  \r                    
0041640                    m   b       =       m   b       +       l   e
0041660    n   M   B   A   d   d   r   e   s   s       +       R   e   a
0041700    d   N   a   m   e   (   l   v       m   b   >   >   M   B   .
0041720    a   d   d   r   e   s   s   .   n   a   m   e   ,       n   a
0041740    m   e   )  \r                                       e   n   d
0041760    c   a   s   e  \r  \r                           c   a   s   e
0042000        m   b   U   n   d   e   f   i   n   e   d   :  \r        
0042020                                C   a   l   l   S   w   a   t   (
0042040    "   U   n   d   e   f   i   n   e   d       s   y   m   b   o
0042060    l       b   l   o   c   k       e   n   c   o   u   n   t   e
0042100    r   e   d       i   n       M   B       f   i   l   e   "   )
0042120   \r  \r                           d   e   f   a   u   l   t   :
0042140   \r                 376 001  \0 351 372                       C
0042160    a   l   l   S   w   a   t   (   "   U   n   k   n   o   w   n
0042200        b   l   o   c   k       t   y   p   e       i   n       M
0042220    B       f   i   l   e   "   )  \r                           ]
0042240   \r               ]       r   e   p   e   a   t  \r  \r   c   s
0042260    A   r   r   a   y   >   >   C   S   A   r   r   a   y   .   l
0042300    e   n   g   t   h       =       (   i   t   e   m       -    
0042320    l   v       c   s   A   r   r   a   y   >   >   C   S   A   r
0042340    r   a   y   .   i   t   e   m   ^   0   )   /   l   e   n   I
0042360    t   e   m  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -
0042400    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0042500    -   -   -   -   -  \r   a   n   d       A   p   p   e   n   d
0042520    E   n   d   I   t   e   m   (   c   s   A   r   r   a   y   ,
0042540        s   t   a   r   t   A   d   d   r 376 001  \0   #   |   )
0042560        b   e  \r   /   /   -   -   -   -   -   -   -   -   -   -
0042600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0042700    -   -  \r   [  \r   l   e   t       i   t   e   m       =    
0042720    l   v       c   s   A   r   r   a   y   >   >   C   S   A   r
0042740    r   a   y   .   i   t   e   m   ^   (   c   s   A   r   r   a
0042760    y   >   >   C   S   A   r   r   a   y   .   l   e   n   g   t
0043000    h   )  \r   c   s   A   r   r   a   y   >   >   C   S   A   r
0043020    r   a   y   .   l   e   n   g   t   h       =       c   s   A
0043040    r   r   a   y   >   >   C   S   A   r   r   a   y   .   l   e
0043060    n   g   t   h       +   1  \r   i   t   e   m   >   >   I   t
0043100    e   m   .   t   y   p   e       =       i   t   e   m   E   n
0043120    d  \r   i   t   e   m   >   >   I   t   e   m   .   e   n   d
0043140    .   s   t   a   r   t   A   d   d   r       =       s   t 376
0043160  001  \0   + 345   a   r   t   A   d   d   r  \r   l   e   t    
0043200    c   h   e   c   k   s   u   m       =       0  \r   l   e   t
0043220        f   i   r   s   t   I   t   e   m       =       l   v    
0043240    c   s   A   r   r   a   y   >   >   C   S   A   r   r   a   y
0043260    .   i   t   e   m   ^   0  \r   f   o   r       i       =    
0043300    0       t   o       (   c   s   A   r   r   a   y   >   >   C
0043320    S   A   r   r   a   y   .   l   e   n   g   t   h       *    
0043340    l   e   n   I   t   e   m   )   -   1       d   o  \r        
0043360        c   h   e   c   k   s   u   m       =       c   h   e   c
0043400    k   s   u   m       +       f   i   r   s   t   I   t   e   m
0043420    !   i  \r   i   t   e   m   >   >   I   t   e   m   .   e   n
0043440    d   .   c   h   e   c   k   s   u   m       =       -   c   h
0043460    e   c   k   s   u   m  \r   ]  \r  \r   /   /   -   -   -   -
0043500    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0043560    -   -   -   - 376 001  \0 267   !   -   -   -   -   -   -   -
0043600    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a   n
0043620    d       R   e   a   d   N   a   m   e   (   m   b   N   a   m
0043640    e   ,       s   t   r   i   n   g   N   a   m   e   )       =
0043660        v   a   l   o   f  \r   /   /   -   -   -   -   -   -   -
0043700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0044000    -   -   -   -   -  \r   /   /       C   o   n   v   e   r   t
0044020    s       f   r   o   m       t   h   e       M   B       n   a
0044040    m   e       f   o   r   m   a   t       t   o       a       n
0044060    o   r   m   a   l       s   t   r   i   n   g   .  \r   /   /
0044100        R   e   t   u   r   n   s       t   h   e       n   u   m
0044120    b   e   r       o   f       w   o   r   d   s       o   c   c
0044140    u   p   i   e   d       b   y       m   b   N   a   m   e   .
0044160   \r   [  \r   l   e   t       i     376 001  \0  \f 365   =    
0044200    0  \r               [       /   /       r   e   p   e   a   t
0044220   \r               l   e   t       c   h   a   r       =       m
0044240    b   N   a   m   e   >   >   M   B   N   a   m   e   ^   i  \r
0044260                i   f       c   h   a   r       e   q       0    
0044300    t   h   e   n       b   r   e   a   k  \r               s   t
0044320    r   i   n   g   N   a   m   e   >   >   S   t   r   i   n   g
0044340    .   c   h   a   r   ^   (   i   +   1   )       =       c   h
0044360    a   r  \r               i       =       i   +   1  \r        
0044400        ]       r   e   p   e   a   t  \r   s   t   r   i   n   g
0044420    N   a   m   e   >   >   S   t   r   i   n   g   .   l   e   n
0044440    g   t   h       =       i  \r   r   e   s   u   l   t   i   s
0044460        i       r   s   h   i   f   t       1       +   1  \r   ]
0044500   \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0044520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0044560    -   -   -   -   -   -   -   -   -   -   -   -   -   - 376 001
0044600   \0   K   %   -   -   -   -   -   -   -   -   -   -   -   -   -
0044620    -   -   -   -   -  \r   a   n   d       S   t   r   i   n   g
0044640    E   q   (   s   1   ,       s   2   )       =       v   a   l
0044660    o   f  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0044700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0045000    -  \r   [  \r   l   e   t       l   e   n   g   t   h       =
0045020        s   1   >   >   S   t   r   i   n   g   .   l   e   n   g
0045040    t   h  \r   i   f       l   e   n   g   t   h       n   e    
0045060    s   2   >   >   S   t   r   i   n   g   .   l   e   n   g   t
0045100    h       r   e   s   u   l   t   i   s       f   a   l   s   e
0045120   \r   f   o   r       i       =       1       t   o       l   e
0045140    n   g   t   h       d   o  \r               [  \r            
0045160    l   e   t       c   1   ,       c   2       =       s   1   >
0045200    >   S   t 376 001  \0 225   .   r   i   n   g   .   c   h   a
0045220    r   ^   i   ,       s   2   >   >   S   t   r   i   n   g   .
0045240    c   h   a   r   ^   i  \r               i   f       c   1    
0045260    n   e       c   2       t   h   e   n  \r                    
0045300        u   n   l   e   s   s       (   c   1       x   o   r    
0045320    4   0   B   )       e   q       c   2       &  \r            
0045340                    U   s   c   (   (   c   1       &       1   3
0045360    7   B   )   -   $   A   ,       $   Z   -   $   A   )       l
0045400    e       0       r   e   s   u   l   t   i   s       f   a   l
0045420    s   e  \r               ]  \r   r   e   s   u   l   t   i   s
0045440        t   r   u   e  \r   ]  \r  \r   /   /   -   -   -   -   -
0045460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0045560    -   -   -   -   -   -   -  \r   a   n   d       O   d   d   P
0045600    a   r   i   t   y   (   v   a 376 001  \0  \b   '   l   u   e
0045620    )       =       v   a   l   o   f  \r   /   /   -   -   -   -
0045640    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0045740    -   -   -   -   -   -   -   -  \r   /   /       R   e   t   u
0045760    r   n   s       t   h   e       b   i   t       w   h   i   c
0046000    h   ,       w   h   e   n       c   o   m   b   i   n   e   d
0046020        w   i   t   h       v   a   l   u   e   ,       w   o   u
0046040    l   d       m   a   k   e       i   t       h   a   v   e  \r
0046060    /   /       o   d   d       p   a   r   i   t   y   .  \r   [
0046100   \r   v   a   l   u   e       =       v   a   l   u   e       x
0046120    o   r       (   v   a   l   u   e       r   s   h   i   f   t
0046140        8   )  \r   v   a   l   u   e       =       v   a   l   u
0046160    e       x   o   r       (   v   a   l   u   e       r   s   h
0046200    i   f   t       4   )  \r   r   e   s   u   l   t 376 001  \0
0046220    m 266   i   s       (   1   1   3   1   5   1   B       r   s
0046240    h   i   f   t       (   v   a   l   u   e       &       1   7
0046260    B   )   )       &       1  \r   ]  \r  \r   /   /   -   -   -
0046300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0046400    -   -   -   -   -   -   -   -   -  \r   a   n   d       W   r
0046420    i   t   e   E   B   H   e   a   d   e   r   (   s   t   r   e
0046440    a   m   ,       c   s   A   r   r   a   y   ,       n   i   l
0046460    ,       f   i   l   e   N   a   m   e   )       b   e  \r   /
0046500    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0046520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0046600    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [  \r
0046620    l   e 376 001  \0 005 235   t       b   u   f       =       v
0046640    e   c       2   5   6           /   /       =       l   e   n
0046660    E   B   F   i   l   e  \r  \r   /   /       M   a   k   e    
0046700    t   h   e       e   m   b   e   d   d   e   d       c   r   e
0046720    a   t   i   o   n       d   a   t   e       b   e       t   h
0046740    e       s   a   m   e       a   s       t   h   e       f   i
0046760    l   e   '   s  \r   R   e   a   d   L   e   a   d   e   r   P
0047000    a   g   e   (   s   t   r   e   a   m   ,       b   u   f   )
0047020   \r   l   e   t       c   r   e   a   t   i   o   n   D   a   t
0047040    e       =       v   e   c       1   ;       M   o   v   e   B
0047060    l   o   c   k   (   c   r   e   a   t   i   o   n   D   a   t
0047100    e   ,       l   v       b   u   f   >   >   L   D   .   c   r
0047120    e   a   t   e   d   ,       2   )  \r   Z   e   r   o   (   b
0047140    u   f   ,       l   e   n   E   B   F   i   l   e   )  \r   M
0047160    o   v   e   B   l   o   c   k   (   l   v       b   u   f   >
0047200    >   E   B   F   i   l   e   .   c   r   e   a   t   i   o   n
0047220    D   a   t   e   ,       c 376 001  \0 270 333   r   e   a   t
0047240    i   o   n   D   a   t   e   ,       2   )  \r   b   u   f   >
0047260    >   E   B   F   i   l   e   .   e   t   h   e   r   V   e   r
0047300    s   i   o   n   N   u   m   b   e   r       =       e   t   h
0047320    e   r   V   e   r   s   i   o   n   N   u   m   b   e   r  \r
0047340    M   e   s   a   F   r   o   m   B   C   P   L   S   t   r   i
0047360    n   g   (   l   v       b   u   f   >   >   E   B   F   i   l
0047400    e   .   n   a   m   e   ,       f   i   l   e   N   a   m   e
0047420    )  \r   W   r   i   t   e   B   l   o   c   k   (   s   t   r
0047440    e   a   m   ,       b   u   f   ,       l   e   n   E   B   F
0047460    i   l   e   )  \r   ]  \r  \r   /   /   -   -   -   -   -   -
0047500    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0047600    -   -   -   -   -   -  \r   a   n   d       W   r   i   t   e
0047620    B   R   H   e   a   d   e   r   (   s   t   r 376 001  \0   w
0047640  332   e   a   m   ,       c   s   A   r   r   a   y   ,       l
0047660    a   b   e   l   N   a   m   e   ,       n   i   l   )       b
0047700    e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0047720    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0050020   \r   [  \r   l   e   t       b   r   F   i   l   e       =    
0050040    v   e   c       l   e   n   B   R   F   i   l   e   ;       Z
0050060    e   r   o   (   b   r   F   i   l   e   ,       l   e   n   B
0050100    R   F   i   l   e   )  \r   l   e   t       n   a   m   e   L
0050120    e   n   g   t   h       =       l   a   b   e   l   N   a   m
0050140    e   >   >   S   t   r   i   n   g   .   l   e   n   g   t   h
0050160    /   2   +   1  \r   b   r   F   i   l   e   >   >   B   R   F
0050200    i   l   e   .   b   c   p   l   V   e   r   s   i   o   n   N
0050220    u   m   b   e   r       =       b   c   p   l   V   e   r   s
0050240    i 376 001  \0  \r 370   o   n   N   u   m   b   e   r  \r   /
0050260    /       w   i   l   l       b   e       f   i   x   e   d    
0050300    u   p       l   a   t   e   r   :  \r   /   /       b   r   F
0050320    i   l   e   >   >   B   R   F   i   l   e   .   f   i   l   e
0050340    L   e   n   g   t   h       =       o   f   f   s   e   t    
0050360    B   R   F   i   l   e   .   i   t   e   m   /   1   6       +
0050400        n   a   m   e   L   e   n   g   t   h       +       c   s
0050420    A   r   r   a   y   L   e   n   g   t   h  \r   b   r   F   i
0050440    l   e   >   >   B   R   F   i   l   e   .   n   a   m   e   T
0050460    a   b   l   e   O   f   f   s   e   t       =       o   f   f
0050500    s   e   t       B   R   F   i   l   e   .   n   a   m   e   T
0050520    a   b   l   e   /   1   6  \r   b   r   F   i   l   e   >   >
0050540    B   R   F   i   l   e   .   l   a   b   e   l   T   a   b   l
0050560    e   O   f   f   s   e   t       =       o   f   f   s   e   t
0050600        B   R   F   i   l   e   .   l   a   b   e   l   T   a   b
0050620    l   e   /   1   6  \r   b   r   F   i   l   e   >   >   B   R
0050640    F   i   l   e   .   c 376 001  \0 330   v   o   d   e   O   f
0050660    f   s   e   t       =       o   f   f   s   e   t       B   R
0050700    F   i   l   e   .   c   o   d   e   /   1   6       +       n
0050720    a   m   e   L   e   n   g   t   h  \r   b   r   F   i   l   e
0050740    >   >   B   R   F   i   l   e   .   c   h   a   i   n   T   a
0050760    b   l   e   O   f   f   s   e   t       =       o   f   f   s
0051000    e   t       B   R   F   i   l   e   .   c   h   a   i   n   T
0051020    a   b   l   e   /   1   6  \r   b   r   F   i   l   e   >   >
0051040    B   R   F   i   l   e   .   z   c   h   a   i   n   T   a   b
0051060    l   e   O   f   f   s   e   t       =       o   f   f   s   e
0051100    t       B   R   F   i   l   e   .   z   c   h   a   i   n   T
0051120    a   b   l   e   /   1   6  \r   b   r   F   i   l   e   >   >
0051140    B   R   F   i   l   e   .   l   a   b   e   l   C   o   u   n
0051160    t       =       1  \r   b   r   F   i   l   e   >   >   B   R
0051200    F   i   l   e   .   l   a   b   e   l   N   a   m   e   N   u
0051220    m   b   e   r       =       1  \r   b   r   F   i   l   e   >
0051240    >   B   R   F   i   l   e   .   l   a   b 376 001  \0 305   )
0051260    e   l   P   C       =       1  \r   b   r   F   i   l   e   >
0051300    >   B   R   F   i   l   e   .   n   a   m   e   C   o   u   n
0051320    t       =       1  \r   b   r   F   i   l   e   >   >   B   R
0051340    F   i   l   e   .   n   a   m   e   D   e   s   c   r   i   p
0051360    t   o   r       =       1   4   0   b  \r   W   r   i   t   e
0051400    B   l   o   c   k   (   s   t   r   e   a   m   ,       b   r
0051420    F   i   l   e   ,       l   e   n   B   R   F   i   l   e   )
0051440   \r   W   r   i   t   e   B   l   o   c   k   (   s   t   r   e
0051460    a   m   ,       l   a   b   e   l   N   a   m   e   ,       n
0051500    a   m   e   L   e   n   g   t   h   )  \r   P   u   t   s   (
0051520    s   t   r   e   a   m   ,       0   )  \t  \t   /   /       c
0051540    o   d   e   L   e   n   g   t   h       (   c   s   A   r   r
0051560    a   y   L   e   n   g   t   h   +   1   )   ,       w   i   l
0051600    l       b   e       f   i   x   e   d       u   p       l   a
0051620    t   e   r  \r   P   u   t   s   (   s   t   r   e   a   m   ,
0051640        0   )  \t  \t   /   /       c   o   d   e   F   i   r   s
0051660  376 001  \0   H 364   t  \r   ]  \r  \r   /   /   -   -   -   -
0051700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0052000    -   -   -   -   -   -   -   -  \r   a   n   d       F   i   x
0052020    U   p   B   R   H   e   a   d   e   r   (   s   t   r   e   a
0052040    m   ,       c   s   A   r   r   a   y   L   e   n   g   t   h
0052060    ,       l   a   b   e   l   N   a   m   e   )       b   e  \r
0052100    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0052120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0052200    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [
0052220   \r   l   e   t       n   a   m   e   L   e   n   g   t   h    
0052240    =       l   a   b   e   l   N   a   m   e   >   >   S   t   r
0052260    i   n   g   .   l 376 001  \0 032   t   e   n   g   t   h   /
0052300    2   +   1  \r   S   e   t   F   i   l   e   P   o   s   (   s
0052320    t   r   e   a   m   ,       0   ,       o   f   f   s   e   t
0052340        B   R   F   i   l   e   .   f   i   l   e   L   e   n   g
0052360    t   h   /   8   )  \r   P   u   t   s   (   s   t   r   e   a
0052400    m   ,       o   f   f   s   e   t       B   R   F   i   l   e
0052420    .   i   t   e   m   /   1   6       +       n   a   m   e   L
0052440    e   n   g   t   h       +       c   s   A   r   r   a   y   L
0052460    e   n   g   t   h   )  \r   S   e   t   F   i   l   e   P   o
0052500    s   (   s   t   r   e   a   m   ,       0   ,       2   *   (
0052520    l   e   n   B   R   F   i   l   e   +   n   a   m   e   L   e
0052540    n   g   t   h   )   )  \r   P   u   t   s   (   s   t   r   e
0052560    a   m   ,       c   s   A   r   r   a   y   L   e   n   g   t
0052600    h   +   1   )  \r   R   e   s   e   t   s   (   s   t   r   e
0052620    a   m   )           /   /       s   o       O   S       w   o
0052640    n   '   t       t   r   u   n   c   a   t   e       w   h   e
0052660    n       w   e       c   l   o   s   e 376 001  \0   1   b   !
0052700   \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -
0052720    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0053020    -   -  \r   a   n   d       M   e   s   a   F   r   o   m   B
0053040    C   P   L   S   t   r   i   n   g   (   m   e   s   a   S   t
0053060    r   i   n   g   ,       b   c   p   l   S   t   r   i   n   g
0053100    )       =       v   a   l   o   f  \r   /   /   -   -   -   -
0053120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0053220    -   -   -   -   -   -   -   -  \r   /   /       R   e   t   u
0053240    r   n   s       t   h   e       n   u   m   b   e   r       o
0053260    f       w   o   r   d   s       o   c   c   u   p   i   e 376
0053300  001  \0   x   U   d       b   y       t   h   e       m   e   s
0053320    a   S   t   r   i   n   g  \r   [  \r   l   e   t       l   e
0053340    n   g   t   h       =       b   c   p   l   S   t   r   i   n
0053360    g   >   >   S   t   r   i   n   g   .   l   e   n   g   t   h
0053400   \r   m   e   s   a   S   t   r   i   n   g   >   >   M   e   s
0053420    a   S   t   r   i   n   g   .   l   e   n   g   t   h       =
0053440        l   e   n   g   t   h  \r   m   e   s   a   S   t   r   i
0053460    n   g   >   >   M   e   s   a   S   t   r   i   n   g   .   m
0053500    a   x   L   e   n   g   t   h       =       (   l   e   n   g
0053520    t   h   +   1   )       &       -   2  \r   f   o   r       i
0053540        =       1       t   o       l   e   n   g   t   h       d
0053560    o       m   e   s   a   S   t   r   i   n   g   >   >   M   e
0053600    s   a   S   t   r   i   n   g   .   c   h   a   r   ^   (   i
0053620    -   1   )       =       b   c   p   l   S   t   r   i   n   g
0053640    >   >   S   t   r   i   n   g   .   c   h   a   r   ^   i  \r
0053660    r   e   s   u   l   t   i   s       (   o   f   f   s   e   t
0053700        M   e   s 376  \0   - 222 327   a   S   t   r   i   n   g
0053720    .   c   h   a   r   ^   0       /       1   6   )       +    
0053740    (   l   e   n   g   t   h   +   1   )       r   s   h   i   f
0053760    t       1  \r   ]  \r 377  \0  \0   L   o   a   d   L   o   a
0054000    d   M   B   .   c   m  \0 373 231   -   M   L  \0  \0 376  \0
0054020    %   !   V   B   l   d   r   /   L   V       L   o   a   d   M
0054040    B       G   P       T   e   m   p   l   a   t   e       A   l
0054060    t   o   Q   u   e   u   e  \r 377  \0  \0   L   o   a   d   M
0054100    B   .   c   m  \0 373 225   & 220 003  \0  \0 376  \0   $ 324
0054120  033   L   o   a   d   M   B   .   b   c   p   l       L   o   a
0054140    d   L   o   a   d   M   B   .   c   m       L   o   a   d   M
0054160    B   .   c   m  \r 374                                        
0054166