summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-01-21 22:34:01 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-01-21 22:34:01 +0000
commit9e30c3705aed9fbec4c3304570e4d6e707856bcb (patch)
treeb19e6acb5a67af31a4e7742e05c2166dc3f1444c /drivers/net
parent72919904796333a20c6a5d5c380091b42e407aa9 (diff)
Merge with Linux 2.3.22.
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/3c509.c1
-rw-r--r--drivers/net/Config.in6
-rw-r--r--drivers/net/Makefile8
-rw-r--r--drivers/net/ne.c60
-rw-r--r--drivers/net/ppp_generic.c102
-rw-r--r--drivers/net/tokenring/Config.in2
-rw-r--r--drivers/net/tokenring/Makefile8
-rw-r--r--drivers/net/tokenring/sktr.c2707
-rw-r--r--drivers/net/tokenring/sktr.h1103
-rw-r--r--drivers/net/tokenring/sktr_firmware.h3616
-rw-r--r--drivers/net/tokenring/tms380tr.c2749
-rw-r--r--drivers/net/tokenring/tms380tr.h1109
-rw-r--r--drivers/net/tokenring/tms380tr_microcode.h3622
-rw-r--r--drivers/net/wan/cosa.c74
-rw-r--r--drivers/net/wan/cycx_x25.c50
-rw-r--r--drivers/net/wan/sbni.c20
16 files changed, 7705 insertions, 7532 deletions
diff --git a/drivers/net/3c509.c b/drivers/net/3c509.c
index a6bbd842f..fbd4503bd 100644
--- a/drivers/net/3c509.c
+++ b/drivers/net/3c509.c
@@ -902,6 +902,7 @@ static int xcvr[] = {-1, -1, -1, -1, -1, -1, -1, -1};
MODULE_PARM(debug,"i");
MODULE_PARM(irq,"1-8i");
MODULE_PARM(xcvr,"1-8i");
+MODULE_PARM(max_interrupt_work, "i");
int
init_module(void)
diff --git a/drivers/net/Config.in b/drivers/net/Config.in
index 5dfea0a88..d54f8fd30 100644
--- a/drivers/net/Config.in
+++ b/drivers/net/Config.in
@@ -133,9 +133,9 @@ if [ "$CONFIG_NET_ETHERNET" = "y" ]; then
bool ' EISA, VLB, PCI and on board controllers' CONFIG_NET_EISA
if [ "$CONFIG_NET_EISA" = "y" ]; then
tristate ' AMD PCnet32 (VLB and PCI) support' CONFIG_PCNET32
-# if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
-# tristate ' Adaptec Starfire support (EXPERIMENTAL)' CONFIG_ADAPTEC_STARFIRE
-# fi
+ if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
+ tristate ' Adaptec Starfire support (EXPERIMENTAL)' CONFIG_ADAPTEC_STARFIRE
+ fi
tristate ' Alteon AceNIC/3Com 3C985/NetGear GA620 Gigabit support' CONFIG_ACENIC
if [ "$CONFIG_ACENIC" != "n" ]; then
bool ' Omit support for old Tigon I based AceNICs' CONFIG_ACENIC_OMIT_TIGON_I
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index 4c40cdcac..336d081b3 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
@@ -1039,6 +1039,14 @@ else
endif
endif
+ifeq ($(CONFIG_ADAPTEC_STARFIRE),y)
+L_OBJS += starfire.o
+else
+ ifeq ($(CONFIG_ADAPTEC_STARFIRE),m)
+ M_OBJS += starfire.o
+ endif
+endif
+
#
# HIPPI adapters
#
diff --git a/drivers/net/ne.c b/drivers/net/ne.c
index ae8a4fbdc..58573948c 100644
--- a/drivers/net/ne.c
+++ b/drivers/net/ne.c
@@ -28,7 +28,8 @@
rjohnson@analogic.com : Changed init order so an interrupt will only
occur after memory is allocated for dev->priv. Deallocated memory
last in cleanup_modue()
-
+ Richard Guenther : Added support for ISAPnP cards
+
*/
/* Routines for the NatSemi-based designs (NE[12]000). */
@@ -43,6 +44,7 @@ static const char *version =
#include <linux/sched.h>
#include <linux/errno.h>
#include <linux/pci.h>
+#include <linux/isapnp.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <asm/system.h>
@@ -90,6 +92,13 @@ pci_clone_list[] __initdata = {
static int probe_pci = 1;
#endif
+static struct { unsigned short vendor, function; char *name; }
+isapnp_clone_list[] __initdata = {
+ {ISAPNP_VENDOR('E','D','I'), ISAPNP_FUNCTION(0x0216), "NN NE2000" },
+ {ISAPNP_VENDOR('P','N','P'), ISAPNP_FUNCTION(0x80d6), "Generic PNP" },
+ {0,}
+};
+
#ifdef SUPPORT_NE_BAD_CLONES
/* A list of bad clones that we none-the-less recognize. */
static struct { const char *name8, *name16; unsigned char SAprefix[4];}
@@ -128,6 +137,7 @@ static unsigned int pci_irq_line = 0;
int ne_probe(struct net_device *dev);
static int ne_probe1(struct net_device *dev, int ioaddr);
+static int ne_probe_isapnp(struct net_device *dev);
#ifdef CONFIG_PCI
static int ne_probe_pci(struct net_device *dev);
#endif
@@ -193,6 +203,10 @@ int __init ne_probe(struct net_device *dev)
return 0;
#endif
+ /* Then look for any installed ISAPnP clones */
+ if (isapnp_present() && (ne_probe_isapnp(dev) == 0))
+ return 0;
+
#ifndef MODULE
/* Last resort. The semi-risky ISA auto-probe. */
for (base_addr = 0; netcard_portlist[base_addr] != 0; base_addr++) {
@@ -243,6 +257,46 @@ static int __init ne_probe_pci(struct net_device *dev)
}
#endif /* CONFIG_PCI */
+static int __init ne_probe_isapnp(struct net_device *dev)
+{
+ int i;
+
+ for (i = 0; isapnp_clone_list[i].vendor != 0; i++) {
+ struct pci_dev *idev = NULL;
+
+ while ((idev = isapnp_find_dev(NULL,
+ isapnp_clone_list[i].vendor,
+ isapnp_clone_list[i].function,
+ idev))) {
+ /* Avoid already found cards from previous calls */
+ if (idev->prepare(idev))
+ continue;
+ if (idev->activate(idev))
+ continue;
+ pci_irq_line = idev->irq_resource[0].start;
+ /* if no irq, search for next */
+ if (!pci_irq_line)
+ continue;
+ /* found it */
+ if (ne_probe1(dev, idev->resource[0].start) != 0) { /* Shouldn't happen. */
+ printk(KERN_ERR "ne.c: Probe of ISAPnP card at %#lx failed.\n",
+ idev->resource[0].start);
+ return -ENXIO;
+ }
+ ei_status.priv = (unsigned long)idev;
+ break;
+ }
+ if (!idev)
+ continue;
+ printk(KERN_INFO "ne.c: ISAPnP reports %s at i/o %#lx, irq %d.\n",
+ isapnp_clone_list[i].name,
+ dev->base_addr, dev->irq);
+ return 0;
+ }
+
+ return -ENODEV;
+}
+
static int __init ne_probe1(struct net_device *dev, int ioaddr)
{
int i;
@@ -491,6 +545,7 @@ static int __init ne_probe1(struct net_device *dev, int ioaddr)
ei_status.block_input = &ne_block_input;
ei_status.block_output = &ne_block_output;
ei_status.get_8390_hdr = &ne_get_8390_hdr;
+ ei_status.priv = 0;
dev->open = &ne_open;
dev->stop = &ne_close;
NS8390_init(dev, 0);
@@ -819,6 +874,9 @@ void cleanup_module(void)
struct net_device *dev = &dev_ne[this_dev];
if (dev->priv != NULL) {
void *priv = dev->priv;
+ struct pci_dev *idev = (struct pci_dev *)ei_status.priv;
+ if (idev)
+ idev->deactivate(idev);
free_irq(dev->irq, dev);
release_region(dev->base_addr, NE_IO_EXTENT);
unregister_netdev(dev);
diff --git a/drivers/net/ppp_generic.c b/drivers/net/ppp_generic.c
index 32851a5d8..19b0c5819 100644
--- a/drivers/net/ppp_generic.c
+++ b/drivers/net/ppp_generic.c
@@ -19,10 +19,10 @@
* PPP driver, written by Michael Callahan and Al Longyear, and
* subsequently hacked by Paul Mackerras.
*
- * ==FILEVERSION 990806==
+ * ==FILEVERSION 990915==
*/
-/* $Id: ppp_generic.c,v 1.3 1999/09/02 05:30:12 paulus Exp $ */
+/* $Id: ppp_generic.c,v 1.5 1999/09/15 11:21:48 paulus Exp $ */
#include <linux/config.h>
#include <linux/module.h>
@@ -131,7 +131,7 @@ struct channel {
#define PPP_MAX_RQLEN 32
/* Prototypes. */
-static void ppp_xmit_unlock(struct ppp *ppp);
+static void ppp_xmit_unlock(struct ppp *ppp, int do_mark_bh);
static void ppp_send_frame(struct ppp *ppp, struct sk_buff *skb);
static void ppp_push(struct ppp *ppp);
static void ppp_recv_unlock(struct ppp *ppp);
@@ -199,6 +199,13 @@ static const int npindex_to_ethertype[NUM_NP] = {
/*
* Routines for locking and unlocking the transmit and receive paths
* of each unit.
+ *
+ * On the transmit side, we have threads of control coming into the
+ * driver from (at least) three places: the core net code, write calls
+ * on /dev/ppp from pppd, and wakeup calls from channels. There is
+ * possible concurrency even on UP systems (between mainline and
+ * BH processing). The XMIT_BUSY bit in ppp->busy serializes the
+ * transmit-side processing for each ppp unit.
*/
static inline void
lock_path(struct ppp *ppp, int bit)
@@ -329,16 +336,20 @@ static ssize_t ppp_write(struct file *file, const char *buf,
struct ppp *ppp = (struct ppp *) file->private_data;
struct sk_buff *skb;
ssize_t ret;
+ int extra;
ret = -ENXIO;
if (ppp == 0)
goto out;
ret = -ENOMEM;
- skb = alloc_skb(count + 2, GFP_KERNEL);
+ extra = PPP_HDRLEN - 2;
+ if (ppp->dev && ppp->dev->hard_header_len > PPP_HDRLEN)
+ extra = ppp->dev->hard_header_len - 2;
+ skb = alloc_skb(count + extra, GFP_KERNEL);
if (skb == 0)
goto out;
- skb_reserve(skb, 2);
+ skb_reserve(skb, extra);
ret = -EFAULT;
if (copy_from_user(skb_put(skb, count), buf, count)) {
kfree_skb(skb);
@@ -347,7 +358,7 @@ static ssize_t ppp_write(struct file *file, const char *buf,
skb_queue_tail(&ppp->xq, skb);
if (trylock_xmit_path(ppp))
- ppp_xmit_unlock(ppp);
+ ppp_xmit_unlock(ppp, 1);
ret = count;
@@ -490,7 +501,7 @@ static int ppp_ioctl(struct inode *inode, struct file *file,
slhc_free(ppp->vj);
ppp->vj = slhc_init(val2+1, val+1);
ppp_recv_unlock(ppp);
- ppp_xmit_unlock(ppp);
+ ppp_xmit_unlock(ppp, 1);
err = -ENOMEM;
if (ppp->vj == 0) {
printk(KERN_ERR "PPP: no memory (VJ compressor)\n");
@@ -580,10 +591,6 @@ ppp_start_xmit(struct sk_buff *skb, struct net_device *dev)
int npi, proto;
unsigned char *pp;
- if (skb == 0)
- return 0;
- /* can skb->data ever be 0? */
-
npi = ethertype_to_npindex(ntohs(skb->protocol));
if (npi < 0)
goto outf;
@@ -601,30 +608,15 @@ ppp_start_xmit(struct sk_buff *skb, struct net_device *dev)
goto outf;
}
- /* The transmit side of the ppp interface is serialized by
- the XMIT_BUSY bit in ppp->busy. */
- if (!trylock_xmit_path(ppp)) {
- dev->tbusy = 1;
- return 1;
- }
- if (ppp->xmit_pending)
- ppp_push(ppp);
- if (ppp->xmit_pending) {
- dev->tbusy = 1;
- ppp_xmit_unlock(ppp);
- return 1;
- }
- dev->tbusy = 0;
-
/* Put the 2-byte PPP protocol number on the front,
making sure there is room for the address and control fields. */
if (skb_headroom(skb) < PPP_HDRLEN) {
struct sk_buff *ns;
- ns = alloc_skb(skb->len + PPP_HDRLEN, GFP_ATOMIC);
+ ns = alloc_skb(skb->len + dev->hard_header_len, GFP_ATOMIC);
if (ns == 0)
- goto outnbusy;
- skb_reserve(ns, PPP_HDRLEN);
+ goto outf;
+ skb_reserve(ns, dev->hard_header_len);
memcpy(skb_put(ns, skb->len), skb->data, skb->len);
kfree_skb(skb);
skb = ns;
@@ -634,13 +626,16 @@ ppp_start_xmit(struct sk_buff *skb, struct net_device *dev)
pp[0] = proto >> 8;
pp[1] = proto;
- ppp_send_frame(ppp, skb);
- ppp_xmit_unlock(ppp);
+ /*
+ * ppp->xq should only ever have more than 1 data packet on it
+ * if the core net code calls us when dev->tbusy == 1.
+ */
+ dev->tbusy = 1;
+ skb_queue_tail(&ppp->xq, skb);
+ if (trylock_xmit_path(ppp))
+ ppp_xmit_unlock(ppp, 0);
return 0;
- outnbusy:
- ppp_xmit_unlock(ppp);
-
outf:
kfree_skb(skb);
return 0;
@@ -723,20 +718,34 @@ ppp_net_init(struct net_device *dev)
* making sure that any work queued up gets done.
*/
static void
-ppp_xmit_unlock(struct ppp *ppp)
+ppp_xmit_unlock(struct ppp *ppp, int do_mark_bh)
{
struct sk_buff *skb;
for (;;) {
+ /* Do whatever work is waiting to be done. */
if (test_and_clear_bit(XMIT_WAKEUP, &ppp->busy))
ppp_push(ppp);
+ /* If there's no work left to do, tell the core net
+ code that we can accept some more. */
while (ppp->xmit_pending == 0
&& (skb = skb_dequeue(&ppp->xq)) != 0)
ppp_send_frame(ppp, skb);
+ if (ppp->xmit_pending == 0 && skb_peek(&ppp->xq) == 0
+ && ppp->dev->tbusy) {
+ ppp->dev->tbusy = 0;
+ if (do_mark_bh)
+ mark_bh(NET_BH);
+ }
+ /* Now unlock the transmit path, let others in. */
unlock_xmit_path(ppp);
+ /* Check whether any work was queued up
+ between our last check and the unlock. */
if (!(test_bit(XMIT_WAKEUP, &ppp->busy)
|| (ppp->xmit_pending == 0 && skb_peek(&ppp->xq))))
break;
+ /* If so, lock again and do the work. If we can't get
+ the lock, someone else has it and they'll do the work. */
if (!trylock_xmit_path(ppp))
break;
}
@@ -763,12 +772,13 @@ ppp_send_frame(struct ppp *ppp, struct sk_buff *skb)
if (ppp->vj == 0 || (ppp->flags & SC_COMP_TCP) == 0)
break;
/* try to do VJ TCP header compression */
- new_skb = alloc_skb(skb->len + 2, GFP_ATOMIC);
+ new_skb = alloc_skb(skb->len + ppp->dev->hard_header_len - 2,
+ GFP_ATOMIC);
if (new_skb == 0) {
printk(KERN_ERR "PPP: no memory (VJ comp pkt)\n");
goto drop;
}
- skb_reserve(new_skb, 2);
+ skb_reserve(new_skb, ppp->dev->hard_header_len - 2);
cp = skb->data + 2;
len = slhc_compress(ppp->vj, cp, skb->len - 2,
new_skb->data + 2, &cp,
@@ -801,11 +811,15 @@ ppp_send_frame(struct ppp *ppp, struct sk_buff *skb)
/* try to do packet compression */
if ((ppp->xstate & SC_COMP_RUN) && ppp->xc_state != 0
&& proto != PPP_LCP && proto != PPP_CCP) {
- new_skb = alloc_skb(ppp->dev->mtu + PPP_HDRLEN, GFP_ATOMIC);
+ new_skb = alloc_skb(ppp->dev->mtu + ppp->dev->hard_header_len,
+ GFP_ATOMIC);
if (new_skb == 0) {
printk(KERN_ERR "PPP: no memory (comp pkt)\n");
goto drop;
}
+ if (ppp->dev->hard_header_len > PPP_HDRLEN)
+ skb_reserve(new_skb,
+ ppp->dev->hard_header_len - PPP_HDRLEN);
/* compressor still expects A/C bytes in hdr */
len = ppp->xcomp->compress(ppp->xc_state, skb->data - 2,
@@ -1120,6 +1134,8 @@ ppp_register_channel(struct ppp_channel *chan, int unit)
list_add(&pch->list, &ppp->channels);
chan->ppp = pch;
++ppp->n_channels;
+ if (ppp->dev && chan->hdrlen + PPP_HDRLEN > ppp->dev->hard_header_len)
+ ppp->dev->hard_header_len = chan->hdrlen + PPP_HDRLEN;
ret = 0;
out:
spin_unlock(&all_ppp_lock);
@@ -1160,11 +1176,7 @@ ppp_output_wakeup(struct ppp_channel *chan)
pch->blocked = 0;
set_bit(XMIT_WAKEUP, &ppp->busy);
if (trylock_xmit_path(ppp))
- ppp_xmit_unlock(ppp);
- if (ppp->xmit_pending == 0) {
- ppp->dev->tbusy = 0;
- mark_bh(NET_BH);
- }
+ ppp_xmit_unlock(ppp, 1);
}
/*
@@ -1215,7 +1227,7 @@ ppp_set_compress(struct ppp *ppp, unsigned long arg)
ppp->xcomp = cp;
ppp->xc_state = cp->comp_alloc(ccp_option, data.length);
- ppp_xmit_unlock(ppp);
+ ppp_xmit_unlock(ppp, 1);
if (ppp->xc_state == 0)
goto out;
@@ -1321,7 +1333,7 @@ ppp_ccp_closed(struct ppp *ppp)
ppp->xcomp->comp_free(ppp->xc_state);
ppp->xc_state = 0;
}
- ppp_xmit_unlock(ppp);
+ ppp_xmit_unlock(ppp, 1);
lock_recv_path(ppp);
ppp->xstate &= ~SC_DECOMP_RUN;
diff --git a/drivers/net/tokenring/Config.in b/drivers/net/tokenring/Config.in
index 8b3065c8a..2a4e4907d 100644
--- a/drivers/net/tokenring/Config.in
+++ b/drivers/net/tokenring/Config.in
@@ -9,7 +9,7 @@ bool 'Token Ring driver support' CONFIG_TR
if [ "$CONFIG_TR" = "y" ]; then
tristate ' IBM Tropic chipset based adapter support' CONFIG_IBMTR
tristate ' IBM Olympic chipset PCI adapter support' CONFIG_IBMOL
- tristate ' SysKonnect adapter support' CONFIG_SKTR
+ tristate ' Generic TMS380 Token Ring ISA/PCI adapter support' CONFIG_TMS380TR
fi
endmenu
diff --git a/drivers/net/tokenring/Makefile b/drivers/net/tokenring/Makefile
index 038c58b86..f76e996ff 100644
--- a/drivers/net/tokenring/Makefile
+++ b/drivers/net/tokenring/Makefile
@@ -39,11 +39,11 @@ else
endif
endif
-ifeq ($(CONFIG_SKTR),y)
- L_OBJS += sktr.o
+ifeq ($(CONFIG_TMS380TR),y)
+ L_OBJS += tms380tr.o
else
- ifeq ($(CONFIG_SKTR),m)
- M_OBJS += sktr.o
+ ifeq ($(CONFIG_TMS380TR),m)
+ M_OBJS += tms380tr.o
endif
endif
diff --git a/drivers/net/tokenring/sktr.c b/drivers/net/tokenring/sktr.c
index 81b2df4bc..e69de29bb 100644
--- a/drivers/net/tokenring/sktr.c
+++ b/drivers/net/tokenring/sktr.c
@@ -1,2707 +0,0 @@
-/*
- * sktr.c: A network driver for the SysKonnect Token Ring ISA/PCI Adapters.
- *
- * Written 1997 by Christoph Goos
- *
- * A fine result of the Linux Systems Network Architecture Project.
- * http://samba.anu.edu.au/linux-sna/
- *
- * This software may be used and distributed according to the terms
- * of the GNU Public License, incorporated herein by reference.
- *
- * This device driver works with the following SysKonnect adapters:
- * - SysKonnect TR4/16(+) ISA (SK-4190)
- * - SysKonnect TR4/16(+) PCI (SK-4590)
- * - SysKonnect TR4/16 PCI (SK-4591)
- *
- * Sources:
- * - The hardware related parts of this driver are take from
- * the SysKonnect Token Ring driver for Windows NT.
- * - I used the IBM Token Ring driver 'ibmtr.c' as a base for this
- * driver, as well as the 'skeleton.c' driver by Donald Becker.
- * - Also various other drivers in the linux source tree were taken
- * as samples for some tasks.
- *
- * Maintainer(s):
- * JS Jay Schulist jschlst@samba.anu.edu.au
- * CG Christoph Goos cgoos@syskonnect.de
- * AF Adam Fritzler mid@auk.cx
- *
- * Modification History:
- * 29-Aug-97 CG Created
- * 04-Apr-98 CG Fixed problems caused by tok_timer_check
- * 10-Apr-98 CG Fixed lockups at cable disconnection
- * 27-May-98 JS Formated to Linux Kernel Format
- * 31-May-98 JS Hacked in PCI support
- * 16-Jun-98 JS Modulized for multiple cards with one driver
- * 21-Sep-99 CG Fixed source routing issues for 2.2 kernels
- * 21-Sep-99 AF Added multicast changes recommended by
- * Jochen Friedrich <jochen@nwe.de> (untested)
- * Added detection of compatible Compaq PCI card
- *
- * To do:
- * 1. Selectable 16 Mbps or 4Mbps
- * 2. Multi/Broadcast packet handling (might be done)
- *
- */
-
-static const char *version = "sktr.c: v1.01 08/29/97 by Christoph Goos\n";
-
-#ifdef MODULE
-#include <linux/module.h>
-#include <linux/version.h>
-#endif
-
-#include <linux/kernel.h>
-#include <linux/sched.h>
-#include <linux/types.h>
-#include <linux/fcntl.h>
-#include <linux/interrupt.h>
-#include <linux/ptrace.h>
-#include <linux/ioport.h>
-#include <linux/in.h>
-#include <linux/malloc.h>
-#include <linux/string.h>
-#include <linux/time.h>
-#include <asm/system.h>
-#include <asm/bitops.h>
-#include <asm/io.h>
-#include <asm/dma.h>
-#include <asm/irq.h>
-#include <linux/errno.h>
-#include <linux/init.h>
-#include <linux/pci.h>
-
-#include <linux/netdevice.h>
-#include <linux/etherdevice.h>
-#include <linux/skbuff.h>
-#include <linux/trdevice.h>
-
-#include "sktr.h" /* Our Stuff */
-#include "sktr_firmware.h" /* SysKonnect adapter firmware */
-
-/* A zero-terminated list of I/O addresses to be probed. */
-static unsigned int sktr_portlist[] __initdata = {
- 0x0A20, 0x1A20, 0x0B20, 0x1B20, 0x0980, 0x1980, 0x0900, 0x1900,
- 0
-};
-
-/* A zero-terminated list of IRQs to be probed.
- * Used again after initial probe for sktr_chipset_init, called from sktr_open.
- */
-static unsigned short sktr_irqlist[] = {
- 3, 5, 9, 10, 11, 12, 15,
- 0
-};
-
-/* A zero-terminated list of DMAs to be probed. */
-static int sktr_dmalist[] __initdata = {
- 5, 6, 7,
- 0
-};
-
-/* Card names */
-static char *pci_cardname = "SK NET TR 4/16 PCI\0";
-static char *isa_cardname = "SK NET TR 4/16 ISA\0";
-static char *AdapterName;
-
-/* Use 0 for production, 1 for verification, 2 for debug, and
- * 3 for very verbose debug.
- */
-#ifndef SKTR_DEBUG
-#define SKTR_DEBUG 1
-#endif
-static unsigned int sktr_debug = SKTR_DEBUG;
-
-/* The number of low I/O ports used by the tokencard. */
-#define SKTR_IO_EXTENT 32
-
-/* Index to functions, as function prototypes.
- * Alphabetical by function name.
- */
-
-/* "B" */
-static int sktr_bringup_diags(struct net_device *dev);
-/* "C" */
-static void sktr_cancel_tx_queue(struct net_local* tp);
-static int sktr_chipset_init(struct net_device *dev);
-static void sktr_chk_irq(struct net_device *dev);
-static unsigned char sktr_chk_frame(struct net_device *dev, unsigned char *Addr);
-static void sktr_chk_outstanding_cmds(struct net_device *dev);
-static void sktr_chk_src_addr(unsigned char *frame, unsigned char *hw_addr);
-static unsigned char sktr_chk_ssb(struct net_local *tp, unsigned short IrqType);
-static int sktr_close(struct net_device *dev);
-static void sktr_cmd_status_irq(struct net_device *dev);
-/* "D" */
-static void sktr_disable_interrupts(struct net_device *dev);
-static void sktr_dump(unsigned char *Data, int length);
-/* "E" */
-static void sktr_enable_interrupts(struct net_device *dev);
-static void sktr_exec_cmd(struct net_device *dev, unsigned short Command);
-static void sktr_exec_sifcmd(struct net_device *dev, unsigned int WriteValue);
-/* "F" */
-/* "G" */
-static struct enet_statistics *sktr_get_stats(struct net_device *dev);
-/* "H" */
-static void sktr_hardware_send_packet(struct net_device *dev,
- struct net_local* tp);
-/* "I" */
-static int sktr_init_adapter(struct net_device *dev);
-static int sktr_init_card(struct net_device *dev);
-static void sktr_init_ipb(struct net_local *tp);
-static void sktr_init_net_local(struct net_device *dev);
-static void sktr_init_opb(struct net_local *tp);
-static void sktr_interrupt(int irq, void *dev_id, struct pt_regs *regs);
-static int sktr_isa_chk_card(struct net_device *dev, int ioaddr);
-static int sktr_isa_chk_ioaddr(int ioaddr);
-/* "O" */
-static int sktr_open(struct net_device *dev);
-static void sktr_open_adapter(struct net_device *dev);
-/* "P" */
-static int sktr_pci_chk_card(struct net_device *dev);
-int sktr_probe(struct net_device *dev);
-static int sktr_probe1(struct net_device *dev, int ioaddr);
-/* "R" */
-static void sktr_rcv_status_irq(struct net_device *dev);
-static void sktr_read_addr(struct net_device *dev, unsigned char *Address);
-static void sktr_read_ptr(struct net_device *dev);
-static void sktr_read_ram(struct net_device *dev, unsigned char *Data,
- unsigned short Address, int Length);
-static int sktr_reset_adapter(struct net_device *dev);
-static void sktr_reset_interrupt(struct net_device *dev);
-static void sktr_ring_status_irq(struct net_device *dev);
-/* "S" */
-static int sktr_send_packet(struct sk_buff *skb, struct net_device *dev);
-static void sktr_set_multicast_list(struct net_device *dev);
-/* "T" */
-static void sktr_timer_chk(unsigned long data);
-static void sktr_timer_end_wait(unsigned long data);
-static void sktr_tx_status_irq(struct net_device *dev);
-/* "U" */
-static void sktr_update_rcv_stats(struct net_local *tp,
- unsigned char DataPtr[], unsigned int Length);
-/* "W" */
-static void sktr_wait(unsigned long time);
-static void sktr_write_rpl_status(RPL *rpl, unsigned int Status);
-static void sktr_write_tpl_status(TPL *tpl, unsigned int Status);
-
-/*
- * Check for a network adapter of this type, and return '0' if one exists.
- * If dev->base_addr == 0, probe all likely locations.
- * If dev->base_addr == 1, always return failure.
- */
-int __init sktr_probe(struct net_device *dev)
-{
- int i;
- int base_addr = dev ? dev->base_addr : 0;
-
- if(base_addr > 0x1ff) /* Check a single specified location. */
- return (sktr_probe1(dev, base_addr));
- else if(base_addr != 0) /* Don't probe at all. */
- return (-ENXIO);
-
- for(i = 0; sktr_portlist[i]; i++)
- {
- int ioaddr = sktr_portlist[i];
- if(check_region(ioaddr, SKTR_IO_EXTENT))
- continue;
- if(sktr_probe1(dev, ioaddr))
- {
-#ifndef MODULE
- tr_freedev(dev);
-#endif
- }
- else
- return (0);
- }
-
- return (-ENODEV);
-}
-
-/*
- * Detect and setup the PCI SysKonnect TR cards in slot order.
- */
-static int __init sktr_pci_chk_card(struct net_device *dev)
-{
- static int pci_index = 0;
- unsigned char pci_bus, pci_device_fn;
-
- if(!pci_present())
- return (-1); /* No PCI present. */
-
- for(; pci_index < 0xff; pci_index++)
- {
- unsigned int pci_irq_line;
- struct pci_dev *pdev;
- unsigned short pci_command, new_command, vendor, device;
- unsigned int pci_ioaddr;
-
- if(pcibios_find_class(PCI_CLASS_NETWORK_TOKEN_RING << 8,
- pci_index, &pci_bus, &pci_device_fn)
- != PCIBIOS_SUCCESSFUL)
- {
- break;
- }
-
- pcibios_read_config_word(pci_bus, pci_device_fn,
- PCI_VENDOR_ID, &vendor);
- pcibios_read_config_word(pci_bus, pci_device_fn,
- PCI_DEVICE_ID, &device);
-
- pdev = pci_find_slot(pci_bus, pci_device_fn);
- pci_irq_line = pdev->irq;
- pci_ioaddr = pdev->resource[0].start;
-
- pcibios_read_config_word(pci_bus, pci_device_fn,
- PCI_COMMAND, &pci_command);
-
- /* Remove I/O space marker in bit 0. */
- pci_ioaddr &= ~3;
-
- if((vendor != PCI_VENDOR_ID_SK) &&
- (vendor != PCI_VENDOR_ID_COMPAQ))
- continue;
-
- if((vendor == PCI_VENDOR_ID_SK) &&
- (device != PCI_DEVICE_ID_SK_TR))
- continue;
- else if((vendor == PCI_VENDOR_ID_COMPAQ) &&
- (device != PCI_DEVICE_ID_COMPAQ_TOKENRING))
- continue;
-
- if(check_region(pci_ioaddr, SKTR_IO_EXTENT))
- continue;
- request_region(pci_ioaddr, SKTR_IO_EXTENT, pci_cardname);
- if(request_irq(pdev->irq, sktr_interrupt, SA_SHIRQ,
- pci_cardname, dev))
- return (-ENODEV); /* continue; ?? */
-
- AdapterName = pci_cardname;
-
- new_command = (pci_command|PCI_COMMAND_MASTER|PCI_COMMAND_IO);
-
- if(pci_command != new_command)
- {
- printk("The PCI BIOS has not enabled this"
- "device! Updating PCI command %4.4x->%4.4x.\n",
- pci_command, new_command);
- pcibios_write_config_word(pci_bus, pci_device_fn,
- PCI_COMMAND, new_command);
- }
-
- /* At this point we have found a valid PCI TR card. */
- dev->base_addr = pci_ioaddr;
- dev->irq = pci_irq_line;
- dev->dma = 0;
-
- printk("%s: %s found at %#4x, using IRQ %d.\n",
- dev->name, AdapterName, pci_ioaddr, dev->irq);
-
- return (0);
- }
-
- return (-1);
-}
-
-/*
- * Detect and setup the ISA SysKonnect TR cards.
- */
-static int __init sktr_isa_chk_card(struct net_device *dev, int ioaddr)
-{
- int i, err;
- unsigned long flags;
-
- err = sktr_isa_chk_ioaddr(ioaddr);
- if(err < 0)
- return (-ENODEV);
-
- if(virt_to_bus((void*)((unsigned long)dev->priv+sizeof(struct net_local)))
- > ISA_MAX_ADDRESS)
- {
- printk("%s: Memory not accessible for DMA\n", dev->name);
- kfree(dev->priv);
- return (-EAGAIN);
- }
-
- AdapterName = isa_cardname;
-
- /* Grab the region so that no one else tries to probe our ioports. */
- request_region(ioaddr, SKTR_IO_EXTENT, AdapterName);
- dev->base_addr = ioaddr;
-
- /* Autoselect IRQ and DMA if dev->irq == 0 */
- if(dev->irq == 0)
- {
- for(i = 0; sktr_irqlist[i] != 0; i++)
- {
- dev->irq = sktr_irqlist[i];
- err = request_irq(dev->irq, &sktr_interrupt, 0, AdapterName, dev);
- if(!err)
- break;
- }
-
- if(sktr_irqlist[i] == 0)
- {
- printk("%s: AutoSelect no IRQ available\n", dev->name);
- return (-EAGAIN);
- }
- }
- else
- {
- err = request_irq(dev->irq, &sktr_interrupt, 0, AdapterName, dev);
- if(err)
- {
- printk("%s: Selected IRQ not available\n", dev->name);
- return (-EAGAIN);
- }
- }
-
- /* Always allocate the DMA channel after IRQ and clean up on failure */
- if(dev->dma == 0)
- {
- for(i = 0; sktr_dmalist[i] != 0; i++)
- {
- dev->dma = sktr_dmalist[i];
- err = request_dma(dev->dma, AdapterName);
- if(!err)
- break;
- }
-
- if(dev->dma == 0)
- {
- printk("%s: AutoSelect no DMA available\n", dev->name);
- free_irq(dev->irq, NULL);
- return (-EAGAIN);
- }
- }
- else
- {
- err = request_dma(dev->dma, AdapterName);
- if(err)
- {
- printk("%s: Selected DMA not available\n", dev->name);
- free_irq(dev->irq, NULL);
- return (-EAGAIN);
- }
- }
-
- flags=claim_dma_lock();
- disable_dma(dev->dma);
- set_dma_mode(dev->dma, DMA_MODE_CASCADE);
- enable_dma(dev->dma);
- release_dma_lock(flags);
-
- printk("%s: %s found at %#4x, using IRQ %d and DMA %d.\n",
- dev->name, AdapterName, ioaddr, dev->irq, dev->dma);
-
- return (0);
-}
-
-static int __init sktr_probe1(struct net_device *dev, int ioaddr)
-{
- static unsigned version_printed = 0;
- struct net_local *tp;
- int DeviceType = SK_PCI;
- int err;
-
- if(sktr_debug && version_printed++ == 0)
- printk("%s", version);
-
-#ifndef MODULE
- dev = init_trdev(dev, 0);
- if(dev == NULL)
- return (-ENOMEM);
-#endif
-
- err = sktr_pci_chk_card(dev);
- if(err < 0)
- {
- err = sktr_isa_chk_card(dev, ioaddr);
- if(err < 0)
- return (-ENODEV);
- DeviceType = SK_ISA;
- }
-
- /* Setup this devices private information structure */
- tp = (struct net_local *)kmalloc(sizeof(struct net_local), GFP_KERNEL | GFP_DMA);
- if(tp == NULL)
- return (-ENOMEM);
- memset(tp, 0, sizeof(struct net_local));
- tp->DeviceType = DeviceType;
- init_waitqueue_head(&tp->wait_for_tok_int);
-
- dev->priv = tp;
- dev->init = sktr_init_card;
- dev->open = sktr_open;
- dev->stop = sktr_close;
- dev->hard_start_xmit = sktr_send_packet;
- dev->get_stats = sktr_get_stats;
- dev->set_multicast_list = &sktr_set_multicast_list;
-
- return (0);
-}
-
-/* Dummy function */
-static int __init sktr_init_card(struct net_device *dev)
-{
- if(sktr_debug > 3)
- printk("%s: sktr_init_card\n", dev->name);
-
- return (0);
-}
-
-/*
- * This function tests if an adapter is really installed at the
- * given I/O address. Return negative if no adapter at IO addr.
- */
-static int __init sktr_isa_chk_ioaddr(int ioaddr)
-{
- unsigned char old, chk1, chk2;
-
- old = inb(ioaddr + SIFADR); /* Get the old SIFADR value */
-
- chk1 = 0; /* Begin with check value 0 */
- do {
- /* Write new SIFADR value */
- outb(chk1, ioaddr + SIFADR);
-
- /* Read, invert and write */
- chk2 = inb(ioaddr + SIFADD);
- chk2 ^= 0x0FE;
- outb(chk2, ioaddr + SIFADR);
-
- /* Read, invert and compare */
- chk2 = inb(ioaddr + SIFADD);
- chk2 ^= 0x0FE;
-
- if(chk1 != chk2)
- return (-1); /* No adapter */
-
- chk1 -= 2;
- } while(chk1 != 0); /* Repeat 128 times (all byte values) */
-
- /* Restore the SIFADR value */
- outb(old, ioaddr + SIFADR);
-
- return (0);
-}
-
-/*
- * Open/initialize the board. This is called sometime after
- * booting when the 'ifconfig' program is run.
- *
- * This routine should set everything up anew at each open, even
- * registers that "should" only need to be set once at boot, so that
- * there is non-reboot way to recover if something goes wrong.
- */
-static int sktr_open(struct net_device *dev)
-{
- struct net_local *tp = (struct net_local *)dev->priv;
- int err;
-
- /* Reset the hardware here. Don't forget to set the station address. */
- err = sktr_chipset_init(dev);
- if(err)
- {
- printk(KERN_INFO "%s: Chipset initialization error\n",
- dev->name);
- return (-1);
- }
-
- dev->addr_len = 6;
- sktr_read_addr(dev, (unsigned char*)dev->dev_addr);
-
- init_timer(&tp->timer);
- tp->timer.expires = jiffies + 30*HZ;
- tp->timer.function = sktr_timer_end_wait;
- tp->timer.data = (unsigned long)dev;
- tp->timer.next = NULL;
- tp->timer.prev = NULL;
- add_timer(&tp->timer);
-
- sktr_read_ptr(dev);
- sktr_enable_interrupts(dev);
- sktr_open_adapter(dev);
-
- dev->tbusy = 0;
- dev->interrupt = 0;
- dev->start = 0;
-
- /* Wait for interrupt from hardware. If interrupt does not come,
- * there will be a timeout from the timer.
- */
- tp->Sleeping = 1;
- interruptible_sleep_on(&tp->wait_for_tok_int);
- del_timer(&tp->timer);
-
- /* If AdapterVirtOpenFlag is 1, the adapter is now open for use */
- if(tp->AdapterVirtOpenFlag == 0)
- {
- sktr_disable_interrupts(dev);
- return (-1);
- }
-
- dev->start = 1;
-
- tp->StartTime = jiffies;
-
- /* Start function control timer */
- tp->timer.expires = jiffies + 2*HZ;
- tp->timer.function = sktr_timer_chk;
- tp->timer.data = (unsigned long)dev;
- add_timer(&tp->timer);
-
-#ifdef MODULE
- MOD_INC_USE_COUNT;
-#endif
-
- return (0);
-}
-
-/*
- * Timeout function while waiting for event
- */
-static void sktr_timer_end_wait(unsigned long data)
-{
- struct net_device *dev = (struct net_device*)data;
- struct net_local *tp = (struct net_local *)dev->priv;
-
- if(tp->Sleeping)
- {
- tp->Sleeping = 0;
- wake_up_interruptible(&tp->wait_for_tok_int);
- }
-
- return;
-}
-
-/*
- * Initialize the chipset
- */
-static int sktr_chipset_init(struct net_device *dev)
-{
- struct net_local *tp = (struct net_local *)dev->priv;
- unsigned char PosReg, Tmp;
- int i, err;
-
- sktr_init_ipb(tp);
- sktr_init_opb(tp);
- sktr_init_net_local(dev);
-
- /* Set pos register: selects irq and dma channel.
- * Only for ISA bus adapters.
- */
- if(dev->dma > 0)
- {
- PosReg = 0;
- for(i = 0; sktr_irqlist[i] != 0; i++)
- {
- if(sktr_irqlist[i] == dev->irq)
- break;
- }
-
- /* Choose default cycle time, 500 nsec */
- PosReg |= CYCLE_TIME << 2;
- PosReg |= i << 4;
- i = dev->dma - 5;
- PosReg |= i;
-
- if(tp->DataRate == SPEED_4)
- PosReg |= LINE_SPEED_BIT;
- else
- PosReg &= ~LINE_SPEED_BIT;
-
- outb(PosReg, dev->base_addr + POSREG);
- Tmp = inb(dev->base_addr + POSREG);
- if((Tmp & ~CYCLE_TIME) != (PosReg & ~CYCLE_TIME))
- printk(KERN_INFO "%s: POSREG error\n", dev->name);
- }
-
- err = sktr_reset_adapter(dev);
- if(err < 0)
- return (-1);
-
- err = sktr_bringup_diags(dev);
- if(err < 0)
- return (-1);
-
- err = sktr_init_adapter(dev);
- if(err < 0)
- return (-1);
-
- return (0);
-}
-
-/*
- * Initializes the net_local structure.
- */
-static void sktr_init_net_local(struct net_device *dev)
-{
- struct net_local *tp = (struct net_local *)dev->priv;
- int i;
-
- tp->scb.CMD = 0;
- tp->scb.Parm[0] = 0;
- tp->scb.Parm[1] = 0;
-
- tp->ssb.STS = 0;
- tp->ssb.Parm[0] = 0;
- tp->ssb.Parm[1] = 0;
- tp->ssb.Parm[2] = 0;
-
- tp->CMDqueue = 0;
-
- tp->AdapterOpenFlag = 0;
- tp->AdapterVirtOpenFlag = 0;
- tp->ScbInUse = 0;
- tp->OpenCommandIssued = 0;
- tp->ReOpenInProgress = 0;
- tp->HaltInProgress = 0;
- tp->TransmitHaltScheduled = 0;
- tp->LobeWireFaultLogged = 0;
- tp->LastOpenStatus = 0;
- tp->MaxPacketSize = DEFAULT_PACKET_SIZE;
-
- skb_queue_head_init(&tp->SendSkbQueue);
- tp->QueueSkb = MAX_TX_QUEUE;
-
- /* Create circular chain of transmit lists */
- for (i = 0; i < TPL_NUM; i++)
- {
- tp->Tpl[i].NextTPLAddr = htonl((unsigned long) virt_to_bus(&tp->Tpl[(i+1) % TPL_NUM]));
- tp->Tpl[i].Status = 0;
- tp->Tpl[i].FrameSize = 0;
- tp->Tpl[i].FragList[0].DataCount = 0;
- tp->Tpl[i].FragList[0].DataAddr = 0;
- tp->Tpl[i].NextTPLPtr = &tp->Tpl[(i+1) % TPL_NUM];
- tp->Tpl[i].MData = NULL;
- tp->Tpl[i].TPLIndex = i;
- tp->Tpl[i].BusyFlag = 0;
- }
-
- tp->TplFree = tp->TplBusy = &tp->Tpl[0];
-
- /* Create circular chain of receive lists */
- for (i = 0; i < RPL_NUM; i++)
- {
- tp->Rpl[i].NextRPLAddr = htonl((unsigned long) virt_to_bus(&tp->Rpl[(i+1) % RPL_NUM]));
- tp->Rpl[i].Status = (RX_VALID | RX_START_FRAME | RX_END_FRAME | RX_FRAME_IRQ);
- tp->Rpl[i].FrameSize = 0;
- tp->Rpl[i].FragList[0].DataCount = SWAPB(tp->MaxPacketSize);
-
- /* Alloc skb and point adapter to data area */
- tp->Rpl[i].Skb = dev_alloc_skb(tp->MaxPacketSize);
-
- /* skb == NULL ? then use local buffer */
- if(tp->Rpl[i].Skb == NULL)
- {
- tp->Rpl[i].SkbStat = SKB_UNAVAILABLE;
- tp->Rpl[i].FragList[0].DataAddr = htonl(virt_to_bus(tp->LocalRxBuffers[i]));
- tp->Rpl[i].MData = tp->LocalRxBuffers[i];
- }
- else /* SKB != NULL */
- {
- tp->Rpl[i].Skb->dev = dev;
- skb_put(tp->Rpl[i].Skb, tp->MaxPacketSize);
-
- /* data unreachable for DMA ? then use local buffer */
- if(tp->DeviceType == SK_ISA &&
- virt_to_bus(tp->Rpl[i].Skb->data) +
- tp->MaxPacketSize > ISA_MAX_ADDRESS)
- {
- tp->Rpl[i].SkbStat = SKB_DATA_COPY;
- tp->Rpl[i].FragList[0].DataAddr = htonl(virt_to_bus(tp->LocalRxBuffers[i]));
- tp->Rpl[i].MData = tp->LocalRxBuffers[i];
- }
- else /* DMA directly in skb->data */
- {
- tp->Rpl[i].SkbStat = SKB_DMA_DIRECT;
- tp->Rpl[i].FragList[0].DataAddr = htonl(virt_to_bus(tp->Rpl[i].Skb->data));
- tp->Rpl[i].MData = tp->Rpl[i].Skb->data;
- }
- }
-
- tp->Rpl[i].NextRPLPtr = &tp->Rpl[(i+1) % RPL_NUM];
- tp->Rpl[i].RPLIndex = i;
- }
-
- tp->RplHead = &tp->Rpl[0];
- tp->RplTail = &tp->Rpl[RPL_NUM-1];
- tp->RplTail->Status = (RX_START_FRAME | RX_END_FRAME | RX_FRAME_IRQ);
-
- return;
-}
-
-/*
- * Initializes the initialisation parameter block.
- */
-static void sktr_init_ipb(struct net_local *tp)
-{
- tp->ipb.Init_Options = BURST_MODE;
- tp->ipb.CMD_Status_IV = 0;
- tp->ipb.TX_IV = 0;
- tp->ipb.RX_IV = 0;
- tp->ipb.Ring_Status_IV = 0;
- tp->ipb.SCB_Clear_IV = 0;
- tp->ipb.Adapter_CHK_IV = 0;
- tp->ipb.RX_Burst_Size = BURST_SIZE;
- tp->ipb.TX_Burst_Size = BURST_SIZE;
- tp->ipb.DMA_Abort_Thrhld = DMA_RETRIES;
- tp->ipb.SCB_Addr = 0;
- tp->ipb.SSB_Addr = 0;
-
- return;
-}
-
-/*
- * Initializes the open parameter block.
- */
-static void sktr_init_opb(struct net_local *tp)
-{
- unsigned long Addr;
- unsigned short RplSize = RPL_SIZE;
- unsigned short TplSize = TPL_SIZE;
- unsigned short BufferSize = BUFFER_SIZE;
-
- tp->ocpl.OPENOptions = 0;
- tp->ocpl.OPENOptions |= ENABLE_FULL_DUPLEX_SELECTION;
-/* tp->ocpl.OPENOptions |= PAD_ROUTING_FIELD; no more needed */
- tp->ocpl.FullDuplex = 0;
- tp->ocpl.FullDuplex |= OPEN_FULL_DUPLEX_OFF;
-
- /* Fixme: If mac address setable:
- * for (i=0; i<LENGTH_OF_ADDRESS; i++)
- * mac->Vam->ocpl.NodeAddr[i] = mac->CurrentAddress[i];
- */
-
- tp->ocpl.GroupAddr = 0;
- tp->ocpl.FunctAddr = 0;
- tp->ocpl.RxListSize = SWAPB(RplSize);
- tp->ocpl.TxListSize = SWAPB(TplSize);
- tp->ocpl.BufSize = SWAPB(BufferSize);
- tp->ocpl.Reserved = 0;
- tp->ocpl.TXBufMin = TX_BUF_MIN;
- tp->ocpl.TXBufMax = TX_BUF_MAX;
-
- Addr = htonl(virt_to_bus(tp->ProductID));
-
- tp->ocpl.ProdIDAddr[0] = LOWORD(Addr);
- tp->ocpl.ProdIDAddr[1] = HIWORD(Addr);
-
- return;
-}
-
-/*
- * Send OPEN command to adapter
- */
-static void sktr_open_adapter(struct net_device *dev)
-{
- struct net_local *tp = (struct net_local *)dev->priv;
-
- if(tp->OpenCommandIssued)
- return;
-
- tp->OpenCommandIssued = 1;
- sktr_exec_cmd(dev, OC_OPEN);
-
- return;
-}
-
-/*
- * Clear the adapter's interrupt flag. Clear system interrupt enable
- * (SINTEN): disable adapter to system interrupts.
- */
-static void sktr_disable_interrupts(struct net_device *dev)
-{
- outb(0, dev->base_addr + SIFACL);
-
- return;
-}
-
-/*
- * Set the adapter's interrupt flag. Set system interrupt enable
- * (SINTEN): enable adapter to system interrupts.
- */
-static void sktr_enable_interrupts(struct net_device *dev)
-{
- outb(ACL_SINTEN, dev->base_addr + SIFACL);
-
- return;
-}
-
-/*
- * Put command in command queue, try to execute it.
- */
-static void sktr_exec_cmd(struct net_device *dev, unsigned short Command)
-{
- struct net_local *tp = (struct net_local *)dev->priv;
-
- tp->CMDqueue |= Command;
- sktr_chk_outstanding_cmds(dev);
-
- return;
-}
-
-/*
- * Gets skb from system, queues it and checks if it can be sent
- */
-static int sktr_send_packet(struct sk_buff *skb, struct net_device *dev)
-{
- struct net_local *tp = (struct net_local *)dev->priv;
-
- if(dev->tbusy)
- {
- /*
- * If we get here, some higher level has decided we are broken.
- * There should really be a "kick me" function call instead.
- *
- * Resetting the token ring adapter takes a long time so just
- * fake transmission time and go on trying. Our own timeout
- * routine is in sktr_timer_chk()
- */
- dev->tbusy = 0;
- dev->trans_start = jiffies;
- return (1);
- }
-
- /*
- * If some higher layer thinks we've missed an tx-done interrupt we
- * are passed NULL.
- */
- if(skb == NULL)
- return (0);
-
- /*
- * Block a timer-based transmit from overlapping. This could better be
- * done with atomic_swap(1, dev->tbusy), but set_bit() works as well.
- */
- if(test_and_set_bit(0, (void*)&dev->tbusy) != 0)
- {
- printk("%s: Transmitter access conflict.\n", dev->name);
- return (1);
- }
-
- if(tp->QueueSkb == 0)
- return (1); /* Return with tbusy set: queue full */
-
- tp->QueueSkb--;
- skb_queue_tail(&tp->SendSkbQueue, skb);
- sktr_hardware_send_packet(dev, tp);
- if(tp->QueueSkb > 0)
- dev->tbusy = 0;
-
- return (0);
-}
-
-/*
- * Move frames from internal skb queue into adapter tx queue
- */
-static void sktr_hardware_send_packet(struct net_device *dev, struct net_local* tp)
-{
- TPL *tpl;
- short length;
- unsigned char *buf, *newbuf;
- struct sk_buff *skb;
- int i;
-
- for(;;)
- {
- /* Try to get a free TPL from the chain.
- *
- * NOTE: We *must* always leave one unused TPL in the chain,
- * because otherwise the adapter might send frames twice.
- */
- if(tp->TplFree->NextTPLPtr->BusyFlag) /* No free TPL */
- {
- printk(KERN_INFO "%s: No free TPL\n", dev->name);
- return;
- }
-
- /* Send first buffer from queue */
- skb = skb_dequeue(&tp->SendSkbQueue);
- if(skb == NULL)
- return;
-
- tp->QueueSkb++;
- /* Is buffer reachable for Busmaster-DMA? */
- if(tp->DeviceType == SK_ISA &&
- virt_to_bus((void*)(((long) skb->data) + skb->len))
- > ISA_MAX_ADDRESS)
- {
- /* Copy frame to local buffer */
- i = tp->TplFree->TPLIndex;
- length = skb->len;
- buf = tp->LocalTxBuffers[i];
- memcpy(buf, skb->data, length);
- newbuf = buf;
- }
- else
- {
- /* Send direct from skb->data */
- length = skb->len;
- newbuf = skb->data;
- }
-
- /* Source address in packet? */
- sktr_chk_src_addr(newbuf, dev->dev_addr);
-
- tp->LastSendTime = jiffies;
- tpl = tp->TplFree; /* Get the "free" TPL */
- tpl->BusyFlag = 1; /* Mark TPL as busy */
- tp->TplFree = tpl->NextTPLPtr;
-
- /* Save the skb for delayed return of skb to system */
- tpl->Skb = skb;
- tpl->FragList[0].DataCount = (unsigned short) SWAPB(length);
- tpl->FragList[0].DataAddr = htonl(virt_to_bus(newbuf));
-
- /* Write the data length in the transmit list. */
- tpl->FrameSize = (unsigned short) SWAPB(length);
- tpl->MData = newbuf;
-
- /* Transmit the frame and set the status values. */
- sktr_write_tpl_status(tpl, TX_VALID | TX_START_FRAME
- | TX_END_FRAME | TX_PASS_SRC_ADDR
- | TX_FRAME_IRQ);
-
- /* Let adapter send the frame. */
- sktr_exec_sifcmd(dev, CMD_TX_VALID);
- }
-
- return;
-}
-
-/*
- * Write the given value to the 'Status' field of the specified TPL.
- * NOTE: This function should be used whenever the status of any TPL must be
- * modified by the driver, because the compiler may otherwise change the
- * order of instructions such that writing the TPL status may be executed at
- * an undesireable time. When this function is used, the status is always
- * written when the function is called.
- */
-static void sktr_write_tpl_status(TPL *tpl, unsigned int Status)
-{
- tpl->Status = Status;
-}
-
-static void sktr_chk_src_addr(unsigned char *frame, unsigned char *hw_addr)
-{
- unsigned char SRBit;
-
- if((((unsigned long)frame[8]) & ~0x80) != 0) /* Compare 4 bytes */
- return;
- if((unsigned short)frame[12] != 0) /* Compare 2 bytes */
- return;
-
- SRBit = frame[8] & 0x80;
- memcpy(&frame[8], hw_addr, 6);
- frame[8] |= SRBit;
-
- return;
-}
-
-/*
- * The timer routine: Check if adapter still open and working, reopen if not.
- */
-static void sktr_timer_chk(unsigned long data)
-{
- struct net_device *dev = (struct net_device*)data;
- struct net_local *tp = (struct net_local*)dev->priv;
-
- if(tp->HaltInProgress)
- return;
-
- sktr_chk_outstanding_cmds(dev);
- if(time_before(tp->LastSendTime + SEND_TIMEOUT, jiffies)
- && (tp->QueueSkb < MAX_TX_QUEUE || tp->TplFree != tp->TplBusy))
- {
- /* Anything to send, but stalled to long */
- tp->LastSendTime = jiffies;
- sktr_exec_cmd(dev, OC_CLOSE); /* Does reopen automatically */
- }
-
- tp->timer.expires = jiffies + 2*HZ;
- add_timer(&tp->timer);
-
- if(tp->AdapterOpenFlag || tp->ReOpenInProgress)
- return;
- tp->ReOpenInProgress = 1;
- sktr_open_adapter(dev);
-
- return;
-}
-
-/*
- * The typical workload of the driver: Handle the network interface interrupts.
- */
-static void sktr_interrupt(int irq, void *dev_id, struct pt_regs *regs)
-{
- struct net_device *dev = dev_id;
- struct net_local *tp;
- int ioaddr;
- unsigned short irq_type;
-
- if(dev == NULL)
- {
- printk("%s: irq %d for unknown device.\n", dev->name, irq);
- return;
- }
-
- dev->interrupt = 1;
-
- ioaddr = dev->base_addr;
- tp = (struct net_local *)dev->priv;
-
- irq_type = inw(ioaddr + SIFSTS);
-
- while(irq_type & STS_SYSTEM_IRQ)
- {
- irq_type &= STS_IRQ_MASK;
-
- if(!sktr_chk_ssb(tp, irq_type))
- {
- printk(KERN_INFO "%s: DATA LATE occurred\n", dev->name);
- break;
- }
-
- switch(irq_type)
- {
- case STS_IRQ_RECEIVE_STATUS:
- sktr_reset_interrupt(dev);
- sktr_rcv_status_irq(dev);
- break;
-
- case STS_IRQ_TRANSMIT_STATUS:
- /* Check if TRANSMIT.HALT command is complete */
- if(tp->ssb.Parm[0] & COMMAND_COMPLETE)
- {
- tp->TransmitCommandActive = 0;
- tp->TransmitHaltScheduled = 0;
-
- /* Issue a new transmit command. */
- sktr_exec_cmd(dev, OC_TRANSMIT);
- }
-
- sktr_reset_interrupt(dev);
- sktr_tx_status_irq(dev);
- break;
-
- case STS_IRQ_COMMAND_STATUS:
- /* The SSB contains status of last command
- * other than receive/transmit.
- */
- sktr_cmd_status_irq(dev);
- break;
-
- case STS_IRQ_SCB_CLEAR:
- /* The SCB is free for another command. */
- tp->ScbInUse = 0;
- sktr_chk_outstanding_cmds(dev);
- break;
-
- case STS_IRQ_RING_STATUS:
- sktr_ring_status_irq(dev);
- break;
-
- case STS_IRQ_ADAPTER_CHECK:
- sktr_chk_irq(dev);
- break;
-
- default:
- printk(KERN_INFO "Unknown Token Ring IRQ\n");
- break;
- }
-
- /* Reset system interrupt if not already done. */
- if(irq_type != STS_IRQ_TRANSMIT_STATUS
- && irq_type != STS_IRQ_RECEIVE_STATUS)
- {
- sktr_reset_interrupt(dev);
- }
-
- irq_type = inw(ioaddr + SIFSTS);
- }
-
- dev->interrupt = 0;
-
- return;
-}
-
-/*
- * Reset the INTERRUPT SYSTEM bit and issue SSB CLEAR command.
- */
-static void sktr_reset_interrupt(struct net_device *dev)
-{
- struct net_local *tp = (struct net_local *)dev->priv;
- SSB *ssb = &tp->ssb;
-
- /*
- * [Workaround for "Data Late"]
- * Set all fields of the SSB to well-defined values so we can
- * check if the adapter has written the SSB.
- */
-
- ssb->STS = (unsigned short) -1;
- ssb->Parm[0] = (unsigned short) -1;
- ssb->Parm[1] = (unsigned short) -1;
- ssb->Parm[2] = (unsigned short) -1;
-
- /* Free SSB by issuing SSB_CLEAR command after reading IRQ code
- * and clear STS_SYSTEM_IRQ bit: enable adapter for further interrupts.
- */
- sktr_exec_sifcmd(dev, CMD_SSB_CLEAR | CMD_CLEAR_SYSTEM_IRQ);
-
- return;
-}
-
-/*
- * Check if the SSB has actually been written by the adapter.
- */
-static unsigned char sktr_chk_ssb(struct net_local *tp, unsigned short IrqType)
-{
- SSB *ssb = &tp->ssb; /* The address of the SSB. */
-
- /* C 0 1 2 INTERRUPT CODE
- * - - - - --------------
- * 1 1 1 1 TRANSMIT STATUS
- * 1 1 1 1 RECEIVE STATUS
- * 1 ? ? 0 COMMAND STATUS
- * 0 0 0 0 SCB CLEAR
- * 1 1 0 0 RING STATUS
- * 0 0 0 0 ADAPTER CHECK
- *
- * 0 = SSB field not affected by interrupt
- * 1 = SSB field is affected by interrupt
- *
- * C = SSB ADDRESS +0: COMMAND
- * 0 = SSB ADDRESS +2: STATUS 0
- * 1 = SSB ADDRESS +4: STATUS 1
- * 2 = SSB ADDRESS +6: STATUS 2
- */
-
- /* Check if this interrupt does use the SSB. */
-
- if(IrqType != STS_IRQ_TRANSMIT_STATUS
- && IrqType != STS_IRQ_RECEIVE_STATUS
- && IrqType != STS_IRQ_COMMAND_STATUS
- && IrqType != STS_IRQ_RING_STATUS)
- {
- return (1); /* SSB not involved. */
- }
-
- /* Note: All fields of the SSB have been set to all ones (-1) after it
- * has last been used by the software (see DriverIsr()).
- *
- * Check if the affected SSB fields are still unchanged.
- */
-
- if(ssb->STS == (unsigned short) -1)
- return (0); /* Command field not yet available. */
- if(IrqType == STS_IRQ_COMMAND_STATUS)
- return (1); /* Status fields not always affected. */
- if(ssb->Parm[0] == (unsigned short) -1)
- return (0); /* Status 1 field not yet available. */
- if(IrqType == STS_IRQ_RING_STATUS)
- return (1); /* Status 2 & 3 fields not affected. */
-
- /* Note: At this point, the interrupt is either TRANSMIT or RECEIVE. */
- if(ssb->Parm[1] == (unsigned short) -1)
- return (0); /* Status 2 field not yet available. */
- if(ssb->Parm[2] == (unsigned short) -1)
- return (0); /* Status 3 field not yet available. */
-
- return (1); /* All SSB fields have been written by the adapter. */
-}
-
-/*
- * Evaluates the command results status in the SSB status field.
- */
-static void sktr_cmd_status_irq(struct net_device *dev)
-{
- struct net_local *tp = (struct net_local *)dev->priv;
- unsigned short ssb_cmd, ssb_parm_0;
- unsigned short ssb_parm_1;
- char *open_err = "Open error -";
- char *code_err = "Open code -";
-
- /* Copy the ssb values to local variables */
- ssb_cmd = tp->ssb.STS;
- ssb_parm_0 = tp->ssb.Parm[0];
- ssb_parm_1 = tp->ssb.Parm[1];
-
- if(ssb_cmd == OPEN)
- {
- tp->Sleeping = 0;
- if(!tp->ReOpenInProgress)
- wake_up_interruptible(&tp->wait_for_tok_int);
-
- tp->OpenCommandIssued = 0;
- tp->ScbInUse = 0;
-
- if((ssb_parm_0 & 0x00FF) == GOOD_COMPLETION)
- {
- /* Success, the adapter is open. */
- tp->LobeWireFaultLogged = 0;
- tp->AdapterOpenFlag = 1;
- tp->AdapterVirtOpenFlag = 1;
- tp->TransmitCommandActive = 0;
- sktr_exec_cmd(dev, OC_TRANSMIT);
- sktr_exec_cmd(dev, OC_RECEIVE);
-
- if(tp->ReOpenInProgress)
- tp->ReOpenInProgress = 0;
-
- return;
- }
- else /* The adapter did not open. */
- {
- if(ssb_parm_0 & NODE_ADDR_ERROR)
- printk(KERN_INFO "%s: Node address error\n",
- dev->name);
- if(ssb_parm_0 & LIST_SIZE_ERROR)
- printk(KERN_INFO "%s: List size error\n",
- dev->name);
- if(ssb_parm_0 & BUF_SIZE_ERROR)
- printk(KERN_INFO "%s: Buffer size error\n",
- dev->name);
- if(ssb_parm_0 & TX_BUF_COUNT_ERROR)
- printk(KERN_INFO "%s: Tx buffer count error\n",
- dev->name);
- if(ssb_parm_0 & INVALID_OPEN_OPTION)
- printk(KERN_INFO "%s: Invalid open option\n",
- dev->name);
- if(ssb_parm_0 & OPEN_ERROR)
- {
- /* Show the open phase. */
- switch(ssb_parm_0 & OPEN_PHASES_MASK)
- {
- case LOBE_MEDIA_TEST:
- if(!tp->LobeWireFaultLogged)
- {
- tp->LobeWireFaultLogged = 1;
- printk(KERN_INFO "%s: %s Lobe wire fault (check cable !).\n", dev->name, open_err);
- }
- tp->ReOpenInProgress = 1;
- tp->AdapterOpenFlag = 0;
- tp->AdapterVirtOpenFlag = 1;
- sktr_open_adapter(dev);
- return;
-
- case PHYSICAL_INSERTION:
- printk(KERN_INFO "%s: %s Physical insertion.\n", dev->name, open_err);
- break;
-
- case ADDRESS_VERIFICATION:
- printk(KERN_INFO "%s: %s Address verification.\n", dev->name, open_err);
- break;
-
- case PARTICIPATION_IN_RING_POLL:
- printk(KERN_INFO "%s: %s Participation in ring poll.\n", dev->name, open_err);
- break;
-
- case REQUEST_INITIALISATION:
- printk(KERN_INFO "%s: %s Request initialisation.\n", dev->name, open_err);
- break;
-
- case FULLDUPLEX_CHECK:
- printk(KERN_INFO "%s: %s Full duplex check.\n", dev->name, open_err);
- break;
-
- default:
- printk(KERN_INFO "%s: %s Unknown open phase\n", dev->name, open_err);
- break;
- }
-
- /* Show the open errors. */
- switch(ssb_parm_0 & OPEN_ERROR_CODES_MASK)
- {
- case OPEN_FUNCTION_FAILURE:
- printk(KERN_INFO "%s: %s OPEN_FUNCTION_FAILURE", dev->name, code_err);
- tp->LastOpenStatus =
- OPEN_FUNCTION_FAILURE;
- break;
-
- case OPEN_SIGNAL_LOSS:
- printk(KERN_INFO "%s: %s OPEN_SIGNAL_LOSS\n", dev->name, code_err);
- tp->LastOpenStatus =
- OPEN_SIGNAL_LOSS;
- break;
-
- case OPEN_TIMEOUT:
- printk(KERN_INFO "%s: %s OPEN_TIMEOUT\n", dev->name, code_err);
- tp->LastOpenStatus =
- OPEN_TIMEOUT;
- break;
-
- case OPEN_RING_FAILURE:
- printk(KERN_INFO "%s: %s OPEN_RING_FAILURE\n", dev->name, code_err);
- tp->LastOpenStatus =
- OPEN_RING_FAILURE;
- break;
-
- case OPEN_RING_BEACONING:
- printk(KERN_INFO "%s: %s OPEN_RING_BEACONING\n", dev->name, code_err);
- tp->LastOpenStatus =
- OPEN_RING_BEACONING;
- break;
-
- case OPEN_DUPLICATE_NODEADDR:
- printk(KERN_INFO "%s: %s OPEN_DUPLICATE_NODEADDR\n", dev->name, code_err);
- tp->LastOpenStatus =
- OPEN_DUPLICATE_NODEADDR;
- break;
-
- case OPEN_REQUEST_INIT:
- printk(KERN_INFO "%s: %s OPEN_REQUEST_INIT\n", dev->name, code_err);
- tp->LastOpenStatus =
- OPEN_REQUEST_INIT;
- break;
-
- case OPEN_REMOVE_RECEIVED:
- printk(KERN_INFO "%s: %s OPEN_REMOVE_RECEIVED", dev->name, code_err);
- tp->LastOpenStatus =
- OPEN_REMOVE_RECEIVED;
- break;
-
- case OPEN_FULLDUPLEX_SET:
- printk(KERN_INFO "%s: %s OPEN_FULLDUPLEX_SET\n", dev->name, code_err);
- tp->LastOpenStatus =
- OPEN_FULLDUPLEX_SET;
- break;
-
- default:
- printk(KERN_INFO "%s: %s Unknown open err code", dev->name, code_err);
- tp->LastOpenStatus =
- OPEN_FUNCTION_FAILURE;
- break;
- }
- }
-
- tp->AdapterOpenFlag = 0;
- tp->AdapterVirtOpenFlag = 0;
-
- return;
- }
- }
- else
- {
- if(ssb_cmd != READ_ERROR_LOG)
- return;
-
- /* Add values from the error log table to the MAC
- * statistics counters and update the errorlogtable
- * memory.
- */
- tp->MacStat.line_errors += tp->errorlogtable.Line_Error;
- tp->MacStat.burst_errors += tp->errorlogtable.Burst_Error;
- tp->MacStat.A_C_errors += tp->errorlogtable.ARI_FCI_Error;
- tp->MacStat.lost_frames += tp->errorlogtable.Lost_Frame_Error;
- tp->MacStat.recv_congest_count += tp->errorlogtable.Rx_Congest_Error;
- tp->MacStat.rx_errors += tp->errorlogtable.Rx_Congest_Error;
- tp->MacStat.frame_copied_errors += tp->errorlogtable.Frame_Copied_Error;
- tp->MacStat.token_errors += tp->errorlogtable.Token_Error;
- tp->MacStat.dummy1 += tp->errorlogtable.DMA_Bus_Error;
- tp->MacStat.dummy1 += tp->errorlogtable.DMA_Parity_Error;
- tp->MacStat.abort_delimiters += tp->errorlogtable.AbortDelimeters;
- tp->MacStat.frequency_errors += tp->errorlogtable.Frequency_Error;
- tp->MacStat.internal_errors += tp->errorlogtable.Internal_Error;
- }
-
- return;
-}
-
-/*
- * The inverse routine to sktr_open().
- */
-static int sktr_close(struct net_device *dev)
-{
- struct net_local *tp = (struct net_local *)dev->priv;
-
- dev->tbusy = 1;
- dev->start = 0;
-
- del_timer(&tp->timer);
-
- /* Flush the Tx and disable Rx here. */
-
- tp->HaltInProgress = 1;
- sktr_exec_cmd(dev, OC_CLOSE);
- tp->timer.expires = jiffies + 1*HZ;
- tp->timer.function = sktr_timer_end_wait;
- tp->timer.data = (unsigned long)dev;
- add_timer(&tp->timer);
-
- sktr_enable_interrupts(dev);
-
- tp->Sleeping = 1;
- interruptible_sleep_on(&tp->wait_for_tok_int);
- tp->TransmitCommandActive = 0;
-
- del_timer(&tp->timer);
- sktr_disable_interrupts(dev);
-
- if(dev->dma > 0)
- {
- unsigned long flags=claim_dma_lock();
- disable_dma(dev->dma);
- release_dma_lock(flags);
- }
-
- outw(0xFF00, dev->base_addr + SIFCMD);
- if(dev->dma > 0)
- outb(0xff, dev->base_addr + POSREG);
-
-#ifdef MODULE
- MOD_DEC_USE_COUNT;
-#endif
-
- sktr_cancel_tx_queue(tp);
-
- return (0);
-}
-
-/*
- * Get the current statistics. This may be called with the card open
- * or closed.
- */
-static struct enet_statistics *sktr_get_stats(struct net_device *dev)
-{
- struct net_local *tp = (struct net_local *)dev->priv;
-
- return ((struct enet_statistics *)&tp->MacStat);
-}
-
-/*
- * Set or clear the multicast filter for this adapter.
- */
-static void sktr_set_multicast_list(struct net_device *dev)
-{
- struct net_local *tp = (struct net_local *)dev->priv;
- unsigned int OpenOptions;
-
- OpenOptions = tp->ocpl.OPENOptions &
- ~(PASS_ADAPTER_MAC_FRAMES
- | PASS_ATTENTION_FRAMES
- | PASS_BEACON_MAC_FRAMES
- | COPY_ALL_MAC_FRAMES
- | COPY_ALL_NON_MAC_FRAMES);
-
- tp->ocpl.FunctAddr = 0;
-
- if(dev->flags & IFF_PROMISC)
- /* Enable promiscuous mode */
- OpenOptions |= COPY_ALL_NON_MAC_FRAMES |
- COPY_ALL_MAC_FRAMES;
- else
- {
- if(dev->flags & IFF_ALLMULTI)
- {
- /* Disable promiscuous mode, use normal mode. */
- tp->ocpl.FunctAddr = 0xFFFFFFFF;
-
- }
- else
- {
- int i;
- struct dev_mc_list *mclist = dev->mc_list;
- for (i=0; i< dev->mc_count; i++)
- {
- ((char *)(&tp->ocpl.FunctAddr))[0] |=
- mclist->dmi_addr[2];
- ((char *)(&tp->ocpl.FunctAddr))[1] |=
- mclist->dmi_addr[3];
- ((char *)(&tp->ocpl.FunctAddr))[2] |=
- mclist->dmi_addr[4];
- ((char *)(&tp->ocpl.FunctAddr))[3] |=
- mclist->dmi_addr[5];
- mclist = mclist->next;
- }
- }
- sktr_exec_cmd(dev, OC_SET_FUNCT_ADDR);
- }
-
- tp->ocpl.OPENOptions = OpenOptions;
- sktr_exec_cmd(dev, OC_MODIFY_OPEN_PARMS);
- return;
-}
-
-/*
- * Wait for some time (microseconds)
- *
- * udelay() is a bit harsh, but using a looser timer causes
- * the bring-up-diags to stall indefinitly.
- *
- */
-
-static void sktr_wait(unsigned long time)
-{
- udelay(time);
- return;
-}
-
-/*
- * Write a command value to the SIFCMD register
- */
-static void sktr_exec_sifcmd(struct net_device *dev, unsigned int WriteValue)
-{
- int ioaddr = dev->base_addr;
- unsigned short cmd;
- unsigned short SifStsValue;
- unsigned long loop_counter;
-
- WriteValue = ((WriteValue ^ CMD_SYSTEM_IRQ) | CMD_INTERRUPT_ADAPTER);
- cmd = (unsigned short)WriteValue;
- loop_counter = 0,5 * 800000;
- do {
- SifStsValue = inw(ioaddr + SIFSTS);
- } while((SifStsValue & CMD_INTERRUPT_ADAPTER) && loop_counter--);
- outw(cmd, ioaddr + SIFCMD);
-
- return;
-}
-
-/*
- * Processes adapter hardware reset, halts adapter and downloads firmware,
- * clears the halt bit.
- */
-static int sktr_reset_adapter(struct net_device *dev)
-{
- struct net_local *tp = (struct net_local *)dev->priv;
- unsigned short *fw_ptr = (unsigned short *)&sktr_code;
- unsigned short count, c;
- int ioaddr = dev->base_addr;
-
- /* Hardware adapter reset */
- outw(ACL_ARESET, ioaddr + SIFACL);
- sktr_wait(40);
-
- c = inw(ioaddr + SIFACL);
- sktr_wait(20);
-
- if(dev->dma == 0) /* For PCI adapters */
- {
- c &= ~(ACL_SPEED4 | ACL_SPEED16); /* Clear bits */
- if(tp->DataRate == SPEED_4)
- c |= ACL_SPEED4; /* Set 4Mbps */
- else
- c |= ACL_SPEED16; /* Set 16Mbps */
- }
-
- /* In case a command is pending - forget it */
- tp->ScbInUse = 0;
-
- c &= ~ACL_ARESET; /* Clear adapter reset bit */
- c |= ACL_CPHALT; /* Halt adapter CPU, allow download */
- c &= ~ACL_PSDMAEN; /* Clear pseudo dma bit */
- outw(c, ioaddr + SIFACL);
- sktr_wait(40);
-
- /* Download firmware via DIO interface: */
- do {
- /* Download first address part */
- outw(*fw_ptr, ioaddr + SIFADX);
- fw_ptr++;
-
- /* Download second address part */
- outw(*fw_ptr, ioaddr + SIFADD);
- fw_ptr++;
-
- if((count = *fw_ptr) != 0) /* Load loop counter */
- {
- fw_ptr++; /* Download block data */
- for(; count > 0; count--)
- {
- outw(*fw_ptr, ioaddr + SIFINC);
- fw_ptr++;
- }
- }
- else /* Stop, if last block downloaded */
- {
- c = inw(ioaddr + SIFACL);
- c &= (~ACL_CPHALT | ACL_SINTEN);
-
- /* Clear CPHALT and start BUD */
- outw(c, ioaddr + SIFACL);
- return (1);
- }
- } while(count == 0);
-
- return (-1);
-}
-
-/*
- * Starts bring up diagnostics of token ring adapter and evaluates
- * diagnostic results.
- */
-static int sktr_bringup_diags(struct net_device *dev)
-{
- int loop_cnt, retry_cnt;
- unsigned short Status;
- int ioaddr = dev->base_addr;
-
- sktr_wait(HALF_SECOND);
- sktr_exec_sifcmd(dev, EXEC_SOFT_RESET);
- sktr_wait(HALF_SECOND);
-
- retry_cnt = BUD_MAX_RETRIES; /* maximal number of retrys */
-
- do {
- retry_cnt--;
- if(sktr_debug > 3)
- printk(KERN_INFO "BUD-Status: \n");
- loop_cnt = BUD_MAX_LOOPCNT; /* maximum: three seconds*/
- do { /* Inspect BUD results */
- loop_cnt--;
- sktr_wait(HALF_SECOND);
- Status = inw(ioaddr + SIFSTS);
- Status &= STS_MASK;
-
- if(sktr_debug > 3)
- printk(KERN_INFO " %04X \n", Status);
- /* BUD successfully completed */
- if(Status == STS_INITIALIZE)
- return (1);
- /* Unrecoverable hardware error, BUD not completed? */
- } while((loop_cnt > 0) && ((Status & (STS_ERROR | STS_TEST))
- != (STS_ERROR | STS_TEST)));
-
- /* Error preventing completion of BUD */
- if(retry_cnt > 0)
- {
- printk(KERN_INFO "%s: Adapter Software Reset.\n",
- dev->name);
- sktr_exec_sifcmd(dev, EXEC_SOFT_RESET);
- sktr_wait(HALF_SECOND);
- }
- } while(retry_cnt > 0);
-
- Status = inw(ioaddr + SIFSTS);
- Status &= STS_ERROR_MASK; /* Hardware error occurred! */
-
- printk(KERN_INFO "%s: Bring Up Diagnostics Error (%04X) occurred\n",
- dev->name, Status);
-
- return (-1);
-}
-
-/*
- * Copy initialisation data to adapter memory, beginning at address
- * 1:0A00; Starting DMA test and evaluating result bits.
- */
-static int sktr_init_adapter(struct net_device *dev)
-{
- struct net_local *tp = (struct net_local *)dev->priv;
-
- const unsigned char SCB_Test[6] = {0x00, 0x00, 0xC1, 0xE2, 0xD4, 0x8B};
- const unsigned char SSB_Test[8] = {0xFF, 0xFF, 0xD1, 0xD7,
- 0xC5, 0xD9, 0xC3, 0xD4};
- void *ptr = (void *)&tp->ipb;
- unsigned short *ipb_ptr = (unsigned short *)ptr;
- unsigned char *cb_ptr = (unsigned char *) &tp->scb;
- unsigned char *sb_ptr = (unsigned char *) &tp->ssb;
- unsigned short Status;
- int i, loop_cnt, retry_cnt;
- int ioaddr = dev->base_addr;
-
- /* Normalize: byte order low/high, word order high/low! (only IPB!) */
- tp->ipb.SCB_Addr = SWAPW(virt_to_bus(&tp->scb));
- tp->ipb.SSB_Addr = SWAPW(virt_to_bus(&tp->ssb));
-
- /* Maximum: three initialization retries */
- retry_cnt = INIT_MAX_RETRIES;
-
- do {
- retry_cnt--;
-
- /* Transfer initialization block */
- outw(0x0001, ioaddr + SIFADX);
-
- /* To address 0001:0A00 of adapter RAM */
- outw(0x0A00, ioaddr + SIFADD);
-
- /* Write 11 words to adapter RAM */
- for(i = 0; i < 11; i++)
- outw(ipb_ptr[i], ioaddr + SIFINC);
-
- /* Execute SCB adapter command */
- sktr_exec_sifcmd(dev, CMD_EXECUTE);
-
- loop_cnt = INIT_MAX_LOOPCNT; /* Maximum: 11 seconds */
-
- /* While remaining retries, no error and not completed */
- do {
- Status = 0;
- loop_cnt--;
- sktr_wait(HALF_SECOND);
-
- /* Mask interesting status bits */
- Status = inw(ioaddr + SIFSTS);
- Status &= STS_MASK;
- } while(((Status &(STS_INITIALIZE | STS_ERROR | STS_TEST)) != 0)
- && ((Status & STS_ERROR) == 0) && (loop_cnt != 0));
-
- if((Status & (STS_INITIALIZE | STS_ERROR | STS_TEST)) == 0)
- {
- /* Initialization completed without error */
- i = 0;
- do { /* Test if contents of SCB is valid */
- if(SCB_Test[i] != *(cb_ptr + i))
- /* DMA data error: wrong data in SCB */
- return (-1);
- i++;
- } while(i < 6);
-
- i = 0;
- do { /* Test if contents of SSB is valid */
- if(SSB_Test[i] != *(sb_ptr + i))
- /* DMA data error: wrong data in SSB */
- return (-1);
- i++;
- } while (i < 8);
-
- return (1); /* Adapter successfully initialized */
- }
- else
- {
- if((Status & STS_ERROR) != 0)
- {
- /* Initialization error occurred */
- Status = inw(ioaddr + SIFSTS);
- Status &= STS_ERROR_MASK;
- /* ShowInitialisationErrorCode(Status); */
- return (-1); /* Unrecoverable error */
- }
- else
- {
- if(retry_cnt > 0)
- {
- /* Reset adapter and try init again */
- sktr_exec_sifcmd(dev, EXEC_SOFT_RESET);
- sktr_wait(HALF_SECOND);
- }
- }
- }
- } while(retry_cnt > 0);
-
- return (-1);
-}
-
-/*
- * Check for outstanding commands in command queue and tries to execute
- * command immediately. Corresponding command flag in command queue is cleared.
- */
-static void sktr_chk_outstanding_cmds(struct net_device *dev)
-{
- struct net_local *tp = (struct net_local *)dev->priv;
- unsigned long Addr = 0;
- unsigned char i = 0;
-
- if(tp->CMDqueue == 0)
- return; /* No command execution */
-
- /* If SCB in use: no command */
- if(tp->ScbInUse == 1)
- return;
-
- /* Check if adapter is opened, avoiding COMMAND_REJECT
- * interrupt by the adapter!
- */
- if(tp->AdapterOpenFlag == 0)
- {
- if(tp->CMDqueue & OC_OPEN)
- {
- /* Execute OPEN command */
- tp->CMDqueue ^= OC_OPEN;
-
- /* Copy the 18 bytes of the product ID */
- while((AdapterName[i] != '\0') && (i < PROD_ID_SIZE))
- {
- tp->ProductID[i] = AdapterName[i];
- i++;
- }
-
- Addr = htonl(virt_to_bus(&tp->ocpl));
- tp->scb.Parm[0] = LOWORD(Addr);
- tp->scb.Parm[1] = HIWORD(Addr);
- tp->scb.CMD = OPEN;
- }
- else
- /* No OPEN command queued, but adapter closed. Note:
- * We'll try to re-open the adapter in DriverPoll()
- */
- return; /* No adapter command issued */
- }
- else
- {
- /* Adapter is open; evaluate command queue: try to execute
- * outstanding commands (depending on priority!) CLOSE
- * command queued
- */
- if(tp->CMDqueue & OC_CLOSE)
- {
- tp->CMDqueue ^= OC_CLOSE;
- tp->AdapterOpenFlag = 0;
- tp->scb.Parm[0] = 0; /* Parm[0], Parm[1] are ignored */
- tp->scb.Parm[1] = 0; /* but should be set to zero! */
- tp->scb.CMD = CLOSE;
- if(!tp->HaltInProgress)
- tp->CMDqueue |= OC_OPEN; /* re-open adapter */
- else
- tp->CMDqueue = 0; /* no more commands */
- }
- else
- {
- if(tp->CMDqueue & OC_RECEIVE)
- {
- tp->CMDqueue ^= OC_RECEIVE;
- Addr = htonl(virt_to_bus(tp->RplHead));
- tp->scb.Parm[0] = LOWORD(Addr);
- tp->scb.Parm[1] = HIWORD(Addr);
- tp->scb.CMD = RECEIVE;
- }
- else
- {
- if(tp->CMDqueue & OC_TRANSMIT_HALT)
- {
- /* NOTE: TRANSMIT.HALT must be checked
- * before TRANSMIT.
- */
- tp->CMDqueue ^= OC_TRANSMIT_HALT;
- tp->scb.CMD = TRANSMIT_HALT;
-
- /* Parm[0] and Parm[1] are ignored
- * but should be set to zero!
- */
- tp->scb.Parm[0] = 0;
- tp->scb.Parm[1] = 0;
- }
- else
- {
- if(tp->CMDqueue & OC_TRANSMIT)
- {
- /* NOTE: TRANSMIT must be
- * checked after TRANSMIT.HALT
- */
- if(tp->TransmitCommandActive)
- {
- if(!tp->TransmitHaltScheduled)
- {
- tp->TransmitHaltScheduled = 1;
- sktr_exec_cmd(dev, OC_TRANSMIT_HALT) ;
- }
- tp->TransmitCommandActive = 0;
- return;
- }
-
- tp->CMDqueue ^= OC_TRANSMIT;
- sktr_cancel_tx_queue(tp);
- Addr = htonl(virt_to_bus(tp->TplBusy));
- tp->scb.Parm[0] = LOWORD(Addr);
- tp->scb.Parm[1] = HIWORD(Addr);
- tp->scb.CMD = TRANSMIT;
- tp->TransmitCommandActive = 1;
- }
- else
- {
- if(tp->CMDqueue & OC_MODIFY_OPEN_PARMS)
- {
- tp->CMDqueue ^= OC_MODIFY_OPEN_PARMS;
- tp->scb.Parm[0] = tp->ocpl.OPENOptions; /* new OPEN options*/
- tp->scb.Parm[0] |= ENABLE_FULL_DUPLEX_SELECTION;
- tp->scb.Parm[1] = 0; /* is ignored but should be zero */
- tp->scb.CMD = MODIFY_OPEN_PARMS;
- }
- else
- {
- if(tp->CMDqueue & OC_SET_FUNCT_ADDR)
- {
- tp->CMDqueue ^= OC_SET_FUNCT_ADDR;
- tp->scb.Parm[0] = LOWORD(tp->ocpl.FunctAddr);
- tp->scb.Parm[1] = HIWORD(tp->ocpl.FunctAddr);
- tp->scb.CMD = SET_FUNCT_ADDR;
- }
- else
- {
- if(tp->CMDqueue & OC_SET_GROUP_ADDR)
- {
- tp->CMDqueue ^= OC_SET_GROUP_ADDR;
- tp->scb.Parm[0] = LOWORD(tp->ocpl.GroupAddr);
- tp->scb.Parm[1] = HIWORD(tp->ocpl.GroupAddr);
- tp->scb.CMD = SET_GROUP_ADDR;
- }
- else
- {
- if(tp->CMDqueue & OC_READ_ERROR_LOG)
- {
- tp->CMDqueue ^= OC_READ_ERROR_LOG;
- Addr = htonl(virt_to_bus(&tp->errorlogtable));
- tp->scb.Parm[0] = LOWORD(Addr);
- tp->scb.Parm[1] = HIWORD(Addr);
- tp->scb.CMD = READ_ERROR_LOG;
- }
- else
- {
- printk(KERN_WARNING "CheckForOutstandingCommand: unknown Command\n");
- tp->CMDqueue = 0;
- return;
- }
- }
- }
- }
- }
- }
- }
- }
- }
-
- tp->ScbInUse = 1; /* Set semaphore: SCB in use. */
-
- /* Execute SCB and generate IRQ when done. */
- sktr_exec_sifcmd(dev, CMD_EXECUTE | CMD_SCB_REQUEST);
-
- return;
-}
-
-/*
- * IRQ conditions: signal loss on the ring, transmit or receive of beacon
- * frames (disabled if bit 1 of OPEN option is set); report error MAC
- * frame transmit (disabled if bit 2 of OPEN option is set); open or short
- * cirquit fault on the lobe is detected; remove MAC frame received;
- * error counter overflow (255); opened adapter is the only station in ring.
- * After some of the IRQs the adapter is closed!
- */
-static void sktr_ring_status_irq(struct net_device *dev)
-{
- struct net_local *tp = (struct net_local *)dev->priv;
-
- tp->CurrentRingStatus = SWAPB(tp->ssb.Parm[0]);
-
- /* First: fill up statistics */
- if(tp->ssb.Parm[0] & SIGNAL_LOSS)
- {
- printk(KERN_INFO "%s: Signal Loss\n", dev->name);
- tp->MacStat.line_errors++;
- }
-
- /* Adapter is closed, but initialized */
- if(tp->ssb.Parm[0] & LOBE_WIRE_FAULT)
- {
- printk(KERN_INFO "%s: Lobe Wire Fault, Reopen Adapter\n",
- dev->name);
- tp->MacStat.line_errors++;
- }
-
- if(tp->ssb.Parm[0] & RING_RECOVERY)
- printk(KERN_INFO "%s: Ring Recovery\n", dev->name);
-
- /* Counter overflow: read error log */
- if(tp->ssb.Parm[0] & COUNTER_OVERFLOW)
- {
- printk(KERN_INFO "%s: Counter Overflow\n", dev->name);
- sktr_exec_cmd(dev, OC_READ_ERROR_LOG);
- }
-
- /* Adapter is closed, but initialized */
- if(tp->ssb.Parm[0] & REMOVE_RECEIVED)
- printk(KERN_INFO "%s: Remove Received, Reopen Adapter\n",
- dev->name);
-
- /* Adapter is closed, but initialized */
- if(tp->ssb.Parm[0] & AUTO_REMOVAL_ERROR)
- printk(KERN_INFO "%s: Auto Removal Error, Reopen Adapter\n",
- dev->name);
-
- if(tp->ssb.Parm[0] & HARD_ERROR)
- printk(KERN_INFO "%s: Hard Error\n", dev->name);
-
- if(tp->ssb.Parm[0] & SOFT_ERROR)
- printk(KERN_INFO "%s: Soft Error\n", dev->name);
-
- if(tp->ssb.Parm[0] & TRANSMIT_BEACON)
- printk(KERN_INFO "%s: Transmit Beacon\n", dev->name);
-
- if(tp->ssb.Parm[0] & SINGLE_STATION)
- printk(KERN_INFO "%s: Single Station\n", dev->name);
-
- /* Check if adapter has been closed */
- if(tp->ssb.Parm[0] & ADAPTER_CLOSED)
- {
- printk(KERN_INFO "%s: Adapter closed (Reopening),"
- "QueueSkb %d, CurrentRingStat %x\n",
- dev->name, tp->QueueSkb, tp->CurrentRingStatus);
- tp->AdapterOpenFlag = 0;
- sktr_open_adapter(dev);
- }
-
- return;
-}
-
-/*
- * Issued if adapter has encountered an unrecoverable hardware
- * or software error.
- */
-static void sktr_chk_irq(struct net_device *dev)
-{
- int i;
- unsigned short AdapterCheckBlock[4];
- unsigned short ioaddr = dev->base_addr;
- struct net_local *tp = (struct net_local *)dev->priv;
-
- tp->AdapterOpenFlag = 0; /* Adapter closed now */
-
- /* Page number of adapter memory */
- outw(0x0001, ioaddr + SIFADX);
- /* Address offset */
- outw(CHECKADDR, ioaddr + SIFADR);
-
- /* Reading 8 byte adapter check block. */
- for(i = 0; i < 4; i++)
- AdapterCheckBlock[i] = inw(ioaddr + SIFINC);
-
- if(sktr_debug > 3)
- {
- printk("%s: AdapterCheckBlock: ", dev->name);
- for (i = 0; i < 4; i++)
- printk("%04X", AdapterCheckBlock[i]);
- printk("\n");
- }
-
- switch(AdapterCheckBlock[0])
- {
- case DIO_PARITY:
- printk(KERN_INFO "%s: DIO parity error\n", dev->name);
- break;
-
- case DMA_READ_ABORT:
- printk(KERN_INFO "%s DMA read operation aborted:\n",
- dev->name);
- switch (AdapterCheckBlock[1])
- {
- case 0:
- printk(KERN_INFO "Timeout\n");
- printk(KERN_INFO "Address: %04X %04X\n",
- AdapterCheckBlock[2],
- AdapterCheckBlock[3]);
- break;
-
- case 1:
- printk(KERN_INFO "Parity error\n");
- printk(KERN_INFO "Address: %04X %04X\n",
- AdapterCheckBlock[2],
- AdapterCheckBlock[3]);
- break;
-
- case 2:
- printk(KERN_INFO "Bus error\n");
- printk(KERN_INFO "Address: %04X %04X\n",
- AdapterCheckBlock[2],
- AdapterCheckBlock[3]);
- break;
-
- default:
- printk(KERN_INFO "Unknown error.\n");
- break;
- }
- break;
-
- case DMA_WRITE_ABORT:
- printk(KERN_INFO "%s: DMA write operation aborted: \n",
- dev->name);
- switch (AdapterCheckBlock[1])
- {
- case 0:
- printk(KERN_INFO "Timeout\n");
- printk(KERN_INFO "Address: %04X %04X\n",
- AdapterCheckBlock[2],
- AdapterCheckBlock[3]);
- break;
-
- case 1:
- printk(KERN_INFO "Parity error\n");
- printk(KERN_INFO "Address: %04X %04X\n",
- AdapterCheckBlock[2],
- AdapterCheckBlock[3]);
- break;
-
- case 2:
- printk(KERN_INFO "Bus error\n");
- printk(KERN_INFO "Address: %04X %04X\n",
- AdapterCheckBlock[2],
- AdapterCheckBlock[3]);
- break;
-
- default:
- printk(KERN_INFO "Unknown error.\n");
- break;
- }
- break;
-
- case ILLEGAL_OP_CODE:
- printk("%s: Illegal operation code in firmware\n",
- dev->name);
- /* Parm[0-3]: adapter internal register R13-R15 */
- break;
-
- case PARITY_ERRORS:
- printk("%s: Adapter internal bus parity error\n",
- dev->name);
- /* Parm[0-3]: adapter internal register R13-R15 */
- break;
-
- case RAM_DATA_ERROR:
- printk("%s: RAM data error\n", dev->name);
- /* Parm[0-1]: MSW/LSW address of RAM location. */
- break;
-
- case RAM_PARITY_ERROR:
- printk("%s: RAM parity error\n", dev->name);
- /* Parm[0-1]: MSW/LSW address of RAM location. */
- break;
-
- case RING_UNDERRUN:
- printk("%s: Internal DMA underrun detected\n",
- dev->name);
- break;
-
- case INVALID_IRQ:
- printk("%s: Unrecognized interrupt detected\n",
- dev->name);
- /* Parm[0-3]: adapter internal register R13-R15 */
- break;
-
- case INVALID_ERROR_IRQ:
- printk("%s: Unrecognized error interrupt detected\n",
- dev->name);
- /* Parm[0-3]: adapter internal register R13-R15 */
- break;
-
- case INVALID_XOP:
- printk("%s: Unrecognized XOP request detected\n",
- dev->name);
- /* Parm[0-3]: adapter internal register R13-R15 */
- break;
-
- default:
- printk("%s: Unknown status", dev->name);
- break;
- }
-
- if(sktr_chipset_init(dev) == 1)
- {
- /* Restart of firmware successful */
- tp->AdapterOpenFlag = 1;
- }
-
- return;
-}
-
-/*
- * Internal adapter pointer to RAM data are copied from adapter into
- * host system.
- */
-static void sktr_read_ptr(struct net_device *dev)
-{
- struct net_local *tp = (struct net_local *)dev->priv;
- unsigned short adapterram;
-
- sktr_read_ram(dev, (unsigned char *)&tp->intptrs.BurnedInAddrPtr,
- ADAPTER_INT_PTRS, 16);
- sktr_read_ram(dev, (unsigned char *)&adapterram,
- (unsigned short)SWAPB(tp->intptrs.AdapterRAMPtr), 2);
-
- printk(KERN_INFO "%s: Adapter RAM size: %d K\n",
- dev->name, SWAPB(adapterram));
-
- return;
-}
-
-/*
- * Reads a number of bytes from adapter to system memory.
- */
-static void sktr_read_ram(struct net_device *dev, unsigned char *Data,
- unsigned short Address, int Length)
-{
- int i;
- unsigned short old_sifadx, old_sifadr, InWord;
- unsigned short ioaddr = dev->base_addr;
-
- /* Save the current values */
- old_sifadx = inw(ioaddr + SIFADX);
- old_sifadr = inw(ioaddr + SIFADR);
-
- /* Page number of adapter memory */
- outw(0x0001, ioaddr + SIFADX);
- /* Address offset in adapter RAM */
- outw(Address, ioaddr + SIFADR);
-
- /* Copy len byte from adapter memory to system data area. */
- i = 0;
- for(;;)
- {
- InWord = inw(ioaddr + SIFINC);
-
- *(Data + i) = HIBYTE(InWord); /* Write first byte */
- if(++i == Length) /* All is done break */
- break;
-
- *(Data + i) = LOBYTE(InWord); /* Write second byte */
- if (++i == Length) /* All is done break */
- break;
- }
-
- /* Restore original values */
- outw(old_sifadx, ioaddr + SIFADX);
- outw(old_sifadr, ioaddr + SIFADR);
-
- return;
-}
-
-/*
- * Reads MAC address from adapter ROM.
- */
-static void sktr_read_addr(struct net_device *dev, unsigned char *Address)
-{
- int i, In;
- unsigned short ioaddr = dev->base_addr;
-
- /* Address: 0000:0000 */
- outw(0, ioaddr + SIFADX);
- outw(0, ioaddr + SIFADR);
-
- /* Read six byte MAC address data */
- for(i = 0; i < 6; i++)
- {
- In = inw(ioaddr + SIFINC);
- *(Address + i) = (unsigned char)(In >> 8);
- }
-
- return;
-}
-
-/*
- * Cancel all queued packets in the transmission queue.
- */
-static void sktr_cancel_tx_queue(struct net_local* tp)
-{
- TPL *tpl;
- struct sk_buff *skb;
-
- /*
- * NOTE: There must not be an active TRANSMIT command pending, when
- * this function is called.
- */
- if(tp->TransmitCommandActive)
- return;
-
- for(;;)
- {
- tpl = tp->TplBusy;
- if(!tpl->BusyFlag)
- break;
- /* "Remove" TPL from busy list. */
- tp->TplBusy = tpl->NextTPLPtr;
- sktr_write_tpl_status(tpl, 0); /* Clear VALID bit */
- tpl->BusyFlag = 0; /* "free" TPL */
-
- printk(KERN_INFO "Cancel tx (%08lXh).\n", (unsigned long)tpl);
-
- dev_kfree_skb(tpl->Skb);
- }
-
- for(;;)
- {
- skb = skb_dequeue(&tp->SendSkbQueue);
- if(skb == NULL)
- break;
- tp->QueueSkb++;
- dev_kfree_skb(skb);
- }
-
- return;
-}
-
-/*
- * This function is called whenever a transmit interrupt is generated by the
- * adapter. For a command complete interrupt, it is checked if we have to
- * issue a new transmit command or not.
- */
-static void sktr_tx_status_irq(struct net_device *dev)
-{
- struct net_local *tp = (struct net_local *)dev->priv;
- unsigned char HighByte, HighAc, LowAc;
- TPL *tpl;
-
- /* NOTE: At this point the SSB from TRANSMIT STATUS is no longer
- * available, because the CLEAR SSB command has already been issued.
- *
- * Process all complete transmissions.
- */
-
- for(;;)
- {
- tpl = tp->TplBusy;
- if(!tpl->BusyFlag || (tpl->Status
- & (TX_VALID | TX_FRAME_COMPLETE))
- != TX_FRAME_COMPLETE)
- {
- break;
- }
-
- /* "Remove" TPL from busy list. */
- tp->TplBusy = tpl->NextTPLPtr ;
-
- if(sktr_debug > 3)
- sktr_dump(tpl->MData, SWAPB(tpl->FrameSize));
-
- /* Check the transmit status field only for directed frames*/
- if(DIRECTED_FRAME(tpl) && (tpl->Status & TX_ERROR) == 0)
- {
- HighByte = GET_TRANSMIT_STATUS_HIGH_BYTE(tpl->Status);
- HighAc = GET_FRAME_STATUS_HIGH_AC(HighByte);
- LowAc = GET_FRAME_STATUS_LOW_AC(HighByte);
-
- if((HighAc != LowAc) || (HighAc == AC_NOT_RECOGNIZED))
- {
- printk(KERN_INFO "%s: (DA=%08lX not recognized)",
- dev->name,
- *(unsigned long *)&tpl->MData[2+2]);
- }
- else
- {
- if(sktr_debug > 3)
- printk("%s: Directed frame tx'd\n",
- dev->name);
- }
- }
- else
- {
- if(!DIRECTED_FRAME(tpl))
- {
- if(sktr_debug > 3)
- printk("%s: Broadcast frame tx'd\n",
- dev->name);
- }
- }
-
- tp->MacStat.tx_packets++;
- dev_kfree_skb(tpl->Skb);
- tpl->BusyFlag = 0; /* "free" TPL */
- }
-
- dev->tbusy = 0;
- if(tp->QueueSkb < MAX_TX_QUEUE)
- sktr_hardware_send_packet(dev, tp);
-
- return;
-}
-
-/*
- * Called if a frame receive interrupt is generated by the adapter.
- * Check if the frame is valid and indicate it to system.
- */
-static void sktr_rcv_status_irq(struct net_device *dev)
-{
- struct net_local *tp = (struct net_local *)dev->priv;
- unsigned char *ReceiveDataPtr;
- struct sk_buff *skb;
- unsigned int Length, Length2;
- RPL *rpl;
- RPL *SaveHead;
-
- /* NOTE: At this point the SSB from RECEIVE STATUS is no longer
- * available, because the CLEAR SSB command has already been issued.
- *
- * Process all complete receives.
- */
-
- for(;;)
- {
- rpl = tp->RplHead;
- if(rpl->Status & RX_VALID)
- break; /* RPL still in use by adapter */
-
- /* Forward RPLHead pointer to next list. */
- SaveHead = tp->RplHead;
- tp->RplHead = rpl->NextRPLPtr;
-
- /* Get the frame size (Byte swap for Intel).
- * Do this early (see workaround comment below)
- */
- Length = (unsigned short)SWAPB(rpl->FrameSize);
-
- /* Check if the Frame_Start, Frame_End and
- * Frame_Complete bits are set.
- */
- if((rpl->Status & VALID_SINGLE_BUFFER_FRAME)
- == VALID_SINGLE_BUFFER_FRAME)
- {
- ReceiveDataPtr = rpl->MData;
-
- /* Workaround for delayed write of FrameSize on ISA
- * (FrameSize is false but valid-bit is reset)
- * Frame size is set to zero when the RPL is freed.
- * Length2 is there because there have also been
- * cases where the FrameSize was partially written
- */
- Length2 = (unsigned short)SWAPB(rpl->FrameSize);
-
- if(Length == 0 || Length != Length2)
- {
- tp->RplHead = SaveHead;
- break; /* Return to sktr_interrupt */
- }
-
- /* Drop frames sent by myself */
- if(sktr_chk_frame(dev, rpl->MData))
- {
- if(rpl->Skb != NULL)
- dev_kfree_skb(rpl->Skb);
- }
- else
- {
- sktr_update_rcv_stats(tp,ReceiveDataPtr,Length);
-
- if(sktr_debug > 3)
- printk("%s: Packet Length %04X (%d)\n",
- dev->name, Length, Length);
-
- /* Indicate the received frame to system.
- * The source routing padding is no more
- * necessary with 2.2.x kernel.
- * See: OpenOptions in sktr_init_opb()
- */
- skb = rpl->Skb;
- if(rpl->SkbStat == SKB_UNAVAILABLE)
- {
- /* Try again to allocate skb */
- skb = dev_alloc_skb(tp->MaxPacketSize);
- if(skb == NULL)
- {
- /* Update Stats ?? */
- }
- else
- {
- skb->dev = dev;
- skb_put(skb, tp->MaxPacketSize);
- rpl->SkbStat = SKB_DATA_COPY;
- ReceiveDataPtr = rpl->MData;
- }
- }
-
- if(rpl->SkbStat == SKB_DATA_COPY
- || rpl->SkbStat == SKB_DMA_DIRECT)
- {
- if(rpl->SkbStat == SKB_DATA_COPY)
- {
- memmove(skb->data, ReceiveDataPtr, Length);
- }
-
- /* Deliver frame to system */
- rpl->Skb = NULL;
- skb_trim(skb,Length);
- skb->dev = dev;
- skb->protocol = tr_type_trans(skb,dev);
- netif_rx(skb);
- }
- }
- }
- else /* Invalid frame */
- {
- if(rpl->Skb != NULL)
- dev_kfree_skb(rpl->Skb);
-
- /* Skip list. */
- if(rpl->Status & RX_START_FRAME)
- /* Frame start bit is set -> overflow. */
- tp->MacStat.rx_errors++;
- }
-
- /* Allocate new skb for rpl */
- rpl->Skb = dev_alloc_skb(tp->MaxPacketSize);
-
- /* skb == NULL ? then use local buffer */
- if(rpl->Skb == NULL)
- {
- rpl->SkbStat = SKB_UNAVAILABLE;
- rpl->FragList[0].DataAddr = htonl(virt_to_bus(tp->LocalRxBuffers[rpl->RPLIndex]));
- rpl->MData = tp->LocalRxBuffers[rpl->RPLIndex];
- }
- else /* skb != NULL */
- {
- rpl->Skb->dev = dev;
- skb_put(rpl->Skb, tp->MaxPacketSize);
-
- /* Data unreachable for DMA ? then use local buffer */
- if(tp->DeviceType == SK_ISA &&
- virt_to_bus(rpl->Skb->data) + tp->MaxPacketSize
- > ISA_MAX_ADDRESS)
- {
- rpl->SkbStat = SKB_DATA_COPY;
- rpl->FragList[0].DataAddr = htonl(virt_to_bus(tp->LocalRxBuffers[rpl->RPLIndex]));
- rpl->MData = tp->LocalRxBuffers[rpl->RPLIndex];
- }
- else
- {
- /* DMA directly in skb->data */
- rpl->SkbStat = SKB_DMA_DIRECT;
- rpl->FragList[0].DataAddr = htonl(virt_to_bus(rpl->Skb->data));
- rpl->MData = rpl->Skb->data;
- }
- }
-
- rpl->FragList[0].DataCount = SWAPB(tp->MaxPacketSize);
- rpl->FrameSize = 0;
-
- /* Pass the last RPL back to the adapter */
- tp->RplTail->FrameSize = 0;
-
- /* Reset the CSTAT field in the list. */
- sktr_write_rpl_status(tp->RplTail, RX_VALID | RX_FRAME_IRQ);
-
- /* Current RPL becomes last one in list. */
- tp->RplTail = tp->RplTail->NextRPLPtr;
-
- /* Inform adapter about RPL valid. */
- sktr_exec_sifcmd(dev, CMD_RX_VALID);
- }
-
- return;
-}
-
-/*
- * This function should be used whenever the status of any RPL must be
- * modified by the driver, because the compiler may otherwise change the
- * order of instructions such that writing the RPL status may be executed
- * at an undesireable time. When this function is used, the status is
- * always written when the function is called.
- */
-static void sktr_write_rpl_status(RPL *rpl, unsigned int Status)
-{
- rpl->Status = Status;
-
- return;
-}
-
-/*
- * The function updates the statistic counters in mac->MacStat.
- * It differtiates between directed and broadcast/multicast ( ==functional)
- * frames.
- */
-static void sktr_update_rcv_stats(struct net_local *tp, unsigned char DataPtr[],
- unsigned int Length)
-{
- tp->MacStat.rx_packets++;
-
- /* Test functional bit */
- if(DataPtr[2] & GROUP_BIT)
- tp->MacStat.multicast++;
-
- return;
-}
-
-/*
- * Check if it is a frame of myself. Compare source address with my current
- * address in reverse direction, and mask out the TR_RII.
- */
-static unsigned char sktr_chk_frame(struct net_device *dev, unsigned char *Addr)
-{
- int i;
-
- for(i = 5; i > 0; i--)
- {
- if(Addr[8 + i] != dev->dev_addr[i])
- return (0);
- }
-
- /* Mask out RIF bit. */
- if((Addr[8] & ~TR_RII) != (unsigned char)(dev->dev_addr[0]))
- return (0);
-
- return (1); /* It is my frame. */
-}
-
-/*
- * Dump Packet (data)
- */
-static void sktr_dump(unsigned char *Data, int length)
-{
- int i, j;
-
- for (i = 0, j = 0; i < length / 8; i++, j += 8)
- {
- printk(KERN_DEBUG "%02x %02x %02x %02x %02x %02x %02x %02x\n",
- Data[j+0],Data[j+1],Data[j+2],Data[j+3],
- Data[j+4],Data[j+5],Data[j+6],Data[j+7]);
- }
-
- return;
-}
-
-#ifdef MODULE
-
-static struct net_device* dev_sktr[SKTR_MAX_ADAPTERS];
-static int io[SKTR_MAX_ADAPTERS] = { 0, 0 };
-static int irq[SKTR_MAX_ADAPTERS] = { 0, 0 };
-static int mem[SKTR_MAX_ADAPTERS] = { 0, 0 };
-
-MODULE_PARM(io, "1-" __MODULE_STRING(SKTR_MAX_ADAPTERS) "i");
-MODULE_PARM(irq, "1-" __MODULE_STRING(SKTR_MAX_ADAPTERS) "i");
-MODULE_PARM(mem, "1-" __MODULE_STRING(SKTR_MAX_ADAPTERS) "i");
-
-int init_module(void)
-{
- int i;
-
- for(i = 0; i < SKTR_MAX_ADAPTERS; i++)
- {
- irq[i] = 0;
- mem[i] = 0;
- dev_sktr[i] = NULL;
- dev_sktr[i] = init_trdev(dev_sktr[i], 0);
- if(dev_sktr[i] == NULL)
- return (-ENOMEM);
-
- dev_sktr[i]->base_addr = io[i];
- dev_sktr[i]->irq = irq[i];
- dev_sktr[i]->mem_start = mem[i];
- dev_sktr[i]->init = &sktr_probe;
-
- if(register_trdev(dev_sktr[i]) != 0)
- {
- kfree_s(dev_sktr[i], sizeof(struct net_device));
- dev_sktr[i] = NULL;
- if(i == 0)
- {
- printk("sktr: register_trdev() returned non-zero.\n");
- return (-EIO);
- }
- else
- return (0);
- }
- }
-
- return (0);
-}
-
-void cleanup_module(void)
-{
- int i;
-
- for(i = 0; i < SKTR_MAX_ADAPTERS; i++)
- {
- if(dev_sktr[i])
- {
- unregister_trdev(dev_sktr[i]);
- release_region(dev_sktr[i]->base_addr, SKTR_IO_EXTENT);
- if(dev_sktr[i]->irq)
- free_irq(dev_sktr[i]->irq, dev_sktr[i]);
- if(dev_sktr[i]->dma > 0)
- free_dma(dev_sktr[i]->dma);
- if(dev_sktr[i]->priv)
- kfree_s(dev_sktr[i]->priv, sizeof(struct net_local));
- kfree_s(dev_sktr[i], sizeof(struct net_device));
- dev_sktr[i] = NULL;
- }
- }
-}
-#endif /* MODULE */
diff --git a/drivers/net/tokenring/sktr.h b/drivers/net/tokenring/sktr.h
index 90b5c382f..e69de29bb 100644
--- a/drivers/net/tokenring/sktr.h
+++ b/drivers/net/tokenring/sktr.h
@@ -1,1103 +0,0 @@
-/* sktr.h: SysKonnect TokenRing driver for Linux
- *
- * Authors:
- * - Christoph Goos <cgoos@syskonnect.de>
- */
-
-#ifndef __LINUX_SKTR_H
-#define __LINUX_SKTR_H
-
-#ifdef __KERNEL__
-
-#define SKTR_MAX_ADAPTERS 7
-
-#define SEND_TIMEOUT 10*HZ
-
-#define TR_RCF_LONGEST_FRAME_MASK 0x0070
-#define TR_RCF_FRAME4K 0x0030
-
-#define SK_ISA 0
-#define SK_PCI 1
-
-/*------------------------------------------------------------------*/
-/* Bit order for adapter communication with DMA */
-/* -------------------------------------------------------------- */
-/* Bit 8 | 9| 10| 11|| 12| 13| 14| 15|| 0| 1| 2| 3|| 4| 5| 6| 7| */
-/* -------------------------------------------------------------- */
-/* The bytes in a word must be byte swapped. Also, if a double */
-/* word is used for storage, then the words, as well as the bytes, */
-/* must be swapped. */
-/* Bit order for adapter communication with DIO */
-/* -------------------------------------------------------------- */
-/* Bit 0 | 1| 2| 3|| 4| 5| 6| 7|| 8| 9| 10| 11|| 12| 13| 14| 15| */
-/* -------------------------------------------------------------- */
-/*------------------------------------------------------------------*/
-
-/* Swap bytes of a word. */
-#define SWAPB(x) (((unsigned short)((x) << 8)) | ((unsigned short)((x) >> 8)))
-
-/* Swap words of a long. */
-#define SWAPW(x) (((x) << 16) | ((x) >> 16))
-
-/* Get the low byte of a word. */
-#define LOBYTE(w) ((unsigned char)(w))
-
-/* Get the high byte of a word. */
-#define HIBYTE(w) ((unsigned char)((unsigned short)(w) >> 8))
-
-/* Get the low word of a long. */
-#define LOWORD(l) ((unsigned short)(l))
-
-/* Get the high word of a long. */
-#define HIWORD(l) ((unsigned short)((unsigned long)(l) >> 16))
-
-
-
-/* Token ring adapter I/O addresses for normal mode. */
-#define SIFDAT 0L /* SIF/DMA data. */
-#define SIFINC 2L /* IO Word data with auto increment. */
-#define SIFINH 3L /* IO Byte data with auto increment. */
-#define SIFADR 4L /* SIF/DMA Address. */
-#define SIFCMD 6L /* SIF Command. */
-#define SIFSTS 6L /* SIF Status. */
-#define SIFACL 8L /* SIF Adapter Control Register. */
-#define SIFADD 10L /* SIF/DMA Address. */
-#define SIFADX 12L
-#define DMALEN 14L /* SIF DMA length. */
-#define POSREG 16L /* Adapter Program Option Select (POS)
- * Register: base IO address + 16 byte.
- */
-#define POSREG_2 24L /* only for TR4/16+ adapter
- * base IO address + 24 byte.
- */
-
-
-/* SIFCMD command codes (high-low) */
-#define CMD_INTERRUPT_ADAPTER 0x8000 /* Cause internal adapter interrupt */
-#define CMD_ADAPTER_RESET 0x4000 /* Hardware reset of adapter */
-#define CMD_SSB_CLEAR 0x2000 /* Acknowledge to adapter to
- * system interrupts.
- */
-#define CMD_EXECUTE 0x1000 /* Execute SCB command */
-#define CMD_SCB_REQUEST 0x0800 /* Request adapter to interrupt
- * system when SCB is available for
- * another command.
- */
-#define CMD_RX_CONTINUE 0x0400 /* Continue receive after odd pointer
- * stop. (odd pointer receive method)
- */
-#define CMD_RX_VALID 0x0200 /* Now actual RPL is valid. */
-#define CMD_TX_VALID 0x0100 /* Now actual TPL is valid. (valid
- * bit receive/transmit method)
- */
-#define CMD_SYSTEM_IRQ 0x0080 /* Adapter-to-attached-system
- * interrupt is reset.
- */
-#define CMD_CLEAR_SYSTEM_IRQ 0x0080 /* Clear SYSTEM_INTERRUPT bit.
- * (write: 1=ignore, 0=reset)
- */
-#define EXEC_SOFT_RESET 0xFF00 /* adapter soft reset. (restart
- * adapter after hardware reset)
- */
-
-
-/* ACL commands (high-low) */
-#define ACL_SWHLDA 0x0800 /* Software hold acknowledge. */
-#define ACL_SWDDIR 0x0400 /* Data transfer direction. */
-#define ACL_SWHRQ 0x0200 /* Pseudo DMA operation. */
-#define ACL_PSDMAEN 0x0100 /* Enable pseudo system DMA. */
-#define ACL_ARESET 0x0080 /* Adapter hardware reset command.
- * (held in reset condition as
- * long as bit is set)
- */
-#define ACL_CPHALT 0x0040 /* Communication processor halt.
- * (can only be set while ACL_ARESET
- * bit is set; prevents adapter
- * processor from executing code while
- * downloading firmware)
- */
-#define ACL_BOOT 0x0020
-#define ACL_SINTEN 0x0008 /* System interrupt enable/disable
- * (1/0): can be written if ACL_ARESET
- * is zero.
- */
-#define ACL_SPEED4 0x0003
-#define ACL_SPEED16 0x0001
-#define PS_DMA_MASK (ACL_SWHRQ | ACL_PSDMAEN)
-
-
-/* SIFSTS register return codes (high-low) */
-#define STS_SYSTEM_IRQ 0x0080 /* Adapter-to-attached-system
- * interrupt is valid.
- */
-#define STS_INITIALIZE 0x0040 /* INITIALIZE status. (ready to
- * initialize)
- */
-#define STS_TEST 0x0020 /* TEST status. (BUD not completed) */
-#define STS_ERROR 0x0010 /* ERROR status. (unrecoverable
- * HW error occurred)
- */
-#define STS_MASK 0x00F0 /* Mask interesting status bits. */
-#define STS_ERROR_MASK 0x000F /* Get Error Code by masking the
- * interrupt code bits.
- */
-#define ADAPTER_INT_PTRS 0x0A00 /* Address offset of adapter internal
- * pointers 01:0a00 (high-low) have to
- * be read after init and before open.
- */
-
-
-/* Interrupt Codes (only MAC IRQs) */
-#define STS_IRQ_ADAPTER_CHECK 0x0000 /* unrecoverable hardware or
- * software error.
- */
-#define STS_IRQ_RING_STATUS 0x0004 /* SSB is updated with ring status. */
-#define STS_IRQ_SCB_CLEAR 0x0006 /* SCB clear, following an
- * SCB_REQUEST IRQ.
- */
-#define STS_IRQ_COMMAND_STATUS 0x0008 /* SSB is updated with command
- * status.
- */
-#define STS_IRQ_RECEIVE_STATUS 0x000A /* SSB is updated with receive
- * status.
- */
-#define STS_IRQ_TRANSMIT_STATUS 0x000C /* SSB is updated with transmit
- * status
- */
-#define STS_IRQ_MASK 0x000F /* = STS_ERROR_MASK. */
-
-
-/* TRANSMIT_STATUS completion code: (SSB.Parm[0]) */
-#define COMMAND_COMPLETE 0x0080 /* TRANSMIT command completed
- * (avoid this!) issue another transmit
- * to send additional frames.
- */
-#define FRAME_COMPLETE 0x0040 /* Frame has been transmitted;
- * INTERRUPT_FRAME bit was set in the
- * CSTAT request; indication of possibly
- * more than one frame transmissions!
- * SSB.Parm[0-1]: 32 bit pointer to
- * TPL of last frame.
- */
-#define LIST_ERROR 0x0020 /* Error in one of the TPLs that
- * compose the frame; TRANSMIT
- * terminated; Parm[1-2]: 32 bit pointer
- * to TPL which starts the error
- * frame; error details in bits 8-13.
- * (14?)
- */
-#define FRAME_SIZE_ERROR 0x8000 /* FRAME_SIZE does not equal the sum of
- * the valid DATA_COUNT fields;
- * FRAME_SIZE less than header plus
- * information field. (15 bytes +
- * routing field) Or if FRAME_SIZE
- * was specified as zero in one list.
- */
-#define TX_THRESHOLD 0x4000 /* FRAME_SIZE greater than (BUFFER_SIZE
- * - 9) * TX_BUF_MAX.
- */
-#define ODD_ADDRESS 0x2000 /* Odd forward pointer value is
- * read on a list without END_FRAME
- * indication.
- */
-#define FRAME_ERROR 0x1000 /* START_FRAME bit is (not) anticipated,
- * but (not) set.
- */
-#define ACCESS_PRIORITY_ERROR 0x0800 /* Access priority requested has not
- * been allowed.
- */
-#define UNENABLED_MAC_FRAME 0x0400 /* MAC frame has source class of zero
- * or MAC frame PCF ATTN field is
- * greater than one.
- */
-#define ILLEGAL_FRAME_FORMAT 0x0200 /* Bit 0 or FC field was set to one. */
-
-
-/*
- * Since we need to support some functions even if the adapter is in a
- * CLOSED state, we have a (pseudo-) command queue which holds commands
- * that are outstandig to be executed.
- *
- * Each time a command completes, an interrupt occurs and the next
- * command is executed. The command queue is actually a simple word with
- * a bit for each outstandig command. Therefore the commands will not be
- * executed in the order they have been queued.
- *
- * The following defines the command code bits and the command queue:
- */
-#define OC_OPEN 0x0001 /* OPEN command */
-#define OC_TRANSMIT 0x0002 /* TRANSMIT command */
-#define OC_TRANSMIT_HALT 0x0004 /* TRANSMIT_HALT command */
-#define OC_RECEIVE 0x0008 /* RECEIVE command */
-#define OC_CLOSE 0x0010 /* CLOSE command */
-#define OC_SET_GROUP_ADDR 0x0020 /* SET_GROUP_ADDR command */
-#define OC_SET_FUNCT_ADDR 0x0040 /* SET_FUNCT_ADDR command */
-#define OC_READ_ERROR_LOG 0x0080 /* READ_ERROR_LOG command */
-#define OC_READ_ADAPTER 0x0100 /* READ_ADAPTER command */
-#define OC_MODIFY_OPEN_PARMS 0x0400 /* MODIFY_OPEN_PARMS command */
-#define OC_RESTORE_OPEN_PARMS 0x0800 /* RESTORE_OPEN_PARMS command */
-#define OC_SET_FIRST_16_GROUP 0x1000 /* SET_FIRST_16_GROUP command */
-#define OC_SET_BRIDGE_PARMS 0x2000 /* SET_BRIDGE_PARMS command */
-#define OC_CONFIG_BRIDGE_PARMS 0x4000 /* CONFIG_BRIDGE_PARMS command */
-
-#define OPEN 0x0300 /* C: open command. S: completion. */
-#define TRANSMIT 0x0400 /* C: transmit command. S: completion
- * status. (reject: COMMAND_REJECT if
- * adapter not opened, TRANSMIT already
- * issued or address passed in the SCB
- * not word aligned)
- */
-#define TRANSMIT_HALT 0x0500 /* C: interrupt TX TPL chain; if no
- * TRANSMIT command issued, the command
- * is ignored. (completion with TRANSMIT
- * status (0x0400)!)
- */
-#define RECEIVE 0x0600 /* C: receive command. S: completion
- * status. (reject: COMMAND_REJECT if
- * adapter not opened, RECEIVE already
- * issued or address passed in the SCB
- * not word aligned)
- */
-#define CLOSE 0x0700 /* C: close adapter. S: completion.
- * (COMMAND_REJECT if adapter not open)
- */
-#define SET_GROUP_ADDR 0x0800 /* C: alter adapter group address after
- * OPEN. S: completion. (COMMAND_REJECT
- * if adapter not open)
- */
-#define SET_FUNCT_ADDR 0x0900 /* C: alter adapter functional address
- * after OPEN. S: completion.
- * (COMMAND_REJECT if adapter not open)
- */
-#define READ_ERROR_LOG 0x0A00 /* C: read adapter error counters.
- * S: completion. (command ignored
- * if adapter not open!)
- */
-#define READ_ADAPTER 0x0B00 /* C: read data from adapter memory.
- * (important: after init and before
- * open!) S: completion. (ADAPTER_CHECK
- * interrupt if undefined storage area
- * read)
- */
-#define MODIFY_OPEN_PARMS 0x0D00 /* C: modify some adapter operational
- * parameters. (bit correspondend to
- * WRAP_INTERFACE is ignored)
- * S: completion. (reject:
- * COMMAND_REJECT)
- */
-#define RESTORE_OPEN_PARMS 0x0E00 /* C: modify some adapter operational
- * parameters. (bit correspondend
- * to WRAP_INTERFACE is ignored)
- * S: completion. (reject:
- * COMMAND_REJECT)
- */
-#define SET_FIRST_16_GROUP 0x0F00 /* C: alter the first two bytes in
- * adapter group address.
- * S: completion. (reject:
- * COMMAND_REJECT)
- */
-#define SET_BRIDGE_PARMS 0x1000 /* C: values and conditions for the
- * adapter hardware to use when frames
- * are copied for forwarding.
- * S: completion. (reject:
- * COMMAND_REJECT)
- */
-#define CONFIG_BRIDGE_PARMS 0x1100 /* C: ..
- * S: completion. (reject:
- * COMMAND_REJECT)
- */
-
-#define SPEED_4 4
-#define SPEED_16 16 /* Default transmission speed */
-
-
-/* Initialization Parameter Block (IPB); word alignment necessary! */
-#define BURST_SIZE 0x0018 /* Default burst size */
-#define BURST_MODE 0x9F00 /* Burst mode enable */
-#define DMA_RETRIES 0x0505 /* Magic DMA retry number... */
-
-#define CYCLE_TIME 3 /* Default AT-bus cycle time: 500 ns
- * (later adapter version: fix cycle time!)
- */
-#define LINE_SPEED_BIT 0x80
-
-/* Macro definition for the wait function. */
-#define ONE_SECOND_TICKS 1000000
-#define HALF_SECOND (ONE_SECOND_TICKS / 2)
-#define ONE_SECOND (ONE_SECOND_TICKS)
-#define TWO_SECONDS (ONE_SECOND_TICKS * 2)
-#define THREE_SECONDS (ONE_SECOND_TICKS * 3)
-#define FOUR_SECONDS (ONE_SECOND_TICKS * 4)
-#define FIVE_SECONDS (ONE_SECOND_TICKS * 5)
-
-#define BUFFER_SIZE 2048 /* Buffers on Adapter */
-
-#pragma pack(1)
-typedef struct {
- unsigned short Init_Options; /* Initialize with burst mode;
- * LLC disabled. (MAC only)
- */
-
- /* Interrupt vectors the adapter places on attached system bus. */
- unsigned char CMD_Status_IV; /* Interrupt vector: command status. */
- unsigned char TX_IV; /* Interrupt vector: transmit. */
- unsigned char RX_IV; /* Interrupt vector: receive. */
- unsigned char Ring_Status_IV; /* Interrupt vector: ring status. */
- unsigned char SCB_Clear_IV; /* Interrupt vector: SCB clear. */
- unsigned char Adapter_CHK_IV; /* Interrupt vector: adapter check. */
-
- unsigned short RX_Burst_Size; /* Max. number of transfer cycles. */
- unsigned short TX_Burst_Size; /* During DMA burst; even value! */
- unsigned short DMA_Abort_Thrhld; /* Number of DMA retries. */
-
- unsigned long SCB_Addr; /* SCB address: even, word aligned, high-low. */
- unsigned long SSB_Addr; /* SSB address: even, word aligned, high-low. */
-} IPB, *IPB_Ptr;
-#pragma pack()
-
-/*
- * OPEN Command Parameter List (OCPL) (can be reused, if the adapter has to
- * be reopened)
- */
-#define BUFFER_SIZE 2048 /* Buffers on Adapter. */
-#define TPL_SIZE 8+6*TX_FRAG_NUM /* Depending on fragments per TPL. */
-#define RPL_SIZE 14 /* (with TI firmware v2.26 handling
- * up to nine fragments possible)
- */
-#define TX_BUF_MIN 20 /* ??? (Stephan: calculation with */
-#define TX_BUF_MAX 40 /* BUFFER_SIZE and MAX_FRAME_SIZE) ???
- */
-#define DISABLE_EARLY_TOKEN_RELEASE 0x1000
-
-/* OPEN Options (high-low) */
-#define WRAP_INTERFACE 0x0080 /* Inserting omitted for test
- * purposes; transmit data appears
- * as receive data. (usefull for
- * testing; change: CLOSE necessary)
- */
-#define DISABLE_HARD_ERROR 0x0040 /* On HARD_ERROR & TRANSMIT_BEACON
- * no RING.STATUS interrupt.
- */
-#define DISABLE_SOFT_ERROR 0x0020 /* On SOFT_ERROR, no RING.STATUS
- * interrupt.
- */
-#define PASS_ADAPTER_MAC_FRAMES 0x0010 /* Passing unsupported MAC frames
- * to system.
- */
-#define PASS_ATTENTION_FRAMES 0x0008 /* All changed attention MAC frames are
- * passed to the system.
- */
-#define PAD_ROUTING_FIELD 0x0004 /* Routing field is padded to 18
- * bytes.
- */
-#define FRAME_HOLD 0x0002 /* Adapter waits for entire frame before
- * initiating DMA transfer; otherwise:
- * DMA transfer initiation if internal
- * buffer filled.
- */
-#define CONTENDER 0x0001 /* Adapter participates in the monitor
- * contention process.
- */
-#define PASS_BEACON_MAC_FRAMES 0x8000 /* Adapter passes beacon MAC frames
- * to the system.
- */
-#define EARLY_TOKEN_RELEASE 0x1000 /* Only valid in 16 Mbps operation;
- * 0 = ETR. (no effect in 4 Mbps
- * operation)
- */
-#define COPY_ALL_MAC_FRAMES 0x0400 /* All MAC frames are copied to
- * the system. (after OPEN: duplicate
- * address test (DAT) MAC frame is
- * first received frame copied to the
- * system)
- */
-#define COPY_ALL_NON_MAC_FRAMES 0x0200 /* All non MAC frames are copied to
- * the system.
- */
-#define PASS_FIRST_BUF_ONLY 0x0100 /* Passes only first internal buffer
- * of each received frame; FrameSize
- * of RPLs must contain internal
- * BUFFER_SIZE bits for promiscous mode.
- */
-#define ENABLE_FULL_DUPLEX_SELECTION 0x2000 /* Enable the use of full-duplex
- * settings with bits in byte 22 in
- * ocpl. (new feature in firmware
- * version 3.09)
- */
-
-/* Full-duplex settings */
-#define OPEN_FULL_DUPLEX_OFF 0x0000
-#define OPEN_FULL_DUPLEX_ON 0x00c0
-#define OPEN_FULL_DUPLEX_AUTO 0x0080
-
-#define PROD_ID_SIZE 18 /* Length of product ID. */
-
-#define TX_FRAG_NUM 3 /* Number of fragments used in one TPL. */
-#define TX_MORE_FRAGMENTS 0x8000 /* Bit set in DataCount to indicate more
- * fragments following.
- */
-
-#define ISA_MAX_ADDRESS 0x00ffffff
-
-#pragma pack(1)
-typedef struct {
- unsigned short OPENOptions;
- unsigned char NodeAddr[6]; /* Adapter node address; use ROM
- * address
- */
- unsigned long GroupAddr; /* Multicast: high order
- * bytes = 0xC000
- */
- unsigned long FunctAddr; /* High order bytes = 0xC000 */
- unsigned short RxListSize; /* RPL size: 0 (=26), 14, 20 or
- * 26 bytes read by the adapter.
- * (Depending on the number of
- * fragments/list)
- */
- unsigned short TxListSize; /* TPL size */
- unsigned short BufSize; /* Is automatically rounded up to the
- * nearest nK boundary.
- */
- unsigned short FullDuplex;
- unsigned short Reserved;
- unsigned char TXBufMin; /* Number of adapter buffers reserved
- * for transmission a minimum of 2
- * buffers must be allocated.
- */
- unsigned char TXBufMax; /* Maximum number of adapter buffers
- * for transmit; a minimum of 2 buffers
- * must be available for receive.
- * Default: 6
- */
- unsigned short ProdIDAddr[2]; /* Pointer to product ID. */
-} OPB, *OPB_Ptr;
-#pragma pack()
-
-/*
- * SCB: adapter commands enabled by the host system started by writing
- * CMD_INTERRUPT_ADAPTER | CMD_EXECUTE (|SCB_REQUEST) to the SIFCMD IO
- * register. (special case: | CMD_SYSTEM_IRQ for initialization)
- */
-#pragma pack(1)
-typedef struct {
- unsigned short CMD; /* Command code */
- unsigned short Parm[2]; /* Pointer to Command Parameter Block */
-} SCB; /* System Command Block (32 bit physical address; big endian)*/
-#pragma pack()
-
-/*
- * SSB: adapter command return status can be evaluated after COMMAND_STATUS
- * adapter to system interrupt after reading SSB, the availability of the SSB
- * has to be told the adapter by writing CMD_INTERRUPT_ADAPTER | CMD_SSB_CLEAR
- * in the SIFCMD IO register.
- */
-#pragma pack(1)
-typedef struct {
- unsigned short STS; /* Status code */
- unsigned short Parm[3]; /* Parameter or pointer to Status Parameter
- * Block.
- */
-} SSB; /* System Status Block (big endian - physical address) */
-#pragma pack()
-
-typedef struct {
- unsigned short BurnedInAddrPtr; /* Pointer to adapter burned in
- * address. (BIA)
- */
- unsigned short SoftwareLevelPtr;/* Pointer to software level data. */
- unsigned short AdapterAddrPtr; /* Pointer to adapter addresses. */
- unsigned short AdapterParmsPtr; /* Pointer to adapter parameters. */
- unsigned short MACBufferPtr; /* Pointer to MAC buffer. (internal) */
- unsigned short LLCCountersPtr; /* Pointer to LLC counters. */
- unsigned short SpeedFlagPtr; /* Pointer to data rate flag.
- * (4/16 Mbps)
- */
- unsigned short AdapterRAMPtr; /* Pointer to adapter RAM found. (KB) */
-} INTPTRS; /* Adapter internal pointers */
-
-#pragma pack(1)
-typedef struct {
- unsigned char Line_Error; /* Line error: code violation in
- * frame or in a token, or FCS error.
- */
- unsigned char Internal_Error; /* IBM specific. (Reserved_1) */
- unsigned char Burst_Error;
- unsigned char ARI_FCI_Error; /* ARI/FCI bit zero in AMP or
- * SMP MAC frame.
- */
- unsigned char AbortDelimeters; /* IBM specific. (Reserved_2) */
- unsigned char Reserved_3;
- unsigned char Lost_Frame_Error; /* Receive of end of transmitted
- * frame failed.
- */
- unsigned char Rx_Congest_Error; /* Adapter in repeat mode has not
- * enough buffer space to copy incoming
- * frame.
- */
- unsigned char Frame_Copied_Error;/* ARI bit not zero in frame
- * addressed to adapter.
- */
- unsigned char Frequency_Error; /* IBM specific. (Reserved_4) */
- unsigned char Token_Error; /* (active only in monitor station) */
- unsigned char Reserved_5;
- unsigned char DMA_Bus_Error; /* DMA bus errors not exceeding the
- * abort thresholds.
- */
- unsigned char DMA_Parity_Error; /* DMA parity errors not exceeding
- * the abort thresholds.
- */
-} ERRORTAB; /* Adapter error counters */
-#pragma pack()
-
-
-/*--------------------- Send and Receive definitions -------------------*/
-#pragma pack(1)
-typedef struct {
- unsigned short DataCount; /* Value 0, even and odd values are
- * permitted; value is unaltered most
- * significant bit set: following
- * fragments last fragment: most
- * significant bit is not evaluated.
- * (???)
- */
- unsigned long DataAddr; /* Pointer to frame data fragment;
- * even or odd.
- */
-} Fragment;
-#pragma pack()
-
-#define MAX_FRAG_NUMBERS 9 /* Maximal number of fragments possible to use
- * in one RPL/TPL. (depending on TI firmware
- * version)
- */
-#define MAX_TX_QUEUE 10 /* Maximal number of skb's queued in driver. */
-
-/*
- * AC (1), FC (1), Dst (6), Src (6), RIF (18), Data (4472) = 4504
- * The packet size can be one of the follows: 548, 1502, 2084, 4504, 8176,
- * 11439, 17832. Refer to TMS380 Second Generation Token Ring User's Guide
- * Page 2-27.
- */
-#define HEADER_SIZE (1 + 1 + 6 + 6)
-#define SRC_SIZE 18
-#define MIN_DATA_SIZE 516
-#define DEFAULT_DATA_SIZE 4472
-#define MAX_DATA_SIZE 17800
-
-#define DEFAULT_PACKET_SIZE (HEADER_SIZE + SRC_SIZE + DEFAULT_DATA_SIZE)
-#define MIN_PACKET_SIZE (HEADER_SIZE + SRC_SIZE + MIN_DATA_SIZE)
-#define MAX_PACKET_SIZE (HEADER_SIZE + SRC_SIZE + MAX_DATA_SIZE)
-
-/*
- * Macros to deal with the frame status field.
- */
-#define AC_NOT_RECOGNIZED 0x00
-#define GROUP_BIT 0x80
-#define GET_TRANSMIT_STATUS_HIGH_BYTE(Ts) ((unsigned char)((Ts) >> 8))
-#define GET_FRAME_STATUS_HIGH_AC(Fs) ((unsigned char)(((Fs) & 0xC0) >> 6))
-#define GET_FRAME_STATUS_LOW_AC(Fs) ((unsigned char)(((Fs) & 0x0C) >> 2))
-#define DIRECTED_FRAME(Context) (!((Context)->MData[2] & GROUP_BIT))
-
-
-/*--------------------- Send Functions ---------------------------------*/
-/* define TX_CSTAT _REQUEST (R) and _COMPLETE (C) values (high-low) */
-
-#define TX_VALID 0x0080 /* R: set via TRANSMIT.VALID interrupt.
- * C: always reset to zero!
- */
-#define TX_FRAME_COMPLETE 0x0040 /* R: must be reset to zero.
- * C: set to one.
- */
-#define TX_START_FRAME 0x0020 /* R: start of a frame: 1
- * C: unchanged.
- */
-#define TX_END_FRAME 0x0010 /* R: end of a frame: 1
- * C: unchanged.
- */
-#define TX_FRAME_IRQ 0x0008 /* R: request interrupt generation
- * after transmission.
- * C: unchanged.
- */
-#define TX_ERROR 0x0004 /* R: reserved.
- * C: set to one if Error occurred.
- */
-#define TX_INTERFRAME_WAIT 0x0004
-#define TX_PASS_CRC 0x0002 /* R: set if CRC value is already
- * calculated. (valid only in
- * FRAME_START TPL)
- * C: unchanged.
- */
-#define TX_PASS_SRC_ADDR 0x0001 /* R: adapter uses explicit frame
- * source address and does not overwrite
- * with the adapter node address.
- * (valid only in FRAME_START TPL)
- *
- * C: unchanged.
- */
-#define TX_STRIP_FS 0xFF00 /* R: reserved.
- * C: if no Transmission Error,
- * field contains copy of FS byte after
- * stripping of frame.
- */
-
-/*
- * Structure of Transmit Parameter Lists (TPLs) (only one frame every TPL,
- * but possibly multiple TPLs for one frame) the length of the TPLs has to be
- * initialized in the OPL. (OPEN parameter list)
- */
-#define TPL_NUM 9 /* Number of Transmit Parameter Lists.
- * !! MUST BE >= 3 !!
- */
-
-#pragma pack(1)
-typedef struct s_TPL TPL;
-
-struct s_TPL { /* Transmit Parameter List (align on even word boundaries) */
- unsigned long NextTPLAddr; /* Pointer to next TPL in chain; if
- * pointer is odd: this is the last
- * TPL. Pointing to itself can cause
- * problems!
- */
- volatile unsigned short Status; /* Initialized by the adapter:
- * CSTAT_REQUEST important: update least
- * significant bit first! Set by the
- * adapter: CSTAT_COMPLETE status.
- */
- unsigned short FrameSize; /* Number of bytes to be transmitted
- * as a frame including AC/FC,
- * Destination, Source, Routing field
- * not including CRC, FS, End Delimiter
- * (valid only if START_FRAME bit in
- * CSTAT nonzero) must not be zero in
- * any list; maximum value: (BUFFER_SIZE
- * - 8) * TX_BUF_MAX sum of DataCount
- * values in FragmentList must equal
- * Frame_Size value in START_FRAME TPL!
- * frame data fragment list.
- */
-
- /* TPL/RPL size in OPEN parameter list depending on maximal
- * numbers of fragments used in one parameter list.
- */
- Fragment FragList[TX_FRAG_NUM]; /* Maximum: nine frame fragments in one
- * TPL actual version of firmware: 9
- * fragments possible.
- */
-#pragma pack()
-
- /* Special proprietary data and precalculations */
-
- TPL *NextTPLPtr; /* Pointer to next TPL in chain. */
- unsigned char *MData;
- struct sk_buff *Skb;
- unsigned char TPLIndex;
- volatile unsigned char BusyFlag;/* Flag: TPL busy? */
-};
-
-/* ---------------------Receive Functions-------------------------------*
- * define RECEIVE_CSTAT_REQUEST (R) and RECEIVE_CSTAT_COMPLETE (C) values.
- * (high-low)
- */
-#define RX_VALID 0x0080 /* R: set; tell adapter with
- * RECEIVE.VALID interrupt.
- * C: reset to zero.
- */
-#define RX_FRAME_COMPLETE 0x0040 /* R: must be reset to zero,
- * C: set to one.
- */
-#define RX_START_FRAME 0x0020 /* R: must be reset to zero.
- * C: set to one on the list.
- */
-#define RX_END_FRAME 0x0010 /* R: must be reset to zero.
- * C: set to one on the list
- * that ends the frame.
- */
-#define RX_FRAME_IRQ 0x0008 /* R: request interrupt generation
- * after receive.
- * C: unchanged.
- */
-#define RX_INTERFRAME_WAIT 0x0004 /* R: after receiving a frame:
- * interrupt and wait for a
- * RECEIVE.CONTINUE.
- * C: unchanged.
- */
-#define RX_PASS_CRC 0x0002 /* R: if set, the adapter includes
- * the CRC in data passed. (last four
- * bytes; valid only if FRAME_START is
- * set)
- * C: set, if CRC is included in
- * received data.
- */
-#define RX_PASS_SRC_ADDR 0x0001 /* R: adapter uses explicit frame
- * source address and does not
- * overwrite with the adapter node
- * address. (valid only if FRAME_START
- * is set)
- * C: unchanged.
- */
-#define RX_RECEIVE_FS 0xFC00 /* R: reserved; must be reset to zero.
- * C: on lists with START_FRAME, field
- * contains frame status field from
- * received frame; otherwise cleared.
- */
-#define RX_ADDR_MATCH 0x0300 /* R: reserved; must be reset to zero.
- * C: address match code mask.
- */
-#define RX_STATUS_MASK 0x00FF /* Mask for receive status bits. */
-
-#define RX_INTERN_ADDR_MATCH 0x0100 /* C: internally address match. */
-#define RX_EXTERN_ADDR_MATCH 0x0200 /* C: externally matched via
- * XMATCH/XFAIL interface.
- */
-#define RX_INTEXT_ADDR_MATCH 0x0300 /* C: internally and externally
- * matched.
- */
-#define RX_READY (RX_VALID | RX_FRAME_IRQ) /* Ready for receive. */
-
-/* Constants for Command Status Interrupt.
- * COMMAND_REJECT status field bit functions (SSB.Parm[0])
- */
-#define ILLEGAL_COMMAND 0x0080 /* Set if an unknown command
- * is issued to the adapter
- */
-#define ADDRESS_ERROR 0x0040 /* Set if any address field in
- * the SCB is odd. (not word aligned)
- */
-#define ADAPTER_OPEN 0x0020 /* Command issued illegal with
- * open adapter.
- */
-#define ADAPTER_CLOSE 0x0010 /* Command issued illegal with
- * closed adapter.
- */
-#define SAME_COMMAND 0x0008 /* Command issued with same command
- * already executing.
- */
-
-/* OPEN_COMPLETION values (SSB.Parm[0], MSB) */
-#define NODE_ADDR_ERROR 0x0040 /* Wrong address or BIA read
- * zero address.
- */
-#define LIST_SIZE_ERROR 0x0020 /* If List_Size value not in 0,
- * 14, 20, 26.
- */
-#define BUF_SIZE_ERROR 0x0010 /* Not enough available memory for
- * two buffers.
- */
-#define TX_BUF_COUNT_ERROR 0x0004 /* Remaining receive buffers less than
- * two.
- */
-#define OPEN_ERROR 0x0002 /* Error during ring insertion; more
- * information in bits 8-15.
- */
-
-/* Standard return codes */
-#define GOOD_COMPLETION 0x0080 /* =OPEN_SUCCESSFULL */
-#define INVALID_OPEN_OPTION 0x0001 /* OPEN options are not supported by
- * the adapter.
- */
-
-/* OPEN phases; details of OPEN_ERROR (SSB.Parm[0], LSB) */
-#define OPEN_PHASES_MASK 0xF000 /* Check only the bits 8-11. */
-#define LOBE_MEDIA_TEST 0x1000
-#define PHYSICAL_INSERTION 0x2000
-#define ADDRESS_VERIFICATION 0x3000
-#define PARTICIPATION_IN_RING_POLL 0x4000
-#define REQUEST_INITIALISATION 0x5000
-#define FULLDUPLEX_CHECK 0x6000
-
-/* OPEN error codes; details of OPEN_ERROR (SSB.Parm[0], LSB) */
-#define OPEN_ERROR_CODES_MASK 0x0F00 /* Check only the bits 12-15. */
-#define OPEN_FUNCTION_FAILURE 0x0100 /* Unable to transmit to itself or
- * frames received before insertion.
- */
-#define OPEN_SIGNAL_LOSS 0x0200 /* Signal loss condition detected at
- * receiver.
- */
-#define OPEN_TIMEOUT 0x0500 /* Insertion timer expired before
- * logical insertion.
- */
-#define OPEN_RING_FAILURE 0x0600 /* Unable to receive own ring purge
- * MAC frames.
- */
-#define OPEN_RING_BEACONING 0x0700 /* Beacon MAC frame received after
- * ring insertion.
- */
-#define OPEN_DUPLICATE_NODEADDR 0x0800 /* Other station in ring found
- * with the same address.
- */
-#define OPEN_REQUEST_INIT 0x0900 /* RPS present but does not respond. */
-#define OPEN_REMOVE_RECEIVED 0x0A00 /* Adapter received a remove adapter
- * MAC frame.
- */
-#define OPEN_FULLDUPLEX_SET 0x0D00 /* Got this with full duplex on when
- * trying to connect to a normal ring.
- */
-
-/* SET_BRIDGE_PARMS return codes: */
-#define BRIDGE_INVALID_MAX_LEN 0x4000 /* MAX_ROUTING_FIELD_LENGTH odd,
- * less than 6 or > 30.
- */
-#define BRIDGE_INVALID_SRC_RING 0x2000 /* SOURCE_RING number zero, too large
- * or = TARGET_RING.
- */
-#define BRIDGE_INVALID_TRG_RING 0x1000 /* TARGET_RING number zero, too large
- * or = SOURCE_RING.
- */
-#define BRIDGE_INVALID_BRDGE_NO 0x0800 /* BRIDGE_NUMBER too large. */
-#define BRIDGE_INVALID_OPTIONS 0x0400 /* Invalid bridge options. */
-#define BRIDGE_DIAGS_FAILED 0x0200 /* Diagnostics of TMS380SRA failed. */
-#define BRIDGE_NO_SRA 0x0100 /* The TMS380SRA does not exist in HW
- * configuration.
- */
-
-/*
- * Bring Up Diagnostics error codes.
- */
-#define BUD_INITIAL_ERROR 0x0
-#define BUD_CHECKSUM_ERROR 0x1
-#define BUD_ADAPTER_RAM_ERROR 0x2
-#define BUD_INSTRUCTION_ERROR 0x3
-#define BUD_CONTEXT_ERROR 0x4
-#define BUD_PROTOCOL_ERROR 0x5
-#define BUD_INTERFACE_ERROR 0x6
-
-/* BUD constants */
-#define BUD_MAX_RETRIES 3
-#define BUD_MAX_LOOPCNT 6
-#define BUD_TIMEOUT 3000
-
-/* Initialization constants */
-#define INIT_MAX_RETRIES 3 /* Maximum three retries. */
-#define INIT_MAX_LOOPCNT 22 /* Maximum loop counts. */
-
-/* RING STATUS field values (high/low) */
-#define SIGNAL_LOSS 0x0080 /* Loss of signal on the ring
- * detected.
- */
-#define HARD_ERROR 0x0040 /* Transmitting or receiving beacon
- * frames.
- */
-#define SOFT_ERROR 0x0020 /* Report error MAC frame
- * transmitted.
- */
-#define TRANSMIT_BEACON 0x0010 /* Transmitting beacon frames on the
- * ring.
- */
-#define LOBE_WIRE_FAULT 0x0008 /* Open or short circuit in the
- * cable to concentrator; adapter
- * closed.
- */
-#define AUTO_REMOVAL_ERROR 0x0004 /* Lobe wrap test failed, deinserted;
- * adapter closed.
- */
-#define REMOVE_RECEIVED 0x0001 /* Received a remove ring station MAC
- * MAC frame request; adapter closed.
- */
-#define COUNTER_OVERFLOW 0x8000 /* Overflow of one of the adapters
- * error counters; READ.ERROR.LOG.
- */
-#define SINGLE_STATION 0x4000 /* Adapter is the only station on the
- * ring.
- */
-#define RING_RECOVERY 0x2000 /* Claim token MAC frames on the ring;
- * reset after ring purge frame.
- */
-
-#define ADAPTER_CLOSED (LOBE_WIRE_FAULT | AUTO_REMOVAL_ERROR |\
- REMOVE_RECEIVED)
-
-/* Adapter_check_block.Status field bit assignments: */
-#define DIO_PARITY 0x8000 /* Adapter detects bad parity
- * through direct I/O access.
- */
-#define DMA_READ_ABORT 0x4000 /* Aborting DMA read operation
- * from system Parm[0]: 0=timeout,
- * 1=parity error, 2=bus error;
- * Parm[1]: 32 bit pointer to host
- * system address at failure.
- */
-#define DMA_WRITE_ABORT 0x2000 /* Aborting DMA write operation
- * to system. (parameters analogous to
- * DMA_READ_ABORT)
- */
-#define ILLEGAL_OP_CODE 0x1000 /* Illegal operation code in the
- * the adapters firmware Parm[0]-2:
- * communications processor registers
- * R13-R15.
- */
-#define PARITY_ERRORS 0x0800 /* Adapter detects internal bus
- * parity error.
- */
-#define RAM_DATA_ERROR 0x0080 /* Valid only during RAM testing;
- * RAM data error Parm[0-1]: 32 bit
- * pointer to RAM location.
- */
-#define RAM_PARITY_ERROR 0x0040 /* Valid only during RAM testing;
- * RAM parity error Parm[0-1]: 32 bit
- * pointer to RAM location.
- */
-#define RING_UNDERRUN 0x0020 /* Internal DMA underrun when
- * transmitting onto ring.
- */
-#define INVALID_IRQ 0x0008 /* Unrecognized interrupt generated
- * internal to adapter Parm[0-2]:
- * adapter register R13-R15.
- */
-#define INVALID_ERROR_IRQ 0x0004 /* Unrecognized error interrupt
- * generated Parm[0-2]: adapter register
- * R13-R15.
- */
-#define INVALID_XOP 0x0002 /* Unrecognized XOP request in
- * communication processor Parm[0-2]:
- * adapter register R13-R15.
- */
-#define CHECKADDR 0x05E0 /* Adapter check status information
- * address offset.
- */
-#define ROM_PAGE_0 0x0000 /* Adapter ROM page 0. */
-
-/*
- * RECEIVE.STATUS interrupt result SSB values: (high-low)
- * (RECEIVE_COMPLETE field bit definitions in SSB.Parm[0])
- */
-#define RX_COMPLETE 0x0080 /* SSB.Parm[0]; SSB.Parm[1]: 32
- * bit pointer to last RPL.
- */
-#define RX_SUSPENDED 0x0040 /* SSB.Parm[0]; SSB.Parm[1]: 32
- * bit pointer to RPL with odd
- * forward pointer.
- */
-
-/* Valid receive CSTAT: */
-#define RX_FRAME_CONTROL_BITS (RX_VALID | RX_START_FRAME | RX_END_FRAME | \
- RX_FRAME_COMPLETE)
-#define VALID_SINGLE_BUFFER_FRAME (RX_START_FRAME | RX_END_FRAME | \
- RX_FRAME_COMPLETE)
-
-typedef enum SKB_STAT SKB_STAT;
-enum SKB_STAT {
- SKB_UNAVAILABLE,
- SKB_DMA_DIRECT,
- SKB_DATA_COPY
-};
-
-/* Receive Parameter List (RPL) The length of the RPLs has to be initialized
- * in the OPL. (OPEN parameter list)
- */
-#define RPL_NUM 3
-
-#define RX_FRAG_NUM 1 /* Maximal number of used fragments in one RPL.
- * (up to firmware v2.24: 3, now: up to 9)
- */
-
-#pragma pack(1)
-typedef struct s_RPL RPL;
-struct s_RPL { /* Receive Parameter List */
- unsigned long NextRPLAddr; /* Pointer to next RPL in chain
- * (normalized = physical 32 bit
- * address) if pointer is odd: this
- * is last RPL. Pointing to itself can
- * cause problems!
- */
- volatile unsigned short Status; /* Set by creation of Receive Parameter
- * List RECEIVE_CSTAT_COMPLETE set by
- * adapter in lists that start or end
- * a frame.
- */
- volatile unsigned short FrameSize; /* Number of bytes received as a
- * frame including AC/FC, Destination,
- * Source, Routing field not including
- * CRC, FS (Frame Status), End Delimiter
- * (valid only if START_FRAME bit in
- * CSTAT nonzero) must not be zero in
- * any list; maximum value: (BUFFER_SIZE
- * - 8) * TX_BUF_MAX sum of DataCount
- * values in FragmentList must equal
- * Frame_Size value in START_FRAME TPL!
- * frame data fragment list
- */
-
- /* TPL/RPL size in OPEN parameter list depending on maximal numbers
- * of fragments used in one parameter list.
- */
- Fragment FragList[RX_FRAG_NUM]; /* Maximum: nine frame fragments in
- * one TPL. Actual version of firmware:
- * 9 fragments possible.
- */
-#pragma pack()
-
- /* Special proprietary data and precalculations. */
- RPL *NextRPLPtr; /* Logical pointer to next RPL in chain. */
- unsigned char *MData;
- struct sk_buff *Skb;
- SKB_STAT SkbStat;
- int RPLIndex;
-};
-
-/* Information that need to be kept for each board. */
-typedef struct net_local {
-#pragma pack(1)
- IPB ipb; /* Initialization Parameter Block. */
- SCB scb; /* System Command Block: system to adapter
- * communication.
- */
- SSB ssb; /* System Status Block: adapter to system
- * communication.
- */
- OPB ocpl; /* Open Options Parameter Block. */
-
- ERRORTAB errorlogtable; /* Adapter statistic error counters.
- * (read from adapter memory)
- */
- unsigned char ProductID[PROD_ID_SIZE + 1]; /* Product ID */
-#pragma pack()
-
- TPL Tpl[TPL_NUM];
- TPL *TplFree;
- TPL *TplBusy;
- unsigned char LocalTxBuffers[TPL_NUM][DEFAULT_PACKET_SIZE];
-
- RPL Rpl[RPL_NUM];
- RPL *RplHead;
- RPL *RplTail;
- unsigned char LocalRxBuffers[RPL_NUM][DEFAULT_PACKET_SIZE];
-
- int DataRate;
- unsigned char ScbInUse;
- unsigned short CMDqueue;
-
- unsigned int DeviceType;
-
- unsigned long AdapterOpenFlag:1;
- unsigned long AdapterVirtOpenFlag:1;
- unsigned long OpenCommandIssued:1;
- unsigned long TransmitCommandActive:1;
- unsigned long TransmitHaltScheduled:1;
- unsigned long HaltInProgress:1;
- unsigned long LobeWireFaultLogged:1;
- unsigned long ReOpenInProgress:1;
- unsigned long Sleeping:1;
-
- unsigned long LastOpenStatus;
- unsigned short CurrentRingStatus;
- unsigned long MaxPacketSize;
-
- unsigned long StartTime;
- unsigned long LastSendTime;
-
- struct sk_buff_head SendSkbQueue;
- unsigned short QueueSkb;
-
- struct tr_statistics MacStat; /* MAC statistics structure */
-
- struct timer_list timer;
-
- wait_queue_head_t wait_for_tok_int;
-
- INTPTRS intptrs; /* Internal adapter pointer. Must be read
- * before OPEN command.
- */
-} NET_LOCAL;
-
-#endif /* __KERNEL__ */
-#endif /* __LINUX_SKTR_H */
diff --git a/drivers/net/tokenring/sktr_firmware.h b/drivers/net/tokenring/sktr_firmware.h
index 25dd973d4..e69de29bb 100644
--- a/drivers/net/tokenring/sktr_firmware.h
+++ b/drivers/net/tokenring/sktr_firmware.h
@@ -1,3616 +0,0 @@
-/*
- * The firmware this driver downloads into the tokenring card is a
- * separate program and is not GPL'd source code, even though the Linux
- * side driver and the routine that loads this data into the card are.
- *
- * This firmware is licensed to you strictly for use in conjunction
- * with the use of SysKonnect TokenRing adapters. There is no
- * waranty expressed or implied about its fitness for any purpose.
- */
-
-/* sktr_firmware.h: SysKonnect TokenRing driver firmware dump for Linux.
- *
- * Notes:
- * - Loaded from sktr_reset_adapter upon adapter reset.
- *
- * Authors:
- * - Christoph Goos <cgoos@syskonnect.de>
- */
-
-#include <linux/config.h>
-
-#if defined(CONFIG_SKTR) || defined(CONFIG_SKTR_MODULE)
-
-unsigned char sktr_code[] = {
- 0x00, 0x00, 0x00, 0xA0, 0x00, 0x20, 0x68, 0x54,
- 0x73, 0x69, 0x63, 0x20, 0x64, 0x6F, 0x20, 0x65,
- 0x73, 0x69, 0x72, 0x20, 0x6C, 0x65, 0x61, 0x65,
- 0x65, 0x73, 0x20, 0x64, 0x6E, 0x75, 0x65, 0x64,
- 0x20, 0x72, 0x69, 0x6C, 0x65, 0x63, 0x63, 0x6E,
- 0x20, 0x65, 0x6E, 0x4F, 0x79, 0x6C, 0x20, 0x2C,
- 0x6C, 0x41, 0x20, 0x6C, 0x69, 0x72, 0x68, 0x67,
- 0x73, 0x74, 0x72, 0x20, 0x73, 0x65, 0x72, 0x65,
- 0x65, 0x76, 0x2E, 0x64, 0x60, 0x01, 0x42, 0x01,
- 0x00, 0x08, 0x08, 0x16, 0xB0, 0x03, 0xE0, 0x04,
- 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0xFF, 0xFF,
- 0xFC, 0x13, 0x80, 0x03, 0xA0, 0x07, 0x42, 0x01,
- 0x00, 0x08, 0x20, 0x07, 0x00, 0x00, 0xE0, 0x04,
- 0x00, 0x01, 0x8B, 0x07, 0x00, 0x3D, 0x60, 0x01,
- 0x42, 0x01, 0x80, 0x00, 0x09, 0x13, 0x8B, 0x07,
- 0x00, 0x2D, 0x20, 0xC0, 0x4E, 0x01, 0x80, 0x02,
- 0x41, 0x0F, 0x02, 0x11, 0x8B, 0x07, 0x00, 0x3D,
- 0x0B, 0xC8, 0x4A, 0x01, 0x00, 0x02, 0x00, 0x90,
- 0xA0, 0x09, 0x00, 0xC8, 0x66, 0x01, 0xE0, 0x02,
- 0xA0, 0x00, 0xA0, 0x07, 0x04, 0x01, 0x20, 0x00,
- 0xA0, 0x01, 0x40, 0x01, 0x00, 0xFE, 0x20, 0x48,
- 0x2A, 0xE0, 0x42, 0x01, 0xE0, 0x04, 0x02, 0x01,
- 0xE0, 0x04, 0x60, 0x09, 0xE0, 0x04, 0x82, 0x01,
- 0x60, 0x01, 0x1C, 0x01, 0x04, 0x00, 0x03, 0x16,
- 0xE0, 0x01, 0x40, 0x01, 0x00, 0x0C, 0xA0, 0x06,
- 0xBC, 0xA1, 0xA0, 0x07, 0x04, 0x01, 0x2D, 0x00,
- 0x20, 0xC2, 0x00, 0xE0, 0x88, 0x02, 0x11, 0xE3,
- 0x14, 0x16, 0xA0, 0x07, 0x04, 0x01, 0x2E, 0x00,
- 0x60, 0x01, 0x42, 0x01, 0x00, 0x03, 0x0D, 0x16,
- 0xA0, 0x07, 0x04, 0x01, 0x21, 0x00, 0x88, 0x07,
- 0x00, 0xA0, 0x89, 0x07, 0xFE, 0xFF, 0xA8, 0x09,
- 0xA9, 0x09, 0x8A, 0x07, 0x02, 0xE0, 0xA0, 0x06,
- 0x84, 0xEC, 0x56, 0x10, 0x88, 0x07, 0x00, 0x90,
- 0x89, 0x07, 0xFE, 0x9F, 0xA8, 0x09, 0xA9, 0x09,
- 0x8A, 0x07, 0x78, 0xE0, 0xA0, 0x06, 0x84, 0xEC,
- 0x4B, 0x10, 0xA0, 0x05, 0x04, 0x01, 0x88, 0x07,
- 0x08, 0x00, 0x89, 0x07, 0x7A, 0x00, 0x00, 0x03,
- 0x01, 0x00, 0xA0, 0x06, 0xD2, 0xAC, 0x40, 0x10,
- 0xA0, 0x06, 0xBC, 0xA1, 0xE0, 0x02, 0xF4, 0x03,
- 0x88, 0x07, 0xA0, 0x00, 0x89, 0x07, 0xFE, 0x00,
- 0xA0, 0x06, 0xD2, 0xAC, 0x35, 0x10, 0xE0, 0x02,
- 0xA0, 0x00, 0xE0, 0x04, 0x7E, 0x01, 0xC8, 0x04,
- 0x09, 0x02, 0xF2, 0x03, 0x48, 0x62, 0xE0, 0xC1,
- 0x40, 0x01, 0xA0, 0x01, 0x40, 0x01, 0x00, 0x04,
- 0x18, 0xCE, 0x09, 0x06, 0xFD, 0x16, 0xA0, 0x01,
- 0x40, 0x01, 0x00, 0x40, 0x07, 0xC8, 0x40, 0x01,
- 0x88, 0x07, 0xF4, 0x03, 0x89, 0x07, 0xFE, 0x3F,
- 0xA0, 0x06, 0xD2, 0xAC, 0x19, 0x10, 0xE0, 0x02,
- 0xA0, 0x00, 0xA0, 0x06, 0xFA, 0xAD, 0x14, 0x10,
- 0x08, 0xC8, 0x44, 0x04, 0x09, 0xC8, 0x46, 0x04,
- 0xA0, 0x06, 0x28, 0xAD, 0x0D, 0x10, 0x81, 0x07,
- 0x7C, 0xE0, 0xB1, 0xC0, 0x26, 0x13, 0x01, 0xC8,
- 0xE0, 0x00, 0xA0, 0x05, 0x04, 0x01, 0x92, 0x06,
- 0x03, 0x10, 0x60, 0xC0, 0xE0, 0x00, 0xF5, 0x10,
- 0xE0, 0x01, 0x04, 0x01, 0x10, 0x00, 0xB0, 0x03,
- 0xFF, 0x10, 0xA0, 0x01, 0x04, 0x01, 0x00, 0x80,
- 0x80, 0x03, 0x80, 0x07, 0xA0, 0x00, 0xC2, 0x04,
- 0x80, 0xCC, 0x81, 0x07, 0xAA, 0xA1, 0x82, 0x02,
- 0x1E, 0x00, 0x02, 0x16, 0x81, 0x07, 0xB4, 0xA1,
- 0x81, 0xC4, 0x81, 0x8C, 0xE9, 0x16, 0x82, 0x02,
- 0x7C, 0x00, 0xF2, 0x16, 0x00, 0x03, 0x0F, 0x00,
- 0x5B, 0x04, 0x81, 0x07, 0x08, 0xE1, 0x82, 0x07,
- 0x04, 0x00, 0xE0, 0x04, 0x80, 0x01, 0xE0, 0x04,
- 0x82, 0x01, 0x91, 0xC4, 0xB1, 0x8C, 0xD8, 0x16,
- 0x82, 0x02, 0x7C, 0x00, 0xFA, 0x16, 0x20, 0xC8,
- 0x04, 0xE0, 0x82, 0x01, 0x20, 0xE8, 0x0C, 0xE0,
- 0x82, 0x01, 0x20, 0xC8, 0x10, 0xE0, 0x80, 0x01,
- 0x81, 0x07, 0x86, 0xE0, 0xB1, 0xC0, 0x07, 0x13,
- 0xB1, 0xC4, 0xFC, 0x10, 0xA0, 0x07, 0x04, 0x01,
- 0x2E, 0x00, 0x60, 0x04, 0xAA, 0xA1, 0x81, 0x07,
- 0x34, 0xE0, 0x82, 0x07, 0xFC, 0x05, 0x83, 0x07,
- 0x0A, 0x00, 0xB1, 0xCC, 0x43, 0x06, 0xFD, 0x16,
- 0x02, 0x02, 0x00, 0x06, 0x60, 0xD0, 0x4E, 0x01,
- 0xED, 0x13, 0x21, 0x02, 0x00, 0xF7, 0x21, 0x02,
- 0x00, 0xC0, 0x81, 0xDC, 0x60, 0xD0, 0x4F, 0x01,
- 0xC1, 0xC0, 0x41, 0x09, 0x21, 0x02, 0x00, 0xF0,
- 0x81, 0xDC, 0x43, 0x02, 0x00, 0x0F, 0x23, 0x02,
- 0x00, 0xF0, 0x83, 0xDC, 0x01, 0x02, 0x32, 0x0C,
- 0xA0, 0xC0, 0x44, 0x04, 0xE0, 0xC0, 0x46, 0x04,
- 0x03, 0xC1, 0x02, 0x61, 0x84, 0x05, 0x04, 0xC8,
- 0x48, 0x04, 0x03, 0xC1, 0x84, 0x05, 0x04, 0xA1,
- 0x01, 0xA1, 0x04, 0xC8, 0x30, 0x0C, 0x03, 0xC1,
- 0x84, 0x05, 0xF1, 0x04, 0x04, 0x06, 0xFD, 0x16,
- 0x08, 0x02, 0x00, 0xA0, 0xA8, 0x09, 0x60, 0xC2,
- 0x30, 0x0C, 0x29, 0x02, 0xFF, 0x03, 0xA9, 0x09,
- 0x29, 0x02, 0x40, 0x00, 0x80, 0x07, 0x00, 0x90,
- 0xA0, 0x09, 0x8A, 0x07, 0xFE, 0x9F, 0x2A, 0x02,
- 0xFF, 0x03, 0xAA, 0x09, 0x01, 0x02, 0x32, 0x0C,
- 0x05, 0x02, 0x00, 0x00, 0x03, 0xC1, 0x84, 0x05,
- 0x11, 0x07, 0xC1, 0x05, 0x85, 0x05, 0x04, 0x06,
- 0x0B, 0x13, 0x85, 0x80, 0xF9, 0x1A, 0x05, 0x80,
- 0xF8, 0x1A, 0x85, 0x82, 0xF5, 0x1A, 0x05, 0x82,
- 0xF4, 0x1A, 0x45, 0x82, 0xF1, 0x1A, 0xF1, 0x10,
- 0x20, 0x2D, 0x02, 0x00, 0x60, 0x01, 0x40, 0x01,
- 0x00, 0x40, 0x06, 0x16, 0x8A, 0x07, 0x00, 0x08,
- 0xA0, 0x01, 0x40, 0x01, 0x00, 0x40, 0x48, 0x10,
- 0x60, 0x01, 0x42, 0x01, 0x00, 0x80, 0x06, 0x16,
- 0x8A, 0x07, 0x00, 0x10, 0xA0, 0x01, 0x42, 0x01,
- 0x00, 0x80, 0x3E, 0x10, 0x60, 0x01, 0x02, 0x01,
- 0x00, 0x10, 0x0A, 0x16, 0x60, 0x01, 0x00, 0x01,
- 0x00, 0x04, 0x06, 0x16, 0x8A, 0x07, 0x00, 0x80,
- 0xA0, 0x01, 0x02, 0x01, 0x00, 0x10, 0x30, 0x10,
- 0x60, 0x01, 0x02, 0x01, 0x00, 0x08, 0x0A, 0x16,
- 0x60, 0x01, 0x00, 0x01, 0x00, 0x04, 0x06, 0x16,
- 0xA0, 0x01, 0x02, 0x01, 0x00, 0x08, 0x0D, 0x02,
- 0x01, 0x00, 0x0D, 0x10, 0x60, 0x01, 0x02, 0x01,
- 0x00, 0x04, 0x16, 0x16, 0x60, 0x01, 0x00, 0x01,
- 0x00, 0x08, 0x12, 0x16, 0xA0, 0x01, 0x02, 0x01,
- 0x00, 0x04, 0x0D, 0x02, 0x02, 0x00, 0xA0, 0xC3,
- 0x0E, 0x01, 0xE0, 0xC3, 0x10, 0x01, 0x8A, 0x07,
- 0x00, 0x20, 0x60, 0x01, 0x00, 0x01, 0x00, 0x80,
- 0x0B, 0x13, 0x8A, 0x07, 0x00, 0x40, 0x08, 0x10,
- 0x8A, 0x07, 0x04, 0x00, 0x05, 0x10, 0x8A, 0x07,
- 0x02, 0x00, 0x02, 0x10, 0x8A, 0x07, 0x08, 0x00,
- 0x00, 0x03, 0x00, 0x00, 0xE0, 0x04, 0x82, 0x01,
- 0x8B, 0x07, 0xE0, 0x05, 0xCA, 0xCE, 0xCD, 0xCE,
- 0xCE, 0xCE, 0xCF, 0xC6, 0x20, 0xC3, 0x58, 0x07,
- 0x20, 0x23, 0x04, 0xE0, 0x12, 0x13, 0x8B, 0x07,
- 0x18, 0xFF, 0x8A, 0x02, 0x00, 0x80, 0x0A, 0x13,
- 0x8B, 0x05, 0xCD, 0xA2, 0x8A, 0x02, 0x00, 0x40,
- 0x05, 0x13, 0x8A, 0x02, 0x00, 0x20, 0x02, 0x13,
- 0x8B, 0x07, 0x1D, 0xFF, 0x0B, 0xC8, 0x04, 0x01,
- 0x0D, 0x10, 0x20, 0xD3, 0x05, 0x01, 0xFD, 0x11,
- 0x20, 0xD8, 0xDF, 0x07, 0x17, 0x01, 0x8B, 0x07,
- 0x80, 0xFF, 0x0B, 0xC8, 0x04, 0x01, 0x20, 0xE8,
- 0x0A, 0xE0, 0x00, 0x01, 0xE0, 0xC2, 0x04, 0x01,
- 0xE0, 0x22, 0x86, 0xE1, 0xFB, 0x16, 0xE0, 0x02,
- 0xA0, 0x00, 0xE0, 0x04, 0x82, 0x01, 0x20, 0xE8,
- 0x0A, 0xE0, 0x00, 0x01, 0xE0, 0xC2, 0x00, 0x01,
- 0xE0, 0x22, 0x06, 0xE0, 0xF8, 0x13, 0xA0, 0x01,
- 0x40, 0x01, 0x00, 0xF6, 0x60, 0x04, 0x90, 0xA0,
- 0x00, 0x03, 0x02, 0x00, 0xA0, 0x07, 0x02, 0x01,
- 0xFF, 0xDF, 0x90, 0x03, 0xFF, 0xFF, 0x80, 0x03,
- 0x00, 0x03, 0x02, 0x00, 0x09, 0x07, 0xA0, 0xC2,
- 0x04, 0x01, 0x8A, 0x01, 0x80, 0x00, 0x4A, 0x52,
- 0x89, 0xD2, 0x0A, 0xC8, 0x04, 0x01, 0xA0, 0xD2,
- 0x04, 0x01, 0xF9, 0x16, 0x49, 0x05, 0x89, 0x01,
- 0x00, 0x80, 0x49, 0x01, 0x00, 0x40, 0x0E, 0x13,
- 0x09, 0xF8, 0x3A, 0x07, 0x60, 0xC2, 0x36, 0x07,
- 0x03, 0x16, 0x90, 0x03, 0xFF, 0xFF, 0x80, 0x03,
- 0xE0, 0x04, 0x36, 0x07, 0x54, 0x04, 0x90, 0x03,
- 0xFF, 0xFF, 0x80, 0x03, 0x60, 0x22, 0x86, 0xE1,
- 0xC2, 0x13, 0xE0, 0x04, 0x82, 0x01, 0x60, 0x04,
- 0xE0, 0xA3, 0x00, 0x03, 0x02, 0x00, 0xA0, 0x07,
- 0x62, 0x09, 0xE8, 0x03, 0xC9, 0x04, 0xA0, 0xC1,
- 0x34, 0x06, 0x04, 0x16, 0xA0, 0x06, 0x50, 0xB5,
- 0xE0, 0x04, 0x20, 0x09, 0x86, 0x07, 0xE8, 0x05,
- 0xA0, 0x01, 0x40, 0x01, 0x00, 0x80, 0x20, 0xC2,
- 0x84, 0x01, 0x20, 0x48, 0x08, 0xE0, 0x84, 0x01,
- 0x20, 0x22, 0x08, 0xE0, 0x08, 0x13, 0x60, 0x01,
- 0xAE, 0x01, 0x01, 0x00, 0x04, 0x16, 0xE0, 0x01,
- 0x34, 0x06, 0x00, 0x80, 0x06, 0x10, 0x20, 0xC2,
- 0x32, 0x09, 0x06, 0x13, 0xE0, 0x01, 0x34, 0x06,
- 0x00, 0x08, 0xE0, 0x04, 0x30, 0x06, 0x09, 0x07,
- 0xA0, 0x05, 0xEE, 0x05, 0x20, 0x06, 0xEC, 0x05,
- 0x02, 0x16, 0x16, 0xC2, 0x03, 0x16, 0x49, 0xC2,
- 0x12, 0x16, 0x80, 0x03, 0x98, 0xC5, 0xE8, 0xC1,
- 0x02, 0x00, 0xE0, 0xE9, 0x14, 0xE0, 0x04, 0x00,
- 0xD7, 0x04, 0x27, 0x02, 0x08, 0x00, 0xA0, 0x06,
- 0xE6, 0xB4, 0x16, 0xC2, 0x04, 0x13, 0x28, 0xC8,
- 0x08, 0x00, 0xEC, 0x05, 0xEF, 0x13, 0x54, 0x04,
- 0x00, 0x03, 0x02, 0x00, 0xE0, 0xC1, 0x86, 0x01,
- 0x47, 0x02, 0x0E, 0x00, 0xA7, 0xC2, 0x90, 0xE1,
- 0x5A, 0x04, 0x8A, 0x07, 0x00, 0xA0, 0x0A, 0xC8,
- 0x86, 0x01, 0xC7, 0xA1, 0x27, 0x02, 0x98, 0xE1,
- 0x37, 0xE8, 0x34, 0x06, 0x17, 0xE8, 0xD2, 0x06,
- 0xE0, 0x04, 0x30, 0x06, 0x60, 0x04, 0xF2, 0xA9,
- 0x0A, 0xE8, 0xD2, 0x06, 0xE0, 0x01, 0x34, 0x06,
- 0x00, 0x08, 0xE0, 0x04, 0x30, 0x06, 0x20, 0xE0,
- 0x18, 0xE0, 0x5B, 0x04, 0xA0, 0x05, 0x20, 0x09,
- 0x20, 0x88, 0x20, 0x09, 0x16, 0xE0, 0xE5, 0x1A,
- 0xE0, 0x04, 0x20, 0x09, 0xA0, 0x06, 0xD0, 0xD5,
- 0x80, 0x03, 0xA0, 0x05, 0x32, 0x09, 0x80, 0x03,
- 0x01, 0xC3, 0xFB, 0x13, 0x60, 0x01, 0x6A, 0x09,
- 0x01, 0x00, 0x78, 0x13, 0xA0, 0x05, 0x32, 0x09,
- 0x75, 0x10, 0x41, 0xC0, 0x06, 0x13, 0x01, 0xC8,
- 0x6C, 0x01, 0xE0, 0xC2, 0x02, 0xFC, 0x01, 0x11,
- 0x7B, 0x10, 0x60, 0x01, 0x9C, 0x01, 0x40, 0x00,
- 0x79, 0x16, 0x20, 0xD8, 0x2F, 0x09, 0x83, 0x01,
- 0x41, 0xC0, 0x04, 0x13, 0x01, 0xC8, 0x8A, 0x01,
- 0x01, 0xC8, 0x18, 0x09, 0x86, 0x07, 0x43, 0x00,
- 0x06, 0xC8, 0x6C, 0x01, 0x07, 0x02, 0x02, 0xFC,
- 0x17, 0xC2, 0x60, 0x04, 0xFA, 0xA6, 0xE0, 0x04,
- 0x18, 0x09, 0xC7, 0x61, 0x08, 0x07, 0x60, 0x01,
- 0x06, 0xFC, 0x40, 0x00, 0x02, 0x13, 0x08, 0x02,
- 0x01, 0x00, 0x09, 0x10, 0x4C, 0xC2, 0x20, 0xC3,
- 0x00, 0xFC, 0x2A, 0x13, 0x0C, 0xC8, 0x6C, 0x01,
- 0xE0, 0xC2, 0x02, 0xFC, 0x1B, 0x11, 0x4B, 0x01,
- 0x00, 0x01, 0xF4, 0x16, 0xC8, 0x22, 0x12, 0x13,
- 0xCB, 0x01, 0x00, 0x40, 0x0B, 0xC8, 0x02, 0xFC,
- 0x0D, 0x10, 0xE0, 0xC1, 0x18, 0x09, 0x01, 0xC3,
- 0x21, 0x13, 0x4C, 0xC2, 0x15, 0x13, 0x0C, 0xC8,
- 0x6C, 0x01, 0xE0, 0xC2, 0x02, 0xFC, 0x06, 0x11,
- 0xCC, 0x81, 0xD5, 0x13, 0x4C, 0xC2, 0x20, 0xC3,
- 0x00, 0xFC, 0xF4, 0x10, 0x09, 0xC8, 0x6C, 0x01,
- 0xE0, 0xC2, 0x02, 0xFC, 0x1E, 0x16, 0xA0, 0x07,
- 0x02, 0xFC, 0x00, 0x80, 0x09, 0xC3, 0x19, 0x10,
- 0x09, 0xC8, 0x6C, 0x01, 0xE0, 0xC2, 0x02, 0xFC,
- 0x05, 0x16, 0xA0, 0x07, 0x02, 0xFC, 0x00, 0x80,
- 0x09, 0xC3, 0x0F, 0x10, 0xE0, 0xC2, 0x02, 0x0C,
- 0x01, 0x11, 0x1E, 0x10, 0x20, 0xD8, 0x00, 0xE2,
- 0x83, 0x01, 0x8B, 0x09, 0x8B, 0x09, 0x8B, 0x09,
- 0x8B, 0x09, 0xA0, 0x07, 0x8A, 0x01, 0x43, 0x00,
- 0x13, 0x10, 0x0C, 0xC8, 0x8A, 0x01, 0x0C, 0xC8,
- 0x18, 0x09, 0x0E, 0x10, 0x00, 0x03, 0x02, 0x00,
- 0xE0, 0xC0, 0x6C, 0x01, 0x20, 0xC3, 0x8A, 0x01,
- 0x20, 0x98, 0x83, 0x01, 0x00, 0xE2, 0x81, 0x13,
- 0x60, 0x01, 0x9C, 0x01, 0x40, 0x00, 0xB9, 0x13,
- 0x01, 0x83, 0x31, 0x16, 0x03, 0xC8, 0x6C, 0x01,
- 0x40, 0x01, 0x10, 0x00, 0x14, 0x16, 0xE0, 0xC2,
- 0x2E, 0x06, 0x11, 0x13, 0xE0, 0xC2, 0xF8, 0x05,
- 0x0E, 0x13, 0xE0, 0x01, 0x3A, 0x07, 0x00, 0x80,
- 0x80, 0x01, 0x10, 0x00, 0xE0, 0xC2, 0x36, 0x07,
- 0x06, 0x13, 0xE0, 0x04, 0x36, 0x07, 0x80, 0x01,
- 0x20, 0x00, 0x60, 0x04, 0xF2, 0xA9, 0x40, 0x01,
- 0x20, 0x00, 0xF9, 0x13, 0x90, 0x03, 0xFF, 0x11,
- 0x80, 0x03, 0x08, 0x01, 0x00, 0x04, 0x19, 0x16,
- 0x60, 0x01, 0x6A, 0x09, 0x01, 0x00, 0x15, 0x16,
- 0x88, 0x01, 0x00, 0x1A, 0xC8, 0x01, 0x00, 0x01,
- 0xC8, 0xC5, 0x0F, 0x10, 0xE0, 0x04, 0x18, 0x09,
- 0xC0, 0x01, 0x04, 0x00, 0x15, 0x10, 0x81, 0xC1,
- 0x01, 0xC8, 0x6C, 0x01, 0x07, 0x02, 0x00, 0xFC,
- 0x77, 0xC0, 0x17, 0xC2, 0x48, 0x01, 0x00, 0x18,
- 0xE4, 0x13, 0x40, 0x01, 0x40, 0x00, 0x15, 0x16,
- 0x80, 0x01, 0x45, 0x00, 0x46, 0xC1, 0x20, 0xD0,
- 0x07, 0xFC, 0x60, 0x81, 0x18, 0x09, 0xE6, 0x13,
- 0xE0, 0xC2, 0x08, 0xFC, 0x08, 0x11, 0xE0, 0xC2,
- 0x0E, 0xFC, 0x07, 0x15, 0x06, 0x13, 0xE0, 0xC2,
- 0x14, 0xFC, 0x03, 0x15, 0x02, 0x13, 0xC0, 0x01,
- 0x01, 0x00, 0x48, 0x01, 0x00, 0x01, 0x11, 0x13,
- 0x40, 0x01, 0x80, 0x40, 0x69, 0x13, 0x60, 0x04,
- 0x66, 0xA6, 0x48, 0x01, 0x01, 0x00, 0x03, 0x16,
- 0x40, 0x01, 0x00, 0x40, 0x0B, 0x16, 0xC8, 0x01,
- 0x00, 0x40, 0xA0, 0x05, 0x32, 0x09, 0xC8, 0xC5,
- 0x05, 0x10, 0xC0, 0x01, 0x40, 0x00, 0x40, 0x01,
- 0x04, 0x00, 0xEF, 0x13, 0xB7, 0x01, 0x20, 0x00,
- 0xD7, 0xC2, 0xC4, 0x62, 0x0B, 0x05, 0x2B, 0x02,
- 0xFC, 0xFF, 0xCB, 0xC5, 0x02, 0x15, 0x46, 0x81,
- 0x6A, 0x13, 0x08, 0x01, 0x00, 0x5E, 0x67, 0x16,
- 0x08, 0x01, 0x88, 0x00, 0x13, 0x16, 0x86, 0x02,
- 0x43, 0x00, 0x25, 0x16, 0x40, 0x01, 0x00, 0x40,
- 0x0B, 0x13, 0x08, 0x01, 0x03, 0x00, 0x08, 0x13,
- 0x84, 0xC2, 0x2A, 0x02, 0xD8, 0xFF, 0x06, 0xC8,
- 0x6C, 0x01, 0x0A, 0x68, 0x04, 0xFC, 0x73, 0x10,
- 0x60, 0x04, 0xD2, 0xA8, 0x40, 0x01, 0x01, 0x00,
- 0xEA, 0x13, 0x08, 0x01, 0x02, 0x00, 0xE7, 0x16,
- 0x48, 0x01, 0x01, 0x00, 0xE4, 0x16, 0x40, 0x01,
- 0x00, 0x40, 0x04, 0x16, 0x60, 0x01, 0xA8, 0x09,
- 0x80, 0x00, 0xDD, 0x13, 0x8A, 0x07, 0x80, 0x00,
- 0xA0, 0x06, 0x32, 0xA5, 0xD8, 0x10, 0x00, 0xC0,
- 0xE7, 0x11, 0x60, 0xC2, 0x6A, 0x09, 0x40, 0x01,
- 0x00, 0x40, 0x0A, 0x13, 0x48, 0x01, 0x01, 0x00,
- 0x34, 0x13, 0x48, 0x01, 0x02, 0x00, 0x0A, 0x13,
- 0x49, 0x01, 0x04, 0x00, 0xD9, 0x16, 0x06, 0x10,
- 0x49, 0x01, 0x02, 0x00, 0x03, 0x13, 0x08, 0x01,
- 0x03, 0x00, 0x6E, 0x13, 0x49, 0x01, 0x01, 0x00,
- 0x12, 0x13, 0x40, 0x01, 0x80, 0x40, 0x01, 0x16,
- 0x46, 0xC1, 0xE0, 0x04, 0x00, 0xFC, 0x87, 0x07,
- 0xF8, 0x05, 0x17, 0xC2, 0x14, 0x13, 0xC7, 0x05,
- 0x17, 0xC8, 0x6C, 0x01, 0x05, 0xC8, 0x00, 0xFC,
- 0xC6, 0xC5, 0x60, 0x04, 0x66, 0xA6, 0x07, 0x02,
- 0x02, 0xFC, 0xE0, 0xA1, 0x2C, 0x09, 0xE0, 0xCD,
- 0xEE, 0x05, 0xE0, 0xC5, 0x04, 0xFC, 0x20, 0xC8,
- 0x2C, 0x09, 0x04, 0xFC, 0xE2, 0x10, 0xC5, 0xCD,
- 0xC6, 0xC5, 0x60, 0x04, 0x66, 0xA6, 0x60, 0x04,
- 0xB6, 0xA8, 0x06, 0xC8, 0x6C, 0x01, 0x85, 0x81,
- 0x1A, 0x13, 0xE0, 0xC2, 0x04, 0xFC, 0x17, 0x15,
- 0x86, 0xC2, 0x8A, 0xA2, 0xAA, 0xC1, 0x32, 0x0C,
- 0x06, 0xC8, 0x6C, 0x01, 0x0B, 0xA8, 0x04, 0xFC,
- 0x1A, 0x09, 0x0A, 0xC8, 0x6C, 0x01, 0xE0, 0xC2,
- 0x02, 0xFC, 0xE0, 0x04, 0x00, 0xFC, 0x06, 0xC8,
- 0x6C, 0x01, 0x0B, 0xC8, 0x02, 0xFC, 0xA0, 0x06,
- 0x3E, 0xB4, 0x06, 0xC8, 0x6C, 0x01, 0xE0, 0x04,
- 0x00, 0xFC, 0xA0, 0x01, 0x02, 0xFC, 0x02, 0x00,
- 0x87, 0x07, 0x30, 0x06, 0xE7, 0x01, 0x04, 0x00,
- 0x40, 0x00, 0xD7, 0x04, 0x27, 0x02, 0x0C, 0x00,
- 0x05, 0xC2, 0x60, 0x01, 0x6A, 0x09, 0x04, 0x00,
- 0x03, 0x16, 0xE0, 0x01, 0x02, 0xFC, 0x20, 0x00,
- 0xA0, 0x06, 0xFC, 0xB4, 0xC0, 0x01, 0x20, 0x00,
- 0x60, 0x04, 0x66, 0xA6, 0x48, 0x01, 0x00, 0x18,
- 0x03, 0x13, 0x48, 0x01, 0x00, 0x10, 0x02, 0x16,
- 0xA0, 0x05, 0x32, 0x09, 0x86, 0x02, 0x43, 0x00,
- 0x03, 0x13, 0x40, 0x01, 0x80, 0x40, 0x98, 0x13,
- 0x06, 0xC8, 0x6C, 0x01, 0xE0, 0x04, 0x00, 0xFC,
- 0x85, 0xC2, 0xA0, 0x06, 0x3E, 0xB4, 0x20, 0x06,
- 0x62, 0x09, 0xE6, 0x16, 0xA0, 0x06, 0xD0, 0xD5,
- 0xE3, 0x10, 0xA0, 0xC2, 0xF6, 0x05, 0x56, 0x16,
- 0x19, 0xC8, 0xF0, 0x05, 0xA9, 0xC2, 0x0A, 0x00,
- 0x0D, 0x11, 0xA0, 0xF2, 0x2E, 0x09, 0x0A, 0xD8,
- 0x80, 0x01, 0x29, 0xC8, 0x06, 0x00, 0x8C, 0x01,
- 0xA0, 0x07, 0x16, 0x09, 0x04, 0x00, 0x09, 0xC8,
- 0xF4, 0x05, 0x46, 0x10, 0x29, 0xC8, 0x06, 0x00,
- 0x6C, 0x01, 0x20, 0xC8, 0x0E, 0xFC, 0xBC, 0x01,
- 0x20, 0xC8, 0x10, 0xFC, 0xB0, 0x01, 0x20, 0xC8,
- 0x12, 0xFC, 0xB2, 0x01, 0xA0, 0xF2, 0x2E, 0x09,
- 0x8A, 0x01, 0x00, 0x10, 0xA0, 0x01, 0x80, 0x01,
- 0x00, 0xC4, 0xE1, 0x10, 0x47, 0x01, 0x08, 0x00,
- 0x06, 0x16, 0xA8, 0xC2, 0x06, 0x00, 0xA0, 0x06,
- 0x3E, 0xB4, 0xE8, 0x04, 0x06, 0x00, 0x07, 0x01,
- 0x20, 0x00, 0x31, 0x13, 0xE8, 0x04, 0x02, 0x00,
- 0x3B, 0x10, 0xE0, 0x04, 0x00, 0xFC, 0xA0, 0x06,
- 0x3E, 0xB4, 0x29, 0x10, 0x00, 0x03, 0x02, 0x00,
- 0x20, 0xC2, 0x8C, 0x01, 0xE0, 0xC0, 0x6C, 0x01,
- 0x20, 0xC2, 0xF4, 0x05, 0x28, 0xC8, 0x08, 0x00,
- 0x6C, 0x01, 0xE8, 0xC1, 0x0A, 0x00, 0x20, 0xC3,
- 0x02, 0xFC, 0x8C, 0x01, 0x20, 0x00, 0x0C, 0xC8,
- 0x02, 0xFC, 0x0C, 0x01, 0x00, 0xFE, 0x3B, 0x16,
- 0x47, 0x01, 0x40, 0x00, 0x50, 0x13, 0x60, 0xC2,
- 0xF0, 0x05, 0xA7, 0x16, 0xE0, 0x04, 0xF4, 0x05,
- 0x0C, 0xCA, 0x08, 0x00, 0x47, 0x01, 0x80, 0x00,
- 0xC9, 0x16, 0x28, 0xC8, 0x06, 0x00, 0x6C, 0x01,
- 0xA0, 0xC2, 0x00, 0xFC, 0xD2, 0x16, 0xE8, 0xC1,
- 0x02, 0x00, 0xD7, 0xC2, 0x0F, 0x16, 0x27, 0x02,
- 0x10, 0x00, 0xD8, 0x04, 0x57, 0xC2, 0x0E, 0x13,
- 0xC7, 0x05, 0x57, 0xC2, 0x48, 0xC6, 0xC8, 0xC5,
- 0x03, 0xC8, 0x6C, 0x01, 0x0D, 0x11, 0x90, 0x03,
- 0xFF, 0x11, 0x80, 0x03, 0xD7, 0x04, 0xC3, 0x01,
- 0x00, 0x80, 0xED, 0x10, 0xE7, 0x01, 0xF4, 0xFF,
- 0x20, 0x00, 0xC8, 0xCD, 0xC8, 0xC5, 0xF0, 0x10,
- 0x90, 0x03, 0xF8, 0x11, 0xE0, 0x02, 0xC0, 0x00,
- 0x60, 0xC3, 0xFA, 0x00, 0xA0, 0xC3, 0xFC, 0x00,
- 0xE0, 0xC3, 0xFE, 0x00, 0x54, 0x04, 0xE8, 0xC2,
- 0x08, 0x00, 0xA8, 0xC2, 0x06, 0x00, 0x0C, 0xC3,
- 0x33, 0x11, 0x20, 0x23, 0x0A, 0xE0, 0x45, 0x13,
- 0x20, 0x23, 0x10, 0xE0, 0x46, 0x13, 0x20, 0x23,
- 0x0E, 0xE0, 0x13, 0x13, 0xE0, 0x21, 0x16, 0xE0,
- 0xB6, 0x16, 0x20, 0x23, 0x06, 0xE0, 0x03, 0x16,
- 0x20, 0x27, 0xA8, 0xE4, 0x0A, 0x13, 0xE8, 0xC2,
- 0x08, 0x00, 0xA8, 0xC2, 0x06, 0x00, 0x4C, 0x01,
- 0x88, 0x00, 0xA9, 0x16, 0x0C, 0x01, 0x44, 0x00,
- 0xA6, 0x16, 0x20, 0x06, 0x16, 0x09, 0xA3, 0x13,
- 0x0A, 0xC8, 0x6C, 0x01, 0x20, 0xC8, 0x04, 0xE0,
- 0x02, 0xFC, 0x0B, 0xC8, 0x6C, 0x01, 0xA0, 0x07,
- 0x02, 0xFC, 0x00, 0x81, 0x20, 0xC3, 0x80, 0x01,
- 0xA0, 0x01, 0x80, 0x01, 0x00, 0xC4, 0x0C, 0xC8,
- 0x80, 0x01, 0x0A, 0xC8, 0x8C, 0x01, 0xAC, 0x10,
- 0x0A, 0xC2, 0x0F, 0x13, 0x08, 0xC8, 0x6C, 0x01,
- 0xA0, 0xC2, 0x00, 0xFC, 0x20, 0xC3, 0x02, 0xFC,
- 0x20, 0x23, 0x12, 0xE0, 0xF5, 0x16, 0x0B, 0xC8,
- 0x6C, 0x01, 0x0C, 0xC8, 0x02, 0xFC, 0x60, 0x04,
- 0x72, 0xA9, 0x8A, 0x07, 0x00, 0x04, 0x60, 0x04,
- 0x8A, 0xA3, 0x8A, 0x07, 0x20, 0x00, 0x60, 0x04,
- 0x8A, 0xA3, 0x8A, 0x07, 0x00, 0x02, 0x20, 0x27,
- 0x0E, 0xE0, 0x04, 0x16, 0xA0, 0x06, 0x32, 0xA5,
- 0xC3, 0x01, 0x00, 0x80, 0xA8, 0xC2, 0x06, 0x00,
- 0x60, 0x04, 0x98, 0xA9, 0x00, 0x03, 0x02, 0x00,
- 0xC0, 0x01, 0x10, 0x00, 0xE0, 0xC2, 0x2E, 0x06,
- 0x08, 0x13, 0xE0, 0xC2, 0xF8, 0x05, 0x05, 0x13,
- 0xE0, 0x01, 0x3A, 0x07, 0x00, 0x80, 0x80, 0x01,
- 0x10, 0x00, 0x90, 0x03, 0xFF, 0x7F, 0x80, 0x03,
- 0x00, 0x03, 0x02, 0x00, 0x20, 0xC2, 0xF6, 0x05,
- 0x20, 0xE2, 0xF4, 0x05, 0x0E, 0x16, 0x20, 0xD8,
- 0x2E, 0x09, 0x80, 0x01, 0x2B, 0xC8, 0x06, 0x00,
- 0x8C, 0x01, 0xA0, 0x07, 0x16, 0x09, 0x04, 0x00,
- 0x0B, 0xC8, 0xF4, 0x05, 0x90, 0x03, 0xFF, 0xFF,
- 0x80, 0x03, 0x87, 0x07, 0xF0, 0x05, 0xDB, 0x04,
- 0x57, 0xC2, 0x05, 0x16, 0xCB, 0xCD, 0xCB, 0xC5,
- 0x90, 0x03, 0xFF, 0xFF, 0x80, 0x03, 0xC7, 0x05,
- 0x57, 0xC2, 0x4B, 0xC6, 0xCB, 0xC5, 0x90, 0x03,
- 0xFF, 0xFF, 0x80, 0x03, 0x00, 0x03, 0x02, 0x00,
- 0x0B, 0xC2, 0x20, 0xC3, 0xF4, 0x05, 0x0F, 0x13,
- 0xA8, 0xC2, 0x0A, 0x00, 0x4A, 0x01, 0x10, 0x00,
- 0x16, 0x16, 0xA0, 0x22, 0x04, 0xE0, 0x1A, 0x16,
- 0x08, 0xC3, 0xA0, 0x06, 0x36, 0xAC, 0x0C, 0xC2,
- 0x20, 0xC3, 0xF4, 0x05, 0x13, 0x16, 0x68, 0x01,
- 0x0A, 0x00, 0x10, 0x00, 0x03, 0x13, 0xE0, 0xC2,
- 0xF6, 0x05, 0x05, 0x16, 0xA0, 0x06, 0x78, 0xAC,
- 0x90, 0x03, 0xFF, 0xFF, 0x80, 0x03, 0x87, 0x07,
- 0xF0, 0x05, 0xA0, 0x06, 0xE6, 0xB4, 0x90, 0x03,
- 0xFF, 0xFF, 0x80, 0x03, 0x87, 0x07, 0xF0, 0x05,
- 0xA0, 0x06, 0x2C, 0xB5, 0x80, 0x03, 0x00, 0x03,
- 0x02, 0x00, 0x87, 0x07, 0xF0, 0x05, 0xCB, 0xC2,
- 0x08, 0x16, 0xA0, 0x06, 0x36, 0xAC, 0x20, 0x07,
- 0xF6, 0x05, 0x60, 0xCB, 0xF4, 0x05, 0x02, 0x00,
- 0x80, 0x03, 0xE0, 0x04, 0xF6, 0x05, 0x20, 0xC2,
- 0xF4, 0x05, 0x05, 0x16, 0x17, 0xC2, 0x03, 0x13,
- 0xD8, 0xC5, 0xA0, 0x06, 0x78, 0xAC, 0x80, 0x03,
- 0x00, 0x03, 0x02, 0x00, 0x0B, 0xC3, 0xA0, 0x06,
- 0x36, 0xAC, 0x8C, 0xC2, 0xCC, 0xC1, 0x27, 0x02,
- 0x10, 0x00, 0x88, 0x07, 0xF0, 0x05, 0x88, 0xC1,
- 0x18, 0xC2, 0x26, 0x13, 0xA8, 0x82, 0x02, 0x00,
- 0xFA, 0x16, 0xE8, 0xC2, 0x0A, 0x00, 0xE0, 0x22,
- 0x1E, 0xE0, 0xF5, 0x16, 0x98, 0xC5, 0xE0, 0x22,
- 0x1C, 0xE0, 0x0B, 0x16, 0x28, 0xC8, 0x06, 0x00,
- 0xF4, 0x00, 0xE0, 0x02, 0xE0, 0x00, 0xA0, 0x06,
- 0x3E, 0xB4, 0xE0, 0x02, 0xC0, 0x00, 0xE8, 0x04,
- 0x06, 0x00, 0xE0, 0x22, 0x18, 0xE0, 0xE4, 0x13,
- 0x20, 0xEA, 0x22, 0xE0, 0x0A, 0x00, 0xA0, 0xEA,
- 0x18, 0xE0, 0x04, 0x00, 0xDA, 0x04, 0xA0, 0x06,
- 0xE6, 0xB4, 0x47, 0x06, 0x06, 0xC2, 0xD8, 0x10,
- 0x06, 0xC8, 0xF2, 0x05, 0x60, 0xCB, 0xF4, 0x05,
- 0x02, 0x00, 0x54, 0x04, 0x20, 0xC2, 0xF4, 0x05,
- 0x13, 0x13, 0xE0, 0x01, 0x9C, 0x01, 0x00, 0x40,
- 0x8B, 0x0B, 0x8B, 0x0B, 0x60, 0x01, 0x9C, 0x01,
- 0x00, 0x40, 0x0A, 0x16, 0x60, 0xC2, 0x6C, 0x01,
- 0x28, 0xC8, 0x06, 0x00, 0x6C, 0x01, 0xA0, 0xC2,
- 0x02, 0xFC, 0x03, 0x11, 0x09, 0xC8, 0x6C, 0x01,
- 0x5B, 0x04, 0x09, 0xC8, 0x6C, 0x01, 0x4B, 0xC2,
- 0x87, 0x07, 0xF0, 0x05, 0xA0, 0x06, 0x2C, 0xB5,
- 0xE0, 0x04, 0xF4, 0x05, 0x59, 0x04, 0xA8, 0xC2,
- 0x0A, 0x00, 0x0D, 0x11, 0xA0, 0xF2, 0x2E, 0x09,
- 0x0A, 0xD8, 0x80, 0x01, 0x28, 0xC8, 0x06, 0x00,
- 0x8C, 0x01, 0xA0, 0x07, 0x16, 0x09, 0x04, 0x00,
- 0x08, 0xC8, 0xF4, 0x05, 0x5B, 0x04, 0x20, 0xC3,
- 0x6C, 0x01, 0x28, 0xC8, 0x06, 0x00, 0x6C, 0x01,
- 0x20, 0xC8, 0x0E, 0xFC, 0xBC, 0x01, 0x20, 0xC8,
- 0x10, 0xFC, 0xB0, 0x01, 0x20, 0xC8, 0x12, 0xFC,
- 0xB2, 0x01, 0x0C, 0xC8, 0x6C, 0x01, 0xA0, 0xF2,
- 0x2E, 0x09, 0x8A, 0x01, 0x00, 0x10, 0xA0, 0x01,
- 0x80, 0x01, 0x00, 0xC4, 0xDD, 0x10, 0x48, 0xC0,
- 0x89, 0xC0, 0x81, 0x60, 0xC2, 0x05, 0x5B, 0x04,
- 0x0B, 0xC3, 0xA0, 0x06, 0xC8, 0xAC, 0x41, 0xCC,
- 0x42, 0x06, 0xFD, 0x16, 0xA0, 0x06, 0xC8, 0xAC,
- 0x01, 0xC1, 0x44, 0x8C, 0x12, 0x16, 0xC4, 0x05,
- 0x42, 0x06, 0xFB, 0x16, 0x04, 0x02, 0x0E, 0xAD,
- 0x03, 0x02, 0x01, 0x01, 0x94, 0x06, 0x03, 0x02,
- 0x5A, 0x5A, 0x94, 0x06, 0x43, 0x05, 0x94, 0x06,
- 0x03, 0x07, 0x94, 0x06, 0xC3, 0x04, 0x94, 0x06,
- 0xCC, 0x05, 0x5C, 0x04, 0xCB, 0xC1, 0xA0, 0x06,
- 0xC8, 0xAC, 0x43, 0xCC, 0x42, 0x06, 0xFD, 0x16,
- 0xA0, 0x06, 0xC8, 0xAC, 0x43, 0x8C, 0xF5, 0x16,
- 0x42, 0x06, 0xFC, 0x16, 0x57, 0x04, 0x8B, 0xC2,
- 0x08, 0xC0, 0x49, 0xC1, 0x85, 0x05, 0x80, 0x02,
- 0x40, 0x00, 0x03, 0x11, 0x80, 0x02, 0x4F, 0x00,
- 0x45, 0x12, 0x01, 0x02, 0xC8, 0xAC, 0xA1, 0x09,
- 0x01, 0x80, 0x40, 0x13, 0x01, 0x02, 0xF8, 0xAD,
- 0xA1, 0x09, 0x01, 0x80, 0x3B, 0x13, 0x60, 0xC0,
- 0x06, 0x00, 0xA1, 0x09, 0x01, 0x80, 0x36, 0x13,
- 0x81, 0x05, 0x01, 0x80, 0x33, 0x13, 0x4A, 0xC0,
- 0xA1, 0x09, 0x01, 0x80, 0x2F, 0x13, 0x00, 0xC8,
- 0x6A, 0x01, 0x80, 0x02, 0x80, 0x00, 0x17, 0x14,
- 0x01, 0x02, 0x00, 0xF8, 0xA0, 0xC1, 0x40, 0x01,
- 0xA0, 0x01, 0x40, 0x01, 0x00, 0x04, 0x02, 0x02,
- 0x00, 0x10, 0x03, 0x02, 0x00, 0x04, 0xB1, 0xCC,
- 0x43, 0x06, 0xFD, 0x16, 0xA0, 0x01, 0x40, 0x01,
- 0x00, 0x40, 0x08, 0x02, 0x10, 0xF8, 0x06, 0xC8,
- 0x40, 0x01, 0x00, 0xC0, 0x02, 0x13, 0x08, 0x02,
- 0x00, 0xF8, 0x09, 0x02, 0xFE, 0xFB, 0xA0, 0x06,
- 0xD2, 0xAC, 0x25, 0x10, 0x80, 0x02, 0x80, 0x00,
- 0x09, 0x14, 0x01, 0x02, 0x00, 0xF8, 0x02, 0x02,
- 0x00, 0x10, 0x03, 0x02, 0x00, 0x04, 0x72, 0xCC,
- 0x43, 0x06, 0xFD, 0x16, 0x80, 0x05, 0x80, 0x02,
- 0x80, 0x00, 0x04, 0x12, 0x60, 0x01, 0x04, 0x01,
- 0x20, 0x00, 0x05, 0x13, 0x40, 0x81, 0xAB, 0x16,
- 0x80, 0x02, 0x80, 0x00, 0x0B, 0x14, 0xA0, 0x07,
- 0x6A, 0x01, 0x7E, 0x00, 0x02, 0x02, 0x00, 0x10,
- 0x03, 0x02, 0x00, 0x04, 0xC1, 0x04, 0x81, 0xCC,
- 0x43, 0x06, 0xFD, 0x16, 0xCA, 0x05, 0x5A, 0x04,
- 0x00, 0x02, 0xEA, 0xAD, 0x01, 0x02, 0x1A, 0xAF,
- 0x40, 0x02, 0x00, 0xFC, 0x41, 0x02, 0x00, 0xFC,
- 0x40, 0x80, 0x04, 0x13, 0xA0, 0x07, 0x04, 0x01,
- 0x3C, 0x00, 0x5B, 0x04, 0xC0, 0x04, 0x01, 0x02,
- 0x08, 0x00, 0x02, 0x02, 0x00, 0x12, 0xE0, 0xC1,
- 0x40, 0x01, 0xA0, 0x01, 0x40, 0x01, 0x00, 0x04,
- 0x03, 0x02, 0x00, 0x01, 0x00, 0xC8, 0x6A, 0x01,
- 0xA0, 0xCC, 0x10, 0xF8, 0x80, 0x05, 0x03, 0x06,
- 0xF9, 0x16, 0x22, 0x02, 0x00, 0x02, 0x01, 0x06,
- 0xF3, 0x16, 0xA0, 0x01, 0x40, 0x01, 0x00, 0x40,
- 0x07, 0xC8, 0x40, 0x01, 0x00, 0x02, 0x00, 0x08,
- 0x40, 0xC0, 0x01, 0x06, 0x01, 0xC8, 0x6A, 0x01,
- 0x61, 0x02, 0x00, 0x80, 0x01, 0xC8, 0x10, 0xF8,
- 0x00, 0x06, 0xF6, 0x16, 0xC0, 0x04, 0xC8, 0x04,
- 0xC9, 0x04, 0x03, 0x02, 0x00, 0x08, 0x00, 0xC8,
- 0x6A, 0x01, 0x80, 0xC1, 0x66, 0x02, 0x00, 0x80,
- 0x20, 0xC1, 0x10, 0xF8, 0x06, 0x81, 0x15, 0x16,
- 0x08, 0xC2, 0x06, 0x13, 0x80, 0x05, 0x03, 0x06,
- 0xF2, 0x16, 0x08, 0xC2, 0x0D, 0x13, 0x19, 0x10,
- 0xA0, 0x07, 0x10, 0xF8, 0x55, 0x55, 0x20, 0xC1,
- 0x10, 0xF8, 0x84, 0x02, 0x55, 0x55, 0x02, 0x16,
- 0x06, 0xC2, 0xF0, 0x10, 0x06, 0x81, 0xEE, 0x13,
- 0x5B, 0x04, 0xA0, 0x07, 0x10, 0xF8, 0x55, 0x55,
- 0x60, 0xC1, 0x10, 0xF8, 0x05, 0x81, 0x03, 0x13,
- 0x85, 0x02, 0x55, 0x55, 0xF5, 0x16, 0x08, 0xC2,
- 0xE1, 0x13, 0x40, 0xC2, 0x09, 0x06, 0x48, 0x02,
- 0xFF, 0x07, 0xC0, 0x04, 0x01, 0x02, 0x08, 0x00,
- 0x02, 0x02, 0x00, 0x12, 0x03, 0x02, 0x00, 0x01,
- 0x00, 0xC8, 0x6A, 0x01, 0x32, 0xC8, 0x10, 0xF8,
- 0x80, 0x05, 0x03, 0x06, 0xF9, 0x16, 0x22, 0x02,
- 0x00, 0x02, 0x01, 0x06, 0xF3, 0x16, 0x88, 0x02,
- 0x40, 0x00, 0x13, 0x15, 0x89, 0x02, 0x4F, 0x00,
- 0x10, 0x11, 0xC0, 0x04, 0x02, 0x02, 0x00, 0x12,
- 0x01, 0x02, 0x08, 0x00, 0x03, 0x02, 0x00, 0x01,
- 0x80, 0xCC, 0x03, 0x06, 0xFD, 0x16, 0x22, 0x02,
- 0x00, 0x02, 0x01, 0x06, 0xF7, 0x16, 0xCB, 0x05,
- 0x5B, 0x04, 0xA0, 0x07, 0x04, 0x01, 0x37, 0x00,
- 0x5B, 0x04, 0x33, 0x07, 0x33, 0x07, 0x0C, 0x10,
- 0x13, 0x07, 0x23, 0x07, 0x02, 0x00, 0xCB, 0xC8,
- 0x06, 0x00, 0x23, 0x02, 0x18, 0x00, 0xE0, 0xCC,
- 0x6C, 0x01, 0xCD, 0xCC, 0xCE, 0xCC, 0xCF, 0xCC,
- 0x83, 0x07, 0x30, 0x06, 0xD3, 0xC1, 0x0A, 0x13,
- 0x83, 0x07, 0x36, 0x07, 0xD3, 0xC1, 0x06, 0x13,
- 0x83, 0x07, 0xA0, 0x00, 0x93, 0x00, 0x0C, 0xC8,
- 0x6C, 0x01, 0x80, 0x03, 0x63, 0x07, 0x02, 0x00,
- 0x2A, 0x15, 0x63, 0xC2, 0x04, 0x00, 0x63, 0x42,
- 0x06, 0x00, 0xDB, 0x13, 0x63, 0xC3, 0x1A, 0x00,
- 0x49, 0xD2, 0x0C, 0x13, 0xC9, 0x06, 0x49, 0x72,
- 0x69, 0xD2, 0xC0, 0xE1, 0xC9, 0x06, 0x49, 0x72,
- 0xE9, 0x48, 0x04, 0xE0, 0x04, 0x00, 0x49, 0xCB,
- 0x02, 0x00, 0x52, 0x04, 0x69, 0xC2, 0xC0, 0xE1,
- 0x49, 0x72, 0x29, 0x02, 0x10, 0x00, 0xC3, 0xC2,
- 0xE9, 0xA2, 0xA8, 0xE1, 0x1B, 0xC3, 0x89, 0x02,
- 0x12, 0x00, 0x0F, 0x13, 0xDC, 0xC6, 0x03, 0x16,
- 0xE9, 0x48, 0x04, 0xE0, 0x04, 0x00, 0x49, 0xCB,
- 0x02, 0x00, 0x4C, 0xCB, 0x04, 0x00, 0x90, 0x03,
- 0xFF, 0x01, 0x93, 0x00, 0x0C, 0xC8, 0x6C, 0x01,
- 0x80, 0x03, 0x0C, 0xC8, 0x6C, 0x01, 0xE0, 0xC6,
- 0x00, 0xFC, 0xF1, 0x16, 0xE9, 0x48, 0x04, 0xE0,
- 0x04, 0x00, 0x49, 0xCB, 0x02, 0x00, 0x4C, 0xCB,
- 0x04, 0x00, 0xED, 0x10, 0x00, 0x03, 0x02, 0x00,
- 0xDB, 0xC2, 0x63, 0xC2, 0x04, 0x00, 0x4B, 0x42,
- 0x9F, 0x13, 0x49, 0xD2, 0x0E, 0x13, 0xC9, 0x06,
- 0x49, 0x72, 0x69, 0xD2, 0xC0, 0xE1, 0xC9, 0x06,
- 0x49, 0x72, 0xE9, 0x48, 0x04, 0xE0, 0x04, 0x00,
- 0x49, 0xCB, 0x02, 0x00, 0x90, 0x03, 0xFF, 0xFF,
- 0x80, 0x03, 0x69, 0xC2, 0xC0, 0xE1, 0x49, 0x72,
- 0x29, 0x02, 0x10, 0x00, 0xC3, 0xC2, 0xE9, 0xA2,
- 0xA8, 0xE1, 0x1B, 0xC3, 0x89, 0x02, 0x12, 0x00,
- 0x0C, 0x13, 0xDC, 0xC6, 0x03, 0x16, 0xE9, 0x48,
- 0x04, 0xE0, 0x04, 0x00, 0x49, 0xCB, 0x02, 0x00,
- 0x4C, 0xCB, 0x04, 0x00, 0x90, 0x03, 0xFF, 0xFF,
- 0x80, 0x03, 0x0C, 0xC8, 0x6C, 0x01, 0xE0, 0xC6,
- 0x00, 0xFC, 0xF4, 0x16, 0xF0, 0x10, 0x00, 0x03,
- 0x02, 0x00, 0xBB, 0xC2, 0xBB, 0xC1, 0x86, 0xD1,
- 0x03, 0x13, 0x86, 0xEA, 0x04, 0x00, 0x13, 0x10,
- 0xA6, 0xD1, 0xC0, 0xE1, 0xC6, 0x06, 0x86, 0x71,
- 0xCA, 0xC1, 0xE6, 0xA1, 0xB8, 0xE1, 0xA6, 0xEA,
- 0x14, 0xE0, 0x04, 0x00, 0x1B, 0xC2, 0x86, 0x02,
- 0x02, 0x00, 0x03, 0x16, 0xA0, 0x06, 0x0C, 0xB5,
- 0x02, 0x10, 0xA0, 0x06, 0xE6, 0xB4, 0xDA, 0x04,
- 0x80, 0x03, 0x00, 0x03, 0x02, 0x00, 0xAB, 0xC2,
- 0x06, 0x00, 0x8C, 0x07, 0xE8, 0x05, 0x5C, 0xC2,
- 0x16, 0x13, 0xA0, 0xC1, 0xEC, 0x05, 0x8A, 0x81,
- 0x1A, 0x1A, 0xC6, 0xC1, 0x09, 0xC2, 0x59, 0xC2,
- 0x20, 0x13, 0xE9, 0xA1, 0x08, 0x00, 0x87, 0x82,
- 0xF9, 0x12, 0xA9, 0xA2, 0x08, 0x00, 0x87, 0x62,
- 0xCA, 0xCA, 0x08, 0x00, 0x4A, 0x6A, 0x08, 0x00,
- 0xC9, 0xC6, 0x0B, 0xC6, 0x80, 0x03, 0xCA, 0xCA,
- 0x08, 0x00, 0x0A, 0xC8, 0xEC, 0x05, 0xDB, 0x04,
- 0x0B, 0xCF, 0x0B, 0xC7, 0x80, 0x03, 0x8A, 0x61,
- 0x46, 0xCA, 0x08, 0x00, 0xCA, 0xCA, 0x08, 0x00,
- 0x0A, 0xC8, 0xEC, 0x05, 0xC9, 0xC6, 0x0B, 0xC7,
- 0x80, 0x03, 0x87, 0x62, 0xCA, 0xCA, 0x08, 0x00,
- 0xDB, 0x04, 0x0B, 0xC6, 0x0B, 0xCB, 0x02, 0x00,
- 0x80, 0x03, 0x00, 0x03, 0x02, 0x00, 0xBB, 0xC1,
- 0xDB, 0xC2, 0x8C, 0x07, 0xE8, 0x05, 0x4C, 0xC2,
- 0xED, 0x04, 0x02, 0x00, 0x09, 0xC2, 0x59, 0xC2,
- 0x18, 0x13, 0xA9, 0x81, 0x02, 0x00, 0xFA, 0x16,
- 0xE9, 0x82, 0x04, 0x00, 0xF7, 0x16, 0x49, 0xCB,
- 0x04, 0x00, 0x99, 0xC2, 0x0A, 0xC6, 0x0A, 0x13,
- 0x08, 0x83, 0x04, 0x13, 0xA9, 0xAA, 0x08, 0x00,
- 0x08, 0x00, 0x80, 0x03, 0x2A, 0xA8, 0x08, 0x00,
- 0xEC, 0x05, 0x80, 0x03, 0x08, 0xCB, 0x02, 0x00,
- 0x80, 0x03, 0x2D, 0x07, 0x02, 0x00, 0x8C, 0x07,
- 0x08, 0x00, 0x06, 0xA3, 0x4C, 0xC2, 0x09, 0xC2,
- 0x59, 0xC2, 0x13, 0x13, 0xE9, 0x82, 0x04, 0x00,
- 0xFA, 0x16, 0xAD, 0x07, 0x02, 0x00, 0x01, 0x00,
- 0x49, 0xCB, 0x04, 0x00, 0x19, 0xC6, 0x01, 0x13,
- 0x80, 0x03, 0x08, 0x83, 0x04, 0x16, 0xA0, 0x49,
- 0x14, 0xE0, 0x04, 0x00, 0x80, 0x03, 0x08, 0xCB,
- 0x02, 0x00, 0x80, 0x03, 0x00, 0x03, 0x02, 0x00,
- 0x0B, 0x06, 0x1F, 0x11, 0x4D, 0x13, 0x8B, 0x07,
- 0x00, 0x4E, 0x60, 0x01, 0x42, 0x01, 0x80, 0x00,
- 0x09, 0x13, 0x8B, 0x07, 0x00, 0x3A, 0x20, 0xC1,
- 0x4E, 0x01, 0x84, 0x02, 0x41, 0x0F, 0x02, 0x11,
- 0x8B, 0x07, 0x00, 0x4E, 0x0B, 0xC8, 0x44, 0x01,
- 0xA0, 0x07, 0x62, 0x09, 0xE8, 0x03, 0xE0, 0x01,
- 0x40, 0x01, 0x00, 0x02, 0xE0, 0x01, 0x40, 0x01,
- 0x00, 0x20, 0x84, 0x07, 0x34, 0xAF, 0x60, 0x04,
- 0x42, 0xAF, 0x20, 0xC8, 0x16, 0xE0, 0xE0, 0x00,
- 0xE0, 0xC2, 0x6A, 0x09, 0xE0, 0x22, 0x10, 0xE0,
- 0x03, 0x13, 0x20, 0xE8, 0x14, 0xE0, 0xE0, 0x00,
- 0x20, 0xC8, 0x04, 0xE0, 0x82, 0x01, 0x20, 0xC8,
- 0xE2, 0x00, 0x8A, 0x01, 0xE0, 0x04, 0x18, 0x09,
- 0xE0, 0x04, 0xF4, 0x05, 0xE0, 0x04, 0xF8, 0x05,
- 0xE0, 0x04, 0xF0, 0x05, 0xE0, 0x04, 0x42, 0x07,
- 0xA0, 0x07, 0x88, 0x01, 0x20, 0x00, 0xE0, 0xC2,
- 0x30, 0x09, 0x09, 0x13, 0xA0, 0x07, 0x88, 0x01,
- 0x80, 0x00, 0x20, 0xE8, 0x16, 0xE0, 0x80, 0x01,
- 0xE0, 0x01, 0x82, 0x01, 0x00, 0x03, 0x8B, 0x07,
- 0x00, 0xA0, 0x0B, 0xE8, 0x86, 0x01, 0x80, 0x03,
- 0xE0, 0x04, 0x86, 0x01, 0xE0, 0x01, 0x9C, 0x01,
- 0x40, 0x00, 0xE0, 0x01, 0x9C, 0x01, 0x00, 0x40,
- 0xCB, 0x04, 0xB0, 0x03, 0x0B, 0x06, 0x04, 0x13,
- 0x60, 0x01, 0x9C, 0x01, 0x00, 0x40, 0xF9, 0x16,
- 0xE0, 0x04, 0x82, 0x01, 0x20, 0xE8, 0x08, 0xE0,
- 0x6A, 0x09, 0x8B, 0x07, 0x00, 0x80, 0x0B, 0xC8,
- 0x98, 0x07, 0x0B, 0xC8, 0x78, 0x07, 0x20, 0xC8,
- 0x04, 0xE0, 0x82, 0x01, 0x8B, 0x07, 0x6F, 0x87,
- 0x0B, 0x48, 0x3A, 0x07, 0xE0, 0xC2, 0x50, 0x07,
- 0x8B, 0x02, 0x58, 0x07, 0x10, 0x13, 0x20, 0xE8,
- 0x0A, 0xE0, 0x00, 0x01, 0xE0, 0xC2, 0x00, 0x01,
- 0xE0, 0x22, 0x06, 0xE0, 0xF8, 0x13, 0x8B, 0x07,
- 0x58, 0x07, 0x0B, 0xC8, 0x50, 0x07, 0x8B, 0x07,
- 0x0C, 0xB8, 0x0B, 0xC8, 0x52, 0x07, 0x80, 0x03,
- 0x00, 0x03, 0x02, 0x00, 0xE0, 0xC2, 0x1A, 0x09,
- 0x0C, 0x13, 0x20, 0x06, 0x1C, 0x09, 0x0B, 0xC8,
- 0x6C, 0x01, 0x20, 0xC8, 0x00, 0xFC, 0x1A, 0x09,
- 0x4B, 0xCB, 0x02, 0x00, 0x90, 0x03, 0xFF, 0xFF,
- 0x80, 0x03, 0x41, 0xC0, 0x0F, 0x13, 0x81, 0x80,
- 0x0D, 0x13, 0x82, 0xA0, 0xE2, 0xC2, 0x32, 0x0C,
- 0x12, 0x09, 0x0B, 0xC8, 0x6C, 0x01, 0xE0, 0x04,
- 0x00, 0xFC, 0x20, 0xC3, 0x02, 0xFC, 0x07, 0x11,
- 0x02, 0xC8, 0x00, 0xFC, 0xED, 0x04, 0x02, 0x00,
- 0xE0, 0x04, 0x6C, 0x01, 0x80, 0x03, 0x42, 0xCB,
- 0x02, 0x00, 0x02, 0xC8, 0x6C, 0x01, 0x8B, 0xC0,
- 0x80, 0x03, 0x00, 0x03, 0x02, 0x00, 0x83, 0x07,
- 0x00, 0x80, 0x60, 0xC2, 0x7E, 0x09, 0x09, 0xC1,
- 0x24, 0x02, 0xF8, 0xFF, 0xA9, 0x08, 0x01, 0x02,
- 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x0B, 0x02,
- 0x00, 0x00, 0x0C, 0x02, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x2C, 0xCB, 0x32, 0x0C, 0x32, 0x0C,
- 0x06, 0x13, 0x8B, 0x05, 0xCC, 0x05, 0x0B, 0x88,
- 0x46, 0x04, 0x27, 0x1B, 0xF6, 0x10, 0x09, 0xC2,
- 0x8B, 0xC2, 0x08, 0x06, 0x0A, 0x13, 0x8B, 0x05,
- 0xCC, 0x05, 0x0B, 0x88, 0x46, 0x04, 0x1D, 0x1B,
- 0x2C, 0xCB, 0x32, 0x0C, 0x32, 0x0C, 0xED, 0x16,
- 0xF4, 0x10, 0x82, 0xC0, 0x14, 0x13, 0x02, 0xC8,
- 0x6C, 0x01, 0x0A, 0xC8, 0x00, 0xFC, 0x0A, 0xC8,
- 0x6C, 0x01, 0xE0, 0x04, 0x00, 0xFC, 0xA0, 0x07,
- 0x02, 0xFC, 0x00, 0x80, 0x04, 0xC8, 0x04, 0xFC,
- 0x0A, 0xC2, 0x08, 0xA2, 0x02, 0xCA, 0x32, 0x0C,
- 0x8A, 0xC0, 0x87, 0x05, 0xD6, 0x10, 0x4A, 0xC0,
- 0xEE, 0x10, 0x47, 0xCB, 0x02, 0x00, 0xE0, 0x04,
- 0x6C, 0x01, 0x8B, 0x07, 0x43, 0x00, 0xE0, 0x04,
- 0x00, 0x0C, 0x00, 0x03, 0x02, 0x00, 0x0B, 0xC8,
- 0x6C, 0x01, 0x8B, 0x02, 0x43, 0x00, 0x04, 0x13,
- 0x60, 0x01, 0x02, 0xFC, 0x20, 0x00, 0x06, 0x13,
- 0x8B, 0xC2, 0xA0, 0x06, 0x42, 0xB4, 0x90, 0x03,
- 0x7F, 0x00, 0x80, 0x03, 0xA0, 0x01, 0x02, 0xFC,
- 0x20, 0x00, 0x60, 0x01, 0x6A, 0x09, 0x01, 0x00,
- 0x0B, 0x16, 0x0A, 0x02, 0x02, 0xFC, 0xA0, 0xA2,
- 0x2C, 0x09, 0xA0, 0xCE, 0xEE, 0x05, 0xA0, 0xC6,
- 0x04, 0xFC, 0x20, 0xC8, 0x2C, 0x09, 0x04, 0xFC,
- 0x8A, 0x07, 0xF8, 0x05, 0x5A, 0xC2, 0x08, 0x13,
- 0xCA, 0x05, 0x5A, 0xC2, 0x09, 0xC8, 0x6C, 0x01,
- 0x0B, 0xC8, 0x00, 0xFC, 0x8B, 0xC6, 0x02, 0x10,
- 0x8B, 0xCE, 0x8B, 0xC6, 0x20, 0x20, 0x1A, 0xE0,
- 0x05, 0x16, 0x20, 0xE8, 0x04, 0xE0, 0x3A, 0x07,
- 0xE0, 0x04, 0x36, 0x07, 0x90, 0x03, 0x7F, 0x00,
- 0x80, 0x03, 0x00, 0x03, 0x02, 0x00, 0x0B, 0xC8,
- 0x6C, 0x01, 0xCC, 0x04, 0xE0, 0x04, 0x00, 0xFC,
- 0x8B, 0xC2, 0xA0, 0x06, 0x50, 0xB4, 0x90, 0x03,
- 0x7F, 0x00, 0x80, 0x03, 0xA0, 0x07, 0x02, 0xFC,
- 0x00, 0x80, 0x20, 0xC8, 0x8C, 0xE1, 0x04, 0xFC,
- 0x41, 0xC0, 0x0F, 0x16, 0x20, 0xD8, 0x00, 0xE2,
- 0x83, 0x01, 0x8B, 0x0B, 0x8B, 0x0B, 0x8B, 0x0B,
- 0x8B, 0x0B, 0x8B, 0x0B, 0x8B, 0x0B, 0x8B, 0x0B,
- 0x8B, 0x0B, 0x8B, 0x0B, 0x8B, 0x0B, 0x0A, 0xC8,
- 0x8A, 0x01, 0x5B, 0x04, 0x0A, 0xC8, 0x6C, 0x01,
- 0x20, 0xC3, 0x00, 0xFC, 0xE0, 0x04, 0x00, 0xFC,
- 0x8A, 0x02, 0x43, 0x00, 0xDF, 0x13, 0xA0, 0x07,
- 0x02, 0xFC, 0x00, 0x80, 0x04, 0xC8, 0x04, 0xFC,
- 0x20, 0x98, 0x84, 0x09, 0x1D, 0x09, 0x0A, 0x13,
- 0x20, 0xC8, 0x1A, 0x09, 0x00, 0xFC, 0x0A, 0xC8,
- 0x1A, 0x09, 0xA0, 0x05, 0x1C, 0x09, 0x8C, 0xC2,
- 0xE5, 0x16, 0x5B, 0x04, 0x41, 0xC0, 0x10, 0x13,
- 0x8A, 0xA2, 0x82, 0xCA, 0x32, 0x0C, 0x1A, 0x09,
- 0x02, 0xC8, 0x6C, 0x01, 0x0A, 0xC8, 0x00, 0xFC,
- 0x8A, 0xC0, 0x20, 0x98, 0x83, 0x01, 0x00, 0xE2,
- 0x09, 0x13, 0x8C, 0xC2, 0xD3, 0x16, 0x5B, 0x04,
- 0x4A, 0xC0, 0x8A, 0xC0, 0x20, 0x98, 0x83, 0x01,
- 0x00, 0xE2, 0x1B, 0x16, 0xE0, 0x01, 0x9C, 0x01,
- 0x40, 0x00, 0xA0, 0x07, 0x64, 0x09, 0x00, 0x70,
- 0x60, 0x01, 0x9C, 0x01, 0x40, 0x00, 0x07, 0x13,
- 0x20, 0x06, 0x64, 0x09, 0xF9, 0x16, 0x0A, 0x02,
- 0x00, 0x01, 0x60, 0x04, 0x8A, 0xA3, 0x60, 0x01,
- 0x02, 0x0C, 0x00, 0x01, 0xE2, 0x13, 0x20, 0xD8,
- 0x2F, 0x09, 0x83, 0x01, 0xA0, 0x07, 0x02, 0x0C,
- 0x00, 0x80, 0x0A, 0xC8, 0x8A, 0x01, 0x0A, 0xC8,
- 0x18, 0x09, 0xD7, 0x10, 0xD8, 0x04, 0x57, 0xC2,
- 0x03, 0x16, 0xC8, 0xCD, 0xC8, 0xC5, 0x5B, 0x04,
- 0xC7, 0x05, 0x57, 0xC2, 0x48, 0xC6, 0xC8, 0xC5,
- 0x5B, 0x04, 0x08, 0xC8, 0x6C, 0x01, 0x08, 0xA2,
- 0x20, 0xCA, 0x00, 0xFC, 0x32, 0x0C, 0x18, 0x09,
- 0x02, 0x10, 0x08, 0xC8, 0x6C, 0x01, 0xE0, 0x04,
- 0x00, 0xFC, 0x57, 0xC2, 0x03, 0x16, 0xC8, 0xCD,
- 0xC8, 0xC5, 0x5B, 0x04, 0xC7, 0x05, 0x17, 0xC8,
- 0x6C, 0x01, 0x08, 0xC8, 0x00, 0xFC, 0xC8, 0xC5,
- 0x5B, 0x04, 0x17, 0xC6, 0x02, 0x16, 0xC8, 0xC9,
- 0x02, 0x00, 0xC8, 0xC5, 0x5B, 0x04, 0x17, 0xC2,
- 0x08, 0xC8, 0x6C, 0x01, 0x07, 0x13, 0xE0, 0xC5,
- 0x00, 0xFC, 0x08, 0xA2, 0x28, 0xC8, 0x32, 0x0C,
- 0x00, 0xFC, 0x18, 0x09, 0x5B, 0x04, 0x60, 0x01,
- 0x82, 0x01, 0x00, 0x20, 0x0A, 0x16, 0x60, 0xC2,
- 0x84, 0x01, 0xA0, 0x01, 0x82, 0x01, 0x00, 0x20,
- 0xE0, 0x01, 0x82, 0x01, 0x00, 0x20, 0x09, 0xC8,
- 0x84, 0x01, 0xC9, 0x04, 0x5B, 0x04, 0xA0, 0x06,
- 0xBE, 0xB7, 0xD3, 0x04, 0xE0, 0x04, 0x02, 0x01,
- 0x20, 0xE8, 0x14, 0xE0, 0x00, 0x01, 0x20, 0xC8,
- 0x16, 0xE0, 0x04, 0x01, 0x05, 0x2C, 0x20, 0x48,
- 0x14, 0xE0, 0x00, 0x01, 0x8C, 0x07, 0x00, 0x0A,
- 0x8D, 0x07, 0xD8, 0x07, 0x8E, 0x07, 0x18, 0x00,
- 0x7C, 0xCF, 0x4E, 0x06, 0xFD, 0x16, 0xE0, 0x02,
- 0xD8, 0x07, 0x8F, 0x07, 0x11, 0xFF, 0x8B, 0x02,
- 0x3B, 0x59, 0x21, 0x16, 0x8A, 0x02, 0x3B, 0x59,
- 0x1E, 0x13, 0x8F, 0x05, 0x20, 0x20, 0x16, 0xE0,
- 0x01, 0x16, 0x19, 0x10, 0x20, 0x20, 0x04, 0xE0,
- 0x16, 0x16, 0x00, 0x01, 0xBF, 0x00, 0x13, 0x16,
- 0x8B, 0x07, 0xC0, 0x40, 0x00, 0x01, 0x00, 0x60,
- 0x10, 0x13, 0x40, 0x01, 0x00, 0x60, 0x0B, 0x16,
- 0x8B, 0x07, 0xC4, 0x44, 0xA0, 0xC3, 0x02, 0x01,
- 0x0E, 0x48, 0x02, 0x01, 0x4E, 0x01, 0x00, 0x10,
- 0x04, 0x16, 0x8F, 0x07, 0x18, 0xFF, 0x60, 0x04,
- 0x94, 0xB7, 0x0B, 0xC3, 0x4B, 0xC3, 0x20, 0x20,
- 0x0A, 0xE0, 0x02, 0x16, 0x6B, 0x02, 0x20, 0x20,
- 0x20, 0x20, 0x0C, 0xE0, 0x02, 0x16, 0x6C, 0x02,
- 0x00, 0x20, 0x20, 0x20, 0x0E, 0xE0, 0x02, 0x16,
- 0x6C, 0x02, 0x20, 0x00, 0x8F, 0x05, 0x20, 0x20,
- 0x10, 0xE0, 0x07, 0x16, 0x6D, 0x02, 0x20, 0x00,
- 0x20, 0x21, 0x22, 0xE0, 0xE4, 0x13, 0x04, 0xC1,
- 0x02, 0x16, 0x84, 0x07, 0xFE, 0x7F, 0x8F, 0x05,
- 0x20, 0x20, 0x12, 0xE0, 0x02, 0x16, 0x6D, 0x02,
- 0x00, 0x20, 0x60, 0x21, 0x22, 0xE0, 0xD7, 0x13,
- 0x45, 0xC1, 0x02, 0x16, 0x85, 0x07, 0xFE, 0x7F,
- 0x8F, 0x05, 0x86, 0xD1, 0x0B, 0x13, 0xA0, 0x25,
- 0x26, 0xE0, 0x08, 0x13, 0x8F, 0x05, 0x20, 0x26,
- 0x22, 0xE0, 0x04, 0x16, 0x8F, 0x05, 0xA0, 0x26,
- 0x22, 0xE0, 0x02, 0x13, 0x60, 0x04, 0x94, 0xB7,
- 0x01, 0xD8, 0xEC, 0x08, 0x20, 0xD8, 0xDB, 0x07,
- 0x00, 0x09, 0x02, 0xD8, 0xF6, 0x08, 0x20, 0xD8,
- 0xDD, 0x07, 0xE2, 0x08, 0xE0, 0x02, 0x58, 0x07,
- 0x20, 0xD8, 0xEF, 0x07, 0xF4, 0x07, 0x20, 0xD8,
- 0xF1, 0x07, 0xF6, 0x07, 0x20, 0xD8, 0xF3, 0x07,
- 0xF8, 0x07, 0x09, 0x02, 0x06, 0x00, 0xCB, 0x04,
- 0x0F, 0x02, 0xEE, 0x07, 0x8F, 0x05, 0xCB, 0xDF,
- 0x09, 0x06, 0xFC, 0x16, 0xA0, 0x06, 0xBE, 0xB7,
- 0x89, 0x07, 0x5C, 0xE3, 0xE0, 0x04, 0x1A, 0x01,
- 0x20, 0xC8, 0xE4, 0x07, 0x18, 0x01, 0x19, 0xC8,
- 0x0C, 0x01, 0x39, 0xC8, 0x0A, 0x01, 0x39, 0xC8,
- 0x12, 0x01, 0x09, 0x16, 0x79, 0xC3, 0x0F, 0x02,
- 0x00, 0xE0, 0x4F, 0x63, 0x2D, 0x02, 0x00, 0x90,
- 0x0D, 0xC8, 0x14, 0x01, 0x02, 0x10, 0x39, 0xC8,
- 0x14, 0x01, 0xF9, 0xC3, 0x3F, 0xC8, 0x0E, 0x01,
- 0x1F, 0xC8, 0x10, 0x01, 0xE0, 0x04, 0x14, 0x09,
- 0xB9, 0xC2, 0x1A, 0xC8, 0x00, 0x01, 0x96, 0x06,
- 0x89, 0x02, 0x84, 0xE3, 0xE0, 0x16, 0x8F, 0x07,
- 0x1C, 0xFF, 0x8C, 0x07, 0x00, 0x0A, 0x8D, 0x07,
- 0x84, 0xE3, 0x8E, 0x07, 0x10, 0x00, 0x7C, 0x8F,
- 0x44, 0x16, 0x4E, 0x06, 0xFC, 0x16, 0xA0, 0xC3,
- 0xE2, 0x07, 0xE0, 0xC3, 0xE0, 0x07, 0xCE, 0x83,
- 0x01, 0x14, 0xCE, 0xC3, 0x0F, 0xC8, 0x1A, 0x01,
- 0x8C, 0x07, 0x94, 0xE3, 0x8D, 0x07, 0x00, 0x0A,
- 0x8E, 0x07, 0xA4, 0xE3, 0x8C, 0x63, 0x7C, 0xCF,
- 0x4E, 0x06, 0xFD, 0x16, 0xE0, 0x04, 0x30, 0x09,
- 0x20, 0x01, 0x42, 0x01, 0x00, 0x04, 0x02, 0x16,
- 0x20, 0x07, 0x30, 0x09, 0x60, 0xC2, 0x62, 0x01,
- 0xE0, 0x04, 0x62, 0x01, 0x8E, 0x07, 0x00, 0x80,
- 0x8C, 0x07, 0x34, 0x09, 0x8D, 0x07, 0x06, 0x00,
- 0x3E, 0xDF, 0x8E, 0x05, 0x0D, 0x06, 0xFC, 0x16,
- 0xFE, 0xD3, 0xCF, 0x06, 0x8E, 0x05, 0xFE, 0xD3,
- 0xCF, 0x06, 0x8C, 0x07, 0x34, 0x09, 0x09, 0xC8,
- 0x62, 0x01, 0xC9, 0x04, 0x5C, 0xA3, 0x7C, 0xE2,
- 0x5C, 0xA3, 0x7C, 0xE2, 0x5C, 0xA3, 0x7C, 0xE2,
- 0x02, 0x13, 0xCD, 0x83, 0x09, 0x13, 0x20, 0x07,
- 0x34, 0x09, 0x06, 0x10, 0x8F, 0x07, 0x19, 0xFF,
- 0xCD, 0xA3, 0x0F, 0xC8, 0x04, 0x01, 0xFF, 0x10,
- 0xA0, 0x01, 0x02, 0x01, 0x00, 0x10, 0xE0, 0xC3,
- 0xEE, 0x07, 0xE0, 0x43, 0x06, 0xE0, 0x0F, 0xC8,
- 0x00, 0x01, 0x20, 0xC0, 0x04, 0xE0, 0xE0, 0x04,
- 0xFE, 0x06, 0xD3, 0x04, 0xE0, 0x04, 0x04, 0x01,
- 0x60, 0x04, 0x0C, 0xB8, 0x8C, 0x07, 0x00, 0x0A,
- 0x8D, 0x07, 0x18, 0x00, 0x8E, 0x07, 0x3B, 0x59,
- 0x0E, 0xCF, 0x4D, 0x06, 0xFD, 0x16, 0x5B, 0x04,
- 0x93, 0x01, 0x00, 0x80, 0x20, 0x04, 0xC0, 0xE2,
- 0x60, 0xD0, 0x98, 0x07, 0x1C, 0x13, 0x00, 0x03,
- 0x02, 0x00, 0xA0, 0xC0, 0x46, 0x07, 0x12, 0xC8,
- 0x46, 0x07, 0x02, 0x16, 0x93, 0x01, 0x20, 0x00,
- 0x00, 0x03, 0x0F, 0x00, 0x20, 0x04, 0xE8, 0xE2,
- 0x93, 0x01, 0x00, 0x20, 0x80, 0x01, 0x00, 0x40,
- 0x00, 0x01, 0xFE, 0x00, 0x49, 0x16, 0xC4, 0xC3,
- 0x25, 0x16, 0xD3, 0xC3, 0xC5, 0x43, 0x0C, 0x16,
- 0xE0, 0xC3, 0x98, 0x07, 0x03, 0x11, 0xE0, 0x02,
- 0x98, 0x07, 0x51, 0x04, 0xE0, 0xC3, 0x78, 0x07,
- 0x0A, 0x11, 0xE0, 0x02, 0x78, 0x07, 0x51, 0x04,
- 0xD3, 0x11, 0x4F, 0x01, 0x00, 0x20, 0xE4, 0x13,
- 0x4F, 0x01, 0x20, 0x00, 0xD1, 0x13, 0x05, 0x2C,
- 0x41, 0xA0, 0x21, 0x04, 0xC0, 0xE2, 0x8B, 0x07,
- 0x0C, 0xB8, 0x00, 0x01, 0x00, 0x40, 0x0F, 0x13,
- 0xDD, 0xC3, 0x4F, 0x02, 0x0F, 0x00, 0x2F, 0xE1,
- 0x14, 0xE0, 0x5B, 0x04, 0xE4, 0xC3, 0xC0, 0xE1,
- 0xCF, 0x73, 0x2F, 0x41, 0x14, 0xE0, 0x6F, 0xC3,
- 0xEC, 0xEA, 0x8B, 0x07, 0x0C, 0xB8, 0x4B, 0xC2,
- 0xA0, 0xC2, 0xF4, 0x07, 0x8C, 0x07, 0x08, 0x00,
- 0xBD, 0xC0, 0xA0, 0xC3, 0xEA, 0x07, 0xE0, 0xC3,
- 0xEC, 0x07, 0xA0, 0x06, 0x00, 0xBA, 0xC0, 0x01,
- 0x00, 0x40, 0x02, 0xD8, 0x17, 0x01, 0x62, 0x02,
- 0x80, 0xFF, 0xA0, 0x06, 0x54, 0xBA, 0x02, 0xC8,
- 0x04, 0x01, 0x90, 0x03, 0x3F, 0x60, 0x59, 0x04,
- 0xC0, 0xC3, 0xCF, 0x73, 0xEF, 0xC3, 0xC0, 0xE1,
- 0xCF, 0x73, 0xAF, 0xC3, 0xDE, 0xEA, 0x9E, 0xC3,
- 0x4E, 0x02, 0x0F, 0x00, 0x2E, 0x21, 0x14, 0xE0,
- 0x08, 0x13, 0x2F, 0x40, 0x14, 0xE0, 0xCF, 0xA3,
- 0x2F, 0x04, 0xF0, 0xE2, 0x40, 0x01, 0x00, 0x40,
- 0xA4, 0x13, 0xC4, 0xC3, 0xC7, 0x16, 0x00, 0x01,
- 0xFE, 0x00, 0xE6, 0x16, 0x9E, 0x10, 0x40, 0x01,
- 0x00, 0x40, 0x05, 0x16, 0x20, 0xE0, 0x14, 0xE0,
- 0x65, 0x02, 0x00, 0x58, 0x96, 0x10, 0x20, 0xD8,
- 0xDE, 0x07, 0x17, 0x01, 0x8F, 0x07, 0x86, 0xFF,
- 0x0F, 0xC8, 0x04, 0x01, 0xC0, 0x01, 0x00, 0x40,
- 0x45, 0x02, 0xFF, 0xA7, 0x8A, 0x10, 0x20, 0xC3,
- 0xFE, 0x06, 0x20, 0x27, 0x38, 0xE3, 0x07, 0x13,
- 0x20, 0x23, 0x22, 0xE0, 0x1A, 0x13, 0x65, 0x02,
- 0xFF, 0xDF, 0x20, 0x40, 0x14, 0xE0, 0x20, 0xE0,
- 0x16, 0xE0, 0x0C, 0xC8, 0xE6, 0x08, 0x8D, 0x07,
- 0xE2, 0x08, 0x58, 0x04, 0x20, 0x48, 0x08, 0xE0,
- 0xFE, 0x06, 0x20, 0xC3, 0xE6, 0x08, 0x20, 0x27,
- 0x38, 0xE3, 0x19, 0x16, 0x80, 0x03, 0x02, 0xC3,
- 0x6C, 0xC2, 0x0A, 0x00, 0x99, 0x06, 0x60, 0x04,
- 0x0C, 0xB8, 0xA0, 0xC2, 0xF4, 0x07, 0x8C, 0x07,
- 0x01, 0x00, 0x8D, 0x07, 0x06, 0x06, 0xCE, 0x04,
- 0xE0, 0xC3, 0x08, 0x06, 0x01, 0x13, 0x97, 0x06,
- 0x20, 0xD8, 0x07, 0x06, 0x17, 0x01, 0x8B, 0x07,
- 0x82, 0xFF, 0x0B, 0xC8, 0x04, 0x01, 0xA0, 0x06,
- 0xB4, 0xBE, 0x60, 0x04, 0x0C, 0xB8, 0xA0, 0xC2,
- 0xEE, 0x07, 0x8C, 0x07, 0x06, 0x00, 0x8D, 0x07,
- 0xEE, 0x08, 0xA0, 0xC3, 0xE6, 0x07, 0xE0, 0xC3,
- 0xE8, 0x07, 0x97, 0x06, 0xA0, 0xC2, 0xF4, 0x07,
- 0x8D, 0x07, 0xF4, 0x08, 0xDD, 0x04, 0x8C, 0x07,
- 0x02, 0x00, 0x97, 0x06, 0x8D, 0x07, 0x00, 0x80,
- 0xA0, 0xC2, 0xEE, 0x08, 0x0A, 0x88, 0x0C, 0x06,
- 0x14, 0x1B, 0x82, 0x07, 0xD0, 0xB9, 0xA0, 0xC3,
- 0xF0, 0x08, 0xE0, 0xC3, 0xF2, 0x08, 0x8B, 0x07,
- 0x0C, 0xE3, 0x8A, 0x02, 0x14, 0x00, 0x04, 0x1A,
- 0x8B, 0x07, 0xBA, 0xEA, 0x2A, 0x02, 0xEC, 0xFF,
- 0x8A, 0xA2, 0xCA, 0xA2, 0xDB, 0xC2, 0x01, 0x13,
- 0x9B, 0x06, 0x20, 0xC8, 0xEE, 0x08, 0xF2, 0x08,
- 0x20, 0xC8, 0x20, 0xE0, 0xEE, 0x08, 0x0D, 0xC8,
- 0xF0, 0x08, 0x8D, 0x07, 0xEC, 0x08, 0x20, 0xE0,
- 0x18, 0xE0, 0x65, 0x02, 0x00, 0x58, 0x58, 0x04,
- 0x45, 0x02, 0xFF, 0xA7, 0x80, 0x03, 0x60, 0xC0,
- 0xEE, 0x05, 0x21, 0x02, 0xE8, 0x03, 0x20, 0x01,
- 0x02, 0x01, 0x06, 0x00, 0x07, 0x16, 0x01, 0x88,
- 0xEE, 0x05, 0xF9, 0x16, 0x39, 0x10, 0x60, 0xD0,
- 0x03, 0x01, 0xF1, 0x13, 0x01, 0x02, 0x0A, 0x01,
- 0x4C, 0xCC, 0x4C, 0xCC, 0x4E, 0xCC, 0x4F, 0xCC,
- 0xB1, 0x07, 0x40, 0x00, 0x4D, 0xCC, 0x0A, 0xC8,
- 0x00, 0x01, 0x5B, 0x04, 0x60, 0xC0, 0xEE, 0x05,
- 0x21, 0x02, 0xE8, 0x03, 0x20, 0x01, 0x02, 0x01,
- 0x06, 0x00, 0x07, 0x16, 0x01, 0x88, 0xEE, 0x05,
- 0xF9, 0x16, 0x1E, 0x10, 0x60, 0xD0, 0x03, 0x01,
- 0xF1, 0x13, 0x01, 0x02, 0x0A, 0x01, 0x4C, 0xCC,
- 0x4C, 0xCC, 0x4E, 0xCC, 0x4F, 0xCC, 0xB1, 0x07,
- 0x40, 0x00, 0x4D, 0xCC, 0x0A, 0xC8, 0x00, 0x01,
- 0xA0, 0x03, 0x60, 0xD0, 0x03, 0x01, 0x01, 0x13,
- 0x5B, 0x04, 0x60, 0xC0, 0xEE, 0x05, 0x21, 0x02,
- 0xE8, 0x03, 0x20, 0x01, 0x02, 0x01, 0x06, 0x00,
- 0xF7, 0x16, 0x01, 0x88, 0xEE, 0x05, 0xF9, 0x16,
- 0xCD, 0x04, 0x8A, 0x07, 0x00, 0x40, 0x20, 0xC3,
- 0x00, 0x01, 0x0C, 0x01, 0x00, 0x80, 0x02, 0x13,
- 0x8A, 0x07, 0x00, 0x20, 0xA0, 0xC3, 0x0E, 0x01,
- 0xE0, 0xC3, 0x10, 0x01, 0xB0, 0x03, 0x20, 0xC3,
- 0x58, 0x07, 0x20, 0x23, 0x04, 0xE0, 0x02, 0x13,
- 0x60, 0x04, 0x8E, 0xB7, 0x60, 0x04, 0x8A, 0xA3,
- 0x8D, 0x07, 0x00, 0x20, 0x20, 0x20, 0x0A, 0xE0,
- 0x01, 0x16, 0x5B, 0x04, 0x0D, 0x02, 0x32, 0x0C,
- 0x5D, 0xC2, 0x01, 0x11, 0xDD, 0x04, 0xCD, 0x05,
- 0x0D, 0x88, 0x30, 0x0C, 0xF9, 0x16, 0x60, 0xC2,
- 0x0A, 0x06, 0x8D, 0x07, 0x6A, 0x09, 0xA0, 0x06,
- 0xF4, 0xBE, 0x09, 0x02, 0x48, 0x00, 0xE0, 0xC3,
- 0x30, 0x09, 0x03, 0x16, 0xE0, 0x01, 0x6A, 0x09,
- 0x10, 0x00, 0xE0, 0xC2, 0x6A, 0x09, 0x0F, 0x02,
- 0x00, 0x01, 0xC9, 0x26, 0x02, 0x13, 0x60, 0x04,
- 0x86, 0xBD, 0x09, 0x02, 0x00, 0x12, 0x4B, 0x01,
- 0x10, 0x00, 0x02, 0x13, 0x09, 0x02, 0x00, 0x13,
- 0x09, 0xD8, 0x2E, 0x09, 0x8F, 0x07, 0x00, 0x40,
- 0x89, 0x07, 0x6C, 0x09, 0xCB, 0x04, 0xF9, 0xE2,
- 0xF9, 0xE2, 0xF9, 0xE2, 0x07, 0x16, 0x8B, 0x07,
- 0x34, 0x09, 0x8C, 0x07, 0x6C, 0x09, 0x3B, 0xCF,
- 0x3B, 0xCF, 0x1B, 0xC7, 0x20, 0xC3, 0x6C, 0x09,
- 0x19, 0x11, 0x8F, 0x07, 0x00, 0x20, 0x89, 0x07,
- 0x7A, 0x09, 0xA0, 0x06, 0x3A, 0xBB, 0xA0, 0x06,
- 0x3A, 0xBB, 0x12, 0x10, 0x4C, 0xCE, 0x5B, 0x04,
- 0x19, 0xC3, 0x02, 0x16, 0x8C, 0x07, 0x1A, 0x00,
- 0x4C, 0xC3, 0x2D, 0x02, 0xF8, 0xFF, 0x0A, 0x02,
- 0x09, 0x00, 0x2D, 0x02, 0xFA, 0xFF, 0xF2, 0x13,
- 0x0A, 0x06, 0xFB, 0x16, 0x60, 0x04, 0x86, 0xBD,
- 0x8F, 0x07, 0x00, 0x10, 0xD9, 0xC2, 0xFA, 0x11,
- 0x02, 0x16, 0x8B, 0x07, 0x00, 0x04, 0x4B, 0xC3,
- 0x8D, 0x02, 0x20, 0x00, 0x02, 0x14, 0x0D, 0x02,
- 0x20, 0x00, 0x8D, 0x02, 0x00, 0x04, 0x02, 0x12,
- 0x0D, 0x02, 0x00, 0x04, 0x2D, 0x02, 0xF8, 0xFF,
- 0x0D, 0xC8, 0x2C, 0x09, 0x2B, 0x02, 0xFF, 0x03,
- 0x8B, 0x01, 0xFF, 0x03, 0x4B, 0xCE, 0x60, 0xC3,
- 0x6A, 0x09, 0x60, 0x23, 0x18, 0xE0, 0x0C, 0x16,
- 0x49, 0xC3, 0xDD, 0xC2, 0x0F, 0x02, 0x01, 0x01,
- 0x8B, 0x01, 0x80, 0xC0, 0xD7, 0x16, 0x8F, 0x05,
- 0xED, 0xC2, 0x02, 0x00, 0xD3, 0x16, 0x02, 0x10,
- 0x8D, 0x07, 0xBA, 0xEA, 0x3D, 0xC8, 0xA8, 0x09,
- 0x1D, 0xC8, 0xAA, 0x09, 0xCB, 0x04, 0xE0, 0x04,
- 0xF8, 0x05, 0xE0, 0x04, 0x66, 0x09, 0x20, 0xC8,
- 0x30, 0x0C, 0x80, 0x09, 0xA0, 0x07, 0x82, 0x09,
- 0xFE, 0xDF, 0x8D, 0x07, 0xFE, 0xDF, 0xE0, 0xC3,
- 0xD8, 0x07, 0xE0, 0x23, 0x16, 0xE0, 0x24, 0x16,
- 0xE0, 0xC3, 0x30, 0x0C, 0x4F, 0x63, 0xFF, 0x04,
- 0xFF, 0x04, 0x4D, 0x06, 0xFD, 0x16, 0x8D, 0x07,
- 0xFE, 0xDF, 0x20, 0x04, 0xA2, 0xEA, 0xA0, 0xC3,
- 0xA2, 0xEA, 0xEE, 0xC3, 0x12, 0x00, 0xAA, 0x16,
- 0x6E, 0xC3, 0x18, 0x00, 0xAD, 0x09, 0x8C, 0x07,
- 0x00, 0xE0, 0xAC, 0x09, 0x0D, 0x63, 0x0C, 0x13,
- 0x6E, 0xC3, 0x18, 0x00, 0xAD, 0x09, 0x2D, 0x02,
- 0x40, 0x00, 0x1D, 0x0A, 0x2D, 0x02, 0x32, 0x0C,
- 0xBD, 0x07, 0xFF, 0x7F, 0x0C, 0x06, 0xFC, 0x16,
- 0x20, 0xC3, 0x46, 0x04, 0x8C, 0x02, 0x80, 0x00,
- 0x13, 0x1A, 0xAC, 0x02, 0x0C, 0xC8, 0x9A, 0x00,
- 0xE0, 0x02, 0x80, 0x00, 0x88, 0x07, 0x80, 0x00,
- 0x60, 0xC2, 0x46, 0x04, 0xA0, 0x06, 0x28, 0xAD,
- 0x02, 0x10, 0x9D, 0x00, 0x05, 0x10, 0x9D, 0x00,
- 0x8F, 0x07, 0x00, 0x08, 0x60, 0x04, 0x86, 0xBD,
- 0x4B, 0x2D, 0x81, 0xC3, 0xC9, 0x05, 0x8F, 0x07,
- 0x00, 0x10, 0x8E, 0x02, 0x02, 0x00, 0xF6, 0x11,
- 0x8F, 0x07, 0x00, 0x04, 0xC9, 0x05, 0xD9, 0xC2,
- 0xE0, 0x26, 0x26, 0xE0, 0x02, 0x16, 0x2B, 0x02,
- 0x06, 0x00, 0x4B, 0xC6, 0x4B, 0xC3, 0xCB, 0x72,
- 0x2E, 0x02, 0xFE, 0xFF, 0x8B, 0x83, 0xE6, 0x1B,
- 0xCD, 0x06, 0x4D, 0x73, 0xCD, 0x82, 0xE2, 0x1B,
- 0xE0, 0x04, 0x1A, 0x09, 0xE0, 0x04, 0x1C, 0x09,
- 0x4D, 0xC3, 0x02, 0x13, 0x60, 0x66, 0x12, 0xE0,
- 0xC9, 0x05, 0xCF, 0x04, 0x81, 0x2D, 0x01, 0xC8,
- 0x6C, 0x01, 0xD4, 0x13, 0x0F, 0xC8, 0x00, 0xFC,
- 0xC1, 0xC3, 0x0D, 0x06, 0xF7, 0x15, 0x0D, 0x02,
- 0x36, 0x07, 0x0E, 0x02, 0x98, 0x08, 0x0C, 0x02,
- 0x03, 0x00, 0x8D, 0xCB, 0x02, 0x00, 0x81, 0x2D,
- 0x81, 0xCB, 0x06, 0x00, 0xC3, 0x13, 0xEE, 0x04,
- 0x0C, 0x00, 0x2E, 0x02, 0x18, 0x00, 0x0C, 0x06,
- 0xF4, 0x16, 0xE0, 0x04, 0x96, 0x08, 0x1F, 0x2E,
- 0xB9, 0xC3, 0xD9, 0xC3, 0x89, 0x07, 0x12, 0x00,
- 0x8D, 0x07, 0x3A, 0x09, 0xA0, 0x06, 0xF4, 0xBE,
- 0x60, 0xC3, 0xD8, 0x07, 0x60, 0x23, 0x16, 0xE0,
- 0x09, 0x16, 0x20, 0xE8, 0x10, 0xE0, 0x6A, 0x09,
- 0x20, 0xE8, 0x18, 0xE0, 0x98, 0x07, 0x20, 0xE8,
- 0x12, 0xE0, 0x78, 0x07, 0x60, 0xC3, 0x6A, 0x09,
- 0x60, 0x23, 0x1E, 0xE0, 0x03, 0x16, 0x20, 0x48,
- 0xA4, 0xE3, 0x6A, 0x09, 0x60, 0x23, 0x22, 0xE0,
- 0x06, 0x13, 0x60, 0x27, 0xA6, 0xE3, 0x03, 0x13,
- 0x20, 0xE8, 0x10, 0xE0, 0x6A, 0x09, 0x20, 0x2D,
- 0x00, 0x00, 0x8E, 0x07, 0x00, 0x00, 0xA0, 0x06,
- 0xD4, 0xBE, 0x4E, 0x05, 0x0E, 0x2C, 0xA0, 0xC0,
- 0x04, 0x08, 0xEF, 0xC3, 0x06, 0x00, 0x1B, 0x16,
- 0xA0, 0xC3, 0x72, 0x09, 0xE0, 0xC3, 0x74, 0x09,
- 0xA0, 0x06, 0xC2, 0xBD, 0xA0, 0xC3, 0x76, 0x09,
- 0xE0, 0xC3, 0x78, 0x09, 0xA0, 0x06, 0xE0, 0xBD,
- 0x20, 0xE0, 0x0A, 0xE0, 0x60, 0xC3, 0xD8, 0x07,
- 0x60, 0x23, 0x16, 0xE0, 0x05, 0x16, 0xE0, 0x04,
- 0x2E, 0x06, 0x60, 0x41, 0x04, 0xE0, 0x4D, 0x2E,
- 0x8D, 0x07, 0x00, 0x80, 0x52, 0x04, 0xCF, 0x73,
- 0x2F, 0x02, 0x00, 0x02, 0x4F, 0xC3, 0x52, 0x04,
- 0x20, 0x20, 0x0A, 0xE0, 0x03, 0x13, 0x8D, 0x07,
- 0x00, 0x10, 0x5B, 0x04, 0x20, 0x40, 0x0A, 0xE0,
- 0x40, 0x02, 0xFF, 0xF0, 0x8E, 0x07, 0x02, 0x00,
- 0xA0, 0x06, 0xD4, 0xBE, 0x4E, 0x05, 0x0E, 0x2C,
- 0xA0, 0xC0, 0x04, 0x08, 0xA0, 0x06, 0xB4, 0xBE,
- 0x60, 0xC3, 0xD8, 0x07, 0x60, 0x23, 0x16, 0xE0,
- 0x66, 0x16, 0x20, 0x04, 0xB6, 0xEA, 0x63, 0x10,
- 0x6E, 0x02, 0x00, 0x80, 0x8D, 0x07, 0x00, 0xC0,
- 0x0D, 0xC8, 0xA6, 0x01, 0x0E, 0xC8, 0x72, 0x09,
- 0x0F, 0xC8, 0x74, 0x09, 0x0E, 0xC8, 0xA8, 0x01,
- 0x0F, 0xC8, 0xAA, 0x01, 0x12, 0x10, 0x8F, 0x01,
- 0x01, 0x00, 0x8A, 0x07, 0x76, 0x09, 0xA0, 0xE3,
- 0x4E, 0x09, 0x8E, 0xCE, 0x9A, 0x01, 0xFE, 0xFF,
- 0xE0, 0xE3, 0x50, 0x09, 0x8F, 0xE6, 0x8A, 0x07,
- 0xAC, 0x01, 0x8E, 0xCE, 0x9A, 0x01, 0xFE, 0xFF,
- 0x8F, 0xE6, 0x20, 0x20, 0x0A, 0xE0, 0x3F, 0x13,
- 0x8D, 0x07, 0x00, 0x10, 0x5B, 0x04, 0x20, 0x20,
- 0x0A, 0xE0, 0x03, 0x13, 0x0D, 0x02, 0x00, 0x10,
- 0x5B, 0x04, 0x8E, 0xC3, 0x04, 0x13, 0xE0, 0x01,
- 0x50, 0x09, 0x00, 0x01, 0x06, 0x10, 0xA0, 0x01,
- 0x50, 0x09, 0x00, 0x01, 0xA0, 0x01, 0x78, 0x09,
- 0x00, 0x01, 0xA0, 0xC3, 0x76, 0x09, 0xE0, 0xC3,
- 0x78, 0x09, 0xA0, 0xE3, 0x4E, 0x09, 0xE0, 0xE3,
- 0x50, 0x09, 0x0E, 0xC8, 0xAC, 0x01, 0x0F, 0xC8,
- 0xAE, 0x01, 0x0E, 0xC8, 0x76, 0x09, 0x0F, 0xC8,
- 0x78, 0x09, 0x19, 0x10, 0x6E, 0x02, 0x00, 0x80,
- 0x0E, 0xC8, 0xA6, 0x01, 0x20, 0x20, 0x0A, 0xE0,
- 0x12, 0x13, 0x0D, 0x02, 0x00, 0x10, 0x5B, 0x04,
- 0x8D, 0x07, 0x28, 0x07, 0x89, 0x07, 0x0E, 0x00,
- 0xA0, 0x06, 0xFA, 0xBE, 0x8D, 0x07, 0x28, 0x07,
- 0xFD, 0x04, 0x8D, 0x02, 0x36, 0x07, 0xFC, 0x16,
- 0x20, 0x48, 0x14, 0xE0, 0xFE, 0x06, 0x8D, 0x07,
- 0x00, 0x80, 0x52, 0x04, 0xA0, 0xC2, 0xEE, 0x07,
- 0x8C, 0x07, 0x04, 0x00, 0x8D, 0x07, 0xF0, 0x08,
- 0x97, 0x06, 0x7D, 0xC2, 0x5D, 0xC3, 0x60, 0x43,
- 0x22, 0xE0, 0xA0, 0x06, 0xFA, 0xBE, 0xEF, 0x10,
- 0x0E, 0xC8, 0x06, 0x06, 0x0F, 0xC8, 0x08, 0x06,
- 0xEA, 0x10, 0xB0, 0x03, 0xA0, 0x01, 0x60, 0x07,
- 0x26, 0x00, 0x40, 0x02, 0x00, 0xC0, 0xE0, 0x04,
- 0x06, 0x06, 0x8C, 0x07, 0x10, 0x40, 0xCC, 0x44,
- 0xE0, 0x04, 0xFE, 0x06, 0x85, 0x07, 0x40, 0x80,
- 0x5B, 0x04, 0x02, 0xC8, 0x04, 0x08, 0x8F, 0x07,
- 0xFA, 0x07, 0xCE, 0xCB, 0x02, 0x00, 0x8E, 0x07,
- 0x36, 0x07, 0xCE, 0xCB, 0x04, 0x00, 0x8D, 0x07,
- 0x30, 0x06, 0x8E, 0x07, 0x10, 0x00, 0x4D, 0x2C,
- 0x5B, 0x04, 0xA0, 0xC2, 0xF2, 0x07, 0x02, 0x10,
- 0xA0, 0xC2, 0xF8, 0x07, 0x0B, 0xC8, 0xEA, 0x08,
- 0x09, 0xC3, 0x0A, 0x13, 0xA0, 0x06, 0x36, 0xBA,
- 0xA0, 0xC2, 0x00, 0x01, 0xA0, 0xE2, 0x06, 0xE0,
- 0x4C, 0xA3, 0xCC, 0xA3, 0x01, 0x17, 0x8E, 0x05,
- 0x4C, 0x62, 0xE0, 0xC2, 0xEA, 0x08, 0x5B, 0x04,
- 0x8D, 0x07, 0x00, 0x10, 0x20, 0x20, 0x0A, 0xE0,
- 0x01, 0x13, 0x5B, 0x04, 0x0D, 0x02, 0x48, 0x00,
- 0xE0, 0xC3, 0x30, 0x09, 0x02, 0x16, 0xCE, 0x01,
- 0x10, 0x00, 0x8D, 0x27, 0x03, 0x13, 0x0D, 0x02,
- 0x00, 0x01, 0x52, 0x04, 0x00, 0x03, 0x02, 0x00,
- 0x60, 0xC3, 0x6A, 0x09, 0x4D, 0x02, 0x08, 0x80,
- 0x4E, 0x02, 0xF7, 0x7F, 0x8D, 0xE3, 0xE0, 0xC3,
- 0xD8, 0x07, 0xE0, 0x23, 0x16, 0xE0, 0x04, 0x13,
- 0x8D, 0x07, 0x06, 0x00, 0x8D, 0x27, 0x02, 0x13,
- 0xA0, 0xE3, 0x10, 0xE0, 0x0E, 0xC8, 0x6A, 0x09,
- 0x60, 0x01, 0x8E, 0x09, 0x00, 0x80, 0x09, 0x13,
- 0x0D, 0x02, 0x00, 0x12, 0x4E, 0x01, 0x10, 0x00,
- 0x02, 0x13, 0x0D, 0x02, 0x00, 0x13, 0x0D, 0xD8,
- 0x2E, 0x09, 0x60, 0xC3, 0x80, 0x01, 0x4E, 0x02,
- 0x01, 0x00, 0x4D, 0x02, 0xFE, 0xFF, 0x4E, 0xE3,
- 0x0D, 0xC8, 0x80, 0x01, 0x20, 0xD8, 0x40, 0xE2,
- 0x2F, 0x09, 0x20, 0x01, 0x6A, 0x09, 0x06, 0x00,
- 0x03, 0x13, 0x20, 0xD8, 0xD0, 0xE1, 0x2F, 0x09,
- 0x20, 0x98, 0x83, 0x01, 0x00, 0xE2, 0x03, 0x13,
- 0x20, 0xD8, 0x2F, 0x09, 0x83, 0x01, 0x00, 0x03,
- 0x0F, 0x00, 0x60, 0x04, 0x88, 0xBE, 0x20, 0x20,
- 0x0A, 0xE0, 0x03, 0x13, 0x0D, 0x02, 0x00, 0x10,
- 0x5B, 0x04, 0x09, 0x02, 0x08, 0x00, 0x0D, 0x02,
- 0x58, 0x09, 0xA0, 0x06, 0xF4, 0xBE, 0xA0, 0x07,
- 0x02, 0x02, 0x00, 0x00, 0x0D, 0x02, 0x00, 0x04,
- 0xE0, 0xC3, 0x58, 0x09, 0x0F, 0x01, 0x00, 0x7C,
- 0x01, 0x13, 0x52, 0x04, 0x8F, 0xC3, 0x4E, 0x02,
- 0x0F, 0x00, 0xFB, 0x13, 0x8E, 0x02, 0x0F, 0x00,
- 0xF8, 0x13, 0x0D, 0x02, 0x00, 0x40, 0x4F, 0xC2,
- 0x49, 0x09, 0x49, 0x02, 0x3F, 0x00, 0x09, 0x01,
- 0x01, 0x00, 0xEF, 0x16, 0x89, 0x02, 0x06, 0x00,
- 0xEC, 0x1A, 0x89, 0x02, 0x20, 0x00, 0xE9, 0x14,
- 0xC9, 0x06, 0x1F, 0x09, 0x4F, 0x02, 0x00, 0x40,
- 0x4F, 0xE2, 0x69, 0x02, 0x00, 0x80, 0x09, 0xC8,
- 0x58, 0x09, 0x0F, 0x02, 0xFF, 0xFF, 0x4E, 0xC2,
- 0x1F, 0x09, 0x09, 0x06, 0xFD, 0x16, 0x4F, 0x05,
- 0x0D, 0x02, 0x00, 0x20, 0x60, 0xC2, 0x5A, 0x09,
- 0xD4, 0x13, 0x4F, 0x26, 0xD2, 0x16, 0x0D, 0x02,
- 0x00, 0x10, 0x60, 0xC2, 0x5C, 0x09, 0xCD, 0x13,
- 0x4F, 0x26, 0xCB, 0x16, 0x0D, 0x02, 0x00, 0x30,
- 0x20, 0x88, 0x5A, 0x09, 0x5C, 0x09, 0xC5, 0x13,
- 0xE0, 0xC3, 0x5A, 0x09, 0x4E, 0xC2, 0x1F, 0x0A,
- 0x09, 0x06, 0xFD, 0x16, 0xE0, 0xE3, 0x5E, 0x09,
- 0x0F, 0xC8, 0x5A, 0x09, 0xE0, 0xC3, 0x5C, 0x09,
- 0x4E, 0xC2, 0x1F, 0x0A, 0x09, 0x06, 0xFD, 0x16,
- 0xE0, 0xE3, 0x5E, 0x09, 0x0F, 0xC8, 0x5C, 0x09,
- 0x0F, 0x02, 0xFF, 0xFF, 0x4E, 0xC2, 0x1F, 0x0A,
- 0x09, 0x06, 0xFD, 0x16, 0x0D, 0x02, 0x00, 0x08,
- 0x60, 0xC2, 0x5E, 0x09, 0x4F, 0x26, 0xA5, 0x16,
- 0x4F, 0x05, 0x0F, 0xC8, 0x5E, 0x09, 0x0F, 0x02,
- 0x02, 0x02, 0x0E, 0x02, 0x03, 0x00, 0x60, 0xC3,
- 0x40, 0x01, 0x0C, 0x02, 0xFE, 0xC0, 0xA0, 0x01,
- 0x40, 0x01, 0x00, 0x04, 0xCF, 0x05, 0x09, 0x02,
- 0x55, 0x55, 0x9C, 0x06, 0x49, 0x05, 0x9C, 0x06,
- 0x09, 0x07, 0x9C, 0x06, 0x49, 0x05, 0x9C, 0x06,
- 0x0E, 0x06, 0xF4, 0x16, 0xA0, 0x01, 0x40, 0x01,
- 0x00, 0x40, 0x0D, 0xC8, 0x40, 0x01, 0x09, 0x02,
- 0x08, 0x00, 0x0E, 0x02, 0x58, 0x09, 0x0F, 0x02,
- 0x02, 0x02, 0xFE, 0xCF, 0x49, 0x06, 0xFD, 0x16,
- 0x60, 0x04, 0x88, 0xBE, 0xC9, 0xC7, 0x5F, 0x82,
- 0x01, 0x16, 0x5B, 0x04, 0xA0, 0x01, 0x40, 0x01,
- 0x00, 0x40, 0x0D, 0xC8, 0x40, 0x01, 0x0D, 0x02,
- 0x00, 0x01, 0x52, 0x04, 0x8D, 0x07, 0x00, 0x10,
- 0x20, 0x20, 0x0A, 0xE0, 0x0A, 0x16, 0x8D, 0x07,
- 0x00, 0x08, 0x20, 0x20, 0x10, 0xE0, 0x05, 0x13,
- 0x8D, 0x07, 0x00, 0x40, 0x4F, 0x01, 0x01, 0x00,
- 0x01, 0x16, 0x5B, 0x04, 0x20, 0xE0, 0x10, 0xE0,
- 0x20, 0x07, 0x9C, 0x08, 0x20, 0x07, 0xB4, 0x08,
- 0x20, 0x07, 0xCC, 0x08, 0xA0, 0x07, 0xA2, 0x08,
- 0x84, 0x02, 0xA0, 0x07, 0xBA, 0x08, 0x84, 0x02,
- 0xA0, 0x07, 0xD2, 0x08, 0x84, 0x02, 0xA0, 0x07,
- 0x04, 0x09, 0x00, 0x40, 0xE0, 0x04, 0x06, 0x09,
- 0xE0, 0x04, 0x08, 0x09, 0x0E, 0xC8, 0x4C, 0x08,
- 0x0F, 0xC8, 0x4E, 0x08, 0x0E, 0xC8, 0x8E, 0x08,
- 0x0F, 0xC8, 0x90, 0x08, 0xE0, 0x04, 0x5A, 0x08,
- 0xE0, 0x04, 0x60, 0x08, 0xE0, 0x02, 0x78, 0x07,
- 0xE0, 0x04, 0x94, 0x08, 0x20, 0x40, 0x40, 0xE3,
- 0x20, 0xE0, 0x0C, 0xE0, 0x60, 0x04, 0xBC, 0xC6,
- 0x80, 0x01, 0x00, 0xF0, 0xC0, 0x01, 0x00, 0x40,
- 0x10, 0x10, 0x80, 0x01, 0x00, 0xF0, 0x0D, 0x10,
- 0xC0, 0x01, 0x00, 0xF0, 0x20, 0x40, 0x06, 0xE0,
- 0x08, 0x10, 0xC0, 0x01, 0x00, 0xF0, 0x80, 0x01,
- 0x00, 0x20, 0xE0, 0xC3, 0x94, 0x08, 0x01, 0x16,
- 0x5B, 0x04, 0x4B, 0xC0, 0x20, 0x04, 0xDA, 0xEA,
- 0x40, 0x01, 0x00, 0x20, 0xFB, 0x16, 0x51, 0x04,
- 0xA0, 0xC2, 0xD8, 0x07, 0x4A, 0x01, 0x40, 0x00,
- 0x01, 0x16, 0x5B, 0x04, 0xE0, 0x02, 0x78, 0x07,
- 0x20, 0x20, 0x0C, 0xE0, 0xEF, 0x16, 0x43, 0xC2,
- 0x02, 0x13, 0xA0, 0x06, 0x1A, 0xC3, 0x20, 0x2F,
- 0x36, 0x07, 0x20, 0x40, 0x0C, 0xE0, 0xA0, 0x06,
- 0xAC, 0xC1, 0xA0, 0xC3, 0x94, 0x08, 0xFB, 0x16,
- 0xA0, 0x06, 0x3A, 0xC2, 0x8E, 0x07, 0x04, 0x09,
- 0x9E, 0x07, 0x00, 0x80, 0x20, 0x20, 0x10, 0xE0,
- 0x05, 0x16, 0x8F, 0x07, 0x4C, 0x08, 0xBF, 0xCF,
- 0xBF, 0xCF, 0x9F, 0xC7, 0xA0, 0x06, 0x5A, 0xC2,
- 0x20, 0xE8, 0x3C, 0xE3, 0x62, 0x07, 0xA0, 0x06,
- 0x3A, 0xC2, 0x20, 0x48, 0x3C, 0xE3, 0x62, 0x07,
- 0x20, 0x40, 0x40, 0xE3, 0x20, 0xE0, 0x04, 0xE0,
- 0x20, 0x48, 0x10, 0xE0, 0x58, 0x07, 0x5B, 0x04,
- 0x80, 0x01, 0x00, 0xF0, 0x20, 0xE0, 0x04, 0xE0,
- 0x60, 0x01, 0x60, 0x07, 0x02, 0x00, 0x02, 0x13,
- 0x9B, 0x06, 0xB8, 0x10, 0x20, 0xE8, 0x1E, 0xE0,
- 0x58, 0x07, 0xB4, 0x10, 0x9B, 0x06, 0x80, 0x03,
- 0xE0, 0x02, 0x58, 0x07, 0x00, 0x01, 0x00, 0x40,
- 0x07, 0x16, 0x8D, 0x07, 0x00, 0x09, 0xA0, 0x06,
- 0x68, 0xB8, 0xE0, 0x02, 0x78, 0x07, 0x5B, 0x04,
- 0xC4, 0x01, 0x02, 0x00, 0xE0, 0x02, 0x78, 0x07,
- 0x5B, 0x04, 0x0E, 0x68, 0x96, 0x08, 0xE9, 0x04,
- 0x0C, 0x00, 0x11, 0x10, 0x0E, 0x02, 0x00, 0x23,
- 0x4E, 0xDB, 0x01, 0x00, 0xCC, 0x01, 0x00, 0x04,
- 0x4C, 0xD7, 0x1C, 0x10, 0x60, 0xC2, 0x5C, 0x07,
- 0x20, 0x06, 0x94, 0x08, 0xA9, 0xC2, 0x08, 0x00,
- 0xA9, 0xC3, 0x0C, 0x00, 0xEA, 0x16, 0x29, 0x07,
- 0x04, 0x00, 0x69, 0x01, 0x0A, 0x00, 0x01, 0x00,
- 0x2D, 0x13, 0x49, 0xC3, 0x2D, 0x02, 0x0E, 0x00,
- 0x0A, 0xC3, 0x1D, 0xD3, 0x8C, 0x01, 0x00, 0x84,
- 0xCC, 0x01, 0x00, 0x40, 0x0A, 0x01, 0x00, 0x5E,
- 0xDD, 0x16, 0x4C, 0xC7, 0xA9, 0xC3, 0x10, 0x00,
- 0xE9, 0xC3, 0x12, 0x00, 0x41, 0xCA, 0x10, 0x00,
- 0x2F, 0x02, 0x04, 0x00, 0x01, 0x17, 0x8E, 0x05,
- 0x8C, 0x07, 0x02, 0x00, 0xA0, 0xC2, 0xF6, 0x07,
- 0xA0, 0x06, 0x00, 0xBA, 0x69, 0xC0, 0x10, 0x00,
- 0x29, 0xC8, 0x14, 0x00, 0x06, 0x09, 0x29, 0xC8,
- 0x16, 0x00, 0x08, 0x09, 0x69, 0x01, 0x0E, 0x00,
- 0x00, 0x08, 0x04, 0x16, 0x90, 0x03, 0x7F, 0x00,
- 0xA0, 0x06, 0x5A, 0xC2, 0x40, 0x01, 0x00, 0x40,
- 0x01, 0x16, 0x51, 0x04, 0x60, 0x04, 0xBE, 0xC1,
- 0xA9, 0xC3, 0x0C, 0x00, 0x0B, 0x13, 0x0E, 0x68,
- 0x96, 0x08, 0xE9, 0x04, 0x0C, 0x00, 0x29, 0xC8,
- 0x06, 0x00, 0x6C, 0x01, 0xA0, 0xC3, 0x00, 0xFC,
- 0x01, 0x13, 0x1E, 0x2E, 0x29, 0x07, 0x04, 0x00,
- 0x5B, 0x04, 0x81, 0x07, 0x20, 0x20, 0x89, 0x07,
- 0x4C, 0x08, 0x41, 0xCE, 0x63, 0xCE, 0x10, 0x00,
- 0x63, 0xC6, 0x12, 0x00, 0xA0, 0x06, 0x54, 0xBA,
- 0x43, 0xC2, 0x02, 0x13, 0xA0, 0x06, 0x1A, 0xC3,
- 0x20, 0xE0, 0x10, 0xE0, 0x60, 0x04, 0xEC, 0xC1,
- 0x40, 0x01, 0x00, 0x04, 0xEA, 0x16, 0xA0, 0x06,
- 0xAC, 0xC1, 0xA0, 0xC2, 0xF0, 0x07, 0x8C, 0x07,
- 0x04, 0x00, 0x8D, 0x07, 0x4C, 0x08, 0xA0, 0xC3,
- 0x8E, 0x08, 0xE0, 0xC3, 0x90, 0x08, 0xA0, 0x06,
- 0x36, 0xBA, 0xE0, 0xC3, 0x4E, 0x08, 0x4F, 0x01,
- 0x01, 0x00, 0x13, 0x16, 0xE0, 0xC2, 0x94, 0x08,
- 0xEA, 0x16, 0x60, 0x04, 0xEC, 0xC1, 0xE0, 0xC3,
- 0x4E, 0x08, 0x4F, 0x01, 0x01, 0x00, 0x09, 0x16,
- 0x60, 0x04, 0xEC, 0xC1, 0xA0, 0x06, 0x54, 0xBA,
- 0xE0, 0xC3, 0x4E, 0x08, 0x4F, 0x01, 0x01, 0x00,
- 0xD7, 0x13, 0xA0, 0xC2, 0xF0, 0x07, 0x20, 0xC3,
- 0x7C, 0x09, 0x8D, 0x07, 0x4C, 0x08, 0x9D, 0xC3,
- 0xA0, 0x06, 0x36, 0xBA, 0xC0, 0x06, 0x20, 0xD0,
- 0x50, 0x08, 0xC0, 0x06, 0x40, 0x01, 0x00, 0x04,
- 0x0A, 0x16, 0x40, 0x01, 0x80, 0x00, 0x07, 0x13,
- 0x0E, 0xC8, 0x4C, 0x08, 0x0F, 0xC8, 0x4E, 0x08,
- 0xA0, 0x06, 0xA2, 0xC1, 0xD8, 0x10, 0x0E, 0xC8,
- 0x8E, 0x08, 0x0F, 0xC8, 0x90, 0x08, 0x40, 0x01,
- 0x00, 0x04, 0x0C, 0x13, 0x40, 0x01, 0x20, 0x00,
- 0x58, 0x16, 0x81, 0x07, 0x10, 0x20, 0x9F, 0x10,
- 0xA0, 0x06, 0xAC, 0xC1, 0xA0, 0xC3, 0x8E, 0x08,
- 0xE0, 0xC3, 0x90, 0x08, 0x83, 0x07, 0x98, 0x08,
- 0x63, 0x07, 0x04, 0x00, 0x2D, 0x11, 0x83, 0x07,
- 0xB0, 0x08, 0x63, 0x07, 0x04, 0x00, 0x28, 0x11,
- 0x83, 0x07, 0xC8, 0x08, 0x63, 0x07, 0x04, 0x00,
- 0x23, 0x11, 0xC3, 0x60, 0x60, 0xC2, 0x46, 0x07,
- 0xE7, 0x13, 0x69, 0x01, 0x0E, 0x00, 0x00, 0x08,
- 0xE3, 0x13, 0x00, 0x03, 0x02, 0x00, 0x19, 0xC8,
- 0x46, 0x07, 0x03, 0x16, 0xA0, 0x01, 0x3A, 0x07,
- 0x20, 0x00, 0x00, 0x03, 0x0F, 0x00, 0xC0, 0x01,
- 0x00, 0xF0, 0x80, 0x01, 0x00, 0x20, 0x01, 0x02,
- 0x06, 0xC4, 0x60, 0x04, 0x9A, 0xC2, 0x81, 0x07,
- 0x80, 0x20, 0xE0, 0xC8, 0x8E, 0x08, 0x14, 0x00,
- 0xE0, 0xC8, 0x90, 0x08, 0x16, 0x00, 0xC7, 0x10,
- 0xE0, 0xC8, 0x50, 0x08, 0x0E, 0x00, 0xCE, 0xC8,
- 0x10, 0x00, 0xCF, 0xC8, 0x12, 0x00, 0x40, 0x01,
- 0x20, 0x00, 0xBB, 0x16, 0xE3, 0xC1, 0x06, 0x00,
- 0xC7, 0xC8, 0x08, 0x00, 0x07, 0xC8, 0x6C, 0x01,
- 0x07, 0xC8, 0xE0, 0x08, 0x08, 0x02, 0x02, 0xFC,
- 0xB8, 0x07, 0x00, 0x81, 0xE0, 0xC1, 0xE8, 0x00,
- 0x07, 0xCE, 0x20, 0xC8, 0x52, 0x08, 0x92, 0x08,
- 0xDA, 0x13, 0xCE, 0xC8, 0x14, 0x00, 0xCF, 0xC8,
- 0x16, 0x00, 0x80, 0x01, 0x00, 0x04, 0x82, 0x07,
- 0x54, 0x08, 0x32, 0xC1, 0x08, 0x11, 0x72, 0xC1,
- 0x92, 0xC1, 0x82, 0x07, 0x8A, 0x08, 0x04, 0xC1,
- 0x07, 0x16, 0x60, 0x04, 0x8E, 0xC5, 0x72, 0xC1,
- 0xB2, 0xC1, 0x84, 0x01, 0x00, 0x80, 0xF9, 0x13,
- 0x04, 0x68, 0x92, 0x08, 0xC7, 0xC1, 0x37, 0x16,
- 0x20, 0x98, 0x97, 0x08, 0x85, 0x09, 0x16, 0x16,
- 0x81, 0x07, 0x40, 0x20, 0xE0, 0xC1, 0x94, 0x08,
- 0x57, 0x13, 0xA0, 0x06, 0xAC, 0xC1, 0xF4, 0x10,
- 0xE0, 0xC2, 0x3A, 0x07, 0xE0, 0x42, 0x62, 0x07,
- 0xE0, 0x26, 0x3A, 0xE3, 0x02, 0x13, 0xA0, 0x06,
- 0x92, 0xC1, 0xA0, 0x06, 0x54, 0xBA, 0x22, 0x10,
- 0xA0, 0x06, 0x9C, 0xC1, 0x81, 0x2D, 0x01, 0xC2,
- 0xFB, 0x13, 0xA0, 0x05, 0x96, 0x08, 0x23, 0xC8,
- 0x08, 0x00, 0x6C, 0x01, 0xA0, 0x07, 0x02, 0xFC,
- 0x00, 0x80, 0xC3, 0xC1, 0x27, 0x02, 0x06, 0x00,
- 0xA0, 0x06, 0x0C, 0xB5, 0xA3, 0x05, 0x0C, 0x00,
- 0x08, 0xC8, 0x6C, 0x01, 0x08, 0xC8, 0xE0, 0x08,
- 0x08, 0x02, 0x02, 0xFC, 0xB8, 0x07, 0x00, 0x81,
- 0xF8, 0xC1, 0x04, 0xC1, 0x37, 0x13, 0xE0, 0xD2,
- 0x03, 0x01, 0xD2, 0x13, 0x0B, 0x02, 0x0A, 0x01,
- 0xC4, 0xCE, 0xC7, 0xCE, 0xC5, 0xCE, 0xC6, 0xCE,
- 0xFB, 0x04, 0x09, 0x02, 0x00, 0x04, 0x48, 0xA2,
- 0xC9, 0xC6, 0x20, 0xA8, 0xE0, 0x08, 0x12, 0x01,
- 0x20, 0xC8, 0xF2, 0x07, 0x00, 0x01, 0x47, 0xC2,
- 0xC4, 0x81, 0x01, 0x14, 0x44, 0xC2, 0xC9, 0x61,
- 0x09, 0xA2, 0x89, 0xA1, 0x01, 0x17, 0x85, 0x05,
- 0x09, 0x61, 0xA8, 0x16, 0x82, 0x02, 0x8A, 0x08,
- 0x05, 0x16, 0x40, 0x01, 0x10, 0x00, 0x12, 0x13,
- 0x60, 0x04, 0xA6, 0xC3, 0x60, 0x04, 0xBC, 0xC4,
- 0x60, 0x04, 0x40, 0xC3, 0x81, 0x07, 0x80, 0x20,
- 0xFB, 0x10, 0x81, 0x07, 0x80, 0x20, 0xF8, 0x10,
- 0x81, 0x07, 0x02, 0x20, 0xF5, 0x10, 0x81, 0x07,
- 0x04, 0x20, 0xF2, 0x10, 0x23, 0xC8, 0x08, 0x00,
- 0x6C, 0x01, 0x07, 0x05, 0xE0, 0xA1, 0xE8, 0x00,
- 0x0C, 0x02, 0x04, 0xFC, 0x07, 0xCF, 0xE0, 0xC2,
- 0x92, 0x08, 0xE8, 0x16, 0xE0, 0xD2, 0x03, 0x01,
- 0x10, 0x16, 0xE0, 0xC2, 0x3A, 0x07, 0xE0, 0x42,
- 0x62, 0x07, 0xE0, 0x26, 0x3A, 0xE3, 0x07, 0x13,
- 0x90, 0x03, 0xC8, 0x2F, 0xA0, 0x06, 0x92, 0xC1,
- 0xE0, 0xD2, 0x03, 0x01, 0x02, 0x16, 0xA0, 0x06,
- 0x54, 0xBA, 0x23, 0xC8, 0x06, 0x00, 0x6C, 0x01,
- 0xA3, 0xC2, 0x0E, 0x00, 0x4A, 0x01, 0x00, 0x01,
- 0x0B, 0x13, 0x0C, 0x02, 0x0E, 0xFC, 0x5C, 0xC2,
- 0x49, 0x02, 0x00, 0x80, 0x0D, 0x02, 0x6C, 0x09,
- 0x7D, 0xE2, 0x09, 0xCF, 0x3D, 0xCF, 0x3D, 0xCF,
- 0x0C, 0x02, 0x00, 0xFC, 0x6C, 0xC3, 0x06, 0x00,
- 0x4D, 0x02, 0xFF, 0xE0, 0x4A, 0x02, 0x00, 0x02,
- 0x8A, 0xA2, 0x8A, 0xA2, 0x4A, 0xE3, 0x60, 0xE3,
- 0x9E, 0x09, 0x0D, 0xCB, 0x06, 0x00, 0xCD, 0x06,
- 0x0B, 0x02, 0x0F, 0x00, 0xEC, 0x82, 0x04, 0x00,
- 0xAD, 0x11, 0xEC, 0xC3, 0x0E, 0x00, 0x11, 0x15,
- 0x10, 0x13, 0x6C, 0xC2, 0x14, 0x00, 0x49, 0x02,
- 0x00, 0x1F, 0xA7, 0x13, 0xC9, 0x06, 0x89, 0x02,
- 0x12, 0x00, 0xA3, 0x1B, 0x49, 0x01, 0x01, 0x00,
- 0xA0, 0x13, 0xC9, 0xA2, 0xEC, 0x82, 0x04, 0x00,
- 0x9C, 0x11, 0x4D, 0xA3, 0x9D, 0x18, 0x14, 0x11,
- 0x60, 0x01, 0x6A, 0x09, 0x00, 0x80, 0x18, 0x13,
- 0x1D, 0x09, 0xCC, 0xA2, 0xEB, 0xC2, 0x08, 0x00,
- 0x7B, 0x09, 0x4B, 0x02, 0x1E, 0x00, 0xA0, 0xC3,
- 0xF0, 0x06, 0xAB, 0x23, 0x04, 0xE0, 0x8F, 0x16,
- 0x60, 0x27, 0x3E, 0xE3, 0x8C, 0x16, 0x4D, 0xA3,
- 0x4D, 0xA3, 0x4D, 0xA3, 0xCD, 0x06, 0x4D, 0x02,
- 0x07, 0x00, 0x0D, 0x88, 0xEE, 0x06, 0x0A, 0x15,
- 0x90, 0x03, 0xFF, 0x6F, 0x53, 0x2F, 0xA0, 0x05,
- 0x94, 0x08, 0xC3, 0x04, 0xC0, 0x01, 0x00, 0x04,
- 0x60, 0x04, 0xAA, 0xC3, 0x60, 0x01, 0x6A, 0x09,
- 0x00, 0x80, 0xF2, 0x13, 0x01, 0x02, 0x08, 0x20,
- 0x60, 0x04, 0xA2, 0xC5, 0x8D, 0x07, 0x00, 0x10,
- 0x20, 0x20, 0x0A, 0xE0, 0x0A, 0x16, 0x8D, 0x07,
- 0x00, 0x08, 0x20, 0x20, 0x0E, 0xE0, 0x05, 0x13,
- 0x8D, 0x07, 0x00, 0x40, 0x4F, 0x01, 0x01, 0x00,
- 0x01, 0x16, 0x5B, 0x04, 0x20, 0xE0, 0x0E, 0xE0,
- 0xA0, 0x07, 0xFA, 0x08, 0x00, 0x80, 0x0E, 0xC8,
- 0xFA, 0x07, 0x0F, 0xC8, 0xFC, 0x07, 0x0E, 0xC8,
- 0x3C, 0x08, 0x0F, 0xC8, 0x3E, 0x08, 0xE0, 0x04,
- 0x08, 0x08, 0xE0, 0x04, 0x0E, 0x08, 0xE0, 0x02,
- 0x98, 0x07, 0x20, 0x40, 0x4C, 0xE3, 0x20, 0x07,
- 0x2E, 0x06, 0x60, 0x04, 0x12, 0xCA, 0x00, 0x70,
- 0x4B, 0xC0, 0xE0, 0x04, 0x2E, 0x06, 0x0B, 0x10,
- 0x20, 0xF0, 0x4B, 0xE3, 0x02, 0x10, 0x20, 0xF0,
- 0x4A, 0xE3, 0x4B, 0xC0, 0xE0, 0x04, 0x2E, 0x06,
- 0xE0, 0x01, 0x62, 0x07, 0x40, 0x00, 0x20, 0xE8,
- 0x46, 0xE3, 0x62, 0x07, 0x20, 0x04, 0xDA, 0xEA,
- 0x40, 0x01, 0x00, 0x20, 0x04, 0x13, 0xFA, 0x10,
- 0x40, 0x01, 0x00, 0x40, 0xF7, 0x16, 0x20, 0x07,
- 0x2E, 0x06, 0x20, 0x50, 0x50, 0xE3, 0x51, 0x04,
- 0xF1, 0x10, 0xE0, 0x02, 0x58, 0x07, 0x00, 0x01,
- 0x00, 0x40, 0x07, 0x16, 0x8D, 0x07, 0xF6, 0x08,
- 0xA0, 0x06, 0x68, 0xB8, 0xE0, 0x02, 0x98, 0x07,
- 0x5B, 0x04, 0xC4, 0x01, 0x04, 0x00, 0xE0, 0x02,
- 0x98, 0x07, 0x5B, 0x04, 0x60, 0x01, 0x60, 0x07,
- 0x04, 0x00, 0x06, 0x16, 0x20, 0xE8, 0x1C, 0xE0,
- 0x58, 0x07, 0x80, 0x03, 0xE0, 0x02, 0x98, 0x07,
- 0x20, 0xD8, 0xDC, 0x07, 0x17, 0x01, 0x8F, 0x07,
- 0x8E, 0xFF, 0x0F, 0xC8, 0x04, 0x01, 0x20, 0xE8,
- 0x06, 0xE0, 0x58, 0x07, 0x80, 0x01, 0x00, 0x80,
- 0x5B, 0x04, 0xE0, 0xC2, 0x4A, 0x08, 0xC3, 0x82,
- 0x03, 0x13, 0xDB, 0x2D, 0x03, 0xC8, 0x4A, 0x08,
- 0x49, 0x01, 0x00, 0x01, 0x02, 0x16, 0x60, 0x04,
- 0x52, 0xC9, 0xE0, 0xC0, 0xF8, 0x05, 0xFD, 0x13,
- 0x03, 0xC8, 0x6C, 0x01, 0x20, 0xC8, 0x00, 0xFC,
- 0xF8, 0x05, 0x88, 0x07, 0x02, 0xFC, 0x78, 0xC2,
- 0xF8, 0xC1, 0x28, 0x02, 0x00, 0x04, 0x49, 0x01,
- 0x00, 0x01, 0x4D, 0x16, 0x09, 0x01, 0x00, 0x5E,
- 0x29, 0x16, 0x49, 0x01, 0x02, 0x00, 0x0B, 0x16,
- 0x60, 0x01, 0x46, 0x08, 0x00, 0x02, 0x0A, 0x16,
- 0x27, 0x02, 0x04, 0x00, 0x07, 0x88, 0x7E, 0x09,
- 0x05, 0x12, 0x27, 0x02, 0xFC, 0xFF, 0xA0, 0x01,
- 0x46, 0x08, 0x00, 0x02, 0xC7, 0xC1, 0x37, 0x15,
- 0xD3, 0x2D, 0xE0, 0xC0, 0x4A, 0x08, 0x07, 0xA8,
- 0x48, 0x08, 0x07, 0xA8, 0x44, 0x08, 0x0C, 0x15,
- 0x20, 0xC8, 0x3C, 0x08, 0xFA, 0x07, 0x20, 0xC8,
- 0x3E, 0x08, 0xFC, 0x07, 0x20, 0xC8, 0x40, 0x08,
- 0x3C, 0x08, 0x20, 0xC8, 0x42, 0x08, 0x3E, 0x08,
- 0x60, 0x04, 0x52, 0xC9, 0xA0, 0x06, 0x54, 0xBA,
- 0xD3, 0x2D, 0xE0, 0xC2, 0x4A, 0x08, 0xC3, 0x82,
- 0x01, 0x13, 0xDB, 0x2D, 0x20, 0x88, 0x3E, 0x08,
- 0x3A, 0x08, 0x0D, 0x16, 0x20, 0x88, 0x3C, 0x08,
- 0x38, 0x08, 0x09, 0x16, 0xE0, 0x04, 0x44, 0x08,
- 0x82, 0x07, 0x02, 0x08, 0x04, 0x61, 0xE0, 0x04,
- 0x48, 0x08, 0x60, 0x04, 0x1E, 0xCA, 0x20, 0xC8,
- 0x38, 0x08, 0xFA, 0x07, 0x20, 0xC8, 0x3A, 0x08,
- 0xFC, 0x07, 0x60, 0x04, 0x12, 0xCA, 0x07, 0xA8,
- 0x48, 0x08, 0x04, 0xC1, 0x1B, 0x16, 0x82, 0x02,
- 0x38, 0x08, 0x0A, 0x16, 0x60, 0x01, 0xFC, 0x07,
- 0x01, 0x00, 0x02, 0x16, 0xA0, 0x06, 0x6E, 0xCB,
- 0xA0, 0x06, 0xFC, 0xCA, 0x80, 0x01, 0x10, 0x00,
- 0x32, 0xC1, 0x07, 0x11, 0x72, 0xC1, 0x92, 0xC1,
- 0x82, 0x07, 0x38, 0x08, 0x04, 0xC1, 0x06, 0x16,
- 0xEA, 0x10, 0x72, 0xC1, 0xB2, 0xC1, 0x84, 0x01,
- 0x00, 0x80, 0xE5, 0x13, 0xE0, 0xD2, 0x03, 0x01,
- 0x34, 0x13, 0x0B, 0x02, 0x0A, 0x01, 0xC4, 0xCE,
- 0xC7, 0xCE, 0xC5, 0xCE, 0xC6, 0xCE, 0xFB, 0x04,
- 0xC8, 0xC6, 0x03, 0xA8, 0x12, 0x01, 0x20, 0xC8,
- 0xF8, 0x07, 0x00, 0x01, 0xC7, 0xC2, 0xC4, 0x81,
- 0x01, 0x14, 0xC4, 0xC2, 0x0B, 0xA8, 0x44, 0x08,
- 0x0B, 0x61, 0x0B, 0xA2, 0x8B, 0xA1, 0x01, 0x17,
- 0x85, 0x05, 0xCB, 0x61, 0xC6, 0x16, 0x40, 0x01,
- 0x40, 0x00, 0x15, 0x16, 0x87, 0x07, 0x20, 0x00,
- 0xE0, 0x61, 0x44, 0x08, 0xC4, 0x81, 0x08, 0x1A,
- 0x07, 0xA8, 0x48, 0x08, 0x07, 0xA8, 0x44, 0x08,
- 0x07, 0x61, 0x87, 0xA1, 0x01, 0x17, 0x85, 0x05,
- 0x80, 0x01, 0x40, 0x00, 0x03, 0xC8, 0x6C, 0x01,
- 0xE0, 0xC1, 0x04, 0xFC, 0xAC, 0x10, 0x60, 0x04,
- 0xBC, 0xC7, 0x20, 0x01, 0x3A, 0x07, 0x00, 0x70,
- 0x04, 0x13, 0xA0, 0x06, 0x28, 0xC7, 0x20, 0x07,
- 0x2E, 0x06, 0xA0, 0x06, 0x54, 0xBA, 0xC1, 0x10,
- 0xE0, 0xD2, 0x03, 0x01, 0x0A, 0x16, 0x20, 0x01,
- 0x3A, 0x07, 0x00, 0x70, 0x04, 0x13, 0xA0, 0x06,
- 0x28, 0xC7, 0x20, 0x07, 0x2E, 0x06, 0xA0, 0x06,
- 0x54, 0xBA, 0x90, 0x03, 0xBF, 0x4F, 0xD3, 0x2D,
- 0x60, 0x01, 0xFC, 0x07, 0x01, 0x00, 0x02, 0x16,
- 0xA0, 0x06, 0x6E, 0xCB, 0x60, 0xD2, 0x46, 0x08,
- 0x89, 0x01, 0x00, 0xF1, 0xC9, 0x01, 0x00, 0x70,
- 0x40, 0x01, 0x10, 0x00, 0x1C, 0x13, 0x20, 0x88,
- 0x3E, 0x08, 0x3A, 0x08, 0x04, 0x16, 0x20, 0x88,
- 0x3C, 0x08, 0x38, 0x08, 0x14, 0x13, 0x89, 0x01,
- 0x00, 0x10, 0x8D, 0x07, 0x44, 0x08, 0x9D, 0x07,
- 0x00, 0x50, 0xA0, 0xC2, 0xF6, 0x07, 0x8C, 0x07,
- 0x02, 0x00, 0xA0, 0xC3, 0x3C, 0x08, 0xE0, 0xC3,
- 0x3E, 0x08, 0x2F, 0x02, 0x04, 0x00, 0x01, 0x17,
- 0x8E, 0x05, 0xA0, 0x06, 0x00, 0xBA, 0x8D, 0x07,
- 0x46, 0x08, 0x49, 0xC7, 0xA0, 0xC2, 0xF6, 0x07,
- 0x8C, 0x07, 0x04, 0x00, 0xA0, 0xC3, 0x38, 0x08,
- 0xE0, 0xC3, 0x3A, 0x08, 0xCC, 0xA3, 0x01, 0x17,
- 0x8E, 0x05, 0xA0, 0x06, 0x00, 0xBA, 0x20, 0xC8,
- 0x3C, 0x08, 0xFC, 0x08, 0x20, 0xC8, 0x3E, 0x08,
- 0xFE, 0x08, 0x09, 0x01, 0x00, 0x0C, 0x0C, 0x13,
- 0x49, 0x01, 0x00, 0x04, 0x05, 0x16, 0xA0, 0x06,
- 0x6C, 0xC7, 0xA0, 0x06, 0x38, 0xC7, 0x04, 0x10,
- 0x90, 0x03, 0x7F, 0x40, 0xA0, 0x06, 0x6C, 0xC7,
- 0xC0, 0x01, 0x90, 0x00, 0xA0, 0x06, 0xFC, 0xCA,
- 0x0B, 0xC8, 0x46, 0x08, 0xE0, 0xC2, 0x42, 0x07,
- 0x2D, 0x13, 0xE0, 0xC2, 0x2E, 0x06, 0x2A, 0x13,
- 0xE0, 0x02, 0x58, 0x07, 0x8F, 0x07, 0xBF, 0xFF,
- 0x0F, 0x2C, 0xE0, 0x02, 0x98, 0x07, 0xE0, 0xC0,
- 0x5C, 0x07, 0x03, 0xC8, 0x4A, 0x08, 0x03, 0xC8,
- 0x6C, 0x01, 0xC3, 0xC2, 0xCB, 0xA2, 0xEB, 0xC2,
- 0x32, 0x0C, 0x32, 0x13, 0x0B, 0xC8, 0x00, 0xFC,
- 0x0B, 0xC3, 0x4B, 0xC3, 0x0B, 0xC8, 0x6C, 0x01,
- 0xE0, 0xC2, 0x00, 0xFC, 0xFA, 0x16, 0x00, 0x03,
- 0x02, 0x00, 0x20, 0xC8, 0xF8, 0x05, 0x00, 0xFC,
- 0x02, 0x16, 0x0D, 0xC8, 0xFA, 0x05, 0x0C, 0xC8,
- 0xF8, 0x05, 0x00, 0x03, 0x0F, 0x00, 0x03, 0xC8,
- 0x6C, 0x01, 0x1A, 0x10, 0xA0, 0xC3, 0x2E, 0x06,
- 0x03, 0x13, 0xE0, 0xC0, 0xF8, 0x05, 0x0D, 0x16,
- 0x4F, 0x2E, 0xC0, 0x01, 0x00, 0x80, 0xA0, 0x01,
- 0x62, 0x07, 0x00, 0x80, 0x8E, 0xC3, 0x03, 0x13,
- 0xA0, 0x01, 0x62, 0x07, 0x40, 0x00, 0x60, 0x04,
- 0x4E, 0xC7, 0x03, 0xC8, 0x6C, 0x01, 0x20, 0xC8,
- 0x00, 0xFC, 0xF8, 0x05, 0x03, 0xC8, 0x4A, 0x08,
- 0x60, 0x01, 0x6A, 0x09, 0x00, 0x04, 0x02, 0x13,
- 0x60, 0x04, 0xE4, 0xC7, 0x8C, 0x07, 0x0E, 0x00,
- 0x20, 0xC2, 0x0E, 0xFC, 0x0A, 0x15, 0x09, 0x13,
- 0x20, 0xC2, 0x14, 0xFC, 0x48, 0x02, 0x00, 0x1F,
- 0xC8, 0x06, 0x88, 0x02, 0x12, 0x00, 0xF0, 0x1B,
- 0x08, 0xA3, 0x88, 0x07, 0x02, 0xFC, 0x78, 0xC2,
- 0xF8, 0xC1, 0x28, 0x02, 0x00, 0x04, 0x07, 0x83,
- 0xE7, 0x1A, 0xCC, 0x61, 0x07, 0xC8, 0x04, 0xFC,
- 0xCC, 0xC1, 0xC0, 0x01, 0x40, 0x00, 0x60, 0x04,
- 0xF0, 0xC7, 0x4B, 0xC1, 0xA0, 0xC2, 0xF0, 0x07,
- 0x20, 0xC3, 0x7A, 0x09, 0x8D, 0x07, 0xFA, 0x07,
- 0x9D, 0xC3, 0xE0, 0xC3, 0xFC, 0x07, 0xA0, 0x06,
- 0x00, 0xBA, 0x20, 0xC8, 0x3C, 0x08, 0x40, 0x08,
- 0x20, 0xC8, 0x3E, 0x08, 0x42, 0x08, 0x0E, 0xC8,
- 0x3C, 0x08, 0x0F, 0xC8, 0x3E, 0x08, 0xC4, 0x04,
- 0x82, 0x07, 0x02, 0x08, 0xE0, 0x04, 0x44, 0x08,
- 0x40, 0x01, 0x80, 0x00, 0x06, 0x16, 0x0E, 0xC8,
- 0x38, 0x08, 0x0F, 0xC8, 0x3A, 0x08, 0xE0, 0x04,
- 0x48, 0x08, 0xA0, 0x06, 0x54, 0xBA, 0xE0, 0xC2,
- 0xFE, 0x07, 0x0D, 0x11, 0x0E, 0xC8, 0xFA, 0x07,
- 0x0F, 0xC8, 0xFC, 0x07, 0x20, 0xC8, 0x40, 0x08,
- 0x3C, 0x08, 0x20, 0xC8, 0x42, 0x08, 0x3E, 0x08,
- 0xA0, 0x06, 0x32, 0xC7, 0xCB, 0x10, 0x80, 0x01,
- 0x80, 0x00, 0x55, 0x04, 0x8B, 0xC0, 0xA0, 0xC2,
- 0xF0, 0x07, 0x8C, 0x07, 0x04, 0x00, 0x8D, 0x07,
- 0xFA, 0x07, 0xA0, 0xC3, 0x3C, 0x08, 0xE0, 0xC3,
- 0x3E, 0x08, 0xA0, 0x06, 0x36, 0xBA, 0x60, 0x01,
- 0xFC, 0x07, 0x01, 0x00, 0x04, 0x13, 0xA0, 0x07,
- 0xFA, 0x08, 0x00, 0x80, 0x52, 0x04, 0x60, 0x01,
- 0x60, 0x07, 0x04, 0x00, 0x07, 0x16, 0x20, 0xD0,
- 0x04, 0xE0, 0x20, 0xE8, 0x1A, 0xE0, 0x58, 0x07,
- 0x60, 0x04, 0x3E, 0xC7, 0xA0, 0x07, 0xFA, 0x08,
- 0x00, 0x40, 0x20, 0xC8, 0x3C, 0x08, 0xFC, 0x08,
- 0x20, 0xC8, 0x3E, 0x08, 0xFE, 0x08, 0xA0, 0x06,
- 0x6C, 0xC7, 0xA0, 0x06, 0x38, 0xC7, 0xD3, 0x10,
- 0xAD, 0xC2, 0x02, 0x00, 0x6D, 0xC2, 0x00, 0x00,
- 0x05, 0x16, 0xAA, 0x07, 0x02, 0x00, 0x36, 0x07,
- 0x9A, 0x2C, 0x80, 0x03, 0xEA, 0x2C, 0x02, 0x00,
- 0x41, 0xCB, 0x00, 0x00, 0x80, 0x03, 0x2D, 0xC3,
- 0x18, 0x00, 0xAC, 0x07, 0x02, 0x00, 0x36, 0x07,
- 0x20, 0x4B, 0x06, 0xEB, 0x0A, 0x00, 0x20, 0xEB,
- 0x00, 0xEB, 0x0A, 0x00, 0x9C, 0x2E, 0x80, 0x03,
- 0xA0, 0xC2, 0x22, 0xE0, 0x60, 0x04, 0x8A, 0xA3,
- 0xED, 0xC0, 0x18, 0x00, 0xA0, 0x06, 0x3A, 0xCC,
- 0x80, 0x03, 0x44, 0xC2, 0xC3, 0xC0, 0x02, 0x13,
- 0xA0, 0x06, 0x3A, 0xCC, 0x19, 0xC3, 0x09, 0xCB,
- 0x18, 0x00, 0xC9, 0x05, 0x19, 0xCB, 0x16, 0x00,
- 0x4C, 0xC2, 0x2C, 0x02, 0x1A, 0x00, 0x0D, 0xCF,
- 0x0E, 0xCF, 0x0F, 0xC7, 0x99, 0x00, 0x5B, 0x04,
- 0x8C, 0x07, 0x0A, 0x09, 0x9C, 0xC2, 0xA0, 0x22,
- 0x14, 0xE0, 0x06, 0x13, 0xA0, 0xC2, 0x58, 0x07,
- 0xA0, 0x22, 0x20, 0xE0, 0x01, 0x16, 0x80, 0x03,
- 0x03, 0xC1, 0xC3, 0x04, 0x8A, 0x07, 0x04, 0x00,
- 0x84, 0xA2, 0x3A, 0xCF, 0x3A, 0xCF, 0x3A, 0xCF,
- 0x3A, 0xCF, 0x3A, 0xCF, 0xE0, 0x02, 0x58, 0x07,
- 0x8D, 0x07, 0x0A, 0x09, 0x0B, 0xC8, 0xC2, 0x07,
- 0xA0, 0x06, 0x44, 0xB8, 0xE0, 0xC2, 0xC2, 0x07,
- 0x20, 0xE0, 0x20, 0xE0, 0xE0, 0x02, 0xB8, 0x07,
- 0x5B, 0x04, 0x2D, 0xC3, 0x18, 0x00, 0x8C, 0xC2,
- 0x60, 0xC2, 0x6C, 0x01, 0x0A, 0xC8, 0x6C, 0x01,
- 0xE0, 0xC2, 0x00, 0xFC, 0x02, 0x13, 0x8B, 0xC2,
- 0xF9, 0x10, 0x09, 0xC8, 0x6C, 0x01, 0x8B, 0x07,
- 0xF8, 0x05, 0x5B, 0xC2, 0x0C, 0x13, 0xCB, 0x05,
- 0x5B, 0xC2, 0xCA, 0xC6, 0xE0, 0xC2, 0x6C, 0x01,
- 0x09, 0xC8, 0x6C, 0x01, 0x0C, 0xC8, 0x00, 0xFC,
- 0x0B, 0xC8, 0x6C, 0x01, 0x02, 0x10, 0xCC, 0xCE,
- 0xCA, 0xC6, 0xA0, 0xC2, 0xE0, 0x00, 0xA0, 0x22,
- 0x1A, 0xE0, 0x06, 0x16, 0x20, 0xE8, 0x04, 0xE0,
- 0x3A, 0x07, 0x20, 0x48, 0x1A, 0xE0, 0xE0, 0x00,
- 0x80, 0x03, 0xE0, 0xD3, 0xAB, 0xE3, 0xE0, 0x04,
- 0x8E, 0x09, 0xE0, 0xC1, 0xA8, 0x06, 0x05, 0x16,
- 0x07, 0x02, 0xA2, 0x06, 0xA0, 0x06, 0x38, 0xB5,
- 0x0B, 0x16, 0xE0, 0xC1, 0xBA, 0x06, 0x23, 0x16,
- 0x07, 0x02, 0xB4, 0x06, 0xA0, 0x06, 0x38, 0xB5,
- 0x1E, 0x13, 0x07, 0x02, 0xB8, 0x06, 0x02, 0x10,
- 0x07, 0x02, 0xA6, 0x06, 0x60, 0xC1, 0x02, 0xFC,
- 0x25, 0xC8, 0x0C, 0x00, 0x02, 0xFC, 0xC5, 0xC9,
- 0x0C, 0x00, 0xF5, 0xCD, 0xF5, 0xCD, 0xF5, 0xCD,
- 0xF5, 0xCD, 0xF5, 0xCD, 0xF5, 0xC5, 0xB7, 0x01,
- 0x28, 0x00, 0x27, 0x02, 0xF4, 0xFF, 0xA7, 0x07,
- 0x04, 0x00, 0x52, 0xCE, 0x20, 0xE8, 0x9E, 0x09,
- 0x06, 0xFC, 0x97, 0x2E, 0xD2, 0x10, 0x00, 0x03,
- 0x02, 0x00, 0xA0, 0x06, 0x50, 0xB5, 0x00, 0x03,
- 0x0F, 0x00, 0x20, 0x2C, 0xF0, 0xED, 0xE0, 0x93,
- 0xAB, 0xE3, 0x03, 0x16, 0x81, 0x02, 0x16, 0x00,
- 0xC4, 0x16, 0x21, 0xC1, 0x10, 0xEB, 0x54, 0x04,
- 0xE0, 0x93, 0x10, 0xE0, 0x03, 0x16, 0xA0, 0xD2,
- 0xA8, 0xE3, 0x0B, 0x10, 0xCF, 0xD3, 0x09, 0x16,
- 0xA0, 0x23, 0x08, 0xE0, 0x06, 0x16, 0x84, 0x07,
- 0x20, 0x00, 0x04, 0xE8, 0xD2, 0x06, 0xA0, 0xD2,
- 0x0C, 0xE0, 0x60, 0x04, 0xD2, 0xCE, 0x60, 0x04,
- 0x70, 0xD1, 0x22, 0xC1, 0x04, 0x00, 0xE2, 0x04,
- 0x02, 0x00, 0x54, 0x04, 0x02, 0xC8, 0x6C, 0x01,
- 0x82, 0xA0, 0x22, 0xC8, 0x32, 0x0C, 0x00, 0xFC,
- 0x02, 0x02, 0x00, 0xFC, 0xE0, 0x93, 0xAA, 0xE3,
- 0x13, 0x16, 0xB0, 0x03, 0x20, 0x98, 0xAA, 0xE3,
- 0x65, 0x06, 0x0D, 0x16, 0x8B, 0x07, 0x17, 0xFC,
- 0xDB, 0xD2, 0x8B, 0x09, 0x8B, 0x02, 0x15, 0x00,
- 0x7B, 0x1B, 0xEB, 0xD2, 0xC4, 0xEA, 0x06, 0x13,
- 0x77, 0x15, 0x20, 0x07, 0xA0, 0x09, 0x74, 0x10,
- 0xA0, 0x06, 0x02, 0xD0, 0xA0, 0x48, 0x04, 0xE0,
- 0x0E, 0x00, 0x85, 0x02, 0x07, 0x00, 0x0E, 0x13,
- 0x0E, 0x01, 0x03, 0x00, 0x0B, 0x13, 0xA0, 0x23,
- 0x22, 0xE0, 0x03, 0x16, 0xA0, 0xD2, 0x0E, 0xE0,
- 0x02, 0x10, 0xA0, 0xD2, 0xA8, 0xE3, 0x8E, 0x01,
- 0x03, 0x00, 0x5E, 0x10, 0x05, 0xC8, 0xFC, 0x06,
- 0xC3, 0xC0, 0x57, 0x16, 0xA0, 0x43, 0x10, 0xE0,
- 0x22, 0x88, 0x0E, 0x00, 0x6C, 0x09, 0x0A, 0x16,
- 0x22, 0x88, 0x10, 0x00, 0x6E, 0x09, 0x06, 0x16,
- 0x22, 0x88, 0x12, 0x00, 0x70, 0x09, 0x02, 0x16,
- 0xA0, 0xE3, 0x10, 0xE0, 0x85, 0x02, 0x09, 0x00,
- 0x02, 0x13, 0xA0, 0x06, 0xB8, 0xD7, 0x45, 0xA1,
- 0x65, 0xC1, 0xAC, 0xE3, 0x55, 0x04, 0x62, 0xC0,
- 0x04, 0x00, 0x22, 0xC8, 0x06, 0x00, 0x6C, 0x01,
- 0x82, 0x02, 0x48, 0x04, 0x02, 0x1B, 0xA0, 0x43,
- 0x0C, 0xE0, 0x22, 0xC1, 0x0E, 0x00, 0x51, 0x04,
- 0x42, 0xC0, 0xE1, 0x04, 0x02, 0x00, 0xA2, 0xC0,
- 0x0C, 0x00, 0x22, 0xC1, 0x0A, 0x00, 0x20, 0x21,
- 0x18, 0xE0, 0x07, 0x13, 0xA1, 0xC8, 0x0A, 0x00,
- 0x0A, 0x00, 0xA1, 0xC8, 0x08, 0x00, 0x08, 0x00,
- 0xE2, 0x10, 0x22, 0xC8, 0x06, 0x00, 0x6C, 0x01,
- 0xA0, 0x06, 0x66, 0xD6, 0x60, 0x04, 0xB0, 0xCE,
- 0x02, 0xC8, 0xD4, 0x06, 0x62, 0xC1, 0x02, 0x00,
- 0x65, 0xC1, 0xD8, 0xE3, 0x55, 0x04, 0x0F, 0x10,
- 0x0E, 0x10, 0x85, 0x07, 0xF4, 0x03, 0xF5, 0x04,
- 0x60, 0xCD, 0xCE, 0xED, 0xA0, 0x06, 0xA2, 0xD8,
- 0xA0, 0xE3, 0x0C, 0xE0, 0x20, 0xE8, 0x9E, 0x09,
- 0x06, 0x04, 0xA0, 0x2E, 0xF4, 0x03, 0x60, 0x04,
- 0xE4, 0xCC, 0xA0, 0x06, 0x26, 0xD5, 0x0C, 0x10,
- 0xA0, 0x06, 0x66, 0xD6, 0x09, 0x10, 0xA0, 0x06,
- 0x2A, 0xD8, 0x06, 0x10, 0xA0, 0x06, 0x66, 0xD6,
- 0x03, 0xC8, 0x2A, 0x09, 0xA0, 0xD2, 0xAA, 0xE3,
- 0xA0, 0x06, 0x6E, 0xCF, 0xA0, 0x92, 0x26, 0xE0,
- 0x0C, 0x16, 0xE0, 0xD3, 0x26, 0xE0, 0xE0, 0x23,
- 0x14, 0xE0, 0x0A, 0x13, 0x0A, 0xC1, 0xC4, 0x83,
- 0x07, 0x13, 0xC4, 0xC3, 0x24, 0xC1, 0xDC, 0xE3,
- 0x54, 0x04, 0xCA, 0x93, 0xDC, 0x13, 0xCA, 0xD3,
- 0xB0, 0x03, 0x0F, 0xD8, 0x59, 0x06, 0x04, 0x71,
- 0x24, 0xC1, 0xEC, 0xE3, 0x54, 0x04, 0xA0, 0x23,
- 0x0C, 0xE0, 0xD1, 0x13, 0x4D, 0xC3, 0xCF, 0x13,
- 0x4D, 0x01, 0x00, 0x04, 0x0B, 0x13, 0x86, 0x07,
- 0x02, 0x00, 0x84, 0x07, 0x26, 0x00, 0x46, 0x23,
- 0x03, 0x13, 0x44, 0x06, 0x86, 0xA1, 0xFB, 0x10,
- 0x46, 0x43, 0xB3, 0x10, 0x84, 0x07, 0x18, 0x00,
- 0x8D, 0x01, 0x00, 0x04, 0x85, 0x07, 0xF4, 0x03,
- 0xF5, 0x04, 0x60, 0xCD, 0xCE, 0xED, 0xA0, 0x06,
- 0xA2, 0xD8, 0x20, 0xE8, 0x9C, 0x09, 0xFE, 0x03,
- 0x20, 0xE8, 0x9E, 0x09, 0x06, 0x04, 0xA8, 0x10,
- 0x85, 0x07, 0x1C, 0x07, 0x86, 0x07, 0x1A, 0x04,
- 0x76, 0x6D, 0x76, 0x6D, 0x76, 0x6D, 0xC6, 0x05,
- 0x76, 0x6D, 0x76, 0x6D, 0x76, 0x6D, 0x83, 0x07,
- 0x00, 0x90, 0xA9, 0x10, 0x0B, 0xC3, 0x86, 0x07,
- 0x00, 0x01, 0x85, 0x07, 0x00, 0x80, 0x20, 0xC1,
- 0xD2, 0x06, 0x37, 0x13, 0xC4, 0x04, 0x60, 0xC0,
- 0xD2, 0x06, 0x45, 0x20, 0x04, 0x13, 0x84, 0x05,
- 0x15, 0x09, 0xF9, 0x16, 0x2E, 0x10, 0xCF, 0xD3,
- 0x06, 0x16, 0xE0, 0x23, 0x14, 0xE0, 0x03, 0x16,
- 0x0E, 0x01, 0x03, 0x00, 0x03, 0x13, 0xE0, 0x04,
- 0xD2, 0x06, 0x23, 0x10, 0x64, 0xD0, 0x1C, 0x07,
- 0x46, 0xB0, 0x10, 0x18, 0x01, 0xD9, 0x1C, 0x07,
- 0x60, 0x23, 0x20, 0xE0, 0x0B, 0x13, 0x81, 0x07,
- 0x18, 0x00, 0x61, 0xC0, 0xFC, 0xE3, 0x11, 0x88,
- 0xCE, 0xED, 0x04, 0x13, 0x08, 0x02, 0x18, 0x80,
- 0xA0, 0x06, 0xDA, 0xD4, 0x64, 0xD0, 0x28, 0x07,
- 0x46, 0xB0, 0x08, 0x18, 0x01, 0xD9, 0x28, 0x07,
- 0x46, 0xB0, 0x04, 0x17, 0x83, 0x07, 0x40, 0x80,
- 0xA0, 0x06, 0x2A, 0xD8, 0x05, 0x48, 0xD2, 0x06,
- 0xCA, 0x16, 0x20, 0xC1, 0x32, 0x09, 0x01, 0x16,
- 0x5C, 0x04, 0x04, 0x02, 0x07, 0x00, 0x20, 0x06,
- 0x32, 0x09, 0x05, 0x02, 0x00, 0x01, 0xC7, 0x10,
- 0x0B, 0xC3, 0xC5, 0x04, 0x42, 0xC0, 0xC7, 0x04,
- 0x20, 0xC2, 0x6C, 0x01, 0xE1, 0xA1, 0x04, 0x00,
- 0x11, 0xC8, 0x6C, 0x01, 0xFB, 0x16, 0x08, 0xC8,
- 0x6C, 0x01, 0xC8, 0x04, 0xA0, 0x43, 0x1A, 0xE0,
- 0x22, 0xC1, 0x0E, 0x00, 0x0D, 0x15, 0x0C, 0x13,
- 0xA0, 0xE3, 0x1A, 0xE0, 0xA0, 0x06, 0x14, 0xD8,
- 0x08, 0xC2, 0x48, 0x13, 0x88, 0x02, 0x12, 0x00,
- 0x45, 0x1B, 0x20, 0x22, 0x22, 0xE0, 0x42, 0x13,
- 0x02, 0xC1, 0x08, 0xA1, 0x08, 0x05, 0x28, 0x02,
- 0xF2, 0xFF, 0x07, 0xA2, 0x83, 0x07, 0x01, 0x80,
- 0x88, 0x02, 0x04, 0x00, 0x6E, 0x11, 0x64, 0xC2,
- 0x16, 0x00, 0x49, 0xD2, 0x02, 0x16, 0x02, 0x81,
- 0x31, 0x16, 0x09, 0x01, 0x00, 0xF0, 0x28, 0x16,
- 0x49, 0xC1, 0x45, 0x71, 0xC3, 0x04, 0x85, 0x02,
- 0x09, 0x00, 0x7C, 0x13, 0x83, 0x07, 0x02, 0x80,
- 0xA4, 0xC1, 0x14, 0x00, 0x88, 0x81, 0x76, 0x16,
- 0x83, 0x05, 0x85, 0x02, 0x15, 0x00, 0x13, 0x1B,
- 0x83, 0x05, 0x49, 0x99, 0x30, 0xEB, 0x0A, 0x13,
- 0x09, 0x98, 0x0E, 0xE0, 0x6B, 0x16, 0x25, 0x98,
- 0x30, 0xEB, 0x0C, 0xE0, 0x67, 0x16, 0xE0, 0xC1,
- 0xEC, 0x06, 0x64, 0x16, 0xC3, 0x04, 0x52, 0xC2,
- 0x0F, 0x13, 0x83, 0x07, 0x09, 0x80, 0xE0, 0xC1,
- 0x6A, 0x09, 0x47, 0x01, 0x00, 0x10, 0x5A, 0x16,
- 0xA0, 0xC0, 0x6C, 0x01, 0xA0, 0x06, 0xBE, 0xD6,
- 0x60, 0x04, 0xB0, 0xCE, 0x60, 0x04, 0xBA, 0xCE,
- 0x89, 0x07, 0x0E, 0x07, 0xC7, 0x04, 0xE5, 0xD1,
- 0x46, 0xEB, 0x05, 0x13, 0xC7, 0x06, 0x27, 0x02,
- 0x5C, 0xEB, 0x77, 0xCE, 0xFE, 0x15, 0x44, 0xC0,
- 0x21, 0x02, 0x18, 0x00, 0x28, 0x02, 0xFC, 0xFF,
- 0x36, 0x13, 0x91, 0xC1, 0x86, 0xD1, 0x1F, 0x13,
- 0xC6, 0x06, 0x87, 0x07, 0x0E, 0x07, 0xF7, 0xC0,
- 0x46, 0x02, 0xFF, 0xBF, 0x43, 0x02, 0xFF, 0x3F,
- 0xA0, 0x91, 0xF5, 0xED, 0x09, 0x16, 0xB0, 0x03,
- 0x20, 0x98, 0x0E, 0xE0, 0x5D, 0x06, 0x0F, 0x16,
- 0x21, 0xC8, 0x02, 0x00, 0x0C, 0x07, 0x17, 0x10,
- 0x47, 0x82, 0x0C, 0x1B, 0xC6, 0x90, 0xEB, 0x16,
- 0x47, 0x06, 0xF7, 0x04, 0xB0, 0x03, 0x20, 0x98,
- 0x5D, 0x06, 0x57, 0x06, 0x0C, 0x13, 0x83, 0x07,
- 0x05, 0x80, 0x1C, 0x10, 0xD1, 0xC0, 0xE0, 0x20,
- 0x16, 0xE0, 0x03, 0x16, 0x83, 0x07, 0x08, 0x80,
- 0x15, 0x10, 0x60, 0x44, 0x26, 0xE0, 0x86, 0x71,
- 0x46, 0xA0, 0x06, 0x62, 0x83, 0x07, 0x05, 0x80,
- 0x08, 0xC2, 0xCB, 0x15, 0x0B, 0x16, 0xC3, 0x04,
- 0x87, 0x07, 0x0E, 0x07, 0x77, 0xC0, 0x47, 0x82,
- 0x05, 0x1B, 0x60, 0x20, 0x06, 0xE0, 0xFA, 0x16,
- 0x83, 0x07, 0x07, 0x80, 0x5C, 0x04, 0xA0, 0x92,
- 0x0E, 0xE0, 0x11, 0x16, 0x20, 0xC8, 0x20, 0xE0,
- 0x08, 0x07, 0xE0, 0x04, 0x84, 0x01, 0x60, 0x05,
- 0x02, 0x07, 0x4B, 0x13, 0x20, 0x48, 0x06, 0xE0,
- 0x82, 0x01, 0xA0, 0x06, 0xD0, 0xD4, 0x83, 0x07,
- 0x00, 0xC0, 0xA0, 0x06, 0x2A, 0xD8, 0x20, 0xC8,
- 0x1E, 0xE0, 0x02, 0x07, 0xA0, 0xE3, 0x04, 0xE0,
- 0x08, 0x02, 0x24, 0x80, 0xA0, 0x06, 0xDA, 0xD4,
- 0x42, 0x10, 0x20, 0xC1, 0x84, 0x01, 0x44, 0x02,
- 0x00, 0x88, 0x2A, 0x13, 0x04, 0x48, 0x84, 0x01,
- 0x20, 0x06, 0x02, 0x07, 0xF1, 0x16, 0x60, 0x01,
- 0x8E, 0x09, 0x00, 0x80, 0x15, 0x13, 0xA0, 0x23,
- 0x22, 0xE0, 0x05, 0x16, 0xA0, 0x43, 0x22, 0xE0,
- 0xA0, 0xD2, 0x0E, 0xE0, 0xCF, 0x10, 0xE0, 0x23,
- 0x14, 0xE0, 0x04, 0x13, 0x20, 0x98, 0xA9, 0xE3,
- 0x65, 0x06, 0x0C, 0x16, 0xA0, 0x92, 0x0E, 0xE0,
- 0xC5, 0x13, 0xA0, 0xD2, 0xA8, 0xE3, 0xD3, 0x10,
- 0x20, 0xC8, 0x20, 0xE0, 0x08, 0x07, 0x83, 0x07,
- 0x00, 0xC0, 0x04, 0x10, 0x83, 0x07, 0x02, 0x00,
- 0x60, 0x04, 0xCA, 0xCE, 0x60, 0x04, 0xC0, 0xCE,
- 0x20, 0xE8, 0x06, 0xE0, 0x82, 0x01, 0xA0, 0x06,
- 0xD0, 0xD4, 0x20, 0x07, 0x02, 0x07, 0xA0, 0x43,
- 0x04, 0xE0, 0x20, 0xC8, 0xAE, 0xE4, 0x86, 0x01,
- 0x20, 0x88, 0x20, 0xE0, 0x08, 0x07, 0x03, 0x16,
- 0x20, 0xC8, 0x78, 0xEB, 0x08, 0x07, 0x60, 0x04,
- 0xD2, 0xCE, 0x0E, 0x01, 0x03, 0x00, 0x16, 0x13,
- 0xCF, 0xD3, 0x08, 0x16, 0xA0, 0x23, 0x20, 0xE0,
- 0x03, 0x16, 0xA0, 0xD2, 0xA8, 0xE3, 0x02, 0x10,
- 0xA0, 0xD2, 0x0E, 0xE0, 0x8E, 0x01, 0x03, 0x00,
- 0x09, 0x10, 0x60, 0xC1, 0x84, 0x01, 0x60, 0x21,
- 0x0A, 0xE0, 0x04, 0x16, 0x83, 0x07, 0x00, 0x84,
- 0x60, 0x04, 0xCA, 0xCE, 0x20, 0xC8, 0x2E, 0xE0,
- 0x84, 0x01, 0x08, 0x02, 0x06, 0x80, 0xA0, 0x06,
- 0xDA, 0xD4, 0x60, 0x04, 0xD2, 0xCE, 0x60, 0xE3,
- 0x20, 0xE0, 0x60, 0x04, 0xD2, 0xCE, 0xE0, 0x93,
- 0x26, 0xE0, 0x10, 0x16, 0xA0, 0x23, 0x08, 0xE0,
- 0x0D, 0x16, 0xA0, 0x23, 0x06, 0xE0, 0x02, 0x13,
- 0x60, 0xE3, 0x1C, 0xE0, 0x60, 0xE3, 0x18, 0xE0,
- 0xA0, 0x43, 0x06, 0xE0, 0x08, 0x02, 0x3C, 0x80,
- 0xA0, 0x06, 0xDA, 0xD4, 0x60, 0x04, 0xD2, 0xCE,
- 0xA0, 0x92, 0xA8, 0xE3, 0x03, 0x13, 0xA0, 0x92,
- 0xA9, 0xE3, 0x1E, 0x16, 0xE0, 0x23, 0x14, 0xE0,
- 0x08, 0x13, 0x20, 0x98, 0xA9, 0xE3, 0x65, 0x06,
- 0x04, 0x13, 0x83, 0x07, 0x07, 0x00, 0x60, 0x04,
- 0xCA, 0xCE, 0xA0, 0xD2, 0x0E, 0xE0, 0x20, 0xC8,
- 0x20, 0xE0, 0x08, 0x07, 0xA0, 0x27, 0x04, 0xE0,
- 0x0B, 0x16, 0x20, 0xC8, 0x1E, 0xE0, 0x08, 0x07,
- 0xE0, 0x93, 0xA8, 0xE3, 0x05, 0x16, 0xA0, 0x23,
- 0x12, 0xE0, 0x02, 0x13, 0x20, 0x06, 0x08, 0x07,
- 0x60, 0x04, 0xD2, 0xCE, 0xE0, 0x23, 0x14, 0xE0,
- 0x3E, 0x13, 0xB0, 0x03, 0x20, 0x98, 0x0E, 0xE0,
- 0x6F, 0x06, 0x0F, 0x16, 0xCF, 0xD3, 0x37, 0x16,
- 0xA0, 0xD2, 0xA8, 0xE3, 0x60, 0x04, 0xD2, 0xCE,
- 0xA0, 0x92, 0x0C, 0xE0, 0x30, 0x16, 0xE0, 0x23,
- 0x14, 0xE0, 0xF6, 0x13, 0x83, 0x07, 0x06, 0x00,
- 0x07, 0x10, 0x83, 0x07, 0x05, 0x00, 0xE0, 0x93,
- 0x0E, 0xE0, 0x02, 0x16, 0x83, 0x07, 0x07, 0x00,
- 0x60, 0x04, 0xCA, 0xCE, 0x60, 0xE3, 0x12, 0xE0,
- 0xE0, 0x23, 0x14, 0xE0, 0x11, 0x13, 0x20, 0x98,
- 0x0C, 0xE0, 0x65, 0x06, 0x03, 0x16, 0x20, 0xD8,
- 0xA9, 0xE3, 0x65, 0x06, 0x14, 0x10, 0x60, 0x01,
- 0x8E, 0x09, 0x00, 0x80, 0x10, 0x13, 0x20, 0xC1,
- 0x84, 0x01, 0x20, 0x21, 0x06, 0xE0, 0xD2, 0x16,
- 0x60, 0x01, 0x8E, 0x09, 0x00, 0x80, 0x07, 0x13,
- 0x20, 0x48, 0x06, 0xE0, 0x84, 0x01, 0x08, 0x02,
- 0x30, 0x80, 0xA0, 0x06, 0xDA, 0xD4, 0x60, 0x04,
- 0xD2, 0xCE, 0x60, 0x01, 0x8E, 0x09, 0x00, 0x20,
- 0xFA, 0x16, 0x08, 0x02, 0x78, 0x80, 0xA0, 0x06,
- 0xDA, 0xD4, 0x20, 0xC2, 0xA2, 0x09, 0x03, 0x13,
- 0x20, 0x06, 0xA2, 0x09, 0x21, 0x13, 0x20, 0xC2,
- 0xA4, 0x09, 0xED, 0x13, 0x20, 0x06, 0xA4, 0x09,
- 0xEA, 0x16, 0xA0, 0x07, 0xA4, 0x09, 0x05, 0x00,
- 0xCD, 0x01, 0x00, 0x04, 0xE4, 0x10, 0x60, 0x01,
- 0x8E, 0x09, 0x80, 0x00, 0x3E, 0x13, 0x60, 0x01,
- 0x8E, 0x09, 0x00, 0x10, 0x02, 0x16, 0xA0, 0x06,
- 0xE6, 0xD5, 0xA0, 0x01, 0x8E, 0x09, 0x00, 0x10,
- 0xE0, 0x01, 0x8E, 0x09, 0x80, 0x00, 0x83, 0x07,
- 0x00, 0xA8, 0xA0, 0x06, 0x2A, 0xD8, 0x16, 0x10,
- 0x60, 0x01, 0x8E, 0x09, 0x00, 0x04, 0x21, 0x13,
- 0xE0, 0x01, 0x8E, 0x09, 0x00, 0x10, 0xA0, 0x07,
- 0x08, 0x07, 0x05, 0x00, 0x83, 0x07, 0x08, 0xA8,
- 0xA0, 0x23, 0x04, 0xE0, 0x05, 0x16, 0x20, 0xC8,
- 0x20, 0xE0, 0x08, 0x07, 0x83, 0x07, 0x08, 0xE8,
- 0xA0, 0x06, 0x2A, 0xD8, 0xA0, 0x01, 0x8E, 0x09,
- 0x00, 0x20, 0xE0, 0x01, 0x8E, 0x09, 0x00, 0x01,
- 0xE0, 0x01, 0x82, 0x01, 0x00, 0x08, 0xA0, 0xD2,
- 0x0E, 0xE0, 0x83, 0x07, 0x10, 0x80, 0x60, 0x04,
- 0xC0, 0xCE, 0x08, 0x02, 0x78, 0x00, 0xA0, 0x06,
- 0xDA, 0xD4, 0x83, 0x07, 0x00, 0x82, 0x60, 0x04,
- 0xCA, 0xCE, 0x60, 0x04, 0xD2, 0xCE, 0x20, 0x06,
- 0x90, 0x09, 0x07, 0x15, 0xA0, 0xD2, 0x10, 0xE0,
- 0xCA, 0x06, 0xA0, 0xD2, 0x26, 0xE0, 0xCF, 0x04,
- 0xF4, 0x10, 0x08, 0x02, 0x7E, 0x80, 0xA0, 0x06,
- 0xDA, 0xD4, 0x20, 0xC2, 0x90, 0x09, 0x88, 0x02,
- 0x96, 0x00, 0x0D, 0x1B, 0xEA, 0x16, 0x20, 0x48,
- 0x08, 0xE0, 0x82, 0x01, 0xA0, 0x01, 0x8E, 0x09,
- 0x00, 0x10, 0xA0, 0x06, 0xE6, 0xD5, 0x83, 0x07,
- 0x00, 0x28, 0x60, 0x04, 0xC0, 0xCE, 0x60, 0x01,
- 0x8E, 0x09, 0x00, 0x10, 0xDA, 0x16, 0x84, 0x07,
- 0x04, 0x00, 0x85, 0x07, 0xF4, 0x03, 0xF5, 0x04,
- 0xB5, 0x07, 0x30, 0x06, 0xA0, 0x06, 0xA2, 0xD8,
- 0xA0, 0x07, 0xF8, 0x03, 0x34, 0xD4, 0x60, 0x04,
- 0xC0, 0xDB, 0xA0, 0x07, 0x90, 0x09, 0xF4, 0x01,
- 0x08, 0x02, 0x7E, 0x80, 0xA0, 0x06, 0xDA, 0xD4,
- 0x08, 0x02, 0x36, 0x00, 0xA0, 0x06, 0xDA, 0xD4,
- 0x20, 0xE8, 0x0C, 0xE0, 0x82, 0x01, 0xA0, 0x23,
- 0x18, 0xE0, 0x06, 0x13, 0xA0, 0xE3, 0x18, 0xE0,
- 0xE0, 0x2E, 0x00, 0x00, 0x41, 0xC0, 0xFA, 0x16,
- 0xA0, 0x06, 0xE6, 0xD5, 0xB2, 0x10, 0x04, 0x02,
- 0x64, 0x00, 0x04, 0x06, 0xFE, 0x16, 0x5B, 0x04,
- 0xA0, 0xE3, 0x0A, 0xE0, 0x08, 0xC2, 0x02, 0x11,
- 0xA0, 0x43, 0x0A, 0xE0, 0x20, 0x42, 0x04, 0xE0,
- 0x28, 0x02, 0xFC, 0xE3, 0x58, 0xC0, 0x02, 0xC0,
- 0x11, 0x88, 0xCE, 0xED, 0x03, 0x16, 0xD1, 0x2C,
- 0x58, 0xC0, 0xD1, 0x04, 0x80, 0xC0, 0x0E, 0x01,
- 0x00, 0x10, 0x0F, 0x13, 0x60, 0xCC, 0xCE, 0xED,
- 0xC8, 0x05, 0x78, 0xCC, 0x03, 0x16, 0x41, 0x06,
- 0x60, 0xCC, 0xD6, 0x06, 0x58, 0xC4, 0x02, 0x16,
- 0x60, 0xC4, 0x00, 0x07, 0x21, 0x02, 0xFA, 0xFF,
- 0x91, 0x2C, 0x5B, 0x04, 0x0B, 0xC3, 0xA0, 0x06,
- 0xC2, 0xD5, 0xA0, 0x06, 0x9C, 0xD5, 0x08, 0xC2,
- 0x05, 0x16, 0x62, 0xC2, 0x02, 0x00, 0x60, 0x26,
- 0xA8, 0xE4, 0x0D, 0x16, 0x42, 0xC2, 0xC9, 0x05,
- 0x60, 0xCE, 0xF2, 0xED, 0x60, 0xC6, 0x7C, 0xEB,
- 0xA0, 0x06, 0x10, 0xD6, 0x18, 0xCA, 0x0A, 0x00,
- 0x20, 0x46, 0x26, 0xE0, 0x04, 0x16, 0xA0, 0xC0,
- 0x6C, 0x01, 0x12, 0x2E, 0x1D, 0x10, 0x12, 0xC1,
- 0x05, 0x13, 0x60, 0xC1, 0x6C, 0x01, 0x14, 0x2E,
- 0x05, 0xC8, 0x6C, 0x01, 0xD2, 0x04, 0x48, 0x06,
- 0x84, 0x07, 0x02, 0x00, 0x48, 0xC1, 0xA0, 0xC0,
- 0x6C, 0x01, 0x02, 0xC0, 0xA0, 0x06, 0xA2, 0xD8,
- 0x60, 0xC5, 0x02, 0xFC, 0x07, 0x02, 0xA2, 0x06,
- 0x25, 0x02, 0xF4, 0xFF, 0x05, 0xC8, 0x02, 0xFC,
- 0x20, 0xC2, 0x6C, 0x01, 0xA0, 0x06, 0xFC, 0xB4,
- 0x5C, 0x04, 0x42, 0xC2, 0x29, 0x02, 0x08, 0x00,
- 0x39, 0xC2, 0x48, 0x02, 0x00, 0xC0, 0x88, 0x02,
- 0x00, 0xC0, 0x08, 0x16, 0x60, 0x8E, 0x2E, 0xE0,
- 0x05, 0x16, 0x60, 0x86, 0x2E, 0xE0, 0x02, 0x16,
- 0xC8, 0x04, 0x5B, 0x04, 0x08, 0x07, 0x5B, 0x04,
- 0x20, 0x88, 0x8E, 0xE1, 0x6C, 0x01, 0x02, 0x16,
- 0x60, 0x04, 0xBA, 0xCE, 0x5B, 0x04, 0x88, 0x07,
- 0xAE, 0x01, 0x20, 0xE8, 0x0E, 0xE0, 0x80, 0x01,
- 0x08, 0x06, 0xFE, 0x16, 0x20, 0x48, 0x0E, 0xE0,
- 0x80, 0x01, 0x5B, 0x04, 0xC2, 0x04, 0xA0, 0x23,
- 0x0C, 0xE0, 0x10, 0x16, 0x20, 0x2F, 0x30, 0x06,
- 0x82, 0x07, 0xDF, 0xFF, 0x02, 0x2C, 0x82, 0x02,
- 0xF4, 0x03, 0x06, 0x13, 0xE2, 0x04, 0x02, 0x00,
- 0xA2, 0xC0, 0x06, 0x00, 0x12, 0x2E, 0xF4, 0x10,
- 0xA0, 0x43, 0x0C, 0xE0, 0x5B, 0x04, 0x42, 0xC2,
- 0x88, 0x07, 0x0E, 0x00, 0x09, 0xA2, 0x29, 0x02,
- 0x08, 0x00, 0x78, 0xCE, 0x78, 0xCE, 0x78, 0xCE,
- 0x60, 0xCE, 0x6C, 0x09, 0x60, 0xCE, 0x6E, 0x09,
- 0x60, 0xCE, 0x70, 0x09, 0xA0, 0x23, 0x1A, 0xE0,
- 0x0F, 0x16, 0x58, 0xC2, 0x49, 0x02, 0x80, 0x1F,
- 0x60, 0x2A, 0x14, 0xE0, 0xA0, 0xE8, 0x04, 0xE0,
- 0x0E, 0x00, 0x09, 0xC6, 0x49, 0x02, 0x00, 0x1F,
- 0xC9, 0x06, 0x09, 0xA2, 0x89, 0xA8, 0x04, 0x00,
- 0x28, 0x02, 0x02, 0x00, 0x58, 0xC2, 0x49, 0x0A,
- 0x49, 0x02, 0x00, 0xF0, 0x09, 0xD6, 0xE2, 0x04,
- 0x06, 0x00, 0x5B, 0x04, 0x00, 0x07, 0x82, 0xC0,
- 0x53, 0x13, 0xA0, 0xC0, 0x6C, 0x01, 0xA0, 0xC1,
- 0x06, 0xFC, 0x46, 0x02, 0x0F, 0x00, 0x86, 0x02,
- 0x01, 0x00, 0x3D, 0x12, 0x06, 0x88, 0xF2, 0x06,
- 0x12, 0x16, 0x01, 0x02, 0x0E, 0xFC, 0x31, 0x88,
- 0xF4, 0x06, 0x0D, 0x16, 0x31, 0x88, 0xF6, 0x06,
- 0x0A, 0x16, 0x31, 0x88, 0xF8, 0x06, 0x07, 0x16,
- 0x86, 0x02, 0x02, 0x00, 0x2C, 0x16, 0x20, 0x88,
- 0x0A, 0x07, 0xFA, 0x06, 0x28, 0x13, 0x20, 0xC1,
- 0x6A, 0x09, 0x44, 0x01, 0x00, 0x08, 0x06, 0x13,
- 0x86, 0x02, 0x02, 0x00, 0x20, 0x16, 0x44, 0x01,
- 0x80, 0x00, 0x1D, 0x16, 0x00, 0x07, 0xE0, 0x23,
- 0x14, 0xE0, 0x19, 0x16, 0x82, 0x02, 0x43, 0x00,
- 0x16, 0x13, 0x00, 0x02, 0x02, 0xFC, 0x40, 0xC0,
- 0xB0, 0x01, 0x20, 0x00, 0x60, 0x01, 0x6A, 0x09,
- 0x01, 0x00, 0x07, 0x16, 0x60, 0xA0, 0x2C, 0x09,
- 0x60, 0xCC, 0xEE, 0x05, 0x50, 0xC4, 0x20, 0xC4,
- 0x2C, 0x09, 0x80, 0x07, 0x36, 0x07, 0x81, 0x07,
- 0x40, 0x00, 0x40, 0x2C, 0xC0, 0x04, 0x84, 0x07,
- 0xF2, 0x06, 0x06, 0xCD, 0x01, 0x02, 0x0E, 0xFC,
- 0x31, 0xCD, 0x31, 0xCD, 0x31, 0xCD, 0x20, 0xC5,
- 0x0A, 0x07, 0x00, 0xC0, 0x01, 0x13, 0x12, 0x2E,
- 0xE0, 0x04, 0x6C, 0x01, 0x5B, 0x04, 0x60, 0x01,
- 0x8A, 0x09, 0x00, 0x80, 0x12, 0x13, 0x0B, 0xC8,
- 0x22, 0x09, 0xA0, 0x06, 0x3E, 0xD7, 0x08, 0x02,
- 0x42, 0x80, 0xA0, 0x06, 0xDA, 0xD4, 0x08, 0x02,
- 0x30, 0x80, 0xA0, 0x06, 0xDA, 0xD4, 0xE0, 0xC2,
- 0x22, 0x09, 0x5B, 0x04, 0x20, 0x48, 0xAC, 0xE4,
- 0x80, 0x01, 0x20, 0x48, 0x7E, 0xEB, 0x82, 0x01,
- 0x20, 0x48, 0x22, 0xE0, 0xAE, 0x01, 0x20, 0x48,
- 0x22, 0xE0, 0x78, 0x09, 0x60, 0x43, 0x18, 0xE0,
- 0xA0, 0x43, 0x08, 0xE0, 0x60, 0x01, 0x8A, 0x09,
- 0x00, 0x80, 0xEB, 0x13, 0x0B, 0xC3, 0x08, 0x02,
- 0x42, 0x00, 0xA0, 0x06, 0xDA, 0xD4, 0x5C, 0x04,
- 0x0B, 0xC3, 0x20, 0xE8, 0x0E, 0xE0, 0x82, 0x01,
- 0x20, 0xE8, 0x22, 0xE0, 0xAE, 0x01, 0x20, 0xE8,
- 0x22, 0xE0, 0x78, 0x09, 0xA0, 0xE3, 0x08, 0xE0,
- 0x60, 0xE3, 0x18, 0xE0, 0xA0, 0x43, 0x06, 0xE0,
- 0x08, 0x02, 0x3C, 0x80, 0xA0, 0x06, 0xDA, 0xD4,
- 0x08, 0x02, 0x42, 0x80, 0xA0, 0x06, 0xDA, 0xD4,
- 0x5C, 0x04, 0x0B, 0xC3, 0x83, 0x07, 0x00, 0x68,
- 0xA0, 0x06, 0x2A, 0xD8, 0x83, 0x07, 0x10, 0x80,
- 0xA0, 0x06, 0x2A, 0xD8, 0x5C, 0x04, 0x0B, 0xC3,
- 0xA0, 0x06, 0x14, 0xD8, 0x02, 0xA2, 0x68, 0xC2,
- 0x14, 0x00, 0x29, 0x02, 0xFC, 0xFF, 0x24, 0x13,
- 0x28, 0x02, 0x18, 0x00, 0x87, 0x07, 0x0E, 0x00,
- 0x81, 0x07, 0x0E, 0x07, 0xF1, 0x04, 0x47, 0x06,
- 0xFD, 0x15, 0x58, 0xC0, 0xB0, 0x03, 0x01, 0x78,
- 0x63, 0x06, 0x41, 0x02, 0x3F, 0x00, 0x0E, 0x13,
- 0x81, 0x02, 0x1F, 0x00, 0x0B, 0x1B, 0x41, 0xA0,
- 0x61, 0xC0, 0x86, 0xE4, 0xF8, 0xC1, 0xC7, 0x06,
- 0xC7, 0x71, 0x47, 0x06, 0x78, 0xCC, 0x47, 0x06,
- 0xFD, 0x15, 0x04, 0x10, 0x58, 0xC0, 0xC1, 0x06,
- 0x41, 0x70, 0x01, 0xA2, 0x49, 0xC2, 0xE5, 0x15,
- 0x5C, 0x04, 0xA0, 0x23, 0x1A, 0xE0, 0x02, 0x13,
- 0xC8, 0x04, 0x5B, 0x04, 0x22, 0xC2, 0x14, 0x00,
- 0x48, 0x02, 0x00, 0x1F, 0xC8, 0x06, 0x5B, 0x04,
- 0x83, 0x02, 0x0F, 0x00, 0x17, 0x1B, 0xA0, 0xC1,
- 0xD4, 0x06, 0x35, 0x13, 0x26, 0x02, 0x04, 0x00,
- 0xA0, 0xCD, 0xCE, 0xED, 0x83, 0xC5, 0x04, 0x13,
- 0x4A, 0xC2, 0x39, 0x0A, 0xC9, 0xE0, 0x83, 0xC5,
- 0x86, 0x07, 0x36, 0x07, 0x87, 0x07, 0x10, 0x00,
- 0x20, 0xC2, 0xD4, 0x06, 0xE0, 0x04, 0xD4, 0x06,
- 0x46, 0x2C, 0x5B, 0x04, 0x60, 0xC0, 0xFE, 0x06,
- 0x20, 0xC2, 0x6A, 0x09, 0x48, 0x02, 0x00, 0x60,
- 0x20, 0x22, 0x06, 0xE0, 0x04, 0x16, 0x20, 0xE2,
- 0x0A, 0xE0, 0x20, 0xE2, 0x18, 0xE0, 0x13, 0x0A,
- 0x04, 0x18, 0x41, 0x05, 0x03, 0x48, 0xFE, 0x06,
- 0x06, 0x10, 0x83, 0x02, 0x02, 0x00, 0x01, 0x16,
- 0x13, 0x09, 0x03, 0xE8, 0xFE, 0x06, 0xC8, 0x40,
- 0xC1, 0x40, 0x05, 0x13, 0x88, 0x07, 0x36, 0x07,
- 0x89, 0x07, 0x00, 0x40, 0x48, 0x2C, 0x5B, 0x04,
- 0xC9, 0x04, 0x24, 0xC1, 0x94, 0xEB, 0x84, 0xC1,
- 0x86, 0x71, 0x86, 0xA1, 0x26, 0x02, 0x56, 0xEC,
- 0xC4, 0x06, 0x04, 0x71, 0x24, 0x02, 0xC2, 0xEB,
- 0x14, 0xD2, 0xC8, 0x09, 0x08, 0xA2, 0xB0, 0x03,
- 0x34, 0xD8, 0x5F, 0x06, 0x47, 0x02, 0x0F, 0x00,
- 0xC7, 0xA1, 0x28, 0xC2, 0x82, 0xEB, 0x58, 0x04,
- 0x76, 0xCD, 0x47, 0x06, 0xFD, 0x16, 0x32, 0x10,
- 0x36, 0xC2, 0x26, 0x10, 0x17, 0x09, 0x47, 0xA1,
- 0x2D, 0x10, 0x17, 0x09, 0x47, 0x61, 0x2A, 0x10,
- 0xA0, 0x43, 0x16, 0xE0, 0x5B, 0x04, 0xA0, 0x43,
- 0x16, 0xE0, 0x49, 0xC2, 0x03, 0x16, 0x44, 0xC2,
- 0x06, 0xC8, 0x22, 0x09, 0x27, 0xC1, 0x8E, 0xED,
- 0x84, 0xC1, 0x86, 0x71, 0x26, 0x02, 0xC4, 0xED,
- 0xC4, 0x06, 0x04, 0x71, 0x24, 0x02, 0xAA, 0xED,
- 0xD3, 0x10, 0x09, 0xC1, 0xA0, 0xC1, 0x22, 0x09,
- 0xC9, 0x04, 0x10, 0x10, 0x36, 0xC2, 0x78, 0xD5,
- 0x60, 0x41, 0x22, 0xE0, 0xC5, 0x05, 0x0A, 0x10,
- 0x78, 0xCD, 0x47, 0x06, 0xFD, 0x15, 0x06, 0x10,
- 0xA0, 0x23, 0x16, 0xE0, 0xCD, 0x16, 0x49, 0xC2,
- 0xEC, 0x16, 0xD6, 0x10, 0xA0, 0xE3, 0x16, 0xE0,
- 0xBB, 0x10, 0x08, 0x02, 0x5A, 0x80, 0xA0, 0x06,
- 0xDA, 0xD4, 0x44, 0x10, 0xA0, 0x92, 0x0C, 0xE0,
- 0x15, 0x16, 0x44, 0x02, 0x00, 0x5E, 0x14, 0x16,
- 0x20, 0x48, 0xAC, 0xE4, 0x80, 0x01, 0xA0, 0x06,
- 0x72, 0xD7, 0x20, 0xC8, 0x9E, 0x01, 0x9E, 0x01,
- 0xE0, 0x2E, 0x01, 0x00, 0xA0, 0x43, 0x18, 0xE0,
- 0xA0, 0xD2, 0x26, 0xE0, 0x83, 0x07, 0x10, 0x00,
- 0xA0, 0x06, 0x2A, 0xD8, 0x60, 0x04, 0xD2, 0xCE,
- 0x84, 0x07, 0x08, 0x00, 0x60, 0x04, 0x94, 0xCE,
- 0x85, 0x07, 0x03, 0x02, 0x05, 0xC8, 0xCE, 0x06,
- 0xA0, 0x43, 0x12, 0xE0, 0xE0, 0x04, 0xFA, 0x06,
- 0xA0, 0x06, 0xA4, 0xD7, 0x08, 0x02, 0x48, 0x80,
- 0xA0, 0x06, 0xDA, 0xD4, 0x17, 0x10, 0x60, 0x01,
- 0x8E, 0x09, 0x00, 0x80, 0x02, 0x16, 0x60, 0x04,
- 0x9C, 0xD4, 0xA0, 0x27, 0x2C, 0xE0, 0x04, 0x16,
- 0x08, 0x02, 0x54, 0x80, 0xA0, 0x06, 0xDA, 0xD4,
- 0x83, 0x07, 0x00, 0xA8, 0x20, 0x88, 0x08, 0x07,
- 0x20, 0xE0, 0x02, 0x16, 0x83, 0x07, 0x00, 0xE8,
- 0xA0, 0x06, 0x2A, 0xD8, 0x08, 0x02, 0x36, 0x00,
- 0xA0, 0x06, 0xDA, 0xD4, 0x20, 0xE8, 0x0C, 0xE0,
- 0x82, 0x01, 0xA0, 0x23, 0x18, 0xE0, 0x06, 0x13,
- 0xA0, 0xE3, 0x18, 0xE0, 0xE0, 0x2E, 0x00, 0x00,
- 0x41, 0xC0, 0xFA, 0x16, 0xA0, 0x06, 0xE6, 0xD5,
- 0x82, 0xC0, 0x02, 0x13, 0x4F, 0x02, 0x80, 0xFF,
- 0xC4, 0x04, 0x0F, 0xD1, 0xC4, 0x06, 0x60, 0x04,
- 0x94, 0xCE, 0xA0, 0x06, 0x32, 0xDA, 0x08, 0x02,
- 0x36, 0x80, 0xA0, 0x07, 0xD6, 0x06, 0x20, 0xDA,
- 0xA0, 0x06, 0xDA, 0xD4, 0x10, 0x10, 0xA0, 0x06,
- 0x32, 0xDA, 0x20, 0xD1, 0xCE, 0x06, 0xE6, 0x13,
- 0x20, 0x78, 0x12, 0xE0, 0xCE, 0x06, 0xE2, 0x10,
- 0x20, 0xC1, 0x16, 0x04, 0x14, 0x0A, 0xC4, 0x06,
- 0x0A, 0x91, 0x01, 0x16, 0x5B, 0x04, 0x60, 0x04,
- 0xD2, 0xCE, 0xB0, 0x03, 0x20, 0x98, 0xAB, 0xE3,
- 0x65, 0x06, 0x02, 0x13, 0x60, 0x04, 0xBA, 0xCE,
- 0x60, 0xC1, 0x94, 0x09, 0x02, 0x13, 0x60, 0x04,
- 0x22, 0xDE, 0x60, 0xD1, 0x0E, 0xE0, 0x3D, 0x10,
- 0x85, 0x07, 0xBE, 0xEA, 0x35, 0xC8, 0x8A, 0x09,
- 0x15, 0xC8, 0x8C, 0x09, 0x0B, 0x10, 0xE0, 0x04,
- 0xA0, 0x09, 0x20, 0xD8, 0x2E, 0x09, 0xA6, 0x09,
- 0x20, 0xC8, 0xA8, 0x09, 0x8A, 0x09, 0x20, 0xC8,
- 0xAA, 0x09, 0x8C, 0x09, 0xE0, 0x04, 0x8E, 0x09,
- 0xCA, 0x04, 0xCD, 0x04, 0xCE, 0x04, 0xCF, 0x04,
- 0xE0, 0x04, 0xA8, 0x06, 0xE0, 0x04, 0xBA, 0x06,
- 0x84, 0x07, 0xA0, 0x01, 0x85, 0x07, 0x10, 0x00,
- 0xF4, 0x04, 0x45, 0x06, 0xFD, 0x15, 0x84, 0x07,
- 0xD8, 0x06, 0x85, 0x07, 0x34, 0x07, 0x44, 0x61,
- 0xF4, 0x04, 0x45, 0x06, 0xFD, 0x15, 0x84, 0x07,
- 0xC8, 0x00, 0x04, 0xC8, 0x00, 0x07, 0x84, 0x07,
- 0xFF, 0x7F, 0x04, 0xC8, 0xF0, 0x06, 0x84, 0x07,
- 0x06, 0x00, 0x04, 0xC8, 0xEE, 0x06, 0x85, 0x07,
- 0x02, 0x0C, 0x20, 0xC1, 0x8A, 0x09, 0x01, 0x11,
- 0xC5, 0x06, 0xB0, 0x03, 0x05, 0xD8, 0x65, 0x06,
- 0x60, 0x04, 0xD2, 0xCE, 0xB0, 0x03, 0x20, 0x98,
- 0xAA, 0xE3, 0x65, 0x06, 0x79, 0x16, 0x60, 0xD1,
- 0x10, 0xE0, 0xF3, 0x10, 0x60, 0xD1, 0xAB, 0xE3,
- 0xA0, 0x01, 0x8E, 0x09, 0x00, 0x02, 0xE0, 0x01,
- 0x80, 0x01, 0x00, 0x20, 0xC8, 0x04, 0x20, 0xD2,
- 0x80, 0x01, 0x08, 0xC8, 0x9C, 0x09, 0x08, 0xD8,
- 0x2E, 0x09, 0xE3, 0x10, 0x20, 0xF8, 0x19, 0xEE,
- 0x82, 0x01, 0x20, 0xC8, 0x10, 0xE0, 0xC6, 0x06,
- 0x20, 0xC8, 0x20, 0xE0, 0xC8, 0x06, 0x20, 0xC8,
- 0xC2, 0xEA, 0x90, 0x09, 0xE0, 0x2E, 0x00, 0x00,
- 0xA0, 0x06, 0xE6, 0xD5, 0x20, 0xC8, 0x6C, 0x09,
- 0xA0, 0x01, 0x20, 0xC8, 0x6E, 0x09, 0xA2, 0x01,
- 0x20, 0xC8, 0x70, 0x09, 0xA4, 0x01, 0x20, 0xC8,
- 0x6E, 0x09, 0xB0, 0x01, 0x20, 0xC8, 0x70, 0x09,
- 0xB2, 0x01, 0x20, 0xC8, 0x70, 0x09, 0xCC, 0x06,
- 0x20, 0xF8, 0x18, 0xEE, 0x80, 0x01, 0xB0, 0x03,
- 0xA0, 0x01, 0x8E, 0x09, 0x00, 0x02, 0x20, 0x98,
- 0xAA, 0xE3, 0x65, 0x06, 0x3A, 0x13, 0xE0, 0x01,
- 0x8E, 0x09, 0x00, 0x02, 0x88, 0x07, 0x56, 0xDF,
- 0xE0, 0xC2, 0x8A, 0x09, 0x05, 0x11, 0xA0, 0x01,
- 0x8E, 0x09, 0x00, 0x02, 0x88, 0x07, 0x9A, 0xDF,
- 0x98, 0x06, 0x08, 0x02, 0x12, 0x80, 0xA0, 0x06,
- 0xDA, 0xD4, 0x84, 0x07, 0x0A, 0x00, 0x85, 0x07,
- 0xF4, 0x03, 0x20, 0x88, 0xC6, 0x06, 0x20, 0xE0,
- 0x08, 0x1B, 0x60, 0x01, 0x8E, 0x09, 0x00, 0x80,
- 0xA5, 0x13, 0x84, 0x07, 0x1C, 0x00, 0x85, 0x07,
- 0xF8, 0x03, 0xA0, 0x06, 0xA2, 0xD8, 0x85, 0x07,
- 0x42, 0xDC, 0x05, 0xC8, 0xF8, 0x03, 0x20, 0xC8,
- 0xA0, 0x09, 0xA0, 0x09, 0x6C, 0x16, 0x20, 0xE8,
- 0x9C, 0x09, 0xFE, 0x03, 0x20, 0xE8, 0x9E, 0x09,
- 0x06, 0x04, 0xA0, 0x23, 0x0C, 0xE0, 0x32, 0x13,
- 0xA0, 0xE3, 0x0C, 0xE0, 0xA0, 0x2E, 0xF4, 0x03,
- 0x2D, 0x10, 0xA0, 0x06, 0x56, 0xDF, 0x60, 0x01,
- 0x8E, 0x09, 0x00, 0x40, 0x08, 0x13, 0x08, 0x02,
- 0x6C, 0x80, 0xA0, 0x06, 0xDA, 0xD4, 0x22, 0x10,
- 0xE0, 0x01, 0x8E, 0x09, 0x00, 0x40, 0x08, 0x02,
- 0x60, 0x80, 0xA0, 0x06, 0xDA, 0xD4, 0x84, 0x07,
- 0x2A, 0x00, 0x85, 0x07, 0xF4, 0x03, 0xA0, 0x06,
- 0xA2, 0xD8, 0xD5, 0x10, 0xB0, 0x03, 0x20, 0x98,
- 0xAA, 0xE3, 0x65, 0x06, 0x0F, 0x16, 0x20, 0x06,
- 0x90, 0x09, 0x9A, 0x16, 0x60, 0x01, 0x8A, 0x09,
- 0x00, 0x40, 0x39, 0x13, 0xE0, 0x04, 0x8A, 0x09,
- 0xE0, 0x04, 0x8C, 0x09, 0xE0, 0x04, 0x8E, 0x09,
- 0x60, 0x04, 0x62, 0xDA, 0x60, 0x04, 0xB0, 0xCE,
- 0xB0, 0x03, 0x20, 0x98, 0x10, 0xE0, 0x65, 0x06,
- 0xF9, 0x16, 0x44, 0x02, 0x00, 0x5E, 0x04, 0x16,
- 0x20, 0x06, 0xC6, 0x06, 0x9A, 0x16, 0x0A, 0x10,
- 0xB0, 0x03, 0x20, 0x98, 0x10, 0xE0, 0x65, 0x06,
- 0xED, 0x16, 0x20, 0x06, 0xC8, 0x06, 0x02, 0x13,
- 0x60, 0x04, 0x5A, 0xDB, 0x60, 0x01, 0x8E, 0x09,
- 0x00, 0x01, 0x02, 0x16, 0xCE, 0x01, 0x03, 0x00,
- 0x0E, 0x01, 0x03, 0x00, 0x03, 0x13, 0x83, 0x07,
- 0x00, 0x82, 0x07, 0x10, 0x83, 0x07, 0x01, 0x00,
- 0xE0, 0x04, 0x8E, 0x09, 0x20, 0xE8, 0x0C, 0xE0,
- 0x82, 0x01, 0x60, 0x04, 0xCA, 0xCE, 0x60, 0x01,
- 0x8A, 0x09, 0x00, 0x40, 0xC7, 0x16, 0x83, 0x07,
- 0x0D, 0x00, 0xF2, 0x10, 0xB0, 0x03, 0x20, 0x98,
- 0xAA, 0xE3, 0x65, 0x06, 0xC7, 0x16, 0x20, 0x88,
- 0x98, 0x09, 0x20, 0xE0, 0xF0, 0x16, 0x22, 0xC8,
- 0x0E, 0x00, 0xDC, 0x06, 0x22, 0xC8, 0x10, 0x00,
- 0xDE, 0x06, 0x22, 0xC8, 0x12, 0x00, 0xE0, 0x06,
- 0xE0, 0x01, 0x8E, 0x09, 0x00, 0x80, 0x08, 0x02,
- 0x66, 0x80, 0xA0, 0x06, 0xDA, 0xD4, 0xB2, 0x10,
- 0xA0, 0x07, 0x9A, 0x09, 0x5A, 0x00, 0xA0, 0x07,
- 0xA2, 0x09, 0x19, 0x00, 0xA0, 0x07, 0xA4, 0x09,
- 0x05, 0x00, 0xE0, 0x01, 0x8E, 0x09, 0x00, 0x20,
- 0xE0, 0x01, 0x8E, 0x09, 0x00, 0x04, 0x08, 0x02,
- 0x78, 0x80, 0xA0, 0x06, 0xDA, 0xD4, 0xB0, 0x03,
- 0x20, 0x98, 0xAB, 0xE3, 0x65, 0x06, 0x9A, 0x16,
- 0x08, 0x02, 0x72, 0x80, 0xA0, 0x06, 0xDA, 0xD4,
- 0x20, 0xE8, 0x0C, 0xE0, 0x82, 0x01, 0xA0, 0x06,
- 0xD0, 0xD5, 0x20, 0x06, 0x9A, 0x09, 0xBF, 0x13,
- 0x84, 0x07, 0x2C, 0x00, 0x85, 0x07, 0xF4, 0x03,
- 0xA0, 0x06, 0xA2, 0xD8, 0x60, 0x04, 0xC0, 0xDB,
- 0x20, 0x48, 0x0C, 0xE0, 0x82, 0x01, 0x82, 0x10,
- 0x0E, 0x01, 0x03, 0x00, 0x0A, 0x13, 0x08, 0x02,
- 0x0C, 0x80, 0xA0, 0x06, 0xDA, 0xD4, 0xE0, 0xE3,
- 0x14, 0xE0, 0x20, 0xC8, 0xAE, 0xE4, 0x86, 0x01,
- 0x26, 0x10, 0x20, 0x48, 0x0C, 0xE0, 0x82, 0x01,
- 0xE0, 0x2E, 0x01, 0x00, 0x60, 0xC1, 0x1E, 0x09,
- 0x35, 0x0A, 0x05, 0xE8, 0x82, 0x01, 0x20, 0xC1,
- 0x6A, 0x09, 0x04, 0x01, 0x06, 0x00, 0x06, 0x13,
- 0x20, 0xD8, 0xD0, 0xE1, 0x2F, 0x09, 0x20, 0xD8,
- 0xD0, 0xE1, 0x83, 0x01, 0x20, 0x21, 0x22, 0xE0,
- 0x03, 0x16, 0x20, 0xE8, 0x22, 0xE0, 0x80, 0x01,
- 0x20, 0x21, 0x04, 0xE0, 0x04, 0x16, 0xA0, 0xE3,
- 0x14, 0xE0, 0x60, 0x04, 0x0A, 0xD3, 0x08, 0x02,
- 0x00, 0x80, 0xA0, 0x06, 0xDA, 0xD4, 0x20, 0xE8,
- 0x08, 0xE0, 0x82, 0x01, 0xE0, 0xC2, 0x8A, 0x09,
- 0x02, 0x11, 0x60, 0x04, 0xB0, 0xCE, 0xA0, 0x01,
- 0x8E, 0x09, 0x00, 0x04, 0x6B, 0x10, 0x20, 0xC8,
- 0xAE, 0xE4, 0x86, 0x01, 0x08, 0x02, 0x00, 0x80,
- 0xA0, 0x06, 0xDA, 0xD4, 0x20, 0xC2, 0x1E, 0x09,
- 0x08, 0xA2, 0x08, 0x05, 0x28, 0xC8, 0x22, 0xE0,
- 0xCA, 0x06, 0x20, 0xC8, 0x20, 0xE0, 0xC6, 0x06,
- 0x20, 0xC8, 0x20, 0xE0, 0xC8, 0x06, 0x60, 0xE3,
- 0x16, 0xE0, 0x60, 0x04, 0xD2, 0xCE, 0x44, 0xC1,
- 0x44, 0x02, 0x00, 0x5E, 0xF8, 0x16, 0x60, 0x25,
- 0xA8, 0xE4, 0x0F, 0x16, 0x20, 0x06, 0xC6, 0x06,
- 0xF2, 0x16, 0x20, 0x06, 0xCA, 0x06, 0x03, 0x13,
- 0xA0, 0x05, 0xCC, 0x06, 0xE6, 0x10, 0xB0, 0x03,
- 0x20, 0xD8, 0x0C, 0xE0, 0x65, 0x06, 0x60, 0x04,
- 0xD2, 0xCE, 0x20, 0x06, 0xC8, 0x06, 0xE3, 0x16,
- 0x20, 0x88, 0x70, 0x09, 0xCC, 0x06, 0x03, 0x16,
- 0x83, 0x07, 0x08, 0x00, 0x02, 0x10, 0x83, 0x07,
- 0x0C, 0x00, 0x60, 0x04, 0x8A, 0xDC, 0x60, 0x04,
- 0xD2, 0xCE, 0xA0, 0x23, 0x08, 0xE0, 0x03, 0x13,
- 0x60, 0x23, 0x12, 0xE0, 0x06, 0x16, 0xB0, 0x03,
- 0x20, 0xD8, 0xA9, 0xE3, 0x65, 0x06, 0x60, 0x04,
- 0xD2, 0xCE, 0x08, 0x02, 0x00, 0x80, 0xA0, 0x06,
- 0xDA, 0xD4, 0x60, 0x04, 0xB0, 0xCE, 0x08, 0x02,
- 0x00, 0x80, 0xA0, 0x06, 0xDA, 0xD4, 0x20, 0xC8,
- 0x1E, 0xE0, 0xC6, 0x06, 0x20, 0xC8, 0x1E, 0xE0,
- 0xC8, 0x06, 0x60, 0xE3, 0x10, 0xE0, 0x60, 0x04,
- 0xD2, 0xCE, 0xE0, 0x23, 0x14, 0xE0, 0x30, 0x13,
- 0x44, 0xC1, 0x44, 0x02, 0x00, 0x1E, 0xF5, 0x16,
- 0x60, 0x25, 0xA8, 0xE4, 0x1D, 0x16, 0x20, 0x06,
- 0xC8, 0x06, 0xEF, 0x16, 0x60, 0x01, 0x8E, 0x09,
- 0x00, 0x80, 0x13, 0x16, 0x60, 0x01, 0x8E, 0x09,
- 0x00, 0x01, 0x0C, 0x16, 0xA0, 0x01, 0x8E, 0x09,
- 0x00, 0x01, 0xA0, 0x01, 0x8E, 0x09, 0x80, 0x00,
- 0xA0, 0x43, 0x04, 0xE0, 0x83, 0x07, 0x18, 0x68,
- 0xA0, 0x06, 0x2A, 0xD8, 0x20, 0xC8, 0xAE, 0xE4,
- 0x86, 0x01, 0xC2, 0x04, 0x60, 0x04, 0x2C, 0xE4,
- 0x08, 0x02, 0x1E, 0x80, 0xA0, 0x06, 0xDA, 0xD4,
- 0x07, 0x10, 0x20, 0x06, 0xC6, 0x06, 0xCD, 0x16,
- 0x83, 0x07, 0x09, 0x00, 0xA0, 0x06, 0x8A, 0xDC,
- 0x60, 0x04, 0xB0, 0xCE, 0xCE, 0x04, 0xE0, 0x04,
- 0x2A, 0x09, 0xE0, 0xD3, 0xAA, 0xE3, 0x8F, 0xC2,
- 0x20, 0xC8, 0xB0, 0xE4, 0x86, 0x01, 0x20, 0x48,
- 0x08, 0xE0, 0x82, 0x01, 0x86, 0x07, 0x05, 0x00,
- 0x84, 0x07, 0x72, 0x06, 0x54, 0xC1, 0x01, 0x13,
- 0xD4, 0x2C, 0x24, 0x02, 0x0A, 0x00, 0x06, 0x06,
- 0xF9, 0x16, 0x08, 0x02, 0x2A, 0x80, 0xA0, 0x06,
- 0xDA, 0xD4, 0x20, 0x2C, 0x1A, 0xE0, 0x60, 0x04,
- 0x50, 0xCD, 0xA0, 0x06, 0x3E, 0xD7, 0xCD, 0x04,
- 0xA0, 0x23, 0x1C, 0xE0, 0x0D, 0x13, 0x0E, 0x01,
- 0x03, 0x00, 0x0A, 0x13, 0xA0, 0xE3, 0x1C, 0xE0,
- 0xB0, 0x03, 0x20, 0xD8, 0x10, 0xE0, 0x65, 0x06,
- 0xA0, 0xD2, 0x26, 0xE0, 0xCF, 0x04, 0x08, 0x10,
- 0x20, 0x2D, 0x01, 0x00, 0xE0, 0xC0, 0x2A, 0x09,
- 0xA0, 0x06, 0x2A, 0xD8, 0xA0, 0xD2, 0xAB, 0xE3,
- 0x60, 0x04, 0xD2, 0xCE, 0xA0, 0x01, 0x80, 0x01,
- 0x00, 0x01, 0xE0, 0x01, 0x80, 0x01, 0x00, 0xAC,
- 0xA0, 0x01, 0x82, 0x01, 0x00, 0x03, 0xE0, 0x01,
- 0x82, 0x01, 0x00, 0x08, 0x88, 0x07, 0xAE, 0x01,
- 0x08, 0x06, 0xFE, 0x16, 0x60, 0x01, 0x8E, 0x09,
- 0x00, 0x02, 0x03, 0x16, 0xA0, 0x01, 0x80, 0x01,
- 0x00, 0x20, 0xC8, 0x04, 0x20, 0xD2, 0x80, 0x01,
- 0x08, 0xC8, 0x9C, 0x09, 0x08, 0xD8, 0x2E, 0x09,
- 0xA0, 0x07, 0x9E, 0x09, 0x00, 0x10, 0x5B, 0x04,
- 0x20, 0xD8, 0xA6, 0x09, 0x2E, 0x09, 0xE0, 0x01,
- 0x80, 0x01, 0x00, 0x04, 0xE0, 0x01, 0x82, 0x01,
- 0x00, 0x08, 0xA0, 0x01, 0x82, 0x01, 0x00, 0x03,
- 0x20, 0xC2, 0x30, 0x09, 0x03, 0x13, 0xE0, 0x01,
- 0x82, 0x01, 0x00, 0x03, 0xA0, 0x01, 0x80, 0x01,
- 0x00, 0xA1, 0x20, 0xF8, 0x2E, 0x09, 0x80, 0x01,
- 0x88, 0x07, 0xAE, 0x01, 0x08, 0x06, 0xFE, 0x16,
- 0xA0, 0x01, 0x80, 0x01, 0x00, 0x0C, 0xE0, 0x04,
- 0x9E, 0x01, 0xE0, 0x04, 0x9C, 0x09, 0xE0, 0x04,
- 0x9E, 0x09, 0x5B, 0x04, 0x20, 0x01, 0xA8, 0x09,
- 0x00, 0x80, 0x11, 0x13, 0xE0, 0x93, 0x26, 0xE0,
- 0x0E, 0x16, 0x60, 0x01, 0x8E, 0x09, 0x00, 0x80,
- 0x0A, 0x13, 0x08, 0x02, 0x84, 0x80, 0x00, 0x00,
- 0x00, 0xE0, 0xDC, 0x0F, 0xA0, 0x06, 0xDA, 0xD4,
- 0x20, 0x48, 0x08, 0xE0, 0x82, 0x01, 0x02, 0x10,
- 0x60, 0x04, 0x70, 0xDA, 0x60, 0x04, 0xBA, 0xCE,
- 0xA0, 0x06, 0x9C, 0xD5, 0x08, 0xC2, 0x19, 0x13,
- 0x83, 0x07, 0x80, 0x80, 0xE0, 0x23, 0x14, 0xE0,
- 0x02, 0x13, 0x83, 0x07, 0x0A, 0x00, 0x60, 0x04,
- 0xC6, 0xCE, 0x20, 0xC1, 0x06, 0x06, 0x0D, 0x13,
- 0xA0, 0x06, 0x9C, 0xD5, 0x08, 0xC2, 0x09, 0x13,
- 0x83, 0x07, 0x0B, 0x00, 0xE0, 0x23, 0x14, 0xE0,
- 0x02, 0x16, 0x83, 0x07, 0x01, 0x80, 0x60, 0x04,
- 0xC6, 0xCE, 0x83, 0x07, 0x0A, 0x80, 0x60, 0x04,
- 0xB4, 0xCE, 0x60, 0x01, 0x8E, 0x09, 0x00, 0x80,
- 0x06, 0x16, 0xA0, 0x06, 0xA8, 0xE5, 0x47, 0x10,
- 0xD0, 0x03, 0x60, 0x04, 0xB0, 0xD3, 0xE0, 0x93,
- 0x0E, 0xE0, 0x5E, 0x13, 0xE0, 0x93, 0x10, 0xE0,
- 0x17, 0x13, 0xE0, 0x23, 0x14, 0xE0, 0x04, 0x13,
- 0x83, 0x07, 0x07, 0x00, 0x60, 0x04, 0xC6, 0xCE,
- 0x83, 0x07, 0x00, 0xA0, 0xA0, 0x06, 0x2A, 0xD8,
- 0x83, 0x07, 0x00, 0x48, 0xA0, 0x06, 0x2A, 0xD8,
- 0xA0, 0xD2, 0x10, 0xE0, 0x20, 0xC8, 0x1C, 0xE0,
- 0xCA, 0x06, 0x20, 0xC8, 0x20, 0xE0, 0xCC, 0x06,
- 0xA0, 0x06, 0x3E, 0xD7, 0x08, 0x02, 0x4E, 0x80,
- 0xA0, 0x06, 0xDA, 0xD4, 0xA0, 0x23, 0x1C, 0xE0,
- 0x20, 0x13, 0x20, 0x88, 0x6C, 0x09, 0x0E, 0x07,
- 0x1C, 0x16, 0x20, 0x88, 0x6E, 0x09, 0x10, 0x07,
- 0x18, 0x16, 0x20, 0x88, 0x70, 0x09, 0x12, 0x07,
- 0x14, 0x16, 0x20, 0x88, 0x0A, 0x07, 0x22, 0xE0,
- 0x10, 0x13, 0x20, 0x06, 0xCA, 0x06, 0x38, 0x16,
- 0xA0, 0xE3, 0x20, 0xE0, 0x06, 0x10, 0xE0, 0x23,
- 0x14, 0xE0, 0xCA, 0x16, 0xA0, 0xE3, 0x22, 0xE0,
- 0xC2, 0x04, 0xA0, 0xD2, 0xAA, 0xE3, 0x60, 0x04,
- 0xBA, 0xCE, 0x20, 0xC8, 0x1C, 0xE0, 0xCA, 0x06,
- 0xA0, 0x88, 0xDC, 0x06, 0x0E, 0x00, 0x10, 0x16,
- 0xA0, 0x88, 0xDE, 0x06, 0x10, 0x00, 0x0C, 0x16,
- 0xA0, 0x88, 0xE0, 0x06, 0x12, 0x00, 0x08, 0x16,
- 0x20, 0x06, 0xCC, 0x06, 0x19, 0x16, 0x20, 0xE8,
- 0x0E, 0xE0, 0x82, 0x01, 0xA0, 0xE3, 0x1E, 0xE0,
- 0x20, 0xC8, 0x20, 0xE0, 0xCC, 0x06, 0x10, 0x10,
- 0xA0, 0x23, 0x10, 0xE0, 0x08, 0x16, 0x64, 0xC1,
- 0x06, 0x00, 0x60, 0x21, 0x0C, 0xE0, 0x08, 0x13,
- 0xA0, 0xD2, 0xA8, 0xE3, 0x05, 0x10, 0x20, 0x88,
- 0x0A, 0x07, 0x08, 0x07, 0x96, 0x12, 0x00, 0x10,
- 0x60, 0x04, 0xBA, 0xCE, 0x60, 0x01, 0x8E, 0x09,
- 0x00, 0x80, 0x06, 0x16, 0x83, 0x07, 0x00, 0x82,
- 0xA0, 0x06, 0x2A, 0xD8, 0x60, 0x04, 0xCA, 0xCE,
- 0xE0, 0x93, 0x0E, 0xE0, 0x50, 0x13, 0xE0, 0x93,
- 0xA9, 0xE3, 0x4D, 0x13, 0xE0, 0x93, 0xA8, 0xE3,
- 0x1C, 0x13, 0xA0, 0x06, 0xA4, 0xD7, 0xA0, 0x23,
- 0x10, 0xE0, 0x45, 0x13, 0xA0, 0x23, 0x08, 0xE0,
- 0x06, 0x16, 0x60, 0xE3, 0x1E, 0xE0, 0x20, 0xC8,
- 0x22, 0xE0, 0x06, 0x07, 0x34, 0x10, 0xE0, 0x23,
- 0x14, 0xE0, 0x31, 0x16, 0x60, 0xC1, 0x6A, 0x09,
- 0x60, 0x21, 0x12, 0xE0, 0x2C, 0x16, 0xA0, 0x06,
- 0x0E, 0xE2, 0x31, 0x10, 0xA0, 0xD2, 0xA8, 0xE3,
- 0x2E, 0x10, 0xA0, 0xE3, 0x12, 0xE0, 0xA0, 0x06,
- 0x0E, 0xE2, 0x64, 0xC1, 0x06, 0x00, 0x60, 0x21,
- 0x0C, 0xE0, 0x25, 0x13, 0x20, 0x88, 0x0E, 0x07,
- 0xDC, 0x06, 0x14, 0x16, 0x20, 0x88, 0x10, 0x07,
- 0xDE, 0x06, 0x10, 0x16, 0x20, 0x88, 0x12, 0x07,
- 0xE0, 0x06, 0x0C, 0x16, 0x20, 0x98, 0xCE, 0x06,
- 0xCF, 0x06, 0x15, 0x13, 0x20, 0x06, 0xCE, 0x06,
- 0x12, 0x16, 0x60, 0xE3, 0x1A, 0xE0, 0xA0, 0xD2,
- 0x0C, 0xE0, 0x0D, 0x10, 0x60, 0xE3, 0x1E, 0xE0,
- 0x20, 0xC8, 0x32, 0xE0, 0x06, 0x07, 0xA0, 0x06,
- 0x3E, 0xD7, 0x08, 0x02, 0x48, 0x80, 0xA0, 0x06,
- 0xDA, 0xD4, 0xA0, 0xD2, 0xA9, 0xE3, 0x60, 0x04,
- 0xBA, 0xCE, 0x22, 0x88, 0x0E, 0x00, 0x6C, 0x09,
- 0xC9, 0x1A, 0x0B, 0x1B, 0x22, 0x88, 0x10, 0x00,
- 0x6E, 0x09, 0xC4, 0x1A, 0x06, 0x1B, 0x22, 0x88,
- 0x12, 0x00, 0x70, 0x09, 0xBF, 0x1A, 0x01, 0x1B,
- 0x5B, 0x04, 0x60, 0xC1, 0x6C, 0x01, 0x85, 0x02,
- 0x43, 0x00, 0xE1, 0x13, 0xE0, 0x93, 0xA8, 0xE3,
- 0xDE, 0x16, 0xA0, 0xC8, 0x00, 0xEE, 0x02, 0x00,
- 0x84, 0x07, 0x0E, 0x00, 0x42, 0xC1, 0xA0, 0xC0,
- 0x6C, 0x01, 0x02, 0xC0, 0x25, 0x02, 0x48, 0x00,
- 0x81, 0x07, 0x60, 0xE2, 0x83, 0x07, 0x14, 0xAE,
- 0x60, 0x04, 0x9E, 0xE5, 0x02, 0x02, 0x00, 0xFC,
- 0xCA, 0x10, 0x60, 0x01, 0x8E, 0x09, 0x00, 0x80,
- 0x06, 0x16, 0x83, 0x07, 0x00, 0x82, 0xA0, 0x06,
- 0x2A, 0xD8, 0x60, 0x04, 0xCA, 0xCE, 0x20, 0x98,
- 0x0E, 0xE0, 0x65, 0x06, 0x03, 0x16, 0x20, 0xD8,
- 0xA8, 0xE3, 0x65, 0x06, 0xE0, 0x93, 0xA9, 0xE3,
- 0x0D, 0x13, 0xA0, 0x23, 0x08, 0xE0, 0x19, 0x16,
- 0xA0, 0x23, 0x10, 0xE0, 0x16, 0x13, 0x60, 0xE3,
- 0x1E, 0xE0, 0x20, 0xC8, 0x20, 0xE0, 0x06, 0x07,
- 0xA0, 0x06, 0x3E, 0xD7, 0xA0, 0x43, 0x18, 0xE0,
- 0xE0, 0x2E, 0x01, 0x00, 0xA0, 0xD2, 0x26, 0xE0,
- 0x83, 0x07, 0x10, 0x00, 0xA0, 0x06, 0x2A, 0xD8,
- 0xE0, 0x23, 0x14, 0xE0, 0x02, 0x16, 0xA0, 0x06,
- 0x18, 0xD7, 0xA0, 0x43, 0x2C, 0xE0, 0x20, 0xC8,
- 0x20, 0xE0, 0x24, 0x09, 0x60, 0x04, 0xBA, 0xCE,
- 0xA0, 0x06, 0xA8, 0xE5, 0x01, 0x10, 0x03, 0x10,
- 0x20, 0x07, 0xA0, 0x09, 0x03, 0x10, 0xA0, 0x07,
- 0xA2, 0x09, 0x19, 0x00, 0x60, 0x04, 0xBA, 0xCE,
- 0xA0, 0x43, 0x0E, 0xE0, 0xA0, 0xC1, 0x24, 0x09,
- 0x02, 0x13, 0x20, 0x06, 0x24, 0x09, 0xE0, 0x23,
- 0x14, 0xE0, 0x03, 0x13, 0xA0, 0x23, 0x08, 0xE0,
- 0x29, 0x16, 0x20, 0xC2, 0x8A, 0x09, 0xE4, 0x11,
- 0x08, 0x02, 0x42, 0x80, 0xA0, 0x06, 0xDA, 0xD4,
- 0xA0, 0x23, 0x08, 0xE0, 0x1F, 0x16, 0xA0, 0x23,
- 0x10, 0xE0, 0x0A, 0x16, 0x22, 0xC1, 0x02, 0x00,
- 0x20, 0x25, 0xA8, 0xE4, 0x23, 0x16, 0x83, 0x07,
- 0x20, 0x80, 0xA0, 0x06, 0x2A, 0xD8, 0x12, 0x10,
- 0xA0, 0x06, 0x3E, 0xD7, 0xE0, 0x23, 0x14, 0xE0,
- 0x02, 0x16, 0xA0, 0x06, 0x18, 0xD7, 0x60, 0xE3,
- 0x1E, 0xE0, 0x20, 0xC8, 0x20, 0xE0, 0x06, 0x07,
- 0xA0, 0x23, 0x08, 0xE0, 0x03, 0x16, 0xA0, 0x23,
- 0x06, 0xE0, 0x51, 0x13, 0x20, 0x98, 0x0E, 0xE0,
- 0x65, 0x06, 0x03, 0x16, 0x20, 0xD8, 0xA8, 0xE3,
- 0x65, 0x06, 0x22, 0xC1, 0x02, 0x00, 0x20, 0x25,
- 0xA8, 0xE4, 0x0E, 0x13, 0x83, 0x07, 0x20, 0x00,
- 0xA0, 0x06, 0x2A, 0xD8, 0x22, 0xC8, 0x0E, 0x00,
- 0xE6, 0x06, 0x22, 0xC8, 0x10, 0x00, 0xE8, 0x06,
- 0x22, 0xC8, 0x12, 0x00, 0xEA, 0x06, 0x37, 0x10,
- 0x22, 0x88, 0x0E, 0x00, 0xDC, 0x06, 0x08, 0x16,
- 0x22, 0x88, 0x10, 0x00, 0xDE, 0x06, 0x04, 0x16,
- 0x22, 0x88, 0x12, 0x00, 0xE0, 0x06, 0x0B, 0x13,
- 0x22, 0xC8, 0x0E, 0x00, 0xDC, 0x06, 0x22, 0xC8,
- 0x10, 0x00, 0xDE, 0x06, 0x22, 0xC8, 0x12, 0x00,
- 0xE0, 0x06, 0x60, 0xE3, 0x14, 0xE0, 0xA0, 0x23,
- 0x0E, 0xE0, 0x08, 0x16, 0xA0, 0xC1, 0x24, 0x09,
- 0x1A, 0x16, 0x86, 0x07, 0x00, 0x10, 0x06, 0xE8,
- 0xD2, 0x06, 0x15, 0x10, 0xA0, 0xE3, 0x0E, 0xE0,
- 0xA0, 0x23, 0x08, 0xE0, 0x09, 0x16, 0xA0, 0xE3,
- 0x06, 0xE0, 0xE0, 0x04, 0xE6, 0x06, 0xE0, 0x04,
- 0xE8, 0x06, 0xE0, 0x04, 0xEA, 0x06, 0x07, 0x10,
- 0x08, 0x02, 0x36, 0x80, 0xA0, 0x07, 0xD6, 0x06,
- 0x36, 0xD3, 0xA0, 0x06, 0xDA, 0xD4, 0x60, 0x04,
- 0xBA, 0xCE, 0x20, 0x98, 0x65, 0x06, 0x10, 0xE0,
- 0x03, 0x16, 0x20, 0xD8, 0x0E, 0xE0, 0x65, 0x06,
- 0x60, 0x04, 0xBA, 0xCE, 0xE0, 0x23, 0x14, 0xE0,
- 0x02, 0x13, 0x60, 0x04, 0xBA, 0xCE, 0x2E, 0x10,
- 0xB0, 0x03, 0x20, 0x98, 0xA9, 0xE3, 0x6F, 0x06,
- 0x19, 0x16, 0x24, 0xC2, 0x08, 0x00, 0x16, 0x11,
- 0xE0, 0xE3, 0x14, 0xE0, 0x83, 0x07, 0x00, 0x00,
- 0xA0, 0x06, 0x2A, 0xD8, 0xA0, 0x23, 0x14, 0xE0,
- 0x04, 0x13, 0x08, 0x02, 0x06, 0x80, 0xA0, 0x06,
- 0xDA, 0xD4, 0x08, 0x02, 0x1E, 0x00, 0xA0, 0x06,
- 0xDA, 0xD4, 0xA0, 0x23, 0x08, 0xE0, 0x02, 0x13,
- 0xA0, 0x06, 0x18, 0xD7, 0x82, 0xC0, 0x02, 0x16,
- 0x60, 0x04, 0xD2, 0xCE, 0x20, 0xE8, 0x1C, 0xEE,
- 0xF0, 0x06, 0x20, 0x99, 0x0E, 0xE0, 0x16, 0x00,
- 0x05, 0x16, 0xE0, 0x04, 0xEC, 0x06, 0x20, 0x48,
- 0x14, 0xE0, 0xF0, 0x06, 0x83, 0x07, 0x01, 0x00,
- 0x60, 0x04, 0xB4, 0xCE, 0x64, 0xC2, 0x14, 0x00,
- 0x24, 0x02, 0x18, 0x00, 0xC4, 0xC1, 0xC2, 0x61,
- 0x27, 0x02, 0xFC, 0xFF, 0x74, 0xC1, 0x85, 0xC1,
- 0x45, 0x71, 0x85, 0x02, 0x27, 0x00, 0x46, 0x16,
- 0x54, 0xC1, 0x45, 0x02, 0xCF, 0xFF, 0x42, 0x16,
- 0xC8, 0x04, 0x64, 0xC1, 0x08, 0x00, 0x06, 0x15,
- 0x05, 0x13, 0x24, 0xC2, 0x0E, 0x00, 0x48, 0x02,
- 0x00, 0x1F, 0xC8, 0x06, 0x28, 0x02, 0x11, 0x00,
- 0x04, 0xA2, 0x18, 0x98, 0x21, 0xEE, 0x32, 0x16,
- 0x42, 0xC1, 0x25, 0x02, 0x04, 0x00, 0x47, 0x65,
- 0x35, 0xC2, 0x74, 0xCD, 0x48, 0x06, 0xFD, 0x15,
- 0xA0, 0xC0, 0x6C, 0x01, 0x02, 0xC1, 0x04, 0xC8,
- 0x6C, 0x01, 0xA0, 0xC1, 0x00, 0xFC, 0x05, 0x13,
- 0x20, 0xC8, 0x80, 0xEB, 0x02, 0xFC, 0x06, 0xC1,
- 0xF6, 0x10, 0x20, 0xC8, 0x00, 0xEE, 0x02, 0xFC,
- 0x02, 0xC8, 0x6C, 0x01, 0x81, 0x07, 0x08, 0xE5,
- 0x04, 0xC0, 0x83, 0x07, 0x10, 0x02, 0x84, 0x07,
- 0x0E, 0x00, 0x3B, 0x10, 0x84, 0x07, 0x0C, 0x00,
- 0xE2, 0xC0, 0x08, 0x00, 0x05, 0x02, 0x00, 0xFC,
- 0xA0, 0xC0, 0x6C, 0x01, 0x02, 0xC0, 0x95, 0xC1,
- 0x30, 0x13, 0xD5, 0x04, 0x16, 0x2E, 0x02, 0xC8,
- 0x6C, 0x01, 0x2B, 0x10, 0xA0, 0xC8, 0x22, 0xEE,
- 0x0E, 0x00, 0xA0, 0xC8, 0x24, 0xEE, 0x10, 0x00,
- 0xA0, 0xC8, 0x26, 0xEE, 0x12, 0x00, 0x83, 0x07,
- 0x06, 0x80, 0x60, 0x04, 0xB4, 0xCE, 0x60, 0x04,
- 0xD2, 0xCE, 0x84, 0x07, 0x10, 0x00, 0x85, 0x07,
- 0x34, 0x00, 0x09, 0x10, 0x84, 0x07, 0x12, 0x00,
- 0x85, 0x07, 0x32, 0x00, 0x04, 0x10, 0x84, 0x07,
- 0x14, 0x00, 0x85, 0x07, 0x38, 0x00, 0xA0, 0x06,
- 0xC2, 0xD5, 0x85, 0xC8, 0x04, 0x00, 0xA0, 0x06,
- 0x10, 0xD6, 0xA0, 0xC8, 0x00, 0xEE, 0x02, 0x00,
- 0xA0, 0xC0, 0x6C, 0x01, 0x02, 0xC0, 0x48, 0x06,
- 0x48, 0xC1, 0xA0, 0x06, 0xA2, 0xD8, 0x07, 0x02,
- 0xA2, 0x06, 0x60, 0xC5, 0x02, 0xFC, 0x25, 0x02,
- 0xF4, 0xFF, 0x05, 0xC8, 0x02, 0xFC, 0x20, 0xC2,
- 0x6C, 0x01, 0xA0, 0x06, 0xFC, 0xB4, 0x60, 0x04,
- 0xB0, 0xCE, 0xA0, 0x06, 0xA2, 0xD8, 0x07, 0x02,
- 0xB4, 0x06, 0xEF, 0x10, 0x22, 0x88, 0x12, 0x00,
- 0x70, 0x09, 0x08, 0x16, 0x22, 0x88, 0x10, 0x00,
- 0x6E, 0x09, 0x04, 0x16, 0x22, 0x88, 0x0E, 0x00,
- 0x6C, 0x09, 0x0E, 0x13, 0x22, 0x88, 0x12, 0x00,
- 0xE0, 0x06, 0x08, 0x16, 0x22, 0x88, 0x10, 0x00,
- 0xDE, 0x06, 0x04, 0x16, 0x22, 0x88, 0x0E, 0x00,
- 0xDC, 0x06, 0x01, 0x13, 0xCB, 0x05, 0xCB, 0x05,
- 0x5B, 0x04, 0x0B, 0xC3, 0x00, 0x03, 0x02, 0x00,
- 0x82, 0x07, 0xC0, 0x00, 0x20, 0xC8, 0x0C, 0x00,
- 0xC0, 0x00, 0x20, 0xC8, 0x0E, 0x00, 0xC2, 0x00,
- 0x20, 0xC8, 0x10, 0x00, 0xC4, 0x00, 0x20, 0xC8,
- 0x12, 0x00, 0xC6, 0x00, 0x20, 0xC8, 0x14, 0x00,
- 0xC8, 0x00, 0x20, 0xC8, 0x16, 0x00, 0xCA, 0x00,
- 0x20, 0xC8, 0x04, 0x00, 0xCC, 0x00, 0x20, 0xC8,
- 0x06, 0x00, 0xCE, 0x00, 0x02, 0xC8, 0x0C, 0x00,
- 0xA0, 0x07, 0x0E, 0x00, 0x7E, 0xE6, 0x02, 0xC8,
- 0x10, 0x00, 0xA0, 0x07, 0x12, 0x00, 0x88, 0xE6,
- 0x02, 0xC8, 0x14, 0x00, 0xA0, 0x07, 0x16, 0x00,
- 0xB8, 0xE6, 0x02, 0xC8, 0x04, 0x00, 0xA0, 0x07,
- 0x06, 0x00, 0xCE, 0xE6, 0x60, 0x01, 0x1C, 0x01,
- 0x04, 0x00, 0x09, 0x16, 0xE0, 0x01, 0x40, 0x01,
- 0x00, 0x08, 0xA0, 0x01, 0x40, 0x01, 0x00, 0x40,
- 0xE0, 0x01, 0x40, 0x01, 0x00, 0x04, 0xA0, 0x06,
- 0x8E, 0xE9, 0x05, 0x02, 0x00, 0x80, 0x05, 0xD8,
- 0x80, 0x04, 0xC7, 0x04, 0x00, 0x03, 0x0F, 0x00,
- 0x88, 0x07, 0x00, 0x10, 0x09, 0x02, 0x00, 0x20,
- 0x8A, 0x07, 0xE6, 0xE6, 0x03, 0x02, 0x3E, 0xE6,
- 0x5A, 0x04, 0x00, 0x03, 0x00, 0x00, 0x20, 0xD2,
- 0x87, 0x01, 0x06, 0x10, 0x00, 0x03, 0x00, 0x00,
- 0x20, 0xC2, 0x8A, 0x01, 0x08, 0x02, 0x00, 0x1A,
- 0x60, 0xC2, 0xAE, 0x00, 0x48, 0xDA, 0x80, 0x04,
- 0x89, 0x05, 0x89, 0x02, 0x06, 0x00, 0x07, 0x15,
- 0x88, 0x07, 0x00, 0x80, 0x48, 0xDA, 0x80, 0x04,
- 0x09, 0xC8, 0xAE, 0x00, 0x80, 0x03, 0xE0, 0x02,
- 0xA0, 0x00, 0x5C, 0x04, 0x00, 0x03, 0x00, 0x00,
- 0x60, 0x01, 0x9C, 0x01, 0x20, 0x00, 0xE2, 0x13,
- 0x20, 0xC2, 0x8C, 0x01, 0x08, 0x02, 0x00, 0x1C,
- 0xE3, 0x10, 0x00, 0x03, 0x00, 0x00, 0x60, 0x01,
- 0x40, 0x01, 0x00, 0x40, 0xEC, 0x16, 0xA0, 0x01,
- 0x40, 0x01, 0x00, 0x40, 0x08, 0x02, 0x00, 0x02,
- 0xD7, 0x10, 0xB3, 0xC0, 0x92, 0x06, 0xFD, 0x10,
- 0xB3, 0xC0, 0x48, 0xC0, 0x72, 0xCC, 0x72, 0xCC,
- 0x32, 0xC1, 0x44, 0xCC, 0x72, 0xDC, 0x04, 0x06,
- 0xFD, 0x16, 0x5B, 0x04, 0x48, 0xC0, 0x02, 0x02,
- 0xD0, 0xE9, 0x84, 0x07, 0x06, 0x00, 0xF6, 0x10,
- 0x02, 0x02, 0x1E, 0xE6, 0x49, 0xC0, 0x84, 0x07,
- 0x06, 0x00, 0xF0, 0x10, 0xB3, 0xC0, 0x32, 0xC1,
- 0x01, 0x02, 0x01, 0x00, 0x44, 0xD0, 0xC1, 0x06,
- 0x44, 0x02, 0xFF, 0x00, 0xE7, 0x10, 0x33, 0xC1,
- 0x73, 0xC0, 0x44, 0xD1, 0x44, 0x02, 0xFF, 0x00,
- 0x45, 0xDC, 0x04, 0x06, 0xFD, 0x16, 0x5A, 0x04,
- 0xA0, 0x06, 0x0E, 0xE9, 0x33, 0xC8, 0x9E, 0x01,
- 0x5A, 0x04, 0xA0, 0x06, 0x0C, 0xE7, 0x89, 0xC1,
- 0xA6, 0x09, 0x66, 0x02, 0x40, 0x00, 0x06, 0xC8,
- 0x8A, 0x01, 0x88, 0xC1, 0xA6, 0x09, 0x66, 0x02,
- 0x40, 0x00, 0x06, 0xC8, 0x8C, 0x01, 0xC2, 0x04,
- 0xC7, 0xC1, 0x03, 0x16, 0x02, 0x06, 0xFC, 0x16,
- 0x4D, 0x10, 0x5A, 0x04, 0xA0, 0x06, 0x58, 0xE8,
- 0x89, 0xC1, 0xA6, 0x09, 0x66, 0x02, 0x40, 0x00,
- 0x06, 0xC8, 0x8A, 0x01, 0x88, 0xC1, 0xA6, 0x09,
- 0x66, 0x02, 0x40, 0x00, 0x06, 0xC8, 0x8C, 0x01,
- 0x33, 0xC8, 0x9E, 0x01, 0xE8, 0x10, 0x33, 0x8A,
- 0x02, 0x00, 0x38, 0x16, 0x73, 0x8A, 0x02, 0x00,
- 0x35, 0x16, 0x5A, 0x04, 0x20, 0x8A, 0xCA, 0xE9,
- 0x02, 0x00, 0x30, 0x16, 0x60, 0x8A, 0xCE, 0xE9,
- 0x02, 0x00, 0x2C, 0x16, 0x82, 0x07, 0x74, 0xEA,
- 0x01, 0x10, 0xB3, 0xC0, 0x04, 0x02, 0x80, 0x04,
- 0x52, 0xD1, 0x03, 0x13, 0x32, 0x9D, 0x22, 0x16,
- 0xFB, 0x10, 0x85, 0x07, 0x00, 0x80, 0x05, 0xD8,
- 0x80, 0x04, 0xC7, 0x04, 0x5A, 0x04, 0x20, 0xC8,
- 0xC0, 0x00, 0x0C, 0x00, 0x20, 0xC8, 0xC2, 0x00,
- 0x0E, 0x00, 0x20, 0xC8, 0xC4, 0x00, 0x10, 0x00,
- 0x20, 0xC8, 0xC6, 0x00, 0x12, 0x00, 0x20, 0xC8,
- 0xC8, 0x00, 0x14, 0x00, 0x20, 0xC8, 0xCA, 0x00,
- 0x16, 0x00, 0x20, 0xC8, 0xCC, 0x00, 0x04, 0x00,
- 0x20, 0xC8, 0xCE, 0x00, 0x06, 0x00, 0x00, 0x03,
- 0x0F, 0x00, 0xCC, 0x05, 0x5C, 0x04, 0xE0, 0x04,
- 0x82, 0x01, 0x02, 0x02, 0x18, 0xE6, 0x32, 0xC8,
- 0x82, 0x01, 0x32, 0xC8, 0x80, 0x01, 0xA0, 0x06,
- 0x24, 0xE8, 0x12, 0xC8, 0x82, 0x01, 0xCA, 0xC2,
- 0x84, 0x07, 0xD0, 0x07, 0xE0, 0x04, 0x84, 0x01,
- 0x04, 0x06, 0xFC, 0x16, 0x20, 0xC1, 0x84, 0x01,
- 0xE9, 0x16, 0x04, 0x02, 0x32, 0x00, 0x85, 0x07,
- 0x00, 0x80, 0x05, 0xD8, 0x80, 0x04, 0xC7, 0x04,
- 0x60, 0xC1, 0x86, 0x01, 0x04, 0x06, 0xFC, 0x16,
- 0x20, 0xC1, 0x84, 0x01, 0x5B, 0x04, 0xB3, 0xC0,
- 0xB3, 0xC4, 0x5B, 0x04, 0x48, 0xC0, 0xB3, 0xC0,
- 0x73, 0xA0, 0x42, 0xC4, 0x5B, 0x04, 0x33, 0x88,
- 0x84, 0x01, 0xE6, 0x16, 0x5A, 0x04, 0x89, 0xC1,
- 0xA6, 0x09, 0x66, 0x02, 0x40, 0x00, 0x06, 0xC8,
- 0x8A, 0x01, 0x5B, 0x04, 0xC5, 0x04, 0xA0, 0x07,
- 0x9C, 0x01, 0x40, 0x00, 0x60, 0x01, 0x9C, 0x01,
- 0x40, 0x00, 0x03, 0x13, 0x05, 0x06, 0xF7, 0x16,
- 0x5C, 0x04, 0x5B, 0x04, 0xA0, 0x06, 0xAC, 0xE8,
- 0x60, 0xC0, 0x40, 0x01, 0x05, 0xC8, 0x40, 0x01,
- 0x02, 0xC5, 0x01, 0xC8, 0x40, 0x01, 0x5A, 0x04,
- 0xA0, 0x06, 0xAC, 0xE8, 0x08, 0xA1, 0xF4, 0x10,
- 0xB3, 0xC0, 0x33, 0xC1, 0x60, 0xC1, 0x40, 0x01,
- 0x85, 0x01, 0x00, 0x04, 0xC5, 0x01, 0x00, 0x10,
- 0x5B, 0x04, 0x08, 0xC1, 0x09, 0xC2, 0x44, 0xC2,
- 0x5B, 0x04, 0x05, 0x02, 0xC8, 0x00, 0x05, 0x06,
- 0xFE, 0x16, 0x5B, 0x04, 0x33, 0xC1, 0x03, 0xC0,
- 0xC4, 0xC0, 0x5B, 0x04, 0xC0, 0xC0, 0x5B, 0x04,
- 0xE0, 0x94, 0x9E, 0x01, 0xC2, 0x16, 0xC3, 0x05,
- 0x5B, 0x04, 0x73, 0xC0, 0xA0, 0x06, 0x26, 0xE9,
- 0x2D, 0x02, 0x08, 0x00, 0x85, 0x07, 0x08, 0x00,
- 0x71, 0x9F, 0xB7, 0x16, 0x05, 0x06, 0xFC, 0x16,
- 0x5A, 0x04, 0x02, 0x02, 0x24, 0xE6, 0x60, 0x04,
- 0x10, 0xE7, 0xE9, 0x8C, 0x04, 0x00, 0xAD, 0x16,
- 0x5B, 0x04, 0x20, 0xC1, 0x80, 0x01, 0x85, 0x07,
- 0xD0, 0x07, 0xE0, 0x01, 0x80, 0x01, 0x00, 0x04,
- 0x45, 0x06, 0xFE, 0x16, 0x04, 0xC8, 0x80, 0x01,
- 0x5B, 0x04, 0x33, 0xC1, 0x48, 0xC3, 0x04, 0xC1,
- 0x04, 0x13, 0x2D, 0x02, 0x00, 0x04, 0x04, 0x06,
- 0xFC, 0x16, 0x5B, 0x04, 0x8D, 0xC3, 0xA0, 0x06,
- 0x26, 0xE9, 0x8D, 0xC1, 0xA6, 0x09, 0x66, 0x02,
- 0x40, 0x00, 0x86, 0xC7, 0x5A, 0x04, 0x8D, 0xC1,
- 0xA6, 0x09, 0x66, 0x02, 0x40, 0x00, 0x06, 0xC8,
- 0x8A, 0x01, 0x5B, 0x04, 0x8D, 0xC1, 0xA6, 0x09,
- 0x66, 0x02, 0x40, 0x00, 0x06, 0xC8, 0x8C, 0x01,
- 0x5B, 0x04, 0x4D, 0xC0, 0x04, 0x02, 0x28, 0x00,
- 0x85, 0x07, 0x00, 0x55, 0x60, 0x04, 0x34, 0xE7,
- 0x4D, 0xC0, 0xB3, 0xC0, 0x32, 0xC1, 0x60, 0x04,
- 0xF8, 0xE6, 0x33, 0xC1, 0x60, 0x01, 0x1C, 0x01,
- 0x04, 0x00, 0x01, 0x16, 0x5B, 0x04, 0xC4, 0xC0,
- 0x5B, 0x04, 0x89, 0x07, 0x66, 0xE5, 0x39, 0xC2,
- 0x07, 0x13, 0x39, 0xC6, 0x39, 0x86, 0x25, 0x16,
- 0x39, 0xC6, 0x39, 0x86, 0x22, 0x16, 0xF7, 0x10,
- 0x02, 0x02, 0xAC, 0xE9, 0xC4, 0x04, 0xC5, 0x04,
- 0x39, 0xC2, 0x02, 0x13, 0x60, 0x04, 0xE8, 0xE9,
- 0x02, 0x02, 0xBA, 0xE9, 0xC4, 0x04, 0x39, 0xC2,
- 0x03, 0x13, 0x79, 0xC1, 0x60, 0x04, 0xE8, 0xE9,
- 0x02, 0x02, 0xCA, 0xE9, 0xC5, 0x04, 0x39, 0xC2,
- 0x03, 0x13, 0x39, 0xC1, 0x60, 0x04, 0xE8, 0xE9,
- 0x79, 0xC0, 0xB9, 0xC0, 0x81, 0x60, 0xC2, 0x05,
- 0x12, 0x09, 0xF1, 0x04, 0x02, 0x06, 0xFD, 0x16,
- 0x5B, 0x04, 0x5C, 0x04, 0x01, 0x02, 0xAA, 0xAA,
- 0x01, 0xC6, 0x44, 0xE0, 0x45, 0x40, 0x58, 0x80,
- 0xF8, 0x16, 0x01, 0x02, 0x14, 0x00, 0x01, 0x06,
- 0xFE, 0x16, 0x01, 0x02, 0x55, 0x55, 0x01, 0xC6,
- 0x44, 0xE0, 0x45, 0x40, 0x58, 0x80, 0xED, 0x16,
- 0x52, 0x04, 0xE0, 0x02, 0xA0, 0x00, 0x88, 0x07,
- 0xC0, 0x00, 0x09, 0x02, 0x62, 0xEA, 0x84, 0x07,
- 0x2A, 0xE6, 0x05, 0x02, 0x01, 0x00, 0x8B, 0xC2,
- 0xCC, 0x04, 0xA0, 0x06, 0x6C, 0xEA, 0x60, 0x2C,
- 0x01, 0x00, 0x99, 0x06, 0xA0, 0x2C, 0x02, 0x00,
- 0x99, 0x06, 0x20, 0x2D, 0x04, 0x00, 0x99, 0x06,
- 0x20, 0x2E, 0x08, 0x00, 0x99, 0x06, 0xA0, 0x2F,
- 0x10, 0x00, 0x8C, 0x05, 0x09, 0x16, 0x80, 0xCC,
- 0x81, 0xC4, 0x83, 0x07, 0xB0, 0xEA, 0x88, 0xC0,
- 0x02, 0x04, 0x8C, 0x05, 0x01, 0x16, 0x33, 0x10,
- 0xE0, 0x02, 0xA0, 0x00, 0x5A, 0x04, 0x8C, 0x05,
- 0xFB, 0x16, 0x80, 0xCC, 0x81, 0xC4, 0x15, 0x0A,
- 0xB4, 0xC0, 0x12, 0xC0, 0x88, 0xCC, 0x52, 0xC0,
- 0xB4, 0xC4, 0x42, 0x06, 0x5B, 0x04, 0x2D, 0x07,
- 0x18, 0x00, 0x41, 0x8B, 0x0A, 0x00, 0xEC, 0x16,
- 0xC1, 0x82, 0xEA, 0x16, 0xC2, 0x02, 0x42, 0x02,
- 0x00, 0x02, 0xE6, 0x16, 0x80, 0x03, 0x81, 0x07,
- 0x01, 0x00, 0xF1, 0x10, 0x01, 0x02, 0x02, 0x00,
- 0xEE, 0x10, 0x01, 0x02, 0x04, 0x00, 0xEB, 0x10,
- 0x01, 0x02, 0x08, 0x00, 0xE8, 0x10, 0x01, 0x02,
- 0x10, 0x00, 0xE5, 0x10, 0xA1, 0x02, 0x41, 0x8B,
- 0x10, 0x00, 0x02, 0x13, 0x60, 0x04, 0x5C, 0xEA,
- 0x2D, 0x07, 0x18, 0x00, 0x80, 0x03, 0x09, 0x02,
- 0x00, 0x08, 0x03, 0x02, 0x04, 0x00, 0xC7, 0x04,
- 0xA0, 0x06, 0xDC, 0xEB, 0x60, 0x01, 0x1C, 0x01,
- 0x04, 0x00, 0x1C, 0x16, 0xA0, 0x01, 0x40, 0x01,
- 0x00, 0x08, 0xE0, 0x01, 0x40, 0x01, 0x00, 0x10,
- 0x04, 0x02, 0x01, 0x00, 0x44, 0xCE, 0xC4, 0x06,
- 0x44, 0xC6, 0xA0, 0x01, 0x40, 0x01, 0x00, 0x10,
- 0x49, 0x06, 0xA0, 0x01, 0x40, 0x01, 0x00, 0x40,
- 0xE0, 0x01, 0x40, 0x01, 0x00, 0x04, 0xE0, 0x01,
- 0x40, 0x01, 0x00, 0x08, 0xA0, 0x06, 0x7A, 0xEC,
- 0xA0, 0x06, 0x7A, 0xEC, 0xC7, 0x05, 0x04, 0x02,
- 0xE4, 0xE4, 0xE0, 0x04, 0xD0, 0x03, 0x74, 0xC1,
- 0xB4, 0xC1, 0x86, 0x05, 0x1C, 0x13, 0xE0, 0x02,
- 0xC0, 0x00, 0x00, 0x02, 0x00, 0x00, 0x40, 0xC0,
- 0x80, 0xC0, 0xC0, 0xC0, 0x00, 0xC1, 0x40, 0xC1,
- 0x80, 0xC1, 0xC0, 0xC1, 0x00, 0xC2, 0x40, 0xC2,
- 0x80, 0xC2, 0xC0, 0xC2, 0x00, 0xC3, 0x40, 0xC3,
- 0x80, 0xC3, 0xC0, 0xC3, 0xA0, 0x04, 0xAA, 0x00,
- 0xD0, 0x03, 0xD0, 0x03, 0x3F, 0x10, 0x85, 0x05,
- 0x85, 0x81, 0xE1, 0x13, 0xE4, 0x10, 0xC7, 0x05,
- 0x05, 0x02, 0xFF, 0x7F, 0x45, 0xA1, 0xD0, 0x03,
- 0xD0, 0x03, 0x34, 0x10, 0xC0, 0xCC, 0xC1, 0xC4,
- 0x03, 0x02, 0x28, 0x00, 0xA0, 0x06, 0xDC, 0xEB,
- 0xE0, 0x01, 0x42, 0x01, 0x00, 0x10, 0xC7, 0x05,
- 0xD0, 0x03, 0xD0, 0x03, 0x27, 0x10, 0xC7, 0x05,
- 0xA0, 0xC1, 0x4A, 0x01, 0xA0, 0x07, 0x4A, 0x01,
- 0x00, 0x0E, 0xA0, 0x01, 0x40, 0x01, 0x00, 0x02,
- 0x20, 0x07, 0x44, 0x01, 0x60, 0xC1, 0x44, 0x01,
- 0x85, 0x02, 0x00, 0xFF, 0x17, 0x16, 0xE0, 0x01,
- 0x40, 0x01, 0x00, 0x22, 0x05, 0x02, 0xC0, 0x00,
- 0x05, 0x06, 0xD0, 0x03, 0xFD, 0x16, 0x60, 0xC1,
- 0x46, 0x01, 0x85, 0x02, 0x00, 0xFF, 0x0A, 0x13,
- 0x05, 0x02, 0x93, 0x33, 0x05, 0x06, 0x00, 0x10,
- 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10,
- 0xD0, 0x03, 0xF8, 0x16, 0x51, 0x10, 0x06, 0xC8,
- 0x4A, 0x01, 0xC0, 0xCC, 0xC1, 0xC4, 0x4B, 0x10,
- 0x13, 0xC0, 0xC8, 0xCC, 0x53, 0xC0, 0x02, 0x02,
- 0xEC, 0xEB, 0xC2, 0xC4, 0x43, 0x06, 0x5B, 0x04,
- 0x60, 0xC0, 0xAE, 0x00, 0xC4, 0x02, 0x44, 0x02,
- 0x0F, 0x00, 0x44, 0x88, 0xCA, 0xE4, 0x3C, 0x16,
- 0x81, 0x02, 0x08, 0x00, 0x27, 0x13, 0x21, 0xC1,
- 0xDC, 0xE4, 0x14, 0xC1, 0x21, 0x21, 0xBA, 0xE4,
- 0x33, 0x16, 0x21, 0xC1, 0xC2, 0xE4, 0x81, 0x02,
- 0x00, 0x00, 0x0B, 0x13, 0x0D, 0x02, 0xA0, 0x00,
- 0x84, 0x83, 0x09, 0x13, 0xC4, 0x05, 0x84, 0x83,
- 0x06, 0x13, 0xC4, 0x05, 0x84, 0x83, 0x03, 0x13,
- 0x23, 0x10, 0x0E, 0x81, 0x21, 0x16, 0x21, 0xC1,
- 0xDC, 0xE4, 0x21, 0x45, 0xBA, 0xE4, 0xE0, 0x01,
- 0x42, 0x01, 0x00, 0x10, 0xA0, 0x01, 0x42, 0x01,
- 0x00, 0x10, 0xA1, 0xC3, 0xD4, 0xE4, 0x0F, 0x02,
- 0x2F, 0x00, 0x80, 0x03, 0xA0, 0x01, 0x40, 0x01,
- 0x00, 0x02, 0xA0, 0x01, 0x40, 0x01, 0x00, 0x80,
- 0x6D, 0xC0, 0x0A, 0x00, 0x09, 0x13, 0x81, 0x02,
- 0x5C, 0x12, 0x06, 0x1B, 0x0E, 0x02, 0xD2, 0xEB,
- 0x0F, 0x02, 0x0F, 0x00, 0x80, 0x03, 0xCA, 0x05,
- 0xE0, 0x02, 0xA0, 0x00, 0x5A, 0x04, 0x59, 0xCE,
- 0x20, 0x88, 0xE4, 0xE4, 0xE4, 0xE4, 0xF8, 0x10,
- 0xC1, 0x04, 0x48, 0x62, 0x89, 0x05, 0xA0, 0xC0,
- 0x6C, 0x01, 0x08, 0xC8, 0x6C, 0x01, 0x03, 0x02,
- 0x00, 0xFC, 0x04, 0x02, 0x00, 0x02, 0x73, 0xA0,
- 0x04, 0x06, 0xFD, 0x16, 0x88, 0x05, 0x09, 0x06,
- 0xF4, 0x16, 0x02, 0xC8, 0x6C, 0x01, 0x81, 0x86,
- 0x02, 0x16, 0xD0, 0x03, 0xCB, 0x05, 0x5B, 0x04,
- 0x43, 0x28, 0x31, 0x29, 0x38, 0x39, 0x2D, 0x33,
- 0x38, 0x38, 0x42, 0x20, 0x20, 0x59, 0x49, 0x54,
- 0x4B, 0xC2, 0xA8, 0x02, 0x98, 0x00, 0x83, 0x07,
- 0x02, 0x00, 0x28, 0x02, 0x08, 0x00, 0x23, 0xC6,
- 0x36, 0xE5, 0x48, 0x06, 0xC4, 0xC0, 0x73, 0x0A,
- 0x65, 0x17, 0xA0, 0x06, 0xAA, 0xED, 0xC8, 0xC1,
- 0xC7, 0x05, 0x03, 0x02, 0xA5, 0x00, 0xB0, 0x03,
- 0xF8, 0xCD, 0xF8, 0xCD, 0xA6, 0x02, 0x06, 0x62,
- 0x88, 0x02, 0x0A, 0x00, 0x57, 0x16, 0x03, 0x29,
- 0x55, 0x16, 0x05, 0x29, 0xC4, 0x80, 0x52, 0x16,
- 0x15, 0x09, 0x50, 0x17, 0x15, 0x09, 0x4E, 0x18,
- 0x85, 0x02, 0x29, 0x00, 0x4B, 0x16, 0xC6, 0x05,
- 0x96, 0x00, 0x03, 0x07, 0xC4, 0x04, 0x45, 0x06,
- 0x95, 0x00, 0x44, 0x05, 0x43, 0x16, 0x44, 0x81,
- 0x41, 0x16, 0x00, 0x03, 0x05, 0x00, 0xC4, 0x02,
- 0x00, 0x03, 0x0A, 0x00, 0x44, 0x02, 0x0F, 0x00,
- 0x84, 0x02, 0x05, 0x00, 0x37, 0x16, 0xC4, 0x02,
- 0x00, 0x03, 0x0F, 0x00, 0x44, 0x02, 0x0F, 0x00,
- 0x84, 0x02, 0x0A, 0x00, 0x2F, 0x16, 0x04, 0x02,
- 0xFE, 0xFF, 0x2C, 0x13, 0x2B, 0x15, 0x2A, 0x1A,
- 0x84, 0x05, 0x28, 0x12, 0x27, 0x15, 0x26, 0x1A,
- 0x25, 0x18, 0x84, 0x05, 0x23, 0x16, 0x22, 0x1B,
- 0x21, 0x17, 0x84, 0x05, 0x1F, 0x13, 0x1E, 0x1A,
- 0x1D, 0x11, 0x04, 0x06, 0x1B, 0x16, 0xA5, 0x02,
- 0xC5, 0xC1, 0x25, 0x02, 0x06, 0x00, 0x03, 0x02,
- 0xA5, 0xA5, 0x83, 0xC1, 0x95, 0x00, 0x03, 0x38,
- 0x94, 0x00, 0x83, 0x02, 0x2E, 0x6B, 0x0E, 0x16,
- 0x84, 0x02, 0x59, 0x1C, 0x0B, 0x16, 0x24, 0x02,
- 0x69, 0x00, 0x95, 0x00, 0x03, 0x3C, 0x94, 0x00,
- 0x83, 0x81, 0x04, 0x16, 0x84, 0x02, 0x69, 0x00,
- 0x01, 0x16, 0xC9, 0x05, 0x59, 0x04, 0xC3, 0xD0,
- 0xFD, 0x13, 0x01, 0x1C, 0xFB, 0x10, 0xE0, 0x90,
- 0x3D, 0xE5, 0xF8, 0x16, 0xC3, 0x06, 0xC3, 0xD0,
- 0xF5, 0x1C, 0xF4, 0x16, 0xE0, 0x90, 0x3A, 0xE5,
- 0xF1, 0x16, 0x5B, 0x04, 0x0B, 0xC3, 0x09, 0x02,
- 0x3E, 0xE5, 0xA0, 0x06, 0x92, 0xE9, 0xCC, 0x05,
- 0x5C, 0x04, 0x88, 0x07, 0x00, 0xA0, 0x89, 0x07,
- 0xFE, 0xFF, 0xA8, 0x09, 0xA9, 0x09, 0x8A, 0x07,
- 0x02, 0xE0, 0xA0, 0x06, 0x84, 0xEC, 0x00, 0x00,
- 0x88, 0x07, 0x00, 0x90, 0x89, 0x07, 0xFE, 0x9F,
- 0xA8, 0x09, 0xA9, 0x09, 0x8A, 0x07, 0x78, 0xE0,
- 0xA0, 0x06, 0x84, 0xEC, 0x00, 0x00, 0xA0, 0x06,
- 0xC4, 0xEC, 0x00, 0x00, 0xE6, 0x10, 0xE5, 0x10,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90,
- 0x00, 0x08, 0x11, 0xE3, 0x6C, 0xCC, 0x00, 0x80,
- 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x08,
- 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x80, 0x00,
- 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x08, 0x00,
- 0x04, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0xFF,
- 0xFF, 0x00, 0xF0, 0xFF, 0x00, 0xF0, 0x0F, 0x00,
- 0xFF, 0xFF, 0xFF, 0x7F, 0x03, 0x00, 0x00, 0x00,
- 0xC3, 0x00, 0xE7, 0xE7, 0xF3, 0xE7, 0xF1, 0xF1,
- 0x43, 0x28, 0x20, 0x29, 0x4F, 0x43, 0x59, 0x50,
- 0x49, 0x52, 0x48, 0x47, 0x20, 0x54, 0x42, 0x49,
- 0x20, 0x4D, 0x39, 0x31, 0x33, 0x38, 0x34, 0x2C,
- 0x35, 0x2C, 0x36, 0x2C, 0x43, 0x28, 0x20, 0x29,
- 0x4F, 0x43, 0x59, 0x50, 0x49, 0x52, 0x48, 0x47,
- 0x20, 0x54, 0x49, 0x54, 0x31, 0x20, 0x38, 0x39,
- 0x2D, 0x33, 0x39, 0x38, 0x39, 0x2C, 0x2D, 0x30,
- 0x38, 0x39, 0x00, 0x00, 0x61, 0x9B, 0xC4, 0xEC,
- 0x0E, 0xEA, 0xDE, 0xE5, 0xC8, 0xED, 0x00, 0x00,
- 0xC4, 0x00, 0xB8, 0xAF, 0x4A, 0x06, 0x50, 0x06,
- 0x4C, 0x06, 0xDC, 0xCC, 0x4E, 0x06, 0x0F, 0x00,
- 0x32, 0x06, 0x01, 0x00, 0x50, 0x07, 0x58, 0x07,
- 0x52, 0x07, 0x70, 0xB5, 0x54, 0x07, 0x0F, 0x00,
- 0x38, 0x07, 0x01, 0x00, 0xBA, 0x00, 0xA0, 0x00,
- 0xBC, 0x00, 0xD6, 0xED, 0xBE, 0x00, 0x0F, 0x00,
- 0x5E, 0x07, 0x3A, 0x07, 0x62, 0x07, 0x40, 0x80,
- 0x64, 0x07, 0x54, 0xBA, 0x66, 0x07, 0x36, 0xBA,
- 0x68, 0x07, 0x40, 0xB8, 0x98, 0x07, 0x00, 0x80,
- 0x78, 0x07, 0x00, 0x80, 0xE2, 0x08, 0x04, 0x00,
- 0xE4, 0x08, 0x01, 0x00, 0xEC, 0x08, 0x08, 0x00,
- 0xF6, 0x08, 0x0A, 0x00, 0xF8, 0x08, 0x06, 0x00,
- 0x00, 0x09, 0x0C, 0x00, 0x02, 0x09, 0x04, 0x00,
- 0xAE, 0x01, 0x00, 0x00, 0x1E, 0x09, 0x00, 0x00,
- 0x66, 0x09, 0x00, 0x00, 0x0C, 0x06, 0x13, 0x00,
- 0x0A, 0x06, 0x20, 0x00, 0x00, 0x00, 0xE0, 0x00,
- 0x86, 0xA3, 0xE0, 0x00, 0xE6, 0xA2, 0xE0, 0x00,
- 0x86, 0xA3, 0xE0, 0x00, 0x02, 0xA5, 0xE0, 0x00,
- 0x5E, 0xA6, 0xE0, 0x00, 0x66, 0xA9, 0xE0, 0x00,
- 0x12, 0xA4, 0xC0, 0x00, 0x22, 0xA4, 0xE0, 0x00,
- 0x86, 0xA3, 0xE0, 0x00, 0x86, 0xA3, 0xC0, 0x00,
- 0x74, 0xA4, 0xE0, 0x00, 0x86, 0xA3, 0xE0, 0x00,
- 0x86, 0xA3, 0xE0, 0x00, 0x86, 0xA3, 0xE0, 0x00,
- 0x86, 0xA3, 0xE0, 0x00, 0x86, 0xA3, 0xC0, 0x00,
- 0xDE, 0xAF, 0xC0, 0x00, 0x48, 0xB0, 0xC0, 0x00,
- 0x84, 0xB0, 0xC0, 0x00, 0xF4, 0xB0, 0xC0, 0x00,
- 0x76, 0xB1, 0xE0, 0x00, 0xE4, 0xB2, 0xE0, 0x00,
- 0x8A, 0xB2, 0xE0, 0x00, 0xF4, 0xB3, 0xE0, 0x00,
- 0x7C, 0xB3, 0xE0, 0x00, 0xC6, 0xAA, 0xC0, 0x00,
- 0x36, 0xAB, 0xC0, 0x00, 0x90, 0xAB, 0xC0, 0x00,
- 0xC2, 0xAB, 0xC0, 0x00, 0xEA, 0xAA, 0xC0, 0x00,
- 0x80, 0xA3, 0xC0, 0x00, 0x80, 0xA3, 0x00, 0x3F,
- 0x00, 0x7F, 0x00, 0x5E, 0x30, 0x00, 0x28, 0x00,
- 0x43, 0x00, 0xB6, 0xA6, 0xB6, 0xA6, 0x1C, 0xA5,
- 0x14, 0xA5, 0x46, 0xA5, 0x46, 0xA5, 0x62, 0xA5,
- 0xB6, 0xA6, 0x00, 0x40, 0x00, 0x00, 0x00, 0x20,
- 0x00, 0x00, 0x00, 0x08, 0x00, 0x20, 0x00, 0x08,
- 0x00, 0x80, 0x00, 0x08, 0x00, 0x01, 0x00, 0x10,
- 0x00, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x10, 0x00,
- 0x14, 0x00, 0x0E, 0x10, 0x0C, 0x0C, 0x0A, 0x0A,
- 0x0A, 0x0A, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
- 0x08, 0x08, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
- 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
- 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
- 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
- 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
- 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
- 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
- 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
- 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
- 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
- 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
- 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
- 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x98, 0x07, 0x7E, 0xCA, 0x58, 0x07,
- 0xF8, 0xB8, 0x58, 0x07, 0xFE, 0xB7, 0x58, 0x07,
- 0x68, 0xB9, 0x58, 0x07, 0xD0, 0xB8, 0x98, 0x07,
- 0x5A, 0xC7, 0x98, 0x07, 0x52, 0xC7, 0x78, 0x07,
- 0xC2, 0xC1, 0x58, 0x07, 0x30, 0xB9, 0x98, 0x07,
- 0x38, 0xCA, 0x78, 0x07, 0x96, 0xC2, 0x58, 0x07,
- 0x6A, 0xC7, 0x58, 0x07, 0xE0, 0xB8, 0x58, 0x07,
- 0x1E, 0xB9, 0x58, 0x07, 0xE2, 0xB9, 0x98, 0x07,
- 0xAE, 0xCB, 0x98, 0x07, 0x8E, 0xC7, 0x78, 0x07,
- 0x56, 0xC2, 0xB8, 0x07, 0x14, 0xCC, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xA2, 0xBA, 0x16, 0xC1,
- 0xCA, 0xC1, 0xD6, 0xC6, 0x8A, 0xBD, 0xC2, 0xBD,
- 0xE0, 0xBD, 0x6A, 0xBE, 0x8E, 0xBE, 0xAA, 0xBE,
- 0x22, 0xBF, 0x22, 0xBF, 0x56, 0xBE, 0xC8, 0xBF,
- 0x10, 0xBE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C,
- 0x00, 0x0C, 0x01, 0x0F, 0xFF, 0xFE, 0x00, 0x58,
- 0x00, 0x0E, 0xFF, 0xFE, 0x0E, 0x00, 0x00, 0x70,
- 0x40, 0x80, 0x00, 0x5E, 0xA0, 0xC0, 0xDF, 0xFF,
- 0x00, 0x18, 0x00, 0xE0, 0x00, 0x78, 0x00, 0x50,
- 0x00, 0x60, 0x00, 0x70, 0x00, 0x0C, 0x06, 0x00,
- 0x00, 0x00, 0x84, 0xE3, 0xE6, 0x07, 0xF4, 0x07,
- 0x08, 0x00, 0x00, 0x00, 0x8A, 0xE3, 0xEA, 0x07,
- 0xF4, 0x07, 0x06, 0x00, 0x40, 0x00, 0x00, 0x0A,
- 0xE6, 0x07, 0xEE, 0x07, 0x08, 0x00, 0x40, 0x00,
- 0x06, 0x0A, 0xEA, 0x07, 0xEE, 0x07, 0x00, 0x00,
- 0xE2, 0xC1, 0x8B, 0xD4, 0xFF, 0xFF, 0xD7, 0xD1,
- 0xD9, 0xC5, 0xD4, 0xC3, 0x3B, 0x59, 0x34, 0x09,
- 0xFC, 0x05, 0x6C, 0x09, 0xD8, 0x06, 0x06, 0x04,
- 0xBA, 0xEA, 0x30, 0x09, 0x48, 0x04, 0x80, 0x08,
- 0x06, 0x00, 0x0A, 0x06, 0x0E, 0x0C, 0xBA, 0xCE,
- 0x2E, 0xE0, 0x56, 0xE0, 0x50, 0xE1, 0x66, 0xE2,
- 0xEC, 0xE2, 0x4C, 0xE3, 0xFE, 0xE3, 0xBA, 0xCE,
- 0x80, 0xE4, 0x10, 0xE4, 0x14, 0xE0, 0x1C, 0xE4,
- 0x1C, 0xE4, 0x46, 0xE5, 0x50, 0xE5, 0x5A, 0xE5,
- 0xBA, 0xCE, 0xA6, 0xDC, 0xBA, 0xCE, 0x44, 0xDA,
- 0xE6, 0xDF, 0x70, 0xDA, 0xDE, 0xDE, 0xB0, 0xCE,
- 0x16, 0xDB, 0x3A, 0xDD, 0xB8, 0xDD, 0x34, 0xDE,
- 0x58, 0xDE, 0x16, 0xDB, 0xDA, 0xDC, 0x08, 0xCF,
- 0xB0, 0xCE, 0xA8, 0xD9, 0x8A, 0xD9, 0x44, 0xD9,
- 0xB0, 0xCE, 0xEA, 0xDE, 0xB0, 0xCE, 0x72, 0x06,
- 0xF6, 0xD2, 0x08, 0x07, 0x72, 0x06, 0x54, 0xD2,
- 0xF4, 0x01, 0x72, 0x06, 0x34, 0xD2, 0x08, 0x07,
- 0x7C, 0x06, 0x5A, 0xDC, 0x04, 0x00, 0x7C, 0x06,
- 0x78, 0xD2, 0x00, 0x00, 0x7C, 0x06, 0xCC, 0xDE,
- 0xFA, 0x00, 0x86, 0x06, 0xAC, 0xD1, 0x05, 0x00,
- 0x90, 0x06, 0x1C, 0xDF, 0x28, 0x00, 0x90, 0x06,
- 0x50, 0xD3, 0x04, 0x01, 0x90, 0x06, 0x00, 0x00,
- 0x02, 0x00, 0x90, 0x06, 0x80, 0xD2, 0xBC, 0x02,
- 0x9A, 0x06, 0x06, 0xD3, 0xDC, 0x05, 0x9A, 0x06,
- 0xAA, 0xD2, 0x64, 0x00, 0x9A, 0x06, 0x0A, 0xD3,
- 0x14, 0x00, 0x9A, 0x06, 0xE2, 0xE0, 0x40, 0x06,
- 0x9A, 0x06, 0x12, 0xD3, 0x64, 0x00, 0x7C, 0x06,
- 0x16, 0xDC, 0x04, 0x00, 0x7C, 0x06, 0xE6, 0xDA,
- 0x16, 0x00, 0x7C, 0x06, 0xFA, 0xDB, 0x05, 0x00,
- 0x7C, 0x06, 0x00, 0xDD, 0x14, 0x00, 0x9A, 0x06,
- 0x7C, 0xD3, 0x14, 0x00, 0x9A, 0x06, 0x38, 0xD4,
- 0x02, 0x00, 0x7C, 0x06, 0x0C, 0xE0, 0x19, 0x00,
- 0x00, 0x00, 0x0A, 0x07, 0x0E, 0x07, 0x04, 0x07,
- 0xD8, 0x06, 0x00, 0x07, 0xF0, 0x06, 0xEE, 0x06,
- 0xEC, 0x06, 0x0C, 0x07, 0xE6, 0x06, 0x18, 0x07,
- 0x92, 0x09, 0x94, 0x09, 0x96, 0x09, 0x98, 0x09,
- 0x00, 0x50, 0xCC, 0x00, 0x03, 0x00, 0x00, 0x84,
- 0x00, 0xA8, 0x00, 0xA0, 0x00, 0x20, 0x00, 0x80,
- 0x00, 0x40, 0x00, 0x08, 0x00, 0x40, 0x00, 0x80,
- 0x00, 0x40, 0x00, 0x10, 0x82, 0xEC, 0x48, 0xEB,
- 0x62, 0xEB, 0x7C, 0xEB, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x09, 0x00, 0x09, 0x00, 0xEA, 0xEB,
- 0x52, 0xEB, 0x68, 0xEB, 0x82, 0xEB, 0x40, 0x01,
- 0x42, 0x01, 0x42, 0x01, 0x42, 0x01, 0x00, 0x00,
- 0x7F, 0x00, 0xA0, 0x00, 0xFF, 0x00, 0x10, 0x02,
- 0x1F, 0x02, 0x30, 0x02, 0x3F, 0x02, 0x50, 0x02,
- 0x5F, 0x02, 0x70, 0x02, 0x7F, 0x02, 0x90, 0x02,
- 0x9F, 0x02, 0xB0, 0x02, 0xBF, 0x02, 0xD0, 0x02,
- 0xDF, 0x02, 0xE1, 0x02, 0xFF, 0x02, 0x01, 0x03,
- 0x7F, 0x03, 0x81, 0x03, 0x8F, 0x03, 0x91, 0x03,
- 0x9F, 0x03, 0xA1, 0x03, 0xAF, 0x03, 0xB1, 0x03,
- 0xBF, 0x03, 0xC1, 0x03, 0xCF, 0x03, 0xE1, 0x03,
- 0xFF, 0x03, 0xC0, 0x07, 0xFF, 0x07, 0x00, 0x0C,
- 0xFF, 0x0F, 0x00, 0x30, 0xFF, 0x37, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xBC, 0xFE, 0x07, 0x00, 0x5E, 0x02,
- 0x00, 0x01, 0xFF, 0xBA, 0x80, 0xBA, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x0A, 0x01,
- 0x0E, 0x01, 0x10, 0x01, 0x14, 0x01, 0x00, 0x00,
- 0x12, 0x01, 0x00, 0xF8, 0x16, 0x01, 0x00, 0xFF,
- 0x00, 0x00, 0x00, 0x00, 0x0A, 0x01, 0x1C, 0x01,
- 0x82, 0x01, 0x66, 0x96, 0x66, 0x96, 0x55, 0x55,
- 0x00, 0x00, 0x82, 0x01, 0x2A, 0x8A, 0x2A, 0x8A,
- 0x18, 0xC9, 0x18, 0xC9, 0x86, 0x01, 0xAA, 0xA2,
- 0x1E, 0xA0, 0x55, 0x55, 0x1E, 0x54, 0x8A, 0x01,
- 0x00, 0x50, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00,
- 0x8C, 0x01, 0x00, 0x50, 0x00, 0x00, 0x00, 0xA8,
- 0x00, 0x00, 0x8E, 0x01, 0x00, 0x50, 0x00, 0x00,
- 0x00, 0xA8, 0x00, 0x00, 0x90, 0x01, 0x00, 0x50,
- 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00, 0x92, 0x01,
- 0x00, 0x50, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00,
- 0x94, 0x01, 0x00, 0x50, 0x00, 0x00, 0x00, 0xA8,
- 0x00, 0x00, 0x96, 0x01, 0x00, 0x50, 0x00, 0x00,
- 0x00, 0xA8, 0x00, 0x00, 0x98, 0x01, 0x00, 0x50,
- 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00, 0x9A, 0x01,
- 0x00, 0x50, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00,
- 0x9C, 0x01, 0x55, 0x55, 0xC0, 0x7F, 0xAA, 0xAA,
- 0xC0, 0x7F, 0x00, 0x00, 0xA2, 0x01, 0xA4, 0x01,
- 0xA8, 0x01, 0xAA, 0x01, 0xAE, 0x01, 0xB0, 0x01,
- 0xB2, 0x01, 0x80, 0x01, 0x00, 0x00, 0x88, 0x01,
- 0x00, 0xFF, 0x9E, 0x01, 0xFF, 0x00, 0xA0, 0x01,
- 0x00, 0x80, 0xAC, 0x01, 0x00, 0x80, 0x00, 0x00,
- 0xA6, 0x01, 0x00, 0x80, 0x00, 0x00, 0x80, 0x01,
- 0xBC, 0x01, 0x00, 0x88, 0x00, 0x06, 0x00, 0xC8,
- 0x00, 0x00, 0x00, 0x80, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x80, 0x02, 0x00, 0x44, 0x00, 0x92, 0xEA,
- 0x48, 0x00, 0x98, 0xEA, 0x50, 0x00, 0x9E, 0xEA,
- 0x60, 0x00, 0xA4, 0xEA, 0x78, 0x00, 0xAA, 0xEA,
- 0x0A, 0xE8, 0x18, 0xE7, 0x3C, 0xEA, 0x2A, 0xE7,
- 0x14, 0x55, 0xA0, 0x01, 0xEC, 0xE6, 0xD0, 0xE9,
- 0x46, 0xE7, 0xA0, 0xE7, 0x00, 0xE7, 0x58, 0xE8,
- 0x00, 0x00, 0x1E, 0x00, 0x46, 0xE7, 0x92, 0xE7,
- 0x00, 0x41, 0x01, 0x41, 0xB6, 0xE7, 0x73, 0xEA,
- 0x18, 0xE7, 0x48, 0xEA, 0xEC, 0xE6, 0x04, 0xEA,
- 0x56, 0xE7, 0x62, 0xE7, 0xB6, 0xE7, 0x6E, 0xEA,
- 0x62, 0xE8, 0x00, 0x00, 0x36, 0xE8, 0xEC, 0xE6,
- 0xFA, 0xE9, 0x56, 0xE7, 0x62, 0xE7, 0x36, 0xE8,
- 0x62, 0xE8, 0x00, 0x00, 0xEC, 0xE6, 0xF0, 0xE9,
- 0x0C, 0xE7, 0x4A, 0xE7, 0x62, 0xE7, 0x36, 0xE8,
- 0xEC, 0xE6, 0xFA, 0xE9, 0x56, 0xE7, 0x62, 0xE7,
- 0x36, 0xE8, 0x62, 0xE8, 0x00, 0x20, 0x2A, 0xE7,
- 0x14, 0x55, 0xA0, 0x01, 0x18, 0xE7, 0x50, 0xEA,
- 0xEC, 0xE6, 0xD0, 0xE9, 0x58, 0xE8, 0x50, 0x55,
- 0x0C, 0x00, 0x46, 0xE7, 0x92, 0xE7, 0x00, 0x01,
- 0x00, 0x00, 0xB6, 0xE7, 0x75, 0xEA, 0x00, 0xE7,
- 0x58, 0xE8, 0x55, 0x55, 0x0C, 0x00, 0x56, 0xE7,
- 0xA0, 0xE7, 0x00, 0xE7, 0x58, 0xE8, 0xFF, 0xFF,
- 0x08, 0x00, 0x58, 0xE8, 0x02, 0x10, 0x06, 0x00,
- 0x46, 0xE7, 0x92, 0xE7, 0x00, 0x01, 0x01, 0x01,
- 0xB6, 0xE7, 0x80, 0xEA, 0x00, 0xE7, 0x58, 0xE8,
- 0x00, 0xC0, 0x08, 0x00, 0x58, 0xE8, 0xFF, 0xFF,
- 0x0A, 0x00, 0x58, 0xE8, 0xFF, 0xFF, 0x0C, 0x00,
- 0x58, 0xE8, 0x0D, 0x10, 0x06, 0x00, 0x46, 0xE7,
- 0x92, 0xE7, 0x00, 0x01, 0x01, 0x01, 0xB6, 0xE7,
- 0x74, 0xEA, 0x62, 0xE8, 0x08, 0x20, 0x00, 0xE7,
- 0x52, 0xE8, 0x82, 0x01, 0x02, 0xC9, 0x46, 0xE7,
- 0xB6, 0xE7, 0x80, 0xEA, 0x62, 0xE8, 0x34, 0x20,
- 0x00, 0xE7, 0x58, 0xE8, 0x00, 0x10, 0x06, 0x00,
- 0x46, 0xE7, 0xC6, 0xE8, 0xB6, 0xE7, 0x78, 0xEA,
- 0x52, 0xE8, 0x9C, 0x01, 0x40, 0x00, 0x18, 0xE7,
- 0x50, 0xEA, 0x2A, 0xE7, 0xFF, 0x00, 0x80, 0x07,
- 0x26, 0xE9, 0x03, 0x00, 0x66, 0xE9, 0x74, 0xE9,
- 0x12, 0xEA, 0x38, 0xE9, 0x00, 0x00, 0x74, 0xE9,
- 0x1C, 0xEA, 0x38, 0xE9, 0x04, 0x00, 0x74, 0xE9,
- 0x24, 0xEA, 0x38, 0xE9, 0x07, 0x00, 0x74, 0xE9,
- 0x2C, 0xEA, 0x26, 0xE9, 0x01, 0x00, 0x74, 0xE9,
- 0x34, 0xEA, 0x38, 0xE9, 0x02, 0x00, 0x74, 0xE9,
- 0x34, 0xEA, 0x38, 0xE9, 0x06, 0x00, 0x74, 0xE9,
- 0x34, 0xEA, 0x38, 0xE9, 0x05, 0x00, 0x74, 0xE9,
- 0x34, 0xEA, 0x26, 0xE9, 0x01, 0x00, 0x4A, 0xE9,
- 0x26, 0xE9, 0x03, 0x00, 0x58, 0xE9, 0x62, 0xE7,
- 0xE6, 0xE8, 0xD8, 0xE9, 0x01, 0x00, 0xE6, 0xE8,
- 0x25, 0xEA, 0x02, 0x00, 0xE6, 0xE8, 0x2F, 0xEA,
- 0x06, 0x00, 0xE6, 0xE8, 0x3A, 0xEA, 0x05, 0x00,
- 0xB6, 0xE7, 0x74, 0xEA, 0x36, 0xE8, 0xEC, 0xE6,
- 0xD0, 0xE9, 0x56, 0xE7, 0xC6, 0xE8, 0x0C, 0xE7,
- 0x92, 0xE7, 0x00, 0x01, 0x00, 0x80, 0xB6, 0xE7,
- 0x78, 0xEA, 0x00, 0xE7, 0xFE, 0xE8, 0x52, 0xE8,
- 0x80, 0x01, 0x41, 0x8E, 0x4A, 0xE7, 0x92, 0xE7,
- 0x00, 0x01, 0x01, 0x1B, 0x06, 0xE9, 0xE4, 0xFF,
- 0xB6, 0xE7, 0x7C, 0xEA, 0xBE, 0xE8, 0x18, 0xE7,
- 0x56, 0xEA, 0x0C, 0xE7, 0x6A, 0xE8, 0x3C, 0xE7,
- 0x00, 0xE0, 0xC6, 0xE8, 0xB6, 0xE7, 0x86, 0xEA,
- 0x3C, 0xE7, 0x00, 0xE8, 0x62, 0xE7, 0xB6, 0xE7,
- 0x85, 0xEA, 0x3C, 0xE7, 0x00, 0x08, 0xC6, 0xE8,
- 0xB6, 0xE7, 0x86, 0xEA, 0x3C, 0xE7, 0x00, 0xF8,
- 0x62, 0xE7, 0xB6, 0xE7, 0x85, 0xEA, 0x52, 0xE8,
- 0x80, 0x01, 0x00, 0x02, 0x3C, 0xE7, 0x00, 0xE0,
- 0x62, 0xE7, 0xB6, 0xE7, 0x85, 0xEA, 0x52, 0xE8,
- 0x84, 0x01, 0x00, 0x00, 0x62, 0xE8, 0x34, 0x00,
- 0x3C, 0xE7, 0x00, 0x00, 0xC6, 0xE8, 0x62, 0xE8,
- 0x34, 0x60, 0x0E, 0xE9, 0x52, 0xE8, 0x84, 0x01,
- 0x00, 0x00, 0xB6, 0xE7, 0x86, 0xEA, 0x52, 0xE8,
- 0x82, 0x01, 0x00, 0xC8, 0x3C, 0xE7, 0x00, 0xE0,
- 0xC6, 0xE8, 0x3C, 0xE7, 0x00, 0x10, 0xC6, 0xE8,
- 0x62, 0xE8, 0x34, 0x60, 0x52, 0xE8, 0x80, 0x01,
- 0x00, 0x06, 0x3C, 0xE7, 0x10, 0x00, 0x78, 0xE8,
- 0x36, 0xE8, 0x52, 0xE8, 0x84, 0x01, 0x00, 0x00,
- 0x62, 0xE8, 0x34, 0x00, 0xEC, 0xE6, 0xD0, 0xE9,
- 0x18, 0xE7, 0x5C, 0xEA, 0xD0, 0xE8, 0x92, 0xE9,
- 0x00, 0xE7, 0x0C, 0xE7, 0x70, 0xE7, 0x40, 0xF0,
- 0x06, 0x00, 0x00, 0xC7, 0xA0, 0xE7, 0xDC, 0xE8,
- 0x00, 0xE0, 0x00, 0xE7, 0x0C, 0xE7, 0x70, 0xE7,
- 0x40, 0xD0, 0x06, 0x00, 0x00, 0xE0, 0xA0, 0xE7,
- 0xDC, 0xE8, 0x00, 0xC0, 0x00, 0xE7, 0x0C, 0xE7,
- 0x70, 0xE7, 0x40, 0x90, 0x06, 0x00, 0x00, 0xA0,
- 0xA0, 0xE7, 0xDC, 0xE8, 0x00, 0x80, 0x00, 0xE7,
- 0x0C, 0xE7, 0x70, 0xE7, 0x40, 0x50, 0x06, 0x00,
- 0x00, 0x60, 0xA0, 0xE7, 0xDC, 0xE8, 0x00, 0x40,
- 0x00, 0xE7, 0x0C, 0xE7, 0x70, 0xE7, 0x40, 0x10,
- 0x06, 0x00, 0x00, 0x20, 0xA0, 0xE7, 0xDC, 0xE8,
- 0x00, 0x00, 0xD0, 0xE8, 0x92, 0xE9, 0x00, 0xE7,
- 0x0C, 0xE7, 0x70, 0xE7, 0x40, 0xD0, 0x06, 0x00,
- 0x00, 0xA6, 0xA0, 0xE7, 0xDC, 0xE8, 0x00, 0xC0,
- 0x00, 0xE7, 0x0C, 0xE7, 0x70, 0xE7, 0x40, 0x90,
- 0x06, 0x00, 0x00, 0xC0, 0xA0, 0xE7, 0xDC, 0xE8,
- 0x00, 0x80, 0x00, 0xE7, 0x0C, 0xE7, 0x70, 0xE7,
- 0x40, 0x50, 0x06, 0x00, 0x00, 0x40, 0xA0, 0xE7,
- 0xDC, 0xE8, 0x00, 0x40, 0x00, 0xE7, 0x0C, 0xE7,
- 0x70, 0xE7, 0x40, 0x70, 0x06, 0x00, 0x00, 0x60,
- 0xA0, 0xE7, 0xDC, 0xE8, 0x00, 0x60, 0x7E, 0xE9,
- 0x90, 0xE9, 0x18, 0xE7, 0x62, 0xEA, 0xEC, 0xE6,
- 0xD0, 0xE9, 0xA4, 0xE8, 0x55, 0x55, 0x16, 0x00,
- 0x46, 0xE7, 0x92, 0xE7, 0x00, 0x00, 0x00, 0x00,
- 0xB6, 0xE7, 0x8B, 0xEA, 0x0A, 0xE8, 0x18, 0xE7,
- 0x62, 0xEA, 0x58, 0xE8, 0x55, 0x55, 0x16, 0x00,
- 0x00, 0xE7, 0x46, 0xE7, 0xA0, 0xE7, 0x2A, 0xE7,
- 0xFF, 0x00, 0x00, 0x08, 0x2A, 0xE7, 0xFF, 0x00,
- 0x00, 0x0C, 0x2A, 0xE7, 0xFF, 0x00, 0x00, 0x10,
- 0x2A, 0xE7, 0xFF, 0x00, 0x00, 0x14, 0x2A, 0xE7,
- 0xFF, 0x00, 0x00, 0x18, 0x2A, 0xE7, 0xFF, 0x00,
- 0x00, 0x1C, 0x2A, 0xE7, 0xFF, 0x00, 0x00, 0x20,
- 0x2A, 0xE7, 0xFF, 0x00, 0x00, 0x24, 0x2A, 0xE7,
- 0xFF, 0x00, 0x00, 0x28, 0x2A, 0xE7, 0xFF, 0x00,
- 0x00, 0x2C, 0xD2, 0xE7, 0x00, 0xE7, 0x0C, 0xE7,
- 0x70, 0xE7, 0x40, 0x30, 0x06, 0x00, 0x00, 0x01,
- 0xA0, 0xE7, 0xDC, 0xE8, 0x00, 0x20, 0x00, 0xE7,
- 0x0C, 0xE7, 0x70, 0xE7, 0x40, 0x70, 0x06, 0x00,
- 0x00, 0x43, 0xA0, 0xE7, 0xDC, 0xE8, 0x00, 0x60,
- 0x00, 0xE7, 0x0C, 0xE7, 0x70, 0xE7, 0x40, 0xB0,
- 0x06, 0x00, 0x00, 0x85, 0xA0, 0xE7, 0xDC, 0xE8,
- 0x00, 0xA0, 0xD8, 0xE8, 0x00, 0x01, 0x03, 0x01,
- 0x01, 0x01, 0x00, 0x00, 0x00, 0x81, 0x1A, 0x00,
- 0x40, 0x10, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
- 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x72, 0x82,
- 0x4A, 0xA9, 0xA5, 0x5A, 0xDA, 0xE7, 0x03, 0x09,
- 0x11, 0x9D, 0x00, 0x00, 0x00, 0x81, 0x04, 0x00,
- 0xD8, 0x90, 0x00, 0x10, 0x00, 0x00, 0x00, 0x81,
- 0x04, 0x00, 0xD8, 0x90, 0xD8, 0xB4, 0x00, 0x00,
- 0x00, 0x81, 0x08, 0x00, 0xD8, 0x90, 0x46, 0x16,
- 0x00, 0x40, 0xD8, 0xB4, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x80, 0x13, 0x00, 0x40, 0x10, 0x16, 0x00,
- 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x15, 0x00,
- 0x00, 0x00, 0x00, 0x80, 0x0F, 0x00, 0x15, 0x00,
- 0x00, 0x00, 0x00, 0x81, 0x0F, 0x00, 0x06, 0x00,
- 0x00, 0x00, 0x00, 0x80, 0x12, 0x00, 0x0A, 0x80,
- 0x40, 0x9E, 0x00, 0xC8, 0x00, 0x00, 0x5E, 0x80,
- 0x0F, 0x00, 0x06, 0x80, 0x40, 0xFE, 0x00, 0xCC,
- 0x00, 0x00, 0x04, 0x80, 0x40, 0x8E, 0x00, 0xC9,
- 0x04, 0x80, 0x00, 0x06, 0x00, 0xCC, 0x04, 0x80,
- 0x40, 0x0A, 0x00, 0xC8, 0x0A, 0x80, 0x40, 0x8A,
- 0x00, 0xC8, 0x00, 0x00, 0x5E, 0x80, 0x0F, 0x00,
- 0x0A, 0x08, 0x80, 0x1C, 0x0A, 0x00, 0x1C, 0x1A,
- 0x00, 0x80, 0x1C, 0x0C, 0x00, 0x80, 0x1C, 0x1A,
- 0x00, 0x80, 0x1A, 0x0E, 0x80, 0x1C, 0x04, 0x00,
- 0x00, 0x80, 0x80, 0x02, 0x02, 0x00, 0x00, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
- 0x40, 0x00, 0x00, 0x00, 0x58, 0x07, 0x0C, 0xB8,
- 0x16, 0xE0, 0xE2, 0x08, 0xEC, 0x08, 0xF6, 0x08,
- 0x16, 0xE0, 0x00, 0x09, 0x0A, 0x09, 0x00, 0x00,
- 0x00, 0x00, 0xE2, 0x08, 0x00, 0x00, 0xEC, 0x08,
- 0xF6, 0x08, 0x00, 0x09, 0x00, 0x00, 0xB8, 0x07,
- 0xCA, 0xCB, 0x80, 0x02, 0xB8, 0x07, 0xE8, 0xCB,
- 0x84, 0xFF, 0xB8, 0x07, 0x0A, 0xCC, 0xB8, 0x07,
- 0x84, 0xCC, 0x6E, 0xCD, 0x62, 0xCD, 0x88, 0xCD,
- 0x90, 0xCE, 0x84, 0xCD, 0x92, 0xCE, 0x92, 0xCE,
- 0x92, 0xCE, 0x8C, 0xCD, 0x96, 0xCD, 0x38, 0xCE,
- 0x82, 0xCE, 0x92, 0xCE, 0x92, 0xCE, 0x92, 0xCE,
- 0x92, 0xCE, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x08, 0x00, 0x08, 0x01, 0x05, 0x08,
- 0x08, 0x08, 0x03, 0x08, 0x03, 0x03, 0x03, 0x03,
- 0x00, 0x00, 0x04, 0x02, 0x04, 0x04, 0x00, 0x04,
- 0x0A, 0x08, 0x00, 0x00, 0x10, 0x0C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x00, 0x1A, 0x00, 0x00,
- 0x04, 0x41, 0x06, 0x0B, 0x08, 0xC2, 0x00, 0xE6,
- 0x00, 0xE7, 0x04, 0x06, 0x04, 0x07, 0x04, 0x03,
- 0x06, 0x04, 0x04, 0x05, 0x04, 0x88, 0x04, 0xCF,
- 0x04, 0xCD, 0x03, 0x00, 0x05, 0x00, 0x1C, 0x00,
- 0x00, 0x0C, 0x00, 0x80, 0xD2, 0xD8, 0xDA, 0xD8,
- 0x1E, 0xD9, 0xDE, 0xD8, 0xEA, 0xD8, 0xF0, 0xD8,
- 0x14, 0xD9, 0xE4, 0xD8, 0x32, 0xD9, 0x00, 0x06,
- 0x00, 0x00, 0x03, 0x07, 0x0A, 0x0E, 0x0F, 0x14,
- 0x26, 0x2A, 0x52, 0x42, 0x50, 0x48, 0x5D, 0x4D,
- 0x62, 0x62, 0x6D, 0x57, 0x46, 0x39, 0x1A, 0x1D,
- 0x7C, 0x76, 0x1F, 0x23, 0x15, 0x1D, 0x74, 0x6F,
- 0x84, 0x7C, 0x8B, 0x82, 0x92, 0x89, 0x00, 0x00,
- 0x32, 0x2F, 0x3F, 0x34, 0x32, 0x01, 0x01, 0x57,
- 0x32, 0x11, 0x81, 0x51, 0x02, 0x56, 0x03, 0x55,
- 0x54, 0x11, 0x56, 0x81, 0x55, 0x02, 0x54, 0x02,
- 0x56, 0x81, 0x01, 0x76, 0x02, 0x34, 0x02, 0x55,
- 0x81, 0x54, 0x02, 0x58, 0x02, 0x55, 0x81, 0x54,
- 0x02, 0x58, 0x11, 0x12, 0x02, 0x52, 0x58, 0x83,
- 0x52, 0x05, 0x83, 0x04, 0x02, 0x58, 0x08, 0x55,
- 0x58, 0x83, 0x55, 0x02, 0x81, 0x02, 0x05, 0x58,
- 0x03, 0x52, 0x5C, 0x15, 0x53, 0x5B, 0x52, 0x87,
- 0x11, 0x03, 0x41, 0x51, 0x78, 0x51, 0x34, 0x11,
- 0x81, 0x11, 0x20, 0x31, 0x54, 0x57, 0x01, 0x53,
- 0x5A, 0x12, 0x81, 0x51, 0x20, 0x31, 0x5B, 0x57,
- 0x01, 0x5A, 0x01, 0x11, 0x51, 0x11, 0x31, 0x81,
- 0x57, 0x20, 0x15, 0x01, 0x13, 0x01, 0x11, 0x01,
- 0x11, 0x11, 0x81, 0x51, 0x05, 0x58, 0x02, 0x52,
- 0x5B, 0x54, 0x5D, 0x81, 0x52, 0x05, 0x54, 0x02,
- 0x58, 0x81, 0x50, 0x02, 0x13, 0x03, 0x58, 0x81,
- 0x50, 0x02, 0x11, 0x03, 0x81, 0x54, 0x72, 0x5D,
- 0x50, 0x03, 0x13, 0x03, 0x13, 0x01, 0x40, 0x54,
- 0x0E, 0x00, 0x20, 0x06, 0x56, 0x06, 0x0C, 0xDA,
- 0x24, 0x00, 0x02, 0x10, 0x16, 0x00, 0x02, 0x00,
- 0x01, 0x04, 0x08, 0x07, 0x0C, 0xDA, 0x20, 0x00,
- 0x03, 0x10, 0x12, 0x00, 0x03, 0x00, 0x4E, 0xD9,
- 0x14, 0x8E, 0x20, 0x00, 0x04, 0x10, 0x12, 0x00,
- 0x04, 0x00, 0xD2, 0xCE, 0x20, 0x00, 0x05, 0xE0,
- 0x12, 0x00, 0x05, 0x00, 0xD2, 0xCE, 0x20, 0x00,
- 0x06, 0xE0, 0x12, 0x00, 0x06, 0x00, 0xE8, 0xDD,
- 0x12, 0x00, 0x01, 0xE0, 0x6C, 0x09, 0xCC, 0x06,
- 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x30, 0x06,
- 0x42, 0xDC, 0xF0, 0x05, 0x00, 0xE0, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xE2, 0x05, 0x08, 0x00,
- 0x26, 0xFF, 0xDC, 0x05, 0x00, 0x00, 0x30, 0x06,
- 0xF8, 0xDB, 0x1E, 0x00, 0x01, 0xE0, 0x10, 0x00,
- 0x11, 0x30, 0x0C, 0x04, 0x01, 0x00, 0x0E, 0x04,
- 0x02, 0x00, 0x21, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x30, 0x06, 0x32, 0xDD, 0x12, 0x00, 0x01, 0xE0,
- 0x04, 0x00, 0x13, 0x30, 0x74, 0xDE, 0x3E, 0x00,
- 0x00, 0xE0, 0x00, 0xC0, 0x00, 0x00, 0x02, 0x00,
- 0x30, 0x00, 0x20, 0x50, 0x23, 0x0C, 0xFC, 0x05,
- 0x52, 0x06, 0x56, 0x06, 0x00, 0x00, 0x00, 0x81,
- 0x16, 0x00, 0x00, 0xE0, 0x00, 0xC0, 0x00, 0x00,
- 0x10, 0x00, 0x08, 0x00, 0x2A, 0x40, 0x2A, 0x04,
- 0x56, 0x06, 0x26, 0x00, 0x19, 0xED, 0x2B, 0x06,
- 0x72, 0x09, 0x22, 0x00, 0x24, 0x00, 0x2F, 0xED,
- 0x23, 0x0C, 0xFC, 0x05, 0x28, 0x08, 0x34, 0x09,
- 0x29, 0x08, 0x58, 0x07, 0x78, 0x07, 0x98, 0x07,
- 0x23, 0x00, 0x2A, 0x00, 0x3D, 0xED, 0x06, 0x04,
- 0xF0, 0x06, 0x07, 0x04, 0xEE, 0x06, 0x24, 0x00,
- 0xD2, 0xCE, 0x34, 0x00, 0x00, 0xE0, 0x00, 0xC0,
- 0x00, 0x00, 0x10, 0x00, 0x26, 0x00, 0x25, 0x40,
- 0xD2, 0xCE, 0x20, 0x00, 0x00, 0xE0, 0x00, 0xC0,
- 0x00, 0x00, 0x10, 0x00, 0x12, 0x00, 0x26, 0x40,
- 0xD2, 0xCE, 0x1A, 0x00, 0x00, 0xE0, 0x0C, 0x00,
- 0x27, 0x60, 0x0A, 0x08, 0xE6, 0x06, 0xD2, 0xCE,
- 0x24, 0x00, 0x00, 0xE0, 0x16, 0x00, 0x28, 0x60,
- 0x30, 0x04, 0x06, 0x07, 0x52, 0xCF, 0x00, 0x81,
- 0x30, 0x00, 0x00, 0xE0, 0x22, 0x00, 0x29, 0x60,
- 0x2D, 0x08, 0x1C, 0x07, 0x2E, 0x08, 0x22, 0x07,
- 0x00, 0x00, 0x08, 0x02, 0x06, 0x01, 0x14, 0x06,
- 0x18, 0x08, 0x20, 0x0C, 0x26, 0x0E, 0x30, 0x0F,
- 0x34, 0x11, 0x3E, 0x12, 0x42, 0x14, 0x46, 0x16,
- 0x1C, 0x0A, 0x4A, 0x18, 0x13, 0x03, 0x11, 0x83,
- 0x01, 0x11, 0x11, 0x81, 0x12, 0x81, 0x13, 0x01,
- 0x52, 0x83, 0x81, 0x85, 0x85, 0x11, 0x12, 0x81,
- 0x12, 0x81, 0x19, 0x81, 0x60, 0x85, 0x00, 0xC0,
- 0x00, 0x00, 0x08, 0x00, 0x6C, 0x09, 0x00, 0x00,
- 0x30, 0x06, 0x08, 0xE5, 0x54, 0x06, 0x50, 0x06,
- 0x38, 0x02, 0x21, 0x04, 0x1E, 0x09, 0x0B, 0x06,
- 0xD8, 0x06, 0x02, 0x08, 0xDC, 0x06, 0x00, 0xC0,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x41, 0x00, 0x41, 0x00,
- 0x14, 0xAE, 0x00, 0x00, 0x00, 0x81, 0x09, 0x04,
- 0x0C, 0x07, 0x41, 0x00, 0x41, 0x00, 0x14, 0x02,
- 0x00, 0x00, 0x00, 0x81, 0x0B, 0x06, 0xD8, 0x06,
- 0x2C, 0x06, 0x76, 0x09, 0x22, 0x14, 0x3A, 0x09,
- 0x41, 0x00, 0x41, 0x00, 0x54, 0x02, 0x00, 0x00,
- 0x00, 0x81, 0xD8, 0x06, 0x00, 0x84, 0x00, 0x48,
- 0xFC, 0xFF, 0x09, 0x00, 0x00, 0xC0, 0x00, 0x00,
- 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xB8, 0xFF, 0x20, 0x00,
- 0x43, 0x28, 0x31, 0x29, 0x38, 0x39, 0x2D, 0x33,
- 0x39, 0x38, 0x39, 0x2C, 0x2D, 0x30, 0x38, 0x39,
- 0x54, 0x20, 0x78, 0x65, 0x73, 0x61, 0x49, 0x20,
- 0x73, 0x6E, 0x72, 0x74, 0x6D, 0x75, 0x6E, 0x65,
- 0x73, 0x74, 0x28, 0x0A, 0x29, 0x43, 0x39, 0x31,
- 0x33, 0x38, 0x34, 0x2C, 0x35, 0x2C, 0x36, 0x2C,
- 0x49, 0x20, 0x4D, 0x42, 0x43, 0x20, 0x72, 0x6F,
- 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xF8, 0xFF, 0x01, 0x00, 0x34, 0x90,
- 0x00, 0x00, 0xFA, 0xFF, 0x01, 0x00, 0xB8, 0xFF,
- 0x00, 0x00, 0xFC, 0xFF, 0x02, 0x00, 0x80, 0x00,
- 0x3E, 0xA0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00
-};
-#endif /* CONFIG_SKTR */
diff --git a/drivers/net/tokenring/tms380tr.c b/drivers/net/tokenring/tms380tr.c
new file mode 100644
index 000000000..0a0da8840
--- /dev/null
+++ b/drivers/net/tokenring/tms380tr.c
@@ -0,0 +1,2749 @@
+/*
+ * tms380tr.c: A network driver for Texas Instruments TMS380-based
+ * Token Ring Adapters.
+ *
+ * Originally sktr.c: Written 1997 by Christoph Goos
+ *
+ * A fine result of the Linux Systems Network Architecture Project.
+ * http://www.linux-sna.org
+ *
+ * This software may be used and distributed according to the terms
+ * of the GNU Public License, incorporated herein by reference.
+ *
+ * This device driver works with the following TMS380 adapters:
+ * - SysKonnect TR4/16(+) ISA (SK-4190)
+ * - SysKonnect TR4/16(+) PCI (SK-4590)
+ * - SysKonnect TR4/16 PCI (SK-4591)
+ * - Compaq TR 4/16 PCI
+ * - Thomas-Conrad TC4048 4/16 PCI
+ * - Any ISA or PCI adapter using only the TMS380 chipset
+ *
+ * Sources:
+ * - The hardware related parts of this driver are take from
+ * the SysKonnect Token Ring driver for Windows NT.
+ * - I used the IBM Token Ring driver 'ibmtr.c' as a base for this
+ * driver, as well as the 'skeleton.c' driver by Donald Becker.
+ * - Also various other drivers in the linux source tree were taken
+ * as samples for some tasks.
+ * - TI TMS380 Second-Generation Token Ring User's Guide
+ * - TI datasheets for respective chips
+ * - David Hein at Texas Instruments
+ *
+ * Maintainer(s):
+ * JS Jay Schulist jschlst@samba.anu.edu.au
+ * CG Christoph Goos cgoos@syskonnect.de
+ * AF Adam Fritzler mid@auk.cx
+ *
+ * Modification History:
+ * 29-Aug-97 CG Created
+ * 04-Apr-98 CG Fixed problems caused by tok_timer_check
+ * 10-Apr-98 CG Fixed lockups at cable disconnection
+ * 27-May-98 JS Formated to Linux Kernel Format
+ * 31-May-98 JS Hacked in PCI support
+ * 16-Jun-98 JS Modulized for multiple cards with one driver
+ * Sep-99 AF Renamed to tms380tr (supports more than SK's)
+ * 23-Sep-99 AF Added Compaq and Thomas-Conrad PCI support
+ * Fixed a bug causing double copies on PCI
+ * Fixed for new multicast stuff (2.2/2.3)
+ * 25-Sep-99 AF Uped TPL_NUM from 3 to 9
+ * Removed extraneous 'No free TPL'
+ *
+ * To do:
+ * 1. Selectable 16 Mbps or 4Mbps
+ * 2. Multi/Broadcast packet handling (this may have fixed itself)
+ *
+ */
+
+static const char *version = "tms380tr.c: v1.03 29/09/1999 by Christoph Goos, Adam Fritzler\n";
+
+#ifdef MODULE
+#include <linux/module.h>
+#include <linux/version.h>
+#endif
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+#include <linux/types.h>
+#include <linux/fcntl.h>
+#include <linux/interrupt.h>
+#include <linux/ptrace.h>
+#include <linux/ioport.h>
+#include <linux/in.h>
+#include <linux/malloc.h>
+#include <linux/string.h>
+#include <linux/time.h>
+#include <asm/system.h>
+#include <asm/bitops.h>
+#include <asm/io.h>
+#include <asm/dma.h>
+#include <asm/irq.h>
+#include <linux/errno.h>
+#include <linux/init.h>
+#include <linux/pci.h>
+
+#include <linux/netdevice.h>
+#include <linux/etherdevice.h>
+#include <linux/skbuff.h>
+#include <linux/trdevice.h>
+
+#include "tms380tr.h" /* Our Stuff */
+#include "tms380tr_microcode.h" /* TI microcode for COMMprocessor */
+
+/* A zero-terminated list of I/O addresses to be probed. */
+static unsigned int tms380tr_portlist[] __initdata = {
+ 0x0A20, 0x1A20, 0x0B20, 0x1B20, 0x0980, 0x1980, 0x0900, 0x1900,
+ 0
+};
+
+/* A zero-terminated list of IRQs to be probed.
+ * Used again after initial probe for tms380tr_chipset_init, called from tms380tr_open.
+ */
+static unsigned short tms380tr_irqlist[] = {
+ 3, 5, 9, 10, 11, 12, 15,
+ 0
+};
+
+/* A zero-terminated list of DMAs to be probed. */
+static int tms380tr_dmalist[] __initdata = {
+ 5, 6, 7,
+ 0
+};
+
+/*
+ * Table used for card detection and type determination.
+ */
+struct cardinfo_table cardinfo[] = {
+ { 0, 0, 0,
+ "Unknown TMS380 Token Ring Adapter"},
+ { TMS_ISA, 0, 0,
+ "SK NET TR 4/16 ISA"},
+ { TMS_PCI, PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_TOKENRING,
+ "Compaq 4/16 TR PCI"},
+ { TMS_PCI, PCI_VENDOR_ID_SK, PCI_DEVICE_ID_SK_TR,
+ "SK NET TR 4/16 PCI"},
+ { TMS_PCI, PCI_VENDOR_ID_TCONRAD, PCI_DEVICE_ID_TCONRAD_TOKENRING,
+ "Thomas-Conrad TC4048 PCI 4/16"},
+ { 0, 0, 0, NULL}
+};
+
+/* Use 0 for production, 1 for verification, 2 for debug, and
+ * 3 for very verbose debug.
+ */
+#ifndef TMS380TR_DEBUG
+#define TMS380TR_DEBUG 0
+#endif
+static unsigned int tms380tr_debug = TMS380TR_DEBUG;
+
+/* The number of low I/O ports used by the tokencard. */
+#define TMS380TR_IO_EXTENT 32
+
+/* Index to functions, as function prototypes.
+ * Alphabetical by function name.
+ */
+
+/* "B" */
+static int tms380tr_bringup_diags(struct net_device *dev);
+/* "C" */
+static void tms380tr_cancel_tx_queue(struct net_local* tp);
+static int tms380tr_chipset_init(struct net_device *dev);
+static void tms380tr_chk_irq(struct net_device *dev);
+static unsigned char tms380tr_chk_frame(struct net_device *dev, unsigned char *Addr);
+static void tms380tr_chk_outstanding_cmds(struct net_device *dev);
+static void tms380tr_chk_src_addr(unsigned char *frame, unsigned char *hw_addr);
+static unsigned char tms380tr_chk_ssb(struct net_local *tp, unsigned short IrqType);
+static int tms380tr_close(struct net_device *dev);
+static void tms380tr_cmd_status_irq(struct net_device *dev);
+/* "D" */
+static void tms380tr_disable_interrupts(struct net_device *dev);
+#if TMS380TR_DEBUG > 0
+static void tms380tr_dump(unsigned char *Data, int length);
+#endif
+/* "E" */
+static void tms380tr_enable_interrupts(struct net_device *dev);
+static void tms380tr_exec_cmd(struct net_device *dev, unsigned short Command);
+static void tms380tr_exec_sifcmd(struct net_device *dev, unsigned int WriteValue);
+/* "F" */
+/* "G" */
+static struct enet_statistics *tms380tr_get_stats(struct net_device *dev);
+/* "H" */
+static void tms380tr_hardware_send_packet(struct net_device *dev,
+ struct net_local* tp);
+/* "I" */
+static int tms380tr_init_adapter(struct net_device *dev);
+static int tms380tr_init_card(struct net_device *dev);
+static void tms380tr_init_ipb(struct net_local *tp);
+static void tms380tr_init_net_local(struct net_device *dev);
+static void tms380tr_init_opb(struct net_local *tp);
+static void tms380tr_interrupt(int irq, void *dev_id, struct pt_regs *regs);
+static int tms380tr_isa_chk_card(struct net_device *dev, int ioaddr, struct cardinfo_table **outcard);
+static int tms380tr_isa_chk_ioaddr(int ioaddr);
+/* "O" */
+static int tms380tr_open(struct net_device *dev);
+static void tms380tr_open_adapter(struct net_device *dev);
+/* "P" */
+static int tms380tr_pci_chk_card(struct net_device *dev, struct cardinfo_table **outcard);
+int tms380tr_probe(struct net_device *dev);
+static int tms380tr_probe1(struct net_device *dev, int ioaddr);
+/* "R" */
+static void tms380tr_rcv_status_irq(struct net_device *dev);
+static void tms380tr_read_addr(struct net_device *dev, unsigned char *Address);
+static int tms380tr_read_ptr(struct net_device *dev);
+static void tms380tr_read_ram(struct net_device *dev, unsigned char *Data,
+ unsigned short Address, int Length);
+static int tms380tr_reset_adapter(struct net_device *dev);
+static void tms380tr_reset_interrupt(struct net_device *dev);
+static void tms380tr_ring_status_irq(struct net_device *dev);
+/* "S" */
+static int tms380tr_send_packet(struct sk_buff *skb, struct net_device *dev);
+static void tms380tr_set_multicast_list(struct net_device *dev);
+/* "T" */
+static void tms380tr_timer_chk(unsigned long data);
+static void tms380tr_timer_end_wait(unsigned long data);
+static void tms380tr_tx_status_irq(struct net_device *dev);
+/* "U" */
+static void tms380tr_update_rcv_stats(struct net_local *tp,
+ unsigned char DataPtr[], unsigned int Length);
+/* "W" */
+static void tms380tr_wait(unsigned long time);
+static void tms380tr_write_rpl_status(RPL *rpl, unsigned int Status);
+static void tms380tr_write_tpl_status(TPL *tpl, unsigned int Status);
+
+/*
+ * Check for a network adapter of this type, and return '0' if one exists.
+ * If dev->base_addr == 0, probe all likely locations.
+ * If dev->base_addr == 1, always return failure.
+ */
+int __init tms380tr_probe(struct net_device *dev)
+{
+ int i;
+ int base_addr = dev ? dev->base_addr : 0;
+
+ if(base_addr > 0x1ff) /* Check a single specified location. */
+ return (tms380tr_probe1(dev, base_addr));
+ else if(base_addr != 0) /* Don't probe at all. */
+ return (-ENXIO);
+
+ for(i = 0; tms380tr_portlist[i]; i++)
+ {
+ int ioaddr = tms380tr_portlist[i];
+ if(check_region(ioaddr, TMS380TR_IO_EXTENT))
+ continue;
+ if(tms380tr_probe1(dev, ioaddr))
+ {
+#ifndef MODULE
+ tr_freedev(dev);
+#endif
+ }
+ else
+ return (0);
+ }
+
+ return (-ENODEV);
+}
+
+struct cardinfo_table * __init tms380tr_pci_getcardinfo(unsigned short vendor,
+ unsigned short device)
+{
+ int cur;
+
+ for (cur = 1; cardinfo[cur].name != NULL; cur++) {
+ if (cardinfo[cur].type == 2) /* PCI */
+ {
+ if ((cardinfo[cur].vendor_id == vendor) && (cardinfo[cur].device_id == device))
+ return &cardinfo[cur];
+ }
+ }
+
+ return NULL;
+}
+
+/*
+ * Detect and setup the PCI SysKonnect TR cards in slot order.
+ */
+static int __init tms380tr_pci_chk_card(struct net_device *dev,
+ struct cardinfo_table **outcard)
+{
+ static int pci_index = 0;
+ unsigned char pci_bus, pci_device_fn;
+ struct cardinfo_table *card;
+ int i;
+
+ if(!pci_present())
+ return (-1); /* No PCI present. */
+
+ for(; pci_index < 0xff; pci_index++)
+ {
+ unsigned int pci_irq_line;
+ struct pci_dev *pdev;
+ unsigned short pci_command, new_command, vendor, device;
+ unsigned int pci_ioaddr;
+
+ if(pcibios_find_class(PCI_CLASS_NETWORK_TOKEN_RING << 8,
+ pci_index, &pci_bus, &pci_device_fn)
+ != PCIBIOS_SUCCESSFUL)
+ {
+ break;
+ }
+
+ pcibios_read_config_word(pci_bus, pci_device_fn,
+ PCI_VENDOR_ID, &vendor);
+ pcibios_read_config_word(pci_bus, pci_device_fn,
+ PCI_DEVICE_ID, &device);
+
+ pdev = pci_find_slot(pci_bus, pci_device_fn);
+ pci_irq_line = pdev->irq;
+ pci_ioaddr = pdev->resource[0].start;
+
+ pcibios_read_config_word(pci_bus, pci_device_fn,
+ PCI_COMMAND, &pci_command);
+
+ /* Remove I/O space marker in bit 0. */
+ pci_ioaddr &= ~3;
+
+ if (!(card = tms380tr_pci_getcardinfo(vendor, device)))
+ return -ENODEV;
+
+ if(check_region(pci_ioaddr, TMS380TR_IO_EXTENT))
+ continue;
+ request_region(pci_ioaddr, TMS380TR_IO_EXTENT, card->name);
+ if(request_irq(pdev->irq, tms380tr_interrupt, SA_SHIRQ,
+ card->name, dev))
+ return (-ENODEV); /* continue; ?? */
+
+ new_command = (pci_command|PCI_COMMAND_MASTER|PCI_COMMAND_IO);
+
+ if(pci_command != new_command)
+ {
+ printk("The PCI BIOS has not enabled this"
+ "device! Updating PCI command %4.4x->%4.4x.\n",
+ pci_command, new_command);
+ pcibios_write_config_word(pci_bus, pci_device_fn,
+ PCI_COMMAND, new_command);
+ }
+
+ /* At this point we have found a valid PCI TR card. */
+ dev->base_addr = pci_ioaddr;
+ dev->irq = pci_irq_line;
+ dev->dma = 0;
+
+ dev->addr_len = 6;
+ tms380tr_read_addr(dev, (unsigned char*)dev->dev_addr);
+
+ printk("%s: %s found at %#4x, IRQ %d, ring station ",
+ dev->name, card->name, pci_ioaddr, dev->irq);
+ printk("%2.2x", dev->dev_addr[0]);
+ for (i = 1; i < 6; i++)
+ printk(":%2.2x", dev->dev_addr[i]);
+ printk(".\n");
+
+ if (outcard)
+ *outcard = card;
+
+ return (0);
+ }
+
+ return (-1);
+}
+
+/*
+ * Detect and setup the ISA SysKonnect TR cards.
+ */
+static int __init tms380tr_isa_chk_card(struct net_device *dev, int ioaddr,
+ struct cardinfo_table **outcard)
+{
+ int i, err;
+ unsigned long flags;
+ struct cardinfo_table *card = NULL;
+
+ err = tms380tr_isa_chk_ioaddr(ioaddr);
+ if(err < 0)
+ return (-ENODEV);
+
+ if(virt_to_bus((void*)((unsigned long)dev->priv+sizeof(struct net_local)))
+ > ISA_MAX_ADDRESS)
+ {
+ printk("%s: Memory not accessible for DMA\n", dev->name);
+ kfree(dev->priv);
+ return (-EAGAIN);
+ }
+
+ /* FIXME */
+ card = &cardinfo[1];
+
+ /* Grab the region so that no one else tries to probe our ioports. */
+ request_region(ioaddr, TMS380TR_IO_EXTENT, card->name);
+ dev->base_addr = ioaddr;
+
+ /* Autoselect IRQ and DMA if dev->irq == 0 */
+ if(dev->irq == 0)
+ {
+ for(i = 0; tms380tr_irqlist[i] != 0; i++)
+ {
+ dev->irq = tms380tr_irqlist[i];
+ err = request_irq(dev->irq, &tms380tr_interrupt, 0, card->name, dev);
+ if(!err)
+ break;
+ }
+
+ if(tms380tr_irqlist[i] == 0)
+ {
+ printk("%s: AutoSelect no IRQ available\n", dev->name);
+ return (-EAGAIN);
+ }
+ }
+ else
+ {
+ err = request_irq(dev->irq, &tms380tr_interrupt, 0, card->name, dev);
+ if(err)
+ {
+ printk("%s: Selected IRQ not available\n", dev->name);
+ return (-EAGAIN);
+ }
+ }
+
+ /* Always allocate the DMA channel after IRQ and clean up on failure */
+ if(dev->dma == 0)
+ {
+ for(i = 0; tms380tr_dmalist[i] != 0; i++)
+ {
+ dev->dma = tms380tr_dmalist[i];
+ err = request_dma(dev->dma, card->name);
+ if(!err)
+ break;
+ }
+
+ if(dev->dma == 0)
+ {
+ printk("%s: AutoSelect no DMA available\n", dev->name);
+ free_irq(dev->irq, NULL);
+ return (-EAGAIN);
+ }
+ }
+ else
+ {
+ err = request_dma(dev->dma, card->name);
+ if(err)
+ {
+ printk("%s: Selected DMA not available\n", dev->name);
+ free_irq(dev->irq, NULL);
+ return (-EAGAIN);
+ }
+ }
+
+ flags=claim_dma_lock();
+ disable_dma(dev->dma);
+ set_dma_mode(dev->dma, DMA_MODE_CASCADE);
+ enable_dma(dev->dma);
+ release_dma_lock(flags);
+
+ printk("%s: %s found at %#4x, using IRQ %d and DMA %d.\n",
+ dev->name, card->name, ioaddr, dev->irq, dev->dma);
+
+ if (outcard)
+ *outcard = card;
+
+ return (0);
+}
+
+static int __init tms380tr_probe1(struct net_device *dev, int ioaddr)
+{
+ static unsigned version_printed = 0;
+ struct net_local *tp;
+ int err;
+ struct cardinfo_table *card = NULL;
+
+ if(tms380tr_debug && version_printed++ == 0)
+ printk(KERN_INFO "%s", version);
+
+#ifndef MODULE
+ dev = init_trdev(dev, 0);
+ if(dev == NULL)
+ return (-ENOMEM);
+#endif
+
+ err = tms380tr_pci_chk_card(dev, &card);
+ if(err < 0)
+ {
+ err = tms380tr_isa_chk_card(dev, ioaddr, &card);
+ if(err < 0)
+ return (-ENODEV);
+ }
+
+ /* Setup this devices private information structure */
+ tp = (struct net_local *)kmalloc(sizeof(struct net_local), GFP_KERNEL | GFP_DMA);
+ if(tp == NULL)
+ return (-ENOMEM);
+ memset(tp, 0, sizeof(struct net_local));
+ init_waitqueue_head(&tp->wait_for_tok_int);
+ tp->CardType = card;
+
+ dev->priv = tp;
+ dev->init = tms380tr_init_card;
+ dev->open = tms380tr_open;
+ dev->stop = tms380tr_close;
+ dev->hard_start_xmit = tms380tr_send_packet;
+ dev->get_stats = tms380tr_get_stats;
+ dev->set_multicast_list = &tms380tr_set_multicast_list;
+
+ return (0);
+}
+
+/* Dummy function */
+static int __init tms380tr_init_card(struct net_device *dev)
+{
+ if(tms380tr_debug > 3)
+ printk("%s: tms380tr_init_card\n", dev->name);
+
+ return (0);
+}
+
+/*
+ * This function tests if an adapter is really installed at the
+ * given I/O address. Return negative if no adapter at IO addr.
+ */
+static int __init tms380tr_isa_chk_ioaddr(int ioaddr)
+{
+ unsigned char old, chk1, chk2;
+
+ old = inb(ioaddr + SIFADR); /* Get the old SIFADR value */
+
+ chk1 = 0; /* Begin with check value 0 */
+ do {
+ /* Write new SIFADR value */
+ outb(chk1, ioaddr + SIFADR);
+
+ /* Read, invert and write */
+ chk2 = inb(ioaddr + SIFADD);
+ chk2 ^= 0x0FE;
+ outb(chk2, ioaddr + SIFADR);
+
+ /* Read, invert and compare */
+ chk2 = inb(ioaddr + SIFADD);
+ chk2 ^= 0x0FE;
+
+ if(chk1 != chk2)
+ return (-1); /* No adapter */
+
+ chk1 -= 2;
+ } while(chk1 != 0); /* Repeat 128 times (all byte values) */
+
+ /* Restore the SIFADR value */
+ outb(old, ioaddr + SIFADR);
+
+ return (0);
+}
+
+/*
+ * Open/initialize the board. This is called sometime after
+ * booting when the 'ifconfig' program is run.
+ *
+ * This routine should set everything up anew at each open, even
+ * registers that "should" only need to be set once at boot, so that
+ * there is non-reboot way to recover if something goes wrong.
+ */
+static int tms380tr_open(struct net_device *dev)
+{
+ struct net_local *tp = (struct net_local *)dev->priv;
+ int err;
+
+ /* Reset the hardware here. Don't forget to set the station address. */
+ err = tms380tr_chipset_init(dev);
+ if(err)
+ {
+ printk(KERN_INFO "%s: Chipset initialization error\n",
+ dev->name);
+ return (-1);
+ }
+
+ init_timer(&tp->timer);
+ tp->timer.expires = jiffies + 30*HZ;
+ tp->timer.function = tms380tr_timer_end_wait;
+ tp->timer.data = (unsigned long)dev;
+ tp->timer.next = NULL;
+ tp->timer.prev = NULL;
+ add_timer(&tp->timer);
+
+ printk(KERN_INFO "%s: Adapter RAM size: %dK\n",
+ dev->name, tms380tr_read_ptr(dev));
+ tms380tr_enable_interrupts(dev);
+ tms380tr_open_adapter(dev);
+
+ dev->tbusy = 0;
+ dev->interrupt = 0;
+ dev->start = 0;
+
+ /* Wait for interrupt from hardware. If interrupt does not come,
+ * there will be a timeout from the timer.
+ */
+ tp->Sleeping = 1;
+ interruptible_sleep_on(&tp->wait_for_tok_int);
+ del_timer(&tp->timer);
+
+ /* If AdapterVirtOpenFlag is 1, the adapter is now open for use */
+ if(tp->AdapterVirtOpenFlag == 0)
+ {
+ tms380tr_disable_interrupts(dev);
+ return (-1);
+ }
+
+ dev->start = 1;
+
+ tp->StartTime = jiffies;
+
+ /* Start function control timer */
+ tp->timer.expires = jiffies + 2*HZ;
+ tp->timer.function = tms380tr_timer_chk;
+ tp->timer.data = (unsigned long)dev;
+ add_timer(&tp->timer);
+
+#ifdef MODULE
+ MOD_INC_USE_COUNT;
+#endif
+
+ return (0);
+}
+
+/*
+ * Timeout function while waiting for event
+ */
+static void tms380tr_timer_end_wait(unsigned long data)
+{
+ struct net_device *dev = (struct net_device*)data;
+ struct net_local *tp = (struct net_local *)dev->priv;
+
+ if(tp->Sleeping)
+ {
+ tp->Sleeping = 0;
+ wake_up_interruptible(&tp->wait_for_tok_int);
+ }
+
+ return;
+}
+
+/*
+ * Initialize the chipset
+ */
+static int tms380tr_chipset_init(struct net_device *dev)
+{
+ struct net_local *tp = (struct net_local *)dev->priv;
+ unsigned char PosReg, Tmp;
+ int i, err;
+
+ tms380tr_init_ipb(tp);
+ tms380tr_init_opb(tp);
+ tms380tr_init_net_local(dev);
+
+ /* Set pos register: selects irq and dma channel.
+ * Only for ISA bus adapters.
+ */
+ if(dev->dma > 0)
+ {
+ PosReg = 0;
+ for(i = 0; tms380tr_irqlist[i] != 0; i++)
+ {
+ if(tms380tr_irqlist[i] == dev->irq)
+ break;
+ }
+
+ /* Choose default cycle time, 500 nsec */
+ PosReg |= CYCLE_TIME << 2;
+ PosReg |= i << 4;
+ i = dev->dma - 5;
+ PosReg |= i;
+
+ if(tp->DataRate == SPEED_4)
+ PosReg |= LINE_SPEED_BIT;
+ else
+ PosReg &= ~LINE_SPEED_BIT;
+
+ outb(PosReg, dev->base_addr + POSREG);
+ Tmp = inb(dev->base_addr + POSREG);
+ if((Tmp & ~CYCLE_TIME) != (PosReg & ~CYCLE_TIME))
+ printk(KERN_INFO "%s: POSREG error\n", dev->name);
+ }
+
+ err = tms380tr_reset_adapter(dev);
+ if(err < 0)
+ return (-1);
+
+ err = tms380tr_bringup_diags(dev);
+ if(err < 0)
+ return (-1);
+
+ err = tms380tr_init_adapter(dev);
+ if(err < 0)
+ return (-1);
+
+ return (0);
+}
+
+/*
+ * Initializes the net_local structure.
+ */
+static void tms380tr_init_net_local(struct net_device *dev)
+{
+ struct net_local *tp = (struct net_local *)dev->priv;
+ int i;
+
+ tp->scb.CMD = 0;
+ tp->scb.Parm[0] = 0;
+ tp->scb.Parm[1] = 0;
+
+ tp->ssb.STS = 0;
+ tp->ssb.Parm[0] = 0;
+ tp->ssb.Parm[1] = 0;
+ tp->ssb.Parm[2] = 0;
+
+ tp->CMDqueue = 0;
+
+ tp->AdapterOpenFlag = 0;
+ tp->AdapterVirtOpenFlag = 0;
+ tp->ScbInUse = 0;
+ tp->OpenCommandIssued = 0;
+ tp->ReOpenInProgress = 0;
+ tp->HaltInProgress = 0;
+ tp->TransmitHaltScheduled = 0;
+ tp->LobeWireFaultLogged = 0;
+ tp->LastOpenStatus = 0;
+ tp->MaxPacketSize = DEFAULT_PACKET_SIZE;
+
+ skb_queue_head_init(&tp->SendSkbQueue);
+ tp->QueueSkb = MAX_TX_QUEUE;
+
+ /* Create circular chain of transmit lists */
+ for (i = 0; i < TPL_NUM; i++)
+ {
+ tp->Tpl[i].NextTPLAddr = htonl((unsigned long) virt_to_bus(&tp->Tpl[(i+1) % TPL_NUM]));
+ tp->Tpl[i].Status = 0;
+ tp->Tpl[i].FrameSize = 0;
+ tp->Tpl[i].FragList[0].DataCount = 0;
+ tp->Tpl[i].FragList[0].DataAddr = 0;
+ tp->Tpl[i].NextTPLPtr = &tp->Tpl[(i+1) % TPL_NUM];
+ tp->Tpl[i].MData = NULL;
+ tp->Tpl[i].TPLIndex = i;
+ tp->Tpl[i].BusyFlag = 0;
+ }
+
+ tp->TplFree = tp->TplBusy = &tp->Tpl[0];
+
+ /* Create circular chain of receive lists */
+ for (i = 0; i < RPL_NUM; i++)
+ {
+ tp->Rpl[i].NextRPLAddr = htonl((unsigned long) virt_to_bus(&tp->Rpl[(i+1) % RPL_NUM]));
+ tp->Rpl[i].Status = (RX_VALID | RX_START_FRAME | RX_END_FRAME | RX_FRAME_IRQ);
+ tp->Rpl[i].FrameSize = 0;
+ tp->Rpl[i].FragList[0].DataCount = SWAPB(tp->MaxPacketSize);
+
+ /* Alloc skb and point adapter to data area */
+ tp->Rpl[i].Skb = dev_alloc_skb(tp->MaxPacketSize);
+
+ /* skb == NULL ? then use local buffer */
+ if(tp->Rpl[i].Skb == NULL)
+ {
+ tp->Rpl[i].SkbStat = SKB_UNAVAILABLE;
+ tp->Rpl[i].FragList[0].DataAddr = htonl(virt_to_bus(tp->LocalRxBuffers[i]));
+ tp->Rpl[i].MData = tp->LocalRxBuffers[i];
+ }
+ else /* SKB != NULL */
+ {
+ tp->Rpl[i].Skb->dev = dev;
+ skb_put(tp->Rpl[i].Skb, tp->MaxPacketSize);
+
+ /* data unreachable for DMA ? then use local buffer */
+ if(tp->CardType->type == TMS_ISA && virt_to_bus(tp->Rpl[i].Skb->data) + tp->MaxPacketSize > ISA_MAX_ADDRESS)
+ {
+ tp->Rpl[i].SkbStat = SKB_DATA_COPY;
+ tp->Rpl[i].FragList[0].DataAddr = htonl(virt_to_bus(tp->LocalRxBuffers[i]));
+ tp->Rpl[i].MData = tp->LocalRxBuffers[i];
+ }
+ else /* DMA directly in skb->data */
+ {
+ tp->Rpl[i].SkbStat = SKB_DMA_DIRECT;
+ tp->Rpl[i].FragList[0].DataAddr = htonl(virt_to_bus(tp->Rpl[i].Skb->data));
+ tp->Rpl[i].MData = tp->Rpl[i].Skb->data;
+ }
+ }
+
+ tp->Rpl[i].NextRPLPtr = &tp->Rpl[(i+1) % RPL_NUM];
+ tp->Rpl[i].RPLIndex = i;
+ }
+
+ tp->RplHead = &tp->Rpl[0];
+ tp->RplTail = &tp->Rpl[RPL_NUM-1];
+ tp->RplTail->Status = (RX_START_FRAME | RX_END_FRAME | RX_FRAME_IRQ);
+
+ return;
+}
+
+/*
+ * Initializes the initialisation parameter block.
+ */
+static void tms380tr_init_ipb(struct net_local *tp)
+{
+ tp->ipb.Init_Options = BURST_MODE;
+ tp->ipb.CMD_Status_IV = 0;
+ tp->ipb.TX_IV = 0;
+ tp->ipb.RX_IV = 0;
+ tp->ipb.Ring_Status_IV = 0;
+ tp->ipb.SCB_Clear_IV = 0;
+ tp->ipb.Adapter_CHK_IV = 0;
+ tp->ipb.RX_Burst_Size = BURST_SIZE;
+ tp->ipb.TX_Burst_Size = BURST_SIZE;
+ tp->ipb.DMA_Abort_Thrhld = DMA_RETRIES;
+ tp->ipb.SCB_Addr = 0;
+ tp->ipb.SSB_Addr = 0;
+
+ return;
+}
+
+/*
+ * Initializes the open parameter block.
+ */
+static void tms380tr_init_opb(struct net_local *tp)
+{
+ unsigned long Addr;
+ unsigned short RplSize = RPL_SIZE;
+ unsigned short TplSize = TPL_SIZE;
+ unsigned short BufferSize = BUFFER_SIZE;
+
+ tp->ocpl.OPENOptions = 0;
+ tp->ocpl.OPENOptions |= ENABLE_FULL_DUPLEX_SELECTION;
+ tp->ocpl.FullDuplex = 0;
+ tp->ocpl.FullDuplex |= OPEN_FULL_DUPLEX_OFF;
+
+ /* Fixme: If mac address setable:
+ * for (i=0; i<LENGTH_OF_ADDRESS; i++)
+ * mac->Vam->ocpl.NodeAddr[i] = mac->CurrentAddress[i];
+ */
+
+ tp->ocpl.GroupAddr = 0;
+ tp->ocpl.FunctAddr = 0;
+ tp->ocpl.RxListSize = SWAPB(RplSize);
+ tp->ocpl.TxListSize = SWAPB(TplSize);
+ tp->ocpl.BufSize = SWAPB(BufferSize);
+ tp->ocpl.Reserved = 0;
+ tp->ocpl.TXBufMin = TX_BUF_MIN;
+ tp->ocpl.TXBufMax = TX_BUF_MAX;
+
+ Addr = htonl(virt_to_bus(tp->ProductID));
+
+ tp->ocpl.ProdIDAddr[0] = LOWORD(Addr);
+ tp->ocpl.ProdIDAddr[1] = HIWORD(Addr);
+
+ return;
+}
+
+/*
+ * Send OPEN command to adapter
+ */
+static void tms380tr_open_adapter(struct net_device *dev)
+{
+ struct net_local *tp = (struct net_local *)dev->priv;
+
+ if(tp->OpenCommandIssued)
+ return;
+
+ tp->OpenCommandIssued = 1;
+ tms380tr_exec_cmd(dev, OC_OPEN);
+
+ return;
+}
+
+/*
+ * Clear the adapter's interrupt flag. Clear system interrupt enable
+ * (SINTEN): disable adapter to system interrupts.
+ */
+static void tms380tr_disable_interrupts(struct net_device *dev)
+{
+ outb(0, dev->base_addr + SIFACL);
+
+ return;
+}
+
+/*
+ * Set the adapter's interrupt flag. Set system interrupt enable
+ * (SINTEN): enable adapter to system interrupts.
+ */
+static void tms380tr_enable_interrupts(struct net_device *dev)
+{
+ outb(ACL_SINTEN, dev->base_addr + SIFACL);
+
+ return;
+}
+
+/*
+ * Put command in command queue, try to execute it.
+ */
+static void tms380tr_exec_cmd(struct net_device *dev, unsigned short Command)
+{
+ struct net_local *tp = (struct net_local *)dev->priv;
+
+ tp->CMDqueue |= Command;
+ tms380tr_chk_outstanding_cmds(dev);
+
+ return;
+}
+
+/*
+ * Gets skb from system, queues it and checks if it can be sent
+ */
+static int tms380tr_send_packet(struct sk_buff *skb, struct net_device *dev)
+{
+ struct net_local *tp = (struct net_local *)dev->priv;
+
+ if(dev->tbusy)
+ {
+ /*
+ * If we get here, some higher level has decided we are broken.
+ * There should really be a "kick me" function call instead.
+ *
+ * Resetting the token ring adapter takes a long time so just
+ * fake transmission time and go on trying. Our own timeout
+ * routine is in tms380tr_timer_chk()
+ */
+ dev->tbusy = 0;
+ dev->trans_start = jiffies;
+ return (1);
+ }
+
+ /*
+ * If some higher layer thinks we've missed an tx-done interrupt we
+ * are passed NULL.
+ */
+ if(skb == NULL)
+ return (0);
+
+ /*
+ * Block a timer-based transmit from overlapping. This could better be
+ * done with atomic_swap(1, dev->tbusy), but set_bit() works as well.
+ */
+ if(test_and_set_bit(0, (void*)&dev->tbusy) != 0)
+ {
+ printk("%s: Transmitter access conflict.\n", dev->name);
+ return (1);
+ }
+
+ if(tp->QueueSkb == 0)
+ return (1); /* Return with tbusy set: queue full */
+
+ tp->QueueSkb--;
+ skb_queue_tail(&tp->SendSkbQueue, skb);
+ tms380tr_hardware_send_packet(dev, tp);
+ if(tp->QueueSkb > 0)
+ dev->tbusy = 0;
+
+ return (0);
+}
+
+/*
+ * Move frames from internal skb queue into adapter tx queue
+ */
+static void tms380tr_hardware_send_packet(struct net_device *dev, struct net_local* tp)
+{
+ TPL *tpl;
+ short length;
+ unsigned char *buf, *newbuf;
+ struct sk_buff *skb;
+ int i;
+
+ for(;;)
+ {
+ /* Try to get a free TPL from the chain.
+ *
+ * NOTE: We *must* always leave one unused TPL in the chain,
+ * because otherwise the adapter might send frames twice.
+ */
+ if(tp->TplFree->NextTPLPtr->BusyFlag) /* No free TPL */
+ {
+ if (tms380tr_debug > 0)
+ printk(KERN_INFO "%s: No free TPL\n", dev->name);
+ return;
+ }
+
+ /* Send first buffer from queue */
+ skb = skb_dequeue(&tp->SendSkbQueue);
+ if(skb == NULL)
+ return;
+
+ tp->QueueSkb++;
+ /* Is buffer reachable for Busmaster-DMA? */
+ if(tp->CardType->type == TMS_ISA && virt_to_bus((void*)(((long) skb->data) + skb->len))
+ > ISA_MAX_ADDRESS)
+ {
+ /* Copy frame to local buffer */
+ i = tp->TplFree->TPLIndex;
+ length = skb->len;
+ buf = tp->LocalTxBuffers[i];
+ memcpy(buf, skb->data, length);
+ newbuf = buf;
+ }
+ else
+ {
+ /* Send direct from skb->data */
+ length = skb->len;
+ newbuf = skb->data;
+ }
+
+ /* Source address in packet? */
+ tms380tr_chk_src_addr(newbuf, dev->dev_addr);
+
+ tp->LastSendTime = jiffies;
+ tpl = tp->TplFree; /* Get the "free" TPL */
+ tpl->BusyFlag = 1; /* Mark TPL as busy */
+ tp->TplFree = tpl->NextTPLPtr;
+
+ /* Save the skb for delayed return of skb to system */
+ tpl->Skb = skb;
+ tpl->FragList[0].DataCount = (unsigned short) SWAPB(length);
+ tpl->FragList[0].DataAddr = htonl(virt_to_bus(newbuf));
+
+ /* Write the data length in the transmit list. */
+ tpl->FrameSize = (unsigned short) SWAPB(length);
+ tpl->MData = newbuf;
+
+ /* Transmit the frame and set the status values. */
+ tms380tr_write_tpl_status(tpl, TX_VALID | TX_START_FRAME
+ | TX_END_FRAME | TX_PASS_SRC_ADDR
+ | TX_FRAME_IRQ);
+
+ /* Let adapter send the frame. */
+ tms380tr_exec_sifcmd(dev, CMD_TX_VALID);
+ }
+
+ return;
+}
+
+/*
+ * Write the given value to the 'Status' field of the specified TPL.
+ * NOTE: This function should be used whenever the status of any TPL must be
+ * modified by the driver, because the compiler may otherwise change the
+ * order of instructions such that writing the TPL status may be executed at
+ * an undesireable time. When this function is used, the status is always
+ * written when the function is called.
+ */
+static void tms380tr_write_tpl_status(TPL *tpl, unsigned int Status)
+{
+ tpl->Status = Status;
+}
+
+static void tms380tr_chk_src_addr(unsigned char *frame, unsigned char *hw_addr)
+{
+ unsigned char SRBit;
+
+ if((((unsigned long)frame[8]) & ~0x80) != 0) /* Compare 4 bytes */
+ return;
+ if((unsigned short)frame[12] != 0) /* Compare 2 bytes */
+ return;
+
+ SRBit = frame[8] & 0x80;
+ memcpy(&frame[8], hw_addr, 6);
+ frame[8] |= SRBit;
+
+ return;
+}
+
+/*
+ * The timer routine: Check if adapter still open and working, reopen if not.
+ */
+static void tms380tr_timer_chk(unsigned long data)
+{
+ struct net_device *dev = (struct net_device*)data;
+ struct net_local *tp = (struct net_local*)dev->priv;
+
+ if(tp->HaltInProgress)
+ return;
+
+ tms380tr_chk_outstanding_cmds(dev);
+ if(time_before(tp->LastSendTime + SEND_TIMEOUT, jiffies)
+ && (tp->QueueSkb < MAX_TX_QUEUE || tp->TplFree != tp->TplBusy))
+ {
+ /* Anything to send, but stalled to long */
+ tp->LastSendTime = jiffies;
+ tms380tr_exec_cmd(dev, OC_CLOSE); /* Does reopen automatically */
+ }
+
+ tp->timer.expires = jiffies + 2*HZ;
+ add_timer(&tp->timer);
+
+ if(tp->AdapterOpenFlag || tp->ReOpenInProgress)
+ return;
+ tp->ReOpenInProgress = 1;
+ tms380tr_open_adapter(dev);
+
+ return;
+}
+
+/*
+ * The typical workload of the driver: Handle the network interface interrupts.
+ */
+static void tms380tr_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+{
+ struct net_device *dev = dev_id;
+ struct net_local *tp;
+ int ioaddr;
+ unsigned short irq_type;
+
+ if(dev == NULL)
+ {
+ printk("%s: irq %d for unknown device.\n", dev->name, irq);
+ return;
+ }
+
+ dev->interrupt = 1;
+
+ ioaddr = dev->base_addr;
+ tp = (struct net_local *)dev->priv;
+
+ irq_type = inw(ioaddr + SIFSTS);
+
+ while(irq_type & STS_SYSTEM_IRQ)
+ {
+ irq_type &= STS_IRQ_MASK;
+
+ if(!tms380tr_chk_ssb(tp, irq_type))
+ {
+ printk(KERN_INFO "%s: DATA LATE occurred\n", dev->name);
+ break;
+ }
+
+ switch(irq_type)
+ {
+ case STS_IRQ_RECEIVE_STATUS:
+ tms380tr_reset_interrupt(dev);
+ tms380tr_rcv_status_irq(dev);
+ break;
+
+ case STS_IRQ_TRANSMIT_STATUS:
+ /* Check if TRANSMIT.HALT command is complete */
+ if(tp->ssb.Parm[0] & COMMAND_COMPLETE)
+ {
+ tp->TransmitCommandActive = 0;
+ tp->TransmitHaltScheduled = 0;
+
+ /* Issue a new transmit command. */
+ tms380tr_exec_cmd(dev, OC_TRANSMIT);
+ }
+
+ tms380tr_reset_interrupt(dev);
+ tms380tr_tx_status_irq(dev);
+ break;
+
+ case STS_IRQ_COMMAND_STATUS:
+ /* The SSB contains status of last command
+ * other than receive/transmit.
+ */
+ tms380tr_cmd_status_irq(dev);
+ break;
+
+ case STS_IRQ_SCB_CLEAR:
+ /* The SCB is free for another command. */
+ tp->ScbInUse = 0;
+ tms380tr_chk_outstanding_cmds(dev);
+ break;
+
+ case STS_IRQ_RING_STATUS:
+ tms380tr_ring_status_irq(dev);
+ break;
+
+ case STS_IRQ_ADAPTER_CHECK:
+ tms380tr_chk_irq(dev);
+ break;
+
+ default:
+ printk(KERN_INFO "Unknown Token Ring IRQ\n");
+ break;
+ }
+
+ /* Reset system interrupt if not already done. */
+ if(irq_type != STS_IRQ_TRANSMIT_STATUS
+ && irq_type != STS_IRQ_RECEIVE_STATUS)
+ {
+ tms380tr_reset_interrupt(dev);
+ }
+
+ irq_type = inw(ioaddr + SIFSTS);
+ }
+
+ dev->interrupt = 0;
+
+ return;
+}
+
+/*
+ * Reset the INTERRUPT SYSTEM bit and issue SSB CLEAR command.
+ */
+static void tms380tr_reset_interrupt(struct net_device *dev)
+{
+ struct net_local *tp = (struct net_local *)dev->priv;
+ SSB *ssb = &tp->ssb;
+
+ /*
+ * [Workaround for "Data Late"]
+ * Set all fields of the SSB to well-defined values so we can
+ * check if the adapter has written the SSB.
+ */
+
+ ssb->STS = (unsigned short) -1;
+ ssb->Parm[0] = (unsigned short) -1;
+ ssb->Parm[1] = (unsigned short) -1;
+ ssb->Parm[2] = (unsigned short) -1;
+
+ /* Free SSB by issuing SSB_CLEAR command after reading IRQ code
+ * and clear STS_SYSTEM_IRQ bit: enable adapter for further interrupts.
+ */
+ tms380tr_exec_sifcmd(dev, CMD_SSB_CLEAR | CMD_CLEAR_SYSTEM_IRQ);
+
+ return;
+}
+
+/*
+ * Check if the SSB has actually been written by the adapter.
+ */
+static unsigned char tms380tr_chk_ssb(struct net_local *tp, unsigned short IrqType)
+{
+ SSB *ssb = &tp->ssb; /* The address of the SSB. */
+
+ /* C 0 1 2 INTERRUPT CODE
+ * - - - - --------------
+ * 1 1 1 1 TRANSMIT STATUS
+ * 1 1 1 1 RECEIVE STATUS
+ * 1 ? ? 0 COMMAND STATUS
+ * 0 0 0 0 SCB CLEAR
+ * 1 1 0 0 RING STATUS
+ * 0 0 0 0 ADAPTER CHECK
+ *
+ * 0 = SSB field not affected by interrupt
+ * 1 = SSB field is affected by interrupt
+ *
+ * C = SSB ADDRESS +0: COMMAND
+ * 0 = SSB ADDRESS +2: STATUS 0
+ * 1 = SSB ADDRESS +4: STATUS 1
+ * 2 = SSB ADDRESS +6: STATUS 2
+ */
+
+ /* Check if this interrupt does use the SSB. */
+
+ if(IrqType != STS_IRQ_TRANSMIT_STATUS
+ && IrqType != STS_IRQ_RECEIVE_STATUS
+ && IrqType != STS_IRQ_COMMAND_STATUS
+ && IrqType != STS_IRQ_RING_STATUS)
+ {
+ return (1); /* SSB not involved. */
+ }
+
+ /* Note: All fields of the SSB have been set to all ones (-1) after it
+ * has last been used by the software (see DriverIsr()).
+ *
+ * Check if the affected SSB fields are still unchanged.
+ */
+
+ if(ssb->STS == (unsigned short) -1)
+ return (0); /* Command field not yet available. */
+ if(IrqType == STS_IRQ_COMMAND_STATUS)
+ return (1); /* Status fields not always affected. */
+ if(ssb->Parm[0] == (unsigned short) -1)
+ return (0); /* Status 1 field not yet available. */
+ if(IrqType == STS_IRQ_RING_STATUS)
+ return (1); /* Status 2 & 3 fields not affected. */
+
+ /* Note: At this point, the interrupt is either TRANSMIT or RECEIVE. */
+ if(ssb->Parm[1] == (unsigned short) -1)
+ return (0); /* Status 2 field not yet available. */
+ if(ssb->Parm[2] == (unsigned short) -1)
+ return (0); /* Status 3 field not yet available. */
+
+ return (1); /* All SSB fields have been written by the adapter. */
+}
+
+/*
+ * Evaluates the command results status in the SSB status field.
+ */
+static void tms380tr_cmd_status_irq(struct net_device *dev)
+{
+ struct net_local *tp = (struct net_local *)dev->priv;
+ unsigned short ssb_cmd, ssb_parm_0;
+ unsigned short ssb_parm_1;
+ char *open_err = "Open error -";
+ char *code_err = "Open code -";
+
+ /* Copy the ssb values to local variables */
+ ssb_cmd = tp->ssb.STS;
+ ssb_parm_0 = tp->ssb.Parm[0];
+ ssb_parm_1 = tp->ssb.Parm[1];
+
+ if(ssb_cmd == OPEN)
+ {
+ tp->Sleeping = 0;
+ if(!tp->ReOpenInProgress)
+ wake_up_interruptible(&tp->wait_for_tok_int);
+
+ tp->OpenCommandIssued = 0;
+ tp->ScbInUse = 0;
+
+ if((ssb_parm_0 & 0x00FF) == GOOD_COMPLETION)
+ {
+ /* Success, the adapter is open. */
+ tp->LobeWireFaultLogged = 0;
+ tp->AdapterOpenFlag = 1;
+ tp->AdapterVirtOpenFlag = 1;
+ tp->TransmitCommandActive = 0;
+ tms380tr_exec_cmd(dev, OC_TRANSMIT);
+ tms380tr_exec_cmd(dev, OC_RECEIVE);
+
+ if(tp->ReOpenInProgress)
+ tp->ReOpenInProgress = 0;
+
+ return;
+ }
+ else /* The adapter did not open. */
+ {
+ if(ssb_parm_0 & NODE_ADDR_ERROR)
+ printk(KERN_INFO "%s: Node address error\n",
+ dev->name);
+ if(ssb_parm_0 & LIST_SIZE_ERROR)
+ printk(KERN_INFO "%s: List size error\n",
+ dev->name);
+ if(ssb_parm_0 & BUF_SIZE_ERROR)
+ printk(KERN_INFO "%s: Buffer size error\n",
+ dev->name);
+ if(ssb_parm_0 & TX_BUF_COUNT_ERROR)
+ printk(KERN_INFO "%s: Tx buffer count error\n",
+ dev->name);
+ if(ssb_parm_0 & INVALID_OPEN_OPTION)
+ printk(KERN_INFO "%s: Invalid open option\n",
+ dev->name);
+ if(ssb_parm_0 & OPEN_ERROR)
+ {
+ /* Show the open phase. */
+ switch(ssb_parm_0 & OPEN_PHASES_MASK)
+ {
+ case LOBE_MEDIA_TEST:
+ if(!tp->LobeWireFaultLogged)
+ {
+ tp->LobeWireFaultLogged = 1;
+ printk(KERN_INFO "%s: %s Lobe wire fault (check cable !).\n", dev->name, open_err);
+ }
+ tp->ReOpenInProgress = 1;
+ tp->AdapterOpenFlag = 0;
+ tp->AdapterVirtOpenFlag = 1;
+ tms380tr_open_adapter(dev);
+ return;
+
+ case PHYSICAL_INSERTION:
+ printk(KERN_INFO "%s: %s Physical insertion.\n", dev->name, open_err);
+ break;
+
+ case ADDRESS_VERIFICATION:
+ printk(KERN_INFO "%s: %s Address verification.\n", dev->name, open_err);
+ break;
+
+ case PARTICIPATION_IN_RING_POLL:
+ printk(KERN_INFO "%s: %s Participation in ring poll.\n", dev->name, open_err);
+ break;
+
+ case REQUEST_INITIALISATION:
+ printk(KERN_INFO "%s: %s Request initialisation.\n", dev->name, open_err);
+ break;
+
+ case FULLDUPLEX_CHECK:
+ printk(KERN_INFO "%s: %s Full duplex check.\n", dev->name, open_err);
+ break;
+
+ default:
+ printk(KERN_INFO "%s: %s Unknown open phase\n", dev->name, open_err);
+ break;
+ }
+
+ /* Show the open errors. */
+ switch(ssb_parm_0 & OPEN_ERROR_CODES_MASK)
+ {
+ case OPEN_FUNCTION_FAILURE:
+ printk(KERN_INFO "%s: %s OPEN_FUNCTION_FAILURE", dev->name, code_err);
+ tp->LastOpenStatus =
+ OPEN_FUNCTION_FAILURE;
+ break;
+
+ case OPEN_SIGNAL_LOSS:
+ printk(KERN_INFO "%s: %s OPEN_SIGNAL_LOSS\n", dev->name, code_err);
+ tp->LastOpenStatus =
+ OPEN_SIGNAL_LOSS;
+ break;
+
+ case OPEN_TIMEOUT:
+ printk(KERN_INFO "%s: %s OPEN_TIMEOUT\n", dev->name, code_err);
+ tp->LastOpenStatus =
+ OPEN_TIMEOUT;
+ break;
+
+ case OPEN_RING_FAILURE:
+ printk(KERN_INFO "%s: %s OPEN_RING_FAILURE\n", dev->name, code_err);
+ tp->LastOpenStatus =
+ OPEN_RING_FAILURE;
+ break;
+
+ case OPEN_RING_BEACONING:
+ printk(KERN_INFO "%s: %s OPEN_RING_BEACONING\n", dev->name, code_err);
+ tp->LastOpenStatus =
+ OPEN_RING_BEACONING;
+ break;
+
+ case OPEN_DUPLICATE_NODEADDR:
+ printk(KERN_INFO "%s: %s OPEN_DUPLICATE_NODEADDR\n", dev->name, code_err);
+ tp->LastOpenStatus =
+ OPEN_DUPLICATE_NODEADDR;
+ break;
+
+ case OPEN_REQUEST_INIT:
+ printk(KERN_INFO "%s: %s OPEN_REQUEST_INIT\n", dev->name, code_err);
+ tp->LastOpenStatus =
+ OPEN_REQUEST_INIT;
+ break;
+
+ case OPEN_REMOVE_RECEIVED:
+ printk(KERN_INFO "%s: %s OPEN_REMOVE_RECEIVED", dev->name, code_err);
+ tp->LastOpenStatus =
+ OPEN_REMOVE_RECEIVED;
+ break;
+
+ case OPEN_FULLDUPLEX_SET:
+ printk(KERN_INFO "%s: %s OPEN_FULLDUPLEX_SET\n", dev->name, code_err);
+ tp->LastOpenStatus =
+ OPEN_FULLDUPLEX_SET;
+ break;
+
+ default:
+ printk(KERN_INFO "%s: %s Unknown open err code", dev->name, code_err);
+ tp->LastOpenStatus =
+ OPEN_FUNCTION_FAILURE;
+ break;
+ }
+ }
+
+ tp->AdapterOpenFlag = 0;
+ tp->AdapterVirtOpenFlag = 0;
+
+ return;
+ }
+ }
+ else
+ {
+ if(ssb_cmd != READ_ERROR_LOG)
+ return;
+
+ /* Add values from the error log table to the MAC
+ * statistics counters and update the errorlogtable
+ * memory.
+ */
+ tp->MacStat.line_errors += tp->errorlogtable.Line_Error;
+ tp->MacStat.burst_errors += tp->errorlogtable.Burst_Error;
+ tp->MacStat.A_C_errors += tp->errorlogtable.ARI_FCI_Error;
+ tp->MacStat.lost_frames += tp->errorlogtable.Lost_Frame_Error;
+ tp->MacStat.recv_congest_count += tp->errorlogtable.Rx_Congest_Error;
+ tp->MacStat.rx_errors += tp->errorlogtable.Rx_Congest_Error;
+ tp->MacStat.frame_copied_errors += tp->errorlogtable.Frame_Copied_Error;
+ tp->MacStat.token_errors += tp->errorlogtable.Token_Error;
+ tp->MacStat.dummy1 += tp->errorlogtable.DMA_Bus_Error;
+ tp->MacStat.dummy1 += tp->errorlogtable.DMA_Parity_Error;
+ tp->MacStat.abort_delimiters += tp->errorlogtable.AbortDelimeters;
+ tp->MacStat.frequency_errors += tp->errorlogtable.Frequency_Error;
+ tp->MacStat.internal_errors += tp->errorlogtable.Internal_Error;
+ }
+
+ return;
+}
+
+/*
+ * The inverse routine to tms380tr_open().
+ */
+static int tms380tr_close(struct net_device *dev)
+{
+ struct net_local *tp = (struct net_local *)dev->priv;
+
+ dev->tbusy = 1;
+ dev->start = 0;
+
+ del_timer(&tp->timer);
+
+ /* Flush the Tx and disable Rx here. */
+
+ tp->HaltInProgress = 1;
+ tms380tr_exec_cmd(dev, OC_CLOSE);
+ tp->timer.expires = jiffies + 1*HZ;
+ tp->timer.function = tms380tr_timer_end_wait;
+ tp->timer.data = (unsigned long)dev;
+ add_timer(&tp->timer);
+
+ tms380tr_enable_interrupts(dev);
+
+ tp->Sleeping = 1;
+ interruptible_sleep_on(&tp->wait_for_tok_int);
+ tp->TransmitCommandActive = 0;
+
+ del_timer(&tp->timer);
+ tms380tr_disable_interrupts(dev);
+
+ if(dev->dma > 0)
+ {
+ unsigned long flags=claim_dma_lock();
+ disable_dma(dev->dma);
+ release_dma_lock(flags);
+ }
+
+ outw(0xFF00, dev->base_addr + SIFCMD);
+ if(dev->dma > 0)
+ outb(0xff, dev->base_addr + POSREG);
+
+#ifdef MODULE
+ MOD_DEC_USE_COUNT;
+#endif
+
+ tms380tr_cancel_tx_queue(tp);
+
+ return (0);
+}
+
+/*
+ * Get the current statistics. This may be called with the card open
+ * or closed.
+ */
+static struct enet_statistics *tms380tr_get_stats(struct net_device *dev)
+{
+ struct net_local *tp = (struct net_local *)dev->priv;
+
+ return ((struct enet_statistics *)&tp->MacStat);
+}
+
+/*
+ * Set or clear the multicast filter for this adapter.
+ */
+static void tms380tr_set_multicast_list(struct net_device *dev)
+{
+ struct net_local *tp = (struct net_local *)dev->priv;
+ unsigned int OpenOptions;
+
+ OpenOptions = tp->ocpl.OPENOptions &
+ ~(PASS_ADAPTER_MAC_FRAMES
+ | PASS_ATTENTION_FRAMES
+ | PASS_BEACON_MAC_FRAMES
+ | COPY_ALL_MAC_FRAMES
+ | COPY_ALL_NON_MAC_FRAMES);
+
+ tp->ocpl.FunctAddr = 0;
+
+ if(dev->flags & IFF_PROMISC)
+ /* Enable promiscuous mode */
+ OpenOptions |= COPY_ALL_NON_MAC_FRAMES |
+ COPY_ALL_MAC_FRAMES;
+ else
+ {
+ if(dev->flags & IFF_ALLMULTI)
+ {
+ /* Disable promiscuous mode, use normal mode. */
+ tp->ocpl.FunctAddr = 0xFFFFFFFF;
+
+ }
+ else
+ {
+ int i;
+ struct dev_mc_list *mclist = dev->mc_list;
+ for (i=0; i< dev->mc_count; i++)
+ {
+ ((char *)(&tp->ocpl.FunctAddr))[0] |=
+ mclist->dmi_addr[2];
+ ((char *)(&tp->ocpl.FunctAddr))[1] |=
+ mclist->dmi_addr[3];
+ ((char *)(&tp->ocpl.FunctAddr))[2] |=
+ mclist->dmi_addr[4];
+ ((char *)(&tp->ocpl.FunctAddr))[3] |=
+ mclist->dmi_addr[5];
+ mclist = mclist->next;
+ }
+ }
+ tms380tr_exec_cmd(dev, OC_SET_FUNCT_ADDR);
+ }
+
+ tp->ocpl.OPENOptions = OpenOptions;
+ tms380tr_exec_cmd(dev, OC_MODIFY_OPEN_PARMS);
+ return;
+}
+
+/*
+ * Wait for some time (microseconds)
+ */
+static void tms380tr_wait(unsigned long time)
+{
+#if 0
+ long tmp;
+
+ tmp = jiffies + time/(1000000/HZ);
+ do {
+ current->state = TASK_INTERRUPTIBLE;
+ tmp = schedule_timeout(tmp);
+ } while(time_after(tmp, jiffies));
+#else
+ udelay(time);
+#endif
+ return;
+}
+
+/*
+ * Write a command value to the SIFCMD register
+ */
+static void tms380tr_exec_sifcmd(struct net_device *dev, unsigned int WriteValue)
+{
+ int ioaddr = dev->base_addr;
+ unsigned short cmd;
+ unsigned short SifStsValue;
+ unsigned long loop_counter;
+
+ WriteValue = ((WriteValue ^ CMD_SYSTEM_IRQ) | CMD_INTERRUPT_ADAPTER);
+ cmd = (unsigned short)WriteValue;
+ loop_counter = 0,5 * 800000;
+ do {
+ SifStsValue = inw(ioaddr + SIFSTS);
+ } while((SifStsValue & CMD_INTERRUPT_ADAPTER) && loop_counter--);
+ outw(cmd, ioaddr + SIFCMD);
+
+ return;
+}
+
+/*
+ * Processes adapter hardware reset, halts adapter and downloads firmware,
+ * clears the halt bit.
+ */
+static int tms380tr_reset_adapter(struct net_device *dev)
+{
+ struct net_local *tp = (struct net_local *)dev->priv;
+ unsigned short *fw_ptr = (unsigned short *)&tms380tr_code;
+ unsigned short count, c;
+ int ioaddr = dev->base_addr;
+
+ /* Hardware adapter reset */
+ outw(ACL_ARESET, ioaddr + SIFACL);
+ tms380tr_wait(40);
+
+ c = inw(ioaddr + SIFACL);
+ tms380tr_wait(20);
+
+ if(dev->dma == 0) /* For PCI adapters */
+ {
+ c &= ~(ACL_SPEED4 | ACL_SPEED16); /* Clear bits */
+ if(tp->DataRate == SPEED_4)
+ c |= ACL_SPEED4; /* Set 4Mbps */
+ else
+ c |= ACL_SPEED16; /* Set 16Mbps */
+ }
+
+ /* In case a command is pending - forget it */
+ tp->ScbInUse = 0;
+
+ c &= ~ACL_ARESET; /* Clear adapter reset bit */
+ c |= ACL_CPHALT; /* Halt adapter CPU, allow download */
+ c &= ~ACL_PSDMAEN; /* Clear pseudo dma bit */
+ outw(c, ioaddr + SIFACL);
+ tms380tr_wait(40);
+
+ /* Download firmware via DIO interface: */
+ do {
+ /* Download first address part */
+ outw(*fw_ptr, ioaddr + SIFADX);
+ fw_ptr++;
+
+ /* Download second address part */
+ outw(*fw_ptr, ioaddr + SIFADD);
+ fw_ptr++;
+
+ if((count = *fw_ptr) != 0) /* Load loop counter */
+ {
+ fw_ptr++; /* Download block data */
+ for(; count > 0; count--)
+ {
+ outw(*fw_ptr, ioaddr + SIFINC);
+ fw_ptr++;
+ }
+ }
+ else /* Stop, if last block downloaded */
+ {
+ c = inw(ioaddr + SIFACL);
+ c &= (~ACL_CPHALT | ACL_SINTEN);
+
+ /* Clear CPHALT and start BUD */
+ outw(c, ioaddr + SIFACL);
+ return (1);
+ }
+ } while(count == 0);
+
+ return (-1);
+}
+
+/*
+ * Starts bring up diagnostics of token ring adapter and evaluates
+ * diagnostic results.
+ */
+static int tms380tr_bringup_diags(struct net_device *dev)
+{
+ int loop_cnt, retry_cnt;
+ unsigned short Status;
+ int ioaddr = dev->base_addr;
+
+ tms380tr_wait(HALF_SECOND);
+ tms380tr_exec_sifcmd(dev, EXEC_SOFT_RESET);
+ tms380tr_wait(HALF_SECOND);
+
+ retry_cnt = BUD_MAX_RETRIES; /* maximal number of retrys */
+
+ do {
+ retry_cnt--;
+ if(tms380tr_debug > 3)
+ printk(KERN_INFO "BUD-Status: ");
+ loop_cnt = BUD_MAX_LOOPCNT; /* maximum: three seconds*/
+ do { /* Inspect BUD results */
+ loop_cnt--;
+ tms380tr_wait(HALF_SECOND);
+ Status = inw(ioaddr + SIFSTS);
+ Status &= STS_MASK;
+
+ if(tms380tr_debug > 3)
+ printk(KERN_INFO " %04X \n", Status);
+ /* BUD successfully completed */
+ if(Status == STS_INITIALIZE)
+ return (1);
+ /* Unrecoverable hardware error, BUD not completed? */
+ } while((loop_cnt > 0) && ((Status & (STS_ERROR | STS_TEST))
+ != (STS_ERROR | STS_TEST)));
+
+ /* Error preventing completion of BUD */
+ if(retry_cnt > 0)
+ {
+ printk(KERN_INFO "%s: Adapter Software Reset.\n",
+ dev->name);
+ tms380tr_exec_sifcmd(dev, EXEC_SOFT_RESET);
+ tms380tr_wait(HALF_SECOND);
+ }
+ } while(retry_cnt > 0);
+
+ Status = inw(ioaddr + SIFSTS);
+ Status &= STS_ERROR_MASK; /* Hardware error occurred! */
+
+ printk(KERN_INFO "%s: Bring Up Diagnostics Error (%04X) occurred\n",
+ dev->name, Status);
+
+ return (-1);
+}
+
+/*
+ * Copy initialisation data to adapter memory, beginning at address
+ * 1:0A00; Starting DMA test and evaluating result bits.
+ */
+static int tms380tr_init_adapter(struct net_device *dev)
+{
+ struct net_local *tp = (struct net_local *)dev->priv;
+
+ const unsigned char SCB_Test[6] = {0x00, 0x00, 0xC1, 0xE2, 0xD4, 0x8B};
+ const unsigned char SSB_Test[8] = {0xFF, 0xFF, 0xD1, 0xD7,
+ 0xC5, 0xD9, 0xC3, 0xD4};
+ void *ptr = (void *)&tp->ipb;
+ unsigned short *ipb_ptr = (unsigned short *)ptr;
+ unsigned char *cb_ptr = (unsigned char *) &tp->scb;
+ unsigned char *sb_ptr = (unsigned char *) &tp->ssb;
+ unsigned short Status;
+ int i, loop_cnt, retry_cnt;
+ int ioaddr = dev->base_addr;
+
+ /* Normalize: byte order low/high, word order high/low! (only IPB!) */
+ tp->ipb.SCB_Addr = SWAPW(virt_to_bus(&tp->scb));
+ tp->ipb.SSB_Addr = SWAPW(virt_to_bus(&tp->ssb));
+
+ /* Maximum: three initialization retries */
+ retry_cnt = INIT_MAX_RETRIES;
+
+ do {
+ retry_cnt--;
+
+ /* Transfer initialization block */
+ outw(0x0001, ioaddr + SIFADX);
+
+ /* To address 0001:0A00 of adapter RAM */
+ outw(0x0A00, ioaddr + SIFADD);
+
+ /* Write 11 words to adapter RAM */
+ for(i = 0; i < 11; i++)
+ outw(ipb_ptr[i], ioaddr + SIFINC);
+
+ /* Execute SCB adapter command */
+ tms380tr_exec_sifcmd(dev, CMD_EXECUTE);
+
+ loop_cnt = INIT_MAX_LOOPCNT; /* Maximum: 11 seconds */
+
+ /* While remaining retries, no error and not completed */
+ do {
+ Status = 0;
+ loop_cnt--;
+ tms380tr_wait(HALF_SECOND);
+
+ /* Mask interesting status bits */
+ Status = inw(ioaddr + SIFSTS);
+ Status &= STS_MASK;
+ } while(((Status &(STS_INITIALIZE | STS_ERROR | STS_TEST)) != 0)
+ && ((Status & STS_ERROR) == 0) && (loop_cnt != 0));
+
+ if((Status & (STS_INITIALIZE | STS_ERROR | STS_TEST)) == 0)
+ {
+ /* Initialization completed without error */
+ i = 0;
+ do { /* Test if contents of SCB is valid */
+ if(SCB_Test[i] != *(cb_ptr + i))
+ /* DMA data error: wrong data in SCB */
+ return (-1);
+ i++;
+ } while(i < 6);
+
+ i = 0;
+ do { /* Test if contents of SSB is valid */
+ if(SSB_Test[i] != *(sb_ptr + i))
+ /* DMA data error: wrong data in SSB */
+ return (-1);
+ i++;
+ } while (i < 8);
+
+ return (1); /* Adapter successfully initialized */
+ }
+ else
+ {
+ if((Status & STS_ERROR) != 0)
+ {
+ /* Initialization error occurred */
+ Status = inw(ioaddr + SIFSTS);
+ Status &= STS_ERROR_MASK;
+ /* ShowInitialisationErrorCode(Status); */
+ return (-1); /* Unrecoverable error */
+ }
+ else
+ {
+ if(retry_cnt > 0)
+ {
+ /* Reset adapter and try init again */
+ tms380tr_exec_sifcmd(dev, EXEC_SOFT_RESET);
+ tms380tr_wait(HALF_SECOND);
+ }
+ }
+ }
+ } while(retry_cnt > 0);
+
+ return (-1);
+}
+
+/*
+ * Check for outstanding commands in command queue and tries to execute
+ * command immediately. Corresponding command flag in command queue is cleared.
+ */
+static void tms380tr_chk_outstanding_cmds(struct net_device *dev)
+{
+ struct net_local *tp = (struct net_local *)dev->priv;
+ unsigned long Addr = 0;
+ unsigned char i = 0;
+
+ if(tp->CMDqueue == 0)
+ return; /* No command execution */
+
+ /* If SCB in use: no command */
+ if(tp->ScbInUse == 1)
+ return;
+
+ /* Check if adapter is opened, avoiding COMMAND_REJECT
+ * interrupt by the adapter!
+ */
+ if(tp->AdapterOpenFlag == 0)
+ {
+ if(tp->CMDqueue & OC_OPEN)
+ {
+ /* Execute OPEN command */
+ tp->CMDqueue ^= OC_OPEN;
+
+ /* Copy the 18 bytes of the product ID */
+ while((tp->CardType->name[i] != '\0')
+ && (i < PROD_ID_SIZE))
+ {
+ tp->ProductID[i] = tp->CardType->name[i];
+ i++;
+ }
+
+ Addr = htonl(virt_to_bus(&tp->ocpl));
+ tp->scb.Parm[0] = LOWORD(Addr);
+ tp->scb.Parm[1] = HIWORD(Addr);
+ tp->scb.CMD = OPEN;
+ }
+ else
+ /* No OPEN command queued, but adapter closed. Note:
+ * We'll try to re-open the adapter in DriverPoll()
+ */
+ return; /* No adapter command issued */
+ }
+ else
+ {
+ /* Adapter is open; evaluate command queue: try to execute
+ * outstanding commands (depending on priority!) CLOSE
+ * command queued
+ */
+ if(tp->CMDqueue & OC_CLOSE)
+ {
+ tp->CMDqueue ^= OC_CLOSE;
+ tp->AdapterOpenFlag = 0;
+ tp->scb.Parm[0] = 0; /* Parm[0], Parm[1] are ignored */
+ tp->scb.Parm[1] = 0; /* but should be set to zero! */
+ tp->scb.CMD = CLOSE;
+ if(!tp->HaltInProgress)
+ tp->CMDqueue |= OC_OPEN; /* re-open adapter */
+ else
+ tp->CMDqueue = 0; /* no more commands */
+ }
+ else
+ {
+ if(tp->CMDqueue & OC_RECEIVE)
+ {
+ tp->CMDqueue ^= OC_RECEIVE;
+ Addr = htonl(virt_to_bus(tp->RplHead));
+ tp->scb.Parm[0] = LOWORD(Addr);
+ tp->scb.Parm[1] = HIWORD(Addr);
+ tp->scb.CMD = RECEIVE;
+ }
+ else
+ {
+ if(tp->CMDqueue & OC_TRANSMIT_HALT)
+ {
+ /* NOTE: TRANSMIT.HALT must be checked
+ * before TRANSMIT.
+ */
+ tp->CMDqueue ^= OC_TRANSMIT_HALT;
+ tp->scb.CMD = TRANSMIT_HALT;
+
+ /* Parm[0] and Parm[1] are ignored
+ * but should be set to zero!
+ */
+ tp->scb.Parm[0] = 0;
+ tp->scb.Parm[1] = 0;
+ }
+ else
+ {
+ if(tp->CMDqueue & OC_TRANSMIT)
+ {
+ /* NOTE: TRANSMIT must be
+ * checked after TRANSMIT.HALT
+ */
+ if(tp->TransmitCommandActive)
+ {
+ if(!tp->TransmitHaltScheduled)
+ {
+ tp->TransmitHaltScheduled = 1;
+ tms380tr_exec_cmd(dev, OC_TRANSMIT_HALT) ;
+ }
+ tp->TransmitCommandActive = 0;
+ return;
+ }
+
+ tp->CMDqueue ^= OC_TRANSMIT;
+ tms380tr_cancel_tx_queue(tp);
+ Addr = htonl(virt_to_bus(tp->TplBusy));
+ tp->scb.Parm[0] = LOWORD(Addr);
+ tp->scb.Parm[1] = HIWORD(Addr);
+ tp->scb.CMD = TRANSMIT;
+ tp->TransmitCommandActive = 1;
+ }
+ else
+ {
+ if(tp->CMDqueue & OC_MODIFY_OPEN_PARMS)
+ {
+ tp->CMDqueue ^= OC_MODIFY_OPEN_PARMS;
+ tp->scb.Parm[0] = tp->ocpl.OPENOptions; /* new OPEN options*/
+ tp->scb.Parm[0] |= ENABLE_FULL_DUPLEX_SELECTION;
+ tp->scb.Parm[1] = 0; /* is ignored but should be zero */
+ tp->scb.CMD = MODIFY_OPEN_PARMS;
+ }
+ else
+ {
+ if(tp->CMDqueue & OC_SET_FUNCT_ADDR)
+ {
+ tp->CMDqueue ^= OC_SET_FUNCT_ADDR;
+ tp->scb.Parm[0] = LOWORD(tp->ocpl.FunctAddr);
+ tp->scb.Parm[1] = HIWORD(tp->ocpl.FunctAddr);
+ tp->scb.CMD = SET_FUNCT_ADDR;
+ }
+ else
+ {
+ if(tp->CMDqueue & OC_SET_GROUP_ADDR)
+ {
+ tp->CMDqueue ^= OC_SET_GROUP_ADDR;
+ tp->scb.Parm[0] = LOWORD(tp->ocpl.GroupAddr);
+ tp->scb.Parm[1] = HIWORD(tp->ocpl.GroupAddr);
+ tp->scb.CMD = SET_GROUP_ADDR;
+ }
+ else
+ {
+ if(tp->CMDqueue & OC_READ_ERROR_LOG)
+ {
+ tp->CMDqueue ^= OC_READ_ERROR_LOG;
+ Addr = htonl(virt_to_bus(&tp->errorlogtable));
+ tp->scb.Parm[0] = LOWORD(Addr);
+ tp->scb.Parm[1] = HIWORD(Addr);
+ tp->scb.CMD = READ_ERROR_LOG;
+ }
+ else
+ {
+ printk(KERN_WARNING "CheckForOutstandingCommand: unknown Command\n");
+ tp->CMDqueue = 0;
+ return;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ tp->ScbInUse = 1; /* Set semaphore: SCB in use. */
+
+ /* Execute SCB and generate IRQ when done. */
+ tms380tr_exec_sifcmd(dev, CMD_EXECUTE | CMD_SCB_REQUEST);
+
+ return;
+}
+
+/*
+ * IRQ conditions: signal loss on the ring, transmit or receive of beacon
+ * frames (disabled if bit 1 of OPEN option is set); report error MAC
+ * frame transmit (disabled if bit 2 of OPEN option is set); open or short
+ * circuit fault on the lobe is detected; remove MAC frame received;
+ * error counter overflow (255); opened adapter is the only station in ring.
+ * After some of the IRQs the adapter is closed!
+ */
+static void tms380tr_ring_status_irq(struct net_device *dev)
+{
+ struct net_local *tp = (struct net_local *)dev->priv;
+
+ tp->CurrentRingStatus = SWAPB(tp->ssb.Parm[0]);
+
+ /* First: fill up statistics */
+ if(tp->ssb.Parm[0] & SIGNAL_LOSS)
+ {
+ printk(KERN_INFO "%s: Signal Loss\n", dev->name);
+ tp->MacStat.line_errors++;
+ }
+
+ /* Adapter is closed, but initialized */
+ if(tp->ssb.Parm[0] & LOBE_WIRE_FAULT)
+ {
+ printk(KERN_INFO "%s: Lobe Wire Fault, Reopen Adapter\n",
+ dev->name);
+ tp->MacStat.line_errors++;
+ }
+
+ if(tp->ssb.Parm[0] & RING_RECOVERY)
+ printk(KERN_INFO "%s: Ring Recovery\n", dev->name);
+
+ /* Counter overflow: read error log */
+ if(tp->ssb.Parm[0] & COUNTER_OVERFLOW)
+ {
+ printk(KERN_INFO "%s: Counter Overflow\n", dev->name);
+ tms380tr_exec_cmd(dev, OC_READ_ERROR_LOG);
+ }
+
+ /* Adapter is closed, but initialized */
+ if(tp->ssb.Parm[0] & REMOVE_RECEIVED)
+ printk(KERN_INFO "%s: Remove Received, Reopen Adapter\n",
+ dev->name);
+
+ /* Adapter is closed, but initialized */
+ if(tp->ssb.Parm[0] & AUTO_REMOVAL_ERROR)
+ printk(KERN_INFO "%s: Auto Removal Error, Reopen Adapter\n",
+ dev->name);
+
+ if(tp->ssb.Parm[0] & HARD_ERROR)
+ printk(KERN_INFO "%s: Hard Error\n", dev->name);
+
+ if(tp->ssb.Parm[0] & SOFT_ERROR)
+ printk(KERN_INFO "%s: Soft Error\n", dev->name);
+
+ if(tp->ssb.Parm[0] & TRANSMIT_BEACON)
+ printk(KERN_INFO "%s: Transmit Beacon\n", dev->name);
+
+ if(tp->ssb.Parm[0] & SINGLE_STATION)
+ printk(KERN_INFO "%s: Single Station\n", dev->name);
+
+ /* Check if adapter has been closed */
+ if(tp->ssb.Parm[0] & ADAPTER_CLOSED)
+ {
+ printk(KERN_INFO "%s: Adapter closed (Reopening),"
+ "QueueSkb %d, CurrentRingStat %x\n",
+ dev->name, tp->QueueSkb, tp->CurrentRingStatus);
+ tp->AdapterOpenFlag = 0;
+ tms380tr_open_adapter(dev);
+ }
+
+ return;
+}
+
+/*
+ * Issued if adapter has encountered an unrecoverable hardware
+ * or software error.
+ */
+static void tms380tr_chk_irq(struct net_device *dev)
+{
+ int i;
+ unsigned short AdapterCheckBlock[4];
+ unsigned short ioaddr = dev->base_addr;
+ struct net_local *tp = (struct net_local *)dev->priv;
+
+ tp->AdapterOpenFlag = 0; /* Adapter closed now */
+
+ /* Page number of adapter memory */
+ outw(0x0001, ioaddr + SIFADX);
+ /* Address offset */
+ outw(CHECKADDR, ioaddr + SIFADR);
+
+ /* Reading 8 byte adapter check block. */
+ for(i = 0; i < 4; i++)
+ AdapterCheckBlock[i] = inw(ioaddr + SIFINC);
+
+ if(tms380tr_debug > 3)
+ {
+ printk("%s: AdapterCheckBlock: ", dev->name);
+ for (i = 0; i < 4; i++)
+ printk("%04X", AdapterCheckBlock[i]);
+ printk("\n");
+ }
+
+ switch(AdapterCheckBlock[0])
+ {
+ case DIO_PARITY:
+ printk(KERN_INFO "%s: DIO parity error\n", dev->name);
+ break;
+
+ case DMA_READ_ABORT:
+ printk(KERN_INFO "%s DMA read operation aborted:\n",
+ dev->name);
+ switch (AdapterCheckBlock[1])
+ {
+ case 0:
+ printk(KERN_INFO "Timeout\n");
+ printk(KERN_INFO "Address: %04X %04X\n",
+ AdapterCheckBlock[2],
+ AdapterCheckBlock[3]);
+ break;
+
+ case 1:
+ printk(KERN_INFO "Parity error\n");
+ printk(KERN_INFO "Address: %04X %04X\n",
+ AdapterCheckBlock[2],
+ AdapterCheckBlock[3]);
+ break;
+
+ case 2:
+ printk(KERN_INFO "Bus error\n");
+ printk(KERN_INFO "Address: %04X %04X\n",
+ AdapterCheckBlock[2],
+ AdapterCheckBlock[3]);
+ break;
+
+ default:
+ printk(KERN_INFO "Unknown error.\n");
+ break;
+ }
+ break;
+
+ case DMA_WRITE_ABORT:
+ printk(KERN_INFO "%s: DMA write operation aborted: \n",
+ dev->name);
+ switch (AdapterCheckBlock[1])
+ {
+ case 0:
+ printk(KERN_INFO "Timeout\n");
+ printk(KERN_INFO "Address: %04X %04X\n",
+ AdapterCheckBlock[2],
+ AdapterCheckBlock[3]);
+ break;
+
+ case 1:
+ printk(KERN_INFO "Parity error\n");
+ printk(KERN_INFO "Address: %04X %04X\n",
+ AdapterCheckBlock[2],
+ AdapterCheckBlock[3]);
+ break;
+
+ case 2:
+ printk(KERN_INFO "Bus error\n");
+ printk(KERN_INFO "Address: %04X %04X\n",
+ AdapterCheckBlock[2],
+ AdapterCheckBlock[3]);
+ break;
+
+ default:
+ printk(KERN_INFO "Unknown error.\n");
+ break;
+ }
+ break;
+
+ case ILLEGAL_OP_CODE:
+ printk("%s: Illegal operation code in firmware\n",
+ dev->name);
+ /* Parm[0-3]: adapter internal register R13-R15 */
+ break;
+
+ case PARITY_ERRORS:
+ printk("%s: Adapter internal bus parity error\n",
+ dev->name);
+ /* Parm[0-3]: adapter internal register R13-R15 */
+ break;
+
+ case RAM_DATA_ERROR:
+ printk("%s: RAM data error\n", dev->name);
+ /* Parm[0-1]: MSW/LSW address of RAM location. */
+ break;
+
+ case RAM_PARITY_ERROR:
+ printk("%s: RAM parity error\n", dev->name);
+ /* Parm[0-1]: MSW/LSW address of RAM location. */
+ break;
+
+ case RING_UNDERRUN:
+ printk("%s: Internal DMA underrun detected\n",
+ dev->name);
+ break;
+
+ case INVALID_IRQ:
+ printk("%s: Unrecognized interrupt detected\n",
+ dev->name);
+ /* Parm[0-3]: adapter internal register R13-R15 */
+ break;
+
+ case INVALID_ERROR_IRQ:
+ printk("%s: Unrecognized error interrupt detected\n",
+ dev->name);
+ /* Parm[0-3]: adapter internal register R13-R15 */
+ break;
+
+ case INVALID_XOP:
+ printk("%s: Unrecognized XOP request detected\n",
+ dev->name);
+ /* Parm[0-3]: adapter internal register R13-R15 */
+ break;
+
+ default:
+ printk("%s: Unknown status", dev->name);
+ break;
+ }
+
+ if(tms380tr_chipset_init(dev) == 1)
+ {
+ /* Restart of firmware successful */
+ tp->AdapterOpenFlag = 1;
+ }
+
+ return;
+}
+
+/*
+ * Internal adapter pointer to RAM data are copied from adapter into
+ * host system.
+ */
+static int tms380tr_read_ptr(struct net_device *dev)
+{
+ struct net_local *tp = (struct net_local *)dev->priv;
+ unsigned short adapterram;
+
+ tms380tr_read_ram(dev, (unsigned char *)&tp->intptrs.BurnedInAddrPtr,
+ ADAPTER_INT_PTRS, 16);
+ tms380tr_read_ram(dev, (unsigned char *)&adapterram,
+ (unsigned short)SWAPB(tp->intptrs.AdapterRAMPtr), 2);
+
+ return SWAPB(adapterram);
+}
+
+/*
+ * Reads a number of bytes from adapter to system memory.
+ */
+static void tms380tr_read_ram(struct net_device *dev, unsigned char *Data,
+ unsigned short Address, int Length)
+{
+ int i;
+ unsigned short old_sifadx, old_sifadr, InWord;
+ unsigned short ioaddr = dev->base_addr;
+
+ /* Save the current values */
+ old_sifadx = inw(ioaddr + SIFADX);
+ old_sifadr = inw(ioaddr + SIFADR);
+
+ /* Page number of adapter memory */
+ outw(0x0001, ioaddr + SIFADX);
+ /* Address offset in adapter RAM */
+ outw(Address, ioaddr + SIFADR);
+
+ /* Copy len byte from adapter memory to system data area. */
+ i = 0;
+ for(;;)
+ {
+ InWord = inw(ioaddr + SIFINC);
+
+ *(Data + i) = HIBYTE(InWord); /* Write first byte */
+ if(++i == Length) /* All is done break */
+ break;
+
+ *(Data + i) = LOBYTE(InWord); /* Write second byte */
+ if (++i == Length) /* All is done break */
+ break;
+ }
+
+ /* Restore original values */
+ outw(old_sifadx, ioaddr + SIFADX);
+ outw(old_sifadr, ioaddr + SIFADR);
+
+ return;
+}
+
+/*
+ * Reads MAC address from adapter ROM.
+ */
+static void tms380tr_read_addr(struct net_device *dev, unsigned char *Address)
+{
+ int i, In;
+ unsigned short ioaddr = dev->base_addr;
+
+ /* Address: 0000:0000 */
+ outw(0, ioaddr + SIFADX);
+ outw(0, ioaddr + SIFADR);
+
+ /* Read six byte MAC address data */
+ for(i = 0; i < 6; i++)
+ {
+ In = inw(ioaddr + SIFINC);
+ *(Address + i) = (unsigned char)(In >> 8);
+ }
+
+ return;
+}
+
+/*
+ * Cancel all queued packets in the transmission queue.
+ */
+static void tms380tr_cancel_tx_queue(struct net_local* tp)
+{
+ TPL *tpl;
+ struct sk_buff *skb;
+
+ /*
+ * NOTE: There must not be an active TRANSMIT command pending, when
+ * this function is called.
+ */
+ if(tp->TransmitCommandActive)
+ return;
+
+ for(;;)
+ {
+ tpl = tp->TplBusy;
+ if(!tpl->BusyFlag)
+ break;
+ /* "Remove" TPL from busy list. */
+ tp->TplBusy = tpl->NextTPLPtr;
+ tms380tr_write_tpl_status(tpl, 0); /* Clear VALID bit */
+ tpl->BusyFlag = 0; /* "free" TPL */
+
+ printk(KERN_INFO "Cancel tx (%08lXh).\n", (unsigned long)tpl);
+
+ dev_kfree_skb(tpl->Skb);
+ }
+
+ for(;;)
+ {
+ skb = skb_dequeue(&tp->SendSkbQueue);
+ if(skb == NULL)
+ break;
+ tp->QueueSkb++;
+ dev_kfree_skb(skb);
+ }
+
+ return;
+}
+
+/*
+ * This function is called whenever a transmit interrupt is generated by the
+ * adapter. For a command complete interrupt, it is checked if we have to
+ * issue a new transmit command or not.
+ */
+static void tms380tr_tx_status_irq(struct net_device *dev)
+{
+ struct net_local *tp = (struct net_local *)dev->priv;
+ unsigned char HighByte, HighAc, LowAc;
+ TPL *tpl;
+
+ /* NOTE: At this point the SSB from TRANSMIT STATUS is no longer
+ * available, because the CLEAR SSB command has already been issued.
+ *
+ * Process all complete transmissions.
+ */
+
+ for(;;)
+ {
+ tpl = tp->TplBusy;
+ if(!tpl->BusyFlag || (tpl->Status
+ & (TX_VALID | TX_FRAME_COMPLETE))
+ != TX_FRAME_COMPLETE)
+ {
+ break;
+ }
+
+ /* "Remove" TPL from busy list. */
+ tp->TplBusy = tpl->NextTPLPtr ;
+
+ /* Check the transmit status field only for directed frames*/
+ if(DIRECTED_FRAME(tpl) && (tpl->Status & TX_ERROR) == 0)
+ {
+ HighByte = GET_TRANSMIT_STATUS_HIGH_BYTE(tpl->Status);
+ HighAc = GET_FRAME_STATUS_HIGH_AC(HighByte);
+ LowAc = GET_FRAME_STATUS_LOW_AC(HighByte);
+
+ if((HighAc != LowAc) || (HighAc == AC_NOT_RECOGNIZED))
+ {
+ printk(KERN_INFO "%s: (DA=%08lX not recognized)",
+ dev->name,
+ *(unsigned long *)&tpl->MData[2+2]);
+ }
+ else
+ {
+ if(tms380tr_debug > 3)
+ printk("%s: Directed frame tx'd\n",
+ dev->name);
+ }
+ }
+ else
+ {
+ if(!DIRECTED_FRAME(tpl))
+ {
+ if(tms380tr_debug > 3)
+ printk("%s: Broadcast frame tx'd\n",
+ dev->name);
+ }
+ }
+
+ tp->MacStat.tx_packets++;
+ dev_kfree_skb(tpl->Skb);
+ tpl->BusyFlag = 0; /* "free" TPL */
+ }
+
+ dev->tbusy = 0;
+ if(tp->QueueSkb < MAX_TX_QUEUE)
+ tms380tr_hardware_send_packet(dev, tp);
+
+ return;
+}
+
+/*
+ * Called if a frame receive interrupt is generated by the adapter.
+ * Check if the frame is valid and indicate it to system.
+ */
+static void tms380tr_rcv_status_irq(struct net_device *dev)
+{
+ struct net_local *tp = (struct net_local *)dev->priv;
+ unsigned char *ReceiveDataPtr;
+ struct sk_buff *skb;
+ unsigned int Length, Length2;
+ RPL *rpl;
+ RPL *SaveHead;
+
+ /* NOTE: At this point the SSB from RECEIVE STATUS is no longer
+ * available, because the CLEAR SSB command has already been issued.
+ *
+ * Process all complete receives.
+ */
+
+ for(;;)
+ {
+ rpl = tp->RplHead;
+ if(rpl->Status & RX_VALID)
+ break; /* RPL still in use by adapter */
+
+ /* Forward RPLHead pointer to next list. */
+ SaveHead = tp->RplHead;
+ tp->RplHead = rpl->NextRPLPtr;
+
+ /* Get the frame size (Byte swap for Intel).
+ * Do this early (see workaround comment below)
+ */
+ Length = (unsigned short)SWAPB(rpl->FrameSize);
+
+ /* Check if the Frame_Start, Frame_End and
+ * Frame_Complete bits are set.
+ */
+ if((rpl->Status & VALID_SINGLE_BUFFER_FRAME)
+ == VALID_SINGLE_BUFFER_FRAME)
+ {
+ ReceiveDataPtr = rpl->MData;
+
+ /* Workaround for delayed write of FrameSize on ISA
+ * (FrameSize is false but valid-bit is reset)
+ * Frame size is set to zero when the RPL is freed.
+ * Length2 is there because there have also been
+ * cases where the FrameSize was partially written
+ */
+ Length2 = (unsigned short)SWAPB(rpl->FrameSize);
+
+ if(Length == 0 || Length != Length2)
+ {
+ tp->RplHead = SaveHead;
+ break; /* Return to tms380tr_interrupt */
+ }
+
+ /* Drop frames sent by myself */
+ if(tms380tr_chk_frame(dev, rpl->MData))
+ {
+ printk(KERN_INFO "%s: Received my own frame\n",
+ dev->name);
+ if(rpl->Skb != NULL)
+ dev_kfree_skb(rpl->Skb);
+ }
+ else
+ {
+ tms380tr_update_rcv_stats(tp,ReceiveDataPtr,Length);
+
+ if(tms380tr_debug > 3)
+ printk("%s: Packet Length %04X (%d)\n",
+ dev->name, Length, Length);
+
+ /* Indicate the received frame to system the
+ * adapter does the Source-Routing padding for
+ * us. See: OpenOptions in tms380tr_init_opb()
+ */
+ skb = rpl->Skb;
+ if(rpl->SkbStat == SKB_UNAVAILABLE)
+ {
+ /* Try again to allocate skb */
+ skb = dev_alloc_skb(tp->MaxPacketSize);
+ if(skb == NULL)
+ {
+ /* Update Stats ?? */
+ }
+ else
+ {
+ skb->dev = dev;
+ skb_put(skb, tp->MaxPacketSize);
+ rpl->SkbStat = SKB_DATA_COPY;
+ ReceiveDataPtr = rpl->MData;
+ }
+ }
+
+ if(rpl->SkbStat == SKB_DATA_COPY
+ || rpl->SkbStat == SKB_DMA_DIRECT)
+ {
+ if(rpl->SkbStat == SKB_DATA_COPY)
+ memmove(skb->data, ReceiveDataPtr, Length);
+
+ /* Deliver frame to system */
+ rpl->Skb = NULL;
+ skb_trim(skb,Length);
+ skb->protocol = tr_type_trans(skb,dev);
+ netif_rx(skb);
+ }
+ }
+ }
+ else /* Invalid frame */
+ {
+ if(rpl->Skb != NULL)
+ dev_kfree_skb(rpl->Skb);
+
+ /* Skip list. */
+ if(rpl->Status & RX_START_FRAME)
+ /* Frame start bit is set -> overflow. */
+ tp->MacStat.rx_errors++;
+ }
+
+ /* Allocate new skb for rpl */
+ rpl->Skb = dev_alloc_skb(tp->MaxPacketSize);
+
+ /* skb == NULL ? then use local buffer */
+ if(rpl->Skb == NULL)
+ {
+ rpl->SkbStat = SKB_UNAVAILABLE;
+ rpl->FragList[0].DataAddr = htonl(virt_to_bus(tp->LocalRxBuffers[rpl->RPLIndex]));
+ rpl->MData = tp->LocalRxBuffers[rpl->RPLIndex];
+ }
+ else /* skb != NULL */
+ {
+ rpl->Skb->dev = dev;
+ skb_put(rpl->Skb, tp->MaxPacketSize);
+
+ /* Data unreachable for DMA ? then use local buffer */
+ if(tp->CardType->type == TMS_ISA && virt_to_bus(rpl->Skb->data) + tp->MaxPacketSize
+ > ISA_MAX_ADDRESS)
+ {
+ rpl->SkbStat = SKB_DATA_COPY;
+ rpl->FragList[0].DataAddr = htonl(virt_to_bus(tp->LocalRxBuffers[rpl->RPLIndex]));
+ rpl->MData = tp->LocalRxBuffers[rpl->RPLIndex];
+ }
+ else
+ {
+ /* DMA directly in skb->data */
+ rpl->SkbStat = SKB_DMA_DIRECT;
+ rpl->FragList[0].DataAddr = htonl(virt_to_bus(rpl->Skb->data));
+ rpl->MData = rpl->Skb->data;
+ }
+ }
+
+ rpl->FragList[0].DataCount = SWAPB(tp->MaxPacketSize);
+ rpl->FrameSize = 0;
+
+ /* Pass the last RPL back to the adapter */
+ tp->RplTail->FrameSize = 0;
+
+ /* Reset the CSTAT field in the list. */
+ tms380tr_write_rpl_status(tp->RplTail, RX_VALID | RX_FRAME_IRQ);
+
+ /* Current RPL becomes last one in list. */
+ tp->RplTail = tp->RplTail->NextRPLPtr;
+
+ /* Inform adapter about RPL valid. */
+ tms380tr_exec_sifcmd(dev, CMD_RX_VALID);
+ }
+
+ return;
+}
+
+/*
+ * This function should be used whenever the status of any RPL must be
+ * modified by the driver, because the compiler may otherwise change the
+ * order of instructions such that writing the RPL status may be executed
+ * at an undesireable time. When this function is used, the status is
+ * always written when the function is called.
+ */
+static void tms380tr_write_rpl_status(RPL *rpl, unsigned int Status)
+{
+ rpl->Status = Status;
+
+ return;
+}
+
+/*
+ * The function updates the statistic counters in mac->MacStat.
+ * It differtiates between directed and broadcast/multicast ( ==functional)
+ * frames.
+ */
+static void tms380tr_update_rcv_stats(struct net_local *tp, unsigned char DataPtr[],
+ unsigned int Length)
+{
+ tp->MacStat.rx_packets++;
+ tp->MacStat.rx_bytes += Length;
+
+ /* Test functional bit */
+ if(DataPtr[2] & GROUP_BIT)
+ tp->MacStat.multicast++;
+
+ return;
+}
+
+/*
+ * Check if it is a frame of myself. Compare source address with my current
+ * address in reverse direction, and mask out the TR_RII.
+ */
+static unsigned char tms380tr_chk_frame(struct net_device *dev, unsigned char *Addr)
+{
+ int i;
+
+ for(i = 5; i > 0; i--)
+ {
+ if(Addr[8 + i] != dev->dev_addr[i])
+ return (0);
+ }
+
+ /* Mask out RIF bit. */
+ if((Addr[8] & ~TR_RII) != (unsigned char)(dev->dev_addr[0]))
+ return (0);
+
+ return (1); /* It is my frame. */
+}
+
+#if TMS380TR_DEBUG > 0
+/*
+ * Dump Packet (data)
+ */
+static void tms380tr_dump(unsigned char *Data, int length)
+{
+ int i, j;
+
+ for (i = 0, j = 0; i < length / 8; i++, j += 8)
+ {
+ printk(KERN_DEBUG "%02x %02x %02x %02x %02x %02x %02x %02x\n",
+ Data[j+0],Data[j+1],Data[j+2],Data[j+3],
+ Data[j+4],Data[j+5],Data[j+6],Data[j+7]);
+ }
+
+ return;
+}
+#endif
+
+#ifdef MODULE
+
+static struct net_device* dev_tms380tr[TMS380TR_MAX_ADAPTERS];
+static int io[TMS380TR_MAX_ADAPTERS] = { 0, 0 };
+static int irq[TMS380TR_MAX_ADAPTERS] = { 0, 0 };
+static int mem[TMS380TR_MAX_ADAPTERS] = { 0, 0 };
+
+MODULE_PARM(io, "1-" __MODULE_STRING(TMS380TR_MAX_ADAPTERS) "i");
+MODULE_PARM(irq, "1-" __MODULE_STRING(TMS380TR_MAX_ADAPTERS) "i");
+MODULE_PARM(mem, "1-" __MODULE_STRING(TMS380TR_MAX_ADAPTERS) "i");
+
+int init_module(void)
+{
+ int i;
+
+ for(i = 0; i < TMS380TR_MAX_ADAPTERS; i++)
+ {
+ irq[i] = 0;
+ mem[i] = 0;
+ dev_tms380tr[i] = NULL;
+ dev_tms380tr[i] = init_trdev(dev_tms380tr[i], 0);
+ if(dev_tms380tr[i] == NULL)
+ return (-ENOMEM);
+
+ dev_tms380tr[i]->base_addr = io[i];
+ dev_tms380tr[i]->irq = irq[i];
+ dev_tms380tr[i]->mem_start = mem[i];
+ dev_tms380tr[i]->init = &tms380tr_probe;
+
+ if(register_trdev(dev_tms380tr[i]) != 0)
+ {
+ kfree_s(dev_tms380tr[i], sizeof(struct net_device));
+ dev_tms380tr[i] = NULL;
+ if(i == 0)
+ {
+ printk("tms380tr: register_trdev() returned non-zero.\n");
+ return (-EIO);
+ }
+ else
+ return (0);
+ }
+ }
+
+ return (0);
+}
+
+void cleanup_module(void)
+{
+ int i;
+
+ for(i = 0; i < TMS380TR_MAX_ADAPTERS; i++)
+ {
+ if(dev_tms380tr[i])
+ {
+ unregister_trdev(dev_tms380tr[i]);
+ release_region(dev_tms380tr[i]->base_addr, TMS380TR_IO_EXTENT);
+ if(dev_tms380tr[i]->irq)
+ free_irq(dev_tms380tr[i]->irq, dev_tms380tr[i]);
+ if(dev_tms380tr[i]->dma > 0)
+ free_dma(dev_tms380tr[i]->dma);
+ if(dev_tms380tr[i]->priv)
+ kfree_s(dev_tms380tr[i]->priv, sizeof(struct net_local));
+ kfree_s(dev_tms380tr[i], sizeof(struct net_device));
+ dev_tms380tr[i] = NULL;
+ }
+ }
+}
+#endif /* MODULE */
diff --git a/drivers/net/tokenring/tms380tr.h b/drivers/net/tokenring/tms380tr.h
new file mode 100644
index 000000000..7896be0a0
--- /dev/null
+++ b/drivers/net/tokenring/tms380tr.h
@@ -0,0 +1,1109 @@
+/* tms380tr.h: TI TMS380 Token Ring driver for Linux
+ *
+ * Authors:
+ * - Christoph Goos <cgoos@syskonnect.de>
+ */
+
+#ifndef __LINUX_TMS380TR_H
+#define __LINUX_TMS380TR_H
+
+#ifdef __KERNEL__
+
+#define TMS380TR_MAX_ADAPTERS 7
+
+#define SEND_TIMEOUT 10*HZ
+
+#define TR_RCF_LONGEST_FRAME_MASK 0x0070
+#define TR_RCF_FRAME4K 0x0030
+
+/*------------------------------------------------------------------*/
+/* Bit order for adapter communication with DMA */
+/* -------------------------------------------------------------- */
+/* Bit 8 | 9| 10| 11|| 12| 13| 14| 15|| 0| 1| 2| 3|| 4| 5| 6| 7| */
+/* -------------------------------------------------------------- */
+/* The bytes in a word must be byte swapped. Also, if a double */
+/* word is used for storage, then the words, as well as the bytes, */
+/* must be swapped. */
+/* Bit order for adapter communication with DIO */
+/* -------------------------------------------------------------- */
+/* Bit 0 | 1| 2| 3|| 4| 5| 6| 7|| 8| 9| 10| 11|| 12| 13| 14| 15| */
+/* -------------------------------------------------------------- */
+/*------------------------------------------------------------------*/
+
+/* Swap bytes of a word. */
+#define SWAPB(x) (((unsigned short)((x) << 8)) | ((unsigned short)((x) >> 8)))
+
+/* Swap words of a long. */
+#define SWAPW(x) (((x) << 16) | ((x) >> 16))
+
+/* Get the low byte of a word. */
+#define LOBYTE(w) ((unsigned char)(w))
+
+/* Get the high byte of a word. */
+#define HIBYTE(w) ((unsigned char)((unsigned short)(w) >> 8))
+
+/* Get the low word of a long. */
+#define LOWORD(l) ((unsigned short)(l))
+
+/* Get the high word of a long. */
+#define HIWORD(l) ((unsigned short)((unsigned long)(l) >> 16))
+
+
+
+/* Token ring adapter I/O addresses for normal mode. */
+#define SIFDAT 0L /* SIF/DMA data. */
+#define SIFINC 2L /* IO Word data with auto increment. */
+#define SIFINH 3L /* IO Byte data with auto increment. */
+#define SIFADR 4L /* SIF/DMA Address. */
+#define SIFCMD 6L /* SIF Command. */
+#define SIFSTS 6L /* SIF Status. */
+#define SIFACL 8L /* SIF Adapter Control Register. */
+#define SIFADD 10L /* SIF/DMA Address. */
+#define SIFADX 12L
+#define DMALEN 14L /* SIF DMA length. */
+#define POSREG 16L /* Adapter Program Option Select (POS)
+ * Register: base IO address + 16 byte.
+ */
+#define POSREG_2 24L /* only for TR4/16+ adapter
+ * base IO address + 24 byte.
+ */
+
+
+/* SIFCMD command codes (high-low) */
+#define CMD_INTERRUPT_ADAPTER 0x8000 /* Cause internal adapter interrupt */
+#define CMD_ADAPTER_RESET 0x4000 /* Hardware reset of adapter */
+#define CMD_SSB_CLEAR 0x2000 /* Acknowledge to adapter to
+ * system interrupts.
+ */
+#define CMD_EXECUTE 0x1000 /* Execute SCB command */
+#define CMD_SCB_REQUEST 0x0800 /* Request adapter to interrupt
+ * system when SCB is available for
+ * another command.
+ */
+#define CMD_RX_CONTINUE 0x0400 /* Continue receive after odd pointer
+ * stop. (odd pointer receive method)
+ */
+#define CMD_RX_VALID 0x0200 /* Now actual RPL is valid. */
+#define CMD_TX_VALID 0x0100 /* Now actual TPL is valid. (valid
+ * bit receive/transmit method)
+ */
+#define CMD_SYSTEM_IRQ 0x0080 /* Adapter-to-attached-system
+ * interrupt is reset.
+ */
+#define CMD_CLEAR_SYSTEM_IRQ 0x0080 /* Clear SYSTEM_INTERRUPT bit.
+ * (write: 1=ignore, 0=reset)
+ */
+#define EXEC_SOFT_RESET 0xFF00 /* adapter soft reset. (restart
+ * adapter after hardware reset)
+ */
+
+
+/* ACL commands (high-low) */
+#define ACL_SWHLDA 0x0800 /* Software hold acknowledge. */
+#define ACL_SWDDIR 0x0400 /* Data transfer direction. */
+#define ACL_SWHRQ 0x0200 /* Pseudo DMA operation. */
+#define ACL_PSDMAEN 0x0100 /* Enable pseudo system DMA. */
+#define ACL_ARESET 0x0080 /* Adapter hardware reset command.
+ * (held in reset condition as
+ * long as bit is set)
+ */
+#define ACL_CPHALT 0x0040 /* Communication processor halt.
+ * (can only be set while ACL_ARESET
+ * bit is set; prevents adapter
+ * processor from executing code while
+ * downloading firmware)
+ */
+#define ACL_BOOT 0x0020
+#define ACL_SINTEN 0x0008 /* System interrupt enable/disable
+ * (1/0): can be written if ACL_ARESET
+ * is zero.
+ */
+#define ACL_SPEED4 0x0003
+#define ACL_SPEED16 0x0001
+#define PS_DMA_MASK (ACL_SWHRQ | ACL_PSDMAEN)
+
+
+/* SIFSTS register return codes (high-low) */
+#define STS_SYSTEM_IRQ 0x0080 /* Adapter-to-attached-system
+ * interrupt is valid.
+ */
+#define STS_INITIALIZE 0x0040 /* INITIALIZE status. (ready to
+ * initialize)
+ */
+#define STS_TEST 0x0020 /* TEST status. (BUD not completed) */
+#define STS_ERROR 0x0010 /* ERROR status. (unrecoverable
+ * HW error occurred)
+ */
+#define STS_MASK 0x00F0 /* Mask interesting status bits. */
+#define STS_ERROR_MASK 0x000F /* Get Error Code by masking the
+ * interrupt code bits.
+ */
+#define ADAPTER_INT_PTRS 0x0A00 /* Address offset of adapter internal
+ * pointers 01:0a00 (high-low) have to
+ * be read after init and before open.
+ */
+
+
+/* Interrupt Codes (only MAC IRQs) */
+#define STS_IRQ_ADAPTER_CHECK 0x0000 /* unrecoverable hardware or
+ * software error.
+ */
+#define STS_IRQ_RING_STATUS 0x0004 /* SSB is updated with ring status. */
+#define STS_IRQ_SCB_CLEAR 0x0006 /* SCB clear, following an
+ * SCB_REQUEST IRQ.
+ */
+#define STS_IRQ_COMMAND_STATUS 0x0008 /* SSB is updated with command
+ * status.
+ */
+#define STS_IRQ_RECEIVE_STATUS 0x000A /* SSB is updated with receive
+ * status.
+ */
+#define STS_IRQ_TRANSMIT_STATUS 0x000C /* SSB is updated with transmit
+ * status
+ */
+#define STS_IRQ_MASK 0x000F /* = STS_ERROR_MASK. */
+
+
+/* TRANSMIT_STATUS completion code: (SSB.Parm[0]) */
+#define COMMAND_COMPLETE 0x0080 /* TRANSMIT command completed
+ * (avoid this!) issue another transmit
+ * to send additional frames.
+ */
+#define FRAME_COMPLETE 0x0040 /* Frame has been transmitted;
+ * INTERRUPT_FRAME bit was set in the
+ * CSTAT request; indication of possibly
+ * more than one frame transmissions!
+ * SSB.Parm[0-1]: 32 bit pointer to
+ * TPL of last frame.
+ */
+#define LIST_ERROR 0x0020 /* Error in one of the TPLs that
+ * compose the frame; TRANSMIT
+ * terminated; Parm[1-2]: 32 bit pointer
+ * to TPL which starts the error
+ * frame; error details in bits 8-13.
+ * (14?)
+ */
+#define FRAME_SIZE_ERROR 0x8000 /* FRAME_SIZE does not equal the sum of
+ * the valid DATA_COUNT fields;
+ * FRAME_SIZE less than header plus
+ * information field. (15 bytes +
+ * routing field) Or if FRAME_SIZE
+ * was specified as zero in one list.
+ */
+#define TX_THRESHOLD 0x4000 /* FRAME_SIZE greater than (BUFFER_SIZE
+ * - 9) * TX_BUF_MAX.
+ */
+#define ODD_ADDRESS 0x2000 /* Odd forward pointer value is
+ * read on a list without END_FRAME
+ * indication.
+ */
+#define FRAME_ERROR 0x1000 /* START_FRAME bit is (not) anticipated,
+ * but (not) set.
+ */
+#define ACCESS_PRIORITY_ERROR 0x0800 /* Access priority requested has not
+ * been allowed.
+ */
+#define UNENABLED_MAC_FRAME 0x0400 /* MAC frame has source class of zero
+ * or MAC frame PCF ATTN field is
+ * greater than one.
+ */
+#define ILLEGAL_FRAME_FORMAT 0x0200 /* Bit 0 or FC field was set to one. */
+
+
+/*
+ * Since we need to support some functions even if the adapter is in a
+ * CLOSED state, we have a (pseudo-) command queue which holds commands
+ * that are outstandig to be executed.
+ *
+ * Each time a command completes, an interrupt occurs and the next
+ * command is executed. The command queue is actually a simple word with
+ * a bit for each outstandig command. Therefore the commands will not be
+ * executed in the order they have been queued.
+ *
+ * The following defines the command code bits and the command queue:
+ */
+#define OC_OPEN 0x0001 /* OPEN command */
+#define OC_TRANSMIT 0x0002 /* TRANSMIT command */
+#define OC_TRANSMIT_HALT 0x0004 /* TRANSMIT_HALT command */
+#define OC_RECEIVE 0x0008 /* RECEIVE command */
+#define OC_CLOSE 0x0010 /* CLOSE command */
+#define OC_SET_GROUP_ADDR 0x0020 /* SET_GROUP_ADDR command */
+#define OC_SET_FUNCT_ADDR 0x0040 /* SET_FUNCT_ADDR command */
+#define OC_READ_ERROR_LOG 0x0080 /* READ_ERROR_LOG command */
+#define OC_READ_ADAPTER 0x0100 /* READ_ADAPTER command */
+#define OC_MODIFY_OPEN_PARMS 0x0400 /* MODIFY_OPEN_PARMS command */
+#define OC_RESTORE_OPEN_PARMS 0x0800 /* RESTORE_OPEN_PARMS command */
+#define OC_SET_FIRST_16_GROUP 0x1000 /* SET_FIRST_16_GROUP command */
+#define OC_SET_BRIDGE_PARMS 0x2000 /* SET_BRIDGE_PARMS command */
+#define OC_CONFIG_BRIDGE_PARMS 0x4000 /* CONFIG_BRIDGE_PARMS command */
+
+#define OPEN 0x0300 /* C: open command. S: completion. */
+#define TRANSMIT 0x0400 /* C: transmit command. S: completion
+ * status. (reject: COMMAND_REJECT if
+ * adapter not opened, TRANSMIT already
+ * issued or address passed in the SCB
+ * not word aligned)
+ */
+#define TRANSMIT_HALT 0x0500 /* C: interrupt TX TPL chain; if no
+ * TRANSMIT command issued, the command
+ * is ignored. (completion with TRANSMIT
+ * status (0x0400)!)
+ */
+#define RECEIVE 0x0600 /* C: receive command. S: completion
+ * status. (reject: COMMAND_REJECT if
+ * adapter not opened, RECEIVE already
+ * issued or address passed in the SCB
+ * not word aligned)
+ */
+#define CLOSE 0x0700 /* C: close adapter. S: completion.
+ * (COMMAND_REJECT if adapter not open)
+ */
+#define SET_GROUP_ADDR 0x0800 /* C: alter adapter group address after
+ * OPEN. S: completion. (COMMAND_REJECT
+ * if adapter not open)
+ */
+#define SET_FUNCT_ADDR 0x0900 /* C: alter adapter functional address
+ * after OPEN. S: completion.
+ * (COMMAND_REJECT if adapter not open)
+ */
+#define READ_ERROR_LOG 0x0A00 /* C: read adapter error counters.
+ * S: completion. (command ignored
+ * if adapter not open!)
+ */
+#define READ_ADAPTER 0x0B00 /* C: read data from adapter memory.
+ * (important: after init and before
+ * open!) S: completion. (ADAPTER_CHECK
+ * interrupt if undefined storage area
+ * read)
+ */
+#define MODIFY_OPEN_PARMS 0x0D00 /* C: modify some adapter operational
+ * parameters. (bit correspondend to
+ * WRAP_INTERFACE is ignored)
+ * S: completion. (reject:
+ * COMMAND_REJECT)
+ */
+#define RESTORE_OPEN_PARMS 0x0E00 /* C: modify some adapter operational
+ * parameters. (bit correspondend
+ * to WRAP_INTERFACE is ignored)
+ * S: completion. (reject:
+ * COMMAND_REJECT)
+ */
+#define SET_FIRST_16_GROUP 0x0F00 /* C: alter the first two bytes in
+ * adapter group address.
+ * S: completion. (reject:
+ * COMMAND_REJECT)
+ */
+#define SET_BRIDGE_PARMS 0x1000 /* C: values and conditions for the
+ * adapter hardware to use when frames
+ * are copied for forwarding.
+ * S: completion. (reject:
+ * COMMAND_REJECT)
+ */
+#define CONFIG_BRIDGE_PARMS 0x1100 /* C: ..
+ * S: completion. (reject:
+ * COMMAND_REJECT)
+ */
+
+#define SPEED_4 4
+#define SPEED_16 16 /* Default transmission speed */
+
+
+/* Initialization Parameter Block (IPB); word alignment necessary! */
+#define BURST_SIZE 0x0018 /* Default burst size */
+#define BURST_MODE 0x9F00 /* Burst mode enable */
+#define DMA_RETRIES 0x0505 /* Magic DMA retry number... */
+
+#define CYCLE_TIME 3 /* Default AT-bus cycle time: 500 ns
+ * (later adapter version: fix cycle time!)
+ */
+#define LINE_SPEED_BIT 0x80
+
+/* Macro definition for the wait function. */
+#define ONE_SECOND_TICKS 1000000
+#define HALF_SECOND (ONE_SECOND_TICKS / 2)
+#define ONE_SECOND (ONE_SECOND_TICKS)
+#define TWO_SECONDS (ONE_SECOND_TICKS * 2)
+#define THREE_SECONDS (ONE_SECOND_TICKS * 3)
+#define FOUR_SECONDS (ONE_SECOND_TICKS * 4)
+#define FIVE_SECONDS (ONE_SECOND_TICKS * 5)
+
+#define BUFFER_SIZE 2048 /* Buffers on Adapter */
+
+#pragma pack(1)
+typedef struct {
+ unsigned short Init_Options; /* Initialize with burst mode;
+ * LLC disabled. (MAC only)
+ */
+
+ /* Interrupt vectors the adapter places on attached system bus. */
+ unsigned char CMD_Status_IV; /* Interrupt vector: command status. */
+ unsigned char TX_IV; /* Interrupt vector: transmit. */
+ unsigned char RX_IV; /* Interrupt vector: receive. */
+ unsigned char Ring_Status_IV; /* Interrupt vector: ring status. */
+ unsigned char SCB_Clear_IV; /* Interrupt vector: SCB clear. */
+ unsigned char Adapter_CHK_IV; /* Interrupt vector: adapter check. */
+
+ unsigned short RX_Burst_Size; /* Max. number of transfer cycles. */
+ unsigned short TX_Burst_Size; /* During DMA burst; even value! */
+ unsigned short DMA_Abort_Thrhld; /* Number of DMA retries. */
+
+ unsigned long SCB_Addr; /* SCB address: even, word aligned, high-low. */
+ unsigned long SSB_Addr; /* SSB address: even, word aligned, high-low. */
+} IPB, *IPB_Ptr;
+#pragma pack()
+
+/*
+ * OPEN Command Parameter List (OCPL) (can be reused, if the adapter has to
+ * be reopened)
+ */
+#define BUFFER_SIZE 2048 /* Buffers on Adapter. */
+#define TPL_SIZE 8+6*TX_FRAG_NUM /* Depending on fragments per TPL. */
+#define RPL_SIZE 14 /* (with TI firmware v2.26 handling
+ * up to nine fragments possible)
+ */
+#define TX_BUF_MIN 20 /* ??? (Stephan: calculation with */
+#define TX_BUF_MAX 40 /* BUFFER_SIZE and MAX_FRAME_SIZE) ???
+ */
+#define DISABLE_EARLY_TOKEN_RELEASE 0x1000
+
+/* OPEN Options (high-low) */
+#define WRAP_INTERFACE 0x0080 /* Inserting omitted for test
+ * purposes; transmit data appears
+ * as receive data. (usefull for
+ * testing; change: CLOSE necessary)
+ */
+#define DISABLE_HARD_ERROR 0x0040 /* On HARD_ERROR & TRANSMIT_BEACON
+ * no RING.STATUS interrupt.
+ */
+#define DISABLE_SOFT_ERROR 0x0020 /* On SOFT_ERROR, no RING.STATUS
+ * interrupt.
+ */
+#define PASS_ADAPTER_MAC_FRAMES 0x0010 /* Passing unsupported MAC frames
+ * to system.
+ */
+#define PASS_ATTENTION_FRAMES 0x0008 /* All changed attention MAC frames are
+ * passed to the system.
+ */
+#define PAD_ROUTING_FIELD 0x0004 /* Routing field is padded to 18
+ * bytes.
+ */
+#define FRAME_HOLD 0x0002 /* Adapter waits for entire frame before
+ * initiating DMA transfer; otherwise:
+ * DMA transfer initiation if internal
+ * buffer filled.
+ */
+#define CONTENDER 0x0001 /* Adapter participates in the monitor
+ * contention process.
+ */
+#define PASS_BEACON_MAC_FRAMES 0x8000 /* Adapter passes beacon MAC frames
+ * to the system.
+ */
+#define EARLY_TOKEN_RELEASE 0x1000 /* Only valid in 16 Mbps operation;
+ * 0 = ETR. (no effect in 4 Mbps
+ * operation)
+ */
+#define COPY_ALL_MAC_FRAMES 0x0400 /* All MAC frames are copied to
+ * the system. (after OPEN: duplicate
+ * address test (DAT) MAC frame is
+ * first received frame copied to the
+ * system)
+ */
+#define COPY_ALL_NON_MAC_FRAMES 0x0200 /* All non MAC frames are copied to
+ * the system.
+ */
+#define PASS_FIRST_BUF_ONLY 0x0100 /* Passes only first internal buffer
+ * of each received frame; FrameSize
+ * of RPLs must contain internal
+ * BUFFER_SIZE bits for promiscous mode.
+ */
+#define ENABLE_FULL_DUPLEX_SELECTION 0x2000 /* Enable the use of full-duplex
+ * settings with bits in byte 22 in
+ * ocpl. (new feature in firmware
+ * version 3.09)
+ */
+
+/* Full-duplex settings */
+#define OPEN_FULL_DUPLEX_OFF 0x0000
+#define OPEN_FULL_DUPLEX_ON 0x00c0
+#define OPEN_FULL_DUPLEX_AUTO 0x0080
+
+#define PROD_ID_SIZE 18 /* Length of product ID. */
+
+#define TX_FRAG_NUM 3 /* Number of fragments used in one TPL. */
+#define TX_MORE_FRAGMENTS 0x8000 /* Bit set in DataCount to indicate more
+ * fragments following.
+ */
+
+#define ISA_MAX_ADDRESS 0x00ffffff
+
+#pragma pack(1)
+typedef struct {
+ unsigned short OPENOptions;
+ unsigned char NodeAddr[6]; /* Adapter node address; use ROM
+ * address
+ */
+ unsigned long GroupAddr; /* Multicast: high order
+ * bytes = 0xC000
+ */
+ unsigned long FunctAddr; /* High order bytes = 0xC000 */
+ unsigned short RxListSize; /* RPL size: 0 (=26), 14, 20 or
+ * 26 bytes read by the adapter.
+ * (Depending on the number of
+ * fragments/list)
+ */
+ unsigned short TxListSize; /* TPL size */
+ unsigned short BufSize; /* Is automatically rounded up to the
+ * nearest nK boundary.
+ */
+ unsigned short FullDuplex;
+ unsigned short Reserved;
+ unsigned char TXBufMin; /* Number of adapter buffers reserved
+ * for transmission a minimum of 2
+ * buffers must be allocated.
+ */
+ unsigned char TXBufMax; /* Maximum number of adapter buffers
+ * for transmit; a minimum of 2 buffers
+ * must be available for receive.
+ * Default: 6
+ */
+ unsigned short ProdIDAddr[2]; /* Pointer to product ID. */
+} OPB, *OPB_Ptr;
+#pragma pack()
+
+/*
+ * SCB: adapter commands enabled by the host system started by writing
+ * CMD_INTERRUPT_ADAPTER | CMD_EXECUTE (|SCB_REQUEST) to the SIFCMD IO
+ * register. (special case: | CMD_SYSTEM_IRQ for initialization)
+ */
+#pragma pack(1)
+typedef struct {
+ unsigned short CMD; /* Command code */
+ unsigned short Parm[2]; /* Pointer to Command Parameter Block */
+} SCB; /* System Command Block (32 bit physical address; big endian)*/
+#pragma pack()
+
+/*
+ * SSB: adapter command return status can be evaluated after COMMAND_STATUS
+ * adapter to system interrupt after reading SSB, the availability of the SSB
+ * has to be told the adapter by writing CMD_INTERRUPT_ADAPTER | CMD_SSB_CLEAR
+ * in the SIFCMD IO register.
+ */
+#pragma pack(1)
+typedef struct {
+ unsigned short STS; /* Status code */
+ unsigned short Parm[3]; /* Parameter or pointer to Status Parameter
+ * Block.
+ */
+} SSB; /* System Status Block (big endian - physical address) */
+#pragma pack()
+
+typedef struct {
+ unsigned short BurnedInAddrPtr; /* Pointer to adapter burned in
+ * address. (BIA)
+ */
+ unsigned short SoftwareLevelPtr;/* Pointer to software level data. */
+ unsigned short AdapterAddrPtr; /* Pointer to adapter addresses. */
+ unsigned short AdapterParmsPtr; /* Pointer to adapter parameters. */
+ unsigned short MACBufferPtr; /* Pointer to MAC buffer. (internal) */
+ unsigned short LLCCountersPtr; /* Pointer to LLC counters. */
+ unsigned short SpeedFlagPtr; /* Pointer to data rate flag.
+ * (4/16 Mbps)
+ */
+ unsigned short AdapterRAMPtr; /* Pointer to adapter RAM found. (KB) */
+} INTPTRS; /* Adapter internal pointers */
+
+#pragma pack(1)
+typedef struct {
+ unsigned char Line_Error; /* Line error: code violation in
+ * frame or in a token, or FCS error.
+ */
+ unsigned char Internal_Error; /* IBM specific. (Reserved_1) */
+ unsigned char Burst_Error;
+ unsigned char ARI_FCI_Error; /* ARI/FCI bit zero in AMP or
+ * SMP MAC frame.
+ */
+ unsigned char AbortDelimeters; /* IBM specific. (Reserved_2) */
+ unsigned char Reserved_3;
+ unsigned char Lost_Frame_Error; /* Receive of end of transmitted
+ * frame failed.
+ */
+ unsigned char Rx_Congest_Error; /* Adapter in repeat mode has not
+ * enough buffer space to copy incoming
+ * frame.
+ */
+ unsigned char Frame_Copied_Error;/* ARI bit not zero in frame
+ * addressed to adapter.
+ */
+ unsigned char Frequency_Error; /* IBM specific. (Reserved_4) */
+ unsigned char Token_Error; /* (active only in monitor station) */
+ unsigned char Reserved_5;
+ unsigned char DMA_Bus_Error; /* DMA bus errors not exceeding the
+ * abort thresholds.
+ */
+ unsigned char DMA_Parity_Error; /* DMA parity errors not exceeding
+ * the abort thresholds.
+ */
+} ERRORTAB; /* Adapter error counters */
+#pragma pack()
+
+
+/*--------------------- Send and Receive definitions -------------------*/
+#pragma pack(1)
+typedef struct {
+ unsigned short DataCount; /* Value 0, even and odd values are
+ * permitted; value is unaltered most
+ * significant bit set: following
+ * fragments last fragment: most
+ * significant bit is not evaluated.
+ * (???)
+ */
+ unsigned long DataAddr; /* Pointer to frame data fragment;
+ * even or odd.
+ */
+} Fragment;
+#pragma pack()
+
+#define MAX_FRAG_NUMBERS 9 /* Maximal number of fragments possible to use
+ * in one RPL/TPL. (depending on TI firmware
+ * version)
+ */
+#define MAX_TX_QUEUE 10 /* Maximal number of skb's queued in driver. */
+
+/*
+ * AC (1), FC (1), Dst (6), Src (6), RIF (18), Data (4472) = 4504
+ * The packet size can be one of the follows: 548, 1502, 2084, 4504, 8176,
+ * 11439, 17832. Refer to TMS380 Second Generation Token Ring User's Guide
+ * Page 2-27.
+ */
+#define HEADER_SIZE (1 + 1 + 6 + 6)
+#define SRC_SIZE 18
+#define MIN_DATA_SIZE 516
+#define DEFAULT_DATA_SIZE 4472
+#define MAX_DATA_SIZE 17800
+
+#define DEFAULT_PACKET_SIZE (HEADER_SIZE + SRC_SIZE + DEFAULT_DATA_SIZE)
+#define MIN_PACKET_SIZE (HEADER_SIZE + SRC_SIZE + MIN_DATA_SIZE)
+#define MAX_PACKET_SIZE (HEADER_SIZE + SRC_SIZE + MAX_DATA_SIZE)
+
+/*
+ * Macros to deal with the frame status field.
+ */
+#define AC_NOT_RECOGNIZED 0x00
+#define GROUP_BIT 0x80
+#define GET_TRANSMIT_STATUS_HIGH_BYTE(Ts) ((unsigned char)((Ts) >> 8))
+#define GET_FRAME_STATUS_HIGH_AC(Fs) ((unsigned char)(((Fs) & 0xC0) >> 6))
+#define GET_FRAME_STATUS_LOW_AC(Fs) ((unsigned char)(((Fs) & 0x0C) >> 2))
+#define DIRECTED_FRAME(Context) (!((Context)->MData[2] & GROUP_BIT))
+
+
+/*--------------------- Send Functions ---------------------------------*/
+/* define TX_CSTAT _REQUEST (R) and _COMPLETE (C) values (high-low) */
+
+#define TX_VALID 0x0080 /* R: set via TRANSMIT.VALID interrupt.
+ * C: always reset to zero!
+ */
+#define TX_FRAME_COMPLETE 0x0040 /* R: must be reset to zero.
+ * C: set to one.
+ */
+#define TX_START_FRAME 0x0020 /* R: start of a frame: 1
+ * C: unchanged.
+ */
+#define TX_END_FRAME 0x0010 /* R: end of a frame: 1
+ * C: unchanged.
+ */
+#define TX_FRAME_IRQ 0x0008 /* R: request interrupt generation
+ * after transmission.
+ * C: unchanged.
+ */
+#define TX_ERROR 0x0004 /* R: reserved.
+ * C: set to one if Error occurred.
+ */
+#define TX_INTERFRAME_WAIT 0x0004
+#define TX_PASS_CRC 0x0002 /* R: set if CRC value is already
+ * calculated. (valid only in
+ * FRAME_START TPL)
+ * C: unchanged.
+ */
+#define TX_PASS_SRC_ADDR 0x0001 /* R: adapter uses explicit frame
+ * source address and does not overwrite
+ * with the adapter node address.
+ * (valid only in FRAME_START TPL)
+ *
+ * C: unchanged.
+ */
+#define TX_STRIP_FS 0xFF00 /* R: reserved.
+ * C: if no Transmission Error,
+ * field contains copy of FS byte after
+ * stripping of frame.
+ */
+
+/*
+ * Structure of Transmit Parameter Lists (TPLs) (only one frame every TPL,
+ * but possibly multiple TPLs for one frame) the length of the TPLs has to be
+ * initialized in the OPL. (OPEN parameter list)
+ */
+#define TPL_NUM 3 /* Number of Transmit Parameter Lists.
+ * !! MUST BE >= 3 !!
+ */
+
+#pragma pack(1)
+typedef struct s_TPL TPL;
+
+struct s_TPL { /* Transmit Parameter List (align on even word boundaries) */
+ unsigned long NextTPLAddr; /* Pointer to next TPL in chain; if
+ * pointer is odd: this is the last
+ * TPL. Pointing to itself can cause
+ * problems!
+ */
+ volatile unsigned short Status; /* Initialized by the adapter:
+ * CSTAT_REQUEST important: update least
+ * significant bit first! Set by the
+ * adapter: CSTAT_COMPLETE status.
+ */
+ unsigned short FrameSize; /* Number of bytes to be transmitted
+ * as a frame including AC/FC,
+ * Destination, Source, Routing field
+ * not including CRC, FS, End Delimiter
+ * (valid only if START_FRAME bit in
+ * CSTAT nonzero) must not be zero in
+ * any list; maximum value: (BUFFER_SIZE
+ * - 8) * TX_BUF_MAX sum of DataCount
+ * values in FragmentList must equal
+ * Frame_Size value in START_FRAME TPL!
+ * frame data fragment list.
+ */
+
+ /* TPL/RPL size in OPEN parameter list depending on maximal
+ * numbers of fragments used in one parameter list.
+ */
+ Fragment FragList[TX_FRAG_NUM]; /* Maximum: nine frame fragments in one
+ * TPL actual version of firmware: 9
+ * fragments possible.
+ */
+#pragma pack()
+
+ /* Special proprietary data and precalculations */
+
+ TPL *NextTPLPtr; /* Pointer to next TPL in chain. */
+ unsigned char *MData;
+ struct sk_buff *Skb;
+ unsigned char TPLIndex;
+ volatile unsigned char BusyFlag;/* Flag: TPL busy? */
+};
+
+/* ---------------------Receive Functions-------------------------------*
+ * define RECEIVE_CSTAT_REQUEST (R) and RECEIVE_CSTAT_COMPLETE (C) values.
+ * (high-low)
+ */
+#define RX_VALID 0x0080 /* R: set; tell adapter with
+ * RECEIVE.VALID interrupt.
+ * C: reset to zero.
+ */
+#define RX_FRAME_COMPLETE 0x0040 /* R: must be reset to zero,
+ * C: set to one.
+ */
+#define RX_START_FRAME 0x0020 /* R: must be reset to zero.
+ * C: set to one on the list.
+ */
+#define RX_END_FRAME 0x0010 /* R: must be reset to zero.
+ * C: set to one on the list
+ * that ends the frame.
+ */
+#define RX_FRAME_IRQ 0x0008 /* R: request interrupt generation
+ * after receive.
+ * C: unchanged.
+ */
+#define RX_INTERFRAME_WAIT 0x0004 /* R: after receiving a frame:
+ * interrupt and wait for a
+ * RECEIVE.CONTINUE.
+ * C: unchanged.
+ */
+#define RX_PASS_CRC 0x0002 /* R: if set, the adapter includes
+ * the CRC in data passed. (last four
+ * bytes; valid only if FRAME_START is
+ * set)
+ * C: set, if CRC is included in
+ * received data.
+ */
+#define RX_PASS_SRC_ADDR 0x0001 /* R: adapter uses explicit frame
+ * source address and does not
+ * overwrite with the adapter node
+ * address. (valid only if FRAME_START
+ * is set)
+ * C: unchanged.
+ */
+#define RX_RECEIVE_FS 0xFC00 /* R: reserved; must be reset to zero.
+ * C: on lists with START_FRAME, field
+ * contains frame status field from
+ * received frame; otherwise cleared.
+ */
+#define RX_ADDR_MATCH 0x0300 /* R: reserved; must be reset to zero.
+ * C: address match code mask.
+ */
+#define RX_STATUS_MASK 0x00FF /* Mask for receive status bits. */
+
+#define RX_INTERN_ADDR_MATCH 0x0100 /* C: internally address match. */
+#define RX_EXTERN_ADDR_MATCH 0x0200 /* C: externally matched via
+ * XMATCH/XFAIL interface.
+ */
+#define RX_INTEXT_ADDR_MATCH 0x0300 /* C: internally and externally
+ * matched.
+ */
+#define RX_READY (RX_VALID | RX_FRAME_IRQ) /* Ready for receive. */
+
+/* Constants for Command Status Interrupt.
+ * COMMAND_REJECT status field bit functions (SSB.Parm[0])
+ */
+#define ILLEGAL_COMMAND 0x0080 /* Set if an unknown command
+ * is issued to the adapter
+ */
+#define ADDRESS_ERROR 0x0040 /* Set if any address field in
+ * the SCB is odd. (not word aligned)
+ */
+#define ADAPTER_OPEN 0x0020 /* Command issued illegal with
+ * open adapter.
+ */
+#define ADAPTER_CLOSE 0x0010 /* Command issued illegal with
+ * closed adapter.
+ */
+#define SAME_COMMAND 0x0008 /* Command issued with same command
+ * already executing.
+ */
+
+/* OPEN_COMPLETION values (SSB.Parm[0], MSB) */
+#define NODE_ADDR_ERROR 0x0040 /* Wrong address or BIA read
+ * zero address.
+ */
+#define LIST_SIZE_ERROR 0x0020 /* If List_Size value not in 0,
+ * 14, 20, 26.
+ */
+#define BUF_SIZE_ERROR 0x0010 /* Not enough available memory for
+ * two buffers.
+ */
+#define TX_BUF_COUNT_ERROR 0x0004 /* Remaining receive buffers less than
+ * two.
+ */
+#define OPEN_ERROR 0x0002 /* Error during ring insertion; more
+ * information in bits 8-15.
+ */
+
+/* Standard return codes */
+#define GOOD_COMPLETION 0x0080 /* =OPEN_SUCCESSFULL */
+#define INVALID_OPEN_OPTION 0x0001 /* OPEN options are not supported by
+ * the adapter.
+ */
+
+/* OPEN phases; details of OPEN_ERROR (SSB.Parm[0], LSB) */
+#define OPEN_PHASES_MASK 0xF000 /* Check only the bits 8-11. */
+#define LOBE_MEDIA_TEST 0x1000
+#define PHYSICAL_INSERTION 0x2000
+#define ADDRESS_VERIFICATION 0x3000
+#define PARTICIPATION_IN_RING_POLL 0x4000
+#define REQUEST_INITIALISATION 0x5000
+#define FULLDUPLEX_CHECK 0x6000
+
+/* OPEN error codes; details of OPEN_ERROR (SSB.Parm[0], LSB) */
+#define OPEN_ERROR_CODES_MASK 0x0F00 /* Check only the bits 12-15. */
+#define OPEN_FUNCTION_FAILURE 0x0100 /* Unable to transmit to itself or
+ * frames received before insertion.
+ */
+#define OPEN_SIGNAL_LOSS 0x0200 /* Signal loss condition detected at
+ * receiver.
+ */
+#define OPEN_TIMEOUT 0x0500 /* Insertion timer expired before
+ * logical insertion.
+ */
+#define OPEN_RING_FAILURE 0x0600 /* Unable to receive own ring purge
+ * MAC frames.
+ */
+#define OPEN_RING_BEACONING 0x0700 /* Beacon MAC frame received after
+ * ring insertion.
+ */
+#define OPEN_DUPLICATE_NODEADDR 0x0800 /* Other station in ring found
+ * with the same address.
+ */
+#define OPEN_REQUEST_INIT 0x0900 /* RPS present but does not respond. */
+#define OPEN_REMOVE_RECEIVED 0x0A00 /* Adapter received a remove adapter
+ * MAC frame.
+ */
+#define OPEN_FULLDUPLEX_SET 0x0D00 /* Got this with full duplex on when
+ * trying to connect to a normal ring.
+ */
+
+/* SET_BRIDGE_PARMS return codes: */
+#define BRIDGE_INVALID_MAX_LEN 0x4000 /* MAX_ROUTING_FIELD_LENGTH odd,
+ * less than 6 or > 30.
+ */
+#define BRIDGE_INVALID_SRC_RING 0x2000 /* SOURCE_RING number zero, too large
+ * or = TARGET_RING.
+ */
+#define BRIDGE_INVALID_TRG_RING 0x1000 /* TARGET_RING number zero, too large
+ * or = SOURCE_RING.
+ */
+#define BRIDGE_INVALID_BRDGE_NO 0x0800 /* BRIDGE_NUMBER too large. */
+#define BRIDGE_INVALID_OPTIONS 0x0400 /* Invalid bridge options. */
+#define BRIDGE_DIAGS_FAILED 0x0200 /* Diagnostics of TMS380SRA failed. */
+#define BRIDGE_NO_SRA 0x0100 /* The TMS380SRA does not exist in HW
+ * configuration.
+ */
+
+/*
+ * Bring Up Diagnostics error codes.
+ */
+#define BUD_INITIAL_ERROR 0x0
+#define BUD_CHECKSUM_ERROR 0x1
+#define BUD_ADAPTER_RAM_ERROR 0x2
+#define BUD_INSTRUCTION_ERROR 0x3
+#define BUD_CONTEXT_ERROR 0x4
+#define BUD_PROTOCOL_ERROR 0x5
+#define BUD_INTERFACE_ERROR 0x6
+
+/* BUD constants */
+#define BUD_MAX_RETRIES 3
+#define BUD_MAX_LOOPCNT 6
+#define BUD_TIMEOUT 3000
+
+/* Initialization constants */
+#define INIT_MAX_RETRIES 3 /* Maximum three retries. */
+#define INIT_MAX_LOOPCNT 22 /* Maximum loop counts. */
+
+/* RING STATUS field values (high/low) */
+#define SIGNAL_LOSS 0x0080 /* Loss of signal on the ring
+ * detected.
+ */
+#define HARD_ERROR 0x0040 /* Transmitting or receiving beacon
+ * frames.
+ */
+#define SOFT_ERROR 0x0020 /* Report error MAC frame
+ * transmitted.
+ */
+#define TRANSMIT_BEACON 0x0010 /* Transmitting beacon frames on the
+ * ring.
+ */
+#define LOBE_WIRE_FAULT 0x0008 /* Open or short circuit in the
+ * cable to concentrator; adapter
+ * closed.
+ */
+#define AUTO_REMOVAL_ERROR 0x0004 /* Lobe wrap test failed, deinserted;
+ * adapter closed.
+ */
+#define REMOVE_RECEIVED 0x0001 /* Received a remove ring station MAC
+ * MAC frame request; adapter closed.
+ */
+#define COUNTER_OVERFLOW 0x8000 /* Overflow of one of the adapters
+ * error counters; READ.ERROR.LOG.
+ */
+#define SINGLE_STATION 0x4000 /* Adapter is the only station on the
+ * ring.
+ */
+#define RING_RECOVERY 0x2000 /* Claim token MAC frames on the ring;
+ * reset after ring purge frame.
+ */
+
+#define ADAPTER_CLOSED (LOBE_WIRE_FAULT | AUTO_REMOVAL_ERROR |\
+ REMOVE_RECEIVED)
+
+/* Adapter_check_block.Status field bit assignments: */
+#define DIO_PARITY 0x8000 /* Adapter detects bad parity
+ * through direct I/O access.
+ */
+#define DMA_READ_ABORT 0x4000 /* Aborting DMA read operation
+ * from system Parm[0]: 0=timeout,
+ * 1=parity error, 2=bus error;
+ * Parm[1]: 32 bit pointer to host
+ * system address at failure.
+ */
+#define DMA_WRITE_ABORT 0x2000 /* Aborting DMA write operation
+ * to system. (parameters analogous to
+ * DMA_READ_ABORT)
+ */
+#define ILLEGAL_OP_CODE 0x1000 /* Illegal operation code in the
+ * the adapters firmware Parm[0]-2:
+ * communications processor registers
+ * R13-R15.
+ */
+#define PARITY_ERRORS 0x0800 /* Adapter detects internal bus
+ * parity error.
+ */
+#define RAM_DATA_ERROR 0x0080 /* Valid only during RAM testing;
+ * RAM data error Parm[0-1]: 32 bit
+ * pointer to RAM location.
+ */
+#define RAM_PARITY_ERROR 0x0040 /* Valid only during RAM testing;
+ * RAM parity error Parm[0-1]: 32 bit
+ * pointer to RAM location.
+ */
+#define RING_UNDERRUN 0x0020 /* Internal DMA underrun when
+ * transmitting onto ring.
+ */
+#define INVALID_IRQ 0x0008 /* Unrecognized interrupt generated
+ * internal to adapter Parm[0-2]:
+ * adapter register R13-R15.
+ */
+#define INVALID_ERROR_IRQ 0x0004 /* Unrecognized error interrupt
+ * generated Parm[0-2]: adapter register
+ * R13-R15.
+ */
+#define INVALID_XOP 0x0002 /* Unrecognized XOP request in
+ * communication processor Parm[0-2]:
+ * adapter register R13-R15.
+ */
+#define CHECKADDR 0x05E0 /* Adapter check status information
+ * address offset.
+ */
+#define ROM_PAGE_0 0x0000 /* Adapter ROM page 0. */
+
+/*
+ * RECEIVE.STATUS interrupt result SSB values: (high-low)
+ * (RECEIVE_COMPLETE field bit definitions in SSB.Parm[0])
+ */
+#define RX_COMPLETE 0x0080 /* SSB.Parm[0]; SSB.Parm[1]: 32
+ * bit pointer to last RPL.
+ */
+#define RX_SUSPENDED 0x0040 /* SSB.Parm[0]; SSB.Parm[1]: 32
+ * bit pointer to RPL with odd
+ * forward pointer.
+ */
+
+/* Valid receive CSTAT: */
+#define RX_FRAME_CONTROL_BITS (RX_VALID | RX_START_FRAME | RX_END_FRAME | \
+ RX_FRAME_COMPLETE)
+#define VALID_SINGLE_BUFFER_FRAME (RX_START_FRAME | RX_END_FRAME | \
+ RX_FRAME_COMPLETE)
+
+typedef enum SKB_STAT SKB_STAT;
+enum SKB_STAT {
+ SKB_UNAVAILABLE,
+ SKB_DMA_DIRECT,
+ SKB_DATA_COPY
+};
+
+/* Receive Parameter List (RPL) The length of the RPLs has to be initialized
+ * in the OPL. (OPEN parameter list)
+ */
+#define RPL_NUM 3
+
+#define RX_FRAG_NUM 1 /* Maximal number of used fragments in one RPL.
+ * (up to firmware v2.24: 3, now: up to 9)
+ */
+
+#pragma pack(1)
+typedef struct s_RPL RPL;
+struct s_RPL { /* Receive Parameter List */
+ unsigned long NextRPLAddr; /* Pointer to next RPL in chain
+ * (normalized = physical 32 bit
+ * address) if pointer is odd: this
+ * is last RPL. Pointing to itself can
+ * cause problems!
+ */
+ volatile unsigned short Status; /* Set by creation of Receive Parameter
+ * List RECEIVE_CSTAT_COMPLETE set by
+ * adapter in lists that start or end
+ * a frame.
+ */
+ volatile unsigned short FrameSize; /* Number of bytes received as a
+ * frame including AC/FC, Destination,
+ * Source, Routing field not including
+ * CRC, FS (Frame Status), End Delimiter
+ * (valid only if START_FRAME bit in
+ * CSTAT nonzero) must not be zero in
+ * any list; maximum value: (BUFFER_SIZE
+ * - 8) * TX_BUF_MAX sum of DataCount
+ * values in FragmentList must equal
+ * Frame_Size value in START_FRAME TPL!
+ * frame data fragment list
+ */
+
+ /* TPL/RPL size in OPEN parameter list depending on maximal numbers
+ * of fragments used in one parameter list.
+ */
+ Fragment FragList[RX_FRAG_NUM]; /* Maximum: nine frame fragments in
+ * one TPL. Actual version of firmware:
+ * 9 fragments possible.
+ */
+#pragma pack()
+
+ /* Special proprietary data and precalculations. */
+ RPL *NextRPLPtr; /* Logical pointer to next RPL in chain. */
+ unsigned char *MData;
+ struct sk_buff *Skb;
+ SKB_STAT SkbStat;
+ int RPLIndex;
+};
+
+#define TMS_ISA 1
+#define TMS_PCI 2
+struct cardinfo_table {
+ int type; /* 1 = ISA, 2 = PCI */
+ int vendor_id;
+ int device_id;
+ char *name;
+};
+
+/* Information that need to be kept for each board. */
+typedef struct net_local {
+#pragma pack(1)
+ IPB ipb; /* Initialization Parameter Block. */
+ SCB scb; /* System Command Block: system to adapter
+ * communication.
+ */
+ SSB ssb; /* System Status Block: adapter to system
+ * communication.
+ */
+ OPB ocpl; /* Open Options Parameter Block. */
+
+ ERRORTAB errorlogtable; /* Adapter statistic error counters.
+ * (read from adapter memory)
+ */
+ unsigned char ProductID[PROD_ID_SIZE + 1]; /* Product ID */
+#pragma pack()
+
+ TPL Tpl[TPL_NUM];
+ TPL *TplFree;
+ TPL *TplBusy;
+ unsigned char LocalTxBuffers[TPL_NUM][DEFAULT_PACKET_SIZE];
+
+ RPL Rpl[RPL_NUM];
+ RPL *RplHead;
+ RPL *RplTail;
+ unsigned char LocalRxBuffers[RPL_NUM][DEFAULT_PACKET_SIZE];
+
+ int DataRate;
+ unsigned char ScbInUse;
+ unsigned short CMDqueue;
+
+ unsigned long AdapterOpenFlag:1;
+ unsigned long AdapterVirtOpenFlag:1;
+ unsigned long OpenCommandIssued:1;
+ unsigned long TransmitCommandActive:1;
+ unsigned long TransmitHaltScheduled:1;
+ unsigned long HaltInProgress:1;
+ unsigned long LobeWireFaultLogged:1;
+ unsigned long ReOpenInProgress:1;
+ unsigned long Sleeping:1;
+
+ unsigned long LastOpenStatus;
+ unsigned short CurrentRingStatus;
+ unsigned long MaxPacketSize;
+
+ unsigned long StartTime;
+ unsigned long LastSendTime;
+
+ struct sk_buff_head SendSkbQueue;
+ unsigned short QueueSkb;
+
+ struct tr_statistics MacStat; /* MAC statistics structure */
+
+ struct cardinfo_table *CardType;
+
+ struct timer_list timer;
+
+ wait_queue_head_t wait_for_tok_int;
+
+ INTPTRS intptrs; /* Internal adapter pointer. Must be read
+ * before OPEN command.
+ */
+} NET_LOCAL;
+
+#endif /* __KERNEL__ */
+#endif /* __LINUX_TMS380TR_H */
diff --git a/drivers/net/tokenring/tms380tr_microcode.h b/drivers/net/tokenring/tms380tr_microcode.h
new file mode 100644
index 000000000..3c03f1f6f
--- /dev/null
+++ b/drivers/net/tokenring/tms380tr_microcode.h
@@ -0,0 +1,3622 @@
+/*
+ * The firmware this driver downloads into the tokenring card is a
+ * separate program and is not GPL'd source code, even though the Linux
+ * side driver and the routine that loads this data into the card are.
+ *
+ * This firmware is licensed to you strictly for use in conjunction
+ * with the use of SysKonnect TokenRing adapters. There is no
+ * waranty expressed or implied about its fitness for any purpose.
+ */
+
+/* tms380tr_microcode.h: TI TMS380 Token Ring driver COMMprocessor microcode
+ *
+ * Notes:
+ * - Loaded from tms380tr_reset_adapter upon adapter reset.
+ *
+ * This microcode is loaded into the TMS380 COMMprocessor during adapter
+ * initialization. It is copyright Texas Instruments and contains
+ * intellectual property of both TI and their contractors.
+ *
+ * TMS380 COMMprocessor Microcode Version 3.11 for Token Ring.
+ *
+ * Available from TI in COFF format (EAGLECAF.OUT).
+ *
+ */
+
+#include <linux/config.h>
+
+#if defined(CONFIG_TMS380TR) || defined(CONFIG_TMS380TR_MODULE)
+
+unsigned char tms380tr_code[] = {
+ 0x00, 0x00, 0x00, 0xA0, 0x00, 0x20, 0x68, 0x54,
+ 0x73, 0x69, 0x63, 0x20, 0x64, 0x6F, 0x20, 0x65,
+ 0x73, 0x69, 0x72, 0x20, 0x6C, 0x65, 0x61, 0x65,
+ 0x65, 0x73, 0x20, 0x64, 0x6E, 0x75, 0x65, 0x64,
+ 0x20, 0x72, 0x69, 0x6C, 0x65, 0x63, 0x63, 0x6E,
+ 0x20, 0x65, 0x6E, 0x4F, 0x79, 0x6C, 0x20, 0x2C,
+ 0x6C, 0x41, 0x20, 0x6C, 0x69, 0x72, 0x68, 0x67,
+ 0x73, 0x74, 0x72, 0x20, 0x73, 0x65, 0x72, 0x65,
+ 0x65, 0x76, 0x2E, 0x64, 0x60, 0x01, 0x42, 0x01,
+ 0x00, 0x08, 0x08, 0x16, 0xB0, 0x03, 0xE0, 0x04,
+ 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0xFF, 0xFF,
+ 0xFC, 0x13, 0x80, 0x03, 0xA0, 0x07, 0x42, 0x01,
+ 0x00, 0x08, 0x20, 0x07, 0x00, 0x00, 0xE0, 0x04,
+ 0x00, 0x01, 0x8B, 0x07, 0x00, 0x3D, 0x60, 0x01,
+ 0x42, 0x01, 0x80, 0x00, 0x09, 0x13, 0x8B, 0x07,
+ 0x00, 0x2D, 0x20, 0xC0, 0x4E, 0x01, 0x80, 0x02,
+ 0x41, 0x0F, 0x02, 0x11, 0x8B, 0x07, 0x00, 0x3D,
+ 0x0B, 0xC8, 0x4A, 0x01, 0x00, 0x02, 0x00, 0x90,
+ 0xA0, 0x09, 0x00, 0xC8, 0x66, 0x01, 0xE0, 0x02,
+ 0xA0, 0x00, 0xA0, 0x07, 0x04, 0x01, 0x20, 0x00,
+ 0xA0, 0x01, 0x40, 0x01, 0x00, 0xFE, 0x20, 0x48,
+ 0x2A, 0xE0, 0x42, 0x01, 0xE0, 0x04, 0x02, 0x01,
+ 0xE0, 0x04, 0x60, 0x09, 0xE0, 0x04, 0x82, 0x01,
+ 0x60, 0x01, 0x1C, 0x01, 0x04, 0x00, 0x03, 0x16,
+ 0xE0, 0x01, 0x40, 0x01, 0x00, 0x0C, 0xA0, 0x06,
+ 0xBC, 0xA1, 0xA0, 0x07, 0x04, 0x01, 0x2D, 0x00,
+ 0x20, 0xC2, 0x00, 0xE0, 0x88, 0x02, 0x11, 0xE3,
+ 0x14, 0x16, 0xA0, 0x07, 0x04, 0x01, 0x2E, 0x00,
+ 0x60, 0x01, 0x42, 0x01, 0x00, 0x03, 0x0D, 0x16,
+ 0xA0, 0x07, 0x04, 0x01, 0x21, 0x00, 0x88, 0x07,
+ 0x00, 0xA0, 0x89, 0x07, 0xFE, 0xFF, 0xA8, 0x09,
+ 0xA9, 0x09, 0x8A, 0x07, 0x02, 0xE0, 0xA0, 0x06,
+ 0x84, 0xEC, 0x56, 0x10, 0x88, 0x07, 0x00, 0x90,
+ 0x89, 0x07, 0xFE, 0x9F, 0xA8, 0x09, 0xA9, 0x09,
+ 0x8A, 0x07, 0x78, 0xE0, 0xA0, 0x06, 0x84, 0xEC,
+ 0x4B, 0x10, 0xA0, 0x05, 0x04, 0x01, 0x88, 0x07,
+ 0x08, 0x00, 0x89, 0x07, 0x7A, 0x00, 0x00, 0x03,
+ 0x01, 0x00, 0xA0, 0x06, 0xD2, 0xAC, 0x40, 0x10,
+ 0xA0, 0x06, 0xBC, 0xA1, 0xE0, 0x02, 0xF4, 0x03,
+ 0x88, 0x07, 0xA0, 0x00, 0x89, 0x07, 0xFE, 0x00,
+ 0xA0, 0x06, 0xD2, 0xAC, 0x35, 0x10, 0xE0, 0x02,
+ 0xA0, 0x00, 0xE0, 0x04, 0x7E, 0x01, 0xC8, 0x04,
+ 0x09, 0x02, 0xF2, 0x03, 0x48, 0x62, 0xE0, 0xC1,
+ 0x40, 0x01, 0xA0, 0x01, 0x40, 0x01, 0x00, 0x04,
+ 0x18, 0xCE, 0x09, 0x06, 0xFD, 0x16, 0xA0, 0x01,
+ 0x40, 0x01, 0x00, 0x40, 0x07, 0xC8, 0x40, 0x01,
+ 0x88, 0x07, 0xF4, 0x03, 0x89, 0x07, 0xFE, 0x3F,
+ 0xA0, 0x06, 0xD2, 0xAC, 0x19, 0x10, 0xE0, 0x02,
+ 0xA0, 0x00, 0xA0, 0x06, 0xFA, 0xAD, 0x14, 0x10,
+ 0x08, 0xC8, 0x44, 0x04, 0x09, 0xC8, 0x46, 0x04,
+ 0xA0, 0x06, 0x28, 0xAD, 0x0D, 0x10, 0x81, 0x07,
+ 0x7C, 0xE0, 0xB1, 0xC0, 0x26, 0x13, 0x01, 0xC8,
+ 0xE0, 0x00, 0xA0, 0x05, 0x04, 0x01, 0x92, 0x06,
+ 0x03, 0x10, 0x60, 0xC0, 0xE0, 0x00, 0xF5, 0x10,
+ 0xE0, 0x01, 0x04, 0x01, 0x10, 0x00, 0xB0, 0x03,
+ 0xFF, 0x10, 0xA0, 0x01, 0x04, 0x01, 0x00, 0x80,
+ 0x80, 0x03, 0x80, 0x07, 0xA0, 0x00, 0xC2, 0x04,
+ 0x80, 0xCC, 0x81, 0x07, 0xAA, 0xA1, 0x82, 0x02,
+ 0x1E, 0x00, 0x02, 0x16, 0x81, 0x07, 0xB4, 0xA1,
+ 0x81, 0xC4, 0x81, 0x8C, 0xE9, 0x16, 0x82, 0x02,
+ 0x7C, 0x00, 0xF2, 0x16, 0x00, 0x03, 0x0F, 0x00,
+ 0x5B, 0x04, 0x81, 0x07, 0x08, 0xE1, 0x82, 0x07,
+ 0x04, 0x00, 0xE0, 0x04, 0x80, 0x01, 0xE0, 0x04,
+ 0x82, 0x01, 0x91, 0xC4, 0xB1, 0x8C, 0xD8, 0x16,
+ 0x82, 0x02, 0x7C, 0x00, 0xFA, 0x16, 0x20, 0xC8,
+ 0x04, 0xE0, 0x82, 0x01, 0x20, 0xE8, 0x0C, 0xE0,
+ 0x82, 0x01, 0x20, 0xC8, 0x10, 0xE0, 0x80, 0x01,
+ 0x81, 0x07, 0x86, 0xE0, 0xB1, 0xC0, 0x07, 0x13,
+ 0xB1, 0xC4, 0xFC, 0x10, 0xA0, 0x07, 0x04, 0x01,
+ 0x2E, 0x00, 0x60, 0x04, 0xAA, 0xA1, 0x81, 0x07,
+ 0x34, 0xE0, 0x82, 0x07, 0xFC, 0x05, 0x83, 0x07,
+ 0x0A, 0x00, 0xB1, 0xCC, 0x43, 0x06, 0xFD, 0x16,
+ 0x02, 0x02, 0x00, 0x06, 0x60, 0xD0, 0x4E, 0x01,
+ 0xED, 0x13, 0x21, 0x02, 0x00, 0xF7, 0x21, 0x02,
+ 0x00, 0xC0, 0x81, 0xDC, 0x60, 0xD0, 0x4F, 0x01,
+ 0xC1, 0xC0, 0x41, 0x09, 0x21, 0x02, 0x00, 0xF0,
+ 0x81, 0xDC, 0x43, 0x02, 0x00, 0x0F, 0x23, 0x02,
+ 0x00, 0xF0, 0x83, 0xDC, 0x01, 0x02, 0x32, 0x0C,
+ 0xA0, 0xC0, 0x44, 0x04, 0xE0, 0xC0, 0x46, 0x04,
+ 0x03, 0xC1, 0x02, 0x61, 0x84, 0x05, 0x04, 0xC8,
+ 0x48, 0x04, 0x03, 0xC1, 0x84, 0x05, 0x04, 0xA1,
+ 0x01, 0xA1, 0x04, 0xC8, 0x30, 0x0C, 0x03, 0xC1,
+ 0x84, 0x05, 0xF1, 0x04, 0x04, 0x06, 0xFD, 0x16,
+ 0x08, 0x02, 0x00, 0xA0, 0xA8, 0x09, 0x60, 0xC2,
+ 0x30, 0x0C, 0x29, 0x02, 0xFF, 0x03, 0xA9, 0x09,
+ 0x29, 0x02, 0x40, 0x00, 0x80, 0x07, 0x00, 0x90,
+ 0xA0, 0x09, 0x8A, 0x07, 0xFE, 0x9F, 0x2A, 0x02,
+ 0xFF, 0x03, 0xAA, 0x09, 0x01, 0x02, 0x32, 0x0C,
+ 0x05, 0x02, 0x00, 0x00, 0x03, 0xC1, 0x84, 0x05,
+ 0x11, 0x07, 0xC1, 0x05, 0x85, 0x05, 0x04, 0x06,
+ 0x0B, 0x13, 0x85, 0x80, 0xF9, 0x1A, 0x05, 0x80,
+ 0xF8, 0x1A, 0x85, 0x82, 0xF5, 0x1A, 0x05, 0x82,
+ 0xF4, 0x1A, 0x45, 0x82, 0xF1, 0x1A, 0xF1, 0x10,
+ 0x20, 0x2D, 0x02, 0x00, 0x60, 0x01, 0x40, 0x01,
+ 0x00, 0x40, 0x06, 0x16, 0x8A, 0x07, 0x00, 0x08,
+ 0xA0, 0x01, 0x40, 0x01, 0x00, 0x40, 0x48, 0x10,
+ 0x60, 0x01, 0x42, 0x01, 0x00, 0x80, 0x06, 0x16,
+ 0x8A, 0x07, 0x00, 0x10, 0xA0, 0x01, 0x42, 0x01,
+ 0x00, 0x80, 0x3E, 0x10, 0x60, 0x01, 0x02, 0x01,
+ 0x00, 0x10, 0x0A, 0x16, 0x60, 0x01, 0x00, 0x01,
+ 0x00, 0x04, 0x06, 0x16, 0x8A, 0x07, 0x00, 0x80,
+ 0xA0, 0x01, 0x02, 0x01, 0x00, 0x10, 0x30, 0x10,
+ 0x60, 0x01, 0x02, 0x01, 0x00, 0x08, 0x0A, 0x16,
+ 0x60, 0x01, 0x00, 0x01, 0x00, 0x04, 0x06, 0x16,
+ 0xA0, 0x01, 0x02, 0x01, 0x00, 0x08, 0x0D, 0x02,
+ 0x01, 0x00, 0x0D, 0x10, 0x60, 0x01, 0x02, 0x01,
+ 0x00, 0x04, 0x16, 0x16, 0x60, 0x01, 0x00, 0x01,
+ 0x00, 0x08, 0x12, 0x16, 0xA0, 0x01, 0x02, 0x01,
+ 0x00, 0x04, 0x0D, 0x02, 0x02, 0x00, 0xA0, 0xC3,
+ 0x0E, 0x01, 0xE0, 0xC3, 0x10, 0x01, 0x8A, 0x07,
+ 0x00, 0x20, 0x60, 0x01, 0x00, 0x01, 0x00, 0x80,
+ 0x0B, 0x13, 0x8A, 0x07, 0x00, 0x40, 0x08, 0x10,
+ 0x8A, 0x07, 0x04, 0x00, 0x05, 0x10, 0x8A, 0x07,
+ 0x02, 0x00, 0x02, 0x10, 0x8A, 0x07, 0x08, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0xE0, 0x04, 0x82, 0x01,
+ 0x8B, 0x07, 0xE0, 0x05, 0xCA, 0xCE, 0xCD, 0xCE,
+ 0xCE, 0xCE, 0xCF, 0xC6, 0x20, 0xC3, 0x58, 0x07,
+ 0x20, 0x23, 0x04, 0xE0, 0x12, 0x13, 0x8B, 0x07,
+ 0x18, 0xFF, 0x8A, 0x02, 0x00, 0x80, 0x0A, 0x13,
+ 0x8B, 0x05, 0xCD, 0xA2, 0x8A, 0x02, 0x00, 0x40,
+ 0x05, 0x13, 0x8A, 0x02, 0x00, 0x20, 0x02, 0x13,
+ 0x8B, 0x07, 0x1D, 0xFF, 0x0B, 0xC8, 0x04, 0x01,
+ 0x0D, 0x10, 0x20, 0xD3, 0x05, 0x01, 0xFD, 0x11,
+ 0x20, 0xD8, 0xDF, 0x07, 0x17, 0x01, 0x8B, 0x07,
+ 0x80, 0xFF, 0x0B, 0xC8, 0x04, 0x01, 0x20, 0xE8,
+ 0x0A, 0xE0, 0x00, 0x01, 0xE0, 0xC2, 0x04, 0x01,
+ 0xE0, 0x22, 0x86, 0xE1, 0xFB, 0x16, 0xE0, 0x02,
+ 0xA0, 0x00, 0xE0, 0x04, 0x82, 0x01, 0x20, 0xE8,
+ 0x0A, 0xE0, 0x00, 0x01, 0xE0, 0xC2, 0x00, 0x01,
+ 0xE0, 0x22, 0x06, 0xE0, 0xF8, 0x13, 0xA0, 0x01,
+ 0x40, 0x01, 0x00, 0xF6, 0x60, 0x04, 0x90, 0xA0,
+ 0x00, 0x03, 0x02, 0x00, 0xA0, 0x07, 0x02, 0x01,
+ 0xFF, 0xDF, 0x90, 0x03, 0xFF, 0xFF, 0x80, 0x03,
+ 0x00, 0x03, 0x02, 0x00, 0x09, 0x07, 0xA0, 0xC2,
+ 0x04, 0x01, 0x8A, 0x01, 0x80, 0x00, 0x4A, 0x52,
+ 0x89, 0xD2, 0x0A, 0xC8, 0x04, 0x01, 0xA0, 0xD2,
+ 0x04, 0x01, 0xF9, 0x16, 0x49, 0x05, 0x89, 0x01,
+ 0x00, 0x80, 0x49, 0x01, 0x00, 0x40, 0x0E, 0x13,
+ 0x09, 0xF8, 0x3A, 0x07, 0x60, 0xC2, 0x36, 0x07,
+ 0x03, 0x16, 0x90, 0x03, 0xFF, 0xFF, 0x80, 0x03,
+ 0xE0, 0x04, 0x36, 0x07, 0x54, 0x04, 0x90, 0x03,
+ 0xFF, 0xFF, 0x80, 0x03, 0x60, 0x22, 0x86, 0xE1,
+ 0xC2, 0x13, 0xE0, 0x04, 0x82, 0x01, 0x60, 0x04,
+ 0xE0, 0xA3, 0x00, 0x03, 0x02, 0x00, 0xA0, 0x07,
+ 0x62, 0x09, 0xE8, 0x03, 0xC9, 0x04, 0xA0, 0xC1,
+ 0x34, 0x06, 0x04, 0x16, 0xA0, 0x06, 0x50, 0xB5,
+ 0xE0, 0x04, 0x20, 0x09, 0x86, 0x07, 0xE8, 0x05,
+ 0xA0, 0x01, 0x40, 0x01, 0x00, 0x80, 0x20, 0xC2,
+ 0x84, 0x01, 0x20, 0x48, 0x08, 0xE0, 0x84, 0x01,
+ 0x20, 0x22, 0x08, 0xE0, 0x08, 0x13, 0x60, 0x01,
+ 0xAE, 0x01, 0x01, 0x00, 0x04, 0x16, 0xE0, 0x01,
+ 0x34, 0x06, 0x00, 0x80, 0x06, 0x10, 0x20, 0xC2,
+ 0x32, 0x09, 0x06, 0x13, 0xE0, 0x01, 0x34, 0x06,
+ 0x00, 0x08, 0xE0, 0x04, 0x30, 0x06, 0x09, 0x07,
+ 0xA0, 0x05, 0xEE, 0x05, 0x20, 0x06, 0xEC, 0x05,
+ 0x02, 0x16, 0x16, 0xC2, 0x03, 0x16, 0x49, 0xC2,
+ 0x12, 0x16, 0x80, 0x03, 0x98, 0xC5, 0xE8, 0xC1,
+ 0x02, 0x00, 0xE0, 0xE9, 0x14, 0xE0, 0x04, 0x00,
+ 0xD7, 0x04, 0x27, 0x02, 0x08, 0x00, 0xA0, 0x06,
+ 0xE6, 0xB4, 0x16, 0xC2, 0x04, 0x13, 0x28, 0xC8,
+ 0x08, 0x00, 0xEC, 0x05, 0xEF, 0x13, 0x54, 0x04,
+ 0x00, 0x03, 0x02, 0x00, 0xE0, 0xC1, 0x86, 0x01,
+ 0x47, 0x02, 0x0E, 0x00, 0xA7, 0xC2, 0x90, 0xE1,
+ 0x5A, 0x04, 0x8A, 0x07, 0x00, 0xA0, 0x0A, 0xC8,
+ 0x86, 0x01, 0xC7, 0xA1, 0x27, 0x02, 0x98, 0xE1,
+ 0x37, 0xE8, 0x34, 0x06, 0x17, 0xE8, 0xD2, 0x06,
+ 0xE0, 0x04, 0x30, 0x06, 0x60, 0x04, 0xF2, 0xA9,
+ 0x0A, 0xE8, 0xD2, 0x06, 0xE0, 0x01, 0x34, 0x06,
+ 0x00, 0x08, 0xE0, 0x04, 0x30, 0x06, 0x20, 0xE0,
+ 0x18, 0xE0, 0x5B, 0x04, 0xA0, 0x05, 0x20, 0x09,
+ 0x20, 0x88, 0x20, 0x09, 0x16, 0xE0, 0xE5, 0x1A,
+ 0xE0, 0x04, 0x20, 0x09, 0xA0, 0x06, 0xD0, 0xD5,
+ 0x80, 0x03, 0xA0, 0x05, 0x32, 0x09, 0x80, 0x03,
+ 0x01, 0xC3, 0xFB, 0x13, 0x60, 0x01, 0x6A, 0x09,
+ 0x01, 0x00, 0x78, 0x13, 0xA0, 0x05, 0x32, 0x09,
+ 0x75, 0x10, 0x41, 0xC0, 0x06, 0x13, 0x01, 0xC8,
+ 0x6C, 0x01, 0xE0, 0xC2, 0x02, 0xFC, 0x01, 0x11,
+ 0x7B, 0x10, 0x60, 0x01, 0x9C, 0x01, 0x40, 0x00,
+ 0x79, 0x16, 0x20, 0xD8, 0x2F, 0x09, 0x83, 0x01,
+ 0x41, 0xC0, 0x04, 0x13, 0x01, 0xC8, 0x8A, 0x01,
+ 0x01, 0xC8, 0x18, 0x09, 0x86, 0x07, 0x43, 0x00,
+ 0x06, 0xC8, 0x6C, 0x01, 0x07, 0x02, 0x02, 0xFC,
+ 0x17, 0xC2, 0x60, 0x04, 0xFA, 0xA6, 0xE0, 0x04,
+ 0x18, 0x09, 0xC7, 0x61, 0x08, 0x07, 0x60, 0x01,
+ 0x06, 0xFC, 0x40, 0x00, 0x02, 0x13, 0x08, 0x02,
+ 0x01, 0x00, 0x09, 0x10, 0x4C, 0xC2, 0x20, 0xC3,
+ 0x00, 0xFC, 0x2A, 0x13, 0x0C, 0xC8, 0x6C, 0x01,
+ 0xE0, 0xC2, 0x02, 0xFC, 0x1B, 0x11, 0x4B, 0x01,
+ 0x00, 0x01, 0xF4, 0x16, 0xC8, 0x22, 0x12, 0x13,
+ 0xCB, 0x01, 0x00, 0x40, 0x0B, 0xC8, 0x02, 0xFC,
+ 0x0D, 0x10, 0xE0, 0xC1, 0x18, 0x09, 0x01, 0xC3,
+ 0x21, 0x13, 0x4C, 0xC2, 0x15, 0x13, 0x0C, 0xC8,
+ 0x6C, 0x01, 0xE0, 0xC2, 0x02, 0xFC, 0x06, 0x11,
+ 0xCC, 0x81, 0xD5, 0x13, 0x4C, 0xC2, 0x20, 0xC3,
+ 0x00, 0xFC, 0xF4, 0x10, 0x09, 0xC8, 0x6C, 0x01,
+ 0xE0, 0xC2, 0x02, 0xFC, 0x1E, 0x16, 0xA0, 0x07,
+ 0x02, 0xFC, 0x00, 0x80, 0x09, 0xC3, 0x19, 0x10,
+ 0x09, 0xC8, 0x6C, 0x01, 0xE0, 0xC2, 0x02, 0xFC,
+ 0x05, 0x16, 0xA0, 0x07, 0x02, 0xFC, 0x00, 0x80,
+ 0x09, 0xC3, 0x0F, 0x10, 0xE0, 0xC2, 0x02, 0x0C,
+ 0x01, 0x11, 0x1E, 0x10, 0x20, 0xD8, 0x00, 0xE2,
+ 0x83, 0x01, 0x8B, 0x09, 0x8B, 0x09, 0x8B, 0x09,
+ 0x8B, 0x09, 0xA0, 0x07, 0x8A, 0x01, 0x43, 0x00,
+ 0x13, 0x10, 0x0C, 0xC8, 0x8A, 0x01, 0x0C, 0xC8,
+ 0x18, 0x09, 0x0E, 0x10, 0x00, 0x03, 0x02, 0x00,
+ 0xE0, 0xC0, 0x6C, 0x01, 0x20, 0xC3, 0x8A, 0x01,
+ 0x20, 0x98, 0x83, 0x01, 0x00, 0xE2, 0x81, 0x13,
+ 0x60, 0x01, 0x9C, 0x01, 0x40, 0x00, 0xB9, 0x13,
+ 0x01, 0x83, 0x31, 0x16, 0x03, 0xC8, 0x6C, 0x01,
+ 0x40, 0x01, 0x10, 0x00, 0x14, 0x16, 0xE0, 0xC2,
+ 0x2E, 0x06, 0x11, 0x13, 0xE0, 0xC2, 0xF8, 0x05,
+ 0x0E, 0x13, 0xE0, 0x01, 0x3A, 0x07, 0x00, 0x80,
+ 0x80, 0x01, 0x10, 0x00, 0xE0, 0xC2, 0x36, 0x07,
+ 0x06, 0x13, 0xE0, 0x04, 0x36, 0x07, 0x80, 0x01,
+ 0x20, 0x00, 0x60, 0x04, 0xF2, 0xA9, 0x40, 0x01,
+ 0x20, 0x00, 0xF9, 0x13, 0x90, 0x03, 0xFF, 0x11,
+ 0x80, 0x03, 0x08, 0x01, 0x00, 0x04, 0x19, 0x16,
+ 0x60, 0x01, 0x6A, 0x09, 0x01, 0x00, 0x15, 0x16,
+ 0x88, 0x01, 0x00, 0x1A, 0xC8, 0x01, 0x00, 0x01,
+ 0xC8, 0xC5, 0x0F, 0x10, 0xE0, 0x04, 0x18, 0x09,
+ 0xC0, 0x01, 0x04, 0x00, 0x15, 0x10, 0x81, 0xC1,
+ 0x01, 0xC8, 0x6C, 0x01, 0x07, 0x02, 0x00, 0xFC,
+ 0x77, 0xC0, 0x17, 0xC2, 0x48, 0x01, 0x00, 0x18,
+ 0xE4, 0x13, 0x40, 0x01, 0x40, 0x00, 0x15, 0x16,
+ 0x80, 0x01, 0x45, 0x00, 0x46, 0xC1, 0x20, 0xD0,
+ 0x07, 0xFC, 0x60, 0x81, 0x18, 0x09, 0xE6, 0x13,
+ 0xE0, 0xC2, 0x08, 0xFC, 0x08, 0x11, 0xE0, 0xC2,
+ 0x0E, 0xFC, 0x07, 0x15, 0x06, 0x13, 0xE0, 0xC2,
+ 0x14, 0xFC, 0x03, 0x15, 0x02, 0x13, 0xC0, 0x01,
+ 0x01, 0x00, 0x48, 0x01, 0x00, 0x01, 0x11, 0x13,
+ 0x40, 0x01, 0x80, 0x40, 0x69, 0x13, 0x60, 0x04,
+ 0x66, 0xA6, 0x48, 0x01, 0x01, 0x00, 0x03, 0x16,
+ 0x40, 0x01, 0x00, 0x40, 0x0B, 0x16, 0xC8, 0x01,
+ 0x00, 0x40, 0xA0, 0x05, 0x32, 0x09, 0xC8, 0xC5,
+ 0x05, 0x10, 0xC0, 0x01, 0x40, 0x00, 0x40, 0x01,
+ 0x04, 0x00, 0xEF, 0x13, 0xB7, 0x01, 0x20, 0x00,
+ 0xD7, 0xC2, 0xC4, 0x62, 0x0B, 0x05, 0x2B, 0x02,
+ 0xFC, 0xFF, 0xCB, 0xC5, 0x02, 0x15, 0x46, 0x81,
+ 0x6A, 0x13, 0x08, 0x01, 0x00, 0x5E, 0x67, 0x16,
+ 0x08, 0x01, 0x88, 0x00, 0x13, 0x16, 0x86, 0x02,
+ 0x43, 0x00, 0x25, 0x16, 0x40, 0x01, 0x00, 0x40,
+ 0x0B, 0x13, 0x08, 0x01, 0x03, 0x00, 0x08, 0x13,
+ 0x84, 0xC2, 0x2A, 0x02, 0xD8, 0xFF, 0x06, 0xC8,
+ 0x6C, 0x01, 0x0A, 0x68, 0x04, 0xFC, 0x73, 0x10,
+ 0x60, 0x04, 0xD2, 0xA8, 0x40, 0x01, 0x01, 0x00,
+ 0xEA, 0x13, 0x08, 0x01, 0x02, 0x00, 0xE7, 0x16,
+ 0x48, 0x01, 0x01, 0x00, 0xE4, 0x16, 0x40, 0x01,
+ 0x00, 0x40, 0x04, 0x16, 0x60, 0x01, 0xA8, 0x09,
+ 0x80, 0x00, 0xDD, 0x13, 0x8A, 0x07, 0x80, 0x00,
+ 0xA0, 0x06, 0x32, 0xA5, 0xD8, 0x10, 0x00, 0xC0,
+ 0xE7, 0x11, 0x60, 0xC2, 0x6A, 0x09, 0x40, 0x01,
+ 0x00, 0x40, 0x0A, 0x13, 0x48, 0x01, 0x01, 0x00,
+ 0x34, 0x13, 0x48, 0x01, 0x02, 0x00, 0x0A, 0x13,
+ 0x49, 0x01, 0x04, 0x00, 0xD9, 0x16, 0x06, 0x10,
+ 0x49, 0x01, 0x02, 0x00, 0x03, 0x13, 0x08, 0x01,
+ 0x03, 0x00, 0x6E, 0x13, 0x49, 0x01, 0x01, 0x00,
+ 0x12, 0x13, 0x40, 0x01, 0x80, 0x40, 0x01, 0x16,
+ 0x46, 0xC1, 0xE0, 0x04, 0x00, 0xFC, 0x87, 0x07,
+ 0xF8, 0x05, 0x17, 0xC2, 0x14, 0x13, 0xC7, 0x05,
+ 0x17, 0xC8, 0x6C, 0x01, 0x05, 0xC8, 0x00, 0xFC,
+ 0xC6, 0xC5, 0x60, 0x04, 0x66, 0xA6, 0x07, 0x02,
+ 0x02, 0xFC, 0xE0, 0xA1, 0x2C, 0x09, 0xE0, 0xCD,
+ 0xEE, 0x05, 0xE0, 0xC5, 0x04, 0xFC, 0x20, 0xC8,
+ 0x2C, 0x09, 0x04, 0xFC, 0xE2, 0x10, 0xC5, 0xCD,
+ 0xC6, 0xC5, 0x60, 0x04, 0x66, 0xA6, 0x60, 0x04,
+ 0xB6, 0xA8, 0x06, 0xC8, 0x6C, 0x01, 0x85, 0x81,
+ 0x1A, 0x13, 0xE0, 0xC2, 0x04, 0xFC, 0x17, 0x15,
+ 0x86, 0xC2, 0x8A, 0xA2, 0xAA, 0xC1, 0x32, 0x0C,
+ 0x06, 0xC8, 0x6C, 0x01, 0x0B, 0xA8, 0x04, 0xFC,
+ 0x1A, 0x09, 0x0A, 0xC8, 0x6C, 0x01, 0xE0, 0xC2,
+ 0x02, 0xFC, 0xE0, 0x04, 0x00, 0xFC, 0x06, 0xC8,
+ 0x6C, 0x01, 0x0B, 0xC8, 0x02, 0xFC, 0xA0, 0x06,
+ 0x3E, 0xB4, 0x06, 0xC8, 0x6C, 0x01, 0xE0, 0x04,
+ 0x00, 0xFC, 0xA0, 0x01, 0x02, 0xFC, 0x02, 0x00,
+ 0x87, 0x07, 0x30, 0x06, 0xE7, 0x01, 0x04, 0x00,
+ 0x40, 0x00, 0xD7, 0x04, 0x27, 0x02, 0x0C, 0x00,
+ 0x05, 0xC2, 0x60, 0x01, 0x6A, 0x09, 0x04, 0x00,
+ 0x03, 0x16, 0xE0, 0x01, 0x02, 0xFC, 0x20, 0x00,
+ 0xA0, 0x06, 0xFC, 0xB4, 0xC0, 0x01, 0x20, 0x00,
+ 0x60, 0x04, 0x66, 0xA6, 0x48, 0x01, 0x00, 0x18,
+ 0x03, 0x13, 0x48, 0x01, 0x00, 0x10, 0x02, 0x16,
+ 0xA0, 0x05, 0x32, 0x09, 0x86, 0x02, 0x43, 0x00,
+ 0x03, 0x13, 0x40, 0x01, 0x80, 0x40, 0x98, 0x13,
+ 0x06, 0xC8, 0x6C, 0x01, 0xE0, 0x04, 0x00, 0xFC,
+ 0x85, 0xC2, 0xA0, 0x06, 0x3E, 0xB4, 0x20, 0x06,
+ 0x62, 0x09, 0xE6, 0x16, 0xA0, 0x06, 0xD0, 0xD5,
+ 0xE3, 0x10, 0xA0, 0xC2, 0xF6, 0x05, 0x56, 0x16,
+ 0x19, 0xC8, 0xF0, 0x05, 0xA9, 0xC2, 0x0A, 0x00,
+ 0x0D, 0x11, 0xA0, 0xF2, 0x2E, 0x09, 0x0A, 0xD8,
+ 0x80, 0x01, 0x29, 0xC8, 0x06, 0x00, 0x8C, 0x01,
+ 0xA0, 0x07, 0x16, 0x09, 0x04, 0x00, 0x09, 0xC8,
+ 0xF4, 0x05, 0x46, 0x10, 0x29, 0xC8, 0x06, 0x00,
+ 0x6C, 0x01, 0x20, 0xC8, 0x0E, 0xFC, 0xBC, 0x01,
+ 0x20, 0xC8, 0x10, 0xFC, 0xB0, 0x01, 0x20, 0xC8,
+ 0x12, 0xFC, 0xB2, 0x01, 0xA0, 0xF2, 0x2E, 0x09,
+ 0x8A, 0x01, 0x00, 0x10, 0xA0, 0x01, 0x80, 0x01,
+ 0x00, 0xC4, 0xE1, 0x10, 0x47, 0x01, 0x08, 0x00,
+ 0x06, 0x16, 0xA8, 0xC2, 0x06, 0x00, 0xA0, 0x06,
+ 0x3E, 0xB4, 0xE8, 0x04, 0x06, 0x00, 0x07, 0x01,
+ 0x20, 0x00, 0x31, 0x13, 0xE8, 0x04, 0x02, 0x00,
+ 0x3B, 0x10, 0xE0, 0x04, 0x00, 0xFC, 0xA0, 0x06,
+ 0x3E, 0xB4, 0x29, 0x10, 0x00, 0x03, 0x02, 0x00,
+ 0x20, 0xC2, 0x8C, 0x01, 0xE0, 0xC0, 0x6C, 0x01,
+ 0x20, 0xC2, 0xF4, 0x05, 0x28, 0xC8, 0x08, 0x00,
+ 0x6C, 0x01, 0xE8, 0xC1, 0x0A, 0x00, 0x20, 0xC3,
+ 0x02, 0xFC, 0x8C, 0x01, 0x20, 0x00, 0x0C, 0xC8,
+ 0x02, 0xFC, 0x0C, 0x01, 0x00, 0xFE, 0x3B, 0x16,
+ 0x47, 0x01, 0x40, 0x00, 0x50, 0x13, 0x60, 0xC2,
+ 0xF0, 0x05, 0xA7, 0x16, 0xE0, 0x04, 0xF4, 0x05,
+ 0x0C, 0xCA, 0x08, 0x00, 0x47, 0x01, 0x80, 0x00,
+ 0xC9, 0x16, 0x28, 0xC8, 0x06, 0x00, 0x6C, 0x01,
+ 0xA0, 0xC2, 0x00, 0xFC, 0xD2, 0x16, 0xE8, 0xC1,
+ 0x02, 0x00, 0xD7, 0xC2, 0x0F, 0x16, 0x27, 0x02,
+ 0x10, 0x00, 0xD8, 0x04, 0x57, 0xC2, 0x0E, 0x13,
+ 0xC7, 0x05, 0x57, 0xC2, 0x48, 0xC6, 0xC8, 0xC5,
+ 0x03, 0xC8, 0x6C, 0x01, 0x0D, 0x11, 0x90, 0x03,
+ 0xFF, 0x11, 0x80, 0x03, 0xD7, 0x04, 0xC3, 0x01,
+ 0x00, 0x80, 0xED, 0x10, 0xE7, 0x01, 0xF4, 0xFF,
+ 0x20, 0x00, 0xC8, 0xCD, 0xC8, 0xC5, 0xF0, 0x10,
+ 0x90, 0x03, 0xF8, 0x11, 0xE0, 0x02, 0xC0, 0x00,
+ 0x60, 0xC3, 0xFA, 0x00, 0xA0, 0xC3, 0xFC, 0x00,
+ 0xE0, 0xC3, 0xFE, 0x00, 0x54, 0x04, 0xE8, 0xC2,
+ 0x08, 0x00, 0xA8, 0xC2, 0x06, 0x00, 0x0C, 0xC3,
+ 0x33, 0x11, 0x20, 0x23, 0x0A, 0xE0, 0x45, 0x13,
+ 0x20, 0x23, 0x10, 0xE0, 0x46, 0x13, 0x20, 0x23,
+ 0x0E, 0xE0, 0x13, 0x13, 0xE0, 0x21, 0x16, 0xE0,
+ 0xB6, 0x16, 0x20, 0x23, 0x06, 0xE0, 0x03, 0x16,
+ 0x20, 0x27, 0xA8, 0xE4, 0x0A, 0x13, 0xE8, 0xC2,
+ 0x08, 0x00, 0xA8, 0xC2, 0x06, 0x00, 0x4C, 0x01,
+ 0x88, 0x00, 0xA9, 0x16, 0x0C, 0x01, 0x44, 0x00,
+ 0xA6, 0x16, 0x20, 0x06, 0x16, 0x09, 0xA3, 0x13,
+ 0x0A, 0xC8, 0x6C, 0x01, 0x20, 0xC8, 0x04, 0xE0,
+ 0x02, 0xFC, 0x0B, 0xC8, 0x6C, 0x01, 0xA0, 0x07,
+ 0x02, 0xFC, 0x00, 0x81, 0x20, 0xC3, 0x80, 0x01,
+ 0xA0, 0x01, 0x80, 0x01, 0x00, 0xC4, 0x0C, 0xC8,
+ 0x80, 0x01, 0x0A, 0xC8, 0x8C, 0x01, 0xAC, 0x10,
+ 0x0A, 0xC2, 0x0F, 0x13, 0x08, 0xC8, 0x6C, 0x01,
+ 0xA0, 0xC2, 0x00, 0xFC, 0x20, 0xC3, 0x02, 0xFC,
+ 0x20, 0x23, 0x12, 0xE0, 0xF5, 0x16, 0x0B, 0xC8,
+ 0x6C, 0x01, 0x0C, 0xC8, 0x02, 0xFC, 0x60, 0x04,
+ 0x72, 0xA9, 0x8A, 0x07, 0x00, 0x04, 0x60, 0x04,
+ 0x8A, 0xA3, 0x8A, 0x07, 0x20, 0x00, 0x60, 0x04,
+ 0x8A, 0xA3, 0x8A, 0x07, 0x00, 0x02, 0x20, 0x27,
+ 0x0E, 0xE0, 0x04, 0x16, 0xA0, 0x06, 0x32, 0xA5,
+ 0xC3, 0x01, 0x00, 0x80, 0xA8, 0xC2, 0x06, 0x00,
+ 0x60, 0x04, 0x98, 0xA9, 0x00, 0x03, 0x02, 0x00,
+ 0xC0, 0x01, 0x10, 0x00, 0xE0, 0xC2, 0x2E, 0x06,
+ 0x08, 0x13, 0xE0, 0xC2, 0xF8, 0x05, 0x05, 0x13,
+ 0xE0, 0x01, 0x3A, 0x07, 0x00, 0x80, 0x80, 0x01,
+ 0x10, 0x00, 0x90, 0x03, 0xFF, 0x7F, 0x80, 0x03,
+ 0x00, 0x03, 0x02, 0x00, 0x20, 0xC2, 0xF6, 0x05,
+ 0x20, 0xE2, 0xF4, 0x05, 0x0E, 0x16, 0x20, 0xD8,
+ 0x2E, 0x09, 0x80, 0x01, 0x2B, 0xC8, 0x06, 0x00,
+ 0x8C, 0x01, 0xA0, 0x07, 0x16, 0x09, 0x04, 0x00,
+ 0x0B, 0xC8, 0xF4, 0x05, 0x90, 0x03, 0xFF, 0xFF,
+ 0x80, 0x03, 0x87, 0x07, 0xF0, 0x05, 0xDB, 0x04,
+ 0x57, 0xC2, 0x05, 0x16, 0xCB, 0xCD, 0xCB, 0xC5,
+ 0x90, 0x03, 0xFF, 0xFF, 0x80, 0x03, 0xC7, 0x05,
+ 0x57, 0xC2, 0x4B, 0xC6, 0xCB, 0xC5, 0x90, 0x03,
+ 0xFF, 0xFF, 0x80, 0x03, 0x00, 0x03, 0x02, 0x00,
+ 0x0B, 0xC2, 0x20, 0xC3, 0xF4, 0x05, 0x0F, 0x13,
+ 0xA8, 0xC2, 0x0A, 0x00, 0x4A, 0x01, 0x10, 0x00,
+ 0x16, 0x16, 0xA0, 0x22, 0x04, 0xE0, 0x1A, 0x16,
+ 0x08, 0xC3, 0xA0, 0x06, 0x36, 0xAC, 0x0C, 0xC2,
+ 0x20, 0xC3, 0xF4, 0x05, 0x13, 0x16, 0x68, 0x01,
+ 0x0A, 0x00, 0x10, 0x00, 0x03, 0x13, 0xE0, 0xC2,
+ 0xF6, 0x05, 0x05, 0x16, 0xA0, 0x06, 0x78, 0xAC,
+ 0x90, 0x03, 0xFF, 0xFF, 0x80, 0x03, 0x87, 0x07,
+ 0xF0, 0x05, 0xA0, 0x06, 0xE6, 0xB4, 0x90, 0x03,
+ 0xFF, 0xFF, 0x80, 0x03, 0x87, 0x07, 0xF0, 0x05,
+ 0xA0, 0x06, 0x2C, 0xB5, 0x80, 0x03, 0x00, 0x03,
+ 0x02, 0x00, 0x87, 0x07, 0xF0, 0x05, 0xCB, 0xC2,
+ 0x08, 0x16, 0xA0, 0x06, 0x36, 0xAC, 0x20, 0x07,
+ 0xF6, 0x05, 0x60, 0xCB, 0xF4, 0x05, 0x02, 0x00,
+ 0x80, 0x03, 0xE0, 0x04, 0xF6, 0x05, 0x20, 0xC2,
+ 0xF4, 0x05, 0x05, 0x16, 0x17, 0xC2, 0x03, 0x13,
+ 0xD8, 0xC5, 0xA0, 0x06, 0x78, 0xAC, 0x80, 0x03,
+ 0x00, 0x03, 0x02, 0x00, 0x0B, 0xC3, 0xA0, 0x06,
+ 0x36, 0xAC, 0x8C, 0xC2, 0xCC, 0xC1, 0x27, 0x02,
+ 0x10, 0x00, 0x88, 0x07, 0xF0, 0x05, 0x88, 0xC1,
+ 0x18, 0xC2, 0x26, 0x13, 0xA8, 0x82, 0x02, 0x00,
+ 0xFA, 0x16, 0xE8, 0xC2, 0x0A, 0x00, 0xE0, 0x22,
+ 0x1E, 0xE0, 0xF5, 0x16, 0x98, 0xC5, 0xE0, 0x22,
+ 0x1C, 0xE0, 0x0B, 0x16, 0x28, 0xC8, 0x06, 0x00,
+ 0xF4, 0x00, 0xE0, 0x02, 0xE0, 0x00, 0xA0, 0x06,
+ 0x3E, 0xB4, 0xE0, 0x02, 0xC0, 0x00, 0xE8, 0x04,
+ 0x06, 0x00, 0xE0, 0x22, 0x18, 0xE0, 0xE4, 0x13,
+ 0x20, 0xEA, 0x22, 0xE0, 0x0A, 0x00, 0xA0, 0xEA,
+ 0x18, 0xE0, 0x04, 0x00, 0xDA, 0x04, 0xA0, 0x06,
+ 0xE6, 0xB4, 0x47, 0x06, 0x06, 0xC2, 0xD8, 0x10,
+ 0x06, 0xC8, 0xF2, 0x05, 0x60, 0xCB, 0xF4, 0x05,
+ 0x02, 0x00, 0x54, 0x04, 0x20, 0xC2, 0xF4, 0x05,
+ 0x13, 0x13, 0xE0, 0x01, 0x9C, 0x01, 0x00, 0x40,
+ 0x8B, 0x0B, 0x8B, 0x0B, 0x60, 0x01, 0x9C, 0x01,
+ 0x00, 0x40, 0x0A, 0x16, 0x60, 0xC2, 0x6C, 0x01,
+ 0x28, 0xC8, 0x06, 0x00, 0x6C, 0x01, 0xA0, 0xC2,
+ 0x02, 0xFC, 0x03, 0x11, 0x09, 0xC8, 0x6C, 0x01,
+ 0x5B, 0x04, 0x09, 0xC8, 0x6C, 0x01, 0x4B, 0xC2,
+ 0x87, 0x07, 0xF0, 0x05, 0xA0, 0x06, 0x2C, 0xB5,
+ 0xE0, 0x04, 0xF4, 0x05, 0x59, 0x04, 0xA8, 0xC2,
+ 0x0A, 0x00, 0x0D, 0x11, 0xA0, 0xF2, 0x2E, 0x09,
+ 0x0A, 0xD8, 0x80, 0x01, 0x28, 0xC8, 0x06, 0x00,
+ 0x8C, 0x01, 0xA0, 0x07, 0x16, 0x09, 0x04, 0x00,
+ 0x08, 0xC8, 0xF4, 0x05, 0x5B, 0x04, 0x20, 0xC3,
+ 0x6C, 0x01, 0x28, 0xC8, 0x06, 0x00, 0x6C, 0x01,
+ 0x20, 0xC8, 0x0E, 0xFC, 0xBC, 0x01, 0x20, 0xC8,
+ 0x10, 0xFC, 0xB0, 0x01, 0x20, 0xC8, 0x12, 0xFC,
+ 0xB2, 0x01, 0x0C, 0xC8, 0x6C, 0x01, 0xA0, 0xF2,
+ 0x2E, 0x09, 0x8A, 0x01, 0x00, 0x10, 0xA0, 0x01,
+ 0x80, 0x01, 0x00, 0xC4, 0xDD, 0x10, 0x48, 0xC0,
+ 0x89, 0xC0, 0x81, 0x60, 0xC2, 0x05, 0x5B, 0x04,
+ 0x0B, 0xC3, 0xA0, 0x06, 0xC8, 0xAC, 0x41, 0xCC,
+ 0x42, 0x06, 0xFD, 0x16, 0xA0, 0x06, 0xC8, 0xAC,
+ 0x01, 0xC1, 0x44, 0x8C, 0x12, 0x16, 0xC4, 0x05,
+ 0x42, 0x06, 0xFB, 0x16, 0x04, 0x02, 0x0E, 0xAD,
+ 0x03, 0x02, 0x01, 0x01, 0x94, 0x06, 0x03, 0x02,
+ 0x5A, 0x5A, 0x94, 0x06, 0x43, 0x05, 0x94, 0x06,
+ 0x03, 0x07, 0x94, 0x06, 0xC3, 0x04, 0x94, 0x06,
+ 0xCC, 0x05, 0x5C, 0x04, 0xCB, 0xC1, 0xA0, 0x06,
+ 0xC8, 0xAC, 0x43, 0xCC, 0x42, 0x06, 0xFD, 0x16,
+ 0xA0, 0x06, 0xC8, 0xAC, 0x43, 0x8C, 0xF5, 0x16,
+ 0x42, 0x06, 0xFC, 0x16, 0x57, 0x04, 0x8B, 0xC2,
+ 0x08, 0xC0, 0x49, 0xC1, 0x85, 0x05, 0x80, 0x02,
+ 0x40, 0x00, 0x03, 0x11, 0x80, 0x02, 0x4F, 0x00,
+ 0x45, 0x12, 0x01, 0x02, 0xC8, 0xAC, 0xA1, 0x09,
+ 0x01, 0x80, 0x40, 0x13, 0x01, 0x02, 0xF8, 0xAD,
+ 0xA1, 0x09, 0x01, 0x80, 0x3B, 0x13, 0x60, 0xC0,
+ 0x06, 0x00, 0xA1, 0x09, 0x01, 0x80, 0x36, 0x13,
+ 0x81, 0x05, 0x01, 0x80, 0x33, 0x13, 0x4A, 0xC0,
+ 0xA1, 0x09, 0x01, 0x80, 0x2F, 0x13, 0x00, 0xC8,
+ 0x6A, 0x01, 0x80, 0x02, 0x80, 0x00, 0x17, 0x14,
+ 0x01, 0x02, 0x00, 0xF8, 0xA0, 0xC1, 0x40, 0x01,
+ 0xA0, 0x01, 0x40, 0x01, 0x00, 0x04, 0x02, 0x02,
+ 0x00, 0x10, 0x03, 0x02, 0x00, 0x04, 0xB1, 0xCC,
+ 0x43, 0x06, 0xFD, 0x16, 0xA0, 0x01, 0x40, 0x01,
+ 0x00, 0x40, 0x08, 0x02, 0x10, 0xF8, 0x06, 0xC8,
+ 0x40, 0x01, 0x00, 0xC0, 0x02, 0x13, 0x08, 0x02,
+ 0x00, 0xF8, 0x09, 0x02, 0xFE, 0xFB, 0xA0, 0x06,
+ 0xD2, 0xAC, 0x25, 0x10, 0x80, 0x02, 0x80, 0x00,
+ 0x09, 0x14, 0x01, 0x02, 0x00, 0xF8, 0x02, 0x02,
+ 0x00, 0x10, 0x03, 0x02, 0x00, 0x04, 0x72, 0xCC,
+ 0x43, 0x06, 0xFD, 0x16, 0x80, 0x05, 0x80, 0x02,
+ 0x80, 0x00, 0x04, 0x12, 0x60, 0x01, 0x04, 0x01,
+ 0x20, 0x00, 0x05, 0x13, 0x40, 0x81, 0xAB, 0x16,
+ 0x80, 0x02, 0x80, 0x00, 0x0B, 0x14, 0xA0, 0x07,
+ 0x6A, 0x01, 0x7E, 0x00, 0x02, 0x02, 0x00, 0x10,
+ 0x03, 0x02, 0x00, 0x04, 0xC1, 0x04, 0x81, 0xCC,
+ 0x43, 0x06, 0xFD, 0x16, 0xCA, 0x05, 0x5A, 0x04,
+ 0x00, 0x02, 0xEA, 0xAD, 0x01, 0x02, 0x1A, 0xAF,
+ 0x40, 0x02, 0x00, 0xFC, 0x41, 0x02, 0x00, 0xFC,
+ 0x40, 0x80, 0x04, 0x13, 0xA0, 0x07, 0x04, 0x01,
+ 0x3C, 0x00, 0x5B, 0x04, 0xC0, 0x04, 0x01, 0x02,
+ 0x08, 0x00, 0x02, 0x02, 0x00, 0x12, 0xE0, 0xC1,
+ 0x40, 0x01, 0xA0, 0x01, 0x40, 0x01, 0x00, 0x04,
+ 0x03, 0x02, 0x00, 0x01, 0x00, 0xC8, 0x6A, 0x01,
+ 0xA0, 0xCC, 0x10, 0xF8, 0x80, 0x05, 0x03, 0x06,
+ 0xF9, 0x16, 0x22, 0x02, 0x00, 0x02, 0x01, 0x06,
+ 0xF3, 0x16, 0xA0, 0x01, 0x40, 0x01, 0x00, 0x40,
+ 0x07, 0xC8, 0x40, 0x01, 0x00, 0x02, 0x00, 0x08,
+ 0x40, 0xC0, 0x01, 0x06, 0x01, 0xC8, 0x6A, 0x01,
+ 0x61, 0x02, 0x00, 0x80, 0x01, 0xC8, 0x10, 0xF8,
+ 0x00, 0x06, 0xF6, 0x16, 0xC0, 0x04, 0xC8, 0x04,
+ 0xC9, 0x04, 0x03, 0x02, 0x00, 0x08, 0x00, 0xC8,
+ 0x6A, 0x01, 0x80, 0xC1, 0x66, 0x02, 0x00, 0x80,
+ 0x20, 0xC1, 0x10, 0xF8, 0x06, 0x81, 0x15, 0x16,
+ 0x08, 0xC2, 0x06, 0x13, 0x80, 0x05, 0x03, 0x06,
+ 0xF2, 0x16, 0x08, 0xC2, 0x0D, 0x13, 0x19, 0x10,
+ 0xA0, 0x07, 0x10, 0xF8, 0x55, 0x55, 0x20, 0xC1,
+ 0x10, 0xF8, 0x84, 0x02, 0x55, 0x55, 0x02, 0x16,
+ 0x06, 0xC2, 0xF0, 0x10, 0x06, 0x81, 0xEE, 0x13,
+ 0x5B, 0x04, 0xA0, 0x07, 0x10, 0xF8, 0x55, 0x55,
+ 0x60, 0xC1, 0x10, 0xF8, 0x05, 0x81, 0x03, 0x13,
+ 0x85, 0x02, 0x55, 0x55, 0xF5, 0x16, 0x08, 0xC2,
+ 0xE1, 0x13, 0x40, 0xC2, 0x09, 0x06, 0x48, 0x02,
+ 0xFF, 0x07, 0xC0, 0x04, 0x01, 0x02, 0x08, 0x00,
+ 0x02, 0x02, 0x00, 0x12, 0x03, 0x02, 0x00, 0x01,
+ 0x00, 0xC8, 0x6A, 0x01, 0x32, 0xC8, 0x10, 0xF8,
+ 0x80, 0x05, 0x03, 0x06, 0xF9, 0x16, 0x22, 0x02,
+ 0x00, 0x02, 0x01, 0x06, 0xF3, 0x16, 0x88, 0x02,
+ 0x40, 0x00, 0x13, 0x15, 0x89, 0x02, 0x4F, 0x00,
+ 0x10, 0x11, 0xC0, 0x04, 0x02, 0x02, 0x00, 0x12,
+ 0x01, 0x02, 0x08, 0x00, 0x03, 0x02, 0x00, 0x01,
+ 0x80, 0xCC, 0x03, 0x06, 0xFD, 0x16, 0x22, 0x02,
+ 0x00, 0x02, 0x01, 0x06, 0xF7, 0x16, 0xCB, 0x05,
+ 0x5B, 0x04, 0xA0, 0x07, 0x04, 0x01, 0x37, 0x00,
+ 0x5B, 0x04, 0x33, 0x07, 0x33, 0x07, 0x0C, 0x10,
+ 0x13, 0x07, 0x23, 0x07, 0x02, 0x00, 0xCB, 0xC8,
+ 0x06, 0x00, 0x23, 0x02, 0x18, 0x00, 0xE0, 0xCC,
+ 0x6C, 0x01, 0xCD, 0xCC, 0xCE, 0xCC, 0xCF, 0xCC,
+ 0x83, 0x07, 0x30, 0x06, 0xD3, 0xC1, 0x0A, 0x13,
+ 0x83, 0x07, 0x36, 0x07, 0xD3, 0xC1, 0x06, 0x13,
+ 0x83, 0x07, 0xA0, 0x00, 0x93, 0x00, 0x0C, 0xC8,
+ 0x6C, 0x01, 0x80, 0x03, 0x63, 0x07, 0x02, 0x00,
+ 0x2A, 0x15, 0x63, 0xC2, 0x04, 0x00, 0x63, 0x42,
+ 0x06, 0x00, 0xDB, 0x13, 0x63, 0xC3, 0x1A, 0x00,
+ 0x49, 0xD2, 0x0C, 0x13, 0xC9, 0x06, 0x49, 0x72,
+ 0x69, 0xD2, 0xC0, 0xE1, 0xC9, 0x06, 0x49, 0x72,
+ 0xE9, 0x48, 0x04, 0xE0, 0x04, 0x00, 0x49, 0xCB,
+ 0x02, 0x00, 0x52, 0x04, 0x69, 0xC2, 0xC0, 0xE1,
+ 0x49, 0x72, 0x29, 0x02, 0x10, 0x00, 0xC3, 0xC2,
+ 0xE9, 0xA2, 0xA8, 0xE1, 0x1B, 0xC3, 0x89, 0x02,
+ 0x12, 0x00, 0x0F, 0x13, 0xDC, 0xC6, 0x03, 0x16,
+ 0xE9, 0x48, 0x04, 0xE0, 0x04, 0x00, 0x49, 0xCB,
+ 0x02, 0x00, 0x4C, 0xCB, 0x04, 0x00, 0x90, 0x03,
+ 0xFF, 0x01, 0x93, 0x00, 0x0C, 0xC8, 0x6C, 0x01,
+ 0x80, 0x03, 0x0C, 0xC8, 0x6C, 0x01, 0xE0, 0xC6,
+ 0x00, 0xFC, 0xF1, 0x16, 0xE9, 0x48, 0x04, 0xE0,
+ 0x04, 0x00, 0x49, 0xCB, 0x02, 0x00, 0x4C, 0xCB,
+ 0x04, 0x00, 0xED, 0x10, 0x00, 0x03, 0x02, 0x00,
+ 0xDB, 0xC2, 0x63, 0xC2, 0x04, 0x00, 0x4B, 0x42,
+ 0x9F, 0x13, 0x49, 0xD2, 0x0E, 0x13, 0xC9, 0x06,
+ 0x49, 0x72, 0x69, 0xD2, 0xC0, 0xE1, 0xC9, 0x06,
+ 0x49, 0x72, 0xE9, 0x48, 0x04, 0xE0, 0x04, 0x00,
+ 0x49, 0xCB, 0x02, 0x00, 0x90, 0x03, 0xFF, 0xFF,
+ 0x80, 0x03, 0x69, 0xC2, 0xC0, 0xE1, 0x49, 0x72,
+ 0x29, 0x02, 0x10, 0x00, 0xC3, 0xC2, 0xE9, 0xA2,
+ 0xA8, 0xE1, 0x1B, 0xC3, 0x89, 0x02, 0x12, 0x00,
+ 0x0C, 0x13, 0xDC, 0xC6, 0x03, 0x16, 0xE9, 0x48,
+ 0x04, 0xE0, 0x04, 0x00, 0x49, 0xCB, 0x02, 0x00,
+ 0x4C, 0xCB, 0x04, 0x00, 0x90, 0x03, 0xFF, 0xFF,
+ 0x80, 0x03, 0x0C, 0xC8, 0x6C, 0x01, 0xE0, 0xC6,
+ 0x00, 0xFC, 0xF4, 0x16, 0xF0, 0x10, 0x00, 0x03,
+ 0x02, 0x00, 0xBB, 0xC2, 0xBB, 0xC1, 0x86, 0xD1,
+ 0x03, 0x13, 0x86, 0xEA, 0x04, 0x00, 0x13, 0x10,
+ 0xA6, 0xD1, 0xC0, 0xE1, 0xC6, 0x06, 0x86, 0x71,
+ 0xCA, 0xC1, 0xE6, 0xA1, 0xB8, 0xE1, 0xA6, 0xEA,
+ 0x14, 0xE0, 0x04, 0x00, 0x1B, 0xC2, 0x86, 0x02,
+ 0x02, 0x00, 0x03, 0x16, 0xA0, 0x06, 0x0C, 0xB5,
+ 0x02, 0x10, 0xA0, 0x06, 0xE6, 0xB4, 0xDA, 0x04,
+ 0x80, 0x03, 0x00, 0x03, 0x02, 0x00, 0xAB, 0xC2,
+ 0x06, 0x00, 0x8C, 0x07, 0xE8, 0x05, 0x5C, 0xC2,
+ 0x16, 0x13, 0xA0, 0xC1, 0xEC, 0x05, 0x8A, 0x81,
+ 0x1A, 0x1A, 0xC6, 0xC1, 0x09, 0xC2, 0x59, 0xC2,
+ 0x20, 0x13, 0xE9, 0xA1, 0x08, 0x00, 0x87, 0x82,
+ 0xF9, 0x12, 0xA9, 0xA2, 0x08, 0x00, 0x87, 0x62,
+ 0xCA, 0xCA, 0x08, 0x00, 0x4A, 0x6A, 0x08, 0x00,
+ 0xC9, 0xC6, 0x0B, 0xC6, 0x80, 0x03, 0xCA, 0xCA,
+ 0x08, 0x00, 0x0A, 0xC8, 0xEC, 0x05, 0xDB, 0x04,
+ 0x0B, 0xCF, 0x0B, 0xC7, 0x80, 0x03, 0x8A, 0x61,
+ 0x46, 0xCA, 0x08, 0x00, 0xCA, 0xCA, 0x08, 0x00,
+ 0x0A, 0xC8, 0xEC, 0x05, 0xC9, 0xC6, 0x0B, 0xC7,
+ 0x80, 0x03, 0x87, 0x62, 0xCA, 0xCA, 0x08, 0x00,
+ 0xDB, 0x04, 0x0B, 0xC6, 0x0B, 0xCB, 0x02, 0x00,
+ 0x80, 0x03, 0x00, 0x03, 0x02, 0x00, 0xBB, 0xC1,
+ 0xDB, 0xC2, 0x8C, 0x07, 0xE8, 0x05, 0x4C, 0xC2,
+ 0xED, 0x04, 0x02, 0x00, 0x09, 0xC2, 0x59, 0xC2,
+ 0x18, 0x13, 0xA9, 0x81, 0x02, 0x00, 0xFA, 0x16,
+ 0xE9, 0x82, 0x04, 0x00, 0xF7, 0x16, 0x49, 0xCB,
+ 0x04, 0x00, 0x99, 0xC2, 0x0A, 0xC6, 0x0A, 0x13,
+ 0x08, 0x83, 0x04, 0x13, 0xA9, 0xAA, 0x08, 0x00,
+ 0x08, 0x00, 0x80, 0x03, 0x2A, 0xA8, 0x08, 0x00,
+ 0xEC, 0x05, 0x80, 0x03, 0x08, 0xCB, 0x02, 0x00,
+ 0x80, 0x03, 0x2D, 0x07, 0x02, 0x00, 0x8C, 0x07,
+ 0x08, 0x00, 0x06, 0xA3, 0x4C, 0xC2, 0x09, 0xC2,
+ 0x59, 0xC2, 0x13, 0x13, 0xE9, 0x82, 0x04, 0x00,
+ 0xFA, 0x16, 0xAD, 0x07, 0x02, 0x00, 0x01, 0x00,
+ 0x49, 0xCB, 0x04, 0x00, 0x19, 0xC6, 0x01, 0x13,
+ 0x80, 0x03, 0x08, 0x83, 0x04, 0x16, 0xA0, 0x49,
+ 0x14, 0xE0, 0x04, 0x00, 0x80, 0x03, 0x08, 0xCB,
+ 0x02, 0x00, 0x80, 0x03, 0x00, 0x03, 0x02, 0x00,
+ 0x0B, 0x06, 0x1F, 0x11, 0x4D, 0x13, 0x8B, 0x07,
+ 0x00, 0x4E, 0x60, 0x01, 0x42, 0x01, 0x80, 0x00,
+ 0x09, 0x13, 0x8B, 0x07, 0x00, 0x3A, 0x20, 0xC1,
+ 0x4E, 0x01, 0x84, 0x02, 0x41, 0x0F, 0x02, 0x11,
+ 0x8B, 0x07, 0x00, 0x4E, 0x0B, 0xC8, 0x44, 0x01,
+ 0xA0, 0x07, 0x62, 0x09, 0xE8, 0x03, 0xE0, 0x01,
+ 0x40, 0x01, 0x00, 0x02, 0xE0, 0x01, 0x40, 0x01,
+ 0x00, 0x20, 0x84, 0x07, 0x34, 0xAF, 0x60, 0x04,
+ 0x42, 0xAF, 0x20, 0xC8, 0x16, 0xE0, 0xE0, 0x00,
+ 0xE0, 0xC2, 0x6A, 0x09, 0xE0, 0x22, 0x10, 0xE0,
+ 0x03, 0x13, 0x20, 0xE8, 0x14, 0xE0, 0xE0, 0x00,
+ 0x20, 0xC8, 0x04, 0xE0, 0x82, 0x01, 0x20, 0xC8,
+ 0xE2, 0x00, 0x8A, 0x01, 0xE0, 0x04, 0x18, 0x09,
+ 0xE0, 0x04, 0xF4, 0x05, 0xE0, 0x04, 0xF8, 0x05,
+ 0xE0, 0x04, 0xF0, 0x05, 0xE0, 0x04, 0x42, 0x07,
+ 0xA0, 0x07, 0x88, 0x01, 0x20, 0x00, 0xE0, 0xC2,
+ 0x30, 0x09, 0x09, 0x13, 0xA0, 0x07, 0x88, 0x01,
+ 0x80, 0x00, 0x20, 0xE8, 0x16, 0xE0, 0x80, 0x01,
+ 0xE0, 0x01, 0x82, 0x01, 0x00, 0x03, 0x8B, 0x07,
+ 0x00, 0xA0, 0x0B, 0xE8, 0x86, 0x01, 0x80, 0x03,
+ 0xE0, 0x04, 0x86, 0x01, 0xE0, 0x01, 0x9C, 0x01,
+ 0x40, 0x00, 0xE0, 0x01, 0x9C, 0x01, 0x00, 0x40,
+ 0xCB, 0x04, 0xB0, 0x03, 0x0B, 0x06, 0x04, 0x13,
+ 0x60, 0x01, 0x9C, 0x01, 0x00, 0x40, 0xF9, 0x16,
+ 0xE0, 0x04, 0x82, 0x01, 0x20, 0xE8, 0x08, 0xE0,
+ 0x6A, 0x09, 0x8B, 0x07, 0x00, 0x80, 0x0B, 0xC8,
+ 0x98, 0x07, 0x0B, 0xC8, 0x78, 0x07, 0x20, 0xC8,
+ 0x04, 0xE0, 0x82, 0x01, 0x8B, 0x07, 0x6F, 0x87,
+ 0x0B, 0x48, 0x3A, 0x07, 0xE0, 0xC2, 0x50, 0x07,
+ 0x8B, 0x02, 0x58, 0x07, 0x10, 0x13, 0x20, 0xE8,
+ 0x0A, 0xE0, 0x00, 0x01, 0xE0, 0xC2, 0x00, 0x01,
+ 0xE0, 0x22, 0x06, 0xE0, 0xF8, 0x13, 0x8B, 0x07,
+ 0x58, 0x07, 0x0B, 0xC8, 0x50, 0x07, 0x8B, 0x07,
+ 0x0C, 0xB8, 0x0B, 0xC8, 0x52, 0x07, 0x80, 0x03,
+ 0x00, 0x03, 0x02, 0x00, 0xE0, 0xC2, 0x1A, 0x09,
+ 0x0C, 0x13, 0x20, 0x06, 0x1C, 0x09, 0x0B, 0xC8,
+ 0x6C, 0x01, 0x20, 0xC8, 0x00, 0xFC, 0x1A, 0x09,
+ 0x4B, 0xCB, 0x02, 0x00, 0x90, 0x03, 0xFF, 0xFF,
+ 0x80, 0x03, 0x41, 0xC0, 0x0F, 0x13, 0x81, 0x80,
+ 0x0D, 0x13, 0x82, 0xA0, 0xE2, 0xC2, 0x32, 0x0C,
+ 0x12, 0x09, 0x0B, 0xC8, 0x6C, 0x01, 0xE0, 0x04,
+ 0x00, 0xFC, 0x20, 0xC3, 0x02, 0xFC, 0x07, 0x11,
+ 0x02, 0xC8, 0x00, 0xFC, 0xED, 0x04, 0x02, 0x00,
+ 0xE0, 0x04, 0x6C, 0x01, 0x80, 0x03, 0x42, 0xCB,
+ 0x02, 0x00, 0x02, 0xC8, 0x6C, 0x01, 0x8B, 0xC0,
+ 0x80, 0x03, 0x00, 0x03, 0x02, 0x00, 0x83, 0x07,
+ 0x00, 0x80, 0x60, 0xC2, 0x7E, 0x09, 0x09, 0xC1,
+ 0x24, 0x02, 0xF8, 0xFF, 0xA9, 0x08, 0x01, 0x02,
+ 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x0B, 0x02,
+ 0x00, 0x00, 0x0C, 0x02, 0x00, 0x00, 0x07, 0x02,
+ 0x00, 0x00, 0x2C, 0xCB, 0x32, 0x0C, 0x32, 0x0C,
+ 0x06, 0x13, 0x8B, 0x05, 0xCC, 0x05, 0x0B, 0x88,
+ 0x46, 0x04, 0x27, 0x1B, 0xF6, 0x10, 0x09, 0xC2,
+ 0x8B, 0xC2, 0x08, 0x06, 0x0A, 0x13, 0x8B, 0x05,
+ 0xCC, 0x05, 0x0B, 0x88, 0x46, 0x04, 0x1D, 0x1B,
+ 0x2C, 0xCB, 0x32, 0x0C, 0x32, 0x0C, 0xED, 0x16,
+ 0xF4, 0x10, 0x82, 0xC0, 0x14, 0x13, 0x02, 0xC8,
+ 0x6C, 0x01, 0x0A, 0xC8, 0x00, 0xFC, 0x0A, 0xC8,
+ 0x6C, 0x01, 0xE0, 0x04, 0x00, 0xFC, 0xA0, 0x07,
+ 0x02, 0xFC, 0x00, 0x80, 0x04, 0xC8, 0x04, 0xFC,
+ 0x0A, 0xC2, 0x08, 0xA2, 0x02, 0xCA, 0x32, 0x0C,
+ 0x8A, 0xC0, 0x87, 0x05, 0xD6, 0x10, 0x4A, 0xC0,
+ 0xEE, 0x10, 0x47, 0xCB, 0x02, 0x00, 0xE0, 0x04,
+ 0x6C, 0x01, 0x8B, 0x07, 0x43, 0x00, 0xE0, 0x04,
+ 0x00, 0x0C, 0x00, 0x03, 0x02, 0x00, 0x0B, 0xC8,
+ 0x6C, 0x01, 0x8B, 0x02, 0x43, 0x00, 0x04, 0x13,
+ 0x60, 0x01, 0x02, 0xFC, 0x20, 0x00, 0x06, 0x13,
+ 0x8B, 0xC2, 0xA0, 0x06, 0x42, 0xB4, 0x90, 0x03,
+ 0x7F, 0x00, 0x80, 0x03, 0xA0, 0x01, 0x02, 0xFC,
+ 0x20, 0x00, 0x60, 0x01, 0x6A, 0x09, 0x01, 0x00,
+ 0x0B, 0x16, 0x0A, 0x02, 0x02, 0xFC, 0xA0, 0xA2,
+ 0x2C, 0x09, 0xA0, 0xCE, 0xEE, 0x05, 0xA0, 0xC6,
+ 0x04, 0xFC, 0x20, 0xC8, 0x2C, 0x09, 0x04, 0xFC,
+ 0x8A, 0x07, 0xF8, 0x05, 0x5A, 0xC2, 0x08, 0x13,
+ 0xCA, 0x05, 0x5A, 0xC2, 0x09, 0xC8, 0x6C, 0x01,
+ 0x0B, 0xC8, 0x00, 0xFC, 0x8B, 0xC6, 0x02, 0x10,
+ 0x8B, 0xCE, 0x8B, 0xC6, 0x20, 0x20, 0x1A, 0xE0,
+ 0x05, 0x16, 0x20, 0xE8, 0x04, 0xE0, 0x3A, 0x07,
+ 0xE0, 0x04, 0x36, 0x07, 0x90, 0x03, 0x7F, 0x00,
+ 0x80, 0x03, 0x00, 0x03, 0x02, 0x00, 0x0B, 0xC8,
+ 0x6C, 0x01, 0xCC, 0x04, 0xE0, 0x04, 0x00, 0xFC,
+ 0x8B, 0xC2, 0xA0, 0x06, 0x50, 0xB4, 0x90, 0x03,
+ 0x7F, 0x00, 0x80, 0x03, 0xA0, 0x07, 0x02, 0xFC,
+ 0x00, 0x80, 0x20, 0xC8, 0x8C, 0xE1, 0x04, 0xFC,
+ 0x41, 0xC0, 0x0F, 0x16, 0x20, 0xD8, 0x00, 0xE2,
+ 0x83, 0x01, 0x8B, 0x0B, 0x8B, 0x0B, 0x8B, 0x0B,
+ 0x8B, 0x0B, 0x8B, 0x0B, 0x8B, 0x0B, 0x8B, 0x0B,
+ 0x8B, 0x0B, 0x8B, 0x0B, 0x8B, 0x0B, 0x0A, 0xC8,
+ 0x8A, 0x01, 0x5B, 0x04, 0x0A, 0xC8, 0x6C, 0x01,
+ 0x20, 0xC3, 0x00, 0xFC, 0xE0, 0x04, 0x00, 0xFC,
+ 0x8A, 0x02, 0x43, 0x00, 0xDF, 0x13, 0xA0, 0x07,
+ 0x02, 0xFC, 0x00, 0x80, 0x04, 0xC8, 0x04, 0xFC,
+ 0x20, 0x98, 0x84, 0x09, 0x1D, 0x09, 0x0A, 0x13,
+ 0x20, 0xC8, 0x1A, 0x09, 0x00, 0xFC, 0x0A, 0xC8,
+ 0x1A, 0x09, 0xA0, 0x05, 0x1C, 0x09, 0x8C, 0xC2,
+ 0xE5, 0x16, 0x5B, 0x04, 0x41, 0xC0, 0x10, 0x13,
+ 0x8A, 0xA2, 0x82, 0xCA, 0x32, 0x0C, 0x1A, 0x09,
+ 0x02, 0xC8, 0x6C, 0x01, 0x0A, 0xC8, 0x00, 0xFC,
+ 0x8A, 0xC0, 0x20, 0x98, 0x83, 0x01, 0x00, 0xE2,
+ 0x09, 0x13, 0x8C, 0xC2, 0xD3, 0x16, 0x5B, 0x04,
+ 0x4A, 0xC0, 0x8A, 0xC0, 0x20, 0x98, 0x83, 0x01,
+ 0x00, 0xE2, 0x1B, 0x16, 0xE0, 0x01, 0x9C, 0x01,
+ 0x40, 0x00, 0xA0, 0x07, 0x64, 0x09, 0x00, 0x70,
+ 0x60, 0x01, 0x9C, 0x01, 0x40, 0x00, 0x07, 0x13,
+ 0x20, 0x06, 0x64, 0x09, 0xF9, 0x16, 0x0A, 0x02,
+ 0x00, 0x01, 0x60, 0x04, 0x8A, 0xA3, 0x60, 0x01,
+ 0x02, 0x0C, 0x00, 0x01, 0xE2, 0x13, 0x20, 0xD8,
+ 0x2F, 0x09, 0x83, 0x01, 0xA0, 0x07, 0x02, 0x0C,
+ 0x00, 0x80, 0x0A, 0xC8, 0x8A, 0x01, 0x0A, 0xC8,
+ 0x18, 0x09, 0xD7, 0x10, 0xD8, 0x04, 0x57, 0xC2,
+ 0x03, 0x16, 0xC8, 0xCD, 0xC8, 0xC5, 0x5B, 0x04,
+ 0xC7, 0x05, 0x57, 0xC2, 0x48, 0xC6, 0xC8, 0xC5,
+ 0x5B, 0x04, 0x08, 0xC8, 0x6C, 0x01, 0x08, 0xA2,
+ 0x20, 0xCA, 0x00, 0xFC, 0x32, 0x0C, 0x18, 0x09,
+ 0x02, 0x10, 0x08, 0xC8, 0x6C, 0x01, 0xE0, 0x04,
+ 0x00, 0xFC, 0x57, 0xC2, 0x03, 0x16, 0xC8, 0xCD,
+ 0xC8, 0xC5, 0x5B, 0x04, 0xC7, 0x05, 0x17, 0xC8,
+ 0x6C, 0x01, 0x08, 0xC8, 0x00, 0xFC, 0xC8, 0xC5,
+ 0x5B, 0x04, 0x17, 0xC6, 0x02, 0x16, 0xC8, 0xC9,
+ 0x02, 0x00, 0xC8, 0xC5, 0x5B, 0x04, 0x17, 0xC2,
+ 0x08, 0xC8, 0x6C, 0x01, 0x07, 0x13, 0xE0, 0xC5,
+ 0x00, 0xFC, 0x08, 0xA2, 0x28, 0xC8, 0x32, 0x0C,
+ 0x00, 0xFC, 0x18, 0x09, 0x5B, 0x04, 0x60, 0x01,
+ 0x82, 0x01, 0x00, 0x20, 0x0A, 0x16, 0x60, 0xC2,
+ 0x84, 0x01, 0xA0, 0x01, 0x82, 0x01, 0x00, 0x20,
+ 0xE0, 0x01, 0x82, 0x01, 0x00, 0x20, 0x09, 0xC8,
+ 0x84, 0x01, 0xC9, 0x04, 0x5B, 0x04, 0xA0, 0x06,
+ 0xBE, 0xB7, 0xD3, 0x04, 0xE0, 0x04, 0x02, 0x01,
+ 0x20, 0xE8, 0x14, 0xE0, 0x00, 0x01, 0x20, 0xC8,
+ 0x16, 0xE0, 0x04, 0x01, 0x05, 0x2C, 0x20, 0x48,
+ 0x14, 0xE0, 0x00, 0x01, 0x8C, 0x07, 0x00, 0x0A,
+ 0x8D, 0x07, 0xD8, 0x07, 0x8E, 0x07, 0x18, 0x00,
+ 0x7C, 0xCF, 0x4E, 0x06, 0xFD, 0x16, 0xE0, 0x02,
+ 0xD8, 0x07, 0x8F, 0x07, 0x11, 0xFF, 0x8B, 0x02,
+ 0x3B, 0x59, 0x21, 0x16, 0x8A, 0x02, 0x3B, 0x59,
+ 0x1E, 0x13, 0x8F, 0x05, 0x20, 0x20, 0x16, 0xE0,
+ 0x01, 0x16, 0x19, 0x10, 0x20, 0x20, 0x04, 0xE0,
+ 0x16, 0x16, 0x00, 0x01, 0xBF, 0x00, 0x13, 0x16,
+ 0x8B, 0x07, 0xC0, 0x40, 0x00, 0x01, 0x00, 0x60,
+ 0x10, 0x13, 0x40, 0x01, 0x00, 0x60, 0x0B, 0x16,
+ 0x8B, 0x07, 0xC4, 0x44, 0xA0, 0xC3, 0x02, 0x01,
+ 0x0E, 0x48, 0x02, 0x01, 0x4E, 0x01, 0x00, 0x10,
+ 0x04, 0x16, 0x8F, 0x07, 0x18, 0xFF, 0x60, 0x04,
+ 0x94, 0xB7, 0x0B, 0xC3, 0x4B, 0xC3, 0x20, 0x20,
+ 0x0A, 0xE0, 0x02, 0x16, 0x6B, 0x02, 0x20, 0x20,
+ 0x20, 0x20, 0x0C, 0xE0, 0x02, 0x16, 0x6C, 0x02,
+ 0x00, 0x20, 0x20, 0x20, 0x0E, 0xE0, 0x02, 0x16,
+ 0x6C, 0x02, 0x20, 0x00, 0x8F, 0x05, 0x20, 0x20,
+ 0x10, 0xE0, 0x07, 0x16, 0x6D, 0x02, 0x20, 0x00,
+ 0x20, 0x21, 0x22, 0xE0, 0xE4, 0x13, 0x04, 0xC1,
+ 0x02, 0x16, 0x84, 0x07, 0xFE, 0x7F, 0x8F, 0x05,
+ 0x20, 0x20, 0x12, 0xE0, 0x02, 0x16, 0x6D, 0x02,
+ 0x00, 0x20, 0x60, 0x21, 0x22, 0xE0, 0xD7, 0x13,
+ 0x45, 0xC1, 0x02, 0x16, 0x85, 0x07, 0xFE, 0x7F,
+ 0x8F, 0x05, 0x86, 0xD1, 0x0B, 0x13, 0xA0, 0x25,
+ 0x26, 0xE0, 0x08, 0x13, 0x8F, 0x05, 0x20, 0x26,
+ 0x22, 0xE0, 0x04, 0x16, 0x8F, 0x05, 0xA0, 0x26,
+ 0x22, 0xE0, 0x02, 0x13, 0x60, 0x04, 0x94, 0xB7,
+ 0x01, 0xD8, 0xEC, 0x08, 0x20, 0xD8, 0xDB, 0x07,
+ 0x00, 0x09, 0x02, 0xD8, 0xF6, 0x08, 0x20, 0xD8,
+ 0xDD, 0x07, 0xE2, 0x08, 0xE0, 0x02, 0x58, 0x07,
+ 0x20, 0xD8, 0xEF, 0x07, 0xF4, 0x07, 0x20, 0xD8,
+ 0xF1, 0x07, 0xF6, 0x07, 0x20, 0xD8, 0xF3, 0x07,
+ 0xF8, 0x07, 0x09, 0x02, 0x06, 0x00, 0xCB, 0x04,
+ 0x0F, 0x02, 0xEE, 0x07, 0x8F, 0x05, 0xCB, 0xDF,
+ 0x09, 0x06, 0xFC, 0x16, 0xA0, 0x06, 0xBE, 0xB7,
+ 0x89, 0x07, 0x5C, 0xE3, 0xE0, 0x04, 0x1A, 0x01,
+ 0x20, 0xC8, 0xE4, 0x07, 0x18, 0x01, 0x19, 0xC8,
+ 0x0C, 0x01, 0x39, 0xC8, 0x0A, 0x01, 0x39, 0xC8,
+ 0x12, 0x01, 0x09, 0x16, 0x79, 0xC3, 0x0F, 0x02,
+ 0x00, 0xE0, 0x4F, 0x63, 0x2D, 0x02, 0x00, 0x90,
+ 0x0D, 0xC8, 0x14, 0x01, 0x02, 0x10, 0x39, 0xC8,
+ 0x14, 0x01, 0xF9, 0xC3, 0x3F, 0xC8, 0x0E, 0x01,
+ 0x1F, 0xC8, 0x10, 0x01, 0xE0, 0x04, 0x14, 0x09,
+ 0xB9, 0xC2, 0x1A, 0xC8, 0x00, 0x01, 0x96, 0x06,
+ 0x89, 0x02, 0x84, 0xE3, 0xE0, 0x16, 0x8F, 0x07,
+ 0x1C, 0xFF, 0x8C, 0x07, 0x00, 0x0A, 0x8D, 0x07,
+ 0x84, 0xE3, 0x8E, 0x07, 0x10, 0x00, 0x7C, 0x8F,
+ 0x44, 0x16, 0x4E, 0x06, 0xFC, 0x16, 0xA0, 0xC3,
+ 0xE2, 0x07, 0xE0, 0xC3, 0xE0, 0x07, 0xCE, 0x83,
+ 0x01, 0x14, 0xCE, 0xC3, 0x0F, 0xC8, 0x1A, 0x01,
+ 0x8C, 0x07, 0x94, 0xE3, 0x8D, 0x07, 0x00, 0x0A,
+ 0x8E, 0x07, 0xA4, 0xE3, 0x8C, 0x63, 0x7C, 0xCF,
+ 0x4E, 0x06, 0xFD, 0x16, 0xE0, 0x04, 0x30, 0x09,
+ 0x20, 0x01, 0x42, 0x01, 0x00, 0x04, 0x02, 0x16,
+ 0x20, 0x07, 0x30, 0x09, 0x60, 0xC2, 0x62, 0x01,
+ 0xE0, 0x04, 0x62, 0x01, 0x8E, 0x07, 0x00, 0x80,
+ 0x8C, 0x07, 0x34, 0x09, 0x8D, 0x07, 0x06, 0x00,
+ 0x3E, 0xDF, 0x8E, 0x05, 0x0D, 0x06, 0xFC, 0x16,
+ 0xFE, 0xD3, 0xCF, 0x06, 0x8E, 0x05, 0xFE, 0xD3,
+ 0xCF, 0x06, 0x8C, 0x07, 0x34, 0x09, 0x09, 0xC8,
+ 0x62, 0x01, 0xC9, 0x04, 0x5C, 0xA3, 0x7C, 0xE2,
+ 0x5C, 0xA3, 0x7C, 0xE2, 0x5C, 0xA3, 0x7C, 0xE2,
+ 0x02, 0x13, 0xCD, 0x83, 0x09, 0x13, 0x20, 0x07,
+ 0x34, 0x09, 0x06, 0x10, 0x8F, 0x07, 0x19, 0xFF,
+ 0xCD, 0xA3, 0x0F, 0xC8, 0x04, 0x01, 0xFF, 0x10,
+ 0xA0, 0x01, 0x02, 0x01, 0x00, 0x10, 0xE0, 0xC3,
+ 0xEE, 0x07, 0xE0, 0x43, 0x06, 0xE0, 0x0F, 0xC8,
+ 0x00, 0x01, 0x20, 0xC0, 0x04, 0xE0, 0xE0, 0x04,
+ 0xFE, 0x06, 0xD3, 0x04, 0xE0, 0x04, 0x04, 0x01,
+ 0x60, 0x04, 0x0C, 0xB8, 0x8C, 0x07, 0x00, 0x0A,
+ 0x8D, 0x07, 0x18, 0x00, 0x8E, 0x07, 0x3B, 0x59,
+ 0x0E, 0xCF, 0x4D, 0x06, 0xFD, 0x16, 0x5B, 0x04,
+ 0x93, 0x01, 0x00, 0x80, 0x20, 0x04, 0xC0, 0xE2,
+ 0x60, 0xD0, 0x98, 0x07, 0x1C, 0x13, 0x00, 0x03,
+ 0x02, 0x00, 0xA0, 0xC0, 0x46, 0x07, 0x12, 0xC8,
+ 0x46, 0x07, 0x02, 0x16, 0x93, 0x01, 0x20, 0x00,
+ 0x00, 0x03, 0x0F, 0x00, 0x20, 0x04, 0xE8, 0xE2,
+ 0x93, 0x01, 0x00, 0x20, 0x80, 0x01, 0x00, 0x40,
+ 0x00, 0x01, 0xFE, 0x00, 0x49, 0x16, 0xC4, 0xC3,
+ 0x25, 0x16, 0xD3, 0xC3, 0xC5, 0x43, 0x0C, 0x16,
+ 0xE0, 0xC3, 0x98, 0x07, 0x03, 0x11, 0xE0, 0x02,
+ 0x98, 0x07, 0x51, 0x04, 0xE0, 0xC3, 0x78, 0x07,
+ 0x0A, 0x11, 0xE0, 0x02, 0x78, 0x07, 0x51, 0x04,
+ 0xD3, 0x11, 0x4F, 0x01, 0x00, 0x20, 0xE4, 0x13,
+ 0x4F, 0x01, 0x20, 0x00, 0xD1, 0x13, 0x05, 0x2C,
+ 0x41, 0xA0, 0x21, 0x04, 0xC0, 0xE2, 0x8B, 0x07,
+ 0x0C, 0xB8, 0x00, 0x01, 0x00, 0x40, 0x0F, 0x13,
+ 0xDD, 0xC3, 0x4F, 0x02, 0x0F, 0x00, 0x2F, 0xE1,
+ 0x14, 0xE0, 0x5B, 0x04, 0xE4, 0xC3, 0xC0, 0xE1,
+ 0xCF, 0x73, 0x2F, 0x41, 0x14, 0xE0, 0x6F, 0xC3,
+ 0xEC, 0xEA, 0x8B, 0x07, 0x0C, 0xB8, 0x4B, 0xC2,
+ 0xA0, 0xC2, 0xF4, 0x07, 0x8C, 0x07, 0x08, 0x00,
+ 0xBD, 0xC0, 0xA0, 0xC3, 0xEA, 0x07, 0xE0, 0xC3,
+ 0xEC, 0x07, 0xA0, 0x06, 0x00, 0xBA, 0xC0, 0x01,
+ 0x00, 0x40, 0x02, 0xD8, 0x17, 0x01, 0x62, 0x02,
+ 0x80, 0xFF, 0xA0, 0x06, 0x54, 0xBA, 0x02, 0xC8,
+ 0x04, 0x01, 0x90, 0x03, 0x3F, 0x60, 0x59, 0x04,
+ 0xC0, 0xC3, 0xCF, 0x73, 0xEF, 0xC3, 0xC0, 0xE1,
+ 0xCF, 0x73, 0xAF, 0xC3, 0xDE, 0xEA, 0x9E, 0xC3,
+ 0x4E, 0x02, 0x0F, 0x00, 0x2E, 0x21, 0x14, 0xE0,
+ 0x08, 0x13, 0x2F, 0x40, 0x14, 0xE0, 0xCF, 0xA3,
+ 0x2F, 0x04, 0xF0, 0xE2, 0x40, 0x01, 0x00, 0x40,
+ 0xA4, 0x13, 0xC4, 0xC3, 0xC7, 0x16, 0x00, 0x01,
+ 0xFE, 0x00, 0xE6, 0x16, 0x9E, 0x10, 0x40, 0x01,
+ 0x00, 0x40, 0x05, 0x16, 0x20, 0xE0, 0x14, 0xE0,
+ 0x65, 0x02, 0x00, 0x58, 0x96, 0x10, 0x20, 0xD8,
+ 0xDE, 0x07, 0x17, 0x01, 0x8F, 0x07, 0x86, 0xFF,
+ 0x0F, 0xC8, 0x04, 0x01, 0xC0, 0x01, 0x00, 0x40,
+ 0x45, 0x02, 0xFF, 0xA7, 0x8A, 0x10, 0x20, 0xC3,
+ 0xFE, 0x06, 0x20, 0x27, 0x38, 0xE3, 0x07, 0x13,
+ 0x20, 0x23, 0x22, 0xE0, 0x1A, 0x13, 0x65, 0x02,
+ 0xFF, 0xDF, 0x20, 0x40, 0x14, 0xE0, 0x20, 0xE0,
+ 0x16, 0xE0, 0x0C, 0xC8, 0xE6, 0x08, 0x8D, 0x07,
+ 0xE2, 0x08, 0x58, 0x04, 0x20, 0x48, 0x08, 0xE0,
+ 0xFE, 0x06, 0x20, 0xC3, 0xE6, 0x08, 0x20, 0x27,
+ 0x38, 0xE3, 0x19, 0x16, 0x80, 0x03, 0x02, 0xC3,
+ 0x6C, 0xC2, 0x0A, 0x00, 0x99, 0x06, 0x60, 0x04,
+ 0x0C, 0xB8, 0xA0, 0xC2, 0xF4, 0x07, 0x8C, 0x07,
+ 0x01, 0x00, 0x8D, 0x07, 0x06, 0x06, 0xCE, 0x04,
+ 0xE0, 0xC3, 0x08, 0x06, 0x01, 0x13, 0x97, 0x06,
+ 0x20, 0xD8, 0x07, 0x06, 0x17, 0x01, 0x8B, 0x07,
+ 0x82, 0xFF, 0x0B, 0xC8, 0x04, 0x01, 0xA0, 0x06,
+ 0xB4, 0xBE, 0x60, 0x04, 0x0C, 0xB8, 0xA0, 0xC2,
+ 0xEE, 0x07, 0x8C, 0x07, 0x06, 0x00, 0x8D, 0x07,
+ 0xEE, 0x08, 0xA0, 0xC3, 0xE6, 0x07, 0xE0, 0xC3,
+ 0xE8, 0x07, 0x97, 0x06, 0xA0, 0xC2, 0xF4, 0x07,
+ 0x8D, 0x07, 0xF4, 0x08, 0xDD, 0x04, 0x8C, 0x07,
+ 0x02, 0x00, 0x97, 0x06, 0x8D, 0x07, 0x00, 0x80,
+ 0xA0, 0xC2, 0xEE, 0x08, 0x0A, 0x88, 0x0C, 0x06,
+ 0x14, 0x1B, 0x82, 0x07, 0xD0, 0xB9, 0xA0, 0xC3,
+ 0xF0, 0x08, 0xE0, 0xC3, 0xF2, 0x08, 0x8B, 0x07,
+ 0x0C, 0xE3, 0x8A, 0x02, 0x14, 0x00, 0x04, 0x1A,
+ 0x8B, 0x07, 0xBA, 0xEA, 0x2A, 0x02, 0xEC, 0xFF,
+ 0x8A, 0xA2, 0xCA, 0xA2, 0xDB, 0xC2, 0x01, 0x13,
+ 0x9B, 0x06, 0x20, 0xC8, 0xEE, 0x08, 0xF2, 0x08,
+ 0x20, 0xC8, 0x20, 0xE0, 0xEE, 0x08, 0x0D, 0xC8,
+ 0xF0, 0x08, 0x8D, 0x07, 0xEC, 0x08, 0x20, 0xE0,
+ 0x18, 0xE0, 0x65, 0x02, 0x00, 0x58, 0x58, 0x04,
+ 0x45, 0x02, 0xFF, 0xA7, 0x80, 0x03, 0x60, 0xC0,
+ 0xEE, 0x05, 0x21, 0x02, 0xE8, 0x03, 0x20, 0x01,
+ 0x02, 0x01, 0x06, 0x00, 0x07, 0x16, 0x01, 0x88,
+ 0xEE, 0x05, 0xF9, 0x16, 0x39, 0x10, 0x60, 0xD0,
+ 0x03, 0x01, 0xF1, 0x13, 0x01, 0x02, 0x0A, 0x01,
+ 0x4C, 0xCC, 0x4C, 0xCC, 0x4E, 0xCC, 0x4F, 0xCC,
+ 0xB1, 0x07, 0x40, 0x00, 0x4D, 0xCC, 0x0A, 0xC8,
+ 0x00, 0x01, 0x5B, 0x04, 0x60, 0xC0, 0xEE, 0x05,
+ 0x21, 0x02, 0xE8, 0x03, 0x20, 0x01, 0x02, 0x01,
+ 0x06, 0x00, 0x07, 0x16, 0x01, 0x88, 0xEE, 0x05,
+ 0xF9, 0x16, 0x1E, 0x10, 0x60, 0xD0, 0x03, 0x01,
+ 0xF1, 0x13, 0x01, 0x02, 0x0A, 0x01, 0x4C, 0xCC,
+ 0x4C, 0xCC, 0x4E, 0xCC, 0x4F, 0xCC, 0xB1, 0x07,
+ 0x40, 0x00, 0x4D, 0xCC, 0x0A, 0xC8, 0x00, 0x01,
+ 0xA0, 0x03, 0x60, 0xD0, 0x03, 0x01, 0x01, 0x13,
+ 0x5B, 0x04, 0x60, 0xC0, 0xEE, 0x05, 0x21, 0x02,
+ 0xE8, 0x03, 0x20, 0x01, 0x02, 0x01, 0x06, 0x00,
+ 0xF7, 0x16, 0x01, 0x88, 0xEE, 0x05, 0xF9, 0x16,
+ 0xCD, 0x04, 0x8A, 0x07, 0x00, 0x40, 0x20, 0xC3,
+ 0x00, 0x01, 0x0C, 0x01, 0x00, 0x80, 0x02, 0x13,
+ 0x8A, 0x07, 0x00, 0x20, 0xA0, 0xC3, 0x0E, 0x01,
+ 0xE0, 0xC3, 0x10, 0x01, 0xB0, 0x03, 0x20, 0xC3,
+ 0x58, 0x07, 0x20, 0x23, 0x04, 0xE0, 0x02, 0x13,
+ 0x60, 0x04, 0x8E, 0xB7, 0x60, 0x04, 0x8A, 0xA3,
+ 0x8D, 0x07, 0x00, 0x20, 0x20, 0x20, 0x0A, 0xE0,
+ 0x01, 0x16, 0x5B, 0x04, 0x0D, 0x02, 0x32, 0x0C,
+ 0x5D, 0xC2, 0x01, 0x11, 0xDD, 0x04, 0xCD, 0x05,
+ 0x0D, 0x88, 0x30, 0x0C, 0xF9, 0x16, 0x60, 0xC2,
+ 0x0A, 0x06, 0x8D, 0x07, 0x6A, 0x09, 0xA0, 0x06,
+ 0xF4, 0xBE, 0x09, 0x02, 0x48, 0x00, 0xE0, 0xC3,
+ 0x30, 0x09, 0x03, 0x16, 0xE0, 0x01, 0x6A, 0x09,
+ 0x10, 0x00, 0xE0, 0xC2, 0x6A, 0x09, 0x0F, 0x02,
+ 0x00, 0x01, 0xC9, 0x26, 0x02, 0x13, 0x60, 0x04,
+ 0x86, 0xBD, 0x09, 0x02, 0x00, 0x12, 0x4B, 0x01,
+ 0x10, 0x00, 0x02, 0x13, 0x09, 0x02, 0x00, 0x13,
+ 0x09, 0xD8, 0x2E, 0x09, 0x8F, 0x07, 0x00, 0x40,
+ 0x89, 0x07, 0x6C, 0x09, 0xCB, 0x04, 0xF9, 0xE2,
+ 0xF9, 0xE2, 0xF9, 0xE2, 0x07, 0x16, 0x8B, 0x07,
+ 0x34, 0x09, 0x8C, 0x07, 0x6C, 0x09, 0x3B, 0xCF,
+ 0x3B, 0xCF, 0x1B, 0xC7, 0x20, 0xC3, 0x6C, 0x09,
+ 0x19, 0x11, 0x8F, 0x07, 0x00, 0x20, 0x89, 0x07,
+ 0x7A, 0x09, 0xA0, 0x06, 0x3A, 0xBB, 0xA0, 0x06,
+ 0x3A, 0xBB, 0x12, 0x10, 0x4C, 0xCE, 0x5B, 0x04,
+ 0x19, 0xC3, 0x02, 0x16, 0x8C, 0x07, 0x1A, 0x00,
+ 0x4C, 0xC3, 0x2D, 0x02, 0xF8, 0xFF, 0x0A, 0x02,
+ 0x09, 0x00, 0x2D, 0x02, 0xFA, 0xFF, 0xF2, 0x13,
+ 0x0A, 0x06, 0xFB, 0x16, 0x60, 0x04, 0x86, 0xBD,
+ 0x8F, 0x07, 0x00, 0x10, 0xD9, 0xC2, 0xFA, 0x11,
+ 0x02, 0x16, 0x8B, 0x07, 0x00, 0x04, 0x4B, 0xC3,
+ 0x8D, 0x02, 0x20, 0x00, 0x02, 0x14, 0x0D, 0x02,
+ 0x20, 0x00, 0x8D, 0x02, 0x00, 0x04, 0x02, 0x12,
+ 0x0D, 0x02, 0x00, 0x04, 0x2D, 0x02, 0xF8, 0xFF,
+ 0x0D, 0xC8, 0x2C, 0x09, 0x2B, 0x02, 0xFF, 0x03,
+ 0x8B, 0x01, 0xFF, 0x03, 0x4B, 0xCE, 0x60, 0xC3,
+ 0x6A, 0x09, 0x60, 0x23, 0x18, 0xE0, 0x0C, 0x16,
+ 0x49, 0xC3, 0xDD, 0xC2, 0x0F, 0x02, 0x01, 0x01,
+ 0x8B, 0x01, 0x80, 0xC0, 0xD7, 0x16, 0x8F, 0x05,
+ 0xED, 0xC2, 0x02, 0x00, 0xD3, 0x16, 0x02, 0x10,
+ 0x8D, 0x07, 0xBA, 0xEA, 0x3D, 0xC8, 0xA8, 0x09,
+ 0x1D, 0xC8, 0xAA, 0x09, 0xCB, 0x04, 0xE0, 0x04,
+ 0xF8, 0x05, 0xE0, 0x04, 0x66, 0x09, 0x20, 0xC8,
+ 0x30, 0x0C, 0x80, 0x09, 0xA0, 0x07, 0x82, 0x09,
+ 0xFE, 0xDF, 0x8D, 0x07, 0xFE, 0xDF, 0xE0, 0xC3,
+ 0xD8, 0x07, 0xE0, 0x23, 0x16, 0xE0, 0x24, 0x16,
+ 0xE0, 0xC3, 0x30, 0x0C, 0x4F, 0x63, 0xFF, 0x04,
+ 0xFF, 0x04, 0x4D, 0x06, 0xFD, 0x16, 0x8D, 0x07,
+ 0xFE, 0xDF, 0x20, 0x04, 0xA2, 0xEA, 0xA0, 0xC3,
+ 0xA2, 0xEA, 0xEE, 0xC3, 0x12, 0x00, 0xAA, 0x16,
+ 0x6E, 0xC3, 0x18, 0x00, 0xAD, 0x09, 0x8C, 0x07,
+ 0x00, 0xE0, 0xAC, 0x09, 0x0D, 0x63, 0x0C, 0x13,
+ 0x6E, 0xC3, 0x18, 0x00, 0xAD, 0x09, 0x2D, 0x02,
+ 0x40, 0x00, 0x1D, 0x0A, 0x2D, 0x02, 0x32, 0x0C,
+ 0xBD, 0x07, 0xFF, 0x7F, 0x0C, 0x06, 0xFC, 0x16,
+ 0x20, 0xC3, 0x46, 0x04, 0x8C, 0x02, 0x80, 0x00,
+ 0x13, 0x1A, 0xAC, 0x02, 0x0C, 0xC8, 0x9A, 0x00,
+ 0xE0, 0x02, 0x80, 0x00, 0x88, 0x07, 0x80, 0x00,
+ 0x60, 0xC2, 0x46, 0x04, 0xA0, 0x06, 0x28, 0xAD,
+ 0x02, 0x10, 0x9D, 0x00, 0x05, 0x10, 0x9D, 0x00,
+ 0x8F, 0x07, 0x00, 0x08, 0x60, 0x04, 0x86, 0xBD,
+ 0x4B, 0x2D, 0x81, 0xC3, 0xC9, 0x05, 0x8F, 0x07,
+ 0x00, 0x10, 0x8E, 0x02, 0x02, 0x00, 0xF6, 0x11,
+ 0x8F, 0x07, 0x00, 0x04, 0xC9, 0x05, 0xD9, 0xC2,
+ 0xE0, 0x26, 0x26, 0xE0, 0x02, 0x16, 0x2B, 0x02,
+ 0x06, 0x00, 0x4B, 0xC6, 0x4B, 0xC3, 0xCB, 0x72,
+ 0x2E, 0x02, 0xFE, 0xFF, 0x8B, 0x83, 0xE6, 0x1B,
+ 0xCD, 0x06, 0x4D, 0x73, 0xCD, 0x82, 0xE2, 0x1B,
+ 0xE0, 0x04, 0x1A, 0x09, 0xE0, 0x04, 0x1C, 0x09,
+ 0x4D, 0xC3, 0x02, 0x13, 0x60, 0x66, 0x12, 0xE0,
+ 0xC9, 0x05, 0xCF, 0x04, 0x81, 0x2D, 0x01, 0xC8,
+ 0x6C, 0x01, 0xD4, 0x13, 0x0F, 0xC8, 0x00, 0xFC,
+ 0xC1, 0xC3, 0x0D, 0x06, 0xF7, 0x15, 0x0D, 0x02,
+ 0x36, 0x07, 0x0E, 0x02, 0x98, 0x08, 0x0C, 0x02,
+ 0x03, 0x00, 0x8D, 0xCB, 0x02, 0x00, 0x81, 0x2D,
+ 0x81, 0xCB, 0x06, 0x00, 0xC3, 0x13, 0xEE, 0x04,
+ 0x0C, 0x00, 0x2E, 0x02, 0x18, 0x00, 0x0C, 0x06,
+ 0xF4, 0x16, 0xE0, 0x04, 0x96, 0x08, 0x1F, 0x2E,
+ 0xB9, 0xC3, 0xD9, 0xC3, 0x89, 0x07, 0x12, 0x00,
+ 0x8D, 0x07, 0x3A, 0x09, 0xA0, 0x06, 0xF4, 0xBE,
+ 0x60, 0xC3, 0xD8, 0x07, 0x60, 0x23, 0x16, 0xE0,
+ 0x09, 0x16, 0x20, 0xE8, 0x10, 0xE0, 0x6A, 0x09,
+ 0x20, 0xE8, 0x18, 0xE0, 0x98, 0x07, 0x20, 0xE8,
+ 0x12, 0xE0, 0x78, 0x07, 0x60, 0xC3, 0x6A, 0x09,
+ 0x60, 0x23, 0x1E, 0xE0, 0x03, 0x16, 0x20, 0x48,
+ 0xA4, 0xE3, 0x6A, 0x09, 0x60, 0x23, 0x22, 0xE0,
+ 0x06, 0x13, 0x60, 0x27, 0xA6, 0xE3, 0x03, 0x13,
+ 0x20, 0xE8, 0x10, 0xE0, 0x6A, 0x09, 0x20, 0x2D,
+ 0x00, 0x00, 0x8E, 0x07, 0x00, 0x00, 0xA0, 0x06,
+ 0xD4, 0xBE, 0x4E, 0x05, 0x0E, 0x2C, 0xA0, 0xC0,
+ 0x04, 0x08, 0xEF, 0xC3, 0x06, 0x00, 0x1B, 0x16,
+ 0xA0, 0xC3, 0x72, 0x09, 0xE0, 0xC3, 0x74, 0x09,
+ 0xA0, 0x06, 0xC2, 0xBD, 0xA0, 0xC3, 0x76, 0x09,
+ 0xE0, 0xC3, 0x78, 0x09, 0xA0, 0x06, 0xE0, 0xBD,
+ 0x20, 0xE0, 0x0A, 0xE0, 0x60, 0xC3, 0xD8, 0x07,
+ 0x60, 0x23, 0x16, 0xE0, 0x05, 0x16, 0xE0, 0x04,
+ 0x2E, 0x06, 0x60, 0x41, 0x04, 0xE0, 0x4D, 0x2E,
+ 0x8D, 0x07, 0x00, 0x80, 0x52, 0x04, 0xCF, 0x73,
+ 0x2F, 0x02, 0x00, 0x02, 0x4F, 0xC3, 0x52, 0x04,
+ 0x20, 0x20, 0x0A, 0xE0, 0x03, 0x13, 0x8D, 0x07,
+ 0x00, 0x10, 0x5B, 0x04, 0x20, 0x40, 0x0A, 0xE0,
+ 0x40, 0x02, 0xFF, 0xF0, 0x8E, 0x07, 0x02, 0x00,
+ 0xA0, 0x06, 0xD4, 0xBE, 0x4E, 0x05, 0x0E, 0x2C,
+ 0xA0, 0xC0, 0x04, 0x08, 0xA0, 0x06, 0xB4, 0xBE,
+ 0x60, 0xC3, 0xD8, 0x07, 0x60, 0x23, 0x16, 0xE0,
+ 0x66, 0x16, 0x20, 0x04, 0xB6, 0xEA, 0x63, 0x10,
+ 0x6E, 0x02, 0x00, 0x80, 0x8D, 0x07, 0x00, 0xC0,
+ 0x0D, 0xC8, 0xA6, 0x01, 0x0E, 0xC8, 0x72, 0x09,
+ 0x0F, 0xC8, 0x74, 0x09, 0x0E, 0xC8, 0xA8, 0x01,
+ 0x0F, 0xC8, 0xAA, 0x01, 0x12, 0x10, 0x8F, 0x01,
+ 0x01, 0x00, 0x8A, 0x07, 0x76, 0x09, 0xA0, 0xE3,
+ 0x4E, 0x09, 0x8E, 0xCE, 0x9A, 0x01, 0xFE, 0xFF,
+ 0xE0, 0xE3, 0x50, 0x09, 0x8F, 0xE6, 0x8A, 0x07,
+ 0xAC, 0x01, 0x8E, 0xCE, 0x9A, 0x01, 0xFE, 0xFF,
+ 0x8F, 0xE6, 0x20, 0x20, 0x0A, 0xE0, 0x3F, 0x13,
+ 0x8D, 0x07, 0x00, 0x10, 0x5B, 0x04, 0x20, 0x20,
+ 0x0A, 0xE0, 0x03, 0x13, 0x0D, 0x02, 0x00, 0x10,
+ 0x5B, 0x04, 0x8E, 0xC3, 0x04, 0x13, 0xE0, 0x01,
+ 0x50, 0x09, 0x00, 0x01, 0x06, 0x10, 0xA0, 0x01,
+ 0x50, 0x09, 0x00, 0x01, 0xA0, 0x01, 0x78, 0x09,
+ 0x00, 0x01, 0xA0, 0xC3, 0x76, 0x09, 0xE0, 0xC3,
+ 0x78, 0x09, 0xA0, 0xE3, 0x4E, 0x09, 0xE0, 0xE3,
+ 0x50, 0x09, 0x0E, 0xC8, 0xAC, 0x01, 0x0F, 0xC8,
+ 0xAE, 0x01, 0x0E, 0xC8, 0x76, 0x09, 0x0F, 0xC8,
+ 0x78, 0x09, 0x19, 0x10, 0x6E, 0x02, 0x00, 0x80,
+ 0x0E, 0xC8, 0xA6, 0x01, 0x20, 0x20, 0x0A, 0xE0,
+ 0x12, 0x13, 0x0D, 0x02, 0x00, 0x10, 0x5B, 0x04,
+ 0x8D, 0x07, 0x28, 0x07, 0x89, 0x07, 0x0E, 0x00,
+ 0xA0, 0x06, 0xFA, 0xBE, 0x8D, 0x07, 0x28, 0x07,
+ 0xFD, 0x04, 0x8D, 0x02, 0x36, 0x07, 0xFC, 0x16,
+ 0x20, 0x48, 0x14, 0xE0, 0xFE, 0x06, 0x8D, 0x07,
+ 0x00, 0x80, 0x52, 0x04, 0xA0, 0xC2, 0xEE, 0x07,
+ 0x8C, 0x07, 0x04, 0x00, 0x8D, 0x07, 0xF0, 0x08,
+ 0x97, 0x06, 0x7D, 0xC2, 0x5D, 0xC3, 0x60, 0x43,
+ 0x22, 0xE0, 0xA0, 0x06, 0xFA, 0xBE, 0xEF, 0x10,
+ 0x0E, 0xC8, 0x06, 0x06, 0x0F, 0xC8, 0x08, 0x06,
+ 0xEA, 0x10, 0xB0, 0x03, 0xA0, 0x01, 0x60, 0x07,
+ 0x26, 0x00, 0x40, 0x02, 0x00, 0xC0, 0xE0, 0x04,
+ 0x06, 0x06, 0x8C, 0x07, 0x10, 0x40, 0xCC, 0x44,
+ 0xE0, 0x04, 0xFE, 0x06, 0x85, 0x07, 0x40, 0x80,
+ 0x5B, 0x04, 0x02, 0xC8, 0x04, 0x08, 0x8F, 0x07,
+ 0xFA, 0x07, 0xCE, 0xCB, 0x02, 0x00, 0x8E, 0x07,
+ 0x36, 0x07, 0xCE, 0xCB, 0x04, 0x00, 0x8D, 0x07,
+ 0x30, 0x06, 0x8E, 0x07, 0x10, 0x00, 0x4D, 0x2C,
+ 0x5B, 0x04, 0xA0, 0xC2, 0xF2, 0x07, 0x02, 0x10,
+ 0xA0, 0xC2, 0xF8, 0x07, 0x0B, 0xC8, 0xEA, 0x08,
+ 0x09, 0xC3, 0x0A, 0x13, 0xA0, 0x06, 0x36, 0xBA,
+ 0xA0, 0xC2, 0x00, 0x01, 0xA0, 0xE2, 0x06, 0xE0,
+ 0x4C, 0xA3, 0xCC, 0xA3, 0x01, 0x17, 0x8E, 0x05,
+ 0x4C, 0x62, 0xE0, 0xC2, 0xEA, 0x08, 0x5B, 0x04,
+ 0x8D, 0x07, 0x00, 0x10, 0x20, 0x20, 0x0A, 0xE0,
+ 0x01, 0x13, 0x5B, 0x04, 0x0D, 0x02, 0x48, 0x00,
+ 0xE0, 0xC3, 0x30, 0x09, 0x02, 0x16, 0xCE, 0x01,
+ 0x10, 0x00, 0x8D, 0x27, 0x03, 0x13, 0x0D, 0x02,
+ 0x00, 0x01, 0x52, 0x04, 0x00, 0x03, 0x02, 0x00,
+ 0x60, 0xC3, 0x6A, 0x09, 0x4D, 0x02, 0x08, 0x80,
+ 0x4E, 0x02, 0xF7, 0x7F, 0x8D, 0xE3, 0xE0, 0xC3,
+ 0xD8, 0x07, 0xE0, 0x23, 0x16, 0xE0, 0x04, 0x13,
+ 0x8D, 0x07, 0x06, 0x00, 0x8D, 0x27, 0x02, 0x13,
+ 0xA0, 0xE3, 0x10, 0xE0, 0x0E, 0xC8, 0x6A, 0x09,
+ 0x60, 0x01, 0x8E, 0x09, 0x00, 0x80, 0x09, 0x13,
+ 0x0D, 0x02, 0x00, 0x12, 0x4E, 0x01, 0x10, 0x00,
+ 0x02, 0x13, 0x0D, 0x02, 0x00, 0x13, 0x0D, 0xD8,
+ 0x2E, 0x09, 0x60, 0xC3, 0x80, 0x01, 0x4E, 0x02,
+ 0x01, 0x00, 0x4D, 0x02, 0xFE, 0xFF, 0x4E, 0xE3,
+ 0x0D, 0xC8, 0x80, 0x01, 0x20, 0xD8, 0x40, 0xE2,
+ 0x2F, 0x09, 0x20, 0x01, 0x6A, 0x09, 0x06, 0x00,
+ 0x03, 0x13, 0x20, 0xD8, 0xD0, 0xE1, 0x2F, 0x09,
+ 0x20, 0x98, 0x83, 0x01, 0x00, 0xE2, 0x03, 0x13,
+ 0x20, 0xD8, 0x2F, 0x09, 0x83, 0x01, 0x00, 0x03,
+ 0x0F, 0x00, 0x60, 0x04, 0x88, 0xBE, 0x20, 0x20,
+ 0x0A, 0xE0, 0x03, 0x13, 0x0D, 0x02, 0x00, 0x10,
+ 0x5B, 0x04, 0x09, 0x02, 0x08, 0x00, 0x0D, 0x02,
+ 0x58, 0x09, 0xA0, 0x06, 0xF4, 0xBE, 0xA0, 0x07,
+ 0x02, 0x02, 0x00, 0x00, 0x0D, 0x02, 0x00, 0x04,
+ 0xE0, 0xC3, 0x58, 0x09, 0x0F, 0x01, 0x00, 0x7C,
+ 0x01, 0x13, 0x52, 0x04, 0x8F, 0xC3, 0x4E, 0x02,
+ 0x0F, 0x00, 0xFB, 0x13, 0x8E, 0x02, 0x0F, 0x00,
+ 0xF8, 0x13, 0x0D, 0x02, 0x00, 0x40, 0x4F, 0xC2,
+ 0x49, 0x09, 0x49, 0x02, 0x3F, 0x00, 0x09, 0x01,
+ 0x01, 0x00, 0xEF, 0x16, 0x89, 0x02, 0x06, 0x00,
+ 0xEC, 0x1A, 0x89, 0x02, 0x20, 0x00, 0xE9, 0x14,
+ 0xC9, 0x06, 0x1F, 0x09, 0x4F, 0x02, 0x00, 0x40,
+ 0x4F, 0xE2, 0x69, 0x02, 0x00, 0x80, 0x09, 0xC8,
+ 0x58, 0x09, 0x0F, 0x02, 0xFF, 0xFF, 0x4E, 0xC2,
+ 0x1F, 0x09, 0x09, 0x06, 0xFD, 0x16, 0x4F, 0x05,
+ 0x0D, 0x02, 0x00, 0x20, 0x60, 0xC2, 0x5A, 0x09,
+ 0xD4, 0x13, 0x4F, 0x26, 0xD2, 0x16, 0x0D, 0x02,
+ 0x00, 0x10, 0x60, 0xC2, 0x5C, 0x09, 0xCD, 0x13,
+ 0x4F, 0x26, 0xCB, 0x16, 0x0D, 0x02, 0x00, 0x30,
+ 0x20, 0x88, 0x5A, 0x09, 0x5C, 0x09, 0xC5, 0x13,
+ 0xE0, 0xC3, 0x5A, 0x09, 0x4E, 0xC2, 0x1F, 0x0A,
+ 0x09, 0x06, 0xFD, 0x16, 0xE0, 0xE3, 0x5E, 0x09,
+ 0x0F, 0xC8, 0x5A, 0x09, 0xE0, 0xC3, 0x5C, 0x09,
+ 0x4E, 0xC2, 0x1F, 0x0A, 0x09, 0x06, 0xFD, 0x16,
+ 0xE0, 0xE3, 0x5E, 0x09, 0x0F, 0xC8, 0x5C, 0x09,
+ 0x0F, 0x02, 0xFF, 0xFF, 0x4E, 0xC2, 0x1F, 0x0A,
+ 0x09, 0x06, 0xFD, 0x16, 0x0D, 0x02, 0x00, 0x08,
+ 0x60, 0xC2, 0x5E, 0x09, 0x4F, 0x26, 0xA5, 0x16,
+ 0x4F, 0x05, 0x0F, 0xC8, 0x5E, 0x09, 0x0F, 0x02,
+ 0x02, 0x02, 0x0E, 0x02, 0x03, 0x00, 0x60, 0xC3,
+ 0x40, 0x01, 0x0C, 0x02, 0xFE, 0xC0, 0xA0, 0x01,
+ 0x40, 0x01, 0x00, 0x04, 0xCF, 0x05, 0x09, 0x02,
+ 0x55, 0x55, 0x9C, 0x06, 0x49, 0x05, 0x9C, 0x06,
+ 0x09, 0x07, 0x9C, 0x06, 0x49, 0x05, 0x9C, 0x06,
+ 0x0E, 0x06, 0xF4, 0x16, 0xA0, 0x01, 0x40, 0x01,
+ 0x00, 0x40, 0x0D, 0xC8, 0x40, 0x01, 0x09, 0x02,
+ 0x08, 0x00, 0x0E, 0x02, 0x58, 0x09, 0x0F, 0x02,
+ 0x02, 0x02, 0xFE, 0xCF, 0x49, 0x06, 0xFD, 0x16,
+ 0x60, 0x04, 0x88, 0xBE, 0xC9, 0xC7, 0x5F, 0x82,
+ 0x01, 0x16, 0x5B, 0x04, 0xA0, 0x01, 0x40, 0x01,
+ 0x00, 0x40, 0x0D, 0xC8, 0x40, 0x01, 0x0D, 0x02,
+ 0x00, 0x01, 0x52, 0x04, 0x8D, 0x07, 0x00, 0x10,
+ 0x20, 0x20, 0x0A, 0xE0, 0x0A, 0x16, 0x8D, 0x07,
+ 0x00, 0x08, 0x20, 0x20, 0x10, 0xE0, 0x05, 0x13,
+ 0x8D, 0x07, 0x00, 0x40, 0x4F, 0x01, 0x01, 0x00,
+ 0x01, 0x16, 0x5B, 0x04, 0x20, 0xE0, 0x10, 0xE0,
+ 0x20, 0x07, 0x9C, 0x08, 0x20, 0x07, 0xB4, 0x08,
+ 0x20, 0x07, 0xCC, 0x08, 0xA0, 0x07, 0xA2, 0x08,
+ 0x84, 0x02, 0xA0, 0x07, 0xBA, 0x08, 0x84, 0x02,
+ 0xA0, 0x07, 0xD2, 0x08, 0x84, 0x02, 0xA0, 0x07,
+ 0x04, 0x09, 0x00, 0x40, 0xE0, 0x04, 0x06, 0x09,
+ 0xE0, 0x04, 0x08, 0x09, 0x0E, 0xC8, 0x4C, 0x08,
+ 0x0F, 0xC8, 0x4E, 0x08, 0x0E, 0xC8, 0x8E, 0x08,
+ 0x0F, 0xC8, 0x90, 0x08, 0xE0, 0x04, 0x5A, 0x08,
+ 0xE0, 0x04, 0x60, 0x08, 0xE0, 0x02, 0x78, 0x07,
+ 0xE0, 0x04, 0x94, 0x08, 0x20, 0x40, 0x40, 0xE3,
+ 0x20, 0xE0, 0x0C, 0xE0, 0x60, 0x04, 0xBC, 0xC6,
+ 0x80, 0x01, 0x00, 0xF0, 0xC0, 0x01, 0x00, 0x40,
+ 0x10, 0x10, 0x80, 0x01, 0x00, 0xF0, 0x0D, 0x10,
+ 0xC0, 0x01, 0x00, 0xF0, 0x20, 0x40, 0x06, 0xE0,
+ 0x08, 0x10, 0xC0, 0x01, 0x00, 0xF0, 0x80, 0x01,
+ 0x00, 0x20, 0xE0, 0xC3, 0x94, 0x08, 0x01, 0x16,
+ 0x5B, 0x04, 0x4B, 0xC0, 0x20, 0x04, 0xDA, 0xEA,
+ 0x40, 0x01, 0x00, 0x20, 0xFB, 0x16, 0x51, 0x04,
+ 0xA0, 0xC2, 0xD8, 0x07, 0x4A, 0x01, 0x40, 0x00,
+ 0x01, 0x16, 0x5B, 0x04, 0xE0, 0x02, 0x78, 0x07,
+ 0x20, 0x20, 0x0C, 0xE0, 0xEF, 0x16, 0x43, 0xC2,
+ 0x02, 0x13, 0xA0, 0x06, 0x1A, 0xC3, 0x20, 0x2F,
+ 0x36, 0x07, 0x20, 0x40, 0x0C, 0xE0, 0xA0, 0x06,
+ 0xAC, 0xC1, 0xA0, 0xC3, 0x94, 0x08, 0xFB, 0x16,
+ 0xA0, 0x06, 0x3A, 0xC2, 0x8E, 0x07, 0x04, 0x09,
+ 0x9E, 0x07, 0x00, 0x80, 0x20, 0x20, 0x10, 0xE0,
+ 0x05, 0x16, 0x8F, 0x07, 0x4C, 0x08, 0xBF, 0xCF,
+ 0xBF, 0xCF, 0x9F, 0xC7, 0xA0, 0x06, 0x5A, 0xC2,
+ 0x20, 0xE8, 0x3C, 0xE3, 0x62, 0x07, 0xA0, 0x06,
+ 0x3A, 0xC2, 0x20, 0x48, 0x3C, 0xE3, 0x62, 0x07,
+ 0x20, 0x40, 0x40, 0xE3, 0x20, 0xE0, 0x04, 0xE0,
+ 0x20, 0x48, 0x10, 0xE0, 0x58, 0x07, 0x5B, 0x04,
+ 0x80, 0x01, 0x00, 0xF0, 0x20, 0xE0, 0x04, 0xE0,
+ 0x60, 0x01, 0x60, 0x07, 0x02, 0x00, 0x02, 0x13,
+ 0x9B, 0x06, 0xB8, 0x10, 0x20, 0xE8, 0x1E, 0xE0,
+ 0x58, 0x07, 0xB4, 0x10, 0x9B, 0x06, 0x80, 0x03,
+ 0xE0, 0x02, 0x58, 0x07, 0x00, 0x01, 0x00, 0x40,
+ 0x07, 0x16, 0x8D, 0x07, 0x00, 0x09, 0xA0, 0x06,
+ 0x68, 0xB8, 0xE0, 0x02, 0x78, 0x07, 0x5B, 0x04,
+ 0xC4, 0x01, 0x02, 0x00, 0xE0, 0x02, 0x78, 0x07,
+ 0x5B, 0x04, 0x0E, 0x68, 0x96, 0x08, 0xE9, 0x04,
+ 0x0C, 0x00, 0x11, 0x10, 0x0E, 0x02, 0x00, 0x23,
+ 0x4E, 0xDB, 0x01, 0x00, 0xCC, 0x01, 0x00, 0x04,
+ 0x4C, 0xD7, 0x1C, 0x10, 0x60, 0xC2, 0x5C, 0x07,
+ 0x20, 0x06, 0x94, 0x08, 0xA9, 0xC2, 0x08, 0x00,
+ 0xA9, 0xC3, 0x0C, 0x00, 0xEA, 0x16, 0x29, 0x07,
+ 0x04, 0x00, 0x69, 0x01, 0x0A, 0x00, 0x01, 0x00,
+ 0x2D, 0x13, 0x49, 0xC3, 0x2D, 0x02, 0x0E, 0x00,
+ 0x0A, 0xC3, 0x1D, 0xD3, 0x8C, 0x01, 0x00, 0x84,
+ 0xCC, 0x01, 0x00, 0x40, 0x0A, 0x01, 0x00, 0x5E,
+ 0xDD, 0x16, 0x4C, 0xC7, 0xA9, 0xC3, 0x10, 0x00,
+ 0xE9, 0xC3, 0x12, 0x00, 0x41, 0xCA, 0x10, 0x00,
+ 0x2F, 0x02, 0x04, 0x00, 0x01, 0x17, 0x8E, 0x05,
+ 0x8C, 0x07, 0x02, 0x00, 0xA0, 0xC2, 0xF6, 0x07,
+ 0xA0, 0x06, 0x00, 0xBA, 0x69, 0xC0, 0x10, 0x00,
+ 0x29, 0xC8, 0x14, 0x00, 0x06, 0x09, 0x29, 0xC8,
+ 0x16, 0x00, 0x08, 0x09, 0x69, 0x01, 0x0E, 0x00,
+ 0x00, 0x08, 0x04, 0x16, 0x90, 0x03, 0x7F, 0x00,
+ 0xA0, 0x06, 0x5A, 0xC2, 0x40, 0x01, 0x00, 0x40,
+ 0x01, 0x16, 0x51, 0x04, 0x60, 0x04, 0xBE, 0xC1,
+ 0xA9, 0xC3, 0x0C, 0x00, 0x0B, 0x13, 0x0E, 0x68,
+ 0x96, 0x08, 0xE9, 0x04, 0x0C, 0x00, 0x29, 0xC8,
+ 0x06, 0x00, 0x6C, 0x01, 0xA0, 0xC3, 0x00, 0xFC,
+ 0x01, 0x13, 0x1E, 0x2E, 0x29, 0x07, 0x04, 0x00,
+ 0x5B, 0x04, 0x81, 0x07, 0x20, 0x20, 0x89, 0x07,
+ 0x4C, 0x08, 0x41, 0xCE, 0x63, 0xCE, 0x10, 0x00,
+ 0x63, 0xC6, 0x12, 0x00, 0xA0, 0x06, 0x54, 0xBA,
+ 0x43, 0xC2, 0x02, 0x13, 0xA0, 0x06, 0x1A, 0xC3,
+ 0x20, 0xE0, 0x10, 0xE0, 0x60, 0x04, 0xEC, 0xC1,
+ 0x40, 0x01, 0x00, 0x04, 0xEA, 0x16, 0xA0, 0x06,
+ 0xAC, 0xC1, 0xA0, 0xC2, 0xF0, 0x07, 0x8C, 0x07,
+ 0x04, 0x00, 0x8D, 0x07, 0x4C, 0x08, 0xA0, 0xC3,
+ 0x8E, 0x08, 0xE0, 0xC3, 0x90, 0x08, 0xA0, 0x06,
+ 0x36, 0xBA, 0xE0, 0xC3, 0x4E, 0x08, 0x4F, 0x01,
+ 0x01, 0x00, 0x13, 0x16, 0xE0, 0xC2, 0x94, 0x08,
+ 0xEA, 0x16, 0x60, 0x04, 0xEC, 0xC1, 0xE0, 0xC3,
+ 0x4E, 0x08, 0x4F, 0x01, 0x01, 0x00, 0x09, 0x16,
+ 0x60, 0x04, 0xEC, 0xC1, 0xA0, 0x06, 0x54, 0xBA,
+ 0xE0, 0xC3, 0x4E, 0x08, 0x4F, 0x01, 0x01, 0x00,
+ 0xD7, 0x13, 0xA0, 0xC2, 0xF0, 0x07, 0x20, 0xC3,
+ 0x7C, 0x09, 0x8D, 0x07, 0x4C, 0x08, 0x9D, 0xC3,
+ 0xA0, 0x06, 0x36, 0xBA, 0xC0, 0x06, 0x20, 0xD0,
+ 0x50, 0x08, 0xC0, 0x06, 0x40, 0x01, 0x00, 0x04,
+ 0x0A, 0x16, 0x40, 0x01, 0x80, 0x00, 0x07, 0x13,
+ 0x0E, 0xC8, 0x4C, 0x08, 0x0F, 0xC8, 0x4E, 0x08,
+ 0xA0, 0x06, 0xA2, 0xC1, 0xD8, 0x10, 0x0E, 0xC8,
+ 0x8E, 0x08, 0x0F, 0xC8, 0x90, 0x08, 0x40, 0x01,
+ 0x00, 0x04, 0x0C, 0x13, 0x40, 0x01, 0x20, 0x00,
+ 0x58, 0x16, 0x81, 0x07, 0x10, 0x20, 0x9F, 0x10,
+ 0xA0, 0x06, 0xAC, 0xC1, 0xA0, 0xC3, 0x8E, 0x08,
+ 0xE0, 0xC3, 0x90, 0x08, 0x83, 0x07, 0x98, 0x08,
+ 0x63, 0x07, 0x04, 0x00, 0x2D, 0x11, 0x83, 0x07,
+ 0xB0, 0x08, 0x63, 0x07, 0x04, 0x00, 0x28, 0x11,
+ 0x83, 0x07, 0xC8, 0x08, 0x63, 0x07, 0x04, 0x00,
+ 0x23, 0x11, 0xC3, 0x60, 0x60, 0xC2, 0x46, 0x07,
+ 0xE7, 0x13, 0x69, 0x01, 0x0E, 0x00, 0x00, 0x08,
+ 0xE3, 0x13, 0x00, 0x03, 0x02, 0x00, 0x19, 0xC8,
+ 0x46, 0x07, 0x03, 0x16, 0xA0, 0x01, 0x3A, 0x07,
+ 0x20, 0x00, 0x00, 0x03, 0x0F, 0x00, 0xC0, 0x01,
+ 0x00, 0xF0, 0x80, 0x01, 0x00, 0x20, 0x01, 0x02,
+ 0x06, 0xC4, 0x60, 0x04, 0x9A, 0xC2, 0x81, 0x07,
+ 0x80, 0x20, 0xE0, 0xC8, 0x8E, 0x08, 0x14, 0x00,
+ 0xE0, 0xC8, 0x90, 0x08, 0x16, 0x00, 0xC7, 0x10,
+ 0xE0, 0xC8, 0x50, 0x08, 0x0E, 0x00, 0xCE, 0xC8,
+ 0x10, 0x00, 0xCF, 0xC8, 0x12, 0x00, 0x40, 0x01,
+ 0x20, 0x00, 0xBB, 0x16, 0xE3, 0xC1, 0x06, 0x00,
+ 0xC7, 0xC8, 0x08, 0x00, 0x07, 0xC8, 0x6C, 0x01,
+ 0x07, 0xC8, 0xE0, 0x08, 0x08, 0x02, 0x02, 0xFC,
+ 0xB8, 0x07, 0x00, 0x81, 0xE0, 0xC1, 0xE8, 0x00,
+ 0x07, 0xCE, 0x20, 0xC8, 0x52, 0x08, 0x92, 0x08,
+ 0xDA, 0x13, 0xCE, 0xC8, 0x14, 0x00, 0xCF, 0xC8,
+ 0x16, 0x00, 0x80, 0x01, 0x00, 0x04, 0x82, 0x07,
+ 0x54, 0x08, 0x32, 0xC1, 0x08, 0x11, 0x72, 0xC1,
+ 0x92, 0xC1, 0x82, 0x07, 0x8A, 0x08, 0x04, 0xC1,
+ 0x07, 0x16, 0x60, 0x04, 0x8E, 0xC5, 0x72, 0xC1,
+ 0xB2, 0xC1, 0x84, 0x01, 0x00, 0x80, 0xF9, 0x13,
+ 0x04, 0x68, 0x92, 0x08, 0xC7, 0xC1, 0x37, 0x16,
+ 0x20, 0x98, 0x97, 0x08, 0x85, 0x09, 0x16, 0x16,
+ 0x81, 0x07, 0x40, 0x20, 0xE0, 0xC1, 0x94, 0x08,
+ 0x57, 0x13, 0xA0, 0x06, 0xAC, 0xC1, 0xF4, 0x10,
+ 0xE0, 0xC2, 0x3A, 0x07, 0xE0, 0x42, 0x62, 0x07,
+ 0xE0, 0x26, 0x3A, 0xE3, 0x02, 0x13, 0xA0, 0x06,
+ 0x92, 0xC1, 0xA0, 0x06, 0x54, 0xBA, 0x22, 0x10,
+ 0xA0, 0x06, 0x9C, 0xC1, 0x81, 0x2D, 0x01, 0xC2,
+ 0xFB, 0x13, 0xA0, 0x05, 0x96, 0x08, 0x23, 0xC8,
+ 0x08, 0x00, 0x6C, 0x01, 0xA0, 0x07, 0x02, 0xFC,
+ 0x00, 0x80, 0xC3, 0xC1, 0x27, 0x02, 0x06, 0x00,
+ 0xA0, 0x06, 0x0C, 0xB5, 0xA3, 0x05, 0x0C, 0x00,
+ 0x08, 0xC8, 0x6C, 0x01, 0x08, 0xC8, 0xE0, 0x08,
+ 0x08, 0x02, 0x02, 0xFC, 0xB8, 0x07, 0x00, 0x81,
+ 0xF8, 0xC1, 0x04, 0xC1, 0x37, 0x13, 0xE0, 0xD2,
+ 0x03, 0x01, 0xD2, 0x13, 0x0B, 0x02, 0x0A, 0x01,
+ 0xC4, 0xCE, 0xC7, 0xCE, 0xC5, 0xCE, 0xC6, 0xCE,
+ 0xFB, 0x04, 0x09, 0x02, 0x00, 0x04, 0x48, 0xA2,
+ 0xC9, 0xC6, 0x20, 0xA8, 0xE0, 0x08, 0x12, 0x01,
+ 0x20, 0xC8, 0xF2, 0x07, 0x00, 0x01, 0x47, 0xC2,
+ 0xC4, 0x81, 0x01, 0x14, 0x44, 0xC2, 0xC9, 0x61,
+ 0x09, 0xA2, 0x89, 0xA1, 0x01, 0x17, 0x85, 0x05,
+ 0x09, 0x61, 0xA8, 0x16, 0x82, 0x02, 0x8A, 0x08,
+ 0x05, 0x16, 0x40, 0x01, 0x10, 0x00, 0x12, 0x13,
+ 0x60, 0x04, 0xA6, 0xC3, 0x60, 0x04, 0xBC, 0xC4,
+ 0x60, 0x04, 0x40, 0xC3, 0x81, 0x07, 0x80, 0x20,
+ 0xFB, 0x10, 0x81, 0x07, 0x80, 0x20, 0xF8, 0x10,
+ 0x81, 0x07, 0x02, 0x20, 0xF5, 0x10, 0x81, 0x07,
+ 0x04, 0x20, 0xF2, 0x10, 0x23, 0xC8, 0x08, 0x00,
+ 0x6C, 0x01, 0x07, 0x05, 0xE0, 0xA1, 0xE8, 0x00,
+ 0x0C, 0x02, 0x04, 0xFC, 0x07, 0xCF, 0xE0, 0xC2,
+ 0x92, 0x08, 0xE8, 0x16, 0xE0, 0xD2, 0x03, 0x01,
+ 0x10, 0x16, 0xE0, 0xC2, 0x3A, 0x07, 0xE0, 0x42,
+ 0x62, 0x07, 0xE0, 0x26, 0x3A, 0xE3, 0x07, 0x13,
+ 0x90, 0x03, 0xC8, 0x2F, 0xA0, 0x06, 0x92, 0xC1,
+ 0xE0, 0xD2, 0x03, 0x01, 0x02, 0x16, 0xA0, 0x06,
+ 0x54, 0xBA, 0x23, 0xC8, 0x06, 0x00, 0x6C, 0x01,
+ 0xA3, 0xC2, 0x0E, 0x00, 0x4A, 0x01, 0x00, 0x01,
+ 0x0B, 0x13, 0x0C, 0x02, 0x0E, 0xFC, 0x5C, 0xC2,
+ 0x49, 0x02, 0x00, 0x80, 0x0D, 0x02, 0x6C, 0x09,
+ 0x7D, 0xE2, 0x09, 0xCF, 0x3D, 0xCF, 0x3D, 0xCF,
+ 0x0C, 0x02, 0x00, 0xFC, 0x6C, 0xC3, 0x06, 0x00,
+ 0x4D, 0x02, 0xFF, 0xE0, 0x4A, 0x02, 0x00, 0x02,
+ 0x8A, 0xA2, 0x8A, 0xA2, 0x4A, 0xE3, 0x60, 0xE3,
+ 0x9E, 0x09, 0x0D, 0xCB, 0x06, 0x00, 0xCD, 0x06,
+ 0x0B, 0x02, 0x0F, 0x00, 0xEC, 0x82, 0x04, 0x00,
+ 0xAD, 0x11, 0xEC, 0xC3, 0x0E, 0x00, 0x11, 0x15,
+ 0x10, 0x13, 0x6C, 0xC2, 0x14, 0x00, 0x49, 0x02,
+ 0x00, 0x1F, 0xA7, 0x13, 0xC9, 0x06, 0x89, 0x02,
+ 0x12, 0x00, 0xA3, 0x1B, 0x49, 0x01, 0x01, 0x00,
+ 0xA0, 0x13, 0xC9, 0xA2, 0xEC, 0x82, 0x04, 0x00,
+ 0x9C, 0x11, 0x4D, 0xA3, 0x9D, 0x18, 0x14, 0x11,
+ 0x60, 0x01, 0x6A, 0x09, 0x00, 0x80, 0x18, 0x13,
+ 0x1D, 0x09, 0xCC, 0xA2, 0xEB, 0xC2, 0x08, 0x00,
+ 0x7B, 0x09, 0x4B, 0x02, 0x1E, 0x00, 0xA0, 0xC3,
+ 0xF0, 0x06, 0xAB, 0x23, 0x04, 0xE0, 0x8F, 0x16,
+ 0x60, 0x27, 0x3E, 0xE3, 0x8C, 0x16, 0x4D, 0xA3,
+ 0x4D, 0xA3, 0x4D, 0xA3, 0xCD, 0x06, 0x4D, 0x02,
+ 0x07, 0x00, 0x0D, 0x88, 0xEE, 0x06, 0x0A, 0x15,
+ 0x90, 0x03, 0xFF, 0x6F, 0x53, 0x2F, 0xA0, 0x05,
+ 0x94, 0x08, 0xC3, 0x04, 0xC0, 0x01, 0x00, 0x04,
+ 0x60, 0x04, 0xAA, 0xC3, 0x60, 0x01, 0x6A, 0x09,
+ 0x00, 0x80, 0xF2, 0x13, 0x01, 0x02, 0x08, 0x20,
+ 0x60, 0x04, 0xA2, 0xC5, 0x8D, 0x07, 0x00, 0x10,
+ 0x20, 0x20, 0x0A, 0xE0, 0x0A, 0x16, 0x8D, 0x07,
+ 0x00, 0x08, 0x20, 0x20, 0x0E, 0xE0, 0x05, 0x13,
+ 0x8D, 0x07, 0x00, 0x40, 0x4F, 0x01, 0x01, 0x00,
+ 0x01, 0x16, 0x5B, 0x04, 0x20, 0xE0, 0x0E, 0xE0,
+ 0xA0, 0x07, 0xFA, 0x08, 0x00, 0x80, 0x0E, 0xC8,
+ 0xFA, 0x07, 0x0F, 0xC8, 0xFC, 0x07, 0x0E, 0xC8,
+ 0x3C, 0x08, 0x0F, 0xC8, 0x3E, 0x08, 0xE0, 0x04,
+ 0x08, 0x08, 0xE0, 0x04, 0x0E, 0x08, 0xE0, 0x02,
+ 0x98, 0x07, 0x20, 0x40, 0x4C, 0xE3, 0x20, 0x07,
+ 0x2E, 0x06, 0x60, 0x04, 0x12, 0xCA, 0x00, 0x70,
+ 0x4B, 0xC0, 0xE0, 0x04, 0x2E, 0x06, 0x0B, 0x10,
+ 0x20, 0xF0, 0x4B, 0xE3, 0x02, 0x10, 0x20, 0xF0,
+ 0x4A, 0xE3, 0x4B, 0xC0, 0xE0, 0x04, 0x2E, 0x06,
+ 0xE0, 0x01, 0x62, 0x07, 0x40, 0x00, 0x20, 0xE8,
+ 0x46, 0xE3, 0x62, 0x07, 0x20, 0x04, 0xDA, 0xEA,
+ 0x40, 0x01, 0x00, 0x20, 0x04, 0x13, 0xFA, 0x10,
+ 0x40, 0x01, 0x00, 0x40, 0xF7, 0x16, 0x20, 0x07,
+ 0x2E, 0x06, 0x20, 0x50, 0x50, 0xE3, 0x51, 0x04,
+ 0xF1, 0x10, 0xE0, 0x02, 0x58, 0x07, 0x00, 0x01,
+ 0x00, 0x40, 0x07, 0x16, 0x8D, 0x07, 0xF6, 0x08,
+ 0xA0, 0x06, 0x68, 0xB8, 0xE0, 0x02, 0x98, 0x07,
+ 0x5B, 0x04, 0xC4, 0x01, 0x04, 0x00, 0xE0, 0x02,
+ 0x98, 0x07, 0x5B, 0x04, 0x60, 0x01, 0x60, 0x07,
+ 0x04, 0x00, 0x06, 0x16, 0x20, 0xE8, 0x1C, 0xE0,
+ 0x58, 0x07, 0x80, 0x03, 0xE0, 0x02, 0x98, 0x07,
+ 0x20, 0xD8, 0xDC, 0x07, 0x17, 0x01, 0x8F, 0x07,
+ 0x8E, 0xFF, 0x0F, 0xC8, 0x04, 0x01, 0x20, 0xE8,
+ 0x06, 0xE0, 0x58, 0x07, 0x80, 0x01, 0x00, 0x80,
+ 0x5B, 0x04, 0xE0, 0xC2, 0x4A, 0x08, 0xC3, 0x82,
+ 0x03, 0x13, 0xDB, 0x2D, 0x03, 0xC8, 0x4A, 0x08,
+ 0x49, 0x01, 0x00, 0x01, 0x02, 0x16, 0x60, 0x04,
+ 0x52, 0xC9, 0xE0, 0xC0, 0xF8, 0x05, 0xFD, 0x13,
+ 0x03, 0xC8, 0x6C, 0x01, 0x20, 0xC8, 0x00, 0xFC,
+ 0xF8, 0x05, 0x88, 0x07, 0x02, 0xFC, 0x78, 0xC2,
+ 0xF8, 0xC1, 0x28, 0x02, 0x00, 0x04, 0x49, 0x01,
+ 0x00, 0x01, 0x4D, 0x16, 0x09, 0x01, 0x00, 0x5E,
+ 0x29, 0x16, 0x49, 0x01, 0x02, 0x00, 0x0B, 0x16,
+ 0x60, 0x01, 0x46, 0x08, 0x00, 0x02, 0x0A, 0x16,
+ 0x27, 0x02, 0x04, 0x00, 0x07, 0x88, 0x7E, 0x09,
+ 0x05, 0x12, 0x27, 0x02, 0xFC, 0xFF, 0xA0, 0x01,
+ 0x46, 0x08, 0x00, 0x02, 0xC7, 0xC1, 0x37, 0x15,
+ 0xD3, 0x2D, 0xE0, 0xC0, 0x4A, 0x08, 0x07, 0xA8,
+ 0x48, 0x08, 0x07, 0xA8, 0x44, 0x08, 0x0C, 0x15,
+ 0x20, 0xC8, 0x3C, 0x08, 0xFA, 0x07, 0x20, 0xC8,
+ 0x3E, 0x08, 0xFC, 0x07, 0x20, 0xC8, 0x40, 0x08,
+ 0x3C, 0x08, 0x20, 0xC8, 0x42, 0x08, 0x3E, 0x08,
+ 0x60, 0x04, 0x52, 0xC9, 0xA0, 0x06, 0x54, 0xBA,
+ 0xD3, 0x2D, 0xE0, 0xC2, 0x4A, 0x08, 0xC3, 0x82,
+ 0x01, 0x13, 0xDB, 0x2D, 0x20, 0x88, 0x3E, 0x08,
+ 0x3A, 0x08, 0x0D, 0x16, 0x20, 0x88, 0x3C, 0x08,
+ 0x38, 0x08, 0x09, 0x16, 0xE0, 0x04, 0x44, 0x08,
+ 0x82, 0x07, 0x02, 0x08, 0x04, 0x61, 0xE0, 0x04,
+ 0x48, 0x08, 0x60, 0x04, 0x1E, 0xCA, 0x20, 0xC8,
+ 0x38, 0x08, 0xFA, 0x07, 0x20, 0xC8, 0x3A, 0x08,
+ 0xFC, 0x07, 0x60, 0x04, 0x12, 0xCA, 0x07, 0xA8,
+ 0x48, 0x08, 0x04, 0xC1, 0x1B, 0x16, 0x82, 0x02,
+ 0x38, 0x08, 0x0A, 0x16, 0x60, 0x01, 0xFC, 0x07,
+ 0x01, 0x00, 0x02, 0x16, 0xA0, 0x06, 0x6E, 0xCB,
+ 0xA0, 0x06, 0xFC, 0xCA, 0x80, 0x01, 0x10, 0x00,
+ 0x32, 0xC1, 0x07, 0x11, 0x72, 0xC1, 0x92, 0xC1,
+ 0x82, 0x07, 0x38, 0x08, 0x04, 0xC1, 0x06, 0x16,
+ 0xEA, 0x10, 0x72, 0xC1, 0xB2, 0xC1, 0x84, 0x01,
+ 0x00, 0x80, 0xE5, 0x13, 0xE0, 0xD2, 0x03, 0x01,
+ 0x34, 0x13, 0x0B, 0x02, 0x0A, 0x01, 0xC4, 0xCE,
+ 0xC7, 0xCE, 0xC5, 0xCE, 0xC6, 0xCE, 0xFB, 0x04,
+ 0xC8, 0xC6, 0x03, 0xA8, 0x12, 0x01, 0x20, 0xC8,
+ 0xF8, 0x07, 0x00, 0x01, 0xC7, 0xC2, 0xC4, 0x81,
+ 0x01, 0x14, 0xC4, 0xC2, 0x0B, 0xA8, 0x44, 0x08,
+ 0x0B, 0x61, 0x0B, 0xA2, 0x8B, 0xA1, 0x01, 0x17,
+ 0x85, 0x05, 0xCB, 0x61, 0xC6, 0x16, 0x40, 0x01,
+ 0x40, 0x00, 0x15, 0x16, 0x87, 0x07, 0x20, 0x00,
+ 0xE0, 0x61, 0x44, 0x08, 0xC4, 0x81, 0x08, 0x1A,
+ 0x07, 0xA8, 0x48, 0x08, 0x07, 0xA8, 0x44, 0x08,
+ 0x07, 0x61, 0x87, 0xA1, 0x01, 0x17, 0x85, 0x05,
+ 0x80, 0x01, 0x40, 0x00, 0x03, 0xC8, 0x6C, 0x01,
+ 0xE0, 0xC1, 0x04, 0xFC, 0xAC, 0x10, 0x60, 0x04,
+ 0xBC, 0xC7, 0x20, 0x01, 0x3A, 0x07, 0x00, 0x70,
+ 0x04, 0x13, 0xA0, 0x06, 0x28, 0xC7, 0x20, 0x07,
+ 0x2E, 0x06, 0xA0, 0x06, 0x54, 0xBA, 0xC1, 0x10,
+ 0xE0, 0xD2, 0x03, 0x01, 0x0A, 0x16, 0x20, 0x01,
+ 0x3A, 0x07, 0x00, 0x70, 0x04, 0x13, 0xA0, 0x06,
+ 0x28, 0xC7, 0x20, 0x07, 0x2E, 0x06, 0xA0, 0x06,
+ 0x54, 0xBA, 0x90, 0x03, 0xBF, 0x4F, 0xD3, 0x2D,
+ 0x60, 0x01, 0xFC, 0x07, 0x01, 0x00, 0x02, 0x16,
+ 0xA0, 0x06, 0x6E, 0xCB, 0x60, 0xD2, 0x46, 0x08,
+ 0x89, 0x01, 0x00, 0xF1, 0xC9, 0x01, 0x00, 0x70,
+ 0x40, 0x01, 0x10, 0x00, 0x1C, 0x13, 0x20, 0x88,
+ 0x3E, 0x08, 0x3A, 0x08, 0x04, 0x16, 0x20, 0x88,
+ 0x3C, 0x08, 0x38, 0x08, 0x14, 0x13, 0x89, 0x01,
+ 0x00, 0x10, 0x8D, 0x07, 0x44, 0x08, 0x9D, 0x07,
+ 0x00, 0x50, 0xA0, 0xC2, 0xF6, 0x07, 0x8C, 0x07,
+ 0x02, 0x00, 0xA0, 0xC3, 0x3C, 0x08, 0xE0, 0xC3,
+ 0x3E, 0x08, 0x2F, 0x02, 0x04, 0x00, 0x01, 0x17,
+ 0x8E, 0x05, 0xA0, 0x06, 0x00, 0xBA, 0x8D, 0x07,
+ 0x46, 0x08, 0x49, 0xC7, 0xA0, 0xC2, 0xF6, 0x07,
+ 0x8C, 0x07, 0x04, 0x00, 0xA0, 0xC3, 0x38, 0x08,
+ 0xE0, 0xC3, 0x3A, 0x08, 0xCC, 0xA3, 0x01, 0x17,
+ 0x8E, 0x05, 0xA0, 0x06, 0x00, 0xBA, 0x20, 0xC8,
+ 0x3C, 0x08, 0xFC, 0x08, 0x20, 0xC8, 0x3E, 0x08,
+ 0xFE, 0x08, 0x09, 0x01, 0x00, 0x0C, 0x0C, 0x13,
+ 0x49, 0x01, 0x00, 0x04, 0x05, 0x16, 0xA0, 0x06,
+ 0x6C, 0xC7, 0xA0, 0x06, 0x38, 0xC7, 0x04, 0x10,
+ 0x90, 0x03, 0x7F, 0x40, 0xA0, 0x06, 0x6C, 0xC7,
+ 0xC0, 0x01, 0x90, 0x00, 0xA0, 0x06, 0xFC, 0xCA,
+ 0x0B, 0xC8, 0x46, 0x08, 0xE0, 0xC2, 0x42, 0x07,
+ 0x2D, 0x13, 0xE0, 0xC2, 0x2E, 0x06, 0x2A, 0x13,
+ 0xE0, 0x02, 0x58, 0x07, 0x8F, 0x07, 0xBF, 0xFF,
+ 0x0F, 0x2C, 0xE0, 0x02, 0x98, 0x07, 0xE0, 0xC0,
+ 0x5C, 0x07, 0x03, 0xC8, 0x4A, 0x08, 0x03, 0xC8,
+ 0x6C, 0x01, 0xC3, 0xC2, 0xCB, 0xA2, 0xEB, 0xC2,
+ 0x32, 0x0C, 0x32, 0x13, 0x0B, 0xC8, 0x00, 0xFC,
+ 0x0B, 0xC3, 0x4B, 0xC3, 0x0B, 0xC8, 0x6C, 0x01,
+ 0xE0, 0xC2, 0x00, 0xFC, 0xFA, 0x16, 0x00, 0x03,
+ 0x02, 0x00, 0x20, 0xC8, 0xF8, 0x05, 0x00, 0xFC,
+ 0x02, 0x16, 0x0D, 0xC8, 0xFA, 0x05, 0x0C, 0xC8,
+ 0xF8, 0x05, 0x00, 0x03, 0x0F, 0x00, 0x03, 0xC8,
+ 0x6C, 0x01, 0x1A, 0x10, 0xA0, 0xC3, 0x2E, 0x06,
+ 0x03, 0x13, 0xE0, 0xC0, 0xF8, 0x05, 0x0D, 0x16,
+ 0x4F, 0x2E, 0xC0, 0x01, 0x00, 0x80, 0xA0, 0x01,
+ 0x62, 0x07, 0x00, 0x80, 0x8E, 0xC3, 0x03, 0x13,
+ 0xA0, 0x01, 0x62, 0x07, 0x40, 0x00, 0x60, 0x04,
+ 0x4E, 0xC7, 0x03, 0xC8, 0x6C, 0x01, 0x20, 0xC8,
+ 0x00, 0xFC, 0xF8, 0x05, 0x03, 0xC8, 0x4A, 0x08,
+ 0x60, 0x01, 0x6A, 0x09, 0x00, 0x04, 0x02, 0x13,
+ 0x60, 0x04, 0xE4, 0xC7, 0x8C, 0x07, 0x0E, 0x00,
+ 0x20, 0xC2, 0x0E, 0xFC, 0x0A, 0x15, 0x09, 0x13,
+ 0x20, 0xC2, 0x14, 0xFC, 0x48, 0x02, 0x00, 0x1F,
+ 0xC8, 0x06, 0x88, 0x02, 0x12, 0x00, 0xF0, 0x1B,
+ 0x08, 0xA3, 0x88, 0x07, 0x02, 0xFC, 0x78, 0xC2,
+ 0xF8, 0xC1, 0x28, 0x02, 0x00, 0x04, 0x07, 0x83,
+ 0xE7, 0x1A, 0xCC, 0x61, 0x07, 0xC8, 0x04, 0xFC,
+ 0xCC, 0xC1, 0xC0, 0x01, 0x40, 0x00, 0x60, 0x04,
+ 0xF0, 0xC7, 0x4B, 0xC1, 0xA0, 0xC2, 0xF0, 0x07,
+ 0x20, 0xC3, 0x7A, 0x09, 0x8D, 0x07, 0xFA, 0x07,
+ 0x9D, 0xC3, 0xE0, 0xC3, 0xFC, 0x07, 0xA0, 0x06,
+ 0x00, 0xBA, 0x20, 0xC8, 0x3C, 0x08, 0x40, 0x08,
+ 0x20, 0xC8, 0x3E, 0x08, 0x42, 0x08, 0x0E, 0xC8,
+ 0x3C, 0x08, 0x0F, 0xC8, 0x3E, 0x08, 0xC4, 0x04,
+ 0x82, 0x07, 0x02, 0x08, 0xE0, 0x04, 0x44, 0x08,
+ 0x40, 0x01, 0x80, 0x00, 0x06, 0x16, 0x0E, 0xC8,
+ 0x38, 0x08, 0x0F, 0xC8, 0x3A, 0x08, 0xE0, 0x04,
+ 0x48, 0x08, 0xA0, 0x06, 0x54, 0xBA, 0xE0, 0xC2,
+ 0xFE, 0x07, 0x0D, 0x11, 0x0E, 0xC8, 0xFA, 0x07,
+ 0x0F, 0xC8, 0xFC, 0x07, 0x20, 0xC8, 0x40, 0x08,
+ 0x3C, 0x08, 0x20, 0xC8, 0x42, 0x08, 0x3E, 0x08,
+ 0xA0, 0x06, 0x32, 0xC7, 0xCB, 0x10, 0x80, 0x01,
+ 0x80, 0x00, 0x55, 0x04, 0x8B, 0xC0, 0xA0, 0xC2,
+ 0xF0, 0x07, 0x8C, 0x07, 0x04, 0x00, 0x8D, 0x07,
+ 0xFA, 0x07, 0xA0, 0xC3, 0x3C, 0x08, 0xE0, 0xC3,
+ 0x3E, 0x08, 0xA0, 0x06, 0x36, 0xBA, 0x60, 0x01,
+ 0xFC, 0x07, 0x01, 0x00, 0x04, 0x13, 0xA0, 0x07,
+ 0xFA, 0x08, 0x00, 0x80, 0x52, 0x04, 0x60, 0x01,
+ 0x60, 0x07, 0x04, 0x00, 0x07, 0x16, 0x20, 0xD0,
+ 0x04, 0xE0, 0x20, 0xE8, 0x1A, 0xE0, 0x58, 0x07,
+ 0x60, 0x04, 0x3E, 0xC7, 0xA0, 0x07, 0xFA, 0x08,
+ 0x00, 0x40, 0x20, 0xC8, 0x3C, 0x08, 0xFC, 0x08,
+ 0x20, 0xC8, 0x3E, 0x08, 0xFE, 0x08, 0xA0, 0x06,
+ 0x6C, 0xC7, 0xA0, 0x06, 0x38, 0xC7, 0xD3, 0x10,
+ 0xAD, 0xC2, 0x02, 0x00, 0x6D, 0xC2, 0x00, 0x00,
+ 0x05, 0x16, 0xAA, 0x07, 0x02, 0x00, 0x36, 0x07,
+ 0x9A, 0x2C, 0x80, 0x03, 0xEA, 0x2C, 0x02, 0x00,
+ 0x41, 0xCB, 0x00, 0x00, 0x80, 0x03, 0x2D, 0xC3,
+ 0x18, 0x00, 0xAC, 0x07, 0x02, 0x00, 0x36, 0x07,
+ 0x20, 0x4B, 0x06, 0xEB, 0x0A, 0x00, 0x20, 0xEB,
+ 0x00, 0xEB, 0x0A, 0x00, 0x9C, 0x2E, 0x80, 0x03,
+ 0xA0, 0xC2, 0x22, 0xE0, 0x60, 0x04, 0x8A, 0xA3,
+ 0xED, 0xC0, 0x18, 0x00, 0xA0, 0x06, 0x3A, 0xCC,
+ 0x80, 0x03, 0x44, 0xC2, 0xC3, 0xC0, 0x02, 0x13,
+ 0xA0, 0x06, 0x3A, 0xCC, 0x19, 0xC3, 0x09, 0xCB,
+ 0x18, 0x00, 0xC9, 0x05, 0x19, 0xCB, 0x16, 0x00,
+ 0x4C, 0xC2, 0x2C, 0x02, 0x1A, 0x00, 0x0D, 0xCF,
+ 0x0E, 0xCF, 0x0F, 0xC7, 0x99, 0x00, 0x5B, 0x04,
+ 0x8C, 0x07, 0x0A, 0x09, 0x9C, 0xC2, 0xA0, 0x22,
+ 0x14, 0xE0, 0x06, 0x13, 0xA0, 0xC2, 0x58, 0x07,
+ 0xA0, 0x22, 0x20, 0xE0, 0x01, 0x16, 0x80, 0x03,
+ 0x03, 0xC1, 0xC3, 0x04, 0x8A, 0x07, 0x04, 0x00,
+ 0x84, 0xA2, 0x3A, 0xCF, 0x3A, 0xCF, 0x3A, 0xCF,
+ 0x3A, 0xCF, 0x3A, 0xCF, 0xE0, 0x02, 0x58, 0x07,
+ 0x8D, 0x07, 0x0A, 0x09, 0x0B, 0xC8, 0xC2, 0x07,
+ 0xA0, 0x06, 0x44, 0xB8, 0xE0, 0xC2, 0xC2, 0x07,
+ 0x20, 0xE0, 0x20, 0xE0, 0xE0, 0x02, 0xB8, 0x07,
+ 0x5B, 0x04, 0x2D, 0xC3, 0x18, 0x00, 0x8C, 0xC2,
+ 0x60, 0xC2, 0x6C, 0x01, 0x0A, 0xC8, 0x6C, 0x01,
+ 0xE0, 0xC2, 0x00, 0xFC, 0x02, 0x13, 0x8B, 0xC2,
+ 0xF9, 0x10, 0x09, 0xC8, 0x6C, 0x01, 0x8B, 0x07,
+ 0xF8, 0x05, 0x5B, 0xC2, 0x0C, 0x13, 0xCB, 0x05,
+ 0x5B, 0xC2, 0xCA, 0xC6, 0xE0, 0xC2, 0x6C, 0x01,
+ 0x09, 0xC8, 0x6C, 0x01, 0x0C, 0xC8, 0x00, 0xFC,
+ 0x0B, 0xC8, 0x6C, 0x01, 0x02, 0x10, 0xCC, 0xCE,
+ 0xCA, 0xC6, 0xA0, 0xC2, 0xE0, 0x00, 0xA0, 0x22,
+ 0x1A, 0xE0, 0x06, 0x16, 0x20, 0xE8, 0x04, 0xE0,
+ 0x3A, 0x07, 0x20, 0x48, 0x1A, 0xE0, 0xE0, 0x00,
+ 0x80, 0x03, 0xE0, 0xD3, 0xAB, 0xE3, 0xE0, 0x04,
+ 0x8E, 0x09, 0xE0, 0xC1, 0xA8, 0x06, 0x05, 0x16,
+ 0x07, 0x02, 0xA2, 0x06, 0xA0, 0x06, 0x38, 0xB5,
+ 0x0B, 0x16, 0xE0, 0xC1, 0xBA, 0x06, 0x23, 0x16,
+ 0x07, 0x02, 0xB4, 0x06, 0xA0, 0x06, 0x38, 0xB5,
+ 0x1E, 0x13, 0x07, 0x02, 0xB8, 0x06, 0x02, 0x10,
+ 0x07, 0x02, 0xA6, 0x06, 0x60, 0xC1, 0x02, 0xFC,
+ 0x25, 0xC8, 0x0C, 0x00, 0x02, 0xFC, 0xC5, 0xC9,
+ 0x0C, 0x00, 0xF5, 0xCD, 0xF5, 0xCD, 0xF5, 0xCD,
+ 0xF5, 0xCD, 0xF5, 0xCD, 0xF5, 0xC5, 0xB7, 0x01,
+ 0x28, 0x00, 0x27, 0x02, 0xF4, 0xFF, 0xA7, 0x07,
+ 0x04, 0x00, 0x52, 0xCE, 0x20, 0xE8, 0x9E, 0x09,
+ 0x06, 0xFC, 0x97, 0x2E, 0xD2, 0x10, 0x00, 0x03,
+ 0x02, 0x00, 0xA0, 0x06, 0x50, 0xB5, 0x00, 0x03,
+ 0x0F, 0x00, 0x20, 0x2C, 0xF0, 0xED, 0xE0, 0x93,
+ 0xAB, 0xE3, 0x03, 0x16, 0x81, 0x02, 0x16, 0x00,
+ 0xC4, 0x16, 0x21, 0xC1, 0x10, 0xEB, 0x54, 0x04,
+ 0xE0, 0x93, 0x10, 0xE0, 0x03, 0x16, 0xA0, 0xD2,
+ 0xA8, 0xE3, 0x0B, 0x10, 0xCF, 0xD3, 0x09, 0x16,
+ 0xA0, 0x23, 0x08, 0xE0, 0x06, 0x16, 0x84, 0x07,
+ 0x20, 0x00, 0x04, 0xE8, 0xD2, 0x06, 0xA0, 0xD2,
+ 0x0C, 0xE0, 0x60, 0x04, 0xD2, 0xCE, 0x60, 0x04,
+ 0x70, 0xD1, 0x22, 0xC1, 0x04, 0x00, 0xE2, 0x04,
+ 0x02, 0x00, 0x54, 0x04, 0x02, 0xC8, 0x6C, 0x01,
+ 0x82, 0xA0, 0x22, 0xC8, 0x32, 0x0C, 0x00, 0xFC,
+ 0x02, 0x02, 0x00, 0xFC, 0xE0, 0x93, 0xAA, 0xE3,
+ 0x13, 0x16, 0xB0, 0x03, 0x20, 0x98, 0xAA, 0xE3,
+ 0x65, 0x06, 0x0D, 0x16, 0x8B, 0x07, 0x17, 0xFC,
+ 0xDB, 0xD2, 0x8B, 0x09, 0x8B, 0x02, 0x15, 0x00,
+ 0x7B, 0x1B, 0xEB, 0xD2, 0xC4, 0xEA, 0x06, 0x13,
+ 0x77, 0x15, 0x20, 0x07, 0xA0, 0x09, 0x74, 0x10,
+ 0xA0, 0x06, 0x02, 0xD0, 0xA0, 0x48, 0x04, 0xE0,
+ 0x0E, 0x00, 0x85, 0x02, 0x07, 0x00, 0x0E, 0x13,
+ 0x0E, 0x01, 0x03, 0x00, 0x0B, 0x13, 0xA0, 0x23,
+ 0x22, 0xE0, 0x03, 0x16, 0xA0, 0xD2, 0x0E, 0xE0,
+ 0x02, 0x10, 0xA0, 0xD2, 0xA8, 0xE3, 0x8E, 0x01,
+ 0x03, 0x00, 0x5E, 0x10, 0x05, 0xC8, 0xFC, 0x06,
+ 0xC3, 0xC0, 0x57, 0x16, 0xA0, 0x43, 0x10, 0xE0,
+ 0x22, 0x88, 0x0E, 0x00, 0x6C, 0x09, 0x0A, 0x16,
+ 0x22, 0x88, 0x10, 0x00, 0x6E, 0x09, 0x06, 0x16,
+ 0x22, 0x88, 0x12, 0x00, 0x70, 0x09, 0x02, 0x16,
+ 0xA0, 0xE3, 0x10, 0xE0, 0x85, 0x02, 0x09, 0x00,
+ 0x02, 0x13, 0xA0, 0x06, 0xB8, 0xD7, 0x45, 0xA1,
+ 0x65, 0xC1, 0xAC, 0xE3, 0x55, 0x04, 0x62, 0xC0,
+ 0x04, 0x00, 0x22, 0xC8, 0x06, 0x00, 0x6C, 0x01,
+ 0x82, 0x02, 0x48, 0x04, 0x02, 0x1B, 0xA0, 0x43,
+ 0x0C, 0xE0, 0x22, 0xC1, 0x0E, 0x00, 0x51, 0x04,
+ 0x42, 0xC0, 0xE1, 0x04, 0x02, 0x00, 0xA2, 0xC0,
+ 0x0C, 0x00, 0x22, 0xC1, 0x0A, 0x00, 0x20, 0x21,
+ 0x18, 0xE0, 0x07, 0x13, 0xA1, 0xC8, 0x0A, 0x00,
+ 0x0A, 0x00, 0xA1, 0xC8, 0x08, 0x00, 0x08, 0x00,
+ 0xE2, 0x10, 0x22, 0xC8, 0x06, 0x00, 0x6C, 0x01,
+ 0xA0, 0x06, 0x66, 0xD6, 0x60, 0x04, 0xB0, 0xCE,
+ 0x02, 0xC8, 0xD4, 0x06, 0x62, 0xC1, 0x02, 0x00,
+ 0x65, 0xC1, 0xD8, 0xE3, 0x55, 0x04, 0x0F, 0x10,
+ 0x0E, 0x10, 0x85, 0x07, 0xF4, 0x03, 0xF5, 0x04,
+ 0x60, 0xCD, 0xCE, 0xED, 0xA0, 0x06, 0xA2, 0xD8,
+ 0xA0, 0xE3, 0x0C, 0xE0, 0x20, 0xE8, 0x9E, 0x09,
+ 0x06, 0x04, 0xA0, 0x2E, 0xF4, 0x03, 0x60, 0x04,
+ 0xE4, 0xCC, 0xA0, 0x06, 0x26, 0xD5, 0x0C, 0x10,
+ 0xA0, 0x06, 0x66, 0xD6, 0x09, 0x10, 0xA0, 0x06,
+ 0x2A, 0xD8, 0x06, 0x10, 0xA0, 0x06, 0x66, 0xD6,
+ 0x03, 0xC8, 0x2A, 0x09, 0xA0, 0xD2, 0xAA, 0xE3,
+ 0xA0, 0x06, 0x6E, 0xCF, 0xA0, 0x92, 0x26, 0xE0,
+ 0x0C, 0x16, 0xE0, 0xD3, 0x26, 0xE0, 0xE0, 0x23,
+ 0x14, 0xE0, 0x0A, 0x13, 0x0A, 0xC1, 0xC4, 0x83,
+ 0x07, 0x13, 0xC4, 0xC3, 0x24, 0xC1, 0xDC, 0xE3,
+ 0x54, 0x04, 0xCA, 0x93, 0xDC, 0x13, 0xCA, 0xD3,
+ 0xB0, 0x03, 0x0F, 0xD8, 0x59, 0x06, 0x04, 0x71,
+ 0x24, 0xC1, 0xEC, 0xE3, 0x54, 0x04, 0xA0, 0x23,
+ 0x0C, 0xE0, 0xD1, 0x13, 0x4D, 0xC3, 0xCF, 0x13,
+ 0x4D, 0x01, 0x00, 0x04, 0x0B, 0x13, 0x86, 0x07,
+ 0x02, 0x00, 0x84, 0x07, 0x26, 0x00, 0x46, 0x23,
+ 0x03, 0x13, 0x44, 0x06, 0x86, 0xA1, 0xFB, 0x10,
+ 0x46, 0x43, 0xB3, 0x10, 0x84, 0x07, 0x18, 0x00,
+ 0x8D, 0x01, 0x00, 0x04, 0x85, 0x07, 0xF4, 0x03,
+ 0xF5, 0x04, 0x60, 0xCD, 0xCE, 0xED, 0xA0, 0x06,
+ 0xA2, 0xD8, 0x20, 0xE8, 0x9C, 0x09, 0xFE, 0x03,
+ 0x20, 0xE8, 0x9E, 0x09, 0x06, 0x04, 0xA8, 0x10,
+ 0x85, 0x07, 0x1C, 0x07, 0x86, 0x07, 0x1A, 0x04,
+ 0x76, 0x6D, 0x76, 0x6D, 0x76, 0x6D, 0xC6, 0x05,
+ 0x76, 0x6D, 0x76, 0x6D, 0x76, 0x6D, 0x83, 0x07,
+ 0x00, 0x90, 0xA9, 0x10, 0x0B, 0xC3, 0x86, 0x07,
+ 0x00, 0x01, 0x85, 0x07, 0x00, 0x80, 0x20, 0xC1,
+ 0xD2, 0x06, 0x37, 0x13, 0xC4, 0x04, 0x60, 0xC0,
+ 0xD2, 0x06, 0x45, 0x20, 0x04, 0x13, 0x84, 0x05,
+ 0x15, 0x09, 0xF9, 0x16, 0x2E, 0x10, 0xCF, 0xD3,
+ 0x06, 0x16, 0xE0, 0x23, 0x14, 0xE0, 0x03, 0x16,
+ 0x0E, 0x01, 0x03, 0x00, 0x03, 0x13, 0xE0, 0x04,
+ 0xD2, 0x06, 0x23, 0x10, 0x64, 0xD0, 0x1C, 0x07,
+ 0x46, 0xB0, 0x10, 0x18, 0x01, 0xD9, 0x1C, 0x07,
+ 0x60, 0x23, 0x20, 0xE0, 0x0B, 0x13, 0x81, 0x07,
+ 0x18, 0x00, 0x61, 0xC0, 0xFC, 0xE3, 0x11, 0x88,
+ 0xCE, 0xED, 0x04, 0x13, 0x08, 0x02, 0x18, 0x80,
+ 0xA0, 0x06, 0xDA, 0xD4, 0x64, 0xD0, 0x28, 0x07,
+ 0x46, 0xB0, 0x08, 0x18, 0x01, 0xD9, 0x28, 0x07,
+ 0x46, 0xB0, 0x04, 0x17, 0x83, 0x07, 0x40, 0x80,
+ 0xA0, 0x06, 0x2A, 0xD8, 0x05, 0x48, 0xD2, 0x06,
+ 0xCA, 0x16, 0x20, 0xC1, 0x32, 0x09, 0x01, 0x16,
+ 0x5C, 0x04, 0x04, 0x02, 0x07, 0x00, 0x20, 0x06,
+ 0x32, 0x09, 0x05, 0x02, 0x00, 0x01, 0xC7, 0x10,
+ 0x0B, 0xC3, 0xC5, 0x04, 0x42, 0xC0, 0xC7, 0x04,
+ 0x20, 0xC2, 0x6C, 0x01, 0xE1, 0xA1, 0x04, 0x00,
+ 0x11, 0xC8, 0x6C, 0x01, 0xFB, 0x16, 0x08, 0xC8,
+ 0x6C, 0x01, 0xC8, 0x04, 0xA0, 0x43, 0x1A, 0xE0,
+ 0x22, 0xC1, 0x0E, 0x00, 0x0D, 0x15, 0x0C, 0x13,
+ 0xA0, 0xE3, 0x1A, 0xE0, 0xA0, 0x06, 0x14, 0xD8,
+ 0x08, 0xC2, 0x48, 0x13, 0x88, 0x02, 0x12, 0x00,
+ 0x45, 0x1B, 0x20, 0x22, 0x22, 0xE0, 0x42, 0x13,
+ 0x02, 0xC1, 0x08, 0xA1, 0x08, 0x05, 0x28, 0x02,
+ 0xF2, 0xFF, 0x07, 0xA2, 0x83, 0x07, 0x01, 0x80,
+ 0x88, 0x02, 0x04, 0x00, 0x6E, 0x11, 0x64, 0xC2,
+ 0x16, 0x00, 0x49, 0xD2, 0x02, 0x16, 0x02, 0x81,
+ 0x31, 0x16, 0x09, 0x01, 0x00, 0xF0, 0x28, 0x16,
+ 0x49, 0xC1, 0x45, 0x71, 0xC3, 0x04, 0x85, 0x02,
+ 0x09, 0x00, 0x7C, 0x13, 0x83, 0x07, 0x02, 0x80,
+ 0xA4, 0xC1, 0x14, 0x00, 0x88, 0x81, 0x76, 0x16,
+ 0x83, 0x05, 0x85, 0x02, 0x15, 0x00, 0x13, 0x1B,
+ 0x83, 0x05, 0x49, 0x99, 0x30, 0xEB, 0x0A, 0x13,
+ 0x09, 0x98, 0x0E, 0xE0, 0x6B, 0x16, 0x25, 0x98,
+ 0x30, 0xEB, 0x0C, 0xE0, 0x67, 0x16, 0xE0, 0xC1,
+ 0xEC, 0x06, 0x64, 0x16, 0xC3, 0x04, 0x52, 0xC2,
+ 0x0F, 0x13, 0x83, 0x07, 0x09, 0x80, 0xE0, 0xC1,
+ 0x6A, 0x09, 0x47, 0x01, 0x00, 0x10, 0x5A, 0x16,
+ 0xA0, 0xC0, 0x6C, 0x01, 0xA0, 0x06, 0xBE, 0xD6,
+ 0x60, 0x04, 0xB0, 0xCE, 0x60, 0x04, 0xBA, 0xCE,
+ 0x89, 0x07, 0x0E, 0x07, 0xC7, 0x04, 0xE5, 0xD1,
+ 0x46, 0xEB, 0x05, 0x13, 0xC7, 0x06, 0x27, 0x02,
+ 0x5C, 0xEB, 0x77, 0xCE, 0xFE, 0x15, 0x44, 0xC0,
+ 0x21, 0x02, 0x18, 0x00, 0x28, 0x02, 0xFC, 0xFF,
+ 0x36, 0x13, 0x91, 0xC1, 0x86, 0xD1, 0x1F, 0x13,
+ 0xC6, 0x06, 0x87, 0x07, 0x0E, 0x07, 0xF7, 0xC0,
+ 0x46, 0x02, 0xFF, 0xBF, 0x43, 0x02, 0xFF, 0x3F,
+ 0xA0, 0x91, 0xF5, 0xED, 0x09, 0x16, 0xB0, 0x03,
+ 0x20, 0x98, 0x0E, 0xE0, 0x5D, 0x06, 0x0F, 0x16,
+ 0x21, 0xC8, 0x02, 0x00, 0x0C, 0x07, 0x17, 0x10,
+ 0x47, 0x82, 0x0C, 0x1B, 0xC6, 0x90, 0xEB, 0x16,
+ 0x47, 0x06, 0xF7, 0x04, 0xB0, 0x03, 0x20, 0x98,
+ 0x5D, 0x06, 0x57, 0x06, 0x0C, 0x13, 0x83, 0x07,
+ 0x05, 0x80, 0x1C, 0x10, 0xD1, 0xC0, 0xE0, 0x20,
+ 0x16, 0xE0, 0x03, 0x16, 0x83, 0x07, 0x08, 0x80,
+ 0x15, 0x10, 0x60, 0x44, 0x26, 0xE0, 0x86, 0x71,
+ 0x46, 0xA0, 0x06, 0x62, 0x83, 0x07, 0x05, 0x80,
+ 0x08, 0xC2, 0xCB, 0x15, 0x0B, 0x16, 0xC3, 0x04,
+ 0x87, 0x07, 0x0E, 0x07, 0x77, 0xC0, 0x47, 0x82,
+ 0x05, 0x1B, 0x60, 0x20, 0x06, 0xE0, 0xFA, 0x16,
+ 0x83, 0x07, 0x07, 0x80, 0x5C, 0x04, 0xA0, 0x92,
+ 0x0E, 0xE0, 0x11, 0x16, 0x20, 0xC8, 0x20, 0xE0,
+ 0x08, 0x07, 0xE0, 0x04, 0x84, 0x01, 0x60, 0x05,
+ 0x02, 0x07, 0x4B, 0x13, 0x20, 0x48, 0x06, 0xE0,
+ 0x82, 0x01, 0xA0, 0x06, 0xD0, 0xD4, 0x83, 0x07,
+ 0x00, 0xC0, 0xA0, 0x06, 0x2A, 0xD8, 0x20, 0xC8,
+ 0x1E, 0xE0, 0x02, 0x07, 0xA0, 0xE3, 0x04, 0xE0,
+ 0x08, 0x02, 0x24, 0x80, 0xA0, 0x06, 0xDA, 0xD4,
+ 0x42, 0x10, 0x20, 0xC1, 0x84, 0x01, 0x44, 0x02,
+ 0x00, 0x88, 0x2A, 0x13, 0x04, 0x48, 0x84, 0x01,
+ 0x20, 0x06, 0x02, 0x07, 0xF1, 0x16, 0x60, 0x01,
+ 0x8E, 0x09, 0x00, 0x80, 0x15, 0x13, 0xA0, 0x23,
+ 0x22, 0xE0, 0x05, 0x16, 0xA0, 0x43, 0x22, 0xE0,
+ 0xA0, 0xD2, 0x0E, 0xE0, 0xCF, 0x10, 0xE0, 0x23,
+ 0x14, 0xE0, 0x04, 0x13, 0x20, 0x98, 0xA9, 0xE3,
+ 0x65, 0x06, 0x0C, 0x16, 0xA0, 0x92, 0x0E, 0xE0,
+ 0xC5, 0x13, 0xA0, 0xD2, 0xA8, 0xE3, 0xD3, 0x10,
+ 0x20, 0xC8, 0x20, 0xE0, 0x08, 0x07, 0x83, 0x07,
+ 0x00, 0xC0, 0x04, 0x10, 0x83, 0x07, 0x02, 0x00,
+ 0x60, 0x04, 0xCA, 0xCE, 0x60, 0x04, 0xC0, 0xCE,
+ 0x20, 0xE8, 0x06, 0xE0, 0x82, 0x01, 0xA0, 0x06,
+ 0xD0, 0xD4, 0x20, 0x07, 0x02, 0x07, 0xA0, 0x43,
+ 0x04, 0xE0, 0x20, 0xC8, 0xAE, 0xE4, 0x86, 0x01,
+ 0x20, 0x88, 0x20, 0xE0, 0x08, 0x07, 0x03, 0x16,
+ 0x20, 0xC8, 0x78, 0xEB, 0x08, 0x07, 0x60, 0x04,
+ 0xD2, 0xCE, 0x0E, 0x01, 0x03, 0x00, 0x16, 0x13,
+ 0xCF, 0xD3, 0x08, 0x16, 0xA0, 0x23, 0x20, 0xE0,
+ 0x03, 0x16, 0xA0, 0xD2, 0xA8, 0xE3, 0x02, 0x10,
+ 0xA0, 0xD2, 0x0E, 0xE0, 0x8E, 0x01, 0x03, 0x00,
+ 0x09, 0x10, 0x60, 0xC1, 0x84, 0x01, 0x60, 0x21,
+ 0x0A, 0xE0, 0x04, 0x16, 0x83, 0x07, 0x00, 0x84,
+ 0x60, 0x04, 0xCA, 0xCE, 0x20, 0xC8, 0x2E, 0xE0,
+ 0x84, 0x01, 0x08, 0x02, 0x06, 0x80, 0xA0, 0x06,
+ 0xDA, 0xD4, 0x60, 0x04, 0xD2, 0xCE, 0x60, 0xE3,
+ 0x20, 0xE0, 0x60, 0x04, 0xD2, 0xCE, 0xE0, 0x93,
+ 0x26, 0xE0, 0x10, 0x16, 0xA0, 0x23, 0x08, 0xE0,
+ 0x0D, 0x16, 0xA0, 0x23, 0x06, 0xE0, 0x02, 0x13,
+ 0x60, 0xE3, 0x1C, 0xE0, 0x60, 0xE3, 0x18, 0xE0,
+ 0xA0, 0x43, 0x06, 0xE0, 0x08, 0x02, 0x3C, 0x80,
+ 0xA0, 0x06, 0xDA, 0xD4, 0x60, 0x04, 0xD2, 0xCE,
+ 0xA0, 0x92, 0xA8, 0xE3, 0x03, 0x13, 0xA0, 0x92,
+ 0xA9, 0xE3, 0x1E, 0x16, 0xE0, 0x23, 0x14, 0xE0,
+ 0x08, 0x13, 0x20, 0x98, 0xA9, 0xE3, 0x65, 0x06,
+ 0x04, 0x13, 0x83, 0x07, 0x07, 0x00, 0x60, 0x04,
+ 0xCA, 0xCE, 0xA0, 0xD2, 0x0E, 0xE0, 0x20, 0xC8,
+ 0x20, 0xE0, 0x08, 0x07, 0xA0, 0x27, 0x04, 0xE0,
+ 0x0B, 0x16, 0x20, 0xC8, 0x1E, 0xE0, 0x08, 0x07,
+ 0xE0, 0x93, 0xA8, 0xE3, 0x05, 0x16, 0xA0, 0x23,
+ 0x12, 0xE0, 0x02, 0x13, 0x20, 0x06, 0x08, 0x07,
+ 0x60, 0x04, 0xD2, 0xCE, 0xE0, 0x23, 0x14, 0xE0,
+ 0x3E, 0x13, 0xB0, 0x03, 0x20, 0x98, 0x0E, 0xE0,
+ 0x6F, 0x06, 0x0F, 0x16, 0xCF, 0xD3, 0x37, 0x16,
+ 0xA0, 0xD2, 0xA8, 0xE3, 0x60, 0x04, 0xD2, 0xCE,
+ 0xA0, 0x92, 0x0C, 0xE0, 0x30, 0x16, 0xE0, 0x23,
+ 0x14, 0xE0, 0xF6, 0x13, 0x83, 0x07, 0x06, 0x00,
+ 0x07, 0x10, 0x83, 0x07, 0x05, 0x00, 0xE0, 0x93,
+ 0x0E, 0xE0, 0x02, 0x16, 0x83, 0x07, 0x07, 0x00,
+ 0x60, 0x04, 0xCA, 0xCE, 0x60, 0xE3, 0x12, 0xE0,
+ 0xE0, 0x23, 0x14, 0xE0, 0x11, 0x13, 0x20, 0x98,
+ 0x0C, 0xE0, 0x65, 0x06, 0x03, 0x16, 0x20, 0xD8,
+ 0xA9, 0xE3, 0x65, 0x06, 0x14, 0x10, 0x60, 0x01,
+ 0x8E, 0x09, 0x00, 0x80, 0x10, 0x13, 0x20, 0xC1,
+ 0x84, 0x01, 0x20, 0x21, 0x06, 0xE0, 0xD2, 0x16,
+ 0x60, 0x01, 0x8E, 0x09, 0x00, 0x80, 0x07, 0x13,
+ 0x20, 0x48, 0x06, 0xE0, 0x84, 0x01, 0x08, 0x02,
+ 0x30, 0x80, 0xA0, 0x06, 0xDA, 0xD4, 0x60, 0x04,
+ 0xD2, 0xCE, 0x60, 0x01, 0x8E, 0x09, 0x00, 0x20,
+ 0xFA, 0x16, 0x08, 0x02, 0x78, 0x80, 0xA0, 0x06,
+ 0xDA, 0xD4, 0x20, 0xC2, 0xA2, 0x09, 0x03, 0x13,
+ 0x20, 0x06, 0xA2, 0x09, 0x21, 0x13, 0x20, 0xC2,
+ 0xA4, 0x09, 0xED, 0x13, 0x20, 0x06, 0xA4, 0x09,
+ 0xEA, 0x16, 0xA0, 0x07, 0xA4, 0x09, 0x05, 0x00,
+ 0xCD, 0x01, 0x00, 0x04, 0xE4, 0x10, 0x60, 0x01,
+ 0x8E, 0x09, 0x80, 0x00, 0x3E, 0x13, 0x60, 0x01,
+ 0x8E, 0x09, 0x00, 0x10, 0x02, 0x16, 0xA0, 0x06,
+ 0xE6, 0xD5, 0xA0, 0x01, 0x8E, 0x09, 0x00, 0x10,
+ 0xE0, 0x01, 0x8E, 0x09, 0x80, 0x00, 0x83, 0x07,
+ 0x00, 0xA8, 0xA0, 0x06, 0x2A, 0xD8, 0x16, 0x10,
+ 0x60, 0x01, 0x8E, 0x09, 0x00, 0x04, 0x21, 0x13,
+ 0xE0, 0x01, 0x8E, 0x09, 0x00, 0x10, 0xA0, 0x07,
+ 0x08, 0x07, 0x05, 0x00, 0x83, 0x07, 0x08, 0xA8,
+ 0xA0, 0x23, 0x04, 0xE0, 0x05, 0x16, 0x20, 0xC8,
+ 0x20, 0xE0, 0x08, 0x07, 0x83, 0x07, 0x08, 0xE8,
+ 0xA0, 0x06, 0x2A, 0xD8, 0xA0, 0x01, 0x8E, 0x09,
+ 0x00, 0x20, 0xE0, 0x01, 0x8E, 0x09, 0x00, 0x01,
+ 0xE0, 0x01, 0x82, 0x01, 0x00, 0x08, 0xA0, 0xD2,
+ 0x0E, 0xE0, 0x83, 0x07, 0x10, 0x80, 0x60, 0x04,
+ 0xC0, 0xCE, 0x08, 0x02, 0x78, 0x00, 0xA0, 0x06,
+ 0xDA, 0xD4, 0x83, 0x07, 0x00, 0x82, 0x60, 0x04,
+ 0xCA, 0xCE, 0x60, 0x04, 0xD2, 0xCE, 0x20, 0x06,
+ 0x90, 0x09, 0x07, 0x15, 0xA0, 0xD2, 0x10, 0xE0,
+ 0xCA, 0x06, 0xA0, 0xD2, 0x26, 0xE0, 0xCF, 0x04,
+ 0xF4, 0x10, 0x08, 0x02, 0x7E, 0x80, 0xA0, 0x06,
+ 0xDA, 0xD4, 0x20, 0xC2, 0x90, 0x09, 0x88, 0x02,
+ 0x96, 0x00, 0x0D, 0x1B, 0xEA, 0x16, 0x20, 0x48,
+ 0x08, 0xE0, 0x82, 0x01, 0xA0, 0x01, 0x8E, 0x09,
+ 0x00, 0x10, 0xA0, 0x06, 0xE6, 0xD5, 0x83, 0x07,
+ 0x00, 0x28, 0x60, 0x04, 0xC0, 0xCE, 0x60, 0x01,
+ 0x8E, 0x09, 0x00, 0x10, 0xDA, 0x16, 0x84, 0x07,
+ 0x04, 0x00, 0x85, 0x07, 0xF4, 0x03, 0xF5, 0x04,
+ 0xB5, 0x07, 0x30, 0x06, 0xA0, 0x06, 0xA2, 0xD8,
+ 0xA0, 0x07, 0xF8, 0x03, 0x34, 0xD4, 0x60, 0x04,
+ 0xC0, 0xDB, 0xA0, 0x07, 0x90, 0x09, 0xF4, 0x01,
+ 0x08, 0x02, 0x7E, 0x80, 0xA0, 0x06, 0xDA, 0xD4,
+ 0x08, 0x02, 0x36, 0x00, 0xA0, 0x06, 0xDA, 0xD4,
+ 0x20, 0xE8, 0x0C, 0xE0, 0x82, 0x01, 0xA0, 0x23,
+ 0x18, 0xE0, 0x06, 0x13, 0xA0, 0xE3, 0x18, 0xE0,
+ 0xE0, 0x2E, 0x00, 0x00, 0x41, 0xC0, 0xFA, 0x16,
+ 0xA0, 0x06, 0xE6, 0xD5, 0xB2, 0x10, 0x04, 0x02,
+ 0x64, 0x00, 0x04, 0x06, 0xFE, 0x16, 0x5B, 0x04,
+ 0xA0, 0xE3, 0x0A, 0xE0, 0x08, 0xC2, 0x02, 0x11,
+ 0xA0, 0x43, 0x0A, 0xE0, 0x20, 0x42, 0x04, 0xE0,
+ 0x28, 0x02, 0xFC, 0xE3, 0x58, 0xC0, 0x02, 0xC0,
+ 0x11, 0x88, 0xCE, 0xED, 0x03, 0x16, 0xD1, 0x2C,
+ 0x58, 0xC0, 0xD1, 0x04, 0x80, 0xC0, 0x0E, 0x01,
+ 0x00, 0x10, 0x0F, 0x13, 0x60, 0xCC, 0xCE, 0xED,
+ 0xC8, 0x05, 0x78, 0xCC, 0x03, 0x16, 0x41, 0x06,
+ 0x60, 0xCC, 0xD6, 0x06, 0x58, 0xC4, 0x02, 0x16,
+ 0x60, 0xC4, 0x00, 0x07, 0x21, 0x02, 0xFA, 0xFF,
+ 0x91, 0x2C, 0x5B, 0x04, 0x0B, 0xC3, 0xA0, 0x06,
+ 0xC2, 0xD5, 0xA0, 0x06, 0x9C, 0xD5, 0x08, 0xC2,
+ 0x05, 0x16, 0x62, 0xC2, 0x02, 0x00, 0x60, 0x26,
+ 0xA8, 0xE4, 0x0D, 0x16, 0x42, 0xC2, 0xC9, 0x05,
+ 0x60, 0xCE, 0xF2, 0xED, 0x60, 0xC6, 0x7C, 0xEB,
+ 0xA0, 0x06, 0x10, 0xD6, 0x18, 0xCA, 0x0A, 0x00,
+ 0x20, 0x46, 0x26, 0xE0, 0x04, 0x16, 0xA0, 0xC0,
+ 0x6C, 0x01, 0x12, 0x2E, 0x1D, 0x10, 0x12, 0xC1,
+ 0x05, 0x13, 0x60, 0xC1, 0x6C, 0x01, 0x14, 0x2E,
+ 0x05, 0xC8, 0x6C, 0x01, 0xD2, 0x04, 0x48, 0x06,
+ 0x84, 0x07, 0x02, 0x00, 0x48, 0xC1, 0xA0, 0xC0,
+ 0x6C, 0x01, 0x02, 0xC0, 0xA0, 0x06, 0xA2, 0xD8,
+ 0x60, 0xC5, 0x02, 0xFC, 0x07, 0x02, 0xA2, 0x06,
+ 0x25, 0x02, 0xF4, 0xFF, 0x05, 0xC8, 0x02, 0xFC,
+ 0x20, 0xC2, 0x6C, 0x01, 0xA0, 0x06, 0xFC, 0xB4,
+ 0x5C, 0x04, 0x42, 0xC2, 0x29, 0x02, 0x08, 0x00,
+ 0x39, 0xC2, 0x48, 0x02, 0x00, 0xC0, 0x88, 0x02,
+ 0x00, 0xC0, 0x08, 0x16, 0x60, 0x8E, 0x2E, 0xE0,
+ 0x05, 0x16, 0x60, 0x86, 0x2E, 0xE0, 0x02, 0x16,
+ 0xC8, 0x04, 0x5B, 0x04, 0x08, 0x07, 0x5B, 0x04,
+ 0x20, 0x88, 0x8E, 0xE1, 0x6C, 0x01, 0x02, 0x16,
+ 0x60, 0x04, 0xBA, 0xCE, 0x5B, 0x04, 0x88, 0x07,
+ 0xAE, 0x01, 0x20, 0xE8, 0x0E, 0xE0, 0x80, 0x01,
+ 0x08, 0x06, 0xFE, 0x16, 0x20, 0x48, 0x0E, 0xE0,
+ 0x80, 0x01, 0x5B, 0x04, 0xC2, 0x04, 0xA0, 0x23,
+ 0x0C, 0xE0, 0x10, 0x16, 0x20, 0x2F, 0x30, 0x06,
+ 0x82, 0x07, 0xDF, 0xFF, 0x02, 0x2C, 0x82, 0x02,
+ 0xF4, 0x03, 0x06, 0x13, 0xE2, 0x04, 0x02, 0x00,
+ 0xA2, 0xC0, 0x06, 0x00, 0x12, 0x2E, 0xF4, 0x10,
+ 0xA0, 0x43, 0x0C, 0xE0, 0x5B, 0x04, 0x42, 0xC2,
+ 0x88, 0x07, 0x0E, 0x00, 0x09, 0xA2, 0x29, 0x02,
+ 0x08, 0x00, 0x78, 0xCE, 0x78, 0xCE, 0x78, 0xCE,
+ 0x60, 0xCE, 0x6C, 0x09, 0x60, 0xCE, 0x6E, 0x09,
+ 0x60, 0xCE, 0x70, 0x09, 0xA0, 0x23, 0x1A, 0xE0,
+ 0x0F, 0x16, 0x58, 0xC2, 0x49, 0x02, 0x80, 0x1F,
+ 0x60, 0x2A, 0x14, 0xE0, 0xA0, 0xE8, 0x04, 0xE0,
+ 0x0E, 0x00, 0x09, 0xC6, 0x49, 0x02, 0x00, 0x1F,
+ 0xC9, 0x06, 0x09, 0xA2, 0x89, 0xA8, 0x04, 0x00,
+ 0x28, 0x02, 0x02, 0x00, 0x58, 0xC2, 0x49, 0x0A,
+ 0x49, 0x02, 0x00, 0xF0, 0x09, 0xD6, 0xE2, 0x04,
+ 0x06, 0x00, 0x5B, 0x04, 0x00, 0x07, 0x82, 0xC0,
+ 0x53, 0x13, 0xA0, 0xC0, 0x6C, 0x01, 0xA0, 0xC1,
+ 0x06, 0xFC, 0x46, 0x02, 0x0F, 0x00, 0x86, 0x02,
+ 0x01, 0x00, 0x3D, 0x12, 0x06, 0x88, 0xF2, 0x06,
+ 0x12, 0x16, 0x01, 0x02, 0x0E, 0xFC, 0x31, 0x88,
+ 0xF4, 0x06, 0x0D, 0x16, 0x31, 0x88, 0xF6, 0x06,
+ 0x0A, 0x16, 0x31, 0x88, 0xF8, 0x06, 0x07, 0x16,
+ 0x86, 0x02, 0x02, 0x00, 0x2C, 0x16, 0x20, 0x88,
+ 0x0A, 0x07, 0xFA, 0x06, 0x28, 0x13, 0x20, 0xC1,
+ 0x6A, 0x09, 0x44, 0x01, 0x00, 0x08, 0x06, 0x13,
+ 0x86, 0x02, 0x02, 0x00, 0x20, 0x16, 0x44, 0x01,
+ 0x80, 0x00, 0x1D, 0x16, 0x00, 0x07, 0xE0, 0x23,
+ 0x14, 0xE0, 0x19, 0x16, 0x82, 0x02, 0x43, 0x00,
+ 0x16, 0x13, 0x00, 0x02, 0x02, 0xFC, 0x40, 0xC0,
+ 0xB0, 0x01, 0x20, 0x00, 0x60, 0x01, 0x6A, 0x09,
+ 0x01, 0x00, 0x07, 0x16, 0x60, 0xA0, 0x2C, 0x09,
+ 0x60, 0xCC, 0xEE, 0x05, 0x50, 0xC4, 0x20, 0xC4,
+ 0x2C, 0x09, 0x80, 0x07, 0x36, 0x07, 0x81, 0x07,
+ 0x40, 0x00, 0x40, 0x2C, 0xC0, 0x04, 0x84, 0x07,
+ 0xF2, 0x06, 0x06, 0xCD, 0x01, 0x02, 0x0E, 0xFC,
+ 0x31, 0xCD, 0x31, 0xCD, 0x31, 0xCD, 0x20, 0xC5,
+ 0x0A, 0x07, 0x00, 0xC0, 0x01, 0x13, 0x12, 0x2E,
+ 0xE0, 0x04, 0x6C, 0x01, 0x5B, 0x04, 0x60, 0x01,
+ 0x8A, 0x09, 0x00, 0x80, 0x12, 0x13, 0x0B, 0xC8,
+ 0x22, 0x09, 0xA0, 0x06, 0x3E, 0xD7, 0x08, 0x02,
+ 0x42, 0x80, 0xA0, 0x06, 0xDA, 0xD4, 0x08, 0x02,
+ 0x30, 0x80, 0xA0, 0x06, 0xDA, 0xD4, 0xE0, 0xC2,
+ 0x22, 0x09, 0x5B, 0x04, 0x20, 0x48, 0xAC, 0xE4,
+ 0x80, 0x01, 0x20, 0x48, 0x7E, 0xEB, 0x82, 0x01,
+ 0x20, 0x48, 0x22, 0xE0, 0xAE, 0x01, 0x20, 0x48,
+ 0x22, 0xE0, 0x78, 0x09, 0x60, 0x43, 0x18, 0xE0,
+ 0xA0, 0x43, 0x08, 0xE0, 0x60, 0x01, 0x8A, 0x09,
+ 0x00, 0x80, 0xEB, 0x13, 0x0B, 0xC3, 0x08, 0x02,
+ 0x42, 0x00, 0xA0, 0x06, 0xDA, 0xD4, 0x5C, 0x04,
+ 0x0B, 0xC3, 0x20, 0xE8, 0x0E, 0xE0, 0x82, 0x01,
+ 0x20, 0xE8, 0x22, 0xE0, 0xAE, 0x01, 0x20, 0xE8,
+ 0x22, 0xE0, 0x78, 0x09, 0xA0, 0xE3, 0x08, 0xE0,
+ 0x60, 0xE3, 0x18, 0xE0, 0xA0, 0x43, 0x06, 0xE0,
+ 0x08, 0x02, 0x3C, 0x80, 0xA0, 0x06, 0xDA, 0xD4,
+ 0x08, 0x02, 0x42, 0x80, 0xA0, 0x06, 0xDA, 0xD4,
+ 0x5C, 0x04, 0x0B, 0xC3, 0x83, 0x07, 0x00, 0x68,
+ 0xA0, 0x06, 0x2A, 0xD8, 0x83, 0x07, 0x10, 0x80,
+ 0xA0, 0x06, 0x2A, 0xD8, 0x5C, 0x04, 0x0B, 0xC3,
+ 0xA0, 0x06, 0x14, 0xD8, 0x02, 0xA2, 0x68, 0xC2,
+ 0x14, 0x00, 0x29, 0x02, 0xFC, 0xFF, 0x24, 0x13,
+ 0x28, 0x02, 0x18, 0x00, 0x87, 0x07, 0x0E, 0x00,
+ 0x81, 0x07, 0x0E, 0x07, 0xF1, 0x04, 0x47, 0x06,
+ 0xFD, 0x15, 0x58, 0xC0, 0xB0, 0x03, 0x01, 0x78,
+ 0x63, 0x06, 0x41, 0x02, 0x3F, 0x00, 0x0E, 0x13,
+ 0x81, 0x02, 0x1F, 0x00, 0x0B, 0x1B, 0x41, 0xA0,
+ 0x61, 0xC0, 0x86, 0xE4, 0xF8, 0xC1, 0xC7, 0x06,
+ 0xC7, 0x71, 0x47, 0x06, 0x78, 0xCC, 0x47, 0x06,
+ 0xFD, 0x15, 0x04, 0x10, 0x58, 0xC0, 0xC1, 0x06,
+ 0x41, 0x70, 0x01, 0xA2, 0x49, 0xC2, 0xE5, 0x15,
+ 0x5C, 0x04, 0xA0, 0x23, 0x1A, 0xE0, 0x02, 0x13,
+ 0xC8, 0x04, 0x5B, 0x04, 0x22, 0xC2, 0x14, 0x00,
+ 0x48, 0x02, 0x00, 0x1F, 0xC8, 0x06, 0x5B, 0x04,
+ 0x83, 0x02, 0x0F, 0x00, 0x17, 0x1B, 0xA0, 0xC1,
+ 0xD4, 0x06, 0x35, 0x13, 0x26, 0x02, 0x04, 0x00,
+ 0xA0, 0xCD, 0xCE, 0xED, 0x83, 0xC5, 0x04, 0x13,
+ 0x4A, 0xC2, 0x39, 0x0A, 0xC9, 0xE0, 0x83, 0xC5,
+ 0x86, 0x07, 0x36, 0x07, 0x87, 0x07, 0x10, 0x00,
+ 0x20, 0xC2, 0xD4, 0x06, 0xE0, 0x04, 0xD4, 0x06,
+ 0x46, 0x2C, 0x5B, 0x04, 0x60, 0xC0, 0xFE, 0x06,
+ 0x20, 0xC2, 0x6A, 0x09, 0x48, 0x02, 0x00, 0x60,
+ 0x20, 0x22, 0x06, 0xE0, 0x04, 0x16, 0x20, 0xE2,
+ 0x0A, 0xE0, 0x20, 0xE2, 0x18, 0xE0, 0x13, 0x0A,
+ 0x04, 0x18, 0x41, 0x05, 0x03, 0x48, 0xFE, 0x06,
+ 0x06, 0x10, 0x83, 0x02, 0x02, 0x00, 0x01, 0x16,
+ 0x13, 0x09, 0x03, 0xE8, 0xFE, 0x06, 0xC8, 0x40,
+ 0xC1, 0x40, 0x05, 0x13, 0x88, 0x07, 0x36, 0x07,
+ 0x89, 0x07, 0x00, 0x40, 0x48, 0x2C, 0x5B, 0x04,
+ 0xC9, 0x04, 0x24, 0xC1, 0x94, 0xEB, 0x84, 0xC1,
+ 0x86, 0x71, 0x86, 0xA1, 0x26, 0x02, 0x56, 0xEC,
+ 0xC4, 0x06, 0x04, 0x71, 0x24, 0x02, 0xC2, 0xEB,
+ 0x14, 0xD2, 0xC8, 0x09, 0x08, 0xA2, 0xB0, 0x03,
+ 0x34, 0xD8, 0x5F, 0x06, 0x47, 0x02, 0x0F, 0x00,
+ 0xC7, 0xA1, 0x28, 0xC2, 0x82, 0xEB, 0x58, 0x04,
+ 0x76, 0xCD, 0x47, 0x06, 0xFD, 0x16, 0x32, 0x10,
+ 0x36, 0xC2, 0x26, 0x10, 0x17, 0x09, 0x47, 0xA1,
+ 0x2D, 0x10, 0x17, 0x09, 0x47, 0x61, 0x2A, 0x10,
+ 0xA0, 0x43, 0x16, 0xE0, 0x5B, 0x04, 0xA0, 0x43,
+ 0x16, 0xE0, 0x49, 0xC2, 0x03, 0x16, 0x44, 0xC2,
+ 0x06, 0xC8, 0x22, 0x09, 0x27, 0xC1, 0x8E, 0xED,
+ 0x84, 0xC1, 0x86, 0x71, 0x26, 0x02, 0xC4, 0xED,
+ 0xC4, 0x06, 0x04, 0x71, 0x24, 0x02, 0xAA, 0xED,
+ 0xD3, 0x10, 0x09, 0xC1, 0xA0, 0xC1, 0x22, 0x09,
+ 0xC9, 0x04, 0x10, 0x10, 0x36, 0xC2, 0x78, 0xD5,
+ 0x60, 0x41, 0x22, 0xE0, 0xC5, 0x05, 0x0A, 0x10,
+ 0x78, 0xCD, 0x47, 0x06, 0xFD, 0x15, 0x06, 0x10,
+ 0xA0, 0x23, 0x16, 0xE0, 0xCD, 0x16, 0x49, 0xC2,
+ 0xEC, 0x16, 0xD6, 0x10, 0xA0, 0xE3, 0x16, 0xE0,
+ 0xBB, 0x10, 0x08, 0x02, 0x5A, 0x80, 0xA0, 0x06,
+ 0xDA, 0xD4, 0x44, 0x10, 0xA0, 0x92, 0x0C, 0xE0,
+ 0x15, 0x16, 0x44, 0x02, 0x00, 0x5E, 0x14, 0x16,
+ 0x20, 0x48, 0xAC, 0xE4, 0x80, 0x01, 0xA0, 0x06,
+ 0x72, 0xD7, 0x20, 0xC8, 0x9E, 0x01, 0x9E, 0x01,
+ 0xE0, 0x2E, 0x01, 0x00, 0xA0, 0x43, 0x18, 0xE0,
+ 0xA0, 0xD2, 0x26, 0xE0, 0x83, 0x07, 0x10, 0x00,
+ 0xA0, 0x06, 0x2A, 0xD8, 0x60, 0x04, 0xD2, 0xCE,
+ 0x84, 0x07, 0x08, 0x00, 0x60, 0x04, 0x94, 0xCE,
+ 0x85, 0x07, 0x03, 0x02, 0x05, 0xC8, 0xCE, 0x06,
+ 0xA0, 0x43, 0x12, 0xE0, 0xE0, 0x04, 0xFA, 0x06,
+ 0xA0, 0x06, 0xA4, 0xD7, 0x08, 0x02, 0x48, 0x80,
+ 0xA0, 0x06, 0xDA, 0xD4, 0x17, 0x10, 0x60, 0x01,
+ 0x8E, 0x09, 0x00, 0x80, 0x02, 0x16, 0x60, 0x04,
+ 0x9C, 0xD4, 0xA0, 0x27, 0x2C, 0xE0, 0x04, 0x16,
+ 0x08, 0x02, 0x54, 0x80, 0xA0, 0x06, 0xDA, 0xD4,
+ 0x83, 0x07, 0x00, 0xA8, 0x20, 0x88, 0x08, 0x07,
+ 0x20, 0xE0, 0x02, 0x16, 0x83, 0x07, 0x00, 0xE8,
+ 0xA0, 0x06, 0x2A, 0xD8, 0x08, 0x02, 0x36, 0x00,
+ 0xA0, 0x06, 0xDA, 0xD4, 0x20, 0xE8, 0x0C, 0xE0,
+ 0x82, 0x01, 0xA0, 0x23, 0x18, 0xE0, 0x06, 0x13,
+ 0xA0, 0xE3, 0x18, 0xE0, 0xE0, 0x2E, 0x00, 0x00,
+ 0x41, 0xC0, 0xFA, 0x16, 0xA0, 0x06, 0xE6, 0xD5,
+ 0x82, 0xC0, 0x02, 0x13, 0x4F, 0x02, 0x80, 0xFF,
+ 0xC4, 0x04, 0x0F, 0xD1, 0xC4, 0x06, 0x60, 0x04,
+ 0x94, 0xCE, 0xA0, 0x06, 0x32, 0xDA, 0x08, 0x02,
+ 0x36, 0x80, 0xA0, 0x07, 0xD6, 0x06, 0x20, 0xDA,
+ 0xA0, 0x06, 0xDA, 0xD4, 0x10, 0x10, 0xA0, 0x06,
+ 0x32, 0xDA, 0x20, 0xD1, 0xCE, 0x06, 0xE6, 0x13,
+ 0x20, 0x78, 0x12, 0xE0, 0xCE, 0x06, 0xE2, 0x10,
+ 0x20, 0xC1, 0x16, 0x04, 0x14, 0x0A, 0xC4, 0x06,
+ 0x0A, 0x91, 0x01, 0x16, 0x5B, 0x04, 0x60, 0x04,
+ 0xD2, 0xCE, 0xB0, 0x03, 0x20, 0x98, 0xAB, 0xE3,
+ 0x65, 0x06, 0x02, 0x13, 0x60, 0x04, 0xBA, 0xCE,
+ 0x60, 0xC1, 0x94, 0x09, 0x02, 0x13, 0x60, 0x04,
+ 0x22, 0xDE, 0x60, 0xD1, 0x0E, 0xE0, 0x3D, 0x10,
+ 0x85, 0x07, 0xBE, 0xEA, 0x35, 0xC8, 0x8A, 0x09,
+ 0x15, 0xC8, 0x8C, 0x09, 0x0B, 0x10, 0xE0, 0x04,
+ 0xA0, 0x09, 0x20, 0xD8, 0x2E, 0x09, 0xA6, 0x09,
+ 0x20, 0xC8, 0xA8, 0x09, 0x8A, 0x09, 0x20, 0xC8,
+ 0xAA, 0x09, 0x8C, 0x09, 0xE0, 0x04, 0x8E, 0x09,
+ 0xCA, 0x04, 0xCD, 0x04, 0xCE, 0x04, 0xCF, 0x04,
+ 0xE0, 0x04, 0xA8, 0x06, 0xE0, 0x04, 0xBA, 0x06,
+ 0x84, 0x07, 0xA0, 0x01, 0x85, 0x07, 0x10, 0x00,
+ 0xF4, 0x04, 0x45, 0x06, 0xFD, 0x15, 0x84, 0x07,
+ 0xD8, 0x06, 0x85, 0x07, 0x34, 0x07, 0x44, 0x61,
+ 0xF4, 0x04, 0x45, 0x06, 0xFD, 0x15, 0x84, 0x07,
+ 0xC8, 0x00, 0x04, 0xC8, 0x00, 0x07, 0x84, 0x07,
+ 0xFF, 0x7F, 0x04, 0xC8, 0xF0, 0x06, 0x84, 0x07,
+ 0x06, 0x00, 0x04, 0xC8, 0xEE, 0x06, 0x85, 0x07,
+ 0x02, 0x0C, 0x20, 0xC1, 0x8A, 0x09, 0x01, 0x11,
+ 0xC5, 0x06, 0xB0, 0x03, 0x05, 0xD8, 0x65, 0x06,
+ 0x60, 0x04, 0xD2, 0xCE, 0xB0, 0x03, 0x20, 0x98,
+ 0xAA, 0xE3, 0x65, 0x06, 0x79, 0x16, 0x60, 0xD1,
+ 0x10, 0xE0, 0xF3, 0x10, 0x60, 0xD1, 0xAB, 0xE3,
+ 0xA0, 0x01, 0x8E, 0x09, 0x00, 0x02, 0xE0, 0x01,
+ 0x80, 0x01, 0x00, 0x20, 0xC8, 0x04, 0x20, 0xD2,
+ 0x80, 0x01, 0x08, 0xC8, 0x9C, 0x09, 0x08, 0xD8,
+ 0x2E, 0x09, 0xE3, 0x10, 0x20, 0xF8, 0x19, 0xEE,
+ 0x82, 0x01, 0x20, 0xC8, 0x10, 0xE0, 0xC6, 0x06,
+ 0x20, 0xC8, 0x20, 0xE0, 0xC8, 0x06, 0x20, 0xC8,
+ 0xC2, 0xEA, 0x90, 0x09, 0xE0, 0x2E, 0x00, 0x00,
+ 0xA0, 0x06, 0xE6, 0xD5, 0x20, 0xC8, 0x6C, 0x09,
+ 0xA0, 0x01, 0x20, 0xC8, 0x6E, 0x09, 0xA2, 0x01,
+ 0x20, 0xC8, 0x70, 0x09, 0xA4, 0x01, 0x20, 0xC8,
+ 0x6E, 0x09, 0xB0, 0x01, 0x20, 0xC8, 0x70, 0x09,
+ 0xB2, 0x01, 0x20, 0xC8, 0x70, 0x09, 0xCC, 0x06,
+ 0x20, 0xF8, 0x18, 0xEE, 0x80, 0x01, 0xB0, 0x03,
+ 0xA0, 0x01, 0x8E, 0x09, 0x00, 0x02, 0x20, 0x98,
+ 0xAA, 0xE3, 0x65, 0x06, 0x3A, 0x13, 0xE0, 0x01,
+ 0x8E, 0x09, 0x00, 0x02, 0x88, 0x07, 0x56, 0xDF,
+ 0xE0, 0xC2, 0x8A, 0x09, 0x05, 0x11, 0xA0, 0x01,
+ 0x8E, 0x09, 0x00, 0x02, 0x88, 0x07, 0x9A, 0xDF,
+ 0x98, 0x06, 0x08, 0x02, 0x12, 0x80, 0xA0, 0x06,
+ 0xDA, 0xD4, 0x84, 0x07, 0x0A, 0x00, 0x85, 0x07,
+ 0xF4, 0x03, 0x20, 0x88, 0xC6, 0x06, 0x20, 0xE0,
+ 0x08, 0x1B, 0x60, 0x01, 0x8E, 0x09, 0x00, 0x80,
+ 0xA5, 0x13, 0x84, 0x07, 0x1C, 0x00, 0x85, 0x07,
+ 0xF8, 0x03, 0xA0, 0x06, 0xA2, 0xD8, 0x85, 0x07,
+ 0x42, 0xDC, 0x05, 0xC8, 0xF8, 0x03, 0x20, 0xC8,
+ 0xA0, 0x09, 0xA0, 0x09, 0x6C, 0x16, 0x20, 0xE8,
+ 0x9C, 0x09, 0xFE, 0x03, 0x20, 0xE8, 0x9E, 0x09,
+ 0x06, 0x04, 0xA0, 0x23, 0x0C, 0xE0, 0x32, 0x13,
+ 0xA0, 0xE3, 0x0C, 0xE0, 0xA0, 0x2E, 0xF4, 0x03,
+ 0x2D, 0x10, 0xA0, 0x06, 0x56, 0xDF, 0x60, 0x01,
+ 0x8E, 0x09, 0x00, 0x40, 0x08, 0x13, 0x08, 0x02,
+ 0x6C, 0x80, 0xA0, 0x06, 0xDA, 0xD4, 0x22, 0x10,
+ 0xE0, 0x01, 0x8E, 0x09, 0x00, 0x40, 0x08, 0x02,
+ 0x60, 0x80, 0xA0, 0x06, 0xDA, 0xD4, 0x84, 0x07,
+ 0x2A, 0x00, 0x85, 0x07, 0xF4, 0x03, 0xA0, 0x06,
+ 0xA2, 0xD8, 0xD5, 0x10, 0xB0, 0x03, 0x20, 0x98,
+ 0xAA, 0xE3, 0x65, 0x06, 0x0F, 0x16, 0x20, 0x06,
+ 0x90, 0x09, 0x9A, 0x16, 0x60, 0x01, 0x8A, 0x09,
+ 0x00, 0x40, 0x39, 0x13, 0xE0, 0x04, 0x8A, 0x09,
+ 0xE0, 0x04, 0x8C, 0x09, 0xE0, 0x04, 0x8E, 0x09,
+ 0x60, 0x04, 0x62, 0xDA, 0x60, 0x04, 0xB0, 0xCE,
+ 0xB0, 0x03, 0x20, 0x98, 0x10, 0xE0, 0x65, 0x06,
+ 0xF9, 0x16, 0x44, 0x02, 0x00, 0x5E, 0x04, 0x16,
+ 0x20, 0x06, 0xC6, 0x06, 0x9A, 0x16, 0x0A, 0x10,
+ 0xB0, 0x03, 0x20, 0x98, 0x10, 0xE0, 0x65, 0x06,
+ 0xED, 0x16, 0x20, 0x06, 0xC8, 0x06, 0x02, 0x13,
+ 0x60, 0x04, 0x5A, 0xDB, 0x60, 0x01, 0x8E, 0x09,
+ 0x00, 0x01, 0x02, 0x16, 0xCE, 0x01, 0x03, 0x00,
+ 0x0E, 0x01, 0x03, 0x00, 0x03, 0x13, 0x83, 0x07,
+ 0x00, 0x82, 0x07, 0x10, 0x83, 0x07, 0x01, 0x00,
+ 0xE0, 0x04, 0x8E, 0x09, 0x20, 0xE8, 0x0C, 0xE0,
+ 0x82, 0x01, 0x60, 0x04, 0xCA, 0xCE, 0x60, 0x01,
+ 0x8A, 0x09, 0x00, 0x40, 0xC7, 0x16, 0x83, 0x07,
+ 0x0D, 0x00, 0xF2, 0x10, 0xB0, 0x03, 0x20, 0x98,
+ 0xAA, 0xE3, 0x65, 0x06, 0xC7, 0x16, 0x20, 0x88,
+ 0x98, 0x09, 0x20, 0xE0, 0xF0, 0x16, 0x22, 0xC8,
+ 0x0E, 0x00, 0xDC, 0x06, 0x22, 0xC8, 0x10, 0x00,
+ 0xDE, 0x06, 0x22, 0xC8, 0x12, 0x00, 0xE0, 0x06,
+ 0xE0, 0x01, 0x8E, 0x09, 0x00, 0x80, 0x08, 0x02,
+ 0x66, 0x80, 0xA0, 0x06, 0xDA, 0xD4, 0xB2, 0x10,
+ 0xA0, 0x07, 0x9A, 0x09, 0x5A, 0x00, 0xA0, 0x07,
+ 0xA2, 0x09, 0x19, 0x00, 0xA0, 0x07, 0xA4, 0x09,
+ 0x05, 0x00, 0xE0, 0x01, 0x8E, 0x09, 0x00, 0x20,
+ 0xE0, 0x01, 0x8E, 0x09, 0x00, 0x04, 0x08, 0x02,
+ 0x78, 0x80, 0xA0, 0x06, 0xDA, 0xD4, 0xB0, 0x03,
+ 0x20, 0x98, 0xAB, 0xE3, 0x65, 0x06, 0x9A, 0x16,
+ 0x08, 0x02, 0x72, 0x80, 0xA0, 0x06, 0xDA, 0xD4,
+ 0x20, 0xE8, 0x0C, 0xE0, 0x82, 0x01, 0xA0, 0x06,
+ 0xD0, 0xD5, 0x20, 0x06, 0x9A, 0x09, 0xBF, 0x13,
+ 0x84, 0x07, 0x2C, 0x00, 0x85, 0x07, 0xF4, 0x03,
+ 0xA0, 0x06, 0xA2, 0xD8, 0x60, 0x04, 0xC0, 0xDB,
+ 0x20, 0x48, 0x0C, 0xE0, 0x82, 0x01, 0x82, 0x10,
+ 0x0E, 0x01, 0x03, 0x00, 0x0A, 0x13, 0x08, 0x02,
+ 0x0C, 0x80, 0xA0, 0x06, 0xDA, 0xD4, 0xE0, 0xE3,
+ 0x14, 0xE0, 0x20, 0xC8, 0xAE, 0xE4, 0x86, 0x01,
+ 0x26, 0x10, 0x20, 0x48, 0x0C, 0xE0, 0x82, 0x01,
+ 0xE0, 0x2E, 0x01, 0x00, 0x60, 0xC1, 0x1E, 0x09,
+ 0x35, 0x0A, 0x05, 0xE8, 0x82, 0x01, 0x20, 0xC1,
+ 0x6A, 0x09, 0x04, 0x01, 0x06, 0x00, 0x06, 0x13,
+ 0x20, 0xD8, 0xD0, 0xE1, 0x2F, 0x09, 0x20, 0xD8,
+ 0xD0, 0xE1, 0x83, 0x01, 0x20, 0x21, 0x22, 0xE0,
+ 0x03, 0x16, 0x20, 0xE8, 0x22, 0xE0, 0x80, 0x01,
+ 0x20, 0x21, 0x04, 0xE0, 0x04, 0x16, 0xA0, 0xE3,
+ 0x14, 0xE0, 0x60, 0x04, 0x0A, 0xD3, 0x08, 0x02,
+ 0x00, 0x80, 0xA0, 0x06, 0xDA, 0xD4, 0x20, 0xE8,
+ 0x08, 0xE0, 0x82, 0x01, 0xE0, 0xC2, 0x8A, 0x09,
+ 0x02, 0x11, 0x60, 0x04, 0xB0, 0xCE, 0xA0, 0x01,
+ 0x8E, 0x09, 0x00, 0x04, 0x6B, 0x10, 0x20, 0xC8,
+ 0xAE, 0xE4, 0x86, 0x01, 0x08, 0x02, 0x00, 0x80,
+ 0xA0, 0x06, 0xDA, 0xD4, 0x20, 0xC2, 0x1E, 0x09,
+ 0x08, 0xA2, 0x08, 0x05, 0x28, 0xC8, 0x22, 0xE0,
+ 0xCA, 0x06, 0x20, 0xC8, 0x20, 0xE0, 0xC6, 0x06,
+ 0x20, 0xC8, 0x20, 0xE0, 0xC8, 0x06, 0x60, 0xE3,
+ 0x16, 0xE0, 0x60, 0x04, 0xD2, 0xCE, 0x44, 0xC1,
+ 0x44, 0x02, 0x00, 0x5E, 0xF8, 0x16, 0x60, 0x25,
+ 0xA8, 0xE4, 0x0F, 0x16, 0x20, 0x06, 0xC6, 0x06,
+ 0xF2, 0x16, 0x20, 0x06, 0xCA, 0x06, 0x03, 0x13,
+ 0xA0, 0x05, 0xCC, 0x06, 0xE6, 0x10, 0xB0, 0x03,
+ 0x20, 0xD8, 0x0C, 0xE0, 0x65, 0x06, 0x60, 0x04,
+ 0xD2, 0xCE, 0x20, 0x06, 0xC8, 0x06, 0xE3, 0x16,
+ 0x20, 0x88, 0x70, 0x09, 0xCC, 0x06, 0x03, 0x16,
+ 0x83, 0x07, 0x08, 0x00, 0x02, 0x10, 0x83, 0x07,
+ 0x0C, 0x00, 0x60, 0x04, 0x8A, 0xDC, 0x60, 0x04,
+ 0xD2, 0xCE, 0xA0, 0x23, 0x08, 0xE0, 0x03, 0x13,
+ 0x60, 0x23, 0x12, 0xE0, 0x06, 0x16, 0xB0, 0x03,
+ 0x20, 0xD8, 0xA9, 0xE3, 0x65, 0x06, 0x60, 0x04,
+ 0xD2, 0xCE, 0x08, 0x02, 0x00, 0x80, 0xA0, 0x06,
+ 0xDA, 0xD4, 0x60, 0x04, 0xB0, 0xCE, 0x08, 0x02,
+ 0x00, 0x80, 0xA0, 0x06, 0xDA, 0xD4, 0x20, 0xC8,
+ 0x1E, 0xE0, 0xC6, 0x06, 0x20, 0xC8, 0x1E, 0xE0,
+ 0xC8, 0x06, 0x60, 0xE3, 0x10, 0xE0, 0x60, 0x04,
+ 0xD2, 0xCE, 0xE0, 0x23, 0x14, 0xE0, 0x30, 0x13,
+ 0x44, 0xC1, 0x44, 0x02, 0x00, 0x1E, 0xF5, 0x16,
+ 0x60, 0x25, 0xA8, 0xE4, 0x1D, 0x16, 0x20, 0x06,
+ 0xC8, 0x06, 0xEF, 0x16, 0x60, 0x01, 0x8E, 0x09,
+ 0x00, 0x80, 0x13, 0x16, 0x60, 0x01, 0x8E, 0x09,
+ 0x00, 0x01, 0x0C, 0x16, 0xA0, 0x01, 0x8E, 0x09,
+ 0x00, 0x01, 0xA0, 0x01, 0x8E, 0x09, 0x80, 0x00,
+ 0xA0, 0x43, 0x04, 0xE0, 0x83, 0x07, 0x18, 0x68,
+ 0xA0, 0x06, 0x2A, 0xD8, 0x20, 0xC8, 0xAE, 0xE4,
+ 0x86, 0x01, 0xC2, 0x04, 0x60, 0x04, 0x2C, 0xE4,
+ 0x08, 0x02, 0x1E, 0x80, 0xA0, 0x06, 0xDA, 0xD4,
+ 0x07, 0x10, 0x20, 0x06, 0xC6, 0x06, 0xCD, 0x16,
+ 0x83, 0x07, 0x09, 0x00, 0xA0, 0x06, 0x8A, 0xDC,
+ 0x60, 0x04, 0xB0, 0xCE, 0xCE, 0x04, 0xE0, 0x04,
+ 0x2A, 0x09, 0xE0, 0xD3, 0xAA, 0xE3, 0x8F, 0xC2,
+ 0x20, 0xC8, 0xB0, 0xE4, 0x86, 0x01, 0x20, 0x48,
+ 0x08, 0xE0, 0x82, 0x01, 0x86, 0x07, 0x05, 0x00,
+ 0x84, 0x07, 0x72, 0x06, 0x54, 0xC1, 0x01, 0x13,
+ 0xD4, 0x2C, 0x24, 0x02, 0x0A, 0x00, 0x06, 0x06,
+ 0xF9, 0x16, 0x08, 0x02, 0x2A, 0x80, 0xA0, 0x06,
+ 0xDA, 0xD4, 0x20, 0x2C, 0x1A, 0xE0, 0x60, 0x04,
+ 0x50, 0xCD, 0xA0, 0x06, 0x3E, 0xD7, 0xCD, 0x04,
+ 0xA0, 0x23, 0x1C, 0xE0, 0x0D, 0x13, 0x0E, 0x01,
+ 0x03, 0x00, 0x0A, 0x13, 0xA0, 0xE3, 0x1C, 0xE0,
+ 0xB0, 0x03, 0x20, 0xD8, 0x10, 0xE0, 0x65, 0x06,
+ 0xA0, 0xD2, 0x26, 0xE0, 0xCF, 0x04, 0x08, 0x10,
+ 0x20, 0x2D, 0x01, 0x00, 0xE0, 0xC0, 0x2A, 0x09,
+ 0xA0, 0x06, 0x2A, 0xD8, 0xA0, 0xD2, 0xAB, 0xE3,
+ 0x60, 0x04, 0xD2, 0xCE, 0xA0, 0x01, 0x80, 0x01,
+ 0x00, 0x01, 0xE0, 0x01, 0x80, 0x01, 0x00, 0xAC,
+ 0xA0, 0x01, 0x82, 0x01, 0x00, 0x03, 0xE0, 0x01,
+ 0x82, 0x01, 0x00, 0x08, 0x88, 0x07, 0xAE, 0x01,
+ 0x08, 0x06, 0xFE, 0x16, 0x60, 0x01, 0x8E, 0x09,
+ 0x00, 0x02, 0x03, 0x16, 0xA0, 0x01, 0x80, 0x01,
+ 0x00, 0x20, 0xC8, 0x04, 0x20, 0xD2, 0x80, 0x01,
+ 0x08, 0xC8, 0x9C, 0x09, 0x08, 0xD8, 0x2E, 0x09,
+ 0xA0, 0x07, 0x9E, 0x09, 0x00, 0x10, 0x5B, 0x04,
+ 0x20, 0xD8, 0xA6, 0x09, 0x2E, 0x09, 0xE0, 0x01,
+ 0x80, 0x01, 0x00, 0x04, 0xE0, 0x01, 0x82, 0x01,
+ 0x00, 0x08, 0xA0, 0x01, 0x82, 0x01, 0x00, 0x03,
+ 0x20, 0xC2, 0x30, 0x09, 0x03, 0x13, 0xE0, 0x01,
+ 0x82, 0x01, 0x00, 0x03, 0xA0, 0x01, 0x80, 0x01,
+ 0x00, 0xA1, 0x20, 0xF8, 0x2E, 0x09, 0x80, 0x01,
+ 0x88, 0x07, 0xAE, 0x01, 0x08, 0x06, 0xFE, 0x16,
+ 0xA0, 0x01, 0x80, 0x01, 0x00, 0x0C, 0xE0, 0x04,
+ 0x9E, 0x01, 0xE0, 0x04, 0x9C, 0x09, 0xE0, 0x04,
+ 0x9E, 0x09, 0x5B, 0x04, 0x20, 0x01, 0xA8, 0x09,
+ 0x00, 0x80, 0x11, 0x13, 0xE0, 0x93, 0x26, 0xE0,
+ 0x0E, 0x16, 0x60, 0x01, 0x8E, 0x09, 0x00, 0x80,
+ 0x0A, 0x13, 0x08, 0x02, 0x84, 0x80, 0x00, 0x00,
+ 0x00, 0xE0, 0xDC, 0x0F, 0xA0, 0x06, 0xDA, 0xD4,
+ 0x20, 0x48, 0x08, 0xE0, 0x82, 0x01, 0x02, 0x10,
+ 0x60, 0x04, 0x70, 0xDA, 0x60, 0x04, 0xBA, 0xCE,
+ 0xA0, 0x06, 0x9C, 0xD5, 0x08, 0xC2, 0x19, 0x13,
+ 0x83, 0x07, 0x80, 0x80, 0xE0, 0x23, 0x14, 0xE0,
+ 0x02, 0x13, 0x83, 0x07, 0x0A, 0x00, 0x60, 0x04,
+ 0xC6, 0xCE, 0x20, 0xC1, 0x06, 0x06, 0x0D, 0x13,
+ 0xA0, 0x06, 0x9C, 0xD5, 0x08, 0xC2, 0x09, 0x13,
+ 0x83, 0x07, 0x0B, 0x00, 0xE0, 0x23, 0x14, 0xE0,
+ 0x02, 0x16, 0x83, 0x07, 0x01, 0x80, 0x60, 0x04,
+ 0xC6, 0xCE, 0x83, 0x07, 0x0A, 0x80, 0x60, 0x04,
+ 0xB4, 0xCE, 0x60, 0x01, 0x8E, 0x09, 0x00, 0x80,
+ 0x06, 0x16, 0xA0, 0x06, 0xA8, 0xE5, 0x47, 0x10,
+ 0xD0, 0x03, 0x60, 0x04, 0xB0, 0xD3, 0xE0, 0x93,
+ 0x0E, 0xE0, 0x5E, 0x13, 0xE0, 0x93, 0x10, 0xE0,
+ 0x17, 0x13, 0xE0, 0x23, 0x14, 0xE0, 0x04, 0x13,
+ 0x83, 0x07, 0x07, 0x00, 0x60, 0x04, 0xC6, 0xCE,
+ 0x83, 0x07, 0x00, 0xA0, 0xA0, 0x06, 0x2A, 0xD8,
+ 0x83, 0x07, 0x00, 0x48, 0xA0, 0x06, 0x2A, 0xD8,
+ 0xA0, 0xD2, 0x10, 0xE0, 0x20, 0xC8, 0x1C, 0xE0,
+ 0xCA, 0x06, 0x20, 0xC8, 0x20, 0xE0, 0xCC, 0x06,
+ 0xA0, 0x06, 0x3E, 0xD7, 0x08, 0x02, 0x4E, 0x80,
+ 0xA0, 0x06, 0xDA, 0xD4, 0xA0, 0x23, 0x1C, 0xE0,
+ 0x20, 0x13, 0x20, 0x88, 0x6C, 0x09, 0x0E, 0x07,
+ 0x1C, 0x16, 0x20, 0x88, 0x6E, 0x09, 0x10, 0x07,
+ 0x18, 0x16, 0x20, 0x88, 0x70, 0x09, 0x12, 0x07,
+ 0x14, 0x16, 0x20, 0x88, 0x0A, 0x07, 0x22, 0xE0,
+ 0x10, 0x13, 0x20, 0x06, 0xCA, 0x06, 0x38, 0x16,
+ 0xA0, 0xE3, 0x20, 0xE0, 0x06, 0x10, 0xE0, 0x23,
+ 0x14, 0xE0, 0xCA, 0x16, 0xA0, 0xE3, 0x22, 0xE0,
+ 0xC2, 0x04, 0xA0, 0xD2, 0xAA, 0xE3, 0x60, 0x04,
+ 0xBA, 0xCE, 0x20, 0xC8, 0x1C, 0xE0, 0xCA, 0x06,
+ 0xA0, 0x88, 0xDC, 0x06, 0x0E, 0x00, 0x10, 0x16,
+ 0xA0, 0x88, 0xDE, 0x06, 0x10, 0x00, 0x0C, 0x16,
+ 0xA0, 0x88, 0xE0, 0x06, 0x12, 0x00, 0x08, 0x16,
+ 0x20, 0x06, 0xCC, 0x06, 0x19, 0x16, 0x20, 0xE8,
+ 0x0E, 0xE0, 0x82, 0x01, 0xA0, 0xE3, 0x1E, 0xE0,
+ 0x20, 0xC8, 0x20, 0xE0, 0xCC, 0x06, 0x10, 0x10,
+ 0xA0, 0x23, 0x10, 0xE0, 0x08, 0x16, 0x64, 0xC1,
+ 0x06, 0x00, 0x60, 0x21, 0x0C, 0xE0, 0x08, 0x13,
+ 0xA0, 0xD2, 0xA8, 0xE3, 0x05, 0x10, 0x20, 0x88,
+ 0x0A, 0x07, 0x08, 0x07, 0x96, 0x12, 0x00, 0x10,
+ 0x60, 0x04, 0xBA, 0xCE, 0x60, 0x01, 0x8E, 0x09,
+ 0x00, 0x80, 0x06, 0x16, 0x83, 0x07, 0x00, 0x82,
+ 0xA0, 0x06, 0x2A, 0xD8, 0x60, 0x04, 0xCA, 0xCE,
+ 0xE0, 0x93, 0x0E, 0xE0, 0x50, 0x13, 0xE0, 0x93,
+ 0xA9, 0xE3, 0x4D, 0x13, 0xE0, 0x93, 0xA8, 0xE3,
+ 0x1C, 0x13, 0xA0, 0x06, 0xA4, 0xD7, 0xA0, 0x23,
+ 0x10, 0xE0, 0x45, 0x13, 0xA0, 0x23, 0x08, 0xE0,
+ 0x06, 0x16, 0x60, 0xE3, 0x1E, 0xE0, 0x20, 0xC8,
+ 0x22, 0xE0, 0x06, 0x07, 0x34, 0x10, 0xE0, 0x23,
+ 0x14, 0xE0, 0x31, 0x16, 0x60, 0xC1, 0x6A, 0x09,
+ 0x60, 0x21, 0x12, 0xE0, 0x2C, 0x16, 0xA0, 0x06,
+ 0x0E, 0xE2, 0x31, 0x10, 0xA0, 0xD2, 0xA8, 0xE3,
+ 0x2E, 0x10, 0xA0, 0xE3, 0x12, 0xE0, 0xA0, 0x06,
+ 0x0E, 0xE2, 0x64, 0xC1, 0x06, 0x00, 0x60, 0x21,
+ 0x0C, 0xE0, 0x25, 0x13, 0x20, 0x88, 0x0E, 0x07,
+ 0xDC, 0x06, 0x14, 0x16, 0x20, 0x88, 0x10, 0x07,
+ 0xDE, 0x06, 0x10, 0x16, 0x20, 0x88, 0x12, 0x07,
+ 0xE0, 0x06, 0x0C, 0x16, 0x20, 0x98, 0xCE, 0x06,
+ 0xCF, 0x06, 0x15, 0x13, 0x20, 0x06, 0xCE, 0x06,
+ 0x12, 0x16, 0x60, 0xE3, 0x1A, 0xE0, 0xA0, 0xD2,
+ 0x0C, 0xE0, 0x0D, 0x10, 0x60, 0xE3, 0x1E, 0xE0,
+ 0x20, 0xC8, 0x32, 0xE0, 0x06, 0x07, 0xA0, 0x06,
+ 0x3E, 0xD7, 0x08, 0x02, 0x48, 0x80, 0xA0, 0x06,
+ 0xDA, 0xD4, 0xA0, 0xD2, 0xA9, 0xE3, 0x60, 0x04,
+ 0xBA, 0xCE, 0x22, 0x88, 0x0E, 0x00, 0x6C, 0x09,
+ 0xC9, 0x1A, 0x0B, 0x1B, 0x22, 0x88, 0x10, 0x00,
+ 0x6E, 0x09, 0xC4, 0x1A, 0x06, 0x1B, 0x22, 0x88,
+ 0x12, 0x00, 0x70, 0x09, 0xBF, 0x1A, 0x01, 0x1B,
+ 0x5B, 0x04, 0x60, 0xC1, 0x6C, 0x01, 0x85, 0x02,
+ 0x43, 0x00, 0xE1, 0x13, 0xE0, 0x93, 0xA8, 0xE3,
+ 0xDE, 0x16, 0xA0, 0xC8, 0x00, 0xEE, 0x02, 0x00,
+ 0x84, 0x07, 0x0E, 0x00, 0x42, 0xC1, 0xA0, 0xC0,
+ 0x6C, 0x01, 0x02, 0xC0, 0x25, 0x02, 0x48, 0x00,
+ 0x81, 0x07, 0x60, 0xE2, 0x83, 0x07, 0x14, 0xAE,
+ 0x60, 0x04, 0x9E, 0xE5, 0x02, 0x02, 0x00, 0xFC,
+ 0xCA, 0x10, 0x60, 0x01, 0x8E, 0x09, 0x00, 0x80,
+ 0x06, 0x16, 0x83, 0x07, 0x00, 0x82, 0xA0, 0x06,
+ 0x2A, 0xD8, 0x60, 0x04, 0xCA, 0xCE, 0x20, 0x98,
+ 0x0E, 0xE0, 0x65, 0x06, 0x03, 0x16, 0x20, 0xD8,
+ 0xA8, 0xE3, 0x65, 0x06, 0xE0, 0x93, 0xA9, 0xE3,
+ 0x0D, 0x13, 0xA0, 0x23, 0x08, 0xE0, 0x19, 0x16,
+ 0xA0, 0x23, 0x10, 0xE0, 0x16, 0x13, 0x60, 0xE3,
+ 0x1E, 0xE0, 0x20, 0xC8, 0x20, 0xE0, 0x06, 0x07,
+ 0xA0, 0x06, 0x3E, 0xD7, 0xA0, 0x43, 0x18, 0xE0,
+ 0xE0, 0x2E, 0x01, 0x00, 0xA0, 0xD2, 0x26, 0xE0,
+ 0x83, 0x07, 0x10, 0x00, 0xA0, 0x06, 0x2A, 0xD8,
+ 0xE0, 0x23, 0x14, 0xE0, 0x02, 0x16, 0xA0, 0x06,
+ 0x18, 0xD7, 0xA0, 0x43, 0x2C, 0xE0, 0x20, 0xC8,
+ 0x20, 0xE0, 0x24, 0x09, 0x60, 0x04, 0xBA, 0xCE,
+ 0xA0, 0x06, 0xA8, 0xE5, 0x01, 0x10, 0x03, 0x10,
+ 0x20, 0x07, 0xA0, 0x09, 0x03, 0x10, 0xA0, 0x07,
+ 0xA2, 0x09, 0x19, 0x00, 0x60, 0x04, 0xBA, 0xCE,
+ 0xA0, 0x43, 0x0E, 0xE0, 0xA0, 0xC1, 0x24, 0x09,
+ 0x02, 0x13, 0x20, 0x06, 0x24, 0x09, 0xE0, 0x23,
+ 0x14, 0xE0, 0x03, 0x13, 0xA0, 0x23, 0x08, 0xE0,
+ 0x29, 0x16, 0x20, 0xC2, 0x8A, 0x09, 0xE4, 0x11,
+ 0x08, 0x02, 0x42, 0x80, 0xA0, 0x06, 0xDA, 0xD4,
+ 0xA0, 0x23, 0x08, 0xE0, 0x1F, 0x16, 0xA0, 0x23,
+ 0x10, 0xE0, 0x0A, 0x16, 0x22, 0xC1, 0x02, 0x00,
+ 0x20, 0x25, 0xA8, 0xE4, 0x23, 0x16, 0x83, 0x07,
+ 0x20, 0x80, 0xA0, 0x06, 0x2A, 0xD8, 0x12, 0x10,
+ 0xA0, 0x06, 0x3E, 0xD7, 0xE0, 0x23, 0x14, 0xE0,
+ 0x02, 0x16, 0xA0, 0x06, 0x18, 0xD7, 0x60, 0xE3,
+ 0x1E, 0xE0, 0x20, 0xC8, 0x20, 0xE0, 0x06, 0x07,
+ 0xA0, 0x23, 0x08, 0xE0, 0x03, 0x16, 0xA0, 0x23,
+ 0x06, 0xE0, 0x51, 0x13, 0x20, 0x98, 0x0E, 0xE0,
+ 0x65, 0x06, 0x03, 0x16, 0x20, 0xD8, 0xA8, 0xE3,
+ 0x65, 0x06, 0x22, 0xC1, 0x02, 0x00, 0x20, 0x25,
+ 0xA8, 0xE4, 0x0E, 0x13, 0x83, 0x07, 0x20, 0x00,
+ 0xA0, 0x06, 0x2A, 0xD8, 0x22, 0xC8, 0x0E, 0x00,
+ 0xE6, 0x06, 0x22, 0xC8, 0x10, 0x00, 0xE8, 0x06,
+ 0x22, 0xC8, 0x12, 0x00, 0xEA, 0x06, 0x37, 0x10,
+ 0x22, 0x88, 0x0E, 0x00, 0xDC, 0x06, 0x08, 0x16,
+ 0x22, 0x88, 0x10, 0x00, 0xDE, 0x06, 0x04, 0x16,
+ 0x22, 0x88, 0x12, 0x00, 0xE0, 0x06, 0x0B, 0x13,
+ 0x22, 0xC8, 0x0E, 0x00, 0xDC, 0x06, 0x22, 0xC8,
+ 0x10, 0x00, 0xDE, 0x06, 0x22, 0xC8, 0x12, 0x00,
+ 0xE0, 0x06, 0x60, 0xE3, 0x14, 0xE0, 0xA0, 0x23,
+ 0x0E, 0xE0, 0x08, 0x16, 0xA0, 0xC1, 0x24, 0x09,
+ 0x1A, 0x16, 0x86, 0x07, 0x00, 0x10, 0x06, 0xE8,
+ 0xD2, 0x06, 0x15, 0x10, 0xA0, 0xE3, 0x0E, 0xE0,
+ 0xA0, 0x23, 0x08, 0xE0, 0x09, 0x16, 0xA0, 0xE3,
+ 0x06, 0xE0, 0xE0, 0x04, 0xE6, 0x06, 0xE0, 0x04,
+ 0xE8, 0x06, 0xE0, 0x04, 0xEA, 0x06, 0x07, 0x10,
+ 0x08, 0x02, 0x36, 0x80, 0xA0, 0x07, 0xD6, 0x06,
+ 0x36, 0xD3, 0xA0, 0x06, 0xDA, 0xD4, 0x60, 0x04,
+ 0xBA, 0xCE, 0x20, 0x98, 0x65, 0x06, 0x10, 0xE0,
+ 0x03, 0x16, 0x20, 0xD8, 0x0E, 0xE0, 0x65, 0x06,
+ 0x60, 0x04, 0xBA, 0xCE, 0xE0, 0x23, 0x14, 0xE0,
+ 0x02, 0x13, 0x60, 0x04, 0xBA, 0xCE, 0x2E, 0x10,
+ 0xB0, 0x03, 0x20, 0x98, 0xA9, 0xE3, 0x6F, 0x06,
+ 0x19, 0x16, 0x24, 0xC2, 0x08, 0x00, 0x16, 0x11,
+ 0xE0, 0xE3, 0x14, 0xE0, 0x83, 0x07, 0x00, 0x00,
+ 0xA0, 0x06, 0x2A, 0xD8, 0xA0, 0x23, 0x14, 0xE0,
+ 0x04, 0x13, 0x08, 0x02, 0x06, 0x80, 0xA0, 0x06,
+ 0xDA, 0xD4, 0x08, 0x02, 0x1E, 0x00, 0xA0, 0x06,
+ 0xDA, 0xD4, 0xA0, 0x23, 0x08, 0xE0, 0x02, 0x13,
+ 0xA0, 0x06, 0x18, 0xD7, 0x82, 0xC0, 0x02, 0x16,
+ 0x60, 0x04, 0xD2, 0xCE, 0x20, 0xE8, 0x1C, 0xEE,
+ 0xF0, 0x06, 0x20, 0x99, 0x0E, 0xE0, 0x16, 0x00,
+ 0x05, 0x16, 0xE0, 0x04, 0xEC, 0x06, 0x20, 0x48,
+ 0x14, 0xE0, 0xF0, 0x06, 0x83, 0x07, 0x01, 0x00,
+ 0x60, 0x04, 0xB4, 0xCE, 0x64, 0xC2, 0x14, 0x00,
+ 0x24, 0x02, 0x18, 0x00, 0xC4, 0xC1, 0xC2, 0x61,
+ 0x27, 0x02, 0xFC, 0xFF, 0x74, 0xC1, 0x85, 0xC1,
+ 0x45, 0x71, 0x85, 0x02, 0x27, 0x00, 0x46, 0x16,
+ 0x54, 0xC1, 0x45, 0x02, 0xCF, 0xFF, 0x42, 0x16,
+ 0xC8, 0x04, 0x64, 0xC1, 0x08, 0x00, 0x06, 0x15,
+ 0x05, 0x13, 0x24, 0xC2, 0x0E, 0x00, 0x48, 0x02,
+ 0x00, 0x1F, 0xC8, 0x06, 0x28, 0x02, 0x11, 0x00,
+ 0x04, 0xA2, 0x18, 0x98, 0x21, 0xEE, 0x32, 0x16,
+ 0x42, 0xC1, 0x25, 0x02, 0x04, 0x00, 0x47, 0x65,
+ 0x35, 0xC2, 0x74, 0xCD, 0x48, 0x06, 0xFD, 0x15,
+ 0xA0, 0xC0, 0x6C, 0x01, 0x02, 0xC1, 0x04, 0xC8,
+ 0x6C, 0x01, 0xA0, 0xC1, 0x00, 0xFC, 0x05, 0x13,
+ 0x20, 0xC8, 0x80, 0xEB, 0x02, 0xFC, 0x06, 0xC1,
+ 0xF6, 0x10, 0x20, 0xC8, 0x00, 0xEE, 0x02, 0xFC,
+ 0x02, 0xC8, 0x6C, 0x01, 0x81, 0x07, 0x08, 0xE5,
+ 0x04, 0xC0, 0x83, 0x07, 0x10, 0x02, 0x84, 0x07,
+ 0x0E, 0x00, 0x3B, 0x10, 0x84, 0x07, 0x0C, 0x00,
+ 0xE2, 0xC0, 0x08, 0x00, 0x05, 0x02, 0x00, 0xFC,
+ 0xA0, 0xC0, 0x6C, 0x01, 0x02, 0xC0, 0x95, 0xC1,
+ 0x30, 0x13, 0xD5, 0x04, 0x16, 0x2E, 0x02, 0xC8,
+ 0x6C, 0x01, 0x2B, 0x10, 0xA0, 0xC8, 0x22, 0xEE,
+ 0x0E, 0x00, 0xA0, 0xC8, 0x24, 0xEE, 0x10, 0x00,
+ 0xA0, 0xC8, 0x26, 0xEE, 0x12, 0x00, 0x83, 0x07,
+ 0x06, 0x80, 0x60, 0x04, 0xB4, 0xCE, 0x60, 0x04,
+ 0xD2, 0xCE, 0x84, 0x07, 0x10, 0x00, 0x85, 0x07,
+ 0x34, 0x00, 0x09, 0x10, 0x84, 0x07, 0x12, 0x00,
+ 0x85, 0x07, 0x32, 0x00, 0x04, 0x10, 0x84, 0x07,
+ 0x14, 0x00, 0x85, 0x07, 0x38, 0x00, 0xA0, 0x06,
+ 0xC2, 0xD5, 0x85, 0xC8, 0x04, 0x00, 0xA0, 0x06,
+ 0x10, 0xD6, 0xA0, 0xC8, 0x00, 0xEE, 0x02, 0x00,
+ 0xA0, 0xC0, 0x6C, 0x01, 0x02, 0xC0, 0x48, 0x06,
+ 0x48, 0xC1, 0xA0, 0x06, 0xA2, 0xD8, 0x07, 0x02,
+ 0xA2, 0x06, 0x60, 0xC5, 0x02, 0xFC, 0x25, 0x02,
+ 0xF4, 0xFF, 0x05, 0xC8, 0x02, 0xFC, 0x20, 0xC2,
+ 0x6C, 0x01, 0xA0, 0x06, 0xFC, 0xB4, 0x60, 0x04,
+ 0xB0, 0xCE, 0xA0, 0x06, 0xA2, 0xD8, 0x07, 0x02,
+ 0xB4, 0x06, 0xEF, 0x10, 0x22, 0x88, 0x12, 0x00,
+ 0x70, 0x09, 0x08, 0x16, 0x22, 0x88, 0x10, 0x00,
+ 0x6E, 0x09, 0x04, 0x16, 0x22, 0x88, 0x0E, 0x00,
+ 0x6C, 0x09, 0x0E, 0x13, 0x22, 0x88, 0x12, 0x00,
+ 0xE0, 0x06, 0x08, 0x16, 0x22, 0x88, 0x10, 0x00,
+ 0xDE, 0x06, 0x04, 0x16, 0x22, 0x88, 0x0E, 0x00,
+ 0xDC, 0x06, 0x01, 0x13, 0xCB, 0x05, 0xCB, 0x05,
+ 0x5B, 0x04, 0x0B, 0xC3, 0x00, 0x03, 0x02, 0x00,
+ 0x82, 0x07, 0xC0, 0x00, 0x20, 0xC8, 0x0C, 0x00,
+ 0xC0, 0x00, 0x20, 0xC8, 0x0E, 0x00, 0xC2, 0x00,
+ 0x20, 0xC8, 0x10, 0x00, 0xC4, 0x00, 0x20, 0xC8,
+ 0x12, 0x00, 0xC6, 0x00, 0x20, 0xC8, 0x14, 0x00,
+ 0xC8, 0x00, 0x20, 0xC8, 0x16, 0x00, 0xCA, 0x00,
+ 0x20, 0xC8, 0x04, 0x00, 0xCC, 0x00, 0x20, 0xC8,
+ 0x06, 0x00, 0xCE, 0x00, 0x02, 0xC8, 0x0C, 0x00,
+ 0xA0, 0x07, 0x0E, 0x00, 0x7E, 0xE6, 0x02, 0xC8,
+ 0x10, 0x00, 0xA0, 0x07, 0x12, 0x00, 0x88, 0xE6,
+ 0x02, 0xC8, 0x14, 0x00, 0xA0, 0x07, 0x16, 0x00,
+ 0xB8, 0xE6, 0x02, 0xC8, 0x04, 0x00, 0xA0, 0x07,
+ 0x06, 0x00, 0xCE, 0xE6, 0x60, 0x01, 0x1C, 0x01,
+ 0x04, 0x00, 0x09, 0x16, 0xE0, 0x01, 0x40, 0x01,
+ 0x00, 0x08, 0xA0, 0x01, 0x40, 0x01, 0x00, 0x40,
+ 0xE0, 0x01, 0x40, 0x01, 0x00, 0x04, 0xA0, 0x06,
+ 0x8E, 0xE9, 0x05, 0x02, 0x00, 0x80, 0x05, 0xD8,
+ 0x80, 0x04, 0xC7, 0x04, 0x00, 0x03, 0x0F, 0x00,
+ 0x88, 0x07, 0x00, 0x10, 0x09, 0x02, 0x00, 0x20,
+ 0x8A, 0x07, 0xE6, 0xE6, 0x03, 0x02, 0x3E, 0xE6,
+ 0x5A, 0x04, 0x00, 0x03, 0x00, 0x00, 0x20, 0xD2,
+ 0x87, 0x01, 0x06, 0x10, 0x00, 0x03, 0x00, 0x00,
+ 0x20, 0xC2, 0x8A, 0x01, 0x08, 0x02, 0x00, 0x1A,
+ 0x60, 0xC2, 0xAE, 0x00, 0x48, 0xDA, 0x80, 0x04,
+ 0x89, 0x05, 0x89, 0x02, 0x06, 0x00, 0x07, 0x15,
+ 0x88, 0x07, 0x00, 0x80, 0x48, 0xDA, 0x80, 0x04,
+ 0x09, 0xC8, 0xAE, 0x00, 0x80, 0x03, 0xE0, 0x02,
+ 0xA0, 0x00, 0x5C, 0x04, 0x00, 0x03, 0x00, 0x00,
+ 0x60, 0x01, 0x9C, 0x01, 0x20, 0x00, 0xE2, 0x13,
+ 0x20, 0xC2, 0x8C, 0x01, 0x08, 0x02, 0x00, 0x1C,
+ 0xE3, 0x10, 0x00, 0x03, 0x00, 0x00, 0x60, 0x01,
+ 0x40, 0x01, 0x00, 0x40, 0xEC, 0x16, 0xA0, 0x01,
+ 0x40, 0x01, 0x00, 0x40, 0x08, 0x02, 0x00, 0x02,
+ 0xD7, 0x10, 0xB3, 0xC0, 0x92, 0x06, 0xFD, 0x10,
+ 0xB3, 0xC0, 0x48, 0xC0, 0x72, 0xCC, 0x72, 0xCC,
+ 0x32, 0xC1, 0x44, 0xCC, 0x72, 0xDC, 0x04, 0x06,
+ 0xFD, 0x16, 0x5B, 0x04, 0x48, 0xC0, 0x02, 0x02,
+ 0xD0, 0xE9, 0x84, 0x07, 0x06, 0x00, 0xF6, 0x10,
+ 0x02, 0x02, 0x1E, 0xE6, 0x49, 0xC0, 0x84, 0x07,
+ 0x06, 0x00, 0xF0, 0x10, 0xB3, 0xC0, 0x32, 0xC1,
+ 0x01, 0x02, 0x01, 0x00, 0x44, 0xD0, 0xC1, 0x06,
+ 0x44, 0x02, 0xFF, 0x00, 0xE7, 0x10, 0x33, 0xC1,
+ 0x73, 0xC0, 0x44, 0xD1, 0x44, 0x02, 0xFF, 0x00,
+ 0x45, 0xDC, 0x04, 0x06, 0xFD, 0x16, 0x5A, 0x04,
+ 0xA0, 0x06, 0x0E, 0xE9, 0x33, 0xC8, 0x9E, 0x01,
+ 0x5A, 0x04, 0xA0, 0x06, 0x0C, 0xE7, 0x89, 0xC1,
+ 0xA6, 0x09, 0x66, 0x02, 0x40, 0x00, 0x06, 0xC8,
+ 0x8A, 0x01, 0x88, 0xC1, 0xA6, 0x09, 0x66, 0x02,
+ 0x40, 0x00, 0x06, 0xC8, 0x8C, 0x01, 0xC2, 0x04,
+ 0xC7, 0xC1, 0x03, 0x16, 0x02, 0x06, 0xFC, 0x16,
+ 0x4D, 0x10, 0x5A, 0x04, 0xA0, 0x06, 0x58, 0xE8,
+ 0x89, 0xC1, 0xA6, 0x09, 0x66, 0x02, 0x40, 0x00,
+ 0x06, 0xC8, 0x8A, 0x01, 0x88, 0xC1, 0xA6, 0x09,
+ 0x66, 0x02, 0x40, 0x00, 0x06, 0xC8, 0x8C, 0x01,
+ 0x33, 0xC8, 0x9E, 0x01, 0xE8, 0x10, 0x33, 0x8A,
+ 0x02, 0x00, 0x38, 0x16, 0x73, 0x8A, 0x02, 0x00,
+ 0x35, 0x16, 0x5A, 0x04, 0x20, 0x8A, 0xCA, 0xE9,
+ 0x02, 0x00, 0x30, 0x16, 0x60, 0x8A, 0xCE, 0xE9,
+ 0x02, 0x00, 0x2C, 0x16, 0x82, 0x07, 0x74, 0xEA,
+ 0x01, 0x10, 0xB3, 0xC0, 0x04, 0x02, 0x80, 0x04,
+ 0x52, 0xD1, 0x03, 0x13, 0x32, 0x9D, 0x22, 0x16,
+ 0xFB, 0x10, 0x85, 0x07, 0x00, 0x80, 0x05, 0xD8,
+ 0x80, 0x04, 0xC7, 0x04, 0x5A, 0x04, 0x20, 0xC8,
+ 0xC0, 0x00, 0x0C, 0x00, 0x20, 0xC8, 0xC2, 0x00,
+ 0x0E, 0x00, 0x20, 0xC8, 0xC4, 0x00, 0x10, 0x00,
+ 0x20, 0xC8, 0xC6, 0x00, 0x12, 0x00, 0x20, 0xC8,
+ 0xC8, 0x00, 0x14, 0x00, 0x20, 0xC8, 0xCA, 0x00,
+ 0x16, 0x00, 0x20, 0xC8, 0xCC, 0x00, 0x04, 0x00,
+ 0x20, 0xC8, 0xCE, 0x00, 0x06, 0x00, 0x00, 0x03,
+ 0x0F, 0x00, 0xCC, 0x05, 0x5C, 0x04, 0xE0, 0x04,
+ 0x82, 0x01, 0x02, 0x02, 0x18, 0xE6, 0x32, 0xC8,
+ 0x82, 0x01, 0x32, 0xC8, 0x80, 0x01, 0xA0, 0x06,
+ 0x24, 0xE8, 0x12, 0xC8, 0x82, 0x01, 0xCA, 0xC2,
+ 0x84, 0x07, 0xD0, 0x07, 0xE0, 0x04, 0x84, 0x01,
+ 0x04, 0x06, 0xFC, 0x16, 0x20, 0xC1, 0x84, 0x01,
+ 0xE9, 0x16, 0x04, 0x02, 0x32, 0x00, 0x85, 0x07,
+ 0x00, 0x80, 0x05, 0xD8, 0x80, 0x04, 0xC7, 0x04,
+ 0x60, 0xC1, 0x86, 0x01, 0x04, 0x06, 0xFC, 0x16,
+ 0x20, 0xC1, 0x84, 0x01, 0x5B, 0x04, 0xB3, 0xC0,
+ 0xB3, 0xC4, 0x5B, 0x04, 0x48, 0xC0, 0xB3, 0xC0,
+ 0x73, 0xA0, 0x42, 0xC4, 0x5B, 0x04, 0x33, 0x88,
+ 0x84, 0x01, 0xE6, 0x16, 0x5A, 0x04, 0x89, 0xC1,
+ 0xA6, 0x09, 0x66, 0x02, 0x40, 0x00, 0x06, 0xC8,
+ 0x8A, 0x01, 0x5B, 0x04, 0xC5, 0x04, 0xA0, 0x07,
+ 0x9C, 0x01, 0x40, 0x00, 0x60, 0x01, 0x9C, 0x01,
+ 0x40, 0x00, 0x03, 0x13, 0x05, 0x06, 0xF7, 0x16,
+ 0x5C, 0x04, 0x5B, 0x04, 0xA0, 0x06, 0xAC, 0xE8,
+ 0x60, 0xC0, 0x40, 0x01, 0x05, 0xC8, 0x40, 0x01,
+ 0x02, 0xC5, 0x01, 0xC8, 0x40, 0x01, 0x5A, 0x04,
+ 0xA0, 0x06, 0xAC, 0xE8, 0x08, 0xA1, 0xF4, 0x10,
+ 0xB3, 0xC0, 0x33, 0xC1, 0x60, 0xC1, 0x40, 0x01,
+ 0x85, 0x01, 0x00, 0x04, 0xC5, 0x01, 0x00, 0x10,
+ 0x5B, 0x04, 0x08, 0xC1, 0x09, 0xC2, 0x44, 0xC2,
+ 0x5B, 0x04, 0x05, 0x02, 0xC8, 0x00, 0x05, 0x06,
+ 0xFE, 0x16, 0x5B, 0x04, 0x33, 0xC1, 0x03, 0xC0,
+ 0xC4, 0xC0, 0x5B, 0x04, 0xC0, 0xC0, 0x5B, 0x04,
+ 0xE0, 0x94, 0x9E, 0x01, 0xC2, 0x16, 0xC3, 0x05,
+ 0x5B, 0x04, 0x73, 0xC0, 0xA0, 0x06, 0x26, 0xE9,
+ 0x2D, 0x02, 0x08, 0x00, 0x85, 0x07, 0x08, 0x00,
+ 0x71, 0x9F, 0xB7, 0x16, 0x05, 0x06, 0xFC, 0x16,
+ 0x5A, 0x04, 0x02, 0x02, 0x24, 0xE6, 0x60, 0x04,
+ 0x10, 0xE7, 0xE9, 0x8C, 0x04, 0x00, 0xAD, 0x16,
+ 0x5B, 0x04, 0x20, 0xC1, 0x80, 0x01, 0x85, 0x07,
+ 0xD0, 0x07, 0xE0, 0x01, 0x80, 0x01, 0x00, 0x04,
+ 0x45, 0x06, 0xFE, 0x16, 0x04, 0xC8, 0x80, 0x01,
+ 0x5B, 0x04, 0x33, 0xC1, 0x48, 0xC3, 0x04, 0xC1,
+ 0x04, 0x13, 0x2D, 0x02, 0x00, 0x04, 0x04, 0x06,
+ 0xFC, 0x16, 0x5B, 0x04, 0x8D, 0xC3, 0xA0, 0x06,
+ 0x26, 0xE9, 0x8D, 0xC1, 0xA6, 0x09, 0x66, 0x02,
+ 0x40, 0x00, 0x86, 0xC7, 0x5A, 0x04, 0x8D, 0xC1,
+ 0xA6, 0x09, 0x66, 0x02, 0x40, 0x00, 0x06, 0xC8,
+ 0x8A, 0x01, 0x5B, 0x04, 0x8D, 0xC1, 0xA6, 0x09,
+ 0x66, 0x02, 0x40, 0x00, 0x06, 0xC8, 0x8C, 0x01,
+ 0x5B, 0x04, 0x4D, 0xC0, 0x04, 0x02, 0x28, 0x00,
+ 0x85, 0x07, 0x00, 0x55, 0x60, 0x04, 0x34, 0xE7,
+ 0x4D, 0xC0, 0xB3, 0xC0, 0x32, 0xC1, 0x60, 0x04,
+ 0xF8, 0xE6, 0x33, 0xC1, 0x60, 0x01, 0x1C, 0x01,
+ 0x04, 0x00, 0x01, 0x16, 0x5B, 0x04, 0xC4, 0xC0,
+ 0x5B, 0x04, 0x89, 0x07, 0x66, 0xE5, 0x39, 0xC2,
+ 0x07, 0x13, 0x39, 0xC6, 0x39, 0x86, 0x25, 0x16,
+ 0x39, 0xC6, 0x39, 0x86, 0x22, 0x16, 0xF7, 0x10,
+ 0x02, 0x02, 0xAC, 0xE9, 0xC4, 0x04, 0xC5, 0x04,
+ 0x39, 0xC2, 0x02, 0x13, 0x60, 0x04, 0xE8, 0xE9,
+ 0x02, 0x02, 0xBA, 0xE9, 0xC4, 0x04, 0x39, 0xC2,
+ 0x03, 0x13, 0x79, 0xC1, 0x60, 0x04, 0xE8, 0xE9,
+ 0x02, 0x02, 0xCA, 0xE9, 0xC5, 0x04, 0x39, 0xC2,
+ 0x03, 0x13, 0x39, 0xC1, 0x60, 0x04, 0xE8, 0xE9,
+ 0x79, 0xC0, 0xB9, 0xC0, 0x81, 0x60, 0xC2, 0x05,
+ 0x12, 0x09, 0xF1, 0x04, 0x02, 0x06, 0xFD, 0x16,
+ 0x5B, 0x04, 0x5C, 0x04, 0x01, 0x02, 0xAA, 0xAA,
+ 0x01, 0xC6, 0x44, 0xE0, 0x45, 0x40, 0x58, 0x80,
+ 0xF8, 0x16, 0x01, 0x02, 0x14, 0x00, 0x01, 0x06,
+ 0xFE, 0x16, 0x01, 0x02, 0x55, 0x55, 0x01, 0xC6,
+ 0x44, 0xE0, 0x45, 0x40, 0x58, 0x80, 0xED, 0x16,
+ 0x52, 0x04, 0xE0, 0x02, 0xA0, 0x00, 0x88, 0x07,
+ 0xC0, 0x00, 0x09, 0x02, 0x62, 0xEA, 0x84, 0x07,
+ 0x2A, 0xE6, 0x05, 0x02, 0x01, 0x00, 0x8B, 0xC2,
+ 0xCC, 0x04, 0xA0, 0x06, 0x6C, 0xEA, 0x60, 0x2C,
+ 0x01, 0x00, 0x99, 0x06, 0xA0, 0x2C, 0x02, 0x00,
+ 0x99, 0x06, 0x20, 0x2D, 0x04, 0x00, 0x99, 0x06,
+ 0x20, 0x2E, 0x08, 0x00, 0x99, 0x06, 0xA0, 0x2F,
+ 0x10, 0x00, 0x8C, 0x05, 0x09, 0x16, 0x80, 0xCC,
+ 0x81, 0xC4, 0x83, 0x07, 0xB0, 0xEA, 0x88, 0xC0,
+ 0x02, 0x04, 0x8C, 0x05, 0x01, 0x16, 0x33, 0x10,
+ 0xE0, 0x02, 0xA0, 0x00, 0x5A, 0x04, 0x8C, 0x05,
+ 0xFB, 0x16, 0x80, 0xCC, 0x81, 0xC4, 0x15, 0x0A,
+ 0xB4, 0xC0, 0x12, 0xC0, 0x88, 0xCC, 0x52, 0xC0,
+ 0xB4, 0xC4, 0x42, 0x06, 0x5B, 0x04, 0x2D, 0x07,
+ 0x18, 0x00, 0x41, 0x8B, 0x0A, 0x00, 0xEC, 0x16,
+ 0xC1, 0x82, 0xEA, 0x16, 0xC2, 0x02, 0x42, 0x02,
+ 0x00, 0x02, 0xE6, 0x16, 0x80, 0x03, 0x81, 0x07,
+ 0x01, 0x00, 0xF1, 0x10, 0x01, 0x02, 0x02, 0x00,
+ 0xEE, 0x10, 0x01, 0x02, 0x04, 0x00, 0xEB, 0x10,
+ 0x01, 0x02, 0x08, 0x00, 0xE8, 0x10, 0x01, 0x02,
+ 0x10, 0x00, 0xE5, 0x10, 0xA1, 0x02, 0x41, 0x8B,
+ 0x10, 0x00, 0x02, 0x13, 0x60, 0x04, 0x5C, 0xEA,
+ 0x2D, 0x07, 0x18, 0x00, 0x80, 0x03, 0x09, 0x02,
+ 0x00, 0x08, 0x03, 0x02, 0x04, 0x00, 0xC7, 0x04,
+ 0xA0, 0x06, 0xDC, 0xEB, 0x60, 0x01, 0x1C, 0x01,
+ 0x04, 0x00, 0x1C, 0x16, 0xA0, 0x01, 0x40, 0x01,
+ 0x00, 0x08, 0xE0, 0x01, 0x40, 0x01, 0x00, 0x10,
+ 0x04, 0x02, 0x01, 0x00, 0x44, 0xCE, 0xC4, 0x06,
+ 0x44, 0xC6, 0xA0, 0x01, 0x40, 0x01, 0x00, 0x10,
+ 0x49, 0x06, 0xA0, 0x01, 0x40, 0x01, 0x00, 0x40,
+ 0xE0, 0x01, 0x40, 0x01, 0x00, 0x04, 0xE0, 0x01,
+ 0x40, 0x01, 0x00, 0x08, 0xA0, 0x06, 0x7A, 0xEC,
+ 0xA0, 0x06, 0x7A, 0xEC, 0xC7, 0x05, 0x04, 0x02,
+ 0xE4, 0xE4, 0xE0, 0x04, 0xD0, 0x03, 0x74, 0xC1,
+ 0xB4, 0xC1, 0x86, 0x05, 0x1C, 0x13, 0xE0, 0x02,
+ 0xC0, 0x00, 0x00, 0x02, 0x00, 0x00, 0x40, 0xC0,
+ 0x80, 0xC0, 0xC0, 0xC0, 0x00, 0xC1, 0x40, 0xC1,
+ 0x80, 0xC1, 0xC0, 0xC1, 0x00, 0xC2, 0x40, 0xC2,
+ 0x80, 0xC2, 0xC0, 0xC2, 0x00, 0xC3, 0x40, 0xC3,
+ 0x80, 0xC3, 0xC0, 0xC3, 0xA0, 0x04, 0xAA, 0x00,
+ 0xD0, 0x03, 0xD0, 0x03, 0x3F, 0x10, 0x85, 0x05,
+ 0x85, 0x81, 0xE1, 0x13, 0xE4, 0x10, 0xC7, 0x05,
+ 0x05, 0x02, 0xFF, 0x7F, 0x45, 0xA1, 0xD0, 0x03,
+ 0xD0, 0x03, 0x34, 0x10, 0xC0, 0xCC, 0xC1, 0xC4,
+ 0x03, 0x02, 0x28, 0x00, 0xA0, 0x06, 0xDC, 0xEB,
+ 0xE0, 0x01, 0x42, 0x01, 0x00, 0x10, 0xC7, 0x05,
+ 0xD0, 0x03, 0xD0, 0x03, 0x27, 0x10, 0xC7, 0x05,
+ 0xA0, 0xC1, 0x4A, 0x01, 0xA0, 0x07, 0x4A, 0x01,
+ 0x00, 0x0E, 0xA0, 0x01, 0x40, 0x01, 0x00, 0x02,
+ 0x20, 0x07, 0x44, 0x01, 0x60, 0xC1, 0x44, 0x01,
+ 0x85, 0x02, 0x00, 0xFF, 0x17, 0x16, 0xE0, 0x01,
+ 0x40, 0x01, 0x00, 0x22, 0x05, 0x02, 0xC0, 0x00,
+ 0x05, 0x06, 0xD0, 0x03, 0xFD, 0x16, 0x60, 0xC1,
+ 0x46, 0x01, 0x85, 0x02, 0x00, 0xFF, 0x0A, 0x13,
+ 0x05, 0x02, 0x93, 0x33, 0x05, 0x06, 0x00, 0x10,
+ 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10,
+ 0xD0, 0x03, 0xF8, 0x16, 0x51, 0x10, 0x06, 0xC8,
+ 0x4A, 0x01, 0xC0, 0xCC, 0xC1, 0xC4, 0x4B, 0x10,
+ 0x13, 0xC0, 0xC8, 0xCC, 0x53, 0xC0, 0x02, 0x02,
+ 0xEC, 0xEB, 0xC2, 0xC4, 0x43, 0x06, 0x5B, 0x04,
+ 0x60, 0xC0, 0xAE, 0x00, 0xC4, 0x02, 0x44, 0x02,
+ 0x0F, 0x00, 0x44, 0x88, 0xCA, 0xE4, 0x3C, 0x16,
+ 0x81, 0x02, 0x08, 0x00, 0x27, 0x13, 0x21, 0xC1,
+ 0xDC, 0xE4, 0x14, 0xC1, 0x21, 0x21, 0xBA, 0xE4,
+ 0x33, 0x16, 0x21, 0xC1, 0xC2, 0xE4, 0x81, 0x02,
+ 0x00, 0x00, 0x0B, 0x13, 0x0D, 0x02, 0xA0, 0x00,
+ 0x84, 0x83, 0x09, 0x13, 0xC4, 0x05, 0x84, 0x83,
+ 0x06, 0x13, 0xC4, 0x05, 0x84, 0x83, 0x03, 0x13,
+ 0x23, 0x10, 0x0E, 0x81, 0x21, 0x16, 0x21, 0xC1,
+ 0xDC, 0xE4, 0x21, 0x45, 0xBA, 0xE4, 0xE0, 0x01,
+ 0x42, 0x01, 0x00, 0x10, 0xA0, 0x01, 0x42, 0x01,
+ 0x00, 0x10, 0xA1, 0xC3, 0xD4, 0xE4, 0x0F, 0x02,
+ 0x2F, 0x00, 0x80, 0x03, 0xA0, 0x01, 0x40, 0x01,
+ 0x00, 0x02, 0xA0, 0x01, 0x40, 0x01, 0x00, 0x80,
+ 0x6D, 0xC0, 0x0A, 0x00, 0x09, 0x13, 0x81, 0x02,
+ 0x5C, 0x12, 0x06, 0x1B, 0x0E, 0x02, 0xD2, 0xEB,
+ 0x0F, 0x02, 0x0F, 0x00, 0x80, 0x03, 0xCA, 0x05,
+ 0xE0, 0x02, 0xA0, 0x00, 0x5A, 0x04, 0x59, 0xCE,
+ 0x20, 0x88, 0xE4, 0xE4, 0xE4, 0xE4, 0xF8, 0x10,
+ 0xC1, 0x04, 0x48, 0x62, 0x89, 0x05, 0xA0, 0xC0,
+ 0x6C, 0x01, 0x08, 0xC8, 0x6C, 0x01, 0x03, 0x02,
+ 0x00, 0xFC, 0x04, 0x02, 0x00, 0x02, 0x73, 0xA0,
+ 0x04, 0x06, 0xFD, 0x16, 0x88, 0x05, 0x09, 0x06,
+ 0xF4, 0x16, 0x02, 0xC8, 0x6C, 0x01, 0x81, 0x86,
+ 0x02, 0x16, 0xD0, 0x03, 0xCB, 0x05, 0x5B, 0x04,
+ 0x43, 0x28, 0x31, 0x29, 0x38, 0x39, 0x2D, 0x33,
+ 0x38, 0x38, 0x42, 0x20, 0x20, 0x59, 0x49, 0x54,
+ 0x4B, 0xC2, 0xA8, 0x02, 0x98, 0x00, 0x83, 0x07,
+ 0x02, 0x00, 0x28, 0x02, 0x08, 0x00, 0x23, 0xC6,
+ 0x36, 0xE5, 0x48, 0x06, 0xC4, 0xC0, 0x73, 0x0A,
+ 0x65, 0x17, 0xA0, 0x06, 0xAA, 0xED, 0xC8, 0xC1,
+ 0xC7, 0x05, 0x03, 0x02, 0xA5, 0x00, 0xB0, 0x03,
+ 0xF8, 0xCD, 0xF8, 0xCD, 0xA6, 0x02, 0x06, 0x62,
+ 0x88, 0x02, 0x0A, 0x00, 0x57, 0x16, 0x03, 0x29,
+ 0x55, 0x16, 0x05, 0x29, 0xC4, 0x80, 0x52, 0x16,
+ 0x15, 0x09, 0x50, 0x17, 0x15, 0x09, 0x4E, 0x18,
+ 0x85, 0x02, 0x29, 0x00, 0x4B, 0x16, 0xC6, 0x05,
+ 0x96, 0x00, 0x03, 0x07, 0xC4, 0x04, 0x45, 0x06,
+ 0x95, 0x00, 0x44, 0x05, 0x43, 0x16, 0x44, 0x81,
+ 0x41, 0x16, 0x00, 0x03, 0x05, 0x00, 0xC4, 0x02,
+ 0x00, 0x03, 0x0A, 0x00, 0x44, 0x02, 0x0F, 0x00,
+ 0x84, 0x02, 0x05, 0x00, 0x37, 0x16, 0xC4, 0x02,
+ 0x00, 0x03, 0x0F, 0x00, 0x44, 0x02, 0x0F, 0x00,
+ 0x84, 0x02, 0x0A, 0x00, 0x2F, 0x16, 0x04, 0x02,
+ 0xFE, 0xFF, 0x2C, 0x13, 0x2B, 0x15, 0x2A, 0x1A,
+ 0x84, 0x05, 0x28, 0x12, 0x27, 0x15, 0x26, 0x1A,
+ 0x25, 0x18, 0x84, 0x05, 0x23, 0x16, 0x22, 0x1B,
+ 0x21, 0x17, 0x84, 0x05, 0x1F, 0x13, 0x1E, 0x1A,
+ 0x1D, 0x11, 0x04, 0x06, 0x1B, 0x16, 0xA5, 0x02,
+ 0xC5, 0xC1, 0x25, 0x02, 0x06, 0x00, 0x03, 0x02,
+ 0xA5, 0xA5, 0x83, 0xC1, 0x95, 0x00, 0x03, 0x38,
+ 0x94, 0x00, 0x83, 0x02, 0x2E, 0x6B, 0x0E, 0x16,
+ 0x84, 0x02, 0x59, 0x1C, 0x0B, 0x16, 0x24, 0x02,
+ 0x69, 0x00, 0x95, 0x00, 0x03, 0x3C, 0x94, 0x00,
+ 0x83, 0x81, 0x04, 0x16, 0x84, 0x02, 0x69, 0x00,
+ 0x01, 0x16, 0xC9, 0x05, 0x59, 0x04, 0xC3, 0xD0,
+ 0xFD, 0x13, 0x01, 0x1C, 0xFB, 0x10, 0xE0, 0x90,
+ 0x3D, 0xE5, 0xF8, 0x16, 0xC3, 0x06, 0xC3, 0xD0,
+ 0xF5, 0x1C, 0xF4, 0x16, 0xE0, 0x90, 0x3A, 0xE5,
+ 0xF1, 0x16, 0x5B, 0x04, 0x0B, 0xC3, 0x09, 0x02,
+ 0x3E, 0xE5, 0xA0, 0x06, 0x92, 0xE9, 0xCC, 0x05,
+ 0x5C, 0x04, 0x88, 0x07, 0x00, 0xA0, 0x89, 0x07,
+ 0xFE, 0xFF, 0xA8, 0x09, 0xA9, 0x09, 0x8A, 0x07,
+ 0x02, 0xE0, 0xA0, 0x06, 0x84, 0xEC, 0x00, 0x00,
+ 0x88, 0x07, 0x00, 0x90, 0x89, 0x07, 0xFE, 0x9F,
+ 0xA8, 0x09, 0xA9, 0x09, 0x8A, 0x07, 0x78, 0xE0,
+ 0xA0, 0x06, 0x84, 0xEC, 0x00, 0x00, 0xA0, 0x06,
+ 0xC4, 0xEC, 0x00, 0x00, 0xE6, 0x10, 0xE5, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90,
+ 0x00, 0x08, 0x11, 0xE3, 0x6C, 0xCC, 0x00, 0x80,
+ 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x08,
+ 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x80, 0x00,
+ 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x08, 0x00,
+ 0x04, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0xFF,
+ 0xFF, 0x00, 0xF0, 0xFF, 0x00, 0xF0, 0x0F, 0x00,
+ 0xFF, 0xFF, 0xFF, 0x7F, 0x03, 0x00, 0x00, 0x00,
+ 0xC3, 0x00, 0xE7, 0xE7, 0xF3, 0xE7, 0xF1, 0xF1,
+ 0x43, 0x28, 0x20, 0x29, 0x4F, 0x43, 0x59, 0x50,
+ 0x49, 0x52, 0x48, 0x47, 0x20, 0x54, 0x42, 0x49,
+ 0x20, 0x4D, 0x39, 0x31, 0x33, 0x38, 0x34, 0x2C,
+ 0x35, 0x2C, 0x36, 0x2C, 0x43, 0x28, 0x20, 0x29,
+ 0x4F, 0x43, 0x59, 0x50, 0x49, 0x52, 0x48, 0x47,
+ 0x20, 0x54, 0x49, 0x54, 0x31, 0x20, 0x38, 0x39,
+ 0x2D, 0x33, 0x39, 0x38, 0x39, 0x2C, 0x2D, 0x30,
+ 0x38, 0x39, 0x00, 0x00, 0x61, 0x9B, 0xC4, 0xEC,
+ 0x0E, 0xEA, 0xDE, 0xE5, 0xC8, 0xED, 0x00, 0x00,
+ 0xC4, 0x00, 0xB8, 0xAF, 0x4A, 0x06, 0x50, 0x06,
+ 0x4C, 0x06, 0xDC, 0xCC, 0x4E, 0x06, 0x0F, 0x00,
+ 0x32, 0x06, 0x01, 0x00, 0x50, 0x07, 0x58, 0x07,
+ 0x52, 0x07, 0x70, 0xB5, 0x54, 0x07, 0x0F, 0x00,
+ 0x38, 0x07, 0x01, 0x00, 0xBA, 0x00, 0xA0, 0x00,
+ 0xBC, 0x00, 0xD6, 0xED, 0xBE, 0x00, 0x0F, 0x00,
+ 0x5E, 0x07, 0x3A, 0x07, 0x62, 0x07, 0x40, 0x80,
+ 0x64, 0x07, 0x54, 0xBA, 0x66, 0x07, 0x36, 0xBA,
+ 0x68, 0x07, 0x40, 0xB8, 0x98, 0x07, 0x00, 0x80,
+ 0x78, 0x07, 0x00, 0x80, 0xE2, 0x08, 0x04, 0x00,
+ 0xE4, 0x08, 0x01, 0x00, 0xEC, 0x08, 0x08, 0x00,
+ 0xF6, 0x08, 0x0A, 0x00, 0xF8, 0x08, 0x06, 0x00,
+ 0x00, 0x09, 0x0C, 0x00, 0x02, 0x09, 0x04, 0x00,
+ 0xAE, 0x01, 0x00, 0x00, 0x1E, 0x09, 0x00, 0x00,
+ 0x66, 0x09, 0x00, 0x00, 0x0C, 0x06, 0x13, 0x00,
+ 0x0A, 0x06, 0x20, 0x00, 0x00, 0x00, 0xE0, 0x00,
+ 0x86, 0xA3, 0xE0, 0x00, 0xE6, 0xA2, 0xE0, 0x00,
+ 0x86, 0xA3, 0xE0, 0x00, 0x02, 0xA5, 0xE0, 0x00,
+ 0x5E, 0xA6, 0xE0, 0x00, 0x66, 0xA9, 0xE0, 0x00,
+ 0x12, 0xA4, 0xC0, 0x00, 0x22, 0xA4, 0xE0, 0x00,
+ 0x86, 0xA3, 0xE0, 0x00, 0x86, 0xA3, 0xC0, 0x00,
+ 0x74, 0xA4, 0xE0, 0x00, 0x86, 0xA3, 0xE0, 0x00,
+ 0x86, 0xA3, 0xE0, 0x00, 0x86, 0xA3, 0xE0, 0x00,
+ 0x86, 0xA3, 0xE0, 0x00, 0x86, 0xA3, 0xC0, 0x00,
+ 0xDE, 0xAF, 0xC0, 0x00, 0x48, 0xB0, 0xC0, 0x00,
+ 0x84, 0xB0, 0xC0, 0x00, 0xF4, 0xB0, 0xC0, 0x00,
+ 0x76, 0xB1, 0xE0, 0x00, 0xE4, 0xB2, 0xE0, 0x00,
+ 0x8A, 0xB2, 0xE0, 0x00, 0xF4, 0xB3, 0xE0, 0x00,
+ 0x7C, 0xB3, 0xE0, 0x00, 0xC6, 0xAA, 0xC0, 0x00,
+ 0x36, 0xAB, 0xC0, 0x00, 0x90, 0xAB, 0xC0, 0x00,
+ 0xC2, 0xAB, 0xC0, 0x00, 0xEA, 0xAA, 0xC0, 0x00,
+ 0x80, 0xA3, 0xC0, 0x00, 0x80, 0xA3, 0x00, 0x3F,
+ 0x00, 0x7F, 0x00, 0x5E, 0x30, 0x00, 0x28, 0x00,
+ 0x43, 0x00, 0xB6, 0xA6, 0xB6, 0xA6, 0x1C, 0xA5,
+ 0x14, 0xA5, 0x46, 0xA5, 0x46, 0xA5, 0x62, 0xA5,
+ 0xB6, 0xA6, 0x00, 0x40, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x20, 0x00, 0x08,
+ 0x00, 0x80, 0x00, 0x08, 0x00, 0x01, 0x00, 0x10,
+ 0x00, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x10, 0x00,
+ 0x14, 0x00, 0x0E, 0x10, 0x0C, 0x0C, 0x0A, 0x0A,
+ 0x0A, 0x0A, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
+ 0x08, 0x08, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x98, 0x07, 0x7E, 0xCA, 0x58, 0x07,
+ 0xF8, 0xB8, 0x58, 0x07, 0xFE, 0xB7, 0x58, 0x07,
+ 0x68, 0xB9, 0x58, 0x07, 0xD0, 0xB8, 0x98, 0x07,
+ 0x5A, 0xC7, 0x98, 0x07, 0x52, 0xC7, 0x78, 0x07,
+ 0xC2, 0xC1, 0x58, 0x07, 0x30, 0xB9, 0x98, 0x07,
+ 0x38, 0xCA, 0x78, 0x07, 0x96, 0xC2, 0x58, 0x07,
+ 0x6A, 0xC7, 0x58, 0x07, 0xE0, 0xB8, 0x58, 0x07,
+ 0x1E, 0xB9, 0x58, 0x07, 0xE2, 0xB9, 0x98, 0x07,
+ 0xAE, 0xCB, 0x98, 0x07, 0x8E, 0xC7, 0x78, 0x07,
+ 0x56, 0xC2, 0xB8, 0x07, 0x14, 0xCC, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xA2, 0xBA, 0x16, 0xC1,
+ 0xCA, 0xC1, 0xD6, 0xC6, 0x8A, 0xBD, 0xC2, 0xBD,
+ 0xE0, 0xBD, 0x6A, 0xBE, 0x8E, 0xBE, 0xAA, 0xBE,
+ 0x22, 0xBF, 0x22, 0xBF, 0x56, 0xBE, 0xC8, 0xBF,
+ 0x10, 0xBE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C,
+ 0x00, 0x0C, 0x01, 0x0F, 0xFF, 0xFE, 0x00, 0x58,
+ 0x00, 0x0E, 0xFF, 0xFE, 0x0E, 0x00, 0x00, 0x70,
+ 0x40, 0x80, 0x00, 0x5E, 0xA0, 0xC0, 0xDF, 0xFF,
+ 0x00, 0x18, 0x00, 0xE0, 0x00, 0x78, 0x00, 0x50,
+ 0x00, 0x60, 0x00, 0x70, 0x00, 0x0C, 0x06, 0x00,
+ 0x00, 0x00, 0x84, 0xE3, 0xE6, 0x07, 0xF4, 0x07,
+ 0x08, 0x00, 0x00, 0x00, 0x8A, 0xE3, 0xEA, 0x07,
+ 0xF4, 0x07, 0x06, 0x00, 0x40, 0x00, 0x00, 0x0A,
+ 0xE6, 0x07, 0xEE, 0x07, 0x08, 0x00, 0x40, 0x00,
+ 0x06, 0x0A, 0xEA, 0x07, 0xEE, 0x07, 0x00, 0x00,
+ 0xE2, 0xC1, 0x8B, 0xD4, 0xFF, 0xFF, 0xD7, 0xD1,
+ 0xD9, 0xC5, 0xD4, 0xC3, 0x3B, 0x59, 0x34, 0x09,
+ 0xFC, 0x05, 0x6C, 0x09, 0xD8, 0x06, 0x06, 0x04,
+ 0xBA, 0xEA, 0x30, 0x09, 0x48, 0x04, 0x80, 0x08,
+ 0x06, 0x00, 0x0A, 0x06, 0x0E, 0x0C, 0xBA, 0xCE,
+ 0x2E, 0xE0, 0x56, 0xE0, 0x50, 0xE1, 0x66, 0xE2,
+ 0xEC, 0xE2, 0x4C, 0xE3, 0xFE, 0xE3, 0xBA, 0xCE,
+ 0x80, 0xE4, 0x10, 0xE4, 0x14, 0xE0, 0x1C, 0xE4,
+ 0x1C, 0xE4, 0x46, 0xE5, 0x50, 0xE5, 0x5A, 0xE5,
+ 0xBA, 0xCE, 0xA6, 0xDC, 0xBA, 0xCE, 0x44, 0xDA,
+ 0xE6, 0xDF, 0x70, 0xDA, 0xDE, 0xDE, 0xB0, 0xCE,
+ 0x16, 0xDB, 0x3A, 0xDD, 0xB8, 0xDD, 0x34, 0xDE,
+ 0x58, 0xDE, 0x16, 0xDB, 0xDA, 0xDC, 0x08, 0xCF,
+ 0xB0, 0xCE, 0xA8, 0xD9, 0x8A, 0xD9, 0x44, 0xD9,
+ 0xB0, 0xCE, 0xEA, 0xDE, 0xB0, 0xCE, 0x72, 0x06,
+ 0xF6, 0xD2, 0x08, 0x07, 0x72, 0x06, 0x54, 0xD2,
+ 0xF4, 0x01, 0x72, 0x06, 0x34, 0xD2, 0x08, 0x07,
+ 0x7C, 0x06, 0x5A, 0xDC, 0x04, 0x00, 0x7C, 0x06,
+ 0x78, 0xD2, 0x00, 0x00, 0x7C, 0x06, 0xCC, 0xDE,
+ 0xFA, 0x00, 0x86, 0x06, 0xAC, 0xD1, 0x05, 0x00,
+ 0x90, 0x06, 0x1C, 0xDF, 0x28, 0x00, 0x90, 0x06,
+ 0x50, 0xD3, 0x04, 0x01, 0x90, 0x06, 0x00, 0x00,
+ 0x02, 0x00, 0x90, 0x06, 0x80, 0xD2, 0xBC, 0x02,
+ 0x9A, 0x06, 0x06, 0xD3, 0xDC, 0x05, 0x9A, 0x06,
+ 0xAA, 0xD2, 0x64, 0x00, 0x9A, 0x06, 0x0A, 0xD3,
+ 0x14, 0x00, 0x9A, 0x06, 0xE2, 0xE0, 0x40, 0x06,
+ 0x9A, 0x06, 0x12, 0xD3, 0x64, 0x00, 0x7C, 0x06,
+ 0x16, 0xDC, 0x04, 0x00, 0x7C, 0x06, 0xE6, 0xDA,
+ 0x16, 0x00, 0x7C, 0x06, 0xFA, 0xDB, 0x05, 0x00,
+ 0x7C, 0x06, 0x00, 0xDD, 0x14, 0x00, 0x9A, 0x06,
+ 0x7C, 0xD3, 0x14, 0x00, 0x9A, 0x06, 0x38, 0xD4,
+ 0x02, 0x00, 0x7C, 0x06, 0x0C, 0xE0, 0x19, 0x00,
+ 0x00, 0x00, 0x0A, 0x07, 0x0E, 0x07, 0x04, 0x07,
+ 0xD8, 0x06, 0x00, 0x07, 0xF0, 0x06, 0xEE, 0x06,
+ 0xEC, 0x06, 0x0C, 0x07, 0xE6, 0x06, 0x18, 0x07,
+ 0x92, 0x09, 0x94, 0x09, 0x96, 0x09, 0x98, 0x09,
+ 0x00, 0x50, 0xCC, 0x00, 0x03, 0x00, 0x00, 0x84,
+ 0x00, 0xA8, 0x00, 0xA0, 0x00, 0x20, 0x00, 0x80,
+ 0x00, 0x40, 0x00, 0x08, 0x00, 0x40, 0x00, 0x80,
+ 0x00, 0x40, 0x00, 0x10, 0x82, 0xEC, 0x48, 0xEB,
+ 0x62, 0xEB, 0x7C, 0xEB, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x00, 0x09, 0x00, 0xEA, 0xEB,
+ 0x52, 0xEB, 0x68, 0xEB, 0x82, 0xEB, 0x40, 0x01,
+ 0x42, 0x01, 0x42, 0x01, 0x42, 0x01, 0x00, 0x00,
+ 0x7F, 0x00, 0xA0, 0x00, 0xFF, 0x00, 0x10, 0x02,
+ 0x1F, 0x02, 0x30, 0x02, 0x3F, 0x02, 0x50, 0x02,
+ 0x5F, 0x02, 0x70, 0x02, 0x7F, 0x02, 0x90, 0x02,
+ 0x9F, 0x02, 0xB0, 0x02, 0xBF, 0x02, 0xD0, 0x02,
+ 0xDF, 0x02, 0xE1, 0x02, 0xFF, 0x02, 0x01, 0x03,
+ 0x7F, 0x03, 0x81, 0x03, 0x8F, 0x03, 0x91, 0x03,
+ 0x9F, 0x03, 0xA1, 0x03, 0xAF, 0x03, 0xB1, 0x03,
+ 0xBF, 0x03, 0xC1, 0x03, 0xCF, 0x03, 0xE1, 0x03,
+ 0xFF, 0x03, 0xC0, 0x07, 0xFF, 0x07, 0x00, 0x0C,
+ 0xFF, 0x0F, 0x00, 0x30, 0xFF, 0x37, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xBC, 0xFE, 0x07, 0x00, 0x5E, 0x02,
+ 0x00, 0x01, 0xFF, 0xBA, 0x80, 0xBA, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x0A, 0x01,
+ 0x0E, 0x01, 0x10, 0x01, 0x14, 0x01, 0x00, 0x00,
+ 0x12, 0x01, 0x00, 0xF8, 0x16, 0x01, 0x00, 0xFF,
+ 0x00, 0x00, 0x00, 0x00, 0x0A, 0x01, 0x1C, 0x01,
+ 0x82, 0x01, 0x66, 0x96, 0x66, 0x96, 0x55, 0x55,
+ 0x00, 0x00, 0x82, 0x01, 0x2A, 0x8A, 0x2A, 0x8A,
+ 0x18, 0xC9, 0x18, 0xC9, 0x86, 0x01, 0xAA, 0xA2,
+ 0x1E, 0xA0, 0x55, 0x55, 0x1E, 0x54, 0x8A, 0x01,
+ 0x00, 0x50, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00,
+ 0x8C, 0x01, 0x00, 0x50, 0x00, 0x00, 0x00, 0xA8,
+ 0x00, 0x00, 0x8E, 0x01, 0x00, 0x50, 0x00, 0x00,
+ 0x00, 0xA8, 0x00, 0x00, 0x90, 0x01, 0x00, 0x50,
+ 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00, 0x92, 0x01,
+ 0x00, 0x50, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00,
+ 0x94, 0x01, 0x00, 0x50, 0x00, 0x00, 0x00, 0xA8,
+ 0x00, 0x00, 0x96, 0x01, 0x00, 0x50, 0x00, 0x00,
+ 0x00, 0xA8, 0x00, 0x00, 0x98, 0x01, 0x00, 0x50,
+ 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00, 0x9A, 0x01,
+ 0x00, 0x50, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00,
+ 0x9C, 0x01, 0x55, 0x55, 0xC0, 0x7F, 0xAA, 0xAA,
+ 0xC0, 0x7F, 0x00, 0x00, 0xA2, 0x01, 0xA4, 0x01,
+ 0xA8, 0x01, 0xAA, 0x01, 0xAE, 0x01, 0xB0, 0x01,
+ 0xB2, 0x01, 0x80, 0x01, 0x00, 0x00, 0x88, 0x01,
+ 0x00, 0xFF, 0x9E, 0x01, 0xFF, 0x00, 0xA0, 0x01,
+ 0x00, 0x80, 0xAC, 0x01, 0x00, 0x80, 0x00, 0x00,
+ 0xA6, 0x01, 0x00, 0x80, 0x00, 0x00, 0x80, 0x01,
+ 0xBC, 0x01, 0x00, 0x88, 0x00, 0x06, 0x00, 0xC8,
+ 0x00, 0x00, 0x00, 0x80, 0x30, 0x00, 0x00, 0x00,
+ 0x00, 0x80, 0x02, 0x00, 0x44, 0x00, 0x92, 0xEA,
+ 0x48, 0x00, 0x98, 0xEA, 0x50, 0x00, 0x9E, 0xEA,
+ 0x60, 0x00, 0xA4, 0xEA, 0x78, 0x00, 0xAA, 0xEA,
+ 0x0A, 0xE8, 0x18, 0xE7, 0x3C, 0xEA, 0x2A, 0xE7,
+ 0x14, 0x55, 0xA0, 0x01, 0xEC, 0xE6, 0xD0, 0xE9,
+ 0x46, 0xE7, 0xA0, 0xE7, 0x00, 0xE7, 0x58, 0xE8,
+ 0x00, 0x00, 0x1E, 0x00, 0x46, 0xE7, 0x92, 0xE7,
+ 0x00, 0x41, 0x01, 0x41, 0xB6, 0xE7, 0x73, 0xEA,
+ 0x18, 0xE7, 0x48, 0xEA, 0xEC, 0xE6, 0x04, 0xEA,
+ 0x56, 0xE7, 0x62, 0xE7, 0xB6, 0xE7, 0x6E, 0xEA,
+ 0x62, 0xE8, 0x00, 0x00, 0x36, 0xE8, 0xEC, 0xE6,
+ 0xFA, 0xE9, 0x56, 0xE7, 0x62, 0xE7, 0x36, 0xE8,
+ 0x62, 0xE8, 0x00, 0x00, 0xEC, 0xE6, 0xF0, 0xE9,
+ 0x0C, 0xE7, 0x4A, 0xE7, 0x62, 0xE7, 0x36, 0xE8,
+ 0xEC, 0xE6, 0xFA, 0xE9, 0x56, 0xE7, 0x62, 0xE7,
+ 0x36, 0xE8, 0x62, 0xE8, 0x00, 0x20, 0x2A, 0xE7,
+ 0x14, 0x55, 0xA0, 0x01, 0x18, 0xE7, 0x50, 0xEA,
+ 0xEC, 0xE6, 0xD0, 0xE9, 0x58, 0xE8, 0x50, 0x55,
+ 0x0C, 0x00, 0x46, 0xE7, 0x92, 0xE7, 0x00, 0x01,
+ 0x00, 0x00, 0xB6, 0xE7, 0x75, 0xEA, 0x00, 0xE7,
+ 0x58, 0xE8, 0x55, 0x55, 0x0C, 0x00, 0x56, 0xE7,
+ 0xA0, 0xE7, 0x00, 0xE7, 0x58, 0xE8, 0xFF, 0xFF,
+ 0x08, 0x00, 0x58, 0xE8, 0x02, 0x10, 0x06, 0x00,
+ 0x46, 0xE7, 0x92, 0xE7, 0x00, 0x01, 0x01, 0x01,
+ 0xB6, 0xE7, 0x80, 0xEA, 0x00, 0xE7, 0x58, 0xE8,
+ 0x00, 0xC0, 0x08, 0x00, 0x58, 0xE8, 0xFF, 0xFF,
+ 0x0A, 0x00, 0x58, 0xE8, 0xFF, 0xFF, 0x0C, 0x00,
+ 0x58, 0xE8, 0x0D, 0x10, 0x06, 0x00, 0x46, 0xE7,
+ 0x92, 0xE7, 0x00, 0x01, 0x01, 0x01, 0xB6, 0xE7,
+ 0x74, 0xEA, 0x62, 0xE8, 0x08, 0x20, 0x00, 0xE7,
+ 0x52, 0xE8, 0x82, 0x01, 0x02, 0xC9, 0x46, 0xE7,
+ 0xB6, 0xE7, 0x80, 0xEA, 0x62, 0xE8, 0x34, 0x20,
+ 0x00, 0xE7, 0x58, 0xE8, 0x00, 0x10, 0x06, 0x00,
+ 0x46, 0xE7, 0xC6, 0xE8, 0xB6, 0xE7, 0x78, 0xEA,
+ 0x52, 0xE8, 0x9C, 0x01, 0x40, 0x00, 0x18, 0xE7,
+ 0x50, 0xEA, 0x2A, 0xE7, 0xFF, 0x00, 0x80, 0x07,
+ 0x26, 0xE9, 0x03, 0x00, 0x66, 0xE9, 0x74, 0xE9,
+ 0x12, 0xEA, 0x38, 0xE9, 0x00, 0x00, 0x74, 0xE9,
+ 0x1C, 0xEA, 0x38, 0xE9, 0x04, 0x00, 0x74, 0xE9,
+ 0x24, 0xEA, 0x38, 0xE9, 0x07, 0x00, 0x74, 0xE9,
+ 0x2C, 0xEA, 0x26, 0xE9, 0x01, 0x00, 0x74, 0xE9,
+ 0x34, 0xEA, 0x38, 0xE9, 0x02, 0x00, 0x74, 0xE9,
+ 0x34, 0xEA, 0x38, 0xE9, 0x06, 0x00, 0x74, 0xE9,
+ 0x34, 0xEA, 0x38, 0xE9, 0x05, 0x00, 0x74, 0xE9,
+ 0x34, 0xEA, 0x26, 0xE9, 0x01, 0x00, 0x4A, 0xE9,
+ 0x26, 0xE9, 0x03, 0x00, 0x58, 0xE9, 0x62, 0xE7,
+ 0xE6, 0xE8, 0xD8, 0xE9, 0x01, 0x00, 0xE6, 0xE8,
+ 0x25, 0xEA, 0x02, 0x00, 0xE6, 0xE8, 0x2F, 0xEA,
+ 0x06, 0x00, 0xE6, 0xE8, 0x3A, 0xEA, 0x05, 0x00,
+ 0xB6, 0xE7, 0x74, 0xEA, 0x36, 0xE8, 0xEC, 0xE6,
+ 0xD0, 0xE9, 0x56, 0xE7, 0xC6, 0xE8, 0x0C, 0xE7,
+ 0x92, 0xE7, 0x00, 0x01, 0x00, 0x80, 0xB6, 0xE7,
+ 0x78, 0xEA, 0x00, 0xE7, 0xFE, 0xE8, 0x52, 0xE8,
+ 0x80, 0x01, 0x41, 0x8E, 0x4A, 0xE7, 0x92, 0xE7,
+ 0x00, 0x01, 0x01, 0x1B, 0x06, 0xE9, 0xE4, 0xFF,
+ 0xB6, 0xE7, 0x7C, 0xEA, 0xBE, 0xE8, 0x18, 0xE7,
+ 0x56, 0xEA, 0x0C, 0xE7, 0x6A, 0xE8, 0x3C, 0xE7,
+ 0x00, 0xE0, 0xC6, 0xE8, 0xB6, 0xE7, 0x86, 0xEA,
+ 0x3C, 0xE7, 0x00, 0xE8, 0x62, 0xE7, 0xB6, 0xE7,
+ 0x85, 0xEA, 0x3C, 0xE7, 0x00, 0x08, 0xC6, 0xE8,
+ 0xB6, 0xE7, 0x86, 0xEA, 0x3C, 0xE7, 0x00, 0xF8,
+ 0x62, 0xE7, 0xB6, 0xE7, 0x85, 0xEA, 0x52, 0xE8,
+ 0x80, 0x01, 0x00, 0x02, 0x3C, 0xE7, 0x00, 0xE0,
+ 0x62, 0xE7, 0xB6, 0xE7, 0x85, 0xEA, 0x52, 0xE8,
+ 0x84, 0x01, 0x00, 0x00, 0x62, 0xE8, 0x34, 0x00,
+ 0x3C, 0xE7, 0x00, 0x00, 0xC6, 0xE8, 0x62, 0xE8,
+ 0x34, 0x60, 0x0E, 0xE9, 0x52, 0xE8, 0x84, 0x01,
+ 0x00, 0x00, 0xB6, 0xE7, 0x86, 0xEA, 0x52, 0xE8,
+ 0x82, 0x01, 0x00, 0xC8, 0x3C, 0xE7, 0x00, 0xE0,
+ 0xC6, 0xE8, 0x3C, 0xE7, 0x00, 0x10, 0xC6, 0xE8,
+ 0x62, 0xE8, 0x34, 0x60, 0x52, 0xE8, 0x80, 0x01,
+ 0x00, 0x06, 0x3C, 0xE7, 0x10, 0x00, 0x78, 0xE8,
+ 0x36, 0xE8, 0x52, 0xE8, 0x84, 0x01, 0x00, 0x00,
+ 0x62, 0xE8, 0x34, 0x00, 0xEC, 0xE6, 0xD0, 0xE9,
+ 0x18, 0xE7, 0x5C, 0xEA, 0xD0, 0xE8, 0x92, 0xE9,
+ 0x00, 0xE7, 0x0C, 0xE7, 0x70, 0xE7, 0x40, 0xF0,
+ 0x06, 0x00, 0x00, 0xC7, 0xA0, 0xE7, 0xDC, 0xE8,
+ 0x00, 0xE0, 0x00, 0xE7, 0x0C, 0xE7, 0x70, 0xE7,
+ 0x40, 0xD0, 0x06, 0x00, 0x00, 0xE0, 0xA0, 0xE7,
+ 0xDC, 0xE8, 0x00, 0xC0, 0x00, 0xE7, 0x0C, 0xE7,
+ 0x70, 0xE7, 0x40, 0x90, 0x06, 0x00, 0x00, 0xA0,
+ 0xA0, 0xE7, 0xDC, 0xE8, 0x00, 0x80, 0x00, 0xE7,
+ 0x0C, 0xE7, 0x70, 0xE7, 0x40, 0x50, 0x06, 0x00,
+ 0x00, 0x60, 0xA0, 0xE7, 0xDC, 0xE8, 0x00, 0x40,
+ 0x00, 0xE7, 0x0C, 0xE7, 0x70, 0xE7, 0x40, 0x10,
+ 0x06, 0x00, 0x00, 0x20, 0xA0, 0xE7, 0xDC, 0xE8,
+ 0x00, 0x00, 0xD0, 0xE8, 0x92, 0xE9, 0x00, 0xE7,
+ 0x0C, 0xE7, 0x70, 0xE7, 0x40, 0xD0, 0x06, 0x00,
+ 0x00, 0xA6, 0xA0, 0xE7, 0xDC, 0xE8, 0x00, 0xC0,
+ 0x00, 0xE7, 0x0C, 0xE7, 0x70, 0xE7, 0x40, 0x90,
+ 0x06, 0x00, 0x00, 0xC0, 0xA0, 0xE7, 0xDC, 0xE8,
+ 0x00, 0x80, 0x00, 0xE7, 0x0C, 0xE7, 0x70, 0xE7,
+ 0x40, 0x50, 0x06, 0x00, 0x00, 0x40, 0xA0, 0xE7,
+ 0xDC, 0xE8, 0x00, 0x40, 0x00, 0xE7, 0x0C, 0xE7,
+ 0x70, 0xE7, 0x40, 0x70, 0x06, 0x00, 0x00, 0x60,
+ 0xA0, 0xE7, 0xDC, 0xE8, 0x00, 0x60, 0x7E, 0xE9,
+ 0x90, 0xE9, 0x18, 0xE7, 0x62, 0xEA, 0xEC, 0xE6,
+ 0xD0, 0xE9, 0xA4, 0xE8, 0x55, 0x55, 0x16, 0x00,
+ 0x46, 0xE7, 0x92, 0xE7, 0x00, 0x00, 0x00, 0x00,
+ 0xB6, 0xE7, 0x8B, 0xEA, 0x0A, 0xE8, 0x18, 0xE7,
+ 0x62, 0xEA, 0x58, 0xE8, 0x55, 0x55, 0x16, 0x00,
+ 0x00, 0xE7, 0x46, 0xE7, 0xA0, 0xE7, 0x2A, 0xE7,
+ 0xFF, 0x00, 0x00, 0x08, 0x2A, 0xE7, 0xFF, 0x00,
+ 0x00, 0x0C, 0x2A, 0xE7, 0xFF, 0x00, 0x00, 0x10,
+ 0x2A, 0xE7, 0xFF, 0x00, 0x00, 0x14, 0x2A, 0xE7,
+ 0xFF, 0x00, 0x00, 0x18, 0x2A, 0xE7, 0xFF, 0x00,
+ 0x00, 0x1C, 0x2A, 0xE7, 0xFF, 0x00, 0x00, 0x20,
+ 0x2A, 0xE7, 0xFF, 0x00, 0x00, 0x24, 0x2A, 0xE7,
+ 0xFF, 0x00, 0x00, 0x28, 0x2A, 0xE7, 0xFF, 0x00,
+ 0x00, 0x2C, 0xD2, 0xE7, 0x00, 0xE7, 0x0C, 0xE7,
+ 0x70, 0xE7, 0x40, 0x30, 0x06, 0x00, 0x00, 0x01,
+ 0xA0, 0xE7, 0xDC, 0xE8, 0x00, 0x20, 0x00, 0xE7,
+ 0x0C, 0xE7, 0x70, 0xE7, 0x40, 0x70, 0x06, 0x00,
+ 0x00, 0x43, 0xA0, 0xE7, 0xDC, 0xE8, 0x00, 0x60,
+ 0x00, 0xE7, 0x0C, 0xE7, 0x70, 0xE7, 0x40, 0xB0,
+ 0x06, 0x00, 0x00, 0x85, 0xA0, 0xE7, 0xDC, 0xE8,
+ 0x00, 0xA0, 0xD8, 0xE8, 0x00, 0x01, 0x03, 0x01,
+ 0x01, 0x01, 0x00, 0x00, 0x00, 0x81, 0x1A, 0x00,
+ 0x40, 0x10, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
+ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x72, 0x82,
+ 0x4A, 0xA9, 0xA5, 0x5A, 0xDA, 0xE7, 0x03, 0x09,
+ 0x11, 0x9D, 0x00, 0x00, 0x00, 0x81, 0x04, 0x00,
+ 0xD8, 0x90, 0x00, 0x10, 0x00, 0x00, 0x00, 0x81,
+ 0x04, 0x00, 0xD8, 0x90, 0xD8, 0xB4, 0x00, 0x00,
+ 0x00, 0x81, 0x08, 0x00, 0xD8, 0x90, 0x46, 0x16,
+ 0x00, 0x40, 0xD8, 0xB4, 0x08, 0x00, 0x00, 0x00,
+ 0x00, 0x80, 0x13, 0x00, 0x40, 0x10, 0x16, 0x00,
+ 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x15, 0x00,
+ 0x00, 0x00, 0x00, 0x80, 0x0F, 0x00, 0x15, 0x00,
+ 0x00, 0x00, 0x00, 0x81, 0x0F, 0x00, 0x06, 0x00,
+ 0x00, 0x00, 0x00, 0x80, 0x12, 0x00, 0x0A, 0x80,
+ 0x40, 0x9E, 0x00, 0xC8, 0x00, 0x00, 0x5E, 0x80,
+ 0x0F, 0x00, 0x06, 0x80, 0x40, 0xFE, 0x00, 0xCC,
+ 0x00, 0x00, 0x04, 0x80, 0x40, 0x8E, 0x00, 0xC9,
+ 0x04, 0x80, 0x00, 0x06, 0x00, 0xCC, 0x04, 0x80,
+ 0x40, 0x0A, 0x00, 0xC8, 0x0A, 0x80, 0x40, 0x8A,
+ 0x00, 0xC8, 0x00, 0x00, 0x5E, 0x80, 0x0F, 0x00,
+ 0x0A, 0x08, 0x80, 0x1C, 0x0A, 0x00, 0x1C, 0x1A,
+ 0x00, 0x80, 0x1C, 0x0C, 0x00, 0x80, 0x1C, 0x1A,
+ 0x00, 0x80, 0x1A, 0x0E, 0x80, 0x1C, 0x04, 0x00,
+ 0x00, 0x80, 0x80, 0x02, 0x02, 0x00, 0x00, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+ 0x40, 0x00, 0x00, 0x00, 0x58, 0x07, 0x0C, 0xB8,
+ 0x16, 0xE0, 0xE2, 0x08, 0xEC, 0x08, 0xF6, 0x08,
+ 0x16, 0xE0, 0x00, 0x09, 0x0A, 0x09, 0x00, 0x00,
+ 0x00, 0x00, 0xE2, 0x08, 0x00, 0x00, 0xEC, 0x08,
+ 0xF6, 0x08, 0x00, 0x09, 0x00, 0x00, 0xB8, 0x07,
+ 0xCA, 0xCB, 0x80, 0x02, 0xB8, 0x07, 0xE8, 0xCB,
+ 0x84, 0xFF, 0xB8, 0x07, 0x0A, 0xCC, 0xB8, 0x07,
+ 0x84, 0xCC, 0x6E, 0xCD, 0x62, 0xCD, 0x88, 0xCD,
+ 0x90, 0xCE, 0x84, 0xCD, 0x92, 0xCE, 0x92, 0xCE,
+ 0x92, 0xCE, 0x8C, 0xCD, 0x96, 0xCD, 0x38, 0xCE,
+ 0x82, 0xCE, 0x92, 0xCE, 0x92, 0xCE, 0x92, 0xCE,
+ 0x92, 0xCE, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x08, 0x00, 0x08, 0x01, 0x05, 0x08,
+ 0x08, 0x08, 0x03, 0x08, 0x03, 0x03, 0x03, 0x03,
+ 0x00, 0x00, 0x04, 0x02, 0x04, 0x04, 0x00, 0x04,
+ 0x0A, 0x08, 0x00, 0x00, 0x10, 0x0C, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x1A, 0x00, 0x00,
+ 0x04, 0x41, 0x06, 0x0B, 0x08, 0xC2, 0x00, 0xE6,
+ 0x00, 0xE7, 0x04, 0x06, 0x04, 0x07, 0x04, 0x03,
+ 0x06, 0x04, 0x04, 0x05, 0x04, 0x88, 0x04, 0xCF,
+ 0x04, 0xCD, 0x03, 0x00, 0x05, 0x00, 0x1C, 0x00,
+ 0x00, 0x0C, 0x00, 0x80, 0xD2, 0xD8, 0xDA, 0xD8,
+ 0x1E, 0xD9, 0xDE, 0xD8, 0xEA, 0xD8, 0xF0, 0xD8,
+ 0x14, 0xD9, 0xE4, 0xD8, 0x32, 0xD9, 0x00, 0x06,
+ 0x00, 0x00, 0x03, 0x07, 0x0A, 0x0E, 0x0F, 0x14,
+ 0x26, 0x2A, 0x52, 0x42, 0x50, 0x48, 0x5D, 0x4D,
+ 0x62, 0x62, 0x6D, 0x57, 0x46, 0x39, 0x1A, 0x1D,
+ 0x7C, 0x76, 0x1F, 0x23, 0x15, 0x1D, 0x74, 0x6F,
+ 0x84, 0x7C, 0x8B, 0x82, 0x92, 0x89, 0x00, 0x00,
+ 0x32, 0x2F, 0x3F, 0x34, 0x32, 0x01, 0x01, 0x57,
+ 0x32, 0x11, 0x81, 0x51, 0x02, 0x56, 0x03, 0x55,
+ 0x54, 0x11, 0x56, 0x81, 0x55, 0x02, 0x54, 0x02,
+ 0x56, 0x81, 0x01, 0x76, 0x02, 0x34, 0x02, 0x55,
+ 0x81, 0x54, 0x02, 0x58, 0x02, 0x55, 0x81, 0x54,
+ 0x02, 0x58, 0x11, 0x12, 0x02, 0x52, 0x58, 0x83,
+ 0x52, 0x05, 0x83, 0x04, 0x02, 0x58, 0x08, 0x55,
+ 0x58, 0x83, 0x55, 0x02, 0x81, 0x02, 0x05, 0x58,
+ 0x03, 0x52, 0x5C, 0x15, 0x53, 0x5B, 0x52, 0x87,
+ 0x11, 0x03, 0x41, 0x51, 0x78, 0x51, 0x34, 0x11,
+ 0x81, 0x11, 0x20, 0x31, 0x54, 0x57, 0x01, 0x53,
+ 0x5A, 0x12, 0x81, 0x51, 0x20, 0x31, 0x5B, 0x57,
+ 0x01, 0x5A, 0x01, 0x11, 0x51, 0x11, 0x31, 0x81,
+ 0x57, 0x20, 0x15, 0x01, 0x13, 0x01, 0x11, 0x01,
+ 0x11, 0x11, 0x81, 0x51, 0x05, 0x58, 0x02, 0x52,
+ 0x5B, 0x54, 0x5D, 0x81, 0x52, 0x05, 0x54, 0x02,
+ 0x58, 0x81, 0x50, 0x02, 0x13, 0x03, 0x58, 0x81,
+ 0x50, 0x02, 0x11, 0x03, 0x81, 0x54, 0x72, 0x5D,
+ 0x50, 0x03, 0x13, 0x03, 0x13, 0x01, 0x40, 0x54,
+ 0x0E, 0x00, 0x20, 0x06, 0x56, 0x06, 0x0C, 0xDA,
+ 0x24, 0x00, 0x02, 0x10, 0x16, 0x00, 0x02, 0x00,
+ 0x01, 0x04, 0x08, 0x07, 0x0C, 0xDA, 0x20, 0x00,
+ 0x03, 0x10, 0x12, 0x00, 0x03, 0x00, 0x4E, 0xD9,
+ 0x14, 0x8E, 0x20, 0x00, 0x04, 0x10, 0x12, 0x00,
+ 0x04, 0x00, 0xD2, 0xCE, 0x20, 0x00, 0x05, 0xE0,
+ 0x12, 0x00, 0x05, 0x00, 0xD2, 0xCE, 0x20, 0x00,
+ 0x06, 0xE0, 0x12, 0x00, 0x06, 0x00, 0xE8, 0xDD,
+ 0x12, 0x00, 0x01, 0xE0, 0x6C, 0x09, 0xCC, 0x06,
+ 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x30, 0x06,
+ 0x42, 0xDC, 0xF0, 0x05, 0x00, 0xE0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xE2, 0x05, 0x08, 0x00,
+ 0x26, 0xFF, 0xDC, 0x05, 0x00, 0x00, 0x30, 0x06,
+ 0xF8, 0xDB, 0x1E, 0x00, 0x01, 0xE0, 0x10, 0x00,
+ 0x11, 0x30, 0x0C, 0x04, 0x01, 0x00, 0x0E, 0x04,
+ 0x02, 0x00, 0x21, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x30, 0x06, 0x32, 0xDD, 0x12, 0x00, 0x01, 0xE0,
+ 0x04, 0x00, 0x13, 0x30, 0x74, 0xDE, 0x3E, 0x00,
+ 0x00, 0xE0, 0x00, 0xC0, 0x00, 0x00, 0x02, 0x00,
+ 0x30, 0x00, 0x20, 0x50, 0x23, 0x0C, 0xFC, 0x05,
+ 0x52, 0x06, 0x56, 0x06, 0x00, 0x00, 0x00, 0x81,
+ 0x16, 0x00, 0x00, 0xE0, 0x00, 0xC0, 0x00, 0x00,
+ 0x10, 0x00, 0x08, 0x00, 0x2A, 0x40, 0x2A, 0x04,
+ 0x56, 0x06, 0x26, 0x00, 0x19, 0xED, 0x2B, 0x06,
+ 0x72, 0x09, 0x22, 0x00, 0x24, 0x00, 0x2F, 0xED,
+ 0x23, 0x0C, 0xFC, 0x05, 0x28, 0x08, 0x34, 0x09,
+ 0x29, 0x08, 0x58, 0x07, 0x78, 0x07, 0x98, 0x07,
+ 0x23, 0x00, 0x2A, 0x00, 0x3D, 0xED, 0x06, 0x04,
+ 0xF0, 0x06, 0x07, 0x04, 0xEE, 0x06, 0x24, 0x00,
+ 0xD2, 0xCE, 0x34, 0x00, 0x00, 0xE0, 0x00, 0xC0,
+ 0x00, 0x00, 0x10, 0x00, 0x26, 0x00, 0x25, 0x40,
+ 0xD2, 0xCE, 0x20, 0x00, 0x00, 0xE0, 0x00, 0xC0,
+ 0x00, 0x00, 0x10, 0x00, 0x12, 0x00, 0x26, 0x40,
+ 0xD2, 0xCE, 0x1A, 0x00, 0x00, 0xE0, 0x0C, 0x00,
+ 0x27, 0x60, 0x0A, 0x08, 0xE6, 0x06, 0xD2, 0xCE,
+ 0x24, 0x00, 0x00, 0xE0, 0x16, 0x00, 0x28, 0x60,
+ 0x30, 0x04, 0x06, 0x07, 0x52, 0xCF, 0x00, 0x81,
+ 0x30, 0x00, 0x00, 0xE0, 0x22, 0x00, 0x29, 0x60,
+ 0x2D, 0x08, 0x1C, 0x07, 0x2E, 0x08, 0x22, 0x07,
+ 0x00, 0x00, 0x08, 0x02, 0x06, 0x01, 0x14, 0x06,
+ 0x18, 0x08, 0x20, 0x0C, 0x26, 0x0E, 0x30, 0x0F,
+ 0x34, 0x11, 0x3E, 0x12, 0x42, 0x14, 0x46, 0x16,
+ 0x1C, 0x0A, 0x4A, 0x18, 0x13, 0x03, 0x11, 0x83,
+ 0x01, 0x11, 0x11, 0x81, 0x12, 0x81, 0x13, 0x01,
+ 0x52, 0x83, 0x81, 0x85, 0x85, 0x11, 0x12, 0x81,
+ 0x12, 0x81, 0x19, 0x81, 0x60, 0x85, 0x00, 0xC0,
+ 0x00, 0x00, 0x08, 0x00, 0x6C, 0x09, 0x00, 0x00,
+ 0x30, 0x06, 0x08, 0xE5, 0x54, 0x06, 0x50, 0x06,
+ 0x38, 0x02, 0x21, 0x04, 0x1E, 0x09, 0x0B, 0x06,
+ 0xD8, 0x06, 0x02, 0x08, 0xDC, 0x06, 0x00, 0xC0,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x41, 0x00, 0x41, 0x00,
+ 0x14, 0xAE, 0x00, 0x00, 0x00, 0x81, 0x09, 0x04,
+ 0x0C, 0x07, 0x41, 0x00, 0x41, 0x00, 0x14, 0x02,
+ 0x00, 0x00, 0x00, 0x81, 0x0B, 0x06, 0xD8, 0x06,
+ 0x2C, 0x06, 0x76, 0x09, 0x22, 0x14, 0x3A, 0x09,
+ 0x41, 0x00, 0x41, 0x00, 0x54, 0x02, 0x00, 0x00,
+ 0x00, 0x81, 0xD8, 0x06, 0x00, 0x84, 0x00, 0x48,
+ 0xFC, 0xFF, 0x09, 0x00, 0x00, 0xC0, 0x00, 0x00,
+ 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xB8, 0xFF, 0x20, 0x00,
+ 0x43, 0x28, 0x31, 0x29, 0x38, 0x39, 0x2D, 0x33,
+ 0x39, 0x38, 0x39, 0x2C, 0x2D, 0x30, 0x38, 0x39,
+ 0x54, 0x20, 0x78, 0x65, 0x73, 0x61, 0x49, 0x20,
+ 0x73, 0x6E, 0x72, 0x74, 0x6D, 0x75, 0x6E, 0x65,
+ 0x73, 0x74, 0x28, 0x0A, 0x29, 0x43, 0x39, 0x31,
+ 0x33, 0x38, 0x34, 0x2C, 0x35, 0x2C, 0x36, 0x2C,
+ 0x49, 0x20, 0x4D, 0x42, 0x43, 0x20, 0x72, 0x6F,
+ 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xF8, 0xFF, 0x01, 0x00, 0x34, 0x90,
+ 0x00, 0x00, 0xFA, 0xFF, 0x01, 0x00, 0xB8, 0xFF,
+ 0x00, 0x00, 0xFC, 0xFF, 0x02, 0x00, 0x80, 0x00,
+ 0x3E, 0xA0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+#endif /* CONFIG_TMS380TR */
diff --git a/drivers/net/wan/cosa.c b/drivers/net/wan/cosa.c
index 863cd4b59..a48c5d31c 100644
--- a/drivers/net/wan/cosa.c
+++ b/drivers/net/wan/cosa.c
@@ -1,4 +1,4 @@
-/* $Id: cosa.c,v 1.26 1999/07/09 15:02:37 kas Exp $ */
+/* $Id: cosa.c,v 1.28 1999/10/11 21:06:58 kas Exp $ */
/*
* Copyright (C) 1995-1997 Jan "Yenya" Kasprzak <kas@fi.muni.cz>
@@ -137,8 +137,7 @@ struct channel_data {
struct semaphore rsem, wsem;
char *rxdata;
int rxsize;
- wait_queue_head_t txwaitq;
- wait_queue_head_t rxwaitq;
+ wait_queue_head_t txwaitq, rxwaitq;
int tx_status, rx_status;
/* SPPP/HDLC device parts */
@@ -147,6 +146,11 @@ struct channel_data {
struct net_device_stats stats;
};
+/* cosa->firmware_status bits */
+#define COSA_FW_RESET (1<<0) /* Is the ROM monitor active? */
+#define COSA_FW_DOWNLOAD (1<<1) /* Is the microcode downloaded? */
+#define COSA_FW_START (1<<2) /* Is the microcode running? */
+
struct cosa_data {
int num; /* Card number */
char name[COSA_MAX_NAME]; /* Card name - e.g "cosa0" */
@@ -606,6 +610,11 @@ static int cosa_sppp_open(struct net_device *d)
struct channel_data *chan = d->priv;
int err, flags;
+ if (!(chan->cosa->firmware_status & COSA_FW_START)) {
+ printk(KERN_NOTICE "%s: start the firmware first (status %d)\n",
+ chan->cosa->name, chan->cosa->firmware_status);
+ return -EPERM;
+ }
spin_lock_irqsave(&chan->cosa->lock, flags);
if (chan->usage != 0) {
printk(KERN_WARNING "%s: sppp_open called with usage count %d\n",
@@ -781,6 +790,11 @@ static ssize_t cosa_read(struct file *file,
struct cosa_data *cosa = chan->cosa;
char *kbuf;
+ if (!(cosa->firmware_status & COSA_FW_START)) {
+ printk(KERN_NOTICE "%s: start the firmware first (status %d)\n",
+ cosa->name, cosa->firmware_status);
+ return -EPERM;
+ }
if (down_interruptible(&chan->rsem))
return -ERESTARTSYS;
@@ -845,12 +859,17 @@ static int chrdev_rx_done(struct channel_data *chan)
static ssize_t cosa_write(struct file *file,
const char *buf, size_t count, loff_t *ppos)
{
- struct channel_data *chan = (struct channel_data *)file->private_data;
DECLARE_WAITQUEUE(wait, current);
+ struct channel_data *chan = (struct channel_data *)file->private_data;
struct cosa_data *cosa = chan->cosa;
unsigned int flags;
char *kbuf;
+ if (!(cosa->firmware_status & COSA_FW_START)) {
+ printk(KERN_NOTICE "%s: start the firmware first (status %d)\n",
+ cosa->name, cosa->firmware_status);
+ return -EPERM;
+ }
if (down_interruptible(&chan->wsem))
return -ERESTARTSYS;
@@ -992,12 +1011,14 @@ static inline int cosa_reset(struct cosa_data *cosa)
if (cosa->usage > 1)
printk(KERN_INFO "cosa%d: WARNING: reset requested with cosa->usage > 1 (%d). Odd things may happen.\n",
cosa->num, cosa->usage);
+ cosa->firmware_status &= ~(COSA_FW_RESET|COSA_FW_START);
if (cosa_reset_and_read_id(cosa, idstring) < 0) {
printk(KERN_NOTICE "cosa%d: reset failed\n", cosa->num);
return -EIO;
}
printk(KERN_INFO "cosa%d: resetting device: %s\n", cosa->num,
idstring);
+ cosa->firmware_status |= COSA_FW_RESET;
return 0;
}
@@ -1009,15 +1030,14 @@ static inline int cosa_download(struct cosa_data *cosa, struct cosa_download *d)
char *code;
if (cosa->usage > 1)
- printk(KERN_INFO "cosa%d: WARNING: download of microcode requested with cosa->usage > 1 (%d). Odd things may happen.\n",
- cosa->num, cosa->usage);
-#if 0
- if (cosa->status != CARD_STATUS_RESETED && cosa->status != CARD_STATUS_DOWNLOADED) {
- printk(KERN_NOTICE "cosa%d: reset the card first (status %d).\n",
- cosa->num, cosa->status);
+ printk(KERN_INFO "%s: WARNING: download of microcode requested with cosa->usage > 1 (%d). Odd things may happen.\n",
+ cosa->name, cosa->usage);
+ if (!(cosa->firmware_status & COSA_FW_RESET)) {
+ printk(KERN_NOTICE "%s: reset the card first (status %d).\n",
+ cosa->name, cosa->firmware_status);
return -EPERM;
}
-#endif
+
get_user_ret(addr, &(d->addr), -EFAULT);
get_user_ret(len, &(d->len), -EFAULT);
get_user_ret(code, &(d->code), -EFAULT);
@@ -1027,6 +1047,9 @@ static inline int cosa_download(struct cosa_data *cosa, struct cosa_download *d)
if (d->len < 0 || d->len > COSA_MAX_FIRMWARE_SIZE)
return -EINVAL;
+ /* If something fails, force the user to reset the card */
+ cosa->firmware_status &= ~(COSA_FW_RESET|COSA_FW_DOWNLOAD);
+
if ((i=download(cosa, d->code, len, addr)) < 0) {
printk(KERN_NOTICE "cosa%d: microcode download failed: %d\n",
cosa->num, i);
@@ -1034,6 +1057,7 @@ static inline int cosa_download(struct cosa_data *cosa, struct cosa_download *d)
}
printk(KERN_INFO "cosa%d: downloading microcode - 0x%04x bytes at 0x%04x\n",
cosa->num, len, addr);
+ cosa->firmware_status |= COSA_FW_RESET|COSA_FW_DOWNLOAD;
return 0;
}
@@ -1048,18 +1072,19 @@ static inline int cosa_readmem(struct cosa_data *cosa, struct cosa_download *d)
printk(KERN_INFO "cosa%d: WARNING: readmem requested with "
"cosa->usage > 1 (%d). Odd things may happen.\n",
cosa->num, cosa->usage);
-#if 0
- if (cosa->status != CARD_STATUS_RESETED &&
- cosa->status != CARD_STATUS_DOWNLOADED) {
- printk(KERN_NOTICE "cosa%d: reset the card first (status %d).\n",
- cosa->num, cosa->status);
+ if (!(cosa->firmware_status & COSA_FW_RESET)) {
+ printk(KERN_NOTICE "%s: reset the card first (status %d).\n",
+ cosa->name, cosa->firmware_status);
return -EPERM;
}
-#endif
+
get_user_ret(addr, &(d->addr), -EFAULT);
get_user_ret(len, &(d->len), -EFAULT);
get_user_ret(code, &(d->code), -EFAULT);
+ /* If something fails, force the user to reset the card */
+ cosa->firmware_status &= ~COSA_FW_RESET;
+
if ((i=readmem(cosa, d->code, len, addr)) < 0) {
printk(KERN_NOTICE "cosa%d: reading memory failed: %d\n",
cosa->num, i);
@@ -1067,6 +1092,7 @@ static inline int cosa_readmem(struct cosa_data *cosa, struct cosa_download *d)
}
printk(KERN_INFO "cosa%d: reading card memory - 0x%04x bytes at 0x%04x\n",
cosa->num, len, addr);
+ cosa->firmware_status |= COSA_FW_RESET;
return 0;
}
@@ -1078,13 +1104,14 @@ static inline int cosa_start(struct cosa_data *cosa, int address)
if (cosa->usage > 1)
printk(KERN_INFO "cosa%d: WARNING: start microcode requested with cosa->usage > 1 (%d). Odd things may happen.\n",
cosa->num, cosa->usage);
-#if 0
- if (cosa->status != CARD_STATUS_DOWNLOADED) {
- printk(KERN_NOTICE "cosa%d: download the microcode first (status %d).\n",
- cosa->num, cosa->status);
+
+ if ((cosa->firmware_status & (COSA_FW_RESET|COSA_FW_DOWNLOAD))
+ != (COSA_FW_RESET|COSA_FW_DOWNLOAD)) {
+ printk(KERN_NOTICE "%s: download the microcode and/or reset the card first (status %d).\n",
+ cosa->name, cosa->firmware_status);
return -EPERM;
}
-#endif
+ cosa->firmware_status &= ~COSA_FW_RESET;
if ((i=startmicrocode(cosa, address)) < 0) {
printk(KERN_NOTICE "cosa%d: start microcode at 0x%04x failed: %d\n",
cosa->num, address, i);
@@ -1093,6 +1120,7 @@ static inline int cosa_start(struct cosa_data *cosa, int address)
printk(KERN_INFO "cosa%d: starting microcode at 0x%04x\n",
cosa->num, address);
cosa->startaddr = address;
+ cosa->firmware_status |= COSA_FW_START;
return 0;
}
@@ -1689,9 +1717,11 @@ static inline void tx_interrupt(struct cosa_data *cosa, int status)
/* in second pass, accept first ready-to-TX channel */
if (i > cosa->nchannels) {
/* Can be safely ignored */
+#ifdef DEBUG_IRQS
printk(KERN_DEBUG "%s: Forcing TX "
"to not-ready channel %d\n",
cosa->name, cosa->txchan);
+#endif
break;
}
}
diff --git a/drivers/net/wan/cycx_x25.c b/drivers/net/wan/cycx_x25.c
index 7e79943c0..40f76b2a5 100644
--- a/drivers/net/wan/cycx_x25.c
+++ b/drivers/net/wan/cycx_x25.c
@@ -11,6 +11,10 @@
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
* ============================================================================
+* 1999/10/09 acme chan_disc renamed to chan_disconnect,
+* began adding support for X.25 sockets:
+* conf->protocol in new_if
+* 1999/10/05 acme fixed return E... to return -E...
* 1999/08/10 acme serialized access to the card thru a spinlock
* in x25_exec
* 1999/08/09 acme removed per channel spinlocks
@@ -132,16 +136,19 @@ static int x25_configure (cycx_t *card, TX25Config *conf),
x25_connect_response (cycx_t *card, x25_channel_t *chan),
x25_disconnect_response (cycx_t *card, u8 link, u8 lcn);
-/* Miscellaneous functions */
-static int chan_connect (struct net_device *dev),
- chan_send (struct net_device *dev, struct sk_buff *skb);
+/* channel functions */
+int chan_connect (struct net_device *dev),
+ chan_send (struct net_device *dev, struct sk_buff *skb);
+
+static void chan_disconnect (struct net_device *dev);
+/* Miscellaneous functions */
static void set_chan_state (struct net_device *dev, u8 state),
- nibble_to_byte (u8 *s, u8 *d, u8 len, u8 nibble),
- reset_timer (struct net_device *dev),
- chan_disc (struct net_device *dev),
chan_timer (unsigned long d);
+static void nibble_to_byte (u8 *s, u8 *d, u8 len, u8 nibble),
+ reset_timer (struct net_device *dev);
+
static u8 bps_to_speed_code (u32 bps);
static u8 log2 (u32 n);
@@ -334,7 +341,7 @@ static int new_if (wan_device_t *wandev, struct net_device *dev, wanif_conf_t *c
strcpy(chan->name, conf->name);
chan->card = card;
chan->link = conf->port;
- chan->protocol = ETH_P_IP;
+ chan->protocol = conf->protocol ? ETH_P_X25 : ETH_P_IP;
chan->rx_skb = NULL;
/* only used in svc connected thru crossover cable */
chan->local_addr = NULL;
@@ -353,7 +360,7 @@ static int new_if (wan_device_t *wandev, struct net_device *dev, wanif_conf_t *c
if (!chan->local_addr) {
kfree(chan);
- return ENOMEM;
+ return -ENOMEM;
}
}
@@ -505,7 +512,7 @@ static int if_close (struct net_device *dev)
dev->start = 0;
if (chan->state == WAN_CONNECTED || chan->state == WAN_CONNECTING)
- chan_disc(dev);
+ chan_disconnect(dev);
cyclomx_close(card);
return 0;
@@ -763,7 +770,7 @@ static void rx_intr (cycx_t *card, TX25Cmd *cmd)
dev->last_rx = jiffies; /* timestamp */
chan->rx_skb = NULL; /* dequeue packet */
- skb->protocol = htons(ETH_P_IP);
+ skb->protocol = htons(chan->protocol);
skb->dev = dev;
skb->mac.raw = skb->data;
netif_rx(skb);
@@ -799,6 +806,7 @@ static void connect_intr (cycx_t *card, TX25Cmd *cmd)
dprintk(KERN_INFO "connect_intr:lcn=%d, local=%s, remote=%s\n",
lcn, loc, rem);
+
if ((dev = get_dev_by_dte_addr(wandev, rem)) == NULL) {
/* Invalid channel, discard packet */
printk(KERN_INFO "%s: connect not expected: remote %s!\n",
@@ -824,6 +832,7 @@ static void connect_confirm_intr (cycx_t *card, TX25Cmd *cmd)
cycx_peek(&card->hw, cmd->buf + 1, &key, sizeof(key));
dprintk(KERN_INFO "%s: connect_confirm_intr:lcn=%d, key=%d\n",
card->devname, lcn, key);
+
if ((dev = get_dev_by_lcn(wandev, -key)) == NULL) {
/* Invalid channel, discard packet */
clear_bit(--key, (void*)&card->u.x.connection_keys);
@@ -1139,10 +1148,8 @@ static int x25_place_call (cycx_t *card, x25_channel_t *chan)
if ((err = x25_exec(card, X25_CONNECT_REQUEST, chan->link,
&d, 7 + len + 1, NULL, 0)) != 0)
clear_bit(--key, (void*)&card->u.x.connection_keys);
- else {
+ else
chan->lcn = -key;
- chan->protocol = ETH_P_IP;
- }
return err;
}
@@ -1229,7 +1236,7 @@ static struct net_device *get_dev_by_dte_addr (wan_device_t *wandev, char *dte)
* Return: 0 connected
* >0 connection in progress
* <0 failure */
-static int chan_connect (struct net_device *dev)
+int chan_connect (struct net_device *dev)
{
x25_channel_t *chan = dev->priv;
cycx_t *card = chan->card;
@@ -1251,7 +1258,7 @@ static int chan_connect (struct net_device *dev)
/* Disconnect logical channel.
* o if SVC then clear X.25 call */
-static void chan_disc (struct net_device *dev)
+static void chan_disconnect (struct net_device *dev)
{
x25_channel_t *chan = dev->priv;
@@ -1270,7 +1277,7 @@ static void chan_timer (unsigned long d)
switch (chan->state) {
case WAN_CONNECTED:
- chan_disc(dev);
+ chan_disconnect(dev);
break;
default:
printk (KERN_ERR "%s: chan_timer for svc (%s) not "
@@ -1345,7 +1352,7 @@ static void set_chan_state (struct net_device *dev, u8 state)
* the packet into 'complete sequence' using M-bit.
* 2. When transmission is complete, an event notification should be issued
* to the router. */
-static int chan_send (struct net_device *dev, struct sk_buff *skb)
+int chan_send (struct net_device *dev, struct sk_buff *skb)
{
x25_channel_t *chan = dev->priv;
cycx_t *card = chan->card;
@@ -1473,14 +1480,15 @@ static void x25_dump_devs(wan_device_t *wandev)
struct net_device *dev = wandev->dev;
printk (KERN_INFO "x25 dev states\n");
- printk (KERN_INFO "name: addr: tbusy:\n");
- printk (KERN_INFO "----------------------------\n");
+ printk (KERN_INFO "name: addr: tbusy: protocol:\n");
+ printk (KERN_INFO "---------------------------------------\n");
for (; dev; dev = dev->slave) {
x25_channel_t *chan = dev->priv;
- printk (KERN_INFO "%-5.5s %-15.15s %ld\n",
- chan->name, chan->addr, dev->tbusy);
+ printk (KERN_INFO "%-5.5s %-15.15s %ld ETH_P_%s\n",
+ chan->name, chan->addr, dev->tbusy,
+ chan->protocol == ETH_P_IP ? "IP" : "X25");
}
}
diff --git a/drivers/net/wan/sbni.c b/drivers/net/wan/sbni.c
index 9d5fba082..4cf0c05a1 100644
--- a/drivers/net/wan/sbni.c
+++ b/drivers/net/wan/sbni.c
@@ -1280,10 +1280,12 @@ static int sbni_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
return -EPERM;
if(copy_from_user( tmpstr, ifr->ifr_data, 6))
return -EFAULT;
- slave=dev_get(tmpstr);
+ slave = dev_get_by_name(tmpstr);
if(!(slave && slave->flags & IFF_UP && dev->flags & IFF_UP))
{
printk("%s: Both devices should be UP to enslave!\n",dev->name);
+ if (slave)
+ dev_put(slave);
return -EINVAL;
}
@@ -1304,8 +1306,9 @@ static int sbni_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
else
{
printk("%s: one of devices is already slave!\n",dev->name);
- return -EBUSY;
+ error = -EBUSY;
}
+ dev_put(slave);
}
else
{
@@ -1359,7 +1362,7 @@ static int sbni_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
unsigned long calc_crc(char *mem, int len, unsigned initial)
{
-
+ unsigned crc, dummy_len;
__asm__ (
"xorl %%eax,%%eax\n\t"
"1:\n\t"
@@ -1367,13 +1370,12 @@ unsigned long calc_crc(char *mem, int len, unsigned initial)
"xorb %%dl,%%al\n\t"
"shrl $8,%%edx\n\t"
"xorl (%%edi,%%eax,4),%%edx\n\t"
- "loop 1b\n\t"
- "movl %%edx,%%eax"
- :
- : "S" (mem), "D" (&crc32tab[0]), "c" (len), "d" (initial)
- : "eax", "edx", "ecx"
+ "loop 1b"
+ : "=d" (crc), "=c" (dummy_len)
+ : "S" (mem), "D" (&crc32tab[0]), "1" (len), "0" (initial)
+ : "eax"
);
- /* return crc; */
+ return crc;
}
#else