kern/124412: [acpi] power off error on Toshiba M40 laptop

Wayne Chapeskie waynec at spinnaker.com
Mon Jun 9 09:50:05 UTC 2008


>Number:         124412
>Category:       kern
>Synopsis:       [acpi] power off error on Toshiba M40 laptop
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jun 09 09:50:04 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Wayne Chapeskie <waynec at spinnaker.com>
>Release:        FreeBSD 7.0-RELEASE i386
>Organization:
Spinnaker System
>Environment:
System: FreeBSD obi-wan.spinnaker.com 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Sun Apr 20 19:08:22 PDT 2008 waynec at obi-wan.spinnaker.com:/usr/src/sys/i386/compile/LOCAL i386


	Also seen on FreeBSD 8-CURRENT 200805 snapshot.
	The kernel is configured with /usr/src/sys/i386/conf/GENERIC,
	modified to enable atapicam.
	Behaviour is specific to Toshiba M40-SF3 laptop.  The machine
	is about August 2005 vintage, running the latest BIOS from
	Toshiba; it is a single core Centrino, 1.86 MHz, 1 GB memory.
	There are a couple of other hardware issues under FreeBSD with
	some peripherals:
	    - the Texas Instruments PCIxx21/x515 Cardbus Controller is
	      detected, but does not initialize properly
	    - the Texas Instruments PCIxx21 Integrated FlashMedia
	      Controller for the 6-in-1 flash card reader is not
	      recognized
	    - the "SDA Standard Compliant SD Host Controller" for the
	      SD flash reader is not recognized
	Otherwise, everything works.
>Description:
	Powering the system off with ACPI does not work; power does
	not shut off; it is necessary to remove the battery to shut
	the machine off.

	Background:  ACPI support for this machine has been improving
	with recent releases.  The ACPI BIOS was blacklisted before
	6.2; 6.2 tried to enable ACPI by default, but the hard disk
	was not recognized.  After the major ACPI code update in early
	2007, ACPI seemed to mostly work in 7-CURRENT snapshots.  In
	7.0, ACPI seems to be mostly working, with the exception of
	this power problem.
>How-To-Repeat:
	With ACPI enabled, perform any action which will normally
	result in the system powering off, such as "shutdown -p", or
	pressing the power button.  The system will go through a
	normal shutdown procedure, until the last step of the
	power-down sequence.  Verbose logging shows an acpi error
	message near the point where power would normally be turned
	off:

	    Uptime: 7m28s
	    acpi_lid0: wake_prep disabled wake for \_SB_.LID0 (S5)
	    pcib2: wake_prep disabled wake for \_SB_.PCI0.RP01 (S5)
	    pcib3: wake_prep disabled wake for \_SB_.PCI0.RP02 (S5)
	    unknown: wake_prep disabled wake for \_SB_.PCI0.RP03 (S5)
	    unknown: wake_prep disabled wake for \_SB_.PCI0.RP04 (S5)
	    uhci0: wake_prep disabled wake for \_SB_.PCI0.USB1 (S5)
	    uhci1: wake_prep disabled wake for \_SB_.PCI0.USB2 (S5)
	    uhci2: wake_prep disabled wake for \_SB_.PCI0.USB3 (S5)
	    uhci3: wake_prep disabled wake for \_SB_.PCI0.USB4 (S5)
	    ehci0: wake_prep disabled wake for \_SB_.PCI0.USB7 (S5)
	    unknown: wake_prep disabled wake for \_SB_.PCI0.MODM (S5)
	    atkbdc0: wake_prep disabled wake for \_SB_.PCI0.LPCB.PS2K (S5)
	    acpi: bad write to port 0x080 (32), val 0x55
	    Powering system off using ACPI

	At this point FreeBSD is no longer running, but power is still
	on.  The power button and keyboard do not respond, and AC
	power must be unplugged and the battery removed to shut the
	machine off.

	shutdown -r works properly.
	shutdown -h halts the OS normally; pressing a key to reboot
	works; however, the power button does not function, anbd it is
	necessary to remove the battery to shut the machine off.
>Fix:

	Workarounds: Either
	    - disable ACPI, or
	    - use shutdown -r to shutdown and start a reboot; power
	      down when bootany asks for a partition to boot from.

	Attachments:
	    dmesg-v	- verbose dmesg boot messages
	    toshiba-m40.dsdt
	    toshiba-m40.asl
		- DSDT and ASL produced under 7.0 by:
		  acpidump -t -d -o toshiba-m40.dsdt >toshiba-m40.asl
	DSDT tables, ASL output, and verbose dmesg boot messages are
	attached.

--- dmesg-v begins here ---
Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.0-RELEASE #0: Sun Apr 20 19:08:22 PDT 2008
    waynec at obi-wan.spinnaker.com:/usr/src/sys/i386/compile/LOCAL
Preloaded elf kernel "/boot/kernel/kernel" at 0xc0e78000.
Preloaded elf module "/boot/kernel/if_iwi.ko" at 0xc0e78160.
Preloaded elf module "/boot/kernel/sound.ko" at 0xc0e7820c.
Preloaded elf module "/boot/kernel/snd_ich.ko" at 0xc0e782b8.
Preloaded elf module "/boot/kernel/snd_uaudio.ko" at 0xc0e78364.
Preloaded elf module "/boot/kernel/iwi_bss.ko" at 0xc0e78414.
Preloaded elf module "/boot/kernel/iwi_ibss.ko" at 0xc0e784c0.
Preloaded elf module "/boot/kernel/iwi_monitor.ko" at 0xc0e78570.
Preloaded elf module "/boot/kernel/acpi_toshiba.ko" at 0xc0e78620.
Preloaded elf module "/boot/kernel/acpi.ko" at 0xc0e786d4.
Calibrating clock(s) ... i8254 clock: 1193170 Hz
CLK_USE_I8254_CALIBRATION not specified - using default frequency
Timecounter "i8254" frequency 1193182 Hz quality 0
Calibrating TSC clock ... TSC clock: 1862011628 Hz
CPU: Intel(R) Pentium(R) M processor 1.86GHz (1862.01-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x6d8  Stepping = 8
  Features=0xafe9f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,TM,PBE>
  Features2=0x180<EST,TM2>

Instruction TLB: 4 KB Pages, 4-way set associative, 128 entries
Data TLB: 4 KB Pages, 4-way set associative, 128 entries
Instruction TLB: 4 MB pages, fully associative, 2 entries
2nd-level cache: 2-MB, 8-way set associative, 64-byte line size
1st-level instruction cache: 32 KB, 8-way set associative, 64 byte line size
Data TLB: 4 MB Pages, 4-way set associative, 8 entries
1st-level data cache: 32 KB, 8-way set associative, 64 byte line size
L2 cache: 2048 kbytes, 8-way associative, 64 bytes/line
real memory  = 1073606656 (1023 MB)
Physical memory chunk(s):
0x0000000000001000 - 0x000000000009efff, 647168 bytes (158 pages)
0x0000000000100000 - 0x00000000003fffff, 3145728 bytes (768 pages)
0x0000000001028000 - 0x000000003ed96fff, 1037496320 bytes (253295 pages)
avail memory = 1036967936 (988 MB)
bios32: Found BIOS32 Service Directory header at 0xc00e6050
bios32: Entry = 0xea8e0 (c00ea8e0)  Rev = 0  Len = 1
pcibios: PCI BIOS entry at 0xe6000+0x48f4
pnpbios: Found PnP BIOS data at 0xc00ff020
pnpbios: Entry = eb000:3d78  Rev = 1.0
pnpbios: Event flag at eb01e
pnpbios: OEM ID 8224744e
Other BIOS signatures found:
wlan_amrr: <AMRR Transmit Rate Control Algorithm>
wlan: <802.11 Link Layer>
firmware: 'iwi_bss' version 300: 191142 bytes loaded at 0xc0d78000
firmware: 'iwi_ibss' version 300: 185660 bytes loaded at 0xc0da973c
firmware: 'iwi_monitor' version 300: 187836 bytes loaded at 0xc0dd9000
snd_unit_init() u=0x00ff8000 [512] d=0x00007c00 [32] c=0x000003ff [1024]
feeder_register: snd_unit=-1 snd_maxautovchans=16 latency=5 feeder_buffersize=16384 feeder_rate_min=1 feeder_rate_max=2016000 feeder_rate_round=25
ath_rate: version 1.2 <SampleRate bit-rate selection algorithm>
nfslock: pseudo-device
kbd: new array size 4
kbd1 at kbdmux0
io: <I/O>
mem: <memory>
Pentium Pro MTRR support enabled
null: <null device, zero device>
random: <entropy source, Software, Yarrow>
ath_hal: 0.9.20.3 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
hptrr: HPT RocketRAID controller driver v1.1 (Apr 20 2008 19:08:05)
ACPI: RSDP @ 0x0xe5010/0x0014 (v  0 TOSINV)
ACPI: RSDT @ 0x0x3fff89f7/0x0034 (v  1 INSYDE RSDT_000 0x00000100 ABCD 0x00010200)
ACPI: FACP @ 0x0x3ffffb30/0x0074 (v  1 TOSINV FACP_000 0x00000100 0000 0x00010200)
ACPI: DSDT @ 0x0x3fff9040/0x6AE5 (v  1 TOSINV SONOMA   0x00001004 INTL 0x02002036)
ACPI: FACS @ 0x0x3fffffc0/0x0040
ACPI: MCFG @ 0x0x3ffffbc0/0x003C (v  1 INSYDE MCFG_000 0x30303030 0000 0x30303030)
ACPI: SSDT @ 0x0x3fff8be5/0x0279 (v  1  PmRef  Cpu0Ist 0x00003000 INTL 0x20030522)
ACPI: SSDT @ 0x0x3fff8a2b/0x01BA (v  1  PmRef  Cpu0Cst 0x00003001 INTL 0x20030522)
npx0: INT 16 interface
acpi0: <INSYDE RSDT_000> on motherboard
acpi0: [MPSAFE]
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
acpi0: wakeup code va 0xd7e92000 pa 0x1000
atpic: Programming IRQ9 as level/low
pci_open(1):	mode 1 addr port (0x0cf8) is 0x8000fa04
pci_open(1a):	mode1res=0x80000000 (0x80000000)
pci_cfgcheck:	device 0 [class=060000] [hdr=00] is there (id=25908086)
pcibios: BIOS version 2.10
AcpiOsDerivePciId: \\_SB_.PCI0.HBUS -> bus 0 dev 0 func 0
AcpiOsDerivePciId: \\_SB_.PCI0.PCIB.FCRD.FREG -> bus 6 dev 6 func 1
AcpiOsDerivePciId: \\_SB_.PCI0.LPCB.LPC0 -> bus 0 dev 31 func 0
ACPI timer: 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 -> 10
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0
acpi_ec0: <Embedded Controller: GPE 0x10> port 0x62,0x66 on acpi0
pci_link0:        Index  IRQ  Rtd  Ref  IRQs
  Initial Probe       0   11   N     0  5 11
  Validation          0   11   N     0  5 11
  After Disable       0  255   N     0  5 11
pci_link1:        Index  IRQ  Rtd  Ref  IRQs
  Initial Probe       0   10   N     0  5 10 11
  Validation          0   10   N     0  5 10 11
  After Disable       0  255   N     0  5 10 11
pci_link2:        Index  IRQ  Rtd  Ref  IRQs
  Initial Probe       0   11   N     0  5 11
  Validation          0   11   N     0  5 11
  After Disable       0  255   N     0  5 11
pci_link3:        Index  IRQ  Rtd  Ref  IRQs
  Initial Probe       0   11   N     0  5 10 11
  Validation          0   11   N     0  5 10 11
  After Disable       0  255   N     0  5 10 11
pci_link4:        Index  IRQ  Rtd  Ref  IRQs
  Initial Probe       0    5   N     0  5 11
  Validation          0    5   N     0  5 11
  After Disable       0  255   N     0  5 11
pci_link5:        Index  IRQ  Rtd  Ref  IRQs
  Initial Probe       0  255   N     0  5 10
  Validation          0  255   N     0  5 10
  After Disable       0  255   N     0  5 10
pci_link6:        Index  IRQ  Rtd  Ref  IRQs
  Initial Probe       0   11   N     0  6
  Validation          0  255   N     0  6
  After Disable       0  255   N     0  6
pci_link7:        Index  IRQ  Rtd  Ref  IRQs
  Initial Probe       0   11   N     0  5 10
  Validation          0  255   N     0  5 10
  After Disable       0  255   N     0  5 10
cpu0: <ACPI CPU> on acpi0
acpi_perf0: <ACPI CPU Frequency Control> on cpu0
acpi_perf0: failed in PERF_STATUS attach
device_attach: acpi_perf0 attach returned 6
est0: <Enhanced SpeedStep Frequency Control> on cpu0
est: CPU supports Enhanced Speedstep, but is not recognized.
est: cpu_vendor GenuineIntel, msr 6120e2906000e29
device_attach: est0 attach returned 6
p4tcc0: <CPU Frequency Thermal Control> on cpu0
acpi_perf0: <ACPI CPU Frequency Control> on cpu0
acpi_perf0: failed in PERF_STATUS attach
device_attach: acpi_perf0 attach returned 6
acpi_acad0: <AC Adapter> on acpi0
battery0: <ACPI Control Method Battery> on acpi0
acpi_lid0: <Control Method Lid Switch> on acpi0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
ACPI: Found matching pin for 0.1.INTA at func 0: 11
ACPI: Found matching pin for 0.28.INTA at func 0: 10
ACPI: Found matching pin for 0.28.INTB at func 1: 11
ACPI: Found matching pin for 0.29.INTA at func 0: 11
pci_link7: BIOS IRQ 11 for 0.29.INTA is invalid
ACPI: Found matching pin for 0.29.INTB at func 1: 11
ACPI: Found matching pin for 0.29.INTC at func 2: 11
ACPI: Found matching pin for 0.29.INTD at func 3: 11
ACPI: Found matching pin for 0.30.INTA at func 2: 10
ACPI: Found matching pin for 0.30.INTB at func 3: 5
ACPI: Found matching pin for 0.31.INTB at func 2: 255
pci0: <ACPI PCI bus> on pcib0
pci0: domain=0, physical bus=0
found->	vendor=0x8086, dev=0x2590, revid=0x03
	domain=0, bus=0, slot=0, func=0
	class=06-00-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0006, statreg=0x2090, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
found->	vendor=0x8086, dev=0x2591, revid=0x03
	domain=0, bus=0, slot=1, func=0
	class=06-04-00, hdrtype=0x01, mfdev=0
	cmdreg=0x0007, statreg=0x0010, cachelnsz=4 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x0a (2500 ns), maxlat=0x00 (0 ns)
	intpin=a, irq=11
	powerspec 2  supports D0 D3  current D0
	MSI supports 1 message
pcib0: matched entry for 0.1.INTA (src \\_SB_.PCI0.LPCB.LNKA:0)
pcib0: slot 1 INTA routed to irq 11 via \\_SB_.PCI0.LPCB.LNKA
found->	vendor=0x8086, dev=0x2660, revid=0x04
	domain=0, bus=0, slot=28, func=0
	class=06-04-00, hdrtype=0x01, mfdev=1
	cmdreg=0x0007, statreg=0x0010, cachelnsz=4 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x02 (500 ns), maxlat=0x00 (0 ns)
	intpin=a, irq=10
	powerspec 2  supports D0 D3  current D0
	MSI supports 1 message
pcib0: matched entry for 0.28.INTA (src \\_SB_.PCI0.LPCB.LNKB:0)
pcib0: slot 28 INTA routed to irq 10 via \\_SB_.PCI0.LPCB.LNKB
found->	vendor=0x8086, dev=0x2662, revid=0x04
	domain=0, bus=0, slot=28, func=1
	class=06-04-00, hdrtype=0x01, mfdev=1
	cmdreg=0x0007, statreg=0x0010, cachelnsz=4 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x02 (500 ns), maxlat=0x00 (0 ns)
	intpin=b, irq=11
	powerspec 2  supports D0 D3  current D0
	MSI supports 1 message
pcib0: matched entry for 0.28.INTB (src \\_SB_.PCI0.LPCB.LNKA:0)
pcib0: slot 28 INTB routed to irq 11 via \\_SB_.PCI0.LPCB.LNKA
found->	vendor=0x8086, dev=0x2658, revid=0x04
	domain=0, bus=0, slot=29, func=0
	class=0c-03-00, hdrtype=0x00, mfdev=1
	cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=a, irq=11
	map[20]: type I/O Port, range 32, base 0x1200, size  5, enabled
pcib0: matched entry for 0.29.INTA (src \\_SB_.PCI0.LPCB.LNKH:0)
pci_link7: Picked IRQ 5 with weight 0
pcib0: slot 29 INTA routed to irq 5 via \\_SB_.PCI0.LPCB.LNKH
found->	vendor=0x8086, dev=0x2659, revid=0x04
	domain=0, bus=0, slot=29, func=1
	class=0c-03-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=b, irq=11
	map[20]: type I/O Port, range 32, base 0x1220, size  5, enabled
pcib0: matched entry for 0.29.INTB (src \\_SB_.PCI0.LPCB.LNKD:0)
pcib0: slot 29 INTB routed to irq 11 via \\_SB_.PCI0.LPCB.LNKD
found->	vendor=0x8086, dev=0x265a, revid=0x04
	domain=0, bus=0, slot=29, func=2
	class=0c-03-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=c, irq=11
	map[20]: type I/O Port, range 32, base 0x1240, size  5, enabled
pcib0: matched entry for 0.29.INTC (src \\_SB_.PCI0.LPCB.LNKC:0)
pcib0: slot 29 INTC routed to irq 11 via \\_SB_.PCI0.LPCB.LNKC
found->	vendor=0x8086, dev=0x265b, revid=0x04
	domain=0, bus=0, slot=29, func=3
	class=0c-03-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=d, irq=11
	map[20]: type I/O Port, range 32, base 0x1260, size  5, enabled
pcib0: matched entry for 0.29.INTD (src \\_SB_.PCI0.LPCB.LNKA:0)
pcib0: slot 29 INTD routed to irq 11 via \\_SB_.PCI0.LPCB.LNKA
found->	vendor=0x8086, dev=0x265c, revid=0x04
	domain=0, bus=0, slot=29, func=7
	class=0c-03-20, hdrtype=0x00, mfdev=0
	cmdreg=0x0000, statreg=0x0290, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=a, irq=11
	powerspec 2  supports D0 D3  current D0
	map[10]: type Memory, range 32, base 0xf4000000, size 10, memory disabled
pcib0: matched entry for 0.29.INTA (src \\_SB_.PCI0.LPCB.LNKH:0)
pcib0: slot 29 INTA routed to irq 5 via \\_SB_.PCI0.LPCB.LNKH
found->	vendor=0x8086, dev=0x2448, revid=0xd4
	domain=0, bus=0, slot=30, func=0
	class=06-04-01, hdrtype=0x01, mfdev=1
	cmdreg=0x0007, statreg=0x0010, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x06 (1500 ns), maxlat=0x00 (0 ns)
found->	vendor=0x8086, dev=0x266e, revid=0x04
	domain=0, bus=0, slot=30, func=2
	class=04-01-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0007, statreg=0x0290, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=a, irq=10
	powerspec 2  supports D0 D3  current D0
	map[10]: type I/O Port, range 32, base 0xe000, size  8, enabled
	map[14]: type I/O Port, range 32, base 0xe100, size  6, enabled
	map[18]: type Memory, range 32, base 0xd0000000, size  9, enabled
	map[1c]: type Memory, range 32, base 0xd0000200, size  8, enabled
pcib0: matched entry for 0.30.INTA (src \\_SB_.PCI0.LPCB.LNKB:0)
pcib0: slot 30 INTA routed to irq 10 via \\_SB_.PCI0.LPCB.LNKB
found->	vendor=0x8086, dev=0x266d, revid=0x04
	domain=0, bus=0, slot=30, func=3
	class=07-03-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0005, statreg=0x0290, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=b, irq=5
	powerspec 2  supports D0 D3  current D0
	map[10]: type I/O Port, range 32, base 0xe200, size  8, enabled
	map[14]: type I/O Port, range 32, base 0xe300, size  7, enabled
pcib0: matched entry for 0.30.INTB (src \\_SB_.PCI0.LPCB.LNKE:0)
pcib0: slot 30 INTB routed to irq 5 via \\_SB_.PCI0.LPCB.LNKE
found->	vendor=0x8086, dev=0x2641, revid=0x04
	domain=0, bus=0, slot=31, func=0
	class=06-01-00, hdrtype=0x00, mfdev=1
	cmdreg=0x0007, statreg=0x0200, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
found->	vendor=0x8086, dev=0x2653, revid=0x04
	domain=0, bus=0, slot=31, func=2
	class=01-01-80, hdrtype=0x00, mfdev=0
	cmdreg=0x0005, statreg=0x02b0, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=b, irq=255
	powerspec 2  supports D0 D3  current D0
	map[20]: type I/O Port, range 32, base 0x1100, size  4, enabled
pcib1: <ACPI PCI-PCI bridge> irq 11 at device 1.0 on pci0
pcib1:   domain            0
pcib1:   secondary bus     1
pcib1:   subordinate bus   1
pcib1:   I/O decode        0xc000-0xdfff
pcib1:   memory decode     0xc0000000-0xcfffffff
pcib1:   prefetched decode 0x90000000-0x9fffffff
ACPI: Found matching pin for 1.0.INTA at func 0: 11
pci1: <ACPI PCI bus> on pcib1
pci1: domain=0, physical bus=1
found->	vendor=0x10de, dev=0x0148, revid=0xa2
	domain=0, bus=1, slot=0, func=0
	class=03-00-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0007, statreg=0x0010, cachelnsz=4 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=a, irq=11
	powerspec 2  supports D0 D3  current D0
	MSI supports 1 message, 64 bit
	map[10]: type Memory, range 32, base 0xc0000000, size 26, enabled
pcib1: requested memory range 0xc0000000-0xc3ffffff: good
	map[14]: type Prefetchable Memory, range 64, base 0x90000000, size 27, enabled
pcib1: requested memory range 0x90000000-0x97ffffff: good
	map[1c]: type Memory, range 64, base 0xc1000000, size 24, enabled
pcib1: requested memory range 0xc1000000-0xc1ffffff: good
pcib1: matched entry for 1.0.INTA (src \\_SB_.PCI0.LPCB.LNKA:0)
pcib1: slot 0 INTA routed to irq 11 via \\_SB_.PCI0.LPCB.LNKA
vgapci0: <VGA-compatible display> mem 0xc0000000-0xc3ffffff,0x90000000-0x97ffffff,0xc1000000-0xc1ffffff irq 11 at device 0.0 on pci1
pcib2: <ACPI PCI-PCI bridge> irq 10 at device 28.0 on pci0
pcib2:   domain            0
pcib2:   secondary bus     2
pcib2:   subordinate bus   2
pcib2:   I/O decode        0xa000-0xbfff
pcib2:   memory decode     0xbc000000-0xbfffffff
pcib2:   prefetched decode 0x8c000000-0x8fffffff
ACPI: Found matching pin for 2.0.INTA at func 0: 11
pci2: <ACPI PCI bus> on pcib2
pci2: domain=0, physical bus=2
found->	vendor=0x11ab, dev=0x4351, revid=0x10
	domain=0, bus=2, slot=0, func=0
	class=02-00-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0007, statreg=0x0010, cachelnsz=4 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=a, irq=11
	powerspec 2  supports D0 D1 D2 D3  current D0
	MSI supports 2 messages, 64 bit
	map[10]: type Memory, range 64, base 0xbc000000, size 14, enabled
pcib2: requested memory range 0xbc000000-0xbc003fff: good
	map[18]: type I/O Port, range 32, base 0xa000, size  8, enabled
pcib2: requested I/O range 0xa000-0xa0ff: in range
pcib2: matched entry for 2.0.INTA (src \\_SB_.PCI0.LPCB.LNKA:0)
pcib2: slot 0 INTA routed to irq 11 via \\_SB_.PCI0.LPCB.LNKA
mskc0: <Marvell Yukon 88E8036 Gigabit Ethernet> port 0xa000-0xa0ff mem 0xbc000000-0xbc003fff irq 11 at device 0.0 on pci2
mskc0: Reserved 0x4000 bytes for rid 0x10 type 3 at 0xbc000000
mskc0: MSI count : 2
mskc0: attempting to allocate 2 MSI vectors (2 supported)
mskc0: RAM buffer size : 16KB
mskc0: Port 0 : Rx Queue 10KB(0x00000000:0x000027ff)
mskc0: Port 0 : Tx Queue 10KB(0x00002800:0x00004fff)
msk0: <Marvell Technology Group Ltd. Yukon FE Id 0xb7 Rev 0x01> on mskc0
msk0: bpf attached
msk0: Ethernet address: 00:a0:d1:20:b1:b1
miibus0: <MII bus> on msk0
e1000phy0: <Marvell 88E3082 10/100 Fast Ethernet PHY> PHY 0 on miibus0
e1000phy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ukphy0: <Generic IEEE 802.3u media interface> PHY 2 on miibus0
ukphy0: OUI 0x020002, model 0x0000, rev. 0
ukphy0:  10baseT
ukphy1: <Generic IEEE 802.3u media interface> PHY 3 on miibus0
ukphy1: OUI 0x021002, model 0x0004, rev. 0
ukphy1:  10baseT
ukphy2: <Generic IEEE 802.3u media interface> PHY 4 on miibus0
ukphy2: OUI 0x020002, model 0x0000, rev. 0
ukphy2:  10baseT
ukphy3: <Generic IEEE 802.3u media interface> PHY 5 on miibus0
ukphy3: OUI 0x020002, model 0x0000, rev. 0
ukphy3:  10baseT
ukphy4: <Generic IEEE 802.3u media interface> PHY 6 on miibus0
ukphy4: OUI 0x024402, model 0x0011, rev. 0
ukphy4:  10baseT
ukphy5: <Generic IEEE 802.3u media interface> PHY 7 on miibus0
ukphy5: OUI 0x020002, model 0x0000, rev. 0
ukphy5:  10baseT
mskc0: [MPSAFE]
mskc0: [FILTER]
pcib3: <ACPI PCI-PCI bridge> irq 11 at device 28.1 on pci0
pcib3:   domain            0
pcib3:   secondary bus     3
pcib3:   subordinate bus   3
pcib3:   I/O decode        0x8000-0x9fff
pcib3:   memory decode     0xb8000000-0xbbffffff
pcib3:   prefetched decode 0x88000000-0x8bffffff
pci3: <ACPI PCI bus> on pcib3
pci3: domain=0, physical bus=3
uhci0: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-A> port 0x1200-0x121f irq 5 at device 29.0 on pci0
uhci0: Reserved 0x20 bytes for rid 0x20 type 4 at 0x1200
uhci0: [GIANT-LOCKED]
uhci0: [ITHREAD]
usb0: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-A> on uhci0
usb0: USB revision 1.0
uhub0: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
uhub0: 2 ports with 2 removable, self powered
uhci1: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-B> port 0x1220-0x123f irq 11 at device 29.1 on pci0
uhci1: Reserved 0x20 bytes for rid 0x20 type 4 at 0x1220
uhci1: [GIANT-LOCKED]
uhci1: [ITHREAD]
usb1: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-B> on uhci1
usb1: USB revision 1.0
uhub1: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb1
uhub1: 2 ports with 2 removable, self powered
uhci2: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-C> port 0x1240-0x125f irq 11 at device 29.2 on pci0
uhci2: Reserved 0x20 bytes for rid 0x20 type 4 at 0x1240
uhci2: [GIANT-LOCKED]
uhci2: [ITHREAD]
usb2: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-C> on uhci2
usb2: USB revision 1.0
uhub2: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb2
uhub2: 2 ports with 2 removable, self powered
uhci3: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-D> port 0x1260-0x127f irq 11 at device 29.3 on pci0
uhci3: Reserved 0x20 bytes for rid 0x20 type 4 at 0x1260
uhci3: [GIANT-LOCKED]
uhci3: [ITHREAD]
usb3: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-D> on uhci3
usb3: USB revision 1.0
uhub3: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb3
uhub3: 2 ports with 2 removable, self powered
ehci0: <Intel 82801FB (ICH6) USB 2.0 controller> mem 0xf4000000-0xf40003ff irq 5 at device 29.7 on pci0
ehci0: Reserved 0x400 bytes for rid 0x10 type 3 at 0xf4000000
ehci0: [GIANT-LOCKED]
ehci0: [ITHREAD]
usb4: EHCI version 1.0
usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3
usb4: <Intel 82801FB (ICH6) USB 2.0 controller> on ehci0
usb4: USB revision 2.0
uhub4: <Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb4
uhub4: 8 ports with 8 removable, self powered
pcib4: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pcib4:   domain            0
pcib4:   secondary bus     6
pcib4:   subordinate bus   6
pcib4:   I/O decode        0x6000-0x7fff
pcib4:   memory decode     0xb0000000-0xb7ffffff
pcib4:   prefetched decode 0x80000000-0x87ffffff
pcib4:   Subtractively decoded bridge.
ACPI: Found matching pin for 6.4.INTA at func 0: 11
ACPI: Found matching pin for 6.6.INTA at func 0: 255
ACPI: Found matching pin for 6.6.INTA at func 4: 11
ACPI: Found matching pin for 6.6.INTC at func 2: 11
pci_link6: BIOS IRQ 11 for 6.6.INTC is invalid
ACPI: Found matching pin for 6.6.INTD at func 3: 5
pci6: <ACPI PCI bus> on pcib4
pci6: domain=0, physical bus=6
found->	vendor=0x8086, dev=0x4223, revid=0x05
	domain=0, bus=6, slot=4, func=0
	class=02-80-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0006, statreg=0x0290, cachelnsz=0 (dwords)
	lattimer=0x80 (3840 ns), mingnt=0x03 (750 ns), maxlat=0x18 (6000 ns)
	intpin=a, irq=11
	powerspec 2  supports D0 D3  current D0
	map[10]: type Memory, range 32, base 0xb000b000, size 12, enabled
pcib4: requested memory range 0xb000b000-0xb000bfff: good
pcib4: matched entry for 6.4.INTA (src \\_SB_.PCI0.LPCB.LNKA:0)
pcib4: slot 4 INTA routed to irq 11 via \\_SB_.PCI0.LPCB.LNKA
found->	vendor=0x104c, dev=0x8031, revid=0x00
	domain=0, bus=6, slot=6, func=0
	class=06-07-00, hdrtype=0x02, mfdev=1
	cmdreg=0x0007, statreg=0x0210, cachelnsz=0 (dwords)
	lattimer=0x40 (1920 ns), mingnt=0xc0 (48000 ns), maxlat=0x03 (750 ns)
	intpin=a, irq=255
	powerspec 2  supports D0 D1 D2 D3  current D0
	map[10]: type Memory, range 32, base 0x13000000, size 12, enabled
pcib4: requested memory range 0x13000000-0x13000fff: good
found->	vendor=0x104c, dev=0x8032, revid=0x00
	domain=0, bus=6, slot=6, func=2
	class=0c-00-10, hdrtype=0x00, mfdev=1
	cmdreg=0x0006, statreg=0x0210, cachelnsz=4 (dwords)
	lattimer=0x80 (3840 ns), mingnt=0x02 (500 ns), maxlat=0x04 (1000 ns)
	intpin=c, irq=11
	powerspec 2  supports D0 D1 D2 D3  current D0
	map[10]: type Memory, range 32, base 0xb0000000, size 11, enabled
pcib4: requested memory range 0xb0000000-0xb00007ff: good
	map[14]: type Memory, range 32, base 0xb0004000, size 14, enabled
pcib4: requested memory range 0xb0004000-0xb0007fff: good
pcib4: matched entry for 6.6.INTC (src \\_SB_.PCI0.LPCB.LNKG:0)
pci_link6: Picked IRQ 9 with weight 0
pcib4: slot 6 INTC routed to irq 9 via \\_SB_.PCI0.LPCB.LNKG
found->	vendor=0x104c, dev=0x8033, revid=0x00
	domain=0, bus=6, slot=6, func=3
	class=01-80-00, hdrtype=0x00, mfdev=1
	cmdreg=0x0006, statreg=0x0210, cachelnsz=4 (dwords)
	lattimer=0x80 (3840 ns), mingnt=0x07 (1750 ns), maxlat=0x04 (1000 ns)
	intpin=d, irq=5
	powerspec 2  supports D0 D1 D2 D3  current D0
	map[10]: type Memory, range 32, base 0xb0008000, size 13, enabled
pcib4: requested memory range 0xb0008000-0xb0009fff: good
pcib4: matched entry for 6.6.INTD (src \\_SB_.PCI0.LPCB.LNKE:0)
pcib4: slot 6 INTD routed to irq 5 via \\_SB_.PCI0.LPCB.LNKE
found->	vendor=0x104c, dev=0x8034, revid=0x00
	domain=0, bus=6, slot=6, func=4
	class=08-05-00, hdrtype=0x00, mfdev=1
	cmdreg=0x0006, statreg=0x0210, cachelnsz=4 (dwords)
	lattimer=0x80 (3840 ns), mingnt=0x07 (1750 ns), maxlat=0x04 (1000 ns)
	intpin=a, irq=11
	powerspec 2  supports D0 D1 D2 D3  current D0
	map[10]: type Memory, range 32, base 0xb000a000, size  8, enabled
pcib4: requested memory range 0xb000a000-0xb000a0ff: good
	map[14]: type Memory, range 32, base 0xb000a100, size  8, enabled
pcib4: requested memory range 0xb000a100-0xb000a1ff: good
	map[18]: type Memory, range 32, base 0xb000a200, size  8, enabled
pcib4: requested memory range 0xb000a200-0xb000a2ff: good
pcib4: matched entry for 6.6.INTA (src \\_SB_.PCI0.LPCB.LNKC:0)
pcib4: slot 6 INTA routed to irq 11 via \\_SB_.PCI0.LPCB.LNKC
iwi0: <Intel(R) PRO/Wireless 2915ABG> mem 0xb000b000-0xb000bfff irq 11 at device 4.0 on pci6
iwi0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0xb000b000
iwi0: bpf attached
iwi0: Ethernet address: 00:12:f0:89:f6:4b
iwi0: bpf attached
iwi0: bpf attached
iwi0: [MPSAFE]
iwi0: [ITHREAD]
iwi0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
iwi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
iwi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
cbb0: <TI6411 PCI-CardBus Bridge> mem 0x13000000-0x13000fff at device 6.0 on pci6
pcib4: cbb0 requested memory range 0x13000000-0x13000fff: good
cbb0: Could not map register memory
device_attach: cbb0 attach returned 12
fwohci0: vendor=104c, dev=8032
fwohci0: vendor=104c, dev=8032
fwohci0: <1394 Open Host Controller Interface> mem 0xb0000000-0xb00007ff,0xb0004000-0xb0007fff irq 9 at device 6.2 on pci6
fwohci0: Reserved 0x800 bytes for rid 0x10 type 3 at 0xb0000000
fwohci0: [MPSAFE]
fwohci0: [FILTER]
fwohci0: OHCI version 1.10 (ROM=0)
fwohci0: No. of Isochronous channels is 4.
fwohci0: EUI64 00:08:0d:a0:d1:20:b1:b1
fwohci0: Phy 1394a available S400, 2 ports.
fwohci0: Link S400, max_rec 2048 bytes.
firewire0: <IEEE1394(FireWire) bus> on fwohci0
fwe0: <Ethernet over FireWire> on firewire0
if_fwe0: Fake Ethernet address: 02:08:0d:20:b1:b1
fwe0: bpf attached
fwe0: Ethernet address: 02:08:0d:20:b1:b1
fwip0: <IP over FireWire> on firewire0
fwip0: bpf attached
fwip0: Firewire address: 00:08:0d:a0:d1:20:b1:b1 @ 0xfffe00000000, S400, maxrec 2048
sbp0: <SBP-2/SCSI over FireWire> on firewire0
dcons_crom0: <dcons configuration ROM> on firewire0
dcons_crom0: bus_addr 0x13d4000
fwohci0: Initiate bus reset
fwohci0: BUS reset
fwohci0: node_id=0xc000ffc0, gen=1, CYCLEMASTER mode
pci6: <mass storage> at device 6.3 (no driver attached)
pci6: <base peripheral> at device 6.4 (no driver attached)
pcm0: <Intel ICH6 (82801FB)> port 0xe000-0xe0ff,0xe100-0xe13f mem 0xd0000000-0xd00001ff,0xd0000200-0xd00002ff irq 10 at device 30.2 on pci0
pcm0: Reserved 0x200 bytes for rid 0x18 type 3 at 0xd0000000
pcm0: Reserved 0x100 bytes for rid 0x1c type 3 at 0xd0000200
pcm0: [MPSAFE]
pcm0: [ITHREAD]
pcm0: <Analog Devices AD1981B AC97 Codec (id = 0x41445374)>
pcm0: Codec features headphone, 20 bit DAC, 5 bit master volume, no 3D Stereo Enhancement
pcm0: Primary codec extended features variable rate PCM, AMAP, reserved 4
pcm0: ac97 codec dac ready count: 0
pcm0: Mixer "vol":
pcm0: Mixer "pcm":
pcm0: Mixer "line":
pcm0: Mixer "mic":
pcm0: Mixer "cd":
pcm0: Mixer "rec":
pcm0: Mixer "igain":
pcm0: Mixer "ogain":
pcm0: Mixer "line1":
pcm0: Mixer "phin":
pcm0: Mixer "phout":
pcm0: clone manager: deadline=750ms flags=0x8000001e
pcm0: sndbuf_setmap 1764000, 4000; 0xe496e000 -> 1764000
pcm0: sndbuf_setmap 176c000, 4000; 0xe4972000 -> 176c000
pci0: <simple comms, generic modem> at device 30.3 (no driver attached)
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel ICH6M SATA150 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x1100-0x110f at device 31.2 on pci0
atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0x1100
ata0: <ATA channel 0> on atapci0
atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0x1f0
atapci0: Reserved 0x1 bytes for rid 0x14 type 4 at 0x3f6
ata0: reset tp1 mask=03 ostat0=50 ostat1=00
ata0: stat0=0x50 err=0x01 lsb=0x00 msb=0x00
ata0: stat1=0x00 err=0x01 lsb=0x00 msb=0x00
ata0: reset tp2 stat0=50 stat1=00 devices=0x1<ATA_MASTER>
ata0: [MPSAFE]
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci0
atapci0: Reserved 0x8 bytes for rid 0x18 type 4 at 0x170
atapci0: Reserved 0x1 bytes for rid 0x1c type 4 at 0x376
ata1: reset tp1 mask=03 ostat0=50 ostat1=00
ata1: stat0=0x00 err=0x01 lsb=0x14 msb=0xeb
ata1: stat1=0x00 err=0x00 lsb=0x00 msb=0x00
ata1: reset tp2 stat0=00 stat1=00 devices=0x4<ATAPI_MASTER>
ata1: [MPSAFE]
ata1: [ITHREAD]
acpi_tz0: <Thermal Zone> on acpi0
acpi_tz1: <Thermal Zone> on acpi0
acpi_tz2: <Thermal Zone> on acpi0
acpi_tz3: <Thermal Zone> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
atkbd: the current kbd controller command byte 0067
atkbd: keyboard ID 0x41ab (2)
kbd0 at atkbd0
kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x3d0000
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
psm0: unable to allocate IRQ
psmcpnp0: <PS/2 mouse port> irq 12 on acpi0
psm0: current command byte:0067
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: [ITHREAD]
psm0: model Generic PS/2 mouse, device ID 0-00, 2 buttons
psm0: config:00000000, flags:00000008, packet size:3
psm0: syncmask:c0, syncbits:00
sio0: irq maps: 0x21 0x29 0x21 0x21
sio0: irq maps: 0x21 0x29 0x21 0x21
sio0 port 0x2f8-0x2ff,0x110-0x117 irq 3 drq 1 flags 0x10 on acpi0
sio0: type 16550A
sio0: [FILTER]
unknown: status reg test failed ff
unknown: status reg test failed ff
unknown: status reg test failed ff
unknown: status reg test failed ff
ex_isa_identify()
ata: ata0 already exists; skipping it
ata: ata1 already exists; skipping it
atkbdc: atkbdc0 already exists; skipping it
sio: sio0 already exists; skipping it
pnp_identify: Trying Read_Port at 203
pnp_identify: Trying Read_Port at 243
pnp_identify: Trying Read_Port at 283
pnp_identify: Trying Read_Port at 2c3
pnp_identify: Trying Read_Port at 303
pnp_identify: Trying Read_Port at 343
pnp_identify: Trying Read_Port at 383
pnp_identify: Trying Read_Port at 3c3
PNP Identify complete
sc: sc0 already exists; skipping it
vga: vga0 already exists; skipping it
isa_probe_children: disabling PnP devices
isa_probe_children: probing non-PnP devices
pmtimer0 on isa0
orm0: <ISA Option ROMs> at iomem 0xc0000-0xcefff,0xe0000-0xe1fff,0xe5000-0xe5fff,0xeb000-0xeffff pnpid ORM0000 on isa0
adv0: not probed (disabled)
aha0: not probed (disabled)
aic0: not probed (disabled)
bt0: not probed (disabled)
cs0: not probed (disabled)
ed0: not probed (disabled)
fdc0 failed to probe at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fe0: not probed (disabled)
ie0: not probed (disabled)
le0: not probed (disabled)
ppc0: parallel port not found.
ppc0: <Parallel port> failed to probe at irq 7 on isa0
fb: new array size 4
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sc0: fb0, kbd1, terminal emulator: sc (syscons terminal)
sio1 failed to probe at port 0x2f8 irq 3 on isa0
sio2: not probed (disabled)
sio3: not probed (disabled)
sn0: not probed (disabled)
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
vt0: not probed (disabled)
isa_probe_children: probing PnP devices
ums0: <Logitech USB Receiver, class 0/0, rev 2.00/57.00, addr 2> on uhub0
ums0: 16 buttons and Z dir.
uhid0: <Logitech USB Receiver, class 0/0, rev 2.00/57.00, addr 2> on uhub0
Device configuration finished.
procfs registered
Timecounter "TSC" frequency 1862011628 Hz quality 800
Timecounters tick every 1.000 msec
lo0: bpf attached
hptrr: no controller detected.
firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me)
firewire0: bus manager 0 (me)
acpi_acad0: acline initialization start
battery0: battery initialization start
ata0-master: pio=PIO4 wdma=WDMA2 udma=UDMA100 cable=80 wire
atapicam: atapicam0 already exists; skipping it
ad0: 152627MB <Seagate ST9160821A 3.ALD> at ata0-master UDMA100
ad0: 312581808 sectors [310101C/16H/63S] 16 sectors/interrupt 1 depth queue
GEOM: new disk ad0
acpi_tz0: _AC1: temperature 80.0 >= setpoint 44.8
acpi_tz0: switched from NONE to _AC1: 80.0C
acpi_acad0: On Line
acpi_acad0: acline initialization done, tried 1 times
ad0: Intel check1 failed
ad0: Adaptec check1 failed
ad0: LSI (v3) check1 failed
ad0: LSI (v2) check1 failed
ad0: FreeBSD check1 failed
ata1-master: pio=PIO4 wdma=WDMA2 udma=UDMA33 cable=40 wire
acd0: <MATSHITADVD-RAM UJ-831S/1.40> DVDR drive at ata1 as master
acd0: read 4134KB/s (4134KB/s) write 4134KB/s (4134KB/s), 2048KB buffer, UDMA33
acd0: Reads: CDR, CDRW, CDDA stream, DVDROM, DVDR, DVDRAM, packet
acd0: Writes: CDR, CDRW, DVDR, DVDRAM, test write, burnproof
acd0: Audio: play, 256 volume levels
acd0: Mechanism: ejectable tray, unlocked
acd0: Medium: no/blank disc
pcm0: measured ac97 link rate at 48009 Hz, will use 48000 Hz
GEOM_LABEL: Label for provider ad0s1 is ntfs/WinXP.
acd0: FAILURE - INQUIRY ILLEGAL REQUEST asc=0x24 ascq=0x00 
(probe7:ata1:0:0:0): error 22
(probe7:ata1:0:0:0): Unretryable Error
(probe7:ata1:0:0:0): Down reving Protocol Version from 2 to 0?
(probe0:sbp0:0:0:0): error 22
(probe0:sbp0:0:0:0): Unretryable Error
(probe4:sbp0:0:4:0): error 22
(probe4:sbp0:0:4:0): Unretryable Error
(probe1:sbp0:0:1:0): error 22
(probe1:sbp0:0:1:0): Unretryable Error
(probe2:sbp0:0:2:0): error 22
(probe2:sbp0:0:2:0): Unretryable Error
(probe3:sbp0:0:3:0): error 22
(probe3:sbp0:0:3:0): Unretryable Error
(probe5:sbp0:0:5:0): error 22
(probe5:sbp0:0:5:0): Unretryable Error
(probe6:sbp0:0:6:0): error 22
(probe6:sbp0:0:6:0): Unretryable Error
pass0 at ata1 bus 0 target 0 lun 0
pass0: <MATSHITA DVD-RAM UJ-831S 1.40> Removable CD-ROM SCSI-0 device 
pass0: 33.000MB/s transfers
GEOM: new disk cd0
ATA PseudoRAID loaded
(cd0:ata1:0:0:0): error 6
(cd0:ata1:0:0:0): Unretryable Error
cd0 at ata1 bus 0 target 0 lun 0
cd0: <MATSHITA DVD-RAM UJ-831S 1.40> Removable CD-ROM SCSI-0 device 
cd0: 33.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present
(cd0:ata1:0:0:0): error 6
(cd0:ata1:0:0:0): Unretryable Error
(cd0:ata1:0:0:0): error 6
(cd0:ata1:0:0:0): Unretryable Error
(cd0:ata1:0:0:0): error 6
(cd0:ata1:0:0:0): Unretryable Error
(cd0:ata1:0:0:0): error 6
(cd0:ata1:0:0:0): Unretryable Error
Trying to mount root from ufs:/dev/ad0s2a
start_init: trying /sbin/init
mskc0: Uncorrectable PCI Express error
Linux ELF exec handler installed
msk0: link state changed to UP
battery0: battery initialization done, tried 2 times
--- dmesg-v ends here ---

begin 644 toshiba-m40.dsdt
M1%-$5-!N```!Z51/4TE.5E-/3D]-02`@!!```$E.5$PV(``"6X!04E0P`0J`
M"@1;@0M04E0P$U`X,$@@6X!)3U]4`0L`"`H06X$A24]?5`$`$``0`!``$%12
M4#`(``@`"``(``@`"``(``A;@$=024\!"P`3"CQ;@4`,1U!)3P%'53`P"$=5
M,#$(1U4P, at A'53`S"$=)3S`(1TE/,0A'24\R"$=)3S,(`"!'3#`P"$=,,#$(
M``5'4#(Q`0`!1U`R,P$``4=0,C4!``8`0`1'0C`P"$=",#$(1T(P, at A'0C`S
M"`!`"$=)5C`(1TE6,0A'258R"$=)5C,(1U4P-`A'53`U"$=5,#8(1U4P-PA'
M24\T"$=)3S4(1TE/- at A'24\W"``!1U`S,P$`!D=,,#4(1TPP- at A'3#`W"%N`
M34)/6``,`/S_/PL``5N!21M-0D]8$$U93U,04TU)1 at A04DTP"%!233$(4T-)
M1 at A04DTR"%!233,(3$-+1 at A04DTT"%!2334(4#@P1"!,2413"%!74E,(1$)'
M4P@`$$%#5%0(4%-65`A40S%6"%1#,E8(5%-05 at A#4E14"``@0DY530A",%-#
M"$(Q4T,(0C)30PA",%-3"$(Q4U,(0C)34P@`&%=42%0(`$@)24=$4PA43%-4
M"$-!1$P(4$%$3`A#4U1%$$Y35$404U-411!.1$E$"$1)1#$@1$E$,B!$240S
M($1)1#0 at 1$E$-2``0`9"3$-3"$)25$P(`$@,55194`(``@`#``%#34%$`P`!
M0TU"1`,``5!465`"15!$00$``4Q05$4"``%%4%!4`0`&055%3@%!53DW`45(
M5%\(4$-47P%!3%-3`45-05,!``4`!TM"1%<!0TQ-5`(`!@`&5TQ!3@$``45?
M5%8!15!25`%%1DE2`44S.30!4S4Q,`$``T-&1T00`$`$04Q310A!3$%&"$Q,
M3U<(3$A)2`@`"$5-044(14U!4!!%34%,$`!`!40T,#`(`$@$1U1&,#A'5$8R
M.$E$14T(6X!20U)"``P`@`#P"P!`6X%#!5)#4D(3`(``"`"``!``@`("2%!!
M4P(`!4A0044!`$@)``%0051$`5-!5$0!4TU"1`%!6D%$`4$Y-T0!``I24#%$
M`5)0,D0!4E`S1`%24#1$`5L!35546``(7U,P7Q((`PH`"@`*``A?4S-?$@@#
M"@4*!0H`"%]3-%\2"`,*!@H&"@`(7U,U7Q((`PH'"@<*``A<4$1#,`P```"`
M"%Q01$,Q#````(`0(%Q?4%)?6X,+0U!5,``0$```!EN#"T-053$!$!````8(
M7$1314X*`0A<14-/3 at H`"%Q'4$E#"@`(7$-465`*``A<3#`Q0PH`%`U<7U!)
M0P%P:$=024,40A1<7U!44P%P"@%00E-4H at Q00E-4<`H!4$)35*`(DT1"1U,*
M`*!!")-H"@-P7"Y?4T)?4D1%0PJ28'![8`H!`$Q)1%-P7"Y?4T)?4D1%0PJV
M8*`,2T)$5W!]8`H"`&"A"'![8`K]`&!P?6`*`0!@7"Y?4T)?5U)%0PJV8%PN
M7U-"7T=334D*"EPN7U-"7T=334D*#5PN7U-"7T=334D*)'`*4U`X,$BA2 at F@
M0`>3:`H$<%PN7U-"7U)$14,*MF!P?6`*`0!@7"Y?4T)?5U)%0PJV8'!<+E]3
M0E]21$5#"KA@<'U@"@(`8%PN7U-"7U=214,*N&!<+E]30E]'4TU)"@IP"@%-
M0E,T7"Y?4T)?1U--20HD<`I44#@P2*$FH"23:`H%7"Y?4T)?1U--20H*7"Y?
M4T)?1U--20HD<`I54#@P2!1.)%Q?5T%+`7!<+E]30E]21$5#"I)@<'M@"B``
M8'I@"@5 at H`]@AEPN7U-"7T)!5#$*@*!)#Y-H"@-<+E]30E]'4TU)"@!P"@!'
M54E$AEPN7U-"7T%#7U\*`(9<+E]30E]"050Q"H&&7"\#7U-"7U!#23!54T(Q
M"@"&7"\#7U-"7U!#23!54T(R"@"&7"\#7U-"7U!#23!54T(S"@"&7"\#7U-"
M7U!#23!54T(T"@"&7"\#7U-"7U!#23!24#`R"@!<+E]30E]'4TU)"BB@&4%0
M342&7"Y?4T)?4%=20 at H"<`H`05!-1*`;13,Y-(9<+P1?4T)?4$-),%!#24)&
M0U)$"@%P7"Y?4T)?4D1%0PJ28'![8`H(`&!Z8`H#8'!@4U]!0W`*XU`X,$BD
M"@"A01*@0A&3:`H$7"Y?4T)?1U--20H$H#%%,SDTH"M<+P5?4T)?4$-),%!#
M24)&0U)$345-0EPN7U-"7T=334D*$W`*`4=5242&7"Y?4T)?04-?7PH`AEPN
M7U-"7T)!5#$*@89<+P-?4T)?4$-),%530C$*`(9<+P-?4T)?4$-),%530C(*
M`(9<+P-?4T)?4$-),%530C,*`(9<+P-?4T)?4$-),%530C0*`(9<+P-?4T)?
M4$-),%)0,#(*`'!<+E]30E]21$5#"J)@H!.2DV`*`(9<+E]30E]05U)""@)P
M"@!"3E5-<`H`34)3-'!<+E]30E]21$5#"I)@<'M@"@@`8'I@"@-@<&!37T%#
M<`KD4#@P2*0*`*$+<`KE4#@P2*0*`!!'7%Q?1U!%%$4S7TPP,0!R3#`Q0PH!
M3#`Q0Z!&!5PO!%]30E]00TDP4E`P,4A00U.@*EPO!%]30E]00TDP4E`P,5!$
M0S%P"@%<+P1?4T)?4$-),%)0,#%01$,Q<`H!7"\$7U-"7U!#23!24#`Q2%!#
M4Z!,"5PO!%]30E]00TDP4E`P,DA00U. at +9-<+P1?4T)?4$-),%)0,#)01%,R
M"@%P"@!<+P1?4T)?4$-),%)0,#)24$Q$H1=P"@%<+P1?4T)?4$-),%)0,#)2
M4$Q$H"I<+P1?4T)?4$-),%)0,#)01$,R<`H!7"\$7U-"7U!#23!24#`R4$1#
M,G`*`5PO!%]30E]00TDP4E`P,DA00U. at 1@5<+P1?4T)?4$-),%)0,#-(4$-3
MH"I<+P1?4T)?4$-),%)0,#-01$,S<`H!7"\$7U-"7U!#23!24#`S4$1#,W`*
M`5PO!%]30E]00TDP4E`P,TA00U. at 1@5<+P1?4T)?4$-),%)0,#1(4$-3H"I<
M+P1?4T)?4$-),%)0,#101$,T<`H!7"\$7U-"7U!#23!24#`T4$1#-'`*`5PO
M!%]30E]00TDP4E`P-$A00U. at 3`Q$-#`P"%1"1C,1"`H%!V9F0`&,5$)&,PH!
M0TQ#2Z`BDUPO!%]30E]00TDP4E`P,5!$4S$*`'M#3$-+"OM#3$-+H"*37"\$
M7U-"7U!#23!24#`R4$13, at H`>T-,0TL*OT-,0TN@(I-<+P1?4T)?4$-),%)0
M,#-01%,S"@![0TQ#2PK]0TQ#2Z`BDUPO!%]30E]00TDP4E`P-%!$4S0*`'M#
M3$-+"M]#3$-+7"\$7U-"7U!#23!30E534T),5PK<"@!40D8S"@!;(0ID<$=0
M,C-@<$=0,S-A<$=0,C5B6R(+0`%P7"\$7U-"7U!#23!24#`Q4$13,4=0,C-P
M7"\$7U-"7U!#23!24#`R4$13,D=0,S-P7"\$7U-"7U!#23!24#`S4$13,T=0
M,C5;(@IDH!J2DT=0,C- at AEPO`U]30E]00TDP4E`P,0H`H!J2DT=0,S-AAEPO
M`U]30E]00TDP4E`P, at H`H!J2DT=0,C5BAEPO`U]30E]00TDP4E`P,PH`%!A?
M3#`S`(9<+P-?4T)?4$-),%530C$*`A087TPP-`"&7"\#7U-"7U!#23!54T(R
M"@(4(%],,#4`H!=!6D%$AEPO`U]30E]00TDP34]$30H"H0$4'%],,#<`<`H@
M7"\$7U-"7U!#23!30E532%-44Q0&7TPP.``41Q5?3#`Y`*!#!5PO!%]30E]0
M0TDP4E`P,5!34#%P"@%<+P1?4T)?4$-),%)0,#%04U`Q<`H!7"\$7U-"7U!#
M23!24#`Q4$U#4X9<+P-?4T)?4$-),%)0,#$*`J!#!5PO!%]30E]00TDP4E`P
M,E!34#)P"@%<+P1?4T)?4$-),%)0,#)04U`R<`H!7"\$7U-"7U!#23!24#`R
M4$U#4X9<+P-?4T)?4$-),%)0,#(*`J!#!5PO!%]30E]00TDP4E`P,U!34#-P
M"@%<+P1?4T)?4$-),%)0,#-04U`S<`H!7"\$7U-"7U!#23!24#`S4$U#4X9<
M+P-?4T)?4$-),%)0,#,*`J!#!5PO!%]30E]00TDP4E`P-%!34#1P"@%<+P1?
M4T)?4$-),%)0,#104U`T<`H!7"\$7U-"7U!#23!24#`T4$U#4X9<+P-?4T)?
M4$-),%)0,#0*`A087TPP0@"&7"\#7U-"7U!#23!00TE""@(4&%],,$,`AEPO
M`U]30E]00TDP55-",PH"%!A?3#!$`(9<+P-?4T)?4$-),%530C<*`A087TPP
M10"&7"\#7U-"7U!#23!54T(T"@(41 at 5?3#$X`'!<+E]30E]21$5#"I)@<'M@
M"@$`8*`JDV!,2413AEPO!%]30E]00TDP3%!#0E!3,DL*@(9<+E]30E]05U)"
M"@*A#H9<+E]30E],240P"H!;@%--24\!"K(*`EN!$%--24\!05!-0PA!4$U$
M"%N`4$U)3P$+`!`*@%N!'E!-24\#``A00E-4`0`'`$`'``%42%)/`T542%(!
M"%Q$1D5#"@`(7$%#4%,*``A<4T%#4`H`"%Q334E3"@`(7%!)3T4*``A<4U(Q
M.`H`"%Q34C$Y"@`(7$5#4UD*``A<0E-400H`"%Q30T-4"@`(7%!24U0*``A<
M1U5)1`H`"%Q424-/"@`(7$1+3U0*``A<35-!5 at H`6X!80TU/`0IR"@);@1!8
M0TU/`4-)3E@(0T1!5`A;AA=#24Y80T1!5`$`0#!-6#`Q"$U8,#((6X!%0TU"
M`0L``PH"6X$014--0@%-24Y8"$U$050(6X9/!TU)3EA-1$%4`0!`04U"0T0(
M`$@%3U]20@$``TU"4S,!``)-0E,T`0`"1$M!4`$``U-?04,!``$`!4U"5%,!
M``(`"``!0E!7,`8``0`!1E!7,08``0`(``%,4%<R!@`!`$`%4T-?4 at A"24Y8
M"$)$050(0D--1`@`($U#240("$-44$(1#@H++3$W0$E/4E=D9FD(35100A$.
M"@LM,3=`24]25V1F:0A05%!"$0X*"RTQ-T!)3UA<4E9I"$)44$(1#@H+,C9)
M3U)76EX]1FD(1E100A$."@LM,3=`0TI,4%576 at A35%!"$0X*"RTQ-T!#2DQ0
M2$Y:"%144$(1#@H+,C9#1T=,3%`]1%H(5%)/3 at H`%$,.0TA'5`%P7"Y?4T)?
M4D1%0PK78'![8`H!`&"@,I-@"@&@#I-H"@!P1E100D-44$*@#I-H"@%P4U10
M0D-44$*@#I-H"@)P5%100D-44$*A+J`.DV@*`'!-5%!"0U100J`.DV@*`7!0
M5%!"0U100J`.DV@*`G!"5%!"0U100HQ#5%!""@A04U!,C$-44$(*"5!34$B,
M0U100 at H*0U)45'!04U!,4$%33'!04U!(4$%32'!005-(4%1-4'!#4E140U14
M4%PN7U-"7U=214,*PE!!4TA<+E]30E]74D5#"L%005-,"%Q44$]+"@`(4$Q#
M60H!"$-435`*``A41E-4"@`(14%#,`HM"%1-4$P*+0A435!("D8(0T934`H`
M"%!435`*:`A005-("EH(4$%33`I:"$-45%`*:11'%U-4158!C$-44$(*`%10
M3#",0U100 at H!5%!(,(Q#5%!""@)44$PQC$-44$(*`U102#&,0U100 at H$5%!,
M,HQ#5%!""@544$@RC$-44$(*!E103#.,0U100 at H'5%!(,XQ#5%!""@A04U!,
MC$-44$(*"5!34$B,0U100 at H*0U)45'!44$PP14%#,'!H8*`>E6!44$@P<`H`
M5$U03'!44$@P5$U02'`*`$-&4U"A2PF@)Y"58%102#&48%103#!P5%!,,%1-
M4$QP5%!(,51-4$AP"@%#1E-0H4`'H">0E6!44$@RE&!44$PQ<%103#%435!,
M<%102#)435!(<`H"0T934*%%!*`GD)5 at 5%!(,Y1 at 5%!,,G!44$PR5$U03'!4
M4$@S5$U02'`*`T-&4U"A&G!44$PS5$U03'!#4E145$U02'`*!$-&4U!<+E]3
M0E]74D5#"IU435!,7"Y?4T)?5U)%0PJ>5$U02%PN7U-"7U=214,*H$-&4U`(
M1C%35`H`$$XJ7%]46E];A#!01D$Q````%`M?4U1!`*1&,5-4%`U?3TY?`'`*
M`48Q4U04#5]/1D8`<`H`1C%35%N"*$9!3C$(7TA)1`Q!T`P+"%]5240*`@A?
M4%(P$@P!7"Y?5%I?4$9!,0A%5$-""@!;A4<65%I#4A1)#U]435`(H`R34T-?
M4 at IWI`N`#*!.#45#3TZ@$$1&14-P"@!$1D5#I`N`#'!<+E]30E]21$5#"IQ@
M<&!#5$U0H$0$DU103TL*`'!<+E]30E]21$5#"IUA<%PN7U-"7U)$14,*GF*@
M%9&2DU1-4$QADI-435!(8E-4159 at H0AP"@%44$]+H!^35$935`H`0TA'5$-,
M351P"@%41E-44U1%5D-435"A/W!435!(87!435!,8J`0D95 at 8I1@85-4159#
M5$U0H2!P7"Y?4T)?4D1%0PJ>8*`0DI- at 5$U02%-4159#5$U0I'(+K`IW0U1-
M4`H*``"A!:0+@`P4&5]!0S$`<$5!0S!@<F`+$0%@=V`*"F"D8`A?04PQ$@P!
M7"Y?5%I?1D%.,1047T-25`"D<@NL"G=#5%10"@H``!0,7U-#4`%P:%!,0UD(
M7U!33!(,`5PN7U!27T-053`(7U134`J66X5'!%1:5E(4*U]435`(H!Y%0T].
M<%PN7U-"7U)$14,*RV"D<@NL"G=@"@H``*$%I`N`#!047T-25`"D<@NL"G=#
M5%10"@H``%N%1P146E9,%"M?5$U0"*`>14-/3G!<+E]30E]21$5#"L]@I'(+
MK`IW8`H*``"A!:0+@`P4%%]#4E0`I'(+K`IW0U144`H*``!;A4<$5%I#3!0K
M7U1-4`B@'D5#3TYP7"Y?4T)?4D1%0PK.8*1R"ZP*=V`*"@``H06D"X`,%!1?
M0U)4`*1R"ZP*=T-45%`*"@``%$8$1T544`F@#Y-[:`H)``H`I`S_____H`V3
M>V@*"0`*"*0+A`-Z>V at +``,`"@A@>GMH"P`P``H,8:1W"AYT"@ER8&$````4
M,$=$34$-H"-HH`>0:6RD"A2@#I!J;*1W=`H$:P`*#P"D=W0*!&L`"AX`I`S_
M____%!]'1514":1W"AYT"@ER>WIH"@(`"@,`>V@*`P`````41 at 9'151&"PA4
M35!&"@"@#6A]5$U01 at H!5$U01J`1>VH*`@!]5$U01 at H"5$U01J`-:7U435!&
M"@1435!&H!%[:@H@`'U435!&"@A435!&H!)[:@L`0`!]5$U01 at H05$U01J14
M35!&%#Y31510"Z`(E&@*\*0*"*$NH"A[:0H"`*`0D)*4:`IX>VH*`@"D"P$C
MH!"0DI1H"K1[:@H!`*0+`2&D"P$0%#M31$U!":`)DI1H"A2D"@&@"9*4:`H>
MI`H"H`F2E&@*+:0*`:`)DI1H"CRD"@*@"9*4:`I:I`H!I`H`%#!31514"Z`F
M>VD*`@"@#Y"2E&@*>'MJ"@(`I`H+H`^0DI1H"K1[:@H!`*0*":0*!!")#`5<
M7U-"7UN"2`A!0U]?"%](240-04-023`P,#,`"%]00TP2$0)<7U-"7UPN7U-"
M7T)!5#$4005?4%-2`*`+DU-#7U(*=Z0*`:$]H#=%0T].<%PN7U-"7U)$14,*
MDF!P>V`*"`!@>F`*`V!P"@!<+P1?4T)?4$-),$Q00T)#-$,SI&"A`Z0!%`E?
M4U1!`*0*#PA"248Q$C<-"@$,_____PS_____"@$,_____PS_____#/____\,
M_____PS_____#2``#2``#4QI+4D`#0`(0E-4,1(1!`H!#/___P\,____#PM<
M*UN"0#1"050Q"%](240,0=`,"@A?54E$"@$(7U!#3!('`5Q?4T)?%$(%7U-4
M00"@%I-$1D5#"@&@"$)35$&D"A^A!*0*#Z`N14-/3G!<+E]30E]21$5#"I1@
M<'M@"@$`8'!@0E-40:`(DV`*`:0*'Z$$I`H/H02D"@\42A9?0DE&`*`-DT1&
M14,*`:1"248QH$$314-/3G!<+E]30E]21$5#"JI@<%PN7U-"7U)$14,*JV5Y
M90H(97)@96!P7"Y?4T)?4D1%0PJL87!<+E]30E]21$5#"JUE>64*"&5R865A
M<&&(0DE&,0H!`'!@B$))1C$*`@!P"Y at ZB$))1C$*!`!P"@!B<&*(0DE&,0H%
M`'`*`&1P9(A"248Q"@8`=&)D9G!FB$))1C$*!P!T8&)G<&>(0DE&,0H(`'!<
M+E]30E]21$5#"M]@<'M@"@\`8*`@DV`*`7`-4$$S-#`P52TQ0D%3+T)24P"(
M0DE&,0H)`*$<<`U003,S.3E5+3%"05,O0E)3`(A"248Q"@D`<%PN7U-"7U)$
M14,*N6!P7"Y?4T)?4D1%0PJZ97EE"@AE<F!E8'!)5$]38&%P88A"248Q"@H`
MH1UP#/____^(0DE&,0H!`'`,_____XA"248Q"@0`I$))1C$4315?0E-4`*`\
MDU-#7U(*=W`*`HA"4U0Q"@``<`O<!8A"4U0Q"@$`<`O0.8A"4U0Q"@(`<`O0
M.8A"4U0Q"@,`I$)35#&@#9-$1D5#"@&D0E-4,:!.#$5#3TYP7"Y?4T)?4D1%
M0PJ487![80H0`&%Z80H$87!<+E]30E]21$5#"I5@<'M@"@$`8'EA"@%B?6!B
M8W!<+E]30E]21$5#"L9B=V(+``%A<%PN7U-"7U)$14,*Q6!R86!A<&&(0E-4
M,0H!`'![7"Y?4T)?4D1%0PJD"G\`8*`*E6`*#WUC"@1C<&.(0E-4,0H``'"#
MB$))1C$*`@!A=V%@8GAB"F1C8G)B"@IB<&*(0E-4,0H"`'"#B$))1C$*!`!C
M<&.(0E-4,0H#`*$V<`H!B$)35#$*``!P#/____^(0E-4,0H!`'`,_____XA"
M4U0Q"@(`<`S_____B$)35#$*`P"D0E-4,10R251/4P%P#0!@<`H$8:(A879A
M>WIH>6$*`@``"@]D<(.(0TA!4F0`8G- at 8F5P96"D8`A#2$%2$C(0#3``#3$`
M#3(`#3,`#30`#34`#38`#3<`#3@`#3D`#4$`#4(`#4,`#40`#44`#48`6X).
M!$Q)1#`(7TA)1`Q!T`P-%#%?3$E$`*`E14-/3G!<+E]30E]21$5#"I)@<'M@
M"@$`8*`%8*0*`*$$I`H!H02D"@$(7U!25Q(&`@H8"@1;@@]05U)""%](240,
M0=`,#%N"BXT$4$-),!1,!E])3DD`<`H!1$M/5'`*`4=5242@)UL27T]326!P
M"@!-64]3H!>00T9'1`L`0'`*,E--249P"@!44E`PH2Z@$).'7T]37PH4<`H!
M35E/4Z$;H!"3AU]/4U\*)W`*`DU93U.A"'`*`TU93U,4"5]3,T0`I`H"%`E?
M4S1$`*0*`@A?2$E$#$'0"@@(7T-)1`Q!T`H#"%]!1%(*``A?0D)."@!;@$A"
M55,""D`*P%N!1P=(0E53`P!`*``$4$TP2`(``E!-,4P"``)033%(`@`"4$TR
M3`(``E!-,D@"``)033-,`@`"4$TS2`(``E!--$P"``)0331(`@`"4$TU3`(`
M`E!--4@"``)0339,`@`"4$TV2`(``@`'2$5.00$`(``#5$]51`4(0E5&,!%+
M'@OF`8 at .``(,``````#_``````$`AQ@``0P#``````````#W#````````/@,
M````1P'X#/@,`0B'&``!#`,```````T``/__`````````/,```"'&```#`,`
M```````*`/__"P`````````"``"'&```#`,````````,`/\_#````````$``
M``"'&```#`,``````$`,`/]_#````````$````"'&```#`,``````(`,`/^_
M#````````$````"'&```#`,``````,`,`/__#````````$````"'&```#`,`
M```````-`/\_#0```````$````"'&```#`,``````$`-`/]_#0```````$``
M``"'&```#`,``````(`-`/^_#0```````$````"'&```#`,``````,`-`/__
M#0```````$````"'&```#`,````````.`/\_#@```````$````"'&```#`,`
M`````$`.`/]_#@```````$````"'&```#`,``````(`.`/^_#@```````$``
M``"'&```#`,``````,`.`/__#@```````$````"'&```#`,````````/`/__
M#P`````````!``"'&```#`,``````````/__O_X```````````!Y`!1.+5]#
M4E,(H!9033%,BD)51C`*@$,P3$YP`$,P3$Z@&I-033%,"@&-0E5&,`MX`T,P
M4E=P`$,P4E>@%E!-,4B*0E5&,`J;0S1,3G``0S1,3J`:DU!-,4@*`8U"548P
M"U`$0S125W``0S125Z`64$TR3(I"548P"K9#.$Q.<`!#.$Q.H!J34$TR3`H!
MC4)51C`+*`5#.%)7<`!#.%)7H!9033)(BD)51C`*T4-#3$YP`$-#3$Z@&I-0
M33)("@&-0E5&,`L`!D-#4E=P`$-#4E>@%E!-,TR*0E5&,`KL1#!,3G``1#!,
M3J`:DU!-,TP*`8U"548P"]@&1#!25W``1#!25Z`74$TS2(I"548P"P<!1#1,
M3G``1#1,3J`:DU!-,T@*`8U"548P"[`'1#125W``1#125Z`74$TT3(I"548P
M"R(!1#A,3G``1#A,3J`:DU!--$P*`8U"548P"X@(1#A25W``1#A25Z`74$TT
M2(I"548P"ST!1$-,3G``1$-,3J`:DU!--$@*`8U"548P"V`)1$-25W``1$-2
M5Z`74$TU3(I"548P"U@!13!,3G``13!,3J`:DU!--4P*`8U"548P"S@*13!2
M5W``13!25Z`74$TU2(I"548P"W,!131,3G``131,3J`:DU!--4@*`8U"548P
M"Q`+13125W``13125Z`74$TV3(I"548P"XX!13A,3G``13A,3J`:DU!--DP*
M`8U"548P"^@+13A25W``13A25Z`74$TV2(I"548P"ZD!14-,3G``14-,3J`:
MDU!--D@*`8U"548P"\`,14-25W``14-25Z`74$TP2(I"548P"\0!1C!,3G``
M1C!,3J`:DU!-,$@*`8U"548P"Y at -1C!25W``1C!25XI"548P"],!33%-3HI"
M548P"]<!33%-6(I"548P"]\!33%,3GE43U5$"AM-,4U.<G1-,4U833%-3@`*
M`4TQ3$ZD0E5&,!1!*5]04E0`H$\,1U!)0Z021PP.$@T$#/__`0`*``H`"A`2
M#00,__\<``H`"@`*$1(-!`S__QP`"@$*``H0$@T$#/__'``*`@H`"A(2#00,
M__\<``H#"@`*$Q(-!`S__QT`"@`*``H7$@T$#/__'0`*`0H`"A,2#00,__\=
M``H""@`*$A(-!`S__QT`"@,*``H0$@T$#/__'@`*``H`"A$2#00,__\>``H!
M"@`*%!(-!`S__Q\`"@`*``H2$@T$#/__'P`*`0H`"A,2#00,__\?``H""@`*
M$*%)&Z0211L.$AX$#/__`0`*`%PO!%]30E]00TDP3%!#0DQ.2T$*`!(>!`S_
M_QP`"@!<+P1?4T)?4$-),$Q00T),3DM""@`2'@0,__\<``H!7"\$7U-"7U!#
M23!,4$-"3$Y+00H`$AX$#/__'``*`EPO!%]30E]00TDP3%!#0DQ.2T,*`!(>
M!`S__QP`"@-<+P1?4T)?4$-),$Q00T),3DM$"@`2'@0,__\=``H`7"\$7U-"
M7U!#23!,4$-"3$Y+2`H`$AX$#/__'0`*`5PO!%]30E]00TDP3%!#0DQ.2T0*
M`!(>!`S__QT`"@)<+P1?4T)?4$-),$Q00T),3DM#"@`2'@0,__\=``H#7"\$
M7U-"7U!#23!,4$-"3$Y+00H`$AX$#/__'@`*`%PO!%]30E]00TDP3%!#0DQ.
M2T(*`!(>!`S__QX`"@%<+P1?4T)?4$-),$Q00T),3DM%"@`2'@0,__\?``H`
M7"\$7U-"7U!#23!,4$-"3$Y+0PH`$AX$#/__'P`*`5PO!%]30E]00TDP3%!#
M0DQ.2T0*`!(>!`S__Q\`"@)<+P1?4T)?4$-),$Q00T),3DM!"@!;@D,(4$12
M0PA?2$E$#$'0#`((7U5)1`H!"%]#4E,11 at 8*8H8)``$```#@````$(8)``$`
M0-'^`$```(8)``$`@-'^`!```(8)``$`D-'^`!```(8)``$`@`#P`$```(8)
M``$``,#^`!```(8)``$``.#^`!```(8)``$``-+^```'`'D`6X)/'U!%1U`(
M7T%$4 at P```$`6X)/$E9'05\(7T%$4 at H`"$-25$$*`0A,0T1!"@$(5%9!1 at H`
M"$1624$*``A43T=&"@`4&E]$3T0`I!(2!`P``0$`#!`!`0`+``(+(`%;@C=#
M4E1?"%]!1%(+``$4%%]$0U,`H`A#4E1!I`H?H02D"AT4%%]$1U,`H`A#4E1!
MI`H!H02D"@!;@C=,0T1?"%]!1%(+$`$4%%]$0U,`H`A,0T1!I`H?H02D"AT4
M%%]$1U,`H`A,0T1!I`H!H02D"@!;@C=45E]?"%]!1%(+``(4%%]$0U,`H`A4
M5D%&I`H?H02D"AT4%%]$1U,`H`A45D%&I`H!H02D"@!;@C=$5DE?"%]!1%(+
M(`$4%%]$0U,`H`A$5DE!I`H?H02D"AT4%%]$1U,`H`A$5DE!I`H!H02D"@`4
M30M?4%)4`*`Y1U!)0Z02, at 02"P0+__\*``H`"A`2"P0+__\*`0H`"A$2"P0+
M__\*`@H`"A(2"P0+__\*`PH`"A.A2P>D$D<'!!(<!`O__PH`7"\$7U-"7U!#
M23!,4$-"3$Y+00H`$AP$"___"@%<+P1?4T)?4$-),$Q00T),3DM""@`2'`0+
M__\*`EPO!%]30E]00TDP3%!#0DQ.2T,*`!(<!`O__PH#7"\$7U-"7U!#23!,
M4$-"3$Y+1`H`6X)`%%)0,#$(7T%$4 at P``!P`6X!0,4-3`@I`"P`!6X%)!%`Q
M0U-``$`(05!-0P(``E)03$0!4E!23`$`2 at 1!0E`Q`0`"4$1#,0$``E!$4S$!
M`"D`$%!34#$!`$\\`!Y(4$-3`5!-0U,!6X(,4%A3,0A?0412"@`(7U!25Q(&
M`@H)"@043 at M?4%)4`*`Z7$=024.D$C($$@L$"___"@`*``H0$@L$"___"@$*
M``H1$@L$"___"@(*``H2$@L$"___"@,*``H3H4L'I!)'!P02'`0+__\*`%PO
M!%]30E]00TDP3%!#0DQ.2T$*`!(<!`O__PH!7"\$7U-"7U!#23!,4$-"3$Y+
M0 at H`$AP$"___"@)<+P1?4T)?4$-),$Q00T),3DM#"@`2'`0+__\*`UPO!%]3
M0E]00TDP3%!#0DQ.2T0*`%N"2A124#`R"%]!1%(,`0`<`%N`4#)#4P(*0`L`
M`5N!2010,D-30`!`"$%034,"``)24$Q$`5)04DP!`$H$04)0,@$``E!$0S(!
M``)01%,R`0`I`!!04U`R`0!//``>2%!#4P%034-3`5N"%E!84S((7T%$4 at H`
M%`E?4DU6`*0*`0A?4%)7$@8""@D*!!1."U]04E0`H#I<1U!)0Z02, at 02"P0+
M__\*``H`"A$2"P0+__\*`0H`"A(2"P0+__\*`@H`"A,2"P0+__\*`PH`"A"A
M2P>D$D<'!!(<!`O__PH`7"\$7U-"7U!#23!,4$-"3$Y+0 at H`$AP$"___"@%<
M+P1?4T)?4$-),$Q00T),3DM#"@`2'`0+__\*`EPO!%]30E]00TDP3%!#0DQ.
M2T0*`!(<!`O__PH#7"\$7U-"7U!#23!,4$-"3$Y+00H`6X)*%%)0,#,(7T%$
M4 at P"`!P`6X!0,T-3`@I`"P`!6X%)!%`S0U-``$`(05!-0P(``E)03$0!4E!2
M3`$`2 at 1!0E`S`0`"4$1#,P$``E!$4S,!`"D`$%!34#,!`$\\`!Y(4$-3`5!-
M0U,!6X(64%A3,`A?0412"@`4"5]2358`I`H!"%]04E<2!@(*"0H$%$X+7U!2
M5`"@.EQ'4$E#I!(R!!(+!`O__PH`"@`*$A(+!`O__PH!"@`*$Q(+!`O__PH"
M"@`*$!(+!`O__PH#"@`*$:%+!Z021P<$$AP$"___"@!<+P1?4T)?4$-),$Q0
M0T),3DM#"@`2'`0+__\*`5PO!%]30E]00TDP3%!#0DQ.2T0*`!(<!`O__PH"
M7"\$7U-"7U!#23!,4$-"3$Y+00H`$AP$"___"@-<+P1?4T)?4$-),$Q00T),
M3DM""@!;@D(34E`P-`A?0412#`,`'`!;@%`T0U,""D`+``%;@4D$4#1#4T``
M0`A!4$U#`@`"4E!,1`%24%),`0!*!$%"4#0!``)01$,T`0`"4$13-`$`*0`0
M4%-0-`$`3SP`'DA00U,!4$U#4P$(7U!25Q(&`@H)"@043 at M?4%)4`*`Z7$=0
M24.D$C($$@L$"___"@`*``H3$@L$"___"@$*``H0$@L$"___"@(*``H1$@L$
M"___"@,*``H2H4L'I!)'!P02'`0+__\*`%PO!%]30E]00TDP3%!#0DQ.2T0*
M`!(<!`O__PH!7"\$7U-"7U!#23!,4$-"3$Y+00H`$AP$"___"@)<+P1?4T)?
M4$-),$Q00T),3DM""@`2'`0+__\*`UPO!%]30E]00TDP3%!#0DQ.2T,*`%N"
M1PA54T(Q"%]!1%(,```=`%N`53%#4P(*Q`H$6X$+53%#4P-5,45.`@A05S$Q
M$@8""@,*``A05S$R$@8""@,*!!087U!25P"@"DU93U.D4%<Q,J$&I%!7,3$4
M&5]04U<!H`EH<`H#53%%3J$(<`H`53%%3A0)7U,S1`"D"@(4"5]3-$0`I`H"
M6X)'"%530C((7T%$4 at P!`!T`6X!5,D-3`@K$"@1;@0M5,D-3`U4R14X""%!7
M,C$2!@(*!`H`"%!7,C(2!@(*!`H$%!A?4%)7`*`*35E/4Z105S(RH0:D4%<R
M,1097U!35P&@"6AP"@-5,D5.H0AP"@!5,D5.%`E?4S-$`*0*`A0)7U,T1`"D
M"@);@D<(55-",PA?0412#`(`'0!;@%4R0U,""L0*!%N!"U4R0U,#53-%3@((
M4%<S,1(&`@H,"@`(4%<S,A(&`@H,"@04&%]04E<`H`I-64]3I%!7,S*A!J10
M5S,Q%!E?4%-7`:`):'`*`U4S14ZA"'`*`%4S14X4"5]3,T0`I`H"%`E?4S1$
M`*0*`EN"1PA54T(T"%]!1%(,`P`=`%N`531#4P(*Q`H$6X$+531#4P-5-$5.
M`@A05S0Q$@8""@X*``A05S0R$@8""@X*!!087U!25P"@"DU93U.D4%<T,J$&
MI%!7-#$4&5]04U<!H`EH<`H#531%3J$(<`H`531%3A0)7U,S1`"D"@(4"5]3
M-$0`I`H"6X)!!%530C<(7T%$4 at P'`!T`"%!7-S$2!@(*#0H`"%!7-S(2!@(*
M#0H$%!A?4%)7`*`*35E/4Z105S<RH0:D4%<W,5N"2S500TE""%]!1%(,```>
M`%N"3P1#05)$"%]!1%(,```&`%N`0U)%1P(*``L``5N!#4-214<#``A#1$E$
M"!0C7U)%1P*@')-H"@.@%I-I"@&@$)-#1$E$"T2L<`H!5$E#3UN"10A&0U)$
M%!Q?0412`*`-@%1)0T\`I`P!``8`H0>D#`(`!@!;@$9214<""A,*$%N!"T92
M14<#345-0@@4201?4U1!`*`\13,Y-*`S@$=5240`H"M<+P5?4T)?4$-),%!#
M24)&0U)$345-0EPN7U-"7T=334D*$W`*`4=5242D"@^A!*0*`!1,#U]04E0`
MH$$%1U!)0Z02200%$@T$#/__!``*``H`"A(2#00,__\&``H`"@`*$A(-!`S_
M_P8`"@$*``H3$@T$#/__!@`*`@H`"A82#00,__\&``H#"@`*%*%""J023 at D%
M$AX$#/__!``*`%PO!%]30E]00TDP3%!#0DQ.2T$*`!(>!`S__P8`"@!<+P1?
M4T)?4$-),$Q00T),3DM#"@`2'@0,__\&``H!7"\$7U-"7U!#23!,4$-"3$Y+
M1`H`$AX$#/__!@`*`EPO!%]30E]00TDP3%!#0DQ.2T<*`!(>!`S__P8`"@-<
M+P1?4T)?4$-),$Q00T),3DM%"@!;@D071$]#2PA?2$E$#$'0"@8(7U5)1`H!
M%$H'7T1#2P&@.6B@,Y"2DTU93U,*`9-$2T%0"@!P7"Y?4T)?4D1%0PJ28'!]
M8`J``&!<+E]30E]74D5#"I)@I`H!H3B@,Y"2DTU93U,*`9-$2T%0"@!P7"Y?
M4T)?4D1%0PJ28'![8`I_`&!<+E]30E]74D5#"I)@I`H!%$0)7U-400"@101%
M0T].H`^31$M!4`H!<`H`4%)35*$N<%PN7U-"7U)$14,*DF!P>V`*@`!@>F`*
M!V"@"6!P"@]04E-4H0AP"@!04E-4H4$$H`^31$M!4`H!<`H`4%)35*$N<%PN
M7U-"7U)$14,*DF!P>V`*@`!@>F`*!V"@"6!P"@]04E-4H0AP"@!04E-4I%!2
M4U04"5]"1$X`I`H!%#Q?14HP`:`U:%LF7D1+4E%;)5Y$2U)1"P`4<%PN7U-"
M7U)$14,*DF!P>V`*?P!@7"Y?4T)?5U)%0PJ28%L"1$M245N"#T%51#`(7T%$
M4 at P"`!X`6X(;34]$30A?0412#`,`'@`(7U!25Q(&`@H%"@1;@HRS`4Q00T((
M7T%$4 at P``!\`6X!,4$,P`@I`"L!;@4`%3%!#,```0!!005)#"%!"4D,(4$-2
M0PA01%)#"``@4$520PA01E)#"%!'4D,(4$A20P@`0`I)3T0P"$E/1#$(0TU!
M10$`3PX`!T,T0S,!6X)%"DQ.2T$(7TA)1`Q!T`P/"%]5240*`10-7T1)4PAP
M"H!005)#"%]04E,1"0H&(R`(&'D`%#I?0U)3"`A25$Q!$0D*!B,``!AY`(M2
M5$Q!"@%)4E$P<`!)4E$P>0H!>U!!4D,*#P!)4E$PI%)43$$4'%]34E,)BV@*
M`4E243""25)1,&!V8'!@4$%20Q087U-400B@#'M005)#"H``I`H)H02D"@M;
M at D4*3$Y+0 at A?2$E$#$'0#`\(7U5)1`H"%`U?1$E3"'`*@%!"4D,(7U!24Q$)
M"@8C(`P8>0`4.E]#4E,("%)43$(1"0H&(P``&'D`BU)43$(*`4E243!P`$E2
M43!Y"@%[4$)20PH/`$E243"D4E1,0A0<7U-24PF+:`H!25)1,())4E$P8'9@
M<&!00E)#%!A?4U1!"*`,>U!"4D,*@`"D"@FA!*0*"UN"10I,3DM#"%](240,
M0=`,#PA?54E$"@,4#5]$25,(<`J`4$-20PA?4%)3$0D*!B,@"!AY`!0Z7T-2
M4P@(4E1,0Q$)"@8C```8>0"+4E1,0PH!25)1,'``25)1,'D*`7M00U)#"@\`
M25)1,*125$Q#%!Q?4U)3"8MH"@%)4E$P at DE243!@=F!P8%!#4D,4&%]35$$(
MH`Q[4$-20PJ``*0*":$$I`H+6X)%"DQ.2T0(7TA)1`Q!T`P/"%]5240*!!0-
M7T1)4PAP"H!01%)#"%]04E,1"0H&(R`,&'D`%#I?0U)3"`A25$Q$$0D*!B,`
M`!AY`(M25$Q$"@%)4E$P<`!)4E$P>0H!>U!$4D,*#P!)4E$PI%)43$04'%]3
M4E,)BV@*`4E243""25)1,&!V8'!@4$120Q087U-400B@#'M01%)#"H``I`H)
MH02D"@M;@D4*3$Y+10A?2$E$#$'0#`\(7U5)1`H%%`U?1$E3"'`*@%!%4D,(
M7U!24Q$)"@8C(`@8>0`4.E]#4E,("%)43$41"0H&(P``&'D`BU)43$4*`4E2
M43!P`$E243!Y"@%[4$520PH/`$E243"D4E1,110<7U-24PF+:`H!25)1,())
M4E$P8'9@<&!015)#%!A?4U1!"*`,>U!%4D,*@`"D"@FA!*0*"UN"10I,3DM&
M"%](240,0=`,#PA?54E$"@84#5]$25,(<`J`4$920PA?4%)3$0D*!B,@!!AY
M`!0Z7T-24P@(4E1,1A$)"@8C```8>0"+4E1,1 at H!25)1,'``25)1,'D*`7M0
M1E)#"@\`25)1,*125$Q&%!Q?4U)3"8MH"@%)4E$P at DE243!@=F!P8%!&4D,4
M&%]35$$(H`Q[4$920PJ``*0*":$$I`H+"$M04E,1"0H&(P`,&'D`"%A04E,1
M"0H&(T``&'D`6X)/"DQ.2T<(7TA)1`Q!T`P/"%]5240*!Q0-7T1)4PAP"H!0
M1U)#%!A?4%)3`*`*35E/4Z1+4%)3H0:D6%!24Q0Z7T-24P@(4E1,1Q$)"@8C
M```8>0"+4E1,1PH!25)1,'``25)1,'D*`7M01U)#"@\`25)1,*125$Q'%!Q?
M4U)3"8MH"@%)4E$P at DE243!@=F!P8%!'4D,4&%]35$$(H`Q[4$=20PJ``*0*
M":$$I`H+6X)%"DQ.2T@(7TA)1`Q!T`P/"%]5240*"!0-7T1)4PAP"H!02%)#
M"%]04E,1"0H&(R`$&'D`%#I?0U)3"`A25$Q($0D*!B,``!AY`(M25$Q("@%)
M4E$P<`!)4E$P>0H!>U!(4D,*#P!)4E$PI%)43$@4'%]34E,)BV@*`4E243""
M25)1,&!V8'!@4$A20Q087U-400B@#'M02%)#"H``I`H)H02D"@M;@CU$34%#
M"%](240,0=`"``A?0U)3$2@*)4<!``````$@1P&!`($``1%'`9,`DP`!#4<!
MP`#```$@*A`!>0!;@B9&5TA$"%](240,)=0(``A?0U)3$1$*#H8)`````(#_
M``"``'D`6X),"DA0150(7TA)1`Q!T`$#"$)51C`1%PH4(@$`(@`!A at D`````
MT/X`!```>0`4)E]35$$`H!&335E/4PH`H`A(4$%%I`H/H0J@"$A0046D"@ND
M"@`41P5?0U)3"*!*!$A0046*0E5&,`H*2%!4,*`2DTA005,*`7`,`!#0_DA0
M5#"@$I-(4$%3"@)P#``@T/Y(4%0PH!*32%!!4PH#<`P`,-#^2%!4,*1"548P
M6X)%"DE024,(7TA)1`M!T`A?0U)3$4$)"HU'`2``(``!`D<!)``D``$"1P$H
M`"@``0)'`2P`+``!`D<!,``P``$"1P$T`#0``0)'`3@`.``!`D<!/``\``$"
M1P&@`*```0)'`:0`I``!`D<!J`"H``$"1P&L`*P``0)'`;``L``!`D<!M`"T
M``$"1P&X`+@``0)'`;P`O``!`D<!T`30!`$"(@0`>0!;@B5-051("%](240,
M0=`,!`A?0U)3$1`*#4<!\`#P``$!(@`@>0!;@D\,3$120PA?2$E$#$'0#`((
M7U5)1`H""%]#4E,10 at L*KD<!+@`N``$"1P%.`$X``0)'`6$`80`!`4<!8P!C
M``$!1P%E`&4``0%'`6<`9P`!`4<!<`!P``$!1P&``(```0%'`9(`D@`!`4<!
ML@"R``$"1P$``P`#`7!'`0`(``@!$$<!`!``$`&`1P$`$P`3`4"&"0`!````
MX````!"&"0`!`(``\`!```"&"0`!`$#1_@!```"&"0`!`(#1_@`0``"&"0`!
M`)#1_@`0``!Y`%N"0`525$-?"%](240,0=`+``A"548P$0T*"D<!<`!P``$(
M>0`(0E5&,1$0"@U'`7``<``!""(``7D`%!9?0U)3"*`*2%!!1:1"548PI$)5
M1C%;@D`&5$E-4 at A?2$E$#$'0`0`(0E5&,!$5"A)'`4``0``!!$<!4`!0`!`$
M>0`(0E5&,1$8"A5'`4``0``!!$<!4`!0`!`$(@$`>0`4%E]#4E,(H`I(4$%%
MI$)51C"D0E5&,5N"36A%0S!?"%](240,0=`,"0A?0U)3$14*$D<!8@!B``$!
M1P%F`&8``0%Y`%N`14-&,@,*``K_6X%$'5PO!5]30E]00TDP3%!#0D5#,%]%
M0T8R$0!`&%!"04,!`$\O3%-#20A,2$M9"$Q)1$,!1$M/3@%&3DM0`4%#4U0!
M0DQ7,0%"3%<R`0`"4TU)10%73%-4`4)44E,!5TQ/3@%"5$M)`4)44U0!0E1)
M5`%"5%!7`4(Q4U0!0C)35`$``D(Q0T<!0C)#1P$``D(Q1$,!0C)$0P$``D(Q
M1D,!0C)&0P$``D(Q3#$!0C),,0$``D(Q3#(!0C),,@$``D(Q0T$!0C)#00$`
M`D(Q0T0!0C)#1`$``D(Q0U,"0C)#4P(`!$PQ4#$'``%,,5`R!P`!0E!/1`<`
M`4-#4%0'``%,5$U0!P`!2%1-4`<``5-435`'``%&04Y3!P`!4T))1`,`!0`!
M5TQ)1`%74%=2`5="3#(!5T1#2P$``T)224<(0C%"3`<``4(R0DP'`!%20T(Q
M$$Q&0S$01$53,1!20T(R$$Q&0S(01$53,A``$$5,240!14M"1`%%3$%.`0`-
M14-,2P%%5%,T`0`&0C%33A!",E-.$$(Q4%(0`!!42$Q/"%1(2$D(0C)04A!"
M5%!2$``@0T-65`<`$4Q#5E0'`$D&0C%24P1",E)3!$(Q348$0C)-1 at 1;`4U5
M5#$`"%]'4$4*$!0-7U!3,`!P"@!$1D5#%`U?4%,S`'`*`41&14,4005?4D5'
M`J!)!)-H"@. at .9-I"@%P"@%%0T].<%PN7U-"7U)$14,*DF!P>V`*"`!@>F`*
M`V"@"6!P"@%37T%#H0AP"@!37T%#H0AP"@!%0T].%$@$7U$Q,0!P7"Y?4T)?
M4D1%0PJ<8'![8`I_`&!35$568(9<+E]46E]46E92"H"&7"Y?5%I?5%I63`J`
MAEPN7U1:7U1:0TP*@!1.!5]1,3,`<%PN7U-"7U)$14,*DF!P>V`*"`!@>F`*
M`V"@/)*38%-?04.@#)-@"@%P"@%37T%#H0AP"@!37T%#6R(*,H9<+E]30E]!
M0U]?"H"&7"Y?4T)?0D%4,0J`%$,$7U$Q-`"&7"Y?4T)?3$E$,`J`<%PN7U-"
M7U)$14,*DF"@$GM@"@$`7"Y?4T)?1U--20H;H0U<+E]30E]'4TU)"AP4$U]1
M,38`AEPN7U-"7U!74D(*@!1-!U]1,3<`H$4'D)*335E/4PH!@$1+05``<%PN
M7U-"7U)$14,*DF!P>V`*@`!@>F`*!V"@&&"&7"\$7U-"7U!#23!00TE"1$]#
M2PH`H3"&7"\$7U-"7U!#23!00TE"1$]#2PH!6R1<+P5?4T)?4$-),%!#24)$
M3T-+1$M2410I7U$Q.0"@(I-$1D5#"@"&7"Y?4T)?0D%4,0J`AEPN7U-"7T)!
M5#$*@10S7U$R-0"@+)-$1D5#"@!<+E]30E]'4TU)"@5P7"Y?4T)?4D1%0PK3
M8*`)DV`*`E9'05,4201?43(V`*!!!)-$1D5#"@!P7"Y?4T)?4D1%0PK38*`1
MDV`*`5PN7U-"7T=334D*"Z`7DV`*`EPN7U-"7U=214,*S0H!5D=!4Q1*"E]1
M,C@`H$4)14-/3J!."%PO!5]30E]00TDP3%!#0D5#,%]"5%-4H$0'7"\%7U-"
M7U!#23!,4$-"14,P7T)42TEP"@%<+P5?4T)?4$-),$Q00T)%0S!?0E105ULB
M"S0(<`H!7"\%7U-"7U!#23!,4$-"14,P7T)4251;(@HR<`H!7"\%7U-"7U!#
M23!,4$-"14,P7T)44E-;(@IDAEPN7U-"7T)47U\*`!067U$S,@!<+E]30E]'
M4TU)"A=;(@H4%!9?43,S`%PN7U-"7T=334D*&%LB"A043P9?430P`%PN7U-"
M7T=334D*$G!!4$U$0TQ-5$-(1U1#3$U4<%PN7U-"7U)$14,*G&!P>V`*?P!@
M4U1%5F"&7"Y?5%I?5%I#4 at J!H".01$M/5$1+05"&7"\#7U-"7U!#23!00TE"
M"@!P"@!$2T]4%$4$7U$T,0!P"@!$1D5#7"Y?4T)?1U--20H@<$%0341!0U!3
MH"&2DT%#4%-304-0AEPN7U!27T-053`*@'!!0U!34T%#4!0 at 7U$T,@"&7"Y?
M4T)?04-?7PH`AEPN7U-"7T)!5#$*@!0*7U$U,@!61T%3%"-?43DY`%LB"]`'
MH!='4#,SAEPO`U]30E]00TDP4E`P, at H`6X(Z4%,R2PA?2$E$#$'0`P,(7U!2
M5Q(&`@H8"@0(7T-24Q$9"A9'`6``8``!`4<!9`!D``$!(P(``7D`6X(T4%,R
M30A?2$E$#$\N$0$(7T-)1!(1`PQ/+A$`#$\N``(,0=`/$PA?0U)3$0@*!2(`
M$'D`6X)#L%-)3T0(7TA)1`Q!T`H%"$)!4T4*+EN`4S<V.0%"05-%"@);@1!3
M-S8Y`4%)3E@(041400A;AD$&04E.6$%$5$$!`#A,1$Y3"`!`%$%#5%(!``<`
M2!=035-""%!,4T((4TU30 at A33%-""`!`!DE.5$P$``0`&$1-04,#``4`2#U0
M4$U$`P`%``)&2$15`5-0340#35583P);`4U55#``%!553DQ+`%LC3554,/\/
M<`I504E.6!033$M54`!P"JI!24Y86R=-550P%`Q33$1.`7!H3$1.4PA$34%0
M$@H$"@`*`0H""@-;@DT>14-07PA?2$E$#$'0!`$4-E]35$$`H"-%4%)4H!>0
MDU!465`*`Y*33%!410H`<%!35$%@H05P"@!@H0EP"@!@4$1)4Z1@%`I?1$E3
M`%!$25,(14-24Q$;"AA'`7@#>`,`""*``$<!>`=X!P`$*@@`>0`430M?0U)3
M`%L314-24PH`"EA,4%12<%!#4E-,4%12C$5#4E,*`D5!1$R,14-24PH#14%$
M38Q%0U)3"@U%05-,C$5#4E,*#D5!1%.,14-24PH/14%,3(Q%0U)3"A!%040R
MBT5#4E,*%$5#4$1R14%$30H$14%$4W!%041314%$,G!%041,14%33'!%041,
M14%,3%5.3$M33$1."@-PB41-05`!1$U!0P`*``H`8'D*`6!%0U!$3$M54*1%
M0U)3"$504E,10`D*C#!'`7@#>`,`""*``$<!>`=X!P`$*@(`,$<!>`)X`@`(
M(B``1P%X!G@&``0J`@`P1P&\`[P#``0B@`!'`;P'O`<`!"H"`#!'`7@#>`,`
M""*``$<!>`=X!P`$*@@`,$<!>`)X`@`((B``1P%X!G@&``0J"``P1P&\`[P#
M``0B@`!'`;P'O`<`!"H(`'D`%`M?4%)3`*1%4%)3%!E?4U)3`55.3$M33$1.
M"@-04U)3:$Q+55!;@D003%!47PA?2$E$#$'0!``4)U]35$$`H!B0DI-,4%1%
M"@"2DU!465`*`W!04U1!8*$%<`H`8*1@%`I?1$E3`%!$25,(3$-24Q$0"@U'
M`7@#>`,`""*``'D`%")?0U)3`%L33$-24PH`"EA,4%12<%!#4E-,4%12I$Q#
M4E,(3%!24Q$I"B8P1P%X`W@#``@B@``P1P%X`G@"``@B(``P1P&\`[P#``0B
M@`!Y``A04%)3$1T*&C!'`7@#>`,`""*``#!'`7@">`(`""(@`'D`%!M?4%)3
M`*`-DU!465`*`J104%)3H0:D3%!24Q097U-24P%53DQ+4TQ$3 at H#4%-24VA,
M2U50%"904U1!`%5.3$M33$1."@.@"4%#5%)P"@]@H05P"@U at 3$M54*1@%$8$
M4$1)4P!53DQ+4TQ$3 at H#<`H`04-44G`*`%!-4T)P"@!03%-"<`H`4TU30G`*
M`%-,4T)P"@!)3E1,<`H$1$U!0TQ+55`(4%)35!$."@M'`7@#>`,`""*``!1+
M"5!#4E,`C%!24U0*`D503$&,4%)35`H#15!-08Q04E-4"@1%4$PQC%!24U0*
M!45033*+4%)35`H)14-028Q04E-4"@=%4$E/54Y,2U-,1$X*`W!035-"15!-
M07!03%-"15!,07!035-"15!-,G!03%-"15!,,:`/DT503$$*O'`*!$5024]Y
M"@%)3E1,14-024Q+55"D4%)35!1*#U!34E,!BV@*`D5!1#"+:`H)14-027`*
M`4%#5%*@%I-05%E0"@!P"@1$34%#<`H`4%!-1*%#!J`6DU!465`*`7`*!$1-
M04-P"@!04$U$H#*34%194`H#C&@*%$5#4$2!14-01&"@!Y1@"@!V8'"#B$1-
M05!@`$1-04-P"@)04$U$H!:34%194`H"<`H$1$U!0W`*`5!0342,:`H"14%$
M3(QH"@-%041(<$5!1$Q03%-"<$5!1$A035-"H"J34%194`H#C&@*#4%$4TR,
M:`H.04132'!!1%-,4TQ30G!!1%-(4TU30H%%0U!)8*`'E&`*`'9@<&!)3E1,
M6X)/"4-/33$(7TA)1`Q!T`4!"%]5240*`!0[7U-400!P34-)1&!P>V`*0`!@
M>F`*!F"@&F"@$9*30TU!1`H`<%535$$*`&"A!7`*`&"A!7`*`&"D8!0,7T1)
M4P!51$E3"@`4)%]#4E,`6Q-525)3"@`*6%524U]P54-24PH`55)37Z1525)3
M%`M?4%)3`*154%)3%`U?4U)3`5534E-H"@!;@DL:1DE27PA?2$E$#$VC\!`(
M7U5)1`H#%#1?4U1!`*`E149)4J`9D)*30TU"1`H`DU5465`*`W!54U1!"@%@
MH05P"@!@H05P"@!@I&`4#%]$25,`541)4PH!%$,$7T-24P!;$T9#4E,*``I8
M55)37XQ&0U)3"@Q)4D1-C$9#4E,*$$9!1%]P54-24PH!55)37U5.3$M,2U50
MI$9#4E,(7U!24Q%."PJZ,$<!^`+X`@`((@@`*@(`1P$0`1`!``@P1P'X`O@"
M``@B"``J`@!'`0`!``$`"#!'`>@#Z`,`""(0`"H"`$<!(`$@`0`(,$<!Z`+H
M`@`((@@`*@(`1P$P`3`!``@P1P'X`_@#``@B$``J"`!'`0`!``$`"#!'`?@"
M^`(`""((`"H(`$<!$`$0`0`(,$<!Z`/H`P`((A``*@@`1P$@`2`!``@P1P'H
M`N@"``@B"``J"`!'`3`!,`$`"'D`%!%?4U)3`7`*`6!54U)3:`H!6X0V4%54
M,@```!0)7U-400"D"@$4"U]/3E\`<`H!8*,4"U]/1D8`<`H!8*,(7U!2,!(&
M`5!55#((54E25!$."@M'`?@"^`(`""((``A525)3$1`*#4<!```````((@``
M>0`(1D-24Q$;"AA'`?@"^`(`""((`"H"`$<!$`$0`0`(>0`(55!24Q$U"C(P
M1P'X`_@#``@B$``P1P'X`O@"``@B"``P1P'H`^@#``@B$``P1P'H`N@"``@B
M"`!Y`!0Q55-400%53DQ+H`AH4TQ$3 at H%H0=33$1."@2@"4%#5%)P"@]@H05P
M"@U at 3$M54*1@%#M51$E3`55.3$N@"&A33$1."@6A!U-,1$X*!'`*`$%#5%)P
M"@!035-"<`H`4$Q30G`*`$E.5$Q,2U50%$L(54-24P%53DQ+C%5)4E0*`E5!
M1$R,54E25`H#54%$2(Q525)4"@1!1#%,C%5)4E0*!4%$,4B,54E25`H)54E2
M4:`(:%-,1$X*!:$'4TQ$3 at H$<%!,4T)5041,<%!-4T)5041(<%!,4T)!1#%,
M<%!-4T)!1#%(>0H!24Y43%5)4E%,2U50I%5)4E043Q-54U)3`E5.3$N+:`H"
M54%$4HQH"@)5041,C&@*`U5!1$B,:`H)54E24:!*#&E33$1."@5P"@!34$U$
M<`H`35583W`*`%--4T)P"@!33%-"<`H$1$U!0W`*`4%#5%*@#Y-55%E0"@!P
M"@!34$U$H48(<`H!35583W`*`49(1%6@#Y-55%E0"@%P"@%34$U$H`^35519
M4`H"<`H"4U!-1*!%!9-55%E0"@-P"@534$U$C&@*$%5&04R,:`H1549!2(QH
M"@Q)4D1- at 4E21$U at H`>48`H`=F!P at XA$34%08`!$34%#<%5&04A335-"<%5&
M04Q33%-"H`AI4TQ$3 at H%H0Y33$1."@1P"@!34$U$<`H!04-44G!5041,4$Q3
M0G!5041(4$U30H%525)18*`'E&`*`'9@<&!)3E1,3$M54%N"0FQ0051!"%]!
M1%(,`0`?`%N`4$%#4P(*0`K`6X%)!%!!0U,#4%))5!``$%!3250$`!Q364Y#
M!``,4T14,`(``E-$5#$"`$H$24-2,`1)0U(Q!$E#4C($24-2,P1)0U(T!$E#
M4C4$6X)*95!2240(7T%$4 at H`%$877T=430`(4$)51A$7"A0`````````````
M`````````````(I00E5&"@!024\PBE!"548*!$1-03"*4$)51 at H(4$E/,8I0
M0E5&"@Q$34$QBE!"548*$$9,04=P1T544%!2251024\P<$=$34%[4UE.0PH!
M`'M)0U(S"@$`>TE#4C`*`0!31%0P>TE#4C$*`0!$34$PH!231$U!,`S_____
M<%!)3S!$34$PH"Y[4%))5`L`0`"@%)-[4%))5`J0``J`<`N$`U!)3S&A#G!'
M15144%-)5%!)3S&A"W`,_____U!)3S%P1T1-07M364Y#"@(`>TE#4C,*`@![
M24-2,`H"`%-$5#%[24-2,0H"`$1-03&@%)-$34$Q#/____]P4$E/,41-03%P
M1T541GM364Y#"@$`>U-93D,*`@!04DE41DQ!1Z`L>Y-024\P#/____^31$U!
M,`S_____`'`*>%!)3S!P"A1$34$P<`H#1DQ!1Z100E5&%$HK7U-430.*:`H`
M4$E/,(IH"@1$34$PBF@*"%!)3S&*:`H,1$U!,8IH"A!&3$%'H$<2DX=I"P`"
M>U!2250+\$!04DE4>U-93D,*`E-93D-P"@!31%0P>TE#4C`*`DE#4C![24-2
M,0H"24-2,7M)0U(S"@))0U(S>TE#4C4*`DE#4C6+:0IB5S0Y,(MI"FI7-3,P
MBVD*?E<V,S"+:0J`5S8T,(MI"K!7.#@PBVD*NE<Y,S!]4%))5`L$@%!2252@
M'I![1DQ!1PH"`'M7-#DP"P`(`'U04DE4"@)04DE4?5!2251315104$E/,%<U
M,S!7-C0P4%))5*!`!GM&3$%'"@$`?5-93D,*`5-93D-P4T1-041-03!31%0P
MH!.51$U!,`H>?4E#4C,*`4E#4C.@$Y5$34$P"CQ]24-2,`H!24-2,*`5>U<Y
M,S`+`"``?4E#4C$*`4E#4C&@0A:3AVH+``)[4%))5`L//U!2251P"@!04TE4
M>U-93D,*`5-93D-P"@!31%0Q>TE#4C`*`4E#4C![24-2,0H!24-2,7M)0U(S
M"@%)0U(S>TE#4C4*`4E#4C6+:@IB5S0Y,8MJ"FI7-3,QBVH*?E<V,S&+:@J`
M5S8T,8MJ"K!7.#@QBVH*NE<Y,S%]4%))5`M`@%!2252@'I![1DQ!1PH(`'M7
M-#DQ"P`(`'U04DE4"B!04DE4H$P$>T9,04<*$`!]4%))5`L`0%!2252@$Y10
M24\Q"O!]4%))5`J`4%))5*$A?5!2250*$%!2251P4T545%!)3S%7-3,Q5S8T
M,5!3252 at 0`9[1DQ!1PH$`'U364Y#"@)364Y#<%-$34%$34$Q4T14,:`3E41-
M03$*'GU)0U(S"@))0U(SH!.51$U!,0H\?4E#4C`*`DE#4C"@%7M7.3,Q"P`@
M`'U)0U(Q"@))0U(Q6X).$%!?1#`(7T%$4 at H`%$`07T=41@`(4$E",!$1"@X#
M`````*#O`P````"@[XQ024(P"@%0340PC%!)0C`*"$1-1#"@0`9[4%))5`H"
M`*`3DWM04DE4"@D`"@AP"@A0340PH4$$<`H*4$U$,'I[4%))5`L``P`*"&!Z
M>U!2250+`#``"@QA<F!A8J`,DPH#8G`*"U!-1#"@#),*!6)P"@Q0340PH0AP
M"@%0340PH$<$>U-93D,*`0!P?5-$5#`*0`!$340PH"][24-2,0H!`*`4>TE#
M4C`*`0!R1$U$,`H"1$U$,*`0>TE#4C,*`0!P"D5$340PH11]='M0340P"@<`
M"@(`"B!$340PI%!)0C!;@DD04%]$,0A?0412"@$42P]?1U1&``A024(Q$1$*
M#@,`````L.\#`````+#OC%!)0C$*`5!-1#&,4$E",0H(1$U$,:!+!7M04DE4
M"B``H!.3>U!2250*D``*@'`*"%!-1#&A/')[4%-)5`H#`'I[4%-)5`H,``H"
M`&"@#),*!6!P"@Q0340QH1>@#),*`V!P"@M0340QH0AP"@I0340QH0AP"@%0
M340QH$<$>U-93D,*`@!P?5-$5#$*0`!$340QH"][24-2,0H"`*`4>TE#4C`*
M`@!R1$U$,0H"1$U$,:`0>TE#4C,*`@!P"D5$340QH11]='M0340Q"@<`"@(`
M"B!$340QI%!)0C%;@DG/4T%400A?0412#`(`'P!;@%-!0U,""D`*P%N!1P93
M04-3`U!225004T5#5!!04TE4!%-3250$`!A364Y#!``,4T14,`(``E-$5#$"
M``)31%0R`@`"4T14,P(`0 at 1)0U(P!$E#4C$$24-2, at 1)0U(S!$E#4C0$24-2
M-00`2!Q-05!6`EN"1V%04DE$"%]!1%(*`!1)%%]'5$T`"%!"5481%PH4````
M``````````````````````"*4$)51 at H`4$E/,(I00E5&"@1$34$PBE!"548*
M"%!)3S&*4$)51 at H,1$U!,8I00E5&"A!&3$%'<$=%5%!04DE44$E/,'!'1$U!
M>U-93D,*`0![24-2,PH!`'M)0U(P"@$`4T14,'M)0U(Q"@$`1$U!,*`4DT1-
M03`,_____W!024\P1$U!,*`N>U!2250+`$``H!23>U!2250*D``*@'`+A`-0
M24\QH0YP1T545%!3251024\QH0MP#/____]024\Q<$=$34%[4UE.0PH"`'M)
M0U(S"@(`>TE#4C`*`@!31%0Q>TE#4C$*`@!$34$QH!231$U!,0S_____<%!)
M3S%$34$Q<$=%5$9[4UE.0PH!`'M364Y#"@(`4%))5$9,04>D4$)51A1$*E]3
M5$T#BF@*`%!)3S"*:`H$1$U!,(IH"@A024\QBF@*#$1-03&*:`H01DQ!1Z!,
M$9.':0L``GM04DE4"_!`4%))5'M364Y#"@Y364Y#<`H`4T14,'M)0U(P"@Y)
M0U(P>TE#4C$*#DE#4C%[24-2,PH.24-2,WM)0U(U"@Y)0U(UBVD*8E<T.3"+
M:0IJ5S4S,(MI"GY7-C,PBVD*@%<V-#"+:0JP5S at X,(MI"KI7.3,P?5!2250+
M!(!04DE4H!Z0>T9,04<*`@![5S0Y,`L`"`!]4%))5`H"4%))5'U04DE44T54
M4%!)3S!7-3,P5S8T,%!2252 at 105[1DQ!1PH!`'U364Y#"@%364Y#<%-$34%$
M34$P4T14,*`3E41-03`*'GU)0U(S"@%)0U(SH!.51$U!,`H\?4E#4C`*`4E#
M4C!]24-2,0H!24-2,:!'%9.':@L``GM04DE4"P\_4%))5'`*`%!3251[4UE.
M0PH-4UE.0W`*`%-$5#%[24-2,`H-24-2,'M)0U(Q"@U)0U(Q>TE#4C,*#4E#
M4C-[24-2-0H-24-2-8MJ"F)7-#DQBVH*:E<U,S&+:@I^5S8S,8MJ"H!7-C0Q
MBVH*L%<X.#&+:@JZ5SDS,7U04DE4"T"`4%))5*`>D'M&3$%'"@@`>U<T.3$+
M``@`?5!2250*(%!2252 at 3`1[1DQ!1PH0`'U04DE4"P!`4%))5*`3E%!)3S$*
M\'U04DE4"H!04DE4H2%]4%))5`H04%))5'!315144$E/,5<U,S%7-C0Q4%-)
M5*!%!7M&3$%'"@0`?5-93D,*`E-93D-P4T1-041-03%31%0QH!.51$U!,0H>
M?4E#4C,*`DE#4C.@$Y5$34$Q"CQ]24-2,`H"24-2,'U)0U(Q"@))0U(Q6X).
M$%!?1#`(7T%$4 at H`%$`07T=41@`(4$E",!$1"@X#`````*#O`P````"@[XQ0
M24(P"@%0340PC%!)0C`*"$1-1#"@0`9[4%))5`H"`*`3DWM04DE4"@D`"@AP
M"@A0340PH4$$<`H*4$U$,'I[4%))5`L``P`*"&!Z>U!2250+`#``"@QA<F!A
M8J`,DPH#8G`*"U!-1#"@#),*!6)P"@Q0340PH0AP"@%0340PH$<$>U-93D,*
M`0!P?5-$5#`*0`!$340PH"][24-2,0H!`*`4>TE#4C`*`0!R1$U$,`H"1$U$
M,*`0>TE#4C,*`0!P"D5$340PH11]='M0340P"@<`"@(`"B!$340PI%!)0C!;
M at DD04%]$,0A?0412"@$42P]?1U1&``A024(Q$1$*#@,`````L.\#`````+#O
MC%!)0C$*`5!-1#&,4$E",0H(1$U$,:!+!7M04DE4"B``H!.3>U!2250*D``*
M@'`*"%!-1#&A/')[4%-)5`H#`'I[4%-)5`H,``H"`&"@#),*!6!P"@Q0340Q
MH1>@#),*`V!P"@M0340QH0AP"@I0340QH0AP"@%0340QH$<$>U-93D,*`@!P
M?5-$5#$*0`!$340QH"][24-2,0H"`*`4>TE#4C`*`@!R1$U$,0H"1$U$,:`0
M>TE#4C,*`@!P"D5$340QH11]='M0340Q"@<`"@(`"B!$340QI%!)0C%;@DIE
M4T5#1`A?0412"@$41A=?1U1-``A30E5&$1<*%```````````````````````
M````BE-"548*`%!)3S"*4T)51 at H$1$U!,(I30E5&"@A024\QBE-"548*#$1-
M03&*4T)51 at H01DQ!1W!'15104T5#5%!)3S!P1T1-07M364Y#"@0`>TE#4C,*
M!`![24-2,`H$`%-$5#)[24-2,0H$`$1-03"@%)-$34$P#/____]P4$E/,$1-
M03"@+GM314-4"P!``*`4DWM314-4"I``"H!P"X0#4$E/,:$.<$=%5%134TE4
M4$E/,:$+<`S_____4$E/,7!'1$U!>U-93D,*"`![24-2,PH(`'M)0U(P"@@`
M4T14,WM)0U(Q"@@`1$U!,:`4DT1-03$,_____W!024\Q1$U!,7!'151&>U-9
M3D,*!`![4UE.0PH(`%-%0U1&3$%'H"Q[DU!)3S`,_____Y-$34$P#/____\`
M<`IX4$E/,'`*%$1-03!P"@-&3$%'I%-"54842BM?4U1-`XIH"@!024\PBF@*
M!$1-03"*:`H(4$E/,8IH"@Q$34$QBF@*$$9,04>@1Q*3AVD+``)[4T5#5`OP
M0%-%0U1[4UE.0PH+4UE.0W`*`%-$5#)[24-2,`H+24-2,'M)0U(Q"@M)0U(Q
M>TE#4C,*"TE#4C-[24-2-0H+24-2-8MI"F)7-#DPBVD*:E<U,S"+:0I^5S8S
M,(MI"H!7-C0PBVD*L%<X.#"+:0JZ5SDS,'U314-4"P2`4T5#5*`>D'M&3$%'
M"@(`>U<T.3`+``@`?5-%0U0*`E-%0U1]4T5#5%-%5%!024\P5S4S,%<V-#!3
M14-4H$`&>T9,04<*`0!]4UE.0PH$4UE.0W!31$U!1$U!,%-$5#*@$Y5$34$P
M"AY]24-2,PH$24-2,Z`3E41-03`*/'U)0U(P"@1)0U(PH!5[5SDS,`L`(`!]
M24-2,0H$24-2,:!"%I.':@L``GM314-4"P\_4T5#5'`*`%-3251[4UE.0PH'
M4UE.0W`*`%-$5#-[24-2,`H'24-2,'M)0U(Q"@=)0U(Q>TE#4C,*!TE#4C-[
M24-2-0H'24-2-8MJ"F)7-#DQBVH*:E<U,S&+:@I^5S8S,8MJ"H!7-C0QBVH*
ML%<X.#&+:@JZ5SDS,7U314-4"T"`4T5#5*`>D'M&3$%'"@@`>U<T.3$+``@`
M?5-%0U0*(%-%0U2 at 3`1[1DQ!1PH0`'U314-4"P!`4T5#5*`3E%!)3S$*\'U3
M14-4"H!314-4H2%]4T5#5`H04T5#5'!315144$E/,5<U,S%7-C0Q4U-)5*!`
M!GM&3$%'"@0`?5-93D,*"%-93D-P4T1-041-03%31%0SH!.51$U!,0H>?4E#
M4C,*"$E#4C.@$Y5$34$Q"CQ]24-2,`H(24-2,*`5>U<Y,S$+`"``?4E#4C$*
M"$E#4C%;@DX04U]$,`A?0412"@`40!!?1U1&``A324(P$1$*#@,`````H.\#
M`````*#OC%-)0C`*`5!-1#",4TE",`H(1$U$,*!`!GM314-4"@(`H!.3>U-%
M0U0*"0`*"'`*"%!-1#"A001P"@I0340P>GM314-4"P`#``H(8'I[4T5#5`L`
M,``*#&%R8&%BH`R3"@-B<`H+4$U$,*`,DPH%8G`*#%!-1#"A"'`*`5!-1#"@
M1P1[4UE.0PH$`'!]4T14, at I``$1-1#"@+WM)0U(Q"@0`H!1[24-2,`H$`')$
M340P"@)$340PH!![24-2,PH$`'`*141-1#"A%'UT>U!-1#`*!P`*`@`*($1-
M1#"D4TE",%N"21!37T0Q"%]!1%(*`11+#U]'5$8`"%-)0C$1$0H.`P````"P
M[P,`````L.^,4TE",0H!4$U$,8Q324(Q"@A$340QH$L%>U-%0U0*(`"@$Y-[
M4T5#5`J0``J`<`H(4$U$,:$\<GM34TE4"@,`>GM34TE4"@P`"@(`8*`,DPH%
M8'`*#%!-1#&A%Z`,DPH#8'`*"U!-1#&A"'`*"E!-1#&A"'`*`5!-1#&@1P1[
M4UE.0PH(`'!]4T14,PI``$1-1#&@+WM)0U(Q"@@`H!1[24-2,`H(`')$340Q
M"@)$340QH!![24-2,PH(`'`*141-1#&A%'UT>U!-1#$*!P`*`@`*($1-1#&D
M4TE",5N"1CQ30E53"%]!1%(,`P`?`%N`4TU"4`(*0`K`6X$-4TU"4`,``DDR
M0T4!6X!334))`0L`%`H06X$Z4TU"20%(4U13"``(2$-/3 at A(0T]-"%184T$(
M1$%4,`A$050Q"$A"1%((4$5#4 at A26%-!"%-$0500%$@$4U-80 at J@"%-44E2D
M"@!P"@!),D-%<`J_2%-44W!H5%A307!I2$-/37`*2$A#3TZ@$T-/35!]2%-4
M4PK_2%-44Z0*`:0*`!1*!%-26$()H`E35%)4I`O__W`*`$DR0T5P"K](4U13
M<'UH"@$`5%A307`*1$A#3TZ@%4-/35!]2%-44PK_2%-44Z1$050PI`O__Q1.
M!%-74D(+H`A35%)4I`H`<`H`23)#17`*OTA35%-P:%184T%P:4A#3TUP:D1!
M5#!P"DA(0T].H!-#3TU0?4A35%,*_TA35%.D"@&D"@`40`534D1""J`)4U12
M5*0+__]P"@!),D-%<`J_2%-44W!]:`H!`%184T%P:4A#3TUP"DA(0T].H!5#
M3TU0?4A35%,*_TA35%.D1$%4,*0+__\40`I30DQ7#*`(4U125*0*`'!K23)#
M17`*OTA35%-P:%184T%P:4A#3TUPAVI$050P<`H`87"#B&H*``!(0D12<`I4
M2$-/3J)"!)2':F%P"Z`/8*(2D))[2%-44PJ``&!V8%LA"C*@"I)@2TE,3*0*
M`'`*@$A35%-U8:`/E(=J87"#B&IA`$A"1%*@$T-/35!]2%-44PK_2%-44Z0*
M`:0*`!1(#5-"3%(+"%1"5481!`L``:`(4U125*0*`'!J23)#17`*OTA35%-P
M?6@*`0!46%-!<&E(0T]-<`I42$-/3G`+H`]@HA*0DGM(4U13"H``8'9 at 6R$*
M,J`*DF!+24Q,I`H`<$1!5#"(5$)51 at H``'`*@$A35%-P"@%AHD4$E6&#B%1"
M548*``!P"Z`/8*(2D))[2%-44PJ``&!V8%LA"C*@"I)@2TE,3*0*`'!(0D12
MB%1"549A`'`*@$A35%-U8:`50T]-4'U(4U13"O](4U13I%1"54:D"@`41P53
M5%)4"'`*R&"B(6"@&'M(4U13"D``=F!;(@H!H`B38`H`I`H!H05P"@!@<`N@
M#V"B(6"@&7M(4U13"@$`=F!;(0HRH`F38`H`2TE,3*$$I`H`I`H!%#!#3TU0
M"'`+H`]@HB%@H`Q[2%-44PH"`*0*`:$1=F!;(0HRH`F38`H`2TE,3*0*`!0<
M2TE,3`A]2$-/3 at H"2$-/3GU(4U13"O](4U13%"M'4TU)`7!H05!-1'`*XT%0
M34-;(0K_6R$*_ULA"O];(0K_6R$*_ULA"O\4,4U334D"<&A!4$U$<&E-6#`Q
M<`KD05!-0ULA"O];(0K_6R$*_ULA"O];(0K_6R$*_Q1*!U)$14,!6R-<+P5?
M4T)?4$-),$Q00T)%0S!?3554,?\/<$U)3EA-4T%6H`E"0TU$6R(*`G!H0DE.
M6'`*`4)#341;(@H!H`E"0TU$6R(*`G!"1$%48'!-4T%634E.6%LG7"\%7U-"
M7U!#23!,4$-"14,P7TU55#&D8!1.!E=214,"6R-<+P5?4T)?4$-),$Q00T)%
M0S!?3554,?\/<$U)3EA-4T%6H`E"0TU$6R(*`G!H0DE.6'!I0D1!5'`*`D)#
M341P35-!5DU)3EA;(@H!6R=<+P5?4T)?4$-),$Q00T)%0S!?3554,5N"3AI"
M5%]?"%](240-5$]3-C(P-0`4&U]35$$`H`R334)44PH!<`H/8*$%<`H`8*1@
M%$D%0E135`!P"@!@H$L$14-/3G!<+E]30E]21$5#"I-A<'MA"B``8J`O8G![
M80J``&.@!V-]8`J`8'![80I``&2@!V1]8`I`8'![80H0`&6@!V5]8`H!8*1@
M%$`&05530@"@2`5%0T].<%PN7U-"7U)$14,*DV%P>V$*(`!BH#QB<'MA"A``
M8Z`R8W!]80I``&1<+E]30E]74D5#"I-D6R(*,G!]9`H$`&5<+E]30E]74D5#
M"I-E6R(*9!0X1%530@"@,45#3TYP7"Y?4T)?4D1%0PJ387![80H@`&*@%F)P
M>V$*WP!C7"Y?4T)?5U)%0PJ38Q1`!4)44$\`H$@$14-/3G!<+E]30E]21$5#
M"I-A<'MA"B``8J`L8G![80H0`&.@(F-P?6$*@`!D7"Y?4T)?5U)%0PJ39%PN
M7U-"7T=334D*!A0X0E101@"@,45#3TYP7"Y?4T)?4D1%0PJ387![80H@`&*@
M%F)P?6$*?P!C7"Y?4T)?5U)%0PJ38Q1,$E9'05,`<%PN7U-"7U)$14,*TV&@
M1A&380H"<%PN7U-"7U)$14,*S6"@'WM@"@$`<`%<+P5?4T)?4$-),%!%1U!6
M1T%?3$-$0:$:<`!<+P5?4T)?4$-),%!%1U!61T%?3$-$0:`?>V`*`@!P`5PO
M!5]30E]00TDP4$5'4%9'05]#4E1!H1IP`%PO!5]30E]00TDP4$5'4%9'05]#
M4E1!H!][8`H$`'`!7"\%7U-"7U!#23!014=05D=!7U1604:A&G``7"\%7U-"
M7U!#23!014=05D=!7U1604:@'WM@"@@`<`%<+P5?4T)?4$-),%!%1U!61T%?
M1%9)0:$:<`!<+P5?4T)?4$-),%!%1U!61T%?1%9)089<+P1?4T)?4$-),%!%
M1U!61T%?"H!;@%Q0,S<X`0MX`PH"6X$17%`S-S@!3S,W.`A),S<Y"!0.1$)'
M00E23TU#:`L)$!0.1$)'5`E23TU#:`L*$!011$)'0PE$0C)(:%`Q0T@*(!0.
M4#%#2`E23TU#:`L.$!0.1$(R2`E23TU#:`L``A0.1%<R2`E23TU#:`L!`A0.
M1$0R2`E23TU#:`L"`A1-!U)/34,*>TDS-SD*^&"@30:38`JP1D]$5PM5JD9/
M1%=IH`N3:0L``D-(1$)HH4@$H`N3:0L!`D-(1%=HH3F@"Y-I"P("0TA$1&BA
M*Z`+DVD+"1!#4U12:*$=H`N3:0L*$$-35%)HH0^@"Y-I"PX00S%#2&BA`49/
M1$(*9A0_0U-44 at EPAVAA"$)51D81`F%P:$)51D9P`&)&3T17"PH-HA:2DV)A
M<(.(0E5&1F(`8W5B1D]$0F-&3T1""@`4$4,Q0T@)1D]$0FA&3T1""@<4"T-(
M1$()1D]$0F at 4"T-(1%<)1D]$5V at 4"T-(1$0)1D]$1&@4)5Q&3T1$`7!H8'I@
M"A!A>V$+__]A>V`+__]@1D]$5V!&3T17810C7$9/1%<!<&A@>F`*"&%[80K_
M87M@"O]@1D]$0F!&3T1"811$!UQ&3T1"`7UH"A!@<&!/,S<X<`H!8Z),!6.@
M2`63>TDS-SD*@&,*`'I),S<Y"@-@>V`*#V!Z:`H$87!A3S,W.'`*`6*B'&*@
M$WM),S<Y"H!B<$DS-SEA<`H`8J$%<`H!8GEA"@%A>V$*\&%]86!@<`H`8PA&
M555&"@`01"5<+E]04E]#4%4P%`M?4%!#`*1!0U!3%$`+7U!#5`"@.'M#1D=$
M"P!``*02+`(1%`H1@@P``0@````(````````>0`1%`H1@@P``0@```((````
M````>0"@0020>T-&1T0*`@![4$1#,`H!`*02+`(1%`H1@@P`?P``````````
M````>0`1%`H1@@P`?P``````````````>0"D$BP"$10*$8(,``$0``"R````
M`````'D`$10*$8(,``$(``"S`````````'D`%"Y?4%-3`*`BD))[0T9'1`L`
M0`"0>T-&1T0*`@![4$1#,`H!`*1.4%-3I%-04U,(4U!34Q)("@42(`8,2P<`
M``QX:0``#&X````,"@````R#````#``````2(`8,0`8```S860``#&X````,
M"@````R#`0``#`$````2(`8,-04```P at 3@``#&X````,"@````R#`@``#`(`
M```2(`8,*P0```QH0@``#&X````,"@````R#`P``#`,````2(`8,(`,```S(
M,@``#&X````,"@````R#!```#`0````(3E!34Q)("@42(`8,2P<```QX:0``
M#`H````,"@````PI#@``#"D.```2(`8,0`8```S860``#`H````,"@````PD
M#```#"0,```2(`8,-04```P at 3@``#`H````,"@````P>"@``#!X*```2(`8,
M*P0```QH0@``#`H````,"@````P8"```#!@(```2(`8,(`,```S(,@``#`H`
M```,"@````P2!@``#!(&```011E<+E]04E]#4%4P%$@87T-35`"@+WM#1D=$
M"P!``*02(P(*`1(>!!$4"A&"#`!_`0$`"0@```````!Y``H!"@$+Z`. at 309[
M0T9'1`J``*02008$"@,2'@01%`H1@@P`?P``````````````>0`*`0H!"^@#
M$AX$$10*$8(,``$(```4$````````'D`"@(*`0OT`1(=!!$4"A&"#``!"```
M%1````````!Y``H#"E4*^J!-!GM#1D=$"D``I!)!!@0*`Q(>!!$4"A&"#`!_
M``````````````!Y``H!"@$+Z`,2'@01%`H1@@P``0@``!00````````>0`*
M`@H!"_0!$AT$$10*$8(,``$(```5$````````'D`"@,*50KZH$\$>T-&1T0*
M(`"D$D,$`PH"$AX$$10*$8(,`'\``````````````'D`"@$*`0OH`Q(>!!$4
M"A&"#``!"```%!````````!Y``H""@$+]`&D$B,""@$2'@01%`H1@@P`?P``
2````````````>0`*`0H!"^@#
`
end

--- toshiba-m40.asl begins here ---
/*
  RSD PTR: OEM=TOSINV, ACPI_Rev=1.0x (0)
	RSDT=0x3fff89f7, cksum=64
 */
/*
  RSDT: Length=52, Revision=1, Checksum=133,
	OEMID=INSYDE, OEM Table ID=RSDT_000, OEM Revision=0x100,
	Creator ID=ABCD, Creator Revision=0x10200
	Entries={ 0x3ffffb30, 0x3ffffbc0, 0x3fff8be5, 0x3fff8a2b }
 */
/*
  FACP: Length=116, Revision=1, Checksum=89,
	OEMID=TOSINV, OEM Table ID=FACP_000, OEM Revision=0x100,
	Creator ID=0000, Creator Revision=0x10200
 	FACS=0x3fffffc0, DSDT=0x3fff9040
	INT_MODEL=PIC
	Preferred_PM_Profile=Unspecified (0)
	SCI_INT=9
	SMI_CMD=0xb2, ACPI_ENABLE=0xe0, ACPI_DISABLE=0xe1, S4BIOS_REQ=0xe2
	PSTATE_CNT=0x80
	PM1a_EVT_BLK=0x1000-0x1003
	PM1a_CNT_BLK=0x1004-0x1005
	PM2_CNT_BLK=0x1020-0x1020
	PM_TMR_BLK=0x1008-0x100b
	GPE0_BLK=0x1028-0x102f
	CST_CNT=0x85
	P_LVL2_LAT=1 us, P_LVL3_LAT=85 us
	FLUSH_SIZE=0, FLUSH_STRIDE=0
	DUTY_OFFSET=1, DUTY_WIDTH=3
	DAY_ALRM=13, MON_ALRM=0, CENTURY=50
	IAPC_BOOT_ARCH={LEGACY_DEV,8042}
	Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4,DCK_CAP}
 */
/*
  FACS:	Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000
	Global_Lock=
	Flags=
	Version=0
 */
/*
  DSDT: Length=27365, Revision=1, Checksum=36,
	OEMID=TOSINV, OEM Table ID=SONOMA, OEM Revision=0x1004,
	Creator ID=INTL, Creator Revision=0x2002036
 */
/*
  MCFG: Length=60, Revision=1, Checksum=175,
	OEMID=INSYDE, OEM Table ID=MCFG_000, OEM Revision=0x30303030,
	Creator ID=0000, Creator Revision=0x30303030

	Base Address= 0x00000000e0000000
	Segment Group= 0x0000
	Start Bus= 0
	End Bus= 255
 */
/*
  SSDT: Length=633, Revision=1, Checksum=211,
	OEMID=PmRef, OEM Table ID=Cpu0Ist, OEM Revision=0x3000,
	Creator ID=INTL, Creator Revision=0x20030522
 */
/*
  SSDT: Length=442, Revision=1, Checksum=12,
	OEMID=PmRef, OEM Table ID=Cpu0Cst, OEM Revision=0x3001,
	Creator ID=INTL, Creator Revision=0x20030522
 */
/*
 * Intel ACPI Component Architecture
 * AML Disassembler version 20070320
 *
 * Disassembly of /tmp/acpidump.cahi93, Sun Jun  8 20:14:33 2008
 *
 *
 * Original Table Header:
 *     Signature        "DSDT"
 *     Length           0x00006ED0 (28368)
 *     Revision         0x01
 *     OEM ID           "TOSINV"
 *     OEM Table ID     "SONOMA  "
 *     OEM Revision     0x00001004 (4100)
 *     Creator ID       "INTL"
 *     Creator Revision 0x02002036 (33562678)
 */
DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "TOSINV", "SONOMA  ", 0x00001004)
{
    OperationRegion (PRT0, SystemIO, 0x80, 0x04)
    Field (PRT0, DWordAcc, Lock, Preserve)
    {
        P80H,   32
    }

    OperationRegion (IO_T, SystemIO, 0x0800, 0x10)
    Field (IO_T, ByteAcc, NoLock, Preserve)
    {
                Offset (0x02), 
                Offset (0x04), 
                Offset (0x06), 
                Offset (0x08), 
        TRP0,   8, 
                Offset (0x0A), 
                Offset (0x0B), 
                Offset (0x0C), 
                Offset (0x0D), 
                Offset (0x0E), 
                Offset (0x0F), 
                Offset (0x10)
    }

    OperationRegion (GPIO, SystemIO, 0x1300, 0x3C)
    Field (GPIO, ByteAcc, NoLock, Preserve)
    {
        GU00,   8, 
        GU01,   8, 
        GU02,   8, 
        GU03,   8, 
        GIO0,   8, 
        GIO1,   8, 
        GIO2,   8, 
        GIO3,   8, 
                Offset (0x0C), 
        GL00,   8, 
        GL01,   8, 
            ,   5, 
        GP21,   1, 
            ,   1, 
        GP23,   1, 
            ,   1, 
        GP25,   1, 
                Offset (0x10), 
                Offset (0x18), 
        GB00,   8, 
        GB01,   8, 
        GB02,   8, 
        GB03,   8, 
                Offset (0x2C), 
        GIV0,   8, 
        GIV1,   8, 
        GIV2,   8, 
        GIV3,   8, 
        GU04,   8, 
        GU05,   8, 
        GU06,   8, 
        GU07,   8, 
        GIO4,   8, 
        GIO5,   8, 
        GIO6,   8, 
        GIO7,   8, 
            ,   1, 
        GP33,   1, 
                Offset (0x39), 
        GL05,   8, 
        GL06,   8, 
        GL07,   8
    }

    OperationRegion (MBOX, SystemMemory, 0x3FFFFC00, 0x0100)
    Field (MBOX, AnyAcc, Lock, Preserve)
    {
        MYOS,   16, 
        SMIF,   8, 
        PRM0,   8, 
        PRM1,   8, 
        SCIF,   8, 
        PRM2,   8, 
        PRM3,   8, 
        LCKF,   8, 
        PRM4,   8, 
        PRM5,   8, 
        P80D,   32, 
        LIDS,   8, 
        PWRS,   8, 
        DBGS,   8, 
                Offset (0x14), 
        ACTT,   8, 
        PSVT,   8, 
        TC1V,   8, 
        TC2V,   8, 
        TSPV,   8, 
        CRTT,   8, 
                Offset (0x1E), 
        BNUM,   8, 
        B0SC,   8, 
        B1SC,   8, 
        B2SC,   8, 
        B0SS,   8, 
        B1SS,   8, 
        B2SS,   8, 
                Offset (0x28), 
        WTHT,   8, 
                Offset (0x3C), 
        IGDS,   8, 
        TLST,   8, 
        CADL,   8, 
        PADL,   8, 
        CSTE,   16, 
        NSTE,   16, 
        SSTE,   16, 
        NDID,   8, 
        DID1,   32, 
        DID2,   32, 
        DID3,   32, 
        DID4,   32, 
        DID5,   32, 
                Offset (0x67), 
        BLCS,   8, 
        BRTL,   8, 
                Offset (0x82), 
        UTYP,   2, 
            ,   2, 
            ,   3, 
                Offset (0x83), 
        CMAD,   3, 
            ,   1, 
        CMBD,   3, 
                Offset (0x84), 
        PTYP,   2, 
        EPDA,   1, 
            ,   1, 
        LPTE,   2, 
            ,   1, 
        EPPT,   1, 
            ,   6, 
        AUEN,   1, 
        AU97,   1, 
        EHT,    8, 
        PCT,    1, 
        ALSS,   1, 
        EMAS,   1, 
                Offset (0x88), 
            ,   7, 
        KBDW,   1, 
        CLMT,   2, 
                Offset (0x8A), 
            ,   6, 
        WLAN,   1, 
                Offset (0x8B), 
        E_TV,   1, 
        EPRT,   1, 
        EFIR,   1, 
        E394,   1, 
        S510,   1, 
                Offset (0x8C), 
        CFGD,   16, 
                Offset (0x96), 
        ALSE,   8, 
        ALAF,   8, 
        LLOW,   8, 
        LHIH,   8, 
                Offset (0x9B), 
        EMAE,   8, 
        EMAP,   16, 
        EMAL,   16, 
                Offset (0xAA), 
        D400,   8, 
                Offset (0xB4), 
        GTF0,   56, 
        GTF2,   56, 
        IDEM,   8
    }

    OperationRegion (RCRB, SystemMemory, 0xF0008000, 0x4000)
    Field (RCRB, DWordAcc, Lock, Preserve)
    {
                Offset (0x1000), 
                Offset (0x3000), 
                Offset (0x3404), 
        HPAS,   2, 
            ,   5, 
        HPAE,   1, 
                Offset (0x3418), 
            ,   1, 
        PATD,   1, 
        SATD,   1, 
        SMBD,   1, 
        AZAD,   1, 
        A97D,   1, 
                Offset (0x341A), 
        RP1D,   1, 
        RP2D,   1, 
        RP3D,   1, 
        RP4D,   1
    }

    Mutex (MUTX, 0x00)
    Name (_S0, Package (0x03)
    {
        0x00, 
        0x00, 
        0x00
    })
    Name (_S3, Package (0x03)
    {
        0x05, 
        0x05, 
        0x00
    })
    Name (_S4, Package (0x03)
    {
        0x06, 
        0x06, 
        0x00
    })
    Name (_S5, Package (0x03)
    {
        0x07, 
        0x07, 
        0x00
    })
    Name (\PDC0, 0x80000000)
    Name (\PDC1, 0x80000000)
    Scope (\_PR)
    {
        Processor (CPU0, 0x00, 0x00001010, 0x06) {}
        Processor (CPU1, 0x01, 0x00001010, 0x06) {}
    }

    Name (\DSEN, 0x01)
    Name (\ECON, 0x00)
    Name (\GPIC, 0x00)
    Name (\CTYP, 0x00)
    Name (\L01C, 0x00)
    Method (\_PIC, 1, NotSerialized)
    {
        Store (Arg0, GPIC)
    }

    Method (\_PTS, 1, NotSerialized)
    {
        Store (0x01, PBST)
        While (PBST)
        {
            Store (0x01, PBST)
        }

        If (LEqual (DBGS, 0x00)) {}
        If (LEqual (Arg0, 0x03))
        {
            Store (\_SB.RDEC (0x92), Local0)
            Store (And (Local0, 0x01), LIDS)
            Store (\_SB.RDEC (0xB6), Local0)
            If (KBDW)
            {
                Store (Or (Local0, 0x02), Local0)
            }
            Else
            {
                Store (And (Local0, 0xFD), Local0)
            }

            Store (Or (Local0, 0x01), Local0)
            \_SB.WREC (0xB6, Local0)
            \_SB.GSMI (0x0A)
            \_SB.GSMI (0x0D)
            \_SB.GSMI (0x24)
            Store (0x53, P80H)
        }
        Else
        {
            If (LEqual (Arg0, 0x04))
            {
                Store (\_SB.RDEC (0xB6), Local0)
                Store (Or (Local0, 0x01), Local0)
                \_SB.WREC (0xB6, Local0)
                Store (\_SB.RDEC (0xB8), Local0)
                Store (Or (Local0, 0x02), Local0)
                \_SB.WREC (0xB8, Local0)
                \_SB.GSMI (0x0A)
                Store (0x01, MBS4)
                \_SB.GSMI (0x24)
                Store (0x54, P80H)
            }
            Else
            {
                If (LEqual (Arg0, 0x05))
                {
                    \_SB.GSMI (0x0A)
                    \_SB.GSMI (0x24)
                    Store (0x55, P80H)
                }
            }
        }
    }

    Method (\_WAK, 1, NotSerialized)
    {
        Store (\_SB.RDEC (0x92), Local0)
        Store (And (Local0, 0x20), Local0)
        ShiftRight (Local0, 0x05, Local0)
        If (Local0)
        {
            Notify (\_SB.BAT1, 0x80)
        }

        If (LEqual (Arg0, 0x03))
        {
            \_SB.GSMI (0x00)
            Store (0x00, GUID)
            Notify (\_SB.AC, 0x00)
            Notify (\_SB.BAT1, 0x81)
            Notify (\_SB.PCI0.USB1, 0x00)
            Notify (\_SB.PCI0.USB2, 0x00)
            Notify (\_SB.PCI0.USB3, 0x00)
            Notify (\_SB.PCI0.USB4, 0x00)
            Notify (\_SB.PCI0.RP02, 0x00)
            \_SB.GSMI (0x28)
            If (APMD)
            {
                Notify (\_SB.PWRB, 0x02)
                Store (0x00, APMD)
            }

            If (E394)
            {
                Notify (\_SB.PCI0.PCIB.FCRD, 0x01)
            }

            Store (\_SB.RDEC (0x92), Local0)
            Store (And (Local0, 0x08), Local0)
            ShiftRight (Local0, 0x03, Local0)
            Store (Local0, S_AC)
            Store (0xE3, P80H)
            Return (0x00)
        }
        Else
        {
            If (LEqual (Arg0, 0x04))
            {
                \_SB.GSMI (0x04)
                If (E394)
                {
                    If (\_SB.PCI0.PCIB.FCRD.MEMB)
                    {
                        \_SB.GSMI (0x13)
                        Store (0x01, GUID)
                    }
                }

                Notify (\_SB.AC, 0x00)
                Notify (\_SB.BAT1, 0x81)
                Notify (\_SB.PCI0.USB1, 0x00)
                Notify (\_SB.PCI0.USB2, 0x00)
                Notify (\_SB.PCI0.USB3, 0x00)
                Notify (\_SB.PCI0.USB4, 0x00)
                Notify (\_SB.PCI0.RP02, 0x00)
                Store (\_SB.RDEC (0xA2), Local0)
                If (LNotEqual (Local0, 0x00))
                {
                    Notify (\_SB.PWRB, 0x02)
                }

                Store (0x00, BNUM)
                Store (0x00, MBS4)
                Store (\_SB.RDEC (0x92), Local0)
                Store (And (Local0, 0x08), Local0)
                ShiftRight (Local0, 0x03, Local0)
                Store (Local0, S_AC)
                Store (0xE4, P80H)
                Return (0x00)
            }
            Else
            {
                Store (0xE5, P80H)
                Return (0x00)
            }
        }
    }

    Scope (\_GPE)
    {
        Method (_L01, 0, NotSerialized)
        {
            Add (L01C, 0x01, L01C)
            If (\_SB.PCI0.RP01.HPCS)
            {
                If (\_SB.PCI0.RP01.PDC1)
                {
                    Store (0x01, \_SB.PCI0.RP01.PDC1)
                }

                Store (0x01, \_SB.PCI0.RP01.HPCS)
            }

            If (\_SB.PCI0.RP02.HPCS)
            {
                If (LEqual (\_SB.PCI0.RP02.PDS2, 0x01))
                {
                    Store (0x00, \_SB.PCI0.RP02.RPLD)
                }
                Else
                {
                    Store (0x01, \_SB.PCI0.RP02.RPLD)
                }

                If (\_SB.PCI0.RP02.PDC2)
                {
                    Store (0x01, \_SB.PCI0.RP02.PDC2)
                }

                Store (0x01, \_SB.PCI0.RP02.HPCS)
            }

            If (\_SB.PCI0.RP03.HPCS)
            {
                If (\_SB.PCI0.RP03.PDC3)
                {
                    Store (0x01, \_SB.PCI0.RP03.PDC3)
                }

                Store (0x01, \_SB.PCI0.RP03.HPCS)
            }

            If (\_SB.PCI0.RP04.HPCS)
            {
                If (\_SB.PCI0.RP04.PDC4)
                {
                    Store (0x01, \_SB.PCI0.RP04.PDC4)
                }

                Store (0x01, \_SB.PCI0.RP04.HPCS)
            }

            If (D400)
            {
                Name (TBF3, Buffer (0x05)
                {
                    0x07, 0x66, 0x66, 0x40, 0x01
                })
                CreateByteField (TBF3, 0x01, CLCK)
                If (LEqual (\_SB.PCI0.RP01.PDS1, 0x00))
                {
                    And (CLCK, 0xFB, CLCK)
                }

                If (LEqual (\_SB.PCI0.RP02.PDS2, 0x00))
                {
                    And (CLCK, 0xBF, CLCK)
                }

                If (LEqual (\_SB.PCI0.RP03.PDS3, 0x00))
                {
                    And (CLCK, 0xFD, CLCK)
                }

                If (LEqual (\_SB.PCI0.RP04.PDS4, 0x00))
                {
                    And (CLCK, 0xDF, CLCK)
                }

                \_SB.PCI0.SBUS.SBLW (0xDC, 0x00, TBF3, 0x00)
                Stall (0x64)
            }

            Store (GP23, Local0)
            Store (GP33, Local1)
            Store (GP25, Local2)
            Sleep (0x0140)
            Store (\_SB.PCI0.RP01.PDS1, GP23)
            Store (\_SB.PCI0.RP02.PDS2, GP33)
            Store (\_SB.PCI0.RP03.PDS3, GP25)
            Sleep (0x64)
            If (LNotEqual (GP23, Local0))
            {
                Notify (\_SB.PCI0.RP01, 0x00)
            }

            If (LNotEqual (GP33, Local1))
            {
                Notify (\_SB.PCI0.RP02, 0x00)
            }

            If (LNotEqual (GP25, Local2))
            {
                Notify (\_SB.PCI0.RP03, 0x00)
            }
        }

        Method (_L03, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USB1, 0x02)
        }

        Method (_L04, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USB2, 0x02)
        }

        Method (_L05, 0, NotSerialized)
        {
            If (AZAD)
            {
                Notify (\_SB.PCI0.MODM, 0x02)
            }
            Else
            {
            }
        }

        Method (_L07, 0, NotSerialized)
        {
            Store (0x20, \_SB.PCI0.SBUS.HSTS)
        }

        Method (_L08, 0, NotSerialized)
        {
        }

        Method (_L09, 0, NotSerialized)
        {
            If (\_SB.PCI0.RP01.PSP1)
            {
                Store (0x01, \_SB.PCI0.RP01.PSP1)
                Store (0x01, \_SB.PCI0.RP01.PMCS)
                Notify (\_SB.PCI0.RP01, 0x02)
            }

            If (\_SB.PCI0.RP02.PSP2)
            {
                Store (0x01, \_SB.PCI0.RP02.PSP2)
                Store (0x01, \_SB.PCI0.RP02.PMCS)
                Notify (\_SB.PCI0.RP02, 0x02)
            }

            If (\_SB.PCI0.RP03.PSP3)
            {
                Store (0x01, \_SB.PCI0.RP03.PSP3)
                Store (0x01, \_SB.PCI0.RP03.PMCS)
                Notify (\_SB.PCI0.RP03, 0x02)
            }

            If (\_SB.PCI0.RP04.PSP4)
            {
                Store (0x01, \_SB.PCI0.RP04.PSP4)
                Store (0x01, \_SB.PCI0.RP04.PMCS)
                Notify (\_SB.PCI0.RP04, 0x02)
            }
        }

        Method (_L0B, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.PCIB, 0x02)
        }

        Method (_L0C, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USB3, 0x02)
        }

        Method (_L0D, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USB7, 0x02)
        }

        Method (_L0E, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USB4, 0x02)
        }

        Method (_L18, 0, NotSerialized)
        {
            Store (\_SB.RDEC (0x92), Local0)
            Store (And (Local0, 0x01), Local0)
            If (LEqual (Local0, LIDS))
            {
                Notify (\_SB.PCI0.LPCB.PS2K, 0x80)
                Notify (\_SB.PWRB, 0x02)
            }
            Else
            {
                Notify (\_SB.LID0, 0x80)
            }
        }
    }

    OperationRegion (SMIO, SystemIO, 0xB2, 0x02)
    Field (SMIO, ByteAcc, NoLock, Preserve)
    {
        APMC,   8, 
        APMD,   8
    }

    OperationRegion (PMIO, SystemIO, 0x1000, 0x80)
    Field (PMIO, DWordAcc, NoLock, Preserve)
    {
                Offset (0x01), 
        PBST,   1, 
                Offset (0x02), 
                Offset (0x10), 
            ,   1, 
        THRO,   3, 
        ETHR,   1
    }

    Name (\DFEC, 0x00)
    Name (\ACPS, 0x00)
    Name (\SACP, 0x00)
    Name (\SMIS, 0x00)
    Name (\PIOE, 0x00)
    Name (\SR18, 0x00)
    Name (\SR19, 0x00)
    Name (\ECSY, 0x00)
    Name (\BSTA, 0x00)
    Name (\SCCT, 0x00)
    Name (\PRST, 0x00)
    Name (\GUID, 0x00)
    Name (\TICO, 0x00)
    Name (\DKOT, 0x00)
    Name (\MSAV, 0x00)
    OperationRegion (XCMO, SystemIO, 0x72, 0x02)
    Field (XCMO, ByteAcc, NoLock, Preserve)
    {
        CINX,   8, 
        CDAT,   8
    }

    IndexField (CINX, CDAT, ByteAcc, NoLock, Preserve)
    {
                Offset (0x60), 
        MX01,   8, 
        MX02,   8
    }

    OperationRegion (ECMB, SystemIO, 0x0300, 0x02)
    Field (ECMB, ByteAcc, NoLock, Preserve)
    {
        MINX,   8, 
        MDAT,   8
    }

    IndexField (MINX, MDAT, ByteAcc, NoLock, Preserve)
    {
                Offset (0x82), 
        MBCD,   8, 
                Offset (0x8E), 
        O_RB,   1, 
            ,   3, 
        MBS3,   1, 
            ,   2, 
        MBS4,   1, 
            ,   2, 
        DKAP,   1, 
            ,   3, 
        S_AC,   1, 
                Offset (0x90), 
            ,   5, 
        MBTS,   1, 
                Offset (0x91), 
                Offset (0x92), 
            ,   1, 
        BPW0,   6, 
                Offset (0x93), 
            ,   1, 
        FPW1,   6, 
                Offset (0x94), 
                Offset (0x95), 
            ,   1, 
        LPW2,   6, 
                Offset (0x96), 
                Offset (0xA0), 
        SC_R,   8, 
        BINX,   8, 
        BDAT,   8, 
        BCMD,   8, 
                Offset (0xA8), 
        MCID,   8
    }

    Name (CTPB, Buffer (0x0B)
    {
        /* 0000 */    0x2D, 0x31, 0x37, 0x40, 0x49, 0x4F, 0x52, 0x57, 
        /* 0008 */    0x64, 0x66, 0x69
    })
    Name (MTPB, Buffer (0x0B)
    {
        /* 0000 */    0x2D, 0x31, 0x37, 0x40, 0x49, 0x4F, 0x52, 0x57, 
        /* 0008 */    0x64, 0x66, 0x69
    })
    Name (PTPB, Buffer (0x0B)
    {
        /* 0000 */    0x2D, 0x31, 0x37, 0x40, 0x49, 0x4F, 0x58, 0x5C, 
        /* 0008 */    0x52, 0x56, 0x69
    })
    Name (BTPB, Buffer (0x0B)
    {
        /* 0000 */    0x32, 0x36, 0x49, 0x4F, 0x52, 0x57, 0x5A, 0x5E, 
        /* 0008 */    0x3D, 0x46, 0x69
    })
    Name (FTPB, Buffer (0x0B)
    {
        /* 0000 */    0x2D, 0x31, 0x37, 0x40, 0x43, 0x4A, 0x4C, 0x50, 
        /* 0008 */    0x55, 0x57, 0x5A
    })
    Name (STPB, Buffer (0x0B)
    {
        /* 0000 */    0x2D, 0x31, 0x37, 0x40, 0x43, 0x4A, 0x4C, 0x50, 
        /* 0008 */    0x48, 0x4E, 0x5A
    })
    Name (TTPB, Buffer (0x0B)
    {
        /* 0000 */    0x32, 0x36, 0x43, 0x47, 0x47, 0x4C, 0x4C, 0x50, 
        /* 0008 */    0x3D, 0x44, 0x5A
    })
    Name (TRON, 0x00)
    Method (CHGT, 1, NotSerialized)
    {
        Store (\_SB.RDEC (0xD7), Local0)
        Store (And (Local0, 0x01), Local0)
        If (LEqual (Local0, 0x01))
        {
            If (LEqual (Arg0, 0x00))
            {
                Store (FTPB, CTPB)
            }

            If (LEqual (Arg0, 0x01))
            {
                Store (STPB, CTPB)
            }

            If (LEqual (Arg0, 0x02))
            {
                Store (TTPB, CTPB)
            }
        }
        Else
        {
            If (LEqual (Arg0, 0x00))
            {
                Store (MTPB, CTPB)
            }

            If (LEqual (Arg0, 0x01))
            {
                Store (PTPB, CTPB)
            }

            If (LEqual (Arg0, 0x02))
            {
                Store (BTPB, CTPB)
            }
        }

        CreateByteField (CTPB, 0x08, PSPL)
        CreateByteField (CTPB, 0x09, PSPH)
        CreateByteField (CTPB, 0x0A, CRTT)
        Store (PSPL, PASL)
        Store (PSPH, PASH)
        Store (PASH, PTMP)
        Store (CRTT, CTTP)
        \_SB.WREC (0xC2, PASH)
        \_SB.WREC (0xC1, PASL)
    }

    Name (\TPOK, 0x00)
    Name (PLCY, 0x01)
    Name (CTMP, 0x00)
    Name (TFST, 0x00)
    Name (EAC0, 0x2D)
    Name (TMPL, 0x2D)
    Name (TMPH, 0x46)
    Name (CFSP, 0x00)
    Name (PTMP, 0x68)
    Name (PASH, 0x5A)
    Name (PASL, 0x5A)
    Name (CTTP, 0x69)
    Method (STEV, 1, NotSerialized)
    {
        CreateByteField (CTPB, 0x00, TPL0)
        CreateByteField (CTPB, 0x01, TPH0)
        CreateByteField (CTPB, 0x02, TPL1)
        CreateByteField (CTPB, 0x03, TPH1)
        CreateByteField (CTPB, 0x04, TPL2)
        CreateByteField (CTPB, 0x05, TPH2)
        CreateByteField (CTPB, 0x06, TPL3)
        CreateByteField (CTPB, 0x07, TPH3)
        CreateByteField (CTPB, 0x08, PSPL)
        CreateByteField (CTPB, 0x09, PSPH)
        CreateByteField (CTPB, 0x0A, CRTT)
        Store (TPL0, EAC0)
        Store (Arg0, Local0)
        If (LLess (Local0, TPH0))
        {
            Store (0x00, TMPL)
            Store (TPH0, TMPH)
            Store (0x00, CFSP)
        }
        Else
        {
            If (LAnd (LLess (Local0, TPH1), LGreater (Local0, TPL0)))
            {
                Store (TPL0, TMPL)
                Store (TPH1, TMPH)
                Store (0x01, CFSP)
            }
            Else
            {
                If (LAnd (LLess (Local0, TPH2), LGreater (Local0, TPL1)))
                {
                    Store (TPL1, TMPL)
                    Store (TPH2, TMPH)
                    Store (0x02, CFSP)
                }
                Else
                {
                    If (LAnd (LLess (Local0, TPH3), LGreater (Local0, TPL2)))
                    {
                        Store (TPL2, TMPL)
                        Store (TPH3, TMPH)
                        Store (0x03, CFSP)
                    }
                    Else
                    {
                        Store (TPL3, TMPL)
                        Store (CRTT, TMPH)
                        Store (0x04, CFSP)
                    }
                }
            }
        }

        \_SB.WREC (0x9D, TMPL)
        \_SB.WREC (0x9E, TMPH)
        \_SB.WREC (0xA0, CFSP)
    }

    Name (F1ST, 0x00)
    Scope (\_TZ)
    {
        PowerResource (PFA1, 0x00, 0x0000)
        {
            Method (_STA, 0, NotSerialized)
            {
                Return (F1ST)
            }

            Method (_ON, 0, NotSerialized)
            {
                Store (0x01, F1ST)
            }

            Method (_OFF, 0, NotSerialized)
            {
                Store (0x00, F1ST)
            }
        }

        Device (FAN1)
        {
            Name (_HID, EisaId ("PNP0C0B"))
            Name (_UID, 0x02)
            Name (_PR0, Package (0x01)
            {
                \_TZ.PFA1
            })
        }

        Name (ETCB, 0x00)
        ThermalZone (TZCR)
        {
            Method (_TMP, 0, Serialized)
            {
                If (LEqual (SC_R, 0x77))
                {
                    Return (0x0C80)
                }

                If (ECON)
                {
                    If (DFEC)
                    {
                        Store (0x00, DFEC)
                        Return (0x0C80)
                    }

                    Store (\_SB.RDEC (0x9C), Local0)
                    Store (Local0, CTMP)
                    If (LEqual (TPOK, 0x00))
                    {
                        Store (\_SB.RDEC (0x9D), Local1)
                        Store (\_SB.RDEC (0x9E), Local2)
                        If (LOr (LNotEqual (TMPL, Local1), LNotEqual (TMPH, Local2)))
                        {
                            STEV (Local0)
                        }
                        Else
                        {
                            Store (0x01, TPOK)
                        }
                    }

                    If (LEqual (TFST, 0x00))
                    {
                        CHGT (CLMT)
                        Store (0x01, TFST)
                        STEV (CTMP)
                    }
                    Else
                    {
                        Store (TMPH, Local1)
                        Store (TMPL, Local2)
                        If (LOr (LLess (Local0, Local2), LGreater (Local0, Local1)))
                        {
                            STEV (CTMP)
                        }
                        Else
                        {
                            Store (\_SB.RDEC (0x9E), Local0)
                            If (LNotEqual (Local0, TMPH))
                            {
                                STEV (CTMP)
                            }
                        }
                    }

                    Return (Add (0x0AAC, Multiply (CTMP, 0x0A)))
                }
                Else
                {
                    Return (0x0C80)
                }
            }

            Method (_AC1, 0, NotSerialized)
            {
                Store (EAC0, Local0)
                Add (Local0, 0x0111, Local0)
                Multiply (Local0, 0x0A, Local0)
                Return (Local0)
            }

            Name (_AL1, Package (0x01)
            {
                \_TZ.FAN1
            })
            Method (_CRT, 0, NotSerialized)
            {
                Return (Add (0x0AAC, Multiply (CTTP, 0x0A)))
            }

            Method (_SCP, 1, NotSerialized)
            {
                Store (Arg0, PLCY)
            }

            Name (_PSL, Package (0x01)
            {
                \_PR.CPU0
            })
            Name (_TSP, 0x96)
        }

        ThermalZone (TZVR)
        {
            Method (_TMP, 0, Serialized)
            {
                If (ECON)
                {
                    Store (\_SB.RDEC (0xCB), Local0)
                    Return (Add (0x0AAC, Multiply (Local0, 0x0A)))
                }
                Else
                {
                    Return (0x0C80)
                }
            }

            Method (_CRT, 0, NotSerialized)
            {
                Return (Add (0x0AAC, Multiply (CTTP, 0x0A)))
            }
        }

        ThermalZone (TZVL)
        {
            Method (_TMP, 0, Serialized)
            {
                If (ECON)
                {
                    Store (\_SB.RDEC (0xCF), Local0)
                    Return (Add (0x0AAC, Multiply (Local0, 0x0A)))
                }
                Else
                {
                    Return (0x0C80)
                }
            }

            Method (_CRT, 0, NotSerialized)
            {
                Return (Add (0x0AAC, Multiply (CTTP, 0x0A)))
            }
        }

        ThermalZone (TZCL)
        {
            Method (_TMP, 0, Serialized)
            {
                If (ECON)
                {
                    Store (\_SB.RDEC (0xCE), Local0)
                    Return (Add (0x0AAC, Multiply (Local0, 0x0A)))
                }
                Else
                {
                    Return (0x0C80)
                }
            }

            Method (_CRT, 0, NotSerialized)
            {
                Return (Add (0x0AAC, Multiply (CTTP, 0x0A)))
            }
        }
    }

    Method (GETP, 1, Serialized)
    {
        If (LEqual (And (Arg0, 0x09), 0x00))
        {
            Return (0xFFFFFFFF)
        }

        If (LEqual (And (Arg0, 0x09), 0x08))
        {
            Return (0x0384)
        }

        ShiftRight (And (Arg0, 0x0300), 0x08, Local0)
        ShiftRight (And (Arg0, 0x3000), 0x0C, Local1)
        Return (Multiply (0x1E, Subtract (0x09, Add (Local0, Local1))
            ))
    }

    Method (GDMA, 5, Serialized)
    {
        If (Arg0)
        {
            If (LAnd (Arg1, Arg4))
            {
                Return (0x14)
            }

            If (LAnd (Arg2, Arg4))
            {
                Return (Multiply (Subtract (0x04, Arg3), 0x0F))
            }

            Return (Multiply (Subtract (0x04, Arg3), 0x1E))
        }

        Return (0xFFFFFFFF)
    }

    Method (GETT, 1, Serialized)
    {
        Return (Multiply (0x1E, Subtract (0x09, Add (And (ShiftRight (Arg0, 0x02
            ), 0x03), And (Arg0, 0x03)))))
    }

    Method (GETF, 3, Serialized)
    {
        Name (TMPF, 0x00)
        If (Arg0)
        {
            Or (TMPF, 0x01, TMPF)
        }

        If (And (Arg2, 0x02))
        {
            Or (TMPF, 0x02, TMPF)
        }

        If (Arg1)
        {
            Or (TMPF, 0x04, TMPF)
        }

        If (And (Arg2, 0x20))
        {
            Or (TMPF, 0x08, TMPF)
        }

        If (And (Arg2, 0x4000))
        {
            Or (TMPF, 0x10, TMPF)
        }

        Return (TMPF)
    }

    Method (SETP, 3, Serialized)
    {
        If (LGreater (Arg0, 0xF0))
        {
            Return (0x08)
        }
        Else
        {
            If (And (Arg1, 0x02))
            {
                If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02)))
                {
                    Return (0x2301)
                }

                If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, 0x01)))
                {
                    Return (0x2101)
                }
            }

            Return (0x1001)
        }
    }

    Method (SDMA, 1, Serialized)
    {
        If (LLessEqual (Arg0, 0x14))
        {
            Return (0x01)
        }

        If (LLessEqual (Arg0, 0x1E))
        {
            Return (0x02)
        }

        If (LLessEqual (Arg0, 0x2D))
        {
            Return (0x01)
        }

        If (LLessEqual (Arg0, 0x3C))
        {
            Return (0x02)
        }

        If (LLessEqual (Arg0, 0x5A))
        {
            Return (0x01)
        }

        Return (0x00)
    }

    Method (SETT, 3, Serialized)
    {
        If (And (Arg1, 0x02))
        {
            If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02)))
            {
                Return (0x0B)
            }

            If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, 0x01)))
            {
                Return (0x09)
            }
        }

        Return (0x04)
    }

    Scope (\_SB)
    {
        Device (AC)
        {
            Name (_HID, "ACPI0003")
            Name (_PCL, Package (0x02)
            {
                \_SB, 
                \_SB.BAT1
            })
            Method (_PSR, 0, NotSerialized)
            {
                If (LEqual (SC_R, 0x77))
                {
                    Return (0x01)
                }
                Else
                {
                    If (ECON)
                    {
                        Store (\_SB.RDEC (0x92), Local0)
                        Store (And (Local0, 0x08), Local0)
                        ShiftRight (Local0, 0x03, Local0)
                        Store (0x00, \_SB.PCI0.LPCB.C4C3)
                        Return (Local0)
                    }
                    Else
                    {
                        Return (One)
                    }
                }
            }

            Method (_STA, 0, NotSerialized)
            {
                Return (0x0F)
            }
        }

        Name (BIF1, Package (0x0D)
        {
            0x01, 
            0xFFFFFFFF, 
            0xFFFFFFFF, 
            0x01, 
            0xFFFFFFFF, 
            0xFFFFFFFF, 
            0xFFFFFFFF, 
            0xFFFFFFFF, 
            0xFFFFFFFF, 
            " ", 
            " ", 
            "Li-I", 
            ""
        })
        Name (BST1, Package (0x04)
        {
            0x01, 
            0x0FFFFFFF, 
            0x0FFFFFFF, 
            0x2B5C
        })
        Device (BAT1)
        {
            Name (_HID, EisaId ("PNP0C0A"))
            Name (_UID, 0x01)
            Name (_PCL, Package (0x01)
            {
                \_SB
            })
            Method (_STA, 0, NotSerialized)
            {
                If (LEqual (DFEC, 0x01))
                {
                    If (BSTA)
                    {
                        Return (0x1F)
                    }
                    Else
                    {
                        Return (0x0F)
                    }
                }

                If (ECON)
                {
                    Store (\_SB.RDEC (0x94), Local0)
                    Store (And (Local0, 0x01), Local0)
                    Store (Local0, BSTA)
                    If (LEqual (Local0, 0x01))
                    {
                        Return (0x1F)
                    }
                    Else
                    {
                        Return (0x0F)
                    }
                }
                Else
                {
                    Return (0x0F)
                }
            }

            Method (_BIF, 0, NotSerialized)
            {
                If (LEqual (DFEC, 0x01))
                {
                    Return (BIF1)
                }

                If (ECON)
                {
                    Store (\_SB.RDEC (0xAA), Local0)
                    Store (\_SB.RDEC (0xAB), Local5)
                    ShiftLeft (Local5, 0x08, Local5)
                    Add (Local0, Local5, Local0)
                    Store (\_SB.RDEC (0xAC), Local1)
                    Store (\_SB.RDEC (0xAD), Local5)
                    ShiftLeft (Local5, 0x08, Local5)
                    Add (Local1, Local5, Local1)
                    Store (Local1, Index (BIF1, 0x01))
                    Store (Local0, Index (BIF1, 0x02))
                    Store (0x3A98, Index (BIF1, 0x04))
                    Store (0x00, Local2)
                    Store (Local2, Index (BIF1, 0x05))
                    Store (0x00, Local4)
                    Store (Local4, Index (BIF1, 0x06))
                    Subtract (Local2, Local4, Local6)
                    Store (Local6, Index (BIF1, 0x07))
                    Subtract (Local0, Local2, Local7)
                    Store (Local7, Index (BIF1, 0x08))
                    Store (\_SB.RDEC (0xDF), Local0)
                    Store (And (Local0, 0x0F), Local0)
                    If (LEqual (Local0, 0x01))
                    {
                        Store ("PA3400U-1BAS/BRS", Index (BIF1, 0x09))
                    }
                    Else
                    {
                        Store ("PA3399U-1BAS/BRS", Index (BIF1, 0x09))
                    }

                    Store (\_SB.RDEC (0xB9), Local0)
                    Store (\_SB.RDEC (0xBA), Local5)
                    ShiftLeft (Local5, 0x08, Local5)
                    Add (Local0, Local5, Local0)
                    Store (ITOS (Local0), Local1)
                    Store (Local1, Index (BIF1, 0x0A))
                }
                Else
                {
                    Store (0xFFFFFFFF, Index (BIF1, 0x01))
                    Store (0xFFFFFFFF, Index (BIF1, 0x04))
                }

                Return (BIF1)
            }

            Method (_BST, 0, NotSerialized)
            {
                If (LEqual (SC_R, 0x77))
                {
                    Store (0x02, Index (BST1, 0x00))
                    Store (0x05DC, Index (BST1, 0x01))
                    Store (0x39D0, Index (BST1, 0x02))
                    Store (0x39D0, Index (BST1, 0x03))
                    Return (BST1)
                }

                If (LEqual (DFEC, 0x01))
                {
                    Return (BST1)
                }

                If (ECON)
                {
                    Store (\_SB.RDEC (0x94), Local1)
                    Store (And (Local1, 0x10), Local1)
                    ShiftRight (Local1, 0x04, Local1)
                    Store (\_SB.RDEC (0x95), Local0)
                    Store (And (Local0, 0x01), Local0)
                    ShiftLeft (Local1, 0x01, Local2)
                    Or (Local0, Local2, Local3)
                    Store (\_SB.RDEC (0xC6), Local2)
                    Multiply (Local2, 0x0100, Local1)
                    Store (\_SB.RDEC (0xC5), Local0)
                    Add (Local1, Local0, Local1)
                    Store (Local1, Index (BST1, 0x01))
                    Store (And (\_SB.RDEC (0xA4), 0x7F), Local0)
                    If (LLess (Local0, 0x0F))
                    {
                        Or (Local3, 0x04, Local3)
                    }

                    Store (Local3, Index (BST1, 0x00))
                    Store (DerefOf (Index (BIF1, 0x02)), Local1)
                    Multiply (Local1, Local0, Local2)
                    Divide (Local2, 0x64, Local3, Local2)
                    Add (Local2, 0x0A, Local2)
                    Store (Local2, Index (BST1, 0x02))
                    Store (DerefOf (Index (BIF1, 0x04)), Local3)
                    Store (Local3, Index (BST1, 0x03))
                }
                Else
                {
                    Store (0x01, Index (BST1, 0x00))
                    Store (0xFFFFFFFF, Index (BST1, 0x01))
                    Store (0xFFFFFFFF, Index (BST1, 0x02))
                    Store (0xFFFFFFFF, Index (BST1, 0x03))
                }

                Return (BST1)
            }
        }

        Method (ITOS, 1, NotSerialized)
        {
            Store ("", Local0)
            Store (0x04, Local1)
            While (Local1)
            {
                Decrement (Local1)
                And (ShiftRight (Arg0, ShiftLeft (Local1, 0x02)), 0x0F, Local4)
                Store (DerefOf (Index (CHAR, Local4)), Local2)
                Concatenate (Local0, Local2, Local5)
                Store (Local5, Local0)
            }

            Return (Local0)
        }

        Name (CHAR, Package (0x10)
        {
            "0", 
            "1", 
            "2", 
            "3", 
            "4", 
            "5", 
            "6", 
            "7", 
            "8", 
            "9", 
            "A", 
            "B", 
            "C", 
            "D", 
            "E", 
            "F"
        })
        Device (LID0)
        {
            Name (_HID, EisaId ("PNP0C0D"))
            Method (_LID, 0, NotSerialized)
            {
                If (ECON)
                {
                    Store (\_SB.RDEC (0x92), Local0)
                    Store (And (Local0, 0x01), Local0)
                    If (Local0)
                    {
                        Return (0x00)
                    }
                    Else
                    {
                        Return (0x01)
                    }
                }
                Else
                {
                    Return (0x01)
                }
            }

            Name (_PRW, Package (0x02)
            {
                0x18, 
                0x04
            })
        }

        Device (PWRB)
        {
            Name (_HID, EisaId ("PNP0C0C"))
        }

        Device (PCI0)
        {
            Method (_INI, 0, NotSerialized)
            {
                Store (0x01, DKOT)
                Store (0x01, GUID)
                If (CondRefOf (_OSI, Local0))
                {
                    Store (0x00, MYOS)
                    If (LAnd (CFGD, 0x4000))
                    {
                        Store (0x32, SMIF)
                        Store (0x00, TRP0)
                    }
                }
                Else
                {
                    If (LEqual (SizeOf (_OS), 0x14))
                    {
                        Store (0x01, MYOS)
                    }
                    Else
                    {
                        If (LEqual (SizeOf (_OS), 0x27))
                        {
                            Store (0x02, MYOS)
                        }
                        Else
                        {
                            Store (0x03, MYOS)
                        }
                    }
                }
            }

            Method (_S3D, 0, NotSerialized)
            {
                Return (0x02)
            }

            Method (_S4D, 0, NotSerialized)
            {
                Return (0x02)
            }

            Name (_HID, EisaId ("PNP0A08"))
            Name (_CID, 0x030AD041)
            Name (_ADR, 0x00)
            Name (_BBN, 0x00)
            OperationRegion (HBUS, PCI_Config, 0x40, 0xC0)
            Field (HBUS, DWordAcc, NoLock, Preserve)
            {
                        Offset (0x50), 
                    ,   4, 
                PM0H,   2, 
                        Offset (0x51), 
                PM1L,   2, 
                    ,   2, 
                PM1H,   2, 
                        Offset (0x52), 
                PM2L,   2, 
                    ,   2, 
                PM2H,   2, 
                        Offset (0x53), 
                PM3L,   2, 
                    ,   2, 
                PM3H,   2, 
                        Offset (0x54), 
                PM4L,   2, 
                    ,   2, 
                PM4H,   2, 
                        Offset (0x55), 
                PM5L,   2, 
                    ,   2, 
                PM5H,   2, 
                        Offset (0x56), 
                PM6L,   2, 
                    ,   2, 
                PM6H,   2, 
                        Offset (0x57), 
                    ,   7, 
                HENA,   1, 
                        Offset (0x5C), 
                    ,   3, 
                TOUD,   5
            }

            Name (BUF0, ResourceTemplate ()
            {
                WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
                    0x0000,             // Granularity
                    0x0000,             // Range Minimum
                    0x00FF,             // Range Maximum
                    0x0000,             // Translation Offset
                    0x0100,             // Length
                    0x00,, )
                DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x00000000,         // Granularity
                    0x00000000,         // Range Minimum
                    0x00000CF7,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00000CF8,         // Length
                    0x00,, , TypeStatic)
                IO (Decode16,
                    0x0CF8,             // Range Minimum
                    0x0CF8,             // Range Maximum
                    0x01,               // Alignment
                    0x08,               // Length
                    )
                DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x00000000,         // Granularity
                    0x00000D00,         // Range Minimum
                    0x0000FFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x0000F300,         // Length
                    0x00,, , TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000A0000,         // Range Minimum
                    0x000BFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00020000,         // Length
                    0x00,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000C0000,         // Range Minimum
                    0x000C3FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    0x00,, _Y00, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000C4000,         // Range Minimum
                    0x000C7FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    0x00,, _Y01, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000C8000,         // Range Minimum
                    0x000CBFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    0x00,, _Y02, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000CC000,         // Range Minimum
                    0x000CFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    0x00,, _Y03, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000D0000,         // Range Minimum
                    0x000D3FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    0x00,, _Y04, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000D4000,         // Range Minimum
                    0x000D7FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    0x00,, _Y05, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000D8000,         // Range Minimum
                    0x000DBFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    0x00,, _Y06, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000DC000,         // Range Minimum
                    0x000DFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    0x00,, _Y07, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000E0000,         // Range Minimum
                    0x000E3FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    0x00,, _Y08, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000E4000,         // Range Minimum
                    0x000E7FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    0x00,, _Y09, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000E8000,         // Range Minimum
                    0x000EBFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    0x00,, _Y0A, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000EC000,         // Range Minimum
                    0x000EFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    0x00,, _Y0B, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000F0000,         // Range Minimum
                    0x000FFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00010000,         // Length
                    0x00,, _Y0C, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x00000000,         // Range Minimum
                    0xFEBFFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00000000,         // Length
                    0x00,, _Y0D, AddressRangeMemory, TypeStatic)
            })
            Method (_CRS, 0, Serialized)
            {
                If (PM1L)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y00._LEN, C0LN)
                    Store (Zero, C0LN)
                }

                If (LEqual (PM1L, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y00._RW, C0RW)
                    Store (Zero, C0RW)
                }

                If (PM1H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C4LN)
                    Store (Zero, C4LN)
                }

                If (LEqual (PM1H, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C4RW)
                    Store (Zero, C4RW)
                }

                If (PM2L)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C8LN)
                    Store (Zero, C8LN)
                }

                If (LEqual (PM2L, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C8RW)
                    Store (Zero, C8RW)
                }

                If (PM2H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, CCLN)
                    Store (Zero, CCLN)
                }

                If (LEqual (PM2H, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y03._RW, CCRW)
                    Store (Zero, CCRW)
                }

                If (PM3L)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, D0LN)
                    Store (Zero, D0LN)
                }

                If (LEqual (PM3L, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y04._RW, D0RW)
                    Store (Zero, D0RW)
                }

                If (PM3H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D4LN)
                    Store (Zero, D4LN)
                }

                If (LEqual (PM3H, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D4RW)
                    Store (Zero, D4RW)
                }

                If (PM4L)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D8LN)
                    Store (Zero, D8LN)
                }

                If (LEqual (PM4L, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D8RW)
                    Store (Zero, D8RW)
                }

                If (PM4H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, DCLN)
                    Store (Zero, DCLN)
                }

                If (LEqual (PM4H, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y07._RW, DCRW)
                    Store (Zero, DCRW)
                }

                If (PM5L)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, E0LN)
                    Store (Zero, E0LN)
                }

                If (LEqual (PM5L, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y08._RW, E0RW)
                    Store (Zero, E0RW)
                }

                If (PM5H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E4LN)
                    Store (Zero, E4LN)
                }

                If (LEqual (PM5H, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E4RW)
                    Store (Zero, E4RW)
                }

                If (PM6L)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E8LN)
                    Store (Zero, E8LN)
                }

                If (LEqual (PM6L, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E8RW)
                    Store (Zero, E8RW)
                }

                If (PM6H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, ECLN)
                    Store (Zero, ECLN)
                }

                If (LEqual (PM6H, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, ECRW)
                    Store (Zero, ECRW)
                }

                If (PM0H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, F0LN)
                    Store (Zero, F0LN)
                }

                If (LEqual (PM0H, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, F0RW)
                    Store (Zero, F0RW)
                }

                CreateDWordField (BUF0, \_SB.PCI0._Y0D._MIN, M1MN)
                CreateDWordField (BUF0, \_SB.PCI0._Y0D._MAX, M1MX)
                CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, M1LN)
                ShiftLeft (TOUD, 0x1B, M1MN)
                Add (Subtract (M1MX, M1MN), 0x01, M1LN)
                Return (BUF0)
            }

            Method (_PRT, 0, NotSerialized)
            {
                If (GPIC)
                {
                    Return (Package (0x0E)
                    {
                        Package (0x04)
                        {
                            0x0001FFFF, 
                            0x00, 
                            0x00, 
                            0x10
                        }, 

                        Package (0x04)
                        {
                            0x001CFFFF, 
                            0x00, 
                            0x00, 
                            0x11
                        }, 

                        Package (0x04)
                        {
                            0x001CFFFF, 
                            0x01, 
                            0x00, 
                            0x10
                        }, 

                        Package (0x04)
                        {
                            0x001CFFFF, 
                            0x02, 
                            0x00, 
                            0x12
                        }, 

                        Package (0x04)
                        {
                            0x001CFFFF, 
                            0x03, 
                            0x00, 
                            0x13
                        }, 

                        Package (0x04)
                        {
                            0x001DFFFF, 
                            0x00, 
                            0x00, 
                            0x17
                        }, 

                        Package (0x04)
                        {
                            0x001DFFFF, 
                            0x01, 
                            0x00, 
                            0x13
                        }, 

                        Package (0x04)
                        {
                            0x001DFFFF, 
                            0x02, 
                            0x00, 
                            0x12
                        }, 

                        Package (0x04)
                        {
                            0x001DFFFF, 
                            0x03, 
                            0x00, 
                            0x10
                        }, 

                        Package (0x04)
                        {
                            0x001EFFFF, 
                            0x00, 
                            0x00, 
                            0x11
                        }, 

                        Package (0x04)
                        {
                            0x001EFFFF, 
                            0x01, 
                            0x00, 
                            0x14
                        }, 

                        Package (0x04)
                        {
                            0x001FFFFF, 
                            0x00, 
                            0x00, 
                            0x12
                        }, 

                        Package (0x04)
                        {
                            0x001FFFFF, 
                            0x01, 
                            0x00, 
                            0x13
                        }, 

                        Package (0x04)
                        {
                            0x001FFFFF, 
                            0x02, 
                            0x00, 
                            0x10
                        }
                    })
                }
                Else
                {
                    Return (Package (0x0E)
                    {
                        Package (0x04)
                        {
                            0x0001FFFF, 
                            0x00, 
                            \_SB.PCI0.LPCB.LNKA, 
                            0x00
                        }, 

                        Package (0x04)
                        {
                            0x001CFFFF, 
                            0x00, 
                            \_SB.PCI0.LPCB.LNKB, 
                            0x00
                        }, 

                        Package (0x04)
                        {
                            0x001CFFFF, 
                            0x01, 
                            \_SB.PCI0.LPCB.LNKA, 
                            0x00
                        }, 

                        Package (0x04)
                        {
                            0x001CFFFF, 
                            0x02, 
                            \_SB.PCI0.LPCB.LNKC, 
                            0x00
                        }, 

                        Package (0x04)
                        {
                            0x001CFFFF, 
                            0x03, 
                            \_SB.PCI0.LPCB.LNKD, 
                            0x00
                        }, 

                        Package (0x04)
                        {
                            0x001DFFFF, 
                            0x00, 
                            \_SB.PCI0.LPCB.LNKH, 
                            0x00
                        }, 

                        Package (0x04)
                        {
                            0x001DFFFF, 
                            0x01, 
                            \_SB.PCI0.LPCB.LNKD, 
                            0x00
                        }, 

                        Package (0x04)
                        {
                            0x001DFFFF, 
                            0x02, 
                            \_SB.PCI0.LPCB.LNKC, 
                            0x00
                        }, 

                        Package (0x04)
                        {
                            0x001DFFFF, 
                            0x03, 
                            \_SB.PCI0.LPCB.LNKA, 
                            0x00
                        }, 

                        Package (0x04)
                        {
                            0x001EFFFF, 
                            0x00, 
                            \_SB.PCI0.LPCB.LNKB, 
                            0x00
                        }, 

                        Package (0x04)
                        {
                            0x001EFFFF, 
                            0x01, 
                            \_SB.PCI0.LPCB.LNKE, 
                            0x00
                        }, 

                        Package (0x04)
                        {
                            0x001FFFFF, 
                            0x00, 
                            \_SB.PCI0.LPCB.LNKC, 
                            0x00
                        }, 

                        Package (0x04)
                        {
                            0x001FFFFF, 
                            0x01, 
                            \_SB.PCI0.LPCB.LNKD, 
                            0x00
                        }, 

                        Package (0x04)
                        {
                            0x001FFFFF, 
                            0x02, 
                            \_SB.PCI0.LPCB.LNKA, 
                            0x00
                        }
                    })
                }
            }

            Device (PDRC)
            {
                Name (_HID, EisaId ("PNP0C02"))
                Name (_UID, 0x01)
                Name (_CRS, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0xE0000000,         // Address Base
                        0x10000000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFED14000,         // Address Base
                        0x00004000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFED18000,         // Address Base
                        0x00001000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFED19000,         // Address Base
                        0x00001000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xF0008000,         // Address Base
                        0x00004000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFEC00000,         // Address Base
                        0x00001000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFEE00000,         // Address Base
                        0x00001000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFED20000,         // Address Base
                        0x00070000,         // Address Length
                        )
                })
            }

            Device (PEGP)
            {
                Name (_ADR, 0x00010000)
                Device (VGA)
                {
                    Name (_ADR, 0x00)
                    Name (CRTA, 0x01)
                    Name (LCDA, 0x01)
                    Name (TVAF, 0x00)
                    Name (DVIA, 0x00)
                    Name (TOGF, 0x00)
                    Method (_DOD, 0, NotSerialized)
                    {
                        Return (Package (0x04)
                        {
                            0x00010100, 
                            0x00010110, 
                            0x0200, 
                            0x0120
                        })
                    }

                    Device (CRT)
                    {
                        Name (_ADR, 0x0100)
                        Method (_DCS, 0, NotSerialized)
                        {
                            If (CRTA)
                            {
                                Return (0x1F)
                            }
                            Else
                            {
                                Return (0x1D)
                            }
                        }

                        Method (_DGS, 0, NotSerialized)
                        {
                            If (CRTA)
                            {
                                Return (0x01)
                            }
                            Else
                            {
                                Return (0x00)
                            }
                        }
                    }

                    Device (LCD)
                    {
                        Name (_ADR, 0x0110)
                        Method (_DCS, 0, NotSerialized)
                        {
                            If (LCDA)
                            {
                                Return (0x1F)
                            }
                            Else
                            {
                                Return (0x1D)
                            }
                        }

                        Method (_DGS, 0, NotSerialized)
                        {
                            If (LCDA)
                            {
                                Return (0x01)
                            }
                            Else
                            {
                                Return (0x00)
                            }
                        }
                    }

                    Device (TV)
                    {
                        Name (_ADR, 0x0200)
                        Method (_DCS, 0, NotSerialized)
                        {
                            If (TVAF)
                            {
                                Return (0x1F)
                            }
                            Else
                            {
                                Return (0x1D)
                            }
                        }

                        Method (_DGS, 0, NotSerialized)
                        {
                            If (TVAF)
                            {
                                Return (0x01)
                            }
                            Else
                            {
                                Return (0x00)
                            }
                        }
                    }

                    Device (DVI)
                    {
                        Name (_ADR, 0x0120)
                        Method (_DCS, 0, NotSerialized)
                        {
                            If (DVIA)
                            {
                                Return (0x1F)
                            }
                            Else
                            {
                                Return (0x1D)
                            }
                        }

                        Method (_DGS, 0, NotSerialized)
                        {
                            If (DVIA)
                            {
                                Return (0x01)
                            }
                            Else
                            {
                                Return (0x00)
                            }
                        }
                    }
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (GPIC)
                    {
                        Return (Package (0x04)
                        {
                            Package (0x04)
                            {
                                0xFFFF, 
                                0x00, 
                                0x00, 
                                0x10
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x01, 
                                0x00, 
                                0x11
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x02, 
                                0x00, 
                                0x12
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x03, 
                                0x00, 
                                0x13
                            }
                        })
                    }
                    Else
                    {
                        Return (Package (0x04)
                        {
                            Package (0x04)
                            {
                                0xFFFF, 
                                0x00, 
                                \_SB.PCI0.LPCB.LNKA, 
                                0x00
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x01, 
                                \_SB.PCI0.LPCB.LNKB, 
                                0x00
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x02, 
                                \_SB.PCI0.LPCB.LNKC, 
                                0x00
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x03, 
                                \_SB.PCI0.LPCB.LNKD, 
                                0x00
                            }
                        })
                    }
                }
            }

            Device (RP01)
            {
                Name (_ADR, 0x001C0000)
                OperationRegion (P1CS, PCI_Config, 0x40, 0x0100)
                Field (P1CS, AnyAcc, NoLock, WriteAsZeros)
                {
                            Offset (0x10), 
                    APMC,   2, 
                        ,   2, 
                    RPLD,   1, 
                    RPRL,   1, 
                            Offset (0x1A), 
                    ABP1,   1, 
                        ,   2, 
                    PDC1,   1, 
                        ,   2, 
                    PDS1,   1, 
                            Offset (0x20), 
                            Offset (0x22), 
                    PSP1,   1, 
                            Offset (0x9C), 
                        ,   30, 
                    HPCS,   1, 
                    PMCS,   1
                }

                Device (PXS1)
                {
                    Name (_ADR, 0x00)
                }

                Name (_PRW, Package (0x02)
                {
                    0x09, 
                    0x04
                })
                Method (_PRT, 0, NotSerialized)
                {
                    If (\GPIC)
                    {
                        Return (Package (0x04)
                        {
                            Package (0x04)
                            {
                                0xFFFF, 
                                0x00, 
                                0x00, 
                                0x10
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x01, 
                                0x00, 
                                0x11
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x02, 
                                0x00, 
                                0x12
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x03, 
                                0x00, 
                                0x13
                            }
                        })
                    }
                    Else
                    {
                        Return (Package (0x04)
                        {
                            Package (0x04)
                            {
                                0xFFFF, 
                                0x00, 
                                \_SB.PCI0.LPCB.LNKA, 
                                0x00
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x01, 
                                \_SB.PCI0.LPCB.LNKB, 
                                0x00
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x02, 
                                \_SB.PCI0.LPCB.LNKC, 
                                0x00
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x03, 
                                \_SB.PCI0.LPCB.LNKD, 
                                0x00
                            }
                        })
                    }
                }
            }

            Device (RP02)
            {
                Name (_ADR, 0x001C0001)
                OperationRegion (P2CS, PCI_Config, 0x40, 0x0100)
                Field (P2CS, AnyAcc, NoLock, WriteAsZeros)
                {
                            Offset (0x10), 
                    APMC,   2, 
                        ,   2, 
                    RPLD,   1, 
                    RPRL,   1, 
                            Offset (0x1A), 
                    ABP2,   1, 
                        ,   2, 
                    PDC2,   1, 
                        ,   2, 
                    PDS2,   1, 
                            Offset (0x20), 
                            Offset (0x22), 
                    PSP2,   1, 
                            Offset (0x9C), 
                        ,   30, 
                    HPCS,   1, 
                    PMCS,   1
                }

                Device (PXS2)
                {
                    Name (_ADR, 0x00)
                    Method (_RMV, 0, NotSerialized)
                    {
                        Return (0x01)
                    }
                }

                Name (_PRW, Package (0x02)
                {
                    0x09, 
                    0x04
                })
                Method (_PRT, 0, NotSerialized)
                {
                    If (\GPIC)
                    {
                        Return (Package (0x04)
                        {
                            Package (0x04)
                            {
                                0xFFFF, 
                                0x00, 
                                0x00, 
                                0x11
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x01, 
                                0x00, 
                                0x12
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x02, 
                                0x00, 
                                0x13
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x03, 
                                0x00, 
                                0x10
                            }
                        })
                    }
                    Else
                    {
                        Return (Package (0x04)
                        {
                            Package (0x04)
                            {
                                0xFFFF, 
                                0x00, 
                                \_SB.PCI0.LPCB.LNKB, 
                                0x00
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x01, 
                                \_SB.PCI0.LPCB.LNKC, 
                                0x00
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x02, 
                                \_SB.PCI0.LPCB.LNKD, 
                                0x00
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x03, 
                                \_SB.PCI0.LPCB.LNKA, 
                                0x00
                            }
                        })
                    }
                }
            }

            Device (RP03)
            {
                Name (_ADR, 0x001C0002)
                OperationRegion (P3CS, PCI_Config, 0x40, 0x0100)
                Field (P3CS, AnyAcc, NoLock, WriteAsZeros)
                {
                            Offset (0x10), 
                    APMC,   2, 
                        ,   2, 
                    RPLD,   1, 
                    RPRL,   1, 
                            Offset (0x1A), 
                    ABP3,   1, 
                        ,   2, 
                    PDC3,   1, 
                        ,   2, 
                    PDS3,   1, 
                            Offset (0x20), 
                            Offset (0x22), 
                    PSP3,   1, 
                            Offset (0x9C), 
                        ,   30, 
                    HPCS,   1, 
                    PMCS,   1
                }

                Device (PXS0)
                {
                    Name (_ADR, 0x00)
                    Method (_RMV, 0, NotSerialized)
                    {
                        Return (0x01)
                    }
                }

                Name (_PRW, Package (0x02)
                {
                    0x09, 
                    0x04
                })
                Method (_PRT, 0, NotSerialized)
                {
                    If (\GPIC)
                    {
                        Return (Package (0x04)
                        {
                            Package (0x04)
                            {
                                0xFFFF, 
                                0x00, 
                                0x00, 
                                0x12
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x01, 
                                0x00, 
                                0x13
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x02, 
                                0x00, 
                                0x10
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x03, 
                                0x00, 
                                0x11
                            }
                        })
                    }
                    Else
                    {
                        Return (Package (0x04)
                        {
                            Package (0x04)
                            {
                                0xFFFF, 
                                0x00, 
                                \_SB.PCI0.LPCB.LNKC, 
                                0x00
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x01, 
                                \_SB.PCI0.LPCB.LNKD, 
                                0x00
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x02, 
                                \_SB.PCI0.LPCB.LNKA, 
                                0x00
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x03, 
                                \_SB.PCI0.LPCB.LNKB, 
                                0x00
                            }
                        })
                    }
                }
            }

            Device (RP04)
            {
                Name (_ADR, 0x001C0003)
                OperationRegion (P4CS, PCI_Config, 0x40, 0x0100)
                Field (P4CS, AnyAcc, NoLock, WriteAsZeros)
                {
                            Offset (0x10), 
                    APMC,   2, 
                        ,   2, 
                    RPLD,   1, 
                    RPRL,   1, 
                            Offset (0x1A), 
                    ABP4,   1, 
                        ,   2, 
                    PDC4,   1, 
                        ,   2, 
                    PDS4,   1, 
                            Offset (0x20), 
                            Offset (0x22), 
                    PSP4,   1, 
                            Offset (0x9C), 
                        ,   30, 
                    HPCS,   1, 
                    PMCS,   1
                }

                Name (_PRW, Package (0x02)
                {
                    0x09, 
                    0x04
                })
                Method (_PRT, 0, NotSerialized)
                {
                    If (\GPIC)
                    {
                        Return (Package (0x04)
                        {
                            Package (0x04)
                            {
                                0xFFFF, 
                                0x00, 
                                0x00, 
                                0x13
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x01, 
                                0x00, 
                                0x10
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x02, 
                                0x00, 
                                0x11
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x03, 
                                0x00, 
                                0x12
                            }
                        })
                    }
                    Else
                    {
                        Return (Package (0x04)
                        {
                            Package (0x04)
                            {
                                0xFFFF, 
                                0x00, 
                                \_SB.PCI0.LPCB.LNKD, 
                                0x00
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x01, 
                                \_SB.PCI0.LPCB.LNKA, 
                                0x00
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x02, 
                                \_SB.PCI0.LPCB.LNKB, 
                                0x00
                            }, 

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x03, 
                                \_SB.PCI0.LPCB.LNKC, 
                                0x00
                            }
                        })
                    }
                }
            }

            Device (USB1)
            {
                Name (_ADR, 0x001D0000)
                OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
                Field (U1CS, DWordAcc, NoLock, Preserve)
                {
                    U1EN,   2
                }

                Name (PW11, Package (0x02)
                {
                    0x03, 
                    0x00
                })
                Name (PW12, Package (0x02)
                {
                    0x03, 
                    0x04
                })
                Method (_PRW, 0, NotSerialized)
                {
                    If (MYOS)
                    {
                        Return (PW12)
                    }
                    Else
                    {
                        Return (PW11)
                    }
                }

                Method (_PSW, 1, NotSerialized)
                {
                    If (Arg0)
                    {
                        Store (0x03, U1EN)
                    }
                    Else
                    {
                        Store (0x00, U1EN)
                    }
                }

                Method (_S3D, 0, NotSerialized)
                {
                    Return (0x02)
                }

                Method (_S4D, 0, NotSerialized)
                {
                    Return (0x02)
                }
            }

            Device (USB2)
            {
                Name (_ADR, 0x001D0001)
                OperationRegion (U2CS, PCI_Config, 0xC4, 0x04)
                Field (U2CS, DWordAcc, NoLock, Preserve)
                {
                    U2EN,   2
                }

                Name (PW21, Package (0x02)
                {
                    0x04, 
                    0x00
                })
                Name (PW22, Package (0x02)
                {
                    0x04, 
                    0x04
                })
                Method (_PRW, 0, NotSerialized)
                {
                    If (MYOS)
                    {
                        Return (PW22)
                    }
                    Else
                    {
                        Return (PW21)
                    }
                }

                Method (_PSW, 1, NotSerialized)
                {
                    If (Arg0)
                    {
                        Store (0x03, U2EN)
                    }
                    Else
                    {
                        Store (0x00, U2EN)
                    }
                }

                Method (_S3D, 0, NotSerialized)
                {
                    Return (0x02)
                }

                Method (_S4D, 0, NotSerialized)
                {
                    Return (0x02)
                }
            }

            Device (USB3)
            {
                Name (_ADR, 0x001D0002)
                OperationRegion (U2CS, PCI_Config, 0xC4, 0x04)
                Field (U2CS, DWordAcc, NoLock, Preserve)
                {
                    U3EN,   2
                }

                Name (PW31, Package (0x02)
                {
                    0x0C, 
                    0x00
                })
                Name (PW32, Package (0x02)
                {
                    0x0C, 
                    0x04
                })
                Method (_PRW, 0, NotSerialized)
                {
                    If (MYOS)
                    {
                        Return (PW32)
                    }
                    Else
                    {
                        Return (PW31)
                    }
                }

                Method (_PSW, 1, NotSerialized)
                {
                    If (Arg0)
                    {
                        Store (0x03, U3EN)
                    }
                    Else
                    {
                        Store (0x00, U3EN)
                    }
                }

                Method (_S3D, 0, NotSerialized)
                {
                    Return (0x02)
                }

                Method (_S4D, 0, NotSerialized)
                {
                    Return (0x02)
                }
            }

            Device (USB4)
            {
                Name (_ADR, 0x001D0003)
                OperationRegion (U4CS, PCI_Config, 0xC4, 0x04)
                Field (U4CS, DWordAcc, NoLock, Preserve)
                {
                    U4EN,   2
                }

                Name (PW41, Package (0x02)
                {
                    0x0E, 
                    0x00
                })
                Name (PW42, Package (0x02)
                {
                    0x0E, 
                    0x04
                })
                Method (_PRW, 0, NotSerialized)
                {
                    If (MYOS)
                    {
                        Return (PW42)
                    }
                    Else
                    {
                        Return (PW41)
                    }
                }

                Method (_PSW, 1, NotSerialized)
                {
                    If (Arg0)
                    {
                        Store (0x03, U4EN)
                    }
                    Else
                    {
                        Store (0x00, U4EN)
                    }
                }

                Method (_S3D, 0, NotSerialized)
                {
                    Return (0x02)
                }

                Method (_S4D, 0, NotSerialized)
                {
                    Return (0x02)
                }
            }

            Device (USB7)
            {
                Name (_ADR, 0x001D0007)
                Name (PW71, Package (0x02)
                {
                    0x0D, 
                    0x00
                })
                Name (PW72, Package (0x02)
                {
                    0x0D, 
                    0x04
                })
                Method (_PRW, 0, NotSerialized)
                {
                    If (MYOS)
                    {
                        Return (PW72)
                    }
                    Else
                    {
                        Return (PW71)
                    }
                }
            }

            Device (PCIB)
            {
                Name (_ADR, 0x001E0000)
                Device (CARD)
                {
                    Name (_ADR, 0x00060000)
                    OperationRegion (CREG, PCI_Config, 0x00, 0x0100)
                    Field (CREG, DWordAcc, NoLock, Preserve)
                    {
                                Offset (0x01), 
                        CDID,   8
                    }

                    Method (_REG, 2, NotSerialized)
                    {
                        If (LEqual (Arg0, 0x03))
                        {
                            If (LEqual (Arg1, 0x01))
                            {
                                If (LEqual (CDID, 0xAC44))
                                {
                                    Store (0x01, TICO)
                                }
                            }
                        }
                    }
                }

                Device (FCRD)
                {
                    Method (_ADR, 0, NotSerialized)
                    {
                        If (Not (TICO))
                        {
                            Return (0x00060001)
                        }
                        Else
                        {
                            Return (0x00060002)
                        }
                    }

                    OperationRegion (FREG, PCI_Config, 0x13, 0x10)
                    Field (FREG, DWordAcc, NoLock, Preserve)
                    {
                        MEMB,   8
                    }

                    Method (_STA, 0, NotSerialized)
                    {
                        If (E394)
                        {
                            If (Not (GUID))
                            {
                                If (\_SB.PCI0.PCIB.FCRD.MEMB)
                                {
                                    \_SB.GSMI (0x13)
                                    Store (0x01, GUID)
                                }
                            }

                            Return (0x0F)
                        }
                        Else
                        {
                            Return (0x00)
                        }
                    }
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (GPIC)
                    {
                        Return (Package (0x05)
                        {
                            Package (0x04)
                            {
                                0x0004FFFF, 
                                0x00, 
                                0x00, 
                                0x12
                            }, 

                            Package (0x04)
                            {
                                0x0006FFFF, 
                                0x00, 
                                0x00, 
                                0x12
                            }, 

                            Package (0x04)
                            {
                                0x0006FFFF, 
                                0x01, 
                                0x00, 
                                0x13
                            }, 

                            Package (0x04)
                            {
                                0x0006FFFF, 
                                0x02, 
                                0x00, 
                                0x16
                            }, 

                            Package (0x04)
                            {
                                0x0006FFFF, 
                                0x03, 
                                0x00, 
                                0x14
                            }
                        })
                    }
                    Else
                    {
                        Return (Package (0x05)
                        {
                            Package (0x04)
                            {
                                0x0004FFFF, 
                                0x00, 
                                \_SB.PCI0.LPCB.LNKA, 
                                0x00
                            }, 

                            Package (0x04)
                            {
                                0x0006FFFF, 
                                0x00, 
                                \_SB.PCI0.LPCB.LNKC, 
                                0x00
                            }, 

                            Package (0x04)
                            {
                                0x0006FFFF, 
                                0x01, 
                                \_SB.PCI0.LPCB.LNKD, 
                                0x00
                            }, 

                            Package (0x04)
                            {
                                0x0006FFFF, 
                                0x02, 
                                \_SB.PCI0.LPCB.LNKG, 
                                0x00
                            }, 

                            Package (0x04)
                            {
                                0x0006FFFF, 
                                0x03, 
                                \_SB.PCI0.LPCB.LNKE, 
                                0x00
                            }
                        })
                    }
                }

                Device (DOCK)
                {
                    Name (_HID, EisaId ("PNP0A06"))
                    Name (_UID, 0x01)
                    Method (_DCK, 1, NotSerialized)
                    {
                        If (Arg0)
                        {
                            If (LAnd (LNotEqual (MYOS, 0x01), LEqual (DKAP, 0x00)))
                            {
                                Store (\_SB.RDEC (0x92), Local0)
                                Store (Or (Local0, 0x80), Local0)
                                \_SB.WREC (0x92, Local0)
                            }

                            Return (0x01)
                        }
                        Else
                        {
                            If (LAnd (LNotEqual (MYOS, 0x01), LEqual (DKAP, 0x00)))
                            {
                                Store (\_SB.RDEC (0x92), Local0)
                                Store (And (Local0, 0x7F), Local0)
                                \_SB.WREC (0x92, Local0)
                            }

                            Return (0x01)
                        }
                    }

                    Method (_STA, 0, NotSerialized)
                    {
                        If (ECON)
                        {
                            If (LEqual (DKAP, 0x01))
                            {
                                Store (0x00, PRST)
                            }
                            Else
                            {
                                Store (\_SB.RDEC (0x92), Local0)
                                Store (And (Local0, 0x80), Local0)
                                ShiftRight (Local0, 0x07, Local0)
                                If (Local0)
                                {
                                    Store (0x0F, PRST)
                                }
                                Else
                                {
                                    Store (0x00, PRST)
                                }
                            }
                        }
                        Else
                        {
                            If (LEqual (DKAP, 0x01))
                            {
                                Store (0x00, PRST)
                            }
                            Else
                            {
                                Store (\_SB.RDEC (0x92), Local0)
                                Store (And (Local0, 0x80), Local0)
                                ShiftRight (Local0, 0x07, Local0)
                                If (Local0)
                                {
                                    Store (0x0F, PRST)
                                }
                                Else
                                {
                                    Store (0x00, PRST)
                                }
                            }
                        }

                        Return (PRST)
                    }

                    Method (_BDN, 0, NotSerialized)
                    {
                        Return (0x01)
                    }

                    Method (_EJ0, 1, NotSerialized)
                    {
                        If (Arg0)
                        {
                            Reset (^DKRQ)
                            Wait (^DKRQ, 0x1400)
                            Store (\_SB.RDEC (0x92), Local0)
                            Store (And (Local0, 0x7F), Local0)
                            \_SB.WREC (0x92, Local0)
                        }
                    }

                    Event (DKRQ)
                }
            }

            Device (AUD0)
            {
                Name (_ADR, 0x001E0002)
            }

            Device (MODM)
            {
                Name (_ADR, 0x001E0003)
                Name (_PRW, Package (0x02)
                {
                    0x05, 
                    0x04
                })
            }

            Device (LPCB)
            {
                Name (_ADR, 0x001F0000)
                OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
                Field (LPC0, AnyAcc, NoLock, Preserve)
                {
                            Offset (0x20), 
                    PARC,   8, 
                    PBRC,   8, 
                    PCRC,   8, 
                    PDRC,   8, 
                            Offset (0x28), 
                    PERC,   8, 
                    PFRC,   8, 
                    PGRC,   8, 
                    PHRC,   8, 
                            Offset (0x40), 
                    IOD0,   8, 
                    IOD1,   8, 
                    CMAE,   1, 
                            Offset (0x60), 
                        ,   7, 
                    C4C3,   1
                }

                Device (LNKA)
                {
                    Name (_HID, EisaId ("PNP0C0F"))
                    Name (_UID, 0x01)
                    Method (_DIS, 0, Serialized)
                    {
                        Store (0x80, PARC)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared, )
                            {5,11}
                    })
                    Method (_CRS, 0, Serialized)
                    {
                        Name (RTLA, ResourceTemplate ()
                        {
                            IRQ (Level, ActiveLow, Shared, _Y0E)
                                {}
                        })
                        CreateWordField (RTLA, \_SB.PCI0.LPCB.LNKA._CRS._Y0E._INT, IRQ0)
                        Store (Zero, IRQ0)
                        ShiftLeft (0x01, And (PARC, 0x0F), IRQ0)
                        Return (RTLA)
                    }

                    Method (_SRS, 1, Serialized)
                    {
                        CreateWordField (Arg0, 0x01, IRQ0)
                        FindSetRightBit (IRQ0, Local0)
                        Decrement (Local0)
                        Store (Local0, PARC)
                    }

                    Method (_STA, 0, Serialized)
                    {
                        If (And (PARC, 0x80))
                        {
                            Return (0x09)
                        }
                        Else
                        {
                            Return (0x0B)
                        }
                    }
                }

                Device (LNKB)
                {
                    Name (_HID, EisaId ("PNP0C0F"))
                    Name (_UID, 0x02)
                    Method (_DIS, 0, Serialized)
                    {
                        Store (0x80, PBRC)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared, )
                            {5,10,11}
                    })
                    Method (_CRS, 0, Serialized)
                    {
                        Name (RTLB, ResourceTemplate ()
                        {
                            IRQ (Level, ActiveLow, Shared, _Y0F)
                                {}
                        })
                        CreateWordField (RTLB, \_SB.PCI0.LPCB.LNKB._CRS._Y0F._INT, IRQ0)
                        Store (Zero, IRQ0)
                        ShiftLeft (0x01, And (PBRC, 0x0F), IRQ0)
                        Return (RTLB)
                    }

                    Method (_SRS, 1, Serialized)
                    {
                        CreateWordField (Arg0, 0x01, IRQ0)
                        FindSetRightBit (IRQ0, Local0)
                        Decrement (Local0)
                        Store (Local0, PBRC)
                    }

                    Method (_STA, 0, Serialized)
                    {
                        If (And (PBRC, 0x80))
                        {
                            Return (0x09)
                        }
                        Else
                        {
                            Return (0x0B)
                        }
                    }
                }

                Device (LNKC)
                {
                    Name (_HID, EisaId ("PNP0C0F"))
                    Name (_UID, 0x03)
                    Method (_DIS, 0, Serialized)
                    {
                        Store (0x80, PCRC)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared, )
                            {5,11}
                    })
                    Method (_CRS, 0, Serialized)
                    {
                        Name (RTLC, ResourceTemplate ()
                        {
                            IRQ (Level, ActiveLow, Shared, _Y10)
                                {}
                        })
                        CreateWordField (RTLC, \_SB.PCI0.LPCB.LNKC._CRS._Y10._INT, IRQ0)
                        Store (Zero, IRQ0)
                        ShiftLeft (0x01, And (PCRC, 0x0F), IRQ0)
                        Return (RTLC)
                    }

                    Method (_SRS, 1, Serialized)
                    {
                        CreateWordField (Arg0, 0x01, IRQ0)
                        FindSetRightBit (IRQ0, Local0)
                        Decrement (Local0)
                        Store (Local0, PCRC)
                    }

                    Method (_STA, 0, Serialized)
                    {
                        If (And (PCRC, 0x80))
                        {
                            Return (0x09)
                        }
                        Else
                        {
                            Return (0x0B)
                        }
                    }
                }

                Device (LNKD)
                {
                    Name (_HID, EisaId ("PNP0C0F"))
                    Name (_UID, 0x04)
                    Method (_DIS, 0, Serialized)
                    {
                        Store (0x80, PDRC)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared, )
                            {5,10,11}
                    })
                    Method (_CRS, 0, Serialized)
                    {
                        Name (RTLD, ResourceTemplate ()
                        {
                            IRQ (Level, ActiveLow, Shared, _Y11)
                                {}
                        })
                        CreateWordField (RTLD, \_SB.PCI0.LPCB.LNKD._CRS._Y11._INT, IRQ0)
                        Store (Zero, IRQ0)
                        ShiftLeft (0x01, And (PDRC, 0x0F), IRQ0)
                        Return (RTLD)
                    }

                    Method (_SRS, 1, Serialized)
                    {
                        CreateWordField (Arg0, 0x01, IRQ0)
                        FindSetRightBit (IRQ0, Local0)
                        Decrement (Local0)
                        Store (Local0, PDRC)
                    }

                    Method (_STA, 0, Serialized)
                    {
                        If (And (PDRC, 0x80))
                        {
                            Return (0x09)
                        }
                        Else
                        {
                            Return (0x0B)
                        }
                    }
                }

                Device (LNKE)
                {
                    Name (_HID, EisaId ("PNP0C0F"))
                    Name (_UID, 0x05)
                    Method (_DIS, 0, Serialized)
                    {
                        Store (0x80, PERC)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared, )
                            {5,11}
                    })
                    Method (_CRS, 0, Serialized)
                    {
                        Name (RTLE, ResourceTemplate ()
                        {
                            IRQ (Level, ActiveLow, Shared, _Y12)
                                {}
                        })
                        CreateWordField (RTLE, \_SB.PCI0.LPCB.LNKE._CRS._Y12._INT, IRQ0)
                        Store (Zero, IRQ0)
                        ShiftLeft (0x01, And (PERC, 0x0F), IRQ0)
                        Return (RTLE)
                    }

                    Method (_SRS, 1, Serialized)
                    {
                        CreateWordField (Arg0, 0x01, IRQ0)
                        FindSetRightBit (IRQ0, Local0)
                        Decrement (Local0)
                        Store (Local0, PERC)
                    }

                    Method (_STA, 0, Serialized)
                    {
                        If (And (PERC, 0x80))
                        {
                            Return (0x09)
                        }
                        Else
                        {
                            Return (0x0B)
                        }
                    }
                }

                Device (LNKF)
                {
                    Name (_HID, EisaId ("PNP0C0F"))
                    Name (_UID, 0x06)
                    Method (_DIS, 0, Serialized)
                    {
                        Store (0x80, PFRC)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared, )
                            {5,10}
                    })
                    Method (_CRS, 0, Serialized)
                    {
                        Name (RTLF, ResourceTemplate ()
                        {
                            IRQ (Level, ActiveLow, Shared, _Y13)
                                {}
                        })
                        CreateWordField (RTLF, \_SB.PCI0.LPCB.LNKF._CRS._Y13._INT, IRQ0)
                        Store (Zero, IRQ0)
                        ShiftLeft (0x01, And (PFRC, 0x0F), IRQ0)
                        Return (RTLF)
                    }

                    Method (_SRS, 1, Serialized)
                    {
                        CreateWordField (Arg0, 0x01, IRQ0)
                        FindSetRightBit (IRQ0, Local0)
                        Decrement (Local0)
                        Store (Local0, PFRC)
                    }

                    Method (_STA, 0, Serialized)
                    {
                        If (And (PFRC, 0x80))
                        {
                            Return (0x09)
                        }
                        Else
                        {
                            Return (0x0B)
                        }
                    }
                }

                Name (KPRS, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, Shared, )
                        {10,11}
                })
                Name (XPRS, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, Shared, )
                        {6}
                })
                Device (LNKG)
                {
                    Name (_HID, EisaId ("PNP0C0F"))
                    Name (_UID, 0x07)
                    Method (_DIS, 0, Serialized)
                    {
                        Store (0x80, PGRC)
                    }

                    Method (_PRS, 0, NotSerialized)
                    {
                        If (MYOS)
                        {
                            Return (KPRS)
                        }
                        Else
                        {
                            Return (XPRS)
                        }
                    }

                    Method (_CRS, 0, Serialized)
                    {
                        Name (RTLG, ResourceTemplate ()
                        {
                            IRQ (Level, ActiveLow, Shared, _Y14)
                                {}
                        })
                        CreateWordField (RTLG, \_SB.PCI0.LPCB.LNKG._CRS._Y14._INT, IRQ0)
                        Store (Zero, IRQ0)
                        ShiftLeft (0x01, And (PGRC, 0x0F), IRQ0)
                        Return (RTLG)
                    }

                    Method (_SRS, 1, Serialized)
                    {
                        CreateWordField (Arg0, 0x01, IRQ0)
                        FindSetRightBit (IRQ0, Local0)
                        Decrement (Local0)
                        Store (Local0, PGRC)
                    }

                    Method (_STA, 0, Serialized)
                    {
                        If (And (PGRC, 0x80))
                        {
                            Return (0x09)
                        }
                        Else
                        {
                            Return (0x0B)
                        }
                    }
                }

                Device (LNKH)
                {
                    Name (_HID, EisaId ("PNP0C0F"))
                    Name (_UID, 0x08)
                    Method (_DIS, 0, Serialized)
                    {
                        Store (0x80, PHRC)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared, )
                            {5,10}
                    })
                    Method (_CRS, 0, Serialized)
                    {
                        Name (RTLH, ResourceTemplate ()
                        {
                            IRQ (Level, ActiveLow, Shared, _Y15)
                                {}
                        })
                        CreateWordField (RTLH, \_SB.PCI0.LPCB.LNKH._CRS._Y15._INT, IRQ0)
                        Store (Zero, IRQ0)
                        ShiftLeft (0x01, And (PHRC, 0x0F), IRQ0)
                        Return (RTLH)
                    }

                    Method (_SRS, 1, Serialized)
                    {
                        CreateWordField (Arg0, 0x01, IRQ0)
                        FindSetRightBit (IRQ0, Local0)
                        Decrement (Local0)
                        Store (Local0, PHRC)
                    }

                    Method (_STA, 0, Serialized)
                    {
                        If (And (PHRC, 0x80))
                        {
                            Return (0x09)
                        }
                        Else
                        {
                            Return (0x0B)
                        }
                    }
                }

                Device (DMAC)
                {
                    Name (_HID, EisaId ("PNP0200"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x01,               // Alignment
                            0x20,               // Length
                            )
                        IO (Decode16,
                            0x0081,             // Range Minimum
                            0x0081,             // Range Maximum
                            0x01,               // Alignment
                            0x11,               // Length
                            )
                        IO (Decode16,
                            0x0093,             // Range Minimum
                            0x0093,             // Range Maximum
                            0x01,               // Alignment
                            0x0D,               // Length
                            )
                        IO (Decode16,
                            0x00C0,             // Range Minimum
                            0x00C0,             // Range Maximum
                            0x01,               // Alignment
                            0x20,               // Length
                            )
                        DMA (Compatibility, NotBusMaster, Transfer8_16, )
                            {4}
                    })
                }

                Device (FWHD)
                {
                    Name (_HID, EisaId ("INT0800"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly,
                            0xFF800000,         // Address Base
                            0x00800000,         // Address Length
                            )
                    })
                }

                Device (HPET)
                {
                    Name (_HID, EisaId ("PNP0103"))
                    Name (BUF0, ResourceTemplate ()
                    {
                        IRQNoFlags ()
                            {0}
                        IRQNoFlags ()
                            {8}
                        Memory32Fixed (ReadOnly,
                            0xFED00000,         // Address Base
                            0x00000400,         // Address Length
                            _Y16)
                    })
                    Method (_STA, 0, NotSerialized)
                    {
                        If (LEqual (MYOS, 0x00))
                        {
                            If (HPAE)
                            {
                                Return (0x0F)
                            }
                        }
                        Else
                        {
                            If (HPAE)
                            {
                                Return (0x0B)
                            }
                        }

                        Return (0x00)
                    }

                    Method (_CRS, 0, Serialized)
                    {
                        If (HPAE)
                        {
                            CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y16._BAS, HPT0)
                            If (LEqual (HPAS, 0x01))
                            {
                                Store (0xFED01000, HPT0)
                            }

                            If (LEqual (HPAS, 0x02))
                            {
                                Store (0xFED02000, HPT0)
                            }

                            If (LEqual (HPAS, 0x03))
                            {
                                Store (0xFED03000, HPT0)
                            }
                        }

                        Return (BUF0)
                    }
                }

                Device (IPIC)
                {
                    Name (_HID, EisaId ("PNP0000"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0020,             // Range Minimum
                            0x0020,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0024,             // Range Minimum
                            0x0024,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0028,             // Range Minimum
                            0x0028,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x002C,             // Range Minimum
                            0x002C,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0030,             // Range Minimum
                            0x0030,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0034,             // Range Minimum
                            0x0034,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0038,             // Range Minimum
                            0x0038,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x003C,             // Range Minimum
                            0x003C,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00A0,             // Range Minimum
                            0x00A0,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00A4,             // Range Minimum
                            0x00A4,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00A8,             // Range Minimum
                            0x00A8,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00AC,             // Range Minimum
                            0x00AC,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00B0,             // Range Minimum
                            0x00B0,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00B4,             // Range Minimum
                            0x00B4,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00B8,             // Range Minimum
                            0x00B8,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00BC,             // Range Minimum
                            0x00BC,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x04D0,             // Range Minimum
                            0x04D0,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IRQNoFlags ()
                            {2}
                    })
                }

                Device (MATH)
                {
                    Name (_HID, EisaId ("PNP0C04"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x00F0,             // Range Minimum
                            0x00F0,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IRQNoFlags ()
                            {13}
                    })
                }

                Device (LDRC)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x02)
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x002E,             // Range Minimum
                            0x002E,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x004E,             // Range Minimum
                            0x004E,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0061,             // Range Minimum
                            0x0061,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0063,             // Range Minimum
                            0x0063,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0065,             // Range Minimum
                            0x0065,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0067,             // Range Minimum
                            0x0067,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0080,             // Range Minimum
                            0x0080,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0092,             // Range Minimum
                            0x0092,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x00B2,             // Range Minimum
                            0x00B2,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0300,             // Range Minimum
                            0x0300,             // Range Maximum
                            0x01,               // Alignment
                            0x70,               // Length
                            )
                        IO (Decode16,
                            0x0800,             // Range Minimum
                            0x0800,             // Range Maximum
                            0x01,               // Alignment
                            0x10,               // Length
                            )
                        IO (Decode16,
                            0x1000,             // Range Minimum
                            0x1000,             // Range Maximum
                            0x01,               // Alignment
                            0x80,               // Length
                            )
                        IO (Decode16,
                            0x1300,             // Range Minimum
                            0x1300,             // Range Maximum
                            0x01,               // Alignment
                            0x40,               // Length
                            )
                        Memory32Fixed (ReadWrite,
                            0xE0000000,         // Address Base
                            0x10000000,         // Address Length
                            )
                        Memory32Fixed (ReadWrite,
                            0xF0008000,         // Address Base
                            0x00004000,         // Address Length
                            )
                        Memory32Fixed (ReadWrite,
                            0xFED14000,         // Address Base
                            0x00004000,         // Address Length
                            )
                        Memory32Fixed (ReadWrite,
                            0xFED18000,         // Address Base
                            0x00001000,         // Address Length
                            )
                        Memory32Fixed (ReadWrite,
                            0xFED19000,         // Address Base
                            0x00001000,         // Address Length
                            )
                    })
                }

                Device (RTC)
                {
                    Name (_HID, EisaId ("PNP0B00"))
                    Name (BUF0, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x01,               // Alignment
                            0x08,               // Length
                            )
                    })
                    Name (BUF1, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x01,               // Alignment
                            0x08,               // Length
                            )
                        IRQNoFlags ()
                            {8}
                    })
                    Method (_CRS, 0, Serialized)
                    {
                        If (HPAE)
                        {
                            Return (BUF0)
                        }

                        Return (BUF1)
                    }
                }

                Device (TIMR)
                {
                    Name (_HID, EisaId ("PNP0100"))
                    Name (BUF0, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0040,             // Range Minimum
                            0x0040,             // Range Maximum
                            0x01,               // Alignment
                            0x04,               // Length
                            )
                        IO (Decode16,
                            0x0050,             // Range Minimum
                            0x0050,             // Range Maximum
                            0x10,               // Alignment
                            0x04,               // Length
                            )
                    })
                    Name (BUF1, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0040,             // Range Minimum
                            0x0040,             // Range Maximum
                            0x01,               // Alignment
                            0x04,               // Length
                            )
                        IO (Decode16,
                            0x0050,             // Range Minimum
                            0x0050,             // Range Maximum
                            0x10,               // Alignment
                            0x04,               // Length
                            )
                        IRQNoFlags ()
                            {0}
                    })
                    Method (_CRS, 0, Serialized)
                    {
                        If (HPAE)
                        {
                            Return (BUF0)
                        }

                        Return (BUF1)
                    }
                }

                Device (EC0)
                {
                    Name (_HID, EisaId ("PNP0C09"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0062,             // Range Minimum
                            0x0062,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0066,             // Range Minimum
                            0x0066,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                    })
                    OperationRegion (ECF2, EmbeddedControl, 0x00, 0xFF)
                    Field (\_SB.PCI0.LPCB.EC0.ECF2, ByteAcc, Lock, Preserve)
                    {
                                Offset (0x30), 
                        PBAC,   1, 
                                Offset (0x90), 
                        LSCI,   8, 
                        LHKY,   8, 
                        LIDC,   1, 
                        DKON,   1, 
                        FNKP,   1, 
                        ACST,   1, 
                        BLW1,   1, 
                        BLW2,   1, 
                                Offset (0x93), 
                        SMIE,   1, 
                        WLST,   1, 
                        BTRS,   1, 
                        WLON,   1, 
                        BTKI,   1, 
                        BTST,   1, 
                        BTIT,   1, 
                        BTPW,   1, 
                        B1ST,   1, 
                        B2ST,   1, 
                            ,   2, 
                        B1CG,   1, 
                        B2CG,   1, 
                                Offset (0x95), 
                        B1DC,   1, 
                        B2DC,   1, 
                            ,   2, 
                        B1FC,   1, 
                        B2FC,   1, 
                                Offset (0x96), 
                        B1L1,   1, 
                        B2L1,   1, 
                            ,   2, 
                        B1L2,   1, 
                        B2L2,   1, 
                                Offset (0x97), 
                        B1CA,   1, 
                        B2CA,   1, 
                            ,   2, 
                        B1CD,   1, 
                        B2CD,   1, 
                                Offset (0x98), 
                        B1CS,   2, 
                        B2CS,   2, 
                                Offset (0x99), 
                        L1P1,   7, 
                                Offset (0x9A), 
                        L1P2,   7, 
                                Offset (0x9B), 
                        BPOD,   7, 
                                Offset (0x9C), 
                        CCPT,   7, 
                                Offset (0x9D), 
                        LTMP,   7, 
                                Offset (0x9E), 
                        HTMP,   7, 
                                Offset (0x9F), 
                        STMP,   7, 
                                Offset (0xA0), 
                        FANS,   7, 
                                Offset (0xA1), 
                        SBID,   3, 
                                Offset (0xA2), 
                            ,   1, 
                        WLID,   1, 
                        WPWR,   1, 
                        WBL2,   1, 
                        WDCK,   1, 
                                Offset (0xA3), 
                        BRIG,   8, 
                        B1BL,   7, 
                                Offset (0xA5), 
                        B2BL,   7, 
                                Offset (0xA8), 
                        RCB1,   16, 
                        LFC1,   16, 
                        DES1,   16, 
                        RCB2,   16, 
                        LFC2,   16, 
                        DES2,   16, 
                                Offset (0xB6), 
                        ELID,   1, 
                        EKBD,   1, 
                        ELAN,   1, 
                                Offset (0xB8), 
                        ECLK,   1, 
                        ETS4,   1, 
                                Offset (0xB9), 
                        B1SN,   16, 
                        B2SN,   16, 
                        B1PR,   16, 
                                Offset (0xC1), 
                        THLO,   8, 
                        THHI,   8, 
                        B2PR,   16, 
                        BTPR,   16, 
                                Offset (0xCB), 
                        CCVT,   7, 
                                Offset (0xCE), 
                        LCVT,   7, 
                                Offset (0xDC), 
                        B1RS,   4, 
                        B2RS,   4, 
                        B1MF,   4, 
                        B2MF,   4
                    }

                    Mutex (MUT1, 0x00)
                    Name (_GPE, 0x10)
                    Method (_PS0, 0, NotSerialized)
                    {
                        Store (0x00, DFEC)
                    }

                    Method (_PS3, 0, NotSerialized)
                    {
                        Store (0x01, DFEC)
                    }

                    Method (_REG, 2, NotSerialized)
                    {
                        If (LEqual (Arg0, 0x03))
                        {
                            If (LEqual (Arg1, 0x01))
                            {
                                Store (0x01, ECON)
                                Store (\_SB.RDEC (0x92), Local0)
                                Store (And (Local0, 0x08), Local0)
                                ShiftRight (Local0, 0x03, Local0)
                                If (Local0)
                                {
                                    Store (0x01, S_AC)
                                }
                                Else
                                {
                                    Store (0x00, S_AC)
                                }
                            }
                            Else
                            {
                                Store (0x00, ECON)
                            }
                        }
                    }

                    Method (_Q11, 0, NotSerialized)
                    {
                        Store (\_SB.RDEC (0x9C), Local0)
                        Store (And (Local0, 0x7F), Local0)
                        STEV (Local0)
                        Notify (\_TZ.TZVR, 0x80)
                        Notify (\_TZ.TZVL, 0x80)
                        Notify (\_TZ.TZCL, 0x80)
                    }

                    Method (_Q13, 0, NotSerialized)
                    {
                        Store (\_SB.RDEC (0x92), Local0)
                        Store (And (Local0, 0x08), Local0)
                        ShiftRight (Local0, 0x03, Local0)
                        If (LNotEqual (Local0, S_AC))
                        {
                            If (LEqual (Local0, 0x01))
                            {
                                Store (0x01, S_AC)
                            }
                            Else
                            {
                                Store (0x00, S_AC)
                            }

                            Sleep (0x32)
                            Notify (\_SB.AC, 0x80)
                            Notify (\_SB.BAT1, 0x80)
                        }
                    }

                    Method (_Q14, 0, NotSerialized)
                    {
                        Notify (\_SB.LID0, 0x80)
                        Store (\_SB.RDEC (0x92), Local0)
                        If (And (Local0, 0x01))
                        {
                            \_SB.GSMI (0x1B)
                        }
                        Else
                        {
                            \_SB.GSMI (0x1C)
                        }
                    }

                    Method (_Q16, 0, NotSerialized)
                    {
                        Notify (\_SB.PWRB, 0x80)
                    }

                    Method (_Q17, 0, NotSerialized)
                    {
                        If (LAnd (LNotEqual (MYOS, 0x01), Not (DKAP)))
                        {
                            Store (\_SB.RDEC (0x92), Local0)
                            Store (And (Local0, 0x80), Local0)
                            ShiftRight (Local0, 0x07, Local0)
                            If (Local0)
                            {
                                Notify (\_SB.PCI0.PCIB.DOCK, 0x00)
                            }
                            Else
                            {
                                Notify (\_SB.PCI0.PCIB.DOCK, 0x01)
                                Signal (\_SB.PCI0.PCIB.DOCK.DKRQ)
                            }
                        }
                    }

                    Method (_Q19, 0, NotSerialized)
                    {
                        If (LEqual (DFEC, 0x00))
                        {
                            Notify (\_SB.BAT1, 0x80)
                            Notify (\_SB.BAT1, 0x81)
                        }
                    }

                    Method (_Q25, 0, NotSerialized)
                    {
                        If (LEqual (DFEC, 0x00))
                        {
                            \_SB.GSMI (0x05)
                            Store (\_SB.RDEC (0xD3), Local0)
                            If (LEqual (Local0, 0x02))
                            {
                                VGAS ()
                            }
                        }
                    }

                    Method (_Q26, 0, NotSerialized)
                    {
                        If (LEqual (DFEC, 0x00))
                        {
                            Store (\_SB.RDEC (0xD3), Local0)
                            If (LEqual (Local0, 0x01))
                            {
                                \_SB.GSMI (0x0B)
                            }

                            If (LEqual (Local0, 0x02))
                            {
                                \_SB.WREC (0xCD, 0x01)
                                VGAS ()
                            }
                        }
                    }

                    Method (_Q28, 0, NotSerialized)
                    {
                        If (ECON)
                        {
                            If (\_SB.PCI0.LPCB.EC0.BTST)
                            {
                                If (\_SB.PCI0.LPCB.EC0.BTKI)
                                {
                                    Store (0x01, \_SB.PCI0.LPCB.EC0.BTPW)
                                    Sleep (0x0834)
                                    Store (0x01, \_SB.PCI0.LPCB.EC0.BTIT)
                                    Sleep (0x32)
                                    Store (0x01, \_SB.PCI0.LPCB.EC0.BTRS)
                                    Sleep (0x64)
                                }
                            }
                        }

                        Notify (\_SB.BT, 0x00)
                    }

                    Method (_Q32, 0, NotSerialized)
                    {
                        \_SB.GSMI (0x17)
                        Sleep (0x14)
                    }

                    Method (_Q33, 0, NotSerialized)
                    {
                        \_SB.GSMI (0x18)
                        Sleep (0x14)
                    }

                    Method (_Q40, 0, NotSerialized)
                    {
                        \_SB.GSMI (0x12)
                        Store (APMD, CLMT)
                        CHGT (CLMT)
                        Store (\_SB.RDEC (0x9C), Local0)
                        Store (And (Local0, 0x7F), Local0)
                        STEV (Local0)
                        Notify (\_TZ.TZCR, 0x81)
                        If (LAnd (DKOT, DKAP))
                        {
                            Notify (\_SB.PCI0.PCIB, 0x00)
                            Store (0x00, DKOT)
                        }
                    }

                    Method (_Q41, 0, NotSerialized)
                    {
                        Store (0x00, DFEC)
                        \_SB.GSMI (0x20)
                        Store (APMD, ACPS)
                        If (LNotEqual (ACPS, SACP))
                        {
                            Notify (\_PR.CPU0, 0x80)
                            Store (ACPS, SACP)
                        }
                    }

                    Method (_Q42, 0, NotSerialized)
                    {
                        Notify (\_SB.AC, 0x00)
                        Notify (\_SB.BAT1, 0x80)
                    }

                    Method (_Q52, 0, NotSerialized)
                    {
                        VGAS ()
                    }

                    Method (_Q99, 0, NotSerialized)
                    {
                        Sleep (0x07D0)
                        If (GP33)
                        {
                            Notify (\_SB.PCI0.RP02, 0x00)
                        }
                    }
                }

                Device (PS2K)
                {
                    Name (_HID, EisaId ("PNP0303"))
                    Name (_PRW, Package (0x02)
                    {
                        0x18, 
                        0x04
                    })
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0060,             // Range Minimum
                            0x0060,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0064,             // Range Minimum
                            0x0064,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IRQ (Edge, ActiveHigh, Exclusive, )
                            {1}
                    })
                }

                Device (PS2M)
                {
                    Name (_HID, EisaId ("SYN1101"))
                    Name (_CID, Package (0x03)
                    {
                        0x00112E4F, 
                        0x02002E4F, 
                        0x130FD041
                    })
                    Name (_CRS, ResourceTemplate ()
                    {
                        IRQNoFlags ()
                            {12}
                    })
                }

                Device (SIOD)
                {
                    Name (_HID, EisaId ("PNP0A05"))
                    Name (BASE, 0x2E)
                    OperationRegion (S769, SystemIO, BASE, 0x02)
                    Field (S769, ByteAcc, NoLock, Preserve)
                    {
                        AINX,   8, 
                        ADTA,   8
                    }

                    IndexField (AINX, ADTA, ByteAcc, NoLock, Preserve)
                    {
                                Offset (0x07), 
                        LDNS,   8, 
                                Offset (0x30), 
                        ACTR,   1, 
                                Offset (0x31), 
                                Offset (0x60), 
                        PMSB,   8, 
                        PLSB,   8, 
                        SMSB,   8, 
                        SLSB,   8, 
                                Offset (0x70), 
                        INTL,   4, 
                                Offset (0x71), 
                                Offset (0x74), 
                        DMAC,   3, 
                                Offset (0x75), 
                                Offset (0xF0), 
                        PPMD,   3, 
                                Offset (0xF1), 
                            ,   2, 
                        FHDU,   1, 
                        SPMD,   3, 
                        MUXO,   2
                    }

                    Mutex (MUT0, 0x00)
                    Method (UNLK, 0, NotSerialized)
                    {
                        Acquire (MUT0, 0x0FFF)
                        Store (0x55, AINX)
                    }

                    Method (LKUP, 0, NotSerialized)
                    {
                        Store (0xAA, AINX)
                        Release (MUT0)
                    }

                    Method (SLDN, 1, NotSerialized)
                    {
                        Store (Arg0, LDNS)
                    }

                    Name (DMAP, Package (0x04)
                    {
                        0x00, 
                        0x01, 
                        0x02, 
                        0x03
                    })
                    Device (ECP)
                    {
                        Name (_HID, EisaId ("PNP0401"))
                        Method (_STA, 0, NotSerialized)
                        {
                            If (EPRT)
                            {
                                If (LAnd (LEqual (PTYP, 0x03), LNotEqual (LPTE, 0x00)))
                                {
                                    Store (PSTA (), Local0)
                                }
                                Else
                                {
                                    Store (0x00, Local0)
                                }
                            }
                            Else
                            {
                                Store (0x00, Local0)
                                PDIS ()
                            }

                            Return (Local0)
                        }

                        Method (_DIS, 0, NotSerialized)
                        {
                            PDIS ()
                        }

                        Name (ECRS, ResourceTemplate ()
                        {
                            IO (Decode16,
                                0x0378,             // Range Minimum
                                0x0378,             // Range Maximum
                                0x00,               // Alignment
                                0x08,               // Length
                                _Y17)
                            IRQNoFlags ()
                                {7}
                            IO (Decode16,
                                0x0778,             // Range Minimum
                                0x0778,             // Range Maximum
                                0x00,               // Alignment
                                0x04,               // Length
                                _Y18)
                            DMA (Compatibility, NotBusMaster, Transfer8, _Y19)
                                {3}
                        })
                        Method (_CRS, 0, NotSerialized)
                        {
                            CreateField (ECRS, 0x00, 0x58, LPTR)
                            Store (PCRS (), LPTR)
                            CreateByteField (ECRS, \_SB.PCI0.LPCB.SIOD.ECP._Y17._MIN, EADL)
                            CreateByteField (ECRS, 0x03, EADM)
                            CreateByteField (ECRS, \_SB.PCI0.LPCB.SIOD.ECP._Y18._MIN, EASL)
                            CreateByteField (ECRS, 0x0E, EADS)
                            CreateByteField (ECRS, \_SB.PCI0.LPCB.SIOD.ECP._Y18._MAX, EALL)
                            CreateByteField (ECRS, 0x10, EAD2)
                            CreateWordField (ECRS, \_SB.PCI0.LPCB.SIOD.ECP._Y19._DMA, ECPD)
                            Add (EADM, 0x04, EADS)
                            Store (EADS, EAD2)
                            Store (EADL, EASL)
                            Store (EADL, EALL)
                            UNLK ()
                            SLDN (0x03)
                            Store (Match (DMAP, MEQ, DMAC, MTR, 0x00, 0x00), Local0)
                            ShiftLeft (0x01, Local0, ECPD)
                            LKUP ()
                            Return (ECRS)
                        }

                        Name (EPRS, ResourceTemplate ()
                        {
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x0378,             // Range Minimum
                                    0x0378,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {7}
                                IO (Decode16,
                                    0x0778,             // Range Minimum
                                    0x0778,             // Range Maximum
                                    0x00,               // Alignment
                                    0x04,               // Length
                                    )
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {1}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x0278,             // Range Minimum
                                    0x0278,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {5}
                                IO (Decode16,
                                    0x0678,             // Range Minimum
                                    0x0678,             // Range Maximum
                                    0x00,               // Alignment
                                    0x04,               // Length
                                    )
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {1}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x03BC,             // Range Minimum
                                    0x03BC,             // Range Maximum
                                    0x00,               // Alignment
                                    0x04,               // Length
                                    )
                                IRQNoFlags ()
                                    {7}
                                IO (Decode16,
                                    0x07BC,             // Range Minimum
                                    0x07BC,             // Range Maximum
                                    0x00,               // Alignment
                                    0x04,               // Length
                                    )
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {1}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x0378,             // Range Minimum
                                    0x0378,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {7}
                                IO (Decode16,
                                    0x0778,             // Range Minimum
                                    0x0778,             // Range Maximum
                                    0x00,               // Alignment
                                    0x04,               // Length
                                    )
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {3}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x0278,             // Range Minimum
                                    0x0278,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {5}
                                IO (Decode16,
                                    0x0678,             // Range Minimum
                                    0x0678,             // Range Maximum
                                    0x00,               // Alignment
                                    0x04,               // Length
                                    )
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {3}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x03BC,             // Range Minimum
                                    0x03BC,             // Range Maximum
                                    0x00,               // Alignment
                                    0x04,               // Length
                                    )
                                IRQNoFlags ()
                                    {7}
                                IO (Decode16,
                                    0x07BC,             // Range Minimum
                                    0x07BC,             // Range Maximum
                                    0x00,               // Alignment
                                    0x04,               // Length
                                    )
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {3}
                            }
                            EndDependentFn ()
                            /*** Disassembler: inserted missing EndDependentFn () ***/
                        })
                        Method (_PRS, 0, NotSerialized)
                        {
                            Return (EPRS)
                        }

                        Method (_SRS, 1, NotSerialized)
                        {
                            UNLK ()
                            SLDN (0x03)
                            PSRS (Arg0)
                            LKUP ()
                        }
                    }

                    Device (LPT)
                    {
                        Name (_HID, EisaId ("PNP0400"))
                        Method (_STA, 0, NotSerialized)
                        {
                            If (LAnd (LNotEqual (LPTE, 0x00), LNotEqual (PTYP, 0x03)))
                            {
                                Store (PSTA (), Local0)
                            }
                            Else
                            {
                                Store (0x00, Local0)
                            }

                            Return (Local0)
                        }

                        Method (_DIS, 0, NotSerialized)
                        {
                            PDIS ()
                        }

                        Name (LCRS, ResourceTemplate ()
                        {
                            IO (Decode16,
                                0x0378,             // Range Minimum
                                0x0378,             // Range Maximum
                                0x00,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {7}
                        })
                        Method (_CRS, 0, NotSerialized)
                        {
                            CreateField (LCRS, 0x00, 0x58, LPTR)
                            Store (PCRS (), LPTR)
                            Return (LCRS)
                        }

                        Name (LPRS, ResourceTemplate ()
                        {
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x0378,             // Range Minimum
                                    0x0378,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {7}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x0278,             // Range Minimum
                                    0x0278,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {5}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x03BC,             // Range Minimum
                                    0x03BC,             // Range Maximum
                                    0x00,               // Alignment
                                    0x04,               // Length
                                    )
                                IRQNoFlags ()
                                    {7}
                            }
                            EndDependentFn ()
                            /*** Disassembler: inserted missing EndDependentFn () ***/
                        })
                        Name (PPRS, ResourceTemplate ()
                        {
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x0378,             // Range Minimum
                                    0x0378,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {7}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x0278,             // Range Minimum
                                    0x0278,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {5}
                            }
                            EndDependentFn ()
                            /*** Disassembler: inserted missing EndDependentFn () ***/
                        })
                        Method (_PRS, 0, NotSerialized)
                        {
                            If (LEqual (PTYP, 0x02))
                            {
                                Return (PPRS)
                            }
                            Else
                            {
                                Return (LPRS)
                            }
                        }

                        Method (_SRS, 1, NotSerialized)
                        {
                            UNLK ()
                            SLDN (0x03)
                            PSRS (Arg0)
                            LKUP ()
                        }
                    }

                    Method (PSTA, 0, NotSerialized)
                    {
                        UNLK ()
                        SLDN (0x03)
                        If (ACTR)
                        {
                            Store (0x0F, Local0)
                        }
                        Else
                        {
                            Store (0x0D, Local0)
                        }

                        LKUP ()
                        Return (Local0)
                    }

                    Method (PDIS, 0, NotSerialized)
                    {
                        UNLK ()
                        SLDN (0x03)
                        Store (0x00, ACTR)
                        Store (0x00, PMSB)
                        Store (0x00, PLSB)
                        Store (0x00, SMSB)
                        Store (0x00, SLSB)
                        Store (0x00, INTL)
                        Store (0x04, DMAC)
                        LKUP ()
                    }

                    Name (PRST, Buffer (0x0B)
                    {
                        /* 0000 */    0x47, 0x01, 0x78, 0x03, 0x78, 0x03, 0x00, 0x08, 
                        /* 0008 */    0x22, 0x80, 0x00
                    })
                    Method (PCRS, 0, NotSerialized)
                    {
                        CreateByteField (PRST, 0x02, EPLA)
                        CreateByteField (PRST, 0x03, EPMA)
                        CreateByteField (PRST, 0x04, EPL1)
                        CreateByteField (PRST, 0x05, EPM2)
                        CreateWordField (PRST, 0x09, ECPI)
                        CreateByteField (PRST, 0x07, EPIO)
                        UNLK ()
                        SLDN (0x03)
                        Store (PMSB, EPMA)
                        Store (PLSB, EPLA)
                        Store (PMSB, EPM2)
                        Store (PLSB, EPL1)
                        If (LEqual (EPLA, 0xBC))
                        {
                            Store (0x04, EPIO)
                        }

                        ShiftLeft (0x01, INTL, ECPI)
                        LKUP ()
                        Return (PRST)
                    }

                    Method (PSRS, 1, NotSerialized)
                    {
                        CreateWordField (Arg0, 0x02, EAD0)
                        CreateWordField (Arg0, 0x09, ECPI)
                        Store (0x01, ACTR)
                        If (LEqual (PTYP, 0x00))
                        {
                            Store (0x04, DMAC)
                            Store (0x00, PPMD)
                        }
                        Else
                        {
                            If (LEqual (PTYP, 0x01))
                            {
                                Store (0x04, DMAC)
                                Store (0x00, PPMD)
                            }

                            If (LEqual (PTYP, 0x03))
                            {
                                CreateByteField (Arg0, 0x14, ECPD)
                                FindSetLeftBit (ECPD, Local0)
                                If (LGreater (Local0, 0x00))
                                {
                                    Decrement (Local0)
                                }

                                Store (DerefOf (Index (DMAP, Local0)), DMAC)
                                Store (0x02, PPMD)
                            }

                            If (LEqual (PTYP, 0x02))
                            {
                                Store (0x04, DMAC)
                                Store (0x01, PPMD)
                            }
                        }

                        CreateByteField (Arg0, 0x02, EADL)
                        CreateByteField (Arg0, 0x03, EADH)
                        Store (EADL, PLSB)
                        Store (EADH, PMSB)
                        If (LEqual (PTYP, 0x03))
                        {
                            CreateByteField (Arg0, 0x0D, ADSL)
                            CreateByteField (Arg0, 0x0E, ADSH)
                            Store (ADSL, SLSB)
                            Store (ADSH, SMSB)
                        }

                        FindSetLeftBit (ECPI, Local0)
                        If (LGreater (Local0, 0x00))
                        {
                            Decrement (Local0)
                        }

                        Store (Local0, INTL)
                    }

                    Device (COM1)
                    {
                        Name (_HID, EisaId ("PNP0501"))
                        Name (_UID, 0x00)
                        Method (_STA, 0, NotSerialized)
                        {
                            Store (MCID, Local0)
                            Store (And (Local0, 0x40), Local0)
                            ShiftRight (Local0, 0x06, Local0)
                            If (Local0)
                            {
                                If (LNotEqual (CMAD, 0x00))
                                {
                                    Store (USTA (0x00), Local0)
                                }
                                Else
                                {
                                    Store (0x00, Local0)
                                }
                            }
                            Else
                            {
                                Store (0x00, Local0)
                            }

                            Return (Local0)
                        }

                        Method (_DIS, 0, NotSerialized)
                        {
                            UDIS (0x00)
                        }

                        Method (_CRS, 0, NotSerialized)
                        {
                            CreateField (UIRS, 0x00, 0x58, URS)
                            Store (UCRS (0x00), URS)
                            Return (UIRS)
                        }

                        Method (_PRS, 0, NotSerialized)
                        {
                            Return (UPRS)
                        }

                        Method (_SRS, 1, NotSerialized)
                        {
                            USRS (Arg0, 0x00)
                        }
                    }

                    Device (FIR)
                    {
                        Name (_HID, EisaId ("SMCF010"))
                        Name (_UID, 0x03)
                        Method (_STA, 0, NotSerialized)
                        {
                            If (EFIR)
                            {
                                If (LAnd (LNotEqual (CMBD, 0x00), LEqual (UTYP, 0x03)))
                                {
                                    Store (USTA (0x01), Local0)
                                }
                                Else
                                {
                                    Store (0x00, Local0)
                                }
                            }
                            Else
                            {
                                Store (0x00, Local0)
                            }

                            Return (Local0)
                        }

                        Method (_DIS, 0, NotSerialized)
                        {
                            UDIS (0x01)
                        }

                        Method (_CRS, 0, NotSerialized)
                        {
                            CreateField (FCRS, 0x00, 0x58, URS)
                            CreateByteField (FCRS, \_SB.PCI0.LPCB.SIOD._Y1A._DMA, IRDM)
                            CreateByteField (FCRS, \_SB.PCI0.LPCB.SIOD._Y1B._MIN, FAD)
                            Store (UCRS (0x01), URS)
                            UNLK ()
                            LKUP ()
                            Return (FCRS)
                        }

                        Name (_PRS, ResourceTemplate ()
                        {
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x02F8,             // Range Minimum
                                    0x02F8,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {3}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {1}
                                IO (Decode16,
                                    0x0110,             // Range Minimum
                                    0x0110,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x02F8,             // Range Minimum
                                    0x02F8,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {3}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {1}
                                IO (Decode16,
                                    0x0100,             // Range Minimum
                                    0x0100,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x03E8,             // Range Minimum
                                    0x03E8,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {4}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {1}
                                IO (Decode16,
                                    0x0120,             // Range Minimum
                                    0x0120,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x02E8,             // Range Minimum
                                    0x02E8,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {3}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {1}
                                IO (Decode16,
                                    0x0130,             // Range Minimum
                                    0x0130,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x03F8,             // Range Minimum
                                    0x03F8,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {4}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {3}
                                IO (Decode16,
                                    0x0100,             // Range Minimum
                                    0x0100,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x02F8,             // Range Minimum
                                    0x02F8,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {3}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {3}
                                IO (Decode16,
                                    0x0110,             // Range Minimum
                                    0x0110,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x03E8,             // Range Minimum
                                    0x03E8,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {4}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {3}
                                IO (Decode16,
                                    0x0120,             // Range Minimum
                                    0x0120,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x02E8,             // Range Minimum
                                    0x02E8,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {3}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {3}
                                IO (Decode16,
                                    0x0130,             // Range Minimum
                                    0x0130,             // Range Maximum
                                    0x00,               // Alignment
                                    0x08,               // Length
                                    )
                            }
                            EndDependentFn ()
                            /*** Disassembler: inserted missing EndDependentFn () ***/
                        })
                        Method (_SRS, 1, NotSerialized)
                        {
                            Store (0x01, Local0)
                            USRS (Arg0, 0x01)
                        }

                        PowerResource (PUT2, 0x00, 0x0000)
                        {
                            Method (_STA, 0, NotSerialized)
                            {
                                Return (0x01)
                            }

                            Method (_ON, 0, NotSerialized)
                            {
                                Store (0x01, Local0)
                                Noop
                            }

                            Method (_OFF, 0, NotSerialized)
                            {
                                Store (0x01, Local0)
                                Noop
                            }

                            Name (_PR0, Package (0x01)
                            {
                                PUT2
                            })
                        }
                    }

                    Name (UIRT, Buffer (0x0B)
                    {
                        /* 0000 */    0x47, 0x01, 0xF8, 0x02, 0xF8, 0x02, 0x00, 0x08, 
                        /* 0008 */    0x22, 0x08, 0x00
                    })
                    Name (UIRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x08,               // Length
                            )
                        IRQNoFlags ()
                            {}
                    })
                    Name (FCRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x02F8,             // Range Minimum
                            0x02F8,             // Range Maximum
                            0x00,               // Alignment
                            0x08,               // Length
                            )
                        IRQNoFlags ()
                            {3}
                        DMA (Compatibility, NotBusMaster, Transfer8, _Y1A)
                            {1}
                        IO (Decode16,
                            0x0110,             // Range Minimum
                            0x0110,             // Range Maximum
                            0x00,               // Alignment
                            0x08,               // Length
                            _Y1B)
                    })
                    Name (UPRS, ResourceTemplate ()
                    {
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x03F8,             // Range Minimum
                                0x03F8,             // Range Maximum
                                0x00,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {4}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x02F8,             // Range Minimum
                                0x02F8,             // Range Maximum
                                0x00,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x03E8,             // Range Minimum
                                0x03E8,             // Range Maximum
                                0x00,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {4}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x02E8,             // Range Minimum
                                0x02E8,             // Range Maximum
                                0x00,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3}
                        }
                        EndDependentFn ()
                        /*** Disassembler: inserted missing EndDependentFn () ***/
                    })
                    Method (USTA, 1, NotSerialized)
                    {
                        UNLK ()
                        If (Arg0)
                        {
                            SLDN (0x05)
                        }
                        Else
                        {
                            SLDN (0x04)
                        }

                        If (ACTR)
                        {
                            Store (0x0F, Local0)
                        }
                        Else
                        {
                            Store (0x0D, Local0)
                        }

                        LKUP ()
                        Return (Local0)
                    }

                    Method (UDIS, 1, NotSerialized)
                    {
                        UNLK ()
                        If (Arg0)
                        {
                            SLDN (0x05)
                        }
                        Else
                        {
                            SLDN (0x04)
                        }

                        Store (0x00, ACTR)
                        Store (0x00, PMSB)
                        Store (0x00, PLSB)
                        Store (0x00, INTL)
                        LKUP ()
                    }

                    Method (UCRS, 1, NotSerialized)
                    {
                        UNLK ()
                        CreateByteField (UIRT, 0x02, UADL)
                        CreateByteField (UIRT, 0x03, UADH)
                        CreateByteField (UIRT, 0x04, AD1L)
                        CreateByteField (UIRT, 0x05, AD1H)
                        CreateByteField (UIRT, 0x09, UIRQ)
                        If (Arg0)
                        {
                            SLDN (0x05)
                        }
                        Else
                        {
                            SLDN (0x04)
                        }

                        Store (PLSB, UADL)
                        Store (PMSB, UADH)
                        Store (PLSB, AD1L)
                        Store (PMSB, AD1H)
                        ShiftLeft (0x01, INTL, UIRQ)
                        LKUP ()
                        Return (UIRT)
                    }

                    Method (USRS, 2, NotSerialized)
                    {
                        UNLK ()
                        CreateWordField (Arg0, 0x02, UADR)
                        CreateByteField (Arg0, 0x02, UADL)
                        CreateByteField (Arg0, 0x03, UADH)
                        CreateByteField (Arg0, 0x09, UIRQ)
                        If (Arg1)
                        {
                            SLDN (0x05)
                            Store (0x00, SPMD)
                            Store (0x00, MUXO)
                            Store (0x00, SMSB)
                            Store (0x00, SLSB)
                            Store (0x04, DMAC)
                            Store (0x01, ACTR)
                            If (LEqual (UTYP, 0x00))
                            {
                                Store (0x00, SPMD)
                            }
                            Else
                            {
                                Store (0x01, MUXO)
                                Store (0x01, FHDU)
                                If (LEqual (UTYP, 0x01))
                                {
                                    Store (0x01, SPMD)
                                }

                                If (LEqual (UTYP, 0x02))
                                {
                                    Store (0x02, SPMD)
                                }

                                If (LEqual (UTYP, 0x03))
                                {
                                    Store (0x05, SPMD)
                                    CreateByteField (Arg0, 0x10, UFAL)
                                    CreateByteField (Arg0, 0x11, UFAH)
                                    CreateByteField (Arg0, 0x0C, IRDM)
                                    FindSetLeftBit (IRDM, Local0)
                                    If (LGreater (Local0, 0x00))
                                    {
                                        Decrement (Local0)
                                    }

                                    Store (DerefOf (Index (DMAP, Local0)), DMAC)
                                    Store (UFAH, SMSB)
                                    Store (UFAL, SLSB)
                                }
                            }
                        }

                        If (Arg1)
                        {
                            SLDN (0x05)
                        }
                        Else
                        {
                            SLDN (0x04)
                            Store (0x00, SPMD)
                        }

                        Store (0x01, ACTR)
                        Store (UADL, PLSB)
                        Store (UADH, PMSB)
                        FindSetLeftBit (UIRQ, Local0)
                        If (LGreater (Local0, 0x00))
                        {
                            Decrement (Local0)
                        }

                        Store (Local0, INTL)
                        LKUP ()
                    }
                }
            }

            Device (PATA)
            {
                Name (_ADR, 0x001F0001)
                OperationRegion (PACS, PCI_Config, 0x40, 0xC0)
                Field (PACS, DWordAcc, NoLock, Preserve)
                {
                    PRIT,   16, 
                            Offset (0x04), 
                    PSIT,   4, 
                            Offset (0x08), 
                    SYNC,   4, 
                            Offset (0x0A), 
                    SDT0,   2, 
                        ,   2, 
                    SDT1,   2, 
                            Offset (0x14), 
                    ICR0,   4, 
                    ICR1,   4, 
                    ICR2,   4, 
                    ICR3,   4, 
                    ICR4,   4, 
                    ICR5,   4
                }

                Device (PRID)
                {
                    Name (_ADR, 0x00)
                    Method (_GTM, 0, NotSerialized)
                    {
                        Name (PBUF, Buffer (0x14)
                        {
                            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                            /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                            /* 0010 */    0x00, 0x00, 0x00, 0x00
                        })
                        CreateDWordField (PBUF, 0x00, PIO0)
                        CreateDWordField (PBUF, 0x04, DMA0)
                        CreateDWordField (PBUF, 0x08, PIO1)
                        CreateDWordField (PBUF, 0x0C, DMA1)
                        CreateDWordField (PBUF, 0x10, FLAG)
                        Store (GETP (PRIT), PIO0)
                        Store (GDMA (And (SYNC, 0x01), And (ICR3, 0x01), 
                            And (ICR0, 0x01), SDT0, And (ICR1, 0x01)), DMA0)
                        If (LEqual (DMA0, 0xFFFFFFFF))
                        {
                            Store (PIO0, DMA0)
                        }

                        If (And (PRIT, 0x4000))
                        {
                            If (LEqual (And (PRIT, 0x90), 0x80))
                            {
                                Store (0x0384, PIO1)
                            }
                            Else
                            {
                                Store (GETT (PSIT), PIO1)
                            }
                        }
                        Else
                        {
                            Store (0xFFFFFFFF, PIO1)
                        }

                        Store (GDMA (And (SYNC, 0x02), And (ICR3, 0x02), 
                            And (ICR0, 0x02), SDT1, And (ICR1, 0x02)), DMA1)
                        If (LEqual (DMA1, 0xFFFFFFFF))
                        {
                            Store (PIO1, DMA1)
                        }

                        Store (GETF (And (SYNC, 0x01), And (SYNC, 0x02), 
                            PRIT), FLAG)
                        If (And (LEqual (PIO0, 0xFFFFFFFF), LEqual (DMA0, 0xFFFFFFFF)))
                        {
                            Store (0x78, PIO0)
                            Store (0x14, DMA0)
                            Store (0x03, FLAG)
                        }

                        Return (PBUF)
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        CreateDWordField (Arg0, 0x00, PIO0)
                        CreateDWordField (Arg0, 0x04, DMA0)
                        CreateDWordField (Arg0, 0x08, PIO1)
                        CreateDWordField (Arg0, 0x0C, DMA1)
                        CreateDWordField (Arg0, 0x10, FLAG)
                        If (LEqual (SizeOf (Arg1), 0x0200))
                        {
                            And (PRIT, 0x40F0, PRIT)
                            And (SYNC, 0x02, SYNC)
                            Store (0x00, SDT0)
                            And (ICR0, 0x02, ICR0)
                            And (ICR1, 0x02, ICR1)
                            And (ICR3, 0x02, ICR3)
                            And (ICR5, 0x02, ICR5)
                            CreateWordField (Arg1, 0x62, W490)
                            CreateWordField (Arg1, 0x6A, W530)
                            CreateWordField (Arg1, 0x7E, W630)
                            CreateWordField (Arg1, 0x80, W640)
                            CreateWordField (Arg1, 0xB0, W880)
                            CreateWordField (Arg1, 0xBA, W930)
                            Or (PRIT, 0x8004, PRIT)
                            If (LAnd (And (FLAG, 0x02), And (W490, 0x0800)))
                            {
                                Or (PRIT, 0x02, PRIT)
                            }

                            Or (PRIT, SETP (PIO0, W530, W640), PRIT)
                            If (And (FLAG, 0x01))
                            {
                                Or (SYNC, 0x01, SYNC)
                                Store (SDMA (DMA0), SDT0)
                                If (LLess (DMA0, 0x1E))
                                {
                                    Or (ICR3, 0x01, ICR3)
                                }

                                If (LLess (DMA0, 0x3C))
                                {
                                    Or (ICR0, 0x01, ICR0)
                                }

                                If (And (W930, 0x2000))
                                {
                                    Or (ICR1, 0x01, ICR1)
                                }
                            }
                        }

                        If (LEqual (SizeOf (Arg2), 0x0200))
                        {
                            And (PRIT, 0x3F0F, PRIT)
                            Store (0x00, PSIT)
                            And (SYNC, 0x01, SYNC)
                            Store (0x00, SDT1)
                            And (ICR0, 0x01, ICR0)
                            And (ICR1, 0x01, ICR1)
                            And (ICR3, 0x01, ICR3)
                            And (ICR5, 0x01, ICR5)
                            CreateWordField (Arg2, 0x62, W491)
                            CreateWordField (Arg2, 0x6A, W531)
                            CreateWordField (Arg2, 0x7E, W631)
                            CreateWordField (Arg2, 0x80, W641)
                            CreateWordField (Arg2, 0xB0, W881)
                            CreateWordField (Arg2, 0xBA, W931)
                            Or (PRIT, 0x8040, PRIT)
                            If (LAnd (And (FLAG, 0x08), And (W491, 0x0800)))
                            {
                                Or (PRIT, 0x20, PRIT)
                            }

                            If (And (FLAG, 0x10))
                            {
                                Or (PRIT, 0x4000, PRIT)
                                If (LGreater (PIO1, 0xF0))
                                {
                                    Or (PRIT, 0x80, PRIT)
                                }
                                Else
                                {
                                    Or (PRIT, 0x10, PRIT)
                                    Store (SETT (PIO1, W531, W641), PSIT)
                                }
                            }

                            If (And (FLAG, 0x04))
                            {
                                Or (SYNC, 0x02, SYNC)
                                Store (SDMA (DMA1), SDT1)
                                If (LLess (DMA1, 0x1E))
                                {
                                    Or (ICR3, 0x02, ICR3)
                                }

                                If (LLess (DMA1, 0x3C))
                                {
                                    Or (ICR0, 0x02, ICR0)
                                }

                                If (And (W931, 0x2000))
                                {
                                    Or (ICR1, 0x02, ICR1)
                                }
                            }
                        }
                    }

                    Device (P_D0)
                    {
                        Name (_ADR, 0x00)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Name (PIB0, Buffer (0x0E)
                            {
                                /* 0000 */    0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 
                                /* 0008 */    0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
                            })
                            CreateByteField (PIB0, 0x01, PMD0)
                            CreateByteField (PIB0, 0x08, DMD0)
                            If (And (PRIT, 0x02))
                            {
                                If (LEqual (And (PRIT, 0x09), 0x08))
                                {
                                    Store (0x08, PMD0)
                                }
                                Else
                                {
                                    Store (0x0A, PMD0)
                                    ShiftRight (And (PRIT, 0x0300), 0x08, Local0)
                                    ShiftRight (And (PRIT, 0x3000), 0x0C, Local1)
                                    Add (Local0, Local1, Local2)
                                    If (LEqual (0x03, Local2))
                                    {
                                        Store (0x0B, PMD0)
                                    }

                                    If (LEqual (0x05, Local2))
                                    {
                                        Store (0x0C, PMD0)
                                    }
                                }
                            }
                            Else
                            {
                                Store (0x01, PMD0)
                            }

                            If (And (SYNC, 0x01))
                            {
                                Store (Or (SDT0, 0x40), DMD0)
                                If (And (ICR1, 0x01))
                                {
                                    If (And (ICR0, 0x01))
                                    {
                                        Add (DMD0, 0x02, DMD0)
                                    }

                                    If (And (ICR3, 0x01))
                                    {
                                        Store (0x45, DMD0)
                                    }
                                }
                            }
                            Else
                            {
                                Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0)
                            }

                            Return (PIB0)
                        }
                    }

                    Device (P_D1)
                    {
                        Name (_ADR, 0x01)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Name (PIB1, Buffer (0x0E)
                            {
                                /* 0000 */    0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 
                                /* 0008 */    0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
                            })
                            CreateByteField (PIB1, 0x01, PMD1)
                            CreateByteField (PIB1, 0x08, DMD1)
                            If (And (PRIT, 0x20))
                            {
                                If (LEqual (And (PRIT, 0x90), 0x80))
                                {
                                    Store (0x08, PMD1)
                                }
                                Else
                                {
                                    Add (And (PSIT, 0x03), ShiftRight (And (PSIT, 0x0C), 
                                        0x02), Local0)
                                    If (LEqual (0x05, Local0))
                                    {
                                        Store (0x0C, PMD1)
                                    }
                                    Else
                                    {
                                        If (LEqual (0x03, Local0))
                                        {
                                            Store (0x0B, PMD1)
                                        }
                                        Else
                                        {
                                            Store (0x0A, PMD1)
                                        }
                                    }
                                }
                            }
                            Else
                            {
                                Store (0x01, PMD1)
                            }

                            If (And (SYNC, 0x02))
                            {
                                Store (Or (SDT1, 0x40), DMD1)
                                If (And (ICR1, 0x02))
                                {
                                    If (And (ICR0, 0x02))
                                    {
                                        Add (DMD1, 0x02, DMD1)
                                    }

                                    If (And (ICR3, 0x02))
                                    {
                                        Store (0x45, DMD1)
                                    }
                                }
                            }
                            Else
                            {
                                Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1)
                            }

                            Return (PIB1)
                        }
                    }
                }
            }

            Device (SATA)
            {
                Name (_ADR, 0x001F0002)
                OperationRegion (SACS, PCI_Config, 0x40, 0xC0)
                Field (SACS, DWordAcc, NoLock, Preserve)
                {
                    PRIT,   16, 
                    SECT,   16, 
                    PSIT,   4, 
                    SSIT,   4, 
                            Offset (0x08), 
                    SYNC,   4, 
                            Offset (0x0A), 
                    SDT0,   2, 
                        ,   2, 
                    SDT1,   2, 
                            Offset (0x0B), 
                    SDT2,   2, 
                        ,   2, 
                    SDT3,   2, 
                            Offset (0x14), 
                    ICR0,   4, 
                    ICR1,   4, 
                    ICR2,   4, 
                    ICR3,   4, 
                    ICR4,   4, 
                    ICR5,   4, 
                            Offset (0x50), 
                    MAPV,   2
                }

                Device (PRID)
                {
                    Name (_ADR, 0x00)
                    Method (_GTM, 0, NotSerialized)
                    {
                        Name (PBUF, Buffer (0x14)
                        {
                            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                            /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                            /* 0010 */    0x00, 0x00, 0x00, 0x00
                        })
                        CreateDWordField (PBUF, 0x00, PIO0)
                        CreateDWordField (PBUF, 0x04, DMA0)
                        CreateDWordField (PBUF, 0x08, PIO1)
                        CreateDWordField (PBUF, 0x0C, DMA1)
                        CreateDWordField (PBUF, 0x10, FLAG)
                        Store (GETP (PRIT), PIO0)
                        Store (GDMA (And (SYNC, 0x01), And (ICR3, 0x01), 
                            And (ICR0, 0x01), SDT0, And (ICR1, 0x01)), DMA0)
                        If (LEqual (DMA0, 0xFFFFFFFF))
                        {
                            Store (PIO0, DMA0)
                        }

                        If (And (PRIT, 0x4000))
                        {
                            If (LEqual (And (PRIT, 0x90), 0x80))
                            {
                                Store (0x0384, PIO1)
                            }
                            Else
                            {
                                Store (GETT (PSIT), PIO1)
                            }
                        }
                        Else
                        {
                            Store (0xFFFFFFFF, PIO1)
                        }

                        Store (GDMA (And (SYNC, 0x02), And (ICR3, 0x02), 
                            And (ICR0, 0x02), SDT1, And (ICR1, 0x02)), DMA1)
                        If (LEqual (DMA1, 0xFFFFFFFF))
                        {
                            Store (PIO1, DMA1)
                        }

                        Store (GETF (And (SYNC, 0x01), And (SYNC, 0x02), 
                            PRIT), FLAG)
                        Return (PBUF)
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        CreateDWordField (Arg0, 0x00, PIO0)
                        CreateDWordField (Arg0, 0x04, DMA0)
                        CreateDWordField (Arg0, 0x08, PIO1)
                        CreateDWordField (Arg0, 0x0C, DMA1)
                        CreateDWordField (Arg0, 0x10, FLAG)
                        If (LEqual (SizeOf (Arg1), 0x0200))
                        {
                            And (PRIT, 0x40F0, PRIT)
                            And (SYNC, 0x0E, SYNC)
                            Store (0x00, SDT0)
                            And (ICR0, 0x0E, ICR0)
                            And (ICR1, 0x0E, ICR1)
                            And (ICR3, 0x0E, ICR3)
                            And (ICR5, 0x0E, ICR5)
                            CreateWordField (Arg1, 0x62, W490)
                            CreateWordField (Arg1, 0x6A, W530)
                            CreateWordField (Arg1, 0x7E, W630)
                            CreateWordField (Arg1, 0x80, W640)
                            CreateWordField (Arg1, 0xB0, W880)
                            CreateWordField (Arg1, 0xBA, W930)
                            Or (PRIT, 0x8004, PRIT)
                            If (LAnd (And (FLAG, 0x02), And (W490, 0x0800)))
                            {
                                Or (PRIT, 0x02, PRIT)
                            }

                            Or (PRIT, SETP (PIO0, W530, W640), PRIT)
                            If (And (FLAG, 0x01))
                            {
                                Or (SYNC, 0x01, SYNC)
                                Store (SDMA (DMA0), SDT0)
                                If (LLess (DMA0, 0x1E))
                                {
                                    Or (ICR3, 0x01, ICR3)
                                }

                                If (LLess (DMA0, 0x3C))
                                {
                                    Or (ICR0, 0x01, ICR0)
                                }

                                Or (ICR1, 0x01, ICR1)
                            }
                        }

                        If (LEqual (SizeOf (Arg2), 0x0200))
                        {
                            And (PRIT, 0x3F0F, PRIT)
                            Store (0x00, PSIT)
                            And (SYNC, 0x0D, SYNC)
                            Store (0x00, SDT1)
                            And (ICR0, 0x0D, ICR0)
                            And (ICR1, 0x0D, ICR1)
                            And (ICR3, 0x0D, ICR3)
                            And (ICR5, 0x0D, ICR5)
                            CreateWordField (Arg2, 0x62, W491)
                            CreateWordField (Arg2, 0x6A, W531)
                            CreateWordField (Arg2, 0x7E, W631)
                            CreateWordField (Arg2, 0x80, W641)
                            CreateWordField (Arg2, 0xB0, W881)
                            CreateWordField (Arg2, 0xBA, W931)
                            Or (PRIT, 0x8040, PRIT)
                            If (LAnd (And (FLAG, 0x08), And (W491, 0x0800)))
                            {
                                Or (PRIT, 0x20, PRIT)
                            }

                            If (And (FLAG, 0x10))
                            {
                                Or (PRIT, 0x4000, PRIT)
                                If (LGreater (PIO1, 0xF0))
                                {
                                    Or (PRIT, 0x80, PRIT)
                                }
                                Else
                                {
                                    Or (PRIT, 0x10, PRIT)
                                    Store (SETT (PIO1, W531, W641), PSIT)
                                }
                            }

                            If (And (FLAG, 0x04))
                            {
                                Or (SYNC, 0x02, SYNC)
                                Store (SDMA (DMA1), SDT1)
                                If (LLess (DMA1, 0x1E))
                                {
                                    Or (ICR3, 0x02, ICR3)
                                }

                                If (LLess (DMA1, 0x3C))
                                {
                                    Or (ICR0, 0x02, ICR0)
                                }

                                Or (ICR1, 0x02, ICR1)
                            }
                        }
                    }

                    Device (P_D0)
                    {
                        Name (_ADR, 0x00)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Name (PIB0, Buffer (0x0E)
                            {
                                /* 0000 */    0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 
                                /* 0008 */    0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
                            })
                            CreateByteField (PIB0, 0x01, PMD0)
                            CreateByteField (PIB0, 0x08, DMD0)
                            If (And (PRIT, 0x02))
                            {
                                If (LEqual (And (PRIT, 0x09), 0x08))
                                {
                                    Store (0x08, PMD0)
                                }
                                Else
                                {
                                    Store (0x0A, PMD0)
                                    ShiftRight (And (PRIT, 0x0300), 0x08, Local0)
                                    ShiftRight (And (PRIT, 0x3000), 0x0C, Local1)
                                    Add (Local0, Local1, Local2)
                                    If (LEqual (0x03, Local2))
                                    {
                                        Store (0x0B, PMD0)
                                    }

                                    If (LEqual (0x05, Local2))
                                    {
                                        Store (0x0C, PMD0)
                                    }
                                }
                            }
                            Else
                            {
                                Store (0x01, PMD0)
                            }

                            If (And (SYNC, 0x01))
                            {
                                Store (Or (SDT0, 0x40), DMD0)
                                If (And (ICR1, 0x01))
                                {
                                    If (And (ICR0, 0x01))
                                    {
                                        Add (DMD0, 0x02, DMD0)
                                    }

                                    If (And (ICR3, 0x01))
                                    {
                                        Store (0x45, DMD0)
                                    }
                                }
                            }
                            Else
                            {
                                Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0)
                            }

                            Return (PIB0)
                        }
                    }

                    Device (P_D1)
                    {
                        Name (_ADR, 0x01)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Name (PIB1, Buffer (0x0E)
                            {
                                /* 0000 */    0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 
                                /* 0008 */    0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
                            })
                            CreateByteField (PIB1, 0x01, PMD1)
                            CreateByteField (PIB1, 0x08, DMD1)
                            If (And (PRIT, 0x20))
                            {
                                If (LEqual (And (PRIT, 0x90), 0x80))
                                {
                                    Store (0x08, PMD1)
                                }
                                Else
                                {
                                    Add (And (PSIT, 0x03), ShiftRight (And (PSIT, 0x0C), 
                                        0x02), Local0)
                                    If (LEqual (0x05, Local0))
                                    {
                                        Store (0x0C, PMD1)
                                    }
                                    Else
                                    {
                                        If (LEqual (0x03, Local0))
                                        {
                                            Store (0x0B, PMD1)
                                        }
                                        Else
                                        {
                                            Store (0x0A, PMD1)
                                        }
                                    }
                                }
                            }
                            Else
                            {
                                Store (0x01, PMD1)
                            }

                            If (And (SYNC, 0x02))
                            {
                                Store (Or (SDT1, 0x40), DMD1)
                                If (And (ICR1, 0x02))
                                {
                                    If (And (ICR0, 0x02))
                                    {
                                        Add (DMD1, 0x02, DMD1)
                                    }

                                    If (And (ICR3, 0x02))
                                    {
                                        Store (0x45, DMD1)
                                    }
                                }
                            }
                            Else
                            {
                                Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1)
                            }

                            Return (PIB1)
                        }
                    }
                }

                Device (SECD)
                {
                    Name (_ADR, 0x01)
                    Method (_GTM, 0, NotSerialized)
                    {
                        Name (SBUF, Buffer (0x14)
                        {
                            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                            /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                            /* 0010 */    0x00, 0x00, 0x00, 0x00
                        })
                        CreateDWordField (SBUF, 0x00, PIO0)
                        CreateDWordField (SBUF, 0x04, DMA0)
                        CreateDWordField (SBUF, 0x08, PIO1)
                        CreateDWordField (SBUF, 0x0C, DMA1)
                        CreateDWordField (SBUF, 0x10, FLAG)
                        Store (GETP (SECT), PIO0)
                        Store (GDMA (And (SYNC, 0x04), And (ICR3, 0x04), 
                            And (ICR0, 0x04), SDT2, And (ICR1, 0x04)), DMA0)
                        If (LEqual (DMA0, 0xFFFFFFFF))
                        {
                            Store (PIO0, DMA0)
                        }

                        If (And (SECT, 0x4000))
                        {
                            If (LEqual (And (SECT, 0x90), 0x80))
                            {
                                Store (0x0384, PIO1)
                            }
                            Else
                            {
                                Store (GETT (SSIT), PIO1)
                            }
                        }
                        Else
                        {
                            Store (0xFFFFFFFF, PIO1)
                        }

                        Store (GDMA (And (SYNC, 0x08), And (ICR3, 0x08), 
                            And (ICR0, 0x08), SDT3, And (ICR1, 0x08)), DMA1)
                        If (LEqual (DMA1, 0xFFFFFFFF))
                        {
                            Store (PIO1, DMA1)
                        }

                        Store (GETF (And (SYNC, 0x04), And (SYNC, 0x08), 
                            SECT), FLAG)
                        If (And (LEqual (PIO0, 0xFFFFFFFF), LEqual (DMA0, 0xFFFFFFFF)))
                        {
                            Store (0x78, PIO0)
                            Store (0x14, DMA0)
                            Store (0x03, FLAG)
                        }

                        Return (SBUF)
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        CreateDWordField (Arg0, 0x00, PIO0)
                        CreateDWordField (Arg0, 0x04, DMA0)
                        CreateDWordField (Arg0, 0x08, PIO1)
                        CreateDWordField (Arg0, 0x0C, DMA1)
                        CreateDWordField (Arg0, 0x10, FLAG)
                        If (LEqual (SizeOf (Arg1), 0x0200))
                        {
                            And (SECT, 0x40F0, SECT)
                            And (SYNC, 0x0B, SYNC)
                            Store (0x00, SDT2)
                            And (ICR0, 0x0B, ICR0)
                            And (ICR1, 0x0B, ICR1)
                            And (ICR3, 0x0B, ICR3)
                            And (ICR5, 0x0B, ICR5)
                            CreateWordField (Arg1, 0x62, W490)
                            CreateWordField (Arg1, 0x6A, W530)
                            CreateWordField (Arg1, 0x7E, W630)
                            CreateWordField (Arg1, 0x80, W640)
                            CreateWordField (Arg1, 0xB0, W880)
                            CreateWordField (Arg1, 0xBA, W930)
                            Or (SECT, 0x8004, SECT)
                            If (LAnd (And (FLAG, 0x02), And (W490, 0x0800)))
                            {
                                Or (SECT, 0x02, SECT)
                            }

                            Or (SECT, SETP (PIO0, W530, W640), SECT)
                            If (And (FLAG, 0x01))
                            {
                                Or (SYNC, 0x04, SYNC)
                                Store (SDMA (DMA0), SDT2)
                                If (LLess (DMA0, 0x1E))
                                {
                                    Or (ICR3, 0x04, ICR3)
                                }

                                If (LLess (DMA0, 0x3C))
                                {
                                    Or (ICR0, 0x04, ICR0)
                                }

                                If (And (W930, 0x2000))
                                {
                                    Or (ICR1, 0x04, ICR1)
                                }
                            }
                        }

                        If (LEqual (SizeOf (Arg2), 0x0200))
                        {
                            And (SECT, 0x3F0F, SECT)
                            Store (0x00, SSIT)
                            And (SYNC, 0x07, SYNC)
                            Store (0x00, SDT3)
                            And (ICR0, 0x07, ICR0)
                            And (ICR1, 0x07, ICR1)
                            And (ICR3, 0x07, ICR3)
                            And (ICR5, 0x07, ICR5)
                            CreateWordField (Arg2, 0x62, W491)
                            CreateWordField (Arg2, 0x6A, W531)
                            CreateWordField (Arg2, 0x7E, W631)
                            CreateWordField (Arg2, 0x80, W641)
                            CreateWordField (Arg2, 0xB0, W881)
                            CreateWordField (Arg2, 0xBA, W931)
                            Or (SECT, 0x8040, SECT)
                            If (LAnd (And (FLAG, 0x08), And (W491, 0x0800)))
                            {
                                Or (SECT, 0x20, SECT)
                            }

                            If (And (FLAG, 0x10))
                            {
                                Or (SECT, 0x4000, SECT)
                                If (LGreater (PIO1, 0xF0))
                                {
                                    Or (SECT, 0x80, SECT)
                                }
                                Else
                                {
                                    Or (SECT, 0x10, SECT)
                                    Store (SETT (PIO1, W531, W641), SSIT)
                                }
                            }

                            If (And (FLAG, 0x04))
                            {
                                Or (SYNC, 0x08, SYNC)
                                Store (SDMA (DMA1), SDT3)
                                If (LLess (DMA1, 0x1E))
                                {
                                    Or (ICR3, 0x08, ICR3)
                                }

                                If (LLess (DMA1, 0x3C))
                                {
                                    Or (ICR0, 0x08, ICR0)
                                }

                                If (And (W931, 0x2000))
                                {
                                    Or (ICR1, 0x08, ICR1)
                                }
                            }
                        }
                    }

                    Device (S_D0)
                    {
                        Name (_ADR, 0x00)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Name (SIB0, Buffer (0x0E)
                            {
                                /* 0000 */    0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 
                                /* 0008 */    0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
                            })
                            CreateByteField (SIB0, 0x01, PMD0)
                            CreateByteField (SIB0, 0x08, DMD0)
                            If (And (SECT, 0x02))
                            {
                                If (LEqual (And (SECT, 0x09), 0x08))
                                {
                                    Store (0x08, PMD0)
                                }
                                Else
                                {
                                    Store (0x0A, PMD0)
                                    ShiftRight (And (SECT, 0x0300), 0x08, Local0)
                                    ShiftRight (And (SECT, 0x3000), 0x0C, Local1)
                                    Add (Local0, Local1, Local2)
                                    If (LEqual (0x03, Local2))
                                    {
                                        Store (0x0B, PMD0)
                                    }

                                    If (LEqual (0x05, Local2))
                                    {
                                        Store (0x0C, PMD0)
                                    }
                                }
                            }
                            Else
                            {
                                Store (0x01, PMD0)
                            }

                            If (And (SYNC, 0x04))
                            {
                                Store (Or (SDT2, 0x40), DMD0)
                                If (And (ICR1, 0x04))
                                {
                                    If (And (ICR0, 0x04))
                                    {
                                        Add (DMD0, 0x02, DMD0)
                                    }

                                    If (And (ICR3, 0x04))
                                    {
                                        Store (0x45, DMD0)
                                    }
                                }
                            }
                            Else
                            {
                                Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0)
                            }

                            Return (SIB0)
                        }
                    }

                    Device (S_D1)
                    {
                        Name (_ADR, 0x01)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Name (SIB1, Buffer (0x0E)
                            {
                                /* 0000 */    0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 
                                /* 0008 */    0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
                            })
                            CreateByteField (SIB1, 0x01, PMD1)
                            CreateByteField (SIB1, 0x08, DMD1)
                            If (And (SECT, 0x20))
                            {
                                If (LEqual (And (SECT, 0x90), 0x80))
                                {
                                    Store (0x08, PMD1)
                                }
                                Else
                                {
                                    Add (And (SSIT, 0x03), ShiftRight (And (SSIT, 0x0C), 
                                        0x02), Local0)
                                    If (LEqual (0x05, Local0))
                                    {
                                        Store (0x0C, PMD1)
                                    }
                                    Else
                                    {
                                        If (LEqual (0x03, Local0))
                                        {
                                            Store (0x0B, PMD1)
                                        }
                                        Else
                                        {
                                            Store (0x0A, PMD1)
                                        }
                                    }
                                }
                            }
                            Else
                            {
                                Store (0x01, PMD1)
                            }

                            If (And (SYNC, 0x08))
                            {
                                Store (Or (SDT3, 0x40), DMD1)
                                If (And (ICR1, 0x08))
                                {
                                    If (And (ICR0, 0x08))
                                    {
                                        Add (DMD1, 0x02, DMD1)
                                    }

                                    If (And (ICR3, 0x08))
                                    {
                                        Store (0x45, DMD1)
                                    }
                                }
                            }
                            Else
                            {
                                Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1)
                            }

                            Return (SIB1)
                        }
                    }
                }
            }

            Device (SBUS)
            {
                Name (_ADR, 0x001F0003)
                OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
                Field (SMBP, DWordAcc, NoLock, Preserve)
                {
                        ,   2, 
                    I2CE,   1
                }

                OperationRegion (SMBI, SystemIO, 0x1400, 0x10)
                Field (SMBI, ByteAcc, NoLock, Preserve)
                {
                    HSTS,   8, 
                            Offset (0x02), 
                    HCON,   8, 
                    HCOM,   8, 
                    TXSA,   8, 
                    DAT0,   8, 
                    DAT1,   8, 
                    HBDR,   8, 
                    PECR,   8, 
                    RXSA,   8, 
                    SDAT,   16
                }

                Method (SSXB, 2, Serialized)
                {
                    If (STRT ())
                    {
                        Return (0x00)
                    }

                    Store (0x00, I2CE)
                    Store (0xBF, HSTS)
                    Store (Arg0, TXSA)
                    Store (Arg1, HCOM)
                    Store (0x48, HCON)
                    If (COMP ())
                    {
                        Or (HSTS, 0xFF, HSTS)
                        Return (0x01)
                    }

                    Return (0x00)
                }

                Method (SRXB, 1, Serialized)
                {
                    If (STRT ())
                    {
                        Return (0xFFFF)
                    }

                    Store (0x00, I2CE)
                    Store (0xBF, HSTS)
                    Store (Or (Arg0, 0x01), TXSA)
                    Store (0x44, HCON)
                    If (COMP ())
                    {
                        Or (HSTS, 0xFF, HSTS)
                        Return (DAT0)
                    }

                    Return (0xFFFF)
                }

                Method (SWRB, 3, Serialized)
                {
                    If (STRT ())
                    {
                        Return (0x00)
                    }

                    Store (0x00, I2CE)
                    Store (0xBF, HSTS)
                    Store (Arg0, TXSA)
                    Store (Arg1, HCOM)
                    Store (Arg2, DAT0)
                    Store (0x48, HCON)
                    If (COMP ())
                    {
                        Or (HSTS, 0xFF, HSTS)
                        Return (0x01)
                    }

                    Return (0x00)
                }

                Method (SRDB, 2, Serialized)
                {
                    If (STRT ())
                    {
                        Return (0xFFFF)
                    }

                    Store (0x00, I2CE)
                    Store (0xBF, HSTS)
                    Store (Or (Arg0, 0x01), TXSA)
                    Store (Arg1, HCOM)
                    Store (0x48, HCON)
                    If (COMP ())
                    {
                        Or (HSTS, 0xFF, HSTS)
                        Return (DAT0)
                    }

                    Return (0xFFFF)
                }

                Method (SBLW, 4, Serialized)
                {
                    If (STRT ())
                    {
                        Return (0x00)
                    }

                    Store (Arg3, I2CE)
                    Store (0xBF, HSTS)
                    Store (Arg0, TXSA)
                    Store (Arg1, HCOM)
                    Store (SizeOf (Arg2), DAT0)
                    Store (0x00, Local1)
                    Store (DerefOf (Index (Arg2, 0x00)), HBDR)
                    Store (0x54, HCON)
                    While (LGreater (SizeOf (Arg2), Local1))
                    {
                        Store (0x0FA0, Local0)
                        While (LAnd (LNot (And (HSTS, 0x80)), Local0))
                        {
                            Decrement (Local0)
                            Stall (0x32)
                        }

                        If (LNot (Local0))
                        {
                            KILL ()
                            Return (0x00)
                        }

                        Store (0x80, HSTS)
                        Increment (Local1)
                        If (LGreater (SizeOf (Arg2), Local1))
                        {
                            Store (DerefOf (Index (Arg2, Local1)), HBDR)
                        }
                    }

                    If (COMP ())
                    {
                        Or (HSTS, 0xFF, HSTS)
                        Return (0x01)
                    }

                    Return (0x00)
                }

                Method (SBLR, 3, Serialized)
                {
                    Name (TBUF, Buffer (0x0100) {})
                    If (STRT ())
                    {
                        Return (0x00)
                    }

                    Store (Arg2, I2CE)
                    Store (0xBF, HSTS)
                    Store (Or (Arg0, 0x01), TXSA)
                    Store (Arg1, HCOM)
                    Store (0x54, HCON)
                    Store (0x0FA0, Local0)
                    While (LAnd (LNot (And (HSTS, 0x80)), Local0))
                    {
                        Decrement (Local0)
                        Stall (0x32)
                    }

                    If (LNot (Local0))
                    {
                        KILL ()
                        Return (0x00)
                    }

                    Store (DAT0, Index (TBUF, 0x00))
                    Store (0x80, HSTS)
                    Store (0x01, Local1)
                    While (LLess (Local1, DerefOf (Index (TBUF, 0x00))))
                    {
                        Store (0x0FA0, Local0)
                        While (LAnd (LNot (And (HSTS, 0x80)), Local0))
                        {
                            Decrement (Local0)
                            Stall (0x32)
                        }

                        If (LNot (Local0))
                        {
                            KILL ()
                            Return (0x00)
                        }

                        Store (HBDR, Index (TBUF, Local1))
                        Store (0x80, HSTS)
                        Increment (Local1)
                    }

                    If (COMP ())
                    {
                        Or (HSTS, 0xFF, HSTS)
                        Return (TBUF)
                    }

                    Return (0x00)
                }

                Method (STRT, 0, Serialized)
                {
                    Store (0xC8, Local0)
                    While (Local0)
                    {
                        If (And (HSTS, 0x40))
                        {
                            Decrement (Local0)
                            Sleep (0x01)
                            If (LEqual (Local0, 0x00))
                            {
                                Return (0x01)
                            }
                        }
                        Else
                        {
                            Store (0x00, Local0)
                        }
                    }

                    Store (0x0FA0, Local0)
                    While (Local0)
                    {
                        If (And (HSTS, 0x01))
                        {
                            Decrement (Local0)
                            Stall (0x32)
                            If (LEqual (Local0, 0x00))
                            {
                                KILL ()
                            }
                        }
                        Else
                        {
                            Return (0x00)
                        }
                    }

                    Return (0x01)
                }

                Method (COMP, 0, Serialized)
                {
                    Store (0x0FA0, Local0)
                    While (Local0)
                    {
                        If (And (HSTS, 0x02))
                        {
                            Return (0x01)
                        }
                        Else
                        {
                            Decrement (Local0)
                            Stall (0x32)
                            If (LEqual (Local0, 0x00))
                            {
                                KILL ()
                            }
                        }
                    }

                    Return (0x00)
                }

                Method (KILL, 0, Serialized)
                {
                    Or (HCON, 0x02, HCON)
                    Or (HSTS, 0xFF, HSTS)
                }
            }
        }

        Method (GSMI, 1, NotSerialized)
        {
            Store (Arg0, APMD)
            Store (0xE3, APMC)
            Stall (0xFF)
            Stall (0xFF)
            Stall (0xFF)
            Stall (0xFF)
            Stall (0xFF)
            Stall (0xFF)
        }

        Method (MSMI, 2, NotSerialized)
        {
            Store (Arg0, APMD)
            Store (Arg1, MX01)
            Store (0xE4, APMC)
            Stall (0xFF)
            Stall (0xFF)
            Stall (0xFF)
            Stall (0xFF)
            Stall (0xFF)
            Stall (0xFF)
        }

        Method (RDEC, 1, NotSerialized)
        {
            Acquire (\_SB.PCI0.LPCB.EC0.MUT1, 0x0FFF)
            Store (MINX, MSAV)
            If (BCMD)
            {
                Sleep (0x02)
            }

            Store (Arg0, BINX)
            Store (0x01, BCMD)
            Sleep (0x01)
            If (BCMD)
            {
                Sleep (0x02)
            }

            Store (BDAT, Local0)
            Store (MSAV, MINX)
            Release (\_SB.PCI0.LPCB.EC0.MUT1)
            Return (Local0)
        }

        Method (WREC, 2, NotSerialized)
        {
            Acquire (\_SB.PCI0.LPCB.EC0.MUT1, 0x0FFF)
            Store (MINX, MSAV)
            If (BCMD)
            {
                Sleep (0x02)
            }

            Store (Arg0, BINX)
            Store (Arg1, BDAT)
            Store (0x02, BCMD)
            Store (MSAV, MINX)
            Sleep (0x01)
            Release (\_SB.PCI0.LPCB.EC0.MUT1)
        }

        Device (BT)
        {
            Name (_HID, "TOS6205")
            Method (_STA, 0, NotSerialized)
            {
                If (LEqual (MBTS, 0x01))
                {
                    Store (0x0F, Local0)
                }
                Else
                {
                    Store (0x00, Local0)
                }

                Return (Local0)
            }

            Method (BTST, 0, NotSerialized)
            {
                Store (0x00, Local0)
                If (ECON)
                {
                    Store (\_SB.RDEC (0x93), Local1)
                    Store (And (Local1, 0x20), Local2)
                    If (Local2)
                    {
                        Store (And (Local1, 0x80), Local3)
                        If (Local3)
                        {
                            Or (Local0, 0x80, Local0)
                        }

                        Store (And (Local1, 0x40), Local4)
                        If (Local4)
                        {
                            Or (Local0, 0x40, Local0)
                        }

                        Store (And (Local1, 0x10), Local5)
                        If (Local5)
                        {
                            Or (Local0, 0x01, Local0)
                        }
                    }
                }

                Return (Local0)
            }

            Method (AUSB, 0, NotSerialized)
            {
                If (ECON)
                {
                    Store (\_SB.RDEC (0x93), Local1)
                    Store (And (Local1, 0x20), Local2)
                    If (Local2)
                    {
                        Store (And (Local1, 0x10), Local3)
                        If (Local3)
                        {
                            Store (Or (Local1, 0x40), Local4)
                            \_SB.WREC (0x93, Local4)
                            Sleep (0x32)
                            Store (Or (Local4, 0x04), Local5)
                            \_SB.WREC (0x93, Local5)
                            Sleep (0x64)
                        }
                    }
                }
            }

            Method (DUSB, 0, NotSerialized)
            {
                If (ECON)
                {
                    Store (\_SB.RDEC (0x93), Local1)
                    Store (And (Local1, 0x20), Local2)
                    If (Local2)
                    {
                        Store (And (Local1, 0xDF), Local3)
                        \_SB.WREC (0x93, Local3)
                    }
                }
            }

            Method (BTPO, 0, NotSerialized)
            {
                If (ECON)
                {
                    Store (\_SB.RDEC (0x93), Local1)
                    Store (And (Local1, 0x20), Local2)
                    If (Local2)
                    {
                        Store (And (Local1, 0x10), Local3)
                        If (Local3)
                        {
                            Store (Or (Local1, 0x80), Local4)
                            \_SB.WREC (0x93, Local4)
                            \_SB.GSMI (0x06)
                        }
                    }
                }
            }

            Method (BTPF, 0, NotSerialized)
            {
                If (ECON)
                {
                    Store (\_SB.RDEC (0x93), Local1)
                    Store (And (Local1, 0x20), Local2)
                    If (Local2)
                    {
                        Store (Or (Local1, 0x7F), Local3)
                        \_SB.WREC (0x93, Local3)
                    }
                }
            }
        }
    }

    Method (VGAS, 0, NotSerialized)
    {
        Store (\_SB.RDEC (0xD3), Local1)
        If (LEqual (Local1, 0x02))
        {
            Store (\_SB.RDEC (0xCD), Local0)
            If (And (Local0, 0x01))
            {
                Store (One, \_SB.PCI0.PEGP.VGA.LCDA)
            }
            Else
            {
                Store (Zero, \_SB.PCI0.PEGP.VGA.LCDA)
            }

            If (And (Local0, 0x02))
            {
                Store (One, \_SB.PCI0.PEGP.VGA.CRTA)
            }
            Else
            {
                Store (Zero, \_SB.PCI0.PEGP.VGA.CRTA)
            }

            If (And (Local0, 0x04))
            {
                Store (One, \_SB.PCI0.PEGP.VGA.TVAF)
            }
            Else
            {
                Store (Zero, \_SB.PCI0.PEGP.VGA.TVAF)
            }

            If (And (Local0, 0x08))
            {
                Store (One, \_SB.PCI0.PEGP.VGA.DVIA)
            }
            Else
            {
                Store (Zero, \_SB.PCI0.PEGP.VGA.DVIA)
            }

            Notify (\_SB.PCI0.PEGP.VGA, 0x80)
        }
    }

    OperationRegion (\P378, SystemIO, 0x0378, 0x02)
    Field (\P378, ByteAcc, NoLock, Preserve)
    {
        O378,   8, 
        I379,   8
    }

    Method (DBGA, 1, Serialized)
    {
        ROMC (Arg0, 0x1009)
    }

    Method (DBGT, 1, Serialized)
    {
        ROMC (Arg0, 0x100A)
    }

    Method (DBGC, 1, Serialized)
    {
        DB2H (Arg0)
        P1CH (0x20)
    }

    Method (P1CH, 1, Serialized)
    {
        ROMC (Arg0, 0x100E)
    }

    Method (DB2H, 1, Serialized)
    {
        ROMC (Arg0, 0x0200)
    }

    Method (DW2H, 1, Serialized)
    {
        ROMC (Arg0, 0x0201)
    }

    Method (DD2H, 1, Serialized)
    {
        ROMC (Arg0, 0x0202)
    }

    Method (ROMC, 2, Serialized)
    {
        And (I379, 0xF8, Local0)
        If (LEqual (Local0, 0xB0))
        {
            FODW (0xAA55)
            FODW (Arg1)
            If (LEqual (Arg1, 0x0200))
            {
                CHDB (Arg0)
            }
            Else
            {
                If (LEqual (Arg1, 0x0201))
                {
                    CHDW (Arg0)
                }
                Else
                {
                    If (LEqual (Arg1, 0x0202))
                    {
                        CHDD (Arg0)
                    }
                    Else
                    {
                        If (LEqual (Arg1, 0x1009))
                        {
                            CSTR (Arg0)
                        }
                        Else
                        {
                            If (LEqual (Arg1, 0x100A))
                            {
                                CSTR (Arg0)
                            }
                            Else
                            {
                                If (LEqual (Arg1, 0x100E))
                                {
                                    C1CH (Arg0)
                                }
                                Else
                                {
                                }
                            }
                        }
                    }
                }
            }

            FODB (0x66)
        }
    }

    Method (CSTR, 1, Serialized)
    {
        Store (SizeOf (Arg0), Local1)
        Name (BUFF, Buffer (Local1) {})
        Store (Arg0, BUFF)
        Store (Zero, Local2)
        FODW (0x0D0A)
        While (LNotEqual (Local2, Local1))
        {
            Store (DerefOf (Index (BUFF, Local2)), Local3)
            Increment (Local2)
            FODB (Local3)
        }

        FODB (0x00)
    }

    Method (C1CH, 1, Serialized)
    {
        FODB (Arg0)
        FODB (0x07)
    }

    Method (CHDB, 1, Serialized)
    {
        FODB (Arg0)
    }

    Method (CHDW, 1, Serialized)
    {
        FODW (Arg0)
    }

    Method (CHDD, 1, Serialized)
    {
        FODD (Arg0)
    }

    Method (\FODD, 1, NotSerialized)
    {
        Store (Arg0, Local0)
        ShiftRight (Local0, 0x10, Local1)
        And (Local1, 0xFFFF, Local1)
        And (Local0, 0xFFFF, Local0)
        FODW (Local0)
        FODW (Local1)
    }

    Method (\FODW, 1, NotSerialized)
    {
        Store (Arg0, Local0)
        ShiftRight (Local0, 0x08, Local1)
        And (Local1, 0xFF, Local1)
        And (Local0, 0xFF, Local0)
        FODB (Local0)
        FODB (Local1)
    }

    Method (\FODB, 1, NotSerialized)
    {
        Or (Arg0, 0x10, Local0)
        Store (Local0, O378)
        Store (0x01, Local3)
        While (Local3)
        {
            If (LEqual (And (I379, 0x80, Local3), 0x00))
            {
                ShiftRight (I379, 0x03, Local0)
                And (Local0, 0x0F, Local0)
                ShiftRight (Arg0, 0x04, Local1)
                Store (Local1, O378)
                Store (0x01, Local2)
                While (Local2)
                {
                    If (And (I379, 0x80, Local2))
                    {
                        Store (I379, Local1)
                        Store (0x00, Local2)
                    }
                    Else
                    {
                        Store (0x01, Local2)
                    }
                }

                ShiftLeft (Local1, 0x01, Local1)
                And (Local1, 0xF0, Local1)
                Or (Local1, Local0, Local0)
                Store (0x00, Local3)
            }
        }
    }

    Name (FUUF, 0x00)
    Scope (\_PR.CPU0)
    {
        Method (_PPC, 0, NotSerialized)
        {
            Return (ACPS)
        }

        Method (_PCT, 0, NotSerialized)
        {
            If (And (CFGD, 0x4000))
            {
                Return (Package (0x02)
                {
                    ResourceTemplate ()
                    {
                        Register (SystemIO, 
                            0x08,               // Bit Width
                            0x00,               // Bit Offset
                            0x0000000000000800, // Address
                            ,)
                    }, 

                    ResourceTemplate ()
                    {
                        Register (SystemIO, 
                            0x08,               // Bit Width
                            0x00,               // Bit Offset
                            0x0000000000000802, // Address
                            ,)
                    }
                })
            }

            If (LAnd (And (CFGD, 0x02), And (PDC0, 0x01)))
            {
                Return (Package (0x02)
                {
                    ResourceTemplate ()
                    {
                        Register (FFixedHW, 
                            0x00,               // Bit Width
                            0x00,               // Bit Offset
                            0x0000000000000000, // Address
                            ,)
                    }, 

                    ResourceTemplate ()
                    {
                        Register (FFixedHW, 
                            0x00,               // Bit Width
                            0x00,               // Bit Offset
                            0x0000000000000000, // Address
                            ,)
                    }
                })
            }

            Return (Package (0x02)
            {
                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x10,               // Bit Width
                        0x00,               // Bit Offset
                        0x00000000000000B2, // Address
                        ,)
                }, 

                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x08,               // Bit Width
                        0x00,               // Bit Offset
                        0x00000000000000B3, // Address
                        ,)
                }
            })
        }

        Method (_PSS, 0, NotSerialized)
        {
            If (LAnd (LNot (And (CFGD, 0x4000)), LAnd (And (CFGD, 
                0x02), And (PDC0, 0x01))))
            {
                Return (NPSS)
            }

            Return (SPSS)
        }

        Name (SPSS, Package (0x05)
        {
            Package (0x06)
            {
                0x0000074B, 
                0x00006978, 
                0x0000006E, 
                0x0000000A, 
                0x00000083, 
                0x00000000
            }, 

            Package (0x06)
            {
                0x00000640, 
                0x000059D8, 
                0x0000006E, 
                0x0000000A, 
                0x00000183, 
                0x00000001
            }, 

            Package (0x06)
            {
                0x00000535, 
                0x00004E20, 
                0x0000006E, 
                0x0000000A, 
                0x00000283, 
                0x00000002
            }, 

            Package (0x06)
            {
                0x0000042B, 
                0x00004268, 
                0x0000006E, 
                0x0000000A, 
                0x00000383, 
                0x00000003
            }, 

            Package (0x06)
            {
                0x00000320, 
                0x000032C8, 
                0x0000006E, 
                0x0000000A, 
                0x00000483, 
                0x00000004
            }
        })
        Name (NPSS, Package (0x05)
        {
            Package (0x06)
            {
                0x0000074B, 
                0x00006978, 
                0x0000000A, 
                0x0000000A, 
                0x00000E29, 
                0x00000E29
            }, 

            Package (0x06)
            {
                0x00000640, 
                0x000059D8, 
                0x0000000A, 
                0x0000000A, 
                0x00000C24, 
                0x00000C24
            }, 

            Package (0x06)
            {
                0x00000535, 
                0x00004E20, 
                0x0000000A, 
                0x0000000A, 
                0x00000A1E, 
                0x00000A1E
            }, 

            Package (0x06)
            {
                0x0000042B, 
                0x00004268, 
                0x0000000A, 
                0x0000000A, 
                0x00000818, 
                0x00000818
            }, 

            Package (0x06)
            {
                0x00000320, 
                0x000032C8, 
                0x0000000A, 
                0x0000000A, 
                0x00000612, 
                0x00000612
            }
        })
    }

    Scope (\_PR.CPU0)
    {
        Method (_CST, 0, NotSerialized)
        {
            If (And (CFGD, 0x4000))
            {
                Return (Package (0x02)
                {
                    0x01, 
                    Package (0x04)
                    {
                        ResourceTemplate ()
                        {
                            Register (FFixedHW, 
                                0x01,               // Bit Width
                                0x01,               // Bit Offset
                                0x0000000000000809, // Address
                                ,)
                        }, 

                        0x01, 
                        0x01, 
                        0x03E8
                    }
                })
            }

            If (And (CFGD, 0x80))
            {
                Return (Package (0x04)
                {
                    0x03, 
                    Package (0x04)
                    {
                        ResourceTemplate ()
                        {
                            Register (FFixedHW, 
                                0x00,               // Bit Width
                                0x00,               // Bit Offset
                                0x0000000000000000, // Address
                                ,)
                        }, 

                        0x01, 
                        0x01, 
                        0x03E8
                    }, 

                    Package (0x04)
                    {
                        ResourceTemplate ()
                        {
                            Register (SystemIO, 
                                0x08,               // Bit Width
                                0x00,               // Bit Offset
                                0x0000000000001014, // Address
                                ,)
                        }, 

                        0x02, 
                        0x01, 
                        0x01F4
                    }, 

                    Package (0x04)
                    {
                        ResourceTemplate ()
                        {
                            Register (SystemIO, 
                                0x08,               // Bit Width
                                0x00,               // Bit Offset
                                0x0000000000001015, // Address
                                ,)
                        }, 

                        0x03, 
                        0x55, 
                        0xFA
                    }
                })
            }

            If (And (CFGD, 0x40))
            {
                Return (Package (0x04)
                {
                    0x03, 
                    Package (0x04)
                    {
                        ResourceTemplate ()
                        {
                            Register (FFixedHW, 
                                0x00,               // Bit Width
                                0x00,               // Bit Offset
                                0x0000000000000000, // Address
                                ,)
                        }, 

                        0x01, 
                        0x01, 
                        0x03E8
                    }, 

                    Package (0x04)
                    {
                        ResourceTemplate ()
                        {
                            Register (SystemIO, 
                                0x08,               // Bit Width
                                0x00,               // Bit Offset
                                0x0000000000001014, // Address
                                ,)
                        }, 

                        0x02, 
                        0x01, 
                        0x01F4
                    }, 

                    Package (0x04)
                    {
                        ResourceTemplate ()
                        {
                            Register (SystemIO, 
                                0x08,               // Bit Width
                                0x00,               // Bit Offset
                                0x0000000000001015, // Address
                                ,)
                        }, 

                        0x03, 
                        0x55, 
                        0xFA
                    }
                })
            }

            If (And (CFGD, 0x20))
            {
                Return (Package (0x03)
                {
                    0x02, 
                    Package (0x04)
                    {
                        ResourceTemplate ()
                        {
                            Register (FFixedHW, 
                                0x00,               // Bit Width
                                0x00,               // Bit Offset
                                0x0000000000000000, // Address
                                ,)
                        }, 

                        0x01, 
                        0x01, 
                        0x03E8
                    }, 

                    Package (0x04)
                    {
                        ResourceTemplate ()
                        {
                            Register (SystemIO, 
                                0x08,               // Bit Width
                                0x00,               // Bit Offset
                                0x0000000000001014, // Address
                                ,)
                        }, 

                        0x02, 
                        0x01, 
                        0x01F4
                    }
                })
            }

            Return (Package (0x02)
            {
                0x01, 
                Package (0x04)
                {
                    ResourceTemplate ()
                    {
                        Register (FFixedHW, 
                            0x00,               // Bit Width
                            0x00,               // Bit Offset
                            0x0000000000000000, // Address
                            ,)
                    }, 

                    0x01, 
                    0x01, 
                    0x03E8
                }
            })
        }
    }
}
--- toshiba-m40.asl ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list