summary refs log tree commit diff
path: root/drivers/media/dvb
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb')
-rw-r--r--drivers/media/dvb/b2c2/flexcop-usb.c2
-rw-r--r--drivers/media/dvb/cinergyT2/cinergyT2.c46
-rw-r--r--drivers/media/dvb/dvb-core/dvb_net.c12
-rw-r--r--drivers/media/dvb/dvb-core/dvbdev.c4
-rw-r--r--drivers/media/dvb/dvb-usb/Kconfig2
-rw-r--r--drivers/media/dvb/dvb-usb/cxusb.c21
-rw-r--r--drivers/media/dvb/dvb-usb/dib0700_devices.c21
-rw-r--r--drivers/media/dvb/dvb-usb/dvb-usb-firmware.c2
-rw-r--r--drivers/media/dvb/dvb-usb/gl861.c27
-rw-r--r--drivers/media/dvb/dvb-usb/gp8psk.c13
-rw-r--r--drivers/media/dvb/dvb-usb/m920x.c7
-rw-r--r--drivers/media/dvb/dvb-usb/umt-010.c2
-rw-r--r--drivers/media/dvb/frontends/au8522.c29
-rw-r--r--drivers/media/dvb/frontends/bcm3510.c5
-rw-r--r--drivers/media/dvb/frontends/dib0070.h15
-rw-r--r--drivers/media/dvb/frontends/dib7000p.h15
-rw-r--r--drivers/media/dvb/frontends/nxt200x.c3
-rw-r--r--drivers/media/dvb/frontends/or51132.c6
-rw-r--r--drivers/media/dvb/frontends/or51211.c4
-rw-r--r--drivers/media/dvb/frontends/sp8870.c2
-rw-r--r--drivers/media/dvb/frontends/sp887x.c2
-rw-r--r--drivers/media/dvb/frontends/stv0299.c15
-rw-r--r--drivers/media/dvb/frontends/tda10023.c20
-rw-r--r--drivers/media/dvb/frontends/tda10048.c2
-rw-r--r--drivers/media/dvb/frontends/tda1004x.c31
-rw-r--r--drivers/media/dvb/ttpci/Kconfig1
-rw-r--r--drivers/media/dvb/ttpci/av7110.c9
-rw-r--r--drivers/media/dvb/ttpci/av7110_av.c34
-rw-r--r--drivers/media/dvb/ttpci/av7110_hw.c5
-rw-r--r--drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c18
-rw-r--r--drivers/media/dvb/ttusb-budget/dvb-ttusb-dspbootcode.h1644
-rw-r--r--drivers/media/dvb/ttusb-dec/Kconfig2
-rw-r--r--drivers/media/dvb/ttusb-dec/ttusb_dec.c27
-rw-r--r--drivers/media/dvb/ttusb-dec/ttusbdecfe.c10
34 files changed, 269 insertions, 1789 deletions
diff --git a/drivers/media/dvb/b2c2/flexcop-usb.c b/drivers/media/dvb/b2c2/flexcop-usb.c
index 449fb5c3d0b1..ae0d76a5d51d 100644
--- a/drivers/media/dvb/b2c2/flexcop-usb.c
+++ b/drivers/media/dvb/b2c2/flexcop-usb.c
@@ -379,7 +379,7 @@ static void flexcop_usb_transfer_exit(struct flexcop_usb *fc_usb)
 
 static int flexcop_usb_transfer_init(struct flexcop_usb *fc_usb)
 {
-	u16 frame_size = fc_usb->uintf->cur_altsetting->endpoint[0].desc.wMaxPacketSize;
+	u16 frame_size = le16_to_cpu(fc_usb->uintf->cur_altsetting->endpoint[0].desc.wMaxPacketSize);
 	int bufsize = B2C2_USB_NUM_ISO_URB * B2C2_USB_FRAMES_PER_ISO * frame_size,i,j,ret;
 	int buffer_offset = 0;
 
diff --git a/drivers/media/dvb/cinergyT2/cinergyT2.c b/drivers/media/dvb/cinergyT2/cinergyT2.c
index f5010e8671b8..a824f3719f81 100644
--- a/drivers/media/dvb/cinergyT2/cinergyT2.c
+++ b/drivers/media/dvb/cinergyT2/cinergyT2.c
@@ -82,22 +82,22 @@ enum cinergyt2_ep1_cmd {
 
 struct dvbt_set_parameters_msg {
 	uint8_t cmd;
-	uint32_t freq;
+	__le32 freq;
 	uint8_t bandwidth;
-	uint16_t tps;
+	__le16 tps;
 	uint8_t flags;
 } __attribute__((packed));
 
 struct dvbt_get_status_msg {
-	uint32_t freq;
+	__le32 freq;
 	uint8_t bandwidth;
-	uint16_t tps;
+	__le16 tps;
 	uint8_t flags;
-	uint16_t gain;
+	__le16 gain;
 	uint8_t snr;
-	uint32_t viterbi_error_rate;
-	uint32_t rs_error_rate;
-	uint32_t uncorrected_block_count;
+	__le32 viterbi_error_rate;
+	__le32 rs_error_rate;
+	__le32 uncorrected_block_count;
 	uint8_t lock_bits;
 	uint8_t prev_lock_bits;
 } __attribute__((packed));
@@ -136,6 +136,7 @@ struct cinergyt2 {
 	wait_queue_head_t poll_wq;
 	int pending_fe_events;
 	int disconnect_pending;
+	unsigned int uncorrected_block_count;
 	atomic_t inuse;
 
 	void *streambuf;
@@ -147,7 +148,7 @@ struct cinergyt2 {
 	char phys[64];
 	struct delayed_work rc_query_work;
 	int rc_input_event;
-	u32 rc_last_code;
+	__le32 rc_last_code;
 	unsigned long last_event_jiffies;
 #endif
 };
@@ -160,7 +161,7 @@ enum {
 
 struct cinergyt2_rc_event {
 	char type;
-	uint32_t value;
+	__le32 value;
 } __attribute__((packed));
 
 static const uint32_t rc_keys[] = {
@@ -619,8 +620,11 @@ static int cinergyt2_ioctl (struct inode *inode, struct file *file,
 	{
 		uint32_t unc_count;
 
-		unc_count = stat->uncorrected_block_count;
-		stat->uncorrected_block_count = 0;
+		if (mutex_lock_interruptible(&cinergyt2->sem))
+			return -ERESTARTSYS;
+		unc_count = cinergyt2->uncorrected_block_count;
+		cinergyt2->uncorrected_block_count = 0;
+		mutex_unlock(&cinergyt2->sem);
 
 		/* UNC are already converted to host byte order... */
 		return put_user(unc_count,(__u32 __user *) arg);
@@ -769,7 +773,7 @@ static void cinergyt2_query_rc (struct work_struct *work)
 				input_sync(cinergyt2->rc_input_dev);
 				cinergyt2->rc_input_event = KEY_MAX;
 			}
-			cinergyt2->rc_last_code = ~0;
+			cinergyt2->rc_last_code = cpu_to_le32(~0);
 		}
 		goto out;
 	}
@@ -780,7 +784,7 @@ static void cinergyt2_query_rc (struct work_struct *work)
 			n, le32_to_cpu(rc_events[n].value), rc_events[n].type);
 
 		if (rc_events[n].type == CINERGYT2_RC_EVENT_TYPE_NEC &&
-		    rc_events[n].value == ~0) {
+		    rc_events[n].value == cpu_to_le32(~0)) {
 			/* keyrepeat bit -> just repeat last rc_input_event */
 		} else {
 			cinergyt2->rc_input_event = KEY_MAX;
@@ -795,7 +799,7 @@ static void cinergyt2_query_rc (struct work_struct *work)
 
 		if (cinergyt2->rc_input_event != KEY_MAX) {
 			if (rc_events[n].value == cinergyt2->rc_last_code &&
-			    cinergyt2->rc_last_code != ~0) {
+			    cinergyt2->rc_last_code != cpu_to_le32(~0)) {
 				/* emit a key-up so the double event is recognized */
 				dprintk(1, "rc_input_event=%d UP\n", cinergyt2->rc_input_event);
 				input_report_key(cinergyt2->rc_input_dev,
@@ -829,7 +833,7 @@ static int cinergyt2_register_rc(struct cinergyt2 *cinergyt2)
 	usb_make_path(cinergyt2->udev, cinergyt2->phys, sizeof(cinergyt2->phys));
 	strlcat(cinergyt2->phys, "/input0", sizeof(cinergyt2->phys));
 	cinergyt2->rc_input_event = KEY_MAX;
-	cinergyt2->rc_last_code = ~0;
+	cinergyt2->rc_last_code = cpu_to_le32(~0);
 	INIT_DELAYED_WORK(&cinergyt2->rc_query_work, cinergyt2_query_rc);
 
 	input_dev->name = DRIVER_NAME " remote control";
@@ -840,8 +844,8 @@ static int cinergyt2_register_rc(struct cinergyt2 *cinergyt2)
 	input_dev->keycodesize = 0;
 	input_dev->keycodemax = 0;
 	input_dev->id.bustype = BUS_USB;
-	input_dev->id.vendor = cinergyt2->udev->descriptor.idVendor;
-	input_dev->id.product = cinergyt2->udev->descriptor.idProduct;
+	input_dev->id.vendor = le16_to_cpu(cinergyt2->udev->descriptor.idVendor);
+	input_dev->id.product = le16_to_cpu(cinergyt2->udev->descriptor.idProduct);
 	input_dev->id.version = 1;
 	input_dev->dev.parent = &cinergyt2->udev->dev;
 
@@ -889,18 +893,16 @@ static void cinergyt2_query (struct work_struct *work)
 	char cmd [] = { CINERGYT2_EP1_GET_TUNER_STATUS };
 	struct dvbt_get_status_msg *s = &cinergyt2->status;
 	uint8_t lock_bits;
-	uint32_t unc;
 
 	if (cinergyt2->disconnect_pending || mutex_lock_interruptible(&cinergyt2->sem))
 		return;
 
-	unc = s->uncorrected_block_count;
 	lock_bits = s->lock_bits;
 
 	cinergyt2_command(cinergyt2, cmd, sizeof(cmd), (char *) s, sizeof(*s));
 
-	unc += le32_to_cpu(s->uncorrected_block_count);
-	s->uncorrected_block_count = unc;
+	cinergyt2->uncorrected_block_count +=
+		le32_to_cpu(s->uncorrected_block_count);
 
 	if (lock_bits != s->lock_bits) {
 		wake_up_interruptible(&cinergyt2->poll_wq);
diff --git a/drivers/media/dvb/dvb-core/dvb_net.c b/drivers/media/dvb/dvb-core/dvb_net.c
index 56d871cfd7fc..c2334aef4143 100644
--- a/drivers/media/dvb/dvb-core/dvb_net.c
+++ b/drivers/media/dvb/dvb-core/dvb_net.c
@@ -168,7 +168,7 @@ struct dvb_net_priv {
  *  stolen from eth.c out of the linux kernel, hacked for dvb-device
  *  by Michael Holzt <kju@debian.org>
  */
-static unsigned short dvb_net_eth_type_trans(struct sk_buff *skb,
+static __be16 dvb_net_eth_type_trans(struct sk_buff *skb,
 				      struct net_device *dev)
 {
 	struct ethhdr *eth;
@@ -277,10 +277,10 @@ static int handle_one_ule_extension( struct dvb_net_priv *p )
 			if(ext_len >= 0) {
 				p->ule_next_hdr += ext_len;
 				if (!p->ule_bridged) {
-					p->ule_sndu_type = ntohs(*(unsigned short *)p->ule_next_hdr);
+					p->ule_sndu_type = ntohs(*(__be16 *)p->ule_next_hdr);
 					p->ule_next_hdr += 2;
 				} else {
-					p->ule_sndu_type = ntohs(*(unsigned short *)(p->ule_next_hdr + ((p->ule_dbit ? 2 : 3) * ETH_ALEN)));
+					p->ule_sndu_type = ntohs(*(__be16 *)(p->ule_next_hdr + ((p->ule_dbit ? 2 : 3) * ETH_ALEN)));
 					/* This assures the extension handling loop will terminate. */
 				}
 			}
@@ -294,7 +294,7 @@ static int handle_one_ule_extension( struct dvb_net_priv *p )
 		if (ule_optional_ext_handlers[htype])
 			(void)ule_optional_ext_handlers[htype]( p );
 		p->ule_next_hdr += ext_len;
-		p->ule_sndu_type = ntohs( *(unsigned short *)(p->ule_next_hdr-2) );
+		p->ule_sndu_type = ntohs( *(__be16 *)(p->ule_next_hdr-2) );
 		/*
 		 * note: the length of the next header type is included in the
 		 * length of THIS optional extension header
@@ -594,8 +594,8 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len )
 		/* Check for complete payload. */
 		if (priv->ule_sndu_remain <= 0) {
 			/* Check CRC32, we've got it in our skb already. */
-			unsigned short ulen = htons(priv->ule_sndu_len);
-			unsigned short utype = htons(priv->ule_sndu_type);
+			__be16 ulen = htons(priv->ule_sndu_len);
+			__be16 utype = htons(priv->ule_sndu_type);
 			const u8 *tail;
 			struct kvec iov[3] = {
 				{ &ulen, sizeof ulen },
diff --git a/drivers/media/dvb/dvb-core/dvbdev.c b/drivers/media/dvb/dvb-core/dvbdev.c
index 8b56d929f7fd..e208a60c048a 100644
--- a/drivers/media/dvb/dvb-core/dvbdev.c
+++ b/drivers/media/dvb/dvb-core/dvbdev.c
@@ -32,6 +32,7 @@
 #include <linux/fs.h>
 #include <linux/cdev.h>
 #include <linux/mutex.h>
+#include <linux/smp_lock.h>
 #include "dvbdev.h"
 
 static int dvbdev_debug;
@@ -74,6 +75,7 @@ static int dvb_device_open(struct inode *inode, struct file *file)
 {
 	struct dvb_device *dvbdev;
 
+	lock_kernel();
 	dvbdev = dvbdev_find_device (iminor(inode));
 
 	if (dvbdev && dvbdev->fops) {
@@ -90,8 +92,10 @@ static int dvb_device_open(struct inode *inode, struct file *file)
 			file->f_op = fops_get(old_fops);
 		}
 		fops_put(old_fops);
+		unlock_kernel();
 		return err;
 	}
+	unlock_kernel();
 	return -ENODEV;
 }
 
diff --git a/drivers/media/dvb/dvb-usb/Kconfig b/drivers/media/dvb/dvb-usb/Kconfig
index cf4584e48b6d..f00a0eb40420 100644
--- a/drivers/media/dvb/dvb-usb/Kconfig
+++ b/drivers/media/dvb/dvb-usb/Kconfig
@@ -1,6 +1,6 @@
 config DVB_USB
 	tristate "Support for various USB DVB devices"
-	depends on DVB_CORE && USB && I2C
+	depends on DVB_CORE && USB && I2C && INPUT
 	depends on HOTPLUG	# due to FW_LOADER
 	select FW_LOADER
 	help
diff --git a/drivers/media/dvb/dvb-usb/cxusb.c b/drivers/media/dvb/dvb-usb/cxusb.c
index 720fcd1c3c1d..0286156704f2 100644
--- a/drivers/media/dvb/dvb-usb/cxusb.c
+++ b/drivers/media/dvb/dvb-usb/cxusb.c
@@ -24,6 +24,7 @@
  * see Documentation/dvb/README.dvb-usb for more information
  */
 #include <media/tuner.h>
+#include <linux/vmalloc.h>
 
 #include "cxusb.h"
 
@@ -700,12 +701,26 @@ static int bluebird_patch_dvico_firmware_download(struct usb_device *udev,
 
 		if (fw->data[idoff] == (USB_VID_DVICO & 0xff) &&
 		    fw->data[idoff + 1] == USB_VID_DVICO >> 8) {
-			fw->data[idoff + 2] =
+			struct firmware new_fw;
+			u8 *new_fw_data = vmalloc(fw->size);
+			int ret;
+
+			if (!new_fw_data)
+				return -ENOMEM;
+
+			memcpy(new_fw_data, fw->data, fw->size);
+			new_fw.size = fw->size;
+			new_fw.data = new_fw_data;
+
+			new_fw_data[idoff + 2] =
 				le16_to_cpu(udev->descriptor.idProduct) + 1;
-			fw->data[idoff + 3] =
+			new_fw_data[idoff + 3] =
 				le16_to_cpu(udev->descriptor.idProduct) >> 8;
 
-			return usb_cypress_load_firmware(udev, fw, CYPRESS_FX2);
+			ret = usb_cypress_load_firmware(udev, &new_fw,
+							CYPRESS_FX2);
+			vfree(new_fw_data);
+			return ret;
 		}
 	}
 
diff --git a/drivers/media/dvb/dvb-usb/dib0700_devices.c b/drivers/media/dvb/dvb-usb/dib0700_devices.c
index 346223856f59..c4d40fe01d57 100644
--- a/drivers/media/dvb/dvb-usb/dib0700_devices.c
+++ b/drivers/media/dvb/dvb-usb/dib0700_devices.c
@@ -111,8 +111,8 @@ static int bristol_tuner_attach(struct dvb_usb_adapter *adap)
 	struct i2c_adapter *tun_i2c = dib3000mc_get_tuner_i2c_master(adap->fe, 1);
 	s8 a;
 	int if1=1220;
-	if (adap->dev->udev->descriptor.idVendor  == USB_VID_HAUPPAUGE &&
-		adap->dev->udev->descriptor.idProduct == USB_PID_HAUPPAUGE_NOVA_T_500_2) {
+	if (adap->dev->udev->descriptor.idVendor  == cpu_to_le16(USB_VID_HAUPPAUGE) &&
+		adap->dev->udev->descriptor.idProduct == cpu_to_le16(USB_PID_HAUPPAUGE_NOVA_T_500_2)) {
 		if (!eeprom_read(prim_i2c,0x59 + adap->id,&a)) if1=1220+a;
 	}
 	return dvb_attach(mt2060_attach,adap->fe, tun_i2c,&bristol_mt2060_config[adap->id],
@@ -402,8 +402,8 @@ static int stk7700ph_frontend_attach(struct dvb_usb_adapter *adap)
 {
 	struct usb_device_descriptor *desc = &adap->dev->udev->descriptor;
 
-	if (desc->idVendor  == USB_VID_PINNACLE &&
-	    desc->idProduct == USB_PID_PINNACLE_EXPRESSCARD_320CX)
+	if (desc->idVendor  == cpu_to_le16(USB_VID_PINNACLE) &&
+	    desc->idProduct == cpu_to_le16(USB_PID_PINNACLE_EXPRESSCARD_320CX))
 	dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 0);
 	else
 	dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1);
@@ -845,8 +845,8 @@ static int stk7700p_tuner_attach(struct dvb_usb_adapter *adap)
 	struct i2c_adapter *tun_i2c;
 	s8 a;
 	int if1=1220;
-	if (adap->dev->udev->descriptor.idVendor  == USB_VID_HAUPPAUGE &&
-		adap->dev->udev->descriptor.idProduct == USB_PID_HAUPPAUGE_NOVA_T_STICK) {
+	if (adap->dev->udev->descriptor.idVendor  == cpu_to_le16(USB_VID_HAUPPAUGE) &&
+		adap->dev->udev->descriptor.idProduct == cpu_to_le16(USB_PID_HAUPPAUGE_NOVA_T_STICK)) {
 		if (!eeprom_read(prim_i2c,0x58,&a)) if1=1220+a;
 	}
 	if (st->is_dib7000pc)
@@ -990,11 +990,12 @@ static struct dib7000p_config dib7070p_dib7000p_config = {
 /* STK7070P */
 static int stk7070p_frontend_attach(struct dvb_usb_adapter *adap)
 {
-	if (adap->dev->udev->descriptor.idVendor  == USB_VID_PINNACLE &&
-	adap->dev->udev->descriptor.idProduct == USB_PID_PINNACLE_PCTV72E)
-	dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 0);
+	struct usb_device_descriptor *p = &adap->dev->udev->descriptor;
+	if (p->idVendor  == cpu_to_le16(USB_VID_PINNACLE) &&
+	    p->idProduct == cpu_to_le16(USB_PID_PINNACLE_PCTV72E))
+		dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 0);
 	else
-	dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1);
+		dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1);
 	msleep(10);
 	dib0700_set_gpio(adap->dev, GPIO9, GPIO_OUT, 1);
 	dib0700_set_gpio(adap->dev, GPIO4, GPIO_OUT, 1);
diff --git a/drivers/media/dvb/dvb-usb/dvb-usb-firmware.c b/drivers/media/dvb/dvb-usb/dvb-usb-firmware.c
index e1112e39fb63..733a7ff7b207 100644
--- a/drivers/media/dvb/dvb-usb/dvb-usb-firmware.c
+++ b/drivers/media/dvb/dvb-usb/dvb-usb-firmware.c
@@ -127,7 +127,7 @@ int dvb_usb_get_hexline(const struct firmware *fw, struct hexline *hx,
 	if ((*pos + hx->len + 4) >= fw->size)
 		return -EINVAL;
 
-	hx->addr = le16_to_cpu( *((u16 *) &b[1]) );
+	hx->addr = b[1] | (b[2] << 8);
 	hx->type = b[3];
 
 	if (hx->type == 0x04) {
diff --git a/drivers/media/dvb/dvb-usb/gl861.c b/drivers/media/dvb/dvb-usb/gl861.c
index 0a8ac64a4e33..037f7ffb47b2 100644
--- a/drivers/media/dvb/dvb-usb/gl861.c
+++ b/drivers/media/dvb/dvb-usb/gl861.c
@@ -47,6 +47,8 @@ static int gl861_i2c_msg(struct dvb_usb_device *d, u8 addr,
 		return -EINVAL;
 	}
 
+	msleep(1); /* avoid I2C errors */
+
 	return usb_control_msg(d->udev, usb_rcvctrlpipe(d->udev, 0), req, type,
 			       value, index, rbuf, rlen, 2000);
 }
@@ -92,16 +94,6 @@ static struct i2c_algorithm gl861_i2c_algo = {
 };
 
 /* Callbacks for DVB USB */
-static int gl861_identify_state(struct usb_device *udev,
-				struct dvb_usb_device_properties *props,
-				struct dvb_usb_device_description **desc,
-				int *cold)
-{
-	*cold = 0;
-
-	return 0;
-}
-
 static struct zl10353_config gl861_zl10353_config = {
 	.demod_address = 0x0f,
 	.no_tuner = 1,
@@ -172,7 +164,6 @@ static struct dvb_usb_device_properties gl861_properties = {
 
 	.size_of_priv     = 0,
 
-	.identify_state   = gl861_identify_state,
 	.num_adapters = 1,
 	.adapter = {{
 
@@ -194,13 +185,15 @@ static struct dvb_usb_device_properties gl861_properties = {
 
 	.num_device_descs = 2,
 	.devices = {
-		{   "MSI Mega Sky 55801 DVB-T USB2.0",
-			{ &gl861_table[0], NULL },
-			{ NULL },
+		{
+			.name = "MSI Mega Sky 55801 DVB-T USB2.0",
+			.cold_ids = { NULL },
+			.warm_ids = { &gl861_table[0], NULL },
 		},
-		{   "A-LINK DTU DVB-T USB2.0",
-			{ &gl861_table[1], NULL },
-			{ NULL },
+		{
+			.name = "A-LINK DTU DVB-T USB2.0",
+			.cold_ids = { NULL },
+			.warm_ids = { &gl861_table[1], NULL },
 		},
 	}
 };
diff --git a/drivers/media/dvb/dvb-usb/gp8psk.c b/drivers/media/dvb/dvb-usb/gp8psk.c
index 9a942afaf0af..d965a923f391 100644
--- a/drivers/media/dvb/dvb-usb/gp8psk.c
+++ b/drivers/media/dvb/dvb-usb/gp8psk.c
@@ -86,7 +86,8 @@ static int gp8psk_load_bcm4500fw(struct dvb_usb_device *d)
 {
 	int ret;
 	const struct firmware *fw = NULL;
-	u8 *ptr, *buf;
+	const u8 *ptr;
+	u8 *buf;
 	if ((ret = request_firmware(&fw, bcm4500_firmware,
 					&d->udev->dev)) != 0) {
 		err("did not find the bcm4500 firmware file. (%s) "
@@ -146,24 +147,24 @@ static int gp8psk_power_ctrl(struct dvb_usb_device *d, int onoff)
 		if (gp_product_id == USB_PID_GENPIX_8PSK_REV_1_WARM)
 			if (! (status & bm8pskFW_Loaded)) /* BCM4500 firmware loaded */
 				if(gp8psk_load_bcm4500fw(d))
-					return EINVAL;
+					return -EINVAL;
 
 		if (! (status & bmIntersilOn)) /* LNB Power */
 			if (gp8psk_usb_in_op(d, START_INTERSIL, 1, 0,
 					&buf, 1))
-				return EINVAL;
+				return -EINVAL;
 
 		/* Set DVB mode to 1 */
 		if (gp_product_id == USB_PID_GENPIX_8PSK_REV_1_WARM)
 			if (gp8psk_usb_out_op(d, SET_DVB_MODE, 1, 0, NULL, 0))
-				return EINVAL;
+				return -EINVAL;
 		/* Abort possible TS (if previous tune crashed) */
 		if (gp8psk_usb_out_op(d, ARM_TRANSFER, 0, 0, NULL, 0))
-			return EINVAL;
+			return -EINVAL;
 	} else {
 		/* Turn off LNB power */
 		if (gp8psk_usb_in_op(d, START_INTERSIL, 0, 0, &buf, 1))
-			return EINVAL;
+			return -EINVAL;
 		/* Turn off 8psk power */
 		if (gp8psk_usb_in_op(d, BOOT_8PSK, 0, 0, &buf, 1))
 			return -EINVAL;
diff --git a/drivers/media/dvb/dvb-usb/m920x.c b/drivers/media/dvb/dvb-usb/m920x.c
index a12e6f784fda..54626a0dbf68 100644
--- a/drivers/media/dvb/dvb-usb/m920x.c
+++ b/drivers/media/dvb/dvb-usb/m920x.c
@@ -16,6 +16,7 @@
 #include "qt1010.h"
 #include "tda1004x.h"
 #include "tda827x.h"
+#include <asm/unaligned.h>
 
 /* debug */
 static int dvb_usb_m920x_debug;
@@ -347,13 +348,13 @@ static int m920x_firmware_download(struct usb_device *udev, const struct firmwar
 
 	for (pass = 0; pass < 2; pass++) {
 		for (i = 0; i + (sizeof(u16) * 3) < fw->size;) {
-			value = le16_to_cpu(*(u16 *)(fw->data + i));
+			value = get_unaligned_le16(fw->data + i);
 			i += sizeof(u16);
 
-			index = le16_to_cpu(*(u16 *)(fw->data + i));
+			index = get_unaligned_le16(fw->data + i);
 			i += sizeof(u16);
 
-			size = le16_to_cpu(*(u16 *)(fw->data + i));
+			size = get_unaligned_le16(fw->data + i);
 			i += sizeof(u16);
 
 			if (pass == 1) {
diff --git a/drivers/media/dvb/dvb-usb/umt-010.c b/drivers/media/dvb/dvb-usb/umt-010.c
index 9e7653bb3b66..118aab1a3e54 100644
--- a/drivers/media/dvb/dvb-usb/umt-010.c
+++ b/drivers/media/dvb/dvb-usb/umt-010.c
@@ -107,7 +107,7 @@ static struct dvb_usb_device_properties umt_properties = {
 			/* parameter for the MPEG2-data transfer */
 			.stream = {
 				.type = USB_BULK,
-				.count = 20,
+				.count = MAX_NO_URBS_FOR_DATA_STREAM,
 				.endpoint = 0x06,
 				.u = {
 					.bulk = {
diff --git a/drivers/media/dvb/frontends/au8522.c b/drivers/media/dvb/frontends/au8522.c
index 084a280c2d7f..03900d241a76 100644
--- a/drivers/media/dvb/frontends/au8522.c
+++ b/drivers/media/dvb/frontends/au8522.c
@@ -463,10 +463,13 @@ static int au8522_set_frontend(struct dvb_frontend *fe,
 			       struct dvb_frontend_parameters *p)
 {
 	struct au8522_state *state = fe->demodulator_priv;
+	int ret = -EINVAL;
 
 	dprintk("%s(frequency=%d)\n", __func__, p->frequency);
 
-	state->current_frequency = p->frequency;
+	if ((state->current_frequency == p->frequency) &&
+	    (state->current_modulation == p->u.vsb.modulation))
+		return 0;
 
 	au8522_enable_modulation(fe, p->u.vsb.modulation);
 
@@ -476,11 +479,16 @@ static int au8522_set_frontend(struct dvb_frontend *fe,
 	if (fe->ops.tuner_ops.set_params) {
 		if (fe->ops.i2c_gate_ctrl)
 			fe->ops.i2c_gate_ctrl(fe, 1);
-		fe->ops.tuner_ops.set_params(fe, p);
+		ret = fe->ops.tuner_ops.set_params(fe, p);
 		if (fe->ops.i2c_gate_ctrl)
 			fe->ops.i2c_gate_ctrl(fe, 0);
 	}
 
+	if (ret < 0)
+		return ret;
+
+	state->current_frequency = p->frequency;
+
 	return 0;
 }
 
@@ -498,6 +506,16 @@ static int au8522_init(struct dvb_frontend *fe)
 	return 0;
 }
 
+static int au8522_sleep(struct dvb_frontend *fe)
+{
+	struct au8522_state *state = fe->demodulator_priv;
+	dprintk("%s()\n", __func__);
+
+	state->current_frequency = 0;
+
+	return 0;
+}
+
 static int au8522_read_status(struct dvb_frontend *fe, fe_status_t *status)
 {
 	struct au8522_state *state = fe->demodulator_priv;
@@ -509,10 +527,8 @@ static int au8522_read_status(struct dvb_frontend *fe, fe_status_t *status)
 	if (state->current_modulation == VSB_8) {
 		dprintk("%s() Checking VSB_8\n", __func__);
 		reg = au8522_readreg(state, 0x4088);
-		if (reg & 0x01)
-			*status |= FE_HAS_VITERBI;
-		if (reg & 0x02)
-			*status |= FE_HAS_LOCK | FE_HAS_SYNC;
+		if ((reg & 0x03) == 0x03)
+			*status |= FE_HAS_LOCK | FE_HAS_SYNC | FE_HAS_VITERBI;
 	} else {
 		dprintk("%s() Checking QAM\n", __func__);
 		reg = au8522_readreg(state, 0x4541);
@@ -672,6 +688,7 @@ static struct dvb_frontend_ops au8522_ops = {
 	},
 
 	.init                 = au8522_init,
+	.sleep                = au8522_sleep,
 	.i2c_gate_ctrl        = au8522_i2c_gate_ctrl,
 	.set_frontend         = au8522_set_frontend,
 	.get_frontend         = au8522_get_frontend,
diff --git a/drivers/media/dvb/frontends/bcm3510.c b/drivers/media/dvb/frontends/bcm3510.c
index d268e65e777d..cf5e576dfdcf 100644
--- a/drivers/media/dvb/frontends/bcm3510.c
+++ b/drivers/media/dvb/frontends/bcm3510.c
@@ -590,7 +590,8 @@ static void bcm3510_release(struct dvb_frontend* fe)
  */
 #define BCM3510_DEFAULT_FIRMWARE "dvb-fe-bcm3510-01.fw"
 
-static int bcm3510_write_ram(struct bcm3510_state *st, u16 addr, u8 *b, u16 len)
+static int bcm3510_write_ram(struct bcm3510_state *st, u16 addr, const u8 *b,
+			     u16 len)
 {
 	int ret = 0,i;
 	bcm3510_register_value vH, vL,vD;
@@ -614,7 +615,7 @@ static int bcm3510_download_firmware(struct dvb_frontend* fe)
 	struct bcm3510_state* st = fe->demodulator_priv;
 	const struct firmware *fw;
 	u16 addr,len;
-	u8  *b;
+	const u8 *b;
 	int ret,i;
 
 	deb_info("requesting firmware\n");
diff --git a/drivers/media/dvb/frontends/dib0070.h b/drivers/media/dvb/frontends/dib0070.h
index 786e37d33889..3eedfdf505bc 100644
--- a/drivers/media/dvb/frontends/dib0070.h
+++ b/drivers/media/dvb/frontends/dib0070.h
@@ -37,7 +37,20 @@ struct dib0070_config {
 	u8 flip_chip;
 };
 
-extern struct dvb_frontend * dib0070_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct dib0070_config *cfg);
+#if defined(CONFIG_DVB_TUNER_DIB0070) || (defined(CONFIG_DVB_TUNER_DIB0070_MODULE) && defined(MODULE))
+extern struct dvb_frontend *dib0070_attach(struct dvb_frontend *fe,
+					   struct i2c_adapter *i2c,
+					   struct dib0070_config *cfg);
+#else
+static inline struct dvb_frontend *dib0070_attach(struct dvb_frontend *fe,
+						  struct i2c_adapter *i2c,
+						  struct dib0070_config *cfg)
+{
+	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
+	return NULL;
+}
+#endif
+
 extern void dib0070_ctrl_agc_filter(struct dvb_frontend *, uint8_t open);
 extern u16 dib0070_wbd_offset(struct dvb_frontend *);
 
diff --git a/drivers/media/dvb/frontends/dib7000p.h b/drivers/media/dvb/frontends/dib7000p.h
index 081bd81f3da2..07c4d12ed5b7 100644
--- a/drivers/media/dvb/frontends/dib7000p.h
+++ b/drivers/media/dvb/frontends/dib7000p.h
@@ -37,7 +37,20 @@ struct dib7000p_config {
 
 #define DEFAULT_DIB7000P_I2C_ADDRESS 18
 
-extern struct dvb_frontend * dib7000p_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, struct dib7000p_config *cfg);
+#if defined(CONFIG_DVB_DIB7000P) || (defined(CONFIG_DVB_DIB7000P_MODULE) && defined(MODULE))
+extern struct dvb_frontend *dib7000p_attach(struct i2c_adapter *i2c_adap,
+					    u8 i2c_addr,
+					    struct dib7000p_config *cfg);
+#else
+static inline struct dvb_frontend *dib7000p_attach(struct i2c_adapter *i2c_adap,
+						   u8 i2c_addr,
+						   struct dib7000p_config *cfg)
+{
+	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
+	return NULL;
+}
+#endif
+
 extern int dib7000p_i2c_enumeration(struct i2c_adapter *i2c, int no_of_demods, u8 default_addr, struct dib7000p_config cfg[]);
 
 extern struct i2c_adapter * dib7000p_get_i2c_master(struct dvb_frontend *, enum dibx000_i2c_interface, int);
diff --git a/drivers/media/dvb/frontends/nxt200x.c b/drivers/media/dvb/frontends/nxt200x.c
index 23d022852543..af298358e822 100644
--- a/drivers/media/dvb/frontends/nxt200x.c
+++ b/drivers/media/dvb/frontends/nxt200x.c
@@ -93,7 +93,8 @@ static u8 i2c_readbytes (struct nxt200x_state* state, u8 addr, u8* buf, u8 len)
 	return 0;
 }
 
-static int nxt200x_writebytes (struct nxt200x_state* state, u8 reg, u8 *buf, u8 len)
+static int nxt200x_writebytes (struct nxt200x_state* state, u8 reg,
+			       const u8 *buf, u8 len)
 {
 	u8 buf2 [len+1];
 	int err;
diff --git a/drivers/media/dvb/frontends/or51132.c b/drivers/media/dvb/frontends/or51132.c
index c7b5785f81f2..5ed32544de39 100644
--- a/drivers/media/dvb/frontends/or51132.c
+++ b/drivers/media/dvb/frontends/or51132.c
@@ -126,7 +126,7 @@ static int or51132_readreg(struct or51132_state *state, u8 reg)
 		       reg, err);
 		return -EREMOTEIO;
 	}
-	return le16_to_cpup((u16*)buf);
+	return buf[0] | (buf[1] << 8);
 }
 
 static int or51132_load_firmware (struct dvb_frontend* fe, const struct firmware *fw)
@@ -140,9 +140,9 @@ static int or51132_load_firmware (struct dvb_frontend* fe, const struct firmware
 	dprintk("Firmware is %Zd bytes\n",fw->size);
 
 	/* Get size of firmware A and B */
-	firmwareAsize = le32_to_cpu(*((u32*)fw->data));
+	firmwareAsize = le32_to_cpu(*((__le32*)fw->data));
 	dprintk("FirmwareA is %i bytes\n",firmwareAsize);
-	firmwareBsize = le32_to_cpu(*((u32*)(fw->data+4)));
+	firmwareBsize = le32_to_cpu(*((__le32*)(fw->data+4)));
 	dprintk("FirmwareB is %i bytes\n",firmwareBsize);
 
 	/* Upload firmware */
diff --git a/drivers/media/dvb/frontends/or51211.c b/drivers/media/dvb/frontends/or51211.c
index 7eaa4765593f..6afe12aaca4e 100644
--- a/drivers/media/dvb/frontends/or51211.c
+++ b/drivers/media/dvb/frontends/or51211.c
@@ -69,7 +69,7 @@ struct or51211_state {
 	u32 current_frequency;
 };
 
-static int i2c_writebytes (struct or51211_state* state, u8 reg, u8 *buf,
+static int i2c_writebytes (struct or51211_state* state, u8 reg, const u8 *buf,
 			   int len)
 {
 	int err;
@@ -77,7 +77,7 @@ static int i2c_writebytes (struct or51211_state* state, u8 reg, u8 *buf,
 	msg.addr	= reg;
 	msg.flags	= 0;
 	msg.len		= len;
-	msg.buf		= buf;
+	msg.buf		= (u8 *)buf;
 
 	if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) {
 		printk(KERN_WARNING "or51211: i2c_writebytes error "
diff --git a/drivers/media/dvb/frontends/sp8870.c b/drivers/media/dvb/frontends/sp8870.c
index aa78aa14aad9..1c9a9b4051b9 100644
--- a/drivers/media/dvb/frontends/sp8870.c
+++ b/drivers/media/dvb/frontends/sp8870.c
@@ -98,7 +98,7 @@ static int sp8870_readreg (struct sp8870_state* state, u16 reg)
 static int sp8870_firmware_upload (struct sp8870_state* state, const struct firmware *fw)
 {
 	struct i2c_msg msg;
-	char *fw_buf = fw->data;
+	const char *fw_buf = fw->data;
 	int fw_pos;
 	u8 tx_buf[255];
 	int tx_len;
diff --git a/drivers/media/dvb/frontends/sp887x.c b/drivers/media/dvb/frontends/sp887x.c
index 49f55877f513..4543609e1816 100644
--- a/drivers/media/dvb/frontends/sp887x.c
+++ b/drivers/media/dvb/frontends/sp887x.c
@@ -140,7 +140,7 @@ static int sp887x_initial_setup (struct dvb_frontend* fe, const struct firmware
 	u8 buf [BLOCKSIZE+2];
 	int i;
 	int fw_size = fw->size;
-	unsigned char *mem = fw->data;
+	const unsigned char *mem = fw->data;
 
 	dprintk("%s\n", __func__);
 
diff --git a/drivers/media/dvb/frontends/stv0299.c b/drivers/media/dvb/frontends/stv0299.c
index 17556183e871..35435bef8e79 100644
--- a/drivers/media/dvb/frontends/stv0299.c
+++ b/drivers/media/dvb/frontends/stv0299.c
@@ -63,6 +63,7 @@ struct stv0299_state {
 	u32 symbol_rate;
 	fe_code_rate_t fec_inner;
 	int errmode;
+	u32 ucblocks;
 };
 
 #define STATUS_BER 0
@@ -501,8 +502,10 @@ static int stv0299_read_ber(struct dvb_frontend* fe, u32* ber)
 {
 	struct stv0299_state* state = fe->demodulator_priv;
 
-	if (state->errmode != STATUS_BER) return 0;
-	*ber = (stv0299_readreg (state, 0x1d) << 8) | stv0299_readreg (state, 0x1e);
+	if (state->errmode != STATUS_BER)
+		return -ENOSYS;
+
+	*ber = stv0299_readreg(state, 0x1e) | (stv0299_readreg(state, 0x1d) << 8);
 
 	return 0;
 }
@@ -540,8 +543,12 @@ static int stv0299_read_ucblocks(struct dvb_frontend* fe, u32* ucblocks)
 {
 	struct stv0299_state* state = fe->demodulator_priv;
 
-	if (state->errmode != STATUS_UCBLOCKS) *ucblocks = 0;
-	else *ucblocks = (stv0299_readreg (state, 0x1d) << 8) | stv0299_readreg (state, 0x1e);
+	if (state->errmode != STATUS_UCBLOCKS)
+		return -ENOSYS;
+
+	state->ucblocks += stv0299_readreg(state, 0x1e);
+	state->ucblocks += (stv0299_readreg(state, 0x1d) << 8);
+	*ucblocks = state->ucblocks;
 
 	return 0;
 }
diff --git a/drivers/media/dvb/frontends/tda10023.c b/drivers/media/dvb/frontends/tda10023.c
index 0727b80bc4d2..c6ff5b82ff80 100644
--- a/drivers/media/dvb/frontends/tda10023.c
+++ b/drivers/media/dvb/frontends/tda10023.c
@@ -116,9 +116,12 @@ static u8 tda10023_readreg (struct tda10023_state* state, u8 reg)
 	int ret;
 
 	ret = i2c_transfer (state->i2c, msg, 2);
-	if (ret != 2)
-		printk("DVB: TDA10023: %s: readreg error (ret == %i)\n",
-				 __func__, ret);
+	if (ret != 2) {
+		int num = state->frontend.dvb ? state->frontend.dvb->num : -1;
+		printk(KERN_ERR "DVB: TDA10023(%d): %s: readreg error "
+			"(reg == 0x%02x, ret == %i)\n",
+			num, __func__, reg, ret);
+	}
 	return b1[0];
 }
 
@@ -129,11 +132,12 @@ static int tda10023_writereg (struct tda10023_state* state, u8 reg, u8 data)
 	int ret;
 
 	ret = i2c_transfer (state->i2c, &msg, 1);
-	if (ret != 1)
-		printk("DVB: TDA10023(%d): %s, writereg error "
+	if (ret != 1) {
+		int num = state->frontend.dvb ? state->frontend.dvb->num : -1;
+		printk(KERN_ERR "DVB: TDA10023(%d): %s, writereg error "
 			"(reg == 0x%02x, val == 0x%02x, ret == %i)\n",
-			state->frontend.dvb->num, __func__, reg, data, ret);
-
+			num, __func__, reg, data, ret);
+	}
 	return (ret != 1) ? -EREMOTEIO : 0;
 }
 
@@ -464,7 +468,7 @@ struct dvb_frontend* tda10023_attach(const struct tda1002x_config* config,
 	int i;
 
 	/* allocate memory for the internal state */
-	state = kmalloc(sizeof(struct tda10023_state), GFP_KERNEL);
+	state = kzalloc(sizeof(struct tda10023_state), GFP_KERNEL);
 	if (state == NULL) goto error;
 
 	/* setup the state */
diff --git a/drivers/media/dvb/frontends/tda10048.c b/drivers/media/dvb/frontends/tda10048.c
index 090fb7dd93c6..0ab8d86b3ae3 100644
--- a/drivers/media/dvb/frontends/tda10048.c
+++ b/drivers/media/dvb/frontends/tda10048.c
@@ -233,7 +233,7 @@ static u8 tda10048_readreg(struct tda10048_state *state, u8 reg)
 }
 
 static int tda10048_writeregbulk(struct tda10048_state *state, u8 reg,
-	u8 *data, u16 len)
+				 const u8 *data, u16 len)
 {
 	int ret = -EREMOTEIO;
 	struct i2c_msg msg;
diff --git a/drivers/media/dvb/frontends/tda1004x.c b/drivers/media/dvb/frontends/tda1004x.c
index 49973846373e..1465ff77b0cb 100644
--- a/drivers/media/dvb/frontends/tda1004x.c
+++ b/drivers/media/dvb/frontends/tda1004x.c
@@ -317,7 +317,7 @@ static int tda10046h_set_bandwidth(struct tda1004x_state *state,
 }
 
 static int tda1004x_do_upload(struct tda1004x_state *state,
-			      unsigned char *mem, unsigned int len,
+			      const unsigned char *mem, unsigned int len,
 			      u8 dspCodeCounterReg, u8 dspCodeInReg)
 {
 	u8 buf[65];
@@ -1248,11 +1248,14 @@ struct dvb_frontend* tda10045_attach(const struct tda1004x_config* config,
 				     struct i2c_adapter* i2c)
 {
 	struct tda1004x_state *state;
+	int id;
 
 	/* allocate memory for the internal state */
 	state = kmalloc(sizeof(struct tda1004x_state), GFP_KERNEL);
-	if (!state)
+	if (!state) {
+		printk(KERN_ERR "Can't alocate memory for tda10045 state\n");
 		return NULL;
+	}
 
 	/* setup the state */
 	state->config = config;
@@ -1260,7 +1263,15 @@ struct dvb_frontend* tda10045_attach(const struct tda1004x_config* config,
 	state->demod_type = TDA1004X_DEMOD_TDA10045;
 
 	/* check if the demod is there */
-	if (tda1004x_read_byte(state, TDA1004X_CHIPID) != 0x25) {
+	id = tda1004x_read_byte(state, TDA1004X_CHIPID);
+	if (id < 0) {
+		printk(KERN_ERR "tda10045: chip is not answering. Giving up.\n");
+		kfree(state);
+		return NULL;
+	}
+
+	if (id != 0x25) {
+		printk(KERN_ERR "Invalid tda1004x ID = 0x%02x. Can't proceed\n", id);
 		kfree(state);
 		return NULL;
 	}
@@ -1307,11 +1318,14 @@ struct dvb_frontend* tda10046_attach(const struct tda1004x_config* config,
 				     struct i2c_adapter* i2c)
 {
 	struct tda1004x_state *state;
+	int id;
 
 	/* allocate memory for the internal state */
 	state = kmalloc(sizeof(struct tda1004x_state), GFP_KERNEL);
-	if (!state)
+	if (!state) {
+		printk(KERN_ERR "Can't alocate memory for tda10046 state\n");
 		return NULL;
+	}
 
 	/* setup the state */
 	state->config = config;
@@ -1319,7 +1333,14 @@ struct dvb_frontend* tda10046_attach(const struct tda1004x_config* config,
 	state->demod_type = TDA1004X_DEMOD_TDA10046;
 
 	/* check if the demod is there */
-	if (tda1004x_read_byte(state, TDA1004X_CHIPID) != 0x46) {
+	id = tda1004x_read_byte(state, TDA1004X_CHIPID);
+	if (id < 0) {
+		printk(KERN_ERR "tda10046: chip is not answering. Giving up.\n");
+		kfree(state);
+		return NULL;
+	}
+	if (id != 0x46) {
+		printk(KERN_ERR "Invalid tda1004x ID = 0x%02x. Can't proceed\n", id);
 		kfree(state);
 		return NULL;
 	}
diff --git a/drivers/media/dvb/ttpci/Kconfig b/drivers/media/dvb/ttpci/Kconfig
index d4339b1b3b68..07643e010093 100644
--- a/drivers/media/dvb/ttpci/Kconfig
+++ b/drivers/media/dvb/ttpci/Kconfig
@@ -101,6 +101,7 @@ config DVB_BUDGET
 config DVB_BUDGET_CI
 	tristate "Budget cards with onboard CI connector"
 	depends on DVB_BUDGET_CORE && I2C
+	depends on INPUT # due to IR
 	select DVB_STV0297 if !DVB_FE_CUSTOMISE
 	select DVB_STV0299 if !DVB_FE_CUSTOMISE
 	select DVB_TDA1004X if !DVB_FE_CUSTOMISE
diff --git a/drivers/media/dvb/ttpci/av7110.c b/drivers/media/dvb/ttpci/av7110.c
index 747e7f1a6267..f05d43d8b5cf 100644
--- a/drivers/media/dvb/ttpci/av7110.c
+++ b/drivers/media/dvb/ttpci/av7110.c
@@ -51,6 +51,7 @@
 #include <linux/crc32.h>
 #include <linux/i2c.h>
 #include <linux/kthread.h>
+#include <asm/unaligned.h>
 
 #include <asm/system.h>
 
@@ -1461,9 +1462,9 @@ static int check_firmware(struct av7110* av7110)
 	ptr += 4;
 
 	/* check dpram file */
-	crc = ntohl(*(u32*) ptr);
+	crc = get_unaligned_be32(ptr);
 	ptr += 4;
-	len = ntohl(*(u32*) ptr);
+	len = get_unaligned_be32(ptr);
 	ptr += 4;
 	if (len >= 512) {
 		printk("dvb-ttpci: dpram file is way too big.\n");
@@ -1478,9 +1479,9 @@ static int check_firmware(struct av7110* av7110)
 	ptr += len;
 
 	/* check root file */
-	crc = ntohl(*(u32*) ptr);
+	crc = get_unaligned_be32(ptr);
 	ptr += 4;
-	len = ntohl(*(u32*) ptr);
+	len = get_unaligned_be32(ptr);
 	ptr += 4;
 
 	if (len <= 200000 || len >= 300000 ||
diff --git a/drivers/media/dvb/ttpci/av7110_av.c b/drivers/media/dvb/ttpci/av7110_av.c
index 3e6b650fbb81..ec55a968f204 100644
--- a/drivers/media/dvb/ttpci/av7110_av.c
+++ b/drivers/media/dvb/ttpci/av7110_av.c
@@ -965,8 +965,9 @@ static u8 iframe_header[] = { 0x00, 0x00, 0x01, 0xe0, 0x00, 0x00, 0x80, 0x00, 0x
 
 static int play_iframe(struct av7110 *av7110, char __user *buf, unsigned int len, int nonblock)
 {
-	int i, n;
+	unsigned i, n;
 	int progressive = 0;
+	int match = 0;
 
 	dprintk(2, "av7110:%p, \n", av7110);
 
@@ -975,12 +976,31 @@ static int play_iframe(struct av7110 *av7110, char __user *buf, unsigned int len
 			return -EBUSY;
 	}
 
-	for (i = 0; i < len - 5; i++) {
-		/* get progressive flag from picture extension */
-		if (buf[i] == 0x00 && buf[i+1] == 0x00 &&
-		    buf[i+2] == 0x01 && (unsigned char)buf[i+3] == 0xb5 &&
-		    (buf[i+4] & 0xf0) == 0x10)
-			progressive = buf[i+5] & 0x08;
+	/* search in buf for instances of 00 00 01 b5 1? */
+	for (i = 0; i < len; i++) {
+		unsigned char c;
+		if (get_user(c, buf + i))
+			return -EFAULT;
+		if (match == 5) {
+			progressive = c & 0x08;
+			match = 0;
+		}
+		if (c == 0x00) {
+			match = (match == 1 || match == 2) ? 2 : 1;
+			continue;
+		}
+		switch (match++) {
+		case 2: if (c == 0x01)
+				continue;
+			break;
+		case 3: if (c == 0xb5)
+				continue;
+			break;
+		case 4: if ((c & 0xf0) == 0x10)
+				continue;
+			break;
+		}
+		match = 0;
 	}
 
 	/* setting n always > 1, fixes problems when playing stillframes
diff --git a/drivers/media/dvb/ttpci/av7110_hw.c b/drivers/media/dvb/ttpci/av7110_hw.c
index 9d81074b31df..3a3f5279e927 100644
--- a/drivers/media/dvb/ttpci/av7110_hw.c
+++ b/drivers/media/dvb/ttpci/av7110_hw.c
@@ -427,6 +427,7 @@ static int __av7110_send_fw_cmd(struct av7110 *av7110, u16* buf, int length)
 			if (err) {
 				printk(KERN_ERR "%s: timeout waiting on busy %s QUEUE\n",
 					__func__, type);
+				av7110->arm_errors++;
 				return -ETIMEDOUT;
 			}
 			msleep(1);
@@ -853,10 +854,8 @@ static osd_raw_window_t bpp2bit[8] = {
 
 static inline int WaitUntilBmpLoaded(struct av7110 *av7110)
 {
-	int ret = wait_event_interruptible_timeout(av7110->bmpq,
+	int ret = wait_event_timeout(av7110->bmpq,
 				av7110->bmp_state != BMP_LOADING, 10*HZ);
-	if (ret == -ERESTARTSYS)
-		return ret;
 	if (ret == 0) {
 		printk("dvb-ttpci: warning: timeout waiting in LoadBitmap: %d, %d\n",
 		       ret, av7110->bmp_state);
diff --git a/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c b/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
index 732ce4de512e..bc2043e44ebd 100644
--- a/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
+++ b/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
@@ -19,6 +19,7 @@
 #include <linux/errno.h>
 #include <linux/jiffies.h>
 #include <linux/mutex.h>
+#include <linux/firmware.h>
 
 #include "dvb_frontend.h"
 #include "dmxdev.h"
@@ -285,13 +286,19 @@ static int master_xfer(struct i2c_adapter* adapter, struct i2c_msg *msg, int num
 	return i;
 }
 
-#include "dvb-ttusb-dspbootcode.h"
-
 static int ttusb_boot_dsp(struct ttusb *ttusb)
 {
+	const struct firmware *fw;
 	int i, err;
 	u8 b[40];
 
+	err = request_firmware(&fw, "ttusb-budget/dspbootcode.bin",
+			       &ttusb->dev->dev);
+	if (err) {
+		printk(KERN_ERR "ttusb-budget: failed to request firmware\n");
+		return err;
+	}
+
 	/* BootBlock */
 	b[0] = 0xaa;
 	b[2] = 0x13;
@@ -299,8 +306,8 @@ static int ttusb_boot_dsp(struct ttusb *ttusb)
 
 	/* upload dsp code in 32 byte steps (36 didn't work for me ...) */
 	/* 32 is max packet size, no messages should be splitted. */
-	for (i = 0; i < sizeof(dsp_bootcode); i += 28) {
-		memcpy(&b[4], &dsp_bootcode[i], 28);
+	for (i = 0; i < fw->size; i += 28) {
+		memcpy(&b[4], &fw->data[i], 28);
 
 		b[1] = ++ttusb->c;
 
@@ -552,7 +559,7 @@ static void ttusb_process_muxpack(struct ttusb *ttusb, const u8 * muxpack,
 	u16 csum = 0, cc;
 	int i;
 	for (i = 0; i < len; i += 2)
-		csum ^= le16_to_cpup((u16 *) (muxpack + i));
+		csum ^= le16_to_cpup((__le16 *) (muxpack + i));
 	if (csum) {
 		printk("%s: muxpack with incorrect checksum, ignoring\n",
 		       __func__);
@@ -1820,3 +1827,4 @@ module_exit(ttusb_exit);
 MODULE_AUTHOR("Holger Waechtler <holger@convergence.de>");
 MODULE_DESCRIPTION("TTUSB DVB Driver");
 MODULE_LICENSE("GPL");
+MODULE_FIRMWARE("ttusb-budget/dspbootcode.bin");
diff --git a/drivers/media/dvb/ttusb-budget/dvb-ttusb-dspbootcode.h b/drivers/media/dvb/ttusb-budget/dvb-ttusb-dspbootcode.h
deleted file mode 100644
index 8c3cd545e8f4..000000000000
--- a/drivers/media/dvb/ttusb-budget/dvb-ttusb-dspbootcode.h
+++ /dev/null
@@ -1,1644 +0,0 @@
-
-#include <asm/types.h>
-
-static u8 dsp_bootcode [] = {
-	0x08, 0xaa, 0x00, 0x18, 0x00, 0x03, 0x08, 0x00,
-	0x00, 0x10, 0x00, 0x00, 0x01, 0x80, 0x18, 0x5f,
-	0x00, 0x00, 0x01, 0x80, 0x77, 0x18, 0x2a, 0xeb,
-	0x6b, 0xf8, 0x00, 0x18, 0x03, 0xff, 0x68, 0xf8,
-	0x00, 0x18, 0xff, 0xfe, 0xf7, 0xb8, 0xf7, 0xbe,
-	0xf6, 0xb9, 0xf4, 0xa0, 0xf6, 0xb7, 0xf6, 0xb5,
-	0xf6, 0xb6, 0xf0, 0x20, 0x19, 0xdf, 0xf1, 0x00,
-	0x00, 0x01, 0xf8, 0x4d, 0x01, 0xab, 0xf6, 0xb8,
-	0xf0, 0x20, 0x19, 0xdf, 0xf0, 0x73, 0x01, 0xa5,
-	0x7e, 0xf8, 0x00, 0x12, 0xf0, 0x00, 0x00, 0x01,
-	0x47, 0xf8, 0x00, 0x11, 0x7e, 0x92, 0x00, 0xf8,
-	0x00, 0x11, 0xf0, 0x00, 0x00, 0x01, 0x7e, 0xf8,
-	0x00, 0x11, 0xf0, 0x00, 0x00, 0x01, 0x6c, 0x89,
-	0x01, 0x9a, 0xf7, 0xb8, 0xee, 0xfc, 0xf0, 0x20,
-	0xff, 0xff, 0xf1, 0x00, 0x00, 0x01, 0xf8, 0x4d,
-	0x01, 0xbf, 0xf2, 0x73, 0x01, 0xb9, 0x4e, 0x02,
-	0xf4, 0x95, 0xf5, 0xe3, 0x56, 0x02, 0x7e, 0x00,
-	0x11, 0x00, 0xfa, 0x4c, 0x01, 0xb7, 0x6b, 0x03,
-	0x00, 0x01, 0xf6, 0xb8, 0xee, 0x04, 0xf0, 0x74,
-	0x0d, 0xa7, 0xf0, 0x74, 0x01, 0xc5, 0x4a, 0x11,
-	0x4a, 0x16, 0x72, 0x11, 0x2a, 0xe6, 0x10, 0xf8,
-	0x00, 0x11, 0xfa, 0x45, 0x01, 0xdb, 0xf4, 0x95,
-	0xee, 0xff, 0x48, 0x11, 0xf0, 0x00, 0x2a, 0xc6,
-	0x88, 0x16, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0xee,
-	0xff, 0xff, 0xf4, 0xe3, 0x6c, 0xe9, 0xff, 0xff,
-	0x01, 0xd5, 0x10, 0xf8, 0x2a, 0xe7, 0xf8, 0x45,
-	0x01, 0xe2, 0x10, 0xf8, 0x2a, 0xe7, 0xf4, 0xe3,
-	0xf0, 0x74, 0x01, 0xff, 0xee, 0x01, 0x8a, 0x16,
-	0x8a, 0x11, 0xfc, 0x00, 0xf7, 0xb8, 0xe9, 0x20,
-	0x4a, 0x11, 0x09, 0xf8, 0x2a, 0xe6, 0xf8, 0x4e,
-	0x01, 0xf3, 0xf2, 0x73, 0x01, 0xfd, 0xf4, 0x95,
-	0xe8, 0x01, 0x72, 0x11, 0x2a, 0xe6, 0x49, 0x11,
-	0x80, 0xe1, 0x2a, 0xc6, 0xf3, 0x00, 0x00, 0x01,
-	0xe8, 0x00, 0x81, 0xf8, 0x2a, 0xe6, 0x8a, 0x11,
-	0xfc, 0x00, 0xf4, 0x95, 0xf0, 0x73, 0x02, 0x00,
-	0x10, 0xf8, 0x2a, 0x0f, 0xfc, 0x00, 0x4a, 0x11,
-	0xf0, 0x74, 0x02, 0x02, 0x80, 0xf8, 0x2a, 0x10,
-	0x73, 0x08, 0x00, 0x09, 0x40, 0xf8, 0x2a, 0x15,
-	0x82, 0xf8, 0x00, 0x11, 0xf4, 0x95, 0x77, 0x10,
-	0x03, 0xe8, 0xf5, 0xa9, 0xf8, 0x30, 0x02, 0x21,
-	0x71, 0xf8, 0x2a, 0x10, 0x2a, 0x15, 0x56, 0xf8,
-	0x2a, 0x0c, 0xf0, 0xe3, 0x4e, 0xf8, 0x2a, 0x16,
-	0xe8, 0x00, 0x4e, 0xf8, 0x2a, 0x0c, 0x8a, 0x11,
-	0xfc, 0x00, 0x4a, 0x06, 0x4a, 0x07, 0x4a, 0x1d,
-	0x68, 0xf8, 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8,
-	0x00, 0x07, 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d,
-	0xff, 0xfc, 0x6b, 0xf8, 0x2a, 0x0f, 0x00, 0x01,
-	0x8a, 0x1d, 0x8a, 0x07, 0x8a, 0x06, 0xf4, 0xeb,
-	0xee, 0xfd, 0x76, 0xf8, 0x2a, 0x0f, 0x00, 0x00,
-	0x76, 0x00, 0x00, 0x00, 0xfb, 0x80, 0x19, 0x4c,
-	0xf4, 0x95, 0xe8, 0x00, 0x80, 0xf8, 0x2a, 0x11,
-	0xf9, 0x80, 0x19, 0x07, 0x80, 0xf8, 0x2a, 0x0e,
-	0xf9, 0x80, 0x16, 0x66, 0x76, 0x00, 0x2a, 0x12,
-	0x10, 0xf8, 0x2a, 0x11, 0xf9, 0x80, 0x18, 0xe3,
-	0x10, 0xf8, 0x2a, 0x0e, 0xf9, 0x80, 0x16, 0x66,
-	0x10, 0xf8, 0x2a, 0x0e, 0xf9, 0x80, 0x16, 0x87,
-	0xee, 0x03, 0xfc, 0x00, 0x4a, 0x11, 0xf6, 0xb8,
-	0xf4, 0x95, 0xf0, 0x20, 0x80, 0x00, 0x11, 0xf8,
-	0x2a, 0x5a, 0xf8, 0x4d, 0x02, 0x93, 0x11, 0xf8,
-	0x2a, 0x9f, 0xf8, 0x4c, 0x02, 0x7c, 0x77, 0x12,
-	0x2a, 0x39, 0x49, 0x12, 0x01, 0xf8, 0x2a, 0x9f,
-	0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x71, 0x81,
-	0x00, 0x11, 0x6c, 0xe1, 0xff, 0xab, 0x02, 0x93,
-	0x6b, 0xf8, 0x2a, 0x9f, 0x00, 0x01, 0xe9, 0x05,
-	0x01, 0xe2, 0x00, 0x03, 0x81, 0xf8, 0x2a, 0xa0,
-	0xf0, 0x73, 0x02, 0x95, 0x72, 0x11, 0x2a, 0x9f,
-	0xf4, 0x95, 0x10, 0xe1, 0x2a, 0x39, 0x6b, 0xf8,
-	0x2a, 0x9f, 0x00, 0x01, 0x11, 0xf8, 0x2a, 0x9f,
-	0x09, 0xf8, 0x2a, 0xa0, 0xf8, 0x4c, 0x02, 0x93,
-	0x76, 0xf8, 0x2a, 0x5a, 0x00, 0x00, 0x76, 0xf8,
-	0x2a, 0x9f, 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xa0,
-	0x00, 0x00, 0x88, 0x11, 0xf4, 0x95, 0x48, 0x11,
-	0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe,
-	0x10, 0xf8, 0x2a, 0x5a, 0xf8, 0x44, 0x02, 0xb2,
-	0x76, 0xf8, 0x2a, 0x5a, 0x00, 0x01, 0xf0, 0x74,
-	0x02, 0x58, 0x88, 0x11, 0xf4, 0x95, 0x77, 0x10,
-	0x80, 0x00, 0xf4, 0xa9, 0xf8, 0x30, 0x02, 0xb2,
-	0x48, 0x11, 0xf0, 0x30, 0x00, 0xff, 0x80, 0x00,
-	0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 0x18, 0xd6,
-	0xee, 0x02, 0x8a, 0x11, 0xfc, 0x00, 0xf4, 0x95,
-	0x4a, 0x08, 0x4a, 0x09, 0x4a, 0x0a, 0x4a, 0x0b,
-	0x4a, 0x0c, 0x4a, 0x0d, 0x4a, 0x10, 0x4a, 0x11,
-	0x4a, 0x12, 0x4a, 0x13, 0x4a, 0x14, 0x4a, 0x15,
-	0x4a, 0x16, 0x4a, 0x17, 0x4a, 0x17, 0x4a, 0x19,
-	0x4a, 0x0e, 0x4a, 0x06, 0x4a, 0x07, 0x4a, 0x1a,
-	0x4a, 0x1d, 0x4a, 0x1b, 0x4a, 0x1c, 0x68, 0xf8,
-	0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07,
-	0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc,
-	0x48, 0x18, 0x68, 0xf8, 0x00, 0x18, 0xff, 0xfe,
-	0xf4, 0x95, 0xf4, 0x95, 0x4a, 0x08, 0xee, 0xfd,
-	0xf0, 0x74, 0x02, 0x58, 0x88, 0x11, 0xf4, 0x95,
-	0x77, 0x10, 0x80, 0x00, 0xf4, 0xa9, 0xf8, 0x30,
-	0x02, 0xef, 0x48, 0x11, 0xf0, 0x30, 0x00, 0xff,
-	0x80, 0x00, 0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80,
-	0x18, 0xd6, 0xee, 0x03, 0x8a, 0x18, 0xf4, 0x95,
-	0x8a, 0x1c, 0x8a, 0x1b, 0x8a, 0x1d, 0x8a, 0x1a,
-	0x8a, 0x07, 0x8a, 0x06, 0x8a, 0x0e, 0x8a, 0x19,
-	0x8a, 0x17, 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x15,
-	0x8a, 0x14, 0x8a, 0x13, 0x8a, 0x12, 0x8a, 0x11,
-	0x8a, 0x10, 0x8a, 0x0d, 0x8a, 0x0c, 0x8a, 0x0b,
-	0x8a, 0x0a, 0x8a, 0x09, 0x8a, 0x08, 0xf4, 0xeb,
-	0x4a, 0x11, 0x77, 0x11, 0x2a, 0x39, 0x76, 0x81,
-	0x00, 0x55, 0x77, 0x12, 0x2a, 0x18, 0x10, 0xe2,
-	0x00, 0x01, 0x80, 0xe1, 0x00, 0x01, 0x10, 0xe2,
-	0x00, 0x02, 0x80, 0xe1, 0x00, 0x02, 0x76, 0xe1,
-	0x00, 0x03, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x04,
-	0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 0x8a, 0x11,
-	0xfc, 0x00, 0x4a, 0x11, 0x88, 0x11, 0xf4, 0x95,
-	0xf4, 0x95, 0x10, 0x81, 0x6f, 0xf8, 0x2a, 0x9e,
-	0x0c, 0x88, 0xe8, 0xff, 0x18, 0xe1, 0x00, 0x01,
-	0x1a, 0xf8, 0x2a, 0x9e, 0xf0, 0x30, 0x1f, 0xff,
-	0x80, 0xf8, 0x2a, 0x9e, 0x8a, 0x11, 0xfc, 0x00,
-	0x4a, 0x11, 0x77, 0x11, 0x2a, 0x39, 0x76, 0x81,
-	0x00, 0x55, 0x77, 0x12, 0x2a, 0x18, 0x11, 0xe2,
-	0x00, 0x01, 0x81, 0xe1, 0x00, 0x01, 0x11, 0xe2,
-	0x00, 0x02, 0x81, 0xe1, 0x00, 0x02, 0x76, 0xe1,
-	0x00, 0x03, 0x00, 0x02, 0x48, 0x08, 0x6f, 0xe1,
-	0x00, 0x04, 0x0c, 0x98, 0xf0, 0x30, 0x00, 0xff,
-	0x80, 0xe1, 0x00, 0x05, 0x76, 0xe1, 0x00, 0x06,
-	0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 0x8a, 0x11,
-	0xfc, 0x00, 0x4a, 0x11, 0x77, 0x11, 0x2a, 0x39,
-	0x76, 0x81, 0x00, 0x55, 0x77, 0x12, 0x2a, 0x18,
-	0x10, 0xe2, 0x00, 0x01, 0x80, 0xe1, 0x00, 0x01,
-	0x10, 0xe2, 0x00, 0x02, 0x80, 0xe1, 0x00, 0x02,
-	0x76, 0xe1, 0x00, 0x03, 0x00, 0x04, 0x48, 0x11,
-	0xf0, 0x00, 0x00, 0x04, 0x88, 0x12, 0xf4, 0x95,
-	0x77, 0x13, 0x2a, 0x76, 0xe9, 0x00, 0xe5, 0x98,
-	0xf3, 0x00, 0x00, 0x01, 0xf6, 0xb8, 0x48, 0x0b,
-	0x08, 0xf8, 0x2a, 0x3c, 0xf8, 0x43, 0x03, 0x71,
-	0x76, 0x82, 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98,
-	0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xf0,
-	0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x71, 0x81,
-	0x00, 0x14, 0x71, 0xe1, 0x00, 0x01, 0x00, 0x15,
-	0x49, 0x11, 0xf3, 0x00, 0x00, 0x02, 0x89, 0x11,
-	0xe7, 0x82, 0x6d, 0xea, 0x00, 0x04, 0xe7, 0x83,
-	0x6d, 0xeb, 0x00, 0x0a, 0x77, 0x1a, 0x00, 0x05,
-	0xf0, 0x72, 0x03, 0xaa, 0x11, 0x81, 0xf2, 0xe8,
-	0x80, 0x82, 0xe9, 0xff, 0x19, 0xe1, 0x00, 0x01,
-	0xf1, 0xa0, 0x81, 0x92, 0x11, 0xe1, 0x00, 0x0c,
-	0xf2, 0xe8, 0x80, 0x83, 0xe9, 0xff, 0x19, 0xe1,
-	0x00, 0x0d, 0xf1, 0xa0, 0x81, 0x93, 0x6d, 0xe9,
-	0x00, 0x02, 0x48, 0x18, 0x49, 0x18, 0x70, 0x00,
-	0x00, 0x15, 0xf0, 0x00, 0x00, 0x04, 0xf3, 0x00,
-	0x00, 0x0a, 0x80, 0x01, 0x81, 0x02, 0xf2, 0x74,
-	0x0e, 0x54, 0xf4, 0x95, 0x48, 0x14, 0xee, 0x10,
-	0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xf0, 0x74,
-	0x0c, 0x5e, 0x80, 0xf8, 0x2a, 0x5c, 0x77, 0x12,
-	0x2a, 0x39, 0x76, 0x82, 0x00, 0x55, 0x77, 0x11,
-	0x2a, 0x18, 0x10, 0xe1, 0x00, 0x01, 0x80, 0xe2,
-	0x00, 0x01, 0x10, 0xe1, 0x00, 0x02, 0x80, 0xe2,
-	0x00, 0x02, 0x76, 0xe2, 0x00, 0x03, 0x00, 0x1c,
-	0xf6, 0xb8, 0x56, 0xf8, 0x2a, 0x16, 0xf0, 0xf0,
-	0xf0, 0xf8, 0x80, 0xe2, 0x00, 0x07, 0x56, 0xf8,
-	0x2a, 0x16, 0xf1, 0xf0, 0xe8, 0xff, 0xf2, 0x80,
-	0x80, 0xe2, 0x00, 0x06, 0x56, 0xf8, 0x2a, 0x16,
-	0xf1, 0xf8, 0xe8, 0xff, 0xf2, 0x80, 0x80, 0xe2,
-	0x00, 0x05, 0x57, 0xf8, 0x2a, 0x16, 0xe8, 0xff,
-	0xf2, 0x80, 0x80, 0xe2, 0x00, 0x04, 0x56, 0xf8,
-	0x27, 0x6c, 0xf0, 0xf0, 0xf0, 0xf8, 0x80, 0xe2,
-	0x00, 0x0b, 0x56, 0xf8, 0x27, 0x6c, 0xf1, 0xf0,
-	0xe8, 0xff, 0xf2, 0x80, 0x80, 0xe2, 0x00, 0x0a,
-	0x56, 0xf8, 0x27, 0x6c, 0xf1, 0xf8, 0xe8, 0xff,
-	0xf2, 0x80, 0x80, 0xe2, 0x00, 0x09, 0xe8, 0xff,
-	0x57, 0xf8, 0x27, 0x6c, 0xf2, 0x80, 0x80, 0xe2,
-	0x00, 0x08, 0x56, 0xf8, 0x27, 0x6a, 0xf0, 0xf0,
-	0xf0, 0xf8, 0x80, 0xe2, 0x00, 0x0f, 0x56, 0xf8,
-	0x27, 0x6a, 0xf1, 0xf0, 0xe8, 0xff, 0xf2, 0x80,
-	0x80, 0xe2, 0x00, 0x0e, 0x56, 0xf8, 0x27, 0x6a,
-	0xf1, 0xf8, 0xe8, 0xff, 0xf2, 0x80, 0x80, 0xe2,
-	0x00, 0x0d, 0x57, 0xf8, 0x27, 0x6a, 0xe8, 0xff,
-	0xf2, 0x80, 0x80, 0xe2, 0x00, 0x0c, 0x76, 0xe2,
-	0x00, 0x13, 0x00, 0x00, 0x76, 0xe2, 0x00, 0x12,
-	0x00, 0x00, 0x6f, 0xf8, 0x2a, 0x5c, 0x0c, 0x58,
-	0x80, 0xe2, 0x00, 0x11, 0xe8, 0xff, 0x18, 0xf8,
-	0x2a, 0x5c, 0x80, 0xe2, 0x00, 0x10, 0x76, 0xe2,
-	0x00, 0x17, 0x00, 0x00, 0x76, 0xe2, 0x00, 0x16,
-	0x00, 0x00, 0x6f, 0xf8, 0x2a, 0x9e, 0x0c, 0x58,
-	0x80, 0xe2, 0x00, 0x15, 0xe8, 0xff, 0x18, 0xf8,
-	0x2a, 0x9e, 0x80, 0xe2, 0x00, 0x14, 0x76, 0xe2,
-	0x00, 0x1b, 0x00, 0x00, 0x76, 0xe2, 0x00, 0x1a,
-	0x00, 0x00, 0x76, 0xe2, 0x00, 0x19, 0x00, 0x00,
-	0x70, 0xe2, 0x00, 0x18, 0x27, 0x6e, 0x76, 0xe2,
-	0x00, 0x1f, 0x00, 0x00, 0x76, 0xe2, 0x00, 0x1e,
-	0x00, 0x00, 0x76, 0xe2, 0x00, 0x1d, 0x00, 0x00,
-	0x76, 0xe2, 0x00, 0x1c, 0x00, 0x00, 0x76, 0xe2,
-	0x00, 0x20, 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98,
-	0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe,
-	0x10, 0xf8, 0x2a, 0x38, 0xf8, 0x45, 0x04, 0xed,
-	0x77, 0x12, 0x2a, 0x18, 0x10, 0xe2, 0x00, 0x02,
-	0x88, 0x11, 0xf4, 0x95, 0x77, 0x10, 0x00, 0x08,
-	0x6d, 0xe9, 0xff, 0xdf, 0xf6, 0xa9, 0xf8, 0x20,
-	0x04, 0x75, 0xf0, 0x73, 0x04, 0x7d, 0xf0, 0x10,
-	0x00, 0x21, 0xf0, 0x00, 0x1a, 0x83, 0x48, 0x08,
-	0x7e, 0xf8, 0x00, 0x08, 0xf4, 0xe2, 0xf0, 0x74,
-	0x03, 0x0a, 0xf0, 0x73, 0x04, 0xea, 0x48, 0x12,
-	0xf2, 0x74, 0x03, 0x23, 0xf0, 0x00, 0x00, 0x04,
-	0xf2, 0x74, 0x03, 0x36, 0xf4, 0x95, 0xe8, 0x00,
-	0xf0, 0x73, 0x04, 0xea, 0x77, 0x11, 0x2a, 0x18,
-	0xe8, 0xff, 0x6f, 0xe1, 0x00, 0x04, 0x0d, 0x48,
-	0x18, 0xe1, 0x00, 0x05, 0xf2, 0x74, 0x09, 0x69,
-	0xf4, 0x95, 0xf2, 0xa0, 0xf0, 0x74, 0x03, 0x36,
-	0xf0, 0x73, 0x04, 0xea, 0x77, 0x11, 0x2a, 0x18,
-	0xe8, 0xff, 0x6f, 0xe1, 0x00, 0x04, 0x0d, 0x48,
-	0x18, 0xe1, 0x00, 0x05, 0xf2, 0x74, 0x09, 0x41,
-	0xf4, 0x95, 0xf2, 0xa0, 0xf0, 0x74, 0x03, 0x36,
-	0xf0, 0x73, 0x04, 0xea, 0xf0, 0x74, 0x03, 0x57,
-	0xf0, 0x73, 0x04, 0xea, 0x10, 0xf8, 0x2a, 0x1c,
-	0xf0, 0x74, 0x12, 0xa4, 0xf2, 0x74, 0x03, 0x36,
-	0xf4, 0x95, 0xe8, 0x00, 0xf0, 0x73, 0x04, 0xea,
-	0x48, 0x12, 0xf2, 0x74, 0x03, 0x80, 0xf0, 0x00,
-	0x00, 0x04, 0xf2, 0x74, 0x03, 0x36, 0xf4, 0x95,
-	0xe8, 0x00, 0xf0, 0x73, 0x04, 0xea, 0x10, 0xf8,
-	0x2a, 0x1c, 0xf0, 0x74, 0x12, 0xc5, 0xf2, 0x74,
-	0x03, 0x36, 0xf4, 0x95, 0xe8, 0x00, 0xf0, 0x73,
-	0x04, 0xea, 0x77, 0x11, 0x2a, 0x18, 0xe8, 0xff,
-	0x6f, 0xe1, 0x00, 0x06, 0x0d, 0x48, 0x18, 0xe1,
-	0x00, 0x07, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12,
-	0xf2, 0xa0, 0x70, 0x00, 0x00, 0x12, 0x80, 0x01,
-	0x10, 0xe1, 0x00, 0x04, 0xf0, 0x74, 0x0e, 0x7a,
-	0xf2, 0x74, 0x03, 0x36, 0xf4, 0x95, 0xe8, 0x00,
-	0xf0, 0x73, 0x04, 0xea, 0xf0, 0x74, 0x03, 0xbc,
-	0x76, 0xf8, 0x2a, 0x38, 0x00, 0x00, 0xee, 0x02,
-	0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x77, 0x11,
-	0x2a, 0x39, 0x76, 0x81, 0x00, 0x55, 0x77, 0x12,
-	0x2a, 0x18, 0x10, 0xe2, 0x00, 0x01, 0x80, 0xe1,
-	0x00, 0x01, 0x10, 0xe2, 0x00, 0x02, 0x80, 0xe1,
-	0x00, 0x02, 0x76, 0xe1, 0x00, 0x03, 0x00, 0x09,
-	0x48, 0x11, 0xf0, 0x00, 0x00, 0x04, 0x88, 0x12,
-	0xf4, 0x95, 0x77, 0x13, 0x2a, 0x86, 0xe9, 0x00,
-	0xe5, 0x98, 0xf3, 0x00, 0x00, 0x01, 0xf6, 0xb8,
-	0x48, 0x0b, 0x08, 0xf8, 0x2a, 0x3c, 0xf8, 0x43,
-	0x05, 0x0a, 0x76, 0x82, 0x00, 0xaa, 0xf0, 0x74,
-	0x02, 0x98, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11,
-	0x77, 0x11, 0x2a, 0x39, 0x76, 0x81, 0x00, 0x55,
-	0x77, 0x13, 0x2a, 0x18, 0x10, 0xe3, 0x00, 0x01,
-	0x80, 0xe1, 0x00, 0x01, 0x10, 0xe3, 0x00, 0x02,
-	0x80, 0xe1, 0x00, 0x02, 0x13, 0xe3, 0x00, 0x03,
-	0x81, 0xe1, 0x00, 0x03, 0x48, 0x11, 0x77, 0x11,
-	0x00, 0x00, 0xf8, 0x4d, 0x05, 0x44, 0xf0, 0x00,
-	0x00, 0x04, 0x88, 0x12, 0x48, 0x13, 0xf0, 0x00,
-	0x00, 0x04, 0x88, 0x13, 0xf4, 0x95, 0xf4, 0x95,
-	0xe5, 0x98, 0x6d, 0x91, 0xf6, 0xb8, 0x48, 0x11,
-	0x08, 0xf8, 0x2a, 0x3c, 0xf8, 0x43, 0x05, 0x3a,
-	0xf0, 0x20, 0x2a, 0x39, 0x49, 0x11, 0xf5, 0x00,
-	0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x76, 0xe1,
-	0x00, 0x04, 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98,
-	0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x77, 0x11,
-	0x2a, 0x39, 0x76, 0x81, 0x00, 0x55, 0x77, 0x12,
-	0x2a, 0x18, 0x10, 0xe2, 0x00, 0x01, 0x80, 0xe1,
-	0x00, 0x01, 0x10, 0xe2, 0x00, 0x02, 0x80, 0xe1,
-	0x00, 0x02, 0x76, 0xe1, 0x00, 0x03, 0x00, 0x0c,
-	0x48, 0x11, 0xf0, 0x00, 0x00, 0x04, 0x88, 0x12,
-	0xf4, 0x95, 0x77, 0x13, 0x2a, 0x7a, 0xe9, 0x00,
-	0xe5, 0x98, 0xf3, 0x00, 0x00, 0x01, 0xf6, 0xb8,
-	0x48, 0x0b, 0x08, 0xf8, 0x2a, 0x3c, 0xf8, 0x43,
-	0x05, 0x6a, 0x76, 0x82, 0x00, 0xaa, 0xf0, 0x74,
-	0x02, 0x98, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11,
-	0x77, 0x11, 0x2a, 0x39, 0x76, 0x81, 0x00, 0x55,
-	0x77, 0x12, 0x2a, 0x18, 0x10, 0xe2, 0x00, 0x01,
-	0x80, 0xe1, 0x00, 0x01, 0x10, 0xe2, 0x00, 0x02,
-	0x80, 0xe1, 0x00, 0x02, 0x76, 0xe1, 0x00, 0x03,
-	0x00, 0x19, 0x48, 0x11, 0xf0, 0x00, 0x00, 0x04,
-	0x88, 0x12, 0xf4, 0x95, 0x77, 0x13, 0x2a, 0x5d,
-	0xe9, 0x00, 0xe5, 0x98, 0xf3, 0x00, 0x00, 0x01,
-	0xf6, 0xb8, 0x48, 0x0b, 0x08, 0xf8, 0x2a, 0x3c,
-	0xf8, 0x43, 0x05, 0x93, 0x76, 0x82, 0x00, 0xaa,
-	0xf0, 0x74, 0x02, 0x98, 0x8a, 0x11, 0xfc, 0x00,
-	0x4a, 0x11, 0x88, 0x11, 0x10, 0xf8, 0x2a, 0x38,
-	0xf8, 0x44, 0x05, 0xe3, 0x10, 0xf8, 0x2a, 0xa1,
-	0xf8, 0x44, 0x05, 0xba, 0x6c, 0xe1, 0xff, 0x56,
-	0x05, 0xe3, 0x72, 0x12, 0x2a, 0xa1, 0xf4, 0x95,
-	0x70, 0xe2, 0x2a, 0x18, 0x00, 0x11, 0x6b, 0xf8,
-	0x2a, 0xa1, 0x00, 0x01, 0xf0, 0x73, 0x05, 0xe3,
-	0x72, 0x12, 0x2a, 0xa1, 0xf4, 0x95, 0x70, 0xe2,
-	0x2a, 0x18, 0x00, 0x11, 0x10, 0xf8, 0x2a, 0xa1,
-	0xf0, 0x00, 0x00, 0x01, 0x88, 0x12, 0xf4, 0x95,
-	0xf4, 0x95, 0x6e, 0xe2, 0xff, 0xfc, 0x05, 0xd1,
-	0x73, 0x12, 0x2a, 0xa1, 0x48, 0x11, 0xf0, 0x00,
-	0x00, 0x05, 0x80, 0xf8, 0x2a, 0xa2, 0x10, 0xf8,
-	0x2a, 0xa1, 0x08, 0xf8, 0x2a, 0xa2, 0xf8, 0x44,
-	0x05, 0xe3, 0x6c, 0xe1, 0xff, 0xab, 0x05, 0xdd,
-	0x76, 0xf8, 0x2a, 0x38, 0x00, 0x01, 0x76, 0xf8,
-	0x2a, 0xa1, 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xa2,
-	0x00, 0x00, 0x8a, 0x11, 0xfc, 0x00, 0xf4, 0x95,
-	0x4a, 0x08, 0x4a, 0x09, 0x4a, 0x0a, 0x4a, 0x0b,
-	0x4a, 0x0c, 0x4a, 0x0d, 0x4a, 0x10, 0x4a, 0x11,
-	0x4a, 0x12, 0x4a, 0x13, 0x4a, 0x14, 0x4a, 0x15,
-	0x4a, 0x16, 0x4a, 0x17, 0x4a, 0x17, 0x4a, 0x19,
-	0x4a, 0x0e, 0x4a, 0x06, 0x4a, 0x07, 0x4a, 0x1a,
-	0x4a, 0x1d, 0x4a, 0x1b, 0x4a, 0x1c, 0x68, 0xf8,
-	0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07,
-	0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc,
-	0x48, 0x18, 0x68, 0xf8, 0x00, 0x18, 0xff, 0xfe,
-	0xf4, 0x95, 0xf4, 0x95, 0x4a, 0x08, 0xee, 0xff,
-	0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 0x18, 0x04,
-	0xf0, 0x74, 0x05, 0xa2, 0xee, 0x01, 0x8a, 0x18,
-	0xf4, 0x95, 0x8a, 0x1c, 0x8a, 0x1b, 0x8a, 0x1d,
-	0x8a, 0x1a, 0x8a, 0x07, 0x8a, 0x06, 0x8a, 0x0e,
-	0x8a, 0x19, 0x8a, 0x17, 0x8a, 0x17, 0x8a, 0x16,
-	0x8a, 0x15, 0x8a, 0x14, 0x8a, 0x13, 0x8a, 0x12,
-	0x8a, 0x11, 0x8a, 0x10, 0x8a, 0x0d, 0x8a, 0x0c,
-	0x8a, 0x0b, 0x8a, 0x0a, 0x8a, 0x09, 0x8a, 0x08,
-	0xf4, 0xeb, 0xee, 0xfd, 0x76, 0xf8, 0x2a, 0x38,
-	0x00, 0x00, 0x76, 0xf8, 0x2a, 0x5a, 0x00, 0x00,
-	0xe8, 0x01, 0x4e, 0x00, 0xfb, 0x80, 0x17, 0xd6,
-	0xf4, 0x95, 0xe8, 0x01, 0x80, 0xf8, 0x2a, 0x5b,
-	0x76, 0x00, 0x2a, 0x8f, 0xf9, 0x80, 0x16, 0xaa,
-	0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 0x17, 0x5c,
-	0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 0x17, 0x6f,
-	0xfb, 0x80, 0x16, 0x66, 0xf4, 0x95, 0xe8, 0x1a,
-	0xfb, 0x80, 0x16, 0x87, 0xf4, 0x95, 0xe8, 0x1a,
-	0xfb, 0x80, 0x16, 0x66, 0xf4, 0x95, 0xe8, 0x1b,
-	0xfb, 0x80, 0x16, 0x87, 0xf4, 0x95, 0xe8, 0x1b,
-	0xee, 0x03, 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95,
-	0x13, 0x02, 0x88, 0x11, 0xe8, 0x00, 0xf8, 0x4d,
-	0x06, 0x6a, 0xf3, 0x10, 0x00, 0x01, 0x89, 0x1a,
-	0xf4, 0x95, 0xf0, 0x72, 0x06, 0x69, 0x1c, 0x91,
-	0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x88, 0x11,
-	0x12, 0x03, 0x11, 0x02, 0xf8, 0x45, 0x06, 0x79,
-	0xf0, 0x10, 0x00, 0x01, 0x88, 0x1a, 0xf4, 0x95,
-	0xf0, 0x72, 0x06, 0x78, 0x81, 0x91, 0x8a, 0x11,
-	0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02,
-	0x00, 0x11, 0x11, 0x03, 0x61, 0xf8, 0x00, 0x11,
-	0x00, 0x01, 0xf8, 0x30, 0x06, 0x91, 0xf6, 0xb8,
-	0x6f, 0xf8, 0x00, 0x11, 0x0c, 0x1f, 0x88, 0x11,
-	0xf3, 0xe8, 0xe8, 0xff, 0x18, 0x81, 0xf1, 0xa0,
-	0x81, 0x81, 0xf0, 0x73, 0x06, 0x9d, 0xf6, 0xb8,
-	0x6f, 0xf8, 0x00, 0x11, 0x0c, 0x1f, 0x88, 0x11,
-	0xf3, 0x30, 0x00, 0xff, 0xf0, 0x20, 0xff, 0x00,
-	0x18, 0x81, 0xf1, 0xa0, 0x81, 0x81, 0x8a, 0x11,
-	0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 0x11, 0x02,
-	0x61, 0xf8, 0x00, 0x0b, 0x00, 0x01, 0xf8, 0x20,
-	0x06, 0xb1, 0x49, 0x0b, 0xf6, 0x1f, 0x88, 0x11,
-	0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 0xf2, 0x73,
-	0x06, 0xb8, 0xf0, 0x30, 0x00, 0xff, 0x49, 0x0b,
-	0xf6, 0x1f, 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95,
-	0x12, 0x81, 0xf4, 0x78, 0x8a, 0x11, 0xfc, 0x00,
-	0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 0x00, 0x12,
-	0x13, 0x03, 0x88, 0x11, 0xe8, 0x00, 0xf8, 0x4d,
-	0x06, 0xcc, 0xf3, 0x10, 0x00, 0x01, 0x89, 0x1a,
-	0xf4, 0x95, 0xf0, 0x72, 0x06, 0xcb, 0x11, 0x92,
-	0xf2, 0xc0, 0x81, 0x91, 0x8a, 0x11, 0xfc, 0x00,
-	0x88, 0x12, 0x12, 0x02, 0x71, 0x01, 0x00, 0x13,
-	0xf8, 0x45, 0x06, 0xdb, 0xf0, 0x10, 0x00, 0x01,
-	0x88, 0x1a, 0xf4, 0x95, 0xf0, 0x72, 0x06, 0xda,
-	0xe5, 0x98, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe,
-	0x88, 0x11, 0x11, 0x04, 0x10, 0x06, 0x71, 0x05,
-	0x00, 0x12, 0x61, 0xf8, 0x00, 0x12, 0x00, 0x01,
-	0xf8, 0x20, 0x06, 0xea, 0xf0, 0x00, 0x00, 0x01,
-	0xf6, 0xb8, 0xf0, 0x00, 0x00, 0x01, 0x6f, 0xf8,
-	0x00, 0x12, 0x0f, 0x1f, 0x48, 0x08, 0x81, 0x00,
-	0xf4, 0x7f, 0x80, 0x01, 0xf2, 0x74, 0x06, 0xba,
-	0xf4, 0x95, 0x48, 0x11, 0xee, 0x02, 0x8a, 0x11,
-	0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 0x88, 0x12,
-	0x11, 0x04, 0x10, 0x06, 0x71, 0x05, 0x00, 0x13,
-	0x61, 0xf8, 0x00, 0x13, 0x00, 0x01, 0xf8, 0x20,
-	0x07, 0x09, 0xf0, 0x00, 0x00, 0x01, 0xf0, 0x00,
-	0x00, 0x01, 0x88, 0x11, 0xf6, 0xb8, 0x6f, 0xf8,
-	0x00, 0x13, 0x0f, 0x1f, 0x81, 0x00, 0x48, 0x11,
-	0xf4, 0x7f, 0x80, 0x01, 0xf2, 0x74, 0x06, 0xce,
-	0xf4, 0x95, 0x48, 0x12, 0x48, 0x11, 0xf0, 0x30,
-	0xff, 0xfe, 0xee, 0x02, 0x8a, 0x11, 0xfc, 0x00,
-	0x4a, 0x11, 0x4a, 0x16, 0x4a, 0x17, 0xee, 0xfc,
-	0xf4, 0x95, 0x80, 0x02, 0x71, 0x08, 0x00, 0x16,
-	0x10, 0x09, 0x71, 0x0b, 0x00, 0x17, 0x80, 0x03,
-	0x71, 0x0a, 0x00, 0x11, 0x48, 0x17, 0xf8, 0x45,
-	0x07, 0x3f, 0x70, 0x00, 0x00, 0x11, 0x10, 0x03,
-	0xf0, 0x74, 0x06, 0x9f, 0x80, 0x01, 0x70, 0x00,
-	0x00, 0x16, 0x10, 0x02, 0xf0, 0x74, 0x06, 0x7b,
-	0x6d, 0x91, 0x6d, 0x96, 0x6c, 0xef, 0xff, 0xff,
-	0x07, 0x2f, 0xee, 0x04, 0x8a, 0x17, 0x8a, 0x16,
-	0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe,
-	0x10, 0xf8, 0x2a, 0xe8, 0x08, 0xf8, 0x2a, 0xe9,
-	0xf8, 0x45, 0x07, 0x64, 0x76, 0x00, 0x00, 0x01,
-	0x62, 0xf8, 0x2a, 0xe9, 0x00, 0x5e, 0xf2, 0x74,
-	0x12, 0x0b, 0xf0, 0x00, 0x30, 0x40, 0x72, 0x11,
-	0x2a, 0xe9, 0x77, 0x10, 0x00, 0x0f, 0xf5, 0xa9,
-	0xf8, 0x20, 0x07, 0x61, 0x6b, 0xf8, 0x2a, 0xe9,
-	0x00, 0x01, 0xf0, 0x73, 0x07, 0x64, 0x76, 0xf8,
-	0x2a, 0xe9, 0x00, 0x00, 0xee, 0x02, 0x8a, 0x11,
-	0xfc, 0x00, 0x4a, 0x11, 0x88, 0x11, 0xe8, 0x00,
-	0x75, 0xf8, 0x00, 0x08, 0x00, 0x08, 0xe8, 0x00,
-	0x75, 0xf8, 0x00, 0x08, 0x00, 0x09, 0xf6, 0xb8,
-	0xf4, 0x95, 0xf0, 0x20, 0xfc, 0x3f, 0x75, 0xf8,
-	0x00, 0x08, 0x00, 0x0d, 0xf0, 0x20, 0x0c, 0x30,
-	0x75, 0xf8, 0x00, 0x08, 0x00, 0x0c, 0x76, 0xf8,
-	0x2a, 0xe8, 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xe9,
-	0x00, 0x00, 0x6c, 0x81, 0x07, 0x92, 0x76, 0xf8,
-	0x2a, 0xea, 0x00, 0x00, 0xfb, 0x80, 0x16, 0x76,
-	0xf4, 0x95, 0xe8, 0x10, 0xe8, 0x00, 0x75, 0xf8,
-	0x00, 0x08, 0x00, 0x00, 0xf0, 0x73, 0x07, 0xa8,
-	0x76, 0xf8, 0x2a, 0xea, 0x00, 0x01, 0xfb, 0x80,
-	0x16, 0x66, 0xf4, 0x95, 0xe8, 0x10, 0xfb, 0x80,
-	0x16, 0x87, 0xf4, 0x95, 0xe8, 0x10, 0xe8, 0x00,
-	0x75, 0xf8, 0x00, 0x08, 0x00, 0x00, 0xf6, 0xb8,
-	0xf4, 0x95, 0xf0, 0x20, 0xff, 0xff, 0x75, 0xf8,
-	0x00, 0x08, 0x00, 0x00, 0x8a, 0x11, 0xfc, 0x00,
-	0xf4, 0x95, 0x4a, 0x08, 0x4a, 0x09, 0x4a, 0x0a,
-	0x4a, 0x06, 0x4a, 0x07, 0x4a, 0x1d, 0x68, 0xf8,
-	0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07,
-	0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc,
-	0x10, 0xf8, 0x2a, 0xea, 0xf8, 0x45, 0x07, 0xe1,
-	0x10, 0xf8, 0x2a, 0xe8, 0xf0, 0x00, 0x00, 0x01,
-	0xf0, 0x30, 0x00, 0x0f, 0x80, 0xf8, 0x2a, 0xe8,
-	0x10, 0xf8, 0x2a, 0xe8, 0xf8, 0x44, 0x07, 0xd6,
-	0xf6, 0xb8, 0xf4, 0x95, 0xf0, 0x20, 0xfc, 0x3f,
-	0x75, 0xf8, 0x00, 0x08, 0x00, 0x0d, 0xf0, 0x20,
-	0x0c, 0x30, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x0c,
-	0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x00,
-	0xf6, 0xb8, 0xf4, 0x95, 0xf0, 0x20, 0xff, 0xff,
-	0x75, 0xf8, 0x00, 0x08, 0x00, 0x00, 0x8a, 0x1d,
-	0x8a, 0x07, 0x8a, 0x06, 0x8a, 0x0a, 0x8a, 0x09,
-	0x8a, 0x08, 0xf4, 0xeb, 0xee, 0xff, 0xf2, 0x74,
-	0x07, 0x67, 0xf4, 0x95, 0xe8, 0x01, 0xee, 0x01,
-	0xfc, 0x00, 0x4a, 0x07, 0x4a, 0x1d, 0x68, 0xf8,
-	0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07,
-	0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc,
-	0x8a, 0x1d, 0x8a, 0x07, 0xf4, 0xeb, 0x4a, 0x11,
-	0x77, 0x11, 0x00, 0x28, 0x76, 0x81, 0x24, 0x00,
-	0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01,
-	0xf2, 0x74, 0x07, 0x67, 0xf4, 0x95, 0xe8, 0x00,
-	0x77, 0x11, 0x00, 0x1d, 0x68, 0x81, 0x00, 0x7f,
-	0xf6, 0xb8, 0xf4, 0x95, 0xf0, 0x20, 0xff, 0x80,
-	0x77, 0x11, 0x00, 0x1d, 0xf0, 0x30, 0x01, 0x00,
-	0x1a, 0x81, 0x80, 0x81, 0xf0, 0x74, 0x0a, 0x33,
-	0xf0, 0x74, 0x11, 0xac, 0xf9, 0x80, 0x13, 0x25,
-	0xf9, 0x80, 0x16, 0x53, 0xf9, 0x80, 0x17, 0x82,
-	0xf0, 0x74, 0x06, 0x2f, 0xf9, 0x80, 0x14, 0xb2,
-	0xf9, 0x80, 0x19, 0x10, 0xf0, 0x74, 0x0d, 0xe3,
-	0xf0, 0x74, 0x07, 0xe8, 0xf0, 0x74, 0x02, 0x36,
-	0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x60, 0xf8,
-	0x27, 0x7b, 0xff, 0xff, 0xf8, 0x30, 0x08, 0x39,
-	0x71, 0xf8, 0x27, 0x7b, 0x27, 0x79, 0x60, 0xf8,
-	0x27, 0x79, 0xff, 0xff, 0xf8, 0x30, 0x08, 0xb2,
-	0x10, 0xf8, 0x29, 0x86, 0x08, 0xf8, 0x27, 0x79,
-	0xf0, 0x30, 0x7f, 0xff, 0x88, 0x11, 0xf4, 0x95,
-	0x77, 0x10, 0x40, 0x00, 0xf6, 0xa9, 0xf8, 0x30,
-	0x08, 0x58, 0x10, 0xf8, 0x27, 0x79, 0x08, 0xf8,
-	0x27, 0x7a, 0xf0, 0x30, 0x7f, 0xff, 0x88, 0x11,
-	0xf4, 0x95, 0x77, 0x10, 0x40, 0x00, 0xf6, 0xa9,
-	0xf8, 0x20, 0x08, 0x63, 0x76, 0xf8, 0x27, 0x79,
-	0xff, 0xff, 0x76, 0xf8, 0x27, 0x7b, 0xff, 0xff,
-	0xf7, 0xb8, 0xf2, 0x73, 0x08, 0xd9, 0xf0, 0x20,
-	0xff, 0xff, 0xf6, 0xb8, 0x56, 0xf8, 0x27, 0x74,
-	0xf0, 0xf9, 0x88, 0x11, 0x56, 0xf8, 0x27, 0x72,
-	0xf0, 0xf9, 0x88, 0x12, 0xf4, 0x95, 0xf4, 0x95,
-	0xe7, 0x20, 0xf4, 0xa9, 0xf8, 0x30, 0x08, 0x8f,
-	0xf1, 0x20, 0x27, 0x7c, 0x48, 0x11, 0xf6, 0x00,
-	0x88, 0x13, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x83,
-	0x08, 0xf8, 0x27, 0x79, 0xf0, 0x30, 0x7f, 0xff,
-	0x88, 0x13, 0xf4, 0x95, 0x77, 0x10, 0x40, 0x00,
-	0xf5, 0xab, 0xf8, 0x30, 0x08, 0x8f, 0x6d, 0x91,
-	0x48, 0x11, 0xf0, 0x30, 0x01, 0xff, 0x88, 0x11,
-	0xf4, 0x95, 0xe7, 0x20, 0xf7, 0xa9, 0xf8, 0x30,
-	0x08, 0x74, 0x6d, 0x89, 0x48, 0x11, 0xf0, 0x30,
-	0x01, 0xff, 0xf0, 0xe7, 0xf4, 0x95, 0x48, 0x08,
-	0x4e, 0xf8, 0x27, 0x74, 0x48, 0x08, 0xf1, 0xf9,
-	0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x71, 0xe1,
-	0x27, 0x7c, 0x27, 0x7a, 0x60, 0xf8, 0x27, 0x7b,
-	0xff, 0xff, 0xf8, 0x30, 0x08, 0xab, 0x48, 0x08,
-	0x4e, 0xf8, 0x27, 0x72, 0x76, 0xf8, 0x27, 0x7b,
-	0xff, 0xff, 0x76, 0xf8, 0x27, 0x79, 0xff, 0xff,
-	0xf2, 0x73, 0x08, 0xd9, 0xf4, 0x95, 0xe8, 0x00,
-	0x44, 0xf8, 0x27, 0x73, 0x40, 0xf8, 0x27, 0x75,
-	0x82, 0xf8, 0x00, 0x11, 0xf4, 0x95, 0x77, 0x10,
-	0x80, 0x00, 0xf6, 0xa9, 0xf8, 0x20, 0x08, 0xd8,
-	0xf6, 0xb8, 0x10, 0xf8, 0x27, 0x73, 0xf0, 0x00,
-	0x80, 0x00, 0x48, 0x08, 0x4e, 0xf8, 0x27, 0x74,
-	0x48, 0x08, 0xf0, 0xf9, 0x88, 0x11, 0xf4, 0x95,
-	0xf4, 0x95, 0x71, 0xe1, 0x27, 0x7c, 0x27, 0x7a,
-	0xf7, 0xb8, 0x57, 0xf8, 0x27, 0x74, 0xf0, 0x62,
-	0xff, 0xff, 0xf0, 0x40, 0xff, 0x80, 0xf2, 0x80,
-	0x4e, 0xf8, 0x27, 0x74, 0xe8, 0x00, 0x8a, 0x11,
-	0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 0xee, 0xfb,
-	0x11, 0xf8, 0x27, 0x71, 0x09, 0xf8, 0x27, 0x73,
-	0x89, 0x11, 0x88, 0x10, 0xf4, 0x95, 0xf4, 0x95,
-	0xf6, 0xa9, 0xf8, 0x20, 0x08, 0xed, 0xf2, 0x73,
-	0x09, 0x0e, 0xf4, 0x95, 0xe8, 0x00, 0xf6, 0x20,
-	0x76, 0x00, 0x00, 0x41, 0xf0, 0x74, 0x12, 0xee,
-	0x88, 0x16, 0xf4, 0x95, 0xf7, 0xb8, 0x6d, 0x96,
-	0x10, 0xf8, 0x00, 0x16, 0xf8, 0x47, 0x09, 0x0a,
-	0xe7, 0x61, 0x76, 0x00, 0x00, 0x00, 0x76, 0x01,
-	0x00, 0x80, 0x76, 0x02, 0x00, 0xff, 0x76, 0x03,
-	0x00, 0x00, 0xf2, 0x74, 0x0c, 0xb9, 0xf4, 0x95,
-	0xe8, 0x00, 0x6c, 0xe9, 0xff, 0xff, 0x08, 0xfb,
-	0x73, 0x16, 0x00, 0x0e, 0xf0, 0x66, 0x00, 0x41,
-	0xee, 0x05, 0x8a, 0x16, 0x8a, 0x11, 0xfc, 0x00,
-	0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 0x00, 0x13,
-	0xf6, 0xb8, 0x77, 0x11, 0x7f, 0xff, 0x57, 0xf8,
-	0x27, 0x72, 0x48, 0x11, 0xf2, 0x80, 0xf0, 0x00,
-	0x80, 0x00, 0x88, 0x11, 0xf6, 0x40, 0xf0, 0xe0,
-	0xf1, 0xf1, 0xe8, 0x01, 0xf2, 0x80, 0x80, 0xf8,
-	0x27, 0x78, 0x77, 0x12, 0x80, 0x00, 0x57, 0xf8,
-	0x27, 0x72, 0x48, 0x12, 0xf2, 0x80, 0x88, 0x12,
-	0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x82, 0x09, 0x38,
-	0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01,
-	0xf0, 0x73, 0x09, 0x3d, 0xf0, 0x20, 0x80, 0x01,
-	0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 0x70, 0x81,
-	0x00, 0x13, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11,
-	0xf0, 0x30, 0x7f, 0xff, 0x11, 0xf8, 0x29, 0x86,
-	0xf5, 0x20, 0xf3, 0x30, 0x7f, 0xff, 0x89, 0x11,
-	0xf4, 0x95, 0x77, 0x10, 0x40, 0x00, 0xf6, 0xa9,
-	0xf8, 0x20, 0x09, 0x54, 0xf2, 0x73, 0x09, 0x67,
-	0xf4, 0x95, 0xe8, 0x02, 0x6f, 0xf8, 0x27, 0x7a,
-	0x0d, 0x20, 0xf3, 0x30, 0x7f, 0xff, 0x89, 0x11,
-	0xf4, 0x95, 0x77, 0x10, 0x40, 0x00, 0xf6, 0xa9,
-	0xf8, 0x20, 0x09, 0x64, 0xf2, 0x73, 0x09, 0x67,
-	0xf4, 0x95, 0xe8, 0x01, 0x80, 0xf8, 0x27, 0x7b,
-	0xe8, 0x00, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11,
-	0x11, 0xf8, 0x29, 0x86, 0xf5, 0x20, 0xf3, 0x30,
-	0x7f, 0xff, 0x89, 0x11, 0xf4, 0x95, 0x77, 0x10,
-	0x40, 0x00, 0xf6, 0xa9, 0xf8, 0x20, 0x09, 0x7a,
-	0xf2, 0x73, 0x09, 0x8d, 0xf4, 0x95, 0xe8, 0x02,
-	0x6f, 0xf8, 0x27, 0x7a, 0x0d, 0x20, 0xf3, 0x30,
-	0x7f, 0xff, 0x89, 0x11, 0xf4, 0x95, 0x77, 0x10,
-	0x40, 0x00, 0xf6, 0xa9, 0xf8, 0x20, 0x09, 0x8a,
-	0xf2, 0x73, 0x09, 0x8d, 0xf4, 0x95, 0xe8, 0x01,
-	0x80, 0xf8, 0x27, 0x79, 0xe8, 0x00, 0x8a, 0x11,
-	0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02,
-	0x00, 0x12, 0x88, 0x11, 0xf6, 0xb8, 0x57, 0xf8,
-	0x27, 0x72, 0xf0, 0x20, 0x7f, 0xff, 0xf2, 0x80,
-	0xf0, 0x00, 0x80, 0x00, 0x80, 0x81, 0x57, 0xf8,
-	0x27, 0x72, 0xe8, 0x01, 0xf3, 0xf1, 0xf2, 0x80,
-	0x80, 0xf8, 0x27, 0x78, 0x77, 0x11, 0x80, 0x00,
-	0x48, 0x11, 0x57, 0xf8, 0x27, 0x72, 0xf2, 0x80,
-	0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x81,
-	0x09, 0xb5, 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08,
-	0x00, 0x01, 0xf0, 0x73, 0x09, 0xba, 0xf0, 0x20,
-	0x80, 0x01, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01,
-	0x45, 0xf8, 0x27, 0x71, 0x43, 0xf8, 0x27, 0x73,
-	0x83, 0xf8, 0x00, 0x11, 0xf4, 0x95, 0xe7, 0x20,
-	0xf6, 0xa9, 0xf8, 0x30, 0x09, 0xc9, 0xf2, 0x73,
-	0x09, 0xe4, 0x77, 0x12, 0x00, 0x00, 0x57, 0xf8,
-	0x27, 0x72, 0xf0, 0x20, 0x7f, 0xff, 0xf2, 0x80,
-	0x49, 0x12, 0xf5, 0x00, 0xf3, 0x00, 0x80, 0x00,
-	0x61, 0xf8, 0x00, 0x0b, 0x80, 0x00, 0xf8, 0x30,
-	0x09, 0xdc, 0xf1, 0x20, 0x80, 0x00, 0xf5, 0x20,
-	0x89, 0x12, 0xf4, 0x95, 0x48, 0x12, 0x6f, 0xf8,
-	0x27, 0x73, 0x0d, 0x00, 0xf4, 0x95, 0x49, 0x0b,
-	0x4f, 0xf8, 0x27, 0x72, 0x8a, 0x11, 0xfe, 0x00,
-	0x48, 0x12, 0xf4, 0x95, 0x4a, 0x11, 0x4a, 0x16,
-	0x4a, 0x17, 0xee, 0xfc, 0xf4, 0x95, 0x71, 0x08,
-	0x00, 0x16, 0x88, 0x17, 0xf0, 0x74, 0x08, 0x30,
-	0x48, 0x18, 0x70, 0x00, 0x00, 0x16, 0xf2, 0x74,
-	0x09, 0x8f, 0xf0, 0x00, 0x00, 0x02, 0x88, 0x11,
-	0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x81, 0x0a, 0x0a,
-	0xf2, 0x74, 0x08, 0xdb, 0xf4, 0x95, 0x48, 0x16,
-	0x48, 0x18, 0x70, 0x00, 0x00, 0x16, 0xf2, 0x74,
-	0x09, 0x8f, 0xf0, 0x00, 0x00, 0x02, 0x88, 0x11,
-	0x10, 0x02, 0x70, 0x01, 0x00, 0x11, 0x80, 0x00,
-	0xf2, 0x74, 0x06, 0xce, 0xf4, 0x95, 0x48, 0x17,
-	0x49, 0x11, 0x48, 0x17, 0xf6, 0x00, 0x88, 0x17,
-	0xe7, 0x60, 0xf5, 0xa9, 0xf8, 0x20, 0x0a, 0x2d,
-	0x48, 0x16, 0xf6, 0x20, 0x88, 0x11, 0x48, 0x18,
-	0x70, 0x00, 0x00, 0x11, 0xf2, 0x74, 0x09, 0x8f,
-	0xf0, 0x00, 0x00, 0x02, 0x88, 0x11, 0x70, 0x01,
-	0x00, 0x11, 0x10, 0x02, 0x80, 0x00, 0xf2, 0x74,
-	0x06, 0xce, 0xf4, 0x95, 0x48, 0x17, 0xee, 0x04,
-	0x48, 0x16, 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11,
-	0xfc, 0x00, 0xee, 0xfd, 0xe8, 0x00, 0x4e, 0xf8,
-	0x27, 0x70, 0xe8, 0x00, 0x4e, 0xf8, 0x27, 0x72,
-	0xe8, 0x00, 0x4e, 0xf8, 0x27, 0x74, 0xe8, 0x00,
-	0x4e, 0xf8, 0x27, 0x76, 0x76, 0xf8, 0x27, 0x79,
-	0xff, 0xff, 0x76, 0xf8, 0x27, 0x7a, 0x00, 0x00,
-	0x76, 0xf8, 0x27, 0x7b, 0xff, 0xff, 0x76, 0xf8,
-	0x27, 0x78, 0x00, 0x00, 0xe8, 0x00, 0x75, 0xf8,
-	0x00, 0x08, 0x00, 0x01, 0x76, 0x00, 0x00, 0x00,
-	0x76, 0x01, 0x02, 0x00, 0xf2, 0x74, 0x12, 0xdc,
-	0xf0, 0x20, 0x27, 0x7c, 0xee, 0x03, 0xfc, 0x00,
-	0x4a, 0x11, 0xee, 0xfc, 0xf4, 0x95, 0x4e, 0x00,
-	0x77, 0x12, 0x7f, 0xff, 0xf6, 0xb8, 0x49, 0x12,
-	0xf1, 0x80, 0xf3, 0x00, 0x80, 0x00, 0x89, 0x12,
-	0xf0, 0xe0, 0xf1, 0xf1, 0x4f, 0x02, 0xe9, 0x01,
-	0xf4, 0x95, 0x48, 0x0b, 0xf5, 0x40, 0x56, 0x02,
-	0xf1, 0x80, 0x81, 0xf8, 0x27, 0x78, 0x77, 0x11,
-	0x80, 0x00, 0x56, 0x00, 0x49, 0x11, 0xf1, 0x80,
-	0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x81,
-	0x0a, 0x81, 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08,
-	0x00, 0x01, 0xf0, 0x73, 0x0a, 0x86, 0xf0, 0x20,
-	0x80, 0x01, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01,
-	0x10, 0x82, 0xee, 0x04, 0x8a, 0x11, 0xfc, 0x00,
-	0x4a, 0x11, 0xee, 0xfe, 0xf4, 0x95, 0x4e, 0x00,
-	0x77, 0x11, 0x7f, 0xff, 0xf6, 0xb8, 0x49, 0x11,
-	0xf1, 0x80, 0xf3, 0x00, 0x80, 0x00, 0x89, 0x11,
-	0xf0, 0xe0, 0xf1, 0xf1, 0xe8, 0x01, 0xf2, 0x80,
-	0x80, 0xf8, 0x27, 0x78, 0x56, 0x00, 0xf1, 0x20,
-	0x80, 0x00, 0xf1, 0x80, 0xf4, 0x95, 0x49, 0x0b,
-	0xf8, 0x4d, 0x0a, 0xab, 0xf0, 0x20, 0x80, 0x01,
-	0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 0xf0, 0x73,
-	0x0a, 0xaf, 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08,
-	0x00, 0x01, 0xee, 0x02, 0x48, 0x11, 0x8a, 0x11,
-	0xfc, 0x00, 0x4a, 0x11, 0x88, 0x12, 0x13, 0x02,
-	0x77, 0x11, 0x00, 0x00, 0xf8, 0x4d, 0x0a, 0xcb,
-	0xf3, 0x10, 0x00, 0x01, 0x89, 0x1a, 0xf4, 0x95,
-	0xf0, 0x72, 0x0a, 0xca, 0x48, 0x11, 0x1c, 0xf8,
-	0x29, 0x7e, 0x88, 0x11, 0x11, 0xf8, 0x29, 0x7e,
-	0xf2, 0x00, 0x00, 0x01, 0x80, 0xf8, 0x29, 0x7e,
-	0x81, 0x92, 0x48, 0x11, 0x8a, 0x11, 0xfc, 0x00,
-	0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 0x00, 0x11,
-	0x88, 0x12, 0xf6, 0xb8, 0xf0, 0x20, 0x7f, 0xff,
-	0x57, 0xf8, 0x27, 0x70, 0xf2, 0x80, 0xf0, 0x00,
-	0x80, 0x00, 0x80, 0x82, 0x57, 0xf8, 0x27, 0x70,
-	0xe8, 0x01, 0xf3, 0xf1, 0xf2, 0x80, 0x80, 0xf8,
-	0x27, 0x78, 0x77, 0x12, 0x80, 0x00, 0x48, 0x12,
-	0x57, 0xf8, 0x27, 0x70, 0xf2, 0x80, 0x88, 0x12,
-	0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x82, 0x0a, 0xf4,
-	0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01,
-	0xf0, 0x73, 0x0a, 0xf9, 0xf0, 0x20, 0x80, 0x01,
-	0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 0x45, 0xf8,
-	0x27, 0x75, 0xe7, 0x10, 0x43, 0xf8, 0x27, 0x71,
-	0x83, 0xf8, 0x00, 0x12, 0x6d, 0xe8, 0x00, 0x04,
-	0x6d, 0x8a, 0xf6, 0xaa, 0xf8, 0x30, 0x0b, 0x0a,
-	0xf2, 0x73, 0x0b, 0x25, 0x77, 0x11, 0x00, 0x00,
-	0x57, 0xf8, 0x27, 0x70, 0xf0, 0x20, 0x7f, 0xff,
-	0xf2, 0x80, 0x49, 0x11, 0xf5, 0x00, 0xf3, 0x00,
-	0x80, 0x00, 0x61, 0xf8, 0x00, 0x0b, 0x80, 0x00,
-	0xf8, 0x30, 0x0b, 0x1d, 0xf1, 0x20, 0x80, 0x00,
-	0xf5, 0x20, 0x89, 0x11, 0xf4, 0x95, 0x48, 0x11,
-	0x6f, 0xf8, 0x27, 0x71, 0x0d, 0x00, 0xf4, 0x95,
-	0x49, 0x0b, 0x4f, 0xf8, 0x27, 0x70, 0x48, 0x11,
-	0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16,
-	0x4a, 0x17, 0xee, 0xf0, 0x88, 0x17, 0x10, 0x17,
-	0x80, 0x05, 0x10, 0x16, 0x80, 0x06, 0x10, 0x15,
-	0x80, 0x07, 0x71, 0x14, 0x00, 0x11, 0x10, 0x05,
-	0xf0, 0x30, 0x00, 0x01, 0x88, 0x10, 0x10, 0x06,
-	0xf0, 0x30, 0x00, 0x01, 0x80, 0x08, 0x49, 0x11,
-	0x10, 0x05, 0xf6, 0x01, 0x80, 0x09, 0x10, 0x06,
-	0x61, 0xf8, 0x00, 0x08, 0x00, 0x01, 0xf8, 0x20,
-	0x0b, 0x4b, 0x10, 0x09, 0xf0, 0x00, 0x00, 0x01,
-	0x80, 0x09, 0x71, 0x08, 0x00, 0x12, 0xf4, 0xaa,
-	0xf8, 0x30, 0x0b, 0x54, 0x10, 0x09, 0xf0, 0x00,
-	0x00, 0x01, 0x80, 0x09, 0x12, 0x09, 0x49, 0x11,
-	0xf4, 0x7f, 0x80, 0x09, 0xf6, 0x20, 0x80, 0x0a,
-	0x56, 0xf8, 0x27, 0x70, 0x4e, 0x0c, 0x10, 0x09,
-	0x80, 0x00, 0x48, 0x18, 0xf2, 0x74, 0x0a, 0xce,
-	0xf0, 0x00, 0x00, 0x04, 0x88, 0x16, 0xf4, 0x95,
-	0xf4, 0x95, 0x6c, 0x86, 0x0b, 0x6d, 0xf2, 0x73,
-	0x0c, 0x59, 0xf4, 0x95, 0xe8, 0x00, 0xf6, 0xb8,
-	0xf4, 0x95, 0x56, 0x0c, 0xf0, 0xf9, 0x88, 0x12,
-	0xf4, 0x95, 0xf4, 0x95, 0x70, 0xe2, 0x27, 0x7c,
-	0x29, 0x86, 0xe8, 0x00, 0x80, 0x0e, 0x48, 0x11,
-	0xf8, 0x45, 0x0b, 0xcc, 0x77, 0x10, 0x00, 0x01,
-	0xf4, 0xa9, 0xf8, 0x30, 0x0b, 0x89, 0x6c, 0xe1,
-	0xff, 0xfd, 0x0b, 0x8b, 0x10, 0xe7, 0x00, 0x02,
-	0x80, 0x0e, 0xf0, 0x73, 0x0b, 0x8b, 0x10, 0x87,
-	0x80, 0x0e, 0xe7, 0x10, 0xf5, 0xae, 0xf8, 0x20,
-	0x0b, 0xb2, 0x70, 0x00, 0x00, 0x17, 0x70, 0x01,
-	0x00, 0x16, 0x10, 0x04, 0xf0, 0x74, 0x06, 0xce,
-	0x48, 0x17, 0x49, 0x16, 0xf6, 0x00, 0x88, 0x17,
-	0x48, 0x11, 0xf6, 0x20, 0x88, 0x11, 0x10, 0x09,
-	0xf6, 0x20, 0x80, 0x00, 0x48, 0x18, 0xf2, 0x74,
-	0x0a, 0xce, 0xf0, 0x00, 0x00, 0x04, 0x88, 0x16,
-	0x10, 0x04, 0x70, 0x00, 0x00, 0x17, 0x70, 0x01,
-	0x00, 0x11, 0xf0, 0x74, 0x06, 0xce, 0x48, 0x11,
-	0x00, 0x04, 0x80, 0x04, 0xf0, 0x73, 0x0b, 0xbc,
-	0x70, 0x00, 0x00, 0x17, 0x70, 0x01, 0x00, 0x11,
-	0x10, 0x04, 0xf0, 0x74, 0x06, 0xce, 0x48, 0x11,
-	0x00, 0x04, 0x80, 0x04, 0x49, 0x11, 0x48, 0x16,
-	0xf6, 0x20, 0x88, 0x16, 0xf4, 0x95, 0xf4, 0x95,
-	0x6c, 0x86, 0x0b, 0xcc, 0x10, 0x0a, 0x80, 0x00,
-	0x48, 0x18, 0xf2, 0x74, 0x0a, 0xce, 0xf0, 0x00,
-	0x00, 0x04, 0x88, 0x16, 0x12, 0x0a, 0xf8, 0x45,
-	0x0c, 0x33, 0x71, 0x0a, 0x00, 0x10, 0xf4, 0xae,
-	0xf8, 0x30, 0x0c, 0x1c, 0x48, 0x16, 0xf0, 0xe1,
-	0x88, 0x11, 0x12, 0x08, 0xf8, 0x45, 0x0b, 0xdb,
-	0x6d, 0x89, 0x12, 0x07, 0xf8, 0x45, 0x0b, 0xe9,
-	0x10, 0x07, 0x80, 0x00, 0x70, 0x02, 0x00, 0x11,
-	0x10, 0x06, 0x80, 0x01, 0x10, 0x04, 0xf0, 0x74,
-	0x06, 0xdc, 0xf0, 0x73, 0x0b, 0xef, 0x48, 0x11,
-	0x6f, 0x00, 0x0c, 0x9f, 0x10, 0x04, 0xf0, 0x74,
-	0x0a, 0xb3, 0x11, 0x0e, 0xf1, 0xc0, 0x81, 0x0e,
-	0x10, 0x06, 0x49, 0x11, 0xf6, 0x00, 0x80, 0x06,
-	0x10, 0x05, 0xf6, 0x20, 0x88, 0x11, 0xf0, 0x00,
-	0x00, 0x01, 0x48, 0x08, 0x6f, 0x00, 0x0c, 0x9f,
-	0x48, 0x18, 0xf2, 0x74, 0x0a, 0xce, 0xf0, 0x00,
-	0x00, 0x04, 0x12, 0x07, 0xf8, 0x45, 0x0c, 0x11,
-	0x10, 0x07, 0x80, 0x00, 0x70, 0x02, 0x00, 0x11,
-	0x10, 0x06, 0x80, 0x01, 0x10, 0x04, 0xf0, 0x74,
-	0x06, 0xdc, 0xf0, 0x73, 0x0c, 0x17, 0x48, 0x11,
-	0x6f, 0x00, 0x0c, 0x9f, 0x10, 0x04, 0xf0, 0x74,
-	0x0a, 0xb3, 0x11, 0x0e, 0xf1, 0xc0, 0x81, 0x0e,
-	0xf0, 0x73, 0x0c, 0x33, 0x12, 0x07, 0xf8, 0x45,
-	0x0c, 0x2a, 0x10, 0x07, 0x80, 0x00, 0x10, 0x06,
-	0x80, 0x01, 0x10, 0x05, 0x80, 0x02, 0x10, 0x04,
-	0xf0, 0x74, 0x06, 0xdc, 0xf0, 0x73, 0x0c, 0x30,
-	0x12, 0x05, 0x6f, 0x00, 0x0c, 0x9f, 0x10, 0x04,
-	0xf0, 0x74, 0x0a, 0xb3, 0x11, 0x0e, 0xf1, 0xc0,
-	0x81, 0x0e, 0x76, 0x00, 0x00, 0x01, 0x48, 0x18,
-	0xf2, 0x74, 0x0a, 0xce, 0xf0, 0x00, 0x00, 0x04,
-	0x71, 0x04, 0x00, 0x11, 0x70, 0x81, 0x29, 0x86,
-	0x10, 0x0e, 0x1c, 0xf8, 0x29, 0x86, 0x80, 0x0e,
-	0x76, 0x00, 0x00, 0x01, 0x48, 0x18, 0xf2, 0x74,
-	0x0a, 0xce, 0xf0, 0x00, 0x00, 0x04, 0x10, 0x0e,
-	0x71, 0x04, 0x00, 0x11, 0x80, 0x81, 0x10, 0xf8,
-	0x29, 0x86, 0xf0, 0x00, 0x00, 0x01, 0xf0, 0x30,
-	0x7f, 0xff, 0x80, 0xf8, 0x29, 0x86, 0x10, 0x09,
-	0xf0, 0x00, 0x00, 0x02, 0x80, 0x09, 0xee, 0x10,
-	0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 0xfc, 0x00,
-	0x10, 0xf8, 0x27, 0x75, 0x08, 0xf8, 0x27, 0x71,
-	0xf0, 0x10, 0x00, 0x01, 0x48, 0x08, 0xfc, 0x00,
-	0x4a, 0x11, 0x4a, 0x16, 0xee, 0xff, 0xf4, 0x95,
-	0x71, 0x04, 0x00, 0x16, 0xf0, 0x00, 0x00, 0x01,
-	0x48, 0x08, 0x4e, 0xf8, 0x29, 0x7c, 0x6d, 0xee,
-	0xff, 0xfd, 0x48, 0x16, 0xf8, 0x45, 0x0c, 0x99,
-	0x56, 0xf8, 0x29, 0x7c, 0xf0, 0x74, 0x0a, 0x5a,
-	0x88, 0x11, 0x10, 0xf8, 0x29, 0x7d, 0xf0, 0x00,
-	0x00, 0x01, 0x48, 0x08, 0x4e, 0xf8, 0x29, 0x7c,
-	0x10, 0xf8, 0x29, 0x82, 0xf0, 0x00, 0x00, 0x01,
-	0x88, 0x10, 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0xa9,
-	0xfa, 0x30, 0x0c, 0x96, 0x80, 0xf8, 0x29, 0x82,
-	0x56, 0xf8, 0x29, 0x80, 0xf0, 0x00, 0x00, 0x01,
-	0x4e, 0xf8, 0x29, 0x80, 0x73, 0x11, 0x29, 0x82,
-	0x6c, 0xee, 0xff, 0xff, 0x0c, 0x76, 0xee, 0x01,
-	0x8a, 0x16, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11,
-	0x76, 0xf8, 0x29, 0x84, 0x00, 0x00, 0x76, 0xf8,
-	0x29, 0x85, 0x00, 0x01, 0xe8, 0x00, 0x4e, 0xf8,
-	0x2a, 0x0c, 0x76, 0xf8, 0x29, 0x86, 0x00, 0x00,
-	0x76, 0xf8, 0x29, 0x87, 0x00, 0x00, 0x77, 0x11,
-	0x29, 0x88, 0x76, 0x81, 0xaa, 0xaa, 0x76, 0xe1,
-	0x00, 0x01, 0xaa, 0xaa, 0x76, 0xe1, 0x00, 0x02,
-	0x00, 0x00, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11,
-	0xee, 0xfc, 0xf4, 0x95, 0x71, 0x06, 0x00, 0x14,
-	0x71, 0x07, 0x00, 0x13, 0x71, 0x08, 0x00, 0x12,
-	0x71, 0x09, 0x00, 0x15, 0x77, 0x10, 0x00, 0xff,
-	0xf4, 0xaa, 0xf8, 0x30, 0x0d, 0x44, 0x49, 0x13,
-	0x53, 0xf8, 0x2a, 0x0c, 0x4f, 0xf8, 0x2a, 0x0c,
-	0x73, 0x12, 0x00, 0x0e, 0xf1, 0x66, 0x00, 0x0d,
-	0x89, 0x11, 0xf4, 0x95, 0x77, 0x10, 0x00, 0x01,
-	0x71, 0xe1, 0x24, 0x00, 0x00, 0x11, 0xf4, 0xa9,
-	0xf8, 0x30, 0x0d, 0x17, 0x77, 0x10, 0x00, 0x02,
-	0xf4, 0xa9, 0xf8, 0x30, 0x0c, 0xec, 0x77, 0x11,
-	0x29, 0x8a, 0x76, 0x81, 0x00, 0x00, 0xe8, 0x00,
-	0x77, 0x14, 0x00, 0x00, 0x77, 0x13, 0x00, 0x00,
-	0xf0, 0x73, 0x0d, 0x48, 0x6c, 0x83, 0x0c, 0xfa,
-	0x77, 0x11, 0x29, 0x8a, 0x48, 0x12, 0xf0, 0xe8,
-	0xf0, 0x40, 0x80, 0x00, 0x80, 0x81, 0xe8, 0x00,
-	0x77, 0x14, 0x00, 0x00, 0xf0, 0x73, 0x0d, 0x48,
-	0x49, 0x13, 0xf3, 0x40, 0x80, 0x00, 0x81, 0xf8,
-	0x29, 0x8a, 0x61, 0xf8, 0x00, 0x15, 0x00, 0x01,
-	0xf8, 0x20, 0x0d, 0x07, 0x69, 0xf8, 0x29, 0x8a,
-	0x40, 0x00, 0x61, 0xf8, 0x00, 0x14, 0x00, 0x01,
-	0xf8, 0x20, 0x0d, 0x0f, 0x69, 0xf8, 0x29, 0x8a,
-	0x20, 0x00, 0x77, 0x11, 0x29, 0x8a, 0x49, 0x12,
-	0xf3, 0xe8, 0x1b, 0x81, 0x81, 0x81, 0xf0, 0x73,
-	0x0d, 0x48, 0x11, 0xf8, 0x29, 0x84, 0xf8, 0x4c,
-	0x0d, 0x37, 0x77, 0x11, 0x29, 0x88, 0x76, 0x81,
-	0xaa, 0xaa, 0x11, 0xf8, 0x29, 0x85, 0xf3, 0x10,
-	0x00, 0x01, 0xf3, 0x40, 0xaa, 0x00, 0x81, 0xe1,
-	0x00, 0x01, 0x76, 0x00, 0x00, 0x02, 0x80, 0x01,
-	0x70, 0x02, 0x00, 0x14, 0x70, 0x03, 0x00, 0x13,
-	0xf2, 0x74, 0x0b, 0x28, 0xf4, 0x95, 0x48, 0x11,
-	0x71, 0xf8, 0x29, 0x85, 0x29, 0x84, 0xf0, 0x73,
-	0x0d, 0x73, 0x76, 0x00, 0x00, 0x00, 0x80, 0x01,
-	0x76, 0x02, 0x00, 0x00, 0x70, 0x03, 0x00, 0x13,
-	0xf2, 0x74, 0x0b, 0x28, 0xf4, 0x95, 0xe8, 0x00,
-	0xf0, 0x73, 0x0d, 0x73, 0x77, 0x11, 0x29, 0x8a,
-	0x70, 0x81, 0x00, 0x13, 0x11, 0xf8, 0x29, 0x84,
-	0xf8, 0x4c, 0x0d, 0x68, 0x77, 0x11, 0x29, 0x88,
-	0x76, 0x81, 0xaa, 0xaa, 0x11, 0xf8, 0x29, 0x85,
-	0xf3, 0x10, 0x00, 0x01, 0xf3, 0x40, 0xaa, 0x00,
-	0x81, 0xe1, 0x00, 0x01, 0x76, 0x00, 0x00, 0x03,
-	0x80, 0x01, 0x70, 0x02, 0x00, 0x14, 0x70, 0x03,
-	0x00, 0x13, 0xf2, 0x74, 0x0b, 0x28, 0xf4, 0x95,
-	0x48, 0x11, 0x71, 0xf8, 0x29, 0x85, 0x29, 0x84,
-	0xf0, 0x73, 0x0d, 0x73, 0x76, 0x00, 0x00, 0x01,
-	0x80, 0x01, 0x70, 0x02, 0x00, 0x14, 0x70, 0x03,
-	0x00, 0x13, 0xf2, 0x74, 0x0b, 0x28, 0xf4, 0x95,
-	0x48, 0x11, 0x6b, 0xf8, 0x29, 0x84, 0xff, 0xff,
-	0xee, 0x04, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11,
-	0xf5, 0x40, 0xf4, 0x95, 0x48, 0x0b, 0xf4, 0x78,
-	0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0xe1,
-	0xff, 0xb9, 0x0d, 0x88, 0xf2, 0x73, 0x0d, 0xa5,
-	0xf4, 0x95, 0xe8, 0x60, 0xf2, 0x00, 0x00, 0x06,
-	0x61, 0xf8, 0x00, 0x11, 0x00, 0x20, 0xf8, 0x30,
-	0x0d, 0x98, 0x61, 0xf8, 0x00, 0x0b, 0x00, 0x01,
-	0xf8, 0x20, 0x0d, 0xa3, 0xf2, 0x00, 0x00, 0x07,
-	0xf0, 0x73, 0x0d, 0xa3, 0x61, 0xf8, 0x00, 0x0b,
-	0x00, 0x01, 0xf8, 0x20, 0x0d, 0xa1, 0xf2, 0x73,
-	0x0d, 0xa3, 0xf0, 0x00, 0x00, 0x01, 0xf0, 0x00,
-	0x00, 0x02, 0x48, 0x08, 0xf4, 0x7f, 0x8a, 0x11,
-	0xfc, 0x00, 0xee, 0xff, 0xf0, 0x74, 0x07, 0xfd,
-	0xf0, 0x74, 0x07, 0x44, 0xf0, 0x74, 0x0d, 0xb4,
-	0xf0, 0x74, 0x02, 0x05, 0xf0, 0x74, 0x04, 0x60,
-	0xf0, 0x73, 0x0d, 0xaa, 0xee, 0xfd, 0x10, 0xf8,
-	0x2a, 0xa3, 0xf8, 0x44, 0x0d, 0xcb, 0x10, 0xf8,
-	0x2a, 0xa4, 0xf8, 0x45, 0x0d, 0xd7, 0x76, 0x00,
-	0x02, 0x00, 0xf2, 0x74, 0x09, 0xe8, 0xf0, 0x20,
-	0x22, 0x00, 0x76, 0xf8, 0x2a, 0xa4, 0x00, 0x00,
-	0x76, 0xf8, 0x2a, 0xa7, 0x00, 0x00, 0xf0, 0x73,
-	0x0d, 0xd7, 0x76, 0x00, 0x02, 0x00, 0xf2, 0x74,
-	0x09, 0xe8, 0xf0, 0x20, 0x20, 0x00, 0x76, 0xf8,
-	0x2a, 0xa3, 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xa7,
-	0x00, 0x01, 0xf0, 0x74, 0x0c, 0x5e, 0xf0, 0xe0,
-	0xf0, 0x10, 0x3a, 0x98, 0xf8, 0x47, 0x0d, 0xe1,
-	0x76, 0xf8, 0x27, 0x6e, 0x00, 0x00, 0xee, 0x03,
-	0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 0x77, 0x11,
-	0x20, 0x00, 0x76, 0x00, 0xaa, 0xaa, 0x76, 0x01,
-	0x02, 0x00, 0xf2, 0x74, 0x06, 0x6c, 0xf4, 0x95,
-	0x48, 0x11, 0x76, 0x00, 0x55, 0x55, 0x76, 0x01,
-	0x02, 0x00, 0x48, 0x11, 0xf2, 0x74, 0x06, 0x6c,
-	0xf0, 0x00, 0x02, 0x00, 0x76, 0xf8, 0x2a, 0xa3,
-	0x00, 0x00, 0x76, 0xf8, 0x2a, 0xa4, 0x00, 0x00,
-	0xe8, 0x00, 0x4e, 0x00, 0xfb, 0x80, 0x15, 0x3e,
-	0xf4, 0x95, 0xe8, 0x04, 0x80, 0xf8, 0x2a, 0xa5,
-	0x76, 0x00, 0x2a, 0xa8, 0xf9, 0x80, 0x14, 0x87,
-	0x76, 0x00, 0x2a, 0xad, 0xfb, 0x80, 0x13, 0x62,
-	0xf4, 0x95, 0xe8, 0x02, 0x10, 0xf8, 0x2a, 0xa5,
-	0xf9, 0x80, 0x14, 0x63, 0xfb, 0x80, 0x16, 0x66,
-	0xf4, 0x95, 0xe8, 0x1c, 0xfb, 0x80, 0x16, 0x87,
-	0xf4, 0x95, 0xe8, 0x1c, 0xe8, 0x01, 0x4e, 0x00,
-	0xfb, 0x80, 0x17, 0xd6, 0xf4, 0x95, 0xe8, 0x00,
-	0x80, 0xf8, 0x2a, 0xa6, 0x76, 0x00, 0x2a, 0xb7,
-	0xf9, 0x80, 0x16, 0xaa, 0x10, 0xf8, 0x2a, 0xa6,
-	0xf9, 0x80, 0x17, 0x5c, 0x10, 0xf8, 0x2a, 0xa6,
-	0xf9, 0x80, 0x17, 0x6f, 0xee, 0x02, 0x8a, 0x11,
-	0xfc, 0x00, 0xf4, 0x95, 0x4a, 0x08, 0x4a, 0x09,
-	0x4a, 0x0a, 0x4a, 0x07, 0x4a, 0x1d, 0x68, 0xf8,
-	0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07,
-	0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc,
-	0x10, 0xf8, 0x2a, 0xa7, 0xf8, 0x44, 0x0e, 0x4b,
-	0x76, 0xf8, 0x2a, 0xa3, 0x00, 0x01, 0xf0, 0x73,
-	0x0e, 0x4e, 0x76, 0xf8, 0x2a, 0xa4, 0x00, 0x01,
-	0x8a, 0x1d, 0x8a, 0x07, 0x8a, 0x0a, 0x8a, 0x09,
-	0x8a, 0x08, 0xf4, 0xeb, 0x4a, 0x11, 0x4a, 0x16,
-	0x4a, 0x17, 0xee, 0xfe, 0x88, 0x0e, 0x71, 0x08,
-	0x00, 0x16, 0x71, 0x06, 0x00, 0x17, 0x11, 0x07,
-	0xf0, 0x66, 0x00, 0x0d, 0xf0, 0x00, 0x25, 0xa0,
-	0x88, 0x11, 0x76, 0x01, 0x00, 0x06, 0x81, 0x00,
-	0xf2, 0x74, 0x06, 0xce, 0xf0, 0x00, 0x00, 0x01,
-	0x76, 0x01, 0x00, 0x06, 0x70, 0x00, 0x00, 0x16,
-	0x48, 0x11, 0xf2, 0x74, 0x06, 0xce, 0xf0, 0x00,
-	0x00, 0x07, 0x70, 0x81, 0x00, 0x17, 0xee, 0x02,
-	0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 0xfc, 0x00,
-	0x4a, 0x11, 0x88, 0x0e, 0x71, 0x02, 0x00, 0x12,
-	0x11, 0x03, 0xf0, 0x66, 0x00, 0x0d, 0xf0, 0x00,
-	0x24, 0x00, 0x88, 0x11, 0xf4, 0x95, 0x70, 0x81,
-	0x00, 0x12, 0x6e, 0xe2, 0xff, 0xfe, 0x0e, 0x8d,
-	0xf4, 0x95, 0xe8, 0x00, 0xe8, 0x01, 0x80, 0xe1,
-	0x00, 0x02, 0x76, 0xe1, 0x00, 0x03, 0x00, 0xff,
-	0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 0x76, 0xe1,
-	0x00, 0x0b, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0c,
-	0x00, 0x00, 0x81, 0xe1, 0x00, 0x01, 0x8a, 0x11,
-	0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfc, 0x88, 0x0e,
-	0xf4, 0x95, 0xf1, 0x66, 0x00, 0x0d, 0xf3, 0x00,
-	0x24, 0x00, 0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95,
-	0x76, 0xe1, 0x00, 0x0c, 0x00, 0x00, 0x76, 0xe1,
-	0x00, 0x0b, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02,
-	0x00, 0x01, 0x76, 0x00, 0x00, 0x00, 0x76, 0x01,
-	0x00, 0x00, 0x80, 0x02, 0x76, 0x03, 0x00, 0x00,
-	0xf2, 0x74, 0x0c, 0xb9, 0xf4, 0x95, 0xe8, 0x00,
-	0xee, 0x04, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11,
-	0x88, 0x19, 0xf4, 0x95, 0x73, 0x19, 0x00, 0x0e,
-	0xf1, 0x66, 0x00, 0x0d, 0xf2, 0x00, 0x24, 0x00,
-	0x77, 0x15, 0x25, 0xa0, 0x77, 0x14, 0x00, 0x00,
-	0x77, 0x1a, 0x00, 0x1f, 0xf0, 0x72, 0x0f, 0x14,
-	0xf6, 0xb8, 0x49, 0x19, 0x09, 0x85, 0xf8, 0x4c,
-	0x0f, 0x13, 0xf1, 0x00, 0x00, 0x05, 0x89, 0x11,
-	0x49, 0x15, 0xf3, 0x00, 0x00, 0x01, 0x89, 0x13,
-	0x49, 0x15, 0xf3, 0x00, 0x00, 0x07, 0x89, 0x12,
-	0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10,
-	0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13,
-	0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10,
-	0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13,
-	0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10,
-	0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13,
-	0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10,
-	0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13,
-	0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10,
-	0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13,
-	0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x11,
-	0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x81, 0x0f, 0x13,
-	0x6d, 0x94, 0x6d, 0xed, 0x00, 0x0d, 0x48, 0x14,
-	0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16,
-	0x4a, 0x17, 0xee, 0xf8, 0x88, 0x17, 0x10, 0x0d,
-	0x80, 0x04, 0x10, 0x0c, 0x80, 0x05, 0x71, 0x0e,
-	0x00, 0x16, 0x73, 0x17, 0x00, 0x0e, 0xf0, 0x66,
-	0x00, 0x0d, 0xf0, 0x00, 0x24, 0x00, 0x88, 0x11,
-	0x10, 0xf8, 0x27, 0x63, 0xf8, 0x45, 0x0f, 0x32,
-	0xf2, 0x74, 0x0e, 0x9f, 0xf4, 0x95, 0x48, 0x17,
-	0x10, 0xf8, 0x27, 0x60, 0xf8, 0x44, 0x0f, 0x3d,
-	0x60, 0xe1, 0x00, 0x02, 0x00, 0x01, 0xf8, 0x20,
-	0x0f, 0x6d, 0xf0, 0x73, 0x11, 0x33, 0x10, 0x04,
-	0x80, 0x00, 0x10, 0x05, 0xf0, 0x74, 0x06, 0x9f,
-	0x11, 0x04, 0xf3, 0x00, 0x00, 0x01, 0x81, 0x04,
-	0x6d, 0x8e, 0x77, 0x10, 0x00, 0x01, 0x71, 0xe1,
-	0x00, 0x02, 0x00, 0x12, 0xf4, 0xaa, 0xf8, 0x30,
-	0x0f, 0x62, 0x77, 0x10, 0x00, 0x02, 0xf4, 0xaa,
-	0xf8, 0x30, 0x0f, 0x6d, 0x45, 0xe1, 0x00, 0x0b,
-	0x88, 0x10, 0x43, 0xe1, 0x00, 0x0c, 0x83, 0xf8,
-	0x00, 0x12, 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0xaa,
-	0xf8, 0x30, 0x0f, 0x6d, 0xf0, 0x73, 0x0f, 0x96,
-	0xf5, 0x00, 0x81, 0x04, 0x49, 0x16, 0xf5, 0x20,
-	0x89, 0x16, 0x76, 0xe1, 0x00, 0x0c, 0x00, 0x00,
-	0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 0x48, 0x16,
-	0xf8, 0x45, 0x11, 0x33, 0xf7, 0xb8, 0x71, 0xe1,
-	0x00, 0x02, 0x00, 0x12, 0x10, 0xf8, 0x00, 0x12,
-	0xf0, 0x10, 0x00, 0x03, 0xf8, 0x46, 0x0f, 0x8c,
-	0x10, 0xf8, 0x00, 0x12, 0xf0, 0x10, 0x00, 0x03,
-	0xf8, 0x45, 0x10, 0x16, 0x77, 0x10, 0x00, 0x01,
-	0xf4, 0xaa, 0xf8, 0x30, 0x0f, 0x9c, 0x77, 0x10,
-	0x00, 0x02, 0xf4, 0xaa, 0xf8, 0x30, 0x0f, 0xa8,
-	0xf0, 0x73, 0x0f, 0x96, 0x77, 0x10, 0x00, 0x04,
-	0xf4, 0xaa, 0xf8, 0x30, 0x10, 0xb7, 0x77, 0x10,
-	0x00, 0x05, 0xf4, 0xaa, 0xf8, 0x30, 0x10, 0xbc,
-	0xf2, 0x74, 0x0e, 0x9f, 0xf4, 0x95, 0x48, 0x17,
-	0xf0, 0x73, 0x11, 0x31, 0x76, 0xe1, 0x00, 0x0c,
-	0x00, 0x00, 0x76, 0xe1, 0x00, 0x0b, 0x00, 0x00,
-	0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 0x76, 0xe1,
-	0x00, 0x02, 0x00, 0x02, 0x11, 0xe1, 0x00, 0x0c,
-	0xe8, 0x03, 0xf6, 0x20, 0x89, 0x12, 0xf4, 0x95,
-	0x77, 0x10, 0x00, 0x03, 0xf5, 0xaa, 0xf8, 0x30,
-	0x0f, 0xb6, 0x6b, 0xf8, 0x27, 0x6f, 0x00, 0x01,
-	0x88, 0x10, 0xf4, 0x95, 0xf4, 0x95, 0xf5, 0xae,
-	0xf8, 0x20, 0x0f, 0xbd, 0x48, 0x16, 0x80, 0x06,
-	0x88, 0x13, 0xf4, 0x95, 0x77, 0x10, 0x00, 0x03,
-	0xf6, 0xab, 0xf8, 0x20, 0x0f, 0xc8, 0x6b, 0xf8,
-	0x27, 0x6f, 0x00, 0x01, 0x12, 0x06, 0xf8, 0x45,
-	0x10, 0x00, 0x10, 0xe1, 0x00, 0x04, 0x80, 0x00,
-	0x10, 0x05, 0x80, 0x01, 0x10, 0x04, 0x80, 0x02,
-	0x10, 0x06, 0x80, 0x03, 0x48, 0x11, 0xf2, 0x74,
-	0x07, 0x1e, 0xf0, 0x00, 0x00, 0x05, 0x10, 0x06,
-	0x00, 0xe1, 0x00, 0x04, 0x80, 0xe1, 0x00, 0x04,
-	0x10, 0x06, 0x00, 0xe1, 0x00, 0x0c, 0x80, 0xe1,
-	0x00, 0x0c, 0x88, 0x12, 0x11, 0x06, 0x10, 0x04,
-	0xf6, 0x00, 0x80, 0x04, 0x48, 0x16, 0xf6, 0x20,
-	0x88, 0x16, 0x89, 0x13, 0xf4, 0x95, 0x77, 0x10,
-	0x00, 0x03, 0xf6, 0xab, 0xf8, 0x20, 0x0f, 0xf5,
-	0x6b, 0xf8, 0x27, 0x6f, 0x00, 0x01, 0x77, 0x10,
-	0x00, 0x0c, 0x71, 0xe1, 0x00, 0x04, 0x00, 0x13,
-	0xf6, 0xab, 0xf8, 0x20, 0x10, 0x00, 0x6b, 0xf8,
-	0x27, 0x6f, 0x00, 0x01, 0x6c, 0xe2, 0xff, 0xfd,
-	0x11, 0x31, 0xf6, 0xb8, 0x6f, 0xe1, 0x00, 0x05,
-	0x0c, 0x48, 0x6f, 0xe1, 0x00, 0x06, 0x0c, 0x18,
-	0xf0, 0x30, 0x0f, 0xff, 0xf0, 0x00, 0x00, 0x03,
-	0x80, 0xe1, 0x00, 0x0b, 0x76, 0xe1, 0x00, 0x02,
-	0x00, 0x03, 0x48, 0x16, 0xf8, 0x45, 0x11, 0x33,
-	0x71, 0xe1, 0x00, 0x0c, 0x00, 0x12, 0x10, 0xe1,
-	0x00, 0x0b, 0x49, 0x12, 0xf6, 0x20, 0x88, 0x13,
-	0xe8, 0x0c, 0xf6, 0x20, 0x88, 0x10, 0xf4, 0x95,
-	0xf4, 0x95, 0xf5, 0xab, 0xf8, 0x20, 0x10, 0x27,
-	0x48, 0x13, 0x80, 0x06, 0x88, 0x10, 0xf4, 0x95,
-	0xf4, 0x95, 0xf5, 0xae, 0xf8, 0x20, 0x10, 0x30,
-	0x70, 0x06, 0x00, 0x16, 0x12, 0x06, 0xf8, 0x45,
-	0x10, 0x5f, 0x10, 0xe1, 0x00, 0x04, 0x80, 0x00,
-	0x10, 0x05, 0x80, 0x01, 0x10, 0x04, 0x80, 0x02,
-	0x10, 0x06, 0x80, 0x03, 0x48, 0x11, 0xf2, 0x74,
-	0x07, 0x1e, 0xf0, 0x00, 0x00, 0x05, 0x10, 0x06,
-	0x00, 0xe1, 0x00, 0x04, 0x80, 0xe1, 0x00, 0x04,
-	0x10, 0x06, 0x00, 0xe1, 0x00, 0x0c, 0x80, 0xe1,
-	0x00, 0x0c, 0x88, 0x12, 0x11, 0x06, 0x10, 0x04,
-	0xf6, 0x00, 0x80, 0x04, 0x48, 0x16, 0xf6, 0x20,
-	0x88, 0x16, 0xf4, 0x95, 0x77, 0x10, 0x00, 0x0c,
-	0x71, 0xe1, 0x00, 0x04, 0x00, 0x13, 0xf6, 0xab,
-	0xf8, 0x20, 0x10, 0x5f, 0x6b, 0xf8, 0x27, 0x6f,
-	0x00, 0x01, 0x77, 0x10, 0x00, 0x0c, 0xf6, 0xaa,
-	0xf8, 0x20, 0x10, 0x6b, 0xf2, 0x74, 0x0e, 0x9f,
-	0xf4, 0x95, 0x48, 0x17, 0x71, 0xe1, 0x00, 0x0c,
-	0x00, 0x12, 0x77, 0x10, 0x00, 0x0c, 0xf4, 0xaa,
-	0xf8, 0x30, 0x10, 0x7c, 0x77, 0x10, 0x00, 0x0c,
-	0x71, 0xe1, 0x00, 0x0b, 0x00, 0x13, 0xf6, 0xab,
-	0xf8, 0x30, 0x10, 0xb4, 0xe7, 0x30, 0xf7, 0xaa,
-	0xf8, 0x30, 0x10, 0xb4, 0xf2, 0x74, 0x0e, 0xc1,
-	0xf4, 0x95, 0x48, 0x17, 0x88, 0x12, 0xf4, 0x95,
-	0xf4, 0x95, 0x6c, 0x82, 0x10, 0x8d, 0x76, 0xe1,
-	0x00, 0x04, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02,
-	0x00, 0x05, 0xf0, 0x73, 0x10, 0xb4, 0x76, 0xe1,
-	0x00, 0x02, 0x00, 0x04, 0x77, 0x10, 0x00, 0x0c,
-	0x71, 0xe1, 0x00, 0x0b, 0x00, 0x12, 0xf5, 0xaa,
-	0xf8, 0x20, 0x10, 0x9a, 0xf0, 0x73, 0x10, 0x9c,
-	0x77, 0x12, 0x00, 0x0c, 0x76, 0x00, 0x00, 0x00,
-	0x70, 0x01, 0x00, 0x12, 0x70, 0x02, 0x00, 0x17,
-	0x76, 0x03, 0x00, 0x01, 0x48, 0x11, 0xf2, 0x74,
-	0x0c, 0xb9, 0xf0, 0x00, 0x00, 0x05, 0x76, 0xe1,
-	0x00, 0x04, 0x00, 0x00, 0x77, 0x10, 0x00, 0x0c,
-	0x71, 0xe1, 0x00, 0x0b, 0x00, 0x12, 0xf6, 0xaa,
-	0xf8, 0x20, 0x11, 0x1c, 0x48, 0x16, 0xf8, 0x45,
-	0x11, 0x33, 0x60, 0xe1, 0x00, 0x02, 0x00, 0x05,
-	0xf8, 0x20, 0x10, 0xdf, 0x10, 0xe1, 0x00, 0x0b,
-	0x08, 0xe1, 0x00, 0x0c, 0x11, 0xe1, 0x00, 0x04,
-	0xf8, 0x4d, 0x10, 0xc7, 0x6b, 0xf8, 0x27, 0x6f,
-	0x00, 0x01, 0x88, 0x10, 0xf4, 0x95, 0xf4, 0x95,
-	0xf5, 0xae, 0xf8, 0x20, 0x10, 0xcf, 0x48, 0x16,
-	0xf4, 0x95, 0x48, 0x08, 0xf8, 0x45, 0x11, 0x16,
-	0x6f, 0xe1, 0x00, 0x0c, 0x0d, 0x00, 0x81, 0xe1,
-	0x00, 0x0c, 0x11, 0x04, 0xf5, 0x00, 0x81, 0x04,
-	0x49, 0x16, 0xf5, 0x20, 0x89, 0x16, 0xf0, 0x73,
-	0x11, 0x0e, 0x10, 0xe1, 0x00, 0x0b, 0x71, 0xe1,
-	0x00, 0x0c, 0x00, 0x12, 0x88, 0x10, 0xf4, 0x95,
-	0xf4, 0x95, 0xf6, 0xaa, 0xf8, 0x30, 0x11, 0x16,
-	0x49, 0x12, 0xf6, 0x20, 0x88, 0x10, 0xf4, 0x95,
-	0xf4, 0x95, 0xf5, 0xae, 0xf8, 0x20, 0x10, 0xf3,
-	0x48, 0x16, 0x80, 0x06, 0x48, 0x08, 0xf8, 0x45,
-	0x11, 0x16, 0x10, 0x04, 0x70, 0x02, 0x00, 0x17,
-	0x80, 0x00, 0x76, 0x03, 0x00, 0x00, 0x10, 0x06,
-	0x80, 0x01, 0x10, 0x05, 0xf0, 0x74, 0x0c, 0xb9,
-	0x10, 0x06, 0x00, 0xe1, 0x00, 0x0c, 0x80, 0xe1,
-	0x00, 0x0c, 0x11, 0x06, 0x10, 0x04, 0xf6, 0x00,
-	0x80, 0x04, 0x48, 0x16, 0xf6, 0x20, 0x88, 0x16,
-	0x10, 0xe1, 0x00, 0x0c, 0x08, 0xe1, 0x00, 0x0b,
-	0xf8, 0x45, 0x11, 0x1c, 0xf0, 0x73, 0x11, 0x31,
-	0xf2, 0x74, 0x0e, 0x9f, 0xf4, 0x95, 0x48, 0x17,
-	0xf0, 0x73, 0x11, 0x33, 0x76, 0xe1, 0x00, 0x0c,
-	0x00, 0x00, 0x76, 0xe1, 0x00, 0x0b, 0x00, 0x00,
-	0x76, 0xe1, 0x00, 0x02, 0x00, 0x01, 0x10, 0x04,
-	0x80, 0x00, 0x10, 0x05, 0xf0, 0x74, 0x06, 0x9f,
-	0x88, 0x12, 0xf4, 0x95, 0x77, 0x10, 0x00, 0xff,
-	0xf4, 0xaa, 0xf8, 0x30, 0x11, 0x33, 0x6c, 0x86,
-	0x0f, 0x70, 0xee, 0x08, 0x8a, 0x17, 0x8a, 0x16,
-	0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfc,
-	0xf4, 0x95, 0x71, 0x06, 0x00, 0x12, 0x88, 0x11,
-	0x73, 0x12, 0x00, 0x0e, 0xf1, 0x66, 0x00, 0x0d,
-	0xf3, 0x00, 0x24, 0x00, 0x89, 0x14, 0x13, 0x81,
-	0xf7, 0x7a, 0xf3, 0x30, 0x00, 0x01, 0x81, 0xf8,
-	0x27, 0x60, 0x13, 0xe1, 0x00, 0x01, 0xf7, 0x7c,
-	0xf3, 0x30, 0x00, 0x03, 0x81, 0xf8, 0x27, 0x61,
-	0xe9, 0x0f, 0x19, 0xe1, 0x00, 0x01, 0x81, 0xf8,
-	0x27, 0x62, 0x71, 0xe4, 0x00, 0x03, 0x00, 0x13,
-	0xf6, 0xb8, 0x49, 0x13, 0xf3, 0x00, 0x00, 0x01,
-	0xf3, 0x30, 0x00, 0x0f, 0x49, 0x0b, 0x09, 0xf8,
-	0x27, 0x62, 0xf8, 0x4d, 0x11, 0x75, 0x77, 0x10,
-	0x00, 0xff, 0xf4, 0xab, 0xf8, 0x30, 0x11, 0x75,
-	0x57, 0xf8, 0x27, 0x6c, 0xf3, 0x00, 0x00, 0x01,
-	0x4f, 0xf8, 0x27, 0x6c, 0x76, 0xf8, 0x27, 0x63,
-	0x00, 0x01, 0xf0, 0x73, 0x11, 0x78, 0x76, 0xf8,
-	0x27, 0x63, 0x00, 0x00, 0x70, 0xe4, 0x00, 0x03,
-	0x27, 0x62, 0x76, 0xf8, 0x27, 0x64, 0x00, 0x00,
-	0x11, 0xf8, 0x27, 0x61, 0x61, 0xf8, 0x00, 0x0b,
-	0x00, 0x02, 0xf8, 0x20, 0x11, 0x8d, 0xe9, 0x01,
-	0x6f, 0xe1, 0x00, 0x02, 0x0f, 0x18, 0x81, 0xf8,
-	0x27, 0x64, 0x11, 0xf8, 0x27, 0x61, 0x61, 0xf8,
-	0x00, 0x0b, 0x00, 0x01, 0xf8, 0x20, 0x11, 0xa9,
-	0x10, 0xf8, 0x27, 0x64, 0xf1, 0x00, 0x00, 0x04,
-	0x89, 0x13, 0xe9, 0xb8, 0xf5, 0x20, 0x81, 0xf8,
-	0x27, 0x65, 0x60, 0x84, 0x00, 0x02, 0xf8, 0x20,
-	0x11, 0xa9, 0x70, 0x00, 0x00, 0x11, 0x70, 0x01,
-	0x00, 0x13, 0x70, 0x02, 0x27, 0x65, 0xf2, 0x74,
-	0x0f, 0x18, 0xf4, 0x95, 0x48, 0x12, 0xee, 0x04,
-	0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16,
-	0x4a, 0x17, 0xee, 0xfc, 0xe8, 0x00, 0x4e, 0xf8,
-	0x27, 0x66, 0xe8, 0x00, 0x4e, 0xf8, 0x27, 0x68,
-	0xe8, 0x00, 0x4e, 0xf8, 0x27, 0x6c, 0xe8, 0x00,
-	0x4e, 0xf8, 0x27, 0x6a, 0x77, 0x12, 0x27, 0x40,
-	0x77, 0x11, 0x24, 0x00, 0x77, 0x1a, 0x00, 0x1f,
-	0xf0, 0x72, 0x11, 0xdb, 0x70, 0x92, 0x00, 0x11,
-	0x76, 0xe1, 0x00, 0x01, 0xff, 0xff, 0x76, 0x81,
-	0x00, 0x00, 0x76, 0xe1, 0x00, 0x02, 0x00, 0x00,
-	0x76, 0xe1, 0x00, 0x03, 0x00, 0xff, 0x76, 0xe1,
-	0x00, 0x0c, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0b,
-	0x00, 0x00, 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00,
-	0x6d, 0xe9, 0x00, 0x0d, 0xf0, 0x20, 0x25, 0xa0,
-	0xf1, 0x00, 0x00, 0x07, 0x89, 0x11, 0xf1, 0x00,
-	0x00, 0x01, 0x81, 0x02, 0x88, 0x16, 0xf4, 0x95,
-	0x77, 0x17, 0x00, 0x20, 0x76, 0x86, 0x00, 0xff,
-	0x76, 0x00, 0x00, 0x00, 0x76, 0x01, 0x00, 0x06,
-	0x10, 0x02, 0xf0, 0x74, 0x06, 0x6c, 0x76, 0x00,
-	0x00, 0x00, 0x76, 0x01, 0x00, 0x06, 0xf2, 0x74,
-	0x06, 0x6c, 0xf4, 0x95, 0x48, 0x11, 0x10, 0x02,
-	0xf0, 0x00, 0x00, 0x0d, 0x80, 0x02, 0x6d, 0xe9,
-	0x00, 0x0d, 0x6d, 0xee, 0x00, 0x0d, 0x6c, 0xef,
-	0xff, 0xff, 0x11, 0xe8, 0xf0, 0x74, 0x0c, 0x9d,
-	0xee, 0x04, 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11,
-	0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 0x4a, 0x17,
-	0xee, 0xfa, 0x88, 0x11, 0x10, 0x0a, 0x49, 0x11,
-	0xf8, 0x4d, 0x12, 0x9f, 0x48, 0x08, 0xf8, 0x45,
-	0x12, 0x9f, 0x80, 0x04, 0x12, 0x81, 0xf5, 0x78,
-	0x89, 0x12, 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0xe2,
-	0xff, 0xb9, 0x12, 0x8a, 0x61, 0xf8, 0x00, 0x08,
-	0x00, 0x80, 0xf8, 0x30, 0x12, 0x8a, 0x13, 0xe1,
-	0x00, 0x01, 0xf0, 0xe8, 0xf7, 0x78, 0xf1, 0xa0,
-	0xf2, 0x30, 0x1f, 0xff, 0x88, 0x17, 0xf4, 0x95,
-	0x77, 0x12, 0x24, 0x00, 0x77, 0x16, 0x00, 0x00,
-	0x77, 0x13, 0x00, 0x20, 0xf6, 0xb8, 0x48, 0x17,
-	0x08, 0xe2, 0x00, 0x01, 0xf8, 0x45, 0x12, 0x42,
-	0x6d, 0xea, 0x00, 0x0d, 0x6d, 0x96, 0x6c, 0xeb,
-	0xff, 0xff, 0x12, 0x34, 0xf0, 0x73, 0x12, 0x90,
-	0x56, 0xf8, 0x27, 0x6a, 0xf0, 0x00, 0x00, 0x01,
-	0x4e, 0xf8, 0x27, 0x6a, 0x60, 0x82, 0x00, 0x01,
-	0xf8, 0x30, 0x12, 0x54, 0x70, 0x00, 0x00, 0x16,
-	0xf2, 0x74, 0x11, 0x38, 0xf4, 0x95, 0x48, 0x11,
-	0xf0, 0x73, 0x12, 0x90, 0x70, 0x00, 0x00, 0x16,
-	0xf2, 0x74, 0x11, 0x38, 0xf4, 0x95, 0x48, 0x11,
-	0x72, 0x10, 0x2a, 0x9e, 0xf4, 0x95, 0xf4, 0xaf,
-	0xf8, 0x30, 0x12, 0x6e, 0x76, 0x00, 0x00, 0x00,
-	0x76, 0x01, 0x00, 0xbc, 0x70, 0x02, 0x00, 0x16,
-	0x76, 0x03, 0x00, 0x00, 0xf2, 0x74, 0x0c, 0xb9,
-	0xf4, 0x95, 0x48, 0x11, 0xf0, 0x73, 0x12, 0x90,
-	0x10, 0xf8, 0x27, 0x6e, 0xf8, 0x44, 0x12, 0x90,
-	0x76, 0x00, 0x00, 0x00, 0x76, 0x01, 0x00, 0xbc,
-	0x70, 0x02, 0x00, 0x16, 0x76, 0x03, 0x00, 0x00,
-	0xf2, 0x74, 0x0c, 0xb9, 0xf4, 0x95, 0x48, 0x11,
-	0xf0, 0x74, 0x0c, 0x5e, 0xf0, 0xe0, 0xf0, 0x10,
-	0x13, 0x88, 0xf8, 0x42, 0x12, 0x90, 0x76, 0xf8,
-	0x27, 0x6e, 0x00, 0x01, 0xf0, 0x73, 0x12, 0x90,
-	0x56, 0xf8, 0x27, 0x66, 0xf0, 0x00, 0x00, 0x01,
-	0x4e, 0xf8, 0x27, 0x66, 0x6d, 0xe9, 0x00, 0x5e,
-	0x56, 0xf8, 0x27, 0x68, 0xf0, 0x00, 0x00, 0x01,
-	0x4e, 0xf8, 0x27, 0x68, 0x71, 0x04, 0x00, 0x12,
-	0x6e, 0xea, 0xff, 0xff, 0x12, 0x18, 0x70, 0x04,
-	0x00, 0x12, 0xee, 0x06, 0x8a, 0x17, 0x8a, 0x16,
-	0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe,
-	0x88, 0x0e, 0xf4, 0x95, 0xf0, 0x66, 0x00, 0x0d,
-	0xf0, 0x00, 0x25, 0xa0, 0x88, 0x11, 0xf4, 0x95,
-	0xf4, 0x95, 0x76, 0x81, 0x00, 0xff, 0x76, 0x00,
-	0x00, 0x00, 0x76, 0x01, 0x00, 0x06, 0xf2, 0x74,
-	0x06, 0x6c, 0xf0, 0x00, 0x00, 0x01, 0x76, 0x00,
-	0x00, 0x00, 0x76, 0x01, 0x00, 0x06, 0x48, 0x11,
-	0xf2, 0x74, 0x06, 0x6c, 0xf0, 0x00, 0x00, 0x07,
-	0xee, 0x02, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11,
-	0x88, 0x0e, 0xf4, 0x95, 0xf0, 0x66, 0x00, 0x0d,
-	0xf0, 0x00, 0x24, 0x00, 0x88, 0x11, 0xf4, 0x95,
-	0xf4, 0x95, 0x76, 0xe1, 0x00, 0x01, 0xff, 0xff,
-	0x76, 0x81, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02,
-	0x00, 0x00, 0x76, 0xe1, 0x00, 0x03, 0x00, 0xff,
-	0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95,
-	0x13, 0x03, 0x88, 0x11, 0xfa, 0x4d, 0x12, 0xec,
-	0x71, 0x02, 0x00, 0x12, 0xf3, 0x10, 0x00, 0x01,
-	0x89, 0x1a, 0xf4, 0x95, 0xf0, 0x72, 0x12, 0xeb,
-	0x70, 0x91, 0x00, 0x12, 0x8a, 0x11, 0xfc, 0x00,
-	0xf4, 0x95, 0x4a, 0x0b, 0x4a, 0x0c, 0x4a, 0x0d,
-	0xf7, 0xb8, 0xee, 0xfe, 0x10, 0xf8, 0x00, 0x08,
-	0x11, 0x06, 0xf1, 0xc0, 0x83, 0x00, 0xf4, 0x85,
-	0x11, 0x06, 0xf7, 0x85, 0x81, 0x06, 0xf6, 0xb8,
-	0xec, 0x0f, 0x1e, 0x06, 0x61, 0x00, 0x80, 0x00,
-	0xf8, 0x20, 0x13, 0x05, 0xf4, 0x84, 0xee, 0x02,
-	0x8a, 0x0d, 0x8a, 0x0c, 0x8a, 0x0b, 0xfc, 0x00,
-	0xf4, 0x95, 0x4a, 0x0b, 0x4a, 0x0c, 0x4a, 0x0d,
-	0xee, 0xfe, 0xf7, 0xb8, 0x80, 0x00, 0x10, 0xf8,
-	0x00, 0x08, 0xf4, 0x85, 0x11, 0x06, 0xf7, 0x85,
-	0x81, 0x06, 0xf6, 0xb8, 0xec, 0x0f, 0x1e, 0x06,
-	0xf0, 0xf0, 0x61, 0x00, 0x80, 0x00, 0xf8, 0x20,
-	0x13, 0x20, 0xf4, 0x84, 0xee, 0x02, 0x8a, 0x0d,
-	0x8a, 0x0c, 0x8a, 0x0b, 0xfc, 0x00, 0x4a, 0x11,
-	0x77, 0x11, 0x00, 0x7b, 0x76, 0x81, 0x2e, 0xec,
-	0x77, 0x11, 0x00, 0x7b, 0xee, 0xff, 0x71, 0x81,
-	0x00, 0x11, 0xee, 0x01, 0x76, 0xe1, 0x00, 0x01,
-	0x00, 0x00, 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00,
-	0x76, 0xe1, 0x00, 0x06, 0x00, 0x00, 0x76, 0xe1,
-	0x00, 0x62, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x76,
-	0x00, 0x00, 0x76, 0xe1, 0x00, 0x92, 0x00, 0x00,
-	0x76, 0xe1, 0x00, 0x94, 0x00, 0x00, 0x76, 0xe1,
-	0x00, 0xb0, 0x00, 0x00, 0x76, 0xe1, 0x00, 0xb3,
-	0x00, 0x00, 0x76, 0xe1, 0x00, 0xbe, 0x00, 0x00,
-	0x76, 0xe1, 0x00, 0xbf, 0x00, 0x00, 0x76, 0xe1,
-	0x00, 0xc1, 0x00, 0x00, 0x76, 0xe1, 0x00, 0xc3,
-	0x00, 0x00, 0x76, 0xe1, 0x00, 0xc5, 0x00, 0x00,
-	0x76, 0xe1, 0x00, 0xc7, 0x00, 0x00, 0x76, 0x81,
-	0x00, 0x00, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4,
-	0x4a, 0x11, 0x4a, 0x16, 0x4a, 0x17, 0xee, 0xff,
-	0xf4, 0x95, 0x71, 0x06, 0x00, 0x16, 0xfb, 0x80,
-	0x16, 0xa2, 0x88, 0x17, 0xf4, 0x95, 0xf7, 0xb8,
-	0x10, 0xf8, 0x00, 0x17, 0xf0, 0x10, 0x00, 0x02,
-	0xfa, 0x46, 0x13, 0x88, 0x77, 0x11, 0x00, 0x00,
-	0x10, 0xf8, 0x00, 0x17, 0xf0, 0x10, 0x00, 0x02,
-	0xf8, 0x45, 0x13, 0xf9, 0x10, 0xf8, 0x00, 0x17,
-	0xf8, 0x45, 0x14, 0x39, 0x10, 0xf8, 0x00, 0x17,
-	0xf0, 0x10, 0x00, 0x01, 0xf8, 0x45, 0x14, 0x1f,
-	0xf0, 0x73, 0x14, 0x52, 0x10, 0xf8, 0x00, 0x17,
-	0xf0, 0x10, 0x00, 0x03, 0xf8, 0x45, 0x13, 0xd3,
-	0x10, 0xf8, 0x00, 0x17, 0xf0, 0x10, 0x00, 0x06,
-	0xf8, 0x44, 0x14, 0x52, 0x77, 0x12, 0x00, 0x7b,
-	0x71, 0x82, 0x00, 0x14, 0x61, 0xe4, 0x00, 0x07,
-	0x00, 0x40, 0xf8, 0x30, 0x14, 0x52, 0x49, 0x14,
-	0x48, 0x17, 0xf6, 0x00, 0x88, 0x12, 0xf4, 0x95,
-	0x77, 0x13, 0x00, 0x55, 0x77, 0x11, 0x00, 0x57,
-	0x6d, 0xea, 0x00, 0x3b, 0xe5, 0x01, 0x10, 0xe6,
-	0x00, 0x06, 0x80, 0x81, 0x48, 0x14, 0x00, 0xf8,
-	0x00, 0x17, 0x88, 0x12, 0xf4, 0x95, 0x77, 0x11,
-	0x00, 0x55, 0x10, 0xe2, 0x00, 0x40, 0x80, 0x81,
-	0x77, 0x11, 0x00, 0x57, 0x10, 0xe6, 0x00, 0x07,
-	0x80, 0x81, 0x77, 0x11, 0x00, 0x55, 0x10, 0xe2,
-	0x00, 0x45, 0x80, 0x81, 0x10, 0xe6, 0x00, 0x08,
-	0x77, 0x11, 0x00, 0x57, 0x80, 0x81, 0x77, 0x11,
-	0x00, 0x55, 0x10, 0xe2, 0x00, 0x4a, 0x80, 0x81,
-	0x77, 0x11, 0x00, 0x57, 0x10, 0xe6, 0x00, 0x09,
-	0x80, 0x81, 0xf2, 0x73, 0x14, 0x52, 0x77, 0x11,
-	0x03, 0xc0, 0x77, 0x12, 0x00, 0x7b, 0x10, 0x82,
-	0xf0, 0x00, 0x00, 0x07, 0x88, 0x13, 0xf4, 0x95,
-	0xf4, 0x95, 0x96, 0x1b, 0xf8, 0x30, 0x14, 0x52,
-	0x10, 0xe3, 0x00, 0x35, 0x77, 0x12, 0x00, 0x55,
-	0x80, 0x82, 0x77, 0x12, 0x00, 0x57, 0x10, 0xe6,
-	0x00, 0x04, 0x80, 0x82, 0x77, 0x12, 0x00, 0x55,
-	0x10, 0xe3, 0x00, 0x37, 0x80, 0x82, 0x77, 0x12,
-	0x00, 0x57, 0x10, 0xe6, 0x00, 0x05, 0x80, 0x82,
-	0x48, 0x11, 0xf0, 0x40, 0x00, 0x10, 0xf2, 0x73,
-	0x14, 0x50, 0xf0, 0x40, 0x00, 0x20, 0x77, 0x12,
-	0x00, 0x7b, 0x10, 0x82, 0xf0, 0x00, 0x00, 0x07,
-	0x88, 0x12, 0xf4, 0x95, 0xf4, 0x95, 0x96, 0x0d,
-	0xf8, 0x30, 0x14, 0x52, 0x10, 0xe2, 0x00, 0x34,
-	0x77, 0x13, 0x00, 0x55, 0x80, 0x83, 0x77, 0x13,
-	0x00, 0x57, 0x10, 0xe6, 0x00, 0x02, 0x80, 0x83,
-	0x10, 0xe2, 0x00, 0x36, 0x77, 0x12, 0x00, 0x55,
-	0x80, 0x82, 0x77, 0x12, 0x00, 0x57, 0x10, 0xe6,
-	0x00, 0x03, 0x80, 0x82, 0x48, 0x11, 0xf0, 0x40,
-	0x00, 0x04, 0xf2, 0x73, 0x14, 0x50, 0xf0, 0x40,
-	0x00, 0x08, 0x77, 0x12, 0x00, 0x7b, 0x10, 0x82,
-	0xf0, 0x00, 0x00, 0x07, 0x88, 0x12, 0xf4, 0x95,
-	0xf4, 0x95, 0x96, 0x0e, 0xf8, 0x30, 0x14, 0x52,
-	0x10, 0xe2, 0x00, 0x33, 0x77, 0x12, 0x00, 0x55,
-	0x80, 0x82, 0x77, 0x12, 0x00, 0x57, 0x10, 0xe6,
-	0x00, 0x01, 0x80, 0x82, 0x48, 0x11, 0xf2, 0x73,
-	0x14, 0x50, 0xf0, 0x40, 0x00, 0x02, 0x77, 0x12,
-	0x00, 0x7b, 0x10, 0x82, 0xf0, 0x00, 0x00, 0x07,
-	0x88, 0x12, 0xf4, 0x95, 0xf4, 0x95, 0x96, 0x0f,
-	0xf8, 0x30, 0x14, 0x52, 0x10, 0xe2, 0x00, 0x32,
-	0x77, 0x12, 0x00, 0x55, 0x77, 0x13, 0x00, 0x57,
-	0x80, 0x82, 0x48, 0x11, 0xe7, 0x62, 0xf0, 0x40,
-	0x00, 0x01, 0xe5, 0x01, 0x88, 0x11, 0xf4, 0x95,
-	0x77, 0x12, 0x00, 0x7b, 0x48, 0x11, 0x71, 0x82,
-	0x00, 0x12, 0x1a, 0xe2, 0x00, 0x07, 0x80, 0xe2,
-	0x00, 0x07, 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01,
-	0x8a, 0x17, 0x48, 0x11, 0x8a, 0x16, 0x8a, 0x11,
-	0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 0x77, 0x0e,
-	0x00, 0x05, 0x77, 0x12, 0x00, 0x55, 0xe8, 0x04,
-	0xf6, 0xb8, 0x28, 0xe1, 0x00, 0x02, 0xee, 0xff,
-	0x80, 0x82, 0x77, 0x12, 0x00, 0x57, 0xf0, 0x20,
-	0x80, 0x00, 0xee, 0x01, 0x1a, 0x82, 0x77, 0x12,
-	0x00, 0x57, 0x80, 0x82, 0xe8, 0x01, 0x32, 0xe1,
-	0x00, 0x02, 0xf5, 0x82, 0x77, 0x11, 0x00, 0x54,
-	0xf6, 0x93, 0x18, 0x81, 0x77, 0x11, 0x00, 0x54,
-	0xf2, 0xa0, 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95,
-	0xf4, 0xe4, 0x4a, 0x11, 0x4a, 0x16, 0xf4, 0x95,
-	0x71, 0x04, 0x00, 0x11, 0xfb, 0x80, 0x16, 0xa2,
-	0x88, 0x16, 0xf4, 0x95, 0x77, 0x12, 0x00, 0x55,
-	0x10, 0xe6, 0x00, 0x03, 0x80, 0x82, 0x77, 0x12,
-	0x00, 0x56, 0x10, 0xe1, 0x00, 0x02, 0x77, 0x13,
-	0x00, 0x56, 0x80, 0x82, 0x77, 0x12, 0x00, 0x56,
-	0x10, 0xe1, 0x00, 0x03, 0x80, 0x82, 0x10, 0xe1,
-	0x00, 0x04, 0x77, 0x12, 0x00, 0x56, 0x80, 0x82,
-	0x77, 0x12, 0x00, 0x56, 0x10, 0xe1, 0x00, 0x01,
-	0x80, 0x82, 0xe7, 0x12, 0xe5, 0x01, 0xf9, 0x80,
-	0x16, 0x9a, 0x8a, 0x16, 0x8a, 0x11, 0xf4, 0xe4,
-	0x4a, 0x11, 0x4a, 0x16, 0x4a, 0x17, 0xee, 0xf9,
-	0x77, 0x11, 0x00, 0x7b, 0x76, 0x00, 0x00, 0x16,
-	0x76, 0x01, 0x00, 0x17, 0x76, 0x02, 0x00, 0x1a,
-	0x76, 0x03, 0x00, 0x1b, 0x76, 0x04, 0x00, 0x1c,
-	0x76, 0x05, 0x00, 0x1d, 0x71, 0x81, 0x00, 0x17,
-	0x71, 0xe7, 0x00, 0x06, 0x00, 0x11, 0x10, 0x81,
-	0xf8, 0x44, 0x14, 0xdf, 0xf9, 0x80, 0x16, 0x53,
-	0xf6, 0xb8, 0xfb, 0x80, 0x15, 0x85, 0xf0, 0x20,
-	0xff, 0xff, 0xf6, 0xb8, 0xfb, 0x80, 0x16, 0x08,
-	0xf0, 0x20, 0xff, 0xff, 0x77, 0x11, 0x00, 0x7b,
-	0x71, 0x81, 0x00, 0x17, 0x76, 0xe7, 0x00, 0x06,
-	0x00, 0x01, 0x48, 0x17, 0x77, 0x16, 0x00, 0x00,
-	0x77, 0x10, 0x00, 0x04, 0x77, 0x15, 0x00, 0x03,
-	0x77, 0x14, 0x00, 0x02, 0x77, 0x13, 0x00, 0x01,
-	0xf0, 0x00, 0x00, 0x39, 0x76, 0xe7, 0x00, 0x08,
-	0x00, 0x1f, 0x76, 0xe7, 0x00, 0x07, 0x00, 0x00,
-	0x88, 0x0e, 0x77, 0x1a, 0x00, 0x05, 0x48, 0x17,
-	0xf0, 0x00, 0x00, 0x09, 0x88, 0x12, 0x48, 0x18,
-	0x88, 0x19, 0xe8, 0x00, 0xf0, 0x72, 0x15, 0x2c,
-	0x73, 0x19, 0x00, 0x11, 0x76, 0x82, 0x00, 0x00,
-	0x11, 0x91, 0x73, 0x11, 0x00, 0x19, 0x70, 0xe2,
-	0x00, 0x03, 0x00, 0x16, 0x70, 0xe2, 0x00, 0x04,
-	0x00, 0x13, 0x70, 0xe2, 0x00, 0x05, 0x00, 0x14,
-	0x81, 0xe2, 0x00, 0x01, 0x70, 0xe2, 0x00, 0x06,
-	0x00, 0x15, 0x70, 0xe2, 0x00, 0x07, 0x00, 0x10,
-	0x80, 0xe2, 0x00, 0x02, 0x73, 0x0e, 0x00, 0x11,
-	0xf1, 0x00, 0x00, 0x1e, 0x6d, 0xee, 0x00, 0x05,
-	0x6d, 0xeb, 0x00, 0x05, 0x6d, 0xec, 0x00, 0x05,
-	0x6d, 0xed, 0x00, 0x05, 0x6d, 0xe8, 0x00, 0x05,
-	0xf0, 0x00, 0x00, 0x01, 0x81, 0x91, 0x6d, 0xea,
-	0x00, 0x08, 0x73, 0x11, 0x00, 0x0e, 0xee, 0x07,
-	0x76, 0xe7, 0x00, 0x41, 0x00, 0x24, 0x76, 0xe7,
-	0x00, 0x46, 0x00, 0x25, 0x76, 0xe7, 0x00, 0x4b,
-	0x00, 0x26, 0x76, 0xe7, 0x00, 0x50, 0x00, 0x27,
-	0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 0xf4, 0xe4,
-	0x4a, 0x11, 0x4a, 0x16, 0xee, 0xfe, 0x88, 0x11,
-	0x56, 0x06, 0x4e, 0x00, 0xf9, 0x80, 0x16, 0xa2,
-	0xf7, 0xb8, 0x10, 0xf8, 0x00, 0x11, 0xf0, 0x10,
-	0xff, 0xff, 0xfa, 0x45, 0x15, 0x60, 0x77, 0x16,
-	0xff, 0xff, 0x77, 0x12, 0x00, 0x7b, 0x49, 0x11,
-	0x10, 0x82, 0xf6, 0x03, 0xf0, 0x00, 0x00, 0x09,
-	0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81,
-	0xf8, 0x44, 0x15, 0x71, 0xf2, 0x73, 0x15, 0x71,
-	0xf4, 0x95, 0xe7, 0x16, 0x77, 0x11, 0x00, 0x7b,
-	0x10, 0x81, 0xf0, 0x00, 0x00, 0x09, 0x88, 0x11,
-	0xf4, 0x95, 0x77, 0x12, 0x00, 0x06, 0x10, 0x81,
-	0xf8, 0x45, 0x15, 0x5c, 0x6e, 0xea, 0xff, 0xff,
-	0x15, 0x69, 0x6d, 0xe9, 0x00, 0x08, 0x76, 0x86,
-	0x00, 0x01, 0xe9, 0x01, 0x56, 0x00, 0xf1, 0x80,
-	0x10, 0xf8, 0x00, 0x0b, 0xf8, 0x45, 0x15, 0x7e,
-	0xfb, 0x80, 0x15, 0x85, 0xf4, 0x95, 0x48, 0x16,
-	0xf9, 0x80, 0x16, 0x9a, 0xee, 0x02, 0x48, 0x16,
-	0x8a, 0x16, 0x8a, 0x11, 0xf4, 0xe4, 0x4a, 0x11,
-	0xee, 0xff, 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11,
-	0xf4, 0x95, 0x77, 0x10, 0xff, 0xff, 0xf4, 0xa9,
-	0xf8, 0x30, 0x15, 0xc4, 0x10, 0xe1, 0x00, 0x03,
-	0x77, 0x12, 0x00, 0x55, 0x80, 0x82, 0x77, 0x12,
-	0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x77, 0x12,
-	0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x77, 0x12,
-	0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x77, 0x12,
-	0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x77, 0x12,
-	0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x10, 0xe1,
-	0x00, 0x02, 0xf0, 0x00, 0x00, 0x08, 0x32, 0xf8,
-	0x00, 0x08, 0x77, 0x12, 0x00, 0x54, 0xe8, 0x01,
-	0xf4, 0x82, 0xf4, 0x93, 0x18, 0x82, 0x77, 0x12,
-	0x00, 0x54, 0xf0, 0x40, 0x00, 0x00, 0x80, 0x82,
-	0x10, 0xe1, 0x00, 0x01, 0xf9, 0x80, 0x16, 0x76,
-	0x10, 0xe1, 0x00, 0x01, 0xf9, 0x80, 0x16, 0x66,
-	0xf0, 0x73, 0x16, 0x03, 0x77, 0x11, 0x00, 0x7b,
-	0x71, 0x81, 0x00, 0x11, 0x71, 0xe1, 0x00, 0x07,
-	0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x10, 0xe1,
-	0x00, 0x09, 0xf9, 0x80, 0x15, 0x85, 0x77, 0x11,
-	0x00, 0x7b, 0x71, 0x81, 0x00, 0x11, 0x10, 0xe1,
-	0x00, 0x09, 0xfb, 0x80, 0x15, 0x85, 0xf0, 0x00,
-	0x00, 0x08, 0x77, 0x11, 0x00, 0x7b, 0x71, 0x81,
-	0x00, 0x11, 0x10, 0xe1, 0x00, 0x09, 0xfb, 0x80,
-	0x15, 0x85, 0xf0, 0x00, 0x00, 0x10, 0x77, 0x11,
-	0x00, 0x7b, 0x71, 0x81, 0x00, 0x11, 0x10, 0xe1,
-	0x00, 0x09, 0xfb, 0x80, 0x15, 0x85, 0xf0, 0x00,
-	0x00, 0x18, 0x77, 0x11, 0x00, 0x7b, 0x71, 0x81,
-	0x00, 0x11, 0x10, 0xe1, 0x00, 0x09, 0xfb, 0x80,
-	0x15, 0x85, 0xf0, 0x00, 0x00, 0x20, 0x77, 0x11,
-	0x00, 0x7b, 0x71, 0x81, 0x00, 0x11, 0x10, 0xe1,
-	0x00, 0x09, 0xfb, 0x80, 0x15, 0x85, 0xf0, 0x00,
-	0x00, 0x28, 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01,
-	0x8a, 0x11, 0xf4, 0xe4, 0x4a, 0x11, 0xee, 0xff,
-	0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 0xf4, 0x95,
-	0x77, 0x10, 0xff, 0xff, 0xf4, 0xa9, 0xf8, 0x30,
-	0x16, 0x41, 0x77, 0x11, 0x00, 0x55, 0x76, 0x81,
-	0x00, 0x1e, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81,
-	0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81,
-	0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81,
-	0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81,
-	0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81,
-	0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81,
-	0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81,
-	0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81,
-	0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81,
-	0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0xf2, 0x73,
-	0x16, 0x4e, 0x76, 0x81, 0x00, 0x00, 0x77, 0x11,
-	0x00, 0x7b, 0x71, 0x81, 0x00, 0x11, 0x71, 0xe1,
-	0x00, 0x07, 0x00, 0x12, 0x76, 0x82, 0x00, 0x00,
-	0x10, 0xe1, 0x00, 0x39, 0xf9, 0x80, 0x16, 0x08,
-	0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 0x8a, 0x11,
-	0xf4, 0xe4, 0x4a, 0x11, 0x77, 0x11, 0x00, 0x7b,
-	0x10, 0x81, 0xf0, 0x00, 0x00, 0x04, 0x88, 0x11,
-	0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 0xfa, 0x44,
-	0x16, 0x63, 0xf4, 0x95, 0xee, 0xff, 0x76, 0x81,
-	0x00, 0x01, 0xee, 0x01, 0x8a, 0x11, 0xf4, 0xe4,
-	0xf0, 0x10, 0x00, 0x10, 0x4a, 0x11, 0x32, 0xf8,
-	0x00, 0x08, 0xee, 0xff, 0x77, 0x11, 0x00, 0x01,
-	0xe8, 0x01, 0xee, 0x01, 0xf4, 0x82, 0x1a, 0x81,
-	0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4,
-	0xf0, 0x10, 0x00, 0x10, 0x4a, 0x11, 0x32, 0xf8,
-	0x00, 0x08, 0xee, 0xff, 0xe8, 0x01, 0x77, 0x11,
-	0x00, 0x00, 0xf4, 0x82, 0xee, 0x01, 0xf4, 0x93,
-	0x18, 0x81, 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95,
-	0xf4, 0xe4, 0x4a, 0x11, 0xf0, 0x10, 0x00, 0x10,
-	0x77, 0x11, 0x00, 0x00, 0x32, 0xf8, 0x00, 0x08,
-	0xee, 0xff, 0x11, 0x81, 0xe8, 0x01, 0xee, 0x01,
-	0x77, 0x11, 0x00, 0x00, 0xf4, 0x82, 0xf2, 0xa0,
-	0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4,
-	0xf2, 0x73, 0x16, 0x9e, 0xf6, 0xbb, 0xf4, 0x95,
-	0xf4, 0x95, 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0xe4,
-	0xf2, 0x73, 0x16, 0xa6, 0xf7, 0xbb, 0xf4, 0x95,
-	0xf4, 0x95, 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0xe4,
-	0x4a, 0x11, 0x4a, 0x16, 0xf4, 0x95, 0x71, 0x04,
-	0x00, 0x16, 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11,
-	0xf4, 0x95, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12,
-	0x76, 0x82, 0x00, 0x0e, 0x10, 0xe6, 0x00, 0x0e,
-	0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x80, 0x82,
-	0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 0x76, 0x82,
-	0x00, 0x0d, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12,
-	0x10, 0xe6, 0x00, 0x0d, 0x80, 0x82, 0x71, 0xe1,
-	0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x0c,
-	0x10, 0xe6, 0x00, 0x0c, 0x71, 0xe1, 0x00, 0x06,
-	0x00, 0x12, 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05,
-	0x00, 0x12, 0x76, 0x82, 0x00, 0x0b, 0x10, 0xe6,
-	0x00, 0x0b, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12,
-	0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12,
-	0x76, 0x82, 0x00, 0x0a, 0x71, 0xe1, 0x00, 0x06,
-	0x00, 0x12, 0x10, 0xe6, 0x00, 0x0a, 0x80, 0x82,
-	0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 0x76, 0x82,
-	0x00, 0x09, 0x10, 0xe6, 0x00, 0x09, 0x71, 0xe1,
-	0x00, 0x06, 0x00, 0x12, 0x80, 0x82, 0x71, 0xe1,
-	0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x08,
-	0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x10, 0xe6,
-	0x00, 0x08, 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05,
-	0x00, 0x12, 0x76, 0x82, 0x00, 0x07, 0x10, 0xe6,
-	0x00, 0x07, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12,
-	0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12,
-	0x76, 0x82, 0x00, 0x06, 0x71, 0xe1, 0x00, 0x06,
-	0x00, 0x12, 0x10, 0xe6, 0x00, 0x06, 0x80, 0x82,
-	0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 0x76, 0x82,
-	0x00, 0x05, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12,
-	0x10, 0xe6, 0x00, 0x05, 0x80, 0x82, 0x71, 0xe1,
-	0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x04,
-	0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x10, 0xe6,
-	0x00, 0x04, 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05,
-	0x00, 0x12, 0x76, 0x82, 0x00, 0x03, 0x71, 0xe1,
-	0x00, 0x06, 0x00, 0x12, 0x10, 0xe6, 0x00, 0x03,
-	0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12,
-	0x76, 0x82, 0x00, 0x02, 0x10, 0xe6, 0x00, 0x02,
-	0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x80, 0x82,
-	0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 0x76, 0x82,
-	0x00, 0x01, 0x10, 0xe6, 0x00, 0x01, 0x71, 0xe1,
-	0x00, 0x06, 0x00, 0x12, 0x80, 0x82, 0x71, 0xe1,
-	0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x00,
-	0x71, 0xe1, 0x00, 0x06, 0x00, 0x13, 0xe7, 0x62,
-	0xe5, 0x01, 0xf9, 0x80, 0x16, 0x9a, 0x8a, 0x16,
-	0x8a, 0x11, 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11,
-	0xf4, 0x95, 0xf4, 0x95, 0x71, 0xe1, 0x00, 0x05,
-	0x00, 0x12, 0xee, 0xff, 0x76, 0x82, 0x00, 0x00,
-	0xee, 0x01, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x11,
-	0x69, 0x81, 0x00, 0x01, 0x8a, 0x11, 0xf4, 0x95,
-	0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 0xf4, 0x95,
-	0xf4, 0x95, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12,
-	0xee, 0xff, 0x76, 0x82, 0x00, 0x01, 0xee, 0x01,
-	0x71, 0xe1, 0x00, 0x06, 0x00, 0x11, 0x69, 0x81,
-	0x00, 0x01, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4,
-	0x4a, 0x11, 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81,
-	0xf0, 0x00, 0x00, 0x94, 0x88, 0x11, 0xf4, 0x95,
-	0xf4, 0x95, 0x10, 0x81, 0xfa, 0x44, 0x17, 0x9c,
-	0xf4, 0x95, 0xee, 0xff, 0xf9, 0x80, 0x16, 0x53,
-	0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 0xf0, 0x00,
-	0x00, 0x94, 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95,
-	0x76, 0x81, 0x00, 0x01, 0xee, 0x01, 0x76, 0xe1,
-	0x00, 0x01, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02,
-	0x00, 0x21, 0x76, 0xe1, 0x00, 0x03, 0x00, 0x20,
-	0x76, 0xe1, 0x00, 0x04, 0x00, 0x23, 0x76, 0xe1,
-	0x00, 0x05, 0x00, 0x22, 0x76, 0xe1, 0x00, 0x06,
-	0x00, 0x38, 0x76, 0xe1, 0x00, 0x07, 0x00, 0x39,
-	0x76, 0xe1, 0x00, 0x08, 0x00, 0x15, 0x76, 0xe1,
-	0x00, 0x09, 0x00, 0x14, 0x76, 0xe1, 0x00, 0x0a,
-	0x00, 0x00, 0x76, 0xe1, 0x00, 0x0b, 0x00, 0x41,
-	0x76, 0xe1, 0x00, 0x0c, 0x00, 0x40, 0x76, 0xe1,
-	0x00, 0x0d, 0x00, 0x43, 0x76, 0xe1, 0x00, 0x0e,
-	0x00, 0x42, 0x76, 0xe1, 0x00, 0x0f, 0x00, 0x48,
-	0x76, 0xe1, 0x00, 0x10, 0x00, 0x49, 0x76, 0xe1,
-	0x00, 0x11, 0x00, 0x1b, 0x76, 0xe1, 0x00, 0x12,
-	0x00, 0x1a, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4,
-	0x4a, 0x11, 0xee, 0xfd, 0x88, 0x11, 0x56, 0x06,
-	0x4e, 0x00, 0xf9, 0x80, 0x16, 0xa2, 0x77, 0x12,
-	0x00, 0x7b, 0x77, 0x0e, 0x00, 0x09, 0x10, 0x82,
-	0x28, 0xf8, 0x00, 0x11, 0xf0, 0x00, 0x00, 0x95,
-	0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81,
-	0xf8, 0x45, 0x17, 0xf0, 0xf2, 0x73, 0x17, 0xfd,
-	0x77, 0x11, 0xff, 0xff, 0x76, 0x81, 0x00, 0x01,
-	0xe9, 0x01, 0x56, 0x00, 0xf1, 0x80, 0x10, 0xf8,
-	0x00, 0x0b, 0xf8, 0x45, 0x17, 0xfd, 0xfb, 0x80,
-	0x18, 0x10, 0xf4, 0x95, 0x48, 0x11, 0xf9, 0x80,
-	0x16, 0x9a, 0xee, 0x03, 0x48, 0x11, 0x8a, 0x11,
-	0xf4, 0x95, 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11,
-	0xf4, 0x95, 0xee, 0xff, 0x71, 0xe1, 0x00, 0x01,
-	0x00, 0x11, 0xee, 0x01, 0x10, 0x81, 0x8a, 0x11,
-	0xf4, 0x95, 0xf4, 0xe4, 0x4a, 0x11, 0xee, 0xff,
-	0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 0xf4, 0x95,
-	0x77, 0x10, 0xff, 0xff, 0xf4, 0xa9, 0xf8, 0x30,
-	0x18, 0xc3, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12,
-	0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 0x00, 0x06,
-	0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1,
-	0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x01,
-	0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82,
-	0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12,
-	0x76, 0x82, 0x00, 0x02, 0x71, 0xe1, 0x00, 0x06,
-	0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1,
-	0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x03,
-	0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82,
-	0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12,
-	0x76, 0x82, 0x00, 0x04, 0x71, 0xe1, 0x00, 0x06,
-	0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1,
-	0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x05,
-	0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82,
-	0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12,
-	0x76, 0x82, 0x00, 0x06, 0x71, 0xe1, 0x00, 0x06,
-	0x00, 0x12, 0x76, 0x82, 0x00, 0x01, 0x71, 0xe1,
-	0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x07,
-	0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82,
-	0x20, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12,
-	0x76, 0x82, 0x00, 0x08, 0x71, 0xe1, 0x00, 0x06,
-	0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1,
-	0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x09,
-	0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82,
-	0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12,
-	0x76, 0x82, 0x00, 0x0a, 0x71, 0xe1, 0x00, 0x06,
-	0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1,
-	0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x0b,
-	0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82,
-	0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12,
-	0x76, 0x82, 0x00, 0x0c, 0x71, 0xe1, 0x00, 0x06,
-	0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1,
-	0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x0d,
-	0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82,
-	0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12,
-	0x76, 0x82, 0x00, 0x0e, 0x71, 0xe1, 0x00, 0x06,
-	0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x10, 0xe1,
-	0x00, 0x07, 0xf9, 0x80, 0x16, 0x76, 0x10, 0xe1,
-	0x00, 0x08, 0xf9, 0x80, 0x16, 0x76, 0x10, 0xe1,
-	0x00, 0x07, 0xf9, 0x80, 0x16, 0x66, 0x10, 0xe1,
-	0x00, 0x08, 0xf9, 0x80, 0x16, 0x66, 0xf0, 0x73,
-	0x18, 0xd1, 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81,
-	0xfb, 0x80, 0x18, 0x10, 0xf0, 0x00, 0x00, 0x95,
-	0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 0xfb, 0x80,
-	0x18, 0x10, 0xf0, 0x00, 0x00, 0x9e, 0xf9, 0x80,
-	0x16, 0x9a, 0xee, 0x01, 0x8a, 0x11, 0xf4, 0xe4,
-	0x4a, 0x11, 0x88, 0x11, 0xee, 0xff, 0xf4, 0x95,
-	0x10, 0x04, 0x71, 0xe1, 0x00, 0x03, 0x00, 0x11,
-	0xee, 0x01, 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95,
-	0xf4, 0xe4, 0x4a, 0x11, 0x4a, 0x16, 0xf4, 0x95,
-	0x71, 0x04, 0x00, 0x16, 0xfb, 0x80, 0x16, 0xa2,
-	0x88, 0x11, 0xf4, 0x95, 0x71, 0xe1, 0x00, 0x02,
-	0x00, 0x12, 0x76, 0x82, 0x00, 0x10, 0x10, 0xe6,
-	0x00, 0x01, 0x71, 0xe1, 0x00, 0x03, 0x00, 0x12,
-	0x80, 0x82, 0x71, 0xe1, 0x00, 0x04, 0x00, 0x12,
-	0x10, 0xe6, 0x00, 0x02, 0x80, 0x82, 0xe7, 0x62,
-	0x71, 0xe1, 0x00, 0x02, 0x00, 0x13, 0xe5, 0x01,
-	0xf9, 0x80, 0x16, 0x9a, 0x8a, 0x16, 0x8a, 0x11,
-	0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 0xee, 0xff,
-	0xee, 0x01, 0x10, 0xe1, 0x00, 0x01, 0x8a, 0x11,
-	0xf4, 0x95, 0xf4, 0xe4, 0x4a, 0x11, 0x77, 0x11,
-	0x00, 0x7b, 0x10, 0x81, 0xf0, 0x00, 0x00, 0xb3,
-	0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81,
-	0xfa, 0x44, 0x19, 0x2a, 0xf4, 0x95, 0xee, 0xff,
-	0xf9, 0x80, 0x16, 0x53, 0x77, 0x11, 0x00, 0x7b,
-	0x10, 0x81, 0xf0, 0x00, 0x00, 0xb3, 0x88, 0x11,
-	0xf4, 0x95, 0xf4, 0x95, 0x76, 0x81, 0x00, 0x01,
-	0xee, 0x01, 0x76, 0xe1, 0x00, 0x01, 0x00, 0x00,
-	0x76, 0xe1, 0x00, 0x02, 0x00, 0x13, 0x76, 0xe1,
-	0x00, 0x03, 0x00, 0x26, 0x76, 0xe1, 0x00, 0x04,
-	0x00, 0x25, 0x76, 0xe1, 0x00, 0x05, 0x00, 0x24,
-	0x76, 0xe1, 0x00, 0x06, 0x00, 0x00, 0x76, 0xe1,
-	0x00, 0x07, 0x00, 0x17, 0x76, 0xe1, 0x00, 0x08,
-	0x00, 0x32, 0x76, 0xe1, 0x00, 0x09, 0x00, 0x31,
-	0x76, 0xe1, 0x00, 0x0a, 0x00, 0x30, 0x8a, 0x11,
-	0xf4, 0x95, 0xf4, 0xe4, 0x4a, 0x11, 0x4a, 0x16,
-	0x4a, 0x17, 0xee, 0xff, 0xf4, 0x95, 0x71, 0x06,
-	0x00, 0x17, 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11,
-	0xf4, 0x95, 0xf7, 0xb8, 0x10, 0xf8, 0x00, 0x11,
-	0xf0, 0x10, 0xff, 0xff, 0xfa, 0x45, 0x19, 0x73,
-	0x77, 0x16, 0xff, 0xff, 0x77, 0x12, 0x00, 0x7b,
-	0x77, 0x0e, 0x00, 0x05, 0x10, 0x82, 0x28, 0xf8,
-	0x00, 0x11, 0xf0, 0x00, 0x00, 0xb4, 0x88, 0x11,
-	0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 0xf8, 0x44,
-	0x19, 0x84, 0xf2, 0x73, 0x19, 0x84, 0xf4, 0x95,
-	0xe7, 0x16, 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81,
-	0xf0, 0x00, 0x00, 0xb4, 0x88, 0x11, 0xf4, 0x95,
-	0x77, 0x12, 0x00, 0x02, 0x10, 0x81, 0xf8, 0x45,
-	0x19, 0x6f, 0x6e, 0xea, 0xff, 0xff, 0x19, 0x7c,
-	0x6d, 0xe9, 0x00, 0x05, 0x61, 0xf8, 0x00, 0x17,
-	0x00, 0x01, 0xfa, 0x20, 0x19, 0x8f, 0x76, 0x86,
-	0x00, 0x01, 0xfb, 0x80, 0x19, 0x97, 0xf4, 0x95,
-	0x48, 0x16, 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01,
-	0x8a, 0x17, 0x48, 0x16, 0x8a, 0x16, 0x8a, 0x11,
-	0xf4, 0xe4, 0x4a, 0x11, 0xee, 0xff, 0xfb, 0x80,
-	0x16, 0xa2, 0x88, 0x11, 0xf4, 0x95, 0x77, 0x10,
-	0xff, 0xff, 0xf4, 0xa9, 0xf8, 0x30, 0x19, 0xcc,
-	0x71, 0xe1, 0x00, 0x02, 0x00, 0x12, 0x69, 0x82,
-	0x00, 0x10, 0x71, 0xe1, 0x00, 0x02, 0x00, 0x12,
-	0x68, 0x82, 0xf7, 0xff, 0x71, 0xe1, 0x00, 0x02,
-	0x00, 0x12, 0x68, 0x82, 0xfb, 0xff, 0x71, 0xe1,
-	0x00, 0x02, 0x00, 0x12, 0x68, 0x82, 0xff, 0xf0,
-	0x71, 0xe1, 0x00, 0x03, 0x00, 0x12, 0x76, 0x82,
-	0xff, 0xff, 0x71, 0xe1, 0x00, 0x04, 0x00, 0x12,
-	0x76, 0x82, 0xff, 0xff, 0x71, 0xe1, 0x00, 0x02,
-	0x00, 0x12, 0x69, 0x82, 0x00, 0x20, 0x71, 0xe1,
-	0x00, 0x02, 0x00, 0x11, 0xf2, 0x73, 0x19, 0xda,
-	0x68, 0x81, 0xff, 0xef, 0x77, 0x11, 0x00, 0x7b,
-	0x10, 0x81, 0xfb, 0x80, 0x19, 0x97, 0xf0, 0x00,
-	0x00, 0xb4, 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81,
-	0xfb, 0x80, 0x19, 0x97, 0xf0, 0x00, 0x00, 0xb9,
-	0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 0x8a, 0x11,
-	0xf4, 0xe4, 0x00, 0xa4, 0x00, 0x00, 0x19, 0xdf,
-	0x00, 0x01, 0x2a, 0xe6, 0x00, 0x00, 0x00, 0x01,
-	0x2a, 0xe7, 0x00, 0x00, 0x00, 0x03, 0x2a, 0x12,
-	0x0c, 0x01, 0xc3, 0x4f, 0x00, 0x00, 0x00, 0x01,
-	0x2a, 0x15, 0x00, 0x00, 0x00, 0x02, 0x2a, 0x16,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x2a, 0x5d,
-	0x00, 0x43, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x79,
-	0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68,
-	0x00, 0x74, 0x00, 0x20, 0x00, 0x54, 0x00, 0x65,
-	0x00, 0x63, 0x00, 0x68, 0x00, 0x6e, 0x00, 0x6f,
-	0x00, 0x54, 0x00, 0x72, 0x00, 0x65, 0x00, 0x6e,
-	0x00, 0x64, 0x00, 0x20, 0x00, 0x41, 0x00, 0x47,
-	0x00, 0x00, 0x00, 0x04, 0x2a, 0x76, 0x00, 0x30,
-	0x00, 0x2e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x0c,
-	0x2a, 0x7a, 0x00, 0x46, 0x00, 0x65, 0x00, 0x62,
-	0x00, 0x20, 0x00, 0x32, 0x00, 0x37, 0x00, 0x20,
-	0x00, 0x32, 0x00, 0x30, 0x00, 0x30, 0x00, 0x31,
-	0x00, 0x00, 0x00, 0x09, 0x2a, 0x86, 0x00, 0x31,
-	0x00, 0x34, 0x00, 0x3a, 0x00, 0x33, 0x00, 0x35,
-	0x00, 0x3a, 0x00, 0x33, 0x00, 0x33, 0x00, 0x00,
-	0x00, 0x0f, 0x2a, 0x8f, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x01, 0x2a, 0x9e, 0x00, 0x00,
-	0x00, 0x01, 0x2a, 0x9f, 0x00, 0x00, 0x00, 0x01,
-	0x2a, 0xa0, 0x00, 0x00, 0x00, 0x01, 0x2a, 0xa1,
-	0x00, 0x00, 0x00, 0x01, 0x2a, 0xa2, 0x00, 0x00,
-	0x00, 0x01, 0x29, 0x7e, 0x00, 0x00, 0x00, 0x02,
-	0x29, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
-	0x29, 0x82, 0xff, 0xff, 0x00, 0x01, 0x2a, 0xa7,
-	0x00, 0x00, 0x00, 0x05, 0x2a, 0xa8, 0x71, 0x41,
-	0x20, 0x00, 0x20, 0x00, 0x00, 0x23, 0x04, 0x00,
-	0x00, 0x0a, 0x2a, 0xad, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x0f, 0x2a, 0xb7, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x40, 0x00, 0xa0, 0x82, 0x40,
-	0x00, 0x08, 0x30, 0x7f, 0x00, 0x80, 0x01, 0x80,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x01, 0x27, 0x6e, 0x00, 0x00,
-	0x00, 0x01, 0x27, 0x6f, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x09, 0x00, 0x00, 0x1a, 0x83, 0x04, 0xe8,
-	0x04, 0xcf, 0x04, 0xc5, 0x04, 0xba, 0x04, 0xb0,
-	0x04, 0xac, 0x04, 0x9c, 0x04, 0x8c, 0x04, 0x81,
-	0x00, 0x78, 0x00, 0x00, 0x01, 0x00, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xaa, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x02, 0x23, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x05, 0xe5, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x02, 0xb5, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x0e, 0x33, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73,
-	0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0x00, 0x00,
-};
-
diff --git a/drivers/media/dvb/ttusb-dec/Kconfig b/drivers/media/dvb/ttusb-dec/Kconfig
index 0712899e39a4..a23cc0aa17d3 100644
--- a/drivers/media/dvb/ttusb-dec/Kconfig
+++ b/drivers/media/dvb/ttusb-dec/Kconfig
@@ -1,6 +1,6 @@
 config DVB_TTUSB_DEC
 	tristate "Technotrend/Hauppauge USB DEC devices"
-	depends on DVB_CORE && USB
+	depends on DVB_CORE && USB && INPUT
 	depends on HOTPLUG	# due to FW_LOADER
 	select FW_LOADER
 	select CRC32
diff --git a/drivers/media/dvb/ttusb-dec/ttusb_dec.c b/drivers/media/dvb/ttusb-dec/ttusb_dec.c
index 42eee04daa5d..de5829b863fd 100644
--- a/drivers/media/dvb/ttusb-dec/ttusb_dec.c
+++ b/drivers/media/dvb/ttusb-dec/ttusb_dec.c
@@ -343,7 +343,7 @@ static int ttusb_dec_get_stb_state (struct ttusb_dec *dec, unsigned int *mode,
 	u8 c[COMMAND_PACKET_SIZE];
 	int c_length;
 	int result;
-	unsigned int tmp;
+	__be32 tmp;
 
 	dprintk("%s\n", __func__);
 
@@ -398,9 +398,9 @@ static void ttusb_dec_set_pids(struct ttusb_dec *dec)
 		   0x00, 0x00, 0xff, 0xff,
 		   0xff, 0xff, 0xff, 0xff };
 
-	u16 pcr = htons(dec->pid[DMX_PES_PCR]);
-	u16 audio = htons(dec->pid[DMX_PES_AUDIO]);
-	u16 video = htons(dec->pid[DMX_PES_VIDEO]);
+	__be16 pcr = htons(dec->pid[DMX_PES_PCR]);
+	__be16 audio = htons(dec->pid[DMX_PES_AUDIO]);
+	__be16 video = htons(dec->pid[DMX_PES_VIDEO]);
 
 	dprintk("%s\n", __func__);
 
@@ -435,7 +435,7 @@ static void ttusb_dec_process_pva(struct ttusb_dec *dec, u8 *pva, int length)
 	case 0x01: {		/* VideoStream */
 		int prebytes = pva[5] & 0x03;
 		int postbytes = (pva[5] & 0x0c) >> 2;
-		u16 v_pes_payload_length;
+		__be16 v_pes_payload_length;
 
 		if (output_pva) {
 			dec->video_filter->feed->cb.ts(pva, length, NULL, 0,
@@ -1006,7 +1006,7 @@ static int ttusb_dec_start_sec_feed(struct dvb_demux_feed *dvbdmxfeed)
 		    0x00, 0x00, 0x00, 0x00,
 		    0x00, 0x00, 0x00, 0x00,
 		    0x00 };
-	u16 pid;
+	__be16 pid;
 	u8 c[COMMAND_PACKET_SIZE];
 	int c_length;
 	int result;
@@ -1275,12 +1275,13 @@ static int ttusb_dec_boot_dsp(struct ttusb_dec *dec)
 	u8 b1[] = { 0x61 };
 	u8 *b;
 	char idstring[21];
-	u8 *firmware = NULL;
+	const u8 *firmware = NULL;
 	size_t firmware_size = 0;
 	u16 firmware_csum = 0;
-	u16 firmware_csum_ns;
-	u32 firmware_size_nl;
-	u32 crc32_csum, crc32_check, tmp;
+	__be16 firmware_csum_ns;
+	__be32 firmware_size_nl;
+	u32 crc32_csum, crc32_check;
+	__be32 tmp;
 	const struct firmware *fw_entry = NULL;
 
 	dprintk("%s\n", __func__);
@@ -1306,7 +1307,7 @@ static int ttusb_dec_boot_dsp(struct ttusb_dec *dec)
 	   valid. */
 	crc32_csum = crc32(~0L, firmware, 56) ^ ~0L;
 	memcpy(&tmp, &firmware[56], 4);
-	crc32_check = htonl(tmp);
+	crc32_check = ntohl(tmp);
 	if (crc32_csum != crc32_check) {
 		printk("%s: crc32 check of DSP code failed (calculated "
 		       "0x%08x != 0x%08x in file), file invalid.\n",
@@ -1627,7 +1628,7 @@ static int ttusb_dec_probe(struct usb_interface *intf,
 
 	usb_set_intfdata(intf, (void *)dec);
 
-	switch (le16_to_cpu(id->idProduct)) {
+	switch (id->idProduct) {
 	case 0x1006:
 		ttusb_dec_set_model(dec, TTUSB_DEC3000S);
 		break;
@@ -1652,7 +1653,7 @@ static int ttusb_dec_probe(struct usb_interface *intf,
 	ttusb_dec_init_dvb(dec);
 
 	dec->adapter.priv = dec;
-	switch (le16_to_cpu(id->idProduct)) {
+	switch (id->idProduct) {
 	case 0x1006:
 		dec->fe = ttusbdecfe_dvbs_attach(&fe_config);
 		break;
diff --git a/drivers/media/dvb/ttusb-dec/ttusbdecfe.c b/drivers/media/dvb/ttusb-dec/ttusbdecfe.c
index eb5eaeccd7c4..443af24097f3 100644
--- a/drivers/media/dvb/ttusb-dec/ttusbdecfe.c
+++ b/drivers/media/dvb/ttusb-dec/ttusbdecfe.c
@@ -86,7 +86,7 @@ static int ttusbdecfe_dvbt_set_frontend(struct dvb_frontend* fe, struct dvb_fron
 		   0x00, 0x00, 0x00, 0xff,
 		   0x00, 0x00, 0x00, 0xff };
 
-	u32 freq = htonl(p->frequency / 1000);
+	__be32 freq = htonl(p->frequency / 1000);
 	memcpy(&b[4], &freq, sizeof (u32));
 	state->config->send_command(fe, 0x71, sizeof(b), b, NULL, NULL);
 
@@ -117,10 +117,10 @@ static int ttusbdecfe_dvbs_set_frontend(struct dvb_frontend* fe, struct dvb_fron
 		   0x00, 0x00, 0x00, 0x00,
 		   0x00, 0x00, 0x00, 0x00,
 		   0x00, 0x00, 0x00, 0x00 };
-	u32 freq;
-	u32 sym_rate;
-	u32 band;
-	u32 lnb_voltage;
+	__be32 freq;
+	__be32 sym_rate;
+	__be32 band;
+	__be32 lnb_voltage;
 
 	freq = htonl(p->frequency +
 	       (state->hi_band ? LOF_HI : LOF_LO));