Skip to contentSkip to conversation

acpi: pci_root: fix NULL pointer deref after resume from suspend

PATCH In review Xiaotian Feng 3 participants 22 messages Sep 28, 2009 – Oct 12, 2009

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 acpi: pci_root: fix NULL pointer deref after resume from suspend

commit 275582 introduces acpi_get_pci_dev(), but pdev->subordinate can be NULL, then a NULL was passed to pci_get_slot, this results the kernel oops when resume from suspend.

This patch resolves following kernel oops:

BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
IP: [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
---
 drivers/acpi/pci_root.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
drivers/acpi/pci_root.c +5 -1
index 3112221..3c35144 100644
@@ -387,7 +387,11 @@ struct pci_dev *acpi_get_pci_dev(acpi_handle handle)
 		if (!pdev || hnd == handle)
 			break;
 
-		pbus = pdev->subordinate;
+		if (pdev->subordinate)
+			pbus = pdev->subordinate;
+		else
+			pbus = pdev->bus;
+
 		pci_dev_put(pdev);
 	}
 out:
Signature · 1 line
1.6.2.5
#1 lore raw

Hi Xiaotian,

Thanks for the bug report.

* Xiaotian Feng <[email protected]>:

Quoted 18 lines

commit 275582 introduces acpi_get_pci_dev(), but pdev->subordinate can be NULL, then a NULL was passed to pci_get_slot, this results the kernel oops when resume from suspend.

This patch resolves following kernel oops:

BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
IP: [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
---
 drivers/acpi/pci_root.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
drivers/acpi/pci_root.c +0 -0
index 3112221..3c35144 100644

drivers/acpi/pci_root.c struct pci_dev *acpi_get_pci_dev(acpi_handle handle) · line 394

Quoted 9 lines
drivers/acpi/pci_root.c +5 -1
@@ -387,7 +387,11 @@ struct pci_dev *acpi_get_pci_dev(acpi_handle handle)
 		if (!pdev || hnd == handle)
 			break;
 
-		pbus = pdev->subordinate;
+		if (pdev->subordinate)
+			pbus = pdev->subordinate;
+		else
+			pbus = pdev->bus;
+

I'm a little confused by this. If we start from the PCI root bridge and walk back down the hierarchy, shouldn't everything between the root and the device be a P2P bridge?

What is special about suspend/resume that causes the subordinate bus to become NULL?

Can you send the full stacktrace?

Thanks.

/ac

#2 lore raw
Quoted 26 lines · Alex Chiang

Hi Xiaotian,

Thanks for the bug report.

* Xiaotian Feng <[email protected]>:

Quoted 21 lines

commit 275582 introduces acpi_get_pci_dev(), but pdev->subordinate can be NULL, then a NULL was passed to pci_get_slot, this results the kernel oops when resume from suspend.

This patch resolves following kernel oops:

BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
IP: [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
---
 drivers/acpi/pci_root.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
drivers/acpi/pci_root.c +0 -0
index 3112221..3c35144 100644
@@ -387,7 +387,11 @@ struct pci_dev *acpi_get_pci_dev(acpi_handle handle)
 		if (!pdev || hnd == handle)
 			break;
 
Quoted 10 lines

drivers/acpi/pci_root.c struct pci_dev *acpi_get_pci_dev(acpi_handle handle) · line 394

Quoted 6 lines
drivers/acpi/pci_root.c +5 -1
-		pbus = pdev->subordinate;
+		if (pdev->subordinate)
+			pbus = pdev->subordinate;
+		else
+			pbus = pdev->bus;
+

I'm a little confused by this. If we start from the PCI root bridge and walk back down the hierarchy, shouldn't everything between the root and the device be a P2P bridge?

Well, if my reading of the code is correct, there's no guarantee that pci_get_slot() will always return either the right device or a bridge. If it returns anything that's not a bridge or the device we're looking for, we'll hit the NULL pointer deref.

In fact it looks like we should also clear pdev if no device was found.

Thanks,
Rafael

#3 lore raw
Quoted 38 lines · Rafael J. Wysocki
Quoted 26 lines · Alex Chiang

Hi Xiaotian,

Thanks for the bug report.

* Xiaotian Feng <[email protected]>:

Quoted 21 lines

commit 275582 introduces acpi_get_pci_dev(), but pdev->subordinate can be NULL, then a NULL was passed to pci_get_slot, this results the kernel oops when resume from suspend.

This patch resolves following kernel oops:

BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
IP: [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
---
 drivers/acpi/pci_root.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
drivers/acpi/pci_root.c +0 -0
index 3112221..3c35144 100644
@@ -387,7 +387,11 @@ struct pci_dev *acpi_get_pci_dev(acpi_handle handle)
 		if (!pdev || hnd == handle)
 			break;
 
Quoted 10 lines

drivers/acpi/pci_root.c struct pci_dev *acpi_get_pci_dev(acpi_handle handle) · line 394

Quoted 6 lines
drivers/acpi/pci_root.c +5 -1
-		pbus = pdev->subordinate;
+		if (pdev->subordinate)
+			pbus = pdev->subordinate;
+		else
+			pbus = pdev->bus;
+

I'm a little confused by this. If we start from the PCI root bridge and walk back down the hierarchy, shouldn't everything between the root and the device be a P2P bridge?

Quoted 2 lines

Well, if my reading of the code is correct, there's no guarantee that pci_get_slot() will always return either the right device or a bridge.

I should have been more precise.

If devfn of node happens to be the same as devfn of a non-bridge device on pbus, the pci_get_slot() will return a valid pointer to it, but pdev->subordinate will be NULL. Is it impossible for some reason?

Thanks,
Rafael

#4 lore raw

* Rafael J. Wysocki <[email protected]>:

Quoted 20 lines · Rafael J. Wysocki
Quoted 19 lines · Alex Chiang
Quoted 17 lines

* Xiaotian Feng <[email protected]>:

drivers/acpi/pci_root.c struct pci_dev *acpi_get_pci_dev(acpi_handle handle) · line 394

Quoted 12 lines
drivers/acpi/pci_root.c +5 -1
@@ -387,7 +387,11 @@ struct pci_dev *acpi_get_pci_dev(acpi_handle handle)
 		if (!pdev || hnd == handle)
 			break;
 
-		pbus = pdev->subordinate;
+		if (pdev->subordinate)
+			pbus = pdev->subordinate;
+		else
+			pbus = pdev->bus;
+

I'm a little confused by this. If we start from the PCI root bridge and walk back down the hierarchy, shouldn't everything between the root and the device be a P2P bridge?

Quoted 8 lines
Quoted 2 lines

Well, if my reading of the code is correct, there's no guarantee that pci_get_slot() will always return either the right device or a bridge.

I should have been more precise.

If devfn of node happens to be the same as devfn of a non-bridge device on pbus, the pci_get_slot() will return a valid pointer to it, but pdev->subordinate will be NULL. Is it impossible for some reason?

Hm, that's a good thought, but I'm still confused. Here's the first part of the full function (acpi_get_pci_dev):

        phandle = handle;
        while (!acpi_is_root_bridge(phandle)) {
                node = kzalloc(sizeof(struct acpi_handle_node), GFP_KERNEL);
                if (!node)
                        goto out;

                INIT_LIST_HEAD(&node->node);
                node->handle = phandle;
                list_add(&node->node, &device_list);

                status = acpi_get_parent(phandle, &phandle);
                if (ACPI_FAILURE(status))
                        goto out;
        }

phandle starts off as the input parameter, and we make successive calls to acpi_get_parent() to walk up the ACPI device tree until we get to a root bridge.

My assumption here is that all those ACPI devices must be P2P bridges.

        root = acpi_pci_find_root(phandle);
        if (!root)
                goto out;

        pbus = root->bus;

Now we've got an acpi_pci_root() which has a struct pci_bus, and we can start walking back down the PCI tree. Except what we're really doing is iterating across the device_list which we created above.

device_list should only contain P2P bridges, based on my assumption above.

        list_for_each_entry(node, &device_list, node) {
                acpi_handle hnd = node->handle;
                status = acpi_evaluate_integer(hnd, "_ADR", NULL, &adr);
                if (ACPI_FAILURE(status))
                        goto out;
                dev = (adr >> 16) & 0xffff;
                fn  = adr & 0xffff;

                pdev = pci_get_slot(pbus, PCI_DEVFN(dev, fn));
                if (!pdev || hnd == handle)
                        break;

                pbus = pdev->subordinate;
                pci_dev_put(pdev);
        }

The point you raise about collision between the devfn of 'node' and some non-bridge device returned by pci_get_slot() seems like it really shouldn't happen, because we evaluate _ADR for each node on device_list, in the reverse order that we found them, and based on my assumption, all those nodes should be bridges.

I'm not saying that Xiaotian's patch is wrong. I'm saying I'd like to be educated as to why my basic assumption was wrong, because now you're making me think that this code is pretty fragile. :-/

Thanks.

/ac

#5 lore raw
Quoted 85 lines · Alex Chiang

* Rafael J. Wysocki <[email protected]>:

Quoted 20 lines · Rafael J. Wysocki
Quoted 19 lines · Alex Chiang
Quoted 17 lines

* Xiaotian Feng <[email protected]>:

drivers/acpi/pci_root.c struct pci_dev *acpi_get_pci_dev(acpi_handle handle) · line 394

Quoted 12 lines
drivers/acpi/pci_root.c +5 -1
@@ -387,7 +387,11 @@ struct pci_dev *acpi_get_pci_dev(acpi_handle handle)
 		if (!pdev || hnd == handle)
 			break;
 
-		pbus = pdev->subordinate;
+		if (pdev->subordinate)
+			pbus = pdev->subordinate;
+		else
+			pbus = pdev->bus;
+

I'm a little confused by this. If we start from the PCI root bridge and walk back down the hierarchy, shouldn't everything between the root and the device be a P2P bridge?

Quoted 8 lines
Quoted 2 lines

Well, if my reading of the code is correct, there's no guarantee that pci_get_slot() will always return either the right device or a bridge.

I should have been more precise.

If devfn of node happens to be the same as devfn of a non-bridge device on pbus, the pci_get_slot() will return a valid pointer to it, but pdev->subordinate will be NULL. Is it impossible for some reason?

Hm, that's a good thought, but I'm still confused. Here's the first part of the full function (acpi_get_pci_dev):

        phandle = handle;
        while (!acpi_is_root_bridge(phandle)) {
                node = kzalloc(sizeof(struct acpi_handle_node), GFP_KERNEL);
                if (!node)
                        goto out;

                INIT_LIST_HEAD(&node->node);
                node->handle = phandle;
                list_add(&node->node, &device_list);

                status = acpi_get_parent(phandle, &phandle);
                if (ACPI_FAILURE(status))
                        goto out;
        }

phandle starts off as the input parameter, and we make successive calls to acpi_get_parent() to walk up the ACPI device tree until we get to a root bridge.

My assumption here is that all those ACPI devices must be P2P bridges.

        root = acpi_pci_find_root(phandle);
        if (!root)
                goto out;

        pbus = root->bus;

Now we've got an acpi_pci_root() which has a struct pci_bus, and we can start walking back down the PCI tree. Except what we're really doing is iterating across the device_list which we created above.

device_list should only contain P2P bridges, based on my assumption above.

        list_for_each_entry(node, &device_list, node) {
                acpi_handle hnd = node->handle;
                status = acpi_evaluate_integer(hnd, "_ADR", NULL, &adr);
                if (ACPI_FAILURE(status))
                        goto out;
                dev = (adr >> 16) & 0xffff;
                fn  = adr & 0xffff;

                pdev = pci_get_slot(pbus, PCI_DEVFN(dev, fn));
                if (!pdev || hnd == handle)
                        break;

                pbus = pdev->subordinate;
                pci_dev_put(pdev);
        }
Quoted 5 lines

The point you raise about collision between the devfn of 'node' and some non-bridge device returned by pci_get_slot() seems like it really shouldn't happen, because we evaluate _ADR for each node on device_list, in the reverse order that we found them, and based on my assumption, all those nodes should be bridges.

You seem to be right, but if the Xiaotian's patch actually fixes the NULL pointer deref, one of the assumptions is clearly wrong.

Quoted 4 lines

I'm not saying that Xiaotian's patch is wrong. I'm saying I'd like to be educated as to why my basic assumption was wrong, because now you're making me think that this code is pretty fragile. :-/

Perhaps Xiaotian can add some printk()s on top of his patch that will show us exactly in what conditions pbus becomes NULL.

Thanks,
Rafael

author
#6 lore raw
Quoted 100 lines · Rafael J. Wysocki
Quoted 85 lines · Alex Chiang

* Rafael J. Wysocki<[email protected]>:

Quoted 20 lines · Rafael J. Wysocki
Quoted 19 lines · Alex Chiang
Quoted 17 lines

* Xiaotian Feng<[email protected]>:

drivers/acpi/pci_root.c struct pci_dev *acpi_get_pci_dev(acpi_handle handle) · line 394

Quoted 12 lines
drivers/acpi/pci_root.c +5 -1
@@ -387,7 +387,11 @@ struct pci_dev *acpi_get_pci_dev(acpi_handle handle)
  		if (!pdev || hnd == handle)
  			break;
 
-		pbus = pdev->subordinate;
+		if (pdev->subordinate)
+			pbus = pdev->subordinate;
+		else
+			pbus = pdev->bus;
+

I'm a little confused by this. If we start from the PCI root bridge and walk back down the hierarchy, shouldn't everything between the root and the device be a P2P bridge?

Quoted 8 lines
Quoted 2 lines

Well, if my reading of the code is correct, there's no guarantee that pci_get_slot() will always return either the right device or a bridge.

I should have been more precise.

If devfn of node happens to be the same as devfn of a non-bridge device on pbus, the pci_get_slot() will return a valid pointer to it, but pdev->subordinate will be NULL. Is it impossible for some reason?

Hm, that's a good thought, but I'm still confused. Here's the first part of the full function (acpi_get_pci_dev):

         phandle = handle;
         while (!acpi_is_root_bridge(phandle)) {
                 node = kzalloc(sizeof(struct acpi_handle_node), GFP_KERNEL);
                 if (!node)
                         goto out;

                 INIT_LIST_HEAD(&node->node);
                 node->handle = phandle;
                 list_add(&node->node,&device_list);

                 status = acpi_get_parent(phandle,&phandle);
                 if (ACPI_FAILURE(status))
                         goto out;
         }

phandle starts off as the input parameter, and we make successive calls to acpi_get_parent() to walk up the ACPI device tree until we get to a root bridge.

My assumption here is that all those ACPI devices must be P2P bridges.

         root = acpi_pci_find_root(phandle);
         if (!root)
                 goto out;

         pbus = root->bus;

Now we've got an acpi_pci_root() which has a struct pci_bus, and we can start walking back down the PCI tree. Except what we're really doing is iterating across the device_list which we created above.

device_list should only contain P2P bridges, based on my assumption above.

         list_for_each_entry(node,&device_list, node) {
                 acpi_handle hnd = node->handle;
                 status = acpi_evaluate_integer(hnd, "_ADR", NULL,&adr);
                 if (ACPI_FAILURE(status))
                         goto out;
                 dev = (adr>>  16)&  0xffff;
                 fn  = adr&  0xffff;

                 pdev = pci_get_slot(pbus, PCI_DEVFN(dev, fn));
                 if (!pdev || hnd == handle)
                         break;

                 pbus = pdev->subordinate;
                 pci_dev_put(pdev);
         }
Quoted 5 lines

The point you raise about collision between the devfn of 'node' and some non-bridge device returned by pci_get_slot() seems like it really shouldn't happen, because we evaluate _ADR for each node on device_list, in the reverse order that we found them, and based on my assumption, all those nodes should be bridges.

You seem to be right, but if the Xiaotian's patch actually fixes the NULL pointer deref, one of the assumptions is clearly wrong.

Quoted 4 lines

I'm not saying that Xiaotian's patch is wrong. I'm saying I'd like to be educated as to why my basic assumption was wrong, because now you're making me think that this code is pretty fragile. :-/

Quoted 6 lines

Perhaps Xiaotian can add some printk()s on top of his patch that will show us exactly in what conditions pbus becomes NULL.

Thanks,
Rafael

Is there any cases that pdev->subordinate is NULL while pdev is bridge device? From pci_slot.c::walk_p2p_bridge, there's code like following:

        dev = pci_get_slot(pci_bus, PCI_DEVFN(device, function));
        if (!dev || !dev->subordinate)
                goto out;

It looks like dev->subordinate can be NULL even if in p2p bridge, right?

Thanks
Xiaotian

#7 lore raw
Quoted 111 lines · Danny Feng
Quoted 100 lines · Rafael J. Wysocki
Quoted 85 lines · Alex Chiang

* Rafael J. Wysocki<[email protected]>:

Quoted 20 lines · Rafael J. Wysocki
Quoted 19 lines · Alex Chiang
Quoted 17 lines

* Xiaotian Feng<[email protected]>:

drivers/acpi/pci_root.c struct pci_dev *acpi_get_pci_dev(acpi_handle handle) · line 394

Quoted 12 lines
drivers/acpi/pci_root.c +5 -1
@@ -387,7 +387,11 @@ struct pci_dev *acpi_get_pci_dev(acpi_handle handle)
  		if (!pdev || hnd == handle)
  			break;
 
-		pbus = pdev->subordinate;
+		if (pdev->subordinate)
+			pbus = pdev->subordinate;
+		else
+			pbus = pdev->bus;
+

I'm a little confused by this. If we start from the PCI root bridge and walk back down the hierarchy, shouldn't everything between the root and the device be a P2P bridge?

Quoted 8 lines
Quoted 2 lines

Well, if my reading of the code is correct, there's no guarantee that pci_get_slot() will always return either the right device or a bridge.

I should have been more precise.

If devfn of node happens to be the same as devfn of a non-bridge device on pbus, the pci_get_slot() will return a valid pointer to it, but pdev->subordinate will be NULL. Is it impossible for some reason?

Hm, that's a good thought, but I'm still confused. Here's the first part of the full function (acpi_get_pci_dev):

         phandle = handle;
         while (!acpi_is_root_bridge(phandle)) {
                 node = kzalloc(sizeof(struct acpi_handle_node), GFP_KERNEL);
                 if (!node)
                         goto out;

                 INIT_LIST_HEAD(&node->node);
                 node->handle = phandle;
                 list_add(&node->node,&device_list);

                 status = acpi_get_parent(phandle,&phandle);
                 if (ACPI_FAILURE(status))
                         goto out;
         }

phandle starts off as the input parameter, and we make successive calls to acpi_get_parent() to walk up the ACPI device tree until we get to a root bridge.

My assumption here is that all those ACPI devices must be P2P bridges.

         root = acpi_pci_find_root(phandle);
         if (!root)
                 goto out;

         pbus = root->bus;

Now we've got an acpi_pci_root() which has a struct pci_bus, and we can start walking back down the PCI tree. Except what we're really doing is iterating across the device_list which we created above.

device_list should only contain P2P bridges, based on my assumption above.

         list_for_each_entry(node,&device_list, node) {
                 acpi_handle hnd = node->handle;
                 status = acpi_evaluate_integer(hnd, "_ADR", NULL,&adr);
                 if (ACPI_FAILURE(status))
                         goto out;
                 dev = (adr>>  16)&  0xffff;
                 fn  = adr&  0xffff;

                 pdev = pci_get_slot(pbus, PCI_DEVFN(dev, fn));
                 if (!pdev || hnd == handle)
                         break;

                 pbus = pdev->subordinate;
                 pci_dev_put(pdev);
         }
Quoted 5 lines

The point you raise about collision between the devfn of 'node' and some non-bridge device returned by pci_get_slot() seems like it really shouldn't happen, because we evaluate _ADR for each node on device_list, in the reverse order that we found them, and based on my assumption, all those nodes should be bridges.

You seem to be right, but if the Xiaotian's patch actually fixes the NULL pointer deref, one of the assumptions is clearly wrong.

Quoted 4 lines

I'm not saying that Xiaotian's patch is wrong. I'm saying I'd like to be educated as to why my basic assumption was wrong, because now you're making me think that this code is pretty fragile. :-/

Quoted 6 lines

Perhaps Xiaotian can add some printk()s on top of his patch that will show us exactly in what conditions pbus becomes NULL.

Thanks,
Rafael

Is there any cases that pdev->subordinate is NULL while pdev is bridge device?
From pci_slot.c::walk_p2p_bridge, there's code like following:

Quoted 5 lines
         dev = pci_get_slot(pci_bus, PCI_DEVFN(device, function));
         if (!dev || !dev->subordinate)
                 goto out;

It looks like dev->subordinate can be NULL even if in p2p bridge, right?

Right, in general, but in this particular case each device we inspect is supposed to be a parent of another device, which implies that there's a bus below it (given that it's a PCI device).

Thanks,
Rafael

#8 lore raw

* Rafael J. Wysocki <[email protected]>:

Quoted 11 lines · Danny Feng
Quoted 10 lines

Is there any cases that pdev->subordinate is NULL while pdev is bridge device?
From pci_slot.c::walk_p2p_bridge, there's code like following:

         dev = pci_get_slot(pci_bus, PCI_DEVFN(device, function));
         if (!dev || !dev->subordinate)
                 goto out;

It looks like dev->subordinate can be NULL even if in p2p bridge, right?

In the code you post above, that results from doing an ACPI namespace walk, which will definitely find non-bridge devices.

Quoted 4 lines

Right, in general, but in this particular case each device we inspect is supposed to be a parent of another device, which implies that there's a bus below it (given that it's a PCI device).

Right, that's why I'm surprised that my assumption broke. But now that I see that a dock device is involved, maybe that's not so surprising.

/ac

#9 lore raw
Quoted 16 lines · Alex Chiang

* Rafael J. Wysocki <[email protected]>:

Quoted 11 lines · Danny Feng
Quoted 10 lines

Is there any cases that pdev->subordinate is NULL while pdev is bridge device?
From pci_slot.c::walk_p2p_bridge, there's code like following:

         dev = pci_get_slot(pci_bus, PCI_DEVFN(device, function));
         if (!dev || !dev->subordinate)
                 goto out;

It looks like dev->subordinate can be NULL even if in p2p bridge, right?

In the code you post above, that results from doing an ACPI namespace walk, which will definitely find non-bridge devices.

Quoted 8 lines
Quoted 4 lines

Right, in general, but in this particular case each device we inspect is supposed to be a parent of another device, which implies that there's a bus below it (given that it's a PCI device).

Right, that's why I'm surprised that my assumption broke. But now that I see that a dock device is involved, maybe that's not so surprising.

Yeah. Still, I'd like to know the root cause.

Thanks,
Rafael

author
#10 lore raw
In reply to Alex Chiang
Quoted 38 lines · Alex Chiang

Hi Xiaotian,

Thanks for the bug report.

* Xiaotian Feng<[email protected]>:

Quoted 18 lines

commit 275582 introduces acpi_get_pci_dev(), but pdev->subordinate can be NULL, then a NULL was passed to pci_get_slot, this results the kernel oops when resume from suspend.

This patch resolves following kernel oops:

BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
IP: [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
---
  drivers/acpi/pci_root.c |    6 +++++-
  1 files changed, 5 insertions(+), 1 deletions(-)
drivers/acpi/pci_root.c +0 -0
index 3112221..3c35144 100644

drivers/acpi/pci_root.c struct pci_dev *acpi_get_pci_dev(acpi_handle handle) · line 395

Quoted 10 lines
drivers/acpi/pci_root.c +5 -1
@@ -387,7 +387,11 @@ struct pci_dev *acpi_get_pci_dev(acpi_handle handle)
  		if (!pdev || hnd == handle)
  			break;
 
-		pbus = pdev->subordinate;
+		if (pdev->subordinate)
+			pbus = pdev->subordinate;
+		else
+			pbus = pdev->bus;
+
 

I'm a little confused by this. If we start from the PCI root bridge and walk back down the hierarchy, shouldn't everything between the root and the device be a P2P bridge?

Quoted 11 lines

What is special about suspend/resume that causes the subordinate bus to become NULL?

Can you send the full stacktrace?

Thanks.

/ac

the full call trace is here:

BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
IP: [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
PGD 208b9d067 PUD 208a89067 PMD 0
Oops: 0000 [#1] SMP
last sysfs file: /sys/power/state
CPU 0
Modules linked in: fuse radeon ttm drm_kms_helper drm i2c_algo_bit sco bridge stp llc bnep l2cap bluetooth sunrpc ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 dm_multipath uinput snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep e1000e snd_pcm snd_timer i2c_i801 i2c_core snd soundcore snd_page_alloc iTCO_wdt iTCO_vendor_support serio_raw ppdev parport_pc parport pcspkr dcdbas ata_generic pata_acpi [last unloaded: speedstep_lib]
Pid: 35, comm: kacpi_hotplug Not tainted 2.6.32-rc2 #3 OptiPlex 760
RIP: 0010:[<ffffffff812217e7>]  [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
RSP: 0018:ffff88022ee69aa0  EFLAGS: 00010286
RAX: 0000000000000000 RBX: ffff88022e9b1090 RCX: 00000000000000a0
RDX: 000000000000002f RSI: ffffffff8168ab38 RDI: ffffffff8168ab38
RBP: ffff88022ee69ac0 R08: ffffffff8168ab30 R09: ffff880100000000
R10: ffffffff8168ab50 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000001 R14: ffff88022f712000 R15: ffff88022f710dd0
FS:  0000000000000000(0000) GS:ffff880028200000(0000) knlGS:0000000000000000
CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 0000000000000028 CR3: 00000001fc298000 CR4: 00000000000406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process kacpi_hotplug (pid: 35, threadinfo ffff88022ee68000, task ffff88022eefc120)
Stack:
 0000000000000018 ffff88022e9b1090 ffff88020880e9c0 0000000000000000
<0> ffff88022ee69b30 ffffffff81254193 0000000000000000 ffff88022ee69ae0
<0> ffff88020880e340 ffff88020880ee38 ffff88022f710208 0000000000000001
Call Trace:
 [<ffffffff81254193>] acpi_get_pci_dev+0x106/0x167
 [<ffffffff8125545a>] acpi_pci_bind+0x1c/0x86
 [<ffffffff8116230a>] ? sysfs_create_file+0x2a/0x2c
 [<ffffffff8125141f>] acpi_add_single_object+0x964/0xa0c
 [<ffffffff812515a7>] acpi_bus_check_add+0xe0/0x138
 [<ffffffff81251667>] acpi_bus_scan+0x68/0xa0
 [<ffffffff812516f4>] acpi_bus_add+0x2a/0x2e
 [<ffffffff81252c59>] hotplug_dock_devices+0x114/0x13e
 [<ffffffff8125301a>] acpi_dock_deferred_cb+0xbf/0x192
 [<ffffffff8124d6ca>] acpi_os_execute_deferred+0x29/0x36
 [<ffffffff8106a244>] worker_thread+0x251/0x347
 [<ffffffff8106a1ef>] ? worker_thread+0x1fc/0x347
 [<ffffffff8124d6a1>] ? acpi_os_execute_deferred+0x0/0x36
 [<ffffffff8106e426>] ? autoremove_wake_function+0x0/0x39
 [<ffffffff81069ff3>] ? worker_thread+0x0/0x347
 [<ffffffff8106e0e0>] kthread+0x7f/0x87
 [<ffffffff81012cea>] child_rip+0xa/0x20
 [<ffffffff81012650>] ? restore_args+0x0/0x30
 [<ffffffff8106e061>] ? kthread+0x0/0x87
 [<ffffffff81012ce0>] ? child_rip+0x0/0x20
Code: ff 49 89 fc 41 89 f5 a9 00 ff ff 07 74 11 be 87 00 00 00 48 c7 c7 45 6d 5a 81 e8 f6 2b e3 ff 48 c7 c7 30 ab 68 81 e8 29 77 20 00 <49> 8b 5c 24 28 49 83 c4 28 eb 09 44 39 6b 38 74 10 48 89 c3 48
RIP  [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
 RSP <ffff88022ee69aa0>
CR2: 0000000000000028
---[ end trace b5a7793bd9db2a4d ]---
#11 lore raw
Quoted 81 lines · Danny Feng
Quoted 38 lines · Alex Chiang

Hi Xiaotian,

Thanks for the bug report.

* Xiaotian Feng<[email protected]>:

Quoted 18 lines

commit 275582 introduces acpi_get_pci_dev(), but pdev->subordinate can be NULL, then a NULL was passed to pci_get_slot, this results the kernel oops when resume from suspend.

This patch resolves following kernel oops:

BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
IP: [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
---
  drivers/acpi/pci_root.c |    6 +++++-
  1 files changed, 5 insertions(+), 1 deletions(-)
drivers/acpi/pci_root.c +0 -0
index 3112221..3c35144 100644

drivers/acpi/pci_root.c struct pci_dev *acpi_get_pci_dev(acpi_handle handle) · line 395

Quoted 10 lines
drivers/acpi/pci_root.c +5 -1
@@ -387,7 +387,11 @@ struct pci_dev *acpi_get_pci_dev(acpi_handle handle)
  		if (!pdev || hnd == handle)
  			break;
 
-		pbus = pdev->subordinate;
+		if (pdev->subordinate)
+			pbus = pdev->subordinate;
+		else
+			pbus = pdev->bus;
+
 

I'm a little confused by this. If we start from the PCI root bridge and walk back down the hierarchy, shouldn't everything between the root and the device be a P2P bridge?

Quoted 11 lines

What is special about suspend/resume that causes the subordinate bus to become NULL?

Can you send the full stacktrace?

Thanks.

/ac

the full call trace is here:

BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
IP: [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
PGD 208b9d067 PUD 208a89067 PMD 0
Oops: 0000 [#1] SMP
last sysfs file: /sys/power/state
CPU 0
Modules linked in: fuse radeon ttm drm_kms_helper drm i2c_algo_bit sco 

bridge stp llc bnep l2cap bluetooth sunrpc ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 dm_multipath uinput snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep e1000e snd_pcm snd_timer i2c_i801 i2c_core snd soundcore snd_page_alloc iTCO_wdt iTCO_vendor_support serio_raw ppdev parport_pc parport pcspkr dcdbas ata_generic pata_acpi [last unloaded: speedstep_lib]
Pid: 35, comm: kacpi_hotplug Not tainted 2.6.32-rc2 #3 OptiPlex 760

RIP: 0010:[<ffffffff812217e7>]  [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
RSP: 0018:ffff88022ee69aa0  EFLAGS: 00010286
RAX: 0000000000000000 RBX: ffff88022e9b1090 RCX: 00000000000000a0
RDX: 000000000000002f RSI: ffffffff8168ab38 RDI: ffffffff8168ab38
RBP: ffff88022ee69ac0 R08: ffffffff8168ab30 R09: ffff880100000000
R10: ffffffff8168ab50 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000001 R14: ffff88022f712000 R15: ffff88022f710dd0
FS:  0000000000000000(0000) GS:ffff880028200000(0000) 

knlGS:0000000000000000
CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 0000000000000028 CR3: 00000001fc298000 CR4: 00000000000406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process kacpi_hotplug (pid: 35, threadinfo ffff88022ee68000, task ffff88022eefc120)

Quoted 6 lines
Stack:
  0000000000000018 ffff88022e9b1090 ffff88020880e9c0 0000000000000000
<0> ffff88022ee69b30 ffffffff81254193 0000000000000000 ffff88022ee69ae0
<0> ffff88020880e340 ffff88020880ee38 ffff88022f710208 0000000000000001
Call Trace:
  [<ffffffff81254193>] acpi_get_pci_dev+0x106/0x167

Have you checked (using gdb) which source code line this corresponds to?

Quoted 6 lines
  [<ffffffff8125545a>] acpi_pci_bind+0x1c/0x86
  [<ffffffff8116230a>] ? sysfs_create_file+0x2a/0x2c
  [<ffffffff8125141f>] acpi_add_single_object+0x964/0xa0c
  [<ffffffff812515a7>] acpi_bus_check_add+0xe0/0x138
  [<ffffffff81251667>] acpi_bus_scan+0x68/0xa0
  [<ffffffff812516f4>] acpi_bus_add+0x2a/0x2e

This looks like a device has just been discovered.

Quoted 2 lines
  [<ffffffff81252c59>] hotplug_dock_devices+0x114/0x13e
  [<ffffffff8125301a>] acpi_dock_deferred_cb+0xbf/0x192

Have the machine been docked while suspended?

Quoted 12 lines
  [<ffffffff8124d6ca>] acpi_os_execute_deferred+0x29/0x36
  [<ffffffff8106a244>] worker_thread+0x251/0x347
  [<ffffffff8106a1ef>] ? worker_thread+0x1fc/0x347
  [<ffffffff8124d6a1>] ? acpi_os_execute_deferred+0x0/0x36
  [<ffffffff8106e426>] ? autoremove_wake_function+0x0/0x39
  [<ffffffff81069ff3>] ? worker_thread+0x0/0x347
  [<ffffffff8106e0e0>] kthread+0x7f/0x87
  [<ffffffff81012cea>] child_rip+0xa/0x20
  [<ffffffff81012650>] ? restore_args+0x0/0x30
  [<ffffffff8106e061>] ? kthread+0x0/0x87
  [<ffffffff81012ce0>] ? child_rip+0x0/0x20
Code: ff 49 89 fc 41 89 f5 a9 00 ff ff 07 74 11 be 87 00 00 00 48 c7 c7 
Quoted 6 lines

45 6d 5a 81 e8 f6 2b e3 ff 48 c7 c7 30 ab 68 81 e8 29 77 20 00 <49> 8b 5c 24 28 49 83 c4 28 eb 09 44 39 6b 38 74 10 48 89 c3 48 RIP [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
RSP <ffff88022ee69aa0>
CR2: 0000000000000028

---[ end trace b5a7793bd9db2a4d ]---

Thanks,
Rafael

author
#12 lore raw
Quoted 89 lines · Rafael J. Wysocki
Quoted 81 lines · Danny Feng
Quoted 38 lines · Alex Chiang

Hi Xiaotian,

Thanks for the bug report.

* Xiaotian Feng<[email protected]>:

Quoted 18 lines

commit 275582 introduces acpi_get_pci_dev(), but pdev->subordinate can be NULL, then a NULL was passed to pci_get_slot, this results the kernel oops when resume from suspend.

This patch resolves following kernel oops:

BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
IP: [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
---
   drivers/acpi/pci_root.c |    6 +++++-
   1 files changed, 5 insertions(+), 1 deletions(-)
drivers/acpi/pci_root.c +0 -0
index 3112221..3c35144 100644

drivers/acpi/pci_root.c struct pci_dev *acpi_get_pci_dev(acpi_handle handle) · line 395

Quoted 10 lines
drivers/acpi/pci_root.c +5 -1
@@ -387,7 +387,11 @@ struct pci_dev *acpi_get_pci_dev(acpi_handle handle)
   		if (!pdev || hnd == handle)
   			break;
 
-		pbus = pdev->subordinate;
+		if (pdev->subordinate)
+			pbus = pdev->subordinate;
+		else
+			pbus = pdev->bus;
+
 

I'm a little confused by this. If we start from the PCI root bridge and walk back down the hierarchy, shouldn't everything between the root and the device be a P2P bridge?

Quoted 11 lines

What is special about suspend/resume that causes the subordinate bus to become NULL?

Can you send the full stacktrace?

Thanks.

/ac

the full call trace is here:

BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
IP: [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
PGD 208b9d067 PUD 208a89067 PMD 0
Oops: 0000 [#1] SMP
last sysfs file: /sys/power/state
CPU 0
Modules linked in: fuse radeon ttm drm_kms_helper drm i2c_algo_bit sco

bridge stp llc bnep l2cap bluetooth sunrpc ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 dm_multipath uinput snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep e1000e snd_pcm snd_timer i2c_i801 i2c_core snd soundcore snd_page_alloc iTCO_wdt iTCO_vendor_support serio_raw ppdev parport_pc parport pcspkr dcdbas ata_generic pata_acpi [last unloaded: speedstep_lib]
Pid: 35, comm: kacpi_hotplug Not tainted 2.6.32-rc2 #3 OptiPlex 760

RIP: 0010:[<ffffffff812217e7>]  [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
RSP: 0018:ffff88022ee69aa0  EFLAGS: 00010286
RAX: 0000000000000000 RBX: ffff88022e9b1090 RCX: 00000000000000a0
RDX: 000000000000002f RSI: ffffffff8168ab38 RDI: ffffffff8168ab38
RBP: ffff88022ee69ac0 R08: ffffffff8168ab30 R09: ffff880100000000
R10: ffffffff8168ab50 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000001 R14: ffff88022f712000 R15: ffff88022f710dd0
FS:  0000000000000000(0000) GS:ffff880028200000(0000)

knlGS:0000000000000000
CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 0000000000000028 CR3: 00000001fc298000 CR4: 00000000000406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process kacpi_hotplug (pid: 35, threadinfo ffff88022ee68000, task ffff88022eefc120)

Quoted 6 lines
Stack:
   0000000000000018 ffff88022e9b1090 ffff88020880e9c0 0000000000000000
<0>  ffff88022ee69b30 ffffffff81254193 0000000000000000 ffff88022ee69ae0
<0>  ffff88020880e340 ffff88020880ee38 ffff88022f710208 0000000000000001
Call Trace:
   [<ffffffff81254193>] acpi_get_pci_dev+0x106/0x167
Quoted 2 lines

Have you checked (using gdb) which source code line this corresponds to?

Yep, the code line corresponds to
pdev = pci_get_slot(pbus, PCI_DEVFN(dev, fn));

Also gdb shows pci_bus->devices has offset of 0x28.

I've put some check in acpi_get_pci_dev, it shows that pbus is NULL when the panic happens.

Quoted 7 lines
Quoted 6 lines
   [<ffffffff8125545a>] acpi_pci_bind+0x1c/0x86
   [<ffffffff8116230a>] ? sysfs_create_file+0x2a/0x2c
   [<ffffffff8125141f>] acpi_add_single_object+0x964/0xa0c
   [<ffffffff812515a7>] acpi_bus_check_add+0xe0/0x138
   [<ffffffff81251667>] acpi_bus_scan+0x68/0xa0
   [<ffffffff812516f4>] acpi_bus_add+0x2a/0x2e
Quoted 6 lines

This looks like a device has just been discovered.

Quoted 2 lines
   [<ffffffff81252c59>] hotplug_dock_devices+0x114/0x13e
   [<ffffffff8125301a>] acpi_dock_deferred_cb+0xbf/0x192

Have the machine been docked while suspended?

I was confused too..I didn't touch anything just suspend and then power up. Are there some devices unplugged or ejected at suspend stage?

Quoted 23 lines
Quoted 13 lines
   [<ffffffff8124d6ca>] acpi_os_execute_deferred+0x29/0x36
   [<ffffffff8106a244>] worker_thread+0x251/0x347
   [<ffffffff8106a1ef>] ? worker_thread+0x1fc/0x347
   [<ffffffff8124d6a1>] ? acpi_os_execute_deferred+0x0/0x36
   [<ffffffff8106e426>] ? autoremove_wake_function+0x0/0x39
   [<ffffffff81069ff3>] ? worker_thread+0x0/0x347
   [<ffffffff8106e0e0>] kthread+0x7f/0x87
   [<ffffffff81012cea>] child_rip+0xa/0x20
   [<ffffffff81012650>] ? restore_args+0x0/0x30
   [<ffffffff8106e061>] ? kthread+0x0/0x87
   [<ffffffff81012ce0>] ? child_rip+0x0/0x20
Code: ff 49 89 fc 41 89 f5 a9 00 ff ff 07 74 11 be 87 00 00 00 48 c7 c7
Quoted 6 lines

45 6d 5a 81 e8 f6 2b e3 ff 48 c7 c7 30 ab 68 81 e8 29 77 20 00<49> 8b 5c 24 28 49 83 c4 28 eb 09 44 39 6b 38 74 10 48 89 c3 48 RIP [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
RSP<ffff88022ee69aa0>
CR2: 0000000000000028

---[ end trace b5a7793bd9db2a4d ]---

Thanks,
Rafael

#13 lore raw
Quoted 92 lines · Danny Feng
Quoted 89 lines · Rafael J. Wysocki
Quoted 81 lines · Danny Feng
Quoted 38 lines · Alex Chiang

Hi Xiaotian,

Thanks for the bug report.

* Xiaotian Feng<[email protected]>:

Quoted 18 lines

commit 275582 introduces acpi_get_pci_dev(), but pdev->subordinate can be NULL, then a NULL was passed to pci_get_slot, this results the kernel oops when resume from suspend.

This patch resolves following kernel oops:

BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
IP: [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
---
   drivers/acpi/pci_root.c |    6 +++++-
   1 files changed, 5 insertions(+), 1 deletions(-)
drivers/acpi/pci_root.c +0 -0
index 3112221..3c35144 100644

drivers/acpi/pci_root.c struct pci_dev *acpi_get_pci_dev(acpi_handle handle) · line 395

Quoted 10 lines
drivers/acpi/pci_root.c +5 -1
@@ -387,7 +387,11 @@ struct pci_dev *acpi_get_pci_dev(acpi_handle handle)
   		if (!pdev || hnd == handle)
   			break;
 
-		pbus = pdev->subordinate;
+		if (pdev->subordinate)
+			pbus = pdev->subordinate;
+		else
+			pbus = pdev->bus;
+
 

I'm a little confused by this. If we start from the PCI root bridge and walk back down the hierarchy, shouldn't everything between the root and the device be a P2P bridge?

Quoted 11 lines

What is special about suspend/resume that causes the subordinate bus to become NULL?

Can you send the full stacktrace?

Thanks.

/ac

the full call trace is here:

BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
IP: [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
PGD 208b9d067 PUD 208a89067 PMD 0
Oops: 0000 [#1] SMP
last sysfs file: /sys/power/state
CPU 0
Modules linked in: fuse radeon ttm drm_kms_helper drm i2c_algo_bit sco

bridge stp llc bnep l2cap bluetooth sunrpc ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 dm_multipath uinput snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep e1000e snd_pcm snd_timer i2c_i801 i2c_core snd soundcore snd_page_alloc iTCO_wdt iTCO_vendor_support serio_raw ppdev parport_pc parport pcspkr dcdbas ata_generic pata_acpi [last unloaded: speedstep_lib]
Pid: 35, comm: kacpi_hotplug Not tainted 2.6.32-rc2 #3 OptiPlex 760

RIP: 0010:[<ffffffff812217e7>]  [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
RSP: 0018:ffff88022ee69aa0  EFLAGS: 00010286
RAX: 0000000000000000 RBX: ffff88022e9b1090 RCX: 00000000000000a0
RDX: 000000000000002f RSI: ffffffff8168ab38 RDI: ffffffff8168ab38
RBP: ffff88022ee69ac0 R08: ffffffff8168ab30 R09: ffff880100000000
R10: ffffffff8168ab50 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000001 R14: ffff88022f712000 R15: ffff88022f710dd0
FS:  0000000000000000(0000) GS:ffff880028200000(0000)

knlGS:0000000000000000
CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 0000000000000028 CR3: 00000001fc298000 CR4: 00000000000406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process kacpi_hotplug (pid: 35, threadinfo ffff88022ee68000, task ffff88022eefc120)

Quoted 6 lines
Stack:
   0000000000000018 ffff88022e9b1090 ffff88020880e9c0 0000000000000000
<0>  ffff88022ee69b30 ffffffff81254193 0000000000000000 ffff88022ee69ae0
<0>  ffff88020880e340 ffff88020880ee38 ffff88022f710208 0000000000000001
Call Trace:
   [<ffffffff81254193>] acpi_get_pci_dev+0x106/0x167
Quoted 2 lines

Have you checked (using gdb) which source code line this corresponds to?

Quoted 7 lines

Yep, the code line corresponds to
pdev = pci_get_slot(pbus, PCI_DEVFN(dev, fn));

Also gdb shows pci_bus->devices has offset of 0x28.

I've put some check in acpi_get_pci_dev, it shows that pbus is NULL when the panic happens.

OK, thanks.

Quoted 7 lines
Quoted 7 lines
Quoted 6 lines
   [<ffffffff8125545a>] acpi_pci_bind+0x1c/0x86
   [<ffffffff8116230a>] ? sysfs_create_file+0x2a/0x2c
   [<ffffffff8125141f>] acpi_add_single_object+0x964/0xa0c
   [<ffffffff812515a7>] acpi_bus_check_add+0xe0/0x138
   [<ffffffff81251667>] acpi_bus_scan+0x68/0xa0
   [<ffffffff812516f4>] acpi_bus_add+0x2a/0x2e
Quoted 8 lines
Quoted 6 lines

This looks like a device has just been discovered.

Quoted 2 lines
   [<ffffffff81252c59>] hotplug_dock_devices+0x114/0x13e
   [<ffffffff8125301a>] acpi_dock_deferred_cb+0xbf/0x192

Have the machine been docked while suspended?

I was confused too..I didn't touch anything just suspend and then power up. Are there some devices unplugged or ejected at suspend stage?

Well, that's what I'd like to find out.

Can you please build the kernel with CONFIG_PM_VERBOSE set and with the $subject patch applied and post a dmesg output from it containing at least one suspend-resume cycle?

Best,
Rafael

#14 lore raw
In reply to Danny Feng

Hi Danny,

* Danny Feng <[email protected]>:

Quoted 22 lines
Call Trace:
 [<ffffffff81254193>] acpi_get_pci_dev+0x106/0x167
 [<ffffffff8125545a>] acpi_pci_bind+0x1c/0x86
 [<ffffffff8116230a>] ? sysfs_create_file+0x2a/0x2c
 [<ffffffff8125141f>] acpi_add_single_object+0x964/0xa0c
 [<ffffffff812515a7>] acpi_bus_check_add+0xe0/0x138
 [<ffffffff81251667>] acpi_bus_scan+0x68/0xa0
 [<ffffffff812516f4>] acpi_bus_add+0x2a/0x2e
 [<ffffffff81252c59>] hotplug_dock_devices+0x114/0x13e
 [<ffffffff8125301a>] acpi_dock_deferred_cb+0xbf/0x192
 [<ffffffff8124d6ca>] acpi_os_execute_deferred+0x29/0x36
 [<ffffffff8106a244>] worker_thread+0x251/0x347
 [<ffffffff8106a1ef>] ? worker_thread+0x1fc/0x347
 [<ffffffff8124d6a1>] ? acpi_os_execute_deferred+0x0/0x36
 [<ffffffff8106e426>] ? autoremove_wake_function+0x0/0x39
 [<ffffffff81069ff3>] ? worker_thread+0x0/0x347
 [<ffffffff8106e0e0>] kthread+0x7f/0x87
 [<ffffffff81012cea>] child_rip+0xa/0x20
 [<ffffffff81012650>] ? restore_args+0x0/0x30
 [<ffffffff8106e061>] ? kthread+0x0/0x87
 [<ffffffff81012ce0>] ? child_rip+0x0/0x20
Code: ff 49 89 fc 41 89 f5 a9 00 ff ff 07 74 11 be 87 00 00 00 48 c7 c7  
Quoted 6 lines

45 6d 5a 81 e8 f6 2b e3 ff 48 c7 c7 30 ab 68 81 e8 29 77 20 00 <49> 8b 5c 24 28 49 83 c4 28 eb 09 44 39 6b 38 74 10 48 89 c3 48 RIP [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
RSP <ffff88022ee69aa0>
CR2: 0000000000000028

---[ end trace b5a7793bd9db2a4d ]---

Can you please reproduce with this debug patch? I'm guessing that we're dying because we have a NULL parent device, but I'm curious as to what causes this situation to occur.

Thanks.
/ac
---

drivers/acpi/dock.c +11 -2
index 7338b6a..4c1b128 100644
@@ -126,6 +126,7 @@ add_dock_dependent_device(struct dock_station *ds,
 {
 	spin_lock(&ds->dd_lock);
 	list_add_tail(&dd->list, &ds->dependent_devices);
+	printk("%s adding handle %p\n", __func__, dd->handle);
 	spin_unlock(&ds->dd_lock);
 }
 
@@ -142,6 +143,8 @@ dock_add_hotplug_device(struct dock_station *ds,
 {
 	mutex_lock(&ds->hp_lock);
 	list_add_tail(&dd->hotplug_list, &ds->hotplug_devices);
+	dump_stack();
+	printk("%s adding handle %p\n", __func__, dd->handle);
 	mutex_unlock(&ds->hp_lock);
 }
 
@@ -325,14 +328,17 @@ static struct acpi_device * dock_create_acpi_device(acpi_handle handle)
 	acpi_handle parent;
 	int ret;
 
+	printk("%s handle %p\n", __func__, handle);
 	if (acpi_bus_get_device(handle, &device)) {
 		/*
 		 * no device created for this object,
 		 * so we should create one.
 		 */
 		acpi_get_parent(handle, &parent);
-		if (acpi_bus_get_device(parent, &parent_device))
+		if (acpi_bus_get_device(parent, &parent_device)) {
 			parent_device = NULL;
+			printk("%s no parent, setting NULL\n", __func__);
+		}
 
 		ret = acpi_bus_add(&device, parent_device, handle,
 			ACPI_BUS_TYPE_DEVICE);
@@ -385,8 +391,10 @@ static void hotplug_dock_devices(struct dock_station *ds, u32 event)
 	 * First call driver specific hotplug functions
 	 */
 	list_for_each_entry(dd, &ds->hotplug_devices, hotplug_list) {
-		if (dd->ops && dd->ops->handler)
+		if (dd->ops && dd->ops->handler) {
+			printk("%s handle %p\n", __func__, dd->handle);
 			dd->ops->handler(dd->handle, event, dd->context);
+		}
 	}
 
 	/*
@@ -1041,6 +1049,7 @@ static int dock_add(acpi_handle handle)
 		ret = -ENOMEM;
 		goto dock_add_err_unregister;
 	}
+	printk("%s adding self as dependent %p)\n", __func__, dd->handle);
 	add_dock_dependent_device(dock_station, dd);
 
 	dock_station_count++;
#15 lore raw
Quoted 32 lines · Alex Chiang

Hi Danny,

* Danny Feng <[email protected]>:

Quoted 22 lines
Call Trace:
 [<ffffffff81254193>] acpi_get_pci_dev+0x106/0x167
 [<ffffffff8125545a>] acpi_pci_bind+0x1c/0x86
 [<ffffffff8116230a>] ? sysfs_create_file+0x2a/0x2c
 [<ffffffff8125141f>] acpi_add_single_object+0x964/0xa0c
 [<ffffffff812515a7>] acpi_bus_check_add+0xe0/0x138
 [<ffffffff81251667>] acpi_bus_scan+0x68/0xa0
 [<ffffffff812516f4>] acpi_bus_add+0x2a/0x2e
 [<ffffffff81252c59>] hotplug_dock_devices+0x114/0x13e
 [<ffffffff8125301a>] acpi_dock_deferred_cb+0xbf/0x192
 [<ffffffff8124d6ca>] acpi_os_execute_deferred+0x29/0x36
 [<ffffffff8106a244>] worker_thread+0x251/0x347
 [<ffffffff8106a1ef>] ? worker_thread+0x1fc/0x347
 [<ffffffff8124d6a1>] ? acpi_os_execute_deferred+0x0/0x36
 [<ffffffff8106e426>] ? autoremove_wake_function+0x0/0x39
 [<ffffffff81069ff3>] ? worker_thread+0x0/0x347
 [<ffffffff8106e0e0>] kthread+0x7f/0x87
 [<ffffffff81012cea>] child_rip+0xa/0x20
 [<ffffffff81012650>] ? restore_args+0x0/0x30
 [<ffffffff8106e061>] ? kthread+0x0/0x87
 [<ffffffff81012ce0>] ? child_rip+0x0/0x20
Code: ff 49 89 fc 41 89 f5 a9 00 ff ff 07 74 11 be 87 00 00 00 48 c7 c7  
Quoted 6 lines

45 6d 5a 81 e8 f6 2b e3 ff 48 c7 c7 30 ab 68 81 e8 29 77 20 00 <49> 8b 5c 24 28 49 83 c4 28 eb 09 44 39 6b 38 74 10 48 89 c3 48 RIP [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
RSP <ffff88022ee69aa0>
CR2: 0000000000000028

---[ end trace b5a7793bd9db2a4d ]---
Quoted 3 lines

Can you please reproduce with this debug patch? I'm guessing that we're dying because we have a NULL parent device, but I'm curious as to what causes this situation to occur.

If we had a NULL parent, acpi_get_parent() would return an error. Also, if we one of the devices is NULL at the PCI level, pci_get_slot() will return NULL. The only possibility left is that one of the buses we find in the ACPI tables doesn't have a secondary PCI bus.

I think what happens is that on resume we get a dock notification (via dock_acpi_notifier registered in dock_init()) for a dock station device that is present in the ACPI tables, but not physically accessible at the moment (I guess that falls into the "BIOS bug" category, but we can fix this easily in the kernel).

So, IMO, the appended patch is the right fix.

Danny, please test it and report back (in particular, please tell us if you see the "Secondary bus not present" message in dmesg).

Thanks,
Rafael

---
 drivers/acpi/pci_root.c |   12 ++++++++++++
 1 file changed, 12 insertions(+)
drivers/acpi/pci_root.c +12 -0
Index: linux-2.6/drivers/acpi/pci_root.c
===================================================================
@@ -389,6 +389,18 @@ struct pci_dev *acpi_get_pci_dev(acpi_ha
 
 		pbus = pdev->subordinate;
 		pci_dev_put(pdev);
+
+		/*
+		 * During resume from a sleep state we can get a dock
+		 * notification for a device that is present in ACPI tables,
+		 * but not physically accessible at the moment, so tell the
+		 * caller it's not present.
+		 */
+		if (!pbus) {
+			dev_info(&pdev->dev, "Secondary bus not present\n");
+			pdev = NULL;
+			break;
+		}
 	}
 out:
 	list_for_each_entry_safe(node, tmp, &device_list, node)
author
#16 lore raw
Quoted 78 lines · Rafael J. Wysocki
Quoted 33 lines · Alex Chiang

Hi Danny,

* Danny Feng<[email protected]>:

Quoted 22 lines
Call Trace:
  [<ffffffff81254193>] acpi_get_pci_dev+0x106/0x167
  [<ffffffff8125545a>] acpi_pci_bind+0x1c/0x86
  [<ffffffff8116230a>] ? sysfs_create_file+0x2a/0x2c
  [<ffffffff8125141f>] acpi_add_single_object+0x964/0xa0c
  [<ffffffff812515a7>] acpi_bus_check_add+0xe0/0x138
  [<ffffffff81251667>] acpi_bus_scan+0x68/0xa0
  [<ffffffff812516f4>] acpi_bus_add+0x2a/0x2e
  [<ffffffff81252c59>] hotplug_dock_devices+0x114/0x13e
  [<ffffffff8125301a>] acpi_dock_deferred_cb+0xbf/0x192
  [<ffffffff8124d6ca>] acpi_os_execute_deferred+0x29/0x36
  [<ffffffff8106a244>] worker_thread+0x251/0x347
  [<ffffffff8106a1ef>] ? worker_thread+0x1fc/0x347
  [<ffffffff8124d6a1>] ? acpi_os_execute_deferred+0x0/0x36
  [<ffffffff8106e426>] ? autoremove_wake_function+0x0/0x39
  [<ffffffff81069ff3>] ? worker_thread+0x0/0x347
  [<ffffffff8106e0e0>] kthread+0x7f/0x87
  [<ffffffff81012cea>] child_rip+0xa/0x20
  [<ffffffff81012650>] ? restore_args+0x0/0x30
  [<ffffffff8106e061>] ? kthread+0x0/0x87
  [<ffffffff81012ce0>] ? child_rip+0x0/0x20
Code: ff 49 89 fc 41 89 f5 a9 00 ff ff 07 74 11 be 87 00 00 00 48 c7 c7
Quoted 7 lines

45 6d 5a 81 e8 f6 2b e3 ff 48 c7 c7 30 ab 68 81 e8 29 77 20 00<49> 8b 5c 24 28 49 83 c4 28 eb 09 44 39 6b 38 74 10 48 89 c3 48 RIP [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
RSP<ffff88022ee69aa0>
CR2: 0000000000000028

---[ end trace b5a7793bd9db2a4d ]---
Quoted 4 lines

Can you please reproduce with this debug patch? I'm guessing that we're dying because we have a NULL parent device, but I'm curious as to what causes this situation to occur.

If we had a NULL parent, acpi_get_parent() would return an error. Also, if we one of the devices is NULL at the PCI level, pci_get_slot() will return NULL. The only possibility left is that one of the buses we find in the ACPI tables doesn't have a secondary PCI bus.

I think what happens is that on resume we get a dock notification (via dock_acpi_notifier registered in dock_init()) for a dock station device that is present in the ACPI tables, but not physically accessible at the moment (I guess that falls into the "BIOS bug" category, but we can fix this easily in the kernel).

So, IMO, the appended patch is the right fix.

Danny, please test it and report back (in particular, please tell us if you see the "Secondary bus not present" message in dmesg).

Thanks,
Rafael

---
  drivers/acpi/pci_root.c |   12 ++++++++++++
  1 file changed, 12 insertions(+)

Index: linux-2.6/drivers/acpi/pci_root.c
===================================================================

drivers/acpi/pci_root.c +5 -0
@@ -389,6 +389,18 @@ struct pci_dev *acpi_get_pci_dev(acpi_ha
 
  		pbus = pdev->subordinate;
  		pci_dev_put(pdev);
+
+		/*
+		 * During resume from a sleep state we can get a dock
+		 * notification for a device that is present in ACPI tables,
+		 * but not physically accessible at the moment, so tell the

drivers/acpi/pci_root.c struct pci_dev *acpi_get_pci_dev(acpi_ha · line 406

Quoted 10 lines
drivers/acpi/pci_root.c +7 -0
+		 * caller it's not present.
+		 */
+		if (!pbus) {
+			dev_info(&pdev->dev, "Secondary bus not present\n");
+			pdev = NULL;
+			break;
+		}
  	}
  out:
  	list_for_each_entry_safe(node, tmp,&device_list, node)

Sorry for the late response, just back from holidays. Will test it soon, thanks.

author
#17 lore raw
In reply to Rafael J. Wysocki
Quoted 48 lines · Rafael J. Wysocki
Quoted 32 lines · Alex Chiang

Hi Danny,

* Danny Feng<[email protected]>:

Quoted 22 lines
Call Trace:
  [<ffffffff81254193>] acpi_get_pci_dev+0x106/0x167
  [<ffffffff8125545a>] acpi_pci_bind+0x1c/0x86
  [<ffffffff8116230a>] ? sysfs_create_file+0x2a/0x2c
  [<ffffffff8125141f>] acpi_add_single_object+0x964/0xa0c
  [<ffffffff812515a7>] acpi_bus_check_add+0xe0/0x138
  [<ffffffff81251667>] acpi_bus_scan+0x68/0xa0
  [<ffffffff812516f4>] acpi_bus_add+0x2a/0x2e
  [<ffffffff81252c59>] hotplug_dock_devices+0x114/0x13e
  [<ffffffff8125301a>] acpi_dock_deferred_cb+0xbf/0x192
  [<ffffffff8124d6ca>] acpi_os_execute_deferred+0x29/0x36
  [<ffffffff8106a244>] worker_thread+0x251/0x347
  [<ffffffff8106a1ef>] ? worker_thread+0x1fc/0x347
  [<ffffffff8124d6a1>] ? acpi_os_execute_deferred+0x0/0x36
  [<ffffffff8106e426>] ? autoremove_wake_function+0x0/0x39
  [<ffffffff81069ff3>] ? worker_thread+0x0/0x347
  [<ffffffff8106e0e0>] kthread+0x7f/0x87
  [<ffffffff81012cea>] child_rip+0xa/0x20
  [<ffffffff81012650>] ? restore_args+0x0/0x30
  [<ffffffff8106e061>] ? kthread+0x0/0x87
  [<ffffffff81012ce0>] ? child_rip+0x0/0x20
Code: ff 49 89 fc 41 89 f5 a9 00 ff ff 07 74 11 be 87 00 00 00 48 c7 c7
Quoted 6 lines

45 6d 5a 81 e8 f6 2b e3 ff 48 c7 c7 30 ab 68 81 e8 29 77 20 00<49> 8b 5c 24 28 49 83 c4 28 eb 09 44 39 6b 38 74 10 48 89 c3 48 RIP [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
RSP<ffff88022ee69aa0>
CR2: 0000000000000028

---[ end trace b5a7793bd9db2a4d ]---
Quoted 3 lines

Can you please reproduce with this debug patch? I'm guessing that we're dying because we have a NULL parent device, but I'm curious as to what causes this situation to occur.

If we had a NULL parent, acpi_get_parent() would return an error. Also, if we one of the devices is NULL at the PCI level, pci_get_slot() will return NULL. The only possibility left is that one of the buses we find in the ACPI tables doesn't have a secondary PCI bus.

I think what happens is that on resume we get a dock notification (via dock_acpi_notifier registered in dock_init()) for a dock station device that is present in the ACPI tables, but not physically accessible at the moment (I guess that falls into the "BIOS bug" category, but we can fix this easily in the kernel).

Quoted 4 lines

So, IMO, the appended patch is the right fix.

Danny, please test it and report back (in particular, please tell us if you see the "Secondary bus not present" message in dmesg).

Yes, this patch works. I got "ata_piix 0000:00:1f.2: Secondary bus not present". Thanks.

Quoted 33 lines

Thanks,
Rafael

---
  drivers/acpi/pci_root.c |   12 ++++++++++++
  1 file changed, 12 insertions(+)

Index: linux-2.6/drivers/acpi/pci_root.c
===================================================================

drivers/acpi/pci_root.c +12 -0
@@ -389,6 +389,18 @@ struct pci_dev *acpi_get_pci_dev(acpi_ha
 
  		pbus = pdev->subordinate;
  		pci_dev_put(pdev);
+
+		/*
+		 * During resume from a sleep state we can get a dock
+		 * notification for a device that is present in ACPI tables,
+		 * but not physically accessible at the moment, so tell the
+		 * caller it's not present.
+		 */
+		if (!pbus) {
+			dev_info(&pdev->dev, "Secondary bus not present\n");
+			pdev = NULL;
+			break;
+		}
  	}
  out:
  	list_for_each_entry_safe(node, tmp,&device_list, node)
#18 lore raw
Quoted 49 lines · Danny Feng
Quoted 48 lines · Rafael J. Wysocki
Quoted 32 lines · Alex Chiang

Hi Danny,

* Danny Feng<[email protected]>:

Quoted 22 lines
Call Trace:
  [<ffffffff81254193>] acpi_get_pci_dev+0x106/0x167
  [<ffffffff8125545a>] acpi_pci_bind+0x1c/0x86
  [<ffffffff8116230a>] ? sysfs_create_file+0x2a/0x2c
  [<ffffffff8125141f>] acpi_add_single_object+0x964/0xa0c
  [<ffffffff812515a7>] acpi_bus_check_add+0xe0/0x138
  [<ffffffff81251667>] acpi_bus_scan+0x68/0xa0
  [<ffffffff812516f4>] acpi_bus_add+0x2a/0x2e
  [<ffffffff81252c59>] hotplug_dock_devices+0x114/0x13e
  [<ffffffff8125301a>] acpi_dock_deferred_cb+0xbf/0x192
  [<ffffffff8124d6ca>] acpi_os_execute_deferred+0x29/0x36
  [<ffffffff8106a244>] worker_thread+0x251/0x347
  [<ffffffff8106a1ef>] ? worker_thread+0x1fc/0x347
  [<ffffffff8124d6a1>] ? acpi_os_execute_deferred+0x0/0x36
  [<ffffffff8106e426>] ? autoremove_wake_function+0x0/0x39
  [<ffffffff81069ff3>] ? worker_thread+0x0/0x347
  [<ffffffff8106e0e0>] kthread+0x7f/0x87
  [<ffffffff81012cea>] child_rip+0xa/0x20
  [<ffffffff81012650>] ? restore_args+0x0/0x30
  [<ffffffff8106e061>] ? kthread+0x0/0x87
  [<ffffffff81012ce0>] ? child_rip+0x0/0x20
Code: ff 49 89 fc 41 89 f5 a9 00 ff ff 07 74 11 be 87 00 00 00 48 c7 c7
Quoted 6 lines

45 6d 5a 81 e8 f6 2b e3 ff 48 c7 c7 30 ab 68 81 e8 29 77 20 00<49> 8b 5c 24 28 49 83 c4 28 eb 09 44 39 6b 38 74 10 48 89 c3 48 RIP [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
RSP<ffff88022ee69aa0>
CR2: 0000000000000028

---[ end trace b5a7793bd9db2a4d ]---
Quoted 3 lines

Can you please reproduce with this debug patch? I'm guessing that we're dying because we have a NULL parent device, but I'm curious as to what causes this situation to occur.

If we had a NULL parent, acpi_get_parent() would return an error. Also, if we one of the devices is NULL at the PCI level, pci_get_slot() will return NULL. The only possibility left is that one of the buses we find in the ACPI tables doesn't have a secondary PCI bus.

I think what happens is that on resume we get a dock notification (via dock_acpi_notifier registered in dock_init()) for a dock station device that is present in the ACPI tables, but not physically accessible at the moment (I guess that falls into the "BIOS bug" category, but we can fix this easily in the kernel).

Quoted 6 lines
Quoted 4 lines

So, IMO, the appended patch is the right fix.

Danny, please test it and report back (in particular, please tell us if you see the "Secondary bus not present" message in dmesg).

Yes, this patch works. I got "ata_piix 0000:00:1f.2: Secondary bus not present".

Now that's a puzzle!

Can you please attach the output of acpidump from this machine?

Rafael

author
#19 lore raw
Quoted 52 lines · Rafael J. Wysocki
Quoted 51 lines · Danny Feng
Quoted 50 lines · Rafael J. Wysocki
Quoted 32 lines · Alex Chiang

Hi Danny,

* Danny Feng<[email protected]>:

Quoted 22 lines
Call Trace:
   [<ffffffff81254193>] acpi_get_pci_dev+0x106/0x167
   [<ffffffff8125545a>] acpi_pci_bind+0x1c/0x86
   [<ffffffff8116230a>] ? sysfs_create_file+0x2a/0x2c
   [<ffffffff8125141f>] acpi_add_single_object+0x964/0xa0c
   [<ffffffff812515a7>] acpi_bus_check_add+0xe0/0x138
   [<ffffffff81251667>] acpi_bus_scan+0x68/0xa0
   [<ffffffff812516f4>] acpi_bus_add+0x2a/0x2e
   [<ffffffff81252c59>] hotplug_dock_devices+0x114/0x13e
   [<ffffffff8125301a>] acpi_dock_deferred_cb+0xbf/0x192
   [<ffffffff8124d6ca>] acpi_os_execute_deferred+0x29/0x36
   [<ffffffff8106a244>] worker_thread+0x251/0x347
   [<ffffffff8106a1ef>] ? worker_thread+0x1fc/0x347
   [<ffffffff8124d6a1>] ? acpi_os_execute_deferred+0x0/0x36
   [<ffffffff8106e426>] ? autoremove_wake_function+0x0/0x39
   [<ffffffff81069ff3>] ? worker_thread+0x0/0x347
   [<ffffffff8106e0e0>] kthread+0x7f/0x87
   [<ffffffff81012cea>] child_rip+0xa/0x20
   [<ffffffff81012650>] ? restore_args+0x0/0x30
   [<ffffffff8106e061>] ? kthread+0x0/0x87
   [<ffffffff81012ce0>] ? child_rip+0x0/0x20
Code: ff 49 89 fc 41 89 f5 a9 00 ff ff 07 74 11 be 87 00 00 00 48 c7 c7
Quoted 6 lines

45 6d 5a 81 e8 f6 2b e3 ff 48 c7 c7 30 ab 68 81 e8 29 77 20 00<49> 8b
5c 24 28 49 83 c4 28 eb 09 44 39 6b 38 74 10 48 89 c3 48 RIP [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
RSP<ffff88022ee69aa0>
CR2: 0000000000000028

---[ end trace b5a7793bd9db2a4d ]---
Quoted 3 lines

Can you please reproduce with this debug patch? I'm guessing that we're dying because we have a NULL parent device, but I'm curious as to what causes this situation to occur.

If we had a NULL parent, acpi_get_parent() would return an error. Also, if we one of the devices is NULL at the PCI level, pci_get_slot() will return NULL. The only possibility left is that one of the buses we find in the ACPI tables doesn't have a secondary PCI bus.

I think what happens is that on resume we get a dock notification (via dock_acpi_notifier registered in dock_init()) for a dock station device that is present in the ACPI tables, but not physically accessible at the moment (I guess that falls into the "BIOS bug" category, but we can fix this easily in the kernel).

So, IMO, the appended patch is the right fix.

Quoted 8 lines
Quoted 4 lines
Quoted 2 lines

Danny, please test it and report back (in particular, please tell us if you see the "Secondary bus not present" message in dmesg).

Yes, this patch works. I got "ata_piix 0000:00:1f.2: Secondary bus not present".

Now that's a puzzle!

Can you please attach the output of acpidump from this machine?

Hi Rafael, please check the attachment, thanks.

Quoted 3 lines

Rafael

DSDT @ 0xfff1be4b

  0000: 44 53 44 54 6f 53 00 00 01 8c 44 45 4c 4c 00 00  DSDToS....DELL..
  0010: 64 74 5f 65 78 00 00 00 00 10 00 00 49 4e 54 4c  dt_ex.......INTL
  0020: 24 06 05 20 14 07 44 42 49 4e 00 a3 10 47 05 5c  $.. ..DBIN...G.\
  0030: 00 5b 82 1f 2e 5f 53 42 5f 56 42 54 4e 08 5f 48  .[..._SB_VBTN._H
  0040: 49 44 0c 41 d0 0c 0c 08 5f 50 52 57 12 05 02 01  ID.A...._PRW....
  0050: 0a 04 5b 80 53 53 54 53 01 0b 28 08 01 5b 81 0b  ..[.SSTS..(..[..
  0060: 53 53 54 53 41 54 53 54 53 01 5b 80 53 41 43 54  SSTSATSTS.[.SACT
  0070: 01 0b 2a 08 01 5b 81 0d 53 41 43 54 41 00 02 54  ..*..[..SACTA..T
  0080: 50 4f 4c 01 10 25 5f 47 50 45 14 1f 5f 4c 30 30  POL..%_GPE.._L00
  0090: 00 70 00 54 50 4f 4c 70 01 54 53 54 53 86 5c 2e  .p.TPOLp.TSTS.\.
  00a0: 5f 53 42 5f 56 42 54 4e 0a 02 10 30 5f 53 42 5f  _SB_VBTN...0_SB_
  00b0: 14 2a 5f 49 4e 49 00 a0 23 5b 12 5f 4f 53 49 60  .*_INI..#[._OSI`
  00c0: a0 1a 5f 4f 53 49 0d 57 69 6e 64 6f 77 73 20 32  .._OSI.Windows 2
  00d0: 30 30 31 00 70 0a 04 4d 53 4f 53 10 4a 26 5c 00  001.p..MSOS.J&\.
  00e0: 08 4d 53 4f 53 00 5b 01 4d 54 58 5f 01 14 38 43  .MSOS.[.MTX_..8C
  00f0: 4d 52 44 01 5b 23 53 4d 49 4d ff ff 70 68 60 7b  MRD.[#SMIM..ph`{
  0100: 60 0a 7f 60 70 60 53 4d 49 44 70 0a 84 53 4d 49  `..`p`SMIDp..SMI
  0110: 43 70 0a 85 53 4d 49 43 70 53 4d 49 44 60 5b 27  Cp..SMICpSMID`['
  0120: 53 4d 49 4d a4 60 14 36 43 4d 57 52 02 5b 23 53  SMIM.`.6CMWR.[#S
  0130: 4d 49 4d ff ff 70 68 60 7d 60 0a 80 60 70 60 53  MIM..ph`}`..`p`S
  0140: 4d 49 44 70 0a 84 53 4d 49 43 70 69 53 4d 49 44  MIDp..SMICpiSMID
  0150: 70 0a 85 53 4d 49 43 5b 27 53 4d 49 4d 14 11 47  p..SMIC['SMIM..G
  0160: 43 4b 42 00 a4 7b 0a 20 43 4d 52 44 0a 26 00 14  CKB..{. CMRD.&..
  0170: 11 47 43 4d 53 00 a4 7b 0a 40 43 4d 52 44 0a 6f  .GCMS..{[email protected]
  0180: 00 14 11 47 43 4f 4e 00 a4 7b 0a 04 43 4d 52 44  ...GCON..{..CMRD
  0190: 0a 55 00 14 14 47 43 55 43 00 7b 01 43 4d 52 44  .U...GCUC.{.CMRD
  01a0: 0a 22 60 a4 7f 01 60 00 14 11 47 43 53 31 00 a4  ."`...`...GCS1..
  01b0: 7b 0a 03 43 4d 52 44 0a 25 00 14 11 47 43 53 32  {..CMRD.%...GCS2
  01c0: 00 a4 7b 0a 0c 43 4d 52 44 0a 25 00 14 11 47 43  ..{..CMRD.%...GC
  01d0: 46 44 00 a4 7b 0a 18 43 4d 52 44 0a 55 00 14 11  FD..{..CMRD.U...
  01e0: 47 43 50 50 00 a4 7b 0a 70 43 4d 52 44 0a 23 00  GCPP..{.pCMRD.#.
  01f0: 14 11 47 43 54 50 00 a4 7b 0a 40 43 4d 52 44 0a  ..GCTP..{.@CMRD.
  0200: 22 00 14 11 47 43 4e 43 00 a4 7b 0a 03 43 4d 52  "...GCNC..{..CMR
  0210: 44 0a 59 00 14 4a 10 48 41 43 4b 00 a0 1e 93 4d  D.Y..J.HACK....M
  0220: 53 4f 53 0a 04 70 43 4d 52 44 0a 6f 60 7d 60 0a  SOS..pCMRD.o`}`.
  0230: 04 60 43 4d 57 52 0a 6f 60 a4 01 a1 15 70 43 4d  .`CMWR.o`....pCM
  0240: 52 44 0a 6f 60 7b 60 0a fb 60 43 4d 57 52 0a 6f  RD.o`{`..`CMWR.o
  0250: 60 72 87 5f 4f 53 5f 01 60 70 60 61 08 42 55 46  `r._OS_.`p`a.BUF
  0260: 30 11 02 60 08 42 55 46 31 11 02 60 08 4f 53 4e  0..`.BUF1..`.OSN
  0270: 54 01 08 4f 53 39 38 01 70 5f 4f 53 5f 42 55 46  T..OS98.p_OS_BUF
  0280: 30 70 0d 4d 69 63 72 6f 73 6f 66 74 20 57 69 6e  0p.Microsoft Win
  0290: 64 6f 77 73 20 4e 54 00 42 55 46 31 a2 1f 60 76  dows NT.BUF1..`v
  02a0: 60 a0 12 93 83 88 42 55 46 30 60 00 83 88 42 55  `.....BUF0`...BU
  02b0: 46 31 60 00 a1 07 70 00 4f 53 4e 54 a0 0e 4f 53  F1`...p.OSNT..OS
  02c0: 4e 54 70 0a 03 4d 53 4f 53 a4 01 a1 43 05 70 0d  NTp..MSOS...C.p.
  02d0: 4d 69 63 72 6f 73 6f 66 74 20 57 69 6e 64 6f 77  Microsoft Window
  02e0: 73 00 42 55 46 31 a2 1f 61 76 61 a0 12 93 83 88  s.BUF1..ava.....
  02f0: 42 55 46 30 61 00 83 88 42 55 46 31 61 00 a1 07  BUF0a...BUF1a...
  0300: 70 00 4f 53 39 38 a0 0d 4f 53 39 38 70 01 4d 53  p.OS98..OS98p.MS
  0310: 4f 53 a4 00 a1 0a 70 0a 02 4d 53 4f 53 a4 00 14  OS....p..MSOS...
  0320: 26 49 53 4c 49 00 a0 1b 5b 12 5f 4f 53 49 60 a0  &ISLI...[._OSI`.
  0330: 0e 5f 4f 53 49 0d 4c 69 6e 75 78 00 a4 01 a1 03  ._OSI.Linux.....
  0340: a4 00 a1 03 a4 00 10 05 5f 53 42 5f 5b 80 43 4d  ........_SB_[.CM
  0350: 53 5f 01 0a 70 0a 02 5b 81 10 43 4d 53 5f 01 43  S_..p..[..CMS_.C
  0360: 4d 53 49 08 43 4d 53 44 08 5b 80 53 4d 49 52 01  MSI.CMSD.[.SMIR.
  0370: 0a b2 0a 02 5b 81 10 53 4d 49 52 01 53 4d 49 43  ....[..SMIR.SMIC
  0380: 08 53 4d 49 44 08 5b 80 53 54 4f 4e 01 0a 84 01  .SMID.[.STON....
  0390: 5b 81 0b 53 54 4f 4e 01 4d 47 49 43 08 5b 80 53  [..STON.MGIC.[.S
  03a0: 49 4f 5f 01 0a 2e 0a 02 5b 81 10 53 49 4f 5f 01  IO_.....[..SIO_.
  03b0: 53 49 4f 49 08 53 49 4f 44 08 5b 80 50 4d 31 52  SIOI.SIOD.[.PM1R
  03c0: 01 0b 00 08 0a 04 5b 81 1a 50 4d 31 52 01 50 4d  ......[..PM1R.PM
  03d0: 53 31 08 50 4d 53 32 08 50 4d 45 31 08 50 4d 45  S1.PMS2.PME1.PME
  03e0: 32 08 5b 80 47 50 53 54 01 0b 20 08 01 5b 81 0b  2.[.GPST.. ..[..
  03f0: 47 50 53 54 01 47 53 54 30 08 5b 80 47 4c 42 43  GPST.GST0.[.GLBC
  0400: 01 0b 28 08 0a 06 5b 81 24 47 4c 42 43 01 54 48  ..(...[.$GLBC.TH
  0410: 52 50 08 47 4c 42 54 08 45 4f 53 5f 08 4c 49 44  RP.GLBT.EOS_.LID
  0420: 50 08 54 48 4d 45 08 52 49 45 4e 08 5b 80 47 50  P.THME.RIEN.[.GP
  0430: 45 43 01 0b 42 08 01 5b 81 12 47 50 45 43 01 54  EC..B..[..GPEC.T
  0440: 48 50 4c 01 53 57 47 50 01 00 06 5b 80 50 4d 45  HPL.SWGP...[.PME
  0450: 53 01 0b 00 0c 01 5b 81 0b 50 4d 45 53 01 47 53  S.....[..PMES.GS
  0460: 54 53 08 5b 01 53 4d 49 4d 01 5b 01 53 4d 49 58  TS.[.SMIM.[.SMIX
  0470: 01 08 53 58 58 30 11 04 0b 00 01 08 53 58 58 31  ..SXX0......SXX1
  0480: 11 03 0a 08 8b 53 58 58 31 00 53 58 58 32 8b 53  .....SXX1.SXX2.S
  0490: 58 58 31 0a 04 53 58 58 33 14 2e 53 4d 49 5f 02  XX1..SXX3..SMI_.
  04a0: 5b 23 53 4d 49 4d ff ff 70 69 53 4d 49 44 70 68  [#SMIM..piSMIDph
  04b0: 53 4d 49 43 70 4d 47 49 43 60 70 53 4d 49 44 61  SMICpMGIC`pSMIDa
  04c0: 5b 27 53 4d 49 4d a4 61 14 28 53 4d 49 31 01 5b  ['SMIM.a.(SMI1.[
  04d0: 23 53 4d 49 4d ff ff 70 68 53 4d 49 43 70 4d 47  #SMIM..phSMICpMG
  04e0: 49 43 60 70 53 4d 49 44 60 5b 27 53 4d 49 4d a4  IC`pSMID`['SMIM.
  04f0: 60 14 37 53 4d 49 32 01 5b 23 53 4d 49 4d ff ff  `.7SMI2.[#SMIM..
  0500: 70 68 53 4d 49 43 70 4d 47 49 43 60 70 53 4d 49  phSMICpMGIC`pSMI
  0510: 43 61 70 53 4d 49 44 60 79 60 0a 08 60 72 61 60  CapSMID`y`..`ra`
  0520: 60 5b 27 53 4d 49 4d a4 60 14 23 53 4d 49 34 01  `['SMIM.`.#SMI4.
  0530: 72 68 01 60 70 53 4d 49 32 68 62 70 53 4d 49 32  rh.`pSMI2hbpSMI2
  0540: 60 61 79 61 0a 10 61 72 61 62 60 a4 60 14 0d 47  `aya..arab`.`..G
  0550: 54 4d 52 00 a4 53 4d 49 34 0a 78 14 0d 47 54 4d  TMR..SMI4.x..GTM
  0560: 4c 00 a4 53 4d 49 34 0a 74 14 0d 47 54 4d 48 00  L..SMI4.t..GTMH.
  0570: a4 53 4d 49 34 0a 76 14 0d 47 54 4f 4d 00 a4 53  .SMI4.v..GTOM..S
  0580: 4d 49 34 0a 81 14 17 47 55 53 42 00 a0 07 49 53  MI4....GUSB...IS
  0590: 4c 49 a4 00 a1 08 a4 53 4d 49 32 0a ba 14 0e 47  LI.....SMI2....G
  05a0: 54 50 4d 00 a4 53 4d 49 5f 0a 9b 00 14 14 53 58  TPM..SMI_.....SX
  05b0: 31 30 00 5b 23 53 4d 49 58 ff ff 70 00 53 58 58  10.[#SMIX..p.SXX
  05c0: 32 14 31 53 58 33 30 01 70 53 58 58 32 60 75 60  2.1SX30.pSXX2`u`
  05d0: a0 22 92 94 60 87 53 58 58 30 8c 53 58 58 30 53  ."..`.SXX0.SXX0S
  05e0: 58 58 32 53 58 32 30 70 68 53 58 32 30 70 60 53  XX2SX20phSX20p`S
  05f0: 58 58 32 14 1b 53 58 33 33 02 a0 14 95 69 87 68  XX2..SX33....i.h
  0600: 8c 68 69 53 58 32 30 53 58 33 30 53 58 32 30 14  .hiSX20SX30SX20.
  0610: 16 53 58 33 34 02 70 00 60 a2 0c 95 60 69 53 58  .SX34.p.`...`iSX
  0620: 33 33 68 60 75 60 14 29 53 58 58 36 02 70 69 53  33h`u`.)SXX6.piS
  0630: 4d 49 44 70 68 53 4d 49 43 70 53 4d 49 43 60 a2  MIDphSMICpSMIC`.
  0640: 0b 92 93 60 00 70 53 4d 49 43 60 a4 53 4d 49 44  ...`.pSMIC`.SMID
  0650: 14 1d 53 58 58 35 02 a0 16 95 69 87 68 8c 68 69  ..SXX5....i.h.hi
  0660: 53 58 32 30 53 58 58 36 0a 98 53 58 32 30 14 23  SX20SXX6..SX20.#
  0670: 53 58 58 34 00 53 58 58 36 0a 96 00 70 00 60 a2  SXX4.SXX6...p.`.
  0680: 12 95 60 53 58 58 32 53 58 58 35 53 58 58 30 60  ..`SXX2SXX5SXX0`
  0690: 75 60 14 1f 53 58 58 38 02 a0 18 95 69 87 68 8c  u`..SXX8....i.h.
  06a0: 68 69 53 58 32 30 70 53 58 58 36 0a 97 00 53 58  hiSX20pSXX6...SX
  06b0: 32 30 14 23 53 58 58 37 00 70 00 60 a2 19 95 60  20.#SXX7.p.`...`
  06c0: 53 58 58 33 72 53 58 58 32 60 61 53 58 58 38 53  SXX3rSXX2`aSXX8S
  06d0: 58 58 30 61 75 60 14 42 04 53 58 31 31 00 53 58  XX0au`.B.SX11.SX
  06e0: 58 34 70 53 58 58 36 0a 99 00 53 58 58 33 72 53  X4pSXX6...SXX3rS
  06f0: 58 58 32 53 58 58 33 60 a0 1c 95 87 53 58 58 30  XX2SXX3`....SXX0
  0700: 60 70 87 53 58 58 30 60 74 60 53 58 58 32 60 70  `p.SXX0`t`SXX2`p
  0710: 60 53 58 58 33 53 58 58 37 14 32 53 58 34 30 00  `SXX3SXX7.2SX40.
  0720: 70 53 58 58 32 60 75 60 a0 21 92 94 60 87 53 58  pSXX2`u`.!..`.SX
  0730: 58 30 8c 53 58 58 30 53 58 58 32 53 58 32 30 70  X0.SXX0SXX2SX20p
  0740: 60 53 58 58 32 a4 53 58 32 30 a4 00 14 35 53 58  `SXX2.SX20...5SX
  0750: 34 32 00 70 53 58 58 32 60 72 60 0a 04 60 a0 21  42.pSXX2`r`..`.!
  0760: 92 94 60 87 53 58 58 30 8a 53 58 58 30 53 58 58  ..`.SXX0.SXX0SXX
  0770: 32 53 58 32 32 70 60 53 58 58 32 a4 53 58 32 32  2SX22p`SXX2.SX22
  0780: a4 00 14 1c 53 58 34 33 02 a0 15 95 69 87 68 8c  ....SX43....i.h.
  0790: 68 69 53 58 32 30 70 53 58 34 30 53 58 32 30 14  hiSX20pSX40SX20.
  07a0: 16 53 58 34 34 02 70 00 60 a2 0c 95 60 69 53 58  .SX44.p.`...`iSX
  07b0: 34 33 68 60 75 60 14 0c 53 58 31 32 00 5b 27 53  43h`u`..SX12.['S
  07c0: 4d 49 58 14 15 47 4d 4d 49 00 70 53 4d 49 32 0a  MIX..GMMI.pSMI2.
  07d0: d0 60 79 60 0a 10 60 a4 60 14 21 47 4d 4d 58 00  .`y`..`.`.!GMMX.
  07e0: 70 53 4d 49 32 0a d1 60 79 60 0a 10 60 a0 0b 92  pSMI2..`y`..`...
  07f0: 93 60 00 7d 60 0b ff ff 60 a4 60 14 16 47 49 4f  .`.}`...`.`..GIO
  0800: 42 00 70 53 4d 49 32 0a d2 60 7b 60 0b ff ff 60  B.pSMI2..`{`...`
  0810: a4 60 14 16 47 49 4f 58 00 70 53 4d 49 32 0a d3  .`..GIOX.pSMI2..
  0820: 60 7b 60 0b ff ff 60 a4 60 10 39 5f 50 52 5f 5b  `{`...`.`.9_PR_[
  0830: 83 0b 43 50 55 30 01 10 08 00 00 06 5b 83 0b 43  ..CPU0......[..C
  0840: 50 55 31 02 00 00 00 00 00 5b 83 0b 43 50 55 32  PU1......[..CPU2
  0850: 03 00 00 00 00 00 5b 83 0b 43 50 55 33 04 00 00  ......[..CPU3...
  0860: 00 00 00 10 15 5c 00 08 53 53 54 58 00 14 0b 5f  .....\..SSTX..._
  0870: 50 54 53 01 50 53 4b 4d 68 10 42 0f 2e 5f 50 52  PTS.PSKMh.B.._PR
  0880: 5f 43 50 55 30 14 46 0e 5f 43 53 54 00 7b 43 4d  _CPU0.F._CST.{CM
  0890: 52 44 0a 7d 0a 03 60 a0 46 06 93 60 0a 02 a4 12  RD.}..`.F..`....
  08a0: 4e 05 04 0a 03 12 1c 04 11 14 0a 11 82 0c 00 7f  N...............
  08b0: 01 02 01 00 00 00 00 00 00 00 00 79 00 01 01 0b  ...........y....
  08c0: e8 03 12 1d 04 11 14 0a 11 82 0c 00 01 08 00 00  ................
  08d0: 14 08 00 00 00 00 00 00 79 00 0a 02 01 0b f4 01  ........y.......
  08e0: 12 1d 04 11 14 0a 11 82 0c 00 01 08 00 00 16 08  ................
  08f0: 00 00 00 00 00 00 79 00 0a 03 0a 39 0a 64 a1 4d  ......y....9.d.M
  0900: 06 a0 46 04 93 60 01 a4 12 3f 03 0a 02 12 1c 04  ..F..`...?......
  0910: 11 14 0a 11 82 0c 00 7f 01 02 01 00 00 00 00 00  ................
  0920: 00 00 00 79 00 01 01 0b e8 03 12 1d 04 11 14 0a  ...y............
  0930: 11 82 0c 00 01 08 00 00 14 08 00 00 00 00 00 00  ................
  0940: 79 00 0a 02 01 0b f4 01 a1 23 a4 12 20 02 01 12  y........#.. ...
  0950: 1c 04 11 14 0a 11 82 0c 00 7f 01 02 01 00 00 00  ................
  0960: 00 00 00 00 00 79 00 01 01 0b e8 03 10 42 0f 2e  .....y.......B..
  0970: 5f 50 52 5f 43 50 55 31 14 46 0e 5f 43 53 54 00  _PR_CPU1.F._CST.
  0980: 7b 43 4d 52 44 0a 7d 0a 03 60 a0 46 06 93 60 0a  {CMRD.}..`.F..`.
  0990: 02 a4 12 4e 05 04 0a 03 12 1c 04 11 14 0a 11 82  ...N............
  09a0: 0c 00 7f 01 02 01 00 00 00 00 00 00 00 00 79 00  ..............y.
  09b0: 01 01 0b e8 03 12 1d 04 11 14 0a 11 82 0c 00 01  ................
  09c0: 08 00 00 14 08 00 00 00 00 00 00 79 00 0a 02 01  ...........y....
  09d0: 0b f4 01 12 1d 04 11 14 0a 11 82 0c 00 01 08 00  ................
  09e0: 00 16 08 00 00 00 00 00 00 79 00 0a 03 0a 39 0a  .........y....9.
  09f0: 64 a1 4d 06 a0 46 04 93 60 01 a4 12 3f 03 0a 02  d.M..F..`...?...
  0a00: 12 1c 04 11 14 0a 11 82 0c 00 7f 01 02 01 00 00  ................
  0a10: 00 00 00 00 00 00 79 00 01 01 0b e8 03 12 1d 04  ......y.........
  0a20: 11 14 0a 11 82 0c 00 01 08 00 00 14 08 00 00 00  ................
  0a30: 00 00 00 79 00 0a 02 01 0b f4 01 a1 23 a4 12 20  ...y........#.. 
  0a40: 02 01 12 1c 04 11 14 0a 11 82 0c 00 7f 01 02 01  ................
  0a50: 00 00 00 00 00 00 00 00 79 00 01 01 0b e8 03 10  ........y.......
  0a60: 42 0f 2e 5f 50 52 5f 43 50 55 32 14 46 0e 5f 43  B.._PR_CPU2.F._C
  0a70: 53 54 00 7b 43 4d 52 44 0a 7d 0a 03 60 a0 46 06  ST.{CMRD.}..`.F.
  0a80: 93 60 0a 02 a4 12 4e 05 04 0a 03 12 1c 04 11 14  .`....N.........
  0a90: 0a 11 82 0c 00 7f 01 02 01 00 00 00 00 00 00 00  ................
  0aa0: 00 79 00 01 01 0b e8 03 12 1d 04 11 14 0a 11 82  .y..............
  0ab0: 0c 00 01 08 00 00 14 08 00 00 00 00 00 00 79 00  ..............y.
  0ac0: 0a 02 01 0b f4 01 12 1d 04 11 14 0a 11 82 0c 00  ................
  0ad0: 01 08 00 00 16 08 00 00 00 00 00 00 79 00 0a 03  ............y...
  0ae0: 0a 39 0a 64 a1 4d 06 a0 46 04 93 60 01 a4 12 3f  .9.d.M..F..`...?
  0af0: 03 0a 02 12 1c 04 11 14 0a 11 82 0c 00 7f 01 02  ................
  0b00: 01 00 00 00 00 00 00 00 00 79 00 01 01 0b e8 03  .........y......
  0b10: 12 1d 04 11 14 0a 11 82 0c 00 01 08 00 00 14 08  ................
  0b20: 00 00 00 00 00 00 79 00 0a 02 01 0b f4 01 a1 23  ......y........#
  0b30: a4 12 20 02 01 12 1c 04 11 14 0a 11 82 0c 00 7f  .. .............
  0b40: 01 02 01 00 00 00 00 00 00 00 00 79 00 01 01 0b  ...........y....
  0b50: e8 03 10 42 0f 2e 5f 50 52 5f 43 50 55 33 14 46  ...B.._PR_CPU3.F
  0b60: 0e 5f 43 53 54 00 7b 43 4d 52 44 0a 7d 0a 03 60  ._CST.{CMRD.}..`
  0b70: a0 46 06 93 60 0a 02 a4 12 4e 05 04 0a 03 12 1c  .F..`....N......
  0b80: 04 11 14 0a 11 82 0c 00 7f 01 02 01 00 00 00 00  ................
  0b90: 00 00 00 00 79 00 01 01 0b e8 03 12 1d 04 11 14  ....y...........
  0ba0: 0a 11 82 0c 00 01 08 00 00 14 08 00 00 00 00 00  ................
  0bb0: 00 79 00 0a 02 01 0b f4 01 12 1d 04 11 14 0a 11  .y..............
  0bc0: 82 0c 00 01 08 00 00 16 08 00 00 00 00 00 00 79  ...............y
  0bd0: 00 0a 03 0a 39 0a 64 a1 4d 06 a0 46 04 93 60 01  ....9.d.M..F..`.
  0be0: a4 12 3f 03 0a 02 12 1c 04 11 14 0a 11 82 0c 00  ..?.............
  0bf0: 7f 01 02 01 00 00 00 00 00 00 00 00 79 00 01 01  ............y...
  0c00: 0b e8 03 12 1d 04 11 14 0a 11 82 0c 00 01 08 00  ................
  0c10: 00 14 08 00 00 00 00 00 00 79 00 0a 02 01 0b f4  .........y......
  0c20: 01 a1 23 a4 12 20 02 01 12 1c 04 11 14 0a 11 82  ..#.. ..........
  0c30: 0c 00 7f 01 02 01 00 00 00 00 00 00 00 00 79 00  ..............y.
  0c40: 01 01 0b e8 03 5b 82 41 78 41 4d 57 30 5b 01 57  .....[.AxAMW0[.W
  0c50: 4d 49 58 01 08 5f 48 49 44 0d 2a 70 6e 70 30 63  MIX.._HID.*pnp0c
  0c60: 31 34 00 08 5f 55 49 44 00 14 13 53 54 42 59 03  14.._UID...STBY.
  0c70: 8c 68 69 54 4d 50 5f 70 6a 54 4d 50 5f 14 13 53  .hiTMP_pjTMP_..S
  0c80: 54 57 44 03 8b 68 69 54 4d 50 5f 70 6a 54 4d 50  TWD..hiTMP_pjTMP
  0c90: 5f 14 13 53 54 44 57 03 8a 68 69 54 4d 50 5f 70  _..STDW..hiTMP_p
  0ca0: 6a 54 4d 50 5f 14 18 43 4c 42 59 01 70 00 60 a2  jTMP_..CLBY.p.`.
  0cb0: 0e 95 60 87 68 53 54 42 59 68 60 00 75 60 08 5f  ..`.hSTBYh`.u`._
  0cc0: 57 44 47 11 48 06 0a 64 bc dc 9d 8d 97 a9 da 11  WDG.H..d........
  0cd0: b0 12 b6 22 a1 ef 54 92 41 41 01 00 ce 93 05 a8  ..."..T.AA......
  0ce0: 97 a9 da 11 b0 12 b6 22 a1 ef 54 92 42 41 01 02  ......."..T.BA..
  0cf0: 94 59 bb 9d 97 a9 da 11 b0 12 b6 22 a1 ef 54 92  .Y........."..T.
  0d00: d0 00 01 08 e0 6c 77 a3 88 1e db 11 a9 8b 08 00  .....lw.........
  0d10: 20 0c 9a 66 42 43 01 00 21 12 90 05 66 d5 d1 11   ..fBC..!...f...
  0d20: b2 f0 00 a0 c9 06 29 10 4d 4f 01 00 08 49 4e 46  ......).MO...INF
  0d30: 4f 11 03 0a 80 08 45 43 44 30 00 14 0e 57 45 44  O.....ECD0...WED
  0d40: 30 01 70 68 45 43 44 30 a4 00 14 08 57 43 41 41  0.phECD0....WCAA
  0d50: 01 a4 00 14 48 06 57 51 41 41 01 5b 23 57 4d 49  ....H.WQAA.[#WMI
  0d60: 58 ff ff 43 4c 42 59 49 4e 46 4f a0 0b 92 93 68  X..CLBYINFO....h
  0d70: 00 70 49 4e 46 4f 61 a1 3c 53 54 44 57 49 4e 46  .pINFOa.<STDWINF
  0d80: 4f 00 0c 44 45 4c 4c 53 54 44 57 49 4e 46 4f 0a  O..DELLSTDWINFO.
  0d90: 04 0c 20 57 4d 49 53 54 44 57 49 4e 46 4f 0a 08  .. WMISTDWINFO..
  0da0: 01 53 54 44 57 49 4e 46 4f 0a 0c 0b 00 10 70 49  .STDWINFO.....pI
  0db0: 4e 46 4f 61 5b 27 57 4d 49 58 a4 61 14 08 57 53  NFOa['WMIX.a..WS
  0dc0: 41 41 02 a4 69 14 28 57 4d 42 41 03 8a 6a 0a 28  AA..i.(WMBA..j.(
  0dd0: 57 42 55 46 72 57 42 55 46 0a 2c 61 a0 0f 92 94  WBUFrWBUF.,a....
  0de0: 61 0b 00 10 70 57 4d 49 5f 6a 61 60 a4 60 14 4c  a...pWMI_ja`.`.L
  0df0: 05 5f 57 45 44 01 5b 23 57 4d 49 58 ff ff 43 4c  ._WED.[#WMIX..CL
  0e00: 42 59 49 4e 46 4f a0 13 91 92 93 68 0a d0 93 45  BYINFO.....h...E
  0e10: 43 44 30 00 70 49 4e 46 4f 61 a1 28 53 58 31 30  CD0.pINFOa.(SX10
  0e20: 53 58 33 30 01 53 58 31 31 70 53 58 34 32 60 53  SX30.SX11pSX42`S
  0e30: 58 31 32 53 54 44 57 49 4e 46 4f 00 60 70 49 4e  X12STDWINFO.`pIN
  0e40: 46 4f 61 5b 27 57 4d 49 58 a4 61 08 57 51 4d 4f  FOa['WMIX.a.WQMO
  0e50: 11 47 57 0b 72 05 46 4f 4d 42 01 00 00 00 62 05  .GW.r.FOMB....b.
  0e60: 00 00 88 1c 00 00 44 53 00 01 1a 7d da 54 18 d5  ......DS...}.T..
  0e70: 8d 00 01 06 18 42 10 0f 10 22 21 04 12 01 a1 c8  .....B..."!.....
  0e80: 2c 0c 86 10 38 2e 84 1c 40 48 1c 14 4a 08 84 fa  ,[email protected]...
  0e90: 13 c8 af 00 84 0e 05 c8 14 60 50 80 53 04 11 f4  .........`P.S...
  0ea0: 2a c0 a6 00 93 02 2c 0a d0 2e c0 b2 00 dd 02 a4  *.....,.........
  0eb0: c3 12 91 e0 28 31 e0 28 9d d8 c2 0d 1b bc 50 14  ....(1.(......P.
  0ec0: cd 20 4a 82 ca 05 f8 46 10 78 b9 02 24 4f 40 9a  . J....F.x..$O@.
  0ed0: 05 18 16 60 5d 80 ec 21 50 a9 43 40 c9 19 02 6a  ...`][email protected]
  0ee0: 00 ad 4e 40 f8 95 4e 09 49 10 ce 58 c5 e3 6b 16  [email protected].
  0ef0: 4d cf 49 ce 31 e4 78 5c e8 41 f0 40 0a 40 58 78  M.I.1.x\.A.@.@Xx
  0f00: 08 45 80 41 49 18 0b 75 31 6a d4 48 d9 80 0c 51  .E.AI..u1j.H...Q
  0f10: da a8 d1 03 3a bf 23 39 bb a3 3b 92 04 46 3d a6  ....:.#9..;..F=.
  0f20: 63 2c 6c 46 42 8d d1 1c 14 81 c6 0d da 12 61 35  c,lFB.........a5
  0f30: ae d8 67 66 e1 c3 12 c6 11 1c 58 82 46 d1 34 c7  ..gf......X.F.4.
  0f40: b3 0d 91 e0 20 42 63 64 40 c8 f3 b0 05 7a e4 09  .... [email protected]..
  0f50: ec 1e 51 0a 11 34 df 13 a9 51 80 36 0c d9 3a 1b  ..Q..4...Q.6..:.
  0f60: 68 a8 b1 1a 43 11 44 84 a0 51 0c 16 21 54 88 ff  h...C.D..Q..!T..
  0f70: 7f 94 a8 a7 14 24 6a 65 20 42 0b 66 04 66 7f 10  .....$je B.f.f..
  0f80: 24 c6 99 41 87 05 cb 00 91 11 41 a3 61 67 01 0f  $..A......A.ag..
  0f90: c7 33 69 7e 62 1a 9c 09 c6 86 90 06 08 89 3a 38  .3i~b.........:8
  0fa0: 50 02 4b 19 38 b1 3d 2e 8d ef 8c a3 86 38 f5 33  P.K.8.=......8.3
  0fb0: f3 3f c2 5b f0 11 80 8f c1 83 3d 84 80 47 c8 ce  .?.[......=..G..
  0fc0: 00 06 c4 7b 9f 34 99 8b cf 02 30 86 0f d7 f8 28  ...{.4....0....(
  0fd0: 34 1e 76 3e 60 e3 e2 f0 3e 14 9c 70 b1 20 0a 00  4.v>`...>..p. ..
  0fe0: 21 59 e7 03 f4 ac 8f 2d e0 c3 40 b3 77 08 42 f0  [email protected].
  0ff0: 22 e0 a3 83 8f 1b 1e f7 f3 06 18 0e 07 1e 8e 4f  "..............O
  1000: 1b c0 65 04 5c da 93 c2 04 92 fc 04 90 18 18 d4  ..e.\...........
  1010: 81 c0 07 0b b8 92 e0 50 c3 f3 c4 1e 10 fe ff 47  .......P.......G
  1020: 79 22 2f 06 9e fe 63 00 8c 03 82 a7 75 52 be 79  y"/...c.....uR.y
  1030: 3c 48 78 50 61 12 f8 94 c0 d0 f8 71 03 ac a3 c6  <HxPa......q....
  1040: 1f 10 e0 9d 24 ce af cf 01 e8 d0 70 8a 0c e4 35  ....$......p...5
  1050: e0 a4 4f c9 e3 4b e0 33 07 ec bb c1 61 1c 4c 88  ..O..K.3....a.L.
  1060: 08 ef 01 4f 1d be 6b 3c 0a 04 8a d0 db 99 83 9e  ...O..k<........
  1070: 42 8c 12 ed ac c2 3c 70 44 f1 91 c3 08 ef 1e be  B.....<pD.......
  1080: 13 3c 80 b4 36 39 e1 06 7a e6 60 d1 ce 2c b2 00  .<..69..z.`..,..
  1090: a2 48 a3 41 9d 11 7c 1a f0 b4 9e 62 7c 94 30 c8  .H.A..|....b|.0.
  10a0: 19 1e d8 73 c2 63 80 07 cc ee 07 3e 4e f8 5c 80  ...s.c.....>N.\.
  10b0: 77 0d a8 19 fa b0 01 e7 d0 81 3f 4d e0 0f 16 f8  w.........?M....
  10c0: f1 f8 9a c3 26 9c c0 f2 07 81 1a 99 a1 3d cb d3  ....&........=..
  10d0: 7a 0d f0 69 c7 04 3e 6f f8 ff ff cf f1 78 c0 af  z..i..>o.....x..
  10e0: f8 74 41 ee 0a 9e af cf 2e cc c6 78 50 a3 f0 01  .tA........xP...
  10f0: 07 77 76 f1 11 c0 67 17 e0 39 89 67 09 f0 1e 02  .wv...g..9.g....
  1100: 7c 22 89 f7 b0 05 63 c4 78 c8 33 ae 7a 18 ba 08  |"....c.x.3.z...
  1110: 58 dd 7d 05 75 f4 02 13 d4 6b 06 ee f4 02 7c 4e  X.}.u....k....|N
  1120: 59 f0 fe ff a7 2c e0 7e 55 e0 47 14 30 40 76 76  Y....,.~U.G.0@vv
  1130: 3a 11 c2 7b c9 73 88 6f 57 3e 98 04 79 0e 88 f0  :..{.s.oW>..y...
  1140: 94 c5 ef 03 51 62 1e 50 a4 28 46 0c f2 84 e5 eb  ....Qb.P.(F.....
  1150: 49 0c 43 07 0b 17 3e c2 53 16 60 f1 92 85 39 65  I.C...>.S.`...9e
  1160: c1 7c 1b f8 94 05 8e ff ff 29 0b 5c e3 7e ca 02  .|.......).\.~..
  1170: 66 d2 9f 02 3e d5 f8 09 a0 e8 07 0b 0a e3 53 16  f...>.........S.
  1180: e0 4a de 01 01 34 67 27 df 16 0c 76 cc be 64 f8  .J...4g'...v..d.
  1190: 94 08 86 43 86 ef 54 87 f2 c8 f1 14 e0 23 16 d8  ...C..T......#..
  11a0: e3 1c 03 74 5c f1 11 cb ff ff 23 16 c0 8d 03 08  ...t\.....#.....
  11b0: fe d4 01 eb 1e 10 d6 87 0e e0 21 fb 21 a0 33 8c  ..........!.!.3.
  11c0: 25 83 c8 c6 b9 86 8e d1 e2 17 aa 9b 42 ec 83 e1  %...........B...
  11d0: b2 81 04 ea e1 5a 30 85 44 d1 68 34 06 26 30 82  .....Z0.D.h4.&0.
  11e0: 33 88 01 9d 11 42 87 32 9c 8a f3 10 ea ff 4f 30  3....B.2......O0
  11f0: d4 8d 89 ce ce f3 e7 b7 11 9f 08 0c ec 2b c4 5b  .............+.[
  1200: 06 58 86 e5 c5 3d 01 1c e3 49 26 a8 e6 58 83 9a  .X...=...I&..X..
  1210: 83 af 02 6f 64 26 f0 15 0c 6c a7 19 8c be 3b 01  ...od&...l....;.
  1220: 28 80 7c 14 f0 7d f9 6d 80 cd e2 95 d9 68 3e 7f  (.|..}.m.....h>.
  1230: 22 86 8e 12 33 74 0a e2 a1 3b e8 d0 d1 c7 01 9f  "...3t...;......
  1240: ac 70 c1 0e 5f d0 26 77 b4 27 e6 59 78 9e b8 b9  .p.._.&w.'.Yx...
  1250: 83 e9 88 04 63 f0 98 c9 83 59 e0 e4 41 f1 ff 9f  ....c....Y..A...
  1260: 3c 4c 78 4c d8 c3 21 3d 74 78 64 7c 9c 3e fd 30  <LxL..!=txd|.>.0
  1270: ec d3 39 97 a2 67 a4 3b c6 33 17 06 d6 23 e7 b0  ..9..g.;.3...#..
  1280: 46 0b 7b c0 cf 21 be c3 f8 c0 c3 60 7d 7a 01 c7  F.{..!.....`}z..
  1290: f1 0b fe 69 00 3c 07 10 8f e1 05 84 1f 5f 74 fe  ...i.<......._t.
  12a0: a5 42 17 27 79 30 a8 d3 14 e0 ea f4 06 9e ab 3e  .B.'y0.........>
  12b0: ee 2c 85 fb ff 9f a5 60 1c 7e 7d 81 f7 5d ca 08  .,.....`.~}..]..
  12c0: 07 f2 2c 05 f6 d8 cf 10 1d 02 7c 96 02 f8 f1 fa  ..,.......|.....
  12d0: f0 79 06 6e e0 d3 2f d0 fa ff 9f 42 c0 7f 8c f0  .y.n../....B....
  12e0: 11 07 77 b6 01 ef d1 17 1c 07 63 7e c6 c0 1d c7  ..w.......c~....
  12f0: 80 c7 c9 19 77 9a f0 10 f8 00 5a 9d 1e 39 f5 9c  ....w.....Z..9..
  1300: 12 ee 38 c0 a7 84 1b 00 26 c0 19 13 50 f5 ff 3f  ..8.....&...P..?
  1310: 63 02 63 90 08 ef 0a 51 df 91 0d f1 8c cc 70 de  c.c....Q......p.
  1320: 1a 1e 5f 9e 91 c1 79 c6 04 f8 f3 ff 3f d2 63 6f  .._...y.....?.co
  1330: 0a c1 9f 42 80 89 f8 33 26 15 7e c6 84 36 17 4f  ...B...3&.~..6.O
  1340: db 67 4c 80 7b ff ff 33 26 e0 3b f2 19 13 d0 73  .gL.{..3&.;....s
  1350: a4 c2 9d 31 c1 30 ce f7 27 83 3c 8f f8 40 e0 a3  ...1.0..'.<..@..
  1360: 0c 53 68 d3 a7 46 a3 56 0d ca d4 28 d3 a0 56 9f  .Sh..F.V...(..V.
  1370: 4a 8d 19 3b 3a 59 c4 5a 35 58 87 5a af 40 2c e9  J..;:Y.Z5X.Z.@,.
  1380: 89 21 10 ff ff 45 79 00 61 71 4d 80 30 e1 ab 12  .!...Ey.aqM.0...
  1390: 88 63 83 50 b1 3a 20 1a 19 a2 41 04 e4 10 3e 80  .c.P.: ...A...>.
  13a0: 58 24 10 81 13 25 a0 d4 09 08 13 ba 16 81 58 9e  X$...%........X.
  13b0: 17 10 16 0e 84 4a 32 03 ce f4 81 08 c8 52 5f 21  .....J2......R_!
  13c0: 02 b2 70 10 01 f9 ff 0f 5b 01 57 4d 49 53 01 08  ..p.....[.WMIS..
  13d0: 57 4d 30 30 00 14 20 57 4d 30 32 00 53 58 31 30  WM00.. WM02.SX10
  13e0: 53 58 33 30 00 53 58 31 31 70 53 58 34 32 57 4d  SX30.SX11pSX42WM
  13f0: 30 30 53 58 31 32 14 2c 57 4d 30 33 03 5b 80 57  00SX12.,WM03.[.W
  1400: 57 50 52 00 68 01 5b 81 0b 57 57 50 52 11 4d 45  WPR.h.[..WWPR.ME
  1410: 4d 57 08 8c 69 6a 57 56 41 4c 70 57 56 41 4c 4d  MW..ijWVALpWVALM
  1420: 45 4d 57 14 2d 57 4d 30 35 03 5b 80 57 57 50 52  EMW.-WM05.[.WWPR
  1430: 00 68 0a 04 5b 81 0b 57 57 50 52 11 4d 57 33 32  .h..[..WWPR.MW32
  1440: 20 8a 69 6a 57 56 41 4c 70 57 56 41 4c 4d 57 33   .ijWVALpWVALMW3
  1450: 32 14 32 57 4d 30 34 03 5b 80 57 52 50 52 00 68  2.2WM04.[.WRPR.h
  1460: 01 5b 81 0b 57 52 50 52 11 4d 45 4d 52 08 8c 69  .[..WRPR.MEMR..i
  1470: 6a 57 56 41 4c 70 4d 45 4d 52 57 56 41 4c 70 00  jWVALpMEMRWVALp.
  1480: 4d 45 4d 52 14 33 57 4d 30 36 03 5b 80 57 52 50  MEMR.3WM06.[.WRP
  1490: 52 00 68 0a 04 5b 81 0b 57 52 50 52 11 4d 52 33  R.h..[..WRPR.MR3
  14a0: 32 20 8a 69 6a 57 56 41 4c 70 4d 52 33 32 57 56  2 .ijWVALpMR32WV
  14b0: 41 4c 70 00 4d 52 33 32 14 47 05 57 4d 30 37 02  ALp.MR32.G.WM07.
  14c0: a0 4d 04 92 94 69 0b 00 01 70 57 4d 30 30 60 70  .M...i...pWM00`p
  14d0: 00 61 a2 15 95 61 69 57 4d 30 35 60 68 61 72 60  .a...aiWM05`har`
  14e0: 0a 04 60 72 61 0a 04 61 53 58 58 36 0a 9a 00 70  ..`ra..aSXX6...p
  14f0: 57 4d 30 30 60 70 00 61 a2 15 95 61 69 57 4d 30  WM00`p.a...aiWM0
  1500: 36 60 68 61 72 60 0a 04 60 72 61 0a 04 61 a4 68  6`har`..`ra..a.h
  1510: 14 28 57 4d 49 5f 02 5b 23 57 4d 49 53 ff ff a0  .(WMI_.[#WMIS...
  1520: 0b 93 57 4d 30 30 00 57 4d 30 32 57 4d 30 37 68  ..WM00.WM02WM07h
  1530: 69 5b 27 57 4d 49 53 a4 68 5b 80 47 49 43 31 01  i['WMIS.h[.GIC1.
  1540: 0b 8c 08 0a 04 5b 81 1a 47 49 43 31 01 47 49 30  .....[..GIC1.GI0
  1550: 30 08 47 49 30 38 08 47 49 31 36 08 47 49 32 34  0.GI08.GI16.GI24
  1560: 08 5b 80 47 49 43 32 01 0b b8 08 0a 04 5b 81 1a  .[.GIC2......[..
  1570: 47 49 43 32 01 47 49 33 32 08 47 49 34 30 08 47  GIC2.GI32.GI40.G
  1580: 49 34 38 08 47 49 35 36 08 5b 01 42 41 59 4d 01  I48.GI56.[.BAYM.
  1590: 5b 01 53 54 53 4d 01 5b 01 45 56 54 4d 01 5b 01  [.STSM.[.EVTM.[.
  15a0: 46 4f 4f 4d 01 08 47 54 4d 54 11 17 0a 14 ff ff  FOOM..GTMT......
  15b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 11 00  ................
  15c0: 00 00 8a 47 54 4d 54 00 50 49 4f 30 8a 47 54 4d  ...GTMT.PIO0.GTM
  15d0: 54 0a 04 44 4d 41 30 8a 47 54 4d 54 0a 08 50 49  T..DMA0.GTMT..PI
  15e0: 4f 31 8a 47 54 4d 54 0a 0c 44 4d 41 31 8a 47 54  O1.GTMT..DMA1.GT
  15f0: 4d 54 0a 10 49 46 4c 47 14 1e 2e 5f 47 50 45 5f  MT..IFLG..._GPE_
  1600: 4c 30 36 08 5c 2f 04 5f 53 42 5f 50 43 49 30 47  L06.\/._SB_PCI0G
  1610: 52 46 58 47 53 43 49 14 32 2e 5f 47 50 45 5f 4c  RFXGSCI.2._GPE_L
  1620: 31 41 00 7f 4c 49 44 50 0a 04 4c 49 44 50 7d 50  1A..LIDP..LIDP}P
  1630: 4d 45 32 01 50 4d 45 32 86 5c 2f 03 5f 53 42 5f  ME2.PME2.\/._SB_
  1640: 50 43 49 30 50 43 49 35 0a 02 14 32 2e 5f 47 50  PCI0PCI5...2._GP
  1650: 45 5f 4c 31 42 00 7f 4c 49 44 50 0a 08 4c 49 44  E_L1B..LIDP..LID
  1660: 50 7d 50 4d 45 32 01 50 4d 45 32 86 5c 2f 03 5f  P}PME2.PME2.\/._
  1670: 53 42 5f 50 43 49 30 50 43 49 31 0a 02 14 32 2e  SB_PCI0PCI1...2.
  1680: 5f 47 50 45 5f 4c 31 44 00 7f 4c 49 44 50 0a 20  _GPE_L1D..LIDP. 
  1690: 4c 49 44 50 7d 50 4d 45 32 01 50 4d 45 32 86 5c  LIDP}PME2.PME2.\
  16a0: 2f 03 5f 53 42 5f 50 43 49 30 50 43 49 33 0a 02  /._SB_PCI0PCI3..
  16b0: 14 48 0d 2e 5f 47 50 45 5f 4c 30 38 00 47 50 4b  .H.._GPE_L08.GPK
  16c0: 4d 06 57 45 4e 33 4d 42 45 4e 06 57 53 54 33 4d  M.WEN3MBEN.WST3M
  16d0: 42 53 54 06 57 53 54 30 4d 50 4d 45 5b 23 45 56  BST.WST0MPME[#EV
  16e0: 54 4d ff ff 70 4d 42 53 54 60 7b 60 0a 02 60 a0  TM..pMBST`{`..`.
  16f0: 45 04 60 70 43 4d 52 44 0a 21 61 7b 61 0a 60 61  E.`pCMRD.!a{a.`a
  1700: a0 34 61 70 0a 64 61 70 00 63 a2 2a 91 60 63 42  .4ap.dap.c.*.`cB
  1710: 41 59 45 70 4d 42 53 54 60 7b 60 0a 02 60 70 47  AYEpMBST`{`..`pG
  1720: 49 34 30 63 7b 63 01 63 76 61 a0 0a 93 61 00 70  I40c{c.cva...a.p
  1730: 00 60 70 00 63 5b 27 45 56 54 4d 70 4d 42 53 54  .`p.c['EVTMpMBST
  1740: 60 7b 60 0a 02 60 70 60 4d 42 53 54 70 4d 50 4d  `{`..`p`MBSTpMPM
  1750: 45 60 7b 60 01 60 70 60 4d 50 4d 45 a0 16 80 93  E`{`.`p`MPME....
  1760: 53 53 54 58 01 00 86 5c 2e 5f 53 42 5f 56 42 54  SSTX...\._SB_VBT
  1770: 4e 0a 02 86 5c 2f 04 5f 53 42 5f 50 43 49 30 49  N...\/._SB_PCI0I
  1780: 53 41 5f 4b 42 44 5f 0a 02 14 42 0f 5f 57 41 4b  SA_KBD_...B._WAK
  1790: 01 a0 09 93 68 0a 04 47 55 53 42 a1 17 a0 15 93  ....h..GUSB.....
  17a0: 68 0a 03 a0 0f 7b 0a 20 43 4d 52 44 0a 49 00 47  h....{. CMRD.I.G
  17b0: 55 53 42 43 4d 57 52 0a 49 7b 0a df 43 4d 52 44  USBCMWR.I{..CMRD
  17c0: 0a 49 00 06 57 45 4e 33 4d 42 45 4e 06 57 53 54  .I..WEN3MBEN.WST
  17d0: 33 4d 42 53 54 a0 4e 05 7d 93 68 0a 03 93 68 0a  3MBST.N.}.h...h.
  17e0: 04 00 a0 36 93 4d 53 4f 53 0a 04 86 5c 2f 04 5f  ...6.MSOS...\/._
  17f0: 53 42 5f 50 43 49 30 49 44 45 31 50 52 49 31 00  SB_PCI0IDE1PRI1.
  1800: 86 5c 2f 05 5f 53 42 5f 50 43 49 30 49 44 45 31  .\/._SB_PCI0IDE1
  1810: 50 52 49 31 4d 41 53 31 01 a1 1a 86 5c 2f 05 5f  PRI1MAS1....\/._
  1820: 53 42 5f 50 43 49 30 49 44 45 31 50 52 49 31 4d  SB_PCI0IDE1PRI1M
  1830: 41 53 31 01 70 4d 42 45 4e 60 7d 60 0a 02 4d 42  AS1.pMBEN`}`..MB
  1840: 45 4e a0 37 7d 7b 50 4d 53 32 01 00 7d 7b 92 48  EN.7}{PMS2..}{.H
  1850: 41 43 4b 7b 47 4c 42 54 0a 11 00 00 7b 92 48 41  ACK{GLBT....{.HA
  1860: 43 4b 7b 54 48 52 50 0a 18 00 00 00 00 86 5c 2e  CK{THRP.......\.
  1870: 5f 53 42 5f 56 42 54 4e 0a 02 a4 00 14 4e 10 42  _SB_VBTN.....N.B
  1880: 41 59 45 00 06 57 45 4e 33 4d 42 45 4e 06 57 53  AYE..WEN3MBEN.WS
  1890: 54 33 4d 42 53 54 5b 23 4d 54 58 5f ff ff 70 4d  T3MBST[#MTX_..pM
  18a0: 42 53 54 61 7b 61 0a 02 61 70 0b 10 27 60 a2 21  BSTa{a..ap..'`.!
  18b0: 61 70 61 4d 42 53 54 5b 22 0a 64 70 4d 42 53 54  apaMBST[".dpMBST
  18c0: 61 7b 61 0a 02 61 76 60 a0 07 93 60 00 70 00 61  a{a..av`...`.p.a
  18d0: a0 44 0b 60 70 53 47 50 32 60 7b 60 0a 02 60 a0  .D.`pSGP2`{`..`.
  18e0: 47 04 60 5b 23 53 54 53 4d ff ff 70 43 4d 52 44  G.`[#STSM..pCMRD
  18f0: 0a 2c 61 7b 61 0a 04 61 5b 27 53 54 53 4d a0 1a  .,a{a..a['STSM..
  1900: 61 49 44 45 52 70 43 4d 52 44 0a 3b 61 7d 61 0a  aIDERpCMRD.;a}a.
  1910: 20 61 43 4d 57 52 0a 3b 61 70 47 49 34 38 60 7b   aCMWR.;apGI48`{
  1920: 60 0a f7 47 49 34 38 a1 4d 05 70 47 49 34 30 60  `..GI48.M.pGI40`
  1930: 7b 60 01 60 a0 26 60 70 43 4d 52 44 0a 21 61 7b  {`.`.&`pCMRD.!a{
  1940: 61 0a 20 61 a0 12 93 61 00 70 47 49 34 38 60 7b  a. a...a.pGI48`{
  1950: 60 0a f7 47 49 34 38 49 44 45 52 a1 29 70 43 4d  `..GI48IDER.)pCM
  1960: 52 44 0a 21 60 7b 60 0a 40 60 a0 1a 60 49 44 45  RD.!`{`.@`..`IDE
  1970: 41 70 43 4d 52 44 0a 3b 61 7d 61 0a 20 61 43 4d  ApCMRD.;a}a. aCM
  1980: 57 52 0a 3b 61 5b 27 4d 54 58 5f 14 4f 0a 49 44  WR.;a['MTX_.O.ID
  1990: 45 41 00 5b 23 42 41 59 4d ff ff 5b 23 53 4d 49  EA.[#BAYM..[#SMI
  19a0: 4d ff ff 70 00 53 4d 49 44 5b 27 53 4d 49 4d 4d  M..p.SMID['SMIMM
  19b0: 42 41 59 5b 23 53 54 53 4d ff ff 5b 23 53 4d 49  BAY[#STSM..[#SMI
  19c0: 4d ff ff 70 53 4d 49 44 60 5b 27 53 4d 49 4d 5b  M..pSMID`['SMIM[
  19d0: 27 53 54 53 4d 5b 23 53 54 53 4d ff ff a0 41 05  'STSM[#STSM...A.
  19e0: 60 a0 32 93 4d 53 4f 53 0a 04 86 5c 2f 03 5f 53  `.2.MSOS...\/._S
  19f0: 42 5f 50 43 49 30 49 44 45 31 00 86 5c 2f 05 5f  B_PCI0IDE1..\/._
  1a00: 53 42 5f 50 43 49 30 49 44 45 31 50 52 49 31 4d  SB_PCI0IDE1PRI1M
  1a10: 41 53 31 01 a1 1a 86 5c 2f 05 5f 53 42 5f 50 43  AS1....\/._SB_PC
  1a20: 49 30 49 44 45 31 50 52 49 31 4d 41 53 31 01 5b  I0IDE1PRI1MAS1.[
  1a30: 27 53 54 53 4d 5b 27 42 41 59 4d 14 4e 08 49 44  'STSM['BAYM.N.ID
  1a40: 45 52 00 5b 23 42 41 59 4d ff ff 5b 23 53 54 53  ER.[#BAYM..[#STS
  1a50: 4d ff ff 70 ff 50 49 4f 30 70 ff 44 4d 41 30 5b  M..p.PIO0p.DMA0[
  1a60: 23 53 4d 49 4d ff ff 70 00 53 4d 49 44 5b 27 53  #SMIM..p.SMID['S
  1a70: 4d 49 4d 4d 42 41 59 5b 27 53 54 53 4d 5b 23 53  MIMMBAY['STSM[#S
  1a80: 54 53 4d ff ff a0 1d 93 4d 53 4f 53 0a 04 86 5c  TSM.....MSOS...\
  1a90: 2f 04 5f 53 42 5f 50 43 49 30 49 44 45 31 50 52  /._SB_PCI0IDE1PR
  1aa0: 49 31 01 a1 1a 86 5c 2f 05 5f 53 42 5f 50 43 49  I1....\/._SB_PCI
  1ab0: 30 49 44 45 31 50 52 49 31 4d 41 53 31 01 5b 27  0IDE1PRI1MAS1.['
  1ac0: 53 54 53 4d 5b 27 42 41 59 4d 14 21 4d 42 41 59  STSM['BAYM.!MBAY
  1ad0: 00 5b 23 53 4d 49 4d ff ff 70 0a 86 53 4d 49 43  .[#SMIM..p..SMIC
  1ae0: 70 53 4d 49 43 60 5b 27 53 4d 49 4d 10 33 5f 53  pSMIC`['SMIM.3_S
  1af0: 49 5f 14 2d 5f 53 53 54 01 70 68 53 53 54 58 a0  I_.-_SST.phSSTX.
  1b00: 10 93 68 0a 03 7b 4c 45 44 32 0a fd 4c 45 44 32  ..h..{LED2..LED2
  1b10: a0 0f 93 68 01 7d 4c 45 44 32 0a 02 4c 45 44 32  ...h.}LED2..LED2
  1b20: 10 42 b3 5f 53 42 5f 5b 82 4a b2 50 43 49 30 08  .B._SB_[.J.PCI0.
  1b30: 5f 48 49 44 0c 41 d0 0a 03 08 5f 55 49 44 0a 04  _HID.A...._UID..
  1b40: 08 5f 41 44 52 00 08 5f 50 52 57 12 06 02 0a 0d  ._ADR.._PRW.....
  1b50: 0a 05 14 08 5f 53 31 44 00 a4 01 14 14 5f 53 33  ...._S1D....._S3
  1b60: 44 00 a0 08 48 41 43 4b a4 0a 03 a1 04 a4 0a 02  D...HACK........
  1b70: 5b 82 44 38 47 52 46 58 08 5f 41 44 52 0c 00 00  [.D8GRFX._ADR...
  1b80: 02 00 14 09 5f 53 31 44 00 a4 0a 03 10 24 5e 5e  ...._S1D.....$^^
  1b90: 50 43 49 30 5b 80 4d 43 48 50 02 0a 40 0a c0 5b  PCI0[.MCHP..@..[
  1ba0: 81 10 4d 43 48 50 00 00 40 30 54 41 53 4d 0a 00  ..MCHP..@0TASM..
  1bb0: 06 5b 80 49 47 44 50 02 0a 40 0a c0 5b 81 46 04  .[.IGDP..@..[.F.
  1bc0: 49 47 44 50 00 00 40 09 00 01 47 49 56 44 01 00  [email protected]..
  1bd0: 02 47 55 4d 41 03 00 09 00 04 47 4d 46 4e 01 00  .GUMA.....GMFN..
  1be0: 1b 00 40 48 47 53 53 45 01 47 53 53 42 0e 47 53  [email protected]
  1bf0: 45 53 01 00 30 00 04 47 43 44 43 03 00 49 05 41  ES..0..GCDC..I.A
  1c00: 53 4c 53 20 14 42 2d 47 53 43 49 00 5b 80 49 47  SLS .B-GSCI.[.IG
  1c10: 44 4d 00 41 53 4c 53 0b 00 20 5b 81 4c 04 49 47  DM.ASLS.. [.L.IG
  1c20: 44 4d 00 53 49 47 4e 40 08 53 49 5a 45 20 4f 56  [email protected] OV
  1c30: 45 52 20 53 56 45 52 40 10 56 56 45 52 40 08 47  ER [email protected]@.G
  1c40: 56 45 52 40 08 4d 42 4f 58 20 00 40 d2 53 43 49  [email protected] [email protected]
  1c50: 45 01 47 45 46 43 04 47 58 46 43 03 47 45 53 46  E.GEFC.GXFC.GESF
  1c60: 08 00 10 50 41 52 4d 20 14 48 11 47 42 44 41 00  ...PARM .H.GBDA.
  1c70: a0 16 93 47 45 53 46 00 70 0a 41 50 41 52 4d 70  ...GESF.p.APARMp
  1c80: 01 47 58 46 43 a4 00 a0 15 93 47 45 53 46 01 70  .GXFC.....GESF.p
  1c90: 00 50 41 52 4d 70 01 47 58 46 43 a4 00 a0 11 93  .PARMp.GXFC.....
  1ca0: 47 45 53 46 0a 04 70 0a 04 47 58 46 43 a4 00 a0  GESF..p..GXFC...
  1cb0: 11 93 47 45 53 46 0a 05 70 0a 04 47 58 46 43 a4  ..GESF..p..GXFC.
  1cc0: 00 a0 11 93 47 45 53 46 0a 06 70 0a 04 47 58 46  ....GESF..p..GXF
  1cd0: 43 a4 00 a0 42 09 93 47 45 53 46 0a 07 7d 50 41  C...B..GESF..}PA
  1ce0: 52 4d 47 49 56 44 50 41 52 4d 7f 50 41 52 4d 01  RMGIVDPARM.PARM.
  1cf0: 50 41 52 4d 7d 50 41 52 4d 79 47 4d 46 4e 01 00  PARM}PARMyGMFN..
  1d00: 50 41 52 4d 7d 50 41 52 4d 0b 00 10 50 41 52 4d  PARM}PARM...PARM
  1d10: a0 16 95 54 41 53 4d 0a 08 7d 50 41 52 4d 0c 00  ...TASM..}PARM..
  1d20: 00 02 00 50 41 52 4d a1 28 a0 16 95 54 41 53 4d  ...PARM.(...TASM
  1d30: 0a 10 7d 50 41 52 4d 0c 00 00 04 00 50 41 52 4d  ..}PARM.....PARM
  1d40: a1 0f 7d 50 41 52 4d 0c 00 00 06 00 50 41 52 4d  ..}PARM.....PARM
  1d50: 7d 50 41 52 4d 0c 00 00 80 3e 50 41 52 4d 70 01  }PARM....>PARMp.
  1d60: 47 58 46 43 a4 00 a0 11 93 47 45 53 46 0a 0a 70  GXFC.....GESF..p
  1d70: 0a 04 47 58 46 43 a4 00 70 0a 04 47 58 46 43 a4  ..GXFC..p..GXFC.
  1d80: 00 14 41 12 53 42 43 42 00 a0 15 93 47 45 53 46  ..A.SBCB....GESF
  1d90: 00 70 00 50 41 52 4d 70 01 47 58 46 43 a4 00 a0  .p.PARMp.GXFC...
  1da0: 10 93 47 45 53 46 01 70 0a 04 47 58 46 43 a4 00  ..GESF.p..GXFC..
  1db0: a0 11 93 47 45 53 46 0a 03 70 0a 04 47 58 46 43  ...GESF..p..GXFC
  1dc0: a4 00 a0 11 93 47 45 53 46 0a 04 70 0a 04 47 58  .....GESF..p..GX
  1dd0: 46 43 a4 00 a0 11 93 47 45 53 46 0a 05 70 0a 04  FC.....GESF..p..
  1de0: 47 58 46 43 a4 00 a0 11 93 47 45 53 46 0a 06 70  GXFC.....GESF..p
  1df0: 0a 04 47 58 46 43 a4 00 a0 11 93 47 45 53 46 0a  ..GXFC.....GESF.
  1e00: 07 70 0a 04 47 58 46 43 a4 00 a0 11 93 47 45 53  .p..GXFC.....GES
  1e10: 46 0a 08 70 0a 04 47 58 46 43 a4 00 a0 11 93 47  F..p..GXFC.....G
  1e20: 45 53 46 0a 09 70 0a 04 47 58 46 43 a4 00 a0 11  ESF..p..GXFC....
  1e30: 93 47 45 53 46 0a 0a 70 0a 04 47 58 46 43 a4 00  .GESF..p..GXFC..
  1e40: a0 11 93 47 45 53 46 0a 0b 70 0a 04 47 58 46 43  ...GESF..p..GXFC
  1e50: a4 00 a0 11 93 47 45 53 46 0a 10 70 0a 04 47 58  .....GESF..p..GX
  1e60: 46 43 a4 00 a0 11 93 47 45 53 46 0a 11 70 0a 04  FC.....GESF..p..
  1e70: 47 58 46 43 a4 00 a0 11 93 47 45 53 46 0a 12 70  GXFC.....GESF..p
  1e80: 0a 04 47 58 46 43 a4 00 a0 11 93 47 45 53 46 0a  ..GXFC.....GESF.
  1e90: 13 70 0a 04 47 58 46 43 a4 00 70 0a 04 47 58 46  .p..GXFC..p..GXF
  1ea0: 43 a4 00 a0 0c 93 47 45 46 43 0a 04 47 42 44 41  C.....GEFC..GBDA
  1eb0: a0 0c 93 47 45 46 43 0a 06 53 42 43 42 70 01 53  ...GEFC..SBCBp.S
  1ec0: 43 49 53 70 00 47 45 53 46 70 00 47 53 53 45 70  CISp.GESFp.GSSEp
  1ed0: 00 53 43 49 45 a4 00 5b 80 54 43 4f 49 01 0b 60  .SCIE..[.TCOI..`
  1ee0: 08 0a 08 5b 81 11 54 43 4f 49 02 00 20 00 09 53  ...[..TCOI.. ..S
  1ef0: 43 49 53 01 00 06 5b 82 4a 34 49 44 45 31 08 5f  CIS...[.J4IDE1._
  1f00: 41 44 52 0c 02 00 1f 00 5b 80 52 49 44 45 01 0b  ADR.....[.RIDE..
  1f10: 32 fe 01 5b 81 0b 52 49 44 45 01 49 52 53 54 08  2..[..RIDE.IRST.
  1f20: 14 37 5f 53 54 41 00 06 57 45 4e 33 4d 42 45 4e  .7_STA..WEN3MBEN
  1f30: 06 57 53 54 33 4d 42 53 54 70 47 49 33 32 60 7b  .WST3MBSTpGI32`{
  1f40: 47 49 33 32 0a 70 60 a0 09 93 60 0a 30 70 0a 0f  GI32.p`...`.0p..
  1f50: 61 a1 04 70 00 61 a4 61 5b 82 4b 2d 50 52 49 31  a..p.a.a[.K-PRI1
  1f60: 08 5f 41 44 52 01 14 49 17 5f 53 54 4d 03 5b 23  ._ADR..I._STM.[#
  1f70: 42 41 59 4d ff ff 8a 68 00 58 49 4f 30 8a 68 0a  BAYM...h.XIO0.h.
  1f80: 04 58 4d 41 30 8a 68 0a 08 58 49 4f 31 8a 68 0a  .XMA0.h..XIO1.h.
  1f90: 0c 58 4d 41 31 8a 68 0a 10 58 46 4c 47 a0 4c 13  .XMA1.h..XFLG.L.
  1fa0: 7d 92 93 58 49 4f 30 50 49 4f 30 92 93 58 4d 41  }..XIO0PIO0..XMA
  1fb0: 30 44 4d 41 30 00 a0 0c 93 58 49 4f 30 0b 58 02  0DMA0....XIO0.X.
  1fc0: 70 00 60 a1 41 04 a0 0c 93 58 49 4f 30 0b 7f 01  p.`.A....XIO0...
  1fd0: 70 01 60 a1 31 a0 0c 93 58 49 4f 30 0a f0 70 0a  p.`.1...XIO0..p.
  1fe0: 02 60 a1 22 a0 0c 93 58 49 4f 30 0a b4 70 0a 03  .`."...XIO0..p..
  1ff0: 60 a1 13 a0 0c 93 58 49 4f 30 0a 78 70 0a 04 60  `.....XIO0.xp..`
  2000: a1 04 70 00 60 70 58 46 4c 47 61 7b 61 01 61 a0  ..p.`pXFLGa{a.a.
  2010: 4c 07 93 61 01 70 60 61 7a 61 0a 04 61 7b 61 0a  L..a.p`aza..a{a.
  2020: 07 61 a0 0c 93 58 4d 41 30 0a 78 7d 00 60 00 a1  .a...XMA0.x}.`..
  2030: 47 05 a0 0d 93 58 4d 41 30 0a 50 7d 0a 08 60 60  G....XMA0.P}..``
  2040: a1 46 04 a0 0d 93 58 4d 41 30 0a 3c 7d 0a 10 60  .F....XMA0.<}..`
  2050: 60 a1 35 a0 0d 93 58 4d 41 30 0a 2d 7d 0a 18 60  `.5...XMA0.-}..`
  2060: 60 a1 25 a0 0d 93 58 4d 41 30 0a 1e 7d 0a 20 60  `.%...XMA0..}. `
  2070: 60 a1 15 a0 0d 93 58 4d 41 30 0a 14 7d 0a 28 60  `.....XMA0..}.(`
  2080: 60 a1 05 7d 00 60 60 7d 60 0a 80 60 a1 35 a0 0d  `..}.``}`..`.5..
  2090: 93 58 4d 41 30 0b e0 01 7d 00 60 60 a1 25 a0 0d  .XMA0...}.``.%..
  20a0: 93 58 4d 41 30 0a 96 7d 0a 08 60 60 a1 15 a0 0d  .XMA0..}..``....
  20b0: 93 58 4d 41 30 0a 78 7d 0a 10 60 60 a1 05 7d 00  .XMA0.x}..``..}.
  20c0: 60 60 5b 23 53 4d 49 4d ff ff 70 60 53 4d 49 44  ``[#SMIM..p`SMID
  20d0: 5b 27 53 4d 49 4d 4d 42 41 59 5b 27 42 41 59 4d  ['SMIMMBAY['BAYM
  20e0: 14 19 5f 47 54 4d 00 5b 23 42 41 59 4d ff ff 5b  .._GTM.[#BAYM..[
  20f0: 27 42 41 59 4d a4 47 54 4d 54 14 1a 5f 53 54 41  'BAYM.GTMT.._STA
  2100: 00 5b 23 53 54 53 4d ff ff 70 0a 0f 61 5b 27 53  .[#STSM..p..a['S
  2110: 54 53 4d a4 61 5b 82 4e 11 4d 41 53 31 08 5f 41  TSM.a[.N.MAS1._A
  2120: 44 52 00 14 44 0c 5f 45 4a 30 01 70 0b 60 ea 61  DR..D._EJ0.p.`.a
  2130: 70 49 52 53 54 60 7b 60 0a 80 60 a2 1b 60 5b 22  pIRST`{`..`..`["
  2140: 0a 0a 70 49 52 53 54 60 7b 60 0a 80 60 76 61 a0  ..pIRST`{`..`va.
  2150: 07 93 61 00 70 00 60 a0 4e 08 61 70 0a 04 49 52  ..a.p.`.N.ap..IR
  2160: 53 54 5b 21 0a 1e 70 49 52 53 54 60 7b 60 0a 80  ST[!..pIRST`{`..
  2170: 60 70 0b 60 ea 61 a2 20 92 93 60 0a 80 5b 22 0a  `p.`.a. ..`..[".
  2180: 0a 70 49 52 53 54 60 7b 60 0a 80 60 76 61 a0 08  .pIRST`{`..`va..
  2190: 93 61 00 70 0a 80 60 a0 4e 04 61 70 00 49 52 53  .a.p..`.N.ap.IRS
  21a0: 54 5b 21 0a 1e 70 49 52 53 54 60 7b 60 0a 80 60  T[!..pIRST`{`..`
  21b0: 70 0b 60 ea 61 a2 1b 60 5b 22 0a 0a 70 49 52 53  p.`.a..`["..pIRS
  21c0: 54 60 7b 60 0a 80 60 76 61 a0 07 93 61 00 70 00  T`{`..`va...a.p.
  21d0: 60 a0 14 61 49 44 45 52 70 47 49 34 38 60 7b 60  `..aIDERpGI48`{`
  21e0: 0a f7 47 49 34 38 a4 00 14 4c 04 5f 53 54 41 00  ..GI48...L._STA.
  21f0: 5b 23 53 54 53 4d ff ff 5b 23 46 4f 4f 4d ff ff  [#STSM..[#FOOM..
  2200: 70 43 4d 52 44 0a 2c 60 7b 60 0a 04 60 5b 27 46  pCMRD.,`{`..`['F
  2210: 4f 4f 4d 5b 23 46 4f 4f 4d ff ff a0 06 60 70 0a  OOM[#FOOM....`p.
  2220: 0f 61 a1 04 70 00 61 5b 27 46 4f 4f 4d 5b 27 53  .a..p.a['FOOM['S
  2230: 54 53 4d a4 61 5b 82 0b 50 52 49 30 08 5f 41 44  TSM.a[..PRI0._AD
  2240: 52 00 5b 82 4d 08 50 43 49 34 14 08 5f 53 31 44  R.[.M.PCI4.._S1D
  2250: 00 a4 01 14 14 5f 53 33 44 00 a0 08 48 41 43 4b  ....._S3D...HACK
  2260: a4 0a 03 a1 04 a4 0a 02 14 14 5f 53 34 44 00 a0  .........._S4D..
  2270: 08 48 41 43 4b a4 0a 03 a1 04 a4 0a 02 14 14 5f  .HACK.........._
  2280: 53 35 44 00 a0 08 48 41 43 4b a4 0a 03 a1 04 a4  S5D...HACK......
  2290: 0a 02 14 0f 5f 41 44 52 00 70 0c 00 00 1e 00 60  ...._ADR.p.....`
  22a0: a4 60 08 5f 55 49 44 0a 07 08 5f 50 52 57 12 06  .`._UID..._PRW..
  22b0: 02 0a 0b 0a 05 14 1b 5f 50 52 54 00 70 41 50 49  ......._PRT.pAPI
  22c0: 34 60 a0 0c 92 50 49 43 46 70 50 49 43 34 60 a4  4`...PICFpPIC4`.
  22d0: 60 5b 82 48 0a 50 43 49 32 14 08 5f 53 31 44 00  `[.H.PCI2.._S1D.
  22e0: a4 01 14 14 5f 53 33 44 00 a0 08 48 41 43 4b a4  ...._S3D...HACK.
  22f0: 0a 03 a1 04 a4 0a 02 14 14 5f 53 34 44 00 a0 08  ........._S4D...
  2300: 48 41 43 4b a4 0a 03 a1 04 a4 0a 02 14 14 5f 53  HACK.........._S
  2310: 35 44 00 a0 08 48 41 43 4b a4 0a 03 a1 04 a4 0a  5D...HACK.......
  2320: 02 14 0f 5f 41 44 52 00 70 0c 00 00 1c 00 60 a4  ..._ADR.p.....`.
  2330: 60 08 5f 55 49 44 0a 16 5b 80 52 53 54 53 02 0a  `._UID..[.RSTS..
  2340: 60 0a 04 5b 81 1a 52 53 54 53 01 50 49 44 30 08  `..[..RSTS.PID0.
  2350: 50 49 44 31 08 50 4d 58 53 08 50 4e 55 53 08 14  PID1.PMXS.PNUS..
  2360: 1b 5f 50 52 54 00 70 41 50 49 32 60 a0 0c 92 50  ._PRT.pAPI2`...P
  2370: 49 43 46 70 50 49 43 32 60 a4 60 5b 82 44 0b 50  ICFpPIC2`.`[.D.P
  2380: 43 49 33 14 08 5f 53 31 44 00 a4 01 14 14 5f 53  CI3.._S1D....._S
  2390: 33 44 00 a0 08 48 41 43 4b a4 0a 03 a1 04 a4 0a  3D...HACK.......
  23a0: 02 14 14 5f 53 34 44 00 a0 08 48 41 43 4b a4 0a  ..._S4D...HACK..
  23b0: 03 a1 04 a4 0a 02 14 14 5f 53 35 44 00 a0 08 48  ........_S5D...H
  23c0: 41 43 4b a4 0a 03 a1 04 a4 0a 02 14 0f 5f 41 44  ACK.........._AD
  23d0: 52 00 70 0c 01 00 1c 00 60 a4 60 08 5f 55 49 44  R.p.....`.`._UID
  23e0: 0a 18 08 5f 50 52 57 12 06 02 0a 1d 0a 05 5b 80  ..._PRW.......[.
  23f0: 52 53 54 53 02 0a 60 0a 04 5b 81 1a 52 53 54 53  RSTS..`..[..RSTS
  2400: 01 50 49 44 30 08 50 49 44 31 08 50 4d 58 53 08  .PID0.PID1.PMXS.
  2410: 50 4e 55 53 08 14 1b 5f 50 52 54 00 70 41 50 49  PNUS..._PRT.pAPI
  2420: 33 60 a0 0c 92 50 49 43 46 70 50 49 43 33 60 a4  3`...PICFpPIC3`.
  2430: 60 5b 82 44 0b 50 43 49 31 14 08 5f 53 31 44 00  `[.D.PCI1.._S1D.
  2440: a4 01 14 14 5f 53 33 44 00 a0 08 48 41 43 4b a4  ...._S3D...HACK.
  2450: 0a 03 a1 04 a4 0a 02 14 14 5f 53 34 44 00 a0 08  ........._S4D...
  2460: 48 41 43 4b a4 0a 03 a1 04 a4 0a 02 14 14 5f 53  HACK.........._S
  2470: 35 44 00 a0 08 48 41 43 4b a4 0a 03 a1 04 a4 0a  5D...HACK.......
  2480: 02 14 0f 5f 41 44 52 00 70 0c 00 00 01 00 60 a4  ..._ADR.p.....`.
  2490: 60 08 5f 55 49 44 0a 19 08 5f 50 52 57 12 06 02  `._UID..._PRW...
  24a0: 0a 1b 0a 05 5b 80 52 53 54 53 02 0a c0 0a 04 5b  ....[.RSTS.....[
  24b0: 81 1a 52 53 54 53 01 50 49 44 30 08 50 49 44 31  ..RSTS.PID0.PID1
  24c0: 08 50 4d 58 53 08 50 4e 55 53 08 14 1b 5f 50 52  .PMXS.PNUS..._PR
  24d0: 54 00 70 41 50 49 31 60 a0 0c 92 50 49 43 46 70  T.pAPI1`...PICFp
  24e0: 50 49 43 31 60 a4 60 5b 82 44 0b 50 43 49 35 14  PIC1`.`[.D.PCI5.
  24f0: 08 5f 53 31 44 00 a4 01 14 14 5f 53 33 44 00 a0  ._S1D....._S3D..
  2500: 08 48 41 43 4b a4 0a 03 a1 04 a4 0a 02 14 14 5f  .HACK.........._
  2510: 53 34 44 00 a0 08 48 41 43 4b a4 0a 03 a1 04 a4  S4D...HACK......
  2520: 0a 02 14 14 5f 53 35 44 00 a0 08 48 41 43 4b a4  ...._S5D...HACK.
  2530: 0a 03 a1 04 a4 0a 02 14 0f 5f 41 44 52 00 70 0c  ........._ADR.p.
  2540: 04 00 1c 00 60 a4 60 08 5f 55 49 44 0a 20 08 5f  ....`.`._UID. ._
  2550: 50 52 57 12 06 02 0a 1a 0a 05 5b 80 52 53 54 53  PRW.......[.RSTS
  2560: 02 0a 60 0a 04 5b 81 1a 52 53 54 53 01 50 49 44  ..`..[..RSTS.PID
  2570: 30 08 50 49 44 31 08 50 4d 58 53 08 50 4e 55 53  0.PID1.PMXS.PNUS
  2580: 08 14 1b 5f 50 52 54 00 70 41 50 49 35 60 a0 0c  ..._PRT.pAPI5`..
  2590: 92 50 49 43 46 70 50 49 43 35 60 a4 60 5b 82 44  .PICFpPIC5`.`[.D
  25a0: 0b 50 43 49 36 14 08 5f 53 31 44 00 a4 01 14 14  .PCI6.._S1D.....
  25b0: 5f 53 33 44 00 a0 08 48 41 43 4b a4 0a 03 a1 04  _S3D...HACK.....
  25c0: a4 0a 02 14 14 5f 53 34 44 00 a0 08 48 41 43 4b  ....._S4D...HACK
  25d0: a4 0a 03 a1 04 a4 0a 02 14 14 5f 53 35 44 00 a0  .........._S5D..
  25e0: 08 48 41 43 4b a4 0a 03 a1 04 a4 0a 02 14 0f 5f  .HACK.........._
  25f0: 41 44 52 00 70 0c 05 00 1c 00 60 a4 60 08 5f 55  ADR.p.....`.`._U
  2600: 49 44 0a 21 08 5f 50 52 57 12 06 02 0a 1a 0a 05  ID.!._PRW.......
  2610: 5b 80 52 53 54 53 02 0a 60 0a 04 5b 81 1a 52 53  [.RSTS..`..[..RS
  2620: 54 53 01 50 49 44 30 08 50 49 44 31 08 50 4d 58  TS.PID0.PID1.PMX
  2630: 53 08 50 4e 55 53 08 14 1b 5f 50 52 54 00 70 41  S.PNUS..._PRT.pA
  2640: 50 49 36 60 a0 0c 92 50 49 43 46 70 50 49 43 36  PI6`...PICFpPIC6
  2650: 60 a4 60 10 49 32 2e 5f 53 42 5f 50 43 49 30 08  `.`.I2._SB_PCI0.
  2660: 50 49 43 30 12 46 1a 1d 12 0d 04 0c ff ff 01 00  PIC0.F..........
  2670: 00 4c 4e 4b 41 00 12 0d 04 0c ff ff 01 00 01 4c  .LNKA..........L
  2680: 4e 4b 42 00 12 0e 04 0c ff ff 01 00 0a 02 4c 4e  NKB...........LN
  2690: 4b 43 00 12 0e 04 0c ff ff 01 00 0a 03 4c 4e 4b  KC...........LNK
  26a0: 44 00 12 0d 04 0c ff ff 02 00 00 4c 4e 4b 41 00  D..........LNKA.
  26b0: 12 0d 04 0c ff ff 02 00 01 4c 4e 4b 42 00 12 0e  .........LNKB...
  26c0: 04 0c ff ff 02 00 0a 02 4c 4e 4b 43 00 12 0e 04  ........LNKC....
  26d0: 0c ff ff 02 00 0a 03 4c 4e 4b 44 00 12 0d 04 0c  .......LNKD.....
  26e0: ff ff 03 00 00 4c 4e 4b 41 00 12 0d 04 0c ff ff  .....LNKA.......
  26f0: 03 00 01 4c 4e 4b 42 00 12 0e 04 0c ff ff 03 00  ...LNKB.........
  2700: 0a 02 4c 4e 4b 43 00 12 0e 04 0c ff ff 03 00 0a  ..LNKC..........
  2710: 03 4c 4e 4b 44 00 12 0d 04 0c ff ff 1a 00 00 4c  .LNKD..........L
  2720: 4e 4b 41 00 12 0d 04 0c ff ff 1a 00 01 4c 4e 4b  NKA..........LNK
  2730: 42 00 12 0e 04 0c ff ff 1a 00 0a 02 4c 4e 4b 47  B...........LNKG
  2740: 00 12 0e 04 0c ff ff 1a 00 0a 03 4c 4e 4b 44 00  ...........LNKD.
  2750: 12 0d 04 0c ff ff 1b 00 00 4c 4e 4b 41 00 12 0d  .........LNKA...
  2760: 04 0c ff ff 1c 00 00 4c 4e 4b 41 00 12 0d 04 0c  .......LNKA.....
  2770: ff ff 1c 00 01 4c 4e 4b 42 00 12 0e 04 0c ff ff  .....LNKB.......
  2780: 1c 00 0a 02 4c 4e 4b 43 00 12 0e 04 0c ff ff 1c  ....LNKC........
  2790: 00 0a 03 4c 4e 4b 44 00 12 0d 04 0c ff ff 1d 00  ...LNKD.........
  27a0: 00 4c 4e 4b 48 00 12 0d 04 0c ff ff 1d 00 01 4c  .LNKH..........L
  27b0: 4e 4b 42 00 12 0e 04 0c ff ff 1d 00 0a 02 4c 4e  NKB...........LN
  27c0: 4b 43 00 12 0e 04 0c ff ff 1d 00 0a 03 4c 4e 4b  KC...........LNK
  27d0: 44 00 12 0d 04 0c ff ff 1f 00 00 4c 4e 4b 41 00  D..........LNKA.
  27e0: 12 0d 04 0c ff ff 1f 00 01 4c 4e 4b 42 00 12 0e  .........LNKB...
  27f0: 04 0c ff ff 1f 00 0a 02 4c 4e 4b 43 00 12 0d 04  ........LNKC....
  2800: 0c ff ff 19 00 00 4c 4e 4b 46 00 08 41 50 49 30  ......LNKF..API0
  2810: 12 4c 16 1d 12 0b 04 0c ff ff 01 00 00 00 0a 10  .L..............
  2820: 12 0b 04 0c ff ff 01 00 01 00 0a 11 12 0c 04 0c  ................
  2830: ff ff 01 00 0a 02 00 0a 12 12 0c 04 0c ff ff 01  ................
  2840: 00 0a 03 00 0a 13 12 0b 04 0c ff ff 02 00 00 00  ................
  2850: 0a 10 12 0b 04 0c ff ff 02 00 01 00 0a 11 12 0c  ................
  2860: 04 0c ff ff 02 00 0a 02 00 0a 12 12 0c 04 0c ff  ................
  2870: ff 02 00 0a 03 00 0a 13 12 0b 04 0c ff ff 03 00  ................
  2880: 00 00 0a 10 12 0b 04 0c ff ff 03 00 01 00 0a 11  ................
  2890: 12 0c 04 0c ff ff 03 00 0a 02 00 0a 12 12 0c 04  ................
  28a0: 0c ff ff 03 00 0a 03 00 0a 13 12 0b 04 0c ff ff  ................
  28b0: 1a 00 00 00 0a 10 12 0b 04 0c ff ff 1a 00 01 00  ................
  28c0: 0a 11 12 0c 04 0c ff ff 1a 00 0a 02 00 0a 16 12  ................
  28d0: 0c 04 0c ff ff 1a 00 0a 03 00 0a 13 12 0b 04 0c  ................
  28e0: ff ff 1b 00 00 00 0a 10 12 0b 04 0c ff ff 1c 00  ................
  28f0: 00 00 0a 10 12 0b 04 0c ff ff 1c 00 01 00 0a 11  ................
  2900: 12 0c 04 0c ff ff 1c 00 0a 02 00 0a 12 12 0c 04  ................
  2910: 0c ff ff 1c 00 0a 03 00 0a 13 12 0b 04 0c ff ff  ................
  2920: 1d 00 00 00 0a 17 12 0b 04 0c ff ff 1d 00 01 00  ................
  2930: 0a 11 12 0c 04 0c ff ff 1d 00 0a 02 00 0a 12 12  ................
  2940: 0c 04 0c ff ff 1d 00 0a 03 00 0a 13 12 0b 04 0c  ................
  2950: ff ff 1f 00 00 00 0a 10 12 0b 04 0c ff ff 1f 00  ................
  2960: 01 00 0a 11 12 0c 04 0c ff ff 1f 00 0a 02 00 0a  ................
  2970: 12 12 0b 04 0c ff ff 19 00 00 00 0a 15 10 4c 07  ..............L.
  2980: 2f 03 5f 53 42 5f 50 43 49 30 50 43 49 31 08 50  /._SB_PCI0PCI1.P
  2990: 49 43 31 12 34 04 12 0b 04 0b ff ff 00 4c 4e 4b  IC1.4........LNK
  29a0: 41 00 12 0b 04 0b ff ff 01 4c 4e 4b 42 00 12 0c  A........LNKB...
  29b0: 04 0b ff ff 0a 02 4c 4e 4b 43 00 12 0c 04 0b ff  ......LNKC......
  29c0: ff 0a 03 4c 4e 4b 44 00 08 41 50 49 31 12 2c 04  ...LNKD..API1.,.
  29d0: 12 09 04 0b ff ff 00 00 0a 10 12 09 04 0b ff ff  ................
  29e0: 01 00 0a 11 12 0a 04 0b ff ff 0a 02 00 0a 12 12  ................
  29f0: 0a 04 0b ff ff 0a 03 00 0a 13 10 1f 2f 03 5f 53  ............/._S
  2a00: 42 5f 50 43 49 30 50 43 49 32 08 50 49 43 32 12  B_PCI0PCI2.PIC2.
  2a10: 02 00 08 41 50 49 32 12 02 00 10 4c 07 2f 03 5f  ...API2....L./._
  2a20: 53 42 5f 50 43 49 30 50 43 49 33 08 50 49 43 33  SB_PCI0PCI3.PIC3
  2a30: 12 34 04 12 0b 04 0b ff ff 00 4c 4e 4b 42 00 12  .4........LNKB..
  2a40: 0b 04 0b ff ff 01 4c 4e 4b 43 00 12 0c 04 0b ff  ......LNKC......
  2a50: ff 0a 02 4c 4e 4b 44 00 12 0c 04 0b ff ff 0a 03  ...LNKD.........
  2a60: 4c 4e 4b 41 00 08 41 50 49 33 12 2c 04 12 09 04  LNKA..API3.,....
  2a70: 0b ff ff 00 00 0a 11 12 09 04 0b ff ff 01 00 0a  ................
  2a80: 12 12 0a 04 0b ff ff 0a 02 00 0a 13 12 0a 04 0b  ................
  2a90: ff ff 0a 03 00 0a 10 10 46 15 2f 03 5f 53 42 5f  ........F./._SB_
  2aa0: 50 43 49 30 50 43 49 34 08 50 49 43 34 12 49 0a  PCI0PCI4.PIC4.I.
  2ab0: 0c 12 0d 04 0c ff ff 01 00 00 4c 4e 4b 42 00 12  ..........LNKB..
  2ac0: 0d 04 0c ff ff 01 00 01 4c 4e 4b 43 00 12 0e 04  ........LNKC....
  2ad0: 0c ff ff 01 00 0a 02 4c 4e 4b 44 00 12 0e 04 0c  .......LNKD.....
  2ae0: ff ff 01 00 0a 03 4c 4e 4b 41 00 12 0b 04 0b ff  ......LNKA......
  2af0: ff 00 4c 4e 4b 41 00 12 0b 04 0b ff ff 01 4c 4e  ..LNKA........LN
  2b00: 4b 42 00 12 0c 04 0b ff ff 0a 02 4c 4e 4b 43 00  KB.........LNKC.
  2b10: 12 0c 04 0b ff ff 0a 03 4c 4e 4b 44 00 12 0d 04  ........LNKD....
  2b20: 0c ff ff 02 00 00 4c 4e 4b 43 00 12 0d 04 0c ff  ......LNKC......
  2b30: ff 02 00 01 4c 4e 4b 44 00 12 0e 04 0c ff ff 02  ....LNKD........
  2b40: 00 0a 02 4c 4e 4b 41 00 12 0e 04 0c ff ff 02 00  ...LNKA.........
  2b50: 0a 03 4c 4e 4b 42 00 08 41 50 49 34 12 41 09 0c  ..LNKB..API4.A..
  2b60: 12 0b 04 0c ff ff 01 00 00 00 0a 11 12 0b 04 0c  ................
  2b70: ff ff 01 00 01 00 0a 12 12 0c 04 0c ff ff 01 00  ................
  2b80: 0a 02 00 0a 13 12 0c 04 0c ff ff 01 00 0a 03 00  ................
  2b90: 0a 10 12 09 04 0b ff ff 00 00 0a 10 12 09 04 0b  ................
  2ba0: ff ff 01 00 0a 11 12 0a 04 0b ff ff 0a 02 00 0a  ................
  2bb0: 12 12 0a 04 0b ff ff 0a 03 00 0a 13 12 0b 04 0c  ................
  2bc0: ff ff 02 00 00 00 0a 12 12 0b 04 0c ff ff 02 00  ................
  2bd0: 01 00 0a 13 12 0c 04 0c ff ff 02 00 0a 02 00 0a  ................
  2be0: 10 12 0c 04 0c ff ff 02 00 0a 03 00 0a 11 10 1f  ................
  2bf0: 2f 03 5f 53 42 5f 50 43 49 30 50 43 49 35 08 50  /._SB_PCI0PCI5.P
  2c00: 49 43 35 12 02 00 08 41 50 49 35 12 02 00 10 1f  IC5....API5.....
  2c10: 2f 03 5f 53 42 5f 50 43 49 30 50 43 49 36 08 50  /._SB_PCI0PCI6.P
  2c20: 49 43 36 12 02 00 08 41 50 49 36 12 02 00 10 43  IC6....API6....C
  2c30: 24 5c 00 14 4e 04 2e 5f 47 50 45 5f 4c 30 33 00  $\..N.._GPE_L03.
  2c40: a0 16 80 93 53 53 54 58 01 00 86 5c 2e 5f 53 42  ....SSTX...\._SB
  2c50: 5f 56 42 54 4e 0a 02 5b 22 0a 14 7f 54 48 52 50  _VBTN..["...THRP
  2c60: 0a 08 54 48 52 50 7d 50 4d 45 32 01 50 4d 45 32  ..THRP}PME2.PME2
  2c70: 86 5c 2f 03 5f 53 42 5f 50 43 49 30 55 53 42 30  .\/._SB_PCI0USB0
  2c80: 0a 02 14 4e 04 2e 5f 47 50 45 5f 4c 30 34 00 a0  ...N.._GPE_L04..
  2c90: 16 80 93 53 53 54 58 01 00 86 5c 2e 5f 53 42 5f  ...SSTX...\._SB_
  2ca0: 56 42 54 4e 0a 02 5b 22 0a 14 7f 54 48 52 50 0a  VBTN..["...THRP.
  2cb0: 10 54 48 52 50 7d 50 4d 45 32 01 50 4d 45 32 86  .THRP}PME2.PME2.
  2cc0: 5c 2f 03 5f 53 42 5f 50 43 49 30 55 53 42 31 0a  \/._SB_PCI0USB1.
  2cd0: 02 14 4e 04 2e 5f 47 50 45 5f 4c 30 43 00 a0 16  ..N.._GPE_L0C...
  2ce0: 80 93 53 53 54 58 01 00 86 5c 2e 5f 53 42 5f 56  ..SSTX...\._SB_V
  2cf0: 42 54 4e 0a 02 5b 22 0a 14 7f 47 4c 42 54 0a 10  BTN..["...GLBT..
  2d00: 47 4c 42 54 7d 50 4d 45 32 01 50 4d 45 32 86 5c  GLBT}PME2.PME2.\
  2d10: 2f 03 5f 53 42 5f 50 43 49 30 55 53 42 32 0a 02  /._SB_PCI0USB2..
  2d20: 14 4e 04 2e 5f 47 50 45 5f 4c 30 45 00 a0 16 80  .N.._GPE_L0E....
  2d30: 93 53 53 54 58 01 00 86 5c 2e 5f 53 42 5f 56 42  .SSTX...\._SB_VB
  2d40: 54 4e 0a 02 5b 22 0a 14 7f 47 4c 42 54 0a 40 47  TN..["...GLBT.@G
  2d50: 4c 42 54 7d 50 4d 45 32 01 50 4d 45 32 86 5c 2f  LBT}PME2.PME2.\/
  2d60: 03 5f 53 42 5f 50 43 49 30 55 53 42 33 0a 02 14  ._SB_PCI0USB3...
  2d70: 4e 04 2e 5f 47 50 45 5f 4c 30 35 00 a0 16 80 93  N.._GPE_L05.....
  2d80: 53 53 54 58 01 00 86 5c 2e 5f 53 42 5f 56 42 54  SSTX...\._SB_VBT
  2d90: 4e 0a 02 5b 22 0a 14 7f 54 48 52 50 0a 20 54 48  N..["...THRP. TH
  2da0: 52 50 7d 50 4d 45 32 01 50 4d 45 32 86 5c 2f 03  RP}PME2.PME2.\/.
  2db0: 5f 53 42 5f 50 43 49 30 55 53 42 34 0a 02 14 4e  _SB_PCI0USB4...N
  2dc0: 04 2e 5f 47 50 45 5f 4c 32 30 00 a0 16 80 93 53  .._GPE_L20.....S
  2dd0: 53 54 58 01 00 86 5c 2e 5f 53 42 5f 56 42 54 4e  STX...\._SB_VBTN
  2de0: 0a 02 5b 22 0a 14 7f 54 48 52 50 0a 20 54 48 52  ..["...THRP. THR
  2df0: 50 7d 50 4d 45 32 01 50 4d 45 32 86 5c 2f 03 5f  P}PME2.PME2.\/._
  2e00: 53 42 5f 50 43 49 30 55 53 42 35 0a 02 14 31 2e  SB_PCI0USB5...1.
  2e10: 5f 47 50 45 5f 4c 30 44 00 5b 22 0a 14 7f 47 4c  _GPE_L0D.["...GL
  2e20: 42 54 0a 20 47 4c 42 54 7d 50 4d 45 32 01 50 4d  BT. GLBT}PME2.PM
  2e30: 45 32 86 5c 2e 5f 53 42 5f 50 43 49 30 0a 02 14  E2.\._SB_PCI0...
  2e40: 32 2e 5f 47 50 45 5f 4c 30 42 00 7f 47 4c 42 54  2._GPE_L0B..GLBT
  2e50: 0a 08 47 4c 42 54 7d 50 4d 45 32 01 50 4d 45 32  ..GLBT}PME2.PME2
  2e60: 86 5c 2f 03 5f 53 42 5f 50 43 49 30 50 43 49 34  .\/._SB_PCI0PCI4
  2e70: 0a 02 10 4a 0f 2e 5f 53 42 5f 50 43 49 30 5b 82  ...J.._SB_PCI0[.
  2e80: 4d 0e 49 53 41 5f 08 5f 41 44 52 0c 00 00 1f 00  M.ISA_._ADR.....
  2e90: 08 5f 55 49 44 0a 0a 5b 80 50 34 30 43 02 0a 60  ._UID..[.P40C..`
  2ea0: 0a 04 5b 80 50 34 31 43 02 0a 68 0a 04 5b 82 4e  ..[.P41C..h..[.N
  2eb0: 0b 4d 42 49 4f 08 5f 48 49 44 0c 41 d0 0c 01 08  .MBIO._HID.A....
  2ec0: 5f 55 49 44 0a 0b 14 46 0a 5f 43 52 53 00 08 4d  _UID...F._CRS..M
  2ed0: 49 4f 31 11 35 0a 32 47 01 62 00 62 00 01 02 47  IO1.5.2G.b.b...G
  2ee0: 01 65 00 65 00 01 0b 47 01 e0 00 e0 00 01 10 47  .e.e...G.......G
  2ef0: 01 00 08 00 08 01 60 47 01 00 0c 00 0c 01 80 47  ......`G.......G
  2f00: 01 60 08 60 08 01 a0 79 00 08 4d 49 4f 32 11 46  .`.`...y..MIO2.F
  2f10: 04 0a 42 47 01 60 00 60 00 01 01 47 01 64 00 64  ..BG.`.`...G.d.d
  2f20: 00 01 01 47 01 62 00 62 00 01 02 47 01 65 00 65  ...G.b.b...G.e.e
  2f30: 00 01 0b 47 01 e0 00 e0 00 01 10 47 01 00 08 00  ...G.......G....
  2f40: 08 01 60 47 01 00 0c 00 0c 01 80 47 01 60 08 60  ..`G.......G.`.`
  2f50: 08 01 a0 79 00 a0 10 7d 47 43 4b 42 47 43 4d 53  ...y...}GCKBGCMS
  2f60: 00 a4 4d 49 4f 31 a1 06 a4 4d 49 4f 32 10 41 38  ..MIO1...MIO2.A8
  2f70: 2e 5f 53 42 5f 50 43 49 30 5b 82 45 09 55 53 42  ._SB_PCI0[.E.USB
  2f80: 30 08 5f 41 44 52 0c 00 00 1d 00 08 5f 55 49 44  0._ADR......_UID
  2f90: 0a 05 08 5f 50 52 57 12 06 02 0a 03 0a 03 5b 80  ..._PRW.......[.
  2fa0: 55 50 43 31 02 0a c1 01 5b 81 0b 55 50 43 31 01  UPC1....[..UPC1.
  2fb0: 4c 45 47 4b 08 14 28 5f 49 4e 49 00 a0 05 48 41  LEGK..(_INI...HA
  2fc0: 43 4b a1 17 70 4c 45 47 4b 60 7b 60 0a 60 60 7d  CK..pLEGK`{`.``}
  2fd0: 60 0a 20 60 70 60 4c 45 47 4b 47 55 53 42 14 13  `. `p`LEGKGUSB..
  2fe0: 5f 53 54 41 00 a0 08 47 43 55 43 a4 0a 0f a1 03  _STA...GCUC.....
  2ff0: a4 00 14 08 5f 53 31 44 00 a4 01 14 14 5f 53 33  ...._S1D....._S3
  3000: 44 00 a0 08 48 41 43 4b a4 0a 03 a1 04 a4 0a 02  D...HACK........
  3010: 5b 82 41 09 55 53 42 31 08 5f 41 44 52 0c 01 00  [.A.USB1._ADR...
  3020: 1d 00 08 5f 55 49 44 0a 06 08 5f 50 52 57 12 06  ..._UID..._PRW..
  3030: 02 0a 04 0a 03 5b 80 55 50 43 31 02 0a c1 01 5b  .....[.UPC1....[
  3040: 81 0b 55 50 43 31 01 4c 45 47 4b 08 14 24 5f 49  ..UPC1.LEGK..$_I
  3050: 4e 49 00 a0 05 48 41 43 4b a1 17 70 4c 45 47 4b  NI...HACK..pLEGK
  3060: 60 7b 60 0a 60 60 7d 60 0a 20 60 70 60 4c 45 47  `{`.``}`. `p`LEG
  3070: 4b 14 13 5f 53 54 41 00 a0 08 47 43 55 43 a4 0a  K.._STA...GCUC..
  3080: 0f a1 03 a4 00 14 08 5f 53 31 44 00 a4 01 14 14  ......._S1D.....
  3090: 5f 53 33 44 00 a0 08 48 41 43 4b a4 0a 03 a1 04  _S3D...HACK.....
  30a0: a4 0a 02 5b 82 41 09 55 53 42 32 08 5f 41 44 52  ...[.A.USB2._ADR
  30b0: 0c 02 00 1d 00 08 5f 55 49 44 0a 14 08 5f 50 52  ......_UID..._PR
  30c0: 57 12 06 02 0a 0c 0a 03 5b 80 55 50 43 31 02 0a  W.......[.UPC1..
  30d0: c1 01 5b 81 0b 55 50 43 31 01 4c 45 47 4b 08 14  ..[..UPC1.LEGK..
  30e0: 24 5f 49 4e 49 00 a0 05 48 41 43 4b a1 17 70 4c  $_INI...HACK..pL
  30f0: 45 47 4b 60 7b 60 0a 60 60 7d 60 0a 20 60 70 60  EGK`{`.``}`. `p`
  3100: 4c 45 47 4b 14 13 5f 53 54 41 00 a0 08 47 43 55  LEGK.._STA...GCU
  3110: 43 a4 0a 0f a1 03 a4 00 14 08 5f 53 31 44 00 a4  C........._S1D..
  3120: 01 14 14 5f 53 33 44 00 a0 08 48 41 43 4b a4 0a  ..._S3D...HACK..
  3130: 03 a1 04 a4 0a 02 5b 82 41 09 55 53 42 33 08 5f  ......[.A.USB3._
  3140: 41 44 52 0c 00 00 1a 00 08 5f 55 49 44 0a 15 08  ADR......_UID...
  3150: 5f 50 52 57 12 06 02 0a 0e 0a 03 5b 80 55 50 43  _PRW.......[.UPC
  3160: 31 02 0a c1 01 5b 81 0b 55 50 43 31 01 4c 45 47  1....[..UPC1.LEG
  3170: 4b 08 14 24 5f 49 4e 49 00 a0 05 48 41 43 4b a1  K..$_INI...HACK.
  3180: 17 70 4c 45 47 4b 60 7b 60 0a 60 60 7d 60 0a 20  .pLEGK`{`.``}`. 
  3190: 60 70 60 4c 45 47 4b 14 13 5f 53 54 41 00 a0 08  `p`LEGK.._STA...
  31a0: 47 43 55 43 a4 0a 0f a1 03 a4 00 14 08 5f 53 31  GCUC........._S1
  31b0: 44 00 a4 01 14 14 5f 53 33 44 00 a0 08 48 41 43  D....._S3D...HAC
  31c0: 4b a4 0a 03 a1 04 a4 0a 02 5b 82 41 09 55 53 42  K........[.A.USB
  31d0: 34 08 5f 41 44 52 0c 01 00 1a 00 08 5f 55 49 44  4._ADR......_UID
  31e0: 0a 16 08 5f 50 52 57 12 06 02 0a 05 0a 03 5b 80  ..._PRW.......[.
  31f0: 55 50 43 31 02 0a c1 01 5b 81 0b 55 50 43 31 01  UPC1....[..UPC1.
  3200: 4c 45 47 4b 08 14 24 5f 49 4e 49 00 a0 05 48 41  LEGK..$_INI...HA
  3210: 43 4b a1 17 70 4c 45 47 4b 60 7b 60 0a 60 60 7d  CK..pLEGK`{`.``}
  3220: 60 0a 20 60 70 60 4c 45 47 4b 14 13 5f 53 54 41  `. `p`LEGK.._STA
  3230: 00 a0 08 47 43 55 43 a4 0a 0f a1 03 a4 00 14 08  ...GCUC.........
  3240: 5f 53 31 44 00 a4 01 14 14 5f 53 33 44 00 a0 08  _S1D....._S3D...
  3250: 48 41 43 4b a4 0a 03 a1 04 a4 0a 02 5b 82 41 09  HACK........[.A.
  3260: 55 53 42 35 08 5f 41 44 52 0c 02 00 1a 00 08 5f  USB5._ADR......_
  3270: 55 49 44 0a 1a 08 5f 50 52 57 12 06 02 0a 20 0a  UID..._PRW.... .
  3280: 03 5b 80 55 50 43 31 02 0a c1 01 5b 81 0b 55 50  .[.UPC1....[..UP
  3290: 43 31 01 4c 45 47 4b 08 14 24 5f 49 4e 49 00 a0  C1.LEGK..$_INI..
  32a0: 05 48 41 43 4b a1 17 70 4c 45 47 4b 60 7b 60 0a  .HACK..pLEGK`{`.
  32b0: 60 60 7d 60 0a 20 60 70 60 4c 45 47 4b 14 13 5f  ``}`. `p`LEGK.._
  32c0: 53 54 41 00 a0 08 47 43 55 43 a4 0a 0f a1 03 a4  STA...GCUC......
  32d0: 00 14 08 5f 53 31 44 00 a4 01 14 14 5f 53 33 44  ..._S1D....._S3D
  32e0: 00 a0 08 48 41 43 4b a4 0a 03 a1 04 a4 0a 02 10  ...HACK.........
  32f0: 16 5c 00 08 50 49 43 46 00 14 0c 5f 50 49 43 01  .\..PICF..._PIC.
  3300: 70 68 50 49 43 46 10 45 28 2e 5f 53 42 5f 50 43  phPICF.E(._SB_PC
  3310: 49 30 14 1b 5f 50 52 54 00 70 41 50 49 30 60 a0  I0.._PRT.pAPI0`.
  3320: 0c 92 50 49 43 46 70 50 49 43 30 60 a4 60 14 4d  ..PICFpPIC0`.`.M
  3330: 25 5f 43 52 53 00 5b 80 4f 52 4d 46 00 0c 6c ff  %_CRS.[.ORMF..l.
  3340: 0f 00 0a 04 5b 81 10 4f 52 4d 46 02 4f 52 47 50  ....[..ORMF.ORGP
  3350: 10 4f 52 4e 44 10 08 4d 45 4d 50 11 43 14 0b 3e  .ORND..MEMP.C..>
  3360: 01 88 0d 00 02 0c 00 00 00 00 00 ff 00 00 00 00  ................
  3370: 01 47 01 f8 0c f8 0c 01 08 88 0d 00 01 0c 03 00  .G..............
  3380: 00 00 00 f7 0c 00 00 f8 0c 88 0d 00 01 00 03 00  ................
  3390: 00 00 0d ff ff 00 00 00 f3 87 17 00 00 0c 03 00  ................
  33a0: 00 00 00 00 00 0a 00 ff ff 0b 00 00 00 00 00 00  ................
  33b0: 00 02 00 87 17 00 00 0c 03 00 00 00 00 00 80 0c  ................
  33c0: 00 ff ff 0d 00 00 00 00 00 00 80 01 00 87 17 00  ................
  33d0: 00 0c 03 00 00 00 00 00 00 0e 00 ff ff 0f 00 00  ................
  33e0: 00 00 00 00 00 02 00 87 17 00 00 0c 01 00 00 00  ................
  33f0: 00 00 00 00 f0 00 00 c0 fe 00 00 00 00 00 00 c0  ................
  3400: 0e 87 17 00 00 00 01 00 00 00 00 00 00 00 00 ff  ................
  3410: ff ff df 00 00 00 00 00 00 00 00 87 17 00 00 08  ................
  3420: 01 00 00 00 00 00 00 00 f0 ff ff ff ef 00 00 00  ................
  3430: 00 00 00 00 00 87 17 00 00 00 01 00 00 00 00 00  ................
  3440: 00 98 ff ff 0f 98 ff 00 00 00 00 00 10 00 00 87  ................
  3450: 17 00 00 08 01 00 00 00 00 00 c0 97 ff ff ff 97  ................
  3460: ff 00 00 00 00 00 40 00 00 87 17 00 00 0c 01 00  ......@.........
  3470: 00 00 00 00 00 d2 fe ff ff d9 fe 00 00 00 00 00  ................
  3480: 00 08 00 87 17 00 00 0c 01 00 00 00 00 00 70 da  ..............p.
  3490: fe ff 7f da fe 00 00 00 00 00 10 00 00 79 00 8a  .............y..
  34a0: 4d 45 4d 50 0a 5c 50 4d 49 4e 8a 4d 45 4d 50 0a  MEMP.\PMIN.MEMP.
  34b0: 60 50 4d 41 58 8a 4d 45 4d 50 0a 68 50 4c 45 4e  `PMAX.MEMP.hPLEN
  34c0: 8a 4d 45 4d 50 0a 76 42 4d 49 4e 8a 4d 45 4d 50  .MEMP.vBMIN.MEMP
  34d0: 0a 82 42 4c 45 4e 79 4f 52 47 50 0a 04 42 4d 49  ..BLENyORGP..BMI
  34e0: 4e 74 0c 00 00 10 00 42 4d 49 4e 42 4c 45 4e 70  Nt.....BMINBLENp
  34f0: 0c 00 00 0c 00 50 4d 49 4e 74 42 4d 49 4e 01 50  .....PMINtBMIN.P
  3500: 4d 41 58 74 42 4d 49 4e 50 4d 49 4e 50 4c 45 4e  MAXtBMINPMINPLEN
  3510: 8a 4d 45 4d 50 0a aa 4d 45 4d 4d 8a 4d 45 4d 50  .MEMP..MEMM.MEMP
  3520: 0a ae 4d 45 4d 41 8a 4d 45 4d 50 0a b6 4d 45 4d  ..MEMA.MEMP..MEM
  3530: 4c 70 47 54 4f 4d 4d 45 4d 4d 74 4d 45 4d 41 4d  LpGTOMMEMMtMEMAM
  3540: 45 4d 4d 4d 45 4d 4c 75 4d 45 4d 4c 8a 4d 45 4d  EMMMEMLuMEML.MEM
  3550: 50 0a de 55 4d 49 4e 8a 4d 45 4d 50 0a e2 55 4d  P..UMIN.MEMP..UM
  3560: 41 58 8a 4d 45 4d 50 0a ea 55 4c 45 4e a0 05 47  AX.MEMP..ULEN..G
  3570: 43 55 43 a1 13 70 00 55 4d 49 4e 70 00 55 4d 41  CUC..p.UMINp.UMA
  3580: 58 70 00 55 4c 45 4e a4 4d 45 4d 50 10 44 05 2f  Xp.ULEN.MEMP.D./
  3590: 03 5f 53 42 5f 50 43 49 30 49 53 41 5f 5b 82 42  ._SB_PCI0ISA_[.B
  35a0: 04 44 4d 41 5f 08 5f 48 49 44 0c 41 d0 02 00 14  .DMA_._HID.A....
  35b0: 31 5f 43 52 53 00 08 44 4d 41 42 11 20 0a 1d 47  1_CRS..DMAB. ..G
  35c0: 01 80 00 80 00 01 20 47 01 00 00 00 00 01 20 47  ...... G...... G
  35d0: 01 c0 00 c0 00 01 20 2a 10 12 79 00 a4 44 4d 41  ...... *..y..DMA
  35e0: 42 10 43 04 2f 03 5f 53 42 5f 50 43 49 30 49 53  B.C./._SB_PCI0IS
  35f0: 41 5f 5b 82 31 46 50 55 5f 08 5f 48 49 44 0c 41  A_[.1FPU_._HID.A
  3600: d0 0c 04 14 21 5f 43 52 53 00 08 46 50 55 42 11  ....!_CRS..FPUB.
  3610: 10 0a 0d 47 01 f0 00 f0 00 01 10 22 00 20 79 00  ...G.......". y.
  3620: a4 46 50 55 42 10 41 05 2f 03 5f 53 42 5f 50 43  .FPUB.A./._SB_PC
  3630: 49 30 49 53 41 5f 5b 82 3f 50 49 43 5f 08 5f 48  I0ISA_[.?PIC_._H
  3640: 49 44 0b 41 d0 14 31 5f 43 52 53 00 08 50 49 43  ID.A..1_CRS..PIC
  3650: 42 11 20 0a 1d 47 01 20 00 20 00 01 20 47 01 a0  B. ..G. . .. G..
  3660: 00 a0 00 01 20 47 01 d0 04 d0 04 01 02 22 04 00  .... G......."..
  3670: 79 00 a4 50 49 43 42 10 3f 2f 03 5f 53 42 5f 50  y..PICB.?/._SB_P
  3680: 43 49 30 49 53 41 5f 5b 82 2e 53 50 4b 5f 08 5f  CI0ISA_[..SPK_._
  3690: 48 49 44 0c 41 d0 08 00 14 1e 5f 43 52 53 00 08  HID.A....._CRS..
  36a0: 53 50 4b 42 11 0d 0a 0a 47 01 61 00 61 00 01 01  SPKB....G.a.a...
  36b0: 79 00 a4 53 50 4b 42 10 43 04 2f 03 5f 53 42 5f  y..SPKB.C./._SB_
  36c0: 50 43 49 30 49 53 41 5f 5b 82 31 52 54 43 5f 08  PCI0ISA_[.1RTC_.
  36d0: 5f 48 49 44 0c 41 d0 0b 00 14 21 5f 43 52 53 00  _HID.A....!_CRS.
  36e0: 08 52 54 43 42 11 10 0a 0d 47 01 70 00 70 00 01  .RTCB....G.p.p..
  36f0: 10 22 00 01 79 00 a4 52 54 43 42 10 43 04 2f 03  ."..y..RTCB.C./.
  3700: 5f 53 42 5f 50 43 49 30 49 53 41 5f 5b 82 31 54  _SB_PCI0ISA_[.1T
  3710: 4d 52 5f 08 5f 48 49 44 0c 41 d0 01 00 14 21 5f  MR_._HID.A....!_
  3720: 43 52 53 00 08 54 4d 52 42 11 10 0a 0d 47 01 40  CRS..TMRB....G.@
  3730: 00 40 00 01 20 22 01 00 79 00 a4 54 4d 52 42 10  .@.. "..y..TMRB.
  3740: 4a 5e 5f 53 42 5f 5b 81 24 2f 03 50 43 49 30 49  J^_SB_[.$/.PCI0I
  3750: 53 41 5f 50 34 30 43 01 50 52 51 30 08 50 52 51  SA_P40C.PRQ0.PRQ
  3760: 31 08 50 52 51 32 08 50 52 51 33 08 5b 81 24 2f  1.PRQ2.PRQ3.[.$/
  3770: 03 50 43 49 30 49 53 41 5f 50 34 31 43 01 50 52  .PCI0ISA_P41C.PR
  3780: 51 34 08 50 52 51 35 08 50 52 51 36 08 50 52 51  Q4.PRQ5.PRQ6.PRQ
  3790: 37 08 5b 82 41 0b 4c 4e 4b 41 08 5f 48 49 44 0c  7.[.A.LNKA._HID.
  37a0: 41 d0 0c 0f 08 5f 55 49 44 0a 0c 08 5f 50 52 53  A...._UID..._PRS
  37b0: 11 09 0a 06 23 f8 9e 18 79 00 14 1a 5f 53 54 41  ....#...y..._STA
  37c0: 00 70 0a 0b 60 a0 0d 7b 0a 80 50 52 51 30 61 70  .p..`..{..PRQ0ap
  37d0: 0a 09 60 a4 60 14 11 5f 44 49 53 00 7d 50 52 51  ..`.`.._DIS.}PRQ
  37e0: 30 0a 80 50 52 51 30 14 41 04 5f 43 52 53 00 08  0..PRQ0.A._CRS..
  37f0: 50 52 52 30 11 09 0a 06 23 10 00 18 79 00 8b 50  PRR0....#...y..P
  3800: 52 52 30 01 49 51 52 5f 70 50 52 51 30 60 a0 0c  RR0.IQR_pPRQ0`..
  3810: 92 95 60 0a 80 70 00 49 51 52 5f a1 08 79 01 60  ..`..p.IQR_..y.`
  3820: 49 51 52 5f a4 50 52 52 30 14 1b 5f 53 52 53 01  IQR_.PRR0.._SRS.
  3830: 8b 68 01 49 51 52 5f 82 49 51 52 5f 60 76 60 70  .h.IQR_.IQR_`v`p
  3840: 60 50 52 51 30 5b 82 41 0b 4c 4e 4b 42 08 5f 48  `PRQ0[.A.LNKB._H
  3850: 49 44 0c 41 d0 0c 0f 08 5f 55 49 44 0a 0d 08 5f  ID.A...._UID..._
  3860: 50 52 53 11 09 0a 06 23 f8 9e 18 79 00 14 1a 5f  PRS....#...y..._
  3870: 53 54 41 00 70 0a 0b 60 a0 0d 7b 0a 80 50 52 51  STA.p..`..{..PRQ
  3880: 31 61 70 0a 09 60 a4 60 14 11 5f 44 49 53 00 7d  1ap..`.`.._DIS.}
  3890: 50 52 51 31 0a 80 50 52 51 31 14 41 04 5f 43 52  PRQ1..PRQ1.A._CR
  38a0: 53 00 08 50 52 52 31 11 09 0a 06 23 10 00 18 79  S..PRR1....#...y
  38b0: 00 8b 50 52 52 31 01 49 51 52 5f 70 50 52 51 31  ..PRR1.IQR_pPRQ1
  38c0: 60 a0 0c 92 95 60 0a 80 70 00 49 51 52 5f a1 08  `....`..p.IQR_..
  38d0: 79 01 60 49 51 52 5f a4 50 52 52 31 14 1b 5f 53  y.`IQR_.PRR1.._S
  38e0: 52 53 01 8b 68 01 49 51 52 5f 82 49 51 52 5f 60  RS..h.IQR_.IQR_`
  38f0: 76 60 70 60 50 52 51 31 5b 82 41 0b 4c 4e 4b 43  v`p`PRQ1[.A.LNKC
  3900: 08 5f 48 49 44 0c 41 d0 0c 0f 08 5f 55 49 44 0a  ._HID.A...._UID.
  3910: 0e 08 5f 50 52 53 11 09 0a 06 23 f8 9e 18 79 00  .._PRS....#...y.
  3920: 14 1a 5f 53 54 41 00 70 0a 0b 60 a0 0d 7b 0a 80  .._STA.p..`..{..
  3930: 50 52 51 32 61 70 0a 09 60 a4 60 14 11 5f 44 49  PRQ2ap..`.`.._DI
  3940: 53 00 7d 50 52 51 32 0a 80 50 52 51 32 14 41 04  S.}PRQ2..PRQ2.A.
  3950: 5f 43 52 53 00 08 50 52 52 32 11 09 0a 06 23 10  _CRS..PRR2....#.
  3960: 00 18 79 00 8b 50 52 52 32 01 49 51 52 5f 70 50  ..y..PRR2.IQR_pP
  3970: 52 51 32 60 a0 0c 92 95 60 0a 80 70 00 49 51 52  RQ2`....`..p.IQR
  3980: 5f a1 08 79 01 60 49 51 52 5f a4 50 52 52 32 14  _..y.`IQR_.PRR2.
  3990: 1b 5f 53 52 53 01 8b 68 01 49 51 52 5f 82 49 51  ._SRS..h.IQR_.IQ
  39a0: 52 5f 60 76 60 70 60 50 52 51 32 5b 82 41 0b 4c  R_`v`p`PRQ2[.A.L
  39b0: 4e 4b 44 08 5f 48 49 44 0c 41 d0 0c 0f 08 5f 55  NKD._HID.A...._U
  39c0: 49 44 0a 0f 08 5f 50 52 53 11 09 0a 06 23 f8 9e  ID..._PRS....#..
  39d0: 18 79 00 14 1a 5f 53 54 41 00 70 0a 0b 60 a0 0d  .y..._STA.p..`..
  39e0: 7b 0a 80 50 52 51 33 61 70 0a 09 60 a4 60 14 11  {..PRQ3ap..`.`..
  39f0: 5f 44 49 53 00 7d 50 52 51 33 0a 80 50 52 51 33  _DIS.}PRQ3..PRQ3
  3a00: 14 41 04 5f 43 52 53 00 08 50 52 52 33 11 09 0a  .A._CRS..PRR3...
  3a10: 06 23 10 00 18 79 00 8b 50 52 52 33 01 49 51 52  .#...y..PRR3.IQR
  3a20: 5f 70 50 52 51 33 60 a0 0c 92 95 60 0a 80 70 00  _pPRQ3`....`..p.
  3a30: 49 51 52 5f a1 08 79 01 60 49 51 52 5f a4 50 52  IQR_..y.`IQR_.PR
  3a40: 52 33 14 1b 5f 53 52 53 01 8b 68 01 49 51 52 5f  R3.._SRS..h.IQR_
  3a50: 82 49 51 52 5f 60 76 60 70 60 50 52 51 33 5b 82  .IQR_`v`p`PRQ3[.
  3a60: 41 0b 4c 4e 4b 45 08 5f 48 49 44 0c 41 d0 0c 0f  A.LNKE._HID.A...
  3a70: 08 5f 55 49 44 0a 10 08 5f 50 52 53 11 09 0a 06  ._UID..._PRS....
  3a80: 23 f8 9e 18 79 00 14 1a 5f 53 54 41 00 70 0a 0b  #...y..._STA.p..
  3a90: 60 a0 0d 7b 0a 80 50 52 51 34 61 70 0a 09 60 a4  `..{..PRQ4ap..`.
  3aa0: 60 14 11 5f 44 49 53 00 7d 50 52 51 34 0a 80 50  `.._DIS.}PRQ4..P
  3ab0: 52 51 34 14 41 04 5f 43 52 53 00 08 50 52 52 34  RQ4.A._CRS..PRR4
  3ac0: 11 09 0a 06 23 10 00 18 79 00 8b 50 52 52 34 01  ....#...y..PRR4.
  3ad0: 49 51 52 5f 70 50 52 51 34 60 a0 0c 92 95 60 0a  IQR_pPRQ4`....`.
  3ae0: 80 70 00 49 51 52 5f a1 08 79 01 60 49 51 52 5f  .p.IQR_..y.`IQR_
  3af0: a4 50 52 52 34 14 1b 5f 53 52 53 01 8b 68 01 49  .PRR4.._SRS..h.I
  3b00: 51 52 5f 82 49 51 52 5f 60 76 60 70 60 50 52 51  QR_.IQR_`v`p`PRQ
  3b10: 34 5b 82 41 0b 4c 4e 4b 46 08 5f 48 49 44 0c 41  4[.A.LNKF._HID.A
  3b20: d0 0c 0f 08 5f 55 49 44 0a 11 08 5f 50 52 53 11  ...._UID..._PRS.
  3b30: 09 0a 06 23 f8 9e 18 79 00 14 1a 5f 53 54 41 00  ...#...y..._STA.
  3b40: 70 0a 0b 60 a0 0d 7b 0a 80 50 52 51 35 61 70 0a  p..`..{..PRQ5ap.
  3b50: 09 60 a4 60 14 11 5f 44 49 53 00 7d 50 52 51 35  .`.`.._DIS.}PRQ5
  3b60: 0a 80 50 52 51 35 14 41 04 5f 43 52 53 00 08 50  ..PRQ5.A._CRS..P
  3b70: 52 52 35 11 09 0a 06 23 10 00 18 79 00 8b 50 52  RR5....#...y..PR
  3b80: 52 35 01 49 51 52 5f 70 50 52 51 35 60 a0 0c 92  R5.IQR_pPRQ5`...
  3b90: 95 60 0a 80 70 00 49 51 52 5f a1 08 79 01 60 49  .`..p.IQR_..y.`I
  3ba0: 51 52 5f a4 50 52 52 35 14 1b 5f 53 52 53 01 8b  QR_.PRR5.._SRS..
  3bb0: 68 01 49 51 52 5f 82 49 51 52 5f 60 76 60 70 60  h.IQR_.IQR_`v`p`
  3bc0: 50 52 51 35 5b 82 41 0b 4c 4e 4b 47 08 5f 48 49  PRQ5[.A.LNKG._HI
  3bd0: 44 0c 41 d0 0c 0f 08 5f 55 49 44 0a 12 08 5f 50  D.A...._UID..._P
  3be0: 52 53 11 09 0a 06 23 f8 9e 18 79 00 14 1a 5f 53  RS....#...y..._S
  3bf0: 54 41 00 70 0a 0b 60 a0 0d 7b 0a 80 50 52 51 36  TA.p..`..{..PRQ6
  3c00: 61 70 0a 09 60 a4 60 14 11 5f 44 49 53 00 7d 50  ap..`.`.._DIS.}P
  3c10: 52 51 36 0a 80 50 52 51 36 14 41 04 5f 43 52 53  RQ6..PRQ6.A._CRS
  3c20: 00 08 50 52 52 36 11 09 0a 06 23 10 00 18 79 00  ..PRR6....#...y.
  3c30: 8b 50 52 52 36 01 49 51 52 5f 70 50 52 51 36 60  .PRR6.IQR_pPRQ6`
  3c40: a0 0c 92 95 60 0a 80 70 00 49 51 52 5f a1 08 79  ....`..p.IQR_..y
  3c50: 01 60 49 51 52 5f a4 50 52 52 36 14 1b 5f 53 52  .`IQR_.PRR6.._SR
  3c60: 53 01 8b 68 01 49 51 52 5f 82 49 51 52 5f 60 76  S..h.IQR_.IQR_`v
  3c70: 60 70 60 50 52 51 36 5b 82 41 0b 4c 4e 4b 48 08  `p`PRQ6[.A.LNKH.
  3c80: 5f 48 49 44 0c 41 d0 0c 0f 08 5f 55 49 44 0a 13  _HID.A...._UID..
  3c90: 08 5f 50 52 53 11 09 0a 06 23 f8 9e 18 79 00 14  ._PRS....#...y..
  3ca0: 1a 5f 53 54 41 00 70 0a 0b 60 a0 0d 7b 0a 80 50  ._STA.p..`..{..P
  3cb0: 52 51 37 61 70 0a 09 60 a4 60 14 11 5f 44 49 53  RQ7ap..`.`.._DIS
  3cc0: 00 7d 50 52 51 37 0a 80 50 52 51 37 14 41 04 5f  .}PRQ7..PRQ7.A._
  3cd0: 43 52 53 00 08 50 52 52 37 11 09 0a 06 23 10 00  CRS..PRR7....#..
  3ce0: 18 79 00 8b 50 52 52 37 01 49 51 52 5f 70 50 52  .y..PRR7.IQR_pPR
  3cf0: 51 37 60 a0 0c 92 95 60 0a 80 70 00 49 51 52 5f  Q7`....`..p.IQR_
  3d00: a1 08 79 01 60 49 51 52 5f a4 50 52 52 37 14 1b  ..y.`IQR_.PRR7..
  3d10: 5f 53 52 53 01 8b 68 01 49 51 52 5f 82 49 51 52  _SRS..h.IQR_.IQR
  3d20: 5f 60 76 60 70 60 50 52 51 37 10 39 5f 53 42 5f  _`v`p`PRQ7.9_SB_
  3d30: 5b 82 32 48 50 45 54 08 5f 48 49 44 0c 41 d0 01  [.2HPET._HID.A..
  3d40: 03 14 22 5f 43 52 53 00 08 48 42 41 42 11 11 0a  .."_CRS..HBAB...
  3d50: 0e 86 09 00 00 00 00 d0 fe 00 04 00 00 79 00 a4  .............y..
  3d60: 48 42 41 42 10 4c 15 5c 00 5b 80 57 45 4e 58 01  HBAB.L.\.[.WENX.
  3d70: 0b 0a 0c 0a 06 5b 81 24 57 45 4e 58 01 57 45 4e  .....[.$WENX.WEN
  3d80: 31 08 57 45 4e 32 08 57 45 4e 33 08 57 45 4e 34  1.WEN2.WEN3.WEN4
  3d90: 08 57 45 4e 35 08 57 45 4e 36 08 5b 80 57 53 54  .WEN5.WEN6.[.WST
  3da0: 58 01 0b 00 0c 0a 0a 5b 81 38 57 53 54 58 01 57  X......[.8WSTX.W
  3db0: 53 54 30 08 50 4d 45 4a 08 50 45 4e 41 08 50 45  ST0.PMEJ.PENA.PE
  3dc0: 4e 4a 08 57 53 54 31 08 57 53 54 32 08 57 53 54  NJ.WST1.WST2.WST
  3dd0: 33 08 57 53 54 34 08 57 53 54 35 08 57 53 54 36  3.WST4.WST5.WST6
  3de0: 08 5b 80 53 47 50 58 01 0b 4b 0c 0a 06 5b 81 24  .[.SGPX..K...[.$
  3df0: 53 47 50 58 01 53 47 50 31 08 53 47 50 32 08 53  SGPX.SGP1.SGP2.S
  3e00: 47 50 33 08 53 47 50 34 08 53 47 50 35 08 53 47  GP3.SGP4.SGP5.SG
  3e10: 50 36 08 5b 80 4c 45 44 58 01 0b 5d 0c 0a 02 5b  P6.[.LEDX..]...[
  3e20: 81 10 4c 45 44 58 01 4c 45 44 31 08 4c 45 44 32  ..LEDX.LED1.LED2
  3e30: 08 14 4f 05 50 53 4b 4d 01 a0 47 05 7d 93 68 0a  ..O.PSKM..G.}.h.
  3e40: 03 93 68 01 00 70 0a 55 53 49 4f 49 70 0a 07 53  ..h..p.USIOIp..S
  3e50: 49 4f 49 70 0a 07 53 49 4f 44 70 0a f0 53 49 4f  IOIp..SIODp..SIO
  3e60: 49 70 53 49 4f 44 60 7d 60 0a 60 53 49 4f 44 70  IpSIOD`}`.`SIODp
  3e70: 0a aa 53 49 4f 49 70 57 53 54 31 60 7b 60 0a 18  ..SIOIpWST1`{`..
  3e80: 57 53 54 31 70 47 53 54 53 60 7b 60 01 47 53 54  WST1pGSTS`{`.GST
  3e90: 53 14 2f 47 50 4b 4d 00 70 57 45 4e 31 60 7b 60  S./GPKM.pWEN1`{`
  3ea0: 0a e7 57 45 4e 31 70 57 53 54 31 60 7b 60 0a 18  ..WEN1pWST1`{`..
  3eb0: 57 53 54 31 70 47 53 54 53 60 7b 60 01 47 53 54  WST1pGSTS`{`.GST
  3ec0: 53 10 49 ee 2f 03 5f 53 42 5f 50 43 49 30 49 53  S.I./._SB_PCI0IS
  3ed0: 41 5f 5b 80 4e 53 49 4f 01 0a 2e 0a 02 5b 81 10  A_[.NSIO.....[..
  3ee0: 4e 53 49 4f 01 49 4e 44 58 08 44 41 54 41 08 5b  NSIO.INDX.DATA.[
  3ef0: 86 47 05 49 4e 44 58 44 41 54 41 01 00 10 43 46  .G.INDXDATA...CF
  3f00: 47 5f 08 00 20 4c 44 4e 5f 08 00 40 0c 53 49 49  G_.. [email protected]
  3f10: 44 08 00 48 07 41 43 54 52 08 00 48 17 49 4f 41  D..H.ACTR..H.IOA
  3f20: 48 08 49 4f 41 4c 08 00 40 07 49 4e 54 52 08 00  [email protected]..
  3f30: 18 44 4d 43 48 08 00 48 3d 4f 50 54 31 08 4f 50  .DMCH..H=OPT1.OP
  3f40: 54 32 08 4f 50 54 33 08 5b 80 43 4f 4d 5f 02 0a  T2.OPT3.[.COM_..
  3f50: 80 01 5b 81 14 43 4f 4d 5f 01 4e 53 43 41 03 00  ..[..COM_.NSCA..
  3f60: 01 4e 53 43 42 03 00 01 5b 80 46 44 50 41 02 0a  .NSCB...[.FDPA..
  3f70: 81 01 5b 81 14 46 44 50 41 01 4c 50 54 4f 02 00  ..[..FDPA.LPTO..
  3f80: 02 46 44 44 43 01 00 03 5b 01 4d 54 58 5f 01 14  .FDDC...[.MTX_..
  3f90: 18 53 49 4f 44 01 43 53 49 4f 0a 55 70 68 4c 44  .SIOD.CSIO.UphLD
  3fa0: 4e 5f 43 53 49 4f 0a aa 14 0c 43 53 49 4f 01 70  N_CSIO....CSIO.p
  3fb0: 68 49 4e 44 58 5b 82 49 43 46 44 43 5f 08 5f 48  hINDX[.ICFDC_._H
  3fc0: 49 44 0c 41 d0 07 00 14 4e 08 5f 53 54 41 00 08  ID.A....N._STA..
  3fd0: 52 45 54 5f 00 5b 23 4d 54 58 5f ff ff 53 49 4f  RET_.[#MTX_..SIO
  3fe0: 44 00 a0 4a 05 47 43 46 44 43 53 49 4f 0a 55 a0  D..J.GCFDCSIO.U.
  3ff0: 3e 41 43 54 52 70 43 4d 52 44 0a 10 60 7b 60 0a  >ACTRpCMRD..`{`.
  4000: 40 60 a0 1e 60 7b 60 0a 02 60 a0 16 60 70 43 4d  @`..`{`..`..`pCM
  4010: 52 44 0a 10 60 7b 60 0a 0f 60 43 4d 57 52 0a 10  RD..`{`..`CMWR..
  4020: 60 43 53 49 4f 0a aa 70 0a 0f 52 45 54 5f a1 0e  `CSIO..p..RET_..
  4030: 43 53 49 4f 0a aa 70 0a 0d 52 45 54 5f a1 0d 43  CSIO..p..RET_..C
  4040: 53 49 4f 0a aa 70 00 52 45 54 5f 5b 27 4d 54 58  SIO..p.RET_['MTX
  4050: 5f a4 52 45 54 5f 14 31 5f 44 49 53 00 5b 23 4d  _.RET_.1_DIS.[#M
  4060: 54 58 5f ff ff 53 49 4f 44 00 43 53 49 4f 0a 55  TX_..SIOD.CSIO.U
  4070: 70 00 49 4e 54 52 70 00 41 43 54 52 43 53 49 4f  p.INTRp.ACTRCSIO
  4080: 0a aa 5b 27 4d 54 58 5f 14 4a 11 5f 43 52 53 00  ..['MTX_.J._CRS.
  4090: 08 46 44 42 30 11 1b 0a 18 47 01 f0 03 f0 03 08  .FDB0....G......
  40a0: 06 47 01 f7 03 f7 03 01 01 22 40 00 2a 04 08 79  .G......."@.*..y
  40b0: 00 8c 46 44 42 30 0a 02 49 4f 4c 30 8c 46 44 42  ..FDB0..IOL0.FDB
  40c0: 30 0a 03 49 4f 48 30 8c 46 44 42 30 0a 04 49 4f  0..IOH0.FDB0..IO
  40d0: 4c 31 8c 46 44 42 30 0a 05 49 4f 48 31 8c 46 44  L1.FDB0..IOH1.FD
  40e0: 42 30 0a 0a 49 32 4c 30 8c 46 44 42 30 0a 0b 49  B0..I2L0.FDB0..I
  40f0: 32 48 30 8c 46 44 42 30 0a 0c 49 32 4c 31 8c 46  2H0.FDB0..I2L1.F
  4100: 44 42 30 0a 0d 49 32 48 31 8b 46 44 42 30 0a 11  DB0..I2H1.FDB0..
  4110: 49 51 52 5f 8c 46 44 42 30 0a 14 44 41 4d 5f 5b  IQR_.FDB0..DAM_[
  4120: 23 4d 54 58 5f ff ff 53 49 4f 44 00 43 53 49 4f  #MTX_..SIOD.CSIO
  4130: 0a 55 70 49 4f 41 48 49 4f 48 30 70 49 4f 41 48  .UpIOAHIOH0pIOAH
  4140: 49 4f 48 31 70 49 4f 41 4c 49 4f 4c 30 70 49 4f  IOH1pIOALIOL0pIO
  4150: 41 4c 49 4f 4c 31 70 49 4f 41 48 49 32 48 30 70  ALIOL1pIOAHI2H0p
  4160: 49 4f 41 48 49 32 48 31 72 49 4f 41 4c 0a 07 49  IOAHI2H1rIOAL..I
  4170: 32 4c 30 72 49 4f 41 4c 0a 07 49 32 4c 31 79 01  2L0rIOAL..I2L1y.
  4180: 49 4e 54 52 49 51 52 5f 79 01 44 4d 43 48 44 41  INTRIQR_y.DMCHDA
  4190: 4d 5f 43 53 49 4f 0a aa 5b 27 4d 54 58 5f a4 46  M_CSIO..['MTX_.F
  41a0: 44 42 30 14 4e 05 5f 50 52 53 00 08 46 44 42 31  DB0.N._PRS..FDB1
  41b0: 11 4c 04 0a 48 30 47 01 f0 03 f0 03 08 06 47 01  .L..H0G.......G.
  41c0: f7 03 f7 03 01 01 22 40 00 2a 04 08 30 47 01 f0  ......"@.*..0G..
  41d0: 03 f0 03 08 06 47 01 f7 03 f7 03 01 01 22 f8 10  .....G......."..
  41e0: 2a 0e 08 30 47 01 70 03 70 03 08 06 47 01 77 03  *..0G.p.p...G.w.
  41f0: 77 03 01 01 22 f8 10 2a 0e 08 38 79 00 a4 46 44  w..."..*..8y..FD
  4200: 42 31 14 42 0a 5f 53 52 53 01 8c 68 0a 02 49 4f  B1.B._SRS..h..IO
  4210: 4c 4f 8c 68 0a 03 49 4f 48 49 8b 68 0a 11 49 51  LO.h..IOHI.h..IQ
  4220: 52 5f 8c 68 0a 14 44 41 4d 5f 5b 23 4d 54 58 5f  R_.h..DAM_[#MTX_
  4230: ff ff 53 49 4f 44 00 43 53 49 4f 0a 55 70 49 4f  ..SIOD.CSIO.UpIO
  4240: 4c 4f 49 4f 41 4c 70 49 4f 48 49 49 4f 41 48 43  LOIOALpIOHIIOAHC
  4250: 53 49 4f 0a aa a0 0e 93 49 4f 4c 4f 0a 70 70 01  SIO.....IOLO.pp.
  4260: 46 44 44 43 a0 0e 93 49 4f 4c 4f 0a f0 70 00 46  FDDC...IOLO..p.F
  4270: 44 44 43 43 53 49 4f 0a 55 82 49 51 52 5f 60 74  DDCCSIO.U.IQR_`t
  4280: 60 01 49 4e 54 52 82 44 41 4d 5f 60 74 60 01 44  `.INTR.DAM_`t`.D
  4290: 4d 43 48 70 01 41 43 54 52 43 53 49 4f 0a aa 5b  MCHp.ACTRCSIO..[
  42a0: 27 4d 54 58 5f 14 40 08 5f 46 44 45 00 08 46 44  'MTX_.@._FDE..FD
  42b0: 45 42 11 03 0a 14 8a 46 44 45 42 00 46 44 45 30  EB.....FDEB.FDE0
  42c0: 8a 46 44 45 42 0a 04 46 44 45 31 8a 46 44 45 42  .FDEB..FDE1.FDEB
  42d0: 0a 08 46 44 45 32 8a 46 44 45 42 0a 0c 46 44 45  ..FDE2.FDEB..FDE
  42e0: 33 8a 46 44 45 42 0a 10 46 44 45 34 70 00 46 44  3.FDEB..FDE4p.FD
  42f0: 45 30 70 00 46 44 45 31 70 00 46 44 45 32 70 00  E0p.FDE1p.FDE2p.
  4300: 46 44 45 33 70 0a 02 46 44 45 34 70 43 4d 52 44  FDE3p..FDE4pCMRD
  4310: 0a 10 60 7b 60 0a 40 60 a0 08 60 70 01 46 44 45  ..`{`.@`..`p.FDE
  4320: 30 a4 46 44 45 42 08 46 49 4e 46 12 20 10 00 0a  0.FDEB.FINF. ...
  4330: 04 0a 4f 0a 12 01 0a af 0a 02 0a 25 0a 02 0a 12  ..O........%....
  4340: 0a 1b 0a ff 0a 6c 0a f6 0a 0f 0a 08 14 14 5f 46  .....l........_F
  4350: 44 49 00 70 00 88 46 49 4e 46 00 00 a4 46 49 4e  DI.p..FINF...FIN
  4360: 46 5b 82 4d 08 46 44 43 41 08 5f 41 44 52 00 14  F[.M.FDCA._ADR..
  4370: 16 5f 45 4a 30 01 70 47 49 34 38 60 7b 60 0a f7  ._EJ0.pGI48`{`..
  4380: 47 49 34 38 a4 00 14 49 06 5f 53 54 41 00 70 47  GI48...I._STA.pG
  4390: 49 33 32 60 7b 47 49 33 32 0a 70 60 a0 0b 92 93  I32`{GI32.p`....
  43a0: 60 0a 30 70 00 61 a4 61 a1 47 04 5b 23 53 54 53  `.0p.a.a.G.[#STS
  43b0: 4d ff ff 5b 23 46 4f 4f 4d ff ff 70 43 4d 52 44  M..[#FOOM..pCMRD
  43c0: 0a 10 60 7b 60 0a 40 60 5b 27 46 4f 4f 4d 5b 23  ..`{`.@`['FOOM[#
  43d0: 46 4f 4f 4d ff ff a0 06 60 70 0a 0f 61 a1 04 70  FOOM....`p..a..p
  43e0: 00 61 5b 27 46 4f 4f 4d 5b 27 53 54 53 4d a4 61  .a['FOOM['STSM.a
  43f0: 5b 82 4f 05 4b 42 44 5f 08 5f 48 49 44 0c 41 d0  [.O.KBD_._HID.A.
  4400: 03 03 14 24 5f 53 54 41 00 08 52 45 54 5f 00 70  ...$_STA..RET_.p
  4410: 00 52 45 54 5f a0 0c 47 43 4b 42 70 0a 0f 52 45  .RET_..GCKBp..RE
  4420: 54 5f a4 52 45 54 5f 14 29 5f 43 52 53 00 08 4b  T_.RET_.)_CRS..K
  4430: 42 44 42 11 18 0a 15 47 01 60 00 60 00 01 01 47  BDB....G.`.`...G
  4440: 01 64 00 64 00 01 01 22 02 00 79 00 a4 4b 42 44  .d.d..."..y..KBD
  4450: 42 5b 82 41 08 4d 4f 55 5f 08 5f 48 49 44 0c 41  B[.A.MOU_._HID.A
  4460: d0 0f 13 14 2a 5f 53 54 41 00 08 52 45 54 5f 00  ....*_STA..RET_.
  4470: 70 00 52 45 54 5f a0 12 47 43 4f 4e a0 0c 47 43  p.RET_..GCON..GC
  4480: 4d 53 70 0a 0f 52 45 54 5f a4 52 45 54 5f 14 45  MSp..RET_.RET_.E
  4490: 04 5f 43 52 53 00 08 4d 4f 55 42 11 08 0a 05 22  ._CRS..MOUB...."
  44a0: 00 10 79 00 08 4d 4f 4b 42 11 18 0a 15 47 01 60  ..y..MOKB....G.`
  44b0: 00 60 00 01 01 47 01 64 00 64 00 01 01 22 00 10  .`...G.d.d..."..
  44c0: 79 00 a0 0a 47 43 4b 42 a4 4d 4f 55 42 a1 06 a4  y...GCKB.MOUB...
  44d0: 4d 4f 4b 42 5b 82 49 40 50 52 54 5f 08 5f 48 49  MOKB[.I@PRT_._HI
  44e0: 44 0c 41 d0 04 01 14 42 06 5f 53 54 41 00 08 52  D.A....B._STA..R
  44f0: 45 54 5f 00 5b 23 4d 54 58 5f ff ff 53 49 4f 44  ET_.[#MTX_..SIOD
  4500: 0a 03 a0 2d 47 43 50 50 43 53 49 4f 0a 55 a0 12  ...-GCPPCSIO.U..
  4510: 41 43 54 52 43 53 49 4f 0a aa 70 0a 0f 52 45 54  ACTRCSIO..p..RET
  4520: 5f a1 0e 43 53 49 4f 0a aa 70 0a 0d 52 45 54 5f  _..CSIO..p..RET_
  4530: a1 0d 43 53 49 4f 0a aa 70 00 52 45 54 5f 5b 27  ..CSIO..p.RET_['
  4540: 4d 54 58 5f a4 52 45 54 5f 14 39 5f 44 49 53 00  MTX_.RET_.9_DIS.
  4550: 5b 23 4d 54 58 5f ff ff 53 49 4f 44 0a 03 43 53  [#MTX_..SIOD..CS
  4560: 49 4f 0a 55 70 00 49 4e 54 52 70 0a 04 44 4d 43  IO.Up.INTRp..DMC
  4570: 48 70 00 41 43 54 52 43 53 49 4f 0a aa 5b 27 4d  Hp.ACTRCSIO..['M
  4580: 54 58 5f 14 49 18 5f 43 52 53 00 08 50 54 42 30  TX_.I._CRS..PTB0
  4590: 11 1b 0a 18 47 01 78 03 78 03 08 08 47 01 78 07  ....G.x.x...G.x.
  45a0: 78 07 08 08 22 80 00 2a 00 08 79 00 8c 50 54 42  x..."..*..y..PTB
  45b0: 30 0a 02 49 4f 4c 30 8c 50 54 42 30 0a 03 49 4f  0..IOL0.PTB0..IO
  45c0: 48 30 8c 50 54 42 30 0a 04 49 4f 4c 31 8c 50 54  H0.PTB0..IOL1.PT
  45d0: 42 30 0a 05 49 4f 48 31 8c 50 54 42 30 0a 06 4c  B0..IOH1.PTB0..L
  45e0: 41 4c 4e 8c 50 54 42 30 0a 07 4c 4c 45 4e 8c 50  ALN.PTB0..LLEN.P
  45f0: 54 42 30 0a 0a 49 32 4c 30 8c 50 54 42 30 0a 0b  TB0..I2L0.PTB0..
  4600: 49 32 48 30 8c 50 54 42 30 0a 0c 49 32 4c 31 8c  I2H0.PTB0..I2L1.
  4610: 50 54 42 30 0a 0d 49 32 48 31 8c 50 54 42 30 0a  PTB0..I2H1.PTB0.
  4620: 0e 48 41 4c 4e 8c 50 54 42 30 0a 0f 48 4c 45 4e  .HALN.PTB0..HLEN
  4630: 8b 50 54 42 30 0a 11 49 51 52 5f 8c 50 54 42 30  .PTB0..IQR_.PTB0
  4640: 0a 14 44 41 4d 5f 5b 23 4d 54 58 5f ff ff 53 49  ..DAM_[#MTX_..SI
  4650: 4f 44 0a 03 43 53 49 4f 0a 55 70 49 4f 41 48 49  OD..CSIO.UpIOAHI
  4660: 4f 48 30 70 49 4f 41 48 49 4f 48 31 70 49 4f 41  OH0pIOAHIOH1pIOA
  4670: 4c 49 4f 4c 30 70 49 4f 41 4c 49 4f 4c 31 72 49  LIOL0pIOALIOL1rI
  4680: 4f 41 48 0a 04 49 32 48 30 72 49 4f 41 48 0a 04  OAH..I2H0rIOAH..
  4690: 49 32 48 31 70 49 4f 41 4c 49 32 4c 30 70 49 4f  I2H1pIOALI2L0pIO
  46a0: 41 4c 49 32 4c 31 79 01 49 4e 54 52 49 51 52 5f  ALI2L1y.INTRIQR_
  46b0: 79 01 44 4d 43 48 44 41 4d 5f a0 24 93 49 4f 4c  y.DMCHDAM_.$.IOL
  46c0: 30 0a bc 70 0a 04 4c 41 4c 4e 70 0a 04 4c 4c 45  0..p..LALNp..LLE
  46d0: 4e 70 0a 04 48 41 4c 4e 70 0a 04 48 4c 45 4e a0  Np..HALNp..HLEN.
  46e0: 0e 93 44 4d 43 48 0a 04 70 00 44 41 4d 5f a0 0d  ..DMCH..p.DAM_..
  46f0: 93 49 4e 54 52 00 70 00 49 51 52 5f 43 53 49 4f  .INTR.p.IQR_CSIO
  4700: 0a aa 5b 27 4d 54 58 5f a4 50 54 42 30 14 4f 0f  ..['MTX_.PTB0.O.
  4710: 5f 50 52 53 00 08 50 54 42 31 11 4d 0e 0a e9 30  _PRS..PTB1.M...0
  4720: 47 01 78 03 78 03 08 08 47 01 78 07 78 07 08 08  G.x.x...G.x.x...
  4730: 22 80 00 2a 00 08 30 47 01 78 02 78 02 08 08 47  "..*..0G.x.x...G
  4740: 01 78 06 78 06 08 08 22 20 00 2a 00 08 30 47 01  .x.x..." .*..0G.
  4750: 78 03 78 03 08 08 47 01 78 07 78 07 08 08 22 f8  x.x...G.x.x...".
  4760: 10 2a 00 08 30 47 01 78 03 78 03 08 08 47 01 78  .*..0G.x.x...G.x
  4770: 07 78 07 08 08 22 f8 10 2a 0e 08 30 47 01 78 02  .x..."..*..0G.x.
  4780: 78 02 08 08 47 01 78 06 78 06 08 08 22 f8 10 2a  x...G.x.x..."..*
  4790: 00 08 30 47 01 78 02 78 02 08 08 47 01 78 06 78  ..0G.x.x...G.x.x
  47a0: 06 08 08 22 f8 10 2a 0e 08 30 47 01 78 03 78 03  ..."..*..0G.x.x.
  47b0: 08 08 47 01 78 07 78 07 08 08 22 00 00 2a 00 08  ..G.x.x..."..*..
  47c0: 30 47 01 78 02 78 02 08 08 47 01 78 06 78 06 08  0G.x.x...G.x.x..
  47d0: 08 22 00 00 2a 00 08 30 47 01 bc 03 bc 03 04 04  ."..*..0G.......
  47e0: 47 01 bc 07 bc 07 04 04 22 00 00 2a 00 08 30 47  G......."..*..0G
  47f0: 01 bc 03 bc 03 04 04 47 01 bc 07 bc 07 04 04 22  .......G......."
  4800: 80 00 2a 00 08 38 79 00 a4 50 54 42 31 14 41 0d  ..*..8y..PTB1.A.
  4810: 5f 53 52 53 01 8c 68 0a 02 49 4f 4c 4f 8c 68 0a  _SRS..h..IOLO.h.
  4820: 03 49 4f 48 49 8b 68 0a 11 49 51 52 5f 8c 68 0a  .IOHI.h..IQR_.h.
  4830: 14 44 41 4d 5f 5b 23 4d 54 58 5f ff ff 53 49 4f  .DAM_[#MTX_..SIO
  4840: 44 0a 03 43 53 49 4f 0a 55 70 49 4f 4c 4f 49 4f  D..CSIO.UpIOLOIO
  4850: 41 4c 70 49 4f 48 49 49 4f 41 48 a0 0f 93 49 4f  ALpIOHIIOAH...IO
  4860: 4c 4f 0a bc 70 0a 02 4c 50 54 4f a0 26 93 49 4f  LO..p..LPTO.&.IO
  4870: 4c 4f 0a 78 a0 0e 93 49 4f 48 49 0a 02 70 01 4c  LO.x...IOHI..p.L
  4880: 50 54 4f a0 0e 93 49 4f 48 49 0a 03 70 00 4c 50  PTO...IOHI..p.LP
  4890: 54 4f a0 0d 93 49 51 52 5f 00 70 00 49 4e 54 52  TO...IQR_.p.INTR
  48a0: a1 0e 82 49 51 52 5f 60 74 60 01 49 4e 54 52 a0  ...IQR_`t`.INTR.
  48b0: 0e 93 44 41 4d 5f 00 70 0a 04 44 4d 43 48 a1 0e  ..DAM_.p..DMCH..
  48c0: 82 44 41 4d 5f 60 74 60 01 44 4d 43 48 70 01 41  .DAM_`t`.DMCHp.A
  48d0: 43 54 52 43 53 49 4f 0a aa 5b 27 4d 54 58 5f 5b  CTRCSIO..['MTX_[
  48e0: 82 42 25 43 4f 4d 41 08 5f 48 49 44 0c 41 d0 05  .B%COMA._HID.A..
  48f0: 01 08 5f 55 49 44 01 14 42 06 5f 53 54 41 00 08  .._UID..B._STA..
  4900: 52 45 54 5f 00 5b 23 4d 54 58 5f ff ff 53 49 4f  RET_.[#MTX_..SIO
  4910: 44 0a 04 a0 2d 47 43 53 31 43 53 49 4f 0a 55 a0  D...-GCS1CSIO.U.
  4920: 12 41 43 54 52 43 53 49 4f 0a aa 70 0a 0f 52 45  .ACTRCSIO..p..RE
  4930: 54 5f a1 0e 43 53 49 4f 0a aa 70 0a 0d 52 45 54  T_..CSIO..p..RET
  4940: 5f a1 0d 43 53 49 4f 0a aa 70 00 52 45 54 5f 5b  _..CSIO..p.RET_[
  4950: 27 4d 54 58 5f a4 52 45 54 5f 14 32 5f 44 49 53  'MTX_.RET_.2_DIS
  4960: 00 5b 23 4d 54 58 5f ff ff 53 49 4f 44 0a 04 43  .[#MTX_..SIOD..C
  4970: 53 49 4f 0a 55 70 00 49 4e 54 52 70 00 41 43 54  SIO.Up.INTRp.ACT
  4980: 52 43 53 49 4f 0a aa 5b 27 4d 54 58 5f 14 47 0a  RCSIO..['MTX_.G.
  4990: 5f 43 52 53 00 08 43 4d 41 30 11 10 0a 0d 47 01  _CRS..CMA0....G.
  49a0: f8 03 f8 03 08 08 22 10 00 79 00 8c 43 4d 41 30  ......"..y..CMA0
  49b0: 0a 02 49 4f 4c 30 8c 43 4d 41 30 0a 03 49 4f 48  ..IOL0.CMA0..IOH
  49c0: 30 8c 43 4d 41 30 0a 04 49 4f 4c 31 8c 43 4d 41  0.CMA0..IOL1.CMA
  49d0: 30 0a 05 49 4f 48 31 8b 43 4d 41 30 0a 09 49 51  0..IOH1.CMA0..IQ
  49e0: 52 5f 5b 23 4d 54 58 5f ff ff 53 49 4f 44 0a 04  R_[#MTX_..SIOD..
  49f0: 43 53 49 4f 0a 55 70 49 4f 41 4c 49 4f 4c 30 70  CSIO.UpIOALIOL0p
  4a00: 49 4f 41 4c 49 4f 4c 31 70 49 4f 41 48 49 4f 48  IOALIOL1pIOAHIOH
  4a10: 30 70 49 4f 41 48 49 4f 48 31 79 01 49 4e 54 52  0pIOAHIOH1y.INTR
  4a20: 49 51 52 5f 43 53 49 4f 0a aa 5b 27 4d 54 58 5f  IQR_CSIO..['MTX_
  4a30: a4 43 4d 41 30 14 48 04 5f 50 52 53 00 08 43 4d  .CMA0.H._PRS..CM
  4a40: 41 31 11 36 0a 33 30 47 01 f8 03 f8 03 08 08 22  A1.6.30G......."
  4a50: 10 00 30 47 01 e8 03 e8 03 08 08 22 10 00 30 47  ..0G......."..0G
  4a60: 01 f8 02 f8 02 08 08 22 08 00 30 47 01 e8 02 e8  ......."..0G....
  4a70: 02 08 08 22 08 00 38 79 00 a4 43 4d 41 31 14 44  ..."..8y..CMA1.D
  4a80: 0b 5f 53 52 53 01 8c 68 0a 02 49 4f 4c 4f 8c 68  ._SRS..h..IOLO.h
  4a90: 0a 03 49 4f 48 49 8b 68 0a 09 49 51 52 5f 5b 23  ..IOHI.h..IQR_[#
  4aa0: 4d 54 58 5f ff ff 53 49 4f 44 0a 04 43 53 49 4f  MTX_..SIOD..CSIO
  4ab0: 0a 55 70 49 4f 4c 4f 49 4f 41 4c 70 49 4f 48 49  .UpIOLOIOALpIOHI
  4ac0: 49 4f 41 48 82 49 51 52 5f 60 74 60 01 49 4e 54  IOAH.IQR_`t`.INT
  4ad0: 52 a0 27 93 49 4f 48 49 0a 03 a0 0e 93 49 4f 4c  R.'.IOHI.....IOL
  4ae0: 4f 0a f8 70 00 4e 53 43 41 a0 0f 93 49 4f 4c 4f  O..p.NSCA...IOLO
  4af0: 0a e8 70 0a 07 4e 53 43 41 a0 27 93 49 4f 48 49  ..p..NSCA.'.IOHI
  4b00: 0a 02 a0 0e 93 49 4f 4c 4f 0a f8 70 01 4e 53 43  .....IOLO..p.NSC
  4b10: 41 a0 0f 93 49 4f 4c 4f 0a e8 70 0a 05 4e 53 43  A...IOLO..p..NSC
  4b20: 41 70 01 41 43 54 52 43 53 49 4f 0a aa 5b 27 4d  Ap.ACTRCSIO..['M
  4b30: 54 58 5f 5b 82 46 27 43 4f 4d 42 08 5f 48 49 44  TX_[.F'COMB._HID
  4b40: 0c 41 d0 05 01 08 5f 55 49 44 0a 02 14 42 06 5f  .A...._UID...B._
  4b50: 53 54 41 00 08 52 45 54 5f 00 5b 23 4d 54 58 5f  STA..RET_.[#MTX_
  4b60: ff ff 53 49 4f 44 0a 05 a0 2d 47 43 53 32 43 53  ..SIOD...-GCS2CS
  4b70: 49 4f 0a 55 a0 12 41 43 54 52 43 53 49 4f 0a aa  IO.U..ACTRCSIO..
  4b80: 70 0a 0f 52 45 54 5f a1 0e 43 53 49 4f 0a aa 70  p..RET_..CSIO..p
  4b90: 0a 0d 52 45 54 5f a1 0d 43 53 49 4f 0a aa 70 00  ..RET_..CSIO..p.
  4ba0: 52 45 54 5f 5b 27 4d 54 58 5f a4 52 45 54 5f 14  RET_['MTX_.RET_.
  4bb0: 44 04 5f 44 49 53 00 5b 23 4d 54 58 5f ff ff 53  D._DIS.[#MTX_..S
  4bc0: 49 4f 44 0a 05 43 53 49 4f 0a 55 70 00 49 4e 54  IOD..CSIO.Up.INT
  4bd0: 52 70 4f 50 54 31 60 7d 60 0a 20 60 70 60 4f 50  RpOPT1`}`. `p`OP
  4be0: 54 31 70 00 41 43 54 52 43 53 49 4f 0a aa 5b 27  T1p.ACTRCSIO..['
  4bf0: 4d 54 58 5f 14 47 0a 5f 43 52 53 00 08 43 4d 42  MTX_.G._CRS..CMB
  4c00: 30 11 10 0a 0d 47 01 f8 03 f8 03 08 08 22 10 00  0....G......."..
  4c10: 79 00 8c 43 4d 42 30 0a 02 49 4f 4c 30 8c 43 4d  y..CMB0..IOL0.CM
  4c20: 42 30 0a 03 49 4f 48 30 8c 43 4d 42 30 0a 04 49  B0..IOH0.CMB0..I
  4c30: 4f 4c 31 8c 43 4d 42 30 0a 05 49 4f 48 31 8b 43  OL1.CMB0..IOH1.C
  4c40: 4d 42 30 0a 09 49 51 52 5f 5b 23 4d 54 58 5f ff  MB0..IQR_[#MTX_.
  4c50: ff 53 49 4f 44 0a 05 43 53 49 4f 0a 55 70 49 4f  .SIOD..CSIO.UpIO
  4c60: 41 4c 49 4f 4c 30 70 49 4f 41 4c 49 4f 4c 31 70  ALIOL0pIOALIOL1p
  4c70: 49 4f 41 48 49 4f 48 30 70 49 4f 41 48 49 4f 48  IOAHIOH0pIOAHIOH
  4c80: 31 79 01 49 4e 54 52 49 51 52 5f 43 53 49 4f 0a  1y.INTRIQR_CSIO.
  4c90: aa 5b 27 4d 54 58 5f a4 43 4d 42 30 14 48 04 5f  .['MTX_.CMB0.H._
  4ca0: 50 52 53 00 08 43 4d 42 31 11 36 0a 33 30 47 01  PRS..CMB1.6.30G.
  4cb0: f8 02 f8 02 08 08 22 08 00 30 47 01 e8 02 e8 02  ......"..0G.....
  4cc0: 08 08 22 08 00 30 47 01 f8 03 f8 03 08 08 22 10  .."..0G.......".
  4cd0: 00 30 47 01 e8 03 e8 03 08 08 22 10 00 38 79 00  .0G......."..8y.
  4ce0: a4 43 4d 42 31 14 45 0c 5f 53 52 53 01 8c 68 0a  .CMB1.E._SRS..h.
  4cf0: 02 49 4f 4c 4f 8c 68 0a 03 49 4f 48 49 8b 68 0a  .IOLO.h..IOHI.h.
  4d00: 09 49 51 52 5f 5b 23 4d 54 58 5f ff ff 53 49 4f  .IQR_[#MTX_..SIO
  4d10: 44 0a 05 43 53 49 4f 0a 55 70 49 4f 4c 4f 49 4f  D..CSIO.UpIOLOIO
  4d20: 41 4c 70 49 4f 48 49 49 4f 41 48 82 49 51 52 5f  ALpIOHIIOAH.IQR_
  4d30: 60 74 60 01 49 4e 54 52 a0 27 93 49 4f 48 49 0a  `t`.INTR.'.IOHI.
  4d40: 03 a0 0e 93 49 4f 4c 4f 0a f8 70 00 4e 53 43 42  ....IOLO..p.NSCB
  4d50: a0 0f 93 49 4f 4c 4f 0a e8 70 0a 07 4e 53 43 42  ...IOLO..p..NSCB
  4d60: a0 27 93 49 4f 48 49 0a 02 a0 0e 93 49 4f 4c 4f  .'.IOHI.....IOLO
  4d70: 0a f8 70 01 4e 53 43 42 a0 0f 93 49 4f 4c 4f 0a  ..p.NSCB...IOLO.
  4d80: e8 70 0a 05 4e 53 43 42 70 01 41 43 54 52 70 4f  .p..NSCBp.ACTRpO
  4d90: 50 54 31 60 7b 60 0a df 60 70 60 4f 50 54 31 43  PT1`{`..`p`OPT1C
  4da0: 53 49 4f 0a aa 5b 27 4d 54 58 5f 10 43 5c 2f 03  SIO..['MTX_.C\/.
  4db0: 5f 53 42 5f 50 43 49 30 49 53 41 5f 5b 82 41 5b  _SB_PCI0ISA_[.A[
  4dc0: 54 50 4d 5f 14 1a 5f 48 49 44 00 a0 0b 47 54 50  TPM_.._HID...GTP
  4dd0: 4d a4 0c 41 d0 0c 31 a1 07 a4 0c 4d af 12 00 08  M..A..1....M....
  4de0: 5f 43 49 44 0c 41 d0 0c 31 14 1b 5f 53 54 41 00  _CID.A..1.._STA.
  4df0: a0 07 47 54 50 4d a4 00 a0 08 47 43 54 50 a4 0a  ..GTPM....GCTP..
  4e00: 0f a1 03 a4 00 14 2b 5f 43 52 53 00 a0 20 47 43  ......+_CRS.. GC
  4e10: 54 50 a4 11 19 0a 16 86 09 00 01 00 00 d4 fe 00  TP..............
  4e20: 50 00 00 47 01 b0 0c b0 0c 08 10 79 00 a1 03 a4  P..G.......y....
  4e30: 00 14 42 15 5f 44 53 4d 04 a0 43 0f 93 96 68 00  ..B._DSM..C...h.
  4e40: 11 13 0a 10 a6 fa dd 3d 1b 36 b4 4e a4 24 8d 10  .......=.6.N.$..
  4e50: 08 9d 16 53 08 5f 54 5f 30 00 70 99 6a 00 5f 54  ...S._T_0.p.j._T
  4e60: 5f 30 a0 0c 93 5f 54 5f 30 00 a4 11 03 01 3f a1  _0..._T_0.....?.
  4e70: 4d 0b a0 0d 93 5f 54 5f 30 01 a4 0d 31 2e 30 00  M...._T_0...1.0.
  4e80: a1 4c 0a a0 1b 93 5f 54 5f 30 0a 02 70 99 6b 00  .L...._T_0..p.k.
  4e90: 60 7b 60 0a 0f 60 43 4d 57 52 0a 7e 60 a4 00 a1  `{`..`CMWR.~`...
  4ea0: 4d 08 a0 1b 93 5f 54 5f 30 0a 03 70 43 4d 52 44  M...._T_0..pCMRD
  4eb0: 0a 7e 60 7b 60 0a 0f 60 a4 50 50 52 32 60 a1 4e  .~`{`..`.PPR2`.N
  4ec0: 06 a0 0b 93 5f 54 5f 30 0a 04 a4 0a 02 a1 4f 05  ...._T_0......O.
  4ed0: a0 29 93 5f 54 5f 30 0a 05 70 43 4d 52 44 0a 7e  .)._T_0..pCMRD.~
  4ee0: 60 7a 60 0a 04 60 70 43 4d 52 44 0a 7f 61 7b 61  `z`..`pCMRD..a{a
  4ef0: 0a 7f 61 a4 50 50 52 33 60 61 a1 32 a0 29 93 5f  ..a.PPR3`a.2.)._
  4f00: 54 5f 30 0a 06 08 5f 54 5f 31 0d 00 70 9c 6b ff  T_0..._T_1..p.k.
  4f10: 00 5f 54 5f 31 a0 0c 93 5f 54 5f 31 0d 65 6e 00  ._T_1..._T_1.en.
  4f20: a4 00 a1 03 a4 01 a1 06 a4 11 03 01 00 a0 41 05  ..............A.
  4f30: 93 96 68 00 11 13 0a 10 ed 54 60 37 13 cc 75 46  ..h......T`7..uF
  4f40: 90 1c 47 56 d7 f2 d4 5d 08 5f 54 5f 32 00 70 99  ..GV...]._T_2.p.
  4f50: 6a 00 5f 54 5f 32 a0 0c 93 5f 54 5f 32 00 a4 11  j._T_2..._T_2...
  4f60: 03 01 01 a1 1b a0 19 93 5f 54 5f 32 01 70 53 4d  ........_T_2.pSM
  4f70: 49 5f 0a bc 7b 99 6b 00 01 00 61 a4 99 61 00 a4  I_..{.k...a..a..
  4f80: 11 03 01 00 14 4e 12 50 50 52 32 01 08 5f 54 5f  .....N.PPR2.._T_
  4f90: 30 00 70 99 68 00 5f 54 5f 30 a0 0d 93 5f 54 5f  0.p.h._T_0..._T_
  4fa0: 30 00 a4 12 04 02 00 00 a1 44 10 a0 0d 93 5f 54  0........D...._T
  4fb0: 5f 30 01 a4 12 04 02 00 01 a1 43 0f a0 0f 93 5f  _0........C...._
  4fc0: 54 5f 30 0a 02 a4 12 05 02 00 0a 02 a1 40 0e a0  T_0..........@..
  4fd0: 0f 93 5f 54 5f 30 0a 03 a4 12 05 02 00 0a 03 a1  .._T_0..........
  4fe0: 4d 0c a0 0f 93 5f 54 5f 30 0a 04 a4 12 05 02 00  M...._T_0.......
  4ff0: 0a 04 a1 4a 0b a0 0f 93 5f 54 5f 30 0a 05 a4 12  ...J...._T_0....
  5000: 05 02 00 0a 05 a1 47 0a a0 0f 93 5f 54 5f 30 0a  ......G...._T_0.
  5010: 06 a4 12 05 02 00 0a 06 a1 44 09 a0 0f 93 5f 54  .........D...._T
  5020: 5f 30 0a 07 a4 12 05 02 00 0a 07 a1 41 08 a0 0f  _0..........A...
  5030: 93 5f 54 5f 30 0a 08 a4 12 05 02 00 0a 08 a1 4e  ._T_0..........N
  5040: 06 a0 0f 93 5f 54 5f 30 0a 09 a4 12 05 02 00 0a  ...._T_0........
  5050: 09 a1 4b 05 a0 0f 93 5f 54 5f 30 0a 0a a4 12 05  ..K...._T_0.....
  5060: 02 00 0a 0a a1 48 04 a0 0f 93 5f 54 5f 30 0a 0b  .....H...._T_0..
  5070: a4 12 05 02 00 0a 0b a1 35 a0 0f 93 5f 54 5f 30  ........5..._T_0
  5080: 0a 0c a4 12 05 02 00 0a 0c a1 23 a0 0f 93 5f 54  ..........#..._T
  5090: 5f 30 0a 0d a4 12 05 02 00 0a 0d a1 11 a0 0f 93  _0..............
  50a0: 5f 54 5f 30 0a 0e a4 12 05 02 00 0a 0e a4 12 04  _T_0............
  50b0: 02 01 00 14 4b 2b 50 50 52 33 02 a0 4c 13 93 69  ....K+PPR3..L..i
  50c0: 00 08 5f 54 5f 30 00 70 99 68 00 5f 54 5f 30 a0  .._T_0.p.h._T_0.
  50d0: 0e 93 5f 54 5f 30 00 a4 12 05 03 00 00 00 a1 42  .._T_0.........B
  50e0: 11 a0 0e 93 5f 54 5f 30 01 a4 12 05 03 00 01 00  ...._T_0........
  50f0: a1 40 10 a0 10 93 5f 54 5f 30 0a 02 a4 12 06 03  .@...._T_0......
  5100: 00 0a 02 00 a1 4c 0e a0 10 93 5f 54 5f 30 0a 03  .....L...._T_0..
  5110: a4 12 06 03 00 0a 03 00 a1 48 0d a0 10 93 5f 54  .........H...._T
  5120: 5f 30 0a 04 a4 12 06 03 00 0a 04 00 a1 44 0c a0  _0...........D..
  5130: 10 93 5f 54 5f 30 0a 05 a4 12 06 03 00 0a 05 00  .._T_0..........
  5140: a1 40 0b a0 10 93 5f 54 5f 30 0a 06 a4 12 06 03  .@...._T_0......
  5150: 00 0a 06 00 a1 4c 09 a0 10 93 5f 54 5f 30 0a 07  .....L...._T_0..
  5160: a4 12 06 03 00 0a 07 00 a1 48 08 a0 10 93 5f 54  .........H...._T
  5170: 5f 30 0a 08 a4 12 06 03 00 0a 08 00 a1 44 07 a0  _0...........D..
  5180: 10 93 5f 54 5f 30 0a 09 a4 12 06 03 00 0a 09 00  .._T_0..........
  5190: a1 40 06 a0 10 93 5f 54 5f 30 0a 0a a4 12 06 03  .@...._T_0......
  51a0: 00 0a 0a 00 a1 4c 04 a0 10 93 5f 54 5f 30 0a 0b  .....L...._T_0..
  51b0: a4 12 06 03 00 0a 0b 00 a1 38 a0 10 93 5f 54 5f  .........8..._T_
  51c0: 30 0a 0c a4 12 06 03 00 0a 0c 00 a1 25 a0 10 93  0...........%...
  51d0: 5f 54 5f 30 0a 0d a4 12 06 03 00 0a 0d 00 a1 12  _T_0............
  51e0: a0 10 93 5f 54 5f 30 0a 0e a4 12 06 03 00 0a 0e  ..._T_0.........
  51f0: 00 a4 12 05 03 01 00 00 a1 46 17 08 5f 54 5f 31  .........F.._T_1
  5200: 00 70 99 68 00 5f 54 5f 31 a0 12 93 5f 54 5f 31  .p.h._T_1..._T_1
  5210: 00 a4 12 09 03 00 00 0c f0 ff ff ff a1 4b 14 a0  .............K..
  5220: 12 93 5f 54 5f 31 01 a4 12 09 03 00 01 0c f0 ff  .._T_1..........
  5230: ff ff a1 45 13 a0 14 93 5f 54 5f 31 0a 02 a4 12  ...E...._T_1....
  5240: 0a 03 00 0a 02 0c f0 ff ff ff a1 4d 11 a0 14 93  ...........M....
  5250: 5f 54 5f 31 0a 03 a4 12 0a 03 00 0a 03 0c f0 ff  _T_1............
  5260: ff ff a1 45 10 a0 14 93 5f 54 5f 31 0a 04 a4 12  ...E...._T_1....
  5270: 0a 03 00 0a 04 0c f0 ff ff ff a1 4d 0e a0 14 93  ...........M....
  5280: 5f 54 5f 31 0a 05 a4 12 0a 03 00 0a 05 0c f0 ff  _T_1............
  5290: ff ff a1 45 0d a0 14 93 5f 54 5f 31 0a 06 a4 12  ...E...._T_1....
  52a0: 0a 03 00 0a 06 0c f0 ff ff ff a1 4d 0b a0 14 93  ...........M....
  52b0: 5f 54 5f 31 0a 07 a4 12 0a 03 00 0a 07 0c f0 ff  _T_1............
  52c0: ff ff a1 45 0a a0 14 93 5f 54 5f 31 0a 08 a4 12  ...E...._T_1....
  52d0: 0a 03 00 0a 08 0c f0 ff ff ff a1 4d 08 a0 14 93  ...........M....
  52e0: 5f 54 5f 31 0a 09 a4 12 0a 03 00 0a 09 0c f0 ff  _T_1............
  52f0: ff ff a1 45 07 a0 14 93 5f 54 5f 31 0a 0a a4 12  ...E...._T_1....
  5300: 0a 03 00 0a 0a 0c f0 ff ff ff a1 4d 05 a0 14 93  ...........M....
  5310: 5f 54 5f 31 0a 0b a4 12 0a 03 00 0a 0b 0c f0 ff  _T_1............
  5320: ff ff a1 45 04 a0 14 93 5f 54 5f 31 0a 0c a4 12  ...E...._T_1....
  5330: 0a 03 00 0a 0c 0c f0 ff ff ff a1 2d a0 14 93 5f  ...........-..._
  5340: 54 5f 31 0a 0d a4 12 0a 03 00 0a 0d 0c f0 ff ff  T_1.............
  5350: ff a1 16 a0 14 93 5f 54 5f 31 0a 0e a4 12 0a 03  ......_T_1......
  5360: 00 0a 0e 0c f0 ff ff ff a4 12 05 03 01 00 00     ...............

FACS @ 0xbfdffc00

  0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00  FACS@...........
  0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

FACP @ 0xfc91f

  0000: 46 41 43 50 f4 00 00 00 03 0b 44 45 4c 4c 20 20  FACP......DELL  
  0010: 42 31 30 4b 20 20 20 00 15 00 00 00 41 53 4c 20  B10K   .....ASL 
  0020: 61 00 00 00 00 fc df bf 4b be f1 ff 01 05 09 00  a.......K.......
  0030: b2 00 00 00 70 71 00 00 00 08 00 00 00 00 00 00  ....pq..........
  0040: 04 08 00 00 00 00 00 00 50 08 00 00 08 08 00 00  ........P.......
  0050: 20 08 00 00 00 00 00 00 04 02 01 04 10 00 00 00   ...............
  0060: 01 00 39 00 00 00 00 00 00 00 00 00 00 13 00 00  ..9.............
  0070: a5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  0080: 00 00 00 00 00 fc df bf 00 00 00 00 4b be f1 ff  ............K...
  0090: 00 00 00 00 01 20 00 01 00 08 00 00 00 00 00 00  ..... ..........
  00a0: 00 00 00 00 00 00 00 00 00 00 00 00 01 10 00 01  ................
  00b0: 04 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  00c0: 00 00 00 00 01 08 00 01 50 08 00 00 00 00 00 00  ........P.......
  00d0: 01 20 00 01 08 08 00 00 00 00 00 00 01 40 00 01  . ...........@..

00e0: 20 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...............
00f0: 00 00 00 00 ....

SSDT @ 0xfff212d9

  0000: 53 53 44 54 aa 00 00 00 01 19 44 45 4c 4c 00 00  SSDT......DELL..
  0010: 73 74 5f 65 78 00 00 00 00 10 00 00 49 4e 54 4c  st_ex.......INTL
  0020: 24 06 05 20 14 07 55 53 45 53 00 a3 10 4b 04 5c  $.. ..USES...K.\
  0030: 00 08 5c 5f 53 30 5f 12 06 04 00 00 00 00 08 5c  ..\_S0_........\
  0040: 5f 53 31 5f 12 08 04 0a 04 0a 04 00 00 08 5c 5f  _S1_..........\_
  0050: 53 33 5f 12 08 04 0a 03 0a 03 00 00 08 5c 5f 53  S3_..........\_S
  0060: 34 5f 12 06 04 00 00 00 00 08 5c 5f 53 35 5f 12  4_........\_S5_.
  0070: 08 04 0a 02 0a 02 00 00 10 31 5c 2f 04 5f 53 42  .........1\/._SB
  0080: 5f 50 43 49 30 49 53 41 5f 4d 4f 55 5f 14 1c 5f  _PCI0ISA_MOU_.._
  0090: 50 52 57 00 a0 0c 48 41 43 4b a4 12 05 02 00 0a  PRW...HACK......
  00a0: 03 a1 08 a4 12 05 02 00 0a 05                    ..........

APIC @ 0xfca13

  0000: 41 50 49 43 92 00 00 00 01 b5 44 45 4c 4c 20 20  APIC......DELL  
  0010: 42 31 30 4b 20 20 20 00 15 00 00 00 41 53 4c 20  B10K   .....ASL 
  0020: 61 00 00 00 00 00 e0 fe 01 00 00 00 00 08 01 00  a...............
  0030: 01 00 00 00 00 08 02 01 01 00 00 00 00 08 03 02  ................
  0040: 01 00 00 00 00 08 04 03 01 00 00 00 00 08 05 00  ................
  0050: 00 00 00 00 00 08 06 01 00 00 00 00 00 08 07 02  ................
  0060: 00 00 00 00 00 08 08 03 00 00 00 00 01 0c 08 00  ................
  0070: 00 00 c0 fe 00 00 00 00 02 0a 00 00 02 00 00 00  ................
  0080: 00 00 02 0a 00 09 09 00 00 00 0d 00 04 06 ff 0d  ................
  0090: 00 01                                            ..

BOOT @ 0xfcaa5

  0000: 42 4f 4f 54 28 00 00 00 01 04 44 45 4c 4c 20 20  BOOT(.....DELL  
  0010: 42 31 30 4b 20 20 20 00 15 00 00 00 41 53 4c 20  B10K   .....ASL 
  0020: 61 00 00 00 7a 00 00 00                          a...z...

ASF! @ 0xfcacd

  0000: 41 53 46 21 96 00 00 00 20 73 44 45 4c 4c 20 20  ASF!.... sDELL  
  0010: 42 31 30 4b 20 20 20 00 15 00 00 00 41 53 4c 20  B10K   .....ASL 
  0020: 61 00 00 00 04 00 07 00 00 01 88 01 00 2c 00 00  a............,..
  0030: 00 03 0c 89 04 01 01 05 6f 00 68 08 88 17 00 89  ........o.h.....
  0040: 04 04 04 07 6f 00 68 20 88 03 00 89 05 01 01 19  ....o.h ........
  0050: 6f 00 68 20 88 22 00 02 00 18 00 04 04 00 00 02  o.h ."..........
  0060: 88 00 01 01 88 00 02 00 88 00 03 03 88 00 04 03  ................
  0070: 00 17 00 22 18 00 00 00 03 0f 01 00 00 00 00 00  ..."............
  0080: 00 00 00 00 00 00 80 00 10 00 ff 00 7f 02 00 00  ................
  0090: 02 a2 00 00 00 00                                ......

MCFG @ 0xfcb63

  0000: 4d 43 46 47 3e 00 00 00 01 a0 44 45 4c 4c 20 20  MCFG>.....DELL  
  0010: 42 31 30 4b 20 20 20 00 15 00 00 00 41 53 4c 20  B10K   .....ASL 
  0020: 61 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0  a...............
  0030: 00 00 00 00 00 00 00 ff 00 00 00 00 00 00        ..............

HPET @ 0xfcba1

  0000: 48 50 45 54 38 00 00 00 01 0a 44 45 4c 4c 20 20  HPET8.....DELL  
  0010: 42 31 30 4b 20 20 20 00 15 00 00 00 41 53 4c 20  B10K   .....ASL 
  0020: 61 00 00 00 01 a7 86 80 00 00 00 00 00 00 d0 fe  a...............
  0030: 00 00 00 00 00 e8 03 00                          ........

Wrong checksum for TCPA
TCPA @ 0xfcdfd

  0000: 54 43 50 41 32 00 00 00 01 00 44 45 4c 4c 20 20  TCPA2.....DELL  
  0010: 42 31 30 4b 20 20 20 00 15 00 00 00 41 53 4c 20  B10K   .....ASL 
  0020: 61 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00  a...............
  0030: 00 00                                            ..

____ @ 0xfce2f

  0000: 5f 5f 5f 5f 30 00 00 00 01 0b 44 45 4c 4c 20 20  ____0.....DELL  
  0010: 42 31 30 4b 20 20 20 00 15 00 00 00 41 53 4c 20  B10K   .....ASL 
  0020: 61 00 00 00 23 00 00 00 00 00 00 00 00 00 00 00  a...#...........

XSDT @ 0xfc7ef

  0000: 58 53 44 54 6c 00 00 00 01 ab 44 45 4c 4c 20 20  XSDTl.....DELL  
  0010: 42 31 30 4b 20 20 20 00 15 00 00 00 41 53 4c 20  B10K   .....ASL 
  0020: 61 00 00 00 1f c9 0f 00 00 00 00 00 d9 12 f2 ff  a...............
  0030: 00 00 00 00 13 ca 0f 00 00 00 00 00 a5 ca 0f 00  ................
  0040: 00 00 00 00 cd ca 0f 00 00 00 00 00 63 cb 0f 00  ............c...
  0050: 00 00 00 00 a1 cb 0f 00 00 00 00 00 fd cd 0f 00  ................
  0060: 00 00 00 00 2f ce 0f 00 00 00 00 00              ..../.......

FACP @ 0xfc8ab

  0000: 46 41 43 50 74 00 00 00 01 7e 44 45 4c 4c 20 20  FACPt....~DELL  
  0010: 42 31 30 4b 20 20 20 00 15 00 00 00 41 53 4c 20  B10K   .....ASL 
  0020: 61 00 00 00 00 fc df bf 4b be f1 ff 01 00 09 00  a.......K.......
  0030: b2 00 00 00 70 71 00 00 00 08 00 00 00 00 00 00  ....pq..........
  0040: 04 08 00 00 00 00 00 00 50 08 00 00 08 08 00 00  ........P.......

0050: 20 08 00 00 00 00 00 00 04 02 01 04 10 00 00 00 ...............
0060: 01 00 39 00 00 00 00 00 00 00 00 00 00 00 00 00 ..9.............
0070: a5 00 00 00 ....

Wrong checksum for TCPA!
RSDT @ 0xfc77f

  0000: 52 53 44 54 48 00 00 00 01 4a 44 45 4c 4c 20 20  RSDTH....JDELL  
  0010: 42 31 30 4b 20 20 20 00 15 00 00 00 41 53 4c 20  B10K   .....ASL 
  0020: 61 00 00 00 ab c8 0f 00 d9 12 f2 ff a5 ca 0f 00  a...............
  0030: cd ca 0f 00 63 cb 0f 00 a1 cb 0f 00 2f ce 0f 00  ....c......./...
  0040: fd cd 0f 00 13 ca 0f 00                          ........

RSD PTR @ 0xfec00

  0000: 52 53 44 20 50 54 52 20 29 44 45 4c 4c 20 20 02  RSD PTR )DELL  .
  0010: 7f c7 0f 00 24 00 00 00 ef c7 0f 00 00 00 00 00  ....$...........
  0020: 17 00 00 00                                      ....
author
#20 lore raw
In reply to Alex Chiang
Quoted 95 lines · Alex Chiang

Hi Danny,

* Danny Feng<[email protected]>:

Quoted 22 lines
Call Trace:
  [<ffffffff81254193>] acpi_get_pci_dev+0x106/0x167
  [<ffffffff8125545a>] acpi_pci_bind+0x1c/0x86
  [<ffffffff8116230a>] ? sysfs_create_file+0x2a/0x2c
  [<ffffffff8125141f>] acpi_add_single_object+0x964/0xa0c
  [<ffffffff812515a7>] acpi_bus_check_add+0xe0/0x138
  [<ffffffff81251667>] acpi_bus_scan+0x68/0xa0
  [<ffffffff812516f4>] acpi_bus_add+0x2a/0x2e
  [<ffffffff81252c59>] hotplug_dock_devices+0x114/0x13e
  [<ffffffff8125301a>] acpi_dock_deferred_cb+0xbf/0x192
  [<ffffffff8124d6ca>] acpi_os_execute_deferred+0x29/0x36
  [<ffffffff8106a244>] worker_thread+0x251/0x347
  [<ffffffff8106a1ef>] ? worker_thread+0x1fc/0x347
  [<ffffffff8124d6a1>] ? acpi_os_execute_deferred+0x0/0x36
  [<ffffffff8106e426>] ? autoremove_wake_function+0x0/0x39
  [<ffffffff81069ff3>] ? worker_thread+0x0/0x347
  [<ffffffff8106e0e0>] kthread+0x7f/0x87
  [<ffffffff81012cea>] child_rip+0xa/0x20
  [<ffffffff81012650>] ? restore_args+0x0/0x30
  [<ffffffff8106e061>] ? kthread+0x0/0x87
  [<ffffffff81012ce0>] ? child_rip+0x0/0x20
Code: ff 49 89 fc 41 89 f5 a9 00 ff ff 07 74 11 be 87 00 00 00 48 c7 c7
Quoted 7 lines

45 6d 5a 81 e8 f6 2b e3 ff 48 c7 c7 30 ab 68 81 e8 29 77 20 00<49> 8b 5c 24 28 49 83 c4 28 eb 09 44 39 6b 38 74 10 48 89 c3 48 RIP [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
RSP<ffff88022ee69aa0>
CR2: 0000000000000028

---[ end trace b5a7793bd9db2a4d ]---

Can you please reproduce with this debug patch? I'm guessing that we're dying because we have a NULL parent device, but I'm curious as to what causes this situation to occur.

Thanks.
/ac
---

drivers/acpi/dock.c +10 -2
index 7338b6a..4c1b128 100644
@@ -126,6 +126,7 @@ add_dock_dependent_device(struct dock_station *ds,
  {
  	spin_lock(&ds->dd_lock);
  	list_add_tail(&dd->list,&ds->dependent_devices);
+	printk("%s adding handle %p\n", __func__, dd->handle);
  	spin_unlock(&ds->dd_lock);
  }
 
@@ -142,6 +143,8 @@ dock_add_hotplug_device(struct dock_station *ds,
  {
  	mutex_lock(&ds->hp_lock);
  	list_add_tail(&dd->hotplug_list,&ds->hotplug_devices);
+	dump_stack();
+	printk("%s adding handle %p\n", __func__, dd->handle);
  	mutex_unlock(&ds->hp_lock);
  }
 
@@ -325,14 +328,17 @@ static struct acpi_device * dock_create_acpi_device(acpi_handle handle)
  	acpi_handle parent;
  	int ret;
 
+	printk("%s handle %p\n", __func__, handle);
  	if (acpi_bus_get_device(handle,&device)) {
  		/*
  		 * no device created for this object,
  		 * so we should create one.
  		 */
  		acpi_get_parent(handle,&parent);
-		if (acpi_bus_get_device(parent,&parent_device))
+		if (acpi_bus_get_device(parent,&parent_device)) {
  			parent_device = NULL;
+			printk("%s no parent, setting NULL\n", __func__);
+		}
 
  		ret = acpi_bus_add(&device, parent_device, handle,
  			ACPI_BUS_TYPE_DEVICE);
@@ -385,8 +391,10 @@ static void hotplug_dock_devices(struct dock_station *ds, u32 event)
  	 * First call driver specific hotplug functions
  	 */
  	list_for_each_entry(dd,&ds->hotplug_devices, hotplug_list) {
-		if (dd->ops&&  dd->ops->handler)
+		if (dd->ops&&  dd->ops->handler) {
+			printk("%s handle %p\n", __func__, dd->handle);
  			dd->ops->handler(dd->handle, event, dd->context);
+		}
  	}
 
  	/*

drivers/acpi/dock.c static int dock_add(acpi_handle handle) · line 1055

Quoted 7 lines
drivers/acpi/dock.c +1 -0
@@ -1041,6 +1049,7 @@ static int dock_add(acpi_handle handle)
  		ret = -ENOMEM;
  		goto dock_add_err_unregister;
  	}
+	printk("%s adding self as dependent %p)\n", __func__, dd->handle);
  	add_dock_dependent_device(dock_station, dd);
 
  	dock_station_count++;

Sorry for the late response, just back from holidays. Will do it soon, thanks.

author
#21 lore raw
In reply to Alex Chiang
Quoted 32 lines · Alex Chiang

Hi Danny,

* Danny Feng<[email protected]>:

Quoted 22 lines
Call Trace:
  [<ffffffff81254193>] acpi_get_pci_dev+0x106/0x167
  [<ffffffff8125545a>] acpi_pci_bind+0x1c/0x86
  [<ffffffff8116230a>] ? sysfs_create_file+0x2a/0x2c
  [<ffffffff8125141f>] acpi_add_single_object+0x964/0xa0c
  [<ffffffff812515a7>] acpi_bus_check_add+0xe0/0x138
  [<ffffffff81251667>] acpi_bus_scan+0x68/0xa0
  [<ffffffff812516f4>] acpi_bus_add+0x2a/0x2e
  [<ffffffff81252c59>] hotplug_dock_devices+0x114/0x13e
  [<ffffffff8125301a>] acpi_dock_deferred_cb+0xbf/0x192
  [<ffffffff8124d6ca>] acpi_os_execute_deferred+0x29/0x36
  [<ffffffff8106a244>] worker_thread+0x251/0x347
  [<ffffffff8106a1ef>] ? worker_thread+0x1fc/0x347
  [<ffffffff8124d6a1>] ? acpi_os_execute_deferred+0x0/0x36
  [<ffffffff8106e426>] ? autoremove_wake_function+0x0/0x39
  [<ffffffff81069ff3>] ? worker_thread+0x0/0x347
  [<ffffffff8106e0e0>] kthread+0x7f/0x87
  [<ffffffff81012cea>] child_rip+0xa/0x20
  [<ffffffff81012650>] ? restore_args+0x0/0x30
  [<ffffffff8106e061>] ? kthread+0x0/0x87
  [<ffffffff81012ce0>] ? child_rip+0x0/0x20
Code: ff 49 89 fc 41 89 f5 a9 00 ff ff 07 74 11 be 87 00 00 00 48 c7 c7
Quoted 6 lines

45 6d 5a 81 e8 f6 2b e3 ff 48 c7 c7 30 ab 68 81 e8 29 77 20 00<49> 8b 5c 24 28 49 83 c4 28 eb 09 44 39 6b 38 74 10 48 89 c3 48 RIP [<ffffffff812217e7>] pci_get_slot+0x4c/0x8c
RSP<ffff88022ee69aa0>
CR2: 0000000000000028

---[ end trace b5a7793bd9db2a4d ]---
Quoted 3 lines

Can you please reproduce with this debug patch? I'm guessing that we're dying because we have a NULL parent device, but I'm curious as to what causes this situation to occur.

I got following call trace at the first boot stage.

Pid: 1, comm: swapper Not tainted 2.6.32-rc2 #16

Call Trace:
 [<ffffffff81253538>] register_hotplug_dock_device+0x92/0xf7
 [<ffffffff812f1622>] ata_acpi_associate+0x144/0x196
 [<ffffffff812dfb29>] ata_host_register+0xc5/0x1fb
 [<ffffffff812ee9b1>] ? ata_sff_interrupt+0x0/0x96
 [<ffffffff812eca12>] ata_pci_sff_activate_host+0x19b/0x1d1
 [<ffffffff8137216e>] ? pcibios_set_master+0x9b/0xa9
 [<ffffffff8141d878>] piix_init_one+0x760/0x780
 [<ffffffff81220325>] local_pci_probe+0x17/0x1b
 [<ffffffff812210fd>] pci_device_probe+0xca/0xfa
 [<ffffffff812b93aa>] ? driver_sysfs_add+0x4c/0x71
 [<ffffffff812b94f2>] driver_probe_device+0xa2/0x127
 [<ffffffff812b95d4>] __driver_attach+0x5d/0x81
 [<ffffffff812b9577>] ? __driver_attach+0x0/0x81
 [<ffffffff812b8ae9>] bus_for_each_dev+0x59/0x8e
 [<ffffffff812b935c>] driver_attach+0x1e/0x20
 [<ffffffff812b8fa7>] bus_add_driver+0xb9/0x202
 [<ffffffff812b98c7>] driver_register+0x9d/0x10e
 [<ffffffff81221343>] __pci_register_driver+0x68/0xd8
 [<ffffffff81728e98>] ? piix_init+0x0/0x29
 [<ffffffff81728eb1>] piix_init+0x19/0x29
 [<ffffffff8100a069>] do_one_initcall+0x5e/0x15e
 [<ffffffff816f86c7>] kernel_init+0x170/0x1ca
 [<ffffffff81012cea>] child_rip+0xa/0x20
 [<ffffffff81012650>] ? restore_args+0x0/0x30
 [<ffffffff816f8557>] ? kernel_init+0x0/0x1ca
 [<ffffffff81012ce0>] ? child_rip+0x0/0x20

dock_add_hotplug_device adding handle ffff88022f712000

Thanks,
Danny

Quoted 65 lines

Thanks.
/ac
---

drivers/acpi/dock.c +11 -2
index 7338b6a..4c1b128 100644
@@ -126,6 +126,7 @@ add_dock_dependent_device(struct dock_station *ds,
  {
  	spin_lock(&ds->dd_lock);
  	list_add_tail(&dd->list,&ds->dependent_devices);
+	printk("%s adding handle %p\n", __func__, dd->handle);
  	spin_unlock(&ds->dd_lock);
  }
 
@@ -142,6 +143,8 @@ dock_add_hotplug_device(struct dock_station *ds,
  {
  	mutex_lock(&ds->hp_lock);
  	list_add_tail(&dd->hotplug_list,&ds->hotplug_devices);
+	dump_stack();
+	printk("%s adding handle %p\n", __func__, dd->handle);
  	mutex_unlock(&ds->hp_lock);
  }
 
@@ -325,14 +328,17 @@ static struct acpi_device * dock_create_acpi_device(acpi_handle handle)
  	acpi_handle parent;
  	int ret;
 
+	printk("%s handle %p\n", __func__, handle);
  	if (acpi_bus_get_device(handle,&device)) {
  		/*
  		 * no device created for this object,
  		 * so we should create one.
  		 */
  		acpi_get_parent(handle,&parent);
-		if (acpi_bus_get_device(parent,&parent_device))
+		if (acpi_bus_get_device(parent,&parent_device)) {
  			parent_device = NULL;
+			printk("%s no parent, setting NULL\n", __func__);
+		}
 
  		ret = acpi_bus_add(&device, parent_device, handle,
  			ACPI_BUS_TYPE_DEVICE);
@@ -385,8 +391,10 @@ static void hotplug_dock_devices(struct dock_station *ds, u32 event)
  	 * First call driver specific hotplug functions
  	 */
  	list_for_each_entry(dd,&ds->hotplug_devices, hotplug_list) {
-		if (dd->ops&&  dd->ops->handler)
+		if (dd->ops&&  dd->ops->handler) {
+			printk("%s handle %p\n", __func__, dd->handle);
  			dd->ops->handler(dd->handle, event, dd->context);
+		}
  	}
 
  	/*
@@ -1041,6 +1049,7 @@ static int dock_add(acpi_handle handle)
  		ret = -ENOMEM;
  		goto dock_add_err_unregister;
  	}
+	printk("%s adding self as dependent %p)\n", __func__, dd->handle);
  	add_dock_dependent_device(dock_station, dd);
 
  	dock_station_count++;