From owner-freebsd-acpi@FreeBSD.ORG Mon Feb 5 11:10:39 2007 Return-Path: X-Original-To: freebsd-acpi@FreeBSD.org Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7C38C16A407 for ; Mon, 5 Feb 2007 11:10:36 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 6B3F313C48D for ; Mon, 5 Feb 2007 11:10:36 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (linimon@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l15BAaeU025676 for ; Mon, 5 Feb 2007 11:10:36 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l15BAV4C025667 for freebsd-acpi@FreeBSD.org; Mon, 5 Feb 2007 11:10:31 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 5 Feb 2007 11:10:31 GMT Message-Id: <200702051110.l15BAV4C025667@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: linimon set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-acpi@FreeBSD.org Cc: Subject: Current problem reports assigned to you X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Feb 2007 11:10:39 -0000 Current FreeBSD problem reports Critical problems Serious problems S Tracker Resp. Description -------------------------------------------------------------------------------- o i386/54756 acpi ACPI suspend/resume problem on CF-W2 laptop o i386/55661 acpi ACPI suspend/resume problem on ARMADA M700 o kern/55822 acpi No ACPI power off with SMP kernel o kern/56024 acpi ACPI suspend drains battery while in S3 o i386/64002 acpi acpi problem o i386/67273 acpi [hang] system hangs with acpi and Xfree o i386/72566 acpi ACPI, FreeBSD disables fan on Compaq Armada 1750 o i386/79080 acpi acpi thermal changes freezes HP nx6110 o i386/79081 acpi ACPI suspend/resume not working on HP nx6110 o kern/104625 acpi ACPI on ASUS A8N-32 SLI/ASUS P4P800 does not show ther 10 problems total. Non-critical problems S Tracker Resp. Description -------------------------------------------------------------------------------- o kern/67309 acpi zzz reboot computer (ACPI S3) o i386/69750 acpi Boot without ACPI failed on ASUS L5 o kern/73823 acpi [feature request] acpi / power-on by timer support o kern/76950 acpi ACPI wrongly blacklisted on Micron ClientPro 766Xi sys f kern/90871 acpi ACPI problems with ASUS A8N-VM-CSM o kern/97383 acpi Volume buttons on IBM Thinkpad crash system with ACPI o i386/97468 acpi [acpi] ACPI on ASUS A7V hangs on shutdown -p (power of o kern/98171 acpi [acpi] ACPI 1304 / 0501 errors on Acer 5024WLMi Laptop o kern/103365 acpi [acpi] acpi poweroff doesn't work with geli device att o kern/108017 acpi [acpi]: Acer Aspire 5600 o i386/108488 acpi ACPI-1304: *** Error: Method execution failed o kern/108581 acpi sysctl: hw.acpi.cpu.cx_lowest: Invalid argument o i386/108695 acpi [ACPI]: Fatal trap 9: general protection fault when in 13 problems total. From owner-freebsd-acpi@FreeBSD.ORG Mon Feb 5 13:10:09 2007 Return-Path: X-Original-To: freebsd-acpi@FreeBSD.org Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D539316A400 for ; Mon, 5 Feb 2007 13:10:08 +0000 (UTC) (envelope-from gaborgabris@gmail.com) Received: from an-out-0708.google.com (an-out-0708.google.com [209.85.132.243]) by mx1.freebsd.org (Postfix) with ESMTP id 8D66313C4AA for ; Mon, 5 Feb 2007 13:10:08 +0000 (UTC) (envelope-from gaborgabris@gmail.com) Received: by an-out-0708.google.com with SMTP id c24so920571ana for ; Mon, 05 Feb 2007 05:09:59 -0800 (PST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=p/+eLmyWu51U7Dyr6kcGTTlIq7AbPylDwc9VVd+0vxOIwbRcPCRjyArLkpiqRGdsR89kwd4n4H4x6kRQEcrPbzCw/jLuSpSdJ0XnVYbIxCrr/SFMUVcGbeATdMOJnDJyvmhEhiPrn/oz9tTqiysWJ2VK3xR12Nmr/Bzqvz5EOVs= Received: by 10.115.19.16 with SMTP id w16mr586706wai.1170679532906; Mon, 05 Feb 2007 04:45:32 -0800 (PST) Received: by 10.114.201.3 with HTTP; Mon, 5 Feb 2007 04:45:32 -0800 (PST) Message-ID: Date: Mon, 5 Feb 2007 13:45:32 +0100 From: "Gabor Gabris" To: freebsd-acpi@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Cc: Subject: Synapics Touchpad cursor freezes and battery querying X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Feb 2007 13:10:09 -0000 Hi When I use X and normally use the Synaptics touchpad in my laptop (an Albacomp Eco Traveller V4, AFAIK a rebranded Clevo M660S), the mouse cursor often freezes for some seconds (up to 4-5 secs) in random intervals. The freezes are likely to come in a sequence, that is when the cursor comes out from the frozen state I can move it a bit, then it freezes again. I have the same problem under Linux (but more sever there) and a bit of googling gave me some hints: the querying of battery state tooks so long that the touchpad's signals are dropped and it goes out of sync. I do not know whether it is the same problem under FreeBSD, but when the freezes come, I can see the following in dmesg: kbdc: TEST_AUX_PORT status:0000 kbdc: RESET_AUX return code:00fa kbdc: RESET_AUX status:00aa kbdc: RESET_AUX ID:0000 can't re-use a leaf (directional_scrolls)! can't re-use a leaf (low_speed_threshold)! can't re-use a leaf (min_movement)! can't re-use a leaf (squelch_level)! Typing this mail I noticed that not only mouse, but keyboard signals are lost - sometimes I type letters that do not show up. It occurs when I get the above messages in dmesg. Additionally I get the following in dmesg: battery0: battery initialization failed, giving up Battery monitoring applications however can read the actual charge of the battery in W (watts). Reading through the chapter 11 of the FreeBSD handbook (Using and Debugging FreeBSD ACPI) I tried to recompile the DSDT table, after disassembling, etc. it with acpidump. But iasl gave 47(!) errors when compiling it. What do you think, fixing DSDT can solve my problem? And if yes, can anybody please help me to fix it? Unfortunately I am not really into programming, I am just a user.... My .asl is at http://www.fw.hu/e66/gabor-clevo660s.asl Dmesgs with and without ACPI is attached, but unfortunately the problem is there when booting with ACPI too. Output of sysctl hw.acpi: hw.acpi.supported_sleep_state: S3 S4 S5 hw.acpi.power_button_state: S5 hw.acpi.sleep_button_state: S3 hw.acpi.lid_switch_state: NONE hw.acpi.standby_state: S1 hw.acpi.suspend_state: S3 hw.acpi.sleep_delay: 1 hw.acpi.s4bios: 0 hw.acpi.verbose: 1 hw.acpi.disable_on_reboot: 0 hw.acpi.handle_reboot: 0 hw.acpi.reset_video: 0 hw.acpi.cpu.cx_supported: C1/1 C2/1 C3/35 hw.acpi.cpu.cx_lowest: C1 hw.acpi.cpu.cx_usage: 100.00% 0.00% 0.00% hw.acpi.video.crt0.active: 0 hw.acpi.video.lcd0.active: 1 hw.acpi.battery.life: -1 hw.acpi.battery.time: -1 hw.acpi.battery.state: 7 hw.acpi.battery.units: 1 hw.acpi.battery.info_expire: 5 hw.acpi.acline: -1 hw.acpi.thermal.min_runtime: 0 hw.acpi.thermal.polling_rate: 10 hw.acpi.thermal.user_override: 0 hw.acpi.thermal.tz0.temperature: 47,8C hw.acpi.thermal.tz0.active: -1 hw.acpi.thermal.tz0.passive_cooling: 0 hw.acpi.thermal.tz0.thermal_flags: 0 hw.acpi.thermal.tz0._PSV: 89,8C hw.acpi.thermal.tz0._HOT: -1 hw.acpi.thermal.tz0._CRT: 104,8C hw.acpi.thermal.tz0._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 Thanks Gabor Gabris From owner-freebsd-acpi@FreeBSD.ORG Mon Feb 5 13:58:25 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 92F9116A400; Mon, 5 Feb 2007 13:58:24 +0000 (UTC) (envelope-from ducrot@poupinou.org) Received: from poup.poupinou.org (poup.poupinou.org [195.101.94.96]) by mx1.freebsd.org (Postfix) with ESMTP id 58AEB13C478; Mon, 5 Feb 2007 13:58:24 +0000 (UTC) (envelope-from ducrot@poupinou.org) Received: from ducrot by poup.poupinou.org with local (Exim) id 1HE4MJ-0005SP-00; Mon, 05 Feb 2007 14:58:15 +0100 Date: Mon, 5 Feb 2007 14:58:15 +0100 To: Peter Jeremy Message-ID: <20070205135815.GH12197@poupinou.org> References: <499c70c0701240044q32162e40ye8f923bf758e8633@mail.gmail.com> <20070124103226.GA12197@poupinou.org> <20070124181449.GI874@turion.vk2pj.dyndns.org> <20070124184828.GC12197@poupinou.org> <20070202094627.GA1758@turion.vk2pj.dyndns.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070202094627.GA1758@turion.vk2pj.dyndns.org> User-Agent: Mutt/1.5.9i From: Bruno Ducrot Cc: freebsd-acpi@freebsd.org, freebsd-mobile@freebsd.org Subject: Re: AMD Turion64 X2 works with PowerNow! thank you Bruno X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Feb 2007 13:58:27 -0000 On Fri, Feb 02, 2007 at 08:46:27PM +1100, Peter Jeremy wrote: > On Wed, 2007-Jan-24 19:48:28 +0100, Bruno Ducrot wrote: > >acpi_throttle is broken ATM on your machine. BTW if you boot with > >hint.apic.0.disabled="1" > >into /boot/loader.conf > >does this solve the acpi_throttle issue? > > No. hint.apic.0.disabled makes no difference to me: > hint.powernow.0.disabled has no effect (powernow0 still attaches) and > throttling can still cause random lockups unless acpi_throttle is > disabled. > Thanks for your report. In order to disable powernow, you shouldn't load the cpufreq kernel module, or don't compile your kernel with the device cpufreq. The cpufreq.ko is a bundlle of different hw drivers related to cpufreq, but without the acpi specfic ones, those being acpi_throttle and acpi_perf and they are included into acpi.ko. After that check, you want to go back to powernow enabled and without acpi_throttle, since powernow ofer way much more power saving than throttling. Cheers, -- Bruno Ducrot -- Which is worse: ignorance or apathy? -- Don't know. Don't care. From owner-freebsd-acpi@FreeBSD.ORG Mon Feb 5 18:37:02 2007 Return-Path: X-Original-To: freebsd-acpi@FreeBSD.org Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6F69116A4C1 for ; Mon, 5 Feb 2007 18:36:59 +0000 (UTC) (envelope-from nate@root.org) Received: from root.org (root.org [67.118.192.226]) by mx1.freebsd.org (Postfix) with ESMTP id E070A13C49D for ; Mon, 5 Feb 2007 18:36:58 +0000 (UTC) (envelope-from nate@root.org) Received: (qmail 51168 invoked from network); 5 Feb 2007 18:36:21 -0000 Received: from ppp-71-139-39-138.dsl.snfc21.pacbell.net (HELO ?10.0.5.59?) (nate-mail@71.139.39.138) by root.org with ESMTPA; 5 Feb 2007 18:36:21 -0000 Message-ID: <45C7791B.10809@root.org> Date: Mon, 05 Feb 2007 10:36:11 -0800 From: Nate Lawson User-Agent: Thunderbird 1.5.0.9 (Windows/20061207) MIME-Version: 1.0 To: Gabor Gabris References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@FreeBSD.org Subject: Re: Synapics Touchpad cursor freezes and battery querying X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Feb 2007 18:37:02 -0000 Gabor Gabris wrote: > Hi > > When I use X and normally use the Synaptics touchpad in my laptop (an > Albacomp Eco Traveller V4, AFAIK a rebranded Clevo M660S), the mouse > cursor often freezes for some seconds (up to 4-5 secs) in random > intervals. The freezes are likely to come in a sequence, that is when > the cursor comes out from the frozen state I can move it a bit, then > it freezes again. > I have the same problem under Linux (but more sever there) and a bit > of googling gave me some hints: the querying of battery state tooks so > long that the touchpad's signals are dropped and it goes out of sync. > I do not know whether it is the same problem under FreeBSD, but when > the freezes come, I can see the following in dmesg: > > kbdc: TEST_AUX_PORT status:0000 > kbdc: RESET_AUX return code:00fa > kbdc: RESET_AUX status:00aa > kbdc: RESET_AUX ID:0000 > can't re-use a leaf (directional_scrolls)! > can't re-use a leaf (low_speed_threshold)! > can't re-use a leaf (min_movement)! > can't re-use a leaf (squelch_level)! > > Typing this mail I noticed that not only mouse, but keyboard signals > are lost - sometimes I type letters that do not show up. It occurs > when I get the above messages in dmesg. > > Additionally I get the following in dmesg: > > battery0: battery initialization failed, giving up > > Battery monitoring applications however can read the actual charge of > the battery in W (watts). > > Reading through the chapter 11 of the FreeBSD handbook (Using and > Debugging FreeBSD ACPI) I tried to recompile the DSDT table, after > disassembling, etc. it with acpidump. But iasl gave 47(!) errors when > compiling it. What do you think, fixing DSDT can solve my problem? And > if yes, can anybody please help me to fix it? Unfortunately I am not > really into programming, I am just a user.... > > My .asl is at http://www.fw.hu/e66/gabor-clevo660s.asl > Dmesgs with and without ACPI is attached, but unfortunately the > problem is there when booting with ACPI too. > Output of sysctl hw.acpi: For now, it's easiest just to disable the battery part of acpi: debug.acpi.disabled="cmbat" This is in the manpage for acpi(4). -- Nate From owner-freebsd-acpi@FreeBSD.ORG Tue Feb 6 12:23:14 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 062F116A400 for ; Tue, 6 Feb 2007 12:23:14 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe01.swip.net [212.247.154.1]) by mx1.freebsd.org (Postfix) with ESMTP id 96FF913C428 for ; Tue, 6 Feb 2007 12:23:13 +0000 (UTC) (envelope-from hselasky@c2i.net) X-Cloudmark-Score: 0.000000 [] Received: from [193.217.102.48] (account mc467741@c2i.net HELO [10.0.0.249]) by mailfe01.swip.net (CommuniGate Pro SMTP 5.0.12) with ESMTPA id 385033951 for freebsd-acpi@freebsd.org; Tue, 06 Feb 2007 12:23:03 +0100 From: Hans Petter Selasky To: freebsd-acpi@freebsd.org Date: Tue, 6 Feb 2007 12:17:36 +0100 User-Agent: KMail/1.9.5 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200702061217.36453.hselasky@c2i.net> Subject: APIC problem X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Feb 2007 12:23:14 -0000 Hi, I have some problems with a HP pavillion dv2000 laptop. I need to use the following hint to make it work: hint.apic.0.disabled="1" I have currently tested it with FreeSBIE 2.0 (FreeBSD 6.2) and it freezes after the kernel has loaded. I tried to break into the debugger, but with no success. It worked with FreeBSD 5.4. Anything more I can do? Please CC me, hence I am not on this list. --HPS From owner-freebsd-acpi@FreeBSD.ORG Tue Feb 6 15:52:41 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A211B16A402 for ; Tue, 6 Feb 2007 15:52:41 +0000 (UTC) (envelope-from almarrie@gmail.com) Received: from an-out-0708.google.com (an-out-0708.google.com [209.85.132.250]) by mx1.freebsd.org (Postfix) with ESMTP id 647B013C46B for ; Tue, 6 Feb 2007 15:52:41 +0000 (UTC) (envelope-from almarrie@gmail.com) Received: by an-out-0708.google.com with SMTP id c24so1219603ana for ; Tue, 06 Feb 2007 07:52:41 -0800 (PST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=Hm+46VKswmvule/curi3opRnOxfBa2REyMbLKuGeDtR587kY1tUjQkXzje4MgO5ruk7tNxQywMZ7xNefad/qCP/iOb5svI3yTjoXVdNBhKBtYUFvMEZwceqsUYjbM+TZ/wQChnZzRNYv/VcVWur96YjUIhPHWUyb9FEcuGBEuMI= Received: by 10.115.46.9 with SMTP id y9mr779272waj.1170777160669; Tue, 06 Feb 2007 07:52:40 -0800 (PST) Received: by 10.115.91.7 with HTTP; Tue, 6 Feb 2007 07:52:40 -0800 (PST) Message-ID: <499c70c0702060752t37d7f306t6469ac929b29772d@mail.gmail.com> Date: Tue, 6 Feb 2007 15:52:40 +0000 From: "Abdullah Ibn Hamad Al-Marri" To: "Hans Petter Selasky" In-Reply-To: <200702061217.36453.hselasky@c2i.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <200702061217.36453.hselasky@c2i.net> Cc: freebsd-acpi@freebsd.org Subject: Re: APIC problem X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Feb 2007 15:52:41 -0000 On 2/6/07, Hans Petter Selasky wrote: > Hi, > > I have some problems with a HP pavillion dv2000 laptop. I need to use the > following hint to make it work: > > hint.apic.0.disabled="1" > > I have currently tested it with FreeSBIE 2.0 (FreeBSD 6.2) and it freezes > after the kernel has loaded. I tried to break into the debugger, but with no > success. > > It worked with FreeBSD 5.4. > > Anything more I can do? > > Please CC me, hence I am not on this list. > > --HPS Hans, is this the latest bios for your laptop? -- Regards, -Abdullah Ibn Hamad Al-Marri Arab Portal http://www.WeArab.Net/ From owner-freebsd-acpi@FreeBSD.ORG Tue Feb 6 16:10:46 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B768616A400 for ; Tue, 6 Feb 2007 16:10:46 +0000 (UTC) (envelope-from almarrie@gmail.com) Received: from an-out-0708.google.com (an-out-0708.google.com [209.85.132.248]) by mx1.freebsd.org (Postfix) with ESMTP id 78F9213C4AC for ; Tue, 6 Feb 2007 16:10:46 +0000 (UTC) (envelope-from almarrie@gmail.com) Received: by an-out-0708.google.com with SMTP id c24so1224996ana for ; Tue, 06 Feb 2007 08:10:45 -0800 (PST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=I4t8gapu8hCLjS9WHFZArMK2+nULVsLmSG9eW5qweAKgjEby3Tx6P0+KVM2yNU322SMfNq4ctYNtRI+GbNIG70bJli10gejWpGBkgxHDstnRmn9sndWPgCeS5Y0nTzi7LDVy0/cCB2j036wnFm+k6Ucn0E2OBxKZF9GrMoysVlY= Received: by 10.114.126.1 with SMTP id y1mr783629wac.1170778245286; Tue, 06 Feb 2007 08:10:45 -0800 (PST) Received: by 10.115.91.7 with HTTP; Tue, 6 Feb 2007 08:10:45 -0800 (PST) Message-ID: <499c70c0702060810m3ebb2b2dl37080c7b7bc31db5@mail.gmail.com> Date: Tue, 6 Feb 2007 16:10:45 +0000 From: "Abdullah Ibn Hamad Al-Marri" To: "Hans Petter Selasky" In-Reply-To: <200702061658.15884.hselasky@c2i.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <200702061217.36453.hselasky@c2i.net> <499c70c0702060752t37d7f306t6469ac929b29772d@mail.gmail.com> <200702061658.15884.hselasky@c2i.net> Cc: freebsd-acpi@freebsd.org Subject: Re: APIC problem X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Feb 2007 16:10:46 -0000 On 2/6/07, Hans Petter Selasky wrote: > On Tuesday 06 February 2007 16:52, Abdullah Ibn Hamad Al-Marri wrote: > > On 2/6/07, Hans Petter Selasky wrote: > > > Hi, > > > > > > I have some problems with a HP pavillion dv2000 laptop. I need to use the > > > following hint to make it work: > > > > > > hint.apic.0.disabled="1" > > > > > > I have currently tested it with FreeSBIE 2.0 (FreeBSD 6.2) and it freezes > > > after the kernel has loaded. I tried to break into the debugger, but with > > > no success. > > > > > > It worked with FreeBSD 5.4. > > > > > > Anything more I can do? > > > > > > Please CC me, hence I am not on this list. > > > > > > --HPS > > > > Hans, is this the latest bios for your laptop? > > I don't know. I simply haven't touched the BIOS, since I bought the laptop. > Probably it is not the latest. Is there some info I can dump from the laptop > that will help you ? > > --HPS Please check if there a newer bios, and go ahead and upgrade it, and check if this fix the issue or not. -- Regards, -Abdullah Ibn Hamad Al-Marri Arab Portal http://www.WeArab.Net/ From owner-freebsd-acpi@FreeBSD.ORG Tue Feb 6 16:57:28 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4C95316A401 for ; Tue, 6 Feb 2007 16:57:28 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.freebsd.org (Postfix) with ESMTP id 427FC13C4A7 for ; Tue, 6 Feb 2007 16:57:26 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id l16Gv90v070927; Tue, 6 Feb 2007 11:57:11 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: freebsd-acpi@freebsd.org Date: Tue, 6 Feb 2007 10:38:13 -0500 User-Agent: KMail/1.9.1 References: <200702061217.36453.hselasky@c2i.net> In-Reply-To: <200702061217.36453.hselasky@c2i.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200702061038.13832.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Tue, 06 Feb 2007 11:57:11 -0500 (EST) X-Virus-Scanned: ClamAV 0.88.3/2527/Tue Feb 6 05:14:46 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Hans Petter Selasky Subject: Re: APIC problem X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Feb 2007 16:57:28 -0000 On Tuesday 06 February 2007 06:17, Hans Petter Selasky wrote: > Hi, > > I have some problems with a HP pavillion dv2000 laptop. I need to use the > following hint to make it work: > > hint.apic.0.disabled="1" > > I have currently tested it with FreeSBIE 2.0 (FreeBSD 6.2) and it freezes > after the kernel has loaded. I tried to break into the debugger, but with no > success. What if you do 'kern.smp.disabled=1' but leave APIC enabled? Also, does it work ok if you disable just ACPI? (Does it use APIC in that case, some machines don't.) -- John Baldwin From owner-freebsd-acpi@FreeBSD.ORG Tue Feb 6 16:58:43 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0ADD416A405 for ; Tue, 6 Feb 2007 16:58:43 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe12.swip.net [212.247.155.97]) by mx1.freebsd.org (Postfix) with ESMTP id 6B49F13C4B8 for ; Tue, 6 Feb 2007 16:58:42 +0000 (UTC) (envelope-from hselasky@c2i.net) X-Cloudmark-Score: 0.000000 [] Received: from [193.217.102.48] (account mc467741@c2i.net HELO [10.0.0.249]) by mailfe12.swip.net (CommuniGate Pro SMTP 5.0.12) with ESMTPA id 234039517; Tue, 06 Feb 2007 16:58:37 +0100 From: Hans Petter Selasky To: "Abdullah Ibn Hamad Al-Marri" Date: Tue, 6 Feb 2007 16:58:15 +0100 User-Agent: KMail/1.9.5 References: <200702061217.36453.hselasky@c2i.net> <499c70c0702060752t37d7f306t6469ac929b29772d@mail.gmail.com> In-Reply-To: <499c70c0702060752t37d7f306t6469ac929b29772d@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200702061658.15884.hselasky@c2i.net> Cc: freebsd-acpi@freebsd.org Subject: Re: APIC problem X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Feb 2007 16:58:43 -0000 On Tuesday 06 February 2007 16:52, Abdullah Ibn Hamad Al-Marri wrote: > On 2/6/07, Hans Petter Selasky wrote: > > Hi, > > > > I have some problems with a HP pavillion dv2000 laptop. I need to use the > > following hint to make it work: > > > > hint.apic.0.disabled="1" > > > > I have currently tested it with FreeSBIE 2.0 (FreeBSD 6.2) and it freezes > > after the kernel has loaded. I tried to break into the debugger, but with > > no success. > > > > It worked with FreeBSD 5.4. > > > > Anything more I can do? > > > > Please CC me, hence I am not on this list. > > > > --HPS > > Hans, is this the latest bios for your laptop? I don't know. I simply haven't touched the BIOS, since I bought the laptop. Probably it is not the latest. Is there some info I can dump from the laptop that will help you ? --HPS From owner-freebsd-acpi@FreeBSD.ORG Tue Feb 6 22:05:05 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3387F16A400 for ; Tue, 6 Feb 2007 22:05:05 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe03.swip.net [212.247.154.65]) by mx1.freebsd.org (Postfix) with ESMTP id AF1C313C441 for ; Tue, 6 Feb 2007 22:05:04 +0000 (UTC) (envelope-from hselasky@c2i.net) X-Cloudmark-Score: 0.000000 [] Received: from [193.217.102.48] (account mc467741@c2i.net HELO [10.0.0.249]) by mailfe03.swip.net (CommuniGate Pro SMTP 5.0.12) with ESMTPA id 412152176; Tue, 06 Feb 2007 23:05:02 +0100 From: Hans Petter Selasky To: John Baldwin Date: Tue, 6 Feb 2007 23:04:41 +0100 User-Agent: KMail/1.9.5 References: <200702061217.36453.hselasky@c2i.net> <200702061038.13832.jhb@freebsd.org> In-Reply-To: <200702061038.13832.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200702062304.41236.hselasky@c2i.net> Cc: freebsd-acpi@freebsd.org Subject: Re: APIC problem X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Feb 2007 22:05:05 -0000 On Tuesday 06 February 2007 16:38, John Baldwin wrote: > On Tuesday 06 February 2007 06:17, Hans Petter Selasky wrote: > > Hi, > > > > I have some problems with a HP pavillion dv2000 laptop. I need to use the > > following hint to make it work: > > > > hint.apic.0.disabled="1" > > > > I have currently tested it with FreeSBIE 2.0 (FreeBSD 6.2) and it freezes > > after the kernel has loaded. I tried to break into the debugger, but with > > no success. > > What if you do 'kern.smp.disabled=1' but leave APIC enabled? Also, does it > work ok if you disable just ACPI? (Does it use APIC in that case, some > machines don't.) I downloaded the following image, hence it has KDB built in: 7.0-CURRENT-200702-i386-bootonly.iso I've tried with and without SMP and it is the same. If I disable ACPI, then I get a "trap 9: general protection fault while in kernel mode" just after that "nve0" has been initialized. Instruction pointer: 0x70:0xffff stack pointer: 0x28:0xfd0 frame pointer: 0x28:0xf65 current process = 0 (swapper) >bt MAXCPU(....) When I type in "show intrcnt" in the debugger everything looks ok to me. No extremely high interrupt counts. What I can add to the description of this laptop is that it has Windows XP installed on the HDD. And not long ago it didn't want to boot anymore, so I had to do a "destructive system recovery". I've also noticed that if I don't use the "ESC" key during boot, to get the boot-selection menu, but just let the system auto-boot, many times the FreeBSD 7.0 ISO CD will fail with a corrupt symbol table, when it is loading the kernel. I don't believe it. Can it be that something resistant has attached to some interrupt vectors? Is there an easy way I can find out what is using up all the CPU from the debugger. I tried "ps", but it doesn't show the CPU usage per thread. Thanks, --HPS From owner-freebsd-acpi@FreeBSD.ORG Tue Feb 6 22:29:49 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E2E2816A401 for ; Tue, 6 Feb 2007 22:29:49 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe03.swip.net [212.247.154.65]) by mx1.freebsd.org (Postfix) with ESMTP id 841D313C48D for ; Tue, 6 Feb 2007 22:29:49 +0000 (UTC) (envelope-from hselasky@c2i.net) X-Cloudmark-Score: 0.000000 [] Received: from [193.217.102.48] (account mc467741@c2i.net HELO [10.0.0.249]) by mailfe03.swip.net (CommuniGate Pro SMTP 5.0.12) with ESMTPA id 412170398; Tue, 06 Feb 2007 23:29:47 +0100 From: Hans Petter Selasky To: "Abdullah Ibn Hamad Al-Marri" Date: Tue, 6 Feb 2007 23:29:25 +0100 User-Agent: KMail/1.9.5 References: <200702061217.36453.hselasky@c2i.net> <200702061658.15884.hselasky@c2i.net> <499c70c0702060810m3ebb2b2dl37080c7b7bc31db5@mail.gmail.com> In-Reply-To: <499c70c0702060810m3ebb2b2dl37080c7b7bc31db5@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200702062329.25556.hselasky@c2i.net> Cc: freebsd-acpi@freebsd.org Subject: Re: APIC problem X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Feb 2007 22:29:50 -0000 On Tuesday 06 February 2007 17:10, Abdullah Ibn Hamad Al-Marri wrote: > On 2/6/07, Hans Petter Selasky wrote: > > Please check if there a newer bios, and go ahead and upgrade it, and > check if this fix the issue or not. No. This does not fix the problem. --HPS From owner-freebsd-acpi@FreeBSD.ORG Wed Feb 7 03:00:49 2007 Return-Path: X-Original-To: freebsd-acpi@hub.freebsd.org Delivered-To: freebsd-acpi@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 57A6C16A401 for ; Wed, 7 Feb 2007 03:00:41 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 04DEA13C494 for ; Wed, 7 Feb 2007 03:00:41 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l1730eZH013811 for ; Wed, 7 Feb 2007 03:00:40 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l1730eLg013810; Wed, 7 Feb 2007 03:00:40 GMT (envelope-from gnats) Date: Wed, 7 Feb 2007 03:00:40 GMT Message-Id: <200702070300.l1730eLg013810@freefall.freebsd.org> To: freebsd-acpi@FreeBSD.org From: "Stephane E. Potvin" Cc: Subject: Re: kern/108581: sysctl: hw.acpi.cpu.cx_lowest: Invalid argument X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: "Stephane E. Potvin" List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Feb 2007 03:00:49 -0000 The following reply was made to PR kern/108581; it has been noted by GNATS. From: "Stephane E. Potvin" To: bug-followup@FreeBSD.org, lars.stokholm@gmail.com Cc: Subject: Re: kern/108581: sysctl: hw.acpi.cpu.cx_lowest: Invalid argument Date: Tue, 06 Feb 2007 20:36:01 -0500 Could you please provide a verbose dmesg and your bios aml? You can retrieve the aml with acpidump(8), "acpidump -t -d > foo.asl" From owner-freebsd-acpi@FreeBSD.ORG Wed Feb 7 09:03:11 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5232D16A407 for ; Wed, 7 Feb 2007 09:03:11 +0000 (UTC) (envelope-from almarrie@gmail.com) Received: from nz-out-0506.google.com (nz-out-0506.google.com [64.233.162.235]) by mx1.freebsd.org (Postfix) with ESMTP id 137C813C47E for ; Wed, 7 Feb 2007 09:03:10 +0000 (UTC) (envelope-from almarrie@gmail.com) Received: by nz-out-0506.google.com with SMTP id i11so159534nzh for ; Wed, 07 Feb 2007 01:03:10 -0800 (PST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=OLgkSGotkBXRZQ0jnuGePEwOZGBsWy5k/aoVJoeoqpRYgYXBBHs8Y5UNcjqG7BimjSCnZy1v0433dqEtK1fZ5jpskJJmC+ZCH88xw2GIqz/CTTm0L7+2ZQI6RC15KLIzBlySNUjpM1YyMDskUhZc7x7Ks2UzICV4N83sHU09ON8= Received: by 10.114.39.16 with SMTP id m16mr1340038wam.1170838990169; Wed, 07 Feb 2007 01:03:10 -0800 (PST) Received: by 10.115.91.7 with HTTP; Wed, 7 Feb 2007 01:03:10 -0800 (PST) Message-ID: <499c70c0702070103v2c541de1v2d60281116ccd7b5@mail.gmail.com> Date: Wed, 7 Feb 2007 12:03:10 +0300 From: "Abdullah Ibn Hamad Al-Marri" To: "Hans Petter Selasky" In-Reply-To: <200702062304.41236.hselasky@c2i.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <200702061217.36453.hselasky@c2i.net> <200702061038.13832.jhb@freebsd.org> <200702062304.41236.hselasky@c2i.net> Cc: freebsd-acpi@freebsd.org Subject: Re: APIC problem X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Feb 2007 09:03:11 -0000 On 2/7/07, Hans Petter Selasky wrote: > On Tuesday 06 February 2007 16:38, John Baldwin wrote: > > On Tuesday 06 February 2007 06:17, Hans Petter Selasky wrote: > > > Hi, > > > > > > I have some problems with a HP pavillion dv2000 laptop. I need to use the > > > following hint to make it work: > > > > > > hint.apic.0.disabled="1" > > > > > > I have currently tested it with FreeSBIE 2.0 (FreeBSD 6.2) and it freezes > > > after the kernel has loaded. I tried to break into the debugger, but with > > > no success. > > > > What if you do 'kern.smp.disabled=1' but leave APIC enabled? Also, does it > > work ok if you disable just ACPI? (Does it use APIC in that case, some > > machines don't.) > > I downloaded the following image, hence it has KDB built in: > 7.0-CURRENT-200702-i386-bootonly.iso > > I've tried with and without SMP and it is the same. > > If I disable ACPI, then I get a "trap 9: general protection fault while in > kernel mode" just after that "nve0" has been initialized. > > Instruction pointer: 0x70:0xffff > stack pointer: 0x28:0xfd0 > frame pointer: 0x28:0xf65 > current process = 0 (swapper) > >bt > MAXCPU(....) > > When I type in "show intrcnt" in the debugger everything looks ok to me. No > extremely high interrupt counts. > > What I can add to the description of this laptop is that it has Windows XP > installed on the HDD. And not long ago it didn't want to boot anymore, so I > had to do a "destructive system recovery". I've also noticed that if I don't > use the "ESC" key during boot, to get the boot-selection menu, but just let > the system auto-boot, many times the FreeBSD 7.0 ISO CD will fail with a > corrupt symbol table, when it is loading the kernel. I don't believe it. Can > it be that something resistant has attached to some interrupt vectors? Is > there an easy way I can find out what is using up all the CPU from the > debugger. I tried "ps", but it doesn't show the CPU usage per thread. > > Thanks, > --HPS Could you disable the nve card in the bios? I see same report from a Toshiba user regarding the nve ethernet card. -- Regards, -Abdullah Ibn Hamad Al-Marri Arab Portal http://www.WeArab.Net/ From owner-freebsd-acpi@FreeBSD.ORG Wed Feb 7 10:14:28 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B06D116A405; Wed, 7 Feb 2007 10:14:26 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe09.swip.net [212.247.155.1]) by mx1.freebsd.org (Postfix) with ESMTP id 7DF0C13C481; Wed, 7 Feb 2007 10:14:25 +0000 (UTC) (envelope-from hselasky@c2i.net) X-Cloudmark-Score: 0.000000 [] Received: from [193.217.102.48] (account mc467741@c2i.net HELO [10.0.0.249]) by mailfe09.swip.net (CommuniGate Pro SMTP 5.0.12) with ESMTPA id 236237329; Wed, 07 Feb 2007 10:14:22 +0100 From: Hans Petter Selasky To: "Abdullah Ibn Hamad Al-Marri" Date: Wed, 7 Feb 2007 10:14:01 +0100 User-Agent: KMail/1.9.5 References: <200702061217.36453.hselasky@c2i.net> <200702062304.41236.hselasky@c2i.net> <499c70c0702070103v2c541de1v2d60281116ccd7b5@mail.gmail.com> In-Reply-To: <499c70c0702070103v2c541de1v2d60281116ccd7b5@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200702071014.01442.hselasky@c2i.net> Cc: freebsd-acpi@freebsd.org Subject: Re: APIC problem X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Feb 2007 10:14:28 -0000 On Wednesday 07 February 2007 10:03, Abdullah Ibn Hamad Al-Marri wrote: > On 2/7/07, Hans Petter Selasky wrote: > > On Tuesday 06 February 2007 16:38, John Baldwin wrote: > > > On Tuesday 06 February 2007 06:17, Hans Petter Selasky wrote: > > > > Hi, > > > > > > > > I have some problems with a HP pavillion dv2000 laptop. I need to use > > > > the following hint to make it work: > > > > > > > > hint.apic.0.disabled="1" > > > > > > > > I have currently tested it with FreeSBIE 2.0 (FreeBSD 6.2) and it > > > > freezes after the kernel has loaded. I tried to break into the > > > > debugger, but with no success. > > > > > > What if you do 'kern.smp.disabled=1' but leave APIC enabled? Also, > > > does it work ok if you disable just ACPI? (Does it use APIC in that > > > case, some machines don't.) > > > > I downloaded the following image, hence it has KDB built in: > > 7.0-CURRENT-200702-i386-bootonly.iso > > > > I've tried with and without SMP and it is the same. > > > > If I disable ACPI, then I get a "trap 9: general protection fault while > > in kernel mode" just after that "nve0" has been initialized. > > > > Instruction pointer: 0x70:0xffff > > stack pointer: 0x28:0xfd0 > > frame pointer: 0x28:0xf65 > > current process = 0 (swapper) > > > > >bt > > > > MAXCPU(....) > > > > When I type in "show intrcnt" in the debugger everything looks ok to me. > > No extremely high interrupt counts. > > > > What I can add to the description of this laptop is that it has Windows > > XP installed on the HDD. And not long ago it didn't want to boot anymore, > > so I had to do a "destructive system recovery". I've also noticed that if > > I don't use the "ESC" key during boot, to get the boot-selection menu, > > but just let the system auto-boot, many times the FreeBSD 7.0 ISO CD will > > fail with a corrupt symbol table, when it is loading the kernel. I don't > > believe it. Can it be that something resistant has attached to some > > interrupt vectors? Is there an easy way I can find out what is using up > > all the CPU from the debugger. I tried "ps", but it doesn't show the CPU > > usage per thread. > > > > Thanks, > > --HPS > > Could you disable the nve card in the bios? I see same report from a > Toshiba user regarding the nve ethernet card. That's not possible. No such option. :-( --HPS From owner-freebsd-acpi@FreeBSD.ORG Wed Feb 7 10:20:52 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from misaki (localhost [127.0.0.1]) by hub.freebsd.org (Postfix) with SMTP id 3970916A400; Wed, 7 Feb 2007 10:20:48 +0000 (UTC) (envelope-from ariff@FreeBSD.org) Date: Wed, 7 Feb 2007 18:20:17 +0800 From: Ariff Abdullah To: Hans Petter Selasky Message-Id: <20070207182017.3a35c22a.ariff@FreeBSD.org> In-Reply-To: <200702071014.01442.hselasky@c2i.net> References: <200702061217.36453.hselasky@c2i.net> <200702062304.41236.hselasky@c2i.net> <499c70c0702070103v2c541de1v2d60281116ccd7b5@mail.gmail.com> <200702071014.01442.hselasky@c2i.net> Organization: FreeBSD X-Mailer: /usr/local/lib/ruby/1.8/net/smtp.rb Mime-Version: 1.0 Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg="PGP-SHA1"; boundary="Signature=_Wed__7_Feb_2007_18_20_17_+0800_Jf9pJVECA8V=3eM+" Cc: freebsd-acpi@freebsd.org Subject: Re: APIC problem X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Feb 2007 10:20:52 -0000 --Signature=_Wed__7_Feb_2007_18_20_17_+0800_Jf9pJVECA8V=3eM+ Content-Type: text/plain; charset=US-ASCII Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, 7 Feb 2007 10:14:01 +0100 Hans Petter Selasky wrote: > On Wednesday 07 February 2007 10:03, Abdullah Ibn Hamad Al-Marri > wrote: > > On 2/7/07, Hans Petter Selasky wrote: > > > On Tuesday 06 February 2007 16:38, John Baldwin wrote: > > > > On Tuesday 06 February 2007 06:17, Hans Petter Selasky wrote: > > > > > Hi, > > > > > > > > > > I have some problems with a HP pavillion dv2000 laptop. I > > > > > need to use the following hint to make it work: > > > > > > > > > > hint.apic.0.disabled=3D"1" > > > > > > > > > > I have currently tested it with FreeSBIE 2.0 (FreeBSD 6.2) > > > > > and it freezes after the kernel has loaded. I tried to break > > > > > into the debugger, but with no success. > > > > > > > > What if you do 'kern.smp.disabled=3D1' but leave APIC enabled?=20 > > > > Also, does it work ok if you disable just ACPI? (Does it use > > > > APIC in that case, some machines don't.) > > > > > > I downloaded the following image, hence it has KDB built in: > > > 7.0-CURRENT-200702-i386-bootonly.iso > > > > > > I've tried with and without SMP and it is the same. > > > > > > If I disable ACPI, then I get a "trap 9: general protection > > > fault while in kernel mode" just after that "nve0" has been > > > initialized. > > > > > > Instruction pointer: 0x70:0xffff > > > stack pointer: 0x28:0xfd0 > > > frame pointer: 0x28:0xf65 > > > current process =3D 0 (swapper) > > > > > > >bt > > > > > > MAXCPU(....) > > > > > > When I type in "show intrcnt" in the debugger everything looks > > > ok to me. No extremely high interrupt counts. > > > > > > What I can add to the description of this laptop is that it has > > > Windows XP installed on the HDD. And not long ago it didn't want > > > to boot anymore, so I had to do a "destructive system recovery". > > > I've also noticed that if I don't use the "ESC" key during boot, > > > to get the boot-selection menu, but just let the system > > > auto-boot, many times the FreeBSD 7.0 ISO CD will fail with a > > > corrupt symbol table, when it is loading the kernel. I don't > > > believe it. Can it be that something resistant has attached to > > > some interrupt vectors? Is there an easy way I can find out what > > > is using up all the CPU from the debugger. I tried "ps", but it > > > doesn't show the CPU usage per thread. > > > > > > Thanks, > > > --HPS > > > > Could you disable the nve card in the bios? I see same report from > > a Toshiba user regarding the nve ethernet card. >=20 > That's not possible. No such option. :-( >=20 > Search the archives for "idle_cpu". -- Ariff Abdullah FreeBSD ... Recording in stereo is obviously too advanced and confusing for us idiot ***** users :P ........ --Signature=_Wed__7_Feb_2007_18_20_17_+0800_Jf9pJVECA8V=3eM+ Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (FreeBSD) iD8DBQFFyafllr+deMUwTNoRAv/kAJ9NyDy8zg/nBr7mNmuEsJQ+4UZS4QCgw/62 1c9BTQPa2IdyZyZ1Ka6lVWA= =VV5A -----END PGP SIGNATURE----- --Signature=_Wed__7_Feb_2007_18_20_17_+0800_Jf9pJVECA8V=3eM+-- From owner-freebsd-acpi@FreeBSD.ORG Wed Feb 7 14:54:21 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B529A16A404 for ; Wed, 7 Feb 2007 14:54:21 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe01.swip.net [212.247.154.1]) by mx1.freebsd.org (Postfix) with ESMTP id 1B1E813C4A3 for ; Wed, 7 Feb 2007 14:54:20 +0000 (UTC) (envelope-from hselasky@c2i.net) X-Cloudmark-Score: 0.000000 [] Received: from [193.217.102.48] (account mc467741@c2i.net HELO [10.0.0.249]) by mailfe01.swip.net (CommuniGate Pro SMTP 5.0.12) with ESMTPA id 386131454; Wed, 07 Feb 2007 15:54:18 +0100 From: Hans Petter Selasky To: Ariff Abdullah Date: Wed, 7 Feb 2007 15:53:56 +0100 User-Agent: KMail/1.9.5 References: <200702061217.36453.hselasky@c2i.net> <200702071014.01442.hselasky@c2i.net> <20070207182017.3a35c22a.ariff@FreeBSD.org> In-Reply-To: <20070207182017.3a35c22a.ariff@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200702071553.56525.hselasky@c2i.net> Cc: freebsd-acpi@freebsd.org Subject: Re: APIC problem X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Feb 2007 14:54:21 -0000 On Wednesday 07 February 2007 11:20, Ariff Abdullah wrote: > On Wed, 7 Feb 2007 10:14:01 +0100 > > Hans Petter Selasky wrote: > > On Wednesday 07 February 2007 10:03, Abdullah Ibn Hamad Al-Marri > > > > wrote: > > > On 2/7/07, Hans Petter Selasky wrote: > > > > On Tuesday 06 February 2007 16:38, John Baldwin wrote: > > > > > On Tuesday 06 February 2007 06:17, Hans Petter Selasky wrote: > > > > > > Hi, > > > > > > > > > > > > I have some problems with a HP pavillion dv2000 laptop. I > > > > > > need to use the following hint to make it work: > > > > > > > > > > > > hint.apic.0.disabled="1" > > > > > > > > > > > > I have currently tested it with FreeSBIE 2.0 (FreeBSD 6.2) > > > > > > and it freezes after the kernel has loaded. I tried to break > > > > > > into the debugger, but with no success. > > > > > > > > > > What if you do 'kern.smp.disabled=1' but leave APIC enabled? > > > > > Also, does it work ok if you disable just ACPI? (Does it use > > > > > APIC in that case, some machines don't.) > > > > > > > > I downloaded the following image, hence it has KDB built in: > > > > 7.0-CURRENT-200702-i386-bootonly.iso > > > > > > > > I've tried with and without SMP and it is the same. > > > > > > > > If I disable ACPI, then I get a "trap 9: general protection > > > > fault while in kernel mode" just after that "nve0" has been > > > > initialized. > > > > > > > > Instruction pointer: 0x70:0xffff > > > > stack pointer: 0x28:0xfd0 > > > > frame pointer: 0x28:0xf65 > > > > current process = 0 (swapper) > > > > > > > > >bt > > > > > > > > MAXCPU(....) > > > > > > > > When I type in "show intrcnt" in the debugger everything looks > > > > ok to me. No extremely high interrupt counts. > > > > > > > > What I can add to the description of this laptop is that it has > > > > Windows XP installed on the HDD. And not long ago it didn't want > > > > to boot anymore, so I had to do a "destructive system recovery". > > > > I've also noticed that if I don't use the "ESC" key during boot, > > > > to get the boot-selection menu, but just let the system > > > > auto-boot, many times the FreeBSD 7.0 ISO CD will fail with a > > > > corrupt symbol table, when it is loading the kernel. I don't > > > > believe it. Can it be that something resistant has attached to > > > > some interrupt vectors? Is there an easy way I can find out what > > > > is using up all the CPU from the debugger. I tried "ps", but it > > > > doesn't show the CPU usage per thread. > > > > > > > > Thanks, > > > > --HPS > > > > > > Could you disable the nve card in the bios? I see same report from > > > a Toshiba user regarding the nve ethernet card. > > > > That's not possible. No such option. :-( > > Search the archives for "idle_cpu". In the loader conf I did: load /boot/kernel/acpi.ko set machdep.cpu_idle_hlt=0 This made the FreeBSD 7.0-CURRENT CD work. But on the other hand the fan is now spinning, indicating that the CPU is not sleeping like it should. Do you see what the problem is? --HPS From owner-freebsd-acpi@FreeBSD.ORG Wed Feb 7 15:07:21 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from misaki (localhost [127.0.0.1]) by hub.freebsd.org (Postfix) with SMTP id CB48816A403; Wed, 7 Feb 2007 15:07:18 +0000 (UTC) (envelope-from ariff@FreeBSD.org) Date: Wed, 7 Feb 2007 23:06:47 +0800 From: Ariff Abdullah To: Hans Petter Selasky Message-Id: <20070207230647.20ceef7c.ariff@FreeBSD.org> In-Reply-To: <200702071553.56525.hselasky@c2i.net> References: <200702061217.36453.hselasky@c2i.net> <200702071014.01442.hselasky@c2i.net> <20070207182017.3a35c22a.ariff@FreeBSD.org> <200702071553.56525.hselasky@c2i.net> Organization: FreeBSD X-Mailer: /usr/local/lib/ruby/1.8/net/smtp.rb Mime-Version: 1.0 Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg="PGP-SHA1"; boundary="Signature=_Wed__7_Feb_2007_23_06_47_+0800_A6xj5+GoZjX7lFoV" Cc: freebsd-acpi@freebsd.org Subject: Re: APIC problem X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Feb 2007 15:07:21 -0000 --Signature=_Wed__7_Feb_2007_23_06_47_+0800_A6xj5+GoZjX7lFoV Content-Type: text/plain; charset=US-ASCII Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, 7 Feb 2007 15:53:56 +0100 Hans Petter Selasky wrote: > On Wednesday 07 February 2007 11:20, Ariff Abdullah wrote: > > On Wed, 7 Feb 2007 10:14:01 +0100 > > > > Hans Petter Selasky wrote: > > > On Wednesday 07 February 2007 10:03, Abdullah Ibn Hamad Al-Marri > > > > > > wrote: > > > > On 2/7/07, Hans Petter Selasky wrote: > > > > > On Tuesday 06 February 2007 16:38, John Baldwin wrote: > > > > > > On Tuesday 06 February 2007 06:17, Hans Petter Selasky > > > > > > wrote: > > > > > > > Hi, > > > > > > > > > > > > > > I have some problems with a HP pavillion dv2000 laptop. > > > > > > > I need to use the following hint to make it work: > > > > > > > > > > > > > > hint.apic.0.disabled=3D"1" > > > > > > > > > > > > > > I have currently tested it with FreeSBIE 2.0 (FreeBSD > > > > > > > 6.2) and it freezes after the kernel has loaded. I tried > > > > > > > to break into the debugger, but with no success. > > > > > > > > > > > > What if you do 'kern.smp.disabled=3D1' but leave APIC > > > > > > enabled? Also, does it work ok if you disable just ACPI?=20 > > > > > > (Does it use APIC in that case, some machines don't.) > > > > > > > > > > I downloaded the following image, hence it has KDB built in: > > > > > 7.0-CURRENT-200702-i386-bootonly.iso > > > > > > > > > > I've tried with and without SMP and it is the same. > > > > > > > > > > If I disable ACPI, then I get a "trap 9: general protection > > > > > fault while in kernel mode" just after that "nve0" has been > > > > > initialized. > > > > > > > > > > Instruction pointer: 0x70:0xffff > > > > > stack pointer: 0x28:0xfd0 > > > > > frame pointer: 0x28:0xf65 > > > > > current process =3D 0 (swapper) > > > > > > > > > > >bt > > > > > > > > > > MAXCPU(....) > > > > > > > > > > When I type in "show intrcnt" in the debugger everything > > > > > looks ok to me. No extremely high interrupt counts. > > > > > > > > > > What I can add to the description of this laptop is that it > > > > > has Windows XP installed on the HDD. And not long ago it > > > > > didn't want to boot anymore, so I had to do a "destructive > > > > > system recovery". I've also noticed that if I don't use the > > > > > "ESC" key during boot, to get the boot-selection menu, but > > > > > just let the system auto-boot, many times the FreeBSD 7.0 > > > > > ISO CD will fail with a corrupt symbol table, when it is > > > > > loading the kernel. I don't believe it. Can it be that > > > > > something resistant has attached to some interrupt vectors? > > > > > Is there an easy way I can find out what is using up all the > > > > > CPU from the debugger. I tried "ps", but it doesn't show the > > > > > CPU usage per thread. > > > > > > > > > > Thanks, > > > > > --HPS > > > > > > > > Could you disable the nve card in the bios? I see same report > > > > from a Toshiba user regarding the nve ethernet card. > > > > > > That's not possible. No such option. :-( > > > > Search the archives for "idle_cpu". >=20 > In the loader conf I did: >=20 > load /boot/kernel/acpi.ko > set machdep.cpu_idle_hlt=3D0 >=20 > This made the FreeBSD 7.0-CURRENT CD work. But on the other hand the > fan is now spinning, indicating that the CPU is not sleeping like > it should. >=20 > Do you see what the problem is? >=20 Yes, that is why I _asked_ you to search the archives for "idle_cpu". There is a __workaround__ patch for releng6, and you probably need to hack it around to make it fit with -current. -- Ariff Abdullah FreeBSD ... Recording in stereo is obviously too advanced and confusing for us idiot ***** users :P ........ --Signature=_Wed__7_Feb_2007_23_06_47_+0800_A6xj5+GoZjX7lFoV Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (FreeBSD) iD8DBQFFyesLlr+deMUwTNoRAsmgAKCv5/PwLwwmhLpC+TrIc9UlGVNPggCgtQA2 u0Rp4cUqW9fUW50Pdmi71qA= =Tn6d -----END PGP SIGNATURE----- --Signature=_Wed__7_Feb_2007_23_06_47_+0800_A6xj5+GoZjX7lFoV-- From owner-freebsd-acpi@FreeBSD.ORG Wed Feb 7 21:10:29 2007 Return-Path: X-Original-To: freebsd-acpi@hub.freebsd.org Delivered-To: freebsd-acpi@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C5AE516A401 for ; Wed, 7 Feb 2007 21:10:29 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 6F18213C49D for ; Wed, 7 Feb 2007 21:10:29 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l17LAT3P002695 for ; Wed, 7 Feb 2007 21:10:29 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l17LATeq002694; Wed, 7 Feb 2007 21:10:29 GMT (envelope-from gnats) Date: Wed, 7 Feb 2007 21:10:29 GMT Message-Id: <200702072110.l17LATeq002694@freefall.freebsd.org> To: freebsd-acpi@FreeBSD.org From: "Lars Stokholm" X-Mailman-Approved-At: Wed, 07 Feb 2007 21:12:49 +0000 Cc: Subject: Re: kern/108581: sysctl: hw.acpi.cpu.cx_lowest: Invalid argument X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Lars Stokholm List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Feb 2007 21:10:29 -0000 The following reply was made to PR kern/108581; it has been noted by GNATS. From: "Lars Stokholm" To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/108581: sysctl: hw.acpi.cpu.cx_lowest: Invalid argument Date: Wed, 7 Feb 2007 21:34:58 +0100 ------=_Part_11191_18960977.1170880498859 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline I hope 'dmesg -a' was the right one, and I hope sending it as attachments works. They should be here... ------=_Part_11191_18960977.1170880498859 Content-Type: application/octet-stream; name=dmesg Content-Transfer-Encoding: base64 X-Attachment-Id: f_exw7z0ds Content-Disposition: attachment; filename="dmesg" Q29weXJpZ2h0IChjKSAxOTkyLTIwMDcgVGhlIEZyZWVCU0QgUHJvamVjdC4KQ29weXJpZ2h0IChj KSAxOTc5LCAxOTgwLCAxOTgzLCAxOTg2LCAxOTg4LCAxOTg5LCAxOTkxLCAxOTkyLCAxOTkzLCAx OTk0CglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiBBbGwgcmln aHRzIHJlc2VydmVkLgpGcmVlQlNEIGlzIGEgcmVnaXN0ZXJlZCB0cmFkZW1hcmsgb2YgVGhlIEZy ZWVCU0QgRm91bmRhdGlvbi4KRnJlZUJTRCA2LjItU1RBQkxFICMwOiBUaHUgRmViICAxIDIxOjE1 OjU3IENFVCAyMDA3CiAgICByb290QGxhcnMtZGVza3RvcDovdXNyL29iai91c3Ivc3JjL3N5cy9H RU5FUklDClRpbWVjb3VudGVyICJpODI1NCIgZnJlcXVlbmN5IDExOTMxODIgSHogcXVhbGl0eSAw CkNQVTogSW50ZWwoUikgUGVudGl1bShSKSA0IENQVSAzLjAwR0h6ICgyOTkyLjUxLU1IeiA2ODYt Y2xhc3MgQ1BVKQogIE9yaWdpbiA9ICJHZW51aW5lSW50ZWwiICBJZCA9IDB4ZjI5ICBTdGVwcGlu ZyA9IDkKICBGZWF0dXJlcz0weGJmZWJmYmZmPEZQVSxWTUUsREUsUFNFLFRTQyxNU1IsUEFFLE1D RSxDWDgsQVBJQyxTRVAsTVRSUixQR0UsTUNBLENNT1YsUEFULFBTRTM2LENMRkxVU0gsRFRTLEFD UEksTU1YLEZYU1IsU1NFLFNTRTIsU1MsSFRULFRNLFBCRT4KICBGZWF0dXJlczI9MHg0NDAwPENO VFgtSUQsPGIxND4+CnJlYWwgbWVtb3J5ICA9IDUzNjgwNTM3NiAoNTExIE1CKQphdmFpbCBtZW1v cnkgPSA1MTU4ODMwMDggKDQ5MSBNQikKQUNQSSBBUElDIFRhYmxlOiA8SW50ZWxSIEFXUkRBQ1BJ Pgppb2FwaWMwIDxWZXJzaW9uIDIuMD4gaXJxcyAwLTIzIG9uIG1vdGhlcmJvYXJkCmtiZDEgYXQg a2JkbXV4MAphdGhfaGFsOiAwLjkuMjAuMyAoQVI1MjEwLCBBUjUyMTEsIEFSNTIxMiwgUkY1MTEx LCBSRjUxMTIsIFJGMjQxMywgUkY1NDEzKQphY3BpMDogPEludGVsUiBBV1JEQUNQST4gb24gbW90 aGVyYm9hcmQKYWNwaTA6IFBvd2VyIEJ1dHRvbiAoZml4ZWQpClRpbWVjb3VudGVyICJBQ1BJLWZh c3QiIGZyZXF1ZW5jeSAzNTc5NTQ1IEh6IHF1YWxpdHkgMTAwMAphY3BpX3RpbWVyMDogPDI0LWJp dCB0aW1lciBhdCAzLjU3OTU0NU1Iej4gcG9ydCAweDQwOC0weDQwYiBvbiBhY3BpMApjcHUwOiA8 QUNQSSBDUFU+IG9uIGFjcGkwCmFjcGlfYnV0dG9uMDogPFBvd2VyIEJ1dHRvbj4gb24gYWNwaTAK YWNwaV9idXR0b24xOiA8U2xlZXAgQnV0dG9uPiBvbiBhY3BpMApwY2liMDogPEFDUEkgSG9zdC1Q Q0kgYnJpZGdlPiBwb3J0IDB4Y2Y4LTB4Y2ZmIG9uIGFjcGkwCnBjaTA6IDxBQ1BJIFBDSSBidXM+ IG9uIHBjaWIwCmFncDA6IDxJbnRlbCA4Mjg2NSBob3N0IHRvIEFHUCBicmlkZ2U+IG1lbSAweGUw MDAwMDAwLTB4ZTdmZmZmZmYgYXQgZGV2aWNlIDAuMCBvbiBwY2kwCnBjaWIxOiA8UENJLVBDSSBi cmlkZ2U+IGF0IGRldmljZSAxLjAgb24gcGNpMApwY2kxOiA8UENJIGJ1cz4gb24gcGNpYjEKcGNp MTogPGRpc3BsYXksIFZHQT4gYXQgZGV2aWNlIDAuMCAobm8gZHJpdmVyIGF0dGFjaGVkKQpwY2kx OiA8ZGlzcGxheT4gYXQgZGV2aWNlIDAuMSAobm8gZHJpdmVyIGF0dGFjaGVkKQp1aGNpMDogPElu dGVsIDgyODAxRUIgKElDSDUpIFVTQiBjb250cm9sbGVyIFVTQi1BPiBwb3J0IDB4Y2MwMC0weGNj MWYgaXJxIDE2IGF0IGRldmljZSAyOS4wIG9uIHBjaTAKdWhjaTA6IFtHSUFOVC1MT0NLRURdCnVz YjA6IDxJbnRlbCA4MjgwMUVCIChJQ0g1KSBVU0IgY29udHJvbGxlciBVU0ItQT4gb24gdWhjaTAK dXNiMDogVVNCIHJldmlzaW9uIDEuMAp1aHViMDogSW50ZWwgVUhDSSByb290IGh1YiwgY2xhc3Mg OS8wLCByZXYgMS4wMC8xLjAwLCBhZGRyIDEKdWh1YjA6IDIgcG9ydHMgd2l0aCAyIHJlbW92YWJs ZSwgc2VsZiBwb3dlcmVkCnVoY2kxOiA8SW50ZWwgODI4MDFFQiAoSUNINSkgVVNCIGNvbnRyb2xs ZXIgVVNCLUI+IHBvcnQgMHhjMDAwLTB4YzAxZiBpcnEgMTkgYXQgZGV2aWNlIDI5LjEgb24gcGNp MAp1aGNpMTogW0dJQU5ULUxPQ0tFRF0KdXNiMTogPEludGVsIDgyODAxRUIgKElDSDUpIFVTQiBj b250cm9sbGVyIFVTQi1CPiBvbiB1aGNpMQp1c2IxOiBVU0IgcmV2aXNpb24gMS4wCnVodWIxOiBJ bnRlbCBVSENJIHJvb3QgaHViLCBjbGFzcyA5LzAsIHJldiAxLjAwLzEuMDAsIGFkZHIgMQp1aHVi MTogMiBwb3J0cyB3aXRoIDIgcmVtb3ZhYmxlLCBzZWxmIHBvd2VyZWQKdWhjaTI6IDxJbnRlbCA4 MjgwMUVCIChJQ0g1KSBVU0IgY29udHJvbGxlciBVU0ItQz4gcG9ydCAweGM0MDAtMHhjNDFmIGly cSAxOCBhdCBkZXZpY2UgMjkuMiBvbiBwY2kwCnVoY2kyOiBbR0lBTlQtTE9DS0VEXQp1c2IyOiA8 SW50ZWwgODI4MDFFQiAoSUNINSkgVVNCIGNvbnRyb2xsZXIgVVNCLUM+IG9uIHVoY2kyCnVzYjI6 IFVTQiByZXZpc2lvbiAxLjAKdWh1YjI6IEludGVsIFVIQ0kgcm9vdCBodWIsIGNsYXNzIDkvMCwg cmV2IDEuMDAvMS4wMCwgYWRkciAxCnVodWIyOiAyIHBvcnRzIHdpdGggMiByZW1vdmFibGUsIHNl bGYgcG93ZXJlZAp1aGNpMzogPEludGVsIDgyODAxRUIgKElDSDUpIFVTQiBjb250cm9sbGVyIFVT Qi1EPiBwb3J0IDB4YzgwMC0weGM4MWYgaXJxIDE2IGF0IGRldmljZSAyOS4zIG9uIHBjaTAKdWhj aTM6IFtHSUFOVC1MT0NLRURdCnVzYjM6IDxJbnRlbCA4MjgwMUVCIChJQ0g1KSBVU0IgY29udHJv bGxlciBVU0ItRD4gb24gdWhjaTMKdXNiMzogVVNCIHJldmlzaW9uIDEuMAp1aHViMzogSW50ZWwg VUhDSSByb290IGh1YiwgY2xhc3MgOS8wLCByZXYgMS4wMC8xLjAwLCBhZGRyIDEKdWh1YjM6IDIg cG9ydHMgd2l0aCAyIHJlbW92YWJsZSwgc2VsZiBwb3dlcmVkCmVoY2kwOiA8SW50ZWwgODI4MDFF Qi9SIChJQ0g1KSBVU0IgMi4wIGNvbnRyb2xsZXI+IG1lbSAweGZhMTAwMDAwLTB4ZmExMDAzZmYg aXJxIDIzIGF0IGRldmljZSAyOS43IG9uIHBjaTAKZWhjaTA6IFtHSUFOVC1MT0NLRURdCnVzYjQ6 IEVIQ0kgdmVyc2lvbiAxLjAKdXNiNDogY29tcGFuaW9uIGNvbnRyb2xsZXJzLCAyIHBvcnRzIGVh Y2g6IHVzYjAgdXNiMSB1c2IyIHVzYjMKdXNiNDogPEludGVsIDgyODAxRUIvUiAoSUNINSkgVVNC IDIuMCBjb250cm9sbGVyPiBvbiBlaGNpMAp1c2I0OiBVU0IgcmV2aXNpb24gMi4wCnVodWI0OiBJ bnRlbCBFSENJIHJvb3QgaHViLCBjbGFzcyA5LzAsIHJldiAyLjAwLzEuMDAsIGFkZHIgMQp1aHVi NDogOCBwb3J0cyB3aXRoIDggcmVtb3ZhYmxlLCBzZWxmIHBvd2VyZWQKcGNpYjI6IDxBQ1BJIFBD SS1QQ0kgYnJpZGdlPiBhdCBkZXZpY2UgMzAuMCBvbiBwY2kwCnBjaTI6IDxBQ1BJIFBDSSBidXM+ IG9uIHBjaWIyCmF0aDA6IDxBdGhlcm9zIDUyMTI+IG1lbSAweGZhMDAwMDAwLTB4ZmEwMGZmZmYg aXJxIDE4IGF0IGRldmljZSAyLjAgb24gcGNpMgphdGgwOiBFdGhlcm5ldCBhZGRyZXNzOiAwMDox NjplNjozYzpkZjo5NAphdGgwOiBtYWMgNy45IHBoeSA0LjUgcmFkaW8gNS42CnZyMDogPFZJQSBW VDYxMDUgUmhpbmUgSUlJIDEwLzEwMEJhc2VUWD4gcG9ydCAweGIwMDAtMHhiMGZmIG1lbSAweGZh MDEwMDAwLTB4ZmEwMTAwZmYgaXJxIDIwIGF0IGRldmljZSA5LjAgb24gcGNpMgptaWlidXMwOiA8 TUlJIGJ1cz4gb24gdnIwCnVrcGh5MDogPEdlbmVyaWMgSUVFRSA4MDIuM3UgbWVkaWEgaW50ZXJm YWNlPiBvbiBtaWlidXMwCnVrcGh5MDogIDEwYmFzZVQsIDEwYmFzZVQtRkRYLCAxMDBiYXNlVFgs IDEwMGJhc2VUWC1GRFgsIGF1dG8KdnIwOiBFdGhlcm5ldCBhZGRyZXNzOiAwMDowYzo3Njo3Njo0 MTpmNwpmd29oY2kwOiA8VklBIEZpcmUgSUkgKFZUNjMwNik+IHBvcnQgMHhiNDAwLTB4YjQ3ZiBt ZW0gMHhmYTAxMTAwMC0weGZhMDExN2ZmIGlycSAyMSBhdCBkZXZpY2UgMTAuMCBvbiBwY2kyCmZ3 b2hjaTA6IE9IQ0kgdmVyc2lvbiAxLjAgKFJPTT0xKQpmd29oY2kwOiBOby4gb2YgSXNvY2hyb25v dXMgY2hhbm5lbHMgaXMgOC4KZndvaGNpMDogRVVJNjQgMDA6MDA6MTA6ZGM6MDA6NDg6NmQ6MjgK ZndvaGNpMDogUGh5IDEzOTRhIGF2YWlsYWJsZSBTNDAwLCAzIHBvcnRzLgpmd29oY2kwOiBMaW5r IFM0MDAsIG1heF9yZWMgMjA0OCBieXRlcy4KZmlyZXdpcmUwOiA8SUVFRTEzOTQoRmlyZVdpcmUp IGJ1cz4gb24gZndvaGNpMApmd2UwOiA8RXRoZXJuZXQgb3ZlciBGaXJlV2lyZT4gb24gZmlyZXdp cmUwCmlmX2Z3ZTA6IEZha2UgRXRoZXJuZXQgYWRkcmVzczogMDI6MDA6MTA6NDg6NmQ6MjgKZndl MDogRXRoZXJuZXQgYWRkcmVzczogMDI6MDA6MTA6NDg6NmQ6MjgKZndlMDogaWZfc3RhcnQgcnVu bmluZyBkZWZlcnJlZCBmb3IgR2lhbnQKc2JwMDogPFNCUC0yL1NDU0kgb3ZlciBGaXJlV2lyZT4g b24gZmlyZXdpcmUwCmZ3b2hjaTA6IEluaXRpYXRlIGJ1cyByZXNldApmd29oY2kwOiBub2RlX2lk PTB4YzgwMGZmYzAsIGdlbj0xLCBDWUNMRU1BU1RFUiBtb2RlCmZpcmV3aXJlMDogMSBub2Rlcywg bWF4aG9wIDw9IDAsIGNhYmxlIElSTSA9IDAgKG1lKQpmaXJld2lyZTA6IGJ1cyBtYW5hZ2VyIDAg KG1lKQppc2FiMDogPFBDSS1JU0EgYnJpZGdlPiBhdCBkZXZpY2UgMzEuMCBvbiBwY2kwCmlzYTA6 IDxJU0EgYnVzPiBvbiBpc2FiMAphdGFwY2kwOiA8SW50ZWwgSUNINSBVRE1BMTAwIGNvbnRyb2xs ZXI+IHBvcnQgMHgxZjAtMHgxZjcsMHgzZjYsMHgxNzAtMHgxNzcsMHgzNzYsMHhmMDAwLTB4ZjAw ZiBhdCBkZXZpY2UgMzEuMSBvbiBwY2kwCmF0YTA6IDxBVEEgY2hhbm5lbCAwPiBvbiBhdGFwY2kw CmF0YTE6IDxBVEEgY2hhbm5lbCAxPiBvbiBhdGFwY2kwCnBjaTA6IDxzZXJpYWwgYnVzLCBTTUJ1 cz4gYXQgZGV2aWNlIDMxLjMgKG5vIGRyaXZlciBhdHRhY2hlZCkKcGNtMDogPEludGVsIElDSDUg KDgyODAxRUIpPiBwb3J0IDB4ZDQwMC0weGQ0ZmYsMHhkODAwLTB4ZDgzZiBtZW0gMHhmYTEwMTAw MC0weGZhMTAxMWZmLDB4ZmExMDIwMDAtMHhmYTEwMjBmZiBpcnEgMTcgYXQgZGV2aWNlIDMxLjUg b24gcGNpMApwY20wOiBwcmltYXJ5IGNvZGVjIG5vdCByZWFkeSEKcGNtMDogPEMtTWVkaWEgRWxl Y3Ryb25pY3MgQ01JOTc2MSBBQzk3IENvZGVjPgphY3BpX3R6MDogPFRoZXJtYWwgWm9uZT4gb24g YWNwaTAKZmRjMDogPGZsb3BweSBkcml2ZSBjb250cm9sbGVyPiBwb3J0IDB4M2YwLTB4M2Y1LDB4 M2Y3IGlycSA2IGRycSAyIG9uIGFjcGkwCmZkYzA6IFtGQVNUXQpzaW8wOiA8MTY1NTBBLWNvbXBh dGlibGUgQ09NIHBvcnQ+IHBvcnQgMHgzZjgtMHgzZmYgaXJxIDQgZmxhZ3MgMHgxMCBvbiBhY3Bp MApzaW8wOiB0eXBlIDE2NTUwQQpwcGMwOiA8RUNQIHBhcmFsbGVsIHByaW50ZXIgcG9ydD4gcG9y dCAweDM3OC0weDM3ZiwweDc3OC0weDc3YiBpcnEgNyBkcnEgMyBvbiBhY3BpMApwcGMwOiBTTUMt bGlrZSBjaGlwc2V0IChFQ1AvRVBQL1BTMi9OSUJCTEUpIGluIENPTVBBVElCTEUgbW9kZQpwcGMw OiBGSUZPIHdpdGggMTYvMTYvOSBieXRlcyB0aHJlc2hvbGQKcHBidXMwOiA8UGFyYWxsZWwgcG9y dCBidXM+IG9uIHBwYzAKcGxpcDA6IDxQTElQIG5ldHdvcmsgaW50ZXJmYWNlPiBvbiBwcGJ1czAK bHB0MDogPFByaW50ZXI+IG9uIHBwYnVzMApscHQwOiBJbnRlcnJ1cHQtZHJpdmVuIHBvcnQKcHBp MDogPFBhcmFsbGVsIEkvTz4gb24gcHBidXMwCmF0a2JkYzA6IDxLZXlib2FyZCBjb250cm9sbGVy IChpODA0Mik+IHBvcnQgMHg2MCwweDY0IGlycSAxIG9uIGFjcGkwCmF0a2JkMDogPEFUIEtleWJv YXJkPiBpcnEgMSBvbiBhdGtiZGMwCmtiZDAgYXQgYXRrYmQwCmF0a2JkMDogW0dJQU5ULUxPQ0tF RF0KcG10aW1lcjAgb24gaXNhMApvcm0wOiA8SVNBIE9wdGlvbiBST01zPiBhdCBpb21lbSAweGMw MDAwLTB4Y2JmZmYsMHhjYzAwMC0weGQzZmZmLDB4ZWYwMDAtMHhlZmZmZiBvbiBpc2EwCnNjMDog PFN5c3RlbSBjb25zb2xlPiBhdCBmbGFncyAweDEwMCBvbiBpc2EwCnNjMDogVkdBIDwxNiB2aXJ0 dWFsIGNvbnNvbGVzLCBmbGFncz0weDMwMD4Kc2lvMTogY29uZmlndXJlZCBpcnEgMyBub3QgaW4g Yml0bWFwIG9mIHByb2JlZCBpcnFzIDAKc2lvMTogcG9ydCBtYXkgbm90IGJlIGVuYWJsZWQKdmdh MDogPEdlbmVyaWMgSVNBIFZHQT4gYXQgcG9ydCAweDNjMC0weDNkZiBpb21lbSAweGEwMDAwLTB4 YmZmZmYgb24gaXNhMAp1bWFzczA6IE1FRElPTiBNZWRpb24gRmxhc2ggWEwgVjMuMEEsIHJldiAx LjEwLzMuMGEsIGFkZHIgMgp1bXMwOiBNaWNyb3NvZnQgQmFzaWMgT3B0aWNhbCBNb3VzZSwgcmV2 IDEuMTAvMC4wMCwgYWRkciAyLCBpY2xhc3MgMy8xCnVtczA6IDMgYnV0dG9ucyBhbmQgWiBkaXIu ClRpbWVjb3VudGVyICJUU0MiIGZyZXF1ZW5jeSAyOTkyNTEzNjcyIEh6IHF1YWxpdHkgODAwClRp bWVjb3VudGVycyB0aWNrIGV2ZXJ5IDEuMDAwIG1zZWMKYWQwOiAxNTI2MjdNQiA8U2VhZ2F0ZSBT VDMxNjAwMjFBIDMuMDQ+IGF0IGF0YTAtbWFzdGVyIFVETUExMDAKYWQxOiAxNTI2MjdNQiA8U2Vh Z2F0ZSBTVDMxNjAwMjNBIDguMDE+IGF0IGF0YTAtc2xhdmUgVURNQTEwMAphY2QwOiBEVkRST00g PFNPTlkgRFZELVJPTSBERFUxNjEyL0RZUzM+IGF0IGF0YTEtbWFzdGVyIFVETUEzMwphY2QxOiBE VkRSIDxQSU9ORUVSIERWRCBSVyBEVlItMTA2RC8xLjA1PiBhdCBhdGExLXNsYXZlIFVETUEzMwpk YTAgYXQgdW1hc3Mtc2ltMCBidXMgMCB0YXJnZXQgMCBsdW4gMApkYTA6IDxNZWRpb24gRmxhc2gg WEwgICAgICBDRiAzLjBBPiBSZW1vdmFibGUgRGlyZWN0IEFjY2VzcyBTQ1NJLTAgZGV2aWNlIApk YTA6IDEuMDAwTUIvcyB0cmFuc2ZlcnMKZGEwOiBBdHRlbXB0IHRvIHF1ZXJ5IGRldmljZSBzaXpl IGZhaWxlZDogTk9UIFJFQURZLCBNZWRpdW0gbm90IHByZXNlbnQKZGExIGF0IHVtYXNzLXNpbTAg YnVzIDAgdGFyZ2V0IDAgbHVuIDEKZGExOiA8TWVkaW9uIEZsYXNoIFhMICAgICAgTVMgMy4wQT4g UmVtb3ZhYmxlIERpcmVjdCBBY2Nlc3MgU0NTSS0wIGRldmljZSAKZGExOiAxLjAwME1CL3MgdHJh bnNmZXJzCmRhMTogQXR0ZW1wdCB0byBxdWVyeSBkZXZpY2Ugc2l6ZSBmYWlsZWQ6IE5PVCBSRUFE WSwgTWVkaXVtIG5vdCBwcmVzZW50CmRhMiBhdCB1bWFzcy1zaW0wIGJ1cyAwIHRhcmdldCAwIGx1 biAyCmRhMjogPE1lZGlvbiBGbGFzaCBYTCAgTU1DL1NEIDMuMEE+IFJlbW92YWJsZSBEaXJlY3Qg QWNjZXNzIFNDU0ktMCBkZXZpY2UgCmRhMjogMS4wMDBNQi9zIHRyYW5zZmVycwpkYTI6IEF0dGVt cHQgdG8gcXVlcnkgZGV2aWNlIHNpemUgZmFpbGVkOiBOT1QgUkVBRFksIE1lZGl1bSBub3QgcHJl c2VudApkYTMgYXQgdW1hc3Mtc2ltMCBidXMgMCB0YXJnZXQgMCBsdW4gMwpkYTM6IDxNZWRpb24g Rmxhc2ggWEwgICAgICBTTSAzLjBBPiBSZW1vdmFibGUgRGlyZWN0IEFjY2VzcyBTQ1NJLTAgZGV2 aWNlIApkYTM6IDEuMDAwTUIvcyB0cmFuc2ZlcnMKZGEzOiBBdHRlbXB0IHRvIHF1ZXJ5IGRldmlj ZSBzaXplIGZhaWxlZDogTk9UIFJFQURZLCBNZWRpdW0gbm90IHByZXNlbnQKKGRhMDp1bWFzcy1z aW0wOjA6MDowKTogUkVBRCBDQVBBQ0lUWS4gQ0RCOiAyNSAwIDAgMCAwIDAgMCAwIDAgMCAKKGRh MDp1bWFzcy1zaW0wOjA6MDowKTogQ0FNIFN0YXR1czogU0NTSSBTdGF0dXMgRXJyb3IKKGRhMDp1 bWFzcy1zaW0wOjA6MDowKTogU0NTSSBTdGF0dXM6IENoZWNrIENvbmRpdGlvbgooZGEwOnVtYXNz LXNpbTA6MDowOjApOiBOT1QgUkVBRFkgYXNjOjNhLDAKKGRhMDp1bWFzcy1zaW0wOjA6MDowKTog TWVkaXVtIG5vdCBwcmVzZW50CihkYTA6dW1hc3Mtc2ltMDowOjA6MCk6IFVucmV0cnlhYmxlIGVy cm9yCk9wZW5lZCBkaXNrIGRhMCAtPiA2CihkYTA6dW1hc3Mtc2ltMDowOjA6MCk6IFJFQUQgQ0FQ QUNJVFkuIENEQjogMjUgMCAwIDAgMCAwIDAgMCAwIDAgCihkYTA6dW1hc3Mtc2ltMDowOjA6MCk6 IENBTSBTdGF0dXM6IFNDU0kgU3RhdHVzIEVycm9yCihkYTA6dW1hc3Mtc2ltMDowOjA6MCk6IFND U0kgU3RhdHVzOiBDaGVjayBDb25kaXRpb24KKGRhMDp1bWFzcy1zaW0wOjA6MDowKTogTk9UIFJF QURZIGFzYzozYSwwCihkYTA6dW1hc3Mtc2ltMDowOjA6MCk6IE1lZGl1bSBub3QgcHJlc2VudAoo ZGEwOnVtYXNzLXNpbTA6MDowOjApOiBVbnJldHJ5YWJsZSBlcnJvcgpPcGVuZWQgZGlzayBkYTAg LT4gNgooZGEwOnVtYXNzLXNpbTA6MDowOjApOiBSRUFEIENBUEFDSVRZLiBDREI6IDI1IDAgMCAw IDAgMCAwIDAgMCAwIAooZGEwOnVtYXNzLXNpbTA6MDowOjApOiBDQU0gU3RhdHVzOiBTQ1NJIFN0 YXR1cyBFcnJvcgooZGEwOnVtYXNzLXNpbTA6MDowOjApOiBTQ1NJIFN0YXR1czogQ2hlY2sgQ29u ZGl0aW9uCihkYTA6dW1hc3Mtc2ltMDowOjA6MCk6IE5PVCBSRUFEWSBhc2M6M2EsMAooZGEwOnVt YXNzLXNpbTA6MDowOjApOiBNZWRpdW0gbm90IHByZXNlbnQKKGRhMDp1bWFzcy1zaW0wOjA6MDow KTogVW5yZXRyeWFibGUgZXJyb3IKT3BlbmVkIGRpc2sgZGEwIC0+IDYKKGRhMTp1bWFzcy1zaW0w OjA6MDoxKTogUkVBRCBDQVBBQ0lUWS4gQ0RCOiAyNSAyMCAwIDAgMCAwIDAgMCAwIDAgCihkYTE6 dW1hc3Mtc2ltMDowOjA6MSk6IENBTSBTdGF0dXM6IFNDU0kgU3RhdHVzIEVycm9yCihkYTE6dW1h c3Mtc2ltMDowOjA6MSk6IFNDU0kgU3RhdHVzOiBDaGVjayBDb25kaXRpb24KKGRhMTp1bWFzcy1z aW0wOjA6MDoxKTogTk9UIFJFQURZIGFzYzozYSwwCihkYTE6dW1hc3Mtc2ltMDowOjA6MSk6IE1l ZGl1bSBub3QgcHJlc2VudAooZGExOnVtYXNzLXNpbTA6MDowOjEpOiBVbnJldHJ5YWJsZSBlcnJv cgpPcGVuZWQgZGlzayBkYTEgLT4gNgooZGExOnVtYXNzLXNpbTA6MDowOjEpOiBSRUFEIENBUEFD SVRZLiBDREI6IDI1IDIwIDAgMCAwIDAgMCAwIDAgMCAKKGRhMTp1bWFzcy1zaW0wOjA6MDoxKTog Q0FNIFN0YXR1czogU0NTSSBTdGF0dXMgRXJyb3IKKGRhMTp1bWFzcy1zaW0wOjA6MDoxKTogU0NT SSBTdGF0dXM6IENoZWNrIENvbmRpdGlvbgooZGExOnVtYXNzLXNpbTA6MDowOjEpOiBOT1QgUkVB RFkgYXNjOjNhLDAKKGRhMTp1bWFzcy1zaW0wOjA6MDoxKTogTWVkaXVtIG5vdCBwcmVzZW50Cihk YTE6dW1hc3Mtc2ltMDowOjA6MSk6IFVucmV0cnlhYmxlIGVycm9yCk9wZW5lZCBkaXNrIGRhMSAt PiA2CihkYTE6dW1hc3Mtc2ltMDowOjA6MSk6IFJFQUQgQ0FQQUNJVFkuIENEQjogMjUgMjAgMCAw IDAgMCAwIDAgMCAwIAooZGExOnVtYXNzLXNpbTA6MDowOjEpOiBDQU0gU3RhdHVzOiBTQ1NJIFN0 YXR1cyBFcnJvcgooZGExOnVtYXNzLXNpbTA6MDowOjEpOiBTQ1NJIFN0YXR1czogQ2hlY2sgQ29u ZGl0aW9uCihkYTE6dW1hc3Mtc2ltMDowOjA6MSk6IE5PVCBSRUFEWSBhc2M6M2EsMAooZGExOnVt YXNzLXNpbTA6MDowOjEpOiBNZWRpdW0gbm90IHByZXNlbnQKKGRhMTp1bWFzcy1zaW0wOjA6MDox KTogVW5yZXRyeWFibGUgZXJyb3IKT3BlbmVkIGRpc2sgZGExIC0+IDYKKGRhMjp1bWFzcy1zaW0w OjA6MDoyKTogUkVBRCBDQVBBQ0lUWS4gQ0RCOiAyNSA0MCAwIDAgMCAwIDAgMCAwIDAgCihkYTI6 dW1hc3Mtc2ltMDowOjA6Mik6IENBTSBTdGF0dXM6IFNDU0kgU3RhdHVzIEVycm9yCihkYTI6dW1h c3Mtc2ltMDowOjA6Mik6IFNDU0kgU3RhdHVzOiBDaGVjayBDb25kaXRpb24KKGRhMjp1bWFzcy1z aW0wOjA6MDoyKTogTk9UIFJFQURZIGFzYzozYSwwCihkYTI6dW1hc3Mtc2ltMDowOjA6Mik6IE1l ZGl1bSBub3QgcHJlc2VudAooZGEyOnVtYXNzLXNpbTA6MDowOjIpOiBVbnJldHJ5YWJsZSBlcnJv cgpPcGVuZWQgZGlzayBkYTIgLT4gNgooZGEyOnVtYXNzLXNpbTA6MDowOjIpOiBSRUFEIENBUEFD SVRZLiBDREI6IDI1IDQwIDAgMCAwIDAgMCAwIDAgMCAKKGRhMjp1bWFzcy1zaW0wOjA6MDoyKTog Q0FNIFN0YXR1czogU0NTSSBTdGF0dXMgRXJyb3IKKGRhMjp1bWFzcy1zaW0wOjA6MDoyKTogU0NT SSBTdGF0dXM6IENoZWNrIENvbmRpdGlvbgooZGEyOnVtYXNzLXNpbTA6MDowOjIpOiBOT1QgUkVB RFkgYXNjOjNhLDAKKGRhMjp1bWFzcy1zaW0wOjA6MDoyKTogTWVkaXVtIG5vdCBwcmVzZW50Cihk YTI6dW1hc3Mtc2ltMDowOjA6Mik6IFVucmV0cnlhYmxlIGVycm9yCk9wZW5lZCBkaXNrIGRhMiAt PiA2CihkYTI6dW1hc3Mtc2ltMDowOjA6Mik6IFJFQUQgQ0FQQUNJVFkuIENEQjogMjUgNDAgMCAw IDAgMCAwIDAgMCAwIAooZGEyOnVtYXNzLXNpbTA6MDowOjIpOiBDQU0gU3RhdHVzOiBTQ1NJIFN0 YXR1cyBFcnJvcgooZGEyOnVtYXNzLXNpbTA6MDowOjIpOiBTQ1NJIFN0YXR1czogQ2hlY2sgQ29u ZGl0aW9uCihkYTI6dW1hc3Mtc2ltMDowOjA6Mik6IE5PVCBSRUFEWSBhc2M6M2EsMAooZGEyOnVt YXNzLXNpbTA6MDowOjIpOiBNZWRpdW0gbm90IHByZXNlbnQKKGRhMjp1bWFzcy1zaW0wOjA6MDoy KTogVW5yZXRyeWFibGUgZXJyb3IKT3BlbmVkIGRpc2sgZGEyIC0+IDYKKGRhMzp1bWFzcy1zaW0w OjA6MDozKTogUkVBRCBDQVBBQ0lUWS4gQ0RCOiAyNSA2MCAwIDAgMCAwIDAgMCAwIDAgCihkYTM6 dW1hc3Mtc2ltMDowOjA6Myk6IENBTSBTdGF0dXM6IFNDU0kgU3RhdHVzIEVycm9yCihkYTM6dW1h c3Mtc2ltMDowOjA6Myk6IFNDU0kgU3RhdHVzOiBDaGVjayBDb25kaXRpb24KKGRhMzp1bWFzcy1z aW0wOjA6MDozKTogTk9UIFJFQURZIGFzYzozYSwwCihkYTM6dW1hc3Mtc2ltMDowOjA6Myk6IE1l ZGl1bSBub3QgcHJlc2VudAooZGEzOnVtYXNzLXNpbTA6MDowOjMpOiBVbnJldHJ5YWJsZSBlcnJv cgpPcGVuZWQgZGlzayBkYTMgLT4gNgooZGEzOnVtYXNzLXNpbTA6MDowOjMpOiBSRUFEIENBUEFD SVRZLiBDREI6IDI1IDYwIDAgMCAwIDAgMCAwIDAgMCAKKGRhMzp1bWFzcy1zaW0wOjA6MDozKTog Q0FNIFN0YXR1czogU0NTSSBTdGF0dXMgRXJyb3IKKGRhMzp1bWFzcy1zaW0wOjA6MDozKTogU0NT SSBTdGF0dXM6IENoZWNrIENvbmRpdGlvbgooZGEzOnVtYXNzLXNpbTA6MDowOjMpOiBOT1QgUkVB RFkgYXNjOjNhLDAKKGRhMzp1bWFzcy1zaW0wOjA6MDozKTogTWVkaXVtIG5vdCBwcmVzZW50Cihk YTM6dW1hc3Mtc2ltMDowOjA6Myk6IFVucmV0cnlhYmxlIGVycm9yCk9wZW5lZCBkaXNrIGRhMyAt PiA2CihkYTM6dW1hc3Mtc2ltMDowOjA6Myk6IFJFQUQgQ0FQQUNJVFkuIENEQjogMjUgNjAgMCAw IDAgMCAwIDAgMCAwIAooZGEzOnVtYXNzLXNpbTA6MDowOjMpOiBDQU0gU3RhdHVzOiBTQ1NJIFN0 YXR1cyBFcnJvcgooZGEzOnVtYXNzLXNpbTA6MDowOjMpOiBTQ1NJIFN0YXR1czogQ2hlY2sgQ29u ZGl0aW9uCihkYTM6dW1hc3Mtc2ltMDowOjA6Myk6IE5PVCBSRUFEWSBhc2M6M2EsMAooZGEzOnVt YXNzLXNpbTA6MDowOjMpOiBNZWRpdW0gbm90IHByZXNlbnQKKGRhMzp1bWFzcy1zaW0wOjA6MDoz KTogVW5yZXRyeWFibGUgZXJyb3IKT3BlbmVkIGRpc2sgZGEzIC0+IDYKVHJ5aW5nIHRvIG1vdW50 IHJvb3QgZnJvbSB1ZnM6L2Rldi9hZDFzMWEKTG9hZGluZyBjb25maWd1cmF0aW9uIGZpbGVzLgpF bnRyb3B5IGhhcnZlc3Rpbmc6CiBpbnRlcnJ1cHRzCiBldGhlcm5ldAogcG9pbnRfdG9fcG9pbnQK IGtpY2tzdGFydAouCnN3YXBvbjogYWRkaW5nIC9kZXYvYWQxczFiIGFzIHN3YXAgZGV2aWNlClN0 YXJ0aW5nIGZpbGUgc3lzdGVtIGNoZWNrczoKL2Rldi9hZDFzMWE6IEZJTEUgU1lTVEVNIENMRUFO OyBTS0lQUElORyBDSEVDS1MKL2Rldi9hZDFzMWE6IGNsZWFuLCAyMjMxNDUgZnJlZSAoMTI0MSBm cmFncywgMjc3MzggYmxvY2tzLCAwLjUlIGZyYWdtZW50YXRpb24pCi9kZXYvYWQxczFlOiBGSUxF IFNZU1RFTSBDTEVBTjsgU0tJUFBJTkcgQ0hFQ0tTCi9kZXYvYWQxczFlOiBjbGVhbiwgMjUzNzky IGZyZWUgKDQwIGZyYWdzLCAzMTcxOSBibG9ja3MsIDAuMCUgZnJhZ21lbnRhdGlvbikKL2Rldi9h ZDFzMWY6IEZJTEUgU1lTVEVNIENMRUFOOyBTS0lQUElORyBDSEVDS1MKL2Rldi9hZDFzMWY6IGNs ZWFuLCA2NDUwNzk3MSBmcmVlICg1MTUxNSBmcmFncywgODA1NzA1NyBibG9ja3MsIDAuMSUgZnJh Z21lbnRhdGlvbikKL2Rldi9hZDFzMWQ6IEZJTEUgU1lTVEVNIENMRUFOOyBTS0lQUElORyBDSEVD S1MKL2Rldi9hZDFzMWQ6IGNsZWFuLCA3Mjg1NTggZnJlZSAoMjU0IGZyYWdzLCA5MTAzOCBibG9j a3MsIDAuMCUgZnJhZ21lbnRhdGlvbikKTW91bnRpbmcgbG9jYWwgZmlsZSBzeXN0ZW1zOgouClNl dHRpbmcgaG9zdG5hbWU6IGxhcnMtZGVza3RvcC4KbmV0LmluZXQ2LmlwNi5hdXRvX2xpbmtsb2Nh bDogCjEKIC0+IAowCgprZXJuLmNvcmVkdW1wOiAKMQogLT4gCjAKClN0YXJ0aW5nIHdwYV9zdXBw bGljYW50LgpsbzA6IGZsYWdzPTgwNDk8VVAsTE9PUEJBQ0ssUlVOTklORyxNVUxUSUNBU1Q+IG10 dSAxNjM4NAoJaW5ldDYgZmU4MDo6MSVsbzAgcHJlZml4bGVuIDY0IHNjb3BlaWQgMHg1IAoJaW5l dDYgOjoxIHByZWZpeGxlbiAxMjggCglpbmV0IDEyNy4wLjAuMSBuZXRtYXNrIDB4ZmYwMDAwMDAg CmF0aDA6IGZsYWdzPTg4NDM8VVAsQlJPQURDQVNULFJVTk5JTkcsU0lNUExFWCxNVUxUSUNBU1Q+ IG10dSAxNTAwCglpbmV0IDEwLjAuMC42IG5ldG1hc2sgMHhmZmZmZmYwMCBicm9hZGNhc3QgMTAu MC4wLjI1NQoJZXRoZXIgMDA6MTY6ZTY6M2M6ZGY6OTQKCW1lZGlhOiBJRUVFIDgwMi4xMSBXaXJl bGVzcyBFdGhlcm5ldCBhdXRvc2VsZWN0IChEUy8xTWJwcykKCXN0YXR1czogbm8gY2FycmllcgoJ c3NpZCAiIiBjaGFubmVsIDMKCWF1dGhtb2RlIFdQQTErV1BBMi84MDIuMTFpIHByaXZhY3kgT04g ZGVmdHhrZXkgVU5ERUYgdHhwb3dtYXggMzkKCWJtaXNzIDcgcHJvdG1vZGUgQ1RTIGJ1cnN0IHJv YW1pbmcgTUFOVUFMCmFkZCBuZXQgZGVmYXVsdDogZ2F0ZXdheSAxMC4wLjAuMQpBZGRpdGlvbmFs IHJvdXRpbmcgb3B0aW9uczoKLgpTdGFydGluZyBkZXZkLgpTdGFydGluZyB1bXMwIG1vdXNlZDoK Lgpody5hY3BpLmNwdS5jeF9sb3dlc3Q6IApDMQoKc3lzY3RsOiAKaHcuYWNwaS5jcHUuY3hfbG93 ZXN0CjogCkludmFsaWQgYXJndW1lbnQKTW91bnRpbmcgTkZTIGZpbGUgc3lzdGVtczoKLgpFTEYg bGRjb25maWcgcGF0aDogL2xpYiAvdXNyL2xpYiAvdXNyL2xpYi9jb21wYXQgL3Vzci9YMTFSNi9s aWIgL3Vzci9sb2NhbC9saWIgL3Vzci9sb2NhbC9saWIvY29tcGF0L3BrZyAvdXNyL2xvY2FsL2xp YiAvdXNyL2xvY2FsL2xpYi9jb21wYXQvcGtnIC91c3IvbG9jYWwvbGliL21wbGF5ZXIvdmlkaXgK YS5vdXQgbGRjb25maWcgcGF0aDogL3Vzci9saWIvYW91dCAvdXNyL2xpYi9jb21wYXQvYW91dApD bGVhcmluZyAvdG1wIChYIHJlbGF0ZWQpLgpDcmVhdGluZyBhbmQvb3IgdHJpbW1pbmcgbG9nIGZp bGVzOgouClN0YXJ0aW5nIHN5c2xvZ2QuCkluaXRpYWwgaTM4NiBpbml0aWFsaXphdGlvbjoKLgpB ZGRpdGlvbmFsIEFCSSBzdXBwb3J0OgouClN0YXJ0aW5nIHRvci4KRmViIDA3IDE0OjExOjM2Ljg2 OCBbbm90aWNlXSBUb3IgdjAuMS4yLjYtYWxwaGEuIFRoaXMgaXMgZXhwZXJpbWVudGFsIHNvZnR3 YXJlLiBEbyBub3QgcmVseSBvbiBpdCBmb3Igc3Ryb25nIGFub255bWl0eS4KRmViIDA3IDE0OjEx OjM2Ljg4NSBbbm90aWNlXSBJbml0aWFsaXplZCBsaWJldmVudCB2ZXJzaW9uIDEuMmEgdXNpbmcg bWV0aG9kIGtxdWV1ZS4gR29vZC4KRmViIDA3IDE0OjExOjM2Ljg4NSBbbm90aWNlXSBPcGVuaW5n IFNvY2tzIGxpc3RlbmVyIG9uIDEyNy4wLjAuMTo5MDUwCkZlYiAwNyAxNDoxMTozNi44ODUgW3dh cm5dIENhbid0IGxvZyB0byBzdGRvdXQgd2l0aCBSdW5Bc0RhZW1vbiBzZXQ7IHNraXBwaW5nIHN0 ZG91dApTdGFydGluZyBwcml2b3h5LgphdGgwOiBsaW5rIHN0YXRlIGNoYW5nZWQgdG8gVVAKRmVi IDA3IDE0OjExOjM3IFByaXZveHkoMDgwODcwMDApIEluZm86IGxvYWRpbmcgY29uZmlndXJhdGlv biBmaWxlICcvdXNyL2xvY2FsL2V0Yy9wcml2b3h5L2NvbmZpZyc6CkZlYiAwNyAxNDoxMTozNyBQ cml2b3h5KDA4MDg3MDAwKSBJbmZvOiBQcml2b3h5IHZlcnNpb24gMy4wLjYKRmViIDA3IDE0OjEx OjM3IFByaXZveHkoMDgwODcwMDApIEluZm86IFByb2dyYW0gbmFtZTogL3Vzci9sb2NhbC9zYmlu L3ByaXZveHkKRmViIDA3IDE0OjExOjM4IFByaXZveHkoMDgwODcwMDApIEluZm86IExpc3Rlbmlu ZyBvbiBwb3J0IDgxMTggZm9yIGxvY2FsIGNvbm5lY3Rpb25zIG9ubHkKU3RhcnRpbmcgbXVzaWNw ZC4KU3RhcnRpbmcgdXNiZC4KU3RhcnRpbmcgY3Vwc2QuClN0YXJ0aW5nIGxvY2FsIGRhZW1vbnM6 Ci4KVXBkYXRpbmcgbW90ZAouCk1vdW50aW5nIGxhdGUgZmlsZSBzeXN0ZW1zOgouClN0YXJ0aW5n IG50cGQuCkNvbmZpZ3VyaW5nIHN5c2NvbnM6CiBrZXltYXAKIGZvbnQ4eDE2CiBmb250OHgxNAog Zm9udDh4OAogYmxhbmt0aW1lCi4KU3RhcnRpbmcgc3NoZC4KU3RhcnRpbmcgY3Jvbi4KTG9jYWwg cGFja2FnZSBpbml0aWFsaXphdGlvbjoKLgpBZGRpdGlvbmFsIFRDUCBvcHRpb25zOgouClN0YXJ0 aW5nIGJhY2tncm91bmQgZmlsZSBzeXN0ZW0gY2hlY2tzIGluIDYwIHNlY29uZHMuCgpXZWQgRmVi ICA3IDE0OjExOjQxIENFVCAyMDA3CmRybTA6IDxBVEkgUmFkZW9uIE5IIFIzNTAgOTgwMCBQcm8+ IHBvcnQgMHhhMDAwLTB4YTBmZiBtZW0gMHhlODAwMDAwMC0weGVmZmZmZmZmLDB4ZjkwMDAwMDAt MHhmOTAwZmZmZiBpcnEgMTYgYXQgZGV2aWNlIDAuMCBvbiBwY2kxCmluZm86IFtkcm1dIEFHUCBh dCAweGUwMDAwMDAwIDEyOE1CCmluZm86IFtkcm1dIEluaXRpYWxpemVkIHJhZGVvbiAxLjI0LjAg MjAwNjAyMjUKaW5mbzogW2RybV0gU2V0dGluZyBHQVJUIGxvY2F0aW9uIGJhc2VkIG9uIG9sZCBt ZW1vcnkgbWFwCmluZm86IFtkcm1dIExvYWRpbmcgUjMwMCBNaWNyb2NvZGUKaW5mbzogW2RybV0g d3JpdGViYWNrIHRlc3Qgc3VjY2VlZGVkIGluIDEgdXNlY3MKRmViICA3IDE0OjQ3OjQ1IGxhcnMt ZGVza3RvcCBzdTogbGFycyB0byByb290IG9uIC9kZXYvdHR5cDAK ------=_Part_11191_18960977.1170880498859 Content-Type: application/octet-stream; name=foo.asl Content-Transfer-Encoding: base64 X-Attachment-Id: f_exw7zbol Content-Disposition: attachment; filename="foo.asl" LyoKICBSU0QgUFRSOiBPRU09SW50ZWxSLCBBQ1BJX1Jldj0xLjB4ICgwKQoJUlNEVD0weDFmZmYz MDAwLCBja3N1bT02OQogKi8KLyoKICBSU0RUOiBMZW5ndGg9NDQsIFJldmlzaW9uPTEsIENoZWNr c3VtPTIyNCwKCU9FTUlEPUludGVsUiwgT0VNIFRhYmxlIElEPUFXUkRBQ1BJLCBPRU0gUmV2aXNp b249MHg0MjMwMmUzMSwKCUNyZWF0b3IgSUQ9QVdSRCwgQ3JlYXRvciBSZXZpc2lvbj0weDAKCUVu dHJpZXM9eyAweDFmZmYzMDQwLCAweDFmZmY3MjAwIH0KICovCi8qCiAgRkFDUDogTGVuZ3RoPTEx NiwgUmV2aXNpb249MSwgQ2hlY2tzdW09ODEsCglPRU1JRD1JbnRlbFIsIE9FTSBUYWJsZSBJRD1B V1JEQUNQSSwgT0VNIFJldmlzaW9uPTB4NDIzMDJlMzEsCglDcmVhdG9yIElEPUFXUkQsIENyZWF0 b3IgUmV2aXNpb249MHgwCiAJRkFDUz0weDFmZmYwMDAwLCBEU0RUPTB4MWZmZjMwYzAKCUlOVF9N T0RFTD1BUElDCglQcmVmZXJyZWRfUE1fUHJvZmlsZT1VbnNwZWNpZmllZCAoMCkKCVNDSV9JTlQ9 OQoJU01JX0NNRD0weGIyLCBBQ1BJX0VOQUJMRT0weGExLCBBQ1BJX0RJU0FCTEU9MHhhMCwgUzRC SU9TX1JFUT0weDAKCVBTVEFURV9DTlQ9MHgwCglQTTFhX0VWVF9CTEs9MHg0MDAtMHg0MDMKCVBN MWFfQ05UX0JMSz0weDQwNC0weDQwNQoJUE1fVE1SX0JMSz0weDQwOC0weDQwYgoJR1BFMF9CTEs9 MHg0MjgtMHg0MmYKCVBfTFZMMl9MQVQ9MTAxIHVzLCBQX0xWTDNfTEFUPTEwMDEgdXMKCUZMVVNI X1NJWkU9MCwgRkxVU0hfU1RSSURFPTAKCURVVFlfT0ZGU0VUPTEsIERVVFlfV0lEVEg9MQoJREFZ X0FMUk09MTMsIE1PTl9BTFJNPTAsIENFTlRVUlk9MAoJSUFQQ19CT09UX0FSQ0g9CglGbGFncz17 V0JJTlZELFBST0NfQzEsU0xQX0JVVFRPTixSVENfUzQsUkVTRVRfUkVHfQoJUkVTRVRfUkVHPTB4 MDAwMDAwMDA6MFswXSAoTWVtb3J5KSwgUkVTRVRfVkFMVUU9MHg0NAogKi8KLyoKICBGQUNTOglM ZW5ndGg9NjQsIEh3U2lnPTB4MDAwMDAwMDAsIEZpcm1fV2FrZV9WZWM9MHgwMDAwMDAwMAoJR2xv YmFsX0xvY2s9CglGbGFncz0KCVZlcnNpb249MAogKi8KLyoKICBEU0RUOiBMZW5ndGg9MTY2Nzcs IFJldmlzaW9uPTEsIENoZWNrc3VtPTcyLAoJT0VNSUQ9SU5URUxSLCBPRU0gVGFibGUgSUQ9QVdS REFDUEksIE9FTSBSZXZpc2lvbj0weDEwMDAsCglDcmVhdG9yIElEPU1TRlQsIENyZWF0b3IgUmV2 aXNpb249MHgxMDAwMDBlCiAqLwovKgogIEFQSUM6IExlbmd0aD0xMDQsIFJldmlzaW9uPTEsIENo ZWNrc3VtPTIwMSwKCU9FTUlEPUludGVsUiwgT0VNIFRhYmxlIElEPUFXUkRBQ1BJLCBPRU0gUmV2 aXNpb249MHg0MjMwMmUzMSwKCUNyZWF0b3IgSUQ9QVdSRCwgQ3JlYXRvciBSZXZpc2lvbj0weDAK CUxvY2FsIEFQSUMgQUREUj0weGZlZTAwMDAwCglGbGFncz17UEMtQVR9CgoJVHlwZT1Mb2NhbCBB UElDCglBQ1BJIENQVT0wCglGbGFncz17RU5BQkxFRH0KCUFQSUMgSUQ9MAoKCVR5cGU9TG9jYWwg QVBJQwoJQUNQSSBDUFU9MQoJRmxhZ3M9e0RJU0FCTEVEfQoJQVBJQyBJRD0xCgoJVHlwZT1JTyBB UElDCglBUElDIElEPTIKCUlOVCBCQVNFPTAKCUFERFI9MHgwMDAwMDAwMGZlYzAwMDAwCgoJVHlw ZT1JTlQgT3ZlcnJpZGUKCUJVUz0wCglJUlE9MAoJSU5UUj0yCglGbGFncz17UG9sYXJpdHk9Y29u Zm9ybWluZywgVHJpZ2dlcj1jb25mb3JtaW5nfQoKCVR5cGU9SU5UIE92ZXJyaWRlCglCVVM9MAoJ SVJRPTkKCUlOVFI9OQoJRmxhZ3M9e1BvbGFyaXR5PWFjdGl2ZS1oaSwgVHJpZ2dlcj1sZXZlbH0K CglUeXBlPUxvY2FsIE5NSQoJQUNQSSBDUFU9MAoJTElOVCBQaW49MQoJRmxhZ3M9e1BvbGFyaXR5 PWFjdGl2ZS1oaSwgVHJpZ2dlcj1lZGdlfQoKCVR5cGU9TG9jYWwgTk1JCglBQ1BJIENQVT0xCglM SU5UIFBpbj0xCglGbGFncz17UG9sYXJpdHk9YWN0aXZlLWhpLCBUcmlnZ2VyPWVkZ2V9CiAqLwov KgogKiBJbnRlbCBBQ1BJIENvbXBvbmVudCBBcmNoaXRlY3R1cmUKICogQU1MIERpc2Fzc2VtYmxl ciB2ZXJzaW9uIDIwMDQxMTE5CiAqCiAqIERpc2Fzc2VtYmx5IG9mIC90bXAvYWNwaWR1bXAuc0lr M2JDLCBXZWQgRmViICA3IDE0OjQ3OjUwIDIwMDcKICovCkRlZmluaXRpb25CbG9jayAoIkRTRFQu YW1sIiwgIkRTRFQiLCAxLCAiSU5URUxSIiwgIkFXUkRBQ1BJIiwgNDA5NikKewogICAgU2NvcGUg KFxfUFIpCiAgICB7CiAgICAgICAgUHJvY2Vzc29yIChcX1BSLkNQVTAsIDB4MDAsIDB4MDAwMDAw MDAsIDB4MDApIHt9CiAgICAgICAgUHJvY2Vzc29yIChcX1BSLkNQVTEsIDB4MDEsIDB4MDAwMDAw MDAsIDB4MDApIHt9CiAgICB9CgogICAgTmFtZSAoXF9TMCwgUGFja2FnZSAoMHgwNCkKICAgIHsK ICAgICAgICAweDAwLCAKICAgICAgICAweDAwLCAKICAgICAgICAweDAwLCAKICAgICAgICAweDAw CiAgICB9KQogICAgTmFtZSAoXF9TMywgUGFja2FnZSAoMHgwNCkKICAgIHsKICAgICAgICAweDA1 LCAKICAgICAgICAweDAwLCAKICAgICAgICAweDAwLCAKICAgICAgICAweDAwCiAgICB9KQogICAg TmFtZSAoXF9TNCwgUGFja2FnZSAoMHgwNCkKICAgIHsKICAgICAgICAweDA2LCAKICAgICAgICAw eDAwLCAKICAgICAgICAweDAwLCAKICAgICAgICAweDAwCiAgICB9KQogICAgTmFtZSAoXF9TNSwg UGFja2FnZSAoMHgwNCkKICAgIHsKICAgICAgICAweDA3LCAKICAgICAgICAweDAwLCAKICAgICAg ICAweDAwLCAKICAgICAgICAweDAwCiAgICB9KQogICAgTmFtZSAoRkxBRywgMHgwMCkKICAgIE5h bWUgKFNUQVQsIDB4MDApCiAgICBPcGVyYXRpb25SZWdpb24gKFxERUJHLCBTeXN0ZW1JTywgMHg4 MCwgMHgwMSkKICAgIEZpZWxkIChcREVCRywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAg IHsKICAgICAgICBEQkcxLCAgIDgKICAgIH0KCiAgICBPcGVyYXRpb25SZWdpb24gKEVYVE0sIFN5 c3RlbU1lbW9yeSwgMHgwMDBGRjgzMCwgMHgxMCkKICAgIEZpZWxkIChFWFRNLCBXb3JkQWNjLCBO b0xvY2ssIFByZXNlcnZlKQogICAgewogICAgICAgIFJPTTEsICAgMTYsIAogICAgICAgIFJNUzEs ICAgMTYsIAogICAgICAgIFJPTTIsICAgMTYsIAogICAgICAgIFJNUzIsICAgMTYsIAogICAgICAg IFJPTTMsICAgMTYsIAogICAgICAgIFJNUzMsICAgMTYsIAogICAgICAgIEFNRU0sICAgMzIKICAg IH0KCiAgICBPcGVyYXRpb25SZWdpb24gKFxTTUlDLCBTeXN0ZW1JTywgMHhCMiwgMHgwMSkKICAg IEZpZWxkIChcU01JQywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgIHsKICAgICAgICBT Q1AsICAgIDgKICAgIH0KCiAgICBPcGVyYXRpb25SZWdpb24gKFxQTTFTLCBTeXN0ZW1JTywgMHgw NDAwLCAweDA0KQogICAgRmllbGQgKFxQTTFTLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQog ICAgewogICAgICAgIFBNMDAsICAgOCwgCiAgICAgICAgUE0wMSwgICA4LCAKICAgICAgICBQTTAy LCAgIDgsIAogICAgICAgIFBNMDMsICAgOAogICAgfQoKICAgIE9wZXJhdGlvblJlZ2lvbiAoXFNQ RU4sIFN5c3RlbUlPLCAweDA0MzAsIDB4MDEpCiAgICBGaWVsZCAoXFNQRU4sIEJ5dGVBY2MsIE5v TG9jaywgUHJlc2VydmUpCiAgICB7CiAgICAgICAgICAgICwgICA0LCAKICAgICAgICBUUkFQLCAg IDEKICAgIH0KCiAgICBPcGVyYXRpb25SZWdpb24gKFxHUEksIFN5c3RlbUlPLCAweDA0MkEsIDB4 MDIpCiAgICBGaWVsZCAoXEdQSSwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgIHsKICAg ICAgICBHSTAwLCAgIDEsIAogICAgICAgIEdJMDEsICAgMSwgCiAgICAgICAgR0kwMiwgICAxLCAK ICAgICAgICBHSTAzLCAgIDEsIAogICAgICAgIEdJMDQsICAgMSwgCiAgICAgICAgR0kwNSwgICAx LCAKICAgICAgICBHSTA2LCAgIDEsIAogICAgICAgIEdJMDcsICAgMSwgCiAgICAgICAgR0kwOCwg ICAxLCAKICAgICAgICBHSTA5LCAgIDEsIAogICAgICAgIEdJMEEsICAgMSwgCiAgICAgICAgR0kw QiwgICAxLCAKICAgICAgICBHSTBDLCAgIDEsIAogICAgICAgIEdJMEQsICAgMSwgCiAgICAgICAg R0kwRSwgICAxLCAKICAgICAgICBHSTBGLCAgIDEKICAgIH0KCiAgICBPcGVyYXRpb25SZWdpb24g KFxHUEkxLCBTeXN0ZW1JTywgMHgwNDhDLCAweDAyKQogICAgRmllbGQgKFxHUEkxLCBCeXRlQWNj LCBOb0xvY2ssIFByZXNlcnZlKQogICAgewogICAgICAgIEdJMTAsICAgMSwgCiAgICAgICAgR0kx MSwgICAxLCAKICAgICAgICBHSTEyLCAgIDEsIAogICAgICAgIEdJMTMsICAgMSwgCiAgICAgICAg R0kxNCwgICAxLCAKICAgICAgICBHSTE1LCAgIDEsIAogICAgICAgIEdJMTYsICAgMSwgCiAgICAg ICAgR0kxNywgICAxLCAKICAgICAgICBHSTE4LCAgIDEsIAogICAgICAgIEdJMTksICAgMSwgCiAg ICAgICAgR0kxQSwgICAxLCAKICAgICAgICBHSTFCLCAgIDEsIAogICAgICAgIEdJMUMsICAgMSwg CiAgICAgICAgR0kxRCwgICAxLCAKICAgICAgICBHSTFFLCAgIDEsIAogICAgICAgIEdJMUYsICAg MQogICAgfQoKICAgIE9wZXJhdGlvblJlZ2lvbiAoXEdCTEUsIFN5c3RlbUlPLCAweDA0MjEsIDB4 MDEpCiAgICBGaWVsZCAoXEdCTEUsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICB7CiAg ICAgICAgRVNNSSwgICA4CiAgICB9CgogICAgT3BlcmF0aW9uUmVnaW9uIChBUE1QLCBTeXN0ZW1J TywgMHhCMiwgMHgwMikKICAgIEZpZWxkIChBUE1QLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZl KQogICAgewogICAgICAgIEFQTUMsICAgOCwgCiAgICAgICAgQVBNRCwgICA4CiAgICB9CgogICAg T3BlcmF0aW9uUmVnaW9uIChcR1BPLCBTeXN0ZW1JTywgMHgwNDhFLCAweDAyKQogICAgRmllbGQg KFxHUE8sIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICB7CiAgICAgICAgR08xMCwgICAx LCAKICAgICAgICBHTzExLCAgIDEsIAogICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAgICwg ICAxLCAKICAgICAgICAgICAgLCAgIDEsIAogICAgICAgIEdPMTUsICAgMSwgCiAgICAgICAgR08x NiwgICAxLCAKICAgICAgICBHTzE3LCAgIDEsIAogICAgICAgIEdPMTgsICAgMSwgCiAgICAgICAg R08xOSwgICAxLCAKICAgICAgICBHTzFBLCAgIDEsIAogICAgICAgIEdPMUIsICAgMSwgCiAgICAg ICAgR08xQywgICAxCiAgICB9CgogICAgT3BlcmF0aW9uUmVnaW9uIChcR1BPMiwgU3lzdGVtSU8s IDB4MDRCOCwgMHgwMikKICAgIEZpZWxkIChcR1BPMiwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2 ZSkKICAgIHsKICAgICAgICBHTzIwLCAgIDEsIAogICAgICAgIEdPMjEsICAgMSwgCiAgICAgICAg R08yMiwgICAxLCAKICAgICAgICBHTzIzLCAgIDEsIAogICAgICAgIEdPMjQsICAgMSwgCiAgICAg ICAgR08yNSwgICAxLCAKICAgICAgICBHTzI2LCAgIDEsIAogICAgICAgIEdPMjcsICAgMSwgCiAg ICAgICAgR08yOCwgICAxLCAKICAgICAgICBHTzI5LCAgIDEsIAogICAgICAgIEdPMkEsICAgMSwg CiAgICAgICAgR08yQiwgICAxCiAgICB9CgogICAgTmFtZSAoT1NGWCwgMHgwMSkKICAgIE5hbWUg KE9TRkwsIDB4MDEpCiAgICBNZXRob2QgKFNUUkMsIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAg ICAgICAgSWYgKExOb3QgKExFcXVhbCAoU2l6ZU9mIChBcmcwKSwgU2l6ZU9mIChBcmcxKSkpKQog ICAgICAgIHsKICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgIH0KCiAgICAgICAgQWRk IChTaXplT2YgKEFyZzApLCAweDAxLCBMb2NhbDApCiAgICAgICAgTmFtZSAoQlVGMCwgQnVmZmVy IChMb2NhbDApIHt9KQogICAgICAgIE5hbWUgKEJVRjEsIEJ1ZmZlciAoTG9jYWwwKSB7fSkKICAg ICAgICBTdG9yZSAoQXJnMCwgQlVGMCkKICAgICAgICBTdG9yZSAoQXJnMSwgQlVGMSkKICAgICAg ICBXaGlsZSAoTG9jYWwwKQogICAgICAgIHsKICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDAp CiAgICAgICAgICAgIElmIChMTm90IChMRXF1YWwgKERlcmVmT2YgKEluZGV4IChCVUYwLCBMb2Nh bDApKSwgRGVyZWZPZiAoSW5kZXggKEJVRjEsIExvY2FsMCkpKSkpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIFJldHVybiAoWmVybykKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAg ICAgUmV0dXJuIChPbmUpCiAgICB9CgogICAgT3BlcmF0aW9uUmVnaW9uIChSVENNLCBTeXN0ZW1J TywgMHg3MCwgMHgwMikKICAgIEZpZWxkIChSVENNLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZl KQogICAgewogICAgICAgIENNSU4sICAgOCwgCiAgICAgICAgQ01EQSwgICA4CiAgICB9CgogICAg SW5kZXhGaWVsZCAoQ01JTiwgQ01EQSwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgIHsK ICAgICAgICBPZmZzZXQgKDB4MEYpLCAKICAgICAgICBTSFVULCAgIDgKICAgIH0KCiAgICBPcGVy YXRpb25SZWdpb24gKElORk8sIFN5c3RlbU1lbW9yeSwgMHgwMDBGRjg0MCwgMHgwMSkKICAgIEZp ZWxkIChJTkZPLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgewogICAgICAgIEtCREks ICAgMSwgCiAgICAgICAgUlRDVywgICAxLCAKICAgICAgICBQUzJGLCAgIDEsIAogICAgICAgIElS RkwsICAgMiwgCiAgICAgICAgRElTRSwgICAxLCAKICAgICAgICBTU0hVLCAgIDEKICAgIH0KCiAg ICBPcGVyYXRpb25SZWdpb24gKEJFRVAsIFN5c3RlbUlPLCAweDYxLCAweDAxKQogICAgRmllbGQg KEJFRVAsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICB7CiAgICAgICAgUzFCLCAgICA4 CiAgICB9CgogICAgT3BlcmF0aW9uUmVnaW9uIChDT05ULCBTeXN0ZW1JTywgMHg0MCwgMHgwNCkK ICAgIEZpZWxkIChDT05ULCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgewogICAgICAg IENOVDAsICAgOCwgCiAgICAgICAgQ05UMSwgICA4LCAKICAgICAgICBDTlQyLCAgIDgsIAogICAg ICAgIENUUkwsICAgOAogICAgfQoKICAgIE1ldGhvZCAoU1BLUiwgMSwgTm90U2VyaWFsaXplZCkK ICAgIHsKICAgICAgICBTdG9yZSAoUzFCLCBMb2NhbDApCiAgICAgICAgU3RvcmUgKDB4QjYsIENU UkwpCiAgICAgICAgU3RvcmUgKDB4NTUsIENOVDIpCiAgICAgICAgU3RvcmUgKDB4MDMsIENOVDIp CiAgICAgICAgU3RvcmUgKEFyZzAsIExvY2FsMikKICAgICAgICBXaGlsZSAoTEdyZWF0ZXIgKExv Y2FsMiwgMHgwMCkpCiAgICAgICAgewogICAgICAgICAgICBPciAoUzFCLCAweDAzLCBTMUIpCiAg ICAgICAgICAgIFN0b3JlICgweDVGRkYsIExvY2FsMykKICAgICAgICAgICAgV2hpbGUgKExHcmVh dGVyIChMb2NhbDMsIDB4MDApKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBEZWNyZW1l bnQgKExvY2FsMykKICAgICAgICAgICAgfQoKICAgICAgICAgICAgQW5kIChTMUIsIDB4RkMsIFMx QikKICAgICAgICAgICAgU3RvcmUgKDB4MEVGRiwgTG9jYWwzKQogICAgICAgICAgICBXaGlsZSAo TEdyZWF0ZXIgKExvY2FsMywgMHgwMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIERl Y3JlbWVudCAoTG9jYWwzKQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZWNyZW1lbnQgKExv Y2FsMikKICAgICAgICB9CgogICAgICAgIFN0b3JlIChMb2NhbDAsIFMxQikKICAgIH0KCiAgICBT Y29wZSAoXCkKICAgIHsKICAgICAgICBOYW1lIChQSUNGLCAweDAwKQogICAgICAgIE1ldGhvZCAo X1BJQywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChBcmcw LCBQSUNGKQogICAgICAgIH0KICAgIH0KCiAgICBNZXRob2QgKFxfUFRTLCAxLCBOb3RTZXJpYWxp emVkKQogICAgewogICAgICAgIE9yIChBcmcwLCAweEYwLCBMb2NhbDApCiAgICAgICAgU3RvcmUg KExvY2FsMCwgREJHMSkKICAgICAgICBPU1RQICgpCiAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwg MHgwMSkpCiAgICAgICAgewogICAgICAgICAgICBTRkFOIChaZXJvKQogICAgICAgIH0KCiAgICAg ICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMikpIHt9CiAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwg MHgwMykpIHt9CiAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwNSkpCiAgICAgICAgewogICAg ICAgICAgICBTdG9yZSAoRVNNSSwgTG9jYWwwKQogICAgICAgICAgICBBbmQgKExvY2FsMCwgMHhG QiwgTG9jYWwwKQogICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBFU01JKQogICAgICAgIH0KCiAg ICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwNCkpCiAgICAgICAgewogICAgICAgICAgICBJZiAo TE5vdCAoUElDRikpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFNsZWVwICgweDY0KQog ICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIE1ldGhvZCAoXF9XQUssIDEsIE5vdFNl cmlhbGl6ZWQpCiAgICB7CiAgICAgICAgU3RvcmUgKDB4RkYsIERCRzEpCiAgICAgICAgV2hpbGUg KExFcXVhbCAoR0kwQiwgT25lKSkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChPbmUsIEdJ MEIpCiAgICAgICAgICAgIFN0b3JlICgweDc3LCBGTEFHKQogICAgICAgICAgICBOb3RpZnkgKFxf U0IuU0xQQiwgMHgwMikKICAgICAgICB9CgogICAgICAgIFNGQU4gKDB4RkYpCiAgICAgICAgTm90 aWZ5IChcX1NCLlBDSTAuUFg0MC5VQVIxLCAweDAwKQogICAgICAgIElmIChPU0ZMKQogICAgICAg IHsKICAgICAgICAgICAgSWYgKExFcXVhbCAoUlRDVywgMHgwMCkpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QV1JCLCAweDAyKQogICAgICAgICAgICB9CiAgICAg ICAgfQogICAgICAgIEVsc2UKICAgICAgICB7CiAgICAgICAgICAgIElmIChMRXF1YWwgKFJUQ1cs IDB4MDApKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuUFdSQiwg MHgwMikKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAu VVNCMCwgMHgwMCkKICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5VU0IxLCAweDAwKQogICAgICAg IE5vdGlmeSAoXF9TQi5QQ0kwLlVTQjIsIDB4MDApCiAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAu VVNCMywgMHgwMCkKICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5VU0JFLCAweDAwKQogICAgfQoK ICAgIFNjb3BlIChcX1NJKQogICAgewogICAgICAgIE1ldGhvZCAoX01TRywgMSwgTm90U2VyaWFs aXplZCkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIExvY2FsMCkKICAgICAg ICB9CgogICAgICAgIE1ldGhvZCAoX1NTVCwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAg ICAgICAgICAgIFN0b3JlIChMb2NhbDAsIExvY2FsMCkKICAgICAgICB9CiAgICB9CgogICAgU2Nv cGUgKFxfR1BFKQogICAgewogICAgICAgIE1ldGhvZCAoX0wwNSwgMCwgTm90U2VyaWFsaXplZCkK ICAgICAgICB7CiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLk1PRE0sIDB4MDIpCiAgICAg ICAgfQoKICAgICAgICBNZXRob2QgKF9MMDMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewog ICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5VU0IwLCAweDAyKQogICAgICAgIH0KCiAgICAg ICAgTWV0aG9kIChfTDA0LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAg Tm90aWZ5IChcX1NCLlBDSTAuVVNCMSwgMHgwMikKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAo X0wwQiwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIE5vdGlmeSAoXF9T Qi5QQ0kwLkhVQjAsIDB4MDIpCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9MMDgsIDAsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5QWDQw LlVBUjEsIDB4MDIpCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9MMUIsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBJZiAoTEVxdWFsIChGTEFHLCAweDc3KSkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgV2hpbGUgKExFcXVhbCAoR0kwQiwgT25lKSkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBHSTBCKQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBGTEFHKQogICAgICAg ICAgICAgICAgTm90aWZ5IChcX1NCLlNMUEIsIDB4MDIpCiAgICAgICAgICAgIH0KICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuU0xQQiwg MHg4MCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChfTDBDLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuVVNC MiwgMHgwMikKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX0wwRSwgMCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICB7CiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlVTQjMsIDB4MDIpCiAg ICAgICAgfQoKICAgICAgICBNZXRob2QgKF9MMEQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ewogICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5VU0JFLCAweDAyKQogICAgICAgIH0KICAg IH0KCiAgICBTY29wZSAoXF9TQikKICAgIHsKICAgICAgICBEZXZpY2UgKFBXUkIpCiAgICAgICAg ewogICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBDIikpCiAgICAgICAgICAg IE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBEZXZp Y2UgKFNMUEIpCiAgICAgICAgewogICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAw QzBFIikpCiAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICB9CgogICAg ICAgICAgICBOYW1lIChfUFJXLCBQYWNrYWdlICgweDAyKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAweDFCLCAKICAgICAgICAgICAgICAgIDB4MDUKICAgICAgICAgICAgfSkKICAgICAg ICB9CgogICAgICAgIERldmljZSAoUENJMCkKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgKF9I SUQsIEVpc2FJZCAoIlBOUDBBMDMiKSkKICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMCkKICAg ICAgICAgICAgTmFtZSAoX1VJRCwgMHgwMSkKICAgICAgICAgICAgTmFtZSAoX0JCTiwgMHgwMCkK ICAgICAgICAgICAgTWV0aG9kIChfUzNELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChPU0ZMLCAweDAyKSkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIpCiAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg UmV0dXJuICgweDAzKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAg ICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIFJldHVybiAoMHgwRikKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChf Q1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1l IChCVUYwLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgV29yZEJ1c051bWJlciAoUmVzb3VyY2VDb25zdW1lciwgTWluTm90Rml4ZWQsIE1h eE5vdEZpeGVkLCBQb3NEZWNvZGUsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMCwKICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMDAwLAogICAgICAgICAgICAgICAgICAgICAgICAweDAw RkYsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMCwKICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMTAwKQogICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwQ0Y4LCAweDBD RjgsIDB4MDEsIDB4MDgpCiAgICAgICAgICAgICAgICAgICAgV29yZElPIChSZXNvdXJjZVByb2R1 Y2VyLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIFBvc0RlY29kZSwgRW50aXJlUmFuZ2UsCiAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAwMCwKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwLAog ICAgICAgICAgICAgICAgICAgICAgICAweDBDRjcsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDAwMCwKICAgICAgICAgICAgICAgICAgICAgICAgMHgwQ0Y4KQogICAgICAgICAgICAgICAgICAg IFdvcmRJTyAoUmVzb3VyY2VQcm9kdWNlciwgTWluRml4ZWQsIE1heEZpeGVkLCBQb3NEZWNvZGUs IEVudGlyZVJhbmdlLAogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAsCiAgICAgICAgICAg ICAgICAgICAgICAgIDB4MEQwMCwKICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGLAogICAg ICAgICAgICAgICAgICAgICAgICAweDAwMDAsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4RjMw MCkKICAgICAgICAgICAgICAgICAgICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQcm9kdWNlciwgUG9z RGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRlLAogICAgICAg ICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLAogICAgICAgICAgICAgICAgICAgICAgICAweDAw MEEwMDAwLAogICAgICAgICAgICAgICAgICAgICAgICAweDAwMEJGRkZGLAogICAgICAgICAgICAg ICAgICAgICAgICAweDAwMDAwMDAwLAogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDIwMDAw KQogICAgICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBQb3NE ZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsCiAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAw QzAwMDAsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwREZGRkYsCiAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAwMDAwMDAsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMjAwMDAp CiAgICAgICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0Rl Y29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEw MDAwMCwKICAgICAgICAgICAgICAgICAgICAgICAgMHhGRUJGRkZGRiwKICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMDAwMDAwMCwKICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkYwMDAwMCkK ICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYw LCAweDc2LCBUQ01NKQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHg4 MiwgVE9NTSkKICAgICAgICAgICAgICAgIEFkZCAoQU1FTSwgMHgwMDAxMDAwMCwgVENNTSkKICAg ICAgICAgICAgICAgIFN1YnRyYWN0ICgweEZFQzAwMDAwLCBUQ01NLCBUT01NKQogICAgICAgICAg ICAgICAgUmV0dXJuIChCVUYwKQogICAgICAgICAgICB9CgogICAgICAgICAgICBOYW1lIChQSUNN LCBQYWNrYWdlICgweDBCKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBQYWNrYWdlICgw eDA0KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAxRkZGRkYsIAog ICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5M TktBLCAKICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICB9LCAKCiAgICAg ICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIDB4MDAxRkZGRkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAg ICAgICAgICAgIFxfU0IuUENJMC5MTktDLCAKICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAg ICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAxRkZGRkYsIAogICAgICAgICAgICAgICAg ICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTktCLCAKICAgICAgICAg ICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNr YWdlICgweDA0KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAxREZG RkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIFxfU0Iu UENJMC5MTktBLCAKICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICB9LCAK CiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIDB4MDAxREZGRkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAg ICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTktELCAKICAgICAgICAgICAgICAgICAgICAweDAw CiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAxREZGRkYsIAogICAgICAgICAg ICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTktDLCAKICAg ICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAg ICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4 MDAxREZGRkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgICAg IFxfU0IuUENJMC5MTksxLCAKICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDAs IAogICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTktBLCAKICAgICAgICAgICAgICAgICAg ICAweDAwCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0 KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAg ICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTktC LCAKICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIDB4MDAwMUZGRkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAg ICAgICAgIFxfU0IuUENJMC5MTktDLCAKICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAg ICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAgICAgICAgICAgICAgICAg IDB4MDMsIAogICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTktELCAKICAgICAgICAgICAg ICAgICAgICAweDAwCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCiAgICAgICAgICAg IE5hbWUgKEFQSUMsIFBhY2thZ2UgKDB4MEIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgw MDFGRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAg MHgwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgxMAogICAgICAgICAgICAgICAgfSwgCgogICAg ICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAweDAwMUZGRkZGLCAKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAg ICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAweDEyCiAgICAgICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIDB4MDAxRkZGRkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDEs IAogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIDB4MTEKICAg ICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMDFERkZGRiwgCiAgICAgICAgICAgICAg ICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAg ICAgMHgxMAogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgw NCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwMURGRkZGLCAKICAg ICAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAg ICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQ YWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAx REZGRkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgIDB4 MDAsIAogICAgICAgICAgICAgICAgICAgIDB4MTIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAg ICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgMHgwMDFERkZGRiwgCiAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAg ICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgxNwogICAgICAgICAgICAgICAg fSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAweDAwMDFGRkZGLCAKICAgICAgICAgICAgICAgICAgICAweDAwLCAK ICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAweDEwCiAgICAg ICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAgICAgICAgICAgICAg ICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAg IDB4MTEKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMDAxRkZGRiwgCiAgICAg ICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAg ICAgICAgICAgICAgMHgxMgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFj a2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwMDFG RkZGLCAKICAgICAgICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAgICAgICAgICAgICAweDAw LCAKICAgICAgICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg IH0pCiAgICAgICAgICAgIE1ldGhvZCAoX1BSVCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgSWYgKExOb3QgKFBJQ0YpKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIFJldHVybiAoUElDTSkKICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKEFQSUMpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERl dmljZSAoSFVCMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgw MDFFMDAwMCkKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEYpCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTmFtZSAoUElDTSwgUGFja2FnZSAoMHgyMCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA4RkZGRiwgCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NC LlBDSTAuTE5LRSwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAg ICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwOEZGRkYsIAogICAgICAgICAg ICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxO S0YsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSwg CgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDhGRkZGLCAKICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTkswLCAKICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAg ICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMDA4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDMsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTE5LMSwgCiAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAg ICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAg ICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTE5LQSwgCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2Fn ZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4 RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAg ICAgICBcX1NCLlBDSTAuTE5LQiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAg ICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBD STAuTE5LQywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTE5LRCwgCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAg ICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAw eDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxOS0IsIAogICAgICAgICAg ICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAweDAwMDFGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAg ICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTktDLCAKICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQ YWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMDAxRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAg ICAgICAgICAgICAgICBcX1NCLlBDSTAuTE5LRCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAo MHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAw MUZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAgICAgICAgICAg ICAgICAgXF9TQi5QQ0kwLkxOS0EsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAg ICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDJGRkZGLCAK ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFxf U0IuUENJMC5MTktDLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAg ICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAyRkZGRiwgCiAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAu TE5LRCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9 LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMkZGRkYsIAogICAgICAgICAgICAgICAg ICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxOS0EsIAog ICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAg ICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAweDAwMDJGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAg MHgwMywgCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTktCLCAKICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAg ICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMDAzRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAog ICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTE5LRCwgCiAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAg UGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAwM0ZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAg ICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxOS0EsIAogICAgICAgICAgICAgICAgICAgICAgICAw eDAwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2Ug KDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAw MDNGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAg ICAgICAgIFxfU0IuUENJMC5MTktCLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAg ICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAzRkZGRiwg CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgICAgICAgICBc X1NCLlBDSTAuTE5LQywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAg ICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNEZGRkYsIAogICAgICAg ICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kw LkxOSzAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAg fSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDRGRkZGLCAKICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTksxLCAK ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAg ICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMDA0RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDIsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTE5LRSwgCiAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAg ICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAwNEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAK ICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxOS0YsIAogICAgICAgICAgICAgICAg ICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAg IFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAweDAwMDlGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAg ICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTktFLCAKICAgICAgICAgICAgICAgICAgICAgICAg MHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdl ICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgw MDA5RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAg ICAgICAgICBcX1NCLlBDSTAuTE5LRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAg ICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwOUZGRkYs IAogICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgICAgICAgICAg XF9TQi5QQ0kwLkxOSzAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAg ICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDlGRkZGLCAKICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJ MC5MTksxLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAg IH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDBBRkZGRiwgCiAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTE5LRiwg CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAg ICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAwQUZGRkYsIAogICAgICAgICAgICAgICAgICAgICAg ICAweDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxOSzAsIAogICAgICAg ICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAweDAwMEFGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwg CiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTksxLCAKICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAg ICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMDBBRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAg ICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTE5LRSwgCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAg ICAgICAgTmFtZSAoQVBJQywgUGFja2FnZSAoMHgyMCkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMDA4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAg ICAgMHgxNAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNr YWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg MHgwMDA4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAg ICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgxNQogICAgICAgICAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA4RkZGRiwgCiAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAK ICAgICAgICAgICAgICAgICAgICAgICAgMHgxNgogICAgICAgICAgICAgICAgICAgIH0sIAoKICAg ICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMDA4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDMsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAg ICAgICAgMHgxNwogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQ YWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDEwCiAgICAgICAgICAg ICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAg ICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAg ICAgICAgICAgICAgICAgICAgIDB4MTEKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsIAog ICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgx MgogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgw eDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZG LCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAgICAgICAgICAg fSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDFGRkZGLCAKICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAg ICAgICAgICAgICAgICAweDExCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAweDAwMDFGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDEy CiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4 MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDFG RkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAgICAgICAg ICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDFGRkZGLCAKICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAg ICAgICAgICAgICAgICAgICAweDEwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAweDAwMDJGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwg CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAw eDEyCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2Ug KDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAw MDJGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAgICAg ICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDJGRkZGLCAKICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAg ICAgICAgICAgICAgICAgICAgICAweDEwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAg ICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAweDAwMDJGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgw MywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAg ICAweDExCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2th Z2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAw eDAwMDNGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAg ICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDNGRkZGLCAKICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAog ICAgICAgICAgICAgICAgICAgICAgICAweDEwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAg ICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAweDAwMDNGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAg MHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAg ICAgICAweDExCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBh Y2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAweDAwMDNGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDEyCiAgICAgICAg ICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDRGRkZGLCAKICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAs IAogICAgICAgICAgICAgICAgICAgICAgICAweDE2CiAgICAgICAgICAgICAgICAgICAgfSwgCgog ICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAweDAwMDRGRkZGLCAKICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAg ICAgICAgICAweDE3CiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAg IFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAweDAwMDRGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDE0CiAgICAg ICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDRGRkZGLCAK ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDE1CiAgICAgICAgICAgICAgICAgICAgfSwg CgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDlGRkZGLCAKICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAg ICAgICAgICAgICAweDE0CiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAweDAwMDlGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDE1CiAg ICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDlGRkZG LCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDE2CiAgICAgICAgICAgICAgICAgICAg fSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDlGRkZGLCAKICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAg ICAgICAgICAgICAgICAweDE3CiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAweDAwMEFGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDE1 CiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4 MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMEFG RkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDE2CiAgICAgICAgICAgICAgICAg ICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMEFGRkZGLCAKICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAg ICAgICAgICAgICAgICAgICAweDE3CiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAweDAwMEFGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywg CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAw eDE0CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAg ICAgIE1ldGhvZCAoX1BSVCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBJZiAoTE5vdCAoUElDRikpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBJQ00pCiAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoQVBJQykKICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUFJXLCAwLCBOb3RTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoUGFja2Fn ZSAoMHgwMikKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MEIsIAogICAgICAgICAgICAgICAgICAgICAgICAweDA1CiAgICAgICAgICAgICAgICAgICAgfSkK ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChQWDQw KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUYwMDAwKQog ICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChQUkVWLCBQQ0lfQ29uZmlnLCAweDA4LCAw eDAxKQogICAgICAgICAgICAgICAgU2NvcGUgKFwpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgRmllbGQgKFxfU0IuUENJMC5QWDQwLlBSRVYsIEJ5dGVBY2MsIE5vTG9jaywg UHJlc2VydmUpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBS RVYwLCAgIDgKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChQSVJRLCBQQ0lfQ29uZmlnLCAweDYwLCAweDA0KQog ICAgICAgICAgICAgICAgU2NvcGUgKFwpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgRmllbGQgKFxfU0IuUENJMC5QWDQwLlBJUlEsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2Vy dmUpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBQSVJBLCAg IDgsIAogICAgICAgICAgICAgICAgICAgICAgICBQSVJCLCAgIDgsIAogICAgICAgICAgICAgICAg ICAgICAgICBQSVJDLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBQSVJELCAgIDgKICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgT3Bl cmF0aW9uUmVnaW9uIChQSVIyLCBQQ0lfQ29uZmlnLCAweDY4LCAweDA0KQogICAgICAgICAgICAg ICAgU2NvcGUgKFwpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgRmllbGQg KFxfU0IuUENJMC5QWDQwLlBJUjIsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBQSVJFLCAgIDgsIAogICAgICAg ICAgICAgICAgICAgICAgICBQSVJGLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBQSVJH LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBQSVJILCAgIDgKICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9u IChMUElPLCBQQ0lfQ29uZmlnLCAweEUwLCAweDBFKQogICAgICAgICAgICAgICAgU2NvcGUgKFwp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgRmllbGQgKFxfU0IuUENJMC5Q WDQwLkxQSU8sIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBVQUlPLCAgIDgsIAogICAgICAgICAgICAgICAgICAg ICAgICBQUklPLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBTTkRELCAgIDgsIAogICAg ICAgICAgICAgICAgICAgICAgICBGV0hELCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBH TjFMLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBHTjFILCAgIDgsIAogICAgICAgICAg ICAgICAgICAgICAgICBMUEUxLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBMUEUyLCAg IDgsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MEMpLCAKICAgICAgICAgICAg ICAgICAgICAgICAgR04yTCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgR04ySCwgICA4 CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKERJU0Qs IDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChMUEUxLCAweEZFLCBMUEUxKQogICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFs IChBcmcwLCAweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgQW5kIChMUEUxLCAweEZELCBMUEUxKQogICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAyKSkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChM UEUxLCAweEZCLCBMUEUxKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAzKSkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChMUEUxLCAweEY3LCBMUEUxKQog ICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChBcmcwLCAweDA0KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgQW5kIChMUEUyLCAweEZDLCBMUEUyKQogICAgICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDA1KSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5k IChMUEUxLCAweERGLCBMUEUxKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDA2KSkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChHTjJMLCAweEZFLCBHTjJM KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKENLSU8sIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcxLCAweDAw KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg T3IgKExQRTEsIDB4MDEsIExQRTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKFVB SU8sIDB4RjAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwg KEFyZzAsIDB4MDNGOCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgwMCwgVUFJTykKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFs IChBcmcwLCAweDAyRjgpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4MDEsIFVBSU8pCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoQXJnMCwgMHgwMkU4KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPciAoTG9jYWwwLCAweDA1LCBVQUlPKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKEFyZzAsIDB4MDNFOCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgwNywgVUFJTykKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMSwgMHgwMSkpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChMUEUxLCAweDAyLCBMUEUx KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChVQUlPLCAweDBGLCBMb2NhbDApCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAzRjgpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE9yIChMb2NhbDAsIDB4MDAsIFVBSU8pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMkY4KSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPciAoTG9jYWwwLCAweDEwLCBVQUlPKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDJFOCkpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgT3IgKExvY2FsMCwgMHg1MCwgVUFJTykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAzRTgpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE9yIChMb2NhbDAsIDB4NzAsIFVBSU8pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKEFyZzEsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPciAoTFBFMSwgMHgwNCwgTFBFMSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEFuZCAoUFJJTywgMHhGQywgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMzc4KSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoTG9jYWwwLCAweDAwLCBQ UklPKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDI3OCkpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgwMSwg UFJJTykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAzQkMpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4MDIs IFBSSU8pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzEsIDB4MDMpKQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAo TFBFMSwgMHgwOCwgTFBFMSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMSwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDIw MSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgT3IgKExQRTIsIDB4MDEsIExQRTIpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMjA5 KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBPciAoTFBFMiwgMHgwMiwgTFBFMikKICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExFcXVhbCAoQXJnMSwgMHgwNSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE9yIChMUEUxLCAweDIwLCBMUEUxKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMzAwKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoU05ERCwgMHgw OCwgU05ERCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAzMzApKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoU05ERCwgMHhG NywgU05ERCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMSwgMHgwNikp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChMTm90IChMRXF1YWwgKEFyZzAsIDB4RkZGRikpKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoQXJnMCwgMHhGRiwgTG9j YWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4MDEsIEdO MkwpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRSaWdodCAoQXJnMCwgMHgw OCwgR04ySCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgR04ySCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoWmVybywgR04yTCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKExQRE0sIFBD SV9Db25maWcsIDB4OTAsIDB4MDIpCiAgICAgICAgICAgICAgICBTY29wZSAoXCkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBGaWVsZCAoXF9TQi5QQ0kwLlBYNDAuTFBETSwg Qnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIExETTAsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIExETTEs ICAgOAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChT TERNLCAyLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMCkpCiAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoTERNMCwgMHhGQywgTG9jYWww KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgwMSwgTERNMCkKICAg ICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoQXJnMCwgMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEFuZCAoTERNMCwgMHhGMywgTG9jYWwwKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgT3IgKExvY2FsMCwgMHgwNCwgTERNMCkKICAgICAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMikpCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoTERN MCwgMHhDRiwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwg MHgxMCwgTERNMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoTERNMCwgMHgzRiwgTG9jYWwwKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHg0MCwgTERNMCkKICAgICAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJn MSwgMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEFuZCAoTERNMCwgMHhGQywgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgT3IgKExvY2FsMCwgMHgwMywgTERNMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMSwgMHgwMSkpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoTERNMCwgMHhG MywgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgwQywg TERNMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAg SWYgKExFcXVhbCAoQXJnMSwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEFuZCAoTERNMCwgMHhDRiwgTG9jYWwwKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgzMCwgTERNMCkKICAgICAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMSwgMHgw MykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IEFuZCAoTERNMCwgMHgzRiwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3Ig KExvY2FsMCwgMHhDMCwgTERNMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBTY29wZSAoXCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKFxT Q1BQLCBTeXN0ZW1JTywgMHhCMiwgMHgwMSkKICAgICAgICAgICAgICAgICAgICBGaWVsZCAoXFND UFAsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBTTUlQLCAgIDgKICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChcX1NCLlBDSTAuX0lOSSwgMCwg Tm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAo U1RSQyAoXF9PUywgIk1pY3Jvc29mdCBXaW5kb3dzIikpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg1NiwgU01JUCkKICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKFNUUkMgKFxfT1MsICJNaWNyb3NvZnQgV2luZG93cyBO VCIpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoQ29uZFJlZk9mIChfT1NJLCBMb2NhbDApKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChcX09TSSAoIldpbmRvd3Mg MjAwMSIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4NTksIFNNSVApCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBPU0ZMKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMywgT1NGWCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4NTgsIFNNSVApCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIE9TRkwpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHg1NywgU01JUCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweDAyLCBPU0ZMKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFNjb3BlIChcKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoT1NUUCwgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKE9TRkwsIDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoMHg1NiwgU01JUCkKICAgICAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoT1NGTCwgMHgwMikpCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweDU3LCBTTUlQKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgICAgICBJZiAoTEVxdWFsIChPU0ZMLCAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4NTgsIFNNSVApCiAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKE9T RlgsIDB4MDMpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHg1OSwgU01JUCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZp Y2UgKFNZU1IpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJ RCwgRWlzYUlkICgiUE5QMEMwMiIpKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4 MDEpCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2 LCAweDAwMTAsIDB4MDAxMCwgMHgwMSwgMHgxMCkKICAgICAgICAgICAgICAgICAgICAgICAgSU8g KERlY29kZTE2LCAweDAwMjIsIDB4MDAyMiwgMHgwMSwgMHgxRSkKICAgICAgICAgICAgICAgICAg ICAgICAgSU8gKERlY29kZTE2LCAweDAwNDQsIDB4MDA0NCwgMHgwMSwgMHgxQykKICAgICAgICAg ICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwNjIsIDB4MDA2MiwgMHgwMSwgMHgwMikK ICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwNjUsIDB4MDA2NSwgMHgw MSwgMHgwQikKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwNzQsIDB4 MDA3NCwgMHgwMSwgMHgwQykKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAw eDAwOTEsIDB4MDA5MSwgMHgwMSwgMHgwMykKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERl Y29kZTE2LCAweDAwQTIsIDB4MDBBMiwgMHgwMSwgMHgxRSkKICAgICAgICAgICAgICAgICAgICAg ICAgSU8gKERlY29kZTE2LCAweDAwRTAsIDB4MDBFMCwgMHgwMSwgMHgxMCkKICAgICAgICAgICAg ICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDBCNzgsIDB4MEI3OCwgMHgwNCwgMHgwNCkKICAg ICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDBGNzgsIDB4MEY3OCwgMHgwNCwg MHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDBBNzgsIDB4MEE3 OCwgMHgwNCwgMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDBF NzgsIDB4MEU3OCwgMHgwNCwgMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29k ZTE2LCAweDBCQkMsIDB4MEJCQywgMHgwNCwgMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAg SU8gKERlY29kZTE2LCAweDBGQkMsIDB4MEZCQywgMHgwNCwgMHgwNCkKICAgICAgICAgICAgICAg ICAgICAgICAgSU8gKERlY29kZTE2LCAweDA0RDAsIDB4MDREMCwgMHgwMSwgMHgwMikKICAgICAg ICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAyMDAsIDB4MDIwMCwgMHgwMSwgMHgw MSkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAyMDIsIDB4MDIwMiwg MHgwMSwgMHgwNykKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAzMjAs IDB4MDMyMCwgMHgwMSwgMHgxMCkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2 LCAweDAyOTUsIDB4MDI5NSwgMHgwMSwgMHgwMikKICAgICAgICAgICAgICAgICAgICB9KQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIERldmljZSAoUElDKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDAwMDAiKSkK ICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4 MDAyMCwgMHgwMDIwLCAweDAxLCAweDAyKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVj b2RlMTYsIDB4MDBBMCwgMHgwMEEwLCAweDAxLCAweDAyKQogICAgICAgICAgICAgICAgICAgICAg ICBJUlFOb0ZsYWdzICgpIHsyfQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChETUExKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDAyMDAiKSkKICAgICAgICAg ICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBETUEgKENvbXBhdGliaWxpdHksIEJ1c01h c3RlciwgVHJhbnNmZXI4KSB7NH0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2 LCAweDAwMDAsIDB4MDAwMCwgMHgwMSwgMHgxMCkKICAgICAgICAgICAgICAgICAgICAgICAgSU8g KERlY29kZTE2LCAweDAwODAsIDB4MDA4MCwgMHgwMSwgMHgxMSkKICAgICAgICAgICAgICAgICAg ICAgICAgSU8gKERlY29kZTE2LCAweDAwOTQsIDB4MDA5NCwgMHgwMSwgMHgwQykKICAgICAgICAg ICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwQzAsIDB4MDBDMCwgMHgwMSwgMHgyMCkK ICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IERldmljZSAoVE1SKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUg KF9ISUQsIEVpc2FJZCAoIlBOUDAxMDAiKSkKICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ1JT LCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDA0MCwgMHgwMDQwLCAweDAxLCAweDA0KQogICAg ICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHswfQogICAgICAgICAgICAgICAgICAg IH0pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChSVEMpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5Q MEIwMCIpKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9DUlMsIFJlc291cmNlVGVtcGxhdGUg KCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNv ZGUxNiwgMHgwMDcwLCAweDAwNzAsIDB4MDQsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAg IElSUU5vRmxhZ3MgKCkgezh9CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKFNQS1IpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMDgwMCIpKQogICAgICAgICAg ICAgICAgICAgIE5hbWUgKF9DUlMsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDYxLCAweDAw NjEsIDB4MDEsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBEZXZpY2UgKENPUFIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwNCIpKQogICAgICAgICAgICAg ICAgICAgIE5hbWUgKF9DUlMsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMEYwLCAweDAwRjAs IDB4MDEsIDB4MTApCiAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkgezEzfQog ICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg U2NvcGUgKFwpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9u UmVnaW9uIChXSU4xLCBTeXN0ZW1JTywgMHgyRSwgMHgwMikKICAgICAgICAgICAgICAgICAgICBG aWVsZCAoV0lOMSwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElORFAsICAgOCwgCiAgICAgICAgICAgICAgICAg ICAgICAgIERBVEEsICAgOAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgSW5kZXhGaWVsZCAoSU5EUCwgREFUQSwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwMiks IAogICAgICAgICAgICAgICAgICAgICAgICBDRkcsICAgIDgsIAogICAgICAgICAgICAgICAgICAg ICAgICBPZmZzZXQgKDB4MDcpLCAKICAgICAgICAgICAgICAgICAgICAgICAgTEROLCAgICA4LCAK ICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDIwKSwgCiAgICAgICAgICAgICAgICAg ICAgICAgIElESEksICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIElETE8sICAgOCwgCiAg ICAgICAgICAgICAgICAgICAgICAgIFBPV0MsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAg IE9mZnNldCAoMHgzMCksIAogICAgICAgICAgICAgICAgICAgICAgICBBQ1RSLCAgIDgsIAogICAg ICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NjApLCAKICAgICAgICAgICAgICAgICAgICAg ICAgSU9BSCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgSU9BTCwgICA4LCAKICAgICAg ICAgICAgICAgICAgICAgICAgSU8ySCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgSU8y TCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDcwKSwgCiAgICAgICAg ICAgICAgICAgICAgICAgIElOVFIsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNl dCAoMHg3MiksIAogICAgICAgICAgICAgICAgICAgICAgICBJTlQxLCAgIDgsIAogICAgICAgICAg ICAgICAgICAgICAgICBPZmZzZXQgKDB4NzQpLCAKICAgICAgICAgICAgICAgICAgICAgICAgRE1D SCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweEUwKSwgCiAgICAgICAg ICAgICAgICAgICAgICAgIENSRTAsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIENSRTEs ICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIENSRTIsICAgOCwgCiAgICAgICAgICAgICAg ICAgICAgICAgIENSRTMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIENSRTQsICAgOCwg CiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHhGMCksIAogICAgICAgICAgICAgICAg ICAgICAgICBPUFQxLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBPUFQyLCAgIDgsIAog ICAgICAgICAgICAgICAgICAgICAgICBPUFQzLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAg ICBPUFQ0LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBPUFQ1LCAgIDgsIAogICAgICAg ICAgICAgICAgICAgICAgICBPUFQ2LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBPUFQ3 LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBPUFQ4LCAgIDgsIAogICAgICAgICAgICAg ICAgICAgICAgICBPUFQ5LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBPUFRBLCAgIDgK ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoRU5GRywg MCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDg3LCBJTkRQKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHg4NywgSU5EUCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1l dGhvZCAoRVhGRywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweEFBLCBJTkRQKQogICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKENP TTEsIFN5c3RlbUlPLCAweDAzRjgsIDB4MDgpCiAgICAgICAgICAgICAgICBGaWVsZCAoQ09NMSwg Qnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBQM0Y4LCAgIDgsIAogICAgICAgICAgICAgICAgICAgIFAzRjksICAgOCwgCiAgICAg ICAgICAgICAgICAgICAgUDNGQSwgICA4LCAKICAgICAgICAgICAgICAgICAgICBQM0ZCLCAgIDgs IAogICAgICAgICAgICAgICAgICAgIFAzRkMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgUDNG RCwgICA4LCAKICAgICAgICAgICAgICAgICAgICBQM0ZFLCAgIDgsIAogICAgICAgICAgICAgICAg ICAgIFAzRkYsICAgOAogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE9wZXJhdGlv blJlZ2lvbiAoQ09NMiwgU3lzdGVtSU8sIDB4MDJGOCwgMHgwOCkKICAgICAgICAgICAgICAgIEZp ZWxkIChDT00yLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIFAyRjgsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgUDJGOSwg ICA4LCAKICAgICAgICAgICAgICAgICAgICBQMkZBLCAgIDgsIAogICAgICAgICAgICAgICAgICAg IFAyRkIsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgUDJGQywgICA4LCAKICAgICAgICAgICAg ICAgICAgICBQMkZELCAgIDgsIAogICAgICAgICAgICAgICAgICAgIFAyRkUsICAgOCwgCiAgICAg ICAgICAgICAgICAgICAgUDJGRiwgICA4CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgT3BlcmF0aW9uUmVnaW9uIChDT00zLCBTeXN0ZW1JTywgMHgwM0U4LCAweDA4KQogICAgICAg ICAgICAgICAgRmllbGQgKENPTTMsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUDNFOCwgICA4LCAKICAgICAgICAgICAgICAg ICAgICBQM0U5LCAgIDgsIAogICAgICAgICAgICAgICAgICAgIFAzRUEsICAgOCwgCiAgICAgICAg ICAgICAgICAgICAgUDNFQiwgICA4LCAKICAgICAgICAgICAgICAgICAgICBQM0VDLCAgIDgsIAog ICAgICAgICAgICAgICAgICAgIFAzRUQsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgUDNFRSwg ICA4LCAKICAgICAgICAgICAgICAgICAgICBQM0VGLCAgIDgKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKENPTTQsIFN5c3RlbUlPLCAweDAyRTgsIDB4 MDgpCiAgICAgICAgICAgICAgICBGaWVsZCAoQ09NNCwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2 ZSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBQMkU4LCAgIDgsIAogICAg ICAgICAgICAgICAgICAgIFAyRTksICAgOCwgCiAgICAgICAgICAgICAgICAgICAgUDJFQSwgICA4 LCAKICAgICAgICAgICAgICAgICAgICBQMkVCLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIFAy RUMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgUDJFRCwgICA4LCAKICAgICAgICAgICAgICAg ICAgICBQMkVFLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIFAyRUYsICAgOAogICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoSUNPTSwgMSwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMCwgTG9jYWww KQogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgMHgwM0Y4KSkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQM0ZELCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQM0ZELCBMb2NhbDApCiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweEMzLCBQM0ZBKQogICAgICAgICAgICAgICAgICAgICAg ICBXaGlsZSAoTE5vdCAoTEVxdWFsIChQM0ZBLCAweEMxKSkpCiAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQM0ZFLCBMb2NhbDApCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDAyRjgpKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUDJGRCwgTG9jYWwwKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFAyRkQsIExvY2FsMCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweEMzLCBQMkZBKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgV2hpbGUgKExOb3QgKExFcXVhbCAoUDJGQSwgMHhDMSkpKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQMkZFLCBM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4MDNF OCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKFAzRUQsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoUDNFRCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweEMzLCBQM0VBKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdoaWxl IChMTm90IChMRXF1YWwgKFAzRUEsIDB4QzEpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQM0VFLCBM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKExvY2FsMCwgMHgwMkU4KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQMkVELCBMb2NhbDAp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQMkVELCBMb2NhbDAp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweEMzLCBQMkVBKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaGlsZSAoTE5vdCAoTEVxdWFsIChQ MkVBLCAweEMxKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQMkVFLCBMb2NhbDApCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgRGV2aWNlIChGREMwKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDA3MDAiKSkKICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBFTkZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChaZXJvLCBMRE4pCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChBQ1RSKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEYpCiAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE9yIChJT0FILCBJT0FMKSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBE KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVYRkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX0RJUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIEVORkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MDAsIExETikKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEFDVFIpCiAgICAg ICAgICAgICAgICAgICAgICAgIFNMRE0gKERNQ0gsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAg ICAgIEVYRkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgRElTRCAoMHgwMykKICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5h bWUgKEJVRjAsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAzRjAsIDB4MDNGMCwg MHgwMSwgMHgwNikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgw M0Y3LCAweDAzRjcsIDB4MDEsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlFO b0ZsYWdzICgpIHs2fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BIChDb21wYXRpYmls aXR5LCBOb3RCdXNNYXN0ZXIsIFRyYW5zZmVyOCkgezJ9CiAgICAgICAgICAgICAgICAgICAgICAg IH0pCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGMCwgMHgwMiwg SU9MTykKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUYwLCAweDAz LCBJT0hJKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjAsIDB4 MDQsIElPUkwpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGMCwg MHgwNSwgSU9SSCkKICAgICAgICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAg ICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMCkK ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9QUlMsIFJl c291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDNGMCwgMHgwM0Yw LCAweDAxLCAweDA2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAw eDAzRjcsIDB4MDNGNywgMHgwMSwgMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElS UU5vRmxhZ3MgKCkgezZ9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgKENvbXBhdGli aWxpdHksIE5vdEJ1c01hc3RlciwgVHJhbnNmZXI4KSB7Mn0KICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbmREZXBlbmRlbnRGbiAoKQogICAgICAgICAg ICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlQnl0ZUZpZWxkIChBcmcwLCAweDAyLCBJT0xPKQogICAgICAgICAgICAgICAgICAgICAgICBD cmVhdGVCeXRlRmllbGQgKEFyZzAsIDB4MDMsIElPSEkpCiAgICAgICAgICAgICAgICAgICAgICAg IENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwMiwgSU9BRCkKICAgICAgICAgICAgICAgICAgICAg ICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDE5LCBJUlFMKQogICAgICAgICAgICAgICAgICAg ICAgICBDcmVhdGVCeXRlRmllbGQgKEFyZzAsIDB4MUMsIERNQVYpCiAgICAgICAgICAgICAgICAg ICAgICAgIEVORkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIExETikK ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgQUNUUikKICAgICAgICAgICAgICAg ICAgICAgICAgU0xETSAoRE1DSCwgRE1DSCkKICAgICAgICAgICAgICAgICAgICAgICAgRVhGRyAo KQogICAgICAgICAgICAgICAgICAgICAgICBDS0lPIChJT0FELCAweDAzKQogICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKFVBUjEp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlk ICgiUE5QMDUwMSIpKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MDEpCiAgICAg ICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoMHgwMiwgTEROKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAo QUNUUikKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQogICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExPciAo SU9BSCwgSU9BTCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoMHgwRCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBFTkZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBMRE4pCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBBQ1RSKQogICAgICAgICAgICAgICAg ICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIERJU0QgKDB4MDApCiAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBOYW1lIChCVUYxLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDAwLCAweDAw MDAsIDB4MDEsIDB4MDgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgp IHt9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIENy ZWF0ZUJ5dGVGaWVsZCAoQlVGMSwgMHgwMiwgSU9MTykKICAgICAgICAgICAgICAgICAgICAgICAg Q3JlYXRlQnl0ZUZpZWxkIChCVUYxLCAweDAzLCBJT0hJKQogICAgICAgICAgICAgICAgICAgICAg ICBDcmVhdGVCeXRlRmllbGQgKEJVRjEsIDB4MDQsIElPUkwpCiAgICAgICAgICAgICAgICAgICAg ICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGMSwgMHgwNSwgSU9SSCkKICAgICAgICAgICAgICAgICAg ICAgICAgQ3JlYXRlV29yZEZpZWxkIChCVUYxLCAweDA5LCBJUlFXKQogICAgICAgICAgICAgICAg ICAgICAgICBFTkZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBMRE4p CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0FMLCBJT0xPKQogICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoSU9BTCwgSU9STCkKICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKElPQUgsIElPSEkpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0FILCBJT1JI KQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgICAgIFNoaWZ0TGVmdCAoTG9jYWwwLCBJTlRSLCBJUlFXKQogICAgICAgICAgICAg ICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMSkK ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9QUlMsIFJl c291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDNGOCwgMHgwM0Y4 LCAweDAxLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKSB7 Myw0LDUsNyw5LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDJGOCwg MHgwMkY4LCAweDAxLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFn cyAoKSB7Myw0LDUsNyw5LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4 MDNFOCwgMHgwM0U4LCAweDAxLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJR Tm9GbGFncyAoKSB7Myw0LDUsNyw5LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2Rl MTYsIDB4MDJFOCwgMHgwMkU4LCAweDAxLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSVJRTm9GbGFncyAoKSB7Myw0LDUsNyw5LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVuZERlcGVuZGVudEZuICgpCiAgICAgICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBD cmVhdGVCeXRlRmllbGQgKEFyZzAsIDB4MDIsIElPTE8pCiAgICAgICAgICAgICAgICAgICAgICAg IENyZWF0ZUJ5dGVGaWVsZCAoQXJnMCwgMHgwMywgSU9ISSkKICAgICAgICAgICAgICAgICAgICAg ICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDAyLCBJT0FEKQogICAgICAgICAgICAgICAgICAg ICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4MDksIElSUVcpCiAgICAgICAgICAgICAgICAg ICAgICAgIEVORkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDIsIExETikK ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgQUNUUikKICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKElPTE8sIElPQUwpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChJT0hJLCBJT0FIKQogICAgICAgICAgICAgICAgICAgICAgICBGaW5kU2V0UmlnaHRCaXQgKElS UVcsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3VidHJhY3QgKExvY2FsMCwgMHgw MSwgSU5UUikKICAgICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAg ICAgICAgICBDS0lPIChJT0FELCAweDAwKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKExQVDEpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMDQwMCIpKQogICAg ICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEVORkcgKCkKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4MDEsIExETikKICAgICAgICAgICAgICAgICAgICAgICAgQW5k IChPUFQxLCAweDAyLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChM RXF1YWwgKExvY2FsMCwgMHgwMikpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoQUNUUikKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMT3IgKElPQUgs IElPQUwpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKDB4MEQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYRkcgKCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYRkcg KCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg TWV0aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoMHgwMSwgTEROKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQUNUUikK ICAgICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBE SVNEICgweDAyKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgTmFtZSAoQlVGNSwgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2Rl MTYsIDB4MDAwMCwgMHgwMDAwLCAweDAxLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSU8gKERlY29kZTE2LCAweDAwMDAsIDB4MDAwMCwgMHgwMSwgMHgwNCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkge30KICAgICAgICAgICAgICAgICAgICAgICAg fSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUY1LCAweDAyLCBJ T0xPKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjUsIDB4MDMs IElPSEkpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGNSwgMHgw NCwgSU9STCkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUY1LCAw eDA1LCBJT1JIKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjUs IDB4MDcsIElPTEUpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVG NSwgMHgwQSwgSU8yMSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChC VUY1LCAweDBCLCBJTzIyKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQg KEJVRjUsIDB4MEMsIElPMjMpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVs ZCAoQlVGNSwgMHgwRCwgSU8yNCkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZp ZWxkIChCVUY1LCAweDExLCBJUlFXKQogICAgICAgICAgICAgICAgICAgICAgICBFTkZHICgpCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBMRE4pCiAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChJT0FMLCBJT0xPKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo SU9MTywgSU9STCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElPQUgsIElPSEkpCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0hJLCBJT1JIKQogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoSU9BTCwgSU8yMSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KElPQUwsIElPMjMpCiAgICAgICAgICAgICAgICAgICAgICAgIEFkZCAoSU9BSCwgMHgwNCwgSU8y MikKICAgICAgICAgICAgICAgICAgICAgICAgQWRkIChJT0FILCAweDA0LCBJTzI0KQogICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChJT0xPLCAweEJDKSkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDQsIElPTEUp CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoMHgwOCwgSU9MRSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKE9uZSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoSU5UUiwgTG9jYWw1KQogICAgICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQgKExvY2Fs MCwgTG9jYWw1LCBJUlFXKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBBQ1RS KQogICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoQlVGNSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IE5hbWUgKF9QUlMsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYs IDB4MDM3OCwgMHgwMzc4LCAweDAxLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg SU8gKERlY29kZTE2LCAweDA3NzgsIDB4MDc3OCwgMHgwMSwgMHgwNCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkgezMsNCw1LDcsOSwxMCwxMSwxMn0KICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBTdGFydERlcGVuZGVudEZu Tm9QcmkgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgSU8gKERlY29kZTE2LCAweDAyNzgsIDB4MDI3OCwgMHgwMSwgMHgwOCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwNjc4LCAweDA2NzgsIDB4MDEsIDB4 MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHszLDQsNSw3LDks MTAsMTEsMTJ9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgU3RhcnREZXBlbmRlbnRGbk5vUHJpICgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwM0JDLCAweDAzQkMsIDB4 MDEsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDdC QywgMHgwN0JDLCAweDAxLCAweDA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9G bGFncyAoKSB7Myw0LDUsNyw5LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgIEVuZERlcGVuZGVudEZuICgpCiAgICAgICAgICAgICAgICAg ICAgfSkKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRl RmllbGQgKEFyZzAsIDB4MDIsIElPTE8pCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5 dGVGaWVsZCAoQXJnMCwgMHgwMywgSU9ISSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRl V29yZEZpZWxkIChBcmcwLCAweDAyLCBJT0FEKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVh dGVCeXRlRmllbGQgKEFyZzAsIDB4MDQsIElPUkwpCiAgICAgICAgICAgICAgICAgICAgICAgIENy ZWF0ZUJ5dGVGaWVsZCAoQXJnMCwgMHgwNSwgSU9SSCkKICAgICAgICAgICAgICAgICAgICAgICAg Q3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDExLCBJUlFXKQogICAgICAgICAgICAgICAgICAgICAg ICBFTkZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBMRE4pCiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIEFDVFIpCiAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChJT0xPLCBJT0FMKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSU9I SSwgSU9BSCkKICAgICAgICAgICAgICAgICAgICAgICAgRmluZFNldExlZnRCaXQgKElSUVcsIExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3VidHJhY3QgKExvY2FsMCwgMHgwMSwgTG9j YWwwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBJTlRSKQogICAgICAg ICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIENLSU8gKElP QUQsIDB4MDIpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIERldmljZSAoRUNQMSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwNDAxIikpCiAgICAgICAgICAgICAgICAgICAg TWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoMHgwMSwgTEROKQogICAgICAgICAgICAgICAgICAgICAgICBBbmQgKE9QVDEsIDB4MDIsIExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDAyKSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KEFDVFIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHgwRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTE9yIChJT0FILCBJT0FMKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVY RkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBEKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEVO RkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIExETikKICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEFDVFIpCiAgICAgICAgICAgICAgICAgICAgICAg IFNMRE0gKERNQ0gsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIEVYRkcgKCkKICAgICAg ICAgICAgICAgICAgICAgICAgRElTRCAoMHgwMikKICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKEJVRjYsIFJlc291cmNl VGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwMDAsIDB4MDAwMCwgMHgwMSwgMHgwOCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDAwLCAweDAwMDAsIDB4MDEs IDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHt9CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBETUEgKENvbXBhdGliaWxpdHksIE5vdEJ1c01hc3Rlciwg VHJhbnNmZXI4KSB7fQogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAg ICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjYsIDB4MDIsIElPTE8pCiAgICAgICAgICAgICAg ICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGNiwgMHgwMywgSU9ISSkKICAgICAgICAgICAg ICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUY2LCAweDA0LCBJT1JMKQogICAgICAgICAg ICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjYsIDB4MDUsIElPUkgpCiAgICAgICAg ICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGNiwgMHgwQSwgSU9FTCkKICAgICAg ICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUY2LCAweDBCLCBJT0VIKQogICAg ICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjYsIDB4MEMsIElPTUwpCiAg ICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGNiwgMHgwRCwgSU9NSCkK ICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUY2LCAweDA3LCBJT0xF KQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEJVRjYsIDB4MTEsIElS UVcpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGNiwgMHgxNCwg RE1BQykKICAgICAgICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwMSwgTEROKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25l LCBBQ1RSKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSU9BTCwgTG9jYWwyKQogICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwyLCBJT0xPKQogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoSU9BSCwgTG9jYWwzKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoTG9jYWwzLCBJT0hJKQogICAgICAgICAgICAgICAgICAgICAgICBPciAoTG9jYWwzLCAweDA0 LCBMb2NhbDMpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDMsIElPRUgpCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDMsIElPTUgpCiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChJT0xPLCBJT1JMKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoSU9MTywgSU9FTCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElPTE8sIElPTUwp CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0hJLCBJT1JIKQogICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChJT0xPLCAweEJDKSkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDQsIElPTEUpCiAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgw OCwgSU9MRSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKE9uZSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSU5U UiwgTG9jYWw1KQogICAgICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQgKExvY2FsMCwgTG9j YWw1LCBJUlFXKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBMb2NhbDApCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChETUNILCBMb2NhbDUpCiAgICAgICAgICAgICAg ICAgICAgICAgIFNoaWZ0TGVmdCAoTG9jYWwwLCBMb2NhbDUsIERNQUMpCiAgICAgICAgICAgICAg ICAgICAgICAgIEVYRkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUY2KQog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1BSUywgUmVz b3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgU3RhcnREZXBlbmRlbnRGbk5vUHJpICgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMzc4LCAweDAzNzgs IDB4MDEsIDB4MDgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4 MDc3OCwgMHgwNzc4LCAweDAxLCAweDA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJR Tm9GbGFncyAoKSB7Myw0LDUsNyw5LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgRE1BIChDb21wYXRpYmlsaXR5LCBOb3RCdXNNYXN0ZXIsIFRyYW5zZmVyOCkgezAsMSwzfQog ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0RGVw ZW5kZW50Rm5Ob1ByaSAoKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDI3OCwgMHgwMjc4LCAweDAxLCAweDA4KQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDA2NzgsIDB4MDY3OCwg MHgwMSwgMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkgezMs NCw1LDcsOSwxMCwxMSwxMn0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQSAoQ29tcGF0 aWJpbGl0eSwgTm90QnVzTWFzdGVyLCBUcmFuc2ZlcjgpIHswLDEsM30KICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBTdGFydERlcGVuZGVudEZuTm9Qcmkg KCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg SU8gKERlY29kZTE2LCAweDAzQkMsIDB4MDNCQywgMHgwMSwgMHgwNCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwN0JDLCAweDA3QkMsIDB4MDEsIDB4MDQpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHszLDQsNSw3LDksMTAsMTEs MTJ9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgKENvbXBhdGliaWxpdHksIE5vdEJ1 c01hc3RlciwgVHJhbnNmZXI4KSB7MCwxLDN9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgRW5kRGVwZW5kZW50Rm4gKCkKICAgICAgICAgICAgICAgICAg ICB9KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVG aWVsZCAoQXJnMCwgMHgwMiwgSU9MTykKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0 ZUZpZWxkIChBcmcwLCAweDAzLCBJT0hJKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVX b3JkRmllbGQgKEFyZzAsIDB4MDIsIElPQUQpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0 ZVdvcmRGaWVsZCAoQXJnMCwgMHgxMSwgSVJRVykKICAgICAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlQnl0ZUZpZWxkIChBcmcwLCAweDE0LCBETUFDKQogICAgICAgICAgICAgICAgICAgICAgICBF TkZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBMRE4pCiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIEFDVFIpCiAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlIChJT0xPLCBJT0FMKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSU9ISSwg SU9BSCkKICAgICAgICAgICAgICAgICAgICAgICAgRmluZFNldExlZnRCaXQgKElSUVcsIExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICAgICAgU3VidHJhY3QgKExvY2FsMCwgMHgwMSwgTG9jYWww KQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBJTlRSKQogICAgICAgICAg ICAgICAgICAgICAgICBGaW5kU2V0TGVmdEJpdCAoRE1BQywgTG9jYWwxKQogICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoRE1DSCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBT dWJ0cmFjdCAoTG9jYWwxLCAweDAxLCBETUNIKQogICAgICAgICAgICAgICAgICAgICAgICBTTERN IChMb2NhbDAsIERNQ0gpCiAgICAgICAgICAgICAgICAgICAgICAgIEVYRkcgKCkKICAgICAgICAg ICAgICAgICAgICAgICAgQ0tJTyAoSU9BRCwgMHgwMikKICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChLQkNULCBT eXN0ZW1JTywgMHg2MCwgMHgwNSkKICAgICAgICAgICAgICAgIEZpZWxkIChLQkNULCBCeXRlQWNj LCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IFAwNjAsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDA0KSwgCiAgICAgICAg ICAgICAgICAgICAgUDA2NCwgICA4CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg RGV2aWNlIChQUzJNKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUg KF9ISUQsIEVpc2FJZCAoIlBOUDBGMTMiKSkKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9T VEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChQUzJGLCAweDAwKSkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQogICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQog ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChCVUYxLCBSZXNvdXJjZVRlbXBs YXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElSUU5vRmxhZ3MgKCkgezEyfQogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAg ICAgICAgICAgICAgICAgICBOYW1lIChCVUYyLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUx NiwgMHgwMDYwLCAweDAwNjAsIDB4MDEsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJTyAoRGVjb2RlMTYsIDB4MDA2NCwgMHgwMDY0LCAweDAxLCAweDAxKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKSB7MTJ9CiAgICAgICAgICAgICAgICAgICAgICAg IH0pCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEtCREksIDB4MDEpKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChPU0ZMLCAweDAyKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRjEpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoT1NGTCwg MHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChCVUYxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMikKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMSkKICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBEZXZpY2UgKFBTMkspCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX0hJRCwgRWlzYUlkICgiUE5QMDMwMyIpKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9D SUQsIDB4MEIwM0QwNDEpCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg SWYgKExFcXVhbCAoS0JESSwgMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwRikKICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg TmFtZSAoX0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwNjAsIDB4MDA2MCwgMHgwMSwg MHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwNjQsIDB4MDA2 NCwgMHgwMSwgMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKSB7MX0K ICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IERldmljZSAoUFNNUikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1l IChfSElELCBFaXNhSWQgKCJQTlAwQzAyIikpCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1VJ RCwgMHgwMykKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChLQkRJLCAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChQUzJGLCAweDAwKSkKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAo T1NGTCwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKE9TRkwsIDB4MDEp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoMHgwRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwRikKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9DUlMsIFJlc291cmNlVGVtcGxh dGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChE ZWNvZGUxNiwgMHgwMDYwLCAweDAwNjAsIDB4MDEsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAg ICAgIElPIChEZWNvZGUxNiwgMHgwMDY0LCAweDAwNjQsIDB4MDEsIDB4MDEpCiAgICAgICAgICAg ICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKEdB TUUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlz YUlkICgiUE5QQjAyRiIpKQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IEVORkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDcsIExETikKICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKExPciAoSU9BSCwgSU9BTCkpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYRkcgKCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoMHgwRikKICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoQUNUUiwgMHgwMiwgTG9jYWwwKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDAyKSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWEZH ICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBEKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEVYRkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDAp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywg MCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIEVORkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDcsIExETikK ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIElPQUgpCiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChaZXJvLCBJT0FMKQogICAgICAgICAgICAgICAgICAgICAgICBFWEZH ICgpCiAgICAgICAgICAgICAgICAgICAgICAgIERJU0QgKDB4MDQpCiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChCVUYx LCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDAwLCAweDAwMDAsIDB4MDEsIDB4 MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIENy ZWF0ZUJ5dGVGaWVsZCAoQlVGMSwgMHgwMiwgSU9MTykKICAgICAgICAgICAgICAgICAgICAgICAg Q3JlYXRlQnl0ZUZpZWxkIChCVUYxLCAweDAzLCBJT0hJKQogICAgICAgICAgICAgICAgICAgICAg ICBDcmVhdGVCeXRlRmllbGQgKEJVRjEsIDB4MDQsIElPUkwpCiAgICAgICAgICAgICAgICAgICAg ICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGMSwgMHgwNSwgSU9SSCkKICAgICAgICAgICAgICAgICAg ICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNywgTEROKQog ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSU9BTCwgSU9MTykKICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKElPQUwsIElPUkwpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChJT0FILCBJT0hJKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSU9BSCwgSU9SSCkK ICAgICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKEJVRjEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBO YW1lIChfUFJTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBTdGFydERlcGVuZGVudEZuTm9QcmkgKCkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAw eDAyMDEsIDB4MDIwMSwgMHgwMSwgMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICBTdGFydERlcGVuZGVudEZuTm9QcmkgKCkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAw eDAyMDksIDB4MDIwOSwgMHgwMSwgMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICBFbmREZXBlbmRlbnRGbiAoKQogICAgICAgICAgICAgICAgICAg IH0pCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZp ZWxkIChBcmcwLCAweDAyLCBJT0xPKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRl RmllbGQgKEFyZzAsIDB4MDMsIElPSEkpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdv cmRGaWVsZCAoQXJnMCwgMHgwMiwgSU9BRCkKICAgICAgICAgICAgICAgICAgICAgICAgRU5GRyAo KQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNywgTEROKQogICAgICAgICAgICAg ICAgICAgICAgICBPciAoQUNUUiwgMHgwMiwgQUNUUikKICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKElPTE8sIElPQUwpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0hJLCBJ T0FIKQogICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAg ICAgIENLSU8gKElPQUQsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgIERldmljZSAoTUlESSkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlBCMDA2IikpCiAgICAgICAg ICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChNSUQxLCBTeXN0ZW1JTywgMHgwMjkwLCAweDAy KQogICAgICAgICAgICAgICAgICAgIEZpZWxkIChNSUQxLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNl cnZlKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTUQxLCAg ICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgU1QxLCAgICA4CiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKE1JRDIsIFN5c3RlbUlP LCAweDAzMDAsIDB4MDIpCiAgICAgICAgICAgICAgICAgICAgRmllbGQgKE1JRDIsIEJ5dGVBY2Ms IE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBNRDIsICAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBTVDIsICAgIDgKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAo TUlEMywgU3lzdGVtSU8sIDB4MDMzMCwgMHgwMikKICAgICAgICAgICAgICAgICAgICBGaWVsZCAo TUlEMywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIE1EMywgICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAg IFNUMywgICAgOAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwNywgTEROKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE9yIChJTzJILCBJTzJMKSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhG RyAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQogICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChBQ1RSLCAweDA0 LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAs IDB4MDQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVYRkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MEQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHgwNywgTEROKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSU8y SCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIElPMkwpCiAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBJTlRSKQogICAgICAgICAgICAgICAgICAgICAgICBF WEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIERJU0QgKDB4MDUpCiAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChC VUYxLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDAwLCAweDAwMDAsIDB4MDEs IDB4MDIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHt9CiAgICAg ICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVG aWVsZCAoQlVGMSwgMHgwMiwgSU9MTykKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0 ZUZpZWxkIChCVUYxLCAweDAzLCBJT0hJKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVC eXRlRmllbGQgKEJVRjEsIDB4MDQsIElPUkwpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0 ZUJ5dGVGaWVsZCAoQlVGMSwgMHgwNSwgSU9SSCkKICAgICAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlV29yZEZpZWxkIChCVUYxLCAweDA5LCBJUlFXKQogICAgICAgICAgICAgICAgICAgICAgICBF TkZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA3LCBMRE4pCiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChJTzJMLCBJT0xPKQogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoSU8yTCwgSU9STCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElPMkgs IElPSEkpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChJTzJILCBJT1JIKQogICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg ICAgIFNoaWZ0TGVmdCAoTG9jYWwwLCBJTlRSLCBJUlFXKQogICAgICAgICAgICAgICAgICAgICAg ICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMSkKICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9QUlMsIFJlc291cmNlVGVt cGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0 YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDMzMCwgMHgwMzMwLCAweDAxLCAw eDAyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKSB7Myw0LDUsNyw5 LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDMwMCwgMHgwMzAwLCAw eDAxLCAweDAyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKSB7Myw0 LDUsNyw5LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDI5MCwgMHgw MjkwLCAweDAxLCAweDAyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAo KSB7Myw0LDUsNyw5LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgIEVuZERlcGVuZGVudEZuICgpCiAgICAgICAgICAgICAgICAgICAgfSkK ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQg KEFyZzAsIDB4MDIsIElPTE8pCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVs ZCAoQXJnMCwgMHgwMywgSU9ISSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZp ZWxkIChBcmcwLCAweDAyLCBJT0FEKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3Jk RmllbGQgKEFyZzAsIDB4MDksIElSUVcpCiAgICAgICAgICAgICAgICAgICAgICAgIEVORkcgKCkK ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDcsIExETikKICAgICAgICAgICAgICAg ICAgICAgICAgT3IgKEFDVFIsIDB4MDQsIEFDVFIpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChJT0xPLCBJTzJMKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSU9ISSwgSU8y SCkKICAgICAgICAgICAgICAgICAgICAgICAgRmluZFNldExlZnRCaXQgKElSUVcsIExvY2FsMCkK ICAgICAgICAgICAgICAgICAgICAgICAgU3VidHJhY3QgKExvY2FsMCwgMHgwMSwgTG9jYWwwKQog ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBJTlRSKQogICAgICAgICAgICAg ICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIENLSU8gKElPQUQsIDB4 MDUpCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKElPQUQsIDB4MDI5MCkpCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAo U1QxLCAweDQwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaGlsZSAoTEVx dWFsIChMb2NhbDAsIDB4NDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChNRDEsIExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBBbmQgKFNUMSwgMHg0MCwgTG9jYWwwKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoSU9BRCwgMHgwMzAwKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKFNUMiwgMHg0 MCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdoaWxlIChMRXF1YWwg KExvY2FsMCwgMHg0MCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTUQyLCBMb2NhbDApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoU1QyLCAweDQwLCBMb2NhbDApCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoU1QzLCAweDQwLCBM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2hpbGUgKExFcXVhbCAoTG9j YWwwLCAweDQwKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChNRDMsIExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChTVDMsIDB4NDAsIExvY2FsMCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChQTUlPKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMDIiKSkKICAgICAg ICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDAyKQogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIE5hbWUgKEJVRjAsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2 LCAweDA0MDAsIDB4MDQwMCwgMHgwMSwgMHhDMCkKICAgICAgICAgICAgICAgICAgICAgICAgfSkK ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUYwKQogICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChV U0IwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUQwMDAw KQogICAgICAgICAgICAgICAgTWV0aG9kIChfUzNELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKE9TRkwsIDB4MDIpKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAy KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAz KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE5hbWUgKF9QUlcsIFBhY2thZ2Ug KDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAg ICAgICAgICAgICAgICAgMHgwMwogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQoKICAg ICAgICAgICAgRGV2aWNlIChVU0IxKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1l IChfQURSLCAweDAwMUQwMDAxKQogICAgICAgICAgICAgICAgTWV0aG9kIChfUzNELCAwLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKE9TRkwsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuICgweDAyKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgUmV0dXJuICgweDAzKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE5h bWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgMHgwNCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMwogICAgICAgICAgICAgICAgfSkK ICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChVU0IyKQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUQwMDAyKQogICAgICAgICAgICAgICAgTWV0 aG9kIChfUzNELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKE9TRkwsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAyKQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAzKQogICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgIE5hbWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgMHgwQywgCiAgICAgICAgICAgICAgICAgICAgMHgwMwog ICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChVU0Iz KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUQwMDAzKQog ICAgICAgICAgICAgICAgTWV0aG9kIChfUzNELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKE9TRkwsIDB4MDIpKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAyKQog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAzKQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE5hbWUgKF9QUlcsIFBhY2thZ2UgKDB4 MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwRSwgCiAgICAgICAg ICAgICAgICAgICAgMHgwMwogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQoKICAgICAg ICAgICAgRGV2aWNlIChVU0JFKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChf QURSLCAweDAwMUQwMDA3KQogICAgICAgICAgICAgICAgTWV0aG9kIChfUzNELCAwLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwg KE9TRkwsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuICgweDAyKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgUmV0dXJuICgweDAzKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE5hbWUg KF9QUlcsIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgMHgwRCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMwogICAgICAgICAgICAgICAgfSkKICAg ICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChJQ0hYKQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUYwMDAxKQogICAgICAgICAgICAgICAgT3BlcmF0 aW9uUmVnaW9uIChQQ0ksIFBDSV9Db25maWcsIDB4NDAsIDB4MjApCiAgICAgICAgICAgICAgICBG aWVsZCAoUENJLCBEV29yZEFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBJVE0wLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICBJVE0x LCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICBTSVQwLCAgIDQsIAogICAgICAgICAgICAgICAg ICAgIFNJVDEsICAgNCwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDA4KSwgCiAgICAg ICAgICAgICAgICAgICAgVURDMCwgICAyLCAKICAgICAgICAgICAgICAgICAgICBVREMxLCAgIDIs IAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwQSksIAogICAgICAgICAgICAgICAgICAg IFVEVDAsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgVURUMSwgICA4LCAKICAgICAgICAgICAg ICAgICAgICBPZmZzZXQgKDB4MTQpLCAKICAgICAgICAgICAgICAgICAgICBJQ0YwLCAgIDIsIAog ICAgICAgICAgICAgICAgICAgIElDRjEsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgICAgICwg ICA2LCAKICAgICAgICAgICAgICAgICAgICBXUFBFLCAgIDEsIAogICAgICAgICAgICAgICAgICAg ICAgICAsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgRkFTMCwgICAyLCAKICAgICAgICAgICAg ICAgICAgICBGQVMxLCAgIDIKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRo b2QgKEdUTSwgNiwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoQnVmZmVyICgweDE0KSB7fSwgTG9jYWwwKQogICAgICAgICAgICAgICAg ICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsMCwgMHgwMCwgUElPMCkKICAgICAgICAgICAgICAg ICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDAsIDB4MDQsIERNQTApCiAgICAgICAgICAgICAg ICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwwLCAweDA4LCBQSU8xKQogICAgICAgICAgICAg ICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsMCwgMHgwQywgRE1BMSkKICAgICAgICAgICAg ICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDAsIDB4MTAsIEZMQUcpCiAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKDB4MTAsIEZMQUcpCiAgICAgICAgICAgICAgICAgICAgSWYgKExPciAo QW5kIChBcmcwLCAweDA4KSwgTE5vdCAoQW5kIChBcmcwLCAweDAxKSkpKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDM4NCwgUElPMCkKICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQWRkIChTaGlmdFJpZ2h0IChBbmQgKEFy ZzAsIDB4MDMwMCksIDB4MDgpLCBTaGlmdFJpZ2h0IChBbmQgKEFyZzAsIDB4MzAwMCksIDB4MEMp LCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgICAgIE11bHRpcGx5IChTdWJ0cmFjdCAoMHgw OSwgTG9jYWwxKSwgMHgxRSwgUElPMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgIElmIChMT3IgKExBbmQgKEFyZzAsIDB4NDAwMCksIExBbmQgKEFyZzIsIDB4MDEp KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMT3Ig KEFuZCAoQXJnMCwgMHg4MCksIExOb3QgKEFuZCAoQXJnMCwgMHgxMCkpKSkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDM4NCwg UElPMSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBF bHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IEFkZCAoQW5kIChBcmcxLCAweDAzKSwgU2hpZnRSaWdodCAoQW5kIChBcmcxLCAweDBDKSwgMHgw MiksIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE11bHRpcGx5IChTdWJ0cmFj dCAoMHgwOSwgTG9jYWwxKSwgMHgxRSwgUElPMSkKICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUElPMCwgUElPMSkKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmIChBbmQgKEFyZzIsIDB4 MDEpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3VidHJh Y3QgKDB4MDQsIEFuZCAoQXJnMywgMHgwMyksIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKEFuZCAoQXJnNSwgMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDE0LCBETUEwKQogICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoQXJnNCwgMHgwMSkp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTXVsdGlwbHkgKExvY2FsMSwgMHgwRiwgRE1BMCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNdWx0aXBseSAo TG9jYWwxLCAweDFFLCBETUEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChQSU8wLCBETUEwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgSWYgKExPciAoTEFuZCAoQXJnMCwgMHg0MDAwKSwgTEFuZCAoQXJnMiwgMHgwMSkpKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoQXJnMiwg MHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN1YnRyYWN0ICgweDA0LCBTaGlmdFJpZ2h0IChBbmQgKEFyZzMsIDB4MzApLCAweDA0KSwg TG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoQXJnNSwgMHgwMikp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4MTQsIERNQTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoQXJnNCwgMHgwMikp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBNdWx0aXBseSAoTG9jYWwxLCAweDBGLCBETUExKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBNdWx0aXBseSAoTG9jYWwxLCAweDFFLCBETUExKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSU8x LCBETUExKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChETUEwLCBETUExKQogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEZMQUcpCiAgICAgICAgICAgICAgICAgICAg SWYgKEFuZCAoQXJnMCwgMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBPciAoRkxBRywgMHgxMCwgRkxBRykKICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgIElmIChBbmQgKEFyZzIsIDB4MDEpKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKEZMQUcsIDB4MDEsIEZMQUcpCiAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChBcmcwLCAweDAy KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE9yIChGTEFH LCAweDAyLCBGTEFHKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg SWYgKEFuZCAoQXJnMiwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBPciAoRkxBRywgMHgwNCwgRkxBRykKICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgIElmIChBbmQgKEFyZzAsIDB4MjApKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKEZMQUcsIDB4MDgsIEZMQUcpCiAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFNUTSwgMywgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQnVmZmVy ICgweDE4KSB7fSwgTG9jYWw3KQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KExvY2FsNywgMHgwMCwgSVRNKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KExvY2FsNywgMHgwNCwgU0lUKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KExvY2FsNywgMHgwOCwgVURDKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KExvY2FsNywgMHgwQywgVURUKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KExvY2FsNywgMHgxMCwgSUNGKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KExvY2FsNywgMHgxNCwgRkFTKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KEFyZzAsIDB4MDAsIFBJTzApCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAo QXJnMCwgMHgwNCwgRE1BMCkKICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChB cmcwLCAweDA4LCBQSU8xKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFy ZzAsIDB4MEMsIERNQTEpCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJn MCwgMHgxMCwgRkxBRykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRkxBRywgTG9jYWw0KQog ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDgwMDAsIExvY2FsMCkKICAgICAgICAgICAgICAg ICAgICBJZiAoQW5kIChMb2NhbDQsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgwNywgTG9jYWwwKQogICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoTG9jYWw0LCAweDA4KSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4 NDAwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBPciAoTG9jYWwwLCAweDcwLCBM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEFu ZCAoTExlc3MgKERNQTAsIFBJTzApLCBMTm90IChBbmQgKExvY2FsNCwgMHgwMSkpKSkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4MDgs IExvY2FsMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmIChM QW5kIChMTGVzcyAoRE1BMSwgUElPMSksIExOb3QgKEFuZCAoTG9jYWw0LCAweDA0KSkpKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHg4 MCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYg KFBJTzApCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAo TExlc3MgKFBJTzAsIDB4MDM4NCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4MDEsIExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg SWYgKFBJTzEpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoTExlc3MgKFBJTzEsIDB4MDM4NCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4MTAsIExvY2FsMCkKICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgSWYgKEFuZCAoTG9jYWw0LCAweDAxKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChQSU8wLCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChETUEwLCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBJZiAoTG9jYWwxKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExOb3QgKExHcmVhdGVyIChMb2NhbDEsIDB4Nzgp KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg T3IgKExvY2FsMCwgMHgyMzAwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE5vdCAoTEdyZWF0ZXIgKExvY2FsMSwgMHhCNCkp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE9yIChMb2NhbDAsIDB4MjEwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChM R3JlYXRlciAoTG9jYWwxLCAweEYwKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoTG9jYWwwLCAweDEwMDAs IExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIElUTSkKICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoWmVybywgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIElmIChB bmQgKExvY2FsNCwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoUElPMSwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoRE1BMSwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgSWYgKExvY2FsMSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIElmIChMTm90IChMR3JlYXRlciAoTG9jYWwxLCAweDc4KSkpCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDBCLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoTE5vdCAoTEdyZWF0ZXIgKExvY2FsMSwgMHhCNCkpKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDA5LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExOb3QgKExHcmVhdGVyIChMb2NhbDEsIDB4RjAp KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweDA0LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBT dG9yZSAoTG9jYWwwLCBTSVQpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChMb2NhbDQsIDB4MDEpKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgwMSwgTG9j YWwwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAo TG9jYWw0LCAweDA0KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIE9yIChMb2NhbDAsIDB4MDIsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIFVEQykKICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHgwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIElmIChBbmQgKExvY2FsNCwg MHgwMSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAo TEVxdWFsIChETUEwLCAweDE0KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTGVzcyAoRE1BMCwgMHgzQykp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRGl2aWRlIChETUEwLCAweDBGLCAsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXZpZGUgKERN QTAsIDB4MUUsICwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN1YnRyYWN0ICgweDA0LCBMb2NhbDEsIExvY2FsMCkKICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgSWYgKEFuZCAoTG9jYWw0LCAweDA0KSkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKERNQTEsIDB4MTQpKQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMSwg TG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExMZXNzIChETUExLCAweDNDKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXZpZGUgKERNQTEsIDB4MEYsICwgTG9j YWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIERpdmlkZSAoRE1BMSwgMHgxRSwgLCBMb2NhbDEpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3VidHJhY3Qg KDB4MDQsIExvY2FsMSwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgICAgICBTaGlmdExlZnQgKExvY2FsMSwgMHgwNCwgTG9jYWwxKQogICAgICAg ICAgICAgICAgICAgICAgICBPciAoTG9jYWwwLCBMb2NhbDEsIExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIFVEVCkKICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIElm IChETUEwKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExHcmVhdGVyIChETUEwLCAweDE0KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExMZXNzIChETUEwLCAweDNDKSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoTG9j YWwwLCAweDAxLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgIElmIChETUExKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExHcmVhdGVyIChETUExLCAweDE0KSkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExMZXNzIChETUExLCAweDNDKSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBP ciAoTG9jYWwwLCAweDAyLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgIFN0b3JlIChMb2NhbDAsIElDRikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKERNQTAsIDB4MTQp KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2Fs MCwgMHgwMSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoRE1BMSwgMHgxNCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBPciAoTG9jYWwwLCAweDAyLCBMb2NhbDApCiAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBGQVMpCiAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChMb2NhbDcpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgTWV0aG9kIChIMTVQLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIE5hbWUgKEJVRkYsIEJ1ZmZlciAoMHgwOCkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAg ICAgICAgICAgIFN0b3JlIChBcmcwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KEJVRkYsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICBDb25jYXRlbmF0ZSAoTG9jYWwwLCBM b2NhbDEsIExvY2FsNykKICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKExvY2Fs NywgMHgwMiwgQ1lMKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoTG9jYWw3 LCAweDA2LCBIRUFEKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoTG9jYWw3 LCAweDBDLCBTUFQpCiAgICAgICAgICAgICAgICAgICAgSWYgKExBbmQgKExOb3QgKExMZXNzIChI RUFELCAweDEwKSksIExOb3QgKExMZXNzIChDWUwsIDB4MjAwMCkpKSkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoU1BUKQogICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoR1RGMCwgNywgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo QnVmZmVyICgweDA3KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweEEwLCAweEVGCiAgICAg ICAgICAgICAgICAgICAgICAgIH0sIExvY2FsNykKICAgICAgICAgICAgICAgICAgICBDcmVhdGVC eXRlRmllbGQgKExvY2FsNywgMHgwMSwgTU9ERSkKICAgICAgICAgICAgICAgICAgICBJZiAoQW5k IChBcmcyLCAweDAxKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIEFuZCAoQXJnMywgMHgwMywgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAo QW5kIChBcmc2LCAweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgQWRkIChMb2NhbDAsIDB4MDQsIExvY2FsMCkKICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKEFyZzQsIDB4MDEp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEFkZCAoTG9jYWwwLCAweDAyLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAg IE9yIChMb2NhbDAsIDB4NDAsIE1PREUpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIEFkZCAoU2hpZnRSaWdodCAoQW5kIChBcmcwLCAweDAzMDApLCAweDA4KSwgU2hpZnRSaWdo dCAoQW5kIChBcmcwLCAweDMwMDApLCAweDBDKSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTE5vdCAoTExlc3MgKExvY2FsMCwgMHgwNSkpKQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgyMiwgTU9ERSkKICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90 IChMTGVzcyAoTG9jYWwwLCAweDAzKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MjEsIE1PREUpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MjAsIE1PREUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIENvbmNhdGVuYXRlIChMb2NhbDcsIExvY2FsNywgTG9jYWw2KQogICAgICAgICAgICAg ICAgICAgIElmIChMT3IgKEFuZCAoQXJnMCwgMHgwOCksIExOb3QgKEFuZCAoQXJnMCwgMHgwMSkp KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQg KEFyZzAsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoMHgwMCwgTU9ERSkKICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBNT0RFKQogICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVs c2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEFkZCAoU2hp ZnRSaWdodCAoQW5kIChBcmcwLCAweDAzMDApLCAweDA4KSwgU2hpZnRSaWdodCAoQW5kIChBcmcw LCAweDMwMDApLCAweDBDKSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE5v dCAoTExlc3MgKExvY2FsMCwgMHgwNSkpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwQywgTU9ERSkKICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChMTGVzcyAoTG9j YWwwLCAweDAzKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MEIsIE1PREUpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MEEsIE1PREUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIENvbmNh dGVuYXRlIChMb2NhbDYsIExvY2FsNywgTG9jYWw1KQogICAgICAgICAgICAgICAgICAgIElmIChB cmc1KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KEJ1ZmZlciAoMHgwNykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweEFFLCAw eDkxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBMb2NhbDQpCiAgICAgICAgICAgICAg ICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoTG9jYWw0LCAweDAxLCBTUFQpCiAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChBcmc1LCBTUFQpCiAgICAgICAgICAgICAgICAgICAgICAgIENv bmNhdGVuYXRlIChMb2NhbDUsIExvY2FsNCwgTG9jYWw2KQogICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKExvY2FsNikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChMb2NhbDUpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIE1ldGhvZCAoR1RGMSwgNywgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQnVmZmVyICgweDA3KQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweEIwLCAweEVGCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIExv Y2FsNykKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKExvY2FsNywgMHgwMSwg TU9ERSkKICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChBcmcyLCAweDAyKSkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQgKEFuZCAoQXJn MywgMHgzMCksIDB4MDQsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAo QXJnNiwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEFkZCAoTG9jYWwwLCAweDA0LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChBcmc0LCAweDAyKSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBBZGQgKExvY2FsMCwgMHgwMiwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBPciAo TG9jYWwwLCAweDQwLCBNT0RFKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBB ZGQgKFNoaWZ0UmlnaHQgKEFuZCAoQXJnMSwgMHgwMyksIDB4MDIpLCBBbmQgKEFyZzEsIDB4MEMp LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChMTGVzcyAoTG9jYWww LCAweDA1KSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDIyLCBNT0RFKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExOb3QgKExMZXNzIChMb2NhbDAsIDB4MDMpKSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHgyMSwgTU9ERSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgyMCwgTU9ERSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgQ29uY2F0ZW5hdGUgKExvY2FsNywg TG9jYWw3LCBMb2NhbDYpCiAgICAgICAgICAgICAgICAgICAgSWYgKExPciAoQW5kIChBcmcwLCAw eDgwKSwgTE5vdCAoQW5kIChBcmcwLCAweDEwKSkpKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoQXJnMCwgMHgyMCkpCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBNT0RF KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4MDEsIE1PREUpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgQWRkIChTaGlmdFJpZ2h0IChBbmQgKEFyZzEsIDB4MDMpLCAw eDAyKSwgQW5kIChBcmcxLCAweDBDKSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoTE5vdCAoTExlc3MgKExvY2FsMCwgMHgwNSkpKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwQywgTU9ERSkKICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChMTGVz cyAoTG9jYWwwLCAweDAzKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MEIsIE1PREUpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4MEEsIE1PREUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IENvbmNhdGVuYXRlIChMb2NhbDYsIExvY2FsNywgTG9jYWw1KQogICAgICAgICAgICAgICAgICAg IElmIChBcmc1KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKEJ1ZmZlciAoMHgwNykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eEJFLCAweDkxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBMb2NhbDQpCiAgICAgICAg ICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoTG9jYWw0LCAweDAxLCBTUFQpCiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmc1LCBTUFQpCiAgICAgICAgICAgICAgICAgICAg ICAgIENvbmNhdGVuYXRlIChMb2NhbDUsIExvY2FsNCwgTG9jYWw2KQogICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKExvY2FsNikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuIChMb2NhbDUpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIERldmljZSAoUFJJTSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwKQogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX0dUTSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChHVE0gKElUTTAsIFNJVDAsIFVEQzAsIFVEVDAsIElDRjAs IEZBUzApLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RNLCAz LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKFNUTSAoQXJnMCwgQXJnMSwgQXJnMiksIExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwwLCAweDAwLCBJVE0pCiAgICAgICAg ICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsMCwgMHgwNCwgU0lUKQogICAg ICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDAsIDB4MDgsIFVEQykK ICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwwLCAweDBDLCBV RFQpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsMCwgMHgx MCwgSUNGKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDAs IDB4MTQsIEZBUykKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFVEQywgVURDMCkKICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFVEVCwgVURUMCkKICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKElDRiwgSUNGMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEZB UywgRkFTMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIERldmlj ZSAoTUFTVCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5h bWUgKF9BRFIsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKEgxNUYsIFplcm8p CiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0dURiwgMCwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKEdURjAgKElUTTAsIFNJVDAsIFVEQzAsIFVEVDAsIElDRjAsIEgxNUYsIEZBUzApLCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgRGV2aWNlIChTTEFWKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgTmFtZSAoX0FEUiwgMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoSDE1 RiwgWmVybykKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfR1RGLCAwLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoR1RGMSAoSVRNMCwgU0lUMCwgVURDMCwgVURUMCwgSUNGMCwgSDE1RiwgRkFT MCksIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQog ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgIERldmljZSAoU0VDTikKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAxKQogICAgICAgICAgICAgICAgICAg IE1ldGhvZCAoX0dUTSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChHVE0gKElUTTEsIFNJVDEsIFVEQzEsIFVEVDEs IElDRjEsIEZBUzEpLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9j YWwwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChf U1RNLCAzLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFNUTSAoQXJnMCwgQXJnMSwgQXJnMiksIExvY2FsMCkKICAgICAg ICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwwLCAweDAwLCBJVE0pCiAg ICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsMCwgMHgwNCwgU0lU KQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDAsIDB4MDgs IFVEQykKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwwLCAw eDBDLCBVRFQpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2Fs MCwgMHgxMCwgSUNGKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChM b2NhbDAsIDB4MTQsIEZBUykKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFVEQywgVURD MSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFVEVCwgVURUMSkKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKElDRiwgSUNGMSkKICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKEZBUywgRkFTMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IERldmljZSAoTUFTVCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIE5hbWUgKF9BRFIsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKEgxNUYs IFplcm8pCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0dURiwgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKEdURjAgKElUTTEsIFNJVDEsIFVEQzEsIFVEVDEsIElDRjEsIEgxNUYsIEZBUzEp LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgRGV2aWNlIChTTEFWKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgTmFt ZSAoSDE1RiwgWmVybykKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfR1RGLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoR1RGMSAoSVRNMSwgU0lUMSwgVURDMSwgVURUMSwgSUNGMSwgSDE1 RiwgRkFTMSksIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9j YWwwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKElERTEpCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAxRjAwMDIpCiAgICAg ICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKElERUMsIFBDSV9Db25maWcsIDB4OTAsIDB4MDMp CiAgICAgICAgICAgICAgICBGaWVsZCAoSURFQywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBNQVAsICAgIDgsIAogICAgICAg ICAgICAgICAgICAgIE9mZnNldCAoMHgwMiksIAogICAgICAgICAgICAgICAgICAgIFBDUywgICAg OAogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoUENJ LCBQQ0lfQ29uZmlnLCAweDQwLCAweDIwKQogICAgICAgICAgICAgICAgRmllbGQgKFBDSSwgRFdv cmRBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgSVRNMCwgICAxNiwgCiAgICAgICAgICAgICAgICAgICAgSVRNMSwgICAxNiwgCiAgICAg ICAgICAgICAgICAgICAgU0lUMCwgICA0LCAKICAgICAgICAgICAgICAgICAgICBTSVQxLCAgIDQs IAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwOCksIAogICAgICAgICAgICAgICAgICAg IFVEQzAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgVURDMSwgICAyLCAKICAgICAgICAgICAg ICAgICAgICBPZmZzZXQgKDB4MEEpLCAKICAgICAgICAgICAgICAgICAgICBVRFQwLCAgIDgsIAog ICAgICAgICAgICAgICAgICAgIFVEVDEsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDE0KSwgCiAgICAgICAgICAgICAgICAgICAgSUNGMCwgICAyLCAKICAgICAgICAgICAgICAg ICAgICBJQ0YxLCAgIDIsIAogICAgICAgICAgICAgICAgICAgICAgICAsICAgNiwgCiAgICAgICAg ICAgICAgICAgICAgV1BQRSwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDEsIAog ICAgICAgICAgICAgICAgICAgIEZBUzAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgRkFTMSwg ICAyCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChQUklEKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDApCiAgICAg ICAgICAgICAgICAgICAgTWV0aG9kIChfR1RNLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5JQ0hY LkdUTSAoSVRNMCwgU0lUMCwgVURDMCwgVURUMCwgSUNGMCwgRkFTMCksIExvY2FsMCkKICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVE0sIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5QQ0kw LklDSFguU1RNIChBcmcwLCBBcmcxLCBBcmcyKSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAg ICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDAsIDB4MDAsIElUTSkKICAgICAgICAgICAgICAg ICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwwLCAweDA0LCBTSVQpCiAgICAgICAgICAg ICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsMCwgMHgwOCwgVURDKQogICAgICAg ICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDAsIDB4MEMsIFVEVCkKICAg ICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwwLCAweDEwLCBJQ0Yp CiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsMCwgMHgxNCwg RkFTKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoVURDLCBVREMwKQogICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoVURULCBVRFQwKQogICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoSUNGLCBJQ0YwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRkFTLCBGQVMw KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChEUlYw KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FE UiwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoSDE1RiwgWmVybykKICAgICAg ICAgICAgICAgICAgICAgICAgTWV0aG9kIChfR1RGLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQ1RZUCAo MHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5JQ0hYLkdURjAgKElUTTAsIFNJVDAsIFVEQzAs IFVEVDAsIElDRjAsIEgxNUYsIEZBUzApLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIERldmljZSAoRFJW MSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9B RFIsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKEgxNUYsIFplcm8pCiAgICAg ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0dURiwgMCwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKENUWVAg KDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChcX1NCLlBDSTAuSUNIWC5HVEYxIChJVE0wLCBTSVQwLCBVREMw LCBVRFQwLCBJQ0YwLCBIMTVGLCBGQVMwKSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9Q UzAsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoQ1RZUCAoMHgwMCksIExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDAxKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoUENTLCAw eDAzLCBQQ1MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDAzKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoUENTLCAweDAx LCBQQ1MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDA0KSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoUENTLCAweDAyLCBQ Q1MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1BTMywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChDVFlQICgweDAwKSwgTG9j YWwwKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTG9jYWwwKQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAs IDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweDAwLCBQQ1MpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwzLCAweDAz KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOQW5kIChQQ1MsIDB4MDEsIFBDUykKICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4MDQp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE5BbmQgKFBDUywgMHgwMiwgUENTKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIERldmlj ZSAoU0VDRCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURS LCAweDAxKQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0dUTSwgMCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChc X1NCLlBDSTAuSUNIWC5HVE0gKElUTTEsIFNJVDEsIFVEQzEsIFVEVDEsIElDRjEsIEZBUzEpLCBM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RNLCAzLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKFxfU0IuUENJMC5JQ0hYLlNUTSAoQXJnMCwgQXJnMSwgQXJnMiksIExvY2FsMCkKICAgICAg ICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwwLCAweDAwLCBJVE0pCiAg ICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsMCwgMHgwNCwgU0lU KQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDAsIDB4MDgs IFVEQykKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwwLCAw eDBDLCBVRFQpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2Fs MCwgMHgxMCwgSUNGKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChM b2NhbDAsIDB4MTQsIEZBUykKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFVEQywgVURD MSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFVEVCwgVURUMSkKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKElDRiwgSUNGMSkKICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKEZBUywgRkFTMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IE1ldGhvZCAoX1BTMCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChDVFlQICgweDAxKSwgTG9jYWwwKQogICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4MDIpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE9yIChQQ1MsIDB4MDMsIFBDUykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4MDUpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9y IChQQ1MsIDB4MDEsIFBDUykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4MDYpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChQ Q1MsIDB4MDIsIFBDUykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUFMzLCAwLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKENUWVAg KDB4MDEpLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMb2NhbDApCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKExvY2FsMCwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIFBDUykKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChM b2NhbDMsIDB4MDUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE5BbmQgKFBDUywgMHgwMSwgUENTKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExv Y2FsMCwgMHgwNikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTkFuZCAoUENTLCAweDAyLCBQQ1MpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIERldmljZSAo RFJWMCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUg KF9BRFIsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKEgxNUYsIFplcm8pCiAg ICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0dURiwgMCwgTm90U2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKENU WVAgKDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChcX1NCLlBDSTAuSUNIWC5HVEYwIChJVE0xLCBTSVQxLCBV REMxLCBVRFQxLCBJQ0YxLCBIMTVGLCBGQVMxKSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBEZXZpY2Ug KERSVjEpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1l IChfQURSLCAweDAxKQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChIMTVGLCBaZXJvKQog ICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9HVEYsIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChD VFlQICgweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5QQ0kwLklDSFguR1RGMSAoSVRNMSwgU0lUMSwg VURDMSwgVURUMSwgSUNGMSwgSDE1RiwgRkFTMSksIExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICBNZXRob2QgKEdTUFMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIExvY2FsMCkKICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoTUFQLCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBDUywg TG9jYWwyKQogICAgICAgICAgICAgICAgICAgIElmIChMTGVzcyAoTG9jYWwxLCAweDA2KSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBM b2NhbDMpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2NhbDQpCiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2NhbDUpCiAgICAgICAgICAgICAgICAg ICAgICAgIElmIChMQW5kIChMb2NhbDIsIDB4MTApKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBMb2NhbDMpCiAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMQW5kIChMb2Nh bDIsIDB4MjApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoT25lLCBMb2NhbDQpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChMQW5kIChMb2NhbDEsIDB4MDEpKSkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KExvY2FsMywgTG9jYWw1KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExBbmQgKExv Y2FsMSwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgT3IgKFNoaWZ0TGVmdCAoTG9jYWw0LCAweDAxLCBMb2NhbDQpLCBM b2NhbDUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWw0LCBMb2NhbDUpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoTG9jYWwxLCAweDA0KSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBP ciAoU2hpZnRMZWZ0IChMb2NhbDMsIDB4MDEsIExvY2FsMyksIExvY2FsNSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChMb2NhbDUpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoMHhGRkZGRkZGRikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChDVFlQLCAxLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgSWYgKEFyZzApCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoTEdyZWF0ZXIgKE1BUCwgMHgwMSksIExM ZXNzIChNQVAsIDB4MDYpKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKE1BUCwgWmVybykpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MDMsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChNQVAsIE9uZSkpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4MDQsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAo TEdyZWF0ZXIgKE1BUCwgMHgwNSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBMb2NhbDApCiAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChNQVAsIFplcm8p KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDA1LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTUFQLCBPbmUpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDA2LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9Cgog ICAgICAgICAgICBEZXZpY2UgKFBYNDMpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5h bWUgKF9BRFIsIDB4MDAxRjAwMDMpCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKFBC QVMsIFBDSV9Db25maWcsIDB4MjAsIDB4MDIpCiAgICAgICAgICAgICAgICBGaWVsZCAoUEJBUywg Qnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBCQVMwLCAgIDE2CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0 aG9kIChTTUJCLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIEFuZCAoQkFTMCwgMHhGRkZFLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAg ICAgIERldmljZSAoTU9ETSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FE UiwgMHgwMDFGMDAwNikKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BSVywgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2th Z2UgKDB4MDIpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAw eDA1LCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwNQogICAgICAgICAgICAgICAgICAgIH0p CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE5hbWUgKEJVRkEs IFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSVJRIChM ZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpIHszLDQsNSw3LDksMTAsMTEsMTIsMTQsMTV9CiAgICAg ICAgICAgIH0pCiAgICAgICAgICAgIE5hbWUgKEJVRkIsIFJlc291cmNlVGVtcGxhdGUgKCkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQp IHt9CiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQlVGQiwgMHgw MSwgSVJRVikKICAgICAgICAgICAgRGV2aWNlIChMTktBKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpCiAgICAgICAgICAgICAgICBO YW1lIChfVUlELCAweDAxKQogICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEFuZCAoUElSQSwg MHg4MCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgMHg4 MCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KDB4MDkpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwQikK ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg TWV0aG9kIChfUFJTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIFJldHVybiAoQlVGQSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgT3IgKFBJUkEsIDB4ODAsIFBJUkEpCiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEFuZCAoUElSQSwgMHgwRiwgTG9jYWwwKQog ICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoMHgwMSwgTG9jYWwwLCBJUlFWKQogICAgICAg ICAgICAgICAgICAgIFJldHVybiAoQlVGQikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDAxLCBJUlExKQogICAg ICAgICAgICAgICAgICAgIEZpbmRTZXRSaWdodEJpdCAoSVJRMSwgTG9jYWwwKQogICAgICAgICAg ICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChM b2NhbDAsIFBJUkEpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAg IERldmljZSAoTE5LQikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwg RWlzYUlkICgiUE5QMEMwRiIpKQogICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwMikKICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBBbmQgKFBJUkIsIDB4ODAsIExvY2FsMCkKICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4ODApKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BSUywgMCwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KEJVRkEpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAw LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE9y IChQSVJCLCAweDgwLCBQSVJCKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1l dGhvZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBBbmQgKFBJUkIsIDB4MEYsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBT aGlmdExlZnQgKDB4MDEsIExvY2FsMCwgSVJRVikKICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KEJVRkIpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAx LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENy ZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwMSwgSVJRMSkKICAgICAgICAgICAgICAgICAgICBGaW5k U2V0UmlnaHRCaXQgKElSUTEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQg KExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBQSVJCKQogICAgICAg ICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKExOS0MpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkK ICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MDMpCiAgICAgICAgICAgICAgICBNZXRob2Qg KF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgQW5kIChQSVJDLCAweDgwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgSWYgKExF cXVhbCAoTG9jYWwwLCAweDgwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHgwOSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBNZXRob2QgKF9QUlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZBKQogICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgTm90U2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBPciAoUElSQywgMHg4MCwgUElSQykK ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQW5kIChQSVJD LCAweDBGLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0ICgweDAxLCBMb2Nh bDAsIElSUVYpCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZCKQogICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgTm90U2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAs IDB4MDEsIElSUTEpCiAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0IChJUlExLCBM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKExvY2FsMCwgUElSQykKICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgfQoKICAgICAgICAgICAgRGV2aWNlIChMTktEKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpCiAgICAgICAgICAgICAgICBOYW1l IChfVUlELCAweDA0KQogICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEFuZCAoUElSRCwgMHg4 MCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgMHg4MCkp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4 MDkpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwQikKICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0 aG9kIChfUFJTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIFJldHVybiAoQlVGQSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgT3IgKFBJUkQsIDB4ODAsIFBJUkQpCiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIEFuZCAoUElSRCwgMHgwRiwgTG9jYWwwKQogICAg ICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoMHgwMSwgTG9jYWwwLCBJUlFWKQogICAgICAgICAg ICAgICAgICAgIFJldHVybiAoQlVGQikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDAxLCBJUlExKQogICAgICAg ICAgICAgICAgICAgIEZpbmRTZXRSaWdodEJpdCAoSVJRMSwgTG9jYWwwKQogICAgICAgICAgICAg ICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2Nh bDAsIFBJUkQpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERl dmljZSAoTE5LRSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlz YUlkICgiUE5QMEMwRiIpKQogICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwNSkKICAgICAg ICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBBbmQgKFBJUkUsIDB4ODAsIExvY2FsMCkKICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4ODApKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BSUywgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJV RkEpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE9yIChQ SVJFLCAweDgwLCBQSVJFKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhv ZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBBbmQgKFBJUkUsIDB4MEYsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBTaGlm dExlZnQgKDB4MDEsIExvY2FsMCwgSVJRVikKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJV RkIpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0 ZVdvcmRGaWVsZCAoQXJnMCwgMHgwMSwgSVJRMSkKICAgICAgICAgICAgICAgICAgICBGaW5kU2V0 UmlnaHRCaXQgKElSUTEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBQSVJFKQogICAgICAgICAg ICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKExOS0YpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkKICAg ICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MDYpCiAgICAgICAgICAgICAgICBNZXRob2QgKF9T VEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgQW5kIChQSVJGLCAweDgwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoTG9jYWwwLCAweDgwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoMHgwOSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBNZXRob2QgKF9QUlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZBKQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBPciAoUElSRiwgMHg4MCwgUElSRikKICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQW5kIChQSVJGLCAw eDBGLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0ICgweDAxLCBMb2NhbDAs IElSUVYpCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZCKQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4 MDEsIElSUTEpCiAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0IChJUlExLCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDApCiAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKExvY2FsMCwgUElSRikKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg fQoKICAgICAgICAgICAgRGV2aWNlIChMTkswKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpCiAgICAgICAgICAgICAgICBOYW1lIChf VUlELCAweDA3KQogICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEFuZCAoUElSRywgMHg4MCwg TG9jYWwwKQogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgMHg4MCkpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkp CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwQikKICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9k IChfUFJTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIFJldHVybiAoQlVGQSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBN ZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgT3IgKFBJUkcsIDB4ODAsIFBJUkcpCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIEFuZCAoUElSRywgMHgwRiwgTG9jYWwwKQogICAgICAg ICAgICAgICAgICAgIFNoaWZ0TGVmdCAoMHgwMSwgTG9jYWwwLCBJUlFWKQogICAgICAgICAgICAg ICAgICAgIFJldHVybiAoQlVGQikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBN ZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDAxLCBJUlExKQogICAgICAgICAg ICAgICAgICAgIEZpbmRTZXRSaWdodEJpdCAoSVJRMSwgTG9jYWwwKQogICAgICAgICAgICAgICAg ICAgIERlY3JlbWVudCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAs IFBJUkcpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmlj ZSAoTE5LMSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlk ICgiUE5QMEMwRiIpKQogICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwOCkKICAgICAgICAg ICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBBbmQgKFBJUkgsIDB4ODAsIExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4ODApKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BSUywgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkEp CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE9yIChQSVJI LCAweDgwLCBQSVJIKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAo X0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBBbmQgKFBJUkgsIDB4MEYsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBTaGlmdExl ZnQgKDB4MDEsIExvY2FsMCwgSVJRVikKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkIp CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdv cmRGaWVsZCAoQXJnMCwgMHgwMSwgSVJRMSkKICAgICAgICAgICAgICAgICAgICBGaW5kU2V0Umln aHRCaXQgKElSUTEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBQSVJIKQogICAgICAgICAgICAg ICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKF9QUlcsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoUGFja2FnZSAoMHgw MikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDBCLCAKICAgICAgICAg ICAgICAgICAgICAweDA1CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CgogICAgICAg ICAgICBNZXRob2QgKFxfU0IuUENJMC5QWDQwLlVBUjEuX1BSVywgMCwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDAyKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDgsIAogICAgICAgICAgICAgICAg ICAgIDB4MDUKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAg ICAgIERldmljZSAoTUVNKQogICAgICAgIHsKICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlk ICgiUE5QMEMwMSIpKQogICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKEJVRjAsIFJlc291cmNlVGVtcGxh dGUgKCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBNZW1vcnkzMkZpeGVk IChSZWFkV3JpdGUsIDB4MDAwRjAwMDAsIDB4MDAwMDQwMDApCiAgICAgICAgICAgICAgICAgICAg TWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLCAweDAwMEY0MDAwLCAweDAwMDA0MDAwKQogICAgICAg ICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwgMHgwMDBGODAwMCwgMHgwMDAw NDAwMCkKICAgICAgICAgICAgICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsIDB4MDAw RkMwMDAsIDB4MDAwMDQwMDApCiAgICAgICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVh ZFdyaXRlLCAweDAwMDAwMDAwLCAweDAwMDEwMDAwKQogICAgICAgICAgICAgICAgICAgIE1lbW9y eTMyRml4ZWQgKFJlYWRXcml0ZSwgMHgwMDAwMDAwMCwgMHgwMDBBMDAwMCkKICAgICAgICAgICAg ICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsIDB4MDAxMDAwMDAsIDB4MDAwMDAwMDAp CiAgICAgICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLCAweEZFQzAwMDAw LCAweDAwMDAxMDAwKQogICAgICAgICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0 ZSwgMHhGRUMwMTAwMCwgMHgwMDE4RjAwMCkKICAgICAgICAgICAgICAgICAgICBNZW1vcnkzMkZp eGVkIChSZWFkV3JpdGUsIDB4RkVFMDAwMDAsIDB4MDAwMDEwMDApCiAgICAgICAgICAgICAgICAg ICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLCAweEZGQjAwMDAwLCAweDAwMTAwMDAwKQogICAg ICAgICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwgMHhGRkYwMDAwMCwgMHgw MDEwMDAwMCkKICAgICAgICAgICAgICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsIDB4 MDAwRTAwMDAsIDB4MDAwMTAwMDApCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAg Q3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgzNCwgQUNNTSkKICAgICAgICAgICAgICAgIENyZWF0 ZURXb3JkRmllbGQgKEJVRjAsIDB4MDQsIFJNQTEpCiAgICAgICAgICAgICAgICBDcmVhdGVEV29y ZEZpZWxkIChCVUYwLCAweDA4LCBSU1MxKQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVs ZCAoQlVGMCwgMHgxMCwgUk1BMikKICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJV RjAsIDB4MTQsIFJTUzIpCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCAw eDFDLCBSTUEzKQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgyMCwg UlNTMykKICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4MjgsIFJNQTQp CiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCAweDJDLCBSU1M0KQogICAg ICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHg1MCwgRVhUTSkKICAgICAgICAg ICAgICAgIFN1YnRyYWN0IChBTUVNLCAweDAwMTAwMDAwLCBFWFRNKQogICAgICAgICAgICAgICAg SWYgKExOb3QgKExFcXVhbCAoUk9NMSwgWmVybykpKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIFN0b3JlIChSTUExLCBSTUEyKQogICAgICAgICAgICAgICAgICAgIFNoaWZ0 TGVmdCAoUk9NMSwgMHgwOCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2Nh bDAsIFJNQTEpCiAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0IChSTVMxLCAweDA4LCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgUlNTMSkKICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHg4MDAwLCBSU1MyKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIElmIChMTm90IChMRXF1YWwgKFJPTTIsIFplcm8pKSkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUk1BMiwgUk1BMykKICAgICAgICAgICAgICAgICAg ICBTaGlmdExlZnQgKFJPTTIsIDB4MDgsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoTG9jYWwwLCBSTUEyKQogICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoUk1TMiwgMHgw OCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIFJTUzIpCiAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4QzAwMCwgUlNTMykKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBJZiAoTE5vdCAoTEVxdWFsIChST00zLCBaZXJvKSkpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFJNQTMsIFJNQTQpCiAgICAgICAgICAg ICAgICAgICAgU2hpZnRMZWZ0IChST00zLCAweDA4LCBMb2NhbDApCiAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKExvY2FsMCwgUk1BMykKICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQgKFJN UzMsIDB4MDgsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBSU1Mz KQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwMDEwMDAwLCBSU1M0KQogICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgIFN0b3JlIChBTUVNLCBBQ01NKQogICAgICAgICAgICAg ICAgUmV0dXJuIChCVUYwKQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIE9wZXJh dGlvblJlZ2lvbiAoVEVNTSwgU3lzdGVtTWVtb3J5LCAweDAwMEZGODEwLCAweDBDKQogICAgRmll bGQgKFRFTU0sIFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICB7CiAgICAgICAgVFAxSCwg ICAxNiwgCiAgICAgICAgVFAxTCwgICAxNiwgCiAgICAgICAgVFAySCwgICAxNiwgCiAgICAgICAg VFAyTCwgICAxNiwgCiAgICAgICAgVFJQQywgICAxNiwgCiAgICAgICAgU0VORiwgICAxNgogICAg fQoKICAgIE5hbWUgKFRWQVIsIEJ1ZmZlciAoMHgwNSkKICAgIHsKICAgICAgICAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwCiAgICB9KQogICAgQ3JlYXRlQnl0ZUZpZWxkIChUVkFSLCAweDAw LCBQTENZKQogICAgQ3JlYXRlV29yZEZpZWxkIChUVkFSLCAweDAxLCBDVE9TKQogICAgQ3JlYXRl V29yZEZpZWxkIChUVkFSLCAweDAzLCBDVEhZKQogICAgTmFtZSAoVEJVRiwgQnVmZmVyICgweDA0 KQogICAgewogICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAKICAgIH0pCiAgICBDcmVhdGVC eXRlRmllbGQgKFRCVUYsIDB4MDAsIERCMDApCiAgICBDcmVhdGVCeXRlRmllbGQgKFRCVUYsIDB4 MDEsIERCMDEpCiAgICBDcmVhdGVXb3JkRmllbGQgKFRCVUYsIDB4MDAsIERXMDApCiAgICBDcmVh dGVXb3JkRmllbGQgKFRCVUYsIDB4MDIsIERXMDEpCiAgICBDcmVhdGVEV29yZEZpZWxkIChUQlVG LCAweDAwLCBEQVREKQogICAgT3BlcmF0aW9uUmVnaW9uIChTRU4xLCBTeXN0ZW1JTywgMHgwMjk1 LCAweDAyKQogICAgRmllbGQgKFNFTjEsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICB7 CiAgICAgICAgU0VJMCwgICA4LCAKICAgICAgICBTRUQwLCAgIDgKICAgIH0KCiAgICBNZXRob2Qg KFNUT1MsIDMsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgSWYgKExMZXNzIChBcmcyLCAw eDBBQUMpKQogICAgICAgIHsKICAgICAgICAgICAgU3VidHJhY3QgKEFyZzIsIDB4MEFBQywgTG9j YWwwKQogICAgICAgICAgICBEaXZpZGUgKExvY2FsMCwgMHgwQSwgTG9jYWwwKQogICAgICAgIH0K ICAgICAgICBFbHNlCiAgICAgICAgewogICAgICAgICAgICBTdWJ0cmFjdCAoMHgwQUFDLCBBcmcy LCBMb2NhbDApCiAgICAgICAgICAgIERpdmlkZSAoTG9jYWwwLCAweDBBLCBMb2NhbDApCiAgICAg ICAgICAgIEFkZCAoTG9jYWwwLCAweDgwLCBMb2NhbDApCiAgICAgICAgfQoKICAgICAgICBXQllU ICgweDRFLCAweDAxKQogICAgICAgIFdCWVQgKDB4NTMsIExvY2FsMCkKICAgIH0KCiAgICBNZXRo b2QgKFNUSFksIDMsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgSWYgKExMZXNzIChBcmcy LCAweDBBQUMpKQogICAgICAgIHsKICAgICAgICAgICAgU3VidHJhY3QgKEFyZzIsIDB4MEFBQywg TG9jYWwwKQogICAgICAgICAgICBEaXZpZGUgKExvY2FsMCwgMHgwQSwgTG9jYWwwKQogICAgICAg IH0KICAgICAgICBFbHNlCiAgICAgICAgewogICAgICAgICAgICBTdWJ0cmFjdCAoMHgwQUFDLCBB cmcyLCBMb2NhbDApCiAgICAgICAgICAgIERpdmlkZSAoTG9jYWwwLCAweDBBLCBMb2NhbDApCiAg ICAgICAgICAgIEFkZCAoTG9jYWwwLCAweDgwLCBMb2NhbDApCiAgICAgICAgfQoKICAgICAgICBX QllUICgweDRFLCAweDAxKQogICAgICAgIFdCWVQgKDB4NTQsIExvY2FsMCkKICAgIH0KCiAgICBN ZXRob2QgKFJUTVAsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgV0JZVCAoMHg0RSwg MHgwMSkKICAgICAgICBTdG9yZSAoUkJZVCAoMHg1MCksIExvY2FsMCkKICAgICAgICBJZiAoTExl c3MgKExvY2FsMCwgMHg4MCkpCiAgICAgICAgewogICAgICAgICAgICBNdWx0aXBseSAoTG9jYWww LCAweDBBLCBMb2NhbDApCiAgICAgICAgICAgIEFkZCAoTG9jYWwwLCAweDBBQUMsIExvY2FsMCkK ICAgICAgICB9CiAgICAgICAgRWxzZQogICAgICAgIHsKICAgICAgICAgICAgU3VidHJhY3QgKExv Y2FsMCwgMHg4MCwgTG9jYWwwKQogICAgICAgICAgICBNdWx0aXBseSAoTG9jYWwwLCAweDBBLCBM b2NhbDApCiAgICAgICAgICAgIFN1YnRyYWN0ICgweDBBQUMsIExvY2FsMCwgTG9jYWwwKQogICAg ICAgIH0KCiAgICAgICAgSWYgKExFcXVhbCAoU1NIVSwgMHgwMSkpCiAgICAgICAgewogICAgICAg ICAgICBSZXR1cm4gKDB4MEMzQykKICAgICAgICB9CiAgICAgICAgRWxzZQogICAgICAgIHsKICAg ICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgfQogICAgfQoKICAgIE1ldGhvZCAoV0JZ VCwgMiwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBTdG9yZSAoQXJnMCwgU0VJMCkKICAg ICAgICBTdG9yZSAoQXJnMSwgU0VEMCkKICAgIH0KCiAgICBNZXRob2QgKFJCWVQsIDEsIE5vdFNl cmlhbGl6ZWQpCiAgICB7CiAgICAgICAgU3RvcmUgKEFyZzAsIFNFSTApCiAgICAgICAgU3RvcmUg KFNFRDAsIExvY2FsMCkKICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgIH0KCiAgICBNZXRob2Qg KFNGQU4sIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwg WmVybykpCiAgICAgICAgewogICAgICAgICAgICBGT0ZGICgpCiAgICAgICAgfQogICAgICAgIEVs c2UKICAgICAgICB7CiAgICAgICAgICAgIEZPTiAoKQogICAgICAgIH0KICAgIH0KCiAgICBNZXRo b2QgKEZPTiwgMCwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBXQllUICgweDRFLCAweDAw KQogICAgICAgIFdCWVQgKDB4MDEsIDB4RkYpCiAgICAgICAgV0JZVCAoMHgwMywgMHhGRikKICAg IH0KCiAgICBNZXRob2QgKEZPRkYsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgV0JZ VCAoMHg0RSwgMHgwMCkKICAgICAgICBXQllUICgweDAxLCAweDAwKQogICAgICAgIFdCWVQgKDB4 MDMsIDB4MDApCiAgICB9CgogICAgU2NvcGUgKFxfVFopCiAgICB7CiAgICAgICAgRGV2aWNlIChG QU4pCiAgICAgICAgewogICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBCIikp CiAgICAgICAgICAgIE1ldGhvZCAoX0lOSSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgU3RvcmUgKFRQMUgsIENUT1MpCiAgICAgICAgICAgICAgICBTdG9y ZSAoVFAxTCwgQ1RIWSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgVGhlcm1hbFpv bmUgKFRIUk0pCiAgICAgICAgewogICAgICAgICAgICBOYW1lIChfQUwwLCBQYWNrYWdlICgweDAx KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBGQU4KICAgICAgICAgICAgfSkKICAgICAg ICAgICAgTWV0aG9kIChfQUMwLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICBJZiAoT3IgKFBMQ1ksIFBMQ1ksIExvY2FsNykpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChUUDJIKQogICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJl dHVybiAoVFAxSCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAg TmFtZSAoX1BTTCwgUGFja2FnZSAoMHgwMSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg XF9QUi5DUFUwCiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIE5hbWUgKF9UU1AsIDB4M0MpCiAg ICAgICAgICAgIE5hbWUgKF9UQzEsIDB4MDQpCiAgICAgICAgICAgIE5hbWUgKF9UQzIsIDB4MDMp CiAgICAgICAgICAgIE1ldGhvZCAoX1BTViwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgSWYgKE9yIChQTENZLCBQTENZLCBMb2NhbDcpKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoVFAxSCkKICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKFRQMkgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAg ICAgICAgIE1ldGhvZCAoX0NSVCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgUmV0dXJuIChUUlBDKQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRo b2QgKF9UTVAsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IEFuZCAoU0VORiwgMHgwMSwgTG9jYWw2KQogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9j YWw2LCAweDAxKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KFJUTVAgKCkpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBCODYpCiAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoX1NDUCwgMSwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKEFyZzApCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgUExDWSkKICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoWmVybywgUExDWSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICBOb3RpZnkgKFxfVFouVEhSTSwgMHg4MSkKICAgICAgICAgICAgfQoKICAgICAgICAg ICAgTWV0aG9kIChTVE1QLCAyLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICBTdG9yZSAoQXJnMSwgRFcwMCkKICAgICAgICAgICAgICAgIElmIChBcmcwKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFNUSFkgKERCMDAsIERCMDEsIERXMDAp CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgU1RPUyAoREIwMCwgREIwMSwgRFcwMCkKICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoK ------=_Part_11191_18960977.1170880498859-- From owner-freebsd-acpi@FreeBSD.ORG Thu Feb 8 07:40:32 2007 Return-Path: X-Original-To: freebsd-acpi@hub.freebsd.org Delivered-To: freebsd-acpi@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AEBEE16A48F for ; Thu, 8 Feb 2007 07:40:28 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id F052313C4A3 for ; Thu, 8 Feb 2007 07:40:27 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l187eRgr054600 for ; Thu, 8 Feb 2007 07:40:27 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l187eRlp054599; Thu, 8 Feb 2007 07:40:27 GMT (envelope-from gnats) Date: Thu, 8 Feb 2007 07:40:27 GMT Message-Id: <200702080740.l187eRlp054599@freefall.freebsd.org> To: freebsd-acpi@FreeBSD.org From: Lars Stokholm Cc: Subject: Re: kern/108581: sysctl: hw.acpi.cpu.cx_lowest: Invalid argument X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Lars Stokholm List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Feb 2007 07:40:32 -0000 The following reply was made to PR kern/108581; it has been noted by GNATS. From: Lars Stokholm To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/108581: sysctl: hw.acpi.cpu.cx_lowest: Invalid argument Date: Thu, 08 Feb 2007 08:39:04 +0100 I guess that didn't work. Well, here they are on pastebin: http://pastebin.com/pastebin.php?dl=878066 http://pastebin.com/pastebin.php?dl=878069 From owner-freebsd-acpi@FreeBSD.ORG Thu Feb 8 18:36:20 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0465E16A400 for ; Thu, 8 Feb 2007 18:36:20 +0000 (UTC) (envelope-from sebosik@demax.sk) Received: from mail.demax.sk (mail.demax.sk [213.215.102.234]) by mx1.freebsd.org (Postfix) with ESMTP id BA2EC13C4E1 for ; Thu, 8 Feb 2007 18:36:19 +0000 (UTC) (envelope-from sebosik@demax.sk) Received: from mail.demax.sk (localhost [127.0.0.1]) by nod32.demax.sk (Postfix) with ESMTP id C428C42AD3 for ; Thu, 8 Feb 2007 19:04:39 +0100 (CET) X-Virus-Scanner: This message was checked by NOD32 Antivirus system NOD32 for Linux Mail Server. For more information on NOD32 Antivirus System, please, visit our website: http://www.nod32.com/. Received: from [195.62.17.204] (2D204.demax.sk [195.62.17.204]) by mail.demax.sk (Postfix) with ESMTP id ADA4F42ACB for ; Thu, 8 Feb 2007 19:04:37 +0100 (CET) Message-ID: <45CB6668.8080607@demax.sk> Date: Thu, 08 Feb 2007 19:05:28 +0100 From: Jan Sebosik User-Agent: Thunderbird 1.5.0.7 (Windows/20060909) MIME-Version: 1.0 To: freebsd-acpi@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Suspend on HP nx6310 X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Feb 2007 18:36:20 -0000 Hi everybody got lappie HP nx6310 - Core Duo T2050, chipset intel 945GM. Running on Freebsd current (aka 7) (cvsup from yesterday), I`ve tried as root on terminal acpiconf -s 3... laptop went sleep. But it won`t even wake up. I`ve also tried configuring sysctl variables to reset video, but doesn`t help. Kernel is compiled with SMP. Is acpi s3 state supported on dual-core processors ? Or is it problem with SMP ? best regards --- Jan Sebosik, Slovakia From owner-freebsd-acpi@FreeBSD.ORG Thu Feb 8 22:28:42 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4D8D816A402 for ; Thu, 8 Feb 2007 22:28:42 +0000 (UTC) (envelope-from oregnier@steelbox.org) Received: from 30.mail-out.ovh.net (30.mail-out.ovh.net [213.186.62.213]) by mx1.freebsd.org (Postfix) with SMTP id 8443513C47E for ; Thu, 8 Feb 2007 22:28:41 +0000 (UTC) (envelope-from oregnier@steelbox.org) Received: (qmail 8008 invoked by uid 503); 8 Feb 2007 22:02:16 -0000 Received: (QMFILT: 1.0); 08 Feb 2007 22:02:16 -0000 Received: from b6.ovh.net (HELO mail243.ha.ovh.net) (213.186.33.56) by 30.mail-out.ovh.net with SMTP; 8 Feb 2007 22:02:16 -0000 Received: from b0.ovh.net (HELO queue-out) (213.186.33.50) by b0.ovh.net with SMTP; 8 Feb 2007 22:01:49 -0000 Received: from mac76-2-82-241-6-173.fbx.proxad.net (HELO ?192.168.1.2?) (postmaster@steelbox.org@82.241.6.173) by ns0.ovh.net with SMTP; 8 Feb 2007 22:01:47 -0000 Message-ID: <45CB9EB6.7090604@steelbox.org> Date: Thu, 08 Feb 2007 23:05:42 +0100 From: Olivier Regnier User-Agent: Thunderbird 1.5.0.9 (Windows/20061207) MIME-Version: 1.0 To: freebsd-acpi@freebsd.org Content-Type: multipart/mixed; boundary="------------030805010404090108010500" X-Ovh-Remote: 82.241.6.173 (mac76-2-82-241-6-173.fbx.proxad.net) X-Ovh-Local: 213.186.33.20 (ns0.ovh.net) X-Spam-Check: DONE|H 0.5/N Subject: without acpi not internet X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Feb 2007 22:28:42 -0000 This is a multi-part message in MIME format. --------------030805010404090108010500 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hello, I have a Acer Aspire 3000 with Broadcom wifi card. Relevant output of pciconf -v -l: ndis0@pci0:11:0: class=0x028000 card=0x03121468 chip=0x431814e4 rev=0x02 hdr=0x00 vendor = 'Broadcom Corporation' class = network I have FreeBSD 6.2 and when i boot with ACPI disabled, i get an error that says : unknown: can't assign resources (memory) unknown: can't assign resources (port) unknown: can't assign resources (memory) unknown: can't assign resources (irq) The result is simple, i can't connect to internet without ACPI. For more information, you can see my dmesg files. Can you help me please ? Thank you. -- Cheers, Olivier Regnier --------------030805010404090108010500 Content-Type: text/plain; name="dmesg_without_acpi" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="dmesg_without_acpi" 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-RELEASE #0: Thu Feb 8 21:29:09 UTC 2007 root@:/usr/src/sys/i386/compile/ZERO MPTable: < > Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Mobile AMD Sempron(tm) Processor 2800+ (1600.06-MHz 686-class CPU) Origin = "AuthenticAMD" Id = 0x10fc0 Stepping = 0 Features=0x78bfbff AMD Features=0xc2500800 AMD Features2=0x1 real memory = 468647936 (446 MB) avail memory = 449159168 (428 MB) ioapic0: Assuming intbase of 0 ioapic0 irqs 0-23 on motherboard wlan: mac acl policy registered cpu0 on motherboard pcib0: pcibus 0 on motherboard pci0: on pcib0 agp0: mem 0xe0000000-0xe1ffffff at device 0.0 on pci0 pcib1: at device 1.0 on pci0 pci1: on pcib1 pci1: at device 0.0 (no driver attached) isab0: at device 2.0 on pci0 isa0: on isab0 atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x2000-0x200f at device 2.5 on pci0 ata0: on atapci0 ata1: on atapci0 pci0: at device 2.6 (no driver attached) pcm0: port 0x1400-0x14ff,0x1c80-0x1cff irq 18 at device 2.7 on pci0 pcm0: ohci0: mem 0xe2002000-0xe2002fff irq 20 at device 3.0 on pci0 ohci0: [GIANT-LOCKED] usb0: OHCI version 1.0, legacy support usb0: SMM does not respond, resetting usb0: on ohci0 usb0: USB revision 1.0 uhub0: SiS OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 3 ports with 3 removable, self powered ohci1: mem 0xe2003000-0xe2003fff irq 21 at device 3.1 on pci0 ohci1: [GIANT-LOCKED] usb1: OHCI version 1.0, legacy support usb1: SMM does not respond, resetting usb1: on ohci1 usb1: USB revision 1.0 uhub1: SiS OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 3 ports with 3 removable, self powered ehci0: mem 0xe2004000-0xe2004fff irq 23 at device 3.2 on pci0 ehci0: [GIANT-LOCKED] usb2: EHCI version 1.0 usb2: companion controllers, 3 ports each: usb0 usb1 usb2: on ehci0 usb2: USB revision 2.0 uhub2: SiS EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 uhub2: 6 ports with 6 removable, self powered sis0: port 0x1800-0x18ff mem 0xe2005000-0xe2005fff irq 19 at device 4.0 on pci0 miibus0: on sis0 rlphy0: on miibus0 rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto sis0: Ethernet address: 00:c0:9f:a4:d2:f0 cbb0: at device 6.0 on pci0 cardbus0: on cbb0 pccard0: <16-bit PCCard bus> on cbb0 pcib0: unable to route slot 6 INTA cbb: Unable to map IRQ... device_attach: cbb0 attach returned 12 ndis0: mem 0xe2000000-0xe2001fff irq 17 at device 11.0 on pci0 ndis0: NDIS API version: 5.1 ndis0: Ethernet address: 00:0e:9b:d3:b5:7e pmtimer0 on isa0 orm0: at iomem 0xc0000-0xcbfff,0xcc000-0xd5fff,0xdc000-0xe3fff on isa0 atkbdc0: at port 0x60,0x64 on isa0 atkbd0: irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] psm0: irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model Synaptics Touchpad, device ID 0 sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 unknown: can't assign resources (memory) unknown: can't assign resources (port) unknown: can't assign resources (memory) unknown: can't assign resources (irq) ums0: vendor 0x1241 product 0x1177, rev 1.10/2.00, addr 2, iclass 3/1 ums0: 3 buttons and Z dir. Timecounter "TSC" frequency 1600062974 Hz quality 800 Timecounters tick every 1.000 msec ad0: 57231MB at ata0-master UDMA100 acd0: DVDR at ata1-master UDMA33 cd0 at ata1 bus 0 target 0 lun 0 cd0: Removable CD-ROM SCSI-0 device cd0: 33.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present Trying to mount root from ufs:/dev/ad0s2a --------------030805010404090108010500 Content-Type: text/plain; name="dmesg_with_acpi" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="dmesg_with_acpi" 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-RELEASE #0: Thu Feb 8 21:29:09 UTC 2007 root@:/usr/src/sys/i386/compile/ZERO Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Mobile AMD Sempron(tm) Processor 2800+ (1600.06-MHz 686-class CPU) Origin = "AuthenticAMD" Id = 0x10fc0 Stepping = 0 Features=0x78bfbff AMD Features=0xc2500800 AMD Features2=0x1 real memory = 468647936 (446 MB) avail memory = 449155072 (428 MB) ACPI APIC Table: ACPI-0377: *** Info: Table [SSDT] replaced by host OS ACPI: overriding DSDT/SSDT with custom table ACPI-0377: *** Info: Table [DSDT] replaced by host OS MADT: Forcing active-low polarity and level trigger for SCI ioapic0 irqs 0-23 on motherboard wlan: mac acl policy registered acpi0: on motherboard acpi0: Power Button (fixed) unknown: I/O range not supported Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x8008-0x800b on acpi0 acpi_ec0: port 0x62,0x66 on acpi0 cpu0: on acpi0 pcib0: port 0xcf8-0xcff on acpi0 pci0: on pcib0 agp0: mem 0xe0000000-0xe1ffffff at device 0.0 on pci0 pcib1: at device 1.0 on pci0 pci1: on pcib1 pci1: at device 0.0 (no driver attached) isab0: at device 2.0 on pci0 isa0: on isab0 atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x2000-0x200f at device 2.5 on pci0 ata0: on atapci0 ata1: on atapci0 pci0: at device 2.6 (no driver attached) pcm0: port 0x1400-0x14ff,0x1c80-0x1cff irq 18 at device 2.7 on pci0 pcm0: ohci0: mem 0xe2002000-0xe2002fff irq 20 at device 3.0 on pci0 ohci0: [GIANT-LOCKED] usb0: OHCI version 1.0, legacy support usb0: SMM does not respond, resetting usb0: on ohci0 usb0: USB revision 1.0 uhub0: SiS OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 3 ports with 3 removable, self powered ohci1: mem 0xe2003000-0xe2003fff irq 21 at device 3.1 on pci0 ohci1: [GIANT-LOCKED] usb1: OHCI version 1.0, legacy support usb1: SMM does not respond, resetting usb1: on ohci1 usb1: USB revision 1.0 uhub1: SiS OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 3 ports with 3 removable, self powered ehci0: mem 0xe2004000-0xe2004fff irq 23 at device 3.2 on pci0 ehci0: [GIANT-LOCKED] usb2: EHCI version 1.0 usb2: companion controllers, 3 ports each: usb0 usb1 usb2: on ehci0 usb2: USB revision 2.0 uhub2: SiS EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 uhub2: 6 ports with 6 removable, self powered sis0: port 0x1800-0x18ff mem 0xe2005000-0xe2005fff irq 19 at device 4.0 on pci0 miibus0: on sis0 rlphy0: on miibus0 rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto sis0: Ethernet address: 00:c0:9f:a4:d2:f0 cbb0: at device 6.0 on pci0 cardbus0: on cbb0 pccard0: <16-bit PCCard bus> on cbb0 ndis0: mem 0xe2000000-0xe2001fff irq 17 at device 11.0 on pci0 ndis0: NDIS API version: 5.1 ndis0: Ethernet address: 00:0e:9b:d3:b5:7e acpi_acad0: on acpi0 battery0: on acpi0 acpi_lid0: on acpi0 acpi_button0: on acpi0 acpi_button1: on acpi0 acpi_tz0: on acpi0 atkbdc0: port 0x60,0x64 irq 1 on acpi0 atkbd0: irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] psm0: irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model Synaptics Touchpad, device ID 0 pmtimer0 on isa0 orm0: at iomem 0xc0000-0xcbfff,0xcc000-0xd5fff,0xdc000-0xe3fff on isa0 sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 ums0: vendor 0x1241 product 0x1177, rev 1.10/2.00, addr 2, iclass 3/1 ums0: 3 buttons and Z dir. Timecounter "TSC" frequency 1600062440 Hz quality 800 Timecounters tick every 1.000 msec ad0: 57231MB at ata0-master UDMA100 acd0: DVDR at ata1-master UDMA33 cd0 at ata1 bus 0 target 0 lun 0 cd0: Removable CD-ROM SCSI-0 device cd0: 33.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present Trying to mount root from ufs:/dev/ad0s2a --------------030805010404090108010500-- From owner-freebsd-acpi@FreeBSD.ORG Fri Feb 9 02:18:33 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 84BA116A402 for ; Fri, 9 Feb 2007 02:18:33 +0000 (UTC) (envelope-from anderson@freebsd.org) Received: from mh1.centtech.com (moat3.centtech.com [64.129.166.50]) by mx1.freebsd.org (Postfix) with ESMTP id 5A7DD13C4AC for ; Fri, 9 Feb 2007 02:18:33 +0000 (UTC) (envelope-from anderson@freebsd.org) Received: from [192.168.42.21] (andersonbox1.centtech.com [192.168.42.21]) by mh1.centtech.com (8.13.8/8.13.8) with ESMTP id l191vexa078387; Thu, 8 Feb 2007 19:57:41 -0600 (CST) (envelope-from anderson@freebsd.org) Message-ID: <45CBD515.3020709@freebsd.org> Date: Thu, 08 Feb 2007 19:57:41 -0600 From: Eric Anderson User-Agent: Thunderbird 1.5.0.9 (X11/20070204) MIME-Version: 1.0 To: Jan Sebosik References: <45CB6668.8080607@demax.sk> In-Reply-To: <45CB6668.8080607@demax.sk> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV 0.88.4/2543/Thu Feb 8 16:56:38 2007 on mh1.centtech.com X-Virus-Status: Clean X-Spam-Status: No, score=-2.6 required=8.0 tests=BAYES_00 autolearn=ham version=3.1.6 X-Spam-Checker-Version: SpamAssassin 3.1.6 (2006-10-03) on mh1.centtech.com Cc: freebsd-acpi@freebsd.org Subject: Re: Suspend on HP nx6310 X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Feb 2007 02:18:33 -0000 On 02/08/07 12:05, Jan Sebosik wrote: > Hi everybody > > got lappie HP nx6310 - Core Duo T2050, chipset intel 945GM. Running on > Freebsd current (aka 7) (cvsup from yesterday), I`ve tried as root on > terminal acpiconf -s 3... laptop went sleep. > > But it won`t even wake up. I`ve also tried configuring sysctl variables > to reset video, but doesn`t help. Kernel is compiled with SMP. > Is acpi s3 state supported on dual-core processors ? Or is it problem > with SMP ? Try disabling APIC in device.hints (/boot/device.hints) or maybe doing this: kern.smp.disabled=1 in /boot/loader.conf. I don't think resuming with multi-processor works yet - evidently it's a lot of hard work to make it happen.. Eric From owner-freebsd-acpi@FreeBSD.ORG Fri Feb 9 14:04:01 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E05CE16A401 for ; Fri, 9 Feb 2007 14:04:01 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.freebsd.org (Postfix) with ESMTP id 9053D13C48E for ; Fri, 9 Feb 2007 14:04:01 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from zion.baldwin.cx (zion.baldwin.cx [192.168.0.7]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id l19E3pld096573; Fri, 9 Feb 2007 09:03:53 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: freebsd-acpi@freebsd.org Date: Fri, 9 Feb 2007 08:34:27 -0500 User-Agent: KMail/1.9.4 References: <45CB9EB6.7090604@steelbox.org> In-Reply-To: <45CB9EB6.7090604@steelbox.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200702090834.27844.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [192.168.0.1]); Fri, 09 Feb 2007 09:03:53 -0500 (EST) X-Virus-Scanned: ClamAV 0.88.3/2544/Fri Feb 9 03:44:48 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Subject: Re: without acpi not internet X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Feb 2007 14:04:02 -0000 On Thursday 08 February 2007 17:05, Olivier Regnier wrote: > Hello, > > I have a Acer Aspire 3000 with Broadcom wifi card. Relevant output of > pciconf -v -l: > > ndis0@pci0:11:0: class=0x028000 card=0x03121468 chip=0x431814e4 rev=0x02 > hdr=0x00 > vendor = 'Broadcom Corporation' > class = network > > I have FreeBSD 6.2 and when i boot with ACPI disabled, i get an error > that says : > unknown: can't assign resources (memory) > unknown: can't assign resources (port) > unknown: can't assign resources (memory) > unknown: can't assign resources (irq) You don't need to worry about those. > The result is simple, i can't connect to internet without ACPI. For more > information, you can see my dmesg files. The real problem is that your MP Table doesn't contain the necessary information for your cardbus bridge's IRQ. Can you use devinfo to determine the IRQ assigned to the bridge via ACPI? If so, you can try using 'hint.pci0.6.INTA.irq=XX' (where XX is the IRQ) with ACPI disabled. -- John Baldwin From owner-freebsd-acpi@FreeBSD.ORG Sat Feb 10 23:26:57 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A05C716A402 for ; Sat, 10 Feb 2007 23:26:57 +0000 (UTC) (envelope-from freebsd@masm.elcom.ru) Received: from smtp.elcom.ru (smtp.elcom.ru [84.53.200.28]) by mx1.freebsd.org (Postfix) with ESMTP id 5B5CD13C471 for ; Sat, 10 Feb 2007 23:26:57 +0000 (UTC) (envelope-from freebsd@masm.elcom.ru) Received: by smtp.elcom.ru (Postfix, from userid 65534) id 2FE413D864B; Sun, 11 Feb 2007 02:09:55 +0300 (MSK) Received: from [84.53.212.78] (unknown [84.53.212.78]) by smtp.elcom.ru (Postfix) with ESMTP id 3150A3D863E for ; Sun, 11 Feb 2007 02:09:53 +0300 (MSK) Date: Sun, 11 Feb 2007 02:07:25 +0300 From: "Victor M. Blood" X-Mailer: The Bat! (v3.80.06) Professional Organization: Home Programming Inc. X-Priority: 3 (Normal) Message-ID: <1441771756.20070211020725@masm.elcom.ru> To: All MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: Dell inspiron 1300 acpi problems X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: freebsd-acpi@freebsd.org List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Feb 2007 23:26:57 -0000 Hi, All. OS: FreeBSD 7.0-CURRENT 2007/01 Then i try using sleep mode S3 on Dell Inspiron 1300, computer going to S3 normal, but bsd do not catch signal about this, and not wake up after. I surf net and google, but have no any idea how to solve this problem. I try use devd.conf to catch signals from ACPI, but only ACPI_LID seems worked! Can you help me? PS: sorry for my english. -- With all regards, Victor M. Blood. FTN: 2:5024/1.95@Fidonet.org, ICQ#3567656