From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B0D5DC9830E for ; Thu, 24 Sep 2026 13:01:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:To:Subject:MIME-Version: Date:Message-ID:Reply-To:Cc:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=mkMoTwGjD7T+U0SgmrNaoyjKvtklH0TDb8plxjL+h3U=; b=SOKlbp7qDYnZ4y+c6DMnjKaApX pc/NuaG8spn6/BLlHdau+6C+tfVbXXTIHuq4NUOB47N8rPSQv14rKyzvS0+csBmTSIGGKOsdoGMVQ nwpT0EI7QAdMIwihhbVI7Mrg2KqFDRdmJidTWohrKh+E/+TqcxYWP4kASFY9LL913gFqQigaQeXr0 62d4CJvm6ZHP52+BTZanWX8ZByKosIql/qGx5UxjqV3eSy2BnFINYHwKY7ntjGWa3BV5QVuN3EjOH f1PcgMSy8Jg+XmmkCtXZHnhWO8RAN4Jbm8tGpiqv3HjaR7ao/pgtrqstw6+GnqVR32t84V24MkD6x yUkwLFqg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x9j4W-0000000B2GO-06VK; Thu, 24 Sep 2026 13:01:08 +0000 Received: from sea.source.kernel.org ([172.234.252.31]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x9j4T-0000000B2FX-38rw; Thu, 24 Sep 2026 13:01:05 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 603AA4035D; Thu, 24 Sep 2026 13:01:05 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 59D721F00893; Thu, 24 Sep 2026 13:00:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1790254865; bh=5mW1VB3pDEIDhmMqh3D8+tIkgllmPkZq/qfIRkZ7CXM=; h=Date:Subject:To:References:From:In-Reply-To; b=dIORYiS4ZEvjXdZ19UBLE7NWwu46JucWv7Mo8+WbBFdDyDPMM1FLbg3r9PXToHYwZ CkjEHlEpFq+Eta3WdQ8eCS1n3vMgTb1VgPFTopNlPANxO1g7MAgTHHCUsYNe6/M9ml YAJlzBlcA0Gt4d27sPrwkyiKdZ86GVKAfqWX/ihjc8pS8EC79/GaLLEFSfR0yvsiHH DHPMj7I87odRHun5kbhtc+vwCP413neHsSzNL2RGU+y58qKcPsE+iDy9nCS/NqhV3x jhuya31OuSgXhvRj7xykjfl96HePnGiScDFoHVLqnB1WRBuTTtN4oGNrY+00fuOvyd hlhoZ78PdR72Q== Message-ID: <122118f0-1147-492d-8a81-b2f839e0cd7a@kernel.org> Date: Thu, 24 Sep 2026 15:00:50 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC] rust: kernel: Add KUnit tests for ARCH_WARN_ASM bug table emission To: "Mukesh Kumar Chaurasiya (IBM)" , catalin.marinas@arm.com, will@kernel.org, mark.rutland@arm.com, maddy@linux.ibm.com, mpe@ellerman.id.au, npiggin@gmail.com, ritesh.list@gmail.com, sshegde@linux.ibm.com, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, hca@linux.ibm.com, gor@linux.ibm.com, agordeev@linux.ibm.com, borntraeger@linux.ibm.com, svens@linux.ibm.com, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, ojeda@kernel.org, boqun@kernel.org, gary@garyguo.net, bjorn3_gh@protonmail.com, lossin@kernel.org, a.hindborg@kernel.org, aliceryhl@google.com, tmgross@umich.edu, dakr@kernel.org, daniel.almeida@collabora.com, tamird@kernel.org, acourbot@nvidia.com, work@onurozkan.dev, nathan@kernel.org, ndesaulniers@google.com, morbo@google.com, justinstitt@google.com, jszhang@kernel.org, japo@linux.ibm.com, peterz@infradead.org, jpoimboe@kernel.org, seanjc@google.com, pmladek@suse.com, thuth@redhat.com, ynorov@nvidia.com, joelagnelf@nvidia.com, david@davidgow.net, fujita.tomonori@gmail.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, rust-for-linux@vger.kernel.org, llvm@lists.linux.dev References: <20260922054959.955093-2-mkchauras@gmail.com> Content-Language: fr-FR From: "Christophe Leroy (CS GROUP)" In-Reply-To: <20260922054959.955093-2-mkchauras@gmail.com> X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org CgpMZSAyMi8wOS8yMDI2IMOgIDA3OjUwLCBNdWtlc2ggS3VtYXIgQ2hhdXJhc2l5YSAoSUJNKSBh IMOpY3JpdMKgOgo+IFZlcmlmeSB0aGF0IHRoZSBfX2J1Z190YWJsZSBlbnRyeSBlbWl0dGVkIGJ5 IEFSQ0hfV0FSTl9BU00gaGFzIGEgY29ycmVjdAo+IGJ1Z19hZGRyIGRpc3BsYWNlbWVudCDigJQg aS5lLiB0aGUgYXJjaCdzIHRyYXAgbGFiZWwgcmVmZXJlbmNlIHJlc29sdmVzIHRvCj4gdGhlIHRy YXAgaW5zdHJ1Y3Rpb24g4oCUIGJ5IGNhbGxpbmcgZmluZF9idWcoKSB3aXRoIHRoZSBleGFjdCB2 aXJ0dWFsIGFkZHJlc3MKPiBvZiB0aGUgdHJhcCwgbWlycm9yaW5nIHdoYXQgdGhlIHJlYWwgdHJh cCBoYW5kbGVyIGRvZXMuCj4gCj4gVG8gc3VwcG9ydCBhbGwgYXJjaGl0ZWN0dXJlcywgZWFjaCBh cmNoIHRoYXQgaW1wbGVtZW50cyBBUkNIX1dBUk5fQVNNIG5vdwo+IGRlZmluZXMgQVJDSF9XQVJO X0FTTV9UUkFQX0xBQkVMLCBhIHN0cmluZyBjb25zdGFudCBuYW1pbmcgdGhlIGxvY2FsIGxhYmVs Cj4gYXQgd2hpY2ggdGhlIHRyYXAgaW5zdHJ1Y3Rpb24gaXMgcGxhY2VkOgo+IAo+ICAgIHg4NiAg ICAgICAiMSIgICAgICh1ZDIgYXQgbGFiZWwgMTopCj4gICAgcG93ZXJwYyAgICIxIiAgICAgKHR3 aSBhdCBsYWJlbCAxOikKClNob3VsZG4ndCBpdCBhbHNvIGhhbmRsZSB0d25laSBhbmQgdGRuZWkg dXNlZCBmb3IgV0FSTl9PTigpIGFuZCBCVUdfT04oKSA/CgpDaHJpc3RvcGhlCgoKPiAgICByaXNj diAgICAgIjEiICAgICAoZWJyZWFrIGF0IGxhYmVsIDE6KQo+ICAgIGFybTY0ICAgICAiMTQ0NzEi IChicmsgcGxhY2VkIGF0IDE0NDcxOiBieSBfX0JVR19FTlRSWV9FTkQpCj4gICAgczM5MCAgICAg ICIwIiAgICAgKG1jIGF0IGxhYmVsIDA6KQo+IAo+IFRoZSBsYWJlbCBpcyB1c2VkIGNvbnNpc3Rl bnRseTogaW4gQVJDSF9XQVJOX0FTTSBpdHNlbGYsIGluIHRoZQo+IGJ1Z19hZGRyIGJhY2stcmVm ZXJlbmNlIGluc2lkZSBfX0JVR19FTlRSWSAvIF9FTUlUX0JVR19FTlRSWSwgYW5kIGluCj4gdGhl IG5ldyBnZW5lcmF0ZWRfYXJjaF93YXJuX2FzbV90cmFwX2xhYmVsLnJzIHRlbXBsYXRlLCB3aGlj aCB0aGUKPiBDIHByZXByb2Nlc3NvciBleHBhbmRzIGF0IGJ1aWxkIHRpbWUgaW50byBhIC5ycyBm aWxlIGluY2x1ZGVkIGJ5IHRoZQo+IHRlc3QncyBnbG9iYWxfYXNtISBibG9jay4KPiAKPiBnbG9i YWxfYXNtISBpcyB1c2VkIGluc3RlYWQgb2YgYXNtISBiZWNhdXNlIExMVk0gZWxpbWluYXRlcyBh c20hIGJsb2Nrcwo+IGluIGRlYWQgYnJhbmNoZXM7IGdsb2JhbF9hc20hIGlzIGZpbGUtc2NvcGUg YW5kIGFsd2F5cyBlbWl0dGVkLgo+IEJVR19LVU5JVF9UUkFQX0FERFIgaXMgZGVmaW5lZCBhcyBh IC5nbG9iYWwgc3ltYm9sIGluIC5kYXRhIG9uIHRvcCBvZiBhCj4gLmRjLmEge3RyYXBfbGFiZWx9 YiByZWxvY2F0aW9uIHNvIHRoZSBsaW5rZXIgcmVzb2x2ZXMgdGhlIHRyYXAgYWRkcmVzcwo+IGlu dG8gaXQgYXQgbGluayB0aW1lLiBBIFJ1c3Qgc3RhdGljIGluaXRpYWxpemVkIHRvIHplcm8gd291 bGQgbGFuZCBpbgo+IEJTUyB3aGVyZSByZWxvY2F0aW9ucyBhcmUgbm90IGFwcGxpZWQuCj4gCj4g VGhlIGdsb2JhbF9hc20hIHN0cmluZyBtaXJyb3JzIHdhcm5fZmxhZ3MhKCkgZXhhY3RseSDigJQg c2FtZSAiLyoge3NpemV9ICovIgo+IHByZWZpeCwgc2FtZSBnZW5lcmF0ZWRfYXJjaF93YXJuX2Fz bS5ycyBhbmQgZ2VuZXJhdGVkX2FyY2hfcmVhY2hhYmxlX2FzbS5ycwo+IGluY2x1ZGVzLCBzYW1l IG9wZXJhbmRzIOKAlCBwbHVzIHRoZSAucHVzaHNlY3Rpb24vLmRjLmEvLnBvcHNlY3Rpb24gdGFp bC4KPiBUaGlzIGtlZXBzIHRoZSB0ZXN0IHN0cnVjdHVyYWxseSBpbiBzeW5jIHdpdGggdGhlIG1h Y3JvIGl0IGV4ZXJjaXNlcy4KPiAKPiBUaGUgQ09ORklHX1JVU1RfQlVHX1dBUk5fQVNNX0tVTklU X1RFU1Qgb3B0aW9uIGRlcGVuZHMgb24gR0VORVJJQ19CVUcKPiBhbmQgZXhjbHVkZXMgQVJNLCBM T09OR0FSQ0gsIGFuZCBVTUwgKHdoaWNoIHVzZSBhIGRpZmZlcmVudCB3YXJuX2ZsYWdzIQo+IHBh dGggd2l0aG91dCBBUkNIX1dBUk5fQVNNKS4KPiAKPiBGaXZlIHRlc3RzIGFyZSBpbmNsdWRlZCBp biB0aGUgcnVzdF9rZXJuZWxfYnVnX3dhcm5fYXNtIHN1aXRlOgo+IAo+ICAgIGJ1Z19lbnRyeV9m b3VuZCAgICAgICAgICAgLSBmaW5kX2J1ZygpIHJldHVybnMgbm9uLU5VTEwgZm9yIHRoZSB0cmFw Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3MsIHByb3ZpbmcgYnVnX2Fk ZHIgaXMgY29ycmVjdAo+ICAgIGJ1Z19lbnRyeV9pc193YXJuaW5nICAgICAgLSB0aGUgZW1pdHRl ZCBlbnRyeSBoYXMgQlVHRkxBR19XQVJOSU5HIHNldAo+ICAgIGJ1Z19lbnRyeV9maWxlICAgICAg ICAgICAgLSBidWdfZ2V0X2ZpbGVfbGluZSgpIHJldHVybnMgdGhlIGNvcnJlY3QKPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlIGZpbGUgKENPTkZJR19ERUJVR19CVUdWRVJC T1NFIG9ubHkpCj4gICAgYnVnX2VudHJ5X2xpbmUgICAgICAgICAgICAtIHJlY29yZGVkIGxpbmUg bnVtYmVyIGlzIG5vbi16ZXJvLCBjb25maXJtaW5nCj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHRoZSB7bGluZX0gb3BlcmFuZCB3YXMgc3Vic3RpdHV0ZWQgY29ycmVjdGx5Cj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBvbmx5 KQo+ICAgIGJ1Z19lbnRyeV9hZGRyX2lzX2luX3RleHQgLSBrZXJuZWxfdGV4dF9hZGRyZXNzKCkg Y29uZmlybXMgdGhlIHRyYXAKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVz cyBsaWVzIGluIGtlcm5lbCB0ZXh0Cj4gCj4gVGVzdGVkIChwYXNzOjUgZmFpbDowIHNraXA6MCkg b246Cj4gICAgeDg2XzY0ICAtIFFFTVUgeDg2XzY0Cj4gICAgcG93ZXJwYyAtIFFFTVUgcHNlcmll cyBwcGM2NGxlIChwc2VyaWVzX2xlX2RlZmNvbmZpZykKPiAgICByaXNjdiAgIC0gUUVNVSByaXNj djY0Cj4gICAgYXJtNjQgICAtIFFFTVUgYWFyY2g2NAo+ICAgIHMzOTAgICAgLSBRRU1VIHMzOTB4 Cj4gCj4gU2lnbmVkLW9mZi1ieTogTXVrZXNoIEt1bWFyIENoYXVyYXNpeWEgKElCTSkgPG1rY2hh dXJhc0BnbWFpbC5jb20+Cj4gLS0tCj4gTm90ZTogSSBzZW50IHRoaXMgb3V0IGFzIGEgcG93ZXJw YyBzcGVjaWZpYyB0ZXN0cyBlYXJsaWVyLiBEdXJpbmcgcmV2aWV3Cj4gcHJvY2VzcyBzb21lIHBl b3BsZSB3YW50ZWQgdGhlc2UgdG8gYmUgYXJjaCBpbmRlcGVuZGVudC4gSGVuY2Ugc2VuZGluZwo+ IHRoaXMgb3V0IGFzIGFuIFJGQy4KPiAKPiBFYXJsaWVyIHZlcnNpb246IGh0dHBzOi8vZXVyMDEu c2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwcyUzQSUyRiUyRmxvcmUu a2VybmVsLm9yZyUyRmFsbCUyRjIwMjYwOTE1MDkwNDUzLjEyMjcwMzQtMy1ta2NoYXVyYXMlNDBn bWFpbC5jb20lMkYmZGF0YT0wNSU3QzAyJTdDY2hyaXN0b3BoZS5sZXJveSU0MGNzZ3JvdXAuZXUl N0MyZmIyNWQzOTA4OGY0YzRlN2JhMzA4ZGYxODZkNzZmNSU3QzhiODdhZjdkODY0NzRkYzc4ZGY0 NWY2OWEyMDExYmI1JTdDMCU3QzAlN0M2MzkyNTY1MzA1OTIzNTM0MjAlN0NVbmtub3duJTdDVFdG cGJHWnNiM2Q4ZXlKRmJYQjBlVTFoY0draU9uUnlkV1VzSWxZaU9pSXdMakF1TURBd01DSXNJbEFp T2lKWGFXNHpNaUlzSWtGT0lqb2lUV0ZwYkNJc0lsZFVJam95ZlElM0QlM0QlN0MwJTdDJTdDJTdD JnNkYXRhPWx6c282M3o3NkM3NHJVZTdoJTJGRyUyRkVrRGkxeVhLMG9QWEJWcmxHNDI3WiUyQk0l M0QmcmVzZXJ2ZWQ9MAo+IAo+ICAgYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9hc20tYnVnLmggICAg ICAgICAgICAgIHwgICAzICsKPiAgIGFyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9idWcuaCAgICAg ICAgICAgICAgICB8ICAyMiArLQo+ICAgYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9idWcuaCAgICAg ICAgICAgICAgICAgIHwgICA1ICstCj4gICBhcmNoL3MzOTAvaW5jbHVkZS9hc20vYnVnLmggICAg ICAgICAgICAgICAgICAgfCAgIDQgKy0KPiAgIGFyY2gveDg2L2luY2x1ZGUvYXNtL2J1Zy5oICAg ICAgICAgICAgICAgICAgICB8ICAgNSArLQo+ICAgcnVzdC9NYWtlZmlsZSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAyICstCj4gICBydXN0L2tlcm5lbC8uZ2l0aWdub3JlICAg ICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwo+ICAgcnVzdC9rZXJuZWwvS2NvbmZpZy50ZXN0 ICAgICAgICAgICAgICAgICAgICAgIHwgIDE1ICsrCj4gICBydXN0L2tlcm5lbC9idWcucnMgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAxOTEgKysrKysrKysrKysrKysrKysrCj4gICAuLi4v Z2VuZXJhdGVkX2FyY2hfd2Fybl9hc21fdHJhcF9sYWJlbC5ycy5TICAgfCAgIDcgKwo+ICAgMTAg ZmlsZXMgY2hhbmdlZCwgMjM5IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQo+ICAgY3Jl YXRlIG1vZGUgMTAwNjQ0IHJ1c3Qva2VybmVsL2dlbmVyYXRlZF9hcmNoX3dhcm5fYXNtX3RyYXBf bGFiZWwucnMuUwo+IAo+IGRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2FzbS1i dWcuaCBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vYXNtLWJ1Zy5oCj4gaW5kZXggYTVmMTM4MDFi Nzg0Li5lMDY5NDU0MzExNWUgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9h c20tYnVnLmgKPiArKysgYi9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2FzbS1idWcuaAo+IEBAIC02 MCw2ICs2MCw5IEBAIF9CVUdWRVJCT1NFX0xPQ0FUSU9OKF9fRklMRV9fLCBfX0xJTkVfXykJCVwK PiAgIAkJIi5zaG9ydCAiIGZsYWdzICI7IgkJCVwKPiAgIAkJX19zdHJpbmdpZnkoX19CVUdfRU5U UllfRU5EKQo+ICAgCj4gKy8qIFRyYXAgaW5zdHJ1Y3Rpb24gaXMgcGxhY2VkIGF0IGxhYmVsIDE0 NDcxOiBieSBfX0JVR19FTlRSWV9FTkQgKi8KPiArI2RlZmluZSBBUkNIX1dBUk5fQVNNX1RSQVBf TEFCRUwgIjE0NDcxIgo+ICsKPiAgICNkZWZpbmUgQVJDSF9XQVJOX0FTTShmaWxlLCBsaW5lLCBm bGFncywgc2l6ZSkJCVwKPiAgIAlfX0JVR19FTlRSWV9TVFJJTkcoZmlsZSwgbGluZSwgZmxhZ3Mp CQlcCj4gICAJX19zdHJpbmdpZnkoYnJrIEJVR19CUktfSU1NKQo+IGRpZmYgLS1naXQgYS9hcmNo L3Bvd2VycGMvaW5jbHVkZS9hc20vYnVnLmggYi9hcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vYnVn LmgKPiBpbmRleCBiZjMxZWUxZTkwMmEuLmYwMzMzYzU2NGQ0ZiAxMDA2NDQKPiAtLS0gYS9hcmNo L3Bvd2VycGMvaW5jbHVkZS9hc20vYnVnLmgKPiArKysgYi9hcmNoL3Bvd2VycGMvaW5jbHVkZS9h c20vYnVnLmgKPiBAQCAtMzIsNiArMzIsOCBAQAo+ICAgI2VuZGlmIC8qIHZlcmJvc2UgKi8KPiAg IAo+ICAgI2Vsc2UgLyogIV9fQVNTRU1CTEVSX18gKi8KPiArI2RlZmluZSBBUkNIX1dBUk5fQVNN X1RSQVBfTEFCRUwgIjEiCj4gKwo+ICAgI2lmZGVmIENPTkZJR19ERUJVR19CVUdWRVJCT1NFCj4g ICAjZGVmaW5lIF9FTUlUX0JVR19FTlRSWShidWdfZW50cnksIHRyYXAsIGZpbGUsIGxpbmUsIGZs YWdzKQlcCj4gICAJIi5zZWN0aW9uIF9fYnVnX3RhYmxlLFwiYXdcIlxuIgkJCQlcCj4gQEAgLTQ1 LDIxICs0NywyMSBAQAo+ICAgCSIJCS5zaG9ydCAiIGZsYWdzICJcbiIKPiAgICNlbmRpZgo+ICAg Cj4gLSNkZWZpbmUgQlVHX0VOVFJZKGNvbmRfc3RyLCBpbnNuLCBmbGFncywgLi4uKQkJCVwKPiAt CV9fYXNtX18gX192b2xhdGlsZV9fKAkJCQkJXAo+IC0JCSIxOgkiIGluc24gIlxuIgkJCQlcCj4g LQkJX0VNSVRfQlVHX0VOVFJZKDIsIDFiLCAiJTAiLCAiJTEiLCAiJTIiKQlcCj4gLQkJIi5vcmcg MmIrJTNcbiIJCQkJCVwKPiAtCQkiLnByZXZpb3VzXG4iCQkJCQlcCj4gKyNkZWZpbmUgQlVHX0VO VFJZKGNvbmRfc3RyLCBpbnNuLCBmbGFncywgLi4uKQkJCQlcCj4gKwlfX2FzbV9fIF9fdm9sYXRp bGVfXygJCQkJCQlcCj4gKwkJQVJDSF9XQVJOX0FTTV9UUkFQX0xBQkVMICI6CSIgaW5zbiAiXG4i CQlcCj4gKwkJX0VNSVRfQlVHX0VOVFJZKDIsIDFiLCAiJTAiLCAiJTEiLCAiJTIiKQkJXAo+ICsJ CSIub3JnIDJiKyUzXG4iCQkJCQkJXAo+ICsJCSIucHJldmlvdXNcbiIJCQkJCQlcCj4gICAJCTog OiAiaSIgKFdBUk5fQ09ORElUSU9OX1NUUihjb25kX3N0cikgX19GSUxFX18pLCAiaSIgKF9fTElO RV9fKSwJXAo+ICAgCQkgICJpIiAoZmxhZ3MpLAkJCQkJXAo+ICAgCQkgICJpIiAoc2l6ZW9mKHN0 cnVjdCBidWdfZW50cnkpKSwJCVwKPiAgIAkJICAjI19fVkFfQVJHU19fKQo+ICAgCj4gLSNkZWZp bmUgQVJDSF9XQVJOX0FTTShmaWxlLCBsaW5lLCBmbGFncywgc2l6ZSkJCQlcCj4gLQkJIjE6CXR3 aSAzMSwgMCwgMFxuIgkJCQlcCj4gLQkJX0VNSVRfQlVHX0VOVFJZKDIsIDFiLCBmaWxlLCBsaW5l LCBmbGFncykJXAo+IC0JCSIub3JnIDJiKyIgc2l6ZSAiXG4iCQkJCVwKPiArI2RlZmluZSBBUkNI X1dBUk5fQVNNKGZpbGUsIGxpbmUsIGZsYWdzLCBzaXplKQkJCQkJXAo+ICsJCUFSQ0hfV0FSTl9B U01fVFJBUF9MQUJFTCAiOgl0d2kgMzEsIDAsIDBcbiIJCQlcCj4gKwkJX0VNSVRfQlVHX0VOVFJZ KDIsIDFiLCBmaWxlLCBsaW5lLCBmbGFncykJCQlcCj4gKwkJIi5vcmcgMmIrIiBzaXplICJcbiIJ CQkJCQlcCj4gICAJCSIucHJldmlvdXNcbiIKPiAgIAo+ICAgI2RlZmluZSBBUkNIX1dBUk5fUkVB Q0hBQkxFCj4gZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vYnVnLmggYi9hcmNo L3Jpc2N2L2luY2x1ZGUvYXNtL2J1Zy5oCj4gaW5kZXggNjk5YzBjZjNlNGVmLi5kZWY2YjBkMTUz ZjIgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9idWcuaAo+ICsrKyBiL2Fy Y2gvcmlzY3YvaW5jbHVkZS9hc20vYnVnLmgKPiBAQCAtMjksNyArMjksOCBAQAo+ICAgCj4gICB0 eXBlZGVmIHUzMiBidWdfaW5zbl90Owo+ICAgCj4gLSNkZWZpbmUgX19CVUdfRU5UUllfQUREUglS SVNDVl9JTlQgIiAxYiAtIC4iCj4gKyNkZWZpbmUgQVJDSF9XQVJOX0FTTV9UUkFQX0xBQkVMCSIx Igo+ICsjZGVmaW5lIF9fQlVHX0VOVFJZX0FERFIJUklTQ1ZfSU5UICIgIiBBUkNIX1dBUk5fQVNN X1RSQVBfTEFCRUwgImIgLSAuIgo+ICAgI2RlZmluZSBfX0JVR19FTlRSWV9GSUxFKGZpbGUpCVJJ U0NWX0lOVCAiICIgZmlsZSAiIC0gLiIKPiAgIAo+ICAgI2lmZGVmIENPTkZJR19ERUJVR19CVUdW RVJCT1NFCj4gQEAgLTQ3LDcgKzQ4LDcgQEAgdHlwZWRlZiB1MzIgYnVnX2luc25fdDsKPiAgICNp ZmRlZiBDT05GSUdfR0VORVJJQ19CVUcKPiAgIAo+ICAgI2RlZmluZSBBUkNIX1dBUk5fQVNNKGZp bGUsIGxpbmUsIGZsYWdzLCBzaXplKQkJCVwKPiAtCQkiMTpcblx0IgkJCQkJXAo+ICsJCUFSQ0hf V0FSTl9BU01fVFJBUF9MQUJFTCAiOlxuXHQiCQlcCj4gICAJCQkiZWJyZWFrXG4iCQkJCVwKPiAg IAkJCSIucHVzaHNlY3Rpb24gX19idWdfdGFibGUsXCJhd1wiXG5cdCIJXAo+ICAgCQkiMjpcblx0 IgkJCQkJXAo+IGRpZmYgLS1naXQgYS9hcmNoL3MzOTAvaW5jbHVkZS9hc20vYnVnLmggYi9hcmNo L3MzOTAvaW5jbHVkZS9hc20vYnVnLmgKPiBpbmRleCAyMDEwMzQyYzk3YjEuLjNjMGZhMWFjYzky YSAxMDA2NDQKPiAtLS0gYS9hcmNoL3MzOTAvaW5jbHVkZS9hc20vYnVnLmgKPiArKysgYi9hcmNo L3MzOTAvaW5jbHVkZS9hc20vYnVnLmgKPiBAQCAtMjYsOSArMjYsMTEgQEAKPiAgICNkZWZpbmUg V0FSTl9DT05ESVRJT05fU1RSKGNvbmRfc3RyKSAiIgo+ICAgI2VuZGlmCj4gICAKPiArI2RlZmlu ZSBBUkNIX1dBUk5fQVNNX1RSQVBfTEFCRUwgIjAiCj4gKwo+ICAgI2RlZmluZSBfX0JVR19FTlRS WShmb3JtYXQsIGZpbGUsIGxpbmUsIGZsYWdzLCBzaXplKQkJCVwKPiAgIAkJIgkuc2VjdGlvbiBf X2J1Z190YWJsZSxcImF3XCJcbiIJCQlcCj4gLQkJIjE6CS5sb25nCTBiIC0gLgkJIyBidWdfZW50 cnk6OmJ1Z19hZGRyXG4iXAo+ICsJCSIxOgkubG9uZwkiIEFSQ0hfV0FSTl9BU01fVFJBUF9MQUJF TCAiYiAtIC4JIyBidWdfZW50cnk6OmJ1Z19hZGRyXG4iIFwKPiAgIAkJIgkubG9uZwkiIGZvcm1h dCAiIC0gLgkjIGJ1Z19lbnRyeTo6Zm9ybWF0XG4iCVwKPiAgIAkJX19CVUdfRU5UUllfVkVSQk9T RShmaWxlLCBsaW5lKQkJCQlcCj4gICAJCSIJLnNob3J0CSJmbGFncyIJCSMgYnVnX2VudHJ5Ojpm bGFnc1xuIglcCj4gZGlmZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL2J1Zy5oIGIvYXJj aC94ODYvaW5jbHVkZS9hc20vYnVnLmgKPiBpbmRleCAyM2FiMDU0MzgyNjkuLjZjY2E4ODgwNjYw ZSAxMDA2NDQKPiAtLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9idWcuaAo+ICsrKyBiL2FyY2gv eDg2L2luY2x1ZGUvYXNtL2J1Zy5oCj4gQEAgLTYyLDggKzYyLDkgQEAgZXh0ZXJuIHZvaWQgX19X QVJOX3RyYXAoc3RydWN0IGJ1Z19lbnRyeSAqYnVnLCAuLi4pOwo+ICAgI2RlZmluZSBIQVZFX0FS Q0hfQlVHX0ZPUk1BVF9BUkdTCj4gICAjZW5kaWYKPiAgIAo+ICsjZGVmaW5lIEFSQ0hfV0FSTl9B U01fVFJBUF9MQUJFTCAiMSIKPiAgICNkZWZpbmUgX19CVUdfRU5UUlkoZm9ybWF0LCBmaWxlLCBs aW5lLCBmbGFncykJCQkJXAo+IC0JIlx0LmxvbmcgMWIgLSAuIgkiXHQjIGJ1Z19lbnRyeTo6YnVn X2FkZHJcbiIJCVwKPiArCSJcdC5sb25nICIgQVJDSF9XQVJOX0FTTV9UUkFQX0xBQkVMICJiIC0g LiIgIlx0IyBidWdfZW50cnk6OmJ1Z19hZGRyXG4iIFwKPiAgIAlfX0JVR19FTlRSWV9GT1JNQVQo Zm9ybWF0KQkJCQkJXAo+ICAgCV9fQlVHX0VOVFJZX1ZFUkJPU0UoZmlsZSwgbGluZSkJCQkJCVwK PiAgIAkiXHQud29yZCAiIGZsYWdzCSJcdCMgYnVnX2VudHJ5OjpmbGFnc1xuIgo+IEBAIC0xMDEs NyArMTAyLDcgQEAgZG8gewkJCQkJCQkJCVwKPiAgIAkiOTk6XG4iCQkJCQkJCQlcCj4gICAJIlx0 LnN0cmluZyBcIlwiXG4iCQkJCQkJXAo+ICAgCSIucG9wc2VjdGlvblxuIgkJCQkJCQlcCj4gLQki MTpcdCAiIEFTTV9VRDIgIlxuIgkJCQkJCVwKPiArCUFSQ0hfV0FSTl9BU01fVFJBUF9MQUJFTCAi Olx0ICIgQVNNX1VEMiAiXG4iCQkJXAo+ICAgCV9CVUdfRkxBR1NfQVNNKCI5OWIiLCBmaWxlLCBs aW5lLCBmbGFncywgc2l6ZSwgIiIpCj4gICAKPiAgICNlbHNlCj4gZGlmZiAtLWdpdCBhL3J1c3Qv TWFrZWZpbGUgYi9ydXN0L01ha2VmaWxlCj4gaW5kZXggZGExYTc0MDlkOTg0Li44ZjI1M2Q1MTY0 OTUgMTAwNjQ0Cj4gLS0tIGEvcnVzdC9NYWtlZmlsZQo+ICsrKyBiL3J1c3QvTWFrZWZpbGUKPiBA QCAtNDYsNyArNDYsNyBAQCBvYmotJChDT05GSUdfUlVTVF9LRVJORUxfRE9DVEVTVFMpICs9IGRv Y3Rlc3RzX2tlcm5lbF9nZW5lcmF0ZWRfa3VuaXQubwo+ICAgCj4gICBhbHdheXMtJChzdWJzdCB5 LCQoQ09ORklHX1JVU1QpLCQoQ09ORklHX0pVTVBfTEFCRUwpKSArPSBrZXJuZWwvZ2VuZXJhdGVk X2FyY2hfc3RhdGljX2JyYW5jaF9hc20ucnMKPiAgIGlmbmRlZiBDT05GSUdfVU1MCj4gLWFsd2F5 cy0kKHN1YnN0IHksJChDT05GSUdfUlVTVCksJChDT05GSUdfQlVHKSkgKz0ga2VybmVsL2dlbmVy YXRlZF9hcmNoX3dhcm5fYXNtLnJzIGtlcm5lbC9nZW5lcmF0ZWRfYXJjaF9yZWFjaGFibGVfYXNt LnJzCj4gK2Fsd2F5cy0kKHN1YnN0IHksJChDT05GSUdfUlVTVCksJChDT05GSUdfQlVHKSkgKz0g a2VybmVsL2dlbmVyYXRlZF9hcmNoX3dhcm5fYXNtLnJzIGtlcm5lbC9nZW5lcmF0ZWRfYXJjaF9y ZWFjaGFibGVfYXNtLnJzIGtlcm5lbC9nZW5lcmF0ZWRfYXJjaF93YXJuX2FzbV90cmFwX2xhYmVs LnJzCj4gICBlbmRpZgo+ICAgCj4gICAjIEF2b2lkcyBydW5uaW5nIGAkKFJVU1RDKWAgd2hlbiBp dCBtYXkgbm90IGJlIGF2YWlsYWJsZS4KPiBkaWZmIC0tZ2l0IGEvcnVzdC9rZXJuZWwvLmdpdGln bm9yZSBiL3J1c3Qva2VybmVsLy5naXRpZ25vcmUKPiBpbmRleCBmNjM2YWQ5NWFhZjMuLjA1YmIw MGJiYjgzYyAxMDA2NDQKPiAtLS0gYS9ydXN0L2tlcm5lbC8uZ2l0aWdub3JlCj4gKysrIGIvcnVz dC9rZXJuZWwvLmdpdGlnbm9yZQo+IEBAIC0zLDMgKzMsNCBAQAo+ICAgL2dlbmVyYXRlZF9hcmNo X3N0YXRpY19icmFuY2hfYXNtLnJzCj4gICAvZ2VuZXJhdGVkX2FyY2hfd2Fybl9hc20ucnMKPiAg IC9nZW5lcmF0ZWRfYXJjaF9yZWFjaGFibGVfYXNtLnJzCj4gKy9nZW5lcmF0ZWRfYXJjaF93YXJu X2FzbV90cmFwX2xhYmVsLnJzCj4gZGlmZiAtLWdpdCBhL3J1c3Qva2VybmVsL0tjb25maWcudGVz dCBiL3J1c3Qva2VybmVsL0tjb25maWcudGVzdAo+IGluZGV4IGU2YTVjN2E3OTVmMC4uOGNkN2M4 ZjkxYjA3IDEwMDY0NAo+IC0tLSBhL3J1c3Qva2VybmVsL0tjb25maWcudGVzdAo+ICsrKyBiL3J1 c3Qva2VybmVsL0tjb25maWcudGVzdAo+IEBAIC04Myw0ICs4MywxOSBAQCBjb25maWcgUlVTVF9C SVRGSUVMRF9LVU5JVF9URVNUCj4gICAKPiAgIAkgIElmIHVuc3VyZSwgc2F5IE4uCj4gICAKPiAr Y29uZmlnIFJVU1RfQlVHX1dBUk5fQVNNX0tVTklUX1RFU1QKPiArCWJvb2wgIktVbml0IHRlc3Rz IGZvciBBUkNIX1dBUk5fQVNNIGJ1ZyB0YWJsZSBlbWlzc2lvbiIgaWYgIUtVTklUX0FMTF9URVNU Uwo+ICsJZGVwZW5kcyBvbiBHRU5FUklDX0JVRyAmJiAhQVJNICYmICFMT09OR0FSQ0ggJiYgIVVN TAo+ICsJZGVmYXVsdCBLVU5JVF9BTExfVEVTVFMKPiArCWhlbHAKPiArCSAgVGhpcyBvcHRpb24g ZW5hYmxlcyBLVW5pdCB0ZXN0cyB0aGF0IHZlcmlmeSBBUkNIX1dBUk5fQVNNIGVtaXRzIGEKPiAr CSAgY29ycmVjdCBfX2J1Z190YWJsZSBlbnRyeTogdGhlIGJ1Z19hZGRyIGRpc3BsYWNlbWVudCBt dXN0IHJlc29sdmUKPiArCSAgYmFjayB0byB0aGUgdHJhcCBpbnN0cnVjdGlvbiBzbyB0aGF0IGZp bmRfYnVnKCkgY2FuIGxvY2F0ZSB0aGUKPiArCSAgZW50cnkg4oCUIGV4YWN0bHkgYXMgdGhlIHJl YWwgdHJhcCBoYW5kbGVyIGRvZXMuCj4gKwo+ICsJICBTdXBwb3J0ZWQgb24gYWxsIGFyY2hpdGVj dHVyZXMgdGhhdCBpbXBsZW1lbnQgQVJDSF9XQVJOX0FTTQo+ICsJICAoeDg2LCBwb3dlcnBjLCBy aXNjdiwgYXJtNjQsIHMzOTApLgo+ICsKPiArCSAgSWYgdW5zdXJlLCBzYXkgTi4KPiArCj4gICBl bmRpZgo+IGRpZmYgLS1naXQgYS9ydXN0L2tlcm5lbC9idWcucnMgYi9ydXN0L2tlcm5lbC9idWcu cnMKPiBpbmRleCAzNTY2ZjAyMzRjYTQuLjllOWI2ZDNhNjhiNyAxMDA2NDQKPiAtLS0gYS9ydXN0 L2tlcm5lbC9idWcucnMKPiArKysgYi9ydXN0L2tlcm5lbC9idWcucnMKPiBAQCAtMTUyLDMgKzE1 MiwxOTQgQEAgbWFjcm9fcnVsZXMhIHdhcm5fb24gewo+ICAgICAgICAgICBjb25kCj4gICAgICAg fX07Cj4gICB9Cj4gKwo+ICsvLyBUZXN0LW9ubHkgY29uc3RhbnRzIGFuZCBmaWxlIHN0YXRpYyBy ZWZlcmVuY2VkIGJ5IHRoZSBnbG9iYWxfYXNtIGJsb2NrIGJlbG93Lgo+ICsvLwo+ICsvLyBnbG9i YWxfYXNtISBpcyBmaWxlLXNjb3BlIGFuZCBhbHdheXMgZW1pdHRlZCDigJQgTExWTSBjYW5ub3Qg ZWxpbWluYXRlIGl0LAo+ICsvLyB1bmxpa2UgYXNtISBpbnNpZGUgYSBmdW5jdGlvbiB3aGljaCBp cyBzdWJqZWN0IHRvIGRlYWQtY29kZSByZW1vdmFsLgo+ICsvLwo+ICsvLyBCVUdfS1VOSVRfVFJB UF9BRERSIGlzIGRlY2xhcmVkIGFzIGEgLmdsb2JhbCBzeW1ib2wgZW50aXJlbHkgaW5zaWRlIHRo ZQo+ICsvLyBnbG9iYWxfYXNtISBibG9jayBzbyB0aGUgLmRjLmEge3RyYXBfbGFiZWx9YiByZWxv Y2F0aW9uIGxhbmRzIGRpcmVjdGx5IG9uIGl0Lgo+ICsvLyBBIFJ1c3Qgc3RhdGljIGluaXRpYWxp emVkIHRvIHplcm8gd291bGQgZW5kIHVwIGluIEJTUzsgdGhlIGxpbmtlciBkb2VzCj4gKy8vIG5v dCBhcHBseSByZWxvY2F0aW9ucyB0byBCU1MsIHNvIHRoZSBhZGRyZXNzIHdvdWxkIHN0YXkgemVy byBhdCBydW50aW1lLgo+ICsjW2NmZyhDT05GSUdfUlVTVF9CVUdfV0FSTl9BU01fS1VOSVRfVEVT VCldCj4gK21vZCB0ZXN0X3N0YXRpY3Mgewo+ICsgICAgdXNlIGNyYXRlOjpiaW5kaW5nczo6e2J1 Z19lbnRyeSwgQlVHRkxBR19XQVJOSU5HLCBUQUlOVF9XQVJOfTsKPiArCj4gKyAgICBwdWIoc3Vw ZXIpIGNvbnN0IEZMQUdTOiB1MzIgPSBCVUdGTEFHX1dBUk5JTkcgfCAoVEFJTlRfV0FSTiA8PCA4 KTsKPiArICAgIHB1YihzdXBlcikgY29uc3QgU0laRTogdXNpemUgPSBjb3JlOjptZW06OnNpemVf b2Y6OjxidWdfZW50cnk+KCk7Cj4gKwo+ICsgICAgLy8gTElORSBhbmQgQlVHX0tVTklUX0ZJTEUg YXJlIG9ubHkgcmVmZXJlbmNlZCBieSB0aGUge2ZpbGV9L3tsaW5lfQo+ICsgICAgLy8gb3BlcmFu ZHMgaW4gZ2xvYmFsX2FzbSEsIHdoaWNoIGFyZSBvbmx5IHByZXNlbnQgd2hlbgo+ICsgICAgLy8g Q09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgc2V0ICh0aGUgbm9uLXZlcmJvc2UgX0VNSVRfQlVH X0VOVFJZCj4gKyAgICAvLyBkcm9wcyB0aGUgZmlsZS9saW5lIGZpZWxkcyBmcm9tIHRoZSBidWcg dGFibGUgZW50cnkgZW50aXJlbHkpLgo+ICsgICAgI1tjZmcoQ09ORklHX0RFQlVHX0JVR1ZFUkJP U0UpXQo+ICsgICAgcHViKHN1cGVyKSBjb25zdCBMSU5FOiB1MzIgPSBsaW5lISgpOwo+ICsKPiAr ICAgIC8vIE51bGwtdGVybWluYXRlZCBzb3VyY2UgZmlsZSBuYW1lIOKAlCB0aGUgYXNzZW1ibGVy IHJlZmVyZW5jZXMgdGhpcyBzeW1ib2wKPiArICAgIC8vIGZvciB0aGUgdmVyYm9zZSBmaWxlIHBv aW50ZXIgaW4gX19idWdfdGFibGUsIHNhbWUgYXMgd2Fybl9mbGFncyEuCj4gKyAgICAjW2NmZyhD T05GSUdfREVCVUdfQlVHVkVSQk9TRSldCj4gKyAgICBjb25zdCBfRklMRTogJlt1OF0gPSBmaWxl ISgpLmFzX2J5dGVzKCk7Cj4gKyAgICAjW2NmZyhDT05GSUdfREVCVUdfQlVHVkVSQk9TRSldCj4g KyAgICAjW25vX21hbmdsZV0KPiArICAgIHB1YihzdXBlcikgc3RhdGljIEJVR19LVU5JVF9GSUxF OiBbdTg7IF9GSUxFLmxlbigpICsgMV0gPSB7Cj4gKyAgICAgICAgbGV0IG11dCBieXRlcyA9IFsw dTg7IF9GSUxFLmxlbigpICsgMV07Cj4gKyAgICAgICAgbGV0IG11dCBpID0gMDsKPiArICAgICAg ICB3aGlsZSBpIDwgX0ZJTEUubGVuKCkgewo+ICsgICAgICAgICAgICBieXRlc1tpXSA9IF9GSUxF W2ldOwo+ICsgICAgICAgICAgICBpICs9IDE7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGJ5dGVz Cj4gKyAgICB9Owo+ICt9Cj4gKwo+ICsvLyBFbWl0IEFSQ0hfV0FSTl9BU00gYXQgZmlsZSBzY29w ZSBhbmQgY2FwdHVyZSB0aGUgdHJhcCBhZGRyZXNzLgo+ICsvLwo+ICsvLyBUaGUgYXNtIHN0cmlu ZyBtaXJyb3JzIHdhcm5fZmxhZ3MhKCkgZXhhY3RseSDigJQgc2FtZSAiLyoge3NpemV9ICovIiBw cmVmaXgsCj4gKy8vIHNhbWUgZ2VuZXJhdGVkX2FyY2hfd2Fybl9hc20ucnMgYW5kIGdlbmVyYXRl ZF9hcmNoX3JlYWNoYWJsZV9hc20ucnMgaW5jbHVkZXMsCj4gKy8vIHNhbWUgb3BlcmFuZHMg4oCU IHNvIHRoZSB0d28gc3RheSBpbiBzeW5jIGFzIHRoZSBtYWNybyBldm9sdmVzLiAgVGhlIG9ubHkK PiArLy8gYWRkaXRpb24gaXMgdGhlIC5wdXNoc2VjdGlvbi8uZGMuYS8ucG9wc2VjdGlvbiB0YWls IHRoYXQgcmVjb3JkcyB0aGUgdHJhcAo+ICsvLyBhZGRyZXNzIGludG8gQlVHX0tVTklUX1RSQVBf QUREUiBhdCBsaW5rIHRpbWUuCj4gKy8vCj4gKy8vIEJVR19LVU5JVF9UUkFQX0FERFIgaXMgYSAu Z2xvYmFsIHN5bWJvbCBpbiAuZGF0YSB3aG9zZSB2YWx1ZSBpcyBzZXQgYnkgYQo+ICsvLyAuZGMu YSByZWxvY2F0aW9uIHRvIHRoZSBhcmNoJ3MgdHJhcCBsYWJlbCAoZnJvbQo+ICsvLyBnZW5lcmF0 ZWRfYXJjaF93YXJuX2FzbV90cmFwX2xhYmVsLnJzKTsgLmRjLmEgc2VsZi1hbGlnbnMgdG8gcG9p bnRlciB3aWR0aAo+ICsvLyBzbyBubyAuYmFsaWduIGlzIG5lZWRlZC4KPiArI1tjZmcoYWxsKENP TkZJR19SVVNUX0JVR19XQVJOX0FTTV9LVU5JVF9URVNULCBDT05GSUdfREVCVUdfQlVHVkVSQk9T RSkpXQo+ICs6OmNvcmU6OmFyY2g6Omdsb2JhbF9hc20hKAo+ICsgICAgY29uY2F0ISgKPiArICAg ICAgICAiLyoge3NpemV9ICovIiwKPiArICAgICAgICBpbmNsdWRlIShjb25jYXQhKGVudiEoIk9C SlRSRUUiKSwgIi9ydXN0L2tlcm5lbC9nZW5lcmF0ZWRfYXJjaF93YXJuX2FzbS5ycyIpKSwKPiAr ICAgICAgICBpbmNsdWRlIShjb25jYXQhKGVudiEoIk9CSlRSRUUiKSwgIi9ydXN0L2tlcm5lbC9n ZW5lcmF0ZWRfYXJjaF9yZWFjaGFibGVfYXNtLnJzIikpLAo+ICsgICAgICAgICJcblx0LnB1c2hz ZWN0aW9uIC5kYXRhXG5cdCIsCj4gKyAgICAgICAgIi5nbG9iYWwgQlVHX0tVTklUX1RSQVBfQURE UlxuXHQiLAo+ICsgICAgICAgICJCVUdfS1VOSVRfVFJBUF9BRERSOlxuXHQiLAo+ICsgICAgICAg ICIuZGMuYSAiLAo+ICsgICAgICAgIGluY2x1ZGUhKGNvbmNhdCEoZW52ISgiT0JKVFJFRSIpLCAi L3J1c3Qva2VybmVsL2dlbmVyYXRlZF9hcmNoX3dhcm5fYXNtX3RyYXBfbGFiZWwucnMiKSksCj4g KyAgICAgICAgImJcblx0IiwKPiArICAgICAgICAiLnBvcHNlY3Rpb25cbiIsCj4gKyAgICApLAo+ ICsgICAgZmlsZSAgPSBzeW0gdGVzdF9zdGF0aWNzOjpCVUdfS1VOSVRfRklMRSwKPiArICAgIGxp bmUgID0gY29uc3QgdGVzdF9zdGF0aWNzOjpMSU5FLAo+ICsgICAgZmxhZ3MgPSBjb25zdCB0ZXN0 X3N0YXRpY3M6OkZMQUdTLAo+ICsgICAgc2l6ZSAgPSBjb25zdCB0ZXN0X3N0YXRpY3M6OlNJWkUs Cj4gKyk7Cj4gKwo+ICsjW2NmZyhhbGwoQ09ORklHX1JVU1RfQlVHX1dBUk5fQVNNX0tVTklUX1RF U1QsIG5vdChDT05GSUdfREVCVUdfQlVHVkVSQk9TRSkpKV0KPiArOjpjb3JlOjphcmNoOjpnbG9i YWxfYXNtISgKPiArICAgIGNvbmNhdCEoCj4gKyAgICAgICAgIi8qIHtzaXplfSAqLyIsCj4gKyAg ICAgICAgaW5jbHVkZSEoY29uY2F0IShlbnYhKCJPQkpUUkVFIiksICIvcnVzdC9rZXJuZWwvZ2Vu ZXJhdGVkX2FyY2hfd2Fybl9hc20ucnMiKSksCj4gKyAgICAgICAgaW5jbHVkZSEoY29uY2F0IShl bnYhKCJPQkpUUkVFIiksICIvcnVzdC9rZXJuZWwvZ2VuZXJhdGVkX2FyY2hfcmVhY2hhYmxlX2Fz bS5ycyIpKSwKPiArICAgICAgICAiXG5cdC5wdXNoc2VjdGlvbiAuZGF0YVxuXHQiLAo+ICsgICAg ICAgICIuZ2xvYmFsIEJVR19LVU5JVF9UUkFQX0FERFJcblx0IiwKPiArICAgICAgICAiQlVHX0tV TklUX1RSQVBfQUREUjpcblx0IiwKPiArICAgICAgICAiLmRjLmEgIiwKPiArICAgICAgICBpbmNs dWRlIShjb25jYXQhKGVudiEoIk9CSlRSRUUiKSwgIi9ydXN0L2tlcm5lbC9nZW5lcmF0ZWRfYXJj aF93YXJuX2FzbV90cmFwX2xhYmVsLnJzIikpLAo+ICsgICAgICAgICJiXG5cdCIsCj4gKyAgICAg ICAgIi5wb3BzZWN0aW9uXG4iLAo+ICsgICAgKSwKPiArICAgIGZsYWdzID0gY29uc3QgdGVzdF9z dGF0aWNzOjpGTEFHUywKPiArICAgIHNpemUgID0gY29uc3QgdGVzdF9zdGF0aWNzOjpTSVpFLAo+ ICspOwo+ICsKPiArI1tjZmcoQ09ORklHX1JVU1RfQlVHX1dBUk5fQVNNX0tVTklUX1RFU1QpXQo+ ICsjWzo6a2VybmVsOjptYWNyb3M6Omt1bml0X3Rlc3RzKHJ1c3Rfa2VybmVsX2J1Z193YXJuX2Fz bSldCj4gK21vZCB0ZXN0cyB7Cj4gKyAgICB1c2UgY3JhdGU6OmJpbmRpbmdzOwo+ICsKPiArICAg IGZuIHRyYXBfYWRkcigpIC0+IHVzaXplIHsKPiArICAgICAgICAvLyBCVUdfS1VOSVRfVFJBUF9B RERSIGlzIGEgLmdsb2JhbCBzeW1ib2wgZGVmaW5lZCBpbiB0aGUgZ2xvYmFsX2FzbSEKPiArICAg ICAgICAvLyBibG9jayBhYm92ZSwgcGxhY2VkIGluIC5kYXRhIGF0IHRoZSBleGFjdCAuZGMuYSAx YiByZWxvY2F0aW9uIHdvcmQuCj4gKyAgICAgICAgLy8gVGhlIGxpbmtlciByZXNvbHZlcyBpdCB0 byB0aGUgdmlydHVhbCBhZGRyZXNzIG9mIHRoZSB0d2kgaW5zdHJ1Y3Rpb24KPiArICAgICAgICAv LyBiZWZvcmUgYW55IFJ1c3QgY29kZSBydW5zLCBzbyByZWFkaW5nIGl0IGhlcmUgaXMgYWx3YXlz IHNhZmUuCj4gKyAgICAgICAgZXh0ZXJuICJDIiB7Cj4gKyAgICAgICAgICAgIC8vIC5kYy5hIGVt aXRzIGEgcG9pbnRlci13aWR0aCB3b3JkOiA0IGJ5dGVzIG9uIHBwYzMyLCA4IG9uIHBwYzY0Lgo+ ICsgICAgICAgICAgICAvLyB1c2l6ZSBtYXRjaGVzIHRoZSBuYXRpdmUgcG9pbnRlciB3aWR0aCBv biBib3RoLgo+ICsgICAgICAgICAgICBzdGF0aWMgQlVHX0tVTklUX1RSQVBfQUREUjogdXNpemU7 Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIC8vIFNBRkVUWTogcmVhZC1vbmx5IGFmdGVyIGxpbmsg dGltZSwgbm8gY29uY3VycmVudCBtdXRhdGlvbiBwb3NzaWJsZS4KPiArICAgICAgICB1bnNhZmUg eyBCVUdfS1VOSVRfVFJBUF9BRERSIH0KPiArICAgIH0KPiArCj4gKyAgICAvLy8gVGhlIGBfX2J1 Z190YWJsZWAgZW50cnkgZW1pdHRlZCBieSBgQVJDSF9XQVJOX0FTTWAgbXVzdCBiZSBsb2NhdGFi bGUKPiArICAgIC8vLyB2aWEgYGZpbmRfYnVnKClgIHVzaW5nIHRoZSB0cmFwIGluc3RydWN0aW9u J3MgYWRkcmVzcy4gIEEgTlVMTCByZXN1bHQKPiArICAgIC8vLyBtZWFucyB0aGUgYDFiYCBsYWJl bCByZWZlcmVuY2UgaW4gYF9FTUlUX0JVR19FTlRSWWAgcmVzb2x2ZWQgdG8gdGhlCj4gKyAgICAv Ly8gd3JvbmcgYWRkcmVzcyBhbmQgdGhlIHJlYWwgdHJhcCBoYW5kbGVyIHdvdWxkIG5vdCByZWNv Z25pc2UgdGhlIHNpdGUuCj4gKyAgICAjW3Rlc3RdCj4gKyAgICBmbiBidWdfZW50cnlfZm91bmQo KSB7Cj4gKyAgICAgICAgLy8gTm9uLXplcm8gcHJvdmVzIHRoZSAuZGMuYSByZWxvY2F0aW9uIHdh cyByZXNvbHZlZCBieSB0aGUgbGlua2VyLgo+ICsgICAgICAgIGFzc2VydCEodHJhcF9hZGRyKCkg IT0gMCk7Cj4gKwo+ICsgICAgICAgIC8vIFNBRkVUWTogZmluZF9idWcoKSBpcyBhbHdheXMgc2Fm ZSB0byBjYWxsIHdpdGggYW55IGFkZHJlc3M7IGl0Cj4gKyAgICAgICAgLy8gc2ltcGx5IHdhbGtz IF9fYnVnX3RhYmxlIGFuZCByZXR1cm5zIE5VTEwgaWYgbm90aGluZyBtYXRjaGVzLgo+ICsgICAg ICAgIGxldCBlbnRyeSA9IHVuc2FmZSB7IGJpbmRpbmdzOjpmaW5kX2J1Zyh0cmFwX2FkZHIoKSkg fTsKPiArICAgICAgICAvLyBOb24tTlVMTCBwcm92ZXMgdGhlIGJ1Z19hZGRyIGRpc3BsYWNlbWVu dCBpbiBfRU1JVF9CVUdfRU5UUlkgaXMgY29ycmVjdC4KPiArICAgICAgICBhc3NlcnQhKCFlbnRy eS5pc19udWxsKCkpOwo+ICsgICAgfQo+ICsKPiArICAgIC8vLyBUaGUgZW1pdHRlZCBlbnRyeSBt dXN0IGJlIGZsYWdnZWQgYXMgYSB3YXJuaW5nIChub3QgYSBoYXJkIEJVRykuCj4gKyAgICAjW3Rl c3RdCj4gKyAgICBmbiBidWdfZW50cnlfaXNfd2FybmluZygpIHsKPiArICAgICAgICBhc3NlcnQh KHRyYXBfYWRkcigpICE9IDApOwo+ICsgICAgICAgIGxldCBlbnRyeSA9IHVuc2FmZSB7IGJpbmRp bmdzOjpmaW5kX2J1Zyh0cmFwX2FkZHIoKSkgfTsKPiArICAgICAgICBhc3NlcnQhKCFlbnRyeS5p c19udWxsKCkpOwo+ICsgICAgICAgIC8vIFNBRkVUWTogZW50cnkgaXMgbm9uLW51bGwgYW5kIHBv aW50cyB0byBhIHZhbGlkIGJ1Z19lbnRyeS4KPiArICAgICAgICBsZXQgZmxhZ3MgPSB1bnNhZmUg eyAoKmVudHJ5KS5mbGFncyB9IGFzIHUzMjsKPiArICAgICAgICBhc3NlcnQhKGZsYWdzICYgYmlu ZGluZ3M6OkJVR0ZMQUdfV0FSTklORyAhPSAwKTsKPiArICAgIH0KPiArCj4gKyAgICAvLy8gV2l0 aCBgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0VgIHRoZSBlbnRyeSBtdXN0IHJlY29yZCBhIG5vbi1u dWxsIGZpbGUKPiArICAgIC8vLyBwb2ludGVyIHBvaW50aW5nIGJhY2sgaW50byB0aGlzIHNvdXJj ZSBmaWxlLgo+ICsgICAgI1t0ZXN0XQo+ICsgICAgI1tjZmcoQ09ORklHX0RFQlVHX0JVR1ZFUkJP U0UpXQo+ICsgICAgZm4gYnVnX2VudHJ5X2ZpbGUoKSB7Cj4gKyAgICAgICAgdXNlIGtlcm5lbDo6 c3RyOjpDU3RyRXh0Owo+ICsKPiArICAgICAgICBhc3NlcnQhKHRyYXBfYWRkcigpICE9IDApOwo+ ICsgICAgICAgIGxldCBlbnRyeSA9IHVuc2FmZSB7IGJpbmRpbmdzOjpmaW5kX2J1Zyh0cmFwX2Fk ZHIoKSkgfTsKPiArICAgICAgICBhc3NlcnQhKCFlbnRyeS5pc19udWxsKCkpOwo+ICsKPiArICAg ICAgICBsZXQgbXV0IGZpbGVfcHRyOiAqY29uc3Qga2VybmVsOjpmZmk6OmNfY2hhciA9IGNvcmU6 OnB0cjo6bnVsbCgpOwo+ICsgICAgICAgIGxldCBtdXQgbGluZTogdTMyID0gMDsKPiArICAgICAg ICAvLyBTQUZFVFk6IGVudHJ5IGlzIG5vbi1udWxsIGFuZCB2YWxpZDsgZmlsZV9wdHIgYW5kIGxp bmUgYXJlIGxvY2FsCj4gKyAgICAgICAgLy8gdmFyaWFibGVzIHBhc3NlZCBhcyBvdXQtcGFyYW1l dGVycy4KPiArICAgICAgICB1bnNhZmUgeyBiaW5kaW5nczo6YnVnX2dldF9maWxlX2xpbmUoZW50 cnksICZtdXQgZmlsZV9wdHIsICZtdXQgbGluZSkgfTsKPiArCj4gKyAgICAgICAgYXNzZXJ0ISgh ZmlsZV9wdHIuaXNfbnVsbCgpKTsKPiArICAgICAgICAvLyBTQUZFVFk6IGZpbGVfcHRyIGlzIGEg bm9uLW51bGwsIG51bGwtdGVybWluYXRlZCBDIHN0cmluZyBmcm9tIEJVR19LVU5JVF9GSUxFLAo+ ICsgICAgICAgIC8vIHZhbGlkIGZvciB0aGUgbGlmZXRpbWUgb2YgdGhpcyBmdW5jdGlvbi4KPiAr ICAgICAgICBsZXQgZmlsZV9zdHIgPSB1bnNhZmUgeyBrZXJuZWw6OnByZWx1ZGU6OkNTdHI6OmZy b21fY2hhcl9wdHIoZmlsZV9wdHIpIH0KPiArICAgICAgICAgICAgLnRvX3N0cigpCj4gKyAgICAg ICAgICAgIC51bndyYXBfb3IoIiIpOwo+ICsgICAgICAgIGFzc2VydCEoZmlsZV9zdHIuY29udGFp bnMoImJ1ZyIpKTsKPiArICAgIH0KPiArCj4gKyAgICAvLy8gV2l0aCBgQ09ORklHX0RFQlVHX0JV R1ZFUkJPU0VgIHRoZSByZWNvcmRlZCBsaW5lIG51bWJlciBtdXN0IGJlCj4gKyAgICAvLy8gbm9u LXplcm8gKGEgemVybyBsaW5lIHdvdWxkIG1lYW4gdGhlIGFzbSBvcGVyYW5kIHdhcyBub3Qgc3Vi c3RpdHV0ZWQpLgo+ICsgICAgI1t0ZXN0XQo+ICsgICAgI1tjZmcoQ09ORklHX0RFQlVHX0JVR1ZF UkJPU0UpXQo+ICsgICAgZm4gYnVnX2VudHJ5X2xpbmUoKSB7Cj4gKyAgICAgICAgYXNzZXJ0ISh0 cmFwX2FkZHIoKSAhPSAwKTsKPiArICAgICAgICBsZXQgZW50cnkgPSB1bnNhZmUgeyBiaW5kaW5n czo6ZmluZF9idWcodHJhcF9hZGRyKCkpIH07Cj4gKyAgICAgICAgYXNzZXJ0ISghZW50cnkuaXNf bnVsbCgpKTsKPiArCj4gKyAgICAgICAgbGV0IG11dCBmaWxlX3B0cjogKmNvbnN0IGtlcm5lbDo6 ZmZpOjpjX2NoYXIgPSBjb3JlOjpwdHI6Om51bGwoKTsKPiArICAgICAgICBsZXQgbXV0IGxpbmU6 IHUzMiA9IDA7Cj4gKyAgICAgICAgLy8gU0FGRVRZOiBlbnRyeSBpcyBub24tbnVsbCBhbmQgdmFs aWQuCj4gKyAgICAgICAgdW5zYWZlIHsgYmluZGluZ3M6OmJ1Z19nZXRfZmlsZV9saW5lKGVudHJ5 LCAmbXV0IGZpbGVfcHRyLCAmbXV0IGxpbmUpIH07Cj4gKwo+ICsgICAgICAgIGFzc2VydCEobGlu ZSAhPSAwKTsKPiArICAgIH0KPiArCj4gKyAgICAvLy8gVGhlIHRyYXAgYWRkcmVzcyBzdG9yZWQg aW4gYF9fYnVnX3RhYmxlYCBtdXN0IGxpZSB3aXRoaW4gdGhlIGtlcm5lbAo+ICsgICAgLy8vIHRl eHQgc2VnbWVudC4gIElmIHRoZSBsYWJlbCByZWZlcmVuY2UgaW4gYF9FTUlUX0JVR19FTlRSWWAg cmVzb2x2ZWQKPiArICAgIC8vLyB0byBkYXRhIG9yIHplcm8sIGBrZXJuZWxfdGV4dF9hZGRyZXNz KClgIHdvdWxkIHJldHVybiBmYWxzZS4KPiArICAgICNbdGVzdF0KPiArICAgIGZuIGJ1Z19lbnRy eV9hZGRyX2lzX2luX3RleHQoKSB7Cj4gKyAgICAgICAgYXNzZXJ0ISh0cmFwX2FkZHIoKSAhPSAw KTsKPiArICAgICAgICAvLyBTQUZFVFk6IGtlcm5lbF90ZXh0X2FkZHJlc3MoKSBpcyBhbHdheXMg c2FmZSB0byBjYWxsIHdpdGggYW55IGFkZHIuCj4gKyAgICAgICAgbGV0IGluX3RleHQgPSB1bnNh ZmUgeyBiaW5kaW5nczo6a2VybmVsX3RleHRfYWRkcmVzcyh0cmFwX2FkZHIoKSkgfTsKPiArICAg ICAgICBhc3NlcnQhKGluX3RleHQgIT0gMCk7Cj4gKyAgICB9Cj4gK30KPiBkaWZmIC0tZ2l0IGEv cnVzdC9rZXJuZWwvZ2VuZXJhdGVkX2FyY2hfd2Fybl9hc21fdHJhcF9sYWJlbC5ycy5TIGIvcnVz dC9rZXJuZWwvZ2VuZXJhdGVkX2FyY2hfd2Fybl9hc21fdHJhcF9sYWJlbC5ycy5TCj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLmQ3YmVkODc1MWYxMAo+IC0tLSAv ZGV2L251bGwKPiArKysgYi9ydXN0L2tlcm5lbC9nZW5lcmF0ZWRfYXJjaF93YXJuX2FzbV90cmFw X2xhYmVsLnJzLlMKPiBAQCAtMCwwICsxLDcgQEAKPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAgKi8KPiArCj4gKyNpbmNsdWRlIDxsaW51eC9idWcuaD4KPiArCj4gKy8vIEN1 dCBoZXJlLgo+ICsKPiArOjprZXJuZWw6OmNvbmNhdF9saXRlcmFscyEoQVJDSF9XQVJOX0FTTV9U UkFQX0xBQkVMKQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQu b3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlz Y3YK