linux-mips
[Top] [All Lists]

[PATCH 5/5] netdev/phy: Add driver for Cortina cs4321 quad 10G PHY.

To: devicetree-discuss@lists.ozlabs.org, Grant Likely <grant.likely@secretlab.ca>, Rob Herring <rob.herring@calxeda.com>, "David S. Miller" <davem@davemloft.net>, netdev@vger.kernel.org
Subject: [PATCH 5/5] netdev/phy: Add driver for Cortina cs4321 quad 10G PHY.
From: David Daney <ddaney.cavm@gmail.com>
Date: Tue, 22 May 2012 10:59:52 -0700
Cc: linux-kernel@vger.kernel.org, linux-mips@linux-mips.org, Andy Fleming <afleming@freescale.com>, David Daney <david.daney@cavium.com>
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; bh=Z/fUM0Ohswym2gLNt9QhiPKrWzxYQL6DWf6R63V92vQ=; b=NZZCi7pnsf8VPRLQVhY+nQp1GqVwwEeas9m9Rfa0EvECqVGC0whya6re7EFWCC5bUi Lrt8NkHOb5s46exWdItlOnoulPTG8Up4XSaCrzYqg7icr5zLCr9ROpMuGL3VFYTHCmKh dmi3v6pzfuQHr7YRllw9INyOK8iP8P8c3mgtBZw496qx8CME1uh0vSCULB1b0L0YxmqF EH/aaYxofHIV/T2vwIWmKe5L+jS/Nh84oryIQ8Hn3h8giQWJl49o4KcFPiOFJb3m2rLT dKeRHLA9McaeALi5SA5KQAVNW1Jw7tdO+wQ3QjLcLkLd+Ws7u70BKcv42Z6kiRex1kvp ZO4g==
In-reply-to: <1337709592-23347-1-git-send-email-ddaney.cavm@gmail.com>
References: <1337709592-23347-1-git-send-email-ddaney.cavm@gmail.com>
Sender: linux-mips-bounce@linux-mips.org
From: David Daney <david.daney@cavium.com>

These phys do *not* implement the standard IEEE 802.3 clause 45
registers.  PHY to driver matching is done with OF compatible
properties.

Signed-off-by: David Daney <david.daney@cavium.com>
---
 .../devicetree/bindings/net/cortina-cs4321.txt     |   27 +
 drivers/net/phy/Kconfig                            |    6 +
 drivers/net/phy/Makefile                           |    1 +
 drivers/net/phy/cs4321-ucode.h                     | 4378 ++++++++++++++++++++
 drivers/net/phy/cs4321.c                           | 1147 +++++
 5 files changed, 5559 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/cortina-cs4321.txt
 create mode 100644 drivers/net/phy/cs4321-ucode.h
 create mode 100644 drivers/net/phy/cs4321.c

diff --git a/Documentation/devicetree/bindings/net/cortina-cs4321.txt 
b/Documentation/devicetree/bindings/net/cortina-cs4321.txt
new file mode 100644
index 0000000..a1b6f48
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/cortina-cs4321.txt
@@ -0,0 +1,27 @@
+Cortina CS4321 dual RXAIU/quad XAUI 10G Ethernet PHYs.  Each PHY
+within the package is mostly independent and has the following
+properties.  These phys do *not* implement the standard IEEE 802.3
+clause 45 registers.
+
+Required Properties:
+
+- compatible : "cortina,cs4321" or "cortina,cs4318".
+- reg : The address on the system management bus (MDIO/I2C/SPI address)
+- cortina,host-mode : Either "rxaui" or "xaui", the protocol used to
+  communicate with the Ethernet MAC.
+
+Optional Properties:
+
+- interrupts : One set of cells (per the interrupt-parent) for the
+  interrupt line.
+- interrupt-parent : Standard interrupt-parent property for the interrupt.
+
+Example:
+
+       phy0: ethernet-phy@4 {
+               reg = <0x04>;
+               compatible = "cortina,cs4318";
+               interrupt-parent = <&gpio>;
+               interrupts = <11 8>; /* Pin 11, active low */
+               cortina,host-mode = "rxaui";
+       };
diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
index 9e36c8f..1d977f9 100644
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -72,6 +72,12 @@ config BCM87XX_PHY
        help
          Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
 
+config CS4318_PHY
+       tristate "Driver for Cortina cs4318 quad-10G Ethernet PHY"
+       help
+         Currently supports only the Cortina cs4318 PHY.  This may be
+         configured as either a quad-RXAUI or dual-XAUI device.
+
 config ICPLUS_PHY
        tristate "Drivers for ICPlus PHYs"
        ---help---
diff --git a/drivers/net/phy/Makefile b/drivers/net/phy/Makefile
index 6d2dc6c..c99f64c 100644
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
@@ -13,6 +13,7 @@ obj-$(CONFIG_VITESSE_PHY)     += vitesse.o
 obj-$(CONFIG_BROADCOM_PHY)     += broadcom.o
 obj-$(CONFIG_BCM63XX_PHY)      += bcm63xx.o
 obj-$(CONFIG_BCM87XX_PHY)      += bcm87xx.o
+obj-$(CONFIG_CS4318_PHY)       += cs4321.o
 obj-$(CONFIG_ICPLUS_PHY)       += icplus.o
 obj-$(CONFIG_REALTEK_PHY)      += realtek.o
 obj-$(CONFIG_LSI_ET1011C_PHY)  += et1011c.o
diff --git a/drivers/net/phy/cs4321-ucode.h b/drivers/net/phy/cs4321-ucode.h
new file mode 100644
index 0000000..98f05ac
--- /dev/null
+++ b/drivers/net/phy/cs4321-ucode.h
@@ -0,0 +1,4378 @@
+/*
+ *    Copyright (C) 2011 by Cortina Systems, Inc.
+ *
+ *    This program is free software; you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation; either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    This program is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ */
+
+/*
+ * The following arrays contain the microcode data to download to the
+ * device.
+ */
+static u16 cs4321_microcode_prolog[] = {
+       /* Addr, Data */
+       0x001c, 0x0001,
+       0x0020, 0x8004,
+       0x0240, 0x0008,
+       0x024f, 0x0000
+};
+
+/*
+ * Each slice is written:
+ *      0x024f, slice_number
+ *   for each element in slice:
+ *      0x0201, first_value
+ *      0x0202, second_value
+ *      0x0200, element index + 0x9000
+ */
+static u16 cs4321_microcode_slices[8][512 * 2] = {{
+       0x009a, 0xb616,
+       0x0060, 0x01e6,
+       0x0088, 0xbf02,
+       0x0000, 0x0000,
+       0x0083, 0xc184,
+       0x0003, 0xc084,
+       0x0083, 0x4f4b,
+       0x0003, 0x4190,
+       0x0003, 0x4f83,
+       0x0083, 0x408e,
+       0x0083, 0xe0db,
+       0x0083, 0xc0ec,
+       0x0003, 0xc0eb,
+       0x0003, 0xc0ee,
+       0x0083, 0xc0ea,
+       0x0003, 0xc696,
+       0x0004, 0xed04,
+       0x0083, 0xc0bf,
+       0x001a, 0x3501,
+       0x0060, 0x01e6,
+       0x0083, 0xc086,
+       0x001a, 0xb701,
+       0x0060, 0x01e6,
+       0x00ba, 0x0020,
+       0x009b, 0x03bf,
+       0x0020, 0x001f,
+       0x0083, 0xc0bf,
+       0x001a, 0x3703,
+       0x0060, 0x01e6,
+       0x0003, 0xc2bf,
+       0x0060, 0x01e6,
+       0x008a, 0xde02,
+       0x0080, 0x0023,
+       0x008e, 0x8502,
+       0x0080, 0x0015,
+       0x0018, 0x9300,
+       0x0003, 0x0393,
+       0x001b, 0x4f80,
+       0x0083, 0x0380,
+       0x0083, 0xd497,
+       0x0083, 0xd498,
+       0x0003, 0xd499,
+       0x0083, 0xc0b9,
+       0x0083, 0xc7ff,
+       0x0003, 0xc082,
+       0x0024, 0x8508,
+       0x001b, 0x57ba,
+       0x0097, 0x5703,
+       0x00a0, 0x0035,
+       0x000f, 0x8585,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0x49b8,
+       0x0083, 0xc052,
+       0x0098, 0x5200,
+       0x0083, 0x0352,
+       0x0099, 0xb853,
+       0x0003, 0x03b8,
+       0x0083, 0xd497,
+       0x0083, 0xd498,
+       0x0003, 0xd499,
+       0x00a4, 0x8505,
+       0x001b, 0x57ba,
+       0x0097, 0x5703,
+       0x0020, 0x0043,
+       0x008f, 0x8587,
+       0x0003, 0xc082,
+       0x0003, 0xd689,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xc182,
+       0x009a, 0x0104,
+       0x0083, 0x03b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0093, 0x0000,
+       0x001f, 0x8761,
+       0x0003, 0x03f6,
+       0x001a, 0x0160,
+       0x001e, 0x03f6,
+       0x0003, 0x03f6,
+       0x0017, 0xd103,
+       0x0041, 0x0056,
+       0x0083, 0xd1fb,
+       0x0080, 0x005d,
+       0x001a, 0x0094,
+       0x0017, 0xf603,
+       0x0041, 0x005c,
+       0x001a, 0x0094,
+       0x0083, 0x03fb,
+       0x0080, 0x005d,
+       0x0083, 0xf6fb,
+       0x0003, 0xc0e4,
+       0x0018, 0xe400,
+       0x0003, 0x03e4,
+       0x0003, 0xd299,
+       0x0083, 0xd298,
+       0x0083, 0xd297,
+       0x0083, 0xcbf9,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xc1b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xcff9,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xc2b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd5b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xcef9,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x001f, 0xc20f,
+       0x009e, 0xd303,
+       0x0083, 0x0397,
+       0x0003, 0xd398,
+       0x0083, 0xd399,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x009f, 0xe40f,
+       0x0017, 0xd703,
+       0x00c1, 0x005e,
+       0x0083, 0xd297,
+       0x0083, 0xd298,
+       0x0003, 0xd299,
+       0x008b, 0x8515,
+       0x0083, 0x5089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x000b, 0x8511,
+       0x0083, 0x5089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x008b, 0x850d,
+       0x0083, 0x5089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0004, 0xb609,
+       0x008b, 0x8508,
+       0x001a, 0x001c,
+       0x0097, 0x03b6,
+       0x0041, 0x00a6,
+       0x0097, 0xb64b,
+       0x0041, 0x00a6,
+       0x0083, 0xb64b,
+       0x0083, 0xb84c,
+       0x001a, 0x000b,
+       0x0097, 0x5203,
+       0x00a1, 0x0037,
+       0x0083, 0x4cb8,
+       0x0083, 0xd497,
+       0x0083, 0xd498,
+       0x0003, 0xd499,
+       0x00a4, 0x8505,
+       0x001b, 0x57ba,
+       0x0097, 0x5703,
+       0x00a0, 0x00b2,
+       0x008f, 0x8584,
+       0x0003, 0xc082,
+       0x0003, 0xd689,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xc182,
+       0x001f, 0xc20f,
+       0x009e, 0xd303,
+       0x0083, 0x0397,
+       0x0003, 0xd398,
+       0x0083, 0xd399,
+       0x0083, 0xd297,
+       0x0083, 0xd298,
+       0x0003, 0xd299,
+       0x001b, 0x57ba,
+       0x0083, 0x03b9,
+       0x009f, 0xd20f,
+       0x0091, 0x0380,
+       0x0083, 0x0380,
+       0x001a, 0xb701,
+       0x0060, 0x01e6,
+       0x00ba, 0x0020,
+       0x009b, 0x03bf,
+       0x0020, 0x00ce,
+       0x0083, 0xc0bf,
+       0x001a, 0x3703,
+       0x0060, 0x01e6,
+       0x0003, 0xc2bf,
+       0x0060, 0x01e6,
+       0x009b, 0x57a3,
+       0x0060, 0x01dc,
+       0x0083, 0x03ef,
+       0x009b, 0x57a0,
+       0x0060, 0x01dc,
+       0x0083, 0x03dc,
+       0x0018, 0xee00,
+       0x0003, 0x03ee,
+       0x0017, 0x59ee,
+       0x0041, 0x011f,
+       0x0003, 0xc0ee,
+       0x0084, 0xed0f,
+       0x009a, 0x8086,
+       0x0083, 0x03bf,
+       0x009a, 0x3408,
+       0x0060, 0x01e6,
+       0x001a, 0xb40b,
+       0x0060, 0x01e6,
+       0x0097, 0xbf60,
+       0x0020, 0x00e5,
+       0x0083, 0xbf60,
+       0x0003, 0xc1bf,
+       0x0080, 0x00e6,
+       0x0083, 0xc0bf,
+       0x001a, 0x3501,
+       0x0060, 0x01e6,
+       0x0093, 0x0000,
+       0x001f, 0x8761,
+       0x0003, 0x03f6,
+       0x001a, 0x0160,
+       0x001e, 0x03f6,
+       0x0003, 0x03f6,
+       0x0017, 0xd103,
+       0x00c1, 0x00f2,
+       0x0083, 0xd1fb,
+       0x0000, 0x00f9,
+       0x001a, 0x0094,
+       0x0017, 0xf603,
+       0x00c1, 0x00f8,
+       0x001a, 0x0094,
+       0x0083, 0x03fb,
+       0x0000, 0x00f9,
+       0x0083, 0xf6fb,
+       0x009b, 0xa155,
+       0x0003, 0x03e2,
+       0x009a, 0x0055,
+       0x0017, 0xe203,
+       0x00c1, 0x0103,
+       0x0084, 0xb90b,
+       0x001f, 0xc10f,
+       0x009e, 0xb903,
+       0x0083, 0x03b9,
+       0x0080, 0x0109,
+       0x0097, 0x54e2,
+       0x00c1, 0x0109,
+       0x0017, 0xb957,
+       0x0020, 0x0109,
+       0x0098, 0xb900,
+       0x0083, 0x03b9,
+       0x009e, 0x55c4,
+       0x0097, 0xb903,
+       0x00c1, 0x0114,
+       0x0004, 0xff13,
+       0x009f, 0xff0f,
+       0x009e, 0x03c1,
+       0x0003, 0x03ff,
+       0x001f, 0xb90f,
+       0x0019, 0x03c8,
+       0x0083, 0x03b9,
+       0x0000, 0x011f,
+       0x0099, 0xcc55,
+       0x0097, 0x03b9,
+       0x0041, 0x011f,
+       0x009f, 0xff0f,
+       0x0097, 0x03c7,
+       0x0041, 0x011f,
+       0x0018, 0xff00,
+       0x0003, 0x03ff,
+       0x001f, 0xb90f,
+       0x009e, 0x03c8,
+       0x0083, 0x03b9,
+       0x0085, 0xeb07,
+       0x0003, 0xc145,
+       0x0098, 0xea00,
+       0x0083, 0x03ea,
+       0x0097, 0x48ea,
+       0x0041, 0x0134,
+       0x0083, 0xc1eb,
+       0x008f, 0xdc0a,
+       0x001b, 0xa055,
+       0x0017, 0xc903,
+       0x00c1, 0x012d,
+       0x0083, 0xc045,
+       0x0083, 0xc242,
+       0x0000, 0x0134,
+       0x0003, 0xc245,
+       0x0003, 0xc042,
+       0x0000, 0x0134,
+       0x001b, 0xa055,
+       0x0097, 0xc103,
+       0x00c1, 0x012d,
+       0x0000, 0x012a,
+       0x001b, 0xa355,
+       0x0017, 0xcc03,
+       0x00c1, 0x013c,
+       0x001f, 0xc80f,
+       0x009e, 0xd303,
+       0x0003, 0x0344,
+       0x0003, 0xc843,
+       0x0000, 0x0145,
+       0x008f, 0xef06,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xd344,
+       0x0083, 0xc043,
+       0x0000, 0x0145,
+       0x0017, 0xc503,
+       0x00c1, 0x013f,
+       0x0000, 0x0137,
+       0x009b, 0xa155,
+       0x0003, 0x03e2,
+       0x001a, 0x0040,
+       0x0017, 0xe203,
+       0x0041, 0x0152,
+       0x0083, 0xc296,
+       0x009f, 0xd20f,
+       0x0019, 0xc103,
+       0x0083, 0x0398,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xd298,
+       0x0003, 0xc696,
+       0x009b, 0xa755,
+       0x0017, 0x5a03,
+       0x00c1, 0x015c,
+       0x009a, 0x000a,
+       0x009e, 0xd303,
+       0x0083, 0x0346,
+       0x009a, 0x000a,
+       0x0003, 0x0347,
+       0x0000, 0x0164,
+       0x000f, 0xa704,
+       0x0003, 0xd346,
+       0x0003, 0xc047,
+       0x0000, 0x0164,
+       0x009b, 0xa755,
+       0x0097, 0xc203,
+       0x0041, 0x015d,
+       0x0080, 0x0156,
+       0x009f, 0xd20f,
+       0x0011, 0x0344,
+       0x0083, 0x0398,
+       0x009f, 0xd20f,
+       0x0091, 0x0345,
+       0x0083, 0x0397,
+       0x009f, 0xd20f,
+       0x0091, 0x0346,
+       0x0003, 0x0399,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd299,
+       0x0083, 0xd298,
+       0x0083, 0xd297,
+       0x0088, 0xde22,
+       0x001a, 0x000d,
+       0x009e, 0x8303,
+       0x0083, 0x0383,
+       0x0003, 0xcc4b,
+       0x009c, 0x58e5,
+       0x0003, 0x034d,
+       0x009e, 0x834b,
+       0x0083, 0x0383,
+       0x001c, 0x4bc1,
+       0x0003, 0x034b,
+       0x0017, 0x4b4d,
+       0x0020, 0x0184,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0000, 0x017a,
+       0x0083, 0x5089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0091, 0x834b,
+       0x0083, 0x0383,
+       0x009d, 0x4bc1,
+       0x0003, 0x034b,
+       0x0017, 0x4bc9,
+       0x00a0, 0x0191,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0080, 0x0187,
+       0x001a, 0x001f,
+       0x0091, 0x8303,
+       0x0083, 0x0383,
+       0x0000, 0x0198,
+       0x0083, 0x5089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0080, 0x019a,
+       0x0000, 0x0006,
+       0x0091, 0x40ca,
+       0x0011, 0x5c03,
+       0x0003, 0x038e,
+       0x001e, 0x41c5,
+       0x001e, 0x0348,
+       0x0003, 0x0390,
+       0x001f, 0xc80f,
+       0x0091, 0x0351,
+       0x0083, 0x0391,
+       0x0083, 0x0392,
+       0x009f, 0xd20f,
+       0x0091, 0x0343,
+       0x0083, 0x0398,
+       0x009f, 0xd20f,
+       0x0011, 0x0342,
+       0x0083, 0x0397,
+       0x009f, 0xd20f,
+       0x0011, 0x0347,
+       0x0003, 0x0399,
+       0x0083, 0xcbf9,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xc1b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xd297,
+       0x0083, 0xd298,
+       0x0003, 0xd299,
+       0x0083, 0x408e,
+       0x0003, 0x4190,
+       0x009f, 0xc50f,
+       0x0099, 0x03c9,
+       0x0091, 0x0351,
+       0x0083, 0x0391,
+       0x0083, 0x0392,
+       0x0003, 0xcff9,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xc2b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd5b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xcef9,
+       0x0098, 0xec00,
+       0x0083, 0x03ec,
+       0x009a, 0x0050,
+       0x0097, 0x03ec,
+       0x00c1, 0x01d8,
+       0x0003, 0x5886,
+       0x0003, 0xc0db,
+       0x008b, 0x85bf,
+       0x0080, 0x00c4,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x00ae, 0x8005,
+       0x000f, 0x0303,
+       0x001e, 0x035f,
+       0x00e1, 0x0000,
+       0x0099, 0x5f03,
+       0x00e1, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0x03be,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x002f, 0xbf00,
+       0x00aa, 0xbf85,
+       0x00e1, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+}, {
+       0x009a, 0xb616,
+       0x0009, 0xbf02,
+       0x0000, 0x0000,
+       0x0083, 0xc184,
+       0x0003, 0xc084,
+       0x0083, 0x4f4b,
+       0x0083, 0x408e,
+       0x0003, 0x4f83,
+       0x0003, 0x4190,
+       0x0083, 0xe0db,
+       0x0083, 0xc0ec,
+       0x0004, 0xed04,
+       0x0083, 0xc0bf,
+       0x001a, 0x3501,
+       0x00e0, 0x01a5,
+       0x0083, 0xc086,
+       0x001a, 0xb701,
+       0x00e0, 0x01a5,
+       0x00ba, 0x0020,
+       0x009b, 0x03bf,
+       0x0020, 0x001a,
+       0x0083, 0xc0bf,
+       0x001a, 0x3703,
+       0x00e0, 0x01a5,
+       0x0003, 0xc2bf,
+       0x00e0, 0x01a5,
+       0x008a, 0xde02,
+       0x0000, 0x001e,
+       0x008e, 0x8502,
+       0x0080, 0x0010,
+       0x0018, 0x9300,
+       0x0003, 0x0393,
+       0x001b, 0x4f80,
+       0x0083, 0x0380,
+       0x0083, 0xd497,
+       0x0083, 0xd498,
+       0x0003, 0xd499,
+       0x0083, 0xc0b9,
+       0x0083, 0xc7ff,
+       0x0003, 0xc082,
+       0x0024, 0x8508,
+       0x001b, 0x57ba,
+       0x0097, 0x5703,
+       0x00a0, 0x0030,
+       0x000c, 0x8585,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0x49b8,
+       0x0083, 0xc052,
+       0x0098, 0x5200,
+       0x0083, 0x0352,
+       0x0099, 0xb853,
+       0x0003, 0x03b8,
+       0x0083, 0xd497,
+       0x0083, 0xd498,
+       0x0003, 0xd499,
+       0x00a4, 0x8505,
+       0x001b, 0x57ba,
+       0x0097, 0x5703,
+       0x0020, 0x003e,
+       0x008f, 0x8587,
+       0x0003, 0xc082,
+       0x0003, 0xd689,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xc182,
+       0x009a, 0x0104,
+       0x0083, 0x03b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0060, 0x01ae,
+       0x0003, 0xc0e4,
+       0x0018, 0xe400,
+       0x0003, 0x03e4,
+       0x0003, 0xd299,
+       0x0083, 0xd298,
+       0x0083, 0xd297,
+       0x0060, 0x01c2,
+       0x00e0, 0x01cf,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x001f, 0xc20f,
+       0x009e, 0xd303,
+       0x0083, 0x0397,
+       0x0003, 0xd398,
+       0x0083, 0xd399,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x009f, 0xe40f,
+       0x0017, 0xd703,
+       0x00c1, 0x0049,
+       0x0083, 0xd297,
+       0x0083, 0xd298,
+       0x0003, 0xd299,
+       0x008b, 0x8515,
+       0x0083, 0x5089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x000b, 0x8511,
+       0x0083, 0x5089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x008b, 0x850d,
+       0x0083, 0x5089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0004, 0xb609,
+       0x008b, 0x8508,
+       0x001a, 0x001c,
+       0x0097, 0x03b6,
+       0x0041, 0x0077,
+       0x0097, 0xb64b,
+       0x0041, 0x0077,
+       0x0083, 0xb64b,
+       0x0083, 0xb84c,
+       0x001a, 0x000b,
+       0x0097, 0x5203,
+       0x00a1, 0x0032,
+       0x0011, 0x4c51,
+       0x0003, 0x03b8,
+       0x0083, 0xd497,
+       0x0083, 0xd498,
+       0x0003, 0xd499,
+       0x00a4, 0x8505,
+       0x001b, 0x57ba,
+       0x0097, 0x5703,
+       0x00a0, 0x0084,
+       0x008f, 0x8584,
+       0x0003, 0xc082,
+       0x0003, 0xd689,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xc182,
+       0x001f, 0xc20f,
+       0x009e, 0xd303,
+       0x0083, 0x0397,
+       0x0003, 0xd398,
+       0x0083, 0xd399,
+       0x0083, 0xd297,
+       0x0083, 0xd298,
+       0x0003, 0xd299,
+       0x001b, 0x57ba,
+       0x0083, 0x03b9,
+       0x009f, 0xd20f,
+       0x0091, 0x0380,
+       0x0083, 0x0380,
+       0x001a, 0xb701,
+       0x00e0, 0x01a5,
+       0x00ba, 0x0020,
+       0x009b, 0x03bf,
+       0x00a0, 0x00a0,
+       0x0083, 0xc0bf,
+       0x001a, 0x3703,
+       0x00e0, 0x01a5,
+       0x0003, 0xc2bf,
+       0x00e0, 0x01a5,
+       0x001b, 0x57a1,
+       0x00e0, 0x01e2,
+       0x0083, 0x03f2,
+       0x009b, 0x57a0,
+       0x00e0, 0x01e2,
+       0x0083, 0x03dc,
+       0x0083, 0x4a9c,
+       0x0098, 0xea00,
+       0x0083, 0x03ea,
+       0x001f, 0xce0f,
+       0x0097, 0x03ea,
+       0x00c1, 0x00e6,
+       0x0084, 0xed0f,
+       0x009a, 0x8086,
+       0x0083, 0x03bf,
+       0x009a, 0x3408,
+       0x00e0, 0x01a5,
+       0x001a, 0xb40b,
+       0x00e0, 0x01a5,
+       0x0097, 0xbf60,
+       0x00a0, 0x00b8,
+       0x0083, 0xbf60,
+       0x0003, 0xc1bf,
+       0x0080, 0x00b9,
+       0x0083, 0xc0bf,
+       0x001a, 0x3501,
+       0x00e0, 0x01a5,
+       0x0060, 0x01ae,
+       0x009b, 0xa155,
+       0x0042, 0x0000,
+       0x0083, 0x03ea,
+       0x009f, 0xc90f,
+       0x0097, 0xea03,
+       0x00c1, 0x00c7,
+       0x009f, 0xc90f,
+       0x001e, 0x03c6,
+       0x0097, 0x03ea,
+       0x00c1, 0x00ce,
+       0x0080, 0x00d5,
+       0x009f, 0xfa0f,
+       0x0097, 0x03cd,
+       0x0020, 0x00d5,
+       0x0041, 0x00d2,
+       0x0018, 0xfa00,
+       0x0003, 0x03fa,
+       0x0080, 0x00d5,
+       0x009f, 0xfa0f,
+       0x0017, 0xc003,
+       0x0020, 0x00d5,
+       0x00c1, 0x00cb,
+       0x009f, 0xfa0f,
+       0x009e, 0x03c1,
+       0x0003, 0x03fa,
+       0x0083, 0xc0ea,
+       0x001b, 0xa355,
+       0x0003, 0x03e2,
+       0x009e, 0x54c9,
+       0x0017, 0xe203,
+       0x00c1, 0x00e0,
+       0x0084, 0xb90b,
+       0x001f, 0xc10f,
+       0x009e, 0xb903,
+       0x0083, 0x03b9,
+       0x0080, 0x00e6,
+       0x0097, 0x54e2,
+       0x00c1, 0x00e6,
+       0x0017, 0xb957,
+       0x0020, 0x00e6,
+       0x0098, 0xb900,
+       0x0083, 0x03b9,
+       0x009e, 0x55c4,
+       0x0097, 0xb903,
+       0x00c1, 0x00f1,
+       0x0004, 0xff13,
+       0x009f, 0xff0f,
+       0x009e, 0x03c1,
+       0x0003, 0x03ff,
+       0x001f, 0xb90f,
+       0x0019, 0x03c8,
+       0x0083, 0x03b9,
+       0x0000, 0x00fc,
+       0x0099, 0xcc55,
+       0x0097, 0x03b9,
+       0x0041, 0x00fc,
+       0x009f, 0xff0f,
+       0x0097, 0x03c7,
+       0x0041, 0x00fc,
+       0x0018, 0xff00,
+       0x0003, 0x03ff,
+       0x001f, 0xb90f,
+       0x009e, 0x03c8,
+       0x0083, 0x03b9,
+       0x008f, 0xf20c,
+       0x009b, 0xa155,
+       0x0097, 0x5d03,
+       0x00c1, 0x0105,
+       0x001f, 0xc20f,
+       0x009e, 0xd303,
+       0x0003, 0x0344,
+       0x0003, 0xc243,
+       0x0080, 0x010c,
+       0x0083, 0xd344,
+       0x0083, 0xc043,
+       0x0080, 0x010c,
+       0x009b, 0xa155,
+       0x0097, 0xc103,
+       0x00c1, 0x0105,
+       0x0080, 0x0100,
+       0x001b, 0xa055,
+       0x0097, 0xc803,
+       0x00c1, 0x0114,
+       0x001f, 0xc20f,
+       0x009e, 0xd303,
+       0x0083, 0x0345,
+       0x0083, 0xc242,
+       0x0000, 0x0120,
+       0x0003, 0xd345,
+       0x0003, 0xc042,
+       0x008f, 0xdc0a,
+       0x0097, 0xc103,
+       0x0041, 0x0120,
+       0x001b, 0xa055,
+       0x0017, 0xc003,
+       0x0041, 0x0120,
+       0x001f, 0xc20f,
+       0x009e, 0xd303,
+       0x0083, 0x0345,
+       0x0083, 0xc242,
+       0x0003, 0xd346,
+       0x0003, 0xc047,
+       0x008f, 0xa70a,
+       0x009b, 0xa755,
+       0x0097, 0xce03,
+       0x00c1, 0x012b,
+       0x001e, 0x46c8,
+       0x0083, 0x0346,
+       0x0091, 0x47c8,
+       0x0003, 0x0347,
+       0x0080, 0x0130,
+       0x0080, 0x0130,
+       0x009b, 0xa755,
+       0x0097, 0xc103,
+       0x00c1, 0x012b,
+       0x0000, 0x0126,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x000f, 0xa60a,
+       0x001b, 0xa655,
+       0x0097, 0xce03,
+       0x0041, 0x013b,
+       0x001e, 0x46c2,
+       0x0083, 0x0346,
+       0x0091, 0x47c2,
+       0x0003, 0x0347,
+       0x0000, 0x0140,
+       0x0000, 0x0140,
+       0x001b, 0xa655,
+       0x0097, 0xc103,
+       0x0041, 0x013b,
+       0x0080, 0x0136,
+       0x009f, 0xd20f,
+       0x0091, 0x0345,
+       0x0083, 0x0397,
+       0x009f, 0xd20f,
+       0x0011, 0x0344,
+       0x0083, 0x0398,
+       0x009f, 0xd20f,
+       0x0091, 0x0346,
+       0x0003, 0x0399,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd299,
+       0x0083, 0xd298,
+       0x0083, 0xd297,
+       0x0088, 0xde1e,
+       0x001f, 0xcd0f,
+       0x009e, 0x8303,
+       0x0083, 0x0383,
+       0x0003, 0xcc4b,
+       0x009c, 0x58c8,
+       0x0003, 0x034d,
+       0x009e, 0x834b,
+       0x0083, 0x0383,
+       0x001c, 0x4bc1,
+       0x0003, 0x034b,
+       0x0017, 0x4b4d,
+       0x0020, 0x0160,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0080, 0x0156,
+       0x0083, 0x5089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0091, 0x834b,
+       0x0083, 0x0383,
+       0x009d, 0x4bc1,
+       0x0003, 0x034b,
+       0x0017, 0x4bc9,
+       0x00a0, 0x016d,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0080, 0x0163,
+       0x0003, 0x4f83,
+       0x0091, 0x40ca,
+       0x0011, 0x5c03,
+       0x0003, 0x038e,
+       0x001e, 0x41c5,
+       0x001e, 0x0348,
+       0x0003, 0x0390,
+       0x0091, 0x40ca,
+       0x001e, 0x0348,
+       0x009e, 0x0358,
+       0x0083, 0x038f,
+       0x001f, 0xc80f,
+       0x0091, 0x0351,
+       0x0083, 0x0391,
+       0x0083, 0x0392,
+       0x0080, 0x017e,
+       0x0000, 0x0005,
+       0x009f, 0xd20f,
+       0x0011, 0x0342,
+       0x0083, 0x0397,
+       0x009f, 0xd20f,
+       0x0091, 0x0343,
+       0x0083, 0x0398,
+       0x009f, 0xd20f,
+       0x0011, 0x0347,
+       0x0003, 0x0399,
+       0x0060, 0x01c2,
+       0x0083, 0xd297,
+       0x0083, 0xd298,
+       0x0003, 0xd299,
+       0x001e, 0x4058,
+       0x009e, 0x0358,
+       0x0003, 0x038e,
+       0x0003, 0x4190,
+       0x0099, 0x4058,
+       0x0083, 0x038f,
+       0x001a, 0x0025,
+       0x0091, 0x0351,
+       0x0083, 0x0391,
+       0x0083, 0x0392,
+       0x00e0, 0x01cf,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0098, 0xec00,
+       0x0083, 0x03ec,
+       0x009a, 0x0050,
+       0x0097, 0x03ec,
+       0x00c1, 0x019f,
+       0x0003, 0x5886,
+       0x0003, 0xc0db,
+       0x008b, 0x85a2,
+       0x0000, 0x0096,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0x03be,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x002f, 0xbf00,
+       0x00aa, 0xbf85,
+       0x00e1, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0093, 0x0000,
+       0x001f, 0x8761,
+       0x0003, 0x03f6,
+       0x001a, 0x0160,
+       0x001e, 0x03f6,
+       0x0003, 0x03f6,
+       0x0017, 0xd103,
+       0x00c1, 0x01b8,
+       0x0083, 0xd1fb,
+       0x0000, 0x01bf,
+       0x001a, 0x0094,
+       0x0017, 0xf603,
+       0x00c1, 0x01be,
+       0x001a, 0x0094,
+       0x0083, 0x03fb,
+       0x0000, 0x01bf,
+       0x0083, 0xf6fb,
+       0x00e1, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xcbf9,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xc1b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x00e1, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xcff9,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xc2b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd5b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xcef9,
+       0x00e1, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x00ae, 0x8005,
+       0x000f, 0x0303,
+       0x001e, 0x035f,
+       0x00e1, 0x0000,
+       0x0099, 0x5f03,
+       0x00e1, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+}, {
+       0x009a, 0xb616,
+       0x00e0, 0x01db,
+       0x008b, 0xbf02,
+       0x0000, 0x0000,
+       0x0083, 0xc184,
+       0x0003, 0xc084,
+       0x0004, 0xed04,
+       0x0083, 0xc0bf,
+       0x001a, 0x3501,
+       0x00e0, 0x01db,
+       0x0083, 0x408e,
+       0x0003, 0x4f83,
+       0x0003, 0x4190,
+       0x0083, 0x4f4b,
+       0x0083, 0xe0db,
+       0x0083, 0xc0ec,
+       0x0083, 0xc0ea,
+       0x0083, 0xc086,
+       0x001a, 0xb701,
+       0x00e0, 0x01db,
+       0x00ba, 0x0020,
+       0x009b, 0x03bf,
+       0x0020, 0x001c,
+       0x0083, 0xc0bf,
+       0x001a, 0x3703,
+       0x00e0, 0x01db,
+       0x0003, 0xc2bf,
+       0x00e0, 0x01db,
+       0x008a, 0xde02,
+       0x0080, 0x0020,
+       0x008e, 0x8502,
+       0x0000, 0x0012,
+       0x0083, 0xc44d,
+       0x0018, 0x9300,
+       0x0003, 0x0393,
+       0x001b, 0x4f80,
+       0x0083, 0x0380,
+       0x0083, 0xd497,
+       0x0083, 0xd498,
+       0x0003, 0xd499,
+       0x0083, 0xc0b9,
+       0x0083, 0xc7ff,
+       0x0003, 0xc082,
+       0x0024, 0x8507,
+       0x001b, 0x57ba,
+       0x0097, 0x5703,
+       0x0020, 0x0032,
+       0x000f, 0x8585,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0x49b8,
+       0x0083, 0xc052,
+       0x0003, 0xf3fa,
+       0x0080, 0x003e,
+       0x0018, 0x9600,
+       0x0003, 0x0396,
+       0x0083, 0xf1fa,
+       0x0083, 0xd497,
+       0x0083, 0xd498,
+       0x0003, 0xd499,
+       0x0083, 0x49b8,
+       0x0083, 0xc052,
+       0x0098, 0x5200,
+       0x0083, 0x0352,
+       0x0099, 0xb853,
+       0x0003, 0x03b8,
+       0x0083, 0xd497,
+       0x0083, 0xd498,
+       0x0003, 0xd499,
+       0x00a4, 0x8505,
+       0x001b, 0x57ba,
+       0x0097, 0x5703,
+       0x0020, 0x004a,
+       0x008f, 0x8587,
+       0x0003, 0xc082,
+       0x0003, 0xd689,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xc182,
+       0x009a, 0x0104,
+       0x0083, 0x03b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x00e0, 0x01e4,
+       0x0003, 0xc0e4,
+       0x0018, 0xe400,
+       0x0003, 0x03e4,
+       0x0003, 0xd299,
+       0x0083, 0xd298,
+       0x0083, 0xd297,
+       0x0060, 0x01ba,
+       0x0060, 0x01c8,
+       0x001f, 0xc20f,
+       0x009e, 0xd303,
+       0x0083, 0x0397,
+       0x0003, 0xd398,
+       0x0083, 0xd399,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x009f, 0xe40f,
+       0x0017, 0xd703,
+       0x0041, 0x0055,
+       0x0083, 0xd297,
+       0x0083, 0xd298,
+       0x0003, 0xd299,
+       0x008b, 0x8516,
+       0x0083, 0x5089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x000b, 0x8512,
+       0x0083, 0x5089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x008b, 0x850e,
+       0x0083, 0x5089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0004, 0xb60a,
+       0x000b, 0x8509,
+       0x001a, 0x001c,
+       0x0097, 0x03b6,
+       0x0041, 0x0081,
+       0x0097, 0xb64b,
+       0x0041, 0x0081,
+       0x0083, 0xb64b,
+       0x0083, 0xb84c,
+       0x0003, 0x964d,
+       0x001a, 0x000b,
+       0x0097, 0x5203,
+       0x00a1, 0x003e,
+       0x009f, 0x960f,
+       0x0017, 0x03c5,
+       0x0021, 0x0036,
+       0x0083, 0x4cb8,
+       0x0003, 0x4d96,
+       0x0083, 0xd497,
+       0x0083, 0xd498,
+       0x0003, 0xd499,
+       0x00a4, 0x8505,
+       0x001b, 0x57ba,
+       0x0097, 0x5703,
+       0x0020, 0x0091,
+       0x008f, 0x8584,
+       0x0003, 0xc082,
+       0x0003, 0xd689,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xc182,
+       0x001f, 0xc20f,
+       0x009e, 0xd303,
+       0x0083, 0x0397,
+       0x0003, 0xd398,
+       0x0083, 0xd399,
+       0x0083, 0xd297,
+       0x0083, 0xd298,
+       0x0003, 0xd299,
+       0x001b, 0x57ba,
+       0x0083, 0x03b9,
+       0x009f, 0xd20f,
+       0x0091, 0x0380,
+       0x0083, 0x0380,
+       0x009b, 0x57a3,
+       0x00e0, 0x01b2,
+       0x0083, 0x03ef,
+       0x001b, 0x57a1,
+       0x00e0, 0x01b2,
+       0x0083, 0x03f2,
+       0x009b, 0x57a0,
+       0x00e0, 0x01b2,
+       0x0083, 0x03dc,
+       0x009b, 0x57a5,
+       0x00e0, 0x01b2,
+       0x0083, 0x03f4,
+       0x0083, 0x4a9c,
+       0x0098, 0xea00,
+       0x0083, 0x03ea,
+       0x001f, 0xc80f,
+       0x0097, 0x03ea,
+       0x0041, 0x00f0,
+       0x0084, 0xed0f,
+       0x009a, 0x8086,
+       0x0083, 0x03bf,
+       0x009a, 0x3408,
+       0x00e0, 0x01db,
+       0x001a, 0xb40b,
+       0x00e0, 0x01db,
+       0x0097, 0xbf60,
+       0x0020, 0x00c1,
+       0x0083, 0xbf60,
+       0x0003, 0xc1bf,
+       0x0080, 0x00c2,
+       0x0083, 0xc0bf,
+       0x001a, 0x3501,
+       0x00e0, 0x01db,
+       0x00e0, 0x01e4,
+       0x001b, 0xa555,
+       0x0042, 0x0000,
+       0x0083, 0x03ea,
+       0x009f, 0xc90f,
+       0x0019, 0x03c4,
+       0x0097, 0xea03,
+       0x0041, 0x00d1,
+       0x009f, 0xc90f,
+       0x009e, 0x03c4,
+       0x0097, 0x03ea,
+       0x0041, 0x00d8,
+       0x0080, 0x00df,
+       0x009f, 0xfa0f,
+       0x0097, 0x03f1,
+       0x0020, 0x00df,
+       0x00c1, 0x00dc,
+       0x0018, 0xfa00,
+       0x0003, 0x03fa,
+       0x0080, 0x00df,
+       0x009f, 0xfa0f,
+       0x0017, 0xf303,
+       0x0020, 0x00df,
+       0x00c1, 0x00d5,
+       0x009f, 0xfa0f,
+       0x009e, 0x03c1,
+       0x0003, 0x03fa,
+       0x0083, 0xc0ea,
+       0x001b, 0xa355,
+       0x0003, 0x03e2,
+       0x009e, 0x54c9,
+       0x0017, 0xe203,
+       0x00c1, 0x00ea,
+       0x0084, 0xb90b,
+       0x001f, 0xc10f,
+       0x009e, 0xb903,
+       0x0083, 0x03b9,
+       0x0000, 0x00f0,
+       0x0097, 0x54e2,
+       0x0041, 0x00f0,
+       0x0017, 0xb957,
+       0x00a0, 0x00f0,
+       0x0098, 0xb900,
+       0x0083, 0x03b9,
+       0x009e, 0x55c4,
+       0x0097, 0xb903,
+       0x00c1, 0x00fb,
+       0x0004, 0xff13,
+       0x009f, 0xff0f,
+       0x009e, 0x03c1,
+       0x0003, 0x03ff,
+       0x001f, 0xb90f,
+       0x0019, 0x03c8,
+       0x0083, 0x03b9,
+       0x0080, 0x0106,
+       0x0099, 0xcc55,
+       0x0097, 0x03b9,
+       0x00c1, 0x0106,
+       0x009f, 0xff0f,
+       0x0097, 0x03c7,
+       0x00c1, 0x0106,
+       0x0018, 0xff00,
+       0x0003, 0x03ff,
+       0x001f, 0xb90f,
+       0x009e, 0x03c8,
+       0x0083, 0x03b9,
+       0x000f, 0xf216,
+       0x001b, 0xa555,
+       0x0017, 0x03c9,
+       0x00c1, 0x0111,
+       0x009b, 0xa755,
+       0x0097, 0x03c8,
+       0x00c1, 0x0111,
+       0x009b, 0xa155,
+       0x0017, 0xc903,
+       0x0041, 0x0119,
+       0x0080, 0x0114,
+       0x009b, 0xa155,
+       0x0017, 0x5603,
+       0x0041, 0x0119,
+       0x001f, 0xc20f,
+       0x009e, 0xd303,
+       0x0003, 0x0344,
+       0x0003, 0xc243,
+       0x0000, 0x0120,
+       0x0083, 0xd344,
+       0x0083, 0xc043,
+       0x0000, 0x0120,
+       0x009b, 0xa155,
+       0x0097, 0xc103,
+       0x0041, 0x0119,
+       0x0080, 0x0114,
+       0x008f, 0xf40a,
+       0x001b, 0xa555,
+       0x0097, 0x5403,
+       0x0041, 0x0129,
+       0x001e, 0x44cc,
+       0x0003, 0x0344,
+       0x0091, 0x43cc,
+       0x0083, 0x0343,
+       0x0080, 0x012e,
+       0x0080, 0x012e,
+       0x001b, 0xa555,
+       0x0017, 0xc503,
+       0x0041, 0x0129,
+       0x0080, 0x0124,
+       0x001b, 0xa055,
+       0x0097, 0xc803,
+       0x00c1, 0x0136,
+       0x001f, 0xc20f,
+       0x009e, 0xd303,
+       0x0083, 0x0345,
+       0x0083, 0xc242,
+       0x0080, 0x0142,
+       0x0003, 0xd345,
+       0x0003, 0xc042,
+       0x008f, 0xdc0a,
+       0x0097, 0xc103,
+       0x00c1, 0x0142,
+       0x001b, 0xa055,
+       0x0017, 0xc003,
+       0x00c1, 0x0142,
+       0x001f, 0xc20f,
+       0x009e, 0xd303,
+       0x0083, 0x0345,
+       0x0083, 0xc242,
+       0x0003, 0xd346,
+       0x0003, 0xc047,
+       0x008f, 0xa70a,
+       0x009b, 0xa755,
+       0x0017, 0xc903,
+       0x00c1, 0x014d,
+       0x001e, 0x46c8,
+       0x0083, 0x0346,
+       0x0091, 0x47c8,
+       0x0003, 0x0347,
+       0x0000, 0x0152,
+       0x0000, 0x0152,
+       0x009b, 0xa755,
+       0x0097, 0xc103,
+       0x00c1, 0x014d,
+       0x0080, 0x0148,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0x9e9f,
+       0x009f, 0xd20f,
+       0x0091, 0x0345,
+       0x0083, 0x0397,
+       0x009f, 0xd20f,
+       0x0011, 0x0344,
+       0x0083, 0x0398,
+       0x009f, 0xd20f,
+       0x0091, 0x0346,
+       0x0003, 0x0399,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd299,
+       0x0083, 0xd298,
+       0x0083, 0xd297,
+       0x0088, 0xde24,
+       0x0000, 0x0167,
+       0x0000, 0x0006,
+       0x001a, 0x000d,
+       0x009e, 0x8303,
+       0x0083, 0x0383,
+       0x0003, 0xcc4b,
+       0x009c, 0x58e5,
+       0x0003, 0x034d,
+       0x009e, 0x834b,
+       0x0083, 0x0383,
+       0x001c, 0x4bc1,
+       0x0003, 0x034b,
+       0x0017, 0x4b4d,
+       0x0020, 0x0177,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0000, 0x016d,
+       0x0083, 0x5089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0091, 0x834b,
+       0x0083, 0x0383,
+       0x009d, 0x4bc1,
+       0x0003, 0x034b,
+       0x0017, 0x4bc9,
+       0x0020, 0x0184,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0000, 0x017a,
+       0x001a, 0x001f,
+       0x0091, 0x8303,
+       0x0083, 0x0383,
+       0x0080, 0x018b,
+       0x0083, 0x5089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0091, 0x40ca,
+       0x0011, 0x5c03,
+       0x0003, 0x038e,
+       0x001e, 0x41c5,
+       0x001e, 0x0348,
+       0x0003, 0x0390,
+       0x001f, 0xc80f,
+       0x0091, 0x0351,
+       0x0083, 0x0391,
+       0x0083, 0x0392,
+       0x009f, 0xd20f,
+       0x0011, 0x0342,
+       0x0083, 0x0397,
+       0x009f, 0xd20f,
+       0x0091, 0x0343,
+       0x0083, 0x0398,
+       0x009f, 0xd20f,
+       0x0011, 0x0347,
+       0x0003, 0x0399,
+       0x0060, 0x01ba,
+       0x0083, 0xd297,
+       0x0083, 0xd298,
+       0x0003, 0xd299,
+       0x0083, 0x408e,
+       0x0003, 0x4190,
+       0x001a, 0x0025,
+       0x0091, 0x0351,
+       0x0083, 0x0391,
+       0x0083, 0x0392,
+       0x0060, 0x01c8,
+       0x0098, 0xec00,
+       0x0083, 0x03ec,
+       0x009a, 0x0050,
+       0x0097, 0x03ec,
+       0x0041, 0x01b0,
+       0x0003, 0x5886,
+       0x0003, 0xc0db,
+       0x000b, 0x85ca,
+       0x0000, 0x00a3,
+       0x00ae, 0x8005,
+       0x000f, 0x0303,
+       0x001e, 0x035f,
+       0x00e1, 0x0000,
+       0x0099, 0x5f03,
+       0x00e1, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xcbf9,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xc1b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x00e1, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xcff9,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xc2b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd5b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xcef9,
+       0x00e1, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0x03be,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x002f, 0xbf00,
+       0x00aa, 0xbf85,
+       0x00e1, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0093, 0x0000,
+       0x001f, 0x8761,
+       0x0003, 0x03f6,
+       0x009a, 0x0170,
+       0x001e, 0x03f6,
+       0x0003, 0x03f6,
+       0x0017, 0xd103,
+       0x00c1, 0x01ee,
+       0x0083, 0xd1fb,
+       0x0080, 0x01f5,
+       0x001a, 0x0094,
+       0x0017, 0xf603,
+       0x0041, 0x01f4,
+       0x001a, 0x0094,
+       0x0083, 0x03fb,
+       0x0080, 0x01f5,
+       0x0083, 0xf6fb,
+       0x009a, 0x00e7,
+       0x0017, 0x03f6,
+       0x0041, 0x01fd,
+       0x001a, 0x00ec,
+       0x0017, 0x03f6,
+       0x0041, 0x01fe,
+       0x0003, 0xeb81,
+       0x0000, 0x01fe,
+       0x0003, 0xe781,
+       0x00e1, 0x0000,
+       0x0042, 0x0000,
+}, {
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x009a, 0xb616,
+       0x0003, 0x03be,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x002f, 0xbf00,
+       0x00aa, 0xbf86,
+       0x000a, 0xbf02,
+       0x0080, 0x0007,
+       0x0004, 0xed04,
+       0x0083, 0xc0bf,
+       0x001a, 0x3501,
+       0x0060, 0x0123,
+       0x0083, 0x408e,
+       0x0003, 0x4190,
+       0x0083, 0xc184,
+       0x0083, 0x4f4b,
+       0x0003, 0xccfc,
+       0x0003, 0xc0e1,
+       0x0018, 0x9300,
+       0x0003, 0x0393,
+       0x0003, 0xc084,
+       0x0083, 0xc086,
+       0x0003, 0x4f83,
+       0x0083, 0xe0db,
+       0x001a, 0xb701,
+       0x0060, 0x0123,
+       0x00ba, 0x0020,
+       0x009b, 0x03bf,
+       0x0020, 0x002a,
+       0x0083, 0xc0bf,
+       0x001a, 0x3703,
+       0x0060, 0x0123,
+       0x0003, 0xc2bf,
+       0x0060, 0x0123,
+       0x008a, 0xde02,
+       0x0000, 0x002e,
+       0x008e, 0x8502,
+       0x0080, 0x0020,
+       0x0093, 0x0000,
+       0x001f, 0x8761,
+       0x0003, 0x03f6,
+       0x009a, 0x0170,
+       0x001e, 0x03f6,
+       0x0003, 0x03f6,
+       0x0017, 0xd103,
+       0x00c1, 0x0038,
+       0x0083, 0xd1fb,
+       0x0000, 0x003f,
+       0x001a, 0x0094,
+       0x0017, 0xf603,
+       0x00c1, 0x003e,
+       0x001a, 0x0094,
+       0x0083, 0x03fb,
+       0x0000, 0x003f,
+       0x0083, 0xf6fb,
+       0x0091, 0xc951,
+       0x0083, 0x0391,
+       0x001b, 0x4f80,
+       0x0083, 0x0380,
+       0x0083, 0xd497,
+       0x0083, 0xd498,
+       0x0003, 0xd499,
+       0x0083, 0x49b8,
+       0x0083, 0xc0b9,
+       0x0083, 0xc7ff,
+       0x009f, 0xcc0f,
+       0x0099, 0x03c9,
+       0x0003, 0x039a,
+       0x0003, 0xc096,
+       0x0003, 0xc04d,
+       0x0003, 0xc082,
+       0x0024, 0xde03,
+       0x0042, 0x0000,
+       0x00a4, 0x8581,
+       0x0080, 0x0058,
+       0x0018, 0x9600,
+       0x0003, 0x0396,
+       0x0083, 0xd497,
+       0x0083, 0xd498,
+       0x0003, 0xd499,
+       0x0003, 0xf3fa,
+       0x0008, 0x9302,
+       0x0083, 0xf1fa,
+       0x0011, 0x5149,
+       0x0003, 0x03b8,
+       0x0083, 0xc052,
+       0x009f, 0x960f,
+       0x0017, 0x03c0,
+       0x0021, 0x0065,
+       0x009f, 0xcc0f,
+       0x0099, 0x03c5,
+       0x0003, 0x03fc,
+       0x0080, 0x0076,
+       0x009f, 0x960f,
+       0x0097, 0x03c1,
+       0x0021, 0x006c,
+       0x009f, 0xcc0f,
+       0x0099, 0x03c5,
+       0x0003, 0x03fc,
+       0x0080, 0x0076,
+       0x009f, 0x960f,
+       0x0097, 0x03c2,
+       0x00a1, 0x0073,
+       0x009f, 0xcc0f,
+       0x0019, 0x03c1,
+       0x0003, 0x03fc,
+       0x0080, 0x0076,
+       0x009f, 0xcc0f,
+       0x0019, 0x03c1,
+       0x0003, 0x03fc,
+       0x0098, 0x5200,
+       0x0083, 0x0352,
+       0x0099, 0xb853,
+       0x0003, 0x03b8,
+       0x0083, 0xd497,
+       0x0083, 0xd498,
+       0x0003, 0xd499,
+       0x00a4, 0x8505,
+       0x001b, 0x57ba,
+       0x0097, 0x5703,
+       0x00a0, 0x0082,
+       0x008f, 0x8587,
+       0x0003, 0xc082,
+       0x0003, 0xd689,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xc182,
+       0x009a, 0x0104,
+       0x0083, 0x03b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xc0e4,
+       0x0018, 0xe400,
+       0x0003, 0x03e4,
+       0x0003, 0xd299,
+       0x0083, 0xd298,
+       0x0083, 0xd297,
+       0x0083, 0xcbf9,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xc1b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xcff9,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xc2b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd5b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xcef9,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x001f, 0xc20f,
+       0x009e, 0xd303,
+       0x0083, 0x0397,
+       0x0003, 0xd398,
+       0x0083, 0xd399,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x009f, 0xe40f,
+       0x0017, 0xd703,
+       0x00c1, 0x008c,
+       0x0083, 0xd297,
+       0x0083, 0xd298,
+       0x0003, 0xd299,
+       0x000b, 0x8517,
+       0x0083, 0x5089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x008b, 0x8513,
+       0x0083, 0x5089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x000b, 0x850f,
+       0x0083, 0x5089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0084, 0xb60b,
+       0x000b, 0x850a,
+       0x001a, 0x001c,
+       0x0097, 0x03b6,
+       0x00c1, 0x00d6,
+       0x0097, 0xb64b,
+       0x00c1, 0x00d6,
+       0x0083, 0xb64b,
+       0x0083, 0xb84c,
+       0x0003, 0x964d,
+       0x0003, 0xfc4e,
+       0x0018, 0xe100,
+       0x0003, 0x03e1,
+       0x0003, 0xc0e2,
+       0x001f, 0xc80f,
+       0x0099, 0xc303,
+       0x0097, 0x5203,
+       0x00a1, 0x0076,
+       0x009f, 0x960f,
+       0x0017, 0x03c3,
+       0x0021, 0x0053,
+       0x0003, 0x4d96,
+       0x0011, 0x4c51,
+       0x0003, 0x03b8,
+       0x0003, 0x4efc,
+       0x0083, 0xd497,
+       0x0083, 0xd498,
+       0x0003, 0xd499,
+       0x00a4, 0x8505,
+       0x001b, 0x57ba,
+       0x0097, 0x5703,
+       0x0020, 0x00ec,
+       0x008f, 0x8584,
+       0x0003, 0xc082,
+       0x0003, 0xd689,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xc182,
+       0x001f, 0xc20f,
+       0x009e, 0xd303,
+       0x0083, 0x0397,
+       0x0003, 0xd398,
+       0x0083, 0xd399,
+       0x009a, 0x0104,
+       0x0083, 0x03b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xd297,
+       0x0083, 0xd298,
+       0x0003, 0xd299,
+       0x0011, 0x51ae,
+       0x0083, 0x03ae,
+       0x0083, 0xc086,
+       0x0003, 0xc04d,
+       0x001b, 0x57ba,
+       0x0083, 0x03b9,
+       0x009f, 0xd20f,
+       0x0091, 0x0380,
+       0x0083, 0x0380,
+       0x0003, 0xc0f5,
+       0x0003, 0x554b,
+       0x009a, 0x00b2,
+       0x0017, 0xf603,
+       0x00c1, 0x0112,
+       0x001a, 0x0040,
+       0x0003, 0x03f5,
+       0x0099, 0x034b,
+       0x001c, 0x4bc8,
+       0x001c, 0x03c4,
+       0x0099, 0x0355,
+       0x0000, 0x0115,
+       0x001c, 0x4bc8,
+       0x009c, 0x03c3,
+       0x0099, 0x0355,
+       0x0003, 0x034b,
+       0x009a, 0x0028,
+       0x0003, 0x03e7,
+       0x0003, 0xc99a,
+       0x0083, 0xc55e,
+       0x0083, 0xc0ec,
+       0x0003, 0xc494,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0x03be,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x002f, 0xbf00,
+       0x00aa, 0xbf85,
+       0x00e1, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+}, {
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xc0e8,
+       0x0000, 0x000f,
+       0x00ae, 0x8005,
+       0x000f, 0x0303,
+       0x001e, 0x035f,
+       0x00e1, 0x0000,
+       0x0099, 0x5f03,
+       0x00e1, 0x0000,
+       0x0042, 0x0000,
+       0x00a8, 0xe80d,
+       0x001a, 0xb701,
+       0x00e0, 0x01f0,
+       0x00ba, 0x0020,
+       0x009b, 0x03bf,
+       0x00a0, 0x001b,
+       0x0083, 0xc0bf,
+       0x001a, 0x3703,
+       0x00e0, 0x01f0,
+       0x0003, 0xc2bf,
+       0x00e0, 0x01f0,
+       0x0080, 0x001c,
+       0x0083, 0xc1e8,
+       0x009b, 0x57a3,
+       0x00e0, 0x0008,
+       0x0083, 0x03ef,
+       0x001b, 0x57a2,
+       0x00e0, 0x0008,
+       0x0003, 0x03f0,
+       0x001b, 0x57a1,
+       0x00e0, 0x0008,
+       0x0083, 0x03f2,
+       0x009b, 0x57a0,
+       0x00e0, 0x0008,
+       0x0083, 0x03dc,
+       0x009b, 0x57a5,
+       0x00e0, 0x0008,
+       0x0083, 0x03f4,
+       0x0083, 0x4a9c,
+       0x0098, 0xea00,
+       0x0083, 0x03ea,
+       0x001f, 0xc80f,
+       0x0097, 0x03ea,
+       0x0041, 0x0108,
+       0x0084, 0xed0f,
+       0x009a, 0x8086,
+       0x0083, 0x03bf,
+       0x009a, 0x3408,
+       0x00e0, 0x01f0,
+       0x001a, 0xb40b,
+       0x00e0, 0x01f0,
+       0x0097, 0xbf60,
+       0x0020, 0x003d,
+       0x0083, 0xbf60,
+       0x0003, 0xc1bf,
+       0x0080, 0x003e,
+       0x0083, 0xc0bf,
+       0x001a, 0x3501,
+       0x00e0, 0x01f0,
+       0x0093, 0x0000,
+       0x001f, 0x8761,
+       0x0003, 0x03f6,
+       0x009a, 0x0170,
+       0x001e, 0x03f6,
+       0x0003, 0x03f6,
+       0x0017, 0xd103,
+       0x00c1, 0x004a,
+       0x0083, 0xd1fb,
+       0x0080, 0x0051,
+       0x001a, 0x0094,
+       0x0017, 0xf603,
+       0x0041, 0x0050,
+       0x001a, 0x0094,
+       0x0083, 0x03fb,
+       0x0080, 0x0051,
+       0x0083, 0xf6fb,
+       0x009a, 0x00d4,
+       0x0017, 0x03f6,
+       0x0041, 0x005c,
+       0x001a, 0x00dc,
+       0x0017, 0x03f6,
+       0x0041, 0x005f,
+       0x0083, 0xb1fe,
+       0x0003, 0xcdf1,
+       0x001a, 0x0040,
+       0x0003, 0x03f5,
+       0x0000, 0x005f,
+       0x0083, 0xc3fe,
+       0x0083, 0xebf1,
+       0x0003, 0xc0f5,
+       0x009b, 0xa155,
+       0x0083, 0x03ea,
+       0x009f, 0xc90f,
+       0x0019, 0x03c4,
+       0x0097, 0xea03,
+       0x0041, 0x0093,
+       0x001f, 0xc80f,
+       0x0019, 0x03c2,
+       0x0097, 0xea03,
+       0x00c1, 0x006d,
+       0x000f, 0xa82a,
+       0x009b, 0xa755,
+       0x0097, 0x03c8,
+       0x0041, 0x0074,
+       0x009b, 0xa855,
+       0x0083, 0x03ea,
+       0x008f, 0xa824,
+       0x001f, 0xc80f,
+       0x0099, 0x03c3,
+       0x0097, 0x03ea,
+       0x0041, 0x0093,
+       0x009f, 0xcc0f,
+       0x0019, 0x03c1,
+       0x0017, 0x03fc,
+       0x0041, 0x007b,
+       0x009f, 0xfc0f,
+       0x009e, 0x03c1,
+       0x0003, 0x03fc,
+       0x009b, 0xa855,
+       0x0083, 0x03ea,
+       0x009b, 0xa755,
+       0x0019, 0x03c8,
+       0x0097, 0xea03,
+       0x00c1, 0x00a4,
+       0x009b, 0xa755,
+       0x0017, 0x03c5,
+       0x0041, 0x0088,
+       0x000f, 0xa820,
+       0x009b, 0xa855,
+       0x0097, 0xc403,
+       0x00c1, 0x00a4,
+       0x009e, 0xf14d,
+       0x0017, 0xfa03,
+       0x0020, 0x00bc,
+       0x00c1, 0x008f,
+       0x0018, 0xfa00,
+       0x0003, 0x03fa,
+       0x0080, 0x00bc,
+       0x009f, 0xfa0f,
+       0x009e, 0x03c1,
+       0x0003, 0x03fa,
+       0x0080, 0x00bc,
+       0x001b, 0xa055,
+       0x0097, 0xc403,
+       0x00c1, 0x009b,
+       0x0017, 0x03c6,
+       0x0041, 0x0099,
+       0x0080, 0x009d,
+       0x0003, 0xc75e,
+       0x0080, 0x009d,
+       0x0083, 0xc55e,
+       0x0080, 0x009d,
+       0x009f, 0xcc0f,
+       0x0019, 0x035e,
+       0x0017, 0xfc03,
+       0x0020, 0x00a4,
+       0x00c1, 0x00ab,
+       0x0018, 0xfc00,
+       0x0003, 0x03fc,
+       0x009f, 0xfa0f,
+       0x0017, 0xf303,
+       0x0041, 0x00af,
+       0x009f, 0xfa0f,
+       0x009e, 0x03c1,
+       0x0003, 0x03fa,
+       0x0080, 0x00bc,
+       0x009f, 0xfc0f,
+       0x009e, 0x03c1,
+       0x0003, 0x03fc,
+       0x0080, 0x00a4,
+       0x000f, 0xa804,
+       0x0018, 0xfa00,
+       0x0003, 0x03fa,
+       0x0080, 0x00bc,
+       0x009b, 0xa855,
+       0x0083, 0x03ea,
+       0x009f, 0xc60f,
+       0x0097, 0x03ea,
+       0x00c1, 0x00bc,
+       0x0004, 0xfa04,
+       0x009f, 0xfa0f,
+       0x009e, 0x03c1,
+       0x0003, 0x03fa,
+       0x009b, 0xa755,
+       0x0097, 0x03c4,
+       0x00c1, 0x00ce,
+       0x001b, 0xa655,
+       0x0097, 0x03c4,
+       0x00c1, 0x00ce,
+       0x009b, 0xa255,
+       0x0097, 0x5b03,
+       0x00c1, 0x00ce,
+       0x009b, 0xa855,
+       0x0097, 0x5b03,
+       0x00c1, 0x00ce,
+       0x009f, 0x4d0f,
+       0x0017, 0x03c6,
+       0x0041, 0x00d1,
+       0x0018, 0x4d00,
+       0x0003, 0x034d,
+       0x0000, 0x00d1,
+       0x0084, 0x4d03,
+       0x009e, 0x4dc1,
+       0x0003, 0x034d,
+       0x0083, 0xc0ea,
+       0x001b, 0xa355,
+       0x0003, 0x03e2,
+       0x009e, 0x54c9,
+       0x0017, 0xe203,
+       0x0041, 0x00de,
+       0x001f, 0xc20f,
+       0x0097, 0x03b9,
+       0x00c1, 0x00e6,
+       0x001f, 0xc20f,
+       0x009e, 0xb903,
+       0x0083, 0x03b9,
+       0x0080, 0x00e6,
+       0x0097, 0x54e2,
+       0x00c1, 0x00e6,
+       0x001e, 0x57c2,
+       0x0097, 0xb903,
+       0x0020, 0x00e6,
+       0x001f, 0xc20f,
+       0x0019, 0xb903,
+       0x0083, 0x03b9,
+       0x0019, 0x4bb9,
+       0x0003, 0x034b,
+       0x009d, 0x4bc8,
+       0x001d, 0x03c3,
+       0x0083, 0x03e9,
+       0x001e, 0x4b03,
+       0x0003, 0x034b,
+       0x0099, 0xf555,
+       0x0097, 0xe903,
+       0x0041, 0x00fa,
+       0x0084, 0xff18,
+       0x009f, 0xff0f,
+       0x009e, 0x03c1,
+       0x0003, 0x03ff,
+       0x001f, 0xb90f,
+       0x0019, 0x03c8,
+       0x0083, 0x03b9,
+       0x0019, 0x4b58,
+       0x0003, 0x034b,
+       0x0000, 0x0108,
+       0x009a, 0x009f,
+       0x0099, 0x03f5,
+       0x0097, 0x03e9,
+       0x0041, 0x0108,
+       0x009f, 0xff0f,
+       0x0097, 0x03c7,
+       0x0041, 0x0108,
+       0x0018, 0xff00,
+       0x0003, 0x03ff,
+       0x001f, 0xb90f,
+       0x009e, 0x03c8,
+       0x0083, 0x03b9,
+       0x009e, 0x4b58,
+       0x0003, 0x034b,
+       0x009b, 0xa855,
+       0x0083, 0x03e3,
+       0x009a, 0x000a,
+       0x0097, 0x03e3,
+       0x00c1, 0x010f,
+       0x0083, 0xc8e7,
+       0x0080, 0x0114,
+       0x0003, 0xcfe7,
+       0x009b, 0xa255,
+       0x0017, 0xc903,
+       0x00c1, 0x0114,
+       0x0003, 0xcce7,
+       0x008f, 0xf20c,
+       0x009b, 0xa155,
+       0x0017, 0xe703,
+       0x00c1, 0x011d,
+       0x001f, 0xc20f,
+       0x009e, 0xd303,
+       0x0003, 0x0344,
+       0x0003, 0xc243,
+       0x0080, 0x0124,
+       0x0083, 0xd344,
+       0x0083, 0xc043,
+       0x0080, 0x0124,
+       0x009b, 0xa155,
+       0x0097, 0xc103,
+       0x00c1, 0x011d,
+       0x0080, 0x0118,
+       0x000f, 0xa702,
+       0x0000, 0x012f,
+       0x000f, 0xa802,
+       0x0000, 0x012f,
+       0x009b, 0xa855,
+       0x0017, 0x03c6,
+       0x0041, 0x012f,
+       0x008f, 0xf40a,
+       0x001b, 0xa555,
+       0x0097, 0xc103,
+       0x0041, 0x0134,
+       0x001e, 0x44cc,
+       0x0003, 0x0344,
+       0x0091, 0x43cc,
+       0x0083, 0x0343,
+       0x0080, 0x0139,
+       0x0080, 0x0139,
+       0x001b, 0xa555,
+       0x0097, 0xc803,
+       0x0041, 0x0134,
+       0x0000, 0x012f,
+       0x001b, 0xa055,
+       0x0097, 0xc803,
+       0x00c1, 0x0141,
+       0x001f, 0xc20f,
+       0x009e, 0xd303,
+       0x0083, 0x0345,
+       0x0083, 0xc242,
+       0x0080, 0x014d,
+       0x0003, 0xd345,
+       0x0003, 0xc042,
+       0x008f, 0xdc0a,
+       0x0097, 0xc103,
+       0x00c1, 0x014d,
+       0x001b, 0xa055,
+       0x0017, 0xc003,
+       0x00c1, 0x014d,
+       0x001f, 0xc20f,
+       0x009e, 0xd303,
+       0x0083, 0x0345,
+       0x0083, 0xc242,
+       0x0003, 0xcfe1,
+       0x009b, 0xa755,
+       0x0017, 0x03c5,
+       0x00c1, 0x0156,
+       0x000f, 0xa804,
+       0x009b, 0xa855,
+       0x0017, 0x03c5,
+       0x00c1, 0x0156,
+       0x0003, 0xc0e1,
+       0x001f, 0xc40f,
+       0x001e, 0x5a03,
+       0x0097, 0x039e,
+       0x00c1, 0x0160,
+       0x009b, 0xa155,
+       0x0097, 0xcd03,
+       0x0041, 0x015e,
+       0x0080, 0x0160,
+       0x0099, 0x5ac0,
+       0x0003, 0x03e1,
+       0x008f, 0xf00b,
+       0x009b, 0xa255,
+       0x0017, 0xe103,
+       0x00c1, 0x0169,
+       0x001e, 0x45c8,
+       0x0083, 0x0345,
+       0x0091, 0x42c8,
+       0x0003, 0x0342,
+       0x0080, 0x016f,
+       0x0042, 0x0000,
+       0x0080, 0x016f,
+       0x009b, 0xa255,
+       0x0097, 0xc103,
+       0x00c1, 0x0169,
+       0x0000, 0x0164,
+       0x0003, 0xd346,
+       0x0003, 0xc047,
+       0x008f, 0xa70a,
+       0x009b, 0xa755,
+       0x0097, 0xce03,
+       0x0041, 0x017a,
+       0x001e, 0x46c8,
+       0x0083, 0x0346,
+       0x0091, 0x47c8,
+       0x0003, 0x0347,
+       0x0000, 0x017f,
+       0x0000, 0x017f,
+       0x009b, 0xa755,
+       0x0097, 0xc103,
+       0x0041, 0x017a,
+       0x0000, 0x0175,
+       0x000f, 0xa60a,
+       0x001b, 0xa655,
+       0x0097, 0xce03,
+       0x00c1, 0x0188,
+       0x001e, 0x46c2,
+       0x0083, 0x0346,
+       0x0091, 0x47c2,
+       0x0003, 0x0347,
+       0x0080, 0x018d,
+       0x0080, 0x018d,
+       0x001b, 0xa655,
+       0x0097, 0xc103,
+       0x00c1, 0x0188,
+       0x0000, 0x0183,
+       0x009f, 0xd20f,
+       0x0091, 0x0345,
+       0x0083, 0x0397,
+       0x009f, 0xd20f,
+       0x0011, 0x0344,
+       0x0083, 0x0398,
+       0x009f, 0xd20f,
+       0x0091, 0x0346,
+       0x0003, 0x0399,
+       0x0083, 0xc0df,
+       0x0098, 0xdf00,
+       0x0083, 0x03df,
+       0x001a, 0x0070,
+       0x0097, 0x03df,
+       0x0041, 0x0197,
+       0x0003, 0xd299,
+       0x0083, 0xd298,
+       0x0083, 0xd297,
+       0x0091, 0x40ca,
+       0x0011, 0x5c03,
+       0x0003, 0x038e,
+       0x001e, 0x41c5,
+       0x001e, 0x0348,
+       0x0003, 0x0390,
+       0x0091, 0x40ca,
+       0x001e, 0x0348,
+       0x009e, 0x0358,
+       0x0083, 0x038f,
+       0x001f, 0xc80f,
+       0x0091, 0x0351,
+       0x0083, 0x0391,
+       0x0083, 0x0392,
+       0x0080, 0x01af,
+       0x0000, 0x000f,
+       0x009f, 0xd20f,
+       0x0011, 0x0342,
+       0x0083, 0x0397,
+       0x009f, 0xd20f,
+       0x0091, 0x0343,
+       0x0083, 0x0398,
+       0x009f, 0xd20f,
+       0x0011, 0x0347,
+       0x0003, 0x0399,
+       0x0083, 0xcbf9,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xc1b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xd297,
+       0x0083, 0xd298,
+       0x0003, 0xd299,
+       0x001e, 0x4058,
+       0x009e, 0x0358,
+       0x0003, 0x038e,
+       0x0003, 0x4190,
+       0x0099, 0x4058,
+       0x0083, 0x038f,
+       0x009f, 0xc50f,
+       0x0099, 0x03cc,
+       0x0091, 0x0351,
+       0x0083, 0x0391,
+       0x0083, 0x0392,
+       0x0003, 0xcff9,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xc2b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd5b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xcef9,
+       0x0098, 0xec00,
+       0x0083, 0x03ec,
+       0x009a, 0x0050,
+       0x0097, 0x03ec,
+       0x0041, 0x01e5,
+       0x0003, 0x5886,
+       0x0003, 0xc0db,
+       0x001f, 0xef0f,
+       0x0017, 0x03d7,
+       0x0041, 0x01ea,
+       0x008b, 0x8502,
+       0x0000, 0x01ae,
+       0x0083, 0xc394,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0x03be,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x002f, 0xbf00,
+       0x00aa, 0xbf85,
+       0x00e1, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000
+}, {
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x009a, 0xb616,
+       0x0060, 0x00ee,
+       0x008d, 0xbf02,
+       0x0080, 0x0007,
+       0x0083, 0xc0e0,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0008, 0xe384,
+       0x0003, 0xc095,
+       0x0083, 0xc184,
+       0x0003, 0xc084,
+       0x0083, 0xd1b9,
+       0x0083, 0xc7ff,
+       0x0003, 0xc082,
+       0x003a, 0x000a,
+       0x0003, 0x03fa,
+       0x0003, 0x4190,
+       0x0003, 0x4f83,
+       0x0083, 0x408e,
+       0x0004, 0xed04,
+       0x0083, 0xc0bf,
+       0x001a, 0x3501,
+       0x0060, 0x00ee,
+       0x0083, 0xc086,
+       0x001a, 0xb701,
+       0x0060, 0x00ee,
+       0x00ba, 0x0020,
+       0x009b, 0x03bf,
+       0x0020, 0x002a,
+       0x0083, 0xc0bf,
+       0x001a, 0x3703,
+       0x0060, 0x00ee,
+       0x0003, 0xc2bf,
+       0x0060, 0x00ee,
+       0x008a, 0xde02,
+       0x0000, 0x002e,
+       0x008e, 0x8502,
+       0x0080, 0x0020,
+       0x0018, 0x9300,
+       0x0003, 0x0393,
+       0x00fa, 0x8040,
+       0x0091, 0x03c1,
+       0x0091, 0x0380,
+       0x0083, 0x0380,
+       0x0083, 0xd497,
+       0x0083, 0xd498,
+       0x0003, 0xd499,
+       0x0083, 0xd1b9,
+       0x0083, 0xc7ff,
+       0x0003, 0xc082,
+       0x0003, 0xd689,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x00ba, 0x0117,
+       0x0083, 0x03bf,
+       0x003a, 0x3b80,
+       0x0060, 0x00ee,
+       0x0083, 0xc182,
+       0x009a, 0x0104,
+       0x0083, 0x03b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x001f, 0xf80f,
+       0x0011, 0x03d2,
+       0x0083, 0x03f8,
+       0x0000, 0x004b,
+       0x0080, 0x0010,
+       0x0083, 0xc0e3,
+       0x0003, 0x618c,
+       0x0083, 0x628d,
+       0x00ba, 0x0010,
+       0x0083, 0x03e0,
+       0x0003, 0xe171,
+       0x009f, 0x710f,
+       0x009b, 0x03cd,
+       0x0003, 0x0371,
+       0x00e0, 0x0114,
+       0x0060, 0x0123,
+       0x00e0, 0x0171,
+       0x0003, 0xc074,
+       0x0060, 0x01ae,
+       0x0003, 0xc0e7,
+       0x0003, 0xc0e8,
+       0x0098, 0xe600,
+       0x0083, 0x03e6,
+       0x003a, 0x0011,
+       0x0083, 0x03e0,
+       0x0060, 0x0101,
+       0x00ac, 0xda02,
+       0x002a, 0xda0a,
+       0x0008, 0x8605,
+       0x0060, 0x0125,
+       0x0060, 0x01ae,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0060, 0x0173,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0080, 0x005d,
+       0x003a, 0x0012,
+       0x0083, 0x03e0,
+       0x0011, 0x7274,
+       0x0082, 0x0f74,
+       0x00ba, 0xdc74,
+       0x005a, 0x0257,
+       0x0083, 0x0375,
+       0x00ba, 0x0020,
+       0x0083, 0x03e0,
+       0x0060, 0x0123,
+       0x00e0, 0x0171,
+       0x0060, 0x01b9,
+       0x0060, 0x01ae,
+       0x003a, 0x0021,
+       0x0083, 0x03e0,
+       0x0060, 0x0101,
+       0x0029, 0x86b1,
+       0x00ac, 0xda02,
+       0x002a, 0xda0a,
+       0x00ba, 0x0023,
+       0x0083, 0x03e0,
+       0x0088, 0x8602,
+       0x0000, 0x0093,
+       0x00ba, 0x002c,
+       0x0083, 0x03e0,
+       0x0060, 0x0173,
+       0x0083, 0x7273,
+       0x0000, 0x0078,
+       0x003a, 0x0024,
+       0x0083, 0x03e0,
+       0x009e, 0x7072,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x002b, 0x0322,
+       0x0097, 0x7f72,
+       0x0020, 0x00ae,
+       0x0011, 0x7274,
+       0x0082, 0x0f74,
+       0x0060, 0x01b9,
+       0x0000, 0x007e,
+       0x0083, 0x7072,
+       0x0060, 0x017a,
+       0x003a, 0x0027,
+       0x0083, 0x03e0,
+       0x0060, 0x0101,
+       0x00a9, 0x86ce,
+       0x00ac, 0xda02,
+       0x002a, 0xda14,
+       0x003a, 0x0028,
+       0x0083, 0x03e0,
+       0x001f, 0x750f,
+       0x0017, 0x0366,
+       0x00c1, 0x00a8,
+       0x00ba, 0x0029,
+       0x0083, 0x03e0,
+       0x0003, 0x71e8,
+       0x0060, 0x0125,
+       0x0083, 0x7372,
+       0x0060, 0x0173,
+       0x0060, 0x01ae,
+       0x0000, 0x0078,
+       0x0003, 0x7471,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0x71e1,
+       0x00e0, 0x0114,
+       0x0000, 0x00a0,
+       0x0080, 0x00b0,
+       0x0080, 0x004a,
+       0x003a, 0x0030,
+       0x0083, 0x03e0,
+       0x0003, 0x678c,
+       0x001b, 0x7271,
+       0x0020, 0x00b9,
+       0x0083, 0x7270,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x00e0, 0x013c,
+       0x0060, 0x01b9,
+       0x0060, 0x01ad,
+       0x00ba, 0x0031,
+       0x0083, 0x03e0,
+       0x0060, 0x0101,
+       0x00a9, 0x868f,
+       0x00ac, 0xda02,
+       0x00aa, 0xda08,
+       0x0060, 0x0173,
+       0x00ba, 0x0034,
+       0x0083, 0x03e0,
+       0x0060, 0x0101,
+       0x0029, 0x8696,
+       0x00ac, 0xda85,
+       0x00aa, 0xda97,
+       0x0008, 0x868d,
+       0x0083, 0xc08a,
+       0x003a, 0x0041,
+       0x0083, 0x03e0,
+       0x001f, 0x700f,
+       0x001c, 0x03c4,
+       0x0011, 0x0372,
+       0x0003, 0x03e4,
+       0x003a, 0x0088,
+       0x0017, 0x03e4,
+       0x00a0, 0x00e7,
+       0x0028, 0xe3a4,
+       0x0003, 0xc2e3,
+       0x0000, 0x00d8,
+       0x0003, 0xc07e,
+       0x0080, 0x00da,
+       0x00a4, 0x860a,
+       0x0080, 0x00d6,
+       0x00ac, 0xda02,
+       0x0000, 0x00ca,
+       0x003a, 0x0009,
+       0x0099, 0x037e,
+       0x0082, 0x0f7e,
+       0x0017, 0x7ee2,
+       0x0041, 0x00e2,
+       0x0080, 0x00da,
+       0x0003, 0xc1e3,
+       0x00ba, 0x1000,
+       0x0011, 0x0395,
+       0x0003, 0x0395,
+       0x0000, 0x00ca,
+       0x0003, 0xc794,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0x03be,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x002f, 0xbf00,
+       0x00aa, 0xbf85,
+       0x0028, 0xe54c,
+       0x00a9, 0xe575,
+       0x001f, 0xe50f,
+       0x009d, 0x03c2,
+       0x00a8, 0x0375,
+       0x0029, 0x0375,
+       0x001f, 0xe50f,
+       0x009d, 0x03c4,
+       0x00a8, 0x0373,
+       0x0029, 0x0373,
+       0x00e1, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xc0da,
+       0x0003, 0x6489,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0x7dda,
+       0x0083, 0x6589,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0019, 0x6465,
+       0x009b, 0x034f,
+       0x0099, 0x03c9,
+       0x0019, 0x03c8,
+       0x0019, 0x0375,
+       0x0002, 0x0f75,
+       0x00e1, 0x0000,
+       0x00a8, 0xe3e1,
+       0x003a, 0xbada,
+       0x0083, 0x03e0,
+       0x0000, 0x0110,
+       0x009f, 0x710f,
+       0x009d, 0x03c2,
+       0x00a9, 0x0305,
+       0x0028, 0x0306,
+       0x0029, 0x7107,
+       0x00a8, 0x7108,
+       0x0000, 0x0110,
+       0x0003, 0xc87f,
+       0x00e1, 0x0000,
+       0x0003, 0xc47f,
+       0x00e1, 0x0000,
+       0x0003, 0xc27f,
+       0x00e1, 0x0000,
+       0x0003, 0xc17f,
+       0x00e1, 0x0000,
+       0x0003, 0x7f70,
+       0x0080, 0x013c,
+       0x001f, 0x700f,
+       0x009d, 0x03c2,
+       0x00a9, 0x030a,
+       0x00a8, 0x030e,
+       0x00a9, 0x7010,
+       0x0028, 0x7002,
+       0x0000, 0x0110,
+       0x009f, 0x710f,
+       0x009d, 0x03c2,
+       0x0009, 0x0303,
+       0x0003, 0xc870,
+       0x0080, 0x013c,
+       0x009f, 0x710f,
+       0x009d, 0x03c2,
+       0x0088, 0x0303,
+       0x0003, 0xc470,
+       0x0080, 0x013c,
+       0x0009, 0x7103,
+       0x0003, 0xc270,
+       0x0080, 0x013c,
+       0x0088, 0x718d,
+       0x0003, 0xc170,
+       0x0080, 0x013c,
+       0x0003, 0xc1e5,
+       0x0083, 0xc0bf,
+       0x003a, 0x0018,
+       0x0000, 0x00ee,
+       0x0083, 0xc0e5,
+       0x001f, 0xf70f,
+       0x001b, 0x0377,
+       0x0002, 0x0f7a,
+       0x001f, 0x700f,
+       0x009d, 0x03c2,
+       0x00a9, 0x0305,
+       0x00a8, 0x0308,
+       0x00a9, 0x700d,
+       0x00a8, 0x7012,
+       0x0000, 0x0110,
+       0x001f, 0x7a0f,
+       0x0083, 0x03f7,
+       0x0003, 0xc378,
+       0x0000, 0x0161,
+       0x001f, 0xc10f,
+       0x001c, 0x03c4,
+       0x0091, 0x037a,
+       0x0083, 0x03f7,
+       0x0003, 0xc378,
+       0x0000, 0x0161,
+       0x001f, 0xc20f,
+       0x001c, 0x03c4,
+       0x0091, 0x037a,
+       0x0083, 0x03f7,
+       0x0083, 0xc778,
+       0x0000, 0x0161,
+       0x009f, 0xc30f,
+       0x001c, 0x03c4,
+       0x0091, 0x037a,
+       0x0083, 0x03f7,
+       0x0083, 0xc778,
+       0x0000, 0x0161,
+       0x001f, 0xf80f,
+       0x009b, 0x0376,
+       0x0011, 0x0378,
+       0x0083, 0x03f8,
+       0x0003, 0xc2e5,
+       0x003a, 0x0022,
+       0x0083, 0x03bf,
+       0x003a, 0x0018,
+       0x0000, 0x00ee,
+       0x0083, 0xc0e5,
+       0x00e1, 0x0000,
+       0x0000, 0x00ee,
+       0x0080, 0x017e,
+       0x0080, 0x0181,
+       0x0000, 0x01a8,
+       0x0000, 0x01ab,
+       0x0083, 0xc872,
+       0x0000, 0x017a,
+       0x009f, 0x720f,
+       0x001c, 0x03c4,
+       0x0011, 0x0372,
+       0x009d, 0x03c1,
+       0x009b, 0x03cd,
+       0x0082, 0x0f72,
+       0x0000, 0x017a,
+       0x0003, 0xc4e5,
+       0x0083, 0xc0bf,
+       0x00ba, 0x0015,
+       0x0080, 0x016c,
+       0x0003, 0xc8e5,
+       0x00ba, 0x0016,
+       0x0080, 0x016c,
+       0x0083, 0xc0e5,
+       0x001f, 0xf70f,
+       0x009b, 0x0376,
+       0x0002, 0x0f7c,
+       0x009f, 0x720f,
+       0x009d, 0x03c2,
+       0x0029, 0x0304,
+       0x0028, 0x0306,
+       0x00a9, 0x7209,
+       0x0028, 0x720c,
+       0x0003, 0x7cf7,
+       0x0003, 0xc37b,
+       0x0080, 0x019a,
+       0x0011, 0x7cc1,
+       0x0083, 0x03f7,
+       0x0003, 0xc37b,
+       0x0080, 0x019a,
+       0x0011, 0x7cc2,
+       0x0083, 0x03f7,
+       0x0083, 0xc77b,
+       0x0080, 0x019a,
+       0x0091, 0x7cc3,
+       0x0083, 0x03f7,
+       0x0083, 0xc77b,
+       0x0080, 0x019a,
+       0x009f, 0x810f,
+       0x009b, 0x0376,
+       0x0011, 0x037b,
+       0x0003, 0x0381,
+       0x0003, 0xc082,
+       0x0003, 0xd689,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xc182,
+       0x0083, 0xc9e5,
+       0x003a, 0x0022,
+       0x0083, 0x03bf,
+       0x00ba, 0x0015,
+       0x0080, 0x016c,
+       0x0083, 0xcce5,
+       0x00ba, 0x0016,
+       0x0080, 0x016c,
+       0x0083, 0xc0e5,
+       0x00e1, 0x0000,
+       0x0000, 0x01ae,
+       0x001f, 0xc20f,
+       0x009b, 0x038a,
+       0x0083, 0x038a,
+       0x0042, 0x0000,
+       0x001f, 0xc10f,
+       0x0091, 0x038a,
+       0x0083, 0x038a,
+       0x001a, 0xfffe,
+       0x009b, 0x0386,
+       0x0083, 0x0386,
+       0x00e1, 0x0000,
+       0x001f, 0xc10f,
+       0x009b, 0x038a,
+       0x0083, 0x038a,
+       0x0042, 0x0000,
+       0x001f, 0xc20f,
+       0x0091, 0x038a,
+       0x0083, 0x038a,
+       0x001a, 0xfffd,
+       0x009b, 0x0386,
+       0x0083, 0x0386,
+       0x00e1, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+}, {
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x009a, 0xb616,
+       0x0060, 0x00ee,
+       0x008d, 0xbf02,
+       0x0080, 0x0007,
+       0x0083, 0xc0e0,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0008, 0xe384,
+       0x0003, 0xc095,
+       0x0083, 0xc184,
+       0x0003, 0xc084,
+       0x0083, 0xd1b9,
+       0x0083, 0xc7ff,
+       0x0003, 0xc082,
+       0x003a, 0x000a,
+       0x0003, 0x03fa,
+       0x0003, 0x4190,
+       0x0003, 0x4f83,
+       0x0083, 0x408e,
+       0x0004, 0xed04,
+       0x0083, 0xc0bf,
+       0x001a, 0x3501,
+       0x0060, 0x00ee,
+       0x0083, 0xc086,
+       0x001a, 0xb701,
+       0x0060, 0x00ee,
+       0x00ba, 0x0020,
+       0x009b, 0x03bf,
+       0x0020, 0x002a,
+       0x0083, 0xc0bf,
+       0x001a, 0x3703,
+       0x0060, 0x00ee,
+       0x0003, 0xc2bf,
+       0x0060, 0x00ee,
+       0x008a, 0xde02,
+       0x0000, 0x002e,
+       0x008e, 0x8502,
+       0x0080, 0x0020,
+       0x0018, 0x9300,
+       0x0003, 0x0393,
+       0x00fa, 0x8040,
+       0x0091, 0x03c1,
+       0x0091, 0x0380,
+       0x0083, 0x0380,
+       0x0083, 0xd497,
+       0x0083, 0xd498,
+       0x0003, 0xd499,
+       0x0083, 0xd1b9,
+       0x0083, 0xc7ff,
+       0x0003, 0xc082,
+       0x0003, 0xd689,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x00ba, 0x0117,
+       0x0083, 0x03bf,
+       0x003a, 0x3b80,
+       0x0060, 0x00ee,
+       0x0083, 0xc182,
+       0x009a, 0x0104,
+       0x0083, 0x03b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x001f, 0xf80f,
+       0x0011, 0x03d2,
+       0x0083, 0x03f8,
+       0x0000, 0x004b,
+       0x0080, 0x0010,
+       0x0083, 0xc0e3,
+       0x0003, 0x618c,
+       0x0083, 0x628d,
+       0x00ba, 0x0010,
+       0x0083, 0x03e0,
+       0x0003, 0xe171,
+       0x009f, 0x710f,
+       0x009b, 0x03cd,
+       0x0003, 0x0371,
+       0x00e0, 0x0114,
+       0x0060, 0x0123,
+       0x00e0, 0x0171,
+       0x0003, 0xc074,
+       0x0060, 0x01ae,
+       0x0003, 0xc0e7,
+       0x0003, 0xc0e8,
+       0x0098, 0xe600,
+       0x0083, 0x03e6,
+       0x003a, 0x0011,
+       0x0083, 0x03e0,
+       0x0060, 0x0101,
+       0x00ac, 0xda02,
+       0x002a, 0xda0a,
+       0x0008, 0x8605,
+       0x0060, 0x0125,
+       0x0060, 0x01ae,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0060, 0x0173,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0080, 0x005d,
+       0x003a, 0x0012,
+       0x0083, 0x03e0,
+       0x0011, 0x7274,
+       0x0082, 0x0f74,
+       0x00ba, 0xdc74,
+       0x005a, 0x0257,
+       0x0083, 0x0375,
+       0x00ba, 0x0020,
+       0x0083, 0x03e0,
+       0x0060, 0x0123,
+       0x00e0, 0x0171,
+       0x0060, 0x01b9,
+       0x0060, 0x01ae,
+       0x003a, 0x0021,
+       0x0083, 0x03e0,
+       0x0060, 0x0101,
+       0x0029, 0x86b1,
+       0x00ac, 0xda02,
+       0x002a, 0xda0a,
+       0x00ba, 0x0023,
+       0x0083, 0x03e0,
+       0x0088, 0x8602,
+       0x0000, 0x0093,
+       0x00ba, 0x002c,
+       0x0083, 0x03e0,
+       0x0060, 0x0173,
+       0x0083, 0x7273,
+       0x0000, 0x0078,
+       0x003a, 0x0024,
+       0x0083, 0x03e0,
+       0x009e, 0x7072,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x002b, 0x0322,
+       0x0097, 0x7f72,
+       0x0020, 0x00ae,
+       0x0011, 0x7274,
+       0x0082, 0x0f74,
+       0x0060, 0x01b9,
+       0x0000, 0x007e,
+       0x0083, 0x7072,
+       0x0060, 0x017a,
+       0x003a, 0x0027,
+       0x0083, 0x03e0,
+       0x0060, 0x0101,
+       0x00a9, 0x86ce,
+       0x00ac, 0xda02,
+       0x002a, 0xda14,
+       0x003a, 0x0028,
+       0x0083, 0x03e0,
+       0x001f, 0x750f,
+       0x0017, 0x0366,
+       0x00c1, 0x00a8,
+       0x00ba, 0x0029,
+       0x0083, 0x03e0,
+       0x0003, 0x71e8,
+       0x0060, 0x0125,
+       0x0083, 0x7372,
+       0x0060, 0x0173,
+       0x0060, 0x01ae,
+       0x0000, 0x0078,
+       0x0003, 0x7471,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0x71e1,
+       0x00e0, 0x0114,
+       0x0000, 0x00a0,
+       0x0080, 0x00b0,
+       0x0080, 0x004a,
+       0x003a, 0x0030,
+       0x0083, 0x03e0,
+       0x0003, 0x678c,
+       0x001b, 0x7271,
+       0x0020, 0x00b9,
+       0x0083, 0x7270,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x00e0, 0x013c,
+       0x0060, 0x01b9,
+       0x0060, 0x01ad,
+       0x00ba, 0x0031,
+       0x0083, 0x03e0,
+       0x0060, 0x0101,
+       0x00a9, 0x868f,
+       0x00ac, 0xda02,
+       0x00aa, 0xda08,
+       0x0060, 0x0173,
+       0x00ba, 0x0034,
+       0x0083, 0x03e0,
+       0x0060, 0x0101,
+       0x0029, 0x8696,
+       0x00ac, 0xda85,
+       0x00aa, 0xda97,
+       0x0008, 0x868d,
+       0x0083, 0xc08a,
+       0x003a, 0x0041,
+       0x0083, 0x03e0,
+       0x001f, 0x700f,
+       0x001c, 0x03c4,
+       0x0011, 0x0372,
+       0x0003, 0x03e4,
+       0x003a, 0x0088,
+       0x0017, 0x03e4,
+       0x00a0, 0x00e7,
+       0x0028, 0xe3a4,
+       0x0003, 0xc2e3,
+       0x0000, 0x00d8,
+       0x0003, 0xc07e,
+       0x0080, 0x00da,
+       0x00a4, 0x860a,
+       0x0080, 0x00d6,
+       0x00ac, 0xda02,
+       0x0000, 0x00ca,
+       0x003a, 0x0009,
+       0x0099, 0x037e,
+       0x0082, 0x0f7e,
+       0x0017, 0x7ee2,
+       0x0041, 0x00e2,
+       0x0080, 0x00da,
+       0x0003, 0xc1e3,
+       0x00ba, 0x1000,
+       0x0011, 0x0395,
+       0x0003, 0x0395,
+       0x0000, 0x00ca,
+       0x0003, 0xc794,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0x03be,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x002f, 0xbf00,
+       0x00aa, 0xbf85,
+       0x0028, 0xe54c,
+       0x00a9, 0xe575,
+       0x001f, 0xe50f,
+       0x009d, 0x03c2,
+       0x00a8, 0x0375,
+       0x0029, 0x0375,
+       0x001f, 0xe50f,
+       0x009d, 0x03c4,
+       0x00a8, 0x0373,
+       0x0029, 0x0373,
+       0x00e1, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xc0da,
+       0x0003, 0x6489,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0x7dda,
+       0x0083, 0x6589,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0019, 0x6465,
+       0x009b, 0x034f,
+       0x0099, 0x03c9,
+       0x0019, 0x03c8,
+       0x0019, 0x0375,
+       0x0002, 0x0f75,
+       0x00e1, 0x0000,
+       0x00a8, 0xe3e1,
+       0x003a, 0xbada,
+       0x0083, 0x03e0,
+       0x0000, 0x0110,
+       0x009f, 0x710f,
+       0x009d, 0x03c2,
+       0x00a9, 0x0305,
+       0x0028, 0x0306,
+       0x0029, 0x7107,
+       0x00a8, 0x7108,
+       0x0000, 0x0110,
+       0x0003, 0xc87f,
+       0x00e1, 0x0000,
+       0x0003, 0xc47f,
+       0x00e1, 0x0000,
+       0x0003, 0xc27f,
+       0x00e1, 0x0000,
+       0x0003, 0xc17f,
+       0x00e1, 0x0000,
+       0x0003, 0x7f70,
+       0x0080, 0x013c,
+       0x001f, 0x700f,
+       0x009d, 0x03c2,
+       0x00a9, 0x030a,
+       0x00a8, 0x030e,
+       0x00a9, 0x7010,
+       0x0028, 0x7002,
+       0x0000, 0x0110,
+       0x009f, 0x710f,
+       0x009d, 0x03c2,
+       0x0009, 0x0303,
+       0x0003, 0xc870,
+       0x0080, 0x013c,
+       0x009f, 0x710f,
+       0x009d, 0x03c2,
+       0x0088, 0x0303,
+       0x0003, 0xc470,
+       0x0080, 0x013c,
+       0x0009, 0x7103,
+       0x0003, 0xc270,
+       0x0080, 0x013c,
+       0x0088, 0x718d,
+       0x0003, 0xc170,
+       0x0080, 0x013c,
+       0x0003, 0xc1e5,
+       0x0083, 0xc0bf,
+       0x003a, 0x0018,
+       0x0000, 0x00ee,
+       0x0083, 0xc0e5,
+       0x001f, 0xf70f,
+       0x001b, 0x0377,
+       0x0002, 0x0f7a,
+       0x001f, 0x700f,
+       0x009d, 0x03c2,
+       0x00a9, 0x0305,
+       0x00a8, 0x0308,
+       0x00a9, 0x700d,
+       0x00a8, 0x7012,
+       0x0000, 0x0110,
+       0x001f, 0x7a0f,
+       0x0083, 0x03f7,
+       0x0003, 0xc378,
+       0x0000, 0x0161,
+       0x001f, 0xc10f,
+       0x001c, 0x03c4,
+       0x0091, 0x037a,
+       0x0083, 0x03f7,
+       0x0003, 0xc378,
+       0x0000, 0x0161,
+       0x001f, 0xc20f,
+       0x001c, 0x03c4,
+       0x0091, 0x037a,
+       0x0083, 0x03f7,
+       0x0083, 0xc778,
+       0x0000, 0x0161,
+       0x009f, 0xc30f,
+       0x001c, 0x03c4,
+       0x0091, 0x037a,
+       0x0083, 0x03f7,
+       0x0083, 0xc778,
+       0x0000, 0x0161,
+       0x001f, 0xf80f,
+       0x009b, 0x0376,
+       0x0011, 0x0378,
+       0x0083, 0x03f8,
+       0x0003, 0xc2e5,
+       0x003a, 0x0022,
+       0x0083, 0x03bf,
+       0x003a, 0x0018,
+       0x0000, 0x00ee,
+       0x0083, 0xc0e5,
+       0x00e1, 0x0000,
+       0x0000, 0x00ee,
+       0x0080, 0x017e,
+       0x0080, 0x0181,
+       0x0000, 0x01a8,
+       0x0000, 0x01ab,
+       0x0083, 0xc872,
+       0x0000, 0x017a,
+       0x009f, 0x720f,
+       0x001c, 0x03c4,
+       0x0011, 0x0372,
+       0x009d, 0x03c1,
+       0x009b, 0x03cd,
+       0x0082, 0x0f72,
+       0x0000, 0x017a,
+       0x0003, 0xc4e5,
+       0x0083, 0xc0bf,
+       0x00ba, 0x0015,
+       0x0080, 0x016c,
+       0x0003, 0xc8e5,
+       0x00ba, 0x0016,
+       0x0080, 0x016c,
+       0x0083, 0xc0e5,
+       0x001f, 0xf70f,
+       0x009b, 0x0376,
+       0x0002, 0x0f7c,
+       0x009f, 0x720f,
+       0x009d, 0x03c2,
+       0x0029, 0x0304,
+       0x0028, 0x0306,
+       0x00a9, 0x7209,
+       0x0028, 0x720c,
+       0x0003, 0x7cf7,
+       0x0003, 0xc37b,
+       0x0080, 0x019a,
+       0x0011, 0x7cc1,
+       0x0083, 0x03f7,
+       0x0003, 0xc37b,
+       0x0080, 0x019a,
+       0x0011, 0x7cc2,
+       0x0083, 0x03f7,
+       0x0083, 0xc77b,
+       0x0080, 0x019a,
+       0x0091, 0x7cc3,
+       0x0083, 0x03f7,
+       0x0083, 0xc77b,
+       0x0080, 0x019a,
+       0x009f, 0x810f,
+       0x009b, 0x0376,
+       0x0011, 0x037b,
+       0x0003, 0x0381,
+       0x0003, 0xc082,
+       0x0003, 0xd689,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xc182,
+       0x0083, 0xc9e5,
+       0x003a, 0x0022,
+       0x0083, 0x03bf,
+       0x00ba, 0x0015,
+       0x0080, 0x016c,
+       0x0083, 0xcce5,
+       0x00ba, 0x0016,
+       0x0080, 0x016c,
+       0x0083, 0xc0e5,
+       0x00e1, 0x0000,
+       0x0000, 0x01ae,
+       0x001f, 0xc20f,
+       0x009b, 0x038a,
+       0x0083, 0x038a,
+       0x0042, 0x0000,
+       0x001f, 0xc10f,
+       0x0091, 0x038a,
+       0x0083, 0x038a,
+       0x001a, 0xfffe,
+       0x009b, 0x0386,
+       0x0083, 0x0386,
+       0x00e1, 0x0000,
+       0x001f, 0xc10f,
+       0x009b, 0x038a,
+       0x0083, 0x038a,
+       0x0042, 0x0000,
+       0x001f, 0xc20f,
+       0x0091, 0x038a,
+       0x0083, 0x038a,
+       0x001a, 0xfffd,
+       0x009b, 0x0386,
+       0x0083, 0x0386,
+       0x00e1, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+}, {
+       0x0083, 0xc0ec,
+       0x0003, 0xc0eb,
+       0x0003, 0xc0ee,
+       0x0083, 0xc0ea,
+       0x0003, 0xc696,
+       0x0060, 0x0158,
+       0x00ba, 0x0080,
+       0x0083, 0x03b9,
+       0x0003, 0xc0ee,
+       0x0003, 0xc0eb,
+       0x0018, 0xee00,
+       0x0003, 0x03ee,
+       0x00ba, 0x0010,
+       0x0017, 0x03ee,
+       0x0041, 0x0011,
+       0x0060, 0x0131,
+       0x0003, 0xc0ee,
+       0x009b, 0x55a1,
+       0x0097, 0x03ce,
+       0x00c1, 0x0015,
+       0x0083, 0xd498,
+       0x001f, 0xd30f,
+       0x009e, 0x03c8,
+       0x0083, 0x0398,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd299,
+       0x0083, 0xd298,
+       0x0083, 0xd297,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0018, 0xeb00,
+       0x0003, 0x03eb,
+       0x00ba, 0x0800,
+       0x0017, 0x03eb,
+       0x0041, 0x000a,
+       0x0003, 0xc0eb,
+       0x0003, 0xc0ee,
+       0x009b, 0x57a3,
+       0x00e0, 0x016c,
+       0x0083, 0x03ef,
+       0x009b, 0x57a0,
+       0x00e0, 0x016c,
+       0x0083, 0x03dc,
+       0x0018, 0xee00,
+       0x0003, 0x03ee,
+       0x0017, 0x59ee,
+       0x00c1, 0x003b,
+       0x0003, 0xc0ee,
+       0x001f, 0xdf0f,
+       0x0017, 0x03fa,
+       0x0041, 0x0039,
+       0x001f, 0xc10f,
+       0x001e, 0xfa03,
+       0x0003, 0x03fa,
+       0x0060, 0x0158,
+       0x0060, 0x0131,
+       0x0085, 0xeb07,
+       0x0003, 0xc145,
+       0x0098, 0xea00,
+       0x0083, 0x03ea,
+       0x0097, 0x48ea,
+       0x0041, 0x0050,
+       0x0083, 0xc1eb,
+       0x008f, 0xdc0a,
+       0x001b, 0xa055,
+       0x0017, 0xc903,
+       0x00c1, 0x0049,
+       0x0083, 0xc045,
+       0x0083, 0xc242,
+       0x0000, 0x0050,
+       0x0003, 0xc245,
+       0x0003, 0xc042,
+       0x0000, 0x0050,
+       0x001b, 0xa055,
+       0x0097, 0xc103,
+       0x00c1, 0x0049,
+       0x0080, 0x0046,
+       0x001b, 0xa355,
+       0x0017, 0xcc03,
+       0x00c1, 0x0058,
+       0x001f, 0xc80f,
+       0x009e, 0xd303,
+       0x0003, 0x0344,
+       0x0003, 0xc843,
+       0x0080, 0x0061,
+       0x008f, 0xef06,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xd344,
+       0x0083, 0xc043,
+       0x0080, 0x0061,
+       0x0017, 0xc503,
+       0x00c1, 0x005b,
+       0x0000, 0x0053,
+       0x009b, 0xa155,
+       0x0003, 0x03f0,
+       0x001a, 0x0040,
+       0x0017, 0xf003,
+       0x00c1, 0x006e,
+       0x0083, 0xc296,
+       0x009f, 0xd20f,
+       0x0019, 0xc103,
+       0x0083, 0x0398,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xd298,
+       0x0003, 0xc696,
+       0x009b, 0xa755,
+       0x0017, 0x5a03,
+       0x0041, 0x0078,
+       0x009a, 0x000a,
+       0x009e, 0xd303,
+       0x0083, 0x0346,
+       0x009a, 0x000a,
+       0x0003, 0x0347,
+       0x0080, 0x0080,
+       0x000f, 0xa704,
+       0x0003, 0xd346,
+       0x0003, 0xc047,
+       0x0080, 0x0080,
+       0x009b, 0xa755,
+       0x0097, 0xc203,
+       0x00c1, 0x0079,
+       0x0000, 0x0072,
+       0x009f, 0xd20f,
+       0x0011, 0x0344,
+       0x0083, 0x0398,
+       0x009f, 0xd20f,
+       0x0091, 0x0345,
+       0x0083, 0x0397,
+       0x009f, 0xd20f,
+       0x0091, 0x0346,
+       0x0003, 0x0399,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd299,
+       0x0083, 0xd298,
+       0x0083, 0xd297,
+       0x0088, 0xde30,
+       0x001a, 0x000d,
+       0x009e, 0x8303,
+       0x0083, 0x0383,
+       0x0003, 0xcc4b,
+       0x001c, 0x58c5,
+       0x0003, 0x034d,
+       0x009e, 0x834b,
+       0x0083, 0x0383,
+       0x001c, 0x4bc1,
+       0x0003, 0x034b,
+       0x0017, 0x4b4d,
+       0x00a0, 0x00a0,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0000, 0x0096,
+       0x0060, 0x0119,
+       0x00a8, 0xe371,
+       0x0083, 0x6389,
+       0x0060, 0x0119,
+       0x0028, 0xe36e,
+       0x0083, 0x6389,
+       0x0060, 0x0119,
+       0x0028, 0xe36b,
+       0x0083, 0x6389,
+       0x0060, 0x0119,
+       0x0028, 0xe368,
+       0x0083, 0x6389,
+       0x0060, 0x0119,
+       0x00a8, 0xe365,
+       0x0083, 0x6389,
+       0x0060, 0x0119,
+       0x0028, 0xe362,
+       0x0091, 0x834b,
+       0x0083, 0x0383,
+       0x009d, 0x4bc1,
+       0x0003, 0x034b,
+       0x0017, 0x4bc9,
+       0x00a0, 0x00bb,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0000, 0x00b1,
+       0x001a, 0x001f,
+       0x0091, 0x8303,
+       0x0083, 0x0383,
+       0x0080, 0x00d0,
+       0x0060, 0x0119,
+       0x0028, 0xe352,
+       0x0083, 0x6389,
+       0x0060, 0x0119,
+       0x0028, 0xe34f,
+       0x0083, 0x6389,
+       0x0060, 0x0119,
+       0x0028, 0xe34c,
+       0x0083, 0x6389,
+       0x0060, 0x0119,
+       0x0028, 0xe349,
+       0x0083, 0x6389,
+       0x0060, 0x0119,
+       0x0028, 0xe346,
+       0x0083, 0x6389,
+       0x0060, 0x0119,
+       0x0028, 0xe343,
+       0x0091, 0x40ca,
+       0x0011, 0x5c03,
+       0x0003, 0x038e,
+       0x001e, 0x41c5,
+       0x001e, 0x0348,
+       0x0003, 0x0390,
+       0x001f, 0xc80f,
+       0x0091, 0x0351,
+       0x0083, 0x0391,
+       0x0083, 0x0392,
+       0x009f, 0xd20f,
+       0x0091, 0x0343,
+       0x0083, 0x0398,
+       0x009f, 0xd20f,
+       0x0011, 0x0342,
+       0x0083, 0x0397,
+       0x009f, 0xd20f,
+       0x0011, 0x0347,
+       0x0003, 0x0399,
+       0x0083, 0xcbf9,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xc1b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xd297,
+       0x0083, 0xd298,
+       0x0003, 0xd299,
+       0x0083, 0x408e,
+       0x0003, 0x4190,
+       0x009f, 0xc50f,
+       0x0099, 0x03c9,
+       0x0091, 0x0351,
+       0x0083, 0x0391,
+       0x0083, 0x0392,
+       0x0003, 0xcff9,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xc2b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd089,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0xd5b5,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xcef9,
+       0x0098, 0xec00,
+       0x0083, 0x03ec,
+       0x009a, 0x0050,
+       0x0097, 0x03ec,
+       0x0041, 0x010e,
+       0x0003, 0x5886,
+       0x0003, 0xc0db,
+       0x008b, 0x8504,
+       0x0000, 0x0028,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0083, 0xc694,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x003a, 0x0041,
+       0x0083, 0x03e0,
+       0x001f, 0x700f,
+       0x001c, 0x03c4,
+       0x0011, 0x0372,
+       0x0003, 0x03e4,
+       0x00a8, 0xe38d,
+       0x0003, 0xc2e3,
+       0x0024, 0x860b,
+       0x0003, 0xc07e,
+       0x0080, 0x0124,
+       0x00ac, 0xda02,
+       0x00e1, 0x0000,
+       0x003a, 0x0009,
+       0x0099, 0x037e,
+       0x0082, 0x0f7e,
+       0x0017, 0x7ee2,
+       0x0041, 0x012c,
+       0x0080, 0x0124,
+       0x0003, 0xc1e3,
+       0x00ba, 0x1000,
+       0x0011, 0x0395,
+       0x0003, 0x0395,
+       0x00e1, 0x0000,
+       0x009b, 0xa155,
+       0x0083, 0x03e9,
+       0x009a, 0x0055,
+       0x0097, 0xe903,
+       0x0041, 0x013b,
+       0x0084, 0xb90b,
+       0x001f, 0xc10f,
+       0x009e, 0xb903,
+       0x0083, 0x03b9,
+       0x0080, 0x0141,
+       0x0017, 0x54e9,
+       0x00c1, 0x0141,
+       0x0017, 0xb957,
+       0x0020, 0x0141,
+       0x0098, 0xb900,
+       0x0083, 0x03b9,
+       0x009e, 0x55c4,
+       0x0097, 0xb903,
+       0x0041, 0x014c,
+       0x0004, 0xff13,
+       0x009f, 0xff0f,
+       0x009e, 0x03c1,
+       0x0003, 0x03ff,
+       0x001f, 0xb90f,
+       0x0019, 0x03c8,
+       0x0083, 0x03b9,
+       0x0000, 0x0157,
+       0x0099, 0xcc55,
+       0x0097, 0x03b9,
+       0x0041, 0x0157,
+       0x009f, 0xff0f,
+       0x0097, 0x03c7,
+       0x0041, 0x0157,
+       0x0018, 0xff00,
+       0x0003, 0x03ff,
+       0x001f, 0xb90f,
+       0x009e, 0x03c8,
+       0x0083, 0x03b9,
+       0x00e1, 0x0000,
+       0x0093, 0x0000,
+       0x001f, 0x8761,
+       0x0003, 0x03f6,
+       0x001a, 0x0160,
+       0x001e, 0x03f6,
+       0x0003, 0x03f6,
+       0x0017, 0xd103,
+       0x0041, 0x0162,
+       0x0083, 0xd1fb,
+       0x0000, 0x016b,
+       0x001a, 0x0094,
+       0x0017, 0xf603,
+       0x0041, 0x0168,
+       0x001a, 0x0094,
+       0x0083, 0x03fb,
+       0x0000, 0x016b,
+       0x0083, 0xf6fb,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x00e1, 0x0000,
+       0x00ae, 0x8005,
+       0x000f, 0x0303,
+       0x001e, 0x035f,
+       0x00e1, 0x0000,
+       0x0099, 0x5f03,
+       0x00e1, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0003, 0x03be,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x002f, 0xbf00,
+       0x00aa, 0xbf85,
+       0x00e1, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+       0x0042, 0x0000,
+}};
+
+static u16 cs4321_microcode_epilog[] = {
+       /* Addr, Data */
+       0x0201, 0x8f10, 0x0202, 0x1210, 0x0200, 0x8000,
+       0x0201, 0x8f13, 0x0202, 0x1313, 0x0200, 0x8001,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8002,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8003,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8004,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8005,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8006,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8007,
+       0x0201, 0x0000, 0x0202, 0x0300, 0x0200, 0x8008,
+       0x0201, 0x0000, 0x0202, 0x9101, 0x0200, 0x8009,
+       0x0201, 0x8000, 0x0202, 0x0e00, 0x0200, 0x800a,
+       0x0201, 0x0000, 0x0202, 0xffff, 0x0200, 0x800b,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x800c,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x800d,
+       0x0201, 0x0000, 0x0202, 0x0020, 0x0200, 0x800e,
+       0x0201, 0x7fff, 0x0202, 0xffff, 0x0200, 0x800f,
+       0x0201, 0x8000, 0x0202, 0xc350, 0x0200, 0x8010,
+       0x0201, 0x0000, 0x0202, 0x8000, 0x0200, 0x8011,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8012,
+       0x0201, 0x0000, 0x0202, 0x0a0a, 0x0200, 0x8013,
+       0x0201, 0x0000, 0x0202, 0x0064, 0x0200, 0x8014,
+       0x0201, 0x0000, 0x0202, 0x007f, 0x0200, 0x8015,
+       0x0201, 0x0000, 0x0202, 0x003a, 0x0200, 0x8016,
+       0x0201, 0x0000, 0x0202, 0x00ff, 0x0200, 0x8017,
+       0x0201, 0x0000, 0x0202, 0x0100, 0x0200, 0x8018,
+       0x0201, 0x0000, 0x0202, 0x0032, 0x0200, 0x8019,
+       0x0201, 0x0000, 0x0202, 0x0018, 0x0200, 0x801a,
+       0x0201, 0x0000, 0x0202, 0x0013, 0x0200, 0x801b,
+       0x0201, 0x0000, 0x0202, 0xff00, 0x0200, 0x801c,
+       0x0201, 0x0000, 0x0202, 0x0028, 0x0200, 0x801d,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x801e,
+       0x0201, 0x0000, 0x0202, 0x0080, 0x0200, 0x801f,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8020,
+       0x0201, 0x00f9, 0x0202, 0xac04, 0x0200, 0x8021,
+       0x0201, 0x0a42, 0x0202, 0x6b48, 0x0200, 0x8022,
+       0x0201, 0x8000, 0x0202, 0x19bc, 0x0200, 0x8023,
+       0x0201, 0x8020, 0x0202, 0x6cc8, 0x0200, 0x8024,
+       0x0201, 0x8000, 0x0202, 0x14c0, 0x0200, 0x8025,
+       0x0201, 0x0a76, 0x0202, 0x4c88, 0x0200, 0x8026,
+       0x0201, 0x015f, 0x0202, 0xcf7a, 0x0200, 0x8027,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8028,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8029,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x802a,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x802b,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x802c,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x802d,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x802e,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x802f,
+       0x0201, 0x0000, 0x0202, 0x0008, 0x0200, 0x8030,
+       0x0201, 0x0000, 0x0202, 0x000f, 0x0200, 0x8031,
+       0x0201, 0x0000, 0x0202, 0x0008, 0x0200, 0x8032,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8033,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8034,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8035,
+       0x0201, 0xffff, 0x0202, 0xfff0, 0x0200, 0x8036,
+       0x0201, 0xffff, 0x0202, 0xff0f, 0x0200, 0x8037,
+       0x0201, 0x0000, 0x0202, 0x0003, 0x0200, 0x8038,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8039,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x803a,
+       0x0201, 0x0000, 0x0202, 0x0003, 0x0200, 0x803b,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x803c,
+       0x0201, 0x2000, 0x0202, 0x0000, 0x0200, 0x803d,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x803e,
+       0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x803f,
+
+       0x024f, 0x0000,
+       0x0505, 0x2003,
+       0x0558, 0x2001,
+       0x03d4, 0x0100,
+       0x03d5, 0x00c0,
+       0x03d3, 0x2919,
+       0x021c, 0x8020,
+       0x021d, 0x8040,
+       0x021e, 0x8040,
+       0x03d0, 0x0600,
+       0x0605, 0x1d00,
+       0x0231, 0x8f05,
+       0x0003, 0x0020,
+       0x0004, 0x0021,
+       0x0005, 0x0020,
+       0x0006, 0x0100,
+       0x0007, 0x0020,
+       0x062a, 0x101b,
+       0x062b, 0xc010,
+       0x0529, 0x0808,
+       0x052a, 0x0000,
+       0x0504, 0x0055,
+       0x0622, 0x0001,
+       0x0521, 0x0001,
+       0x0300, 0x0008,
+       0x0308, 0x00e2,
+       0x0310, 0x00d5,
+       0x0318, 0x0076,
+       0x0320, 0x0000,
+       0x0328, 0x00f0,
+       0x0338, 0x00f3,
+       0x0330, 0x00f3,
+       0x0340, 0x0000,
+       0x0348, 0x000a,
+       0x0350, 0x0000,
+       0x0358, 0x00fc,
+       0x0360, 0x0000,
+       0x0301, 0x0008,
+       0x0309, 0x00ed,
+       0x0311, 0x00c6,
+       0x0319, 0x004f,
+       0x0321, 0x0000,
+       0x0329, 0x0000,
+       0x0339, 0x00fd,
+       0x0331, 0x00fd,
+       0x0341, 0x0006,
+       0x0349, 0x0000,
+       0x0351, 0x000b,
+       0x0359, 0x0002,
+       0x0361, 0x0000,
+       0x0302, 0x0000,
+       0x030a, 0x0040,
+       0x0312, 0x00d0,
+       0x031a, 0x006e,
+       0x0322, 0x0000,
+       0x032a, 0x00dc,
+       0x033a, 0x00d7,
+       0x0332, 0x00d7,
+       0x0342, 0x00e6,
+       0x034a, 0x000c,
+       0x0352, 0x00fd,
+       0x035a, 0x0001,
+       0x0362, 0x0000,
+       0x0303, 0x0000,
+       0x030b, 0x00f8,
+       0x0313, 0x0000,
+       0x031b, 0x0064,
+       0x0323, 0x0000,
+       0x032b, 0x00db,
+       0x0333, 0x00e6,
+       0x033b, 0x00e6,
+       0x0343, 0x00f0,
+       0x034b, 0x0010,
+       0x0353, 0x00f8,
+       0x035b, 0x00f7,
+       0x0363, 0x0000,
+       0x0304, 0x0000,
+       0x030c, 0x0000,
+       0x0314, 0x0000,
+       0x031c, 0x0070,
+       0x0324, 0x0000,
+       0x032c, 0x0000,
+       0x033c, 0x0000,
+       0x0334, 0x0000,
+       0x0344, 0x0000,
+       0x034c, 0x0000,
+       0x0354, 0x0000,
+       0x035c, 0x0000,
+       0x0364, 0x0000,
+       0x0305, 0x0000,
+       0x030d, 0x00d4,
+       0x0315, 0x0000,
+       0x031d, 0x0077,
+       0x0325, 0x0000,
+       0x032d, 0x00b7,
+       0x033d, 0x00f8,
+       0x0335, 0x00f8,
+       0x0345, 0x0003,
+       0x034d, 0x00fd,
+       0x0355, 0x00fa,
+       0x035d, 0x00fc,
+       0x0365, 0x0000,
+       0x0306, 0x00f5,
+       0x030e, 0x0040,
+       0x0316, 0x0000,
+       0x031e, 0x00ee,
+       0x0326, 0x0000,
+       0x032e, 0x0000,
+       0x0336, 0x0000,
+       0x033e, 0x0000,
+       0x0346, 0x0000,
+       0x034e, 0x0000,
+       0x0356, 0x0000,
+       0x035e, 0x0000,
+       0x0366, 0x0000,
+       0x0307, 0x00f9,
+       0x030f, 0x0060,
+       0x0317, 0x0000,
+       0x031f, 0x0000,
+       0x0327, 0x0000,
+       0x032f, 0x0000,
+       0x0337, 0x0000,
+       0x033f, 0x0000,
+       0x0347, 0x0000,
+       0x034f, 0x0000,
+       0x0357, 0x0000,
+       0x035f, 0x0000,
+       0x0367, 0x0000,
+       0x0203, 0xfe03,
+       0x03d2, 0x0000,
+       0x040e, 0x0001,
+       0x022f, 0x0004,
+       0x040f, 0xedcf,
+       0x0382, 0x0002,
+       0x0408, 0xffff,
+       0x022b, 0x00b0,
+       0x0205, 0x0603,
+       0x0227, 0x0000,
+       0x0404, 0xdfff,
+       0x0409, 0xf048,
+       0x0296, 0x0000,
+       0x029a, 0x0002,
+       0x028a, 0x000f,
+       0x0270, 0x0005,
+       0x0400, 0xd000,
+       0x020c, 0xf090,
+       0x0537, 0x0136,
+       0x0536, 0x0136,
+       0x0510, 0x0136,
+       0x050f, 0x0136,
+       0x0539, 0xa002,
+       0x0539, 0x2002,
+       0x0512, 0xa002,
+       0x0512, 0x2002,
+       0x0223, 0x0006,
+       0x021f, 0x0134,
+       0x0700, 0x0020,
+       0x0726, 0x0100,
+       0x0403, 0x0020,
+       0x0500, 0x1200,
+       0x0274, 0x0000,
+       0x024f, 0x0000,
+       0x000a, 0x1412,
+       0x0009, 0x2011,
+       0x0008, 0x0929,
+       0x0203, 0xfe03,
+       0x024f, 0x0000,
+       0x001c, 0x0000,
+       0x001f, 0xf574,
+};
diff --git a/drivers/net/phy/cs4321.c b/drivers/net/phy/cs4321.c
new file mode 100644
index 0000000..31b4b19
--- /dev/null
+++ b/drivers/net/phy/cs4321.c
@@ -0,0 +1,1147 @@
+/*
+ *    Based on code from Cortina Systems, Inc.
+ *
+ *    Copyright (C) 2011 by Cortina Systems, Inc.
+ *    Copyright (C) 2011 - 2012 Cavium, Inc.
+ *
+ *    This program is free software; you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation; either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    This program is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ */
+
+#include <linux/module.h>
+#include <linux/delay.h>
+#include <linux/phy.h>
+#include <linux/of.h>
+
+#include "cs4321-ucode.h"
+
+#define CS4321_GLOBAL_CHIP_ID_LSB                      0x0
+#define CS4321_GLOBAL_CHIP_ID_MSB                      0x1
+#define CS4321_GLOBAL_INGRESS_SOFT_RESET               0xC
+#define CS4321_GLOBAL_EGRESS_SOFT_RESET                        0xD
+#define CS4321_GLOBAL_REF_SOFT_RESET                   0xE
+#define CS4321_GLOBAL_MPIF_SOFT_RESET                  0xF
+#define CS4321_GLOBAL_MPIF_RESET_DOTREG                        0x10
+#define CS4321_GLOBAL_INGRESS_FUNCEN                   0x12
+#define CS4321_GLOBAL_EGRESS_FUNCEN                    0x13
+#define CS4321_GLOBAL_HOST_MULTILANE_FUNCEN            0x14
+#define CS4321_GLOBAL_INGRESS_CLKEN                    0x15
+#define CS4321_GLOBAL_INGRESS_CLKEN2                   0x16
+#define CS4321_GLOBAL_EGRESS_CLKEN                     0x17
+#define CS4321_GLOBAL_EGRESS_CLKEN2                    0x18
+#define CS4321_GLOBAL_HOST_MULTILANE_CLKSEL            0x19
+#define CS4321_GLOBAL_MSEQCLKCTRL                      0x20
+#define CS4321_GLOBAL_GT_10KHZ_REF_CLK_CNT1            0x2D
+#define CS4321_GLOBAL_GT_10KHZ_REF_CLK_CNT0            0x2E
+#define CS4321_GLOBAL_MISC_CONFIG                      0x33
+#define CS4321_GPIO_GPIO3                              0x10C
+#define CS4321_GPIO_GPIO3_DRIVE                                0x10E
+#define CS4321_GPIO_GPIO10                             0x136
+#define CS4321_GPIO_GPIO10_OUTPUT_CFG                  0x137
+#define CS4321_GPIO_GPIO_INT                           0x16B
+#define CS4321_GPIO_GPIO_INTE                          0x16C
+#define CS4321_GPIO_GPIO_INTS                          0x16D
+#define CS4321_MSEQ_ENABLE_MSB                         0x204
+#define CS4321_MSEQ_SERDES_PARAM_LSB                   0x205
+#define CS4321_MSEQ_POWER_DOWN_LSB                     0x208
+#define CS4321_MSEQ_POWER_DOWN_MSB                     0x209
+#define CS4321_MSEQ_STATUS                             0x20a
+#define CS4321_MSEQ_LEAK_INTERVAL_FFE                  0x21C
+#define CS4321_MSEQ_COEF_DSP_DRIVE128                  0x21F
+#define CS4321_MSEQ_COEF_INIT_SEL                      0x223
+#define CS4321_MSEQ_CAL_RX_EQADJ                       0x22A
+#define CS4321_MSEQ_CAL_RX_PHSEL                       0x22C
+#define CS4321_MSEQ_CAL_RX_SLICER                      0x22D
+#define CS4321_MSEQ_CAL_RX_DFE_EQ                      0x22E
+#define CS4321_MSEQ_OPTIONS                            0x240
+#define CS4321_MSEQ_PC                                 0x243
+#define CS4321_MSEQ_BANKSELECT                         0x24F
+#define CS4321_MSEQ_RESET_COUNT_LSB                    0x250
+#define CS4321_MSEQ_SPARE2_LSB                         0x270
+#define CS4321_MSEQ_SPARE9_LSB                         0x27E
+#define CS4321_MSEQ_SPARE11_LSB                                0x282
+#define CS4321_MSEQ_SPARE15_LSB                                0x28A
+#define CS4321_MSEQ_SPARE21_LSB                                0x296
+#define CS4321_MSEQ_SPARE23_LSB                                0x29A
+#define CS4321_DSP_SDS_DSP_COEF_DFE0_SELECT            0x37B
+#define CS4321_DSP_SDS_DSP_COEF_LARGE_LEAK             0x382
+#define CS4321_DSP_SDS_SERDES_SRX_DAC_ENABLEB_LSB      0x400
+#define CS4321_DSP_SDS_SERDES_SRX_DAC_ENABLEB_MSB      0x401
+#define CS4321_DSP_SDS_SERDES_SRX_DAC_BIAS_SELECT0_MSB 0x403
+#define CS4321_DSP_SDS_SERDES_SRX_DAC_BIAS_SELECT1_MSB 0x405
+#define CS4321_DSP_SDS_SERDES_SRX_FFE_DELAY_CTRL       0x409
+#define CS4321_DSP_SDS_SERDES_SRX_FFE_INBUF_CTRL       0x40A
+#define CS4321_DSP_SDS_SERDES_SRX_FFE_PGA_CTRL         0x40B
+#define CS4321_DSP_SDS_SERDES_SRX_FFE_MISC             0x40C
+#define CS4321_DSP_SDS_SERDES_SRX_DFE0_SELECT          0x40E
+#define CS4321_DSP_SDS_SERDES_SRX_DFE_MISC             0x412
+#define CS4321_DSP_SDS_SERDES_SRX_AGC_MISC             0x413
+#define CS4321_LINE_SDS_COMMON_SRX0_RX_CONFIG          0x500
+#define CS4321_LINE_SDS_COMMON_SRX0_RX_CLKDIV_CTRL     0x501
+#define CS4321_LINE_SDS_COMMON_SRX0_RX_LOOP_FILTER     0x503
+#define CS4321_LINE_SDS_COMMON_SRX0_RX_CPA             0x504
+#define CS4321_LINE_SDS_COMMON_SRX0_RX_CPB             0x505
+#define CS4321_LINE_SDS_COMMON_SRX0_RX_VCO_CTRL                0x507
+#define CS4321_LINE_SDS_COMMON_SRX0_RX_SPARE           0x50C
+#define CS4321_LINE_SDS_COMMON_RXVCO0_CONTROL          0x512
+#define CS4321_LINE_SDS_COMMON_STX0_TX_OUTPUT_CTRLA    0x529
+#define CS4321_LINE_SDS_COMMON_STX0_TX_OUTPUT_CTRLB    0x52A
+#define CS4321_LINE_SDS_COMMON_STX0_TX_CONFIG_LOCAL_TIMING 0x52B
+#define CS4321_LINE_SDS_COMMON_STXP0_TX_CONFIG         0x52C
+#define CS4321_LINE_SDS_COMMON_STXP0_TX_PWRDN          0x52D
+#define CS4321_LINE_SDS_COMMON_STXP0_TX_CLKOUT_CTRL    0x52F
+#define CS4321_LINE_SDS_COMMON_STXP0_TX_LOOP_FILTER    0x530
+#define CS4321_LINE_SDS_COMMON_TXVCO0_CONTROL          0x539
+#define CS4321_HOST_SDS_COMMON_SRX0_RX_CONFIG          0x600
+#define CS4321_HOST_SDS_COMMON_SRX0_RX_CLKDIV_CTRL     0x601
+#define CS4321_HOST_SDS_COMMON_SRX0_RX_CLKOUT_CTRL     0x602
+#define CS4321_HOST_SDS_COMMON_RXVCO0_CONTROL          0x613
+#define CS4321_HOST_SDS_COMMON_STX0_TX_CONFIG_LOCAL_TIMING 0x62C
+#define CS4321_HOST_SDS_COMMON_STXP0_TX_CONFIG         0x62D
+#define CS4321_HOST_SDS_COMMON_STXP0_TX_PWRDN          0x62E
+#define CS4321_HOST_SDS_COMMON_STXP0_TX_CLKDIV_CTRL    0x62F
+#define CS4321_HOST_SDS_COMMON_STXP0_TX_CLKOUT_CTRL    0x630
+#define CS4321_HOST_SDS_COMMON_TXVCO0_CONTROL          0x63A
+#define CS4321_HOST_ML_SDS_COMMON_SRX0_RX_CONFIG       0x700
+#define CS4321_HOST_ML_SDS_COMMON_SRX0_RX_CLKDIV_CTRL  0x701
+#define CS4321_HOST_ML_SDS_COMMON_RXVCO0_CONTROL       0x70F
+#define CS4321_HOST_ML_SDS_COMMON_STXP0_TX_CONFIG      0x725
+#define CS4321_HOST_ML_SDS_COMMON_STXP0_TX_PWRDN       0x726
+#define CS4321_HOST_ML_SDS_COMMON_STXP0_TX_CLKDIV_CTRL 0x727
+#define CS4321_HOST_ML_SDS_COMMON_TXVCO0_CONTROL       0x731
+#define CS4321_XGPCS_LINE_TX_TXCNTRL                   0xA00
+#define CS4321_XGPCS_LINE_RX_RXCNTRL                   0xA20
+#define CS4321_XGPCS_HOST_TX_TXCNTRL                   0xA80
+#define CS4321_XGPCS_HOST_RX_RXCNTRL                   0xAA0
+#define CS4321_GIGEPCS_LINE_CONTROL                    0xC00
+#define CS4321_GIGEPCS_HOST_CONTROL                    0xC80
+#define CS4321_HIF_COMMON_TXCONTROL3                   0xD0B
+#define CS4321_XGRS_LINE_TX_TXCNTRL                    0xE00
+#define CS4321_XGRS_LINE_RX_RXCNTRL1                   0xE10
+#define CS4321_XGRS_HOST_TX_TXCNTRL                    0xE80
+#define CS4321_XGRS_HOST_RX_RXCNTRL1                   0xE90
+#define CS4321_XGMAC_LINE_RX_CFG_COM                   0xF00
+#define CS4321_XGMAC_LINE_TX_CFG_COM                   0xF40
+#define CS4321_XGMAC_LINE_TX_CFG_TX                    0xF41
+#define CS4321_XGMAC_LINE_TX_CFG_TX_IFG                        0xF43
+#define CS4321_XGMAC_HOST_RX_CFG_COM                   0xF80
+#define CS4321_XGMAC_HOST_TX_CFG_COM                   0xFC0
+#define CS4321_XGMAC_HOST_TX_CFG_TX                    0xFC1
+#define CS4321_XGMAC_HOST_TX_CFG_TX_IFG                        0xFC3
+#define CS4321_MAC_LAT_CTRL_RESET                      0x3000
+#define CS4321_MAC_LAT_CTRL_CONFIG                     0x3001
+#define CS4321_RADJ_INGRESS_RX_NRA_MIN_IFG             0x3204
+#define CS4321_RADJ_INGRESS_RX_NRA_SETTLE              0x3206
+#define CS4321_RADJ_INGRESS_TX_ADD_FILL_DATA1          0x3210
+#define CS4321_RADJ_INGRESS_TX_ADD_FILL_DATA0          0x3211
+#define CS4321_RADJ_INGRESS_TX_ADD_FILL_CTRL           0x3212
+#define CS4321_RADJ_INGRESS_TX_PRA_MIN_IFG             0x3214
+#define CS4321_RADJ_INGRESS_TX_PRA_SETTLE              0x3216
+#define CS4321_RADJ_INGRESS_MISC_RESET                 0x3220
+#define CS4321_RADJ_EGRESS_RX_NRA_MIN_IFG              0x3284
+#define CS4321_RADJ_EGRESS_RX_NRA_SETTLE               0x3286
+#define CS4321_RADJ_EGRESS_TX_ADD_FILL_DATA1           0x3290
+#define CS4321_RADJ_EGRESS_TX_ADD_FILL_DATA0           0x3291
+#define CS4321_RADJ_EGRESS_TX_ADD_FILL_CTRL            0x3292
+#define CS4321_RADJ_EGRESS_TX_PRA_MIN_IFG              0x3294
+#define CS4321_RADJ_EGRESS_TX_PRA_SETTLE               0x3296
+#define CS4321_RADJ_EGRESS_MISC_RESET                  0x32A0
+#define CS4321_PM_CTRL                                 0x3400
+#define CS4321_EEPROM_LOADER_CONTROL                   0x3F00
+#define CS4321_EEPROM_LOADER_STATUS                    0x3F01
+
+
+enum cs4321_host_mode {
+       RXAUI,
+       XAUI
+};
+
+struct cs4321_private {
+       enum cs4321_host_mode mode;
+};
+
+struct cs4321_reg_modify {
+       u16 reg;
+       u16 mask_bits;
+       u16 set_bits;
+};
+
+struct cs4321_multi_seq {
+       int reg_offset;
+       const struct cs4321_reg_modify *seq;
+};
+
+static const struct cs4321_reg_modify cs4321_soft_reset_registers[] = {
+       /* Enable all the clocks */
+       {CS4321_GLOBAL_INGRESS_CLKEN, 0, 0xffff},
+       {CS4321_GLOBAL_INGRESS_CLKEN2, 0, 0xffff},
+       {CS4321_GLOBAL_EGRESS_CLKEN, 0, 0xffff},
+       {CS4321_GLOBAL_EGRESS_CLKEN2, 0, 0xffff},
+       /* Reset MPIF registers */
+       {CS4321_GLOBAL_MPIF_RESET_DOTREG, 0, 0x0},
+       /* Re-assert the reset */
+       {CS4321_GLOBAL_MPIF_RESET_DOTREG, 0, 0xffff},
+
+       /* Disable all the clocks */
+       {CS4321_GLOBAL_INGRESS_CLKEN, 0, 0x0},
+       {CS4321_GLOBAL_INGRESS_CLKEN2, 0, 0x0},
+       {CS4321_GLOBAL_EGRESS_CLKEN, 0, 0x0},
+       {CS4321_GLOBAL_EGRESS_CLKEN2, 0, 0x0},
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_68xx_4_nic_init[] = {
+       /* Configure chip for common reference clock */
+       {CS4321_LINE_SDS_COMMON_STXP0_TX_CONFIG, 0, 0x2700},
+       /* Set GPIO3 to drive low to enable laser output*/
+       {CS4321_GPIO_GPIO3_DRIVE, 0, 0},
+       {CS4321_GPIO_GPIO3, 0, 0x11},
+       /* Set GPIO10 as GPIO_INT open-drain active low */
+       {CS4321_GPIO_GPIO_INTE, 0, 0},
+       {CS4321_GPIO_GPIO10_OUTPUT_CFG, 0, 6},
+       {CS4321_GPIO_GPIO10, 0, 0x0719},
+
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_prefix_seq[] = {
+       /* MPIF DeAssert System Reset */
+       {CS4321_GLOBAL_MPIF_RESET_DOTREG, ~0x0001, 0},
+       /*
+        * Make sure to stall the microsequencer before configuring
+        * the path.
+        */
+       {CS4321_GLOBAL_MSEQCLKCTRL, 0, 0x8004},
+       {CS4321_MSEQ_OPTIONS, 0, 0xf},
+       {CS4321_MSEQ_PC, 0, 0x0},
+       /*
+        * Correct some of the h/w defaults that are incorrect.
+        *
+        * The default value of the bias current is incorrect and needs to
+        * be corrected. This is normally done by Microcode but it doesn't
+        * always run.
+        */
+       {CS4321_DSP_SDS_SERDES_SRX_DAC_BIAS_SELECT0_MSB, 0, 0x20},
+       /*
+        * By default need to power on the voltage monitor since it is required
+        * by the temperature monitor and this is used by the microcode.
+        */
+       {CS4321_LINE_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x0},
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_ingress_local_timing_rxaui[] 
= {
+       {CS4321_LINE_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x0000},
+       {CS4321_LINE_SDS_COMMON_SRX0_RX_CPA, 0, 0x0057},
+       {CS4321_LINE_SDS_COMMON_SRX0_RX_LOOP_FILTER, 0, 0x0007},
+       {CS4321_LINE_SDS_COMMON_STX0_TX_CONFIG_LOCAL_TIMING, 0, 0x0001},
+       {CS4321_LINE_SDS_COMMON_STXP0_TX_CLKOUT_CTRL, 0, 0x0864},
+       {CS4321_LINE_SDS_COMMON_STXP0_TX_LOOP_FILTER, 0, 0x0027},
+       {CS4321_LINE_SDS_COMMON_STXP0_TX_PWRDN, 0, 0x0000},
+       {CS4321_GLOBAL_INGRESS_SOFT_RESET, ~0x1, 0x0001},
+       {CS4321_GLOBAL_INGRESS_SOFT_RESET, ~0x1, 0x0000},
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_egress_local_timing_rxaui[] 
= {
+       {CS4321_HOST_SDS_COMMON_SRX0_RX_CLKDIV_CTRL, 0, 0x40d1},
+       {CS4321_HOST_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x000c},
+       {CS4321_HOST_SDS_COMMON_STX0_TX_CONFIG_LOCAL_TIMING, 0, 0x0001},
+       {CS4321_HOST_SDS_COMMON_STXP0_TX_CLKDIV_CTRL, 0, 0x4091},
+       {CS4321_HOST_SDS_COMMON_STXP0_TX_CLKOUT_CTRL, 0, 0x1864},
+       {CS4321_HOST_SDS_COMMON_STXP0_TX_CONFIG, 0, 0x090c},
+       {CS4321_HOST_SDS_COMMON_STXP0_TX_PWRDN, 0, 0x0000},
+       {CS4321_HOST_ML_SDS_COMMON_SRX0_RX_CLKDIV_CTRL, 0, 0x401d},
+       {CS4321_HOST_ML_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x000c},
+       {CS4321_HOST_ML_SDS_COMMON_STXP0_TX_CLKDIV_CTRL, 0, 0x4019},
+       {CS4321_HOST_ML_SDS_COMMON_STXP0_TX_CONFIG, 0, 0x090c},
+       {CS4321_GLOBAL_EGRESS_SOFT_RESET, ~0x1, 0x0001},
+       {CS4321_GLOBAL_EGRESS_SOFT_RESET, ~0x1, 0x0000},
+       {CS4321_GLOBAL_EGRESS_SOFT_RESET, ~0x2, 0x0001},
+       {CS4321_GLOBAL_EGRESS_SOFT_RESET, ~0x2, 0x0000},
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_line_power_down[] = {
+       {CS4321_LINE_SDS_COMMON_STX0_TX_OUTPUT_CTRLA, 0, 0x0000},
+       {CS4321_LINE_SDS_COMMON_STX0_TX_OUTPUT_CTRLB, 0, 0x0000},
+       {CS4321_LINE_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x2040},
+       {CS4321_LINE_SDS_COMMON_SRX0_RX_VCO_CTRL, 0, 0x01e7},
+       {CS4321_MSEQ_POWER_DOWN_LSB, 0, 0x0000},
+       {CS4321_DSP_SDS_SERDES_SRX_DAC_ENABLEB_MSB, 0, 0xffff},
+       {CS4321_DSP_SDS_SERDES_SRX_DAC_ENABLEB_LSB, 0, 0xffff},
+       {CS4321_DSP_SDS_SERDES_SRX_AGC_MISC, 0, 0x0705},
+       {CS4321_DSP_SDS_SERDES_SRX_DFE_MISC, 0, 0x002b},
+       {CS4321_DSP_SDS_SERDES_SRX_FFE_PGA_CTRL, 0, 0x0021},
+       {CS4321_DSP_SDS_SERDES_SRX_FFE_MISC, 0, 0x0013},
+       {CS4321_DSP_SDS_SERDES_SRX_FFE_INBUF_CTRL, 0, 0x0001},
+       {CS4321_DSP_SDS_SERDES_SRX_DFE0_SELECT, 0, 0x0001},
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_ingress_rxaui_pcs_ra[] 
= {
+       /* Set fen_radj, rx_fen_xgpcs*/
+       {CS4321_GLOBAL_INGRESS_FUNCEN, ~0x0081, 0x0081},
+       /* Set rx_en_radj, rx_en_xgpcs*/
+       {CS4321_GLOBAL_INGRESS_CLKEN, ~0x0021, 0x0021},
+       /* Set tx_en_hif, tx_en_radj*/
+       {CS4321_GLOBAL_INGRESS_CLKEN2, ~0x0120, 0x0120},
+
+       {CS4321_GLOBAL_HOST_MULTILANE_CLKSEL, 0, 0x8000},
+       {CS4321_GLOBAL_HOST_MULTILANE_FUNCEN, 0, 0x0006},
+
+       {CS4321_GLOBAL_REF_SOFT_RESET, 0, 0xffff},
+       {CS4321_GLOBAL_REF_SOFT_RESET, 0, 0x0000},
+       /* MPIF DeAssert Ingress Reset */
+       {CS4321_GLOBAL_MPIF_RESET_DOTREG, ~0x0004, 0},
+
+       {CS4321_XGMAC_LINE_RX_CFG_COM, 0, 0x8010},
+       {CS4321_XGPCS_LINE_RX_RXCNTRL, 0, 0x5000},
+
+       {CS4321_RADJ_INGRESS_RX_NRA_MIN_IFG, 0, 0x0004},
+       {CS4321_RADJ_INGRESS_RX_NRA_SETTLE, 0, 0x0000},
+       {CS4321_RADJ_INGRESS_TX_ADD_FILL_CTRL, 0, 0xf001},
+       {CS4321_RADJ_INGRESS_TX_ADD_FILL_DATA0, 0, 0x0707},
+       {CS4321_RADJ_INGRESS_TX_ADD_FILL_DATA1, 0, 0x0707},
+       {CS4321_RADJ_INGRESS_TX_PRA_MIN_IFG, 0, 0x0004},
+       {CS4321_RADJ_INGRESS_TX_PRA_SETTLE, 0, 0x0000},
+       {CS4321_RADJ_INGRESS_MISC_RESET, 0, 0x0000},
+
+       {CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0002},
+       {CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0000},
+       {CS4321_RADJ_INGRESS_MISC_RESET, 0, 0x0000},
+
+       {CS4321_PM_CTRL, 0, 0x0000},
+       {CS4321_HIF_COMMON_TXCONTROL3, 0, 0x0010},
+
+       {CS4321_MSEQ_POWER_DOWN_LSB, 0, 0xe01f},
+
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_egress_rxaui_pcs_ra[] 
= {
+       /* Set tx_fen_xgpcs, fen_radj */
+       {CS4321_GLOBAL_EGRESS_FUNCEN, ~0x0180, 0x0180},
+       /* Set rx_en_hif, rx_en_radj*/
+       {CS4321_GLOBAL_EGRESS_CLKEN, ~0x0120, 0x0120},
+       /* Set tx_en_radj, tx_en_xgpcs*/
+       {CS4321_GLOBAL_EGRESS_CLKEN2, ~0x0021, 0x0021},
+
+       {CS4321_GLOBAL_HOST_MULTILANE_CLKSEL, 0, 0x8000},
+       {CS4321_GLOBAL_HOST_MULTILANE_FUNCEN, 0, 0x0006},
+
+       {CS4321_GLOBAL_REF_SOFT_RESET, 0, 0xffff},
+       {CS4321_GLOBAL_REF_SOFT_RESET, 0, 0x0000},
+       /* MPIF DeAssert Egress Reset */
+       {CS4321_GLOBAL_MPIF_RESET_DOTREG, ~0x0002, 0},
+
+       {CS4321_XGMAC_LINE_TX_CFG_COM, 0, 0xc000},
+       {CS4321_XGMAC_LINE_TX_CFG_TX_IFG, 0, 0x0005},
+       {CS4321_XGPCS_LINE_TX_TXCNTRL, 0, 0x0000},
+       {CS4321_XGRS_LINE_TX_TXCNTRL, 0, 0xc000},
+
+       {CS4321_RADJ_EGRESS_RX_NRA_MIN_IFG, 0, 0x0004},
+       {CS4321_RADJ_EGRESS_RX_NRA_SETTLE, 0, 0x0000},
+       {CS4321_RADJ_EGRESS_TX_ADD_FILL_CTRL, 0, 0xf001},
+       {CS4321_RADJ_EGRESS_TX_ADD_FILL_DATA0, 0, 0x0707},
+       {CS4321_RADJ_EGRESS_TX_ADD_FILL_DATA1, 0, 0x0707},
+       {CS4321_RADJ_EGRESS_TX_PRA_MIN_IFG, 0, 0x0004},
+       {CS4321_RADJ_EGRESS_TX_PRA_SETTLE, 0, 0x0000},
+       {CS4321_RADJ_EGRESS_MISC_RESET, 0, 0x0000},
+
+       {CS4321_PM_CTRL, 0, 0x0000},
+       {CS4321_HIF_COMMON_TXCONTROL3, 0, 0x0010},
+       {CS4321_MSEQ_POWER_DOWN_LSB, 0, 0xe01f},
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_global_timer_156_25[] = {
+       {CS4321_GLOBAL_GT_10KHZ_REF_CLK_CNT0, 0, 15625},
+       {CS4321_GLOBAL_GT_10KHZ_REF_CLK_CNT1, 0, 0},
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_mac_latency[] = {
+       {CS4321_MAC_LAT_CTRL_CONFIG, 0, 0},
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_ref_clk_src_xaui_rxaui[] = {
+       /* Set edc_stxp_lptime_sel = 1, edc_stxp_pilot_sel = 7 */
+       {CS4321_GLOBAL_MISC_CONFIG, (u16)~0xe700, 0x2700},
+       /* Set STXP_PILOT_SEL = 7, STXP_LPTIME_SEL = 1 */
+       {CS4321_LINE_SDS_COMMON_STXP0_TX_CONFIG, (u16)~0xe700, 0x2700},
+       {0}
+};
+
+
+static const struct cs4321_reg_modify cs4321_init_polarity_inv[] = {
+       /* Inversion disabled*/
+       /* config the slice not to invert polarity on egress */
+       {CS4321_HOST_SDS_COMMON_SRX0_RX_CONFIG, ~0x0800, 0},
+       /* config the slice not to invert polarity on ingress */
+       {CS4321_MSEQ_ENABLE_MSB, ~0x4000, 0},
+       {0}
+};
+
+#if 0
+static const struct cs4321_reg_modify cs4321_hsif_elec_mode_set_cx1_pre[] = {
+       /* Stop the micro-sequencer */
+       {CS4321_GLOBAL_MSEQCLKCTRL, 0, 0x8004},
+       {CS4321_MSEQ_OPTIONS, 0, 0xf},
+       {CS4321_MSEQ_PC, 0, 0x0},
+
+       {CS4321_MSEQ_COEF_DSP_DRIVE128, 0, 0x0114},
+       {CS4321_MSEQ_COEF_INIT_SEL,     0, 0x0004},
+       {CS4321_MSEQ_LEAK_INTERVAL_FFE, 0, 0x8010},
+       {CS4321_MSEQ_BANKSELECT, 0, 0x2},
+       {CS4321_LINE_SDS_COMMON_SRX0_RX_CPA, 0, 0x55},
+       {CS4321_LINE_SDS_COMMON_SRX0_RX_LOOP_FILTER, 0, 0x3},
+       {CS4321_DSP_SDS_SERDES_SRX_DFE0_SELECT, 0, 0x1},
+       {CS4321_DSP_SDS_DSP_COEF_DFE0_SELECT, 0, 0x2},
+       {CS4321_LINE_SDS_COMMON_SRX0_RX_CPB, 0, 0x2003},
+       {CS4321_DSP_SDS_SERDES_SRX_FFE_DELAY_CTRL, 0, 0xF047},
+       {CS4321_MSEQ_RESET_COUNT_LSB, 0, 0x0},
+       /* enable power savings, ignore optical module LOS */
+       {CS4321_MSEQ_SPARE2_LSB, 0, 0x5},
+
+       {CS4321_MSEQ_SPARE9_LSB, 0, 0x5},
+
+       {CS4321_MSEQ_CAL_RX_PHSEL, 0, 0x23},
+       {CS4321_DSP_SDS_DSP_COEF_LARGE_LEAK, 0, 0x2},
+       {CS4321_DSP_SDS_SERDES_SRX_DAC_ENABLEB_LSB, 0, 0x5000},
+       {CS4321_MSEQ_POWER_DOWN_LSB, 0, 0xFFFF},
+       {CS4321_MSEQ_POWER_DOWN_MSB, 0, 0x0},
+       {CS4321_MSEQ_CAL_RX_SLICER, 0, 0x80},
+       {CS4321_LINE_SDS_COMMON_SRX0_RX_SPARE, 0, 0xE0E0},
+       {CS4321_DSP_SDS_SERDES_SRX_DAC_BIAS_SELECT1_MSB, 0, 0xff},
+
+       {CS4321_MSEQ_SERDES_PARAM_LSB, 0, 0x0603},
+       {CS4321_MSEQ_SPARE11_LSB, 0, 0x0603},
+
+
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_hsif_elec_mode_set_cx1_2in[] = {
+       {CS4321_MSEQ_SPARE15_LSB, 0, 0x0603},
+       {CS4321_MSEQ_SPARE21_LSB, 0, 0xE},
+       {CS4321_MSEQ_SPARE23_LSB, 0, 0x0},
+       {CS4321_MSEQ_CAL_RX_DFE_EQ, 0, 0x3},
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_hsif_elec_mode_set_cx1_post[] = {
+       /* Restart the micro-sequencer */
+       {CS4321_GLOBAL_MSEQCLKCTRL, 0, 0x4},
+       {CS4321_MSEQ_OPTIONS, 0, 0x7},
+       {0}
+};
+#endif
+
+static const struct cs4321_reg_modify cs4321_hsif_elec_mode_set_sr_pre[] = {
+       /* Stop the micro-sequencer */
+       {CS4321_GLOBAL_MSEQCLKCTRL, 0, 0x8004},
+       {CS4321_MSEQ_OPTIONS, 0, 0xf},
+       {CS4321_MSEQ_PC, 0, 0x0},
+
+       /* Configure the micro-sequencer for an SR transceiver */
+       {CS4321_MSEQ_COEF_DSP_DRIVE128, 0, 0x0134},
+       {CS4321_MSEQ_COEF_INIT_SEL, 0, 0x0006},
+       {CS4321_MSEQ_LEAK_INTERVAL_FFE, 0, 0x8010},
+       {CS4321_MSEQ_BANKSELECT, 0, 0x0},
+       {CS4321_LINE_SDS_COMMON_SRX0_RX_CPA, 0, 0x55},
+       {CS4321_LINE_SDS_COMMON_SRX0_RX_LOOP_FILTER, 0, 0x3},
+       {CS4321_DSP_SDS_SERDES_SRX_DFE0_SELECT, 0, 0x1},
+       {CS4321_DSP_SDS_DSP_COEF_DFE0_SELECT, 0, 0x2},
+       {CS4321_LINE_SDS_COMMON_SRX0_RX_CPB, 0, 0x2003},
+       {CS4321_DSP_SDS_SERDES_SRX_FFE_DELAY_CTRL, 0, 0xF048},
+
+       {CS4321_MSEQ_RESET_COUNT_LSB, 0, 0x0},
+       /* enable power savings, ignore */
+       {CS4321_MSEQ_SPARE2_LSB, 0, 0x5},
+
+       {CS4321_MSEQ_SPARE9_LSB, 0, 0x5},
+
+       {CS4321_MSEQ_CAL_RX_PHSEL, 0, 0x1e},
+       {CS4321_DSP_SDS_DSP_COEF_LARGE_LEAK, 0, 0x2},
+       {CS4321_DSP_SDS_SERDES_SRX_DAC_ENABLEB_LSB, 0, 0xD000},
+       {CS4321_MSEQ_POWER_DOWN_LSB, 0, 0xFFFF},
+       {CS4321_MSEQ_POWER_DOWN_MSB, 0, 0x0},
+       {CS4321_MSEQ_CAL_RX_SLICER, 0, 0x80},
+       {CS4321_LINE_SDS_COMMON_SRX0_RX_SPARE, 0, 0xE0E0},
+       {CS4321_DSP_SDS_SERDES_SRX_DAC_BIAS_SELECT1_MSB, 0, 0xff},
+
+       /* Setup the trace lengths for the micro-sequencer */
+       {CS4321_MSEQ_SERDES_PARAM_LSB, 0, 0x0603},
+
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_hsif_elec_mode_set_sr_2in[] = {
+       {CS4321_MSEQ_CAL_RX_EQADJ, 0, 0x0},
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_hsif_elec_mode_set_sr_post[] = {
+       {CS4321_MSEQ_CAL_RX_DFE_EQ, 0, 0x0},
+       /* Restart the micro-sequencer */
+       {CS4321_GLOBAL_MSEQCLKCTRL, 0, 0x4},
+       {CS4321_MSEQ_OPTIONS, 0, 0x7},
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_resync_vcos_xaui_rxaui[] = {
+       {CS4321_HOST_SDS_COMMON_RXVCO0_CONTROL,  (u16)~0x8000, 0x8000},
+       {CS4321_HOST_SDS_COMMON_RXVCO0_CONTROL,  (u16)~0x8000, 0},
+
+       {CS4321_HOST_SDS_COMMON_TXVCO0_CONTROL,  (u16)~0x8000, 0x8000},
+       {CS4321_HOST_SDS_COMMON_TXVCO0_CONTROL,  (u16)~0x8000, 0},
+
+       {CS4321_LINE_SDS_COMMON_RXVCO0_CONTROL,  (u16)~0x8000, 0x8000},
+       {CS4321_LINE_SDS_COMMON_RXVCO0_CONTROL,  (u16)~0x8000, 0},
+
+       {CS4321_LINE_SDS_COMMON_TXVCO0_CONTROL,  (u16)~0x8000, 0x8000},
+       {CS4321_LINE_SDS_COMMON_TXVCO0_CONTROL,  (u16)~0x8000, 0},
+
+       {CS4321_HOST_ML_SDS_COMMON_RXVCO0_CONTROL,  (u16)~0x8000, 0x8000},
+       {CS4321_HOST_ML_SDS_COMMON_RXVCO0_CONTROL,  (u16)~0x8000, 0},
+
+       {CS4321_HOST_ML_SDS_COMMON_TXVCO0_CONTROL,  (u16)~0x8000, 0x8000},
+       {CS4321_HOST_ML_SDS_COMMON_TXVCO0_CONTROL,  (u16)~0x8000, 0},
+
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_toggle_resets_xaui_rxaui[] = {
+       {CS4321_HOST_ML_SDS_COMMON_SRX0_RX_CONFIG, ~0x0020, 0},
+       {CS4321_HOST_ML_SDS_COMMON_STXP0_TX_PWRDN, ~0x0100, 0},
+
+       /*
+        * Now that the device is configured toggle the ingress and
+        * egress soft resets to make sure the device re-syncs
+        * properly.
+        */
+       {CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x3},
+       {CS4321_GLOBAL_EGRESS_SOFT_RESET,  0, 0x3},
+       {CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0000},
+       {CS4321_GLOBAL_EGRESS_SOFT_RESET,  0, 0x0000},
+
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_xaui_egress[] = {
+       {CS4321_LINE_SDS_COMMON_STX0_TX_CONFIG_LOCAL_TIMING, 0, 0x0001},
+       {CS4321_LINE_SDS_COMMON_STXP0_TX_CLKOUT_CTRL, 0, 0x0864},
+       {CS4321_LINE_SDS_COMMON_STXP0_TX_LOOP_FILTER, 0, 0x0027},
+       {CS4321_LINE_SDS_COMMON_STXP0_TX_PWRDN, 0, 0x0000},
+
+       {CS4321_HOST_SDS_COMMON_SRX0_RX_CLKDIV_CTRL, 0, 0x45d2},
+       {CS4321_HOST_SDS_COMMON_SRX0_RX_CLKOUT_CTRL, 0, 0x6a03},
+       {CS4321_HOST_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x000c},
+       {CS4321_HOST_ML_SDS_COMMON_SRX0_RX_CLKDIV_CTRL, 0, 0x412d},
+       {CS4321_HOST_ML_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x000c},
+
+       {CS4321_LINE_SDS_COMMON_STX0_TX_CONFIG_LOCAL_TIMING, 0, 0x0001},
+       {CS4321_LINE_SDS_COMMON_STXP0_TX_CLKOUT_CTRL, 0, 0x0864},
+       {CS4321_LINE_SDS_COMMON_STXP0_TX_LOOP_FILTER, 0, 0x0027},
+       {CS4321_LINE_SDS_COMMON_STXP0_TX_PWRDN, 0, 0x0000},
+
+       {CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0003},
+       {CS4321_GLOBAL_EGRESS_SOFT_RESET, 0, 0xffff},
+       {CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0000},
+       {CS4321_GLOBAL_EGRESS_SOFT_RESET, 0, 0x0000},
+       {CS4321_GLOBAL_REF_SOFT_RESET, 0, 0xffff},
+       {CS4321_GLOBAL_REF_SOFT_RESET, 0, 0x0000},
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_xaui_ingress[] = {
+       {CS4321_LINE_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x0000},
+       {CS4321_LINE_SDS_COMMON_SRX0_RX_CPA, 0, 0x0057},
+       {CS4321_LINE_SDS_COMMON_SRX0_RX_LOOP_FILTER, 0, 0x0007},
+
+       {CS4321_HOST_SDS_COMMON_STX0_TX_CONFIG_LOCAL_TIMING, 0, 0x0001},
+       {CS4321_HOST_SDS_COMMON_STXP0_TX_CLKDIV_CTRL, 0, 0x4492},
+       {CS4321_HOST_SDS_COMMON_STXP0_TX_CLKOUT_CTRL, 0, 0x1864},
+       {CS4321_HOST_SDS_COMMON_STXP0_TX_CONFIG, 0, 0x090c},
+       {CS4321_HOST_SDS_COMMON_STXP0_TX_PWRDN, 0, 0x0000},
+       {CS4321_HOST_ML_SDS_COMMON_STXP0_TX_CLKDIV_CTRL, 0, 0x4429},
+       {CS4321_HOST_ML_SDS_COMMON_STXP0_TX_CONFIG, 0, 0x090c},
+
+       {CS4321_LINE_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x0000},
+       {CS4321_LINE_SDS_COMMON_SRX0_RX_CPA, 0, 0x0057},
+       {CS4321_LINE_SDS_COMMON_SRX0_RX_LOOP_FILTER, 0, 0x0007},
+
+       {CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0003},
+       {CS4321_GLOBAL_EGRESS_SOFT_RESET, 0, 0xffff},
+       {CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0000},
+       {CS4321_GLOBAL_EGRESS_SOFT_RESET, 0, 0x0000},
+       {CS4321_GLOBAL_REF_SOFT_RESET, 0, 0xffff},
+       {CS4321_GLOBAL_REF_SOFT_RESET, 0, 0x0000},
+       {0}
+};
+
+static const struct cs4321_reg_modify 
cs4321_init_dpath_xaui_pcs_ra_ingress_1[] = {
+       {CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0002},
+       {CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0000},
+       {CS4321_HOST_SDS_COMMON_STXP0_TX_PWRDN, 0, 0x0000},
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_2e[] = {
+       {CS4321_GLOBAL_HOST_MULTILANE_CLKSEL, 0, 0x8000},
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_2o[] = {
+       {CS4321_GLOBAL_HOST_MULTILANE_CLKSEL, 0, 0x8300},
+       {0}
+};
+
+static const struct cs4321_reg_modify 
cs4321_init_dpath_xaui_pcs_ra_ingress_3[] = {
+       /* Set the device in XAUI mode */
+       {CS4321_GLOBAL_HOST_MULTILANE_FUNCEN, 0, 0x0005},
+
+       /* Enable the XGPCS and the Rate Adjust block */
+       /* Set fen_radj, rx_fen_xgpcs */
+       {CS4321_GLOBAL_INGRESS_FUNCEN, ~0x0081, 0x0081},
+
+       /* Setup the clock enables for the XGPCS and Rate Adjust block */
+       /* Set rx_en_radj, rx_en_xgpcs */
+       {CS4321_GLOBAL_INGRESS_CLKEN, ~0x0021, 0x0021},
+
+       /* Setup the clock enables for the HIF and the Rate Adjust block */
+       /* Set tx_en_hif, tx_en_radj */
+       {CS4321_GLOBAL_INGRESS_CLKEN2, ~0x0120, 0x0120},
+
+       {CS4321_GLOBAL_REF_SOFT_RESET, 0, 0xffff},
+       {CS4321_GLOBAL_REF_SOFT_RESET, 0, 0x0000},
+       /* MPIF DeAssert Ingress Reset */
+       {CS4321_GLOBAL_MPIF_RESET_DOTREG, ~0x0004, 0},
+
+       {0}
+};
+
+static const struct cs4321_reg_modify 
cs4321_init_dpath_xaui_pcs_ra_ingress_4e[] = {
+       {CS4321_XGMAC_LINE_RX_CFG_COM, 0, 0x8010},
+       {0}
+};
+
+static const struct cs4321_reg_modify 
cs4321_init_dpath_xaui_pcs_ra_ingress_4o[] = {
+       {0}
+};
+
+static const struct cs4321_reg_modify 
cs4321_init_dpath_xaui_pcs_ra_ingress_5[] = {
+       {CS4321_XGMAC_HOST_TX_CFG_TX_IFG, 0, 0x0005},
+       {CS4321_XGPCS_LINE_RX_RXCNTRL, 0, 0x5000},
+       {CS4321_XGRS_HOST_TX_TXCNTRL, 0, 0xc000},
+       {CS4321_GIGEPCS_LINE_CONTROL, 0, 0x0000},
+       {CS4321_GIGEPCS_HOST_CONTROL, 0, 0x0000},
+
+       {CS4321_RADJ_INGRESS_RX_NRA_MIN_IFG, 0, 0x0004},
+       {CS4321_RADJ_INGRESS_RX_NRA_SETTLE, 0, 0x0000},
+       {CS4321_RADJ_INGRESS_TX_ADD_FILL_CTRL, 0, 0xf001},
+       {CS4321_RADJ_INGRESS_TX_ADD_FILL_DATA0, 0, 0x0707},
+       {CS4321_RADJ_INGRESS_TX_ADD_FILL_DATA1, 0, 0x0707},
+       {CS4321_RADJ_INGRESS_TX_PRA_MIN_IFG, 0, 0x0004},
+       {CS4321_RADJ_INGRESS_TX_PRA_SETTLE, 0, 0x0000},
+       {CS4321_RADJ_INGRESS_MISC_RESET, 0, 0x0000},
+       {CS4321_PM_CTRL, 0, 0x0002},
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_6e[] = {
+       {CS4321_HIF_COMMON_TXCONTROL3, 0, 0x0010},
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_6o[] = {
+       {CS4321_HIF_COMMON_TXCONTROL3, 0, 0x0011},
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_egress_1[] 
= {
+       {CS4321_GLOBAL_EGRESS_SOFT_RESET, 0, 0x1},
+       {CS4321_GLOBAL_EGRESS_SOFT_RESET, 0, 0x0000},
+       {CS4321_LINE_SDS_COMMON_STXP0_TX_PWRDN, 0, 0x0000},
+
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_egress_3[] 
= {
+       /* Set the device in XAUI mode */
+       {CS4321_GLOBAL_HOST_MULTILANE_FUNCEN, 0x0005},
+
+       /* Enable the XGPCS and the Rate Adjust block */
+       /* Set tx_fen_xgpcs, fen_radj */
+       {CS4321_GLOBAL_EGRESS_FUNCEN, ~0x0180, 0x0180},
+
+       /* Setup the clock enables for the HIF and the Rate Adjust block */
+       /* Set rx_en_hif, rx_en_radj */
+       {CS4321_GLOBAL_EGRESS_CLKEN, ~0x0120, 0x0120},
+
+       /* Setup the clock enables for the XGPCS and Rate Adjust block */
+       /* Set tx_en_radj, tx_en_xgpcs */
+       {CS4321_GLOBAL_EGRESS_CLKEN2, ~0x0021, 0x0021},
+
+       {CS4321_GLOBAL_REF_SOFT_RESET, 0xffff},
+       {CS4321_GLOBAL_REF_SOFT_RESET, 0x0000},
+
+       /* MPIF DeAssert Egress Reset */
+       {CS4321_GLOBAL_MPIF_RESET_DOTREG, ~0x0002, 0},
+
+       {0}
+};
+
+static const struct cs4321_reg_modify 
cs4321_init_dpath_xaui_pcs_ra_egress_4e[] = {
+       {0}
+};
+
+static const struct cs4321_reg_modify 
cs4321_init_dpath_xaui_pcs_ra_egress_4o[] = {
+       {CS4321_XGMAC_LINE_TX_CFG_COM, 0, 0xc000},
+       {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_egress_5[] 
= {
+       {CS4321_XGMAC_LINE_TX_CFG_TX_IFG, 0, 0x0005},
+       {CS4321_XGPCS_LINE_TX_TXCNTRL, 0, 0x0000},
+       {CS4321_XGRS_LINE_TX_TXCNTRL, 0, 0xc000},
+
+       {CS4321_RADJ_EGRESS_RX_NRA_MIN_IFG, 0, 0x0004},
+       {CS4321_RADJ_EGRESS_RX_NRA_SETTLE, 0, 0x0000},
+       {CS4321_RADJ_EGRESS_TX_ADD_FILL_CTRL, 0, 0xf001},
+       {CS4321_RADJ_EGRESS_TX_ADD_FILL_DATA0, 0, 0x0707},
+       {CS4321_RADJ_EGRESS_TX_ADD_FILL_DATA1, 0, 0x0707},
+       {CS4321_RADJ_EGRESS_TX_PRA_MIN_IFG, 0, 0x0004},
+       {CS4321_RADJ_EGRESS_TX_PRA_SETTLE, 0, 0x0000},
+       {CS4321_RADJ_EGRESS_MISC_RESET, 0, 0x0000},
+       {CS4321_PM_CTRL, 0, 0x0002},
+       {0}
+};
+
+const struct cs4321_multi_seq cs4321_init_rxaui_seq[] = {
+       {0, cs4321_init_prefix_seq},
+       {0, cs4321_init_egress_local_timing_rxaui},
+       {0, cs4321_init_ingress_local_timing_rxaui},
+       {0, cs4321_init_dpath_ingress_rxaui_pcs_ra},
+       {0, cs4321_init_dpath_egress_rxaui_pcs_ra},
+       {0, cs4321_resync_vcos_xaui_rxaui},
+       {0, cs4321_toggle_resets_xaui_rxaui},
+       {0, cs4321_hsif_elec_mode_set_sr_pre},
+       {0, cs4321_hsif_elec_mode_set_sr_2in},
+       {0, cs4321_hsif_elec_mode_set_sr_post},
+       {0, cs4321_init_global_timer_156_25},
+       {0, cs4321_init_mac_latency},
+       {0, cs4321_init_ref_clk_src_xaui_rxaui},
+       {0, cs4321_init_polarity_inv},
+
+       {0, NULL}
+};
+
+const struct cs4321_multi_seq cs4321_init_xaui_seq[] = {
+       {0, cs4321_init_prefix_seq},
+       /* Init egress even and odd */
+       {0, cs4321_init_xaui_egress},
+       {1, cs4321_init_xaui_egress},
+
+       /* Init ingress even and odd */
+       {0, cs4321_init_xaui_ingress},
+       {1, cs4321_init_xaui_ingress},
+
+       /* dpath ingress even and odd */
+       {0, cs4321_init_dpath_xaui_pcs_ra_ingress_1},
+       {0, cs4321_init_dpath_xaui_pcs_ra_2e},
+       {0, cs4321_init_dpath_xaui_pcs_ra_ingress_3},
+       {0, cs4321_init_dpath_xaui_pcs_ra_ingress_4e},
+       {0, cs4321_init_dpath_xaui_pcs_ra_ingress_5},
+       {0, cs4321_init_dpath_xaui_pcs_ra_6e},
+
+
+       {1, cs4321_init_dpath_xaui_pcs_ra_ingress_1},
+       {1, cs4321_init_dpath_xaui_pcs_ra_2o},
+       {1, cs4321_init_dpath_xaui_pcs_ra_ingress_3},
+       {1, cs4321_init_dpath_xaui_pcs_ra_ingress_4o},
+       {1, cs4321_init_dpath_xaui_pcs_ra_ingress_5},
+       {1, cs4321_init_dpath_xaui_pcs_ra_6o},
+
+       /* dpath egress even and odd */
+       {0, cs4321_init_dpath_xaui_pcs_ra_egress_1},
+       {0, cs4321_init_dpath_xaui_pcs_ra_2e},
+       {0, cs4321_init_dpath_xaui_pcs_ra_egress_3},
+       {0, cs4321_init_dpath_xaui_pcs_ra_egress_4e},
+       {0, cs4321_init_dpath_xaui_pcs_ra_egress_5},
+       {0, cs4321_init_dpath_xaui_pcs_ra_6e},
+
+       {1, cs4321_init_dpath_xaui_pcs_ra_egress_1},
+       {1, cs4321_init_dpath_xaui_pcs_ra_2o},
+       {1, cs4321_init_dpath_xaui_pcs_ra_egress_3},
+       {1, cs4321_init_dpath_xaui_pcs_ra_egress_4o},
+       {1, cs4321_init_dpath_xaui_pcs_ra_egress_5},
+       {1, cs4321_init_dpath_xaui_pcs_ra_6o},
+
+       /* power down the odd slice's line side */
+       {1, cs4321_init_line_power_down},
+
+       {0, cs4321_resync_vcos_xaui_rxaui},
+       {0, cs4321_toggle_resets_xaui_rxaui},
+       {0, cs4321_hsif_elec_mode_set_sr_pre},
+       {0, cs4321_hsif_elec_mode_set_sr_2in},
+       {0, cs4321_hsif_elec_mode_set_sr_post},
+       {0, cs4321_init_global_timer_156_25},
+       {0, cs4321_init_mac_latency},
+       {0, cs4321_init_ref_clk_src_xaui_rxaui},
+       {0, cs4321_init_polarity_inv},
+
+       {0, NULL}
+};
+
+static int cs4321_phy_read_x(struct phy_device *phydev, int off, u16 regnum)
+{
+       return mdiobus_read(phydev->bus, phydev->addr + off,
+                           MII_ADDR_C45 | regnum);
+}
+
+static int cs4321_phy_write_x(struct phy_device *phydev, int off,
+                             u16 regnum, u16 val)
+{
+       return mdiobus_write(phydev->bus, phydev->addr + off,
+                            MII_ADDR_C45 | regnum, val);
+}
+static int cs4321_phy_read(struct phy_device *phydev, u16 regnum)
+{
+       return cs4321_phy_read_x(phydev, 0, regnum);
+}
+
+static int cs4321_phy_write(struct phy_device *phydev, u16 regnum, u16 val)
+{
+       return cs4321_phy_write_x(phydev, 0, regnum, val);
+}
+
+static int cs4321_write_seq_x(struct phy_device *phydev, int off,
+                           const struct cs4321_reg_modify *seq)
+{
+       int last_reg = -1;
+       int last_val = 0;
+       int ret = 0;
+
+       while (seq->reg) {
+               if (seq->mask_bits) {
+                       if (last_reg != seq->reg) {
+                               ret = cs4321_phy_read_x(phydev, off, seq->reg);
+                               if (ret < 0)
+                                       goto err;
+                               last_val = ret;
+                       }
+                       last_val &= seq->mask_bits;
+               } else {
+                       last_val = 0;
+               }
+               last_val |= seq->set_bits;
+               ret = cs4321_phy_write_x(phydev, off, seq->reg, last_val);
+               if (ret < 0)
+                       goto err;
+               seq++;
+       }
+err:
+       return ret;
+}
+
+static int cs4321_write_multi_seq(struct phy_device *phydev,
+                                 const struct cs4321_multi_seq *m)
+{
+       int ret = 0;
+
+       while (m->seq) {
+               ret = cs4321_write_seq_x(phydev, m->reg_offset, m->seq);
+               if (ret)
+                       goto err;
+               m++;
+       }
+
+err:
+       return ret;
+}
+
+static int cs4321_write_seq(struct phy_device *phydev,
+                           const struct cs4321_reg_modify *seq)
+{
+       return cs4321_write_seq_x(phydev, 0, seq);
+}
+
+static int cs4321_write_multi_reg(struct phy_device *phydev, u16 *dat, int cnt)
+{
+       int i;
+       int ret = 0;
+       for (i = 0; i < (cnt * 2); i += 2) {
+               u16 reg = dat[i];
+               u16 val = dat[i + 1];
+               ret = cs4321_phy_write(phydev, reg, val);
+               if (ret)
+                       break;
+       }
+       return ret;
+}
+
+static int cs4321_write_microcode_slice(struct phy_device *phydev, int s)
+{
+       int i;
+       int ret;
+
+       ret = cs4321_phy_write(phydev, 0x024f, s);
+       if (ret)
+               return ret;
+
+       for (i = 0; i < 512; i++) {
+               ret = cs4321_phy_write(phydev,
+                                      0x0201,
+                                      cs4321_microcode_slices[s][2 * i + 0]);
+               if (ret)
+                       return ret;
+
+               ret = cs4321_phy_write(phydev,
+                                      0x0202,
+                                      cs4321_microcode_slices[s][2 * i + 1]);
+               if (ret)
+                       return ret;
+               ret = cs4321_phy_write(phydev, 0x0200, 0x9000 + i);
+               if (ret)
+                       return ret;
+       }
+       return 0;
+}
+
+static int cs4321_write_microcode(struct phy_device *phydev)
+{
+       int i;
+       int ret;
+
+       ret = cs4321_write_multi_reg(phydev,
+                                    cs4321_microcode_prolog,
+                                    ARRAY_SIZE(cs4321_microcode_prolog) / 2);
+       if (ret)
+               return ret;
+
+       for (i = 0; i < 8; i++) {
+               ret = cs4321_write_microcode_slice(phydev, i);
+               if (ret)
+                       return ret;
+       }
+       ret = cs4321_write_multi_reg(phydev,
+                                    cs4321_microcode_epilog,
+                                    ARRAY_SIZE(cs4321_microcode_epilog) / 2);
+       return ret;
+}
+
+static int cs4321_reset(struct phy_device *phydev)
+{
+       int ret;
+       int retry;
+
+       ret = cs4321_phy_write(phydev, CS4321_GLOBAL_MPIF_SOFT_RESET, 0xdead);
+       if (ret)
+               goto err;
+
+       msleep(100);
+
+       /* Disable eeprom loading */
+       ret = cs4321_phy_write(phydev, CS4321_EEPROM_LOADER_CONTROL, 2);
+       if (ret)
+               goto err;
+
+       retry = 0;
+       do {
+               if (retry > 0)
+                       mdelay(1);
+               ret = cs4321_phy_read(phydev, CS4321_EEPROM_LOADER_STATUS);
+               if (ret < 0)
+                       goto err;
+               retry++;
+       } while ((ret & 4) == 0 && retry < 10);
+
+       if ((ret & 4) == 0) {
+               ret = -ENXIO;
+               goto err;
+       }
+
+       ret = cs4321_write_seq(phydev, cs4321_soft_reset_registers);
+       if (ret)
+               goto err;
+
+       ret = cs4321_write_microcode(phydev);
+       if (ret)
+               goto err;
+
+
+       ret = cs4321_write_seq(phydev, cs4321_68xx_4_nic_init);
+       if (ret)
+               goto err;
+
+err:
+       return ret;
+}
+
+int cs4321_init_rxaui(struct phy_device *phydev)
+{
+       return cs4321_write_multi_seq(phydev,
+                                     cs4321_init_rxaui_seq);
+}
+
+int cs4321_init_xaui(struct phy_device *phydev)
+{
+       return cs4321_write_multi_seq(phydev,
+                                     cs4321_init_xaui_seq);
+
+}
+
+int cs4321_config_init(struct phy_device *phydev)
+{
+       int ret;
+       struct cs4321_private *p = phydev->priv;
+       const struct cs4321_multi_seq *init_seq;
+
+       ret = cs4321_reset(phydev);
+       if (ret)
+               goto err;
+
+       init_seq = (p->mode == XAUI) ?
+               cs4321_init_xaui_seq : cs4321_init_rxaui_seq;
+
+       ret = cs4321_write_multi_seq(phydev, init_seq);
+
+       phydev->state = PHY_NOLINK;
+
+err:
+       return ret;
+}
+
+int cs4321_probe(struct phy_device *phydev)
+{
+       int ret = 0;
+       int id_lsb, id_msb;
+       enum cs4321_host_mode host_mode;
+       const char *prop_val;
+       struct cs4321_private *p;
+       /*
+        * CS4312 keeps its ID values in non-standard registers, make
+        * sure we are talking to what we think we are.
+        */
+       id_lsb = cs4321_phy_read(phydev, CS4321_GLOBAL_CHIP_ID_LSB);
+       if (id_lsb < 0) {
+               ret = id_lsb;
+               goto err;
+       }
+
+       id_msb = cs4321_phy_read(phydev, CS4321_GLOBAL_CHIP_ID_MSB);
+       if (id_msb < 0) {
+               ret = id_msb;
+               goto err;
+       }
+
+       if (id_lsb != 0x23E5 || id_msb != 0x1002) {
+               ret = -ENODEV;
+               goto err;
+       }
+       ret = of_property_read_string(phydev->dev.of_node,
+                                     "cortina,host-mode", &prop_val);
+       if (ret)
+               goto err;
+
+       if (strcmp(prop_val, "rxaui") == 0)
+               host_mode = RXAUI;
+       else if (strcmp(prop_val, "xaui") == 0)
+               host_mode = XAUI;
+       else {
+               dev_err(&phydev->dev,
+                       "Invalid \"cortina,host-mode\" property: \"%s\"\n",
+                       prop_val);
+               ret = -EINVAL;
+               goto err;
+       }
+       p = devm_kzalloc(&phydev->dev, sizeof(*p), GFP_KERNEL);
+       if (!p) {
+               ret = -ENOMEM;
+               goto err;
+       }
+       p->mode = host_mode;
+       phydev->priv = p;
+err:
+       return ret;
+}
+
+int cs4321_config_aneg(struct phy_device *phydev)
+{
+       return -EINVAL;
+}
+
+int cs4321_read_status(struct phy_device *phydev)
+{
+       int gpio_int_status;
+       int ret = 0;
+
+       gpio_int_status = cs4321_phy_read(phydev, CS4321_GPIO_GPIO_INTS);
+       if (gpio_int_status < 0) {
+               ret = gpio_int_status;
+               goto err;
+       }
+       if (gpio_int_status & 0x8) {
+               /* Up when edc_convergedS set. */
+               phydev->speed = 10000;
+               phydev->duplex = 1;
+               phydev->link = 1;
+       } else {
+               phydev->link = 0;
+       }
+
+err:
+       return ret;
+}
+
+static struct of_device_id cs4321_match[] = {
+       {
+               .compatible = "cortina,cs4321",
+       },
+       {
+               .compatible = "cortina,cs4318",
+       },
+       {},
+};
+MODULE_DEVICE_TABLE(of, cs4321_match);
+
+static struct phy_driver cs4321_phy_driver = {
+       .phy_id         = 0xffffffff,
+       .phy_id_mask    = 0xffffffff,
+       .name           = "Cortina CS4321",
+       .config_init    = cs4321_config_init,
+       .probe          = cs4321_probe,
+       .config_aneg    = cs4321_config_aneg,
+       .read_status    = cs4321_read_status,
+       .driver         = {
+               .owner = THIS_MODULE,
+               .of_match_table = cs4321_match,
+       },
+};
+
+static int __init cs4321_drv_init(void)
+{
+       int ret;
+
+       ret = phy_driver_register(&cs4321_phy_driver);
+
+       return ret;
+}
+module_init(cs4321_drv_init);
+
+static void __exit cs4321_drv_exit(void)
+{
+       phy_driver_unregister(&cs4321_phy_driver);
+}
+module_exit(cs4321_drv_exit);
-- 
1.7.2.3


<Prev in Thread] Current Thread [Next in Thread>