acpi(4) kernel page fault

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

acpi(4) kernel page fault

James Hastings
Snapshots built after May 8 2020 encounter kernel page fault.
I bisected to this commit in sys/dev/acpi/acpi.c:

revision 1.383
date: 2020/05/08 11:18:01;  author: kettenis;  state: Exp;  lines: +131 -1;  commitid: Oz7hBmgl4UuNm4Yz;
Move parsing of _CRS into acpi(4) and pass the parsed address and interrupt
information in struct acpi_attach_args.

ok mpi@

acpi(4) is now parsing more _CRS methods than before and does not like
something in my tables.

uvm_fault(0xffffffff82164fd8, 0xffff80000009d288, 0, 2) -> e
kernel: page fault trap, code=0
Stopped at memcpy+0x1f: repe movsb (%rsi),%es:(%rdi)
ddb{0}> memcpy(ffff80000008db08,0,20,ffffffff824da530,1,ffff80000008db08) at memcpy+0x1f
aml_store(ffff800000092f88,ffff80000008db08,20000,0,38842fc3c040f9b3,ffff800000092f88) at aml_store+0x2b7
aml_parse(ffff800000092f88,54,ffff800000092f88,ffff800000092f88,cb165383096dd33e,ffff800000092f88) at aml_parse+0xfda
aml_eval(0,ffff800000076b88,74,0,0,0) at aml_eval+0x33f
aml_evalnode(ffff800000076b2c,ffff800000076b08,0,0,ffffffff824da7d8,ffff800000076b2c) at aml_evalnode+0xb5
acpi_foundhid(ffff800000076988,ffff800000028400,3cea66132a69347f,ffffffff81ac1020,ffff800000028400,ffff800000076788) at acpi_foundhid+0x161
aml_find_node(ffff800000076788,ffffffff81e04fe6,ffffffff81ac1020,ffff800000028400,a56612b5ddfc9bcd,ffffffff81ac1020) at aml_find_node+0x84
aml_find_node(ffff80000002ba88,ffffffff81e04fe6,ffffffff81ac1020,ffff800000028400,a56612b5ddfc9bcd,ffffffff81ac1020) at aml_find_node+0xb1
aml_find_node(ffffffff821e9bf8,ffffffff81e04fe6,ffffffff81ac1020,ffff800000028400,a56612b5dd2c3119,ffffffff824daaa0) at aml_find_node+0xb1
acpi_attach_common(ffff800000028400,f74f0,6b092d52be0af222,ffff80000002b200,ffffffff824dac58,ffffffff82113e90) at acpi_attach_common+0x785
config_attach(ffff80000002b200,ffffffff82106740,ffffffff824dac58,ffffffff81bfd120,2d257cd5448bd75f,ffffffff824dac80) at config_attach+0x1ee
bios_attach(ffff80000002b180,ffff80000002b200,ffffffff824dadb8,ffff80000002b180,43dcb5bb82fdaaf0,ffff80000002b180) at bios_attach+0x45e
config_attach(ffff80000002b180,ffffffff82100fc0,ffffffff824dadb8,ffffffff81dc0e50,2d257cd544e86736,ffffffff824dadb8) at config_attach+0x1ee
mainbus_attach(0,ffff80000002b180,0,0,fcac7485ba697cb3,0) at mainbus_attach+0x87
config_attach(0,ffffffff82100f88,0,0,2d257cd544f01582,0) at config_attach+0x1ee
cpu_configure(132b42424f846931,0,0,ffff80000002c000,ffffffff81c479d3,ffffffff824daf00) at cpu_configure+0x33
main(0,0,0,0,0,1) at main+0x3d6

I printf traced to pinpoint the exact call to memcpy().

memcpy(ffff80000008db08,0,20,ffffffff824da530,1,ffff80000008db08) at memcpy+0x1f
aml_bufcpy()
aml_rwfield()
aml_store(ffff800000092f88,ffff80000008db08,20000,0,38842fc3c040f9b3,ffff800000092f88) at aml_store+0x2b7
...

Then I switched on ACPI_DEBUG.

driver none matches at least one hid
found hid device: MEM_ EVALNODE: \\_SB_.MEM_._HID 35be5
        device: PNP0C01
EVALNODE: \\_SB_.MEM_._CRS 35be5

--== Eval Method [\\_SB_.MEM_._CRS, 0 args] to t ==--
===== Stack \\_SB_.MEM_._CRS:Method
parsename: \\_SB_.MEM_._CRS.BUF0 0
parsename: \\_SB_.MEM_._CRS.BUF0 3
parsename: \\_SB_.MEM_._CRS.ASSM 0
## CreateDWordField(INT): \\_SB_.MEM_._CRS.ASSM 80000-0020
                                                ^^^^^
  data:\\_SB_.MEM_._CRS.BUF0
parsename: \\_SB_.MEM_._CRS.BUF0 3
parsename: \\_SB_.MEM_._CRS.SXT1 0
## CreateDWordField(INT): \\_SB_.MEM_._CRS.SXT1 00e0-0020
  data:\\_SB_.MEM_._CRS.BUF0
parsename: \\_SB_.MEM_._CRS.BUF0 3
parsename: \\_SB_.MEM_._CRS.SXT2 0
## CreateDWordField(INT): \\_SB_.MEM_._CRS.SXT2 0100-0020
  data:\\_SB_.MEM_._CRS.BUF0
parsename: \\_SB_.SMEM 5
  read 00 000fff34 0020 [\\_SB_.SXTM]
aml_evalexpr: LNotEqual 10000000 0 = ffffffffffffffff
quick: 4685 [LNotEqual] alloc return integer = 0xffffffffffffffff
parse-if @ 4683
parsename: \\AMEM 5
  read 00 000ff83c 0020 [\\EXTM]
parsename: \\_SB_.MEM_._CRS.SXT1 e
aml_evalexpr: Add afee0000 10000 = afef0000
parsename: \\_SB_.MEM_._CRS.SXT1 e
parsename: \\_SB_.MEM_._CRS.SXT1 e
aml_evalexpr: Add afef0000 100000 = afff0000
parsename: \\_SB_.SMEM 5
  read 00 000fff34 0020 [\\_SB_.SXTM]
parsename: \\_SB_.MEM_._CRS.SXT2 e
parsename: \\AMEM 5
  read 00 000ff83c 0020 [\\EXTM]
aml_evalexpr: And afee0000 fffff = e0000
parsename: \\_SB_.MEM_._CRS.ASSM e
aml_evalexpr: Subtract 100000 e0000 = 20000
uvm_fault(0xffffffff82155ff8, 0xffff8000000dd288, 0, 2) -> e
kernel: page fault trap, code=0
Stopped at memcpy+0x1f: repe movsb (%rsi),%es:(%rdi)
ddb{0}>

snippet from disassembled DSDT:
        Device (MEM)
        {
            Name (_HID, EisaId ("PNP0C01") /* System Board */)  // _HID: Hardware ID
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (BUF0, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0xFEFFF000,         // Address Base
                        0x00000100,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFFFF0000,         // Address Base
                        0x00010000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00000000,         // Address Length
                        _Y06)
                    Memory32Fixed (ReadWrite,
                        0xFEC00000,         // Address Base
                        0x00001000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFEE00000,         // Address Base
                        0x00100000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFEFFF000,         // Address Base
                        0x00001000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFFF80000,         // Address Base
                        0x00001000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFFF90000,         // Address Base
                        0x00030000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFFFED000,         // Address Base
                        0x00003000,         // Address Length
                        )
                })
                CreateDWordField (BUF0, 0x00010000, ASSM)
                                        ^^^^^^^^^^
                CreateDWordField (BUF0, \_SB.MEM._CRS._Y06._BAS, SXT1)  // _BAS: Base Address
                CreateDWordField (BUF0, \_SB.MEM._CRS._Y06._LEN, SXT2)  // _LEN: Length
                If ((SMEM != Zero))
                {
                    SXT1 = (AMEM + 0x00010000)
                    SXT1 += 0x00100000
                }
                Else
                {
                    SXT1 = Zero
                }

                SXT2 = SMEM /* \_SB_.SMEM */
                Local0 = (AMEM & 0x000FFFFF)
                ASSM = (0x00100000 - Local0)
                ^^^^
                Return (BUF0) /* \_SB_.MEM_._CRS.BUF0 */
            }
        }

the offset for ASSM is way outside BUF0 and writing to it triggers page fault.

>Fix:
Check field offset and length is within buffer.

Index: dev/acpi/dsdt.c
===================================================================
RCS file: /cvs/src/sys/dev/acpi/dsdt.c,v
retrieving revision 1.251
diff -u -p -u -r1.251 dsdt.c
--- dev/acpi/dsdt.c 9 May 2020 10:34:25 -0000 1.251
+++ dev/acpi/dsdt.c 12 Jul 2020 21:29:35 -0000
@@ -2757,6 +2757,13 @@ aml_rwfield(struct aml_value *fld, int b
  } else {
  /* bufferfield:write */
  val = aml_convert(val, AML_OBJTYPE_INTEGER, -1);
+ if (fld->v_field.bitpos + fld->v_field.bitlen >
+    ref1->length * 8) {
+ dnprintf(10, "out of bounds bufferfield write\n");
+ aml_delref(&val, "wrbuffld");
+ aml_unlockfield(NULL, fld);
+ return;
+ }
  aml_bufcpy(ref1->v_buffer, fld->v_field.bitpos, &val->v_integer,
     0, fld->v_field.bitlen);
  aml_delref(&val, "wrbuffld");


OpenBSD 6.7-current (GENERIC.MP) #341: Sun Jul 12 10:15:35 MDT 2020
    [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 2934833152 (2798MB)
avail mem = 2830913536 (2699MB)
random: boothowto does not indicate good seed
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.5 @ 0xf0000 (25 entries)
bios0: vendor Phoenix Technologies, LTD version "5.59" date 05/20/2010
bios0: Compaq-Presario BT473AA-ABA CQ5604F
acpi0 at bios0: ACPI 3.0
acpi0: sleep states S0 S1 S3 S4 S5
acpi0: tables DSDT FACP SLIC SSDT HPET MCFG APIC
acpi0: wakeup devices HUB0(S5) XVR0(S5) XVR1(S5) XVR2(S5) PS2M(S4) PS2K(S4) USB0(S3) USB2(S3) AZAD(S5) MMAC(S5)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpihpet0 at acpi0: 25000000 Hz
acpimcfg0 at acpi0
acpimcfg0: addr 0xf0000000, bus 0-63
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: AMD Athlon(tm) II 170u Processor, 2009.44 MHz, 10-06-03
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,MWAIT,CX16,POPCNT,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,3DNOW2,3DNOW,LAHF,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,ITSC
cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 1MB 64b/line 16-way L2 cache
cpu0: ITLB 32 4KB entries fully associative, 16 4MB entries fully associative
cpu0: DTLB 48 4KB entries fully associative, 48 4MB entries fully associative
cpu0: AMD erratum 721 detected and fixed
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 200MHz
cpu0: mwait min=64, max=64, IBE
ioapic0 at mainbus0: apid 4 pa 0xfec00000, version 11, 24 pins
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (HUB0)
acpicpu0 at acpi0: C1(@1 halt!), PSS
acpitz0 at acpi0: critical temperature is 75 degC
acpibtn0 at acpi0: PWRB
acpipci0 at acpi0 PCI0
extent `acpipci0 pcibus' (0x0 - 0xff), flags=0
extent `pciio' (0x0 - 0xffffffff), flags=0
     0x10000 - 0xffffffff
extent `pcimem' (0x0 - 0xffffffffffffffff), flags=0
     0x0 - 0xafefffff
     0xb0000000 - 0xbfffffff
     0xf0000000 - 0xf3ffffff
     0xfec00000 - 0xffffffff
     0x40000000000 - 0xffffffffffffffff
acpicmos0 at acpi0
uvm_fault(0xffffffff82164fd8, 0xffff80000009d288, 0, 2) -> e
kernel: page fault trap, code=0
Stopped at memcpy+0x1f: repe movsb (%rsi),%es:(%rdi)
ddb{0}> memcpy(ffff80000008db08,0,20,ffffffff824da530,1,ffff80000008db08) at memcpy+0x1f
aml_store(ffff800000092f88,ffff80000008db08,20000,0,38842fc3c040f9b3,ffff800000092f88) at aml_store+0x2b7
aml_parse(ffff800000092f88,54,ffff800000092f88,ffff800000092f88,cb165383096dd33e,ffff800000092f88) at aml_parse+0xfda
aml_eval(0,ffff800000076b88,74,0,0,0) at aml_eval+0x33f
aml_evalnode(ffff800000076b2c,ffff800000076b08,0,0,ffffffff824da7d8,ffff800000076b2c) at aml_evalnode+0xb5
acpi_foundhid(ffff800000076988,ffff800000028400,3cea66132a69347f,ffffffff81ac1020,ffff800000028400,ffff800000076788) at acpi_foundhid+0x161
aml_find_node(ffff800000076788,ffffffff81e04fe6,ffffffff81ac1020,ffff800000028400,a56612b5ddfc9bcd,ffffffff81ac1020) at aml_find_node+0x84
aml_find_node(ffff80000002ba88,ffffffff81e04fe6,ffffffff81ac1020,ffff800000028400,a56612b5ddfc9bcd,ffffffff81ac1020) at aml_find_node+0xb1
aml_find_node(ffffffff821e9bf8,ffffffff81e04fe6,ffffffff81ac1020,ffff800000028400,a56612b5dd2c3119,ffffffff824daaa0) at aml_find_node+0xb1
acpi_attach_common(ffff800000028400,f74f0,6b092d52be0af222,ffff80000002b200,ffffffff824dac58,ffffffff82113e90) at acpi_attach_common+0x785
config_attach(ffff80000002b200,ffffffff82106740,ffffffff824dac58,ffffffff81bfd120,2d257cd5448bd75f,ffffffff824dac80) at config_attach+0x1ee
bios_attach(ffff80000002b180,ffff80000002b200,ffffffff824dadb8,ffff80000002b180,43dcb5bb82fdaaf0,ffff80000002b180) at bios_attach+0x45e
config_attach(ffff80000002b180,ffffffff82100fc0,ffffffff824dadb8,ffffffff81dc0e50,2d257cd544e86736,ffffffff824dadb8) at config_attach+0x1ee
mainbus_attach(0,ffff80000002b180,0,0,fcac7485ba697cb3,0) at mainbus_attach+0x87
config_attach(0,ffffffff82100f88,0,0,2d257cd544f01582,0) at config_attach+0x1ee
cpu_configure(132b42424f846931,0,0,ffff80000002c000,ffffffff81c479d3,ffffffff824daf00) at cpu_configure+0x33
main(0,0,0,0,0,1) at main+0x3d6
end trace frame: 0x0, count: -17
ddb{0}> rdi               0xffff80000009d288
rsi               0xffffffff824da548 end+0x2da548
rbp               0xffffffff824da520 end+0x2da520
rbx               0xffff800000088f88
rdx                              0x4
rcx                              0x4
rax                          0x10000 __ALIGN_SIZE+0xf000
r8                           0x10000 __ALIGN_SIZE+0xf000
r9                               0x4
r10               0xc8cdbb189c71b077
r11               0xffff80000009d288
r12                                0
r13                             0x20
r14               0xffff80000008db08
r15               0xffffffff824da530 end+0x2da530
rip               0xffffffff8126297f memcpy+0x1f
cs                               0x8
rflags                       0x10202 __ALIGN_SIZE+0xf202
rsp               0xffffffff824da458 end+0x2da458
ss                              0x10
memcpy+0x1f: repe movsb (%rsi),%es:(%rdi)
ddb{0}>    PID     TID   PPID    UID  S       FLAGS  WAIT          COMMAND        
*    0       0     -1      0  7     0x10200                swapper        
ddb{0}> kernel page fault
uvm_fault(0xffffffff82164fd8, 0xffff80000009d288, 0, 2) -> e
memcpy(ffff80000008db08,0,20,ffffffff824da530,1,ffff80000008db08) at
OpenBSD 6.7-current (GENERIC.MP) #36: Sun Jul 12 05:46:25 EDT 2020
    [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 2934833152 (2798MB)
avail mem = 2830868480 (2699MB)
random: boothowto does not indicate good seed
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.5 @ 0xf0000 (25 entries)
bios0: vendor Phoenix Technologies, LTD version "5.59" date 05/20/2010
bios0: Compaq-Presario BT473AA-ABA CQ5604F
acpi0 at bios0: ACPI 3.0
acpi0: sleep states S0 S1 S3 S4 S5
acpi0: tables DSDT FACP SLIC SSDT HPET MCFG APIC
acpi0: wakeup devices HUB0(S5) XVR0(S5) XVR1(S5) XVR2(S5) PS2M(S4) PS2K(S4) USB0(S3) USB2(S3) AZAD(S5) MMAC(S5)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpihpet0 at acpi0: 25000000 Hz
acpimcfg0 at acpi0
acpimcfg0: addr 0xf0000000, bus 0-63
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: AMD Athlon(tm) II 170u Processor, 2009.42 MHz, 10-06-03
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,MWAIT,CX16,POPCNT,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,3DNOW2,3DNOW,LAHF,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,ITSC
cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 1MB 64b/line 16-way L2 cache
cpu0: ITLB 32 4KB entries fully associative, 16 4MB entries fully associative
cpu0: DTLB 48 4KB entries fully associative, 48 4MB entries fully associative
cpu0: AMD erratum 721 detected and fixed
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 200MHz
cpu0: mwait min=64, max=64, IBE
ioapic0 at mainbus0: apid 4 pa 0xfec00000, version 11, 24 pins
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (HUB0)
acpicpu0 at acpi0: C1(@1 halt!), PSS
acpitz0 at acpi0: critical temperature is 75 degC
acpibtn0 at acpi0: PWRB
acpipci0 at acpi0 PCI0
extent `acpipci0 pcibus' (0x0 - 0xff), flags=0
extent `pciio' (0x0 - 0xffffffff), flags=0
     0x10000 - 0xffffffff
extent `pcimem' (0x0 - 0xffffffffffffffff), flags=0
     0x0 - 0xafefffff
     0xb0000000 - 0xbfffffff
     0xf0000000 - 0xf3ffffff
     0xfec00000 - 0xffffffff
     0x40000000000 - 0xffffffffffffffff
acpicmos0 at acpi0
"PNP0C0B" at acpi0 not configured
cpu0: 2009 MHz: speeds: 2000 1500 800 MHz
pci0 at mainbus0 bus 0
"NVIDIA MCP61 Memory" rev 0xa1 at pci0 dev 0 function 0 not configured
pcib0 at pci0 dev 1 function 0 "NVIDIA MCP61 ISA" rev 0xa2
nviic0 at pci0 dev 1 function 1 "NVIDIA MCP61 SMBus" rev 0xa2
iic0 at nviic0
spdmem0 at iic0 addr 0x50: 1GB DDR2 SDRAM non-parity PC2-6400CL6
spdmem1 at iic0 addr 0x51: 2GB DDR2 SDRAM non-parity PC2-6400CL6
iic1 at nviic0
"NVIDIA MCP61 Memory" rev 0xa2 at pci0 dev 1 function 2 not configured
ohci0 at pci0 dev 2 function 0 "NVIDIA MCP61 USB" rev 0xa3: apic 4 int 10, version 1.0, legacy support
ehci0 at pci0 dev 2 function 1 "NVIDIA MCP61 USB" rev 0xa3: apic 4 int 11
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "NVIDIA EHCI root hub" rev 2.00/1.00 addr 1
ppb0 at pci0 dev 4 function 0 "NVIDIA MCP61" rev 0xa1
pci1 at ppb0 bus 1
azalia0 at pci0 dev 5 function 0 "NVIDIA MCP61 HD Audio" rev 0xa2: apic 4 int 10
azalia0: codecs: Realtek ALC888
audio0 at azalia0
nfe0 at pci0 dev 7 function 0 "NVIDIA MCP61 LAN" rev 0xa2: apic 4 int 5, address
rlphy0 at nfe0 phy 1: RTL8201L 10/100 PHY, rev. 1
pciide0 at pci0 dev 8 function 0 "NVIDIA MCP61 SATA" rev 0xa2: DMA
pciide0: using apic 4 int 10 for native-PCI interrupt
wd0 at pciide0 channel 0 drive 0: <ST3500418AS>
wd0: 16-sector PIO, LBA48, 476940MB, 976773168 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5
wd1 at pciide0 channel 1 drive 0: <ST3320620AS>
wd1: 16-sector PIO, LBA48, 305245MB, 625142448 sectors
wd1(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 6
pciide1 at pci0 dev 8 function 1 "NVIDIA MCP61 SATA" rev 0xa2: DMA
pciide1: using apic 4 int 11 for native-PCI interrupt
ppb1 at pci0 dev 9 function 0 "NVIDIA MCP61 PCIE" rev 0xa2
pci2 at ppb1 bus 2
ppb2 at pci0 dev 11 function 0 "NVIDIA MCP61 PCIE" rev 0xa2
pci3 at ppb2 bus 3
ppb3 at pci0 dev 12 function 0 "NVIDIA MCP61 PCIE" rev 0xa2
pci4 at ppb3 bus 4
"Atheros AR9300" rev 0x01 at pci4 dev 0 function 0 not configured
vga1 at pci0 dev 13 function 0 "NVIDIA GeForce 6100 nForce 430" rev 0xa2
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
pchb0 at pci0 dev 24 function 0 "AMD 10h HyperTransport" rev 0x00
pchb1 at pci0 dev 24 function 1 "AMD 10h Address Map" rev 0x00
pchb2 at pci0 dev 24 function 2 "AMD 10h DRAM Cfg" rev 0x00
km0 at pci0 dev 24 function 3 "AMD 10h Misc Cfg" rev 0x00
pchb3 at pci0 dev 24 function 4 "AMD 10h Link Cfg" rev 0x00
isa0 at pcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
usb1 at ohci0: USB revision 1.0
uhub1 at usb1 configuration 1 interface 0 "NVIDIA OHCI root hub" rev 1.00/1.00 addr 1
vmm0 at mainbus0: SVM/RVI
acpitz0: _AL0[0] _PR0 failed
umass0 at uhub0 port 8 configuration 1 interface 0 "Generic Mass Storage Device" rev 2.00/1.00 addr 2
umass0: using SCSI over Bulk-Only
scsibus1 at umass0: 2 targets, initiator 0
sd0 at scsibus1 targ 1 lun 0: <Multi, Flash Reader, 1.00> removable serial.
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
root on wd0a (88dc47c0cf69c93b.a) swap on wd0b dump on wd0b

acpidump:
begin-base64 644 APIC.7
QVBJQ5gAAAABnUhQUU9FTVNMSUMtQ1BDMS4wQkFXUkQAAAAAAADg/gEAAAAACAAAAQAAAAAIAQEA
AAAAAAgCAgAAAAAACAMDAAAAAAEMBAAAAMD+AAAAAAIKAAACAAAAAAACCgAJCQAAAA0AAgoADg4A
AAAFAAIKAA8PAAAABQAEBgAFAAEEBgEFAAEEBgIFAAEEBgMFAAE=
====
begin-base64 644 DSDT.2
RFNEVGFLAAABMEhQUU9FTVNMSUMtQ1BDABAAAE1TRlQAAAADEEMFXF9QUl9bgxFcLl9QUl9DMDAw
AAAAAAAAW4MRXC5fUFJfQzAwMQEAAAAAAFuDEVwuX1BSX0MwMDICAAAAAABbgxFcLl9QUl9DMDAz
AwAAAAAACFxfUzBfEgoECgAKAAoACgAIXF9TMV8SCgQKAQoACgAKAAhcX1MzXxIKBAoFCgAKAAoA
CFxfUzRfEgoECgYKAAoACgAIXF9TNV8SCgQKBwoACgAKAFuAXERFQkcBCoAKAVuBDFxERUJHAURC
RzEIW4BLQkNfAQpkCgFbgQtLQkNfAUtDTUQIW4BLQkNEAQpgCgFbgQtLQkNEAUtEQVQIW4BFWFRN
AAww+A8AChBbgSlFWFRNAlJPTTEQUk1TMRBST00yEFJNUzIQUk9NMxBSTVMzEEFNRU0gW4BcUE0x
UwELABAKAluBHFxQTTFTAQAIUEJUUwEAAVJUQ1MBAARXQUtTAVuAXEFQQTQBC6QQCgRbgRNcQVBB
NAEAEExDVE0BTENOTQFbgEVMQ1IBC9AECgJbgRBFTENSAUVMQzEIRUxDMghbgFxTVFVTAQsAFAoE
W4EMXFNUVVMBR19TVCBbgFxHUFMwAQsgEAoEW4EbXEdQUzABR1MwMAhHUzAxCEdTMDIIR1MwMwhb
gFxHUEUwAQskEAoEW4EbXEdQRTABR0UwMAhHRTAxCEdFMDIIR0UwMwhbgFxTTUlDAQsuFAoBW4EM
XFNNSUMBU0NQXwhbgFxHUDFfAQvAFAoyW4FPD1xHUDFfAUdQMDAIR1AwMQhHUDAyCEdQMDMIR1Aw
NAhHUDA1CEdQMDYIR1AwNwhHUDA4CEdQMDkIR1AxMAhHUDExCEdQMTIIR1AxMwhHUDE0CEdQMTUI
R1AxNghHUDE3CEdQMTgIR1AxOQhHUDIwCEdQMjEIR1AyMggACEdQMjQIR1AyNQhHUDI2CEdQMjcI
R1AyOAhHUDI5CEdQMzAIR1AzMQhHUDMyCEdQMzMIR1AzNAhHUDM1CEdQMzYIR1AzNwhHUDM4CEdQ
MzkIR1A0MAhHUDQxCEdQNDIIR1A0MwhHUDQ0CEdQNDUIR1A0NghHUDQ3CEdQNDgIR1A0OQgIVlNU
QQoBCE9TRlgKAQhPU0ZMCgEUQQVTVFJDAqAKkpOHaIdppAoAcodoCgFgCEJVRjARAmAIQlVGMREC
YHBoQlVGMHBpQlVGMaIaYHZgoBWSk4OIQlVGMGAAg4hCVUYxYACkAKQBW4BSVENNAQpwCgJbgRBS
VENNAUNNSU4IQ01EQQhbhhJDTUlOQ01EQQEASAdTSFVUCFuASU5GTwAMQPgPAAoBW4EpSU5GTwFL
QkRJAVJUQ1cBUFMyRgFJUkZMAkRJU0UBU1NIVQFBV01EAVuAQkVFUAEKYQoBW4ELQkVFUAFTMUJf
CFuAQ09OVAEKQAoEW4EaQ09OVAFDTlQwCENOVDEIQ05UMghDVFJMCBRDBlNQS1IBcFMxQl9gcAq2
Q1RSTHAKVUNOVDJwCgNDTlQycGhiojeUYgoAfVMxQl8KA1MxQl9wC/9fY6IHlGMKAHZje1MxQl8K
/FMxQl9wC/8OY6IHlGMKAHZjdmJwYFMxQl9bgEVMS00ADOr/DwAKAVuBH0VMS00BAAFFTFNPAUFS
U08BUkJTTwEAAQABAAEAARBBCVxfU0JfW4JICElFTEsIX0hJRA1BV1kwMDAxABQxX1NUQQCgF1xf
T1NJDVdpbmRvd3MgMjAwNgCkCgChEqANkUVMU09BUlNPpAoPpAoAFEEEU01PRAEITERPTgoDCExE
T0YKAqAVkmigEUFSU09cLl9TSV9fU1NUCgOhE6ARQVJTT1wuX1NJX19TU1QKAaQAFAxMRURMAExF
REMKARQMTEVEQgBMRURDCgIUQQVMRURDAaAVk2gKAUxFRFgKAQoATEVEWAoCCgOgM5NoCgKgG1wu
X1NCX09CVDBMRURYCgEKA0xFRFgKAgoAoRFMRURYCgEKAUxFRFgKAgoDEBdcAAhQSUNGCgAUDF9Q
SUMBcGhQSUNGCFNJRDQKAAhTTEcwCgAIU0xHMQoACFNMRzIKAAhTTEczCgAIU0xHNAoACFNMRzUK
AAhTTEc2CgAIU0xHNwoACFNMRzgKAAhTTEc5CgAIU0xHQQoACFNJRDUKAAhTU00wCgAIU1NNMQoA
CFNTTTIKAAhTU00zCgAIU1NNNAoACFNVQTAKAAhTVUIwCgAIU1hfXwoACFNGTEcKAAhTSUQwCgAI
U0lEMQoACFNJRDIKAAhTSUQzCgAURQ5cX1BUUwFwaGBwYFNYX199aArwYHBgREJHMU9TVFBwXC8E
X1NCX1BDSTBJREUwSUQyMFNJRDBwXC8EX1NCX1BDSTBJREUwSURUU1NJRDFwXC8EX1NCX1BDSTBJ
REUwSURUUFNJRDJwXC8EX1NCX1BDSTBJREUwSUQyMlNJRDNwXC8EX1NCX1BDSTBJREUwVU1TU1NJ
RDRwXC8EX1NCX1BDSTBJREUwVU1TUFNJRDWgBZNoCgGgE5NoCgNwCgBMQ1RNcAoATENOTaAFk2gK
BKAUk2gKBaAOkpNPU0ZMCgBbIgv0ARROBVxfV0FLAXAK/0RCRzFwCgBTRkxHoBWTUlRDVwoAhlwu
X1NCX1BXUkIKAoZcLwNfU0JfUENJMFVTQjAKAKAfkpVPU0ZMCgFwCgBcLwRfU0JfUENJMFNNQjBT
TVBNEE0FXF9TSV8UIF9NU0cBcA09PT09IE1TRyBXb3JraW5nID09PT0AWzEUNF9TU1QBcA09PT09
IFNTVCBXb3JraW5nID09PT0AWzGgCZNoCgFMRURMoAmTaAoDTEVEQhBDElxfR1BFFE4JX0wxMQBw
CgJHUzAyoC+Sk1BFVjAL//+gJFBFUzCiDFBFUzBwCgFQRVMwhlwvA19TQl9QQ0kwWFZSMAoCoC+S
k1BFVjEL//+gJFBFUzGiDFBFUzFwCgFQRVMxhlwvA19TQl9QQ0kwWFZSMQoCoC+Sk1BFVjIL//+g
JFBFUzKiDFBFUzJwCgFQRVMyhlwvA19TQl9QQ0kwWFZSMgoCFBhfTDAwAIZcLwNfU0JfUENJMEhV
QjAKAhQYX0wwQgCGXC8DX1NCX1BDSTBNTUFDCgIUGF9MMEQAhlwvA19TQl9QQ0kwVVNCMAoCFBhf
TDA1AIZcLwNfU0JfUENJMFVTQjIKAhQYX0wxNQCGXC8DX1NCX1BDSTBBWkFECgIQhdsDXF9TQl9b
ghlQV1JCCF9ISUQMQdAMDBQJX1NUQQCkCgtbgom+A1BDSTAIX0hJRAxB0AoICF9DSUQMQdAKAwhf
QURSCgAIX1VJRAoBCF9CQk4KAAhQQ0lBCgAUEl9SRUcCoAuTaAoCcGlQQ0lBW4JPBU1CSU8IX0hJ
RAxB0AwCCF9VSUQKBRRHBF9DUlMACEJVRjARNQoyRwEAEAAQAYBHAYAQgBABgEcBABQAFAGARwGA
FIAUAYBHAQAYABgBgEcBgBiAGAGAeQCkQlVGMAhOQVRBEgcBDAAABgAUF19TM0QAoAuTT1NGTAoC
pAoCoQSkCgMUCV9TVEEApAoPW4BMRFQzAgpsCgRbgQtMRFQzA1VDRkcgFEkPX0NSUwAIQlVGMBFM
CAqIiA0AAgEAAAAAAP8AAAAAAUcB+Az4DAEIiA0AAQwDAAAAAPcMAAD4DIgNAAEMAwAAAA3//wAA
APOHFwAADAMAAAAAAAAKAP//CwAAAAAAAAACAIcXAAAMAwAAAAAAAAwA//8NAAAAAAAAAAIAhxcA
AAwDAAAAAAAAEAD//7/+AAAAAAAA8P95AIpCVUYwCnZUQ01NikJVRjAKglRPTU1yQU1FTQwAAAEA
VENNTXJUQ01NDAAAAQBUQ01NclRDTU0MAAAQAFRDTU1yVENNTVNNRU1UQ01NdAwAAMD+VENNTVRP
TU2kQlVGMAhQSUNNEkAnFxIaBAz//wEACgBcLwNfU0JfUENJMExTTUIKABIaBAz//wEACgFcLwNf
U0JfUENJMExQTVUKABIaBAz//wIACgBcLwNfU0JfUENJMExVQkEKABIaBAz//wIACgFcLwNfU0Jf
UENJMExVQjIKABIaBAz//wcACgBcLwNfU0JfUENJMExNQUMKABIaBAz//wQACgBcLwNfU0JfUENJ
MExQMlAKABIaBAz//wUACgFcLwNfU0JfUENJMExBWkEKABIaBAz//wYACgBcLwNfU0JfUENJMExJ
REUKABIaBAz//wgACgBcLwNfU0JfUENJMExTSUQKABIaBAz//wgACgFcLwNfU0JfUENJMExGSUQK
ABIaBAz//wkACgBcLwNfU0JfUENJMExOSzgKABIaBAz//wkACgFcLwNfU0JfUENJMExOSzUKABIa
BAz//wkACgJcLwNfU0JfUENJMExOSzYKABIaBAz//wkACgNcLwNfU0JfUENJMExOSzcKABIaBAz/
/wsACgBcLwNfU0JfUENJMExOSzYKABIaBAz//wsACgFcLwNfU0JfUENJMExOSzcKABIaBAz//wsA
CgJcLwNfU0JfUENJMExOSzgKABIaBAz//wsACgNcLwNfU0JfUENJMExOSzUKABIaBAz//wwACgBc
LwNfU0JfUENJMExOSzUKABIaBAz//wwACgFcLwNfU0JfUENJMExOSzYKABIaBAz//wwACgJcLwNf
U0JfUENJMExOSzcKABIaBAz//wwACgNcLwNfU0JfUENJMExOSzgKABIaBAz//w0ACgBcLwNfU0Jf
UENJMExJR1AKAAhBUElDEkAnFxIaBAz//wEACgBcLwNfU0JfUENJMEFQQ1MKABIaBAz//wEACgFc
LwNfU0JfUENJMEFQTVUKABIaBAz//wIACgBcLwNfU0JfUENJMEFQQ0YKABIaBAz//wIACgFcLwNf
U0JfUENJMEFQQ0wKABIaBAz//wcACgBcLwNfU0JfUENJMEFQQ0gKABIaBAz//wQACgBcLwNfU0Jf
UENJMEFQQ00KABIaBAz//wUACgFcLwNfU0JfUENJMEFBWkEKABIaBAz//wYACgBcLwNfU0JfUENJ
MEFQQ1oKABIaBAz//wgACgBcLwNfU0JfUENJMEFQU0kKABIaBAz//wgACgFcLwNfU0JfUENJMEFQ
U0oKABIaBAz//wkACgBcLwNfU0JfUENJMEFQQzgKABIaBAz//wkACgFcLwNfU0JfUENJMEFQQzUK
ABIaBAz//wkACgJcLwNfU0JfUENJMEFQQzYKABIaBAz//wkACgNcLwNfU0JfUENJMEFQQzcKABIa
BAz//wsACgBcLwNfU0JfUENJMEFQQzYKABIaBAz//wsACgFcLwNfU0JfUENJMEFQQzcKABIaBAz/
/wsACgJcLwNfU0JfUENJMEFQQzgKABIaBAz//wsACgNcLwNfU0JfUENJMEFQQzUKABIaBAz//wwA
CgBcLwNfU0JfUENJMEFQQzUKABIaBAz//wwACgFcLwNfU0JfUENJMEFQQzYKABIaBAz//wwACgJc
LwNfU0JfUENJMEFQQzcKABIaBAz//wwACgNcLwNfU0JfUENJMEFQQzgKABIaBAz//w0ACgBcLwNf
U0JfUENJMEFJR1AKABQZX1BSVACgC5JQSUNGpFBJQ02hBqRBUElDW4JKLUhVQjAIX0FEUgwAAAQA
FAlfU1RBAKQKDwhQSUNNEkcUDBIaBAz//woACgBcLwNfU0JfUENJMExOSzMKABIaBAz//woACgFc
LwNfU0JfUENJMExOSzQKABIaBAz//woACgJcLwNfU0JfUENJMExOSzEKABIaBAz//woACgNcLwNf
U0JfUENJMExOSzIKABIaBAz//wkACgBcLwNfU0JfUENJMExOSzIKABIaBAz//wkACgFcLwNfU0Jf
UENJMExOSzMKABIaBAz//wkACgJcLwNfU0JfUENJMExOSzQKABIaBAz//wkACgNcLwNfU0JfUENJ
MExOSzEKABIaBAz//wUACgBcLwNfU0JfUENJMExOSzQKABIaBAz//wUACgFcLwNfU0JfUENJMExO
SzQKABIaBAz//wUACgJcLwNfU0JfUENJMExOSzQKABIaBAz//wUACgNcLwNfU0JfUENJMExOSzQK
AAhBUElDEkcUDBIaBAz//woACgBcLwNfU0JfUENJMEFQQzMKABIaBAz//woACgFcLwNfU0JfUENJ
MEFQQzQKABIaBAz//woACgJcLwNfU0JfUENJMEFQQzEKABIaBAz//woACgNcLwNfU0JfUENJMEFQ
QzIKABIaBAz//wkACgBcLwNfU0JfUENJMEFQQzIKABIaBAz//wkACgFcLwNfU0JfUENJMEFQQzMK
ABIaBAz//wkACgJcLwNfU0JfUENJMEFQQzQKABIaBAz//wkACgNcLwNfU0JfUENJMEFQQzEKABIa
BAz//wUACgBcLwNfU0JfUENJMEFQQzQKABIaBAz//wUACgFcLwNfU0JfUENJMEFQQzQKABIaBAz/
/wUACgJcLwNfU0JfUENJMEFQQzQKABIaBAz//wUACgNcLwNfU0JfUENJMEFQQzQKABQZX1BSVACg
C5JQSUNGpFBJQ02hBqRBUElDCF9QUlcSBgIKAAoFW4JIGlNBVDEIX0FEUgwAAAgAW4JKDFBSSTAI
X0FEUgoACFBDUzAKAAhQU1MwCgAIU1BUTREXChR4AAAAFAAAAP//////////EwAAABQLX0dUTQCk
U1BUTRQvX1NUTQNwaFNQVE2LaQqkSUNNMItpCwABSVNFMHBJQ00wUENTMHBJU0UwUFNTMFuCRAVN
QVNUCF9BRFIKABRGBF9HVEYAcBEKCgcDRgAAAKDvYHtQQ1MwCgJie1BTUzAKAWOgH5NiCgKgGZNj
CgFwEREKDgNGAAAAoO8AAAAAAKD1YKRgW4JKDFNFQzAIX0FEUgoBCFBDUzEKAAhQU1MxCgAIU1NU
TREXChR4AAAAFAAAAP//////////EwAAABQLX0dUTQCkU1NUTRQvX1NUTQNwaFNTVE2LaQqkSUNN
MYtpCwABSVNFMXBJQ00xUENTMXBJU0UxUFNTMVuCRAVNQVNUCF9BRFIKABRGBF9HVEYAcBEKCgcD
RgAAAKDvYHtQQ1MxCgJie1BTUzEKAWOgH5NiCgKgGZNjCgFwEREKDgNGAAAAoO8AAAAAAKD1YKRg
W4JIGlNBVDIIX0FEUgwBAAgAW4JKDFBSSTAIX0FEUgoACFBDUzAKAAhQU1MwCgAIU1BUTREXChR4
AAAAFAAAAP//////////EwAAABQLX0dUTQCkU1BUTRQvX1NUTQNwaFNQVE2LaQqkSUNNMItpCwAB
SVNFMHBJQ00wUENTMHBJU0UwUFNTMFuCRAVNQVNUCF9BRFIKABRGBF9HVEYAcBEKCgcDRgAAAKDv
YHtQQ1MwCgJie1BTUzAKAWOgH5NiCgKgGZNjCgFwEREKDgNGAAAAoO8AAAAAAKD1YKRgW4JKDFNF
QzAIX0FEUgoBCFBDUzEKAAhQU1MxCgAIU1NUTREXChR4AAAAFAAAAP//////////EwAAABQLX0dU
TQCkU1NUTRQvX1NUTQNwaFNTVE2LaQqkSUNNMYtpCwABSVNFMXBJQ00xUENTMXBJU0UxUFNTMVuC
RAVNQVNUCF9BRFIKABRGBF9HVEYAcBEKCgcDRgAAAKDvYHtQQ1MxCgJie1BTUzEKAWOgH5NiCgKg
GZNjCgFwEREKDgNGAAAAoO8AAAAAAKD1YKRgW4JNf0lERTAIX0FEUgwAAAYAW4BBMDkwAgpQChhb
gSZBMDkwA0lEMjAQADBJRFRTEElEVFAQSUQyMiBVTVNTEFVNU1AQCElERVARAwoUCElERVMRAwoU
FE4UR1RNXwGgF5NoCgBwSURUUGBwVU1TUGFwSURFUGKhE3BJRFRTYHBVTVNTYXBJREVTYopiCgBQ
SU8wimIKBERNQTCKYgoIUElPMYpiCgxETUEximIKEEZMQUdwChBGTEFHe2ALAA9je2ALAPBkemMK
CGN6ZAoMZHJjZGN3cmMKAgAKHlBJTzCgFJKUUElPMAq0fUZMQUcKAkZMQUegJ3thCwBAAH1GTEFH
CgFGTEFHe2ELAAdjemMKCGNwVTJUX2NETUEwoQpwUElPMERNQTB7YAoPY3tgCvBkemQKBGRyY2Rj
d3JjCgIACh5QSU8xoBSSlFBJTzEKtH1GTEFHCghGTEFHoCB7YQpAAH1GTEFHCgRGTEFHe2EKB2Nw
VTJUX2NETUExoQpwUElPMURNQTGgEJNoCgBwYklERVCkSURFUKEMcGJJREVTpElERVMURgRVMlRf
AaAIk2gKAKQKPKAIk2gKAaQKWqAIk2gKAqQKeKAIk2gKA6QKlqAIk2gKBKQKLaAIk2gKBaQKHqAI
k2gKBqQKFBRGBFQyVV8BoAiUaAp4pAoDoAiUaApapAoCoAiUaAo8pAoBoAiUaAotpAoAoAiUaAoe
pAoEoAiUaAoUpAoFoAiUaAoPpAoGFEIEVDJEXwGgCZRoC+ABpAqooAmUaAuGAaQKd6AIlGgK8KQK
R6AIlGgKtKQKM6AIlGgKlqQKIqAIlGgKeKQKIaQKIBRDG1NUTV8EoDtTWF9fcFNJRDBJRDIwcFNJ
RDFJRFRTcFNJRDJJRFRQcFNJRDNJRDIycFNJRDRVTVNTcFNJRDVVTVNQoTdwSUQyMFNJRDBwSURU
U1NJRDFwSURUUFNJRDJwSUQyMlNJRDNwVU1TU1NJRDRwVU1TUFNJRDVwCgBTWF9fimgKAFBJTzCK
aAoERE1BMIpoCghQSU8ximgKDERNQTGKaAoQRkxBR6ARk2sKAHBTSUQyYHBTSUQ1YaENcFNJRDFg
cFNJRDRhoCGSk1BJTzAM/////3tgCv9geVQyRF9QSU8wCghifWBiYKAdkpNQSU8xDP////97YAsA
/2B9YFQyRF9QSU8xYKAke0ZMQUcKAQB7YQr/YXlUMlVfRE1BMAoIYn0LAMBiYn1iYWGhI6AhkpNE
TUEwDP////97YAr/YHlUMkRfRE1BMAoIYn1gYmCgH3tGTEFHCgQAe2ELAP9hfQrAVDJVX0RNQTFi
fWJhYaEfoB2Sk0RNQTEM/////3tgCwD/YH1gVDJEX0RNQTFgoBGTawoAcGBJRFRQcGFVTVNQoQ1w
YElEVFNwYVVNU1MURxdHVEZfAnARCgoHAwAAAACg72CMYAoBTU9ERYxgCgVEUklWcGlEUklWoAuT
aAoAcElERVBhoQdwSURFU2GKYQoAUElPMIphCgRETUEwimEKCFBJTzGKYQoMRE1BMYphChBGTEdY
oByTaQqgcFBJTzBicERNQTBje0ZMR1gKAUZMR1ihGHBQSU8xYnBETUExY3tGTEdYCgRGTEdYcEZM
R1hhoAqUYguGAXAKAGKhKaAJlGIK8HAKAWKhHaAJlGIKtHAKAmKhEaAJlGIKeHAKA2KhBXAKBGJ9
CghiTU9ERXBgYqBLBUZMR1igCZRjClpwCgBjoUIEoAmUYwo8cAoBY6E1oAmUYwotcAoCY6EpoAmU
YwoecAoDY6EdoAmUYwoUcAoEY6ERoAmUYwoPcAoFY6EFcAoGY30KQGNNT0RFoTKgCpNjDP////+k
YKEloAmUYwqWcAoAY6ERoAmUYwp4cAoBY6EFcAoCY30KIGNNT0RFc2BiYaRhW4JMElBSSTAIX0FE
UgoACFBDUzAKAAhQU1MwCgAIUENTMQoACFBTUzEKABQNX0dUTQCkR1RNXwoAFEYFX1NUTQNTVE1f
aGlqCgCLaQqkSUNNMItpCwABSVNFMItqCqRJQ00xi2oLAAFJU0UxcElDTTBQQ1MwcElTRTBQU1Mw
cElDTTFQQ1MxcElTRTFQU1MxW4JNBE1BU1QIX0FEUgoAFD9fR1RGAHBHVEZfCgAKoGB7UENTMAoC
YntQU1MwCgFjoByTYgoCoBaTYwoBcBEKCgcAAAAAAKD1YXNgYWCkYFuCTQRTTEFWCF9BRFIKARQ/
X0dURgBwR1RGXwoACrBge1BDUzEKAmJ7UFNTMQoBY6Ack2IKAqAWk2MKAXARCgoHAAAAAACg9WFz
YGFgpGBbgkwSU0VDMAhfQURSCgEIUENTMAoACFBTUzAKAAhQQ1MxCgAIUFNTMQoAFA1fR1RNAKRH
VE1fCgEURgVfU1RNA1NUTV9oaWoKAYtpCqRJQ00wi2kLAAFJU0Uwi2oKpElDTTGLagsAAUlTRTFw
SUNNMFBDUzBwSVNFMFBTUzBwSUNNMVBDUzFwSVNFMVBTUzFbgk0ETUFTVAhfQURSCgAUP19HVEYA
cEdURl8KAQqgYHtQQ1MwCgJie1BTUzAKAWOgHJNiCgKgFpNjCgFwEQoKBwAAAAAAoPVhc2BhYKRg
W4JNBFNMQVYIX0FEUgoBFD9fR1RGAHBHVEZfCgEKsGB7UENTMQoCYntQU1MxCgFjoByTYgoCoBaT
YwoBcBEKCgcAAAAAALD1YXNgYWCkYFuCQgZYVlIwCF9BRFIMAAAJAFuAUENWMAIKAAr/EDpcAFuB
NVwvBF9TQl9QQ0kwWFZSMFBDVjABUEVWMBAAQE0AA1hQRTABABxSUUQwEFBFUzABUEVQMAEIX1BS
VxIGAgoRCgVbgkIGWFZSMQhfQURSDAAACwBbgFBDVjECCgAK/xA6XABbgTVcLwRfU0JfUENJMFhW
UjFQQ1YxAVBFVjEQAEBNAANYUEUxAQAcUlFEMRBQRVMxAVBFUDEBCF9QUlcSBgIKEQoFW4JCBlhW
UjIIX0FEUgwAAAwAW4BQQ1YyAgoACv8QOlwAW4E1XC8EX1NCX1BDSTBYVlIyUENWMgFQRVYyEABA
TQADWFBFMgEAHFJRRDIQUEVTMgFQRVAyAQhfUFJXEgYCChEKBVuCTgZTTUIwCF9BRFIMAQABAFuA
U01DRgIKSAoQW4EVU01DRgNTTVBNBFNNVDEcU01UMiBbgFNNQ0ECCiAKCFuBEFNNQ0EDU0IxXyBT
QjJfIBQeU01CQgCgDlBDSUF7U0IxXwv+/2ChBnALABxgpGBbgogiAUxFRzAIX0FEUgwAAAEAW4BQ
SU8wAgoECiAQKVwAW4EkXC8EX1NCX1BDSTBMRUcwUElPMAFTTUVOCABIBQAIU01JTwgQHlwAW4Bc
U0NQUAELLhQKAVuBDFxTQ1BQAVNNSVAIFEUZXC8DX1NCX1BDSTBfSU5JAKAkU1RSQ1xfT1NfDU1p
Y3Jvc29mdCBXaW5kb3dzAHAKVlNNSVChQwqgSQhTVFJDXF9PU18NTWljcm9zb2Z0IFdpbmRvd3Mg
TlQAoEAFWxJcX09TSWCgKVxfT1NJDVdpbmRvd3MgMjAwMQBwCllTTUlQcAoAT1NGTHAKA09TRlig
G1xfT1NJDVdpbmRvd3MgMjAwNgBwCgFWU1RBoRZwClhTTUlQcAoAT1NGWHAKAE9TRkyhFnAKV1NN
SVBwCgJPU0ZYcAoCT1NGTAhURU1QCgBwVUExRFRFTVB7VEVNUAoPVEVNUKAPk1RFTVAKAXAKAVVB
UkGgD5NURU1QCgJwCgJVQVJBoA+TVEVNUAoDcAogVUFSQaAPk1RFTVAKBHAKgFVBUkFwVUExRFRF
TVB7VEVNUArwVEVNUHpURU1QCgRURU1QoA+TVEVNUAoBcAoBVUFSQqAPk1RFTVAKAnAKAlVBUkKg
D5NURU1QCgNwCiBVQVJCoA+TVEVNUAoEcAqAVUFSQhBMBFwAFEcET1NUUACgD5NPU0ZYCgFwClZT
TUlQoA+TT1NGWAoCcApXU01JUKAPk09TRlgKAHAKWFNNSVCgD5NPU0ZYCgNwCllTTUlQW4JDCFNZ
U1IIX0hJRAxB0AwCCF9VSUQKAQhfQ1JTEUYGCmJHARAAEAABEEcBIgAiAAEeRwFEAEQAARxHAWIA
YgABAkcBZQBlAAELRwF0AHQAAQxHAZEAkQABA0cBogCiAAEeRwHgAOAAARBHAdAE0AQBAkcBAAgA
CAGARwGUApQCAQR5AFuCK1BJQ18IX0hJRAtB0AhfQ1JTERgKFUcBIAAgAAECRwGgAKAAAQIiBAB5
AFuCPURNQTEIX0hJRAxB0AIACF9DUlMRKAolKhAERwEAAAAAARBHAYAAgAABEUcBlACUAAEMRwHA
AMAAASB5AFuCQgZUTVJfCF9ISUQMQdABAAhBVFQ1ERAKDUcBQABAAAAEIgEAeQAIQVRUNhENCgpH
AUAAQAAABHkAFChfQ1JTAKAak09TRlgKA6AKSFBURqRBVFQ2oQakQVRUNaEGpEFUVDVbgkQISFBF
VAhfSElEDEHQAQMIQVRUMxEXChQiAQAiAAGGCQABAPD//gAEAAB5AAhBVFQ0EQUKAnkAFCJfU1RB
AKAWk09TRlgKA6AISFBURqQKD6EEpAoAoQSkCgAUKF9DUlMAoBqTT1NGWAoDoApIUFRGpEFUVDOh
BqRBVFQ0oQakQVRUNFuCQgZSVENfCF9ISUQMQdALAAhBVFQwERAKDUcBcABwAAAEIgABeQAIQVRU
MRENCgpHAXAAcAAABHkAFChfQ1JTAKAak09TRlgKA6AKSFBURqRBVFQxoQakQVRUMKEGpEFUVDBb
giJTUEtSCF9ISUQMQdAIAAhfQ1JTEQ0KCkcBYQBhAAEBeQBbgiVDT1BSCF9ISUQMQdAMBAhfQ1JT
ERAKDUcB8ADwAAEQIgAgeQBbgkksT0NVMRQgX0lOSQCgEE9DU0V5CgFPQ1NBVUFSQ3BPQ1NFT0NF
QghPQ0VCCgIIX0hJRAxB0AUBCF9VSUQKAxQeX1NUQQCgCZJPQ0VCpAoAoAhPQ1NFpAoPoQSkCg0U
E19ESVMAcAoAT0NTRURJU0QKEBRHFF9DUlMACEJVRjEREAoNRwEAAAAAAQgiAAB5AItCVUYxCgJJ
T0xPi0JVRjEKBElPUkyLQlVGMQoJSVJRV3AKAElPTE9wCgBJT1JMcAoASVJRV6BODk9DU0WgGJNP
Q1NBCgBwC/gDSU9MT3AL+ANJT1JMoBiTT0NTQQoBcAv4AklPTE9wC/gCSU9STKAYk09DU0EKAnAL
IAJJT0xPcAsgAklPUkygGJNPQ1NBCgNwCygCSU9MT3ALKAJJT1JMoBiTT0NTQQoEcAs4AklPTE9w
CzgCSU9STKAYk09DU0EKBXAL6AJJT0xPcAvoAklPUkygGJNPQ1NBCgZwCzgDSU9MT3ALOANJT1JM
oBiTT0NTQQoHcAvoA0lPTE9wC+gDSU9STKAPk09DU0kKAXAKCElSUVegD5NPQ1NJCgJwChBJUlFX
pEJVRjEIX1BSUxE2CjMwRwH4A/gDAQgiGAAwRwH4AvgCAQgiGAAwRwHoA+gDAQgiGAAwRwHoAugC
AQgiGAA4eQAUQg1fU1JTAYtoCgJJT0FEi2gKCUlSUVegEJNJT0FEC/gDcAoAT0NTQaAQk0lPQUQL
+AJwCgFPQ1NBoBCTSU9BRAsgAnAKAk9DU0GgEJNJT0FECygCcAoDT0NTQaAQk0lPQUQLOAJwCgRP
Q1NBoBCTSU9BRAvoAnAKBU9DU0GgEJNJT0FECzgDcAoGT0NTQaAQk0lPQUQL6ANwCgdPQ1NBoA+T
SVJRVwoIcAoBT0NTSaAPk0lSUVcKEHAKAk9DU0lwT0NFQk9DU0VDS0lPSU9BRAoQEEARXAAUSxBM
RURYAlwvBF9TQl9QQ0kwTEVHMEVORkd9XC8EX1NCX1BDSTBMRUcwU0xFRApEXC8EX1NCX1BDSTBM
RUcwU0xFRKBHBZNoCgF7XC8EX1NCX1BDSTBMRUcwU0xFRAr8XC8EX1NCX1BDSTBMRUcwU0xFRH1c
LwRfU0JfUENJMExFRzBTTEVEaVwvBF9TQl9QQ0kwTEVHMFNMRUSgTAWTaAoCeWkKBGl7XC8EX1NC
X1BDSTBMRUcwU0xFRArPXC8EX1NCX1BDSTBMRUcwU0xFRH1cLwRfU0JfUENJMExFRzBTTEVEaVwv
BF9TQl9QQ0kwTEVHMFNMRURcLwRfU0JfUENJMExFRzBFWEZHW4BXSU4xAQouCgJbgRBXSU4xAUlO
RFgIREFUQQhbhkUHSU5EWERBVEEBABBDRkdfCAAgTEROXwgAQAxJREhJCElETE8IUE9XQwgAOFNM
RUQIABBXS0NUCAAQQUNUUggASBdJT0FICElPQUwIAEAHSU5UUggACElOVDEIAAhETUNICABIPU9Q
VDEIT1BUMghPUFQzCBQURU5GRwBwCodJTkRYcAqHSU5EWBQNRVhGRwBwCqpJTkRYW4JNFEZEQzAI
X0hJRAxB0AcAFDpfU1RBAEVORkdwAExETl+gDEFDVFJFWEZHpAoPoRygEZFJT0FISU9BTEVYRkek
Cg2hCEVYRkekCgAUKl9ESVMARU5GR3AATEROX3AAQUNUUlNMRE1ETUNICgRFWEZHRElTRAoDFEkF
X0NSUwAIQlVGMBEbChhHAfAD8AMBBkcB9wP3AwEBIkAAKgQAeQCMQlVGMAoCSU9MT4xCVUYwCgNJ
T0hJjEJVRjAKBElPUkyMQlVGMAoFSU9SSKRCVUYwCF9QUlMRHQoaMEcB8APwAwAGRwH3A/cDAAEi
QAAqBAA4eQAUSQVfU1JTAYxoCgJJT0xPjGgKA0lPSEmLaAoCSU9BRItoChlJUlFXjGgKHERNQVZF
TkZHcABMRE5fcAFBQ1RSU0xETURNQ0hETUNIRVhGR0NLSU9JT0FECgNbgEtCQ1QBCmAKBVuBEktC
Q1QBUDA2MAgAGFAwNjQIW4JPCFBTMk0IX0hJRAxB0A8TFBdfU1RBAKALk1BTMkYKAKQKD6EEpAoA
FEYGX0NSUwAIQlVGMREICgUiABB5AAhCVUYyERgKFUcBYABgAAEBRwFkAGQAAQEiABB5AKArk0tC
REkKAaANk09TRkwKAqRCVUYxoA2TT1NGTAoBpEJVRjGhBqRCVUYyoQakQlVGMVuCQAVQUzJLCF9I
SUQMQdADAwhfQ0lEDEHQAwsUF19TVEEAoAuTS0JESQoBpAoAoQSkCg8IX0NSUxEYChVHAWAAYAAB
AUcBZABkAAEBIgIAeQBbgkwGUFNNUghfSElEDEHQDAIIX1VJRAoDFDlfU1RBAKALk0tCREkKAKQK
AKAjk1BTMkYKAKALk09TRkwKAqQKD6ALk09TRkwKAaQKD6QKAKQKAAhfQ1JTERUKEkcBYABgAAEB
RwFkAGQAAQF5ABRKBVwvBV9TQl9QQ0kwTEVHMFBTMk1fUFNXAUVORkdwCgpMRE5foA1ofU9QVDEK
CE9QVDGhDHtPUFQxCvdPUFQxRVhGR4ZcLwRfU0JfUENJMExFRzBQUzJNCgIUSgVcLwVfU0JfUENJ
MExFRzBQUzJLX1BTVwFFTkZHcAoKTEROX6ANaH1PUFQxCgRPUFQxoQx7T1BUMQrrT1BUMUVYRkeG
XC8EX1NCX1BDSTBMRUcwUFMySwoCFCFcLwVfU0JfUENJMExFRzBQUzJLX1BSVwCkEgYCChAKBBQh
XC8FX1NCX1BDSTBMRUcwUFMyTV9QUlcApBIGAgoQCgRbgFBJTzECCnQKARAjXABbgR5cLwRfU0Jf
UENJMExFRzBQSU8xAQACSFBURgEABVuAUElSUQIKfAoMEEQJXABbgU4IXC8EX1NCX1BDSTBMRUcw
UElSUQBJTlRBBElOVEIESU5UQwRJTlREBFBDRUEEUENFQgRQQ0VDBFBDRUQEU0NJSQRUQ09JBElO
VEYESU5UUQRJTlRVBElOVFMESVMwUARJVElEBElOVEcESU5USARJTlRKBElOVEsESU5UTARJR1BJ
BElOVE4ESVNBMgRbgE9DU1ACCngKARApXABbgSRcLwRfU0JfUENJMExFRzBPQ1NQAU9DU0UCT0NT
QQNPQ1NJAluATFBJTwIKoAoYEEo/XABbgUYFXC8EX1NCX1BDSTBMRUcwTFBJTwFVQUlPCFNOREQE
TUlERARNU1NEBEZEQ0QCAAJQUklPAwABR0VOMQFHRU4yAUdFTjMBR0VONAFHQU0xCEdBTTIIW4BS
VEMyAQpyCgJbgRBSVEMyAUNNMkkIQ00yRAhbhhJDTTJJQ00yRAEAQGZVQTFECAhVQVJBCgAIVUFS
QgoACFVBUkMKABRDCURJU0QBoBqTaAoAcFVBUkFgf2AK/2B7VUFJT2BVQUlPoBqTaAoBcFVBUkJg
f2AK/2B7VUFJT2BVQUlPoAyTaAoCcAoAUFJJT6AMk2gKA3AKAEZEQ0SgE5NoCgRwCgBHQU0xcAoA
R0FNMqAMk2gKBXAKAE1JRESgGpNoChBwVUFSQ2B/YAr/YHtVQUlPYFVBSU8USCVDS0lPAqBCB5Np
CgB9VUFSQVVBUkJgfVVBUkNgYHtVQUlPYFVBSU9wVUFSQWB/YAr/YHtVQUlPYFVBSU+gCpNoC/gD
cAoBYKAKk2gL+AJwCgJgoAqTaAvoAnAKIGCgCpNoC+gDcAqAYH1VQUlPYFVBSU9wYFVBUkGgQgeT
aQoBfVVBUkFVQVJCYH1VQVJDYGB7VUFJT2BVQUlPcFVBUkJgf2AK/2B7VUFJT2BVQUlPoAqTaAv4
A3AKAWCgCpNoC/gCcAoCYKAKk2gL6AJwCiBgoAqTaAvoA3AKgGB9VUFJT2BVQUlPcGBVQVJCoE4J
k2kKEH1VQVJBVUFSQmB9VUFSQ2Bge1VBSU9gVUFJT3BVQVJDYH9gCv9ge1VBSU9gVUFJT6AKk2gL
+ANwCgFgoAqTaAv4AnAKAmCgCpNoC+gCcAogYKAKk2gL6ANwCoBgoAqTaAsgAnAKBGCgCpNoCygC
cAoIYKAKk2gLOAJwChBgoAqTaAs4A3AKQGB9VUFJT2BVQUlPcGBVQVJDoEEFk2kKAqAYk2gLeANw
CgBQUklPfVBSSU8KAVBSSU+gGJNoC3gCcAoAUFJJT31QUklPCgJQUklPoBiTaAu8A3AKAFBSSU99
UFJJTwoEUFJJT6AQk2kKA31GRENECgFGRENEoDeTaQoEcAoAR0FNMXAKAEdBTTKgEZNoCwECfUdB
TTEKAkdBTTGgEZNoCwkCfUdBTTIKAkdBTTKgMJNpCgVwCgBNSUREoBGTaAsAA31NSURECgFNSURE
oBGTaAswA31NSURECghNSUREFAZTTERNAhRDBkNMU1UBi2gKAlVBUk+gFJNVQVJPC/gDe1VBSU8K
/lVBSU+gFJNVQVJPC/gCe1VBSU8K/VVBSU+gFJNVQVJPC+gCe1VBSU8Kv1VBSU+gFJNVQVJPC+gD
e1VBSU8Kf1VBSU9bgj1VU0IwCF9BRFIMAAACABQJX1MxRACkCgEUF19TM0QAoAuTT1NGTAoCpAoC
oQSkCgMIX1BSVxIGAgoNCgNbgkIGVVNCMghfQURSDAEAAgBbgFAwMjACCkkKAVuBC1AwMjAAVTBX
SwEUGV9QU1cBoAlocAoBVTBXS6EIcAoAVTBXSxQJX1MxRACkCgEUCV9TM0QApAoBCF9QUlcSBgIK
BQoDW4IbQVpBRAhfQURSDAEABAAIX1BSVxIGAgoVCgVbghtNTUFDCF9BRFIMAAAHAAhfUFJXEgYC
CgsKBQhCVUZBEQkKBiOgzhh5AAhCVUZCEQkKBiMAABh5AItCVUZCCgFJUlFWFB5DUlNfAaAKaHkK
AWhJUlFWoQdwAElSUVakQlVGQhQYU1JTXwGLaAoBSVJRMIJJUlEwYHZgpGAURAhDUlNBCXBoYKAJ
k2gKAXAKF2CgCZNoCgJwChZgoAmTaAoDcAoQYKAJk2gKBHAKEWCgCZNoCgZwChJgoAmTaAoIcAoU
YKAJk2gKDHAKE2CgCZNoCg1wChVgCElSWjURDgoLiQYADQEHAAAAeQCLSVJaNQoFSU5aNXBgSU5a
NaRJUlo1FE0HU1JTQQmLaAoFSU5aNnAKCGCgDJNJTlo2ChBwCgNgoAyTSU5aNgoRcAoEYKAMk0lO
WjYKEnAKBmCgDJNJTlo2ChNwCgxgoAyTSU5aNgoUcAoIYKAMk0lOWjYKFXAKDWCgDJNJTlo2ChZw
CgJgoAyTSU5aNgoXcAoBYKRgW4JHBkxOSzEIX0hJRAxB0AwPCF9VSUQKARQUX1NUQQCgCElOVEGk
CguhBKQKCRQLX1BSUwCkQlVGQRQNX0RJUwBwCgBJTlRBFA9fQ1JTAKRDUlNfSU5UQRQQX1NSUwFw
U1JTX2hJTlRBW4JHBkxOSzIIX0hJRAxB0AwPCF9VSUQKAhQUX1NUQQCgCElOVEKkCguhBKQKCRQL
X1BSUwCkQlVGQRQNX0RJUwBwCgBJTlRCFA9fQ1JTAKRDUlNfSU5UQhQQX1NSUwFwU1JTX2hJTlRC
W4JHBkxOSzMIX0hJRAxB0AwPCF9VSUQKAxQUX1NUQQCgCElOVEOkCguhBKQKCRQLX1BSUwCkQlVG
QRQNX0RJUwBwCgBJTlRDFA9fQ1JTAKRDUlNfSU5UQxQQX1NSUwFwU1JTX2hJTlRDW4JHBkxOSzQI
X0hJRAxB0AwPCF9VSUQKBBQUX1NUQQCgCElOVESkCguhBKQKCRQLX1BSUwCkQlVGQRQNX0RJUwBw
CgBJTlREFA9fQ1JTAKRDUlNfSU5URBQQX1NSUwFwU1JTX2hJTlREW4JHBkxOSzUIX0hJRAxB0AwP
CF9VSUQKBRQUX1NUQQCgCFBDRUGkCguhBKQKCRQLX1BSUwCkQlVGQRQNX0RJUwBwCgBQQ0VBFA9f
Q1JTAKRDUlNfUENFQRQQX1NSUwFwU1JTX2hQQ0VBW4JHBkxOSzYIX0hJRAxB0AwPCF9VSUQKBhQU
X1NUQQCgCFBDRUKkCguhBKQKCRQLX1BSUwCkQlVGQRQNX0RJUwBwCgBQQ0VCFA9fQ1JTAKRDUlNf
UENFQhQQX1NSUwFwU1JTX2hQQ0VCW4JHBkxOSzcIX0hJRAxB0AwPCF9VSUQKBxQUX1NUQQCgCFBD
RUOkCguhBKQKCRQLX1BSUwCkQlVGQRQNX0RJUwBwCgBQQ0VDFA9fQ1JTAKRDUlNfUENFQxQQX1NS
UwFwU1JTX2hQQ0VDW4JHBkxOSzgIX0hJRAxB0AwPCF9VSUQKCBQUX1NUQQCgCFBDRUSkCguhBKQK
CRQLX1BSUwCkQlVGQRQNX0RJUwBwCgBQQ0VEFA9fQ1JTAKRDUlNfUENFRBQQX1NSUwFwU1JTX2hQ
Q0VEW4JHBkxJR1AIX0hJRAxB0AwPCF9VSUQKFhQUX1NUQQCgCElHUEmkCguhBKQKCRQLX1BSUwCk
QlVGQRQNX0RJUwBwCgBJR1BJFA9fQ1JTAKRDUlNfSUdQSRQQX1NSUwFwU1JTX2hJR1BJW4JHBkxQ
MlAIX0hJRAxB0AwPCF9VSUQKCRQUX1NUQQCgCElOVFWkCguhBKQKCRQLX1BSUwCkQlVGQRQNX0RJ
UwBwCgBJTlRVFA9fQ1JTAKRDUlNfSU5UVRQQX1NSUwFwU1JTX2hJTlRVW4JHBkxVQkEIX0hJRAxB
0AwPCF9VSUQKChQUX1NUQQCgCElOVEekCguhBKQKCRQLX1BSUwCkQlVGQRQNX0RJUwBwCgBJTlRH
FA9fQ1JTAKRDUlNfSU5URxQQX1NSUwFwU1JTX2hJTlRHW4JHBkxNQUMIX0hJRAxB0AwPCF9VSUQK
CxQUX1NUQQCgCElOVEqkCguhBKQKCRQLX1BSUwCkQlVGQRQNX0RJUwBwCgBJTlRKFA9fQ1JTAKRD
UlNfSU5UShQQX1NSUwFwU1JTX2hJTlRKW4JHBkxBWkEIX0hJRAxB0AwPCF9VSUQKDRQUX1NUQQCg
CElOVEukCguhBKQKCRQLX1BSUwCkQlVGQRQNX0RJUwBwCgBJTlRLFA9fQ1JTAKRDUlNfSU5USxQQ
X1NSUwFwU1JTX2hJTlRLW4JHBkxQTVUIX0hJRAxB0AwPCF9VSUQKDhQUX1NUQQCgCElOVFOkCguh
BKQKCRQLX1BSUwCkQlVGQRQNX0RJUwBwCgBJTlRTFA9fQ1JTAKRDUlNfSU5UUxQQX1NSUwFwU1JT
X2hJTlRTW4JHBkxTTUIIX0hJRAxB0AwPCF9VSUQKDxQUX1NUQQCgCElOVEakCguhBKQKCRQLX1BS
UwCkQlVGQRQNX0RJUwBwCgBJTlRGFA9fQ1JTAKRDUlNfSU5URhQQX1NSUwFwU1JTX2hJTlRGW4JH
BkxVQjIIX0hJRAxB0AwPCF9VSUQKEBQUX1NUQQCgCElOVFGkCguhBKQKCRQLX1BSUwCkQlVGQRQN
X0RJUwBwCgBJTlRRFA9fQ1JTAKRDUlNfSU5UURQQX1NSUwFwU1JTX2hJTlRRW4JHBkxJREUIX0hJ
RAxB0AwPCF9VSUQKERQUX1NUQQCgCElOVE6kCguhBKQKCRQLX1BSUwCkQlVGQRQNX0RJUwBwCgBJ
TlROFA9fQ1JTAKRDUlNfSU5UThQQX1NSUwFwU1JTX2hJTlROW4JHBkxTSUQIX0hJRAxB0AwPCF9V
SUQKEhQUX1NUQQCgCElUSUSkCguhBKQKCRQLX1BSUwCkQlVGQRQNX0RJUwBwCgBJVElEFA9fQ1JT
AKRDUlNfSVRJRBQQX1NSUwFwU1JTX2hJVElEW4JHBkxGSUQIX0hJRAxB0AwPCF9VSUQKExQUX1NU
QQCgCElTMFCkCguhBKQKCRQLX1BSUwCkQlVGQRQNX0RJUwBwCgBJUzBQFA9fQ1JTAKRDUlNfSVMw
UBQQX1NSUwFwU1JTX2hJUzBQCEJVRjERDgoLiQYADQEQAAAAeQAIQlVGMhEOCguJBgANAREAAAB5
AAhCVUYzEQ4KC4kGAA0BEgAAAHkACEJVRjQRDgoLiQYADQETAAAAeQAIQlVGRhESCg+JCgANAhYA
AAAXAAAAeQAIQlVGUxEOCguJBgANARQAAAB5AAhCVUZQEQ4KC4kGAA0BFQAAAHkACEJVRkgRDgoL
iQYADQELAAAAeQAIQlVGSREOCguJBgANARcAAAB5AAhJUloxEQ4KC4kGAA0BBwAAAHkAW4JMBkFQ
QzEIX0hJRAxB0AwPCF9VSUQKFRQZX1NUQQCgDZBJTlRBUElDRqQKC6EEpAoJFAtfUFJTAKRCVUYx
FA1fRElTAHAKAElOVEEUD19DUlMApENSU0FJTlRBFBBfU1JTAXBTUlNBaElOVEFbgkwGQVBDMghf
SElEDEHQDA8IX1VJRAoWFBlfU1RBAKANkElOVEJQSUNGpAoLoQSkCgkUC19QUlMApEJVRjIUDV9E
SVMAcAoASU5UQhQPX0NSUwCkQ1JTQUlOVEIUEF9TUlMBcFNSU0FoSU5UQluCTAZBUEMzCF9ISUQM
QdAMDwhfVUlEChcUGV9TVEEAoA2QSU5UQ1BJQ0akCguhBKQKCRQLX1BSUwCkQlVGMxQNX0RJUwBw
CgBJTlRDFA9fQ1JTAKRDUlNBSU5UQxQQX1NSUwFwU1JTQWhJTlRDW4JMBkFQQzQIX0hJRAxB0AwP
CF9VSUQKGBQZX1NUQQCgDZBJTlREUElDRqQKC6EEpAoJFAtfUFJTAKRCVUY0FA1fRElTAHAKAElO
VEQUD19DUlMApENSU0FJTlREFBBfU1JTAXBTUlNBaElOVERbgkwGQVBDNQhfSElEDEHQDA8IX1VJ
RAoZFBlfU1RBAKANkFBDRUFQSUNGpAoLoQSkCgkUC19QUlMApEJVRjEUDV9ESVMAcAoAUENFQRQP
X0NSUwCkQ1JTQVBDRUEUEF9TUlMBcFNSU0FoUENFQVuCTAZBUEM2CF9ISUQMQdAMDwhfVUlEChoU
GV9TVEEAoA2QUENFQlBJQ0akCguhBKQKCRQLX1BSUwCkQlVGMRQNX0RJUwBwCgBQQ0VCFA9fQ1JT
AKRDUlNBUENFQhQQX1NSUwFwU1JTQWhQQ0VCW4JMBkFQQzcIX0hJRAxB0AwPCF9VSUQKGxQZX1NU
QQCgDZBQQ0VDUElDRqQKC6EEpAoJFAtfUFJTAKRCVUYxFA1fRElTAHAKAFBDRUMUD19DUlMApENS
U0FQQ0VDFBBfU1JTAXBTUlNBaFBDRUNbgkwGQVBDOAhfSElEDEHQDA8IX1VJRAocFBlfU1RBAKAN
kFBDRURQSUNGpAoLoQSkCgkUC19QUlMApEJVRjEUDV9ESVMAcAoAUENFRBQPX0NSUwCkQ1JTQVBD
RUQUEF9TUlMBcFNSU0FoUENFRFuCTAZBSUdQCF9ISUQMQdAMDwhfVUlECnoUGV9TVEEAoA2QSUdQ
SVBJQ0akCguhBKQKCRQLX1BSUwCkQlVGRhQNX0RJUwBwCgBJR1BJFA9fQ1JTAKRDUlNBSUdQSRQQ
X1NSUwFwU1JTQWhJR1BJW4JMBkFQQ0YIX0hJRAxB0AwPCF9VSUQKHRQZX1NUQQCgDZBJTlRHUElD
RqQKC6EEpAoJFAtfUFJTAKRCVUZGFA1fRElTAHAKAElOVEcUD19DUlMApENSU0FJTlRHFBBfU1JT
AXBTUlNBaElOVEdbgkwGQVBDSAhfSElEDEHQDA8IX1VJRAoeFBlfU1RBAKANkElOVEpQSUNGpAoL
oQSkCgkUC19QUlMApEJVRkYUDV9ESVMAcAoASU5UShQPX0NSUwCkQ1JTQUlOVEoUEF9TUlMBcFNS
U0FoSU5USluCTAZBUE1VCF9ISUQMQdAMDwhfVUlECiAUGV9TVEEAoA2QSU5UU1BJQ0akCguhBKQK
CRQLX1BSUwCkQlVGRhQNX0RJUwBwCgBJTlRTFA9fQ1JTAKRDUlNBSU5UUxQQX1NSUwFwU1JTQWhJ
TlRTW4JMBkFBWkEIX0hJRAxB0AwPCF9VSUQKIRQZX1NUQQCgDZBJTlRLUElDRqQKC6EEpAoJFAtf
UFJTAKRCVUZGFA1fRElTAHAKAElOVEsUD19DUlMApENSU0FJTlRLFBBfU1JTAXBTUlNBaElOVEtb
gkwGQVBDUwhfSElEDEHQDA8IX1VJRAoiFBlfU1RBAKANkElOVEZQSUNGpAoLoQSkCgkUC19QUlMA
pEJVRkYUDV9ESVMAcAoASU5URhQPX0NSUwCkQ1JTQUlOVEYUEF9TUlMBcFNSU0FoSU5URluCTAZB
UENMCF9ISUQMQdAMDwhfVUlECiMUGV9TVEEAoA2QSU5UUVBJQ0akCguhBKQKCRQLX1BSUwCkQlVG
RhQNX0RJUwBwCgBJTlRRFA9fQ1JTAKRDUlNBSU5UURQQX1NSUwFwU1JTQWhJTlRRW4JMBkFQQ00I
X0hJRAxB0AwPCF9VSUQKJBQZX1NUQQCgDZBJTlRVUElDRqQKC6EEpAoJFAtfUFJTAKRCVUZGFA1f
RElTAHAKAElOVFUUD19DUlMApENSU0FJTlRVFBBfU1JTAXBTUlNBaElOVFVbgkwGQVBDWghfSElE
DEHQDA8IX1VJRAolFBlfU1RBAKANkElOVE5QSUNGpAoLoQSkCgkUC19QUlMApEJVRkYUDV9ESVMA
cAoASU5UThQPX0NSUwCkQ1JTQUlOVE4UEF9TUlMBcFNSU0FoSU5UTluCTAZBUFNJCF9ISUQMQdAM
DwhfVUlECiYUGV9TVEEAoA2QSVRJRFBJQ0akCguhBKQKCRQNX0RJUwBwCgBJVElEFAtfUFJTAKRC
VUZTFA9fQ1JTAKRDUlNBSVRJRBQQX1NSUwFwU1JTQWhJVElEW4JMBkFQU0oIX0hJRAxB0AwPCF9V
SUQKJxQZX1NUQQCgDZBJUzBQUElDRqQKC6EEpAoJFA1fRElTAHAKAElTMFAUC19QUlMApEJVRlAU
D19DUlMApENSU0FJUzBQFBBfU1JTAXBTUlNBaElTMFBbgE9FTVIADODXDwAKAVuBLk9FTVIBT0JU
MAFPQlQxAU9CVDIBT0JUMwFPQlQ0AU9CVDUBT0JUNgFPQlQ3AVuAU1hUTQAMNP8PAAoEW4ELU1hU
TQJTTUVNIFuCRRBNRU1fCF9ISUQMQdAMARRED19DUlMACEJVRjARQgcKboYJAAEA8P/+AAEAAIYJ
AAEAAP//AAABAIYJAAEAAAAAAAAAAIYJAAEAAMD+ABAAAIYJAAEAAOD+AAAQAIYJAAEA8P/+ABAA
AIYJAAEAAPj/ABAAAIYJAAEAAPn/AAADAIYJAAEA0P7/ADAAAHkAikJVRjAMAAABAEFTU02KQlVG
MAocU1hUMYpCVUYwCiBTWFQyoCSSk1NNRU0AckFNRU0MAAABAFNYVDFyU1hUMQwAABAAU1hUMaEH
cABTWFQxcFNNRU1TWFQye0FNRU0M//8PAGB0DAAAEABgQVNTTaRCVUYwW4JFBFwvA19TQl9QQ0kw
RVhQTAhfSElEDEHQDAIIX1VJRAoEFCJfQ1JTAAhCVUYwEREKDoYJAAEAAADwAAAABHkApEJVRjBb
gFRFTU0ADBD4DwAKDFuBJFRFTU0CVFAxSBBUUDFMEFRQMkgQVFAyTBBUUlBDEFNFTkYQW4BURU0x
AAwc+A8AChBbgUcFVEVNMQFUUDNICFRQM0wIVFA0SAhUUDRMCFRQNUgIVFA1TAhUUDZNCFRQNkgI
VFA2TAhUUDdUCFRQN0gIVFA3TAhUUDhMCFRQOE0IVFA4SAhUUDhUCAhUVkFSEQgKBQAAAAAAjFRW
QVIKAFBMQ1mLVFZBUgoBQ1RPU4tUVkFSCgNDVEhZCFRCVUYRBwoEAAAAAIxUQlVGCgBEQjAwjFRC
VUYKAURCMDGLVEJVRgoARFcwMItUQlVGCgJEVzAxilRCVUYKAERBVERbgFNFTjEBC5UCCgJbgRBT
RU4xAVNFSTAIU0VEMAgUM1NUT1MDoBKVagusCnRqC6wKYHhgCgpgAKESdAusCmpgeGAKCmAAcmAK
gGBXQllUCk9gFDNTVEhZA6ASlWoLrAp0agusCmB4YAoKYAChEnQLrApqYHhgCgpgAHJgCoBgV0JZ
VApOYBRGBFJUTVAAcFJCWVQKdGCBYGGgFZNhCgh7YAp/YHdgCgpgdAusCmBgoQx3YAoKYHILrApg
YKAMk1NTSFUKAaQLPAyhA6RgFBJXQllUAnBoU0VJMHBpU0VEMBQUUkJZVAFwaFNFSTBwU0VEMGCk
YBQVU0ZBTgGgCJNoAEZPRkahBUZPTl8UOEZPTl8AcFJCWVQKlmB7YAr8YH1gCgFgV0JZVAqWYHBS
QllUCpZge2AK82B9YAoEYFdCWVQKlmAUSQVGT0ZGAHBSQllUCpZge2AK/GB9YAoCYFdCWVQKlmBX
QllUCqIKD1dCWVQKowr/cFJCWVQKlmB7YArzYH1gCghgV0JZVAqWYFdCWVQKsgoPV0JZVAqzCv8U
ClNNRk4ARk9OXxBKFlxfVFpfW4IoRkFOXwhfSElEDEHQDAsUGF9JTkkAcFRQMUhDVE9TcFRQMUxD
VEhZW4VHE1RIUk0IX0FMMBIGAUZBTl8UBl9JTkkAFCZfQUMwAKAUfVBMQ1lQTENZZ6RLRUxBVFAy
SKEKpEtFTEFUUDFICF9QU0wSDAFcLl9QUl9DUFUwCF9UU1AKPAhfVEMxCgQIX1RDMgoDFCZfUFNW
AKAUfVBMQ1lQTENZZ6RLRUxBVFAxSKEKpEtFTEFUUDJIFCFLRUxBAaAIlGgL9AGkaKERcGhhd2EK
CmFyYQusCmGkYRQLX0NSVACkVFJQQxQjX1RNUAB7U0VORgoBZqAOk2YKAaRLRUxBUlRNUKEFpAuG
CxQkX1NDUAGgCGhwAVBMQ1mhB3AAUExDWYZcLl9UWl9USFJNCoEUMVNUTVACcGlEVzAwoBJoU1RI
WURCMDBEQjAxRFcwMKERU1RPU0RCMDBEQjAxRFcwMA==
====
begin-base64 644 FACP.1
RkFDUPQAAAADsUhQUU9FTVNMSUMtQ1BDMS4wQkFXUkQAAAAAAADur8Ay7q8AAQkALhQAAKGgAAAA
EAAAAAAAAAQQAAAAAAAAHBAAAAgQAAAgEAAAoBQAAAQCAQQIECAAZQDpAwAAAAABA31+MgAAAKUE
AAABCAAA+QwAAAAAAAAGAAAAAADurwAAAADAMu6vAAAAAAEIAAAAEAAAAAAAAAEIAAAAAAAAAAAA
AAEIAAAEEAAAAAAAAAEIAAAAAAAAAAAAAAEIAAAcEAAAAAAAAAEIAAAIEAAAAAAAAAEIAAAgEAAA
AAAAAAEIAACgFAAAAAAAAA==
====
begin-base64 644 HPET.5
SFBFVDgAAAABr0hQUU9FTVNMSUMtQ1BDMS4wQkFXUkSYAAAAAYLeEAAAAAAA8P/+AAAAAAD6AAA=
====
begin-base64 644 MCFG.6
TUNGRzwAAAABgEhQUU9FTVNMSUMtQ1BDMS4wQkFXUkQAAAAAAAAAAAAAAAAAAADwAAAAAAAAAD8A
AAAA
====
begin-base64 644 RSDT.0
UlNEVDwAAAABV0hQUU9FTVNMSUMtQ1BDMS4wQkFXUkQAAAAAwDHur8CA7q+Agu6vQIzur8CM7q/A
f+6v
====
begin-base64 644 SLIC.3
U0xJQ3YBAAAB/khQUU9FTVNMSUMtQ1BDMS4wQkFXUkQAAAAAAAAAAJwAAAAGAgAAACQAAFJTQTEA
BAAAAQABAFurYFa8WB7owdKhXOVPu/0dqYyUtK4IEdwTWdN/9j6HMbmVdBDaO6RbtRmCfDnXDXwi
rBwqhOkKiG36seLY6CGW4S5omr9ERT48jpmQ3jc4VwuSFbze//IHfrVAjFE6wwJI9hMScvtCeOZH
iFTHsPCTnvsEt7i4kN7b7TLh+1SmAQAAALYAAAAAAAIASFBRT0VNU0xJQy1DUENXSU5ET1dTIAEA
AgAAAAAAAAAAAAAAAAAAAAAAcQbKtPH2b9o6MDnarOhwM4XTsdenbxS3itM9U5rzcdkoPWx8OgaB
rQ3lwqdnns4//TNiTLRbUV8KJTKffRNl41qurvN7JYEThs9kFBv18WrLZDrGk28oDlNDGkSuT4R2
RtgjX21dpiNkzziDi9/fLDo/LHPf5rid0bP+v/6wPNc=
====
begin-base64 644 SSDT.4
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
SAoFEiAGDGb+ZsEM6BCIRgwEAAAADAQAAAAMAAAAAAwAAAAAEiAGDIh++2YMwesQiAwEAAAADAQA
AAAMAQAAAAwBAAAAEiAGDGa+MAUMyP5mgQwEAAAADAQAAAAMAgAAAAwCAAAAEiAGDABmUFEM6M8B
UAwEAAAADAQAAAAMAwAAAAwDAAAAEiAGDOwCWOgM/wKKRgwEAAAADAQAAAAMBAAAAAwEAAAACFhQ
U1MSSxYFEkcECAxm/mbBDOgQiEYMBAAAAAwEAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsK
CAAAAAAAAAAAEQsKCAAAAAAAAAAAEkcECAyIfvtmDMHrEIgMBAAAAAwEAAAAEQsKCAEAAAAAAAAA
EQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEkcECAxmvjAFDMj+ZoEMBAAAAAwE
AAAAEQsKCAIAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEkcECAwA
ZlBRDOjPAVAMBAAAAAwEAAAAEQsKCAMAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsK
CAAAAAAAAAAAEkcECAzsAljoDP8CikYMBAAAAAwEAAAAEQsKCAQAAAAAAAAAEQsKCAAAAAAAAAAA
EQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAACERTUF8SGAESFQUKBQoADAAAAAAM/AAAAAwBAAAACF9Q
UEMKAA==
====
begin-base64 644 XSDT.0
WFNEVFQAAAABLEhQUU9FTVNMSUMtQ1BDMS4wQkFXUkQAAAAAgH7urwAAAADAgO6vAAAAAICC7q8A
AAAAQIzurwAAAADAjO6vAAAAAMB/7q8AAAAA
====
begin-base64 644 headers
ClJTRCBQVFI6IENoZWNrc3VtPTgsIE9FTUlEPUhQUU9FTSwgUmV2aXNpb249MiwgUnNkdEFkZHJl
c3M9MHhhZmVlMzA0MAoJTGVuZ3RoPTM2LCBYc2R0QWRkcmVzcz0weDAwMDAwMDAwYWZlZTMxMDAs
IEV4dGVuZGVkIENoZWNrc3VtPTE0CgoKWFNEVDogTGVuZ3RoPTg0LCBSZXZpc2lvbj0xLCBDaGVj
a3N1bT00NCwKCU9FTUlEPUhQUU9FTSwgT0VNIFRhYmxlIElEPVNMSUMtQ1BDLCBPRU0gUmV2aXNp
b249MHg0MjMwMmUzMSwKCUNyZWF0b3IgSUQ9QVdSRCwgQ3JlYXRvciBSZXZpc2lvbj0weDAKCgoJ
RW50cmllcz17IDB4MDAwMDAwMDBhZmVlN2U4MCwgMHgwMDAwMDAwMGFmZWU4MGMwLCAweDAwMDAw
MDAwYWZlZTgyODAsIDB4MDAwMDAwMDBhZmVlOGM0MCwgMHgwMDAwMDAwMGFmZWU4Y2MwLCAweDAw
MDAwMDAwYWZlZTdmYzAgfQoKCglEU0RUPTB4YWZlZTMyYzAKCUlOVF9NT0RFTD1QSUMKCVNDSV9J
TlQ9OQoJU01JX0NNRD0weDE0MmUsIEFDUElfRU5BQkxFPTB4YTEsIEFDUElfRElTQUJMRT0weGEw
LCBTNEJJT1NfUkVRPTB4MAoJUE0xYV9FVlRfQkxLPTB4MTAwMC0weDEwMDMKCVBNMWFfQ05UX0JM
Sz0weDEwMDQtMHgxMDA1CglQTTJfQ05UX0JMSz0weDEwMWMtMHgxMDFjCglQTTJfVE1SX0JMSz0w
eDEwMDgtMHgxMDBiCglQTTJfR1BFMF9CTEs9MHgxMDIwLTB4MTAyNwoJUE0yX0dQRTFfQkxLPTB4
MTRhMC0weDE0YWYsIEdQRTFfQkFTRT0zMgoJUF9MVkwyX0xBVD0xMDFtcywgUF9MVkwzX0xBVD0x
MDAxbXMKCUZMVVNIX1NJWkU9MCwgRkxVU0hfU1RSSURFPTAKCURVVFlfT0ZGU0VUPTEsIERVVFlf
V0lEVEg9MwoJREFZX0FMUk09MTI1LCBNT05fQUxSTT0xMjYsIENFTlRVUlk9NTAKCUZsYWdzPXtX
QklOVkQsUFJPQ19DMSxTTFBfQlVUVE9OLFJUQ19TNH0KCgpEU0RUOiBMZW5ndGg9MTkyOTcsIFJl
dmlzaW9uPTEsIENoZWNrc3VtPTQ4LAoJT0VNSUQ9SFBRT0VNLCBPRU0gVGFibGUgSUQ9U0xJQy1D
UEMsIE9FTSBSZXZpc2lvbj0weDEwMDAsCglDcmVhdG9yIElEPU1TRlQsIENyZWF0b3IgUmV2aXNp
b249MHgzMDAwMDAwCgoKU0xJQzogTGVuZ3RoPTM3NCwgUmV2aXNpb249MSwgQ2hlY2tzdW09MjU0
LAoJT0VNSUQ9SFBRT0VNLCBPRU0gVGFibGUgSUQ9U0xJQy1DUEMsIE9FTSBSZXZpc2lvbj0weDQy
MzAyZTMxLAoJQ3JlYXRvciBJRD1BV1JELCBDcmVhdG9yIFJldmlzaW9uPTB4MAoKClNTRFQ6IExl
bmd0aD0yMzk4LCBSZXZpc2lvbj0xLCBDaGVja3N1bT02MSwKCU9FTUlEPUhQUU9FTSwgT0VNIFRh
YmxlIElEPVNMSUMtQ1BDLCBPRU0gUmV2aXNpb249MHgxLAoJQ3JlYXRvciBJRD0gTFRQLCBDcmVh
dG9yIFJldmlzaW9uPTB4MQoKCkhQRVQ6IExlbmd0aD01NiwgUmV2aXNpb249MSwgQ2hlY2tzdW09
MTc1LAoJT0VNSUQ9SFBRT0VNLCBPRU0gVGFibGUgSUQ9U0xJQy1DUEMsIE9FTSBSZXZpc2lvbj0w
eDQyMzAyZTMxLAoJQ3JlYXRvciBJRD1BV1JELCBDcmVhdG9yIFJldmlzaW9uPTB4OTgKCgpNQ0ZH
OiBMZW5ndGg9NjAsIFJldmlzaW9uPTEsIENoZWNrc3VtPTEyOCwKCU9FTUlEPUhQUU9FTSwgT0VN
IFRhYmxlIElEPVNMSUMtQ1BDLCBPRU0gUmV2aXNpb249MHg0MjMwMmUzMSwKCUNyZWF0b3IgSUQ9
QVdSRCwgQ3JlYXRvciBSZXZpc2lvbj0weDAKCgpBUElDOiBMZW5ndGg9MTUyLCBSZXZpc2lvbj0x
LCBDaGVja3N1bT0xNTcsCglPRU1JRD1IUFFPRU0sIE9FTSBUYWJsZSBJRD1TTElDLUNQQywgT0VN
IFJldmlzaW9uPTB4NDIzMDJlMzEsCglDcmVhdG9yIElEPUFXUkQsIENyZWF0b3IgUmV2aXNpb249
MHgwCgo=
====