Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Sep 2005 11:52:43 -0400 (EDT)
From:      Brad Miele <bmiele@ipnstock.com>
To:        takawata@jp.frebsd.org
Cc:        freebsd-acpi@freebsd.org
Subject:   Re: Thermal issues when on battery
Message-ID:  <20050928115111.B702@localhost>
In-Reply-To: <200509281450.j8SEohr0064917@ns.init-main.com>
References:  <200509281450.j8SEohr0064917@ns.init-main.com>

next in thread | previous in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--0-912269244-1127922763=:702
Content-Type: TEXT/PLAIN; charset=X-UNKNOWN; format=flowed
Content-Transfer-Encoding: QUOTED-PRINTABLE

sure, here is the dump. thanks for the help.

/*
   RSD PTR: OEM=3DHP, ACPI_Rev=3D1.0x (0)
 =09RSDT=3D0x1ffefc84, cksum=3D44
  */
/*
   RSDT: Length=3D52, Revision=3D1, Checksum=3D240,
 =09OEMID=3DHP, OEM Table ID=3D0944, OEM Revision=3D0x22070520,
 =09Creator ID=3DHP, Creator Revision=3D0x1
 =09Entries=3D{ 0x1ffefc00, 0x1ffefcb8, 0x1ffefd14, 0x1fff7d5b }
  */
/*
   FACP: Length=3D132, Revision=3D2, Checksum=3D42,
 =09OEMID=3DHP, OEM Table ID=3D0944, OEM Revision=3D0x2,
 =09Creator ID=3DHP, Creator Revision=3D0x1
  =09FACS=3D0x1fffae80, DSDT=3D0x1ffefd50
 =09INT_MODEL=3DPIC
 =09Preferred_PM_Profile=3DUnspecified (0)
 =09SCI_INT=3D9
 =09SMI_CMD=3D0xb2, ACPI_ENABLE=3D0xf1, ACPI_DISABLE=3D0xf0, S4BIOS_REQ=3D0=
xf2
 =09PSTATE_CNT=3D0x80
 =09PM1a_EVT_BLK=3D0x1000-0x1003
 =09PM1a_CNT_BLK=3D0x1004-0x1005
 =09PM2_CNT_BLK=3D0x1020-0x1020
 =09PM_TMR_BLK=3D0x1008-0x100b
 =09GPE0_BLK=3D0x1028-0x102f
 =09P_LVL2_LAT=3D2 us, P_LVL3_LAT=3D138 us
 =09FLUSH_SIZE=3D0, FLUSH_STRIDE=3D0
 =09DUTY_OFFSET=3D1, DUTY_WIDTH=3D3
 =09DAY_ALRM=3D13, MON_ALRM=3D0, CENTURY=3D50
 =09IAPC_BOOT_ARCH=3D{LEGACY_DEV,8042}
 =09Flags=3D{WBINVD,PROC_C1,SLP_BUTTON,RTC_S4}
  */
/*
   FACS:=09Length=3D64, HwSig=3D0x00000000, Firm_Wake_Vec=3D0x00000000
 =09Global_Lock=3D
 =09Flags=3DS4BIOS
 =09Version=3D0
  */
/*
   DSDT: Length=3D32779, Revision=3D1, Checksum=3D197,
 =09OEMID=3DHP, OEM Table ID=3Dnc6200, OEM Revision=3D0x10000,
 =09Creator ID=3DMSFT, Creator Revision=3D0x100000e
  */
/*
   APIC: Length=3D90, Revision=3D1, Checksum=3D86,
 =09OEMID=3DHP, OEM Table ID=3D0944, OEM Revision=3D0x1,
 =09Creator ID=3DHP, Creator Revision=3D0x1
 =09Local APIC ADDR=3D0xfec01000
 =09Flags=3D{PC-AT}

 =09Type=3DLocal APIC
 =09ACPI CPU=3D1
 =09Flags=3D{ENABLED}
 =09APIC ID=3D0

 =09Type=3DIO APIC
 =09APIC ID=3D1
 =09INT BASE=3D0
 =09ADDR=3D0x00000000fec00000

 =09Type=3DINT Override
 =09BUS=3D0
 =09IRQ=3D0
 =09INTR=3D2
 =09Flags=3D{Polarity=3Dconforming, Trigger=3Dconforming}

 =09Type=3DINT Override
 =09BUS=3D0
 =09IRQ=3D9
 =09INTR=3D9
 =09Flags=3D{Polarity=3Dactive-hi, Trigger=3Dlevel}

 =09Type=3DLocal NMI
 =09ACPI CPU=3D1
 =09LINT Pin=3D1
 =09Flags=3D{Polarity=3Dactive-hi, Trigger=3Dedge}
  */
/*
   MCFG: Length=3D60, Revision=3D1, Checksum=3D132,
 =09OEMID=3DHP, OEM Table ID=3D0944, OEM Revision=3D0x1,
 =09Creator ID=3DHP, Creator Revision=3D0x1
  */
/*
   SSDT: Length=3D881, Revision=3D1, Checksum=3D166,
 =09OEMID=3DHP, OEM Table ID=3DHPQPpc, OEM Revision=3D0x1001,
 =09Creator ID=3DMSFT, Creator Revision=3D0x100000e
  */
/*
  * Intel ACPI Component Architecture
  * AML Disassembler version 20041119
  *
  * Disassembly of /tmp/acpidump.JVOScW, Wed Sep 28 11:52:16 2005
  */
DefinitionBlock ("DSDT.aml", "DSDT", 1, "HP    ", "nc6200", 65536)
{
     Processor (\_PR.C000, 0x01, 0x00001010, 0x06)
     {
         Name (C001, 0x00)
         Method (_CST, 0, NotSerialized)
         {
             Store (\_SB.C002.C003.C004.C005 (), Local0)
             If (LEqual (C001, 0x00))
             {
                 Store (0x01, C001)
             }

             If (LAnd (LEqual (Local0, 0x00), \_SB.C002.C006.C007.C008 ()))
             {
                 Store (0x0400, \_SB.C002.C003.C009)
                 XOr (\_SB.C002.C003.C009, \_SB.C002.C003.C00A, Local1)
                 If (LEqual (And (Local1, 0x0400), 0x00))
                 {
                     Store (0x01, Local0)
                 }
             }
             Else
             {
                 Store (0x01, Local0)
             }

             If (LAnd (And (\_SB.C00B, 0x80), LEqual (Local0, 0x00)))
             {
                 Store (0x04, Index (C00C, 0x00))
                 Store (C00D, Index (C00C, 0x01))
                 Store (C00E, Index (C00C, 0x02))
                 Store (C00F, Index (C00C, 0x03))
                 Store (C010, Index (C00C, 0x04))
                 Return (C00C)
             }

             If (And (\_SB.C00B, 0x40))
             {
                 Store (0x03, Index (C011, 0x00))
                 Store (C00D, Index (C011, 0x01))
                 Store (C00E, Index (C011, 0x02))
                 Store (C00F, Index (C011, 0x03))
                 Return (C011)
             }

             Store (0x02, Index (C012, 0x00))
             Store (C00D, Index (C012, 0x01))
             Store (C00E, Index (C012, 0x02))
             Return (C012)
         }

         Name (C00C, Package (0x05) {})
         Name (C011, Package (0x04) {})
         Name (C012, Package (0x03) {})
         Name (C00D, Package (0x04)
         {
             ResourceTemplate ()
             {
                 Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
             },

             0x01,
             0x01,
             0x03E8
         })
         Name (C00E, Package (0x04)
         {
             ResourceTemplate ()
             {
                 Register (SystemIO, 0x08, 0x00, 0x0000000000001014)
             },

             0x02,
             0x02,
             0x01F4
         })
         Name (C00F, Package (0x04)
         {
             ResourceTemplate ()
             {
                 Register (SystemIO, 0x08, 0x00, 0x0000000000001015)
             },

             0x03,
             0x26,
             0xFA
         })
         Name (C010, Package (0x04)
         {
             ResourceTemplate ()
             {
                 Register (SystemIO, 0x08, 0x00, 0x0000000000001016)
             },

             0x03,
             0x8A,
             0x64
         })
     }

     Name (\C013, Package (0x10)
     {
         "0",
         "1",
         "2",
         "3",
         "4",
         "5",
         "6",
         "7",
         "8",
         "9",
         "A",
         "B",
         "C",
         "D",
         "E",
         "F"
     })
     Method (\C014, 2, NotSerialized)
     {
         Store (Arg0, Local0)
         Store ("", Local7)
         Store (Arg1, Local4)
         While (LGreater (Local4, 0x00))
         {
             And (Local0, 0x0F, Local1)
             Store (DerefOf (Index (\C013, Local1)), Local2)
             Concatenate (Local2, Local7, Local3)
             Store (Local3, Local7)
             ShiftRight (Local0, 0x04, Local0)
             Decrement (Local4)
         }

         Return (Local7)
     }

     Method (\C015, 2, NotSerialized)
     {
         Store (SizeOf (Arg0), Local7)
         If (LNot (LEqual (Local7, SizeOf (Arg1))))
         {
             Return (0x00)
         }

         Name (C016, Buffer (Local7) {})
         Name (C017, Buffer (Local7) {})
         Store (Arg0, C016)
         Store (Arg1, C017)
         Store (0x00, Local6)
         Store (0x01, Local0)
         While (LAnd (LNot (LEqual (Local6, Local7)), Local0))
         {
             Store (DerefOf (Index (C016, Local6)), Local2)
             Store (DerefOf (Index (C017, Local6)), Local3)
             Increment (Local6)
             If (LNot (LEqual (Local2, Local3)))
             {
                 Store (0x00, Local0)
             }
         }

         Return (Local0)
     }

     Name (C018, 0xFFFFFFFD)
     Name (C019, Package (0x03)
     {
         "Microsoft Windows",
         "Microsoft WindowsME: Millennium Edition",
         "Microsoft Windows NT"
     })
     Method (C01A, 0, Serialized)
     {
         If (LEqual (C018, 0xFFFFFFFD))
         {
             Store (\_OS, Local0)
             Store (SizeOf (C019), Local7)
             Store (0x00, Local1)
             While (LAnd (LLess (Local1, Local7), LEqual (C018, 0xFFFFFFFD)=
))
             {
                 Store (\C015 (Local0, DerefOf (Index (C019, Local1))), Loc=
al2)
                 If (Local2)
                 {
                     Add (Local1, 0x01, C018)
                 }
                 Else
                 {
                     Increment (Local1)
                 }
             }

             If (LEqual (C018, 0xFFFFFFFD))
             {
                 Store (0x00, C018)
             }

             If (LOr (LEqual (C018, 0x00), LEqual (C018, 0x03)))
             {
                 If (CondRefOf (\_OSI, Local0))
                 {
                     If (\_OSI ("Windows 2001"))
                     {
                         Store (0x04, C018)
                     }
                 }
             }

             Store (C018, \_SB.C01A)
         }

         Return (C018)
     }

     Method (\_SB._INI, 0, NotSerialized)
     {
         \C01A ()
     }

     Method (C01C, 2, Serialized)
     {
         Store (SizeOf (Arg0), Local6)
         Store (SizeOf (Arg1), Local7)
         If (LEqual (Local6, 0x00))
         {
             Store (Arg1, Local0)
             Return (Local0)
         }

         If (LEqual (Local7, 0x00))
         {
             Store (Arg0, Local0)
             Return (Local0)
         }

         Add (Local7, Local6, Local1)
         Subtract (Local1, 0x02, Local1)
         Store (Buffer (Local1) {}, Local0)
         Store (0x00, Local1)
         While (LLess (Local1, SizeOf (Arg0)))
         {
             Store (DerefOf (Index (Arg0, Local1)), Index (Local0, Local1))
             Increment (Local1)
         }

         Subtract (Local1, 0x02, Local1)
         Store (0x00, Local2)
         While (LLess (Local2, SizeOf (Arg1)))
         {
             Store (DerefOf (Index (Arg1, Local2)), Index (Local0, Local1))
             Increment (Local1)
             Increment (Local2)
         }

         Return (Local0)
     }

     Scope (\_SB)
     {
         Device (C01D)
         {
             Name (_HID, EisaId ("PNP0C01"))
             Method (_CRS, 0, NotSerialized)
             {
                 Name (C01E, ResourceTemplate ()
                 {
                     Memory32Fixed (ReadWrite, 0x00000000, 0x000A0000)
                     Memory32Fixed (ReadOnly, 0x000F0000, 0x00100000)
                     Memory32Fixed (ReadWrite, 0x00100000, 0x00F00000)
                 })
                 CreateDWordField (C01E, 0x20, C021)
                 CreateDWordField (C01E, 0x1C, C022)
                 Subtract (\_SB.C023 (), C022, C021)
                 CreateDWordField (C01E, 0x14, C024)
                 CreateDWordField (C01E, 0x10, C025)
                 Store (ShiftLeft (\_SB.C026, 0x04), C025)
                 Subtract (C022, C025, C024)
                 Return (C01E)
             }
         }

         Method (C023, 0, NotSerialized)
         {
             Store (C027, Local0)
             Return (Local0)
         }

         Method (C028, 0, NotSerialized)
         {
             Store (C029, Local0)
             Return (Local0)
         }

         Method (C02A, 0, NotSerialized)
         {
             Add (C029, 0x1098, Local0)
             Return (Local0)
         }

         Method (C02C, 0, NotSerialized)
         {
             Add (C028 (), 0x0002AEC0, Local0)
             Return (Local0)
         }

         OperationRegion (C02D, SystemMemory, 0x000F8000, 0x2C)
         Field (C02D, WordAcc, NoLock, Preserve)
         {
             C029,   32,
             C02E,   16
         }

         OperationRegion (C02F, SystemMemory, C028, 0x1010)
         Field (C02F, AnyAcc, NoLock, Preserve)
         {
             C030,   32896
         }

         OperationRegion (C031, SystemMemory, C02A, 0xD2)
         Field (C031, AnyAcc, NoLock, Preserve)
         {
             C032,   16,
             C033,   16,
             C034,   16,
             C035,   16,
             C036,   16,
             C037,   8,
             C038,   8,
             Offset (0x10),
             C039,   1544
         }

         OperationRegion (C03A, SystemMemory, C02C, 0x0140)
         Field (C03A, AnyAcc, NoLock, Preserve)
         {
             C03B,   32,
             C03C,   4,
             C03D,   1,
             C01A,   4,
             C03E,   5,
             C03F,   1,
             C040,   1,
             C041,   2,
             C042,   1,
             C043,   1,
             C044,   1,
             C045,   1,
             C046,   10,
             C047,   32,
             C026,   16,
             C00B,   32,
             Offset (0x16),
             C048,   8,
             Offset (0x1A),
             C027,   32,
             C049,   8,
             C04A,   8,
             C04B,   8,
             C04C,   8,
             C04D,   8,
             C04E,   8,
             C04F,   48,
             Offset (0x68),
             C050,   32,
             C051,   32,
             C052,   32,
             C053,   32,
             Offset (0x8C),
             C054,   32
         }

         Method (C056, 2, Serialized)
         {
             Store (Arg0, Local0)
             If (LEqual (Local0, 0x01))
             {
                 Store (\_SB.C047, Local1)
                 Or (Local1, Arg1, Local1)
                 Store (Local1, \_SB.C047)
             }
             Else
             {
                 Store (\_SB.C047, Local1)
                 Not (Arg1, Local2)
                 And (Local1, Local2, Local1)
                 Store (Local1, \_SB.C047)
             }
         }

         Device (C002)
         {
             Name (_HID, EisaId ("PNP0A08"))
             Name (_CID, 0x030AD041)
             Name (_ADR, 0x00)
             Device (C057)
             {
                 Name (_ADR, 0x00010000)
                 Method (_STA, 0, NotSerialized)
                 {
                     Store (0x00, Local0)
                     If (C058)
                     {
                         Store (0x0F, Local0)
                     }

                     Return (Local0)
                 }
             }

             Device (C059)
             {
                 Name (_ADR, 0x00020000)
                 Method (_STA, 0, NotSerialized)
                 {
                     Store (0x00, Local0)
                     If (C05A)
                     {
                         Store (0x0F, Local0)
                     }

                     Return (Local0)
                 }
             }

             OperationRegion (C05B, PCI_Config, 0x54, 0x43)
             Field (C05B, AnyAcc, NoLock, Preserve)
             {
                     ,   1,
                 C058,   1,
                     ,   1,
                 C05A,   1,
                 Offset (0x3D),
                 C05C,   48
             }

             Alias (C05C, \_SB.C05C)
             Scope (\_SB)
             {
                 Name (C05D, Package (0x0C)
                 {
                     0x4000,
                     0x4000,
                     0x4000,
                     0x4000,
                     0x4000,
                     0x4000,
                     0x4000,
                     0x4000,
                     0x4000,
                     0x4000,
                     0x4000,
                     0x4000
                 })
                 Method (C05E, 0, NotSerialized)
                 {
                     Acquire (C05F, 0xFFFF)
                     If (LEqual (C060, 0xFFFFFFFD))
                     {
                         Store (0x00, Local0)
                         Store (Local0, C060)
                         Store (Local0, Local2)
                         Store (C05C, Local5)
                         Store (DerefOf (Index (Local5, Local0)), Local1)
                         Store (0x000C0000, Local4)
                         Store (ShiftLeft (C026, 0x04), Local3)
                         While (LAnd (LNot (LGreater (Local4, Local3)), LLe=
ss (C060, 0x06)))
                         {
                             If (LEqual (And (Local1, 0x03), 0x00))
                             {
                                 If (LEqual (Local2, 0x00))
                                 {
                                     Store (Local4, Index (C061, C060))
                                 }

                                 Store (0x01, Local2)
                             }
                             Else
                             {
                                 If (Local2)
                                 {
                                     Subtract (Local4, 0x01, Index (C062, C=
060))
                                     Increment (C060)
                                 }

                                 Store (0x00, Local2)
                             }

                             If (LLess (Local4, Local3))
                             {
                                 Add (Local4, DerefOf (Index (C05D, Local0)=
), Local4)
                                 ShiftRight (Local1, 0x04, Local1)
                                 If (And (Local0, 0x01))
                                 {
                                     Store (0x01, Local1)
                                     If (LLess (Local4, Local3))
                                     {
                                         ShiftRight (Local0, 0x01, Local6)
                                         Increment (Local6)
                                         Store (DerefOf (Index (Local5, Loc=
al6)), Local1)
                                     }
                                 }
                             }
                             Else
                             {
                                 Increment (Local4)
                             }

                             Increment (Local0)
                         }
                     }

                     Release (C05F)
                 }
             }

             Method (_INI, 0, NotSerialized)
             {
                 C05E ()
             }

             Name (C063, ResourceTemplate ()
             {
                 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDe=
code,
                     0x0000,
                     0x0000,
                     0x00FF,
                     0x0000,
                     0x0100)
                 IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08)
                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, E=
ntireRange,
                     0x0000,
                     0x0000,
                     0x0CF7,
                     0x0000,
                     0x0CF8)
                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, E=
ntireRange,
                     0x0000,
                     0x0D00,
                     0xFFFF,
                     0x0000,
                     0xF300)
                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFix=
ed, Cacheable, ReadWrite,
                     0x00000000,
                     0x000A0000,
                     0x000BFFFF,
                     0x00000000,
                     0x00020000)
                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFix=
ed, Cacheable, ReadWrite,
                     0x00000000,
                     0x00000000,
                     0xFEC00FFF,
                     0x00000000,
                     0x00000000)
                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFix=
ed, Cacheable, ReadWrite,
                     0x00000000,
                     0xFEC02000,
                     0xFFFFFFFF,
                     0x00000000,
                     0x013FDFFF)
             })
             Scope (\_SB)
             {
                 Name (C061, Package (0x07) {})
                 Name (C062, Package (0x07) {})
                 Name (C060, 0xFFFFFFFD)
                 Mutex (C05F, 0x00)
             }

             Method (C065, 4, NotSerialized)
             {
                 Store (Arg1, Local2)
                 Store (Arg3, Local4)
                 Add (Local4, 0x1A, Local5)
                 While (LLess (Local4, Local5))
                 {
                     Store (DerefOf (Index (C063, Local4)), Index (Arg0, Lo=
cal2))
                     Increment (Local4)
                     Increment (Local2)
                 }

                 Store (Arg1, Local2)
                 Add (Local2, 0x0A, Local2)
                 CreateDWordField (Arg0, Local2, C066)
                 Add (Local2, 0x04, Local2)
                 CreateDWordField (Arg0, Local2, C067)
                 Add (Local2, 0x08, Local2)
                 CreateDWordField (Arg0, Local2, C068)
                 Store (DerefOf (Index (C061, Arg2)), C066)
                 Store (DerefOf (Index (C062, Arg2)), C067)
                 Subtract (C067, C066, Local3)
                 Add (Local3, 0x01, C068)
                 Add (Local2, 0x04, Local2)
                 Return (Local2)
             }

             Method (C069, 0, NotSerialized)
             {
                 Acquire (C05F, 0xFFFF)
                 Multiply (C060, 0x1A, Local1)
                 Add (SizeOf (C063), Local1, Local2)
                 Store (Buffer (Local2) {}, Local0)
                 Store (0x00, Local1)
                 Store (0x00, Local2)
                 While (LLess (Local1, SizeOf (C063)))
                 {
                     Store (DerefOf (Index (C063, Local1)), Index (Local0, =
Local2))
                     Increment (Local2)
                     Increment (Local1)
                 }

                 Store (0x00, Local1)
                 Subtract (Local2, 0x02, Local2)
                 Subtract (Local2, 0x1A, Local3)
                 While (LLess (Local1, C060))
                 {
                     Store (C065 (Local0, Local2, Local1, Local3), Local2)
                     Increment (Local1)
                 }

                 CreateWordField (Local0, Local2, C06A)
                 Store (0x79, C06A)
                 Release (C05F)
                 Return (Local0)
             }

             Method (_CRS, 0, NotSerialized)
             {
                 CreateDWordField (C063, 0x5C, C066)
                 CreateDWordField (C063, 0x68, C068)
                 CreateDWordField (C063, 0x60, C067)
                 Store (C06B (), Local1)
                 Store (Local1, C066)
                 Subtract (C067, Local1, Local1)
                 Add (Local1, 0x01, C068)
                 Store (C069 (), Local2)
                 Return (Local2)
             }

             Method (C06B, 0, Serialized)
             {
                 Store (\_SB.C023 (), Local0)
                 Return (Local0)
             }

             Name (_S3D, 0x02)
             Name (_S4D, 0x03)
             Device (C06C)
             {
                 Name (_ADR, 0x001E0000)
                 Name (_PRW, Package (0x02)
                 {
                     0x0B,
                     0x05
                 })
                 OperationRegion (C06D, SystemMemory, 0xFED90000, 0x4000)
                 Field (C06D, DWordAcc, NoLock, Preserve)
                 {
                     Offset (0x3418),
                     C06E,   32
                 }

                 Device (C06F)
                 {
                     Name (_ADR, 0x00080000)
                     Method (_STA, 0, NotSerialized)
                     {
                         Return (C070 (0x80))
                     }
                 }
             }

             Method (C070, 1, NotSerialized)
             {
                 Store (0x0F, Local0)
                 If (And (^C06C.C06E, Arg0))
                 {
                     Store (0x00, Local0)
                 }

                 Return (Local0)
             }

             Device (C071)
             {
                 Name (_ADR, 0x001E0002)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C070 (0x20))
                 }
             }

             Device (C072)
             {
                 Name (_ADR, 0x001E0003)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C070 (0x40))
                 }
             }

             Device (C003)
             {
                 Name (_ADR, 0x001F0000)
                 OperationRegion (C073, PCI_Config, 0x60, 0xA0)
                 Field (C073, AnyAcc, NoLock, Preserve)
                 {
                     C074,   8,
                     C075,   8,
                     C076,   8,
                     C077,   8,
                     Offset (0x08),
                     C078,   8,
                     C079,   8,
                     C07A,   8,
                     C07B,   8,
                     Offset (0x20),
                     C07C,   3,
                         ,   1,
                     C07D,   3,
                     Offset (0x21),
                     C07E,   2,
                         ,   2,
                     C07F,   1,
                     Offset (0x22),
                     C080,   1,
                     C081,   1,
                     C082,   1,
                     C083,   1,
                     Offset (0x24),
                     C084,   16,
                     Offset (0x28),
                     C085,   16,
                     Offset (0x40),
                         ,   7,
                     C086,   1,
                     Offset (0x58),
                     C087,   32
                 }

                 OperationRegion (C088, SystemIO, 0xB2, 0x01)
                 Field (C088, AnyAcc, NoLock, Preserve)
                 {
                     C089,   8
                 }

                 OperationRegion (C08A, SystemIO, 0x1000, 0x3C)
                 Field (C08A, AnyAcc, NoLock, Preserve)
                 {
                     Offset (0x2A),
                     C08B,   16,
                         ,   2,
                     C08C,   1,
                     Offset (0x30),
                     C08D,   1,
                     C08E,   1,
                         ,   2,
                     C08F,   1,
                     Offset (0x34),
                         ,   5,
                     C090,   1,
                     Offset (0x38),
                     C091,   16,
                     C009,   16
                 }

                 OperationRegion (C092, SystemIO, 0x1060, 0x14)
                 Field (C092, ByteAcc, NoLock, Preserve)
                 {
                     C093,   9,
                     Offset (0x04),
                         ,   3,
                     C094,   1,
                     Offset (0x06),
                         ,   1,
                     C095,   1,
                     Offset (0x08),
                         ,   11,
                     C096,   1,
                     Offset (0x12),
                     C097,   10
                 }

                 OperationRegion (C098, SystemMemory, 0xFFBC0100, 0x01)
                 Field (C098, ByteAcc, NoLock, Preserve)
                 {
                     C099,   5
                 }

                 OperationRegion (C09A, SystemIO, 0x1100, 0x3C)
                 Field (C09A, AnyAcc, NoLock, Preserve)
                 {
                     Offset (0x0C),
                     C09B,   32,
                     Offset (0x2C),
                     C00A,   32,
                     Offset (0x38),
                     C09C,   16
                 }

                 OperationRegion (C09D, SystemIO, 0x1200, 0x06)
                 Field (C09D, ByteAcc, NoLock, Preserve)
                 {
                     C09E,   8,
                     Offset (0x02),
                     C09F,   8,
                     C0A0,   8,
                     C0A1,   8,
                     C0A2,   8
                 }

                 Method (C0A3, 3, Serialized)
                 {
                     Acquire (\_GL, 0xFFFF)
                     Store (0x00, Local2)
                     Store (0xFA, Local0)
                     While (LAnd (And (C09E, 0x01), LGreater (Local0, 0x00)=
))
                     {
                         Stall (0x64)
                         Decrement (Local0)
                     }

                     If (Local0)
                     {
                         Store (Arg1, C0A0)
                         Store (Arg0, C0A1)
                         If (LEqual (And (Arg0, 0x01), 0x00))
                         {
                             Store (Arg2, C0A2)
                         }

                         Store (0xFF, C09E)
                         Store (0x48, C09F)
                         Store (0xFA, Local0)
                         While (LAnd (LEqual (And (C09E, 0x1E), 0x00), LGre=
ater (Local0, 0x00)))
                         {
                             Stall (0x64)
                             Decrement (Local0)
                         }

                         And (C09E, 0x1C, Local1)
                         Store (0xFF, C09E)
                         If (LAnd (LEqual (Local1, 0x00), And (Arg0, 0x01))=
)
                         {
                             Store (C0A2, Local2)
                         }
                     }
                     Else
                     {
                         Store (0x01, Local1)
                     }

                     Release (\_GL)
                     If (And (Arg0, 0x01))
                     {
                         ShiftLeft (Local1, 0x08, Local3)
                         Or (Local3, Local2, Local1)
                     }

                     Return (Local1)
                 }

                 Name (C0A4, Package (0x08)
                 {
                     0x03F8,
                     0x02F8,
                     0x0220,
                     0x0228,
                     0x0238,
                     0x02E8,
                     0x0338,
                     0x03E8
                 })
                 Name (C0A5, Package (0x03)
                 {
                     0x0378,
                     0x0278,
                     0x03BC
                 })
                 Method (C0A6, 3, NotSerialized)
                 {
                     Store (0x00, Local1)
                     Store (Match (Arg0, MEQ, Arg1, MTR, 0x00, 0x00), Local=
0)
                     If (LNot (LEqual (Local0, Ones)))
                     {
                         ShiftLeft (Local0, Arg2, Local1)
                     }

                     Return (Local1)
                 }

                 Method (C0A7, 2, Serialized)
                 {
                     If (LEqual (Arg0, 0x00))
                     {
                         Store (0x00, C083)
                     }
                     Else
                     {
                         If (LEqual (Arg0, 0x01))
                         {
                             Store (0x00, C082)
                         }
                         Else
                         {
                             If (LEqual (Arg0, 0x02))
                             {
                                 Store (0x00, C080)
                             }
                             Else
                             {
                                 If (LEqual (Arg0, 0x03))
                                 {
                                     Store (0x00, C081)
                                     And (C085, 0xFFFFFFFE, C085)
                                 }
                             }
                         }
                     }
                 }

                 Method (C0A8, 3, Serialized)
                 {
                     If (LEqual (Arg0, 0x00))
                     {
                         Store (0x00, Local0)
                         If (LEqual (Arg1, 0x0370))
                         {
                             Store (0x01, Local0)
                         }

                         Store (Local0, C07F)
                         Store (0x01, C083)
                     }
                     Else
                     {
                         If (LEqual (Arg0, 0x01))
                         {
                             Store (C0A6 (C0A5, Arg1, 0x00), C07E)
                             Store (0x01, C082)
                         }
                         Else
                         {
                             If (LEqual (Arg0, 0x02))
                             {
                                 Store (C0A6 (C0A4, Arg1, 0x00), C07C)
                                 Store (0x01, C080)
                             }
                             Else
                             {
                                 If (LEqual (Arg0, 0x03))
                                 {
                                     Store (C0A6 (C0A4, Arg1, 0x00), C07D)
                                     Store (0x01, C081)
                                     Or (Arg2, 0x01, C085)
                                 }
                             }
                         }
                     }
                 }
             }

             Device (C0A9)
             {
                 Name (_ADR, 0x001F0001)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C070 (0x02))
                 }

                 OperationRegion (C0AA, PCI_Config, 0x40, 0x18)
                 Field (C0AA, AnyAcc, NoLock, Preserve)
                 {
                     C0AB,   16,
                     C0AC,   16,
                     C0AD,   8,
                     Offset (0x08),
                     C0AE,   8,
                     Offset (0x0A),
                     C0AF,   16,
                     Offset (0x14),
                     C0B0,   32
                 }

                 Method (C0B1, 2, Serialized)
                 {
                     If (LEqual (Arg0, 0x00))
                     {
                         Store (C0AB, Local0)
                     }
                     Else
                     {
                         Store (C0AC, Local0)
                     }

                     If (LEqual (Arg1, 0x00))
                     {
                         If (LEqual (And (Local0, 0x09), 0x00))
                         {
                             Return (0x0384)
                         }

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

                         ShiftRight (And (Local0, 0x0300), 0x08, Local1)
                         ShiftRight (And (Local0, 0x3000), 0x0C, Local2)
                         Return (Multiply (0x1E, Subtract (0x09, Add (Local=
1, Local2))))
                     }
                     Else
                     {
                         If (LEqual (And (Local0, 0x90), 0x00))
                         {
                             Return (0x0384)
                         }

                         If (LEqual (And (Local0, 0x90), 0x80))
                         {
                             Return (0x0384)
                         }

                         If (And (Local0, 0x4000))
                         {
                             Store (C0AD, Local0)
                             If (LEqual (Arg0, 0x01))
                             {
                                 ShiftRight (Local0, 0x04, Local0)
                             }

                             Return (Multiply (0x1E, Subtract (0x09, Add (A=
nd (ShiftRight (Local0, 0x02), 0x03), And (Local0, 0x03)))))
                         }
                         Else
                         {
                             ShiftRight (And (Local0, 0x0300), 0x08, Local1=
)
                             ShiftRight (And (Local0, 0x3000), 0x0C, Local2=
)
                             Return (Multiply (0x1E, Subtract (0x09, Add (L=
ocal1, Local2))))
                         }
                     }
                 }

                 Name (C0B2, Buffer (0x05)
                 {
                     0x70, 0x49, 0x36, 0x27, 0x19
                 })
                 Method (C0B3, 2, Serialized)
                 {
                     ShiftLeft (0x01, Add (Multiply (Arg0, 0x02), Arg1), Lo=
cal0)
                     If (And (C0AE, Local0))
                     {
                         Store (C0B0, Local1)
                         If (And (ShiftRight (Local1, 0x0C), Local0))
                         {
                             Return (0x11)
                         }

                         Store (And (ShiftRight (C0AF, Add (Multiply (Arg0,=
 0x08), Multiply (Arg1, 0x04))), 0x03), Local2)
                         If (And (Local1, Local0))
                         {
                             Add (Local2, 0x02, Local2)
                         }

                         Return (DerefOf (Index (C0B2, Local2)))
                     }

                     Return (0xFFFFFFFF)
                 }

                 Method (C0B4, 1, Serialized)
                 {
                     If (LEqual (Arg0, 0x00))
                     {
                         Store (C0AB, Local0)
                     }
                     Else
                     {
                         Store (C0AC, Local0)
                     }

                     Store (ShiftRight (C0AE, Multiply (0x02, Arg0)), Local=
1)
                     Store (0x00, Local3)
                     If (And (Local1, 0x01))
                     {
                         Or (Local3, 0x01, Local3)
                     }

                     If (And (Local1, 0x02))
                     {
                         Or (Local3, 0x04, Local3)
                     }

                     If (And (Local0, 0x02))
                     {
                         Or (Local3, 0x02, Local3)
                     }

                     If (And (Local0, 0x20))
                     {
                         Or (Local3, 0x08, Local3)
                     }

                     Or (Local3, 0x10, Local3)
                     Return (Local3)
                 }

                 Method (C0B5, 5, Serialized)
                 {
                     CreateWordField (Arg4, 0x02, C0B6)
                     CreateWordField (Arg4, 0x04, C0B7)
                     CreateWordField (Arg4, 0x08, C0B8)
                     Store (0x0C, Local0)
                     Store (0x00, Local1)
                     Store (0x00, Local2)
                     Store (0x01, Local5)
                     If (LAnd (And (Arg3, ShiftLeft (0x02, Multiply (Arg1, =
0x02))), And (C0B6, 0x0800)))
                     {
                         Or (Local0, 0x02, Local0)
                         Store (0x08, Local5)
                     }

                     If (LAnd (LNot (LGreater (Arg2, 0xF0)), And (C0B7, 0x0=
2)))
                     {
                         Or (And (Local0, 0xFFFFFFF7), 0x01, Local0)
                         If (LAnd (LNot (LGreater (Arg2, 0x78)), And (C0B8,=
 0x02)))
                         {
                             Store (0x2300, Local1)
                             Store (0x0B, Local2)
                             Or (Local5, 0x04, Local5)
                         }
                         Else
                         {
                             If (LAnd (LNot (LGreater (Arg2, 0xB4)), And (C=
0B8, 0x01)))
                             {
                                 Store (0x2100, Local1)
                                 Store (0x09, Local2)
                                 Or (Local5, 0x03, Local5)
                             }
                             Else
                             {
                                 Store (0x0100, Local1)
                                 Store (0x04, Local2)
                                 Or (Local5, 0x02, Local5)
                             }
                         }
                     }

                     If (LEqual (Arg1, 0x00))
                     {
                         Or (Local0, Local1, Local0)
                         Store (0x40F0, Local4)
                     }
                     Else
                     {
                         ShiftLeft (Local0, 0x04, Local0)
                         If (And (Arg3, 0x10))
                         {
                             Or (Local0, 0x4000, Local0)
                             If (LEqual (Arg0, 0x00))
                             {
                                 Or (And (C0AD, 0xF0), Local2, C0AD)
                             }
                             Else
                             {
                                 Or (And (C0AD, 0x0F), ShiftLeft (Local2, 0=
x04), C0AD)
                             }
                         }

                         Store (0x3F0F, Local4)
                     }

                     Or (Local0, 0x8000, Local0)
                     If (LEqual (Arg0, 0x00))
                     {
                         Or (And (C0AB, Local4), Local0, C0AB)
                     }
                     Else
                     {
                         Or (And (C0AC, Local4), Local0, C0AC)
                     }

                     Return (Local5)
                 }

                 Method (C0B9, 5, Serialized)
                 {
                     CreateWordField (Arg4, 0x0C, C0BA)
                     Store (0x00, Local0)
                     Store (0x00, Local1)
                     Store (0x00, Local2)
                     Add (Multiply (Arg0, 0x02), Arg1, Local3)
                     Store (0x00, Local4)
                     ShiftLeft (0x1011, Local3, Local5)
                     If (And (Arg3, ShiftLeft (0x01, Multiply (Arg1, 0x02))=
))
                     {
                         Store (0x01, Local1)
                         Store (C0BB (Arg0, Arg1), Local6)
                         If (LAnd (LNot (LLess (Local6, 0x05)), LAnd (LLess=
 (Arg2, 0x19), And (C0BA, 0x20))))
                         {
                             Store (0x01, Local0)
                             Store (0x45, Local2)
                             ShiftLeft (0x1011, Local3, Local4)
                         }
                         Else
                         {
                             If (LAnd (LNot (LLess (Local6, 0x04)), LAnd (L=
Less (Arg2, 0x27), And (C0BA, 0x10))))
                             {
                                 Store (0x02, Local0)
                                 Store (0x44, Local2)
                                 ShiftLeft (0x11, Local3, Local4)
                             }
                             Else
                             {
                                 If (LAnd (LNot (LLess (Local6, 0x03)), LAn=
d (LLess (Arg2, 0x36), And (C0BA, 0x08))))
                                 {
                                     Store (0x01, Local0)
                                     Store (0x43, Local2)
                                     ShiftLeft (0x11, Local3, Local4)
                                 }
                                 Else
                                 {
                                     If (LAnd (LNot (LLess (Local6, 0x02)),=
 LAnd (LLess (Arg2, 0x49), And (C0BA, 0x04))))
                                     {
                                         Store (0x02, Local0)
                                         Store (0x42, Local2)
                                     }
                                     Else
                                     {
                                         If (LAnd (LNot (LLess (Local6, 0x0=
1)), LAnd (LLess (Arg2, 0x70), And (C0BA, 0x02))))
                                         {
                                             Store (0x01, Local0)
                                             Store (0x41, Local2)
                                         }
                                         Else
                                         {
                                             Store (0x00, Local0)
                                             Store (0x40, Local2)
                                         }
                                     }
                                 }
                             }
                         }
                     }

                     Or (And (C0AE, Not (ShiftLeft (0x01, Local3))), ShiftL=
eft (Local1, Local3), C0AE)
                     Multiply (Local3, 0x04, Local3)
                     Or (And (C0AF, Not (ShiftLeft (0x03, Local3))), ShiftL=
eft (Local0, Local3), C0AF)
                     Or (And (C0B0, Not (Local5)), Local4, C0B0)
                     Return (Local2)
                 }
             }

             Device (C0BC)
             {
                 Name (_ADR, 0x001F0002)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C070 (0x04))
                 }

                 OperationRegion (C0AA, PCI_Config, 0x40, 0x18)
                 Field (C0AA, AnyAcc, NoLock, Preserve)
                 {
                     C0AB,   16,
                     C0AC,   16,
                     C0AD,   8,
                     Offset (0x08),
                     C0AE,   8,
                     Offset (0x0A),
                     C0AF,   16,
                     Offset (0x14),
                     C0B0,   32
                 }
             }

             Device (C0BD)
             {
                 Name (_ADR, 0x001D0000)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C070 (0x0100))
                 }

                 OperationRegion (C0BE, PCI_Config, 0xC4, 0x04)
                 Field (C0BE, AnyAcc, NoLock, Preserve)
                 {
                     C0BF,   1,
                     C0C0,   1
                 }

                 Method (_PSW, 1, NotSerialized)
                 {
                     Store (Arg0, Local0)
                     If (LEqual (Local0, 0x01))
                     {
                         Store (0x01, C0BF)
                         Store (0x01, C0C0)
                     }
                     Else
                     {
                         Store (0x00, C0BF)
                         Store (0x00, C0C0)
                     }
                 }

                 Device (C0C1)
                 {
                     Name (_ADR, 0x00)
                     Device (C0C2)
                     {
                         Name (_ADR, 0x00)
                     }

                     Device (C0C3)
                     {
                         Name (_ADR, 0x01)
                     }
                 }
             }

             Device (C0C4)
             {
                 Name (_ADR, 0x001D0001)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C070 (0x0200))
                 }

                 OperationRegion (C0BE, PCI_Config, 0xC4, 0x04)
                 Field (C0BE, AnyAcc, NoLock, Preserve)
                 {
                     C0BF,   1,
                     C0C0,   1
                 }

                 Method (_PSW, 1, NotSerialized)
                 {
                     Store (Arg0, Local0)
                     If (LEqual (Local0, 0x01))
                     {
                         Store (0x01, C0BF)
                         Store (0x01, C0C0)
                     }
                     Else
                     {
                         Store (0x00, C0BF)
                         Store (0x00, C0C0)
                     }
                 }

                 Device (C0C1)
                 {
                     Name (_ADR, 0x00)
                     Device (C0C2)
                     {
                         Name (_ADR, 0x00)
                     }

                     Device (C0C3)
                     {
                         Name (_ADR, 0x01)
                     }
                 }
             }

             Device (C0C5)
             {
                 Name (_ADR, 0x001D0002)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C070 (0x0400))
                 }

                 OperationRegion (C0BE, PCI_Config, 0xC4, 0x01)
                 Field (C0BE, AnyAcc, NoLock, Preserve)
                 {
                     C0BF,   1,
                     C0C0,   1
                 }

                 Method (_PSW, 1, NotSerialized)
                 {
                     Store (Arg0, Local0)
                     If (LEqual (Local0, 0x01))
                     {
                         Store (0x01, C0BF)
                         Store (0x01, C0C0)
                     }
                     Else
                     {
                         Store (0x00, C0BF)
                         Store (0x00, C0C0)
                     }
                 }

                 Device (C0C1)
                 {
                     Name (_ADR, 0x00)
                     Device (C0C2)
                     {
                         Name (_ADR, 0x00)
                     }

                     Device (C0C3)
                     {
                         Name (_ADR, 0x01)
                     }
                 }
             }

             Device (C0C6)
             {
                 Name (_ADR, 0x001D0003)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C070 (0x0800))
                 }

                 OperationRegion (C0BE, PCI_Config, 0xC4, 0x01)
                 Field (C0BE, AnyAcc, NoLock, Preserve)
                 {
                     C0BF,   1,
                     C0C0,   1
                 }

                 Method (_PSW, 1, NotSerialized)
                 {
                     Store (Arg0, Local0)
                     If (LEqual (Local0, 0x01))
                     {
                         Store (0x01, C0BF)
                         Store (0x01, C0C0)
                     }
                     Else
                     {
                         Store (0x00, C0BF)
                         Store (0x00, C0C0)
                     }
                 }

                 Device (C0C1)
                 {
                     Name (_ADR, 0x00)
                     Device (C0C2)
                     {
                         Name (_ADR, 0x00)
                     }

                     Device (C0C3)
                     {
                         Name (_ADR, 0x01)
                     }
                 }
             }

             Device (C0C7)
             {
                 Name (_ADR, 0x001D0007)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C070 (0x8000))
                 }

                 Device (C0C1)
                 {
                     Name (_ADR, 0x00)
                     Device (C0C2)
                     {
                         Name (_ADR, 0x00)
                     }

                     Device (C0C3)
                     {
                         Name (_ADR, 0x01)
                     }

                     Device (C0C8)
                     {
                         Name (_ADR, 0x02)
                     }

                     Device (C0C9)
                     {
                         Name (_ADR, 0x03)
                     }

                     Device (C0CA)
                     {
                         Name (_ADR, 0x04)
                     }

                     Device (C0CB)
                     {
                         Name (_ADR, 0x05)
                     }

                     Device (C0CC)
                     {
                         Name (_ADR, 0x06)
                     }

                     Device (C0CD)
                     {
                         Name (_ADR, 0x07)
                     }
                 }
             }

             Device (C006)
             {
                 Name (_ADR, 0x001C0000)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C070 (0x00010000))
                 }

                 OperationRegion (C0CE, PCI_Config, 0x50, 0x90)
                 Field (C0CE, AnyAcc, NoLock, Preserve)
                 {
                         ,   4,
                     C0CF,   1,
                     Offset (0x0A),
                     C0D0,   16,
                     Offset (0x10),
                     C0D1,   16,
                     C0D2,   1,
                     Offset (0x88),
                     C0D3,   32,
                         ,   30,
                     C0D4,   1,
                     C0D5,   1
                 }

                 OperationRegion (C0D6, SystemMemory, 0xE00E0304, 0x02)
                 Field (C0D6, AnyAcc, NoLock, Preserve)
                 {
                         ,   15,
                     C0D7,   1
                 }

                 Method (_PRT, 0, NotSerialized)
                 {
                     If (C0D8)
                     {
                         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,
                                 C0D9,
                                 0x00
                             },

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

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

                             Package (0x04)
                             {
                                 0xFFFF,
                                 0x03,
                                 C0DC,
                                 0x00
                             }
                         })
                     }
                 }
             }

             Device (C0DD)
             {
                 Name (_ADR, 0x001C0001)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C070 (0x00020000))
                 }

                 OperationRegion (C0DE, PCI_Config, 0x50, 0x90)
                 Field (C0DE, AnyAcc, NoLock, Preserve)
                 {
                         ,   4,
                     C0CF,   1,
                     Offset (0x0A),
                     C0D0,   16,
                     Offset (0x10),
                     C0D1,   16,
                     C0D2,   1,
                     Offset (0x88),
                     C0D3,   32,
                         ,   30,
                     C0D4,   1,
                     C0D5,   1
                 }

                 OperationRegion (C0DF, SystemMemory, 0xE00E1304, 0x02)
                 Field (C0DF, AnyAcc, NoLock, Preserve)
                 {
                         ,   15,
                     C0D7,   1
                 }

                 Method (_PRT, 0, NotSerialized)
                 {
                     If (C0D8)
                     {
                         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,
                                 C0DA,
                                 0x00
                             },

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

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

                             Package (0x04)
                             {
                                 0xFFFF,
                                 0x03,
                                 C0D9,
                                 0x00
                             }
                         })
                     }
                 }
             }

             Device (C0E0)
             {
                 Name (_ADR, 0x001C0002)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C070 (0x00040000))
                 }

                 OperationRegion (C0E1, PCI_Config, 0x50, 0x90)
                 Field (C0E1, AnyAcc, NoLock, Preserve)
                 {
                         ,   4,
                     C0CF,   1,
                     Offset (0x0A),
                     C0D0,   16,
                     Offset (0x10),
                     C0D1,   16,
                     C0D2,   1,
                     Offset (0x88),
                     C0D3,   32,
                         ,   30,
                     C0D4,   1,
                     C0D5,   1
                 }

                 OperationRegion (C0E2, SystemMemory, 0xE00E2304, 0x02)
                 Field (C0E2, AnyAcc, NoLock, Preserve)
                 {
                         ,   15,
                     C0D7,   1
                 }

                 Method (_PRT, 0, NotSerialized)
                 {
                     If (C0D8)
                     {
                         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,
                                 C0DB,
                                 0x00
                             },

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

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

                             Package (0x04)
                             {
                                 0xFFFF,
                                 0x03,
                                 C0DA,
                                 0x00
                             }
                         })
                     }
                 }
             }

             Device (C0E3)
             {
                 Name (_ADR, 0x001C0003)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C070 (0x00080000))
                 }

                 OperationRegion (C0E4, PCI_Config, 0x50, 0x90)
                 Field (C0E4, AnyAcc, NoLock, Preserve)
                 {
                         ,   4,
                     C0CF,   1,
                     Offset (0x0A),
                     C0D0,   16,
                     Offset (0x10),
                     C0D1,   16,
                     C0D2,   1,
                     Offset (0x88),
                     C0D3,   32,
                         ,   30,
                     C0D4,   1,
                     C0D5,   1
                 }

                 OperationRegion (C0E5, SystemMemory, 0xE00E3304, 0x02)
                 Field (C0E5, AnyAcc, NoLock, Preserve)
                 {
                         ,   15,
                     C0D7,   1
                 }

                 Method (_PRT, 0, NotSerialized)
                 {
                     If (C0D8)
                     {
                         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,
                                 C0DC,
                                 0x00
                             },

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

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

                             Package (0x04)
                             {
                                 0xFFFF,
                                 0x03,
                                 C0DB,
                                 0x00
                             }
                         })
                     }
                 }
             }

             Device (C0E6)
             {
                 Name (_ADR, 0x001B0000)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C070 (0x10))
                 }
             }

             Method (C0E7, 1, Serialized)
             {
                 Name (C0E8, ResourceTemplate ()
                 {
                     IRQ (Level, ActiveLow, Shared) {}
                 })
                 CreateWordField (C0E8, 0x01, C0EA)
                 Store (0x00, Local1)
                 Store (Arg0, Local0)
                 And (Local0, 0x8F, Local0)
                 If (LLess (Local0, 0x80))
                 {
                     And (Local0, 0x0F, Local0)
                     ShiftLeft (0x01, Local0, Local1)
                 }

                 Store (Local1, C0EA)
                 Return (C0E8)
             }

             Method (C0EB, 1, Serialized)
             {
                 Store (Arg0, Local0)
                 And (Local0, 0x80, Local0)
                 If (LEqual (Local0, 0x00))
                 {
                     Store (0x0B, Local0)
                 }
                 Else
                 {
                     Store (0x09, Local0)
                 }

                 Return (Local0)
             }

             Method (C0EC, 1, Serialized)
             {
                 Store (Arg0, Local0)
                 And (Local0, 0xF0, Local0)
                 Or (Local0, 0x80, Local0)
                 Return (Local0)
             }

             Method (C0ED, 1, Serialized)
             {
                 CreateWordField (Arg0, 0x01, C0EE)
                 If (LEqual (C0EE, 0x00))
                 {
                     Store (0x00, Local0)
                 }
                 Else
                 {
                     FindSetRightBit (C0EE, Local0)
                     Decrement (Local0)
                 }

                 Return (Local0)
             }

             Device (C0D9)
             {
                 Name (_HID, EisaId ("PNP0C0F"))
                 Name (_UID, 0x60)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C0EB (^^C003.C074))
                 }

                 Method (_DIS, 0, NotSerialized)
                 {
                     Store (C0EC (^^C003.C074), ^^C003.C074)
                 }

                 Method (_SRS, 1, NotSerialized)
                 {
                     Store (C0ED (Arg0), ^^C003.C074)
                 }

                 Method (_CRS, 0, NotSerialized)
                 {
                     Return (C0E7 (^^C003.C074))
                 }
             }

             Device (C0DA)
             {
                 Name (_HID, EisaId ("PNP0C0F"))
                 Name (_UID, 0x61)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C0EB (^^C003.C075))
                 }

                 Method (_DIS, 0, NotSerialized)
                 {
                     Store (C0EC (^^C003.C075), ^^C003.C075)
                 }

                 Method (_SRS, 1, NotSerialized)
                 {
                     Store (C0ED (Arg0), ^^C003.C075)
                 }

                 Method (_CRS, 0, NotSerialized)
                 {
                     Return (C0E7 (^^C003.C075))
                 }
             }

             Device (C0DB)
             {
                 Name (_HID, EisaId ("PNP0C0F"))
                 Name (_UID, 0x62)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C0EB (^^C003.C076))
                 }

                 Method (_DIS, 0, NotSerialized)
                 {
                     Store (C0EC (^^C003.C076), ^^C003.C076)
                 }

                 Method (_SRS, 1, NotSerialized)
                 {
                     Store (C0ED (Arg0), ^^C003.C076)
                 }

                 Method (_CRS, 0, NotSerialized)
                 {
                     Return (C0E7 (^^C003.C076))
                 }
             }

             Device (C0DC)
             {
                 Name (_HID, EisaId ("PNP0C0F"))
                 Name (_UID, 0x63)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C0EB (^^C003.C077))
                 }

                 Method (_DIS, 0, NotSerialized)
                 {
                     Store (C0EC (^^C003.C077), ^^C003.C077)
                 }

                 Method (_SRS, 1, NotSerialized)
                 {
                     Store (C0ED (Arg0), ^^C003.C077)
                 }

                 Method (_CRS, 0, NotSerialized)
                 {
                     Return (C0E7 (^^C003.C077))
                 }
             }

             Device (C0EF)
             {
                 Name (_HID, EisaId ("PNP0C0F"))
                 Name (_UID, 0x68)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C0EB (^^C003.C078))
                 }

                 Method (_DIS, 0, NotSerialized)
                 {
                     Store (C0EC (^^C003.C078), ^^C003.C078)
                 }

                 Method (_SRS, 1, NotSerialized)
                 {
                     Store (C0ED (Arg0), ^^C003.C078)
                 }

                 Method (_CRS, 0, NotSerialized)
                 {
                     Return (C0E7 (^^C003.C078))
                 }
             }

             Device (C0F0)
             {
                 Name (_HID, EisaId ("PNP0C0F"))
                 Name (_UID, 0x69)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C0EB (^^C003.C079))
                 }

                 Method (_DIS, 0, NotSerialized)
                 {
                     Store (C0EC (^^C003.C079), ^^C003.C079)
                 }

                 Method (_SRS, 1, NotSerialized)
                 {
                     Store (C0ED (Arg0), ^^C003.C079)
                 }

                 Method (_CRS, 0, NotSerialized)
                 {
                     Return (C0E7 (^^C003.C079))
                 }
             }

             Device (C0F1)
             {
                 Name (_HID, EisaId ("PNP0C0F"))
                 Name (_UID, 0x6A)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C0EB (^^C003.C07A))
                 }

                 Method (_DIS, 0, NotSerialized)
                 {
                     Store (C0EC (^^C003.C07A), ^^C003.C07A)
                 }

                 Method (_SRS, 1, NotSerialized)
                 {
                     Store (C0ED (Arg0), ^^C003.C07A)
                 }

                 Method (_CRS, 0, NotSerialized)
                 {
                     Return (C0E7 (^^C003.C07A))
                 }
             }

             Device (C0F2)
             {
                 Name (_HID, EisaId ("PNP0C0F"))
                 Name (_UID, 0x6B)
                 Method (_STA, 0, NotSerialized)
                 {
                     Return (C0EB (^^C003.C07B))
                 }

                 Method (_DIS, 0, NotSerialized)
                 {
                     Store (C0EC (^^C003.C07B), ^^C003.C07B)
                 }

                 Method (_SRS, 1, NotSerialized)
                 {
                     Store (C0ED (Arg0), ^^C003.C07B)
                 }

                 Method (_CRS, 0, NotSerialized)
                 {
                     Return (C0E7 (^^C003.C07B))
                 }
             }

             Method (C0F3, 1, NotSerialized)
             {
                 While (^C003.C090)
                 {
                     Stall (0x01)
                 }

                 Store (0xF3, ^C003.C089)
                 Stall (0x32)
                 While (^C003.C090)
                 {
                     Stall (0x01)
                 }
             }

             Mutex (C0F4, 0x00)
             Name (C0F5, 0x00)
             Name (C0F6, 0x00)
             Method (C0F7, 0, NotSerialized)
             {
                 Acquire (C0F4, 0xFFFF)
                 If (LEqual (C0F6, 0x00))
                 {
                     Store (0x00, ^C003.C08D)
                     Store (0x00, ^C003.C08E)
                 }

                 Increment (C0F6)
                 Release (C0F4)
             }

             Method (C0F8, 0, NotSerialized)
             {
                 Acquire (C0F4, 0xFFFF)
                 Decrement (C0F6)
                 If (LEqual (C0F6, 0x00))
                 {
                     Store (0x01, ^C003.C08E)
                     Store (0x01, ^C003.C08D)
                 }

                 Release (C0F4)
             }

             Scope (C057)
             {
                 Device (C0F9)
                 {
                     Name (_ADR, 0x00)
                     Name (C0FA, 0x00)
                     OperationRegion (C0FB, PCI_Config, 0x2C, 0x04)
                     Field (C0FB, DWordAcc, NoLock, Preserve)
                     {
                         C0FC,   32
                     }

                     OperationRegion (C0FD, PCI_Config, 0x4C, 0x04)
                     Field (C0FD, DWordAcc, NoLock, Preserve)
                     {
                         C0FE,   32
                     }

                     Method (_REG, 2, NotSerialized)
                     {
                         If (LAnd (LEqual (Arg0, 0x02), LEqual (Arg1, 0x01)=
))
                         {
                             Store (C0FC, Local0)
                             If (LEqual (C0FA, 0x00))
                             {
                                 Store (Local0, C0FA)
                             }
                             Else
                             {
                                 If (LNot (LEqual (Local0, C0FA)))
                                 {
                                     Store (C0FA, C0FE)
                                 }
                             }
                         }
                     }

                     Name (_S3D, 0x03)
                     Name (_S4D, 0x03)
                     Method (C0FF, 1, Serialized)
                     {
                         Store (0x00, Local0)
                         If (And (C100 (0x00), Arg0))
                         {
                             Store (0x01, Local0)
                             If (And (C04B, Arg0))
                             {
                                 Store (0x1D, Local0)
                                 If (And (C04A, Arg0))
                                 {
                                     Store (0x1F, Local0)
                                 }
                             }
                         }

                         Return (Local0)
                     }

                     Method (C101, 1, Serialized)
                     {
                         Store (0x00, Local0)
                         If (And (C04C, Arg0))
                         {
                             Store (0x01, Local0)
                         }

                         Return (Local0)
                     }

                     Method (C102, 2, Serialized)
                     {
                         Store (C04D, Local0)
                         If (And (Arg1, 0x01))
                         {
                             Or (Local0, Arg0, Local0)
                         }
                         Else
                         {
                             And (Local0, Not (Arg0), Local0)
                         }

                         Store (Local0, C04D)
                         If (And (Arg1, 0x40000000))
                         {
                             Store (Local0, C04A)
                         }

                         If (LEqual (And (Arg1, 0xC0000000), 0x80000000))
                         {
                             \_SB.C103 (0xEA74, 0x01, 0x00, 0x00, 0x00)
                         }
                     }

                     Method (_DOS, 1, NotSerialized)
                     {
                         And (C049, 0xF8, Local0)
                         And (C049, 0x83, Local1)
                         Or (Local0, Arg0, C049)
                         If (CondRefOf (^C104, Local2))
                         {
                             ^C104 (Arg0, Local1)
                         }
                     }

                     Device (C105)
                     {
                         Name (_ADR, 0x0100)
                         Method (_DCS, 0, NotSerialized)
                         {
                             Return (C0FF (0x02))
                         }

                         Method (_DGS, 0, NotSerialized)
                         {
                             Return (C101 (0x02))
                         }

                         Method (_DSS, 1, NotSerialized)
                         {
                             C102 (0x02, Arg0)
                         }
                     }

                     Device (C106)
                     {
                         Name (_ADR, 0x0110)
                         Method (_DCS, 0, NotSerialized)
                         {
                             Return (C0FF (0x01))
                         }

                         Method (_DGS, 0, NotSerialized)
                         {
                             Return (C101 (0x01))
                         }

                         Method (_DSS, 1, NotSerialized)
                         {
                             C102 (0x01, Arg0)
                         }
                     }

                     Device (C107)
                     {
                         Name (_ADR, 0x0200)
                         Method (_DCS, 0, NotSerialized)
                         {
                             Return (C0FF (0x04))
                         }

                         Method (_DGS, 0, NotSerialized)
                         {
                             Return (C101 (0x04))
                         }

                         Method (_DSS, 1, NotSerialized)
                         {
                             C102 (0x04, Arg0)
                         }
                     }

                     Device (C108)
                     {
                         Name (_ADR, 0x0210)
                         Method (_DCS, 0, NotSerialized)
                         {
                             Return (C0FF (0x08))
                         }

                         Method (_DGS, 0, NotSerialized)
                         {
                             Return (C101 (0x08))
                         }

                         Method (_DSS, 1, NotSerialized)
                         {
                             C102 (0x08, Arg0)
                         }
                     }

                     Name (C109, 0xFFFFFFFD)
                     Method (C100, 1, Serialized)
                     {
                         If (LAnd (Arg0, LEqual (C109, 0xFFFFFFFD)))
                         {
                             Store (0x07, Local0)
                             If (LEqual (And (\_SB.C002.C003.C00A, 0x80), 0=
x00))
                             {
                                 Or (Local0, 0x08, Local0)
                             }

                             Store (Local0, C109)
                         }

                         Return (C109)
                     }

                     Method (_DOD, 0, NotSerialized)
                     {
                         Return (Package (0x04)
                         {
                             0x00010100,
                             0x00010110,
                             0x00010200,
                             0x00010210
                         })
                     }

                     Method (C104, 2, NotSerialized)
                     {
                         If (LNot (LEqual (Arg0, Arg1)))
                         {
                             Store (\_SB.C002.C003.C091, Local0)
                             If (Arg0)
                             {
                                 And (Local0, 0xFFFFDFFF, Local0)
                             }
                             Else
                             {
                                 Or (Local0, 0x2000, Local0)
                             }

                             Store (Local0, \_SB.C002.C003.C091)
                         }
                     }
                 }
             }

             Method (\C0F3, 1, NotSerialized)
             {
                 \_SB.C002.C0F3 (Arg0)
             }

             Method (\C0F7, 0, NotSerialized)
             {
                 \_SB.C002.C0F7 ()
             }

             Method (\C0F8, 0, NotSerialized)
             {
                 \_SB.C002.C0F8 ()
             }

             Scope (C003)
             {
                 Method (C10A, 5, Serialized)
                 {
                     If (LEqual (Arg1, 0x00))
                     {
                         ^C0A7 (Arg0, Arg2)
                     }
                     Else
                     {
                         ^C0A8 (Arg0, Arg1, Arg2)
                     }
                 }

                 Method (C10B, 1, Serialized)
                 {
                     Store (0x00, Local0)
                     If (LOr (C094, Arg0))
                     {
                         Store (0x01, C096)
                         Store (0x01, C095)
                         Store (0x01, C094)
                         Store (0x04, C097)
                         Store (0x00, C093)
                         Store (0x00, C096)
                         Store (0x01, Local0)
                     }

                     Return (Local0)
                 }
             }

             Method (\_SB.C10C, 5, Serialized)
             {
                 ^C002.C003.C10A (Arg0, Arg1, Arg2, Arg3, Arg4)
             }

             Method (\_SB.C10D, 0, NotSerialized)
             {
                 Store (\_SB.C002.C003.C00A, Local0)
                 Store (0x01, Local1)
                 If (And (Local0, 0x1000))
                 {
                     Store (0x07, Local1)
                 }

                 Return (Local1)
             }

             Scope (C003)
             {
                 Device (C004)
                 {
                     Name (_HID, EisaId ("PNP0C09"))
                     Name (_GPE, 0x10)
                     Method (_STA, 0, NotSerialized)
                     {
                         Return (0x0F)
                     }

                     Name (_CRS, ResourceTemplate ()
                     {
                         IO (Decode16, 0x0062, 0x0062, 0x01, 0x01)
                         IO (Decode16, 0x0066, 0x0066, 0x01, 0x01)
                     })
                     Mutex (C10E, 0x00)
                     Name (C10F, 0x00)
                     Name (C110, 0x00)
                     Method (C111, 0, Serialized)
                     {
                         C112 (0x07, 0xFF)
                         Store (C113 (), Local0)
                         C114 ()
                         C115 (Local0, 0x81)
                         C116 ()
                     }

                     Method (_REG, 2, NotSerialized)
                     {
                         If (LEqual (Arg0, 0x03))
                         {
                             Store (Arg1, C110)
                             Store (LOr (LEqual (\C01A (), 0x01), LEqual (\=
C01A (), 0x02)), Local1)
                             If (LAnd (Arg1, LNot (Local1)))
                             {
                                 C111 ()
                             }
                         }
                     }

                     OperationRegion (C117, EmbeddedControl, 0x00, 0xFF)
                     Field (C117, ByteAcc, NoLock, Preserve)
                     {
                         Offset (0x80),
                         Offset (0x81),
                             ,   4,
                         C118,   4,
                             ,   1,
                             ,   1,
                         C119,   1,
                             ,   1,
                             ,   1,
                             ,   1,
                             ,   1,
                         C11A,   1,
                         C11B,   1,
                             ,   1,
                             ,   1,
                             ,   1,
                             ,   1,
                         C11C,   1,
                         C11D,   1,
                         C11E,   1,
                         C11F,   1,
                             ,   1,
                             ,   1,
                         C120,   1,
                         C121,   4,
                         C122,   1,
                         Offset (0x86),
                         C123,   4,
                         Offset (0x87),
                         C124,   8,
                         C125,   8,
                         C126,   16,
                         Offset (0x8D),
                         C127,   16,
                         Offset (0x91),
                         C128,   1,
                         Offset (0x92),
                         C129,   16,
                         Offset (0x95),
                         C12A,   16,
                         C12B,   16,
                         C12C,   4,
                         Offset (0x9D),
                         C12D,   16,
                         C12E,   16,
                         C12F,   16,
                         C130,   16,
                         C131,   16,
                         C132,   16,
                         C133,   16,
                         C134,   16,
                         C135,   16,
                         Offset (0xB1),
                         C136,   16,
                         Offset (0xB5),
                         C137,   8,
                         Offset (0xB7),
                         C138,   16,
                         C139,   8,
                         Offset (0xBD),
                         C13A,   8,
                         Offset (0xC1),
                         C13B,   64,
                         C13C,   16,
                         C13D,   16,
                         C13E,   8,
                         Offset (0xD1),
                         C13F,   32,
                         C140,   8,
                         C141,   8,
                         C142,   8,
                         C143,   8,
                         C144,   8,
                         C145,   8,
                         C146,   8,
                         C147,   8,
                         C148,   4,
                         C149,   4,
                         C14A,   16,
                         C14B,   16,
                         Offset (0xE3),
                         C14C,   4,
                         Offset (0xE4),
                         Offset (0xE5),
                         C14D,   1,
                         C14E,   1
                     }

                     Method (_INI, 0, NotSerialized)
                     {
                         If (LOr (LEqual (\C01A (), 0x01), LEqual (\C01A ()=
, 0x02)))
                         {
                             C111 ()
                         }
                     }

                     OperationRegion (C14F, SystemIO, 0x0500, 0x02)
                     Field (C14F, ByteAcc, NoLock, Preserve)
                     {
                         C150,   8,
                         C151,   8
                     }

                     IndexField (C150, C151, ByteAcc, NoLock, Preserve)
                     {
                         Offset (0x92),
                         C152,   8,
                         Offset (0x9D),
                         C153,   8
                     }

                     Method (C154, 1, Serialized)
                     {
                         Multiply (Arg0, 0x40, Local1)
                         Divide (Local1, 0x64, Local2, Local0)
                         Subtract (0x40, Local0, Local0)
                         And (C152, 0x80, Local1)
                         If (LEqual (Local0, 0x40))
                         {
                             Or (Local1, 0x01, Local1)
                         }
                         Else
                         {
                             ShiftLeft (Local0, 0x01, Local0)
                             Or (Local0, Local1, Local1)
                         }

                         Store (Local1, C152)
                     }

                     Method (C155, 0, Serialized)
                     {
                         And (C152, 0x7F, Local0)
                         If (And (Local0, 0x01))
                         {
                             Store (0x00, Local1)
                         }
                         Else
                         {
                             ShiftRight (Local0, 0x01, Local0)
                             Subtract (0x40, Local0, Local0)
                             Multiply (Local0, 0x64, Local0)
                             Divide (Add (Local0, 0x20), 0x40, Local2, Loca=
l1)
                             Increment (Local1)
                         }

                         Return (Local1)
                     }

                     Name (C156, 0xFF)
                     Name (C157, 0xFF)
                     Name (C158, 0x07)
                     Name (C159, 0x01)
                     Name (C15A, 0x00)
                     Name (C15B, 0x01)
                     Name (C15C, 0x00)
                     Name (C15D, 0x05)
                     Name (C15E, 0x01)
                     Mutex (C15F, 0x00)
                     Name (C160, Package (0x08)
                     {
                         "Unknown",
                         "NiMH",
                         "LiIon"
                     })
                     Method (C005, 0, Serialized)
                     {
                         Acquire (C15F, 0xFFFF)
                         If (And (C158, 0x01))
                         {
                             And (C158, 0x06, C158)
                             Release (C15F)
                             Store (0x01, Local0)
                             Acquire (C10E, 0xFFFF)
                             If (C110)
                             {
                                 Store (C11F, Local0)
                             }

                             Release (C10E)
                             Store (Local0, C159)
                         }
                         Else
                         {
                             Release (C15F)
                             Store (C159, Local0)
                         }

                         Return (Local0)
                     }

                     Method (C113, 0, Serialized)
                     {
                         Acquire (C15F, 0xFFFF)
                         If (And (C158, 0x02))
                         {
                             And (C158, 0x05, C158)
                             Release (C15F)
                             Acquire (C10E, 0xFFFF)
                             If (C110)
                             {
                                 Store (C121, C15A)
                             }

                             Release (C10E)
                         }
                         Else
                         {
                             Release (C15F)
                         }

                         Return (C15A)
                     }

                     Method (C112, 2, Serialized)
                     {
                         Store (0x00, Local0)
                         Acquire (C15F, 0xFFFF)
                         Or (Arg0, C158, Local1)
                         And (Local1, 0x07, C158)
                         If (And (C158, 0x02))
                         {
                             Or (C156, Arg1, C156)
                         }

                         If (And (C158, 0x04))
                         {
                             If (LNot (LEqual (C157, 0xFF)))
                             {
                                 Store (0x01, Local0)
                             }

                             Or (C157, Arg1, C157)
                         }

                         Release (C15F)
                         Return (Local0)
                     }

                     Method (C161, 1, Serialized)
                     {
                         If (LEqual (Arg0, 0x01))
                         {
                             Store (0x01, C15B)
                         }
                         Else
                         {
                             If (LEqual (Arg0, 0x00))
                             {
                                 Store (0x00, C15B)
                             }
                         }

                         Return (C15B)
                     }

                     Method (C162, 1, Serialized)
                     {
                         C161 (0x01)
                         Store (C113 (), Local0)
                         Store (0x0F, Local1)
                         If (And (Local0, Arg0))
                         {
                             Store (0x1F, Local1)
                         }

                         Return (Local1)
                     }

                     Method (C163, 2, Serialized)
                     {
                         ToBCD (Arg0, Local0)
                         Store (\C014 (Local0, 0x05), Local3)
                         Concatenate (Local3, " ", Local4)
                         ShiftRight (Arg1, 0x09, Local0)
                         Add (Local0, 0x07BC, Local1)
                         ToBCD (Local1, Local0)
                         Store (\C014 (Local0, 0x04), Local2)
                         Concatenate (Local4, Local2, Local3)
                         Concatenate (Local3, "/", Local4)
                         ShiftRight (Arg1, 0x05, Local0)
                         And (Local0, 0x0F, Local1)
                         ToBCD (Local1, Local0)
                         Store (\C014 (Local0, 0x02), Local2)
                         Concatenate (Local4, Local2, Local3)
                         Concatenate (Local3, "/", Local4)
                         And (Arg1, 0x1F, Local1)
                         ToBCD (Local1, Local0)
                         Store (\C014 (Local0, 0x02), Local2)
                         Concatenate (Local4, Local2, Local3)
                         Return (Local3)
                     }

                     Method (C164, 1, Serialized)
                     {
                         ShiftLeft (0x01, Arg0, Local7)
                         C161 (0x01)
                         If (LEqual (C162 (Local7), 0x0F))
                         {
                             Return (0xFFFFFFFD)
                         }

                         Acquire (C15F, 0xFFFF)
                         Store (C156, Local0)
                         Release (C15F)
                         If (LEqual (And (Local0, Local7), 0x00))
                         {
                             Return (0x00)
                         }

                         Store (C165, Index (C166, Arg0))
                         Acquire (C10E, 0xFFFF)
                         If (C110)
                         {
                             Store (Arg0, C123)
                             Store (C127, Local0)
                             Store (Local0, Index (DerefOf (Index (C167, Ar=
g0)), 0x01))
                             Store (Local0, Index (DerefOf (Index (C167, Ar=
g0)), 0x02))
                             Store (C12A, Index (DerefOf (Index (C167, Arg0=
)), 0x04))
                             Multiply (Local0, C15D, Local1)
                             Divide (Add (Local1, 0x63), 0x64, Local3, Loca=
l2)
                             Store (Local2, Index (DerefOf (Index (C167, Ar=
g0)), 0x05))
                             Store (0x00, Local2)
                             If (C15E)
                             {
                                 Multiply (Local0, C15E, Local1)
                                 Divide (Add (Local1, 0x63), 0x64, Local3, =
Local2)
                             }

                             Store (Local2, Index (DerefOf (Index (C167, Ar=
g0)), 0x06))
                             Store (C13C, Local0)
                             Store (C13D, Local1)
                         }

                         Release (C10E)
                         Store (C163 (Local0, Local1), Local2)
                         Store (Local2, Index (DerefOf (Index (C167, Arg0))=
, 0x0A))
                         Acquire (C15F, 0xFFFF)
                         And (C156, Not (Local7), C156)
                         Release (C15F)
                         Return (0x00)
                     }

                     Method (C168, 2, Serialized)
                     {
                         ShiftLeft (0x01, Arg0, Local7)
                         C161 (0x01)
                         If (LEqual (C162 (Local7), 0x0F))
                         {
                             Store (Package (0x04)
                                 {
                                     0x00,
                                     0xFFFFFFFF,
                                     0xFFFFFFFF,
                                     0xFFFFFFFF
                                 }, Index (C166, Arg0))
                             Return (0xFFFFFFFD)
                         }

                         Acquire (C15F, 0xFFFF)
                         If (Arg1)
                         {
                             Store (0xFF, C157)
                         }

                         Store (C157, Local0)
                         Release (C15F)
                         If (LEqual (And (Local0, Local7), 0x00))
                         {
                             Return (0x00)
                         }

                         Acquire (C10E, 0xFFFF)
                         If (C110)
                         {
                             Store (Arg0, C123)
                             Store (C12C, Local0)
                             Store (C12D, Local3)
                             Store (C12F, Index (DerefOf (Index (C166, Arg0=
)), 0x02))
                             Store (C131, Index (DerefOf (Index (C166, Arg0=
)), 0x03))
                         }

                         Release (C10E)
                         If (LEqual (C005 (), 0x01))
                         {
                             And (0xFFFFFFFE, Local0, Local0)
                         }
                         Else
                         {
                             And (0xFFFFFFFD, Local0, Local0)
                         }

                         If (And (Local0, 0x01))
                         {
                             Acquire (C15F, 0xFFFF)
                             Store (Local7, C15C)
                             Release (C15F)
                         }

                         Store (Local0, Index (DerefOf (Index (C166, Arg0))=
, 0x00))
                         If (And (Local0, 0x01))
                         {
                             If (LOr (LLess (Local3, 0x0190), LGreater (Loc=
al3, 0x1964)))
                             {
                                 Store (DerefOf (Index (DerefOf (Index (C16=
6, Arg0)), 0x01)), Local5)
                                 If (LOr (LLess (Local5, 0x0190), LGreater =
(Local5, 0x1964)))
                                 {
                                     Store (0x0D7A, Local3)
                                 }
                                 Else
                                 {
                                     Store (Local5, Local3)
                                 }
                             }
                         }

                         Store (Local3, Index (DerefOf (Index (C166, Arg0))=
, 0x01))
                         Acquire (C15F, 0xFFFF)
                         And (C157, Not (Local7), C157)
                         Release (C15F)
                         Return (0x00)
                     }

                     Method (C114, 0, NotSerialized)
                     {
                         If (LEqual (\C01A (), 0x01))
                         {
                             Store (0x10, C15D)
                             Store (0x0C, C15E)
                             Store (C15E, Local0)
                         }
                         Else
                         {
                             Store (0x03, Local0)
                         }

                         If (C110)
                         {
                             Store (C15D, C124)
                             Store (Local0, C125)
                         }
                     }

                     Method (C16A, 1, NotSerialized)
                     {
                         Acquire (C10E, 0xFFFF)
                         If (C110)
                         {
                             If (And (C121, ShiftLeft (0x01, Arg0)))
                             {
                                 Store (Arg0, C123)
                                 Store (Package (0x03)
                                     {
                                         0x00,
                                         0x3E,
                                         Buffer (0x3E) {}
                                     }, Local0)
                                 Store (C126, Index (DerefOf (Index (Local0=
, 0x02)), 0x00))
                                 Store (ShiftRight (C126, 0x08), Index (Der=
efOf (Index (Local0, 0x02)), 0x01))
                                 Store (C127, Index (DerefOf (Index (Local0=
, 0x02)), 0x02))
                                 Store (ShiftRight (C127, 0x08), Index (Der=
efOf (Index (Local0, 0x02)), 0x03))
                                 Store (C12F, Index (DerefOf (Index (Local0=
, 0x02)), 0x04))
                                 Store (ShiftRight (C12F, 0x08), Index (Der=
efOf (Index (Local0, 0x02)), 0x05))
                                 Store (C129, Index (DerefOf (Index (Local0=
, 0x02)), 0x06))
                                 Store (ShiftRight (C129, 0x08), Index (Der=
efOf (Index (Local0, 0x02)), 0x07))
                                 Store (C130, Index (DerefOf (Index (Local0=
, 0x02)), 0x08))
                                 Store (ShiftRight (C130, 0x08), Index (Der=
efOf (Index (Local0, 0x02)), 0x09))
                                 Store (C14B, Local1)
                                 Subtract (Local1, 0x0AAC, Local1)
                                 Divide (Local1, 0x0A, Local2, Local3)
                                 Store (Local3, Index (DerefOf (Index (Loca=
l0, 0x02)), 0x0A))
                                 Store (ShiftRight (Local3, 0x08), Index (D=
erefOf (Index (Local0, 0x02)), 0x0B))
                                 Store (C131, Index (DerefOf (Index (Local0=
, 0x02)), 0x0C))
                                 Store (ShiftRight (C131, 0x08), Index (Der=
efOf (Index (Local0, 0x02)), 0x0D))
                                 Store (C12E, Local1)
                                 If (Local1)
                                 {
                                     If (And (C138, 0x40))
                                     {
                                         Add (Not (Local1), 0x01, Local1)
                                         And (Local1, 0xFFFF)
                                     }
                                 }

                                 Store (Local1, Index (DerefOf (Index (Loca=
l0, 0x02)), 0x0E))
                                 Store (ShiftRight (Local1, 0x08), Index (D=
erefOf (Index (Local0, 0x02)), 0x0F))
                                 Store (C12A, Index (DerefOf (Index (Local0=
, 0x02)), 0x10))
                                 Store (ShiftRight (C12A, 0x08), Index (Der=
efOf (Index (Local0, 0x02)), 0x11))
                                 Store (C138, Index (DerefOf (Index (Local0=
, 0x02)), 0x12))
                                 Store (ShiftRight (C138, 0x08), Index (Der=
efOf (Index (Local0, 0x02)), 0x13))
                                 Store (C12B, Index (DerefOf (Index (Local0=
, 0x02)), 0x14))
                                 Store (ShiftRight (C12B, 0x08), Index (Der=
efOf (Index (Local0, 0x02)), 0x15))
                                 Store (C132, Index (DerefOf (Index (Local0=
, 0x02)), 0x16))
                                 Store (ShiftRight (C132, 0x08), Index (Der=
efOf (Index (Local0, 0x02)), 0x17))
                                 Store (C133, Index (DerefOf (Index (Local0=
, 0x02)), 0x18))
                                 Store (ShiftRight (C133, 0x08), Index (Der=
efOf (Index (Local0, 0x02)), 0x19))
                                 Store (C134, Index (DerefOf (Index (Local0=
, 0x02)), 0x1A))
                                 Store (ShiftRight (C134, 0x08), Index (Der=
efOf (Index (Local0, 0x02)), 0x1B))
                                 CreateField (DerefOf (Index (Local0, 0x02)=
), 0xE0, 0x80, C16B)
                                 Store (C163 (C13C, C13D), C16B)
                                 Store ("HP                ", Local1)
                                 If (LEqual (C13E, 0x53))
                                 {
                                     Store ("SIMPLO", Local1)
                                 }
                                 Else
                                 {
                                     If (LEqual (C13E, 0x4D))
                                     {
                                         Store ("MOTOROLA", Local1)
                                     }
                                 }

                                 CreateField (DerefOf (Index (Local0, 0x02)=
), 0x0160, Multiply (SizeOf (Local1), 0x08), C16C)
                                 Store (Local1, C16C)
                             }
                             Else
                             {
                                 Store (Package (0x02)
                                     {
                                         0x06,
                                         0x00
                                     }, Local0)
                             }
                         }
                         Else
                         {
                             Store (Package (0x02)
                                 {
                                     0x0D,
                                     0x00
                                 }, Local0)
                         }

                         Release (C10E)
                         Return (Local0)
                     }

                     Method (_Q03, 0, NotSerialized)
                     {
                         Acquire (C15F, 0xFFFF)
                         Store (C15C, Local0)
                         Release (C15F)
                         C112 (0x04, Local0)
                         C115 (Local0, 0x80)
                     }

                     Method (_Q04, 0, NotSerialized)
                     {
                         Acquire (C15F, 0xFFFF)
                         Store (C15C, Local0)
                         Release (C15F)
                         Store (C113 (), Local2)
                         If (LEqual (\C01A (), 0x03))
                         {
                             Store (0x81, Local1)
                         }
                         Else
                         {
                             Store (0x80, Local1)
                         }

                         C112 (0x06, Local2)
                         C115 (Local0, Local1)
                     }

                     Method (_Q05, 0, NotSerialized)
                     {
                         Acquire (\_TZ.C16D, 0xFFFF)
                         Store (0x04, \_TZ.C16E)
                         Release (\_TZ.C16D)
                         Notify (\_TZ.TZ3, 0x80)
                     }

                     Method (_Q06, 0, NotSerialized)
                     {
                         C112 (0x05, 0x03)
                         If (C161 (0x02))
                         {
                             Notify (\_SB.C16F, 0x80)
                             If (\_PR.C000.C001)
                             {
                                 Notify (\_PR.C000, 0x81)
                             }

                             Notify (\_PR.C000, 0x80)
                             Notify (\_TZ.TZ1, 0x81)
                             Notify (\_TZ.TZ2, 0x81)
                         }
                     }

                     Method (_Q08, 0, NotSerialized)
                     {
                         C112 (0x06, 0x01)
                         Store (C113 (), Local0)
                         If (LNot (LEqual (Local0, 0x02)))
                         {
                             C112 (0x04, 0x02)
                             If (C161 (0x02))
                             {
                                 Notify (\_SB.C170, 0x80)
                             }
                         }

                         If (C161 (0x02))
                         {
                             Notify (\_SB.C171, 0x81)
                         }
                     }

                     Method (_Q09, 0, NotSerialized)
                     {
                         C112 (0x04, 0x01)
                         If (C161 (0x02))
                         {
                             Notify (\_SB.C171, 0x80)
                         }
                     }

                     Method (_Q18, 0, NotSerialized)
                     {
                         C112 (0x06, 0x02)
                         Store (C113 (), Local0)
                         If (LNot (LEqual (Local0, 0x01)))
                         {
                             C112 (0x04, 0x01)
                             If (C161 (0x02))
                             {
                                 Notify (\_SB.C171, 0x80)
                             }
                         }

                         If (C161 (0x02))
                         {
                             Notify (\_SB.C170, 0x81)
                         }
                     }

                     Method (_Q19, 0, NotSerialized)
                     {
                         C112 (0x04, 0x02)
                         If (C161 (0x02))
                         {
                             Notify (\_SB.C170, 0x80)
                         }
                     }

                     Method (C115, 2, Serialized)
                     {
                         If (And (Arg0, 0x01))
                         {
                             Notify (\_SB.C171, Arg1)
                         }

                         If (And (Arg0, 0x02))
                         {
                             Notify (\_SB.C170, Arg1)
                         }
                     }

                     Method (C116, 0, NotSerialized)
                     {
                         If (\_PR.C000.C001)
                         {
                             Notify (\_PR.C000, 0x81)
                         }
                     }
                 }

                 Device (C172)
                 {
                     Name (_HID, EisaId ("PNP0A06"))
                     OperationRegion (C173, SystemIO, 0x4E, 0x02)
                     Field (C173, ByteAcc, NoLock, Preserve)
                     {
                         C174,   8,
                         C175,   8
                     }

                     IndexField (C174, C175, ByteAcc, NoLock, Preserve)
                     {
                         Offset (0x01),
                             ,   2,
                         C176,   1,
                         C177,   1,
                         Offset (0x02),
                             ,   3,
                         C178,   1,
                             ,   3,
                         C179,   1,
                         Offset (0x04),
                         C17A,   2,
                         Offset (0x23),
                         C17B,   8,
                         C17C,   8,
                         C17D,   8,
                         C17E,   4,
                         Offset (0x27),
                         C17F,   4,
                         Offset (0x28),
                         C180,   4,
                         C181,   4,
                         Offset (0x2B),
                         C182,   8,
                         C183,   4
                     }

                     OperationRegion (C184, SystemIO, 0x0510, 0x10)
                     Field (C184, ByteAcc, NoLock, Preserve)
                     {
                         Offset (0x0C),
                         C185,   8,
                         C186,   5,
                         Offset (0x0E),
                         C187,   8,
                         C188,   8
                     }

                     Mutex (C189, 0x00)
                     Name (C18A, 0x00)
                     Name (C18B, 0x00)
                     Method (C18C, 0, NotSerialized)
                     {
                         Acquire (C189, 0xFFFF)
                         Store (0x55, C174)
                     }

                     Method (C18D, 0, NotSerialized)
                     {
                         Store (0xAA, C174)
                         Release (C189)
                     }

                     Method (C18E, 1, NotSerialized)
                     {
                         C18C ()
                         Store (0x00, Local0)
                         If (LEqual (Arg0, 0x01))
                         {
                             Store (C17B, Local0)
                         }
                         Else
                         {
                             If (LEqual (Arg0, 0x02))
                             {
                                 Store (C17C, Local0)
                             }
                             Else
                             {
                                 If (LEqual (Arg0, 0x03))
                                 {
                                     Store (C17D, Local0)
                                 }
                             }
                         }

                         Store (0x00, Local1)
                         If (And (Local0, 0xC0))
                         {
                             ShiftLeft (Local0, 0x02, Local1)
                         }

                         C18D ()
                         Return (Local1)
                     }

                     Method (C18F, 1, NotSerialized)
                     {
                         Name (C190, Package (0x04)
                         {
                             0x00,
                             0x00,
                             0x00,
                             0x00
                         })
                         C18C ()
                         Store (0x00, Local0)
                         Store (0x00, Local1)
                         Store (0x00, Local2)
                         Store (0x00, Local3)
                         If (LEqual (Arg0, 0x01))
                         {
                             Store (C17B, Local0)
                             Store (C17F, Local2)
                             Store (C17E, Local3)
                         }
                         Else
                         {
                             If (LEqual (Arg0, 0x02))
                             {
                                 Store (C17C, Local0)
                                 Store (C181, Local2)
                             }
                             Else
                             {
                                 If (LEqual (Arg0, 0x03))
                                 {
                                     Store (C17D, Local0)
                                     Store (C182, Local1)
                                     Store (C180, Local2)
                                     Store (C183, Local3)
                                 }
                             }
                         }

                         ShiftLeft (Local0, 0x02, Index (C190, 0x00))
                         ShiftLeft (Local1, 0x03, Index (C190, 0x01))
                         Store (0x00, Local4)
                         If (LGreater (Local2, 0x00))
                         {
                             ShiftLeft (0x01, Local2, Local4)
                         }

                         Store (Local4, Index (C190, 0x02))
                         Store (0x00, Local4)
                         If (LAnd (LGreater (Local3, 0x00), LLess (Local3, =
0x04)))
                         {
                             ShiftLeft (0x01, Local3, Local4)
                         }

                         Store (Local4, Index (C190, 0x03))
                         C18D ()
                         Return (C190)
                     }

                     Method (C191, 5, NotSerialized)
                     {
                         C18C ()
                         ShiftRight (Arg1, 0x02, Local0)
                         FindSetRightBit (Arg3, Local1)
                         If (LAnd (LGreater (Local1, 0x01), LLess (Local1, =
0x11)))
                         {
                             Decrement (Local1)
                         }
                         Else
                         {
                             Store (0x00, Local1)
                         }

                         FindSetRightBit (Arg4, Local2)
                         If (LAnd (LGreater (Local2, 0x01), LLess (Local2, =
0x05)))
                         {
                             Decrement (Local2)
                         }
                         Else
                         {
                             Store (0x0F, Local2)
                         }

                         If (LEqual (Arg0, 0x01))
                         {
                             Store (Local0, C17B)
                             Store (Local1, C17F)
                             Store (Local2, C17E)
                         }
                         Else
                         {
                             If (LEqual (Arg0, 0x02))
                             {
                                 And (Local0, 0xFE, C17C)
                                 Store (Local1, C181)
                             }
                             Else
                             {
                                 If (LEqual (Arg0, 0x03))
                                 {
                                     And (Local0, 0xFE, C17D)
                                     ShiftRight (Arg2, 0x03, C182)
                                     Store (Local1, C180)
                                     Store (Local2, C183)
                                 }
                             }
                         }

                         C18D ()
                     }

                     Method (C192, 0, NotSerialized)
                     {
                         C18C ()
                         Store (C177, Local0)
                         Store (C17A, Local1)
                         C18D ()
                         If (Local0)
                         {
                             Store (0x00, Local2)
                         }
                         Else
                         {
                             Store (0x03, Local2)
                             If (LEqual (Local1, 0x00))
                             {
                                 Store (0x01, Local2)
                             }

                             If (LEqual (Local1, 0x01))
                             {
                                 Store (0x02, Local2)
                             }
                         }

                         Return (Local2)
                     }

                     Method (C193, 1, Serialized)
                     {
                         C18C ()
                         If (LEqual (Arg0, 0x01))
                         {
                             Store (C176, Local0)
                         }
                         Else
                         {
                             If (LEqual (Arg0, 0x02))
                             {
                                 Store (C178, Local0)
                             }
                             Else
                             {
                                 If (LEqual (Arg0, 0x03))
                                 {
                                     Store (C179, Local0)
                                 }
                             }
                         }

                         C18D ()
                         Return (Local0)
                     }

                     Method (C194, 2, Serialized)
                     {
                         C18C ()
                         If (LEqual (Arg0, 0x01))
                         {
                             Store (Arg1, C176)
                         }
                         Else
                         {
                             If (LEqual (Arg0, 0x02))
                             {
                                 Store (Arg1, C178)
                             }
                             Else
                             {
                                 If (LEqual (Arg0, 0x03))
                                 {
                                     Store (Arg1, C179)
                                 }
                             }
                         }

                         C18D ()
                     }

                     Method (C195, 2, Serialized)
                     {
                         And (C03E, 0x10, Local0)
                         And (Not (C03E), Arg1, Local1)
                         If (LOr (Local0, Local1))
                         {
                             Store (0x00, Local0)
                         }
                         Else
                         {
                             Store (C18E (Arg0), Local1)
                             Store (0x0D, Local0)
                             If (Local1)
                             {
                                 Store (0x0F, Local0)
                             }
                         }

                         Return (Local0)
                     }

                     Method (C196, 1, Serialized)
                     {
                         If (C18E (Arg0))
                         {
                             Store (C18F (Arg0), Local0)
                             Store (DerefOf (Index (Local0, 0x01)), Local1)
                             Store (DerefOf (Index (Local0, 0x02)), Local2)
                             Store (DerefOf (Index (Local0, 0x03)), Local3)
                             \_SB.C10C (Arg0, 0x00, Local1, Local2, Local3)
                             C191 (Arg0, 0x00, 0x00, 0x00, 0x00)
                         }
                     }

                     Method (C197, 0, NotSerialized)
                     {
                         Store (^^C198, Local3)
                         If (\_SB.C199 ())
                         {
                             If (C18E (0x02))
                             {
                                 Name (C19A, ResourceTemplate ()
                                 {
                                     IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x=
08)
                                 })
                                 CreateWordField (C19A, 0x02, C19C)
                                 CreateWordField (C19A, 0x04, C19D)
                                 Store (C18F (0x02), Local1)
                                 Store (DerefOf (Index (Local1, 0x00)), C19=
C)
                                 Store (C19C, C19D)
                                 Store (\C01C (Local3, C19A), Local0)
                                 Store (Local0, Local3)
                             }
                         }

                         Return (Local3)
                     }

                     Device (C19E)
                     {
                         Name (_HID, EisaId ("PNP0501"))
                         Name (_CID, 0x0005D041)
                         Name (_DDN, "COM1")
                         Name (C19F, 0x00)
                         Name (C1A0, ResourceTemplate ()
                         {
                             StartDependentFnNoPri ()
                             {
                                 IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
                                 IRQNoFlags () {4}
                             }
                             StartDependentFnNoPri ()
                             {
                                 IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
                                 IRQNoFlags () {3}
                             }
                             StartDependentFnNoPri ()
                             {
                                 IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
                                 IRQNoFlags () {4}
                             }
                             StartDependentFnNoPri ()
                             {
                                 IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
                                 IRQNoFlags () {3}
                             }
                             EndDependentFn ()
                         })
                         Method (_PRS, 0, NotSerialized)
                         {
                             Return (C1A0)
                         }

                         Method (_STA, 0, NotSerialized)
                         {
                             If (C19F)
                             {
                                 Store (0x0D, Local0)
                             }
                             Else
                             {
                                 Store (C195 (0x02, 0x02), Local0)
                             }

                             Return (Local0)
                         }

                         Method (_DIS, 0, NotSerialized)
                         {
                             If (LOr (\_SB.C03D, LEqual (0x00, 0x01)))
                             {
                                 Store (0x01, C19F)
                                 Return (0x00)
                             }

                             C196 (0x02)
                             Return (0x00)
                         }

                         Method (_SRS, 1, NotSerialized)
                         {
                             CreateWordField (Arg0, 0x02, C19C)
                             CreateWordField (Arg0, 0x09, C1A1)
                             If (C195 (0x02, 0x02))
                             {
                                 _DIS ()
                                 \_SB.C10C (0x02, C19C, 0x00, C1A1, 0x00)
                                 C191 (0x02, C19C, 0x00, C1A1, 0x00)
                             }

                             Store (0x00, C19F)
                         }

                         Method (_CRS, 0, NotSerialized)
                         {
                             Name (C01E, ResourceTemplate ()
                             {
                                 IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
                                 IRQNoFlags () {4}
                             })
                             CreateWordField (C01E, 0x02, C19C)
                             CreateWordField (C01E, 0x04, C19D)
                             CreateWordField (C01E, 0x09, C1A1)
                             If (C19F)
                             {
                                 Store (0x00, Local0)
                             }
                             Else
                             {
                                 Store (C195 (0x02, 0x02), Local0)
                             }

                             If (LEqual (Local0, 0x00))
                             {
                                 Store (0x00, C19C)
                                 Store (0x00, C19D)
                                 Store (0x00, C1A1)
                                 Return (C01E)
                             }

                             Store (C18F (0x02), Local1)
                             Store (DerefOf (Index (Local1, 0x00)), C19C)
                             Store (C19C, C19D)
                             Store (DerefOf (Index (Local1, 0x02)), C1A1)
                             Return (C01E)
                         }

                         PowerResource (C1A2, 0x00, 0x0000)
                         {
                             Method (_STA, 0, NotSerialized)
                             {
                                 Return (C193 (0x02))
                             }

                             Method (_ON, 0, NotSerialized)
                             {
                                 C194 (0x02, 0x01)
                             }

                             Method (_OFF, 0, NotSerialized)
                             {
                             }
                         }

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

                     Device (C1A3)
                     {
                         Name (_HID, EisaId ("SMCF010"))
                         Name (_CID, 0x1105D041)
                         Name (C1A0, ResourceTemplate ()
                         {
                             StartDependentFnNoPri ()
                             {
                                 IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
                                 IO (Decode16, 0x0100, 0x0130, 0x10, 0x10)
                                 IRQNoFlags () {3,4,5,7}
                                 DMA (Compatibility, NotBusMaster, Transfer=
8) {1,3}
                             }
                             StartDependentFnNoPri ()
                             {
                                 IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
                                 IO (Decode16, 0x0100, 0x0130, 0x10, 0x10)
                                 IRQNoFlags () {3,4,5,7}
                                 DMA (Compatibility, NotBusMaster, Transfer=
8) {1,3}
                             }
                             StartDependentFnNoPri ()
                             {
                                 IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
                                 IO (Decode16, 0x0100, 0x0130, 0x10, 0x10)
                                 IRQNoFlags () {3,4,5,7}
                                 DMA (Compatibility, NotBusMaster, Transfer=
8) {1,3}
                             }
                             StartDependentFnNoPri ()
                             {
                                 IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
                                 IO (Decode16, 0x0100, 0x0130, 0x10, 0x10)
                                 IRQNoFlags () {3,4,5,7}
                                 DMA (Compatibility, NotBusMaster, Transfer=
8) {1,3}
                             }
                             EndDependentFn ()
                         })
                         Method (_PRS, 0, NotSerialized)
                         {
                             Return (C1A0)
                         }

                         Method (_STA, 0, NotSerialized)
                         {
                             Return (C195 (0x03, 0x01))
                         }

                         Method (_DIS, 0, NotSerialized)
                         {
                             C196 (0x03)
                         }

                         Method (_SRS, 1, NotSerialized)
                         {
                             CreateWordField (Arg0, 0x02, C19C)
                             CreateWordField (Arg0, 0x0A, C1A4)
                             CreateWordField (Arg0, 0x11, C1A1)
                             CreateWordField (Arg0, 0x14, C1A5)
                             If (C195 (0x03, 0x01))
                             {
                                 ^_DIS ()
                                 \_SB.C10C (0x03, C19C, C1A4, C1A1, C1A5)
                                 ^^C191 (0x03, C19C, C1A4, C1A1, C1A5)
                             }
                         }

                         Method (_CRS, 0, NotSerialized)
                         {
                             Name (C01E, ResourceTemplate ()
                             {
                                 IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
                                 IO (Decode16, 0x0100, 0x0100, 0x10, 0x10)
                                 IRQNoFlags () {3}
                                 DMA (Compatibility, NotBusMaster, Transfer=
8) {1}
                             })
                             CreateWordField (C01E, 0x02, C19C)
                             CreateWordField (C01E, 0x04, C19D)
                             CreateWordField (C01E, 0x0A, C1A4)
                             CreateWordField (C01E, 0x0C, C1A9)
                             CreateWordField (C01E, 0x11, C1A1)
                             CreateWordField (C01E, 0x14, C1A5)
                             If (LEqual (C195 (0x03, 0x01), 0x00))
                             {
                                 Store (0x00, C19C)
                                 Store (0x00, C19D)
                                 Store (0x00, C1A4)
                                 Store (0x00, C1A9)
                                 Store (0x00, C1A1)
                                 Store (0x00, C1A5)
                                 Return (C01E)
                             }

                             Store (C18F (0x03), Local1)
                             Store (DerefOf (Index (Local1, 0x00)), C19C)
                             Store (C19C, C19D)
                             Store (DerefOf (Index (Local1, 0x01)), C1A4)
                             Store (C1A4, C1A9)
                             Store (DerefOf (Index (Local1, 0x02)), C1A1)
                             Store (DerefOf (Index (Local1, 0x03)), C1A5)
                             Return (C01E)
                         }

                         PowerResource (C1AA, 0x00, 0x0000)
                         {
                             Method (_STA, 0, NotSerialized)
                             {
                                 Return (C193 (0x03))
                             }

                             Method (_ON, 0, NotSerialized)
                             {
                                 C194 (0x03, 0x01)
                             }

                             Method (_OFF, 0, NotSerialized)
                             {
                                 C194 (0x03, 0x00)
                             }
                         }

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

                     Device (C1AB)
                     {
                         Method (_HID, 0, Serialized)
                         {
                             If (C1AC ())
                             {
                                 Store (0x0104D041, Local0)
                             }
                             Else
                             {
                                 Store (0x0004D041, Local0)
                             }

                             Return (Local0)
                         }

                         Name (C1AD, 0xFF)
                         Method (C1AC, 0, Serialized)
                         {
                             If (LEqual (C1AD, 0xFF))
                             {
                                 Store (C192 (), Local0)
                                 Store (0x00, C1AD)
                                 If (LGreater (Local0, 0x01))
                                 {
                                     Store (0x01, C1AD)
                                 }
                             }

                             Return (C1AD)
                         }

                         Name (C1AE, 0x00)
                         Name (C1A0, ResourceTemplate ()
                         {
                             StartDependentFn (0x00, 0x00)
                             {
                                 IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
                                 IO (Decode16, 0x0778, 0x0778, 0x01, 0x03)
                                 IRQNoFlags () {5,7}
                                 DMA (Compatibility, NotBusMaster, Transfer=
8) {1,3}
                             }
                             StartDependentFn (0x00, 0x00)
                             {
                                 IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
                                 IO (Decode16, 0x0678, 0x0678, 0x01, 0x03)
                                 IRQNoFlags () {5,7}
                                 DMA (Compatibility, NotBusMaster, Transfer=
8) {1,3}
                             }
                             StartDependentFnNoPri ()
                             {
                                 IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
                                 IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x03)
                                 IRQNoFlags () {5,7}
                                 DMA (Compatibility, NotBusMaster, Transfer=
8) {1,3}
                             }
                             StartDependentFnNoPri ()
                             {
                                 IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
                                 IO (Decode16, 0x0778, 0x0778, 0x01, 0x03)
                                 IRQNoFlags () {5,7}
                                 DMA (Compatibility, NotBusMaster, Transfer=
8) {}
                             }
                             StartDependentFnNoPri ()
                             {
                                 IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
                                 IO (Decode16, 0x0678, 0x0678, 0x01, 0x03)
                                 IRQNoFlags () {5,7}
                                 DMA (Compatibility, NotBusMaster, Transfer=
8) {}
                             }
                             StartDependentFnNoPri ()
                             {
                                 IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
                                 IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x03)
                                 IRQNoFlags () {5,7}
                                 DMA (Compatibility, NotBusMaster, Transfer=
8) {}
                             }
                             StartDependentFnNoPri ()
                             {
                                 IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
                                 IO (Decode16, 0x0778, 0x0778, 0x01, 0x03)
                                 IRQNoFlags () {}
                                 DMA (Compatibility, NotBusMaster, Transfer=
8) {}
                             }
                             StartDependentFnNoPri ()
                             {
                                 IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
                                 IO (Decode16, 0x0678, 0x0678, 0x01, 0x03)
                                 IRQNoFlags () {}
                                 DMA (Compatibility, NotBusMaster, Transfer=
8) {}
                             }
                             StartDependentFnNoPri ()
                             {
                                 IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
                                 IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x03)
                                 IRQNoFlags () {}
                                 DMA (Compatibility, NotBusMaster, Transfer=
8) {}
                             }
                             EndDependentFn ()
                         })
                         Method (_PRS, 0, NotSerialized)
                         {
                             Return (C1A0)
                         }

                         Method (_STA, 0, NotSerialized)
                         {
                             If (C1AE)
                             {
                                 Store (0x0D, Local0)
                             }
                             Else
                             {
                                 Store (C195 (0x01, 0x04), Local0)
                             }

                             Return (Local0)
                         }

                         Method (_DIS, 0, NotSerialized)
                         {
                             If (\_SB.C040)
                             {
                                 Store (0x01, C1AE)
                                 Return (0x00)
                             }

                             C196 (0x01)
                             Return (0x00)
                         }

                         Method (_SRS, 1, NotSerialized)
                         {
                             CreateWordField (Arg0, 0x02, C19C)
                             CreateWordField (Arg0, 0x0A, C1A4)
                             CreateWordField (Arg0, 0x11, C1A1)
                             CreateWordField (Arg0, 0x14, C1A5)
                             If (C195 (0x01, 0x04))
                             {
                                 _DIS ()
                                 \_SB.C10C (0x01, C19C, C1A4, C1A1, C1A5)
                                 C191 (0x01, C19C, C1A4, C1A1, C1A5)
                             }

                             Store (0x00, C1AE)
                         }

                         Method (_CRS, 0, NotSerialized)
                         {
                             Name (C01E, ResourceTemplate ()
                             {
                                 IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
                                 IO (Decode16, 0x0778, 0x0778, 0x01, 0x03)
                                 IRQNoFlags () {7}
                                 DMA (Compatibility, NotBusMaster, Transfer=
8) {3}
                             })
                             CreateWordField (C01E, 0x02, C19C)
                             CreateWordField (C01E, 0x04, C19D)
                             CreateByteField (C01E, 0x07, C1AF)
                             CreateWordField (C01E, 0x0A, C1A4)
                             CreateWordField (C01E, 0x0C, C1A9)
                             CreateByteField (C01E, 0x0F, C1B0)
                             CreateWordField (C01E, 0x11, C1A1)
                             CreateWordField (C01E, 0x14, C1A5)
                             If (C1AE)
                             {
                                 Store (0x00, Local0)
                             }
                             Else
                             {
                                 Store (C195 (0x01, 0x04), Local0)
                             }

                             If (LEqual (Local0, 0x00))
                             {
                                 Store (0x00, C19C)
                                 Store (0x00, C19D)
                                 Store (0x00, C1A4)
                                 Store (0x00, C1A9)
                                 Store (0x00, C1A1)
                                 Store (0x00, C1A5)
                                 Return (C01E)
                             }

                             Store (C18F (0x01), Local1)
                             Store (DerefOf (Index (Local1, 0x00)), C19C)
                             Store (C19C, C19D)
                             If (LEqual (C19C, 0x0278))
                             {
                                 Store (0x08, C1AF)
                                 Store (0x03, C1B0)
                             }

                             If (LEqual (C19C, 0x03BC))
                             {
                                 Store (0x04, C1AF)
                                 Store (0x03, C1B0)
                             }

                             Add (C19C, 0x0400, C1A4)
                             Store (C1A4, C1A9)
                             Store (DerefOf (Index (Local1, 0x02)), C1A1)
                             Store (DerefOf (Index (Local1, 0x03)), C1A5)
                             Return (C01E)
                         }

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

                             Method (_ON, 0, NotSerialized)
                             {
                                 C194 (0x01, 0x01)
                             }

                             Method (_OFF, 0, NotSerialized)
                             {
                                 If (LOr (\_SB.C040, LEqual (0x00, 0x01)))
                                 {
                                     Store (0x00, Local0)
                                 }
                                 Else
                                 {
                                     C194 (0x01, 0x00)
                                 }
                             }
                         }

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

                     Method (\_SB.C1B2, 0, NotSerialized)
                     {
                         Store (\_SB.C002.C003.C172.C18E (0x02), Local0)
                         Return (Local0)
                     }

                     Method (\_SB.C199, 0, NotSerialized)
                     {
                         Store (0x01, Local0)
                         If (Not (And (\_SB.C03E, 0x10)))
                         {
                             Store (0x00, Local0)
                         }

                         Return (Local0)
                     }
                 }

                 Device (C1B3)
                 {
                     Name (_HID, EisaId ("IFX0101"))
                     OperationRegion (C1B4, SystemIO, 0x0560, 0x02)
                     Field (C1B4, ByteAcc, NoLock, Preserve)
                     {
                         C1B5,   8,
                         C1B6,   8
                     }

                     IndexField (C1B5, C1B6, ByteAcc, NoLock, Preserve)
                     {
                         Offset (0x20),
                         C1B7,   8,
                         C1B8,   8
                     }

                     Mutex (C1B9, 0x00)
                     Name (_CRS, ResourceTemplate ()
                     {
                         IO (Decode16, 0x0560, 0x0560, 0x01, 0x10)
                         IO (Decode16, 0x0570, 0x0570, 0x01, 0x10)
                     })
                     Method (_STA, 0, NotSerialized)
                     {
                         C18C ()
                         If (LAnd (LEqual (C1B7, 0x06), LEqual (C1B8, 0x00)=
))
                         {
                             Store (0x0F, Local0)
                         }
                         Else
                         {
                             Store (0x00, Local0)
                         }

                         C18D ()
                         Return (Local0)
                     }

                     Method (C18C, 0, NotSerialized)
                     {
                         Acquire (C1B9, 0xFFFF)
                         Store (0x55, C1B5)
                     }

                     Method (C18D, 0, NotSerialized)
                     {
                         Store (0xAA, C1B5)
                         Release (C1B9)
                     }
                 }

                 Device (C1BA)
                 {
                     Name (_HID, EisaId ("PNP0C04"))
                     Name (_CRS, ResourceTemplate ()
                     {
                         IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x10)
                         IRQNoFlags () {13}
                     })
                 }

                 Device (C1BB)
                 {
                     Name (_HID, EisaId ("PNP0100"))
                     Name (_CRS, ResourceTemplate ()
                     {
                         IO (Decode16, 0x0040, 0x0040, 0x01, 0x04)
                         IRQNoFlags () {0}
                     })
                 }

                 Device (C1A5)
                 {
                     Name (_HID, EisaId ("PNP0200"))
                     Name (_CRS, ResourceTemplate ()
                     {
                         IO (Decode16, 0x0000, 0x0000, 0x01, 0x10)
                         IO (Decode16, 0x0080, 0x0080, 0x01, 0x10)
                         IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20)
                         DMA (Compatibility, NotBusMaster, Transfer16) {4}
                     })
                 }

                 Device (C1BC)
                 {
                     Name (_HID, EisaId ("PNP0800"))
                     Name (_CRS, ResourceTemplate ()
                     {
                         IO (Decode16, 0x0061, 0x0061, 0x01, 0x01)
                     })
                 }

                 Device (C1BD)
                 {
                     Name (_HID, EisaId ("PNP0B00"))
                     Name (_CRS, ResourceTemplate ()
                     {
                         IO (Decode16, 0x0070, 0x0070, 0x01, 0x02)
                         IO (Decode16, 0x0072, 0x0072, 0x01, 0x02)
                         IRQNoFlags () {8}
                     })
                 }

                 Device (C1BE)
                 {
                     Name (_HID, EisaId ("PNP0303"))
                     Name (_CRS, ResourceTemplate ()
                     {
                         IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
                         IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
                         IRQNoFlags () {1}
                     })
                 }

                 Device (C1BF)
                 {
                     Name (_CRS, ResourceTemplate ()
                     {
                         IRQNoFlags () {12}
                     })
                     Name (C1C0, 0x01)
                     PowerResource (C1C1, 0x00, 0x0000)
                     {
                         Method (_STA, 0, NotSerialized)
                         {
                             Return (C1C0)
                         }

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

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

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

                 Scope (C1BF)
                 {
                     Name (_HID, EisaId ("SYN010E"))
                     Name (_CID, Package (0x03)
                     {
                         0x00012E4F,
                         0x02002E4F,
                         0x130FD041
                     })
                 }

                 Device (C1C2)
                 {
                     Name (_HID, EisaId ("PNP0000"))
                     Name (_CRS, ResourceTemplate ()
                     {
                         IO (Decode16, 0x0020, 0x0020, 0x01, 0x02)
                         IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02)
                         IRQNoFlags () {2}
                     })
                 }
             }

             Scope (C06C)
             {
                 Device (C1C3)
                 {
                     Name (_ADR, 0x00060000)
                     OperationRegion (C1C4, PCI_Config, 0x44, 0x04)
                     Field (C1C4, AnyAcc, NoLock, Preserve)
                     {
                         C1C5,   32
                     }

                     Method (_INI, 0, NotSerialized)
                     {
                         Store (0x00, C1C5)
                     }
                 }

                 Device (C1C6)
                 {
                     Name (_ADR, 0x00040000)
                 }

                 Device (C1C7)
                 {
                     Name (_ADR, 0x00040001)
                 }

                 Scope (C071)
                 {
                     PowerResource (C1C8, 0x00, 0x0000)
                     {
                         Method (_STA, 0, NotSerialized)
                         {
                             Store (0x01, Local1)
                             If (And (\_SB.C002.C003.C172.C188, 0x01))
                             {
                                 Store (0x00, Local1)
                             }

                             Return (Local1)
                         }

                         Method (_ON, 0, NotSerialized)
                         {
                             And (\_SB.C002.C003.C172.C188, 0xFFFFFFFE, Loc=
al0)
                             Store (Local0, \_SB.C002.C003.C172.C188)
                         }

                         Method (_OFF, 0, NotSerialized)
                         {
                             Or (\_SB.C002.C003.C172.C188, 0x01, Local0)
                             Store (Local0, \_SB.C002.C003.C172.C188)
                         }
                     }

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

             Scope (C006)
             {
                 Name (_PRW, Package (0x02)
                 {
                     0x09,
                     0x05
                 })
                 Device (C007)
                 {
                     Name (_ADR, 0x00)
                     Name (_PRW, Package (0x02)
                     {
                         0x09,
                         0x05
                     })
                     Method (C1C9, 0, NotSerialized)
                     {
                         Store (0x01, \_SB.C002.C006.C0CF)
                         Sleep (0x0A)
                         Store (\_SB.C002.C003.C09B, Local0)
                         And (Local0, 0xF7FFFFFF, \_SB.C002.C003.C09B)
                         \_GPE.C1CA (0x01)
                     }

                     Method (C008, 0, NotSerialized)
                     {
                         Store (CondRefOf (\_GPE._L1A, Local0), Local1)
                         Return (Local1)
                     }
                 }
             }

             Scope (C0DD)
             {
                 Name (_PRW, Package (0x02)
                 {
                     0x09,
                     0x05
                 })
                 Name (_HPP, Package (0x04)
                 {
                     0x10,
                     0x40,
                     0x00,
                     0x00
                 })
                 Device (C1CB)
                 {
                     Name (_ADR, 0x00)
                     Name (_PRW, Package (0x02)
                     {
                         0x09,
                         0x05
                     })
                     Method (_RMV, 0, NotSerialized)
                     {
                         Return (0x01)
                     }

                     Method (_EJD, 0, NotSerialized)
                     {
                         Return ("_SB.C002.C0C5.C0C1.C0C2.C1CC.C1CD")
                     }
                 }

                 Device (C1CE)
                 {
                     Name (_ADR, 0x01)
                 }

                 Device (C1CF)
                 {
                     Name (_ADR, 0x02)
                 }

                 Device (C1D0)
                 {
                     Name (_ADR, 0x03)
                 }

                 Device (C1D1)
                 {
                     Name (_ADR, 0x04)
                 }

                 Device (C1D2)
                 {
                     Name (_ADR, 0x05)
                 }

                 Device (C1D3)
                 {
                     Name (_ADR, 0x06)
                 }

                 Device (C1D4)
                 {
                     Name (_ADR, 0x07)
                 }
             }

             Scope (C0BD)
             {
                 Name (_PRW, Package (0x02)
                 {
                     0x03,
                     0x03
                 })
                 Name (_S3D, 0x03)
                 Name (_S4D, 0x03)
             }

             Scope (C0C4)
             {
                 Name (_PRW, Package (0x02)
                 {
                     0x04,
                     0x03
                 })
                 Name (_S3D, 0x03)
                 Name (_S4D, 0x03)
             }

             Scope (C0C5)
             {
                 Name (_PRW, Package (0x02)
                 {
                     0x0C,
                     0x03
                 })
                 Name (_S3D, 0x03)
                 Name (_S4D, 0x03)
                 Scope (C0C1.C0C2)
                 {
                     Device (C1CC)
                     {
                         Name (_ADR, 0x00)
                         Device (C1D5)
                         {
                             Name (_ADR, 0x00)
                         }

                         Device (C1CD)
                         {
                             Name (_ADR, 0x01)
                             Method (_EJD, 0, NotSerialized)
                             {
                                 Return ("_SB.C002.C0DD.C1CB")
                             }
                         }

                         Device (C1D6)
                         {
                             Name (_ADR, 0x02)
                         }

                         Device (C1D7)
                         {
                             Name (_ADR, 0x03)
                         }
                     }
                 }
             }

             Scope (C0C7)
             {
                 Name (_PRW, Package (0x02)
                 {
                     0x0D,
                     0x03
                 })
                 Name (_S3D, 0x03)
                 Name (_S4D, 0x03)
                 Scope (C0C1.C0CA)
                 {
                     Device (C1CC)
                     {
                         Name (_ADR, 0x00)
                         Device (C1D5)
                         {
                             Name (_ADR, 0x00)
                         }

                         Device (C1CD)
                         {
                             Name (_ADR, 0x01)
                             Method (_EJD, 0, NotSerialized)
                             {
                                 Return ("_SB.C002.C0DD.C1CB")
                             }
                         }

                         Device (C1D6)
                         {
                             Name (_ADR, 0x02)
                         }

                         Device (C1D7)
                         {
                             Name (_ADR, 0x03)
                         }
                     }
                 }
             }

             Scope (C0A9)
             {
                 Name (C1D8, 0x01)
                 Device (C1D9)
                 {
                     Name (_ADR, 0x00)
                     Name (C1DA, Package (0x05)
                     {
                         0x00,
                         0x00,
                         0x00,
                         0x00,
                         0x00
                     })
                     Name (C1DB, Package (0x05)
                     {
                         0x00,
                         0x00,
                         0x00,
                         0x00,
                         0x00
                     })
                     Method (_GTM, 0, NotSerialized)
                     {
                         Store (Buffer (0x14)
                             {
                                 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, =
0xFF,
                                 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, =
0xFF,
                                 0xFF, 0xFF, 0xFF, 0xFF
                             }, Local0)
                         CreateDWordField (Local0, 0x00, C1DC)
                         CreateDWordField (Local0, 0x04, C1DD)
                         CreateDWordField (Local0, 0x08, C1DE)
                         CreateDWordField (Local0, 0x0C, C1DF)
                         CreateDWordField (Local0, 0x10, C1E0)
                         Store (C0B1 (0x00, 0x00), C1DC)
                         Store (C0B4 (0x00), C1E0)
                         If (And (C1E0, 0x01))
                         {
                             Store (C0B3 (0x00, 0x00), C1DD)
                         }
                         Else
                         {
                             Store (C1DC, C1DD)
                         }

                         If (LOr (LEqual (And (\_SB.C10D (), 0x0F), 0x07), =
LEqual (And (C1D8, 0x01), 0x00)))
                         {
                             Store (0x78, C1DE)
                             Store (0x11, C1DF)
                             Or (C1E0, 0x0C, C1E0)
                         }
                         Else
                         {
                             Store (C0B1 (0x00, 0x01), C1DE)
                             If (And (C1E0, 0x04))
                             {
                                 Store (C0B3 (0x00, 0x01), C1DF)
                             }
                             Else
                             {
                                 Store (C1DE, C1DF)
                             }
                         }

                         Return (Local0)
                     }

                     Method (_STM, 3, NotSerialized)
                     {
                         CreateDWordField (Arg0, 0x00, C1DC)
                         CreateDWordField (Arg0, 0x04, C1DD)
                         CreateDWordField (Arg0, 0x08, C1DE)
                         CreateDWordField (Arg0, 0x0C, C1DF)
                         CreateDWordField (Arg0, 0x10, C1E0)
                         If (LEqual (SizeOf (Arg1), 0x0200))
                         {
                             Store (0x00, Local0)
                             Store (Buffer (Multiply (SizeOf (C1E1), 0x02))=
 {}, Local1)
                             While (LLess (Local0, SizeOf (C1E1)))
                             {
                                 Store (DerefOf (Index (C1E1, Local0)), Loc=
al2)
                                 Multiply (Local2, 0x02, Local2)
                                 Multiply (Local0, 0x02, Local3)
                                 Store (DerefOf (Index (Arg1, Local2)), Ind=
ex (Local1, Local3))
                                 Store (DerefOf (Index (Arg1, Add (Local2, =
0x01))), Index (Local1, Add (Local3, 0x01)))
                                 Increment (Local0)
                             }

                             Store (C0B5 (0x00, 0x00, C1DC, C1E0, Local1), =
Local2)
                             Store (C0B9 (0x00, 0x00, C1DD, C1E0, Local1), =
Local3)
                             \_SB.C1E2 (Local2, Local3, Local1, C1DA)
                             If (\_SB.C1E3)
                             {
                                 Store (0x00, \_SB.C1E3)
                                 If (And (DerefOf (Index (Arg1, 0x0100)), 0=
x02))
                                 {
                                     \_SB.C103 (0xEA49, 0x0C, 0x00, 0x00, 0=
x00)
                                 }
                             }
                         }

                         If (LEqual (And (\_SB.C10D (), 0x0F), 0x01))
                         {
                             Or (C1D8, 0x01, C1D8)
                             If (LEqual (SizeOf (Arg2), 0x0200))
                             {
                                 Store (0x00, Local0)
                                 Store (Buffer (Multiply (SizeOf (C1E1), 0x=
02)) {}, Local1)
                                 While (LLess (Local0, SizeOf (C1E1)))
                                 {
                                     Store (DerefOf (Index (C1E1, Local0)),=
 Local2)
                                     Multiply (Local2, 0x02, Local2)
                                     Multiply (Local0, 0x02, Local3)
                                     Store (DerefOf (Index (Arg2, Local2)),=
 Index (Local1, Local3))
                                     Store (DerefOf (Index (Arg2, Add (Loca=
l2, 0x01))), Index (Local1, Add (Local3, 0x01)))
                                     Increment (Local0)
                                 }

                                 Store (C0B5 (0x00, 0x01, C1DE, C1E0, Local=
1), Local2)
                                 Store (C0B9 (0x00, 0x01, C1DF, C1E0, Local=
1), Local3)
                                 \_SB.C1E2 (Local2, Local3, Local1, C1DB)
                                 If (And (DerefOf (Index (Arg2, 0x0100)), 0=
x04))
                                 {
                                     \_SB.C103 (0xEA49, 0x0C, 0x01, 0x00, 0=
x00)
                                 }
                             }
                         }
                     }

                     Device (C1E4)
                     {
                         Name (_ADR, 0x00)
                         Method (_GTF, 0, NotSerialized)
                         {
                             Return (\_SB.C1E5 (C1DA, 0x00))
                         }
                     }

                     Device (C1E6)
                     {
                         Name (_ADR, 0x01)
                         Name (_RMV, 0x01)
                         Method (_PS0, 0, NotSerialized)
                         {
                             Store (0x00, Local0)
                         }

                         Method (_PS3, 0, NotSerialized)
                         {
                             Store (0x00, Local0)
                         }

                         Method (_GTF, 0, NotSerialized)
                         {
                             Return (\_SB.C1E5 (C1DB, 0x01))
                         }
                     }
                 }

                 Method (C0BB, 2, NotSerialized)
                 {
                     Return (0x05)
                 }
             }

             Name (C0D9._PRS, ResourceTemplate ()
             {
                 IRQ (Level, ActiveLow, Shared) {10,11}
             })
             Name (C0DA._PRS, ResourceTemplate ()
             {
                 IRQ (Level, ActiveLow, Shared) {10,11}
             })
             Name (C0DB._PRS, ResourceTemplate ()
             {
                 IRQ (Level, ActiveLow, Shared) {10,11}
             })
             Name (C0DC._PRS, ResourceTemplate ()
             {
                 IRQ (Level, ActiveLow, Shared) {10,11}
             })
             Name (C0EF._PRS, ResourceTemplate ()
             {
                 IRQ (Level, ActiveLow, Shared) {10,11}
             })
             Name (C0F0._PRS, ResourceTemplate ()
             {
                 IRQ (Level, ActiveLow, Shared) {10,11}
             })
             Name (C0F1._PRS, ResourceTemplate ()
             {
                 IRQ (Level, ActiveLow, Shared) {10,11}
             })
             Name (C0D8, 0x00)
             Method (\_PIC, 1, NotSerialized)
             {
                 If (LEqual (Arg0, 0x01))
                 {
                     Store (0x01, \_SB.C002.C0D8)
                 }
             }

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

                         Package (0x04)
                         {
                             0x0002FFFF,
                             0x00,
                             0x00,
                             0x10
                         },

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

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

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

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

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

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

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

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

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

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

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

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

                         Package (0x04)
                         {
                             0x001FFFFF,
                             0x03,
                             0x00,
                             0x13
                         }
                     })
                 }
                 Else
                 {
                     Return (Package (0x0F)
                     {
                         Package (0x04)
                         {
                             0x0001FFFF,
                             0x00,
                             C0D9,
                             0x00
                         },

                         Package (0x04)
                         {
                             0x0002FFFF,
                             0x00,
                             C0D9,
                             0x00
                         },

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

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

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

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

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

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

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

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

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

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

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

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

                         Package (0x04)
                         {
                             0x001FFFFF,
                             0x03,
                             C0DC,
                             0x00
                         }
                     })
                 }
             }

             Method (C057._PRT, 0, NotSerialized)
             {
                 If (C0D8)
                 {
                     Return (Package (0x01)
                     {
                         Package (0x04)
                         {
                             0xFFFF,
                             0x00,
                             0x00,
                             0x10
                         }
                     })
                 }
                 Else
                 {
                     Return (Package (0x01)
                     {
                         Package (0x04)
                         {
                             0xFFFF,
                             0x00,
                             C0D9,
                             0x00
                         }
                     })
                 }
             }

             Method (C06C._PRT, 0, NotSerialized)
             {
                 If (C0D8)
                 {
                     Return (Package (0x07)
                     {
                         Package (0x04)
                         {
                             0x0004FFFF,
                             0x00,
                             0x00,
                             0x15
                         },

                         Package (0x04)
                         {
                             0x0004FFFF,
                             0x01,
                             0x00,
                             0x15
                         },

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

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

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

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

                         Package (0x04)
                         {
                             0x000EFFFF,
                             0x00,
                             0x00,
                             0x14
                         }
                     })
                 }
                 Else
                 {
                     Return (Package (0x07)
                     {
                         Package (0x04)
                         {
                             0x0004FFFF,
                             0x00,
                             C0F0,
                             0x00
                         },

                         Package (0x04)
                         {
                             0x0004FFFF,
                             0x01,
                             C0F0,
                             0x00
                         },

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

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

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

                         Package (0x04)
                         {
                             0x0006FFFF,
                             0x03,
                             C0DC,
                             0x00
                         },

                         Package (0x04)
                         {
                             0x000EFFFF,
                             0x00,
                             C0EF,
                             0x00
                         }
                     })
                 }
             }
         }

         Name (C167, Package (0x02)
         {
             Package (0x0D)
             {
                 0x01,
                 0xFFFFFFFF,
                 0xFFFFFFFF,
                 0x01,
                 0xFFFFFFFF,
                 0x00,
                 0x00,
                 0x64,
                 0x64,
                 "Primary",
                 "100000",
                 "LIon",
                 "Hewlett-Packard"
             },

             Package (0x0D)
             {
                 0x01,
                 0xFFFFFFFF,
                 0xFFFFFFFF,
                 0x01,
                 0xFFFFFFFF,
                 0x00,
                 0x00,
                 0x64,
                 0x64,
                 "Travel",
                 "100000",
                 "LIon",
                 "Hewlett-Packard"
             }
         })
         Name (C166, Package (0x02)
         {
             Package (0x04)
             {
                 0x00,
                 0x00,
                 0xB010,
                 0x40F2
             },

             Package (0x04)
             {
                 0x00,
                 0x00,
                 0xB010,
                 0x40F2
             }
         })
         Name (C165, Package (0x04)
         {
             0x00,
             0x00,
             0xB010,
             0x40F2
         })
         Name (C159, 0x01)
         Method (C164, 1, Serialized)
         {
             Store (\_SB.C002.C003.C004.C164 (Arg0), Local0)
             If (LEqual (Local0, 0xFFFFFFFD))
             {
                 Return (Package (0x0D)
                 {
                     0x00,
                     0xFFFFFFFF,
                     0xFFFFFFFF,
                     0x01,
                     0xFFFFFFFF,
                     0x00,
                     0x00,
                     0x00,
                     0x00,
                     "",
                     "",
                     "",
                     0x00
                 })
             }
             Else
             {
                 Return (DerefOf (Index (C167, Arg0)))
             }
         }

         Name (C1E7, 0x01)
         Method (C168, 1, Serialized)
         {
             Store (\_SB.C002.C003.C10B (C1E7), Local1)
             If (C1E7)
             {
                 Store (0x00, C1E7)
             }

             Store (\_SB.C002.C003.C004.C168 (Arg0, Local1), Local0)
             Return (DerefOf (Index (C166, Arg0)))
         }

         Device (C171)
         {
             Name (_HID, EisaId ("PNP0C0A"))
             Name (_UID, 0x01)
             Method (_STA, 0, NotSerialized)
             {
                 Return (\_SB.C002.C003.C004.C162 (0x01))
             }

             Method (_BIF, 0, NotSerialized)
             {
                 Return (C164 (0x00))
             }

             Method (_BST, 0, NotSerialized)
             {
                 Return (C168 (0x00))
             }

             Name (_PCL, Package (0x01)
             {
                 \_SB
             })
         }

         Device (C170)
         {
             Name (_HID, EisaId ("PNP0C0A"))
             Name (_UID, 0x02)
             Method (_STA, 0, NotSerialized)
             {
                 Store (0x00, Local0)
                 If (LEqual (\_SB.C041, 0x00))
                 {
                     Store (\_SB.C002.C003.C004.C162 (0x02), Local0)
                 }

                 Return (Local0)
             }

             Method (_BIF, 0, NotSerialized)
             {
                 Return (C164 (0x01))
             }

             Method (_BST, 0, NotSerialized)
             {
                 Return (C168 (0x01))
             }

             Name (_PCL, Package (0x01)
             {
                 \_SB
             })
         }

         Device (C16F)
         {
             Name (_HID, "ACPI0003")
             Name (_PCL, Package (0x01)
             {
                 \_SB
             })
             Method (_PSR, 0, NotSerialized)
             {
                 Store (\_SB.C002.C003.C004.C005 (), Local0)
                 If (XOr (Local0, C159))
                 {
                     If (\_SB.C002.C006.C007.C008 ())
                     {
                         \_GPE.C1E8 (0x00)
                     }

                     Store (Local0, C159)
                     If (\_PR.C000.C001)
                     {
                         Store (0x00, \_SB.C002.C003.C086)
                     }
                 }

                 Return (Local0)
             }
         }

         Device (C1E9)
         {
             Name (_HID, EisaId ("PNP0C0E"))
         }

         Device (C1EA)
         {
             Name (_HID, EisaId ("PNP0C0D"))
             Method (_LID, 0, NotSerialized)
             {
                 Store (0x00, Local0)
                 If (And (\_SB.C002.C003.C00A, 0x2000))
                 {
                     Store (0x01, Local0)
                 }

                 Return (Local0)
             }
         }

         Name (C1E1, Buffer (0x09)
         {
             0x2F, 0x31, 0x35, 0x3F, 0x40, 0x53, 0x58, 0x80,
             0x00
         })
         Name (C1E3, 0x00)
         Method (C1E2, 4, NotSerialized)
         {
             CreateWordField (Arg2, 0x00, C1EB)
             CreateWordField (Arg2, 0x06, C1EC)
             CreateWordField (Arg2, 0x0A, C1ED)
             CreateWordField (Arg2, 0x0E, C1EE)
             Store (0x00, Local0)
             While (LLess (Local0, SizeOf (Arg3)))
             {
                 Store (0x00, Index (Arg3, Local0))
                 Increment (Local0)
             }

             Store (Arg0, Local0)
             Store (Arg1, Local1)
             If (LEqual (Local1, 0x00))
             {
                 If (And (C1EC, 0x01))
                 {
                     Store (0x20, Local1)
                     If (LAnd (LEqual (And (Local0, 0x07), 0x03), And (C1EC=
, 0x02)))
                     {
                         Or (Local1, 0x01, Local1)
                     }
                     Else
                     {
                         If (LAnd (LEqual (And (Local0, 0x07), 0x04), And (=
C1EC, 0x04)))
                         {
                             Or (Local1, 0x02, Local1)
                         }
                     }
                 }
             }

             Store (Local0, Index (Arg3, 0x00))
             Store (Local1, Index (Arg3, 0x01))
             If (And (C1EE, 0x01))
             {
                 Store (0x01, Index (Arg3, 0x02))
             }

             If (And (C1ED, 0x0800))
             {
                 Store (0x01, Index (Arg3, 0x03))
             }

             If (LNot (LEqual (C1EB, 0x00)))
             {
                 Store (C1EB, Index (Arg3, 0x04))
             }
         }

         Method (C1EF, 3, NotSerialized)
         {
             If (LOr (LEqual (Arg0, 0x00), LEqual (Arg0, 0x01)))
             {
                 Store (Buffer (0x07)
                     {
                         0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF
                     }, Local0)
                 Store (Arg1, Index (Local0, 0x01))
             }

             If (LEqual (Arg0, 0x02))
             {
                 Store (Buffer (0x07)
                     {
                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5
                     }, Local0)
             }

             If (LEqual (Arg0, 0x03))
             {
                 Store (Buffer (0x07)
                     {
                         0xC1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB1
                     }, Local0)
             }

             If (LEqual (Arg0, 0x04))
             {
                 Store (Buffer (0x07)
                     {
                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6
                     }, Local0)
                 Store (Arg1, Index (Local0, 0x01))
             }

             Store (Or (0xA0, ShiftLeft (Arg2, 0x04)), Index (Local0, 0x05)=
)
             Return (Local0)
         }

         Method (C1E5, 2, NotSerialized)
         {
             Store (0x00, Local0)
             While (LLess (Local0, SizeOf (Arg0)))
             {
                 If (LNot (LEqual (DerefOf (Index (Arg0, Local0)), 0x00)))
                 {
                     Store (C1EF (Local0, DerefOf (Index (Arg0, Local0)), A=
rg1), Local2)
                     If (LEqual (Local0, 0x00))
                     {
                         Store (Local2, Local1)
                     }
                     Else
                     {
                         Concatenate (Local1, Local2, Local3)
                         Store (Local3, Local1)
                     }
                 }

                 Increment (Local0)
             }

             Return (Local1)
         }

         Device (C1F0)
         {
             Name (C1F1, Package (0x07)
             {
                 0x04,
                 0x04,
                 0x04,
                 0x00,
                 0x04,
                 0x04,
                 0x00
             })
             Name (C1F2, Buffer (0x1010) {})
             Method (C1F3, 2, NotSerialized)
             {
                 CreateDWordField (Arg1, 0x00, C1F4)
                 CreateDWordField (Arg1, 0x04, C1F5)
                 CreateDWordField (Arg1, 0x08, C1F6)
                 CreateDWordField (Arg1, 0x0C, C1F7)
                 If (LEqual (Arg0, 0x01))
                 {
                     Store (0x00, Local0)
                 }

                 If (LEqual (Arg0, 0x02))
                 {
                     Store (0x04, Local0)
                 }

                 If (LEqual (Arg0, 0x03))
                 {
                     Store (0x80, Local0)
                 }

                 If (LEqual (Arg0, 0x04))
                 {
                     Store (0x0400, Local0)
                 }

                 If (LEqual (Arg0, 0x05))
                 {
                     Store (0x1000, Local0)
                 }

                 Store (Buffer (Add (0x08, Local0)) {}, Local1)
                 CreateDWordField (Local1, 0x00, C1F8)
                 CreateDWordField (Local1, 0x04, C1F9)
                 Store (C1F7, Local5)
                 If (LGreater (C1F7, 0x1000))
                 {
                     Store (0x1000, Local5)
                 }

                 CreateField (Arg1, 0x00, Multiply (Add (Local5, 0x10), 0x0=
8), C1FA)
                 Store (C1FA, \_SB.C030)
                 Store (0x4C494146, C1F8)
                 Store (0x02, C1F9)
                 If (LEqual (C1F4, 0x55434553))
                 {
                     Store (0x03, C1F9)
                     If (LEqual (C1F5, 0x01))
                     {
                         Store (0x04, C1F9)
                         If (LEqual (C1F6, 0x01))
                         {
                             Store (^C1FB (), Local2)
                             Store (0x00, C1F9)
                         }

                         If (LEqual (C1F6, 0x02))
                         {
                             Store (^C1FC (), Local2)
                             Store (0x00, C1F9)
                         }

                         If (LEqual (C1F6, 0x03))
                         {
                             Store (^C1FD (), Local2)
                             Store (0x00, C1F9)
                         }

                         If (LEqual (C1F6, 0x04))
                         {
                             Store (^C1FE (), Local2)
                             Store (0x00, C1F9)
                         }

                         If (LEqual (C1F6, 0x05))
                         {
                             Store (^C1FF (), Local2)
                             Store (0x00, C1F9)
                         }

                         If (LEqual (C1F6, 0x07))
                         {
                             If (C1F7)
                             {
                                 Store (DerefOf (Index (Arg1, 0x10)), Local=
3)
                                 Store (C200 (Local3), Local2)
                                 Store (0x00, C1F9)
                             }
                             Else
                             {
                                 Store (0x05, C1F9)
                             }
                         }
                     }

                     If (LEqual (C1F5, 0x02))
                     {
                         Store (0x04, C1F9)
                         If (LAnd (LGreater (C1F6, 0x00), LNot (LGreater (C=
1F6, 0x06))))
                         {
                             If (LLess (C1F7, DerefOf (Index (C1F1, Subtrac=
t (C1F6, 0x01)))))
                             {
                                 Store (0x05, C1F9)
                             }
                             Else
                             {
                                 CreateDWordField (Arg1, 0x10, C201)
                                 If (LEqual (C1F6, 0x01))
                                 {
                                     Store (^C202 (C201), Local2)
                                     Store (0x00, C1F9)
                                 }

                                 If (LEqual (C1F6, 0x02))
                                 {
                                     Store (^C203 (C201), Local2)
                                     Store (0x00, C1F9)
                                 }

                                 If (LEqual (C1F6, 0x03))
                                 {
                                     Store (^C204 (C201), Local2)
                                     Store (0x00, C1F9)
                                 }

                                 If (LEqual (C1F6, 0x05))
                                 {
                                     Store (^C205 (C201), Local2)
                                     Store (0x00, C1F9)
                                 }

                                 If (LEqual (C1F6, 0x06))
                                 {
                                     Store (^C206 (C201), Local2)
                                     Store (0x00, C1F9)
                                 }
                             }
                         }
                     }

                     If (LEqual (C1F5, 0x00020000))
                     {
                         \_SB.C103 (0xEA75, C1F5, C1F6, 0x574D4953, 0x00)
                         Store (C207 (), Local2)
                         Store (0x00, C1F9)
                     }
                 }

                 If (LEqual (C1F9, 0x00))
                 {
                     Store (DerefOf (Index (Local2, 0x00)), C1F9)
                     If (LEqual (C1F9, 0x00))
                     {
                         If (LNot (LGreater (DerefOf (Index (Local2, 0x01))=
, Local0)))
                         {
                             Store (0x00, Local0)
                             While (LLess (Local0, DerefOf (Index (Local2, =
0x01))))
                             {
                                 Store (DerefOf (Index (DerefOf (Index (Loc=
al2, 0x02)), Local0)), Index (Local1, Add (Local0, 0x08)))
                                 Increment (Local0)
                             }

                             Store (0x53534150, C1F8)
                         }
                         Else
                         {
                             Store (0x05, C1F9)
                         }
                     }
                 }

                 Store (C1F2, \_SB.C030)
                 Return (Local1)
             }

             Method (C207, 0, NotSerialized)
             {
                 If (LEqual (C051, 0x00))
                 {
                     Store (Package (0x02)
                         {
                             0x00,
                             0x00
                         }, Local0)
                 }
                 Else
                 {
                     Store (C051, Local1)
                     Store (Package (0x03)
                         {
                             0x00,
                             0x00,
                             Buffer (Local1) {}
                         }, Local0)
                 }

                 Store (C053, Index (Local0, 0x00))
                 Store (C051, Index (Local0, 0x01))
                 If (LEqual (C053, 0x00))
                 {
                     If (LNot (LEqual (C051, 0x00)))
                     {
                         Store (\_SB.C030, Local1)
                         Store (0x00, Local2)
                         While (LLess (Local2, C051))
                         {
                             Store (DerefOf (Index (Local1, Local2)), Index=
 (DerefOf (Index (Local0, 0x02)), Local2))
                             Increment (Local2)
                         }
                     }
                 }

                 Return (Local0)
             }

             Method (C208, 2, NotSerialized)
             {
                 If (LEqual (\_SB.C1F0.C209, 0x00))
                 {
                     Store (Arg0, \_SB.C1F0.C209)
                     Store (Arg1, \_SB.C1F0.C20A)
                 }
                 Else
                 {
                     Store (Arg0, \_SB.C1F0.C20B)
                     Store (Arg1, \_SB.C1F0.C20C)
                 }

                 Notify (\_SB.C1F0, 0x80)
             }

             Name (_HID, EisaId ("PNP0C14"))
             Name (_UID, 0x00)
             Name (C209, 0x00)
             Name (C20A, 0x00)
             Name (C20B, 0x00)
             Name (C20C, 0x00)
             Name (_WDG, Buffer (0x3C)
             {
                 0x34, 0xF0, 0xB7, 0x5F, 0x63, 0x2C, 0xE9, 0x45,
                 0xBE, 0x91, 0x3D, 0x44, 0xE2, 0xC7, 0x07, 0xE4,
                 0x41, 0x41, 0x01, 0x02, 0x79, 0x42, 0xF2, 0x95,
                 0x7B, 0x4D, 0x34, 0x43, 0x93, 0x87, 0xAC, 0xCD,
                 0xC6, 0x7E, 0xF6, 0x1C, 0x80, 0x00, 0x01, 0x08,
                 0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11,
                 0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10,
                 0x41, 0x42, 0x01, 0x00
             })
             Method (WMAA, 3, NotSerialized)
             {
                 Return (C1F3 (Arg1, Arg2))
             }

             Method (C1FB, 0, NotSerialized)
             {
                 \_SB.C103 (0xEA74, 0x02, 0x00, 0x00, 0x00)
                 Store (Package (0x03)
                     {
                         0x00,
                         0x01,
                         Buffer (0x01) {}
                     }, Local0)
                 Store (And (C04B, 0x0F), Index (DerefOf (Index (Local0, 0x=
02)), 0x00))
                 Return (Local0)
             }

             Method (C202, 1, NotSerialized)
             {
                 And (Arg0, 0x0F, Local0)
                 If (LEqual (And (\_SB.C049, 0x83), 0x00))
                 {
                     If (LNot (LEqual (Local0, C04A)))
                     {
                         Store (Local0, C04C)
                         Notify (\_SB.C002.C057.C0F9, 0x80)
                     }
                 }
                 Else
                 {
                     If (And (\_SB.C049, 0x80))
                     {
                         Store (Local0, C04D)
                         \_SB.C103 (0xEA74, 0x01, 0x00, 0x00, 0x00)
                     }
                 }

                 Return (Package (0x02)
                 {
                     0x00,
                     0x00
                 })
             }

             Method (C1FC, 0, NotSerialized)
             {
                 Return (Package (0x02)
                 {
                     0x04,
                     0x00
                 })
             }

             Method (C203, 1, NotSerialized)
             {
                 Return (Package (0x02)
                 {
                     0x04,
                     0x00
                 })
             }

             Method (C1FD, 0, NotSerialized)
             {
                 Store (Package (0x03)
                     {
                         0x00,
                         0x01,
                         Buffer (0x01)
                         {
                             0x01
                         }
                     }, Local0)
                 If (And (\_SB.C002.C003.C09B, 0x00020000))
                 {
                     Store (Package (0x03)
                         {
                             0x00,
                             0x01,
                             Buffer (0x01)
                             {
                                 0x00
                             }
                         }, Local0)
                 }

                 Return (Local0)
             }

             Method (C204, 1, NotSerialized)
             {
                 \_SB.C103 (0xEA75, 0x02, 0x03, 0x574D4953, 0x00)
                 Return (C207 ())
             }

             Method (C1FE, 0, NotSerialized)
             {
                 Store (Package (0x03)
                     {
                         0x00,
                         0x01,
                         Buffer (0x01)
                         {
                             0x01
                         }
                     }, Local0)
                 If (And (XOr (\_SB.C002.C003.C08B, \_SB.C002.C003.C00A), 0=
x80))
                 {
                     Store (Package (0x03)
                         {
                             0x00,
                             0x01,
                             Buffer (0x01)
                             {
                                 0x00
                             }
                         }, Local0)
                 }

                 Return (Local0)
             }

             Method (C1FF, 0, NotSerialized)
             {
                 \_SB.C103 (0xEA75, 0x01, 0x05, 0x574D4953, 0x00)
                 Return (C207 ())
             }

             Method (C205, 1, NotSerialized)
             {
                 \_SB.C103 (0xEA75, 0x02, 0x05, 0x574D4953, 0x00)
                 Return (C207 ())
             }

             Method (C206, 1, NotSerialized)
             {
                 Return (Package (0x02)
                 {
                     0x04,
                     0x00
                 })
             }

             Method (C200, 1, NotSerialized)
             {
                 If (LLess (Arg0, SizeOf (C167)))
                 {
                     Return (\_SB.C002.C003.C004.C16A (Arg0))
                 }
                 Else
                 {
                     Return (Package (0x02)
                     {
                         0x06,
                         0x00
                     })
                 }
             }

             Method (_WED, 1, NotSerialized)
             {
                 Concatenate (C209, C20A, Local0)
                 If (LNot (LEqual (C20B, 0x00)))
                 {
                     Store (C20B, C209)
                     Store (C20C, C20A)
                     Store (0x00, C20B)
                     Store (0x00, C20C)
                 }
                 Else
                 {
                     Store (0x00, C209)
                     Store (0x00, C20A)
                 }

                 Return (Local0)
             }

             Name (WQAB, Buffer (0x08A9)
             {
                 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,
                 0x99, 0x08, 0x00, 0x00, 0x8A, 0x3A, 0x00, 0x00,
                 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,
                 0x98, 0x4B, 0x9C, 0x00, 0x01, 0x06, 0x18, 0x42,
                 0x10, 0x13, 0x10, 0x22, 0x21, 0x04, 0x12, 0x01,
                 0xA1, 0xC8, 0x2C, 0x0C, 0x86, 0x10, 0x38, 0x2E,
                 0x84, 0x1C, 0x40, 0x88, 0x59, 0x50, 0x08, 0x21,
                 0x10, 0xEA, 0x4F, 0x20, 0xBF, 0x02, 0x10, 0x3A,
                 0x14, 0x20, 0x53, 0x80, 0x41, 0x01, 0x4E, 0x11,
                 0x44, 0xD0, 0xAB, 0x00, 0x9B, 0x02, 0x4C, 0x0A,
                 0xB0, 0x28, 0x40, 0xBB, 0x00, 0xCB, 0x02, 0x74,
                 0x0B, 0x90, 0x0E, 0x4B, 0x44, 0x82, 0xA3, 0xC4,
                 0x80, 0xA3, 0x74, 0x62, 0x0B, 0x37, 0x6C, 0xF0,
                 0x42, 0x51, 0x34, 0x83, 0x28, 0x09, 0x2A, 0x17,
                 0xE0, 0x1B, 0x41, 0xE0, 0xE5, 0x0A, 0x90, 0x3C,
                 0x01, 0x69, 0x16, 0x60, 0x58, 0x80, 0x75, 0x01,
                 0xB2, 0x87, 0x40, 0xA5, 0x0E, 0x01, 0x25, 0x67,
                 0x08, 0xA8, 0x01, 0xB4, 0x3A, 0x01, 0xE1, 0x57,
                 0x3A, 0x25, 0x24, 0x41, 0x38, 0x63, 0x15, 0x8F,
                 0xAF, 0x59, 0x34, 0x3D, 0x27, 0x39, 0xC7, 0x90,
                 0xE3, 0x71, 0xA1, 0x07, 0xC1, 0x05, 0x78, 0x18,
                 0x06, 0x1D, 0xB2, 0x22, 0x6B, 0x80, 0xC1, 0x58,
                 0x18, 0x0B, 0x75, 0x31, 0x6A, 0xD4, 0x48, 0xD9,
                 0x80, 0x0C, 0x51, 0x12, 0x1C, 0x6A, 0xD4, 0x96,
                 0x28, 0xC0, 0xFC, 0x38, 0x34, 0xBB, 0xB6, 0xC7,
                 0x42, 0x20, 0x99, 0xB4, 0xA1, 0xA0, 0xA4, 0x40,
                 0x68, 0x6C, 0x67, 0xEA, 0x19, 0x45, 0x3C, 0x52,
                 0xC3, 0x24, 0xF0, 0x28, 0x22, 0x1B, 0x8D, 0x43,
                 0x63, 0x87, 0xE1, 0x61, 0x06, 0x3B, 0x88, 0xC3,
                 0x38, 0xE6, 0xC8, 0x09, 0x3C, 0xA1, 0x23, 0x3D,
                 0xF2, 0xC2, 0xE6, 0x29, 0xD4, 0x18, 0xCD, 0x41,
                 0x11, 0xB8, 0xD0, 0x18, 0x19, 0x10, 0xF2, 0x3C,
                 0x7E, 0x8D, 0xC4, 0x04, 0x76, 0x2F, 0xC0, 0x1A,
                 0xA6, 0x60, 0x1B, 0x9B, 0x98, 0xFE, 0xFF, 0x10,
                 0x47, 0x1E, 0xA3, 0xAD, 0xB9, 0x0B, 0x29, 0x4C,
                 0x8C, 0x28, 0xC1, 0xE2, 0x55, 0x3C, 0x0D, 0xA1,
                 0x3C, 0x29, 0x84, 0x8A, 0x54, 0x19, 0x8A, 0x86,
                 0x1E, 0xA5, 0x42, 0x01, 0xCE, 0xE6, 0x21, 0xDC,
                 0x1A, 0x41, 0x85, 0x10, 0x2B, 0x52, 0xAC, 0xF6,
                 0x07, 0x41, 0x42, 0x2E, 0x5B, 0xC7, 0x07, 0x47,
                 0x1A, 0x0D, 0xEA, 0x50, 0xE0, 0xB1, 0x7B, 0xDC,
                 0xCF, 0x02, 0x3E, 0x08, 0x9C, 0x5B, 0x90, 0xA3,
                 0x3B, 0x8B, 0x47, 0x85, 0x83, 0xF6, 0xF0, 0xD8,
                 0x6D, 0xC0, 0x67, 0x08, 0x9F, 0x02, 0xF0, 0xAE,
                 0x01, 0x35, 0xFD, 0x83, 0x67, 0x82, 0xE0, 0x50,
                 0x43, 0xF4, 0xA8, 0xC3, 0x9D, 0xC0, 0x21, 0x32,
                 0x40, 0x4F, 0xEA, 0xB8, 0xB1, 0x83, 0x3B, 0x99,
                 0x83, 0x7E, 0x6F, 0x68, 0xF6, 0xC6, 0x40, 0x08,
                 0x8E, 0xC7, 0x97, 0x05, 0x36, 0xE1, 0x04, 0x96,
                 0x3F, 0x08, 0xD4, 0xC8, 0x0C, 0xED, 0x51, 0x9E,
                 0x56, 0xCC, 0x90, 0xCF, 0x0C, 0x26, 0xB0, 0x58,
                 0x08, 0x29, 0x80, 0xD0, 0x78, 0xC0, 0x7F, 0x03,
                 0x78, 0xC0, 0xF0, 0xCD, 0xC0, 0xF3, 0x35, 0xC1,
                 0xB0, 0x10, 0x32, 0xB2, 0x0A, 0x8F, 0x87, 0x8E,
                 0xC2, 0xD7, 0x83, 0xC3, 0x39, 0xAD, 0x78, 0x26,
                 0x18, 0x0E, 0x42, 0x27, 0x09, 0x8B, 0x1A, 0x36,
                 0x3D, 0x39, 0xF0, 0x43, 0x03, 0xBB, 0x19, 0x9C,
                 0xC1, 0x23, 0x80, 0x47, 0x72, 0x42, 0xFE, 0x98,
                 0x78, 0x60, 0xF0, 0x01, 0xF1, 0xDE, 0xA7, 0x4C,
                 0x46, 0x70, 0xA6, 0x06, 0xF4, 0x71, 0xC0, 0xFF,
                 0xFF, 0xA1, 0xF0, 0x21, 0x7A, 0x7C, 0xA7, 0x7C,
                 0xBC, 0x96, 0x00, 0x21, 0x59, 0xE3, 0x84, 0x7E,
                 0x87, 0xF0, 0xF1, 0xC3, 0x47, 0x16, 0x47, 0x84,
                 0x90, 0x93, 0x53, 0x00, 0x1A, 0xF8, 0x74, 0xCF,
                 0x2E, 0xC2, 0xE9, 0x7A, 0x52, 0x0E, 0x34, 0x0C,
                 0x3A, 0x4E, 0x70, 0x9C, 0x07, 0xC0, 0x31, 0x4E,
                 0xF8, 0xE7, 0x02, 0xF8, 0x03, 0xE4, 0xA7, 0x8C,
                 0x57, 0x8C, 0x04, 0x8E, 0x39, 0x42, 0xF4, 0xB9,
                 0xC6, 0x23, 0xC4, 0xC2, 0x3F, 0x55, 0x14, 0x3E,
                 0x10, 0x32, 0x46, 0x70, 0x01, 0x7A, 0x8C, 0xC0,
                 0x37, 0xE0, 0x18, 0xD1, 0x47, 0x09, 0xAE, 0xFE,
                 0xA0, 0x41, 0x07, 0x88, 0xFB, 0xFF, 0x0F, 0x10,
                 0x3E, 0xA8, 0x07, 0x08, 0x7C, 0xA3, 0x1F, 0x3D,
                 0xD0, 0xE3, 0xB2, 0xE8, 0xF3, 0x80, 0x8C, 0x9F,
                 0x68, 0x34, 0x2F, 0x7E, 0x3A, 0xE0, 0x87, 0x0F,
                 0xF0, 0x80, 0x7A, 0x48, 0x38, 0x50, 0xCC, 0xB4,
                 0x39, 0xE8, 0xB3, 0xCB, 0xA1, 0x63, 0x87, 0x0B,
                 0xFE, 0x13, 0x08, 0xB8, 0xE4, 0x1D, 0xC2, 0x40,
                 0x31, 0x62, 0xFC, 0x39, 0xC8, 0xA7, 0x30, 0xF0,
                 0xFF, 0xFF, 0x4F, 0x61, 0xB8, 0x11, 0xF0, 0x20,
                 0xAF, 0x05, 0x9F, 0xB6, 0xA8, 0x74, 0x18, 0xD4,
                 0x81, 0x0B, 0x30, 0x09, 0x1A, 0xE1, 0x59, 0xA2,
                 0x36, 0x08, 0x01, 0xBF, 0x4D, 0xBC, 0x6D, 0xF9,
                 0x16, 0x10, 0xE7, 0xC8, 0x7B, 0x3B, 0x70, 0x11,
                 0x8C, 0x08, 0xA7, 0x1D, 0xCA, 0x63, 0x88, 0x18,
                 0x23, 0xCA, 0xE3, 0x96, 0x51, 0xDE, 0xB6, 0x5E,
                 0x00, 0xE2, 0x9D, 0xE5, 0xF3, 0x96, 0x31, 0x82,
                 0x47, 0x7E, 0xE0, 0x62, 0x62, 0xDF, 0x13, 0xFA,
                 0xB9, 0xF9, 0xC0, 0x05, 0x38, 0xFB, 0xFF, 0x1F,
                 0xB8, 0x00, 0x0E, 0x05, 0x3D, 0x0C, 0xA1, 0x87,
                 0xE1, 0xA9, 0x9C, 0xCB, 0x13, 0xE5, 0xA9, 0x44,
                 0x8C, 0x1A, 0x26, 0xEA, 0x33, 0x94, 0x2F, 0x1A,
                 0x3E, 0x10, 0x81, 0xEF, 0xCC, 0x05, 0xFC, 0xFE,
                 0xFF, 0x07, 0x22, 0x38, 0x02, 0xCF, 0x34, 0xA0,
                 0xF4, 0x39, 0x03, 0x81, 0x9C, 0x8A, 0x0F, 0x35,
                 0xC0, 0x48, 0xF4, 0xAB, 0xC1, 0x27, 0x1A, 0x2A,
                 0x13, 0x06, 0x75, 0xA8, 0x01, 0x4C, 0x5E, 0x61,
                 0x9E, 0x46, 0xCF, 0xF9, 0x59, 0xC6, 0xA7, 0x1A,
                 0x1F, 0x4A, 0x8D, 0x63, 0x88, 0x97, 0x99, 0x87,
                 0x1A, 0x1F, 0x0B, 0x5E, 0x49, 0x7D, 0xA8, 0x31,
                 0x54, 0x9C, 0x87, 0x1A, 0x9F, 0x48, 0x03, 0x45,
                 0x7D, 0xB3, 0x79, 0xB6, 0x31, 0x7A, 0x7C, 0xDF,
                 0x50, 0x0D, 0xF1, 0x50, 0xC3, 0x84, 0xBD, 0x23,
                 0xF4, 0xC1, 0xF5, 0xA1, 0x06, 0x1C, 0xFF, 0xFF,
                 0x43, 0x0D, 0xC0, 0xFF, 0xFF, 0xFF, 0xA1, 0x06,
                 0x70, 0x74, 0x34, 0x80, 0x73, 0x64, 0xC4, 0x1D,
                 0x0D, 0xC0, 0x75, 0x28, 0x05, 0x0E, 0x47, 0x03,
                 0xE0, 0x71, 0x14, 0x02, 0xF3, 0x85, 0xC6, 0x47,
                 0x21, 0x60, 0xF1, 0xFF, 0x3F, 0x0A, 0xE1, 0x64,
                 0x9F, 0x83, 0x50, 0x42, 0x8F, 0x42, 0x80, 0x54,
                 0xC8, 0xA7, 0x88, 0x67, 0x1F, 0x5F, 0x7E, 0x1E,
                 0x08, 0x22, 0xBC, 0xE6, 0xFB, 0x14, 0xE4, 0x43,
                 0xBE, 0x8F, 0x42, 0x0C, 0xC6, 0x50, 0xBE, 0x06,
                 0xF9, 0x28, 0xC4, 0xA0, 0x5E, 0x83, 0x7C, 0xDF,
                 0x37, 0xC8, 0x91, 0x18, 0xFB, 0x99, 0xC0, 0x47,
                 0x21, 0x26, 0xED, 0x28, 0x04, 0x28, 0xFC, 0xFF,
                 0x1F, 0x85, 0x00, 0xFE, 0xFF, 0xFF, 0x8F, 0x42,
                 0x80, 0xB3, 0x00, 0x47, 0x03, 0xD0, 0x4D, 0xEB,
                 0x51, 0x08, 0xBC, 0x77, 0x96, 0xD3, 0x3E, 0x01,
                 0x9F, 0x85, 0x00, 0xB3, 0xFF, 0xFF, 0xB3, 0x10,
                 0x30, 0x3B, 0x0A, 0x45, 0x3D, 0xE8, 0x57, 0xA1,
                 0x27, 0x80, 0x17, 0x80, 0x18, 0x61, 0xDE, 0x81,
                 0x5E, 0x32, 0xD9, 0x5D, 0xDC, 0x38, 0x4F, 0x2E,
                 0xA7, 0x6D, 0x94, 0x97, 0x20, 0x1F, 0x28, 0x9E,
                 0x85, 0x0C, 0xF5, 0x2E, 0x14, 0xF4, 0x8D, 0xDC,
                 0xA3, 0x8C, 0x19, 0x3F, 0xC4, 0xF3, 0x90, 0x21,
                 0x9E, 0x85, 0x00, 0x76, 0xFD, 0xFF, 0xCF, 0x42,
                 0x00, 0xFF, 0xFF, 0xFF, 0x47, 0x03, 0xF8, 0x2F,
                 0x00, 0x9F, 0x85, 0x80, 0xE7, 0x09, 0xE0, 0x41,
                 0xDB, 0x67, 0x21, 0x80, 0x33, 0x87, 0xCB, 0xF3,
                 0x0F, 0x7A, 0x60, 0xEF, 0x11, 0x9E, 0xF5, 0x71,
                 0xBF, 0x5E, 0x7A, 0xE0, 0x0F, 0x05, 0xCF, 0x42,
                 0x0C, 0xEB, 0x98, 0x7C, 0x16, 0x62, 0x10, 0x2F,
                 0x9A, 0x86, 0x78, 0xE1, 0xF4, 0x61, 0xC0, 0xFF,
                 0x7F, 0xBC, 0xC0, 0xAF, 0x9C, 0x06, 0x0A, 0x12,
                 0xE8, 0x59, 0x08, 0x60, 0xFC, 0xFF, 0xFF, 0x2C,
                 0x04, 0x90, 0x71, 0x8D, 0x3A, 0x0B, 0x01, 0xCB,
                 0x63, 0x0C, 0x3B, 0xAD, 0x24, 0xF8, 0xFF, 0x3F,
                 0x0B, 0x01, 0x9F, 0x5C, 0x46, 0x0E, 0x42, 0x98,
                 0x88, 0x6F, 0x05, 0x1F, 0x33, 0x01, 0xA5, 0xE7,
                 0xA0, 0x17, 0x77, 0x63, 0x04, 0x7E, 0x91, 0x78,
                 0xCC, 0x64, 0x47, 0x4D, 0xC3, 0x3C, 0x0B, 0x19,
                 0xEF, 0x30, 0xCE, 0xE0, 0x09, 0xDE, 0x93, 0x7F,
                 0x16, 0x62, 0x60, 0xC7, 0x18, 0xEC, 0x51, 0xC8,
                 0xA0, 0x06, 0x8F, 0x1D, 0x22, 0x4C, 0xA0, 0x67,
                 0x21, 0x16, 0x6A, 0xDC, 0x3A, 0x7F, 0xF8, 0x2C,
                 0x04, 0xBC, 0xFF, 0xFF, 0x67, 0x21, 0xC0, 0xD3,
                 0x61, 0xC3, 0x67, 0x0D, 0xF0, 0x0C, 0xDF, 0xA3,
                 0x3A, 0x87, 0xC7, 0x63, 0xE0, 0x92, 0x55, 0xC7,
                 0x09, 0x83, 0xE5, 0x5E, 0xA7, 0x6C, 0x9C, 0x61,
                 0xE8, 0x20, 0xAC, 0x0E, 0x48, 0xC3, 0xC1, 0xDC,
                 0x43, 0x0E, 0xE2, 0x7C, 0xD8, 0x40, 0xAD, 0x08,
                 0x4E, 0xC7, 0x24, 0x0F, 0xDA, 0x5A, 0x28, 0xA4,
                 0x80, 0x46, 0x03, 0x32, 0xBC, 0x33, 0x9F, 0x96,
                 0x28, 0x88, 0x01, 0x7D, 0x02, 0xB2, 0x8D, 0x73,
                 0x00, 0x6A, 0x2F, 0x9A, 0x02, 0x39, 0xDA, 0x60,
                 0xF4, 0x5F, 0x16, 0xE8, 0x6C, 0x7C, 0x0D, 0xE0,
                 0x1A, 0x20, 0x74, 0x30, 0x30, 0xB4, 0xD5, 0xDC,
                 0x62, 0x50, 0x60, 0xC6, 0x7F, 0x70, 0x31, 0x81,
                 0x8F, 0x2E, 0xF8, 0xB3, 0x00, 0xEE, 0xFF, 0x3F,
                 0x5C, 0x8F, 0xF6, 0x5D, 0xA0, 0xEA, 0xC9, 0xEA,
                 0x8A, 0x60, 0x75, 0x97, 0x17, 0x08, 0x33, 0x32,
                 0x41, 0x7D, 0x07, 0x02, 0x50, 0x00, 0xF9, 0x0E,
                 0xE0, 0xA3, 0xD3, 0x73, 0x00, 0x9B, 0x48, 0x88,
                 0x30, 0xD1, 0x8C, 0x8E, 0x98, 0x30, 0x2A, 0xFA,
                 0x84, 0x29, 0x88, 0x27, 0xEC, 0x58, 0x13, 0x46,
                 0xCF, 0xC4, 0x77, 0x1B, 0x36, 0x62, 0x4C, 0x88,
                 0xDB, 0x06, 0xB4, 0x09, 0x06, 0xF5, 0x3D, 0x08,
                 0xD6, 0x90, 0xF9, 0x58, 0x7C, 0x67, 0xC0, 0x4D,
                 0x19, 0x8C, 0x73, 0x62, 0xD7, 0x04, 0x0B, 0x9C,
                 0x33, 0xC8, 0xE1, 0x31, 0xD7, 0x2F, 0x7E, 0x5B,
                 0xF2, 0xE8, 0xF8, 0x41, 0xC1, 0x37, 0x1C, 0x86,
                 0xFD, 0x30, 0xE6, 0x19, 0xBD, 0x8A, 0xF9, 0xE6,
                 0x86, 0x81, 0xF5, 0x78, 0x39, 0xAC, 0xD1, 0xC2,
                 0x1E, 0xDA, 0xAB, 0x87, 0xCF, 0x2D, 0x3E, 0x4F,
                 0x18, 0x23, 0xAC, 0x2F, 0x2C, 0xE0, 0x00, 0xFC,
                 0xFF, 0xBF, 0x5A, 0xC1, 0xBE, 0x6B, 0x80, 0xE7,
                 0x26, 0xE4, 0xBB, 0x06, 0xC0, 0xDA, 0xFF, 0xFF,
                 0x5D, 0x03, 0xFE, 0x35, 0xC1, 0x77, 0x0D, 0xE0,
                 0x3D, 0x74, 0xDF, 0x35, 0x80, 0x6B, 0xF6, 0xBB,
                 0x06, 0xEA, 0x18, 0x60, 0x85, 0x77, 0x0D, 0x68,
                 0xB7, 0xB4, 0x57, 0xB4, 0x87, 0x2A, 0x6B, 0xBA,
                 0x6C, 0xA0, 0xD4, 0x5C, 0x36, 0x00, 0x6D, 0xFF,
                 0xFF, 0xCB, 0x06, 0xB0, 0x91, 0x32, 0x61, 0x54,
                 0xF8, 0x09, 0x53, 0x10, 0x4F, 0xD8, 0xC1, 0x2E,
                 0x1B, 0xA0, 0x88, 0x71, 0xD9, 0x00, 0xFD, 0xD8,
                 0x5E, 0x36, 0x80, 0xC1, 0x3D, 0x81, 0xDF, 0x36,
                 0x80, 0x37, 0xA4, 0x6F, 0x1B, 0xC0, 0xF4, 0xFF,
                 0x0F, 0x31, 0xFF, 0x6D, 0x03, 0xC5, 0x61, 0x95,
                 0xB7, 0x0D, 0x88, 0x87, 0x77, 0x46, 0x60, 0x55,
                 0xD7, 0x0D, 0x94, 0x9E, 0xEB, 0x06, 0x40, 0x02,
                 0x31, 0x13, 0x46, 0xC5, 0x9F, 0x30, 0x05, 0xF1,
                 0x84, 0x1D, 0xED, 0xBA, 0x01, 0x8A, 0x20, 0xD7,
                 0x0D, 0xD0, 0xCF, 0xEB, 0x94, 0xC1, 0xFA, 0xFF,
                 0xBF, 0x6E, 0x60, 0x2F, 0x0A, 0x98, 0xFB, 0x06,
                 0xF0, 0x86, 0xE5, 0xF7, 0x0D, 0xC0, 0xC7, 0xE5,
                 0x1B, 0x73, 0xDF, 0x00, 0x6C, 0xFE, 0xFF, 0xEF,
                 0x1B, 0x00, 0x13, 0x2E, 0x0A, 0xB8, 0xFB, 0x06,
                 0xF0, 0xBE, 0x48, 0xFB, 0xBE, 0x01, 0x5C, 0x83,
                 0x49, 0xF8, 0xFF, 0xDF, 0xF5, 0xE8, 0x0B, 0x40,
                 0x51, 0x60, 0x50, 0x43, 0xF2, 0x99, 0x00, 0x3F,
                 0xBA, 0x83, 0x3B, 0xA6, 0xE0, 0x4C, 0x12, 0x1C,
                 0x6A, 0xE0, 0xBE, 0x02, 0x3C, 0xCD, 0x9F, 0xD6,
                 0x7B, 0xBD, 0xE7, 0xF1, 0x24, 0x10, 0x92, 0x1D,
                 0x61, 0x7C, 0x6C, 0x43, 0x9C, 0x0C, 0xC8, 0x41,
                 0xDC, 0x47, 0xF7, 0x88, 0xEF, 0xE1, 0x86, 0x49,
                 0xE0, 0x21, 0x33, 0x34, 0x0E, 0x8D, 0x1D, 0x86,
                 0xEF, 0x02, 0xC1, 0x0E, 0xE2, 0x30, 0xCE, 0xD7,
                 0x04, 0x9E, 0xD0, 0x83, 0xC0, 0x7B, 0xF9, 0xA3,
                 0x41, 0xF1, 0x77, 0x03, 0x4A, 0x60, 0xB8, 0xD0,
                 0x98, 0x91, 0xFA, 0x6C, 0xFF, 0x8E, 0x70, 0x24,
                 0x26, 0xB0, 0x7B, 0x48, 0x59, 0x13, 0xA0, 0xF1,
                 0x96, 0x43, 0x20, 0x7A, 0xC3, 0x91, 0x2D, 0x14,
                 0xCD, 0x2D, 0xCA, 0xFB, 0x42, 0x14, 0x3B, 0x43,
                 0x10, 0x46, 0x94, 0x60, 0x41, 0x9E, 0xD6, 0x62,
                 0x45, 0x79, 0x66, 0x37, 0x42, 0xC4, 0x10, 0xAF,
                 0x0C, 0x81, 0x5E, 0x12, 0xC2, 0x07, 0x79, 0xEC,
                 0x89, 0xD3, 0xFE, 0x20, 0x88, 0xF8, 0x17, 0x82,
                 0x3C, 0x80, 0x28, 0xD2, 0x68, 0x50, 0xE7, 0x06,
                 0x8F, 0xDD, 0x87, 0x10, 0x5F, 0xFE, 0x7D, 0xB8,
                 0xF7, 0xE8, 0x0E, 0xEE, 0x45, 0xFE, 0xA0, 0x3D,
                 0x3C, 0x76, 0xC2, 0xF0, 0x41, 0x03, 0x8E, 0x6B,
                 0x40, 0x4D, 0xFF, 0x19, 0x01, 0x2C, 0x97, 0x7F,
                 0xF8, 0xE3, 0xF1, 0x3D, 0xC1, 0xF3, 0x39, 0xE1,
                 0x04, 0x96, 0x3F, 0x08, 0xD4, 0x71, 0x84, 0xCF,
                 0xF3, 0x85, 0xC3, 0x90, 0xCF, 0x02, 0x87, 0xC5,
                 0xC4, 0x0A, 0xF8, 0xFF, 0x9F, 0x4C, 0xD8, 0x78,
                 0xC0, 0x7F, 0x0F, 0x79, 0xFD, 0xF7, 0xCD, 0xC0,
                 0xF3, 0x35, 0xC1, 0x88, 0x10, 0x72, 0x32, 0x1E,
                 0x34, 0xE8, 0xD9, 0xF8, 0x80, 0xE1, 0xEB, 0x09,
                 0x3B, 0x77, 0x70, 0x51, 0xE7, 0x0E, 0xD4, 0xD1,
                 0xC1, 0xA7, 0x06, 0x76, 0xB3, 0xC1, 0x1C, 0xB7,
                 0xF9, 0x59, 0x03, 0xFC, 0x23, 0x84, 0x7F, 0x7B,
                 0xF0, 0xBC, 0x7C, 0x65, 0x78, 0x75, 0x48, 0xE0,
                 0x90, 0x23, 0x44, 0x8F, 0xCB, 0x23, 0xC4, 0x9C,
                 0x6F, 0x30, 0x43, 0x04, 0xD7, 0x59, 0x00, 0x1C,
                 0x43, 0x04, 0x3E, 0x67, 0x4C, 0x9F, 0x71, 0x60,
                 0xFE, 0xFF, 0xCF, 0x38, 0xEC, 0xD2, 0xC3, 0x07,
                 0x6A, 0x78, 0x13, 0xF8, 0xFE, 0x8C, 0x3B, 0xD2,
                 0x18, 0x9C, 0x1F, 0x33, 0x1E, 0x76, 0x18, 0xF8,
                 0xFB, 0x8E, 0x67, 0x70, 0x34, 0x3E, 0xA0, 0x18,
                 0x21, 0xF8, 0x73, 0xC9, 0x73, 0x8A, 0x35, 0x0F,
                 0x52, 0x33, 0x7A, 0x67, 0x38, 0x04, 0x76, 0xB3,
                 0xC2, 0x1D, 0x38, 0x3C, 0x04, 0x3E, 0x80, 0x56,
                 0x27, 0x47, 0x4E, 0x3F, 0xA7, 0x84, 0x1B, 0x3E,
                 0xBF, 0x0A, 0x60, 0x0E, 0x41, 0x38, 0x85, 0x36,
                 0x7D, 0x6A, 0x34, 0x6A, 0xD5, 0xA0, 0x4C, 0x8D,
                 0x32, 0x0D, 0x6A, 0xF5, 0xA9, 0xD4, 0x98, 0xB1,
                 0x0B, 0x8B, 0x03, 0xBE, 0x02, 0x74, 0x1C, 0xB0,
                 0x3C, 0x0A, 0x1D, 0xC1, 0xC8, 0x9B, 0x40, 0x20,
                 0x0E, 0x0B, 0x42, 0x23, 0xBD, 0x71, 0x04, 0x62,
                 0xC9, 0xEF, 0x2F, 0x81, 0x58, 0xEE, 0x03, 0x45,
                 0x20, 0x0E, 0x68, 0x02, 0x9C, 0xAA, 0x00, 0xA7,
                 0xAF, 0x01, 0x81, 0x38, 0x32, 0x08, 0x15, 0xFA,
                 0x35, 0x13, 0x88, 0x63, 0x82, 0xD0, 0x50, 0x3E,
                 0x40, 0x98, 0xF4, 0x17, 0x80, 0x00, 0x89, 0x11,
                 0x10, 0x16, 0xEE, 0xE5, 0x20, 0x10, 0x4B, 0x7B,
                 0x2D, 0x08, 0xC4, 0x42, 0xAC, 0x80, 0xB0, 0xB8,
                 0x20, 0x34, 0x9C, 0x16, 0x10, 0x26, 0xC9, 0x0C,
                 0x08, 0x0B, 0x04, 0x42, 0xE5, 0x3F, 0xD3, 0x04,
                 0x62, 0x91, 0x6E, 0x00, 0xE9, 0xBA, 0x05, 0xE2,
                 0x20, 0x7A, 0x40, 0x98, 0x0C, 0x3F, 0x20, 0x2C,
                 0x34, 0x08, 0x8D, 0xF6, 0x6C, 0x10, 0x20, 0x31,
                 0x04, 0xC2, 0xE2, 0x3B, 0x02, 0x61, 0xE2, 0xDF,
                 0x44, 0x02, 0x71, 0x4A, 0x4B, 0x10, 0x37, 0xA5,
                 0x01, 0x06, 0x11, 0x90, 0x93, 0x6A, 0x02, 0x62,
                 0xB9, 0x41, 0x34, 0x24, 0xF2, 0xB0, 0x10, 0x90,
                 0x93, 0x82, 0x68, 0xC0, 0xC4, 0x14, 0x90, 0xFF,
                 0xFF, 0x43, 0x13, 0x88, 0x80, 0x9C, 0xCA, 0x15,
                 0x10, 0x8B, 0x08, 0x22, 0x20, 0x27, 0x7B, 0x52,
                 0x09, 0xC8, 0x39, 0x41, 0x74, 0x04, 0x20, 0xBA,
                 0x80, 0x58, 0x3E, 0x10, 0x01, 0x39, 0x96, 0x2F,
                 0x20, 0x16, 0x12, 0x44, 0x40, 0x4E, 0xF4, 0xF3,
                 0x09, 0x44, 0xE2, 0x81, 0x68, 0x10, 0xE4, 0x3F,
                 0x21, 0x20, 0x67, 0x04, 0x11, 0x10, 0x79, 0x12,
                 0x05, 0x21, 0x9A, 0x3E, 0x62, 0x02, 0x71, 0x6A,
                 0x10, 0x9A, 0xEC, 0x27, 0x14, 0x84, 0xFC, 0xFF,
                 0x01
             })
         }

         Mutex (C20D, 0x00)
         Method (C103, 5, NotSerialized)
         {
             Acquire (C20D, 0xFFFF)
             If (Arg4)
             {
                 Acquire (\_GL, 0xFFFF)
             }

             ShiftLeft (Arg0, 0x10, C050)
             Store (Arg1, C053)
             Store (Arg2, C051)
             Store (Arg3, C052)
             Store (0x00, C054)
             \C0F3 (Arg0)
             Store (C054, Local0)
             If (Arg4)
             {
                 Release (\_GL)
             }

             Release (C20D)
             Return (Local0)
         }

         OperationRegion (C20E, SystemIO, 0x84, 0x02)
         Field (C20E, ByteAcc, NoLock, Preserve)
         {
             C20F,   8,
             C210,   8
         }

         Mutex (C211, 0x00)
         Mutex (C212, 0x00)
         Name (C213, 0x00)
         Method (C21D, 1, NotSerialized)
         {
             Acquire (C211, 0xFFFF)
             Store (Arg0, C20F)
             Release (C211)
             Return (0x00)
         }

         Method (C220, 1, NotSerialized)
         {
             Acquire (C211, 0xFFFF)
             Store (Arg0, C210)
             Release (C211)
             Return (0x00)
         }

         Method (C221, 1, NotSerialized)
         {
             Acquire (C211, 0xFFFF)
             Store (And (Arg0, 0xFF), C20F)
             Store (And (ShiftRight (Arg0, 0x08), 0xFF), C210)
             C223 (Arg0)
             Release (C211)
             Return (0x00)
         }

         Method (C21F, 1, NotSerialized)
         {
             Return (0x00)
         }

         Method (C222, 1, NotSerialized)
         {
             Return (0x00)
         }

         Method (C21E, 0, NotSerialized)
         {
             Return (0x00)
         }

         Method (C226, 0, Serialized)
         {
             Acquire (C212, 0xFFFF)
             C21D (C213)
             Release (C212)
         }

         Method (C227, 0, Serialized)
         {
             Acquire (C212, 0xFFFF)
             C221 (C213)
             Release (C212)
         }

         Method (C223, 1, Serialized)
         {
             Return (0x00)
         }
     }

     Device (\_SB.C22A)
     {
         Name (_HID, EisaId ("PNP0C02"))
         Name (_UID, 0x00)
         Name (C22B, Package (0x10) {})
         Name (C22C, Package (0x10) {})
         Name (C22D, Package (0x11) {})
         Name (C22E, Package (0x11) {})
         Name (C22F, 0xFFFFFFFD)
         Mutex (C230, 0x00)
         Method (C231, 0, NotSerialized)
         {
             Add (\_SB.C02E, 0x000F0000, Local0)
             Return (Local0)
         }

         OperationRegion (C232, SystemMemory, C231, 0xB0)
         Field (C232, AnyAcc, NoLock, Preserve)
         {
             C233,   640
         }

         Method (C234, 1, NotSerialized)
         {
             OperationRegion (C235, SystemMemory, Arg0, 0x03)
             Field (C235, ByteAcc, NoLock, Preserve)
             {
                 C236,   16,
                 C237,   8
             }

             Store (0x00, Local0)
             If (LEqual (C236, 0xAA55))
             {
                 ShiftLeft (C237, 0x09, Local0)
                 Add (Arg0, Local0, Local0)
                 Decrement (Local0)
             }

             Return (Local0)
         }

         Method (C238, 0, NotSerialized)
         {
             Store (C233, Local0)
             Store (0x00, Local3)
             Store (0x00, Local4)
             Store (0x01, Local1)
             While (LAnd (Local1, LNot (LGreater (Local3, 0x10))))
             {
                 Store (DerefOf (Index (Local0, Add (Local4, 0x03))), Local=
2)
                 Or (ShiftLeft (DerefOf (Index (Local0, Add (Local4, 0x04))=
), 0x08), Local2, Local1)
                 ShiftLeft (Local1, 0x04, Local1)
                 If (Local1)
                 {
                     Store (Local1, Index (C22B, Local3))
                     Store (DerefOf (Index (Local0, Add (Local4, 0x02))), L=
ocal5)
                     Add (Local1, ShiftLeft (Local5, 0x09), Local5)
                     Decrement (Local5)
                     Store (Local5, Index (C22C, Local3))
                     Increment (Local3)
                     Add (Local4, 0x05, Local4)
                 }
             }

             Return (Local3)
         }

         Method (C239, 0, NotSerialized)
         {
             Store (C238 (), Local3)
             Store (Local3, Local4)
             Store (0x00, Local2)
             Store (Local2, Local7)
             While (LLess (Local2, Local4))
             {
                 Store (0x000FFFFF, Local1)
                 Store (Local2, Local5)
                 While (LLess (Local5, Local3))
                 {
                     Store (DerefOf (Index (C22B, Local5)), Local6)
                     If (LGreater (Local6, Local7))
                     {
                         If (LLess (Local6, Local1))
                         {
                             Store (Local5, Local0)
                             Store (Local6, Local1)
                         }
                     }
                     Else
                     {
                         If (LEqual (Local6, Local7))
                         {
                             Decrement (Local4)
                         }
                     }

                     Increment (Local5)
                 }

                 If (LGreater (Local0, Local2))
                 {
                     Store (DerefOf (Index (C22C, Local0)), Local7)
                     Store (DerefOf (Index (C22B, Local2)), Index (C22B, Lo=
cal0))
                     Store (DerefOf (Index (C22C, Local2)), Index (C22C, Lo=
cal0))
                     Store (Local1, Index (C22B, Local2))
                     Store (Local7, Index (C22C, Local2))
                 }

                 Store (C234 (Local1), Local7)
                 If (Local7)
                 {
                     Store (Local7, Index (C22C, Local2))
                 }

                 Store (Local1, Local7)
                 Increment (Local2)
             }

             Return (Local4)
         }

         Method (C23A, 1, NotSerialized)
         {
             Acquire (C05F, 0xFFFF)
             Store (0x00, Local0)
             Store (Local0, C22F)
             Store (Local0, Local2)
             Store (Local0, Local3)
             While (LNot (LGreater (Local0, 0x10)))
             {
                 Store (Local2, Index (C22D, Local0))
                 Store (Local2, Index (C22E, Local0))
                 Increment (Local0)
             }

             Store (ShiftLeft (C026, 0x04), Local0)
             Store (Local0, Index (C061, C060))
             Store (Local0, Index (C062, C060))
             Store (Local0, Index (C22B, Arg0))
             Store (Local0, Index (C22C, Arg0))
             While (LAnd (LNot (LGreater (Local2, Arg0)), LNot (LGreater (L=
ocal3, C060))))
             {
                 Store (DerefOf (Index (C061, Local3)), Local0)
                 Add (DerefOf (Index (C062, Local3)), 0x01, Local1)
                 Store (DerefOf (Index (C22B, Local2)), Local4)
                 Add (DerefOf (Index (C22C, Local2)), 0x01, Local5)
                 Store (DerefOf (Index (C22D, C22F)), Local6)
                 If (LNot (LGreater (Local1, Local4)))
                 {
                     If (Local6)
                     {
                         Subtract (Local0, Local6, Index (C22E, C22F))
                         Increment (C22F)
                     }

                     If (LLess (Local1, Local4))
                     {
                         Store (Local1, Index (C22D, C22F))
                     }

                     Increment (Local3)
                 }
                 Else
                 {
                     If (Local6)
                     {
                         Subtract (Local4, Local6, Local7)
                         If (LGreater (Local7, 0x00))
                         {
                             Store (Local7, Index (C22E, C22F))
                             Increment (C22F)
                         }
                     }

                     If (LGreater (Local0, Local5))
                     {
                         Store (Local5, Index (C22D, C22F))
                     }

                     Increment (Local2)
                 }
             }

             Release (C05F)
         }

         Method (C23B, 0, NotSerialized)
         {
             Acquire (C230, 0xFFFF)
             If (LEqual (C22F, 0xFFFFFFFD))
             {
                 C05E ()
                 Store (C239 (), Local0)
                 C23A (Local0)
             }

             Store (C22F, Local1)
             Release (C230)
             Return (Local1)
         }

         Method (_INI, 0, NotSerialized)
         {
             C23B ()
         }

         Method (C065, 3, NotSerialized)
         {
             Store (Arg1, Local2)
             CreateDWordField (Arg0, Local2, C23C)
             Store (0x0986, C23C)
             Add (Local2, 0x04, Local2)
             CreateDWordField (Arg0, Local2, C23D)
             Store (DerefOf (Index (C22D, Arg2)), C23D)
             Add (Local2, 0x04, Local2)
             CreateDWordField (Arg0, Local2, C23E)
             Store (DerefOf (Index (C22E, Arg2)), C23E)
             Add (Local2, 0x04, Local2)
             Return (Local2)
         }

         Method (C23F, 0, NotSerialized)
         {
             Multiply (C22F, 0x0C, Local1)
             Add (SizeOf (C01E), Local1, Local2)
             Store (Buffer (Local2) {}, Local0)
             Store (0x00, Local1)
             Store (Local1, Local2)
             While (LLess (Local1, C22F))
             {
                 Store (C065 (Local0, Local2, Local1), Local2)
                 Increment (Local1)
             }

             Store (0x00, Local1)
             While (LLess (Local1, SizeOf (C01E)))
             {
                 Store (DerefOf (Index (C01E, Local1)), Index (Local0, Loca=
l2))
                 Increment (Local2)
                 Increment (Local1)
             }

             Return (Local0)
         }

         Method (_CRS, 0, NotSerialized)
         {
             C240 ()
             Store (C01E, Local0)
             Acquire (C230, 0xFFFF)
             If (LGreater (C22F, 0x00))
             {
                 Store (C23F (), Local0)
             }

             Release (C230)
             Return (Local0)
         }

         Method (_STA, 0, NotSerialized)
         {
             Subtract (SizeOf (C01E), 0x02, Local0)
             Or (C23B (), Local0, Local0)
             If (Local0)
             {
                 Store (0x0F, Local0)
             }

             Return (Local0)
         }
     }

     Scope (\_SB.C22A)
     {
         Name (C01E, ResourceTemplate ()
         {
             Memory32Fixed (ReadWrite, 0xFEDA0000, 0x00020000)
             Memory32Fixed (ReadWrite, 0xFEC01000, 0x00001000)
         })
         Method (C240, 0, NotSerialized)
         {
             Store (0x00, Local0)
         }
     }

     Device (\_SB.C002.C241)
     {
         Name (_HID, EisaId ("PNP0C02"))
         Name (_UID, 0x01)
         Method (_CRS, 0, NotSerialized)
         {
             Name (C242, ResourceTemplate ()
             {
                 IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02)
                 IO (Decode16, 0x1000, 0x1000, 0x01, 0x80)
                 IO (Decode16, 0x1100, 0x1100, 0x01, 0x40)
                 IO (Decode16, 0x1200, 0x1200, 0x01, 0x20)
                 Memory32Fixed (ReadWrite, 0xE0000000, 0x10000000)
                 Memory32Fixed (ReadWrite, 0xFEC00000, 0x00000100)
                 Memory32Fixed (ReadWrite, 0xFED20000, 0x00070000)
                 Memory32Fixed (ReadWrite, 0xFED90000, 0x0000B000)
             })
             Return (C242)
         }
     }

     Device (\_SB.C002.C003.C244)
     {
         Name (_HID, EisaId ("PNP0C02"))
         Name (_UID, 0x02)
         Name (\_SB.C002.C003.C198, ResourceTemplate ()
         {
             IO (Decode16, 0x0010, 0x0010, 0x01, 0x10)
             IO (Decode16, 0x0024, 0x0024, 0x01, 0x1C)
             IO (Decode16, 0x004E, 0x004E, 0x01, 0x02)
             IO (Decode16, 0x0050, 0x0050, 0x01, 0x04)
             IO (Decode16, 0x0063, 0x0063, 0x01, 0x01)
             IO (Decode16, 0x0065, 0x0065, 0x01, 0x01)
             IO (Decode16, 0x0067, 0x0067, 0x01, 0x01)
             IO (Decode16, 0x0074, 0x0074, 0x01, 0x04)
             IO (Decode16, 0x0090, 0x0090, 0x01, 0x10)
             IO (Decode16, 0x00A4, 0x00A4, 0x01, 0x1A)
             IO (Decode16, 0x0500, 0x0500, 0x01, 0x80)
             Memory32Fixed (ReadOnly, 0xFFB00000, 0x00100000)
             Memory32Fixed (ReadOnly, 0xFFF00000, 0x00100000)
         })
         Method (_CRS, 0, NotSerialized)
         {
             If (LEqual (\_SB.C002.C003.C1B3._STA (), 0x0F))
             {
                 CreateByteField (C198, 0x57, C068)
                 Store (0x60, C068)
             }

             Return (^^C172.C197 ())
         }
     }

     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
     })
     Method (\_PTS, 1, NotSerialized)
     {
         Store (Arg0, \_SB.C03C)
         If (LGreater (Arg0, 0x00))
         {
             If (LNot (LEqual (Arg0, 0x05)))
             {
                 \_SB.C002.C003.C004.C161 (0x00)
                 If (LNot (LEqual (Arg0, 0x04)))
                 {
                     Store (0x01, \_SB.C1E3)
                 }

                 Store (0x01, \_SB.C1E7)
             }
         }
     }

     Method (\_WAK, 1, NotSerialized)
     {
         Store (0x00, \_SB.C03C)
         Store (0x00, \_SB.C047)
         \_SB.C002.C003.C004.C114 ()
         If (\_SB.C002.C003.C004.C110)
         {
             Acquire (\_SB.C002.C003.C004.C10E, 0xFFFF)
             Store (0x01, \_SB.C002.C003.C004.C119)
             Store (0x00, \_SB.C002.C003.C004.C118)
             Release (\_SB.C002.C003.C004.C10E)
         }

         If (LGreater (Arg0, 0x02))
         {
             \_TZ.C246 ()
             Notify (\_TZ.TZ1, 0x80)
             Notify (\_TZ.TZ2, 0x80)
             Store (0x01, \_SB.C1E7)
         }

         If (LOr (LEqual (Arg0, 0x04), LEqual (\C01A (), 0x01)))
         {
             Notify (\_SB.C1E9, 0x02)
         }

         Store (\_SB.C002.C003.C004.C005 (), Local2)
         \_SB.C002.C003.C004.C112 (0x03, 0xFF)
         Store (\_SB.C002.C003.C004.C113 (), Local1)
         Store (\_SB.C002.C003.C004.C005 (), Local3)
         XOr (Local2, Local3, Local3)
         If (Local3)
         {
             Notify (\_SB.C16F, 0x80)
             If (\_PR.C000.C001)
             {
                 Notify (\_PR.C000, 0x81)
             }

             Notify (\_PR.C000, 0x80)
         }
         Else
         {
             If (LEqual (Arg0, 0x04))
             {
                 XOr (Local2, 0x01, \_SB.C159)
             }
         }

         Notify (\_SB.C002.C0A9.C1D9, 0x00)
         Notify (\_SB.C002.C0BD, 0x00)
         Notify (\_SB.C002.C0C4, 0x00)
         Notify (\_SB.C002.C0C5, 0x00)
         Notify (\_SB.C002.C0C6, 0x00)
         Notify (\_SB.C002.C0C7, 0x00)
         Return (Package (0x02)
         {
             0x00,
             0x00
         })
     }

     Scope (\_TZ)
     {
         Name (C247, Package (0x04)
         {
             Package (0x02)
             {
                 Package (0x06)
                 {
                     0x05AC,
                     0x0C0A,
                     0x0CD2,
                     0x0D36,
                     0x0D9A,
                     0x0E30
                 },

                 Package (0x06)
                 {
                     0x0C6E,
                     0x0CF0,
                     0x0D68,
                     0x0DCC,
                     0x0E94,
                     0x0FA3
                 }
             },

             Package (0x02)
             {
                 Package (0x06)
                 {
                     0x05AC,
                     0x0C0A,
                     0x0CD2,
                     0x0D36,
                     0x0D9A,
                     0x0E30
                 },

                 Package (0x06)
                 {
                     0x0C6E,
                     0x0CF0,
                     0x0D68,
                     0x0DCC,
                     0x0E94,
                     0x0FA3
                 }
             },

             Package (0x02)
             {
                 Package (0x02)
                 {
                     0x05AC,
                     0x0E62
                 },

                 Package (0x02)
                 {
                     0x0EC6,
                     0x0FA3
                 }
             },

             Package (0x02)
             {
                 Package (0x02)
                 {
                     0x05AC,
                     0x0CA0
                 },

                 Package (0x02)
                 {
                     0x0D04,
                     0x0FA3
                 }
             }
         })
         Name (C248, 0x00)
         Name (C249, 0x01)
         Name (C24A, 0x02)
         Name (C24B, 0x03)
         Name (C24C, 0x04)
         Name (C24D, 0x00)
         Name (C24E, 0x00)
         Name (C24F, 0x00)
         Name (C250, 0x01)
         Name (C251, Package (0x03)
         {
             0x00,
             0x00,
             0x00
         })
         Name (C252, Package (0x03)
         {
             0x00,
             0x00,
             0x00
         })
         Name (C253, Package (0x03)
         {
             0xFFFFFFFD,
             0xFFFFFFFD,
             0xFFFFFFFD
         })
         Name (C254, 0x00)
         Mutex (C16D, 0x00)
         Name (C16E, 0x07)
         Method (C255, 2, Serialized)
         {
             Store (0x00, Local2)
             If (And (C254, Arg0))
             {
                 If (LNot (LGreater (\_SB.C002.C003.C004.C152, Arg1)))
                 {
                     Store (0x01, Local2)
                 }
             }

             Return (Local2)
         }

         Method (C256, 2, Serialized)
         {
             ShiftLeft (Arg0, 0x01, Local0)
             Decrement (Local0)
             Store (0x62, \_SB.C002.C003.C004.C153)
             If (LEqual (And (C254, Local0), 0x00))
             {
                 Store (Arg1, \_SB.C002.C003.C004.C152)
             }

             Or (C254, Arg0, C254)
         }

         Method (C257, 2, Serialized)
         {
             And (C254, Not (Arg0), C254)
             Store (0x7F, Local0)
             If (C254)
             {
                 Store (Arg1, Local0)
             }

             If (LEqual (Local0, 0x7F))
             {
                 Store (0x72, \_SB.C002.C003.C004.C153)
             }

             If (LOr (Arg1, LEqual (C254, 0x00)))
             {
                 Store (Local0, \_SB.C002.C003.C004.C152)
             }
         }

         Method (C258, 2, Serialized)
         {
             Store (0x01, Local0)
             Store (Arg0, Local1)
             If (LLess (Arg0, DerefOf (Index (C253, Arg1))))
             {
                 Store (0x00, Local0)
                 Add (Arg0, 0x01, Local1)
             }

             Store (DerefOf (Index (DerefOf (Index (DerefOf (Index (C247, C=
259 (Arg1))), Local0)), Local1)), Local2)
             If (LAnd (LEqual (\_SB.C043, 0x01), LAnd (LEqual (Arg0, 0x00),=
 LEqual (Arg1, 0x00))))
             {
                 If (\_SB.C002.C003.C004.C005 ())
                 {
                     Store (0x0B4B, Local2)
                 }
             }

             Return (Local2)
         }

         Method (C246, 0, NotSerialized)
         {
             Acquire (C16D, 0xFFFF)
             Store (0x07, C16E)
             Store (0xFFFFFFFD, Index (C253, 0x00))
             Store (0xFFFFFFFD, Index (C253, 0x01))
             Store (0x00, C254)
             Release (C16D)
             \_SB.C002.C003.C0A3 (0x30, 0x09, 0x00)
             Subtract (0x0EC6, 0x0AAC, Local1)
             Divide (Local1, 0x0A, Local0, Local2)
             Add (Local2, 0x01, Local2)
             \_SB.C002.C003.C0A3 (0x30, 0x19, Local2)
             \_SB.C002.C003.C0A3 (0x30, 0x16, Local2)
             Subtract (0x0F2A, 0x0AAC, Local1)
             Divide (Local1, 0x0A, Local0, Local2)
             Add (Local2, 0x01, Local2)
             \_SB.C002.C003.C0A3 (0x30, 0x09, 0x08)
             \_SB.C002.C003.C0A3 (0x30, 0x19, Local2)
             \_SB.C002.C003.C0A3 (0x30, 0x16, Local2)
             \_SB.C002.C003.C0A3 (0x30, 0x09, 0x00)
             Store (0x7F, Local2)
             \_SB.C002.C003.C0A3 (0x30, 0x20, Local2)
             \_SB.C002.C003.C0A3 (0x30, 0x17, Local2)
             \_SB.C002.C003.C0A3 (0x30, 0x0B, Local2)
             \_SB.C002.C003.C0A3 (0x30, 0x0C, 0x80)
             \_SB.C002.C003.C0A3 (0x30, 0x21, 0x0A)
             Store (0x7F, \_SB.C002.C003.C004.C152)
         }

         Method (C25A, 1, Serialized)
         {
             If (LLess (Arg0, 0x02))
             {
                 If (LEqual (Arg0, 0x01))
                 {
                     \_SB.C002.C003.C0A3 (0x30, 0x09, 0x08)
                     Store (\_SB.C002.C003.C0A3 (0x31, 0x01, 0x00), Local2)
                     \_SB.C002.C003.C0A3 (0x30, 0x09, 0x00)
                 }
                 Else
                 {
                     Store (\_SB.C002.C003.C0A3 (0x31, 0x01, 0x00), Local2)
                     Store (And (Add (\_SB.C048, Local2), 0xFF), Local2)
                 }

                 If (And (Local2, 0x80))
                 {
                     Subtract (0x0100, Local2, Local2)
                 }

                 Multiply (Local2, 0x0A, Local1)
                 Add (Local1, 0x0AAC, Local1)
             }
             Else
             {
                 Store (0x0B4C, Local1)
                 Acquire (\_SB.C002.C003.C004.C10E, 0xFFFF)
                 If (\_SB.C002.C003.C004.C110)
                 {
                     Store (\_SB.C002.C003.C004.C14B, Local1)
                 }

                 Release (\_SB.C002.C003.C004.C10E)
             }

             Store (Local1, Local2)
             If (LLess (Local1, 0x0B4C))
             {
                 If (LLess (DerefOf (Index (C251, Arg0)), 0x0B4C))
                 {
                     Store (0x0B4C, Index (C252, Arg0))
                 }

                 Store (DerefOf (Index (C252, Arg0)), Local1)
             }

             Store (Local2, Index (C251, Arg0))
             Store (Local1, Index (C252, Arg0))
             Acquire (C16D, 0xFFFF)
             Store (ShiftLeft (0x01, Arg0), Local2)
             If (And (C16E, Local2))
             {
                 If (C250)
                 {
                     Store (Match (DerefOf (Index (DerefOf (Index (C247, C2=
59 (Arg0))), 0x01)), MGT, Local1, MTR, 0x00, 0x00), Local0)
                 }
                 Else
                 {
                     Store (Match (DerefOf (Index (DerefOf (Index (C247, C2=
59 (Arg0))), 0x00)), MGE, Local1, MTR, 0x00, 0x00), Local0)
                     Decrement (Local0)
                     Store (0x01, C250)
                 }

                 If (LOr (LNot (LEqual (Local0, DerefOf (Index (C253, Arg0)=
))), C24F))
                 {
                     Store (0x00, C24F)
                     Store (Local0, Index (C253, Arg0))
                     If (LLess (Arg0, 0x02))
                     {
                         C25B (Local0, Arg0)
                     }
                     Else
                     {
                         Notify (\_TZ.TZ3, 0x81)
                     }
                 }

                 And (C16E, Not (Local2), C16E)
             }

             Release (C16D)
             Return (Local1)
         }

         Method (C25B, 2, Serialized)
         {
             Store (DerefOf (Index (DerefOf (Index (DerefOf (Index (C247, C=
259 (Arg1))), 0x01)), Arg0)), Local0)
             Subtract (Local0, 0x0AAC, Local0)
             Divide (Local0, 0x0A, Local1, Local6)
             If (LAnd (LEqual (Arg1, 0x00), LLess (Local6, 0x7F)))
             {
                 Store (And (Subtract (Local6, \_SB.C048), 0xFF), Local6)
             }

             Store (DerefOf (Index (DerefOf (Index (DerefOf (Index (C247, C=
259 (Arg1))), 0x00)), Arg0)), Local0)
             If (LLess (Local0, 0x0AAC))
             {
                 Subtract (0x0AAC, Local0, Local1)
                 Divide (Local1, 0x0A, Local3, Local2)
                 Not (Local2, Local2)
                 Add (Local2, 0x01, Local2)
                 And (Local2, 0xFF, Local2)
             }
             Else
             {
                 Subtract (Local0, 0x0AAC, Local0)
                 Divide (Local0, 0x0A, Local1, Local2)
                 If (LEqual (Arg1, 0x00))
                 {
                     Store (And (Subtract (Local2, \_SB.C048), 0xFF), Local=
2)
                 }
             }

             If (LLess (Arg1, 0x02))
             {
                 Store (0x0D, Local5)
                 Store (0x0E, Local4)
                 If (Arg1)
                 {
                     \_SB.C002.C003.C0A3 (0x30, 0x09, 0x08)
                 }

                 \_SB.C002.C003.C0A3 (0x30, Local4, Local2)
                 \_SB.C002.C003.C0A3 (0x30, Local5, Local6)
                 \_SB.C002.C003.C0A3 (0x30, 0x09, 0x00)
                 If (Arg1)
                 {
                     \_SB.C103 (0xEA74, 0x03, Arg0, 0x00, 0x00)
                     Notify (\_TZ.TZ2, 0x81)
                 }
                 Else
                 {
                     Notify (\_TZ.TZ1, 0x81)
                 }
             }
         }

         Method (C259, 1, Serialized)
         {
             If (LEqual (Arg0, 0x00))
             {
                 Store (C24E, Local1)
             }
             Else
             {
                 Add (Arg0, 0x01, Local1)
             }

             Return (Local1)
         }

         PowerResource (C25C, 0x00, 0x0000)
         {
             Method (_STA, 0, NotSerialized)
             {
                 Return (C255 (0x01, 0x80))
             }

             Method (_ON, 0, NotSerialized)
             {
                 If (LGreater (DerefOf (Index (C252, 0x00)), C258 (C24B, 0x=
00)))
                 {
                     C256 (0x01, 0x80)
                 }
             }

             Method (_OFF, 0, NotSerialized)
             {
                 C257 (0x01, 0xA0)
             }
         }

         PowerResource (C25D, 0x00, 0x0000)
         {
             Method (_STA, 0, NotSerialized)
             {
                 Return (C255 (0x02, 0xA0))
             }

             Method (_ON, 0, NotSerialized)
             {
                 If (LGreater (DerefOf (Index (C252, 0x00)), C258 (C24A, 0x=
00)))
                 {
                     C256 (0x02, 0xA0)
                 }
             }

             Method (_OFF, 0, NotSerialized)
             {
                 C257 (0x02, 0xB8)
             }
         }

         PowerResource (C25E, 0x00, 0x0000)
         {
             Method (_STA, 0, NotSerialized)
             {
                 Return (C255 (0x04, 0xB8))
             }

             Method (_ON, 0, NotSerialized)
             {
                 If (LGreater (DerefOf (Index (C252, 0x00)), C258 (C249, 0x=
00)))
                 {
                     C256 (0x04, 0xB8)
                 }
             }

             Method (_OFF, 0, NotSerialized)
             {
                 C257 (0x04, 0xCC)
             }
         }

         PowerResource (C25F, 0x00, 0x0000)
         {
             Method (_STA, 0, NotSerialized)
             {
                 Return (C255 (0x08, 0xCC))
             }

             Method (_ON, 0, NotSerialized)
             {
                 If (LGreater (DerefOf (Index (C252, 0x00)), C258 (C248, 0x=
00)))
                 {
                     C256 (0x08, 0xCC)
                 }
             }

             Method (_OFF, 0, NotSerialized)
             {
                 C257 (0x08, 0x7F)
             }
         }

         Device (C260)
         {
             Method (_INI, 0, NotSerialized)
             {
                 \_TZ.C246 ()
             }

             Name (_HID, EisaId ("PNP0C0B"))
             Name (_UID, 0x00)
             Name (_PR0, Package (0x01)
             {
                 C25C
             })
         }

         Device (C261)
         {
             Name (_HID, EisaId ("PNP0C0B"))
             Name (_UID, 0x01)
             Name (_PR0, Package (0x01)
             {
                 C25D
             })
         }

         Device (C262)
         {
             Name (_HID, EisaId ("PNP0C0B"))
             Name (_UID, 0x02)
             Name (_PR0, Package (0x01)
             {
                 C25E
             })
         }

         Device (C263)
         {
             Name (_HID, EisaId ("PNP0C0B"))
             Name (_UID, 0x03)
             Name (_PR0, Package (0x01)
             {
                 C25F
             })
         }

         ThermalZone (TZ1)
         {
             Name (_AL0, Package (0x01)
             {
                 C260
             })
             Name (_AL1, Package (0x01)
             {
                 C261
             })
             Name (_AL2, Package (0x01)
             {
                 C262
             })
             Name (_AL3, Package (0x01)
             {
                 C263
             })
             Method (_AC0, 0, NotSerialized)
             {
                 Return (C258 (C24B, 0x00))
             }

             Method (_AC1, 0, NotSerialized)
             {
                 Return (C258 (C24A, 0x00))
             }

             Method (_AC2, 0, NotSerialized)
             {
                 Return (C258 (C249, 0x00))
             }

             Method (_AC3, 0, NotSerialized)
             {
                 Return (C258 (C248, 0x00))
             }

             Method (_PSV, 0, NotSerialized)
             {
                 Return (C258 (C24C, 0x00))
             }

             Name (_PSL, Package (0x01)
             {
                 \_PR.C000
             })
             Method (C264, 1, NotSerialized)
             {
                 Store (Arg0, C24E)
                 Acquire (C16D, 0xFFFF)
                 Store (0x07, C16E)
                 Store (0x01, C24F)
                 Release (C16D)
                 If (LEqual (Arg0, 0x00))
                 {
                     Store (0x00, C248)
                     Store (0x01, C249)
                     Store (0x02, C24A)
                     Store (0x03, C24B)
                     Store (0x04, C24C)
                 }
                 Else
                 {
                     Store (0x00, C248)
                     Store (0x01, C24C)
                     Store (0x02, C249)
                     Store (0x03, C24A)
                     Store (0x04, C24B)
                 }
             }

             Name (_TSP, 0x64)
             Name (_TC1, 0x01)
             Name (_TC2, 0x02)
             Name (_CRT, 0x0EC6)
             Method (_TMP, 0, Serialized)
             {
                 Store (C25A (0x00), Local0)
                 Return (Local0)
             }
         }

         ThermalZone (TZ2)
         {
             Method (C265, 0, NotSerialized)
             {
                 Return (C258 (0x00, 0x01))
             }

             Name (C266, Package (0x01)
             {
                 \_PR.C000
             })
             Name (_TSP, 0x012C)
             Name (_TC1, 0x01)
             Name (_TC2, 0x02)
             Name (_CRT, 0x0F2A)
             Method (_TMP, 0, Serialized)
             {
                 Store (C25A (0x01), Local0)
                 Return (Local0)
             }
         }

         ThermalZone (TZ3)
         {
             Method (_PSV, 0, NotSerialized)
             {
                 Return (C258 (0x00, 0x02))
             }

             Name (_PSL, Package (0x01)
             {
                 \_PR.C000
             })
             Name (_TSP, 0x012C)
             Name (_TC1, 0x01)
             Name (_TC2, 0x02)
             Name (_CRT, 0x0EC6)
             Method (_TMP, 0, Serialized)
             {
                 Store (C25A (0x02), Local0)
                 Return (Local0)
             }
         }
     }

     Scope (\_GPE)
     {
         Method (_L00, 0, NotSerialized)
         {
             Store (0x00, Local1)
             Store (\_SB.C002.C003.C0A3 (0x31, 0x02, 0x00), Local0)
             Store (\_SB.C002.C003.C0A3 (0x31, 0x12, 0x00), Local2)
             If (And (LEqual (And (Local0, 0xFF00), 0x00), LEqual (And (Loc=
al2, 0xFF00), 0x00)))
             {
                 If (And (Local0, 0x18))
                 {
                     Store (0x01, Local1)
                     If (And (Local0, 0x08))
                     {
                         Store (0x00, \_TZ.C250)
                     }
                 }

                 If (And (Local2, 0x18))
                 {
                     Store (0x02, Local1)
                     If (And (Local0, 0x08))
                     {
                         Store (0x00, \_TZ.C250)
                     }
                 }
             }
             Else
             {
                 Store (0x03, Local1)
             }

             Acquire (\_TZ.C16D, 0xFFFF)
             Store (Local1, \_TZ.C16E)
             Release (\_TZ.C16D)
             If (And (Local1, 0x01))
             {
                 Notify (\_TZ.TZ1, 0x80)
             }

             If (And (Local1, 0x02))
             {
                 Notify (\_TZ.TZ2, 0x80)
             }
         }

         Method (_L01, 0, NotSerialized)
         {
             If (LEqual (And (\_SB.C002.C06C.C06E, 0x00010000), 0x00))
             {
                 If (\_SB.C002.C006.C0D4)
                 {
                     Store (0x01, \_SB.C002.C006.C0D4)
                     Or (0x08, 0x01, \_SB.C002.C006.C0D0)
                     If (And (\_SB.C002.C006.C0D0, 0x40))
                     {
                         Sleep (0x01F4)
                     }

                     Notify (\_SB.C002.C006, 0x00)
                 }
             }

             If (LEqual (And (\_SB.C002.C06C.C06E, 0x00020000), 0x00))
             {
                 If (\_SB.C002.C0DD.C0D4)
                 {
                     Store (0x01, \_SB.C002.C0DD.C0D4)
                     Or (0x08, 0x01, \_SB.C002.C0DD.C0D0)
                     Sleep (0x64)
                     Notify (\_SB.C002.C0DD, 0x00)
                 }
             }
         }

         Method (_L03, 0, NotSerialized)
         {
             Notify (\_SB.C002.C0BD, 0x02)
         }

         Method (_L04, 0, NotSerialized)
         {
             Notify (\_SB.C002.C0C4, 0x02)
         }

         Method (_L09, 0, NotSerialized)
         {
             If (LEqual (And (\_SB.C002.C06C.C06E, 0x00010000), 0x00))
             {
                 If (\_SB.C002.C006.C0D2)
                 {
                     While (\_SB.C002.C006.C0D2)
                     {
                         Store (0x01, \_SB.C002.C006.C0D2)
                     }

                     Store (0x01, \_SB.C002.C006.C0D5)
                     Notify (\_SB.C002.C006, 0x02)
                 }
             }

             If (LEqual (And (\_SB.C002.C06C.C06E, 0x00020000), 0x00))
             {
                 If (\_SB.C002.C0DD.C0D2)
                 {
                     While (\_SB.C002.C0DD.C0D2)
                     {
                         Store (0x01, \_SB.C002.C0DD.C0D2)
                     }

                     Store (0x01, \_SB.C002.C0DD.C0D5)
                     Notify (\_SB.C002.C0DD, 0x02)
                 }
             }
         }

         Method (_L0B, 0, NotSerialized)
         {
             Notify (\_SB.C002.C06C, 0x02)
         }

         Method (_L0C, 0, NotSerialized)
         {
             Notify (\_SB.C002.C0C5, 0x02)
         }

         Method (_L0D, 0, NotSerialized)
         {
             Notify (\_SB.C002.C0C7, 0x02)
         }

         Method (_L0E, 0, NotSerialized)
         {
             Notify (\_SB.C002.C0C6, 0x02)
         }

         Method (_L17, 0, NotSerialized)
         {
             And (\_SB.C002.C003.C087, 0xFFFF3FFF, Local0)
             Or (Local0, 0x4000, \_SB.C002.C003.C087)
             If (\_SB.C002.C006.C007.C008 ())
             {
                 C1E8 (0x00)
             }

             \_SB.C002.C057.C0F9.C100 (0x01)
             If (LEqual (And (\_SB.C049, 0x83), 0x00))
             {
                 Notify (\_SB.C002.C057.C0F9, 0x80)
             }

             \_SB.C1F0.C208 (0x01, 0x00)
         }

         Method (_L18, 0, NotSerialized)
         {
             Notify (\_SB.C1E9, 0x02)
         }

         Name (C267, 0x00)
         Method (C268, 0, NotSerialized)
         {
             Sleep (0x64)
             If (LEqual (C267, 0x01))
             {
                 C1E8 (0x0400)
                 Store (\_SB.C002.C003.C00A, Local0)
                 XOr (Local0, 0x0400, \_SB.C002.C003.C00A)
                 Store (0x00, C267)
                 Notify (\_PR.C000, 0x81)
             }
             Else
             {
                 Increment (C267)
             }
         }

         Method (_L1C, 0, NotSerialized)
         {
             And (\_SB.C002.C003.C087, 0xFCFFFFFF, Local0)
             Or (Local0, 0x01000000, \_SB.C002.C003.C087)
             And (\_SB.C002.C0A9.C1D8, 0xFFFFFFFE, \_SB.C002.C0A9.C1D8)
             Notify (\_SB.C002.C0A9.C1D9, 0x00)
         }

         Method (_L1D, 0, NotSerialized)
         {
             And (\_SB.C002.C003.C087, 0xF3FFFFFF, Local0)
             Or (Local0, 0x04000000, \_SB.C002.C003.C087)
             Store (0x01, Local1)
             If (LEqual (And (\_SB.C049, 0x83), 0x00))
             {
                 If (\_SB.C044)
                 {
                     Notify (\_SB.C002.C057.C0F9, 0x80)
                 }
             }

             If (Local1)
             {
                 Or (\_SB.C002.C003.C091, 0x2000, Local0)
                 Store (Local0, \_SB.C002.C003.C091)
             }

             Notify (\_SB.C1EA, 0x80)
         }

         Method (_L1F, 0, NotSerialized)
         {
             Store (\_SB.C04E, Local0)
             If (Local0)
             {
                 Store (0x00, \_SB.C04E)
                 If (LEqual (Local0, 0x01))
                 {
                     If (LEqual (And (\_SB.C049, 0x83), 0x00))
                     {
                         Notify (\_SB.C002.C057.C0F9, 0x80)
                     }
                 }

                 If (LAnd (LNot (LLess (Local0, 0x02)), LNot (LGreater (Loc=
al0, 0x05))))
                 {
                     \_SB.C1F0.C208 (Local0, 0x00)
                 }

                 If (LEqual (Local0, 0x06))
                 {
                     And (\_SB.C002.C0A9.C1D8, 0xFFFFFFFE, \_SB.C002.C0A9.C=
1D8)
                     Notify (\_SB.C002.C0A9.C1D9, 0x00)
                 }
             }
         }

         Method (C1E8, 1, Serialized)
         {
             If (C269 ())
             {
                 C26A ()
                 C1CA (0x00)
             }
             Else
             {
                 If (And (\_SB.C002.C003.C09B, 0x08000000))
                 {
                     Notify (\_SB.C002.C006.C007, 0x03)
                 }
             }
         }

         Method (C269, 0, Serialized)
         {
             Store (\_SB.C002.C003.C00A, Local0)
             Or (\_SB.C002.C003.C009, 0x0480, \_SB.C002.C003.C009)
             Store (\_SB.C002.C003.C009, Local1)
             XOr (Local1, Local0, Local1)
             Store (\_SB.C002.C003.C09B, Local2)
             Store (0x01, Local3)
             If (And (Local1, 0x80))
             {
                 If (LEqual (\_SB.C002.C003.C004.C005 (), 0x00))
                 {
                     If (And (Local1, 0x0400))
                     {
                         Store (0x00, Local3)
                     }
                 }
             }

             Return (Local3)
         }

         Method (C26A, 0, Serialized)
         {
             OperationRegion (C26B, SystemMemory, 0xE1000000, 0x02)
             Field (C26B, AnyAcc, NoLock, Preserve)
             {
                 C26C,   16
             }

             Store (0x0B, Local1)
             If (And (\_SB.C002.C003.C09B, 0x08000000))
             {
                 If (LEqual (C26C, 0x14E4))
                 {
                     Store (0x00, Local1)
                 }
             }

             Store (\_SB.C002.C006.C0D3, Local2)
             And (Local2, 0xBFFFFFFF, \_SB.C002.C006.C0D3)
             While (LAnd (LGreater (Local1, 0x00), C269 ()))
             {
                 Or (\_SB.C002.C003.C09B, 0x08000000, \_SB.C002.C003.C09B)
                 Sleep (0x012C)
                 Store (0x00, \_SB.C002.C006.C0CF)
                 Sleep (0xC8)
                 Store (C26C, Local0)
                 If (LOr (LEqual (Local0, 0x14E4), LEqual (Local1, 0x01)))
                 {
                     Store (0x00, Local1)
                 }
                 Else
                 {
                     Store (0x0A, Local3)
                     While (LGreater (Local3, 0x00))
                     {
                         And (\_SB.C002.C003.C09B, 0xF7FFFFFF, \_SB.C002.C0=
03.C09B)
                         Sleep (0x05)
                         Or (\_SB.C002.C003.C09B, 0x08000000, \_SB.C002.C00=
3.C09B)
                         Sleep (0x05)
                         Decrement (Local3)
                     }

                     Decrement (Local1)
                 }
             }

             Store (\_SB.C002.C006.C0D3, Local2)
             Or (Local2, 0x40000000, \_SB.C002.C006.C0D3)
         }

         Method (C1CA, 1, Serialized)
         {
             If (LEqual (\_PR.C000.C001, 0x00))
             {
                 Store (Arg0, \_SB.C002.C003.C086)
             }
         }
     }

     Scope (\_PR.C000)
     {
         Name (C26D, Package (0x09)
         {
             Package (0x02)
             {
                 Package (0x06) {},
                 Package (0x06) {}
             },

             Package (0x03)
             {
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {}
             },

             Package (0x04)
             {
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {}
             },

             Package (0x05)
             {
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {}
             },

             Package (0x06)
             {
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {}
             },

             Package (0x07)
             {
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {}
             },

             Package (0x08)
             {
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {}
             },

             Package (0x09)
             {
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {}
             },

             Package (0x0A)
             {
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {},
                 Package (0x06) {}
             }
         })
         Method (C26E, 3, NotSerialized)
         {
             Multiply (Arg2, 0x10, Local1)
             Add (Local1, 0x08, Local1)
             CreateDWordField (\_SB.C039, Local1, C26F)
             Add (Local1, 0x04, Local1)
             CreateDWordField (\_SB.C039, Local1, C270)
             Store (C26F, Index (DerefOf (Index (Arg1, Arg2)), 0x00))
             Store (C270, Index (DerefOf (Index (Arg1, Arg2)), 0x01))
             If (Arg0)
             {
                 Store (\_SB.C033, Index (DerefOf (Index (Arg1, Arg2)), 0x0=
2))
                 Store (\_SB.C034, Index (DerefOf (Index (Arg1, Arg2)), 0x0=
3))
                 Add (Local1, 0x04, Local1)
                 CreateDWordField (\_SB.C039, Local1, C271)
                 Add (Local1, 0x04, Local1)
                 CreateDWordField (\_SB.C039, Local1, C272)
                 Store (C271, Index (DerefOf (Index (Arg1, Arg2)), 0x04))
                 Store (C272, Index (DerefOf (Index (Arg1, Arg2)), 0x05))
             }
             Else
             {
                 Store (\_SB.C035, Index (DerefOf (Index (Arg1, Arg2)), 0x0=
2))
                 Store (\_SB.C036, Index (DerefOf (Index (Arg1, Arg2)), 0x0=
3))
                 ShiftLeft (Arg2, \_SB.C037, Local0)
                 Or (Local0, \_SB.C038, Local0)
                 Store (Local0, Index (DerefOf (Index (Arg1, Arg2)), 0x04))
                 Store (Arg2, Index (DerefOf (Index (Arg1, Arg2)), 0x05))
             }
         }

         Method (C273, 1, NotSerialized)
         {
             Store (\_SB.C032, Local0)
             Subtract (Local0, 0x02, Local1)
             Store (0x00, Local2)
             While (LLess (Local2, Local0))
             {
                 C26E (Arg0, DerefOf (Index (C26D, Local1)), Local2)
                 Increment (Local2)
             }

             Return (DerefOf (Index (C26D, Local1)))
         }

         Method (C21D, 1, NotSerialized)
         {
             Acquire (\_SB.C212, 0xFFFF)
             Store (Arg0, \_SB.C213)
             Release (\_SB.C212)
             \_SB.C226 ()
         }

         Method (C221, 1, NotSerialized)
         {
             Acquire (\_SB.C212, 0xFFFF)
             Store (Arg0, \_SB.C213)
             Release (\_SB.C212)
             \_SB.C227 ()
         }

         Name (C274, Package (0x02)
         {
             ResourceTemplate ()
             {
                 Register (SystemIO, 0x10, 0x00, 0x00000000000000B2)
             },

             ResourceTemplate ()
             {
                 Register (SystemIO, 0x08, 0x00, 0x00000000000000B3)
             }
         })
         Name (C275, Package (0x02)
         {
             ResourceTemplate ()
             {
                 Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
             },

             ResourceTemplate ()
             {
                 Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
             }
         })
         Name (C276, 0x00)
         Method (_PDC, 1, NotSerialized)
         {
             And (DerefOf (Index (Arg0, 0x08)), 0x01, C276)
         }

         Method (_PCT, 0, NotSerialized)
         {
             If (C276)
             {
                 Return (C275)
             }
             Else
             {
                 Return (C274)
             }
         }

         Method (_PPC, 0, NotSerialized)
         {
             Return (0x00)
         }

         Method (_PSS, 0, NotSerialized)
         {
             Return (C273 (C276))
         }
     }
}



Brad
------------------------------------------------------------
  Brad Miele
  Technology Director
  IPNStock
  (866) 476-7862 x902
  bmiele@ipnstock.com

On Wed, 28 Sep 2005 takawata@jp.frebsd.org wrote:

> In message <20050928080217.S5989@localhost>, Brad Miele =A4=B5=A4=F3=A4=
=A4=A4=EF=A4=AF:
>> Hi,
>>
>> I recently had the mainboard on my HP NC6230 replaced under warrantee fo=
r
>> a no-post issue. Since it has been returned, the machine throws an error
>> of temperature too high and shuts down moments after it is unplugged and
>> under battery power. It runs continuously with no problems when
>> plugged in. I have never had to adjust the acpi stuff before, and
>> have gone so far as to dump the asl for my system, I assume that I have =
to
>> change something in there and override it at boot? The HP tech report on
>> the new mainboard states that the bios is current, I may double check th=
at
>> today.
>>
>> Any advice would be appreciated. I have attached dmesg, and systctl
>> hw.acpi below.
>>
>> this is the syslog from when i remove the ac adapter:
>>
>> Sep 27 07:19:51 payswan kernel: cpu0: Cx states changed
>> Sep 27 07:19:51 payswan power_profile: changed to 'economy'
>> Sep 27 07:20:11 payswan root: WARNING: system temperature too high,
>> shutting down soon!
>> Sep 27 07:20:21 payswan kernel: acpi_tz2: WARNING - current temperature
>> (149.4C) exceeds safe limits
>> Sep 27 07:20:22 payswan syslogd: exiting on signal 15
>>
>> thanks,
>>
>> Brad
>
> Would you show us acpidump -t -d result, too?
> TZ2 seems to have gone invalid state. There may be some notify to
> tell  the thermal zone detached or so.
>
--0-912269244-1127922763=:702--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050928115111.B702>