Date: Wed, 20 Jun 2007 02:31:51 +0900 From: Norikatsu Shigemura <nork@FreeBSD.org> To: freebsd-acpi@FreeBSD.org Subject: How do I use HPET? Message-ID: <20070620023151.c0f3b961.nork@FreeBSD.org>
next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --Multipart=_Wed__20_Jun_2007_02_31_51_+0900_KZTwyrG_5maCpUc3 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Hi. I'm using Panasonic Let's Note (Toughbook) CF-R4 with FreeBSD 6-stable. How do I use HPET? I can't use HPET:-(. Anyone, do you have any idea? --Multipart=_Wed__20_Jun_2007_02_31_51_+0900_KZTwyrG_5maCpUc3 Content-Type: text/plain; name="dmesg.txt" Content-Disposition: attachment; filename="dmesg.txt" Content-Transfer-Encoding: 7bit Copyright (c) 1992-2007 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 6.2-STABLE #65: Tue Jun 19 02:50:41 JST 2007 nork@melfina.ninth-nine.com:/usr/obj/usr/src/sys/MELFINA WARNING: Network stack Giant-free, but aio requires Giant. Consider adding 'options NET_WITH_GIANT' or setting debug.mpsafenet=0 Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel(R) Pentium(R) M processor 1.20GHz (1197.01-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x6d8 Stepping = 8 Features=0xafe9fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,TM,PBE> Features2=0x180<EST,TM2> AMD Features=0x100000<NX> real memory = 1064173568 (1014 MB) avail memory = 1032351744 (984 MB) ACPI APIC Table: <MATBIO CFR4-3 > ioapic0: Changing APIC ID to 1 ioapic0 <Version 2.0> irqs 0-23 on motherboard kbd1 at kbdmux0 kqemu version 0x00010300 kqemu: KQEMU installed, max_locked_mem=515248kB. ichwd module loaded acpi0: <PTLTD RSDT> on motherboard acpi0: Power Button (fixed) Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0 acpi_ec0: <Embedded Controller: GPE 0x1d> port 0x62,0x66 on acpi0 cpu0: <ACPI CPU> on acpi0 est0: <Enhanced SpeedStep Frequency Control> on cpu0 p4tcc0: <CPU Frequency Thermal Control> on cpu0 acpi_lid0: <Control Method Lid Switch> on acpi0 battery0: <ACPI Control Method Battery> on acpi0 acpi_acad0: <AC Adapter> on acpi0 acpi_button0: <Power Button> on acpi0 acpi_panasonic0: <Panasonic Notebook Hotkeys> on acpi0 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 agp0: <Intel 82915GM (915GM GMCH) SVGA controller> port 0x1800-0x1807 mem 0xb0080000-0xb00fffff,0xc0000000-0xcfffffff,0xb0000000-0xb003ffff irq 16 at device 2.0 on pci0 agp0: detected 7932k stolen memory agp0: aperture size is 256M drmsub0: <Intel i915GM>: (child of agp_i810.c) on agp0 info: [drm] AGP at 0xb0080000 0MB info: [drm] Initialized i915 1.5.0 20060119 pci0: <display> at device 2.1 (no driver attached) uhci0: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-A> port 0x1820-0x183f irq 23 at device 29.0 on pci0 uhci0: [GIANT-LOCKED] usb0: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-A> on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered ehci0: <Intel 82801FB (ICH6) USB 2.0 controller> mem 0xb0040000-0xb00403ff irq 23 at device 29.7 on pci0 ehci0: [GIANT-LOCKED] usb1: EHCI version 1.0 usb1: companion controller, 2 ports each: usb0 usb1: <Intel 82801FB (ICH6) USB 2.0 controller> on ehci0 usb1: USB revision 2.0 uhub1: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 uhub1: 2 ports with 2 removable, self powered pcib1: <ACPI PCI-PCI bridge> at device 30.0 on pci0 pci6: <ACPI PCI bus> on pcib1 rl0: <RealTek 8139 10/100BaseTX> port 0x3000-0x30ff mem 0xb0100000-0xb01000ff irq 19 at device 1.0 on pci6 miibus0: <MII bus> on rl0 rlphy0: <RealTek internal media interface> on miibus0 rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto rl0: Ethernet address: 00:0b:97:33:1c:30 iwi0: <Intel(R) PRO/Wireless 2915ABG> mem 0xb0101000-0xb0101fff irq 21 at device 4.0 on pci6 iwi0: Ethernet address: 00:16:6f:33:41:34 cbb0: <RF5C476 PCI-CardBus Bridge> mem 0xb0102000-0xb0102fff irq 22 at device 5.0 on pci6 cardbus0: <CardBus bus> on cbb0 pccard0: <16-bit PCCard bus> on cbb0 pci6: <base peripheral> at device 5.1 (no driver attached) pcm0: <Intel ICH6 (82801FB)> port 0x1c00-0x1cff,0x1840-0x187f mem 0xb0040800-0xb00409ff,0xb0040400-0xb00404ff irq 17 at device 30.2 on pci0 pcm0: <SigmaTel STAC9750/51 AC97 Codec> isab0: <PCI-ISA bridge> at device 31.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <Intel ICH6 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x1810-0x181f at device 31.1 on pci0 ata0: <ATA channel 0> on atapci0 ata1: <ATA channel 1> on atapci0 ichsmb0: <SMBus controller> port 0x18a0-0x18bf irq 19 at device 31.3 on pci0 ichsmb0: [GIANT-LOCKED] smbus0: <System Management Bus> on ichsmb0 smb0: <SMBus generic I/O> on smbus0 acpi_tz0: <Thermal Zone> on acpi0 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] psm0: <PS/2 Mouse> flags 0x2000 irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model Synaptics Touchpad, device ID 0 pmtimer0 on isa0 ichwd0: <Intel ICH6M watchdog timer> on isa0 ichwd0: Intel ICH6M watchdog timer TCO version 2 orm0: <ISA Option ROMs> at iomem 0xcf800-0xd07ff,0xdc000-0xdffff,0xe0000-0xeffff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 Timecounter "TSC" frequency 1197010942 Hz quality 800 Timecounters tick every 1.000 msec Fast IPsec: Initialized Security Association Processing. ad0: 54156MB <TOSHIBA MK6034GAX AC101F> at ata0-master UDMA100 Trying to mount root from ufs:/dev/ad0s2a ipfw2 (+ipv6) initialized, divert loadable, rule-based forwarding disabled, default to accept, logging unlimited tap0: Ethernet address: 00:bd:51:27:00:00 --Multipart=_Wed__20_Jun_2007_02_31_51_+0900_KZTwyrG_5maCpUc3 Content-Type: text/plain; name="devinfo-rv.txt" Content-Disposition: attachment; filename="devinfo-rv.txt" Content-Transfer-Encoding: 7bit nexus0 legacy0 npx0 acpi0 Interrupt request lines: 0x9 I/O ports: 0x63 0x65 0x67 0x80 0x92 0xb2-0xb3 0x800-0x80f 0x900-0x91f 0x92c-0x97f 0x1000-0x107f 0x1180-0x11bf 0xfe00-0xfe01 I/O memory addresses: 0xcf200-0xcf7ff 0xd0800-0xd3fff 0xe0000000-0xefffffff 0xf0000000-0xf0003fff 0xf0004000-0xf0004fff 0xf0005000-0xf0005fff 0xf0008000-0xf000bfff 0xfed20000-0xfed8ffff cpu0 pnpinfo _HID=none _UID=0 at handle=\_PR_.CPU0 ACPI I/O ports: 0x1014 0x1015 est0 p4tcc0 acpi_perf0 acpi_throttle0 cpufreq0 unknown pnpinfo _HID=none _UID=0 at handle=\_PR_.CPU1 acpi_lid0 pnpinfo _HID=PNP0C0D _UID=0 at handle=\_SB_.LID_ battery0 pnpinfo _HID=PNP0C0A _UID=0 at handle=\_SB_.BATA acpi_acad0 pnpinfo _HID=ACPI0003 _UID=0 at handle=\_SB_.AC__ acpi_button0 pnpinfo _HID=PNP0C0C _UID=0 at handle=\_SB_.PWRB acpi_panasonic0 pnpinfo _HID=MAT0019 _UID=0 at handle=\_SB_.HKEY pcib0 pnpinfo _HID=PNP0A08 _UID=0 at handle=\_SB_.PCI0 pci0 hostb0 pnpinfo vendor=0x8086 device=0x2590 subvendor=0x10f7 subdevice=0x8338 class=0x060000 at slot=0 function=0 agp0 pnpinfo vendor=0x8086 device=0x2592 subvendor=0x10f7 subdevice=0x8338 class=0x030000 at slot=2 function=0 handle=\_SB_.PCI0.GFX0 Interrupt request lines: 0x10 I/O ports: 0x1800-0x1807 I/O memory addresses: 0xb0000000-0xb003ffff 0xb0080000-0xb00fffff 0xc0000000-0xcfffffff drmsub0 unknown pnpinfo vendor=0x8086 device=0x2792 subvendor=0x10f7 subdevice=0x8338 class=0x038000 at slot=2 function=1 uhci0 pnpinfo vendor=0x8086 device=0x2658 subvendor=0x10f7 subdevice=0x8338 class=0x0c0300 at slot=29 function=0 handle=\_SB_.PCI0.USB1 Interrupt request lines: 0x17 I/O ports: 0x1820-0x183f usb0 uhub0 ehci0 pnpinfo vendor=0x8086 device=0x265c subvendor=0x10f7 subdevice=0x8338 class=0x0c0320 at slot=29 function=7 handle=\_SB_.PCI0.EHCI I/O memory addresses: 0xb0040000-0xb00403ff usb1 uhub1 pcib1 pnpinfo vendor=0x8086 device=0x2448 subvendor=0x10f7 subdevice=0x8338 class=0x060401 at slot=30 function=0 handle=\_SB_.PCI0.PCIB pci6 rl0 pnpinfo vendor=0x10ec device=0x8139 subvendor=0x10f7 subdevice=0x8338 class=0x020000 at slot=1 function=0 handle=\_SB_.PCI0.PCIB.LAN_ Interrupt request lines: 0x13 I/O ports: 0x3000-0x30ff I/O memory addresses: 0xb0100000-0xb01000ff miibus0 rlphy0 pnpinfo oui=0x0 model=0x0 rev=0x0 at phyno=0 iwi0 pnpinfo vendor=0x8086 device=0x4223 subvendor=0x8086 subdevice=0x1002 class=0x028000 at slot=4 function=0 Interrupt request lines: 0x15 I/O memory addresses: 0xb0101000-0xb0101fff cbb0 pnpinfo vendor=0x1180 device=0x0476 subvendor=0x10f7 subdevice=0x8338 class=0x060700 at slot=5 function=0 handle=\_SB_.PCI0.PCIB.CDB1 Interrupt request lines: 0x16 I/O memory addresses: 0xb0102000-0xb0102fff cardbus0 pccard0 unknown pnpinfo vendor=0x1180 device=0x0822 subvendor=0x10f7 subdevice=0x8338 class=0x080500 at slot=5 function=1 I/O memory addresses: 0xb0100400-0xb01004ff pcm0 pnpinfo vendor=0x8086 device=0x266e subvendor=0x10f7 subdevice=0x834c class=0x040100 at slot=30 function=2 handle=\_SB_.PCI0.AUD0 Interrupt request lines: 0x11 I/O ports: 0x1840-0x187f 0x1c00-0x1cff I/O memory addresses: 0xb0040400-0xb00404ff 0xb0040800-0xb00409ff isab0 pnpinfo vendor=0x8086 device=0x2641 subvendor=0x10f7 subdevice=0x8338 class=0x060100 at slot=31 function=0 handle=\_SB_.PCI0.LPCB I/O memory addresses: 0xfed1c000-0xfed1c003 isa0 pmtimer0 sc0 vga0 I/O ports: 0x3c0-0x3df I/O memory addresses: 0xa0000-0xbffff adv0 aha0 aic0 bt0 cs0 ed0 fdc0 fe0 ie0 lnc0 ppc0 sio0 sio1 sio2 sio3 sn0 vt0 orm0 I/O memory addresses: 0xcf800-0xd07ff 0xdc000-0xdffff 0xe0000-0xeffff ichwd0 ACPI I/O ports: 0x1030-0x1037 0x1060-0x1069 atapci0 pnpinfo vendor=0x8086 device=0x266f subvendor=0x10f7 subdevice=0x8338 class=0x01018a at slot=31 function=1 handle=\_SB_.PCI0.PATA I/O ports: 0x170-0x177 0x1f0-0x1f7 0x376 0x3f6 0x1810-0x181f ata0 Interrupt request lines: 0xe ad0 subdisk0 ata1 Interrupt request lines: 0xf ichsmb0 pnpinfo vendor=0x8086 device=0x266a subvendor=0x10f7 subdevice=0x8338 class=0x0c0500 at slot=31 function=3 handle=\_SB_.PCI0.SBUS I/O ports: 0x18a0-0x18bf smbus0 smb0 acpi_sysresource0 pnpinfo _HID=PNP0C02 _UID=4096 at handle=\_SB_.PCI0.OPRM unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.GFX0.CRT1 unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.GFX0.LCD1 unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.USB2 unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.USB3 unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.USB4 unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.MODM acpi_sysresource1 pnpinfo _HID=PNP0C02 _UID=31 at handle=\_SB_.PCI0.LPCB.MBRD atdma0 pnpinfo _HID=PNP0200 _UID=0 at handle=\_SB_.PCI0.LPCB.DMAC unknown pnpinfo _HID=INT0800 _UID=0 at handle=\_SB_.PCI0.LPCB.FWHD unknown pnpinfo _HID=PNP0103 _UID=0 at handle=\_SB_.PCI0.LPCB.HPET atpic0 pnpinfo _HID=PNP0000 _UID=0 at handle=\_SB_.PCI0.LPCB.IPIC npxisa0 pnpinfo _HID=PNP0C04 _UID=0 at handle=\_SB_.PCI0.LPCB.MATH acpi_sysresource2 pnpinfo _HID=PNP0C02 _UID=1 at handle=\_SB_.PCI0.LPCB.MBD0 unknown pnpinfo _HID=PNP0C02 _UID=2 at handle=\_SB_.PCI0.LPCB.MBD1 attimer0 pnpinfo _HID=PNP0B00 _UID=0 at handle=\_SB_.PCI0.LPCB.RTC_ attimer1 pnpinfo _HID=PNP0100 _UID=0 at handle=\_SB_.PCI0.LPCB.TIMR unknown pnpinfo _HID=PNP0800 _UID=0 at handle=\_SB_.PCI0.LPCB.SPKR unknown pnpinfo _HID=IFX0101 _UID=1 at handle=\_SB_.PCI0.LPCB.TPM_ acpi_ec0 pnpinfo _HID=PNP0C09 _UID=0 at handle=\_SB_.PCI0.LPCB.EC0_ I/O ports: 0x62 0x66 unknown pnpinfo _HID=PNP0303 _UID=0 at handle=\_SB_.PCI0.LPCB.K101 atkbdc0 pnpinfo _HID=PNP0320 _UID=0 at handle=\_SB_.PCI0.LPCB.K106 I/O ports: 0x60 0x64 atkbd0 Interrupt request lines: 0x1 psm0 Interrupt request lines: 0xc unknown pnpinfo _HID=PNP0F13 _UID=0 at handle=\_SB_.PCI0.LPCB.MOUS psmcpnp0 pnpinfo _HID=SYN0002 _UID=0 at handle=\_SB_.PCI0.LPCB.MOU3 pci_link0 pnpinfo _HID=PNP0C0F _UID=1 at handle=\_SB_.PCI0.LPCB.LNKA pci_link1 pnpinfo _HID=PNP0C0F _UID=2 at handle=\_SB_.PCI0.LPCB.LNKB pci_link2 pnpinfo _HID=PNP0C0F _UID=3 at handle=\_SB_.PCI0.LPCB.LNKC pci_link3 pnpinfo _HID=PNP0C0F _UID=4 at handle=\_SB_.PCI0.LPCB.LNKD pci_link4 pnpinfo _HID=PNP0C0F _UID=5 at handle=\_SB_.PCI0.LPCB.LNKE pci_link5 pnpinfo _HID=PNP0C0F _UID=6 at handle=\_SB_.PCI0.LPCB.LNKF pci_link6 pnpinfo _HID=PNP0C0F _UID=7 at handle=\_SB_.PCI0.LPCB.LNKG pci_link7 pnpinfo _HID=PNP0C0F _UID=8 at handle=\_SB_.PCI0.LPCB.LNKH unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.PATA.PRID unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.PATA.PRID.P_D0 unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.PATA.PRID.P_D1 acpi_tz0 pnpinfo _HID=none _UID=0 at handle=\_TZ_.TZC_ acpi_timer0 pnpinfo unknown at unknown ACPI I/O ports: 0x1008-0x100b --Multipart=_Wed__20_Jun_2007_02_31_51_+0900_KZTwyrG_5maCpUc3 Content-Type: text/plain; name="CF-R4.asl" Content-Disposition: attachment; filename="CF-R4.asl" Content-Transfer-Encoding: base64 LyoNCiAgUlNEIFBUUjogT0VNPVBUTFRELCBBQ1BJX1Jldj0xLjB4ICgwKQ0KCVJTRFQ9MHgzZjZl MzBhYSwgY2tzdW09MTc4DQogKi8NCi8qDQogIFJTRFQ6IExlbmd0aD02NCwgUmV2aXNpb249MSwg Q2hlY2tzdW09MjQ1LA0KCU9FTUlEPVBUTFRELCBPRU0gVGFibGUgSUQ9ICBSU0RULCBPRU0gUmV2 aXNpb249MHg2MDQwMDAwLA0KCUNyZWF0b3IgSUQ9IExUUCwgQ3JlYXRvciBSZXZpc2lvbj0weDAN CglFbnRyaWVzPXsgMHgzZjZlN2U3OCwgMHgzZjZlN2VmYywgMHgzZjZlN2ZkOCwgMHgzZjZlN2Y5 YywgMHgzZjZlMzRlNywgMHgzZjZlMzMwOSwgMHgzZjZlMzBlYSB9DQogKi8NCi8qDQogIEZBQ1A6 IExlbmd0aD0xMzIsIFJldmlzaW9uPTIsIENoZWNrc3VtPTIxMCwNCglPRU1JRD1NQVRCSU8sIE9F TSBUYWJsZSBJRD1DRlI0LTMsIE9FTSBSZXZpc2lvbj0weDYwNDAwMDAsDQoJQ3JlYXRvciBJRD1N RUksIENyZWF0b3IgUmV2aXNpb249MHgxDQogCUZBQ1M9MHgzZjZlOGZjMCwgRFNEVD0weDNmNmUz OTMwDQoJSU5UX01PREVMPVBJQw0KCVByZWZlcnJlZF9QTV9Qcm9maWxlPVVuc3BlY2lmaWVkICgw KQ0KCVNDSV9JTlQ9OQ0KCVNNSV9DTUQ9MHhiMiwgQUNQSV9FTkFCTEU9MHhmMCwgQUNQSV9ESVNB QkxFPTB4ZjEsIFM0QklPU19SRVE9MHgwDQoJUFNUQVRFX0NOVD0weDgwDQoJUE0xYV9FVlRfQkxL PTB4MTAwMC0weDEwMDMNCglQTTFhX0NOVF9CTEs9MHgxMDA0LTB4MTAwNQ0KCVBNMl9DTlRfQkxL PTB4MTAyMC0weDEwMjANCglQTV9UTVJfQkxLPTB4MTAwOC0weDEwMGINCglHUEUwX0JMSz0weDEw MjgtMHgxMDJmDQoJQ1NUX0NOVD0weDg1DQoJUF9MVkwyX0xBVD0xIHVzLCBQX0xWTDNfTEFUPTg1 IHVzDQoJRkxVU0hfU0laRT0wLCBGTFVTSF9TVFJJREU9MA0KCURVVFlfT0ZGU0VUPTEsIERVVFlf V0lEVEg9Mw0KCURBWV9BTFJNPTEzLCBNT05fQUxSTT0wLCBDRU5UVVJZPTUwDQoJSUFQQ19CT09U X0FSQ0g9ezgwNDJ9DQoJRmxhZ3M9e1dCSU5WRCxQUk9DX0MxLFNMUF9CVVRUT04sUlRDX1M0LFJF U0VUX1JFR30NCglSRVNFVF9SRUc9MHhiMjowWzhdIChJTyksIFJFU0VUX1ZBTFVFPTB4YjQNCiAq Lw0KLyoNCiAgRkFDUzoJTGVuZ3RoPTY0LCBId1NpZz0weDAwMDAwMDAwLCBGaXJtX1dha2VfVmVj PTB4MDAwMDAwMDANCglHbG9iYWxfTG9jaz0NCglGbGFncz0NCglWZXJzaW9uPTANCiAqLw0KLyoN CiAgRFNEVDogTGVuZ3RoPTE3NzM2LCBSZXZpc2lvbj0xLCBDaGVja3N1bT0xNDIsDQoJT0VNSUQ9 TUFUQklPLCBPRU0gVGFibGUgSUQ9Q0ZSNC0zLCBPRU0gUmV2aXNpb249MHg2MDQwMDAwLA0KCUNy ZWF0b3IgSUQ9TVNGVCwgQ3JlYXRvciBSZXZpc2lvbj0weDEwMDAwMGUNCiAqLw0KLyoNCiAgQVBJ QzogTGVuZ3RoPTk4LCBSZXZpc2lvbj0xLCBDaGVja3N1bT04LA0KCU9FTUlEPU1BVEJJTywgT0VN IFRhYmxlIElEPUNGUjQtMywgT0VNIFJldmlzaW9uPTB4NjA0MDAwMCwNCglDcmVhdG9yIElEPU1F SSwgQ3JlYXRvciBSZXZpc2lvbj0weDENCglMb2NhbCBBUElDIEFERFI9MHhmZWUwMDAwMA0KCUZs YWdzPXtQQy1BVH0NCg0KCVR5cGU9TG9jYWwgQVBJQw0KCUFDUEkgQ1BVPTANCglGbGFncz17RU5B QkxFRH0NCglBUElDIElEPTANCg0KCVR5cGU9TG9jYWwgQVBJQw0KCUFDUEkgQ1BVPTENCglGbGFn cz17RElTQUJMRUR9DQoJQVBJQyBJRD0xDQoNCglUeXBlPUlPIEFQSUMNCglBUElDIElEPTENCglJ TlQgQkFTRT0wDQoJQUREUj0weDAwMDAwMDAwZmVjMDAwMDANCg0KCVR5cGU9SU5UIE92ZXJyaWRl DQoJQlVTPTANCglJUlE9MA0KCUlOVFI9Mg0KCUZsYWdzPXtQb2xhcml0eT1jb25mb3JtaW5nLCBU cmlnZ2VyPWNvbmZvcm1pbmd9DQoNCglUeXBlPUlOVCBPdmVycmlkZQ0KCUJVUz0wDQoJSVJRPTkN CglJTlRSPTkNCglGbGFncz17UG9sYXJpdHk9YWN0aXZlLWhpLCBUcmlnZ2VyPWxldmVsfQ0KDQoJ VHlwZT1Mb2NhbCBOTUkNCglBQ1BJIENQVT0wDQoJTElOVCBQaW49MQ0KCUZsYWdzPXtQb2xhcml0 eT1hY3RpdmUtaGksIFRyaWdnZXI9ZWRnZX0NCiAqLw0KLyoNCiAgQk9PVDogTGVuZ3RoPTQwLCBS ZXZpc2lvbj0xLCBDaGVja3N1bT0xNTQsDQoJT0VNSUQ9UFRMVEQsIE9FTSBUYWJsZSBJRD0kU0JG VEJMJCwgT0VNIFJldmlzaW9uPTB4NjA0MDAwMCwNCglDcmVhdG9yIElEPSBMVFAsIENyZWF0b3Ig UmV2aXNpb249MHgxDQogKi8NCi8qDQogIE1DRkc6IExlbmd0aD02MCwgUmV2aXNpb249MSwgQ2hl Y2tzdW09ODYsDQoJT0VNSUQ9TUFUQklPLCBPRU0gVGFibGUgSUQ9Q0ZSNC0zLCBPRU0gUmV2aXNp b249MHg2MDQwMDAwLA0KCUNyZWF0b3IgSUQ9TUVJLCBDcmVhdG9yIFJldmlzaW9uPTB4MQ0KDQoJ QmFzZSBBZGRyZXNzPSAweDAwMDAwMDAwZTAwMDAwMDANCglTZWdtZW50IEdyb3VwPSAweDAwMDAN CglTdGFydCBCdXM9IDANCglFbmQgQnVzPSAyNTUNCiAqLw0KLyoNCiAgU1NEVDogTGVuZ3RoPTU2 NSwgUmV2aXNpb249MSwgQ2hlY2tzdW09MTIsDQoJT0VNSUQ9UG1SZWYsIE9FTSBUYWJsZSBJRD1D cHUwSXN0LCBPRU0gUmV2aXNpb249MHgzMDAwLA0KCUNyZWF0b3IgSUQ9SU5UTCwgQ3JlYXRvciBS ZXZpc2lvbj0weDIwMDMwMjI0DQogKi8NCi8qDQogIFNTRFQ6IExlbmd0aD00NzgsIFJldmlzaW9u PTEsIENoZWNrc3VtPTEyOCwNCglPRU1JRD1QbVJlZiwgT0VNIFRhYmxlIElEPUNwdTBDc3QsIE9F TSBSZXZpc2lvbj0weDMwMDEsDQoJQ3JlYXRvciBJRD1JTlRMLCBDcmVhdG9yIFJldmlzaW9uPTB4 MjAwMzAyMjQNCiAqLw0KLyoNCiAgU1NEVDogTGVuZ3RoPTU0MywgUmV2aXNpb249MSwgQ2hlY2tz dW09MzUsDQoJT0VNSUQ9UG1SZWYsIE9FTSBUYWJsZSBJRD1DcHVQbSwgT0VNIFJldmlzaW9uPTB4 MzAwMCwNCglDcmVhdG9yIElEPUlOVEwsIENyZWF0b3IgUmV2aXNpb249MHgyMDAzMDIyNA0KICov DQovKg0KICogSW50ZWwgQUNQSSBDb21wb25lbnQgQXJjaGl0ZWN0dXJlDQogKiBBTUwgRGlzYXNz ZW1ibGVyIHZlcnNpb24gMjAwNDExMTkNCiAqDQogKiBEaXNhc3NlbWJseSBvZiAvdG1wL2FjcGlk dW1wLmtMT3p4cCwgV2VkIEp1biAyMCAwMTo0Mzo0NSAyMDA3DQogKi8NCkRlZmluaXRpb25CbG9j ayAoIkRTRFQuYW1sIiwgIkRTRFQiLCAxLCAiTUFUQklPIiwgIkNGUjQtMyIsIDEwMDkyNTQ0MCkN CnsNCiAgICBTY29wZSAoX1NCKQ0KICAgIHsNCiAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChTTUkw LCBTeXN0ZW1JTywgMHgwMDAwRkUwMCwgMHgwMDAwMDAwMikNCiAgICAgICAgRmllbGQgKFNNSTAs IEFueUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkNCiAgICAgICAgew0KICAgICAgICAgICAgU01JQywg ICA4DQogICAgICAgIH0NCg0KICAgICAgICBPcGVyYXRpb25SZWdpb24gKFNNSTEsIFN5c3RlbU1l bW9yeSwgMHgzRjZFOEQ0RCwgMHgwMDAwMDIwMCkNCiAgICAgICAgRmllbGQgKFNNSTEsIEFueUFj YywgTm9Mb2NrLCBQcmVzZXJ2ZSkNCiAgICAgICAgew0KICAgICAgICAgICAgQkNNRCwgICA4LCAN CiAgICAgICAgICAgIERJRCwgICAgMzIsIA0KICAgICAgICAgICAgSU5GTywgICA0MDU2DQogICAg ICAgIH0NCg0KICAgICAgICBGaWVsZCAoU01JMSwgQW55QWNjLCBOb0xvY2ssIFByZXNlcnZlKQ0K ICAgICAgICB7DQogICAgICAgICAgICBPZmZzZXQgKDB4MDUpLCANCiAgICAgICAgICAgIElORiwg ICAgOA0KICAgICAgICB9DQoNCiAgICAgICAgRmllbGQgKFNNSTEsIEFueUFjYywgTm9Mb2NrLCBQ cmVzZXJ2ZSkNCiAgICAgICAgew0KICAgICAgICAgICAgT2Zmc2V0ICgweDA1KSwgDQogICAgICAg ICAgICBJTkZELCAgIDMyDQogICAgICAgIH0NCg0KICAgICAgICBGaWVsZCAoU01JMSwgQW55QWNj LCBOb0xvY2ssIFByZXNlcnZlKQ0KICAgICAgICB7DQogICAgICAgICAgICBPZmZzZXQgKDB4MDUp LCANCiAgICAgICAgICAgIElORlAsICAgMTI4DQogICAgICAgIH0NCg0KICAgICAgICBNdXRleCAo UFNNWCwgMHgwMSkNCiAgICAgICAgTWV0aG9kIChQU1JWLCA1LCBTZXJpYWxpemVkKQ0KICAgICAg ICB7DQogICAgICAgICAgICBBY3F1aXJlIChQU01YLCAweEZGRkYpDQogICAgICAgICAgICBJZiAo QXJnMikNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMywgSU5GTykN CiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgU3RvcmUgKEFyZzEsIERJRCkNCiAgICAgICAg ICAgIFN0b3JlIChBcmcwLCBCQ01EKQ0KICAgICAgICAgICAgU3RvcmUgKDB4MDAsIFNNSUMpDQog ICAgICAgICAgICBJZiAoTEVxdWFsIChBcmc0LCAweDAwKSkNCiAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICBTdG9yZSAoWmVybywgTG9jYWwwKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAg ICAgRWxzZQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzQs IDB4MDEpKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElO RiwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBFbHNlDQogICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmc0LCAweDAz KSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KElORkQsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg ICBFbHNlDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKEFyZzQsIDB4MDQpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChJTkZQLCBMb2NhbDApDQogICAgICAgICAgICAg ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElORk8sIExv Y2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0K ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgUmVsZWFzZSAo UFNNWCkNCiAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQ0KICAgICAgICB9DQoNCiAgICAgICAg TWV0aG9kIChFQ1dSLCAyLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICB7DQogICAgICAgICAgICBB bmQgKEFyZzAsIDB4RkYsIExvY2FsMCkNCiAgICAgICAgICAgIEFuZCAoQXJnMSwgMHhGRiwgTG9j YWwxKQ0KICAgICAgICAgICAgUFNSViAoMHg5OSwgQWRkIChMb2NhbDAsIFNoaWZ0TGVmdCAoTG9j YWwxLCAweDEwKSksIDB4MDAsIDB4MDAsIDB4MDApDQogICAgICAgIH0NCg0KICAgICAgICBNZXRo b2QgKFJSVEMsIDEsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgIHsNCiAgICAgICAgICAgIEFuZCAo QXJnMCwgMHhGRiwgTG9jYWwwKQ0KICAgICAgICAgICAgUmV0dXJuIChQU1JWICgweDkyLCAweDA1 LCAweDAxLCBMb2NhbDAsIDB4MDEpKQ0KICAgICAgICB9DQogICAgfQ0KDQogICAgTWV0aG9kIChN SU4sIDIsIE5vdFNlcmlhbGl6ZWQpDQogICAgew0KICAgICAgICBJZiAoTExlc3MgKEFyZzAsIEFy ZzEpKQ0KICAgICAgICB7DQogICAgICAgICAgICBSZXR1cm4gKEFyZzApDQogICAgICAgIH0NCiAg ICAgICAgRWxzZQ0KICAgICAgICB7DQogICAgICAgICAgICBSZXR1cm4gKEFyZzEpDQogICAgICAg IH0NCiAgICB9DQoNCiAgICBNZXRob2QgKFNMRU4sIDEsIE5vdFNlcmlhbGl6ZWQpDQogICAgew0K ICAgICAgICBSZXR1cm4gKFNpemVPZiAoQXJnMCkpDQogICAgfQ0KDQogICAgTWV0aG9kIChTMkJG LCAxLCBTZXJpYWxpemVkKQ0KICAgIHsNCiAgICAgICAgQWRkIChTTEVOIChBcmcwKSwgT25lLCBM b2NhbDApDQogICAgICAgIE5hbWUgKEJVRkYsIEJ1ZmZlciAoTG9jYWwwKSB7fSkNCiAgICAgICAg U3RvcmUgKEFyZzAsIEJVRkYpDQogICAgICAgIFJldHVybiAoQlVGRikNCiAgICB9DQoNCiAgICBN ZXRob2QgKFNDTVAsIDIsIE5vdFNlcmlhbGl6ZWQpDQogICAgew0KICAgICAgICBTdG9yZSAoUzJC RiAoQXJnMCksIExvY2FsMCkNCiAgICAgICAgU3RvcmUgKFMyQkYgKEFyZzEpLCBMb2NhbDEpDQog ICAgICAgIFN0b3JlIChaZXJvLCBMb2NhbDQpDQogICAgICAgIFN0b3JlIChTTEVOIChBcmcwKSwg TG9jYWw1KQ0KICAgICAgICBTdG9yZSAoU0xFTiAoQXJnMSksIExvY2FsNikNCiAgICAgICAgU3Rv cmUgKE1JTiAoTG9jYWw1LCBMb2NhbDYpLCBMb2NhbDcpDQogICAgICAgIFdoaWxlIChMTGVzcyAo TG9jYWw0LCBMb2NhbDcpKQ0KICAgICAgICB7DQogICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAo SW5kZXggKExvY2FsMCwgTG9jYWw0KSksIExvY2FsMikNCiAgICAgICAgICAgIFN0b3JlIChEZXJl Zk9mIChJbmRleCAoTG9jYWwxLCBMb2NhbDQpKSwgTG9jYWwzKQ0KICAgICAgICAgICAgSWYgKExH cmVhdGVyIChMb2NhbDIsIExvY2FsMykpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg UmV0dXJuIChPbmUpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBFbHNlDQogICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgSWYgKExMZXNzIChMb2NhbDIsIExvY2FsMykpDQogICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE9uZXMpDQogICAgICAgICAg ICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBJbmNyZW1lbnQgKExvY2FsNCkN CiAgICAgICAgfQ0KDQogICAgICAgIElmIChMTGVzcyAoTG9jYWw0LCBMb2NhbDUpKQ0KICAgICAg ICB7DQogICAgICAgICAgICBSZXR1cm4gKE9uZSkNCiAgICAgICAgfQ0KICAgICAgICBFbHNlDQog ICAgICAgIHsNCiAgICAgICAgICAgIElmIChMTGVzcyAoTG9jYWw0LCBMb2NhbDYpKQ0KICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgIFJldHVybiAoT25lcykNCiAgICAgICAgICAgIH0NCiAg ICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4gKFpl cm8pDQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBOYW1lIChPU0lELCAw eDAwKQ0KICAgIE1ldGhvZCAoQ0tPUywgMCwgTm90U2VyaWFsaXplZCkNCiAgICB7DQogICAgICAg IElmIChPU0lEKQ0KICAgICAgICB7DQogICAgICAgICAgICBSZXR1cm4gKE9TSUQpDQogICAgICAg IH0NCg0KICAgICAgICBJZiAoQ29uZFJlZk9mIChcX09TSSwgTG9jYWwwKSkNCiAgICAgICAgew0K ICAgICAgICAgICAgU3RvcmUgKDB4ODIsIE9TSUQpDQogICAgICAgIH0NCiAgICAgICAgRWxzZQ0K ICAgICAgICB7DQogICAgICAgICAgICBJZiAoTEVxdWFsIChTQ01QIChcX09TLCAiTWljcm9zb2Z0 IFdpbmRvd3MgTlQiKSwgWmVybykpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgU3Rv cmUgKDB4ODEsIE9TSUQpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBFbHNlDQogICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoU0NNUCAoXF9PUywgIk1pY3Jvc29m dCBXaW5kb3dzIiksIFplcm8pKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MDEsIE9TSUQpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg IEVsc2UNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwg KFNDTVAgKFxfT1MsICJNaWNyb3NvZnQgV2luZG93c01FOiBNaWxsZW5uaXVtIEVkaXRpb24iKSwg WmVybykpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweDAyLCBPU0lEKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg ICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4RkYsIE9TSUQpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg ICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBSZXR1cm4gKE9TSUQpDQog ICAgfQ0KDQogICAgU2NvcGUgKFwpDQogICAgew0KICAgICAgICBOYW1lIChXVEhULCBaZXJvKQ0K ICAgICAgICBOYW1lIChBUElDLCBPbmUpDQogICAgICAgIE5hbWUgKEdWM0UsIE9uZSkNCiAgICAg ICAgTmFtZSAoSFRURSwgWmVybykNCiAgICB9DQoNCiAgICBNZXRob2QgKEdJTkksIDAsIE5vdFNl cmlhbGl6ZWQpDQogICAgew0KICAgICAgICBTdG9yZSAoXF9TQi5QU1JWICgweEM5LCAweDAxLCAw eDAxLCAweDAxLCAweDAzKSwgQVBJQykNCiAgICAgICAgU3RvcmUgKFxfU0IuUFNSViAoMHhDOSwg MHgwMSwgMHgwMSwgMHgwMiwgMHgwMyksIEdWM0UpDQogICAgICAgIFN0b3JlIChcX1NCLlBTUlYg KDB4QzksIDB4MDEsIDB4MDEsIDB4MDMsIDB4MDMpLCBIVFRFKQ0KICAgIH0NCg0KICAgIE1ldGhv ZCAoUE5PVCwgMCwgU2VyaWFsaXplZCkNCiAgICB7DQogICAgICAgIElmIChIVFRFKQ0KICAgICAg ICB7DQogICAgICAgICAgICBJZiAoTEVxdWFsIChBbmQgKFBEQzAsIDB4MEEpLCAweDBBKSkNCiAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBOb3RpZnkgKFxfUFIuQ1BVMCwgMHg4MCkNCiAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgSWYgKExFcXVhbCAoQW5kIChQREMxLCAweDBBKSwg MHgwQSkpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgTm90aWZ5IChcX1BSLkNQVTEs IDB4ODApDQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgRWxzZQ0KICAgICAgICB7 DQogICAgICAgICAgICBOb3RpZnkgKFxfUFIuQ1BVMCwgMHg4MCkNCiAgICAgICAgICAgIFNsZWVw ICgweDY0KQ0KICAgICAgICAgICAgTm90aWZ5IChcX1BSLkNQVTAsIDB4ODEpDQogICAgICAgIH0N Cg0KICAgICAgICBOb3RpZnkgKFxfU0IuQkFUQSwgMHg4MCkNCiAgICB9DQoNCiAgICBTY29wZSAo XCkNCiAgICB7DQogICAgICAgIE5hbWUgKEdURjAsIEJ1ZmZlciAoMHgwNykge30pDQogICAgICAg IE5hbWUgKEdURjIsIEJ1ZmZlciAoMHgwNykge30pDQogICAgICAgIE5hbWUgKElERU0sIFplcm8p DQogICAgfQ0KDQogICAgTWV0aG9kIChBSU5JLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgIHsNCiAg ICAgICAgU3RvcmUgKFxfU0IuUFNSViAoMHg5NCwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMyksIElE RU0pDQogICAgfQ0KDQogICAgTWV0aG9kIChHRVRQLCAxLCBTZXJpYWxpemVkKQ0KICAgIHsNCiAg ICAgICAgSWYgKExFcXVhbCAoQW5kIChBcmcwLCAweDA5KSwgMHgwMCkpDQogICAgICAgIHsNCiAg ICAgICAgICAgIFJldHVybiAoMHhGRkZGRkZGRikNCiAgICAgICAgfQ0KDQogICAgICAgIElmIChM RXF1YWwgKEFuZCAoQXJnMCwgMHgwOSksIDB4MDgpKQ0KICAgICAgICB7DQogICAgICAgICAgICBS ZXR1cm4gKDB4MDM4NCkNCiAgICAgICAgfQ0KDQogICAgICAgIFNoaWZ0UmlnaHQgKEFuZCAoQXJn MCwgMHgwMzAwKSwgMHgwOCwgTG9jYWwwKQ0KICAgICAgICBTaGlmdFJpZ2h0IChBbmQgKEFyZzAs IDB4MzAwMCksIDB4MEMsIExvY2FsMSkNCiAgICAgICAgUmV0dXJuIChNdWx0aXBseSAoMHgxRSwg U3VidHJhY3QgKDB4MDksIEFkZCAoTG9jYWwwLCBMb2NhbDEpKSkpDQogICAgfQ0KDQogICAgTWV0 aG9kIChHRE1BLCA1LCBTZXJpYWxpemVkKQ0KICAgIHsNCiAgICAgICAgSWYgKEFyZzApDQogICAg ICAgIHsNCiAgICAgICAgICAgIElmIChMQW5kIChBcmcxLCBBcmc0KSkNCiAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MTQpDQogICAgICAgICAgICB9DQoNCiAgICAgICAg ICAgIElmIChMQW5kIChBcmcyLCBBcmc0KSkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICBSZXR1cm4gKE11bHRpcGx5IChTdWJ0cmFjdCAoMHgwNCwgQXJnMyksIDB4MEYpKQ0KICAgICAg ICAgICAgfQ0KDQogICAgICAgICAgICBSZXR1cm4gKE11bHRpcGx5IChTdWJ0cmFjdCAoMHgwNCwg QXJnMyksIDB4MUUpKQ0KICAgICAgICB9DQoNCiAgICAgICAgUmV0dXJuICgweEZGRkZGRkZGKQ0K ICAgIH0NCg0KICAgIE1ldGhvZCAoR0VUVCwgMSwgU2VyaWFsaXplZCkNCiAgICB7DQogICAgICAg IFJldHVybiAoTXVsdGlwbHkgKDB4MUUsIFN1YnRyYWN0ICgweDA5LCBBZGQgKEFuZCAoU2hpZnRS aWdodCAoQXJnMCwgMHgwMiksIDB4MDMpLCBBbmQgKEFyZzAsIDB4MDMpKSkpKQ0KICAgIH0NCg0K ICAgIE1ldGhvZCAoR0VURiwgMywgU2VyaWFsaXplZCkNCiAgICB7DQogICAgICAgIE5hbWUgKFRN UEYsIDB4MDApDQogICAgICAgIElmIChBcmcwKQ0KICAgICAgICB7DQogICAgICAgICAgICBPciAo VE1QRiwgMHgwMSwgVE1QRikNCiAgICAgICAgfQ0KDQogICAgICAgIElmIChBbmQgKEFyZzIsIDB4 MDIpKQ0KICAgICAgICB7DQogICAgICAgICAgICBPciAoVE1QRiwgMHgwMiwgVE1QRikNCiAgICAg ICAgfQ0KDQogICAgICAgIElmIChBcmcxKQ0KICAgICAgICB7DQogICAgICAgICAgICBPciAoVE1Q RiwgMHgwNCwgVE1QRikNCiAgICAgICAgfQ0KDQogICAgICAgIElmIChBbmQgKEFyZzIsIDB4MjAp KQ0KICAgICAgICB7DQogICAgICAgICAgICBPciAoVE1QRiwgMHgwOCwgVE1QRikNCiAgICAgICAg fQ0KDQogICAgICAgIElmIChBbmQgKEFyZzIsIDB4NDAwMCkpDQogICAgICAgIHsNCiAgICAgICAg ICAgIE9yIChUTVBGLCAweDEwLCBUTVBGKQ0KICAgICAgICB9DQoNCiAgICAgICAgUmV0dXJuIChU TVBGKQ0KICAgIH0NCg0KICAgIE1ldGhvZCAoU0VUUCwgMywgU2VyaWFsaXplZCkNCiAgICB7DQog ICAgICAgIElmIChMR3JlYXRlciAoQXJnMCwgMHhGMCkpDQogICAgICAgIHsNCiAgICAgICAgICAg IFJldHVybiAoMHgwOCkNCiAgICAgICAgfQ0KICAgICAgICBFbHNlDQogICAgICAgIHsNCiAgICAg ICAgICAgIElmIChBbmQgKEFyZzEsIDB4MDIpKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgIElmIChMQW5kIChMTm90IChMR3JlYXRlciAoQXJnMCwgMHg3OCkpLCBBbmQgKEFyZzIsIDB4 MDIpKSkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgy MzAxKQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIElmIChMQW5kIChMTm90 IChMR3JlYXRlciAoQXJnMCwgMHhCNCkpLCBBbmQgKEFyZzIsIDB4MDEpKSkNCiAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgyMTAxKQ0KICAgICAgICAgICAg ICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgUmV0dXJuICgweDEwMDEpDQogICAg ICAgIH0NCiAgICB9DQoNCiAgICBNZXRob2QgKFNETUEsIDEsIFNlcmlhbGl6ZWQpDQogICAgew0K ICAgICAgICBJZiAoTE5vdCAoTEdyZWF0ZXIgKEFyZzAsIDB4MTQpKSkNCiAgICAgICAgew0KICAg ICAgICAgICAgUmV0dXJuICgweDAxKQ0KICAgICAgICB9DQoNCiAgICAgICAgSWYgKExOb3QgKExH cmVhdGVyIChBcmcwLCAweDFFKSkpDQogICAgICAgIHsNCiAgICAgICAgICAgIFJldHVybiAoMHgw MikNCiAgICAgICAgfQ0KDQogICAgICAgIElmIChMTm90IChMR3JlYXRlciAoQXJnMCwgMHgyRCkp KQ0KICAgICAgICB7DQogICAgICAgICAgICBSZXR1cm4gKDB4MDEpDQogICAgICAgIH0NCg0KICAg ICAgICBJZiAoTE5vdCAoTEdyZWF0ZXIgKEFyZzAsIDB4M0MpKSkNCiAgICAgICAgew0KICAgICAg ICAgICAgUmV0dXJuICgweDAyKQ0KICAgICAgICB9DQoNCiAgICAgICAgSWYgKExOb3QgKExHcmVh dGVyIChBcmcwLCAweDVBKSkpDQogICAgICAgIHsNCiAgICAgICAgICAgIFJldHVybiAoMHgwMSkN CiAgICAgICAgfQ0KDQogICAgICAgIFJldHVybiAoMHgwMCkNCiAgICB9DQoNCiAgICBNZXRob2Qg KFNFVFQsIDMsIFNlcmlhbGl6ZWQpDQogICAgew0KICAgICAgICBJZiAoQW5kIChBcmcxLCAweDAy KSkNCiAgICAgICAgew0KICAgICAgICAgICAgSWYgKExBbmQgKExOb3QgKExHcmVhdGVyIChBcmcw LCAweDc4KSksIEFuZCAoQXJnMiwgMHgwMikpKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgIFJldHVybiAoMHgwQikNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgSWYgKExBbmQg KExOb3QgKExHcmVhdGVyIChBcmcwLCAweEI0KSksIEFuZCAoQXJnMiwgMHgwMSkpKQ0KICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgIFJldHVybiAoMHgwOSkNCiAgICAgICAgICAgIH0NCiAg ICAgICAgfQ0KDQogICAgICAgIFJldHVybiAoMHgwNCkNCiAgICB9DQoNCiAgICBPcGVyYXRpb25S ZWdpb24gKFJDUkIsIFN5c3RlbU1lbW9yeSwgMHhGRUQxQzAwMCwgMHg0MDAwKQ0KICAgIEZpZWxk IChSQ1JCLCBEV29yZEFjYywgTG9jaywgUHJlc2VydmUpDQogICAgew0KICAgICAgICBPZmZzZXQg KDB4MTAwMCksIA0KICAgICAgICBPZmZzZXQgKDB4MzAwMCksIA0KICAgICAgICBPZmZzZXQgKDB4 MzQwNCksIA0KICAgICAgICBIUEFTLCAgIDIsIA0KICAgICAgICAgICAgLCAgIDUsIA0KICAgICAg ICBIUEFFLCAgIDEsIA0KICAgICAgICBPZmZzZXQgKDB4MzQxOCksIA0KICAgICAgICAgICAgLCAg IDEsIA0KICAgICAgICBQQVRELCAgIDEsIA0KICAgICAgICBTQVRELCAgIDEsIA0KICAgICAgICBT TUJELCAgIDEsIA0KICAgICAgICBBWkFELCAgIDEsIA0KICAgICAgICBBOTdELCAgIDEsIA0KICAg ICAgICBPZmZzZXQgKDB4MzQxQSksIA0KICAgICAgICBSUDFELCAgIDEsIA0KICAgICAgICBSUDJE LCAgIDEsIA0KICAgICAgICBSUDNELCAgIDEsIA0KICAgICAgICBSUDRELCAgIDENCiAgICB9DQoN CiAgICBTY29wZSAoXCkNCiAgICB7DQogICAgICAgIE5hbWUgKFBXUlMsIDB4MDEpDQogICAgfQ0K DQogICAgU2NvcGUgKF9TQikNCiAgICB7DQogICAgICAgIE1ldGhvZCAoRUNQRiwgMywgTm90U2Vy aWFsaXplZCkNCiAgICAgICAgew0KICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMTAw KSkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5QQ0kwLkxQQ0Iu RUMwLkVDMDEgKCksIFBXUlMpDQogICAgICAgICAgICAgICAgUmV0dXJuIChQV1JTKQ0KICAgICAg ICAgICAgfQ0KDQogICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAxMDEpKQ0KICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5QQ0kwLkxQQ0IuRUMwLkVDMDIg KEFyZzEpKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAw eDAxMTApKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5QQ0kw LkxQQ0IuRUMwLkVDMDMgKEFyZzEsIEFyZzIpKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICBJZiAoTEVxdWFsIChBcmcwLCAweDAxMTEpKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgIFJldHVybiAoXF9TQi5QQ0kwLkxQQ0IuRUMwLkVDMDQgKEFyZzEsIEFyZzIpKQ0KICAgICAg ICAgICAgfQ0KDQogICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAxMTIpKQ0KICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5QQ0kwLkxQQ0IuRUMwLkVDMDUg KEFyZzEsIEFyZzIpKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBJZiAoTEVxdWFsIChB cmcwLCAweDAyMDApKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIFJldHVybiAoXF9T Qi5QQ0kwLkxQQ0IuRUMwLkVDMDYgKCkpDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIElm IChMRXF1YWwgKEFyZzAsIDB4MDIwMSkpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg UmV0dXJuIChcX1NCLlBDSTAuTFBDQi5FQzAuRUMwNyAoKSkNCiAgICAgICAgICAgIH0NCg0KICAg ICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMjAyKSkNCiAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICBSZXR1cm4gKFxfU0IuUENJMC5MUENCLkVDMC5FQzA4ICgpKQ0KICAgICAgICAg ICAgfQ0KDQogICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAyMDMpKQ0KICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5QQ0kwLkxQQ0IuRUMwLkVDMDkgKCkp DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDIwNCkp DQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLlBDSTAuTFBDQi5F QzAuRUMwQSAoKSkNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJn MCwgMHgwMjA1KSkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0Iu UENJMC5MUENCLkVDMC5FQzBCIChBcmcxKSkNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAg SWYgKExFcXVhbCAoQXJnMCwgMHgwMjA2KSkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICBSZXR1cm4gKFxfU0IuUENJMC5MUENCLkVDMC5FQzBDIChBcmcxKSkNCiAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMjA3KSkNCiAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuUENJMC5MUENCLkVDMC5FQzBEIChBcmcxKSkN CiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMjA4KSkN CiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuUENJMC5MUENCLkVD MC5FQzBFIChBcmcxKSkNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgSWYgKExFcXVhbCAo QXJnMCwgMHgwMjA5KSkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4gKFxf U0IuUENJMC5MUENCLkVDMC5FQzBGIChBcmcxKSkNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAg ICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMjBBKSkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICBSZXR1cm4gKFxfU0IuUENJMC5MUENCLkVDMC5FQzEwIChBcmcxLCBBcmcyKSkNCiAgICAg ICAgICAgIH0NCg0KICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMjE1KSkNCiAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuUENJMC5MUENCLkVDMC5aMDAw ICgpKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBSZXR1cm4gKDB4RkZGRkZGRkYpDQog ICAgICAgIH0NCiAgICB9DQoNCiAgICBTY29wZSAoXF9TQikNCiAgICB7DQogICAgICAgIERldmlj ZSAoTElEKQ0KICAgICAgICB7DQogICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAw QzBEIikpDQogICAgICAgICAgICBOYW1lIChfVUlELCAweDAwKQ0KICAgICAgICAgICAgTWV0aG9k IChfTElELCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg IFJldHVybiAoXF9TQi5FQ1BGICgweDAyMDAsIDB4MDAsIDB4MDApKQ0KICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICBOYW1lIChfUFJXLCBQYWNrYWdlICgweDAyKQ0KICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgIDB4MUIsIA0KICAgICAgICAgICAgICAgIDB4MDQNCiAgICAgICAgICAg IH0pDQogICAgICAgICAgICBNZXRob2QgKF9QU1csIDEsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgXF9TQi5FQ1BGICgweDAyMDcsIEFyZzAsIDB4MDApDQog ICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBTY29wZSAoXF9TQikNCiAgICB7 DQogICAgICAgIE5hbWUgKFxfU0IuQkFTVCwgMHgwMCkNCiAgICAgICAgRGV2aWNlIChCQVRBKQ0K ICAgICAgICB7DQogICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBBIikpDQog ICAgICAgICAgICBOYW1lIChfVUlELCAweDAwKQ0KICAgICAgICAgICAgTmFtZSAoQV9QVSwgMHhG RikNCiAgICAgICAgICAgIE1ldGhvZCAoX0JJRiwgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICBOYW1lIChCSUZSLCBQYWNrYWdlICgweDBEKQ0KICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgDQogICAgICAgICAgICAgICAgICAg IDB4MDAsIA0KICAgICAgICAgICAgICAgICAgICAweDAwLCANCiAgICAgICAgICAgICAgICAgICAg MHgwMCwgDQogICAgICAgICAgICAgICAgICAgIDB4MDAsIA0KICAgICAgICAgICAgICAgICAgICAw eDAwLCANCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgDQogICAgICAgICAgICAgICAgICAgIDB4 MDAsIA0KICAgICAgICAgICAgICAgICAgICAweDAwLCANCiAgICAgICAgICAgICAgICAgICAgQnVm ZmVyICgweDEwKSB7fSwgDQogICAgICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgxMCkge30sIA0K ICAgICAgICAgICAgICAgICAgICBCdWZmZXIgKDB4MTApIHt9LCANCiAgICAgICAgICAgICAgICAg ICAgQnVmZmVyICgweDEwKSB7fQ0KICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAg U3RvcmUgKFxfU0IuRUNQRiAoMHgwMTExLCAweDAwLCAweDAwKSwgQV9QVSkNCiAgICAgICAgICAg ICAgICBTdG9yZSAoQV9QVSwgSW5kZXggKEJJRlIsIDB4MDApKQ0KICAgICAgICAgICAgICAgIElm IChBX1BVKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MDEsIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgV2hpbGUgKExOb3QgKExHcmVhdGVyIChM b2NhbDEsIDB4MDgpKSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKFxfU0IuRUNQRiAoMHgwMTExLCAweDAwLCBMb2NhbDEpLCBJbmRleCAoQklG UiwgTG9jYWwxKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIEluY3JlbWVudCAoTG9jYWwxKQ0K ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg IEVsc2UNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAx LCBMb2NhbDEpDQogICAgICAgICAgICAgICAgICAgIFdoaWxlIChMTm90IChMR3JlYXRlciAoTG9j YWwxLCAweDA4KSkpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChcX1NCLkVDUEYgKDB4MDExMSwgMHgwMCwgTG9jYWwxKSwgTG9jYWwyKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExBbmQgKExOb3QgKExFcXVhbCAoTG9jYWwyLCAweEZG RkZGRkZGKSksIExBbmQgKExOb3QgKExFcXVhbCAoTG9jYWwxLCAweDAzKSksIExOb3QgKExFcXVh bCAoTG9jYWwxLCAweDA0KSkpKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBNdWx0aXBseSAoTG9jYWwyLCAweDBBLCBMb2NhbDIpDQogICAg ICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChM b2NhbDIsIEluZGV4IChCSUZSLCBMb2NhbDEpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSW5j cmVtZW50IChMb2NhbDEpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9 DQoNCiAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5FQ1BGICgweDAxMTEsIDB4MDAsIDB4MDkp LCBJbmRleCAoQklGUiwgMHgwOSkpDQogICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuRUNQRiAo MHgwMTExLCAweDAwLCAweDBBKSwgSW5kZXggKEJJRlIsIDB4MEEpKQ0KICAgICAgICAgICAgICAg IFN0b3JlIChcX1NCLkVDUEYgKDB4MDExMSwgMHgwMCwgMHgwQiksIEluZGV4IChCSUZSLCAweDBC KSkNCiAgICAgICAgICAgICAgICBTdG9yZSAoIlBhbmFzb25pYyIsIEluZGV4IChCSUZSLCAweDBD KSkNCiAgICAgICAgICAgICAgICBSZXR1cm4gKEJJRlIpDQogICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgIE1ldGhvZCAoX0JTVCwgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICBOYW1lIChCU1RSLCBQYWNrYWdlICgweDA0KQ0KICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgDQogICAgICAgICAgICAgICAgICAgIDB4MDAsIA0K ICAgICAgICAgICAgICAgICAgICAweDAwLCANCiAgICAgICAgICAgICAgICAgICAgMHgwMA0KICAg ICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuRUNQRiAoMHgwMTEw LCAweDAwLCAweDAwKSwgSW5kZXggKEJTVFIsIDB4MDApKQ0KICAgICAgICAgICAgICAgIElmIChM R3JlYXRlciAoQV9QVSwgMHgwMSkpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoXF9TQi5FQ1BGICgweDAxMTEsIDB4MDAsIDB4MDApLCBBX1BVKQ0KICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIElmIChBX1BVKQ0KICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuRUNQRiAoMHgwMTEwLCAweDAwLCAw eDAxKSwgSW5kZXggKEJTVFIsIDB4MDEpKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXF9T Qi5FQ1BGICgweDAxMTAsIDB4MDAsIDB4MDIpLCBJbmRleCAoQlNUUiwgMHgwMikpDQogICAgICAg ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgIFN0b3JlIChcX1NCLkVDUEYgKDB4MDExMCwgMHgwMCwgMHgwMSksIExv Y2FsMCkNCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweEZGRkZGRkZG KSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KExvY2FsMCwgSW5kZXggKEJTVFIsIDB4MDEpKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAg ICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKE11bHRpcGx5IChMb2NhbDAsIDB4MEEpLCBJbmRleCAoQlNUUiwg MHgwMSkpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoXF9TQi5FQ1BGICgweDAxMTAsIDB4MDAsIDB4MDIpLCBMb2NhbDApDQogICAgICAgICAgICAg ICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgMHhGRkZGRkZGRikpDQogICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIEluZGV4IChCU1RS LCAweDAyKSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBFbHNl DQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChN dWx0aXBseSAoTG9jYWwwLCAweDBBKSwgSW5kZXggKEJTVFIsIDB4MDIpKQ0KICAgICAgICAgICAg ICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgU3RvcmUgKFxf U0IuRUNQRiAoMHgwMTEwLCAweDAwLCAweDAzKSwgSW5kZXggKEJTVFIsIDB4MDMpKQ0KICAgICAg ICAgICAgICAgIFJldHVybiAoQlNUUikNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgTmFt ZSAoX1BDTCwgUGFja2FnZSAoMHgwMSkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBc X1NCDQogICAgICAgICAgICB9KQ0KICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBTZXJpYWxp emVkKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFxfU0IuRUNQ RiAoMHgwMTAxLCAweDAwLCAweDAwKSwgMHgwMSkpDQogICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKDB4MUYpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAg ICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHgwRikNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAg IE1ldGhvZCAoX0JUUCwgMSwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICBJZiAoTEdyZWF0ZXIgKEFfUFUsIDB4MDEpKQ0KICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuRUNQRiAoMHgwMTExLCAweDAwLCAweDAwKSwg QV9QVSkNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBJZiAoQV9QVSkNCiAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBMb2NhbDEp DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChEaXZpZGUgKEFyZzAsIDB4MEEsICksIExv Y2FsMSkNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBJZiAoTE5vdCAoTExl c3MgKExvY2FsMSwgMHgwMDAxMDAwMCkpKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKFplcm8sIExvY2FsMCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAg ICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKExvY2FsMSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAg IFxfU0IuRUNQRiAoMHgwMTEyLCAweDAwLCBMb2NhbDApDQogICAgICAgICAgICB9DQogICAgICAg IH0NCiAgICB9DQoNCiAgICBTY29wZSAoXF9TQikNCiAgICB7DQogICAgICAgIERldmljZSAoQUMp DQogICAgICAgIHsNCiAgICAgICAgICAgIE5hbWUgKF9ISUQsICJBQ1BJMDAwMyIpDQogICAgICAg ICAgICBOYW1lIChfVUlELCAweDAwKQ0KICAgICAgICAgICAgTWV0aG9kIChfUFNSLCAwLCBOb3RT ZXJpYWxpemVkKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5F Q1BGICgweDAxMDAsIDB4MDAsIDB4MDApKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBO YW1lIChfUENMLCBQYWNrYWdlICgweDAxKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg IFxfU0INCiAgICAgICAgICAgIH0pDQogICAgICAgIH0NCg0KICAgICAgICBNZXRob2QgKEFEQUMs IDAsIFNlcmlhbGl6ZWQpDQogICAgICAgIHsNCiAgICAgICAgICAgIFN0b3JlIChcX1NCLkVDUEYg KDB4MDEwMCwgMHgwMCwgMHgwMCksIExvY2FsMCkNCiAgICAgICAgICAgIFxfU0IuUFNSViAoMHhD OSwgMHgwMywgMHgwMSwgTG9jYWwwLCAweDAwKQ0KICAgICAgICAgICAgUE5PVCAoKQ0KICAgICAg ICB9DQogICAgfQ0KDQogICAgU2NvcGUgKFxfU0IpDQogICAgew0KICAgICAgICBEZXZpY2UgKFBX UkIpDQogICAgICAgIHsNCiAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEMi KSkNCiAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MDApDQogICAgICAgICAgICBNZXRob2QgKF9T VEEsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgUmV0 dXJuICgweDBGKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KDQogICAgU2NvcGUg KFxfU0IpDQogICAgew0KICAgICAgICBEZXZpY2UgKEhLRVkpDQogICAgICAgIHsNCiAgICAgICAg ICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIk1BVDAwMTkiKSkNCiAgICAgICAgICAgIE5hbWUgKFNJ RlIsIFBhY2thZ2UgKDB4MEUpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgMHgwMSwg DQogICAgICAgICAgICAgICAgMHgwMCwgDQogICAgICAgICAgICAgICAgMHgxNSwgDQogICAgICAg ICAgICAgICAgMHgwMSwgDQogICAgICAgICAgICAgICAgMHhGRiwgDQogICAgICAgICAgICAgICAg MHgxNSwgDQogICAgICAgICAgICAgICAgMHgwMSwgDQogICAgICAgICAgICAgICAgMHg3RiwgDQog ICAgICAgICAgICAgICAgMHgwMCwgDQogICAgICAgICAgICAgICAgMHgwMSwgDQogICAgICAgICAg ICAgICAgMHgwMCwgDQogICAgICAgICAgICAgICAgMHgwMCwgDQogICAgICAgICAgICAgICAgMHgw QSwgDQogICAgICAgICAgICAgICAgMHhGRg0KICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIE5h bWUgKEhEQVQsIEJ1ZmZlciAoMHgyMCkge30pDQogICAgICAgICAgICBOYW1lIChISU5QLCBaZXJv KQ0KICAgICAgICAgICAgTmFtZSAoSE9VUCwgWmVybykNCiAgICAgICAgICAgIE11dGV4IChIRE1Y LCAweDAwKQ0KICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgIFJldHVybiAoMHgwRikNCiAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgTWV0aG9kIChfSU5JLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgIEhSRVMgKCkNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAg ICAgTWV0aG9kIChIUkVTLCAwLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgIEFjcXVpcmUgKEhETVgsIDB4RkZGRikNCiAgICAgICAgICAgICAgICBPciAoMHgwMTAw MDAwMCwgMHgwMCwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgIFN0b3JlIChcX1NCLlBTUlYgKDB4 OTYsIDB4MTkwMDM0MzQsIDB4MDEsIExvY2FsMSwgMHgwMyksIExvY2FsMCkNCiAgICAgICAgICAg ICAgICBTdG9yZSAoQW5kIChTaGlmdFJpZ2h0IChMb2NhbDAsIDB4MDgpLCAweEZGKSwgSW5kZXgg KFNJRlIsIDB4MDcpKQ0KICAgICAgICAgICAgICAgIFN0b3JlIChBbmQgKExvY2FsMCwgMHhGRiks IEluZGV4IChTSUZSLCAweDA0KSkNCiAgICAgICAgICAgICAgICBPciAoMHgwMjAwMDAwMCwgMHgw MCwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgIFN0b3JlIChBbmQgKFxfU0IuUFNSViAoMHg5Niwg MHgxOTAwMzQzNCwgMHgwMSwgTG9jYWwxLCAweDAxKSwgMHgwMSksIEluZGV4IChTSUZSLCAweDA4 KSkNCiAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5FQ1BGICgweDAyMTUsIDB4MDAsIDB4MDAp LCBMb2NhbDApDQogICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgwMSwgTG9jYWwwKQ0KICAg ICAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4MDIsIExvY2FsMCkNCiAgICAgICAgICAgICAgICBT dG9yZSAoTG9jYWwwLCBJbmRleCAoU0lGUiwgMHgwQSkpDQogICAgICAgICAgICAgICAgUmVsZWFz ZSAoSERNWCkNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgTWV0aG9kIChIU0FWLCAwLCBT ZXJpYWxpemVkKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIEFjcXVpcmUgKEhETVgs IDB4RkZGRikNCiAgICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKFNJRlIsIDB4 MDQpKSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgIEFkZCAoU2hpZnRMZWZ0IChEZXJlZk9mIChJ bmRleCAoU0lGUiwgMHgwNykpLCAweDA4KSwgTG9jYWwwLCBMb2NhbDApDQogICAgICAgICAgICAg ICAgT3IgKDB4MDEwMDAwMDAsIDB4MDAwMTAwMDAsIExvY2FsMSkNCiAgICAgICAgICAgICAgICBP ciAoTG9jYWwxLCBMb2NhbDAsIExvY2FsMSkNCiAgICAgICAgICAgICAgICBcX1NCLlBTUlYgKDB4 OTYsIDB4MTkwMDM0MzQsIDB4MDEsIExvY2FsMSwgMHgwMykNCiAgICAgICAgICAgICAgICBTdG9y ZSAoQW5kIChEZXJlZk9mIChJbmRleCAoU0lGUiwgMHgwOCkpLCAweDAxKSwgTG9jYWwwKQ0KICAg ICAgICAgICAgICAgIE9yICgweDAyMDAwMDAwLCAweDAwMDEwMDAwLCBMb2NhbDEpDQogICAgICAg ICAgICAgICAgT3IgKExvY2FsMSwgTG9jYWwwLCBMb2NhbDEpDQogICAgICAgICAgICAgICAgXF9T Qi5QU1JWICgweDk2LCAweDE5MDAzNDM0LCAweDAxLCBMb2NhbDEsIDB4MDEpDQogICAgICAgICAg ICAgICAgUmVsZWFzZSAoSERNWCkNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgTWV0aG9k IChISU5ELCAxLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIEFj cXVpcmUgKEhETVgsIDB4RkZGRikNCiAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMCwgSW5kZXgg KEhEQVQsIEhJTlApKQ0KICAgICAgICAgICAgICAgIEluY3JlbWVudCAoSElOUCkNCiAgICAgICAg ICAgICAgICBEaXZpZGUgKEhJTlAsIDB4MjAsIEhJTlApDQogICAgICAgICAgICAgICAgSWYgKExF cXVhbCAoSElOUCwgSE9VUCkpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICBJbmNyZW1lbnQgKEhPVVApDQogICAgICAgICAgICAgICAgICAgIERpdmlkZSAoSE9VUCwgMHgy MCwgSE9VUCkNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBSZWxlYXNlIChI RE1YKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBNZXRob2QgKEhJTkYsIDAsIFNlcmlh bGl6ZWQpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgQWNxdWlyZSAoSERNWCwgMHhG RkZGKQ0KICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEhJTlAsIEhPVVApKQ0KICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIExvY2FsMCkNCiAgICAg ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKERlcmVmT2YgKEluZGV4IChIREFULCBIT1VQKSksIExv Y2FsMCkNCiAgICAgICAgICAgICAgICAgICAgSW5jcmVtZW50IChIT1VQKQ0KICAgICAgICAgICAg ICAgICAgICBEaXZpZGUgKEhPVVAsIDB4MjAsIEhPVVApDQogICAgICAgICAgICAgICAgfQ0KDQog ICAgICAgICAgICAgICAgU3RvcmUgKExOb3QgKExFcXVhbCAoSElOUCwgSE9VUCkpLCBMb2NhbDEp DQogICAgICAgICAgICAgICAgUmVsZWFzZSAoSERNWCkNCiAgICAgICAgICAgICAgICBJZiAoTG9j YWwxKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChcX1NC LkhLRVksIDB4ODApDQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgUmV0dXJu IChMb2NhbDApDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIE1ldGhvZCAoU1FUWSwgMCwg Tm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4gKDB4 MEUpDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIE1ldGhvZCAoU0lORiwgMCwgTm90U2Vy aWFsaXplZCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5FQ1BG ICgweDAyMTUsIDB4MDAsIDB4MDApLCBMb2NhbDApDQogICAgICAgICAgICAgICAgT3IgKExvY2Fs MCwgMHgwMSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4MDIsIExvY2Fs MCkNCiAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBJbmRleCAoU0lGUiwgMHgwQSkpDQog ICAgICAgICAgICAgICAgUmV0dXJuIChTSUZSKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICBNZXRob2QgKFNTRVQsIDIsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgSWYgKExPciAoTEVxdWFsIChBcmcwLCAweDA0KSwgTEVxdWFsIChBcmcwLCAweDA3KSkp DQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMSwgSW5k ZXggKFNJRlIsIEFyZzApKQ0KICAgICAgICAgICAgICAgICAgICBPciAoMHgwNDAwMDAwMCwgMHgw MDAyMDAwMCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICBPciAoTG9jYWwwLCBBcmcxLCBM b2NhbDApDQogICAgICAgICAgICAgICAgICAgIFxfU0IuUFNSViAoMHg5NiwgMHgxOTAwMzQzNCwg MHgwMSwgTG9jYWwwLCAweDAzKQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKEFyZzAsIDB4MDgpKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKEFyZzEsIEluZGV4IChTSUZSLCBBcmcwKSkNCiAgICAgICAgICAgICAg ICAgICAgXF9TQi5FQ1BGICgweDAyMDksIEFyZzEsIDB4MDApDQogICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHg4MCkpDQogICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcxLCAweDAxKSkNCiAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4RTIwMSwg TG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIEVsc2UN CiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 RTIwMCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAg ICAgXF9TQi5FQ1BGICgweDAyMDgsIEFyZzEsIDB4MDApDQogICAgICAgICAgICAgICAgfQ0KDQog ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwRCkpDQogICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMSwgSW5kZXggKFNJRlIsIEFyZzApKQ0K ICAgICAgICAgICAgICAgICAgICBPciAoMHgwNDAwMDAwMCwgMHgwMDAzMDAwMCwgTG9jYWwwKQ0K ICAgICAgICAgICAgICAgICAgICBPciAoTG9jYWwwLCBBcmcxLCBMb2NhbDApDQogICAgICAgICAg ICAgICAgICAgIFxfU0IuUFNSViAoMHg5NiwgMHgxOTAwMzQzNCwgMHgwMSwgTG9jYWwwLCAweDAz KQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgTWV0aG9k IChIQUNULCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg IE5vdGlmeSAoUFdSQiwgMHg4MCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCg0K ICAgIFNjb3BlIChcX1BSKQ0KICAgIHsNCiAgICAgICAgUHJvY2Vzc29yIChDUFUwLCAweDAwLCAw eDAwMDAxMDEwLCAweDA2KSB7fQ0KICAgICAgICBQcm9jZXNzb3IgKENQVTEsIDB4MDEsIDB4MDAw MDEwMTAsIDB4MDYpIHt9DQogICAgfQ0KDQogICAgU2NvcGUgKFxfVFopDQogICAgew0KICAgICAg ICBUaGVybWFsWm9uZSAoVFpDKQ0KICAgICAgICB7DQogICAgICAgICAgICBOYW1lIChJTklULCBa ZXJvKQ0KICAgICAgICAgICAgTmFtZSAoQ1NDUCwgWmVybykNCiAgICAgICAgICAgIE5hbWUgKFBT ViwgMHgwRENBKQ0KICAgICAgICAgICAgTmFtZSAoQ1JULCAweDBFMkUpDQogICAgICAgICAgICBN ZXRob2QgKElOSVAsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoSU5JVCwgWmVybykpDQogICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5FQ1BGICgweDAyMDQsIFplcm8sIFplcm8pLCBDUlQp DQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChcX1NCLkVDUEYgKDB4MDIwMywgWmVybywgWmVy byksIFBTVikNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuRUNQRiAoMHgwMjAyLCBa ZXJvLCBaZXJvKSwgX1RDMikNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgSU5JVCkN CiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIE5hbWUgKF9U QzEsIFplcm8pDQogICAgICAgICAgICBOYW1lIChfVEMyLCAweDBDKQ0KICAgICAgICAgICAgTmFt ZSAoX1RTUCwgMHgyOCkNCiAgICAgICAgICAgIE1ldGhvZCAoX1RNUCwgMCwgTm90U2VyaWFsaXpl ZCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5FQ1BGICgweDAy MDEsIFplcm8sIFplcm8pLCBMb2NhbDApDQogICAgICAgICAgICAgICAgSWYgKExHcmVhdGVyIChM b2NhbDAsIENSVCkpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBcX1NC LlBTUlYgKDB4OUMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDApDQogICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApDQogICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgIE1ldGhvZCAoX1BTViwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICBcX1RaLlRaQy5JTklQICgpDQogICAgICAgICAgICAgICAgUmV0dXJuIChQ U1YpDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIE1ldGhvZCAoX1BTTCwgMCwgU2VyaWFs aXplZCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBJZiAoSFRURSkNCiAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIFJldHVybiAoUGFja2FnZSAoMHgwMikNCiAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgXF9QUi5DUFUwLCAN CiAgICAgICAgICAgICAgICAgICAgICAgIFxfUFIuQ1BVMQ0KICAgICAgICAgICAgICAgICAgICB9 KQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIFJldHVybiAoUGFja2FnZSAo MHgwMSkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIFxfUFIuQ1BVMA0K ICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIE1ldGhvZCAo X0NSVCwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBc X1RaLlRaQy5JTklQICgpDQogICAgICAgICAgICAgICAgUmV0dXJuIChDUlQpDQogICAgICAgICAg ICB9DQoNCiAgICAgICAgICAgIE1ldGhvZCAoX1NDUCwgMSwgTm90U2VyaWFsaXplZCkNCiAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMCwgQ1NDUCkNCiAgICAgICAgICAg ICAgICBTdG9yZSAoWmVybywgSU5JVCkNCiAgICAgICAgICAgICAgICBcX1RaLlRaQy5JTklQICgp DQogICAgICAgICAgICAgICAgTm90aWZ5IChcX1RaLlRaQywgMHg4MSkNCiAgICAgICAgICAgIH0N CiAgICAgICAgfQ0KICAgIH0NCg0KICAgIFNjb3BlIChcX1NJKQ0KICAgIHsNCiAgICAgICAgTWV0 aG9kIChfU1NULCAxLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICB7DQogICAgICAgICAgICBJZiAo TEFuZCAoTE5vdCAoTEVxdWFsIChBcmcwLCAweDA0KSksIExOb3QgKExFcXVhbCAoQXJnMCwgMHgw MCkpKSkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBcX1NCLlBTUlYgKDB4OTIsIDB4 MDEsIDB4MDEsIEFyZzAsIDB4MDApDQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQoN CiAgICBOYW1lIChfUzAsIFBhY2thZ2UgKDB4MDMpDQogICAgew0KICAgICAgICAweDAwLCANCiAg ICAgICAgMHgwMCwgDQogICAgICAgIDB4MDANCiAgICB9KQ0KICAgIE5hbWUgKF9TMywgUGFja2Fn ZSAoMHgwMykNCiAgICB7DQogICAgICAgIDB4MDUsIA0KICAgICAgICAweDA1LCANCiAgICAgICAg MHgwMA0KICAgIH0pDQogICAgTmFtZSAoX1M0LCBQYWNrYWdlICgweDAzKQ0KICAgIHsNCiAgICAg ICAgMHgwNiwgDQogICAgICAgIDB4MDYsIA0KICAgICAgICAweDAwDQogICAgfSkNCiAgICBOYW1l IChfUzUsIFBhY2thZ2UgKDB4MDMpDQogICAgew0KICAgICAgICAweDA3LCANCiAgICAgICAgMHgw NywgDQogICAgICAgIDB4MDANCiAgICB9KQ0KICAgIE5hbWUgKEZXU08sICJGV1NPIikNCiAgICBN ZXRob2QgKF9XQUssIDEsIE5vdFNlcmlhbGl6ZWQpDQogICAgew0KICAgICAgICBcX1NCLlBTUlYg KDB4OTIsIDB4MDMsIDB4MDEsIFxDS09TICgpLCAweDAwKQ0KICAgICAgICBJZiAoTE9yIChMRXF1 YWwgKEFyZzAsIDB4MDQpLCBMRXF1YWwgKEFyZzAsIDB4MDMpKSkNCiAgICAgICAgew0KICAgICAg ICAgICAgU3RvcmUgKFxfU0IuUFNSViAoMHg5MywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMyksIExv Y2FsMCkNCiAgICAgICAgICAgIElmIChMT3IgKExFcXVhbCAoTG9jYWwwLCAweDA2KSwgTEVxdWFs IChMb2NhbDAsIDB4MDEpKSkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBOb3RpZnkg KFxfU0IuUFdSQiwgMHgwMikNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIElm IChMQW5kIChMTm90IChMTGVzcyAoQXJnMCwgMHgwMykpLCBMTm90IChMR3JlYXRlciAoQXJnMCwg MHgwNSkpKSkNCiAgICAgICAgew0KICAgICAgICAgICAgXF9TQi5IS0VZLkhSRVMgKCkNCiAgICAg ICAgfQ0KDQogICAgICAgIFxfU0IuRUNQRiAoMHgwMjA2LCAweDAwLCAweDAwKQ0KICAgICAgICBT dG9yZSAoXF9TQi5FQ1BGICgweDAxMDEsIDB4MDAsIDB4MDApLCBMb2NhbDApDQogICAgICAgIElm IChYT3IgKFxfU0IuQkFTVCwgTG9jYWwwKSkNCiAgICAgICAgew0KICAgICAgICAgICAgSWYgKExF cXVhbCAoTG9jYWwwLCAweDAxKSkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBOb3Rp ZnkgKFxfU0IuQkFUQSwgMHgwMCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIEVsc2UNCiAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuQkFUQSwgMHgwMSkNCiAg ICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIFxfU0IuQURBQyAoKQ0KICAgICAgICBc X1NCLlBTUlYgKDB4QjgsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDApDQogICAgICAgIFJldHVybiAo UGFja2FnZSAoMHgwMikNCiAgICAgICAgew0KICAgICAgICAgICAgMHgwMCwgDQogICAgICAgICAg ICAweDAwDQogICAgICAgIH0pDQogICAgfQ0KDQogICAgU2NvcGUgKF9HUEUpDQogICAgew0KICAg ICAgICBNZXRob2QgKF9MMEIsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgIHsNCiAgICAgICAg ICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlBDSUIsIDB4MDIpDQogICAgICAgIH0NCg0KICAgICAgICBN ZXRob2QgKF9MMUIsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgIHsNCiAgICAgICAgICAgIE5v dGlmeSAoXF9TQi5MSUQsIDB4MDIpDQogICAgICAgIH0NCiAgICB9DQoNCiAgICBTY29wZSAoXF9T QikNCiAgICB7DQogICAgICAgIE5hbWUgKFxHUElDLCAweDAwKQ0KICAgICAgICBNZXRob2QgKFxf UElDLCAxLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICB7DQogICAgICAgICAgICBTdG9yZSAoQXJn MCwgR1BJQykNCiAgICAgICAgfQ0KDQogICAgICAgIERldmljZSAoUENJMCkNCiAgICAgICAgew0K ICAgICAgICAgICAgTWV0aG9kIChfSU5JLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgIFxfU0IuUFNSViAoMHg5MiwgMHgwMywgMHgwMSwgXENLT1MgKCks IDB4MDApDQogICAgICAgICAgICAgICAgR0lOSSAoKQ0KICAgICAgICAgICAgICAgIEFJTkkgKCkN CiAgICAgICAgICAgICAgICBcX1NCLlBTUlYgKDB4QjgsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAp DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBB MDgiKSkNCiAgICAgICAgICAgIE5hbWUgKF9DSUQsIDB4MDMwQUQwNDEpDQogICAgICAgICAgICBO YW1lIChfQURSLCAweDAwKQ0KICAgICAgICAgICAgTmFtZSAoX0JCTiwgMHgwMCkNCiAgICAgICAg ICAgIE9wZXJhdGlvblJlZ2lvbiAoSEJVUywgUENJX0NvbmZpZywgMHg0MCwgMHhDMCkNCiAgICAg ICAgICAgIEZpZWxkIChIQlVTLCBEV29yZEFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkNCiAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NTApLCANCiAgICAgICAgICAgICAgICAg ICAgLCAgIDQsIA0KICAgICAgICAgICAgICAgIFBNMEgsICAgMiwgDQogICAgICAgICAgICAgICAg T2Zmc2V0ICgweDUxKSwgDQogICAgICAgICAgICAgICAgUE0xTCwgICAyLCANCiAgICAgICAgICAg ICAgICAgICAgLCAgIDIsIA0KICAgICAgICAgICAgICAgIFBNMUgsICAgMiwgDQogICAgICAgICAg ICAgICAgT2Zmc2V0ICgweDUyKSwgDQogICAgICAgICAgICAgICAgUE0yTCwgICAyLCANCiAgICAg ICAgICAgICAgICAgICAgLCAgIDIsIA0KICAgICAgICAgICAgICAgIFBNMkgsICAgMiwgDQogICAg ICAgICAgICAgICAgT2Zmc2V0ICgweDUzKSwgDQogICAgICAgICAgICAgICAgUE0zTCwgICAyLCAN CiAgICAgICAgICAgICAgICAgICAgLCAgIDIsIA0KICAgICAgICAgICAgICAgIFBNM0gsICAgMiwg DQogICAgICAgICAgICAgICAgT2Zmc2V0ICgweDU0KSwgDQogICAgICAgICAgICAgICAgUE00TCwg ICAyLCANCiAgICAgICAgICAgICAgICAgICAgLCAgIDIsIA0KICAgICAgICAgICAgICAgIFBNNEgs ICAgMiwgDQogICAgICAgICAgICAgICAgT2Zmc2V0ICgweDU1KSwgDQogICAgICAgICAgICAgICAg UE01TCwgICAyLCANCiAgICAgICAgICAgICAgICAgICAgLCAgIDIsIA0KICAgICAgICAgICAgICAg IFBNNUgsICAgMiwgDQogICAgICAgICAgICAgICAgT2Zmc2V0ICgweDU2KSwgDQogICAgICAgICAg ICAgICAgUE02TCwgICAyLCANCiAgICAgICAgICAgICAgICAgICAgLCAgIDIsIA0KICAgICAgICAg ICAgICAgIFBNNkgsICAgMiwgDQogICAgICAgICAgICAgICAgT2Zmc2V0ICgweDU3KSwgDQogICAg ICAgICAgICAgICAgICAgICwgICA3LCANCiAgICAgICAgICAgICAgICBIRU5BLCAgIDEsIA0KICAg ICAgICAgICAgICAgIE9mZnNldCAoMHg1QyksIA0KICAgICAgICAgICAgICAgICAgICAsICAgMywg DQogICAgICAgICAgICAgICAgVE9VRCwgICA1DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAg IE5hbWUgKEJVRjAsIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICBXb3JkQnVzTnVtYmVyIChSZXNvdXJjZVByb2R1Y2VyLCBNaW5GaXhlZCwgTWF4Rml4 ZWQsIFBvc0RlY29kZSwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwLA0KICAgICAgICAgICAg ICAgICAgICAweDAwMDAsDQogICAgICAgICAgICAgICAgICAgIDB4MDBGRiwNCiAgICAgICAgICAg ICAgICAgICAgMHgwMDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAxMDAsIDB4MDApDQogICAg ICAgICAgICAgICAgRFdvcmRJTyAoUmVzb3VyY2VQcm9kdWNlciwgTWluRml4ZWQsIE1heEZpeGVk LCBQb3NEZWNvZGUsIEVudGlyZVJhbmdlLA0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAw LA0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLA0KICAgICAgICAgICAgICAgICAgICAw eDAwMDAwQ0Y3LA0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLA0KICAgICAgICAgICAg ICAgICAgICAweDAwMDAwQ0Y4LCAweDAwKQ0KICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwg MHgwQ0Y4LCAweDBDRjgsIDB4MDEsIDB4MDgpDQogICAgICAgICAgICAgICAgRFdvcmRJTyAoUmVz b3VyY2VQcm9kdWNlciwgTWluRml4ZWQsIE1heEZpeGVkLCBQb3NEZWNvZGUsIEVudGlyZVJhbmdl LA0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLA0KICAgICAgICAgICAgICAgICAgICAw eDAwMDAwRDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAwMDBGRkZGLA0KICAgICAgICAgICAg ICAgICAgICAweDAwMDAwMDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAwMDBGMzAwLCAweDAw KQ0KICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNv ZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsDQogICAgICAgICAg ICAgICAgICAgIDB4MDAwMDAwMDAsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwQTAwMDAsDQog ICAgICAgICAgICAgICAgICAgIDB4MDAwQkZGRkYsDQogICAgICAgICAgICAgICAgICAgIDB4MDAw MDAwMDAsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwMjAwMDAsIDB4MDApDQogICAgICAgICAg ICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQs IE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwNCiAgICAgICAgICAgICAgICAgICAgMHgw MDAwMDAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDBDMDAwMCwNCiAgICAgICAgICAgICAg ICAgICAgMHgwMDBDM0ZGRiwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwNCiAgICAg ICAgICAgICAgICAgICAgMHgwMDAwNDAwMCwgMHgwMCkNCiAgICAgICAgICAgICAgICBEV29yZE1l bW9yeSAoUmVzb3VyY2VQcm9kdWNlciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIENh Y2hlYWJsZSwgUmVhZFdyaXRlLA0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLA0KICAg ICAgICAgICAgICAgICAgICAweDAwMEM0MDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAwMEM3 RkZGLA0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLA0KICAgICAgICAgICAgICAgICAg ICAweDAwMDA0MDAwLCAweDAwKQ0KICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJj ZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFk V3JpdGUsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsDQogICAgICAgICAgICAgICAg ICAgIDB4MDAwQzgwMDAsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwQ0JGRkYsDQogICAgICAg ICAgICAgICAgICAgIDB4MDAwMDAwMDAsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDQwMDAs IDB4MDApDQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBv c0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwNCiAgICAg ICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDBDQzAw MCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDBDRkZGRiwNCiAgICAgICAgICAgICAgICAgICAg MHgwMDAwMDAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwNDAwMCwgMHgwMCkNCiAgICAg ICAgICAgICAgICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQcm9kdWNlciwgUG9zRGVjb2RlLCBNaW5G aXhlZCwgTWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRlLA0KICAgICAgICAgICAgICAgICAg ICAweDAwMDAwMDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAwMEQwMDAwLA0KICAgICAgICAg ICAgICAgICAgICAweDAwMEQzRkZGLA0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLA0K ICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAweDAwKQ0KICAgICAgICAgICAgICAgIERX b3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhl ZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAs DQogICAgICAgICAgICAgICAgICAgIDB4MDAwRDQwMDAsDQogICAgICAgICAgICAgICAgICAgIDB4 MDAwRDdGRkYsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsDQogICAgICAgICAgICAg ICAgICAgIDB4MDAwMDQwMDAsIDB4MDApDQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJl c291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUs IFJlYWRXcml0ZSwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwNCiAgICAgICAgICAg ICAgICAgICAgMHgwMDBEODAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDBEQkZGRiwNCiAg ICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAw NDAwMCwgMHgwMCkNCiAgICAgICAgICAgICAgICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQcm9kdWNl ciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRlLA0K ICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAw MERDMDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAwMERGRkZGLA0KICAgICAgICAgICAgICAg ICAgICAweDAwMDAwMDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAweDAwKQ0K ICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUs IE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsDQogICAgICAgICAgICAg ICAgICAgIDB4MDAwMDAwMDAsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwRTAwMDAsDQogICAg ICAgICAgICAgICAgICAgIDB4MDAwRTNGRkYsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAw MDAsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDQwMDAsIDB4MDApDQogICAgICAgICAgICAg ICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1h eEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAw MDAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDBFNDAwMCwNCiAgICAgICAgICAgICAgICAg ICAgMHgwMDBFN0ZGRiwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwNCiAgICAgICAg ICAgICAgICAgICAgMHgwMDAwNDAwMCwgMHgwMCkNCiAgICAgICAgICAgICAgICBEV29yZE1lbW9y eSAoUmVzb3VyY2VQcm9kdWNlciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIENhY2hl YWJsZSwgUmVhZFdyaXRlLA0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLA0KICAgICAg ICAgICAgICAgICAgICAweDAwMEU4MDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAwMEVCRkZG LA0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLA0KICAgICAgICAgICAgICAgICAgICAw eDAwMDA0MDAwLCAweDAwKQ0KICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVBy b2R1Y2VyLCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3Jp dGUsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsDQogICAgICAgICAgICAgICAgICAg IDB4MDAwRUMwMDAsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwRUZGRkYsDQogICAgICAgICAg ICAgICAgICAgIDB4MDAwMDAwMDAsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDQwMDAsIDB4 MDApDQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0Rl Y29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwNCiAgICAgICAg ICAgICAgICAgICAgMHgwMDAwMDAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDBGMDAwMCwN CiAgICAgICAgICAgICAgICAgICAgMHgwMDBGRkZGRiwNCiAgICAgICAgICAgICAgICAgICAgMHgw MDAwMDAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgMHgwMCkNCiAgICAgICAg ICAgICAgICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQcm9kdWNlciwgUG9zRGVjb2RlLCBNaW5GaXhl ZCwgTWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRlLA0KICAgICAgICAgICAgICAgICAgICAw eDAwMDAwMDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLA0KICAgICAgICAgICAg ICAgICAgICAweEZFQkZGRkZGLA0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLA0KICAg ICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAwKQ0KICAgICAgICAgICAgfSkNCiAgICAg ICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICBJZiAoUE0xTCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4ODAsIEMwTE4pDQogICAgICAgICAgICAgICAg ICAgIFN0b3JlIChaZXJvLCBDMExOKQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAg ICAgIElmIChMRXF1YWwgKFBNMUwsIDB4MDEpKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKEJVRjAsIDB4MDM3OCwgQzBSVykNCiAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFplcm8sIEMwUlcpDQogICAgICAgICAgICAgICAgfQ0KDQogICAg ICAgICAgICAgICAgSWYgKFBNMUgpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCAweDlCLCBDNExOKQ0KICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoWmVybywgQzRMTikNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChQTTFILCAweDAxKSkNCiAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAweDA0NTAsIEM0UlcpDQogICAgICAg ICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBDNFJXKQ0KICAgICAgICAgICAgICAgIH0NCg0KICAg ICAgICAgICAgICAgIElmIChQTTJMKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHhCNiwgQzhMTikNCiAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKFplcm8sIEM4TE4pDQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoUE0yTCwgMHgwMSkpDQogICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoQlVGMCwgMHgwNTI4LCBDOFJXKQ0KICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQzhSVykNCiAgICAgICAgICAgICAgICB9DQoNCiAg ICAgICAgICAgICAgICBJZiAoUE0ySCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4RDEsIENDTE4pDQogICAgICAgICAgICAg ICAgICAgIFN0b3JlIChaZXJvLCBDQ0xOKQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAg ICAgICAgIElmIChMRXF1YWwgKFBNMkgsIDB4MDEpKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKEJVRjAsIDB4MDYwMCwgQ0NSVykNCiAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIENDUlcpDQogICAgICAgICAgICAgICAgfQ0KDQog ICAgICAgICAgICAgICAgSWYgKFBNM0wpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCAweEVDLCBEMExOKQ0KICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoWmVybywgRDBMTikNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAg ICAgICAgICBJZiAoTEVxdWFsIChQTTNMLCAweDAxKSkNCiAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAweDA2RDgsIEQwUlcpDQogICAg ICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBEMFJXKQ0KICAgICAgICAgICAgICAgIH0NCg0K ICAgICAgICAgICAgICAgIElmIChQTTNIKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMTA3LCBENExOKQ0KICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoWmVybywgRDRMTikNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChQTTNILCAweDAxKSkNCiAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAweDA3QjAsIEQ0UlcpDQog ICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBENFJXKQ0KICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgIElmIChQTTRMKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMTIyLCBEOExOKQ0KICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoWmVybywgRDhMTikNCiAgICAgICAgICAgICAgICB9DQoNCiAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChQTTRMLCAweDAxKSkNCiAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAweDA4ODgsIEQ4Ulcp DQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBEOFJXKQ0KICAgICAgICAgICAgICAg IH0NCg0KICAgICAgICAgICAgICAgIElmIChQTTRIKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMTNELCBEQ0xOKQ0KICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgRENMTikNCiAgICAgICAgICAgICAgICB9DQoN CiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChQTTRILCAweDAxKSkNCiAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAweDA5NjAsIERD UlcpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBEQ1JXKQ0KICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgIElmIChQTTVMKQ0KICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMTU4LCBFMExOKQ0K ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgRTBMTikNCiAgICAgICAgICAgICAgICB9 DQoNCiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChQTTVMLCAweDAxKSkNCiAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAweDBBMzgs IEUwUlcpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBFMFJXKQ0KICAgICAgICAg ICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIElmIChQTTVIKQ0KICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMTczLCBFNExO KQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgRTRMTikNCiAgICAgICAgICAgICAg ICB9DQoNCiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChQTTVILCAweDAxKSkNCiAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAweDBC MTAsIEU0UlcpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBFNFJXKQ0KICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIElmIChQTTZMKQ0KICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMThFLCBF OExOKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgRThMTikNCiAgICAgICAgICAg ICAgICB9DQoNCiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChQTTZMLCAweDAxKSkNCiAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAw eDBCRTgsIEU4UlcpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBFOFJXKQ0KICAg ICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIElmIChQTTZIKQ0KICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMUE5 LCBFQ0xOKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgRUNMTikNCiAgICAgICAg ICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChQTTZILCAweDAxKSkNCiAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYw LCAweDBDQzAsIEVDUlcpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBFQ1JXKQ0K ICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIElmIChQTTBIKQ0KICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgw MUM0LCBGMExOKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgRjBMTikNCiAgICAg ICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChQTTBILCAweDAxKSkN CiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChC VUYwLCAweDBEOTgsIEYwUlcpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBGMFJX KQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KEJVRjAsIDB4MDFEMywgTTFNTikNCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChC VUYwLCAweDAxRDcsIE0xTVgpDQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVG MCwgMHgwMURGLCBNMUxOKQ0KICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoVE9VRCwgMHgxQiwg TTFNTikNCiAgICAgICAgICAgICAgICBBZGQgKFN1YnRyYWN0IChNMU1YLCBNMU1OKSwgMHgwMSwg TTFMTikNCiAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRjApDQogICAgICAgICAgICB9DQoNCiAg ICAgICAgICAgIERldmljZSAoT1BSTSkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBO YW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzAyIikpDQogICAgICAgICAgICAgICAgTmFtZSAoX1VJ RCwgMHgxMDAwKQ0KICAgICAgICAgICAgICAgIE5hbWUgKFJTUkMsIFJlc291cmNlVGVtcGxhdGUg KCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQg KFJlYWRPbmx5LCAweDAwMDAwMDAwLCAweDAwMDAwMDAwKQ0KICAgICAgICAgICAgICAgIH0pDQog ICAgICAgICAgICAgICAgTWV0aG9kIChJU1NELCAxLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDMsIExvY2FsMCkNCiAgICAg ICAgICAgICAgICAgICAgSWYgKEFuZCAoQXJnMCwgMHg0MDAwKSkNCiAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MzAsIExvY2FsMCkNCiAgICAg ICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChTaGlmdFJpZ2h0 IChTdWJ0cmFjdCAoQXJnMCwgMHgwMDBDMDAwMCksIDB4MEYpLCBMb2NhbDEpDQogICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMSwgMHgwMCkpDQogICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIEFkZCAoTXVsdGlwbHkgKFxfU0IuUENJMC5QTTFI LCAweDEwKSwgXF9TQi5QQ0kwLlBNMUwsIExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMSwgMHgwMSkpDQogICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIEFkZCAoTXVsdGlwbHkgKFxf U0IuUENJMC5QTTJILCAweDEwKSwgXF9TQi5QQ0kwLlBNMkwsIExvY2FsMikNCiAgICAgICAgICAg ICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMSwgMHgw MikpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIEFkZCAo TXVsdGlwbHkgKFxfU0IuUENJMC5QTTNILCAweDEwKSwgXF9TQi5QQ0kwLlBNM0wsIExvY2FsMikN CiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwg KExvY2FsMSwgMHgwMykpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgIEFkZCAoTXVsdGlwbHkgKFxfU0IuUENJMC5QTTRILCAweDEwKSwgXF9TQi5QQ0kwLlBN NEwsIExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKExvY2FsMSwgMHgwNCkpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgIEFkZCAoTXVsdGlwbHkgKFxfU0IuUENJMC5QTTVILCAweDEwKSwg XF9TQi5QQ0kwLlBNNUwsIExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMSwgMHgwNSkpDQogICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIEFkZCAoTXVsdGlwbHkgKFxfU0IuUENJMC5Q TTZILCAweDEwKSwgXF9TQi5QQ0kwLlBNNkwsIExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAg fQ0KDQogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQW5kIChMb2NhbDIsIExvY2FsMCkpDQog ICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgTWV0aG9kIChST01TLCAxLCBOb3RT ZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgSWYgKElT U0QgKEFyZzApKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICBPcGVyYXRpb25SZWdpb24gKFhST00sIFN5c3RlbU1lbW9yeSwgQXJnMCwgMHgwNCkNCiAgICAg ICAgICAgICAgICAgICAgICAgIEZpZWxkIChYUk9NLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZl KQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IFNJRywgICAgMTYsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNJWiwgICAgOA0KICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChTSUcsIDB4QUE1NSkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChNdWx0aXBseSAoU0laLCAweDAyMDApKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChaZXJvKQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAg ICAgIE1ldGhvZCAoTVJTQywgMiwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgIE5hbWUgKEJVRkYsIEJ1ZmZlciAoU3VidHJhY3QgKFNpemVPZiAoQXJn MCksIDB4MDIpKSB7fSkNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIExvY2FsMCkN CiAgICAgICAgICAgICAgICAgICAgV2hpbGUgKExMZXNzIChMb2NhbDAsIFN1YnRyYWN0IChTaXpl T2YgKEFyZzApLCAweDAyKSkpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChEZXJlZk9mIChJbmRleCAoQXJnMCwgTG9jYWwwKSksIEluZGV4IChC VUZGLCBMb2NhbDApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSW5jcmVtZW50IChMb2NhbDAp DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBDb25jYXRlbmF0 ZSAoQlVGRiwgQXJnMSwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2Fs MSkNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBNZXRob2QgKFJTVkEsIDMs IFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBOYW1l IChGWFJTLCBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRPbmx5LCAweDAwMDAwMDAwLCAw eDAwMDAwMDAwKQ0KICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICBD cmVhdGVEV29yZEZpZWxkIChGWFJTLCAweDA0LCBST01CKQ0KICAgICAgICAgICAgICAgICAgICBD cmVhdGVEV29yZEZpZWxkIChGWFJTLCAweDA4LCBST01MKQ0KICAgICAgICAgICAgICAgICAgICBT dG9yZSAoQXJnMSwgUk9NQikNCiAgICAgICAgICAgICAgICAgICAgU3VidHJhY3QgKEFyZzIsIEFy ZzEsIFJPTUwpDQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzAsIDB4 MDQsIEFCQVMpDQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzAsIDB4 MDgsIEFMRU4pDQogICAgICAgICAgICAgICAgICAgIElmIChMQW5kIChMRXF1YWwgKEFCQVMsIFpl cm8pLCBMRXF1YWwgKEFMRU4sIFplcm8pKSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChGWFJTKQ0KICAgICAgICAgICAgICAgICAgICB9DQoN CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChNUlNDIChBcmcwLCBGWFJTKSkNCiAgICAgICAg ICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBNZXRob2QgKEFMQUQsIDIsIE5vdFNlcmlhbGl6 ZWQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE11bHRp cGx5IChEaXZpZGUgKFN1YnRyYWN0IChBZGQgKEFyZzAsIEFyZzEpLCBPbmUpLCBBcmcxLCApLCBB cmcxKSkNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBNZXRob2QgKE9QUlIs IDEsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoQXJnMCwgTG9jYWw3KQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMDBD MDAwMCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICBXaGlsZSAoTExlc3MgKExvY2FsMCwg MHgwMDBFMDAwMCkpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChST01TIChMb2NhbDApLCBMb2NhbDEpDQogICAgICAgICAgICAgICAgICAgICAg ICBJZiAoTEVxdWFsIChMb2NhbDEsIFplcm8pKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChBTEFEIChMb2NhbDAsIDB4NDAwMCks IExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQUxBRCAoTG9jYWww LCAweDA4MDApLCBMb2NhbDMpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExOb3Qg KExFcXVhbCAoTG9jYWwwLCBMb2NhbDIpKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMQW5kIChMTm90IChMRXF1YWwg KExvY2FsMCwgTG9jYWwzKSksIFJPTVMgKExvY2FsMykpKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo UlNWQSAoTG9jYWw3LCBMb2NhbDAsIExvY2FsMyksIExvY2FsNykNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDMsIExvY2FsMCkNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNl DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChSU1ZBIChMb2NhbDcsIExvY2FsMCwgTG9jYWwyKSwgTG9j YWw3KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAwRTAw MDAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwMDBFMDAwMCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg IEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBBZGQgKExvY2FsMCwgTG9jYWwxLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAg ICB9DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KExvY2FsNykNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBNZXRob2QgKF9D UlMsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKE9QUlIgKFJTUkMpKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg IH0NCg0KICAgICAgICAgICAgTWV0aG9kIChfUFJULCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgIElmIChHUElDKQ0KICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChQSUM0KQ0KICAgICAgICAgICAgICAgIH0NCiAgICAg ICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKFBJQzUpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAg ICAgICBOYW1lIChQSUM0LCBQYWNrYWdlICgweDBBKQ0KICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAweDAwMDJGRkZGLCANCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgDQogICAgICAgICAg ICAgICAgICAgIDB4MDAsIA0KICAgICAgICAgICAgICAgICAgICAweDEwDQogICAgICAgICAgICAg ICAgfSwgDQoNCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQ0KICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgMHgwMDFERkZGRiwgDQogICAgICAgICAgICAgICAgICAg IDB4MDAsIA0KICAgICAgICAgICAgICAgICAgICAweDAwLCANCiAgICAgICAgICAgICAgICAgICAg MHgxNw0KICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgw NCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIDB4MDAxREZGRkYsIA0K ICAgICAgICAgICAgICAgICAgICAweDAxLCANCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgDQog ICAgICAgICAgICAgICAgICAgIDB4MTMNCiAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAweDAwMURGRkZGLCANCiAgICAgICAgICAgICAgICAgICAgMHgwMiwgDQogICAgICAgICAg ICAgICAgICAgIDB4MDAsIA0KICAgICAgICAgICAgICAgICAgICAweDEyDQogICAgICAgICAgICAg ICAgfSwgDQoNCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQ0KICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgMHgwMDFERkZGRiwgDQogICAgICAgICAgICAgICAgICAg IDB4MDMsIA0KICAgICAgICAgICAgICAgICAgICAweDAwLCANCiAgICAgICAgICAgICAgICAgICAg MHgxMA0KICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgw NCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIDB4MDAxRUZGRkYsIA0K ICAgICAgICAgICAgICAgICAgICAweDAwLCANCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgDQog ICAgICAgICAgICAgICAgICAgIDB4MTENCiAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAweDAwMUVGRkZGLCANCiAgICAgICAgICAgICAgICAgICAgMHgwMSwgDQogICAgICAgICAg ICAgICAgICAgIDB4MDAsIA0KICAgICAgICAgICAgICAgICAgICAweDE0DQogICAgICAgICAgICAg ICAgfSwgDQoNCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQ0KICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgMHgwMDFGRkZGRiwgDQogICAgICAgICAgICAgICAgICAg IDB4MDAsIA0KICAgICAgICAgICAgICAgICAgICAweDAwLCANCiAgICAgICAgICAgICAgICAgICAg MHgxMg0KICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgw NCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIDB4MDAxRkZGRkYsIA0K ICAgICAgICAgICAgICAgICAgICAweDAxLCANCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgDQog ICAgICAgICAgICAgICAgICAgIDB4MTMNCiAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAweDAwMUZGRkZGLCANCiAgICAgICAgICAgICAgICAgICAgMHgwMywgDQogICAgICAgICAg ICAgICAgICAgIDB4MDAsIA0KICAgICAgICAgICAgICAgICAgICAweDEwDQogICAgICAgICAgICAg ICAgfQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIE5hbWUgKFBJQzUsIFBhY2thZ2UgKDB4 MEEpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkNCiAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIDB4MDAwMkZGRkYsIA0KICAgICAgICAg ICAgICAgICAgICAweDAwLCANCiAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5L QSwgDQogICAgICAgICAgICAgICAgICAgIDB4MDANCiAgICAgICAgICAgICAgICB9LCANCg0KICAg ICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAweDAwMURGRkZGLCANCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgDQogICAg ICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0gsIA0KICAgICAgICAgICAgICAgICAg ICAweDAwDQogICAgICAgICAgICAgICAgfSwgDQoNCiAgICAgICAgICAgICAgICBQYWNrYWdlICgw eDA0KQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgMHgwMDFERkZGRiwg DQogICAgICAgICAgICAgICAgICAgIDB4MDEsIA0KICAgICAgICAgICAgICAgICAgICBcX1NCLlBD STAuTFBDQi5MTktELCANCiAgICAgICAgICAgICAgICAgICAgMHgwMA0KICAgICAgICAgICAgICAg IH0sIA0KDQogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkNCiAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgIDB4MDAxREZGRkYsIA0KICAgICAgICAgICAgICAgICAgICAw eDAyLCANCiAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5LQywgDQogICAgICAg ICAgICAgICAgICAgIDB4MDANCiAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgICAg IFBhY2thZ2UgKDB4MDQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAw eDAwMURGRkZGLCANCiAgICAgICAgICAgICAgICAgICAgMHgwMywgDQogICAgICAgICAgICAgICAg ICAgIFxfU0IuUENJMC5MUENCLkxOS0EsIA0KICAgICAgICAgICAgICAgICAgICAweDAwDQogICAg ICAgICAgICAgICAgfSwgDQoNCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQ0KICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgMHgwMDFFRkZGRiwgDQogICAgICAgICAg ICAgICAgICAgIDB4MDAsIA0KICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktC LCANCiAgICAgICAgICAgICAgICAgICAgMHgwMA0KICAgICAgICAgICAgICAgIH0sIA0KDQogICAg ICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgIDB4MDAxRUZGRkYsIA0KICAgICAgICAgICAgICAgICAgICAweDAxLCANCiAgICAg ICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5LRSwgDQogICAgICAgICAgICAgICAgICAg IDB4MDANCiAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4 MDQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAweDAwMUZGRkZGLCAN CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgDQogICAgICAgICAgICAgICAgICAgIFxfU0IuUENJ MC5MUENCLkxOS0MsIA0KICAgICAgICAgICAgICAgICAgICAweDAwDQogICAgICAgICAgICAgICAg fSwgDQoNCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQ0KICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgMHgwMDFGRkZGRiwgDQogICAgICAgICAgICAgICAgICAgIDB4 MDEsIA0KICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktELCANCiAgICAgICAg ICAgICAgICAgICAgMHgwMA0KICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAg UGFja2FnZSAoMHgwNCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIDB4 MDAxRkZGRkYsIA0KICAgICAgICAgICAgICAgICAgICAweDAzLCANCiAgICAgICAgICAgICAgICAg ICAgXF9TQi5QQ0kwLkxQQ0IuTE5LQSwgDQogICAgICAgICAgICAgICAgICAgIDB4MDANCiAgICAg ICAgICAgICAgICB9DQogICAgICAgICAgICB9KQ0KICAgICAgICAgICAgU2NvcGUgKFwpDQogICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgTmFtZSAoQ1NURSwgMHgwMCkNCiAgICAgICAgICAg ICAgICBOYW1lIChOU1RFLCAweDAwKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBEZXZp Y2UgKEdGWDApDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgw MDAyMDAwMCkNCiAgICAgICAgICAgICAgICBNZXRob2QgKF9ET1MsIDEsIE5vdFNlcmlhbGl6ZWQp DQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQW5kIChBcmcw LCAweDAzKSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICBcX1NCLlBTUlYgKDB4QjksIDB4 MjAsIDB4MDEsIExvY2FsMCwgMHgwMCkNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAg ICAgICBNZXRob2QgKF9ET0QsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICBOYW1lIChUTVAyLCBQYWNrYWdlICgweDAyKQ0KICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAweDgwMDAwMTAwLCANCiAgICAg ICAgICAgICAgICAgICAgICAgIDB4ODAwMDA0MTANCiAgICAgICAgICAgICAgICAgICAgfSkNCiAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChUTVAyKQ0KICAgICAgICAgICAgICAgIH0NCg0KICAg ICAgICAgICAgICAgIERldmljZSAoQ1JUMSkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoX0FEUiwgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4ODAwMDAxMDAsIExvY2FsMCkN CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQW5kICgweEZGRkYsIExvY2FsMCkpDQog ICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9EQ1Ms IDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChcX1NCLlBTUlYgKDB4QjksIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDMp LCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChMb2NhbDAsIDB4MDEw MSkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuICgweDFGKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoMHgxRCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0N CiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RH UywgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKE5TVEUsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAg IElmIChBbmQgKExvY2FsMCwgMHgwMTAxKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEpDQogICAgICAgICAgICAgICAg ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAg ICAgICAgICAgICAgTWV0aG9kIChfRFNTLCAxLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBbmQgKEFyZzAs IDB4QzAwMDAwMDApLCAweEMwMDAwMDAwKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTlNURSwgQ1NURSkNCiAgICAgICAgICAg ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgIERldmljZSAoTENEMSkNCiAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgIE1ldGhvZCAoX0FEUiwgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4ODAwMDA0MTAsIExv Y2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQW5kICgweEZGRkYsIExvY2Fs MCkpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2Qg KF9EQ1MsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChcX1NCLlBTUlYgKDB4QjksIDB4MDEsIDB4MDAsIDB4MDAs IDB4MDMpLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChMb2NhbDAs IDB4MDgwOCkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDFGKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg ICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgxRCkNCiAgICAgICAgICAgICAgICAgICAg ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX0RHUywgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKE5TVEUsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAg ICAgICAgIElmIChBbmQgKExvY2FsMCwgMHgwODA4KSkNCiAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEpDQogICAgICAgICAg ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAw KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAg ICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRFNTLCAxLCBOb3RTZXJpYWxpemVkKQ0KICAgICAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBbmQg KEFyZzAsIDB4QzAwMDAwMDApLCAweEMwMDAwMDAwKSkNCiAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTlNURSwgQ1NURSkNCiAgICAg ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg ICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgRGV2aWNlIChVU0IxKQ0KICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAxRDAwMDApDQogICAgICAg ICAgICB9DQoNCiAgICAgICAgICAgIERldmljZSAoVVNCMikNCiAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUQwMDAxKQ0KICAgICAgICAgICAgfQ0KDQogICAg ICAgICAgICBEZXZpY2UgKFVTQjMpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgTmFt ZSAoX0FEUiwgMHgwMDFEMDAwMikNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgRGV2aWNl IChVU0I0KQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAx RDAwMDMpDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIERldmljZSAoRUhDSSkNCiAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUQwMDA3KQ0KICAgICAg ICAgICAgfQ0KDQogICAgICAgICAgICBEZXZpY2UgKFBDSUIpDQogICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDFFMDAwMCkNCiAgICAgICAgICAgICAgICBEZXZp Y2UgKENEQjEpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBOYW1lIChf QURSLCAweDAwMDUwMDAwKQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIERl dmljZSAoTEFOKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAo X0FEUiwgMHgwMDAxMDAwMCkNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1BSVywgUGFja2Fn ZSAoMHgwMikNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAg MHgwQiwgDQogICAgICAgICAgICAgICAgICAgICAgICAweDA0DQogICAgICAgICAgICAgICAgICAg IH0pDQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgTWV0aG9kIChfUFJULCAw LCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg SWYgKEdQSUMpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoUElDNikNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg ICBFbHNlDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoUElDNykNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCg0K ICAgICAgICAgICAgICAgIE5hbWUgKFBJQzYsIFBhY2thZ2UgKDB4MDYpDQogICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQ0KICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDVGRkZGLCANCiAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAsIA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgDQogICAg ICAgICAgICAgICAgICAgICAgICAweDE2DQogICAgICAgICAgICAgICAgICAgIH0sIA0KDQogICAg ICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNUZGRkYsIA0KICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMSwgDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLCANCiAgICAgICAgICAgICAg ICAgICAgICAgIDB4MTQNCiAgICAgICAgICAgICAgICAgICAgfSwgDQoNCiAgICAgICAgICAgICAg ICAgICAgUGFja2FnZSAoMHgwNCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMDA1RkZGRiwgDQogICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAN CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIA0KICAgICAgICAgICAgICAgICAgICAgICAg MHgxNw0KICAgICAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgICAgICAgICBQYWNr YWdlICgweDA0KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICAweDAwMDFGRkZGLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIA0KICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMCwgDQogICAgICAgICAgICAgICAgICAgICAgICAweDEzDQogICAg ICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQp DQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNEZG RkYsIA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgDQogICAgICAgICAgICAgICAgICAg ICAgICAweDAwLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MTUNCiAgICAgICAgICAgICAg ICAgICAgfSwgDQoNCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkNCiAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA0RkZGRiwgDQogICAg ICAgICAgICAgICAgICAgICAgICAweDAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAs IA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgxMw0KICAgICAgICAgICAgICAgICAgICB9DQog ICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICBOYW1lIChQSUM3LCBQYWNrYWdlICgw eDA2KQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgw NCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA1 RkZGRiwgDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLCANCiAgICAgICAgICAgICAgICAg ICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0csIA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgw MA0KICAgICAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdl ICgweDA0KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAw eDAwMDVGRkZGLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIA0KICAgICAgICAgICAg ICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5LRSwgDQogICAgICAgICAgICAgICAgICAgICAg ICAweDAwDQogICAgICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAgICAgIFBh Y2thZ2UgKDB4MDQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAwNUZGRkYsIA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgDQogICAgICAg ICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktILCANCiAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDANCiAgICAgICAgICAgICAgICAgICAgfSwgDQoNCiAgICAgICAgICAgICAgICAg ICAgUGFja2FnZSAoMHgwNCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMDAxRkZGRiwgDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLCANCiAg ICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0QsIA0KICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMA0KICAgICAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAg ICAgICAgICBQYWNrYWdlICgweDA0KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICAweDAwMDRGRkZGLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAs IA0KICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5LRiwgDQogICAgICAg ICAgICAgICAgICAgICAgICAweDAwDQogICAgICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAg ICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDAwNEZGRkYsIA0KICAgICAgICAgICAgICAgICAgICAgICAg MHgwMSwgDQogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktELCANCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDANCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg ICAgICAgICAgIH0pDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIERldmljZSAoQVVEMCkN CiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUUwMDAyKQ0K ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBEZXZpY2UgKE1PRE0pDQogICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDFFMDAwMykNCiAgICAgICAgICAgICAg ICBOYW1lIChfUFJXLCBQYWNrYWdlICgweDAyKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgMHgwNSwgDQogICAgICAgICAgICAgICAgICAgIDB4MDMNCiAgICAgICAgICAg ICAgICB9KQ0KICAgICAgICAgICAgICAgIE5hbWUgKE1QU1csIDB4MDApDQogICAgICAgICAgICAg ICAgTWV0aG9kIChfUFNXLCAxLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKFNoaWZ0TGVmdCAoMHgwMCwgMHgxOCksIExvY2FsMCkN CiAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgQW5kIChfQURSLCAweDAwRkYwMDAwKSwg TG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICBPciAoTG9jYWwwLCBTaGlmdExlZnQgKEFuZCAo X0FEUiwgMHhGRiksIDB4MDgpLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgIE9yIChMb2Nh bDAsIEFyZzAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgTVBT VykNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIERldmlj ZSAoTFBDQikNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAw MUYwMDAwKQ0KICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoTFBDMCwgUENJX0NvbmZp ZywgMHg0MCwgMHhDMCkNCiAgICAgICAgICAgICAgICBGaWVsZCAoTFBDMCwgQW55QWNjLCBOb0xv Y2ssIFByZXNlcnZlKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgUE1C QSwgICAxNiwgDQogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwOCksIA0KICAgICAgICAg ICAgICAgICAgICBHUEJBLCAgIDE2LCANCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDIw KSwgDQogICAgICAgICAgICAgICAgICAgIFBBUkMsICAgOCwgDQogICAgICAgICAgICAgICAgICAg IFBCUkMsICAgOCwgDQogICAgICAgICAgICAgICAgICAgIFBDUkMsICAgOCwgDQogICAgICAgICAg ICAgICAgICAgIFBEUkMsICAgOCwgDQogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgyOCks IA0KICAgICAgICAgICAgICAgICAgICBQRVJDLCAgIDgsIA0KICAgICAgICAgICAgICAgICAgICBQ RlJDLCAgIDgsIA0KICAgICAgICAgICAgICAgICAgICBQR1JDLCAgIDgsIA0KICAgICAgICAgICAg ICAgICAgICBQSFJDLCAgIDgsIA0KICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NDApLCAN CiAgICAgICAgICAgICAgICAgICAgSU9EMCwgICA4LCANCiAgICAgICAgICAgICAgICAgICAgSU9E MSwgICA4LCANCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDQ0KSwgDQogICAgICAgICAg ICAgICAgICAgIEdFTjEsICAgMTYsIA0KICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NDgp LCANCiAgICAgICAgICAgICAgICAgICAgR0VOMiwgICAxNiwgDQogICAgICAgICAgICAgICAgICAg IE9mZnNldCAoMHg2MCksIA0KICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDIsIA0KICAgICAg ICAgICAgICAgICAgICBDUkVOLCAgIDEsIA0KICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4 QjApLCANCiAgICAgICAgICAgICAgICAgICAgUkNCQSwgICAzMg0KICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgIERldmljZSAoTUJSRCkNCiAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMDIiKSkNCiAgICAgICAg ICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgxRikNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAo QlVGMCwgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDkwMCwgMHgwOTAwLCAweDAxLCAweDIw KQ0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDA5MkMsIDB4MDkyQywg MHgwMSwgMHg1NCkNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHhGRTAw LCAweEZFMDAsIDB4MDIsIDB4MDIpDQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChCVUYwLCAw eDAyLCBHMU1OKQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChCVUYw LCAweDA0LCBHMU1YKQ0KICAgICAgICAgICAgICAgICAgICAgICAgQW5kICheXkdFTjEsIDB4RkY4 MCwgRzFNTikNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChHMU1OLCBHMU1YKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUYwKQ0KICAgICAgICAgICAgICAgICAgICB9 DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgRGV2aWNlIChETUFDKQ0KICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgi UE5QMDIwMCIpKQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBs YXRlICgpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElP IChEZWNvZGUxNiwgMHgwMDAwLCAweDAwMDAsIDB4MDEsIDB4MjApDQogICAgICAgICAgICAgICAg ICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDA4MSwgMHgwMDgxLCAweDAxLCAweDExKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwOTMsIDB4MDA5MywgMHgwMSwgMHgw RCkNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMEMwLCAweDAwQzAs IDB4MDEsIDB4MjApDQogICAgICAgICAgICAgICAgICAgICAgICBETUEgKENvbXBhdGliaWxpdHks IE5vdEJ1c01hc3RlciwgVHJhbnNmZXI4XzE2KSB7NH0NCiAgICAgICAgICAgICAgICAgICAgfSkN CiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBEZXZpY2UgKEZXSEQpDQogICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJJ TlQwODAwIikpDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9DUlMsIFJlc291cmNlVGVtcGxh dGUgKCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgTWVt b3J5MzJGaXhlZCAoUmVhZE9ubHksIDB4RkYwMDAwMDAsIDB4MDEwMDAwMDApDQogICAgICAgICAg ICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgRGV2aWNl IChIUEVUKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJ RCwgRWlzYUlkICgiUE5QMDEwMyIpKQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChCVUYwLCBS ZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgIElSUU5vRmxhZ3MgKCkgezB9DQogICAgICAgICAgICAgICAgICAgICAgICBJUlFO b0ZsYWdzICgpIHs4fQ0KICAgICAgICAgICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVh ZE9ubHksIDB4RkVEMDAwMDAsIDB4MDAwMDA0MDApDQogICAgICAgICAgICAgICAgICAgIH0pDQog ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoXENL T1MgKCksIDB4ODIpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElmIChIUEFFKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg ICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoSFBBRSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwQikNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkNCiAgICAgICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFsaXplZCkNCiAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEhQQUUpDQogICAg ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRl RFdvcmRGaWVsZCAoQlVGMCwgMHgwQSwgSFBUMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoTEVxdWFsIChIUEFTLCAweDAxKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweEZFRDAxMDAwLCBIUFQw KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChMRXF1YWwgKEhQQVMsIDB4MDIpKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4RkVEMDIwMDAs IEhQVDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoSFBBUywgMHgwMykpDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHhGRUQw MzAwMCwgSFBUMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg ICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMCkNCiAg ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAg IERldmljZSAoSVBJQykNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIE5h bWUgKF9ISUQsIEVpc2FJZCAoIlBOUDAwMDAiKSkNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAo X0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDAyMCwgMHgwMDIwLCAweDAxLCAweDAy KQ0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwMjQsIDB4MDAyNCwg MHgwMSwgMHgwMikNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDI4 LCAweDAwMjgsIDB4MDEsIDB4MDIpDQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2Rl MTYsIDB4MDAyQywgMHgwMDJDLCAweDAxLCAweDAyKQ0KICAgICAgICAgICAgICAgICAgICAgICAg SU8gKERlY29kZTE2LCAweDAwMzAsIDB4MDAzMCwgMHgwMSwgMHgwMikNCiAgICAgICAgICAgICAg ICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDM0LCAweDAwMzQsIDB4MDEsIDB4MDIpDQogICAg ICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDAzOCwgMHgwMDM4LCAweDAxLCAw eDAyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwM0MsIDB4MDAz QywgMHgwMSwgMHgwMikNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgw MEEwLCAweDAwQTAsIDB4MDEsIDB4MDIpDQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVj b2RlMTYsIDB4MDBBNCwgMHgwMEE0LCAweDAxLCAweDAyKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgSU8gKERlY29kZTE2LCAweDAwQTgsIDB4MDBBOCwgMHgwMSwgMHgwMikNCiAgICAgICAgICAg ICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMEFDLCAweDAwQUMsIDB4MDEsIDB4MDIpDQog ICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDBCMCwgMHgwMEIwLCAweDAx LCAweDAyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwQjQsIDB4 MDBCNCwgMHgwMSwgMHgwMikNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwg MHgwMEI4LCAweDAwQjgsIDB4MDEsIDB4MDIpDQogICAgICAgICAgICAgICAgICAgICAgICBJTyAo RGVjb2RlMTYsIDB4MDBCQywgMHgwMEJDLCAweDAxLCAweDAyKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgSU8gKERlY29kZTE2LCAweDA0RDAsIDB4MDREMCwgMHgwMSwgMHgwMikNCiAgICAgICAg ICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkgezJ9DQogICAgICAgICAgICAgICAgICAgIH0p DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgRGV2aWNlIChNQVRIKQ0KICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgi UE5QMEMwNCIpKQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBs YXRlICgpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElP IChEZWNvZGUxNiwgMHgwMEYwLCAweDAwRjAsIDB4MDEsIDB4MDEpDQogICAgICAgICAgICAgICAg ICAgICAgICBJUlFOb0ZsYWdzICgpIHsxM30NCiAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAg ICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBEZXZpY2UgKE1CRDApDQogICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzAy IikpDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MDEpDQogICAgICAgICAgICAg ICAgICAgIE5hbWUgKEJVRjAsIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwNjMsIDB4MDA2 MywgMHgwMSwgMHgwMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgw MDY1LCAweDAwNjUsIDB4MDEsIDB4MDEpDQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVj b2RlMTYsIDB4MDA2NywgMHgwMDY3LCAweDAxLCAweDAxKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgSU8gKERlY29kZTE2LCAweDAwODAsIDB4MDA4MCwgMHgwMSwgMHgwMSkNCiAgICAgICAgICAg ICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDkyLCAweDAwOTIsIDB4MDEsIDB4MDEpDQog ICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDBCMiwgMHgwMEIyLCAweDAx LCAweDAyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDA4MDAsIDB4 MDgwMCwgMHgwMSwgMHgxMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwg MHgxMDAwLCAweDEwMDAsIDB4MDEsIDB4ODApDQogICAgICAgICAgICAgICAgICAgICAgICBJTyAo RGVjb2RlMTYsIDB4MTE4MCwgMHgxMTgwLCAweDAxLCAweDQwKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLCAweEUwMDAwMDAwLCAweDEwMDAwMDAwKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLCAweEYwMDAw MDAwLCAweDAwMDA0MDAwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAo UmVhZFdyaXRlLCAweEYwMDA0MDAwLCAweDAwMDAxMDAwKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLCAweEYwMDA1MDAwLCAweDAwMDAxMDAwKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLCAweEYwMDA4MDAw LCAweDAwMDA0MDAwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVh ZFdyaXRlLCAweEZFRDIwMDAwLCAweDAwMDcwMDAwKQ0KICAgICAgICAgICAgICAgICAgICB9KQ0K ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAo QlVGMCwgMHgzQSwgUE1NTikNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVs ZCAoQlVGMCwgMHgzQywgUE1NWCkNCiAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoXl5QTUJB LCAweEZGODAsIFBNTU4pDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUE1NTiwgUE1N WCkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQlVGMCwgMHg0Miwg R1BNTikNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQlVGMCwgMHg0 NCwgR1BNWCkNCiAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoXl5HUEJBLCAweEZGQzAsIEdQ TU4pDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR1BNTiwgR1BNWCkNCiAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAg ICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIERldmljZSAoTUJEMSkNCiAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBD MDIiKSkNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwMikNCiAgICAgICAgICAg ICAgICAgICAgTmFtZSAoX0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUs IDB4RkVDMDAwMDAsIDB4MDAwMDEwMDApDQogICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnkz MkZpeGVkIChSZWFkV3JpdGUsIDB4RkVFMDAwMDAsIDB4MDAwMDEwMDApDQogICAgICAgICAgICAg ICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFs aXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKFxDS09TICgpLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE9yIChM RXF1YWwgKExvY2FsMCwgMHgwMSksIExFcXVhbCAoTG9jYWwwLCAweDAyKSkpDQogICAgICAgICAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExPciAoQVBJ QywgSFRURSkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKDB4MDApDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9 DQoNCiAgICAgICAgICAgICAgICBEZXZpY2UgKFJUQykNCiAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBCMDAiKSkNCiAgICAgICAg ICAgICAgICAgICAgTmFtZSAoQlVGMCwgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDA3MCwg MHgwMDcwLCAweDAxLCAweDA4KQ0KICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAg ICAgICAgICBOYW1lIChCVUYxLCBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDcwLCAweDAw NzAsIDB4MDEsIDB4MDgpDQogICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHs4 fQ0KICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9D UlMsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgIElmIChIUEFFKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMCkNCiAgICAgICAgICAgICAgICAgICAgICAg IH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUYxKQ0KICAgICAgICAgICAg ICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgRGV2aWNlIChU SU1SKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwg RWlzYUlkICgiUE5QMDEwMCIpKQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChCVUYwLCBSZXNv dXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDQwLCAweDAwNDAsIDB4MDEsIDB4MDQpDQogICAgICAg ICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDA1MCwgMHgwMDUwLCAweDEwLCAweDA0 KQ0KICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChCVUYx LCBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDQwLCAweDAwNDAsIDB4MDEsIDB4MDQpDQog ICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDA1MCwgMHgwMDUwLCAweDEw LCAweDA0KQ0KICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKSB7MH0NCiAgICAg ICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBT ZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICBJZiAoSFBBRSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKEJVRjApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMSkNCiAgICAgICAgICAgICAgICAgICAg fQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIERldmljZSAoU1BLUikNCiAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAo IlBOUDA4MDAiKSkNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0NSUywgUmVzb3VyY2VUZW1w bGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBJ TyAoRGVjb2RlMTYsIDB4MDA2MSwgMHgwMDYxLCAweDAxLCAweDAxKQ0KICAgICAgICAgICAgICAg ICAgICB9KQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIERldmljZSAoVFBN KQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlz YUlkICgiSUZYMDEwMSIpKQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDAxKQ0K ICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwg MHgwMDRFLCAweDAwNEUsIDB4MDEsIDB4MDIpDQogICAgICAgICAgICAgICAgICAgICAgICBJTyAo RGVjb2RlMTYsIDB4MDkyMCwgMHgwOTIwLCAweDAxLCAweDBDKQ0KICAgICAgICAgICAgICAgICAg ICB9KQ0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQp DQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo XF9TQi5QU1JWICgweENBLCAweDAwLCAweDAwLCAweDAwLCAweDAzKSkNCiAgICAgICAgICAgICAg ICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIE5hbWUgKFxFQ1NU LCAweDAwKQ0KICAgICAgICAgICAgICAgIERldmljZSAoRUMwKQ0KICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwOSIpKQ0KICAg ICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgw MDYyLCAweDAwNjIsIDB4MDAsIDB4MDEpDQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVj b2RlMTYsIDB4MDA2NiwgMHgwMDY2LCAweDAwLCAweDAxKQ0KICAgICAgICAgICAgICAgICAgICB9 KQ0KICAgICAgICAgICAgICAgICAgICBNdXRleCAoRUNFWCwgMHgwMCkNCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfUkVHLCAyLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAzKSkNCiAg ICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoQXJnMSwgRUNTVCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChB cmcxLCAweDAxKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChFQzAxICgpLCBQV1JTKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcX1NCLlBTUlYgKDB4QzksIDB4MDMsIDB4MDEsIFBXUlMsIDB4MDAp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBOT1QgKCkNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg ICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9JTkksIDAsIE5vdFNlcmlh bGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElO STIgKCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE5hbWUg KF9HUEUsIDB4MUQpDQogICAgICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoRUNSLCBF bWJlZGRlZENvbnRyb2wsIDB4MDAsIDB4RkYpDQogICAgICAgICAgICAgICAgICAgIEZpZWxkIChF Q1IsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpDQogICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgIEJSU1QsICAgOCwgDQogICAgICAgICAgICAgICAgICAgICAg ICBDVFJMLCAgIDgsIA0KICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDA0KSwgDQog ICAgICAgICAgICAgICAgICAgICAgICBFQ0NSLCAgIDgsIA0KICAgICAgICAgICAgICAgICAgICAg ICAgREFUMSwgICA4LCANCiAgICAgICAgICAgICAgICAgICAgICAgIERBVDIsICAgOCwgDQogICAg ICAgICAgICAgICAgICAgICAgICBEQVQzLCAgIDgsIA0KICAgICAgICAgICAgICAgICAgICAgICAg T2Zmc2V0ICgweDE3KSwgDQogICAgICAgICAgICAgICAgICAgICAgICBTTFBULCAgIDgNCiAgICAg ICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKExIS1EsIE9uZXMp DQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoSENOViwgMSwgU2VyaWFsaXplZCkNCiAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4RkZGRkZG RkYsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMQW5kIChMTm90IChMTGVz cyAoQXJnMCwgMHgwQSkpLCBMTm90IChMR3JlYXRlciAoQXJnMCwgMHgxNSkpKSkNCiAgICAgICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdWJ0cmFjdCAo QXJnMCwgMHgwOSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQg KDB4MDAsIFNoaWZ0TGVmdCAoMHgwMSwgTG9jYWwwKSkpDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHhGRkZGRkZG RiwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExBbmQgKExOb3QgKExM ZXNzIChBcmcwLCAweDcwKSksIExOb3QgKExHcmVhdGVyIChBcmcwLCAweDdCKSkpKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZCAoQXJn MCwgMHgxMSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1YnRyYWN0IChB cmcwLCAweDZGLCBMb2NhbDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAo MHgwMCwgU2hpZnRMZWZ0ICgweDAxLCBMb2NhbDEpKSkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweEZGRkZGRkZG LCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMSEtRKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo RUM4NiAoMHgyOCksIExIS1EpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoTEhLUSwgTE5vdCAoTEVx dWFsIChMSEtRLCBTdWJ0cmFjdCAoTG9jYWwwLCAweDgwKSkpKSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4RkZGRkZGRkYsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg IH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExBbmQgKExOb3QgKExMZXNzIChBcmcw LCAweDgxKSksIExOb3QgKExHcmVhdGVyIChBcmcwLCAweDgyKSkpKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1YnRyYWN0IChBcmcwLCAw eDUxLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMTm90IChMRXF1YWwgKExvY2FsMCwgMHhGRkZGRkZGRikpKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuSEtF WS5ISU5EIChMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChcX1NC LkhLRVksIDB4ODApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg ICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9RMEEsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgIEhDTlYgKDB4MEEpDQogICAgICAgICAgICAgICAgICAgIH0NCg0K ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RMEIsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIEhDTlYgKDB4MEIpDQogICAg ICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RMEQsIDAs IFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgIEhDTlYgKDB4MEQpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKF9RMEUsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgIEhDTlYgKDB4MEUpDQogICAgICAgICAgICAgICAgICAg IH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RMEYsIDAsIFNlcmlhbGl6ZWQpDQog ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIEhDTlYgKDB4MEYp DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9R MTAsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgIEhDTlYgKDB4MTApDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKF9RMTEsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIEhDTlYgKDB4MTEpDQogICAgICAgICAgICAg ICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RMTIsIDAsIFNlcmlhbGl6 ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIEhDTlYg KDB4MTIpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRo b2QgKF9RMTMsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgIEhDTlYgKDB4MTMpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9RMTQsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIEhDTlYgKDB4MTQpDQogICAgICAg ICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RMTUsIDAsIFNl cmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg IEhDTlYgKDB4MTUpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9RNzAsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgIEhDTlYgKDB4NzApDQogICAgICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RNzEsIDAsIFNlcmlhbGl6ZWQpDQogICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIEhDTlYgKDB4NzEpDQog ICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RNzMs IDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgIEhDTlYgKDB4NzMpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAg ICAgICAgICBNZXRob2QgKF9RNzQsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIEhDTlYgKDB4NzQpDQogICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RNzUsIDAsIFNlcmlhbGl6ZWQp DQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIEhDTlYgKDB4 NzUpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2Qg KF9RNzYsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgIEhDTlYgKDB4NzYpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKF9RNzcsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIEhDTlYgKDB4NzcpDQogICAgICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RNzgsIDAsIFNlcmlh bGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIEhD TlYgKDB4NzgpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9RNzksIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgIEhDTlYgKDB4NzkpDQogICAgICAgICAgICAgICAgICAgIH0NCg0K ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RN0EsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIEhDTlYgKDB4N0EpDQogICAg ICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RN0IsIDAs IFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgIEhDTlYgKDB4N0IpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKF9RODEsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgIEhDTlYgKDB4ODEpDQogICAgICAgICAgICAgICAgICAg IH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RODIsIDAsIFNlcmlhbGl6ZWQpDQog ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIEhDTlYgKDB4ODIp DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9R MEMsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgIFxfU0IuQ0hHRCAoKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAg ICAgICAgICAgICAgTWV0aG9kIChfUTcyLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKElOSTIsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1EyMywg MCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTlGLCAwLCBTZXJpYWxpemVkKQ0K ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKFxf U0IuQkFUQSwgMHg4MSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAg ICAgIE1ldGhvZCAoX1FBMCwgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLkJBVEEsIDB4ODApDQogICAgICAg ICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEVDOEQsIDEsIFNl cmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKEVDU1QsIDB4MDApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChTaGlmdExlZnQgKEFyZzAsIDB4MDgpLCBM b2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFkZCAoTG9jYWwwLCAw eDg4KSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChcX1NCLlBT UlYgKDB4QzMsIExvY2FsMCwgMHgwMCwgMHgwMCwgMHgwMyksIExvY2FsMCkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoQW5kIChMb2NhbDAsIDB4RkYpKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgw eEZGRkZGRkZGKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQW5kIChTaGlmdFJpZ2h0IChMb2NhbDAs IDB4MDgpLCAweEZGRkYpLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBY3F1aXJlIChF Q0VYLCAweEZGRkYpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIERB VDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4ODgsIEVDQ1IpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4QzgsIExvY2FsNCkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBXaGlsZSAoTEFuZCAoTE5vdCAoTEVxdWFsIChMb2NhbDQsIDB4MDAp KSwgTE5vdCAoTEVxdWFsIChFQ0NSLCAweDAwKSkpKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhbGwgKDB4MTkpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWw0KQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChEQVQxLCBMb2NhbDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKERBVDIs IExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlIChFQ0VYKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsNCwgMHgwMCkpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKDB4RkZGRkZGRkYpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFkZCAoU2hpZnRMZWZ0IChMb2NhbDIs IDB4MDgpLCBMb2NhbDEpLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEVDMDMsIDIsIFNlcmlhbGl6ZWQp DQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKEFyZzEsIDB4MDApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDApKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEVD ODYgKDB4NkEpLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweEZGRkZGRkZGKSkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoMHgwMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQog ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcxLCAweDAxKSkNCiAgICAgICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFs IChBcmcwLCAweDAwKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChFQzhEICgweDZDKSwgTG9jYWwwKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChMTm90IChMTGVzcyAoTG9jYWwwLCAweEZGRkYpKSkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHhGRkZGRkZG RikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChBcmcxLCAweDAyKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAwKSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChFQzhEICgweDZFKSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChMTGVzcyAoTG9j YWwwLCAweEZGRkYpKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHhGRkZGRkZGRikNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg ICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChB cmcxLCAweDAzKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAwKSkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChFQzhEICgw eDcwKSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFQzgyICgweDQx LCAweDAwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMTm90IChMTGVzcyAoTG9jYWwwLCAweEZGRkYpKSkNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoMHhGRkZGRkZGRikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg ICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTVDLCAwLCBT ZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICBOb3RpZnkgKFxfVFouVFpDLCAweDgwKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgICAgICAgICAgTWV0aG9kIChfUTgwLCAwLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRUMwMSAoKSwgUFdSUykN CiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUFNSViAoMHhDOSwgMHgwMywgMHgwMSwgUFdS UywgMHgwMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFBOT1QgKCkNCiAgICAgICAgICAgICAg ICAgICAgICAgIE5vdGlmeSAoXF9TQi5BQywgMHg4MCkNCiAgICAgICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1E4MywgMCwgU2VyaWFsaXplZCkNCiAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLkxJ RCwgMHg4MCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE1l dGhvZCAoX1FBMywgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgXF9TQi5QU1JWICgweEQ1LCAweDAwLCAweDAwLCAweDAwLCAweDAw KQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChF QzA2LCAwLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoMHgwOSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDIsIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChFQzg5 IChMb2NhbDAsIExvY2FsMSksIExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKExvY2FsMiwgMHhGRkZGRkZGRikpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwyKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgICAgICAgICAgTWV0aG9kIChFQzA3LCAwLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEVDODggKEVDODcgKDB4 MDQsIDB4QzgpKSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAg IE1ldGhvZCAoRUMwOCwgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAzKQ0KICAgICAgICAgICAgICAgICAgICB9 DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChFQzA5LCAwLCBTZXJpYWxpemVkKQ0KICAg ICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEVDODgg KEVDODcgKDB4MDQsIDB4QzUpKSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoRUMwQSwgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChFQzg4IChFQzg3ICgweDA0LCAw eEM2KSkpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRo b2QgKEVDMEIsIDEsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgIEVDODMgKDB4MEIsIEFyZzApDQogICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKDB4MDApDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKEVDMDEsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQW5kIChFQzg2ICgweDA4KSwgMHgwMSkp DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEVD MDIsIDEsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChFQzg2ICgweDA4KSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweEZGRkZGRkZGKSkNCiAgICAgICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApDQogICAg ICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKEFyZzAsIDB4MDApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElmIChBbmQgKExvY2FsMCwgMHgwNCkpDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4 MDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEVDMDQsIDIsIFNlcmlhbGl6ZWQpDQogICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKEJVRiwgQnVm ZmVyICgweDEwKSB7fSkNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAs IDB4MDApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChMRXF1YWwgKEFyZzEsIDB4MDApKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEVDODUgKDB4NjAp LCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExv Y2FsMCwgMHhGRkZGRkZGRikpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMSkNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMSwgMHgwMSkpDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoRUM4NSAoMHg2MiksIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg SWYgKExPciAoTEVxdWFsIChMb2NhbDAsIDB4MDApLCBMTm90IChMTGVzcyAoTG9jYWwwLCAweEZG RkYpKSkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHhGRkZGRkZGRikNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNl DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMSwgMHgwMikpDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRUM4 NSAoMHg2NCksIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExP ciAoTEVxdWFsIChMb2NhbDAsIDB4MDApLCBMTm90IChMTGVzcyAoTG9jYWwwLCAweEZGRkYpKSkp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoMHhGRkZGRkZGRikNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoQXJnMSwgMHgwMykpDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE9uZSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoTEVxdWFsIChBcmcxLCAweDA0KSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChFQzg1ICgweDY4KSwgTG9j YWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE9yIChMRXF1YWwgKExv Y2FsMCwgMHgwMCksIExOb3QgKExMZXNzIChMb2NhbDAsIDB4RkZGRikpKSkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuICgweEZGRkZGRkZGKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAo TEVxdWFsIChBcmcxLCAweDA1KSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChFQzg1ICgweDcyKSwgTG9jYWwwKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4RkZG RkZGRkYpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKEFyZzEsIDB4MDYpKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEVDODUgKDB4 NzQpLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwg KExvY2FsMCwgMHhGRkZGRkZGRikpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMSwgMHgwNykpDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoRUM4NSAoMHg3NiksIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweEZGRkZGRkZGKSkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu ICgweDAxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcxLCAw eDA4KSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChFQzg1ICgweDc4KSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4RkZGRkZGRkYpKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKDB4MDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKEFyZzEsIDB4MDkpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIEJVRikNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEVDODQgKDB4OEMsIDB4MEMpLCBCVUYpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwg KEFyZzEsIDB4MEEpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIEJVRikNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKEVDODUgKDB4OUEpLCBMb2NhbDApDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChFQzhDIChMb2NhbDAsIDB4MDUpLCBCVUYpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwg KEFyZzEsIDB4MEIpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIEJVRikNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKEVDODQgKDB4OUMsIDB4MDgpLCBCVUYpDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzEs IDB4MEMpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKCJQYW5hc29uaWMiLCBCVUYpDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoQlVGKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KDQog ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoRUMwNSwgMiwgU2VyaWFsaXplZCkNCiAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwg MHgwMCkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgRUM4MiAoMHhGMCwgQXJnMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg ICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoRUMwQywgMSwg U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKEFuZCAoQXJnMCwgMHgwNyksIFNMUFQpDQogICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKDB4MDApDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKEVDMEQsIDEsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDEpKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDk4LCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg ICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMCkpDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg4MSwg TG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4RkZGRkZGRkYpDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKEVDOEIgKDB4NDMsIExvY2FsMCkpDQogICAgICAgICAgICAg ICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEVDMEUsIDEsIFNlcmlhbGl6 ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM Tm90IChMRXF1YWwgKEVDOEEgKDB4MDAsIDB4MjMsIEFuZCAoRUM4NyAoMHgwMCwgMHgyMyksIDB4 RkQpKSwgMHgwMCkpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoMHhGRkZGRkZGRikNCiAgICAgICAgICAgICAgICAgICAgICAg IH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMSkpDQog ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4ODAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg ICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChFQzhBICgweDAx LCAweDlDLCAweEZGKSwgMHgwMCkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChFQzhBICgweDAxLCAweDlELCBMb2NhbDApKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0K ICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoMHhGRkZGRkZGRikNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg ICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoRUMwRiwgMSwgU2VyaWFs aXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExFcXVhbCAoQXJnMCwgMHgwMSkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIExvY2FsMCkNCiAgICAgICAgICAgICAg ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcw LCAweDAwKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHhGRkZGRkZGRikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg ICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIEVDODMgKDB4MTcsIExv Y2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHhGRkZGRkZGRikNCiAgICAg ICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoRUMxMCwgMiwg U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKEVDODkgKEFyZzAsIEFyZzEpLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4RkZGRkZGRkYpKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkNCiAgICAg ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAg ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg fQ0KDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoWjAwMCwgMCwgU2VyaWFsaXplZCkNCiAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEVDODYg KDB4MTUpLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBBbmQgKExvY2FsMCwgMHg4 MCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApDQogICAg ICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEVDODIsIDIs IFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMRXF1YWwgKEVDU1QsIDB4MDApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMQW5kIChMTm90IChMTGVzcyAoQXJnMCwg MHhGMCkpLCBMTm90IChMR3JlYXRlciAoQXJnMCwgMHhGMykpKSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChTaGlm dExlZnQgKEFyZzEsIDB4MDgpLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBM b2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKEFkZCAoU2hpZnRMZWZ0IChMb2NhbDAsIDB4MDgpLCBBcmcwKSwg TG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChBZGQgKFNoaWZ0TGVm dCAoTG9jYWwwLCAweDA4KSwgMHhERCksIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoXF9TQi5QU1JWICgweEMzLCBMb2NhbDAsIDB4MDAsIDB4MDAsIDB4MDMpLCBM b2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoTG9jYWwwLCAweDQw MDAwMEZGKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoMHhGRkZGRkZGRikNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExB bmQgKExOb3QgKExMZXNzIChBcmcwLCAweDIwKSksIExOb3QgKExHcmVhdGVyIChBcmcwLCAweDM3 KSkpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQW5kIChTaGlmdFJpZ2h0IChMb2NhbDAsIDB4MDgp LCAweDAwODBGRkZGKSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuIChMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KDB4MDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAg ICAgICAgICAgICAgIEFjcXVpcmUgKEVDRVgsIDB4RkZGRikNCiAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMQW5kIChMTm90IChMTGVzcyAoQXJnMCwgMHhGMCkpLCBMTm90IChMR3JlYXRlciAo QXJnMCwgMHhGMykpKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoQW5kIChBcmcxLCAweEZGKSwgREFUMikNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoQW5kIChTaGlmdFJpZ2h0IChBcmcxLCAweDA4KSwgMHhG RiksIERBVDMpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChBcmcwLCBEQVQxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4REQsIEVDQ1IpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHhDOCwgTG9jYWw0 KQ0KICAgICAgICAgICAgICAgICAgICAgICAgV2hpbGUgKExBbmQgKExOb3QgKExFcXVhbCAoTG9j YWw0LCAweDAwKSksIExOb3QgKExFcXVhbCAoRUNDUiwgMHgwMCkpKSkNCiAgICAgICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFsbCAoMHgxOSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2FsNCkNCiAgICAgICAgICAg ICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKERBVDEsIExv Y2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChEQVQyLCBMb2NhbDIpDQogICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoREFUMywgTG9jYWwzKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgUmVsZWFzZSAoRUNFWCkNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMT3Ig KExFcXVhbCAoTG9jYWw0LCAweDAwKSwgQW5kIChMb2NhbDMsIDB4NDApKSkNCiAgICAgICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4RkZG RkZGRkYpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMQW5kIChMTm90IChMTGVzcyAoQXJnMCwgMHgyMCkpLCBMTm90IChMR3JlYXRlciAo QXJnMCwgMHgzNykpKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoQWRkIChTaGlmdExlZnQgKExvY2FsMiwgMHgwOCksIExvY2Fs MSksIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChMb2NhbDMs IDB4ODApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgwMDgwMDAwMCkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2Fs MCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuICgweDAwKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChFQzgzLCAyLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChFQ1NULCAweDAwKSkNCiAgICAgICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFs IChBcmcwLCAweDBCKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFxfU0IuRUNXUiAoMHgwQiwgQXJnMSkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChBcmcwLCAweDE3KSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuRUNXUiAoMHgxNywgQXJnMSkNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg ICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoRUNFWCwgMHhGRkZGKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBEQVQxKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChBcmcxLCBEQVQyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweEI1LCBFQ0NSKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweEM4 LCBMb2NhbDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgV2hpbGUgKExBbmQgKExOb3Qg KExFcXVhbCAoTG9jYWwxLCAweDAwKSksIExOb3QgKExFcXVhbCAoRUNDUiwgMHgwMCkpKSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0YWxsICgweDE5KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1l bnQgKExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSZWxlYXNlIChFQ0VYKQ0KICAgICAgICAgICAgICAgICAgICAgICAg fQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChF Qzg5LCAyLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTE9yIChMT3IgKExMZXNzIChBcmcwLCAweDAxKSwgTEdyZWF0ZXIgKEFy ZzAsIDB4MTApKSwgTEdyZWF0ZXIgKEFyZzEsIDB4MDcpKSkNCiAgICAgICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4RkZGRkZGRkYpDQog ICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChFQzg3ICgweDEyLCAweEVGKSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExFcXVhbCAoTG9jYWwwLCAweEZGRkZGRkZGKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4RkZGRkZGRkYpDQogICAgICAg ICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDBB LCBMb2NhbDEpDQogICAgICAgICAgICAgICAgICAgICAgICBXaGlsZSAoTEFuZCAoTE5vdCAoTEVx dWFsIChMb2NhbDEsIDB4MDApKSwgTEVxdWFsIChFQzg3ICgweDEyLCAweEVGKSwgTG9jYWwwKSkp DQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg U2xlZXAgKDB4MDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2Nh bDEpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKExvY2FsMSwgMHgwMCkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweEZGRkZGRkZGKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRUM4NyAo MHgxMiwgQWRkICgweEVGLCBBcmcwKSksIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKExvY2FsMCwgMHhGRkZGRkZGRikpDQogICAgICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweEZGRkZGRkZGKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KEFuZCAoU2hpZnRSaWdodCAoTG9jYWwwLCBBcmcxKSwgMHgwMSkpDQogICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEVDODQsIDIsIFNlcmlhbGl6ZWQp DQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKEVC VUYsIEJ1ZmZlciAoMHgxMCkge30pDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgw MCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExHcmVhdGVyIChBcmcxLCAw eDAwKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBXaGlsZSAoTExlc3MgKExvY2FsMCwgQXJnMSkpDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRUM4NiAoQWRk IChBcmcwLCBMb2NhbDApKSwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoTEVxdWFsIChMb2NhbDEsIDB4RkZGRkZGRkYpKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCcmVhaw0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKExvY2FsMSwgSW5kZXggKEVCVUYsIExvY2FsMCkpDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEluY3JlbWVudCAoTG9jYWwwKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90 IChMRXF1YWwgKExvY2FsMCwgQXJnMSkpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIEVCVUYpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEVCVUYpDQogICAgICAgICAgICAgICAgICAg IH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEVDODUsIDEsIFNlcmlhbGl6ZWQpDQog ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIEFkZCAoQXJnMCwg MHgwMSwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4RkZGRkZGRkYs IExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChMR3JlYXRlciAoTG9j YWwxLCAweEZGKSkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKEVDODYgKExvY2FsMSksIExvY2FsMikNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTE5vdCAoTEdyZWF0ZXIgKExvY2FsMiwgMHhGRikpKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg U2hpZnRMZWZ0IChMb2NhbDIsIDB4MDgsIExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKEVDODYgKEFyZzApLCBMb2NhbDMpDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMTm90IChMR3JlYXRlciAoTG9jYWwzLCAweEZGKSkpDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEFkZCAoTG9jYWwzLCBMb2NhbDIsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg ICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDAp DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEVD ODYsIDEsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlICgweEZGRkZGRkZGLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTE5vdCAoTEdyZWF0ZXIgKEFyZzAsIDB4N0YpKSkNCiAgICAgICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRUM4NyAoMHgxMywg T3IgKEFyZzAsIDB4ODApKSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAg ICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChMR3JlYXRlciAoQXJnMCwgMHhGRikp KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKEVDODcgKDB4MTQsIEFyZzApLCBMb2NhbDApDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQog ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoRUM4RiwgMiwgU2VyaWFsaXplZCkNCiAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4RkZGRkZGRkYs IExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChMR3JlYXRlciAoQXJn MCwgMHg3RikpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChFQzhBICgweDEzLCBPciAoQXJnMCwgMHg4MCksIEFyZzEpLCBMb2Nh bDApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBF bHNlDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExOb3QgKExHcmVhdGVyIChBcmcwLCAweEZGKSkpDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRUM4QSAo MHgxNCwgQXJnMCwgQXJnMSksIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 DQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChFQzg3LCAyLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChFQ1NULCAweDAwKSkNCiAgICAgICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJn MCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChBZGQgKFNoaWZ0 TGVmdCAoTG9jYWwwLCAweDA4KSwgQXJnMSksIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoQWRkIChTaGlmdExlZnQgKExvY2FsMCwgMHgxMCksIDB4QkEpLCBMb2Nh bDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuUFNSViAoMHhDMywg TG9jYWwwLCAweDAwLCAweDAwLCAweDAzKSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChBbmQgKExvY2FsMCwgMHhGRikpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4RkZGRkZGRkYp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoQW5kIChTaGlmdFJpZ2h0IChMb2NhbDAsIDB4MDgpLCAw eEZGKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg ICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKEVDRVgsIDB4RkZGRikN CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweEZGRkZGRkZGLCBMb2NhbDApDQogICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoTE5vdCAoTEdyZWF0ZXIgKEFyZzEsIDB4RkYp KSwgTE5vdCAoTEdyZWF0ZXIgKEFyZzAsIDB4MTcpKSkpDQogICAgICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzEsIERBVDIpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIERBVDMpDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4QkEsIEVDQ1IpDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4QzgsIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBX aGlsZSAoTEFuZCAoTE5vdCAoTEVxdWFsIChMb2NhbDEsIDB4MDApKSwgTE5vdCAoTEVxdWFsIChF Q0NSLCAweDAwKSkpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RhbGwgKDB4MTkpDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMSwgMHgw MCkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoMHhGRkZGRkZGRiwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoREFUMSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg ICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoRUNF WCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQ0KICAgICAgICAgICAg ICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChFQzhCLCAyLCBTZXJpYWxp emVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoMHhGRkZGRkZGRiwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExOb3Qg KExHcmVhdGVyIChBcmcwLCAweDdGKSkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEVDOEEgKDB4MTMsIE9yIChBcmcwLCAweDgw KSwgQXJnMSksIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg ICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTE5vdCAoTEdyZWF0ZXIgKEFyZzAsIDB4RkYpKSkNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlIChFQzhBICgweDE0LCBBcmcwLCBBcmcxKSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKEVDOEEsIDMsIFNlcmlhbGl6ZWQpDQogICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEVDU1QsIDB4 MDApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChBcmcwLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKEFkZCAoU2hpZnRMZWZ0IChMb2NhbDAsIDB4MDgpLCBBcmcxKSwgTG9jYWwwKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChBZGQgKFNoaWZ0TGVmdCAoTG9jYWwwLCAweDA4 KSwgQXJnMiksIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQWRk IChTaGlmdExlZnQgKExvY2FsMCwgMHgwOCksIDB4QkIpLCBMb2NhbDApDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuUFNSViAoMHhDMywgTG9jYWwwLCAweDAwLCAweDAw LCAweDAzKSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKExv Y2FsMCwgMHhGRikpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4RkZGRkZGRkYpDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoMHgwMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg ICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKEVDRVgsIDB4 RkZGRikNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweEZGRkZGRkZGLCBMb2NhbDAp DQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoTE5vdCAoTEdyZWF0ZXIgKEFyZzEs IDB4RkYpKSwgTE5vdCAoTEdyZWF0ZXIgKEFyZzAsIDB4MTcpKSkpDQogICAgICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzIsIERBVDEp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzEsIERBVDIpDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIERBVDMpDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4QkIsIEVDQ1IpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4QzgsIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaGls ZSAoTEFuZCAoTE5vdCAoTEVxdWFsIChMb2NhbDEsIDB4MDApKSwgTE5vdCAoTEVxdWFsIChFQ0NS LCAweDAwKSkpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RhbGwgKDB4MTkpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIERlY3JlbWVudCAoTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMSwgMHgwMCkp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHhGRkZGRkZGRiwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwMCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg ICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoRUNFWCkN CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQ0KICAgICAgICAgICAgICAg ICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChFQzhFLCAxLCBTZXJpYWxpemVk KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBBbmQgKEFy ZzAsIDB4RkYsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5Q U1JWICgweDk4LCBMb2NhbDAsIDB4MDAsIDB4MDAsIDB4MDEpKQ0KICAgICAgICAgICAgICAgICAg ICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChFQzg4LCAxLCBTZXJpYWxpemVkKQ0K ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEdyZWF0 ZXIgKEFyZzAsIDB4RkYpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweEZGRkZGRkZGLCBMb2NhbDApDQogICAgICAgICAgICAg ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkIChBcmcwLCAweDEx LCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQW5kIChB cmcwLCAweDgwKSwgMHgwMCkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBBZGQgKExvY2FsMCwgMHgwMTAwLCBMb2NhbDApDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgTXVsdGlwbHkgKExvY2FsMCwgMHgwQSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkNCiAgICAgICAg ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoRUM4QywgMiwgU2Vy aWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAg TmFtZSAoQlVGLCBCdWZmZXIgKDB4MTApIHt9KQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4MDAsIEJVRikNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMT3IgKExMZXNzIChB cmcxLCAweDAxKSwgTEdyZWF0ZXIgKEFyZzEsIDB4MTApKSkNCiAgICAgICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRikNCiAgICAgICAg ICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAs IExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBMb2NhbDEpDQog ICAgICAgICAgICAgICAgICAgICAgICBXaGlsZSAoTExlc3MgKExvY2FsMSwgQXJnMSkpDQogICAg ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGl2aWRl IChMb2NhbDAsIDB4MEEsIExvY2FsMiwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN1YnRyYWN0IChBcmcxLCBMb2NhbDEsIExvY2FsMykNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBEZWNyZW1lbnQgKExvY2FsMykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBB ZGQgKExvY2FsMiwgMHgzMCwgSW5kZXggKEJVRiwgTG9jYWwzKSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJbmNyZW1lbnQgKExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUYpDQogICAgICAgICAgICAgICAg ICAgIH0NCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBEZXZpY2UgKEsxMDEp DQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNh SWQgKCJQTlAwMzAzIikpDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9DUlMsIFJlc291cmNl VGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgSU8gKERlY29kZTE2LCAweDAwNjAsIDB4MDA2MCwgMHgwMSwgMHgwMSkNCiAgICAgICAgICAg ICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDY0LCAweDAwNjQsIDB4MDEsIDB4MDEpDQog ICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHsxfQ0KICAgICAgICAgICAgICAg ICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6 ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM Tm90IChMRXF1YWwgKFxfU0IuUFNSViAoMHg5NywgMHgwNTAwMDAwMCwgMHgwMSwgMHg1MDAwLCAw eDAzKSwgMHgwMSkpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoMHgwRikNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg ICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApDQogICAgICAgICAgICAgICAg ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQoNCiAg ICAgICAgICAgICAgICBEZXZpY2UgKEsxMDYpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwMzIwIikpDQogICAgICAgICAgICAg ICAgICAgIE5hbWUgKF9DSUQsIDB4MDMwM0QwNDEpDQogICAgICAgICAgICAgICAgICAgIE5hbWUg KF9DUlMsIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwNjAsIDB4MDA2MCwgMHgwMSwgMHgw MSkNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDY0LCAweDAwNjQs IDB4MDEsIDB4MDEpDQogICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHsxfQ0K ICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEs IDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKFxfU0IuUFNSViAoMHg5NywgMHgwNTAwMDAwMCwgMHgwMSwg MHg1MDAwLCAweDAzKSwgMHgwMSkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkNCiAgICAgICAg ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg IH0NCg0KICAgICAgICAgICAgICAgIERldmljZSAoTU9VUykNCiAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBGMTMiKSkNCiAgICAg ICAgICAgICAgICAgICAgTmFtZSAoX0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHsxMn0N CiAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RB LCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoXF9TQi5QU1JWICgweDk3LCAweDA2MDAwMDAwLCAweDAxLCAweDYw MDAsIDB4MDEpLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChM b2NhbDAsIDB4MDEpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoMHgwMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg ICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEYpDQogICAgICAgICAgICAgICAg ICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoQkRB LCBTeXN0ZW1NZW1vcnksIDB4MDQwMCwgMHgwMTAwKQ0KICAgICAgICAgICAgICAgICAgICAgICAg RmllbGQgKEJEQSwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkNCiAgICAgICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MTApLCANCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDIsIA0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE1GTEcsICAgMQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTUZMRykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEYpDQogICAgICAgICAgICAgICAg ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg ICAgICAgfQ0KDQogICAgICAgICAgICAgICAgRGV2aWNlIChNT1UzKQ0KICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiU1lOMDAwMiIpKQ0K ICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ0lELCAweDEzMEZEMDQxKQ0KICAgICAgICAgICAg ICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkgezEyfQ0KICAgICAg ICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5v dFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChcX1NCLlBTUlYgKDB4OTcsIDB4MDYwMDAwMDAsIDB4MDEsIDB4NjAwMCwgMHgw MSksIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwg MHgwMSkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuICgweDBGKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg ICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkNCiAgICAgICAgICAgICAgICAgICAgICAg IH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChCREEsIFN5c3Rl bU1lbW9yeSwgMHgwNDAwLCAweDAxMDApDQogICAgICAgICAgICAgICAgICAgICAgICBGaWVsZCAo QkRBLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxMCksIA0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsICAgMiwgDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgTUZMRywgICAxDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAg ICAgICAgICAgIElmIChNRkxHKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwRikNCiAgICAgICAgICAgICAgICAgICAgICAg IH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApDQogICAgICAgICAg ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9 DQoNCiAgICAgICAgICAgICAgICBEZXZpY2UgKExOS0EpDQogICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpDQogICAgICAg ICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MDEpDQogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX0RJUywgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4ODAsIFBBUkMpDQogICAgICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfUFJTLCBSZXNvdXJjZVRlbXBsYXRlICgpDQog ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElSUSAoTGV2ZWws IEFjdGl2ZUxvdywgU2hhcmVkKSB7MTF9DQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoUlRMQSwgUmVzb3VyY2VUZW1w bGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkKSB7fQ0KICAgICAgICAgICAgICAg ICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoUlRM QSwgMHgwMSwgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBJUlEw KQ0KICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0ICgweDAxLCBBbmQgKFBBUkMsIDB4 MEYpLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChSVExBKQ0KICAgICAg ICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBT ZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4MDEsIElSUTApDQogICAgICAgICAgICAgICAgICAg ICAgICBGaW5kU2V0UmlnaHRCaXQgKElSUTAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAg ICAgIERlY3JlbWVudCAoTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExv Y2FsMCwgUEFSQykNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAg IE1ldGhvZCAoX1NUQSwgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoUEFSQywgMHg4MCkpDQogICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQ0K ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0K ICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoMHgwQikNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg ICAgfQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIERldmljZSAoTE5LQikN CiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJ ZCAoIlBOUDBDMEYiKSkNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwMikNCiAg ICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBTZXJpYWxpemVkKQ0KICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg4MCwgUEJSQykN CiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9QUlMs IFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpIHs5fQ0KICAgICAgICAg ICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIFNlcmlh bGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIE5h bWUgKFJUTEIsIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlEgKExldmVsLCBBY3RpdmVMb3csIFNoYXJl ZCkge30NCiAgICAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgICAg ICBDcmVhdGVXb3JkRmllbGQgKFJUTEIsIDB4MDEsIElSUTApDQogICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoWmVybywgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVm dCAoMHgwMSwgQW5kIChQQlJDLCAweDBGKSwgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoUlRMQikNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAg ICAgIE1ldGhvZCAoX1NSUywgMSwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDAxLCBJUlEw KQ0KICAgICAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0IChJUlEwLCBMb2NhbDAp DQogICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2FsMCkNCiAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIFBCUkMpDQogICAgICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIFNlcmlhbGl6ZWQpDQogICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKFBCUkMs IDB4ODApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoMHgwOSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpDQogICAgICAgICAgICAgICAgICAgICAg ICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAg ICAgICAgICBEZXZpY2UgKExOS0MpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpDQogICAgICAgICAgICAgICAgICAg IE5hbWUgKF9VSUQsIDB4MDMpDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwg U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4ODAsIFBDUkMpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAg ICAgICAgICAgICBOYW1lIChfUFJTLCBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxvdywg U2hhcmVkKSB7OX0NCiAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAg TWV0aG9kIChfQ1JTLCAwLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICBOYW1lIChSVExDLCBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAg ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChM ZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpIHt9DQogICAgICAgICAgICAgICAgICAgICAgICB9KQ0K ICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChSVExDLCAweDAxLCBJUlEw KQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIElSUTApDQogICAgICAgICAg ICAgICAgICAgICAgICBTaGlmdExlZnQgKDB4MDEsIEFuZCAoUENSQywgMHgwRiksIElSUTApDQog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFJUTEMpDQogICAgICAgICAgICAgICAgICAg IH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIFNlcmlhbGl6ZWQpDQog ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRG aWVsZCAoQXJnMCwgMHgwMSwgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIEZpbmRTZXRS aWdodEJpdCAoSVJRMCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50 IChMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBQQ1JDKQ0K ICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RB LCAwLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICBJZiAoQW5kIChQQ1JDLCAweDgwKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpDQogICAgICAgICAgICAg ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBCKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg ICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgRGV2aWNlIChMTktEKQ0KICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwRiIp KQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDA0KQ0KICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKF9ESVMsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDgwLCBQRFJDKQ0KICAgICAgICAgICAg ICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1BSUywgUmVzb3VyY2VUZW1w bGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBJ UlEgKExldmVsLCBBY3RpdmVMb3csIFNoYXJlZCkgezd9DQogICAgICAgICAgICAgICAgICAgIH0p DQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFsaXplZCkNCiAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoUlRMRCwgUmVz b3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkKSB7fQ0KICAgICAg ICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRG aWVsZCAoUlRMRCwgMHgwMSwgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICha ZXJvLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0ICgweDAxLCBBbmQg KFBEUkMsIDB4MEYpLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChSVExE KQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChf U1JTLCAxLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4MDEsIElSUTApDQogICAgICAgICAg ICAgICAgICAgICAgICBGaW5kU2V0UmlnaHRCaXQgKElSUTAsIExvY2FsMCkNCiAgICAgICAgICAg ICAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKExvY2FsMCwgUERSQykNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoUERSQywgMHg4MCkpDQogICAg ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu ICgweDA5KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoMHgwQikNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIERldmlj ZSAoTE5LRSkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9I SUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwg MHgwNSkNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBTZXJpYWxpemVkKQ0K ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg4 MCwgUEVSQykNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE5h bWUgKF9QUlMsIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpIHszfQ0K ICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMs IDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgIE5hbWUgKFJUTEUsIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlEgKExldmVsLCBBY3RpdmVM b3csIFNoYXJlZCkge30NCiAgICAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAg ICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKFJUTEUsIDB4MDEsIElSUTApDQogICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAgICAg IFNoaWZ0TGVmdCAoMHgwMSwgQW5kIChQRVJDLCAweDBGKSwgSVJRMCkNCiAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoUlRMRSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAw eDAxLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0IChJUlEw LCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2FsMCkNCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIFBFUkMpDQogICAgICAgICAgICAg ICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIFNlcmlhbGl6 ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChB bmQgKFBFUkMsIDB4ODApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoMHgwOSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0N CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpDQogICAgICAgICAgICAg ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQoN CiAgICAgICAgICAgICAgICBEZXZpY2UgKExOS0YpDQogICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpDQogICAgICAgICAg ICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MDYpDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAo X0RJUywgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4ODAsIFBGUkMpDQogICAgICAgICAgICAgICAgICAgIH0NCg0K ICAgICAgICAgICAgICAgICAgICBOYW1lIChfUFJTLCBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElSUSAoTGV2ZWwsIEFj dGl2ZUxvdywgU2hhcmVkKSB7NX0NCiAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAg ICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChSVExGLCBSZXNvdXJjZVRlbXBsYXRl ICgpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpIHt9DQogICAgICAgICAgICAgICAgICAg ICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChSVExGLCAw eDAxLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIElSUTApDQog ICAgICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQgKDB4MDEsIEFuZCAoUEZSQywgMHgwRiks IElSUTApDQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFJUTEYpDQogICAgICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIFNlcmlh bGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIENy ZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwMSwgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAgICAg IEZpbmRTZXRSaWdodEJpdCAoSVJRMCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAg RGVjcmVtZW50IChMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWww LCBQRlJDKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfU1RBLCAwLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICBJZiAoQW5kIChQRlJDLCAweDgwKSkNCiAgICAgICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpDQogICAg ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAg ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu ICgweDBCKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9 DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgRGV2aWNlIChMTktHKQ0KICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgi UE5QMEMwRiIpKQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDA3KQ0KICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDgwLCBQR1JDKQ0KICAg ICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1BSUywgUmVz b3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICBJUlEgKExldmVsLCBBY3RpdmVMb3csIFNoYXJlZCkgezN9DQogICAgICAgICAgICAg ICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFsaXpl ZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAo UlRMRywgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkKSB7 fQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgICAgIENy ZWF0ZVdvcmRGaWVsZCAoUlRMRywgMHgwMSwgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlIChaZXJvLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0ICgw eDAxLCBBbmQgKFBHUkMsIDB4MEYpLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChSVExHKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAg TWV0aG9kIChfU1JTLCAxLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4MDEsIElSUTApDQog ICAgICAgICAgICAgICAgICAgICAgICBGaW5kU2V0UmlnaHRCaXQgKElSUTAsIExvY2FsMCkNCiAg ICAgICAgICAgICAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKExvY2FsMCwgUEdSQykNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQog ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgU2VyaWFsaXplZCkNCiAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoUEdSQywgMHg4 MCkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuICgweDA5KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoMHgwQikNCiAgICAgICAgICAgICAgICAgICAgICAgIH0N CiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAg ICAgIERldmljZSAoTE5LSCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg IE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkNCiAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX1VJRCwgMHgwOCkNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBTZXJp YWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHg4MCwgUEhSQykNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAg ICAgICAgIE5hbWUgKF9QUlMsIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFy ZWQpIHsxMH0NCiAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfQ1JTLCAwLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICBOYW1lIChSVExILCBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAg ICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZl bCwgQWN0aXZlTG93LCBTaGFyZWQpIHt9DQogICAgICAgICAgICAgICAgICAgICAgICB9KQ0KICAg ICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChSVExILCAweDAxLCBJUlEwKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIElSUTApDQogICAgICAgICAgICAg ICAgICAgICAgICBTaGlmdExlZnQgKDB4MDEsIEFuZCAoUEhSQywgMHgwRiksIElSUTApDQogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFJUTEgpDQogICAgICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIFNlcmlhbGl6ZWQpDQogICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVs ZCAoQXJnMCwgMHgwMSwgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIEZpbmRTZXRSaWdo dEJpdCAoSVJRMCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50IChM b2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBQSFJDKQ0KICAg ICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAw LCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoQW5kIChQSFJDLCAweDgwKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpDQogICAgICAgICAgICAgICAg ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBCKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg ICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBEZXZpY2UgKFBBVEEpDQogICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDFGMDAwMSkNCiAgICAg ICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKFBBQ1MsIFBDSV9Db25maWcsIDB4NDAsIDB4QzAp DQogICAgICAgICAgICAgICAgRmllbGQgKFBBQ1MsIERXb3JkQWNjLCBOb0xvY2ssIFByZXNlcnZl KQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgUFJJVCwgICAxNiwgDQog ICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwNCksIA0KICAgICAgICAgICAgICAgICAgICBQ U0lULCAgIDQsIA0KICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MDgpLCANCiAgICAgICAg ICAgICAgICAgICAgU1lOQywgICA0LCANCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDBB KSwgDQogICAgICAgICAgICAgICAgICAgIFNEVDAsICAgMiwgDQogICAgICAgICAgICAgICAgICAg ICAgICAsICAgMiwgDQogICAgICAgICAgICAgICAgICAgIFNEVDEsICAgMiwgDQogICAgICAgICAg ICAgICAgICAgIE9mZnNldCAoMHgxNCksIA0KICAgICAgICAgICAgICAgICAgICBJQ1IwLCAgIDQs IA0KICAgICAgICAgICAgICAgICAgICBJQ1IxLCAgIDQsIA0KICAgICAgICAgICAgICAgICAgICBJ Q1IyLCAgIDQsIA0KICAgICAgICAgICAgICAgICAgICBJQ1IzLCAgIDQsIA0KICAgICAgICAgICAg ICAgICAgICBJQ1I0LCAgIDQsIA0KICAgICAgICAgICAgICAgICAgICBJQ1I1LCAgIDQNCiAgICAg ICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBEZXZpY2UgKFBSSUQpDQogICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwKQ0KICAgICAgICAg ICAgICAgICAgICBOYW1lIChOQ00wLCAweDAzKQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChO Q00xLCAweDAzKQ0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9HVE0sIDAsIE5vdFNlcmlh bGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIE5h bWUgKFBCVUYsIEJ1ZmZlciAoMHgxNCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCANCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwDQogICAgICAgICAgICAgICAgICAgICAgICB9 KQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoUEJVRiwgMHgwMCwg UElPMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKFBCVUYsIDB4 MDQsIERNQTApDQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChQQlVG LCAweDA4LCBQSU8xKQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAo UEJVRiwgMHgwQywgRE1BMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmll bGQgKFBCVUYsIDB4MTAsIEZMQUcpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR0VU UCAoUFJJVCksIFBJTzApDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR0RNQSAoQW5k IChTWU5DLCAweDAxKSwgQW5kIChJQ1IzLCAweDAxKSwgQW5kIChJQ1IwLCAweDAxKSwgU0RUMCwg QW5kIChJQ1IxLCAweDAxKSksIERNQTApDQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChETUEwLCAweEZGRkZGRkZGKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUElPMCwgRE1BMCkNCiAgICAgICAgICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoUFJJVCwgMHg0 MDAwKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChBbmQgKFBSSVQsIDB4OTApLCAweDgwKSkNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDAzODQsIFBJTzEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChHRVRUIChQU0lUKSwgUElPMSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQog ICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4RkZGRkZGRkYsIFBJTzEpDQogICAg ICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChH RE1BIChBbmQgKFNZTkMsIDB4MDIpLCBBbmQgKElDUjMsIDB4MDIpLCBBbmQgKElDUjAsIDB4MDIp LCBTRFQxLCBBbmQgKElDUjEsIDB4MDIpKSwgRE1BMSkNCiAgICAgICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKERNQTEsIDB4RkZGRkZGRkYpKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSU8xLCBETUExKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR0VU RiAoQW5kIChTWU5DLCAweDAxKSwgQW5kIChTWU5DLCAweDAyKSwgUFJJVCksIEZMQUcpDQogICAg ICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChMRXF1YWwgKFBJTzAsIDB4RkZGRkZGRkYpLCBM RXF1YWwgKERNQTAsIDB4RkZGRkZGRkYpKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg3OCwgUElPMCkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoMHgxNCwgRE1BMCkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHgwMywgRkxBRykNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0K ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQQlVGKQ0KICAgICAgICAgICAgICAgICAg ICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RNLCAzLCBOb3RTZXJpYWxpemVk KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVE V29yZEZpZWxkIChBcmcwLCAweDAwLCBQSU8wKQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlRFdvcmRGaWVsZCAoQXJnMCwgMHgwNCwgRE1BMCkNCiAgICAgICAgICAgICAgICAgICAgICAg IENyZWF0ZURXb3JkRmllbGQgKEFyZzAsIDB4MDgsIFBJTzEpDQogICAgICAgICAgICAgICAgICAg ICAgICBDcmVhdGVEV29yZEZpZWxkIChBcmcwLCAweDBDLCBETUExKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwgMHgxMCwgRkxBRykNCiAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKFNpemVPZiAoQXJnMSksIDB4MDIwMCkpDQogICAgICAg ICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChQUklU LCAweDQwRjAsIFBSSVQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChTWU5DLCAw eDAyLCBTWU5DKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBTRFQw KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoSUNSMCwgMHgwMiwgSUNSMCkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKElDUjEsIDB4MDIsIElDUjEpDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgQW5kIChJQ1IzLCAweDAyLCBJQ1IzKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEFuZCAoSUNSNSwgMHgwMiwgSUNSNSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzEsIDB4NjIsIFc0OTApDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcxLCAweDZBLCBXNTMwKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMSwgMHg3RSwgVzYz MCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzEsIDB4 ODAsIFc2NDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChB cmcxLCAweEIwLCBXODgwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRG aWVsZCAoQXJnMSwgMHhCQSwgVzkzMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVh dGVXb3JkRmllbGQgKEFyZzEsIDB4QUMsIFc4NjApDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgT3IgKFBSSVQsIDB4ODAwNCwgUFJJVCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoTEFuZCAoQW5kIChGTEFHLCAweDAyKSwgQW5kIChXNDkwLCAweDA4MDApKSkNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9y IChQUklULCAweDAyLCBQUklUKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChQUklULCBTRVRQIChQSU8wLCBXNTMwLCBXNjQw KSwgUFJJVCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChGTEFHLCAweDAx KSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE9yIChTWU5DLCAweDAxLCBTWU5DKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoU0RNQSAoRE1BMCksIFNEVDApDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMTGVzcyAoRE1BMCwgMHgxRSkpDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChJQ1Iz LCAweDAxLCBJQ1IzKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExMZXNzIChETUEwLCAweDNDKSkNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgT3IgKElDUjAsIDB4MDEsIElDUjApDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChXOTMw LCAweDIwMDApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoSUNSMSwgMHgwMSwgSUNSMSkNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAzLCBOQ00wKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChMTGVzcyAoU2l6ZU9mIChBcmcxKSwgMHgw MTAyKSkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoQW5kIChEZXJlZk9mIChJbmRleCAoQXJnMSwgMHgwMTAwKSksIE9u ZSkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE9yIChOQ00wLCAweDA0LCBOQ00wKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuUFNSViAoMHg5NywgMHgwMzAwMDAw MCwgMHgwMSwgMHgzMDAwLCAweDAzKSwgTG9jYWwzKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMb2NhbDMpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChXODYwLCAweDA0MDApKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcX1NCLlBTUlYgKDB4OTcsIDB4MDMwMDAwMDAsIDB4MDEsIDB4MzEwMCwgMHgwMCkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChOQ00wLCAweDA4LCBOQ00wKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoTEVxdWFsIChTaXplT2YgKEFyZzIpLCAweDAyMDApKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoUFJJVCwgMHgzRjBGLCBQUklU KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBQU0lUKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEFuZCAoU1lOQywgMHgwMSwgU1lOQykNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgU0RUMSkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBBbmQgKElDUjAsIDB4MDEsIElDUjApDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgQW5kIChJQ1IxLCAweDAxLCBJQ1IxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFu ZCAoSUNSMywgMHgwMSwgSUNSMykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKElD UjUsIDB4MDEsIElDUjUpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZp ZWxkIChBcmcyLCAweDYyLCBXNDkxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0 ZVdvcmRGaWVsZCAoQXJnMiwgMHg2QSwgVzUzMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBDcmVhdGVXb3JkRmllbGQgKEFyZzIsIDB4N0UsIFc2MzEpDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcyLCAweDgwLCBXNjQxKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMiwgMHhCMCwgVzg4MSkNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzIsIDB4QkEsIFc5MzEp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKFBSSVQsIDB4ODA0MCwgUFJJVCkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoQW5kIChGTEFHLCAweDA4KSwgQW5k IChXNDkxLCAweDA4MDApKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChQUklULCAweDIwLCBQUklUKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChB bmQgKEZMQUcsIDB4MTApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgT3IgKFBSSVQsIDB4NDAwMCwgUFJJVCkNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExHcmVhdGVyIChQSU8xLCAweEYwKSkNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgT3IgKFBSSVQsIDB4ODAsIFBSSVQpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBPciAoUFJJVCwgMHgxMCwgUFJJVCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChTRVRUIChQSU8xLCBXNTMxLCBXNjQxKSwgUFNJVCkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKEZMQUcsIDB4MDQpKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg T3IgKFNZTkMsIDB4MDIsIFNZTkMpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChTRE1BIChETUExKSwgU0RUMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg SWYgKExMZXNzIChETUExLCAweDFFKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKElDUjMsIDB4MDIsIElD UjMpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTExlc3MgKERNQTEsIDB4M0MpKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBP ciAoSUNSMCwgMHgwMiwgSUNSMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKFc5MzEsIDB4MjAwMCkp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE9yIChJQ1IxLCAweDAyLCBJQ1IxKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDMsIE5DTTEpDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExOb3QgKExMZXNzIChTaXplT2YgKEFyZzIpLCAweDAxMDIpKSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChBbmQgKERlcmVmT2YgKEluZGV4IChBcmcyLCAweDAxMDApKSwgT25lKSkNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgT3IgKE5DTTEsIDB4MDQsIE5DTTEpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBE ZXZpY2UgKFBfRDApDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgIE5hbWUgKF9BRFIsIDB4MDApDQogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9H VEYsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgTmFtZSAoUElCMCwgQnVmZmVyICgweDBFKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhBMCwgMHhFRiwgMHgwMywgDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4QTAsIDB4RUYN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE5hbWUgKEZMSzAsIEJ1ZmZlciAoMHgwNykNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4QTAsIDB4RjUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKFNNWDAsIEJ1ZmZlciAoMHgwRSkNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4RTAsIDB4RjgsIDB4MDAsIA0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweEUwLCAw eEY5DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBDcmVhdGVCeXRlRmllbGQgKFBJQjAsIDB4MDEsIFBNRDApDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChQSUIwLCAweDA4LCBETUQwKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKFNNWDAsIDB4MDksIE1YQTAp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoUFJJVCwgMHgwMikpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoTEVxdWFsIChBbmQgKFBSSVQsIDB4MDkpLCAweDA4KSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4MDgsIFBNRDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgw QSwgUE1EMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQg KEFuZCAoUFJJVCwgMHgwMzAwKSwgMHgwOCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU2hpZnRSaWdodCAoQW5kIChQUklULCAweDMwMDApLCAweDBDLCBMb2Nh bDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGQgKExvY2FsMCwgTG9j YWwxLCBMb2NhbDIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsICgweDAzLCBMb2NhbDIpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDBCLCBQ TUQwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsICgweDA1LCBMb2NhbDIpKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDBDLCBQTUQwKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweDAxLCBQTUQwKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKFNZTkMsIDB4MDEp KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKE9yIChTRFQwLCAweDQwKSwgRE1EMCkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKEFuZCAoSUNSMSwgMHgwMSkpDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChB bmQgKElDUjAsIDB4MDEpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZCAoRE1EMCwgMHgwMiwg RE1EMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoSUNSMywgMHgwMSkpDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4NDUsIERNRDApDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxz ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgT3IgKFN1YnRyYWN0IChBbmQgKFBNRDAsIDB4MDcpLCAweDAyKSwgMHgyMCwgRE1E MCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoQW5kIChOQ00wLCAweDA4KSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChcX1NCLlBTUlYgKDB4 OTcsIDB4MDMwMDAwMDAsIDB4MDEsIDB4MzAwMCwgMHgwMyksIExvY2FsMykNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExvY2FsMykNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2Fs MywgMHhFMDAwMDAwMCwgTG9jYWwzKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKExvY2FsMywgTVhBMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIENvbmNhdGVuYXRlIChQSUIwLCBTTVgwLCBMb2NhbDQpDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoUElCMCwgTG9jYWw0KQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSUIwLCBMb2NhbDQpDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFu ZCAoTkNNMCwgMHgwNCkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBDb25jYXRlbmF0ZSAoTG9jYWw0LCBGTEswLCBMb2NhbDAp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDQsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2Fs MCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KDQog ICAgICAgICAgICAgICAgICAgIERldmljZSAoUF9EMSkNCiAgICAgICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMSkNCiAgICAgICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoX0dURiwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChQSUIxLCBCdWZm ZXIgKDB4MEUpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweEIwLCAweEVG LCAweDAzLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHhCMCwgMHhFRg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoRkxLMSwgQnVmZmVyICgweDA3KQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhCMCwgMHhGNQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZp ZWxkIChQSUIxLCAweDAxLCBQTUQxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0 ZUJ5dGVGaWVsZCAoUElCMSwgMHgwOCwgRE1EMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoQW5kIChQUklULCAweDIwKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFuZCAoUFJJVCwgMHg5 MCksIDB4ODApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwOCwgUE1EMSkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF bHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEFkZCAoQW5kIChQU0lULCAweDAzKSwgU2hpZnRSaWdodCAoQW5k IChQU0lULCAweDBDKSwgMHgwMiksIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKDB4MDUsIExvY2FsMCkpDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MEMsIFBNRDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoMHgwMywgTG9jYWwwKSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweDBCLCBQTUQxKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwQSwgUE1EMSkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIFBNRDEpDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoU1lOQywg MHgwMikpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoT3IgKFNEVDEsIDB4NDApLCBETUQxKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChJQ1IxLCAweDAyKSkNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg SWYgKEFuZCAoSUNSMCwgMHgwMikpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkIChETUQxLCAw eDAyLCBETUQxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChJQ1IzLCAweDAyKSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg0NSwgRE1EMSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBPciAoU3VidHJhY3QgKEFuZCAoUE1EMSwgMHgwNyksIDB4MDIpLCAweDIw LCBETUQxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElmIChBbmQgKE5DTTEsIDB4MDQpKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29uY2F0ZW5hdGUgKFBJ QjEsIEZMSzEsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBJQjEsIExvY2FsMCkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAg ICAgRGV2aWNlIChTQlVTKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIE5hbWUgKF9B RFIsIDB4MDAxRjAwMDMpDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBNZXRo b2QgKENIR0QsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgIHsNCiAgICAgICAgICAgIElmIChc X1NCLlBTUlYgKDB4QjksIDB4MjIsIDB4MDAsIDB4MDAsIDB4MDEpKQ0KICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLCAweDAwKQ0KICAgICAgICAgICAgICAg IFNsZWVwICgweDAzRTgpDQogICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuUFNSViAoMHhCOSwg MHgwNywgMHgwMCwgMHgwMCwgMHgwMyksIE5TVEUpDQogICAgICAgICAgICAgICAgU3RvcmUgKE5T VEUsIExvY2FsMCkNCiAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5HRlgwLCAweDgw KQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KDQogICAgTWV0aG9kIChfUFRTLCAx LCBOb3RTZXJpYWxpemVkKQ0KICAgIHsNCiAgICAgICAgXF9TQi5QU1JWICgweEI4LCAweDAwLCAw eDAwLCAweDAwLCAweDAwKQ0KICAgICAgICBJZiAoTE5vdCAoTEVxdWFsIChBcmcwLCAweDA1KSkp DQogICAgICAgIHsNCiAgICAgICAgICAgIFxfU0IuUFNSViAoMHg5MiwgMHgwMiwgMHgwMCwgMHgw MCwgMHgwMCkNCiAgICAgICAgfQ0KDQogICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDMpKQ0K ICAgICAgICB7DQogICAgICAgICAgICBcX1NCLlBTUlYgKDB4QzcsIFxfU0IuUENJMC5NT0RNLk1Q U1csIDB4MDAsIDB4MDAsIDB4MDApDQogICAgICAgICAgICBcX1NCLlBTUlYgKDB4OTAsIDB4MDAs IDB4MDEsIDB4MDMsIDB4MDApDQogICAgICAgICAgICBcX1NCLlBTUlYgKDB4OTEsIDB4MTAsIDB4 MDEsIDB4MDEsIDB4MDApDQogICAgICAgICAgICBcX1NCLlBTUlYgKDB4OTEsIDB4NDAsIDB4MDEs IDB4MDEsIDB4MDApDQogICAgICAgIH0NCg0KICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDA0 KSkNCiAgICAgICAgew0KICAgICAgICAgICAgXF9TQi5QU1JWICgweDkwLCAweDAwLCAweDAxLCAw eDA0LCAweDAwKQ0KICAgICAgICB9DQoNCiAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwNSkp DQogICAgICAgIHsNCiAgICAgICAgICAgIFxfU0IuUFNSViAoMHg5MCwgMHgwMCwgMHgwMSwgMHgw NSwgMHgwMCkNCiAgICAgICAgfQ0KDQogICAgICAgIElmIChMQW5kIChMTm90IChMTGVzcyAoQXJn MCwgMHgwMykpLCBMTm90IChMR3JlYXRlciAoQXJnMCwgMHgwNSkpKSkNCiAgICAgICAgew0KICAg ICAgICAgICAgXF9TQi5IS0VZLkhTQVYgKCkNCiAgICAgICAgfQ0KDQogICAgICAgIFN0b3JlIChc X1NCLkVDUEYgKDB4MDEwMSwgMHgwMCwgMHgwMCksIFxfU0IuQkFTVCkNCiAgICAgICAgXF9TQi5F Q1BGICgweDAyMDYsIEFyZzAsIDB4MDApDQogICAgfQ0KDQogICAgU2NvcGUgKFxfUFIuQ1BVMCkN CiAgICB7DQogICAgICAgIE1ldGhvZCAoX1BQQywgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAg ew0KICAgICAgICAgICAgUmV0dXJuICgweDAwKQ0KICAgICAgICB9DQoNCiAgICAgICAgTWV0aG9k IChfUENULCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICB7DQogICAgICAgICAgICBJZiAoQW5k IChDRkdELCAweDQwMDApKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIFJldHVybiAo UGFja2FnZSAoMHgwMikNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIFJl c291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAgICAgUmVnaXN0ZXIgKFN5c3RlbUlPLCAweDA4LCAweDAwLCAweDAwMDAwMDAwMDAwMDA4 MDApDQogICAgICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAgICAgIFJlc291 cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgUmVnaXN0ZXIgKFN5c3RlbUlPLCAweDA4LCAweDAwLCAweDAwMDAwMDAwMDAwMDA4MDIp DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAg fQ0KDQogICAgICAgICAgICBJZiAoTEFuZCAoQW5kIChDRkdELCAweDAyKSwgQW5kIChQREMwLCAw eDAxKSkpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgw eDAyKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgUmVzb3VyY2VUZW1w bGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBS ZWdpc3RlciAoRkZpeGVkSFcsIDB4MDAsIDB4MDAsIDB4MDAwMDAwMDAwMDAwMDAwMCkNCiAgICAg ICAgICAgICAgICAgICAgfSwgDQoNCiAgICAgICAgICAgICAgICAgICAgUmVzb3VyY2VUZW1wbGF0 ZSAoKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZWdp c3RlciAoRkZpeGVkSFcsIDB4MDAsIDB4MDAsIDB4MDAwMDAwMDAwMDAwMDAwMCkNCiAgICAgICAg ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgIFJldHVybiAoUGFja2FnZSAoMHgwMikNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICBSZWdpc3RlciAoU3lzdGVtSU8sIDB4MTAsIDB4MDAsIDB4MDAwMDAwMDAwMDAwMDBC MikNCiAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgICAgIFJlc291cmNlVGVtcGxh dGUgKCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIFJlZ2lzdGVyIChT eXN0ZW1JTywgMHgwOCwgMHgwMCwgMHgwMDAwMDAwMDAwMDAwMEIzKQ0KICAgICAgICAgICAgICAg IH0NCiAgICAgICAgICAgIH0pDQogICAgICAgIH0NCg0KICAgICAgICBNZXRob2QgKF9QU1MsIDAs IE5vdFNlcmlhbGl6ZWQpDQogICAgICAgIHsNCiAgICAgICAgICAgIElmIChMQW5kIChMTm90IChB bmQgKENGR0QsIDB4NDAwMCkpLCBMQW5kIChBbmQgKENGR0QsIDB4MDIpLCBBbmQgKFBEQzAsIDB4 MDEpKSkpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgUmV0dXJuIChOUFNTKQ0KICAg ICAgICAgICAgfQ0KDQogICAgICAgICAgICBSZXR1cm4gKFNQU1MpDQogICAgICAgIH0NCg0KICAg ICAgICBOYW1lIChTUFNTLCBQYWNrYWdlICgweDA0KQ0KICAgICAgICB7DQogICAgICAgICAgICBQ YWNrYWdlICgweDA2KQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIDB4MDAwMDA0QjAs IA0KICAgICAgICAgICAgICAgIDB4MDAwMDEzODgsIA0KICAgICAgICAgICAgICAgIDB4MDAwMDAw NkUsIA0KICAgICAgICAgICAgICAgIDB4MDAwMDAwMEEsIA0KICAgICAgICAgICAgICAgIDB4MDAw MDAwODMsIA0KICAgICAgICAgICAgICAgIDB4MDAwMDAwMDANCiAgICAgICAgICAgIH0sIA0KDQog ICAgICAgICAgICBQYWNrYWdlICgweDA2KQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg IDB4MDAwMDAzRTgsIA0KICAgICAgICAgICAgICAgIDB4MDAwMDBGQTAsIA0KICAgICAgICAgICAg ICAgIDB4MDAwMDAwNkUsIA0KICAgICAgICAgICAgICAgIDB4MDAwMDAwMEEsIA0KICAgICAgICAg ICAgICAgIDB4MDAwMDAxODMsIA0KICAgICAgICAgICAgICAgIDB4MDAwMDAwMDENCiAgICAgICAg ICAgIH0sIA0KDQogICAgICAgICAgICBQYWNrYWdlICgweDA2KQ0KICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgIDB4MDAwMDAzMjAsIA0KICAgICAgICAgICAgICAgIDB4MDAwMDBCQjgsIA0K ICAgICAgICAgICAgICAgIDB4MDAwMDAwNkUsIA0KICAgICAgICAgICAgICAgIDB4MDAwMDAwMEEs IA0KICAgICAgICAgICAgICAgIDB4MDAwMDAyODMsIA0KICAgICAgICAgICAgICAgIDB4MDAwMDAw MDINCiAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICBQYWNrYWdlICgweDA2KQ0KICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgIDB4MDAwMDAyNTgsIA0KICAgICAgICAgICAgICAgIDB4 MDAwMDBCQjgsIA0KICAgICAgICAgICAgICAgIDB4MDAwMDAwNkUsIA0KICAgICAgICAgICAgICAg IDB4MDAwMDAwMEEsIA0KICAgICAgICAgICAgICAgIDB4MDAwMDAzODMsIA0KICAgICAgICAgICAg ICAgIDB4MDAwMDAwMDMNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSkNCiAgICAgICAgTmFtZSAo TlBTUywgUGFja2FnZSAoMHgwNCkNCiAgICAgICAgew0KICAgICAgICAgICAgUGFja2FnZSAoMHgw NikNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAweDAwMDAwNEIwLCANCiAgICAgICAg ICAgICAgICAweDAwMDAxMzg4LCANCiAgICAgICAgICAgICAgICAweDAwMDAwMDBBLCANCiAgICAg ICAgICAgICAgICAweDAwMDAwMDBBLCANCiAgICAgICAgICAgICAgICAweDAwMDAwQzBELCANCiAg ICAgICAgICAgICAgICAweDAwMDAwQzBEDQogICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAg UGFja2FnZSAoMHgwNikNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAweDAwMDAwM0U4 LCANCiAgICAgICAgICAgICAgICAweDAwMDAwRkEwLCANCiAgICAgICAgICAgICAgICAweDAwMDAw MDBBLCANCiAgICAgICAgICAgICAgICAweDAwMDAwMDBBLCANCiAgICAgICAgICAgICAgICAweDAw MDAwQTBCLCANCiAgICAgICAgICAgICAgICAweDAwMDAwQTBCDQogICAgICAgICAgICB9LCANCg0K ICAgICAgICAgICAgUGFja2FnZSAoMHgwNikNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAweDAwMDAwMzIwLCANCiAgICAgICAgICAgICAgICAweDAwMDAwQkI4LCANCiAgICAgICAgICAg ICAgICAweDAwMDAwMDBBLCANCiAgICAgICAgICAgICAgICAweDAwMDAwMDBBLCANCiAgICAgICAg ICAgICAgICAweDAwMDAwODA5LCANCiAgICAgICAgICAgICAgICAweDAwMDAwODA5DQogICAgICAg ICAgICB9LCANCg0KICAgICAgICAgICAgUGFja2FnZSAoMHgwNikNCiAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAweDAwMDAwMjU4LCANCiAgICAgICAgICAgICAgICAweDAwMDAwQkI4LCAN CiAgICAgICAgICAgICAgICAweDAwMDAwMDBBLCANCiAgICAgICAgICAgICAgICAweDAwMDAwMDBB LCANCiAgICAgICAgICAgICAgICAweDAwMDAwNjA3LCANCiAgICAgICAgICAgICAgICAweDAwMDAw NjA3DQogICAgICAgICAgICB9DQogICAgICAgIH0pDQogICAgfQ0KDQogICAgU2NvcGUgKFxfUFIu Q1BVMCkNCiAgICB7DQogICAgICAgIE1ldGhvZCAoX0NTVCwgMCwgTm90U2VyaWFsaXplZCkNCiAg ICAgICAgew0KICAgICAgICAgICAgSWYgKEFuZCAoQ0ZHRCwgMHg0MDAwKSkNCiAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDIpDQogICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAweDAxLCANCiAgICAgICAgICAgICAgICAgICAgUGFj a2FnZSAoMHgwNCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJlZ2lzdGVyIChGRml4ZWRIVywgMHgwMSwgMHgwMSwgMHgw MDAwMDAwMDAwMDAwODA5KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgDQoNCiAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgDQog ICAgICAgICAgICAgICAgICAgICAgICAweDAzRTgNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAg ICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIElmIChMQW5kIChB bmQgKENGR0QsIDB4ODApLCBMTm90IChQV1JTKSkpDQogICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgUmV0dXJuIChQYWNrYWdlICgweDA1KQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgMHgwNCwgDQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpDQog ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlVGVt cGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZWdpc3RlciAoRkZpeGVkSFcsIDB4MDAsIDB4MDAsIDB4MDAwMDAwMDAwMDAwMDAw MCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAgICAgICAg ICAweDAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIA0KICAgICAgICAgICAgICAg ICAgICAgICAgMHgwM0U4DQogICAgICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWdpc3RlciAoU3lzdGVtSU8sIDB4MDgs IDB4MDAsIDB4MDAwMDAwMDAwMDAwMTAxNCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIA0K DQogICAgICAgICAgICAgICAgICAgICAgICAweDAyLCANCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMUY0DQogICAgICAgICAgICAgICAg ICAgIH0sIA0KDQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpDQogICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlVGVtcGxhdGUgKCkN CiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBS ZWdpc3RlciAoU3lzdGVtSU8sIDB4MDgsIDB4MDAsIDB4MDAwMDAwMDAwMDAwMTAxNSkNCiAgICAg ICAgICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAN CiAgICAgICAgICAgICAgICAgICAgICAgIDB4NTUsIA0KICAgICAgICAgICAgICAgICAgICAgICAg MHhGQQ0KICAgICAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgICAgICAgICBQYWNr YWdlICgweDA0KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgKFN5c3RlbUlPLCAweDA4LCAweDAwLCAweDAw MDAwMDAwMDAwMDEwMTYpDQogICAgICAgICAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMywgDQogICAgICAgICAgICAgICAgICAgICAgICAweEI5LCANCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4NjQNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg ICAgICAgICAgIH0pDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIElmIChBbmQgKENGR0Qs IDB4NDApKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIFJldHVybiAoUGFja2FnZSAo MHgwNCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIDB4MDMsIA0KICAg ICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQ0KICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgKEZGaXhl ZEhXLCAweDAwLCAweDAwLCAweDAwMDAwMDAwMDAwMDAwMDApDQogICAgICAgICAgICAgICAgICAg ICAgICB9LCANCg0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgDQogICAgICAgICAgICAg ICAgICAgICAgICAweDAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDNFOA0KICAgICAg ICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQ0K ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZVRl bXBsYXRlICgpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmVnaXN0ZXIgKFN5c3RlbUlPLCAweDA4LCAweDAwLCAweDAwMDAwMDAwMDAwMDEw MTQpDQogICAgICAgICAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMiwgDQogICAgICAgICAgICAgICAgICAgICAgICAweDAxLCANCiAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDFGNA0KICAgICAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAg ICAgICAgICBQYWNrYWdlICgweDA0KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgKFN5c3RlbUlPLCAweDA4 LCAweDAwLCAweDAwMDAwMDAwMDAwMDEwMTUpDQogICAgICAgICAgICAgICAgICAgICAgICB9LCAN Cg0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywgDQogICAgICAgICAgICAgICAgICAgICAg ICAweDU1LCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4RkENCiAgICAgICAgICAgICAgICAg ICAgfQ0KICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIElm IChBbmQgKENGR0QsIDB4MjApKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIFJldHVy biAoUGFja2FnZSAoMHgwMykNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg IDB4MDIsIA0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQ0KICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZVRlbXBsYXRlICgpDQog ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVn aXN0ZXIgKEZGaXhlZEhXLCAweDAwLCAweDAwLCAweDAwMDAwMDAwMDAwMDAwMDApDQogICAgICAg ICAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgDQog ICAgICAgICAgICAgICAgICAgICAgICAweDAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDNFOA0KICAgICAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgICAgICAgICBQYWNr YWdlICgweDA0KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgKFN5c3RlbUlPLCAweDA4LCAweDAwLCAweDAw MDAwMDAwMDAwMDEwMTQpDQogICAgICAgICAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMiwgDQogICAgICAgICAgICAgICAgICAgICAgICAweDAxLCANCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDFGNA0KICAgICAgICAgICAgICAgICAgICB9DQogICAg ICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgUmV0dXJuIChQYWNr YWdlICgweDAyKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIDB4MDEsIA0KICAgICAg ICAgICAgICAgIFBhY2thZ2UgKDB4MDQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgIFJlZ2lzdGVyIChGRml4ZWRIVywgMHgwMCwgMHgwMCwgMHgwMDAw MDAwMDAwMDAwMDAwKQ0KICAgICAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgICAg ICAgICAweDAxLCANCiAgICAgICAgICAgICAgICAgICAgMHgwMSwgDQogICAgICAgICAgICAgICAg ICAgIDB4MDNFOA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pDQogICAgICAgIH0N CiAgICB9DQoNCiAgICBTY29wZSAoXCkNCiAgICB7DQogICAgICAgIE5hbWUgKFNTRFQsIFBhY2th Z2UgKDB4MEMpDQogICAgICAgIHsNCiAgICAgICAgICAgICJDUFUwSVNUICIsIA0KICAgICAgICAg ICAgMHgzRjZFMzRFNywgDQogICAgICAgICAgICAweDAwMDAwMjM1LCANCiAgICAgICAgICAgICJD UFUxSVNUICIsIA0KICAgICAgICAgICAgMHgwMDAwMDAwMCwgDQogICAgICAgICAgICAweEYwMDBG RjUzLCANCiAgICAgICAgICAgICJDUFUwQ1NUICIsIA0KICAgICAgICAgICAgMHgzRjZFMzMwOSwg DQogICAgICAgICAgICAweDAwMDAwMURFLCANCiAgICAgICAgICAgICJDUFUxQ1NUICIsIA0KICAg ICAgICAgICAgMHgwMDAwMDAwMCwgDQogICAgICAgICAgICAweEYwMDBGRjUzDQogICAgICAgIH0p DQogICAgICAgIE5hbWUgKENGR0QsIDB4MDZEODgyRjIpDQogICAgICAgIE5hbWUgKFxQREMwLCAw eDgwMDAwMDAwKQ0KICAgICAgICBOYW1lIChcUERDMSwgMHg4MDAwMDAwMCkNCiAgICB9DQoNCiAg ICBTY29wZSAoXF9QUi5DUFUwKQ0KICAgIHsNCiAgICAgICAgTmFtZSAoSEkwLCAweDAwKQ0KICAg ICAgICBOYW1lIChIQzAsIDB4MDApDQogICAgICAgIE1ldGhvZCAoX1BEQywgMSwgTm90U2VyaWFs aXplZCkNCiAgICAgICAgew0KICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwgMHgw OCwgQ0FQMCkNCiAgICAgICAgICAgIFN0b3JlIChDQVAwLCBQREMwKQ0KICAgICAgICAgICAgSWYg KExBbmQgKEFuZCAoQ0ZHRCwgMHg0MDAwKSwgTEVxdWFsIChBbmQgKFBEQzAsIDB4MEEpLCAweDBB KSkpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgSWYgKEFuZCAoQ0ZHRCwgMHgwMykp DQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24g KElTVDAsIFN5c3RlbU1lbW9yeSwgRGVyZWZPZiAoSW5kZXggKFNTRFQsIDB4MDEpKSwgRGVyZWZP ZiAoSW5kZXggKFNTRFQsIDB4MDIpKSkNCiAgICAgICAgICAgICAgICAgICAgTG9hZCAoSVNUMCwg SEkwKQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIElmIChBbmQgKENGR0Qs IDB4MTApKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9u UmVnaW9uIChDU1QwLCBTeXN0ZW1NZW1vcnksIERlcmVmT2YgKEluZGV4IChTU0RULCAweDA3KSks IERlcmVmT2YgKEluZGV4IChTU0RULCAweDA4KSkpDQogICAgICAgICAgICAgICAgICAgIExvYWQg KENTVDAsIEhDMCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0N CiAgICB9DQoNCiAgICBTY29wZSAoXF9QUi5DUFUxKQ0KICAgIHsNCiAgICAgICAgTmFtZSAoSEkx LCAweDAwKQ0KICAgICAgICBOYW1lIChIQzEsIDB4MDApDQogICAgICAgIE1ldGhvZCAoX1BEQywg MSwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgew0KICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVs ZCAoQXJnMCwgMHgwOCwgQ0FQMSkNCiAgICAgICAgICAgIFN0b3JlIChDQVAxLCBQREMxKQ0KICAg ICAgICAgICAgSWYgKExBbmQgKEFuZCAoQ0ZHRCwgMHg0MDAwKSwgTEVxdWFsIChBbmQgKFBEQzEs IDB4MEEpLCAweDBBKSkpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgSWYgKEFuZCAo Q0ZHRCwgMHgwMykpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBPcGVy YXRpb25SZWdpb24gKElTVDEsIFN5c3RlbU1lbW9yeSwgRGVyZWZPZiAoSW5kZXggKFNTRFQsIDB4 MDQpKSwgRGVyZWZPZiAoSW5kZXggKFNTRFQsIDB4MDUpKSkNCiAgICAgICAgICAgICAgICAgICAg TG9hZCAoSVNUMSwgSEkxKQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIElm IChBbmQgKENGR0QsIDB4MTApKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgT3BlcmF0aW9uUmVnaW9uIChDU1QxLCBTeXN0ZW1NZW1vcnksIERlcmVmT2YgKEluZGV4IChT U0RULCAweDBBKSksIERlcmVmT2YgKEluZGV4IChTU0RULCAweDBCKSkpDQogICAgICAgICAgICAg ICAgICAgIExvYWQgKENTVDEsIEhDMSkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9 DQoNCiAgICAgICAgICAgIElmIChMRXF1YWwgKEFuZCAoUERDMSwgMHgwQSksIDB4MEEpKQ0KICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFdUSFQsIDB4MDEpKQ0KICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIFdUSFQpDQog ICAgICAgICAgICAgICAgICAgIFxfU0IuUFNSViAoMHhDOSwgMHgwMiwgMHgwMSwgMHgwMCwgMHgw MCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQp9 DQoNCg== --Multipart=_Wed__20_Jun_2007_02_31_51_+0900_KZTwyrG_5maCpUc3 Content-Type: text/plain; name="kldstat-v.txt" Content-Disposition: attachment; filename="kldstat-v.txt" Content-Transfer-Encoding: 7bit Id Refs Address Size Name 1 74 0xc0400000 32f394 kernel Contains modules: Id Name 152 null 153 pci/fixup_pci 154 pci/ignore_pci 155 pci/isab 156 pcib/pci 157 pci/pcib 158 watchdog 159 devfs 160 g_dev 161 g_disk 162 g_vfs 163 isab/isa 164 eisab/isa 165 isa/isahint 166 isa/orm 167 isa/pnp 168 elf32 169 shell 170 cpu/cpufreq 171 rootbus 172 ksem_init 173 ksem_open 174 ksem_unlink 175 ksem_close 176 ksem_post 177 ksem_wait 178 ksem_timedwait 179 ksem_trywait 180 ksem_getvalue 181 ksem_destroy 182 sem 183 enc 184 ether 185 loop 186 zlib 187 crypto 188 cryptodev 189 ufs 190 g_class 191 atkbdc/atkbd 192 isa/atkbdc 193 acpi/atkbdc 194 atkbdc/psm 195 isa/psmcpnp 196 acpi/psmcpnp 197 scterm-sc 198 scrndr-vga 199 g_bsd 200 g_mbr 201 g_mbrext 202 isa/pnpbios 203 pci/ioapic 204 nexus/legacy 205 legacy/cpu 206 legacy/mptable_pcib 207 pci/mptable_pcib 208 root/nexus 209 isa/sysresource 210 isa/atpic 211 acpi/atpic 212 isa/attimer 213 acpi/attimer 214 legacy/isa 215 isa/atdma 216 acpi/atdma 217 nexus/npx 218 isa/npxisa 219 acpi/npxisa 220 isa/pmtimer 221 legacy/pcib 222 pci/hostb 223 isa/pcibus_pnp 224 pci/pcibios_pcib 225 legacy/pir 226 isa/sc 227 isa/vga 2 2 0xc0730000 1f5b0 linux.ko Contains modules: Id Name 18 linuxelf 19 linuxaout 3 2 0xc0750000 4818 sysvmsg.ko Contains modules: Id Name 1 sysvmsg 2 msgrcv 3 msgsnd 4 msgget 5 msgctl 6 msgsys 4 2 0xc0755000 6360 sysvsem.ko Contains modules: Id Name 7 sysvsem 8 semop 9 semget 10 __semctl 11 semsys 5 2 0xc075c000 4a74 sysvshm.ko Contains modules: Id Name 12 sysvshm 13 shmget 14 shmdt 15 shmctl 16 shmat 17 shmsys 6 1 0xc0761000 5860 if_tap.ko Contains modules: Id Name 20 if_tap 7 1 0xc0767000 f964 if_iwi.ko Contains modules: Id Name 23 pci/iwi 8 3 0xc0777000 222d8 wlan.ko Contains modules: Id Name 21 wlan 9 3 0xc079a000 311c firmware.ko Contains modules: Id Name 22 firmware 10 1 0xc079e000 6758 if_rl.ko Contains modules: Id Name 48 rl/miibus 49 cardbus/rl 50 pci/rl 11 2 0xc07a5000 1edac miibus.ko Contains modules: Id Name 24 miibus/ukphy 25 miibus/e1000phy 26 miibus/xlphy 27 miibus/nsphy 28 miibus/mlphy 29 miibus/tlphy 30 miibus/rlphy 31 miibus/amphy 32 miibus/dcphy 33 miibus/pnphy 34 miibus/inphy 35 miibus/tdkphy 36 miibus/bmtphy 37 miibus/brgphy 38 miibus/xmphy 39 miibus/pnaphy 40 miibus/lxtphy 41 miibus/qsphy 42 miibus/acphy 43 miibus/nsgphy 44 miibus/rgephy 45 miibus/ruephy 46 miibus/gentbi 47 miibus/ip1000phy 12 1 0xc07c4000 7134 snd_ich.ko Contains modules: Id Name 52 pci/snd_ich 13 2 0xc07cc000 26968 sound.ko Contains modules: Id Name 51 sound 14 6 0xc07f3000 23184 usb.ko Contains modules: Id Name 53 uhub/uhub 54 usb/uhub 55 ehci/usb 56 uhci/usb 57 ohci/usb 58 cardbus/uhci 59 pci/uhci 60 cardbus/ohci 61 pci/ohci 62 cardbus/ehci 63 pci/ehci 15 1 0xc0817000 519c ugen.ko Contains modules: Id Name 64 uhub/ugen 16 1 0xc081d000 7c54 umass.ko Contains modules: Id Name 78 uhub/umass 17 2 0xc0825000 40450 cam.ko Contains modules: Id Name 65 cam 66 probe 67 xpt 68 cd 69 ch 70 da 71 pass 72 pt 73 sa 74 ses 75 sg 76 targbh 77 targ 18 1 0xc0866000 3780 umodem.ko Contains modules: Id Name 80 uhub/umodem 19 3 0xc086a000 3694 ucom.ko Contains modules: Id Name 79 ucom 20 2 0xc086e000 17920 agp.ko Contains modules: Id Name 81 pci/agp_i810 82 pci/agp_intel 83 pci/agp_via 84 pci/agp_sis 85 pci/agp_ali 86 pci/agp_amd 87 pci/agp_nvidia 88 pci/agp_ati 89 pci/agp_amd64 21 1 0xc0886000 19ac accf_data.ko Contains modules: Id Name 90 accf_data 22 1 0xc0888000 2484 accf_http.ko Contains modules: Id Name 91 accf_http 23 1 0xc088b000 c31c random.ko Contains modules: Id Name 92 random 24 1 0xc0898000 1cfc io.ko Contains modules: Id Name 93 io 25 1 0xc089a000 8884 aio.ko Contains modules: Id Name 94 aio 95 lio_listio 96 aio_waitcomplete 97 aio_write 98 aio_read 99 aio_error 100 aio_cancel 101 aio_suspend 102 aio_return 26 2 0xc08a3000 4d00 mem.ko Contains modules: Id Name 103 mem 27 1 0xc08a8000 55f0 kbdmux.ko Contains modules: Id Name 104 kbdmux 28 1 0xc08ae000 1d498 kqemu.ko Contains modules: Id Name 105 kqemu 29 5 0xc08cc000 e8c8 ata.ko Contains modules: Id Name 106 ata 30 1 0xc08db000 2166c atapci.ko Contains modules: Id Name 107 atapci/ata 108 pci/atapci 31 1 0xc08fd000 25f0 atacard.ko Contains modules: Id Name 109 pccard/ata 32 1 0xc0900000 3b40 atadisk.ko Contains modules: Id Name 110 ata/ad 33 1 0xc0904000 7100 atapicd.ko Contains modules: Id Name 111 ata/acd 34 1 0xc090c000 2ec8 wlan_wep.ko Contains modules: Id Name 112 wlan_wep 35 1 0xc090f000 300fc iwi_bss.ko Contains modules: Id Name 113 iwi_bss_fw 36 1 0xc0940000 b77c cbb.ko Contains modules: Id Name 115 isa/cbb 116 pci/cbb 37 3 0xc094c000 3514 exca.ko Contains modules: Id Name 114 exca 38 1 0xc0950000 76ec cardbus.ko Contains modules: Id Name 117 cbb/cardbus 39 1 0xc0958000 ef34 pccard.ko Contains modules: Id Name 118 cbb/pccard 119 pcic/pccard 40 1 0xc0967000 4234 uplcom.ko Contains modules: Id Name 120 uhub/uplcom 41 1 0xc096c000 3374 smb.ko Contains modules: Id Name 121 smbus/smb 42 3 0xc0970000 2c1c smbus.ko Contains modules: Id Name 43 1 0xc0973000 2af8 ichwd.ko Contains modules: Id Name 122 isa/ichwd 44 1 0xc0976000 415c ichsmb.ko Contains modules: Id Name 123 ichsmb/smbus 124 pci/ichsmb 45 1 0xc097b000 a4fc cpufreq.ko Contains modules: Id Name 125 pci/ichss_pci 126 cpu/ichss 127 cpu/est 128 cpu/p4tcc 129 cpu/powernow 130 cpu/smist 46 1 0xc0986000 3898 acpi_panasonic.ko Contains modules: Id Name 150 acpi/acpi_panasonic 47 2 0xc098a000 64df0 acpi.ko Contains modules: Id Name 131 nexus/acpi 132 acpi/acpi_button 133 acpi/acpi_isab 134 pcib/acpi_pci 135 acpi/acpi_pcib 136 pci/acpi_pcib 137 acpi/acpi_sysresource 138 acpi/acpi_timer 139 acpi/acpi_pci_link 140 acpi/acpi_tz 141 acpi/acpi_acad 142 acpi/acpi_cmbat 143 acpi/cpu 144 acpi/acpi_ec 145 acpi/acpi_hpet 146 acpi/acpi_lid 147 cpu/acpi_perf 148 acpi/acpi_smbat 149 cpu/acpi_throttle 48 1 0xc09ef000 6e40 i915.ko Contains modules: Id Name 151 agp/i915 49 2 0xc09f6000 10c68 drm.ko Contains modules: Id Name 50 2 0xc4e54000 6000 procfs.ko Contains modules: Id Name 229 procfs 51 2 0xc4e5b000 6000 pseudofs.ko Contains modules: Id Name 228 pseudofs 52 1 0xc4e61000 7000 linprocfs.ko Contains modules: Id Name 230 linprocfs 53 1 0xc4e6a000 2000 ntfs_iconv.ko Contains modules: Id Name 235 ntfs_iconv 54 1 0xc4e6c000 4000 libiconv.ko Contains modules: Id Name 231 iconv 232 iconv_xlat 233 iconv_xlat16 55 1 0xc4e7f000 b000 ntfs.ko Contains modules: Id Name 234 ntfs 56 2 0xc4f74000 e000 ipfw.ko Contains modules: Id Name 236 ipfw 57 1 0xc4f8e000 4000 ipdivert.ko Contains modules: Id Name 237 ipdivert 58 1 0xc50f8000 31000 nfsclient.ko Contains modules: Id Name 238 nfslock 239 nfs 240 nfs4 --Multipart=_Wed__20_Jun_2007_02_31_51_+0900_KZTwyrG_5maCpUc3--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070620023151.c0f3b961.nork>