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