NetBSD Problem Report #57336

From adrian@mx.aik.onl  Sun Apr  9 07:58:36 2023
Return-Path: <adrian@mx.aik.onl>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 8CB821A9239
	for <gnats-bugs@gnats.NetBSD.org>; Sun,  9 Apr 2023 07:58:36 +0000 (UTC)
Message-Id: <20230409075315.C47CA402EFE@elitebook.lan.dac>
Date: Sun,  9 Apr 2023 09:53:15 +0200 (CEST)
From: adrian@mx.aik.onl
Reply-To: adrian@kiess.onl
To: gnats-bugs@NetBSD.org
Subject: Suspend to RAM and display brightness buttons do not work on a HP EliteBook 820 G2 in UEFI mode
X-Send-Pr-Version: 3.95

>Number:         57336
>Category:       port-amd64
>Synopsis:       Suspend to RAM and display brightness buttons do not work on a HP EliteBook 820 G2 in UEFI mode
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    port-amd64-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Apr 09 08:00:00 +0000 2023
>Originator:     Adrian Immanuel Kiess
>Release:        NetBSD 9.3
>Organization:
KIESS.ONL
>Environment:


System: NetBSD elitebook.lan.dac 9.3 NetBSD 9.3 (GENERIC) #0: Thu Aug 4 15:30:37 UTC 2022 mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/amd64/compile/GENERIC amd64
Architecture: x86_64
Machine: amd64
>Description:
	Dear maintainers,

	I got a new machine, a HP EliteBook 820 G2 with Intel Core i5 5300U processor on which I installed NetBSD 9.3.

	So far everything seems to be doing good, besides two things that came into my way:

	1) Suspend to RAM does not work. When executing sysctl -w hw.acpi.sleep.state=3 the system won't come back online or the kernel crashes.
	2) The brightness buttons for the display brightness do not work on this machine. 
	   When I boot the laptop in UEFI CSM (compatibility mode), I am able to adjust the brightness by pressing the brightness buttons during BIOS setup phase to 75% or 56%, the setting is persistant but this is not satisfying. When booting the laptop in UEFI only mode, I am not able to adjust the brightness at all. As I found out, one can use the tool intel_brightness from pkgsrc, but the setting through it is not persistent (display switches back to UEFI default value (100%) after the display comes back from screen blanking. In addition to that, intel_brightness crashes the machine at random times, as I found out while have written myself a anacron script file, which sets the display brightness through inte_brightness tool from pkgsrc. Setting the displays brightness through sysctl or xrandr also does not work.

Riastradh from the #netbsd IRC channel @ Libera.chat already was that kind, to have a look at the above issues.

I will attach the files and informations, he asked me for below:

acpidump -dt:

/*
  RSD PTR: OEM=HPQOEM, ACPI_Rev=2.0x (2)
	XSDT=0x00000000a9ffd0e8, length=36, cksum=124
 */
/*
  XSDT: Length=172, Revision=1, Checksum=99,
	OEMID=HPQOEM, OEM Table ID=SLIC-MPC, OEM Revision=0x1,
	Creator ID=, Creator Revision=0x1000013
	Entries={ 0x00000000a9ffb000, 0x00000000a9ffa000, 0x00000000a9ff9000, 0x00000000a9ff8000, 0x00000000a9ff6000, 0x00000000a9fcc000, 0x00000000a9fcb000, 0x00000000a9fca000, 0x00000000a9fc9000, 0x00000000a9fc8000, 0x00000000a9fc7000, 0x00000000a9fc3000, 0x00000000a9fc2000, 0x00000000a9fc1000, 0x00000000a9fc0000, 0x00000000a9ff7000, 0x00000000a9fbf000 }
 */
/*
  FACP: Length=268, Revision=5, Checksum=3,
	OEMID=HPQOEM, OEM Table ID=225A, OEM Revision=0x1,
	Creator ID=HP, Creator Revision=0x1
 	FACS=0xa9f66000, DSDT=0xa9fcf000
	INT_MODEL=PIC
	Preferred_PM_Profile=Mobile (2)
	SCI_INT=9
	SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0xf2
	PSTATE_CNT=0x0
	PM1a_EVT_BLK=0x1800-0x1803
	PM1a_CNT_BLK=0x1804-0x1805
	PM2_CNT_BLK=0x1850-0x1850
	PM_TMR_BLK=0x1808-0x180b
	GPE0_BLK=0x1880-0x189f
	P_LVL2_LAT=101 us, P_LVL3_LAT=57 us
	FLUSH_SIZE=0, FLUSH_STRIDE=0
	DUTY_OFFSET=1, DUTY_WIDTH=3
	DAY_ALRM=13, MON_ALRM=0, CENTURY=50
	IAPC_BOOT_ARCH={LEGACY_DEVICES,8042,NO_ASPM}
	Flags={WBINVD,C1_SUPPORTED,SLEEP_BUTTON,S4_RTC_WAKE,RESET_REGISTER,PLATFORM_CLOCK}
	RESET_REG=0x480:0[8] (IO), RESET_VALUE=0xfe
	ArmBootFlags={}
	MinorRevision=0
	X_FACS=0x0000000000000000, X_DSDT=0x00000000a9fcf000
	X_PM1a_EVT_BLK=0x1800:0[32] (IO)
	X_PM1a_CNT_BLK=0x1804:0[16] (IO)
	X_PM2_CNT_BLK=0x1850:0[8] (IO)
	X_PM_TMR_BLK=0x1808:0[32] (IO)
	X_GPE0_BLK=0x1880:0[32] (IO)
 */
/*
  FACS:	Length=64, HwSig=0xf6313133, Firm_Wake_Vec=0x00000000
	Global_Lock={}
	Flags={}
	Version=1
	OspmFlags={}
 */
/*
  DSDT: Length=158221, Revision=2, Checksum=189,
	OEMID=HPQOEM, OEM Table ID=225A, OEM Revision=0x1,
	Creator ID=INTL, Creator Revision=0x20130927
 */
/*
  HPET: Length=56, Revision=1, Checksum=161,
	OEMID=HPQOEM, OEM Table ID=225A, OEM Revision=0x1,
	Creator ID=HP, Creator Revision=0x1
	HPET Number=0
	ADDR=0xfed00000:0[0] (Memory)
	HW Rev=0x1
	Comparators=2
	Counter Size=1
	Legacy IRQ routing capable={TRUE}
	PCI Vendor ID=0x8086
	Minimal Tick=128
	Flags=0x00
 */
/*
  APIC: Length=188, Revision=1, Checksum=67,
	OEMID=HPQOEM, OEM Table ID=225A, OEM Revision=0x1,
	Creator ID=HP, Creator Revision=0x1
	Local APIC ADDR=0xfee00000
	Flags={PC-AT}

	Type=Local APIC
	ACPI CPU=0
	Flags={ENABLED}
	APIC ID=0

	Type=Local APIC
	ACPI CPU=1
	Flags={ENABLED}
	APIC ID=1

	Type=Local APIC
	ACPI CPU=2
	Flags={ENABLED}
	APIC ID=2

	Type=Local APIC
	ACPI CPU=3
	Flags={ENABLED}
	APIC ID=3

	Type=Local APIC
	ACPI CPU=4
	Flags={DISABLED}
	APIC ID=0

	Type=Local APIC
	ACPI CPU=5
	Flags={DISABLED}
	APIC ID=0

	Type=Local APIC
	ACPI CPU=6
	Flags={DISABLED}
	APIC ID=0

	Type=Local APIC
	ACPI CPU=7
	Flags={DISABLED}
	APIC ID=0

	Type=IO APIC
	APIC ID=0
	INT BASE=0
	ADDR=0x00000000fec00000

	Type=INT Override
	BUS=0
	IRQ=0
	INTR=2
	Flags={Polarity=conforming, Trigger=conforming}

	Type=INT Override
	BUS=0
	IRQ=9
	INTR=9
	Flags={Polarity=active-hi, Trigger=level}

	Type=Local APIC NMI
	ACPI CPU=0
	LINT Pin=1
	Flags={Polarity=active-hi, Trigger=edge}

	Type=Local APIC NMI
	ACPI CPU=1
	LINT Pin=1
	Flags={Polarity=active-hi, Trigger=edge}

	Type=Local APIC NMI
	ACPI CPU=2
	LINT Pin=1
	Flags={Polarity=active-hi, Trigger=edge}

	Type=Local APIC NMI
	ACPI CPU=3
	LINT Pin=1
	Flags={Polarity=active-hi, Trigger=edge}

	Type=Local APIC NMI
	ACPI CPU=4
	LINT Pin=1
	Flags={Polarity=active-hi, Trigger=edge}

	Type=Local APIC NMI
	ACPI CPU=5
	LINT Pin=1
	Flags={Polarity=active-hi, Trigger=edge}

	Type=Local APIC NMI
	ACPI CPU=6
	LINT Pin=1
	Flags={Polarity=active-hi, Trigger=edge}

	Type=Local APIC NMI
	ACPI CPU=7
	LINT Pin=1
	Flags={Polarity=active-hi, Trigger=edge}
 */
/*
  MCFG: Length=60, Revision=1, Checksum=201,
	OEMID=HPQOEM, OEM Table ID=225A, OEM Revision=0x1,
	Creator ID=HP, Creator Revision=0x1

	Base Address=0x00000000e0000000
	Segment Group=0x0000
	Start Bus=0
	End Bus=255
 */
/*
  TCPA: Length=50, Revision=2, Checksum=23,
	OEMID=HPQOEM, OEM Table ID=225A, OEM Revision=0x0,
	Creator ID=HP, Creator Revision=0x1
	Class 0 Base Address 0xa9f6f000 Length 65536

	0 0x7dc71f4c7682482b2d23f8101bb94de5a61ce2e2 [S-CRTM Version]
	0 0x0af24c3101939d3d8131e73bfb530a463f007d3b [POST Code]
	5 0xcd0fdb4531a6ec41be2753ba042637d6e5f7f256 [<unknown 0x80000007>]
	0 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
	1 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
	2 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
	3 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
	4 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
	5 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
	6 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
	7 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
	5 0x58ba6d7e36b1e908ad63c911b09765d5ec1a8c02 [<unknown 0x80000006>]
	4 0x2c23b7a7d7bef44697f21050c3201a755b4bf748 [<unknown 0x80000003>]
	5 0x443a6b7b82b7af564f2e393cd9d5a388b7fa4a98 [<unknown 0x80000007>]
	5 0x475545ddc978d7bfd036facc7e2e987f48189f0d [<unknown 0x80000007>]
 */
/*
  SSDT: Length=729, Revision=1, Checksum=187,
	OEMID=HPQOEM, OEM Table ID=SataAhci, OEM Revision=0x1000,
	Creator ID=INTL, Creator Revision=0x20130927

	Data={
		 53 53 44 54 d9 02 00 00    01 bb 48 50 51 4f 45 4d
		 53 61 74 61 41 68 63 69    00 10 00 00 49 4e 54 4c
		 27 09 13 20 10 44 2b 5c    2f 03 5f 53 42 5f 50 43
		 49 30 53 41 54 41 5b 82    46 09 50 52 54 30 08 5f
		 41 44 52 0b ff ff 08 46    44 45 56 00 08 46 44 52
		 50 00 14 28 5f 53 44 44    09 8c 68 0a 9d 42 46 44
		 53 99 42 46 44 53 46 44    45 56 8c 68 0a 9a 42 46
		 52 50 99 42 46 52 50 46    44 52 50 14 42 05 5f 47
		 54 46 08 a0 35 90 90 93    44 56 53 30 0a 01 93 7b
		 46 44 45 56 0a 01 00 0a    01 93 7b 46 44 52 50 0a
		 80 00 0a 80 08 50 49 42    31 11 0a 0a 07 10 09 00
		 00 00 b0 ef a4 50 49 42    31 08 50 49 42 32 11 0a
		 0a 07 00 00 00 00 00 00    00 a4 50 49 42 32 5b 82
		 48 09 50 52 54 31 08 5f    41 44 52 0c ff ff 01 00
		 08 46 44 45 56 00 08 46    44 52 50 00 14 28 5f 53
		 44 44 09 8c 68 0a 9d 42    46 44 53 99 42 46 44 53
		 46 44 45 56 8c 68 0a 9a    42 46 52 50 99 42 46 52
		 50 46 44 52 50 14 42 05    5f 47 54 46 08 a0 35 90
		 90 93 44 56 53 31 0a 01    93 7b 46 44 45 56 0a 01
		 00 0a 01 93 7b 46 44 52    50 0a 80 00 0a 80 08 50
		 49 42 31 11 0a 0a 07 10    09 00 00 00 b0 ef a4 50
		 49 42 31 08 50 49 42 32    11 0a 0a 07 00 00 00 00
		 00 00 00 a4 50 49 42 32    5b 82 48 09 50 52 54 32
		 08 5f 41 44 52 0c ff ff    02 00 08 46 44 45 56 00
		 08 46 44 52 50 00 14 28    5f 53 44 44 09 8c 68 0a
		 9d 42 46 44 53 99 42 46    44 53 46 44 45 56 8c 68
		 0a 9a 42 46 52 50 99 42    46 52 50 46 44 52 50 14
		 42 05 5f 47 54 46 08 a0    35 90 90 93 44 56 53 32
		 0a 01 93 7b 46 44 45 56    0a 01 00 0a 01 93 7b 46
		 44 52 50 0a 80 00 0a 80    08 50 49 42 31 11 0a 0a
		 07 10 09 00 00 00 b0 ef    a4 50 49 42 31 08 50 49
		 42 32 11 0a 0a 07 00 00    00 00 00 00 00 a4 50 49
		 42 32 5b 82 48 09 50 52    54 33 08 5f 41 44 52 0c
		 ff ff 03 00 08 46 44 45    56 00 08 46 44 52 50 00
		 14 28 5f 53 44 44 09 8c    68 0a 9d 42 46 44 53 99
		 42 46 44 53 46 44 45 56    8c 68 0a 9a 42 46 52 50
		 99 42 46 52 50 46 44 52    50 14 42 05 5f 47 54 46
		 08 a0 35 90 90 93 44 56    53 33 0a 01 93 7b 46 44
		 45 56 0a 01 00 0a 01 93    7b 46 44 52 50 0a 80 00
		 0a 80 08 50 49 42 31 11    0a 0a 07 10 09 00 00 00
		 b0 ef a4 50 49 42 31 08    50 49 42 32 11 0a 0a 07
		 00 00 00 00 00 00 00 a4    50 49 42 32 5b 82 3b 50
		 52 54 35 08 5f 41 44 52    0c ff ff 05 00 08 47 54
		 46 35 11 0a 0a 07 00 00    00 00 00 a0 00 14 1b 5f
		 47 54 46 00 70 11 0a 0a    07 00 00 00 00 00 a0 00
		 47 54 46 35 a4 47 54 46    35
	}
 */
/*
  SSDT: Length=1162, Revision=1, Checksum=139,
	OEMID=HPQOEM, OEM Table ID=PtidDevc, OEM Revision=0x1000,
	Creator ID=INTL, Creator Revision=0x20130927

	Data={
		 53 53 44 54 8a 04 00 00    01 8b 48 50 51 4f 45 4d
		 50 74 69 64 44 65 76 63    00 10 00 00 49 4e 54 4c
		 27 09 13 20 5b 82 44 46    50 54 49 44 08 5f 48 49
		 44 0c 25 d4 34 0e 08 5f    43 49 44 0c 41 d0 0c 02
		 08 49 56 45 52 0c 01 00    02 00 14 09 5f 53 54 41
		 00 a4 0a 0f 08 54 4d 50    56 12 48 10 24 0a 00 0d
		 30 2d 43 50 55 5a 2d 43    50 55 20 72 65 61 64 69
		 6e 67 20 76 69 61 20 45    43 00 0c 00 00 00 80 0a
		 01 0d 31 2d 47 46 58 5a    2d 47 72 61 70 68 69 63
		 73 20 76 69 61 20 45 43    00 0c 00 00 00 80 0a 03
		 0d 32 2d 45 58 54 5a 2d    45 78 74 65 72 6e 61 6c
		 2f 52 65 6d 6f 74 65 20    31 00 0c 00 00 00 80 0a
		 03 0d 33 2d 4c 4f 43 5a    2d 4c 6f 63 61 6c 2f 49
		 6e 74 65 72 6e 61 6c 00    0c 00 00 00 80 0a 03 0d
		 35 2d 42 41 54 5a 2d 42    61 74 74 65 72 79 00 0c
		 00 00 00 80 0a 05 0d 36    2d 50 43 48 5a 2d 50 43
		 48 20 44 54 53 20 66 72    6f 6d 20 50 43 48 00 0c
		 00 00 00 80 0a 02 0d 44    75 6d 6d 79 00 0c 00 00
		 00 80 0a 02 0d 44 75 6d    6d 79 00 0c 00 00 00 80
		 0a 02 0d 44 75 6d 6d 79    00 0c 00 00 00 80 0a 02
		 0d 44 75 6d 6d 79 00 0c    00 00 00 80 0a 02 0d 56
		 30 00 0c 00 00 00 80 0a    02 0d 56 31 00 0c 00 00
		 00 80 08 50 57 52 56 12    32 09 0a 00 0d 50 4c 31
		 00 0c 00 00 00 80 0a 00    0d 50 4c 32 00 0c 00 00
		 00 80 0a 00 0d 42 6f 6f    73 74 20 43 6f 6e 76 65
		 72 74 65 72 00 0c 00 00    00 80 08 4f 53 44 56 12
		 43 05 0c 0a 00 0d 46 61    6e 20 53 70 65 65 64 20
		 52 50 4d 00 0d 52 50 4d    00 0c 00 00 00 80 0a 00
		 0d 54 61 72 67 65 74 20    46 61 6e 20 52 50 4d 00
		 0d 52 50 4d 00 0c 00 00    00 80 0a 00 0d 46 61 6e
		 20 53 70 65 65 64 20 25    00 0d 52 41 57 00 0c 00
		 00 00 80 5b 80 4d 43 48    50 00 0c a4 58 d1 fe 0a
		 02 5b 81 10 4d 43 48 50    01 56 54 53 30 08 56 54
		 53 31 08 14 44 15 54 53    44 44 00 70 5c 2f 03 5f
		 54 5a 5f 43 50 55 5a 5f    54 4d 50 88 54 4d 50 56
		 0a 02 00 70 5c 2f 03 5f    54 5a 5f 47 46 58 5a 5f
		 54 4d 50 88 54 4d 50 56    0a 05 00 70 5c 2f 03 5f
		 54 5a 5f 45 58 54 5a 5f    54 4d 50 88 54 4d 50 56
		 0a 08 00 70 5c 2f 03 5f    54 5a 5f 4c 4f 43 5a 5f
		 54 4d 50 88 54 4d 50 56    0a 0b 00 70 5c 2f 03 5f
		 54 5a 5f 42 41 54 5a 5f    54 4d 50 88 54 4d 50 56
		 0a 0e 00 70 5c 2f 03 5f    54 5a 5f 50 43 48 5a 5f
		 54 4d 50 88 54 4d 50 56    0a 11 00 70 0a 11 60 72
		 60 0a 02 60 70 0d 44 4d    31 5a 2d 4d 65 6d 6f 72
		 79 20 44 49 4d 4d 20 31    00 88 54 4d 50 56 60 00
		 75 60 70 5c 2e 5f 54 5a    5f 47 44 54 50 0a 30 0a
		 01 88 54 4d 50 56 60 00    72 60 0a 02 60 70 0d 44
		 4d 32 5a 2d 4d 65 6d 6f    72 79 20 44 49 4d 4d 20
		 32 00 88 54 4d 50 56 60    00 75 60 70 5c 2e 5f 54
		 5a 5f 47 44 54 50 0a 34    0a 01 88 54 4d 50 56 60
		 00 a2 15 95 60 0a 1d 72    60 0a 03 60 70 0b ac 0a
		 88 54 4d 50 56 60 00 70    72 77 56 54 53 30 0a 0a
		 00 0b ac 0a 00 88 54 4d    50 56 0a 20 00 70 72 77
		 56 54 53 31 0a 0a 00 0b    ac 0a 00 88 54 4d 50 56
		 0a 23 00 a4 54 4d 50 56    14 41 0d 50 53 44 44 00
		 70 0a 00 60 70 0a 00 61    a0 48 09 5c 2f 05 5f 53
		 42 5f 50 43 49 30 4c 50    43 42 45 43 30 5f 45 43
		 52 47 5b 23 5c 2f 05 5f    53 42 5f 50 43 49 30 4c
		 50 43 42 45 43 30 5f 45    43 4d 58 ff ff 70 5c 2f
		 05 5f 53 42 5f 50 43 49    30 4c 50 43 42 45 43 30
		 5f 50 4c 31 5f 60 70 5c    2f 05 5f 53 42 5f 50 43
		 49 30 4c 50 43 42 45 43    30 5f 50 4c 32 5f 61 70
		 5c 2f 05 5f 53 42 5f 50    43 49 30 4c 50 43 42 45
		 43 30 5f 42 43 56 44 62    5b 27 5c 2f 05 5f 53 42
		 5f 50 43 49 30 4c 50 43    42 45 43 30 5f 45 43 4d
		 58 77 60 0b e8 03 88 50    57 52 56 0a 02 00 77 61
		 0b e8 03 88 50 57 52 56    0a 05 00 70 62 88 50 57
		 52 56 0a 08 00 a4 50 57    52 56 14 45 04 4f 53 44
		 44 00 70 5c 2e 5f 54 5a    5f 47 46 52 4d 88 4f 53
		 44 56 0a 03 00 70 5c 2e    5f 54 5a 5f 47 54 52 4d
		 88 4f 53 44 56 0a 07 00    70 5c 2e 5f 54 5a 5f 47
		 46 53 44 88 4f 53 44 56    0a 0b 00 a4 4f 53 44 56
		 14 09 53 44 53 50 00 a4    0a 0a
	}
 */
/*
  SLIC: Length=374, Revision=1, Checksum=220,
	OEMID=HPQOEM, OEM Table ID=SLIC-MPC, OEM Revision=0x1,
	Creator ID=HP, Creator Revision=0x1

	Data={
		 53 4c 49 43 76 01 00 00    01 dc 48 50 51 4f 45 4d
		 53 4c 49 43 2d 4d 50 43    01 00 00 00 48 50 20 20
		 01 00 00 00 00 00 00 00    9c 00 00 00 06 02 00 00
		 00 24 00 00 52 53 41 31    00 04 00 00 01 00 01 00
		 5b ab 60 56 bc 58 1e e8    c1 d2 a1 5c e5 4f bb fd
		 1d a9 8c 94 b4 ae 08 11    dc 13 59 d3 7f f6 3e 87
		 31 b9 95 74 10 da 3b a4    5b b5 19 82 7c 39 d7 0d
		 7c 22 ac 1c 2a 84 e9 0a    88 6d fa b1 e2 d8 e8 21
		 96 e1 2e 68 9a bf 44 45    3e 3c 8e 99 90 de 37 38
		 57 0b 92 15 bc de ff f2    07 7e b5 40 8c 51 3a c3
		 02 48 f6 13 12 72 fb 42    78 e6 47 88 54 c7 b0 f0
		 93 9e fb 04 b7 b8 b8 90    de db ed 32 e1 fb 54 a6
		 01 00 00 00 b6 00 00 00    00 00 02 00 48 50 51 4f
		 45 4d 53 4c 49 43 2d 4d    50 43 57 49 4e 44 4f 57
		 53 20 01 00 02 00 00 00    00 00 00 00 00 00 00 00
		 00 00 00 00 00 00 30 90    1f b4 a4 be 80 1e e9 33
		 ec 7f fc b1 28 0e a6 ce    43 72 8c 79 30 b4 f4 59
		 ea 7d cf b7 11 8b da 70    c5 c8 3f 79 20 08 6f 64
		 ca 07 88 b3 b1 16 b4 ba    1a f1 85 52 b1 f5 07 55
		 b5 70 61 ef 44 8c aa 5f    78 14 66 98 9c f3 58 d8
		 aa 48 e0 37 f8 f6 ab 64    fa da 17 2a 62 e3 04 1d
		 32 2d d5 ea 33 66 5c 5b    3b 0e f7 09 66 42 32 aa
		 14 99 c3 ee 1a 62 3b 07    5f f0 48 44 c4 e6 32 59
		 1f 14 3e f1 b2 38
	}
 */
/*
  MSDM: Length=85, Revision=3, Checksum=49,
	OEMID=HPQOEM, OEM Table ID=SLIC-MPC, OEM Revision=0x0,
	Creator ID=HP, Creator Revision=0x1

	Data={
		 4d 53 44 4d 55 00 00 00    03 31 48 50 51 4f 45 4d
		 53 4c 49 43 2d 4d 50 43    00 00 00 00 48 50 20 20
		 01 00 00 00 01 00 00 00    00 00 00 00 01 00 00 00
		 00 00 00 00 1d 00 00 00    4d 4e 47 34 44 2d 36 32
		 44 56 32 2d 48 39 48 39    4a 2d 50 32 48 37 51 2d
		 54 43 50 42 43
	}
 */
/*
  FPDT: Length=68, Revision=1, Checksum=237,
	OEMID=HPQOEM, OEM Table ID=225A, OEM Revision=0x1,
	Creator ID=HP, Creator Revision=0x1

	Data={
		 46 50 44 54 44 00 00 00    01 ed 48 50 51 4f 45 4d
		 32 32 35 41 20 20 20 20    01 00 00 00 48 50 20 20
		 01 00 00 00 00 00 10 01    00 00 00 00 18 de e1 a9
		 00 00 00 00 01 00 10 01    00 00 00 00 98 dd e1 a9
		 00 00 00 00
	}
 */
/*
  BGRT: Length=56, Revision=0, Checksum=162,
	OEMID=HPQOEM, OEM Table ID=225A, OEM Revision=0x1,
	Creator ID=HP, Creator Revision=0x1
	Version=1
	Degree=0
	Displayed=1
	Image Type=Bitmap
	Image Address=0xa61bc018
	Image Offset X=0x00000271
	Image Offset Y=0x000000eb
 */
/*
  SSDT: Length=1348, Revision=2, Checksum=156,
	OEMID=PmRef, OEM Table ID=Cpu0Ist, OEM Revision=0x3000,
	Creator ID=INTL, Creator Revision=0x20130927

	Data={
		 53 53 44 54 44 05 00 00    02 9c 50 6d 52 65 66 00
		 43 70 75 30 49 73 74 00    00 30 00 00 49 4e 54 4c
		 27 09 13 20 10 4f 51 5c    2e 5f 50 52 5f 43 50 55
		 30 08 5f 50 50 43 0a 00    14 43 06 5f 50 43 54 00
		 70 5c 2e 5f 50 52 5f 43    50 50 43 5c 2f 03 5f 50
		 52 5f 43 50 55 30 5f 50    50 43 a0 41 04 90 7b 43
		 46 47 44 0a 01 00 7b 50    44 43 30 0a 01 00 a4 12
		 2c 02 11 14 0a 11 82 0c    00 7f 00 00 00 00 00 00
		 00 00 00 00 00 79 00 11    14 0a 11 82 0c 00 7f 00
		 00 00 00 00 00 00 00 00    00 00 79 00 08 5f 50 53
		 53 12 43 21 10 12 20 06    0c fd 08 00 00 0c 98 3a
		 00 00 0c 0a 00 00 00 0c    0a 00 00 00 0c 00 1d 00
		 00 0c 00 1d 00 00 12 20    06 0c fc 08 00 00 0c 98
		 3a 00 00 0c 0a 00 00 00    0c 0a 00 00 00 0c 00 17
		 00 00 0c 00 17 00 00 12    20 06 0c 98 08 00 00 0c
		 08 37 00 00 0c 0a 00 00    00 0c 0a 00 00 00 0c 00
		 16 00 00 0c 00 16 00 00    12 20 06 0c d0 07 00 00
		 0c ae 30 00 00 0c 0a 00    00 00 0c 0a 00 00 00 0c
		 00 14 00 00 0c 00 14 00    00 12 20 06 0c 6c 07 00
		 00 0c e1 2d 00 00 0c 0a    00 00 00 0c 0a 00 00 00
		 0c 00 13 00 00 0c 00 13    00 00 12 20 06 0c 08 07
		 00 00 0c 22 2b 00 00 0c    0a 00 00 00 0c 0a 00 00
		 00 0c 00 12 00 00 0c 00    12 00 00 12 20 06 0c a4
		 06 00 00 0c e7 27 00 00    0c 0a 00 00 00 0c 0a 00
		 00 00 0c 00 11 00 00 0c    00 11 00 00 12 20 06 0c
		 dc 05 00 00 0c b2 22 00    00 0c 0a 00 00 00 0c 0a
		 00 00 00 0c 00 0f 00 00    0c 00 0f 00 00 12 20 06
		 0c 78 05 00 00 0c a5 1f    00 00 0c 0a 00 00 00 0c
		 0a 00 00 00 0c 00 0e 00    00 0c 00 0e 00 00 12 20
		 06 0c 14 05 00 00 0c 2f    1d 00 00 0c 0a 00 00 00
		 0c 0a 00 00 00 0c 00 0d    00 00 0c 00 0d 00 00 12
		 20 06 0c 4c 04 00 00 0c    e9 17 00 00 0c 0a 00 00
		 00 0c 0a 00 00 00 0c 00    0b 00 00 0c 00 0b 00 00
		 12 20 06 0c e8 03 00 00    0c 9b 15 00 00 0c 0a 00
		 00 00 0c 0a 00 00 00 0c    00 0a 00 00 0c 00 0a 00
		 00 12 20 06 0c 84 03 00    00 0c 5b 13 00 00 0c 0a
		 00 00 00 0c 0a 00 00 00    0c 00 09 00 00 0c 00 09
		 00 00 12 20 06 0c 20 03    00 00 0c ab 10 00 00 0c
		 0a 00 00 00 0c 0a 00 00    00 0c 00 08 00 00 0c 00
		 08 00 00 12 20 06 0c 58    02 00 00 0c 6e 0c 00 00
		 0c 0a 00 00 00 0c 0a 00    00 00 0c 00 06 00 00 0c
		 00 06 00 00 12 20 06 0c    f4 01 00 00 0c ea 09 00
		 00 0c 0a 00 00 00 0c 0a    00 00 00 0c 00 05 00 00
		 0c 00 05 00 00 12 20 06    0c 00 00 00 80 0c 00 00
		 00 80 0c 00 00 00 80 0c    00 00 00 80 0c 00 00 00
		 80 0c 00 00 00 80 12 20    06 0c 00 00 00 80 0c 00
		 00 00 80 0c 00 00 00 80    0c 00 00 00 80 0c 00 00
		 00 80 0c 00 00 00 80 12    20 06 0c 00 00 00 80 0c
		 00 00 00 80 0c 00 00 00    80 0c 00 00 00 80 0c 00
		 00 00 80 0c 00 00 00 80    12 20 06 0c 00 00 00 80
		 0c 00 00 00 80 0c 00 00    00 80 0c 00 00 00 80 0c
		 00 00 00 80 0c 00 00 00    80 12 20 06 0c 00 00 00
		 80 0c 00 00 00 80 0c 00    00 00 80 0c 00 00 00 80
		 0c 00 00 00 80 0c 00 00    00 80 12 20 06 0c 00 00
		 00 80 0c 00 00 00 80 0c    00 00 00 80 0c 00 00 00
		 80 0c 00 00 00 80 0c 00    00 00 80 12 20 06 0c 00
		 00 00 80 0c 00 00 00 80    0c 00 00 00 80 0c 00 00
		 00 80 0c 00 00 00 80 0c    00 00 00 80 12 20 06 0c
		 00 00 00 80 0c 00 00 00    80 0c 00 00 00 80 0c 00
		 00 00 80 0c 00 00 00 80    0c 00 00 00 80 12 20 06
		 0c 00 00 00 80 0c 00 00    00 80 0c 00 00 00 80 0c
		 00 00 00 80 0c 00 00 00    80 0c 00 00 00 80 12 20
		 06 0c 00 00 00 80 0c 00    00 00 80 0c 00 00 00 80
		 0c 00 00 00 80 0c 00 00    00 80 0c 00 00 00 80 12
		 20 06 0c 00 00 00 80 0c    00 00 00 80 0c 00 00 00
		 80 0c 00 00 00 80 0c 00    00 00 80 0c 00 00 00 80
		 12 20 06 0c 00 00 00 80    0c 00 00 00 80 0c 00 00
		 00 80 0c 00 00 00 80 0c    00 00 00 80 0c 00 00 00
		 80 12 20 06 0c 00 00 00    80 0c 00 00 00 80 0c 00
		 00 00 80 0c 00 00 00 80    0c 00 00 00 80 0c 00 00
		 00 80 12 20 06 0c 00 00    00 80 0c 00 00 00 80 0c
		 00 00 00 80 0c 00 00 00    80 0c 00 00 00 80 0c 00
		 00 00 80 12 20 06 0c 00    00 00 80 0c 00 00 00 80
		 0c 00 00 00 80 0c 00 00    00 80 0c 00 00 00 80 0c
		 00 00 00 80 12 20 06 0c    00 00 00 80 0c 00 00 00
		 80 0c 00 00 00 80 0c 00    00 00 80 0c 00 00 00 80
		 0c 00 00 00 80 08 50 53    44 46 0a 00 14 4d 04 5f
		 50 53 44 00 a0 30 92 50    53 44 46 70 54 43 4e 54
		 88 83 88 48 50 53 44 0a    00 00 0a 04 00 70 54 43
		 4e 54 88 83 88 53 50 53    44 0a 00 00 0a 04 00 70
		 ff 50 53 44 46 a0 0f 7b    50 44 43 30 0b 00 08 00
		 a4 48 50 53 44 a4 53 50    53 44 08 48 50 53 44 12
		 0f 01 12 0c 05 0a 05 0a    00 0a 00 0a fe 0a 80 08
		 53 50 53 44 12 0f 01 12    0c 05 0a 05 0a 00 0a 00
		 0a fc 0a 80
	}
 */
/*
  SSDT: Length=2959, Revision=2, Checksum=85,
	OEMID=CpuRef, OEM Table ID=CpuSsdt, OEM Revision=0x3000,
	Creator ID=INTL, Creator Revision=0x20130927

	Data={
		 53 53 44 54 8f 0b 00 00    02 55 43 70 75 52 65 66
		 43 70 75 53 73 64 74 00    00 30 00 00 49 4e 54 4c
		 27 09 13 20 10 4d 0b 5c    00 08 53 53 44 54 12 43
		 05 0c 0d 43 50 55 30 49    53 54 20 00 0c 98 fa 6f
		 a6 0c 44 05 00 00 0d 41    50 49 53 54 20 20 20 00
		 0c 98 c6 de a9 0c db 05    00 00 0d 43 50 55 30 43
		 53 54 20 00 0c 18 b9 de    a9 0c f3 03 00 00 0d 41
		 50 43 53 54 20 20 20 00    0c 98 ad de a9 0c 19 01
		 00 00 08 5c 50 44 43 30    0c 00 00 00 80 08 5c 50
		 44 43 31 0c 00 00 00 80    08 5c 50 44 43 32 0c 00
		 00 00 80 08 5c 50 44 43    33 0c 00 00 00 80 08 5c
		 50 44 43 34 0c 00 00 00    80 08 5c 50 44 43 35 0c
		 00 00 00 80 08 5c 50 44    43 36 0c 00 00 00 80 08
		 5c 50 44 43 37 0c 00 00    00 80 08 5c 53 44 54 4c
		 0a 00 10 40 18 5c 5f 50    52 5f 5b 80 50 4e 56 53
		 00 0c 98 8f f6 a9 0b 53    00 5b 81 48 11 50 4e 56
		 53 10 50 47 52 56 08 43    46 47 44 20 00 08 41 43
		 52 54 08 41 50 53 56 08    41 41 43 30 08 43 50 49
		 44 20 43 50 50 43 08 43    43 54 50 08 43 4c 56 4c
		 08 43 42 4d 49 08 50 4c    31 30 10 50 4c 32 30 10
		 50 4c 57 30 08 43 54 43    30 08 54 41 52 30 08 50
		 50 43 30 08 50 4c 31 31    10 50 4c 32 31 10 50 4c
		 57 31 08 43 54 43 31 08    54 41 52 31 08 50 50 43
		 31 08 50 4c 31 32 10 50    4c 32 32 10 50 4c 57 32
		 08 43 54 43 32 08 54 41    52 32 08 50 50 43 32 08
		 43 33 4d 57 08 43 36 4d    57 08 43 37 4d 57 08 43
		 44 4d 57 08 43 33 4c 54    10 43 36 4c 54 10 43 37
		 4c 54 10 43 44 4c 54 10    43 44 4c 56 10 43 44 50
		 57 10 4d 50 4d 46 08 44    54 53 45 08 44 54 53 31
		 08 44 54 53 32 08 44 54    53 46 08 50 44 54 53 08
		 50 4b 47 41 08 44 54 53    33 08 44 54 53 34 08 42
		 47 4d 41 40 04 42 47 4d    53 08 42 47 49 41 10 42
		 47 49 4c 10 44 53 49 41    10 44 53 49 4c 08 44 53
		 41 45 08 5b 80 49 4f 5f    44 01 5c 2e 5f 50 52 5f
		 44 53 49 41 5c 2e 5f 50    52 5f 44 53 49 4c 5b 81
		 0b 49 4f 5f 44 01 54 52    50 44 08 5b 80 49 4f 5f
		 50 01 5c 2e 5f 50 52 5f    42 47 49 41 5c 2e 5f 50
		 52 5f 42 47 49 4c 5b 81    0b 49 4f 5f 50 01 54 52
		 50 46 08 10 4c 24 5c 2e    5f 50 52 5f 43 50 55 30
		 08 48 49 30 5f 0a 00 08    48 43 30 5f 0a 00 14 3c
		 5f 50 44 43 01 a0 27 5b    12 5c 2f 03 5f 50 52 5f
		 43 50 55 30 5f 50 50 43    00 70 43 50 50 43 5c 2f
		 03 5f 50 52 5f 43 50 55    30 5f 50 50 43 70 43 50
		 44 43 68 60 47 43 41 50    60 a4 60 14 17 5f 4f 53
		 43 04 70 43 4f 53 43 68    69 6a 6b 60 47 43 41 50
		 60 a4 60 14 49 06 43 50    44 43 01 8a 68 0a 00 52
		 45 56 53 8a 68 0a 04 53    49 5a 45 70 87 68 60 70
		 74 60 0a 08 00 61 5b 13    68 0a 40 77 61 0a 08 00
		 54 45 4d 50 08 53 54 53    30 11 07 0a 04 00 00 00
		 00 73 53 54 53 30 54 45    4d 50 62 a4 43 4f 53 43
		 11 13 0a 10 16 a6 77 40    0c 29 be 47 9e bd d8 70
		 58 71 39 53 52 45 56 53    53 49 5a 45 62 14 41 0c
		 43 4f 53 43 04 8a 6b 0a    00 53 54 53 30 8a 6b 0a
		 04 43 41 50 30 8a 68 0a    00 49 49 44 30 8a 68 0a
		 04 49 49 44 31 8a 68 0a    08 49 49 44 32 8a 68 0a
		 0c 49 49 44 33 08 55 49    44 30 11 13 0a 10 16 a6
		 77 40 0c 29 be 47 9e bd    d8 70 58 71 39 53 8a 55
		 49 44 30 0a 00 45 49 44    30 8a 55 49 44 30 0a 04
		 45 49 44 31 8a 55 49 44    30 0a 08 45 49 44 32 8a
		 55 49 44 30 0a 0c 45 49    44 33 a0 32 92 90 90 93
		 49 49 44 30 45 49 44 30    93 49 49 44 31 45 49 44
		 31 90 93 49 49 44 32 45    49 44 32 93 49 49 44 33
		 45 49 44 33 70 0a 06 53    54 53 30 a4 6b a0 0f 92
		 93 69 0a 01 70 0a 0a 53    54 53 30 a4 6b a4 6b 14
		 40 0b 47 43 41 50 01 8a    68 0a 00 53 54 53 30 8a
		 68 0a 04 43 41 50 30 a0    12 91 93 53 54 53 30 0a
		 06 93 53 54 53 30 0a 0a    a4 00 a0 17 7b 53 54 53
		 30 0a 01 00 7b 43 41 50    30 0b ff 0b 43 41 50 30
		 a4 00 7d 7b 50 44 43 30    0c ff ff ff 7f 00 43 41
		 50 30 50 44 43 30 a0 47    05 7b 43 46 47 44 0a 7a
		 00 a0 4c 04 90 90 7b 43    46 47 44 0b 00 02 00 7b
		 50 44 43 30 0a 18 00 92    7b 53 44 54 4c 0a 02 00
		 7d 53 44 54 4c 0a 02 53    44 54 4c 5b 80 43 53 54
		 30 00 83 88 53 53 44 54    0a 07 00 83 88 53 53 44
		 54 0a 08 00 5b 20 43 53    54 30 48 43 30 5f a4 00
		 10 44 17 5c 2e 5f 50 52    5f 43 50 55 31 08 48 49
		 31 5f 0a 00 08 48 43 31    5f 0a 00 14 1f 5f 50 44
		 43 01 70 5c 2f 03 5f 50    52 5f 43 50 55 30 43 50
		 44 43 68 60 47 43 41 50    60 a4 60 14 22 5f 4f 53
		 43 04 70 5c 2f 03 5f 50    52 5f 43 50 55 30 43 4f
		 53 43 68 69 6a 6b 60 47    43 41 50 60 a4 60 14 40
		 08 47 43 41 50 01 8a 68    0a 00 53 54 53 31 8a 68
		 0a 04 43 41 50 31 a0 12    91 93 53 54 53 31 0a 06
		 93 53 54 53 31 0a 0a a4    00 a0 17 7b 53 54 53 31
		 0a 01 00 7b 43 41 50 31    0b ff 0b 43 41 50 31 a4
		 00 7d 7b 50 44 43 31 0c    ff ff ff 7f 00 43 41 50
		 31 50 44 43 31 a0 10 93    7b 50 44 43 31 0a 09 00
		 0a 09 41 50 50 54 a0 0d    7b 50 44 43 31 0a 18 00
		 41 50 43 54 70 50 44 43    31 50 44 43 30 a4 00 14
		 4a 04 41 50 43 54 00 a0    42 04 90 7b 43 46 47 44
		 0a 7a 00 92 7b 53 44 54    4c 0a 20 00 7d 53 44 54
		 4c 0a 20 53 44 54 4c 5b    80 43 53 54 31 00 83 88
		 53 53 44 54 0a 0a 00 83    88 53 53 44 54 0a 0b 00
		 5b 20 43 53 54 31 48 43    31 5f 14 4a 04 41 50 50
		 54 00 a0 42 04 90 7b 43    46 47 44 0a 01 00 92 7b
		 53 44 54 4c 0a 10 00 7d    53 44 54 4c 0a 10 53 44
		 54 4c 5b 80 49 53 54 31    00 83 88 53 53 44 54 0a
		 04 00 83 88 53 53 44 54    0a 05 00 5b 20 49 53 54
		 31 48 49 31 5f 10 46 0e    5c 2e 5f 50 52 5f 43 50
		 55 32 14 1f 5f 50 44 43    01 70 5c 2f 03 5f 50 52
		 5f 43 50 55 30 43 50 44    43 68 60 47 43 41 50 60
		 a4 60 14 22 5f 4f 53 43    04 70 5c 2f 03 5f 50 52
		 5f 43 50 55 30 43 4f 53    43 68 69 6a 6b 60 47 43
		 41 50 60 a4 60 14 46 09    47 43 41 50 01 8a 68 0a
		 00 53 54 53 32 8a 68 0a    04 43 41 50 32 a0 12 91
		 93 53 54 53 32 0a 06 93    53 54 53 32 0a 0a a4 00
		 a0 17 7b 53 54 53 32 0a    01 00 7b 43 41 50 32 0b
		 ff 0b 43 41 50 32 a4 00    7d 7b 50 44 43 32 0c ff
		 ff ff 7f 00 43 41 50 32    50 44 43 32 a0 1b 93 7b
		 50 44 43 32 0a 09 00 0a    09 5c 2f 03 5f 50 52 5f
		 43 50 55 31 41 50 50 54    a0 18 7b 50 44 43 32 0a
		 18 00 5c 2f 03 5f 50 52    5f 43 50 55 31 41 50 43
		 54 70 50 44 43 32 50 44    43 30 a4 00 10 46 0e 5c
		 2e 5f 50 52 5f 43 50 55    33 14 1f 5f 50 44 43 01
		 70 5c 2f 03 5f 50 52 5f    43 50 55 30 43 50 44 43
		 68 60 47 43 41 50 60 a4    60 14 22 5f 4f 53 43 04
		 70 5c 2f 03 5f 50 52 5f    43 50 55 30 43 4f 53 43
		 68 69 6a 6b 60 47 43 41    50 60 a4 60 14 46 09 47
		 43 41 50 01 8a 68 0a 00    53 54 53 33 8a 68 0a 04
		 43 41 50 33 a0 12 91 93    53 54 53 33 0a 06 93 53
		 54 53 33 0a 0a a4 00 a0    17 7b 53 54 53 33 0a 01
		 00 7b 43 41 50 33 0b ff    0b 43 41 50 33 a4 00 7d
		 7b 50 44 43 33 0c ff ff    ff 7f 00 43 41 50 33 50
		 44 43 33 a0 1b 93 7b 50    44 43 33 0a 09 00 0a 09
		 5c 2f 03 5f 50 52 5f 43    50 55 31 41 50 50 54 a0
		 18 7b 50 44 43 33 0a 18    00 5c 2f 03 5f 50 52 5f
		 43 50 55 31 41 50 43 54    70 50 44 43 33 50 44 43
		 30 a4 00 10 46 0e 5c 2e    5f 50 52 5f 43 50 55 34
		 14 1f 5f 50 44 43 01 70    5c 2f 03 5f 50 52 5f 43
		 50 55 30 43 50 44 43 68    60 47 43 41 50 60 a4 60
		 14 22 5f 4f 53 43 04 70    5c 2f 03 5f 50 52 5f 43
		 50 55 30 43 4f 53 43 68    69 6a 6b 60 47 43 41 50
		 60 a4 60 14 46 09 47 43    41 50 01 8a 68 0a 00 53
		 54 53 34 8a 68 0a 04 43    41 50 34 a0 12 91 93 53
		 54 53 34 0a 06 93 53 54    53 34 0a 0a a4 00 a0 17
		 7b 53 54 53 34 0a 01 00    7b 43 41 50 34 0b ff 0b
		 43 41 50 34 a4 00 7d 7b    50 44 43 34 0c ff ff ff
		 7f 00 43 41 50 34 50 44    43 34 a0 1b 93 7b 50 44
		 43 34 0a 09 00 0a 09 5c    2f 03 5f 50 52 5f 43 50
		 55 31 41 50 50 54 a0 18    7b 50 44 43 34 0a 18 00
		 5c 2f 03 5f 50 52 5f 43    50 55 31 41 50 43 54 70
		 50 44 43 34 50 44 43 30    a4 00 10 46 0e 5c 2e 5f
		 50 52 5f 43 50 55 35 14    1f 5f 50 44 43 01 70 5c
		 2f 03 5f 50 52 5f 43 50    55 30 43 50 44 43 68 60
		 47 43 41 50 60 a4 60 14    22 5f 4f 53 43 04 70 5c
		 2f 03 5f 50 52 5f 43 50    55 30 43 4f 53 43 68 69
		 6a 6b 60 47 43 41 50 60    a4 60 14 46 09 47 43 41
		 50 01 8a 68 0a 00 53 54    53 35 8a 68 0a 04 43 41
		 50 35 a0 12 91 93 53 54    53 35 0a 06 93 53 54 53
		 35 0a 0a a4 00 a0 17 7b    53 54 53 35 0a 01 00 7b
		 43 41 50 35 0b ff 0b 43    41 50 35 a4 00 7d 7b 50
		 44 43 35 0c ff ff ff 7f    00 43 41 50 35 50 44 43
		 35 a0 1b 93 7b 50 44 43    35 0a 09 00 0a 09 5c 2f
		 03 5f 50 52 5f 43 50 55    31 41 50 50 54 a0 18 7b
		 50 44 43 35 0a 18 00 5c    2f 03 5f 50 52 5f 43 50
		 55 31 41 50 43 54 70 50    44 43 35 50 44 43 30 a4
		 00 10 46 0e 5c 2e 5f 50    52 5f 43 50 55 36 14 1f
		 5f 50 44 43 01 70 5c 2f    03 5f 50 52 5f 43 50 55
		 30 43 50 44 43 68 60 47    43 41 50 60 a4 60 14 22
		 5f 4f 53 43 04 70 5c 2f    03 5f 50 52 5f 43 50 55
		 30 43 4f 53 43 68 69 6a    6b 60 47 43 41 50 60 a4
		 60 14 46 09 47 43 41 50    01 8a 68 0a 00 53 54 53
		 36 8a 68 0a 04 43 41 50    36 a0 12 91 93 53 54 53
		 36 0a 06 93 53 54 53 36    0a 0a a4 00 a0 17 7b 53
		 54 53 36 0a 01 00 7b 43    41 50 36 0b ff 0b 43 41
		 50 36 a4 00 7d 7b 50 44    43 36 0c ff ff ff 7f 00
		 43 41 50 36 50 44 43 36    a0 1b 93 7b 50 44 43 36
		 0a 09 00 0a 09 5c 2f 03    5f 50 52 5f 43 50 55 31
		 41 50 50 54 a0 18 7b 50    44 43 36 0a 18 00 5c 2f
		 03 5f 50 52 5f 43 50 55    31 41 50 43 54 70 50 44
		 43 36 50 44 43 30 a4 00    10 46 0e 5c 2e 5f 50 52
		 5f 43 50 55 37 14 1f 5f    50 44 43 01 70 5c 2f 03
		 5f 50 52 5f 43 50 55 30    43 50 44 43 68 60 47 43
		 41 50 60 a4 60 14 22 5f    4f 53 43 04 70 5c 2f 03
		 5f 50 52 5f 43 50 55 30    43 4f 53 43 68 69 6a 6b
		 60 47 43 41 50 60 a4 60    14 46 09 47 43 41 50 01
		 8a 68 0a 00 53 54 53 37    8a 68 0a 04 43 41 50 37
		 a0 12 91 93 53 54 53 37    0a 06 93 53 54 53 37 0a
		 0a a4 00 a0 17 7b 53 54    53 37 0a 01 00 7b 43 41
		 50 37 0b ff 0b 43 41 50    37 a4 00 7d 7b 50 44 43
		 37 0c ff ff ff 7f 00 43    41 50 37 50 44 43 37 a0
		 1b 93 7b 50 44 43 37 0a    09 00 0a 09 5c 2f 03 5f
		 50 52 5f 43 50 55 31 41    50 50 54 a0 18 7b 50 44
		 43 37 0a 18 00 5c 2f 03    5f 50 52 5f 43 50 55 31
		 41 50 43 54 70 50 44 43    37 50 44 43 30 a4 00
	}
 */
/*
  SSDT: Length=469, Revision=2, Checksum=104,
	OEMID=PmRef, OEM Table ID=LakeTiny, OEM Revision=0x3000,
	Creator ID=INTL, Creator Revision=0x20130927

	Data={
		 53 53 44 54 d5 01 00 00    02 68 50 6d 52 65 66 00
		 4c 61 6b 65 54 69 6e 79    00 30 00 00 49 4e 54 4c
		 27 09 13 20 10 44 0d 5c    2f 03 5f 53 42 5f 50 43
		 49 30 53 41 54 41 14 34    53 4c 54 31 08 a0 2a 5b
		 12 5c 2f 03 5f 50 52 5f    43 50 55 30 47 45 41 52
		 00 70 0a 00 5c 2f 03 5f    50 52 5f 43 50 55 30 47
		 45 41 52 5c 50 4e 4f 54    a4 0a 00 14 34 53 4c 54
		 32 08 a0 2a 5b 12 5c 2f    03 5f 50 52 5f 43 50 55
		 30 47 45 41 52 00 70 0a    01 5c 2f 03 5f 50 52 5f
		 43 50 55 30 47 45 41 52    5c 50 4e 4f 54 a4 0a 00
		 14 34 53 4c 54 33 08 a0    2a 5b 12 5c 2f 03 5f 50
		 52 5f 43 50 55 30 47 45    41 52 00 70 0a 02 5c 2f
		 03 5f 50 52 5f 43 50 55    30 47 45 41 52 5c 50 4e
		 4f 54 a4 0a 00 14 23 47    4c 54 53 08 70 5c 2f 03
		 5f 50 52 5f 43 50 55 30    47 45 41 52 60 79 60 0a
		 01 60 7d 60 0a 01 60 a4    60 10 4b 0d 5c 2f 03 5f
		 53 42 5f 50 43 49 30 53    41 54 31 14 34 53 4c 54
		 31 08 a0 2a 5b 12 5c 2f    03 5f 50 52 5f 43 50 55
		 30 47 45 41 52 00 70 0a    00 5c 2f 03 5f 50 52 5f
		 43 50 55 30 47 45 41 52    5c 50 4e 4f 54 a4 0a 00
		 14 34 53 4c 54 32 08 a0    2a 5b 12 5c 2f 03 5f 50
		 52 5f 43 50 55 30 47 45    41 52 00 70 0a 01 5c 2f
		 03 5f 50 52 5f 43 50 55    30 47 45 41 52 5c 50 4e
		 4f 54 a4 0a 00 14 34 53    4c 54 33 08 a0 2a 5b 12
		 5c 2f 03 5f 50 52 5f 43    50 55 30 47 45 41 52 00
		 70 0a 02 5c 2f 03 5f 50    52 5f 43 50 55 30 47 45
		 41 52 5c 50 4e 4f 54 a4    0a 00 14 2a 47 4c 54 53
		 08 70 5c 2f 03 5f 50 52    5f 43 50 55 30 47 45 41
		 52 60 79 60 0a 01 60 7b    4d 50 4d 46 0a 01 61 7d
		 60 61 60 a4 60
	}
 */
/*
  SSDT: Length=2348, Revision=2, Checksum=240,
	OEMID=SaSsdt, OEM Table ID=SaSsdt, OEM Revision=0x3000,
	Creator ID=INTL, Creator Revision=0x20130927

	Data={
		 53 53 44 54 2c 09 00 00    02 f0 53 61 53 73 64 74
		 53 61 53 73 64 74 20 00    00 30 00 00 49 4e 54 4c
		 27 09 13 20 5b 80 53 41    4e 56 00 0c 18 5f f6 a9
		 0b b0 00 5b 81 4e 19 53    41 4e 56 10 53 41 52 56
		 20 49 4d 4f 4e 08 49 47    44 53 08 49 42 54 54 08
		 49 50 41 54 08 49 50 53    43 08 49 42 4c 43 08 49
		 42 49 41 08 49 53 53 43    08 49 50 43 46 08 49 44
		 4d 53 08 49 46 31 45 08    48 56 43 4f 08 47 53 4d
		 49 08 4b 53 56 30 20 4b    53 56 31 08 42 42 41 52
		 20 42 4c 43 53 08 42 52    54 4c 08 41 4c 53 45 08
		 41 4c 41 46 08 4c 4c 4f    57 08 4c 48 49 48 08 41
		 4c 46 50 08 41 55 44 41    20 41 55 44 43 20 44 49
		 44 43 20 44 49 44 44 20    44 49 44 45 20 44 49 44
		 46 20 43 41 44 52 20 43    43 4e 54 08 53 47 4d 44
		 08 53 47 46 4c 08 50 57    4f 4b 08 48 4c 52 53 08
		 50 57 45 4e 08 50 52 53    54 08 43 50 53 50 20 45
		 45 43 50 08 45 56 43 50    10 58 42 41 53 20 47 42
		 41 53 10 53 47 47 50 08    4e 56 47 41 20 4e 56 48
		 41 20 41 4d 44 41 20 4f    42 53 31 20 4f 42 53 32
		 20 4f 42 53 33 20 4f 42    53 34 20 4f 42 53 35 20
		 4f 42 53 36 20 4f 42 53    37 20 4f 42 53 38 20 4c
		 54 52 41 08 4f 42 46 41    08 4c 54 52 42 08 4f 42
		 46 42 08 4c 54 52 43 08    4f 42 46 43 08 53 4d 53
		 4c 10 53 4e 53 4c 10 50    30 55 42 08 50 31 55 42
		 08 50 32 55 42 08 45 44    50 56 08 4e 58 44 58 20
		 44 49 44 58 20 50 43 53    4c 08 52 43 37 41 08 50
		 42 47 45 08 4d 36 34 42    40 04 4d 36 34 4c 40 04
		 44 4c 50 57 10 44 4c 48    52 10 45 45 43 31 08 45
		 45 43 32 08 53 42 4e 30    08 53 42 4e 31 08 53 42
		 4e 32 08 10 48 75 5c 2e    5f 53 42 5f 50 43 49 30
		 5b 82 4a 74 42 30 44 33    08 5f 41 44 52 0c 00 00
		 03 00 08 42 41 52 41 0c    00 00 00 80 08 42 42 41
		 52 0a 00 08 54 42 41 52    0a 00 08 54 43 4d 44 0a
		 00 08 4d 4f 44 42 0a 00    08 4d 4f 44 43 0a 00 14
		 17 5f 53 54 41 00 a0 0d    92 93 41 55 56 44 0b ff
		 ff a4 0a 0f a4 0a 00 14    40 05 5f 49 4e 49 00 a0
		 48 04 90 92 93 7b 41 42    41 52 0c 04 c0 ff ff 00
		 0c 04 c0 ff ff 92 93 7b    41 42 41 52 0c 00 c0 ff
		 ff 00 0a 00 70 41 42 41    52 42 41 52 41 a0 1a 92
		 93 41 42 41 48 0a 00 7d    42 41 52 41 79 41 42 41
		 48 0a 20 00 42 41 52 41    5b 80 52 50 43 53 00 5c
		 58 42 41 53 0c 40 80 01    00 5b 81 1c 52 50 43 53
		 00 00 80 02 c0 41 43 4d    44 08 00 48 05 41 42 41
		 52 20 41 42 41 48 20 5b    80 52 50 43 5a 02 0a 00
		 0a 40 5b 81 0b 52 50 43    5a 13 41 55 56 44 10 14
		 44 0a 41 53 54 52 08 a0    4c 09 90 92 93 7b 41 42
		 41 52 0c 04 c0 ff ff 00    0c 04 c0 ff ff 92 93 7b
		 41 42 41 52 0c 00 c0 ff    ff 00 0a 00 70 0a 00 42
		 42 41 52 7b 41 42 41 52    0c f0 ff ff ff 42 42 41
		 52 a0 1a 92 93 41 42 41    48 0a 00 7d 42 42 41 52
		 79 41 42 41 48 0a 20 00    42 42 41 52 72 42 42 41
		 52 0b 00 10 42 42 41 52    5b 80 52 50 43 59 00 42
		 42 41 52 0a 25 5b 81 1b    52 50 43 59 03 00 40 06
		 45 4d 34 57 20 45 4d 57    41 20 00 40 04 41 44 57
		 41 20 70 41 55 44 41 45    4d 57 41 70 41 55 44 43
		 45 4d 34 57 14 4a 12 56    53 54 52 09 08 43 4f 4e
		 54 0b e8 03 08 41 44 44    52 0c 00 00 00 80 70 68
		 41 44 44 52 5b 80 43 43    44 43 00 41 44 44 52 0a
		 04 5b 81 0b 43 43 44 43    01 43 44 45 43 20 a0 40
		 0f 90 92 93 7b 41 42 41    52 0c 04 c0 ff ff 00 0c
		 04 c0 ff ff 92 93 7b 41    42 41 52 0c 00 c0 ff ff
		 00 0a 00 a0 4b 0c 92 93    43 44 45 43 0a 00 70 0a
		 00 42 42 41 52 7b 41 42    41 52 0c f0 ff ff ff 42
		 42 41 52 a0 1a 92 93 41    42 41 48 0a 00 7d 42 42
		 41 52 79 41 42 41 48 0a    20 00 42 42 41 52 5b 80
		 49 50 43 56 00 42 42 41    52 0a 70 5b 81 15 49 50
		 43 56 03 00 40 30 41 56    49 43 20 00 20 41 49 52
		 53 10 70 0b e8 03 43 4f    4e 54 a2 1e 90 93 7b 41
		 49 52 53 0a 01 00 0a 01    92 93 43 4f 4e 54 0a 00
		 5b 21 0a 01 76 43 4f 4e    54 7d 41 49 52 53 0a 02
		 41 49 52 53 70 43 44 45    43 41 56 49 43 7d 41 49
		 52 53 0a 01 41 49 52 53    70 0b e8 03 43 4f 4e 54
		 a2 1e 90 93 7b 41 49 52    53 0a 01 00 0a 01 92 93
		 43 4f 4e 54 0a 00 5b 21    0a 01 76 43 4f 4e 54 14
		 46 05 43 58 44 43 08 08    49 44 44 58 0c 00 00 00
		 80 a0 44 04 90 92 93 43    41 44 52 0a 00 92 93 43
		 43 4e 54 0a 00 70 43 41    44 52 49 44 44 58 a2 27
		 95 49 44 44 58 72 43 41    44 52 77 43 43 4e 54 0a
		 04 00 00 56 53 54 52 49    44 44 58 72 49 44 44 58
		 0a 04 49 44 44 58 14 4d    0b 41 52 53 54 08 a0 45
		 0b 90 92 93 7b 41 42 41    52 0c 04 c0 ff ff 00 0c
		 04 c0 ff ff 92 93 7b 41    42 41 52 0c 00 c0 ff ff
		 00 0a 00 7b 41 42 41 52    0c f0 ff ff ff 42 42 41
		 52 5b 80 49 50 43 56 00    42 42 41 52 0a bf 5b 81
		 2e 49 50 43 56 00 00 40    04 43 52 53 54 20 00 40
		 20 43 4f 52 42 20 00 40    06 52 49 52 42 20 00 40
		 10 4f 53 44 31 20 00 40    0e 4f 53 44 32 20 7b 43
		 4f 52 42 0c fd ff ff ff    43 4f 52 42 7b 52 49 52
		 42 0c fd ff ff ff 52 49    52 42 7b 4f 53 44 31 0c
		 fd ff ff ff 4f 53 44 31    7b 4f 53 44 32 0c fd ff
		 ff ff 4f 53 44 32 7b 43    52 53 54 0c fe ff ff ff
		 43 52 53 54 14 4b 14 41    49 4e 49 08 08 43 4f 4e
		 54 0b e8 03 a0 4b 13 90    92 93 7b 41 42 41 52 0c
		 04 c0 ff ff 00 0c 04 c0    ff ff 92 93 7b 41 42 41
		 52 0c 00 c0 ff ff 00 0a    00 70 0a 00 42 42 41 52
		 7b 41 42 41 52 0c f0 ff    ff ff 42 42 41 52 a0 1a
		 92 93 41 42 41 48 0a 00    7d 42 42 41 52 79 41 42
		 41 48 0a 20 00 42 42 41    52 5b 80 49 50 43 56 00
		 42 42 41 52 0a 70 5b 81    28 49 50 43 56 03 47 43
		 41 50 10 00 30 47 43 54    4c 20 00 10 53 53 54 53
		 08 00 48 28 41 56 49 43    20 00 20 41 49 52 53 10
		 7d 47 43 54 4c 0a 01 47    43 54 4c 70 0b e8 03 43
		 4f 4e 54 a2 1e 90 93 7b    47 43 54 4c 0a 01 00 0a
		 00 92 93 43 4f 4e 54 0a    00 5b 21 0a 01 76 43 4f
		 4e 54 7b 47 43 41 50 0b    ff ff 47 43 41 50 7d 53
		 53 54 53 0a 0f 53 53 54    53 7b 47 43 54 4c 0c fe
		 ff ff ff 47 43 54 4c 70    0b e8 03 43 4f 4e 54 a2
		 1e 90 93 7b 47 43 54 4c    0a 01 00 0a 01 92 93 43
		 4f 4e 54 0a 00 5b 21 0a    01 76 43 4f 4e 54 7d 47
		 43 54 4c 0a 01 47 43 54    4c 70 0b e8 03 43 4f 4e
		 54 a2 1e 90 93 7b 47 43    54 4c 0a 01 00 0a 00 92
		 93 43 4f 4e 54 0a 00 5b    21 0a 01 76 43 4f 4e 54
		 14 4c 0e 41 42 57 41 09    a0 42 0a 68 a0 47 07 91
		 93 7b 41 42 41 52 0c 04    c0 ff ff 00 0c 04 c0 ff
		 ff 93 7b 41 42 41 52 0c    00 c0 ff ff 00 0a 00 a0
		 44 05 92 93 42 41 52 41    0c 00 00 00 80 70 41 42
		 41 52 54 42 41 52 7d 54    42 41 52 79 41 42 41 48
		 0a 20 00 54 42 41 52 70    41 43 4d 44 54 43 4d 44
		 70 7a 42 41 52 41 0a 20    00 41 42 41 48 70 42 41
		 52 41 41 42 41 52 70 0a    06 41 43 4d 44 70 0a 01
		 4d 4f 44 42 a1 26 a0 24    92 93 7b 41 43 4d 44 0a
		 06 00 0a 06 70 41 43 4d    44 54 43 4d 44 70 0a 06
		 41 43 4d 44 70 0a 01 4d    4f 44 43 a1 41 04 a0 2f
		 4d 4f 44 42 a0 29 93 41    42 41 52 42 41 52 41 70
		 54 42 41 52 41 42 41 52    70 7a 54 42 41 52 0a 20
		 00 41 42 41 48 70 54 43    4d 44 41 43 4d 44 a0 0e
		 4d 4f 44 43 70 54 43 4d    44 41 43 4d 44 14 4e 13
		 44 43 43 43 09 a0 46 13    90 92 93 7b 41 42 41 52
		 0c 04 c0 ff ff 00 0c 04    c0 ff ff 92 93 7b 41 42
		 41 52 0c 00 c0 ff ff 00    0a 00 7b 41 42 41 52 0c
		 f0 ff ff ff 42 42 41 52    5b 80 49 50 43 56 00 42
		 42 41 52 0b 20 10 5b 81    14 49 50 43 56 00 00 80
		 06 08 41 45 4d 34 20 41    45 4d 35 20 a0 37 93 68
		 0a 00 7b 41 45 4d 34 0c    00 00 fc ff 41 45 4d 34
		 7d 41 45 4d 34 0a 04 41    45 4d 34 7b 41 45 4d 35
		 0c 00 00 fc ff 41 45 4d    35 7d 41 45 4d 35 0a 4b
		 41 45 4d 35 a0 37 93 68    0a 01 7b 41 45 4d 34 0c
		 00 00 fc ff 41 45 4d 34    7d 41 45 4d 34 0a 04 41
		 45 4d 34 7b 41 45 4d 35    0c 00 00 fc ff 41 45 4d
		 35 7d 41 45 4d 35 0a 5a    41 45 4d 35 a0 37 93 68
		 0a 02 7b 41 45 4d 34 0c    00 00 fc ff 41 45 4d 34
		 7d 41 45 4d 34 0a 10 41    45 4d 34 7b 41 45 4d 35
		 0c 00 00 fc ff 41 45 4d    35 7d 41 45 4d 35 0a e1
		 41 45 4d 35 a0 37 93 68    0a 03 7b 41 45 4d 34 0c
		 00 00 fc ff 41 45 4d 34    7d 41 45 4d 34 0a 08 41
		 45 4d 34 7b 41 45 4d 35    0c 00 00 fc ff 41 45 4d
		 35 7d 41 45 4d 35 0a e1    41 45 4d 35
	}
 */
/*
  ASF!: Length=165, Revision=32, Checksum=192,
	OEMID=HPQOEM, OEM Table ID=225A, OEM Revision=0x1,
	Creator ID=HP, Creator Revision=0x1

	Data={
		 41 53 46 21 a5 00 00 00    20 c0 48 50 51 4f 45 4d
		 32 32 35 41 20 20 20 20    01 00 00 00 48 50 20 20
		 01 00 00 00 00 00 10 00    ff ff 01 00 00 00 00 0b
		 00 00 00 00 01 00 2c 00    00 00 03 0c 89 04 01 01
		 05 6f 00 68 08 88 17 00    89 04 04 04 07 6f 00 68
		 20 88 03 00 89 05 01 01    19 6f 00 68 20 88 22 00
		 02 00 18 00 04 04 00 00    00 88 00 03 01 88 00 02
		 02 88 00 01 03 88 00 04    03 00 17 00 20 78 00 00
		 00 03 f0 01 00 00 00 00    00 00 00 00 00 00 00 84
		 00 16 00 00 10 5c 68 88    c2 d2 dc a0 a2 a4 a6 c8
		 00 00 00 00 00
	}
 */
/*
  DMAR: Length=176, Revision=1, Checksum=198,
	OEMID=INTEL, OEM Table ID=BDW, OEM Revision=0x1,
	Creator ID=INTL, Creator Revision=0x1
	Host Address Width=39
	Flags={INTR_REMAP,X2APIC_OPT_OUT}

	Type=DRHD
	Length=24
	Flags={}
	Segment=0
	Address=0x00000000fed90000
	Device Scope:
		Type=PCI Endpoint Device
		Length=8
		EnumerationId=0
		StartBusNumber=0
		Path={2:0}

	Type=DRHD
	Length=32
	Flags={INCLUDE_ALL}
	Segment=0
	Address=0x00000000fed91000
	Device Scope:
		Type=IOAPIC
		Length=8
		EnumerationId=0
		StartBusNumber=240
		Path={31:0}

		Type=HPET
		Length=8
		EnumerationId=0
		StartBusNumber=240
		Path={15:0}

	Type=RMRR
	Length=40
	Segment=0
	BaseAddress=0x00000000a9e1e000
	LimitAddress=0x00000000a9e3dfff
	Device Scope:
		Type=PCI Endpoint Device
		Length=8
		EnumerationId=0
		StartBusNumber=0
		Path={29:0}

		Type=PCI Endpoint Device
		Length=8
		EnumerationId=0
		StartBusNumber=0
		Path={20:0}

	Type=RMRR
	Length=32
	Segment=0
	BaseAddress=0x00000000ac000000
	LimitAddress=0x00000000ae7fffff
	Device Scope:
		Type=PCI Endpoint Device
		Length=8
		EnumerationId=0
		StartBusNumber=0
		Path={2:0}
 */
/*
 * Intel ACPI Component Architecture
 * AML/ASL+ Disassembler version 20190405 (64-bit version)
 * Copyright (c) 2000 - 2019 Intel Corporation
 * 
 * Disassembling to symbolic ASL+ operators
 *
 * Disassembly of /tmp/acpidump.b9GQio/acpdump.din, Fri Apr  7 12:47:16 2023
 *
 * Original Table Header:
 *     Signature        "DSDT"
 *     Length           0x00028C6C (167020)
 *     Revision         0x02
 *     Checksum         0xED
 *     OEM ID           "HPQOEM"
 *     OEM Table ID     "225A    "
 *     OEM Revision     0x00000001 (1)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20130927 (538118439)
 */
DefinitionBlock ("", "DSDT", 2, "HPQOEM", "225A    ", 0x00000001)
{
    /*
     * iASL Warning: There were 13 external control methods found during
     * disassembly, but only 0 were resolved (13 unresolved). Additional
     * ACPI tables may be required to properly disassemble the code. This
     * resulting disassembler output file may not compile because the
     * disassembler did not know how many arguments to assign to the
     * unresolved methods. Note: SSDTs can be dynamically loaded at
     * runtime and may or may not be available via the host OS.
     *
     * To specify the tables needed to resolve external control method
     * references, the -e option can be used to specify the filenames.
     * Example iASL invocations:
     *     iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml
     *     iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml
     *     iasl -e ssdt*.aml -d dsdt.aml
     *
     * In addition, the -fe option can be used to specify a file containing
     * control method external declarations with the associated method
     * argument counts. Each line of the file must be of the form:
     *     External (<method pathname>, MethodObj, <argument count>)
     * Invocation:
     *     iasl -fe refs.txt -d dsdt.aml
     *
     * The following methods were unresolved and many not compile properly
     * because the disassembler had to guess at the number of arguments
     * required for each:
     */
    External (_GPE.VHOV, MethodObj)    // Warning: Unknown method, guessing 2 arguments
    External (_PR_.CPU0.GEAR, IntObj)
    External (_SB_.IFFS.FFRU, UnknownObj)
    External (_SB_.ISCT, UnknownObj)
    External (_SB_.ISCT.ASCT, UnknownObj)
    External (_SB_.ISCT.SAOS, MethodObj)    // Warning: Unknown method, guessing 1 arguments
    External (_SB_.ISCT.WKRS, UnknownObj)
    External (_SB_.PCI0.CTCD, MethodObj)    // Warning: Unknown method, guessing 0 arguments
    External (_SB_.PCI0.CTCL, UnknownObj)
    External (_SB_.PCI0.CTCN, MethodObj)    // Warning: Unknown method, guessing 0 arguments
    External (_SB_.PCI0.GFX0.DGCE, MethodObj)    // Warning: Unknown method, guessing 0 arguments
    External (_SB_.PCI0.PAUD.PUAM, MethodObj)    // Warning: Unknown method, guessing 0 arguments
    External (_SB_.PCI0.RP05.DGFX.DD01, UnknownObj)
    External (_SB_.PCI0.RP05.DGFX.OMPR, UnknownObj)
    External (_SB_.PCI0.RP05.DGFX.SBRV, UnknownObj)
    External (_SB_.PCI0.RP05.DGFX.SVID, UnknownObj)
    External (_SB_.PCI0.XHC_.DUAM, MethodObj)    // Warning: Unknown method, guessing 0 arguments
    External (_SB_.PCI0.XHC_.PS0X, MethodObj)    // Warning: Unknown method, guessing 0 arguments
    External (_SB_.PCI0.XHC_.PS3X, MethodObj)    // Warning: Unknown method, guessing 0 arguments
    External (_SB_.PCI0.XHC_.RHUB.PS0X, MethodObj)    // Warning: Unknown method, guessing 0 arguments
    External (_SB_.PCI0.XHC_.RHUB.PS2X, MethodObj)    // Warning: Unknown method, guessing 0 arguments
    External (_SB_.PCI0.XHC_.RHUB.PS3X, MethodObj)    // Warning: Unknown method, guessing 0 arguments
    External (MPMF, UnknownObj)
    External (WMAB, MethodObj)    // Warning: Unknown method, guessing 1 arguments

    Name (FMBL, 0x01)
    Name (ECLP, 0x00)
    Name (ALSC, 0x00)
    Name (LSTA, 0x00)
    Name (IDPM, 0x00)
    Method (\HPTS, 1, NotSerialized)
    {
        SLPT = Arg0
        \_SB.ODGW ((0x5400 | Arg0))
        If (CondRefOf (\_SB.IFFS.FFRU))
        {
            \_SB.IFFS.FFRU = 0x00
        }

        If ((Arg0 == 0x05))
        {
            \_SB.SSMI (0xEA82, Arg0, 0x00, 0x00, 0x00)
        }

        If ((Arg0 > 0x00))
        {
            \_SB.SSMI (0xEA83, 0x00, 0x00, 0x00, 0x00)
            Acquire (\_SB.PCI0.LPCB.EC0.ECMX, 0xFFFF)
            If (\_SB.PCI0.LPCB.EC0.ECRG)
            {
                \_SB.PCI0.LPCB.EC0.HSST = 0x00
                \_SB.PCI0.LPCB.EC0.PB10 = 0x00
            }

            Release (\_SB.PCI0.LPCB.EC0.ECMX)
            PPTS (Arg0)
            If ((Arg0 != 0x05))
            {
                \_SB.PCI0.LPCB.EC0.BTDR (0x00)
                \_SB.PCI0.LPCB.EC0.NGBF = 0xFF
                \_SB.PCI0.LPCB.EC0.NGBT = 0xFF
                \_SB.PCI0.LPCB.EC0.GACP = 0x07
                \_SB.NFBS = 0x01
                If ((Arg0 == 0x03))
                {
                    LSTA = \_SB.LID._LID ()
                    If (((PNHM & 0x000F0FF0) != 0x000106E0))
                    {
                        IDPM = \APMC
                    }
                }

                If ((Arg0 == 0x04))
                {
                    \_SB.WLBU.INIT ()
                }
            }
        }
    }

    Method (\HWAK, 1, NotSerialized)
    {
        SLPT = 0x00
        \_SB.ODGW ((0x5600 | Arg0))
        \_SB.PCI0.LPCB.EC0.ITLB ()
        \_SB.PCI0.LPCB.EC0.RPPC (0x01)
        If (\_SB.PCI0.LPCB.EC0.ECRG)
        {
            Acquire (\_SB.PCI0.LPCB.EC0.ECMX, 0xFFFF)
            \_SB.PCI0.LPCB.EC0.ACPI = 0x01
            \_SB.PCI0.LPCB.EC0.OST = \WCOS ()
            If ((PB1E & 0x01))
            {
                \_SB.PCI0.LPCB.EC0.PB10 = 0x01
            }
            Else
            {
                \_SB.PCI0.LPCB.EC0.PB10 = 0x00
            }

            Release (\_SB.PCI0.LPCB.EC0.ECMX)
        }

        If ((Arg0 > 0x02))
        {
            \_TZ.RETD ()
            \_TZ.INTM (0x01)
            \_SB.NFBS = 0x01
            If ((Arg0 == 0x03))
            {
                If (CondRefOf (\_SB.IFFS.FFRU))
                {
                    Notify (\_SB.SLPB, 0x02) // Device Wake
                }

                Local0 = \_SB.LID._LID ()
                If ((Local0 ^ LSTA))
                {
                    \_SB.PCI0.GFX0.GLID (Local0)
                }

                If (((PNHM & 0x000F0FF0) != 0x000106E0))
                {
                    \APMC = IDPM /* \IDPM */
                }
            }

            If ((Arg0 == 0x04))
            {
                \_SB.WMID.WGWE (0x05, 0x00)
            }
        }

        If (((Arg0 == 0x04) || (\WCOS () == 0x01)))
        {
            Notify (\_SB.SLPB, 0x02) // Device Wake
        }

        Local2 = \_SB.PCI0.LPCB.EC0.GACS ()
        \_SB.PCI0.LPCB.EC0.PWUP (0x03, 0xFF)
        Local1 = \_SB.PCI0.LPCB.EC0.GBAP ()
        Local3 = \_SB.PCI0.LPCB.EC0.GACS ()
        PWRS = Local3
        Local3 ^= Local2
        If ((Arg0 > 0x02))
        {
            Notify (\_SB.AC, 0x80) // Status Change
            PCNT ()
        }

        If ((Local3 == 0x00))
        {
            If ((Arg0 == 0x04))
            {
                \_SB.ACST = (Local2 ^ 0x01)
            }
        }

        PWAK (Arg0)
        \_SB.VWAK (Arg0)
        Local0 = \_SB.HST1.GHID ()
        If ((Arg0 == 0x03))
        {
            \_SB.PCI0.ACEL.CTST = 0xFF
            \_SB.PCI0.ACEL.AJAL ()
        }
        Else
        {
            \_SB.PCI0.ACEL.ITAL ()
        }

        If (((Arg0 == 0x03) || (Arg0 == 0x04)))
        {
            \_SB.PCI0.XHC.XWAK ()
        }
    }

    Method (PCNT, 0, Serialized)
    {
        If ((TCNT > 0x01))
        {
            If ((PDC0 & 0x18))
            {
                Notify (\_PR.CPU0, 0x81) // C-State Change
            }

            If ((PDC1 & 0x18))
            {
                Notify (\_PR.CPU1, 0x81) // C-State Change
            }

            If ((PDC2 & 0x18))
            {
                Notify (\_PR.CPU2, 0x81) // C-State Change
            }

            If ((PDC3 & 0x18))
            {
                Notify (\_PR.CPU3, 0x81) // C-State Change
            }

            If ((PDC4 & 0x18))
            {
                Notify (\_PR.CPU4, 0x81) // C-State Change
            }

            If ((PDC5 & 0x18))
            {
                Notify (\_PR.CPU5, 0x81) // C-State Change
            }

            If ((PDC6 & 0x18))
            {
                Notify (\_PR.CPU6, 0x81) // C-State Change
            }

            If ((PDC7 & 0x18))
            {
                Notify (\_PR.CPU7, 0x81) // C-State Change
            }
        }
        Else
        {
            Notify (\_PR.CPU0, 0x81) // C-State Change
        }
    }

    Mutex (MUTX, 0x00)
    Method (P8XH, 2, Serialized)
    {
        If ((Arg0 == 0x00))
        {
            \_SB.ODBG (Arg1)
            P80D = ((P80D & 0xFFFFFF00) | Arg1)
        }

        If ((Arg0 == 0x01))
        {
            \_SB.ODG1 (Arg1)
            P80D = ((P80D & 0xFFFF00FF) | (Arg1 << 0x08))
        }

        If ((Arg0 == 0x02))
        {
            P80D = ((P80D & 0xFF00FFFF) | (Arg1 << 0x10))
        }

        If ((Arg0 == 0x03))
        {
            P80D = ((P80D & 0x00FFFFFF) | (Arg1 << 0x18))
        }
    }

    OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
    Field (SPRT, ByteAcc, Lock, Preserve)
    {
        SSMP,   8
    }

    Method (\_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
    {
        GPIC = Arg0
    }

    Method (_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
    {
        If ((ALSC == 0x01))
        {
            ALSC = 0x00
        }

        If ((ECLP == 0x01))
        {
            \_SB.GLVW (0x58, 0x01)
            \_SB.PCI0.LPCB.EC0.SLPT = 0x00
            ECLP = 0x00
        }

        HPTS (Arg0)
        If ((Arg0 == 0x03)){}
        If ((Arg0 == 0x05)){}
        If (((Arg0 != 0x03) && (\_SB.PCI0.LPCB.EC0.ERWB != One)))
        {
            RDWD = One
        }
    }

    Method (_WAK, 1, NotSerialized)  // _WAK: Wake
    {
        If (((Arg0 == 0x03) || (Arg0 == 0x04)))
        {
            If ((OSYS >= 0x07DD)){}
        }

        UAMS = 0x00
        HWAK (Arg0)
        \_SB.PCI0.POSC (OSCC, 0x00)
        If ((Arg0 == 0x03))
        {
            If (CondRefOf (\_SB.ISCT))
            {
                If ((\_SB.ISCT.ASCT & 0x01))
                {
                    If ((\_SB.PCI0.GFX0.TCHE & 0x0100))
                    {
                        If (((\_SB.PCI0.LPCB.EC0.SCCB & 0x01) && (\_SB.ISCT.WKRS & 0x40)))
                        {
                            \_SB.PCI0.GFX0.STAT = ((\_SB.PCI0.GFX0.STAT & ~0x03) | 0x01)
                        }
                        Else
                        {
                            \_SB.PCI0.GFX0.STAT = (\_SB.PCI0.GFX0.STAT & ~0x03)
                        }
                    }
                }
            }
        }

        If (((Arg0 == 0x03) || (Arg0 == 0x04)))
        {
            If ((OSYS == 0x07D2))
            {
                If ((\_PR.CFGD & 0x01))
                {
                    If ((\_PR.CPU0._PPC > 0x00))
                    {
                        \_PR.CPU0._PPC -= 0x01
                        PNOT ()
                        \_PR.CPU0._PPC += 0x01
                        PNOT ()
                    }
                    Else
                    {
                        \_PR.CPU0._PPC += 0x01
                        PNOT ()
                        \_PR.CPU0._PPC -= 0x01
                        PNOT ()
                    }
                }
            }
        }

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

    Method (GETB, 3, Serialized)
    {
        Local0 = (Arg0 * 0x08)
        Local1 = (Arg1 * 0x08)
        CreateField (Arg2, Local0, Local1, TBF3)
        Return (TBF3) /* \GETB.TBF3 */
    }

    Method (PNOT, 0, Serialized)
    {
        If ((TCNT > 0x01))
        {
            If ((PDC0 & 0x08))
            {
                Notify (\_PR.CPU0, 0x80) // Performance Capability Change
                If ((PDC0 & 0x10))
                {
                    Sleep (0x64)
                    Notify (\_PR.CPU0, 0x81) // C-State Change
                }
            }

            If ((PDC1 & 0x08))
            {
                Notify (\_PR.CPU1, 0x80) // Performance Capability Change
                If ((PDC1 & 0x10))
                {
                    Sleep (0x64)
                    Notify (\_PR.CPU1, 0x81) // C-State Change
                }
            }

            If ((PDC2 & 0x08))
            {
                Notify (\_PR.CPU2, 0x80) // Performance Capability Change
                If ((PDC2 & 0x10))
                {
                    Sleep (0x64)
                    Notify (\_PR.CPU2, 0x81) // C-State Change
                }
            }

            If ((PDC3 & 0x08))
            {
                Notify (\_PR.CPU3, 0x80) // Performance Capability Change
                If ((PDC3 & 0x10))
                {
                    Sleep (0x64)
                    Notify (\_PR.CPU3, 0x81) // C-State Change
                }
            }

            If ((PDC4 & 0x08))
            {
                Notify (\_PR.CPU4, 0x80) // Performance Capability Change
                If ((PDC4 & 0x10))
                {
                    Sleep (0x64)
                    Notify (\_PR.CPU4, 0x81) // C-State Change
                }
            }

            If ((PDC5 & 0x08))
            {
                Notify (\_PR.CPU5, 0x80) // Performance Capability Change
                If ((PDC5 & 0x10))
                {
                    Sleep (0x64)
                    Notify (\_PR.CPU5, 0x81) // C-State Change
                }
            }

            If ((PDC6 & 0x08))
            {
                Notify (\_PR.CPU6, 0x80) // Performance Capability Change
                If ((PDC6 & 0x10))
                {
                    Sleep (0x64)
                    Notify (\_PR.CPU6, 0x81) // C-State Change
                }
            }

            If ((PDC7 & 0x08))
            {
                Notify (\_PR.CPU7, 0x80) // Performance Capability Change
                If ((PDC7 & 0x10))
                {
                    Sleep (0x64)
                    Notify (\_PR.CPU7, 0x81) // C-State Change
                }
            }
        }
        Else
        {
            Notify (\_PR.CPU0, 0x80) // Performance Capability Change
            Sleep (0x64)
            Notify (\_PR.CPU0, 0x81) // C-State Change
        }
    }

    Name (DDPS, 0x00)
    Name (UAMS, 0x00)
    Name (VBOK, 0x00)
    Method (GUAM, 1, Serialized)
    {
        If ((Arg0 != DDPS))
        {
            DDPS = Arg0
            UAMS = (Arg0 && ~PWRS)
            If (Arg0)
            {
                \_SB.PCI0.LPCB.EC0.SLPT = 0x06
                \_SB.GLVW (0x58, 0x00)
                ECLP = 0x01
                If ((\_SB.PCI0.LPCB.EC0.ALST & 0x01))
                {
                    \_SB.PCI0.LPCB.EC0.ALST = 0x00
                    ALSC = 0x01
                }

                If ((CondRefOf (\_PR.CPU0._PSS) && CondRefOf (\_PR.CPU0._PPC)))
                {
                    \_PR.CPU0._PPC = (SizeOf (\_PR.CPU0._PSS) - One)
                    PNOT ()
                }
            }
            Else
            {
                \_SB.GLVW (0x58, 0x01)
                \_SB.PCI0.LPCB.EC0.SLPT = 0x00
                ECLP = 0x00
                If ((ALSC == 0x01))
                {
                    \_SB.PCI0.LPCB.EC0.ALST = 0x01
                    ALSC = 0x00
                }

                If (CondRefOf (\_PR.CPU0._PPC))
                {
                    \_PR.CPU0._PPC = Zero
                    PNOT ()
                }
            }

            P_CS ()
        }
    }

    Method (P_CS, 0, Serialized)
    {
        If (CondRefOf (\_SB.PCI0.PAUD.PUAM))
        {
            \_SB.PCI0.PAUD.PUAM ()
        }

        If ((OSYS == 0x07DC))
        {
            If (CondRefOf (\_SB.PCI0.XHC.DUAM))
            {
                \_SB.PCI0.XHC.DUAM ()
            }
        }
    }

    Method (TRAP, 2, Serialized)
    {
        SMIF = Arg1
        If ((Arg0 == 0x01))
        {
            TRP0 = 0x00
        }

        If ((Arg0 == 0x02))
        {
            DTSF = Arg1
            TRPD = 0x00
            Return (DTSF) /* \DTSF */
        }

        Return (SMIF) /* \SMIF */
    }

    Scope (\_SB)
    {
        Method (_INI, 0, NotSerialized)  // _INI: Initialize
        {
            OSYS = 0x07D0
            If (CondRefOf (\_OSI, Local0))
            {
                If (\_OSI ("Linux"))
                {
                    OSYS = 0x03E8
                }

                If (\_OSI ("Windows 2001"))
                {
                    OSYS = 0x07D1
                }

                If (\_OSI ("Windows 2001 SP1"))
                {
                    OSYS = 0x07D1
                }

                If (\_OSI ("Windows 2001 SP2"))
                {
                    OSYS = 0x07D2
                }

                If (\_OSI ("Windows 2001.1"))
                {
                    OSYS = 0x07D3
                }

                If (\_OSI ("Windows 2006"))
                {
                    OSYS = 0x07D6
                }

                If (\_OSI ("Windows 2009"))
                {
                    OSYS = 0x07D9
                }

                If (\_OSI ("Windows 2012"))
                {
                    OSYS = 0x07DC
                }

                If (\_OSI ("Windows 2013"))
                {
                    OSYS = 0x07DD
                }

                If (\_OSI ("Windows 2015"))
                {
                    OSYS = 0x07DF
                }
            }

            \_TZ.BOTT ()
            \_TZ.RETD ()
            PFLV = 0x01
        }

        Name (OSCI, 0x00)
        Name (OSCO, 0x00)
        Method (_OSC, 4, Serialized)  // _OSC: Operating System Capabilities
        {
            CreateDWordField (Arg3, 0x00, STS0)
            CreateDWordField (Arg3, 0x04, CAP0)
            If ((Arg0 == ToUUID ("0811b06e-4a27-44f9-8d60-3cbbc22e7b48") /* Platform-wide Capabilities */))
            {
                If ((Arg1 == One))
                {
                    If ((CAP0 & 0x04))
                    {
                        OSCO = 0x04
                    }

                    If ((CAP0 & 0x20))
                    {
                        If (CondRefOf (\_SB.PCCD.PENB))
                        {
                            If ((CondRefOf (\_SB.PCCD.PENB) == 0x00))
                            {
                                CAP0 &= 0x1F
                                STS0 |= 0x10
                            }
                        }
                        Else
                        {
                            CAP0 &= 0x1F
                            STS0 |= 0x10
                        }
                    }

                    If (\_OSI ("Windows 2013"))
                    {
                        CAP0 |= 0x04
                        OSCI = STS0 /* \_SB_._OSC.STS0 */
                        OSCO = CAP0 /* \_SB_._OSC.CAP0 */
                    }
                }
                Else
                {
                    STS0 &= 0xFFFFFF00
                    STS0 |= 0x0A
                }
            }
            Else
            {
                STS0 &= 0xFFFFFF00
                STS0 |= 0x06
            }

            Return (Arg3)
        }
    }

    OperationRegion (GNVS, SystemMemory, 0xA9F67918, 0x019C)
    Field (GNVS, AnyAcc, Lock, Preserve)
    {
        OSYS,   16, 
        SMIF,   8, 
        PRM0,   8, 
        PRM1,   8, 
        SCIF,   8, 
        PRM2,   8, 
        PRM3,   8, 
        LCKF,   8, 
        PRM4,   8, 
        PRM5,   8, 
        P80D,   32, 
        PWRS,   8, 
        DBGS,   8, 
        THOF,   8, 
        ACT1,   8, 
        ACTT,   8, 
        PSVT,   8, 
        TC1V,   8, 
        TC2V,   8, 
        TSPV,   8, 
        CRTT,   8, 
        DTSE,   8, 
        DTS1,   8, 
        DTS2,   8, 
        DTSF,   8, 
        Offset (0x24), 
        REVN,   8, 
        APIC,   8, 
        TCNT,   8, 
        PCP0,   8, 
        PCP1,   8, 
        PPCM,   8, 
        PPMF,   32, 
        C67L,   8, 
        NATP,   8, 
        CMAP,   8, 
        CMBP,   8, 
        LPTP,   8, 
        FDCP,   8, 
        CMCP,   8, 
        CIRP,   8, 
        SMSC,   8, 
        W381,   8, 
        SMC1,   8, 
        TLST,   8, 
        SSTE,   16, 
        DCLK,   16, 
        FSBF,   16, 
        EMAE,   8, 
        EMAP,   16, 
        EMAL,   16, 
        MEFE,   8, 
        DSTS,   8, 
        GTF0,   56, 
        GTF2,   56, 
        IDEM,   8, 
        GTF1,   56, 
        BID,    8, 
        ITVF,   8, 
        ITVM,   8, 
        I409,   8, 
        I509,   8, 
        I609,   8, 
        I709,   8, 
        OSCC,   8, 
        NEXP,   8, 
        SBV1,   8, 
        SBV2,   8, 
        DSEN,   8, 
        ECON,   8, 
        GPIC,   8, 
        CTYP,   8, 
        L01C,   8, 
        VFN0,   8, 
        VFN1,   8, 
        VFN2,   8, 
        VFN3,   8, 
        VFN4,   8, 
        EBAS,   32, 
        ATMC,   8, 
        PTMC,   8, 
        ATRA,   8, 
        PTRA,   8, 
        PNHM,   32, 
        TBAB,   32, 
        TBAH,   32, 
        RTIP,   8, 
        TSOD,   8, 
        ATPC,   8, 
        PTPC,   8, 
        PFLV,   8, 
        BREV,   8, 
        PDTS,   8, 
        PKGA,   8, 
        PAMT,   8, 
        AC0F,   8, 
        AC1F,   8, 
        DTS3,   8, 
        DTS4,   8, 
        LTR1,   8, 
        LTR2,   8, 
        LTR3,   8, 
        LTR4,   8, 
        LTR5,   8, 
        LTR6,   8, 
        LTR7,   8, 
        LTR8,   8, 
        OBF1,   8, 
        OBF2,   8, 
        OBF3,   8, 
        OBF4,   8, 
        OBF5,   8, 
        OBF6,   8, 
        OBF7,   8, 
        OBF8,   8, 
        XHCI,   8, 
        XHPM,   16, 
        XTUB,   32, 
        XTUS,   32, 
        XMPB,   32, 
        LPMV,   8, 
        MM64,   8, 
        S0ID,   8, 
        XHPR,   8, 
        SDS0,   8, 
        SDS1,   16, 
        SDS2,   8, 
        SDS3,   8, 
        SDS4,   8, 
        SDS5,   8, 
        Offset (0xBE), 
        RIC0,   8, 
        PEPY,   8, 
        DVS0,   8, 
        DVS1,   8, 
        DVS2,   8, 
        DVS3,   8, 
        GBSX,   8, 
        IUBE,   8, 
        IUCE,   8, 
        IUDE,   8, 
        ECNO,   8, 
        AUDD,   16, 
        DSPD,   16, 
        IC0D,   16, 
        IC1D,   16, 
        IC1S,   16, 
        VRRD,   16, 
        PSCP,   8, 
        RWAG,   8, 
        I20D,   16, 
        I21D,   16, 
        RCG0,   8, 
        ECDB,   8, 
        P2ME,   8, 
        SSH0,   16, 
        SSL0,   16, 
        SSD0,   16, 
        FMH0,   16, 
        FML0,   16, 
        FMD0,   16, 
        FPH0,   16, 
        FPL0,   16, 
        FPD0,   16, 
        SSH1,   16, 
        SSL1,   16, 
        SSD1,   16, 
        FMH1,   16, 
        FML1,   16, 
        FMD1,   16, 
        FPH1,   16, 
        FPL1,   16, 
        FPD1,   16, 
        M0C0,   16, 
        M1C0,   16, 
        M2C0,   16, 
        M0C1,   16, 
        M1C1,   16, 
        M2C1,   16, 
        M0C2,   16, 
        M1C2,   16, 
        M0C3,   16, 
        M1C3,   16, 
        M0C4,   16, 
        M1C4,   16, 
        M0C5,   16, 
        M1C5,   16, 
        TBSF,   8, 
        GIRQ,   32, 
        DMTP,   8, 
        DMTD,   8, 
        DMSH,   8, 
        LANP,   8, 
        Offset (0x128), 
        SHSB,   8, 
        PLCS,   8, 
        PLVL,   16, 
        GN1E,   8, 
        G1AT,   8, 
        G1PT,   8, 
        G1CT,   8, 
        G1HT,   8, 
        GN2E,   8, 
        G2AT,   8, 
        G2PT,   8, 
        G2CT,   8, 
        G2HT,   8, 
        WWSD,   8, 
        CVSD,   8, 
        SSDD,   8, 
        INLD,   8, 
        IFAT,   8, 
        IFPT,   8, 
        IFCT,   8, 
        IFHT,   8, 
        DOSD,   8, 
        USBH,   8, 
        BCV4,   8, 
        WTV0,   8, 
        WTV1,   8, 
        APFU,   8, 
        SOHP,   8, 
        NOHP,   8, 
        TBSE,   8, 
        WKFN,   8, 
        PEPC,   16, 
        VRSD,   16, 
        PB1E,   8, 
        PSME,   8, 
        LIDS,   8, 
        CADL,   8, 
        PADL,   8, 
        CSTE,   16, 
        NSTE,   16, 
        NDID,   8, 
        DID1,   32, 
        DID2,   32, 
        DID3,   32, 
        DID4,   32, 
        DID5,   32, 
        ASLB,   32, 
        NXD1,   32, 
        NXD2,   32, 
        NXD3,   32, 
        NXD4,   32, 
        NXD5,   32, 
        NXD6,   32, 
        NXD7,   32, 
        NXD8,   32, 
        PAVP,   8, 
        DID6,   32, 
        DID7,   32, 
        DID8,   32, 
        SPST,   8
    }

    OperationRegion (ASMA, SystemMemory, 0xA9F69018, 0x1060)
    Field (ASMA, AnyAcc, NoLock, Preserve)
    {
        ASMB,   33536
    }

    OperationRegion (AF10, SystemMemory, 0xA9F6B018, 0x1163)
    Field (AF10, AnyAcc, Lock, Preserve)
    {
        STAT,   32, 
        EVAL,   8, 
        ASTL,   8, 
        ASTG,   256, 
        OWNT,   640, 
        PROD,   640, 
        MODL,   640, 
        PTYP,   640, 
        PFRQ,   640, 
        MEMS,   640, 
        DATE,   640, 
        FAMI,   640, 
        SERL,   640, 
        VREV,   640, 
        VRE2,   640, 
        KBCD,   640, 
        HDDS,   160, 
        HDDM,   320, 
        CDAT,   136, 
        CSTS,   8, 
        CYCL,   8, 
        PBSN,   144, 
        SBSN,   144, 
        BSTS,   8, 
        BORD,   48, 
        APST,   8, 
        OAPW,   3200, 
        NAPW,   3200, 
        SECO,   32, 
        SECS,   32, 
        SKUN,   128, 
        SVID,   80, 
        SSID,   32, 
        BTFC,   160, 
        WLFC,   160, 
        WWFC,   160, 
        GPFC,   160, 
        UUID,   256, 
        CFID,   208, 
        PWDL,   16, 
        USRN,   264, 
        ROLE,   32, 
        CMDV,   32, 
        KBDL,   32, 
        HASH,   160, 
        SPSF,   8, 
        FMOD,   8, 
        NBDL,   8, 
        MBDL,   8, 
        NBAD,   8, 
        MBAD,   8, 
        WUFI,   72, 
        LFND,   1296, 
        ATIM,   48, 
        PCID,   512, 
        PCVR,   40, 
        CURL,   1040, 
        FWSF,   32, 
        FCM,    32, 
        MPMC,   8, 
        SBCT,   120, 
        MSDM,   800, 
        CPRV,   120, 
        PLFN,   320, 
        SNMD,   8, 
        PSSA,   8, 
        PSCF,   8, 
        BCIE,   8, 
        BCSC,   8, 
        HVER,   256, 
        HVCH,   512, 
        MMS1,   640, 
        MMS2,   640, 
        MMS3,   640, 
        MMS4,   640, 
        NMMS,   8, 
        CUBT,   480, 
        FBID,   3200, 
        BIDD,   1600, 
        NFCS,   8, 
        DFUE,   8, 
        PROX,   2040, 
        RURL,   2040, 
        MACA,   144, 
        BHDS,   168, 
        BHDM,   328, 
        BHDZ,   72, 
        BECV,   144, 
        BSER,   88, 
        BMOD,   96, 
        BBAT,   8, 
        BECP,   8
    }

    OperationRegion (HPDF, SystemMemory, 0xA9F6DE18, 0x0184)
    Field (HPDF, AnyAcc, Lock, Preserve)
    {
        SLPT,   4, 
        WHOS,   4, 
        SDFG,   4, 
        LEGF,   1, 
        KCDB,   1, 
        KLDB,   1, 
        TPMX,   1, 
        FOAL,   1, 
        AEDA,   1, 
        ALSF,   1, 
        WOLD,   1, 
        HSED,   1, 
        HDEN,   1, 
        MDEN,   1, 
        ICPT,   1, 
        PMCS,   1, 
        UWKD,   1, 
        ILUX,   1, 
        ITPS,   1, 
        FCIN,   1, 
        ASFG,   3, 
        WDPE,   8, 
        WDSA,   16, 
        WDST,   16, 
        WDGN,   16, 
        WDSS,   16, 
        WLBN,   8, 
        PRDT,   8, 
        LPDP,   16, 
        EAX,    32, 
        EBX,    32, 
        ECX,    32, 
        EDX,    32, 
        REFS,   32, 
        SSCI,   8, 
        SBFC,   8, 
        TJMX,   8, 
        TRCN,   8, 
        DCAP,   8, 
        LOTR,   160, 
        HITR,   160, 
        WABN,   8, 
        WADN,   8, 
        WAFN,   8, 
        DTCD,   32, 
        BDCP,   8, 
        TBRB,   32, 
        OHCB,   32, 
        EDID,   2048, 
        ESTA,   8, 
        VRMS,   32, 
        VRMB,   32, 
        SGME,   8, 
        AMNS,   32, 
        AMNP,   32, 
        AMVS,   32, 
        AMVP,   32, 
        CUPM,   16, 
        VUPM,   16, 
        CSUM,   8, 
        VSUM,   8, 
        TBOD,   8, 
        SGSP,   8
    }

    OperationRegion (HPD2, SystemMemory, 0xA9E3EF18, 0x0070)
    Field (HPD2, AnyAcc, Lock, Preserve)
    {
        CFPS,   8, 
        CMDS,   8, 
        BRID,   8, 
        VACC,   8, 
        F11,    1, 
        RSVD,   31, 
        WLDA,   768, 
        WLFL,   8, 
        WLIX,   8, 
        BTIX,   8, 
        WWIX,   8, 
        W2IX,   8, 
        GPSI,   8, 
        WIGI,   8, 
        DAMS,   8
    }

    OperationRegion (HPBR, SystemMemory, 0xA9F6EF18, 0x007E)
    Field (HPBR, AnyAcc, Lock, Preserve)
    {
        PAID,   32, 
        PHSZ,   8, 
        PVSZ,   8, 
        BRCT,   8, 
        BCCT,   8, 
        BMAP,   88, 
        BCLV,   216, 
        BRLV,   200, 
        BRNT,   400, 
        BPWG,   16, 
        BPWO,   16, 
        PNLF,   8
    }

    Scope (\_GPE)
    {
        Method (_L61, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            L01C += 0x01
            \_SB.PCI0.RP01.HPLG ()
            \_SB.PCI0.RP02.HPLG ()
            \_SB.PCI0.RP03.HPLG ()
            \_SB.PCI0.RP04.HPLG ()
            \_SB.PCI0.RP05.HPLG ()
            \_SB.PCI0.RP06.HPLG ()
            \_SB.PCI0.RP07.HPLG ()
            \_SB.PCI0.RP08.HPLG ()
        }

        Method (_L62, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            GPEC = 0x00
            Local0 = SSCI /* \SSCI */
            If (Local0)
            {
                SSCI = 0x00
                If ((Local0 == 0x01))
                {
                    VFN4 ()
                }

                If ((Local0 == 0x04))
                {
                    \_SB.WMID.WGWE (Local0, 0x00)
                }

                If ((Local0 == 0x05))
                {
                    If (\_SB.WLBU._STA ())
                    {
                        Notify (\_SB.WLBU, 0x80) // Status Change
                    }
                    Else
                    {
                        \_SB.WMID.WGWE (Local0, 0x00)
                    }
                }

                If ((Local0 == 0x03))
                {
                    VBRE (0x87)
                }

                If ((Local0 == 0x02))
                {
                    VBRE (0x86)
                }
            }
        }

        Method (_L69, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            \_SB.PCI0.RP01.PME ()
            \_SB.PCI0.RP02.PME ()
            \_SB.PCI0.RP03.PME ()
            \_SB.PCI0.RP04.PME ()
            \_SB.PCI0.RP05.PME ()
            \_SB.PCI0.RP06.PME ()
            \_SB.PCI0.RP07.PME ()
            \_SB.PCI0.RP08.PME ()
        }

        Method (_L6D, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            If (\_SB.PCI0.EHC1.PMES)
            {
                \_SB.PCI0.EHC1.PMES = 0x01
                Notify (\_SB.PCI0.EHC1, 0x02) // Device Wake
            }

            If (\_SB.PCI0.XHC.PMES)
            {
                \_SB.PCI0.XHC.PMES = 0x01
                Notify (\_SB.PCI0.XHC, 0x02) // Device Wake
            }

            If (\_SB.PCI0.HDEF.PMES)
            {
                \_SB.PCI0.HDEF.PMES = 0x01
                Notify (\_SB.PCI0.HDEF, 0x02) // Device Wake
            }

            Notify (\_SB.PCI0.LANC, 0x02) // Device Wake
        }

        Method (_L29, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            Local0 = \_SB.GINR (0x29)
            Local0 ^= 0x01
            \_SB.GINW (0x29, Local0)
            VDET ()
            If ((\WCOS () >= 0x09)){}
            If ((\WCOS () == 0x07))
            {
                If ((\_SB.DCKD () ^ \_SB.PCI0.LPCB.EC0.DOKS))
                {
                    \_SB.PCI0.LPCB.EC0.DOKS ^= 0x01
                    \_SB.WMID.WGWE (0x01, 0x00)
                }
            }

            Sleep (0x03E8)
            Notify (\_SB.PCI0.SATA, 0x00) // Bus Check
            DKET ()
        }

        Method (HWWP, 1, Serialized)
        {
            If ((Arg0 == 0x01))
            {
                Local0 = 0x00
                If (WXML)
                {
                    Local0 = 0x01
                }

                \_SB.PCI0.LPCB.EC0.HWWP (Local0)
            }
        }
    }

    Scope (\_PR)
    {
        Processor (CPU0, 0x00, 0x00001810, 0x06){}
        Processor (CPU1, 0x01, 0x00001810, 0x06){}
        Processor (CPU2, 0x02, 0x00001810, 0x06){}
        Processor (CPU3, 0x03, 0x00001810, 0x06){}
        Processor (CPU4, 0x04, 0x00001810, 0x06){}
        Processor (CPU5, 0x05, 0x00001810, 0x06){}
        Processor (CPU6, 0x06, 0x00001810, 0x06){}
        Processor (CPU7, 0x07, 0x00001810, 0x06){}
    }

    Scope (\_TZ)
    {
        Name (TRPC, Package (0x05)
        {
            Package (0x04)
            {
                0x65, 
                0x68, 
                0x68, 
                0x80
            }, 

            Package (0x04)
            {
                0x63, 
                0x66, 
                0x80, 
                0x80
            }, 

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

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

            Package (0x04)
            {
                0x36, 
                0x37, 
                0x80, 
                0x80
            }
        })
        Name (TRIP, Package (0x05)
        {
            Package (0x04){}, 
            Package (0x04){}, 
            Package (0x04){}, 
            Package (0x04){}, 
            Package (0x04){}
        })
        Name (CLSH, Package (0x04)
        {
            0x62, 
            0x69, 
            0x80, 
            0x80
        })
        Method (TRUP, 0, Serialized)
        {
            Switch (PRDT)
            {
                Case (0x50)
                {
                    MRPM = 0x19C8
                    TRPC [0x01] = CLSH /* \_TZ_.CLSH */
                }
                Case (0x52)
                {
                    MRPM = 0x10CC
                    TRPC [0x01] = CLSH /* \_TZ_.CLSH */
                }
                Case (0x53)
                {
                    MRPM = 0x10CC
                    TRPC [0x01] = CLSH /* \_TZ_.CLSH */
                }

            }

            If ((TJMX > 0x00))
            {
                Local0 = (TJMX - 0x01)
                DerefOf (TRPC [0x00]) [0x02] = Local0
                DerefOf (TRPC [0x00]) [0x01] = Local0
                DerefOf (TRPC [0x00]) [0x00] = (TJMX - 0x04)
            }
        }

        Method (INTM, 1, Serialized)
        {
            Local0 = 0x00
            OTHI (Arg0)
        }

        Name (WHTR, 0x1F)
        Name (OSTH, 0x00)
        Name (LARE, Package (0x06){})
        Name (LARP, Package (0x06){})
        Name (CUZO, Package (0x06){})
        Name (LATR, Package (0x06){})
        Mutex (THER, 0x00)
        Name (THSC, 0x1F)
        Name (MRPM, 0x1388)
        Method (BOTT, 0, Serialized)
        {
            TRUP ()
            Local3 = SizeOf (TRPC)
            Local5 = DerefOf (TRPC [0x00])
            Local4 = SizeOf (Local5)
            Local0 = 0x00
            While ((Local0 < Local3))
            {
                Local1 = 0x00
                While ((Local1 < Local4))
                {
                    Local6 = DerefOf (DerefOf (TRPC [Local0]) [Local1])
                    Local7 = GETK (Local6)
                    DerefOf (TRIP [Local0]) [Local1] = Local7
                    Local1++
                }

                Local0++
            }
        }

        Method (RETD, 0, Serialized)
        {
            Acquire (THER, 0xFFFF)
            THSC = 0x1F
            WHTR = 0x1F
            Local0 = 0x00
            While ((Local0 < 0x06))
            {
                LARE [Local0] = 0x00
                LARP [Local0] = 0x00
                CUZO [Local0] = 0xFF
                LATR [Local0] = 0x00
                Local0++
            }

            Release (THER)
        }

        Method (OTHI, 1, Serialized)
        {
            ECTI (0x01)
            If (Arg0)
            {
                NTHS (0x1F)
            }
        }

        Name (OTID, 0x00)
        Method (ECTI, 1, Serialized)
        {
            Local0 = 0x00
            If ((Arg0 == 0x01))
            {
                OTID = 0x01
            }

            If ((\_SB.PCI0.LPCB.EC0.ECRG && OTID))
            {
                NTHS (0x1F)
                OTID = 0x00
            }
        }

        Method (OSIT, 0, Serialized)
        {
            If ((OSTH == 0x00))
            {
                \_TZ.INTM (0x00)
                OSTH = 0x01
            }
        }

        Method (GETP, 2, Serialized)
        {
            Local0 = Arg1
            If ((Arg1 == 0x01))
            {
                Local3 = DerefOf (CUZO [Arg0])
                If (((Local3 > 0x01) && (Local3 != 0xFF)))
                {
                    Local0 = 0x00
                }
            }

            Local2 = DerefOf (DerefOf (TRIP [Arg0]) [Local0])
            Return (Local2)
        }

        Method (GETK, 1, Serialized)
        {
            Local0 = (Arg0 * 0x0A)
            Local1 = (Local0 + 0x0AAC)
            Return (Local1)
        }

        Method (GTTP, 5, Serialized)
        {
            Local1 = Arg2
            If (((Arg0 <= 0x04) && \_SB.PCI0.LPCB.EC0.ECRG))
            {
                Acquire (\_SB.PCI0.LPCB.EC0.ECMX, 0xFFFF)
                \_SB.PCI0.LPCB.EC0.CRZN = Arg1
                Local1 = \_SB.PCI0.LPCB.EC0.TEMP
                Release (\_SB.PCI0.LPCB.EC0.ECMX)
            }

            Local2 = Local1
            If ((Local1 < Arg3))
            {
                If ((DerefOf (LARE [Arg0]) < Arg3))
                {
                    LARP [Arg0] = Arg3
                }

                Local1 = DerefOf (LARP [Arg0])
            }
            ElseIf ((Local1 > Arg4))
            {
                If ((DerefOf (LARE [Arg0]) > Arg4))
                {
                    LARP [Arg0] = Arg4
                }

                Local1 = DerefOf (LARP [Arg0])
            }

            LARE [Arg0] = Local2
            LARP [Arg0] = Local1
            Return (Local1)
        }

        Method (SETM, 3, Serialized)
        {
            Local5 = 0x00
            If ((Arg0 <= 0x04))
            {
                Acquire (THER, 0xFFFF)
                Local7 = (0x01 << Arg0)
                If (((THSC & Local7) && \_SB.PCI0.LPCB.EC0.ECRG))
                {
                    If ((DerefOf (LATR [Arg0]) && (Arg0 != 0x04)))
                    {
                        Local4 = (Arg2 + 0x02)
                    }
                    Else
                    {
                        Local4 = Arg2
                    }

                    Local2 = DerefOf (DerefOf (TRPC [Arg0]) [0x00])
                    Local0 = 0x01
                    While ((Local0 <= 0x03))
                    {
                        Local6 = DerefOf (DerefOf (TRPC [Arg0]) [Local0])
                        If ((Local4 < Local6))
                        {
                            Break
                        }
                        Else
                        {
                            Local0++
                        }
                    }

                    If ((Local0 == 0x01))
                    {
                        If ((Arg2 > Local2))
                        {
                            If ((DerefOf (LATR [Arg0]) > Local6))
                            {
                                Local0++
                            }
                        }
                    }

                    Local3 = DerefOf (TRPC [Arg0])
                    Local4 = SizeOf (Local3)
                    If (((Local0 != DerefOf (CUZO [Arg0])) && (Local0 < 
                        Local4)))
                    {
                        Local5 = 0x01
                        CUZO [Arg0] = Local0
                        If ((Arg0 < 0x04))
                        {
                            Acquire (\_SB.PCI0.LPCB.EC0.ECMX, 0xFFFF)
                            \_SB.PCI0.LPCB.EC0.CRZN = Arg1
                            If ((DerefOf (LATR [Arg0]) == 0x00))
                            {
                                \_SB.PCI0.LPCB.EC0.PLTP = Local2
                            }

                            \_SB.PCI0.LPCB.EC0.PHTP = Local6
                            Release (\_SB.PCI0.LPCB.EC0.ECMX)
                        }

                        LATR [Arg0] = Local6
                    }

                    THSC &= ~Local7
                }

                Release (THER)
            }

            Return (Local5)
        }

        Method (CHOT, 1, Serialized)
        {
            If ((DTCD & 0x00020000))
            {
                Local0 = 0x0FAC
            }
            Else
            {
                Local0 = GETP (Arg0, 0x02)
            }

            Return (Local0)
        }

        ThermalZone (CPUZ)
        {
            Method (_HOT, 0, Serialized)  // _HOT: Hot Temperature
            {
                Return (CHOT (0x00))
            }

            Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
            {
                Return (GETP (0x00, 0x03))
            }

            Method (_TMP, 0, Serialized)  // _TMP: Temperature
            {
                \_TZ.OSIT ()
                Local0 = 0x00
                Local0 = GTTP (0x00, 0x01, 0x10, 0x00, 0x7F)
                If (SETM (0x00, 0x01, Local0))
                {
                    Notify (\_TZ.CPUZ, 0x81) // Thermal Trip Point Change
                }

                Return (GETK (Local0))
            }
        }

        ThermalZone (GFXZ)
        {
            Method (_PSV, 0, NotSerialized)  // _PSV: Passive Temperature
            {
                Return (GETP (0x01, 0x01))
            }

            Method (_PSL, 0, NotSerialized)  // _PSL: Passive List
            {
                Return (PSL ())
            }

            Name (_TSP, 0x012C)  // _TSP: Thermal Sampling Period
            Name (_TC1, 0x01)  // _TC1: Thermal Constant 1
            Name (_TC2, 0x02)  // _TC2: Thermal Constant 2
            Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
            {
                Return (GETP (0x01, 0x03))
            }

            Method (_TMP, 0, Serialized)  // _TMP: Temperature
            {
                Local0 = 0x00
                Local0 = GTTP (0x01, 0x02, 0x10, 0x00, 0x7F)
                If (SETM (0x01, 0x02, Local0))
                {
                    Notify (\_TZ.GFXZ, 0x81) // Thermal Trip Point Change
                }

                Return (GETK (Local0))
            }
        }

        ThermalZone (EXTZ)
        {
            Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
            {
                Return (GETP (0x02, 0x03))
            }

            Method (_TMP, 0, Serialized)  // _TMP: Temperature
            {
                Local0 = 0x00
                Local0 = GTTP (0x02, 0x03, 0x10, 0x00, 0x7F)
                Return (GETK (Local0))
            }
        }

        ThermalZone (LOCZ)
        {
            Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
            {
                Return (GETP (0x03, 0x03))
            }

            Method (_TMP, 0, Serialized)  // _TMP: Temperature
            {
                Local0 = 0x00
                Local0 = GTTP (0x03, 0x04, 0x10, 0x00, 0x7F)
                Return (GETK (Local0))
            }
        }

        ThermalZone (BATZ)
        {
            Method (_PSV, 0, NotSerialized)  // _PSV: Passive Temperature
            {
                Return (GETP (0x04, 0x01))
            }

            Method (_PSL, 0, NotSerialized)  // _PSL: Passive List
            {
                Return (PSL ())
            }

            Name (_TSP, 0x012C)  // _TSP: Thermal Sampling Period
            Name (_TC1, 0x32)  // _TC1: Thermal Constant 1
            Name (_TC2, 0x00)  // _TC2: Thermal Constant 2
            Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
            {
                Return (GETP (0x04, 0x03))
            }

            Method (_TMP, 0, Serialized)  // _TMP: Temperature
            {
                Local0 = 0x00
                Local0 = GTTP (0x04, 0x05, 0x00, 0x00, 0x7F)
                If (SETM (0x04, 0x05, Local0))
                {
                    Notify (\_TZ.BATZ, 0x81) // Thermal Trip Point Change
                }

                Return (GETK (Local0))
            }
        }

        Method (NTHS, 1, Serialized)
        {
            If ((Arg0 & 0x01))
            {
                Notify (CPUZ, 0x80) // Thermal Status Change
            }

            If ((Arg0 & 0x02))
            {
                Notify (GFXZ, 0x80) // Thermal Status Change
            }

            If ((Arg0 & 0x04))
            {
                Notify (EXTZ, 0x80) // Thermal Status Change
            }

            If ((Arg0 & 0x08))
            {
                Notify (LOCZ, 0x80) // Thermal Status Change
            }

            If ((Arg0 & 0x10))
            {
                Notify (BATZ, 0x80) // Thermal Status Change
            }
        }

        Method (ECTE, 1, Serialized)
        {
            Local1 = 0x00
            If (Arg0)
            {
                If ((Arg0 & 0x01))
                {
                    Local1 |= 0x01
                }

                If ((Arg0 & 0x02))
                {
                    Local1 |= 0x02
                }

                If ((Arg0 & 0x04))
                {
                    Local1 |= 0x04
                }

                If ((Arg0 & 0x08))
                {
                    Local1 |= 0x08
                }

                If ((Arg0 & 0x10))
                {
                    Local1 |= 0x10
                }
            }
            Else
            {
                Local1 |= 0x10
            }

            Acquire (THER, 0xFFFF)
            THSC |= Local1
            Release (THER)
            NTHS (Local1)
        }

        Method (GFRM, 0, Serialized)
        {
            Local0 = 0x00
            If (\_SB.PCI0.LPCB.EC0.ECRG)
            {
                Acquire (\_SB.PCI0.LPCB.EC0.ECMX, 0xFFFF)
                Local0 = \_SB.PCI0.LPCB.EC0.FRDC
                Release (\_SB.PCI0.LPCB.EC0.ECMX)
                If (Local0)
                {
                    Local1 = (Local0 >> 0x01)
                    Local2 = (0x0003C000 + Local1)
                    Divide (Local2, Local0, Local1, Local0)
                }
            }

            Return (Local0)
        }

        Method (GTRM, 0, Serialized)
        {
            Local0 = 0x00
            If (\_SB.PCI0.LPCB.EC0.ECRG)
            {
                Acquire (\_SB.PCI0.LPCB.EC0.ECMX, 0xFFFF)
                Local0 = \_SB.PCI0.LPCB.EC0.FTGC
                Release (\_SB.PCI0.LPCB.EC0.ECMX)
                If (Local0)
                {
                    Local1 = (Local0 >> 0x01)
                    Local2 = (0x0003C000 + Local1)
                    Divide (Local2, Local0, Local1, Local0)
                }
            }

            Return (Local0)
        }

        Method (GFSD, 0, Serialized)
        {
            Local0 = GFRM ()
            Local1 = (Local0 * 0x64)
            Divide (Local1, MRPM, Local1, Local2)
            Return (Local2)
        }

        Method (CTCT, 1, Serialized)
        {
            Local1 = (Arg0 * MRPM) /* \_TZ_.MRPM */
            Divide (Local1, 0x64, Local2, Local0)
            If (Local0)
            {
                Local1 = (Local0 >> 0x01)
                Local2 = (0x0003C000 + Local1)
                Divide (Local2, Local0, Local1, Local0)
            }

            If ((Local0 > 0xF4))
            {
                Local0 = 0xF4
            }

            Return (Local0)
        }

        Method (PSL, 0, Serialized)
        {
            If ((\_PR.CFGD & 0x01000000))
            {
                If ((TCNT == 0x08))
                {
                    Return (Package (0x08)
                    {
                        \_PR.CPU0, 
                        \_PR.CPU1, 
                        \_PR.CPU2, 
                        \_PR.CPU3, 
                        \_PR.CPU4, 
                        \_PR.CPU5, 
                        \_PR.CPU6, 
                        \_PR.CPU7
                    })
                }

                If ((TCNT == 0x04))
                {
                    Return (Package (0x04)
                    {
                        \_PR.CPU0, 
                        \_PR.CPU1, 
                        \_PR.CPU2, 
                        \_PR.CPU3
                    })
                }

                Return (Package (0x02)
                {
                    \_PR.CPU0, 
                    \_PR.CPU1
                })
            }
            Else
            {
                Return (Package (0x01)
                {
                    \_PR.CPU0
                })
            }
        }

        ThermalZone (PCHZ)
        {
            Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
            {
                Return (0x0FAC)
            }

            Method (_TMP, 0, Serialized)  // _TMP: Temperature
            {
                Local0 = 0x00
                Local0 = GTTP (0x05, 0x00, PCHT, 0x00, 0x7F)
                Local1 = DerefOf (DerefOf (\_SB.WMID.TSTV [0x02]) [0x02])
                If ((Local1 != 0xFF))
                {
                    Local0 = Local1
                }

                Return (GETK (Local0))
            }
        }

        Method (GDTP, 2, Serialized)
        {
            If ((Arg1 || DTZS ()))
            {
                Local0 = \_SB.PCI0.SBUS.SRDW (Arg0, 0x05)
                If ((Local0 == 0xFFFFFFFF))
                {
                    Local0 = 0x00
                }
                ElseIf ((Local0 & 0x1000))
                {
                    Local0 = 0x00
                }
                Else
                {
                    Local0 >>= 0x04
                    Local0 &= 0xFF
                }

                Return (\_TZ.GETK (Local0))
            }
            Else
            {
                Return (0x0AAC)
            }
        }

        Method (DTZS, 0, NotSerialized)
        {
            If ((DTCD & 0x00010000))
            {
                Return (0x0F)
            }

            Return (0x00)
        }

        ThermalZone (DM1Z)
        {
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (DTZS ())
            }

            Method (_TMP, 0, Serialized)  // _TMP: Temperature
            {
                Return (GDTP (0x30, 0x00))
            }

            Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
            {
                Return (0x0FAC)
            }
        }

        ThermalZone (DM2Z)
        {
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (DTZS ())
            }

            Method (_TMP, 0, Serialized)  // _TMP: Temperature
            {
                Return (GDTP (0x34, 0x00))
            }

            Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
            {
                Return (0x0FAC)
            }
        }
    }

    Name (\NIST, Package (0x10)
    {
        "0", 
        "1", 
        "2", 
        "3", 
        "4", 
        "5", 
        "6", 
        "7", 
        "8", 
        "9", 
        "A", 
        "B", 
        "C", 
        "D", 
        "E", 
        "F"
    })
    Method (\ISTR, 2, NotSerialized)
    {
        Local0 = Arg0
        Local7 = ""
        Local4 = Arg1
        While ((Local4 > 0x00))
        {
            Local1 = (Local0 & 0x0F)
            Local2 = DerefOf (\NIST [Local1])
            Concatenate (Local2, Local7, Local3)
            Local7 = Local3
            Local0 >>= 0x04
            Local4--
        }

        Return (Local7)
    }

    Method (\SRCP, 2, NotSerialized)
    {
        Local7 = SizeOf (Arg0)
        If ((Local7 != SizeOf (Arg1)))
        {
            Return (0x00)
        }

        Name (ST00, Buffer (Local7){})
        Name (ST01, Buffer (Local7){})
        ST00 = Arg0
        ST01 = Arg1
        Local6 = 0x00
        Local0 = 0x01
        While (((Local6 != Local7) && Local0))
        {
            Local2 = DerefOf (ST00 [Local6])
            Local3 = DerefOf (ST01 [Local6])
            Local6++
            If ((Local2 != Local3))
            {
                Local0 = 0x00
            }
        }

        Return (Local0)
    }

    Name (WOSI, 0xFF)
    Name (OSID, Package (0x03)
    {
        "Microsoft Windows", 
        "Microsoft WindowsME: Millennium Edition", 
        "Microsoft Windows NT"
    })
    Method (\SRCM, 3, NotSerialized)
    {
        Name (ST00, Buffer (0x8C){})
        Name (ST01, Buffer (0x8C){})
        ST00 = Arg0
        ST01 = Arg1
        Local6 = 0x00
        Local0 = 0x01
        While (((Local6 != Arg2) && Local0))
        {
            Local2 = DerefOf (ST00 [Local6])
            Local3 = DerefOf (ST01 [Local6])
            Local6++
            If ((Local2 != Local3))
            {
                Local0 = 0x00
            }
        }

        Return (Local0)
    }

    Method (WCOS, 0, Serialized)
    {
        If ((WOSI == 0xFF))
        {
            Local0 = \_OS
            Local7 = SizeOf (OSID)
            Local1 = 0x00
            While (((Local1 < Local7) && (WOSI == 0xFF)))
            {
                Local2 = \SRCP (Local0, DerefOf (OSID [Local1]))
                If (Local2)
                {
                    WOSI = (Local1 + 0x01)
                }
                Else
                {
                    Local1++
                }
            }

            If ((WOSI == 0xFF))
            {
                WOSI = 0x00
            }

            If (((WOSI == 0x00) || (WOSI == 0x03)))
            {
                If (CondRefOf (\_OSI, Local0))
                {
                    If (\_OSI ("Windows 2001"))
                    {
                        WOSI = 0x04
                    }

                    If (\_OSI ("Windows 2001 SP1"))
                    {
                        WOSI = 0x04
                    }

                    If (\_OSI ("Windows 2001 SP2"))
                    {
                        WOSI = 0x05
                    }

                    If (\_OSI ("Windows 2006"))
                    {
                        WOSI = 0x06
                    }

                    If (\_OSI ("Windows 2009"))
                    {
                        WOSI = 0x07
                    }

                    If (\_OSI ("Windows 2012"))
                    {
                        WOSI = 0x08
                    }

                    If (\_OSI ("Windows 2013"))
                    {
                        WOSI = 0x09
                    }

                    If (\_OSI ("Windows 2015"))
                    {
                        WOSI = 0x0A
                    }
                }
            }

            WHOS = WOSI /* \WOSI */
        }

        Return (WOSI) /* \WOSI */
    }

    Method (UPRW, 2, Serialized)
    {
        Local0 = Package (0x02)
            {
                0x00, 
                0x00
            }
        Local0 [0x00] = Arg0
        If ((UWKD == 0x00))
        {
            Local0 [0x01] = Arg1
        }

        Return (Local0)
    }

    Name (EUPC, Package (0x04)
    {
        0xFF, 
        0xFF, 
        0x00, 
        0x00
    })
    Name (EPLD, Package (0x01)
    {
        Buffer (0x14)
        {
            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
            /* 0008 */  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // 0.......
            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
        }
    })
    Method (CBRT, 2, Serialized)
    {
        Local6 = SizeOf (Arg0)
        Local7 = SizeOf (Arg1)
        If ((Local6 == 0x00))
        {
            Local0 = Arg1
            Return (Local0)
        }

        If ((Local7 == 0x00))
        {
            Local0 = Arg0
            Return (Local0)
        }

        Local1 = (Local7 + Local6)
        Local1 -= 0x02
        Local0 = Buffer (Local1){}
        Local1 = 0x00
        While ((Local1 < SizeOf (Arg0)))
        {
            Local0 [Local1] = DerefOf (Arg0 [Local1])
            Local1++
        }

        Local1 -= 0x02
        Local2 = 0x00
        While ((Local2 < SizeOf (Arg1)))
        {
            Local0 [Local1] = DerefOf (Arg1 [Local2])
            Local1++
            Local2++
        }

        Return (Local0)
    }

    Scope (\_SB)
    {
        Mutex (MSMI, 0x00)
        Method (SSMI, 5, NotSerialized)
        {
            Acquire (MSMI, 0xFFFF)
            If (Arg4)
            {
                Acquire (\_GL, 0xFFFF)
            }

            EAX = (Arg0 << 0x10)
            EBX = Arg1
            ECX = Arg2
            EDX = Arg3
            REFS = 0x00
            \_SB.PCI0.GSWS (Arg0)
            Local0 = REFS /* \REFS */
            If (Arg4)
            {
                Release (\_GL)
            }

            Release (MSMI)
            Return (Local0)
        }

        Name (BCLI, 0x00)
        Name (BCLS, Package (0x03)
        {
            Package (0x0D){}, 
            Package (0x17){}, 
            Package (0x1B){}
        })
        Name (NITS, Package (0x03)
        {
            Buffer (0x16){}, 
            Buffer (0x2A){}, 
            Buffer (0x32){}
        })
        Name (BCLC, 0x00)
        Method (BCL, 0, Serialized)
        {
            If ((BCLC == 0x00))
            {
                If ((ILUX == 0x01))
                {
                    BRCT = BCCT /* \BCCT */
                }
                ElseIf ((\WCOS () > 0x06))
                {
                    BRCT = BCCT /* \BCCT */
                }

                Local7 = 0x00
                If ((BRCT >= 0x15))
                {
                    BCLI = 0x01
                    Local7 = 0x01
                    If ((BRCT == 0x19))
                    {
                        BCLI = 0x02
                    }
                }

                Local1 = 0x00
                If ((DCAP & 0x10))
                {
                    Local0 = BRLV /* \BRLV */
                    Local5 = 0x00
                    Local4 = BMAP /* \BMAP */
                    While ((Local1 < BRCT))
                    {
                        If (Local7)
                        {
                            Local3 = Local1
                        }
                        Else
                        {
                            Local3 = DerefOf (Local4 [Local1])
                        }

                        Local2 = DerefOf (Local0 [Local3])
                        Local3 = (Local2 * 0x64)
                        Divide ((Local3 + 0x7F), 0xFF, Local6, Local2)
                        DerefOf (BCLS [BCLI]) [(Local1 + 0x02)] = 
                            Local2
                        If ((Local2 > Local5))
                        {
                            Local5 = Local2
                        }

                        Local1++
                    }

                    Local3 = (BRCT >> 0x01)
                    DerefOf (BCLS [BCLI]) [0x01] = DerefOf (DerefOf (
                        BCLS [BCLI]) [Local3])
                    DerefOf (BCLS [BCLI]) [0x00] = Local5
                }
                Else
                {
                    Local4 = BCLV /* \BCLV */
                    Local0 = BMAP /* \BMAP */
                    While ((Local1 < (BRCT + 0x02)))
                    {
                        If ((Local7 || (Local1 < 0x02)))
                        {
                            Local3 = Local1
                        }
                        Else
                        {
                            Local3 = DerefOf (Local0 [(Local1 - 0x02)])
                            Local3 += 0x02
                        }

                        Local2 = DerefOf (Local4 [Local3])
                        DerefOf (BCLS [BCLI]) [Local1] = Local2
                        Local1++
                    }
                }

                Local0 = BRNT /* \BRNT */
                Local1 = BMAP /* \BMAP */
                Local2 = 0x00
                While ((Local2 < BRCT))
                {
                    If (Local7)
                    {
                        Local3 = Local2
                    }
                    Else
                    {
                        Local3 = DerefOf (Local1 [Local2])
                    }

                    Local3 <<= 0x01
                    Local5 = (Local2 << 0x01)
                    Local4 = DerefOf (Local0 [Local3])
                    DerefOf (NITS [BCLI]) [Local5] = Local4
                    Local4 = DerefOf (Local0 [(Local3 + 0x01)])
                    DerefOf (NITS [BCLI]) [(Local5 + 0x01)] = 
                        Local4
                    Local2++
                }

                BCLC = 0x01
            }

            Return (DerefOf (BCLS [BCLI]))
        }

        Name (BRIG, 0x64)
        Method (BCM, 1, Serialized)
        {
            Local0 = 0x00
            If ((ILUX == 0x01))
            {
                WDPE |= 0x40
                Local0 = 0x01
            }
            ElseIf ((\WCOS () > 0x05))
            {
                WDPE |= 0x40
                Local0 = 0x01
            }

            BRIG = Arg0
            Local1 = Match (DerefOf (BCLS [BCLI]), MGE, Arg0, MTR, 0x00, 
                0x02)
            If ((Local1 == Ones))
            {
                Local1 = (SizeOf (DerefOf (BCLS [BCLI])) - 0x01)
            }

            Local1 -= 0x02
            If (Local0)
            {
                BRID = Local1
            }

            Return (Local0)
        }

        Method (BQC, 0, Serialized)
        {
            Local0 = BRIG /* \_SB_.BRIG */
            Return (Local0)
        }

        Method (HDDC, 1, Serialized)
        {
            If ((Arg0 == 0x02))
            {
                Local1 = EDID /* \EDID */
            }
            Else
            {
                Local3 = EDID /* \EDID */
                Local0 = 0x80
                Local1 = Buffer (Local0){}
                Local2 = 0x00
                While ((Local2 < Local0))
                {
                    Local1 [Local2] = DerefOf (Local3 [Local2])
                    Local2++
                }
            }

            Return (Local1)
        }

        Method (SBRC, 0, Serialized)
        {
            Local0 = BRID /* \BRID */
            \_SB.ODGW (0x8687)
            \_SB.ODGW (Local0)
            Local4 = (BRCT - 0x01)
            If ((BRID > Local4))
            {
                Local0 = Local4
            }

            If ((BRID < 0x00))
            {
                Local0 = 0x00
            }

            Local2 = BRLV /* \BRLV */
            Local5 = BMAP /* \BMAP */
            If ((BRCT == 0x0B))
            {
                Local0 = DerefOf (Local5 [Local0])
            }

            Local1 = DerefOf (Local2 [Local0])
            Debug = Local1
            \_SB.ODGW (Local1)
            Return (Local1)
        }

        Device (WLBU)
        {
            Name (_HID, EisaId ("HPQ6001"))  // _HID: Hardware ID
            Name (DEPT, 0xFF)
            Method (INIT, 0, Serialized)
            {
                If ((DEPT == 0x0F))
                {
                    DEPT = 0xFF
                }
            }

            Method (_STA, 0, Serialized)  // _STA: Status
            {
                If ((DEPT == 0xFF))
                {
                    Local0 = 0x00
                    If ((\WCOS () >= 0x08))
                    {
                        Local0 = 0x0F
                        UWLS ()
                    }

                    DEPT = Local0
                }

                Return (DEPT) /* \_SB_.WLBU.DEPT */
            }

            Method (UWLS, 0, Serialized)
            {
                Local0 = WLDA /* \WLDA */
                Local1 = DerefOf (Local0 [0x07])
                If ((WLFL & 0x02))
                {
                    WLFL &= ~0x02
                }

                Local1 *= 0x10
                Local1 += 0x10
                Local2 = 0x1B
                Local5 = 0x10
                Local4 = 0x00
                While ((Local2 < Local1))
                {
                    Local3 = DerefOf (Local0 [Local2])
                    Local6 = DerefOf (Local0 [Local5])
                    If (((Local3 & 0x0A) != 0x0A))
                    {
                        Local0 [Local2] = (Local3 | 0x0A)
                        Local4 = 0x01
                    }

                    If ((Local6 == 0x00))
                    {
                        If (((Local3 & 0x10) != 0x00))
                        {
                            Local0 [Local2] = (Local3 & 0xEF)
                            Local4 = 0x01
                        }
                    }

                    Local2 += 0x10
                    Local5 += 0x10
                }

                If (Local4)
                {
                    WLDA = Local0
                    \_SB.SSMI (0xEA84, 0x00, 0x00, 0x00, 0x00)
                }
            }
        }
    }

    Scope (\_SB)
    {
        Device (PCI0)
        {
            Name (_HPP, Package (0x04)  // _HPP: Hot Plug Parameters
            {
                0x10, 
                0x40, 
                0x00, 
                0x00
            })
            Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
            {
                Return (0x02)
            }

            Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
            {
                Return (0x02)
            }

            Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */)  // _HID: Hardware ID
            Name (_CID, EisaId ("PNP0A03") /* PCI Bus */)  // _CID: Compatible ID
            Name (_ADR, 0x00)  // _ADR: Address
            OperationRegion (HBUS, PCI_Config, 0x00, 0x0100)
            Field (HBUS, DWordAcc, NoLock, Preserve)
            {
                HBID,   16, 
                Offset (0x40), 
                EPEN,   1, 
                    ,   11, 
                EPBR,   20, 
                Offset (0x48), 
                MHEN,   1, 
                    ,   14, 
                MHBR,   17, 
                Offset (0x50), 
                GCLK,   1, 
                Offset (0x54), 
                D0EN,   1, 
                D1F2,   1, 
                D1F1,   1, 
                D1F0,   1, 
                D2EN,   1, 
                D3EN,   1, 
                Offset (0x60), 
                PXEN,   1, 
                PXSZ,   2, 
                    ,   23, 
                PXBR,   6, 
                Offset (0x68), 
                DIEN,   1, 
                    ,   11, 
                DIBR,   20, 
                Offset (0x70), 
                    ,   20, 
                MEBR,   12, 
                Offset (0x80), 
                PMAL,   1, 
                    ,   3, 
                PM0H,   2, 
                Offset (0x81), 
                PM1L,   2, 
                    ,   2, 
                PM1H,   2, 
                Offset (0x82), 
                PM2L,   2, 
                    ,   2, 
                PM2H,   2, 
                Offset (0x83), 
                PM3L,   2, 
                    ,   2, 
                PM3H,   2, 
                Offset (0x84), 
                PM4L,   2, 
                    ,   2, 
                PM4H,   2, 
                Offset (0x85), 
                PM5L,   2, 
                    ,   2, 
                PM5H,   2, 
                Offset (0x86), 
                PM6L,   2, 
                    ,   2, 
                PM6H,   2, 
                Offset (0x87), 
                Offset (0xA8), 
                    ,   20, 
                TUUD,   19, 
                Offset (0xBC), 
                    ,   20, 
                TLUD,   12, 
                Offset (0xC8), 
                    ,   7, 
                HTSE,   1
            }

            Name (BUF0, ResourceTemplate ()
            {
                WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
                    0x0000,             // Granularity
                    0x0000,             // Range Minimum
                    0x00FF,             // Range Maximum
                    0x0000,             // Translation Offset
                    0x0100,             // Length
                    ,, _Y00)
                DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x00000000,         // Granularity
                    0x00000000,         // Range Minimum
                    0x00000CF7,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00000CF8,         // Length
                    ,, , TypeStatic, DenseTranslation)
                IO (Decode16,
                    0x0CF8,             // Range Minimum
                    0x0CF8,             // Range Maximum
                    0x01,               // Alignment
                    0x08,               // Length
                    )
                DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x00000000,         // Granularity
                    0x00000D00,         // Range Minimum
                    0x0000FFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x0000F300,         // Length
                    ,, , TypeStatic, DenseTranslation)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000A0000,         // Range Minimum
                    0x000BFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00020000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000C0000,         // Range Minimum
                    0x000C3FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y01, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000C4000,         // Range Minimum
                    0x000C7FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y02, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000C8000,         // Range Minimum
                    0x000CBFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y03, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000CC000,         // Range Minimum
                    0x000CFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y04, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000D0000,         // Range Minimum
                    0x000D3FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y05, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000D4000,         // Range Minimum
                    0x000D7FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y06, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000D8000,         // Range Minimum
                    0x000DBFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y07, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000DC000,         // Range Minimum
                    0x000DFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y08, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000E0000,         // Range Minimum
                    0x000E3FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y09, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000E4000,         // Range Minimum
                    0x000E7FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y0A, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000E8000,         // Range Minimum
                    0x000EBFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y0B, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000EC000,         // Range Minimum
                    0x000EFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y0C, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000F0000,         // Range Minimum
                    0x000FFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00010000,         // Length
                    ,, _Y0D, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x00000000,         // Range Minimum
                    0x00000000,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00000000,         // Length
                    ,, _Y0E, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x00000000,         // Range Minimum
                    0xFED3FFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0xFED40000,         // Length
                    ,, _Y0F, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0xFED45000,         // Range Minimum
                    0xFEDFFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x000BB000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0xFEE01000,         // Range Minimum
                    0xFFFFFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x011FF000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
            })
            Name (EP_B, 0x00)
            Name (MH_B, 0x00)
            Name (PC_B, 0x00)
            Name (PC_L, 0x00)
            Name (DM_B, 0x00)
            Method (GEPB, 0, Serialized)
            {
                If ((EP_B == 0x00))
                {
                    EP_B = (\_SB.PCI0.EPBR << 0x0C)
                }

                Return (EP_B) /* \_SB_.PCI0.EP_B */
            }

            Method (GMHB, 0, Serialized)
            {
                If ((MH_B == 0x00))
                {
                    MH_B = (\_SB.PCI0.MHBR << 0x0F)
                }

                Return (MH_B) /* \_SB_.PCI0.MH_B */
            }

            Method (GPCB, 0, Serialized)
            {
                If ((PC_B == 0x00))
                {
                    PC_B = (\_SB.PCI0.PXBR << 0x1A)
                }

                Return (PC_B) /* \_SB_.PCI0.PC_B */
            }

            Method (GPCL, 0, Serialized)
            {
                If ((PC_L == 0x00))
                {
                    PC_L = (0x10000000 >> \_SB.PCI0.PXSZ)
                }

                Return (PC_L) /* \_SB_.PCI0.PC_L */
            }

            Method (GDMB, 0, Serialized)
            {
                If ((DM_B == 0x00))
                {
                    DM_B = (\_SB.PCI0.DIBR << 0x0C)
                }

                Return (DM_B) /* \_SB_.PCI0.DM_B */
            }

            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Local0 = \_SB.PCI0.GPCL ()
                CreateWordField (BUF0, \_SB.PCI0._Y00._MAX, PBMX)  // _MAX: Maximum Base Address
                PBMX = ((Local0 >> 0x14) - 0x02)
                CreateWordField (BUF0, \_SB.PCI0._Y00._LEN, PBLN)  // _LEN: Length
                PBLN = ((Local0 >> 0x14) - 0x01)
                If (PM1L)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C0LN)  // _LEN: Length
                    C0LN = Zero
                }

                If ((PM1L == 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C0RW)  // _RW_: Read-Write Status
                    C0RW = Zero
                }

                If (PM1H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C4LN)  // _LEN: Length
                    C4LN = Zero
                }

                If ((PM1H == 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C4RW)  // _RW_: Read-Write Status
                    C4RW = Zero
                }

                If (PM2L)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, C8LN)  // _LEN: Length
                    C8LN = Zero
                }

                If ((PM2L == 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y03._RW, C8RW)  // _RW_: Read-Write Status
                    C8RW = Zero
                }

                If (PM2H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, CCLN)  // _LEN: Length
                    CCLN = Zero
                }

                If ((PM2H == 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y04._RW, CCRW)  // _RW_: Read-Write Status
                    CCRW = Zero
                }

                If (PM3L)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D0LN)  // _LEN: Length
                    D0LN = Zero
                }

                If ((PM3L == 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D0RW)  // _RW_: Read-Write Status
                    D0RW = Zero
                }

                If (PM3H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D4LN)  // _LEN: Length
                    D4LN = Zero
                }

                If ((PM3H == 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D4RW)  // _RW_: Read-Write Status
                    D4RW = Zero
                }

                If (PM4L)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, D8LN)  // _LEN: Length
                    D8LN = Zero
                }

                If ((PM4L == 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y07._RW, D8RW)  // _RW_: Read-Write Status
                    D8RW = Zero
                }

                If (PM4H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, DCLN)  // _LEN: Length
                    DCLN = Zero
                }

                If ((PM4H == 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y08._RW, DCRW)  // _RW_: Read-Write Status
                    DCRW = Zero
                }

                If (PM5L)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E0LN)  // _LEN: Length
                    E0LN = Zero
                }

                If ((PM5L == 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E0RW)  // _RW_: Read-Write Status
                    E0RW = Zero
                }

                If (PM5H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E4LN)  // _LEN: Length
                    E4LN = Zero
                }

                If ((PM5H == 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E4RW)  // _RW_: Read-Write Status
                    E4RW = Zero
                }

                If (PM6L)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, E8LN)  // _LEN: Length
                    E8LN = Zero
                }

                If ((PM6L == 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, E8RW)  // _RW_: Read-Write Status
                    E8RW = Zero
                }

                If (PM6H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, ECLN)  // _LEN: Length
                    ECLN = Zero
                }

                If ((PM6H == 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW)  // _RW_: Read-Write Status
                    ECRW = Zero
                }

                If (PM0H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN)  // _LEN: Length
                    F0LN = Zero
                }

                If ((PM0H == 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y0D._RW, F0RW)  // _RW_: Read-Write Status
                    F0RW = Zero
                }

                CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M1MN)  // _MIN: Minimum Base Address
                CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M1MX)  // _MAX: Maximum Base Address
                CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M1LN)  // _LEN: Length
                M1MN = (TLUD << 0x14)
                Local0 = (PXBR << 0x1A)
                M1MX = (Local0 - 0x01)
                M1LN = ((M1MX - M1MN) + 0x01)
                CreateDWordField (BUF0, \_SB.PCI0._Y0F._MIN, M2MN)  // _MIN: Minimum Base Address
                CreateDWordField (BUF0, \_SB.PCI0._Y0F._MAX, M2MX)  // _MAX: Maximum Base Address
                CreateDWordField (BUF0, \_SB.PCI0._Y0F._LEN, M2LN)  // _LEN: Length
                Local1 = (0x10000000 >> PXSZ) /* \_SB_.PCI0.PXSZ */
                M2MN = (Local0 + Local1)
                M2LN = ((M2MX - M2MN) + 0x01)
                Return (BUF0) /* \_SB_.PCI0.BUF0 */
            }

            Device (PDRC)
            {
                Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
                Name (_UID, 0x01)  // _UID: Unique ID
                Name (BUF0, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00004000,         // Address Length
                        _Y10)
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00008000,         // Address Length
                        _Y13)
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00001000,         // Address Length
                        _Y14)
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00001000,         // Address Length
                        _Y15)
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00001000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00000000,         // Address Length
                        _Y16)
                    Memory32Fixed (ReadWrite,
                        0xFED20000,         // Address Base
                        0x00020000,         // Address Length
                        )
                    Memory32Fixed (ReadOnly,
                        0xFED90000,         // Address Base
                        0x00004000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFED45000,         // Address Base
                        0x0004B000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFEC00000,         // Address Base
                        0x00001000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00010000,         // Address Length
                        _Y11)
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00010000,         // Address Length
                        _Y12)
                })
                Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                {
                    CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y10._BAS, RBR0)  // _BAS: Base Address
                    RBR0 = (\_SB.PCI0.LPCB.RCBA << 0x0E)
                    CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y11._BAS, SNR0)  // _BAS: Base Address
                    SNR0 = SRMB /* \_SB_.PCI0.SRMB */
                    CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y12._BAS, XWT0)  // _BAS: Base Address
                    XWT0 = XWMB /* \_SB_.PCI0.XWMB */
                    CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y13._BAS, MBR0)  // _BAS: Base Address
                    MBR0 = \_SB.PCI0.GMHB ()
                    CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y14._BAS, DBR0)  // _BAS: Base Address
                    DBR0 = \_SB.PCI0.GDMB ()
                    CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y15._BAS, EBR0)  // _BAS: Base Address
                    EBR0 = \_SB.PCI0.GEPB ()
                    CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y16._BAS, XBR0)  // _BAS: Base Address
                    XBR0 = \_SB.PCI0.GPCB ()
                    CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y16._LEN, XSZ0)  // _LEN: Length
                    XSZ0 = \_SB.PCI0.GPCL ()
                    Return (BUF0) /* \_SB_.PCI0.PDRC.BUF0 */
                }
            }

            Name (LTRS, 0x00)
            Name (OBFS, 0x00)
            Device (PEGP)
            {
                Name (_ADR, 0x00010000)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (GPIC)
                    {
                        Return (Package (0x04)
                        {
                            Package (0x04)
                            {
                                0xFFFF, 
                                0x00, 
                                0x00, 
                                0x10
                            }, 

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

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

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x03, 
                                0x00, 
                                0x13
                            }
                        })
                    }
                    Else
                    {
                        Return (Package (0x04)
                        {
                            Package (0x04)
                            {
                                0xFFFF, 
                                0x00, 
                                LNKA, 
                                0x00
                            }, 

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

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

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

                OperationRegion (PEGR, PCI_Config, 0xC0, 0x30)
                Field (PEGR, DWordAcc, NoLock, Preserve)
                {
                    Offset (0x02), 
                    PSTS,   1, 
                    Offset (0x2C), 
                    GENG,   1, 
                        ,   1, 
                    PMEG,   1
                }

                Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
                {
                    If (Arg0)
                    {
                        GENG = 0x01
                        PMEG = 0x01
                    }
                    Else
                    {
                        GENG = 0x00
                        PMEG = 0x00
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    PSTS = 0x01
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTRS = LTRA /* \LTRA */
                    OBFS = OBFA /* \OBFA */
                }

                Name (LTRV, Package (0x04)
                {
                    0x00, 
                    0x00, 
                    0x00, 
                    0x00
                })
                Name (OPTS, 0x00)
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (0x00)
                            {
                                If ((Arg1 == 0x02))
                                {
                                    OPTS = 0x01
                                    If (LTRS)
                                    {
                                        OPTS |= 0x40
                                    }

                                    If (OBFS)
                                    {
                                        OPTS |= 0x10
                                    }

                                    Return (OPTS) /* \_SB_.PCI0.PEGP.OPTS */
                                }
                                Else
                                {
                                    Return (0x00)
                                }
                            }
                            Case (0x04)
                            {
                                If ((Arg1 == 0x02))
                                {
                                    If (OBFS)
                                    {
                                        Return (Buffer (0x10)
                                        {
                                            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                            /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   // ........
                                        })
                                    }
                                    Else
                                    {
                                        Return (Buffer (0x10)
                                        {
                                            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                            /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                                        })
                                    }
                                }
                            }
                            Case (0x06)
                            {
                                If ((Arg1 == 0x02))
                                {
                                    If (LTRS)
                                    {
                                        LTRV [0x00] = ((SMSL >> 0x0A) & 0x07)
                                        LTRV [0x01] = (SMSL & 0x03FF)
                                        LTRV [0x02] = ((SNSL >> 0x0A) & 0x07)
                                        LTRV [0x03] = (SNSL & 0x03FF)
                                        Return (LTRV) /* \_SB_.PCI0.PEGP.LTRV */
                                    }
                                    Else
                                    {
                                        Return (0x00)
                                    }
                                }
                            }

                        }
                    }

                    Return (Buffer (0x01)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (GFX0)
            {
                Name (_ADR, 0x00020000)  // _ADR: Address
                Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
                {
                    DSEN = (Arg0 & 0x07)
                    HDOS (Arg0)
                }

                Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
                {
                    If ((DODC == 0x00))
                    {
                        DODC = 0x01
                        If (SCIP ())
                        {
                            HDOD ()
                            NDID = 0x00
                            If (CondRefOf (IDAB)){}
                            Else
                            {
                                If ((DIDL != Zero))
                                {
                                    DID1 = SDDL (DIDL)
                                }

                                If ((DDL2 != Zero))
                                {
                                    DID2 = SDDL (DDL2)
                                }

                                If ((DDL3 != Zero))
                                {
                                    DID3 = SDDL (DDL3)
                                }

                                If ((DDL4 != Zero))
                                {
                                    DID4 = SDDL (DDL4)
                                }

                                If ((DDL5 != Zero))
                                {
                                    DID5 = SDDL (DDL5)
                                }

                                If ((DDL6 != Zero))
                                {
                                    DID6 = SDDL (DDL6)
                                }

                                If ((DDL7 != Zero))
                                {
                                    DID7 = SDDL (DDL7)
                                }

                                If ((DDL8 != Zero))
                                {
                                    DID8 = SDDL (DDL8)
                                }
                            }
                        }

                        If ((NDID == 0x00))
                        {
                            DerefOf (DODS [NDID]) [0x00] = 0x0400
                        }

                        If ((NDID == 0x01))
                        {
                            DerefOf (DODS [NDID]) [0x00] = (0x00010000 | DID1
                                )
                        }

                        If ((NDID == 0x02))
                        {
                            DerefOf (DODS [NDID]) [0x00] = (0x00010000 | DID1
                                )
                            DerefOf (DODS [NDID]) [0x01] = (0x00010000 | DID2
                                )
                        }

                        If ((NDID == 0x03))
                        {
                            DerefOf (DODS [NDID]) [0x00] = (0x00010000 | DID1
                                )
                            DerefOf (DODS [NDID]) [0x01] = (0x00010000 | DID2
                                )
                            DerefOf (DODS [NDID]) [0x02] = (0x00010000 | DID3
                                )
                        }

                        If ((NDID == 0x04))
                        {
                            DerefOf (DODS [NDID]) [0x00] = (0x00010000 | DID1
                                )
                            DerefOf (DODS [NDID]) [0x01] = (0x00010000 | DID2
                                )
                            DerefOf (DODS [NDID]) [0x02] = (0x00010000 | DID3
                                )
                            DerefOf (DODS [NDID]) [0x03] = (0x00010000 | DID4
                                )
                        }

                        If ((NDID == 0x05))
                        {
                            DerefOf (DODS [NDID]) [0x00] = (0x00010000 | DID1
                                )
                            DerefOf (DODS [NDID]) [0x01] = (0x00010000 | DID2
                                )
                            DerefOf (DODS [NDID]) [0x02] = (0x00010000 | DID3
                                )
                            DerefOf (DODS [NDID]) [0x03] = (0x00010000 | DID4
                                )
                            DerefOf (DODS [NDID]) [0x04] = (0x00010000 | DID5
                                )
                        }

                        If ((NDID == 0x06))
                        {
                            DerefOf (DODS [NDID]) [0x00] = (0x00010000 | DID1
                                )
                            DerefOf (DODS [NDID]) [0x01] = (0x00010000 | DID2
                                )
                            DerefOf (DODS [NDID]) [0x02] = (0x00010000 | DID3
                                )
                            DerefOf (DODS [NDID]) [0x03] = (0x00010000 | DID4
                                )
                            DerefOf (DODS [NDID]) [0x04] = (0x00010000 | DID5
                                )
                            DerefOf (DODS [NDID]) [0x05] = (0x00010000 | DID6
                                )
                        }

                        If ((NDID == 0x07))
                        {
                            DerefOf (DODS [NDID]) [0x00] = (0x00010000 | DID1
                                )
                            DerefOf (DODS [NDID]) [0x01] = (0x00010000 | DID2
                                )
                            DerefOf (DODS [NDID]) [0x02] = (0x00010000 | DID3
                                )
                            DerefOf (DODS [NDID]) [0x03] = (0x00010000 | DID4
                                )
                            DerefOf (DODS [NDID]) [0x04] = (0x00010000 | DID5
                                )
                            DerefOf (DODS [NDID]) [0x05] = (0x00010000 | DID6
                                )
                            DerefOf (DODS [NDID]) [0x06] = (0x00010000 | DID7
                                )
                        }

                        If ((NDID == 0x08))
                        {
                            DerefOf (DODS [NDID]) [0x00] = (0x00010000 | DID1
                                )
                            DerefOf (DODS [NDID]) [0x01] = (0x00010000 | DID2
                                )
                            DerefOf (DODS [NDID]) [0x02] = (0x00010000 | DID3
                                )
                            DerefOf (DODS [NDID]) [0x03] = (0x00010000 | DID4
                                )
                            DerefOf (DODS [NDID]) [0x04] = (0x00010000 | DID5
                                )
                            DerefOf (DODS [NDID]) [0x05] = (0x00010000 | DID6
                                )
                            DerefOf (DODS [NDID]) [0x06] = (0x00010000 | DID7
                                )
                            DerefOf (DODS [NDID]) [0x07] = (0x00010000 | DID8
                                )
                        }
                    }

                    Local0 = NDID /* \NDID */
                    If ((NDID > 0x08))
                    {
                        Local0 = 0x00
                    }

                    Return (DerefOf (DODS [Local0]))
                }

                Method (_REG, 2, NotSerialized)  // _REG: Region Availability
                {
                    If ((\_SB.PCI0.GFX0.INIM == 0x01))
                    {
                        \_SB.PCI0.GFX0.GLID (\_SB.LID._LID ())
                        \_SB.PCI0.GFX0.INIM = 0x00
                    }
                }

                Device (DD01)
                {
                    Method (_ADR, 0, Serialized)  // _ADR: Address
                    {
                        If ((DID1 == 0x00))
                        {
                            Return (0x01)
                        }
                        Else
                        {
                            Return ((0xFFFF & DID1))
                        }
                    }

                    Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                    {
                        Return (CDDS (DID1))
                    }

                    Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                    {
                        If (CondRefOf (SNXD))
                        {
                            Return (NXD1) /* \NXD1 */
                        }

                        Return (NDDS (DID1))
                    }

                    Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                    {
                        If (((Arg0 & 0xC0000000) == 0xC0000000))
                        {
                            CSTE = NSTE /* \NSTE */
                        }
                    }
                }

                Device (DD02)
                {
                    Method (_ADR, 0, Serialized)  // _ADR: Address
                    {
                        If ((DID2 == 0x00))
                        {
                            Return (0x02)
                        }
                        Else
                        {
                            Return ((0xFFFF & DID2))
                        }
                    }

                    Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                    {
                        If ((LIDS == 0x00))
                        {
                            Return (0x00)
                        }

                        Return (CDDS (DID2))
                    }

                    Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                    {
                        If (CondRefOf (SNXD))
                        {
                            Return (NXD2) /* \NXD2 */
                        }

                        Return (NDDS (DID2))
                    }

                    Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                    {
                        If (((Arg0 & 0xC0000000) == 0xC0000000))
                        {
                            CSTE = NSTE /* \NSTE */
                        }
                    }
                }

                Device (DD03)
                {
                    Method (_ADR, 0, Serialized)  // _ADR: Address
                    {
                        If ((DID3 == 0x00))
                        {
                            Return (0x03)
                        }
                        Else
                        {
                            Return ((0xFFFF & DID3))
                        }
                    }

                    Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                    {
                        If ((DID3 == 0x00))
                        {
                            Return (0x0B)
                        }
                        Else
                        {
                            Return (CDDS (DID3))
                        }
                    }

                    Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                    {
                        If (CondRefOf (SNXD))
                        {
                            Return (NXD3) /* \NXD3 */
                        }

                        Return (NDDS (DID3))
                    }

                    Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                    {
                        If (((Arg0 & 0xC0000000) == 0xC0000000))
                        {
                            CSTE = NSTE /* \NSTE */
                        }
                    }
                }

                Device (DD04)
                {
                    Method (_ADR, 0, Serialized)  // _ADR: Address
                    {
                        If ((DID4 == 0x00))
                        {
                            Return (0x04)
                        }
                        Else
                        {
                            Return ((0xFFFF & DID4))
                        }
                    }

                    Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                    {
                        If ((DID4 == 0x00))
                        {
                            Return (0x0B)
                        }
                        Else
                        {
                            Return (CDDS (DID4))
                        }
                    }

                    Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                    {
                        If (CondRefOf (SNXD))
                        {
                            Return (NXD4) /* \NXD4 */
                        }

                        Return (NDDS (DID4))
                    }

                    Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                    {
                        If (((Arg0 & 0xC0000000) == 0xC0000000))
                        {
                            CSTE = NSTE /* \NSTE */
                        }
                    }
                }

                Device (DD05)
                {
                    Method (_ADR, 0, Serialized)  // _ADR: Address
                    {
                        If ((DID5 == 0x00))
                        {
                            Return (0x05)
                        }
                        Else
                        {
                            Return ((0xFFFF & DID5))
                        }
                    }

                    Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                    {
                        If ((DID5 == 0x00))
                        {
                            Return (0x0B)
                        }
                        Else
                        {
                            Return (CDDS (DID5))
                        }
                    }

                    Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                    {
                        If (CondRefOf (SNXD))
                        {
                            Return (NXD5) /* \NXD5 */
                        }

                        Return (NDDS (DID5))
                    }

                    Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                    {
                        If (((Arg0 & 0xC0000000) == 0xC0000000))
                        {
                            CSTE = NSTE /* \NSTE */
                        }
                    }
                }

                Device (DD06)
                {
                    Method (_ADR, 0, Serialized)  // _ADR: Address
                    {
                        If ((DID6 == 0x00))
                        {
                            Return (0x06)
                        }
                        Else
                        {
                            Return ((0xFFFF & DID6))
                        }
                    }

                    Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                    {
                        If ((DID6 == 0x00))
                        {
                            Return (0x0B)
                        }
                        Else
                        {
                            Return (CDDS (DID6))
                        }
                    }

                    Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                    {
                        If (CondRefOf (SNXD))
                        {
                            Return (NXD6) /* \NXD6 */
                        }

                        Return (NDDS (DID6))
                    }

                    Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                    {
                        If (((Arg0 & 0xC0000000) == 0xC0000000))
                        {
                            CSTE = NSTE /* \NSTE */
                        }
                    }
                }

                Device (DD07)
                {
                    Method (_ADR, 0, Serialized)  // _ADR: Address
                    {
                        If ((DID7 == 0x00))
                        {
                            Return (0x07)
                        }
                        Else
                        {
                            Return ((0xFFFF & DID7))
                        }
                    }

                    Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                    {
                        If ((DID7 == 0x00))
                        {
                            Return (0x0B)
                        }
                        Else
                        {
                            Return (CDDS (DID7))
                        }
                    }

                    Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                    {
                        If (CondRefOf (SNXD))
                        {
                            Return (NXD7) /* \NXD7 */
                        }

                        Return (NDDS (DID7))
                    }

                    Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                    {
                        If (((Arg0 & 0xC0000000) == 0xC0000000))
                        {
                            CSTE = NSTE /* \NSTE */
                        }
                    }
                }

                Device (DD08)
                {
                    Method (_ADR, 0, Serialized)  // _ADR: Address
                    {
                        If ((DID8 == 0x00))
                        {
                            Return (0x08)
                        }
                        Else
                        {
                            Return ((0xFFFF & DID8))
                        }
                    }

                    Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                    {
                        If ((DID8 == 0x00))
                        {
                            Return (0x0B)
                        }
                        Else
                        {
                            Return (CDDS (DID8))
                        }
                    }

                    Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                    {
                        If (CondRefOf (SNXD))
                        {
                            Return (NXD8) /* \NXD8 */
                        }

                        Return (NDDS (DID8))
                    }

                    Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                    {
                        If (((Arg0 & 0xC0000000) == 0xC0000000))
                        {
                            CSTE = NSTE /* \NSTE */
                        }
                    }
                }

                Method (SDDL, 1, NotSerialized)
                {
                    NDID++
                    Local0 = (Arg0 & 0x0F0F)
                    Local1 = (0x80000000 | Local0)
                    If ((DIDL == Local0))
                    {
                        Return (Local1)
                    }

                    If ((DDL2 == Local0))
                    {
                        Return (Local1)
                    }

                    If ((DDL3 == Local0))
                    {
                        Return (Local1)
                    }

                    If ((DDL4 == Local0))
                    {
                        Return (Local1)
                    }

                    If ((DDL5 == Local0))
                    {
                        Return (Local1)
                    }

                    If ((DDL6 == Local0))
                    {
                        Return (Local1)
                    }

                    If ((DDL7 == Local0))
                    {
                        Return (Local1)
                    }

                    If ((DDL8 == Local0))
                    {
                        Return (Local1)
                    }

                    Return (0x00)
                }

                Method (CDDS, 1, NotSerialized)
                {
                    Local0 = (Arg0 & 0x0F0F)
                    If ((0x00 == Local0))
                    {
                        Return (0x1D)
                    }

                    If ((CADL == Local0))
                    {
                        Return (0x1F)
                    }

                    If ((CAL2 == Local0))
                    {
                        Return (0x1F)
                    }

                    If ((CAL3 == Local0))
                    {
                        Return (0x1F)
                    }

                    If ((CAL4 == Local0))
                    {
                        Return (0x1F)
                    }

                    If ((CAL5 == Local0))
                    {
                        Return (0x1F)
                    }

                    If ((CAL6 == Local0))
                    {
                        Return (0x1F)
                    }

                    If ((CAL7 == Local0))
                    {
                        Return (0x1F)
                    }

                    If ((CAL8 == Local0))
                    {
                        Return (0x1F)
                    }

                    Return (0x1D)
                }

                Method (NDDS, 1, NotSerialized)
                {
                    Local0 = (Arg0 & 0x0F0F)
                    If ((0x00 == Local0))
                    {
                        Return (0x00)
                    }

                    If ((NADL == Local0))
                    {
                        Return (0x01)
                    }

                    If ((NDL2 == Local0))
                    {
                        Return (0x01)
                    }

                    If ((NDL3 == Local0))
                    {
                        Return (0x01)
                    }

                    If ((NDL4 == Local0))
                    {
                        Return (0x01)
                    }

                    If ((NDL5 == Local0))
                    {
                        Return (0x01)
                    }

                    If ((NDL6 == Local0))
                    {
                        Return (0x01)
                    }

                    If ((NDL7 == Local0))
                    {
                        Return (0x01)
                    }

                    If ((NDL8 == Local0))
                    {
                        Return (0x01)
                    }

                    Return (0x00)
                }

                Scope (\_SB.PCI0)
                {
                    OperationRegion (MCHP, PCI_Config, 0x40, 0xC0)
                    Field (MCHP, AnyAcc, NoLock, Preserve)
                    {
                        Offset (0x14), 
                        AUDE,   8, 
                        Offset (0x60), 
                        TASM,   10, 
                        Offset (0x62)
                    }
                }

                OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
                Field (IGDP, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x12), 
                        ,   1, 
                    GIVD,   1, 
                        ,   2, 
                    GUMA,   3, 
                    Offset (0x14), 
                        ,   4, 
                    GMFN,   1, 
                    Offset (0x18), 
                    Offset (0xA4), 
                    ASLE,   8, 
                    Offset (0xA8), 
                    GSSE,   1, 
                    GSSB,   14, 
                    GSES,   1, 
                    Offset (0xB0), 
                        ,   12, 
                    CDVL,   1, 
                    Offset (0xB2), 
                    Offset (0xB5), 
                    LBPC,   8, 
                    Offset (0xBC), 
                    ASLS,   32
                }

                OperationRegion (IGDM, SystemMemory, ASLB, 0x2000)
                Field (IGDM, AnyAcc, NoLock, Preserve)
                {
                    SIGN,   128, 
                    SIZE,   32, 
                    OVER,   32, 
                    SVER,   256, 
                    VVER,   128, 
                    GVER,   128, 
                    MBOX,   32, 
                    DMOD,   32, 
                    PCON,   32, 
                    DVER,   64, 
                    Offset (0x100), 
                    DRDY,   32, 
                    CSTS,   32, 
                    CEVT,   32, 
                    Offset (0x120), 
                    DIDL,   32, 
                    DDL2,   32, 
                    DDL3,   32, 
                    DDL4,   32, 
                    DDL5,   32, 
                    DDL6,   32, 
                    DDL7,   32, 
                    DDL8,   32, 
                    CPDL,   32, 
                    CPL2,   32, 
                    CPL3,   32, 
                    CPL4,   32, 
                    CPL5,   32, 
                    CPL6,   32, 
                    CPL7,   32, 
                    CPL8,   32, 
                    CADL,   32, 
                    CAL2,   32, 
                    CAL3,   32, 
                    CAL4,   32, 
                    CAL5,   32, 
                    CAL6,   32, 
                    CAL7,   32, 
                    CAL8,   32, 
                    NADL,   32, 
                    NDL2,   32, 
                    NDL3,   32, 
                    NDL4,   32, 
                    NDL5,   32, 
                    NDL6,   32, 
                    NDL7,   32, 
                    NDL8,   32, 
                    ASLP,   32, 
                    TIDX,   32, 
                    CHPD,   32, 
                    CLID,   32, 
                    CDCK,   32, 
                    SXSW,   32, 
                    EVTS,   32, 
                    CNOT,   32, 
                    NRDY,   32, 
                    DDL9,   32, 
                    DD10,   32, 
                    DD11,   32, 
                    DD12,   32, 
                    DD13,   32, 
                    DD14,   32, 
                    DD15,   32, 
                    CPL9,   32, 
                    CP10,   32, 
                    CP11,   32, 
                    CP12,   32, 
                    CP13,   32, 
                    CP14,   32, 
                    CP15,   32, 
                    Offset (0x200), 
                    SCIE,   1, 
                    GEFC,   4, 
                    GXFC,   3, 
                    GESF,   8, 
                    Offset (0x204), 
                    PARM,   32, 
                    DSLP,   32, 
                    Offset (0x300), 
                    ARDY,   32, 
                    ASLC,   32, 
                    TCHE,   32, 
                    ALSI,   32, 
                    BCLP,   32, 
                    PFIT,   32, 
                    CBLV,   32, 
                    BCLM,   320, 
                    CPFM,   32, 
                    EPFM,   32, 
                    PLUT,   592, 
                    PFMB,   32, 
                    CCDV,   32, 
                    PCFT,   32, 
                    SROT,   32, 
                    IUER,   32, 
                    FDSP,   64, 
                    FDSS,   32, 
                    STAT,   32, 
                    Offset (0x400), 
                    GVD1,   49152, 
                    PHED,   32, 
                    BDDC,   2048
                }

                Name (DBTB, Package (0x15)
                {
                    0x00, 
                    0x07, 
                    0x38, 
                    0x01C0, 
                    0x0E00, 
                    0x3F, 
                    0x01C7, 
                    0x0E07, 
                    0x01F8, 
                    0x0E38, 
                    0x0FC0, 
                    0x00, 
                    0x00, 
                    0x00, 
                    0x00, 
                    0x00, 
                    0x7000, 
                    0x7007, 
                    0x7038, 
                    0x71C0, 
                    0x7E00
                })
                Name (CDCT, Package (0x05)
                {
                    Package (0x02)
                    {
                        0xE4, 
                        0x0140
                    }, 

                    Package (0x02)
                    {
                        0xDE, 
                        0x014D
                    }, 

                    Package (0x02)
                    {
                        0xDE, 
                        0x014D
                    }, 

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

                    Package (0x02)
                    {
                        0xDE, 
                        0x014D
                    }
                })
                Name (SUCC, 0x01)
                Name (NVLD, 0x02)
                Name (CRIT, 0x04)
                Name (NCRT, 0x06)
                Method (GSCI, 0, Serialized)
                {
                    Method (GBDA, 0, Serialized)
                    {
                        If ((GESF == 0x00))
                        {
                            PARM = 0x59
                            GESF = Zero
                            Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
                        }

                        If ((GESF == 0x01))
                        {
                            PARM = 0x00600080
                            If ((\_SB.PCI0.D3EN == 0x00))
                            {
                                PARM &= 0xFFDFFFFF
                            }

                            If ((S0ID == One))
                            {
                                PARM |= 0x0100
                            }

                            GESF = Zero
                            Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
                        }

                        If ((GESF == 0x04))
                        {
                            PARM = 0x30000000
                            GESF = Zero
                            Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
                        }

                        If ((GESF == 0x05))
                        {
                            PARM |= (LIDS << 0x10)
                            PARM += 0x00010000
                            GESF = Zero
                            Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
                        }

                        If ((GESF == 0x06))
                        {
                            PARM = Zero
                            GESF = Zero
                            Return (Zero)
                        }

                        If ((GESF == 0x07))
                        {
                            PARM = GIVD /* \_SB_.PCI0.GFX0.GIVD */
                            PARM ^= 0x01
                            PARM |= (GMFN << 0x01)
                            PARM |= (0x03 << 0x0B)
                            PARM |= (IDMS << 0x11)
                            PARM |= (DerefOf (DerefOf (CDCT [HVCO]) [CDVL]) << 
                                0x15) /* \_SB_.PCI0.GFX0.PARM */
                            GESF = 0x01
                            Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
                        }

                        If ((GESF == 0x0A))
                        {
                            PARM = 0x00
                            GESF = 0x00
                            Return (Zero)
                        }

                        GESF = Zero
                        Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */
                    }

                    Method (SBCB, 0, Serialized)
                    {
                        If ((GESF == 0x00))
                        {
                            PARM = 0x00
                            PARM = 0x000200C0
                            GESF = Zero
                            Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
                        }

                        If ((GESF == 0x07))
                        {
                            If ((S0ID == One))
                            {
                                If (((PARM & 0xFF) == 0x01))
                                {
                                    \GUAM (One)
                                }
                            }

                            GESF = Zero
                            PARM = Zero
                            Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
                        }

                        If ((GESF == 0x08))
                        {
                            If ((S0ID == One))
                            {
                                Local0 = ((PARM >> 0x08) & 0xFF)
                                If ((Local0 == 0x00))
                                {
                                    \GUAM (Zero)
                                }
                            }

                            GESF = Zero
                            PARM = Zero
                            Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
                        }

                        If ((GESF == 0x15))
                        {
                            If ((PARM == 0x01))
                            {
                                \_SB.PCI0.AUDE |= 0x20
                                \_SB.PCI0.B0D3.ABWA (0x01)
                                \_SB.PCI0.B0D3.ARST ()
                                \_SB.PCI0.B0D3.ASTR ()
                                \_SB.PCI0.B0D3.AINI ()
                                \_SB.PCI0.B0D3.CXDC ()
                                \_SB.PCI0.B0D3.ABWA (0x00)
                                Notify (\_SB.PCI0, 0x00) // Bus Check
                            }

                            If ((PARM == 0x00))
                            {
                                \_SB.PCI0.AUDE &= 0xDF
                                Notify (\_SB.PCI0, 0x00) // Bus Check
                            }

                            GESF = Zero
                            PARM = Zero
                            Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
                        }

                        If ((GESF == 0x16))
                        {
                            Local0 = (PARM & 0x03)
                            \_SB.PCI0.B0D3.DCCC (Local0)
                            GESF = Zero
                            Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
                        }

                        GESF = Zero
                        Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
                    }

                    If ((GEFC == 0x04))
                    {
                        GXFC = GBDA ()
                    }

                    If ((GEFC == 0x06))
                    {
                        GXFC = SBCB ()
                    }

                    GEFC = 0x00
                    SCIS = 0x01
                    GSSE = 0x00
                    SCIE = 0x00
                    Return (Zero)
                }

                Method (PDRD, 0, NotSerialized)
                {
                    Return (!DRDY)
                }

                Method (PSTS, 0, NotSerialized)
                {
                    If ((CSTS > 0x02))
                    {
                        Sleep (ASLP)
                    }

                    Return ((CSTS == 0x03))
                }

                Method (GNOT, 2, NotSerialized)
                {
                    If (PDRD ())
                    {
                        Return (0x01)
                    }

                    CEVT = Arg0
                    CSTS = 0x03
                    If (((CHPD == 0x00) && (Arg1 == 0x00)))
                    {
                        Notify (\_SB.PCI0.GFX0, Arg1)
                    }

                    If (CondRefOf (WMAB))
                    {
                        WMAB (Arg0)
                    }
                    Else
                    {
                        Notify (\_SB.PCI0.GFX0, 0x80) // Status Change
                    }

                    If (!PSTS ())
                    {
                        CEVT = 0x00
                    }

                    Return (0x00)
                }

                Method (GHDS, 1, NotSerialized)
                {
                    TIDX = Arg0
                    Return (GNOT (0x01, 0x00))
                }

                Method (GLID, 1, NotSerialized)
                {
                    If ((Arg0 == 0x01))
                    {
                        CLID = 0x03
                    }
                    Else
                    {
                        CLID = Arg0
                    }

                    If (GNOT (0x02, 0x00))
                    {
                        CLID |= 0x80000000
                        Return (0x01)
                    }

                    Return (0x00)
                }

                Method (GDCK, 1, NotSerialized)
                {
                    CDCK = Arg0
                    Return (GNOT (0x04, 0x00))
                }

                Method (PARD, 0, NotSerialized)
                {
                    If (!ARDY)
                    {
                        Sleep (ASLP)
                    }

                    Return (!ARDY)
                }

                Method (IUEH, 1, Serialized)
                {
                    IUER &= 0xC0
                    IUER ^= (0x01 << Arg0)
                    If ((Arg0 <= 0x04))
                    {
                        Return (AINT (0x05, 0x00))
                    }
                    Else
                    {
                        Return (AINT (Arg0, 0x00))
                    }
                }

                Method (AINT, 2, NotSerialized)
                {
                    If (!(TCHE & (0x01 << Arg0)))
                    {
                        Return (0x01)
                    }

                    If (PARD ())
                    {
                        Return (0x01)
                    }

                    If (((Arg0 >= 0x05) && (Arg0 <= 0x07)))
                    {
                        ASLC = (0x01 << Arg0)
                        ASLE = 0x01
                        Local2 = 0x00
                        While (((Local2 < 0xFA) && (ASLC != 0x00)))
                        {
                            Sleep (0x04)
                            Local2++
                        }

                        Return (0x00)
                    }

                    If ((Arg0 == 0x02))
                    {
                        If (CPFM)
                        {
                            Local0 = (CPFM & 0x0F)
                            Local1 = (EPFM & 0x0F)
                            If ((Local0 == 0x01))
                            {
                                If ((Local1 & 0x06))
                                {
                                    PFIT = 0x06
                                }
                                ElseIf ((Local1 & 0x08))
                                {
                                    PFIT = 0x08
                                }
                                Else
                                {
                                    PFIT = 0x01
                                }
                            }

                            If ((Local0 == 0x06))
                            {
                                If ((Local1 & 0x08))
                                {
                                    PFIT = 0x08
                                }
                                ElseIf ((Local1 & 0x01))
                                {
                                    PFIT = 0x01
                                }
                                Else
                                {
                                    PFIT = 0x06
                                }
                            }

                            If ((Local0 == 0x08))
                            {
                                If ((Local1 & 0x01))
                                {
                                    PFIT = 0x01
                                }
                                ElseIf ((Local1 & 0x06))
                                {
                                    PFIT = 0x06
                                }
                                Else
                                {
                                    PFIT = 0x08
                                }
                            }
                        }
                        Else
                        {
                            PFIT ^= 0x07
                        }

                        PFIT |= 0x80000000
                        ASLC = 0x04
                    }
                    ElseIf ((Arg0 == 0x01))
                    {
                        BCLP = Arg1
                        BCLP |= 0x80000000
                        ASLC = 0x02
                    }
                    ElseIf ((Arg0 == 0x00))
                    {
                        ALSI = Arg1
                        ASLC = 0x01
                    }
                    Else
                    {
                        Return (0x01)
                    }

                    ASLE = 0x01
                    Return (0x00)
                }

                Method (SCIP, 0, NotSerialized)
                {
                    If ((OVER != 0x00))
                    {
                        Return (!GSMI)
                    }

                    Return (0x00)
                }

                Device (\_SB.MEM2)
                {
                    Name (_HID, EisaId ("PNP0C01") /* System Board */)  // _HID: Hardware ID
                    Name (_UID, 0x02)  // _UID: Unique ID
                    Name (CRS2, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadWrite,
                            0x20000000,         // Address Base
                            0x00200000,         // Address Length
                            )
                        Memory32Fixed (ReadWrite,
                            0x40004000,         // Address Base
                            0x00001000,         // Address Length
                            )
                    })
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (IGDS)
                        {
                            If ((PNHM == 0x000306C1))
                            {
                                Return (0x0F)
                            }
                        }

                        Return (0x00)
                    }

                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (CRS2) /* \_SB_.MEM2.CRS2 */
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    Name (DRET, Buffer (0x04)
                    {
                         0x00                                             // .
                    })
                    If ((Arg0 == ToUUID ("6f3975e1-7a82-4f67-8b97-15bee060bedf")))
                    {
                        If ((Arg2 == 0x00))
                        {
                            CreateWordField (DRET, 0x00, F0SS)
                            F0SS = 0x02
                            Return (DRET) /* \_SB_.PCI0.GFX0._DSM.DRET */
                        }

                        If ((Arg2 == 0x01))
                        {
                            If ((\_SB.PCI0.RP05.DGFX.LNKV == 0x03))
                            {
                                Return (0x00)
                            }

                            Return (0x01)
                        }
                    }

                    Return (DRET) /* \_SB_.PCI0.GFX0._DSM.DRET */
                }
            }

            Event (\_SB.BEVT)
            Event (\_SB.F4EV)
            Scope (GFX0)
            {
                OperationRegion (PCIG, PCI_Config, 0x00, 0x02)
                Field (PCIG, WordAcc, NoLock, Preserve)
                {
                    GVID,   16
                }

                Name (DODC, 0x00)
                Name (INIM, 0x00)
                Name (HPDD, Package (0x09)
                {
                    0x0400, 
                    0x0100, 
                    0x0200, 
                    0x0300, 
                    0x0301, 
                    0x0302, 
                    0x0303, 
                    0x0304, 
                    0x0305
                })
                Name (DSPR, Buffer (0x09)
                {
                    /* 0000 */  0x00, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01,  // ........
                    /* 0008 */  0x02                                             // .
                })
                Name (DODS, Package (0x09)
                {
                    Package (0x01)
                    {
                        0xFFFFFFFF
                    }, 

                    Package (0x01)
                    {
                        0xFFFFFFFF
                    }, 

                    Package (0x02)
                    {
                        0xFFFFFFFF, 
                        0xFFFFFFFF
                    }, 

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

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

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

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

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

                    Package (0x08)
                    {
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF
                    }
                })
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    INIM = 0x01
                    IDKE ()
                    WDSA = 0x00
                    WDST = 0x00
                    WDGN = 0x00
                }

                Method (HDOS, 1, NotSerialized)
                {
                    Local0 = (WDPE & 0xF8)
                    Local1 = (WDPE & 0x87)
                    WDPE = (Local0 | Arg0)
                    If (CondRefOf (^PDOS, Local2))
                    {
                        ^PDOS (Arg0, Local1)
                    }
                }

                Method (HDOD, 0, NotSerialized)
                {
                    Local1 = 0x01
                    If ((TCHE & 0x02))
                    {
                        Local1 = 0x03
                    }

                    DCAP |= Local1
                }

                Method (PDDS, 1, NotSerialized)
                {
                    Local0 = (Arg0 & 0x0F0F)
                    If ((0x00 == Local0))
                    {
                        Return (0x00)
                    }

                    If ((CPDL == Local0))
                    {
                        Return (0x01)
                    }

                    If ((CPL2 == Local0))
                    {
                        Return (0x01)
                    }

                    If ((CPL3 == Local0))
                    {
                        Return (0x01)
                    }

                    If ((CPL4 == Local0))
                    {
                        Return (0x01)
                    }

                    If ((CPL5 == Local0))
                    {
                        Return (0x01)
                    }

                    If ((CPL6 == Local0))
                    {
                        Return (0x01)
                    }

                    If ((CPL7 == Local0))
                    {
                        Return (0x01)
                    }

                    If ((CPL8 == Local0))
                    {
                        Return (0x01)
                    }

                    Return (0x00)
                }

                Method (UPNA, 2, Serialized)
                {
                    If ((Arg0 == 0x00))
                    {
                        Local1 = NADL /* \_SB_.PCI0.GFX0.NADL */
                        NADL = Arg1
                    }

                    If ((Arg0 == 0x01))
                    {
                        Local1 = NDL2 /* \_SB_.PCI0.GFX0.NDL2 */
                        NDL2 = Arg1
                    }

                    If ((Arg0 == 0x02))
                    {
                        Local1 = NDL3 /* \_SB_.PCI0.GFX0.NDL3 */
                        NDL3 = Arg1
                    }

                    If ((Arg0 == 0x03))
                    {
                        Local1 = NDL4 /* \_SB_.PCI0.GFX0.NDL4 */
                        NDL4 = Arg1
                    }

                    If ((Arg0 == 0x04))
                    {
                        Local1 = NDL5 /* \_SB_.PCI0.GFX0.NDL5 */
                        NDL5 = Arg1
                    }

                    If ((Arg0 == 0x05))
                    {
                        Local1 = NDL6 /* \_SB_.PCI0.GFX0.NDL6 */
                        NDL6 = Arg1
                    }

                    If ((Arg0 == 0x06))
                    {
                        Local1 = NDL7 /* \_SB_.PCI0.GFX0.NDL7 */
                        NDL7 = Arg1
                    }

                    If ((Arg0 == 0x07))
                    {
                        Local1 = NDL8 /* \_SB_.PCI0.GFX0.NDL8 */
                        NDL8 = Arg1
                    }

                    Return (Local1)
                }

                Method (UPAA, 0, Serialized)
                {
                    Local1 = 0x00
                    While ((Local1 < SizeOf (HPDD)))
                    {
                        Local0 = (0x01 << Local1)
                        Local2 = DerefOf (HPDD [Local1])
                        If (PDDS (Local2))
                        {
                            WDST |= Local0
                        }
                        Else
                        {
                            WDST &= ~Local0
                        }

                        If ((CDDS (Local2) == 0x1F))
                        {
                            WDSA |= Local0
                        }
                        Else
                        {
                            WDSA &= ~Local0
                        }

                        Local1++
                    }
                }

                Method (UPND, 0, Serialized)
                {
                    Local1 = WDGN /* \WDGN */
                    Local0 = 0x00
                    Local2 = 0x00
                    While (((Local0 < SizeOf (DSPR)) && Local1))
                    {
                        Local3 = DerefOf (DSPR [Local0])
                        Local4 = (0x01 << Local3)
                        If ((Local1 & Local4))
                        {
                            Local5 = DerefOf (HPDD [Local3])
                            UPNA (Local2, Local5)
                            Local2++
                            Local1 &= ~Local4
                        }

                        If ((Local2 >= 0x02))
                        {
                            Break
                        }

                        Local0++
                    }

                    WDGN ^= Local1
                    Local1 = 0x01
                    While (((Local2 < 0x08) && Local1))
                    {
                        Local1 = UPNA (Local2, 0x00)
                        Local2++
                    }
                }

                Method (IF4E, 1, Serialized)
                {
                    UPAA ()
                    If ((WDSA == 0x01))
                    {
                        WDGN = (WDST | 0x01)
                    }
                    ElseIf ((WDSA & 0x01))
                    {
                        WDGN = (WDST & ~0x01)
                    }
                    Else
                    {
                        WDGN = 0x01
                    }

                    UPND ()
                    Signal (\_SB.F4EV)
                    GHDS (0x00)
                    Return (0x01)
                }

                Method (IDKE, 0, NotSerialized)
                {
                    If ((\_SB.PCI0.GFX0.GIVD == 0x00))
                    {
                        Debug = "GFX DockEvent Enter"
                        Local0 = \_SB.DCKD ()
                        Debug = "Dock Status"
                        Debug = Local0
                        \_SB.PCI0.GFX0.GDCK (Local0)
                        Debug = "GFX DockEvent Exit"
                    }

                    Return (0x00)
                }

                Method (IRFH, 1, Serialized)
                {
                    If (Arg0)
                    {
                        UPAA ()
                    }
                    Else
                    {
                        Wait (\_SB.F4EV, 0x0500)
                    }
                }

                Method (ISNX, 0, Serialized)
                {
                    UPND ()
                    GHDS (0x00)
                }

                Method (ISBR, 0, Serialized)
                {
                    Debug = "Set Brightness"
                    If (((DCAP & 0x02) == 0x00))
                    {
                        If ((TCHE & 0x02))
                        {
                            Debug = "TCHE set"
                            DCAP |= 0x02
                        }
                    }

                    Local3 = (DCAP & 0x02)
                    If (Local3)
                    {
                        Debug = "OpRegion take control of Brightness"
                        Local1 = \_SB.SBRC ()
                        Debug = Local1
                        AINT (0x01, Local1)
                    }

                    Return (Local3)
                }

                Scope (DD01)
                {
                    Method (_BCL, 0, Serialized)  // _BCL: Brightness Control Levels
                    {
                        If ((ILUX == 0x01))
                        {
                            Return (\_SB.BCL ())
                        }
                        ElseIf ((\WCOS () <= 0x07))
                        {
                            Return (\_SB.BCL ())
                        }
                        Else
                        {
                            Return (Package (0x67)
                            {
                                0x50, 
                                0x32, 
                                0x00, 
                                0x01, 
                                0x02, 
                                0x03, 
                                0x04, 
                                0x05, 
                                0x06, 
                                0x07, 
                                0x08, 
                                0x09, 
                                0x0A, 
                                0x0B, 
                                0x0C, 
                                0x0D, 
                                0x0E, 
                                0x0F, 
                                0x10, 
                                0x11, 
                                0x12, 
                                0x13, 
                                0x14, 
                                0x15, 
                                0x16, 
                                0x17, 
                                0x18, 
                                0x19, 
                                0x1A, 
                                0x1B, 
                                0x1C, 
                                0x1D, 
                                0x1E, 
                                0x1F, 
                                0x20, 
                                0x21, 
                                0x22, 
                                0x23, 
                                0x24, 
                                0x25, 
                                0x26, 
                                0x27, 
                                0x28, 
                                0x29, 
                                0x2A, 
                                0x2B, 
                                0x2C, 
                                0x2D, 
                                0x2E, 
                                0x2F, 
                                0x30, 
                                0x31, 
                                0x32, 
                                0x33, 
                                0x34, 
                                0x35, 
                                0x36, 
                                0x37, 
                                0x38, 
                                0x39, 
                                0x3A, 
                                0x3B, 
                                0x3C, 
                                0x3D, 
                                0x3E, 
                                0x3F, 
                                0x40, 
                                0x41, 
                                0x42, 
                                0x43, 
                                0x45, 
                                0x45, 
                                0x46, 
                                0x47, 
                                0x48, 
                                0x49, 
                                0x4A, 
                                0x4B, 
                                0x4C, 
                                0x4D, 
                                0x4E, 
                                0x4F, 
                                0x50, 
                                0x51, 
                                0x52, 
                                0x53, 
                                0x54, 
                                0x55, 
                                0x56, 
                                0x57, 
                                0x58, 
                                0x59, 
                                0x5A, 
                                0x5B, 
                                0x5C, 
                                0x5D, 
                                0x5E, 
                                0x5F, 
                                0x60, 
                                0x61, 
                                0x62, 
                                0x63, 
                                0x64
                            })
                        }
                    }

                    Method (_BCM, 1, Serialized)  // _BCM: Brightness Control Method
                    {
                        Local0 = \_SB.BCM (Arg0)
                        If (Local0)
                        {
                            Local1 = BRID /* \BRID */
                            If ((VACC == 0x00))
                            {
                                If ((\_SB.PCI0.GFX0.ISBR () == 0x00))
                                {
                                    \_SB.SSMI (0xEA74, 0x04, Local1, 0x00, 0x00)
                                }
                            }
                            ElseIf ((\_SB.PCI0.RP05.DGFX.SBRV == 0x00))
                            {
                                \_SB.SSMI (0xEA74, 0x04, Local1, 0x00, 0x00)
                            }

                            Signal (\_SB.BEVT)
                        }
                    }

                    Method (_BQC, 0, Serialized)  // _BQC: Brightness Query Current
                    {
                        Return (\_SB.BQC ())
                    }
                }

                Scope (\_GPE)
                {
                    Method (_L66, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
                    {
                        If ((\_SB.PCI0.GFX0.GIVD == 0x00))
                        {
                            If ((\_SB.PCI0.GFX0.GSSE && !GSMI))
                            {
                                \_SB.PCI0.GFX0.GSCI ()
                            }
                            Else
                            {
                                SCIS = 0x01
                            }
                        }
                    }

                    Name (WOAT, 0xFF)
                    Method (CNDD, 1, NotSerialized)
                    {
                        If ((\_SB.PCI0.GFX0.GIVD == 0x00))
                        {
                            If ((Arg0 || (WDST != WOAT)))
                            {
                                WOAT = WDST /* \WDST */
                                If ((\WCOS () >= 0x04))
                                {
                                    Notify (\_SB.PCI0, 0x00) // Bus Check
                                }
                                Else
                                {
                                    Notify (\_SB.PCI0.GFX0, 0x00) // Bus Check
                                }

                                Sleep (0x02EE)
                            }
                        }
                    }

                    Method (VHIV, 3, Serialized)
                    {
                        If ((VACC != 0x00))
                        {
                            Return (0x01)
                        }

                        If (\_SB.PCI0.GFX0.GIVD)
                        {
                            Return (0x01)
                        }

                        Switch (Arg2)
                        {
                            Case (0x01)
                            {
                                If ((Arg0 & 0x80))
                                {
                                    Notify (\_SB.PCI0.GFX0.DD01, Arg0)
                                }
                                Else
                                {
                                    Debug = "Verify no OS controlled brightness b/c VideoBrightnessEvent"
                                    If (((WDPE & 0x44) == 0x00))
                                    {
                                        Debug = "VBRE method, use OpRegion method"
                                        \_SB.PCI0.GFX0.ISBR ()
                                    }
                                }
                            }
                            Case (0x02)
                            {
                                \_SB.PCI0.GFX0.GDCC (0x01)
                                If (((WDPE & 0x03) == 0x00))
                                {
                                    If ((DCAP & 0x01))
                                    {
                                        \_SB.PCI0.GFX0.IDKE ()
                                    }
                                    Else
                                    {
                                        \_SB.SSMI (0xEA74, 0x06, 0x00, 0x00, 0x00)
                                        CNDD (0x00)
                                        Notify (\_SB.PCI0.GFX0, 0x80) // Status Change
                                    }
                                }
                            }
                            Case (0x03)
                            {
                                \_SB.PCI0.GFX0.CLID = \_SB.LID._LID ()
                                If (((\WCOS () < 0x06) || ((WDPE & 0x03) == 0x00)))
                                {
                                    If ((DCAP & 0x01))
                                    {
                                        If (\_SB.PCI0.GFX0.GLID (\_SB.LID._LID ()))
                                        {
                                            \_SB.PCI0.GFX0.CLID |= 0x80000000
                                        }
                                    }
                                    Else
                                    {
                                        \_SB.SSMI (0xEA74, 0x05, 0x00, 0x00, 0x00)
                                        CNDD (0x01)
                                        Notify (\_SB.PCI0.GFX0, 0x80) // Status Change
                                        If ((\WCOS () < 0x06))
                                        {
                                            LRSC = 0x00
                                        }
                                    }
                                }
                            }
                            Case (0x04)
                            {
                                If (((WDPE & 0x03) == 0x00))
                                {
                                    If ((DCAP & 0x01))
                                    {
                                        \_SB.PCI0.GFX0.IF4E (0x00)
                                    }
                                    Else
                                    {
                                        CNDD (0x00)
                                        Notify (\_SB.PCI0.GFX0, 0x80) // Status Change
                                    }
                                }
                            }
                            Case (0x06)
                            {
                                If ((DCAP & 0x01))
                                {
                                    \_SB.PCI0.GFX0.ISNX ()
                                }
                                Else
                                {
                                    \_GPE.CNDD (0x00)
                                    Notify (\_SB.PCI0.GFX0, 0x80) // Status Change
                                }
                            }
                            Case (0x07)
                            {
                                \_SB.PCI0.GFX0.IRFH (Arg0)
                            }
                            Case (0x08)
                            {
                                If ((Arg0 == 0x04))
                                {
                                    \_SB.PCI0.GFX0.GLID (\_SB.LID._LID ())
                                    \_SB.PCI0.GFX0.IDKE ()
                                }

                                If ((Arg0 >= 0x03))
                                {
                                    If (((WDPE & 0x44) == 0x00))
                                    {
                                        Local0 = \_SB.SBRC ()
                                        \_SB.PCI0.GFX0.BCLP = (Local0 | 0x80000000)
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (((WDPE & 0x04) == 0x00))
                                {
                                    \_SB.PCI0.GFX0.ISBR ()
                                }
                            }
                            Case (0x0A)
                            {
                                If ((\_SB.PCI0.RP05.DGFX.VVID == 0x1002))
                                {
                                    \_SB.ODGW (0xFF01)
                                    \_SB.PCI0.GFX0.DGCE ()
                                }
                            }

                        }

                        Return (0x00)
                    }
                }

                Scope (\_GPE)
                {
                    Method (VBRE, 1, Serialized)
                    {
                        Local1 = 0x01
                        If (Local1)
                        {
                            Local1 = \_GPE.VHIV (Arg0, 0x00, 0x01)
                        }

                        If (Local1)
                        {
                            0x01 = \_GPE.VHOV (Arg0, 0x00)
                            Local1
                        }

                        If ((SGME & 0x0F))
                        {
                            If ((\_SB.PCI0.RP05.DGFX.SVID != 0xFFFF))
                            {
                                If ((Arg0 & 0x80))
                                {
                                    Notify (\_SB.PCI0.RP05.DGFX.DD01, Arg0)
                                }
                            }
                        }
                    }

                    Method (VFN4, 0, Serialized)
                    {
                        Signal (\_SB.F4EV)
                        Local1 = 0x01
                        If (Local1)
                        {
                            Local1 = \_GPE.VHIV (0x00, 0x00, 0x04)
                        }

                        If (Local1)
                        {
                            0x04 = \_GPE.VHOV (0x00, 0x00)
                            Local1
                        }
                    }

                    Method (VDET, 0, Serialized)
                    {
                        Local1 = 0x01
                        If (Local1)
                        {
                            Local1 = \_GPE.VHIV (0x00, 0x00, 0x02)
                        }

                        If (Local1)
                        {
                            0x02 = \_GPE.VHOV (0x00, 0x00)
                            Local1
                        }
                    }

                    Name (LRSC, 0x01)
                    Method (VLET, 0, Serialized)
                    {
                        LRSC = 0x01
                        Local1 = 0x01
                        If (Local1)
                        {
                            Local1 = \_GPE.VHIV (0x00, 0x00, 0x03)
                        }

                        If (Local1)
                        {
                            0x03 = \_GPE.VHOV (0x00, 0x00)
                            Local1
                        }

                        Return (LRSC) /* \_GPE.LRSC */
                    }

                    Method (VPUP, 2, Serialized)
                    {
                        Local1 = 0x01
                        If (Local1)
                        {
                            Local1 = \_GPE.VHIV (Arg0, Arg1, 0x05)
                        }

                        If (Local1)
                        {
                            0x05 = \_GPE.VHOV (Arg0, Arg1)
                            Local1
                        }
                    }

                    Method (VDCE, 0, Serialized)
                    {
                        Local1 = 0x01
                        If (Local1)
                        {
                            Local1 = \_GPE.VHIV (0x00, 0x00, 0x0A)
                        }

                        If (Local1)
                        {
                            0x0A = \_GPE.VHOV (0x00, 0x00)
                            Local1
                        }
                    }
                }

                Scope (\_SB)
                {
                    Method (VSDD, 1, Serialized)
                    {
                        If ((DCAP & 0x04))
                        {
                            Return (0xFFFF)
                        }
                        Else
                        {
                            If (((WDPE & 0x03) == 0x00))
                            {
                                WDGN = Arg0
                                Local1 = 0x01
                                If (Local1)
                                {
                                    Local1 = \_GPE.VHIV (Arg0, 0x00, 0x06)
                                }

                                If (Local1)
                                {
                                    0x06 = \_GPE.VHOV (Arg0, 0x00)
                                    Local1
                                }
                            }

                            Return (0x00)
                        }

                        Return (Zero)
                    }

                    Method (VGDD, 1, Serialized)
                    {
                        If (((DCAP & 0x04) && Arg0))
                        {
                            Return (0xFFFF)
                        }
                        Else
                        {
                            If ((DCAP & 0x01))
                            {
                                If ((Arg0 == 0x00))
                                {
                                    Wait (\_SB.F4EV, 0x0500)
                                }

                                Local1 = 0x01
                                If (Local1)
                                {
                                    Local1 = \_GPE.VHIV (Arg0, 0x00, 0x07)
                                }

                                If (Local1)
                                {
                                    0x07 = \_GPE.VHOV (Arg0, 0x00)
                                    Local1
                                }
                            }
                            ElseIf (Arg0)
                            {
                                \_SB.SSMI (0xEA74, 0x02, 0x00, 0x00, 0x00)
                            }

                            Return (WDST) /* \WDST */
                        }
                    }

                    Method (VWAK, 1, Serialized)
                    {
                        Local1 = 0x01
                        If (Local1)
                        {
                            Local1 = \_GPE.VHIV (Arg0, 0x00, 0x08)
                        }

                        If (Local1)
                        {
                            0x08 = \_GPE.VHOV (Arg0, 0x00)
                            Local1
                        }
                    }

                    Method (WBRT, 0, NotSerialized)
                    {
                        Local1 = 0x01
                        If (Local1)
                        {
                            Local1 = \_GPE.VHIV (0x00, 0x00, 0x09)
                        }

                        If (Local1)
                        {
                            0x09 = \_GPE.VHOV (0x00, 0x00)
                            Local1
                        }
                    }
                }

                Name (DCSC, 0xFF)
                Method (GDCC, 1, Serialized)
                {
                    If ((Arg0 && (DCSC == 0xFF)))
                    {
                        Local0 = (0x01 | (0x02 | 0x04))
                        If (\_SB.DCKD ())
                        {
                            Local0 |= 0x08
                        }

                        DCSC = Local0
                    }

                    Return (DCSC) /* \_SB_.PCI0.GFX0.DCSC */
                }

                Method (PDOS, 2, NotSerialized)
                {
                }
            }

            Name (PNVB, 0xA9F6ED98)
            Name (PNVL, 0x00E4)
            OperationRegion (PNVA, SystemMemory, PNVB, PNVL)
            Field (PNVA, AnyAcc, Lock, Preserve)
            {
                RCRV,   32, 
                PCHS,   16, 
                PCHG,   16, 
                DUM0,   32, 
                DUM1,   32, 
                DUM2,   32, 
                DUM3,   32, 
                DUM4,   32, 
                DUM5,   32, 
                DUM6,   32, 
                DUM7,   32, 
                SRMB,   32, 
                ADB0,   32, 
                ADB1,   32, 
                ADI0,   32, 
                GPMN,   32, 
                GPMX,   32, 
                PML1,   16, 
                PML2,   16, 
                PML3,   16, 
                PML4,   16, 
                PML5,   16, 
                PML6,   16, 
                PML7,   16, 
                PML8,   16, 
                PNL1,   16, 
                PNL2,   16, 
                PNL3,   16, 
                PNL4,   16, 
                PNL5,   16, 
                PNL6,   16, 
                PNL7,   16, 
                PNL8,   16, 
                U0C0,   32, 
                U1C0,   32, 
                ADFM,   32, 
                ADBT,   8, 
                XHPC,   8, 
                XRPC,   8, 
                XSPC,   8, 
                XSPA,   8, 
                SMD0,   8, 
                SMD1,   8, 
                SMD2,   8, 
                SMD3,   8, 
                SMD4,   8, 
                SMD5,   8, 
                SMD6,   8, 
                SMD7,   8, 
                SIR0,   8, 
                SIR1,   8, 
                SIR2,   8, 
                SIR3,   8, 
                SIR4,   8, 
                SIR5,   8, 
                SIR6,   8, 
                SIR7,   8, 
                SB00,   32, 
                SB01,   32, 
                SB02,   32, 
                SB03,   32, 
                SB04,   32, 
                SB05,   32, 
                SB06,   32, 
                SB07,   32, 
                SB10,   32, 
                SB11,   32, 
                SB12,   32, 
                SB13,   32, 
                SB14,   32, 
                SB15,   32, 
                SB16,   32, 
                SB17,   32, 
                SMGP,   8, 
                GBEP,   8, 
                PMSI,   8, 
                PMCP,   8, 
                PCLP,   8, 
                PL1P,   16, 
                PL1A,   32, 
                PL1B,   8, 
                PEPL,   16, 
                PRPL,   16, 
                PCIT,   8, 
                PLTP,   16, 
                PLTD,   32, 
                PED2,   16, 
                PRDC,   16, 
                PED1,   16, 
                PCHP,   16, 
                XWMB,   32
            }

            Name (RPA0, 0x001C0000)
            Name (RPA1, 0x001C0001)
            Name (RPA2, 0x001C0002)
            Name (RPA3, 0x001C0003)
            Name (RPA4, 0x001C0004)
            Name (RPA5, 0x001C0005)
            Name (RPA6, 0x001C0006)
            Name (RPA7, 0x001C0007)
            Scope (\)
            {
                OperationRegion (IO_T, SystemIO, 0x0800, 0x10)
                Field (IO_T, ByteAcc, NoLock, Preserve)
                {
                    TRPI,   16, 
                    Offset (0x04), 
                    Offset (0x06), 
                    Offset (0x08), 
                    TRP0,   8, 
                    Offset (0x0A), 
                    Offset (0x0B), 
                    Offset (0x0C), 
                    Offset (0x0D), 
                    Offset (0x0E), 
                    Offset (0x0F), 
                    Offset (0x10)
                }

                OperationRegion (IO_D, SystemIO, 0x0810, 0x04)
                Field (IO_D, ByteAcc, NoLock, Preserve)
                {
                    TRPD,   8
                }

                OperationRegion (IO_H, SystemIO, 0x1000, 0x04)
                Field (IO_H, ByteAcc, NoLock, Preserve)
                {
                    TRPH,   8
                }

                OperationRegion (PMIO, SystemIO, 0x1800, 0x80)
                Field (PMIO, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x08), 
                    PBSS,   1, 
                    Offset (0x3C), 
                        ,   1, 
                    UPWE,   1, 
                    Offset (0x42), 
                        ,   1, 
                    GPEC,   1, 
                    Offset (0x64), 
                        ,   9, 
                    SCIS,   1, 
                    Offset (0x66)
                }

                OperationRegion (PMLP, SystemIO, (0x1800 + 0x80), 0x20)
                Field (PMLP, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x10), 
                    Offset (0x11), 
                    GE08,   1, 
                        ,   8, 
                    GE17,   1, 
                        ,   27, 
                    GE45,   1, 
                        ,   5, 
                    GE51,   1, 
                    Offset (0x20)
                }

                Field (PMLP, ByteAcc, NoLock, WriteAsZeros)
                {
                    Offset (0x01), 
                    GS08,   1, 
                        ,   8, 
                    GS17,   1, 
                        ,   27, 
                    GS45,   1, 
                        ,   5, 
                    GS51,   1, 
                    Offset (0x10)
                }

                OperationRegion (GPIO, SystemIO, 0x0800, 0x0400)
                Field (GPIO, ByteAcc, NoLock, Preserve)
                {
                    GU00,   8, 
                    GU01,   8, 
                    GU02,   8, 
                    GU03,   8, 
                    GIO0,   8, 
                    GIO1,   8, 
                    GIO2,   8, 
                    GIO3,   8, 
                    Offset (0x0C), 
                    GL00,   8, 
                    GL01,   8, 
                    GL02,   8, 
                        ,   3, 
                    GP27,   1, 
                    GP28,   1, 
                    Offset (0x10), 
                    Offset (0x18), 
                    GB00,   8, 
                    GB01,   8, 
                    GB02,   8, 
                    GB03,   8, 
                    Offset (0x2C), 
                    GIV0,   8, 
                    GIV1,   8, 
                    GIV2,   8, 
                    GIV3,   8, 
                    GU04,   8, 
                    GU05,   8, 
                    GU06,   8, 
                    GU07,   8, 
                    GIO4,   8, 
                    GIO5,   8, 
                    GIO6,   8, 
                    GIO7,   8, 
                        ,   5, 
                        ,   1, 
                    Offset (0x39), 
                    GL05,   8, 
                    GL06,   8, 
                    GL07,   8, 
                    Offset (0x40), 
                    GU08,   8, 
                    GU09,   8, 
                    GU0A,   8, 
                    GU0B,   8, 
                        ,   5, 
                    GI69,   1, 
                        ,   1, 
                    GI71,   1, 
                    GIO9,   8, 
                    GIOA,   8, 
                    GIOB,   8, 
                        ,   5, 
                    GL69,   1, 
                        ,   1, 
                    GL71,   1, 
                    GL09,   8, 
                    GL0A,   8, 
                    GL0B,   8
                }

                OperationRegion (GPRL, SystemIO, 0x0800, 0x40)
                Field (GPRL, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x01), 
                    GO08,   1, 
                    GO09,   1, 
                    GO10,   1, 
                        ,   2, 
                    GO13,   1, 
                    GO14,   1, 
                        ,   2, 
                    GO17,   1, 
                        ,   27, 
                    GO45,   1, 
                    Offset (0x06), 
                    GO48,   1, 
                        ,   2, 
                    GO51,   1, 
                        ,   2, 
                    GO54,   1, 
                    GO55,   1, 
                    GO56,   1, 
                    Offset (0x10), 
                    Offset (0x30), 
                    GR00,   32, 
                    GR01,   32, 
                    GR02,   32
                }

                OperationRegion (RCRB, SystemMemory, 0xFED1C000, 0x4000)
                Field (RCRB, DWordAcc, Lock, Preserve)
                {
                    Offset (0x1000), 
                    Offset (0x21A8), 
                    APMC,   2, 
                    Offset (0x3000), 
                    Offset (0x3310), 
                        ,   4, 
                    PWST,   1, 
                    Offset (0x3318), 
                        ,   4, 
                    WLPE,   1, 
                        ,   16, 
                    RDWD,   1, 
                    Offset (0x331C), 
                    Offset (0x331F), 
                    PMFS,   1, 
                    Offset (0x3320), 
                    CKEN,   32, 
                    Offset (0x33E0), 
                    Offset (0x33E2), 
                    WLP2,   2, 
                    Offset (0x3404), 
                    HPAS,   2, 
                        ,   5, 
                    HPAE,   1, 
                    Offset (0x3418), 
                        ,   1, 
                    ADSD,   1, 
                    SATD,   1, 
                    SMBD,   1, 
                    HDAD,   1, 
                        ,   10, 
                    EHCD,   1, 
                    RP1D,   1, 
                    RP2D,   1, 
                    RP3D,   1, 
                    RP4D,   1, 
                    RP5D,   1, 
                    RP6D,   1, 
                    RP7D,   1, 
                    RP8D,   1
                }

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

                    If (((Arg0 & 0x09) == 0x08))
                    {
                        Return (0x0384)
                    }

                    Local0 = ((Arg0 & 0x0300) >> 0x08)
                    Local1 = ((Arg0 & 0x3000) >> 0x0C)
                    Return ((0x1E * (0x09 - (Local0 + Local1))))
                }

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

                        If ((Arg2 && Arg4))
                        {
                            Return (((0x04 - Arg3) * 0x0F))
                        }

                        Return (((0x04 - Arg3) * 0x1E))
                    }

                    Return (0xFFFFFFFF)
                }

                Method (GETT, 1, Serialized)
                {
                    Return ((0x1E * (0x09 - (((Arg0 >> 0x02) & 0x03
                        ) + (Arg0 & 0x03)))))
                }

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

                    If ((Arg2 & 0x02))
                    {
                        TMPF |= 0x02
                    }

                    If (Arg1)
                    {
                        TMPF |= 0x04
                    }

                    If ((Arg2 & 0x20))
                    {
                        TMPF |= 0x08
                    }

                    If ((Arg2 & 0x4000))
                    {
                        TMPF |= 0x10
                    }

                    Return (TMPF) /* \GETF.TMPF */
                }

                Method (SETP, 3, Serialized)
                {
                    If ((Arg0 > 0xF0))
                    {
                        Return (0x08)
                    }
                    Else
                    {
                        If ((Arg1 & 0x02))
                        {
                            If (((Arg0 <= 0x78) && (Arg2 & 0x02)))
                            {
                                Return (0x2301)
                            }

                            If (((Arg0 <= 0xB4) && (Arg2 & 0x01)))
                            {
                                Return (0x2101)
                            }
                        }

                        Return (0x1001)
                    }
                }

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

                    If ((Arg0 <= 0x1E))
                    {
                        Return (0x02)
                    }

                    If ((Arg0 <= 0x2D))
                    {
                        Return (0x01)
                    }

                    If ((Arg0 <= 0x3C))
                    {
                        Return (0x02)
                    }

                    If ((Arg0 <= 0x5A))
                    {
                        Return (0x01)
                    }

                    Return (0x00)
                }

                Method (SETT, 3, Serialized)
                {
                    If ((Arg1 & 0x02))
                    {
                        If (((Arg0 <= 0x78) && (Arg2 & 0x02)))
                        {
                            Return (0x0B)
                        }

                        If (((Arg0 <= 0xB4) && (Arg2 & 0x01)))
                        {
                            Return (0x09)
                        }
                    }

                    Return (0x04)
                }
            }

            Scope (\_SB)
            {
                Method (RDGI, 1, Serialized)
                {
                    If ((Arg0 <= 0x5E))
                    {
                        Local0 = ((0x0800 + 0x0100) + (Arg0 * 0x08))
                        OperationRegion (LGPI, SystemIO, Local0, 0x04)
                        Field (LGPI, AnyAcc, NoLock, Preserve)
                        {
                                ,   30, 
                            TEMP,   1
                        }

                        Return (TEMP) /* \_SB_.RDGI.TEMP */
                    }
                }

                Method (RDGP, 1, Serialized)
                {
                    If ((Arg0 <= 0x5E))
                    {
                        Local0 = ((0x0800 + 0x0100) + (Arg0 * 0x08))
                        OperationRegion (LGPI, SystemIO, Local0, 0x04)
                        Field (LGPI, AnyAcc, NoLock, Preserve)
                        {
                                ,   31, 
                            TEMP,   1
                        }

                        Return (TEMP) /* \_SB_.RDGP.TEMP */
                    }
                }

                Method (WTGP, 2, Serialized)
                {
                    If ((Arg0 <= 0x5E))
                    {
                        Local0 = ((0x0800 + 0x0100) + (Arg0 * 0x08))
                        OperationRegion (LGPI, SystemIO, Local0, 0x04)
                        Field (LGPI, AnyAcc, NoLock, Preserve)
                        {
                                ,   31, 
                            TEMP,   1
                        }

                        TEMP = Arg1
                    }
                }

                Method (WTIN, 2, Serialized)
                {
                    If ((Arg0 <= 0x5E))
                    {
                        Local0 = ((0x0800 + 0x0100) + (Arg0 * 0x08))
                        OperationRegion (LGPI, SystemIO, Local0, 0x04)
                        Field (LGPI, ByteAcc, NoLock, Preserve)
                        {
                                ,   3, 
                            TEMP,   1
                        }

                        TEMP = Arg1
                    }
                }

                Method (WPGP, 2, Serialized)
                {
                    If ((Arg0 <= 0x5E))
                    {
                        Local0 = ((0x0800 + 0x0104) + (Arg0 * 0x08))
                        OperationRegion (LGPI, SystemIO, Local0, 0x04)
                        Field (LGPI, AnyAcc, NoLock, Preserve)
                        {
                            TEMP,   2
                        }

                        TEMP = Arg1
                    }
                }

                Method (GP2N, 2, Serialized)
                {
                    If ((Arg0 <= 0x5E))
                    {
                        Local0 = ((0x0800 + 0x0100) + (Arg0 * 0x08))
                        OperationRegion (LGPI, SystemIO, Local0, 0x04)
                        Field (LGPI, AnyAcc, NoLock, Preserve)
                        {
                            TEMP,   1
                        }

                        TEMP = Arg1
                    }
                }

                Method (GP2A, 2, Serialized)
                {
                    If ((Arg0 <= 0x5E))
                    {
                        Local0 = ((0x0800 + 0x0104) + (Arg0 * 0x08))
                        OperationRegion (LGP2, SystemIO, Local0, 0x04)
                        Field (LGP2, AnyAcc, NoLock, Preserve)
                        {
                            GPWP,   2, 
                            GPIS,   1
                        }

                        If ((Arg1 == 0x01))
                        {
                            GPIS = 0x00
                            GPWP = 0x00
                        }
                        Else
                        {
                            GPWP = 0x02
                            GPIS = 0x01
                        }

                        Local0 = (0x0800 + 0x10)
                        OperationRegion (LGPI, SystemIO, Local0, 0x02)
                        Field (LGPI, AnyAcc, NoLock, Preserve)
                        {
                            TEMP,   16
                        }

                        If ((Arg0 >= 0x2D))
                        {
                            Local1 = (Arg0 - 0x28)
                        }
                        ElseIf ((Arg0 <= 0x0A))
                        {
                            Local1 = (Arg0 - 0x08)
                        }
                        Else
                        {
                            Local1 = (Arg0 - 0x0A)
                        }

                        Local2 = (0x01 << Local1)
                        If (Arg1)
                        {
                            TEMP |= Local2
                        }
                        Else
                        {
                            TEMP &= ~Local2
                        }
                    }
                }

                Method (GP2B, 2, Serialized)
                {
                    If ((Arg0 <= 0x5E))
                    {
                        Local0 = (0x0800 + 0x10)
                        OperationRegion (LGPI, SystemIO, Local0, 0x02)
                        Field (LGPI, AnyAcc, NoLock, Preserve)
                        {
                            TEMP,   16
                        }

                        If ((Arg0 >= 0x2D))
                        {
                            Local1 = (Arg0 - 0x28)
                        }
                        ElseIf ((Arg0 <= 0x0A))
                        {
                            Local1 = (Arg0 - 0x08)
                        }
                        Else
                        {
                            Local1 = (Arg0 - 0x0A)
                        }

                        Local2 = (0x01 << Local1)
                        If (Arg1)
                        {
                            TEMP |= Local2
                        }
                        Else
                        {
                            TEMP &= ~Local2
                        }
                    }
                }
            }

            Device (LANC)
            {
                Name (_ADR, 0x00190000)  // _ADR: Address
                Method (_PRW, 0, Serialized)  // _PRW: Power Resources for Wake
                {
                    Local0 = Package (0x02)
                        {
                            0x6D, 
                            0x05
                        }
                    If (WOLD)
                    {
                        Local0 [0x01] = 0x00
                    }

                    Return (Local0)
                }
            }

            Device (HDEF)
            {
                Name (_ADR, 0x001B0000)  // _ADR: Address
                OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
                Field (HDAR, WordAcc, NoLock, Preserve)
                {
                    DCKA,   1, 
                    Offset (0x01), 
                    DCKM,   1, 
                        ,   6, 
                    DCKS,   1, 
                    Offset (0x08), 
                    Offset (0x09), 
                    PMEE,   1, 
                        ,   6, 
                    PMES,   1
                }
            }

            Device (EHC1)
            {
                Name (_ADR, 0x001D0000)  // _ADR: Address
                OperationRegion (EHCX, PCI_Config, 0x54, 0x30)
                Field (EHCX, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x01), 
                    PMEE,   1, 
                        ,   6, 
                    PMES,   1, 
                    Offset (0x0E), 
                    PIMP,   1, 
                    PMSK,   8, 
                    Offset (0x10), 
                    UP0D,   1, 
                    UP1D,   1, 
                    UP2D,   1, 
                    UP3D,   1, 
                    UP4D,   1, 
                    UP5D,   1, 
                    UP6D,   1, 
                    UP7D,   1, 
                    Offset (0x2E), 
                        ,   1, 
                    RMH1,   1
                }

                Method (_REG, 2, NotSerialized)  // _REG: Region Availability
                {
                    If (((Arg0 == 0x02) && (Arg1 == 0x01)))
                    {
                        PMSK = 0x01
                        PIMP = 0x01
                    }
                }

                Device (RHUB)
                {
                    Name (_ADR, 0x00)  // _ADR: Address
                    Device (PRT0)
                    {
                        Name (_ADR, 0x01)  // _ADR: Address
                    }

                    Device (PRT1)
                    {
                        Name (_ADR, 0x02)  // _ADR: Address
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (UPRW (0x6D, 0x03))
                }

                Name (_S3D, 0x02)  // _S3D: S3 Device State
                Name (_S4D, 0x03)  // _S4D: S4 Device State
                Scope (RHUB.PRT0)
                {
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Return (EUPC) /* \EUPC */
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Return (EPLD) /* \EPLD */
                    }

                    Device (HPT0)
                    {
                        Name (_ADR, 0x01)  // _ADR: Address
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            If (!(CUPM & 0x01))
                            {
                                EUPC [0x00] = 0x00
                            }
                            Else
                            {
                                EUPC [0x00] = 0xFF
                            }

                            Return (EUPC) /* \EUPC */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            CreateBitField (DerefOf (EPLD [0x00]), 0x40, VIS)
                            If (!(VUPM & 0x01))
                            {
                                VIS &= 0x00
                            }
                            Else
                            {
                                VIS = 0x01
                            }

                            Return (EPLD) /* \EPLD */
                        }
                    }

                    Device (HPT1)
                    {
                        Name (_ADR, 0x02)  // _ADR: Address
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            If (!(CUPM & 0x02))
                            {
                                EUPC [0x00] = 0x00
                            }
                            Else
                            {
                                EUPC [0x00] = 0xFF
                            }

                            Return (EUPC) /* \EUPC */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            CreateBitField (DerefOf (EPLD [0x00]), 0x40, VIS)
                            If (!(VUPM & 0x02))
                            {
                                VIS &= 0x00
                            }
                            Else
                            {
                                VIS = 0x01
                            }

                            Return (EPLD) /* \EPLD */
                        }
                    }

                    Device (HPT2)
                    {
                        Name (_ADR, 0x03)  // _ADR: Address
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            If (!(CUPM & 0x04))
                            {
                                EUPC [0x00] = 0x00
                            }
                            Else
                            {
                                EUPC [0x00] = 0xFF
                            }

                            Return (EUPC) /* \EUPC */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            CreateBitField (DerefOf (EPLD [0x00]), 0x40, VIS)
                            If (!(VUPM & 0x04))
                            {
                                VIS &= 0x00
                            }
                            Else
                            {
                                VIS = 0x01
                            }

                            Return (EPLD) /* \EPLD */
                        }
                    }

                    Device (HPT3)
                    {
                        Name (_ADR, 0x04)  // _ADR: Address
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            If (!(CUPM & 0x08))
                            {
                                EUPC [0x00] = 0x00
                            }
                            Else
                            {
                                EUPC [0x00] = 0xFF
                            }

                            Return (EUPC) /* \EUPC */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            CreateBitField (DerefOf (EPLD [0x00]), 0x40, VIS)
                            If (!(VUPM & 0x08))
                            {
                                VIS &= 0x00
                            }
                            Else
                            {
                                VIS = 0x01
                            }

                            Return (EPLD) /* \EPLD */
                        }
                    }

                    Device (HPT4)
                    {
                        Name (_ADR, 0x05)  // _ADR: Address
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            If (!(CUPM & 0x10))
                            {
                                EUPC [0x00] = 0x00
                            }
                            Else
                            {
                                EUPC [0x00] = 0xFF
                            }

                            Return (EUPC) /* \EUPC */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            CreateBitField (DerefOf (EPLD [0x00]), 0x40, VIS)
                            If (!(VUPM & 0x10))
                            {
                                VIS &= 0x00
                            }
                            Else
                            {
                                VIS = 0x01
                            }

                            Return (EPLD) /* \EPLD */
                        }
                    }

                    Device (HPT5)
                    {
                        Name (_ADR, 0x06)  // _ADR: Address
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            If (!(CUPM & 0x20))
                            {
                                EUPC [0x00] = 0x00
                            }
                            Else
                            {
                                EUPC [0x00] = 0xFF
                            }

                            Return (EUPC) /* \EUPC */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            CreateBitField (DerefOf (EPLD [0x00]), 0x40, VIS)
                            If (!(VUPM & 0x20))
                            {
                                VIS &= 0x00
                            }
                            Else
                            {
                                VIS = 0x01
                            }

                            Return (EPLD) /* \EPLD */
                        }
                    }

                    Device (HPT6)
                    {
                        Name (_ADR, 0x07)  // _ADR: Address
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            If (!(CUPM & 0x40))
                            {
                                EUPC [0x00] = 0x00
                            }
                            Else
                            {
                                EUPC [0x00] = 0xFF
                            }

                            Return (EUPC) /* \EUPC */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            CreateBitField (DerefOf (EPLD [0x00]), 0x40, VIS)
                            If (!(VUPM & 0x40))
                            {
                                VIS &= 0x00
                            }
                            Else
                            {
                                VIS = 0x01
                            }

                            Return (EPLD) /* \EPLD */
                        }
                    }

                    Device (HPT7)
                    {
                        Name (_ADR, 0x08)  // _ADR: Address
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            If (!(CUPM & 0x80))
                            {
                                EUPC [0x00] = 0x00
                            }
                            Else
                            {
                                EUPC [0x00] = 0xFF
                            }

                            Return (EUPC) /* \EUPC */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            CreateBitField (DerefOf (EPLD [0x00]), 0x40, VIS)
                            If (!(VUPM & 0x80))
                            {
                                VIS &= 0x00
                            }
                            Else
                            {
                                VIS = 0x01
                            }

                            Return (EPLD) /* \EPLD */
                        }
                    }
                }
            }

            Device (XHC)
            {
                Name (_ADR, 0x00140000)  // _ADR: Address
                OperationRegion (XPRT, PCI_Config, 0x00, 0x0100)
                Field (XPRT, AnyAcc, NoLock, Preserve)
                {
                    DVID,   16, 
                    Offset (0x74), 
                    D0D3,   2, 
                    Offset (0x75), 
                    PMEE,   1, 
                        ,   6, 
                    PMES,   1, 
                    Offset (0xB0), 
                        ,   13, 
                    MB13,   1, 
                    MB14,   1, 
                    Offset (0xB4), 
                    Offset (0xD0), 
                    PR2,    32, 
                    PR2M,   32, 
                    PR3,    32, 
                    PR3M,   32
                }

                OperationRegion (XHCP, SystemMemory, (\_SB.PCI0.GPCB () + 0x000A0000), 0x0100)
                Field (XHCP, AnyAcc, Lock, Preserve)
                {
                    Offset (0x04), 
                    PDBM,   16, 
                    Offset (0x10), 
                    MEMB,   64
                }

                Method (PR2S, 1, Serialized)
                {
                    If (((CDID & 0xF000) == 0x8000))
                    {
                        Switch (Arg0)
                        {
                            Case (0x01)
                            {
                                Return (0x01)
                            }
                            Case (0x02)
                            {
                                Return (0x02)
                            }
                            Case (0x03)
                            {
                                Return (0x04)
                            }
                            Case (0x04)
                            {
                                Return (0x08)
                            }
                            Case (0x05)
                            {
                                Return (0x0100)
                            }
                            Case (0x06)
                            {
                                Return (0x0200)
                            }
                            Case (0x07)
                            {
                                Return (0x0400)
                            }
                            Case (0x08)
                            {
                                Return (0x0800)
                            }
                            Case (0x09)
                            {
                                Return (0x10)
                            }
                            Case (0x0A)
                            {
                                Return (0x20)
                            }
                            Case (0x0B)
                            {
                                Return (0x1000)
                            }
                            Case (0x0C)
                            {
                                Return (0x2000)
                            }
                            Case (0x0D)
                            {
                                Return (0x40)
                            }
                            Case (0x0E)
                            {
                                Return (0x80)
                            }
                            Case (0x0F)
                            {
                                Return (0x4000)
                            }

                        }
                    }
                    Else
                    {
                        Switch (Arg0)
                        {
                            Case (0x01)
                            {
                                Return (0x01)
                            }
                            Case (0x02)
                            {
                                Return (0x02)
                            }
                            Case (0x03)
                            {
                                Return (0x04)
                            }
                            Case (0x04)
                            {
                                Return (0x08)
                            }
                            Case (0x05)
                            {
                                Return (0x10)
                            }
                            Case (0x06)
                            {
                                Return (0x20)
                            }
                            Case (0x07)
                            {
                                Return (0x40)
                            }
                            Case (0x08)
                            {
                                Return (0x80)
                            }
                            Case (0x09)
                            {
                                Return (0x0100)
                            }

                        }
                    }
                }

                Name (XRST, Zero)
                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    If ((^DVID == 0xFFFF))
                    {
                        Return (Zero)
                    }

                    Local2 = ^MEMB /* \_SB_.PCI0.XHC_.MEMB */
                    Local1 = ^PDBM /* \_SB_.PCI0.XHC_.PDBM */
                    ^PDBM &= ~0x06
                    ^MEMB = XWMB /* \_SB_.PCI0.XWMB */
                    ^PDBM |= 0x02
                    OperationRegion (MCA1, SystemMemory, XWMB, 0x9000)
                    Field (MCA1, DWordAcc, Lock, Preserve)
                    {
                        Offset (0x510), 
                        R510,   32, 
                        Offset (0x520), 
                        R520,   32, 
                        Offset (0x530), 
                        R530,   32, 
                        Offset (0x540), 
                        R540,   32, 
                        Offset (0x80E0), 
                            ,   15, 
                        AX15,   1, 
                        Offset (0x8154), 
                            ,   31, 
                        CLK2,   1, 
                        Offset (0x816C), 
                            ,   2, 
                        CLK0,   1, 
                            ,   11, 
                        CLK1,   1
                    }

                    Local3 = ^D0D3 /* \_SB_.PCI0.XHC_.D0D3 */
                    If ((Local3 == 0x03))
                    {
                        ^D0D3 = 0x00
                    }

                    CLK2 = 0x01
                    If (CondRefOf (\_SB.PCI0.XHC.PS0X))
                    {
                        \_SB.PCI0.XHC.PS0X ()
                    }

                    If ((Local3 == 0x03))
                    {
                        ^D0D3 = 0x03
                    }

                    ^PDBM &= ~0x02
                    ^MEMB = Local2
                    ^PDBM = Local1
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    If ((^DVID == 0xFFFF))
                    {
                        Return (Zero)
                    }

                    ^PMES = 0x01
                    ^PMEE = 0x01
                    Local2 = ^MEMB /* \_SB_.PCI0.XHC_.MEMB */
                    Local1 = ^PDBM /* \_SB_.PCI0.XHC_.PDBM */
                    ^PDBM &= ~0x06
                    ^MEMB = XWMB /* \_SB_.PCI0.XWMB */
                    ^PDBM |= 0x02
                    OperationRegion (MCA1, SystemMemory, XWMB, 0x9000)
                    Field (MCA1, DWordAcc, Lock, Preserve)
                    {
                        Offset (0x80E0), 
                            ,   15, 
                        AX15,   1, 
                        Offset (0x8154), 
                            ,   31, 
                        CLK2,   1, 
                        Offset (0x816C), 
                            ,   2, 
                        CLK0,   1, 
                            ,   11, 
                        CLK1,   1, 
                        Offset (0x8170)
                    }

                    Local3 = ^D0D3 /* \_SB_.PCI0.XHC_.D0D3 */
                    If ((Local3 == 0x03))
                    {
                        ^D0D3 = 0x00
                    }

                    CLK2 = 0x00
                    If (CondRefOf (\_SB.PCI0.XHC.PS3X))
                    {
                        \_SB.PCI0.XHC.PS3X ()
                    }

                    If ((Local3 == 0x03))
                    {
                        ^D0D3 = 0x03
                    }

                    ^PDBM &= ~0x02
                    ^MEMB = Local2
                    ^PDBM = Local1
                }

                Method (CUID, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71")))
                    {
                        Return (0x01)
                    }

                    Return (0x00)
                }

                Method (POSC, 3, Serialized)
                {
                    CreateDWordField (Arg2, 0x00, CDW1)
                    CreateDWordField (Arg2, 0x08, CDW3)
                    If ((XHCI == 0x00))
                    {
                        CDW1 |= 0x02
                    }

                    If (!(CDW1 & 0x01))
                    {
                        If ((CDW3 & 0x01))
                        {
                            ESEL ()
                        }
                        ElseIf (((CDID & 0xF000) == 0x8000))
                        {
                            If ((Arg0 > 0x01))
                            {
                                XSEL ()
                            }
                            Else
                            {
                                CDW1 |= 0x0A
                            }
                        }
                        ElseIf ((Arg0 > 0x02))
                        {
                            XSEL ()
                        }
                        Else
                        {
                            CDW1 |= 0x0A
                        }
                    }

                    Return (Arg2)
                }

                Method (XSEL, 0, Serialized)
                {
                    If ((XHCI != 0x00))
                    {
                        XUSB = 0x01
                        XRST = 0x01
                        Local0 = 0x00
                        Local0 = (PR3 & 0xFFFFFFC0)
                        Local0 |= XHPM /* \XHPM */
                        PR3 = (Local0 & PR3M) /* \_SB_.PCI0.XHC_.PR3M */
                        Local0 = 0x00
                        Local0 = (PR2 & 0xFFFF8000)
                        Local0 |= XHPM /* \XHPM */
                        PR2 = (Local0 & PR2M) /* \_SB_.PCI0.XHC_.PR2M */
                    }
                }

                Method (ESEL, 0, Serialized)
                {
                    If (((XHCI == 0x02) || (XHCI == 0x03)))
                    {
                        PR3 &= 0xFFFFFFC0
                        PR2 &= 0xFFFF8000
                        XUSB = 0x00
                        XRST = 0x00
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (UPRW (0x6D, 0x03))
                }

                Method (XWAK, 0, Serialized)
                {
                    If (((XUSB == 0x01) || (XRST == 0x01)))
                    {
                        XSEL ()
                    }
                }

                Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
                {
                    Return (0x02)
                }

                Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
                {
                    Return (0x02)
                }

                Device (RHUB)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                    {
                        If ((\_SB.PCI0.XHC.DVID == 0xFFFF))
                        {
                            Return (Zero)
                        }

                        If (CondRefOf (\_SB.PCI0.XHC.RHUB.PS0X))
                        {
                            \_SB.PCI0.XHC.RHUB.PS0X ()
                        }
                    }

                    Method (_PS2, 0, Serialized)  // _PS2: Power State 2
                    {
                        If (CondRefOf (\_SB.PCI0.XHC.RHUB.PS2X))
                        {
                            \_SB.PCI0.XHC.RHUB.PS2X ()
                        }
                    }

                    Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                    {
                        If (CondRefOf (\_SB.PCI0.XHC.RHUB.PS3X))
                        {
                            \_SB.PCI0.XHC.RHUB.PS3X ()
                        }
                    }

                    Name (PLDE, Package (0x01)
                    {
                        Buffer (0x10)
                        {
                            /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // 0.......
                        }
                    })
                    Device (HS01)
                    {
                        Name (_ADR, 0x01)  // _ADR: Address
                        Name (_STA, 0x0F)  // _STA: Status
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            Name (UPCP, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                0x00, 
                                0x00
                            })
                            If ((!(PR2 & 0x01) | !(CUPM & 0x01)
                                ))
                            {
                                UPCP [0x00] = 0x00
                            }

                            If ((!(PR2 & 0x01) | !(VUPM & 0x01)
                                ))
                            {
                                UPCP [0x01] = 0xFF
                            }

                            Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS01._UPC.UPCP */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            If ((!(PR2 & 0x01) | !(VUPM & 0x01)
                                ))
                            {
                                Return (PLDE) /* \_SB_.PCI0.XHC_.RHUB.PLDE */
                            }

                            Name (PLDP, Package (0x01)
                            {
                                Buffer (0x10)
                                {
                                    /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                    /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                                }
                            })
                            CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                            GPOS = 0x01
                            Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS01._PLD.PLDP */
                        }
                    }

                    Device (HS02)
                    {
                        Name (_ADR, 0x02)  // _ADR: Address
                        Name (_STA, 0x0F)  // _STA: Status
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            Name (UPCP, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                0x00, 
                                0x00
                            })
                            If ((!(PR2 & 0x02) | !(CUPM & 0x02)
                                ))
                            {
                                UPCP [0x00] = 0x00
                            }

                            If ((!(PR2 & 0x02) | !(VUPM & 0x02)
                                ))
                            {
                                UPCP [0x01] = 0xFF
                            }

                            Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS02._UPC.UPCP */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            If ((!(PR2 & 0x02) | !(VUPM & 0x02)
                                ))
                            {
                                Return (PLDE) /* \_SB_.PCI0.XHC_.RHUB.PLDE */
                            }

                            Name (PLDP, Package (0x01)
                            {
                                Buffer (0x10)
                                {
                                    /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                    /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                                }
                            })
                            CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                            GPOS = 0x02
                            Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS02._PLD.PLDP */
                        }
                    }

                    Device (HS03)
                    {
                        Name (_ADR, 0x03)  // _ADR: Address
                        Name (_STA, 0x0F)  // _STA: Status
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            Name (UPCP, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                0x00, 
                                0x00
                            })
                            If ((!(PR2 & 0x04) | !(CUPM & 0x04)
                                ))
                            {
                                UPCP [0x00] = 0x00
                            }

                            If ((!(PR2 & 0x04) | !(VUPM & 0x04)
                                ))
                            {
                                UPCP [0x01] = 0xFF
                            }

                            Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS03._UPC.UPCP */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            If ((!(PR2 & 0x04) | !(VUPM & 0x04)
                                ))
                            {
                                Return (PLDE) /* \_SB_.PCI0.XHC_.RHUB.HS03.PLDE */
                            }

                            Name (PLDP, Package (0x01)
                            {
                                Buffer (0x10)
                                {
                                    /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                    /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                                }
                            })
                            CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                            GPOS = 0x03
                            Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS03._PLD.PLDP */
                        }
                    }

                    Device (HS04)
                    {
                        Name (_ADR, 0x04)  // _ADR: Address
                        Name (_STA, 0x0F)  // _STA: Status
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            Name (UPCP, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                0x00, 
                                0x00
                            })
                            If ((!(PR2 & 0x08) | !(CUPM & 0x08)
                                ))
                            {
                                UPCP [0x00] = 0x00
                            }

                            If ((!(PR2 & 0x08) | !(VUPM & 0x08)
                                ))
                            {
                                UPCP [0x01] = 0xFF
                            }

                            Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS04._UPC.UPCP */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            If ((!(PR2 & 0x08) | !(VUPM & 0x08)
                                ))
                            {
                                Return (PLDE) /* \_SB_.PCI0.XHC_.RHUB.PLDE */
                            }

                            Name (PLDP, Package (0x01)
                            {
                                Buffer (0x10)
                                {
                                    /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                    /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                                }
                            })
                            CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                            GPOS = 0x00
                            Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS04._PLD.PLDP */
                        }
                    }

                    Device (HS05)
                    {
                        Name (_ADR, 0x05)  // _ADR: Address
                        Name (_STA, 0x0F)  // _STA: Status
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            Name (UPCP, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                0x00, 
                                0x00
                            })
                            If ((!(PR2 & 0x10) | !(CUPM & 0x10)
                                ))
                            {
                                UPCP [0x00] = 0x00
                            }

                            If ((!(PR2 & 0x10) | !(VUPM & 0x10)
                                ))
                            {
                                UPCP [0x01] = 0xFF
                            }

                            Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS05._UPC.UPCP */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            If ((!(PR2 & 0x10) | !(VUPM & 0x10)
                                ))
                            {
                                Return (PLDE) /* \_SB_.PCI0.XHC_.RHUB.PLDE */
                            }

                            Name (PLDP, Package (0x01)
                            {
                                Buffer (0x10)
                                {
                                    /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                    /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                                }
                            })
                            CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                            GPOS = 0x00
                            Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS05._PLD.PLDP */
                        }
                    }

                    Device (HS06)
                    {
                        Name (_ADR, 0x06)  // _ADR: Address
                        Name (_STA, 0x0F)  // _STA: Status
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            Name (UPCP, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                0x00, 
                                0x00
                            })
                            If ((!(PR2 & 0x20) | !(CUPM & 0x20)
                                ))
                            {
                                UPCP [0x00] = 0x00
                            }

                            If ((!(PR2 & 0x20) | !(VUPM & 0x20)
                                ))
                            {
                                UPCP [0x01] = 0xFF
                            }

                            Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS06._UPC.UPCP */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            If ((!(PR2 & 0x20) | !(VUPM & 0x20)
                                ))
                            {
                                Return (PLDE) /* \_SB_.PCI0.XHC_.RHUB.PLDE */
                            }

                            Name (PLDP, Package (0x01)
                            {
                                Buffer (0x10)
                                {
                                    /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                    /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                                }
                            })
                            CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                            GPOS = 0x00
                            Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS06._PLD.PLDP */
                        }
                    }

                    Device (HS07)
                    {
                        Name (_ADR, 0x07)  // _ADR: Address
                        Name (_STA, 0x0F)  // _STA: Status
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            Name (UPCP, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                0x00, 
                                0x00
                            })
                            If ((!(PR2 & 0x40) | !(CUPM & 0x40)
                                ))
                            {
                                UPCP [0x00] = 0x00
                            }

                            If ((!(PR2 & 0x40) | !(VUPM & 0x40)
                                ))
                            {
                                UPCP [0x01] = 0xFF
                            }

                            Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS07._UPC.UPCP */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            If ((!(PR2 & 0x40) | !(VUPM & 0x40)
                                ))
                            {
                                Return (PLDE) /* \_SB_.PCI0.XHC_.RHUB.PLDE */
                            }

                            Name (PLDP, Package (0x01)
                            {
                                Buffer (0x10)
                                {
                                    /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                    /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                                }
                            })
                            CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                            GPOS = 0x00
                            Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS07._PLD.PLDP */
                        }
                    }

                    Device (HS08)
                    {
                        Name (_ADR, 0x08)  // _ADR: Address
                        Name (_STA, 0x0F)  // _STA: Status
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            Name (UPCP, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                0x00, 
                                0x00
                            })
                            If ((!(PR2 & 0x80) | !(CUPM & 0x80)
                                ))
                            {
                                UPCP [0x00] = 0x00
                            }

                            If ((!(PR2 & 0x80) | !(VUPM & 0x80)
                                ))
                            {
                                UPCP [0x01] = 0xFF
                            }

                            Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS08._UPC.UPCP */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            If ((!(PR2 & 0x80) | !(VUPM & 0x80)
                                ))
                            {
                                Return (PLDE) /* \_SB_.PCI0.XHC_.RHUB.PLDE */
                            }

                            Name (PLDP, Package (0x01)
                            {
                                Buffer (0x10)
                                {
                                    /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                    /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                                }
                            })
                            CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                            GPOS = 0x00
                            Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS08._PLD.PLDP */
                        }
                    }

                    Device (HS09)
                    {
                        Name (_ADR, 0x09)  // _ADR: Address
                        Name (_STA, 0x0F)  // _STA: Status
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            Name (UPCP, Package (0x04)
                            {
                                0x00, 
                                0xFF, 
                                0x00, 
                                0x00
                            })
                            Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS09._UPC.UPCP */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            Name (PLDP, Package (0x01)
                            {
                                Buffer (0x10)
                                {
                                    /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                    /* 0008 */  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // 0.......
                                }
                            })
                            Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS09._PLD.PLDP */
                        }
                    }

                    Device (HS10)
                    {
                        Name (_ADR, 0x0A)  // _ADR: Address
                        Name (_STA, 0x0F)  // _STA: Status
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            Name (UPCP, Package (0x04)
                            {
                                0x00, 
                                0xFF, 
                                0x00, 
                                0x00
                            })
                            Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS10._UPC.UPCP */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            Name (PLDP, Package (0x01)
                            {
                                Buffer (0x10)
                                {
                                    /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                    /* 0008 */  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // 0.......
                                }
                            })
                            Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS10._PLD.PLDP */
                        }
                    }

                    Device (HS11)
                    {
                        Name (_ADR, 0x0B)  // _ADR: Address
                        Name (_STA, 0x0F)  // _STA: Status
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            Name (UPCP, Package (0x04)
                            {
                                0x00, 
                                0xFF, 
                                0x00, 
                                0x00
                            })
                            Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS11._UPC.UPCP */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            Name (PLDP, Package (0x01)
                            {
                                Buffer (0x10)
                                {
                                    /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                    /* 0008 */  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // 0.......
                                }
                            })
                            Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS11._PLD.PLDP */
                        }
                    }

                    Device (SSP1)
                    {
                        Name (_ADR, 0x0C)  // _ADR: Address
                        Name (_STA, 0x0F)  // _STA: Status
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            Name (UPCP, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                0x00, 
                                0x00
                            })
                            If ((!(PR3 & 0x01) | !(CUPM & 0x01)
                                ))
                            {
                                UPCP [0x00] = 0x00
                            }

                            If ((!(PR3 & 0x01) | !(VUPM & 0x01)
                                ))
                            {
                                UPCP [0x01] = 0xFF
                            }

                            Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP1._UPC.UPCP */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            If ((!(PR3 & 0x01) | !(VUPM & 0x01)
                                ))
                            {
                                Return (PLDE) /* \_SB_.PCI0.XHC_.RHUB.PLDE */
                            }

                            Name (PLDP, Package (0x01)
                            {
                                Buffer (0x10)
                                {
                                    /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                    /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                                }
                            })
                            CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                            GPOS = 0x01
                            Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP1._PLD.PLDP */
                        }
                    }

                    Device (SSP2)
                    {
                        Name (_ADR, 0x0D)  // _ADR: Address
                        Name (_STA, 0x0F)  // _STA: Status
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            Name (UPCP, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                0x00, 
                                0x00
                            })
                            If ((!(PR3 & 0x02) | !(CUPM & 0x02)
                                ))
                            {
                                UPCP [0x00] = 0x00
                            }

                            If ((!(PR3 & 0x02) | !(VUPM & 0x02)
                                ))
                            {
                                UPCP [0x01] = 0xFF
                            }

                            Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP2._UPC.UPCP */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            If ((!(PR3 & 0x02) | !(VUPM & 0x02)
                                ))
                            {
                                Return (PLDE) /* \_SB_.PCI0.XHC_.RHUB.PLDE */
                            }

                            Name (PLDP, Package (0x01)
                            {
                                Buffer (0x10)
                                {
                                    /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                    /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                                }
                            })
                            CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                            GPOS = 0x02
                            Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP2._PLD.PLDP */
                        }
                    }

                    Device (SSP3)
                    {
                        Name (_ADR, 0x0E)  // _ADR: Address
                        Name (_STA, 0x0F)  // _STA: Status
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            Name (UPCP, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                0x00, 
                                0x00
                            })
                            If ((!(PR3 & 0x04) | !(CUPM & 0x04)
                                ))
                            {
                                UPCP [0x00] = 0x00
                            }

                            If ((!(PR3 & 0x04) | !(VUPM & 0x04)
                                ))
                            {
                                UPCP [0x01] = 0xFF
                            }

                            Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP3._UPC.UPCP */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            If ((!(PR3 & 0x04) | !(VUPM & 0x04)
                                ))
                            {
                                Return (PLDE) /* \_SB_.PCI0.XHC_.RHUB.SSP3.PLDE */
                            }

                            Name (PLDP, Package (0x01)
                            {
                                Buffer (0x10)
                                {
                                    /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                    /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                                }
                            })
                            CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                            GPOS = 0x03
                            Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP3._PLD.PLDP */
                        }
                    }

                    Device (SSP4)
                    {
                        Name (_ADR, 0x0F)  // _ADR: Address
                        Name (_STA, 0x0F)  // _STA: Status
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            Name (UPCP, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                0x00, 
                                0x00
                            })
                            If ((!(PR3 & 0x08) | !(CUPM & 0x08)
                                ))
                            {
                                UPCP [0x00] = 0x00
                            }

                            If ((!(PR3 & 0x08) | !(VUPM & 0x08)
                                ))
                            {
                                UPCP [0x01] = 0xFF
                            }

                            Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP4._UPC.UPCP */
                        }

                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            If ((!(PR3 & 0x08) | !(VUPM & 0x08)
                                ))
                            {
                                Return (PLDE) /* \_SB_.PCI0.XHC_.RHUB.PLDE */
                            }

                            Name (PLDP, Package (0x01)
                            {
                                Buffer (0x10)
                                {
                                    /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                    /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                                }
                            })
                            CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                            GPOS = 0x00
                            Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP4._PLD.PLDP */
                        }
                    }
                }
            }

            Scope (\_SB.PCI0.XHC.RHUB.HS07)
            {
                Device (WCAM)
                {
                    Name (_ADR, 0x07)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0x00, 
                            0xFF, 
                            0x00, 
                            0x00
                        })
                        Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS07.WCAM._UPC.UPCP */
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x14)
                            {
                                /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                /* 0008 */  0x24, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // $.......
                                /* 0010 */  0xC8, 0x00, 0xA0, 0x00                           // ....
                            }
                        })
                        Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS07.WCAM._PLD.PLDP */
                    }
                }
            }

            Scope (\_SB.PCI0.EHC1.RHUB.PRT0.HPT2)
            {
                Name (PLDE, Package (0x01)
                {
                    Buffer (0x10)
                    {
                        /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0008 */  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // 0.......
                    }
                })
                Device (SHP1)
                {
                    Name (_ADR, 0x01)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            0x00, 
                            0x00
                        })
                        Local1 = (One << 0x00)
                        If (!(CSUM & Local1))
                        {
                            UPCP [0x00] = 0x00
                        }

                        If (!(VSUM & Local1))
                        {
                            UPCP [0x01] = 0xFF
                        }

                        Return (UPCP) /* \_SB_.PCI0.EHC1.RHUB.PRT0.HPT2.SHP1._UPC.UPCP */
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Local1 = (One << 0x00)
                        If (!(VSUM & Local1))
                        {
                            Return (PLDE) /* \_SB_.PCI0.EHC1.RHUB.PRT0.HPT2.PLDE */
                        }

                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x10)
                            {
                                /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                            }
                        })
                        CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                        GPOS = 0x00
                        Return (PLDP) /* \_SB_.PCI0.EHC1.RHUB.PRT0.HPT2.SHP1._PLD.PLDP */
                    }
                }

                Device (SHP2)
                {
                    Name (_ADR, 0x02)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            0x00, 
                            0x00
                        })
                        Local1 = (One << 0x01)
                        If (!(CSUM & Local1))
                        {
                            UPCP [0x00] = 0x00
                        }

                        If (!(VSUM & Local1))
                        {
                            UPCP [0x01] = 0xFF
                        }

                        Return (UPCP) /* \_SB_.PCI0.EHC1.RHUB.PRT0.HPT2.SHP2._UPC.UPCP */
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Local1 = (One << 0x01)
                        If (!(VSUM & Local1))
                        {
                            Return (PLDE) /* \_SB_.PCI0.EHC1.RHUB.PRT0.HPT2.PLDE */
                        }

                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x10)
                            {
                                /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                            }
                        })
                        CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                        GPOS = 0x01
                        Return (PLDP) /* \_SB_.PCI0.EHC1.RHUB.PRT0.HPT2.SHP2._PLD.PLDP */
                    }
                }

                Device (SHP3)
                {
                    Name (_ADR, 0x03)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            0x00, 
                            0x00
                        })
                        Local1 = (One << 0x02)
                        If (!(CSUM & Local1))
                        {
                            UPCP [0x00] = 0x00
                        }

                        If (!(VSUM & Local1))
                        {
                            UPCP [0x01] = 0xFF
                        }

                        Return (UPCP) /* \_SB_.PCI0.EHC1.RHUB.PRT0.HPT2.SHP3._UPC.UPCP */
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Local1 = (One << 0x02)
                        If (!(VSUM & Local1))
                        {
                            Return (PLDE) /* \_SB_.PCI0.EHC1.RHUB.PRT0.HPT2.PLDE */
                        }

                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x10)
                            {
                                /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                            }
                        })
                        CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                        GPOS = 0x02
                        Return (PLDP) /* \_SB_.PCI0.EHC1.RHUB.PRT0.HPT2.SHP3._PLD.PLDP */
                    }
                }

                Device (SHP4)
                {
                    Name (_ADR, 0x04)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            0x00, 
                            0x00
                        })
                        Local1 = (One << 0x03)
                        If (!(CSUM & Local1))
                        {
                            UPCP [0x00] = 0x00
                        }

                        If (!(VSUM & Local1))
                        {
                            UPCP [0x01] = 0xFF
                        }

                        Return (UPCP) /* \_SB_.PCI0.EHC1.RHUB.PRT0.HPT2.SHP4._UPC.UPCP */
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Local1 = (One << 0x03)
                        If (!(VSUM & Local1))
                        {
                            Return (PLDE) /* \_SB_.PCI0.EHC1.RHUB.PRT0.HPT2.PLDE */
                        }

                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x10)
                            {
                                /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                            }
                        })
                        CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                        GPOS = 0x03
                        Return (PLDP) /* \_SB_.PCI0.EHC1.RHUB.PRT0.HPT2.SHP4._PLD.PLDP */
                    }
                }
            }

            Scope (\_SB.PCI0.XHC.RHUB.HS03)
            {
                Name (PLDE, Package (0x01)
                {
                    Buffer (0x10)
                    {
                        /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0008 */  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // 0.......
                    }
                })
                Device (SHP1)
                {
                    Name (_ADR, 0x01)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            0x00, 
                            0x00
                        })
                        Local1 = (One << 0x00)
                        If (!(CSUM & Local1))
                        {
                            UPCP [0x00] = 0x00
                        }

                        If (!(VSUM & Local1))
                        {
                            UPCP [0x01] = 0xFF
                        }

                        Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS03.SHP1._UPC.UPCP */
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Local1 = (One << 0x00)
                        If (!(VSUM & Local1))
                        {
                            Return (PLDE) /* \_SB_.PCI0.XHC_.RHUB.HS03.PLDE */
                        }

                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x10)
                            {
                                /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                            }
                        })
                        CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                        GPOS = 0x00
                        Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS03.SHP1._PLD.PLDP */
                    }
                }

                Device (SHP2)
                {
                    Name (_ADR, 0x02)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            0x00, 
                            0x00
                        })
                        Local1 = (One << 0x01)
                        If (!(CSUM & Local1))
                        {
                            UPCP [0x00] = 0x00
                        }

                        If (!(VSUM & Local1))
                        {
                            UPCP [0x01] = 0xFF
                        }

                        Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS03.SHP2._UPC.UPCP */
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Local1 = (One << 0x01)
                        If (!(VSUM & Local1))
                        {
                            Return (PLDE) /* \_SB_.PCI0.XHC_.RHUB.HS03.PLDE */
                        }

                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x10)
                            {
                                /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                            }
                        })
                        CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                        GPOS = 0x01
                        Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS03.SHP2._PLD.PLDP */
                    }
                }

                Device (SHP3)
                {
                    Name (_ADR, 0x03)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            0x00, 
                            0x00
                        })
                        Local1 = (One << 0x02)
                        If (!(CSUM & Local1))
                        {
                            UPCP [0x00] = 0x00
                        }

                        If (!(VSUM & Local1))
                        {
                            UPCP [0x01] = 0xFF
                        }

                        Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS03.SHP3._UPC.UPCP */
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Local1 = (One << 0x02)
                        If (!(VSUM & Local1))
                        {
                            Return (PLDE) /* \_SB_.PCI0.XHC_.RHUB.HS03.PLDE */
                        }

                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x10)
                            {
                                /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                            }
                        })
                        CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                        GPOS = 0x02
                        Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS03.SHP3._PLD.PLDP */
                    }
                }

                Device (SHP4)
                {
                    Name (_ADR, 0x04)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            0x00, 
                            0x00
                        })
                        Local1 = (One << 0x03)
                        If (!(CSUM & Local1))
                        {
                            UPCP [0x00] = 0x00
                        }

                        If (!(VSUM & Local1))
                        {
                            UPCP [0x01] = 0xFF
                        }

                        Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS03.SHP4._UPC.UPCP */
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Local1 = (One << 0x03)
                        If (!(VSUM & Local1))
                        {
                            Return (PLDE) /* \_SB_.PCI0.XHC_.RHUB.HS03.PLDE */
                        }

                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x10)
                            {
                                /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                            }
                        })
                        CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                        GPOS = 0x03
                        Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS03.SHP4._PLD.PLDP */
                    }
                }
            }

            Scope (\_SB.PCI0.XHC.RHUB.SSP3)
            {
                Name (PLDE, Package (0x01)
                {
                    Buffer (0x10)
                    {
                        /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0008 */  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // 0.......
                    }
                })
                Device (SHP1)
                {
                    Name (_ADR, 0x01)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            0x00, 
                            0x00
                        })
                        Local1 = (One << 0x00)
                        If (!(CSUM & Local1))
                        {
                            UPCP [0x00] = 0x00
                        }

                        If (!(VSUM & Local1))
                        {
                            UPCP [0x01] = 0xFF
                        }

                        Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP3.SHP1._UPC.UPCP */
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Local1 = (One << 0x00)
                        If (!(VSUM & Local1))
                        {
                            Return (PLDE) /* \_SB_.PCI0.XHC_.RHUB.SSP3.PLDE */
                        }

                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x10)
                            {
                                /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                            }
                        })
                        CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                        GPOS = 0x00
                        Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP3.SHP1._PLD.PLDP */
                    }
                }

                Device (SHP2)
                {
                    Name (_ADR, 0x02)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            0x00, 
                            0x00
                        })
                        Local1 = (One << 0x01)
                        If (!(CSUM & Local1))
                        {
                            UPCP [0x00] = 0x00
                        }

                        If (!(VSUM & Local1))
                        {
                            UPCP [0x01] = 0xFF
                        }

                        Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP3.SHP2._UPC.UPCP */
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Local1 = (One << 0x01)
                        If (!(VSUM & Local1))
                        {
                            Return (PLDE) /* \_SB_.PCI0.XHC_.RHUB.SSP3.PLDE */
                        }

                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x10)
                            {
                                /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                            }
                        })
                        CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                        GPOS = 0x01
                        Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP3.SHP2._PLD.PLDP */
                    }
                }

                Device (SHP3)
                {
                    Name (_ADR, 0x03)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            0x00, 
                            0x00
                        })
                        Local1 = (One << 0x02)
                        If (!(CSUM & Local1))
                        {
                            UPCP [0x00] = 0x00
                        }

                        If (!(VSUM & Local1))
                        {
                            UPCP [0x01] = 0xFF
                        }

                        Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP3.SHP3._UPC.UPCP */
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Local1 = (One << 0x02)
                        If (!(VSUM & Local1))
                        {
                            Return (PLDE) /* \_SB_.PCI0.XHC_.RHUB.SSP3.PLDE */
                        }

                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x10)
                            {
                                /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                            }
                        })
                        CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                        GPOS = 0x02
                        Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP3.SHP3._PLD.PLDP */
                    }
                }

                Device (SHP4)
                {
                    Name (_ADR, 0x04)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            0x00, 
                            0x00
                        })
                        Local1 = (One << 0x03)
                        If (!(CSUM & Local1))
                        {
                            UPCP [0x00] = 0x00
                        }

                        If (!(VSUM & Local1))
                        {
                            UPCP [0x01] = 0xFF
                        }

                        Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP3.SHP4._UPC.UPCP */
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Local1 = (One << 0x03)
                        If (!(VSUM & Local1))
                        {
                            Return (PLDE) /* \_SB_.PCI0.XHC_.RHUB.SSP3.PLDE */
                        }

                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x10)
                            {
                                /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  // ..r.....
                                /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // i.......
                            }
                        })
                        CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS)
                        GPOS = 0x03
                        Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP3.SHP4._PLD.PLDP */
                    }
                }
            }

            Device (PCIB)
            {
                Name (_ADR, 0x001E0000)  // _ADR: Address
                Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
                {
                    0x6B, 
                    0x05
                })
            }

            Device (LPCB)
            {
                Name (_ADR, 0x001F0000)  // _ADR: Address
                Scope (\_SB)
                {
                    OperationRegion (\_SB.PCI0.LPCB.LPC1, PCI_Config, 0x00, 0x0100)
                    Field (\_SB.PCI0.LPCB.LPC1, AnyAcc, NoLock, Preserve)
                    {
                        Offset (0x02), 
                        CDID,   16, 
                        Offset (0x08), 
                        CRID,   8, 
                        Offset (0x60), 
                        PARC,   8, 
                        PBRC,   8, 
                        PCRC,   8, 
                        PDRC,   8, 
                        Offset (0x68), 
                        PERC,   8, 
                        PFRC,   8, 
                        PGRC,   8, 
                        PHRC,   8, 
                        Offset (0xAC), 
                        Offset (0xAD), 
                        Offset (0xAE), 
                        XUSB,   1
                    }

                    Device (LNKA)
                    {
                        Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
                        Name (_UID, 0x01)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            PARC |= 0x80
                        }

                        Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
                        {
                            IRQ (Level, ActiveLow, Shared, )
                                {3,4,5,6,10,11,12,14,15}
                        })
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLA, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, _Y17)
                                    {}
                            })
                            CreateWordField (RTLA, \_SB.LNKA._CRS._Y17._INT, IRQ0)  // _INT: Interrupts
                            IRQ0 = Zero
                            IRQ0 = (0x01 << (PARC & 0x0F))
                            Return (RTLA) /* \_SB_.LNKA._CRS.RTLA */
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, 0x01, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Local0--
                            PARC = Local0
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If ((PARC & 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKB)
                    {
                        Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
                        Name (_UID, 0x02)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            PBRC |= 0x80
                        }

                        Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
                        {
                            IRQ (Level, ActiveLow, Shared, )
                                {3,4,5,6,10,11,12,14,15}
                        })
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLB, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, _Y18)
                                    {}
                            })
                            CreateWordField (RTLB, \_SB.LNKB._CRS._Y18._INT, IRQ0)  // _INT: Interrupts
                            IRQ0 = Zero
                            IRQ0 = (0x01 << (PBRC & 0x0F))
                            Return (RTLB) /* \_SB_.LNKB._CRS.RTLB */
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, 0x01, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Local0--
                            PBRC = Local0
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If ((PBRC & 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKC)
                    {
                        Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
                        Name (_UID, 0x03)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            PCRC |= 0x80
                        }

                        Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
                        {
                            IRQ (Level, ActiveLow, Shared, )
                                {3,4,5,6,10,11,12,14,15}
                        })
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLC, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, _Y19)
                                    {}
                            })
                            CreateWordField (RTLC, \_SB.LNKC._CRS._Y19._INT, IRQ0)  // _INT: Interrupts
                            IRQ0 = Zero
                            IRQ0 = (0x01 << (PCRC & 0x0F))
                            Return (RTLC) /* \_SB_.LNKC._CRS.RTLC */
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, 0x01, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Local0--
                            PCRC = Local0
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If ((PCRC & 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKD)
                    {
                        Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
                        Name (_UID, 0x04)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            PDRC |= 0x80
                        }

                        Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
                        {
                            IRQ (Level, ActiveLow, Shared, )
                                {3,4,5,6,10,11,12,14,15}
                        })
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLD, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, _Y1A)
                                    {}
                            })
                            CreateWordField (RTLD, \_SB.LNKD._CRS._Y1A._INT, IRQ0)  // _INT: Interrupts
                            IRQ0 = Zero
                            IRQ0 = (0x01 << (PDRC & 0x0F))
                            Return (RTLD) /* \_SB_.LNKD._CRS.RTLD */
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, 0x01, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Local0--
                            PDRC = Local0
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If ((PDRC & 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKE)
                    {
                        Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
                        Name (_UID, 0x05)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            PERC |= 0x80
                        }

                        Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
                        {
                            IRQ (Level, ActiveLow, Shared, )
                                {3,4,5,6,10,11,12,14,15}
                        })
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLE, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, _Y1B)
                                    {}
                            })
                            CreateWordField (RTLE, \_SB.LNKE._CRS._Y1B._INT, IRQ0)  // _INT: Interrupts
                            IRQ0 = Zero
                            IRQ0 = (0x01 << (PERC & 0x0F))
                            Return (RTLE) /* \_SB_.LNKE._CRS.RTLE */
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, 0x01, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Local0--
                            PERC = Local0
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If ((PERC & 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKF)
                    {
                        Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
                        Name (_UID, 0x06)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            PFRC |= 0x80
                        }

                        Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
                        {
                            IRQ (Level, ActiveLow, Shared, )
                                {3,4,5,6,10,11,12,14,15}
                        })
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLF, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, _Y1C)
                                    {}
                            })
                            CreateWordField (RTLF, \_SB.LNKF._CRS._Y1C._INT, IRQ0)  // _INT: Interrupts
                            IRQ0 = Zero
                            IRQ0 = (0x01 << (PFRC & 0x0F))
                            Return (RTLF) /* \_SB_.LNKF._CRS.RTLF */
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, 0x01, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Local0--
                            PFRC = Local0
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If ((PFRC & 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKG)
                    {
                        Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
                        Name (_UID, 0x07)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            PGRC |= 0x80
                        }

                        Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
                        {
                            IRQ (Level, ActiveLow, Shared, )
                                {3,4,5,6,10,11,12,14,15}
                        })
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLG, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, _Y1D)
                                    {}
                            })
                            CreateWordField (RTLG, \_SB.LNKG._CRS._Y1D._INT, IRQ0)  // _INT: Interrupts
                            IRQ0 = Zero
                            IRQ0 = (0x01 << (PGRC & 0x0F))
                            Return (RTLG) /* \_SB_.LNKG._CRS.RTLG */
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, 0x01, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Local0--
                            PGRC = Local0
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If ((PGRC & 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKH)
                    {
                        Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
                        Name (_UID, 0x08)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            PHRC |= 0x80
                        }

                        Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
                        {
                            IRQ (Level, ActiveLow, Shared, )
                                {3,4,5,6,10,11,12,14,15}
                        })
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLH, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, _Y1E)
                                    {}
                            })
                            CreateWordField (RTLH, \_SB.LNKH._CRS._Y1E._INT, IRQ0)  // _INT: Interrupts
                            IRQ0 = Zero
                            IRQ0 = (0x01 << (PHRC & 0x0F))
                            Return (RTLH) /* \_SB_.LNKH._CRS.RTLH */
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, 0x01, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Local0--
                            PHRC = Local0
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If ((PHRC & 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }
                }

                OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
                Field (LPC0, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x40), 
                    IOD0,   8, 
                    IOD1,   8, 
                    Offset (0x60), 
                        ,   9, 
                    PRBL,   1, 
                    Offset (0x78), 
                        ,   6, 
                    GR03,   2, 
                    Offset (0x7A), 
                    GR08,   2, 
                    GR09,   2, 
                    GR0A,   2, 
                    GR0B,   2, 
                    Offset (0x7C), 
                        ,   2, 
                    GR19,   2, 
                    Offset (0x80), 
                    Offset (0xB0), 
                    RAEN,   1, 
                        ,   13, 
                    RCBA,   18
                }

                Device (EC0)
                {
                    Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */)  // _HID: Hardware ID
                    Name (_UID, 0x01)  // _UID: Unique ID
                    Name (_GPE, 0x06)  // _GPE: General Purpose Events
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        Return (0x0F)
                    }

                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IO (Decode16,
                            0x0062,             // Range Minimum
                            0x0062,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0066,             // Range Minimum
                            0x0066,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                    })
                    Mutex (ECMX, 0x00)
                    Name (ECRG, 0x00)
                    Name (HSWK, 0x00)
                    OperationRegion (ERAM, EmbeddedControl, 0x00, 0xFF)
                    Field (ERAM, ByteAcc, NoLock, Preserve)
                    {
                        Offset (0xF5), 
                        VBPS,   8
                    }

                    Method (GBNT, 2, Serialized)
                    {
                        Local0 = (One << Arg1)
                        If (((Arg0 & Local0) == Local0))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    Method (ECRI, 0, Serialized)
                    {
                        OST = \WCOS ()
                        PWUP (0x07, 0xFF)
                        Local0 = GBAP ()
                        ITLB ()
                        SBTN (Local0, 0x81)
                        PRIT ()
                    }

                    Method (_REG, 2, NotSerialized)  // _REG: Region Availability
                    {
                        If ((Arg0 == 0x03))
                        {
                            ECRG = Arg1
                            Local1 = ((\WCOS () == 0x01) || (\WCOS () == 0x02))
                            If ((Arg1 && !Local1))
                            {
                                ECRI ()
                            }
                        }
                    }

                    OperationRegion (ECRM, EmbeddedControl, 0x00, 0xFF)
                    Field (ECRM, ByteAcc, NoLock, Preserve)
                    {
                        PMCD,   32, 
                        S0FL,   8, 
                        SXF0,   8, 
                        SXF1,   8, 
                        CPWR,   16, 
                        CVLT,   16, 
                        CCUR,   16, 
                        DIDX,   8, 
                        CIDX,   8, 
                        PMCC,   8, 
                        PMEP,   8, 
                        Offset (0x22), 
                        CRZN,   8, 
                        THTA,   8, 
                        HYST,   8, 
                        CRIT,   8, 
                        TEMP,   8, 
                        TENA,   8, 
                        Offset (0x29), 
                        TOAD,   8, 
                        PHTP,   8, 
                        THEM,   8, 
                        TMPO,   8, 
                        Offset (0x2E), 
                        FRDC,   8, 
                        FTGC,   8, 
                        PLTP,   8, 
                        Offset (0x32), 
                        DTMP,   8, 
                        Offset (0x35), 
                        PL1,    8, 
                        PL2,    8, 
                        BCVD,   8, 
                        Offset (0x3A), 
                        LUXH,   8, 
                        LUXL,   8, 
                        BLXH,   8, 
                        BLXL,   8, 
                        ALST,   8, 
                        Offset (0x40), 
                        ABDI,   8, 
                        ABAD,   8, 
                        ABIX,   8, 
                        ABDA,   8, 
                        ABST,   8, 
                        PORI,   8, 
                        Offset (0x47), 
                        PORL,   8, 
                        Offset (0x4C), 
                        PSSB,   8, 
                        Offset (0x50), 
                        FBCM,   8, 
                        FBGI,   8, 
                        FBAE,   8, 
                        FBCB,   8, 
                        FBW1,   8, 
                        FBW2,   8, 
                        Offset (0x57), 
                        FBID,   8, 
                        FUAE,   8, 
                        FRPS,   8, 
                        Offset (0x60), 
                        SCCB,   8, 
                        SCCS,   8, 
                        SCWT,   16, 
                        SCWD,   16, 
                        Offset (0x80), 
                        Offset (0x81), 
                            ,   4, 
                        SLPT,   4, 
                        FNSW,   1, 
                        SFNC,   1, 
                        ACPI,   1, 
                            ,   1, 
                            ,   1, 
                            ,   1, 
                            ,   1, 
                        DETF,   1, 
                        LIDS,   1, 
                        TBLT,   1, 
                            ,   1, 
                            ,   1, 
                            ,   1, 
                        COMM,   1, 
                        PME,    1, 
                        SBVD,   1, 
                        ADP,    1, 
                        ADID,   2, 
                        LCTV,   1, 
                        BATP,   4, 
                        BPU,    1, 
                        Offset (0x86), 
                        BSEL,   4, 
                        Offset (0x87), 
                        LB1,    8, 
                        LB2,    8, 
                        BDC,    16, 
                        Offset (0x8D), 
                        BFC,    16, 
                        BRTE,   16, 
                        BTC,    1, 
                        Offset (0x92), 
                        BME,    16, 
                        BDN,    8, 
                        BDV,    16, 
                        BCV1,   16, 
                        BST,    4, 
                        Offset (0x9B), 
                        BATE,   16, 
                        BPR,    16, 
                        BCR,    16, 
                        BRC,    16, 
                        BCC,    16, 
                        BPV,    16, 
                        BCV2,   16, 
                        BCV3,   16, 
                        BCV4,   16, 
                        BCW,    16, 
                        BATF,   16, 
                        BCL,    16, 
                        MAXC,   16, 
                        BCG1,   8, 
                        BT1I,   1, 
                        BT2I,   1, 
                            ,   2, 
                        BATN,   4, 
                        BSTS,   16, 
                        BCG2,   8, 
                        Offset (0xBD), 
                        BMO,    8, 
                        Offset (0xBF), 
                        BRCV,   8, 
                        Offset (0xC1), 
                        BIF,    8, 
                        BRCC,   8, 
                        Offset (0xC9), 
                        BSN,    16, 
                        BDAT,   16, 
                        BMF,    8, 
                        Offset (0xCF), 
                        CTLB,   8, 
                        Offset (0xD1), 
                        BTY,    8, 
                        Offset (0xD5), 
                        MFAC,   8, 
                        CFAN,   8, 
                        PFAN,   8, 
                        OCPS,   8, 
                        OCPR,   8, 
                        OCPE,   8, 
                        TMP1,   8, 
                        TMP2,   8, 
                        NABT,   4, 
                        BCM,    4, 
                        CCBQ,   16, 
                        CBT,    16, 
                        Offset (0xE3), 
                        OST,    4, 
                        Offset (0xE4), 
                        Offset (0xE5), 
                        TPTE,   1, 
                        TBBN,   1, 
                            ,   3, 
                        TP,     1, 
                        Offset (0xE6), 
                        SHK,    8, 
                        AUDS,   1, 
                        SPKR,   1, 
                        Offset (0xE8), 
                        HSEN,   4, 
                        HSST,   4, 
                        Offset (0xEA), 
                            ,   2, 
                        WWP,    1, 
                        WLP,    1, 
                            ,   1, 
                        WWS3,   1, 
                        WLS3,   1, 
                        Offset (0xEB), 
                        DKPS,   1, 
                        DKTP,   1, 
                        Offset (0xEC), 
                            ,   4, 
                        PB10,   1, 
                        ERWB,   1, 
                            ,   1, 
                        TBOS,   1, 
                            ,   3, 
                        FPPE,   1, 
                        Offset (0xEF), 
                        INCH,   2, 
                        IDIS,   2, 
                        INAC,   1
                    }

                    Method (_INI, 0, NotSerialized)  // _INI: Initialize
                    {
                        If (((\WCOS () == 0x01) || (\WCOS () == 0x02)))
                        {
                            ECRI ()
                        }
                    }

                    OperationRegion (MAIO, SystemIO, 0x0200, 0x02)
                    Field (MAIO, ByteAcc, NoLock, Preserve)
                    {
                        MAIN,   8, 
                        MADT,   8
                    }

                    IndexField (MAIN, MADT, ByteAcc, NoLock, Preserve)
                    {
                        Offset (0x8C), 
                            ,   7, 
                        CLID,   1, 
                        Offset (0x95), 
                        PWM0,   8, 
                        Offset (0x9D), 
                        PWMC,   8
                    }

                    Method (KFCL, 2, NotSerialized)
                    {
                        Acquire (ECMX, 0xFFFF)
                        If (ECRG)
                        {
                            MFAC = Arg1
                            If (((Arg0 >= 0x00) && (Arg0 <= 0x64)))
                            {
                                CFAN = Arg0
                            }
                        }

                        Release (ECMX)
                    }

                    Method (KSFS, 1, NotSerialized)
                    {
                        Acquire (ECMX, 0xFFFF)
                        If (ECRG)
                        {
                            CFAN = Arg0
                        }

                        Release (ECMX)
                    }

                    Method (KGFS, 0, NotSerialized)
                    {
                        Local0 = 0x14
                        Acquire (ECMX, 0xFFFF)
                        If (ECRG)
                        {
                            Local0 = CFAN /* \_SB_.PCI0.LPCB.EC0_.CFAN */
                        }

                        Release (ECMX)
                        Return (Local0)
                    }

                    Method (KRFS, 0, NotSerialized)
                    {
                        Local0 = 0x1E
                        Acquire (ECMX, 0xFFFF)
                        If (ECRG)
                        {
                            Local0 = PFAN /* \_SB_.PCI0.LPCB.EC0_.PFAN */
                        }

                        Release (ECMX)
                        Return (Local0)
                    }

                    Method (SFSD, 1, Serialized)
                    {
                        Local1 = (Arg0 * 0x40)
                        Divide (Local1, 0x64, Local2, Local0)
                        Local0 = (0x40 - Local0)
                        Local1 = (PWM0 & 0x80)
                        If ((Local0 == 0x40))
                        {
                            Local1 |= 0x01
                        }
                        Else
                        {
                            Local0 <<= 0x01
                            Local1 |= Local0
                        }

                        PWM0 = Local1
                    }

                    Method (GFSD, 0, Serialized)
                    {
                        Local0 = (PWM0 & 0x7F)
                        If ((Local0 & 0x01))
                        {
                            Local1 = 0x00
                        }
                        Else
                        {
                            Local0 >>= 0x01
                            Local0 = (0x40 - Local0)
                            Local0 *= 0x64
                            Divide ((Local0 + 0x20), 0x40, Local2, Local1)
                            Local1++
                        }

                        Return (Local1)
                    }

                    Method (GSHK, 0, Serialized)
                    {
                        Acquire (ECMX, 0xFFFF)
                        If (ECRG)
                        {
                            Local0 = SHK /* \_SB_.PCI0.LPCB.EC0_.SHK_ */
                        }

                        Release (ECMX)
                        Return (Local0)
                    }

                    Method (SSHK, 1, Serialized)
                    {
                        Acquire (ECMX, 0xFFFF)
                        If (ECRG)
                        {
                            Debug = Arg0
                            SHK = Arg0
                        }

                        Release (ECMX)
                    }

                    Method (SAST, 1, Serialized)
                    {
                        Local0 = 0x00
                        Acquire (ECMX, 0xFFFF)
                        If (ECRG)
                        {
                            AUDS = Arg0
                            Local0 = 0x01
                        }

                        Release (ECMX)
                        Return (Local0)
                    }

                    Method (HSPW, 2, Serialized)
                    {
                        If (HSED)
                        {
                            Local0 = HSWK /* \_SB_.PCI0.LPCB.EC0_.HSWK */
                            If (Arg0)
                            {
                                HSWK = (Local0 | Arg1)
                            }
                            Else
                            {
                                HSWK = (Local0 & ~Arg1)
                            }
                        }
                        Else
                        {
                            HSWK = 0x00
                        }
                    }

                    Method (UHSW, 0, Serialized)
                    {
                    }

                    Method (CHSW, 1, Serialized)
                    {
                        Local1 = 0x00
                        Return (Local1)
                    }

                    Method (SHSW, 2, Serialized)
                    {
                        Acquire (ECMX, 0xFFFF)
                        If (ECRG)
                        {
                            If (Arg1)
                            {
                                HSEN |= Arg0
                            }
                            Else
                            {
                                HSEN &= ~Arg0
                            }
                        }

                        Release (ECMX)
                    }

                    Method (HWLP, 1, NotSerialized)
                    {
                        Acquire (ECMX, 0xFFFF)
                        If (ECRG)
                        {
                            WLP = (Arg0 ^ 0x00)
                        }

                        Release (ECMX)
                    }

                    Method (HWWP, 1, Serialized)
                    {
                        Acquire (ECMX, 0xFFFF)
                        If (ECRG)
                        {
                            If (((WWIX & 0x80) && (Arg0 == 0x00)))
                            {
                                Sleep (0x1388)
                            }

                            WWP = ((Arg0 & 0x01) ^ 0x01)
                        }

                        Release (ECMX)
                    }

                    Method (ECAB, 4, Serialized)
                    {
                        Local0 = 0xECAB
                        Acquire (ECMX, 0xFFFF)
                        If (ECRG)
                        {
                            Local0 = 0xFF00
                            ABDI = Arg0
                            ABAD = Arg1
                            ABIX = Arg2
                            If (((Arg1 & 0x01) == 0x00))
                            {
                                ABDA = Arg3
                            }

                            ABST = 0xFF
                            Sleep (0x5A)
                            Local0 = 0x80
                            Local1 = 0x0B
                            While (((Local0 & 0x80) && (Local1 > 0x00)))
                            {
                                Sleep (0x0A)
                                Local0 = ABST /* \_SB_.PCI0.LPCB.EC0_.ABST */
                                Local1--
                            }

                            Local0 <<= 0x08
                            If (((Local0 == 0x00) && (Arg1 & 0x01)))
                            {
                                Local1 = (ABDA & 0xFF)
                                Local0 |= Local1
                            }
                        }

                        Release (ECMX)
                        Return (Local0)
                    }

                    Name (NGBF, 0xFF)
                    Name (NGBT, 0xFF)
                    Name (GACP, 0x07)
                    Name (ACST, 0x01)
                    Name (SMAR, 0x00)
                    Name (NBAP, 0x00)
                    Name (NNBO, 0x01)
                    Name (NDCB, 0x00)
                    Name (NLB1, 0xC8)
                    Name (NLB2, 0x64)
                    Mutex (BTMX, 0x00)
                    Method (UPAD, 0, Serialized)
                    {
                        Acquire (BTMX, 0xFFFF)
                        If ((GACP & 0x01))
                        {
                            GACP &= 0x06
                            Release (BTMX)
                            Local0 = 0x01
                            Local1 = 0x00
                            Acquire (ECMX, 0xFFFF)
                            If (ECRG)
                            {
                                Local0 = ADP /* \_SB_.PCI0.LPCB.EC0_.ADP_ */
                                Local1 = ADID /* \_SB_.PCI0.LPCB.EC0_.ADID */
                            }

                            Release (ECMX)
                            ACST = Local0
                            If ((DTCD & 0x0800))
                            {
                                If ((DTCD & 0x1000))
                                {
                                    ACST = 0x00
                                }
                                Else
                                {
                                    ACST = 0x01
                                }
                            }

                            SMAR = Local1
                        }
                        Else
                        {
                            Release (BTMX)
                        }
                    }

                    Method (GACS, 0, Serialized)
                    {
                        UPAD ()
                        Return (ACST) /* \_SB_.PCI0.LPCB.EC0_.ACST */
                    }

                    Method (GPID, 0, Serialized)
                    {
                        UPAD ()
                        Return (SMAR) /* \_SB_.PCI0.LPCB.EC0_.SMAR */
                    }

                    Method (GBAP, 0, Serialized)
                    {
                        Acquire (BTMX, 0xFFFF)
                        If ((GACP & 0x02))
                        {
                            GACP &= 0x05
                            Release (BTMX)
                            Acquire (ECMX, 0xFFFF)
                            If (ECRG)
                            {
                                NBAP = BATP /* \_SB_.PCI0.LPCB.EC0_.BATP */
                            }

                            Release (ECMX)
                        }
                        Else
                        {
                            Release (BTMX)
                        }

                        Return (NBAP) /* \_SB_.PCI0.LPCB.EC0_.NBAP */
                    }

                    Method (PWUP, 2, Serialized)
                    {
                        Local0 = 0x00
                        Acquire (BTMX, 0xFFFF)
                        Local1 = (Arg0 | GACP) /* \_SB_.PCI0.LPCB.EC0_.GACP */
                        GACP = (Local1 & 0x07)
                        If ((GACP & 0x02))
                        {
                            NGBF |= Arg1
                        }

                        If ((GACP & 0x04))
                        {
                            If ((NGBT != 0xFF))
                            {
                                Local0 = 0x01
                            }

                            NGBT |= Arg1
                        }

                        Release (BTMX)
                        Return (Local0)
                    }

                    Method (BTDR, 1, Serialized)
                    {
                        If ((Arg0 == 0x01))
                        {
                            NNBO = 0x01
                        }
                        ElseIf ((Arg0 == 0x00))
                        {
                            NNBO = 0x00
                        }

                        Return (NNBO) /* \_SB_.PCI0.LPCB.EC0_.NNBO */
                    }

                    Method (BSTA, 1, Serialized)
                    {
                        BTDR (0x01)
                        Local0 = GBAP ()
                        Local1 = 0x0F
                        If ((Local0 & Arg0))
                        {
                            Local1 = 0x1F
                        }

                        Return (Local1)
                    }

                    Method (GBSS, 2, Serialized)
                    {
                        ToBCD (Arg0, Local0)
                        Local3 = \ISTR (Local0, 0x05)
                        Concatenate (Local3, " ", Local4)
                        Local0 = (Arg1 >> 0x09)
                        Local1 = (Local0 + 0x07BC)
                        ToBCD (Local1, Local0)
                        Local2 = \ISTR (Local0, 0x04)
                        Concatenate (Local4, Local2, Local3)
                        Concatenate (Local3, "/", Local4)
                        Local0 = (Arg1 >> 0x05)
                        Local1 = (Local0 & 0x0F)
                        ToBCD (Local1, Local0)
                        Local2 = \ISTR (Local0, 0x02)
                        Concatenate (Local4, Local2, Local3)
                        Concatenate (Local3, "/", Local4)
                        Local1 = (Arg1 & 0x1F)
                        ToBCD (Local1, Local0)
                        Local2 = \ISTR (Local0, 0x02)
                        Concatenate (Local4, Local2, Local3)
                        Return (Local3)
                    }

                    Method (GBMF, 0, Serialized)
                    {
                        Local0 = Buffer (0x12){}
                        Local3 = 0x00
                        Local1 = BMF /* \_SB_.PCI0.LPCB.EC0_.BMF_ */
                        While (((Local3 < 0x10) && (Local1 != 0x00)))
                        {
                            Local0 [Local3] = Local1
                            Local3++
                            Local1 = BMF /* \_SB_.PCI0.LPCB.EC0_.BMF_ */
                        }

                        Return (Local0)
                    }

                    Method (GCTL, 1, Serialized)
                    {
                        Name (CTBF, Buffer (0x10){})
                        Local3 = 0x00
                        Local2 = 0x00
                        While ((Local3 != 0x10))
                        {
                            CTBF [Local2] = CTLB /* \_SB_.PCI0.LPCB.EC0_.CTLB */
                            Local2++
                            Local3++
                        }

                        Return (CTBF) /* \_SB_.PCI0.LPCB.EC0_.GCTL.CTBF */
                    }

                    Method (GDNM, 1, Serialized)
                    {
                        Name (DNBF, Buffer (0x07){})
                        Local3 = 0x00
                        Local2 = 0x00
                        While ((Local3 != 0x07))
                        {
                            DNBF [Local2] = BDN /* \_SB_.PCI0.LPCB.EC0_.BDN_ */
                            Local2++
                            Local3++
                        }

                        Return (DNBF) /* \_SB_.PCI0.LPCB.EC0_.GDNM.DNBF */
                    }

                    Method (GDCH, 1, Serialized)
                    {
                        Name (DCBF, Buffer (0x04){})
                        Local3 = 0x00
                        Local2 = 0x00
                        While ((Local3 != 0x04))
                        {
                            DCBF [Local2] = BTY /* \_SB_.PCI0.LPCB.EC0_.BTY_ */
                            Local2++
                            Local3++
                        }

                        Return (DCBF) /* \_SB_.PCI0.LPCB.EC0_.GDCH.DCBF */
                    }

                    Method (BTIF, 1, Serialized)
                    {
                        Local7 = (0x01 << Arg0)
                        BTDR (0x01)
                        If ((BSTA (Local7) == 0x0F))
                        {
                            Return (0xFF)
                        }

                        Acquire (BTMX, 0xFFFF)
                        Local0 = NGBF /* \_SB_.PCI0.LPCB.EC0_.NGBF */
                        Release (BTMX)
                        If (((Local0 & Local7) == 0x00))
                        {
                            Return (0x00)
                        }

                        NBST [Arg0] = NDBS /* \_SB_.NDBS */
                        Acquire (BTMX, 0xFFFF)
                        NGBT |= Local7
                        Release (BTMX)
                        Acquire (ECMX, 0xFFFF)
                        If (ECRG)
                        {
                            BSEL = Arg0
                            Local0 = BFC /* \_SB_.PCI0.LPCB.EC0_.BFC_ */
                            DerefOf (NBTI [Arg0]) [0x01] = Local0
                            DerefOf (NBTI [Arg0]) [0x02] = Local0
                            DerefOf (NBTI [Arg0]) [0x04] = BDV /* \_SB_.PCI0.LPCB.EC0_.BDV_ */
                            DerefOf (NBTI [Arg0]) [0x05] = NLB1 /* \_SB_.PCI0.LPCB.EC0_.NLB1 */
                            DerefOf (NBTI [Arg0]) [0x06] = NLB2 /* \_SB_.PCI0.LPCB.EC0_.NLB2 */
                            Local0 = BSN /* \_SB_.PCI0.LPCB.EC0_.BSN_ */
                            Local1 = BDAT /* \_SB_.PCI0.LPCB.EC0_.BDAT */
                        }

                        Release (ECMX)
                        Local2 = GBSS (Local0, Local1)
                        DerefOf (NBTI [Arg0]) [0x0A] = Local2
                        Acquire (BTMX, 0xFFFF)
                        NGBF &= ~Local7
                        Release (BTMX)
                        Return (0x00)
                    }

                    Method (BTST, 2, Serialized)
                    {
                        Local7 = (0x01 << Arg0)
                        BTDR (0x01)
                        If ((BSTA (Local7) == 0x0F))
                        {
                            NBST [Arg0] = Package (0x04)
                                {
                                    0x00, 
                                    0xFFFFFFFF, 
                                    0xFFFFFFFF, 
                                    0xFFFFFFFF
                                }
                            Return (0xFF)
                        }

                        Acquire (BTMX, 0xFFFF)
                        If (Arg1)
                        {
                            NGBT = 0xFF
                        }

                        Local0 = NGBT /* \_SB_.PCI0.LPCB.EC0_.NGBT */
                        Release (BTMX)
                        If (((Local0 & Local7) == 0x00))
                        {
                            Return (0x00)
                        }

                        Acquire (ECMX, 0xFFFF)
                        If (ECRG)
                        {
                            BSEL = Arg0
                            Local0 = BST /* \_SB_.PCI0.LPCB.EC0_.BST_ */
                            Local3 = BPR /* \_SB_.PCI0.LPCB.EC0_.BPR_ */
                            DerefOf (NBST [Arg0]) [0x02] = BRC /* \_SB_.PCI0.LPCB.EC0_.BRC_ */
                            DerefOf (NBST [Arg0]) [0x03] = BPV /* \_SB_.PCI0.LPCB.EC0_.BPV_ */
                        }

                        Release (ECMX)
                        If ((GACS () == 0x01))
                        {
                            Local0 &= ~0x01
                        }
                        Else
                        {
                            Local0 &= ~0x02
                        }

                        If ((Local0 & 0x01))
                        {
                            Acquire (BTMX, 0xFFFF)
                            NDCB = Local7
                            Release (BTMX)
                        }

                        DerefOf (NBST [Arg0]) [0x00] = Local0
                        If ((Local0 & 0x01))
                        {
                            If (((Local3 < 0x0190) || (Local3 > 0x1964)))
                            {
                                Local5 = DerefOf (DerefOf (NBST [Arg0]) [0x01])
                                If (((Local5 < 0x0190) || (Local5 > 0x1964)))
                                {
                                    Local3 = (0x1AF4 / 0x02)
                                }
                                Else
                                {
                                    Local3 = Local5
                                }
                            }
                        }
                        ElseIf (((Local0 & 0x02) == 0x00))
                        {
                            Local3 = 0x00
                        }

                        DerefOf (NBST [Arg0]) [0x01] = Local3
                        Acquire (BTMX, 0xFFFF)
                        NGBT &= ~Local7
                        Release (BTMX)
                        Return (0x00)
                    }

                    Method (ITLB, 0, NotSerialized)
                    {
                        Divide ((NLB1 + 0x09), 0x0A, Local0, Local1)
                        Divide ((0x96 + 0x09), 0x0A, Local0, Local2)
                        If (ECRG)
                        {
                            LB1 = Local1
                            LB2 = Local2
                        }
                    }

                    Method (GBTI, 1, NotSerialized)
                    {
                        Debug = "Enter getbattinfo"
                        Acquire (ECMX, 0xFFFF)
                        If (ECRG)
                        {
                            If ((BATP & (0x01 << Arg0)))
                            {
                                BSEL = Arg0
                                Local0 = Package (0x03)
                                    {
                                        0x00, 
                                        0x6B, 
                                        Buffer (0x6B){}
                                    }
                                DerefOf (Local0 [0x02]) [0x00] = BDC /* \_SB_.PCI0.LPCB.EC0_.BDC_ */
                                DerefOf (Local0 [0x02]) [0x01] = (BDC >> 0x08
                                    )
                                DerefOf (Local0 [0x02]) [0x02] = BFC /* \_SB_.PCI0.LPCB.EC0_.BFC_ */
                                DerefOf (Local0 [0x02]) [0x03] = (BFC >> 0x08
                                    )
                                DerefOf (Local0 [0x02]) [0x04] = BRC /* \_SB_.PCI0.LPCB.EC0_.BRC_ */
                                DerefOf (Local0 [0x02]) [0x05] = (BRC >> 0x08
                                    )
                                DerefOf (Local0 [0x02]) [0x06] = BME /* \_SB_.PCI0.LPCB.EC0_.BME_ */
                                DerefOf (Local0 [0x02]) [0x07] = (BME >> 0x08
                                    )
                                DerefOf (Local0 [0x02]) [0x08] = BCC /* \_SB_.PCI0.LPCB.EC0_.BCC_ */
                                DerefOf (Local0 [0x02]) [0x09] = (BCC >> 0x08
                                    )
                                Local1 = CBT /* \_SB_.PCI0.LPCB.EC0_.CBT_ */
                                Local1 -= 0x0AAC
                                Divide (Local1, 0x0A, Local2, Local3)
                                DerefOf (Local0 [0x02]) [0x0A] = Local3
                                DerefOf (Local0 [0x02]) [0x0B] = (Local3 >> 0x08
                                    )
                                DerefOf (Local0 [0x02]) [0x0C] = BPV /* \_SB_.PCI0.LPCB.EC0_.BPV_ */
                                DerefOf (Local0 [0x02]) [0x0D] = (BPV >> 0x08
                                    )
                                Local1 = BPR /* \_SB_.PCI0.LPCB.EC0_.BPR_ */
                                If (Local1)
                                {
                                    If ((BSTS & 0x40))
                                    {
                                        Local1 = (~Local1 + 0x01)
                                        Local1 &= 0xFFFF
                                    }
                                }

                                DerefOf (Local0 [0x02]) [0x0E] = Local1
                                DerefOf (Local0 [0x02]) [0x0F] = (Local1 >> 0x08
                                    )
                                DerefOf (Local0 [0x02]) [0x10] = BDV /* \_SB_.PCI0.LPCB.EC0_.BDV_ */
                                DerefOf (Local0 [0x02]) [0x11] = (BDV >> 0x08
                                    )
                                DerefOf (Local0 [0x02]) [0x12] = BSTS /* \_SB_.PCI0.LPCB.EC0_.BSTS */
                                DerefOf (Local0 [0x02]) [0x13] = (BSTS >> 0x08
                                    )
                                DerefOf (Local0 [0x02]) [0x14] = BCV1 /* \_SB_.PCI0.LPCB.EC0_.BCV1 */
                                DerefOf (Local0 [0x02]) [0x15] = (BCV1 >> 0x08
                                    )
                                DerefOf (Local0 [0x02]) [0x16] = BCV2 /* \_SB_.PCI0.LPCB.EC0_.BCV2 */
                                DerefOf (Local0 [0x02]) [0x17] = (BCV2 >> 0x08
                                    )
                                DerefOf (Local0 [0x02]) [0x18] = BCV3 /* \_SB_.PCI0.LPCB.EC0_.BCV3 */
                                DerefOf (Local0 [0x02]) [0x19] = (BCV3 >> 0x08
                                    )
                                DerefOf (Local0 [0x02]) [0x1A] = BCV4 /* \_SB_.PCI0.LPCB.EC0_.BCV4 */
                                DerefOf (Local0 [0x02]) [0x1B] = (BCV4 >> 0x08
                                    )
                                CreateField (DerefOf (Local0 [0x02]), (0x1C * 0x08), (0x10 * 
                                    0x08), BTSN)
                                BTSN = GBSS (BSN, BDAT)
                                Local1 = GBMF ()
                                Local2 = SizeOf (Local1)
                                CreateField (DerefOf (Local0 [0x02]), (0x2C * 0x08), (Local2 * 
                                    0x08), BMAN)
                                BMAN = Local1
                                Local2 += 0x2C
                                CreateField (DerefOf (Local0 [0x02]), (Local2 * 0x08), (0x10 * 
                                    0x08), CLBL)
                                CLBL = GCTL (0x00)
                                Local2 += 0x11
                                CreateField (DerefOf (Local0 [0x02]), (Local2 * 0x08), (0x07 * 
                                    0x08), DNAM)
                                DNAM = GDNM (0x00)
                                Local2 += 0x07
                                CreateField (DerefOf (Local0 [0x02]), (Local2 * 0x08), (0x04 * 
                                    0x08), DCHE)
                                DCHE = GDCH (0x00)
                                Local2 += 0x04
                                CreateField (DerefOf (Local0 [0x02]), (Local2 * 0x08), (0x02 * 
                                    0x08), BMAC)
                                BMAC = 0x00
                                Local2 += 0x02
                                CreateField (DerefOf (Local0 [0x02]), (Local2 * 0x08), (0x02 * 
                                    0x08), BMAD)
                                BMAD = BDAT /* \_SB_.PCI0.LPCB.EC0_.BDAT */
                                Local2 += 0x02
                                CreateField (DerefOf (Local0 [0x02]), (Local2 * 0x08), (0x02 * 
                                    0x08), BCCU)
                                BCCU = BRCC /* \_SB_.PCI0.LPCB.EC0_.BRCC */
                                Local2 += 0x02
                                CreateField (DerefOf (Local0 [0x02]), (Local2 * 0x08), (0x02 * 
                                    0x08), BCVO)
                                BCVO = BRCV /* \_SB_.PCI0.LPCB.EC0_.BRCV */
                                Local2 += 0x02
                                CreateField (DerefOf (Local0 [0x02]), (Local2 * 0x08), (0x02 * 
                                    0x08), BAVC)
                                Local1 = BCR /* \_SB_.PCI0.LPCB.EC0_.BCR_ */
                                If (Local1)
                                {
                                    If ((BSTS & 0x40))
                                    {
                                        Local1 = (~Local1 + 0x01)
                                        Local1 &= 0xFFFF
                                    }
                                }

                                BAVC = Local1
                                Local2 += 0x02
                                CreateField (DerefOf (Local0 [0x02]), (Local2 * 0x08), (0x02 * 
                                    0x08), RTTE)
                                RTTE = BRTE /* \_SB_.PCI0.LPCB.EC0_.BRTE */
                                Local2 += 0x02
                                CreateField (DerefOf (Local0 [0x02]), (Local2 * 0x08), (0x02 * 
                                    0x08), ATTE)
                                RTTE = BATE /* \_SB_.PCI0.LPCB.EC0_.BATE */
                                Local2 += 0x02
                                CreateField (DerefOf (Local0 [0x02]), (Local2 * 0x08), (0x02 * 
                                    0x08), ATTF)
                                RTTE = BATF /* \_SB_.PCI0.LPCB.EC0_.BATF */
                                Local2 += 0x02
                                CreateField (DerefOf (Local0 [0x02]), (Local2 * 0x08), (0x01 * 
                                    0x08), NOBS)
                                If (((PRDT == 0x50) || (PRDT == 0x53)))
                                {
                                    NOBS = 0x01
                                }
                                Else
                                {
                                    NOBS = 0x02
                                }
                            }
                            Else
                            {
                                Local0 = Package (0x02)
                                    {
                                        0x34, 
                                        0x00
                                    }
                            }
                        }
                        Else
                        {
                            Local0 = Package (0x02)
                                {
                                    0x0D, 
                                    0x00
                                }
                        }

                        Release (ECMX)
                        Return (Local0)
                    }

                    Method (GBTC, 0, NotSerialized)
                    {
                        Debug = "Enter GetBatteryControl"
                        Acquire (ECMX, 0xFFFF)
                        If (ECRG)
                        {
                            Local0 = Package (0x03)
                                {
                                    0x00, 
                                    0x04, 
                                    Buffer (0x04){}
                                }
                            If ((BATP & 0x01))
                            {
                                BSEL = 0x00
                                DerefOf (Local0 [0x02]) [0x00] = 0x00
                                If ((((INAC == 0x00) && (INCH == 0x00)) && (IDIS == 0x00)))
                                {
                                    DerefOf (Local0 [0x02]) [0x00] = 0x00
                                }
                                ElseIf (((((INAC == 0x00) && (INCH == 0x02)) && (
                                    IDIS == 0x01)) && (MAXC == 0x00)))
                                {
                                    DerefOf (Local0 [0x02]) [0x00] = 0x01
                                }
                                ElseIf (((INAC == 0x01) && (IDIS == 0x02)))
                                {
                                    DerefOf (Local0 [0x02]) [0x00] = 0x02
                                }
                                ElseIf (((((INAC == 0x00) && (INCH == 0x02)) && (
                                    IDIS == 0x01)) && (MAXC == 0xFA)))
                                {
                                    DerefOf (Local0 [0x02]) [0x00] = 0x03
                                }
                                ElseIf (((INAC == 0x00) && (INCH == 0x03)))
                                {
                                    DerefOf (Local0 [0x02]) [0x00] = 0x04
                                }
                            }
                            Else
                            {
                                DerefOf (Local0 [0x02]) [0x00] = 0xFF
                            }

                            If ((BATP & 0x02))
                            {
                                BSEL = 0x01
                                DerefOf (Local0 [0x02]) [0x01] = 0x00
                                If ((((INAC == 0x00) && (INCH == 0x00)) && (IDIS == 0x00)))
                                {
                                    DerefOf (Local0 [0x02]) [0x01] = 0x00
                                }
                                ElseIf (((((INAC == 0x00) && (INCH == 0x01)) && (
                                    IDIS == 0x02)) && (MAXC == 0x00)))
                                {
                                    DerefOf (Local0 [0x02]) [0x01] = 0x01
                                }
                                ElseIf (((INAC == 0x01) && (IDIS == 0x01)))
                                {
                                    DerefOf (Local0 [0x02]) [0x01] = 0x02
                                }
                                ElseIf (((((INAC == 0x00) && (INCH == 0x01)) && (
                                    IDIS == 0x02)) && (MAXC == 0xFA)))
                                {
                                    DerefOf (Local0 [0x02]) [0x01] = 0x03
                                }
                                ElseIf (((INAC == 0x00) && (INCH == 0x03)))
                                {
                                    DerefOf (Local0 [0x02]) [0x01] = 0x04
                                }
                            }
                            Else
                            {
                                DerefOf (Local0 [0x02]) [0x01] = 0xFF
                            }
                        }
                        Else
                        {
                            Local0 = Package (0x02)
                                {
                                    0x35, 
                                    0x00
                                }
                        }

                        Release (ECMX)
                        Return (Local0)
                    }

                    Method (SBTC, 3, NotSerialized)
                    {
                        Debug = "Enter SetBatteryControl"
                        Acquire (ECMX, 0xFFFF)
                        If (ECRG)
                        {
                            Local0 = Arg2
                            Debug = Local0
                            Local4 = Package (0x02)
                                {
                                    0x06, 
                                    0x00
                                }
                            Local1 = 0x00
                            Local2 = 0x00
                            Local1 = DerefOf (Local0 [0x10])
                            If ((Local1 == 0x00))
                            {
                                Debug = "battery 0"
                                If ((BATP & 0x01))
                                {
                                    Local2 = DerefOf (Local0 [0x11])
                                    If ((Local2 == 0x00))
                                    {
                                        INCH = 0x00
                                        IDIS = 0x00
                                        INAC = 0x00
                                        MAXC = 0x00
                                        PSSB = 0x01
                                        Local4 = Package (0x02)
                                            {
                                                0x00, 
                                                0x00
                                            }
                                    }

                                    If ((Local2 == 0x01))
                                    {
                                        INAC = 0x00
                                        INCH = 0x02
                                        IDIS = 0x01
                                        MAXC = 0x00
                                        PSSB = 0x00
                                        Local4 = Package (0x02)
                                            {
                                                0x00, 
                                                0x00
                                            }
                                    }

                                    If ((Local2 == 0x02))
                                    {
                                        INAC = 0x01
                                        INCH = 0x01
                                        IDIS = 0x02
                                        PSSB = 0x00
                                        Local4 = Package (0x02)
                                            {
                                                0x00, 
                                                0x00
                                            }
                                    }

                                    If ((Local2 == 0x03))
                                    {
                                        INCH = 0x02
                                        IDIS = 0x01
                                        INAC = 0x00
                                        MAXC = 0xFA
                                        PSSB = 0x00
                                        Local4 = Package (0x02)
                                            {
                                                0x00, 
                                                0x00
                                            }
                                    }

                                    If ((Local2 == 0x04))
                                    {
                                        MAXC = 0xFA
                                        Local4 = Package (0x02)
                                            {
                                                0x00, 
                                                0x00
                                            }
                                    }

                                    If ((Local2 == 0x05))
                                    {
                                        INAC = 0x00
                                        INCH = 0x03
                                        Local4 = Package (0x02)
                                            {
                                                0x00, 
                                                0x00
                                            }
                                    }
                                }
                                Else
                                {
                                    Local4 = Package (0x02)
                                        {
                                            0x34, 
                                            0x00
                                        }
                                }
                            }

                            If ((Local1 == 0x01))
                            {
                                If ((BATP & 0x02))
                                {
                                    Debug = "battery 1"
                                    Local2 = DerefOf (Local0 [0x11])
                                    If ((Local2 == 0x00))
                                    {
                                        INCH = 0x00
                                        IDIS = 0x00
                                        INAC = 0x00
                                        MAXC = 0x00
                                        PSSB = 0x01
                                        Local4 = Package (0x02)
                                            {
                                                0x00, 
                                                0x00
                                            }
                                    }

                                    If ((Local2 == 0x01))
                                    {
                                        INAC = 0x00
                                        INCH = 0x01
                                        IDIS = 0x02
                                        MAXC = 0x00
                                        PSSB = 0x00
                                        Local4 = Package (0x02)
                                            {
                                                0x00, 
                                                0x00
                                            }
                                    }

                                    If ((Local2 == 0x02))
                                    {
                                        INAC = 0x01
                                        INCH = 0x02
                                        IDIS = 0x01
                                        PSSB = 0x00
                                        Local4 = Package (0x02)
                                            {
                                                0x00, 
                                                0x00
                                            }
                                    }

                                    If ((Local2 == 0x03))
                                    {
                                        INCH = 0x01
                                        IDIS = 0x02
                                        INAC = 0x00
                                        MAXC = 0xFA
                                        PSSB = 0x00
                                        Local4 = Package (0x02)
                                            {
                                                0x00, 
                                                0x00
                                            }
                                    }

                                    If ((Local2 == 0x04))
                                    {
                                        INCH = 0x00
                                        IDIS = 0x00
                                        INAC = 0x00
                                        Local4 = Package (0x02)
                                            {
                                                0x00, 
                                                0x00
                                            }
                                    }

                                    If ((Local2 == 0x05))
                                    {
                                        INAC = 0x00
                                        INCH = 0x03
                                        Local4 = Package (0x02)
                                            {
                                                0x00, 
                                                0x00
                                            }
                                    }
                                }
                                Else
                                {
                                    Local4 = Package (0x02)
                                        {
                                            0x34, 
                                            0x00
                                        }
                                }
                            }
                        }

                        Release (ECMX)
                        Return (Local4)
                    }

                    Mutex (OTMT, 0x00)
                    Name (OTLL, 0x01)
                    Name (OTSI, 0x01)
                    Name (OTRT, 0x00)
                    Name (OTEN, 0x00)
                    Name (LRPC, 0x00)
                    Name (MXCP, 0x00)
                    Name (DCCP, 0x00)
                    Name (GBPS, 0x00)
                    Name (COVS, 0x00)
                    Name (DOKS, 0x00)
                    Method (_Q03, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                    {
                        Acquire (BTMX, 0xFFFF)
                        Local0 = NDCB /* \_SB_.PCI0.LPCB.EC0_.NDCB */
                        Release (BTMX)
                        PWUP (0x04, Local0)
                        SBTN (Local0, 0x80)
                    }

                    Method (_Q04, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                    {
                        Acquire (OTMT, 0xFFFF)
                        OTLL = GTST ()
                        OTSI = 0x01
                        Release (OTMT)
                        If ((RPPC (0x00) != 0x00))
                        {
                            PPNT ()
                        }
                    }

                    Method (_Q05, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                    {
                        Local0 = THEM /* \_SB_.PCI0.LPCB.EC0_.THEM */
                        \_TZ.ECTE (Local0)
                    }

                    Method (_Q06, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                    {
                        PWUP (0x05, (0x02 | 0x01))
                        If (BTDR (0x02))
                        {
                            Notify (\_SB.AC, 0x80) // Status Change
                        }

                        \_GPE.VBRE (0x00)
                    }

                    Method (_Q08, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                    {
                        PWUP (0x06, 0x01)
                        Local0 = GBAP ()
                        If ((Local0 != 0x02))
                        {
                            PWUP (0x04, 0x02)
                            If (BTDR (0x02))
                            {
                                Notify (\_SB.BAT1, 0x80) // Status Change
                            }
                        }

                        If (BTDR (0x02))
                        {
                            Notify (\_SB.BAT0, 0x81) // Information Change
                        }
                    }

                    Method (_Q0A, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                    {
                        Local4 = \_GPE.VLET ()
                        Notify (\_SB.LID, 0x80) // Status Change
                        \_SB.PCI0.ACEL.AJAL ()
                        \_SB.WMID.WGWE (0x08, (\_SB.LID._LID () + 0x01))
                    }

                    Method (_Q09, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                    {
                        PWUP (0x04, 0x01)
                        If (BTDR (0x02))
                        {
                            Notify (\_SB.BAT0, 0x80) // Status Change
                        }
                    }

                    Method (_Q0B, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                    {
                        \_SB.WMID.WGWE (0x00020000, 0x00)
                    }

                    Method (_Q0C, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                    {
                        Local0 = THEM /* \_SB_.PCI0.LPCB.EC0_.THEM */
                        \_TZ.ECTE (Local0)
                    }

                    Method (_Q18, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                    {
                        PWUP (0x06, 0x02)
                        Local0 = GBAP ()
                        If ((Local0 != 0x01))
                        {
                            PWUP (0x04, 0x01)
                            If (BTDR (0x02))
                            {
                                Notify (\_SB.BAT0, 0x80) // Status Change
                            }
                        }

                        If (BTDR (0x02))
                        {
                            Notify (\_SB.BAT1, 0x81) // Information Change
                        }
                    }

                    Method (_Q19, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                    {
                        PWUP (0x04, 0x02)
                        If (BTDR (0x02))
                        {
                            Notify (\_SB.BAT1, 0x80) // Status Change
                        }
                    }

                    Method (_Q20, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                    {
                        Acquire (ECMX, 0xFFFF)
                        If (ECRG)
                        {
                            Local0 = (PSSA & 0x01)
                            Local1 = (PSSB & 0x01)
                            Local2 = (PSSA & 0x02)
                            Local3 = (PSSB & 0x02)
                            Local4 = (PSSA & 0x10)
                            Local5 = (PSSB & 0x10)
                            If (((Local0 != Local1) && (Local0 == 0x00)))
                            {
                                \_SB.WMID.WGWE (0x0F, 0x00)
                                PSSA = PSSB /* \_SB_.PCI0.LPCB.EC0_.PSSB */
                            }
                            ElseIf (((Local4 != Local5) && (Local4 == 0x00)))
                            {
                                \_SB.WMID.WGWE (0x0F, 0x03)
                                PSSA = PSSB /* \_SB_.PCI0.LPCB.EC0_.PSSB */
                            }
                            ElseIf (((Local0 != Local1) && (Local0 == 0x01)))
                            {
                                \_SB.WMID.WGWE (0x0F, 0x01)
                                PSSA = PSSB /* \_SB_.PCI0.LPCB.EC0_.PSSB */
                            }
                            ElseIf (((Local2 != Local3) && (Local2 == 0x02)))
                            {
                                If (!BCIE)
                                {
                                    \_SB.WMID.WGWE (0x10, 0x00)
                                }

                                BCIE = 0x00
                                PSSA = PSSB /* \_SB_.PCI0.LPCB.EC0_.PSSB */
                            }
                            ElseIf (((Local2 != Local3) && (Local2 == 0x00)))
                            {
                                If (!BCIE)
                                {
                                    \_SB.WMID.WGWE (0x10, 0x01)
                                }

                                BCIE = 0x00
                                PSSA = PSSB /* \_SB_.PCI0.LPCB.EC0_.PSSB */
                            }
                        }

                        Release (ECMX)
                    }

                    Method (_Q21, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                    {
                        If (CondRefOf (\_SB.ISCT))
                        {
                            Notify (\_SB.ISCT, 0x80) // Status Change
                            Stall (0x0A)
                            If ((SCCB & 0x01))
                            {
                                \_SB.ISCT.SAOS (0x00)
                            }
                        }
                    }

                    Method (_Q22, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                    {
                        \_SB.PCI0.LPCB.EC0.TBOS = 0x01
                        \_SB.PCI0.LPCB.EC0.SMCP (\_SB.PCI0.LPCB.EC0.ADP)
                    }

                    Method (_Q23, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                    {
                        \_SB.PCI0.LPCB.EC0.TBOS = 0x00
                        \_SB.PCI0.LPCB.EC0.SMCP (\_SB.PCI0.LPCB.EC0.ADP)
                    }

                    Method (_Q50, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                    {
                        If (ECRG)
                        {
                            If (CondRefOf (\_SB.PCI0.CTCN))
                            {
                                \_SB.PCI0.CTCL = 0x01
                                \_SB.PCI0.CTCN ()
                            }
                        }
                    }

                    Method (_Q51, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                    {
                        If (ECRG)
                        {
                            If (CondRefOf (\_SB.PCI0.CTCD))
                            {
                                \_SB.PCI0.CTCD ()
                            }
                        }
                    }

                    Method (_Q30, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                    {
                        Acquire (ECMX, 0xFFFF)
                        If (ECRG)
                        {
                            GBPS = \_SB.PCI0.LPCB.EC0.VBPS
                            If ((\WCOS () >= 0x09)){}
                            ElseIf ((\WCOS () == 0x08)){}
                            Else
                            {
                            }
                        }

                        Release (ECMX)
                    }

                    Method (_Q31, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                    {
                        Acquire (ECMX, 0xFFFF)
                        If (ECRG)
                        {
                            GBPS = \_SB.PCI0.LPCB.EC0.VBPS
                            If ((\WCOS () >= 0x09)){}
                            ElseIf ((\WCOS () == 0x08)){}
                            Else
                            {
                            }
                        }

                        Release (ECMX)
                    }

                    Method (SBTN, 2, Serialized)
                    {
                        If ((Arg0 & 0x01))
                        {
                            Notify (\_SB.BAT0, Arg1)
                        }

                        If ((Arg0 & 0x02))
                        {
                            Notify (\_SB.BAT1, Arg1)
                        }
                    }

                    Method (PRIT, 0, NotSerialized)
                    {
                        Local0 = GACS ()
                        PWRS = Local0
                        \_SB.PCI0.LPCB.EC0.SMCP (Local0)
                        If ((\_SB.PCI0.HDEF.ASTI == 0x00))
                        {
                            SAST (\_SB.PCI0.HDEF.ASTA)
                        }

                        Local0 = \_SB.HST1.GHID ()
                        If ((GBAP () & 0x01))
                        {
                            BT0P = 0x1F
                        }

                        \_SB.PCI0.ACEL.ITAL ()
                        Notify (\_SB.PCI0.ACEL, 0x00) // Bus Check
                        \_TZ.ECTI (0x00)
                    }

                    Method (GTST, 0, Serialized)
                    {
                        Local0 = 0x02
                        Acquire (ECMX, 0xFFFF)
                        If (ECRG)
                        {
                            Local0 = OCPS /* \_SB_.PCI0.LPCB.EC0_.OCPS */
                        }

                        Release (ECMX)
                        Return (Local0)
                    }

                    Method (ETSI, 3, Serialized)
                    {
                        If ((Arg2 != 0x00))
                        {
                            OTRT = 0x00
                        }

                        If (((Arg1 != OTRT) || (Arg0 != OTEN)))
                        {
                            Acquire (ECMX, 0xFFFF)
                            If (ECRG)
                            {
                                If ((Arg1 != OTRT))
                                {
                                    OCPR = Arg1
                                    OTRT = Arg1
                                }

                                OCPE = Arg0
                                OTEN = Arg0
                            }

                            Release (ECMX)
                        }
                    }

                    Method (SMCP, 1, Serialized)
                    {
                        Local0 = 0x00
                        Local1 = DCCP /* \_SB_.PCI0.LPCB.EC0_.DCCP */
                        If ((Local1 == 0x00))
                        {
                            Local1 = 0x01
                            If (CondRefOf (\_PR.CPPC, Local7))
                            {
                                If ((\_PR.CPPC > 0x00))
                                {
                                    Local1 = \_PR.CPPC
                                }
                            }
                        }

                        Acquire (OTMT, 0xFFFF)
                        If ((Arg0 == 0x00))
                        {
                            If ((TBOD && \_SB.PCI0.LPCB.EC0.TBOS))
                            {
                                MXCP = Local0
                                Local2 = Local1
                            }
                            Else
                            {
                                MXCP = Local1
                                Local2 = Local0
                            }
                        }
                        Else
                        {
                            MXCP = Local0
                            Local2 = Local1
                        }

                        If ((LRPC == Local2))
                        {
                            LRPC = MXCP /* \_SB_.PCI0.LPCB.EC0_.MXCP */
                        }

                        Release (OTMT)
                        RPPC (0x01)
                        If ((DCCP == 0x00))
                        {
                            DCCP = Local1
                            If (CondRefOf (\_PR.CPU0._PPC, Local5))
                            {
                                If ((\_PR.CPPC != \_PR.CPU0._PPC))
                                {
                                    \_PR.CPPC = \_PR.CPU0._PPC
                                }
                            }
                        }

                        PNOT ()
                    }

                    Method (RPPC, 1, Serialized)
                    {
                        Local1 = 0x00
                        If (CondRefOf (\_PR.CPU0._PSS, Local2))
                        {
                            Local0 = \_PR.CPU0._PSS
                            Local1 = SizeOf (Local0)
                        }

                        Local3 = 0x00
                        If ((Local1 > 0x00))
                        {
                            Local1 -= 0x01
                        }
                        Else
                        {
                            Local3 = 0x03
                        }

                        Acquire (OTMT, 0xFFFF)
                        If (OTSI)
                        {
                            Local0 = OTLL /* \_SB_.PCI0.LPCB.EC0_.OTLL */
                            OTSI = 0x00
                            If ((Local0 == 0x00))
                            {
                                If ((LRPC < Local1))
                                {
                                    LRPC += 0x01
                                }
                            }
                            ElseIf ((Local0 == 0x02))
                            {
                                If ((LRPC > MXCP))
                                {
                                    LRPC -= 0x01
                                }
                            }
                            ElseIf ((Local0 == 0x03))
                            {
                                LRPC = Local1
                            }
                        }

                        If ((LRPC < Local1))
                        {
                            Local3 |= 0x01
                        }

                        If ((LRPC > MXCP))
                        {
                            Local3 |= 0x02
                        }

                        ETSI (Local3, 0x14, Arg0)
                        Local4 = 0x00
                        If (CondRefOf (\_PR.CPU0._PPC, Local5))
                        {
                            If ((LRPC != \_PR.CPU0._PPC))
                            {
                                \_PR.CPU0._PPC = LRPC /* \_SB_.PCI0.LPCB.EC0_.LRPC */
                                Local4 = 0x01
                            }
                        }

                        Release (OTMT)
                        Return (Local4)
                    }

                    Method (PPNT, 0, Serialized)
                    {
                        If ((TCNT > 0x01))
                        {
                            If ((PDC0 & 0x08))
                            {
                                Notify (\_PR.CPU0, 0x80) // Performance Capability Change
                            }

                            If ((PDC1 & 0x08))
                            {
                                Notify (\_PR.CPU1, 0x80) // Performance Capability Change
                            }

                            If ((PDC2 & 0x08))
                            {
                                Notify (\_PR.CPU2, 0x80) // Performance Capability Change
                            }

                            If ((PDC3 & 0x08))
                            {
                                Notify (\_PR.CPU3, 0x80) // Performance Capability Change
                            }

                            If ((PDC4 & 0x08))
                            {
                                Notify (\_PR.CPU4, 0x80) // Performance Capability Change
                            }

                            If ((PDC5 & 0x08))
                            {
                                Notify (\_PR.CPU5, 0x80) // Performance Capability Change
                            }

                            If ((PDC6 & 0x08))
                            {
                                Notify (\_PR.CPU6, 0x80) // Performance Capability Change
                            }

                            If ((PDC7 & 0x08))
                            {
                                Notify (\_PR.CPU7, 0x80) // Performance Capability Change
                            }
                        }
                        Else
                        {
                            Notify (\_PR.CPU0, 0x80) // Performance Capability Change
                        }
                    }
                }

                Device (DMAC)
                {
                    Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */)  // _HID: Hardware ID
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x01,               // Alignment
                            0x20,               // Length
                            )
                        IO (Decode16,
                            0x0081,             // Range Minimum
                            0x0081,             // Range Maximum
                            0x01,               // Alignment
                            0x11,               // Length
                            )
                        IO (Decode16,
                            0x0093,             // Range Minimum
                            0x0093,             // Range Maximum
                            0x01,               // Alignment
                            0x0D,               // Length
                            )
                        IO (Decode16,
                            0x00C0,             // Range Minimum
                            0x00C0,             // Range Maximum
                            0x01,               // Alignment
                            0x20,               // Length
                            )
                        DMA (Compatibility, NotBusMaster, Transfer8_16, )
                            {4}
                    })
                }

                Device (FWHD)
                {
                    Name (_HID, EisaId ("INT0800") /* Intel 82802 Firmware Hub Device */)  // _HID: Hardware ID
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        Memory32Fixed (ReadOnly,
                            0xFF000000,         // Address Base
                            0x01000000,         // Address Length
                            )
                    })
                }

                Device (HPET)
                {
                    Name (_HID, EisaId ("PNP0103") /* HPET System Timer */)  // _HID: Hardware ID
                    Name (_UID, 0x00)  // _UID: Unique ID
                    Name (BUF0, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadWrite,
                            0xFED00000,         // Address Base
                            0x00000400,         // Address Length
                            _Y1F)
                    })
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((OSYS >= 0x07D1))
                        {
                            If (HPAE)
                            {
                                Return (0x0F)
                            }
                        }
                        ElseIf (HPAE)
                        {
                            Return (0x0B)
                        }

                        Return (0x00)
                    }

                    Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                    {
                        If (HPAE)
                        {
                            CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y1F._BAS, HPT0)  // _BAS: Base Address
                            If ((HPAS == 0x01))
                            {
                                HPT0 = 0xFED01000
                            }

                            If ((HPAS == 0x02))
                            {
                                HPT0 = 0xFED02000
                            }

                            If ((HPAS == 0x03))
                            {
                                HPT0 = 0xFED03000
                            }
                        }

                        Return (BUF0) /* \_SB_.PCI0.LPCB.HPET.BUF0 */
                    }
                }

                Device (IPIC)
                {
                    Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */)  // _HID: Hardware ID
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IO (Decode16,
                            0x0020,             // Range Minimum
                            0x0020,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0024,             // Range Minimum
                            0x0024,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0028,             // Range Minimum
                            0x0028,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x002C,             // Range Minimum
                            0x002C,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0030,             // Range Minimum
                            0x0030,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0034,             // Range Minimum
                            0x0034,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0038,             // Range Minimum
                            0x0038,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x003C,             // Range Minimum
                            0x003C,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00A0,             // Range Minimum
                            0x00A0,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00A4,             // Range Minimum
                            0x00A4,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00A8,             // Range Minimum
                            0x00A8,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00AC,             // Range Minimum
                            0x00AC,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00B0,             // Range Minimum
                            0x00B0,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00B4,             // Range Minimum
                            0x00B4,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00B8,             // Range Minimum
                            0x00B8,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00BC,             // Range Minimum
                            0x00BC,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x04D0,             // Range Minimum
                            0x04D0,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IRQNoFlags ()
                            {2}
                    })
                }

                Device (LDRC)
                {
                    Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
                    Name (_UID, 0x02)  // _UID: Unique ID
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IO (Decode16,
                            0x002E,             // Range Minimum
                            0x002E,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x004E,             // Range Minimum
                            0x004E,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0061,             // Range Minimum
                            0x0061,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0063,             // Range Minimum
                            0x0063,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0065,             // Range Minimum
                            0x0065,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0067,             // Range Minimum
                            0x0067,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0080,             // Range Minimum
                            0x0080,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0092,             // Range Minimum
                            0x0092,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x00B2,             // Range Minimum
                            0x00B2,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0200,             // Range Minimum
                            0x0200,             // Range Maximum
                            0x01,               // Alignment
                            0x10,               // Length
                            )
                        IO (Decode16,
                            0x0220,             // Range Minimum
                            0x0220,             // Range Maximum
                            0x01,               // Alignment
                            0x60,               // Length
                            )
                        IO (Decode16,
                            0xFFFF,             // Range Minimum
                            0xFFFF,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0xFFFF,             // Range Minimum
                            0xFFFF,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0xFFFF,             // Range Minimum
                            0xFFFF,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x1800,             // Range Minimum
                            0x1800,             // Range Maximum
                            0x01,               // Alignment
                            0xFF,               // Length
                            )
                        IO (Decode16,
                            0xEF80,             // Range Minimum
                            0xEF80,             // Range Maximum
                            0x01,               // Alignment
                            0x20,               // Length
                            )
                    })
                }

                Device (LDR2)
                {
                    Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
                    Name (_UID, 0x06)  // _UID: Unique ID
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IO (Decode16,
                            0x0800,             // Range Minimum
                            0x0800,             // Range Maximum
                            0x01,               // Alignment
                            0x80,               // Length
                            )
                    })
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((CDID & 0xF000) == 0x8000))
                        {
                            Return (0x0F)
                        }
                        Else
                        {
                            Return (0x00)
                        }
                    }
                }

                Device (RTC)
                {
                    Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x01,               // Alignment
                            0x08,               // Length
                            )
                        IRQNoFlags ()
                            {8}
                    })
                }

                Device (TIMR)
                {
                    Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */)  // _HID: Hardware ID
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IO (Decode16,
                            0x0040,             // Range Minimum
                            0x0040,             // Range Maximum
                            0x01,               // Alignment
                            0x04,               // Length
                            )
                        IO (Decode16,
                            0x0050,             // Range Minimum
                            0x0050,             // Range Maximum
                            0x10,               // Alignment
                            0x04,               // Length
                            )
                        IRQNoFlags ()
                            {0}
                    })
                }

                Device (SIO)
                {
                    Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */)  // _HID: Hardware ID
                    OperationRegion (SOCG, SystemIO, 0x4E, 0x02)
                    Field (SOCG, ByteAcc, NoLock, Preserve)
                    {
                        SIOI,   8, 
                        SIOD,   8
                    }

                    IndexField (SIOI, SIOD, ByteAcc, NoLock, Preserve)
                    {
                        Offset (0x01), 
                            ,   2, 
                        PPPW,   1, 
                        PPM,    1, 
                        Offset (0x02), 
                            ,   3, 
                        S1PW,   1, 
                            ,   3, 
                        S2PW,   1, 
                        Offset (0x04), 
                        PPXM,   2, 
                        Offset (0x0D), 
                        CR0D,   8, 
                        Offset (0x23), 
                        PPBS,   8, 
                        S1BS,   8, 
                        S2BS,   8, 
                        PPDM,   4, 
                        Offset (0x27), 
                        PPIQ,   4, 
                        Offset (0x28), 
                        S2IQ,   4, 
                        S1IQ,   4, 
                        Offset (0x2B), 
                        FRBS,   8, 
                        FRDM,   4
                    }

                    OperationRegion (SORT, SystemIO, 0x0210, 0x10)
                    Field (SORT, ByteAcc, NoLock, Preserve)
                    {
                        Offset (0x0C), 
                        GP1,    8, 
                        GP2,    5, 
                        Offset (0x0E), 
                        GP3,    8, 
                        GP4,    8
                    }

                    Mutex (SIOM, 0x00)
                    Name (MSPS, 0x00)
                    Name (MSPV, 0x00)
                    Method (_INI, 0, NotSerialized)  // _INI: Initialize
                    {
                        ECM ()
                        If ((CR0D != 0x7A))
                        {
                            SDFG = 0x00
                        }

                        DCM ()
                    }

                    Method (ECM, 0, NotSerialized)
                    {
                        Acquire (SIOM, 0xFFFF)
                        SIOI = 0x55
                    }

                    Method (DCM, 0, NotSerialized)
                    {
                        SIOI = 0xAA
                        Release (SIOM)
                    }

                    Method (GETS, 1, NotSerialized)
                    {
                        ECM ()
                        Local0 = 0x00
                        If ((Arg0 == 0x01))
                        {
                            Local0 = PPBS /* \_SB_.PCI0.LPCB.SIO_.PPBS */
                        }
                        ElseIf ((Arg0 == 0x02))
                        {
                            Local0 = S1BS /* \_SB_.PCI0.LPCB.SIO_.S1BS */
                        }
                        ElseIf ((Arg0 == 0x03))
                        {
                            Local0 = S2BS /* \_SB_.PCI0.LPCB.SIO_.S2BS */
                        }

                        Local1 = 0x00
                        If ((Local0 & 0xC0))
                        {
                            Local1 = (Local0 << 0x02)
                        }

                        DCM ()
                        Return (Local1)
                    }

                    Method (GETR, 1, NotSerialized)
                    {
                        Name (GRES, Package (0x04)
                        {
                            0x00, 
                            0x00, 
                            0x00, 
                            0x00
                        })
                        ECM ()
                        Local0 = 0x00
                        Local1 = 0x00
                        Local2 = 0x00
                        Local3 = 0x00
                        If ((Arg0 == 0x01))
                        {
                            Local0 = PPBS /* \_SB_.PCI0.LPCB.SIO_.PPBS */
                            Local2 = PPIQ /* \_SB_.PCI0.LPCB.SIO_.PPIQ */
                            Local3 = PPDM /* \_SB_.PCI0.LPCB.SIO_.PPDM */
                        }
                        ElseIf ((Arg0 == 0x02))
                        {
                            Local0 = S1BS /* \_SB_.PCI0.LPCB.SIO_.S1BS */
                            Local2 = S1IQ /* \_SB_.PCI0.LPCB.SIO_.S1IQ */
                        }
                        ElseIf ((Arg0 == 0x03))
                        {
                            Local0 = S2BS /* \_SB_.PCI0.LPCB.SIO_.S2BS */
                            Local1 = FRBS /* \_SB_.PCI0.LPCB.SIO_.FRBS */
                            Local2 = S2IQ /* \_SB_.PCI0.LPCB.SIO_.S2IQ */
                            Local3 = FRDM /* \_SB_.PCI0.LPCB.SIO_.FRDM */
                        }

                        GRES [0x00] = (Local0 << 0x02)
                        GRES [0x01] = (Local1 << 0x03)
                        Local4 = 0x00
                        If ((Local2 > 0x00))
                        {
                            Local4 = (0x01 << Local2)
                        }

                        GRES [0x02] = Local4
                        Local4 = 0x00
                        If (((Local3 > 0x00) && (Local3 < 0x04)))
                        {
                            Local4 = (0x01 << Local3)
                        }

                        GRES [0x03] = Local4
                        DCM ()
                        Return (GRES) /* \_SB_.PCI0.LPCB.SIO_.GETR.GRES */
                    }

                    Method (SETR, 5, NotSerialized)
                    {
                        ECM ()
                        Local0 = (Arg1 >> 0x02)
                        FindSetRightBit (Arg3, Local1)
                        If (((Local1 > 0x01) && (Local1 < 0x11)))
                        {
                            Local1--
                        }
                        Else
                        {
                            Local1 = 0x00
                        }

                        FindSetRightBit (Arg4, Local2)
                        If (((Local2 > 0x01) && (Local2 < 0x05)))
                        {
                            Local2--
                        }
                        Else
                        {
                            Local2 = 0x0F
                        }

                        If ((Arg0 == 0x01))
                        {
                            PPBS = Local0
                            PPIQ = Local1
                            PPDM = Local2
                        }
                        ElseIf ((Arg0 == 0x02))
                        {
                            S1BS = (Local0 & 0xFE)
                            S1IQ = Local1
                        }
                        ElseIf ((Arg0 == 0x03))
                        {
                            S2BS = (Local0 & 0xFE)
                            FRBS = (Arg2 >> 0x03)
                            S2IQ = Local1
                            FRDM = Local2
                        }

                        DCM ()
                    }

                    Method (GLPM, 0, NotSerialized)
                    {
                        ECM ()
                        Local0 = PPM /* \_SB_.PCI0.LPCB.SIO_.PPM_ */
                        Local1 = PPXM /* \_SB_.PCI0.LPCB.SIO_.PPXM */
                        DCM ()
                        If (Local0)
                        {
                            Local2 = 0x00
                        }
                        Else
                        {
                            Local2 = 0x03
                            If ((Local1 == 0x00))
                            {
                                Local2 = 0x01
                            }

                            If ((Local1 == 0x01))
                            {
                                Local2 = 0x02
                            }
                        }

                        Return (Local2)
                    }

                    Method (DPWS, 1, Serialized)
                    {
                        ECM ()
                        If ((Arg0 == 0x01))
                        {
                            Local0 = PPPW /* \_SB_.PCI0.LPCB.SIO_.PPPW */
                        }
                        ElseIf ((Arg0 == 0x02))
                        {
                            Local0 = S1PW /* \_SB_.PCI0.LPCB.SIO_.S1PW */
                        }
                        ElseIf ((Arg0 == 0x03))
                        {
                            Local0 = S2PW /* \_SB_.PCI0.LPCB.SIO_.S2PW */
                        }

                        DCM ()
                        Return (Local0)
                    }

                    Method (DPW, 2, Serialized)
                    {
                        ECM ()
                        If ((Arg0 == 0x01))
                        {
                            PPPW = Arg1
                        }
                        ElseIf ((Arg0 == 0x02))
                        {
                            S1PW = Arg1
                        }
                        ElseIf ((Arg0 == 0x03))
                        {
                            S2PW = Arg1
                        }

                        DCM ()
                    }

                    Method (GDPA, 0, Serialized)
                    {
                        Local0 = GETS (0x02)
                        Return (Local0)
                    }

                    Alias (GDPA, \_SB.GDPA)
                    Method (SODS, 2, Serialized)
                    {
                        Local1 = (~SDFG & Arg1)
                        If ((LEGF || Local1))
                        {
                            Local0 = 0x00
                        }
                        Else
                        {
                            Local1 = GETS (Arg0)
                            Local0 = 0x0D
                            If (Local1)
                            {
                                Local0 = 0x0F
                            }
                        }

                        Return (Local0)
                    }

                    Method (DSOD, 1, Serialized)
                    {
                        If (GETS (Arg0))
                        {
                            Local0 = GETR (Arg0)
                            Local1 = DerefOf (Local0 [0x01])
                            Local2 = DerefOf (Local0 [0x02])
                            Local3 = DerefOf (Local0 [0x03])
                            Local4 = DerefOf (Local0 [0x00])
                            Local3 |= (Local4 << 0x08)
                            \_SB.PCI0.LPCB.CFG (Arg0, 0x00, Local1, Local2, Local3)
                            SETR (Arg0, 0x00, 0x00, 0x00, 0x00)
                        }
                    }

                    Device (HCOM)
                    {
                        Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
                        Name (_UID, 0x04)  // _UID: Unique ID
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (CMRS, ResourceTemplate ()
                            {
                                IO (Decode16,
                                    0x03F8,             // Range Minimum
                                    0x03F8,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    _Y20)
                            })
                            CreateWordField (CMRS, \_SB.PCI0.LPCB.SIO.HCOM._CRS._Y20._MIN, MIN1)  // _MIN: Minimum Base Address
                            CreateWordField (CMRS, \_SB.PCI0.LPCB.SIO.HCOM._CRS._Y20._MAX, MAX1)  // _MAX: Maximum Base Address
                            Local1 = GETR (0x02)
                            MIN1 = DerefOf (Local1 [0x00])
                            MAX1 = MIN1 /* \_SB_.PCI0.LPCB.SIO_.HCOM._CRS.MIN1 */
                            Return (CMRS) /* \_SB_.PCI0.LPCB.SIO_.HCOM._CRS.CMRS */
                        }

                        Method (_STA, 0, NotSerialized)  // _STA: Status
                        {
                            Local0 = 0x00
                            If (LEGF)
                            {
                                If (GETS (0x02))
                                {
                                    Local0 = 0x0F
                                }
                            }

                            Return (Local0)
                        }
                    }

                    Device (COM1)
                    {
                        Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */)  // _HID: Hardware ID
                        Name (_CID, EisaId ("PNP0500") /* Standard PC COM Serial Port */)  // _CID: Compatible ID
                        Name (_DDN, "COM1")  // _DDN: DOS Device Name
                        Name (RCOD, 0x00)
                        Name (POSS, ResourceTemplate ()
                        {
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x03F8,             // Range Minimum
                                    0x03F8,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {4}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x02F8,             // Range Minimum
                                    0x02F8,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {3}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x03E8,             // Range Minimum
                                    0x03E8,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {4}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x02E8,             // Range Minimum
                                    0x02E8,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {3}
                            }
                            EndDependentFn ()
                        })
                        Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                        {
                            Return (POSS) /* \_SB_.PCI0.LPCB.SIO_.COM1.POSS */
                        }

                        Method (_STA, 0, NotSerialized)  // _STA: Status
                        {
                            Local0 = 0x00
                            If ((\_SB.DCKD () || ICPT))
                            {
                                If (!RCOD)
                                {
                                    Local0 = SODS (0x02, 0x02)
                                }
                                Else
                                {
                                    Local0 = 0x0D
                                }
                            }

                            Return (Local0)
                        }

                        Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                        {
                            DSOD (0x02)
                            Return (0x00)
                        }

                        Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, 0x02, MIN1)
                            CreateWordField (Arg0, 0x09, IRQ0)
                            If (SODS (0x02, 0x02))
                            {
                                _DIS ()
                                \_SB.PCI0.LPCB.CFG (0x02, MIN1, 0x00, IRQ0, 0x00)
                                SETR (0x02, MIN1, 0x00, IRQ0, 0x00)
                            }

                            RCOD = 0x00
                        }

                        Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                        {
                            Name (CRES, ResourceTemplate ()
                            {
                                IO (Decode16,
                                    0x03F8,             // Range Minimum
                                    0x03F8,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    _Y21)
                                IRQNoFlags (_Y22)
                                    {4}
                            })
                            CreateWordField (CRES, \_SB.PCI0.LPCB.SIO.COM1._CRS._Y21._MIN, MIN1)  // _MIN: Minimum Base Address
                            CreateWordField (CRES, \_SB.PCI0.LPCB.SIO.COM1._CRS._Y21._MAX, MAX1)  // _MAX: Maximum Base Address
                            CreateWordField (CRES, \_SB.PCI0.LPCB.SIO.COM1._CRS._Y22._INT, IRQ0)  // _INT: Interrupts
                            If (RCOD)
                            {
                                Local0 = 0x00
                            }
                            Else
                            {
                                Local0 = SODS (0x02, 0x02)
                            }

                            If ((Local0 == 0x00))
                            {
                                MIN1 = 0x00
                                MAX1 = 0x00
                                IRQ0 = 0x00
                                Return (CRES) /* \_SB_.PCI0.LPCB.SIO_.COM1._CRS.CRES */
                            }

                            Local1 = GETR (0x02)
                            MIN1 = DerefOf (Local1 [0x00])
                            MAX1 = MIN1 /* \_SB_.PCI0.LPCB.SIO_.COM1._CRS.MIN1 */
                            IRQ0 = DerefOf (Local1 [0x02])
                            Return (CRES) /* \_SB_.PCI0.LPCB.SIO_.COM1._CRS.CRES */
                        }

                        PowerResource (COMP, 0x00, 0x0000)
                        {
                            Method (_STA, 0, NotSerialized)  // _STA: Status
                            {
                                Return (DPWS (0x02))
                            }

                            Method (_ON, 0, NotSerialized)  // _ON_: Power On
                            {
                                DPW (0x02, 0x01)
                            }

                            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                            {
                            }
                        }

                        Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
                        {
                            COMP
                        })
                    }

                    Device (LPT0)
                    {
                        Method (_HID, 0, Serialized)  // _HID: Hardware ID
                        {
                            If (GTM ())
                            {
                                Local0 = 0x0104D041
                            }
                            Else
                            {
                                Local0 = 0x0004D041
                            }

                            Return (Local0)
                        }

                        Name (LPM, 0xFF)
                        Method (GTM, 0, Serialized)
                        {
                            If ((LPM == 0xFF))
                            {
                                Local0 = GLPM ()
                                LPM = 0x00
                                If ((Local0 > 0x01))
                                {
                                    LPM = 0x01
                                }
                            }

                            Return (LPM) /* \_SB_.PCI0.LPCB.SIO_.LPT0.LPM_ */
                        }

                        Name (RLPD, 0x00)
                        Name (POSS, ResourceTemplate ()
                        {
                            StartDependentFn (0x00, 0x00)
                            {
                                IO (Decode16,
                                    0x0378,             // Range Minimum
                                    0x0378,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    )
                                IO (Decode16,
                                    0x0778,             // Range Minimum
                                    0x0778,             // Range Maximum
                                    0x01,               // Alignment
                                    0x03,               // Length
                                    )
                                IRQNoFlags ()
                                    {5,7}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {1,3}
                            }
                            StartDependentFn (0x00, 0x00)
                            {
                                IO (Decode16,
                                    0x0278,             // Range Minimum
                                    0x0278,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    )
                                IO (Decode16,
                                    0x0678,             // Range Minimum
                                    0x0678,             // Range Maximum
                                    0x01,               // Alignment
                                    0x03,               // Length
                                    )
                                IRQNoFlags ()
                                    {5,7}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {1,3}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x03BC,             // Range Minimum
                                    0x03BC,             // Range Maximum
                                    0x01,               // Alignment
                                    0x04,               // Length
                                    )
                                IO (Decode16,
                                    0x07BC,             // Range Minimum
                                    0x07BC,             // Range Maximum
                                    0x01,               // Alignment
                                    0x03,               // Length
                                    )
                                IRQNoFlags ()
                                    {5,7}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {1,3}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x0378,             // Range Minimum
                                    0x0378,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    )
                                IO (Decode16,
                                    0x0778,             // Range Minimum
                                    0x0778,             // Range Maximum
                                    0x01,               // Alignment
                                    0x03,               // Length
                                    )
                                IRQNoFlags ()
                                    {5,7}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x0278,             // Range Minimum
                                    0x0278,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    )
                                IO (Decode16,
                                    0x0678,             // Range Minimum
                                    0x0678,             // Range Maximum
                                    0x01,               // Alignment
                                    0x03,               // Length
                                    )
                                IRQNoFlags ()
                                    {5,7}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x03BC,             // Range Minimum
                                    0x03BC,             // Range Maximum
                                    0x01,               // Alignment
                                    0x04,               // Length
                                    )
                                IO (Decode16,
                                    0x07BC,             // Range Minimum
                                    0x07BC,             // Range Maximum
                                    0x01,               // Alignment
                                    0x03,               // Length
                                    )
                                IRQNoFlags ()
                                    {5,7}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x0378,             // Range Minimum
                                    0x0378,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    )
                                IO (Decode16,
                                    0x0778,             // Range Minimum
                                    0x0778,             // Range Maximum
                                    0x01,               // Alignment
                                    0x03,               // Length
                                    )
                                IRQNoFlags ()
                                    {}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x0278,             // Range Minimum
                                    0x0278,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    )
                                IO (Decode16,
                                    0x0678,             // Range Minimum
                                    0x0678,             // Range Maximum
                                    0x01,               // Alignment
                                    0x03,               // Length
                                    )
                                IRQNoFlags ()
                                    {}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x03BC,             // Range Minimum
                                    0x03BC,             // Range Maximum
                                    0x01,               // Alignment
                                    0x04,               // Length
                                    )
                                IO (Decode16,
                                    0x07BC,             // Range Minimum
                                    0x07BC,             // Range Maximum
                                    0x01,               // Alignment
                                    0x03,               // Length
                                    )
                                IRQNoFlags ()
                                    {}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {}
                            }
                            EndDependentFn ()
                        })
                        Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                        {
                            Return (POSS) /* \_SB_.PCI0.LPCB.SIO_.LPT0.POSS */
                        }

                        Method (_STA, 0, NotSerialized)  // _STA: Status
                        {
                            If (RLPD)
                            {
                                Local0 = 0x0D
                            }
                            Else
                            {
                                Local0 = SODS (0x01, 0x04)
                            }

                            Return (Local0)
                        }

                        Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                        {
                            DSOD (0x01)
                            Return (0x00)
                        }

                        Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, 0x02, MIN1)
                            CreateWordField (Arg0, 0x0A, MIN2)
                            CreateWordField (Arg0, 0x11, IRQ0)
                            CreateWordField (Arg0, 0x14, DMA0)
                            If (SODS (0x01, 0x04))
                            {
                                _DIS ()
                                \_SB.PCI0.LPCB.CFG (0x01, MIN1, MIN2, IRQ0, DMA0)
                                SETR (0x01, MIN1, MIN2, IRQ0, DMA0)
                            }

                            RLPD = 0x00
                        }

                        Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                        {
                            Name (CRES, ResourceTemplate ()
                            {
                                IO (Decode16,
                                    0x0378,             // Range Minimum
                                    0x0378,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    _Y23)
                                IO (Decode16,
                                    0x0778,             // Range Minimum
                                    0x0778,             // Range Maximum
                                    0x01,               // Alignment
                                    0x03,               // Length
                                    _Y24)
                                IRQNoFlags (_Y25)
                                    {7}
                                DMA (Compatibility, NotBusMaster, Transfer8, _Y26)
                                    {3}
                            })
                            CreateWordField (CRES, \_SB.PCI0.LPCB.SIO.LPT0._CRS._Y23._MIN, MIN1)  // _MIN: Minimum Base Address
                            CreateWordField (CRES, \_SB.PCI0.LPCB.SIO.LPT0._CRS._Y23._MAX, MAX1)  // _MAX: Maximum Base Address
                            CreateByteField (CRES, \_SB.PCI0.LPCB.SIO.LPT0._CRS._Y23._LEN, LEN1)  // _LEN: Length
                            CreateWordField (CRES, \_SB.PCI0.LPCB.SIO.LPT0._CRS._Y24._MIN, MIN2)  // _MIN: Minimum Base Address
                            CreateWordField (CRES, \_SB.PCI0.LPCB.SIO.LPT0._CRS._Y24._MAX, MAX2)  // _MAX: Maximum Base Address
                            CreateByteField (CRES, \_SB.PCI0.LPCB.SIO.LPT0._CRS._Y24._LEN, LEN2)  // _LEN: Length
                            CreateWordField (CRES, \_SB.PCI0.LPCB.SIO.LPT0._CRS._Y25._INT, IRQ0)  // _INT: Interrupts
                            CreateWordField (CRES, \_SB.PCI0.LPCB.SIO.LPT0._CRS._Y26._DMA, DMA0)  // _DMA: Direct Memory Access
                            If (RLPD)
                            {
                                Local0 = 0x00
                            }
                            Else
                            {
                                Local0 = SODS (0x01, 0x04)
                            }

                            If ((Local0 == 0x00))
                            {
                                MIN1 = 0x00
                                MAX1 = 0x00
                                MIN2 = 0x00
                                MAX2 = 0x00
                                IRQ0 = 0x00
                                DMA0 = 0x00
                                Return (CRES) /* \_SB_.PCI0.LPCB.SIO_.LPT0._CRS.CRES */
                            }

                            Local1 = GETR (0x01)
                            MIN1 = DerefOf (Local1 [0x00])
                            MAX1 = MIN1 /* \_SB_.PCI0.LPCB.SIO_.LPT0._CRS.MIN1 */
                            If ((MIN1 == 0x0278))
                            {
                                LEN1 = 0x08
                                LEN2 = 0x03
                            }

                            If ((MIN1 == 0x03BC))
                            {
                                LEN1 = 0x04
                                LEN2 = 0x03
                            }

                            MIN2 = (MIN1 + 0x0400)
                            MAX2 = MIN2 /* \_SB_.PCI0.LPCB.SIO_.LPT0._CRS.MIN2 */
                            IRQ0 = DerefOf (Local1 [0x02])
                            DMA0 = DerefOf (Local1 [0x03])
                            Return (CRES) /* \_SB_.PCI0.LPCB.SIO_.LPT0._CRS.CRES */
                        }

                        PowerResource (LPP, 0x00, 0x0000)
                        {
                            Method (_STA, 0, NotSerialized)  // _STA: Status
                            {
                                Return (DPWS (0x01))
                            }

                            Method (_ON, 0, NotSerialized)  // _ON_: Power On
                            {
                                DPW (0x01, 0x01)
                            }

                            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                            {
                            }
                        }

                        Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
                        {
                            LPP
                        })
                    }
                }

                Device (PS2K)
                {
                    Name (_HID, EisaId ("HPQ8002"))  // _HID: Hardware ID
                    Name (_CID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */)  // _CID: Compatible ID
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IO (Decode16,
                            0x0060,             // Range Minimum
                            0x0060,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0064,             // Range Minimum
                            0x0064,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IRQ (Edge, ActiveHigh, Exclusive, )
                            {1}
                    })
                    Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
                    {
                        StartDependentFn (0x00, 0x00)
                        {
                            FixedIO (
                                0x0060,             // Address
                                0x01,               // Length
                                )
                            FixedIO (
                                0x0064,             // Address
                                0x01,               // Length
                                )
                            IRQNoFlags ()
                                {1}
                        }
                        EndDependentFn ()
                    })
                }

                Device (PS2M)
                {
                    Name (_CID, Package (0x03)  // _CID: Compatible ID
                    {
                        EisaId ("SYN0100"), 
                        EisaId ("SYN0002"), 
                        EisaId ("PNP0F13") /* PS/2 Mouse */
                    })
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IRQ (Edge, ActiveHigh, Exclusive, )
                            {12}
                    })
                    Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
                    {
                        StartDependentFn (0x00, 0x00)
                        {
                            IRQNoFlags ()
                                {12}
                        }
                        EndDependentFn ()
                    })
                }
            }

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

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

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

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

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

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

                    Return (0x00)
                }

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

                    I2CE = 0x00
                    HSTS = 0xBF
                    TXSA = (Arg0 | 0x01)
                    HCON = 0x44
                    If (COMP ())
                    {
                        HSTS |= 0xFF
                        Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */
                    }

                    Return (0xFFFF)
                }

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

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

                    Return (0x00)
                }

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

                    I2CE = 0x00
                    HSTS = 0xBF
                    TXSA = (Arg0 | 0x01)
                    HCOM = Arg1
                    HCON = 0x48
                    If (COMP ())
                    {
                        HSTS |= 0xFF
                        Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */
                    }

                    Return (0xFFFF)
                }

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

                    I2CE = 0x00
                    HSTS = 0xBF
                    TXSA = Arg0
                    HCOM = Arg1
                    DAT1 = (Arg2 & 0xFF)
                    DAT0 = ((Arg2 >> 0x08) & 0xFF)
                    HCON = 0x4C
                    If (COMP ())
                    {
                        HSTS |= 0xFF
                        Return (0x01)
                    }

                    Return (0x00)
                }

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

                    I2CE = 0x00
                    HSTS = 0xBF
                    TXSA = (Arg0 | 0x01)
                    HCOM = Arg1
                    HCON = 0x4C
                    If (COMP ())
                    {
                        HSTS |= 0xFF
                        Return (((DAT0 << 0x08) | DAT1))
                    }

                    Return (0xFFFFFFFF)
                }

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

                    I2CE = Arg3
                    HSTS = 0xBF
                    TXSA = Arg0
                    HCOM = Arg1
                    DAT0 = SizeOf (Arg2)
                    Local1 = 0x00
                    HBDR = DerefOf (Arg2 [0x00])
                    HCON = 0x54
                    While ((SizeOf (Arg2) > Local1))
                    {
                        Local0 = 0x0FA0
                        While ((!(HSTS & 0x80) && Local0))
                        {
                            Local0--
                            Stall (0x32)
                        }

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

                        HSTS = 0x80
                        Local1++
                        If ((SizeOf (Arg2) > Local1))
                        {
                            HBDR = DerefOf (Arg2 [Local1])
                        }
                    }

                    If (COMP ())
                    {
                        HSTS |= 0xFF
                        Return (0x01)
                    }

                    Return (0x00)
                }

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

                    I2CE = Arg2
                    HSTS = 0xBF
                    TXSA = (Arg0 | 0x01)
                    HCOM = Arg1
                    HCON = 0x54
                    Local0 = 0x0FA0
                    While ((!(HSTS & 0x80) && Local0))
                    {
                        Local0--
                        Stall (0x32)
                    }

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

                    TBUF [0x00] = DAT0 /* \_SB_.PCI0.SBUS.DAT0 */
                    HSTS = 0x80
                    Local1 = 0x01
                    While ((Local1 < DerefOf (TBUF [0x00])))
                    {
                        Local0 = 0x0FA0
                        While ((!(HSTS & 0x80) && Local0))
                        {
                            Local0--
                            Stall (0x32)
                        }

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

                        TBUF [Local1] = HBDR /* \_SB_.PCI0.SBUS.HBDR */
                        HSTS = 0x80
                        Local1++
                    }

                    If (COMP ())
                    {
                        HSTS |= 0xFF
                        Return (TBUF) /* \_SB_.PCI0.SBUS.SBLR.TBUF */
                    }

                    Return (0x00)
                }

                Method (STRT, 0, Serialized)
                {
                    Local0 = 0xC8
                    While (Local0)
                    {
                        If ((HSTS & 0x40))
                        {
                            Local0--
                            Sleep (0x01)
                            If ((Local0 == 0x00))
                            {
                                Return (0x01)
                            }
                        }
                        Else
                        {
                            Local0 = 0x00
                        }
                    }

                    Local0 = 0x0FA0
                    While (Local0)
                    {
                        If ((HSTS & 0x01))
                        {
                            Local0--
                            Stall (0x32)
                            If ((Local0 == 0x00))
                            {
                                KILL ()
                            }
                        }
                        Else
                        {
                            Return (0x00)
                        }
                    }

                    Return (0x01)
                }

                Method (COMP, 0, Serialized)
                {
                    Local0 = 0x0FA0
                    While (Local0)
                    {
                        If ((HSTS & 0x02))
                        {
                            Return (0x01)
                        }
                        Else
                        {
                            Local0--
                            Stall (0x32)
                            If ((Local0 == 0x00))
                            {
                                KILL ()
                            }
                        }
                    }

                    Return (0x00)
                }

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

            Scope (\)
            {
                OperationRegion (THMR, SystemMemory, TBRB, 0xDC)
                Field (THMR, AnyAcc, Lock, Preserve)
                {
                    Offset (0x30), 
                    CTV1,   16, 
                    CTV2,   16, 
                    Offset (0x60), 
                    PTV,    8, 
                    Offset (0xD8), 
                    PCHT,   8, 
                    MCHT,   8
                }
            }

            Name (LTRE, 0x00)
            Name (OBFF, 0x00)
            Name (LMSL, 0x00)
            Name (LNSL, 0x00)
            Device (RP01)
            {
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (RPA0) /* \_SB_.PCI0.RPA0 */
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTRE = LTR1 /* \LTR1 */
                    LMSL = PML1 /* \_SB_.PCI0.PML1 */
                    LNSL = PNL1 /* \_SB_.PCI0.PNL1 */
                    OBFF = OBF1 /* \OBF1 */
                }

                OperationRegion (PXCS, PCI_Config, 0x00, 0x0380)
                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    LSCX,   1, 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x324), 
                        ,   3, 
                    LEDM,   1
                }

                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x42), 
                    Offset (0x43), 
                    SI,     1, 
                    Offset (0x50), 
                        ,   4, 
                    LD,     1, 
                    Offset (0x58), 
                    SCTL,   16, 
                    SSTS,   16, 
                    Offset (0xD8), 
                        ,   30, 
                    HPCE,   1, 
                    PMCE,   1
                }

                Method (HPLG, 0, Serialized)
                {
                    If (_STA ())
                    {
                        If (HPSX)
                        {
                            Sleep (0x64)
                            If (PDCX)
                            {
                                PDCX = 0x01
                                HPSX = 0x01
                                Notify (^, 0x00) // Bus Check
                            }
                            Else
                            {
                                HPSX = 0x01
                            }
                        }
                    }
                }

                Method (PME, 0, Serialized)
                {
                    If (_STA ())
                    {
                        If (PSPX)
                        {
                            While (PSPX)
                            {
                                PSPX = 0x01
                            }

                            PMSX = 0x01
                            Notify (^, 0x02) // Device Wake
                        }
                    }
                }

                Method (OSC, 2, Serialized)
                {
                    If (_STA ())
                    {
                        HPCE = Arg0
                        If (Arg0)
                        {
                            Local6 = (SCTL & 0xFFC0)
                            If (SI)
                            {
                                Local6 |= 0x01
                            }

                            SCTL = Local6
                            SSTS = 0x3F
                        }
                        Else
                        {
                            ABPX = 0x01
                            PDCX = 0x01
                            HPSX = 0x01
                        }

                        PMCE = Arg1
                        If ((Arg1 == 0x00))
                        {
                            PMSX = 0x01
                        }
                    }
                }

                Name (LTRV, Package (0x04)
                {
                    0x00, 
                    0x00, 
                    0x00, 
                    0x00
                })
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (0x00)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, 0x00, FUN0)
                                CreateBitField (OPTS, 0x04, FUN4)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = 0x01
                                    If (LTRE)
                                    {
                                        FUN6 = 0x01
                                    }

                                    If (OBFF)
                                    {
                                        FUN4 = 0x01
                                    }
                                }

                                Return (OPTS) /* \_SB_.PCI0.RP01._DSM.OPTS */
                            }
                            Case (0x04)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    If (OBFF)
                                    {
                                        Return (Buffer (0x10)
                                        {
                                            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                            /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   // ........
                                        })
                                    }
                                    Else
                                    {
                                        Return (Buffer (0x10)
                                        {
                                            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                            /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                                        })
                                    }
                                }
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    If (LTRE)
                                    {
                                        If (((LMSL == 0x00) || (LNSL == 0x00)))
                                        {
                                            If ((PCHS == 0x01))
                                            {
                                                LMSL = 0x0846
                                                LNSL = 0x0846
                                            }
                                            ElseIf ((PCHS == 0x02))
                                            {
                                                LMSL = 0x1003
                                                LNSL = 0x1003
                                            }
                                        }

                                        LTRV [0x00] = ((LMSL >> 0x0A) & 0x07)
                                        LTRV [0x01] = (LMSL & 0x03FF)
                                        LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                        LTRV [0x03] = (LNSL & 0x03FF)
                                        Return (LTRV) /* \_SB_.PCI0.RP01.LTRV */
                                    }
                                    Else
                                    {
                                        Return (0x00)
                                    }
                                }
                            }

                        }
                    }

                    Return (Buffer (0x01)
                    {
                         0x00                                             // .
                    })
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (\GPIC)
                    {
                        Return (Package (0x04)
                        {
                            Package (0x04)
                            {
                                0xFFFF, 
                                0x00, 
                                0x00, 
                                0x10
                            }, 

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

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

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x03, 
                                0x00, 
                                0x13
                            }
                        })
                    }
                    Else
                    {
                        Return (Package (0x04)
                        {
                            Package (0x04)
                            {
                                0xFFFF, 
                                0x00, 
                                LNKA, 
                                0x00
                            }, 

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

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

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

            Device (RP02)
            {
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (RPA1) /* \_SB_.PCI0.RPA1 */
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTRE = LTR2 /* \LTR2 */
                    LMSL = PML2 /* \_SB_.PCI0.PML2 */
                    LNSL = PNL2 /* \_SB_.PCI0.PNL2 */
                    OBFF = OBF2 /* \OBF2 */
                }

                OperationRegion (PXCS, PCI_Config, 0x00, 0x0380)
                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    LSCX,   1, 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x324), 
                        ,   3, 
                    LEDM,   1
                }

                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x42), 
                    Offset (0x43), 
                    SI,     1, 
                    Offset (0x50), 
                        ,   4, 
                    LD,     1, 
                    Offset (0x58), 
                    SCTL,   16, 
                    SSTS,   16, 
                    Offset (0xD8), 
                        ,   30, 
                    HPCE,   1, 
                    PMCE,   1
                }

                Method (HPLG, 0, Serialized)
                {
                    If (_STA ())
                    {
                        If (HPSX)
                        {
                            Sleep (0x64)
                            If (PDCX)
                            {
                                PDCX = 0x01
                                HPSX = 0x01
                                Notify (^, 0x00) // Bus Check
                            }
                            Else
                            {
                                HPSX = 0x01
                            }
                        }
                    }
                }

                Method (PME, 0, Serialized)
                {
                    If (_STA ())
                    {
                        If (PSPX)
                        {
                            While (PSPX)
                            {
                                PSPX = 0x01
                            }

                            PMSX = 0x01
                            Notify (^, 0x02) // Device Wake
                        }
                    }
                }

                Method (OSC, 2, Serialized)
                {
                    If (_STA ())
                    {
                        HPCE = Arg0
                        If (Arg0)
                        {
                            Local6 = (SCTL & 0xFFC0)
                            If (SI)
                            {
                                Local6 |= 0x01
                            }

                            SCTL = Local6
                            SSTS = 0x3F
                        }
                        Else
                        {
                            ABPX = 0x01
                            PDCX = 0x01
                            HPSX = 0x01
                        }

                        PMCE = Arg1
                        If ((Arg1 == 0x00))
                        {
                            PMSX = 0x01
                        }
                    }
                }

                Name (LTRV, Package (0x04)
                {
                    0x00, 
                    0x00, 
                    0x00, 
                    0x00
                })
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (0x00)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, 0x00, FUN0)
                                CreateBitField (OPTS, 0x04, FUN4)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = 0x01
                                    If (LTRE)
                                    {
                                        FUN6 = 0x01
                                    }

                                    If (OBFF)
                                    {
                                        FUN4 = 0x01
                                    }
                                }

                                Return (OPTS) /* \_SB_.PCI0.RP02._DSM.OPTS */
                            }
                            Case (0x04)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    If (OBFF)
                                    {
                                        Return (Buffer (0x10)
                                        {
                                            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                            /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   // ........
                                        })
                                    }
                                    Else
                                    {
                                        Return (Buffer (0x10)
                                        {
                                            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                            /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                                        })
                                    }
                                }
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    If (LTRE)
                                    {
                                        If (((LMSL == 0x00) || (LNSL == 0x00)))
                                        {
                                            If ((PCHS == 0x01))
                                            {
                                                LMSL = 0x0846
                                                LNSL = 0x0846
                                            }
                                            ElseIf ((PCHS == 0x02))
                                            {
                                                LMSL = 0x1003
                                                LNSL = 0x1003
                                            }
                                        }

                                        LTRV [0x00] = ((LMSL >> 0x0A) & 0x07)
                                        LTRV [0x01] = (LMSL & 0x03FF)
                                        LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                        LTRV [0x03] = (LNSL & 0x03FF)
                                        Return (LTRV) /* \_SB_.PCI0.RP02.LTRV */
                                    }
                                    Else
                                    {
                                        Return (0x00)
                                    }
                                }
                            }

                        }
                    }

                    Return (Buffer (0x01)
                    {
                         0x00                                             // .
                    })
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (\GPIC)
                    {
                        Return (Package (0x04)
                        {
                            Package (0x04)
                            {
                                0xFFFF, 
                                0x00, 
                                0x00, 
                                0x11
                            }, 

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

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

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x03, 
                                0x00, 
                                0x10
                            }
                        })
                    }
                    Else
                    {
                        Return (Package (0x04)
                        {
                            Package (0x04)
                            {
                                0xFFFF, 
                                0x00, 
                                LNKB, 
                                0x00
                            }, 

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

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

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

            Device (RP03)
            {
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (RPA2) /* \_SB_.PCI0.RPA2 */
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTRE = LTR3 /* \LTR3 */
                    LMSL = PML3 /* \_SB_.PCI0.PML3 */
                    LNSL = PNL3 /* \_SB_.PCI0.PNL3 */
                    OBFF = OBF3 /* \OBF3 */
                }

                OperationRegion (PXCS, PCI_Config, 0x00, 0x0380)
                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    LSCX,   1, 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x324), 
                        ,   3, 
                    LEDM,   1
                }

                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x42), 
                    Offset (0x43), 
                    SI,     1, 
                    Offset (0x50), 
                        ,   4, 
                    LD,     1, 
                    Offset (0x58), 
                    SCTL,   16, 
                    SSTS,   16, 
                    Offset (0xD8), 
                        ,   30, 
                    HPCE,   1, 
                    PMCE,   1
                }

                Method (HPLG, 0, Serialized)
                {
                    If (_STA ())
                    {
                        If (HPSX)
                        {
                            Sleep (0x64)
                            If (PDCX)
                            {
                                PDCX = 0x01
                                HPSX = 0x01
                                Notify (^, 0x00) // Bus Check
                            }
                            Else
                            {
                                HPSX = 0x01
                            }
                        }
                    }
                }

                Method (PME, 0, Serialized)
                {
                    If (_STA ())
                    {
                        If (PSPX)
                        {
                            While (PSPX)
                            {
                                PSPX = 0x01
                            }

                            PMSX = 0x01
                            Notify (^, 0x02) // Device Wake
                        }
                    }
                }

                Method (OSC, 2, Serialized)
                {
                    If (_STA ())
                    {
                        HPCE = Arg0
                        If (Arg0)
                        {
                            Local6 = (SCTL & 0xFFC0)
                            If (SI)
                            {
                                Local6 |= 0x01
                            }

                            SCTL = Local6
                            SSTS = 0x3F
                        }
                        Else
                        {
                            ABPX = 0x01
                            PDCX = 0x01
                            HPSX = 0x01
                        }

                        PMCE = Arg1
                        If ((Arg1 == 0x00))
                        {
                            PMSX = 0x01
                        }
                    }
                }

                Name (LTRV, Package (0x04)
                {
                    0x00, 
                    0x00, 
                    0x00, 
                    0x00
                })
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (0x00)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, 0x00, FUN0)
                                CreateBitField (OPTS, 0x04, FUN4)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = 0x01
                                    If (LTRE)
                                    {
                                        FUN6 = 0x01
                                    }

                                    If (OBFF)
                                    {
                                        FUN4 = 0x01
                                    }
                                }

                                Return (OPTS) /* \_SB_.PCI0.RP03._DSM.OPTS */
                            }
                            Case (0x04)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    If (OBFF)
                                    {
                                        Return (Buffer (0x10)
                                        {
                                            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                            /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   // ........
                                        })
                                    }
                                    Else
                                    {
                                        Return (Buffer (0x10)
                                        {
                                            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                            /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                                        })
                                    }
                                }
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    If (LTRE)
                                    {
                                        If (((LMSL == 0x00) || (LNSL == 0x00)))
                                        {
                                            If ((PCHS == 0x01))
                                            {
                                                LMSL = 0x0846
                                                LNSL = 0x0846
                                            }
                                            ElseIf ((PCHS == 0x02))
                                            {
                                                LMSL = 0x1003
                                                LNSL = 0x1003
                                            }
                                        }

                                        LTRV [0x00] = ((LMSL >> 0x0A) & 0x07)
                                        LTRV [0x01] = (LMSL & 0x03FF)
                                        LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                        LTRV [0x03] = (LNSL & 0x03FF)
                                        Return (LTRV) /* \_SB_.PCI0.RP03.LTRV */
                                    }
                                    Else
                                    {
                                        Return (0x00)
                                    }
                                }
                            }

                        }
                    }

                    Return (Buffer (0x01)
                    {
                         0x00                                             // .
                    })
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (\GPIC)
                    {
                        Return (Package (0x04)
                        {
                            Package (0x04)
                            {
                                0xFFFF, 
                                0x00, 
                                0x00, 
                                0x12
                            }, 

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

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

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x03, 
                                0x00, 
                                0x11
                            }
                        })
                    }
                    Else
                    {
                        Return (Package (0x04)
                        {
                            Package (0x04)
                            {
                                0xFFFF, 
                                0x00, 
                                LNKC, 
                                0x00
                            }, 

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

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

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

            Device (RP04)
            {
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (RPA3) /* \_SB_.PCI0.RPA3 */
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTRE = LTR4 /* \LTR4 */
                    LMSL = PML4 /* \_SB_.PCI0.PML4 */
                    LNSL = PNL4 /* \_SB_.PCI0.PNL4 */
                    OBFF = OBF4 /* \OBF4 */
                }

                OperationRegion (PXCS, PCI_Config, 0x00, 0x0380)
                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    LSCX,   1, 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x324), 
                        ,   3, 
                    LEDM,   1
                }

                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x42), 
                    Offset (0x43), 
                    SI,     1, 
                    Offset (0x50), 
                        ,   4, 
                    LD,     1, 
                    Offset (0x58), 
                    SCTL,   16, 
                    SSTS,   16, 
                    Offset (0xD8), 
                        ,   30, 
                    HPCE,   1, 
                    PMCE,   1
                }

                Method (HPLG, 0, Serialized)
                {
                    If (_STA ())
                    {
                        If (HPSX)
                        {
                            Sleep (0x64)
                            If (PDCX)
                            {
                                PDCX = 0x01
                                HPSX = 0x01
                                Notify (^, 0x00) // Bus Check
                            }
                            Else
                            {
                                HPSX = 0x01
                            }
                        }
                    }
                }

                Method (PME, 0, Serialized)
                {
                    If (_STA ())
                    {
                        If (PSPX)
                        {
                            While (PSPX)
                            {
                                PSPX = 0x01
                            }

                            PMSX = 0x01
                            Notify (^, 0x02) // Device Wake
                        }
                    }
                }

                Method (OSC, 2, Serialized)
                {
                    If (_STA ())
                    {
                        HPCE = Arg0
                        If (Arg0)
                        {
                            Local6 = (SCTL & 0xFFC0)
                            If (SI)
                            {
                                Local6 |= 0x01
                            }

                            SCTL = Local6
                            SSTS = 0x3F
                        }
                        Else
                        {
                            ABPX = 0x01
                            PDCX = 0x01
                            HPSX = 0x01
                        }

                        PMCE = Arg1
                        If ((Arg1 == 0x00))
                        {
                            PMSX = 0x01
                        }
                    }
                }

                Name (LTRV, Package (0x04)
                {
                    0x00, 
                    0x00, 
                    0x00, 
                    0x00
                })
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (0x00)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, 0x00, FUN0)
                                CreateBitField (OPTS, 0x04, FUN4)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = 0x01
                                    If (LTRE)
                                    {
                                        FUN6 = 0x01
                                    }

                                    If (OBFF)
                                    {
                                        FUN4 = 0x01
                                    }
                                }

                                Return (OPTS) /* \_SB_.PCI0.RP04._DSM.OPTS */
                            }
                            Case (0x04)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    If (OBFF)
                                    {
                                        Return (Buffer (0x10)
                                        {
                                            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                            /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   // ........
                                        })
                                    }
                                    Else
                                    {
                                        Return (Buffer (0x10)
                                        {
                                            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                            /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                                        })
                                    }
                                }
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    If (LTRE)
                                    {
                                        If (((LMSL == 0x00) || (LNSL == 0x00)))
                                        {
                                            If ((PCHS == 0x01))
                                            {
                                                LMSL = 0x0846
                                                LNSL = 0x0846
                                            }
                                            ElseIf ((PCHS == 0x02))
                                            {
                                                LMSL = 0x1003
                                                LNSL = 0x1003
                                            }
                                        }

                                        LTRV [0x00] = ((LMSL >> 0x0A) & 0x07)
                                        LTRV [0x01] = (LMSL & 0x03FF)
                                        LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                        LTRV [0x03] = (LNSL & 0x03FF)
                                        Return (LTRV) /* \_SB_.PCI0.RP04.LTRV */
                                    }
                                    Else
                                    {
                                        Return (0x00)
                                    }
                                }
                            }

                        }
                    }

                    Return (Buffer (0x01)
                    {
                         0x00                                             // .
                    })
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (\GPIC)
                    {
                        Return (Package (0x04)
                        {
                            Package (0x04)
                            {
                                0xFFFF, 
                                0x00, 
                                0x00, 
                                0x13
                            }, 

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

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

                            Package (0x04)
                            {
                                0xFFFF, 
                                0x03, 
                                0x00, 
                                0x12
                            }
                        })
                    }
                    Else
                    {
                        Return (Package (0x04)
                        {
                            Package (0x04)
                            {
                                0xFFFF, 
                                0x00, 
                                LNKD, 
                                0x00
                            }, 

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

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

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

                Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
                {
                    0x69, 
                    0x05
                })
                Device (WNIC)
                {
                    Name (_ADR, 0x00)  // _ADR: Address
                    OperationRegion (FLDR, PCI_Config, 0x44, 0x06)
                    Field (FLDR, ByteAcc, NoLock, Preserve)
                    {
                        DCAP,   32, 
                        DCTR,   16
                    }

                    Method (_PRW, 0, Serialized)  // _PRW: Power Resources for Wake
                    {
                        Return (^^_PRW) /* \_SB_.PCI0.RP04._PRW */
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Return (EPLD) /* \EPLD */
                    }

                    PowerResource (WRST, 0x05, 0x0000)
                    {
                        Method (_STA, 0, NotSerialized)  // _STA: Status
                        {
                            Return (0x01)
                        }

                        Method (_ON, 0, NotSerialized)  // _ON_: Power On
                        {
                        }

                        Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                        {
                        }

                        Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                        {
                            If ((DCAP & 0x10000000))
                            {
                                Local0 = DCTR /* \_SB_.PCI0.RP04.WNIC.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                            }
                        }
                    }

                    Name (_PRR, Package (0x01)  // _PRR: Power Resource for Reset
                    {
                        WRST
                    })
                }
            }

            Device (RP05)
            {
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (RPA4) /* \_SB_.PCI0.RPA4 */
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTRE = LTR5 /* \LTR5 */
                    LMSL = PML5 /* \_SB_.PCI0.PML5 */
                    LNSL = PNL5 /* \_SB_.PCI0.PNL5 */
                    OBFF = OBF5 /* \OBF5 */
                }

                OperationRegion (PXCS, PCI_Config, 0x00, 0x0380)
                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    LSCX,   1, 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x324), 
                        ,   3, 
                    LEDM,   1
                }

                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x42), 
                    Offset (0x43), 
                    SI,     1, 
                    Offset (0x50), 
                        ,   4, 
                    LD,     1, 
                    Offset (0x58), 
                    SCTL,   16, 
                    SSTS,   16, 
                    Offset (0xD8), 
                        ,   30, 
                    HPCE,   1, 
                    PMCE,   1
                }

                Method (HPLG, 0, Serialized)
                {
                    If (_STA ())
                    {
                        If (HPSX)
                        {
                            Sleep (0x64)
                            If (PDCX)
                            {
                                PDCX = 0x01
                                HPSX = 0x01
                                Notify (^, 0x00) // Bus Check
                            }
                            Else
                            {
                                HPSX = 0x01
                            }
                        }
                    }
                }

                Method (PME, 0, Serialized)
                {
                    If (_STA ())
                    {
                        If (PSPX)
                        {
                            While (PSPX)
                            {
                                PSPX = 0x01
                            }

                            PMSX = 0x01
                            Notify (^, 0x02) // Device Wake
                        }
                    }
                }

                Method (OSC, 2, Serialized)
                {
                    If (_STA ())
                    {
                        HPCE = Arg0
                        If (Arg0)
                        {
                            Local6 = (SCTL & 0xFFC0)
                            If (SI)
                            {
                                Local6 |= 0x01
                            }

                            SCTL = Local6
                            SSTS = 0x3F
                        }
                        Else
                        {
                            ABPX = 0x01
                            PDCX = 0x01
                            HPSX = 0x01
                        }

                        PMCE = Arg1
                        If ((Arg1 == 0x00))
                        {
                            PMSX = 0x01
                        }
                    }
                }

                Name (LTRV, Package (0x04)
                {
                    0x00, 
                    0x00, 
                    0x00, 
                    0x00
                })
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (0x00)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, 0x00, FUN0)
                                CreateBitField (OPTS, 0x04, FUN4)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = 0x01
                                    If (LTRE)
                                    {
                                        FUN6 = 0x01
                                    }

                                    If (OBFF)
                                    {
                                        FUN4 = 0x01
                                    }
                                }

                                Return (OPTS) /* \_SB_.PCI0.RP05._DSM.OPTS */
                            }
                            Case (0x04)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    If (OBFF)
                                    {
                                        Return (Buffer (0x10)
                                        {
                                            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                            /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   // ........
                                        })
                                    }
                                    Else
                                    {
                                        Return (Buffer (0x10)
                                        {
                                            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                            /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                                        })
                                    }
                                }
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    If (LTRE)
                                    {
                                        If (((LMSL == 0x00) || (LNSL == 0x00)))
                                        {
                                            If ((PCHS == 0x01))
                                            {
                                                LMSL = 0x0846
                                                LNSL = 0x0846
                                            }
                                            ElseIf ((PCHS == 0x02))
                                            {
                                                LMSL = 0x1003
                                                LNSL = 0x1003
                                            }
                                        }

                                        LTRV [0x00] = ((LMSL >> 0x0A) & 0x07)
                                        LTRV [0x01] = (LMSL & 0x03FF)
                                        LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                        LTRV [0x03] = (LNSL & 0x03FF)
                                        Return (LTRV) /* \_SB_.PCI0.RP05.LTRV */
                                    }
                                    Else
                                    {
                                        Return (0x00)
                                    }
                                }
                            }

                        }
                    }

                    Return (Buffer (0x01)
                    {
                         0x00                                             // .
                    })
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    Return (^^RP01._PRT ())
                }
            }

            Device (RP06)
            {
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (RPA5) /* \_SB_.PCI0.RPA5 */
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTRE = LTR6 /* \LTR6 */
                    LMSL = PML6 /* \_SB_.PCI0.PML6 */
                    LNSL = PNL6 /* \_SB_.PCI0.PNL6 */
                    OBFF = OBF6 /* \OBF6 */
                }

                OperationRegion (PXCS, PCI_Config, 0x00, 0x0380)
                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    LSCX,   1, 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x324), 
                        ,   3, 
                    LEDM,   1
                }

                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x42), 
                    Offset (0x43), 
                    SI,     1, 
                    Offset (0x50), 
                        ,   4, 
                    LD,     1, 
                    Offset (0x58), 
                    SCTL,   16, 
                    SSTS,   16, 
                    Offset (0xD8), 
                        ,   30, 
                    HPCE,   1, 
                    PMCE,   1
                }

                Method (HPLG, 0, Serialized)
                {
                    If (_STA ())
                    {
                        If (HPSX)
                        {
                            Sleep (0x64)
                            If (PDCX)
                            {
                                PDCX = 0x01
                                HPSX = 0x01
                                Notify (^, 0x00) // Bus Check
                            }
                            Else
                            {
                                HPSX = 0x01
                            }
                        }
                    }
                }

                Method (PME, 0, Serialized)
                {
                    If (_STA ())
                    {
                        If (PSPX)
                        {
                            While (PSPX)
                            {
                                PSPX = 0x01
                            }

                            PMSX = 0x01
                            Notify (^, 0x02) // Device Wake
                        }
                    }
                }

                Method (OSC, 2, Serialized)
                {
                    If (_STA ())
                    {
                        HPCE = Arg0
                        If (Arg0)
                        {
                            Local6 = (SCTL & 0xFFC0)
                            If (SI)
                            {
                                Local6 |= 0x01
                            }

                            SCTL = Local6
                            SSTS = 0x3F
                        }
                        Else
                        {
                            ABPX = 0x01
                            PDCX = 0x01
                            HPSX = 0x01
                        }

                        PMCE = Arg1
                        If ((Arg1 == 0x00))
                        {
                            PMSX = 0x01
                        }
                    }
                }

                Name (LTRV, Package (0x04)
                {
                    0x00, 
                    0x00, 
                    0x00, 
                    0x00
                })
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (0x00)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, 0x00, FUN0)
                                CreateBitField (OPTS, 0x04, FUN4)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = 0x01
                                    If (LTRE)
                                    {
                                        FUN6 = 0x01
                                    }

                                    If (OBFF)
                                    {
                                        FUN4 = 0x01
                                    }
                                }

                                Return (OPTS) /* \_SB_.PCI0.RP06._DSM.OPTS */
                            }
                            Case (0x04)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    If (OBFF)
                                    {
                                        Return (Buffer (0x10)
                                        {
                                            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                            /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   // ........
                                        })
                                    }
                                    Else
                                    {
                                        Return (Buffer (0x10)
                                        {
                                            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                            /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                                        })
                                    }
                                }
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    If (LTRE)
                                    {
                                        If (((LMSL == 0x00) || (LNSL == 0x00)))
                                        {
                                            If ((PCHS == 0x01))
                                            {
                                                LMSL = 0x0846
                                                LNSL = 0x0846
                                            }
                                            ElseIf ((PCHS == 0x02))
                                            {
                                                LMSL = 0x1003
                                                LNSL = 0x1003
                                            }
                                        }

                                        LTRV [0x00] = ((LMSL >> 0x0A) & 0x07)
                                        LTRV [0x01] = (LMSL & 0x03FF)
                                        LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                        LTRV [0x03] = (LNSL & 0x03FF)
                                        Return (LTRV) /* \_SB_.PCI0.RP06.LTRV */
                                    }
                                    Else
                                    {
                                        Return (0x00)
                                    }
                                }
                            }

                        }
                    }

                    Return (Buffer (0x01)
                    {
                         0x00                                             // .
                    })
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If ((PCHS == 0x01))
                    {
                        Return (^^RP02._PRT ())
                    }
                    Else
                    {
                        Return (^^RP01._PRT ())
                    }
                }
            }

            Device (RP07)
            {
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (RPA6) /* \_SB_.PCI0.RPA6 */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (ICST (RP7D))
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTRE = LTR7 /* \LTR7 */
                    LMSL = PML7 /* \_SB_.PCI0.PML7 */
                    LNSL = PNL7 /* \_SB_.PCI0.PNL7 */
                    OBFF = OBF7 /* \OBF7 */
                }

                OperationRegion (PXCS, PCI_Config, 0x00, 0x0380)
                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    LSCX,   1, 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x324), 
                        ,   3, 
                    LEDM,   1
                }

                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x42), 
                    Offset (0x43), 
                    SI,     1, 
                    Offset (0x50), 
                        ,   4, 
                    LD,     1, 
                    Offset (0x58), 
                    SCTL,   16, 
                    SSTS,   16, 
                    Offset (0xD8), 
                        ,   30, 
                    HPCE,   1, 
                    PMCE,   1
                }

                Method (HPLG, 0, Serialized)
                {
                    If (_STA ())
                    {
                        If (HPSX)
                        {
                            Sleep (0x64)
                            If (PDCX)
                            {
                                PDCX = 0x01
                                HPSX = 0x01
                                Notify (^, 0x00) // Bus Check
                            }
                            Else
                            {
                                HPSX = 0x01
                            }
                        }
                    }
                }

                Method (PME, 0, Serialized)
                {
                    If (_STA ())
                    {
                        If (PSPX)
                        {
                            While (PSPX)
                            {
                                PSPX = 0x01
                            }

                            PMSX = 0x01
                            Notify (^, 0x02) // Device Wake
                        }
                    }
                }

                Method (OSC, 2, Serialized)
                {
                    If (_STA ())
                    {
                        HPCE = Arg0
                        If (Arg0)
                        {
                            Local6 = (SCTL & 0xFFC0)
                            If (SI)
                            {
                                Local6 |= 0x01
                            }

                            SCTL = Local6
                            SSTS = 0x3F
                        }
                        Else
                        {
                            ABPX = 0x01
                            PDCX = 0x01
                            HPSX = 0x01
                        }

                        PMCE = Arg1
                        If ((Arg1 == 0x00))
                        {
                            PMSX = 0x01
                        }
                    }
                }

                Name (LTRV, Package (0x04)
                {
                    0x00, 
                    0x00, 
                    0x00, 
                    0x00
                })
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (0x00)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, 0x00, FUN0)
                                CreateBitField (OPTS, 0x04, FUN4)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = 0x01
                                    If (LTRE)
                                    {
                                        FUN6 = 0x01
                                    }

                                    If (OBFF)
                                    {
                                        FUN4 = 0x01
                                    }
                                }

                                Return (OPTS) /* \_SB_.PCI0.RP07._DSM.OPTS */
                            }
                            Case (0x04)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    If (OBFF)
                                    {
                                        Return (Buffer (0x10)
                                        {
                                            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                            /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   // ........
                                        })
                                    }
                                    Else
                                    {
                                        Return (Buffer (0x10)
                                        {
                                            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                            /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                                        })
                                    }
                                }
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    If (LTRE)
                                    {
                                        If (((LMSL == 0x00) || (LNSL == 0x00)))
                                        {
                                            If ((PCHS == 0x01))
                                            {
                                                LMSL = 0x0846
                                                LNSL = 0x0846
                                            }
                                            ElseIf ((PCHS == 0x02))
                                            {
                                                LMSL = 0x1003
                                                LNSL = 0x1003
                                            }
                                        }

                                        LTRV [0x00] = ((LMSL >> 0x0A) & 0x07)
                                        LTRV [0x01] = (LMSL & 0x03FF)
                                        LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                        LTRV [0x03] = (LNSL & 0x03FF)
                                        Return (LTRV) /* \_SB_.PCI0.RP07.LTRV */
                                    }
                                    Else
                                    {
                                        Return (0x00)
                                    }
                                }
                            }

                        }
                    }

                    Return (Buffer (0x01)
                    {
                         0x00                                             // .
                    })
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    Return (^^RP03._PRT ())
                }
            }

            Device (RP08)
            {
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (RPA7) /* \_SB_.PCI0.RPA7 */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (ICST (RP8D))
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTRE = LTR8 /* \LTR8 */
                    LMSL = PML8 /* \_SB_.PCI0.PML8 */
                    LNSL = PNL8 /* \_SB_.PCI0.PNL8 */
                    OBFF = OBF8 /* \OBF8 */
                }

                OperationRegion (PXCS, PCI_Config, 0x00, 0x0380)
                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    LSCX,   1, 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x324), 
                        ,   3, 
                    LEDM,   1
                }

                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x42), 
                    Offset (0x43), 
                    SI,     1, 
                    Offset (0x50), 
                        ,   4, 
                    LD,     1, 
                    Offset (0x58), 
                    SCTL,   16, 
                    SSTS,   16, 
                    Offset (0xD8), 
                        ,   30, 
                    HPCE,   1, 
                    PMCE,   1
                }

                Method (HPLG, 0, Serialized)
                {
                    If (_STA ())
                    {
                        If (HPSX)
                        {
                            Sleep (0x64)
                            If (PDCX)
                            {
                                PDCX = 0x01
                                HPSX = 0x01
                                Notify (^, 0x00) // Bus Check
                            }
                            Else
                            {
                                HPSX = 0x01
                            }
                        }
                    }
                }

                Method (PME, 0, Serialized)
                {
                    If (_STA ())
                    {
                        If (PSPX)
                        {
                            While (PSPX)
                            {
                                PSPX = 0x01
                            }

                            PMSX = 0x01
                            Notify (^, 0x02) // Device Wake
                        }
                    }
                }

                Method (OSC, 2, Serialized)
                {
                    If (_STA ())
                    {
                        HPCE = Arg0
                        If (Arg0)
                        {
                            Local6 = (SCTL & 0xFFC0)
                            If (SI)
                            {
                                Local6 |= 0x01
                            }

                            SCTL = Local6
                            SSTS = 0x3F
                        }
                        Else
                        {
                            ABPX = 0x01
                            PDCX = 0x01
                            HPSX = 0x01
                        }

                        PMCE = Arg1
                        If ((Arg1 == 0x00))
                        {
                            PMSX = 0x01
                        }
                    }
                }

                Name (LTRV, Package (0x04)
                {
                    0x00, 
                    0x00, 
                    0x00, 
                    0x00
                })
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (0x00)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, 0x00, FUN0)
                                CreateBitField (OPTS, 0x04, FUN4)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = 0x01
                                    If (LTRE)
                                    {
                                        FUN6 = 0x01
                                    }

                                    If (OBFF)
                                    {
                                        FUN4 = 0x01
                                    }
                                }

                                Return (OPTS) /* \_SB_.PCI0.RP08._DSM.OPTS */
                            }
                            Case (0x04)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    If (OBFF)
                                    {
                                        Return (Buffer (0x10)
                                        {
                                            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                            /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   // ........
                                        })
                                    }
                                    Else
                                    {
                                        Return (Buffer (0x10)
                                        {
                                            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                                            /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                                        })
                                    }
                                }
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    If (LTRE)
                                    {
                                        If (((LMSL == 0x00) || (LNSL == 0x00)))
                                        {
                                            If ((PCHS == 0x01))
                                            {
                                                LMSL = 0x0846
                                                LNSL = 0x0846
                                            }
                                            ElseIf ((PCHS == 0x02))
                                            {
                                                LMSL = 0x1003
                                                LNSL = 0x1003
                                            }
                                        }

                                        LTRV [0x00] = ((LMSL >> 0x0A) & 0x07)
                                        LTRV [0x01] = (LMSL & 0x03FF)
                                        LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                        LTRV [0x03] = (LNSL & 0x03FF)
                                        Return (LTRV) /* \_SB_.PCI0.RP08.LTRV */
                                    }
                                    Else
                                    {
                                        Return (0x00)
                                    }
                                }
                            }

                        }
                    }

                    Return (Buffer (0x01)
                    {
                         0x00                                             // .
                    })
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    Return (^^RP04._PRT ())
                }
            }

            Method (POSC, 2, Serialized)
            {
                If ((Arg1 || ((Arg0 & 0x01) || (Arg0 & 0x04))))
                {
                    Local4 = ((Arg0 & 0x01) ^ 0x01)
                    Local5 = (((Arg0 >> 0x02) & 0x01) ^ 0x01)
                    \_SB.PCI0.RP01.OSC (Local4, Local5)
                    \_SB.PCI0.RP02.OSC (Local4, Local5)
                    \_SB.PCI0.RP03.OSC (Local4, Local5)
                    \_SB.PCI0.RP04.OSC (Local4, Local5)
                    \_SB.PCI0.RP05.OSC (Local4, Local5)
                    \_SB.PCI0.RP06.OSC (Local4, Local5)
                    \_SB.PCI0.RP07.OSC (Local4, Local5)
                    \_SB.PCI0.RP08.OSC (Local4, Local5)
                    \_SB.PCI0.LPCB.BPEE = Local5
                }
            }

            Device (RP05.DGFX)
            {
                Name (_ADR, 0x00)  // _ADR: Address
                OperationRegion (VIDR, PCI_Config, 0x00, 0xF0)
                Field (VIDR, WordAcc, NoLock, Preserve)
                {
                    VVID,   16, 
                    Offset (0x0B), 
                    LNKV,   8
                }

                Name (DCSC, 0xFF)
                Method (GDCC, 1, Serialized)
                {
                    If ((Arg0 && (DCSC == 0xFF)))
                    {
                        Local0 = (0x01 | (0x02 | 0x04))
                        If (\_SB.DCKD ())
                        {
                            Local0 |= 0x08
                        }

                        DCSC = Local0
                    }

                    Return (DCSC) /* \_SB_.PCI0.RP05.DGFX.DCSC */
                }

                Method (PDOS, 2, NotSerialized)
                {
                }

                Method (RDSS, 1, Serialized)
                {
                    If ((Arg0 == 0x01))
                    {
                        \_SB.PCI0.LPCB.EC0.TENA = 0x03
                    }
                    Else
                    {
                        \_SB.PCI0.LPCB.EC0.TENA = 0x01
                    }
                }
            }

            Scope (\)
            {
                Field (PMIO, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x02), 
                    PMEN,   16, 
                    Offset (0x22), 
                    GPIS,   16, 
                    Offset (0x2A), 
                    GPIE,   16, 
                    Offset (0x30), 
                    GSIE,   1, 
                    EOS,    1, 
                        ,   2, 
                    SSME,   1, 
                    Offset (0x34), 
                        ,   5, 
                    APMS,   1, 
                    Offset (0x38), 
                    AGSE,   16, 
                    AGSS,   16
                }

                Field (GPIO, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x298), 
                        ,   31, 
                    WXML,   1
                }
            }

            Method (GUPT, 1, NotSerialized)
            {
                Local2 = (Arg0 & 0x0F)
                Local1 = 0x06
                If ((Arg0 == 0x001D0003))
                {
                    Local0 = 0x0A
                    Return (Local0)
                }

                Local0 = (Local2 << 0x01)
                If (((Arg0 & 0x001A0000) == 0x001A0000))
                {
                    Local0 += Local1
                }

                Return (Local0)
            }

            Method (UPSW, 1, Serialized)
            {
                Local0 = 0x01
                Local1 = (0x3C13 >> Arg0)
                Local0 = (Local1 & 0x01)
                Return (Local0)
            }

            Method (\_SB.PCI0.GSWS, 1, NotSerialized)
            {
                While (APMS)
                {
                    Stall (0x01)
                }

                SSMP = 0xF3
                Stall (0x32)
                While (APMS)
                {
                    Stall (0x01)
                }
            }

            Mutex (SMIM, 0x00)
            Name (SMIS, 0x00)
            Name (SMID, 0x00)
            Method (DSMI, 0, NotSerialized)
            {
                Acquire (SMIM, 0xFFFF)
                If ((SMID == 0x00))
                {
                    GSIE = 0x00
                    EOS = 0x00
                }

                SMID++
                Release (SMIM)
            }

            Method (ESMI, 0, NotSerialized)
            {
                Acquire (SMIM, 0xFFFF)
                SMID--
                If ((SMID == 0x00))
                {
                    EOS = 0x01
                    GSIE = 0x01
                }

                Release (SMIM)
            }

            Alias (DSMI, \DSMI)
            Alias (ESMI, \ESMI)
            Name (PUID, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)
            Name (XCNT, 0x00)
            Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
            {
                CreateDWordField (Arg3, 0x00, CDW1)
                CreateDWordField (Arg3, 0x04, CDW2)
                CreateDWordField (Arg3, 0x08, CDW3)
                If ((PMAL != 0x01))
                {
                    PMAL = 0x01
                }

                If (\_SB.PCI0.XHC.CUID (Arg0))
                {
                    Return (\_SB.PCI0.XHC.POSC (Arg1, Arg2, Arg3))
                }
                ElseIf ((OSYS >= 0x07DC))
                {
                    If ((XCNT == 0x00))
                    {
                        \_SB.PCI0.XHC.XSEL ()
                        XCNT++
                    }
                }

                Local1 = Arg0
                If ((\SRCP (Local1, PUID) == 0x01))
                {
                    Local2 = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
                    Local3 = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
                    If (((Local2 & 0x16) != 0x16))
                    {
                        Local3 &= 0x1E
                    }

                    Local3 &= 0x1D
                    If (!(CDW1 & 0x01))
                    {
                        POSC (Local3, 0x01)
                        If ((Local3 & 0x10)){}
                    }

                    If ((Arg1 != One))
                    {
                        CDW1 |= 0x08
                    }

                    If ((CDW3 != Local3))
                    {
                        CDW1 |= 0x10
                    }

                    CDW3 = Local3
                    OSCC = Local3
                    Return (Arg3)
                }
                Else
                {
                    CDW1 |= 0x04
                    Return (Arg3)
                }
            }

            Method (ICST, 1, NotSerialized)
            {
                Local0 = 0x0F
                If ((Arg0 == 0x01))
                {
                    Local0 = 0x00
                }

                Return (Local0)
            }

            Scope (RP01)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (ICST (RP1D))
                }
            }

            Scope (RP02)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (ICST (RP2D))
                }
            }

            Scope (RP03)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (ICST (RP3D))
                }
            }

            Scope (RP04)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (ICST (RP4D))
                }
            }

            Scope (RP05)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (ICST (RP5D))
                }
            }

            Scope (RP06)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (ICST (RP6D))
                }
            }

            Scope (HDEF)
            {
                Name (ASTA, 0x00)
                Name (ASTI, 0x00)
                PowerResource (APPR, 0x00, 0x0000)
                {
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        Return (ASTA) /* \_SB_.PCI0.HDEF.ASTA */
                    }

                    Method (_ON, 0, NotSerialized)  // _ON_: Power On
                    {
                        ASTA = 0x01
                        ASTI = \_SB.PCI0.LPCB.EC0.SAST (0x01)
                    }

                    Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                    {
                        ASTA = 0x00
                        ASTI = \_SB.PCI0.LPCB.EC0.SAST (0x00)
                    }
                }

                Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
                {
                    APPR
                })
            }

            Scope (LPCB)
            {
                OperationRegion (LPC2, PCI_Config, 0x80, 0x3C)
                Field (LPC2, AnyAcc, NoLock, Preserve)
                {
                    CMAD,   3, 
                        ,   1, 
                    CMBD,   3, 
                    Offset (0x01), 
                    LPDC,   2, 
                        ,   2, 
                    FDDC,   1, 
                    Offset (0x02), 
                    CALE,   1, 
                    CBLE,   1, 
                    LLPE,   1, 
                    FDLE,   1, 
                    Offset (0x08), 
                    G2DC,   16, 
                    G2MK,   8, 
                    Offset (0x20), 
                        ,   10, 
                    BPEE,   1, 
                    Offset (0x38), 
                    GPRO,   32
                }

                Name (CDC, Package (0x08)
                {
                    0x03F8, 
                    0x02F8, 
                    0x0220, 
                    0x0228, 
                    0x0238, 
                    0x02E8, 
                    0x0338, 
                    0x03E8
                })
                Name (LPD, Package (0x03)
                {
                    0x0378, 
                    0x0278, 
                    0x03BC
                })
                Method (\_SB.PCI0.LPCB.SMAB, 3, Serialized)
                {
                    If (((Arg0 & 0x01) == 0x00))
                    {
                        Local0 = 0x01
                        Local1 = \_SB.PCI0.SBUS.SWRB (Arg0, Arg1, Arg2)
                        If (Local1)
                        {
                            Local0 = 0x00
                        }
                    }
                    Else
                    {
                        Local0 = \_SB.PCI0.SBUS.SRDB (Arg0, Arg1)
                    }

                    Return (Local0)
                }

                Method (DCS, 3, NotSerialized)
                {
                    Local1 = 0x00
                    Local0 = Match (Arg0, MEQ, Arg1, MTR, 0x00, 0x00)
                    If ((Local0 != Ones))
                    {
                        Local1 = (Local0 << Arg2)
                    }

                    Return (Local1)
                }

                Method (DPD, 2, Serialized)
                {
                    If ((Arg0 == 0x00))
                    {
                        FDLE = 0x00
                    }
                    ElseIf ((Arg0 == 0x01))
                    {
                        LLPE = 0x00
                    }
                    ElseIf ((Arg0 == 0x02))
                    {
                        CALE = 0x00
                    }
                    ElseIf ((Arg0 == 0x03))
                    {
                        CBLE = 0x00
                        G2DC &= ~0x01
                    }
                }

                Method (EPD, 3, Serialized)
                {
                    If ((Arg0 == 0x00))
                    {
                        Local0 = 0x00
                        If ((Arg1 == 0x0370))
                        {
                            Local0 = 0x01
                        }

                        FDDC = Local0
                        FDLE = 0x01
                    }
                    ElseIf ((Arg0 == 0x01))
                    {
                        LPDC = DCS (LPD, Arg1, 0x00)
                        LLPE = 0x01
                    }
                    ElseIf ((Arg0 == 0x02))
                    {
                        CMAD = DCS (CDC, Arg1, 0x00)
                        CALE = 0x01
                    }
                    ElseIf ((Arg0 == 0x03))
                    {
                        CMBD = DCS (CDC, Arg1, 0x00)
                        CBLE = 0x01
                        G2MK = 0x0C
                        G2DC = (Arg2 | 0x01)
                    }
                }

                Method (CFG, 5, Serialized)
                {
                    If ((Arg1 == 0x00))
                    {
                        ^DPD (Arg0, Arg2)
                    }
                    Else
                    {
                        ^EPD (Arg0, Arg1, Arg2)
                    }
                }
            }

            Device (ACEL)
            {
                Name (_HID, EisaId ("HPQ6007"))  // _HID: Hardware ID
                Name (DEPT, 0xFF)
                Name (CTST, 0xFF)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    ITAL ()
                }

                Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                {
                    Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, )
                    {
                        0x00000027,
                    }
                })
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If ((DEPT == 0xFF))
                    {
                        Local0 = 0x0F
                        Local1 = ALRD (0x20)
                        If ((Local1 & 0xFF00))
                        {
                            If ((Local1 != 0xECAB))
                            {
                                Local0 = 0x00
                            }
                        }

                        DEPT = Local0
                    }

                    Return (DEPT) /* \_SB_.PCI0.ACEL.DEPT */
                }

                Method (ITAL, 0, Serialized)
                {
                    If (_STA ())
                    {
                        ALWR (0x20, 0x5F)
                        ALWR (0x21, 0x22)
                        ALWR (0x32, 0x16)
                        ALWR (0x33, 0x02)
                        ALWR (0x30, 0x95)
                        ALWR (0x36, 0x13)
                        ALWR (0x37, 0x01)
                        ALWR (0x34, 0x0A)
                        CTST = 0xFF
                        AJAL ()
                    }
                }

                Method (AJAL, 0, Serialized)
                {
                    If (_STA ())
                    {
                        Local0 = \_SB.PCI0.LPCB.EC0.GACS ()
                        If (((\_SB.LID._LID () == 0x00) && (Local0 == 0x00)))
                        {
                            If ((CTST != 0x01))
                            {
                                CTST = 0x01
                                ALWR (0x22, 0x60)
                            }
                        }
                        ElseIf ((CTST != 0x00))
                        {
                            CTST = 0x00
                            ALWR (0x22, 0x40)
                        }
                    }
                }

                Method (CLRI, 0, Serialized)
                {
                    Local2 = 0x00
                    If ((\_SB.PCI0.LPCB.EC0.GACS () == 0x00))
                    {
                        Local0 = 0x04
                        Local1 = 0x04
                        If ((\_SB.BAT0._STA () == 0x1F))
                        {
                            Local0 = DerefOf (DerefOf (NBST [0x00]) [0x00])
                        }

                        If ((\_SB.BAT1._STA () == 0x1F))
                        {
                            Local1 = DerefOf (DerefOf (NBST [0x01]) [0x00])
                        }

                        Local0 &= Local1
                        If ((Local0 & 0x04))
                        {
                            Local2 = 0x01
                        }
                    }

                    Return (Local2)
                }

                Method (ALRD, 1, Serialized)
                {
                    Local0 = \_SB.PCI0.LPCB.EC0.ECAB (0x00, 0x01, Arg0, 0x00)
                    Return (Local0)
                }

                Method (ALWR, 2, Serialized)
                {
                    Local0 = \_SB.PCI0.LPCB.EC0.ECAB (0x00, 0x00, Arg0, Arg1)
                    Return (Local0)
                }

                Method (ALID, 1, Serialized)
                {
                    Return (\_SB.LID._LID ())
                }

                Method (ADSN, 0, Serialized)
                {
                    Local0 = HDDS /* \HDDS */
                    Local0 = 0x00
                    Return (Local0)
                }
            }

            Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
            {
                If (GPIC)
                {
                    Return (Package (0x14)
                    {
                        Package (0x04)
                        {
                            0x0001FFFF, 
                            0x00, 
                            0x00, 
                            0x10
                        }, 

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

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

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

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

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

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

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

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

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

                        Package (0x04)
                        {
                            0x001BFFFF, 
                            0x00, 
                            0x00, 
                            0x16
                        }, 

                        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, 
                            0x11
                        }, 

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

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

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

                        Package (0x04)
                        {
                            0x001FFFFF, 
                            0x03, 
                            0x00, 
                            0x10
                        }
                    })
                }
                Else
                {
                    Return (Package (0x14)
                    {
                        Package (0x04)
                        {
                            0x0001FFFF, 
                            0x00, 
                            LNKA, 
                            0x00
                        }, 

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

                        Package (0x04)
                        {
                            0x0003FFFF, 
                            0x00, 
                            LNKA, 
                            0x00
                        }, 

                        Package (0x04)
                        {
                            0x0014FFFF, 
                            0x00, 
                            LNKA, 
                            0x00
                        }, 

                        Package (0x04)
                        {
                            0x0016FFFF, 
                            0x00, 
                            LNKA, 
                            0x00
                        }, 

                        Package (0x04)
                        {
                            0x0016FFFF, 
                            0x01, 
                            LNKB, 
                            0x00
                        }, 

                        Package (0x04)
                        {
                            0x0016FFFF, 
                            0x02, 
                            LNKC, 
                            0x00
                        }, 

                        Package (0x04)
                        {
                            0x0016FFFF, 
                            0x03, 
                            LNKD, 
                            0x00
                        }, 

                        Package (0x04)
                        {
                            0x0019FFFF, 
                            0x00, 
                            LNKE, 
                            0x00
                        }, 

                        Package (0x04)
                        {
                            0x001AFFFF, 
                            0x00, 
                            LNKA, 
                            0x00
                        }, 

                        Package (0x04)
                        {
                            0x001BFFFF, 
                            0x00, 
                            LNKG, 
                            0x00
                        }, 

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

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

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

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

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

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

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

                        Package (0x04)
                        {
                            0x001FFFFF, 
                            0x02, 
                            LNKC, 
                            0x00
                        }, 

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

            Field (GPIO, ByteAcc, NoLock, Preserve)
            {
                Offset (0x0C), 
                Offset (0x0C), 
                GLEP,   1
            }

            Scope (RP03)
            {
                Method (_PRW, 0, Serialized)  // _PRW: Power Resources for Wake
                {
                    Local0 = Package (0x02)
                        {
                            0x69, 
                            0x05
                        }
                    If (WOLD)
                    {
                        Local0 [0x01] = 0x00
                    }

                    Return (Local0)
                }

                OperationRegion (NPCI, PCI_Config, 0x19, 0x01)
                Field (NPCI, ByteAcc, NoLock, Preserve)
                {
                    BUSN,   8
                }

                Method (GADD, 0, Serialized)
                {
                    Local0 = BUSN /* \_SB_.PCI0.RP03.BUSN */
                    Local0 <<= 0x14
                    Local1 = (0xE0000000 + Local0)
                    Return (Local1)
                }

                Device (NIC)
                {
                    Name (_ADR, 0x00)  // _ADR: Address
                    Method (_PRW, 0, Serialized)  // _PRW: Power Resources for Wake
                    {
                        Return (^^_PRW ())
                    }

                    Method (EJ0, 0, NotSerialized)
                    {
                        Sleep (0x0A)
                        GLEP = 0x00
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Return (EPLD) /* \EPLD */
                    }

                    OperationRegion (PCIR, PCI_Config, 0x0C, 0x01)
                    Field (PCIR, AnyAcc, NoLock, Preserve)
                    {
                        CLSZ,   8
                    }
                }
            }

            Scope (\_GPE)
            {
                Name (CBID, 0x00)
                Method (L1C, 0, NotSerialized)
                {
                }

                Method (HNLP, 1, Serialized)
                {
                    Local0 = 0x00
                }
            }
        }

        Name (NBTI, 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 (NBST, Package (0x02)
        {
            Package (0x04)
            {
                0x00, 
                0x00, 
                0x0FA0, 
                0x04B0
            }, 

            Package (0x04)
            {
                0x00, 
                0x00, 
                0x0FA0, 
                0x04B0
            }
        })
        Name (NDBS, Package (0x04)
        {
            0x00, 
            0x00, 
            0x0FA0, 
            0x04B0
        })
        Name (ACST, 0x01)
        Name (SMAR, 0x00)
        Name (BT0P, 0x0F)
        Method (BTIF, 1, Serialized)
        {
            Local0 = \_SB.PCI0.LPCB.EC0.BTIF (Arg0)
            If ((Local0 == 0xFF))
            {
                Return (Package (0x0D)
                {
                    0x00, 
                    0xFFFFFFFF, 
                    0xFFFFFFFF, 
                    0x01, 
                    0xFFFFFFFF, 
                    0x00, 
                    0x00, 
                    0x00, 
                    0x00, 
                    "", 
                    "", 
                    "", 
                    0x00
                })
            }
            Else
            {
                Return (DerefOf (NBTI [Arg0]))
            }
        }

        Name (NFBS, 0x01)
        Method (BTST, 1, Serialized)
        {
            Local1 = NFBS /* \_SB_.NFBS */
            If (NFBS)
            {
                NFBS = 0x00
            }

            Local0 = \_SB.PCI0.LPCB.EC0.BTST (Arg0, Local1)
            Return (DerefOf (NBST [Arg0]))
        }

        Device (BAT0)
        {
            Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
            Method (_UID, 0, NotSerialized)  // _UID: Unique ID
            {
                If (((OSYS == 0x07DC) || (OSYS == 0x07DF)))
                {
                    Return (0x02)
                }
                Else
                {
                    Return (0x01)
                }
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Local0 = \_SB.PCI0.LPCB.EC0.BSTA (0x01)
                If ((BT0P ^ Local0))
                {
                    BT0P = Local0
                    Local1 = Local0
                    If ((Local1 != 0x1F))
                    {
                        Local1 = 0x00
                    }

                    If ((\_SB.GLVR (0x3B) == 0x01))
                    {
                        \_SB.SSMI (0xEA3A, 0x00, Local1, 0x00, 0x00)
                        Local1 = ECX /* \ECX_ */
                        \_GPE.HWWP (0x01)
                        \_SB.PCI0.LPCB.EC0.HWWP (Local1)
                    }

                    \_SB.WMID.WGWE (0x05, 0x00)
                }

                Return (Local0)
            }

            Method (_BIF, 0, NotSerialized)  // _BIF: Battery Information
            {
                Return (BTIF (0x00))
            }

            Method (_BST, 0, NotSerialized)  // _BST: Battery Status
            {
                Return (BTST (0x00))
            }

            Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
            {
                \_SB
            })
        }

        Device (BAT1)
        {
            Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
            Method (_UID, 0, NotSerialized)  // _UID: Unique ID
            {
                If (((OSYS == 0x07DC) || (OSYS == 0x07DF)))
                {
                    Return (0x01)
                }
                Else
                {
                    Return (0x02)
                }
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (((PRDT == 0x50) || (PRDT == 0x53)))
                {
                    Return (0x00)
                }

                Return (\_SB.PCI0.LPCB.EC0.BSTA (0x02))
            }

            Method (_BIF, 0, NotSerialized)  // _BIF: Battery Information
            {
                Return (BTIF (0x01))
            }

            Method (_BST, 0, NotSerialized)  // _BST: Battery Status
            {
                Return (BTST (0x01))
            }

            Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
            {
                \_SB
            })
        }

        Device (AC)
        {
            Name (_HID, "ACPI0003" /* Power Source Device */)  // _HID: Hardware ID
            Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
            {
                \_SB
            })
            Method (_PSR, 0, NotSerialized)  // _PSR: Power Source
            {
                Local0 = \_SB.PCI0.LPCB.EC0.GACS ()
                PWRS = Local0
                Local1 = \_SB.PCI0.LPCB.EC0.GPID ()
                If ((Local0 ^ ACST))
                {
                    \_GPE.HNLP (0x00)
                    \_SB.PCI0.ACEL.AJAL ()
                    \_GPE.VPUP (Local0, Local1)
                    \_SB.PCI0.LPCB.EC0.SMCP (Local0)
                }

                If (((Local0 && !ACST) || (Local1 && !SMAR)))
                {
                    \_SB.WMID.WGWE (0x03, 0x00)
                }

                ACST = Local0
                SMAR = Local1
                Return (Local0)
            }
        }

        Device (SLPB)
        {
            Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */)  // _HID: Hardware ID
        }

        Device (LID)
        {
            Name (_HID, EisaId ("PNP0C0D") /* Lid Device */)  // _HID: Hardware ID
            Method (_LID, 0, NotSerialized)  // _LID: Lid Status
            {
                Local0 = \_SB.PCI0.LPCB.EC0.CLID
                Return (Local0)
            }
        }

        Scope (\_SB.PCI0.RP02)
        {
            Name (WKEN, 0x00)
            Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
            Name (D3FG, 0x00)
            OperationRegion (CRRP, PCI_Config, 0x19, 0x01)
            Field (CRRP, AnyAcc, NoLock, Preserve)
            {
                BUSN,   8
            }

            Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
            {
                If (Arg1)
                {
                    WKEN = 0x00
                }
                ElseIf ((Arg0 && Arg2))
                {
                    WKEN = 0x01
                }
                Else
                {
                    WKEN = 0x00
                }

                If ((D3FG == 0x00))
                {
                    Local0 = BUSN /* \_SB_.PCI0.RP02.BUSN */
                    Local0 <<= 0x14
                    Local1 = (0xE0000000 + Local0)
                    Local0 = (Local1 + 0x0814)
                    OperationRegion (RDD3, SystemMemory, Local0, 0x03)
                    Field (RDD3, AnyAcc, NoLock, Preserve)
                    {
                        D3ST,   8, 
                        Offset (0x02), 
                        D3RD,   8
                    }

                    If ((D3RD == 0x01))
                    {
                        D3FG = 0x01
                    }
                }
            }

            PowerResource (PXP2, 0x00, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If ((\_SB.GLVR (0x39) == 0x00))
                    {
                        Return (0x01)
                    }
                    Else
                    {
                        Return (0x00)
                    }
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                    \_SB.GLVW (0x39, 0x00)
                    Sleep (0x64)
                    \_SB.GLVW (0x12, ~0x00)
                    \_SB.PCI0.RP02.L23R = 0x01
                    Sleep (0x01)
                    Local0 = 0x00
                    While (\_SB.PCI0.RP02.L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            Break
                        }

                        Sleep (0x01)
                        Local0++
                    }

                    \_SB.PCI0.RP02.LEDM = 0x00
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                    If ((D3FG == 0x01))
                    {
                        \_SB.PCI0.RP02.L23E = 0x01
                        Sleep (0x01)
                        Local0 = 0x00
                        While (\_SB.PCI0.RP02.L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                Break
                            }

                            Sleep (0x01)
                            Local0++
                        }

                        \_SB.PCI0.RP02.LEDM = 0x01
                        \_SB.PCI0.RP02.LDIS = 0x01
                        \_SB.PCI0.RP02.LDIS = 0x00
                        Sleep (0x0A)
                        \_SB.GLVW (0x12, 0x00)
                        \_SB.GLVW (0x39, ~0x00)
                        Sleep (0x0A)
                        If (\_SB.PCI0.RP02.WKEN)
                        {
                            \_SB.GESC (0x2A)
                            \_SB.GOWW (0x2A, 0x00)
                        }
                    }
                }
            }

            Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
            {
                PXP2
            })
            Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
            {
                PXP2
            })
        }

        Scope (\_GPE)
        {
            Method (_L2A, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
            {
                If (\_SB.PCI0.RP02.WKEN)
                {
                    \_SB.GOWW (0x2A, 0x01)
                    Notify (\_SB.PCI0.RP02, 0x02) // Device Wake
                }
            }
        }

        Device (HST1)
        {
            Name (_HID, EisaId ("PNP0C32"))  // _HID: Hardware ID
            Name (_UID, 0x01)  // _UID: Unique ID
            Name (HS1S, 0xFF)
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                If ((HS1S == 0xFF))
                {
                    Local0 = 0x00
                    If ((\WCOS () >= 0x06))
                    {
                        If (ISUD ())
                        {
                            Local0 = 0x0F
                        }
                    }

                    HS1S = Local0
                }

                Return (HS1S) /* \_SB_.HST1.HS1S */
            }

            Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
            {
                0x0A, 
                0x05
            })
            Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
            {
                \_SB.PCI0.LPCB.EC0.HSPW (Arg0, 0x01)
            }

            Method (GHID, 0, Serialized)
            {
                If (_STA ())
                {
                    If (\_SB.PCI0.LPCB.EC0.CHSW (0x01))
                    {
                        Notify (\_SB.HST1, 0x02) // Device Wake
                    }
                }

                Return (Buffer (0x01)
                {
                     0x01                                             // .
                })
            }
        }

        Name (WSIP, Buffer (0x06)
        {
             0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF               // ......
        })
        Name (SUIP, Buffer (0x09)
        {
            /* 0000 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
            /* 0008 */  0xFF                                             // .
        })
        Name (BSOL, Package (0x02)
        {
            Package (0x1C)
            {
                "Legacy Boot Order", 
                " Notebook Hard Drive, USB Floppy, USB CD-ROM, USB Hard Drive, Notebook Ethernet, PCIe/M.2 SSD Drive, , , , , , , , , , ,", 
                "\\System Configuration\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0x0104, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x06, 
                " Notebook Hard Drive ", 
                " USB Floppy ", 
                " USB CD-ROM ", 
                " USB Hard Drive ", 
                " Notebook Ethernet ", 
                " PCIe/M.2 SSD Drive ", 
                " ", 
                " ", 
                " ", 
                " ", 
                " ", 
                " ", 
                " ", 
                " ", 
                " "
            }, 

            Package (0x1D)
            {
                "UEFI Boot Order", 
                " OS Boot Manager, Notebook Ethernet IPV4, Notebook Ethernet IPV6, USB Hard Drive, PCIe/M.2 SSD Hard Drive, SD Card Boot, HP Dynamic Protection, Generic USB Device, Customized Boot, , , , , , , ,", 
                "\\System Configuration\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0x0143, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x09, 
                " OS Boot Manager", 
                " Notebook Ethernet IPV4", 
                " Notebook Ethernet IPV6", 
                " USB Hard Drive", 
                " PCIe/M.2 SSD Hard Drive", 
                " SD Card Boot", 
                " HP Dynamic Protection", 
                " Generic USB Device", 
                " Customized Boot", 
                " ", 
                " ", 
                " ", 
                " ", 
                " ", 
                " ", 
                " "
            }
        })
        Name (RMBI, Package (0x06)
        {
            Package (0x02)
            {
                0x02, 
                " Notebook Hard Drive "
            }, 

            Package (0x02)
            {
                0x03, 
                " USB Floppy "
            }, 

            Package (0x02)
            {
                0x05, 
                " USB CD-ROM "
            }, 

            Package (0x02)
            {
                0x06, 
                " USB Hard Drive "
            }, 

            Package (0x02)
            {
                0x07, 
                " Notebook Ethernet "
            }, 

            Package (0x02)
            {
                0x0D, 
                " PCIe/M.2 SSD Drive "
            }
        })
        Name (UEBL, Package (0x09)
        {
            Package (0x02)
            {
                0x02, 
                " OS Boot Manager"
            }, 

            Package (0x02)
            {
                0x03, 
                " Notebook Ethernet IPV4"
            }, 

            Package (0x02)
            {
                0x04, 
                " Notebook Ethernet IPV6"
            }, 

            Package (0x02)
            {
                0x06, 
                " USB Hard Drive"
            }, 

            Package (0x02)
            {
                0x07, 
                " Generic USB Device"
            }, 

            Package (0x02)
            {
                0x09, 
                " SD Card Boot"
            }, 

            Package (0x02)
            {
                0x0B, 
                " HP Dynamic Protection"
            }, 

            Package (0x02)
            {
                0x0D, 
                " Customized Boot"
            }, 

            Package (0x02)
            {
                0x10, 
                " PCIe/M.2 SSD Hard Drive"
            }
        })
        Name (CRBI, Package (0x06)
        {
            " Boot Device 2", 
            " Boot Device 3", 
            " Boot Device 5", 
            " Boot Device 6", 
            " Boot Device 7", 
            " Boot Device 13"
        })
        Name (CUBO, Package (0x09)
        {
            " UEFI Boot Device 2", 
            " UEFI Boot Device 3", 
            " UEFI Boot Device 4", 
            " UEFI Boot Device 6", 
            " UEFI Boot Device 7", 
            " UEFI Boot Device 9", 
            " UEFI Boot Device 11", 
            " UEFI Boot Device 13", 
            " UEFI Boot Device 16"
        })
        Name (FLAG, 0x05)
        Name (PCHG, 0x00)
        Name (DVAL, 0x00)
        Name (VFSZ, 0x00)
        Name (PCBF, Buffer (0x0190){})
        Name (WSPS, Buffer (0x3F){})
        Name (WNWP, Buffer (0x3F){})
        Name (WPPS, Buffer (0x3F){})
        Name (WNPP, Buffer (0x3F){})
        Name (WTB2, Buffer (0x0190){})
        Name (BUFU, Buffer (0x21){})
        Name (WTB3, Buffer (0x12){})
        Name (WTB4, Buffer (0x28){})
        Name (WBOR, Buffer (0x06){})
        Name (BOID, Buffer (0x64)
        {
            /* 0000 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
            /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
            /* 0018 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
            /* 0020 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
            /* 0028 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
            /* 0030 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
            /* 0038 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
            /* 0040 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
            /* 0048 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
            /* 0050 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
            /* 0058 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
            /* 0060 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
        })
        Name (TEMP, Buffer (0x32){})
        Name (ST01, Buffer (0x64){})
        Name (STG0, Buffer (0x1E){})
        Name (STG1, Buffer (0x1E){})
        Name (ST02, Buffer (0x0190){})
        Name (WATS, Buffer (0x12){})
        Name (WONT, Buffer (0x50){})
        Name (ST03, Buffer (0x32){})
        Name (ST14, Buffer (0x40){})
        Name (BF01, Buffer (0x32){})
        Name (BVAL, Buffer (0x0190){})
        Name (TM03, Buffer (0x1E){})
        Name (ST06, "Enable")
        Name (ST07, "Disable")
        Name (ST11, Buffer (0x96){})
        Name (WHVV, Buffer (0x20){})
        Name (WHVC, Buffer (0x40){})
        Name (WCBT, Buffer (0x3B){})
        Name (VIEW, "View")
        Name (CHGE, "Change")
        Name (HIDE, "Hide")
        Name (DFLT, "Default")
        Name (ONON, "On")
        Name (OFOF, "Off")
        Name (UNLK, "Unlock")
        Name (LLCK, "Lock")
        Name (NOIN, "Information Not Available")
        Name (YESY, "Yes")
        Name (NONO, "No")
        Name (ACT, "Active")
        Name (NACT, "Inactive")
        Name (BF2S, "                                                                                                                                                            ")
        Name (BB2S, "                                                                                                                                                                                                                                                                                               ")
        Name (BOIN, Buffer (0x1000){})
        Name (WLNF, Buffer (0xA2){})
        Name (TATM, Buffer (0x05){})
        Name (TPCD, Buffer (0x40){})
        Name (TPFB, Buffer (0x0190){})
        Name (TPBD, Buffer (0xC8){})
        Name (TURL, Buffer (0x82){})
        Name (TBUF, Buffer (0x22){})
        Name (NURL, Buffer (0xFF){})
        Name (TSKU, Buffer (0x10){})
        Name (TBCT, Buffer (0x0F){})
        Name (TOA3, Buffer (0x64){})
        Name (SEBU, Buffer (0x0B){})
        Name (MDBU, Buffer (0x0C){})
        Name (TROS, Package (0x20)
        {
            "Manufacturer", 
            "Processor Type", 
            "Processor Speed", 
            "Total Memory Size", 
            "BIOS Date", 
            "System BIOS Version", 
            "Video BIOS Revision", 
            "Keyboard Controller Version", 
            "Hard Disk Serial Number", 
            "Hard Disk Make and Model", 
            "Completion Date", 
            "Completion Status", 
            "Write Cycles Completed", 
            "Warranty Start Date", 
            "System Board ID", 
            "Primary Battery Serial Number", 
            "Secondary Battery Serial Number", 
            "Bluetooth FCC ID", 
            "WLAN FCC ID", 
            "WWAN FCC ID", 
            "GPS FCC ID", 
            "MicroCode Revision", 
            "Universally Unique Identifier (UUID)", 
            "Memory Slot 1 Information", 
            "Memory Slot 2 Information", 
            "Memory Slot 3 Information", 
            "Memory Slot 4 Information", 
            "MAC Address", 
            "HDD Serial", 
            "HDD Model", 
            "HDD Size", 
            "Base/Travel Keyboard Firmware Revision"
        })
        Name (MPMS, Package (0x07)
        {
            "System Configuration ID", 
            "Product Name", 
            "Serial Number", 
            "SKU Number", 
            "System Board CT", 
            "Product Family", 
            "Enter Feature Byte"
        })
        Name (MPMI, Buffer (0x01)
        {
             0x01                                             // .
        })
        Name (BISE, Package (0xFA)
        {
            Package (0x10)
            {
                "Serial port", 
                "", 
                "\\System Configuration\\Port Options", 
                0x00, 
                0x01, 
                0x00, 
                0x64, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Parallel port", 
                "", 
                "\\System Configuration\\Port Options", 
                0x00, 
                0x01, 
                0x00, 
                0x67, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x00, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x10)
            {
                "Floppy boot", 
                "", 
                "\\System Configuration\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0xE6, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "USB legacy support", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x012D, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "PXE Internal NIC boot", 
                "", 
                "\\System Configuration\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0xF0, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Fn+(F1-F12) Key switch", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x012C, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Fan Always on while on AC Power", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x0130, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Flash media reader", 
                "", 
                "\\System Configuration\\Port Options", 
                0x00, 
                0x01, 
                0x00, 
                0x68, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x16)
            {
                "Startup Menu Delay (Sec.)", 
                "", 
                "\\System Configuration\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0xC8, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "0", 
                0x08, 
                "0", 
                "5", 
                "10", 
                "15", 
                "20", 
                "25", 
                "30", 
                "35"
            }, 

            Package (0x12)
            {
                "Parallel port mode", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x012E, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "EPP", 
                0x04, 
                "EPP", 
                "Bidirectional", 
                "Standard", 
                "ECP"
            }, 

            Package (0x16)
            {
                "Multiboot Express Popup Delay(Sec)", 
                "", 
                "\\System Configuration\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0xD7, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "0", 
                0x08, 
                "0", 
                "5", 
                "10", 
                "15", 
                "20", 
                "25", 
                "30", 
                "35"
            }, 

            Package (0x10)
            {
                "LAN/WLAN Switching", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x0208, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Embedded Bluetooth Device", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x01FE, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Embedded WLAN Device", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x01F5, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Embedded WWAN Device", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x01F4, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x00, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x10)
            {
                "Data Execution Prevention", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x0132, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "SATA Device Mode", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x0134, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "AHCI", 
                0x02, 
                "IDE", 
                "AHCI"
            }, 

            Package (0x10)
            {
                "USB Port", 
                "", 
                "\\System Configuration\\Port Options", 
                0x00, 
                0x01, 
                0x00, 
                0x69, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x00, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x00, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x10)
            {
                "Multi Core CPU", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x0135, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x11)
            {
                "Wake on LAN", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x021C, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Boot to Network", 
                0x03, 
                "Disable", 
                "Boot to Network", 
                "Follow Boot Order"
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x00, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x00, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x10)
            {
                "TPM Device", 
                "", 
                "\\Security\\TPM Embedded Security", 
                0x00, 
                0x01, 
                0x00, 
                0x0288, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "Available", 
                0x02, 
                "Hidden", 
                "Available"
            }, 

            Package (0x10)
            {
                "Activate TPM On Next Boot", 
                "", 
                "\\Security\\TPM Embedded Security", 
                0x00, 
                0x01, 
                0x00, 
                0x0287, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                "SELECT * FROM HP_BIOSEnumeration WHERE Name=\'TPM Device\' AND CurrentValue=\'Available\'", 
                " ", 
                0x01, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x11)
            {
                "TPM Activation Policy", 
                "", 
                "\\Security\\TPM Embedded Security", 
                0x00, 
                0x00, 
                0x00, 
                0x0289, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                "SELECT * FROM HP_BIOSEnumeration WHERE Name=\'TPM Device\' AND CurrentValue=\'Available\'", 
                " ", 
                0x03, 
                "F1 to Boot", 
                0x03, 
                "F1 to Boot", 
                "Allow user to reject", 
                "No prompts"
            }, 

            Package (0x10)
            {
                "Fingerprint Device", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x01F6, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Optical Disk Drive", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x01F7, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Embedded LAN Controller", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x01F8, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "OS Management of TPM", 
                "", 
                "\\Security\\TPM Embedded Security", 
                0x00, 
                0x01, 
                0x00, 
                0x0286, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                "SELECT * FROM HP_BIOSEnumeration WHERE Name=\'TPM Device\' AND CurrentValue=\'Available\'", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Reset of TPM from OS", 
                "", 
                "\\Security\\TPM Embedded Security", 
                0x00, 
                0x01, 
                0x00, 
                0x0285, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                "SELECT * FROM HP_BIOSEnumeration WHERE Name=\'OS Management of TPM\' AND CurrentValue=\'Enable\'", 
                "SELECT * FROM HP_BIOSEnumeration WHERE Name=\'TPM Device\' AND CurrentValue=\'Available\'", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x11)
            {
                "Virtualization Technology (VTx)", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x013A, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x03, 
                "Disable", 
                "Enable", 
                "Reset to default"
            }, 

            Package (0x10)
            {
                "SOL Terminal Emulation Mode", 
                "", 
                "\\System Configuration\\AMT Options", 
                0x01, 
                0x00, 
                0x00, 
                0x02BD, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "ANSI", 
                0x02, 
                "VT100", 
                "ANSI"
            }, 

            Package (0x10)
            {
                "Firmware Progress Event Support", 
                "", 
                "\\System Configuration\\AMT Options", 
                0x01, 
                0x00, 
                0x00, 
                0x02C2, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Unconfigure AMT on next boot", 
                "", 
                "\\System Configuration\\AMT Options", 
                0x01, 
                0x00, 
                0x00, 
                0x02C0, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x00, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x00, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x10)
            {
                "Integrated Camera", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x01FA, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Custom Logo", 
                "", 
                "\\System Configuration\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0xC9, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "SD Card boot", 
                "", 
                "\\System Configuration\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0xE1, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Wireless Button State", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x01F3, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Modem Device", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x01FF, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "At least one symbol required", 
                "", 
                "\\Security\\Administrator Tools\\Password Policy", 
                0x00, 
                0x01, 
                0x00, 
                0x0296, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "No", 
                0x02, 
                "No", 
                "Yes"
            }, 

            Package (0x10)
            {
                "At least one number required", 
                "", 
                "\\Security\\Administrator Tools\\Password Policy", 
                0x00, 
                0x01, 
                0x00, 
                0x0297, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "No", 
                0x02, 
                "No", 
                "Yes"
            }, 

            Package (0x10)
            {
                "At least one upper case character required", 
                "", 
                "\\Security\\Administrator Tools\\Password Policy", 
                0x00, 
                0x01, 
                0x00, 
                0x0298, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "No", 
                0x02, 
                "No", 
                "Yes"
            }, 

            Package (0x10)
            {
                "At least one lower case character required", 
                "", 
                "\\Security\\Administrator Tools\\Password Policy", 
                0x00, 
                0x01, 
                0x00, 
                0x0299, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "No", 
                0x02, 
                "No", 
                "Yes"
            }, 

            Package (0x10)
            {
                "Are spaces allowed in password", 
                "", 
                "\\Security\\Administrator Tools\\Password Policy", 
                0x00, 
                0x01, 
                0x00, 
                0x029B, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "No", 
                0x02, 
                "No", 
                "Yes"
            }, 

            Package (0x10)
            {
                "Fingerprint Reset on Reboot (If Present)", 
                "", 
                "\\Security\\Administrator Tools", 
                0x00, 
                0x01, 
                0x00, 
                0x029D, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "HP SpareKey", 
                "", 
                "\\Security\\Administrator Tools", 
                0x00, 
                0x01, 
                0x00, 
                0x029A, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Trusted Execution Technology (TXT)", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x01, 
                0x00, 
                0x00, 
                0x013D, 
                0x03, 
                "SELECT * FROM HP_BIOSEnumeration WHERE Name=\'TPM Device\' AND CurrentValue=\'Available\'", 
                "SELECT * FROM HP_BIOSEnumeration WHERE Name=\'Virtualization Technology (VTx)\' AND CurrentValue=\'Enable\'", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Display Diagnostic URL", 
                "", 
                "\\System Configuration\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0x0105, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Smart Card", 
                "", 
                "\\System Configuration\\Port Options", 
                0x00, 
                0x01, 
                0x00, 
                0x6C, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Always Prompt for HP SpareKey Enrollment", 
                "", 
                "\\Security\\Administrator Tools", 
                0x00, 
                0x01, 
                0x00, 
                0x029E, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                "SELECT * FROM HP_BIOSEnumeration WHERE Name=\'HP SpareKey\' AND CurrentValue=\'Enable\' ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "USB Key Provisioning Support", 
                "", 
                "\\System Configuration\\AMT Options", 
                0x01, 
                0x00, 
                0x00, 
                0x02C1, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Bypass Power-on password on restart", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x00, 
                0x00, 
                0x02C4, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Microphone", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x0200, 
                0x03, 
                "SELECT * FROM HP_BIOSEnumeration WHERE Name=\'Audio Device\' AND CurrentValue=\'Enable\'", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x1C)
            {
                "Language", 
                " *English, Francais, Deutsch, Espanol, Italiano, Dansk, Nederlands, Suomi, Japanese, Norsk, Portugues, Svenska, Simplified Chinese, Traditional Chinese", 
                "\\System Configuration", 
                0x00, 
                0x01, 
                0x00, 
                0x79, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "English", 
                0x0E, 
                "English", 
                "Francais", 
                "Deutsch", 
                "Espanol", 
                "Italiano", 
                "Dansk", 
                "Nederlands", 
                "Suomi", 
                "Japanese", 
                "Norsk", 
                "Portugues", 
                "Svenska", 
                "Simplified Chinese", 
                "Traditional Chinese"
            }, 

            Package (0x10)
            {
                "NumLock on at boot", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x013B, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Initiate Intel CIRA", 
                "", 
                "\\System Configuration\\AMT Options", 
                0x01, 
                0x00, 
                0x00, 
                0x02C5, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Intel (R) Anti-Theft", 
                "", 
                "\\Security\\Anti Theft", 
                0x00, 
                0x01, 
                0x00, 
                0x029C, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x00, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x10)
            {
                "Speakers and Headphones", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x0208, 
                0x03, 
                "SELECT * FROM HP_BIOSEnumeration WHERE Name=\'Audio Device\' AND CurrentValue=\'Enable\'", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Audio Device", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x0209, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Ctrl I Prompt", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x01, 
                0x00, 
                0x00, 
                0x013F, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x71, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x10)
            {
                "Wake on USB", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x0140, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Intel (R) HT Technology", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x0141, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x11)
            {
                "Boot Mode", 
                "", 
                "\\System Configuration\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0x0142, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Legacy", 
                0x03, 
                "Legacy", 
                "UEFI Hybrid (With CSM)", 
                "UEFI Native (Without CSM)"
            }, 

            Package (0x0E)
            {
                "Backlit Keyboard Timeout", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0xDD, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x10)
            {
                "Sunday", 
                "", 
                "\\System Configuration\\BIOS Power-on", 
                0x00, 
                0x01, 
                0x00, 
                0x32, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Monday", 
                "", 
                "\\System Configuration\\BIOS Power-on", 
                0x00, 
                0x01, 
                0x00, 
                0x33, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Tuesday", 
                "", 
                "\\System Configuration\\BIOS Power-on", 
                0x00, 
                0x01, 
                0x00, 
                0x34, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Wednesday", 
                "", 
                "\\System Configuration\\BIOS Power-on", 
                0x00, 
                0x01, 
                0x00, 
                0x35, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Thursday", 
                "", 
                "\\System Configuration\\BIOS Power-on", 
                0x00, 
                0x01, 
                0x00, 
                0x36, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Friday", 
                "", 
                "\\System Configuration\\BIOS Power-on", 
                0x00, 
                0x01, 
                0x00, 
                0x37, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Saturday", 
                "", 
                "\\System Configuration\\BIOS Power-on", 
                0x00, 
                0x01, 
                0x00, 
                0x38, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "USB device boot", 
                "", 
                "\\System Configuration\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0x013E, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x00, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x10)
            {
                "Audio alerts during boot", 
                "", 
                "\\System Configuration\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0x0144, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Fast Boot", 
                "", 
                "\\System Configuration\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0xDC, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "DriveLock password on restart", 
                "", 
                "\\Security", 
                0x00, 
                0x01, 
                0x00, 
                0x028F, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enabled", 
                0x02, 
                "Disabled", 
                "Enabled"
            }, 

            Package (0x11)
            {
                "Virtualization Technology for Directed I/O (VTd)", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0xDE, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x03, 
                "Disable", 
                "Enable", 
                "Reset to default"
            }, 

            Package (0x10)
            {
                "Custom Help and URL message", 
                "", 
                "\\System Configuration\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0x0146, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x0E)
            {
                "USB Charging Port", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x01, 
                0x00, 
                0x00, 
                0x0147, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x0E)
            {
                "Disable charging port in all sleep/off states below(%):", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x01, 
                0x00, 
                0x00, 
                0x018F, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x10)
            {
                "System Management Command", 
                "", 
                "\\Security", 
                0x00, 
                0x01, 
                0x00, 
                0x0147, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Manufacturing Programming Mode", 
                "", 
                "\\dir Place holder for Path", 
                0x00, 
                0x01, 
                0x00, 
                0x0377, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Unlock", 
                0x02, 
                "Lock", 
                "Unlock"
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x0149, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x00, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x10)
            {
                "TPM Reset to Factory Defaults", 
                "", 
                "\\Security\\TPM Embedded Security", 
                0x00, 
                0x01, 
                0x00, 
                0x014C, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "No", 
                0x02, 
                "No", 
                "Yes"
            }, 

            Package (0x0E)
            {
                "Embedded GPS Device", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x020A, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x10)
            {
                "Hybrid Graphics", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x020B, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Restore Defaults", 
                "", 
                "\\File", 
                0x00, 
                0x01, 
                0x00, 
                0x020C, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "No", 
                0x02, 
                "No", 
                "Yes"
            }, 

            Package (0x10)
            {
                "Intel (R) Anti-Theft Suspend", 
                "", 
                "\\Security\\Anti Theft", 
                0x00, 
                0x01, 
                0x00, 
                0x029F, 
                0x03, 
                "SELECT * FROM HP_BIOSEnumeration WHERE Name=\'Intel (R) Anti-Theft\' AND CurrentValue=\'Enable\'", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Reset BIOS security to factory default", 
                "", 
                "\\File", 
                0x00, 
                0x01, 
                0x00, 
                0x020D, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "No", 
                0x02, 
                "No", 
                "Yes"
            }, 

            Package (0x10)
            {
                "Smart Card Reader Power Setting (If Present)", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x02A1, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Powered on if card is present", 
                0x02, 
                "Always powered on", 
                "Powered on if card is present"
            }, 

            Package (0x10)
            {
                "Power-On when AC is detected", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x02A2, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Wake unit from sleep when lid is opened", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02A4, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x0E)
            {
                "Power Control", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x02A5, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x10)
            {
                "Power on unit when lid is opened", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02A6, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Save/Restore MBR of the system Hard Drive", 
                "", 
                "\\Security", 
                0x00, 
                0x01, 
                0x00, 
                0x02A7, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "PCIe/M.2 SSD", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02A7, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "WWAN Quick Connect", 
                "", 
                "\\Security", 
                0x00, 
                0x01, 
                0x00, 
                0x02A9, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Boost Converter", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02AA, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Soft Temporary Disable", 
                "", 
                "\\System Configuration\\AMT Options", 
                0x01, 
                0x00, 
                0x00, 
                0x02BC, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Deep Sleep", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x02C1, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Off", 
                0x02, 
                "Off", 
                "On"
            }, 

            Package (0x10)
            {
                "Update System BIOS", 
                "", 
                "\\File", 
                0x00, 
                0x01, 
                0x00, 
                0x02C6, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "SecureBoot", 
                "", 
                "\\File", 
                0x00, 
                0x01, 
                0x00, 
                0x02C7, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Create a backup image of the System BIOS", 
                "", 
                "\\File", 
                0x00, 
                0x01, 
                0x00, 
                0x02C8, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Require acknowledgment of battery errors", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x02C9, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x0E)
            {
                "Max SATA Speed", 
                "", 
                "", 
                0x01, 
                0x00, 
                0x00, 
                0x02CA, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "", 
                0x00
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x02C9, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x02CA, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x02CB, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x02CC, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x10)
            {
                "HP Dynamic Protection", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x02CD, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "HP Dynamic Protection Version Control", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x02CE, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "HP Dynamic Protection Configuration Lockdown", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x02CF, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "HP Dynamic Protection Version Exact Match", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x02D0, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "HP Dynamic Protection Bootloader Package Check Failure Policy", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x02D1, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "HP Dynamic Protection Remote Recovery User Presence Policy", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x02D2, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "HP Dynamic Protection Remote Recovery Policy", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x02D3, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Wake on LAN on DC mode", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02D4, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Clear Secure Boot Keys", 
                "", 
                "\\System Configuration\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02D5, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "User Mode", 
                "", 
                "\\System Configuration\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02D6, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "HP Factory Keys", 
                0x02, 
                "HP Factory Keys", 
                "Customer Keys"
            }, 

            Package (0x10)
            {
                "Customized Boot", 
                "", 
                "\\System Configuration\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02D7, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Bypass Power-on password on ALL restarts", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x00, 
                0x00, 
                0x02D8, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x13)
            {
                "UMA Video Memory Size", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x00, 
                0x00, 
                0x02D9, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "32 MB", 
                0x05, 
                "32 MB", 
                "64 MB", 
                "128 MB", 
                "256 MB", 
                "512 MB"
            }, 

            Package (0x10)
            {
                "Update BIOS via Network", 
                "", 
                "\\File", 
                0x00, 
                0x01, 
                0x00, 
                0x02C8, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Wireless Manageability", 
                "", 
                "\\System Configuration\\AMT Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02DD, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x02DA, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x65, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x0E)
            {
                "NFC", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x00, 
                0x02DB, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x10)
            {
                "PCIe/M.2 SSD boot", 
                "", 
                "\\System Configuration\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0xD2, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x0E)
            {
                "NFC Mode", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x00, 
                0x02DC, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0xD2, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x10)
            {
                "Permanent Disable Absolute Persistence Module Set Once", 
                "", 
                "\\Security\\Anti-Theft", 
                0x00, 
                0x01, 
                0x00, 
                0x02E0, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "No", 
                0x02, 
                "No", 
                "Yes"
            }, 

            Package (0x10)
            {
                "Absolute Persistence Module Current State:", 
                "", 
                "\\Security\\Anti-Theft", 
                0x01, 
                0x01, 
                0x00, 
                0x02E1, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Inactive", 
                0x02, 
                "Inactive", 
                "Active"
            }, 

            Package (0x10)
            {
                "Force Check on Reboot", 
                "", 
                "\\File", 
                0x00, 
                0x00, 
                0x00, 
                0x02E2, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Verify Boot Block on every boot", 
                "", 
                "\\Security\\BIOS Integrity Checking", 
                0x00, 
                0x00, 
                0x00, 
                0x02E3, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "BIOS Data Recovery Policy", 
                "", 
                "\\Security\\BIOS Integrity Checking", 
                0x00, 
                0x00, 
                0x00, 
                0x02E4, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Automatic", 
                0x02, 
                "Manual", 
                "Automatic"
            }, 

            Package (0x10)
            {
                "Lock BIOS Version", 
                "", 
                "\\File\\Update System BIOS", 
                0x00, 
                0x00, 
                0x00, 
                0x02E5, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Update Source", 
                " *HP, Custom", 
                "\\File\\Update System BIOS", 
                0x00, 
                0x00, 
                0x00, 
                0x02E6, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "HP", 
                0x02, 
                "HP", 
                "Custom"
            }, 

            Package (0x10)
            {
                "Use Proxy", 
                "", 
                "\\File\\Update System BIOS", 
                0x00, 
                0x00, 
                0x00, 
                0x02E7, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x12)
            {
                "Automatic BIOS Update Setting", 
                " *Disable, Let user decide whether to install updates, Install all updates automatically, Install only important updates automatically", 
                "\\File\\Update System BIOS", 
                0x00, 
                0x00, 
                0x00, 
                0x02E8, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x04, 
                "Disable", 
                "Let user decide whether to install updates", 
                "Install all updates automatically", 
                "Install only important updates automatically"
            }, 

            Package (0x11)
            {
                "Automatically Check for Updates", 
                " *Daily, Weekly, Monthly", 
                "\\File\\Update System BIOS", 
                0x00, 
                0x00, 
                0x00, 
                0x02E9, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Daily", 
                0x03, 
                "Daily", 
                "Weekly", 
                "Monthly"
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x02EA, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x02EB, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x10)
            {
                "PXE Internal IPV4 NIC boot", 
                "", 
                "\\System Configuration\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0x0137, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "PXE Internal IPV6 NIC boot", 
                "", 
                "\\System Configuration\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0x0138, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "USB 3.0(XHCI)", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x02EC, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Turbo Boost support while on battery", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x02ED, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x02EE, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x10)
            {
                "Update to Test UUID", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x02EF, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x02F0, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x02F2, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x10)
            {
                "Touch Support Status", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02F3, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Battery Ship Mode", 
                "", 
                "", 
                0x00, 
                0x01, 
                0x00, 
                0x02F4, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "HP Touchpoint Manager Always On Remote Management Activation", 
                "", 
                "", 
                0x00, 
                0x01, 
                0x00, 
                0x02F5, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Allow Activation", 
                0x02, 
                "Do Not Allow Activation", 
                "Allow Activation"
            }, 

            Package (0x10)
            {
                "HP Touchpoint Manager Always On Remote Management Commands", 
                "", 
                "", 
                0x00, 
                0x01, 
                0x00, 
                0x02F6, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Do Not Accept Commands", 
                0x02, 
                "Do Not Accept Commands", 
                "Accept Commands"
            }, 

            Package (0x10)
            {
                "HP Touchpoint Manager Always On Remote Management Status", 
                "", 
                "", 
                0x01, 
                0x01, 
                0x00, 
                0x02F7, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Not Activated", 
                0x02, 
                "Not Activated", 
                "Activated"
            }, 

            Package (0x10)
            {
                "Embedded WIGIG Device", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02F8, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x10)
            {
                "Password Prompt On F9 & F12", 
                "", 
                "\\System Configuration\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02F9, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            Package (0x11)
            {
                "Port Options Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0320, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Built-In Device Options Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0322, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x00, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x11)
            {
                "Floppy boot Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0324, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "PXE Internal NIC boot Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0325, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Fn+(F1-F12) Key switch Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0326, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "USB legacy support Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0327, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Fan Always on while on AC Power Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0328, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Startup Menu Delay (Sec.) Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x032A, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Parallel port mode Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x032B, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x1A)
            {
                "Multiboot Express Popup Delay(Sec) Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x032C, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide", 
                " ", 
                " ", 
                " ", 
                " ", 
                " ", 
                " ", 
                " ", 
                " ", 
                " "
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x00, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x00, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x11)
            {
                "Data Execution Prevention Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0336, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "SATA Device Mode Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0337, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Multi Core CPU Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x033C, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x00, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x11)
            {
                "TPM Device Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0340, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Activate TPM On Next Boot Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x00, 
                0x00, 
                0x0341, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "TPM Activation Policy Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x00, 
                0x00, 
                0x0342, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "OS Management of TPM Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0349, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Reset of TPM from OS Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x034A, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Virtualization Technology (VTx) Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x034B, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "SOL Terminal Emulation Mode Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x01, 
                0x00, 
                0x00, 
                0x0350, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "Hide", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Firmware Progress Event Support Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x01, 
                0x00, 
                0x00, 
                0x0351, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "Hide", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Unconfigure AMT on next boot Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x01, 
                0x00, 
                0x00, 
                0x034F, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "Hide", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Legacy Boot Order Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0355, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Custom Logo Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0356, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "SD Card boot Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0357, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Finger Print reset Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x035B, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "HP SpareKey Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x035C, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Trusted Execution Technology (TXT) Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x01, 
                0x00, 
                0x00, 
                0x035D, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "Hide", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Display Diagnostic URL Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x035E, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "USB Key Provisioning Support Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x01, 
                0x00, 
                0x00, 
                0x034E, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Boot Mode Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0362, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "NumLock on at boot Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0361, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Initiate Intel CIRA Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x01, 
                0x00, 
                0x00, 
                0x0365, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Intel (R) Anti-Theft Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0366, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Wake on USB Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x036B, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Intel (R) HT Technology Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x036C, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "UEFI Boot Order Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x036C, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "BIOS Power-on Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0370, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "USB device boot Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0372, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x00, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x11)
            {
                "Fast Boot Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x036F, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x0E)
            {
                "Virtualization Technology for Directed I/O (VTd) Security Level", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x00, 
                0xDF, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x12)
            {
                "Set All Security Levels", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0371, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "Default", 
                0x04, 
                "Default", 
                "View", 
                "Change", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Custom Help and URL message Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0372, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x0E)
            {
                "USB Charging Port Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x01, 
                0x00, 
                0x00, 
                0x0373, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x11)
            {
                "System Management Command Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0374, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x0376, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x11)
            {
                "TPM Embedded Security Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0377, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x00, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x11)
            {
                "Hybrid Graphics Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x037B, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Smart Card Reader Power Setting Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x037E, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Power-On when AC is detected Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x037F, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x0E)
            {
                "Power Control Security Level", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x00, 
                0x0382, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x11)
            {
                "Soft Temporary Disable Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x01, 
                0x00, 
                0x00, 
                0x034D, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "Hide", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Deep Sleep Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0389, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "BIOS Update Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x038A, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "SecureBoot Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x038B, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Require acknowledgment of battery errors Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x038D, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x0E)
            {
                "Max SATA Speed Security Level", 
                "", 
                "", 
                0x01, 
                0x00, 
                0x00, 
                0x038E, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "", 
                0x00
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x038D, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x038E, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x038F, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x0390, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x11)
            {
                "HP Dynamic Protection Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0391, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "HP Dynamic Protection Version Control Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0392, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "HP Dynamic Protection Configuration Lockdown Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0393, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Key Management Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0395, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Customized Boot Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0396, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "UMA Video Memory Size Policy", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0397, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Network BIOS Update Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0398, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "Change", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "PCIe/M.2 SSD boot Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0343, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "BIOS Integrity Checking Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0399, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "Change", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x0398, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x039A, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x11)
            {
                "PXE Internal IPV4/IPV6 NIC boot Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0358, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "XHCI Enable Policy", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0359, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Turbo Boost support while on battery Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x035A, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x01, 
                0x035B, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                " ", 
                0x00
            }, 

            Package (0x11)
            {
                "Security Hard Drive Tools", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x035F, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            Package (0x11)
            {
                "Security Device ID", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0360, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }
        })
        Name (BSPV, Package (0x05)
        {
            Package (0x12)
            {
                "Setup Password", 
                " ", 
                "\\Security", 
                0x00, 
                0x01, 
                0x01, 
                0x0258, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x08, 
                0x20, 
                "utf-16", 
                " ", 
                0x00, 
                0x00
            }, 

            Package (0x12)
            {
                "Notebook hard drive drivelock master password", 
                " ", 
                "\\Security", 
                0x00, 
                0x01, 
                0x00, 
                0x025E, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x08, 
                0x20, 
                "utf-16", 
                " ", 
                0x00, 
                0x00
            }, 

            Package (0x12)
            {
                "Notebook hard drive drivelock user password", 
                " ", 
                "\\Security", 
                0x00, 
                0x01, 
                0x01, 
                0x025F, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x08, 
                0x20, 
                "utf-16", 
                " ", 
                0x00, 
                0x00
            }, 

            Package (0x12)
            {
                "Upgrade bay hard drive drivelock master password", 
                " ", 
                "\\Security", 
                0x00, 
                0x01, 
                0x01, 
                0x0260, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x08, 
                0x20, 
                "utf-16", 
                " ", 
                0x00, 
                0x00
            }, 

            Package (0x12)
            {
                "Upgrade bay hard drive drivelock user password", 
                " ", 
                "\\Security", 
                0x00, 
                0x01, 
                0x01, 
                0x0261, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x08, 
                0x20, 
                "utf-16", 
                " ", 
                0x00, 
                0x00
            }
        })
        Name (BSIN, Package (0x02)
        {
            Package (0x0F)
            {
                "Password Minimum Length", 
                "Place holder ", 
                "\\Security\\Administrator Tools\\Password Policy", 
                0x00, 
                0x01, 
                0x00, 
                0x0295, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                0x04, 
                0x20, 
                0x04
            }, 

            Package (0x0F)
            {
                "Manufacturing Programming Mode Counter", 
                "Place holder ", 
                "\\Place holder for Path", 
                0x00, 
                0x01, 
                0x00, 
                0x0376, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x0A, 
                0x00
            }
        })
        Name (BSSS, Package (0x38)
        {
            Package (0x0E)
            {
                "Asset Tracking Number", 
                " ", 
                "\\Security\\System IDs", 
                0x00, 
                0x01, 
                0x00, 
                0x63, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x12
            }, 

            Package (0x0E)
            {
                "Ownership Tag", 
                "Ownershiptag place holder", 
                "\\Security\\System IDs", 
                0x00, 
                0x01, 
                0x00, 
                0x62, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x50
            }, 

            Package (0x0E)
            {
                " ", 
                " ", 
                " ", 
                0x01, 
                0x00, 
                0x00, 
                0x5B, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0xA0
            }, 

            Package (0x0E)
            {
                "BIOS Power-On Time (hh:mm)", 
                " ", 
                "\\System Configuration\\BIOS Power-on", 
                0x00, 
                0x01, 
                0x00, 
                0x39, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x05
            }, 

            Package (0x0E)
            {
                "System Configuration ID", 
                " ", 
                "\\File\\System Information", 
                0x00, 
                0x01, 
                0x00, 
                0x3B, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x40
            }, 

            Package (0x0E)
            {
                "Define Custom URL", 
                " ", 
                "\\System Configuration\\Device Configuration", 
                0x00, 
                0x01, 
                0x00, 
                0x3D, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x82
            }, 

            Package (0x0E)
            {
                "PCID Version", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x3A, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x05
            }, 

            Package (0x0E)
            {
                "Manufacturer", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x14, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x12
            }, 

            Package (0x0E)
            {
                "Product Name", 
                " ", 
                "\\File\\System Information", 
                0x00, 
                0x01, 
                0x00, 
                0x1E, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x20
            }, 

            Package (0x0E)
            {
                "Processor Type", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x28, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x24
            }, 

            Package (0x0E)
            {
                "Processor Speed", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x31, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x0A
            }, 

            Package (0x0E)
            {
                "Total Memory Size", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x50, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x12
            }, 

            Package (0x0E)
            {
                "BIOS Date", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x5A, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x12
            }, 

            Package (0x0E)
            {
                "System BIOS Version", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x5C, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x12
            }, 

            Package (0x0E)
            {
                "Serial Number", 
                " ", 
                "\\File\\System Information", 
                0x00, 
                0x01, 
                0x00, 
                0x5E, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x12
            }, 

            Package (0x0E)
            {
                "Video BIOS Revision", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x5F, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x24
            }, 

            Package (0x0E)
            {
                "Video BIOS Revision 2", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x60, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x24
            }, 

            Package (0x0E)
            {
                "Keyboard Controller Version", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x61, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x12
            }, 

            Package (0x0E)
            {
                "Hard Disk Serial Number", 
                " ", 
                "\\Security\\Hard Disk Sanitization Completion Report", 
                0x01, 
                0x01, 
                0x00, 
                0x044C, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x14
            }, 

            Package (0x0E)
            {
                "Hard Disk Make and Model", 
                " ", 
                "\\Security\\Hard Disk Sanitization Completion Report", 
                0x01, 
                0x01, 
                0x00, 
                0x044D, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x28
            }, 

            Package (0x0E)
            {
                "Completion Date", 
                " ", 
                "\\Security\\Hard Disk Sanitization Completion Report", 
                0x01, 
                0x01, 
                0x00, 
                0x044E, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x11
            }, 

            Package (0x0E)
            {
                "Completion Status", 
                " ", 
                "\\Security\\Hard Disk Sanitization Completion Report", 
                0x01, 
                0x01, 
                0x00, 
                0x044F, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x16
            }, 

            Package (0x0E)
            {
                "Write Cycles Completed", 
                " ", 
                "\\Security\\Hard Disk Sanitization Completion Report", 
                0x01, 
                0x01, 
                0x00, 
                0x0450, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x01
            }, 

            Package (0x0E)
            {
                "Warranty Start Date", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x2A, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x0A
            }, 

            Package (0x0E)
            {
                "SKU Number", 
                " ", 
                "\\File\\System Information", 
                0x00, 
                0x01, 
                0x00, 
                0x29, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x10
            }, 

            Package (0x0E)
            {
                "System Board ID", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x1F, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x04
            }, 

            Package (0x0E)
            {
                "Primary Battery Serial Number", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x64, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x12
            }, 

            Package (0x0E)
            {
                "Secondary Battery Serial Number", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x66, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x12
            }, 

            Package (0x0E)
            {
                "Bluetooth FCC ID", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x6F, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x14
            }, 

            Package (0x0E)
            {
                "WLAN FCC ID", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x6E, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x14
            }, 

            Package (0x0E)
            {
                "WWAN FCC ID", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x6D, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x14
            }, 

            Package (0x0E)
            {
                "GPS FCC ID", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x72, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x14
            }, 

            Package (0x0E)
            {
                "Universally Unique Identifier (UUID)", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x20, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x20
            }, 

            Package (0x0E)
            {
                "System Board CT", 
                " ", 
                "\\File\\System Information", 
                0x00, 
                0x01, 
                0x00, 
                0x70, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x0F
            }, 

            Package (0x0E)
            {
                "MS Digital Marker", 
                " ", 
                "\\File\\System Information", 
                0x00, 
                0x01, 
                0x00, 
                0x72, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x62
            }, 

            Package (0x0E)
            {
                "MicroCode Revision", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x77, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x0F
            }, 

            Package (0x0E)
            {
                "Product Family", 
                " ", 
                "\\File\\System Information", 
                0x00, 
                0x01, 
                0x00, 
                0x70, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x28
            }, 

            Package (0x0E)
            {
                "Disk Sanitation Method", 
                " ", 
                "\\Security\\Hard Disk Sanitization Completion Report", 
                0x01, 
                0x01, 
                0x00, 
                0x0451, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x1A
            }, 

            Package (0x0E)
            {
                "HP Dynamic Protection Version", 
                "Asset Tag Place Holder", 
                "", 
                0x00, 
                0x00, 
                0x00, 
                0xD5, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x20
            }, 

            Package (0x0E)
            {
                "HP Dynamic Protection Config Hash", 
                "Asset Tag Place Holder", 
                "", 
                0x00, 
                0x00, 
                0x00, 
                0xD6, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x40
            }, 

            Package (0x0E)
            {
                "Memory Slot 1 Information", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x51, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x50
            }, 

            Package (0x0E)
            {
                "Memory Slot 2 Information", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x52, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x50
            }, 

            Package (0x0E)
            {
                "Memory Slot 3 Information", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x53, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x50
            }, 

            Package (0x0E)
            {
                "Memory Slot 4 Information", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x54, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x50
            }, 

            Package (0x0E)
            {
                "Define Customized Boot Option", 
                " ", 
                "\\File\\System Information\\Boot Options", 
                0x00, 
                0x01, 
                0x00, 
                0x55, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x3B
            }, 

            Package (0x0E)
            {
                "Enter Feature Byte", 
                " ", 
                "\\File\\System Information", 
                0x00, 
                0x01, 
                0x00, 
                0x56, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x0190
            }, 

            Package (0x0E)
            {
                "Enter Build ID", 
                " ", 
                "\\File\\System Information", 
                0x00, 
                0x01, 
                0x00, 
                0x57, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0xC8
            }, 

            Package (0x0E)
            {
                "Proxy Address", 
                " ", 
                "\\File\\System Information", 
                0x00, 
                0x01, 
                0x00, 
                0xC1, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0xFF
            }, 

            Package (0x0E)
            {
                "Update Address", 
                " ", 
                "\\File\\System Information", 
                0x00, 
                0x01, 
                0x00, 
                0xC0, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0xFF
            }, 

            Package (0x0E)
            {
                "MAC Address", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x58, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x12
            }, 

            Package (0x0E)
            {
                "HDD Serial", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x46, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x15
            }, 

            Package (0x0E)
            {
                "HDD Model", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x47, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x29
            }, 

            Package (0x0E)
            {
                "HDD Size", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x01, 
                0x00, 
                0x48, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x09
            }, 

            Package (0x0E)
            {
                "", 
                " ", 
                "\\File\\System Information", 
                0x01, 
                0x00, 
                0x00, 
                0x4C, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x12
            }, 

            Package (0x0E)
            {
                "", 
                " ", 
                "\\File\\System Information", 
                0x00, 
                0x01, 
                0x00, 
                0x49, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x0B
            }, 

            Package (0x0E)
            {
                "", 
                " ", 
                "\\File\\System Information", 
                0x00, 
                0x01, 
                0x00, 
                0x4A, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x00, 
                0x0C
            }
        })
        Name (DSTS, Package (0x04)
        {
            "Success", 
            "Error writing to disk", 
            "Error verifying disk", 
            "User aborted operation"
        })
        Name (DSMD, Package (0x05)
        {
            " ", 
            "Fast", 
            "Optimum", 
            "Custom", 
            "Secure Erase"
        })
        Name (DYEN, Package (0x46)
        {
            0x01, 
            Package (0x10)
            {
                "SATA Device Mode", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x0134, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "AHCI", 
                0x02, 
                "AHCI", 
                "RAID"
            }, 

            0x01, 
            Package (0x10)
            {
                "Ctrl I Prompt", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x013F, 
                0x03, 
                "SELECT * FROM HP_BIOSEnumeration WHERE Name=\'SATA Device Mode\' AND CurrentValue=\'RAID\' ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            0x02, 
            Package (0x10)
            {
                "Trusted Execution Technology (TXT)", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x013A, 
                0x03, 
                "SELECT * FROM HP_BIOSEnumeration WHERE Name=\'TPM Device\' AND CurrentValue=\'Available\'", 
                "SELECT * FROM HP_BIOSEnumeration WHERE Name=\'Virtualization Technology (VTx)\' AND CurrentValue=\'Enable\'", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            0x02, 
            Package (0x11)
            {
                "Trusted Execution Technology (TXT) Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x035D, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            0x03, 
            Package (0x10)
            {
                "SOL Terminal Emulation Mode", 
                "", 
                "\\System Configuration\\AMT Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02BD, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "ANSI", 
                0x02, 
                "VT100", 
                "ANSI"
            }, 

            0x03, 
            Package (0x10)
            {
                "Firmware Verbosity", 
                "", 
                "\\System Configuration\\AMT Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02BD, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            0x03, 
            Package (0x10)
            {
                "Firmware Progress Event Support", 
                "", 
                "\\System Configuration\\AMT Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02C2, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            0x03, 
            Package (0x10)
            {
                "Unconfigure AMT on next boot", 
                "", 
                "\\System Configuration\\AMT Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02C0, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            0x03, 
            Package (0x10)
            {
                "USB Key Provisioning Support", 
                "", 
                "\\System Configuration\\AMT Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02C1, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Enable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            0x03, 
            Package (0x10)
            {
                "AMT Setup Prompt(Ctrl-P)", 
                "", 
                "\\System Configuration\\AMT Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02C3, 
                0x03, 
                "SELECT * FROM HP_BIOSEnumeration WHERE Name=\'Firmware Verbosity\' AND CurrentValue=\'Enable\'", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            0x03, 
            Package (0x10)
            {
                "Initiate Intel CIRA", 
                "", 
                "\\System Configuration\\AMT Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02C5, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            0x03, 
            Package (0x11)
            {
                "SOL Terminal Emulation Mode Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0350, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            0x03, 
            Package (0x11)
            {
                "Firmware Verbosity Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x034C, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            0x03, 
            Package (0x11)
            {
                "Firmware Progress Event Support Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0351, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            0x03, 
            Package (0x11)
            {
                "Unconfigure AMT on next boot Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x034F, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            0x03, 
            Package (0x11)
            {
                "USB Key Provisioning Support Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x034E, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            0x03, 
            Package (0x11)
            {
                "AMT Setup Prompt(Ctrl-P) Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x035E, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            0x03, 
            Package (0x11)
            {
                "Initiate Intel CIRA Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0365, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            0x03, 
            Package (0x10)
            {
                "Soft Temporary Disable", 
                "", 
                "\\System Configuration\\AMT Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02BC, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            0x03, 
            Package (0x11)
            {
                "Soft Temporary Disable Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x034D, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "Hide", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            0x04, 
            Package (0x14)
            {
                "Backlit Keyboard Timeout", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0xDD, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "15 secs.", 
                0x06, 
                "5 secs.", 
                "15 secs.", 
                "30 secs.", 
                "1 min.", 
                "5 mins.", 
                "Never"
            }, 

            0x04, 
            Package (0x11)
            {
                "Backlit Keyboard Timeout Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x036E, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            0x05, 
            Package (0x10)
            {
                "USB Charging Port", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x0147, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            0x05, 
            Package (0x18)
            {
                "Disable charging port in all sleep/off states below(%):", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x018F, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "10", 
                0x0A, 
                "10", 
                "20", 
                "30", 
                "40", 
                "50", 
                "60", 
                "70", 
                "80", 
                "90", 
                "100"
            }, 

            0x05, 
            Package (0x11)
            {
                "USB Charging Port Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0373, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            0x06, 
            Package (0x10)
            {
                "Power Control", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x02A5, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            0x06, 
            Package (0x11)
            {
                "Power Control Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x0382, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            0x07, 
            Package (0x11)
            {
                "Virtualization Technology for Directed I/O (VTd)", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0xDE, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x03, 
                "Disable", 
                "Enable", 
                "Reset to default"
            }, 

            0x07, 
            Package (0x11)
            {
                "Virtualization Technology for Directed I/O (VTd) Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0xDF, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            0x08, 
            Package (0x10)
            {
                "Embedded GPS Device", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x020A, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            0x08, 
            Package (0x11)
            {
                "Embedded GPS Device Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x037A, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "View", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            0x09, 
            Package (0x10)
            {
                "Max SATA Speed", 
                "", 
                "\\System Configuration\\Device Configurations", 
                0x00, 
                0x01, 
                0x00, 
                0x02CA, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "", 
                0x02, 
                "3.0 Gbps", 
                "6.0 Gbps"
            }, 

            0x09, 
            Package (0x11)
            {
                "Max SATA Speed Security Level", 
                "", 
                "\\System Configuration\\Security Level", 
                0x00, 
                0x01, 
                0x00, 
                0x038E, 
                0x03, 
                "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1", 
                " ", 
                " ", 
                0x00, 
                "", 
                0x03, 
                "Change", 
                "View", 
                "Hide"
            }, 

            0x0A, 
            Package (0x10)
            {
                "NFC", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02DB, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "Disable", 
                0x02, 
                "Disable", 
                "Enable"
            }, 

            0x0B, 
            Package (0x10)
            {
                "NFC Mode", 
                "", 
                "\\System Configuration\\Built-In Device Options", 
                0x00, 
                0x01, 
                0x00, 
                0x02DC, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                "", 
                0x02, 
                "I2C", 
                "UART"
            }
        })
        Name (BUSR, Package (0x05)
        {
            Package (0x13)
            {
                " ", 
                " ", 
                "\\Security", 
                0x01, 
                0x00, 
                0x01, 
                0x0259, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x08, 
                0x20, 
                "utf-16", 
                " ", 
                0x00, 
                0x00, 
                0x00
            }, 

            Package (0x13)
            {
                " ", 
                " ", 
                "\\Security", 
                0x01, 
                0x00, 
                0x01, 
                0x025A, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x08, 
                0x20, 
                "utf-16", 
                " ", 
                0x00, 
                0x00, 
                0x00
            }, 

            Package (0x13)
            {
                " ", 
                " ", 
                "\\Security", 
                0x01, 
                0x00, 
                0x01, 
                0x025B, 
                0x03, 
                " ", 
                " ", 
                " ", 
                0x00, 
                0x08, 
                0x20, 
                "utf-16", 
                " ", 
                0x00, 
                0x00, 
                0x00
            }
        })
        Name (ETYP, Buffer (0x01){})
        Device (WMID)
        {
            Name (WCDS, Package (0x3A)
            {
                0x04, 
                0x04, 
                0x04, 
                0x00, 
                0x04, 
                0x04, 
                0x00, 
                0x00, 
                0x04, 
                0x04, 
                0x0C, 
                0x00, 
                0x00, 
                0x00, 
                0x00, 
                0x05, 
                0x00, 
                0x00, 
                0x00, 
                0x04, 
                0x00, 
                0x00, 
                0x00, 
                0x04, 
                0x04, 
                0x00, 
                0x04, 
                0x00, 
                0x04, 
                0x00, 
                0x04, 
                0x00, 
                0x04, 
                0x04, 
                0x02, 
                0x00, 
                0x00, 
                0x00, 
                0x00, 
                0x80, 
                0x80, 
                0x04, 
                0x04, 
                0x00, 
                0x04, 
                0x00, 
                0x80, 
                0x00, 
                0x00, 
                0x00, 
                0x04, 
                0x04, 
                0x00, 
                0x80, 
                0x80, 
                0x04, 
                0x00, 
                0x00
            })
            Name (ZOBF, Buffer ((0x1000 + 0x10)){})
            Method (WHCM, 2, Serialized)
            {
                CreateDWordField (Arg1, 0x00, SNIN)
                CreateDWordField (Arg1, 0x04, COMD)
                CreateDWordField (Arg1, 0x08, CMTP)
                CreateDWordField (Arg1, 0x0C, DASI)
                If ((Arg0 == 0x01))
                {
                    Local0 = 0x00
                }

                If ((Arg0 == 0x02))
                {
                    Local0 = 0x04
                }

                If ((Arg0 == 0x03))
                {
                    Local0 = 0x80
                }

                If ((Arg0 == 0x04))
                {
                    Local0 = 0x0400
                }

                If ((Arg0 == 0x05))
                {
                    Local0 = 0x1000
                }

                Local1 = Buffer ((0x08 + Local0)){}
                CreateDWordField (Local1, 0x00, SNOU)
                CreateDWordField (Local1, 0x04, RTCD)
                SNOU = 0x4C494146
                Local5 = DASI /* \_SB_.WMID.WHCM.DASI */
                If ((DASI > 0x2000))
                {
                    RTCD = 0x05
                    Return (Local1)
                }

                Local5 = DASI /* \_SB_.WMID.WHCM.DASI */
                CreateField (Arg1, 0x00, ((Local5 + 0x10) * 0x08), DAIN)
                ASMB = DAIN /* \_SB_.WMID.WHCM.DAIN */
                RTCD = 0x02
                If ((SNIN == 0x55434553))
                {
                    RTCD = 0x03
                    If ((COMD == 0x01))
                    {
                        RTCD = 0x04
                        If ((CMTP == 0x01))
                        {
                            Local2 = ^WGDD ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x02))
                        {
                            Local2 = ^WGHP ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x03))
                        {
                            Local2 = ^WALS ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x04))
                        {
                            Local2 = ^WGDS ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x07))
                        {
                            If (DASI)
                            {
                                Local3 = DerefOf (Arg1 [0x10])
                                Local2 = WGBI (Local3)
                                RTCD = 0x00
                            }
                            Else
                            {
                                RTCD = 0x05
                            }
                        }

                        If ((CMTP == 0x08))
                        {
                            Debug = "Bezel button table"
                            Local2 = ^WGBN ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x0D))
                        {
                            Debug = "Feature Report"
                            Local2 = ^GFRT ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x09))
                        {
                            Debug = "Hotkey Scancode"
                            Local2 = ^GHKS ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x0A))
                        {
                            Debug = "Hotkey Function"
                            Local2 = ^GHKF ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x0C))
                        {
                            Debug = "Bezel button"
                            Local2 = ^WGBV ()
                            Debug = Local2
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x0F))
                        {
                            Local2 = ^GSAS ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x10))
                        {
                            Local2 = ^GSRV ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x11))
                        {
                            Local2 = ^GVPR ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x12))
                        {
                            Local2 = ^GBRS ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x14))
                        {
                            Local2 = ^GWPT ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x18))
                        {
                            Debug = "Get system configuration"
                            Local2 = ^GDBT ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x1B))
                        {
                            If ((\_SB.WLBU._STA () != 0x0F))
                            {
                                Local2 = ^WGWS ()
                                RTCD = 0x00
                            }
                        }

                        If ((CMTP == 0x1D))
                        {
                            Debug = "Get Diags mode"
                            Local2 = ^GDMD ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x1E))
                        {
                            Debug = "Get BIOS Update status"
                            Local2 = ^GBUS ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x28))
                        {
                            Debug = "Get thermal status"
                            If ((DASI != 0x04))
                            {
                                RTCD = 0x05
                            }
                            Else
                            {
                                CreateField (Arg1, 0x80, (DASI * 0x08), GTSD)
                                Local2 = ^GTMS (GTSD)
                                RTCD = 0x00
                            }
                        }

                        If ((CMTP == 0x2B))
                        {
                            Debug = "Get Battery control"
                            Local2 = ^WGBC ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x20))
                        {
                            Local2 = ^GBTT ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x21))
                        {
                            If ((DASI < DerefOf (WCDS [(CMTP - 0x01)])))
                            {
                                RTCD = 0x05
                            }
                            ElseIf ((\WCOS () >= 0x06))
                            {
                                RTCD = 0x04
                            }
                            Else
                            {
                                CreateDWordField (Arg1, 0x10, BTYP)
                                Local2 = ^GBTL (BTYP)
                                RTCD = 0x00
                            }
                        }

                        If ((CMTP == 0x22))
                        {
                            Debug = "Quick Button Policy"
                            Local2 = ^GQBP ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x23))
                        {
                            Local2 = ^GPIN ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x29))
                        {
                            Local2 = ^GFCC ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x2A))
                        {
                            Local2 = ^GPES ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x2E))
                        {
                            Local2 = ^GLID ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x30))
                        {
                            Local2 = ^GEID ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x33))
                        {
                            Local2 = ^GDES ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x34))
                        {
                            Local2 = ^GBLC ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x36))
                        {
                            Local2 = ^GPST ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x37))
                        {
                            Local2 = ^GBCT ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x38))
                        {
                            Local2 = ^GPSH ()
                            RTCD = 0x00
                        }
                    }

                    If ((COMD == 0x02))
                    {
                        RTCD = 0x04
                        If (((CMTP > 0x00) && (CMTP <= 0x39)))
                        {
                            If ((DASI < DerefOf (WCDS [(CMTP - 0x01)])))
                            {
                                RTCD = 0x05
                            }
                            Else
                            {
                                CreateDWordField (Arg1, 0x10, DDWD)
                                If ((CMTP == 0x01))
                                {
                                    Debug = "set display switch"
                                    Local2 = ^WSDD (DDWD)
                                    RTCD = 0x00
                                }

                                If ((CMTP == 0x02))
                                {
                                    Local2 = ^WITH (DDWD)
                                    RTCD = 0x00
                                }

                                If ((CMTP == 0x03))
                                {
                                    Local2 = ^WSAL (DDWD)
                                    RTCD = 0x00
                                }

                                If ((CMTP == 0x06))
                                {
                                    Debug = "write Brightness"
                                    Local2 = ^SBBC (DDWD)
                                    Debug = Local2
                                    RTCD = 0x00
                                }

                                If ((CMTP == 0x09))
                                {
                                    Debug = "Hotkey Scancode"
                                    Local2 = ^SHKS (DDWD)
                                    Debug = Local2
                                    RTCD = 0x00
                                }

                                If ((CMTP == 0x0A))
                                {
                                    Debug = "Hotkey Function"
                                    Local2 = ^SHKF (DDWD)
                                    Debug = Local2
                                    RTCD = 0x00
                                }

                                If ((CMTP == 0x10))
                                {
                                    Debug = "Set Service ID"
                                    Local2 = ^SSRV (DDWD)
                                    Debug = Local2
                                    RTCD = 0x00
                                }

                                If ((CMTP == 0x14))
                                {
                                    Local2 = ^SWPT (DDWD)
                                    RTCD = 0x00
                                }

                                If ((CMTP == 0x18))
                                {
                                    Debug = "Set System configuration"
                                    Local2 = ^SDBT (DDWD)
                                    Local3 = (DDWD ^ DTCD) /* \DTCD */
                                    If ((Local3 & 0x1800))
                                    {
                                        \_SB.PCI0.LPCB.EC0.PWUP (0x01, 0x00)
                                        Notify (\_SB.AC, 0x80) // Status Change
                                        DTCD = DDWD /* \_SB_.WMID.WHCM.DDWD */
                                    }

                                    Debug = Local2
                                    RTCD = 0x00
                                }

                                If ((CMTP == 0x1B))
                                {
                                    If ((\_SB.WLBU._STA () != 0x0F))
                                    {
                                        Local2 = ^WSWS (DDWD)
                                        RTCD = 0x00
                                        WGWE (0x05, 0x00)
                                    }
                                }

                                If ((CMTP == 0x1D))
                                {
                                    Debug = "Get Diags mode"
                                    Local2 = ^SDMD (DDWD)
                                    Debug = Local2
                                    RTCD = 0x00
                                }

                                If ((CMTP == 0x1E))
                                {
                                    Debug = "Get BIOS Update status"
                                    Local2 = ^SBUS (DDWD)
                                    RTCD = 0x00
                                }

                                If ((CMTP == 0x28))
                                {
                                    Debug = "Set thermal status"
                                    CreateField (Arg1, 0x80, (DASI * 0x08), STSD)
                                    Local2 = ^STMM (STSD)
                                    RTCD = 0x00
                                }

                                If ((CMTP == 0x2B))
                                {
                                    Debug = "Get Battery control"
                                    Local2 = ^WSBC (CMTP, DASI, DAIN)
                                    RTCD = 0x00
                                }

                                If ((CMTP == 0x21))
                                {
                                    If ((\WCOS () >= 0x06))
                                    {
                                        RTCD = 0x04
                                    }
                                    Else
                                    {
                                        Local2 = ^SBRT ((DDWD & 0xFF), ((DDWD >> 0x08) & 
                                            0xFFFF))
                                        If ((Local2 != Ones))
                                        {
                                            BRID = Local2
                                            \_SB.SSMI (0xEA74, 0x08, Local2, 0x00, 0x00)
                                            \_SB.WBRT ()
                                            Local2 = Package (0x02)
                                                {
                                                    0x00, 
                                                    0x00
                                                }
                                        }
                                        Else
                                        {
                                            Local2 = Package (0x02)
                                                {
                                                    0x06, 
                                                    0x00
                                                }
                                        }

                                        RTCD = 0x00
                                    }
                                }

                                If ((CMTP == 0x22))
                                {
                                    Debug = "Set Quick Button Policy"
                                    Local2 = ^SQBP (DDWD)
                                    RTCD = 0x00
                                }

                                If ((CMTP == 0x23))
                                {
                                    Local2 = ^SPIN (DDWD)
                                    RTCD = 0x00
                                }

                                If ((CMTP == 0x29))
                                {
                                    Local2 = ^SFCC (DDWD)
                                    RTCD = 0x00
                                }

                                If ((CMTP == 0x2A))
                                {
                                    Local2 = ^SPES (DDWD)
                                    RTCD = 0x00
                                }

                                If ((CMTP == 0x34))
                                {
                                    Local2 = ^SBLC (DDWD)
                                    RTCD = 0x00
                                }

                                If ((CMTP == 0x36))
                                {
                                    Local2 = ^SPST (DDWD)
                                    RTCD = 0x00
                                    If ((DerefOf (Local2 [0x00]) == 0x00))
                                    {
                                        If ((PSCF == 0x01))
                                        {
                                            \_SB.WMID.WGWE (0x0F, 0x02)
                                        }
                                    }
                                }

                                If ((CMTP == 0x37))
                                {
                                    Local2 = ^SBCP (DDWD)
                                    RTCD = 0x00
                                    If ((DerefOf (Local2 [0x00]) == 0x00))
                                    {
                                        If ((PSCF == 0x01))
                                        {
                                            \_SB.WMID.WGWE (0x10, 0x02)
                                        }

                                        If ((BCSC == 0x01))
                                        {
                                            \_SB.WMID.WGWE (0x10, 0x00)
                                        }

                                        BCSC = 0x00
                                    }
                                }

                                If ((CMTP == 0x38))
                                {
                                    Local2 = ^SPSH (DDWD)
                                    RTCD = 0x00
                                    If ((DerefOf (Local2 [0x00]) == 0x00))
                                    {
                                        If ((PSCF == 0x01))
                                        {
                                            \_SB.WMID.WGWE (0x0F, 0x04)
                                        }
                                    }
                                }
                            }
                        }
                    }

                    If ((COMD == 0x03))
                    {
                        Local2 = \_SB.HODM (CMTP, DASI, DAIN)
                        RTCD = 0x00
                    }

                    If ((COMD == 0x00020000))
                    {
                        \_SB.SSMI (0xEA75, COMD, CMTP, 0x574D4953, 0x00)
                        Local2 = WFDA ()
                        RTCD = 0x00
                    }

                    If ((COMD == 0x00020001))
                    {
                        \_SB.SSMI (0xEA75, COMD, CMTP, 0x574D4953, 0x00)
                        If ((EDX == 0x5A5A))
                        {
                            While ((EDX == 0x5A5A))
                            {
                                \_SB.SSMI (0xEA75, COMD, 0x10, 0x574D4953, 0x00)
                                Sleep (0x19)
                            }

                            ECX = 0x00
                            EDX = 0x574D4953
                        }

                        Local2 = WFDA ()
                        RTCD = 0x00
                    }

                    If ((COMD == 0x00020002))
                    {
                        \_SB.SSMI (0xEA75, COMD, CMTP, 0x574D4953, 0x00)
                        Local2 = WFDA ()
                        RTCD = 0x00
                    }

                    If ((COMD == 0x00020004))
                    {
                        \_SB.SSMI (0xEA75, COMD, CMTP, 0x574D4953, 0x00)
                        Local2 = WFDA ()
                        RTCD = 0x00
                    }

                    If ((COMD == 0x00020006))
                    {
                        If ((CMTP == 0x00))
                        {
                            CreateByteField (Arg1, 0x10, FCIP)
                            Switch (FCIP)
                            {
                                Case (0x07)
                                {
                                    Local6 = 0x07
                                }
                                Case (0x08)
                                {
                                    Local6 = 0x11
                                }
                                Case (0x0A)
                                {
                                    Local6 = 0x02
                                }
                                Default
                                {
                                    Local6 = 0x01
                                }

                            }

                            Local2 = ^FSEC (Arg1, Local6, FCIP)
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x01))
                        {
                            CreateByteField (Arg1, 0x10, TMP1)
                            Local2 = ^FGIF (TMP1)
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x02))
                        {
                            CreateByteField (Arg1, 0x10, TMP2)
                            Local2 = ^FGAE (TMP2)
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x03))
                        {
                            CreateByteField (Arg1, 0x10, TMP0)
                            Local2 = ^FGAU (TMP0)
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x04))
                        {
                            Local2 = ^FGFS ()
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x05))
                        {
                            Local2 = ^FBPS (Arg1)
                            RTCD = 0x00
                        }

                        If ((CMTP == 0x06))
                        {
                            Local2 = ^FGLW ()
                            RTCD = 0x00
                        }
                    }

                    If ((COMD == 0x00020007))
                    {
                        \_SB.SSMI (0xEA75, COMD, CMTP, 0x574D4953, 0x00)
                        Local2 = WFDA ()
                        RTCD = 0x00
                    }
                }

                If ((RTCD == 0x00))
                {
                    RTCD = DerefOf (Local2 [0x00])
                    If ((RTCD == 0x00))
                    {
                        Local3 = DerefOf (Local2 [0x01])
                        If ((Local3 <= Local0))
                        {
                            Local5 = 0x00
                            While ((Local5 < Local3))
                            {
                                Local1 [(Local5 + 0x08)] = DerefOf (DerefOf (
                                    Local2 [0x02]) [Local5])
                                Local5++
                            }

                            If ((COMD == 0x00020000))
                            {
                                If (EDX)
                                {
                                    Debug = "Encrypted Data Out"
                                    RTCD |= (Local3 << 0x10) /* \_SB_.WMID.WHCM.RTCD */
                                }
                                Else
                                {
                                    Debug = "No Encrypted Data Out"
                                }
                            }

                            SNOU = 0x53534150
                        }
                        Else
                        {
                            RTCD = 0x05
                        }
                    }
                }

                ASMB = ZOBF /* \_SB_.WMID.ZOBF */
                Return (Local1)
            }

            Method (WFDA, 0, NotSerialized)
            {
                If (((ECX == 0x00) || (EBX != 0x00)))
                {
                    Local0 = Package (0x02)
                        {
                            0x00, 
                            0x00
                        }
                }
                Else
                {
                    Local1 = ECX /* \ECX_ */
                    Local0 = Package (0x03)
                        {
                            0x00, 
                            0x00, 
                            Buffer (Local1){}
                        }
                    Debug = ECX /* \ECX_ */
                }

                Local0 [0x00] = EBX /* \EBX_ */
                If ((EBX == 0x00))
                {
                    Local0 [0x01] = ECX /* \ECX_ */
                    If ((ECX != 0x00))
                    {
                        Local1 = ASMB /* \ASMB */
                        Local2 = 0x00
                        While ((Local2 < ECX))
                        {
                            DerefOf (Local0 [0x02]) [Local2] = DerefOf (Local1 [
                                Local2])
                            Local2++
                        }
                    }
                }

                Return (Local0)
            }

            Method (WGWE, 2, NotSerialized)
            {
                If ((\_SB.WMID.WEI1 == 0x00))
                {
                    \_SB.WMID.WEI1 = Arg0
                    \_SB.WMID.WED1 = Arg1
                }
                Else
                {
                    \_SB.WMID.WEI2 = Arg0
                    \_SB.WMID.WED2 = Arg1
                }

                Notify (\_SB.WMID, 0x80) // Status Change
            }

            Method (GBTT, 0, NotSerialized)
            {
                Local1 = BCL ()
                Local5 = ((BRCT * 0x04) + 0x0C)
                Local0 = Buffer (Local5){}
                Local0 [0x00] = 0x03
                Local0 [0x01] = PNLF /* \PNLF */
                Local0 [0x02] = 0x00
                Local0 [0x03] = BRCT /* \BRCT */
                Local2 = 0x00
                Local3 = 0x04
                While ((Local2 < BRCT))
                {
                    Local0 [Local3] = DerefOf (Local1 [(Local2 + 0x02)]
                        )
                    Local0 [(Local3 + 0x01)] = 0x00
                    Local2++
                    Local3 += 0x02
                }

                Local0 [Local3] = 0x01
                Local3++
                Local0 [Local3] = BRCT /* \BRCT */
                Local3++
                Local2 = 0x00
                While ((Local2 < (BRCT * 0x02)))
                {
                    Local0 [Local3] = DerefOf (DerefOf (NITS [BCLI]) [
                        Local2])
                    Local2++
                    Local3++
                }

                Local0 [Local3] = 0x02
                Local3++
                Local0 [Local3] = 0x02
                Local3++
                Local2 = BPWG /* \BPWG */
                Local0 [Local3] = (Local2 & 0xFF)
                Local3++
                Local0 [Local3] = ((Local2 >> 0x08) & 0xFF)
                Local3++
                Local2 = BPWO /* \BPWO */
                Local0 [Local3] = (Local2 & 0xFF)
                Local3++
                Local0 [Local3] = ((Local2 >> 0x08) & 0xFF)
                Local3++
                Local2 = Package (0x03){}
                Local2 [0x00] = 0x00
                Local2 [0x01] = Local5
                Local2 [0x02] = Local0
                Return (Local2)
            }

            Method (GBTL, 1, NotSerialized)
            {
                Local0 = 0x00
                Local1 = BCL ()
                If ((Arg0 == 0x00))
                {
                    Local2 = DerefOf (Local1 [(BRID + 0x02)])
                }
                ElseIf ((Arg0 == 0x01))
                {
                    Local2 = BRID /* \BRID */
                }
                ElseIf ((Arg0 == 0x02))
                {
                    Local4 = (BRID << 0x01)
                    Local2 = DerefOf (DerefOf (NITS [BCLI]) [Local4])
                    Local3 = DerefOf (DerefOf (NITS [BCLI]) [(Local4 + 0x01
                        )])
                    Local2 = ((Local3 << 0x08) | Local2)
                }
                ElseIf ((Arg0 == 0x03))
                {
                    Local1 = BRLV /* \BRLV */
                    Local3 = BRID /* \BRID */
                    If ((BCLI == 0x00))
                    {
                        Local2 = BMAP /* \BMAP */
                        Local3 = DerefOf (Local2 [BRID])
                    }

                    Local2 = DerefOf (Local1 [Local3])
                }
                Else
                {
                    Local0 = 0x06
                }

                Local1 = Package (0x03){}
                Local1 [0x00] = Local0
                If ((Local0 == 0x00))
                {
                    Local1 [0x01] = 0x04
                    Local3 = Buffer (0x04){}
                    Local3 [0x00] = (Local2 & 0xFF)
                    Local3 [0x01] = ((Local2 >> 0x08) & 0xFF)
                    Local1 [0x02] = Local3
                }
                Else
                {
                    Local1 [0x01] = 0x00
                }

                Return (Local1)
            }

            Method (SBRT, 2, NotSerialized)
            {
                Local0 = BCL ()
                Local1 = Ones
                If ((Arg0 == 0x00))
                {
                    Local1 = Match (Local0, MEQ, Arg1, MTR, 0x00, 0x02)
                    If ((Local1 != Ones))
                    {
                        Local1 -= 0x02
                    }
                }
                ElseIf ((Arg0 == 0x01))
                {
                    If ((Arg1 < BRCT))
                    {
                        Local1 = Arg1
                    }
                }
                ElseIf ((Arg0 == 0x02))
                {
                    Local2 = DerefOf (NITS [BCLI])
                    Local3 = 0x00
                    While ((Local3 < BRCT))
                    {
                        If ((DerefOf (Local2 [(Local3 * 0x02)]) == Arg1))
                        {
                            Local1 = Local3
                            Local3 = 0xFF
                        }

                        Local3++
                    }
                }
                ElseIf ((Arg0 == 0x03))
                {
                    Local2 = BRLV /* \BRLV */
                    Local3 = BMAP /* \BMAP */
                    Local4 = 0x00
                    While ((Local4 < BRCT))
                    {
                        Local5 = Local4
                        If ((BCLI == 0x00))
                        {
                            Local5 = DerefOf (Local3 [Local4])
                        }

                        If ((DerefOf (Local2 [Local5]) == Arg1))
                        {
                            Local1 = Local4
                            Local4 = 0xFF
                        }

                        Local4++
                    }
                }

                Return (Local1)
            }

            Method (GEID, 0, NotSerialized)
            {
                Local0 = Package (0x03)
                    {
                        0x00, 
                        0x04, 
                        Buffer (0x0400){}
                    }
                Local0 [0x01] = 0x0400
                Local1 = EDID /* \EDID */
                Local2 = 0x00
                While ((Local2 < 0x0100))
                {
                    DerefOf (Local0 [0x02]) [Local2] = DerefOf (Local1 [
                        Local2])
                    Local2++
                }

                Return (Local0)
            }

            Name (NULL, "                                      ")
            Name (BTDN, 0x00)
            Name (DEEN, Package (0x0B)
            {
                "", 
                "", 
                "", 
                0x01, 
                0x00, 
                0x00, 
                0x00, 
                0x00, 
                0x00, 
                "", 
                0x00
            })
            Method (WQBC, 1, Serialized)
            {
                IWMP ()
                \_SB.SSMI (0xEA7B, 0x00, 0x01, Arg0, 0x00)
                If ((STAT == 0x80))
                {
                    DerefOf (BISE [Arg0]) [0x04] = 0x00
                }

                Local5 = DerefOf (BISE [Arg0])
                Local0 = DerefOf (Local5 [0x00])
                If ((((\_SB.PCI0.HBID == 0x8086) && (\_SB.PCI0.GFX0.GVID == 0xFFFF)) || (\_SB.PCI0.HBID != 
                    0x8086)))
                {
                    If ((\SRCP (Local0, "UMA Video Memory Size") || \SRCP (Local0, "UMA Video Memory Size Policy")))
                    {
                        DerefOf (BISE [Arg0]) [0x00] = NULL /* \_SB_.WMID.NULL */
                    }
                }

                If ((\SRCP (Local0, "Hybrid Graphics") || \SRCP (Local0, "Hybrid Graphics Security Level")))
                {
                    If ((SGSP == 0x00))
                    {
                        DerefOf (BISE [Arg0]) [0x00] = NULL /* \_SB_.WMID.NULL */
                    }
                }

                If (\SRCP (Local0, "Hybrid Graphics Enhanced Display Feature"))
                {
                    If ((SGSP == 0x00))
                    {
                        DerefOf (BISE [Arg0]) [0x00] = NULL /* \_SB_.WMID.NULL */
                    }
                }

                If (\SRCP (Local0, "HP Touchpoint Manager Always On Remote Management Activation"))
                {
                    If ((BECP == 0x00))
                    {
                        Return (DEEN) /* \_SB_.WMID.DEEN */
                    }
                }

                If (\SRCP (Local0, "HP Touchpoint Manager Always On Remote Management Commands"))
                {
                    If ((BECP == 0x00))
                    {
                        Return (DEEN) /* \_SB_.WMID.DEEN */
                    }
                }

                If (\SRCP (Local0, "HP Touchpoint Manager Always On Remote Management Status"))
                {
                    If ((BECP == 0x00))
                    {
                        Return (DEEN) /* \_SB_.WMID.DEEN */
                    }
                }

                If ((FMOD == 0x00))
                {
                    If ((\SRCP (Local0, "Virtualization Technology (VTx)") || \SRCP (Local0, "Virtualization Technology for Directed I/O (VTd)")))
                    {
                        DerefOf (BISE [Arg0]) [0x05] = 0x01
                        DerefOf (BISE [Arg0]) [0x08] = "SELECT * FROM HP_BIOSPassword WHERE Name=\'Setup Password\' AND IsSet=1"
                    }

                    If (\SRCP (Local0, "Manufacturing Programming Mode"))
                    {
                        DerefOf (BISE [Arg0]) [0x03] = 0x01
                    }
                }

                Local6 = EVAL /* \EVAL */
                DerefOf (BISE [Arg0]) [0x0B] = ((Local6 & 
                    0xF0) >> 0x04)
                Local6 = (Local6 & 0x0F)
                Local4 = SizeOf (Local5)
                Local2 = DerefOf (Local5 [0x0D])
                If ((Local2 > 0x00))
                {
                    Local2 += 0x0E
                    If ((Local2 < Local4))
                    {
                        Local4 = Local2
                    }

                    If (\SRCP (Local0, "Parallel port mode"))
                    {
                        If ((Local6 == 0x04))
                        {
                            Local6 = 0x03
                        }
                    }

                    If (\SRCP (DerefOf (Local5 [0x0E]), CHGE))
                    {
                        Switch (Local6)
                        {
                            Case (0x02)
                            {
                                Local6 = 0x00
                            }
                            Case (0x03)
                            {
                                Local6 = 0x02
                            }
                            Case (0x00)
                            {
                                Local7 = DerefOf (Local5 [0x0C])
                                Name (ST99, Buffer (SizeOf (Local7)){})
                                ST99 = Local7
                                Switch (DerefOf (ST99 [0x00]))
                                {
                                    Case (0x48)
                                    {
                                        Local6 = 0x02
                                    }
                                    Case (0x56)
                                    {
                                        Local6 = 0x01
                                    }
                                    Default
                                    {
                                        Local6 = 0x00
                                    }

                                }
                            }

                        }
                    }

                    Local6 += 0x0E
                    If ((Local6 >= Local4))
                    {
                        Local6 = (Local4 - 0x01)
                    }

                    Local7 = DerefOf (DerefOf (BISE [Arg0]) [Local6])
                    DerefOf (BISE [Arg0]) [0x0C] = Local7
                    Local1 = " "
                    Local2 = 0x0E
                    While ((Local2 < Local6))
                    {
                        Local3 = DerefOf (Local5 [Local2])
                        Concatenate (Local1, Local3, Local7)
                        Concatenate (Local7, ", ", Local1)
                        Local2++
                    }

                    Concatenate (Local1, "*", Local7)
                    While ((Local2 < Local4))
                    {
                        Local3 = DerefOf (Local5 [Local2])
                        If (\SRCP (Local3, " "))
                        {
                            Break
                        }
                        Else
                        {
                            If ((Local2 != Local6))
                            {
                                Concatenate (Local7, ", ", Local1)
                            }
                            Else
                            {
                                Local1 = Local7
                            }

                            Concatenate (Local1, Local3, Local7)
                        }

                        Local2++
                    }

                    DerefOf (BISE [Arg0]) [0x01] = Local7
                }

                If (\SRCP (Local0, "Battery Ship Mode"))
                {
                    If ((FMOD == 0x00))
                    {
                        Return (DEEN) /* \_SB_.WMID.DEEN */
                    }
                }

                Return (DerefOf (BISE [Arg0]))
            }

            Method (WQBD, 1, NotSerialized)
            {
                Local0 = 0x00
                Local1 = 0x00
                Local2 = 0x00
                Local4 = 0x00
                Local5 = 0x00
                Local6 = 0x00
                Local7 = 0x00
                \_SB.SSMI (0xEA7B, 0x00, 0x02, Arg0, 0x00)
                If ((FMOD == 0x00))
                {
                    Local4 = 0x01
                    While ((Local4 && (Local2 < SizeOf (MPMS))))
                    {
                        Local3 = DerefOf (DerefOf (BSSS [Arg0]) [0x00])
                        If (\SRCM (Local3, DerefOf (MPMS [Local2]), SizeOf (Local3)))
                        {
                            DerefOf (BSSS [Arg0]) [0x03] = 0x01
                            Local4 = 0x00
                        }

                        Local2++
                    }

                    Local4 = 0x00
                }

                If ((Arg0 == 0x00))
                {
                    WTB2 = ASTG /* \ASTG */
                    CreateField (WTB2, 0x00, 0x0100, CAST)
                    BF2S = CAST /* \_SB_.WMID.WQBD.CAST */
                    DerefOf (BSSS [Arg0]) [0x0B] = ((STAT & 
                        0xF0) >> 0x04)
                }

                If ((Arg0 == 0x01))
                {
                    WTB2 = OWNT /* \OWNT */
                    CreateField (WTB2, 0x00, 0x0280, COWT)
                    BF2S = COWT /* \_SB_.WMID.WQBD.COWT */
                    DerefOf (BSSS [Arg0]) [0x0B] = ((STAT & 
                        0xF0) >> 0x04)
                }

                If ((Arg0 == 0x02))
                {
                    WTB2 = LFND /* \LFND */
                    CreateField (WTB2, 0x00, 0x0510, WLFD)
                    BF2S = WLFD /* \_SB_.WMID.WQBD.WLFD */
                    Local6 = EVAL /* \EVAL */
                    DerefOf (BSSS [Arg0]) [0x0B] = Local6
                }

                If ((Arg0 == 0x03))
                {
                    WTB2 = ATIM /* \ATIM */
                    CreateField (WTB2, 0x00, 0x28, WATM)
                    BF2S = WATM /* \_SB_.WMID.WQBD.WATM */
                }

                If ((Arg0 == 0x04))
                {
                    WTB2 = PCID /* \PCID */
                    CreateField (WTB2, 0x00, 0x0200, WPCD)
                    BF2S = WPCD /* \_SB_.WMID.WQBD.WPCD */
                }

                If ((Arg0 == 0x05))
                {
                    WTB2 = CURL /* \CURL */
                    CreateField (WTB2, 0x00, 0x0410, WURL)
                    BF2S = WURL /* \_SB_.WMID.WQBD.WURL */
                }

                If ((Arg0 == 0x06))
                {
                    WTB2 = PCVR /* \PCVR */
                    CreateField (WTB2, 0x00, 0x28, PCIV)
                    BF2S = PCIV /* \_SB_.WMID.WQBD.PCIV */
                }

                If ((Arg0 == 0x07))
                {
                    WTB2 = PROD /* \PROD */
                    CreateField (WTB2, 0x00, 0x0280, CRPD)
                    BF2S = CRPD /* \_SB_.WMID.WQBD.CRPD */
                }

                If ((Arg0 == 0x08))
                {
                    WTB2 = MODL /* \MODL */
                    CreateField (WTB2, 0x00, 0x0280, CMOD)
                    BF2S = CMOD /* \_SB_.WMID.WQBD.CMOD */
                }

                If ((Arg0 == 0x09))
                {
                    WTB2 = PTYP /* \PTYP */
                    CreateField (WTB2, 0x00, 0x0280, CCPU)
                    BF2S = CCPU /* \_SB_.WMID.WQBD.CCPU */
                }

                If ((Arg0 == 0x0A))
                {
                    WTB2 = PFRQ /* \PFRQ */
                    CreateField (WTB2, 0x00, 0x50, CFRQ)
                    BF2S = CFRQ /* \_SB_.WMID.WQBD.CFRQ */
                }

                If ((Arg0 == 0x0B))
                {
                    WTB2 = MEMS /* \_SB_.WMID.WQBD.MEMS */
                    CreateField (WTB2, 0x00, 0x0280, MEMS)
                    BF2S = MEMS /* \_SB_.WMID.WQBD.MEMS */
                }

                If ((Arg0 == 0x0C))
                {
                    WTB2 = DATE /* \DATE */
                    CreateField (WTB2, 0x00, 0x0280, CDAT)
                    BF2S = CDAT /* \_SB_.WMID.WQBD.CDAT */
                }

                If ((Arg0 == 0x0D))
                {
                    WTB2 = FAMI /* \FAMI */
                    CreateField (WTB2, 0x00, 0x0280, CFAM)
                    BF2S = CFAM /* \_SB_.WMID.WQBD.CFAM */
                }

                If ((Arg0 == 0x0E))
                {
                    WTB2 = SERL /* \SERL */
                    CreateField (WTB2, 0x00, 0x0280, CSER)
                    BF2S = CSER /* \_SB_.WMID.WQBD.CSER */
                }

                If ((Arg0 == 0x0F))
                {
                    WTB2 = VREV /* \VREV */
                    CreateField (WTB2, 0x00, 0x0280, CREV)
                    BF2S = CREV /* \_SB_.WMID.WQBD.CREV */
                }

                If ((Arg0 == 0x10))
                {
                    WTB2 = VRE2 /* \VRE2 */
                    CreateField (WTB2, 0x00, 0x0280, CRE2)
                    BF2S = CRE2 /* \_SB_.WMID.WQBD.CRE2 */
                }

                If ((Arg0 == 0x11))
                {
                    WTB2 = KBCD /* \KBCD */
                    CreateField (WTB2, 0x00, 0x0280, CKBC)
                    BF2S = CKBC /* \_SB_.WMID.WQBD.CKBC */
                }

                If ((Arg0 == 0x12))
                {
                    If ((STAT == 0x80))
                    {
                        DerefOf (BSSS [Arg0]) [0x04] = 0x00
                        BF2S = NOIN /* \_SB_.NOIN */
                    }
                    Else
                    {
                        WTB2 = HDDS /* \HDDS */
                        CreateField (WTB2, 0x00, 0xA8, WHDD)
                        BF2S = WHDD /* \_SB_.WMID.WQBD.WHDD */
                    }
                }

                If ((Arg0 == 0x13))
                {
                    If ((STAT == 0x80))
                    {
                        DerefOf (BSSS [Arg0]) [0x04] = 0x00
                        BF2S = NOIN /* \_SB_.NOIN */
                    }
                    Else
                    {
                        WTB2 = HDDM /* \HDDM */
                        CreateField (WTB2, 0x00, 0x0148, WHDM)
                        BF2S = WHDM /* \_SB_.WMID.WQBD.WHDM */
                    }
                }

                If ((Arg0 == 0x14))
                {
                    If ((STAT == 0x80))
                    {
                        DerefOf (BSSS [Arg0]) [0x04] = 0x00
                        BF2S = NOIN /* \_SB_.NOIN */
                    }
                    Else
                    {
                        WTB2 = CDAT /* \_SB_.WMID.WQBD.CDAT */
                        CreateField (WTB2, 0x00, 0x88, WCDT)
                        BF2S = WCDT /* \_SB_.WMID.WQBD.WCDT */
                    }
                }

                If ((Arg0 == 0x15))
                {
                    If ((STAT == 0x80))
                    {
                        DerefOf (BSSS [Arg0]) [0x04] = 0x00
                        BF2S = NOIN /* \_SB_.NOIN */
                    }
                    Else
                    {
                        WTB2 = CSTS /* \CSTS */
                        CreateByteField (WTB2, 0x00, WCST)
                        Local5 = WCST /* \_SB_.WMID.WQBD.WCST */
                        If ((Local5 == 0x00))
                        {
                            Local0 = 0x00
                            WTB4 = DerefOf (DSTS [Local0])
                            BF2S = WTB4 /* \_SB_.WTB4 */
                        }

                        If ((Local5 == 0xFF))
                        {
                            Local0 = 0x01
                            WTB4 = DerefOf (DSTS [Local0])
                            BF2S = WTB4 /* \_SB_.WTB4 */
                        }

                        If ((Local5 == 0xFE))
                        {
                            Local0 = 0x02
                            WTB4 = DerefOf (DSTS [Local0])
                            BF2S = WTB4 /* \_SB_.WTB4 */
                        }

                        If ((Local5 == 0xFD))
                        {
                            Local0 = 0x03
                            WTB4 = DerefOf (DSTS [Local0])
                            BF2S = WTB4 /* \_SB_.WTB4 */
                        }
                    }
                }

                If ((Arg0 == 0x16))
                {
                    If ((STAT == 0x80))
                    {
                        DerefOf (BSSS [Arg0]) [0x04] = 0x00
                        BF2S = NOIN /* \_SB_.NOIN */
                    }
                    Else
                    {
                        WTB2 = CYCL /* \CYCL */
                        CreateByteField (WTB2, 0x00, WCYC)
                        ToBCD (WCYC, Local1)
                        Local2 = 0x01
                        If ((WCYC <= 0x09))
                        {
                            Local2 = 0x01
                        }

                        If ((WCYC >= 0x0A))
                        {
                            Local2 = 0x02
                        }

                        If ((WCYC >= 0x64))
                        {
                            Local2 = 0x03
                        }

                        If ((WCYC >= 0x03E8))
                        {
                            Local2 = 0x04
                        }

                        If ((WCYC >= 0x2710))
                        {
                            Local2 = 0x05
                        }

                        Local3 = \ISTR (Local1, Local2)
                        BF2S = Local3
                    }
                }

                If ((Arg0 == 0x17))
                {
                    WTB2 = SVID /* \SVID */
                    CreateField (WTB2, 0x00, 0x50, CSID)
                    BF2S = CSID /* \_SB_.WMID.WQBD.CSID */
                }

                If ((Arg0 == 0x18))
                {
                    WTB2 = SKUN /* \SKUN */
                    CreateField (WTB2, 0x00, 0x80, CSKU)
                    BF2S = CSKU /* \_SB_.WMID.WQBD.CSKU */
                }

                If ((Arg0 == 0x19))
                {
                    WTB2 = SSID /* \SSID */
                    CreateField (WTB2, 0x00, 0x20, WSID)
                    BF2S = WSID /* \_SB_.WMID.WQBD.WSID */
                }

                If ((Arg0 == 0x1A))
                {
                    WTB2 = PBSN /* \PBSN */
                    CreateField (WTB2, 0x00, 0x90, WPSN)
                    BF2S = WPSN /* \_SB_.WMID.WQBD.WPSN */
                }

                If ((Arg0 == 0x1B))
                {
                    WTB2 = SBSN /* \SBSN */
                    CreateField (WTB2, 0x00, 0x90, WSSN)
                    BF2S = WSSN /* \_SB_.WMID.WQBD.WSSN */
                }

                If ((Arg0 == 0x1C))
                {
                    WTB2 = BTFC /* \BTFC */
                    CreateField (WTB2, 0x00, 0xA0, WBTF)
                    BF2S = WBTF /* \_SB_.WMID.WQBD.WBTF */
                }

                If ((Arg0 == 0x1D))
                {
                    WTB2 = WLFC /* \WLFC */
                    CreateField (WTB2, 0x00, 0xA0, WWLF)
                    BF2S = WWLF /* \_SB_.WMID.WQBD.WWLF */
                }

                If ((Arg0 == 0x1E))
                {
                    WTB2 = WWFC /* \WWFC */
                    CreateField (WTB2, 0x00, 0xA0, WWWF)
                    BF2S = WWWF /* \_SB_.WMID.WQBD.WWWF */
                }

                If ((Arg0 == 0x1F))
                {
                    WTB2 = GPFC /* \GPFC */
                    CreateField (WTB2, 0x00, 0xA0, WGPF)
                    BF2S = WGPF /* \_SB_.WMID.WQBD.WGPF */
                }

                If ((Arg0 == 0x20))
                {
                    WTB2 = UUID /* \UUID */
                    CreateField (WTB2, 0x00, 0x0100, WUUI)
                    BF2S = WUUI /* \_SB_.WMID.WQBD.WUUI */
                }

                If ((Arg0 == 0x21))
                {
                    WTB2 = SBCT /* \SBCT */
                    CreateField (WTB2, 0x00, 0x78, WBCT)
                    BF2S = WBCT /* \_SB_.WMID.WQBD.WBCT */
                }

                If ((Arg0 == 0x22))
                {
                    WTB2 = MSDM /* \MSDM */
                    CreateField (WTB2, 0x00, 0x0310, WOA3)
                    BF2S = WOA3 /* \_SB_.WMID.WQBD.WOA3 */
                }

                If ((Arg0 == 0x23))
                {
                    WTB2 = CPRV /* \CPRV */
                    CreateField (WTB2, 0x00, 0x78, WCRV)
                    BF2S = WCRV /* \_SB_.WMID.WQBD.WCRV */
                }

                If ((Arg0 == 0x24))
                {
                    WTB2 = PLFN /* \PLFN */
                    CreateField (WTB2, 0x00, 0x0140, WPRF)
                    BF2S = WPRF /* \_SB_.WMID.WQBD.WPRF */
                }

                If ((Arg0 == 0x25))
                {
                    If ((STAT == 0x80))
                    {
                        DerefOf (BSSS [Arg0]) [0x04] = 0x00
                        BF2S = NOIN /* \_SB_.NOIN */
                    }
                    Else
                    {
                        WTB2 = SNMD /* \SNMD */
                        CreateByteField (WTB2, 0x00, WSNM)
                        Local5 = WSNM /* \_SB_.WMID.WQBD.WSNM */
                        WTB4 = DerefOf (DSMD [Local5])
                        BF2S = WTB4 /* \_SB_.WTB4 */
                    }
                }

                If ((Arg0 == 0x26))
                {
                    WTB2 = HVER /* \HVER */
                    CreateField (WTB2, 0x00, 0x0100, WHVV)
                    BF2S = WHVV /* \_SB_.WMID.WQBD.WHVV */
                }

                If ((Arg0 == 0x27))
                {
                    WTB2 = HVCH /* \HVCH */
                    CreateField (WTB2, 0x00, 0x0200, WHVC)
                    BF2S = WHVC /* \_SB_.WMID.WQBD.WHVC */
                }

                If ((Arg0 == 0x28))
                {
                    WTB2 = MMS1 /* \MMS1 */
                    CreateField (WTB2, 0x00, 0x0280, WMS1)
                    BF2S = WMS1 /* \_SB_.WMID.WQBD.WMS1 */
                }

                If ((Arg0 == 0x29))
                {
                    If ((NMMS < 0x02))
                    {
                        DerefOf (BSSS [Arg0]) [0x04] = 0x00
                    }

                    WTB2 = MMS2 /* \MMS2 */
                    CreateField (WTB2, 0x00, 0x0280, WMS2)
                    BF2S = WMS2 /* \_SB_.WMID.WQBD.WMS2 */
                }

                If ((Arg0 == 0x2A))
                {
                    If ((NMMS < 0x03))
                    {
                        DerefOf (BSSS [Arg0]) [0x04] = 0x00
                    }

                    WTB2 = MMS3 /* \MMS3 */
                    CreateField (WTB2, 0x00, 0x0280, WMS3)
                    BF2S = WMS3 /* \_SB_.WMID.WQBD.WMS3 */
                }

                If ((Arg0 == 0x2B))
                {
                    If ((NMMS < 0x04))
                    {
                        DerefOf (BSSS [Arg0]) [0x04] = 0x00
                    }

                    WTB2 = MMS4 /* \MMS4 */
                    CreateField (WTB2, 0x00, 0x0280, WMS4)
                    BF2S = WMS4 /* \_SB_.WMID.WQBD.WMS4 */
                }

                If ((Arg0 == 0x2C))
                {
                    WTB2 = CUBT /* \CUBT */
                    CreateField (WTB2, 0x00, 0x01E0, CCBT)
                    BF2S = CCBT /* \_SB_.WMID.WQBD.CCBT */
                }

                If ((Arg0 == 0x2D))
                {
                    WTB2 = FBID /* \FBID */
                    CreateField (WTB2, 0x00, 0x0C80, WPFB)
                    BF2S = WPFB /* \_SB_.WMID.WQBD.WPFB */
                }

                If ((Arg0 == 0x2E))
                {
                    WTB2 = BIDD /* \BIDD */
                    CreateField (WTB2, 0x00, 0x0640, WMBD)
                    BF2S = WMBD /* \_SB_.WMID.WQBD.WMBD */
                }

                If ((Arg0 == 0x2F))
                {
                    NURL = PROX /* \PROX */
                    CreateField (NURL, 0x00, 0x07F8, CPRX)
                    BF2S = CPRX /* \_SB_.WMID.WQBD.CPRX */
                    DerefOf (BSSS [Arg0]) [0x0B] = ((STAT & 
                        0xF0) >> 0x04)
                }

                If ((Arg0 == 0x30))
                {
                    NURL = RURL /* \RURL */
                    CreateField (NURL, 0x00, 0x07F8, CRUL)
                    BF2S = CRUL /* \_SB_.WMID.WQBD.CRUL */
                    DerefOf (BSSS [Arg0]) [0x0B] = ((STAT & 
                        0xF0) >> 0x04)
                }

                If ((Arg0 == 0x31))
                {
                    WTB2 = MACA /* \MACA */
                    CreateField (WTB2, 0x00, 0x90, CMAC)
                    BF2S = CMAC /* \_SB_.WMID.WQBD.CMAC */
                }

                If ((Arg0 == 0x32))
                {
                    WTB2 = BHDS /* \BHDS */
                    CreateField (WTB2, 0x00, 0xA8, CHDS)
                    BF2S = CHDS /* \_SB_.WMID.WQBD.CHDS */
                }

                If ((Arg0 == 0x33))
                {
                    WTB2 = BHDM /* \BHDM */
                    CreateField (WTB2, 0x00, 0x0148, CHDM)
                    BF2S = CHDM /* \_SB_.WMID.WQBD.CHDM */
                }

                If ((Arg0 == 0x34))
                {
                    WTB2 = BHDZ /* \BHDZ */
                    CreateField (WTB2, 0x00, 0x48, CHDZ)
                    BF2S = CHDZ /* \_SB_.WMID.WQBD.CHDZ */
                }

                If ((Arg0 == 0x35))
                {
                    WTB2 = BECV /* \BECV */
                    CreateField (WTB2, 0x00, 0x90, CBEC)
                    BF2S = CBEC /* \_SB_.WMID.WQBD.CBEC */
                    If ((BF2S != ""))
                    {
                        DerefOf (BSSS [Arg0]) [0x04] = 0x01
                    }
                }

                If ((Arg0 == 0x36))
                {
                    WTB2 = BSER /* \BSER */
                    CreateField (WTB2, 0x00, 0x50, CBSE)
                    BF2S = CBSE /* \_SB_.WMID.WQBD.CBSE */
                    If ((BBAT == 0x00))
                    {
                        DerefOf (BSSS [Arg0]) [0x04] = 0x00
                    }
                    Else
                    {
                        DerefOf (BSSS [Arg0]) [0x04] = 0x01
                    }
                }

                If ((Arg0 == 0x37))
                {
                    WTB2 = BMOD /* \BMOD */
                    CreateField (WTB2, 0x00, 0x58, CBMD)
                    BF2S = CBMD /* \_SB_.WMID.WQBD.CBMD */
                    If ((BBAT == 0x00))
                    {
                        DerefOf (BSSS [Arg0]) [0x04] = 0x00
                    }
                    Else
                    {
                        DerefOf (BSSS [Arg0]) [0x04] = 0x01
                    }
                }

                DerefOf (BSSS [Arg0]) [0x01] = BF2S /* \_SB_.BF2S */
                Return (DerefOf (BSSS [Arg0]))
            }

            Method (WQBE, 1, NotSerialized)
            {
                Local1 = 0x00
                Local2 = 0x00
                Local4 = 0x00
                Local5 = 0x00
                Local6 = 0x00
                Local7 = 0x00
                BTDN = 0x00
                If ((Arg0 == 0x00))
                {
                    \_SB.SSMI (0xEA7B, 0x00, 0x03, Arg0, 0x00)
                    DerefOf (BSOL [Arg0]) [0x0B] = ((STAT & 
                        0xF0) >> 0x04)
                    STAT &= 0x0F
                    WBOR = BORD /* \BORD */
                    CreateField (WBOR, 0x00, (0x06 * 0x08), CBOS)
                    While ((Local1 != 0x06))
                    {
                        Local4 = DerefOf (WBOR [Local1])
                        If ((Local4 != 0xFF))
                        {
                            Local5 = 0x00
                            While ((Local5 != 0x06))
                            {
                                Local7 = DerefOf (DerefOf (RMBI [Local5]) [0x00])
                                If ((Local4 == Local7))
                                {
                                    BF01 = DerefOf (DerefOf (RMBI [Local5]) [0x01])
                                    BF2S = BF01 /* \_SB_.BF01 */
                                    CRBI [Local6] = BF2S /* \_SB_.BF2S */
                                    Local6++
                                    Local5 = (0x06 - 0x01)
                                }

                                Local5++
                            }
                        }

                        Local1++
                    }

                    Local0 = 0x00
                    Local5 = 0x00
                    Local4 = 0x00
                    Local0 = 0x0D
                    While ((Local5 != 0x06))
                    {
                        BF01 = DerefOf (CRBI [Local5])
                        BF2S = BF01 /* \_SB_.BF01 */
                        DerefOf (BSOL [0x00]) [Local0] = BF2S /* \_SB_.BF2S */
                        Local5++
                        Local0++
                    }

                    Local1 = 0x00
                    Local2 = 0x00
                    While ((Local2 != 0x06))
                    {
                        BF01 = DerefOf (CRBI [Local2])
                        Local5 = 0x00
                        While ((DerefOf (BF01 [Local5]) != 0x00))
                        {
                            Local3 = DerefOf (BF01 [Local5])
                            BVAL [Local1] = Local3
                            Local5++
                            Local1++
                        }

                        BVAL [Local1] = 0x2C
                        Local1++
                        Local2++
                    }

                    Local2 = 0x00
                    While ((Local2 != 0x09))
                    {
                        BVAL [Local1] = 0x20
                        Local1++
                        BVAL [Local1] = 0x2C
                        Local1++
                        Local2++
                    }

                    BB2S = BVAL /* \_SB_.BVAL */
                    DerefOf (BSOL [0x00]) [0x01] = BB2S /* \_SB_.BB2S */
                }

                If ((Arg0 == 0x01))
                {
                    Local4 = IBUF ()
                    \_SB.SSMI (0xEA7B, 0x00, 0x08, Arg0, 0x00)
                    DerefOf (BSOL [Arg0]) [0x0B] = ((STAT & 
                        0xF0) >> 0x04)
                    STAT &= 0x0F
                    SUIP = WUFI /* \WUFI */
                    While ((Local1 != 0x09))
                    {
                        Local4 = DerefOf (SUIP [Local1])
                        If ((Local4 != 0xFF))
                        {
                            Local5 = 0x00
                            While ((Local5 != 0x09))
                            {
                                Local7 = DerefOf (DerefOf (UEBL [Local5]) [0x00])
                                If ((Local4 == Local7))
                                {
                                    BF01 = DerefOf (DerefOf (UEBL [Local5]) [0x01])
                                    BF2S = BF01 /* \_SB_.BF01 */
                                    CUBO [Local6] = BF2S /* \_SB_.BF2S */
                                    Local6++
                                    BTDN++
                                    Local5 = (0x09 - 0x01)
                                }

                                Local5++
                            }
                        }

                        Local1++
                    }

                    Local0 = 0x00
                    Local5 = 0x00
                    Local4 = 0x00
                    Local0 = 0x0D
                    While ((Local5 != 0x09))
                    {
                        BF01 = DerefOf (CUBO [Local5])
                        BF2S = BF01 /* \_SB_.BF01 */
                        If (\SRCM (BF2S, " UEFI Boot", 0x0A))
                        {
                            BF2S = " "
                        }

                        DerefOf (BSOL [Arg0]) [Local0] = BF2S /* \_SB_.BF2S */
                        Local0++
                        Local5++
                    }

                    Local1 = 0x00
                    Local2 = 0x00
                    While ((Local2 != BTDN))
                    {
                        BF01 = DerefOf (CUBO [Local2])
                        Local5 = 0x00
                        While ((DerefOf (BF01 [Local5]) != 0x00))
                        {
                            Local3 = DerefOf (BF01 [Local5])
                            BVAL [Local1] = Local3
                            Local5++
                            Local1++
                        }

                        BVAL [Local1] = 0x2C
                        Local1++
                        Local2++
                    }

                    Local2 = 0x00
                    While ((Local2 != 0x09))
                    {
                        BVAL [Local1] = 0x20
                        Local1++
                        BVAL [Local1] = 0x2C
                        Local1++
                        Local2++
                    }

                    BB2S = BVAL /* \_SB_.BVAL */
                    DerefOf (BSOL [Arg0]) [0x01] = BB2S /* \_SB_.BB2S */
                }

                Return (DerefOf (BSOL [Arg0]))
            }

            Method (ISSP, 0, NotSerialized)
            {
                Local0 = 0x00
                \_SB.SSMI (0xEA7B, 0x00, 0x04, 0x00, 0x00)
                If ((APST == 0x01))
                {
                    Local0 = 0x01
                }
                Else
                {
                    Local0 = 0x00
                }

                Return (Local0)
            }

            Method (PLOK, 1, NotSerialized)
            {
                Local1 = 0x00
                Local2 = 0x00
                If ((Arg0 == 0x00))
                {
                    While ((DerefOf (OAPW [Local1]) != 0x00))
                    {
                        Local1++
                    }

                    While ((DerefOf (NAPW [Local2]) != 0x00))
                    {
                        Local2++
                    }

                    If (((Local1 > 0x20) || (Local2 > 0x20)))
                    {
                        Return (0x00)
                    }
                    Else
                    {
                        Return (0x01)
                    }
                }

                Return (0x00)
            }

            Method (GBID, 0, NotSerialized)
            {
                Local1 = 0x00
                Local4 = 0x00
                Local5 = 0x00
                Local6 = 0x00
                Local7 = 0x64
                Local2 = SizeOf (BOIN)
                Local2--
                While ((Local4 != Local2))
                {
                    Local1 = 0x00
                    While ((Local1 != SizeOf (TEMP)))
                    {
                        TEMP [Local1] = 0x00
                        Local1++
                    }

                    Local1 = 0x00
                    While ((Local1 != 0x32))
                    {
                        TEMP [Local1] = DerefOf (BOIN [Local4])
                        If (((DerefOf (BOIN [Local4]) == 0x2C) || (DerefOf (
                            BOIN [Local4]) == 0x00)))
                        {
                            Local1 = 0x32
                            Local1--
                        }

                        Local1++
                        Local4++
                    }

                    If ((DerefOf (BOIN [Local4]) != 0x00))
                    {
                        Local3 = FNID ()
                        If ((Local3 != 0xFF))
                        {
                            BOID [Local6] = Local3
                        }

                        Local6++
                    }
                    Else
                    {
                        Local4 = Local2
                    }
                }

                Return (Local7)
            }

            Method (FNID, 0, NotSerialized)
            {
                Local3 = 0xFF
                If ((\SRCM (TEMP, "Optical Disk Drive", 0x11) || \SRCM (TEMP, " Optical Disk Drive", SizeOf (STG0))))
                {
                    Local3 = 0x01
                }

                If ((\SRCM (TEMP, "Notebook Hard Drive", 0x13) || \SRCM (TEMP, " Notebook Hard Drive ", 0x15)))
                {
                    Local3 = 0x02
                }

                If ((\SRCM (TEMP, "Notebook Hard Drive 2", 0x15) || \SRCM (TEMP, " Notebook Hard Drive 2 ", SizeOf (STG0))))
                {
                    Local3 = 0x0C
                }

                If ((\SRCM (TEMP, "USB Floppy", 0x0A) || \SRCM (TEMP, " USB Floppy", SizeOf (STG0))))
                {
                    Local3 = 0x03
                }

                If ((\SRCM (TEMP, "USB CD-ROM", 0x0A) || \SRCM (TEMP, " USB CD-ROM", SizeOf (STG0))))
                {
                    Local3 = 0x05
                }

                If ((\SRCM (TEMP, "USB Hard Drive", 0x0E) || \SRCM (TEMP, " USB Hard Drive", SizeOf (STG0))))
                {
                    Local3 = 0x06
                }

                If ((\SRCM (TEMP, "Notebook Ethernet", 0x11) || \SRCM (TEMP, " Notebook Ethernet ", SizeOf (STG0))))
                {
                    Local3 = 0x07
                }

                If ((\SRCM (TEMP, "SD Card", 0x07) || \SRCM (TEMP, " SD Card ", 0x09)))
                {
                    Local3 = 0x08
                }

                If ((\SRCM (TEMP, "Dock Upgrade Bay", 0x10) || \SRCM (TEMP, " Dock Upgrade Bay ", 0x12)))
                {
                    Local3 = 0x0A
                }

                If ((\SRCM (TEMP, "eSATA Drive", 0x0B) || \SRCM (TEMP, " eSATA Drive ", 0x0D)))
                {
                    Local3 = 0x0B
                }

                If ((\SRCM (TEMP, "PCIe/M.2 SSD Drive", 0x12) || \SRCM (TEMP, " PCIe/M.2 SSD Drive", SizeOf (STG0))))
                {
                    Local3 = 0x0D
                }

                If ((\SRCM (TEMP, "Notebook Upgrade Bay", 0x14) || \SRCM (TEMP, " Notebook Upgrade Bay", 0x15)))
                {
                    Local3 = 0x01
                }

                If ((\SRCM (TEMP, "OS Boot Manager", 0x0F) || \SRCM (TEMP, " OS Boot Manager", SizeOf (STG0))))
                {
                    Local3 = 0x02
                }

                If ((\SRCM (TEMP, "Notebook Ethernet IPV4", 0x16) || \SRCM (TEMP, " Notebook Ethernet IPV4", 0x17)))
                {
                    Local3 = 0x03
                }

                If ((\SRCM (TEMP, "Notebook Ethernet IPV6", 0x16) || \SRCM (TEMP, " Notebook Ethernet IPV6", 0x17)))
                {
                    Local3 = 0x04
                }

                If ((\SRCM (TEMP, "USB Hard Drive", 0x0E) || \SRCM (TEMP, " USB Hard Drive", 0x0F)))
                {
                    Local3 = 0x06
                }

                If ((\SRCM (TEMP, "Generic USB Device", 0x12) || \SRCM (TEMP, " Generic USB Device", 0x13)))
                {
                    Local3 = 0x07
                }

                If ((\SRCM (TEMP, "eSata Hard Drive", 0x10) || \SRCM (TEMP, " eSata Hard Drive", 0x11)))
                {
                    Local3 = 0x08
                }

                If ((\SRCM (TEMP, "SD Card Boot", 0x0C) || \SRCM (TEMP, " SD Card Boot", 0x0D)))
                {
                    Local3 = 0x09
                }

                If ((\SRCM (TEMP, "HP System Diagnostics", 0x15) || \SRCM (TEMP, " HP System Diagnostics", 0x16)))
                {
                    Local3 = 0x0A
                }

                If ((\SRCM (TEMP, "HP Dynamic Protection", 0x11) || \SRCM (TEMP, " HP Dynamic Protection", 0x12)))
                {
                    Local3 = 0x0B
                }

                If ((\SRCM (TEMP, "HP Remote Image Deployment", 0x1A) || \SRCM (TEMP, " HP Remote Image Deployment", 0x1B)))
                {
                    Local3 = 0x0C
                }

                If ((\SRCM (TEMP, "Customized Boot", 0x0F) || \SRCM (TEMP, " Customized Boot", 0x10)))
                {
                    Local3 = 0x0D
                }

                If ((\SRCM (TEMP, "Dock Upgrade Bay (UEFI)", 0x17) || \SRCM (TEMP, " Dock Upgrade Bay (UEFI) ", 0x19)))
                {
                    Local3 = 0x0F
                }

                If ((\SRCM (TEMP, "PCIe/M.2 SSD Hard Drive", 0x17) || \SRCM (TEMP, " PCIe/M.2 SSD Hard Drive", 0x18)))
                {
                    Local3 = 0x10
                }

                Return (Local3)
            }

            Method (WQBF, 1, NotSerialized)
            {
                If ((Arg0 == 0x00))
                {
                    If ((ISSP () == 0x01))
                    {
                        DerefOf (BSPV [0x00]) [0x10] = 0x01
                        DerefOf (BSPV [0x00]) [0x11] = SPSF /* \SPSF */
                    }
                    Else
                    {
                        DerefOf (BSPV [0x00]) [0x10] = 0x00
                        DerefOf (BSPV [0x00]) [0x11] = 0xFFFFFFFF
                    }

                    \_SB.SSMI (0xEA7B, 0x00, 0x06, 0x00, 0x00)
                    DerefOf (BSPV [0x00]) [0x0C] = PWDL /* \PWDL */
                }
                Else
                {
                    \_SB.SSMI (0xEA7B, 0x00, 0x07, Arg0, 0x00)
                }

                Return (DerefOf (BSPV [Arg0]))
            }

            Method (WQBG, 1, NotSerialized)
            {
                \_SB.SSMI (0xEA7B, 0x00, 0x06, 0x00, 0x00)
                If ((FMOD == 0x00))
                {
                    Local1 = 0x00
                    Local2 = 0x00
                    Local3 = 0x01
                    While ((Local3 && (Local1 < SizeOf (MPMI))))
                    {
                        Local2 = DerefOf (MPMI [Local1])
                        If ((Arg0 == Local2))
                        {
                            DerefOf (BSIN [Arg0]) [0x03] = 0x01
                            Local3 = 0x00
                        }
                        ElseIf ((Arg0 < Local2))
                        {
                            Local3 = 0x00
                        }

                        Local1++
                    }

                    Local3 = 0x00
                }

                Local4 = 0x00
                If ((Arg0 == 0x00))
                {
                    Local4 = PWDL /* \PWDL */
                }

                If ((Arg0 == 0x01))
                {
                    Local4 = MPMC /* \MPMC */
                }

                DerefOf (BSIN [Arg0]) [0x0E] = Local4
                If ((Local4 <= 0x09))
                {
                    Local2 = 0x01
                }
                Else
                {
                    Local2 = 0x02
                }

                ToBCD (Local4, Local1)
                Local3 = \ISTR (Local1, Local2)
                BF2S = Local3
                DerefOf (BSIN [Arg0]) [0x01] = BF2S /* \_SB_.BF2S */
                Return (DerefOf (BSIN [Arg0]))
            }

            Method (WQBH, 0, NotSerialized)
            {
            }

            Method (WQBI, 1, NotSerialized)
            {
            }

            Method (WQBJ, 1, NotSerialized)
            {
                \_SB.SSMI (0xEA7B, 0x02, Arg0, 0x00, 0x00)
                If ((STAT == 0x00))
                {
                    BF2S = USRN /* \USRN */
                    DerefOf (BUSR [Arg0]) [0x00] = BF2S /* \_SB_.BF2S */
                    DerefOf (BUSR [Arg0]) [0x12] = ROLE /* \ROLE */
                    CreateDWordField (HASH, 0x00, HSH1)
                    If ((HSH1 != 0x00))
                    {
                        DerefOf (BUSR [Arg0]) [0x10] = 0x01
                        If ((Arg0 == 0x00))
                        {
                            DerefOf (BUSR [Arg0]) [0x11] = SPSF /* \SPSF */
                        }
                        Else
                        {
                            DerefOf (BUSR [Arg0]) [0x11] = 0x00
                        }
                    }
                    Else
                    {
                        DerefOf (BUSR [Arg0]) [0x10] = 0x00
                    }
                }
                Else
                {
                    DerefOf (BUSR [Arg0]) [0x00] = NULL /* \_SB_.WMID.NULL */
                    DerefOf (BUSR [0x00]) [0x12] = 0x00
                    DerefOf (BUSR [Arg0]) [0x10] = 0x00
                }

                Return (DerefOf (BUSR [Arg0]))
            }

            Method (USPP, 0, NotSerialized)
            {
                Local0 = 0x00
                \_SB.SSMI (0xEA7B, 0x00, 0x05, 0x00, 0x00)
                If ((SECO == 0x01))
                {
                    Local0 = 0x01
                }
                Else
                {
                    Local0 = 0x00
                }

                Return (Local0)
            }

            Method (ZPBF, 0, NotSerialized)
            {
                Local3 = 0x00
                While ((Local3 != SizeOf (PCBF)))
                {
                    PCBF [Local3] = 0x00
                    Local3++
                }

                Return (0x00)
            }

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

            Name (LEN2, 0x00)
            Method (WMBH, 1, NotSerialized)
            {
                Return (0x00)
            }

            Method (WMBA, 3, Serialized)
            {
                IWMP ()
                If ((Arg1 == 0x01))
                {
                    Local0 = Arg2
                    Local1 = SizeOf (Local0)
                    Local2 = 0x00
                    Local4 = DerefOf (Local0 [Local2])
                    Local2++
                    Local2++
                    Local5 = 0x00
                    Local6 = 0x00
                    Local3 = 0x00
                    Local3 = IBUF ()
                    While ((Local5 != Local4))
                    {
                        ST01 [Local6] = DerefOf (Local0 [Local2])
                        Local2++
                        Local5++
                        Local6++
                        Local2++
                        Local5++
                    }

                    Local4 = DerefOf (Local0 [Local2])
                    Local2++
                    Local2++
                    Local5 = 0x00
                    Local6 = 0x00
                    PCHG = 0x00
                    If ((\SRCM (ST01, "Legacy Boot Order Security Level", 0x20) || \SRCM (ST01, "UEFI Boot Order Security Level", 0x1E)))
                    {
                        Local5 = 0x00
                    }
                    ElseIf ((\SRCM (ST01, "Legacy Boot Order", 0x11) || \SRCM (ST01, "UEFI Boot Order", 0x0F)))
                    {
                        Local2--
                        Local4 += (DerefOf (Local0 [Local2]) * 0x0100)
                        Local2++
                        While ((Local5 != Local4))
                        {
                            BOIN [Local6] = DerefOf (Local0 [Local2])
                            Local2++
                            Local5++
                            Local6++
                            Local2++
                            Local5++
                        }

                        If ((Local5 == Local4))
                        {
                            Local4 = 0x00
                        }
                    }

                    If (\SRCM (ST01, "Setup Password", 0x0E))
                    {
                        While ((Local5 != Local4))
                        {
                            PCBF [Local6] = DerefOf (Local0 [Local2])
                            Local2++
                            Local5++
                            Local6++
                        }

                        NAPW = PCBF /* \_SB_.PCBF */
                        Local4 = DerefOf (Local0 [Local2])
                        Local2++
                        Local2++
                        Local5 = 0x00
                        Local6 = 0x00
                        Local3 = ZPBF ()
                        While ((Local5 != Local4))
                        {
                            PCBF [Local6] = DerefOf (Local0 [Local2])
                            Local2++
                            Local5++
                            Local6++
                        }

                        OAPW = PCBF /* \_SB_.PCBF */
                        \_SB.SSMI (0xEA7B, 0x01, 0x04, 0x0400, 0x00)
                        If ((STAT == 0x00))
                        {
                            ETYP [0x00] = 0x00
                            Notify (\_SB.WMID, 0xA0) // Device-Specific
                        }

                        If ((STAT == 0x06))
                        {
                            ETYP [0x00] = 0x01
                            Notify (\_SB.WMID, 0xA0) // Device-Specific
                        }

                        Return (STAT) /* \STAT */
                    }

                    If (\SRCM (ST01, "Notebook hard drive drivelock master password", 0x2D))
                    {
                        STAT = HDDL (Local0, Local2, Local4, 0x00)
                        Return (STAT) /* \STAT */
                    }

                    If (\SRCM (ST01, "Notebook hard drive drivelock user password", 0x2B))
                    {
                        STAT = HDDL (Local0, Local2, Local4, 0x01)
                        Return (STAT) /* \STAT */
                    }

                    If (\SRCM (ST01, "Upgrade bay hard drive drivelock master password", 0x30))
                    {
                        STAT = HDDL (Local0, Local2, Local4, 0x02)
                        Return (STAT) /* \STAT */
                    }

                    If (\SRCM (ST01, "Upgrade bay hard drive drivelock user password", 0x2E))
                    {
                        STAT = HDDL (Local0, Local2, Local4, 0x03)
                        Return (STAT) /* \STAT */
                    }

                    If (\SRCM (ST01, "drivelock master password", 0x19))
                    {
                        STAT = HDDL (Local0, Local2, Local4, 0x06)
                        Return (STAT) /* \STAT */
                    }

                    If (\SRCM (ST01, "drivelock user password", 0x17))
                    {
                        STAT = HDDL (Local0, Local2, Local4, 0x07)
                        Return (STAT) /* \STAT */
                    }

                    Local5 = 0x00
                    Local6 = 0x00
                    VFSZ = Local4
                    While ((Local5 != Local4))
                    {
                        ST02 [Local6] = DerefOf (Local0 [Local2])
                        Local2++
                        Local5++
                        Local6++
                        Local2++
                        Local5++
                    }

                    LEN2 = Local6
                    Local4 = DerefOf (Local0 [Local2])
                    If (((ISSP () == 0x01) && (Local4 == 0x00)))
                    {
                        ETYP [0x00] = 0x01
                        Notify (\_SB.WMID, 0xA0) // Device-Specific
                        Return (0x06)
                    }

                    Local2++
                    Local2++
                    Local5 = 0x00
                    Local6 = 0x00
                    Local3 = ZPBF ()
                    While ((Local5 != Local4))
                    {
                        PCBF [Local6] = DerefOf (Local0 [Local2])
                        Local2++
                        Local5++
                        Local6++
                    }

                    OAPW = PCBF /* \_SB_.PCBF */
                    Local7 = 0x00
                    Local4 = 0x00
                    Local2 = 0x00
                    Local5 = 0xFA
                    While ((Local5 != Local4))
                    {
                        ST14 = DerefOf (DerefOf (BISE [Local4]) [0x00])
                        If (\SRCM (ST01, ST14, SizeOf (ST14)))
                        {
                            Local4 = 0xFA
                            Local4--
                            Local2 = 0x01
                        }

                        Local7++
                        Local4++
                    }

                    Local7--
                    If ((\SRCM (ST01, "Legacy Boot Order Security Level", 0x20) || \SRCM (ST01, "UEFI Boot Order Security Level", 0x1E)))
                    {
                        Local2 = 0x01
                    }
                    Else
                    {
                        If (\SRCM (ST01, "Legacy Boot Order", 0x11))
                        {
                            Local2 = 0x03
                        }

                        If (\SRCM (ST01, "UEFI Boot Order", 0x0F))
                        {
                            Local2 = 0x08
                        }
                    }

                    If ((\SRCM (ST01, "Password Minimum Length", 0x17) || \SRCM (ST01, "Manufacturing Programming Mode Counter", 0x26)))
                    {
                        Local2 = 0x06
                        If ((VFSZ == 0x04))
                        {
                            CreateByteField (ST02, 0x00, HIGB)
                            CreateByteField (ST02, 0x01, LOWB)
                            Local4 = (HIGB - 0x30)
                            Local5 = (LOWB - 0x30)
                            Local4 = (Local5 + (Local4 * 0x0A))
                        }
                        Else
                        {
                            CreateByteField (ST02, 0x00, MINL)
                            Local4 = (MINL - 0x30)
                        }

                        If (\SRCM (ST01, "Password Minimum Length", 0x17))
                        {
                            If (((Local4 >= 0x04) && (Local4 <= 0x20)))
                            {
                                PWDL = Local4
                                FLAG = 0x00
                                Local7 = 0x00
                            }
                            Else
                            {
                                STAT = 0x05
                                Return (STAT) /* \STAT */
                            }
                        }

                        If (\SRCM (ST01, "Manufacturing Programming Mode Counter", 0x26))
                        {
                            If (FMOD)
                            {
                                If (((Local4 >= 0x00) && (Local4 <= 0x0A)))
                                {
                                    MPMC = Local4
                                    FLAG = 0x00
                                    Local7 = 0x01
                                    If ((Local4 == 0x0A))
                                    {
                                        Local0 = 0x00
                                        While ((Local0 < 0xFA))
                                        {
                                            Local5 = DerefOf (DerefOf (BISE [Local0]) [0x00])
                                            If (\SRCP (Local5, "Manufacturing Programming Mode"))
                                            {
                                                Break
                                            }

                                            Local0++
                                        }

                                        \_SB.SSMI (0xEA7B, 0x01, Local0, 0x0100, 0x00)
                                        FMOD = 0x00
                                    }
                                }
                                Else
                                {
                                    STAT = 0x05
                                    Return (STAT) /* \STAT */
                                }
                            }
                            Else
                            {
                                STAT = 0x01
                                Return (STAT) /* \STAT */
                            }
                        }

                        Local6 = 0x06
                        Local6 <<= 0x08
                    }

                    If ((Local2 == 0x00))
                    {
                        Local7 = 0x00
                        Local4 = 0x00
                        While ((Local4 < 0x38))
                        {
                            ST14 = DerefOf (DerefOf (BSSS [Local4]) [0x00])
                            If (\SRCM (ST01, ST14, SizeOf (ST14)))
                            {
                                Local4 = 0x38
                                Local2 = 0x02
                            }

                            Local7++
                            Local4++
                        }

                        Local7--
                    }

                    If ((Local2 == 0x01))
                    {
                        FLAG = 0x05
                        If (FMOD)
                        {
                            If (\SRCM (ST01, "Manufacturing Programming Mode", 0x1E))
                            {
                                If (\SRCM (ST02, LLCK, 0x04))
                                {
                                    Local6 = 0x00
                                    FLAG = 0x00
                                    FMOD = 0x00
                                }
                            }
                        }

                        Local0 = DerefOf (BISE [Local7])
                        Local1 = 0x0E
                        Local3 = DerefOf (Local0 [0x0D])
                        Local3 += Local1
                        While ((Local1 < Local3))
                        {
                            Local4 = DerefOf (Local0 [Local1])
                            If (\SRCM (ST02, Local4, LEN2))
                            {
                                Local6 = (Local1 - 0x0E)
                                FLAG = 0x00
                                Break
                            }

                            Local1++
                        }

                        If (\SRCP (DerefOf (Local0 [0x0E]), CHGE))
                        {
                            Switch (Local6)
                            {
                                Case (0x00)
                                {
                                    Local6 = 0x02
                                }
                                Case (0x01)
                                {
                                    Local6 = 0x01
                                }
                                Case (0x02)
                                {
                                    Local6 = 0x03
                                }

                            }

                            PCHG = 0x01
                        }
                        ElseIf (\SRCP (DerefOf (Local0 [0x0E]), NONO))
                        {
                            If (\SRCM (ST01, "Restore Defaults", 0x10))
                            {
                                If (\SRCM (ST02, "Yes", 0x03))
                                {
                                    \_SB.SSMI (0xEA7C, 0x00, 0x00, 0x00, 0x00)
                                    If ((STAT == 0x00))
                                    {
                                        ETYP [0x00] = 0x00
                                        Notify (\_SB.WMID, 0xA0) // Device-Specific
                                    }

                                    If ((STAT == 0x06))
                                    {
                                        ETYP [0x00] = 0x01
                                        Notify (\_SB.WMID, 0xA0) // Device-Specific
                                    }
                                }
                            }
                            ElseIf (((\SRCM (ST01, "Reset BIOS security to factory default", 0x26) == 0x00) && (\SRCM (ST01, 
                                "Permanent Disable Absolute Persistence Module Set Once", 0x36) == 0x00)))
                            {
                                PCHG = 0x01
                            }
                        }
                        ElseIf ((\SRCM (ST01, "Parallel port mode", 0x12) && (Local6 == 0x03)))
                        {
                            Local6 = 0x04
                        }
                        ElseIf (\SRCM (ST01, "Disable charging port in all sleep/off states below(%):", 0x37))
                        {
                            Local6++
                        }
                        ElseIf (\SRCM (ST01, "Manufacturing Programming Mode", 0x1E))
                        {
                            If (!FMOD)
                            {
                                If ((Local6 == 0x01))
                                {
                                    FLAG = 0x05
                                }
                            }
                        }

                        If ((PCHG == 0x01))
                        {
                            Local1 = 0x01
                            If (FMOD)
                            {
                                If ((\SRCM (ST01, "Reset Authentication Credential", 0x1F) || \SRCM (ST01, "TPM Reset to Factory Defaults", 0x1D)))
                                {
                                    Local1 = 0x00
                                }
                            }

                            If ((Local1 && (ISSP () == 0x00)))
                            {
                                STAT = 0x8001
                                Return (STAT) /* \STAT */
                            }
                        }

                        Local6 &= 0xFF
                        Local3 = 0x01
                        Local6 |= (Local3 << 0x08)
                    }

                    If ((Local2 == 0x02))
                    {
                        Local4 = 0x00
                        Local5 = 0x02
                        If ((FMOD == 0x00))
                        {
                            While ((Local4 < SizeOf (MPMS)))
                            {
                                If (\SRCM (ST01, DerefOf (MPMS [Local4]), SizeOf (ST01)))
                                {
                                    STAT = 0x01
                                    Return (STAT) /* \STAT */
                                }

                                Local4++
                            }

                            Local4 = 0x00
                        }

                        While ((Local4 < SizeOf (TROS)))
                        {
                            If (\SRCM (ST01, DerefOf (TROS [Local4]), SizeOf (ST01)))
                            {
                                STAT = 0x01
                                Return (STAT) /* \STAT */
                            }

                            Local4++
                        }

                        Local4 = 0x00
                        Local7 = 0x00
                        If (\SRCM (ST01, "Asset Tracking Number", SizeOf (ST01)))
                        {
                            BF2S = ST02 /* \_SB_.ST02 */
                            Local4 = 0x00
                            Local5 = 0x00
                            Local1 = 0x00
                            Local1 = SizeOf (ST02)
                            While ((Local5 != Local1))
                            {
                                If ((DerefOf (ST02 [Local4]) == 0x00))
                                {
                                    Local5 = SizeOf (ST02)
                                    Local5--
                                }

                                Local4++
                                Local5++
                            }

                            Local4--
                            If ((Local4 > 0x12))
                            {
                                FLAG = 0x05
                            }
                            Else
                            {
                                FLAG = 0x00
                            }

                            ASTL = Local4
                            WATS = ST02 /* \_SB_.ST02 */
                            ASTG = WATS /* \_SB_.WATS */
                            WTB3 = ASTG /* \ASTG */
                        }

                        If (\SRCM (ST01, "Ownership Tag", SizeOf (ST01)))
                        {
                            Local1 = 0x00
                            While ((Local1 != 0x50))
                            {
                                WONT [Local1] = DerefOf (ST02 [Local1])
                                Local1++
                            }

                            OWNT = WONT /* \_SB_.WONT */
                            Local7 = 0x01
                            FLAG = 0x00
                        }

                        If (\SRCM (ST01, "BIOS Power-On Time (hh:mm)", SizeOf (ST01)))
                        {
                            Local1 = 0x00
                            While ((Local1 != 0x05))
                            {
                                TATM [Local1] = DerefOf (ST02 [Local1])
                                Local1++
                            }

                            ATIM = TATM /* \_SB_.TATM */
                            Local7 = 0x03
                            FLAG = 0x00
                        }

                        If (\SRCM (ST01, "System Configuration ID", 0x17))
                        {
                            Local1 = 0x00
                            While ((Local1 != 0x40))
                            {
                                TPCD [Local1] = 0x00
                                Local1++
                            }

                            Local1 = 0x00
                            While ((Local1 != 0x40))
                            {
                                TPCD [Local1] = DerefOf (ST02 [Local1])
                                Local1++
                            }

                            PCID = TPCD /* \_SB_.TPCD */
                            Local7 = 0x04
                            FLAG = 0x00
                        }

                        If (\SRCM (ST01, "Enter Feature Byte", 0x12))
                        {
                            Local1 = 0x00
                            While ((Local1 != 0x0190))
                            {
                                TPFB [Local1] = 0x00
                                Local1++
                            }

                            Local1 = 0x00
                            While ((Local1 != 0x0190))
                            {
                                TPFB [Local1] = DerefOf (ST02 [Local1])
                                Local1++
                            }

                            FBID = TPFB /* \_SB_.TPFB */
                            Local7 = 0x0F
                            FLAG = 0x00
                        }

                        If (\SRCM (ST01, "Enter Build ID", 0x0E))
                        {
                            Local1 = 0x00
                            While ((Local1 != 0xC8))
                            {
                                TPBD [Local1] = 0x00
                                Local1++
                            }

                            Local1 = 0x00
                            While ((Local1 != 0xC8))
                            {
                                TPBD [Local1] = DerefOf (ST02 [Local1])
                                Local1++
                            }

                            BIDD = TPBD /* \_SB_.TPBD */
                            Local7 = 0x10
                            FLAG = 0x00
                        }

                        If (\SRCM (ST01, "Serial Number", 0x0D))
                        {
                            Local1 = 0x00
                            While ((Local1 < SizeOf (TBUF)))
                            {
                                TBUF [Local1] = DerefOf (ST02 [Local1])
                                Local1++
                            }

                            SERL = TBUF /* \_SB_.TBUF */
                            Local7 = 0x06
                            FLAG = 0x00
                        }

                        If (\SRCM (ST01, "SKU Number", 0x0A))
                        {
                            Local1 = 0x00
                            While ((Local1 < SizeOf (TSKU)))
                            {
                                TSKU [Local1] = DerefOf (ST02 [Local1])
                                Local1++
                            }

                            SKUN = TSKU /* \_SB_.TSKU */
                            Local7 = 0x07
                            FLAG = 0x00
                        }

                        If (\SRCM (ST01, "Product Name", 0x0C))
                        {
                            Local1 = 0x00
                            While ((Local1 < SizeOf (TBUF)))
                            {
                                TBUF [Local1] = DerefOf (ST02 [Local1])
                                Local1++
                            }

                            MODL = TBUF /* \_SB_.TBUF */
                            Local7 = 0x08
                            FLAG = 0x00
                        }

                        If (\SRCM (ST01, "MS Digital Marker", 0x11))
                        {
                            Local1 = 0x00
                            While ((Local1 < SizeOf (TOA3)))
                            {
                                TOA3 [Local1] = DerefOf (ST02 [Local1])
                                Local1++
                            }

                            MSDM = TOA3 /* \_SB_.TOA3 */
                            Local7 = 0x0A
                            FLAG = 0x00
                        }

                        If (\SRCM (ST01, "Product Family", 0x0E))
                        {
                            Local1 = 0x00
                            While ((Local1 < SizeOf (WTB4)))
                            {
                                WTB4 [Local1] = DerefOf (ST02 [Local1])
                                Local1++
                            }

                            PLFN = WTB4 /* \_SB_.WTB4 */
                            Local7 = 0x0B
                            FLAG = 0x00
                        }

                        If (\SRCM (ST01, "System Board CT", 0x0F))
                        {
                            Local1 = 0x00
                            While ((Local1 != SizeOf (TBCT)))
                            {
                                TBCT [Local1] = 0x00
                                Local1++
                            }

                            Local1 = 0x00
                            While ((Local1 < (SizeOf (TBCT) - 0x01)))
                            {
                                TBCT [Local1] = DerefOf (ST02 [Local1])
                                Local1++
                            }

                            SBCT = TBCT /* \_SB_.TBCT */
                            Local7 = 0x09
                            FLAG = 0x00
                        }

                        If (\SRCM (ST01, "Define Custom URL", 0x11))
                        {
                            Local1 = 0x00
                            While ((Local1 != 0x82))
                            {
                                TURL [Local1] = 0x00
                                Local1++
                            }

                            Local1 = 0x00
                            While ((Local1 != 0x82))
                            {
                                TURL [Local1] = DerefOf (ST02 [Local1])
                                Local1++
                            }

                            CURL = TURL /* \_SB_.TURL */
                            Local7 = 0x05
                            FLAG = 0x00
                        }

                        If (\SRCM (ST01, "HP Dynamic Protection Version", 0x15))
                        {
                            Debug = "HP Dynamic Protection Version"
                            Local1 = 0x00
                            While ((Local1 < SizeOf (WHVV)))
                            {
                                WHVV [Local1] = DerefOf (ST02 [Local1])
                                Local1++
                            }

                            HVER = WHVV /* \_SB_.WHVV */
                            Local7 = 0x0C
                            FLAG = 0x00
                            Debug = HVER /* \HVER */
                        }

                        If (\SRCM (ST01, "HP Dynamic Protection Config Hash", 0x19))
                        {
                            Debug = "HP Dynamic Protection Config Hash"
                            Local1 = 0x00
                            While ((Local1 < SizeOf (WHVC)))
                            {
                                WHVC [Local1] = DerefOf (ST02 [Local1])
                                Local1++
                            }

                            HVCH = WHVC /* \_SB_.WHVC */
                            Local7 = 0x0D
                            FLAG = 0x00
                            Debug = HVCH /* \HVCH */
                        }

                        If (\SRCM (ST01, "Define Customized Boot Option", SizeOf (ST01)))
                        {
                            Local1 = 0x00
                            While ((Local1 != 0x3B))
                            {
                                WCBT [Local1] = DerefOf (ST02 [Local1])
                                Local1++
                            }

                            CUBT = WCBT /* \_SB_.WCBT */
                            Local7 = 0x0E
                            FLAG = 0x00
                        }

                        If (\SRCM (ST01, "Update Address", 0x0E))
                        {
                            Local1 = 0x00
                            While ((Local1 < SizeOf (NURL)))
                            {
                                NURL [Local1] = DerefOf (ST02 [Local1])
                                Local1++
                            }

                            RURL = NURL /* \_SB_.NURL */
                            Local7 = 0x11
                            FLAG = 0x00
                        }

                        If (\SRCM (ST01, "Proxy Address", 0x0D))
                        {
                            Local1 = 0x00
                            While ((Local1 < SizeOf (NURL)))
                            {
                                NURL [Local1] = DerefOf (ST02 [Local1])
                                Local1++
                            }

                            PROX = NURL /* \_SB_.NURL */
                            Local7 = 0x12
                            FLAG = 0x00
                        }

                        If (\SRCM (ST01, "Base/Travel Keyboard Serial Number", 0x22))
                        {
                            Local1 = 0x00
                            While ((Local1 < SizeOf (SEBU)))
                            {
                                SEBU [Local1] = DerefOf (ST02 [Local1])
                                Local1++
                            }

                            BSER = SEBU /* \_SB_.SEBU */
                            Local7 = 0x13
                            FLAG = 0x00
                        }

                        If (\SRCM (ST01, "Base/Travel Keyboard SKU Number", 0x1F))
                        {
                            Local1 = 0x00
                            While ((Local1 < SizeOf (MDBU)))
                            {
                                MDBU [Local1] = DerefOf (ST02 [Local1])
                                Local1++
                            }

                            BMOD = MDBU /* \_SB_.MDBU */
                            Local7 = 0x14
                            FLAG = 0x00
                        }

                        Local6 = 0x02
                        Local6 <<= 0x08
                    }

                    If ((Local2 == 0x03))
                    {
                        Local1 = 0x00
                        Local2 = 0x00
                        Local3 = 0x00
                        Local4 = 0x00
                        Local5 = 0x00
                        Local6 = 0x00
                        Local7 = 0x00
                        \_SB.SSMI (0xEA7B, 0x00, 0x03, 0x00, 0x00)
                        Local2 = 0x00
                        WSIP = BORD /* \BORD */
                        Local1 = GBID ()
                        DVAL = 0x00
                        While ((Local2 < 0x64))
                        {
                            Local5 = 0x00
                            Local6 = 0x00
                            While ((Local6 < 0x06))
                            {
                                If ((DerefOf (BOID [Local2]) == DerefOf (WSIP [Local5])))
                                {
                                    DVAL = 0x01
                                    Local6 = (0x06 - 0x01)
                                }

                                Local5++
                                Local6++
                            }

                            Local5--
                            If ((DVAL == 0x01))
                            {
                                Local4 = Local5
                                Local4--
                                While ((Local5 > Local3))
                                {
                                    WSIP [Local5] = DerefOf (WSIP [Local4])
                                    Local5--
                                    Local4--
                                }

                                WSIP [Local3] = DerefOf (BOID [Local2])
                                Local3++
                            }

                            Local2++
                            DVAL = 0x00
                        }

                        BORD = WSIP /* \_SB_.WSIP */
                        FLAG = 0x00
                        Local7 = 0x00
                        Local6 = 0x03
                        Local6 <<= 0x08
                    }

                    If ((Local2 == 0x08))
                    {
                        Local1 = 0x00
                        Local2 = 0x00
                        Local3 = 0x00
                        Local4 = 0x00
                        Local5 = 0x00
                        Local6 = 0x00
                        Local7 = 0x00
                        \_SB.SSMI (0xEA7B, 0x00, 0x08, 0x00, 0x00)
                        SUIP = WUFI /* \WUFI */
                        BTDN = 0x00
                        Local1 = 0x00
                        While ((Local1 != 0x09))
                        {
                            Local4 = DerefOf (SUIP [Local1])
                            If ((Local4 != 0xFF))
                            {
                                Local5 = 0x00
                                While ((Local5 != 0x09))
                                {
                                    Local7 = DerefOf (DerefOf (UEBL [Local5]) [0x00])
                                    If ((Local4 == Local7))
                                    {
                                        BTDN++
                                        Local5 = (0x09 - 0x01)
                                    }

                                    Local5++
                                }
                            }

                            Local1++
                        }

                        Local2 = 0x00
                        Local1 = GBID ()
                        DVAL = 0x00
                        While ((Local2 < 0x64))
                        {
                            Local5 = 0x00
                            Local6 = 0x00
                            While ((Local6 < BTDN))
                            {
                                If ((DerefOf (BOID [Local2]) == DerefOf (SUIP [Local5])))
                                {
                                    DVAL = 0x01
                                    Local6 = (BTDN - 0x01)
                                }

                                Local5++
                                Local6++
                            }

                            Local5--
                            If ((DVAL == 0x01))
                            {
                                Local4 = Local5
                                Local4--
                                While ((Local5 > Local3))
                                {
                                    SUIP [Local5] = DerefOf (SUIP [Local4])
                                    Local5--
                                    Local4--
                                }

                                SUIP [Local3] = DerefOf (BOID [Local2])
                                Local3++
                            }

                            Local2++
                            DVAL = 0x00
                        }

                        WUFI = SUIP /* \_SB_.SUIP */
                        FLAG = 0x00
                        Local7 = 0x00
                        Local6 = 0x08
                        Local6 <<= 0x08
                    }

                    If ((Local2 == 0x00))
                    {
                        STAT = 0x01
                        Return (STAT) /* \STAT */
                    }

                    If ((FLAG == 0x05))
                    {
                        STAT = 0x05
                        Return (STAT) /* \STAT */
                    }

                    If ((Local2 != 0x00))
                    {
                        \_SB.SSMI (0xEA7B, 0x01, Local7, Local6, 0x00)
                        If ((STAT == 0x00))
                        {
                            ETYP [0x00] = 0x00
                            Notify (\_SB.WMID, 0xA0) // Device-Specific
                        }

                        If ((STAT == 0x06))
                        {
                            ETYP [0x00] = 0x01
                            Notify (\_SB.WMID, 0xA0) // Device-Specific
                        }
                    }

                    Return (STAT) /* \STAT */
                }

                If ((Arg1 == 0x02))
                {
                    Local0 = Arg2
                    Local1 = SizeOf (Local0)
                    Local2 = 0x00
                    Local4 = DerefOf (Local0 [Local2])
                    Local2++
                    Local2++
                    Local5 = 0x00
                    Local6 = 0x00
                    Local3 = 0x00
                    Local3 = ZPBF ()
                    If ((ISSP () == 0x01))
                    {
                        While ((Local5 != Local4))
                        {
                            PCBF [Local6] = DerefOf (Local0 [Local2])
                            Local2++
                            Local5++
                            Local6++
                        }

                        OAPW = PCBF /* \_SB_.PCBF */
                        Local4 = DerefOf (Local0 [Local2])
                        Local2++
                        Local2++
                        Local5 = 0x00
                        Local6 = 0x00
                        While ((Local5 != Local4))
                        {
                            STG1 [Local6] = DerefOf (Local0 [Local2])
                            Local2++
                            Local5++
                            Local6++
                            Local2++
                            Local5++
                        }
                    }

                    If (\SRCM (STG1, "true", 0x04))
                    {
                        \_SB.SSMI (0xEA7C, 0x01, 0x00, 0x00, 0x00)
                        If ((STAT == 0x00))
                        {
                            ETYP [0x00] = 0x00
                            Notify (\_SB.WMID, 0xA0) // Device-Specific
                        }

                        If ((STAT == 0x06))
                        {
                            ETYP [0x00] = 0x01
                            Notify (\_SB.WMID, 0xA0) // Device-Specific
                        }

                        Return (STAT) /* \STAT */
                    }
                    Else
                    {
                        \_SB.SSMI (0xEA7C, 0x00, 0x00, 0x00, 0x00)
                        If ((STAT == 0x00))
                        {
                            ETYP [0x00] = 0x00
                            Notify (\_SB.WMID, 0xA0) // Device-Specific
                        }

                        If ((STAT == 0x06))
                        {
                            ETYP [0x00] = 0x01
                            Notify (\_SB.WMID, 0xA0) // Device-Specific
                        }

                        Return (STAT) /* \STAT */
                    }
                }
                Else
                {
                    STAT = 0x05
                    Return (STAT) /* \STAT */
                }
            }

            Method (IBUF, 0, NotSerialized)
            {
                Local3 = 0x00
                STAT = 0x05
                While ((Local3 != SizeOf (ST01)))
                {
                    ST01 [Local3] = 0x00
                    Local3++
                }

                Local3 = 0x00
                While ((Local3 != SizeOf (ST02)))
                {
                    ST02 [Local3] = 0x00
                    Local3++
                }

                Local3 = 0x00
                While ((Local3 != SizeOf (ST03)))
                {
                    ST03 [Local3] = 0x00
                    Local3++
                }

                Local3 = 0x00
                While ((Local3 != SizeOf (BOIN)))
                {
                    BOIN [Local3] = 0x00
                    Local3++
                }

                Local3 = 0x00
                While ((Local3 != SizeOf (BOID)))
                {
                    BOID [Local3] = 0xFF
                    Local3++
                }

                Local3 = 0x00
                While ((Local3 != SizeOf (WSPS)))
                {
                    WSPS [Local3] = 0x00
                    WNWP [Local3] = 0x00
                    WPPS [Local3] = 0x00
                    WNPP [Local3] = 0x00
                    Local3++
                }

                Local3 = 0x00
                While ((Local3 != SizeOf (PCBF)))
                {
                    PCBF [Local3] = 0x00
                    Local3++
                }

                Local3 = 0x00
                While ((Local3 != SizeOf (ST11)))
                {
                    ST11 [Local3] = 0x00
                    Local3++
                }

                OAPW = WSPS /* \_SB_.WSPS */
                NAPW = WNWP /* \_SB_.WNWP */
                Local3 = 0x00
                While ((Local3 != SizeOf (BVAL)))
                {
                    BVAL [Local3] = 0x00
                    Local3++
                }

                Local3 = 0x00
                While ((Local3 != SizeOf (BF01)))
                {
                    BF01 [Local3] = 0x00
                    Local3++
                }

                Local3 = 0x00
                While ((Local3 != 0x09))
                {
                    SUIP [Local3] = 0x00
                    Local3++
                }

                Return (0x00)
            }

            Method (WMAC, 3, NotSerialized)
            {
                If ((Arg1 == 0x01))
                {
                    Local0 = Arg2
                    Local1 = SizeOf (Local0)
                    Local2 = 0x00
                    Local4 = DerefOf (Local0 [Local2])
                    Local2++
                    Local2++
                    Local5 = 0x00
                    Local6 = 0x00
                    Local3 = 0x00
                    If ((Local4 > 0x40))
                    {
                        STAT = 0x05
                        Return (STAT) /* \STAT */
                    }

                    Local3 = 0x00
                    While ((Local3 != SizeOf (BUFU)))
                    {
                        BUFU [Local3] = 0x00
                        Local3++
                    }

                    Divide (Local4, 0x02, Local3, Local1)
                    Local3 = 0x00
                    While ((Local5 != Local4))
                    {
                        BUFU [Local6] = DerefOf (Local0 [Local2])
                        Local2++
                        Local5++
                        Local6++
                        Local2++
                        Local5++
                    }

                    Local5 = (Local1 & 0x01)
                    If ((Local5 == 0x00))
                    {
                        Local4 = DerefOf (Local0 [Local2])
                        Local2++
                        Local2++
                    }

                    USRN = BUFU /* \_SB_.BUFU */
                    Local5 = 0x00
                    Local6 = 0x00
                    CreateDWordField (Local0, Local2, WROL)
                    ROLE = WROL /* \_SB_.WMID.WMAC.WROL */
                    Local2 += 0x04
                    CreateDWordField (Local0, Local2, WCMD)
                    CMDV = WCMD /* \_SB_.WMID.WMAC.WCMD */
                    Local2 += 0x04
                    CreateDWordField (Local0, Local2, WKBD)
                    KBDL = WKBD /* \_SB_.WMID.WMAC.WKBD */
                    Local2 += 0x04
                    Local4 = DerefOf (Local0 [Local2])
                    Local2++
                    Local2++
                    Local3 = ZPBF ()
                    OAPW = PCBF /* \_SB_.PCBF */
                    NAPW = PCBF /* \_SB_.PCBF */
                    Local5 = 0x00
                    Local6 = 0x00
                    Local3 = 0x00
                    While ((Local5 != Local4))
                    {
                        PCBF [Local6] = DerefOf (Local0 [Local2])
                        Local2++
                        Local5++
                        Local6++
                    }

                    OAPW = PCBF /* \_SB_.PCBF */
                    Local4 = DerefOf (Local0 [Local2])
                    Local2++
                    Local2++
                    Local5 = 0x00
                    Local6 = 0x00
                    Local3 = ZPBF ()
                    While ((Local5 != Local4))
                    {
                        PCBF [Local6] = DerefOf (Local0 [Local2])
                        Local2++
                        Local5++
                        Local6++
                    }

                    NAPW = PCBF /* \_SB_.PCBF */
                    \_SB.SSMI (0xEA7B, 0x03, CMDV, 0x00, 0x00)
                    If ((STAT == 0x00))
                    {
                        ETYP [0x00] = 0x00
                        Notify (\_SB.WMID, 0xA0) // Device-Specific
                    }

                    If ((STAT == 0x06))
                    {
                        ETYP [0x00] = 0x01
                        Notify (\_SB.WMID, 0xA0) // Device-Specific
                    }

                    Return (STAT) /* \STAT */
                }
                Else
                {
                    STAT = 0x05
                    Return (STAT) /* \STAT */
                }
            }

            Method (STLN, 1, NotSerialized)
            {
                Local0 = Arg0
                Local1 = 0x00
                While ((Local1 != SizeOf (Local0)))
                {
                    Local2 = DerefOf (Local0 [Local1])
                    If ((Local2 == 0x00))
                    {
                        Local1 = SizeOf (Local0)
                    }
                    Else
                    {
                        Local1++
                    }
                }

                Return (Local1)
            }

            Method (HDDL, 4, NotSerialized)
            {
                Local0 = Arg0
                Local2 = Arg1
                Local4 = Arg2
                Local3 = Arg3
                Local6 = 0x00
                Local5 = 0x00
                While ((Local5 != Local4))
                {
                    PCBF [Local6] = DerefOf (Local0 [Local2])
                    Local2++
                    Local5++
                    Local6++
                }

                NAPW = PCBF /* \_SB_.PCBF */
                Local4 = DerefOf (Local0 [Local2])
                Local2++
                Local2++
                Local5 = 0x00
                Local6 = 0x00
                Local1 = ZPBF ()
                While ((Local5 != Local4))
                {
                    PCBF [Local6] = DerefOf (Local0 [Local2])
                    Local2++
                    Local5++
                    Local6++
                }

                OAPW = PCBF /* \_SB_.PCBF */
                \_SB.SSMI (0xEA7B, 0x01, Local3, 0x0700, 0x00)
                If ((STAT == 0x00))
                {
                    ETYP [0x00] = 0x00
                    Notify (\_SB.WMID, 0xA0) // Device-Specific
                }
                Else
                {
                }

                If ((STAT == 0x06))
                {
                    ETYP [0x00] = 0x01
                    Notify (\_SB.WMID, 0xA0) // Device-Specific
                }

                Return (STAT) /* \STAT */
            }

            Name (THCT, Buffer (0x06)
            {
                 0x01, 0x01, 0x03, 0x01, 0x01, 0x02               // ......
            })
            Name (PRFI, Buffer (0x06)
            {
                 0x00, 0x08, 0x0C, 0x14, 0x18, 0x1C               // ......
            })
            Name (TSTM, 0x00)
            Name (ROAE, 0x00)
            Name (TSTV, Package (0x06)
            {
                Buffer (0x01)
                {
                     0xFF                                             // .
                }, 

                Buffer (0x01)
                {
                     0xFF                                             // .
                }, 

                Buffer (0x03)
                {
                     0xFF, 0xFF, 0xFF                                 // ...
                }, 

                Buffer (0x01)
                {
                     0xFF                                             // .
                }, 

                Buffer (0x01)
                {
                     0xFF                                             // .
                }, 

                Buffer (0x02)
                {
                     0xFF, 0xFF                                       // ..
                }
            })
            Method (WMAA, 3, Serialized)
            {
                Debug = "WMAA Enter"
                Return (WHCM (Arg1, Arg2))
            }

            Method (WGDD, 0, NotSerialized)
            {
                Debug = "GetDisplayDevices"
                Local1 = VGDD (0x01)
                If ((Local1 == 0xFFFF))
                {
                    Return (Package (0x02)
                    {
                        0x04, 
                        0x00
                    })
                }
                Else
                {
                    Local2 = (Local1 & 0x1F)
                    If ((Local1 & 0xFFE0))
                    {
                        Local2 |= 0x20
                    }

                    Local0 = Package (0x03)
                        {
                            0x00, 
                            0x04, 
                            Buffer (0x04){}
                        }
                    DerefOf (Local0 [0x02]) [0x00] = Local2
                    DerefOf (Local0 [0x02]) [0x01] = 0x01
                    DerefOf (Local0 [0x02]) [0x02] = 0x01
                    Return (Local0)
                }
            }

            Method (WSDD, 1, NotSerialized)
            {
                Debug = "SETDisplayDevices"
                Debug = Arg0
                Local0 = (Arg0 & 0x1F)
                If ((Arg0 & 0x20))
                {
                    Local1 = (WDST & 0xFFE0)
                    If (FindSetRightBit (Local1, Local2))
                    {
                        Local3 = (0x01 << Local2--)
                        Local0 |= Local3
                    }
                }

                Debug = Local0
                Debug = WDPE /* \WDPE */
                If ((VSDD (Local0) == 0xFFFF))
                {
                    Return (Package (0x02)
                    {
                        0x04, 
                        0x00
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        0x00, 
                        0x00
                    })
                }
            }

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

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

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

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

            Method (WGDS, 0, NotSerialized)
            {
                Local0 = Package (0x03)
                    {
                        0x00, 
                        0x01, 
                        Buffer (0x01)
                        {
                             0x00                                             // .
                        }
                    }
                If (\_SB.DCKD ())
                {
                    Local0 = Package (0x03)
                        {
                            0x00, 
                            0x01, 
                            Buffer (0x01)
                            {
                                 0x01                                             // .
                            }
                        }
                }

                Return (Local0)
            }

            Method (WGWS, 0, NotSerialized)
            {
                Local2 = Package (0x03){}
                Local2 [0x00] = 0x00
                Local2 [0x01] = 0x50
                Local2 [0x02] = WLDA /* \WLDA */
                Return (Local2)
            }

            Method (WSWS, 1, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x02, 0x1B, 0x574D4953, 0x00)
                Return (WFDA ())
            }

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

            Method (WGBI, 1, NotSerialized)
            {
                If ((Arg0 < SizeOf (NBTI)))
                {
                    Return (\_SB.PCI0.LPCB.EC0.GBTI (Arg0))
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        0x06, 
                        0x00
                    })
                }
            }

            Method (WGBN, 0, NotSerialized)
            {
                Debug = "Return Bezel function table"
                Local0 = 0x0E
                Local0 += 0x02
                Local1 = Buffer (0x0A)
                    {
                        /* 0000 */  0x31, 0x01, 0xAE, 0x01, 0xB6, 0x01, 0xB7, 0x01,  // 1.......
                        /* 0008 */  0x70, 0x02                                       // p.
                    }
                Concatenate (Local1, Buffer (0x06)
                    {
                         0xFF, 0xFF, 0xA9, 0x21, 0x00, 0x00               // ...!..
                    }, Local2)
                Local3 = Package (0x03){}
                Local3 [0x00] = 0x00
                Local3 [0x01] = Local0
                Local3 [0x02] = Local2
                Return (Local3)
            }

            Method (GHKS, 0, NotSerialized)
            {
                Local0 = Package (0x03)
                    {
                        0x00, 
                        0x04, 
                        Buffer (0x04){}
                    }
                DerefOf (Local0 [0x02]) [0x00] = \_SB.PCI0.LPCB.EC0.GSHK ()
                Return (Local0)
            }

            Method (SHKS, 1, NotSerialized)
            {
                \_SB.PCI0.LPCB.EC0.SSHK (Arg0)
                Debug = "SHK VALUE"
                Debug = \_SB.PCI0.LPCB.EC0.SHK
                Return (Package (0x02)
                {
                    0x00, 
                    0x00
                })
            }

            Method (FUF4, 1, NotSerialized)
            {
                Local0 = (Arg0 & 0x1F)
                Local1 = (Arg0 & 0xFFE0)
                If (Local1)
                {
                    Local0 |= 0x20
                    FindSetRightBit (Local1, Local2)
                    Local3 = (0x01 << Local2--)
                    Local1 &= ~Local3
                    If (Local1)
                    {
                        Local0 |= 0x10
                    }
                }

                Return (Local0)
            }

            Method (HKFR, 0, NotSerialized)
            {
                Debug = "HotkeyFunctionResponse"
                Local0 = Package (0x03)
                    {
                        0x00, 
                        0x04, 
                        Buffer (0x04){}
                    }
                Local2 = ASMB /* \ASMB */
                Local1 = DerefOf (Local2 [0x00])
                If ((Local1 == 0x0D))
                {
                    DerefOf (Local0 [0x02]) [0x00] = 0x31
                    DerefOf (Local0 [0x02]) [0x01] = 0x01
                }

                If ((Local1 == 0x04))
                {
                    Debug = "VideoGetDisplayDevices enter"
                    VGDD (0x00)
                    DerefOf (Local0 [0x02]) [0x00] = 0xAE
                    DerefOf (Local0 [0x02]) [0x01] = 0x01
                    Local3 = FUF4 (WDGN)
                    Local4 = FUF4 (WDSA)
                    DerefOf (Local0 [0x02]) [0x02] = Local3
                    DerefOf (Local0 [0x02]) [0x03] = Local4
                    Debug = "Next Display devices variable"
                    Debug = WDGN /* \WDGN */
                    Debug = "Current active Display Devices Variable"
                    Debug = WDSA /* \WDSA */
                    Debug = "VideoGetDisplayDevices exit"
                }

                If ((Local1 == 0x08))
                {
                    DerefOf (Local0 [0x02]) [0x00] = 0x70
                    DerefOf (Local0 [0x02]) [0x01] = 0x02
                }

                If (((Local1 == 0x09) || (Local1 == 0x0A)))
                {
                    If ((Local1 == 0x09))
                    {
                        Local1 = 0x09
                    }
                    ElseIf ((Local1 == 0x0A))
                    {
                        Local1 = 0x0A
                    }

                    \_GPE.VBRE (Local1)
                    DerefOf (Local0 [0x02]) [0x00] = (0xAD + Local1)
                    DerefOf (Local0 [0x02]) [0x01] = 0x01
                    If ((WDPE & 0x40))
                    {
                        Wait (\_SB.BEVT, 0x10)
                    }

                    DerefOf (Local0 [0x02]) [0x02] = BRID /* \BRID */
                    DerefOf (Local0 [0x02]) [0x03] = DerefOf (Local2 [
                        0x03])
                }

                Return (Local0)
            }

            Method (GHKF, 0, NotSerialized)
            {
                Debug = WDPE /* \WDPE */
                Debug = WDSA /* \WDSA */
                Debug = WDST /* \WDST */
                Debug = WDGN /* \WDGN */
                Reset (\_SB.BEVT)
                Reset (\_SB.F4EV)
                \_SB.SSMI (0xEA75, 0x01, 0x0A, 0x574D4953, 0x00)
                Debug = DID1 /* \DID1 */
                Debug = WDSA /* \WDSA */
                Debug = WDST /* \WDST */
                Debug = WDGN /* \WDGN */
                Return (HKFR ())
            }

            Method (SHKF, 1, NotSerialized)
            {
                Reset (\_SB.BEVT)
                Reset (\_SB.F4EV)
                \_SB.SSMI (0xEA75, 0x02, 0x0A, 0x574D4953, 0x00)
                Return (HKFR ())
            }

            Method (WGBV, 0, NotSerialized)
            {
                Local0 = Package (0x03)
                    {
                        0x00, 
                        0x04, 
                        Buffer (0x04){}
                    }
                Local1 = WLBN /* \WLBN */
                WLBN = 0x00
                If ((Local1 == 0x02))
                {
                    DerefOf (Local0 [0x02]) [0x00] = 0x9A
                    DerefOf (Local0 [0x02]) [0x01] = 0x21
                }

                If ((Local1 == 0x03))
                {
                    Local2 = \_SB.PCI0.LPCB.EC0.TP
                    DerefOf (Local0 [0x02]) [0x00] = 0xA9
                    DerefOf (Local0 [0x02]) [0x01] = 0x21
                    DerefOf (Local0 [0x02]) [0x02] = Local2
                    DerefOf (Local0 [0x02]) [0x03] = 0x00
                }

                Return (Local0)
            }

            Method (GSAS, 0, NotSerialized)
            {
                Local0 = Package (0x03)
                    {
                        0x00, 
                        0x04, 
                        Buffer (0x04){}
                    }
                Local1 = \_SB.PCI0.LPCB.EC0.GPID ()
                Local1 += 0x01
                DerefOf (Local0 [0x02]) [0x00] = Local1
                Return (Local0)
            }

            Method (GSRV, 0, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x01, 0x10, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (GVPR, 0, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x01, 0x11, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (GBRS, 0, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x01, 0x12, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (SSRV, 1, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x02, 0x10, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (GWPT, 0, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x01, 0x14, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (SWPT, 1, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x02, 0x14, 0x574D4953, 0x00)
                Local1 = WFDA ()
                HWWB ()
                Return (Local1)
            }

            Method (HWWB, 0, NotSerialized)
            {
                Local0 = BT0P /* \_SB_.BT0P */
                If ((Local0 != 0x1F))
                {
                    Local0 = 0x00
                }

                \_SB.SSMI (0xEA3A, 0x00, Local0, 0x00, 0x00)
                \_GPE.HWWP (0x01)
                WGWE (0x05, 0x00)
            }

            Method (GDBT, 0, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x01, 0x18, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (SDBT, 1, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x02, 0x18, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (GFRT, 0, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x01, 0x0D, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (SDMD, 1, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x02, 0x1D, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (GDMD, 0, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x01, 0x1D, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (SBUS, 1, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x02, 0x1E, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (GBUS, 0, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x01, 0x1E, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (STMM, 1, NotSerialized)
            {
                Debug = "SetThermalStatus"
                CreateByteField (Arg0, 0x00, IDTA)
                If (((IDTA >= 0x10) && (IDTA <= 0x15)))
                {
                    \_SB.SSMI (0xEA75, 0x02, 0x28, 0x574D4953, 0x00)
                    Return (WFDA ())
                }

                Local0 = Package (0x02)
                    {
                        0x00, 
                        0x00
                    }
                If (((IDTA >= 0x20) && (IDTA <= 0x24)))
                {
                    Local7 = (IDTA - 0x20)
                    Local1 = DerefOf (Arg0 [0x01])
                    Local2 = DerefOf (Arg0 [0x02])
                    If ((Local1 != DerefOf (THCT [Local7])))
                    {
                        Return (Package (0x02)
                        {
                            0x06, 
                            0x00
                        })
                    }

                    If ((Local1 == 0x00))
                    {
                        Return (Local0)
                    }

                    If (\_SB.PCI0.LPCB.EC0.ECRG)
                    {
                        Acquire (\_SB.PCI0.LPCB.EC0.ECMX, 0xFFFF)
                        If (((Local7 < 0x03) || (Local7 == 0x04)))
                        {
                            \_SB.PCI0.LPCB.EC0.CRZN = (0x01 + Local7)
                            If ((Local2 == 0xFF))
                            {
                                Local2 = 0x00
                            }

                            \_SB.PCI0.LPCB.EC0.TEMP = Local2
                            If ((Local7 == 0x02))
                            {
                                Local2 = DerefOf (Arg0 [0x03])
                                \_SB.PCI0.LPCB.EC0.CRZN = 0x04
                                If ((Local2 == 0xFF))
                                {
                                    Local2 = 0x00
                                }

                                \_SB.PCI0.LPCB.EC0.TEMP = Local2
                            }
                        }
                        Else
                        {
                            If ((Local2 != 0xFF))
                            {
                                Local2 = \_TZ.CTCT (Local2)
                            }

                            \_SB.PCI0.LPCB.EC0.FTGC = Local2
                        }

                        Release (\_SB.PCI0.LPCB.EC0.ECMX)
                    }

                    Local6 = 0x00
                    While ((Local6 < Local1))
                    {
                        DerefOf (TSTV [Local7]) [Local6] = DerefOf (Arg0 [
                            (Local6 + 0x02)])
                        Local6++
                    }

                    TSTM = 0x01
                    Return (Local0)
                }

                If ((IDTA == 0xAA))
                {
                    Local1 = 0x00
                    While ((Local1 < SizeOf (TSTV)))
                    {
                        Local2 = 0x00
                        Local3 = DerefOf (THCT [Local1])
                        While ((Local2 < Local3))
                        {
                            DerefOf (TSTV [Local1]) [Local2] = 0xFF
                            Local2++
                        }

                        Local1++
                    }

                    If (\_SB.PCI0.LPCB.EC0.ECRG)
                    {
                        Acquire (\_SB.PCI0.LPCB.EC0.ECMX, 0xFFFF)
                        Local1 = 0x01
                        While ((Local1 <= 0x05))
                        {
                            \_SB.PCI0.LPCB.EC0.CRZN = Local1
                            \_SB.PCI0.LPCB.EC0.TEMP = 0x00
                            Local1++
                        }

                        \_SB.PCI0.LPCB.EC0.FTGC = 0xFF
                        Release (\_SB.PCI0.LPCB.EC0.ECMX)
                    }

                    TSTM = 0x00
                    Return (Local0)
                }

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

            Method (GTMS, 1, NotSerialized)
            {
                Debug = "GetThermalStatus"
                Debug = Arg0
                Local0 = Package (0x03)
                    {
                        0x00, 
                        0x80, 
                        Buffer (0x80){}
                    }
                CreateByteField (Arg0, 0x00, IDTA)
                If (((IDTA >= 0x00) && (IDTA <= 0x04)))
                {
                    Local2 = DerefOf (THCT [IDTA])
                    DerefOf (Local0 [0x02]) [0x00] = Local2
                    If ((Local2 == 0x00))
                    {
                        Return (Local0)
                    }

                    If (((IDTA < 0x03) || (IDTA == 0x04)))
                    {
                        If (\_SB.PCI0.LPCB.EC0.ECRG)
                        {
                            Acquire (\_SB.PCI0.LPCB.EC0.ECMX, 0xFFFF)
                            \_SB.PCI0.LPCB.EC0.CRZN = (0x01 + IDTA)
                            DerefOf (Local0 [0x02]) [0x01] = \_SB.PCI0.LPCB.EC0.DTMP
                            If ((IDTA == 0x02))
                            {
                                \_SB.PCI0.LPCB.EC0.CRZN = 0x04
                                DerefOf (Local0 [0x02]) [0x02] = \_SB.PCI0.LPCB.EC0.DTMP
                            }

                            Release (\_SB.PCI0.LPCB.EC0.ECMX)
                        }

                        If ((IDTA == 0x02))
                        {
                            DerefOf (Local0 [0x02]) [0x03] = PCHT /* \PCHT */
                        }
                    }

                    If ((IDTA == 0x03))
                    {
                        Local1 = \_TZ.GFSD ()
                        DerefOf (Local0 [0x02]) [0x01] = Local1
                    }

                    Return (Local0)
                }

                If ((IDTA == 0x06))
                {
                    If (TRCN)
                    {
                        Local1 = 0x01
                    }
                    Else
                    {
                        Local1 = 0x00
                    }

                    TRCN = 0x00
                    DerefOf (Local0 [0x02]) [0x00] = 0x01
                    DerefOf (Local0 [0x02]) [0x01] = Local1
                    Return (Local0)
                }

                If (((IDTA >= 0x10) && (IDTA <= 0x15)))
                {
                    \_SB.SSMI (0xEA75, 0x01, 0x28, 0x574D4953, 0x00)
                    If ((EBX == 0x00))
                    {
                        Local1 = ASMB /* \ASMB */
                    }
                    Else
                    {
                        Return (Local0)
                    }

                    Local7 = (IDTA - 0x10)
                    Local2 = DerefOf (THCT [Local7])
                    DerefOf (Local0 [0x02]) [0x00] = Local2
                    Local4 = DerefOf (PRFI [Local7])
                    Local3 = 0x00
                    While ((Local3 < Local2))
                    {
                        DerefOf (Local0 [0x02]) [(Local3 + 0x01)] = 
                            DerefOf (Local1 [(Local3 + Local4)])
                        Local3++
                    }

                    Return (Local0)
                }

                If (((IDTA >= 0x20) && (IDTA <= 0x25)))
                {
                    Local7 = (IDTA - 0x20)
                    Local2 = DerefOf (THCT [Local7])
                    DerefOf (Local0 [0x02]) [0x00] = Local2
                    Local3 = 0x00
                    While ((Local3 < Local2))
                    {
                        DerefOf (Local0 [0x02]) [(Local3 + 0x01)] = 
                            DerefOf (DerefOf (TSTV [Local7]) [Local3])
                        Local3++
                    }

                    Return (Local0)
                }

                If ((IDTA == 0xAA))
                {
                    DerefOf (Local0 [0x02]) [0x00] = TSTM /* \_SB_.WMID.TSTM */
                    Return (Local0)
                }

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

            Method (SBTC, 1, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x02, 0x1F, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (GBTC, 0, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x01, 0x1F, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (GPMC, 1, NotSerialized)
            {
                Local0 = Buffer (0x80){}
                Local0 [0x00] = 0x01
                Local0 [0x01] = 0x00
                If ((PMCS == 0x01))
                {
                    If (\_SB.PCI0.LPCB.EC0.ECRG)
                    {
                        CreateWordField (Local0, 0x02, SYS)
                        CreateWordField (Local0, 0x04, P1)
                        CreateWordField (Local0, 0x06, BV1)
                        CreateWordField (Local0, 0x08, BI1)
                        CreateWordField (Local0, 0x0A, P2)
                        CreateWordField (Local0, 0x0C, BV2)
                        CreateWordField (Local0, 0x0E, BI2)
                        CreateWordField (Local0, 0x10, E1)
                        CreateWordField (Local0, 0x12, E2)
                        Local1 = \_SB.PCI0.LPCB.EC0.S0FL
                        Local2 = 0x01
                        If (((Local1 & 0x10) == 0x00))
                        {
                            Local2 |= 0x02
                        }

                        SYS = Local2
                        If ((Arg0 == 0x01))
                        {
                            \_SB.PCI0.LPCB.EC0.CIDX = 0x00
                            P1 = \_SB.PCI0.LPCB.EC0.CPWR
                            BV1 = \_SB.PCI0.LPCB.EC0.CVLT
                            BI1 = \_SB.PCI0.LPCB.EC0.CCUR
                            \_SB.PCI0.LPCB.EC0.CIDX = 0x01
                            P2 = \_SB.PCI0.LPCB.EC0.CPWR
                            BV2 = \_SB.PCI0.LPCB.EC0.CVLT
                            BI2 = \_SB.PCI0.LPCB.EC0.CCUR
                        }
                        Else
                        {
                            Local2 = ASMB /* \ASMB */
                            Local2 [0x10] = 0x00
                            ASMB = Local2
                            \_SB.SSMI (0xEA75, 0x01, 0x1C, 0x574D4953, 0x00)
                            If ((EBX == 0x00))
                            {
                                Local1 = ASMB /* \ASMB */
                                Local2 = 0x00
                                While ((Local2 < 0x0C))
                                {
                                    Local0 [(Local2 + 0x04)] = DerefOf (Local1 [Local2]
                                        )
                                    Local2++
                                }

                                SYS &= ~0x02
                            }
                            ElseIf ((SYS & 0x02))
                            {
                                P1 = 0x011C
                                BV1 = 0x2E18
                                BI1 = 0x0F50
                                P2 = 0x55
                                BV2 = 0x3264
                                BI2 = 0x0432
                            }
                            Else
                            {
                                \_SB.PCI0.LPCB.EC0.CIDX = 0x00
                                P1 = \_SB.PCI0.LPCB.EC0.CPWR
                                BV1 = \_SB.PCI0.LPCB.EC0.CVLT
                                BI1 = \_SB.PCI0.LPCB.EC0.CCUR
                                \_SB.PCI0.LPCB.EC0.CIDX = 0x01
                                P2 = \_SB.PCI0.LPCB.EC0.CPWR
                                BV2 = \_SB.PCI0.LPCB.EC0.CVLT
                                BI2 = \_SB.PCI0.LPCB.EC0.CCUR
                                Local1 = 0x00
                                If (((P1 > 0x0202) || (P1 < 0x80)))
                                {
                                    Local1 = 0x01
                                }

                                If (((P2 > 0x8D) || (P2 < 0x46)))
                                {
                                    Local1 = 0x01
                                }

                                If ((BV1 < 0x36B0))
                                {
                                    If (((BV1 > 0x3390) || (BV1 < 0x2CEC)))
                                    {
                                        Local1 = 0x01
                                    }

                                    If (((BV2 > 0x3390) || (BV2 < 0x2CEC)))
                                    {
                                        Local1 = 0x01
                                    }

                                    If (((BI1 > 0x1068) || (BI1 < 0x06A4)))
                                    {
                                        Local1 = 0x01
                                    }

                                    If (((BI2 > 0x04B0) || (BI2 < 0x0384)))
                                    {
                                        Local1 = 0x01
                                    }
                                }
                                Else
                                {
                                    If (((BV1 > 0x445C) || (BV1 < 0x3C28)))
                                    {
                                        Local1 = 0x01
                                    }

                                    If (((BV2 > 0x445C) || (BV2 < 0x3C28)))
                                    {
                                        Local1 = 0x01
                                    }

                                    If (((BI1 > 0x1068) || (BI1 < 0x06A4)))
                                    {
                                        Local1 = 0x01
                                    }

                                    If (((BI2 > 0x04B0) || (BI2 < 0x0384)))
                                    {
                                        Local1 = 0x01
                                    }
                                }

                                If ((Local1 == 0x01))
                                {
                                    \_SB.PCI0.LPCB.EC0.S0FL = 0x00
                                    P1 = 0x011C
                                    BV1 = 0x2E18
                                    BI1 = 0x0F50
                                    P2 = 0x55
                                    BV2 = 0x3264
                                    BI2 = 0x0432
                                    SYS |= 0x02
                                }
                                Else
                                {
                                    Local2 = ASMB /* \ASMB */
                                    CreateField (Local0, 0x20, 0x60, CDAT)
                                    CreateField (Local2, 0xA0, 0x60, BDAT)
                                    BDAT = CDAT /* \_SB_.WMID.GPMC.CDAT */
                                    Local2 [0x10] = 0x01
                                    ASMB = Local2
                                    \_SB.SSMI (0xEA75, 0x01, 0x1C, 0x574D4953, 0x00)
                                }
                            }
                        }

                        If ((BV2 > 0x3A98))
                        {
                            E1 = 0x03B6
                            E2 = 0x03B6
                        }
                        Else
                        {
                            E1 = 0x0398
                            E2 = 0x0398
                        }
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            0x0D, 
                            0x00
                        })
                    }
                }

                Local1 = Package (0x03)
                    {
                        0x00, 
                        0x80, 
                        Buffer (0x80){}
                    }
                Local1 [0x02] = Local0
                Return (Local1)
            }

            Method (CPMC, 0, NotSerialized)
            {
                If ((PMCS == 0x01))
                {
                    If (\_SB.PCI0.LPCB.EC0.ECRG)
                    {
                        \_SB.PCI0.LPCB.EC0.S0FL = 0x00
                        Return (Package (0x02)
                        {
                            0x00, 
                            0x00
                        })
                    }
                }

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

            Method (SQBP, 1, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x02, 0x22, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (GQBP, 0, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x01, 0x22, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (GPIN, 0, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x01, 0x23, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (SPIN, 1, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x02, 0x23, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (WGBC, 0, NotSerialized)
            {
                Return (\_SB.PCI0.LPCB.EC0.GBTC ())
            }

            Method (WSBC, 3, NotSerialized)
            {
                Return (\_SB.PCI0.LPCB.EC0.SBTC (Arg0, Arg1, Arg2))
            }

            Method (GFCC, 0, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x01, 0x29, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (SFCC, 1, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x02, 0x29, 0x574D4953, 0x00)
                Local1 = WFDA ()
                If (EDX)
                {
                    HWWB ()
                }

                Return (Local1)
            }

            Method (GPES, 0, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x01, 0x2A, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (SPES, 1, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x02, 0x2A, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (GLID, 0, NotSerialized)
            {
                Local0 = Package (0x03)
                    {
                        0x00, 
                        0x04, 
                        Buffer (0x04){}
                    }
                DerefOf (Local0 [0x02]) [0x00] = (\_SB.LID._LID () + 0x01
                    )
                Return (Local0)
            }

            Method (GDES, 0, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x01, 0x33, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (GBLC, 0, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x01, 0x34, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (SBLC, 1, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x02, 0x34, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (GPST, 0, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x01, 0x36, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (SPST, 1, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x02, 0x36, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (GBCT, 0, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x01, 0x37, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (SBCP, 1, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x02, 0x37, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (GPSH, 0, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x01, 0x38, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (SPSH, 1, NotSerialized)
            {
                \_SB.SSMI (0xEA75, 0x02, 0x38, 0x574D4953, 0x00)
                Return (WFDA ())
            }

            Method (FSEC, 3, Serialized)
            {
                If ((^FGLC () != 0x00))
                {
                    Return (Package (0x02)
                    {
                        0x40, 
                        0x00
                    })
                }

                Switch (Arg2)
                {
                    Case (0x00)
                    {
                        \_SB.PCI0.LPCB.EC0.FBCM = Arg2
                        Return (Package (0x02)
                        {
                            0x00, 
                            0x00
                        })
                    }
                    Case (0x01)
                    {
                        \_SB.PCI0.LPCB.EC0.FBCM = Arg2
                        Return (Package (0x02)
                        {
                            0x00, 
                            0x00
                        })
                    }
                    Case (0x02)
                    {
                        \_SB.PCI0.LPCB.EC0.FBCM = Arg2
                        Return (Package (0x02)
                        {
                            0x00, 
                            0x00
                        })
                    }
                    Case (0x07)
                    {
                        \_SB.PCI0.LPCB.EC0.FBCM = Arg2
                        Local2 = 0x11
                        Local3 = 0x01
                        While ((Local3 != Arg1))
                        {
                            \_SB.PCI0.LPCB.EC0.FBID = DerefOf (Arg0 [Local2])
                            Local2++
                            Local3++
                        }

                        Return (Package (0x02)
                        {
                            0x00, 
                            0x00
                        })
                    }
                    Case (0x08)
                    {
                        \_SB.PCI0.LPCB.EC0.FBCM = Arg2
                        Local2 = 0x11
                        Local3 = 0x01
                        While ((Local3 != Arg1))
                        {
                            \_SB.PCI0.LPCB.EC0.FBID = DerefOf (Arg0 [Local2])
                            Local2++
                            Local3++
                        }

                        Return (Package (0x02)
                        {
                            0x00, 
                            0x00
                        })
                    }
                    Case (0x0A)
                    {
                        \_SB.PCI0.LPCB.EC0.FBCM = Arg2
                        Local2 = 0x11
                        Local3 = 0x01
                        While ((Local3 != Arg1))
                        {
                            \_SB.PCI0.LPCB.EC0.FBID = DerefOf (Arg0 [Local2])
                            Local2++
                            Local3++
                        }

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

                }
            }

            Method (FGIF, 1, Serialized)
            {
                If ((^FGLC () != 0x00))
                {
                    Return (Package (0x02)
                    {
                        0x40, 
                        0x00
                    })
                }

                Switch (Arg0)
                {
                    Case (0x00)
                    {
                        Local0 = Package (0x03)
                            {
                                0x00, 
                                0x04, 
                                Buffer (0x04){}
                            }
                        \_SB.PCI0.LPCB.EC0.FBGI = 0x00
                        If ((^FLCC () == 0x00))
                        {
                            Return (Package (0x02)
                            {
                                0x41, 
                                0x00
                            })
                        }

                        Local1 = \_SB.PCI0.LPCB.EC0.FBGI
                        DerefOf (Local0 [0x02]) [0x00] = Local1
                        Return (Local0)
                    }
                    Case (0x01)
                    {
                        Local0 = Package (0x03)
                            {
                                0x00, 
                                0x80, 
                                Buffer (0x80){}
                            }
                        \_SB.PCI0.LPCB.EC0.FBGI = 0x01
                        If ((^FLCC () == 0x00))
                        {
                            Return (Package (0x02)
                            {
                                0x41, 
                                0x00
                            })
                        }

                        Local3 = 0x00
                        Local2 = 0x00
                        While ((Local3 != 0x20))
                        {
                            DerefOf (Local0 [0x02]) [Local2] = \_SB.PCI0.LPCB.EC0.FBGI
                            Local2++
                            Local3++
                        }

                        Return (Local0)
                    }
                    Case (0x02)
                    {
                        Local0 = Package (0x03)
                            {
                                0x00, 
                                0x80, 
                                Buffer (0x80){}
                            }
                        \_SB.PCI0.LPCB.EC0.FBGI = 0x02
                        If ((^FLCC () == 0x00))
                        {
                            Return (Package (0x02)
                            {
                                0x41, 
                                0x00
                            })
                        }

                        Local3 = 0x00
                        Local2 = 0x00
                        While ((Local3 != 0x20))
                        {
                            DerefOf (Local0 [0x02]) [Local2] = \_SB.PCI0.LPCB.EC0.FBGI
                            Local2++
                            Local3++
                        }

                        Return (Local0)
                    }
                    Case (0x03)
                    {
                        Local0 = Package (0x03)
                            {
                                0x00, 
                                0x80, 
                                Buffer (0x80){}
                            }
                        \_SB.PCI0.LPCB.EC0.FBGI = 0x03
                        If ((^FLCC () == 0x00))
                        {
                            Return (Package (0x02)
                            {
                                0x41, 
                                0x00
                            })
                        }

                        Local3 = 0x00
                        Local2 = 0x00
                        While ((Local3 != 0x20))
                        {
                            DerefOf (Local0 [0x02]) [Local2] = \_SB.PCI0.LPCB.EC0.FBGI
                            Local2++
                            Local3++
                        }

                        Return (Local0)
                    }
                    Case (0x04)
                    {
                        Local0 = Package (0x03)
                            {
                                0x00, 
                                0x80, 
                                Buffer (0x80){}
                            }
                        \_SB.PCI0.LPCB.EC0.FBGI = 0x04
                        If ((^FLCC () == 0x00))
                        {
                            Return (Package (0x02)
                            {
                                0x41, 
                                0x00
                            })
                        }

                        Local3 = 0x00
                        Local2 = 0x00
                        While ((Local3 != 0x20))
                        {
                            DerefOf (Local0 [0x02]) [Local2] = \_SB.PCI0.LPCB.EC0.FBGI
                            Local2++
                            Local3++
                        }

                        Return (Local0)
                    }
                    Case (0x05)
                    {
                        Local0 = Package (0x03)
                            {
                                0x00, 
                                0x80, 
                                Buffer (0x80){}
                            }
                        \_SB.PCI0.LPCB.EC0.FBGI = 0x05
                        If ((^FLCC () == 0x00))
                        {
                            Return (Package (0x02)
                            {
                                0x41, 
                                0x00
                            })
                        }

                        Local3 = 0x00
                        Local2 = 0x00
                        While ((Local3 != 0x20))
                        {
                            DerefOf (Local0 [0x02]) [Local2] = \_SB.PCI0.LPCB.EC0.FBGI
                            Local2++
                            Local3++
                        }

                        Return (Local0)
                    }
                    Case (0x06)
                    {
                        Local0 = Package (0x03)
                            {
                                0x00, 
                                0x0400, 
                                Buffer (0x0400){}
                            }
                        \_SB.PCI0.LPCB.EC0.FBGI = 0x06
                        If ((^FLCC () == 0x00))
                        {
                            Return (Package (0x02)
                            {
                                0x41, 
                                0x00
                            })
                        }

                        Local3 = 0x00
                        Local2 = 0x00
                        While ((Local3 != 0x0100))
                        {
                            DerefOf (Local0 [0x02]) [Local2] = \_SB.PCI0.LPCB.EC0.FBGI
                            Local2++
                            Local3++
                        }

                        Return (Local0)
                    }
                    Case (0x07)
                    {
                        \_SB.SSMI (0xEA75, 0x00020006, 0x07, 0x574D4953, 0x00)
                        Return (WFDA ())
                    }
                    Case (0x08)
                    {
                        Local0 = Package (0x03)
                            {
                                0x00, 
                                0x1000, 
                                Buffer (0x1000){}
                            }
                        \_SB.PCI0.LPCB.EC0.FBGI = 0x08
                        If ((^FLCC () == 0x00))
                        {
                            Return (Package (0x02)
                            {
                                0x41, 
                                0x00
                            })
                        }

                        Local3 = 0x00
                        Local2 = 0x00
                        While ((Local3 != 0x1000))
                        {
                            DerefOf (Local0 [0x02]) [Local2] = \_SB.PCI0.LPCB.EC0.FBGI
                            Local2++
                            Local3++
                        }

                        Return (Local0)
                    }
                    Case (0x09)
                    {
                        Local0 = Package (0x03)
                            {
                                0x00, 
                                0x1000, 
                                Buffer (0x1000){}
                            }
                        \_SB.PCI0.LPCB.EC0.FBGI = 0x09
                        If ((^FLCC () == 0x00))
                        {
                            Return (Package (0x02)
                            {
                                0x41, 
                                0x00
                            })
                        }

                        Local3 = 0x00
                        Local2 = 0x00
                        While ((Local3 != 0x1000))
                        {
                            DerefOf (Local0 [0x02]) [Local2] = \_SB.PCI0.LPCB.EC0.FBGI
                            Local2++
                            Local3++
                        }

                        Return (Local0)
                    }
                    Case (0x0A)
                    {
                        Local0 = Package (0x03)
                            {
                                0x00, 
                                0x80, 
                                Buffer (0x80){}
                            }
                        \_SB.PCI0.LPCB.EC0.FBGI = 0x0A
                        If ((^FLCC () == 0x00))
                        {
                            Return (Package (0x02)
                            {
                                0x41, 
                                0x00
                            })
                        }

                        Local3 = 0x00
                        Local2 = 0x00
                        While ((Local3 != 0x06))
                        {
                            DerefOf (Local0 [0x02]) [Local2] = \_SB.PCI0.LPCB.EC0.FBGI
                            Local2++
                            Local3++
                        }

                        Return (Local0)
                    }
                    Case (0x0B)
                    {
                        Local0 = Package (0x03)
                            {
                                0x00, 
                                0x04, 
                                Buffer (0x04){}
                            }
                        \_SB.PCI0.LPCB.EC0.FBGI = 0x0B
                        Local3 = 0x00
                        Local2 = 0x00
                        While ((Local3 != 0x01))
                        {
                            DerefOf (Local0 [0x02]) [Local2] = \_SB.PCI0.LPCB.EC0.FBGI
                            Local2++
                            Local3++
                        }

                        Return (Local0)
                    }
                    Case (0x0C)
                    {
                        Local0 = Package (0x03)
                            {
                                0x00, 
                                0x04, 
                                Buffer (0x04){}
                            }
                        \_SB.PCI0.LPCB.EC0.FBGI = 0x0C
                        If ((^FLCC () == 0x00))
                        {
                            Return (Package (0x02)
                            {
                                0x41, 
                                0x00
                            })
                        }

                        Local3 = 0x00
                        Local2 = 0x00
                        While ((Local3 != 0x01))
                        {
                            DerefOf (Local0 [0x02]) [Local2] = \_SB.PCI0.LPCB.EC0.FBGI
                            Local2++
                            Local3++
                        }

                        Return (Local0)
                    }
                    Case (0x0F)
                    {
                        Local0 = Package (0x03)
                            {
                                0x00, 
                                0x04, 
                                Buffer (0x04){}
                            }
                        \_SB.PCI0.LPCB.EC0.FBGI = 0x0F
                        If ((^FLCC () == 0x00))
                        {
                            Return (Package (0x02)
                            {
                                0x41, 
                                0x00
                            })
                        }

                        Local3 = 0x00
                        Local2 = 0x00
                        While ((Local3 != 0x04))
                        {
                            DerefOf (Local0 [0x02]) [Local2] = \_SB.PCI0.LPCB.EC0.FBGI
                            Local2++
                            Local3++
                        }

                        Return (Local0)
                    }
                    Default
                    {
                        Return (Package (0x02)
                        {
                            0x06, 
                            0x00
                        })
                    }

                }
            }

            Method (FGAE, 1, Serialized)
            {
                If ((^FGLC () != 0x00))
                {
                    Return (Package (0x02)
                    {
                        0x40, 
                        0x00
                    })
                }

                If ((Arg0 < 0x0100))
                {
                    Local0 = Package (0x03)
                        {
                            0x00, 
                            0x80, 
                            Buffer (0x80){}
                        }
                    \_SB.PCI0.LPCB.EC0.FBAE = Arg0
                    If ((^FLCC () == 0x00))
                    {
                        Return (Package (0x02)
                        {
                            0x41, 
                            0x00
                        })
                    }

                    Local3 = 0x00
                    Local2 = 0x00
                    While ((Local3 != 0x10))
                    {
                        DerefOf (Local0 [0x02]) [Local2] = \_SB.PCI0.LPCB.EC0.FBAE
                        Local2++
                        Local3++
                    }

                    Return (Local0)
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        0x06, 
                        0x00
                    })
                }
            }

            Method (FGAU, 1, Serialized)
            {
                If ((^FGLC () != 0x00))
                {
                    Return (Package (0x02)
                    {
                        0x40, 
                        0x00
                    })
                }

                If ((Arg0 < 0x0100))
                {
                    Local0 = Package (0x03)
                        {
                            0x00, 
                            0x80, 
                            Buffer (0x80){}
                        }
                    \_SB.PCI0.LPCB.EC0.FUAE = Arg0
                    If ((^FLCC () == 0x00))
                    {
                        Return (Package (0x02)
                        {
                            0x41, 
                            0x00
                        })
                    }

                    Local3 = 0x00
                    Local2 = 0x00
                    While ((Local3 != 0x10))
                    {
                        DerefOf (Local0 [0x02]) [Local2] = \_SB.PCI0.LPCB.EC0.FUAE
                        Local2++
                        Local3++
                    }

                    Return (Local0)
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        0x06, 
                        0x00
                    })
                }
            }

            Method (FGFS, 0, NotSerialized)
            {
                Local0 = Package (0x03)
                    {
                        0x00, 
                        0x04, 
                        Buffer (0x04){}
                    }
                DerefOf (Local0 [0x02]) [0x00] = \_SB.PCI0.LPCB.EC0.FBCB
                DerefOf (Local0 [0x02]) [0x01] = \_SB.PCI0.LPCB.EC0.FBW1
                DerefOf (Local0 [0x02]) [0x02] = \_SB.PCI0.LPCB.EC0.FBW2
                Return (Local0)
            }

            Method (FGLC, 0, NotSerialized)
            {
                Local0 = \_SB.PCI0.LPCB.EC0.FBCM
                Return (Local0)
            }

            Method (FGLW, 0, NotSerialized)
            {
                Local0 = Package (0x03)
                    {
                        0x00, 
                        0x04, 
                        Buffer (0x04){}
                    }
                DerefOf (Local0 [0x02]) [0x00] = \_SB.PCI0.LPCB.EC0.FBCM
                Return (Local0)
            }

            Method (FLCC, 0, NotSerialized)
            {
                Local0 = 0x00
                While (((Local0 != 0x64) & (^FGLC () == 0x01)))
                {
                    Sleep (0x64)
                    Local0++
                }

                If ((Local0 >= 0x64))
                {
                    Return (0x00)
                }
                Else
                {
                    Return (0x01)
                }
            }

            Method (FBPS, 1, Serialized)
            {
                If ((^FGLC () != 0x00))
                {
                    Return (Package (0x02)
                    {
                        0x40, 
                        0x00
                    })
                }

                Local0 = Package (0x03)
                    {
                        0x00, 
                        0x04, 
                        Buffer (0x04){}
                    }
                \_SB.PCI0.LPCB.EC0.FRPS = DerefOf (Arg0 [0x10])
                \_SB.PCI0.LPCB.EC0.FRPS = DerefOf (Arg0 [0x11])
                \_SB.PCI0.LPCB.EC0.FRPS = DerefOf (Arg0 [0x12])
                \_SB.PCI0.LPCB.EC0.FRPS = DerefOf (Arg0 [0x13])
                If ((^FLCC () == 0x00))
                {
                    Return (Package (0x02)
                    {
                        0x41, 
                        0x00
                    })
                }

                DerefOf (Local0 [0x02]) [0x00] = \_SB.PCI0.LPCB.EC0.FRPS
                Return (Local0)
            }

            Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */)  // _HID: Hardware ID
            Name (_UID, 0x00)  // _UID: Unique ID
            Name (WEI1, 0x00)
            Name (WED1, 0x00)
            Name (WEI2, 0x00)
            Name (WED2, 0x00)
            Name (WEVT, 0x00)
            Name (_WDG, Buffer (0x0118)
            {
                /* 0000 */  0x34, 0xF0, 0xB7, 0x5F, 0x63, 0x2C, 0xE9, 0x45,  // 4.._c,.E
                /* 0008 */  0xBE, 0x91, 0x3D, 0x44, 0xE2, 0xC7, 0x07, 0xE4,  // ..=D....
                /* 0010 */  0x41, 0x41, 0x01, 0x02, 0x79, 0x42, 0xF2, 0x95,  // AA..yB..
                /* 0018 */  0x7B, 0x4D, 0x34, 0x43, 0x93, 0x87, 0xAC, 0xCD,  // {M4C....
                /* 0020 */  0xC6, 0x7E, 0xF6, 0x1C, 0x80, 0x00, 0x01, 0x08,  // .~......
                /* 0028 */  0x18, 0x43, 0x81, 0x2B, 0xE8, 0x4B, 0x07, 0x47,  // .C.+.K.G
                /* 0030 */  0x9D, 0x84, 0xA1, 0x90, 0xA8, 0x59, 0xB5, 0xD0,  // .....Y..
                /* 0038 */  0xA0, 0x00, 0x01, 0x08, 0x21, 0x12, 0x90, 0x05,  // ....!...
                /* 0040 */  0x66, 0xD5, 0xD1, 0x11, 0xB2, 0xF0, 0x00, 0xA0,  // f.......
                /* 0048 */  0xC9, 0x06, 0x29, 0x10, 0x41, 0x42, 0x01, 0x00,  // ..).AB..
                /* 0050 */  0xEB, 0x91, 0x4C, 0x1F, 0x5C, 0xDC, 0x0B, 0x46,  // ..L.\..F
                /* 0058 */  0x95, 0x1D, 0xC7, 0xCB, 0x9B, 0x4B, 0x8D, 0x5E,  // .....K.^
                /* 0060 */  0x42, 0x41, 0x01, 0x02, 0x49, 0x4B, 0x11, 0x2D,  // BA..IK.-
                /* 0068 */  0xFB, 0x2D, 0x30, 0x41, 0xB8, 0xFE, 0x4A, 0x3C,  // .-0A..J<
                /* 0070 */  0x09, 0xE7, 0x51, 0x33, 0x42, 0x43, 0xFA, 0x00,  // ..Q3BC..
                /* 0078 */  0xE3, 0x08, 0x8D, 0x98, 0xF4, 0x68, 0x35, 0x4C,  // .....h5L
                /* 0080 */  0xAF, 0x3E, 0x6A, 0x1B, 0x81, 0x06, 0xF8, 0x3C,  // .>j....<
                /* 0088 */  0x42, 0x44, 0x38, 0x00, 0x46, 0x97, 0xEA, 0x14,  // BD8.F...
                /* 0090 */  0x1F, 0xCE, 0x98, 0x40, 0xA0, 0xE0, 0x70, 0x45,  // ...@..pE
                /* 0098 */  0xCB, 0x4D, 0xA7, 0x45, 0x42, 0x45, 0x02, 0x00,  // .M.EBE..
                /* 00A0 */  0x28, 0x20, 0x2F, 0x32, 0x84, 0x0F, 0x01, 0x49,  // ( /2...I
                /* 00A8 */  0x98, 0x8E, 0x01, 0x51, 0x76, 0x04, 0x9E, 0x2D,  // ...Qv..-
                /* 00B0 */  0x42, 0x46, 0x05, 0x00, 0x3D, 0xDE, 0x32, 0x82,  // BF..=.2.
                /* 00B8 */  0x3D, 0x66, 0x27, 0x43, 0xA8, 0xF4, 0xE2, 0x93,  // =f'C....
                /* 00C0 */  0xAD, 0xB9, 0xBF, 0x05, 0x42, 0x47, 0x02, 0x00,  // ....BG..
                /* 00C8 */  0x36, 0x64, 0x1F, 0x8F, 0x42, 0x9F, 0xC8, 0x42,  // 6d..B..B
                /* 00D0 */  0xBA, 0xDC, 0x0E, 0x94, 0x24, 0xF2, 0x0C, 0x9A,  // ....$...
                /* 00D8 */  0x42, 0x48, 0x00, 0x00, 0x35, 0x64, 0x1F, 0x8F,  // BH..5d..
                /* 00E0 */  0x42, 0x9F, 0xC8, 0x42, 0xBA, 0xDC, 0x0E, 0x94,  // B..B....
                /* 00E8 */  0x24, 0xF2, 0x0C, 0x9A, 0x42, 0x49, 0x00, 0x00,  // $...BI..
                /* 00F0 */  0x61, 0xA6, 0x91, 0x73, 0x3A, 0x22, 0xDB, 0x47,  // a..s:".G
                /* 00F8 */  0xA7, 0x7A, 0x7B, 0xE8, 0x4C, 0x60, 0x82, 0x2D,  // .z{.L`.-
                /* 0100 */  0x41, 0x43, 0x01, 0x02, 0xB6, 0x63, 0x4E, 0xDF,  // AC...cN.
                /* 0108 */  0xBC, 0x3B, 0x58, 0x48, 0x97, 0x37, 0xC7, 0x4F,  // .;XH.7.O
                /* 0110 */  0x82, 0xF8, 0x21, 0xF3, 0x42, 0x4A, 0x03, 0x00   // ..!.BJ..
            })
            Name (EVNT, Package (0x03)
            {
                Package (0x05)
                {
                    "BIOS Configuration Change", 
                    "BIOS Settings", 
                    0x04, 
                    0x05, 
                    0x02
                }, 

                Package (0x05)
                {
                    "BIOS Configuration Security", 
                    "An attempt has been made to Access BIOS features unsuccessfully", 
                    0x04, 
                    0x0A, 
                    0x06
                }, 

                Package (0x05)
                {
                    "Unknown Event", 
                    "Unknown event type", 
                    0x00, 
                    0x00, 
                    0x00
                }
            })
            Name (IWPN, 0x01)
            Method (IWMP, 0, Serialized)
            {
                If (IWPN)
                {
                    Name (TYPS, Buffer (0x0D){})
                    Local0 = 0x00
                    While ((Local0 < 0x0D))
                    {
                        TYPS [Local0] = 0x00
                        Local0++
                    }

                    Local4 = SizeOf (DYEN)
                    Local0 = 0x00
                    While ((Local0 < Local4))
                    {
                        Local7 = DerefOf (DYEN [Local0])
                        If (((Local7 > 0x00) && (Local7 < 0x0D)))
                        {
                            Local1 = DerefOf (TYPS [Local7])
                            TYPS [Local7] = (Local1 + 0x01)
                        }

                        Local0 += 0x02
                    }

                    Local0 = 0x01
                    Local1 = (FWSF >> 0x01)
                    While ((Local0 < 0x0D))
                    {
                        If (((Local1 & 0x01) == 0x00))
                        {
                            TYPS [Local0] = 0x00
                        }

                        Local1 >>= 0x01
                        Local0++
                    }

                    Local0 = 0x00
                    While ((Local0 < 0xFA))
                    {
                        Local6 = DerefOf (DerefOf (BISE [Local0]) [0x00])
                        Local2 = 0x00
                        While ((Local2 < Local4))
                        {
                            Local7 = DerefOf (DYEN [Local2])
                            If (((Local7 > 0x00) && (Local7 < 0x0D)))
                            {
                                If (DerefOf (TYPS [Local7]))
                                {
                                    Local5 = DerefOf (DerefOf (DYEN [(Local2 + 0x01)]) [
                                        0x00])
                                    If (\SRCP (Local6, Local5))
                                    {
                                        DYEN [Local2] = 0x00
                                        BISE [Local0] = DerefOf (DYEN [(Local2 + 0x01)]
                                            )
                                        Local1 = DerefOf (TYPS [Local7])
                                        TYPS [Local7] = (Local1 - 0x01)
                                        Break
                                    }
                                }
                            }

                            Local2 += 0x02
                        }

                        Local0++
                    }

                    IWPN = 0x00
                }
            }

            Method (_WED, 1, NotSerialized)  // _Wxx: Wake Event, xx=0x00-0xFF
            {
                If ((Arg0 == 0xA0))
                {
                    If ((DerefOf (ETYP [0x00]) == 0x00))
                    {
                        BF2S = ST01 /* \_SB_.ST01 */
                        DerefOf (EVNT [0x00]) [0x01] = BF2S /* \_SB_.BF2S */
                        Return (DerefOf (EVNT [0x00]))
                    }

                    If ((DerefOf (ETYP [0x00]) == 0x01))
                    {
                        Return (DerefOf (EVNT [0x01]))
                    }
                    Else
                    {
                        Return (DerefOf (EVNT [0x02]))
                    }
                }
                Else
                {
                    Local0 = Buffer (0x08)
                        {
                             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                        }
                    CreateDWordField (Local0, 0x00, EVID)
                    CreateDWordField (Local0, 0x04, EVDA)
                    EVID = WEI1 /* \_SB_.WMID.WEI1 */
                    EVDA = WED1 /* \_SB_.WMID.WED1 */
                    If ((WEI2 != 0x00))
                    {
                        WEI1 = WEI2 /* \_SB_.WMID.WEI2 */
                        WED1 = WED2 /* \_SB_.WMID.WED2 */
                        EVID = WEI1 /* \_SB_.WMID.WEI1 */
                        EVDA = WED1 /* \_SB_.WMID.WED1 */
                        WEI2 = 0x00
                        WED2 = 0x00
                        If ((WEVT == 0x00))
                        {
                            WEVT = 0x01
                            Notify (\_SB.WMID, 0x80) // Status Change
                        }
                    }
                    Else
                    {
                        WEI1 = 0x00
                        WED1 = 0x00
                    }

                    Return (Local0)
                }
            }

            Name (WQAB, Buffer (0x1E73)
            {
                /* 0000 */  0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,  // FOMB....
                /* 0008 */  0x63, 0x1E, 0x00, 0x00, 0x44, 0xBD, 0x00, 0x00,  // c...D...
                /* 0010 */  0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,  // DS...}.T
                /* 0018 */  0x28, 0x2A, 0x9A, 0x00, 0x01, 0x06, 0x18, 0x42,  // (*.....B
                /* 0020 */  0x10, 0x4D, 0x10, 0x92, 0x46, 0x62, 0x02, 0x89,  // .M..Fb..
                /* 0028 */  0x80, 0x90, 0x18, 0x18, 0x14, 0x81, 0x85, 0x00,  // ........
                /* 0030 */  0x49, 0x02, 0x88, 0xC4, 0x41, 0xE1, 0x20, 0xD4,  // I...A. .
                /* 0038 */  0x9F, 0x40, 0x7E, 0x05, 0x20, 0x74, 0x28, 0x40,  // .@~. t(@
                /* 0040 */  0xA6, 0x00, 0x83, 0x02, 0x9C, 0x22, 0x88, 0xA0,  // ....."..
                /* 0048 */  0x57, 0x01, 0x36, 0x05, 0x98, 0x14, 0x60, 0x51,  // W.6...`Q
                /* 0050 */  0x80, 0x76, 0x01, 0x96, 0x05, 0xE8, 0x16, 0x20,  // .v..... 
                /* 0058 */  0x1D, 0x96, 0x88, 0x04, 0x47, 0x89, 0x01, 0x47,  // ....G..G
                /* 0060 */  0xE9, 0xC4, 0x16, 0x6E, 0xD8, 0xE0, 0x85, 0xA2,  // ...n....
                /* 0068 */  0x68, 0x06, 0x51, 0x12, 0x94, 0x8B, 0x20, 0x5D,  // h.Q... ]
                /* 0070 */  0x10, 0x52, 0x2E, 0xC0, 0x37, 0x82, 0x06, 0x10,  // .R..7...
                /* 0078 */  0xA5, 0x77, 0x01, 0xB6, 0x05, 0x98, 0x86, 0x27,  // .w.....'
                /* 0080 */  0xD2, 0x20, 0xE4, 0x60, 0x08, 0x54, 0xCE, 0x80,  // . .`.T..
                /* 0088 */  0x20, 0x69, 0x44, 0x21, 0x1E, 0xA7, 0x44, 0x08,  //  iD!..D.
                /* 0090 */  0x0A, 0x84, 0x90, 0xD4, 0xF1, 0xA0, 0xA0, 0x71,  // .......q
                /* 0098 */  0x88, 0xAD, 0xCE, 0x46, 0x93, 0xA9, 0x74, 0x7E,  // ...F..t~
                /* 00A0 */  0x48, 0x82, 0x70, 0xC6, 0x2A, 0x7E, 0x3A, 0x9A,  // H.p.*~:.
                /* 00A8 */  0xD0, 0xD9, 0x9C, 0x60, 0xE7, 0x18, 0x72, 0x3C,  // ...`..r<
                /* 00B0 */  0x48, 0xF4, 0x20, 0xB8, 0x00, 0x0F, 0x1C, 0x2C,  // H. ....,
                /* 00B8 */  0x34, 0x84, 0x22, 0x6B, 0x80, 0xC1, 0x8C, 0xDD,  // 4."k....
                /* 00C0 */  0x63, 0xB1, 0x0B, 0x4E, 0x0A, 0xEC, 0x61, 0xB3,  // c..N..a.
                /* 00C8 */  0x01, 0x19, 0xA2, 0x24, 0x38, 0xD4, 0x11, 0xC0,  // ...$8...
                /* 00D0 */  0x12, 0x05, 0x98, 0x1F, 0x87, 0x0C, 0x0F, 0x95,  // ........
                /* 00D8 */  0x8C, 0x25, 0x24, 0x1B, 0xAB, 0x87, 0xC2, 0xA5,  // .%$.....
                /* 00E0 */  0x40, 0x68, 0x6C, 0x27, 0xED, 0x19, 0x45, 0x2C,  // @hl'..E,
                /* 00E8 */  0x79, 0x4A, 0x82, 0x49, 0xE0, 0x51, 0x44, 0x36,  // yJ.I.QD6
                /* 00F0 */  0x1A, 0x27, 0x28, 0x1B, 0x1A, 0x25, 0x03, 0x42,  // .'(..%.B
                /* 00F8 */  0x9E, 0x05, 0x58, 0x07, 0x26, 0x04, 0x76, 0x2F,  // ..X.&.v/
                /* 0100 */  0xC0, 0x9A, 0x00, 0x73, 0xB3, 0x90, 0xB1, 0xB9,  // ...s....
                /* 0108 */  0xE8, 0xFF, 0x0F, 0x71, 0xB0, 0x31, 0xDA, 0x9A,  // ...q.1..
                /* 0110 */  0xAE, 0x90, 0xC2, 0xC4, 0x88, 0x12, 0x2C, 0x5E,  // ......,^
                /* 0118 */  0xC5, 0xC3, 0x10, 0xCA, 0x93, 0x42, 0xA8, 0x48,  // .....B.H
                /* 0120 */  0x95, 0xA1, 0x68, 0xB4, 0x51, 0x2A, 0x14, 0xE0,  // ..h.Q*..
                /* 0128 */  0x4C, 0x80, 0x30, 0x5C, 0x1D, 0x03, 0x82, 0x46,  // L.0\...F
                /* 0130 */  0x88, 0x15, 0x29, 0x56, 0xFB, 0x83, 0x20, 0xF1,  // ..)V.. .
                /* 0138 */  0x2D, 0x40, 0x54, 0x01, 0xA2, 0x48, 0xA3, 0x41,  // -@T..H.A
                /* 0140 */  0x9D, 0x03, 0x3C, 0x5C, 0x0F, 0xF5, 0xF0, 0x3D,  // ..<\...=
                /* 0148 */  0xF6, 0x93, 0x0C, 0x72, 0x90, 0x67, 0xF1, 0xA8,  // ...r.g..
                /* 0150 */  0x70, 0x9C, 0x06, 0x49, 0xE0, 0x0B, 0x80, 0x4F,  // p..I...O
                /* 0158 */  0x08, 0x1E, 0x38, 0xDE, 0x35, 0xA0, 0x66, 0x7C,  // ..8.5.f|
                /* 0160 */  0xBC, 0x4C, 0x10, 0x1C, 0x6A, 0x88, 0x1E, 0x68,  // .L..j..h
                /* 0168 */  0xB8, 0x13, 0x38, 0x44, 0x06, 0xE8, 0x49, 0x3D,  // ..8D..I=
                /* 0170 */  0x52, 0x60, 0x07, 0x77, 0x32, 0xEF, 0x01, 0xAF,  // R`.w2...
                /* 0178 */  0x0A, 0xCD, 0x5E, 0x12, 0x08, 0xC1, 0xF1, 0xF8,  // ..^.....
                /* 0180 */  0x7E, 0xC0, 0x26, 0x9C, 0xC0, 0xF2, 0x07, 0x81,  // ~.&.....
                /* 0188 */  0x1A, 0x99, 0xA1, 0x3D, 0xCA, 0xD3, 0x8A, 0x19,  // ...=....
                /* 0190 */  0xF2, 0x31, 0xC1, 0x04, 0x16, 0x0B, 0x21, 0x05,  // .1....!.
                /* 0198 */  0x10, 0x1A, 0x0F, 0xF8, 0x6F, 0x00, 0x8F, 0x17,  // ....o...
                /* 01A0 */  0xBE, 0x12, 0xC4, 0xF6, 0x80, 0x12, 0x0C, 0x0B,  // ........
                /* 01A8 */  0x21, 0x23, 0xAB, 0xF0, 0x78, 0xE8, 0x28, 0x7C,  // !#..x.(|
                /* 01B0 */  0x95, 0x38, 0x9C, 0xD3, 0x8A, 0x67, 0x82, 0xE1,  // .8...g..
                /* 01B8 */  0x20, 0xF4, 0x05, 0x90, 0x00, 0x51, 0xE7, 0x0C,  //  ....Q..
                /* 01C0 */  0xD4, 0x61, 0xC1, 0xE7, 0x04, 0x76, 0x33, 0x38,  // .a...v38
                /* 01C8 */  0x83, 0x47, 0x00, 0x8F, 0xE4, 0x84, 0xFC, 0x2B,  // .G.....+
                /* 01D0 */  0xF1, 0xC0, 0xE0, 0x03, 0xE2, 0xEF, 0x1F, 0xA7,  // ........
                /* 01D8 */  0xEC, 0x11, 0x9C, 0xA9, 0x01, 0x7D, 0x1C, 0xF0,  // .....}..
                /* 01E0 */  0xFF, 0x7F, 0x28, 0x7C, 0x88, 0x1E, 0xDF, 0x29,  // ..(|...)
                /* 01E8 */  0x1F, 0xAF, 0x4F, 0x17, 0x96, 0x35, 0x4E, 0xE8,  // ..O..5N.
                /* 01F0 */  0x77, 0x08, 0x9F, 0x38, 0x7C, 0x64, 0x71, 0x44,  // w..8|dqD
                /* 01F8 */  0x08, 0x39, 0x39, 0x05, 0xA0, 0x81, 0x4F, 0xF7,  // .99...O.
                /* 0200 */  0xEC, 0x22, 0x9C, 0xAE, 0x27, 0xE5, 0x40, 0xC3,  // ."..'.@.
                /* 0208 */  0xA0, 0xE3, 0x04, 0xC7, 0x79, 0x00, 0x1C, 0xE3,  // ....y...
                /* 0210 */  0x84, 0x7F, 0x2E, 0x80, 0x3F, 0x40, 0x7E, 0xCA,  // ....?@~.
                /* 0218 */  0x78, 0xC5, 0x48, 0xE0, 0x98, 0x23, 0x44, 0x9F,  // x.H..#D.
                /* 0220 */  0x6B, 0x3C, 0x42, 0x2C, 0xFC, 0x53, 0x45, 0xE1,  // k<B,.SE.
                /* 0228 */  0x03, 0x21, 0x63, 0x04, 0x17, 0xA0, 0xC7, 0x08,  // .!c.....
                /* 0230 */  0x7C, 0x03, 0x8E, 0x11, 0x7D, 0x94, 0xE0, 0xEA,  // |...}...
                /* 0238 */  0x0F, 0x1A, 0x74, 0x80, 0xB8, 0xFF, 0xFF, 0x00,  // ..t.....
                /* 0240 */  0xE1, 0x83, 0x7A, 0x80, 0xC0, 0x37, 0xFA, 0xD1,  // ..z..7..
                /* 0248 */  0x03, 0x3D, 0x2E, 0x8B, 0x3E, 0x0F, 0xC8, 0xF8,  // .=..>...
                /* 0250 */  0x89, 0x46, 0xF3, 0xE2, 0xA7, 0x03, 0x7E, 0xF8,  // .F....~.
                /* 0258 */  0x00, 0x0F, 0xA8, 0x87, 0x84, 0x03, 0xC5, 0x4C,  // .......L
                /* 0260 */  0x9B, 0x83, 0x3E, 0xBB, 0x1C, 0x3A, 0x76, 0xB8,  // ..>..:v.
                /* 0268 */  0xE0, 0x3F, 0x81, 0x80, 0x4B, 0xDE, 0x21, 0x0C,  // .?..K.!.
                /* 0270 */  0x14, 0x23, 0xC6, 0x9F, 0x83, 0x7C, 0x0A, 0x03,  // .#...|..
                /* 0278 */  0xFF, 0xFF, 0xFF, 0x14, 0x06, 0xFE, 0xE1, 0xF0,  // ........
                /* 0280 */  0x20, 0x4F, 0x07, 0x9F, 0xB6, 0xA8, 0x74, 0x18,  //  O....t.
                /* 0288 */  0xD4, 0x81, 0x0B, 0xB0, 0x32, 0x89, 0x08, 0xCF,  // ....2...
                /* 0290 */  0x12, 0xB5, 0x41, 0xE8, 0xD4, 0xF0, 0x36, 0xF1,  // ..A...6.
                /* 0298 */  0xB6, 0xE5, 0x5B, 0x40, 0x9C, 0xD3, 0xEC, 0xED,  // ..[@....
                /* 02A0 */  0xC0, 0x45, 0x30, 0x22, 0xD4, 0x0C, 0x45, 0x4E,  // .E0"..EN
                /* 02A8 */  0x5A, 0x11, 0x63, 0x44, 0x79, 0xDC, 0x32, 0xCA,  // Z.cDy.2.
                /* 02B0 */  0xDB, 0xD6, 0x0B, 0x40, 0xBC, 0x13, 0x7B, 0xDE,  // ...@..{.
                /* 02B8 */  0x32, 0x46, 0xF0, 0xC8, 0x0F, 0x5C, 0x2C, 0xC6,  // 2F...\,.
                /* 02C0 */  0xEA, 0xF5, 0x5F, 0xF3, 0x81, 0x0B, 0x70, 0xF6,  // .._...p.
                /* 02C8 */  0xFF, 0x3F, 0x70, 0x01, 0x1C, 0x0A, 0x7A, 0x18,  // .?p...z.
                /* 02D0 */  0x42, 0x0F, 0xC3, 0x53, 0x39, 0x97, 0x87, 0xC8,  // B..S9...
                /* 02D8 */  0x53, 0x89, 0x18, 0x35, 0x4C, 0xD4, 0x67, 0x28,  // S..5L.g(
                /* 02E0 */  0xDF, 0x2D, 0x7C, 0x20, 0x02, 0xDF, 0x99, 0x0B,  // .-| ....
                /* 02E8 */  0xF8, 0xFD, 0xFF, 0x0F, 0x44, 0x70, 0x8E, 0x29,  // ....Dp.)
                /* 02F0 */  0xB8, 0x33, 0x0D, 0x78, 0x7C, 0xCE, 0x40, 0x20,  // .3.x|.@ 
                /* 02F8 */  0xA7, 0xE2, 0x43, 0x0D, 0x60, 0x41, 0xF4, 0x13,  // ..C.`A..
                /* 0300 */  0xC2, 0x27, 0x1A, 0x2A, 0x13, 0x06, 0x75, 0xA8,  // .'.*..u.
                /* 0308 */  0x01, 0xAC, 0x5C, 0x61, 0x9E, 0x46, 0xCF, 0xF9,  // ..\a.F..
                /* 0310 */  0x59, 0xC6, 0xA7, 0x1A, 0x1F, 0x4A, 0x8D, 0x63,  // Y....J.c
                /* 0318 */  0x88, 0x97, 0x99, 0x87, 0x1A, 0x1F, 0x0B, 0x5E,  // .......^
                /* 0320 */  0x49, 0x7D, 0xA8, 0x31, 0x54, 0x9C, 0x87, 0x1A,  // I}.1T...
                /* 0328 */  0x0F, 0x37, 0x50, 0xD4, 0x37, 0x9B, 0x67, 0x1B,  // .7P.7.g.
                /* 0330 */  0xA3, 0xC7, 0xF7, 0x0D, 0xD5, 0x10, 0x0F, 0x35,  // .......5
                /* 0338 */  0x4C, 0xF2, 0x4A, 0x35, 0x16, 0x1F, 0x6A, 0xC0,  // L.J5..j.
                /* 0340 */  0xF1, 0xFF, 0x3F, 0xD4, 0x00, 0xFC, 0xFF, 0xFF,  // ..?.....
                /* 0348 */  0x1F, 0x6A, 0x00, 0x47, 0x47, 0x03, 0x38, 0x47,  // .j.GG.8G
                /* 0350 */  0x46, 0xDC, 0xD1, 0x00, 0x5C, 0x87, 0x52, 0xE0,  // F...\.R.
                /* 0358 */  0x70, 0x34, 0x00, 0x1E, 0x47, 0x21, 0x30, 0x5F,  // p4..G!0_
                /* 0360 */  0x68, 0x7C, 0x14, 0x02, 0x16, 0xFF, 0xFF, 0xA3,  // h|......
                /* 0368 */  0x10, 0xF8, 0x65, 0x9F, 0x83, 0x50, 0x42, 0x8F,  // ..e..PB.
                /* 0370 */  0x42, 0x80, 0xA0, 0xDB, 0xCF, 0x53, 0xC4, 0xB3,  // B....S..
                /* 0378 */  0x8F, 0x2F, 0x3F, 0x0F, 0x04, 0x11, 0x5E, 0xF3,  // ./?...^.
                /* 0380 */  0x7D, 0x0A, 0xF2, 0x21, 0xDF, 0x47, 0x21, 0x06,  // }..!.G!.
                /* 0388 */  0x63, 0x28, 0x5F, 0x83, 0x7C, 0x14, 0x62, 0x50,  // c(_.|.bP
                /* 0390 */  0xAF