pkg://xattax-1.0-2.src.rpm:29168/xattax.tar.gz
info downloads
xataxx/ 40711 1750 1 0 5553057043 10510 5 ustar iialan bin xataxx/README 100600 1750 1 2371 5553057035 11471 0 ustar iialan bin
I pulled this off ftp.x.org and tweaked it for Linux. I mailed the patches
back but they bounced. Anyway this is a fun game not to be played by the
easily frustrated.
Original Readme:
To Install :
edit the Imakefile as appropriate for your system. create a DATADIR
for the xataxx boards and bitmaps, and define BINDIR if
you want the game to go somewhere other than the default
system area.
"make Makefile" OR "xmkmf"
make install
.... and that should be it. Full, gory docs in the manpage.
This game has a lot that could still happen to it - if you are
interested in working on the code, see the TODO file. Since we are way
overloaded here at CMU, there is somewhat small chance that we'll be
able to get around to chopping items from the list anytime soon. If
you do anything to the code, please let us know back here so we can
merge it into future releases.
In any case xataxx *is* a finished game as is. Have fun ...
-jim
jz1j@andrew.cmu.edu
p.s. the supplied Makefile is for bootstrap purposes ONLY. It is unlikely
it will work unmodified on your system. "make Makefile" before
doing anything else.
p.p.s this has only been tested (and heavily) on MIT X11R4 systems. Others
are caveat emptor, but patches welcome if neccesary :-)
xataxx/TODO 100600 1750 1 1221 5010723474 11265 0 ustar iialan bin These are things that we would love to have time to put in, but,
as we are desperately overloaded college students, don't. If you
send us patches for these, we will love you forever and put your
name in the next release and splat it just *EVERYWHERE*
-jim zelenka
Optimize robot
Better color- more than just cursor
internal board generation
Be able to change board sizes w/out changing data dir, restarting
Keep track of player ratings
clean up event handling on two windows (select on both all the time...)
better graphics on moves
dynamically figure out data in boards.num
four player mode
resizeable window
xataxx/bits.c 100600 1750 1 10654 5103153007 11724 0 ustar iialan bin #include <stdio.h>
#include <ctype.h>
#include <X11/Xlib.h>
#include <math.h>
#include <sys/socket.h>
#include <sys/time.h>
#include "struct.h"
#define TITLESIZE (7*X_PIECE_SIZE)
#ifndef FD_SET
#define MAXSELFD 64
typedef long fd_mask;
#define NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mask (power of 2!)*/
#define NFDSHIFT 5 /* Shift based on above */
#ifndef howmany
#define howmany(x, y) (((x)+((y)-1))/(y))
#endif howmany
#define NBBY 8 /* number of bits in a byte */
#define FD_SETSIZE 64
#define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))
#define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
#define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))
#define FD_ZERO(p) bzero((char *)(p), sizeof(*(p)))
#endif
extern Display *dpy, *odpy, *currdpy;
extern Window win, owin, currwin;
extern GC gc, ogc, currgc;
extern int xsize, ysize, obstacle_color, scr, oscr;
extern int botmode;
extern Pixmap bamp, obamp, currbamp;
extern int xwin,ywin;
Pixmap mapw, mapb, omapw, omapb, wblock, bblock, owblock, obblock;
int oldw, oldb;
Cursor upc, downc, oupc, odownc;
Bool perfection;
int waitferkey();
msec_wait(millsecs)
int millsecs;
{
struct timeval tv;
tv.tv_sec = 0;
tv.tv_usec = millsecs;
select(0, 0, 0, 0, &tv);
}
waitferkey(tm) /* returns nonzero on timeout, zero on key or click */
int tm;
{
fd_set readbits, rb2;
int sock1, sock2, sockh, tsec=0;
long t1, t2;
XEvent event;
Bool ploop = True;
char c;
struct timeval timeout;
timeout.tv_sec = (long) tm;
timeout.tv_usec = 0;
FD_ZERO(&readbits);
sock1 = ConnectionNumber(dpy);
if (botmode)
sock2 = ConnectionNumber(odpy);
if (sock1 > sock2)
sockh = sock1;
else
sockh = sock2;
if (!botmode)
sockh = sock1;
FD_SET(sock1, &readbits);
if (botmode)
FD_SET(sock2, &readbits);
sockh++;
rb2 = readbits;
while (ploop) {
readbits = rb2;
timeout.tv_sec = ((long) tm - tsec);
t1 = (long) time((long *) 0);
if (select (sockh, &readbits, NULL, NULL, &timeout)) {
t2 = (long) time((long *) 0);
tsec += (t2-t1);
if(XCheckWindowEvent(dpy, win, ButtonPressMask | KeyPressMask | ButtonReleaseMask |
ExposureMask, &event)) {
switch(event.type) {
case ButtonPress:
break;
case ButtonRelease:
ploop = False;
break;
case Expose:
break;
case KeyPress:
XLookupString(&event, &c, 1, NULL, NULL);
if (c == 'q')
quit();
if (isalpha(c) || isspace(c))
ploop = False;
break;
default:
break;
}
}
if(botmode)
if(XCheckWindowEvent(odpy, owin, ButtonPressMask | KeyPressMask | ButtonReleaseMask |
ExposureMask, &event)) {
switch(event.type) {
case ButtonPress:
break;
case ButtonRelease:
ploop = False;
break;
case Expose:
break;
case KeyPress:
XLookupString(&event, &c, 1, NULL, NULL);
if (c == 'q')
quit();
if (isalpha(c) || isspace(c))
ploop = False;
break;
default:
break;
}
}
}
else { /* we have timedout */
return(1);
}
}
return(0);
}
quit()
{
XCloseDisplay(dpy);
if (botmode)
XCloseDisplay(odpy);
exit(0);
}
draw_circle(x,y,color)
int x,y,color;
{
Pixmap wmap, bmap;
if (currdpy == dpy) {
wmap = mapw;
bmap = mapb;
}
else {
wmap = omapw;
bmap = omapb;
}
if (color==WHITE)
XCopyArea(currdpy, wmap, currbamp, currgc,0,0,X_PIECE_SIZE,
Y_PIECE_SIZE, x*X_PIECE_SIZE,y*Y_PIECE_SIZE);
else
XCopyArea(currdpy, bmap, currbamp, currgc,0,0,X_PIECE_SIZE,
Y_PIECE_SIZE, x*X_PIECE_SIZE,y*Y_PIECE_SIZE);
}
draw_obstacle(x,y)
int x,y;
{
Pixmap bbl, wbl;
if (currdpy == dpy) {
bbl = wblock;
wbl = bblock;
}
else {
bbl = owblock;
wbl = obblock;
}
if (obstacle_color==WHITE)
XCopyArea(currdpy, wbl, currbamp, currgc,0,0,X_PIECE_SIZE,
Y_PIECE_SIZE, x*X_PIECE_SIZE,y*Y_PIECE_SIZE);
else
XCopyArea(currdpy, bbl, currbamp, currgc,0,0,X_PIECE_SIZE,
Y_PIECE_SIZE, x*X_PIECE_SIZE,y*Y_PIECE_SIZE);
}
grid(cdpy, cmap, cgc)
Display *cdpy;
Pixmap cmap;
GC cgc;
{
short x;
XDrawRectangle(cdpy, cmap, cgc, 0, 0, xwin-1, ywin-1);
for (x=0;x<return_x_size();x++)
XDrawLine(cdpy, cmap, cgc, x*X_PIECE_SIZE, 0, x*X_PIECE_SIZE, ywin-1);
for(x=0;x<return_y_size();x++)
XDrawLine(cdpy, cmap, cgc, 0, x*Y_PIECE_SIZE, xwin-1, x*Y_PIECE_SIZE);
}
redraw_win(cdpy, cwin, cmap, cgc)
Display *cdpy;
Window cwin;
Pixmap cmap;
GC cgc;
{
XCopyArea(cdpy, cmap, cwin, cgc, 0, 0, xwin, ywin, 0, 0);
XFlush(cdpy);
}
xataxx/board.c 100600 1750 1 25172 5100746512 12061 0 ustar iialan bin #include <X11/Xlib.h>
#include "struct.h"
extern Display *dpy, *odpy, *currdpy;
extern Window win, owin, currwin;
extern GC gc, ogc, currgc;
extern int xsize, ysize, obstacle_color, scr, oscr, currscr, curr_player;
extern int botmode;
extern Pixmap mapw, mapb, omapw, omapb, wblock, bblock, owblock, obblock, bamp, obamp, currbamp;
#define abs(num) ((num) < 0) ? -(num) : (num);
#define b_look(x,y) board[x*y_board_size+y]
int *board, *bl2;
int x_board_size,y_board_size;
Bool flumping, wflump, fflump, jflump;
/* Allocate game board */
allocate_board(xsize,ysize)
int xsize,ysize;
{
int x,y;
if ((xsize<MIN_BOARD_SIZE)||(xsize>MAX_BOARD_SIZE))
return(1);
if ((ysize<MIN_BOARD_SIZE)||(ysize>MAX_BOARD_SIZE))
return(1);
x_board_size = xsize;
y_board_size = ysize;
board = (int *) malloc(sizeof(int)*x_board_size*y_board_size);
bl2 = (int *) malloc(sizeof(int)*x_board_size*y_board_size);
for (x=0;x!=x_board_size;x++)
for (y=0;y!=y_board_size;y++)
board[x*y_board_size+y] = EMPTY;
return(0);
}
#ifdef NEWBOT
/* Copy one board array onto another for look-ahead */
copy_board(bs, bd)
int *bs, *bd;
{
int x,y;
for(x=0;x!=xsize;x++)
for(y=0;y!=ysize;y++)
bd[x*ysize+y] = bs[x*ysize+y];
return(0);
}
#endif
/* Add obstruction to current board */
add_obstruction(xpos,ypos)
int xpos,ypos;
{
if (!board)
return(1);
if ((xpos>x_board_size)||(xpos < 0))
return(1);
if ((ypos>y_board_size)||(ypos < 0))
return(1);
b_look(xpos,ypos) = OBSTACLE;
return(0);
}
/* Initialize the player pieces */
place_piece(xpos,ypos,player)
int xpos,ypos,player;
{
if ((xpos>x_board_size)||(xpos < 0))
return(1);
if ((ypos>y_board_size)||(ypos < 0))
return(1);
b_look(xpos,ypos) = player;
if ((player!=WHITE)&&(player!=BLACK))
return(1);
return(1);
}
update_square(x,y,xnew,ynew,player)
int x,y,xnew,ynew,player;
{
Pixmap smap;
if ((x>=0)&&(x<x_board_size)&&(y>=0)&&(y<y_board_size))
if ((b_look(x,y)!=EMPTY)&&(b_look(x,y)!=OBSTACLE)&&b_look(x,y)!=player) {
b_look(x,y) = player;
if (flumping && jflump) {
if (player == WHITE)
smap = mapw;
else
smap = mapb;
blat(xnew, ynew, x, y, smap, dpy, scr, gc, win, bamp);
if (botmode) {
if (player == WHITE)
smap = omapw;
else
smap = omapb;
blat(xnew, ynew, x, y, smap, odpy, oscr, ogc, owin, obamp);
}
}
}
}
/* Move a piece.
Return 1 if the piece cannot be moved.
*/
move_piece(xcurr,ycurr,xnew,ynew,player)
int xcurr,ycurr,xnew,ynew,player;
{
int xdiff,ydiff,other_player,p;
Pixmap smap;
/* Player must own current position */
if (b_look(xcurr,ycurr) != player)
return(1);
/* The new position must be empty */
if (b_look(xnew,ynew) != EMPTY)
return(1);
/* Check the validity of moving to the new position */
xdiff = abs(xcurr-xnew);
ydiff = abs(ycurr-ynew);
/* Simple one square slurp */
if ((xdiff <= 1)&&(ydiff <=1))
b_look(xnew,ynew) = player;
else {
if ((xdiff <= 2)&&(ydiff <=2)) {
b_look(xcurr,ycurr) = EMPTY;
b_look(xnew,ynew) = player;
redraw_win(dpy, win, bamp, gc);
if (botmode)
redraw_win(odpy, owin, obamp, ogc);
}
else
return(1);
}
if(flumping) {
if (player == WHITE)
smap = mapw;
else
smap = mapb;
blat(xcurr, ycurr, xnew, ynew, smap, dpy, scr, gc, win, bamp);
if (botmode) {
if (player == WHITE)
smap = omapw;
else
smap = omapb;
blat(xcurr, ycurr, xnew, ynew, smap, odpy, oscr, ogc, owin, obamp);
}
}
/* Update the squares around the new one */
update_square((xnew-1),(ynew-1),xnew,ynew,player);
update_square((xnew),(ynew-1),xnew,ynew,player);
update_square((xnew+1),(ynew-1),xnew,ynew,player);
update_square((xnew+1),(ynew),xnew,ynew,player);
update_square((xnew+1),(ynew+1),xnew,ynew,player);
update_square((xnew),(ynew+1),xnew,ynew,player);
update_square((xnew-1),(ynew+1),xnew,ynew,player);
update_square((xnew-1),(ynew),xnew,ynew,player);
return(0);
}
#ifdef NEWBOT
sample_move(xcurr,ycurr,xnew,ynew,player)
int xcurr,ycurr,xnew,ynew,player;
{
int xdiff,ydiff,other_player,p;
/* Player must own current position */
if (b_look(xcurr,ycurr) != player)
return(1);
/* The new position must be empty */
if (b_look(xnew,ynew) != EMPTY)
return(1);
/* Check the validity of moving to the new position */
xdiff = abs(xcurr-xnew);
ydiff = abs(ycurr-ynew);
/* Simple one square slurp */
if ((xdiff <= 1)&&(ydiff <=1))
b_look(xnew,ynew) = player;
else {
if ((xdiff <= 2)&&(ydiff <=2)) {
b_look(xcurr,ycurr) = EMPTY;
b_look(xnew,ynew) = player;
}
else
return(1);
}
/* Update the squares around the new one */
update_square((xnew-1),(ynew-1),xnew,ynew,player);
update_square((xnew),(ynew-1),xnew,ynew,player);
update_square((xnew+1),(ynew-1),xnew,ynew,player);
update_square((xnew+1),(ynew),xnew,ynew,player);
update_square((xnew+1),(ynew+1),xnew,ynew,player);
update_square((xnew),(ynew+1),xnew,ynew,player);
update_square((xnew-1),(ynew+1),xnew,ynew,player);
update_square((xnew-1),(ynew),xnew,ynew,player);
return(0);
}
#endif
int b_peek(x,y)
int x,y;
{
return(board[x*y_board_size+y]);
}
/* Return an array of integers specifying the board */
int *return_board()
{
return(board);
}
return_x_size()
{
return(x_board_size);
}
return_y_size()
{
return(y_board_size);
}
/* Return 1 if the game is at an end. */
end_game()
{
int x,y;
for (x=0;x!=x_board_size;x++)
for (y=0;y!=y_board_size;y++)
if (b_look(x,y)==EMPTY)
return(0);
return(1);
}
/* Clean the board */
clean_board()
{
int x,y;
for (x=0;x!=x_board_size;x++)
for (y=0;y!=y_board_size;y++)
if (b_look(x,y)!=OBSTACLE)
b_look(x,y) = EMPTY;
}
/* Return the number of pieces belonging to player. */
count_board(player)
int player;
{
int x,y,count=0;
for (x=0;x!=x_board_size;x++)
for (y=0;y!=y_board_size;y++)
if (b_look(x,y)==player)
count++;
return(count);
}
#define do_check(x,y,player) \
if (((x)>=0)&&((x)<x_board_size)&&((y)>=0)&&((y)<y_board_size)) \
if (b_look((x),(y))==EMPTY) \
return(1);
/* Return 1 if player has a valid move at x,y. */
check_move(x,y,player)
int x,y,player;
{
do_check(x-1,y-1,player);
do_check(x,y-1,player);
do_check(x+1,y-1,player);
do_check(x+1,y,player);
do_check(x+1,y+1,player);
do_check(x,y+1,player);
do_check(x-1,y+1,player);
do_check(x-1,y,player);
do_check(x-2,y-2,player);
do_check(x-1,y-2,player);
do_check(x,y-2,player);
do_check(x+1,y-2,player);
do_check(x+2,y-2,player);
do_check(x+2,y-1,player);
do_check(x+2,y,player);
do_check(x+2,y+1,player);
do_check(x+2,y+2,player);
do_check(x+1,y+2,player);
do_check(x,y+2,player);
do_check(x-1,y+2,player);
do_check(x-2,y+2,player);
do_check(x-2,y+1,player);
do_check(x-2,y,player);
do_check(x-2,y-1,player);
return(0);
}
/* Return 1 if player has a valid move. */
valid_move(player)
{
int x,y;
for (x=0;x!=x_board_size;x++)
for (y=0;y!=y_board_size;y++)
if (b_look(x,y)==player)
if (check_move(x,y,player))
return(1);
return(0);
}
typedef struct {
int ox,oy;
int nx,ny;
} thing;
b_look2(x,y)
int x,y;
{
if ((x>=0)&&(x<x_board_size)&&(y>=0)&&(y<y_board_size))
return(b_look(x,y));
else
return(OBSTACLE);
}
thing best;
int best_count,oplayer,curr_count;
evaluate(oldx,oldy,newx,newy,oplayer)
{
if ((newx>=0)&&(newx<x_board_size)&&(newy>=0)&&(newy<y_board_size)) {
if (b_look2(newx,newy)==EMPTY) {
if (b_look2((newx-1),(newy-1))==oplayer)
curr_count++;
if (b_look2(newx,(newy-1))==oplayer)
curr_count++;
if (b_look2((newx+1),(newy-1))==oplayer)
curr_count++;
if (b_look2((newx+1),newy)==oplayer)
curr_count++;
if (b_look2((newx+1),(newy+1))==oplayer)
curr_count++;
if (b_look2(newx,(newy+1))==oplayer)
curr_count++;
if (b_look2((newx-1),(newy+1))==oplayer)
curr_count++;
if (b_look2((newx-1),newy)==oplayer)
curr_count++;
if (curr_count > best_count) {
if ((best_count==-1)||(random()&1)) {
best.ox = oldx;
best.oy = oldy;
best.nx = newx;
best.ny = newy;
best_count = curr_count;
}
}
}
}
}
#ifdef NEWBOT
smart_robot(player)
int player;
{
int botp, enemp, oppon, bgross, egross, bnet, enet, nx, ny;
thing b1, b2;
oppon = (player==WHITE) ? BLACK : WHITE;
botp = count_board(player);
enemp = count_board(oppon);
copy_board(board, bl2);
best_count = -500;
for (x=0;x!=x_board_size;x++) {
for (y=0;y!=y_board_size;y++) {
if (b_look(x,y)==player) {
bgross = count_board(player);
egross = count_board(oppon); /* must get values for nx, ny & loop */
if ((nx>=0) && (nx<x_board_size) && (ny>=0) && (ny<y_board_size)) {
sample_move(x, y, nx, ny, player);
robot_move(oppon);
bnet = bgross - botp;
enet = egross - enemp;
if ((bnet-enet) > best_count) {
b1.ox = x;
b1.oy = y;
b1.nx = nx;
b1.ny = ny;
best_count = (bnet-enet);
}
}
}
}
}
}
#endif
/* Make a move for player. */
orobot_move(player)
int player;
{
int x,y;
best_count = -1;
best.ox = -1;
oplayer = (player==WHITE) ? BLACK : WHITE;
for (x=0;x!=x_board_size;x++)
for (y=0;y!=y_board_size;y++) {
if (b_look(x,y)==player) {
curr_count=1; evaluate(x,y,(x-1),(y-1),oplayer);
curr_count=1; evaluate(x,y,(x),(y-1),oplayer);
curr_count=1; evaluate(x,y,(x+1),(y-1),oplayer);
curr_count=1; evaluate(x,y,(x+1),(y),oplayer);
curr_count=1; evaluate(x,y,(x+1),(y+1),oplayer);
curr_count=1; evaluate(x,y,(x),(y+1),oplayer);
curr_count=1; evaluate(x,y,(x-1),(y+1),oplayer);
curr_count=1; evaluate(x,y,(x-1),(y),oplayer);
curr_count= 0; evaluate(x,y,(x-2),(y-2),oplayer);
curr_count= 0; evaluate(x,y,(x-1),(y-2),oplayer);
curr_count= 0; evaluate(x,y,(x),(y-2),oplayer);
curr_count= 0; evaluate(x,y,(x+1),(y-2),oplayer);
curr_count= 0; evaluate(x,y,(x+2),(y-2),oplayer);
curr_count= 0; evaluate(x,y,(x+2),(y-1),oplayer);
curr_count= 0; evaluate(x,y,(x+2),(y),oplayer);
curr_count= 0; evaluate(x,y,(x+2),(y+1),oplayer);
curr_count= 0; evaluate(x,y,(x+2),(y+2),oplayer);
curr_count= 0; evaluate(x,y,(x+1),(y+2),oplayer);
curr_count= 0; evaluate(x,y,(x),(y+2),oplayer);
curr_count= 0; evaluate(x,y,(x-1),(y+2),oplayer);
curr_count= 0; evaluate(x,y,(x-2),(y+2),oplayer);
curr_count= 0; evaluate(x,y,(x-2),(y+1),oplayer);
curr_count= 0; evaluate(x,y,(x-2),(y),oplayer);
curr_count= 0; evaluate(x,y,(x-2),(y-1),oplayer);
}
}
if (best_count==-1)
return;
move_piece(best.ox,best.oy,best.nx,best.ny,player);
}
xataxx/boards.num 100600 1750 1 4 4753312176 12514 0 ustar iialan bin 29
xataxx/colbits.c 100600 1750 1 13006 5103153264 12421 0 ustar iialan bin #include <stdio.h>
#include <ctype.h>
#include <X11/Xlib.h>
#include <math.h>
#include <sys/socket.h>
#include <sys/time.h>
#include "struct.h"
#define TITLESIZE (7*X_PIECE_SIZE)
#ifndef FD_SET
#define MAXSELFD 64
typedef long fd_mask;
#define NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mask (power of 2!)*/
#define NFDSHIFT 5 /* Shift based on above */
#ifndef howmany
#define howmany(x, y) (((x)+((y)-1))/(y))
#endif howmany
#define NBBY 8 /* number of bits in a byte */
#define FD_SETSIZE 64
#define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))
#define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
#define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))
#define FD_ZERO(p) bzero((char *)(p), sizeof(*(p)))
#endif
extern Display *dpy, *odpy, *currdpy;
extern Window win, owin, currwin;
extern GC gc, ogc, currgc;
extern int xsize, ysize, obstacle_color, scr, oscr;
extern int botmode;
extern Pixmap bamp, obamp, currbamp;
extern int xwin,ywin;
extern Pixmap mapw, mapb, omapw, omapb, wblock, bblock, owblock, obblock;
extern int oldw, oldb;
extern Cursor upc, downc, oupc, odownc;
extern Bool perfection;
int waitferkey();
readbitmaps()
{
unsigned int x, y, xh, yh;
Pixmap curs, cmask, loader;
XColor fg,bg,garbage;
XSync(dpy, True);
XReadBitmapFile(dpy, win, WHITESTONE, &x, &y, &loader, &xh, &yh);
mapw = XCreatePixmap(dpy, win, x, y, DefaultDepth(dpy,scr));
XCopyPlane(dpy, loader, mapw, gc, 0, 0, x, y, 0, 0, 1);
XFreePixmap(dpy, loader);
XReadBitmapFile(dpy, win, BLACKSTONE, &x, &y, &loader, &xh, &yh);
mapb = XCreatePixmap(dpy, win, x, y, DefaultDepth(dpy,scr));
XCopyPlane(dpy, loader, mapb, gc, 0, 0, x, y, 0, 0, 1);
XFreePixmap(dpy, loader);
XReadBitmapFile(dpy, win, BLACKBLOCK, &x, &y, &loader, &xh, &yh);
bblock = XCreatePixmap(dpy, win, x, y, DefaultDepth(dpy,scr));
XCopyPlane(dpy, loader, bblock, gc, 0, 0, x, y, 0, 0, 1);
XFreePixmap(dpy, loader);
XReadBitmapFile(dpy, win, WHITEBLOCK, &x, &y, &loader, &xh, &yh);
wblock = XCreatePixmap(dpy, win, x, y, DefaultDepth(dpy,scr));
XCopyPlane(dpy, loader, wblock, gc, 0, 0, x, y, 0, 0, 1);
XFreePixmap(dpy, loader);
fg.pixel = WhitePixel(dpy,scr);
bg.pixel = BlackPixel(dpy,scr);
XQueryColor(dpy, DefaultColormap(dpy,scr), &fg);
XQueryColor(dpy, DefaultColormap(dpy,scr), &bg);
XAllocNamedColor(dpy, DefaultColormap(dpy,scr), "lime green", &fg, &garbage);
XAllocNamedColor(dpy, DefaultColormap(dpy,scr), "magenta", &bg, &garbage);
XReadBitmapFile(dpy, win, UPCURSOR, &x, &y, &curs, &xh, &yh);
XReadBitmapFile(dpy, win, UPMASK, &x, &y, &cmask, &xh, &yh);
upc = XCreatePixmapCursor(dpy, curs, cmask, &fg, &bg, xh, yh);
XFreePixmap(dpy,curs);
XFreePixmap(dpy,cmask);
XReadBitmapFile(dpy, win, DOWNCURSOR, &x, &y, &curs, &xh, &yh);
XReadBitmapFile(dpy, win, DOWNMASK, &x, &y, &cmask, &xh, &yh);
downc = XCreatePixmapCursor(dpy, curs, cmask, &fg, &bg, xh, yh);
XFreePixmap(dpy,curs);
XFreePixmap(dpy,cmask);
XDefineCursor(dpy,win,upc);
if (botmode) {
XSync(odpy, True);
fg.pixel = WhitePixel(odpy,oscr);
bg.pixel = BlackPixel(odpy,oscr);
XQueryColor(odpy, DefaultColormap(odpy,oscr), &fg);
XQueryColor(odpy, DefaultColormap(odpy,oscr), &bg);
XAllocNamedColor(odpy, DefaultColormap(odpy,oscr), "lime green", &fg, &garbage);
XAllocNamedColor(odpy, DefaultColormap(odpy,oscr), "magenta", &bg, &garbage);
XReadBitmapFile(odpy, owin, BLACKSTONE, &x, &y, &loader, &x, &y);
omapb = XCreatePixmap(odpy, owin, x, y, DefaultDepth(odpy,oscr));
XCopyPlane(odpy, loader, omapb, ogc, 0, 0, x, y, 0, 0, 1);
XFreePixmap(odpy, loader);
XReadBitmapFile(odpy, owin, WHITESTONE, &x, &y, &loader, &x, &y);
omapw = XCreatePixmap(odpy, owin, x, y, DefaultDepth(odpy,oscr));
XCopyPlane(odpy, loader, omapw, ogc, 0, 0, x, y, 0, 0, 1);
XFreePixmap(odpy, loader);
XReadBitmapFile(odpy, owin, BLACKBLOCK, &x, &y, &loader, &x, &y);
obblock = XCreatePixmap(odpy, owin, x, y, DefaultDepth(odpy,oscr));
XCopyPlane(odpy, loader, obblock, ogc, 0, 0, x, y, 0, 0, 1);
XFreePixmap(odpy, loader);
XReadBitmapFile(odpy, owin, WHITEBLOCK, &x, &y, &loader, &x, &y);
owblock = XCreatePixmap(odpy, owin, x, y, DefaultDepth(odpy,oscr));
XCopyPlane(odpy, loader, owblock, ogc, 0, 0, x, y, 0, 0, 1);
XFreePixmap(odpy, loader);
XReadBitmapFile(odpy, owin, UPCURSOR, &x, &y, &curs, &xh, &yh);
XReadBitmapFile(odpy, owin, UPMASK, &x, &y, &cmask, &x, &y);
oupc = XCreatePixmapCursor(odpy, curs, cmask, &fg, &bg, xh, yh);
XFreePixmap(odpy,curs);
XFreePixmap(odpy,cmask);
XReadBitmapFile(odpy, owin, DOWNCURSOR, &x, &y, &curs, &xh, &yh);
XReadBitmapFile(odpy, owin, DOWNMASK, &x, &y, &cmask, &x, &y);
odownc = XCreatePixmapCursor(odpy, curs, cmask, &fg, &bg, xh, yh);
XFreePixmap(odpy,curs);
XFreePixmap(odpy,cmask);
XDefineCursor(odpy,owin,oupc);
XFlush(odpy);
}
}
show_title()
{
Pixmap title, otitle, loader;
int ax, ay, x, y, hx, hy;
XReadBitmapFile(dpy, win, TITLE, &x, &y, &loader, &hx, &hy);
title = XCreatePixmap(dpy, win, x, y, DefaultDepth(dpy,scr));
XCopyPlane(dpy, loader, title, gc, 0, 0, x, y, 0, 0, 1);
XFreePixmap(dpy, loader);
if (botmode)
XReadBitmapFile(odpy, owin, TITLE, &x, &y, &otitle, &hx, &hy);
ax = ((return_x_size()*X_PIECE_SIZE)-x) / 2;
ay = ax;
XCopyArea(dpy, title, win, gc, 0,0, x, y, ax, ay);
if (botmode)
XCopyArea(odpy, otitle, owin, ogc, 0,0, x, y, ax, ay);
show_scores(dpy, win, gc, oldw, oldb);
if (botmode)
show_scores(odpy, owin, ogc, oldw, oldb);
}
xataxx/demo.c 100600 1750 1 2352 4753312202 11667 0 ustar iialan bin #include <stdio.h>
#include <X11/Xlib.h>
#include "struct.h"
extern int obstacle_color, oldw, oldb;
extern Display *dpy, *odpy;
extern Window win, owin;
extern int botmode;
#define DEMODELAY 1
demo()
{
XEvent event;
int curr_player=WHITE,currx,curry,x,y;
char mess[100];
srandom(time(NULL));
x = return_x_size();
y = return_y_size();
place_piece(0,0,WHITE);
place_piece(x-1,y-1,WHITE);
place_piece(0,y-1,BLACK);
place_piece(x-1,0,BLACK);
obstacle_color = curr_player;
/*
XNextEvent(dpy,&event);
*/
redraw_all(curr_player);
if (botmode) {
XNextEvent(odpy,&event);
redraw_all(curr_player);
}
redraw_all(curr_player);
while (!end_game()) {
robot_move(WHITE);
if (valid_move(BLACK))
obstacle_color = BLACK;
oldw = count_board(WHITE);
oldb = count_board(BLACK);
redraw_all(curr_player);
if(!waitferkey(DEMODELAY))
return(1);
robot_move(BLACK);
if (valid_move(WHITE))
obstacle_color = WHITE;
oldw = count_board(WHITE);
oldb = count_board(BLACK);
redraw_all(curr_player);
if(!waitferkey(DEMODELAY))
return(1);
}
oldw = count_board(WHITE);
oldb = count_board(BLACK);
redraw_all(curr_player);
return(0);
} xataxx/display.c 100600 1750 1 25252 5103155666 12445 0 ustar iialan bin #include <stdio.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <math.h>
#include "struct.h"
Display *dpy,*odpy,*currdpy;
Window win,owin,currwin;
GC gc,ogc,currgc;
int xsize,ysize,obstacle_color;
extern int botmode;
extern int oldw, oldb;
int scr, oscr, currscr;
extern Cursor upc, downc, oupc, odownc;
Pixmap bamp, obamp, currbamp;
int xwin,ywin, curr_player;
extern Bool flumping;
extern int botlevel;
print_board()
{
int x,y,*board;
int i,j;
x = return_x_size();
y = return_y_size();
board = (int *) return_board();
for (i=0;i!=y;i++) {
for (j=0;j!=x;j++)
printf("%d ",board[j*y+i]);
printf("\n");
}
}
initialize_display(name)
char *name;
{
int scn;
XSetWindowAttributes attr;
XGCValues gcvalues;
XSizeHints hints;
XClassHint classhint;
XWMHints wmhint;
xsize = return_x_size();
ysize = return_y_size();
xwin = xsize*X_PIECE_SIZE;
ywin = ysize*Y_PIECE_SIZE+TEXT_SIZE;
hints.min_width = xwin;
hints.max_width = xwin;
hints.min_height = ywin;
hints.max_height = ywin;
hints.flags = PMinSize | PMaxSize;
classhint.res_name = "xataxx";
classhint.res_class = "xataxx";
wmhint.input = True;
wmhint.flags = InputHint;
if (xwin < 120) xwin = 120;
if (!(dpy = XOpenDisplay(NULL))) {
fprintf(stderr,"Could not open local display. Bummer, drag.\n");
exit(1);
}
if (botmode) {
if (!(odpy = XOpenDisplay(name))) {
fprintf(stderr,"Could not open display %s. Bummer, drag.\n",name);
exit(1);
}
}
#ifdef DEBUG
printf("Display(s) open.\n");
#endif
scn = DefaultScreen(dpy);
scr = scn;
win = XCreateWindow(dpy,DefaultRootWindow(dpy),100,100,xwin,ywin,
1,DefaultDepth(dpy,scr),InputOutput,CopyFromParent,0,0);
attr.backing_store = Always;
attr.event_mask = ButtonPressMask | KeyPressMask | ButtonReleaseMask
| ExposureMask | MotionNotify;
attr.background_pixel = BlackPixel(dpy,scr);
XChangeWindowAttributes(dpy,win,CWEventMask|CWBackingStore|CWBackPixel,&attr);
XSetWMHints(dpy, win, &wmhint);
XSetClassHint(dpy, win, &classhint);
XSetIconName(dpy,win,"XAtaxx: White");
XStoreName(dpy,win,"XAtaxx: White");
XSetNormalHints(dpy, win, &hints);
XMapWindow(dpy,win);
gcvalues.foreground = WhitePixel(dpy,scn);
gcvalues.background = BlackPixel(dpy,scn);
gc = XCreateGC(dpy,win,GCForeground|GCBackground,&gcvalues);
XSetFunction(dpy,gc,GXcopy);
bamp = XCreatePixmap(dpy, win, xwin, ywin, DefaultDepth(dpy,scr));
if (botmode) {
scn = DefaultScreen(odpy);
oscr = scn;
attr.background_pixel = BlackPixel(odpy,oscr);
owin = XCreateWindow(odpy,DefaultRootWindow(odpy),
100,100,xwin,ywin,
1,1,InputOutput,CopyFromParent,0,0);
XChangeWindowAttributes(odpy,owin,CWEventMask|CWBackingStore|CWBackPixel,&attr);
XSetWMHints(odpy, owin, &wmhint);
XSetClassHint(odpy, owin, &classhint);
XSetIconName(odpy,owin,"XAtaxx: Black");
XStoreName(odpy,owin,"XAtaxx: Black");
XSetNormalHints(odpy, owin, &hints);
XMapWindow(odpy,owin);
gcvalues.foreground = WhitePixel(odpy,scn);
gcvalues.background = BlackPixel(odpy,scn);
ogc = XCreateGC(odpy,owin,GCForeground,&gcvalues);
XSetFunction(odpy,ogc,GXcopy);
obamp = XCreatePixmap(odpy, owin, xwin, ywin, DefaultDepth(dpy,scr));
}
#ifdef DEBUG
printf("Opt window dealt with.\n");
#endif
XFlush(dpy);
if (botmode) {
XFlush(odpy);
}
}
wipemap(cdpy, cbamp, cgc, cscr, cwin)
Display *cdpy;
Pixmap cbamp;
int cscr;
GC cgc;
Window cwin;
{
GC ccgc;
ccgc = XCreateGC(cdpy, cwin, 0, 0);
XSetForeground(cdpy, ccgc, BlackPixel(cdpy,cscr));
XFillRectangle(cdpy, cbamp, ccgc, 0, 0, xwin, ywin);
XFlush(cdpy);
}
draw_board(board)
int *board;
{
int occ,x,y;
if (currdpy != dpy && !botmode)
return;
wipemap(currdpy, currbamp, currgc, currscr, currwin);
for (y=0;y!=ysize;y++)
for (x=0;x!=xsize;x++)
if ((occ=board[x*ysize+y])!=EMPTY) {
if (occ==WHITE)
draw_circle(x,y,WHITE);
else {
if (occ==BLACK)
draw_circle(x,y,BLACK);
else
draw_obstacle(x,y);
}
}
show_scores(currdpy, currbamp, currgc, oldw, oldb);
XFlush(currdpy);
}
show_scores(sdpy, swin, sgc, ws, bs)
Display *sdpy;
Window swin;
GC sgc;
int ws, bs;
{
char mess[100];
sprintf(mess,"White: %d",ws);
XDrawString(sdpy,swin,sgc,5,ysize*Y_PIECE_SIZE+20,mess,strlen(mess));
sprintf(mess,"Black: %d",bs);
XDrawString(sdpy,swin,sgc,xsize*X_PIECE_SIZE-55,ysize*Y_PIECE_SIZE+20,mess,strlen(mess));
XFlush(sdpy);
}
popupbutton(button, x, y)
unsigned int button;
int *x, *y;
{
XEvent evt;
Bool qqx = True;
if (currdpy == dpy)
XDefineCursor(dpy,win,downc);
else
XDefineCursor(odpy,owin,odownc);
while(qqx) {
while(!XCheckTypedWindowEvent(currdpy, currwin, (ButtonPress|ButtonRelease), &evt));
if (evt.type == ButtonRelease)
if(evt.xbutton.button == button)
qqx = False;
}
*x = evt.xbutton.x;
*y = evt.xbutton.y;
if (currdpy == dpy)
XDefineCursor(dpy,win,upc);
else
XDefineCursor(odpy,owin,oupc);
}
#define SELWID 5
piece_sel(x, y, display, win, cgc)
int x,y;
Display *display;
Window *win;
GC cgc;
{
int qx1, qx2, qy1, qy2;
int qq;
GC pgc;
XGCValues gcvalues;
gcvalues.function = GXcopy; /*GXinvert*/
pgc = XCreateGC(display,win,GCFunction,&gcvalues);
XCopyGC(display,cgc,GCForeground|GCBackground,pgc);
qx1 = x*X_PIECE_SIZE;
qy1 = y*Y_PIECE_SIZE;
qx2 = qx1 + X_PIECE_SIZE;
qy2 = qy1 + Y_PIECE_SIZE;
XDrawLine(display, win, pgc, qx1, qy1, qx1+SELWID, qy1);
XDrawLine(display, win, pgc, qx1, qy1, qx1, qy1+SELWID);
XDrawLine(display, win, pgc, qx2, qy1, qx2, qy1+SELWID);
XDrawLine(display, win, pgc, qx1, qy2, qx1+SELWID, qy2);
XDrawLine(display, win, pgc, qx1, qy2, qx1, qy2-SELWID);
XDrawLine(display, win, pgc, qx2, qy1, qx2-SELWID, qy1);
XDrawLine(display, win, pgc, qx2, qy2, qx2, qy2-SELWID);
XDrawLine(display, win, pgc, qx2, qy2, qx2-SELWID, qy2);
XFlush(display);
}
inboard(bx, by) /* true if x,y is in the board */
int bx, by;
{
if (bx >= return_x_size() || by >= return_y_size())
return(0);
else
return(1);
}
play_loop()
{
XEvent event;
int currx,curry,cx1,cy1,cx2,cy2,cx3,cy3,down=0,readfds,white,black,x,y;
char mess[100],c;
curr_player = WHITE;
srandom(time(NULL));
x = return_x_size();
y = return_y_size();
place_piece(0,0,WHITE);
place_piece(x-1,y-1,WHITE);
place_piece(0,y-1,BLACK);
place_piece(x-1,0,BLACK);
obstacle_color = curr_player;
XNextEvent(dpy,&event);
redraw_all(curr_player);
if (botmode) {
XNextEvent(odpy,&event);
redraw_all(curr_player);
}
while (1) {
while(!end_game()) {
select_player(curr_player);
if (!down) {
cx1= -1; cy1= -1; cx2= -1; cy2= -1;
}
XNextEvent(currdpy,&event);
switch(event.type) {
case ButtonPress:
currx = event.xbutton.x/X_PIECE_SIZE;
curry = event.xbutton.y/Y_PIECE_SIZE;
if (event.xbutton.button == 1)
popupbutton(event.xbutton.button, &cx3, &cy3);
else
break;
cx3 = cx3/X_PIECE_SIZE;
cy3 = cy3/Y_PIECE_SIZE;
if (cx3 == currx && cy3 == curry && inboard(cx3,cy3)) {
if (cx1 >= 0) {
if(!b_peek(cx3, cy3)) {
cx2 = cx3;
cy2 = cy3;
if(!move_piece(cx1,cy1,cx2,cy2,curr_player)) {
if (botmode) {
curr_player = (curr_player==WHITE) ? BLACK : WHITE;
if (!valid_move(curr_player))
curr_player = (curr_player==WHITE) ? BLACK : WHITE;
}
else {
if (valid_move(BLACK))
obstacle_color = BLACK;
redraw_all(WHITE);
redraw_win(currdpy, currwin, currbamp, currgc);
if (valid_move(BLACK) && botlevel < 2)
msec_wait(557567);
robot_move(BLACK);
flumping = False;
while(!valid_move(WHITE)&&valid_move(BLACK)) {
redraw_all(WHITE);
orobot_move(BLACK);
}
flumping = True;
}
} /* matches if(!move_piece(cx1,cy1,cx2,cy2,curr_player)) */
obstacle_color = curr_player;
down = 0;
redraw_all(curr_player);
}
else {
if (b_peek(cx3,cy3) == curr_player && inboard(cx3,cy3)) {
if(cx3 == cx1 && cy3 == cy1) {
redraw_all(curr_player);
cx1 = -1; cy1 = -1;
down=0;
}
else {
if (inboard(cx3,cy3)) {
piece_sel(cx1,cy1, currdpy, currwin, currgc);
cx1 = cx3; cy1 = cy3;
redraw_all(curr_player);
piece_sel(cx1,cy1, currdpy, currwin, currgc);
}
}
}
}
} /* matches if (cx1 >= 0) */
else {
if(b_peek(currx, curry) == curr_player) {
cx1 = cx3;
cy1 = cy3;
piece_sel(cx1,cy1, currdpy, currwin, currgc);
down = 1;
}
}
}
flumping = False;
while((!count_board(BLACK)) && valid_move(WHITE)) {
orobot_move(WHITE);
redraw_all(WHITE);
}
while((!count_board(WHITE)) && valid_move(BLACK)) {
orobot_move(BLACK);
redraw_all(BLACK);
}
flumping = True;
break;
case Expose:
redraw_win(currdpy, currwin, currbamp, currgc);
break;
case KeyPress:
XLookupString(&event, &c, 1, NULL, NULL);
if (c == 'q')
quit();
break;
default:
break;
} /* matches switch(event.type) { */
} /* matches while(!end_game()) { */
white = count_board(WHITE);
black = count_board(BLACK);
oldw = white;
oldb = black;
if (white > black)
sprintf(mess,"White is the winner.");
else {
if (black > white)
sprintf(mess,"Black is the winner.");
else
sprintf(mess,"The game is a tie.");
}
select_player(WHITE);
XDrawString(currdpy,currwin,currgc,5,ysize*Y_PIECE_SIZE+35,mess,strlen(mess));
XFlush(currdpy);
if (botmode) {
select_player(BLACK);
XDrawString(currdpy,currwin,currgc,5,ysize*Y_PIECE_SIZE+35,mess,strlen(mess));
XFlush(currdpy);
}
XNextEvent(dpy,&event);
return;
}
}
init_pieces()
{
int curr_player=WHITE,x,y;
/* Place initial pieces */
x = return_x_size();
y = return_y_size();
clean_board();
place_piece(0,0,WHITE);
place_piece(x-1,y-1,WHITE);
place_piece(0,y-1,BLACK);
place_piece(x-1,0,BLACK);
curr_player = WHITE;
obstacle_color = curr_player;
redraw_all(curr_player);
}
redraw_all(curr_player)
{
select_player(WHITE);
oldw = count_board(WHITE);
oldb = count_board(BLACK);
draw_board(return_board());
redraw_win(currdpy, currwin, currbamp, currgc);
if (botmode) {
select_player(BLACK);
draw_board(return_board());
redraw_win(currdpy, currwin, currbamp, currgc);
}
select_player(curr_player);
}
select_player(curr_player)
int curr_player;
{
if (curr_player==WHITE) {
currdpy = dpy;
currwin = win;
currgc = gc;
currbamp = bamp;
currscr = scr;
}
else {
currdpy = odpy;
currwin = owin;
currgc = ogc;
currbamp = obamp;
currscr = oscr;
}
}
xataxx/input.format 100600 1750 1 111 5010725660 13122 0 ustar iialan bin Xsize, Ysize
Xobstruct, Yobstruct (Positions of obstructions)
......
xataxx/lib/ 40711 1750 1 0 5351354060 11251 5 ustar iialan bin xataxx/lib/1.xbd 100600 1750 1 66 5010720136 12140 0 ustar iialan bin 7 7
3 0
3 1
3 2
0 3
1 3
2 3
4 3
5 3
6 3
3 4
3 5
3 6
xataxx/lib/10.xbd 100600 1750 1 56 5010720140 12212 0 ustar iialan bin 7 7
2 0
4 0
2 2
4 2
1 3
5 3
2 4
4 4
2 6
4 6
xataxx/lib/11.xbd 100600 1750 1 52 5010720140 12207 0 ustar iialan bin 7 7
3 1
3 2
1 3
2 3
3 3
4 3
5 3
3 4
3 5
xataxx/lib/12.xbd 100600 1750 1 106 5010720140 12230 0 ustar iialan bin 7 7
1 1
2 1
3 1
4 1
5 1
1 2
5 2
1 3
5 3
1 4
5 4
1 5
2 5
3 5
4 5
5 5
xataxx/lib/13.xbd 100600 1750 1 66 5010720142 12220 0 ustar iialan bin 7 7
2 1
3 1
4 1
1 2
5 2
1 3
5 3
1 4
5 4
2 5
3 5
4 5
xataxx/lib/14.xbd 100600 1750 1 66 5010720142 12221 0 ustar iialan bin 7 7
2 1
4 1
1 2
2 2
4 2
5 2
1 4
2 4
4 4
5 4
2 5
4 5
xataxx/lib/15.xbd 100600 1750 1 26 5010720142 12216 0 ustar iialan bin 7 7
1 1
5 5
1 5
5 1
xataxx/lib/16.xbd 100600 1750 1 66 5010720142 12223 0 ustar iialan bin 7 7
1 1
2 1
4 1
5 1
1 2
5 2
1 4
5 4
1 5
2 5
4 5
5 5
xataxx/lib/17.xbd 100600 1750 1 32 5010720142 12215 0 ustar iialan bin 7 7
3 2
2 3
3 3
4 3
3 4
xataxx/lib/18.xbd 100600 1750 1 26 5010720142 12221 0 ustar iialan bin 7 7
3 2
2 3
4 3
3 4
xataxx/lib/19.xbd 100600 1750 1 46 5010720142 12224 0 ustar iialan bin 7 7
3 1
3 2
1 3
2 3
4 3
5 3
3 4
3 5
xataxx/lib/2.xbd 100600 1750 1 76 5010720142 12137 0 ustar iialan bin 7 7
3 0
1 2
2 2
4 2
5 2
0 3
1 3
5 3
6 3
1 4
2 4
4 4
5 4
3 6
xataxx/lib/20.xbd 100600 1750 1 106 5010720142 12231 0 ustar iialan bin 7 7
2 0
3 0
4 0
3 1
0 2
6 2
0 3
1 3
5 3
6 3
0 4
6 4
3 5
2 6
3 6
4 6
xataxx/lib/21.xbd 100600 1750 1 66 5010720142 12217 0 ustar iialan bin 7 7
2 0
4 0
3 1
0 2
6 2
1 3
5 3
0 4
6 4
3 5
2 6
4 6
xataxx/lib/22.xbd 100600 1750 1 32 5010720142 12211 0 ustar iialan bin 7 7
3 1
1 3
3 3
5 3
3 5
xataxx/lib/23.xbd 100600 1750 1 52 5010720142 12214 0 ustar iialan bin 7 7
1 1
3 1
5 1
1 3
3 3
5 3
1 5
3 5
5 5
xataxx/lib/24.xbd 100600 1750 1 5 5010720142 12173 0 ustar iialan bin 7 7
xataxx/lib/25.xbd 100600 1750 1 32 5010720144 12216 0 ustar iialan bin 7 7
2 2
4 2
3 3
2 4
4 4
xataxx/lib/26.xbd 100600 1750 1 52 5010720144 12221 0 ustar iialan bin 7 7
1 1
5 1
2 2
4 2
3 3
2 4
4 4
1 5
5 5
xataxx/lib/27.xbd 100600 1750 1 66 5010720144 12227 0 ustar iialan bin 7 7
2 0
3 0
4 0
2 1
4 1
0 3
6 3
2 5
4 5
2 6
3 6
4 6
xataxx/lib/28.xbd 100600 1750 1 146 5010720144 12247 0 ustar iialan bin 7 7
1 0
3 0
5 0
0 1
2 1
4 1
6 1
1 2
3 2
5 2
0 3
2 3
4 3
6 3
1 4
3 4
5 4
0 5
2 5
4 5
6 5
1 6
3 6
5 6
xataxx/lib/29.xbd 100600 1750 1 46 5010720144 12227 0 ustar iialan bin 7 7
1 1
5 1
2 2
4 2
2 4
4 4
1 5
5 5
xataxx/lib/3.xbd 100600 1750 1 52 5010720144 12134 0 ustar iialan bin 7 7
1 0
5 0
0 1
6 1
3 3
0 5
6 5
1 6
5 6
xataxx/lib/30.xbd 100600 1750 1 46 5010720144 12217 0 ustar iialan bin 7 7
3 0
2 1
4 1
0 3
6 3
2 5
4 5
3 6
xataxx/lib/31.xbd 100600 1750 1 26 5010720144 12216 0 ustar iialan bin 7 7
3 0
0 3
6 3
3 6
xataxx/lib/32.xbd 100600 1750 1 26 5010720144 12217 0 ustar iialan bin 7 7
3 1
1 3
5 3
3 5
xataxx/lib/33.xbd 100600 1750 1 116 5010720146 12242 0 ustar iialan bin 7 7
2 0
3 0
4 0
0 2
1 2
3 2
5 2
6 2
0 3
6 3
0 4
1 4
3 4
5 4
6 4
2 6
3 6
4 6
xataxx/lib/34.xbd 100600 1750 1 102 5010720146 12236 0 ustar iialan bin 7 7
2 1
4 1
0 2
1 2
3 2
5 2
6 2
3 3
0 4
1 4
3 4
5 4
6 4
2 5
4 5
xataxx/lib/35.xbd 100600 1750 1 102 5010720146 12237 0 ustar iialan bin 7 7
2 0
4 0
2 1
4 1
0 2
6 2
0 3
3 3
6 3
0 4
6 4
2 5
4 5
2 6
4 6
xataxx/lib/4.xbd 100600 1750 1 56 5010720146 12143 0 ustar iialan bin 7 7
2 0
4 0
2 1
4 1
0 3
6 3
2 5
4 5
2 6
4 6
xataxx/lib/5.xbd 100600 1750 1 46 5010720146 12143 0 ustar iialan bin 7 7
3 0
3 1
0 3
1 3
5 3
6 3
3 5
3 6
xataxx/lib/6.xbd 100600 1750 1 46 5010720146 12144 0 ustar iialan bin 7 7
3 1
2 2
4 2
1 3
5 3
2 4
4 4
3 5
xataxx/lib/7.xbd 100600 1750 1 46 5010720146 12145 0 ustar iialan bin 7 7
2 0
4 0
0 2
6 2
0 4
6 4
2 6
4 6
xataxx/lib/8.xbd 100600 1750 1 66 5010720150 12143 0 ustar iialan bin 7 7
3 0
2 1
4 1
1 2
5 2
0 3
6 3
1 4
5 4
2 5
4 5
3 6
xataxx/lib/9.xbd 100600 1750 1 46 5010720150 12142 0 ustar iialan bin 7 7
2 1
4 1
1 2
5 2
1 4
5 4
2 5
4 5
xataxx/lib/boards.num 100600 1750 1 4 5010720150 13240 0 ustar iialan bin 35
xataxx/lib/clearstone.xbm 100600 1750 1 1556 5010720150 14211 0 ustar iialan bin #define stone_width 32
#define stone_height 32
static char stone_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0x0e, 0x38, 0x00,
0x80, 0x31, 0xc0, 0x00, 0x40, 0x48, 0x00, 0x01, 0x20, 0x49, 0x00, 0x02,
0x90, 0x32, 0x00, 0x04, 0x48, 0x04, 0x00, 0x08, 0x24, 0x02, 0x00, 0x10,
0x14, 0x01, 0x00, 0x10, 0x92, 0x00, 0x00, 0x20, 0x8a, 0x00, 0x00, 0x20,
0x72, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x40,
0x01, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x40,
0x01, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x20,
0x02, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x10,
0x04, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x04,
0x20, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x80, 0x01, 0xc0, 0x00,
0x00, 0x0e, 0x38, 0x00, 0x00, 0xf0, 0x07, 0x00};
xataxx/lib/dkblock.xbm 100600 1750 1 1564 5010720150 13462 0 ustar iialan bin #define ltblock_width 32
#define ltblock_height 32
static char ltblock_bits[] = {
0x55, 0x55, 0x55, 0x55, 0xfe, 0xff, 0xff, 0xbf, 0x57, 0x55, 0x55, 0x15,
0xaa, 0xaa, 0xaa, 0xaa, 0x57, 0x55, 0x55, 0x15, 0xaa, 0xaa, 0xaa, 0xaa,
0x17, 0x00, 0x00, 0x14, 0xaa, 0xaa, 0xaa, 0xaa, 0x17, 0x55, 0x55, 0x17,
0xaa, 0xaa, 0xaa, 0xaa, 0x17, 0x55, 0x55, 0x17, 0xaa, 0xfa, 0xaf, 0xaa,
0x17, 0x0d, 0x40, 0x17, 0xaa, 0xea, 0xa7, 0xaa, 0x17, 0xed, 0x47, 0x17,
0xaa, 0xea, 0xa7, 0xaa, 0x17, 0xed, 0x47, 0x17, 0xaa, 0xea, 0xa7, 0xaa,
0x17, 0xed, 0x47, 0x17, 0xaa, 0x0a, 0xa0, 0xaa, 0x17, 0x05, 0x40, 0x17,
0xaa, 0xaa, 0xaa, 0xaa, 0x17, 0x55, 0x55, 0x17, 0xaa, 0xaa, 0xaa, 0xaa,
0x17, 0x55, 0x55, 0x17, 0xaa, 0xff, 0xff, 0xab, 0x57, 0x55, 0x55, 0x15,
0xaa, 0xaa, 0xaa, 0xaa, 0x57, 0x55, 0x55, 0x15, 0xaa, 0xaa, 0xaa, 0xaa,
0x01, 0x00, 0x00, 0x00, 0xaa, 0xaa, 0xaa, 0xaa};
xataxx/lib/dksmiley.xbm 100600 1750 1 1653 5010720150 13671 0 ustar iialan bin #define dksmiley_width 32
#define dksmiley_height 32
#define dksmiley_x_hot -1
#define dksmiley_y_hot -1
static char dksmiley_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0x1f,
0x04, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x10,
0x04, 0x00, 0x00, 0x10, 0x04, 0x02, 0x20, 0x10, 0x04, 0x02, 0x20, 0x10,
0x04, 0x02, 0x20, 0x10, 0x04, 0x02, 0x20, 0x10, 0x04, 0x00, 0x00, 0x10,
0x04, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x10,
0x04, 0x80, 0x00, 0x10, 0x04, 0x80, 0x00, 0x10, 0x04, 0x00, 0x00, 0x10,
0x04, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x10, 0x04, 0xf8, 0x0f, 0x10,
0x04, 0x0c, 0x18, 0x10, 0x04, 0x06, 0x30, 0x10, 0x04, 0x03, 0x60, 0x10,
0x04, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x10,
0x04, 0x00, 0x00, 0x10, 0xfc, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
xataxx/lib/dkstone.xbm 100600 1750 1 1564 5010720150 13520 0 ustar iialan bin #define dkstone_width 32
#define dkstone_height 32
static char dkstone_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x05, 0x00, 0x00, 0xaa, 0x1a, 0x00,
0x00, 0x55, 0x65, 0x00, 0x80, 0x2a, 0x88, 0x01, 0x40, 0x95, 0x22, 0x02,
0xa0, 0x02, 0x88, 0x04, 0x50, 0xa5, 0x22, 0x0a, 0xa8, 0x08, 0x88, 0x08,
0x54, 0xa2, 0x22, 0x12, 0xa8, 0x08, 0x88, 0x20, 0x16, 0xa2, 0x22, 0x2a,
0xaa, 0x08, 0x88, 0x40, 0x14, 0xa2, 0x22, 0x0a, 0x8a, 0x08, 0x88, 0x40,
0x25, 0xa2, 0x22, 0x0a, 0x8a, 0x08, 0x88, 0x40, 0x25, 0xa2, 0x22, 0x02,
0x8a, 0x08, 0x88, 0x40, 0x25, 0xa2, 0x22, 0x02, 0x8a, 0x08, 0x88, 0x40,
0x22, 0xa2, 0x22, 0x00, 0x8a, 0x08, 0x88, 0x20, 0x24, 0xa2, 0x22, 0x00,
0x88, 0x08, 0x08, 0x10, 0x28, 0xa2, 0x02, 0x00, 0x90, 0x08, 0x00, 0x04,
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x40, 0x00,
0x00, 0x02, 0x00, 0x00, 0x00, 0x54, 0x15, 0x00};
xataxx/lib/downcursor.xbm 100600 1750 1 517 5010720150 14233 0 ustar iialan bin #define downcursor_width 15
#define downcursor_height 15
#define downcursor_x_hot 7
#define downcursor_y_hot 7
static char downcursor_bits[] = {
0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0xa0, 0x02,
0xc0, 0x01, 0xfe, 0x3f, 0xc0, 0x01, 0xa0, 0x02, 0x80, 0x00, 0x80, 0x00,
0x80, 0x00, 0x80, 0x00, 0x00, 0x00};
xataxx/lib/downmask.xbm 100600 1750 1 505 5010720150 13646 0 ustar iialan bin #define downmask_width 15
#define downmask_height 15
#define downmask_x_hot 7
#define downmask_y_hot 7
static char downmask_bits[] = {
0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xf0, 0x07, 0xf0, 0x07,
0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xf0, 0x07, 0xf0, 0x07, 0xc0, 0x01,
0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01};
xataxx/lib/ltblock.xbm 100600 1750 1 1564 5010720152 13505 0 ustar iialan bin #define dkblock_width 32
#define dkblock_height 32
static char dkblock_bits[] = {
0x55, 0x55, 0x55, 0x55, 0xfe, 0xff, 0xff, 0xbf, 0x57, 0x55, 0x55, 0x15,
0xaa, 0xaa, 0xaa, 0xaa, 0x57, 0x55, 0x55, 0x15, 0xaa, 0xaa, 0xaa, 0xaa,
0x17, 0x00, 0x00, 0x14, 0xaa, 0xaa, 0xaa, 0xaa, 0x17, 0x55, 0x55, 0x17,
0xaa, 0xaa, 0xaa, 0xaa, 0x17, 0x55, 0x55, 0x17, 0xaa, 0xaa, 0xaa, 0xaa,
0x17, 0xf5, 0x4f, 0x17, 0xaa, 0x1a, 0xa8, 0xaa, 0x17, 0x15, 0x48, 0x17,
0xaa, 0x1a, 0xa8, 0xaa, 0x17, 0x15, 0x48, 0x17, 0xaa, 0x1a, 0xa8, 0xaa,
0x17, 0x15, 0x48, 0x17, 0xaa, 0xfa, 0xaf, 0xaa, 0x17, 0x05, 0x40, 0x17,
0xaa, 0xaa, 0xaa, 0xaa, 0x17, 0x55, 0x55, 0x17, 0xaa, 0xaa, 0xaa, 0xaa,
0x17, 0x55, 0x55, 0x17, 0xaa, 0xff, 0xff, 0xab, 0x57, 0x55, 0x55, 0x15,
0xaa, 0xaa, 0xaa, 0xaa, 0x57, 0x55, 0x55, 0x15, 0xaa, 0xaa, 0xaa, 0xaa,
0x01, 0x00, 0x00, 0x00, 0xaa, 0xaa, 0xaa, 0xaa};
xataxx/lib/ltsmiley.xbm 100600 1750 1 1564 5010720152 13715 0 ustar iialan bin #define ltstone_width 32
#define ltstone_height 32
static char ltstone_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xfc, 0x1f, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x80, 0xff, 0xff, 0x00,
0xc0, 0xff, 0xff, 0x01, 0xe0, 0xfd, 0xdf, 0x03, 0xf0, 0xfd, 0xdf, 0x07,
0xf0, 0xfd, 0xdf, 0x07, 0xf8, 0xfd, 0xdf, 0x0f, 0xf8, 0xff, 0xff, 0x0f,
0xf8, 0xff, 0xff, 0x0f, 0xf8, 0xff, 0xff, 0x0f, 0xf8, 0xff, 0xff, 0x0f,
0xf8, 0x7f, 0xff, 0x0f, 0xf8, 0x7f, 0xff, 0x0f, 0xf8, 0xff, 0xff, 0x0f,
0xf8, 0xff, 0xff, 0x0f, 0xf8, 0xff, 0xff, 0x0f, 0x78, 0xfc, 0x1f, 0x0f,
0xf0, 0xfd, 0xdf, 0x07, 0xf0, 0xf9, 0xcf, 0x07, 0xe0, 0x07, 0xf0, 0x03,
0xc0, 0xff, 0xff, 0x01, 0x80, 0xff, 0xff, 0x00, 0x00, 0xff, 0x7f, 0x00,
0x00, 0xfc, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
xataxx/lib/ltstone.xbm 100600 1750 1 1564 5010720152 13543 0 ustar iialan bin #define ltstone_width 32
#define ltstone_height 32
static char ltstone_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x00,
0x00, 0xfe, 0x1d, 0x00, 0x80, 0xff, 0x77, 0x00, 0xc0, 0x5f, 0xdd, 0x01,
0xe0, 0xf7, 0x77, 0x03, 0xf0, 0x5d, 0xdd, 0x05, 0xf8, 0xf7, 0x77, 0x07,
0xf8, 0x5d, 0xdd, 0x0d, 0x7c, 0xf7, 0x77, 0x17, 0xfc, 0x5d, 0xdd, 0x1d,
0x7c, 0xf7, 0x77, 0x0f, 0xdc, 0x5d, 0xdd, 0x15, 0x7e, 0xf7, 0x77, 0x2f,
0xde, 0x5d, 0xdd, 0x15, 0x76, 0xf7, 0x77, 0x2f, 0xde, 0x5d, 0xdd, 0x15,
0x76, 0xf7, 0x77, 0x2b, 0xde, 0x5d, 0xdd, 0x15, 0x74, 0xf7, 0x77, 0x0b,
0xdc, 0x5d, 0xdd, 0x15, 0x74, 0xf7, 0xf7, 0x0a, 0xd8, 0x5d, 0x5d, 0x05,
0x70, 0xf7, 0xaf, 0x0a, 0xd0, 0x5d, 0x55, 0x05, 0x60, 0xf7, 0xab, 0x02,
0xc0, 0x5d, 0x55, 0x01, 0x00, 0xab, 0xaa, 0x00, 0x00, 0x54, 0x15, 0x00,
0x00, 0xa0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00};
xataxx/lib/scowlcurs.xbm 100600 1750 1 512 5010720152 14047 0 ustar iialan bin #define scowlcurs_width 15
#define scowlcurs_height 15
#define scowlcurs_x_hot 7
#define scowlcurs_y_hot 7
static char scowlcurs_bits[] = {
0x00, 0x00, 0xfe, 0x3f, 0x02, 0x20, 0x02, 0x20, 0x22, 0x22, 0x72, 0x27,
0x22, 0x22, 0x02, 0x20, 0xc2, 0x21, 0x22, 0x22, 0x12, 0x24, 0x02, 0x20,
0x02, 0x20, 0xfe, 0x3f, 0x00, 0x00};
xataxx/lib/scowlcursmask. 100600 1750 1 454 5010720152 14221 0 ustar iialan bin #define new_width 15
#define new_height 15
#define new_x_hot 7
#define new_y_hot 7
static char new_bits[] = {
0x00, 0x80, 0xfe, 0xbf, 0xfe, 0xbf, 0xfe, 0xbf, 0xfe, 0xbf, 0xfe, 0xbf,
0xfe, 0xbf, 0xfe, 0xbf, 0xfe, 0xbf, 0xfe, 0xbf, 0xfe, 0xbf, 0xfe, 0xbf,
0xfe, 0xbf, 0xfe, 0xbf, 0x00, 0x80};
xataxx/lib/smilecurs.xbm 100600 1750 1 512 5010720152 14031 0 ustar iialan bin #define smilecurs_width 15
#define smilecurs_height 15
#define smilecurs_x_hot 7
#define smilecurs_y_hot 7
static char smilecurs_bits[] = {
0xe0, 0x03, 0x18, 0x0c, 0x04, 0x10, 0x02, 0x20, 0x22, 0x22, 0x71, 0x47,
0x21, 0x42, 0x01, 0x40, 0x01, 0x40, 0x11, 0x44, 0x22, 0x22, 0xc2, 0x21,
0x04, 0x10, 0x18, 0x0c, 0xe0, 0x03};
xataxx/lib/smilecursmask. 100600 1750 1 536 5010720152 14204 0 ustar iialan bin #define scowlcursmask_width 15
#define scowlcursmask_height 15
#define scowlcursmask_x_hot 7
#define scowlcursmask_y_hot 7
static char scowlcursmask_bits[] = {
0xe0, 0x83, 0xf8, 0x8f, 0xfc, 0x9f, 0xfe, 0xbf, 0xfe, 0xbf, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xbf, 0xfe, 0xbf,
0xfc, 0x9f, 0xf8, 0x8f, 0xe0, 0x83};
xataxx/lib/stone.xbm 100600 1750 1 1556 5010720152 13204 0 ustar iialan bin #define stone_width 32
#define stone_height 32
static char stone_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x05, 0x00,
0x00, 0xaa, 0x1a, 0x00, 0x00, 0xd5, 0x77, 0x00, 0x80, 0x6a, 0xdd, 0x01,
0x40, 0xfd, 0x77, 0x03, 0xa0, 0x5a, 0xdd, 0x05, 0x50, 0xf7, 0x77, 0x07,
0xa8, 0x5d, 0xdd, 0x0d, 0x54, 0xf7, 0x77, 0x1f, 0xe8, 0x5d, 0xdd, 0x15,
0x54, 0xf7, 0x77, 0x3f, 0xea, 0x5d, 0xdd, 0x35, 0x74, 0xf7, 0x77, 0x3f,
0xda, 0x5d, 0xdd, 0x35, 0x74, 0xf7, 0x77, 0x3f, 0xda, 0x5d, 0xdd, 0x3d,
0x74, 0xf7, 0x77, 0x3f, 0xda, 0x5d, 0xdd, 0x3d, 0x74, 0xf7, 0x77, 0x3f,
0xdc, 0x5d, 0xdd, 0x1f, 0x74, 0xf7, 0x77, 0x1f, 0xd8, 0x5d, 0xdd, 0x0f,
0x70, 0xf7, 0xf7, 0x0f, 0xd0, 0x5d, 0xfd, 0x07, 0x60, 0xf7, 0xff, 0x03,
0xc0, 0xff, 0xff, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0xfe, 0x3f, 0x00,
0x00, 0xf8, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00};
xataxx/lib/stonemask.xbm 100600 1750 1 1660 5010720152 14054 0 ustar iialan bin #define stonemask_width 32
#define stonemask_height 32
#define stonemask_x_hot -1
#define stonemask_y_hot -1
static char stonemask_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x0f, 0x00, 0x00, 0xff, 0x3f, 0x00,
0x80, 0xff, 0xff, 0x00, 0xc0, 0xff, 0xff, 0x03, 0xe0, 0xff, 0xff, 0x07,
0xf0, 0xff, 0xff, 0x0f, 0xf8, 0xff, 0xff, 0x0f, 0xfc, 0xff, 0xff, 0x1f,
0xfe, 0xff, 0xff, 0x3f, 0xfe, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xfe, 0xff, 0xff, 0x3f, 0xfe, 0xff, 0xff, 0x3f,
0xfc, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x0f,
0xf0, 0xff, 0xff, 0x07, 0xe0, 0xff, 0xff, 0x03, 0x80, 0xff, 0xff, 0x01,
0x00, 0xff, 0x7f, 0x00, 0x00, 0xfc, 0x1f, 0x00};
xataxx/lib/title.xbm 100600 1750 1 114636 5010720154 13243 0 ustar iialan bin #define title_width 224
#define title_height 224
#define title_x_hot -1
#define title_y_hot -1
static char title_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe,
0x07, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xfc, 0x0f, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0x70,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8,
0x1f, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xf0, 0x3f, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x7f, 0x00, 0x00, 0x1c,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
0xff, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xc0, 0xff, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x01, 0x00, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0x03, 0x80, 0x03, 0x00, 0xf0, 0x07, 0xc0, 0xff, 0xff, 0x01, 0xf0,
0x07, 0xc0, 0x07, 0xc0, 0x07, 0x1f, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xfe, 0x07, 0xc0, 0x01, 0x00, 0x08, 0x0c, 0x40,
0x00, 0x80, 0x01, 0x08, 0x0c, 0x40, 0x06, 0x40, 0x06, 0x19, 0x00, 0x19,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x07, 0xc0, 0x01,
0x00, 0xe4, 0x1f, 0x40, 0xff, 0xff, 0x01, 0xe4, 0x1f, 0x80, 0x0e, 0xa0,
0x03, 0x3a, 0x80, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xfc, 0x0f, 0xe0, 0x00, 0x00, 0xf4, 0x1f, 0xc0, 0xff, 0xff, 0x01, 0xf4,
0x1f, 0x80, 0x0e, 0xa0, 0x03, 0x3a, 0x80, 0x0e, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x70, 0x00, 0x00, 0xf2, 0x3f, 0xc0,
0xff, 0xff, 0x01, 0xf2, 0x3f, 0x00, 0x1d, 0xd0, 0x01, 0x74, 0x40, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x38, 0x00,
0x00, 0x3a, 0x3a, 0x00, 0xa0, 0x03, 0x00, 0x3a, 0x3a, 0x00, 0x1d, 0xd0,
0x01, 0x74, 0x40, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0x7f, 0x38, 0x00, 0x00, 0x39, 0x7a, 0x00, 0xa0, 0x03, 0x00, 0x39,
0x7a, 0x00, 0x3a, 0xe8, 0x00, 0xe8, 0xa0, 0x03, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xe0, 0x3f, 0x1c, 0x00, 0x00, 0x1d, 0x74, 0x00,
0xa0, 0x03, 0x00, 0x1d, 0x74, 0x00, 0x3a, 0xe8, 0x00, 0xe8, 0xa0, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x1f, 0x0e, 0x00,
0x80, 0x1c, 0xf4, 0x00, 0xa0, 0x03, 0x80, 0x1c, 0xf4, 0x00, 0x74, 0x74,
0x00, 0xd0, 0xd1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x1f, 0x07, 0x00, 0x80, 0x0e, 0xe8, 0x00, 0xa0, 0x03, 0x80, 0x0e,
0xe8, 0x00, 0x74, 0x74, 0x00, 0xd0, 0xd1, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0x0f, 0x03, 0x00, 0x40, 0x0e, 0xe8, 0x01,
0xa0, 0x03, 0x40, 0x0e, 0xe8, 0x01, 0xe8, 0x3a, 0x00, 0xa0, 0xeb, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x03, 0x00,
0x40, 0x07, 0xd0, 0x01, 0xa0, 0x03, 0x40, 0x07, 0xd0, 0x01, 0xe8, 0x3b,
0x00, 0xa0, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0xc3, 0x07, 0x00, 0x40, 0x07, 0xd0, 0x01, 0xa0, 0x03, 0x40, 0x07,
0xd0, 0x01, 0xd0, 0x1d, 0x00, 0x40, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0xe3, 0x0f, 0x00, 0x40, 0xff, 0xdf, 0x01,
0xa0, 0x03, 0x40, 0xff, 0xdf, 0x01, 0xd0, 0x1f, 0x00, 0x40, 0x7f, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe1, 0x0f, 0x00,
0x40, 0x07, 0xc0, 0x01, 0xa0, 0x03, 0x40, 0x07, 0xc0, 0x01, 0xa0, 0x0f,
0x00, 0x80, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe0, 0xf0, 0x1f, 0x00, 0x40, 0xff, 0xff, 0x01, 0xa0, 0x03, 0x40, 0xff,
0xff, 0x01, 0xa0, 0x0f, 0x00, 0x80, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x70, 0xf8, 0x3f, 0x00, 0x40, 0xff, 0xff, 0x01,
0xa0, 0x03, 0x40, 0xff, 0xff, 0x01, 0xa0, 0x0f, 0x00, 0x80, 0x3e, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xe0, 0x7f, 0x00,
0x40, 0xff, 0xff, 0x01, 0xa0, 0x03, 0x40, 0xff, 0xff, 0x01, 0xa0, 0x0f,
0x00, 0x80, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x38, 0xe0, 0x7f, 0x00, 0x40, 0x07, 0xd0, 0x01, 0xa0, 0x03, 0x40, 0x07,
0xd0, 0x01, 0xd0, 0x1f, 0x00, 0x40, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x1c, 0xc0, 0xff, 0x00, 0x40, 0x07, 0xd0, 0x01,
0xa0, 0x03, 0x40, 0x07, 0xd0, 0x01, 0xd0, 0x1d, 0x00, 0x40, 0x77, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x80, 0xff, 0x01,
0x40, 0x07, 0xd0, 0x01, 0xa0, 0x03, 0x40, 0x07, 0xd0, 0x01, 0xe8, 0x3b,
0x00, 0xa0, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0e, 0x00, 0xff, 0x03, 0x40, 0x07, 0xd0, 0x01, 0xa0, 0x03, 0x40, 0x07,
0xd0, 0x01, 0xe8, 0x3a, 0x00, 0xa0, 0xeb, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0xff, 0x03, 0x40, 0x07, 0xd0, 0x01,
0xa0, 0x03, 0x40, 0x07, 0xd0, 0x01, 0x74, 0x74, 0x00, 0xd0, 0xd1, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0xfe, 0x07,
0x40, 0x07, 0xd0, 0x01, 0xa0, 0x03, 0x40, 0x07, 0xd0, 0x01, 0x74, 0x74,
0x00, 0xd0, 0xd1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
0x01, 0x00, 0xfc, 0x0f, 0x40, 0x07, 0xd0, 0x01, 0xa0, 0x03, 0x40, 0x07,
0xd0, 0x01, 0x3a, 0xe8, 0x00, 0xe8, 0xa0, 0x03, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xc0, 0x01, 0x00, 0xf8, 0x1f, 0x40, 0x07, 0xd0, 0x01,
0xa0, 0x03, 0x40, 0x07, 0xd0, 0x01, 0x3a, 0xe8, 0x00, 0xe8, 0xa0, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0xf8, 0x1f,
0x40, 0x07, 0xd0, 0x01, 0xa0, 0x03, 0x40, 0x07, 0xd0, 0x01, 0x1d, 0xd0,
0x01, 0x74, 0x40, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
0x00, 0x00, 0xf0, 0x3f, 0x40, 0x07, 0xd0, 0x01, 0xa0, 0x03, 0x40, 0x07,
0xd0, 0x01, 0x1d, 0xd0, 0x01, 0x74, 0x40, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0xe0, 0x7f, 0x40, 0x07, 0xd0, 0x01,
0xa0, 0x03, 0x40, 0x07, 0xd0, 0x81, 0x0e, 0xa0, 0x03, 0x3a, 0x80, 0x0e,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0xc0, 0xff,
0x40, 0x07, 0xd0, 0x01, 0xa0, 0x03, 0x40, 0x07, 0xd0, 0x81, 0x0e, 0xa0,
0x03, 0x3a, 0x80, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c,
0x00, 0x00, 0xc0, 0xff, 0xc0, 0x07, 0xf0, 0x01, 0xe0, 0x03, 0xc0, 0x07,
0xf0, 0x41, 0x06, 0x40, 0x06, 0x19, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x80, 0xff, 0xc1, 0x07, 0xf0, 0x01,
0xe0, 0x03, 0xc0, 0x07, 0xf0, 0xc1, 0x07, 0xc0, 0x07, 0x1f, 0x00, 0x1f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0xff, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x55, 0x55,
0x55, 0x55, 0x00, 0x00, 0xf0, 0xff, 0x07, 0x00, 0x80, 0x08, 0x08, 0x00,
0x00, 0x00, 0x40, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0xfc, 0xbf, 0x1a, 0x00,
0x80, 0x48, 0x3e, 0x0a, 0x83, 0xc3, 0x43, 0x00, 0x30, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x55, 0x55, 0x55, 0x55, 0x00, 0x00,
0xfe, 0xff, 0x3f, 0x00, 0x80, 0x07, 0x08, 0x95, 0x44, 0x24, 0xc0, 0x23,
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xaa, 0xaa,
0xaa, 0x0a, 0x00, 0x00, 0xff, 0xaa, 0x6a, 0x00, 0x80, 0x48, 0x08, 0x95,
0x44, 0xc4, 0x41, 0x24, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xc0, 0x55, 0x55, 0x55, 0x55, 0x00, 0x80, 0xff, 0xff, 0xff, 0x00,
0x80, 0x48, 0x08, 0x95, 0x44, 0x04, 0x42, 0x24, 0x32, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xaa, 0xaa, 0xaa, 0x0a, 0x00, 0xc0,
0xbf, 0xaa, 0xaa, 0x01, 0x80, 0x47, 0x08, 0x11, 0xcb, 0xe3, 0xc1, 0xc3,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x05, 0x00,
0x00, 0x54, 0x00, 0xe0, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00,
0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0xaa, 0xaa, 0xaa, 0x0b, 0x00, 0xf0, 0xab, 0xaa, 0xaa, 0x06,
0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x45, 0x55, 0x55, 0x55, 0x00, 0xf0,
0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0xc0,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xaa, 0xaa,
0xaa, 0x0b, 0x00, 0xf8, 0xaa, 0xaa, 0xaa, 0x0e, 0x00, 0x06, 0x00, 0x08,
0x00, 0x07, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xc0, 0x45, 0x55, 0x55, 0x55, 0x00, 0xf8, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x09, 0x00, 0x08, 0x80, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xaa, 0xaa, 0xaa, 0x0b, 0x00, 0xf8,
0xaa, 0x3a, 0xab, 0x0a, 0x80, 0x08, 0x00, 0x08, 0x40, 0x00, 0x11, 0x00,
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x45, 0xfd,
0x53, 0x55, 0x00, 0xfc, 0xff, 0x1f, 0xfe, 0x1f, 0x80, 0x08, 0x00, 0x08,
0x40, 0x00, 0x11, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0xaa, 0x06, 0xaa, 0x0b, 0x00, 0xbc, 0xaa, 0x0a, 0xac, 0x1a,
0x80, 0x08, 0x00, 0x08, 0x40, 0x00, 0x11, 0x00, 0x08, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x45, 0x05, 0x52, 0x55, 0x00, 0xfc,
0xff, 0x0f, 0xfc, 0x1f, 0x80, 0xc4, 0x69, 0x08, 0xc0, 0x01, 0x89, 0x63,
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xaa, 0x06,
0xaa, 0x0b, 0x00, 0xac, 0x8e, 0x0f, 0xac, 0x1a, 0x80, 0x23, 0x9a, 0x08,
0x40, 0x00, 0x47, 0x94, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xc0, 0x45, 0x05, 0x52, 0x55, 0x00, 0xfc, 0x07, 0x07, 0xfc, 0x1f,
0x80, 0x24, 0x8a, 0x08, 0x40, 0x00, 0x41, 0x94, 0x08, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xaa, 0x06, 0xaa, 0x0b, 0x00, 0xac,
0x06, 0x07, 0xae, 0x1a, 0x80, 0xe8, 0x89, 0x08, 0x40, 0x00, 0xc1, 0x93,
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x45, 0x05,
0x52, 0x55, 0x00, 0xfc, 0x03, 0x07, 0xfe, 0x1d, 0x80, 0x28, 0x88, 0x08,
0x40, 0x00, 0x41, 0x90, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0xaa, 0x06, 0xaa, 0x0b, 0x00, 0xac, 0x02, 0x07, 0xab, 0x1a,
0x80, 0x28, 0x8a, 0x08, 0x46, 0x30, 0x41, 0x94, 0x08, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x45, 0xfd, 0x53, 0x55, 0x00, 0xfc,
0x83, 0x83, 0x7f, 0x1d, 0x00, 0xc7, 0x89, 0xf0, 0x86, 0x37, 0x81, 0x63,
0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xaa, 0x02,
0xa8, 0x0b, 0x00, 0xa8, 0x82, 0xc1, 0xe3, 0x0a, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xc0, 0x45, 0x55, 0x55, 0x55, 0x00, 0xf8, 0x07, 0xe0, 0xc0, 0x0d,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xaa, 0xaa, 0xaa, 0x0b, 0x00, 0xa8,
0x06, 0x00, 0x80, 0x0e, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x45, 0x55,
0x55, 0x55, 0x00, 0xf0, 0x0f, 0x00, 0x80, 0x05, 0x00, 0x01, 0x00, 0x00,
0x80, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0xaa, 0xaa, 0xaa, 0x0b, 0x00, 0xb0, 0x1a, 0x00, 0xc0, 0x06,
0x80, 0x40, 0x02, 0x20, 0x42, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe5, 0xff, 0xff, 0x55, 0x00, 0xe0,
0x3f, 0x00, 0x60, 0x03, 0x80, 0x40, 0x02, 0x20, 0x42, 0x00, 0x01, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xaa, 0xaa,
0xaa, 0x0a, 0x00, 0xc0, 0x6a, 0x00, 0xbf, 0x01, 0x80, 0x40, 0x02, 0x20,
0x42, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xc0, 0x55, 0x55, 0x55, 0x55, 0x00, 0x80, 0x7f, 0x80, 0xd5, 0x00,
0x80, 0x43, 0x92, 0x73, 0x47, 0x00, 0x47, 0x64, 0x34, 0x0e, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xaa, 0xaa, 0xaa, 0x0a, 0x00, 0x00,
0xeb, 0x80, 0x6a, 0x00, 0x80, 0x40, 0x42, 0x24, 0x42, 0x00, 0x41, 0x94,
0x4c, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x55, 0x55,
0x55, 0x55, 0x00, 0x00, 0xd6, 0x81, 0x35, 0x00, 0x80, 0x40, 0x52, 0x24,
0x42, 0x00, 0x41, 0x94, 0x44, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbc, 0x81, 0x1f, 0x00,
0x80, 0x40, 0x52, 0x24, 0x42, 0x00, 0x81, 0x92, 0x44, 0x0e, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x55, 0x55, 0x55, 0x55, 0x00, 0x00,
0xf0, 0x03, 0x07, 0x00, 0x80, 0x40, 0x52, 0x24, 0x42, 0x04, 0x81, 0x92,
0x44, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x03, 0x00, 0x80, 0x40, 0x52, 0x24,
0x42, 0x32, 0x01, 0x91, 0x44, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x02, 0x00,
0x00, 0x2f, 0x89, 0x13, 0x81, 0x31, 0x1e, 0x61, 0x45, 0x0e, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x07, 0x00, 0x00, 0x00,
0x80, 0x81, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xbf,
0x3e, 0x00, 0x00, 0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0x00, 0xfe, 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xe0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x0c, 0x2a, 0x18, 0x00,
0x00, 0x80, 0xff, 0x57, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xaf, 0xaa, 0x01, 0x00, 0x00,
0x42, 0x55, 0x20, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff,
0xff, 0x03, 0x00, 0x00, 0xa9, 0xaa, 0x4a, 0x00, 0x00, 0xe0, 0x5f, 0x55,
0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xfc, 0xaa, 0xab, 0x06, 0x00, 0x80, 0x54, 0x05, 0x80, 0x00,
0x00, 0xf0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f, 0xfc, 0x0f, 0x00, 0x40,
0xaa, 0xaa, 0x2a, 0x01, 0x00, 0xf8, 0x57, 0x55, 0x35, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0x1a,
0xb0, 0x1a, 0x00, 0x20, 0x15, 0x00, 0x00, 0x02, 0x00, 0xfc, 0xff, 0xff,
0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0xff, 0x0f, 0xe0, 0x3f, 0x00, 0x90, 0xaa, 0xaa, 0xaa, 0x04,
0x00, 0xfe, 0x81, 0x55, 0xd5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xaf, 0x0e, 0xc0, 0x2b, 0x00, 0x50,
0x05, 0x00, 0x00, 0x04, 0x00, 0x3e, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x0f,
0x00, 0x7e, 0x00, 0x88, 0xaa, 0xaa, 0xaa, 0x08, 0x00, 0x1f, 0x00, 0xfa,
0xd5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xc0, 0xaf, 0x0a, 0x00, 0xe0, 0x00, 0x48, 0x01, 0x00, 0x00, 0x08,
0x80, 0x03, 0x00, 0x9e, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x0f, 0x00, 0x00, 0x03, 0xa8,
0xaa, 0xaa, 0xaa, 0x1a, 0xe0, 0x01, 0x00, 0x07, 0x56, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xab, 0x1a,
0x00, 0x00, 0x0e, 0x46, 0x00, 0x00, 0x00, 0x70, 0x38, 0x00, 0x80, 0x03,
0xfc, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xe0, 0xff, 0x3f, 0xc0, 0x00, 0xf8, 0xa7, 0xaa, 0xaa, 0xaa, 0xc2,
0x0f, 0xe0, 0xc0, 0x03, 0x58, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xea, 0x6f, 0xb0, 0x01, 0x00, 0x50,
0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x01, 0xf8, 0x03, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x3f, 0xfc,
0xff, 0x01, 0x00, 0xa0, 0xaa, 0xaa, 0xaa, 0x02, 0x00, 0xc0, 0x7f, 0x00,
0x58, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xe0, 0x1a, 0xb0, 0xaa, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0x01, 0x00, 0xf8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1f, 0xc0, 0x7f, 0x00, 0x00, 0xa0,
0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x03, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x3a, 0x00,
0x0c, 0xe0, 0x03, 0x10, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,
0xbe, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xe0, 0x7f, 0x00, 0x00, 0xf0, 0xfe, 0xa0, 0xaa, 0xaa, 0xaa, 0xc0,
0xc1, 0x07, 0x00, 0xc0, 0x57, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x6a, 0x00, 0x00, 0xf8, 0x00, 0x07,
0x00, 0x00, 0x00, 0x30, 0x80, 0x0f, 0xf8, 0xf0, 0xaf, 0x03, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x00,
0x00, 0x5f, 0x00, 0xa4, 0xaa, 0xaa, 0x2a, 0x08, 0x00, 0x1d, 0xde, 0x5f,
0x55, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xc0, 0xaa, 0x7f, 0x00, 0x6b, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08,