~kris/9p

9hist

9b78e25a0548735f46d4528e1c676e623142b87b — David du Colombier 35 years ago 6010d1a
Plan 9 from Bell Labs 1991-09-06
M gnot/boot.c => gnot/boot.c +511 -167
@@ 2,159 2,302 @@
#include <libc.h>
#include <fcall.h>

#define DEFSYS "Nfs"

enum
{
	CtrlD	= 4,
	Cr	= 13,
};

char	*net;
char	*netdev;

Fcall	hdr;
char	buf[100];
char	*scmd;
char 	bootdevice;
int	authenticated;

char	bootline[64];
char	bootdevice;
char	bootserver[64];
int	format;
int	manual;
char	password[32];
char	username[32];
char	sys[NAMELEN];
char	buf[4*1024];

void	error(char*);
void	sendmsg(int, char*);
int format;
int manual;

/*
 *  predeclared
 */
void	bootparams(void);
void	dkconfig(void);
int	dkdial(void);
int	outin(char *, char *, int);
void	prerror(char *);
void	error(char *);
int	dkdial(char *);
void	nop(int);
void	session(int);
int	cache(int);
void	sendmsg(int, char *);
void	connect(int);
void	kill(int);
void	passwd(void);
int	authenticate(int);
void	termtype(char*);
void	userpasswd(void);
int	fileserver(void);
int	inconctl(void);
int	asyncctl(char*);
void	dkconfig(int);
void	boot(int);

/*
 * Ethernet type stations boot over ether or use dk via RS232.
 */
main(int argc, char *argv[])
{
	int fd, f, i;
	char buf[256];
	Dir dir;
	int cfd;
	int fd;


	open("#c/cons", OREAD);
	open("#c/cons", OWRITE);
	open("#c/cons", OWRITE);
	sleep(1000);

	i = create("#e/sysname", 1, 0666);
	if(i < 0)
		error("sysname");
	if(write(i, argv[0], strlen(argv[0])) != strlen(argv[0]))
		error("sysname");
	close(i);
	i = create("#e/terminal", 1, 0666);
	if(i < 0)
		error("terminal");
	if(write(i, "at&t gnot 1", strlen("at&t gnot 1")) < 0)
		error("terminal");
	close(i);

	/*
	 *  get parameters passed by boot rom to kernel
	 */
	bootparams();
	dkconfig();
	fd = dkdial();
	nop(fd);
	session(fd);
	fd = cache(fd);
	termtype("at&t gnot 1");

	/*
	 *  make a /srv/boot and a /srv/bootes
	 *  user/passwd pair if the boot rom didn't
	 *  authenticate
	 */
	print("post...");
	sprint(buf, "#s/%s", "bootes");
	f = create(buf, 1, 0666);
	if(f < 0)
		error("create");
	sprint(buf, "%d", fd);
	if(write(f, buf, strlen(buf)) != strlen(buf))
		error("write");
	close(f);
	sprint(buf, "#s/%s", "bootes");
	f = create("#s/boot", 1, 0666);
	if(f < 0)
		error("create");
	sprint(buf, "%d", fd);
	if(write(f, buf, strlen(buf)) != strlen(buf))
		error("write");
	close(f);
	if(!authenticated){
		strcpy(username, "none");
		userpasswd();
	}

	/*
	 *  mount file server root after #/ root
	 *  get the control channel for the network
	 *  device
	 */
	if(bind("/", "/", MREPL) < 0)
		error("bind");
	print("mount...");
	if(mount(fd, "/", MAFTER|MCREATE, "", "") < 0)
		error("mount");
	switch(fileserver()){
	case 'a':
		cfd = asyncctl("B19200");
		break;
	case 'A':
		cfd = asyncctl("B9600");
		break;
	case 'i':
	default:
		cfd = inconctl();
		break;
	}

	/*
	 * set the time from the access time of the root of the file server,
	 * accessible as /..
	 *  start up the datakit and connect to
	 *  file server
	 */
	print("time...");
	if(stat("/..", buf) < 0)
		error("stat");
	convM2D(buf, &dir);
	f = open("#c/time", OWRITE);
	sprint(buf, "%ld", dir.atime);
	write(f, buf, strlen(buf));
	close(f);
	
	print("success\n");
	dkconfig(cfd);
	for(;;){
		fd = dkdial(sys);
		if(fd >= 0)
			break;
		print("can't connect, retrying...\n");
		sleep(1000);
	}

	bind("#k", "/net/net", MREPL);
	bind("#k", "/net/dk", MREPL);
	/*
	 *  set up the file system connection
	 */
	boot(fd);

	/*
	 *  go to init
	 */
	if(manual)
		execl("/68020/init", "init", "-m", 0);
	else {
	else
		execl("/68020/init", "init", 0);
	}
	error("/68020/init");
}

/*
 *  open the network device, push on the needed multiplexors
 *  read arguments passed by kernel as
 *  environment variables - YECH!
 */
void
dkconfig(void)
bootparams(void)
{
	int cfd;
	int f;
	char *cp;

	switch(bootdevice){
	case 'A':
		/*
		 *  grab the rs232 line,
		 *  make it 9600 baud,
		 *  push the async protocol onto it,
		 */
		cfd = open("#t/tty0ctl", 2);
		if(cfd < 0)
			error("opening #t/tty0ctl");
		sendmsg(cfd, "B9600");
		sendmsg(cfd, "push async");
		break;
	case 'a':
	case 's':
		/*
		 *  grab the rs232 line,
		 *  make it 19200 baud,
		 *  push the async protocol onto it,
		 */
		cfd = open("#t/tty0ctl", 2);
		if(cfd < 0)
			error("opening #t/tty0ctl");
		sendmsg(cfd, "B19200");
		sendmsg(cfd, "push async");
		break;
	default:
		/*
		 *  grab the incon,
		 */
		cfd = open("#i/ctl", 2);
		if(cfd < 0)
			error("opening #i/ctl");
		break;
	format = 0;
	manual = 0;
	f = open("#e/bootline", OREAD);
	if(f >= 0){
		read(f, bootline, sizeof(bootline)-1);
		close(f);
		cp = bootline;
		while(cp = strchr(cp, ' ')){
			if(*++cp != '-')
				continue;
			while(*cp && *cp!=' ')
				switch(*cp++){
				case 'f':
					format = 1;
					break;
				case 'm':
					manual = 1;
					break;
				}
		}
	}
	f = open("#e/bootdevice", OREAD);
	if(f >= 0){
		read(f, &bootdevice, 1);
		close(f);
	}
	f = open("#e/bootserver", OREAD);
	if(f >= 0){
		read(f, sys, sizeof(sys));
		close(f);
	} else
		strcpy(sys, DEFSYS);

	/*
	 *  push the dk multiplexor onto the communications link,
	 *  and use line 1 as the signalling channel.
	 *  perhaps a stupid assumption
	 */
	if(bootdevice == 'i')
		authenticated = 1;
}

/*
 *  set flavor of terminal
 */
void
termtype(char *t)
{
	int fd;

	fd = create("#e/terminal", 1, 0666);
	if(fd < 0)
		error("terminal");
	if(write(fd, t, strlen(t)) < 0)
		error("terminal");
	close(fd);
}

/*
 *  get user and password if the
 *  boot rom didn't authenticate
 */
void
userpasswd(void)
{
	int fd;

	outin("user", username, sizeof(username));
	passwd();

	/*
	 *  set user id
	 */
	fd = open("#c/user", OWRITE|OTRUNC);
	if(fd >= 0){
		write(fd, username, strlen(username));
		close(fd);
	}
}

#define FS "(9)600 serial, (1)9200 serial, (i)incon"
/*
 *  if we've booted off the disk, figure out where to get the
 *  file service from
 */
int
fileserver(void)
{
	char reply[4];

	if(bootdevice != 's')
		return bootdevice;

	for(;;){
		strcpy(reply, "9");
		strcpy(sys, DEFSYS);
		outin(FS, reply, sizeof(reply));
		switch(reply[0]){
		case 'i':
			outin("server", sys, sizeof(sys));
			return 'i';
		case 'l':
			return 'l';
		case '1':
			outin("server", sys, sizeof(sys));
			return 'a';
		case '9':
			outin("server", sys, sizeof(sys));
			return 'A';
		}
	}
}

/*
 *  get the incon control channel
 */
int
inconctl(void)
{
	int cfd;

	cfd = open("#i/ctl", ORDWR);
	if(cfd < 0)
		error("opening #i/ctl");

	return cfd;
}

/*
 *  get the serial control channel and let the
 *  user connect to the TSM8
 */
int
asyncctl(char *baud)
{
	int cfd, dfd;
	char reply[4];

	cfd = open("#t/tty0ctl", ORDWR);
	if(cfd < 0)
		error("opening #t/tty0ctl");

	sendmsg(cfd, baud);

	dfd = open("#t/tty0", ORDWR);
	if(dfd < 0)
		error("opening #t/tty0");

	connect(dfd);
	close(dfd);
	sendmsg(cfd, "push async");
	return cfd;
}

/*
 *  configure the datakit
 */
void
dkconfig(int cfd)
{
	sendmsg(cfd, "push dkmux");
	sendmsg(cfd, "config 1 16 norestart");
	if(authenticated)
		sendmsg(cfd, "config 1 16 norestart");
	else
		sendmsg(cfd, "config 1 16 restart");

	/*
	 *  fork a process to hold the device channel open


@@ 173,81 316,145 @@ dkconfig(void)
	}
}

/*
 *  open a datakit channel and call ken, return an fd to the
 *  connection.
 */
int
dkdial(void)
dkdial(char *arg)
{
	int fd, cfd;
	int i;
	long n;

	sprint(buf, "connect %s", arg);
	n = strlen(buf);

	for(i = 0; ; i++){
		fd = open("#k/2/data", 2);
		fd = open("#k/2/data", ORDWR);
		if(fd < 0)
			error("opening #k/2/data");
		cfd = open("#k/2/ctl", 2);
		cfd = open("#k/2/ctl", ORDWR);
		if(cfd < 0)
			error("opening #k/2/ctl");
		sprint(buf, "connect %s", bootserver);
		n = strlen(buf);
		if(write(cfd, buf, n) == n)

		if(write(cfd, buf, n)==n && authenticate(fd)==0)
			break;
		if(i == 5)
			error("dialing");
		print("error dialing %s, retrying ...\n", bootserver);
			return -1;
		close(fd);
		close(cfd);
		sleep(500);
	}
	print("connected to %s\n", bootserver);
	print("connected to %s\n", arg);
	sendmsg(cfd, "init");
	close(cfd);
	return fd;
	net = "dk";
	netdev = "#k";
	return fd;	
}

void
boot(int fd)
{
	int n, f;
	char *srvname;
	Dir dir;
	char dirbuf[DIRLEN];

	srvname = strrchr(sys, '/');
	if(srvname)
		srvname++;
	else
		srvname = sys;
	nop(fd);
	session(fd);
	fd = cache(fd);

	/*
	 *  stick handles to the file system
	 *  into /srv
	 */
	print("post...");
	sprint(buf, "#s/%s", srvname);
	f = create(buf, 1, 0666);
	if(f < 0)
		error("create");
	sprint(buf, "%d", fd);
	if(write(f, buf, strlen(buf)) != strlen(buf))
		error("write");
	close(f);
	f = create("#s/boot", 1, 0666);
	if(f < 0)
		error("create");
	sprint(buf, "%d", fd);
	if(write(f, buf, strlen(buf)) != strlen(buf))
		error("write");
	close(f);

	/*
	 *  make the root a union
	 */
	print("mount...");
	if(bind("/", "/", MREPL) < 0)
		error("bind");
	if(mount(fd, "/", MAFTER|MCREATE, "", "") < 0)
		error("mount");

	/*
	 *  set the time from the access time of the root
	 *  of the file server, accessible as /..
	 */
	print("time...");
	if(stat("/..", dirbuf) < 0)
		error("stat");
	convM2D(dirbuf, &dir);
	f = open("#c/time", OWRITE);
	sprint(dirbuf, "%ld", dir.atime);
	write(f, dirbuf, strlen(dirbuf));
	close(f);

	print("success\n");

	/*
	 *  put a generic network device into the namespace
	 */
	if(netdev){
		char buf[64];
		sprint(buf, "/net/%s", net);
		bind(netdev, buf, MREPL);
		bind(netdev, "/net/net", MREPL);
	}
	if(net){
		char buf[64];
		sprint(buf, "/lib/netaddr.%s", net);
		print("binding %s onto /lib/netaddr.net\n", buf);
		bind(buf, "/lib/netaddr.net", MREPL);
	}
}

/*
 *  read arguments passed by kernel as
 *  environment variables - YECH!
 * authenticate with r70
 */
void
bootparams(void)
int
authenticate(int fd)
{
	int f;
	char *cp;
	int n;

	format = 0;
	manual = 0;
	f = open("#e/bootline", OREAD);
	if(f >= 0){
		read(f, bootline, sizeof(bootline)-1);
		close(f);
		cp = bootline;
		while(cp = strchr(cp, ' ')){
			if(*++cp != '-')
				continue;
			while(*cp && *cp!=' ')
				switch(*cp++){
				case 'f':
					format = 1;
					break;
				case 'm':
					manual = 1;
					break;
				}
	for(;;) {
		n = read(fd, buf, sizeof(buf));
		if(n != 2){
			passwd();
			return -1;
		}
		buf[2] = '\0';
		if(strcmp(buf, "OK") == 0)
			return 0;
		else if(strcmp(buf, "CH") == 0) {
			sprint(buf, "%s\n%s\n", username, password);
			write(fd, buf, strlen(buf));	
		} else  if(strcmp(buf, "NO") == 0) {
			passwd();
			sprint(buf, "%s\n%s\n", username, password);
			write(fd, buf, strlen(buf));	
		}
	}
	f = open("#e/bootdevice", OREAD);
	if(f >= 0){
		read(f, &bootdevice, 1);
		close(f);
	}
	f = open("#e/bootserver", OREAD);
	if(f >= 0){
		read(f, bootserver, 64);
		close(f);
	} else
		strcpy(bootserver, "nfs");
}

/*


@@ 270,7 477,7 @@ nop(int fd)
	if(n <= 0)
		error("read nop");
	if(convM2S(buf, &hdr, n) == 0) {
		print("n = %d; buf = %.2x %.2x %.2x %.2x\n",
		print("n = %d; buf = %#.2x %#.2x %#.2x %#.2x\n",
			n, buf[0], buf[1], buf[2], buf[3]);
		error("format nop");
	}


@@ 279,7 486,7 @@ nop(int fd)
}

/*
 *  send nop to file server
 *  send session to file server
 */
void
session(int fd)


@@ 312,16 519,17 @@ session(int fd)
int
cache(int fd)
{
	int f;
	ulong i;
	int p[2];
	Dir d;

	/*
	 *  if there's no /cfs, just return the fd to the
	 *  file server
	 */
	f = open("/cfs", OREAD);
	if(f < 0)
	if(dirstat("/cfs", &d) < 0)
		return fd;
	if(dirstat("#r/hd0cache", &d) < 0)
		return fd;
	print("cfs...");



@@ 341,9 549,9 @@ cache(int fd)
		dup(p[0], 1);
		close(p[0]);
		if(format)
			execl("/cfs", "bootcfs", "-fs", 0);
			execl("/cfs", "bootcfs", "-fs", "-p", "#r/hd0cache", 0);
		else
			execl("/cfs", "bootcfs", "-s", 0);
			execl("/cfs", "bootcfs", "-s", "-p", "#r/hd0cache", 0);
		break;
	default:
		close(p[0]);


@@ 364,6 572,21 @@ sendmsg(int fd, char *msg)
		error(msg);
}

/*
 *  print error
 */
void
prerror(char *s)
{
	char buf[64];

	errstr(buf);
	fprint(2, "boot: %s: %s\n", s, buf);
}

/*
 *  print error and exit
 */
void
error(char *s)
{


@@ 373,3 596,124 @@ error(char *s)
	fprint(2, "boot: %s: %s\n", s, buf);
	exits(0);
}

/*
 *  prompt and get input
 */
int
outin(char *prompt, char *def, int len)
{
	int n;
	char buf[256];

	do{
		print("%s[%s]: ", prompt, def);
		n = read(0, buf, len);
	}while(n==0);
	if(n < 0)
		error("can't read #c/cons; please reboot");
	if(n != 1){
		buf[n-1] = 0;
		strcpy(def, buf);
	}
	return n;
}
void
connect(int fd)
{
	char xbuf[128];
	int i, pid, n, rcons;

	print("[ctrl-d to attach fs]\n");

	switch(pid = fork()) {
	case -1:
		error("fork failed");
	case 0:
		for(;;) {
			n = read(fd, xbuf, sizeof(xbuf));
			if(n < 0) {
				errstr(xbuf);
				print("[remote read error (%s)]\n", xbuf);
				for(;;);
			}
			for(i = 0; i < n; i++)
				if(xbuf[i] == Cr)
					xbuf[i] = ' ';
			write(1, xbuf, n);
		}
	default:
		rcons = open("#c/rcons", OREAD);
		if(rcons < 0)
			error("opening rcons");

		for(;;) {
			read(rcons, xbuf, 1);
			switch(xbuf[0]) {
			case CtrlD:
				kill(pid);
				close(rcons);
				return;
			default:
				n = write(fd, xbuf, 1);
				if(n < 0) {
					errstr(xbuf);
					kill(pid);
					close(rcons);
					print("[remote write error (%s)]\n", xbuf);
				}
			}
		}
	}
}

void
kill(int pid)
{
	char xbuf[32];
	int f;

	sprint(xbuf, "/proc/%d/note", pid);
	f = open(xbuf, OWRITE);
	write(f, "die", 3);
	close(f);
}

void
passwd(void)
{
	Dir d;
	char c;
	int i, n, fd, p[2];

	fd = open("#c/rcons", OREAD);
	if(fd < 0)
		error("can't open #c/rcons; please reboot");
 Prompt:		
	print("password: ");
	n = 0;
	do{
		do{
			i = read(fd, &c, 1);
			if(i < 0)
				error("can't read #c/rcons; please reboot");
		}while(i == 0);
		switch(c){
		case '\n':
			break;
		case '\b':
			if(n > 0)
				n--;
			break;
		case 'u' - 'a' + 1:		/* cntrl-u */
			print("\n");
			goto Prompt;
		default:
			password[n++] = c;
			break;
		}
	}while(c != '\n' && n < sizeof(password));
	password[n] = '\0';
	close(fd);
	print("\n");
}

M gnot/boot.h => gnot/boot.h +2743 -2703
@@ 1,8 1,8 @@
ulong bootcode[]={
	0x000000107,
	0x000002f56,
	0x000000720,
	0x000000324,
	0x000003040,
	0x0000006d0,
	0x00000129c,
	0x000000000,
	0x000002020,
	0x000000000,


@@ 10,1039 10,1098 @@ ulong bootcode[]={
	0x04feffff0,
	0x02c7c0000,
	0x0dffe2d40,
	0x08012486f,
	0x0801e486f,
	0x000142f2f,
	0x00014610c,
	0x02f006100,
	0x00e424fef,
	0x00eec4fef,
	0x0001c4e75,
	0x04feffe80,
	0x0518f42a7,
	0x0486e811a,
	0x061001126,
	0x048780001,
	0x0486e8122,
	0x06100111a,
	0x048780001,
	0x0486e812a,
	0x06100110e,
	0x0487803e8,
	0x061001112,
	0x0610000ca,
	0x0486e8132,
	0x0610001c6,
	0x04aae8006,
	0x06612486e,
	0x0813e486e,
	0x098ce6100,
	0x010466100,
	0x0020c508f,
	0x06100025e,
	0x04fef0020,
	0x07241b280,
	0x06700008a,
	0x07261b280,
	0x067747269,
	0x0b280676c,
	0x0610002f0,
	0x024002f02,
	0x06100038e,
	0x0486e974e,
	0x0610003e2,
	0x04a806d3e,
	0x02f006100,
	0x004d04aae,
	0x0802e6720,
	0x042a7486e,
	0x081aa6100,
	0x010384878,
	0x00001486e,
	0x081b26100,
	0x0102c4878,
	0x00001486e,
	0x081ba6100,
	0x010204878,
	0x001b64878,
	0x0817d486e,
	0x08178486e,
	0x0816c6100,
	0x00f92486e,
	0x081916100,
	0x00b144fef,
	0x000284e75,
	0x042a7486e,
	0x0818c486e,
	0x081806100,
	0x00f76598f,
	0x060e0486e,
	0x081506100,
	0x00e6a4878,
	0x003e86100,
	0x0106c4fef,
	0x0000c60a0,
	0x06092486e,
	0x081436100,
	0x002ae2400,
	0x0588f608a,
	0x0486e814a,
	0x0610002a0,
	0x02400588f,
	0x06000ff7c,
	0x0518f42ae,
	0x0802a42ae,
	0x0802e42a7,
	0x0486e819d,
	0x061001026,
	0x04a806d74,
	0x04878003f,
	0x0486e986e,
	0x02f002f40,
	0x000186100,
	0x010162f2f,
	0x000186100,
	0x00fe4207c,
	0x00000786c,
	0x048780020,
	0x02f086100,
	0x00f0e2040,
	0x04a804fef,
	0x000186740,
	0x052880c10,
	0x0002d4fef,
	0x0fff066e0,
	0x04a1067dc,
	0x00c100020,
	0x067d61018,
	0x049c04fef,
	0x000187266,
	0x0b2006714,
	0x0726db200,
	0x067064fef,
	0x0ffe860dc,
	0x070012d40,
	0x0802e60f2,
	0x070012d40,
	0x0802a60ea,
	0x042a7486e,
	0x081a96100,
	0x00fa44a80,
	0x06d1e4878,
	0x00001486e,
	0x081c26100,
	0x00ff24a80,
	0x042e72f40,
	0x0019a44df,
	0x06c0a486e,
	0x081cd6100,
	0x00960588f,
	0x02f370161,
	0x001ac6100,
	0x00fa2588f,
	0x02f002f37,
	0x0016101b0,
	0x02f2f01a0,
	0x061000ff6,
	0x02f002f37,
	0x0016101bc,
	0x061000f84,
	0x0588f221f,
	0x0b280670a,
	0x0486e81d5,
	0x061000926,
	0x0588f2f2f,
	0x001a46100,
	0x00f944878,
	0x080362f00,
	0x02f400020,
	0x061000f94,
	0x02f2f0020,
	0x061000f62,
	0x04fef0010,
	0x042a7486e,
	0x081b76100,
	0x00f784a80,
	0x06d2e4878,
	0x0001c486e,
	0x0974e2f00,
	0x02f400028,
	0x061000f68,
	0x02f2f0028,
	0x061000f36,
	0x00c2e0069,
	0x080366606,
	0x070012d40,
	0x080064fef,
	0x000304e75,
	0x0486e81c5,
	0x0486e974e,
	0x061000e98,
	0x0518f60dc,
	0x0598f4878,
	0x001b64878,
	0x00001486e,
	0x081dd6100,
	0x00f8a4a80,
	0x081c96100,
	0x00f064a80,
	0x042e72f40,
	0x001b644df,
	0x0000e44df,
	0x06c0a486e,
	0x081e96100,
	0x008f8588f,
	0x0486e81fe,
	0x061000f3c,
	0x081d56100,
	0x0099c588f,
	0x02f2f0014,
	0x061000e76,
	0x0588f2f00,
	0x0486e81f2,
	0x02f2f01bc,
	0x061000f92,
	0x02f2f0018,
	0x02f2f0014,
	0x061000f0e,
	0x04a806c0a,
	0x0486e820a,
	0x0610008d2,
	0x0486e81de,
	0x061000976,
	0x0588f2f2f,
	0x001c06100,
	0x00f406100,
	0x004d26100,
	0x002524a80,
	0x06c0a486e,
	0x082136100,
	0x008b4588f,
	0x0610003e0,
	0x02f002f40,
	0x001d06100,
	0x005a82f2f,
	0x001d06100,
	0x006a42f2f,
	0x001d46100,
	0x0075a2f40,
	0x001d8486e,
	0x082396100,
	0x00d68486e,
	0x08247486e,
	0x08241486f,
	0x000dc6100,
	0x00e284878,
	0x001b64878,
	0x00001486f,
	0x000e86100,
	0x00ee64a80,
	0x000186100,
	0x00ebc4fef,
	0x000204e75,
	0x0598f4878,
	0x00020486e,
	0x098ce486e,
	0x081e76100,
	0x0097e6100,
	0x00b424878,
	0x00011486e,
	0x081ec6100,
	0x00eb84a80,
	0x042e72f40,
	0x001f244df,
	0x06c0a486e,
	0x0824e6100,
	0x00854588f,
	0x02f2f01f4,
	0x0486e8255,
	0x0486f00f4,
	0x061000df2,
	0x0486f00f8,
	0x061000e88,
	0x0588f2f00,
	0x0486f00fc,
	0x02f2f0204,
	0x061000ede,
	0x02f00486f,
	0x001086100,
	0x00e6e588f,
	0x0221fb280,
	0x0670a486e,
	0x082586100,
	0x00810588f,
	0x02f2f0208,
	0x061000e7e,
	0x0486e8264,
	0x0486e825e,
	0x0486f0110,
	0x061000da6,
	0x0487801b6,
	0x048780001,
	0x0486e826b,
	0x061000e64,
	0x04a8042e7,
	0x02f400226,
	0x044df6c0a,
	0x0486e8273,
	0x0610007d2,
	0x0588f2f2f,
	0x00228486e,
	0x0827a486f,
	0x001286100,
	0x00d70486f,
	0x0012c6100,
	0x00e06588f,
	0x02f00486f,
	0x001302f2f,
	0x002386100,
	0x00e5c2f00,
	0x0486f013c,
	0x061000dec,
	0x0588f221f,
	0x0b280670a,
	0x0486e827d,
	0x06100078e,
	0x0588f2f2f,
	0x0023c6100,
	0x00dfc42a7,
	0x0486e8285,
	0x0486e8283,
	0x061000ddc,
	0x04a806c0a,
	0x0486e8287,
	0x06100076a,
	0x0588f486e,
	0x0828c6100,
	0x00c40486e,
	0x08298486e,
	0x082974878,
	0x00006486e,
	0x082952f2f,
	0x002646100,
	0x00dde4a80,
	0x06c0a486e,
	0x082996100,
	0x0073c588f,
	0x0486e829f,
	0x061000c12,
	0x0486f0164,
	0x0486e82a7,
	0x061000dd4,
	0x04a806c0a,
	0x0486e82ab,
	0x06100071a,
	0x0588f486f,
	0x000f8486f,
	0x001706100,
	0x00dcc4878,
	0x00001486e,
	0x082b06100,
	0x00d9c2f40,
	0x002802f2f,
	0x00168486e,
	0x082b8486f,
	0x001846100,
	0x00c9c486f,
	0x001886100,
	0x00d32588f,
	0x02f00486f,
	0x0018c2f2f,
	0x002946100,
	0x00d882f2f,
	0x002986100,
	0x00d44486e,
	0x082bc6100,
	0x00ba442a7,
	0x0486e82c8,
	0x0486e82c5,
	0x061000d1c,
	0x042a7486e,
	0x082d4486e,
	0x082d16100,
	0x00d0e4aae,
	0x080226720,
	0x042a7486e,
	0x082ed486e,
	0x082e8486e,
	0x082dc6100,
	0x00c70486e,
	0x083016100,
	0x006884fef,
	0x002d44e75,
	0x042a7486e,
	0x082fc486e,
	0x082f06100,
	0x00c54598f,
	0x060e04fef,
	0x0fff4142e,
	0x080264297,
	0x00c020073,
	0x0664e6100,
	0x008aa7001,
	0x02e80486e,
	0x0830d486f,
	0x000086100,
	0x00c884878,
	0x00002486f,
	0x00010486e,
	0x0830f6100,
	0x00824102f,
	0x0001849c0,
	0x04fef0014,
	0x07231b200,
	0x067000156,
	0x0001644df,
	0x06d24486e,
	0x098ce6100,
	0x00e14588f,
	0x02f00486e,
	0x098ce2f2f,
	0x0001c6100,
	0x00eac2f2f,
	0x000206100,
	0x00e684fef,
	0x000104fef,
	0x000184e75,
	0x0598f142e,
	0x080360c02,
	0x000736708,
	0x0100249c0,
	0x0588f4e75,
	0x0486e81f4,
	0x0486f0004,
	0x061000dc0,
	0x0486e81f6,
	0x0486e974e,
	0x061000db4,
	0x048780004,
	0x0486f0014,
	0x0486e81fa,
	0x0610008fc,
	0x0102f001c,
	0x049c04fef,
	0x0001c7231,
	0x0b200674a,
	0x07239b200,
	0x067000148,
	0x07269b200,
	0x0670870ff,
	0x04fef000c,
	0x04e757469,
	0x010021d42,
	0x0802649c0,
	0x07241b200,
	0x0670000e0,
	0x07261b200,
	0x0670000d6,
	0x07273b200,
	0x067000086,
	0x048780002,
	0x0486e83c1,
	0x061000c82,
	0x02f400010,
	0x04aaf0010,
	0x0508f6c0a,
	0x0486e83c8,
	0x0610005d2,
	0x0588f486e,
	0x083d72f2f,
	0x0000c6100,
	0x00594206f,
	0x000104aaf,
	0x000086740,
	0x0486e83e2,
	0x02f086100,
	0x005806100,
	0x00c3c4fef,
	0x0001072ff,
	0x0b2806726,
	0x04281b280,
	0x067122f2f,
	0x000086100,
	0x00c0c588f,
	0x042804fef,
	0x0000c4e75,
	0x048790000,
	0x0ea606100,
	0x00c28588f,
	0x060f260e8,
	0x0486e83f6,
	0x02f086100,
	0x0054060be,
	0x0672c7269,
	0x0b200670e,
	0x0726cb200,
	0x0670260b4,
	0x0706c588f,
	0x04e754878,
	0x0001c486e,
	0x0974e486e,
	0x082226100,
	0x008c27069,
	0x04fef0010,
	0x04e754878,
	0x0001c486e,
	0x0974e486e,
	0x082306100,
	0x008aa7041,
	0x04fef0010,
	0x04e754878,
	0x0001c486e,
	0x0974e486e,
	0x082296100,
	0x008927061,
	0x04fef0010,
	0x04e75598f,
	0x048780002,
	0x0486e8389,
	0x061000bfe,
	0x02f400010,
	0x04aaf0010,
	0x06c0a486e,
	0x083946100,
	0x00550588f,
	0x0486e83a7,
	0x02f2f0014,
	0x061000512,
	0x0486e83ae,
	0x0610007e8,
	0x0486e83b6,
	0x02f2f0020,
	0x0610004fe,
	0x04fef001c,
	0x06000ff58,
	0x060b64878,
	0x0486e8237,
	0x061000dc6,
	0x0220042e7,
	0x02f40000a,
	0x044df6c0e,
	0x0486e823e,
	0x06100083e,
	0x0222f000c,
	0x0588f2001,
	0x04fef000c,
	0x04e754fef,
	0x0fff44878,
	0x00002486e,
	0x083526100,
	0x00bb42f40,
	0x0824d6100,
	0x00d942f40,
	0x000104aaf,
	0x000106c0a,
	0x0486e835d,
	0x061000506,
	0x0588f486e,
	0x083702f2f,
	0x0486e8258,
	0x06100080e,
	0x0588f2f2f,
	0x000182f2f,
	0x000146100,
	0x004c8486e,
	0x083766100,
	0x0079e486e,
	0x0837e2f2f,
	0x000206100,
	0x004b44fef,
	0x0001c6000,
	0x0ff0e7441,
	0x06000fec6,
	0x074616000,
	0x0fec04fef,
	0x0fff042af,
	0x000044878,
	0x007ac4878,
	0x00002486e,
	0x0840c6100,
	0x00b584a80,
	0x042e72f40,
	0x0001644df,
	0x06c0a486e,
	0x084166100,
	0x004a8588f,
	0x0826b6100,
	0x00d682f40,
	0x0001c4aaf,
	0x0001c6c0a,
	0x0486e8273,
	0x0610007e2,
	0x0588f2f2f,
	0x0001c6100,
	0x008662f2f,
	0x000206100,
	0x00d20486e,
	0x082832f2f,
	0x0002c6100,
	0x00770202f,
	0x000304fef,
	0x000344e75,
	0x0486e828e,
	0x02f2f0008,
	0x06100075a,
	0x0206f000c,
	0x04aae8006,
	0x0673a486e,
	0x082992f08,
	0x061000746,
	0x061000cfe,
	0x04fef0010,
	0x072ffb280,
	0x067204281,
	0x0b280670c,
	0x02f2f0004,
	0x061000cce,
	0x0588f4e75,
	0x048790000,
	0x0ea606100,
	0x00cf0588f,
	0x060f260ee,
	0x0486e82af,
	0x02f086100,
	0x0070c60c4,
	0x04feffff0,
	0x02f2f0014,
	0x0486e82c3,
	0x0486e86d2,
	0x061000b90,
	0x0486e86d2,
	0x061000c26,
	0x02f400010,
	0x042af0014,
	0x048780002,
	0x0486e8428,
	0x061000b36,
	0x0486e82ce,
	0x061000ca2,
	0x04a8042e7,
	0x02f40001a,
	0x02f400026,
	0x044df6c0a,
	0x0486e8431,
	0x061000486,
	0x0588f486e,
	0x08882486e,
	0x08442486e,
	0x087226100,
	0x00a24486e,
	0x087226100,
	0x00aba2f00,
	0x02f400024,
	0x0486e8722,
	0x02f2f0030,
	0x061000b0e,
	0x0b0af002c,
	0x066262f2f,
	0x0486e82d8,
	0x06100071a,
	0x0588f4878,
	0x00002486e,
	0x082ea6100,
	0x00c802f40,
	0x000284aaf,
	0x000286c0a,
	0x0486e82f3,
	0x0610006fa,
	0x0588f2f2f,
	0x00020486e,
	0x086d22f2f,
	0x000306100,
	0x00c74b0af,
	0x0002c660e,
	0x02f2f0038,
	0x0610002e6,
	0x0588f4a80,
	0x067347005,
	0x0b0af0030,
	0x0660870ff,
	0x04fef003c,
	0x04e752f2f,
	0x000386100,
	0x00c0c2f2f,
	0x000386100,
	0x00550486e,
	0x08882486e,
	0x084756100,
	0x009202f2f,
	0x00c044878,
	0x001f46100,
	0x00c2c52af,
	0x0003c4fef,
	0x000286000,
	0x0ff682f2f,
	0x00040486e,
	0x083046100,
	0x00a0a486e,
	0x083152f2f,
	0x000406100,
	0x00ab0202f,
	0x000484fef,
	0x0004c4e75,
	0x07005b0af,
	0x00030660a,
	0x0486e844d,
	0x006342f2f,
	0x000446100,
	0x00bd02d7c,
	0x000006318,
	0x0800a2d7c,
	0x00000631b,
	0x08032202f,
	0x0004c4fef,
	0x000504e75,
	0x04feffecc,
	0x04878002f,
	0x0486e974e,
	0x061000b52,
	0x024006700,
	0x002505282,
	0x02f420130,
	0x02f2f0140,
	0x061000322,
	0x02f2f0144,
	0x06100041e,
	0x02f2f0148,
	0x0610004d4,
	0x02f40014c,
	0x0486e8320,
	0x06100099c,
	0x02f2f0140,
	0x0486e8328,
	0x0486e86d2,
	0x061000a5c,
	0x0487801b6,
	0x048780001,
	0x0486e86d2,
	0x061000b5c,
	0x04a8042e7,
	0x02f40015e,
	0x044df6c0a,
	0x0486e832e,
	0x0610005f2,
	0x0588f2f2f,
	0x00168486e,
	0x08335486e,
	0x086d26100,
	0x00a26486e,
	0x086d26100,
	0x00abc588f,
	0x02f00486e,
	0x086d22f2f,
	0x001706100,
	0x00b542f00,
	0x0486e86d2,
	0x061000aa2,
	0x0588f221f,
	0x0b280670a,
	0x0486e8338,
	0x0610005ae,
	0x0588f2f2f,
	0x001746100,
	0x00af44878,
	0x001b64878,
	0x00001486e,
	0x0833e6100,
	0x00aea4a80,
	0x042e72f40,
	0x0018644df,
	0x06c0a486e,
	0x083466100,
	0x00580588f,
	0x02f2f0190,
	0x0486e834d,
	0x0486e86d2,
	0x0610009b4,
	0x0486e86d2,
	0x061000a4a,
	0x0588f2f00,
	0x0486e86d2,
	0x02f2f0198,
	0x061000ae2,
	0x02f00486e,
	0x086d26100,
	0x00a30588f,
	0x0221fb280,
	0x0670a486e,
	0x083506100,
	0x0053c588f,
	0x02f2f019c,
	0x061000a82,
	0x0486e8356,
	0x0610008a0,
	0x042a7486e,
	0x08361486e,
	0x0835f6100,
	0x00a5a4a80,
	0x06c0a486e,
	0x083636100,
	0x00510588f,
	0x0486e836b,
	0x0486e836a,
	0x048780006,
	0x0486e8368,
	0x02f2f01cc,
	0x061000a64,
	0x04a806c0a,
	0x0486e836c,
	0x0610004ea,
	0x0588f486e,
	0x08882486e,
	0x084556100,
	0x008f02f2f,
	0x000406100,
	0x00a802f2f,
	0x000406100,
	0x00a7852af,
	0x000404fef,
	0x0003c6000,
	0x0ff2e518f,
	0x042ae801e,
	0x042ae8022,
	0x083726100,
	0x00856486f,
	0x000dc486e,
	0x0837a6100,
	0x00a5a4a80,
	0x06c0a486e,
	0x0837e6100,
	0x004c8588f,
	0x0486f0158,
	0x0486f00e8,
	0x061000a52,
	0x048780001,
	0x0486e8383,
	0x061000a22,
	0x02f4001e0,
	0x02f2f01c8,
	0x0486e838b,
	0x0486f00fc,
	0x0610008e0,
	0x0486f0100,
	0x061000976,
	0x0588f2f00,
	0x0486f0104,
	0x02f2f01f4,
	0x061000a0e,
	0x02f2f01f8,
	0x0610009ca,
	0x0486e838f,
	0x0610007e8,
	0x04aae8032,
	0x067302f2e,
	0x0800a486e,
	0x08398486f,
	0x000dc6100,
	0x008a242a7,
	0x0486f00e4,
	0x02f2e8032,
	0x06100098c,
	0x042a7486e,
	0x084866100,
	0x00a7c4a80,
	0x06d744878,
	0x0003f486e,
	0x089c62f00,
	0x02f400018,
	0x061000a6c,
	0x02f2f0018,
	0x061000a3a,
	0x0207c0000,
	0x069c44878,
	0x000202f08,
	0x0610009a6,
	0x020404a80,
	0x04fef0018,
	0x067405288,
	0x00c10002d,
	0x04feffff0,
	0x066e04a10,
	0x067dc0c10,
	0x0002067d6,
	0x0101849c0,
	0x083a02f2e,
	0x080326100,
	0x0097e4fef,
	0x000244aae,
	0x0800a672e,
	0x02f2e800a,
	0x0486e83a9,
	0x0486f00dc,
	0x06100086c,
	0x0486f00e0,
	0x0486e83b9,
	0x061000790,
	0x042a7486e,
	0x083db486f,
	0x000f06100,
	0x0094a4fef,
	0x000204fef,
	0x002084e75,
	0x02f7c0000,
	0x0774c0130,
	0x06000fdae,
	0x0598f4878,
	0x01000486e,
	0x086d22f2f,
	0x000106100,
	0x0095e2200,
	0x07002b081,
	0x0670c6100,
	0x005ca70ff,
	0x04fef0010,
	0x04e75422e,
	0x086d4486e,
	0x083ec486e,
	0x086d26100,
	0x008704a80,
	0x066084280,
	0x04fef0018,
	0x07266b200,
	0x06714726d,
	0x0b2006706,
	0x04fefffe8,
	0x060dc7001,
	0x02d408022,
	0x060f27001,
	0x02d40801e,
	0x060ea42a7,
	0x0486e8492,
	0x0610009fa,
	0x04a806d1e,
	0x048780001,
	0x0486e8026,
	0x02f002f40,
	0x000206100,
	0x009ea2f2f,
	0x000206100,
	0x009b84fef,
	0x0001042a7,
	0x0486e84a0,
	0x0610009ce,
	0x04a806d20,
	0x048780040,
	0x0486e8882,
	0x02f002f40,
	0x000286100,
	0x009be2f2f,
	0x000286100,
	0x0098c4fef,
	0x000304e75,
	0x0486e84ae,
	0x0486e8882,
	0x06100093e,
	0x0518f60ea,
	0x04e75486e,
	0x083ef486e,
	0x086d26100,
	0x008584a80,
	0x06634486e,
	0x098ae486e,
	0x098ce486e,
	0x083f2486e,
	0x086d26100,
	0x007d6486e,
	0x086d26100,
	0x0086c588f,
	0x02f00486e,
	0x086d22f2f,
	0x0003c6100,
	0x009044fef,
	0x000386000,
	0x0ff7e486e,
	0x083f9486e,
	0x086d26100,
	0x008144a80,
	0x04fef0024,
	0x06600ff68,
	0x061000548,
	0x0486e98ae,
	0x0486e98ce,
	0x0486e83fc,
	0x0486e86d2,
	0x061000788,
	0x0486e86d2,
	0x06100081e,
	0x0588f2f00,
	0x0486e86d2,
	0x02f2f0020,
	0x0610008b6,
	0x04fef001c,
	0x06000ff30,
	0x0598f486e,
	0x084b26100,
	0x007d41d7c,
	0x000328786,
	0x084036100,
	0x0068e1d7c,
	0x0003296d2,
	0x03d7cffff,
	0x0878a486e,
	0x08722486e,
	0x087866100,
	0x011662f00,
	0x096d6486e,
	0x086d2486e,
	0x096d26100,
	0x010602f00,
	0x02f400010,
	0x0486e8722,
	0x0486e86d2,
	0x02f2f001c,
	0x06100097e,
	0x06100087a,
	0x0b0af0018,
	0x0670a486e,
	0x084b96100,
	0x002bc588f,
	0x048780064,
	0x0486e8722,
	0x0840a6100,
	0x002e0588f,
	0x048781000,
	0x0486e86d2,
	0x02f2f0028,
	0x06100094c,
	0x061000848,
	0x022007002,
	0x0b0816608,
	0x00c2e004f,
	0x08722677c,
	0x086d2677c,
	0x04a8142e7,
	0x02f410026,
	0x044df6e0e,
	0x0486e84c3,
	0x061000286,
	0x0486e8414,
	0x0610002aa,
	0x0222f0028,
	0x0588f2f01,
	0x0486e8786,
	0x0486e8722,
	0x061000ac6,
	0x0486e96d2,
	0x0486e86d2,
	0x0610009c2,
	0x04a806638,
	0x0102e8725,
	0x0102e86d5,
	0x049c02f00,
	0x0102e8724,
	0x0102e86d4,
	0x049c02f00,
	0x0102e8723,
	0x0102e86d3,
	0x049c02f00,
	0x0102e8722,
	0x0102e86d2,
	0x049c02f00,
	0x02f2f0040,
	0x0486e84cc,
	0x061000722,
	0x0486e84ef,
	0x06100023a,
	0x0486e841d,
	0x0610005dc,
	0x0486e8444,
	0x06100025e,
	0x04fef001c,
	0x00c2e0033,
	0x08786670a,
	0x0486e84fa,
	0x061000226,
	0x096d2670a,
	0x0486e844f,
	0x06100024a,
	0x0588f4fef,
	0x000344e75,
	0x00c2e004b,
	0x087236600,
	0x086d36600,
	0x0ff7c4878,
	0x00064486e,
	0x087222f2f,
	0x01000486e,
	0x086d22f2f,
	0x000346100,
	0x008a62200,
	0x007a22200,
	0x04fef000c,
	0x06000ff62,
	0x0598f486e,
	0x085036100,
	0x006d01d7c,
	0x000348786,
	0x084586100,
	0x0058a1d7c,
	0x0003496d2,
	0x03d7cffff,
	0x0878a486e,
	0x08722486e,
	0x087866100,
	0x010622f00,
	0x096d6486e,
	0x086d2486e,
	0x096d26100,
	0x00f5c2f00,
	0x02f400010,
	0x0486e8722,
	0x0486e86d2,
	0x02f2f001c,
	0x06100087a,
	0x061000776,
	0x0b0af0018,
	0x0670a486e,
	0x0850e6100,
	0x001b8588f,
	0x048780064,
	0x0486e8722,
	0x084636100,
	0x001dc588f,
	0x048781000,
	0x0486e86d2,
	0x02f2f0028,
	0x061000848,
	0x061000744,
	0x02f400024,
	0x04aaf0024,
	0x06e0a486e,
	0x0851c6100,
	0x00194588f,
	0x084716100,
	0x001b8588f,
	0x02f2f0024,
	0x0486e8786,
	0x0486e8722,
	0x0610009d6,
	0x0486e96d2,
	0x0486e86d2,
	0x0610008d2,
	0x04a80660a,
	0x0486e8529,
	0x061000176,
	0x0486e847e,
	0x06100019a,
	0x0588f0c2e,
	0x000378786,
	0x0003796d2,
	0x06618486e,
	0x0878c486e,
	0x085386100,
	0x00640486e,
	0x0878c6100,
	0x001584fef,
	0x096d8486e,
	0x0848d6100,
	0x004fa486e,
	0x096d86100,
	0x0017c4fef,
	0x0000c0c2e,
	0x000358786,
	0x0003596d2,
	0x0670a486e,
	0x085426100,
	0x00144588f,
	0x084976100,
	0x00168588f,
	0x04fef0034,
	0x04e754fef,
	0x0ff804857,
	0x0486e854f,
	0x061001612,
	0x0486e84a4,
	0x06100150c,
	0x04a806c0a,
	0x0202f008c,
	0x04fef0088,
	0x04e75486f,
	0x00008486e,
	0x085546100,
	0x015f84a80,
	0x084a96100,
	0x014f24a80,
	0x06c0a202f,
	0x000944fef,
	0x000904e75,
	0x0486e8560,
	0x0610005de,
	0x0486e84b5,
	0x061000498,
	0x0486f0088,
	0x061000762,
	0x06100065e,
	0x04a806c0a,
	0x0486e8567,
	0x0610000ea,
	0x0486e84bc,
	0x06100010e,
	0x0588f6100,
	0x007744fef,
	0x006704fef,
	0x0001872ff,
	0x0b2806700,
	0x0009e4281,
	0x0b2806722,
	0x02f2f0074,
	0x061000742,
	0x06100063e,
	0x02f2f0088,
	0x06100073a,
	0x061000636,
	0x02f6f0080,
	0x0008c508f,
	0x0202f0084,
	0x04fef0080,
	0x04e752f2f,
	0x000786100,
	0x0072042a7,
	0x0061c42a7,
	0x02f2f008c,
	0x061000722,
	0x06100061e,
	0x02f2f0090,
	0x06100070e,
	0x06100060a,
	0x048780001,
	0x02f2f0088,
	0x06100070e,
	0x06100060a,
	0x02f2f008c,
	0x0610006fa,
	0x04aae801e,
	0x0610005f6,
	0x04aae802a,
	0x0672042a7,
	0x0486e8585,
	0x0486e8582,
	0x0486e857e,
	0x0486e8576,
	0x0486e8571,
	0x061000642,
	0x0486e84da,
	0x0486e84d7,
	0x0486e84d3,
	0x0486e84cb,
	0x0486e84c6,
	0x0610004fc,
	0x04fef0034,
	0x060a242a7,
	0x0486e85a4,
	0x0486e85a1,
	0x0486e859e,
	0x0486e8596,
	0x0486e8591,
	0x061000622,
	0x0486e84f9,
	0x0486e84f6,
	0x0486e84f3,
	0x0486e84eb,
	0x0486e84e6,
	0x0610004dc,
	0x04fef0034,
	0x06082486e,
	0x0856c6134,
	0x084c16158,
	0x0588f6082,
	0x0598f2f2f,
	0x0000c6100,
	0x006762f00,
	0x005302f00,
	0x02f400008,
	0x02f2f0014,
	0x02f2f0014,
	0x0610006ca,
	0x0610005c6,
	0x0b0af0010,
	0x067082f2f,
	0x0001c6108,
	0x0001c612c,
	0x0588f4fef,
	0x000144e75,
	0x04fefffc0,
	0x048576100,
	0x006b2486f,
	0x005ae486f,
	0x000042f2f,
	0x0004c486e,
	0x085054878,
	0x000026100,
	0x003e64fef,
	0x000544e75,
	0x04fefffc0,
	0x048576100,
	0x0058a486f,
	0x000042f2f,
	0x0004c486e,
	0x085b04878,
	0x085134878,
	0x000026100,
	0x0052c42a7,
	0x061000486,
	0x003c242a7,
	0x06100031c,
	0x04fef0058,
	0x04e754fef,
	0x0ff7442a7,
	0x0486e85be,
	0x061000666,
	0x04a8042e7,
	0x02f400012,
	0x044df6c08,
	0x0486e85c7,
	0x061b6588f,
	0x0486e85ea,
	0x06100048e,
	0x042af0018,
	0x048780001,
	0x0486f0024,
	0x02f2f001c,
	0x06100063c,
	0x02f400028,
	0x04aaf0028,
	0x06c08486e,
	0x085f56188,
	0x0588f4aaf,
	0x000284fef,
	0x0000c67d4,
	0x0102f0020,
	0x049c04fef,
	0x0000c7208,
	0x0b2006764,
	0x0720ab200,
	0x0675c7215,
	0x0b2006748,
	0x0202f000c,
	0x01daf0014,
	0x009208a06,
	0x052af000c,
	0x00c2f000a,
	0x000146710,
	0x07020b0af,
	0x0000c4fef,
	0x0fff46e94,
	0x04fef000c,
	0x0202f000c,
	0x042360920,
	0x08a062f2f,
	0x000086100,
	0x005a0486e,
	0x0861a6100,
	0x004004fef,
	0x000944e75,
	0x0486e8618,
	0x0610003f2,
	0x0598f6000,
	0x0ff5860b8,
	0x04aaf000c,
	0x06fb253af,
	0x0000c60ac,
	0x0598f4878,
	0x00064486e,
	0x087222f2f,
	0x000106100,
	0x0058e2200,
	0x07002b081,
	0x0670a486e,
	0x0861c6100,
	0x0fedc588f,
	0x0422e8724,
	0x0486e862e,
	0x0486e8722,
	0x0610004e4,
	0x04a806606,
	0x04fef0018,
	0x04e75486e,
	0x08631486e,
	0x087226100,
	0x004ce4a80,
	0x06632486e,
	0x08a06486e,
	0x08a26486e,
	0x08634486e,
	0x087226100,
	0x0044c486e,
	0x087226100,
	0x004e2588f,
	0x02f00486e,
	0x087222f2f,
	0x0003c6100,
	0x005384fef,
	0x000386082,
	0x0486e863b,
	0x0486e8722,
	0x06100048c,
	0x04a804fef,
	0x000246600,
	0x0ff6e486e,
	0x0863e6100,
	0x003404878,
	0x00020486e,
	0x08a26486e,
	0x086556138,
	0x06100fe78,
	0x0486e8a06,
	0x0486e8a26,
	0x0486e865a,
	0x0486e8722,
	0x0610003ea,
	0x0486e8722,
	0x061000480,
	0x0588f2f00,
	0x0486e8722,
	0x02f2f0030,
	0x0610004d6,
	0x04fef002c,
	0x06000ff20,
	0x04feffefc,
	0x02f2f010c,
	0x02f2f010c,
	0x0486e8661,
	0x0610002e6,
	0x02f2f011c,
	0x0486f0010,
	0x042a76100,
	0x0049a2200,
	0x04fef0018,
	0x067da42e7,
	0x02f400102,
	0x044df6c0e,
	0x0486e866a,
	0x06100fdde,
	0x0fefc2f2f,
	0x0010c2f2f,
	0x0010c486e,
	0x085216100,
	0x0033a2f2f,
	0x0011c486f,
	0x0001042a7,
	0x061000530,
	0x022004fef,
	0x0001867da,
	0x042e72f40,
	0x0010244df,
	0x06c0c486e,
	0x0852a619c,
	0x0222f0104,
	0x0588f7001,
	0x0b0816716,
	0x042371920,
	0x0ffff4857,
	0x02f2f0110,
	0x0610003fe,
	0x061000454,
	0x0222f0108,
	0x0508f2001,
	0x04fef0104,
	0x04e75598f,
	0x0486e868c,
	0x0486e8a26,
	0x0610003e2,
	0x048780020,
	0x0486e8a26,
	0x0486e8691,
	0x06100ff7e,
	0x048780002,
	0x0486e8696,
	0x061000426,
	0x04a8042e7,
	0x02f40001e,
	0x044df6d24,
	0x0486e8a26,
	0x0610003c4,
	0x0588f2f00,
	0x0486e8a26,
	0x02f2f0024,
	0x06100041a,
	0x02f2f0028,
	0x0610003d6,
	0x04fef0010,
	0x04fef0020,
	0x04e754fef,
	0x0ff6c4878,
	0x000022f2f,
	0x0009c6100,
	0x003e04a80,
	0x042e72f40,
	0x0000a44df,
	0x06c064fef,
	0x0009c4e75,
	0x0486e869e,
	0x06100020a,
	0x0610003b6,
	0x02f400018,
	0x04fef000c,
	0x0ff70486e,
	0x0854c6100,
	0x002de6100,
	0x004cc2f40,
	0x0000c588f,
	0x072ffb280,
	0x067000104,
	0x0670000fc,
	0x04281b280,
	0x0670000a0,
	0x067000098,
	0x042a7486e,
	0x086db6100,
	0x003a02f40,
	0x0000c4aaf,
	0x0000c6c0a,
	0x0486e86e4,
	0x06100fcf2,
	0x085896100,
	0x004b82f40,
	0x000084aaf,
	0x000086c0a,
	0x0486e8592,
	0x06100ff32,
	0x0588f4878,
	0x00001486f,
	0x000202f2f,
	0x000146100,
	0x00382102f,
	0x0002849c0,
	0x0001c2f2f,
	0x000106100,
	0x0049a102f,
	0x0002449c0,
	0x04fef0014,
	0x07204b200,
	0x067444878,
	0x00001486f,
	0x000182f2f,
	0x000086100,
	0x003744a80,
	0x000142f2f,
	0x0009c6100,
	0x0048c4a80,
	0x04fef000c,
	0x06c28486f,
	0x000146100,
	0x0036a2f2f,
	0x000106100,
	0x000a22f2f,
	0x004822f2f,
	0x0000c6100,
	0x00318486f,
	0x00020486e,
	0x086f26100,
	0x001744fef,
	0x0009a2f2f,
	0x000086100,
	0x00430486f,
	0x0001c486e,
	0x085a06100,
	0x0024a4fef,
	0x00014518f,
	0x0609c2f2f,
	0x0000c617e,
	0x02f2f0008,
	0x0610002f6,
	0x02f2f0008,
	0x0610002ee,
	0x04fef00a0,
	0x000086176,
	0x02f2f0004,
	0x06100040e,
	0x04fef0098,
	0x04e754878,
	0x00080486f,
	0x000182f2f,
	0x000086100,
	0x003022600,
	0x000142f2f,
	0x0009c6100,
	0x004222600,
	0x06c16486f,
	0x000206100,
	0x0030e486f,
	0x00024486e,
	0x086c16100,
	0x0012860fe,
	0x0001c6100,
	0x0042e486f,
	0x00020486e,
	0x0856f6100,
	0x0020660fe,
	0x04282b483,
	0x06c180c37,
	0x0000d2920,
	0x000206608,
	0x0001c6608,
	0x01fbc0020,
	0x029200020,
	0x02920001c,
	0x05282b483,
	0x06de82f03,
	0x0486f0024,
	0x0486f0020,
	0x048780001,
	0x0610002ce,
	0x0610003ee,
	0x04fef0018,
	0x060a4486e,
	0x086b56100,
	0x0fc0c588f,
	0x085636100,
	0x0fe54588f,
	0x060984fef,
	0x0ffdc2f2f,
	0x00028486e,
	0x0870d486f,
	0x085bb486f,
	0x0000c6100,
	0x001a44878,
	0x002824878,
	0x00001486f,
	0x000146100,
	0x002844878,
	0x003a44878,
	0x00003486e,
	0x0871b2f00,
	0x085c92f00,
	0x02f400020,
	0x06100028a,
	0x0610003aa,
	0x02f2f0020,
	0x061000246,
	0x061000366,
	0x04fef0048,
	0x04e75598f,
	0x042817021,
	0x0b0816f1e,
	0x04ab61d20,
	0x08942660e,
	0x02daf0008,
	0x01d208942,
	0x07001588f,
	0x04e755281,
	0x04e754fef,
	0x0ff7442a7,
	0x0486e85cd,
	0x061000376,
	0x04a8042e7,
	0x02f400012,
	0x044df6c0a,
	0x0486e85d6,
	0x06100fdee,
	0x0588f486e,
	0x085f96100,
	0x0015a42af,
	0x000184878,
	0x00001486f,
	0x000242f2f,
	0x0001c6100,
	0x0034a2f40,
	0x000284aaf,
	0x000286c0a,
	0x0486e8604,
	0x06100fdbe,
	0x0588f4aaf,
	0x000284fef,
	0x0000c67d2,
	0x0102f0020,
	0x049c04fef,
	0x0000c7208,
	0x0b2006764,
	0x0720ab200,
	0x0675c7215,
	0x0b2006748,
	0x0202f000c,
	0x01daf0014,
	0x0092098ae,
	0x052af000c,
	0x00c2f000a,
	0x000146710,
	0x07020b0af,
	0x0000c4fef,
	0x0fff46e92,
	0x04fef000c,
	0x0202f000c,
	0x042360920,
	0x098ae2f2f,
	0x000086100,
	0x002ac486e,
	0x086296100,
	0x000ca4fef,
	0x000944e75,
	0x0486e8627,
	0x0610000bc,
	0x0598f6000,
	0x0ff5660b8,
	0x04aaf000c,
	0x06fb253af,
	0x0000c60ac,
	0x0598f4281,
	0x07021b081,
	0x06ee24280,
	0x06f1e4ab6,
	0x01d2097ea,
	0x0660e2daf,
	0x000081d20,
	0x097ea7001,
	0x0588f4e75,
	0x0598f206f,
	0x000084282,
	0x07021b082,
	0x06f182036,
	0x02d208942,
	0x0b0886606,
	0x042b62d20,
	0x089425282,
	0x07021b082,
	0x06ee8588f,
	0x04e754aaf,
	0x000046606,
	0x042a7610c,
	0x0588f486e,
	0x0807a6104,
	0x052817021,
	0x0b0816ee2,
	0x04280588f,
	0x04e75598f,
	0x0206f0008,
	0x042827021,
	0x0b0826f18,
	0x020362d20,
	0x097eab088,
	0x0660642b6,
	0x02d2097ea,
	0x052827021,
	0x0b0826ee8,
	0x0588f4e75,
	0x0518f7220,
	0x04a816d22,
	0x02eb61d20,
	0x089424a97,
	0x067122f41,
	0x0000442b6,
	0x01d208942,
	0x04eb70151,
	0x0222f0004,
	0x053814a81,
	0x06cde2f2f,
	0x0000c6100,
	0x0019a4fef,
	0x0000c4e75,
	0x04fefeff8,
	0x041ef100c,
	0x058882f08,
	0x02f2f1010,
	0x04aaf0004,
	0x0660642a7,
	0x0610c588f,
	0x0486e805a,
	0x06104588f,
	0x04e75518f,
	0x072204a81,
	0x06d222eb6,
	0x01d2097ea,
	0x04a976712,
	0x02f410004,
	0x042b61d20,
	0x097ea4eb7,
	0x00151222f,
	0x000045381,
	0x04a816cde,
	0x02f2f000c,
	0x0610001dc,
	0x04fef000c,
	0x04e754fef,
	0x0eff841ef,
	0x0100c5888,
	0x02f082f2f,
	0x0101041ef,
	0x00010d1fc,
	0x000001000,
	0x02f08486f,
	0x000146100,
	0x011642200,
	0x041ef0018,
	0x092882f01,
	0x0486f001c,
	0x048780001,
	0x0610001de,
	0x0240042e7,
	0x02f40001e,
	0x044df6c1a,
	0x052ae8002,
	0x0700ab0ae,
	0x080026e0e,
	0x0486e804a,
	0x06100ff70,
	0x0242f0020,
	0x0588f2002,
	0x04fef1024,
	0x04e754fef,
	0x0eff841ef,
	0x010105888,
	0x02f082f2f,
	0x0101441ef,
	0x00010d1fc,
	0x000001000,
	0x02f08486f,
	0x000146100,
	0x010fc2200,
	0x041ef0018,
	0x092882f01,
	0x0486f001c,
	0x02f2f1024,
	0x061000176,
	0x0240042e7,
	0x02f40001e,
	0x044df6c1a,
	0x052ae8002,
	0x0700ab0ae,
	0x080026e0e,
	0x0486e804a,
	0x06100ff08,
	0x0242f0020,
	0x0588f2002,
	0x04fef1024,
	0x04e75518f,
	0x0226f000c,
	0x02eae8026,
	0x041ef0010,
	0x0d1fc0000,
	0x010002f08,
	0x0486f0014,
	0x061001124,
	0x0220041ef,
	0x000189288,
	0x02f01486f,
	0x0001c4878,
	0x000016100,
	0x0019c2400,
	0x042e72f40,
	0x0001e44df,
	0x06c1a52ae,
	0x08002700a,
	0x0b0ae8002,
	0x06e0e486e,
	0x0802a6100,
	0x0ff70242f,
	0x00020588f,
	0x020024fef,
	0x010244e75,
	0x04fefeff8,
	0x041ef1010,
	0x058882f08,
	0x02f2f1014,
	0x041ef0010,
	0x0d1fc0000,
	0x010002f08,
	0x0486f0014,
	0x0610010bc,
	0x0220041ef,
	0x000189288,
	0x02f01486f,
	0x0001c2f2f,
	0x010246100,
	0x001342400,
	0x042e72f40,
	0x0001e44df,
	0x06c1a52ae,
	0x08002700a,
	0x0b0ae8002,
	0x06e0e486e,
	0x0802a6100,
	0x0ff08242f,
	0x00020588f,
	0x020024fef,
	0x010244e75,
	0x0518f226f,
	0x0000c2eae,
	0x0801a41ef,
	0x000105888,
	0x02f2f0014,
	0x048691000,
	0x02f096100,
	0x010982d6f,
	0x000108026,
	0x090af001c,
	0x04fef0018,
	0x04e7541ef,
	0x000045888,
	0x02f082f2f,
	0x000144869,
	0x010002f09,
	0x061001058,
	0x02d6f0010,
	0x0801a90af,
	0x0001c4fef,
	0x000184e75,
	0x041ef0004,
	0x058882f08,
	0x02f2f0008,
	0x06100009c,
	0x0508f4e75,
	0x0206f0004,
	0x0142f000b,
	0x067121218,
	0x0670ab202,
	0x066f82008,
	0x053804e75,
	0x042804e75,
	0x04a1866fc,
	0x000086100,
	0x000de508f,
	0x04e75206f,
	0x00004142f,
	0x0000b6712,
	0x01218670a,
	0x0b20266f8,
	0x020085380,
	0x04e75246f,
	0x00004226f,
	0x000081019,
	0x0670eb01a,
	0x067f86d04,
	0x070ff4e75,
	0x070014e75,
	0x04a1266f8,
	0x042804e75,
	0x04e754280,
	0x04e754a18,
	0x066fc2008,
	0x053804e75,
	0x0246f0004,
	0x0226f0008,
	0x014d966fc,
	0x0202f0004,
	0x04e75226f,
	0x000044a19,
	0x0670c2449,
	0x04a1966fc,
	0x093ca2009,
	0x04e757000,
	0x01019670e,
	0x0b01a67f8,
	0x06d0470ff,
	0x04e757001,
	0x04e754a12,
	0x066f84280,
	0x04e75246f,
	0x00004226f,
	0x0000814d9,
	0x066fc202f,
	0x000044e75,
	0x0226f0004,
	0x04a19670c,
	0x024494a19,
	0x066fc93ca,
	0x020094e75,
	0x070004e75,
	0x0598f222f,
	0x000084a2f,
	0x0000f660e,
	0x042a72f01,
	0x06100ff7c,
	0x04fef000c,
	0x04e754297,
	0x0102f000f,
	0x049c02f00,
	0x02f016100,
	0x0ff662200,
	0x0670a2f40,
	0x000085281,
	0x0508f60e4,
	0x0202f0008,
	0x04fef000c,
	0x04e757002,
	0x04e404e75,
	0x070154e40,


@@ 1071,20 1130,20 @@ ulong bootcode[]={
	0x0001c2f08,
	0x02f480008,
	0x02f2f0014,
	0x061001d0a,
	0x061001d08,
	0x0701cd1af,
	0x0000c4878,
	0x0001c2f2f,
	0x000104877,
	0x001620020,
	0x0001c6100,
	0x01cf0701c,
	0x01cee701c,
	0x0d1af0018,
	0x04878001c,
	0x02f2f001c,
	0x048770162,
	0x0002c0038,
	0x061001cd6,
	0x061001cd4,
	0x0226f0030,
	0x0206f0024,
	0x0701cd1c0,


@@ 1177,11 1236,44 @@ ulong bootcode[]={
	0x000045488,
	0x0101149c0,
	0x07232b001,
	0x06d127251,
	0x0b0016e0c,
	0x030360b30,
	0x0ffff7fd6,
	0x04efb0000,
	0x06d107251,
	0x0b0016e0a,
	0x030360b20,
	0x080364efb,
	0x000004280,
	0x0588f4e75,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080814281,
	0x012280002,
	0x07410e5a1,
	0x080814281,
	0x012280003,
	0x07418e5a1,
	0x080812340,
	0x000085888,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080814281,
	0x012280002,
	0x07410e5a1,
	0x080814281,
	0x012280003,
	0x07418e5a1,
	0x080812340,
	0x0000c5888,
	0x0202f0008,
	0x0d0af0010,
	0x0b0886608,
	0x0202f0010,
	0x0588f4e75,
	0x04280588f,
	0x04e754280,
	0x010104281,


@@ 1192,55 1284,35 @@ ulong bootcode[]={
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x042811228,
	0x000027410,
	0x0e5a18081,
	0x042811228,
	0x000037418,
	0x0e5a18081,
	0x023400008,
	0x058884280,
	0x03340000a,
	0x054884878,
	0x0001c2f08,
	0x02f480008,
	0x04869000c,
	0x061001a8c,
	0x0206f000c,
	0x0701cd1c0,
	0x04fef000c,
	0x0609e4280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x042811228,
	0x000027410,
	0x0e5a18081,
	0x042811228,
	0x000037418,
	0x0e5a18081,
	0x02340000c,
	0x05888202f,
	0x00008d0af,
	0x00010b088,
	0x06608202f,
	0x00010588f,
	0x04e754280,
	0x0588f4e75,
	0x033400002,
	0x054886088,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x0000a5488,
	0x04878001c,
	0x048780074,
	0x02f082f48,
	0x000084869,
	0x0000c6100,
	0x01a8c206f,
	0x0000c701c,
	0x000066100,
	0x01a42206f,
	0x0000c7074,
	0x0d1c04fef,
	0x0000c609e,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x060884280,
	0x0000c6000,
	0x0ff544280,
	0x010104281,
	0x012280001,
	0x0e1818081,


@@ 1249,167 1321,57 @@ ulong bootcode[]={
	0x000742f08,
	0x02f480008,
	0x048690006,
	0x061001a42,
	0x061001a0c,
	0x0206f000c,
	0x07074d1c0,
	0x04fef000c,
	0x06000ff54,
	0x06000ff1e,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x048780074,
	0x02f082f48,
	0x000084869,
	0x000066100,
	0x01a0c206f,
	0x0000c7074,
	0x0d1c04fef,
	0x0000c6000,
	0x0ff1e4280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400002,
	0x054886000,
	0x0ff064280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400002,
	0x054886000,
	0x0feee4280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400002,
	0x054886000,
	0x0fed64280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400002,
	0x054886000,
	0x0febe4280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400002,
	0x054886000,
	0x0fea64280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400002,
	0x054884280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x02340000a,
	0x054886000,
	0x0fe7a4280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400002,
	0x054884280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x06000ff06,
	0x042801010,
	0x042811228,
	0x000027410,
	0x0e5a18081,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x06000feee,
	0x042801010,
	0x042811228,
	0x000037418,
	0x0e5a18081,
	0x023400006,
	0x050884280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x02340000a,
	0x054885288,
	0x02348000e,
	0x02029000a,
	0x0d1c06000,
	0x0fe164280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400002,
	0x054884280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x02340000a,
	0x054885288,
	0x02348000e,
	0x02029000a,
	0x0d1c06000,
	0x0fdde4280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400002,
	0x054884280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x042811228,
	0x000027410,
	0x0e5a18081,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x06000fed6,
	0x042801010,
	0x042811228,
	0x000037418,
	0x0e5a18081,
	0x023400006,
	0x050884280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x02340000a,
	0x054886000,
	0x0fd864280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400002,
	0x054884280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x06000febe,
	0x042801010,
	0x042811228,
	0x000027410,
	0x0e5a18081,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x06000fea6,
	0x042801010,
	0x042811228,
	0x000037418,
	0x0e5a18081,
	0x023400008,
	0x058884280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x042801010,
	0x042811228,
	0x000027410,
	0x0e5a18081,
	0x00001e181,
	0x080812340,
	0x0000a5488,
	0x06000fe7a,
	0x042801010,
	0x042811228,
	0x000037418,
	0x0e5a18081,
	0x02340000c,
	0x058886000,
	0x0fd164280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400002,
	0x054884878,
	0x0001c2f08,
	0x02f480008,
	0x04869000c,
	0x0610017ce,
	0x0226f0018,
	0x0206f000c,
	0x0701cd1c0,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x042801010,
	0x042811228,
	0x00001e181,


@@ 1420,10 1382,30 @@ ulong bootcode[]={
	0x012280003,
	0x07418e5a1,
	0x080812340,
	0x000065888,
	0x013580028,
	0x04fef000c,
	0x06000fcac,
	0x000065088,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080812340,
	0x0000a5488,
	0x052882348,
	0x0000e2029,
	0x0000ad1c0,
	0x06000fe16,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080812340,
	0x0000a5488,
	0x052882348,
	0x0000e2029,
	0x0000ad1c0,
	0x06000fdde,
	0x042801010,
	0x042811228,
	0x00001e181,


@@ 1439,7 1421,18 @@ ulong bootcode[]={
	0x012280003,
	0x07418e5a1,
	0x080812340,
	0x000085888,
	0x000065088,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080812340,
	0x0000a5488,
	0x06000fd86,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x042801010,
	0x042811228,
	0x00001e181,


@@ 1450,16 1443,19 @@ ulong bootcode[]={
	0x012280003,
	0x07418e5a1,
	0x080812340,
	0x0000c5888,
	0x06000fc3c,
	0x000085888,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x013580028,
	0x06000fc20,
	0x06000fbb0,
	0x080814281,
	0x012280002,
	0x07410e5a1,
	0x080814281,
	0x012280003,
	0x07418e5a1,
	0x080812340,
	0x0000c5888,
	0x06000fd16,
	0x042801010,
	0x042811228,
	0x00001e181,


@@ 1469,28 1465,24 @@ ulong bootcode[]={
	0x02f082f48,
	0x000084869,
	0x0000c6100,
	0x016d4206f,
	0x017ce226f,
	0x00018206f,
	0x0000c701c,
	0x0d1c04fef,
	0x0000c6000,
	0x0fbe64280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400002,
	0x054886000,
	0x0fbce4280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400002,
	0x054884280,
	0x0d1c04280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x03340000a,
	0x054886000,
	0x0fba24280,
	0x042811228,
	0x000027410,
	0x0e5a18081,
	0x042811228,
	0x000037418,
	0x0e5a18081,
	0x023400006,
	0x058881358,
	0x000284fef,
	0x0000c6000,
	0x0fcac4280,
	0x010104281,
	0x012280001,
	0x0e1818081,


@@ 1518,7 1510,15 @@ ulong bootcode[]={
	0x0e5a18081,
	0x02340000c,
	0x058886000,
	0x0fb324280,
	0x0fc3c4280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400002,
	0x054881358,
	0x000286000,
	0x0fc206000,
	0x0fbb04280,
	0x010104281,
	0x012280001,
	0x0e1818081,


@@ 1526,126 1526,171 @@ ulong bootcode[]={
	0x054884878,
	0x0001c2f08,
	0x02f480008,
	0x048690006,
	0x0610015ea,
	0x0701cd1af,
	0x0000c4878,
	0x0001c2f2f,
	0x000104877,
	0x001620020,
	0x000226100,
	0x015d0701c,
	0x0d1af0018,
	0x04878001c,
	0x02f2f001c,
	0x048770162,
	0x0002c003e,
	0x0610015b6,
	0x0206f0024,
	0x04869000c,
	0x0610016d4,
	0x0206f000c,
	0x0701cd1c0,
	0x04fef0024,
	0x06000fac8,
	0x06000fac4,
	0x04fef000c,
	0x06000fbe6,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x000065488,
	0x06000faac,
	0x048780040,
	0x000025488,
	0x06000fbce,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x0000a5488,
	0x06000fba2,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080814281,
	0x012280002,
	0x07410e5a1,
	0x080814281,
	0x012280003,
	0x07418e5a1,
	0x080812340,
	0x000085888,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080814281,
	0x012280002,
	0x07410e5a1,
	0x080814281,
	0x012280003,
	0x07418e5a1,
	0x080812340,
	0x0000c5888,
	0x06000fb32,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x04878001c,
	0x02f082f48,
	0x000084869,
	0x000066100,
	0x01578206f,
	0x0000c7040,
	0x015ea701c,
	0x0d1af000c,
	0x04878001c,
	0x02f2f0010,
	0x048770162,
	0x000200022,
	0x0610015d0,
	0x0701cd1af,
	0x000184878,
	0x0001c2f2f,
	0x0001c4877,
	0x00162002c,
	0x0003e6100,
	0x015b6206f,
	0x00024701c,
	0x0d1c04fef,
	0x0000c6000,
	0x0fa8a6000,
	0x0fa866000,
	0x0fa826000,
	0x0fa7e6000,
	0x0fa7a598f,
	0x0226f0008,
	0x000246000,
	0x0fac86000,
	0x0fac44280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400006,
	0x054886000,
	0x0faac4878,
	0x000402f08,
	0x02f480008,
	0x048690006,
	0x061001578,
	0x0206f000c,
	0x010d13029,
	0x000041080,
	0x042803029,
	0x00004e088,
	0x011400001,
	0x054881011,
	0x049c07232,
	0x0b0016d10,
	0x07251b001,
	0x06e0a3036,
	0x00b208056,
	0x04efb0000,
	0x04280588f,
	0x04e753029,
	0x000021080,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054882029,
	0x000081080,
	0x020290008,
	0x07040d1c0,
	0x04fef000c,
	0x06000fa8a,
	0x06000fa86,
	0x06000fa82,
	0x06000fa7e,
	0x06000fa7a,
	0x0598f226f,
	0x00008206f,
	0x0000c10d1,
	0x030290004,
	0x010804280,
	0x030290004,
	0x0e0881140,
	0x000012029,
	0x000087210,
	0x0e2a81140,
	0x000022029,
	0x000087218,
	0x0e2a81140,
	0x000035888,
	0x02029000c,
	0x010802029,
	0x0000ce088,
	0x011400001,
	0x02029000c,
	0x07210e2a8,
	0x011400002,
	0x02029000c,
	0x07218e2a8,
	0x011400003,
	0x058882008,
	0x090af000c,
	0x0588f4e75,
	0x030290002,
	0x010803029,
	0x0000248c0,
	0x0e0801140,
	0x000015488,
	0x03029000a,
	0x010803029,
	0x0000a48c0,
	0x0e0801140,
	0x000015488,
	0x04878001c,
	0x04869000c,
	0x02f082f48,
	0x0000c6100,
	0x0146c206f,
	0x0000c701c,
	0x0d1c04fef,
	0x0000c60ae,
	0x0101149c0,
	0x07232b001,
	0x06d107251,
	0x0b0016e0a,
	0x030360b20,
	0x080764efb,
	0x000004280,
	0x0588f4e75,
	0x030290002,
	0x010803029,
	0x0000248c0,
	0x0e0801140,
	0x000015488,
	0x060983029,
	0x020290008,
	0x010802029,
	0x00008e088,
	0x011400001,
	0x020290008,
	0x07210e2a8,
	0x011400002,
	0x020290008,
	0x07218e2a8,
	0x011400003,
	0x058882029,
	0x0000c1080,
	0x02029000c,
	0x0e0881140,
	0x000012029,
	0x0000c7210,
	0x0e2a81140,
	0x000022029,
	0x0000c7218,
	0x0e2a81140,
	0x000035888,
	0x0200890af,
	0x0000c588f,
	0x04e753029,
	0x000021080,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054883029,
	0x0000a1080,
	0x03029000a,
	0x048c0e080,
	0x011400001,
	0x054884878,
	0x000744869,
	0x000062f08,
	0x0001c4869,
	0x0000c2f08,
	0x02f48000c,
	0x061001422,
	0x06100146c,
	0x0206f000c,
	0x07074d1c0,
	0x0701cd1c0,
	0x04fef000c,
	0x06000ff64,
	0x060ae3029,
	0x000021080,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054886098,
	0x030290002,
	0x010803029,
	0x0000248c0,


@@ 1655,106 1700,65 @@ ulong bootcode[]={
	0x048690006,
	0x02f082f48,
	0x0000c6100,
	0x013ec206f,
	0x01422206f,
	0x0000c7074,
	0x0d1c04fef,
	0x0000c6000,
	0x0ff2e3029,
	0x000021080,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054886000,
	0x0ff163029,
	0x000021080,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054886000,
	0x0fefe3029,
	0x0ff643029,
	0x000021080,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054886000,
	0x0fee63029,
	0x000021080,
	0x054884878,
	0x000744869,
	0x000062f08,
	0x02f48000c,
	0x0610013ec,
	0x0206f000c,
	0x07074d1c0,
	0x04fef000c,
	0x06000ff2e,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054886000,
	0x0fece3029,
	0x000021080,
	0x010803029,
	0x0000248c0,
	0x0e0801140,
	0x000015488,
	0x06000ff16,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054886000,
	0x0feb63029,
	0x000021080,
	0x010803029,
	0x0000248c0,
	0x0e0801140,
	0x000015488,
	0x06000fefe,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054882029,
	0x0000a1080,
	0x02029000a,
	0x010803029,
	0x0000248c0,
	0x0e0801140,
	0x000015488,
	0x06000fe8c,
	0x06000fee6,
	0x030290002,
	0x010803029,
	0x0000248c0,
	0x0e0801140,
	0x000015488,
	0x020290006,
	0x010802029,
	0x00006e080,
	0x011400001,
	0x020290006,
	0x07210e2a0,
	0x011400002,
	0x020290006,
	0x07218e2a0,
	0x011400003,
	0x042280004,
	0x042280005,
	0x042280006,
	0x042280007,
	0x050882029,
	0x0000a1080,
	0x02029000a,
	0x06000fece,
	0x030290002,
	0x010803029,
	0x0000248c0,
	0x0e0801140,
	0x000015488,
	0x052882f29,
	0x0000a2f29,
	0x0000e2f08,
	0x02f48000c,
	0x0610012c6,
	0x0206f000c,
	0x020370162,
	0x00014000a,
	0x0d1c04fef,
	0x0000c6000,
	0x0fe023029,
	0x000021080,
	0x06000feb6,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054882029,
	0x0000a1080,
	0x02029000a,
	0x010803029,
	0x0000248c0,
	0x0e0801140,
	0x000015488,
	0x052882f29,
	0x0000a2f29,
	0x0000e2f08,
	0x02f48000c,
	0x061001276,
	0x0206f000c,
	0x020370162,
	0x00014000a,
	0x0d1c04fef,
	0x0000c6000,
	0x0fdb23029,
	0x02029000a,
	0x010802029,
	0x0000ae080,
	0x011400001,
	0x054886000,
	0x0fe8c3029,
	0x000021080,
	0x030290002,
	0x048c0e080,


@@ 1778,47 1782,42 @@ ulong bootcode[]={
	0x010802029,
	0x0000ae080,
	0x011400001,
	0x054886000,
	0x0fd4e3029,
	0x000021080,
	0x054885288,
	0x02f29000a,
	0x02f29000e,
	0x02f082f48,
	0x0000c6100,
	0x012c6206f,
	0x0000c2037,
	0x001620014,
	0x0000ad1c0,
	0x04fef000c,
	0x06000fe02,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054882029,
	0x000081080,
	0x020290008,
	0x0e0881140,
	0x000012029,
	0x000087210,
	0x0e2a81140,
	0x000022029,
	0x000087218,
	0x0e2a81140,
	0x000035888,
	0x02029000c,
	0x010803029,
	0x0000248c0,
	0x0e0801140,
	0x000015488,
	0x02029000a,
	0x010802029,
	0x0000ce088,
	0x0000ae080,
	0x011400001,
	0x02029000c,
	0x07210e2a8,
	0x011400002,
	0x02029000c,
	0x07218e2a8,
	0x011400003,
	0x058886000,
	0x0fce23029,
	0x000021080,
	0x054885288,
	0x02f29000a,
	0x02f29000e,
	0x02f082f48,
	0x0000c6100,
	0x01276206f,
	0x0000c2037,
	0x001620014,
	0x0000ad1c0,
	0x04fef000c,
	0x06000fdb2,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054884878,
	0x0001c4869,
	0x0000c2f08,
	0x02f48000c,
	0x06100116a,
	0x0226f0014,
	0x0206f000c,
	0x0701cd1c0,
	0x010803029,
	0x0000248c0,
	0x0e0801140,
	0x000015488,
	0x020290006,
	0x010802029,
	0x00006e080,


@@ 1829,75 1828,69 @@ ulong bootcode[]={
	0x020290006,
	0x07218e2a0,
	0x011400003,
	0x0588810e9,
	0x000284fef,
	0x0000c6000,
	0x0fc7a3029,
	0x000021080,
	0x042280004,
	0x042280005,
	0x042280006,
	0x042280007,
	0x050882029,
	0x0000a1080,
	0x02029000a,
	0x0e0801140,
	0x000015488,
	0x06000fd4e,
	0x030290002,
	0x048c0e080,
	0x010803029,
	0x0000248c0,
	0x0e0801140,
	0x000015488,
	0x020290008,
	0x010802029,
	0x00008e088,
	0x011400001,
	0x054882029,
	0x000081080,
	0x020290008,
	0x07210e2a8,
	0x011400002,
	0x020290008,
	0x07218e2a8,
	0x011400003,
	0x058882029,
	0x0000c1080,
	0x02029000c,
	0x0e0881140,
	0x000012029,
	0x000087210,
	0x0000c7210,
	0x0e2a81140,
	0x000022029,
	0x000087218,
	0x0000c7218,
	0x0e2a81140,
	0x000035888,
	0x02029000c,
	0x010802029,
	0x0000ce088,
	0x011400001,
	0x02029000c,
	0x07210e2a8,
	0x011400002,
	0x02029000c,
	0x07218e2a8,
	0x011400003,
	0x058886000,
	0x0fc0e3029,
	0x000021080,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x0548810e9,
	0x000286000,
	0x0fbf26000,
	0x0fb863029,
	0x000021080,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054884878,
	0x0001c4869,
	0x0000c2f08,
	0x02f48000c,
	0x061001076,
	0x0206f000c,
	0x0701cd1c0,
	0x04fef000c,
	0x06000fbb8,
	0x030290002,
	0x010803029,
	0x0000248c0,
	0x0e0801140,
	0x000015488,
	0x06000fba0,
	0x06000fce2,
	0x030290002,
	0x010803029,
	0x0000248c0,
	0x0e0801140,
	0x000015488,
	0x03029000a,
	0x010803029,
	0x0000a48c0,
	0x04878001c,
	0x04869000c,
	0x02f082f48,
	0x0000c6100,
	0x0116a226f,
	0x00014206f,
	0x0000c701c,
	0x0d1c02029,
	0x000061080,
	0x020290006,
	0x0e0801140,
	0x000015488,
	0x06000fb74,
	0x000012029,
	0x000067210,
	0x0e2a01140,
	0x000022029,
	0x000067218,
	0x0e2a01140,
	0x000035888,
	0x010e90028,
	0x04fef000c,
	0x06000fc7a,
	0x030290002,
	0x010803029,
	0x0000248c0,


@@ 1924,1199 1917,1184 @@ ulong bootcode[]={
	0x0000c7218,
	0x0e2a81140,
	0x000035888,
	0x06000fb08,
	0x06000fc0e,
	0x030290002,
	0x010803029,
	0x0000248c0,
	0x0e0801140,
	0x000015488,
	0x010e90028,
	0x06000fbf2,
	0x06000fb86,
	0x030290002,
	0x010803029,
	0x0000248c0,
	0x0e0801140,
	0x000015488,
	0x04878001c,
	0x048690006,
	0x04869000c,
	0x02f082f48,
	0x0000c6100,
	0x00f90701c,
	0x0d1af000c,
	0x04878001c,
	0x048770162,
	0x000180022,
	0x02f2f0014,
	0x061000f76,
	0x0701cd1af,
	0x000184878,
	0x0001c4877,
	0x001620024,
	0x0003e2f2f,
	0x000206100,
	0x00f5c206f,
	0x00024701c,
	0x01076206f,
	0x0000c701c,
	0x0d1c04fef,
	0x000246000,
	0x0fa9e6000,
	0x0fa9a3029,
	0x000061080,
	0x042803029,
	0x00006e088,
	0x0000c6000,
	0x0fbb83029,
	0x000021080,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054886000,
	0x0fba03029,
	0x000021080,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054883029,
	0x0000a1080,
	0x03029000a,
	0x048c0e080,
	0x011400001,
	0x054886000,
	0x0fa824878,
	0x000404869,
	0x0fb743029,
	0x000021080,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054882029,
	0x000081080,
	0x020290008,
	0x0e0881140,
	0x000012029,
	0x000087210,
	0x0e2a81140,
	0x000022029,
	0x000087218,
	0x0e2a81140,
	0x000035888,
	0x02029000c,
	0x010802029,
	0x0000ce088,
	0x011400001,
	0x02029000c,
	0x07210e2a8,
	0x011400002,
	0x02029000c,
	0x07218e2a8,
	0x011400003,
	0x058886000,
	0x0fb083029,
	0x000021080,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054884878,
	0x0001c4869,
	0x000062f08,
	0x02f48000c,
	0x061000f1e,
	0x0206f000c,
	0x07040d1c0,
	0x04fef000c,
	0x06000fa60,
	0x06000fa5c,
	0x06000fa58,
	0x06000fa54,
	0x06000fa50,
	0x04fefff8c,
	0x048572f2f,
	0x0007c6100,
	0x0f1be72ff,
	0x0b2806608,
	0x070ff4fef,
	0x0007c4e75,
	0x02f2f0084,
	0x0486f000c,
	0x06100f1b6,
	0x042804fef,
	0x000844e75,
	0x02d7c0000,
	0x045a480fe,
	0x061000f90,
	0x0701cd1af,
	0x0000c4878,
	0x0001c4877,
	0x001620018,
	0x000222f2f,
	0x000146100,
	0x00f76701c,
	0x0d1af0018,
	0x04878001c,
	0x048770162,
	0x00024003e,
	0x02f2f0020,
	0x061000f5c,
	0x0206f0024,
	0x0701cd1c0,
	0x04fef0024,
	0x06000fa9e,
	0x06000fa9a,
	0x030290006,
	0x010804280,
	0x030290006,
	0x0e0881140,
	0x000015488,
	0x06000fa82,
	0x048780040,
	0x048690006,
	0x02f082f48,
	0x0000c6100,
	0x00f1e206f,
	0x0000c7040,
	0x0d1c04fef,
	0x0000c6000,
	0x0fa606000,
	0x0fa5c6000,
	0x0fa586000,
	0x0fa546000,
	0x0fa504fef,
	0x0ff8c4857,
	0x02f2f007c,
	0x06100f1c0,
	0x072ffb280,
	0x0660870ff,
	0x04fef007c,
	0x04e752f2f,
	0x00084486f,
	0x0000c6100,
	0x0f1b84280,
	0x04fef0084,
	0x04e752d7c,
	0x00000468e,
	0x086361d7c,
	0x000019919,
	0x01d7c0001,
	0x088ed1d7c,
	0x0000188ef,
	0x0991b1d7c,
	0x000019911,
	0x01d7c0001,
	0x088e51d7c,
	0x00001892a,
	0x099561d7c,
	0x00001995a,
	0x01d7c0001,
	0x0892e1d7c,
	0x000018937,
	0x02d7c0000,
	0x042148102,
	0x099632d7c,
	0x0000042fe,
	0x0863a1d7c,
	0x000029952,
	0x01d7c0002,
	0x089261d7c,
	0x000028931,
	0x0995d1d7c,
	0x000029966,
	0x01d7c0002,
	0x0893a1d7c,
	0x00002891a,
	0x02d7c0000,
	0x045f68106,
	0x01d7c0003,
	0x089271d7c,
	0x000038928,
	0x099462d7c,
	0x0000046e0,
	0x0863e1d7c,
	0x000039953,
	0x01d7c0003,
	0x089291d7c,
	0x000038907,
	0x099541d7c,
	0x000039955,
	0x01d7c0003,
	0x089092d7c,
	0x000004546,
	0x0810a1d7c,
	0x000048925,
	0x099331d7c,
	0x000039935,
	0x02d7c0000,
	0x0456c810e,
	0x01d7c0005,
	0x089352d7c,
	0x00000458a,
	0x081121d7c,
	0x0000688e7,
	0x070072d40,
	0x0800e4878,
	0x000804878,
	0x00001486e,
	0x088026100,
	0x00eba422e,
	0x08802422e,
	0x0880b422e,
	0x0880c422e,
	0x088274fef,
	0x0000c4e75,
	0x04aae800e,
	0x066046100,
	0x0ff30022f,
	0x0007f0007,
	0x07028b0ae,
	0x0800e6e04,
	0x070014e75,
	0x0202e800e,
	0x0122f0007,
	0x049c11d80,
	0x0192088c2,
	0x052ae800e,
	0x0122f0007,
	0x049c11036,
	0x0192088c2,
	0x049c02daf,
	0x000080d20,
	0x080fa4280,
	0x04e754fef,
	0x0ffe42a2f,
	0x0002c226f,
	0x000282f6e,
	0x080060004,
	0x02eae8016,
	0x0266f0020,
	0x0202f0024,
	0x053802d40,
	0x08016282e,
	0x08016988b,
	0x042822002,
	0x0b4846c16,
	0x010312910,
	0x049c02600,
	0x0707fc083,
	0x04a360920,
	0x088026600,
	0x00186d3c2,
	0x0d7c22d4b,
	0x080062002,
	0x0d5ae801a,
	0x0101949c0,
	0x024007025,
	0x0b082675e,
	0x04a826626,
	0x0b7ee8016,
	0x06506266e,
	0x08016538b,
	0x0b7ee8016,
	0x064024213,
	0x02d6f0004,
	0x080062d57,
	0x08016200b,
	0x04fef001c,
	0x04e75b7ee,
	0x080166402,
	0x016c252ae,
	0x0801a700a,
	0x0b0826606,
	0x042ae801a,
	0x060807009,
	0x0b0826600,
	0x0ff7a7007,
	0x0d0ae801a,
	0x0c0bcffff,
	0x0fff82d40,
	0x0801a6000,
	0x0ff66347c,
	0x0fc182f7c,
	0x0fffffc18,
	0x0001442af,
	0x000101019,
	0x046308642,
	0x01d7c0004,
	0x099512d7c,
	0x000004656,
	0x086461d7c,
	0x000059961,
	0x02d7c0000,
	0x04674864a,
	0x01d7c0006,
	0x099137007,
	0x02d408016,
	0x048780080,
	0x048780001,
	0x0486e976a,
	0x061000eba,
	0x0422e976a,
	0x0422e9773,
	0x0422e9774,
	0x0422e978f,
	0x04fef000c,
	0x04e754aae,
	0x080166604,
	0x06100ff30,
	0x0022f007f,
	0x000077028,
	0x0b0ae8016,
	0x06e047001,
	0x04e75202e,
	0x08016122f,
	0x0000749c1,
	0x01d801920,
	0x098ee52ae,
	0x08016122f,
	0x0000749c1,
	0x010361920,
	0x098ee49c0,
	0x02daf0008,
	0x00d208632,
	0x042804e75,
	0x04fefffe4,
	0x02a2f002c,
	0x0226f0028,
	0x02f6e8012,
	0x000042eae,
	0x08022266f,
	0x00020202f,
	0x000245380,
	0x02d408022,
	0x0282e8022,
	0x0988b4282,
	0x02002b484,
	0x06c161031,
	0x0291049c0,
	0x02600707f,
	0x0c0834a36,
	0x00920976a,
	0x066000186,
	0x0d3c2d7c2,
	0x02d4b8012,
	0x02002d5ae,
	0x080261019,
	0x049c02400,
	0x02f490028,
	0x04a826606,
	0x053896000,
	0x0ff42702e,
	0x0b0826610,
	0x0b4fcfc18,
	0x06604347c,
	0x0000042af,
	0x0001460d6,
	0x07031b082,
	0x06e467039,
	0x0b0826d40,
	0x042837030,
	0x0b0826e06,
	0x07039b082,
	0x06c10b4fc,
	0x0fc186604,
	0x0244360bc,
	0x02f430014,
	0x060b62003,
	0x02203d281,
	0x0d281d081,
	0x0d080d082,
	0x090bc0000,
	0x000302600,
	0x07025b082,
	0x0675e4a82,
	0x06626b7ee,
	0x080226506,
	0x0266e8022,
	0x0538bb7ee,
	0x080226402,
	0x042132d6f,
	0x000048012,
	0x02d578022,
	0x0200b4fef,
	0x0001c4e75,
	0x0b7ee8022,
	0x0640216c2,
	0x052ae8026,
	0x0700ab082,
	0x0660642ae,
	0x080266080,
	0x07009b082,
	0x06600ff7a,
	0x07007d0ae,
	0x08026c0bc,
	0x0fffffff8,
	0x02d408026,
	0x06000ff66,
	0x0347cfc18,
	0x02f7cffff,
	0x0fc180014,
	0x042af0010,
	0x0101949c0,
	0x024002f49,
	0x0002860c2,
	0x000284a82,
	0x066065389,
	0x06000ff42,
	0x0702eb082,
	0x06610b4fc,
	0x0fc186604,
	0x0347c0000,
	0x042af0014,
	0x060d67031,
	0x0b0826e46,
	0x07039b082,
	0x06d404283,
	0x07030b082,
	0x06606b4fc,
	0x0fc1866b4,
	0x0702ab082,
	0x0661c2430,
	0x059905885,
	0x02005b4fc,
	0x0fc186606,
	0x024426000,
	0x0ff662f42,
	0x06e067039,
	0x0b0826c10,
	0x0b4fcfc18,
	0x066042443,
	0x060bc2f43,
	0x0001460b6,
	0x020032203,
	0x0d281d281,
	0x0d081d080,
	0x0d08290bc,
	0x000000030,
	0x026001019,
	0x049c02400,
	0x02f490028,
	0x060c27030,
	0x0b0826606,
	0x0b4fcfc18,
	0x066b4702a,
	0x0b082661c,
	0x024305990,
	0x058852005,
	0x0b4fcfc18,
	0x066062442,
	0x06000ff66,
	0x02f420014,
	0x06000ff5e,
	0x0c4bc0000,
	0x0007f2f02,
	0x02f2f0014,
	0x02f2f001c,
	0x02f0a2f4a,
	0x000282f05,
	0x02f450040,
	0x010362920,
	0x098ee49c0,
	0x020760d20,
	0x086324e90,
	0x02a2f0040,
	0x0266e8012,
	0x0246f002c,
	0x0226f003c,
	0x04a806c0e,
	0x0448081af,
	0x000244fef,
	0x000146000,
	0x0ff5ec4bc,
	0x00000007f,
	0x02f022f2f,
	0x000142f2f,
	0x0001c2f0a,
	0x02f4a0028,
	0x02f052f45,
	0x000401036,
	0x0292088c2,
	0x049c02076,
	0x00d2080fa,
	0x04e902a2f,
	0x00040266e,
	0x08006246f,
	0x0002c226f,
	0x0003c4a80,
	0x06c0e4480,
	0x081af0024,
	0x0ff10da80,
	0x04fef0014,
	0x06000ff10,
	0x0da804fef,
	0x000146000,
	0x0fe5a1783,
	0x029105282,
	0x06000fe58,
	0x0222f0008,
	0x00c81ffff,
	0x0fc186708,
	0x07002c0af,
	0x000106614,
	0x06000fe5a,
	0x017832910,
	0x052826000,
	0x0fe58222f,
	0x000080c81,
	0x0fffffc18,
	0x067087002,
	0x0c0af0010,
	0x066142f2f,
	0x0000c2f01,
	0x02f2f000c,
	0x02f012f2f,
	0x0000c6100,
	0x0020e4fef,
	0x0000c4e75,
	0x0448160e8,
	0x04fefffbc,
	0x0242f0058,
	0x0226f0048,
	0x0206f0050,
	0x02e2f0054,
	0x02a174284,
	0x0367c0000,
	0x02c02726f,
	0x0b4816d00,
	0x001c86e00,
	0x001a47c08,
	0x0347c0000,
	0x07078c087,
	0x07228b081,
	0x06d000156,
	0x06e00011c,
	0x028117004,
	0x02f400014,
	0x07020c087,
	0x066064a84,
	0x06d0000fe,
	0x0422f0041,
	0x0741c7040,
	0x0c0876700,
	0x000da2005,
	0x04c460801,
	0x026017030,
	0x0d6807039,
	0x0b0836c04,
	0x07027d680,
	0x022021f83,
	0x06100020e,
	0x04fef000c,
	0x04e754481,
	0x060e84fef,
	0x0ffbc242f,
	0x00058226f,
	0x00048206f,
	0x000502e2f,
	0x000542a17,
	0x04284367c,
	0x000002c02,
	0x0726fb481,
	0x06d0001c8,
	0x06e0001a4,
	0x07c08347c,
	0x000007078,
	0x0c0877228,
	0x0b0816d00,
	0x001566e00,
	0x0011c2811,
	0x070042f40,
	0x000147020,
	0x0c0876606,
	0x04a846d00,
	0x000fe422f,
	0x00041741c,
	0x07040c087,
	0x0670000da,
	0x020054c46,
	0x008012601,
	0x07030d680,
	0x07039b083,
	0x06c047027,
	0x0d6802202,
	0x01f832920,
	0x000247002,
	0x0b0826f7c,
	0x07004c087,
	0x0671a0c37,
	0x000302920,
	0x000246710,
	0x07008b086,
	0x066385382,
	0x01fbc0030,
	0x029200024,
	0x0b4fc0000,
	0x0670a5382,
	0x01fbc002d,
	0x029200024,
	0x07002b082,
	0x06f7c7004,
	0x0c087671a,
	0x00c370030,
	0x02f074878,
	0x0fc182f2f,
	0x000544877,
	0x029200030,
	0x06100ff0c,
	0x0202f0024,
	0x04fef0054,
	0x04e757010,
	0x0b08666cc,
	0x0b6fc0000,
	0x067165382,
	0x01fbc0058,
	0x029200024,
	0x067107008,
	0x0b0866638,
	0x053821fbc,
	0x000302920,
	0x00024b4fc,
	0x00000670a,
	0x053821fbc,
	0x0002d2920,
	0x000242f07,
	0x04878fc18,
	0x02f2f0054,
	0x048772920,
	0x000306100,
	0x0ff0c202f,
	0x000244fef,
	0x000544e75,
	0x07010b086,
	0x066ccb6fc,
	0x000006716,
	0x0002460b0,
	0x053821fbc,
	0x000582920,
	0x000245382,
	0x01fbc0030,
	0x029200024,
	0x060b05382,
	0x01fbc0078,
	0x029200024,
	0x060e87040,
	0x0c087673e,
	0x020054c46,
	0x008012a00,
	0x0b0fcfc18,
	0x06708701e,
	0x09088b082,
	0x06f127040,
	0x0c0876706,
	0x04a856f00,
	0x0ff5e4a84,
	0x06f00ff58,
	0x053827040,
	0x0c0876600,
	0x0ff2a2004,
	0x04c460001,
	0x026016000,
	0x0ff262004,
	0x04c460001,
	0x0280060c0,
	0x04484347c,
	0x000016000,
	0x0fefc7230,
	0x0b280671e,
	0x07248b280,
	0x0670c2811,
	0x000782920,
	0x0002460e8,
	0x07040c087,
	0x0673e2005,
	0x04c460801,
	0x02a00b0fc,
	0x0fc186708,
	0x0701e9088,
	0x0b0826f12,
	0x07040c087,
	0x067064a85,
	0x06f00ff5e,
	0x04a846f00,
	0x0ff585382,
	0x07040c087,
	0x06600ff2a,
	0x020044c46,
	0x000012601,
	0x06000ff26,
	0x020044c46,
	0x000012800,
	0x060c04484,
	0x0347c0001,
	0x06000fefc,
	0x07230b280,
	0x0671e7248,
	0x0b280670c,
	0x028117004,
	0x02f400014,
	0x06000fed8,
	0x02a117004,
	0x02f400014,
	0x06000fecc,
	0x028113404,
	0x042843802,
	0x070042f40,
	0x000146000,
	0x0fed82a11,
	0x0feba7208,
	0x0b280672a,
	0x07210b280,
	0x067127220,
	0x0b28066c4,
	0x028117004,
	0x02f400014,
	0x06000fe9c,
	0x028113404,
	0x0380248c4,
	0x070042f40,
	0x000146000,
	0x0fecc2811,
	0x034044284,
	0x038027004,
	0x02f400014,
	0x06000feba,
	0x07208b280,
	0x0672a7210,
	0x0b2806712,
	0x07220b280,
	0x066c42811,
	0x0fe8a2811,
	0x070042f40,
	0x000146000,
	0x0fe9c2811,
	0x034043802,
	0x048c47004,
	0x02f400014,
	0x06000fe8a,
	0x028117004,
	0x02f400014,
	0x06000fe7e,
	0x07275b286,
	0x0670e7278,
	0x0b2866600,
	0x0fe547c10,
	0x06000fe4e,
	0x08ebc0000,
	0x000207c0a,
	0x06000fe42,
	0x07258b282,
	0x0670a7264,
	0x0b2826600,
	0x0fe3460ea,
	0x0367c0001,
	0x060d8518f,
	0x02f2f000c,
	0x06100ec1c,
	0x0266f0010,
	0x0246e8016,
	0x0262f0014,
	0x0226f0018,
	0x0206e8006,
	0x022000c83,
	0x0fffffc18,
	0x067064a83,
	0x06c000084,
	0x0101b49c0,
	0x024006734,
	0x0b2fcfc18,
	0x06706b2fc,
	0x000006fec,
	0x0b1ca6406,
	0x010c22d48,
	0x0800652ae,
	0x0801a700a,
	0x0b0826642,
	0x042ae801a,
	0x0b2fcfc18,
	0x067ce5389,
	0x0101b49c0,
	0x0240066cc,
	0x0fe7e7275,
	0x0b286670e,
	0x07278b286,
	0x06600fe54,
	0x07c106000,
	0x0fe4e8ebc,
	0x000000020,
	0x07c0a6000,
	0x0fe427258,
	0x0b282670a,
	0x07264b282,
	0x06600fe34,
	0x060ea367c,
	0x0000160d8,
	0x0518f2f2f,
	0x0000c6100,
	0x0ebdc266f,
	0x00010246e,
	0x08022262f,
	0x00014226f,
	0x00018206e,
	0x080122200,
	0x00c83ffff,
	0x0fc186704,
	0x04a836d06,
	0x04fef000c,
	0x04e752403,
	0x04482b282,
	0x06cf2b1ca,
	0x0640810fc,
	0x000202d48,
	0x0800652ae,
	0x0801a5281,
	0x060e87009,
	0x0b08266bc,
	0x07007d0ae,
	0x0801ac0bc,
	0x0fffffff8,
	0x02d40801a,
	0x060aa2001,
	0x0b2836c00,
	0x0ff78b1ca,
	0x0640810fc,
	0x000202d48,
	0x0800652ae,
	0x0801a5281,
	0x060e4598f,
	0x04aae800e,
	0x066306100,
	0x0fa14262f,
	0x000182f03,
	0x02f2f0018,
	0x02f2f0018,
	0x02f2f0018,
	0x02f2f0018,
	0x012363920,
	0x088c249c1,
	0x020761d20,
	0x080fa4e90,
	0x04fef0018,
	0x04e751ebc,
	0x0002a202f,
	0x000181f40,
	0x000011f7c,
	0x0002a0002,
	0x0422f0003,
	0x04878fc18,
	0x042a7486f,
	0x0fc186706,
	0x04a836c00,
	0x00084101b,
	0x049c02400,
	0x06734b2fc,
	0x0fc186706,
	0x0b2fc0000,
	0x06fecb1ca,
	0x0640610c2,
	0x02d488012,
	0x052ae8026,
	0x0700ab082,
	0x0664242ae,
	0x08026b2fc,
	0x0fc1867ce,
	0x05389101b,
	0x049c02400,
	0x066cc0c83,
	0x0fffffc18,
	0x067044a83,
	0x06d064fef,
	0x0000c4e75,
	0x024034482,
	0x0b2826cf2,
	0x0b1ca6408,
	0x010fc0020,
	0x02d488012,
	0x052ae8026,
	0x0528160e8,
	0x07009b082,
	0x066bc7007,
	0x0d0ae8026,
	0x0c0bcffff,
	0x0fff82d40,
	0x0802660aa,
	0x02001b283,
	0x06c00ff78,
	0x0b1ca6408,
	0x010fc0020,
	0x02d488012,
	0x052ae8026,
	0x0528160e4,
	0x0598f4aae,
	0x080166630,
	0x06100fa14,
	0x0262f0018,
	0x02f032f2f,
	0x000182f2f,
	0x000182f2f,
	0x000182f2f,
	0x000181236,
	0x0392098ee,
	0x049c12076,
	0x01d208632,
	0x04e904fef,
	0x000184e75,
	0x01ebc002a,
	0x0202f0018,
	0x01f400001,
	0x01f7c002a,
	0x00002422f,
	0x000034878,
	0x0fc1842a7,
	0x0486f0008,
	0x06100feda,
	0x042804fef,
	0x000104e75,
	0x0598f2037,
	0x001610008,
	0x01e80422f,
	0x000014878,
	0x0fc182f2f,
	0x00010486f,
	0x000086100,
	0x0feda4280,
	0x0feb47004,
	0x04fef0010,
	0x04e75598f,
	0x020370161,
	0x000081e80,
	0x0422f0001,
	0x04878fc18,
	0x02f2f0010,
	0x0486f0008,
	0x06100feb4,
	0x04e752f2f,
	0x000102f2f,
	0x000102f2f,
	0x000102f37,
	0x001610010,
	0x06100fc68,
	0x070044fef,
	0x000104e75,
	0x02f2f0010,
	0x02f2f0010,
	0x02f2f0010,
	0x02f370161,
	0x000106100,
	0x0fc687004,
	0x04fef0010,
	0x04e75202e,
	0x08006b0ae,
	0x08016640c,
	0x01dbc0025,
	0x001618006,
	0x052ae8006,
	0x042804e75,
	0x0202f0014,
	0x07268b081,
	0x06d2a6e04,
	0x070f04e75,
	0x0726cb280,
	0x0670e7275,
	0x0b2806704,
	0x042804e75,
	0x070e04e75,
	0x07008c0af,
	0x000106704,
	0x070c04e75,
	0x070f84e75,
	0x07223b280,
	0x06714722b,
	0x0b280670a,
	0x0722db280,
	0x066d670fe,
	0x04e7570ff,
	0x04e7570fc,
	0x04e754fef,
	0x0ff74f237,
	0x055000161,
	0x00090f22f,
	0x075000034,
	0x0f2277500,
	0x0610008bc,
	0x0202e8012,
	0x0b0ae8022,
	0x0640c1dbc,
	0x000250161,
	0x0801252ae,
	0x080124280,
	0x04e75202f,
	0x000147268,
	0x0b0816d2a,
	0x06e0470f0,
	0x04e75726c,
	0x0b280670e,
	0x07275b280,
	0x067044280,
	0x04e7570e0,
	0x04e757008,
	0x0c0af0010,
	0x0670470c0,
	0x04e7570f8,
	0x04e757223,
	0x0b2806714,
	0x0722bb280,
	0x0670a722d,
	0x0b28066d6,
	0x070fe4e75,
	0x070ff4e75,
	0x070fc4e75,
	0x04fefff74,
	0x0f2375500,
	0x001610090,
	0x0f22f7500,
	0x00034f227,
	0x075006100,
	0x008bc4a80,
	0x0671c2f2f,
	0x000a44878,
	0x0fc182f2f,
	0x000a4486e,
	0x0803a6100,
	0x0fbc27008,
	0x04fef00a4,
	0x04e754878,
	0x00001f22f,
	0x054000040,
	0x0f2277400,
	0x0610008e4,
	0x04a80671c,
	0x02f2f00a4,
	0x02f2f00b0,
	0x04878fc18,
	0x02f2f00a4,
	0x0486e819a,
	0x06100fbc2,
	0x02f2f00b0,
	0x0486e803e,
	0x06100fb90,
	0x070084fef,
	0x000a44e75,
	0x048780001,
	0x000b04e75,
	0x04878ffff,
	0x0f22f5400,
	0x00040f227,
	0x0004cf227,
	0x074006100,
	0x008e44a80,
	0x008b24a80,
	0x0671c2f2f,
	0x000b04878,
	0x000bc4878,
	0x0fc182f2f,
	0x000b0486e,
	0x0819e6100,
	0x0fb907008,
	0x04fef00b0,
	0x04e754878,
	0x0fffff22f,
	0x05400004c,
	0x0f2277400,
	0x0610008b2,
	0x04a80671c,
	0x02f2f00bc,
	0x04878fc18,
	0x02f2f00bc,
	0x0486e81a3,
	0x06100fb5e,
	0x070084fef,
	0x000bc4e75,
	0x042af0030,
	0x0f22f543a,
	0x00054f293,
	0x00016f22f,
	0x054000054,
	0x0f200001a,
	0x0f22f7400,
	0x0005452af,
	0x0003042af,
	0x000207041,
	0x0b0af00c0,
	0x06e0a705a,
	0x0b0af00c0,
	0x06c0004bc,
	0x042af0040,
	0x0f22f543a,
	0x00054f281,
	0x000e2486f,
	0x000bc486e,
	0x080436100,
	0x0fb5e7008,
	0x04fef00bc,
	0x04e7542af,
	0x00030f22f,
	0x0543a0054,
	0x0f2930016,
	0x0f22f5400,
	0x00054f200,
	0x0001af22f,
	0x074000054,
	0x052af0030,
	0x042af0020,
	0x07041b0af,
	0x000c06e0a,
	0x0705ab0af,
	0x000c06c00,
	0x004bc42af,
	0x00040f22f,
	0x054000058,
	0x0f2277400,
	0x0610004ac,
	0x0f22f4000,
	0x0004cf23c,
	0x054233fd3,
	0x044135547,
	0x05a32f22f,
	0x06000004c,
	0x0543a0054,
	0x0f28100e2,
	0x0486f0040,
	0x0f22f5400,
	0x00058f227,
	0x074006100,
	0x004acf22f,
	0x04000004c,
	0x0f23c5423,
	0x03fd34413,
	0x055475a32,
	0x0f22f6000,
	0x0004c202f,
	0x0004ce280,
	0x02f400048,
	0x044802f00,
	0x0610005d4,
	0x0f22f5423,
	0x00064f22f,
	0x074000054,
	0x0202f004c,
	0x0e2802f40,
	0x000484480,
	0x090af0050,
	0x02f006100,
	0x005d4f22f,
	0x054230064,
	0x0f22f7400,
	0x00054202f,
	0x0004c90af,
	0x000502f00,
	0x0610005ba,
	0x0f22f5423,
	0x00058f200,
	0x00100f23c,
	0x040000000,
	0x00001f200,
	0x00838f295,
	0x0003053af,
	0x00054202f,
	0x0005090af,
	0x000542f00,
	0x06100058e,
	0x0f22f5423,
	0x0005cf200,
	0x00100f23c,
	0x040000000,
	0x00001f200,
	0x00838588f,
	0x0f292ffd4,
	0x005baf22f,
	0x054230058,
	0x0f2000100,
	0x0f23c4000,
	0x00000000a,
	0x000000001,
	0x0f2000838,
	0x04fef0014,
	0x0f2920030,
	0x052af0040,
	0x0202f003c,
	0x090af0040,
	0x0f2950030,
	0x053af0054,
	0x0202f0050,
	0x090af0054,
	0x02f006100,
	0x0054cf22f,
	0x054230048,
	0x0058ef22f,
	0x05423005c,
	0x0f2000100,
	0x0f23c4000,
	0x00000000a,
	0x000000001,
	0x0f2000838,
	0x0588ff295,
	0x0ffd40caf,
	0x0fffffc18,
	0x000b86606,
	0x070062f40,
	0x000b87067,
	0x0b0af00c0,
	0x066084aaf,
	0x000b86e00,
	0x003a6701e,
	0x0b0af00b8,
	0x06c06701e,
	0x02f4000b8,
	0x07802d8af,
	0x000b87066,
	0x0b0af00c0,
	0x0660a202f,
	0x00040d880,
	0x06e027801,
	0x07020b084,
	0x042e72f44,
	0x0003644df,
	0x06e187065,
	0x0b0af00c0,
	0x0660670ff,
	0x02f4000b8,
	0x070652f40,
	0x000c06000,
	0x0fea8f22f,
	0x054000054,
	0x0f22f7400,
	0x0004c4aaf,
	0x000406c26,
	0x070ff90af,
	0x0588ff292,
	0x0ffd4f23c,
	0x040000000,
	0x0000af200,
	0x008384fef,
	0x00014f292,
	0x0003052af,
	0x00040202f,
	0x0003c90af,
	0x000402f00,
	0x0610004a6,
	0x0282f0038,
	0x0f2277400,
	0x0f22f5400,
	0x00058f21f,
	0x05423f22f,
	0x074000050,
	0x0588f4283,
	0x0b6846c6a,
	0x06100054c,
	0x0f22f5423,
	0x00048f200,
	0x00100f23c,
	0x040000000,
	0x0000af200,
	0x00838588f,
	0x0f295ffd4,
	0x00cafffff,
	0x0fc1800b8,
	0x066067006,
	0x02f4000b8,
	0x07067b0af,
	0x000c06608,
	0x04aaf00b8,
	0x06e0003a6,
	0x0701eb0af,
	0x000b86c06,
	0x0701e2f40,
	0x000b87802,
	0x0d8af00b8,
	0x07066b0af,
	0x000c0660a,
	0x0202f0040,
	0x090832f43,
	0x000384a80,
	0x06d0002ca,
	0x0d8806e02,
	0x078017020,
	0x0b08442e7,
	0x02f440036,
	0x044df6e18,
	0x07065b0af,
	0x000c06606,
	0x070ff2f40,
	0x000b87065,
	0x02f4000c0,
	0x06000fea8,
	0x0f22f5400,
	0x00054f22f,
	0x07400004c,
	0x04aaf0040,
	0x06c2670ff,
	0x090af0040,
	0x02f006100,
	0x00470f22f,
	0x054800050,
	0x0f20000a0,
	0x004a6282f,
	0x00038f227,
	0x07400f22f,
	0x054000058,
	0x0f21f5423,
	0x0f22f7400,
	0x00048f227,
	0x074806100,
	0x004b0262f,
	0x00044282f,
	0x00040f202,
	0x06000f202,
	0x04000f22f,
	0x054230050,
	0x00050588f,
	0x04283b684,
	0x06c6a202f,
	0x000409083,
	0x02f430038,
	0x04a806d00,
	0x002ca2f00,
	0x061000470,
	0x0f22f5480,
	0x00058f200,
	0x000a8f22f,
	0x074800058,
	0x07030d082,
	0x022031f80,
	0x039200091,
	0x05283b684,
	0x04fef000c,
	0x06d967605,
	0x074ffd484,
	0x06d362002,
	0x041f72920,
	0x000851010,
	0x049c0d083,
	0x010804283,
	0x00c370039,
	0x00050f200,
	0x000a0f22f,
	0x074000048,
	0x0f2277480,
	0x0610004b0,
	0x0262f0044,
	0x0282f0040,
	0x0f2026000,
	0x0f2024000,
	0x0f22f5423,
	0x00050f22f,
	0x054800058,
	0x0f20000a8,
	0x0f22f7480,
	0x000587030,
	0x0d0822203,
	0x01f803920,
	0x000915283,
	0x0b6844fef,
	0x0000c6d96,
	0x0760574ff,
	0x0d4846d36,
	0x0200241f7,
	0x029200085,
	0x06f162002,
	0x041f72920,
	0x000851010,
	0x049c090bc,
	0x00000000a,
	0x010805283,
	0x053826cca,
	0x07c014a83,
	0x0670c1f7c,
	0x000310084,
	0x052af0040,
	0x042864282,
	0x04aaf0030,
	0x0670001fe,
	0x01fbc002d,
	0x02920005c,
	0x052824283,
	0x07801d8af,
	0x000b82a2f,
	0x000b87067,
	0x0b0af00c0,
	0x0661470fb,
	0x0b0af0040,
	0x06e0c202f,
	0x00040b0af,
	0x000b86f00,
	0x001b07066,
	0x0b0af00c0,
	0x0661c262f,
	0x000404483,
	0x06c024283,
	0x0b6af00b8,
	0x06f022604,
	0x0202f0040,
	0x0d8806c02,
	0x042844a83,
	0x06f222003,
	0x0d084b085,
	0x0660a1fbc,
	0x0002e2920,
	0x0101049c0,
	0x0d0831080,
	0x042830c37,
	0x000392920,
	0x000856f16,
	0x0200241f7,
	0x029200085,
	0x0101049c0,
	0x090bc0000,
	0x0000a1080,
	0x052835382,
	0x06cca7c01,
	0x04a83670c,
	0x01f7c0031,
	0x0008452af,
	0x000404286,
	0x042824aaf,
	0x000306700,
	0x001fe1fbc,
	0x0002d2920,
	0x0005c5282,
	0x01fbc0030,
	0x02920005c,
	0x052825383,
	0x04a836ede,
	0x04a846f28,
	0x042837801,
	0x0d8af00b8,
	0x02a2f00b8,
	0x07067b0af,
	0x000c06614,
	0x070fbb0af,
	0x000406e0c,
	0x0202f0040,
	0x0b0af00b8,
	0x06f0001b0,
	0x07066b0af,
	0x000c0661c,
	0x0262f0040,
	0x044836c02,
	0x04283b6af,
	0x000b86f02,
	0x02604202f,
	0x00040d880,
	0x06c024284,
	0x04a836f22,
	0x02003d084,
	0x0b085660a,
	0x01fbc002e,
	0x02920005c,
	0x052822202,
	0x01fb76920,
	0x000842920,
	0x052821fbc,
	0x000302920,
	0x0005c5282,
	0x052865384,
	0x04a846ed8,
	0x07004c0af,
	0x000bc6700,
	0x000e82003,
	0x053834a83,
	0x06ede4a84,
	0x06f282003,
	0x0d084b085,
	0x0660a1fbc,
	0x0002e2920,
	0x0005c5282,
	0x07065b0af,
	0x000c0672a,
	0x07067b0af,
	0x000c06722,
	0x042372920,
	0x0005c2f2f,
	0x000bc4878,
	0x0fc182f2f,
	0x000bc486f,
	0x000686100,
	0x0f7d47008,
	0x04fef00bc,
	0x04e754aaf,
	0x000206700,
	0x0008e1fbc,
	0x000452920,
	0x0005c5282,
	0x0262f0040,
	0x06c701fbc,
	0x0002d2920,
	0x022021fb7,
	0x069200084,
	0x02920005c,
	0x052825286,
	0x053844a84,
	0x06ed87004,
	0x0c0af00bc,
	0x0670000e8,
	0x02003d084,
	0x0b085660a,
	0x01fbc002e,
	0x02920005c,
	0x052827065,
	0x0b0af00c0,
	0x0672a7067,
	0x0b0af00c0,
	0x067224237,
	0x02920005c,
	0x02f2f00bc,
	0x04878fc18,
	0x02f2f00bc,
	0x0486f0068,
	0x06100f7d4,
	0x070084fef,
	0x000bc4e75,
	0x04aaf0020,
	0x06700008e,
	0x01fbc0045,
	0x02920005c,
	0x05282262f,
	0x000406c70,
	0x01fbc002d,
	0x02920005c,
	0x052824483,
	0x07064b083,
	0x06e262003,
	0x04c7c0801,
	0x000000064,
	0x0d0bc0000,
	0x000302202,
	0x01f802920,
	0x0005c5282,
	0x044837064,
	0x0b0836e26,
	0x020034c7c,
	0x008010000,
	0x00064d0bc,
	0x000642601,
	0x020034c7c,
	0x008010000,
	0x0000ad0bc,
	0x000000030,
	0x022021f80,
	0x02920005c,
	0x052822003,
	0x04c7c0801,
	0x000000064,
	0x026012003,
	0x04c7c0801,
	0x00000000a,
	0x0d0bc0000,
	0x000302202,
	0x02001d0bc,
	0x000000030,
	0x01f802920,
	0x0005c5282,
	0x020034c7c,
	0x008010000,
	0x0000a2001,
	0x0d0bc0000,
	0x000301f80,
	0x06000ff58,
	0x01fbc002b,
	0x02920005c,
	0x052826090,
	0x01fbc0065,
	0x02920005c,
	0x052826000,
	0x0ff581fbc,
	0x0002b2920,
	0x0005c5282,
	0x060901fbc,
	0x000652920,
	0x0005c5282,
	0x06000ff72,
	0x07067b0af,
	0x000c0670a,
	0x07068b0af,
	0x000c06600,
	0x0ff1c76ff,
	0x0d6826d0a,
	0x00c370030,
	0x03920005c,
	0x067222803,
	0x06d00ff06,
	0x00c37002e,
	0x04920005c,
	0x0660e2403,
	0x0b8836700,
	0x0fef45282,
	0x06000feee,
	0x0538460e0,
	0x0538360ce,
	0x076ff96af,
	0x000406c02,
	0x042832a2f,
	0x000b89aaf,
	0x000407068,
	0x02f4000c0,
	0x06000fe38,
	0x07001c0af,
	0x000bc6700,
	0x0fe061fbc,
	0x0002b2920,
	0x0005c5282,
	0x06000fdf8,
	0x0f22f5400,
	0x0004cf23c,
	0x040230000,
	0x0000af22f,
	0x07400004c,
	0x0f2277400,
	0x0610001ea,
	0x0262f0040,
	0x0282f003c,
	0x0f2026000,
	0x0f2024000,
	0x0f22f5480,
	0x00054f200,
	0x000a8f22f,
	0x074800054,
	0x0598f6000,
	0x0fd3c53af,
	0x000b86000,
	0x0fc567001,
	0x02f400020,
	0x07020d1af,
	0x0ff727067,
	0x0b0af00c0,
	0x0670a7068,
	0x0b0af00c0,
	0x06600ff1c,
	0x076ffd682,
	0x06d0a0c37,
	0x000303920,
	0x0005c6722,
	0x028036d00,
	0x0ff060c37,
	0x0002e4920,
	0x0005c660e,
	0x02403b883,
	0x06700fef4,
	0x052826000,
	0x0feee5384,
	0x060e05383,
	0x060ce76ff,
	0x096af0040,
	0x06c024283,
	0x02a2f00b8,
	0x09aaf0040,
	0x070682f40,
	0x000c06000,
	0x0fb38518f,
	0x0fe387001,
	0x0c0af00bc,
	0x06700fe06,
	0x01fbc002b,
	0x02920005c,
	0x052826000,
	0x0fdf8f22f,
	0x05400004c,
	0x0f23c4023,
	0x00000000a,
	0x0f22f7400,
	0x0004cf227,
	0x074006100,
	0x001ea262f,
	0x00040282f,
	0x0003cf202,
	0x06000f202,
	0x04000f22f,
	0x054800054,
	0x0f20000a8,
	0x0f22f7480,
	0x00054598f,
	0x06000fd3c,
	0x053af00b8,
	0x06000fc56,
	0x070012f40,
	0x000207020,
	0x0d1af00c0,
	0x06000fb38,
	0x0518ff22f,
	0x05500000c,
	0x0206f0014,
	0x0f200083a,
	0x0f28e0010,
	0x04290f23c,
	0x040000000,
	0x00000508f,
	0x04e75f217,
	0x075002017,
	0x07214e2a0,
	0x0c0bc0000,
	0x007ff90bc,
	0x0000003fe,
	0x020800297,
	0x0800fffff,
	0x000973fe0,
	0x00000f217,
	0x05400508f,
	0x04e75518f,
	0x0f22f5500,
	0x0000c206f,
	0x0000c242f,
	0x00014f200,
	0x0083af28e,
	0x000104290,
	0x0f23c4000,
	0x000000000,
	0x0508f4e75,
	0x0f2177500,
	0x020177214,
	0x0e2a0c0bc,
	0x0000ef23c,
	0x040000000,
	0x00000508f,
	0x04e75f217,
	0x075002017,
	0x07214e2a0,
	0x0c0bc0000,
	0x007ffd480,
	0x06e0cf23c,
	0x040000000,
	0x00000508f,
	0x04e750c82,
	0x0000007ff,
	0x090bc0000,
	0x003fe2080,
	0x00297800f,
	0x0ffff0097,
	0x03fe00000,
	0x06d0cf23c,
	0x040000000,
	0x00000508f,
	0x04e750297,
	0x0800fffff,
	0x020027214,
	0x0e3a08197,
	0x0f2175400,
	0x0508f4e75,
	0x0518ff22f,
	0x05500000c,
	0x0242f0014,
	0x0f200083a,
	0x0f28e000e,
	0x0f23c4000,
	0x000000000,
	0x0508f4e75,
	0x0f2177500,
	0x020177214,
	0x0e2a0c0bc,
	0x04feffff4,
	0x0206f0018,
	0x0f22f5500,
	0x00010f23c,
	0x040000000,
	0x00001f200,
	0x00838f295,
	0x00018f23c,
	0x040000000,
	0x00000f210,
	0x07400f200,
	0x008004fef,
	0x0000c4e75,
	0x0f22f7500,
	0x00004242f,
	0x000047214,
	0x0e2a2c4bc,
	0x0000007ff,
	0x0d4806e0c,
	0x0f23c4000,
	0x000000000,
	0x0508f4e75,
	0x00c820000,
	0x007ff6d0c,
	0x0f23c4000,
	0x000000000,
	0x0508f4e75,
	0x00297800f,
	0x0ffff2002,
	0x07214e3a0,
	0x08197f217,
	0x05400508f,
	0x04e754fef,
	0x0fff4206f,
	0x00018f22f,
	0x055000010,
	0x0f23c4000,
	0x000000001,
	0x0f2000838,
	0x0f2950018,
	0x0f23c4000,
	0x000000000,
	0x094bc0000,
	0x003fe7015,
	0x0b0826d2c,
	0x0203c001f,
	0x0ffffe4a0,
	0x04680c1af,
	0x0000442af,
	0x00008f22f,
	0x054000004,
	0x0f2107400,
	0x0f2000800,
	0x04fef000c,
	0x04e75f22f,
	0x075000004,
	0x0242f0004,
	0x07214e2a2,
	0x0c4bc0000,
	0x007ff94bc,
	0x0000003fe,
	0x07015b082,
	0x06d2c203c,
	0x0001fffff,
	0x0e4a04680,
	0x0c1af0004,
	0x042af0008,
	0x0f22f5400,
	0x00004f210,
	0x07400f200,
	0x00800f22f,
	0x054280004,
	0x04fef000c,
	0x04e757035,
	0x0b0826de0,
	0x072ead282,
	0x0203c7fff,
	0x0ffffe2a0,
	0x04680c1af,
	0x0000860cc,
	0x0598f222f,
	0x000086c1c,
	0x020014480,
	0x02f0061f0,
	0x0f2000080,
	0x0f23c4000,
	0x000000001,
	0x0f2000420,
	0x0508f4e75,
	0x0700ab081,
	0x06f0cf236,
	0x040001d20,
	0x08092588f,
	0x04e752401,
	0x0e2822001,
	0x090822e82,
	0x02f0061bc,
	0x0f2277400,
	0x02f2f000c,
	0x061b2588f,
	0x0f21f5423,
	0x0508f4e75,
	0x0518ff22f,
	0x0543a000c,
	0x0f2930054,
	0x0486f000c,
	0x0f22f5400,
	0x00010f200,
	0x0001af227,
	0x074006100,
	0x0feeef200,
	0x00100f200,
	0x0003af281,
	0x00016f22f,
	0x054000018,
	0x0f23c4022,
	0x000000001,
	0x0f22f7400,
	0x00018f22f,
	0x054000018,
	0x0f200001a,
	0x0f22f7400,
	0x00018f22f,
	0x054000018,
	0x04fef0014,
	0x04e75486f,
	0x0000cf22f,
	0x054000010,
	0x0f2277400,
	0x06100fea0,
	0x060e0f22f,
	0x054800004,
	0x0f200049a,
	0x0f2277480,
	0x06100ff7e,
	0x0f200001a,
	0x0508f4e75,
	0x0202f000c,
	0x06f4c246f,
	0x00004226f,
	0x00008b5c9,
	0x062462209,
	0x0c2bc0000,
	0x000036710,
	0x053806d32,
	0x014d92209,
	0x0c2bc0000,
	0x0000366f0,
	0x090bc0000,
	0x000106d10,
	0x024d924d9,
	0x024d924d9,
	0x090bc0000,
	0x000106cf0,
	0x0d0bc0000,
	0x0000f6d06,
	0x014d95380,
	0x06cfa202f,
	0x000044e75,
	0x0d3c0d5c0,
	0x0f22f5428,
	0x000044fef,
	0x0000c4e75,
	0x07035b082,
	0x06de072ea,
	0x0d282203c,
	0x07fffffff,
	0x0e2a04680,
	0x0c1af0008,
	0x060cc598f,
	0x0222f0008,
	0x06c1c2001,
	0x044802f00,
	0x061f0f200,
	0x00080f23c,
	0x040000000,
	0x00001f200,
	0x00420508f,
	0x04e75700a,
	0x0b0816f0c,
	0x0f2364000,
	0x01d208072,
	0x0588f4e75,
	0x02401e282,
	0x020019082,
	0x02e822f00,
	0x061bcf227,
	0x074002f2f,
	0x0000c61b2,
	0x0588ff21f,
	0x05423508f,
	0x04e75518f,
	0x0f22f543a,
	0x0000cf293,
	0x00054486f,
	0x0000cf22f,
	0x054000010,
	0x0f200001a,
	0x0f2277400,
	0x06100feee,
	0x0f2000100,
	0x0f200003a,
	0x0f2810016,
	0x0f22f5400,
	0x00018f23c,
	0x040220000,
	0x00001f22f,
	0x074000018,
	0x0f22f5400,
	0x00018f200,
	0x0001af22f,
	0x074000018,
	0x0f22f5400,
	0x000184fef,
	0x000144e75,
	0x0486f000c,
	0x0f22f5400,
	0x00010f227,
	0x074006100,
	0x0fea060e0,
	0x0f22f5480,
	0x00004f200,
	0x0049af227,
	0x074806100,
	0x0ff7ef200,
	0x0001a508f,
	0x04e75202f,
	0x0000c6f4c,
	0x0246f0004,
	0x0226f0008,
	0x0b5c96246,
	0x02209c2bc,
	0x000000003,
	0x067105380,
	0x06de81521,
	0x06d3214d9,
	0x02209c2bc,
	0x000000003,
	0x066f090bc,
	0x000000010,
	0x06d102521,
	0x025212521,
	0x0252190bc,
	0x06d1024d9,
	0x024d924d9,
	0x024d990bc,
	0x000000010,
	0x06cf0d0bc,
	0x00000000f,
	0x06dbc1521,
	0x053806db6,
	0x060f8202f,
	0x0000c6f3e,
	0x0226f0004,
	0x04281122f,
	0x0000b670c,
	0x02401e182,
	0x082822401,
	0x048428282,
	0x06d0614d9,
	0x053806cfa,
	0x0202f0004,
	0x04e75d3c0,
	0x0d5c02209,
	0x0c2bc0000,
	0x000036710,
	0x053806de8,
	0x015212209,
	0x0c2bc0000,
	0x0000366f0,
	0x090bc0000,
	0x000106d10,
	0x022c122c1,
	0x022c122c1,
	0x025212521,
	0x025212521,
	0x090bc0000,
	0x000106cf0,
	0x0d0bc0000,
	0x0000f6d06,
	0x012c15380,
	0x06cfa202f,
	0x000044e75,
	0x0518f2ebc,
	0x07ff00000,
	0x070012f40,
	0x00004f217,
	0x0000f6dbc,
	0x015215380,
	0x06db660f8,
	0x0202f000c,
	0x06f3e226f,
	0x000044281,
	0x0122f000b,
	0x0670c2401,
	0x0e1828282,
	0x024014842,
	0x0828290bc,
	0x000000010,
	0x06d1022c1,
	0x022c122c1,
	0x022c190bc,
	0x000000010,
	0x06cf0d0bc,
	0x00000000f,
	0x06d0612c1,
	0x053806cfa,
	0x0202f0004,
	0x04e75518f,
	0x02ebc7ff0,
	0x000007001,
	0x02f400004,
	0x0f2175400,
	0x0508f4e75,
	0x0518ff22f,
	0x05500000c,
	0x0f2177500,
	0x0203c7ff0,
	0x00000c097,
	0x00c807ff0,
	0x000006706,
	0x04280508f,
	0x04e7542a7,
	0x0f2277500,
	0x061304a80,
	0x066087001,
	0x04fef0014,
	0x04e754280,
	0x060f6518f,
	0x02ebc7ff0,
	0x0000042af,
	0x000044aaf,
	0x0000c6c06,
	0x000978000,
	0x00000f217,
	0x05400508f,
	0x04e75518f,
	0x0f22f5500,
	0x0206f0014,
	0x0f22f5400,
	0x0000cf217,
	0x07500203c,
	0x07ff00000,
	0x0c0970c80,
	0x07ff00000,
	0x067064280,
	0x0508f4e75,
	0x042a7f227,
	0x075006130,
	0x04a806608,
	0x070014fef,
	0x000144e75,
	0x0428060f6,
	0x0518f2ebc,
	0x074004aaf,
	0x000046706,
	0x04280508f,
	0x04e750c97,
	0x07ff00000,
	0x042af0004,
	0x04aaf000c,
	0x06c060097,
	0x080000000,
	0x0f2175400,
	0x0508f4e75,
	0x0518f206f,
	0x00014f22f,
	0x05400000c,
	0x0f2177400,
	0x04aaf0004,
	0x067064280,
	0x0508f4e75,
	0x00c977ff0,
	0x000006610,
	0x0b0fc0000,
	0x06d067001,
	0x0508f4e75,
	0x0428060f8,
	0x00c97fff0,
	0x000006610,
	0x0b0fc0000,
	0x06e067001,
	0x06610b0fc,
	0x000006d06,
	0x07001508f,
	0x04e754280,
	0x060f80c97,
	0x0fff00000,
	0x06610b0fc,
	0x000006e06,
	0x07001508f,
	0x04e754280,
	0x060f84280,
	0x0508f4e75,
	0x0428060f8,
	0x04280508f,
	0x04e750000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000007072,
	0x0696e7420,
	0x06572726f,
	0x072730000,
	0x0000005f8,
	0x005f405f0,
	0x005ec0002,
	0x005ca05b2,
	0x005ae0544,
	0x004d404a8,
	0x00490045a,
	0x00456043a,
	0x003ca0360,
	0x002f00298,
	0x0026001fc,
	0x001d001b8,
	0x001a00188,
	0x001700158,
	0x0012200ec,
	0x000d6008e,
	0x000086e6f,
	0x06e2d7a65,
	0x0726f2065,
	0x078697420,
	0x073746174,
	0x075730000,
	0x000000000,
	0x000010000,
	0x0000a0000,
	0x000640000,
	0x003e80000,
	0x027100001,
	0x086a0000f,
	0x042400098,
	0x0968005f5,
	0x0e1003b9a,
	0x0ca00061e,
	0x0061a0616,
	0x006120002,
	0x005f005d8,
	0x005d4056a,
	0x004fe04d2,
	0x004ba0484,
	0x004800464,
	0x003f80390,
	0x0032402c0,
	0x0027001e6,
	0x001bc01a4,
	0x0018c0174,
	0x0015c0144,
	0x0010e00d8,
	0x000c2007a,
	0x000080000,
	0x044e20000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,


@@ 3131,170 3109,171 @@ ulong bootcode[]={
	0x000000000,
	0x000000000,
	0x000000000,
	0x04e614e00,
	0x02b496e66,
	0x0002d496e,
	0x066000000,
	0x07072696e,
	0x074206572,
	0x0726f7273,
	0x000000000,
	0x06e6f6e2d,
	0x07a65726f,
	0x020657869,
	0x074207374,
	0x061747573,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000004e61,
	0x04e002b49,
	0x06e66002d,
	0x0496e6600,
	0x000002363,
	0x02f636f6e,
	0x073002363,
	0x02f636f6e,
	0x073002363,
	0x02f636f6e,
	0x073002365,
	0x02f737973,
	0x06e616d65,
	0x000737973,
	0x06e616d65,
	0x000737973,
	0x06e616d65,
	0x000000001,
	0x00000000a,
	0x000000064,
	0x0000003e8,
	0x000002710,
	0x0000186a0,
	0x0000f4240,
	0x000989680,
	0x005f5e100,
	0x03b9aca00,
	0x005f805f4,
	0x005f005ec,
	0x0000205ca,
	0x005b205ae,
	0x0054404d4,
	0x004a80490,
	0x0045a0456,
	0x0043a03ca,
	0x0036002f0,
	0x002980260,
	0x001fc01d0,
	0x001b801a0,
	0x001880170,
	0x001580122,
	0x000ec00d6,
	0x0008e0008,
	0x0061e061a,
	0x006160612,
	0x0000205f0,
	0x005d805d4,
	0x0056a04fe,
	0x004d204ba,
	0x004840480,
	0x0046403f8,
	0x003900324,
	0x002c00270,
	0x001e601bc,
	0x001a4018c,
	0x00174015c,
	0x00144010e,
	0x000d800c2,
	0x0007a0008,
	0x023632f63,
	0x06f6e7300,
	0x023632f63,
	0x06f6e7300,
	0x023632f63,
	0x06f6e7300,
	0x061742674,
	0x020676e6f,
	0x074203100,
	0x06e6f6e65,
	0x000423139,
	0x032303000,
	0x042393630,
	0x030006361,
	0x06e277420,
	0x0636f6e6e,
	0x06563742c,
	0x020726574,
	0x07279696e,
	0x0672e2e2e,
	0x00a002f36,
	0x038303230,
	0x02f696e69,
	0x07400696e,
	0x06974002d,
	0x06d002f36,
	0x038303230,
	0x02f696e69,
	0x07400696e,
	0x06974002f,
	0x036383032,
	0x0302f696e,
	0x069740023,
	0x0652f626f,
	0x06f746c69,
	0x06e650023,
	0x0652f626f,
	0x06f746465,
	0x076696365,
	0x00023652f,
	0x07465726d,
	0x0696e616c,
	0x000746572,
	0x06d696e61,
	0x06c006174,
	0x026742067,
	0x06e6f7420,
	0x031006174,
	0x026742067,
	0x06e6f7420,
	0x031007465,
	0x0626f6f74,
	0x073657276,
	0x06572004e,
	0x066730023,
	0x0652f7465,
	0x0726d696e,
	0x0616c0074,
	0x06f6f2062,
	0x061642c20,
	0x063616e27,
	0x074207275,
	0x06e207769,
	0x074686f75,
	0x07420636f,
	0x06e6e6563,
	0x074696e67,
	0x000706f73,
	0x0742e2e2e,
	0x00023732f,
	0x025730062,
	0x06f6f7465,
	0x073006372,
	0x065617465,
	0x000256400,
	0x077726974,
	0x065002373,
	0x02f257300,
	0x0626f6f74,
	0x065730023,
	0x0732f626f,
	0x06f740063,
	0x072656174,
	0x065002564,
	0x000777269,
	0x07465002f,
	0x0002f0062,
	0x0696e6400,
	0x06d6f756e,
	0x0742e2e2e,
	0x0002f0000,
	0x0006d6f75,
	0x06e740074,
	0x0696d652e,
	0x02e2e002f,
	0x02e2e0073,
	0x074617400,
	0x023632f74,
	0x0696d6500,
	0x0256c6400,
	0x073756363,
	0x06573730a,
	0x000236b00,
	0x02f6e6574,
	0x02f6e6574,
	0x000236b00,
	0x02f6e6574,
	0x02f646b00,
	0x02f363830,
	0x032302f69,
	0x06e697400,
	0x0696e6974,
	0x0002d6d00,
	0x02f363830,
	0x032302f69,
	0x06e697400,
	0x0696e6974,
	0x0002f3638,
	0x03032302f,
	0x0696e6974,
	0x0006e0063,
	0x06f6e6e65,
	0x063742074,
	0x06f206461,
	0x074616b69,
	0x074207669,
	0x061202869,
	0x0296e636f,
	0x06e2c2028,
	0x039293630,
	0x030206261,
	0x075642c20,
	0x028312939,
	0x03230302c,
	0x020286e29,
	0x06f742061,
	0x07420616c,
	0x06c002374,
	0x065726d69,
	0x06e616c00,
	0x07465726d,
	0x0696e616c,
	0x000757365,
	0x072002363,
	0x02f757365,
	0x072003900,
	0x04e667300,
	0x028392936,
	0x030302073,
	0x065726961,
	0x06c2c2028,
	0x031293932,
	0x030302073,
	0x065726961,
	0x06c2c2028,
	0x06929696e,
	0x0636f6e00,
	0x073657276,
	0x065720073,
	0x065727665,
	0x072007365,
	0x072766572,
	0x00023692f,
	0x063746c00,
	0x06f70656e,
	0x0696e6720,
	0x023692f63,
	0x0746c0023,
	0x0742f7474,
	0x079306374,
	0x06c006f70,
	0x0656e696e,
	0x067202374,
	0x02f747479,
	0x03063746c,
	0x00023742f,
	0x074747930,
	0x0006f7065,
	0x06e696e67,
	0x02023742f,
	0x074747930,
	0x063746c00,
	0x042393630,
	0x030002374,
	0x02f747479,
	0x030007075,
	0x073682061,
	0x073796e63,
	0x00023742f,
	0x074747930,
	0x063746c00,
	0x06f70656e,
	0x0696e6720,
	0x023742f74,
	0x074793063,
	0x0746c0042,
	0x031393230,
	0x030002374,
	0x02f747479,
	0x030007075,
	0x073682061,
	0x073796e63,
	0x00023692f,
	0x063746c00,
	0x06f70656e,
	0x0696e6720,
	0x023692f63,
	0x0746c0070,
	0x075736820,
	0x0646b6d75,
	0x07800636f,
	0x06e666967,
	0x020312031,
	0x036207265,
	0x073746172,
	0x07400636f,
	0x06e666967,
	0x020312031,
	0x036206e6f,
	0x072657374,
	0x061727400,
	0x000707573,
	0x068206173,
	0x0796e6300,
	0x070757368,
	0x020646b6d,
	0x075780063,
	0x06f6e6669,
	0x067203120,
	0x03136206e,
	0x06f726573,
	0x074617274,
	0x000636f6e,
	0x066696720,
	0x031203136,
	0x020726573,
	0x074617274,
	0x000636f6e,
	0x06e656374,
	0x020257300,
	0x0236b2f32,
	0x02f646174,
	0x061006f70,


@@ 3310,156 3289,151 @@ ulong bootcode[]={
	0x0322f6374,
	0x06c00636f,
	0x06e6e6563,
	0x074202573,
	0x000646961,
	0x06c696e67,
	0x000657272,
	0x06f722064,
	0x069616c69,
	0x074656420,
	0x0746f2025,
	0x0730a0069,
	0x06e697400,
	0x0646b0023,
	0x06b00706f,
	0x073742e2e,
	0x02e002373,
	0x02f257300,
	0x063726561,
	0x074650025,
	0x064007772,
	0x069746500,
	0x023732f62,
	0x06f6f7400,
	0x063726561,
	0x074650025,
	0x064007772,
	0x069746500,
	0x06d6f756e,
	0x0742e2e2e,
	0x0002f002f,
	0x00062696e,
	0x064002f00,
	0x000006d6f,
	0x0756e7400,
	0x074696d65,
	0x02e2e2e00,
	0x02f2e2e00,
	0x073746174,
	0x00023632f,
	0x074696d65,
	0x000256c64,
	0x000737563,
	0x063657373,
	0x00a002f6e,
	0x065742f25,
	0x073002f6e,
	0x065742f6e,
	0x06574002f,
	0x06c69622f,
	0x06e657461,
	0x06464722e,
	0x025730062,
	0x0696e6469,
	0x06e672025,
	0x0732c2072,
	0x065747279,
	0x0696e6720,
	0x02e2e2e0a,
	0x000636f6e,
	0x06e656374,
	0x065642074,
	0x06f202573,
	0x00a002365,
	0x02f626f6f,
	0x0746c696e,
	0x065002365,
	0x02f626f6f,
	0x074646576,
	0x069636500,
	0x023652f62,
	0x06f6f7473,
	0x065727665,
	0x072006e66,
	0x073006e6f,
	0x0702e2e2e,
	0x000777269,
	0x07465206e,
	0x06f700072,
	0x065616420,
	0x06e6f7000,
	0x06e203d20,
	0x025643b20,
	0x062756620,
	0x03d20252e,
	0x073206f6e,
	0x0746f202f,
	0x06c69622f,
	0x06e657461,
	0x06464722e,
	0x06e65740a,
	0x0002f6c69,
	0x0622f6e65,
	0x074616464,
	0x0722e6e65,
	0x074004f4b,
	0x000434800,
	0x025730a25,
	0x0730a004e,
	0x04f002573,
	0x00a25730a,
	0x0006e6f70,
	0x02e2e2e00,
	0x077726974,
	0x065206e6f,
	0x070007265,
	0x06164206e,
	0x06f70006e,
	0x0203d2025,
	0x0643b2062,
	0x07566203d,
	0x02025232e,
	0x032782025,
	0x02e327820,
	0x0252e3278,
	0x020252e32,
	0x0780a0066,
	0x06f726d61,
	0x074206e6f,
	0x070006e6f,
	0x07420526e,
	0x06f700073,
	0x0232e3278,
	0x02025232e,
	0x032782025,
	0x0232e3278,
	0x00a00666f,
	0x0726d6174,
	0x0206e6f70,
	0x0006e6f74,
	0x020526e6f,
	0x070007365,
	0x07373696f,
	0x06e2e2e2e,
	0x000777269,
	0x074652073,
	0x065737369,
	0x06f6e2e2e,
	0x02e007772,
	0x069746520,
	0x073657373,
	0x0696f6e00,
	0x072656164,
	0x020736573,
	0x073696f6e,
	0x000666f72,
	0x06d617420,
	0x06f6e0072,
	0x065616420,
	0x073657373,
	0x0696f6e00,
	0x06572726f,
	0x072202573,
	0x03b006e6f,
	0x074205273,
	0x0666f726d,
	0x061742073,
	0x065737369,
	0x06f6e002f,
	0x063667300,
	0x023722f68,
	0x064306361,
	0x063686500,
	0x06366732e,
	0x02e2e0070,
	0x069706500,
	0x0666f726b,
	0x0002f6366,
	0x07300626f,
	0x06f746366,
	0x073002d66,
	0x073002d70,
	0x00023722f,
	0x068643063,
	0x061636865,
	0x0002f6366,
	0x07300626f,
	0x06f746366,
	0x073002d73,
	0x06f6e0065,
	0x072726f72,
	0x02025733b,
	0x0006e6f74,
	0x020527365,
	0x07373696f,
	0x06e002f63,
	0x066730023,
	0x0722f6864,
	0x030636163,
	0x068650063,
	0x066732e2e,
	0x02e007069,
	0x070650066,
	0x06f726b00,
	0x02f636673,
	0x000626f6f,
	0x074636673,
	0x0002d6673,
	0x0002d7000,
	0x023722f68,
	0x064306361,
	0x063686500,
	0x0626f6f74,
	0x03a202573,
	0x03a202573,
	0x00a002363,
	0x02f72636f,
	0x06e730063,
	0x0616e2774,
	0x0206f7065,
	0x06e202363,
	0x02f72636f,
	0x02f636673,
	0x000626f6f,
	0x074636673,
	0x0002d7300,
	0x02d700023,
	0x0722f6864,
	0x030636163,
	0x068650062,
	0x06f6f743a,
	0x02025733a,
	0x02025730a,
	0x000626f6f,
	0x0743a2025,
	0x0733a2025,
	0x0730a0025,
	0x0735b2573,
	0x05d3a2000,
	0x063616e27,
	0x074207265,
	0x061642023,
	0x0632f636f,
	0x06e733b20,
	0x0706c6561,
	0x073652072,
	0x065626f6f,
	0x074005061,
	0x07373776f,
	0x072643a20,
	0x00063616e,
	0x027742072,
	0x065616420,
	0x023632f72,
	0x0636f6e73,
	0x03b20706c,
	0x065617365,
	0x020726562,
	0x06f6f7400,
	0x00a000a00,
	0x061757468,
	0x0656e7469,
	0x063617465,
	0x020726561,
	0x064004f4b,
	0x000434800,
	0x025730a25,
	0x0730a004e,
	0x04f004175,
	0x07468656e,
	0x074696361,
	0x074696f6e,
	0x020666169,
	0x06c65640a,
	0x000757365,
	0x072002573,
	0x00a25730a,
	0x00025735b,
	0x025735d3a,
	0x020006361,
	0x06e277420,
	0x072656164,
	0x02023632f,
	0x0636f6e73,
	0x03b20706c,
	0x065617365,
	0x020726562,
	0x06f6f7400,
	0x06e6f6e65,
	0x000757365,
	0x072002363,
	0x02f757365,
	0x072005b63,
	0x074005b63,
	0x074726c2d,
	0x06420746f,
	0x020617474,


@@ 3491,8 3465,74 @@ ulong bootcode[]={
	0x06f632f25,
	0x0642f6e6f,
	0x074650064,
	0x069650000,
	0x069650023,
	0x0632f7263,
	0x06f6e7300,
	0x063616e27,
	0x074206f70,
	0x0656e2023,
	0x0632f7263,
	0x06f6e733b,
	0x020706c65,
	0x061736520,
	0x07265626f,
	0x06f740070,
	0x061737377,
	0x06f72643a,
	0x020006361,
	0x06e277420,
	0x072656164,
	0x02023632f,
	0x072636f6e,
	0x0733b2070,
	0x06c656173,
	0x065207265,
	0x0626f6f74,
	0x0000a000a,
	0x000000000,
	0x000000000,
	0x0000045cc,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x00003696,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x00003730,
	0x0,
	0x00003730,
	0x0,
};

M gnot/devincon.c => gnot/devincon.c +0 -2
@@ 272,8 272,6 @@ inconrestart(Incon *ip)
	if(!canqlock(&ip->reslock))
		return;

	print("inconrestart\n");

	/*
	 *  poll for incon station numbers
	 */

A gnot/disk.c => gnot/disk.c +57 -0
@@ 0,0 1,57 @@
#include	"u.h"
#include	"lib.h"
#include	"mem.h"
#include	"dat.h"
#include	"fns.h"
#include	"errno.h"

#include	"devtab.h"

#include	"fcall.h"

Dev	devtab[]={
	{ rootreset, rootinit, rootattach, rootclone, rootwalk, rootstat, rootopen, rootcreate,
	  rootclose, rootread, rootwrite, rootremove, rootwstat, },
	{ consreset, consinit, consattach, consclone, conswalk, consstat, consopen, conscreate,
	  consclose, consread, conswrite, consremove, conswstat, },
	{ envreset, envinit, envattach, envclone, envwalk, envstat, envopen, envcreate,
	  envclose, envread, envwrite, envremove, envwstat, },
	{ pipereset, pipeinit, pipeattach, pipeclone, pipewalk, pipestat, pipeopen, pipecreate,
	  pipeclose, piperead, pipewrite, piperemove, pipewstat, },
	{ procreset, procinit, procattach, procclone, procwalk, procstat, procopen, proccreate,
	  procclose, procread, procwrite, procremove, procwstat, },
	{ srvreset, srvinit, srvattach, srvclone, srvwalk, srvstat, srvopen, srvcreate,
	  srvclose, srvread, srvwrite, srvremove, srvwstat, },
	{ mntreset, mntinit, mntattach, mntclone, mntwalk, mntstat, mntopen, mntcreate,
	  mntclose, mntread, mntwrite, mntremove, mntwstat, },
	{ inconreset, inconinit, inconattach, inconclone, inconwalk, inconstat, inconopen, inconcreate,
	  inconclose, inconread, inconwrite, inconremove, inconwstat, },
	{ dkreset, dkinit, dkattach, dkclone, dkwalk, dkstat, dkopen, dkcreate,
	  dkclose, dkread, dkwrite, dkremove, dkwstat, },
	{ dupreset, dupinit, dupattach, dupclone, dupwalk, dupstat, dupopen, dupcreate,
	  dupclose, dupread, dupwrite, dupremove, dupwstat, },
	{ bitreset, bitinit, bitattach, bitclone, bitwalk, bitstat, bitopen, bitcreate,
	  bitclose, bitread, bitwrite, bitremove, bitwstat, },
	{ portreset, portinit, portattach, portclone, portwalk, portstat, portopen, portcreate,
	  portclose, portread, portwrite, portremove, portwstat, },
	{ scsireset, scsiinit, scsiattach, scsiclone, scsiwalk, scsistat, scsiopen, scsicreate,
	  scsiclose, scsiread, scsiwrite, scsiremove, scsiwstat, },
	{ wrenreset, wreninit, wrenattach, wrenclone, wrenwalk, wrenstat, wrenopen, wrencreate,
	  wrenclose, wrenread, wrenwrite, wrenremove, wrenwstat, },
	{ duartreset, duartinit, duartattach, duartclone, duartwalk, duartstat, duartopen, duartcreate,
	  duartclose, duartread, duartwrite, duartremove, duartwstat, },
};
char devchar[]="/ce|psMikdbxSrt";
extern Qinfo	urpinfo;
extern Qinfo	asyncinfo;
extern Qinfo	fcallinfo;
void streaminit0(void){
	newqinfo(&urpinfo);
	newqinfo(&asyncinfo);
	newqinfo(&fcallinfo);
}
	/*
	 *  fake cryptfs
	 */
	long cryptfslen = 0; ulong cryptfscode[1];
	#include "cfs.h"

M gnot/main.c => gnot/main.c +9 -3
@@ 23,7 23,8 @@ struct Boot
};
#define BOOT ((Boot*)0)

char user[NAMELEN];
char	user[NAMELEN];
char bootuser[NAMELEN];
char bootline[64];
char bootserver[64];
char bootdevice[2];


@@ 64,7 65,7 @@ main(void)
void
unloadboot(void)
{
	strncpy(user, BOOT->user, NAMELEN);
	strncpy(bootuser, BOOT->user, NAMELEN);
	memmove(bootline, BOOT->line, 64);
	memmove(bootserver, BOOT->server, 64);
	bootdevice[0] = BOOT->device;


@@ 120,6 121,9 @@ init0(void)
	u->slash = (*devtab[0].attach)(0);
	u->dot = clone(u->slash, 0);
	if(!waserror()){
		c = namec("#e/bootuser", Acreate, OWRITE, 0600);
		(*devtab[c->type].write)(c, bootuser, 64, 0);
		close(c);
		c = namec("#e/bootline", Acreate, OWRITE, 0600);
		(*devtab[c->type].write)(c, bootline, 64, 0);
		close(c);


@@ 151,8 155,10 @@ userinit(void)
	p->fgrp = newfgrp();

	strcpy(p->text, "*init*");
	strcpy(p->pgrp->user, user);
	strcpy(p->pgrp->user, "bootes");
	strcpy(user, "bootes");
	p->fpstate = FPinit;

	/*
	 * Kernel Stack
	 */

M pc/dat.h => pc/dat.h +1 -3
@@ 45,8 45,7 @@ enum

struct	FPsave
{
	long	status;
	uchar	reg[94];
	uchar	regs[108];
};

struct Conf


@@ 124,7 123,6 @@ struct Mach
	Label	sched;			/* scheduler wakeup */
	Lock	alarmlock;		/* access to alarm list */
	void	*alarm;			/* alarms bound to this clock */
	int	fpstate;		/* state of fp registers on machine */

	int	tlbfault;
	int	tlbpurge;

M pc/devfloppy.c => pc/devfloppy.c +2 -4
@@ 700,11 700,8 @@ floppyseek(Drive *dp)
static long
floppyxfer(Drive *dp, int cmd, void *a, long off, long n)
{
	ulong addr;
	long offset;

	addr = (ulong)a;

	qlock(&floppy);
	qlock(dp);
	if(waserror()){


@@ 728,8 725,9 @@ floppyxfer(Drive *dp, int cmd, void *a, long off, long n)
	if(floppyseek(dp) < 0)
		errors("seeking floppy");

	
/*print("tcyl %d, thead %d, tsec %d, addr %lux, n %d\n",
		dp->tcyl, dp->thead, dp->tsec, addr, n);/**/
		dp->tcyl, dp->thead, dp->tsec, a, n);/**/

	/*
	 *  set up the dma (dp->len may be trimmed)

M pc/devhard.c => pc/devhard.c +1 -2
@@ 647,9 647,8 @@ hardintr(Ureg *ur)
	Controller *cp;
	Drive *dp;
	long loop;
	int x;

	x = spllo();	/* let in other interrupts */
	spllo();	/* let in other interrupts */

	/*
 	 *  BUG!! if there is ever more than one controller, we need a way to

M pc/fns.h => pc/fns.h +4 -0
@@ 14,14 14,18 @@ void	faultinit(void);
void	fclock(Ureg*);
void	fclockinit(void);
#define	flushvirt();
void	fpinit(void);
void	fpoff(void);
void	fpsave(FPsave*);
void	fprestore(FPsave*);
ulong	getcr0(void);
ulong	getcr2(void);
void	idle(void);
int	inb(int);
void	inss(int, void*, int);
void	kbdinit(void);
int	mail(int);
void	mathinit(void);
void	mmuinit(void);
void	outb(int, int);
void	outss(int, void*, int);

M pc/io.h => pc/io.h +3 -1
@@ 3,7 3,9 @@
 */
enum
{
	Coprocvec=	7,		/* math coprocessor interrupt */
	Mathemuvec=	7,		/* math coprocessor emulation interrupt */
	Mathovervec=	9,		/* math coprocessor overrun interrupt */
	Matherrorvec=	9,		/* math coprocessor error interrupt */
	Faultvec=	14,		/* page fault */

	Int0vec=	24,		/* first 8259 */

M pc/kbd.c => pc/kbd.c +2 -1
@@ 433,7 433,8 @@ kbdintr0(void)
	if(esc1){
		c = kbtabesc1[c];
		esc1 = 0;
		kbdputc(&kbdq, c);
		if(!keyup)
			kbdputc(&kbdq, c);
		return 0;
	} else if(esc2){
		esc2--;

M pc/l.s => pc/l.s +40 -11
@@ 137,6 137,7 @@ setpte:
	MOVL	AX,CR3
	MOVL	CR0,AX
	ORL	$0X80000000,AX
	ANDL	$~(0x8|0x2),AX	/* TS=0, MP=0 */
	MOVL	AX,CR0

	/*


@@ 274,10 275,49 @@ TEXT	puttr(SB),$0		/* task register */
	MOVW	AX,TASK
	RET

TEXT	getcr0(SB),$0		/* coprocessor bits */
	MOVL	CR0,AX
	RET

TEXT	getcr2(SB),$0		/* fault address */
	MOVL	CR2,AX
	RET

#define	FPOFF\
	WAIT;\
	MOVL	CR0,AX;\
	ORL	$0x4,AX		/* EM=1 */;\
	MOVL	AX,CR0

#define	FPON\
	MOVL	CR0,AX;\
	ANDL	$~0x4,AX	/* EM=0 */;\
	MOVL	AX,CR0
	
TEXT	fpoff(SB),$0		/* turn off floating point */
	FPOFF
	RET

TEXT	fpinit(SB),$0		/* turn on & init the floating point */
	FPON
	FINIT
	WAIT
	RET

TEXT	fpsave(SB),$0		/* save floating point state and turn off */
	MOVL	p+0(FP),AX
	WAIT
	FSAVE	0(AX)
	FPOFF
	RET

TEXT	fprestore(SB),$0	/* turn on floating point and restore regs */
	FPON
	MOVL	p+0(FP),AX
	FRSTOR	0(AX)
	WAIT
	RET

/*
 *  special traps
 */


@@ 513,17 553,6 @@ TEXT	touser(SB),$0
	IRETL

/*
 *  save/restore floating point
 *	- to be filled in at some future time
 */
TEXT	fpsave(SB),$0
	RET

TEXT	fprestore(SB),$0
	RET


/*
 *  set configuration register
 */
TEXT	config(SB),$0

M pc/main.c => pc/main.c +60 -12
@@ 7,10 7,9 @@
#include	"ureg.h"
#include	"init.h"

char	user[NAMELEN] = "bootes";
extern long edata;


char	user[NAMELEN] = "bootes";

void
main(void)


@@ 23,6 22,7 @@ main(void)
	print("%ludK bytes of physical memory\n", (conf.base1 + conf.npage1*BY2PG)/1024);
	mmuinit();
	trapinit();
	mathinit();
	kbdinit();
	clockinit();
	faultinit();


@@ 52,7 52,6 @@ machinit(void)
	memset(m, 0, sizeof(Mach));
	m->machno = n;
	m->mmask = 1<<m->machno;
	m->fpstate = FPinit;
	active.machs = 1;
}



@@ 90,8 89,6 @@ userinit(void)
	User *up;
	KMap *k;

	setvec(Coprocvec, coprocintr);

	p = newproc();
	p->pgrp = newpgrp();
	p->egrp = newegrp();


@@ 99,6 96,7 @@ userinit(void)

	strcpy(p->text, "*init*");
	p->fpstate = FPinit;
	fpoff();

	/*
	 * Kernel Stack


@@ 224,28 222,77 @@ confinit(void)
}

/*
 *  math coprocessor error
 */
void
matherror(Ureg *ur)
{
	postnote(u->p, 1, "math: 837 error", 0);
}

/*
 *  math coprocessor emulation fault
 */
void
mathemu(Ureg *ur)
{
	switch(u->p->fpstate){
	case FPinit:
		fpinit();
		u->p->fpstate = FPactive;
		break;
	case FPinactive:
		fprestore(&u->fpsave);
		u->p->fpstate = FPactive;
		break;
	case FPactive:
print("emu actv 0x%lux\n", getcr0());
		postnote(u->p, 1, "math: emulation", 0);
		break;
	}
}

/*
 *  math coprocessor segment overrun
 */
void
mathover(Ureg *ur)
{
	postnote(u->p, 1, "math: segment overrun", 0);
}

void
mathinit(void)
{
	setvec(Matherrorvec, matherror);
	setvec(Mathemuvec, mathemu);
	setvec(Mathovervec, mathover);
}

/*
 *  set up floating point for a new process
 *	BUG -- needs floating point support
 */
void
procsetup(Proc *p)
{
	p->fpstate = FPinit;
	m->fpstate = FPinit;
	fpoff();
}

/*
 * Save the part of the process state.
 *	BUG -- needs floating point support
 *  Save the mach dependent part of the process state.
 */
void
procsave(uchar *state, int len)
{
	if(u->p->fpstate == FPactive){
		fpsave(&u->fpsave);
		u->p->fpstate = FPinactive;
	}
}

/*
 *  Restore what procsave() saves
 *	BUG -- needs floating point support
 */
void
procrestore(Proc *p, uchar *state)


@@ 258,7 305,9 @@ firmware(void)
	panic("firmware");
}


/*
 *  make noise, blink lights
 */
void
buzz(int f, int d)
{


@@ 269,7 318,6 @@ lights(int val)
{
}


/*
 *  special stuff for 80c51 power management and headland system controller
 */

M port/fault.c => port/fault.c +7 -3
@@ 152,12 152,16 @@ pio(Segment *s, ulong addr, ulong soff, Page **p)
	if(loadrec == 0) {			/* This is demand load */
		c = s->image->c;
		qlock(&c->rdl);
		if(waserror()) {
		/* We are unable to correctly error up throught the kernel
		 * during faults. Therefore note delivery is postponed until
		 * we leave the system. Read errors cause the process to die.
		 */
		while(waserror()) {
			if(strcmp(u->error, errstrtab[Eintr]) == 0)
				continue;
			qunlock(&c->rdl);
			kunmap(k);
			putpage(new);
			qlock(&s->lk);
			qunlock(&s->lk);
			pexit("demand load I/O error", 0);
		}


M port/page.c => port/page.c +2 -7
@@ 176,13 176,8 @@ newpage(int clear, Segment **s, ulong va)
		}
		qlock(&palloc.pwait);			/* Hold memory requesters here */

		if(waserror()) {
			qunlock(&palloc.pwait);
			lock(&palloc);
			palloc.wanted--;
			unlock(&palloc);
			nexterror();
		}
		while(waserror())			/* Ignore interrupts */
			;

		kickpager();
		tsleep(&palloc.r, ispages, 0, 1000);

M port/proc.c => port/proc.c +2 -1
@@ 207,7 207,8 @@ canpage(Proc *p)

	splhi();
	lock(&runhiq);
	if(p->state != Running) {
	/* Only reliable way to see if we are Running */
	if(p->mach == 0) {
		p->newtlb = 1;
		ok = 1;
	}

M port/stip.c => port/stip.c +9 -46
@@ 28,6 28,7 @@ Queue 		*Etherq;

Ipaddr		Myip;
Ipaddr		Mymask;
uchar		Netmyip[4];	/* In Network byte order */

/* Predeclaration */
static void	ipetherclose(Queue*);


@@ 161,6 162,10 @@ ipetheroput(Queue *q, Block *bp)
		if(!Myip && streamparse("setip", bp)) {
			ptr = bp->rptr;
			Myip = ipparse((char *)ptr);
			Netmyip[0] = (Myip>>24)&0xff;
			Netmyip[1] = (Myip>>16)&0xff;
			Netmyip[2] = (Myip>>8)&0xff;
			Netmyip[3] = Myip&0xff;
			Mymask = classmask[Myip>>30];
			while(*ptr != ' ' && *ptr)
				ptr++;


@@ 302,6 307,10 @@ ipetheriput(Queue *q, Block *bp)
			return;
	}

	/* Look to see if its for me before we waste time checksuming it */
	if(memcmp(h->dst, Netmyip, sizeof(Netmyip)) != 0)
		goto drop;

	if(ipcksum && ip_csum(&h->vihl)) {
		print("ip: checksum error (from %d.%d.%d.%d ?)\n",
		      h->src[0], h->src[1], h->src[2], h->src[3]);


@@ 580,49 589,3 @@ ipparse(char *ipa)
	shift += 8;
	return net | ((address & ~classmask[address>>30])>>shift);
}

/* 
 * XXX debugging code !
 */
void
ppkt(Block *bp)
{
	uchar *x;
	int len, cnt = 0;
	Block *xp;
	uchar ch;

	if(bp)
		print("ppkt: %lux len %d\n", bp, blen(bp));
	else
		print("ppkt: Null packet pointer\n");

	xp = bp;
	while(bp) {
		len = BLEN(bp);
		x = bp->rptr;
		while(len--) {
			if(cnt%64 == 0)
				print("\n%.04d: ", cnt);
			print("%.02x ", *x++);
			cnt++;
		}
		bp = bp->next;
	}
	bp = xp;
	cnt = 0;
	while(bp) {
		len = BLEN(bp);
		x = bp->rptr;
		while(len--) {
			if(cnt%64 == 0)
				print("\n%.04d: ", cnt);
			ch = *x++;
			print("%c  ", ch < ' ' || ch >= 0x7f ? '.' : ch);
			cnt++;
		}
		bp = bp->next;
	}
	print("\n");

}