From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D6C80C35240 for ; Thu, 23 Jan 2020 23:39:20 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4335D20718 for ; Thu, 23 Jan 2020 23:39:20 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4335D20718 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=patchew.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:35530 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ium4F-00025b-AA for qemu-devel@archiver.kernel.org; Thu, 23 Jan 2020 18:39:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:54832) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iujs1-0001OG-VC for qemu-devel@nongnu.org; Thu, 23 Jan 2020 16:18:44 -0500 Resent-Date: Thu, 23 Jan 2020 16:18:44 -0500 Resent-Message-Id: Received: from sender4-of-o51.zoho.com ([136.143.188.51]:21118) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iujs0-0006gH-64 for qemu-devel@nongnu.org; Thu, 23 Jan 2020 16:18:33 -0500 Received: from [172.17.0.3] (23.253.156.214 [23.253.156.214]) by mx.zohomail.com with SMTPS id 1579814296948322.4025864013074; Thu, 23 Jan 2020 13:18:16 -0800 (PST) In-Reply-To: <20200123164630.91498-1-dgilbert@redhat.com> Subject: Re: [PULL 000/108] virtiofs queue Message-ID: <157981429553.18655.2517275928872573913@f6d1ed32ca6b> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Resent-From: From: no-reply@patchew.org To: dgilbert@redhat.com Date: Thu, 23 Jan 2020 13:18:16 -0800 (PST) X-ZohoMailClient: External X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Mailman-Approved-At: Thu, 23 Jan 2020 18:37:27 -0500 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: qemu-devel@nongnu.org Cc: qemu-devel@nongnu.org, stefanha@redhat.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" UGF0Y2hldyBVUkw6IGh0dHBzOi8vcGF0Y2hldy5vcmcvUUVNVS8yMDIwMDEyMzE2NDYzMC45MTQ5 OC0xLWRnaWxiZXJ0QHJlZGhhdC5jb20vCgoKCkhpLAoKVGhpcyBzZXJpZXMgc2VlbXMgdG8gaGF2 ZSBzb21lIGNvZGluZyBzdHlsZSBwcm9ibGVtcy4gU2VlIG91dHB1dCBiZWxvdyBmb3IKbW9yZSBp bmZvcm1hdGlvbjoKClR5cGU6IHNlcmllcwpNZXNzYWdlLWlkOiAyMDIwMDEyMzE2NDYzMC45MTQ5 OC0xLWRnaWxiZXJ0QHJlZGhhdC5jb20KU3ViamVjdDogW1BVTEwgMDAwLzEwOF0gdmlydGlvZnMg cXVldWUKCj09PSBURVNUIFNDUklQVCBCRUdJTiA9PT0KIyEvYmluL2Jhc2gKZ2l0IHJldi1wYXJz ZSBiYXNlID4gL2Rldi9udWxsIHx8IGV4aXQgMApnaXQgY29uZmlnIC0tbG9jYWwgZGlmZi5yZW5h bWVsaW1pdCAwCmdpdCBjb25maWcgLS1sb2NhbCBkaWZmLnJlbmFtZXMgVHJ1ZQpnaXQgY29uZmln IC0tbG9jYWwgZGlmZi5hbGdvcml0aG0gaGlzdG9ncmFtCi4vc2NyaXB0cy9jaGVja3BhdGNoLnBs IC0tbWFpbGJhY2sgYmFzZS4uCj09PSBURVNUIFNDUklQVCBFTkQgPT09CgpVcGRhdGluZyAzYzhj ZjVhOWMyMWZmODc4MjE2NGQxZGVmN2Y0NGJkODg4NzEzMzg0CkZyb20gaHR0cHM6Ly9naXRodWIu Y29tL3BhdGNoZXctcHJvamVjdC9xZW11CiAtIFt0YWcgdXBkYXRlXSAgICAgIHBhdGNoZXcvMjAy MDAxMjMxNzA1NDQuMzAxMTctMS1rd29sZkByZWRoYXQuY29tIC0+IHBhdGNoZXcvMjAyMDAxMjMx NzA1NDQuMzAxMTctMS1rd29sZkByZWRoYXQuY29tClN3aXRjaGVkIHRvIGEgbmV3IGJyYW5jaCAn dGVzdCcKMDJlNGM2ZCB2aXJ0aW9mc2Q6IGFkZCBzb21lIG9wdGlvbnMgdG8gdGhlIGhlbHAgbWVz c2FnZQo5MWI5MjEwIHZpcnRpb2ZzZDogc3RvcCBhbGwgcXVldWUgdGhyZWFkcyBvbiBleGl0IGlu IHZpcnRpb19sb29wKCkKOTMyNTMxMCB2aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGw6IFBhc3MgZXJy bm8gdG8gZnVzZV9yZXBseV9lcnIoKQo2OTgyOTJlIHZpcnRpb2ZzZDogQ29udmVydCBsb19kZXN0 cm95IHRvIHRha2UgdGhlIGxvLT5tdXRleCBsb2NrIGl0c2VsZgo3MmVjZThmIHZpcnRpb2ZzZDog YWRkIC0tdGhyZWFkLXBvb2wtc2l6ZT1OVU0gb3B0aW9uCjg3NTA0ZWIgdmlydGlvZnNkOiBmaXgg bG9fZGVzdHJveSgpIHJlc291cmNlIGxlYWtzCmI1NzNiZGQgdmlydGlvZnNkOiBwcmV2ZW50IEZV U0VfSU5JVC9GVVNFX0RFU1RST1kgcmFjZXMKMzIyYmJkYyB2aXJ0aW9mc2Q6IHByb2Nlc3MgcmVx dWVzdHMgaW4gYSB0aHJlYWQgcG9vbAowZTU4M2ExIHZpcnRpb2ZzZDogdXNlIGZ1c2VfYnVmX3dy aXRldiB0byByZXBsYWNlIGZ1c2VfYnVmX3dyaXRlIGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UKNGZk YTZhNiB2aXJ0aW9mc2Q6IGFkZCBkZWZpbml0aW9uIG9mIGZ1c2VfYnVmX3dyaXRldigpCjFmNjdm YjcgdmlydGlvZnNkOiBwYXNzdGhyb3VnaF9sbDogVXNlIGNhY2hlX3JlYWRkaXIgZm9yIGRpcmVj dG9yeSBvcGVuCjllNzM5YTEgdmlydGlvZnNkOiBGaXggZGF0YSBjb3JydXB0aW9uIHdpdGggT19B UFBFTkQgd3JpdGUgaW4gd3JpdGViYWNrIG1vZGUKZTVlZTU5NCB2aXJ0aW9mc2Q6IFJlc2V0IE9f RElSRUNUIGZsYWcgZHVyaW5nIGZpbGUgb3BlbgoyNjkwMDJlIHZpcnRpb2ZzZDogY29udmVydCBt b3JlIGZwcmludGYgYW5kIHBlcnJvciB0byB1c2UgZnVzZSBsb2cgaW5mcmEKNjQ5YWE0OSB2aXJ0 aW9mc2Q6IGRvIG5vdCBhbHdheXMgc2V0IEZVU0VfRkxPQ0tfTE9DS1MKYTc2OTgzMiB2aXJ0aW9m c2Q6IGludHJvZHVjZSBpbm9kZSByZWZjb3VudCB0byBwcmV2ZW50IHVzZS1hZnRlci1mcmVlCmM3 MGI3ZWUgdmlydGlvZnNkOiBwYXNzdGhyb3VnaF9sbDogZml4IHJlZmNvdW50aW5nIG9uIHJlbW92 ZS9yZW5hbWUKNjA0Mjk4ZCBsaWJ2aG9zdC11c2VyOiBGaXggc29tZSBtZW10YWJsZSByZW1hcCBj YXNlcwoyYWQxZjU1IHZpcnRpb2ZzZDogcmVuYW1lIGlub2RlLT5yZWZjb3VudCB0byBpbm9kZS0+ bmxvb2t1cApmMDBjYjRlIHZpcnRpb2ZzZDogcHJldmVudCByYWNlcyB3aXRoIGxvX2RpcnBfcHV0 KCkKYjZmZjU4YyB2aXJ0aW9mc2Q6IG1ha2UgbG9fcmVsZWFzZSgpIGF0b21pYwpjMWM1MzVhIHZp cnRpb2ZzZDogcHJldmVudCBmdl9xdWV1ZV90aHJlYWQoKSB2cyB2aXJ0aW9fbG9vcCgpIHJhY2Vz CmFlYWQ1MzQgdmlydGlvZnNkOiB1c2UgZnVzZV9sb3dsZXZlbF9pc192aXJ0aW8oKSBpbiBmdXNl X3Nlc3Npb25fZGVzdHJveSgpCmI3NmFiZjUgdmlydGlvZnNkOiBTdXBwb3J0IHJlbW90ZSBwb3Np eCBsb2Nrcwo2OTAyZWI4IFZpcnRpb2ZzZDogZml4IG1lbW9yeSBsZWFrIG9uIGZ1c2UgcXVldWVp bmZvCmJlNTA5N2EgdmlydGlvZnNkOiBmaXggaW5jb3JyZWN0IGVycm9yIGhhbmRsaW5nIGluIGxv X2RvX2xvb2t1cAo5MDA2NjU3IHZpcnRpb2ZzZDogZW5hYmxlIFBBUkFMTEVMX0RJUk9QUyBkdXJp bmcgSU5JVAo0NzA2ZjQ2IHZpcnRpb2ZzZDogUHJldmVudCBtdWx0aXBseSBydW5uaW5nIHdpdGgg c2FtZSB2aG9zdF91c2VyX3NvY2tldApmMjExYTM2IHZpcnRpb2ZzZDogYWRkIGhlbHBlciBmb3Ig bG9fZGF0YSBjbGVhbnVwCjM4MjAwYzYgdmlydGlvZnNkOiBmaXggbWVtb3J5IGxlYWsgb24gbG8u c291cmNlCjdmOTlhZmMgdmlydGlvZnNkOiBjbGVhbnVwIGFsbG9jYXRlZCByZXNvdXJjZSBpbiBz ZQphMTUyMmVhIHZpcnRpb2ZzZDogZml4IGVycm9yIGhhbmRsaW5nIGluIG1haW4oKQpmMGUzZmJj IHZpcnRpb2ZzZDogc3VwcG9ydCBuYW5vc2Vjb25kIHJlc29sdXRpb24gZm9yIGZpbGUgdGltZXN0 YW1wCjAyMjBhZWQgdmlydGlvZnNkOiBDbGVhbiB1cCBpbm9kZXMgb24gZGVzdHJveQo3YTM4MGYz IHZpcnRpb2ZzZDogcGFzc3Rocm91Z2hfbGw6IHVzZSBoYXNodGFibGUKMWUyMWE5YyB2aXJ0aW9m c2Q6IHBhc3N0aHJvdWdoX2xsOiBjbGVhbiB1cCBjYWNoZSByZWxhdGVkIG9wdGlvbnMKMWIwNTMx NiB2aXJ0aW9mc2Q6IGV4dHJhY3Qgcm9vdCBpbm9kZSBpbml0IGludG8gc2V0dXBfcm9vdCgpCjFj MDYzYzggdmlydGlvZnNkOiBmYWlsIHdoZW4gcGFyZW50IGlub2RlIGlzbid0IGtub3duIGluIGxv X2RvX2xvb2t1cCgpCjdkZGI4ZTIgdmlydGlvZnNkOiByZW5hbWUgdW5yZWZfaW5vZGUoKSB0byB1 bnJlZl9pbm9kZV9sb2xvY2tlZCgpCjRkZDZjM2EgdmlydGlvZnNkOiBwYXNzdGhyb3VnaF9sbDog Y29udHJvbCByZWFkZGlycGx1cwpiOTA5N2M5IHZpcnRpb2ZzZDogcGFzc3Rocm91Z2hfbGw6IGRp c2FibGUgcmVhZGRpcnBsdXMgb24gY2FjaGU9bmV2ZXIKYzAyNzlhNiB2aXJ0aW9mc2Q6IHBhc3N0 aHJvdWdoX2xsOiBhZGQgcmVuYW1lYXQyIHN1cHBvcnQKODI0YTFkYiBjb250cmliL2xpYnZob3N0 LXVzZXI6IFByb3RlY3Qgc2xhdmUgZmQgd2l0aCBtdXRleAo4NTFlOGVjIHZob3N0LXVzZXI6IFBy aW50IHVuZXhwZWN0ZWQgc2xhdmUgbWVzc2FnZSB0eXBlcwo4MThlMmZjIHZpcnRpb2ZzZDogS2ls bCB0aHJlYWRzIHdoZW4gcXVldWVzIGFyZSBzdG9wcGVkCmYwNGZlMzUgdmlydGlvZnNkOiBIYW5k bGUgaGFyZCByZWJvb3QKNDAwMmViNiB2aXJ0aW9mc2Q6IEhhbmRsZSByZWluaXQKYzI1Nzk5MiB2 aXJ0aW9mc2Q6IEFkZCB0aW1lc3RhbXAgdG8gdGhlIGxvZyB3aXRoIEZVU0VfTE9HX0RFQlVHIGxl dmVsCmZiOTI2ZWUgdmlydGlvZnNkOiBBZGQgSUQgdG8gdGhlIGxvZyB3aXRoIEZVU0VfTE9HX0RF QlVHIGxldmVsCjc3NjUwM2MgdmlydGlvZnNkOiBwcmludCBsb2cgb25seSB3aGVuIHByaW9yaXR5 IGlzIGhpZ2ggZW5vdWdoCmQxOWUwNjIgdmlydGlvZnNkOiBhZGQgLS1zeXNsb2cgY29tbWFuZC1s aW5lIG9wdGlvbgo3ODhkMzE5IHZpcnRpb2ZzZDogZml4IGxpYmZ1c2UgaW5mb3JtYXRpb24gbGVh a3MKOGI2MWU4MCB2aXJ0aW9mc2Q6IHNldCBtYXhpbXVtIFJMSU1JVF9OT0ZJTEUgbGltaXQKZTEz Nzk5MiB2aXJ0aW9mc2Q6IERyb3AgQ0FQX0ZTRVRJRCBpZiBjbGllbnQgYXNrZWQgZm9yIGl0Cjlj YzM0Y2MgdmlydGlvZnNkOiBjYXAtbmcgaGVscGVycwo3YTAyOTM2IHZpcnRpb2ZzZDogUGFyc2Ug ZmxhZyBGVVNFX1dSSVRFX0tJTExfUFJJVgo5NWQ2MGVlIHZpcnRpb2ZzZDogYWRkIHNlY2NvbXAg d2hpdGVsaXN0CmViMjE0YTcgdmlydGlvZnNkOiBtb3ZlIHRvIGEgbmV3IHBpZCBuYW1lc3BhY2UK MzIyOGNkNCB2aXJ0aW9mc2Q6IG1vdmUgdG8gYW4gZW1wdHkgbmV0d29yayBuYW1lc3BhY2UKZjIw NjA2YSB2aXJ0aW9mc2Q6IHNhbmRib3ggbW91bnQgbmFtZXNwYWNlCmI4YjY1NTIgdmlydGlvZnNk OiB1c2UgL3Byb2Mvc2VsZi9mZC8gT19QQVRIIGZpbGUgZGVzY3JpcHRvcgpjM2Y1YjA3IHZpcnRp b2ZzZDogcHJldmVudCAiLi4iIGVzY2FwZSBpbiBsb19kb19yZWFkZGlyKCkKM2NiNDQ2MyB2aXJ0 aW9mc2Q6IHByZXZlbnQgIi4uIiBlc2NhcGUgaW4gbG9fZG9fbG9va3VwKCkKM2QxMWYxMiB2aXJ0 aW9mc2Q6IGNoZWNrIGlucHV0IGJ1ZmZlciBzaXplIGluIGZ1c2VfbG93bGV2ZWwuYyBvcHMKMzhi MzRlYSB2aXJ0aW9mc2Q6IHZhbGlkYXRlIGlucHV0IGJ1ZmZlciBzaXplcyBpbiBkb193cml0ZV9i dWYoKQo5YzM0YjA5IHZpcnRpb2ZzZDogYWRkIGZ1c2VfbWJ1Zl9pdGVyIEFQSQo2Yjc5MTRmIHZp cnRpb2ZzZDogUGFzcyB3cml0ZSBpb3YncyBhbGwgdGhlIHdheSB0aHJvdWdoCjc4ZDc5Nzkgdmly dGlvZnNkOiBQbHVtYiBmdXNlX2J1ZnZlYyB0aHJvdWdoIHRvIGRvX3dyaXRlX2J1Zgo0MDhmOGEx IHZpcnRpb2ZzZDogdmFsaWRhdGUgcGF0aCBjb21wb25lbnRzCmJjYTkyYWQgdmlydGlvZnNkOiBw YXNzdGhyb3VnaF9sbDogYWRkIGZhbGxiYWNrIGZvciByYWN5IG9wcwozZWQ1MzU3IHZpcnRpb2Zz ZDogcGFzc3Rocm91Z2hfbGw6IGFkZCBmZF9tYXAgdG8gaGlkZSBmaWxlIGRlc2NyaXB0b3JzCmZh ZDVlYzcgdmlydGlvZnNkOiBwYXNzdGhyb3VnaF9sbDogYWRkIGRpcnBfbWFwIHRvIGhpZGUgbG9f ZGlycCBwb2ludGVycwpkYjcxYTgzIHZpcnRpb2ZzZDogcGFzc3Rocm91Z2hfbGw6IGFkZCBpbm9f bWFwIHRvIGhpZGUgbG9faW5vZGUgcG9pbnRlcnMKNWE4ODEyZSB2aXJ0aW9mc2Q6IHBhc3N0aHJv dWdoX2xsOiBhZGQgbG9fbWFwIGZvciBpbm8vZmggaW5kaXJlY3Rpb24KZDY2ZGE4NSB2aXJ0aW9m c2Q6IHBhc3N0aHJvdWdoX2xsOiBjcmVhdGUgbmV3IGZpbGVzIGluIGNhbGxlcidzIGNvbnRleHQK Y2ZmYTJlYSB2aXJ0aW9mczogQWRkIG1haW50YWluZXJzIGVudHJ5CmMzMTcyNTIgdmlydGlvZnNk OiBhZGQgLS1wcmludC1jYXBhYmlsaXRpZXMgb3B0aW9uCmY0MzdmOGQgdmlydGlvZnNkOiBhZGQg dmhvc3QtdXNlci5qc29uIGZpbGUKYmQ2YzlmNCB2aXJ0aW9mc2Q6IG1ha2UgLWYgKGZvcmVncm91 bmQpIHRoZSBkZWZhdWx0CjMxMmU3ZDQgdmlydGlvZnNkOiBhZGQgLS1mZD1GRE5VTSBmZCBwYXNz aW5nIG9wdGlvbgo1MmEyZWVjIHZpcnRpb2ZzZDogRmFzdCBwYXRoIGZvciB2aXJ0aW8gcmVhZApj YTNiMGY2IHZpcnRpb2ZzZDogQWRkIE1ha2VmaWxlIHdpcmluZyBmb3IgdmlydGlvZnNkIGNvbnRy aWIKOWU3MDkzZCB2aXJ0aW9mc2Q6IEtlZXAgdHJhY2sgb2YgcmVwbGllcwo1YmVjZTdiIHZpcnRp b2ZzZDogU2VuZCByZXBsaWVzIHRvIG1lc3NhZ2VzCjEzNzJlYmQgdmlydGlvZnNkOiBTdGFydCBy ZWFkaW5nIGNvbW1hbmRzIGZyb20gcXVldWUKMzZlNmM1MiB2aXJ0aW9mc2Q6IFBvbGwga2lja19m ZCBmb3IgcXVldWUKNDQwOTM4ZCB2aXJ0aW9mc2Q6IFN0YXJ0IHF1ZXVlIHRocmVhZHMKYWQ4YjE3 MCB2aXJ0aW9mc2Q6IGdldC9zZXQgZmVhdHVyZXMgY2FsbGJhY2tzCjI4N2I0OGMgdmlydGlvZnNk OiBBZGQgbWFpbiB2aXJ0aW8gbG9vcApmZWYzMDdlIHZpcnRpb2ZzZDogU3RhcnQgd2lyaW5nIHVw IHZob3N0LXVzZXIKMDgzOTA0OSB2aXJ0aW9mc2Q6IE9wZW4gdmhvc3QgY29ubmVjdGlvbiBpbnN0 ZWFkIG9mIG1vdW50aW5nCjg3Y2IzY2EgdmlydGlvZnNkOiBhZGQgLW8gc291cmNlPVBBVEggdG8g aGVscCBvdXRwdXQKYTZmOGE2OCB2aXJ0aW9mc2Q6IEFkZCBvcHRpb25zIGZvciB2aXJ0aW8KMDFi NGExNSB2aXJ0aW9mc2Q6IE1ha2UgZnN5bmMgd29yayBldmVuIGlmIG9ubHkgaW5vZGUgaXMgcGFz c2VkIGluCjY3NGQxOGIgdml0cmlvZnNkL3Bhc3N0aHJvdWdoX2xsOiBmaXggZmFsbG9jYXRlKCkg aWZkZWZzCmFmZGFmOGUgdmlydGlvZnNkOiBUcmltIG91dCBjb21wYXRpYmlsaXR5IGNvZGUKODVk MzUwYSB2aXJ0aW9mc2Q6IEZpeCBjb21tb24gaGVhZGVyIGFuZCBkZWZpbmUgZm9yIFFFTVUgYnVp bGRzCjQ3MGJmMDMgdmlydGlvZnNkOiBGaXggZnVzZV9kYWVtb25pemUgaWdub3JlZCByZXR1cm4g dmFsdWVzCjk4ODU4MmMgdmlydGlvZnNkOiBSZW1vdmUgdW51c2VkIGVudW0gZnVzZV9idWZfY29w eV9mbGFncwplMGFkZTNiIHZpcnRpb2ZzZDogcmVtb3ZlIHVudXNlZCBub3RpZnkgcmVwbHkgc3Vw cG9ydAo0MDQwOGYwIHZpcnRpb2ZzZDogcmVtb3ZlIG1vdW50cG9pbnQgZHVtbXkgYXJndW1lbnQK YzY5NWEwNyB2aXJ0aW9mc2Q6IEZvcm1hdCBpbXBvcnRlZCBmaWxlcyB0byBxZW11IHN0eWxlCjRk ZTY2YjUgdmlydGlvZnNkOiBUcmltIGRvd24gaW1wb3J0ZWQgZmlsZXMKYjBlOTYzNCB2aXJ0aW9m c2Q6IEFkZCBwYXNzdGhyb3VnaF9sbApkY2Q3YWQxIHZpcnRpb2ZzZDogQWRkIGZ1c2VfbG93bGV2 ZWwuYwo0MGI2NzgyIHZpcnRpb2ZzZDogQWRkIGF1eGlsaWFyeSAuYydzCjYzYTVkYWYgdmlydGlv ZnNkOiBQdWxsIGluIGtlcm5lbCdzIGZ1c2UuaAplZDg4YjFjIHZpcnRpb2ZzZDogUHVsbCBpbiB1 cHN0cmVhbSBoZWFkZXJzCgo9PT0gT1VUUFVUIEJFR0lOID09PQoxLzEwOCBDaGVja2luZyBjb21t aXQgZWQ4OGIxYzViZjkzICh2aXJ0aW9mc2Q6IFB1bGwgaW4gdXBzdHJlYW0gaGVhZGVycykKV0FS TklORzogYWRkZWQsIG1vdmVkIG9yIGRlbGV0ZWQgZmlsZShzKSwgZG9lcyBNQUlOVEFJTkVSUyBu ZWVkIHVwZGF0aW5nPwojMTY6IApuZXcgZmlsZSBtb2RlIDEwMDY0NAoKV0FSTklORzogQmxvY2sg Y29tbWVudHMgdXNlICogb24gc3Vic2VxdWVudCBsaW5lcwojMjI6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlLmg6MjoKKy8qCisgIEZVU0U6IEZpbGVzeXN0ZW0gaW4gVXNlcnNwYWNlCgpXQVJO SU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJhdGUgbGluZQoj MzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTI6CisvKiogQGZpbGUKCldBUk5JTkc6 IGFyY2hpdGVjdHVyZSBzcGVjaWZpYyBkZWZpbmVzIHNob3VsZCBiZSBhdm9pZGVkCiM0ODogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoyODoKKyNpZmRlZiBfX2NwbHVzcGx1cwoKV0FSTklO RzogQmxvY2sgY29tbWVudHMgdXNlIGEgbGVhZGluZyAvKiBvbiBhIHNlcGFyYXRlIGxpbmUKIzUy OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjMyOgorLyogLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKgoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlLmg6MzM6CisgKiBCYXNpYyBGVVNFIEFQSV5JXkleSV5JXkkgICAgICAgKiQKCldBUk5JTkc6 IEJsb2NrIGNvbW1lbnRzIHVzZSBhIHRyYWlsaW5nICovIG9uIGEgc2VwYXJhdGUgbGluZQojNTQ6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzQ6CisgKiAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlLmg6NDM6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzY0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQ0OgorXkkgKiAiUGx1cyIgbW9k ZS4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2NTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo0NToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM2NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo0NjoK K15JICogVGhlIGtlcm5lbCB3YW50cyB0byBwcmVmaWxsIHRoZSBpbm9kZSBjYWNoZSBkdXJpbmcg cmVhZGRpci4gIFRoZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzY3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQ3OgorXkkgKiBmaWxlc3lzdGVtIG1h eSBob25vdXIgdGhpcyBieSBmaWxsaW5nIGluIHRoZSBhdHRyaWJ1dGVzIGFuZCBzZXR0aW5nJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjg6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlLmg6NDg6CiteSSAqIEZVU0VfRklMTF9ESVJfRkxBR1MgZm9yIHRoZSBm aWxsZXIgZnVuY3Rpb24uICBUaGUgZmlsZXN5c3RlbSBtYXkgYWxzbyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZS5oOjQ5OgorXkkgKiBqdXN0IGlnbm9yZSB0aGlzIGZsYWcgY29tcGxldGVseS4kCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3MDogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2UuaDo1MDoKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNzE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NTE6CiteSUZVU0VfUkVB RERJUl9QTFVTID0gKDEgPDwgMCksJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NTU6CiteSS8qKiQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc2OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZS5oOjU2OgorXkkgKiAiUGx1cyIgbW9kZTogYWxsIGZpbGUgYXR0cmlidXRl cyBhcmUgdmFsaWQkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3 NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo1NzoKK15JICokCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2UuaDo1ODoKK15JICogVGhlIGF0dHJpYnV0ZXMgYXJlIHVzZWQgYnkgdGhlIGtlcm5lbCB0byBw cmVmaWxsIHRoZSBpbm9kZSBjYWNoZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzc5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjU5OgorXkkgKiBkdXJp bmcgYSByZWFkZGlyLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzgwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjYwOgorXkkgKiQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgxOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZS5oOjYxOgorXkkgKiBJdCBpcyBva2F5IHRvIHNldCBGVVNFX0ZJTExfRElSX1BMVVMgaWYg RlVTRV9SRUFERElSX1BMVVMgaXMgbm90IHNldCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzgyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjYyOgorXkkg KiBhbmQgdmljZSB2ZXJzYS4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM4MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2MzoKK15JICovJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODQ6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlLmg6NjQ6CiteSUZVU0VfRklMTF9ESVJfUExVUyA9ICgxIDw8IDEpLCQKCldBUk5J Tkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcgLyogb24gYSBzZXBhcmF0ZSBsaW5lCiM4 NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2NzoKKy8qKiBGdW5jdGlvbiB0byBhZGQg YW4gZW50cnkgaW4gYSByZWFkZGlyKCkgb3BlcmF0aW9uCgpFUlJPUjogdHJhaWxpbmcgd2hpdGVz cGFjZQojOTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NzQ6CisgKiAkCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDM6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlLmg6ODM6CiteSV5JXkleSWNvbnN0IHN0cnVjdCBzdGF0ICpzdGJ1Ziwgb2ZmX3Qg b2ZmLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNDogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo4NDoKK15JXkleSV5JZW51bSBmdXNlX2ZpbGxfZGly X2ZsYWdzIGZsYWdzKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxMTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6OTQ6CiteSS8qKiQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExNTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2UuaDo5NToKK15JICogSWYgYHNldF9naWRgIGlzIG5vbi16ZXJvLCB0aGUgc3RfZ2lk IGF0dHJpYnV0ZSBvZiBlYWNoIGZpbGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6OTY6CiteSSAqIGlz IG92ZXJ3cml0dGVuIHdpdGggdGhlIHZhbHVlIG9mIGBnaWRgLiQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Uu aDo5NzoKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTE4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjk4OgorXklpbnQgc2V0X2dpZDskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTk6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlLmg6OTk6CiteSXVuc2lnbmVkIGludCBnaWQ7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIxOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZS5oOjEwMToKK15JLyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMTIyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjEwMjoKK15JICogSWYgYHNl dF91aWRgIGlzIG5vbi16ZXJvLCB0aGUgc3RfdWlkIGF0dHJpYnV0ZSBvZiBlYWNoIGZpbGUkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjM6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlLmg6MTAzOgorXkkgKiBpcyBvdmVyd3JpdHRlbiB3aXRoIHRoZSB2YWx1 ZSBvZiBgdWlkYC4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx MjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTA0OgorXkkgKi8kCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlLmg6MTA1OgorXklpbnQgc2V0X3VpZDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxMjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTA2Ogor Xkl1bnNpZ25lZCBpbnQgdWlkOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEyODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxMDg6CiteSS8qKiQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyOTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2UuaDoxMDk6CiteSSAqIElmIGBzZXRfbW9kZWAgaXMgbm9uLXplcm8sIHRo ZSBhbnkgcGVybWlzc2lvbnMgYml0cyBzZXQgaW4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxMzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTEwOgor XkkgKiBgdW1hc2tgIGFyZSB1bnNldCBpbiB0aGUgc3RfbW9kZSBhdHRyaWJ1dGUgb2YgZWFjaCBm aWxlLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzMTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxMTE6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Uu aDoxMTI6CiteSWludCBzZXRfbW9kZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMzM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTEzOgorXkl1bnNp Z25lZCBpbnQgdW1hc2s7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTM1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjExNToKK15JLyoqJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM2OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZS5oOjExNjoKK15JICogVGhlIHRpbWVvdXQgaW4gc2Vjb25kcyBmb3Igd2hpY2gg bmFtZSBsb29rdXBzIHdpbGwgYmUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxMzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTE3OgorXkkgKiBjYWNo ZWQuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM4OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjExODoKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5o OjExOToKK15JZG91YmxlIGVudHJ5X3RpbWVvdXQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTQxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjEyMToK K15JLyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQyOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjEyMjoKK15JICogVGhlIHRpbWVvdXQgaW4gc2Vj b25kcyBmb3Igd2hpY2ggYSBuZWdhdGl2ZSBsb29rdXAgd2lsbCBiZSQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2UuaDoxMjM6CiteSSAqIGNhY2hlZC4gVGhpcyBtZWFucywgdGhhdCBpZiBmaWxlIGRpZCBub3Qg ZXhpc3QgKGxvb2t1cCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzE0NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxMjQ6CiteSSAqIHJldHVuZWQgRU5P RU5UKSwgdGhlIGxvb2t1cCB3aWxsIG9ubHkgYmUgcmVkb25lIGFmdGVyIHRoZSQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0NTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2UuaDoxMjU6CiteSSAqIHRpbWVvdXQsIGFuZCB0aGUgZmlsZS9kaXJlY3Rvcnkgd2ls bCBiZSBhc3N1bWVkIHRvIG5vdCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzE0NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxMjY6CiteSSAqIGV4aXN0 IHVudGlsIHRoZW4uIEEgdmFsdWUgb2YgemVybyBtZWFucyB0aGF0IG5lZ2F0aXZlJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQ3OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZS5oOjEyNzoKK15JICogbG9va3VwcyBhcmUgbm90IGNhY2hlZC4kCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNDg6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlLmg6MTI4OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxNDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTI5OgorXklkb3Vi bGUgbmVnYXRpdmVfdGltZW91dDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxNTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTMxOgorXkkvKiokCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTI6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlLmg6MTMyOgorXkkgKiBUaGUgdGltZW91dCBpbiBzZWNvbmRzIGZvciB3 aGljaCBmaWxlL2RpcmVjdG9yeSBhdHRyaWJ1dGVzJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTUzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjEzMzoK K15JICogKGFzIHJldHVybmVkIGJ5IGUuZy4gdGhlIGBnZXRhdHRyYCBoYW5kbGVyKSBhcmUgY2Fj aGVkLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE1NDogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxMzQ6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE1NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Uu aDoxMzU6CiteSWRvdWJsZSBhdHRyX3RpbWVvdXQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTU3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjEzNzoK K15JLyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTU4OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjEzODoKK15JICogQWxsb3cgcmVxdWVzdHMgdG8g YmUgaW50ZXJydXB0ZWQkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxNTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTM5OgorXkkgKi8kCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNjA6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlLmg6MTQwOgorXklpbnQgaW50cjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxNjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTQyOgor XkkvKiokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNjM6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTQzOgorXkkgKiBTcGVjaWZ5IHdoaWNoIHNpZ25h bCBudW1iZXIgdG8gc2VuZCB0byB0aGUgZmlsZXN5c3RlbSB3aGVuJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZS5oOjE0NDoKK15JICogYSByZXF1ZXN0IGlzIGludGVycnVwdGVkLiAgVGhlIGRlZmF1bHQgaXMg aGFyZGNvZGVkIHRvJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTY1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjE0NToKK15JICogVVNSMS4kCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNjY6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlLmg6MTQ2OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxNjc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTQ3OgorXklp bnQgaW50cl9zaWduYWw7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTY5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjE0OToKK15JLyoqJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTcwOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZS5oOjE1MDoKK15JICogTm9ybWFsbHksIEZVU0UgYXNzaWducyBpbm9kZXMgdG8g cGF0aHMgb25seSBmb3IgYXMgbG9uZyBhcyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzE3MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxNTE6CiteSSAq IHRoZSBrZXJuZWwgaXMgYXdhcmUgb2YgdGhlbS4gV2l0aCB0aGlzIG9wdGlvbiBpbm9kZXMgYXJl JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTcyOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZS5oOjE1MjoKK15JICogaW5zdGVhZCByZW1lbWJlcmVkIGZvciBh dCBsZWFzdCB0aGlzIG1hbnkgc2Vjb25kcy4gIFRoaXMkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxNzM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTUz OgorXkkgKiB3aWxsIHJlcXVpcmUgbW9yZSBtZW1vcnksIGJ1dCBtYXkgYmUgbmVjZXNzYXJ5IHdo ZW4gdXNpbmckCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzQ6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTU0OgorXkkgKiBhcHBsaWNhdGlvbnMgdGhh dCBtYWtlIHVzZSBvZiBpbm9kZSBudW1iZXJzLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzE3NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxNTU6Cite SSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTc2OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjE1NjoKK15JICogQSBudW1iZXIgb2YgLTEgbWVhbnMg dGhhdCBpbm9kZXMgd2lsbCBiZSByZW1lbWJlcmVkIGZvciB0aGUkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl Lmg6MTU3OgorXkkgKiBlbnRpcmUgbGlmZS10aW1lIG9mIHRoZSBmaWxlLXN5c3RlbSBwcm9jZXNz LiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3ODogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxNTg6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDox NTk6CiteSWludCByZW1lbWJlcjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTYxOgorXkkvKiokCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxODI6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlLmg6MTYyOgorXkkgKiBUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0aGF0 IGlmIGFuIG9wZW4gZmlsZSBpcyBkZWxldGVkLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzE4MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxNjM6Cite SSAqIHRoZSBmaWxlIGlzIHJlbmFtZWQgdG8gYSBoaWRkZW4gZmlsZSAoLmZ1c2VfaGlkZGVuWFhY KSwgYW5kJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTg0OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjE2NDoKK15JICogb25seSByZW1vdmVkIHdoZW4g dGhlIGZpbGUgaXMgZmluYWxseSByZWxlYXNlZC4gIFRoaXMkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxODU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6 MTY1OgorXkkgKiByZWxpZXZlcyB0aGUgZmlsZXN5c3RlbSBpbXBsZW1lbnRhdGlvbiBvZiBoYXZp bmcgdG8gZGVhbCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4 NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxNjY6CiteSSAqIHdpdGggdGhpcyBwcm9i bGVtLiBUaGlzIG9wdGlvbiBkaXNhYmxlcyB0aGUgaGlkaW5nJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTg3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5o OjE2NzoKK15JICogYmVoYXZpb3IsIGFuZCBmaWxlcyBhcmUgcmVtb3ZlZCBpbW1lZGlhdGVseSBp biBhbiB1bmxpbmskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx ODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTY4OgorXkkgKiBvcGVyYXRpb24gKG9y IGluIGEgcmVuYW1lIG9wZXJhdGlvbiB3aGljaCBvdmVyd3JpdGVzIGFuJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTg5OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZS5oOjE2OToKK15JICogZXhpc3RpbmcgZmlsZSkuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTkwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjE3 MDoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTE6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTcxOgorXkkgKiBJdCBpcyByZWNvbW1lbmRl ZCB0aGF0IHlvdSBub3QgdXNlIHRoZSBoYXJkX3JlbW92ZSQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDox NzI6CiteSSAqIG9wdGlvbi4gV2hlbiBoYXJkX3JlbW92ZSBpcyBzZXQsIHRoZSBmb2xsb3dpbmcg bGliYyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5MzogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxNzM6CiteSSAqIGZ1bmN0aW9ucyBmYWlsIG9uIHVu bGlua2VkIGZpbGVzIChyZXR1cm5pbmcgZXJybm8gb2YkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxOTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTc0 OgorXkkgKiBFTk9FTlQpOiByZWFkKDIpLCB3cml0ZSgyKSwgZnN5bmMoMiksIGNsb3NlKDIpLCBm KnhhdHRyKDIpLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5 NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxNzU6CiteSSAqIGZ0cnVuY2F0ZSgyKSwg ZnN0YXQoMiksIGZjaG1vZCgyKSwgZmNob3duKDIpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTk2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjE3NjoK K15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk3OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjE3NzoKK15JaW50IGhhcmRfcmVtb3ZlOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5OTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2UuaDoxNzk6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzIwMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxODA6Cite SSAqIEhvbm9yIHRoZSBzdF9pbm8gZmllbGQgaW4gdGhlIGZ1bmN0aW9ucyBnZXRhdHRyKCkgYW5k JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjAxOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZS5oOjE4MToKK15JICogZmlsbF9kaXIoKS4gVGhpcyB2YWx1ZSBp cyB1c2VkIHRvIGZpbGwgaW4gdGhlIHN0X2lubyBmaWVsZCQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDox ODI6CiteSSAqIGluIHRoZSBzdGF0KDIpLCBsc3RhdCgyKSwgZnN0YXQoMikgZnVuY3Rpb25zIGFu ZCB0aGUgZF9pbm8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy MDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTgzOgorXkkgKiBmaWVsZCBpbiB0aGUg cmVhZGRpcigyKSBmdW5jdGlvbi4gVGhlIGZpbGVzeXN0ZW0gZG9lcyBub3QkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlLmg6MTg0OgorXkkgKiBoYXZlIHRvIGd1YXJhbnRlZSB1bmlxdWVuZXNzLCBob3dldmVy IHNvbWUgYXBwbGljYXRpb25zJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjA1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjE4NToKK15JICogcmVseSBv biB0aGlzIHZhbHVlIGJlaW5nIHVuaXF1ZSBmb3IgdGhlIHdob2xlIGZpbGVzeXN0ZW0uJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjA2OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZS5oOjE4NjoKK15JICokCgpFUlJPUjogdHJhaWxpbmcgd2hpdGVzcGFjZQoj MjA3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjE4NzoKK15JICogTm90ZSB0aGF0IHRo aXMgZG9lcyAqbm90KiBhZmZlY3QgdGhlIGlub2RlIHRoYXQgbGliZnVzZSAkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlLmg6MTg3OgorXkkgKiBOb3RlIHRoYXQgdGhpcyBkb2VzICpub3QqIGFmZmVjdCB0aGUg aW5vZGUgdGhhdCBsaWJmdXNlICQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzIwODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxODg6CiteSSAqIGFuZCB0 aGUga2VybmVsIHVzZSBpbnRlcm5hbGx5IChhbHNvIGNhbGxlZCB0aGUgIm5vZGVpZCIpLiQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwOTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2UuaDoxODk6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzIxMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxOTA6Cite SWludCB1c2VfaW5vOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzIxMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxOTI6CiteSS8qKiQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxMzogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2UuaDoxOTM6CiteSSAqIElmIHVzZV9pbm8gb3B0aW9uIGlzIG5vdCBnaXZlbiwgc3Rp bGwgdHJ5IHRvIGZpbGwgaW4gdGhlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjE0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjE5NDoKK15JICogZF9p bm8gZmllbGQgaW4gcmVhZGRpcigyKS4gSWYgdGhlIG5hbWUgd2FzIHByZXZpb3VzbHkkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTU6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlLmg6MTk1OgorXkkgKiBsb29rZWQgdXAsIGFuZCBpcyBzdGlsbCBpbiB0aGUg Y2FjaGUsIHRoZSBpbm9kZSBudW1iZXIkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyMTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTk2OgorXkkgKiBm b3VuZCB0aGVyZSB3aWxsIGJlIHVzZWQuICBPdGhlcndpc2UgaXQgd2lsbCBiZSBzZXQgdG8gLTEu JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE3OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZS5oOjE5NzoKK15JICogSWYgdXNlX2lubyBvcHRpb24gaXMgZ2l2 ZW4sIHRoaXMgb3B0aW9uIGlzIGlnbm9yZWQuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjE4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjE5ODoKK15J ICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE5OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjE5OToKK15JaW50IHJlYWRkaXJfaW5vOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyMTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2UuaDoyMDE6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzIyMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoyMDI6CiteSSAq IFRoaXMgb3B0aW9uIGRpc2FibGVzIHRoZSB1c2Ugb2YgcGFnZSBjYWNoZSAoZmlsZSBjb250ZW50 IGNhY2hlKSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyMzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoyMDM6CiteSSAqIGluIHRoZSBrZXJuZWwgZm9y IHRoaXMgZmlsZXN5c3RlbS4gVGhpcyBoYXMgc2V2ZXJhbCBhZmZlY3RzOiQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyNDogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2UuaDoyMDQ6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjI1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjIwNToKK15JICogMS4gRWFj aCByZWFkKDIpIG9yIHdyaXRlKDIpIHN5c3RlbSBjYWxsIHdpbGwgaW5pdGlhdGUgb25lJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjI2OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZS5oOjIwNjoKK15JICogICAgb3IgbW9yZSByZWFkIG9yIHdyaXRlIG9wZXJh dGlvbnMsIGRhdGEgd2lsbCBub3QgYmUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyMjc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MjA3OgorXkkgKiAg ICBjYWNoZWQgaW4gdGhlIGtlcm5lbC4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyMjg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MjA4OgorXkkgKiQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyOTogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2UuaDoyMDk6CiteSSAqIDIuIFRoZSByZXR1cm4gdmFsdWUgb2YgdGhl IHJlYWQoKSBhbmQgd3JpdGUoKSBzeXN0ZW0gY2FsbHMkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyMzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MjEw OgorXkkgKiAgICB3aWxsIGNvcnJlc3BvbmQgdG8gdGhlIHJldHVybiB2YWx1ZXMgb2YgdGhlIHJl YWQgYW5kJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjMxOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjIxMToKK15JICogICAgd3JpdGUgb3BlcmF0aW9u cy4gVGhpcyBpcyB1c2VmdWwgZm9yIGV4YW1wbGUgaWYgdGhlJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjMyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5o OjIxMjoKK15JICogICAgZmlsZSBzaXplIGlzIG5vdCBrbm93biBpbiBhZHZhbmNlIChiZWZvcmUg cmVhZGluZyBpdCkuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MjMzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjIxMzoKK15JICokCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlLmg6MjE0OgorXkkgKiBJbnRlcm5hbGx5LCBlbmFibGluZyB0aGlzIG9wdGlvbiBjYXVz ZXMgZnVzZSB0byBzZXQgdGhlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjM1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjIxNToKK15JICogYGRpcmVj dF9pb2AgZmllbGQgb2YgYHN0cnVjdCBmdXNlX2ZpbGVfaW5mb2AgLSBvdmVyd3JpdGluZyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzNjogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2UuaDoyMTY6CiteSSAqIGFueSB2YWx1ZSB0aGF0IHdhcyBwdXQgdGhlcmUg YnkgdGhlIGZpbGUgc3lzdGVtLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzIzNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoyMTc6CiteSSAqLyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzODogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2UuaDoyMTg6CiteSWludCBkaXJlY3RfaW87JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZS5oOjIyMDoKK15JLyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjQxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjIyMToKK15JICogVGhpcyBvcHRp b24gZGlzYWJsZXMgZmx1c2hpbmcgdGhlIGNhY2hlIG9mIHRoZSBmaWxlJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQyOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZS5oOjIyMjoKK15JICogY29udGVudHMgb24gZXZlcnkgb3BlbigyKS4gIFRoaXMgc2hvdWxk IG9ubHkgYmUgZW5hYmxlZCBvbiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI0MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoyMjM6CiteSSAqIGZpbGVz eXN0ZW1zIHdoZXJlIHRoZSBmaWxlIGRhdGEgaXMgbmV2ZXIgY2hhbmdlZCQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0NDogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2UuaDoyMjQ6CiteSSAqIGV4dGVybmFsbHkgKG5vdCB0aHJvdWdoIHRoZSBtb3VudGVkIEZV U0UgZmlsZXN5c3RlbSkuICBUaHVzJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjQ1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjIyNToKK15JICogaXQg aXMgbm90IHN1aXRhYmxlIGZvciBuZXR3b3JrIGZpbGVzeXN0ZW1zIGFuZCBvdGhlciQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0NjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2UuaDoyMjY6CiteSSAqIGludGVybWVkaWF0ZSBmaWxlc3lzdGVtcy4kCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDc6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlLmg6MjI3OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI0ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoyMjg6CiteSSAq IE5PVEU6IGlmIHRoaXMgb3B0aW9uIGlzIG5vdCBzcGVjaWZpZWQgKGFuZCBuZWl0aGVyJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQ5OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZS5oOjIyOToKK15JICogZGlyZWN0X2lvKSBkYXRhIGlzIHN0aWxsIGNhY2hl ZCBhZnRlciB0aGUgb3BlbigyKSwgc28gYSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI1MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoyMzA6CiteSSAq IHJlYWQoMikgc3lzdGVtIGNhbGwgd2lsbCBub3QgYWx3YXlzIGluaXRpYXRlIGEgcmVhZCQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1MTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2UuaDoyMzE6CiteSSAqIG9wZXJhdGlvbi4kCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl Lmg6MjMyOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzI1MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoyMzM6CiteSSAqIEludGVybmFsbHks IGVuYWJsaW5nIHRoaXMgb3B0aW9uIGNhdXNlcyBmdXNlIHRvIHNldCB0aGUkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlLmg6MjM0OgorXkkgKiBga2VlcF9jYWNoZWAgZmllbGQgb2YgYHN0cnVjdCBmdXNlX2Zp bGVfaW5mb2AgLSBvdmVyd3JpdGluZyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI1NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoyMzU6CiteSSAqIGFu eSB2YWx1ZSB0aGF0IHdhcyBwdXQgdGhlcmUgYnkgdGhlIGZpbGUgc3lzdGVtLiQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1NjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2UuaDoyMzY6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI1NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoyMzc6CiteSWludCBr ZXJuZWxfY2FjaGU7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MjU5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjIzOToKK15JLyoqJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjYwOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZS5oOjI0MDoKK15JICogVGhpcyBvcHRpb24gaXMgYW4gYWx0ZXJuYXRpdmUgdG8gYGtl cm5lbF9jYWNoZWAuIEluc3RlYWQgb2YkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyNjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MjQxOgorXkkgKiB1 bmNvbmRpdGlvbmFsbHkga2VlcGluZyBjYWNoZWQgZGF0YSwgdGhlIGNhY2hlZCBkYXRhIGlzJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjYyOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZS5oOjI0MjoKK15JICogaW52YWxpZGF0ZWQgb24gb3BlbigyKSBpZiBp ZiB0aGUgbW9kaWZpY2F0aW9uIHRpbWUgb3IgdGhlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjYzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjI0MzoK K15JICogc2l6ZSBvZiB0aGUgZmlsZSBoYXMgY2hhbmdlZCBzaW5jZSBpdCB3YXMgbGFzdCBvcGVu ZWQuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY0OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjI0NDoKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5o OjI0NToKK15JaW50IGF1dG9fY2FjaGU7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjY3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjI0NzoKK15JLyoq JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY4OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZS5oOjI0ODoKK15JICogVGhlIHRpbWVvdXQgaW4gc2Vjb25kcyBm b3Igd2hpY2ggZmlsZSBhdHRyaWJ1dGVzIGFyZSBjYWNoZWQkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6 MjQ5OgorXkkgKiBmb3IgdGhlIHB1cnBvc2Ugb2YgY2hlY2tpbmcgaWYgYXV0b19jYWNoZSBzaG91 bGQgZmx1c2ggdGhlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MjcwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjI1MDoKK15JICogZmlsZSBkYXRhIG9u IG9wZW4uJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjcxOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjI1MToKK15JICovJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjcyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZS5oOjI1MjoKK15JaW50IGFjX2F0dHJfdGltZW91dF9zZXQ7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5o OjI1MzoKK15JZG91YmxlIGFjX2F0dHJfdGltZW91dDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyNzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MjU1 OgorXkkvKiokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzY6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MjU2OgorXkkgKiBJZiB0aGlzIG9wdGlvbiBp cyBnaXZlbiB0aGUgZmlsZS1zeXN0ZW0gaGFuZGxlcnMgZm9yIHRoZSQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2UuaDoyNTc6CiteSSAqIGZvbGxvd2luZyBvcGVyYXRpb25zIHdpbGwgbm90IHJlY2VpdmUgcGF0 aCBpbmZvcm1hdGlvbjokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyNzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MjU4OgorXkkgKiByZWFkLCB3cml0 ZSwgZmx1c2gsIHJlbGVhc2UsIGZzeW5jLCByZWFkZGlyLCByZWxlYXNlZGlyLCQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3OTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2UuaDoyNTk6CiteSSAqIGZzeW5jZGlyLCBsb2NrLCBpb2N0bCBhbmQgcG9sbC4kCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODA6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlLmg6MjYwOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI4MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoyNjE6Cite SSAqIEZvciB0aGUgdHJ1bmNhdGUsIGdldGF0dHIsIGNobW9kLCBjaG93biBhbmQgdXRpbWVucyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4MjogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2UuaDoyNjI6CiteSSAqIG9wZXJhdGlvbnMgdGhlIHBhdGggd2lsbCBi ZSBwcm92aWRlZCBvbmx5IGlmIHRoZSBzdHJ1Y3QkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyODM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MjYzOgor XkkgKiBmdXNlX2ZpbGVfaW5mbyBhcmd1bWVudCBpcyBOVUxMLiQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Uu aDoyNjQ6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzI4NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoyNjU6CiteSWludCBudWxscGF0aF9v azskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODc6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MjY3OgorXkkvKiokCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6 MjY4OgorXkkgKiBUaGUgcmVtYWluaW5nIG9wdGlvbnMgYXJlIHVzZWQgYnkgbGliZnVzZSBpbnRl cm5hbGx5IGFuZCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4 OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoyNjk6CiteSSAqIHNob3VsZCBub3QgYmUg dG91Y2hlZC4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTA6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MjcwOgorXkkgKi8kCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlLmg6MjcxOgorXklpbnQgc2hvd19oZWxwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI5MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoyNzI6Cite SWNoYXIgKm1vZHVsZXM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjkzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjI3MzoKK15JaW50IGRlYnVnOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyMDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2UuaDozMDA6CiteSS8qKiBHZXQgZmlsZSBhdHRyaWJ1dGVzLiQKCldB Uk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcgLyogb24gYSBzZXBhcmF0ZSBsaW5l CiMzMjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzAwOgorICAgICAgIC8qKiBHZXQg ZmlsZSBhdHRyaWJ1dGVzLgoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMzIxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjMwMToKK15JICokCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjI6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlLmg6MzAyOgorXkkgKiBTaW1pbGFyIHRvIHN0YXQoKS4gIFRoZSAnc3RfZGV2JyBh bmQgJ3N0X2Jsa3NpemUnIGZpZWxkcyBhcmUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMzMjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzAzOgorXkkg KiBpZ25vcmVkLiBUaGUgJ3N0X2lubycgZmllbGQgaXMgaWdub3JlZCBleGNlcHQgaWYgdGhlICd1 c2VfaW5vJyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyNDog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDozMDQ6CiteSSAqIG1vdW50IG9wdGlvbiBpcyBn aXZlbi4gSW4gdGhhdCBjYXNlIGl0IGlzIHBhc3NlZCB0byB1c2Vyc3BhY2UsJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzI1OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZS5oOjMwNToKK15JICogYnV0IGxpYmZ1c2UgYW5kIHRoZSBrZXJuZWwgd2lsbCBzdGls bCBhc3NpZ24gYSBkaWZmZXJlbnQkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzMjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzA2OgorXkkgKiBpbm9k ZSBmb3IgaW50ZXJuYWwgdXNlIChjYWxsZWQgdGhlICJub2RlaWQiKS4kCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlLmg6MzA3OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzMyODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDozMDg6CiteSSAqIGBmaWAgd2ls bCBhbHdheXMgYmUgTlVMTCBpZiB0aGUgZmlsZSBpcyBub3QgY3VycmVudGx5IG9wZW4sIGJ1dCQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyOTogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2UuaDozMDk6CiteSSAqIG1heSBhbHNvIGJlIE5VTEwgaWYgdGhlIGZp bGUgaXMgb3Blbi4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz MzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzEwOgorXkkgKi8kCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzE6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlLmg6MzExOgorXklpbnQgKCpnZXRhdHRyKSAoY29uc3QgY2hhciAqLCBzdHJ1Y3Qgc3Rh dCAqLCBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKmZpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMzMzM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzEz OgorXkkvKiogUmVhZCB0aGUgdGFyZ2V0IG9mIGEgc3ltYm9saWMgbGluayQKCldBUk5JTkc6IEJs b2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcgLyogb24gYSBzZXBhcmF0ZSBsaW5lCiMzMzM6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzEzOgorICAgICAgIC8qKiBSZWFkIHRoZSB0YXJn ZXQgb2YgYSBzeW1ib2xpYyBsaW5rCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzMzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzE0OgorXkkgKiQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzNTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2UuaDozMTU6CiteSSAqIFRoZSBidWZmZXIgc2hvdWxkIGJlIGZpbGxlZCB3 aXRoIGEgbnVsbCB0ZXJtaW5hdGVkIHN0cmluZy4gIFRoZSQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoz MTY6CiteSSAqIGJ1ZmZlciBzaXplIGFyZ3VtZW50IGluY2x1ZGVzIHRoZSBzcGFjZSBmb3IgdGhl IHRlcm1pbmF0aW5nJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MzM3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjMxNzoKK15JICogbnVsbCBjaGFyYWN0 ZXIuXklJZiB0aGUgbGlua25hbWUgaXMgdG9vIGxvbmcgdG8gZml0IGluIHRoZSQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzODogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2UuaDozMTg6CiteSSAqIGJ1ZmZlciwgaXQgc2hvdWxkIGJlIHRydW5jYXRlZC5eSVRo ZSByZXR1cm4gdmFsdWUgc2hvdWxkIGJlIDAkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMzMzk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzE5OgorXkkg KiBmb3Igc3VjY2Vzcy4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzNDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzIwOgorXkkgKi8kCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDE6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlLmg6MzIxOgorXklpbnQgKCpyZWFkbGluaykgKGNvbnN0IGNoYXIgKiwgY2hhciAq LCBzaXplX3QpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0 MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDozMjM6CiteSS8qKiBDcmVhdGUgYSBmaWxl IG5vZGUkCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2Vw YXJhdGUgbGluZQojMzQzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjMyMzoKKyAgICAg ICAvKiogQ3JlYXRlIGEgZmlsZSBub2RlCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMzNDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzI0OgorXkkgKiQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0NTogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2UuaDozMjU6CiteSSAqIFRoaXMgaXMgY2FsbGVkIGZvciBjcmVhdGlv biBvZiBhbGwgbm9uLWRpcmVjdG9yeSwgbm9uLXN5bWxpbmskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6 MzI2OgorXkkgKiBub2Rlcy4gIElmIHRoZSBmaWxlc3lzdGVtIGRlZmluZXMgYSBjcmVhdGUoKSBt ZXRob2QsIHRoZW4gZm9yJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMzQ3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjMyNzoKK15JICogcmVndWxhciBm aWxlcyB0aGF0IHdpbGwgYmUgY2FsbGVkIGluc3RlYWQuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMzQ4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjMy ODoKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQ5 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjMyOToKK15JaW50ICgqbWtub2QpIChjb25z dCBjaGFyICosIG1vZGVfdCwgZGV2X3QpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzM1MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDozMzE6CiteSS8q KiBDcmVhdGUgYSBkaXJlY3RvcnkkCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFk aW5nIC8qIG9uIGEgc2VwYXJhdGUgbGluZQojMzUxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZS5oOjMzMToKKyAgICAgICAvKiogQ3JlYXRlIGEgZGlyZWN0b3J5CgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl Lmg6MzMyOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzM1MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDozMzM6CiteSSAqIE5vdGUgdGhhdCB0 aGUgbW9kZSBhcmd1bWVudCBtYXkgbm90IGhhdmUgdGhlIHR5cGUgc3BlY2lmaWNhdGlvbiQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1NDogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2UuaDozMzQ6CiteSSAqIGJpdHMgc2V0LCBpLmUuIFNfSVNESVIobW9kZSkg Y2FuIGJlIGZhbHNlLiAgVG8gb2J0YWluIHRoZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzM1NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDozMzU6Cite SSAqIGNvcnJlY3QgZGlyZWN0b3J5IHR5cGUgYml0cyB1c2UgIG1vZGV8U19JRkRJUiQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1NjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2UuaDozMzY6CiteSSAqICovJAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNl IGEgdHJhaWxpbmcgKi8gb24gYSBzZXBhcmF0ZSBsaW5lCiMzNTY6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlLmg6MzM2OgorICAgICAgICAqICovCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMzNTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzM3Ogor XklpbnQgKCpta2RpcikgKGNvbnN0IGNoYXIgKiwgbW9kZV90KTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl Lmg6MzM5OgorXkkvKiogUmVtb3ZlIGEgZmlsZSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzM2MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDozNDA6 CiteSWludCAoKnVubGluaykgKGNvbnN0IGNoYXIgKik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMzYyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjM0 MjoKK15JLyoqIFJlbW92ZSBhIGRpcmVjdG9yeSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzM2MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDozNDM6 CiteSWludCAoKnJtZGlyKSAoY29uc3QgY2hhciAqKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMzNjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzQ1 OgorXkkvKiogQ3JlYXRlIGEgc3ltYm9saWMgbGluayAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM2NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoz NDY6CiteSWludCAoKnN5bWxpbmspIChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzY4OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZS5oOjM0ODoKK15JLyoqIFJlbmFtZSBhIGZpbGUkCgpXQVJOSU5HOiBCbG9j ayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJhdGUgbGluZQojMzY4OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjM0ODoKKyAgICAgICAvKiogUmVuYW1lIGEgZmlsZQoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzY5OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZS5oOjM0OToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMzNzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzUwOgor XkkgKiAqZmxhZ3MqIG1heSBiZSBgUkVOQU1FX0VYQ0hBTkdFYCBvciBgUkVOQU1FX05PUkVQTEFD RWAuIElmJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzcxOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjM1MToKK15JICogUkVOQU1FX05PUkVQTEFDRSBp cyBzcGVjaWZpZWQsIHRoZSBmaWxlc3lzdGVtIG11c3Qgbm90JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzcyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5o OjM1MjoKK15JICogb3ZlcndyaXRlICpuZXduYW1lKiBpZiBpdCBleGlzdHMgYW5kIHJldHVybiBh biBlcnJvciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM3Mzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDozNTM6CiteSSAqIGluc3RlYWQuIElmIGBSRU5B TUVfRVhDSEFOR0VgIGlzIHNwZWNpZmllZCwgdGhlIGZpbGVzeXN0ZW0kCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlLmg6MzU0OgorXkkgKiBtdXN0IGF0b21pY2FsbHkgZXhjaGFuZ2UgdGhlIHR3byBmaWxlcywg aS5lLiBib3RoIG11c3QkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzNzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzU1OgorXkkgKiBleGlzdCBhbmQg bmVpdGhlciBtYXkgYmUgZGVsZXRlZC4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMzNzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzU2OgorXkkgKi8k CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNzc6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzU3OgorXklpbnQgKCpyZW5hbWUpIChjb25zdCBjaGFyICos IGNvbnN0IGNoYXIgKiwgdW5zaWduZWQgaW50IGZsYWdzKTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNzk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6 MzU5OgorXkkvKiogQ3JlYXRlIGEgaGFyZCBsaW5rIHRvIGEgZmlsZSAqLyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM4MDogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2UuaDozNjA6CiteSWludCAoKmxpbmspIChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzgyOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZS5oOjM2MjoKK15JLyoqIENoYW5nZSB0aGUgcGVybWlzc2lvbiBi aXRzIG9mIGEgZmlsZSQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcgLyog b24gYSBzZXBhcmF0ZSBsaW5lCiMzODI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzYy OgorICAgICAgIC8qKiBDaGFuZ2UgdGhlIHBlcm1pc3Npb24gYml0cyBvZiBhIGZpbGUKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM4MzogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2UuaDozNjM6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMzg0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjM2NDoKK15JICog YGZpYCB3aWxsIGFsd2F5cyBiZSBOVUxMIGlmIHRoZSBmaWxlIGlzIG5vdCBjdXJyZW5sdHkgb3Bl biwgYnV0JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzg1OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjM2NToKK15JICogbWF5IGFsc28gYmUgTlVMTCBp ZiB0aGUgZmlsZSBpcyBvcGVuLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzM4NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDozNjY6CiteSSAqLyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM4NzogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2UuaDozNjc6CiteSWludCAoKmNobW9kKSAoY29uc3QgY2hhciAqLCBtb2Rl X3QsIHN0cnVjdCBmdXNlX2ZpbGVfaW5mbyAqZmkpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzM4OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDozNjk6 CiteSS8qKiBDaGFuZ2UgdGhlIG93bmVyIGFuZCBncm91cCBvZiBhIGZpbGUkCgpXQVJOSU5HOiBC bG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJhdGUgbGluZQojMzg5OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjM2OToKKyAgICAgICAvKiogQ2hhbmdlIHRoZSBv d25lciBhbmQgZ3JvdXAgb2YgYSBmaWxlCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMzOTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzcwOgorXkkgKiQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM5MTogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2UuaDozNzE6CiteSSAqIGBmaWAgd2lsbCBhbHdheXMgYmUgTlVMTCBp ZiB0aGUgZmlsZSBpcyBub3QgY3VycmVubHR5IG9wZW4sIGJ1dCQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM5MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Uu aDozNzI6CiteSSAqIG1heSBhbHNvIGJlIE5VTEwgaWYgdGhlIGZpbGUgaXMgb3Blbi4kCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzOTM6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlLmg6MzczOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzM5NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDozNzQ6CiteSSAq IFVubGVzcyBGVVNFX0NBUF9IQU5ETEVfS0lMTFBSSVYgaXMgZGlzYWJsZWQsIHRoaXMgbWV0aG9k IGlzJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzk1OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjM3NToKK15JICogZXhwZWN0ZWQgdG8gcmVzZXQgdGhl IHNldHVpZCBhbmQgc2V0Z2lkIGJpdHMuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMzk2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjM3NjoKK15JICov JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzk3OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZS5oOjM3NzoKK15JaW50ICgqY2hvd24pIChjb25zdCBjaGFyICos IHVpZF90LCBnaWRfdCwgc3RydWN0IGZ1c2VfZmlsZV9pbmZvICpmaSk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzk5OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZS5oOjM3OToKK15JLyoqIENoYW5nZSB0aGUgc2l6ZSBvZiBhIGZpbGUkCgpXQVJOSU5HOiBC bG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJhdGUgbGluZQojMzk5OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjM3OToKKyAgICAgICAvKiogQ2hhbmdlIHRoZSBz aXplIG9mIGEgZmlsZQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NDAwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjM4MDoKK15JICokCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0MDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlLmg6MzgxOgorXkkgKiBgZmlgIHdpbGwgYWx3YXlzIGJlIE5VTEwgaWYgdGhlIGZpbGUg aXMgbm90IGN1cnJlbmx0eSBvcGVuLCBidXQkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM0MDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzgyOgorXkkg KiBtYXkgYWxzbyBiZSBOVUxMIGlmIHRoZSBmaWxlIGlzIG9wZW4uJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDAzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZS5oOjM4MzoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM0MDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6Mzg0OgorXkkgKiBVbmxlc3MgRlVT RV9DQVBfSEFORExFX0tJTExQUklWIGlzIGRpc2FibGVkLCB0aGlzIG1ldGhvZCBpcyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQwNTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2UuaDozODU6CiteSSAqIGV4cGVjdGVkIHRvIHJlc2V0IHRoZSBzZXR1aWQgYW5k IHNldGdpZCBiaXRzLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzQwNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDozODY6CiteSSAqLyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQwNzogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2UuaDozODc6CiteSWludCAoKnRydW5jYXRlKSAoY29uc3QgY2hhciAqLCBvZmZfdCwg c3RydWN0IGZ1c2VfZmlsZV9pbmZvICpmaSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNDA5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjM4OToKK15J LyoqIE9wZW4gYSBmaWxlJAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlIGEgbGVhZGluZyAv KiBvbiBhIHNlcGFyYXRlIGxpbmUKIzQwOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoz ODk6CisgICAgICAgLyoqIE9wZW4gYSBmaWxlCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM0MTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzkwOgorXkkg KiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQxMTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2UuaDozOTE6CiteSSAqIE9wZW4gZmxhZ3MgYXJlIGF2YWlsYWJs ZSBpbiBmaS0+ZmxhZ3MuIFRoZSBmb2xsb3dpbmcgcnVsZXMkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0MTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6 MzkyOgorXkkgKiBhcHBseS4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM0MTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MzkzOgorXkkgKiQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQxNDogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2UuaDozOTQ6CiteSSAqICAtIENyZWF0aW9uIChPX0NSRUFULCBPX0VYQ0wsIE9f Tk9DVFRZKSBmbGFncyB3aWxsIGJlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNDE1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjM5NToKK15JICogICAg ZmlsdGVyZWQgb3V0IC8gaGFuZGxlZCBieSB0aGUga2VybmVsLiQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQxNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Uu aDozOTY6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NDE3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjM5NzoKK15JICogIC0gQWNjZXNzIG1v ZGVzIChPX1JET05MWSwgT19XUk9OTFksIE9fUkRXUiwgT19FWEVDLCBPX1NFQVJDSCkkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0MTg6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlLmg6Mzk4OgorXkkgKiAgICBzaG91bGQgYmUgdXNlZCBieSB0aGUgZmlsZXN5 c3RlbSB0byBjaGVjayBpZiB0aGUgb3BlcmF0aW9uIGlzJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojNDE5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjM5 OToKK15JICogICAgcGVybWl0dGVkLiAgSWYgdGhlIGBgLW8gZGVmYXVsdF9wZXJtaXNzaW9uc2Bg IG1vdW50IG9wdGlvbiBpcyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzQyMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo0MDA6CiteSSAqICAgIGdpdmVu LCB0aGlzIGNoZWNrIGlzIGFscmVhZHkgZG9uZSBieSB0aGUga2VybmVsIGJlZm9yZSBjYWxsaW5n JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDIxOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZS5oOjQwMToKK15JICogICAgb3BlbigpIGFuZCBtYXkgdGh1cyBi ZSBvbWl0dGVkIGJ5IHRoZSBmaWxlc3lzdGVtLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzQyMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo0MDI6Cite SSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDIzOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQwMzoKK15JICogIC0gV2hlbiB3cml0ZWJhY2sgY2Fj aGluZyBpcyBlbmFibGVkLCB0aGUga2VybmVsIG1heSBzZW5kJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDI0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5o OjQwNDoKK15JICogICAgcmVhZCByZXF1ZXN0cyBldmVuIGZvciBmaWxlcyBvcGVuZWQgd2l0aCBP X1dST05MWS4gVGhlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NDI1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQwNToKK15JICogICAgZmlsZXN5c3Rl bSBzaG91bGQgYmUgcHJlcGFyZWQgdG8gaGFuZGxlIHRoaXMuJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDI2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5o OjQwNjoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0 Mjc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDA3OgorXkkgKiAgLSBXaGVuIHdyaXRl YmFjayBjYWNoaW5nIGlzIGRpc2FibGVkLCB0aGUgZmlsZXN5c3RlbSBpcyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQyODogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2UuaDo0MDg6CiteSSAqICAgIGV4cGVjdGVkIHRvIHByb3Blcmx5IGhhbmRsZSB0aGUgT19B UFBFTkQgZmxhZyBhbmQgZW5zdXJlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNDI5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQwOToKK15JICogICAg dGhhdCBlYWNoIHdyaXRlIGlzIGFwcGVuZGluZyB0byB0aGUgZW5kIG9mIHRoZSBmaWxlLiQKCkVS Uk9SOiB0cmFpbGluZyB3aGl0ZXNwYWNlCiM0MzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl Lmg6NDEwOgorXkkgKiAkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM0MzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDEwOgorXkkgKiAkCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0MzI6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlLmg6NDEyOgorXkkgKiAgICBoYW5kbGUgT19BUFBFTkQuIEhvd2V2ZXIsIHVubGVz cyBhbGwgY2hhbmdlcyB0byB0aGUgZmlsZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzQzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo0MTM6CiteSSAq ICAgIGNvbWUgdGhyb3VnaCB0aGUga2VybmVsIHRoaXMgd2lsbCBub3Qgd29yayByZWxpYWJseS4g VGhlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDM0OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQxNDoKK15JICogICAgZmlsZXN5c3RlbSBzaG91bGQg dGh1cyBlaXRoZXIgaWdub3JlIHRoZSBPX0FQUEVORCBmbGFnJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDM1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5o OjQxNToKK15JICogICAgKGFuZCBsZXQgdGhlIGtlcm5lbCBoYW5kbGUgaXQpLCBvciByZXR1cm4g YW4gZXJyb3IkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0MzY6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDE2OgorXkkgKiAgICAoaW5kaWNhdGluZyB0 aGF0IHJlbGlhYmx5IE9fQVBQRU5EIGlzIG5vdCBhdmFpbGFibGUpLiQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQzNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2UuaDo0MTc6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojNDM4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQxODoKK15JICogRmlsZXN5c3Rl bSBtYXkgc3RvcmUgYW4gYXJiaXRyYXJ5IGZpbGUgaGFuZGxlIChwb2ludGVyLCQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQzOTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2UuaDo0MTk6CiteSSAqIGluZGV4LCBldGMpIGluIGZpLT5maCwgYW5kIHVzZSB0aGlz IGluIG90aGVyIGFsbCBvdGhlciBmaWxlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojNDQwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQyMDoKK15JICog b3BlcmF0aW9ucyAocmVhZCwgd3JpdGUsIGZsdXNoLCByZWxlYXNlLCBmc3luYykuJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDQxOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZS5oOjQyMToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM0NDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDIyOgorXkkgKiBG aWxlc3lzdGVtIG1heSBhbHNvIGltcGxlbWVudCBzdGF0ZWxlc3MgZmlsZSBJL08gYW5kIG5vdCBz dG9yZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ0MzogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo0MjM6CiteSSAqIGFueXRoaW5nIGluIGZpLT5maC4k CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NDQ6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDI0OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzQ0NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo0MjU6 CiteSSAqIFRoZXJlIGFyZSBhbHNvIHNvbWUgZmxhZ3MgKGRpcmVjdF9pbywga2VlcF9jYWNoZSkg d2hpY2ggdGhlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDQ2 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQyNjoKK15JICogZmlsZXN5c3RlbSBtYXkg c2V0IGluIGZpLCB0byBjaGFuZ2UgdGhlIHdheSB0aGUgZmlsZSBpcyBvcGVuZWQuJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDQ3OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZS5oOjQyNzoKK15JICogU2VlIGZ1c2VfZmlsZV9pbmZvIHN0cnVjdHVyZSBpbiA8 ZnVzZV9jb21tb24uaD4gZm9yIG1vcmUgZGV0YWlscy4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM0NDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDI4 OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ0OTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo0Mjk6CiteSSAqIElmIHRoaXMgcmVxdWVzdCBp cyBhbnN3ZXJlZCB3aXRoIGFuIGVycm9yIGNvZGUgb2YgRU5PU1lTJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDUwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZS5oOjQzMDoKK15JICogYW5kIEZVU0VfQ0FQX05PX09QRU5fU1VQUE9SVCBpcyBzZXQgaW4kCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NTE6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlLmg6NDMxOgorXkkgKiBgZnVzZV9jb25uX2luZm8uY2FwYWJsZWAsIHRo aXMgaXMgdHJlYXRlZCBhcyBzdWNjZXNzIGFuZCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzQ1MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo0MzI6Cite SSAqIGZ1dHVyZSBjYWxscyB0byBvcGVuIHdpbGwgYWxzbyBzdWNjZWVkIHdpdGhvdXQgYmVpbmcg c2VuZCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ1MzogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo0MzM6CiteSSAqIHRvIHRoZSBmaWxlc3lzdGVtIHBy b2Nlc3MuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDU0OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQzNDoKK15JICokCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl Lmg6NDM1OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM0NTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDM2OgorXklpbnQgKCpvcGVuKSAo Y29uc3QgY2hhciAqLCBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKik7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDU4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZS5oOjQzODoKK15JLyoqIFJlYWQgZGF0YSBmcm9tIGFuIG9wZW4gZmlsZSQKCldBUk5JTkc6IEJs b2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcgLyogb24gYSBzZXBhcmF0ZSBsaW5lCiM0NTg6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDM4OgorICAgICAgIC8qKiBSZWFkIGRhdGEgZnJv bSBhbiBvcGVuIGZpbGUKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzQ1OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo0Mzk6CiteSSAqJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDYwOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZS5oOjQ0MDoKK15JICogUmVhZCBzaG91bGQgcmV0dXJuIGV4YWN0bHkgdGhlIG51bWJl ciBvZiBieXRlcyByZXF1ZXN0ZWQgZXhjZXB0JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNDYxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQ0MToKK15J ICogb24gRU9GIG9yIGVycm9yLCBvdGhlcndpc2UgdGhlIHJlc3Qgb2YgdGhlIGRhdGEgd2lsbCBi ZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ2MjogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo0NDI6CiteSSAqIHN1YnN0aXR1dGVkIHdpdGggemVyb2Vz Ll5JIEFuIGV4Y2VwdGlvbiB0byB0aGlzIGlzIHdoZW4gdGhlJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDYzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5o OjQ0MzoKK15JICogJ2RpcmVjdF9pbycgbW91bnQgb3B0aW9uIGlzIHNwZWNpZmllZCwgaW4gd2hp Y2ggY2FzZSB0aGUgcmV0dXJuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNDY0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQ0NDoKK15JICogdmFsdWUg b2YgdGhlIHJlYWQgc3lzdGVtIGNhbGwgd2lsbCByZWZsZWN0IHRoZSByZXR1cm4gdmFsdWUgb2Yk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NjU6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDQ1OgorXkkgKiB0aGlzIG9wZXJhdGlvbi4kCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NjY6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlLmg6NDQ2OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM0Njc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDQ3OgorXklpbnQg KCpyZWFkKSAoY29uc3QgY2hhciAqLCBjaGFyICosIHNpemVfdCwgb2ZmX3QsJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDY4OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZS5oOjQ0ODoKK15JXkkgICAgIHN0cnVjdCBmdXNlX2ZpbGVfaW5mbyAqKTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NzA6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlLmg6NDUwOgorXkkvKiogV3JpdGUgZGF0YSB0byBhbiBvcGVuIGZpbGUkCgpX QVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJhdGUgbGlu ZQojNDcwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQ1MDoKKyAgICAgICAvKiogV3Jp dGUgZGF0YSB0byBhbiBvcGVuIGZpbGUKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzQ3MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo0NTE6CiteSSAqJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDcyOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZS5oOjQ1MjoKK15JICogV3JpdGUgc2hvdWxkIHJldHVybiBleGFjdGx5 IHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVxdWVzdGVkJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNDczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQ1MzoK K15JICogZXhjZXB0IG9uIGVycm9yLl5JIEFuIGV4Y2VwdGlvbiB0byB0aGlzIGlzIHdoZW4gdGhl ICdkaXJlY3RfaW8nJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NDc0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQ1NDoKK15JICogbW91bnQgb3B0aW9u IGlzIHNwZWNpZmllZCAoc2VlIHJlYWQgb3BlcmF0aW9uKS4kCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6 NDU1OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ3 NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo0NTY6CiteSSAqIFVubGVzcyBGVVNFX0NB UF9IQU5ETEVfS0lMTFBSSVYgaXMgZGlzYWJsZWQsIHRoaXMgbWV0aG9kIGlzJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDc3OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZS5oOjQ1NzoKK15JICogZXhwZWN0ZWQgdG8gcmVzZXQgdGhlIHNldHVpZCBhbmQgc2V0 Z2lkIGJpdHMuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDc4 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQ1ODoKK15JICovJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDc5OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZS5oOjQ1OToKK15JaW50ICgqd3JpdGUpIChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwg c2l6ZV90LCBvZmZfdCwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM0ODA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDYwOgorXkleSSAgICAgIHN0cnVj dCBmdXNlX2ZpbGVfaW5mbyAqKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM0ODI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDYyOgorXkkvKiogR2V0 IGZpbGUgc3lzdGVtIHN0YXRpc3RpY3MkCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBs ZWFkaW5nIC8qIG9uIGEgc2VwYXJhdGUgbGluZQojNDgyOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZS5oOjQ2MjoKKyAgICAgICAvKiogR2V0IGZpbGUgc3lzdGVtIHN0YXRpc3RpY3MKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ4MzogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2UuaDo0NjM6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojNDg0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQ2NDoKK15JICog VGhlICdmX2ZhdmFpbCcsICdmX2ZzaWQnIGFuZCAnZl9mbGFnJyBmaWVsZHMgYXJlIGlnbm9yZWQk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0ODU6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDY1OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM0ODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDY2 OgorXklpbnQgKCpzdGF0ZnMpIChjb25zdCBjaGFyICosIHN0cnVjdCBzdGF0dmZzICopOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ4ODogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2UuaDo0Njg6CiteSS8qKiBQb3NzaWJseSBmbHVzaCBjYWNoZWQgZGF0YSQK CldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcgLyogb24gYSBzZXBhcmF0ZSBs aW5lCiM0ODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDY4OgorICAgICAgIC8qKiBQ b3NzaWJseSBmbHVzaCBjYWNoZWQgZGF0YQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojNDg5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQ2OToKK15JICok CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0OTA6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDcwOgorXkkgKiBCSUcgTk9URTogVGhpcyBpcyBub3QgZXF1 aXZhbGVudCB0byBmc3luYygpLiAgSXQncyBub3QgYSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzQ5MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo0NzE6 CiteSSAqIHJlcXVlc3QgdG8gc3luYyBkaXJ0eSBkYXRhLiQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ5MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo0 NzI6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDkz OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQ3MzoKK15JICogRmx1c2ggaXMgY2FsbGVk IG9uIGVhY2ggY2xvc2UoKSBvZiBhIGZpbGUgZGVzY3JpcHRvciwgYXMgb3Bwb3NlZCB0byQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ5NDogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2UuaDo0NzQ6CiteSSAqIHJlbGVhc2Ugd2hpY2ggaXMgY2FsbGVkIG9uIHRo ZSBjbG9zZSBvZiB0aGUgbGFzdCBmaWxlIGRlc2NyaXB0b3IgZm9yJAoKRVJST1I6IHRyYWlsaW5n IHdoaXRlc3BhY2UKIzQ5NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo0NzU6CiteSSAq IGEgZmlsZS4gIFVuZGVyIExpbnV4LCBlcnJvcnMgcmV0dXJuZWQgYnkgZmx1c2goKSB3aWxsIGJl IHBhc3NlZCB0byAkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0 OTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDc1OgorXkkgKiBhIGZpbGUuICBVbmRl ciBMaW51eCwgZXJyb3JzIHJldHVybmVkIGJ5IGZsdXNoKCkgd2lsbCBiZSBwYXNzZWQgdG8gJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDk2OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZS5oOjQ3NjoKK15JICogdXNlcnNwYWNlIGFzIGVycm9ycyBmcm9tIGNs b3NlKCksIHNvIGZsdXNoKCkgaXMgYSBnb29kIHBsYWNlIHRvIHdyaXRlJAoKRVJST1I6IHRyYWls aW5nIHdoaXRlc3BhY2UKIzQ5NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo0Nzc6Cite SSAqIGJhY2sgYW55IGNhY2hlZCBkaXJ0eSBkYXRhLiBIb3dldmVyLCBtYW55IGFwcGxpY2F0aW9u cyBpZ25vcmUgZXJyb3JzICQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzQ5NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo0Nzc6CiteSSAqIGJhY2sgYW55 IGNhY2hlZCBkaXJ0eSBkYXRhLiBIb3dldmVyLCBtYW55IGFwcGxpY2F0aW9ucyBpZ25vcmUgZXJy b3JzICQKCldBUk5JTkc6IGxpbmUgb3ZlciA4MCBjaGFyYWN0ZXJzCiM0OTg6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlLmg6NDc4OgorICAgICAgICAqIG9uIGNsb3NlKCksIGFuZCBvbiBub24t TGludXggc3lzdGVtcywgY2xvc2UoKSBtYXkgc3VjY2VlZCBldmVuIGlmIGZsdXNoKCkKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ5ODogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2UuaDo0Nzg6CiteSSAqIG9uIGNsb3NlKCksIGFuZCBvbiBub24tTGludXggc3lz dGVtcywgY2xvc2UoKSBtYXkgc3VjY2VlZCBldmVuIGlmIGZsdXNoKCkkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0OTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlLmg6NDc5OgorXkkgKiByZXR1cm5zIGFuIGVycm9yLiBGb3IgdGhlc2UgcmVhc29ucywgZmls ZXN5c3RlbXMgc2hvdWxkIG5vdCBhc3N1bWUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM1MDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDgwOgorXkkg KiB0aGF0IGVycm9ycyByZXR1cm5lZCBieSBmbHVzaCB3aWxsIGV2ZXIgYmUgbm90aWNlZCBvciBl dmVuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTAxOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQ4MToKK15JICogZGVsaXZlcmVkLiQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzUwMjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2UuaDo0ODI6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNTAzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQ4MzoKK15JICogTk9U RTogVGhlIGZsdXNoKCkgbWV0aG9kIG1heSBiZSBjYWxsZWQgbW9yZSB0aGFuIG9uY2UgZm9yIGVh Y2gkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MDQ6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDg0OgorXkkgKiBvcGVuKCkuICBUaGlzIGhhcHBlbnMg aWYgbW9yZSB0aGFuIG9uZSBmaWxlIGRlc2NyaXB0b3IgcmVmZXJzIHRvIGFuJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTA1OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZS5oOjQ4NToKK15JICogb3BlbiBmaWxlIGhhbmRsZSwgZS5nLiBkdWUgdG8gZHVwKCks IGR1cDIoKSBvciBmb3JrKCkgY2FsbHMuICBJdCBpcyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzUwNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo0ODY6 CiteSSAqIG5vdCBwb3NzaWJsZSB0byBkZXRlcm1pbmUgaWYgYSBmbHVzaCBpcyBmaW5hbCwgc28g ZWFjaCBmbHVzaCBzaG91bGQkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM1MDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDg3OgorXkkgKiBiZSB0cmVh dGVkIGVxdWFsbHkuICBNdWx0aXBsZSB3cml0ZS1mbHVzaCBzZXF1ZW5jZXMgYXJlIHJlbGF0aXZl bHkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MDg6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDg4OgorXkkgKiByYXJlLCBzbyB0aGlzIHNob3VsZG4n dCBiZSBhIHByb2JsZW0uJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojNTA5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQ4OToKK15JICokCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MTA6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlLmg6NDkwOgorXkkgKiBGaWxlc3lzdGVtcyBzaG91bGRuJ3QgYXNzdW1lIHRoYXQg Zmx1c2ggd2lsbCBiZSBjYWxsZWQgYXQgYW55JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNTExOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQ5MToKK15J ICogcGFydGljdWxhciBwb2ludC4gIEl0IG1heSBiZSBjYWxsZWQgbW9yZSB0aW1lcyB0aGFuIGV4 cGVjdGVkLCBvciBub3QkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM1MTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDkyOgorXkkgKiBhdCBhbGwuJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTEzOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZS5oOjQ5MzoKK15JICokCgpXQVJOSU5HOiBsaW5lIG92ZXIgODAgY2hh cmFjdGVycwojNTE0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQ5NDoKKyAgICAgICAg KiBbY2xvc2VdOiBodHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvOTY5OTkxOTc5 OS9mdW5jdGlvbnMvY2xvc2UuaHRtbAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNTE0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjQ5NDoKK15JICogW2Ns b3NlXTogaHR0cDovL3B1YnMub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzk2OTk5MTk3OTkvZnVu Y3Rpb25zL2Nsb3NlLmh0bWwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM1MTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NDk1OgorXkkgKi8kCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MTY6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlLmg6NDk2OgorXklpbnQgKCpmbHVzaCkgKGNvbnN0IGNoYXIgKiwgc3RydWN0 IGZ1c2VfZmlsZV9pbmZvICopOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzUxODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo0OTg6CiteSS8qKiBSZWxl YXNlIGFuIG9wZW4gZmlsZSQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcg Lyogb24gYSBzZXBhcmF0ZSBsaW5lCiM1MTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6 NDk4OgorICAgICAgIC8qKiBSZWxlYXNlIGFuIG9wZW4gZmlsZQoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTE5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5o OjQ5OToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1 MjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NTAwOgorXkkgKiBSZWxlYXNlIGlzIGNh bGxlZCB3aGVuIHRoZXJlIGFyZSBubyBtb3JlIHJlZmVyZW5jZXMgdG8gYW4gb3BlbiQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzUyMTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2UuaDo1MDE6CiteSSAqIGZpbGU6IGFsbCBmaWxlIGRlc2NyaXB0b3JzIGFyZSBj bG9zZWQgYW5kIGFsbCBtZW1vcnkgbWFwcGluZ3MkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM1MjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NTAyOgor XkkgKiBhcmUgdW5tYXBwZWQuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNTIzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjUwMzoKK15JICokCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MjQ6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlLmg6NTA0OgorXkkgKiBGb3IgZXZlcnkgb3BlbigpIGNhbGwgdGhlcmUgd2ls bCBiZSBleGFjdGx5IG9uZSByZWxlYXNlKCkgY2FsbCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzUyNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo1MDU6 CiteSSAqIHdpdGggdGhlIHNhbWUgZmxhZ3MgYW5kIGZpbGUgaGFuZGxlLiAgSXQgaXMgcG9zc2li bGUgdG8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MjY6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NTA2OgorXkkgKiBoYXZlIGEgZmlsZSBvcGVuZWQg bW9yZSB0aGFuIG9uY2UsIGluIHdoaWNoIGNhc2Ugb25seSB0aGUgbGFzdCQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzUyNzogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2UuaDo1MDc6CiteSSAqIHJlbGVhc2Ugd2lsbCBtZWFuLCB0aGF0IG5vIG1vcmUgcmVhZHMv d3JpdGVzIHdpbGwgaGFwcGVuIG9uIHRoZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzUyODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo1MDg6CiteSSAq IGZpbGUuICBUaGUgcmV0dXJuIHZhbHVlIG9mIHJlbGVhc2UgaXMgaWdub3JlZC4kCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1Mjk6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlLmg6NTA5OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM1MzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NTEwOgorXklpbnQg KCpyZWxlYXNlKSAoY29uc3QgY2hhciAqLCBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKik7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTMyOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZS5oOjUxMjoKK15JLyoqIFN5bmNocm9uaXplIGZpbGUgY29udGVudHMkCgpX QVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJhdGUgbGlu ZQojNTMyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjUxMjoKKyAgICAgICAvKiogU3lu Y2hyb25pemUgZmlsZSBjb250ZW50cwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNTMzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjUxMzoKK15JICokCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MzQ6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlLmg6NTE0OgorXkkgKiBJZiB0aGUgZGF0YXN5bmMgcGFyYW1ldGVyIGlz IG5vbi16ZXJvLCB0aGVuIG9ubHkgdGhlIHVzZXIgZGF0YSQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzUzNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo1 MTU6CiteSSAqIHNob3VsZCBiZSBmbHVzaGVkLCBub3QgdGhlIG1ldGEgZGF0YS4kCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MzY6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlLmg6NTE2OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM1Mzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NTE3OgorXklpbnQg KCpmc3luYykgKGNvbnN0IGNoYXIgKiwgaW50LCBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKik7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTM5OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZS5oOjUxOToKK15JLyoqIFNldCBleHRlbmRlZCBhdHRyaWJ1dGVzICov JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTQwOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZS5oOjUyMDoKK15JaW50ICgqc2V0eGF0dHIpIChjb25zdCBjaGFy ICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBzaXplX3QsIGludCk7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTQyOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZS5oOjUyMjoKK15JLyoqIEdldCBleHRlbmRlZCBhdHRyaWJ1dGVzICovJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTQzOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZS5oOjUyMzoKK15JaW50ICgqZ2V0eGF0dHIpIChjb25zdCBjaGFyICosIGNvbnN0 IGNoYXIgKiwgY2hhciAqLCBzaXplX3QpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzU0NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo1MjU6CiteSS8q KiBMaXN0IGV4dGVuZGVkIGF0dHJpYnV0ZXMgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM1NDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NTI2Ogor XklpbnQgKCpsaXN0eGF0dHIpIChjb25zdCBjaGFyICosIGNoYXIgKiwgc2l6ZV90KTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1NDg6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlLmg6NTI4OgorXkkvKiogUmVtb3ZlIGV4dGVuZGVkIGF0dHJpYnV0ZXMgKi8k CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1NDk6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NTI5OgorXklpbnQgKCpyZW1vdmV4YXR0cikgKGNvbnN0IGNo YXIgKiwgY29uc3QgY2hhciAqKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM1NTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NTMxOgorXkkvKiogT3Bl biBkaXJlY3RvcnkkCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9u IGEgc2VwYXJhdGUgbGluZQojNTUxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjUzMToK KyAgICAgICAvKiogT3BlbiBkaXJlY3RvcnkKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzU1MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo1MzI6CiteSSAq JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTUzOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZS5oOjUzMzoKK15JICogVW5sZXNzIHRoZSAnZGVmYXVsdF9wZXJt aXNzaW9ucycgbW91bnQgb3B0aW9uIGlzIGdpdmVuLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzU1NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo1MzQ6 CiteSSAqIHRoaXMgbWV0aG9kIHNob3VsZCBjaGVjayBpZiBvcGVuZGlyIGlzIHBlcm1pdHRlZCBm b3IgdGhpcyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU1NTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo1MzU6CiteSSAqIGRpcmVjdG9yeS4gT3B0aW9u YWxseSBvcGVuZGlyIG1heSBhbHNvIHJldHVybiBhbiBhcmJpdHJhcnkkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1NTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlLmg6NTM2OgorXkkgKiBmaWxlaGFuZGxlIGluIHRoZSBmdXNlX2ZpbGVfaW5mbyBzdHJ1Y3R1 cmUsIHdoaWNoIHdpbGwgYmUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM1NTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NTM3OgorXkkgKiBwYXNzZWQg dG8gcmVhZGRpciwgcmVsZWFzZWRpciBhbmQgZnN5bmNkaXIuJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTU4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5o OjUzODoKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NTU5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjUzOToKK15JaW50ICgqb3BlbmRpcikg KGNvbnN0IGNoYXIgKiwgc3RydWN0IGZ1c2VfZmlsZV9pbmZvICopOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU2MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2UuaDo1NDE6CiteSS8qKiBSZWFkIGRpcmVjdG9yeSQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRz IHVzZSBhIGxlYWRpbmcgLyogb24gYSBzZXBhcmF0ZSBsaW5lCiM1NjE6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlLmg6NTQxOgorICAgICAgIC8qKiBSZWFkIGRpcmVjdG9yeQoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTYyOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZS5oOjU0MjoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM1NjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NTQzOgorXkkgKiBUaGUg ZmlsZXN5c3RlbSBtYXkgY2hvb3NlIGJldHdlZW4gdHdvIG1vZGVzIG9mIG9wZXJhdGlvbjokCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1NjQ6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlLmg6NTQ0OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzU2NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo1NDU6Cite SSAqIDEpIFRoZSByZWFkZGlyIGltcGxlbWVudGF0aW9uIGlnbm9yZXMgdGhlIG9mZnNldCBwYXJh bWV0ZXIsIGFuZCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU2 NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo1NDY6CiteSSAqIHBhc3NlcyB6ZXJvIHRv IHRoZSBmaWxsZXIgZnVuY3Rpb24ncyBvZmZzZXQuICBUaGUgZmlsbGVyJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTY3OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZS5oOjU0NzoKK15JICogZnVuY3Rpb24gd2lsbCBub3QgcmV0dXJuICcxJyAodW5sZXNzIGFu IGVycm9yIGhhcHBlbnMpLCBzbyB0aGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM1Njg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NTQ4OgorXkkgKiB3 aG9sZSBkaXJlY3RvcnkgaXMgcmVhZCBpbiBhIHNpbmdsZSByZWFkZGlyIG9wZXJhdGlvbi4kCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1Njk6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlLmg6NTQ5OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzU3MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo1NTA6Cite SSAqIDIpIFRoZSByZWFkZGlyIGltcGxlbWVudGF0aW9uIGtlZXBzIHRyYWNrIG9mIHRoZSBvZmZz ZXRzIG9mIHRoZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU3 MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo1NTE6CiteSSAqIGRpcmVjdG9yeSBlbnRy aWVzLiAgSXQgdXNlcyB0aGUgb2Zmc2V0IHBhcmFtZXRlciBhbmQgYWx3YXlzJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTcyOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZS5oOjU1MjoKK15JICogcGFzc2VzIG5vbi16ZXJvIG9mZnNldCB0byB0aGUgZmlsbGVy IGZ1bmN0aW9uLiAgV2hlbiB0aGUgYnVmZmVyJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNTczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjU1MzoKK15J ICogaXMgZnVsbCAob3IgYW4gZXJyb3IgaGFwcGVucykgdGhlIGZpbGxlciBmdW5jdGlvbiB3aWxs IHJldHVybiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU3NDog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo1NTQ6CiteSSAqICcxJy4kCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1NzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlLmg6NTU1OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM1NzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NTU2OgorXklpbnQgKCpy ZWFkZGlyKSAoY29uc3QgY2hhciAqLCB2b2lkICosIGZ1c2VfZmlsbF9kaXJfdCwgb2ZmX3QsJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTc3OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZS5oOjU1NzoKK15JXkleSXN0cnVjdCBmdXNlX2ZpbGVfaW5mbyAqLCBl bnVtIGZ1c2VfcmVhZGRpcl9mbGFncyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojNTc5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjU1OToKK15JLyoq IFJlbGVhc2UgZGlyZWN0b3J5JAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlIGEgbGVhZGlu ZyAvKiBvbiBhIHNlcGFyYXRlIGxpbmUKIzU3OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Uu aDo1NTk6CisgICAgICAgLyoqIFJlbGVhc2UgZGlyZWN0b3J5CgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1ODA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6 NTYwOgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1 ODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NTYxOgorXklpbnQgKCpyZWxlYXNlZGly KSAoY29uc3QgY2hhciAqLCBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKik7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTgzOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZS5oOjU2MzoKK15JLyoqIFN5bmNocm9uaXplIGRpcmVjdG9yeSBjb250ZW50cyQKCldBUk5J Tkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcgLyogb24gYSBzZXBhcmF0ZSBsaW5lCiM1 ODM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NTYzOgorICAgICAgIC8qKiBTeW5jaHJv bml6ZSBkaXJlY3RvcnkgY29udGVudHMKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzU4NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo1NjQ6CiteSSAqJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTg1OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZS5oOjU2NToKK15JICogSWYgdGhlIGRhdGFzeW5jIHBhcmFtZXRlciBp cyBub24temVybywgdGhlbiBvbmx5IHRoZSB1c2VyIGRhdGEkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1ODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6 NTY2OgorXkkgKiBzaG91bGQgYmUgZmx1c2hlZCwgbm90IHRoZSBtZXRhIGRhdGEkCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1ODc6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlLmg6NTY3OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM1ODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NTY4OgorXklpbnQg KCpmc3luY2RpcikgKGNvbnN0IGNoYXIgKiwgaW50LCBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKik7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTkwOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZS5oOjU3MDoKK15JLyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojNTkxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjU3 MToKK15JICogSW5pdGlhbGl6ZSBmaWxlc3lzdGVtJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNTkyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjU3MjoK K15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1OTM6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NTczOgorXkkgKiBUaGUgcmV0dXJuIHZhbHVlIHdp bGwgcGFzc2VkIGluIHRoZSBgcHJpdmF0ZV9kYXRhYCBmaWVsZCBvZiQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU5NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2UuaDo1NzQ6CiteSSAqIGBzdHJ1Y3QgZnVzZV9jb250ZXh0YCB0byBhbGwgZmlsZSBvcGVyYXRp b25zLCBhbmQgYXMgYSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzU5NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo1NzU6CiteSSAqIHBhcmFtZXRlciB0 byB0aGUgZGVzdHJveSgpIG1ldGhvZC4gSXQgb3ZlcnJpZGVzIHRoZSBpbml0aWFsJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTk2OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZS5oOjU3NjoKK15JICogdmFsdWUgcHJvdmlkZWQgdG8gZnVzZV9tYWluKCkgLyBm dXNlX25ldygpLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU5 NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo1Nzc6CiteSSAqLyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU5ODogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2UuaDo1Nzg6CiteSXZvaWQgKigqaW5pdCkgKHN0cnVjdCBmdXNlX2Nvbm5faW5mbyAqY29u biwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1OTk6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NTc5OgorXkleSSAgICAgICBzdHJ1Y3QgZnVzZV9jb25m aWcgKmNmZyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjAx OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjU4MToKK15JLyoqJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjAyOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZS5oOjU4MjoKK15JICogQ2xlYW4gdXAgZmlsZXN5c3RlbSQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYwMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Uu aDo1ODM6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NjA0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjU4NDoKK15JICogQ2FsbGVkIG9uIGZp bGVzeXN0ZW0gZXhpdC4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM2MDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NTg1OgorXkkgKi8kCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2MDY6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlLmg6NTg2OgorXkl2b2lkICgqZGVzdHJveSkgKHZvaWQgKnByaXZhdGVfZGF0YSk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjA4OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZS5oOjU4ODoKK15JLyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojNjA5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjU4 OToKK15JICogQ2hlY2sgZmlsZSBhY2Nlc3MgcGVybWlzc2lvbnMkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2MTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl Lmg6NTkwOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzYxMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo1OTE6CiteSSAqIFRoaXMgd2lsbCBi ZSBjYWxsZWQgZm9yIHRoZSBhY2Nlc3MoKSBzeXN0ZW0gY2FsbC4gIElmIHRoZSQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYxMjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2UuaDo1OTI6CiteSSAqICdkZWZhdWx0X3Blcm1pc3Npb25zJyBtb3VudCBvcHRpb24g aXMgZ2l2ZW4sIHRoaXMgbWV0aG9kIGlzIG5vdCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzYxMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo1OTM6Cite SSAqIGNhbGxlZC4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2 MTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NTk0OgorXkkgKiQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYxNTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2UuaDo1OTU6CiteSSAqIFRoaXMgbWV0aG9kIGlzIG5vdCBjYWxsZWQgdW5kZXIgTGludXgg a2VybmVsIHZlcnNpb25zIDIuNC54JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNjE2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjU5NjoKK15JICovJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjE3OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZS5oOjU5NzoKK15JaW50ICgqYWNjZXNzKSAoY29uc3QgY2hhciAqLCBp bnQpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYxOTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo1OTk6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYyMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Uu aDo2MDA6CiteSSAqIENyZWF0ZSBhbmQgb3BlbiBhIGZpbGUkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2MjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6 NjAxOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYy MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2MDI6CiteSSAqIElmIHRoZSBmaWxlIGRv ZXMgbm90IGV4aXN0LCBmaXJzdCBjcmVhdGUgaXQgd2l0aCB0aGUgc3BlY2lmaWVkJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjIzOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZS5oOjYwMzoKK15JICogbW9kZSwgYW5kIHRoZW4gb3BlbiBpdC4kCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2MjQ6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlLmg6NjA0OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzYyNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2MDU6CiteSSAqIElm IHRoaXMgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCBvciB1bmRlciBMaW51eCBrZXJuZWwkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2MjY6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlLmg6NjA2OgorXkkgKiB2ZXJzaW9ucyBlYXJsaWVyIHRoYW4gMi42LjE1 LCB0aGUgbWtub2QoKSBhbmQgb3BlbigpIG1ldGhvZHMkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM2Mjc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NjA3 OgorXkkgKiB3aWxsIGJlIGNhbGxlZCBpbnN0ZWFkLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzYyODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2MDg6 CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYyOTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2MDk6CiteSWludCAoKmNyZWF0ZSkgKGNvbnN0 IGNoYXIgKiwgbW9kZV90LCBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKik7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjMxOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZS5oOjYxMToKK15JLyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNjMyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjYxMjoKK15JICogUGVyZm9y bSBQT1NJWCBmaWxlIGxvY2tpbmcgb3BlcmF0aW9uJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNjMzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjYxMzoK K15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2MzQ6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NjE0OgorXkkgKiBUaGUgY21kIGFyZ3VtZW50IHdp bGwgYmUgZWl0aGVyIEZfR0VUTEssIEZfU0VUTEsgb3IgRl9TRVRMS1cuJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjM1OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZS5oOjYxNToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM2MzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NjE2OgorXkkgKiBGb3IgdGhl IG1lYW5pbmcgb2YgZmllbGRzIGluICdzdHJ1Y3QgZmxvY2snIHNlZSB0aGUgbWFuIHBhZ2UkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2Mzc6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlLmg6NjE3OgorXkkgKiBmb3IgZmNudGwoMikuICBUaGUgbF93aGVuY2Ug ZmllbGQgd2lsbCBhbHdheXMgYmUgc2V0IHRvJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNjM4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjYxODoKK15J ICogU0VFS19TRVQuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NjM5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjYxOToKK15JICokCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2NDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlLmg6NjIwOgorXkkgKiBGb3IgY2hlY2tpbmcgbG9jayBvd25lcnNoaXAsIHRoZSAnZnVz ZV9maWxlX2luZm8tPm93bmVyJyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzY0MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2MjE6CiteSSAqIGFyZ3Vt ZW50IG11c3QgYmUgdXNlZC4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM2NDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NjIyOgorXkkgKiQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY0MzogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2UuaDo2MjM6CiteSSAqIEZvciBGX0dFVExLIG9wZXJhdGlvbiwgdGhlIGxpYnJh cnkgd2lsbCBmaXJzdCBjaGVjayBjdXJyZW50bHkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM2NDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NjI0Ogor XkkgKiBoZWxkIGxvY2tzLCBhbmQgaWYgYSBjb25mbGljdGluZyBsb2NrIGlzIGZvdW5kIGl0IHdp bGwgcmV0dXJuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjQ1 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjYyNToKK15JICogaW5mb3JtYXRpb24gd2l0 aG91dCBjYWxsaW5nIHRoaXMgbWV0aG9kLl5JIFRoaXMgZW5zdXJlcywgdGhhdCQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY0NjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2UuaDo2MjY6CiteSSAqIGZvciBsb2NhbCBsb2NrcyB0aGUgbF9waWQgZmllbGQgaXMg Y29ycmVjdGx5IGZpbGxlZCBpbi5eSVRoZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzY0NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2Mjc6CiteSSAq IHJlc3VsdHMgbWF5IG5vdCBiZSBhY2N1cmF0ZSBpbiBjYXNlIG9mIHJhY2UgY29uZGl0aW9ucyBh bmQgaW4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2NDg6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NjI4OgorXkkgKiB0aGUgcHJlc2VuY2Ugb2YgaGFy ZCBsaW5rcywgYnV0IGl0J3MgdW5saWtlbHkgdGhhdCBhbiQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY0OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2 Mjk6CiteSSAqIGFwcGxpY2F0aW9uIHdvdWxkIHJlbHkgb24gYWNjdXJhdGUgR0VUTEsgcmVzdWx0 cyBpbiB0aGVzZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY1 MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2MzA6CiteSSAqIGNhc2VzLiAgSWYgYSBj b25mbGljdGluZyBsb2NrIGlzIG5vdCBmb3VuZCwgdGhpcyBtZXRob2Qgd2lsbCBiZSQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY1MTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2UuaDo2MzE6CiteSSAqIGNhbGxlZCwgYW5kIHRoZSBmaWxlc3lzdGVtIG1heSBm aWxsIG91dCBsX3BpZCBieSBhIG1lYW5pbmdmdWwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM2NTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NjMyOgor XkkgKiB2YWx1ZSwgb3IgaXQgbWF5IGxlYXZlIHRoaXMgZmllbGQgemVyby4kCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2NTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlLmg6NjMzOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzY1NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2MzQ6CiteSSAqIEZvciBG X1NFVExLIGFuZCBGX1NFVExLVyB0aGUgbF9waWQgZmllbGQgd2lsbCBiZSBzZXQgdG8gdGhlIHBp ZCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY1NTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2MzU6CiteSSAqIG9mIHRoZSBwcm9jZXNzIHBlcmZvcm1p bmcgdGhlIGxvY2tpbmcgb3BlcmF0aW9uLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzY1NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2MzY6CiteSSAq JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjU3OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZS5oOjYzNzoKK15JICogTm90ZTogaWYgdGhpcyBtZXRob2QgaXMg bm90IGltcGxlbWVudGVkLCB0aGUga2VybmVsIHdpbGwgc3RpbGwkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2NTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl Lmg6NjM4OgorXkkgKiBhbGxvdyBmaWxlIGxvY2tpbmcgdG8gd29yayBsb2NhbGx5LiAgSGVuY2Ug aXQgaXMgb25seSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY1 OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2Mzk6CiteSSAqIGludGVyZXN0aW5nIGZv ciBuZXR3b3JrIGZpbGVzeXN0ZW1zIGFuZCBzaW1pbGFyLiQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY2MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2 NDA6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY2 MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2NDE6CiteSWludCAoKmxvY2spIChjb25z dCBjaGFyICosIHN0cnVjdCBmdXNlX2ZpbGVfaW5mbyAqLCBpbnQgY21kLCQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY2MjogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2UuaDo2NDI6CiteSV5JICAgICBzdHJ1Y3QgZmxvY2sgKik7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjY0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZS5oOjY0NDoKK15JLyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojNjY1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjY0NToKK15JICogQ2hhbmdlIHRo ZSBhY2Nlc3MgYW5kIG1vZGlmaWNhdGlvbiB0aW1lcyBvZiBhIGZpbGUgd2l0aCQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY2NjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2UuaDo2NDY6CiteSSAqIG5hbm9zZWNvbmQgcmVzb2x1dGlvbiQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY2NzogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2UuaDo2NDc6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNjY4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjY0ODoKK15JICogVGhpcyBz dXBlcnNlZGVzIHRoZSBvbGQgdXRpbWUoKSBpbnRlcmZhY2UuICBOZXcgYXBwbGljYXRpb25zJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjY5OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZS5oOjY0OToKK15JICogc2hvdWxkIHVzZSB0aGlzLiQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY3MDogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2UuaDo2NTA6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNjcxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjY1MToKK15JICogYGZp YCB3aWxsIGFsd2F5cyBiZSBOVUxMIGlmIHRoZSBmaWxlIGlzIG5vdCBjdXJyZW5sdHkgb3Blbiwg YnV0JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjcyOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjY1MjoKK15JICogbWF5IGFsc28gYmUgTlVMTCBpZiB0 aGUgZmlsZSBpcyBvcGVuLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzY3MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2NTM6CiteSSAqJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjc0OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZS5oOjY1NDoKK15JICogU2VlIHRoZSB1dGltZW5zYXQoMikgbWFuIHBhZ2UgZm9y IGRldGFpbHMuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjc1 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjY1NToKK15JICovJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjc2OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZS5oOjY1NjoKK15JIGludCAoKnV0aW1lbnMpIChjb25zdCBjaGFyICosIGNvbnN0IHN0cnVj dCB0aW1lc3BlYyB0dlsyXSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM2Nzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NjU3OgorXkleSV5JIHN0cnVj dCBmdXNlX2ZpbGVfaW5mbyAqZmkpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzY3OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2NTk6CiteSS8qKiQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY4MDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2UuaDo2NjA6CiteSSAqIE1hcCBibG9jayBpbmRleCB3aXRoaW4gZmls ZSB0byBibG9jayBpbmRleCB3aXRoaW4gZGV2aWNlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNjgxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjY2MToK K15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2ODI6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NjYyOgorXkkgKiBOb3RlOiBUaGlzIG1ha2VzIHNl bnNlIG9ubHkgZm9yIGJsb2NrIGRldmljZSBiYWNrZWQgZmlsZXN5c3RlbXMkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2ODM6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlLmg6NjYzOgorXkkgKiBtb3VudGVkIHdpdGggdGhlICdibGtkZXYnIG9wdGlvbiQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY4NDogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2UuaDo2NjQ6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzY4NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2NjU6Cite SWludCAoKmJtYXApIChjb25zdCBjaGFyICosIHNpemVfdCBibG9ja3NpemUsIHVpbnQ2NF90ICpp ZHgpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY4NzogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2Njc6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY4ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Uu aDo2Njg6CiteSSAqIElvY3RsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNjg5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjY2OToKK15JICokCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2OTA6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlLmg6NjcwOgorXkkgKiBmbGFncyB3aWxsIGhhdmUgRlVTRV9JT0NUTF9DT01Q QVQgc2V0IGZvciAzMmJpdCBpb2N0bHMgaW4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM2OTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NjcxOgorXkkg KiA2NGJpdCBlbnZpcm9ubWVudC4gIFRoZSBzaXplIGFuZCBkaXJlY3Rpb24gb2YgZGF0YSBpcyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY5MjogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2UuaDo2NzI6CiteSSAqIGRldGVybWluZWQgYnkgX0lPQ18qKCkgZGVj b2Rpbmcgb2YgY21kLiAgRm9yIF9JT0NfTk9ORSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM2OTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NjczOgor XkkgKiBkYXRhIHdpbGwgYmUgTlVMTCwgZm9yIF9JT0NfV1JJVEUgZGF0YSBpcyBvdXQgYXJlYSwg Zm9yJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjk0OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjY3NDoKK15JICogX0lPQ19SRUFEIGluIGFyZWEgYW5k IGlmIGJvdGggYXJlIHNldCBpbi9vdXQgYXJlYS4gIEluIGFsbCQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY5NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Uu aDo2NzU6CiteSSAqIG5vbi1OVUxMIGNhc2VzLCB0aGUgYXJlYSBpcyBvZiBfSU9DX1NJWkUoY21k KSBieXRlcy4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2OTY6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6Njc2OgorXkkgKiQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY5NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2UuaDo2Nzc6CiteSSAqIElmIGZsYWdzIGhhcyBGVVNFX0lPQ1RMX0RJUiB0aGVuIHRoZSBmdXNl X2ZpbGVfaW5mbyByZWZlcnMgdG8gYSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzY5ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2Nzg6CiteSSAqIGRp cmVjdG9yeSBmaWxlIGhhbmRsZS4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM2OTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6Njc5OgorXkkgKiQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcwMDogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2UuaDo2ODA6CiteSSAqIE5vdGUgOiB0aGUgdW5zaWduZWQgbG9uZyByZXF1 ZXN0IHN1Ym1pdHRlZCBieSB0aGUgYXBwbGljYXRpb24kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM3MDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6Njgx OgorXkkgKiBpcyB0cnVuY2F0ZWQgdG8gMzIgYml0cy4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM3MDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6Njgy OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3MDM6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NjgzOgorXklpbnQgKCppb2N0bCkgKGNvbnN0 IGNoYXIgKiwgdW5zaWduZWQgaW50IGNtZCwgdm9pZCAqYXJnLCQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcwNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Uu aDo2ODQ6CiteSV5JICAgICAgc3RydWN0IGZ1c2VfZmlsZV9pbmZvICosIHVuc2lnbmVkIGludCBm bGFncywgdm9pZCAqZGF0YSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNzA2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjY4NjoKK15JLyoqJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzA3OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZS5oOjY4NzoKK15JICogUG9sbCBmb3IgSU8gcmVhZGluZXNzIGV2ZW50cyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcwODogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2UuaDo2ODg6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNzA5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjY4OToK K15JICogTm90ZTogSWYgcGggaXMgbm9uLU5VTEwsIHRoZSBjbGllbnQgc2hvdWxkIG5vdGlmeSQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcxMDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2UuaDo2OTA6CiteSSAqIHdoZW4gSU8gcmVhZGluZXNzIGV2ZW50cyBv Y2N1ciBieSBjYWxsaW5nJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojNzExOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjY5MToKK15JICogZnVzZV9ub3Rp ZnlfcG9sbCgpIHdpdGggdGhlIHNwZWNpZmllZCBwaC4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM3MTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6Njky OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcxMzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2OTM6CiteSSAqIFJlZ2FyZGxlc3Mgb2YgdGhl IG51bWJlciBvZiB0aW1lcyBwb2xsIHdpdGggYSBub24tTlVMTCBwaCQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcxNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2UuaDo2OTQ6CiteSSAqIGlzIHJlY2VpdmVkLCBzaW5nbGUgbm90aWZpY2F0aW9uIGlzIGVub3Vn aCB0byBjbGVhciBhbGwuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojNzE1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjY5NToKK15JICogTm90aWZ5aW5n IG1vcmUgdGltZXMgaW5jdXJzIG92ZXJoZWFkIGJ1dCBkb2Vzbid0IGhhcm0kCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3MTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlLmg6Njk2OgorXkkgKiBjb3JyZWN0bmVzcy4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM3MTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6Njk3 OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcxODog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2OTg6CiteSSAqIFRoZSBjYWxsZWUgaXMgcmVz cG9uc2libGUgZm9yIGRlc3Ryb3lpbmcgcGggd2l0aCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzcxOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo2OTk6 CiteSSAqIGZ1c2VfcG9sbGhhbmRsZV9kZXN0cm95KCkgd2hlbiBubyBsb25nZXIgaW4gdXNlLiQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcyMDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2UuaDo3MDA6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzcyMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo3MDE6 CiteSWludCAoKnBvbGwpIChjb25zdCBjaGFyICosIHN0cnVjdCBmdXNlX2ZpbGVfaW5mbyAqLCQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcyMjogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2UuaDo3MDI6CiteSV5JICAgICBzdHJ1Y3QgZnVzZV9wb2xsaGFuZGxl ICpwaCwgdW5zaWduZWQgKnJldmVudHNwKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM3MjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NzA0OgorXkkv KiogV3JpdGUgY29udGVudHMgb2YgYnVmZmVyIHRvIGFuIG9wZW4gZmlsZSQKCldBUk5JTkc6IEJs b2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcgLyogb24gYSBzZXBhcmF0ZSBsaW5lCiM3MjQ6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NzA0OgorICAgICAgIC8qKiBXcml0ZSBjb250ZW50 cyBvZiBidWZmZXIgdG8gYW4gb3BlbiBmaWxlCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM3MjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NzA1OgorXkkg KiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcyNjogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo3MDY6CiteSSAqIFNpbWlsYXIgdG8gdGhlIHdyaXRlKCkg bWV0aG9kLCBidXQgZGF0YSBpcyBzdXBwbGllZCBpbiBhJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojNzI3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjcw NzoKK15JICogZ2VuZXJpYyBidWZmZXIuICBVc2UgZnVzZV9idWZfY29weSgpIHRvIHRyYW5zZmVy IGRhdGEgdG8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3Mjg6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NzA4OgorXkkgKiB0aGUgZGVzdGluYXRpb24u JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzI5OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZS5oOjcwOToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM3MzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NzEw OgorXkkgKiBVbmxlc3MgRlVTRV9DQVBfSEFORExFX0tJTExQUklWIGlzIGRpc2FibGVkLCB0aGlz IG1ldGhvZCBpcyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcz MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo3MTE6CiteSSAqIGV4cGVjdGVkIHRvIHJl c2V0IHRoZSBzZXR1aWQgYW5kIHNldGdpZCBiaXRzLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzczMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo3MTI6 CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzczMzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo3MTM6CiteSWludCAoKndyaXRlX2J1ZikgKGNv bnN0IGNoYXIgKiwgc3RydWN0IGZ1c2VfYnVmdmVjICpidWYsIG9mZl90IG9mZiwkCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3MzQ6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlLmg6NzE0OgorXkleSV5JICBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKik7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzM2OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZS5oOjcxNjoKK15JLyoqIFN0b3JlIGRhdGEgZnJvbSBhbiBvcGVuIGZpbGUg aW4gYSBidWZmZXIkCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9u IGEgc2VwYXJhdGUgbGluZQojNzM2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjcxNjoK KyAgICAgICAvKiogU3RvcmUgZGF0YSBmcm9tIGFuIG9wZW4gZmlsZSBpbiBhIGJ1ZmZlcgoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzM3OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZS5oOjcxNzoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM3Mzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NzE4OgorXkkg KiBTaW1pbGFyIHRvIHRoZSByZWFkKCkgbWV0aG9kLCBidXQgZGF0YSBpcyBzdG9yZWQgYW5kJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzM5OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZS5oOjcxOToKK15JICogcmV0dXJuZWQgaW4gYSBnZW5lcmljIGJ1ZmZl ci4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NDA6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NzIwOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc0MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo3 MjE6CiteSSAqIE5vIGFjdHVhbCBjb3B5aW5nIG9mIGRhdGEgaGFzIHRvIHRha2UgcGxhY2UsIHRo ZSBzb3VyY2UkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NDI6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NzIyOgorXkkgKiBmaWxlIGRlc2NyaXB0b3Ig bWF5IHNpbXBseSBiZSBzdG9yZWQgaW4gdGhlIGJ1ZmZlciBmb3IkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl Lmg6NzIzOgorXkkgKiBsYXRlciBkYXRhIHRyYW5zZmVyLiQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc0NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo3 MjQ6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzQ1 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjcyNToKK15JICogVGhlIGJ1ZmZlciBtdXN0 IGJlIGFsbG9jYXRlZCBkeW5hbWljYWxseSBhbmQgc3RvcmVkIGF0IHRoZSQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc0NjogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2UuaDo3MjY6CiteSSAqIGxvY2F0aW9uIHBvaW50ZWQgdG8gYnkgYnVmcC4gIElmIHRoZSBi dWZmZXIgY29udGFpbnMgbWVtb3J5JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNzQ3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjcyNzoKK15JICogcmVn aW9ucywgdGhleSB0b28gbXVzdCBiZSBhbGxvY2F0ZWQgdXNpbmcgbWFsbG9jKCkuICBUaGUkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NDg6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlLmg6NzI4OgorXkkgKiBhbGxvY2F0ZWQgbWVtb3J5IHdpbGwgYmUgZnJl ZWQgYnkgdGhlIGNhbGxlci4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM3NDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NzI5OgorXkkgKi8kCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NTA6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlLmg6NzMwOgorXklpbnQgKCpyZWFkX2J1ZikgKGNvbnN0IGNoYXIgKiwgc3Ry dWN0IGZ1c2VfYnVmdmVjICoqYnVmcCwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM3NTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NzMxOgorXkleSV5J IHNpemVfdCBzaXplLCBvZmZfdCBvZmYsIHN0cnVjdCBmdXNlX2ZpbGVfaW5mbyAqKTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NTI6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlLmg6NzMyOgorXkkvKiokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM3NTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NzMzOgorXkkg KiBQZXJmb3JtIEJTRCBmaWxlIGxvY2tpbmcgb3BlcmF0aW9uJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzU0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5o OjczNDoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3 NTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NzM1OgorXkkgKiBUaGUgb3AgYXJndW1l bnQgd2lsbCBiZSBlaXRoZXIgTE9DS19TSCwgTE9DS19FWCBvciBMT0NLX1VOJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzU2OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZS5oOjczNjoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM3NTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NzM3OgorXkkgKiBOb25i bG9ja2luZyByZXF1ZXN0cyB3aWxsIGJlIGluZGljYXRlZCBieSBPUmluZyBMT0NLX05CIHRvJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzU4OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZS5oOjczODoKK15JICogdGhlIGFib3ZlIG9wZXJhdGlvbnMkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NTk6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlLmg6NzM5OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzc2MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo3NDA6CiteSSAq IEZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB0aGUgZmxvY2soMikgbWFudWFsIHBhZ2UuJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzYxOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZS5oOjc0MToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM3NjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NzQyOgorXkkg KiBBZGRpdGlvbmFsbHkgZmktPm93bmVyIHdpbGwgYmUgc2V0IHRvIGEgdmFsdWUgdW5pcXVlIHRv JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzYzOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZS5oOjc0MzoKK15JICogdGhpcyBvcGVuIGZpbGUuICBUaGlzIHNh bWUgdmFsdWUgd2lsbCBiZSBzdXBwbGllZCB0byQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzc2NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo3NDQ6Cite SSAqIC0+cmVsZWFzZSgpIHdoZW4gdGhlIGZpbGUgaXMgcmVsZWFzZWQuJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzY1OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZS5oOjc0NToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM3NjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NzQ2OgorXkkgKiBOb3RlOiBp ZiB0aGlzIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQsIHRoZSBrZXJuZWwgd2lsbCBzdGlsbCQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc2NzogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2UuaDo3NDc6CiteSSAqIGFsbG93IGZpbGUgbG9ja2luZyB0byB3b3Jr IGxvY2FsbHkuICBIZW5jZSBpdCBpcyBvbmx5JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNzY4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjc0ODoKK15J ICogaW50ZXJlc3RpbmcgZm9yIG5ldHdvcmsgZmlsZXN5c3RlbXMgYW5kIHNpbWlsYXIuJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzY5OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZS5oOjc0OToKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNzcwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjc1MDoKK15J aW50ICgqZmxvY2spIChjb25zdCBjaGFyICosIHN0cnVjdCBmdXNlX2ZpbGVfaW5mbyAqLCBpbnQg b3ApOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc3MjogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo3NTI6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc3MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Uu aDo3NTM6CiteSSAqIEFsbG9jYXRlcyBzcGFjZSBmb3IgYW4gb3BlbiBmaWxlJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzc0OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZS5oOjc1NDoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM3NzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NzU1OgorXkkgKiBUaGlz IGZ1bmN0aW9uIGVuc3VyZXMgdGhhdCByZXF1aXJlZCBzcGFjZSBpcyBhbGxvY2F0ZWQgZm9yIHNw ZWNpZmllZCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc3Njog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo3NTY6CiteSSAqIGZpbGUuICBJZiB0aGlzIGZ1 bmN0aW9uIHJldHVybnMgc3VjY2VzcyB0aGVuIGFueSBzdWJzZXF1ZW50IHdyaXRlJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzc3OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZS5oOjc1NzoKK15JICogcmVxdWVzdCB0byBzcGVjaWZpZWQgcmFuZ2UgaXMgZ3Vh cmFudGVlZCBub3QgdG8gZmFpbCBiZWNhdXNlIG9mIGxhY2skCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3Nzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6 NzU4OgorXkkgKiBvZiBzcGFjZSBvbiB0aGUgZmlsZSBzeXN0ZW0gbWVkaWEuJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzc5OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZS5oOjc1OToKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNzgwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjc2MDoKK15JaW50ICgq ZmFsbG9jYXRlKSAoY29uc3QgY2hhciAqLCBpbnQsIG9mZl90LCBvZmZfdCwkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3ODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlLmg6NzYxOgorXkleSV5JICBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKik7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzgzOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZS5oOjc2MzoKK15JLyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojNzg0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjc2NDoKK15JICog Q29weSBhIHJhbmdlIG9mIGRhdGEgZnJvbSBvbmUgZmlsZSB0byBhbm90aGVyJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzg1OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZS5oOjc2NToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM3ODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NzY2OgorXkkgKiBQZXJm b3JtcyBhbiBvcHRpbWl6ZWQgY29weSBiZXR3ZWVuIHR3byBmaWxlIGRlc2NyaXB0b3JzIHdpdGhv dXQgdGhlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzg3OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjc2NzoKK15JICogYWRkaXRpb25hbCBjb3N0IG9m IHRyYW5zZmVycmluZyBkYXRhIHRocm91Z2ggdGhlIEZVU0Uga2VybmVsIG1vZHVsZSQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc4ODogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2UuaDo3Njg6CiteSSAqIHRvIHVzZXIgc3BhY2UgKGdsaWJjKSBhbmQgdGhlbiBi YWNrIGludG8gdGhlIEZVU0UgZmlsZXN5c3RlbSBhZ2Fpbi4kCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3ODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6 NzY5OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc5 MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo3NzA6CiteSSAqIEluIGNhc2UgdGhpcyBt ZXRob2QgaXMgbm90IGltcGxlbWVudGVkLCBnbGliYyBmYWxscyBiYWNrIHRvIHJlYWRpbmckCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3OTE6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlLmg6NzcxOgorXkkgKiBkYXRhIGZyb20gdGhlIHNvdXJjZSBhbmQgd3Jp dGluZyB0byB0aGUgZGVzdGluYXRpb24uIEVmZmVjdGl2ZWx5JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzkyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5o Ojc3MjoKK15JICogZG9pbmcgYW4gaW5lZmZpY2llbnQgY29weSBvZiB0aGUgZGF0YS4kCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3OTM6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlLmg6NzczOgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM3OTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6Nzc0OgorXklz c2l6ZV90ICgqY29weV9maWxlX3JhbmdlKSAoY29uc3QgY2hhciAqcGF0aF9pbiwkCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3OTU6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlLmg6Nzc1OgorXkleSV5JXkkgICAgc3RydWN0IGZ1c2VfZmlsZV9pbmZvICpmaV9p biwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3OTY6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6Nzc2OgorXkleSV5JXkkgICAgb2ZmX3Qgb2Zmc2V0X2lu LCBjb25zdCBjaGFyICpwYXRoX291dCwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM3OTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6Nzc3OgorXkleSV5J XkkgICAgc3RydWN0IGZ1c2VfZmlsZV9pbmZvICpmaV9vdXQsJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzk4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5o Ojc3ODoKK15JXkleSV5JICAgIG9mZl90IG9mZnNldF9vdXQsIHNpemVfdCBzaXplLCBpbnQgZmxh Z3MpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgwMDogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo3ODA6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgwMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Uu aDo3ODE6CiteSSAqIEZpbmQgbmV4dCBkYXRhIG9yIGhvbGUgYWZ0ZXIgdGhlIHNwZWNpZmllZCBv ZmZzZXQkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4MDI6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6NzgyOgorXkkgKi8kCgpXQVJOSU5HOiBsaW5lIG92 ZXIgODAgY2hhcmFjdGVycwojODAzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjc4MzoK KyAgICAgICBvZmZfdCAoKmxzZWVrKSAoY29uc3QgY2hhciAqLCBvZmZfdCBvZmYsIGludCB3aGVu Y2UsIHN0cnVjdCBmdXNlX2ZpbGVfaW5mbyAqKTsKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzgwMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo3ODM6Cite SW9mZl90ICgqbHNlZWspIChjb25zdCBjaGFyICosIG9mZl90IG9mZiwgaW50IHdoZW5jZSwgc3Ry dWN0IGZ1c2VfZmlsZV9pbmZvICopOyQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIGxl YWRpbmcgLyogb24gYSBzZXBhcmF0ZSBsaW5lCiM4MDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlLmg6Nzg2OgorLyoqIEV4dHJhIGNvbnRleHQgdGhhdCBtYXkgYmUgbmVlZGVkIGJ5IHNvbWUg ZmlsZXN5c3RlbXMKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgx MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo3OTI6CiteSS8qKiBQb2ludGVyIHRvIHRo ZSBmdXNlIG9iamVjdCAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzgxMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo3OTM6CiteSXN0cnVjdCBmdXNl ICpmdXNlOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgxNTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo3OTU6CiteSS8qKiBVc2VyIElEIG9mIHRoZSBj YWxsaW5nIHByb2Nlc3MgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM4MTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6Nzk2OgorXkl1aWRfdCB1aWQ7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODE4OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZS5oOjc5ODoKK15JLyoqIEdyb3VwIElEIG9mIHRoZSBjYWxsaW5n IHByb2Nlc3MgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4 MTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6Nzk5OgorXklnaWRfdCBnaWQ7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODIxOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZS5oOjgwMToKK15JLyoqIFByb2Nlc3MgSUQgb2YgdGhlIGNhbGxpbmcgdGhy ZWFkICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODIyOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjgwMjoKK15JcGlkX3QgcGlkOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgyNDogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2UuaDo4MDQ6CiteSS8qKiBQcml2YXRlIGZpbGVzeXN0ZW0gZGF0YSAqLyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgyNTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2UuaDo4MDU6CiteSXZvaWQgKnByaXZhdGVfZGF0YTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4Mjc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlLmg6ODA3OgorXkkvKiogVW1hc2sgb2YgdGhlIGNhbGxpbmcgcHJvY2VzcyAqLyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgyODogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2UuaDo4MDg6CiteSW1vZGVfdCB1bWFzazskCgpXQVJOSU5HOiBCbG9jayBjb21t ZW50cyB1c2UgKiBvbiBzdWJzZXF1ZW50IGxpbmVzCiM4ODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlLmg6ODY2OgorLyoKKyAgaW50IGZ1c2VfbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltd LCBjb25zdCBzdHJ1Y3QgZnVzZV9vcGVyYXRpb25zICpvcCwKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg4OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo4 Njk6CisjZGVmaW5lIGZ1c2VfbWFpbihhcmdjLCBhcmd2LCBvcCwgcHJpdmF0ZV9kYXRhKV5JXkle SV5JXCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg5MDogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo4NzA6CiteSWZ1c2VfbWFpbl9yZWFsKGFyZ2MsIGFy Z3YsIG9wLCBzaXplb2YoKihvcCkpLCBwcml2YXRlX2RhdGEpJAoKV0FSTklORzogQmxvY2sgY29t bWVudHMgdXNlIGEgbGVhZGluZyAvKiBvbiBhIHNlcGFyYXRlIGxpbmUKIzg5MjogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2UuaDo4NzI6CisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM4OTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6ODcz OgorICogTW9yZSBkZXRhaWxlZCBBUEleSV5JXkleSV5JICAgICAgICokCgpXQVJOSU5HOiBCbG9j ayBjb21tZW50cyB1c2UgYSB0cmFpbGluZyAqLyBvbiBhIHNlcGFyYXRlIGxpbmUKIzg5NDogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo4NzQ6CisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKV0FSTklORzogbGluZSBv dmVyIDgwIGNoYXJhY3RlcnMKIzkzNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDo5MTc6 CitzdHJ1Y3QgZnVzZSAqZnVzZV9uZXdfMzAoc3RydWN0IGZ1c2VfYXJncyAqYXJncywgY29uc3Qg c3RydWN0IGZ1c2Vfb3BlcmF0aW9ucyAqb3AsCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM5Mzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6OTE4OgorXkle SV5JIHNpemVfdCBvcF9zaXplLCB2b2lkICpwcml2YXRlX2RhdGEpOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk0MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2UuaDo5MjI6CiteSV5JICAgICAgc2l6ZV90IG9wX3NpemUsIHZvaWQgKnByaXZhdGVfZGF0YSk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTY3OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZS5oOjk0NzoKKyAqIE5PVEU6IFRoaXMgZnVuY3Rpb24gZG9lcyBu b3QgdW5tb3VudCB0aGUgZmlsZXN5c3RlbS5eSSBJZiB0aGlzIGlzJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA5NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2UuaDoxMDc1OgorXkleSSAgIHNpemVfdCBvcF9zaXplLCB2b2lkICpwcml2YXRlX2RhdGEpOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExNDY6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTEyNjoKK15JXkkgICAgc3RydWN0IGZ1c2VfZmlsZV9pbmZv ICpmaSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE0ODog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxMTI4OgorXkleSSAgIGNvbnN0IGNoYXIgKm5l d3BhdGgsIHVuc2lnbmVkIGludCBmbGFncyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTE1MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxMTMyOgor XkleSSAgICBjb25zdCBjaGFyICpwYXRoKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxMTU0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjExMzQ6Citp bnQgZnVzZV9mc19yZWxlYXNlKHN0cnVjdCBmdXNlX2ZzICpmcyxeSSBjb25zdCBjaGFyICpwYXRo LCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExNTU6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTEzNToKK15JXkkgICAgc3RydWN0IGZ1c2VfZmlsZV9p bmZvICpmaSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE1 NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxMTM3OgorXkleSSBzdHJ1Y3QgZnVzZV9m aWxlX2luZm8gKmZpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxMTU5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjExMzk6CiteSV5JIG9mZl90IG9m Ziwgc3RydWN0IGZ1c2VfZmlsZV9pbmZvICpmaSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTE2MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxMTQx OgorXkleSSAgICAgc3RydWN0IGZ1c2VfYnVmdmVjICoqYnVmcCwgc2l6ZV90IHNpemUsIG9mZl90 IG9mZiwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTYyOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjExNDI6CiteSV5JICAgICBzdHJ1Y3QgZnVzZV9m aWxlX2luZm8gKmZpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxMTY0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjExNDQ6CiteSV5JICBzaXplX3Qg c2l6ZSwgb2ZmX3Qgb2ZmLCBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKmZpKTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTY2OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZS5oOjExNDY6CiteSV5JICAgICAgc3RydWN0IGZ1c2VfYnVmdmVjICpidWYsIG9mZl90 IG9mZiwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTY3OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjExNDc6CiteSV5JICAgICAgc3RydWN0IGZ1c2Vf ZmlsZV9pbmZvICpmaSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTE2OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxMTQ5OgorXkleSSAgc3RydWN0 IGZ1c2VfZmlsZV9pbmZvICpmaSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMTE3MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxMTUxOgorXkleSSAg c3RydWN0IGZ1c2VfZmlsZV9pbmZvICpmaSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTE3NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxMTU0Ogor XkleSSAgICBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKmZpKTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTc2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5o OjExNTY6CiteSV5JICAgIGZ1c2VfZmlsbF9kaXJfdCBmaWxsZXIsIG9mZl90IG9mZiwkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTc3OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZS5oOjExNTc6CiteSV5JICAgIHN0cnVjdCBmdXNlX2ZpbGVfaW5mbyAqZmks IGVudW0gZnVzZV9yZWFkZGlyX2ZsYWdzIGZsYWdzKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxMTc5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjEx NTk6CiteSV5JICAgICBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKmZpKTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTgxOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZS5oOjExNjE6CiteSV5JICAgICAgIHN0cnVjdCBmdXNlX2ZpbGVfaW5mbyAqZmkpOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExODM6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlLmg6MTE2MzoKK15JXkkgICBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKmZp KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTg1OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjExNjU6CiteSV5JIHN0cnVjdCBmdXNlX2ZpbGVfaW5m byAqZmksIGludCBjbWQsIHN0cnVjdCBmbG9jayAqbG9jayk7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE4NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Uu aDoxMTY3OgorXkleSSAgc3RydWN0IGZ1c2VfZmlsZV9pbmZvICpmaSwgaW50IG9wKTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTg5OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZS5oOjExNjk6CiteSV5JICBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKmZpKTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTkxOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZS5oOjExNzE6CiteSV5JICBzdHJ1Y3QgZnVzZV9maWxlX2luZm8g KmZpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTkzOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjExNzM6CiteSV5JICAgICBzdHJ1Y3QgZnVzZV9m aWxlX2luZm8gKmZpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxMTk1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjExNzU6CiteSV5JICAgIGNvbnN0 IHN0cnVjdCB0aW1lc3BlYyB0dlsyXSwgc3RydWN0IGZ1c2VfZmlsZV9pbmZvICpmaSk7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE5ODogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2UuaDoxMTc4OgorXkleSSAgICAgc2l6ZV90IGxlbik7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIwMDogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2UuaDoxMTgwOgorXkleSSAgZGV2X3QgcmRldik7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIwMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Uu aDoxMTgzOgorXkleSSAgICAgY29uc3QgY2hhciAqdmFsdWUsIHNpemVfdCBzaXplLCBpbnQgZmxh Z3MpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMDU6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTE4NToKK15JXkkgICAgIGNoYXIgKnZhbHVlLCBz aXplX3Qgc2l6ZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTIwNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxMTg3OgorXkleSSAgICAgIHNpemVf dCBzaXplKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjA5 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjExODk6CiteSV5JXkljb25zdCBjaGFyICpu YW1lKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjExOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjExOTE6CiteSV5JIHVpbnQ2NF90ICppZHgpOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMTM6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTE5MzoKK15JXkkgIHZvaWQgKmFyZywgc3RydWN0IGZ1c2Vf ZmlsZV9pbmZvICpmaSwgdW5zaWduZWQgaW50IGZsYWdzLCQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6 MTE5NDoKK15JXkkgIHZvaWQgKmRhdGEpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzEyMTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTE5NjoKK15J Xkkgc3RydWN0IGZ1c2VfZmlsZV9pbmZvICpmaSwgc3RydWN0IGZ1c2VfcG9sbGhhbmRsZSAqcGgs JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIxNzogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxMTk3OgorXkleSSB1bnNpZ25lZCAqcmV2ZW50c3ApOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMTk6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTE5OToKK15JXkkgb2ZmX3Qgb2Zmc2V0LCBvZmZfdCBsZW5n dGgsIHN0cnVjdCBmdXNlX2ZpbGVfaW5mbyAqZmkpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTIw MToKK15JXkleSV5Jc3RydWN0IGZ1c2VfZmlsZV9pbmZvICpmaV9pbiwgb2ZmX3Qgb2ZmX2luLCQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMjI6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlLmg6MTIwMjoKK15JXkleSV5JY29uc3QgY2hhciAqcGF0aF9vdXQs JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIyMzogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxMjAzOgorXkleSV5JXklzdHJ1Y3QgZnVzZV9maWxlX2lu Zm8gKmZpX291dCwgb2ZmX3Qgb2ZmX291dCwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxMjI0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZS5oOjEyMDQ6Cite SV5JXkleSXNpemVfdCBsZW4sIGludCBmbGFncyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTIyNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2UuaDoxMjA2 OgorXkleSSAgICBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKmZpKTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjI4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZS5oOjEyMDg6CiteSV5Jc3RydWN0IGZ1c2VfY29uZmlnICpjZmcpOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlLmg6MTIyNzoKK15JXkleSSAgICB2b2lkICpwcml2YXRlX2RhdGEpOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlLmg6MTI0NDoKK15JXkleSV5JXkleSSBzdHJ1Y3QgZnVzZV9mcyAqZnNbXSk7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTI3NjogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2UuaDoxMjU2OgorXklmdXNlX21vZHVsZV9mYWN0b3J5X3QgZnVzZV9tb2R1 bGVfICMjIG5hbWVfICMjIF9mYWN0b3J5ID0gZmFjdG9yeV8kCgpXQVJOSU5HOiBhcmNoaXRlY3R1 cmUgc3BlY2lmaWMgZGVmaW5lcyBzaG91bGQgYmUgYXZvaWRlZAojMTI5MTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2UuaDoxMjcxOgorI2lmZGVmIF9fY3BsdXNwbHVzCgpXQVJOSU5HOiBCbG9j ayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJhdGUgbGluZQojMTMwMjogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6MToKKy8qICBGVVNFOiBGaWxlc3lzdGVt IGluIFVzZXJzcGFjZQoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlICogb24gc3Vic2VxdWVu dCBsaW5lcwojMTMwMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6MjoKKy8q ICBGVVNFOiBGaWxlc3lzdGVtIGluIFVzZXJzcGFjZQorICBDb3B5cmlnaHQgKEMpIDIwMDEtMjAw NyAgTWlrbG9zIFN6ZXJlZGkgPG1pa2xvc0BzemVyZWRpLmh1PgoKRVJST1I6IGxpbmUgb3ZlciA5 MCBjaGFyYWN0ZXJzCiMxMzEyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDox MToKKyNlcnJvciAiTmV2ZXIgaW5jbHVkZSA8ZnVzZV9jb21tb24uaD4gZGlyZWN0bHk7IHVzZSA8 ZnVzZS5oPiBvciA8ZnVzZV9sb3dsZXZlbC5oPiBpbnN0ZWFkLiIKCldBUk5JTkc6IGFyY2hpdGVj dHVyZSBzcGVjaWZpYyBkZWZpbmVzIHNob3VsZCBiZSBhdm9pZGVkCiMxMzMyOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDozMToKKyNpZmRlZiBfX2NwbHVzcGx1cwoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM0NjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfY29tbW9uLmg6NDU6CiteSS8qKiBPcGVuIGZsYWdzLl5JIEF2YWlsYWJsZSBp biBvcGVuKCkgYW5kIHJlbGVhc2UoKSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzEzNDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjQ2 OgorXklpbnQgZmxhZ3M7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTM0OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NDg6CiteSS8qKiBJ biBjYXNlIG9mIGEgd3JpdGUgb3BlcmF0aW9uIGluZGljYXRlcyBpZiB0aGlzIHdhcyBjYXVzZWQk CgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJhdGUg bGluZQojMTM0OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NDg6CisgICAg ICAgLyoqIEluIGNhc2Ugb2YgYSB3cml0ZSBvcGVyYXRpb24gaW5kaWNhdGVzIGlmIHRoaXMgd2Fz IGNhdXNlZAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM1MDog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NDk6CiteSSAgICBieSBhIGRlbGF5 ZWQgd3JpdGUgZnJvbSB0aGUgcGFnZSBjYWNoZS4gSWYgc28sIHRoZW4gdGhlJAoKV0FSTklORzog QmxvY2sgY29tbWVudHMgdXNlICogb24gc3Vic2VxdWVudCBsaW5lcwojMTM1MDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NDk6CisgICAgICAgLyoqIEluIGNhc2Ugb2YgYSB3 cml0ZSBvcGVyYXRpb24gaW5kaWNhdGVzIGlmIHRoaXMgd2FzIGNhdXNlZAorICAgICAgICAgICBi eSBhIGRlbGF5ZWQgd3JpdGUgZnJvbSB0aGUgcGFnZSBjYWNoZS4gSWYgc28sIHRoZW4gdGhlCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzUxOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo1MDoKK15JICAgIGNvbnRleHQncyBwaWQsIHVpZCwg YW5kIGdpZCBmaWVsZHMgd2lsbCBub3QgYmUgdmFsaWQsIGFuZCQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzNTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2NvbW1vbi5oOjUxOgorXkkgICAgdGhlICpmaCogdmFsdWUgbWF5IG5vdCBtYXRjaCB0aGUgKmZo KiB2YWx1ZSB0aGF0IHdvdWxkJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMTM1MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NTI6CiteSSAg ICBoYXZlIGJlZW4gc2VudCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGluZGl2aWR1YWwgd3JpdGUk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzU0OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo1MzoKK15JICAgIHJlcXVlc3RzIGlmIHdyaXRl IGNhY2hpbmcgaGFkIGJlZW4gZGlzYWJsZWQuICovJAoKV0FSTklORzogQmxvY2sgY29tbWVudHMg dXNlIGEgdHJhaWxpbmcgKi8gb24gYSBzZXBhcmF0ZSBsaW5lCiMxMzU0OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo1MzoKKyAgICAgICAgICAgcmVxdWVzdHMgaWYgd3JpdGUg Y2FjaGluZyBoYWQgYmVlbiBkaXNhYmxlZC4gKi8KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzEzNTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5o OjU0OgorXkl1bnNpZ25lZCBpbnQgd3JpdGVwYWdlIDogMTskCgpFUlJPUjogc3BhY2VzIHByb2hp Yml0ZWQgYXJvdW5kIHRoYXQgJzonIChjdHg6V3hXKQojMTM1NTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfY29tbW9uLmg6NTQ6CisgICAgICAgdW5zaWduZWQgaW50IHdyaXRlcGFnZSA6IDE7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxMzU3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21t b24uaDo1NjoKK15JLyoqIENhbiBiZSBmaWxsZWQgaW4gYnkgb3BlbiwgdG8gdXNlIGRpcmVjdCBJ L08gb24gdGhpcyBmaWxlLiAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEzNTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjU3OgorXkl1 bnNpZ25lZCBpbnQgZGlyZWN0X2lvIDogMTskCgpFUlJPUjogc3BhY2VzIHByb2hpYml0ZWQgYXJv dW5kIHRoYXQgJzonIChjdHg6V3hXKQojMTM1ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf Y29tbW9uLmg6NTc6CisgICAgICAgdW5zaWduZWQgaW50IGRpcmVjdF9pbyA6IDE7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMzYwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo1OToK K15JLyoqIENhbiBiZSBmaWxsZWQgaW4gYnkgb3Blbi4gSXQgc2lnbmFscyB0aGUga2VybmVsIHRo YXQgYW55JAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlIGEgbGVhZGluZyAvKiBvbiBhIHNl cGFyYXRlIGxpbmUKIzEzNjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjU5 OgorICAgICAgIC8qKiBDYW4gYmUgZmlsbGVkIGluIGJ5IG9wZW4uIEl0IHNpZ25hbHMgdGhlIGtl cm5lbCB0aGF0IGFueQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTM2MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NjA6CiteSSAgICBjdXJy ZW50bHkgY2FjaGVkIGZpbGUgZGF0YSAoaWUuLCBkYXRhIHRoYXQgdGhlIGZpbGVzeXN0ZW0kCgpX QVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgKiBvbiBzdWJzZXF1ZW50IGxpbmVzCiMxMzYxOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo2MDoKKyAgICAgICAvKiogQ2FuIGJl IGZpbGxlZCBpbiBieSBvcGVuLiBJdCBzaWduYWxzIHRoZSBrZXJuZWwgdGhhdCBhbnkKKyAgICAg ICAgICAgY3VycmVudGx5IGNhY2hlZCBmaWxlIGRhdGEgKGllLiwgZGF0YSB0aGF0IHRoZSBmaWxl c3lzdGVtCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzYyOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo2MToKK15JICAgIHByb3ZpZGVkIHRo ZSBsYXN0IHRpbWUgdGhlIGZpbGUgd2FzIG9wZW4pIG5lZWQgbm90IGJlJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM2MzogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfY29tbW9uLmg6NjI6CiteSSAgICBpbnZhbGlkYXRlZC4gSGFzIG5vIGVmZmVjdCB3aGVu IHNldCBpbiBvdGhlciBjb250ZXh0cyAoaW4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxMzY0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo2 MzoKK15JICAgIHBhcnRpY3VsYXIgaXQgZG9lcyBub3RoaW5nIHdoZW4gc2V0IGJ5IG9wZW5kaXIo KSkuICovJAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlIGEgdHJhaWxpbmcgKi8gb24gYSBz ZXBhcmF0ZSBsaW5lCiMxMzY0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo2 MzoKKyAgICAgICAgICAgcGFydGljdWxhciBpdCBkb2VzIG5vdGhpbmcgd2hlbiBzZXQgYnkgb3Bl bmRpcigpKS4gKi8KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEz NjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjY0OgorXkl1bnNpZ25lZCBp bnQga2VlcF9jYWNoZSA6IDE7JAoKRVJST1I6IHNwYWNlcyBwcm9oaWJpdGVkIGFyb3VuZCB0aGF0 ICc6JyAoY3R4Old4VykKIzEzNjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5o OjY0OgorICAgICAgIHVuc2lnbmVkIGludCBrZWVwX2NhY2hlIDogMTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxMzY3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo2NjoKK15JLyoq IEluZGljYXRlcyBhIGZsdXNoIG9wZXJhdGlvbi4gIFNldCBpbiBmbHVzaCBvcGVyYXRpb24sIGFs c28kCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJh dGUgbGluZQojMTM2NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NjY6Cisg ICAgICAgLyoqIEluZGljYXRlcyBhIGZsdXNoIG9wZXJhdGlvbi4gIFNldCBpbiBmbHVzaCBvcGVy YXRpb24sIGFsc28KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEz Njg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjY3OgorXkkgICAgbWF5YmUg c2V0IGluIGhpZ2hsZXZlbCBsb2NrIG9wZXJhdGlvbiBhbmQgbG93bGV2ZWwgcmVsZWFzZSQKCldB Uk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSAqIG9uIHN1YnNlcXVlbnQgbGluZXMKIzEzNjg6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjY3OgorICAgICAgIC8qKiBJbmRpY2F0 ZXMgYSBmbHVzaCBvcGVyYXRpb24uICBTZXQgaW4gZmx1c2ggb3BlcmF0aW9uLCBhbHNvCisgICAg ICAgICAgIG1heWJlIHNldCBpbiBoaWdobGV2ZWwgbG9jayBvcGVyYXRpb24gYW5kIGxvd2xldmVs IHJlbGVhc2UKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzNjk6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjY4OgorXkkgICAgb3BlcmF0aW9u LiAqLyQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIHRyYWlsaW5nICovIG9uIGEgc2Vw YXJhdGUgbGluZQojMTM2OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6Njg6 CisgICAgICAgICAgIG9wZXJhdGlvbi4gKi8KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzEzNzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjY5 OgorXkl1bnNpZ25lZCBpbnQgZmx1c2ggOiAxOyQKCkVSUk9SOiBzcGFjZXMgcHJvaGliaXRlZCBh cm91bmQgdGhhdCAnOicgKGN0eDpXeFcpCiMxMzcwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9jb21tb24uaDo2OToKKyAgICAgICB1bnNpZ25lZCBpbnQgZmx1c2ggOiAxOwogICAgICAgICAg ICAgICAgICAgICAgICAgICBeCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxMzcyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo3MToKK15JLyoq IENhbiBiZSBmaWxsZWQgaW4gYnkgb3BlbiwgdG8gaW5kaWNhdGUgdGhhdCB0aGUgZmlsZSBpcyBu b3QkCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJh dGUgbGluZQojMTM3MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NzE6Cisg ICAgICAgLyoqIENhbiBiZSBmaWxsZWQgaW4gYnkgb3BlbiwgdG8gaW5kaWNhdGUgdGhhdCB0aGUg ZmlsZSBpcyBub3QKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEz NzM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjcyOgorXkkgICAgc2Vla2Fi bGUuICovJAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlICogb24gc3Vic2VxdWVudCBsaW5l cwojMTM3MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NzI6CisgICAgICAg LyoqIENhbiBiZSBmaWxsZWQgaW4gYnkgb3BlbiwgdG8gaW5kaWNhdGUgdGhhdCB0aGUgZmlsZSBp cyBub3QKKyAgICAgICAgICAgc2Vla2FibGUuICovCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1 c2UgYSB0cmFpbGluZyAqLyBvbiBhIHNlcGFyYXRlIGxpbmUKIzEzNzM6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjcyOgorICAgICAgICAgICBzZWVrYWJsZS4gKi8KCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzNzQ6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjczOgorXkl1bnNpZ25lZCBpbnQgbm9uc2Vla2FibGUgOiAx OyQKCkVSUk9SOiBzcGFjZXMgcHJvaGliaXRlZCBhcm91bmQgdGhhdCAnOicgKGN0eDpXeFcpCiMx Mzc0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo3MzoKKyAgICAgICB1bnNp Z25lZCBpbnQgbm9uc2Vla2FibGUgOiAxOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzc2OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo3NToKK15JLyogSW5kaWNhdGVzIHRoYXQg ZmxvY2sgbG9ja3MgZm9yIHRoaXMgZmlsZSBzaG91bGQgYmUkCgpXQVJOSU5HOiBCbG9jayBjb21t ZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJhdGUgbGluZQojMTM3NjogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NzU6CisgICAgICAgLyogSW5kaWNhdGVzIHRoYXQg ZmxvY2sgbG9ja3MgZm9yIHRoaXMgZmlsZSBzaG91bGQgYmUKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzNzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2Nv bW1vbi5oOjc2OgorXkkgICByZWxlYXNlZC4gIElmIHNldCwgbG9ja19vd25lciBzaGFsbCBjb250 YWluIGEgdmFsaWQgdmFsdWUuJAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlICogb24gc3Vi c2VxdWVudCBsaW5lcwojMTM3NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6 NzY6CisgICAgICAgLyogSW5kaWNhdGVzIHRoYXQgZmxvY2sgbG9ja3MgZm9yIHRoaXMgZmlsZSBz aG91bGQgYmUKKyAgICAgICAgICByZWxlYXNlZC4gIElmIHNldCwgbG9ja19vd25lciBzaGFsbCBj b250YWluIGEgdmFsaWQgdmFsdWUuCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxMzc4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo3NzoKK15J ICAgTWF5IG9ubHkgYmUgc2V0IGluIC0+cmVsZWFzZSgpLiAqLyQKCldBUk5JTkc6IEJsb2NrIGNv bW1lbnRzIHVzZSBhIHRyYWlsaW5nICovIG9uIGEgc2VwYXJhdGUgbGluZQojMTM3ODogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6Nzc6CisgICAgICAgICAgTWF5IG9ubHkgYmUg c2V0IGluIC0+cmVsZWFzZSgpLiAqLwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMTM3OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6Nzg6Cite SXVuc2lnbmVkIGludCBmbG9ja19yZWxlYXNlIDogMTskCgpFUlJPUjogc3BhY2VzIHByb2hpYml0 ZWQgYXJvdW5kIHRoYXQgJzonIChjdHg6V3hXKQojMTM3OTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfY29tbW9uLmg6Nzg6CisgICAgICAgdW5zaWduZWQgaW50IGZsb2NrX3JlbGVhc2UgOiAx OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2NvbW1vbi5oOjgwOgorXkkvKiogQ2FuIGJlIGZpbGxlZCBpbiBieSBvcGVuZGlyLiBJdCBzaWdu YWxzIHRoZSBrZXJuZWwgdG8kCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5n IC8qIG9uIGEgc2VwYXJhdGUgbGluZQojMTM4MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf Y29tbW9uLmg6ODA6CisgICAgICAgLyoqIENhbiBiZSBmaWxsZWQgaW4gYnkgb3BlbmRpci4gSXQg c2lnbmFscyB0aGUga2VybmVsIHRvCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxMzgyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo4MToKK15J ICAgIGVuYWJsZSBjYWNoaW5nIG9mIGVudHJpZXMgcmV0dXJuZWQgYnkgcmVhZGRpcigpLiAgSGFz IG5vJAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlICogb24gc3Vic2VxdWVudCBsaW5lcwoj MTM4MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6ODE6CisgICAgICAgLyoq IENhbiBiZSBmaWxsZWQgaW4gYnkgb3BlbmRpci4gSXQgc2lnbmFscyB0aGUga2VybmVsIHRvCisg ICAgICAgICAgIGVuYWJsZSBjYWNoaW5nIG9mIGVudHJpZXMgcmV0dXJuZWQgYnkgcmVhZGRpcigp LiAgSGFzIG5vCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzgz OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo4MjoKK15JICAgIGVmZmVjdCB3 aGVuIHNldCBpbiBvdGhlciBjb250ZXh0cyAoaW4gcGFydGljdWxhciBpdCBkb2VzJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM4NDogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfY29tbW9uLmg6ODM6CiteSSAgICBub3RoaW5nIHdoZW4gc2V0IGJ5IG9wZW4o KSkuICovJAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlIGEgdHJhaWxpbmcgKi8gb24gYSBz ZXBhcmF0ZSBsaW5lCiMxMzg0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo4 MzoKKyAgICAgICAgICAgbm90aGluZyB3aGVuIHNldCBieSBvcGVuKCkpLiAqLwoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM4NTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfY29tbW9uLmg6ODQ6CiteSXVuc2lnbmVkIGludCBjYWNoZV9yZWFkZGlyIDogMTsk CgpFUlJPUjogc3BhY2VzIHByb2hpYml0ZWQgYXJvdW5kIHRoYXQgJzonIChjdHg6V3hXKQojMTM4 NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6ODQ6CisgICAgICAgdW5zaWdu ZWQgaW50IGNhY2hlX3JlYWRkaXIgOiAxOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzODc6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjg2OgorXkkvKiogUGFkZGluZy4gIFJl c2VydmVkIGZvciBmdXR1cmUgdXNlKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMzg4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo4NzoK K15JdW5zaWduZWQgaW50IHBhZGRpbmcgOiAyNTskCgpFUlJPUjogc3BhY2VzIHByb2hpYml0ZWQg YXJvdW5kIHRoYXQgJzonIChjdHg6V3hXKQojMTM4ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfY29tbW9uLmg6ODc6CisgICAgICAgdW5zaWduZWQgaW50IHBhZGRpbmcgOiAyNTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMzg5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo4ODoK K15JdW5zaWduZWQgaW50IHBhZGRpbmcyIDogMzI7JAoKRVJST1I6IHNwYWNlcyBwcm9oaWJpdGVk IGFyb3VuZCB0aGF0ICc6JyAoY3R4Old4VykKIzEzODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2NvbW1vbi5oOjg4OgorICAgICAgIHVuc2lnbmVkIGludCBwYWRkaW5nMiA6IDMyOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxMzkxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo5 MDoKK15JLyoqIEZpbGUgaGFuZGxlIGlkLiAgTWF5IGJlIGZpbGxlZCBpbiBieSBmaWxlc3lzdGVt IGluIGNyZWF0ZSwkCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9u IGEgc2VwYXJhdGUgbGluZQojMTM5MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9u Lmg6OTA6CisgICAgICAgLyoqIEZpbGUgaGFuZGxlIGlkLiAgTWF5IGJlIGZpbGxlZCBpbiBieSBm aWxlc3lzdGVtIGluIGNyZWF0ZSwKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEzOTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjkxOgorXkkg KiBvcGVuLCBhbmQgb3BlbmRpcigpLiAgQXZhaWxhYmxlIGluIG1vc3Qgb3RoZXIgZmlsZSBvcGVy YXRpb25zIG9uIHRoZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzEzOTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjkyOgorXkkgKiBzYW1l IGZpbGUgaGFuZGxlLiAqLyQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIHRyYWlsaW5n ICovIG9uIGEgc2VwYXJhdGUgbGluZQojMTM5MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf Y29tbW9uLmg6OTI6CisgICAgICAgICogc2FtZSBmaWxlIGhhbmRsZS4gKi8KCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzOTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2NvbW1vbi5oOjkzOgorXkl1aW50NjRfdCBmaDskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzk2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9j b21tb24uaDo5NToKK15JLyoqIExvY2sgb3duZXIgaWQuICBBdmFpbGFibGUgaW4gbG9ja2luZyBv cGVyYXRpb25zIGFuZCBmbHVzaCAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzEzOTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjk2Ogor Xkl1aW50NjRfdCBsb2NrX293bmVyOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzEzOTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjk4Ogor XkkvKiogUmVxdWVzdGVkIHBvbGwgZXZlbnRzLiAgQXZhaWxhYmxlIGluIC0+cG9sbC4gIE9ubHkg c2V0IG9uIGtlcm5lbHMkCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8q IG9uIGEgc2VwYXJhdGUgbGluZQojMTM5OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29t bW9uLmg6OTg6CisgICAgICAgLyoqIFJlcXVlc3RlZCBwb2xsIGV2ZW50cy4gIEF2YWlsYWJsZSBp biAtPnBvbGwuICBPbmx5IHNldCBvbiBrZXJuZWxzCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxNDAwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24u aDo5OToKK15JICAgIHdoaWNoIHN1cHBvcnQgaXQuICBJZiB1bnN1cHBvcnRlZCwgdGhpcyBmaWVs ZCBpcyBzZXQgdG8gemVyby4gKi8kCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgKiBvbiBz dWJzZXF1ZW50IGxpbmVzCiMxNDAwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24u aDo5OToKKyAgICAgICAvKiogUmVxdWVzdGVkIHBvbGwgZXZlbnRzLiAgQXZhaWxhYmxlIGluIC0+ cG9sbC4gIE9ubHkgc2V0IG9uIGtlcm5lbHMKKyAgICAgICAgICAgd2hpY2ggc3VwcG9ydCBpdC4g IElmIHVuc3VwcG9ydGVkLCB0aGlzIGZpZWxkIGlzIHNldCB0byB6ZXJvLiAqLwoKV0FSTklORzog QmxvY2sgY29tbWVudHMgdXNlIGEgdHJhaWxpbmcgKi8gb24gYSBzZXBhcmF0ZSBsaW5lCiMxNDAw OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo5OToKKyAgICAgICAgICAgd2hp Y2ggc3VwcG9ydCBpdC4gIElmIHVuc3VwcG9ydGVkLCB0aGlzIGZpZWxkIGlzIHNldCB0byB6ZXJv LiAqLwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQwMTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6MTAwOgorXkl1aW50MzJfdCBwb2xsX2V2 ZW50czskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNDA5OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDoxMDg6CiteSS8qKiQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0MTA6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2NvbW1vbi5oOjEwOToKK15JICogd2hldGhlciB0byB1c2Ugc2VwYXJhdGUgZGV2 aWNlIGZkcyBmb3IgZWFjaCB0aHJlYWQkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxNDExOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDoxMTA6 CiteSSAqIChtYXkgaW5jcmVhc2UgcGVyZm9ybWFuY2UpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTQxMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29t bW9uLmg6MTExOgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxNDEzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDoxMTI6CiteSWlu dCBjbG9uZV9mZDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx NDE1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDoxMTQ6CiteSS8qKiQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0MTY6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjExNToKK15JICogVGhlIG1heGltdW0gbnVtYmVyIG9m IGF2YWlsYWJsZSB3b3JrZXIgdGhyZWFkcyBiZWZvcmUgdGhleSQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0MTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2NvbW1vbi5oOjExNjoKK15JICogc3RhcnQgdG8gZ2V0IGRlbGV0ZWQgd2hlbiB0aGV5IGJlY29t ZSBpZGxlLiBJZiBub3QkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxNDE4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDoxMTc6CiteSSAqIHNw ZWNpZmllZCwgdGhlIGRlZmF1bHQgaXMgMTAuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTQxOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6 MTE4OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0 MjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjExOToKK15JICogQWRqdXN0 aW5nIHRoaXMgaGFzIHBlcmZvcm1hbmNlIGltcGxpY2F0aW9uczsgYSB2ZXJ5IHNtYWxsIG51bWJl ciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0MjE6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjEyMDoKK15JICogb2YgdGhyZWFkcyBpbiB0 aGUgcG9vbCB3aWxsIGNhdXNlIGEgbG90IG9mIHRocmVhZCBjcmVhdGlvbiBhbmQkCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNDIyOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9jb21tb24uaDoxMjE6CiteSSAqIGRlbGV0aW9uIG92ZXJoZWFkIGFuZCBwZXJm b3JtYW5jZSBtYXkgc3VmZmVyLiBXaGVuIHNldCB0byAwLCBhIG5ldyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0MjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2NvbW1vbi5oOjEyMjoKK15JICogdGhyZWFkIHdpbGwgYmUgY3JlYXRlZCB0byBzZXJ2aWNl IGV2ZXJ5IG9wZXJhdGlvbi4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxNDI0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDoxMjM6CiteSSAq LyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0MjU6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjEyNDoKK15JdW5zaWduZWQgaW50IG1heF9p ZGxlX3RocmVhZHM7JAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlIGEgbGVhZGluZyAvKiBv biBhIHNlcGFyYXRlIGxpbmUKIzE0Mjg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1v bi5oOjEyNzoKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTQ0MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6 MTQxOgorI2RlZmluZSBGVVNFX0NBUF9BU1lOQ19SRUFEXkleSSgxIDw8IDApJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQ1MDogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfY29tbW9uLmg6MTQ5OgorI2RlZmluZSBGVVNFX0NBUF9QT1NJWF9MT0NLU15JXkko MSA8PCAxKSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0NTk6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjE1ODoKKyNkZWZpbmUgRlVTRV9D QVBfQVRPTUlDX09fVFJVTkNeSV5JKDEgPDwgMykkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxNDY2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24u aDoxNjU6CisjZGVmaW5lIEZVU0VfQ0FQX0VYUE9SVF9TVVBQT1JUXkleSSgxIDw8IDQpJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQ3NDogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6MTczOgorI2RlZmluZSBGVVNFX0NBUF9ET05UX01BU0te SV5JKDEgPDwgNikkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx NDgyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDoxODE6CisjZGVmaW5lIEZV U0VfQ0FQX1NQTElDRV9XUklURV5JXkkoMSA8PCA3KSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzE0OTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1v bi5oOjE4OToKKyNkZWZpbmUgRlVTRV9DQVBfU1BMSUNFX01PVkVeSV5JKDEgPDwgOCkkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNDk5OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9jb21tb24uaDoxOTg6CisjZGVmaW5lIEZVU0VfQ0FQX1NQTElDRV9SRUFE XkleSSgxIDw8IDkpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTUxMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6MjExOgorI2RlZmluZSBG VVNFX0NBUF9GTE9DS19MT0NLU15JXkkoMSA8PCAxMCkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxNTE5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21t b24uaDoyMTg6CisjZGVmaW5lIEZVU0VfQ0FQX0lPQ1RMX0RJUl5JXkkoMSA8PCAxMSkkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTQxOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9jb21tb24uaDoyNDA6CisjZGVmaW5lIEZVU0VfQ0FQX0FVVE9fSU5WQUxf REFUQV5JKDEgPDwgMTIpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTU0OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6MjQ4OgorI2RlZmlu ZSBGVVNFX0NBUF9SRUFERElSUExVU15JXkkoMSA8PCAxMykkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTc3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9j b21tb24uaDoyNzY6CisjZGVmaW5lIEZVU0VfQ0FQX1JFQURESVJQTFVTX0FVVE9eSSgxIDw8IDE0 KSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE1ODg6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjI4NzoKKyNkZWZpbmUgRlVTRV9DQVBfQVNZ TkNfRElPXkleSSgxIDw8IDE1KSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzE1OTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjI5NjoKKyNk ZWZpbmUgRlVTRV9DQVBfV1JJVEVCQUNLX0NBQ0hFXkkoMSA8PCAxNikkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNjEwOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9jb21tb24uaDozMDk6CisjZGVmaW5lIEZVU0VfQ0FQX05PX09QRU5fU1VQUE9SVF5JKDEg PDwgMTcpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY3Mjog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6MzcxOgorI2RlZmluZSBGVVNFX0lP Q1RMX0NPTVBBVF5JKDEgPDwgMCkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxNjczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDozNzI6Cisj ZGVmaW5lIEZVU0VfSU9DVExfVU5SRVNUUklDVEVEXkkoMSA8PCAxKSQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2NzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2NvbW1vbi5oOjM3MzoKKyNkZWZpbmUgRlVTRV9JT0NUTF9SRVRSWV5JKDEgPDwgMikkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNjc1OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDozNzQ6CisjZGVmaW5lIEZVU0VfSU9DVExfRElSXkle SSgxIDw8IDQpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY3 NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6Mzc2OgorI2RlZmluZSBGVVNF X0lPQ1RMX01BWF9JT1ZeSTI1NiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzE2ODc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjM4NjoKK15J LyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY4ODogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6Mzg3OgorXkkgKiBNYWpvciB2ZXJzaW9u IG9mIHRoZSBwcm90b2NvbCAocmVhZC1vbmx5KSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzE2ODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5o OjM4ODoKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTY5MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6Mzg5OgorXkl1bnNpZ25l ZCBwcm90b19tYWpvcjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxNjkyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDozOTE6CiteSS8qKiQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2OTM6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjM5MjoKK15JICogTWlub3IgdmVyc2lvbiBvZiB0 aGUgcHJvdG9jb2wgKHJlYWQtb25seSkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxNjk0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDozOTM6 CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2OTU6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjM5NDoKK15JdW5zaWduZWQgcHJv dG9fbWlub3I7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY5 NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6Mzk2OgorXkkvKiokCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNjk4OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9jb21tb24uaDozOTc6CiteSSAqIE1heGltdW0gc2l6ZSBvZiB0aGUgd3Jp dGUgYnVmZmVyJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY5 OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6Mzk4OgorXkkgKi8kCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzAwOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9jb21tb24uaDozOTk6CiteSXVuc2lnbmVkIG1heF93cml0ZTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzAyOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo0MDE6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3MDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2Nv bW1vbi5oOjQwMjoKK15JICogTWF4aW11bSBzaXplIG9mIHJlYWQgcmVxdWVzdHMuIEEgdmFsdWUg b2YgemVybyBpbmRpY2F0ZXMgbm8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxNzA0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo0MDM6Cite SSAqIGxpbWl0LiBIb3dldmVyLCBldmVuIGlmIHRoZSBmaWxlc3lzdGVtIGRvZXMgbm90IHNwZWNp ZnkgYSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3MDU6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjQwNDoKK15JICogbGltaXQsIHRoZSBt YXhpbXVtIHNpemUgb2YgcmVhZCByZXF1ZXN0cyB3aWxsIHN0aWxsIGJlJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTcwNjogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfY29tbW9uLmg6NDA1OgorXkkgKiBsaW1pdGVkIGJ5IHRoZSBrZXJuZWwuJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTcwNzogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfY29tbW9uLmg6NDA2OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzE3MDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1v bi5oOjQwNzoKK15JICogTk9URTogRm9yIHRoZSB0aW1lIGJlaW5nLCB0aGUgbWF4aW11bSBzaXpl IG9mIHJlYWQgcmVxdWVzdHMkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxNzA5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo0MDg6CiteSSAq IG11c3QgYmUgc2V0IGJvdGggaGVyZSAqYW5kKiBwYXNzZWQgdG8gZnVzZV9zZXNzaW9uX25ldygp JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTcxMDogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NDA5OgorXkkgKiB1c2luZyB0aGUgYGAtbyBt YXhfcmVhZD08bj5gYCBtb3VudCBvcHRpb24uIEF0IHNvbWUgcG9pbnQkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzExOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9jb21tb24uaDo0MTA6CiteSSAqIGluIHRoZSBmdXR1cmUsIHNwZWNpZnlpbmcgdGhlIG1v dW50IG9wdGlvbiB3aWxsIG5vIGxvbmdlciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzE3MTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjQx MToKK15JICogYmUgbmVjZXNzYXJ5LiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzE3MTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjQxMjoK K15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTcxNDog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NDEzOgorXkl1bnNpZ25lZCBtYXhf cmVhZDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzE2OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo0MTU6CiteSS8qKiQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3MTc6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2NvbW1vbi5oOjQxNjoKK15JICogTWF4aW11bSByZWFkYWhlYWQkCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzE4OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9jb21tb24uaDo0MTc6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzE3MTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1v bi5oOjQxODoKK15JdW5zaWduZWQgbWF4X3JlYWRhaGVhZDskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzIxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9j b21tb24uaDo0MjA6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzE3MjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjQyMToKK15J ICogQ2FwYWJpbGl0eSBmbGFncyB0aGF0IHRoZSBrZXJuZWwgc3VwcG9ydHMgKHJlYWQtb25seSkk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzIzOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo0MjI6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3MjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2NvbW1vbi5oOjQyMzoKK15JdW5zaWduZWQgY2FwYWJsZTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzI2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9jb21tb24uaDo0MjU6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzE3Mjc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjQyNjoK K15JICogQ2FwYWJpbGl0eSBmbGFncyB0aGF0IHRoZSBmaWxlc3lzdGVtIHdhbnRzIHRvIGVuYWJs ZS4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzI4OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo0Mjc6CiteSSAqJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTcyOTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfY29tbW9uLmg6NDI4OgorXkkgKiBsaWJmdXNlIGF0dGVtcHRzIHRvIGluaXRpYWxpemUg dGhpcyBmaWVsZCB3aXRoJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTczMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NDI5OgorXkkgKiBy ZWFzb25hYmxlIGRlZmF1bHQgdmFsdWVzIGJlZm9yZSBjYWxsaW5nIHRoZSBpbml0KCkgaGFuZGxl ci4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzMxOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo0MzA6CiteSSAqLyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3MzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2NvbW1vbi5oOjQzMToKK15JdW5zaWduZWQgd2FudDskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzM0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9jb21tb24uaDo0MzM6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzE3MzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjQzNDoK K15JICogTWF4aW11bSBudW1iZXIgb2YgcGVuZGluZyAiYmFja2dyb3VuZCIgcmVxdWVzdHMuIEEk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzM2OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo0MzU6CiteSSAqIGJhY2tncm91bmQgcmVxdWVz dCBpcyBhbnkgdHlwZSBvZiByZXF1ZXN0IGZvciB3aGljaCB0aGUkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzM3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9jb21tb24uaDo0MzY6CiteSSAqIHRvdGFsIG51bWJlciBpcyBub3QgbGltaXRlZCBieSBvdGhl ciBtZWFucy4gQXMgb2Yga2VybmVsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMTczODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NDM3Ogor XkkgKiA0LjgsIG9ubHkgdHdvIHR5cGVzIG9mIHJlcXVlc3RzIGZhbGwgaW50byB0aGlzIGNhdGVn b3J5OiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3Mzk6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjQzODoKK15JICokCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzQwOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9jb21tb24uaDo0Mzk6CiteSSAqICAgMS4gUmVhZC1haGVhZCByZXF1ZXN0cyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3NDE6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjQ0MDoKK15JICogICAyLiBBc3luY2hyb25vdXMgZGly ZWN0IEkvTyByZXF1ZXN0cyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzE3NDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjQ0MToKK15JICok CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzQzOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo0NDI6CiteSSAqIFJlYWQtYWhlYWQgcmVxdWVz dHMgYXJlIGdlbmVyYXRlZCAoaWYgbWF4X3JlYWRhaGVhZCBpcyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3NDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2NvbW1vbi5oOjQ0MzoKK15JICogbm9uLXplcm8pIGJ5IHRoZSBrZXJuZWwgdG8gcHJlZW1wdGl2 ZWx5IGZpbGwgaXRzIGNhY2hlcyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzE3NDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjQ0NDoKK15J ICogd2hlbiBpdCBhbnRpY2lwYXRlcyB0aGF0IHVzZXJzcGFjZSB3aWxsIHNvb24gcmVhZCBtb3Jl JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTc0NjogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NDQ1OgorXkkgKiBkYXRhLiQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3NDc6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2NvbW1vbi5oOjQ0NjoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxNzQ4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24u aDo0NDc6CiteSSAqIEFzeW5jaHJvbm91cyBkaXJlY3QgSS9PIHJlcXVlc3RzIGFyZSBnZW5lcmF0 ZWQgaWYkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzQ5OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo0NDg6CiteSSAqIEZVU0VfQ0FQX0FT WU5DX0RJTyBpcyBlbmFibGVkIGFuZCB1c2Vyc3BhY2Ugc3VibWl0cyBhIGxhcmdlJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTc1MDogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfY29tbW9uLmg6NDQ5OgorXkkgKiBkaXJlY3QgSS9PIHJlcXVlc3QuIEluIHRo aXMgY2FzZSB0aGUga2VybmVsIHdpbGwgaW50ZXJuYWxseSQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3NTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2Nv bW1vbi5oOjQ1MDoKK15JICogc3BsaXQgaXQgdXAgaW50byBtdWx0aXBsZSBzbWFsbGVyIHJlcXVl c3RzIGFuZCBzdWJtaXQgdGhlbSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzE3NTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjQ1MToKK15J ICogdG8gdGhlIGZpbGVzeXN0ZW0gY29uY3VycmVudGx5LiQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3NTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2Nv bW1vbi5oOjQ1MjoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxNzU0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo0NTM6CiteSSAq IE5vdGUgdGhhdCB0aGUgZm9sbG93aW5nIHJlcXVlc3RzIGFyZSAqbm90KiBiYWNrZ3JvdW5kJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTc1NTogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NDU0OgorXkkgKiByZXF1ZXN0czogd3JpdGViYWNr IHJlcXVlc3RzIChsaW1pdGVkIGJ5IHRoZSBrZXJuZWwncyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3NTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2Nv bW1vbi5oOjQ1NToKK15JICogZmx1c2hlciBhbGdvcml0aG0pLCByZWd1bGFyIChpLmUuLCBzeW5j aHJvbm91cyBhbmQkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx NzU3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo0NTY6CiteSSAqIGJ1ZmZl cmVkKSB1c2Vyc3BhY2UgcmVhZC93cml0ZSByZXF1ZXN0cyAobGltaXRlZCB0byBvbmUgcGVyJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTc1ODogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NDU3OgorXkkgKiB0aHJlYWQpLCBhc3luY2hyb25v dXMgcmVhZCByZXF1ZXN0cyAoTGludXgncyBpb19zdWJtaXQoMikkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzU5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9jb21tb24uaDo0NTg6CiteSSAqIGNhbGwgYWN0dWFsbHkgYmxvY2tzLCBzbyB0aGVzZSBhcmUg YWxzbyBsaW1pdGVkIHRvIG9uZSBwZXIkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxNzYwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo0NTk6 CiteSSAqIHRocmVhZCkuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTc2MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NDYwOgorXkkgKi8k CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzYyOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo0NjE6CiteSXVuc2lnbmVkIG1heF9iYWNrZ3Jv dW5kOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3NjQ6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjQ2MzoKK15JLyoqJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTc2NTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfY29tbW9uLmg6NDY0OgorXkkgKiBLZXJuZWwgY29uZ2VzdGlvbiB0aHJlc2hvbGQg cGFyYW1ldGVyLiBJZiB0aGUgbnVtYmVyIG9mIHBlbmRpbmckCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzY2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9j b21tb24uaDo0NjU6CiteSSAqIGJhY2tncm91bmQgcmVxdWVzdHMgZXhjZWVkcyB0aGlzIG51bWJl ciwgdGhlIEZVU0Uga2VybmVsIG1vZHVsZSB3aWxsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTc2NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9u Lmg6NDY2OgorXkkgKiBtYXJrIHRoZSBmaWxlc3lzdGVtIGFzICJjb25nZXN0ZWQiLiBUaGlzIGlu c3RydWN0cyB0aGUga2VybmVsIHRvJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMTc2ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NDY3Ogor XkkgKiBleHBlY3QgdGhhdCBxdWV1ZWQgcmVxdWVzdHMgd2lsbCB0YWtlIHNvbWUgdGltZSB0byBj b21wbGV0ZSwgYW5kIHRvJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTc2OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NDY4OgorXkkgKiBh ZGp1c3QgaXRzIGFsZ29yaXRobXMgYWNjb3JkaW5nbHkgKGUuZy4gYnkgcHV0dGluZyBhIHdhaXRp bmcgdGhyZWFkJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTc3 MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NDY5OgorXkkgKiB0byBzbGVl cCBpbnN0ZWFkIG9mIHVzaW5nIGEgYnVzeS1sb29wKS4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxNzcxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21t b24uaDo0NzA6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzE3NzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjQ3MToKK15JdW5z aWduZWQgY29uZ2VzdGlvbl90aHJlc2hvbGQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTc3NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6 NDczOgorXkkvKiokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx Nzc1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo0NzQ6CiteSSAqIFdoZW4g RlVTRV9DQVBfV1JJVEVCQUNLX0NBQ0hFIGlzIGVuYWJsZWQsIHRoZSBrZXJuZWwgaXMgcmVzcG9u c2libGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzc2OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo0NzU6CiteSSAqIGZvciB1cGRhdGlu ZyBtdGltZSBhbmQgY3RpbWUgd2hlbiB3cml0ZSByZXF1ZXN0cyBhcmUgcmVjZWl2ZWQuIFRoZSQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3Nzc6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjQ3NjoKK15JICogdXBkYXRlZCB2YWx1ZXMgYXJl IHBhc3NlZCB0byB0aGUgZmlsZXN5c3RlbSB3aXRoIHNldGF0dHIoKSByZXF1ZXN0cy4kCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzc4OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo0Nzc6CiteSSAqIEhvd2V2ZXIsIGlmIHRoZSBmaWxlc3lz dGVtIGRvZXMgbm90IHN1cHBvcnQgdGhlIGZ1bGwgcmVzb2x1dGlvbiBvZiQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3Nzk6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2NvbW1vbi5oOjQ3ODoKK15JICogdGhlIGtlcm5lbCB0aW1lc3RhbXBzIChuYW5vc2Vj b25kcyksIHRoZSBtdGltZSBhbmQgY3RpbWUgdmFsdWVzIHVzZWQkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzgwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9jb21tb24uaDo0Nzk6CiteSSAqIGJ5IGtlcm5lbCBhbmQgZmlsZXN5c3RlbSB3aWxsIGRpZmZl ciAoYW5kIHJlc3VsdCBpbiBhbiBhcHBhcmVudCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzE3ODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5o OjQ4MDoKK15JICogY2hhbmdlIG9mIHRpbWVzIGFmdGVyIGEgY2FjaGUgZmx1c2gpLiQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3ODI6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjQ4MToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxNzgzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21t b24uaDo0ODI6CiteSSAqIFRvIHByZXZlbnQgdGhpcyBwcm9ibGVtLCB0aGlzIHZhcmlhYmxlIGNh biBiZSB1c2VkIHRvIGluZm9ybSB0aGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxNzg0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo0ODM6 CiteSSAqIGtlcm5lbCBhYm91dCB0aGUgdGltZXN0YW1wIGdyYW51bGFyaXR5IHN1cHBvcnRlZCBi eSB0aGUgZmlsZS1zeXN0ZW0uJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMTc4NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NDg0OgorXkkg KiBUaGUgdmFsdWUgc2hvdWxkIGJlIHBvd2VyIG9mIDEwLiAgVGhlIGRlZmF1bHQgaXMgMSwgaS5l LiBmdWxsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTc4Njog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NDg1OgorXkkgKiBuYW5vLXNlY29u ZCByZXNvbHV0aW9uLiBGaWxlc3lzdGVtcyBzdXBwb3J0aW5nIG9ubHkgc2Vjb25kIHJlc29sdXRp b24kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzg3OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo0ODY6CiteSSAqIHNob3VsZCBzZXQgdGhp cyB0byAxMDAwMDAwMDAwLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzE3ODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjQ4NzoKK15JICov JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTc4OTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NDg4OgorXkl1bnNpZ25lZCB0aW1lX2dyYW47 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTc5MTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NDkwOgorXkkvKiokCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzkyOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9jb21tb24uaDo0OTE6CiteSSAqIEZvciBmdXR1cmUgdXNlLiQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3OTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2NvbW1vbi5oOjQ5MjoKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTc5NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NDkz OgorXkl1bnNpZ25lZCByZXNlcnZlZFsyMl07JAoKV0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJh Y3RlcnMKIzE4MjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjUyMDoKKyAq ICAgLW8gbm9fcmVtb3RlX2xvY2sgICAgICBFcXVpdmFsZW50IHRvIC1vIG5vX3JlbW90ZV9mbG9j ayxub19yZW1vdGVfcG9zaXhfbG9jawoKRVJST1I6ICJmb28qIGJhciIgc2hvdWxkIGJlICJmb28g KmJhciIKIzE4NDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjU0MjoKK3N0 cnVjdCBmdXNlX2Nvbm5faW5mb19vcHRzKiBmdXNlX3BhcnNlX2Nvbm5faW5mb19vcHRzKHN0cnVj dCBmdXNlX2FyZ3MgKmFyZ3MpOwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMTg1MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NTUyOgorXkle SV5JICBzdHJ1Y3QgZnVzZV9jb25uX2luZm8gKmNvbm4pOyQKCldBUk5JTkc6IEJsb2NrIGNvbW1l bnRzIHVzZSBhIGxlYWRpbmcgLyogb24gYSBzZXBhcmF0ZSBsaW5lCiMxODg0OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo1ODM6CisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxODg1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9jb21tb24uaDo1ODQ6CisgKiBEYXRhIGJ1ZmZlcl5JXkleSV5JXkleSSAgICAgICAqJAoKV0FS TklORzogQmxvY2sgY29tbWVudHMgdXNlIGEgdHJhaWxpbmcgKi8gb24gYSBzZXBhcmF0ZSBsaW5l CiMxODg2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo1ODU6CisgKiAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAq LwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTg5MjogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NTkxOgorXkkvKiokCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxODkzOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9jb21tb24uaDo1OTI6CiteSSAqIEJ1ZmZlciBjb250YWlucyBhIGZpbGUgZGVzY3JpcHRv ciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4OTQ6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjU5MzoKK15JICokCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxODk1OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9jb21tb24uaDo1OTQ6CiteSSAqIElmIHRoaXMgZmxhZyBpcyBzZXQsIHRoZSAuZmQgZmll bGQgaXMgdmFsaWQsIG90aGVyd2lzZSB0aGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxODk2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo1 OTU6CiteSSAqIC5tZW0gZmllbGRzIGlzIHZhbGlkLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzE4OTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1v bi5oOjU5NjoKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTg5ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NTk3OgorXklGVVNF X0JVRl9JU19GRF5JXkk9ICgxIDw8IDEpLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzE5MDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjU5 OToKK15JLyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTkw MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NjAwOgorXkkgKiBTZWVrIG9u IHRoZSBmaWxlIGRlc2NyaXB0b3IkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxOTAyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo2MDE6Cite SSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTkwMzogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NjAyOgorXkkgKiBJZiB0aGlzIGZsYWcg aXMgc2V0IHRoZW4gdGhlIC5wb3MgZmllbGQgaXMgdmFsaWQgYW5kIGlzJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTkwNDogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfY29tbW9uLmg6NjAzOgorXkkgKiB1c2VkIHRvIHNlZWsgdG8gdGhlIGdpdmVuIG9mZnNl dCBiZWZvcmUgcGVyZm9ybWluZyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzE5MDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjYwNDoKK15J ICogb3BlcmF0aW9uIG9uIGZpbGUgZGVzY3JpcHRvci4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxOTA2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21t b24uaDo2MDU6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzE5MDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjYwNjoKK15JRlVT RV9CVUZfRkRfU0VFS15JPSAoMSA8PCAyKSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxOTA5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo2 MDg6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5 MTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjYwOToKK15JICogUmV0cnkg b3BlcmF0aW9uIG9uIGZpbGUgZGVzY3JpcHRvciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzE5MTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5o OjYxMDoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx OTEyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo2MTE6CiteSSAqIElmIHRo aXMgZmxhZyBpcyBzZXQgdGhlbiByZXRyeSBvcGVyYXRpb24gb24gZmlsZSBkZXNjcmlwdG9yJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTkxMzogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NjEyOgorXkkgKiB1bnRpbCAuc2l6ZSBieXRlcyBo YXZlIGJlZW4gY29waWVkIG9yIGFuIGVycm9yIG9yIEVPRiBpcyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5MTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2NvbW1vbi5oOjYxMzoKK15JICogZGV0ZWN0ZWQuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTkxNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9u Lmg6NjE0OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxOTE2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo2MTU6CiteSUZVU0Vf QlVGX0ZEX1JFVFJZXkk9ICgxIDw8IDMpLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzE5MjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjYy MjoKK15JLyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTky NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NjIzOgorXkkgKiBEb24ndCB1 c2Ugc3BsaWNlKDIpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTkyNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NjI0OgorXkkgKiQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5MjY6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjYyNToKK15JICogQWx3YXlzIGZhbGwgYmFjayB0byB1 c2luZyByZWFkIGFuZCB3cml0ZSBpbnN0ZWFkIG9mJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTkyNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9u Lmg6NjI2OgorXkkgKiBzcGxpY2UoMikgdG8gY29weSBkYXRhIGZyb20gb25lIGZpbGUgZGVzY3Jp cHRvciB0byBhbm90aGVyLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzE5Mjg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjYyNzoKK15JICok CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTI5OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo2Mjg6CiteSSAqIElmIHRoaXMgZmxhZyBpcyBu b3Qgc2V0LCB0aGVuIG9ubHkgZmFsbCBiYWNrIGlmIHNwbGljZSBpcyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5MzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2NvbW1vbi5oOjYyOToKK15JICogdW5hdmFpbGFibGUuJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTkzMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf Y29tbW9uLmg6NjMwOgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxOTMyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo2MzE6Cite SUZVU0VfQlVGX05PX1NQTElDRV5JPSAoMSA8PCAxKSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxOTM0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21t b24uaDo2MzM6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzE5MzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjYzNDoKK15JICog Rm9yY2Ugc3BsaWNlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTkzNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NjM1OgorXkkgKiQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5Mzc6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjYzNjoKK15JICogQWx3YXlzIHVzZSBzcGxpY2UoMikg dG8gY29weSBkYXRhIGZyb20gb25lIGZpbGUgZGVzY3JpcHRvciQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5Mzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2NvbW1vbi5oOjYzNzoKK15JICogdG8gYW5vdGhlci4gIElmIHNwbGljZSBpcyBub3QgYXZhaWxh YmxlLCByZXR1cm4gLUVJTlZBTC4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxOTM5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo2Mzg6Cite SSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5NDA6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjYzOToKK15JRlVTRV9CVUZfRk9SQ0Vf U1BMSUNFXkk9ICgxIDw8IDIpLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzE5NDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjY0MToKK15J LyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk0MzogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NjQyOgorXkkgKiBUcnkgdG8gbW92ZSBk YXRhIHdpdGggc3BsaWNlLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzE5NDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjY0MzoKK15JICok CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTQ1OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo2NDQ6CiteSSAqIElmIHNwbGljZSBpcyB1c2Vk LCB0cnkgdG8gbW92ZSBwYWdlcyBmcm9tIHRoZSBzb3VyY2UgdG8gdGhlJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk0NjogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfY29tbW9uLmg6NjQ1OgorXkkgKiBkZXN0aW5hdGlvbiBpbnN0ZWFkIG9mIGNvcHlpbmcu ICBTZWUgZG9jdW1lbnRhdGlvbiBvZiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzE5NDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjY0NjoK K15JICogU1BMSUNFX0ZfTU9WRSBpbiBzcGxpY2UoMikgbWFuIHBhZ2UuJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk0ODogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfY29tbW9uLmg6NjQ3OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxOTQ5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo2 NDg6CiteSUZVU0VfQlVGX1NQTElDRV9NT1ZFXkk9ICgxIDw8IDMpLCQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5NTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2NvbW1vbi5oOjY1MDoKK15JLyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTk1MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NjUx OgorXkkgKiBEb24ndCBibG9jayBvbiB0aGUgcGlwZSB3aGVuIGNvcHlpbmcgZGF0YSB3aXRoIHNw bGljZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5NTM6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjY1MjoKK15JICokCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTU0OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9jb21tb24uaDo2NTM6CiteSSAqIE1ha2VzIHRoZSBvcGVyYXRpb25zIG9uIHRoZSBw aXBlIG5vbi1ibG9ja2luZyAoaWYgdGhlIHBpcGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxOTU1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24u aDo2NTQ6CiteSSAqIGlzIGZ1bGwgb3IgZW1wdHkpLiAgU2VlIFNQTElDRV9GX05PTkJMT0NLIGlu IHRoZSBzcGxpY2UoMikkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxOTU2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo2NTU6CiteSSAqIG1h biBwYWdlLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5NTc6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjY1NjoKK15JICovJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk1ODogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfY29tbW9uLmg6NjU3OgorXklGVVNFX0JVRl9TUExJQ0VfTk9OQkxPQ0s9ICgx IDw8IDQpLCQKCkVSUk9SOiBzcGFjZXMgcmVxdWlyZWQgYXJvdW5kIHRoYXQgJz0nIChjdHg6VnhX KQojMTk1ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NjU3OgorICAgICAg IEZVU0VfQlVGX1NQTElDRV9OT05CTE9DSz0gKDEgPDwgNCksCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTk2ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NjY3OgorXkkvKiokCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTY5OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo2Njg6CiteSSAqIFNpemUgb2YgZGF0YSBpbiBieXRl cyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5NzA6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjY2OToKK15JICovJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk3MTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfY29tbW9uLmg6NjcwOgorXklzaXplX3Qgc2l6ZTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9j b21tb24uaDo2NzI6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzE5NzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjY3MzoKK15J ICogQnVmZmVyIGZsYWdzJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTk3NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6Njc0OgorXkkgKi8k CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTc2OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo2NzU6CiteSWVudW0gZnVzZV9idWZfZmxhZ3Mg ZmxhZ3M7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk3ODog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6Njc3OgorXkkvKiokCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTc5OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9jb21tb24uaDo2Nzg6CiteSSAqIE1lbW9yeSBwb2ludGVyJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk4MDogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfY29tbW9uLmg6Njc5OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzE5ODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5o OjY4MDoKK15JICogVXNlZCB1bmxlc3MgRlVTRV9CVUZfSVNfRkQgZmxhZyBpcyBzZXQuJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk4MjogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NjgxOgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTgzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9j b21tb24uaDo2ODI6CiteSXZvaWQgKm1lbTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxOTg1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo2 ODQ6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5 ODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjY4NToKK15JICogRmlsZSBk ZXNjcmlwdG9yJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk4 NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6Njg2OgorXkkgKiQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5ODg6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjY4NzoKK15JICogVXNlZCBpZiBGVVNFX0JVRl9JU19GRCBm bGFnIGlzIHNldC4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx OTg5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo2ODg6CiteSSAqLyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5OTA6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjY4OToKK15JaW50IGZkOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5OTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2NvbW1vbi5oOjY5MToKK15JLyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTk5MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6Njky OgorXkkgKiBGaWxlIHBvc2l0aW9uJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMTk5NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NjkzOgor XkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5OTU6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjY5NDoKK15JICogVXNlZCBpZiBGVVNF X0JVRl9GRF9TRUVLIGZsYWcgaXMgc2V0LiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzE5OTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjY5 NToKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk5 NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6Njk2OgorXklvZmZfdCBwb3M7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjAwOTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NzA4OgorXkkvKiokCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDEwOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9jb21tb24uaDo3MDk6CiteSSAqIE51bWJlciBvZiBidWZmZXJzIGluIHRoZSBhcnJheSQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwMTE6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjcxMDoKK15JICovJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjAxMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfY29tbW9uLmg6NzExOgorXklzaXplX3QgY291bnQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjAxNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29t bW9uLmg6NzEzOgorXkkvKiokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyMDE1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo3MTQ6CiteSSAq IEluZGV4IG9mIGN1cnJlbnQgYnVmZmVyIHdpdGhpbiB0aGUgYXJyYXkkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDE2OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9jb21tb24uaDo3MTU6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzIwMTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjcx NjoKK15Jc2l6ZV90IGlkeDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyMDE5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo3MTg6CiteSS8q KiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwMjA6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjcxOToKK15JICogQ3VycmVudCBvZmZzZXQg d2l0aGluIHRoZSBjdXJyZW50IGJ1ZmZlciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzIwMjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjcy MDoKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjAy MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NzIxOgorXklzaXplX3Qgb2Zm OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwMjQ6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjcyMzoKK15JLyoqJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjAyNTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfY29tbW9uLmg6NzI0OgorXkkgKiBBcnJheSBvZiBidWZmZXJzJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjAyNjogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfY29tbW9uLmg6NzI1OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyMDI3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo3 MjY6CiteSXN0cnVjdCBmdXNlX2J1ZiBidWZbMV07JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjAzMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9u Lmg6NzMwOgorI2RlZmluZSBGVVNFX0JVRlZFQ19JTklUKHNpemVfXyleSV5JXkleSVwkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDMyOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo3MzE6CiteSSgoc3RydWN0IGZ1c2VfYnVmdmVjKSB7Xkle SV5JXkleSVwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDMz OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo3MzI6CiteSV5JLyogLmNvdW50 PSAqLyAxLF5JXkleSV5JXCQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcg Lyogb24gYSBzZXBhcmF0ZSBsaW5lCiMyMDMzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9j b21tb24uaDo3MzI6CisgICAgICAgICAgICAgICAvKiAuY291bnQ9ICovIDEsICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyMDM0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo3MzM6Cite SV5JLyogLmlkeCA9ICAqLyAwLF5JXkleSV5JXCQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVz ZSBhIGxlYWRpbmcgLyogb24gYSBzZXBhcmF0ZSBsaW5lCiMyMDM0OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9jb21tb24uaDo3MzM6CisgICAgICAgICAgICAgICAvKiAuaWR4ID0gICovIDAs ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyMDM1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21t b24uaDo3MzQ6CiteSV5JLyogLm9mZiA9ICAqLyAwLF5JXkleSV5JXCQKCldBUk5JTkc6IEJsb2Nr IGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcgLyogb24gYSBzZXBhcmF0ZSBsaW5lCiMyMDM1OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo3MzQ6CisgICAgICAgICAgICAgICAvKiAu b2ZmID0gICovIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDM2OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9jb21tb24uaDo3MzU6CiteSV5JLyogLmJ1ZiA9ICAqLyB7IC8qIFswXSA9ICovIHte SV5JXklcJAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlIGEgbGVhZGluZyAvKiBvbiBhIHNl cGFyYXRlIGxpbmUKIzIwMzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjcz NToKKyAgICAgICAgICAgICAgIC8qIC5idWYgPSAgKi8geyAvKiBbMF0gPSAqLyB7ICAgICAgICAg ICAgICAgICAgIFwKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIw Mzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjczNjoKK15JXkleSS8qIC5z aXplID0gICovIChzaXplX18pLF5JXklcJAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlIGEg bGVhZGluZyAvKiBvbiBhIHNlcGFyYXRlIGxpbmUKIzIwMzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2NvbW1vbi5oOjczNjoKKyAgICAgICAgICAgICAgICAgICAgICAgLyogLnNpemUgPSAg Ki8gKHNpemVfXyksICAgICAgICAgICAgICAgIFwKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzIwMzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5o OjczNzoKK15JXkleSS8qIC5mbGFncyA9ICovIChlbnVtIGZ1c2VfYnVmX2ZsYWdzKSAwLF5JXCQK CldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcgLyogb24gYSBzZXBhcmF0ZSBs aW5lCiMyMDM4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo3Mzc6CisgICAg ICAgICAgICAgICAgICAgICAgIC8qIC5mbGFncyA9ICovIChlbnVtIGZ1c2VfYnVmX2ZsYWdzKSAw LCBcCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDM5OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo3Mzg6CiteSV5JXkkvKiAubWVtID0gICAq LyBOVUxMLF5JXkleSVwkCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8q IG9uIGEgc2VwYXJhdGUgbGluZQojMjAzOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29t bW9uLmg6NzM4OgorICAgICAgICAgICAgICAgICAgICAgICAvKiAubWVtID0gICAqLyBOVUxMLCAg ICAgICAgICAgICAgICAgICAgXAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjA0MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NzM5OgorXkle SV5JLyogLmZkID0gICAgKi8gLTEsXkleSV5JXCQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVz ZSBhIGxlYWRpbmcgLyogb24gYSBzZXBhcmF0ZSBsaW5lCiMyMDQwOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9jb21tb24uaDo3Mzk6CisgICAgICAgICAgICAgICAgICAgICAgIC8qIC5mZCA9 ICAgICovIC0xLCAgICAgICAgICAgICAgICAgICAgICBcCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyMDQxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21t b24uaDo3NDA6CiteSV5JXkkvKiAucG9zID0gICAqLyAwLF5JXkleSVwkCgpXQVJOSU5HOiBCbG9j ayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJhdGUgbGluZQojMjA0MTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NzQwOgorICAgICAgICAgICAgICAgICAg ICAgICAvKiAucG9zID0gICAqLyAwLCAgICAgICAgICAgICAgICAgICAgICAgXAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjA0MjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfY29tbW9uLmg6NzQxOgorXkleSX0gfV5JXkleSV5JXkleSVwkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDQzOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9jb21tb24uaDo3NDI6CiteSX0gKSQKCkVSUk9SOiBzcGFjZSBwcm9oaWJpdGVkIGJl Zm9yZSB0aGF0IGNsb3NlIHBhcmVudGhlc2lzICcpJwojMjA0MzogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfY29tbW9uLmg6NzQyOgorICAgICAgIH0gKQoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjA2MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29t bW9uLmg6NzYxOgorXkleSSAgICAgIGVudW0gZnVzZV9idWZfY29weV9mbGFncyBmbGFncyk7JAoK V0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlIGEgbGVhZGluZyAvKiBvbiBhIHNlcGFyYXRlIGxp bmUKIzIwNjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjc2MzoKKy8qIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t ICoKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwNjU6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjc2NDoKKyAqIFNpZ25hbCBoYW5kbGluZ15J XkleSV5JXkkgICAgICAgKiQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIHRyYWlsaW5n ICovIG9uIGEgc2VwYXJhdGUgbGluZQojMjA2NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf Y29tbW9uLmg6NzY1OgorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzIwNzE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjc3MDoK KyAqIFN0b3JlcyBzZXNzaW9uIGluIGEgZ2xvYmFsIHZhcmlhYmxlLl5JIE1heSBvbmx5IGJlIGNh bGxlZCBvbmNlIHBlciQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcgLyog b24gYSBzZXBhcmF0ZSBsaW5lCiMyMDk4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21t b24uaDo3OTc6CisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSAqCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyMDk5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo3OTg6CisgKiBD b21wYXRpYmlsaXR5IHN0dWZmXkleSV5JXkleSSAgICAgICAqJAoKV0FSTklORzogQmxvY2sgY29t bWVudHMgdXNlIGEgdHJhaWxpbmcgKi8gb24gYSBzZXBhcmF0ZSBsaW5lCiMyMTAwOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo3OTk6CisgKiAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKV0FSTklORzogYXJj aGl0ZWN0dXJlIHNwZWNpZmljIGRlZmluZXMgc2hvdWxkIGJlIGF2b2lkZWQKIzIxMDY6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjgwNToKKyNpZmRlZiBfX2NwbHVzcGx1cwoK RVJST1I6IGxpbmUgb3ZlciA5MCBjaGFyYWN0ZXJzCiMyMTE3OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9jb21tb24uaDo4MTY6CisjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgKF9fR05VQ19f ID4gNCB8fCBfX0dOVUNfXyA9PSA0ICYmIF9fR05VQ19NSU5PUl9fID49IDYpICYmICFkZWZpbmVk IF9fY3BsdXNwbHVzCgpXQVJOSU5HOiBhcmNoaXRlY3R1cmUgc3BlY2lmaWMgZGVmaW5lcyBzaG91 bGQgYmUgYXZvaWRlZAojMjExNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6 ODE2OgorI2lmIGRlZmluZWQoX19HTlVDX18pICYmIChfX0dOVUNfXyA+IDQgfHwgX19HTlVDX18g PT0gNCAmJiBfX0dOVUNfTUlOT1JfXyA+PSA2KSAmJiAhZGVmaW5lZCBfX2NwbHVzcGx1cwoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjEyMTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6ODIwOgorXkl7IHVuc2lnbmVkIF9mdXNlX29mZl90X211 c3RfYmVfNjRiaXQ6KChzaXplb2Yob2ZmX3QpID09IDgpID8gMSA6IC0xKTsgfTskCgpXQVJOSU5H OiBCbG9jayBjb21tZW50cyB1c2UgKiBvbiBzdWJzZXF1ZW50IGxpbmVzCiMyMTMyOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9pLmg6MjoKKy8qCisgIEZVU0U6IEZpbGVzeXN0ZW0gaW4gVXNl cnNwYWNlCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTQ1OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9pLmg6MTU6CiteSXN0cnVjdCBmdXNlX3Nlc3Npb24g KnNlOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxNDY6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2kuaDoxNjoKK15JdWludDY0X3QgdW5pcXVlOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxNDc6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2kuaDoxNzoKK15JaW50IGN0cjskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTQ4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9p Lmg6MTg6CiteSXB0aHJlYWRfbXV0ZXhfdCBsb2NrOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzIxNDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2kuaDox OToKK15Jc3RydWN0IGZ1c2VfY3R4IGN0eDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyMTUwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9pLmg6MjA6Cite SXN0cnVjdCBmdXNlX2NoYW4gKmNoOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzIxNTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2kuaDoyMToKK15JaW50 IGludGVycnVwdGVkOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzIxNTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2kuaDoyMjoKK15JdW5zaWduZWQgaW50 IGlvY3RsXzY0Yml0IDogMTskCgpFUlJPUjogc3BhY2VzIHByb2hpYml0ZWQgYXJvdW5kIHRoYXQg JzonIChjdHg6V3hXKQojMjE1MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfaS5oOjIyOgor ICAgICAgIHVuc2lnbmVkIGludCBpb2N0bF82NGJpdCA6IDE7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzIxNTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2kuaDoyMzoKK15JdW5pb24geyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxNTQ6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2kuaDoyNDoKK15JXklzdHJ1Y3QgeyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxNTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2kuaDoyNToKK15JXkleSXVpbnQ2NF90IHVuaXF1ZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyMTU2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9pLmg6 MjY6CiteSV5JfSBpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzIxNTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2kuaDoyNzoKK15JXklzdHJ1Y3QgeyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxNTg6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2kuaDoyODoKK15JXkleSWZ1c2VfaW50ZXJydXB0X2Z1bmNfdCBm dW5jOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxNTk6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2kuaDoyOToKK15JXkleSXZvaWQgKmRhdGE7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE2MDogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfaS5oOjMwOgorXkleSX0gbmk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjE2MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfaS5o OjMxOgorXkl9IHU7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MjE2MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfaS5oOjMyOgorXklzdHJ1Y3QgZnVzZV9y ZXEgKm5leHQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE2 MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfaS5oOjMzOgorXklzdHJ1Y3QgZnVzZV9yZXEg KnByZXY7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE2Nzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfaS5oOjM3OgorXkl1aW50NjRfdCB1bmlxdWU7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE2ODogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfaS5oOjM4OgorXkl2b2lkICgqcmVwbHkpKHN0cnVjdCBmdXNlX25v dGlmeV9yZXEgKiwgZnVzZV9yZXFfdCwgZnVzZV9pbm9fdCwkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTY5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9p Lmg6Mzk6CiteSV5JICAgICAgY29uc3Qgdm9pZCAqLCBjb25zdCBzdHJ1Y3QgZnVzZV9idWYgKik7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE3MDogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfaS5oOjQwOgorXklzdHJ1Y3QgZnVzZV9ub3RpZnlfcmVxICpu ZXh0OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxNzE6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2kuaDo0MToKK15Jc3RydWN0IGZ1c2Vfbm90aWZ5X3Jl cSAqcHJldjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTc1 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9pLmg6NDU6CiteSWNoYXIgKm1vdW50cG9pbnQ7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE3NjogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfaS5oOjQ2OgorXkl2b2xhdGlsZSBpbnQgZXhpdGVkOyQKCkVS Uk9SOiBVc2Ugb2Ygdm9sYXRpbGUgaXMgdXN1YWxseSB3cm9uZywgcGxlYXNlIGFkZCBhIGNvbW1l bnQKIzIxNzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2kuaDo0NjoKKyAgICAgICB2b2xh dGlsZSBpbnQgZXhpdGVkOwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjE3NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfaS5oOjQ3OgorXklpbnQgZmQ7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE3ODogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfaS5oOjQ4OgorXklzdHJ1Y3QgbW91bnRfb3B0cyAqbW87JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE3OTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfaS5oOjQ5OgorXklpbnQgZGVidWc7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE4MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf aS5oOjUwOgorXklpbnQgZGVueV9vdGhlcnM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjE4MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfaS5oOjUxOgor XklzdHJ1Y3QgZnVzZV9sb3dsZXZlbF9vcHMgb3A7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjE4MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfaS5oOjUy OgorXklpbnQgZ290X2luaXQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjE4MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfaS5oOjUzOgorXklzdHJ1Y3Qg Y3VzZV9kYXRhICpjdXNlX2RhdGE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjE4NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfaS5oOjU0OgorXkl2b2lk ICp1c2VyZGF0YTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy MTg1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9pLmg6NTU6CiteSXVpZF90IG93bmVyOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxODY6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2kuaDo1NjoKK15Jc3RydWN0IGZ1c2VfY29ubl9pbmZvIGNvbm47 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE4NzogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfaS5oOjU3OgorXklzdHJ1Y3QgZnVzZV9yZXEgbGlzdDskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTg4OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9pLmg6NTg6CiteSXN0cnVjdCBmdXNlX3JlcSBpbnRlcnJ1cHRzOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxODk6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2kuaDo1OToKK15JcHRocmVhZF9tdXRleF90IGxvY2s7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE5MDogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfaS5oOjYwOgorXklpbnQgZ290X2Rlc3Ryb3k7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE5MTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfaS5oOjYxOgorXklwdGhyZWFkX2tleV90IHBpcGVfa2V5OyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxOTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2kuaDo2MjoKK15JaW50IGJyb2tlbl9zcGxpY2Vfbm9uYmxvY2s7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE5MzogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfaS5oOjYzOgorXkl1aW50NjRfdCBub3RpZnlfY3RyOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxOTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2kuaDo2NDoKK15Jc3RydWN0IGZ1c2Vfbm90aWZ5X3JlcSBub3RpZnlfbGlzdDskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTk1OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9pLmg6NjU6CiteSXNpemVfdCBidWZzaXplOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxOTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2kuaDo2NjoKK15JaW50IGVycm9yOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzIyMDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2kuaDo3MDoKK15JcHRo cmVhZF9tdXRleF90IGxvY2s7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjIwMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfaS5oOjcxOgorXklpbnQgY3Ry OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyMDI6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2kuaDo3MjoKK15JaW50IGZkOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyMTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2kuaDo4MzoKK15JY2hhciAqbmFtZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyMjE0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9pLmg6ODQ6Cite SWZ1c2VfbW9kdWxlX2ZhY3RvcnlfdCBmYWN0b3J5OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzIyMTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2kuaDo4 NToKK15Jc3RydWN0IGZ1c2VfbW9kdWxlICpuZXh0OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzIyMTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2kuaDo4 NjoKK15Jc3RydWN0IGZ1c2Vtb2Rfc28gKnNvOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzIyMTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2kuaDo4NzoK K15JaW50IGN0cjskCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9u IGEgc2VwYXJhdGUgbGluZQojMjIyMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfaS5oOjkw OgorLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0gKgoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjIy MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfaS5oOjkxOgorICogQ2hhbm5lbCBpbnRlcmZh Y2UgKHdoZW4gdXNpbmcgLW8gY2xvbmVfZmQpXkleSSAgICAgICAqJAoKV0FSTklORzogQmxvY2sg Y29tbWVudHMgdXNlIGEgdHJhaWxpbmcgKi8gb24gYSBzZXBhcmF0ZSBsaW5lCiMyMjIyOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9pLmg6OTI6CisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjI0NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfaS5oOjExNzoKK15JXkleSSAgICAgICBpbnQgY291bnQpOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyNTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2kuaDoxMjU6CiteSV5JXkleSSBzdHJ1Y3QgZnVzZV9jaGFuICpjaCk7JAoKV0FSTklORzogbGlu ZSBvdmVyIDgwIGNoYXJhY3RlcnMKIzIyNTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2ku aDoxMjc6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZnVz ZV9idWYgKmJ1Ziwgc3RydWN0IGZ1c2VfY2hhbiAqY2gpOwoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjI1NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfaS5o OjEyNzoKK15JXkleSV5JICBjb25zdCBzdHJ1Y3QgZnVzZV9idWYgKmJ1Ziwgc3RydWN0IGZ1c2Vf Y2hhbiAqY2gpOyQKCldBUk5JTkc6IGxpbmUgb3ZlciA4MCBjaGFyYWN0ZXJzCiMyMjU5OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9pLmg6MTI5Ogorc3RydWN0IGZ1c2UgKmZ1c2VfbmV3XzMx KHN0cnVjdCBmdXNlX2FyZ3MgKmFyZ3MsIGNvbnN0IHN0cnVjdCBmdXNlX29wZXJhdGlvbnMgKm9w LAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjI2MDogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfaS5oOjEzMDoKK15JXkkgICAgICBzaXplX3Qgb3Bfc2l6ZSwg dm9pZCAqcHJpdmF0ZV9kYXRhKTskCgpXQVJOSU5HOiBsaW5lIG92ZXIgODAgY2hhcmFjdGVycwoj MjI2MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfaS5oOjEzMjoKK2ludCBmdXNlX3Nlc3Np b25fbG9vcF9tdF8zMihzdHJ1Y3QgZnVzZV9zZXNzaW9uICpzZSwgc3RydWN0IGZ1c2VfbG9vcF9j b25maWcgKmNvbmZpZyk7CgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgKiBvbiBzdWJzZXF1 ZW50IGxpbmVzCiMyMjc3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb2cuaDoyOgorLyoK KyAgRlVTRTogRmlsZXN5c3RlbSBpbiBVc2Vyc3BhY2UKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRz IHVzZSBhIGxlYWRpbmcgLyogb24gYSBzZXBhcmF0ZSBsaW5lCiMyMjg3OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb2cuaDoxMjoKKy8qKiBAZmlsZQoKV0FSTklORzogYXJjaGl0ZWN0dXJl IHNwZWNpZmljIGRlZmluZXMgc2hvdWxkIGJlIGF2b2lkZWQKIzIyOTQ6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvZy5oOjE5OgorI2lmZGVmIF9fY3BsdXNwbHVzCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMzA0OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb2cuaDoyOToKK15JRlVTRV9MT0dfRU1FUkcsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjMwNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG9n Lmg6MzA6CiteSUZVU0VfTE9HX0FMRVJULCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzIzMDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvZy5oOjMxOgor XklGVVNFX0xPR19DUklULCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzIzMDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvZy5oOjMyOgorXklGVVNFX0xP R19FUlIsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjMwODog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG9nLmg6MzM6CiteSUZVU0VfTE9HX1dBUk5JTkcs JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjMwOTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG9nLmg6MzQ6CiteSUZVU0VfTE9HX05PVElDRSwkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMzEwOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb2cuaDozNToKK15JRlVTRV9MT0dfSU5GTywkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMzExOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb2cuaDozNjoKK15JRlVTRV9MT0dfREVCVUckCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyMzI4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb2cu aDo1MzoKK15JXkleSV5JY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFwKTskCgpXQVJOSU5HOiBh cmNoaXRlY3R1cmUgc3BlY2lmaWMgZGVmaW5lcyBzaG91bGQgYmUgYXZvaWRlZAojMjM1MzogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG9nLmg6Nzg6CisjaWZkZWYgX19jcGx1c3BsdXMKCldB Uk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSAqIG9uIHN1YnNlcXVlbnQgbGluZXMKIzIzNjU6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MjoKKy8qCisgIEZVU0U6IEZpbGVz eXN0ZW0gaW4gVXNlcnNwYWNlCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5n IC8qIG9uIGEgc2VwYXJhdGUgbGluZQojMjM3NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuaDoxMjoKKy8qKiBAZmlsZQoKV0FSTklORzogYXJjaGl0ZWN0dXJlIHNwZWNpZmlj IGRlZmluZXMgc2hvdWxkIGJlIGF2b2lkZWQKIzIzOTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmg6MzQ6CisjaWZkZWYgX19jcGx1c3BsdXMKCldBUk5JTkc6IEJsb2NrIGNv bW1lbnRzIHVzZSBhIGxlYWRpbmcgLyogb24gYSBzZXBhcmF0ZSBsaW5lCiMyNDAxOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjM4OgorLyogLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKgoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQwMjogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuaDozOToKKyAqIE1pc2NlbGxhbmVvdXMgZGVmaW5pdGlvbnNeSV5JXkle SSAgICAgICAqJAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlIGEgdHJhaWxpbmcgKi8gb24g YSBzZXBhcmF0ZSBsaW5lCiMyNDAzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjQwOgorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0gKi8KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI0MjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NjA6CiteSS8q KiBVbmlxdWUgaW5vZGUgbnVtYmVyJAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlIGEgbGVh ZGluZyAvKiBvbiBhIHNlcGFyYXRlIGxpbmUKIzI0MjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmg6NjA6CisgICAgICAgLyoqIFVuaXF1ZSBpbm9kZSBudW1iZXIKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0MjQ6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NjE6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjQyNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuaDo2MjoKK15JICogSW4gbG9va3VwLCB6ZXJvIG1lYW5zIG5lZ2F0aXZlIGVudHJ5IChm cm9tIHZlcnNpb24gMi41KSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI0MjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NjM6CiteSSAq IFJldHVybmluZyBFTk9FTlQgYWxzbyBtZWFucyBuZWdhdGl2ZSBlbnRyeSwgYnV0IGJ5IHNldHRp bmcgemVybyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0Mjc6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NjQ6CiteSSAqIGlubyB0aGUg a2VybmVsIG1heSBjYWNoZSBuZWdhdGl2ZSBlbnRyaWVzIGZvciBlbnRyeV90aW1lb3V0JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQyODogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2NToKK15JICogc2Vjb25kcy4kCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDI5OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5oOjY2OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyNDMwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjY3OgorXklmdXNlX2lub190IGlubzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyNDMyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o OjY5OgorXkkvKiogR2VuZXJhdGlvbiBudW1iZXIgZm9yIHRoaXMgZW50cnkuJAoKV0FSTklORzog QmxvY2sgY29tbWVudHMgdXNlIGEgbGVhZGluZyAvKiBvbiBhIHNlcGFyYXRlIGxpbmUKIzI0MzI6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6Njk6CisgICAgICAgLyoqIEdl bmVyYXRpb24gbnVtYmVyIGZvciB0aGlzIGVudHJ5LgoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjQzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuaDo3MDoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyNDM0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjcxOgorXkkgKiBJ ZiB0aGUgZmlsZSBzeXN0ZW0gd2lsbCBiZSBleHBvcnRlZCBvdmVyIE5GUywgdGhlJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQzNTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3MjoKK15JICogaW5vL2dlbmVyYXRpb24gcGFpcnMgbmVl ZCB0byBiZSB1bmlxdWUgb3ZlciB0aGUgZmlsZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI0MzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs Lmg6NzM6CiteSSAqIHN5c3RlbSdzIGxpZmV0aW1lIChyYXRoZXIgdGhhbiBqdXN0IHRoZSBtb3Vu dCB0aW1lKS4gU28gaWYkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyNDM3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjc0OgorXkkgKiB0 aGUgZmlsZSBzeXN0ZW0gcmV1c2VzIGFuIGlub2RlIGFmdGVyIGl0IGhhcyBiZWVuIGRlbGV0ZWQs JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQzODogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3NToKK15JICogaXQgbXVzdCBhc3NpZ24g YSBuZXcsIHByZXZpb3VzbHkgdW51c2VkIGdlbmVyYXRpb24gbnVtYmVyJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQzOTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuaDo3NjoKK15JICogdG8gdGhlIGlub2RlIGF0IHRoZSBzYW1lIHRpbWUu JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQ0MDogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3NzoKK15JICokCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDQxOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5oOjc4OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyNDQyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o Ojc5OgorXkl1aW50NjRfdCBnZW5lcmF0aW9uOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI0NDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs Lmg6ODE6CiteSS8qKiBJbm9kZSBhdHRyaWJ1dGVzLiQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRz IHVzZSBhIGxlYWRpbmcgLyogb24gYSBzZXBhcmF0ZSBsaW5lCiMyNDQ0OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjgxOgorICAgICAgIC8qKiBJbm9kZSBhdHRyaWJ1dGVz LgoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQ0NTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4MjoKK15JICokCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDQ2OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5oOjgzOgorXkkgKiBFdmVuIGlmIGF0dHJfdGltZW91dCA9PSAwLCBhdHRy IG11c3QgYmUgY29ycmVjdC4gRm9yIGV4YW1wbGUsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjQ0NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuaDo4NDoKK15JICogZm9yIG9wZW4oKSwgRlVTRSB1c2VzIGF0dHIuc3Rfc2l6ZSBmcm9tIGxv b2t1cCgpIHRvIGRldGVybWluZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI0NDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6ODU6Cite SSAqIGhvdyBtYW55IGJ5dGVzIHRvIHJlcXVlc3QuIElmIHRoaXMgdmFsdWUgaXMgbm90IGNvcnJl Y3QsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQ0OTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4NjoKK15JICogaW5jb3JyZWN0IGRh dGEgd2lsbCBiZSByZXR1cm5lZC4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyNDUwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjg3Ogor XkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDUxOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjg4OgorXklzdHJ1Y3Qgc3RhdCBh dHRyOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0NTM6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6OTA6CiteSS8qKiBWYWxpZGl0eSB0 aW1lb3V0IChpbiBzZWNvbmRzKSBmb3IgaW5vZGUgYXR0cmlidXRlcy4gSWYkCgpXQVJOSU5HOiBC bG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJhdGUgbGluZQojMjQ1Mzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5MDoKKyAgICAgICAvKiogVmFs aWRpdHkgdGltZW91dCAoaW4gc2Vjb25kcykgZm9yIGlub2RlIGF0dHJpYnV0ZXMuIElmCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDU0OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjkxOgorXkkgICAgYXR0cmlidXRlcyBvbmx5IGNoYW5n ZSBhcyBhIHJlc3VsdCBvZiByZXF1ZXN0cyB0aGF0IGNvbWUkCgpXQVJOSU5HOiBCbG9jayBjb21t ZW50cyB1c2UgKiBvbiBzdWJzZXF1ZW50IGxpbmVzCiMyNDU0OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5oOjkxOgorICAgICAgIC8qKiBWYWxpZGl0eSB0aW1lb3V0IChpbiBz ZWNvbmRzKSBmb3IgaW5vZGUgYXR0cmlidXRlcy4gSWYKKyAgICAgICAgICAgYXR0cmlidXRlcyBv bmx5IGNoYW5nZSBhcyBhIHJlc3VsdCBvZiByZXF1ZXN0cyB0aGF0IGNvbWUKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0NTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmg6OTI6CiteSSAgICB0aHJvdWdoIHRoZSBrZXJuZWwsIHRoaXMgc2hv dWxkIGJlIHNldCB0byBhIHZlcnkgbGFyZ2UkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyNDU2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o OjkzOgorXkkgICAgdmFsdWUuICovJAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlIGEgdHJh aWxpbmcgKi8gb24gYSBzZXBhcmF0ZSBsaW5lCiMyNDU2OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5oOjkzOgorICAgICAgICAgICB2YWx1ZS4gKi8KCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0NTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmg6OTQ6CiteSWRvdWJsZSBhdHRyX3RpbWVvdXQ7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQ1OTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuaDo5NjoKK15JLyoqIFZhbGlkaXR5IHRpbWVvdXQgKGluIHNlY29uZHMp IGZvciB0aGUgbmFtZS4gSWYgZGlyZWN0b3J5JAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNl IGEgbGVhZGluZyAvKiBvbiBhIHNlcGFyYXRlIGxpbmUKIzI0NTk6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmg6OTY6CisgICAgICAgLyoqIFZhbGlkaXR5IHRpbWVvdXQgKGlu IHNlY29uZHMpIGZvciB0aGUgbmFtZS4gSWYgZGlyZWN0b3J5CgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDYwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjk3OgorXkkgICAgZW50cmllcyBhcmUgY2hhbmdlZC9kZWxldGVkIG9ubHkgYXMg YSByZXN1bHQgb2YgcmVxdWVzdHMkCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgKiBvbiBz dWJzZXF1ZW50IGxpbmVzCiMyNDYwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjk3OgorICAgICAgIC8qKiBWYWxpZGl0eSB0aW1lb3V0IChpbiBzZWNvbmRzKSBmb3IgdGhl IG5hbWUuIElmIGRpcmVjdG9yeQorICAgICAgICAgICBlbnRyaWVzIGFyZSBjaGFuZ2VkL2RlbGV0 ZWQgb25seSBhcyBhIHJlc3VsdCBvZiByZXF1ZXN0cwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjQ2MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuaDo5ODoKK15JICAgIHRoYXQgY29tZSB0aHJvdWdoIHRoZSBrZXJuZWwsIHRoaXMgc2hvdWxk IGJlIHNldCB0byBhIHZlcnkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyNDYyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjk5OgorXkkg ICAgbGFyZ2UgdmFsdWUuICovJAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlIGEgdHJhaWxp bmcgKi8gb24gYSBzZXBhcmF0ZSBsaW5lCiMyNDYyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5oOjk5OgorICAgICAgICAgICBsYXJnZSB2YWx1ZS4gKi8KCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0NjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmg6MTAwOgorXklkb3VibGUgZW50cnlfdGltZW91dDskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDc1OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExMjoKK15JLyoqIFVzZXIgSUQgb2YgdGhlIGNhbGxpbmcg cHJvY2VzcyAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0 NzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTEzOgorXkl1aWRfdCB1 aWQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQ3ODogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTU6CiteSS8qKiBHcm91cCBJRCBv ZiB0aGUgY2FsbGluZyBwcm9jZXNzICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjQ3OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDox MTY6CiteSWdpZF90IGdpZDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyNDgxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExODoKK15J LyoqIFRocmVhZCBJRCBvZiB0aGUgY2FsbGluZyBwcm9jZXNzICovJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQ4MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDoxMTk6CiteSXBpZF90IHBpZDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyNDg0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjEyMToKK15JLyoqIFVtYXNrIG9mIHRoZSBjYWxsaW5nIHByb2Nlc3MgKi8kCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDg1OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEyMjoKK15JbW9kZV90IHVtYXNrOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0ODk6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmg6MTI2OgorXklmdXNlX2lub190IGlubzskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDkwOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5oOjEyNzoKK15JdWludDY0X3Qgbmxvb2t1cDskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDk0OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5oOjEzMToKKyNkZWZpbmUgRlVTRV9TRVRfQVRUUl9NT0RFXkkoMSA8 PCAwKSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0OTU6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTMyOgorI2RlZmluZSBGVVNFX1NF VF9BVFRSX1VJRF5JKDEgPDwgMSkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyNDk2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEzMzoK KyNkZWZpbmUgRlVTRV9TRVRfQVRUUl9HSUReSSgxIDw8IDIpJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQ5NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuaDoxMzQ6CisjZGVmaW5lIEZVU0VfU0VUX0FUVFJfU0laRV5JKDEgPDwgMykkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDk4OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEzNToKKyNkZWZpbmUgRlVTRV9TRVRfQVRUUl9B VElNRV5JKDEgPDwgNCkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyNDk5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEzNjoKKyNkZWZp bmUgRlVTRV9TRVRfQVRUUl9NVElNRV5JKDEgPDwgNSkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyNTAwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjEzNzoKKyNkZWZpbmUgRlVTRV9TRVRfQVRUUl9BVElNRV9OT1deSSgxIDw8IDcpJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjUwMTogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMzg6CisjZGVmaW5lIEZVU0VfU0VUX0FUVFJf TVRJTUVfTk9XXkkoMSA8PCA4KSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI1MDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTM5Ogor I2RlZmluZSBGVVNFX1NFVF9BVFRSX0NUSU1FXkkoMSA8PCAxMCkkCgpXQVJOSU5HOiBCbG9jayBj b21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJhdGUgbGluZQojMjUwNDogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxNDE6CisvKiAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTA1OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5oOjE0MjoKKyAqIFJlcXVlc3QgbWV0aG9kcyBhbmQgcmVwbGllc15J XkleSV5JICAgICAgICokCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSB0cmFpbGluZyAq LyBvbiBhIHNlcGFyYXRlIGxpbmUKIzI1MDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6MTQzOgorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI1MzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTcz OgorXkkvKiokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTM3 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjE3NDoKK15JICogSW5pdGlh bGl6ZSBmaWxlc3lzdGVtJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjUzODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxNzU6CiteSSAq JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjUzOTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxNzY6CiteSSAqIFRoaXMgZnVuY3Rpb24g aXMgY2FsbGVkIHdoZW4gbGliZnVzZSBlc3RhYmxpc2hlcyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1NDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6MTc3OgorXkkgKiBjb21tdW5pY2F0aW9uIHdpdGggdGhlIEZVU0Uga2VybmVsIG1v ZHVsZS4gVGhlIGZpbGUgc3lzdGVtJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjU0MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxNzg6 CiteSSAqIHNob3VsZCB1c2UgdGhpcyBtb2R1bGUgdG8gaW5zcGVjdCBhbmQvb3IgbW9kaWZ5IHRo ZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1NDI6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTc5OgorXkkgKiBjb25uZWN0aW9uIHBh cmFtZXRlcnMgcHJvdmlkZWQgaW4gdGhlIGBjb25uYCBzdHJ1Y3R1cmUuJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjU0MzogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuaDoxODA6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjU0NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu aDoxODE6CiteSSAqIE5vdGUgdGhhdCBzb21lIHBhcmFtZXRlcnMgbWF5IGJlIG92ZXJ3cml0dGVu IGJ5IG9wdGlvbnMkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy NTQ1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjE4MjoKK15JICogcGFz c2VkIHRvIGZ1c2Vfc2Vzc2lvbl9uZXcoKSB3aGljaCB0YWtlIHByZWNlZGVuY2Ugb3ZlciB0aGUk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTQ2OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjE4MzoKK15JICogdmFsdWVzIHNldCBpbiB0 aGlzIGhhbmRsZXIuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MjU0NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxODQ6CiteSSAqJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjU0ODogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxODU6CiteSSAqIFRoZXJlJ3Mgbm8gcmVwbHkg dG8gdGhpcyBmdW5jdGlvbiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI1NDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTg2OgorXkkg KiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1NTA6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTg3OgorXkkgKiBAcGFyYW0gdXNlcmRh dGEgdGhlIHVzZXIgZGF0YSBwYXNzZWQgdG8gZnVzZV9zZXNzaW9uX25ldygpJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjU1MTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuaDoxODg6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzI1NTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmg6MTg5OgorXkl2b2lkICgqaW5pdCkgKHZvaWQgKnVzZXJkYXRhLCBzdHJ1Y3QgZnVzZV9j b25uX2luZm8gKmNvbm4pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI1NTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTkxOgorXkkv KiokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTU1OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjE5MjoKK15JICogQ2xlYW4gdXAgZmls ZXN5c3RlbS4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTU2 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjE5MzoKK15JICokCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTU3OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjE5NDoKK15JICogQ2FsbGVkIG9uIGZpbGVzeXN0ZW0g ZXhpdC4gV2hlbiB0aGlzIG1ldGhvZCBpcyBjYWxsZWQsIHRoZSQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1NTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6MTk1OgorXkkgKiBjb25uZWN0aW9uIHRvIHRoZSBrZXJuZWwgbWF5IGJlIGdv bmUgYWxyZWFkeSwgc28gdGhhdCBlZy4gY2FsbHMkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyNTU5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjE5NjoKK15JICogdG8gZnVzZV9sb3dsZXZlbF9ub3RpZnlfKiB3aWxsIGZhaWwuJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjU2MDogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxOTc6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjU2MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuaDoxOTg6CiteSSAqIFRoZXJlJ3Mgbm8gcmVwbHkgdG8gdGhpcyBmdW5jdGlvbiQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1NjI6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTk5OgorXkkgKiQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1NjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmg6MjAwOgorXkkgKiBAcGFyYW0gdXNlcmRhdGEgdGhlIHVzZXIgZGF0YSBw YXNzZWQgdG8gZnVzZV9zZXNzaW9uX25ldygpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjU2NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu aDoyMDE6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzI1NjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MjAyOgorXkl2b2lk ICgqZGVzdHJveSkgKHZvaWQgKnVzZXJkYXRhKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyNTY3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjIwNDoKK15JLyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjU2ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoyMDU6CiteSSAq IExvb2sgdXAgYSBkaXJlY3RvcnkgZW50cnkgYnkgbmFtZSBhbmQgZ2V0IGl0cyBhdHRyaWJ1dGVz LiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1Njk6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MjA2OgorXkkgKiQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1NzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmg6MjA3OgorXkkgKiBWYWxpZCByZXBsaWVzOiQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1NzE6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmg6MjA4OgorXkkgKiAgIGZ1c2VfcmVwbHlfZW50cnkkCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTcyOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjIwOToKK15JICogICBmdXNlX3JlcGx5X2VyciQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1NzM6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MjEwOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1NzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6MjExOgorXkkgKiBAcGFyYW0gcmVxIHJlcXVlc3QgaGFuZGxlJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjU3NTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuaDoyMTI6CiteSSAqIEBwYXJhbSBwYXJlbnQgaW5vZGUgbnVtYmVy IG9mIHRoZSBwYXJlbnQgZGlyZWN0b3J5JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjU3NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoy MTM6CiteSSAqIEBwYXJhbSBuYW1lIHRoZSBuYW1lIHRvIGxvb2sgdXAkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTc3OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5oOjIxNDoKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjU3ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu aDoyMTU6CiteSXZvaWQgKCpsb29rdXApIChmdXNlX3JlcV90IHJlcSwgZnVzZV9pbm9fdCBwYXJl bnQsIGNvbnN0IGNoYXIgKm5hbWUpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI1ODA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MjE3 OgorXkkvKiokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTgx OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjIxODoKK15JICogRm9yZ2V0 IGFib3V0IGFuIGlub2RlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjU4MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoyMTk6CiteSSAq JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjU4MzogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoyMjA6CiteSSAqIFRoaXMgZnVuY3Rpb24g aXMgY2FsbGVkIHdoZW4gdGhlIGtlcm5lbCByZW1vdmVzIGFuIGlub2RlJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjU4NDogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuaDoyMjE6CiteSSAqIGZyb20gaXRzIGludGVybmFsIGNhY2hlcy4kCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTg1OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjIyMjoKK15JICokCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTg2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5oOjIyMzoKK15JICogVGhlIGlub2RlJ3MgbG9va3VwIGNvdW50IGluY3JlYXNl cyBieSBvbmUgZm9yIGV2ZXJ5IGNhbGwgdG8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyNTg3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o OjIyNDoKK15JICogZnVzZV9yZXBseV9lbnRyeSBhbmQgZnVzZV9yZXBseV9jcmVhdGUuIFRoZSBu bG9va3VwIHBhcmFtZXRlciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI1ODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MjI1OgorXkkg KiBpbmRpY2F0ZXMgYnkgaG93IG11Y2ggdGhlIGxvb2t1cCBjb3VudCBzaG91bGQgYmUgZGVjcmVh c2VkLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1ODk6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MjI2OgorXkkgKiQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1OTA6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmg6MjI3OgorXkkgKiBJbm9kZXMgd2l0aCBhIG5vbi16ZXJvIGxv b2t1cCBjb3VudCBtYXkgcmVjZWl2ZSByZXF1ZXN0IGZyb20kCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTkxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjIyODoKK15JICogdGhlIGtlcm5lbCBldmVuIGFmdGVyIGNhbGxzIHRvIHVubGlu aywgcm1kaXIgb3IgKHdoZW4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyNTkyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjIyOToKK15J ICogb3ZlcndyaXRpbmcgYW4gZXhpc3RpbmcgZmlsZSkgcmVuYW1lLiBGaWxlc3lzdGVtcyBtdXN0 IGhhbmRsZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1OTM6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MjMwOgorXkkgKiBzdWNoIHJl cXVlc3RzIHByb3Blcmx5IGFuZCBpdCBpcyByZWNvbW1lbmRlZCB0byBkZWZlciByZW1vdmFsJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjU5NDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoyMzE6CiteSSAqIG9mIHRoZSBpbm9kZSB1bnRp bCB0aGUgbG9va3VwIGNvdW50IHJlYWNoZXMgemVyby4gQ2FsbHMgdG8kCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTk1OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5oOjIzMjoKK15JICogdW5saW5rLCBybWRpciBvciByZW5hbWUgd2lsbCBi ZSBmb2xsb3dlZCBjbG9zZWx5IGJ5IGZvcmdldCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI1OTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs Lmg6MjMzOgorXkkgKiB1bmxlc3MgdGhlIGZpbGUgb3IgZGlyZWN0b3J5IGlzIG9wZW4sIGluIHdo aWNoIGNhc2UgdGhlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MjU5NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoyMzQ6CiteSSAqIGtl cm5lbCBpc3N1ZXMgZm9yZ2V0IG9ubHkgYWZ0ZXIgdGhlIHJlbGVhc2Ugb3IgcmVsZWFzZWRpciQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1OTg6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MjM1OgorXkkgKiBjYWxscy4kCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTk5OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjIzNjoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyNjAwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjIzNzoKK15JICogTm90ZSB0aGF0IGlmIGEgZmlsZSBzeXN0ZW0gd2lsbCBiZSBleHBv cnRlZCBvdmVyIE5GUyB0aGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyNjAxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjIzODoKK15J ICogaW5vZGVzIGxpZmV0aW1lIG11c3QgZXh0ZW5kIGV2ZW4gYmV5b25kIGZvcmdldC4gU2VlIHRo ZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2MDI6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MjM5OgorXkkgKiBnZW5lcmF0aW9uIGZp ZWxkIGluIHN0cnVjdCBmdXNlX2VudHJ5X3BhcmFtIGFib3ZlLiQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2MDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6MjQwOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI2MDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MjQx OgorXkkgKiBPbiB1bm1vdW50IHRoZSBsb29rdXAgY291bnQgZm9yIGFsbCBpbm9kZXMgaW1wbGlj aXRseSBkcm9wcyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2 MDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MjQyOgorXkkgKiB0byB6 ZXJvLiBJdCBpcyBub3QgZ3VhcmFudGVlZCB0aGF0IHRoZSBmaWxlIHN5c3RlbSB3aWxsJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjYwNjogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoyNDM6CiteSSAqIHJlY2VpdmUgY29ycmVzcG9uZGlu ZyBmb3JnZXQgbWVzc2FnZXMgZm9yIHRoZSBhZmZlY3RlZCQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2MDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6MjQ0OgorXkkgKiBpbm9kZXMuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjYwODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu aDoyNDU6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MjYwOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoyNDY6CiteSSAqIFZh bGlkIHJlcGxpZXM6JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MjYxMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoyNDc6CiteSSAqICAg ZnVzZV9yZXBseV9ub25lJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjYxMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoyNDg6CiteSSAq JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjYxMjogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoyNDk6CiteSSAqIEBwYXJhbSByZXEgcmVx dWVzdCBoYW5kbGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy NjEzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjI1MDoKK15JICogQHBh cmFtIGlubyB0aGUgaW5vZGUgbnVtYmVyJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjYxNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoy NTE6CiteSSAqIEBwYXJhbSBubG9va3VwIHRoZSBudW1iZXIgb2YgbG9va3VwcyB0byBmb3JnZXQk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjE1OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjI1MjoKK15JICovJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjYxNjogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuaDoyNTM6CiteSXZvaWQgKCpmb3JnZXQpIChmdXNlX3JlcV90IHJlcSwg ZnVzZV9pbm9fdCBpbm8sIHVpbnQ2NF90IG5sb29rdXApOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2MTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6MjU1OgorXkkvKiokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyNjE5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjI1NjoK K15JICogR2V0IGZpbGUgYXR0cmlidXRlcy4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyNjIwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o OjI1NzoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy NjIxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjI1ODoKK15JICogSWYg d3JpdGViYWNrIGNhY2hpbmcgaXMgZW5hYmxlZCwgdGhlIGtlcm5lbCBtYXkgaGF2ZSBhJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjYyMjogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoyNTk6CiteSSAqIGJldHRlciBpZGVhIG9mIGEgZmls ZSdzIGxlbmd0aCB0aGFuIHRoZSBGVVNFIGZpbGUgc3lzdGVtJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjYyMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuaDoyNjA6CiteSSAqIChlZyBpZiB0aGVyZSBoYXMgYmVlbiBhIHdyaXRlIHRoYXQg ZXh0ZW5kZWQgdGhlIGZpbGUgc2l6ZSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyNjI0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjI2 MToKK15JICogYnV0IHRoYXQgaGFzIG5vdCB5ZXQgYmVlbiBwYXNzZWQgdG8gdGhlIGZpbGVzeXN0 ZW0ubiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2MjU6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MjYyOgorXkkgKiQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2MjY6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmg6MjYzOgorXkkgKiBJbiB0aGlzIGNhc2UsIHRoZSBzdF9zaXpl IHZhbHVlIHByb3ZpZGVkIGJ5IHRoZSBmaWxlIHN5c3RlbSQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2Mjc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6MjY0OgorXkkgKiB3aWxsIGJlIGlnbm9yZWQuJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjYyODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuaDoyNjU6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjYyOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoyNjY6 CiteSSAqIFZhbGlkIHJlcGxpZXM6JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjYzMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoyNjc6 CiteSSAqICAgZnVzZV9yZXBseV9hdHRyJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjYzMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoy Njg6CiteSSAqICAgZnVzZV9yZXBseV9lcnIkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyNjMyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o OjI2OToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy NjMzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjI3MDoKK15JICogQHBh cmFtIHJlcSByZXF1ZXN0IGhhbmRsZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI2MzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6Mjcx OgorXkkgKiBAcGFyYW0gaW5vIHRoZSBpbm9kZSBudW1iZXIkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjM1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjI3MjoKK15JICogQHBhcmFtIGZpIGZvciBmdXR1cmUgdXNlLCBjdXJyZW50bHkg YWx3YXlzIE5VTEwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy NjM2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjI3MzoKK15JICovJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjYzNzogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoyNzQ6CiteSXZvaWQgKCpnZXRhdHRyKSAoZnVz ZV9yZXFfdCByZXEsIGZ1c2VfaW5vX3QgaW5vLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI2Mzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs Lmg6Mjc1OgorXkleSV5JIHN0cnVjdCBmdXNlX2ZpbGVfaW5mbyAqZmkpOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2NDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmg6Mjc3OgorXkkvKiokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyNjQxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjI3ODoKK15JICogU2V0IGZpbGUgYXR0cmlidXRlcyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2NDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6Mjc5OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI2NDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MjgwOgor XkkgKiBJbiB0aGUgJ2F0dHInIGFyZ3VtZW50IG9ubHkgbWVtYmVycyBpbmRpY2F0ZWQgYnkgdGhl ICd0b19zZXQnJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY0 NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoyODE6CiteSSAqIGJpdG1h c2sgY29udGFpbiB2YWxpZCB2YWx1ZXMuICBPdGhlciBtZW1iZXJzIGNvbnRhaW4gdW5kZWZpbmVk JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY0NTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoyODI6CiteSSAqIHZhbHVlcy4kCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjQ2OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjI4MzoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjQ3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjI4NDoKK15JICogVW5sZXNzIEZVU0VfQ0FQX0hBTkRMRV9LSUxMUFJJViBpcyBk aXNhYmxlZCwgdGhpcyBtZXRob2QgaXMkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyNjQ4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjI4 NToKK15JICogZXhwZWN0ZWQgdG8gcmVzZXQgdGhlIHNldHVpZCBhbmQgc2V0Z2lkIGJpdHMgaWYg dGhlIGZpbGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjQ5 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjI4NjoKK15JICogc2l6ZSBv ciBvd25lciBpcyBiZWluZyBjaGFuZ2VkLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI2NTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 Mjg3OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2 NTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6Mjg4OgorXkkgKiBJZiB0 aGUgc2V0YXR0ciB3YXMgaW52b2tlZCBmcm9tIHRoZSBmdHJ1bmNhdGUoKSBzeXN0ZW0gY2FsbCQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2NTI6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6Mjg5OgorXkkgKiB1bmRlciBMaW51eCBrZXJu ZWwgdmVyc2lvbnMgMi42LjE1IG9yIGxhdGVyLCB0aGUgZmktPmZoIHdpbGwkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjUzOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5oOjI5MDoKK15JICogY29udGFpbiB0aGUgdmFsdWUgc2V0IGJ5IHRo ZSBvcGVuIG1ldGhvZCBvciB3aWxsIGJlIHVuZGVmaW5lZCQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2NTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6MjkxOgorXkkgKiBpZiB0aGUgb3BlbiBtZXRob2QgZGlkbid0IHNldCBhbnkgdmFs dWUuICBPdGhlcndpc2UgKG5vdCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI2NTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MjkyOgor XkkgKiBmdHJ1bmNhdGUgY2FsbCwgb3Iga2VybmVsIHZlcnNpb24gZWFybGllciB0aGFuIDIuNi4x NSkgdGhlIGZpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY1 NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoyOTM6CiteSSAqIHBhcmFt ZXRlciB3aWxsIGJlIE5VTEwuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjY1NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoyOTQ6Cite SSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY1ODogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoyOTU6CiteSSAqIFZhbGlkIHJlcGxp ZXM6JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY1OTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoyOTY6CiteSSAqICAgZnVzZV9yZXBs eV9hdHRyJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY2MDog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoyOTc6CiteSSAqICAgZnVzZV9y ZXBseV9lcnIkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjYx OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjI5ODoKK15JICokCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjYyOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjI5OToKK15JICogQHBhcmFtIHJlcSByZXF1ZXN0IGhh bmRsZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2NjM6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MzAwOgorXkkgKiBAcGFyYW0gaW5v IHRoZSBpbm9kZSBudW1iZXIkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyNjY0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjMwMToKK15J ICogQHBhcmFtIGF0dHIgdGhlIGF0dHJpYnV0ZXMkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyNjY1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjMwMjoKK15JICogQHBhcmFtIHRvX3NldCBiaXQgbWFzayBvZiBhdHRyaWJ1dGVzIHdoaWNo IHNob3VsZCBiZSBzZXQkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyNjY2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjMwMzoKK15JICog QHBhcmFtIGZpIGZpbGUgaW5mb3JtYXRpb24sIG9yIE5VTEwkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjY3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjMwNDoKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjY2ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozMDU6 CiteSXZvaWQgKCpzZXRhdHRyKSAoZnVzZV9yZXFfdCByZXEsIGZ1c2VfaW5vX3QgaW5vLCBzdHJ1 Y3Qgc3RhdCAqYXR0ciwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyNjY5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjMwNjoKK15JXkle SSBpbnQgdG9fc2V0LCBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKmZpKTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjcxOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5oOjMwODoKK15JLyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjY3MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu aDozMDk6CiteSSAqIFJlYWQgc3ltYm9saWMgbGluayQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzI2NzM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmg6MzEwOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI2NzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MzExOgorXkkg KiBWYWxpZCByZXBsaWVzOiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI2NzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MzEyOgorXkkg KiAgIGZ1c2VfcmVwbHlfcmVhZGxpbmskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyNjc2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjMx MzoKK15JICogICBmdXNlX3JlcGx5X2VyciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI2Nzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 MzE0OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2 Nzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MzE1OgorXkkgKiBAcGFy YW0gcmVxIHJlcXVlc3QgaGFuZGxlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjY3OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozMTY6 CiteSSAqIEBwYXJhbSBpbm8gdGhlIGlub2RlIG51bWJlciQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2ODA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6MzE3OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyNjgxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjMxODoK K15Jdm9pZCAoKnJlYWRsaW5rKSAoZnVzZV9yZXFfdCByZXEsIGZ1c2VfaW5vX3QgaW5vKTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjgzOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjMyMDoKK15JLyoqJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY4NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDozMjE6CiteSSAqIENyZWF0ZSBmaWxlIG5vZGUkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjg1OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5oOjMyMjoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyNjg2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o OjMyMzoKK15JICogQ3JlYXRlIGEgcmVndWxhciBmaWxlLCBjaGFyYWN0ZXIgZGV2aWNlLCBibG9j ayBkZXZpY2UsIGZpZm8gb3IkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyNjg3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjMyNDoKK15J ICogc29ja2V0IG5vZGUuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjY4ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozMjU6CiteSSAq JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY4OTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozMjY6CiteSSAqIFZhbGlkIHJlcGxpZXM6 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY5MDogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozMjc6CiteSSAqICAgZnVzZV9yZXBseV9l bnRyeSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2OTE6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MzI4OgorXkkgKiAgIGZ1c2VfcmVw bHlfZXJyJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY5Mjog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozMjk6CiteSSAqJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY5MzogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozMzA6CiteSSAqIEBwYXJhbSByZXEgcmVxdWVzdCBoYW5k bGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjk0OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjMzMToKK15JICogQHBhcmFtIHBhcmVu dCBpbm9kZSBudW1iZXIgb2YgdGhlIHBhcmVudCBkaXJlY3RvcnkkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjk1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5oOjMzMjoKK15JICogQHBhcmFtIG5hbWUgdG8gY3JlYXRlJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY5NjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuaDozMzM6CiteSSAqIEBwYXJhbSBtb2RlIGZpbGUgdHlwZSBhbmQg bW9kZSB3aXRoIHdoaWNoIHRvIGNyZWF0ZSB0aGUgbmV3IGZpbGUkCgpXQVJOSU5HOiBsaW5lIG92 ZXIgODAgY2hhcmFjdGVycwojMjY5NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuaDozMzQ6CisgICAgICAgICogQHBhcmFtIHJkZXYgdGhlIGRldmljZSBudW1iZXIgKG9ubHkg dmFsaWQgaWYgY3JlYXRlZCBmaWxlIGlzIGEgZGV2aWNlKQoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjY5NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuaDozMzQ6CiteSSAqIEBwYXJhbSByZGV2IHRoZSBkZXZpY2UgbnVtYmVyIChvbmx5IHZh bGlkIGlmIGNyZWF0ZWQgZmlsZSBpcyBhIGRldmljZSkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyNjk4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjMzNToKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjY5OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozMzY6Cite SXZvaWQgKCpta25vZCkgKGZ1c2VfcmVxX3QgcmVxLCBmdXNlX2lub190IHBhcmVudCwgY29uc3Qg Y2hhciAqbmFtZSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy NzAwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjMzNzoKK15JXkkgICAg ICAgbW9kZV90IG1vZGUsIGRldl90IHJkZXYpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI3MDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs Lmg6MzM5OgorXkkvKiokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyNzAzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjM0MDoKK15JICog Q3JlYXRlIGEgZGlyZWN0b3J5JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjcwNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozNDE6Cite SSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjcwNTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozNDI6CiteSSAqIFZhbGlkIHJlcGxp ZXM6JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjcwNjogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozNDM6CiteSSAqICAgZnVzZV9yZXBs eV9lbnRyeSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3MDc6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MzQ0OgorXkkgKiAgIGZ1c2Vf cmVwbHlfZXJyJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjcw ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozNDU6CiteSSAqJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjcwOTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozNDY6CiteSSAqIEBwYXJhbSByZXEgcmVxdWVzdCBo YW5kbGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzEwOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjM0NzoKK15JICogQHBhcmFtIHBh cmVudCBpbm9kZSBudW1iZXIgb2YgdGhlIHBhcmVudCBkaXJlY3RvcnkkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzExOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5oOjM0ODoKK15JICogQHBhcmFtIG5hbWUgdG8gY3JlYXRlJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjcxMjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozNDk6CiteSSAqIEBwYXJhbSBtb2RlIHdpdGggd2hpY2gg dG8gY3JlYXRlIHRoZSBuZXcgZmlsZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI3MTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MzUw OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzE0 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjM1MToKK15Jdm9pZCAoKm1r ZGlyKSAoZnVzZV9yZXFfdCByZXEsIGZ1c2VfaW5vX3QgcGFyZW50LCBjb25zdCBjaGFyICpuYW1l LCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3MTU6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MzUyOgorXkleSSAgICAgICBtb2RlX3Qg bW9kZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjcxNzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozNTQ6CiteSS8qKiQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3MTg6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MzU1OgorXkkgKiBSZW1vdmUgYSBmaWxlJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjcxOTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozNTY6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjcyMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuaDozNTc6CiteSSAqIElmIHRoZSBmaWxlJ3MgaW5vZGUncyBsb29rdXAgY291bnQgaXMg bm9uLXplcm8sIHRoZSBmaWxlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjcyMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozNTg6Cite SSAqIHN5c3RlbSBpcyBleHBlY3RlZCB0byBwb3N0cG9uZSBhbnkgcmVtb3ZhbCBvZiB0aGUgaW5v ZGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzIyOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjM1OToKK15JICogdW50aWwgdGhlIGxv b2t1cCBjb3VudCByZWFjaGVzIHplcm8gKHNlZSBkZXNjcmlwdGlvbiBvZiB0aGUkCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzIzOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjM2MDoKK15JICogZm9yZ2V0IGZ1bmN0aW9uKS4kCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzI0OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjM2MToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzI1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjM2MjoKK15JICogVmFsaWQgcmVwbGllczokCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzI2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjM2MzoKK15JICogICBmdXNlX3JlcGx5X2VyciQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3Mjc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6MzY0OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI3Mjg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MzY1 OgorXkkgKiBAcGFyYW0gcmVxIHJlcXVlc3QgaGFuZGxlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjcyOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuaDozNjY6CiteSSAqIEBwYXJhbSBwYXJlbnQgaW5vZGUgbnVtYmVyIG9mIHRoZSBwYXJl bnQgZGlyZWN0b3J5JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MjczMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozNjc6CiteSSAqIEBw YXJhbSBuYW1lIHRvIHJlbW92ZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI3MzE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MzY4Ogor XkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzMyOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjM2OToKK15Jdm9pZCAoKnVubGlu aykgKGZ1c2VfcmVxX3QgcmVxLCBmdXNlX2lub190IHBhcmVudCwgY29uc3QgY2hhciAqbmFtZSk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjczNDogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozNzE6CiteSS8qKiQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3MzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmg6MzcyOgorXkkgKiBSZW1vdmUgYSBkaXJlY3RvcnkkCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzM2OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjM3MzoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyNzM3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjM3NDoKK15JICogSWYgdGhlIGRpcmVjdG9yeSdzIGlub2RlJ3MgbG9va3VwIGNvdW50 IGlzIG5vbi16ZXJvLCB0aGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyNzM4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjM3NToKK15J ICogZmlsZSBzeXN0ZW0gaXMgZXhwZWN0ZWQgdG8gcG9zdHBvbmUgYW55IHJlbW92YWwgb2YgdGhl JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjczOTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozNzY6CiteSSAqIGlub2RlIHVudGlsIHRo ZSBsb29rdXAgY291bnQgcmVhY2hlcyB6ZXJvIChzZWUgZGVzY3JpcHRpb24kCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzQwOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5oOjM3NzoKK15JICogb2YgdGhlIGZvcmdldCBmdW5jdGlvbikuJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc0MTogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozNzg6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc0MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDozNzk6CiteSSAqIFZhbGlkIHJlcGxpZXM6JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc0MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDozODA6CiteSSAqICAgZnVzZV9yZXBseV9lcnIkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzQ0OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5oOjM4MToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyNzQ1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o OjM4MjoKK15JICogQHBhcmFtIHJlcSByZXF1ZXN0IGhhbmRsZSQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3NDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6MzgzOgorXkkgKiBAcGFyYW0gcGFyZW50IGlub2RlIG51bWJlciBvZiB0aGUg cGFyZW50IGRpcmVjdG9yeSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI3NDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6Mzg0OgorXkkg KiBAcGFyYW0gbmFtZSB0byByZW1vdmUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyNzQ4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjM4 NToKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc0 OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozODY6CiteSXZvaWQgKCpy bWRpcikgKGZ1c2VfcmVxX3QgcmVxLCBmdXNlX2lub190IHBhcmVudCwgY29uc3QgY2hhciAqbmFt ZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc1MTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozODg6CiteSS8qKiQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3NTI6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmg6Mzg5OgorXkkgKiBDcmVhdGUgYSBzeW1ib2xpYyBsaW5rJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc1MzogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozOTA6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc1NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDozOTE6CiteSSAqIFZhbGlkIHJlcGxpZXM6JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc1NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDozOTI6CiteSSAqICAgZnVzZV9yZXBseV9lbnRyeSQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3NTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmg6MzkzOgorXkkgKiAgIGZ1c2VfcmVwbHlfZXJyJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc1NzogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuaDozOTQ6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjc1ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuaDozOTU6CiteSSAqIEBwYXJhbSByZXEgcmVxdWVzdCBoYW5kbGUkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzU5OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5oOjM5NjoKK15JICogQHBhcmFtIGxpbmsgdGhlIGNvbnRlbnRzIG9mIHRo ZSBzeW1ib2xpYyBsaW5rJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjc2MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozOTc6CiteSSAq IEBwYXJhbSBwYXJlbnQgaW5vZGUgbnVtYmVyIG9mIHRoZSBwYXJlbnQgZGlyZWN0b3J5JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc2MTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDozOTg6CiteSSAqIEBwYXJhbSBuYW1lIHRvIGNyZWF0 ZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3NjI6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6Mzk5OgorXkkgKi8kCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzYzOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5oOjQwMDoKK15Jdm9pZCAoKnN5bWxpbmspIChmdXNlX3JlcV90IHJl cSwgY29uc3QgY2hhciAqbGluaywgZnVzZV9pbm9fdCBwYXJlbnQsJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc2NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDo0MDE6CiteSV5JXkkgY29uc3QgY2hhciAqbmFtZSk7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc2NjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuaDo0MDM6CiteSS8qKiBSZW5hbWUgYSBmaWxlJAoKV0FSTklORzog QmxvY2sgY29tbWVudHMgdXNlIGEgbGVhZGluZyAvKiBvbiBhIHNlcGFyYXRlIGxpbmUKIzI3NjY6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDAzOgorICAgICAgIC8qKiBS ZW5hbWUgYSBmaWxlCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy NzY3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjQwNDoKK15JICokCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzY4OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjQwNToKK15JICogSWYgdGhlIHRhcmdldCBleGlz dHMgaXQgc2hvdWxkIGJlIGF0b21pY2FsbHkgcmVwbGFjZWQuIElmJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc2OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDo0MDY6CiteSSAqIHRoZSB0YXJnZXQncyBpbm9kZSdzIGxvb2t1cCBjb3Vu dCBpcyBub24temVybywgdGhlIGZpbGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyNzcwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjQw NzoKK15JICogc3lzdGVtIGlzIGV4cGVjdGVkIHRvIHBvc3Rwb25lIGFueSByZW1vdmFsIG9mIHRo ZSBpbm9kZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3NzE6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDA4OgorXkkgKiB1bnRpbCB0 aGUgbG9va3VwIGNvdW50IHJlYWNoZXMgemVybyAoc2VlIGRlc2NyaXB0aW9uIG9mIHRoZSQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3NzI6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDA5OgorXkkgKiBmb3JnZXQgZnVuY3Rpb24pLiQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3NzM6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDEwOgorXkkgKiQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3NzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmg6NDExOgorXkkgKiBJZiB0aGlzIHJlcXVlc3QgaXMgYW5zd2VyZWQgd2l0 aCBhbiBlcnJvciBjb2RlIG9mIEVOT1NZUywgdGhpcyBpcyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3NzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6NDEyOgorXkkgKiB0cmVhdGVkIGFzIGEgcGVybWFuZW50IGZhaWx1cmUgd2l0aCBl cnJvciBjb2RlIEVJTlZBTCwgaS5lLiBhbGwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyNzc2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o OjQxMzoKK15JICogZnV0dXJlIGJtYXAgcmVxdWVzdHMgd2lsbCBmYWlsIHdpdGggRUlOVkFMIHdp dGhvdXQgYmVpbmckCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy Nzc3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjQxNDoKK15JICogc2Vu ZCB0byB0aGUgZmlsZXN5c3RlbSBwcm9jZXNzLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI3Nzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs Lmg6NDE1OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzI3Nzk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDE2OgorXkkgKiAq ZmxhZ3MqIG1heSBiZSBgUkVOQU1FX0VYQ0hBTkdFYCBvciBgUkVOQU1FX05PUkVQTEFDRWAuIElm JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc4MDogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo0MTc6CiteSSAqIFJFTkFNRV9OT1JFUExB Q0UgaXMgc3BlY2lmaWVkLCB0aGUgZmlsZXN5c3RlbSBtdXN0IG5vdCQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3ODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmg6NDE4OgorXkkgKiBvdmVyd3JpdGUgKm5ld25hbWUqIGlmIGl0IGV4aXN0 cyBhbmQgcmV0dXJuIGFuIGVycm9yJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjc4MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo0MTk6 CiteSSAqIGluc3RlYWQuIElmIGBSRU5BTUVfRVhDSEFOR0VgIGlzIHNwZWNpZmllZCwgdGhlIGZp bGVzeXN0ZW0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzgz OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjQyMDoKK15JICogbXVzdCBh dG9taWNhbGx5IGV4Y2hhbmdlIHRoZSB0d28gZmlsZXMsIGkuZS4gYm90aCBtdXN0JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc4NDogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo0MjE6CiteSSAqIGV4aXN0IGFuZCBuZWl0aGVyIG1heSBi ZSBkZWxldGVkLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3 ODU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDIyOgorXkkgKiQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3ODY6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDIzOgorXkkgKiBWYWxpZCByZXBsaWVzOiQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3ODc6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDI0OgorXkkgKiAgIGZ1c2VfcmVwbHlfZXJyJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc4ODogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo0MjU6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc4OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDo0MjY6CiteSSAqIEBwYXJhbSByZXEgcmVxdWVzdCBoYW5kbGUkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzkwOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjQyNzoKK15JICogQHBhcmFtIHBhcmVudCBpbm9kZSBu dW1iZXIgb2YgdGhlIG9sZCBwYXJlbnQgZGlyZWN0b3J5JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjc5MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuaDo0Mjg6CiteSSAqIEBwYXJhbSBuYW1lIG9sZCBuYW1lJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc5MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDo0Mjk6CiteSSAqIEBwYXJhbSBuZXdwYXJlbnQgaW5vZGUgbnVtYmVyIG9m IHRoZSBuZXcgcGFyZW50IGRpcmVjdG9yeSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI3OTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 NDMwOgorXkkgKiBAcGFyYW0gbmV3bmFtZSBuZXcgbmFtZSQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3OTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6NDMxOgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyNzk1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjQzMjoK K15Jdm9pZCAoKnJlbmFtZSkgKGZ1c2VfcmVxX3QgcmVxLCBmdXNlX2lub190IHBhcmVudCwgY29u c3QgY2hhciAqbmFtZSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyNzk2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjQzMzoKK15JXkle SWZ1c2VfaW5vX3QgbmV3cGFyZW50LCBjb25zdCBjaGFyICpuZXduYW1lLCQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3OTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmg6NDM0OgorXkleSV5JdW5zaWduZWQgaW50IGZsYWdzKTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzk5OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjQzNjoKK15JLyoqJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjgwMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuaDo0Mzc6CiteSSAqIENyZWF0ZSBhIGhhcmQgbGluayQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4MDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmg6NDM4OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI4MDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 NDM5OgorXkkgKiBWYWxpZCByZXBsaWVzOiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI4MDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 NDQwOgorXkkgKiAgIGZ1c2VfcmVwbHlfZW50cnkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyODA0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjQ0MToKK15JICogICBmdXNlX3JlcGx5X2VyciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzI4MDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmg6NDQyOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI4MDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDQzOgorXkkg KiBAcGFyYW0gcmVxIHJlcXVlc3QgaGFuZGxlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjgwNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu aDo0NDQ6CiteSSAqIEBwYXJhbSBpbm8gdGhlIG9sZCBpbm9kZSBudW1iZXIkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODA4OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5oOjQ0NToKK15JICogQHBhcmFtIG5ld3BhcmVudCBpbm9kZSBudW1i ZXIgb2YgdGhlIG5ldyBwYXJlbnQgZGlyZWN0b3J5JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjgwOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuaDo0NDY6CiteSSAqIEBwYXJhbSBuZXduYW1lIG5ldyBuYW1lIHRvIGNyZWF0ZSQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4MTA6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDQ3OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODExOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjQ0ODoKK15Jdm9pZCAoKmxpbmspIChmdXNlX3JlcV90IHJlcSwgZnVzZV9pbm9f dCBpbm8sIGZ1c2VfaW5vX3QgbmV3cGFyZW50LCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI4MTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs Lmg6NDQ5OgorXkleSSAgICAgIGNvbnN0IGNoYXIgKm5ld25hbWUpOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4MTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmg6NDUxOgorXkkvKiokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyODE1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o OjQ1MjoKK15JICogT3BlbiBhIGZpbGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyODE2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjQ1 MzoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODE3 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjQ1NDoKK15JICogT3BlbiBm bGFncyBhcmUgYXZhaWxhYmxlIGluIGZpLT5mbGFncy4gVGhlIGZvbGxvd2luZyBydWxlcyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4MTg6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDU1OgorXkkgKiBhcHBseS4kCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODE5OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5oOjQ1NjoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyODIwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjQ1NzoKK15JICogIC0gQ3JlYXRpb24gKE9fQ1JFQVQsIE9fRVhDTCwgT19OT0NUVFkpIGZs YWdzIHdpbGwgYmUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy ODIxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjQ1ODoKK15JICogICAg ZmlsdGVyZWQgb3V0IC8gaGFuZGxlZCBieSB0aGUga2VybmVsLiQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4MjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6NDU5OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI4MjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDYw OgorXkkgKiAgLSBBY2Nlc3MgbW9kZXMgKE9fUkRPTkxZLCBPX1dST05MWSwgT19SRFdSKSBzaG91 bGQgYmUgdXNlZCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4 MjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDYxOgorXkkgKiAgICBi eSB0aGUgZmlsZXN5c3RlbSB0byBjaGVjayBpZiB0aGUgb3BlcmF0aW9uIGlzJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjgyNTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuaDo0NjI6CiteSSAqICAgIHBlcm1pdHRlZC4gIElmIHRoZSBgYC1v IGRlZmF1bHRfcGVybWlzc2lvbnNgYCBtb3VudCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI4MjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs Lmg6NDYzOgorXkkgKiAgICBvcHRpb24gaXMgZ2l2ZW4sIHRoaXMgY2hlY2sgaXMgYWxyZWFkeSBk b25lIGJ5IHRoZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4 Mjc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDY0OgorXkkgKiAgICBr ZXJuZWwgYmVmb3JlIGNhbGxpbmcgb3BlbigpIGFuZCBtYXkgdGh1cyBiZSBvbWl0dGVkIGJ5JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjgyODogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo0NjU6CiteSSAqICAgIHRoZSBmaWxlc3lzdGVt LiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4Mjk6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDY2OgorXkkgKiQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4MzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmg6NDY3OgorXkkgKiAgLSBXaGVuIHdyaXRlYmFjayBjYWNoaW5nIGlz IGVuYWJsZWQsIHRoZSBrZXJuZWwgbWF5IHNlbmQkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyODMxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjQ2ODoKK15JICogICAgcmVhZCByZXF1ZXN0cyBldmVuIGZvciBmaWxlcyBvcGVuZWQgd2l0 aCBPX1dST05MWS4gVGhlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjgzMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo0Njk6CiteSSAq ICAgIGZpbGVzeXN0ZW0gc2hvdWxkIGJlIHByZXBhcmVkIHRvIGhhbmRsZSB0aGlzLiQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4MzM6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDcwOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4MzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6NDcxOgorXkkgKiAgLSBXaGVuIHdyaXRlYmFjayBjYWNoaW5nIGlzIGRpc2FibGVk LCB0aGUgZmlsZXN5c3RlbSBpcyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI4MzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDcyOgor XkkgKiAgICBleHBlY3RlZCB0byBwcm9wZXJseSBoYW5kbGUgdGhlIE9fQVBQRU5EIGZsYWcgYW5k IGVuc3VyZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4MzY6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDczOgorXkkgKiAgICB0aGF0 IGVhY2ggd3JpdGUgaXMgYXBwZW5kaW5nIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUuJAoKRVJST1I6 IHRyYWlsaW5nIHdoaXRlc3BhY2UKIzI4Mzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6NDc0OgorXkkgKiAkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyODM3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjQ3NDoK K15JICogJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjgzOTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo0NzY6CiteSSAqICAgIGhhbmRs ZSBPX0FQUEVORC4gSG93ZXZlciwgdW5sZXNzIGFsbCBjaGFuZ2VzIHRvIHRoZSBmaWxlJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg0MDogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo0Nzc6CiteSSAqICAgIGNvbWUgdGhyb3VnaCB0aGUg a2VybmVsIHRoaXMgd2lsbCBub3Qgd29yayByZWxpYWJseS4gVGhlJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg0MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDo0Nzg6CiteSSAqICAgIGZpbGVzeXN0ZW0gc2hvdWxkIHRodXMgZWl0aGVy IGlnbm9yZSB0aGUgT19BUFBFTkQgZmxhZyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI4NDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 NDc5OgorXkkgKiAgICAoYW5kIGxldCB0aGUga2VybmVsIGhhbmRsZSBpdCksIG9yIHJldHVybiBh biBlcnJvciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4NDM6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDgwOgorXkkgKiAgICAoaW5k aWNhdGluZyB0aGF0IHJlbGlhYmx5IE9fQVBQRU5EIGlzIG5vdCBhdmFpbGFibGUpLiQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4NDQ6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDgxOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4NDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6NDgyOgorXkkgKiBGaWxlc3lzdGVtIG1heSBzdG9yZSBhbiBhcmJpdHJhcnkgZmls ZSBoYW5kbGUgKHBvaW50ZXIsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjg0NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo0ODM6Cite SSAqIGluZGV4LCBldGMpIGluIGZpLT5maCwgYW5kIHVzZSB0aGlzIGluIG90aGVyIGFsbCBvdGhl ciBmaWxlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg0Nzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo0ODQ6CiteSSAqIG9wZXJhdGlv bnMgKHJlYWQsIHdyaXRlLCBmbHVzaCwgcmVsZWFzZSwgZnN5bmMpLiQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4NDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmg6NDg1OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI4NDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 NDg2OgorXkkgKiBGaWxlc3lzdGVtIG1heSBhbHNvIGltcGxlbWVudCBzdGF0ZWxlc3MgZmlsZSBJ L08gYW5kIG5vdCBzdG9yZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI4NTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDg3OgorXkkg KiBhbnl0aGluZyBpbiBmaS0+ZmguJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjg1MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo0ODg6 CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg1Mjog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo0ODk6CiteSSAqIFRoZXJlIGFy ZSBhbHNvIHNvbWUgZmxhZ3MgKGRpcmVjdF9pbywga2VlcF9jYWNoZSkgd2hpY2ggdGhlJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg1MzogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo0OTA6CiteSSAqIGZpbGVzeXN0ZW0gbWF5IHNldCBp biBmaSwgdG8gY2hhbmdlIHRoZSB3YXkgdGhlIGZpbGUgaXMgb3BlbmVkLiQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4NTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmg6NDkxOgorXkkgKiBTZWUgZnVzZV9maWxlX2luZm8gc3RydWN0dXJl IGluIDxmdXNlX2NvbW1vbi5oPiBmb3IgbW9yZSBkZXRhaWxzLiQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4NTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6NDkyOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI4NTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDkz OgorXkkgKiBJZiB0aGlzIHJlcXVlc3QgaXMgYW5zd2VyZWQgd2l0aCBhbiBlcnJvciBjb2RlIG9m IEVOT1NZUyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4NTc6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDk0OgorXkkgKiBhbmQgRlVT RV9DQVBfTk9fT1BFTl9TVVBQT1JUIGlzIHNldCBpbiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzI4NTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmg6NDk1OgorXkkgKiBgZnVzZV9jb25uX2luZm8uY2FwYWJsZWAsIHRoaXMgaXMgdHJlYXRl ZCBhcyBzdWNjZXNzIGFuZCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI4NTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NDk2OgorXkkg KiBmdXR1cmUgY2FsbHMgdG8gb3BlbiBhbmQgcmVsZWFzZSB3aWxsIGFsc28gc3VjY2VlZCB3aXRo b3V0IGJlaW5nJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg2 MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo0OTc6CiteSSAqIHNlbnQg dG8gdGhlIGZpbGVzeXN0ZW0gcHJvY2Vzcy4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyODYxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o OjQ5ODoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy ODYyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjQ5OToKK15JICogVmFs aWQgcmVwbGllczokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy ODYzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjUwMDoKK15JICogICBm dXNlX3JlcGx5X29wZW4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyODY0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjUwMToKK15JICog ICBmdXNlX3JlcGx5X2VyciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI4NjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NTAyOgorXkkg KiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4NjY6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NTAzOgorXkkgKiBAcGFyYW0gcmVxIHJl cXVlc3QgaGFuZGxlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj Mjg2NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo1MDQ6CiteSSAqIEBw YXJhbSBpbm8gdGhlIGlub2RlIG51bWJlciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI4Njg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 NTA1OgorXkkgKiBAcGFyYW0gZmkgZmlsZSBpbmZvcm1hdGlvbiQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4Njk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6NTA2OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyODcwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjUw NzoKK15Jdm9pZCAoKm9wZW4pIChmdXNlX3JlcV90IHJlcSwgZnVzZV9pbm9fdCBpbm8sJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg3MTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo1MDg6CiteSV5JICAgICAgc3RydWN0IGZ1c2VfZmls ZV9pbmZvICpmaSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj Mjg3MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo1MTA6CiteSS8qKiQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4NzQ6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NTExOgorXkkgKiBSZWFkIGRhdGEkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODc1OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjUxMjoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODc2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjUxMzoKK15JICogUmVhZCBzaG91bGQgc2VuZCBleGFjdGx5IHRoZSBudW1iZXIg b2YgYnl0ZXMgcmVxdWVzdGVkIGV4Y2VwdCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI4Nzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 NTE0OgorXkkgKiBvbiBFT0Ygb3IgZXJyb3IsIG90aGVyd2lzZSB0aGUgcmVzdCBvZiB0aGUgZGF0 YSB3aWxsIGJlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg3 ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo1MTU6CiteSSAqIHN1YnN0 aXR1dGVkIHdpdGggemVyb2VzLiAgQW4gZXhjZXB0aW9uIHRvIHRoaXMgaXMgd2hlbiB0aGUgZmls ZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4Nzk6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NTE2OgorXkkgKiBoYXMgYmVlbiBvcGVu ZWQgaW4gJ2RpcmVjdF9pbycgbW9kZSwgaW4gd2hpY2ggY2FzZSB0aGUgcmV0dXJuJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg4MDogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo1MTc6CiteSSAqIHZhbHVlIG9mIHRoZSByZWFkIHN5c3Rl bSBjYWxsIHdpbGwgcmVmbGVjdCB0aGUgcmV0dXJuIHZhbHVlIG9mJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg4MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDo1MTg6CiteSSAqIHRoaXMgb3BlcmF0aW9uLiQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4ODI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmg6NTE5OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI4ODM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 NTIwOgorXkkgKiBmaS0+Zmggd2lsbCBjb250YWluIHRoZSB2YWx1ZSBzZXQgYnkgdGhlIG9wZW4g bWV0aG9kLCBvciB3aWxsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjg4NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo1MjE6CiteSSAq IGJlIHVuZGVmaW5lZCBpZiB0aGUgb3BlbiBtZXRob2QgZGlkbid0IHNldCBhbnkgdmFsdWUuJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg4NTogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo1MjI6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg4NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDo1MjM6CiteSSAqIFZhbGlkIHJlcGxpZXM6JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg4NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDo1MjQ6CiteSSAqICAgZnVzZV9yZXBseV9idWYkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODg4OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5oOjUyNToKK15JICogICBmdXNlX3JlcGx5X2lvdiQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4ODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmg6NTI2OgorXkkgKiAgIGZ1c2VfcmVwbHlfZGF0YSQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4OTA6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmg6NTI3OgorXkkgKiAgIGZ1c2VfcmVwbHlfZXJyJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg5MTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo1Mjg6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjg5MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuaDo1Mjk6CiteSSAqIEBwYXJhbSByZXEgcmVxdWVzdCBoYW5kbGUkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODkzOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5oOjUzMDoKK15JICogQHBhcmFtIGlubyB0aGUgaW5vZGUgbnVtYmVy JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg5NDogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo1MzE6CiteSSAqIEBwYXJhbSBzaXplIG51 bWJlciBvZiBieXRlcyB0byByZWFkJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjg5NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo1MzI6 CiteSSAqIEBwYXJhbSBvZmYgb2Zmc2V0IHRvIHJlYWQgZnJvbSQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4OTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6NTMzOgorXkkgKiBAcGFyYW0gZmkgZmlsZSBpbmZvcm1hdGlvbiQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4OTc6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NTM0OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODk4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjUzNToKK15Jdm9pZCAoKnJlYWQpIChmdXNlX3JlcV90IHJlcSwgZnVzZV9pbm9f dCBpbm8sIHNpemVfdCBzaXplLCBvZmZfdCBvZmYsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjg5OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuaDo1MzY6CiteSV5JICAgICAgc3RydWN0IGZ1c2VfZmlsZV9pbmZvICpmaSk7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjkwMTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo1Mzg6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5MDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6NTM5OgorXkkgKiBXcml0ZSBkYXRhJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjkwMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuaDo1NDA6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjkwNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo1NDE6CiteSSAq IFdyaXRlIHNob3VsZCByZXR1cm4gZXhhY3RseSB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlcXVlc3Rl ZCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5MDU6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NTQyOgorXkkgKiBleGNlcHQgb24gZXJy b3IuICBBbiBleGNlcHRpb24gdG8gdGhpcyBpcyB3aGVuIHRoZSBmaWxlIGhhcyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5MDY6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmg6NTQzOgorXkkgKiBiZWVuIG9wZW5lZCBpbiAnZGlyZWN0X2lv JyBtb2RlLCBpbiB3aGljaCBjYXNlIHRoZSByZXR1cm4gdmFsdWUkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTA3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5oOjU0NDoKK15JICogb2YgdGhlIHdyaXRlIHN5c3RlbSBjYWxsIHdpbGwgcmVm bGVjdCB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoaXMkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyOTA4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjU0NToKK15JICogb3BlcmF0aW9uLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI5MDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 NTQ2OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5 MTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NTQ3OgorXkkgKiBVbmxl c3MgRlVTRV9DQVBfSEFORExFX0tJTExQUklWIGlzIGRpc2FibGVkLCB0aGlzIG1ldGhvZCBpcyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5MTE6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NTQ4OgorXkkgKiBleHBlY3RlZCB0byByZXNl dCB0aGUgc2V0dWlkIGFuZCBzZXRnaWQgYml0cy4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyOTEyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjU0OToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyOTEzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjU1MDoKK15JICog ZmktPmZoIHdpbGwgY29udGFpbiB0aGUgdmFsdWUgc2V0IGJ5IHRoZSBvcGVuIG1ldGhvZCwgb3Ig d2lsbCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5MTQ6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NTUxOgorXkkgKiBiZSB1bmRlZmlu ZWQgaWYgdGhlIG9wZW4gbWV0aG9kIGRpZG4ndCBzZXQgYW55IHZhbHVlLiQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5MTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmg6NTUyOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI5MTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs Lmg6NTUzOgorXkkgKiBWYWxpZCByZXBsaWVzOiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI5MTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs Lmg6NTU0OgorXkkgKiAgIGZ1c2VfcmVwbHlfd3JpdGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyOTE4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjU1NToKK15JICogICBmdXNlX3JlcGx5X2VyciQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5MTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6NTU2OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI5MjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NTU3Ogor XkkgKiBAcGFyYW0gcmVxIHJlcXVlc3QgaGFuZGxlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjkyMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuaDo1NTg6CiteSSAqIEBwYXJhbSBpbm8gdGhlIGlub2RlIG51bWJlciQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5MjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmg6NTU5OgorXkkgKiBAcGFyYW0gYnVmIGRhdGEgdG8gd3JpdGUkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTIzOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjU2MDoKK15JICogQHBhcmFtIHNpemUgbnVtYmVy IG9mIGJ5dGVzIHRvIHdyaXRlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjkyNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo1NjE6Cite SSAqIEBwYXJhbSBvZmYgb2Zmc2V0IHRvIHdyaXRlIHRvJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjkyNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuaDo1NjI6CiteSSAqIEBwYXJhbSBmaSBmaWxlIGluZm9ybWF0aW9uJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjkyNjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuaDo1NjM6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzI5Mjc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmg6NTY0OgorXkl2b2lkICgqd3JpdGUpIChmdXNlX3JlcV90IHJlcSwgZnVzZV9pbm9fdCBp bm8sIGNvbnN0IGNoYXIgKmJ1ZiwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyOTI4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjU2NToK K15JXkkgICAgICAgc2l6ZV90IHNpemUsIG9mZl90IG9mZiwgc3RydWN0IGZ1c2VfZmlsZV9pbmZv ICpmaSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjkzMDog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo1Njc6CiteSS8qKiQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5MzE6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NTY4OgorXkkgKiBGbHVzaCBtZXRob2QkCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTMyOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjU2OToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyOTMzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjU3MDoKK15JICogVGhpcyBpcyBjYWxsZWQgb24gZWFjaCBjbG9zZSgpIG9mIHRoZSBv cGVuZWQgZmlsZS4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy OTM0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjU3MToKK15JICokCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTM1OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjU3MjoKK15JICogU2luY2UgZmlsZSBkZXNjcmlw dG9ycyBjYW4gYmUgZHVwbGljYXRlZCAoZHVwLCBkdXAyLCBmb3JrKSwgZm9yJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjkzNjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuaDo1NzM6CiteSSAqIG9uZSBvcGVuIGNhbGwgdGhlcmUgbWF5IGJl IG1hbnkgZmx1c2ggY2FsbHMuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjkzNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo1NzQ6Cite SSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjkzODogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo1NzU6CiteSSAqIEZpbGVzeXN0ZW1z IHNob3VsZG4ndCBhc3N1bWUgdGhhdCBmbHVzaCB3aWxsIGFsd2F5cyBiZSBjYWxsZWQkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTM5OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjU3NjoKK15JICogYWZ0ZXIgc29tZSB3cml0ZXMsIG9y IHRoYXQgaWYgd2lsbCBiZSBjYWxsZWQgYXQgYWxsLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzI5NDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmg6NTc3OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI5NDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NTc4OgorXkkg KiBmaS0+Zmggd2lsbCBjb250YWluIHRoZSB2YWx1ZSBzZXQgYnkgdGhlIG9wZW4gbWV0aG9kLCBv ciB3aWxsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk0Mjog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo1Nzk6CiteSSAqIGJlIHVuZGVm aW5lZCBpZiB0aGUgb3BlbiBtZXRob2QgZGlkbid0IHNldCBhbnkgdmFsdWUuJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk0MzogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuaDo1ODA6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjk0NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuaDo1ODE6CiteSSAqIE5PVEU6IHRoZSBuYW1lIG9mIHRoZSBtZXRob2QgaXMgbWlzbGVhZGlu Zywgc2luY2UgKHVubGlrZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI5NDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NTgyOgorXkkg KiBmc3luYykgdGhlIGZpbGVzeXN0ZW0gaXMgbm90IGZvcmNlZCB0byBmbHVzaCBwZW5kaW5nIHdy aXRlcy4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTQ2OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjU4MzoKK15JICogT25lIHJlYXNv biB0byBmbHVzaCBkYXRhIGlzIGlmIHRoZSBmaWxlc3lzdGVtIHdhbnRzIHRvIHJldHVybiQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5NDc6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NTg0OgorXkkgKiB3cml0ZSBlcnJvcnMgZHVyaW5n IGNsb3NlLiAgSG93ZXZlciwgc3VjaCB1c2UgaXMgbm9uLXBvcnRhYmxlJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk0ODogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuaDo1ODU6CiteSSAqIGJlY2F1c2UgUE9TSVggZG9lcyBub3QgcmVxdWly ZSBbY2xvc2VdIHRvIHdhaXQgZm9yIGRlbGF5ZWQgSS9PIHRvJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk0OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuaDo1ODY6CiteSSAqIGNvbXBsZXRlLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzI5NTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmg6NTg3OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI5NTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NTg4OgorXkkg KiBJZiB0aGUgZmlsZXN5c3RlbSBzdXBwb3J0cyBmaWxlIGxvY2tpbmcgb3BlcmF0aW9ucyAoc2V0 bGssJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk1MjogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo1ODk6CiteSSAqIGdldGxrKSBpdCBz aG91bGQgcmVtb3ZlIGFsbCBsb2NrcyBiZWxvbmdpbmcgdG8gJ2ZpLT5vd25lcicuJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk1MzogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo1OTA6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjk1NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuaDo1OTE6CiteSSAqIElmIHRoaXMgcmVxdWVzdCBpcyBhbnN3ZXJlZCB3aXRoIGFuIGVy cm9yIGNvZGUgb2YgRU5PU1lTLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI5NTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NTkyOgor XkkgKiB0aGlzIGlzIHRyZWF0ZWQgYXMgc3VjY2VzcyBhbmQgZnV0dXJlIGNhbGxzIHRvIGZsdXNo KCkgd2lsbCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5NTY6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NTkzOgorXkkgKiBzdWNjZWVk IGF1dG9tYXRpY2FsbHkgd2l0aG91dCBiZWluZyBzZW5kIHRvIHRoZSBmaWxlc3lzdGVtJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk1NzogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo1OTQ6CiteSSAqIHByb2Nlc3MuJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk1ODogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuaDo1OTU6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjk1OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuaDo1OTY6CiteSSAqIFZhbGlkIHJlcGxpZXM6JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjk2MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuaDo1OTc6CiteSSAqICAgZnVzZV9yZXBseV9lcnIkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyOTYxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjU5ODoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyOTYyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjU5OToKK15J ICogQHBhcmFtIHJlcSByZXF1ZXN0IGhhbmRsZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI5NjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs Lmg6NjAwOgorXkkgKiBAcGFyYW0gaW5vIHRoZSBpbm9kZSBudW1iZXIkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTY0OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5oOjYwMToKK15JICogQHBhcmFtIGZpIGZpbGUgaW5mb3JtYXRpb24kCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTY1OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjYwMjoKK15JICokCgpXQVJOSU5HOiBsaW5lIG92 ZXIgODAgY2hhcmFjdGVycwojMjk2NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuaDo2MDM6CisgICAgICAgICogW2Nsb3NlXTogaHR0cDovL3B1YnMub3Blbmdyb3VwLm9yZy9v bmxpbmVwdWJzLzk2OTk5MTk3OTkvZnVuY3Rpb25zL2Nsb3NlLmh0bWwKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5NjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmg6NjAzOgorXkkgKiBbY2xvc2VdOiBodHRwOi8vcHVicy5vcGVuZ3JvdXAu b3JnL29ubGluZXB1YnMvOTY5OTkxOTc5OS9mdW5jdGlvbnMvY2xvc2UuaHRtbCQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5Njc6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmg6NjA0OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyOTY4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjYwNToKK15Jdm9pZCAoKmZsdXNoKSAoZnVzZV9yZXFfdCByZXEsIGZ1c2VfaW5vX3Qg aW5vLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5Njk6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NjA2OgorXkleSSAgICAgICBzdHJ1 Y3QgZnVzZV9maWxlX2luZm8gKmZpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyOTcxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjYw ODoKK15JLyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk3 MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2MDk6CiteSSAqIFJlbGVh c2UgYW4gb3BlbiBmaWxlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjk3MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2MTA6CiteSSAq JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk3NDogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2MTE6CiteSSAqIFJlbGVhc2UgaXMgY2Fs bGVkIHdoZW4gdGhlcmUgYXJlIG5vIG1vcmUgcmVmZXJlbmNlcyB0byBhbiBvcGVuJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk3NTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2MTI6CiteSSAqIGZpbGU6IGFsbCBmaWxlIGRlc2NyaXB0 b3JzIGFyZSBjbG9zZWQgYW5kIGFsbCBtZW1vcnkgbWFwcGluZ3MkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTc2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5oOjYxMzoKK15JICogYXJlIHVubWFwcGVkLiQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5Nzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6NjE0OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI5Nzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NjE1 OgorXkkgKiBGb3IgZXZlcnkgb3BlbiBjYWxsIHRoZXJlIHdpbGwgYmUgZXhhY3RseSBvbmUgcmVs ZWFzZSBjYWxsICh1bmxlc3MkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyOTc5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjYxNjoKK15J ICogdGhlIGZpbGVzeXN0ZW0gaXMgZm9yY2UtdW5tb3VudGVkKS4kCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTgwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5oOjYxNzoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyOTgxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjYx ODoKK15JICogVGhlIGZpbGVzeXN0ZW0gbWF5IHJlcGx5IHdpdGggYW4gZXJyb3IsIGJ1dCBlcnJv ciB2YWx1ZXMgYXJlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj Mjk4MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2MTk6CiteSSAqIG5v dCByZXR1cm5lZCB0byBjbG9zZSgpIG9yIG11bm1hcCgpIHdoaWNoIHRyaWdnZXJlZCB0aGUkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTgzOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjYyMDoKK15JICogcmVsZWFzZS4kCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTg0OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjYyMToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyOTg1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjYyMjoKK15JICogZmktPmZoIHdpbGwgY29udGFpbiB0aGUgdmFsdWUgc2V0IGJ5IHRo ZSBvcGVuIG1ldGhvZCwgb3Igd2lsbCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI5ODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NjIz OgorXkkgKiBiZSB1bmRlZmluZWQgaWYgdGhlIG9wZW4gbWV0aG9kIGRpZG4ndCBzZXQgYW55IHZh bHVlLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5ODc6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NjI0OgorXkkgKiBmaS0+ZmxhZ3Mg d2lsbCBjb250YWluIHRoZSBzYW1lIGZsYWdzIGFzIGZvciBvcGVuLiQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5ODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmg6NjI1OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI5ODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 NjI2OgorXkkgKiBWYWxpZCByZXBsaWVzOiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI5OTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 NjI3OgorXkkgKiAgIGZ1c2VfcmVwbHlfZXJyJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjk5MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu aDo2Mjg6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj Mjk5MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2Mjk6CiteSSAqIEBw YXJhbSByZXEgcmVxdWVzdCBoYW5kbGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyOTkzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjYz MDoKK15JICogQHBhcmFtIGlubyB0aGUgaW5vZGUgbnVtYmVyJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk5NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuaDo2MzE6CiteSSAqIEBwYXJhbSBmaSBmaWxlIGluZm9ybWF0aW9uJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk5NTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2MzI6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5OTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6NjMzOgorXkl2b2lkICgqcmVsZWFzZSkgKGZ1c2VfcmVxX3QgcmVxLCBmdXNlX2lu b190IGlubywkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTk3 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjYzNDoKK15JXkleSSBzdHJ1 Y3QgZnVzZV9maWxlX2luZm8gKmZpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyOTk5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjYz NjoKK15JLyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzAw MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2Mzc6CiteSSAqIFN5bmNo cm9uaXplIGZpbGUgY29udGVudHMkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzMDAxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjYzODoK K15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDAyOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjYzOToKK15JICogSWYgdGhlIGRh dGFzeW5jIHBhcmFtZXRlciBpcyBub24temVybywgdGhlbiBvbmx5IHRoZSB1c2VyIGRhdGEkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDAzOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjY0MDoKK15JICogc2hvdWxkIGJlIGZsdXNoZWQs IG5vdCB0aGUgbWV0YSBkYXRhLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzMwMDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NjQxOgor XkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwMDU6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NjQyOgorXkkgKiBJZiB0aGlzIHJl cXVlc3QgaXMgYW5zd2VyZWQgd2l0aCBhbiBlcnJvciBjb2RlIG9mIEVOT1NZUywkCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDA2OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjY0MzoKK15JICogdGhpcyBpcyB0cmVhdGVkIGFzIHN1Y2Nl c3MgYW5kIGZ1dHVyZSBjYWxscyB0byBmc3luYygpIHdpbGwkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDA3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjY0NDoKK15JICogc3VjY2VlZCBhdXRvbWF0aWNhbGx5IHdpdGhvdXQgYmVpbmcg c2VuZCB0byB0aGUgZmlsZXN5c3RlbSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzMwMDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NjQ1 OgorXkkgKiBwcm9jZXNzLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzMwMDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NjQ2OgorXkkg KiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwMTA6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NjQ3OgorXkkgKiBWYWxpZCByZXBsaWVz OiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwMTE6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NjQ4OgorXkkgKiAgIGZ1c2VfcmVwbHlf ZXJyJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzAxMjogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2NDk6CiteSSAqJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzAxMzogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuaDo2NTA6CiteSSAqIEBwYXJhbSByZXEgcmVxdWVzdCBoYW5kbGUk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDE0OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjY1MToKK15JICogQHBhcmFtIGlubyB0aGUg aW5vZGUgbnVtYmVyJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MzAxNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2NTI6CiteSSAqIEBw YXJhbSBkYXRhc3luYyBmbGFnIGluZGljYXRpbmcgaWYgb25seSBkYXRhIHNob3VsZCBiZSBmbHVz aGVkJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzAxNjogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2NTM6CiteSSAqIEBwYXJhbSBmaSBm aWxlIGluZm9ybWF0aW9uJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMzAxNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2NTQ6CiteSSAq LyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwMTg6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NjU1OgorXkl2b2lkICgqZnN5bmMpIChm dXNlX3JlcV90IHJlcSwgZnVzZV9pbm9fdCBpbm8sIGludCBkYXRhc3luYywkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDE5OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5oOjY1NjoKK15JXkkgICAgICAgc3RydWN0IGZ1c2VfZmlsZV9pbmZv ICpmaSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzAyMTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2NTg6CiteSS8qKiQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwMjI6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NjU5OgorXkkgKiBPcGVuIGEgZGlyZWN0b3J5JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzAyMzogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2NjA6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzAyNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuaDo2NjE6CiteSSAqIEZpbGVzeXN0ZW0gbWF5IHN0b3JlIGFuIGFyYml0cmFyeSBm aWxlIGhhbmRsZSAocG9pbnRlciwgaW5kZXgsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMzAyNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu aDo2NjI6CiteSSAqIGV0YykgaW4gZmktPmZoLCBhbmQgdXNlIHRoaXMgaW4gb3RoZXIgYWxsIG90 aGVyIGRpcmVjdG9yeSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzMwMjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NjYzOgorXkkgKiBz dHJlYW0gb3BlcmF0aW9ucyAocmVhZGRpciwgcmVsZWFzZWRpciwgZnN5bmNkaXIpLiQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwMjc6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NjY0OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwMjg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6NjY1OgorXkkgKiBJZiB0aGlzIHJlcXVlc3QgaXMgYW5zd2VyZWQgd2l0aCBhbiBl cnJvciBjb2RlIG9mIEVOT1NZUyBhbmQkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMzMDI5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjY2 NjoKK15JICogRlVTRV9DQVBfTk9fT1BFTkRJUl9TVVBQT1JUIGlzIHNldCBpbiBgZnVzZV9jb25u X2luZm8uY2FwYWJsZWAsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMzAzMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2Njc6CiteSSAq IHRoaXMgaXMgdHJlYXRlZCBhcyBzdWNjZXNzIGFuZCBmdXR1cmUgY2FsbHMgdG8gb3BlbmRpciBh bmQkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDMxOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjY2ODoKK15JICogcmVsZWFzZWRpciB3 aWxsIGFsc28gc3VjY2VlZCB3aXRob3V0IGJlaW5nIHNlbnQgdG8gdGhlIGZpbGVzeXN0ZW0kCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDMyOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjY2OToKK15JICogcHJvY2Vzcy4gSW4gYWRkaXRp b24sIHRoZSBrZXJuZWwgd2lsbCBjYWNoZSByZWFkZGlyIHJlc3VsdHMkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDMzOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5oOjY3MDoKK15JICogYXMgaWYgb3BlbmRpciByZXR1cm5lZCBGT1BFTl9L RUVQX0NBQ0hFIHwgRk9QRU5fQ0FDSEVfRElSLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzMwMzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs Lmg6NjcxOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzMwMzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NjcyOgorXkkgKiBW YWxpZCByZXBsaWVzOiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzMwMzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NjczOgorXkkgKiAg IGZ1c2VfcmVwbHlfb3BlbiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzMwMzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6Njc0OgorXkkg KiAgIGZ1c2VfcmVwbHlfZXJyJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMzAzODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2NzU6Cite SSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzAzOTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2NzY6CiteSSAqIEBwYXJhbSByZXEg cmVxdWVzdCBoYW5kbGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzMDQwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjY3NzoKK15JICog QHBhcmFtIGlubyB0aGUgaW5vZGUgbnVtYmVyJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMzA0MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu aDo2Nzg6CiteSSAqIEBwYXJhbSBmaSBmaWxlIGluZm9ybWF0aW9uJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA0MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDo2Nzk6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzMwNDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 NjgwOgorXkl2b2lkICgqb3BlbmRpcikgKGZ1c2VfcmVxX3QgcmVxLCBmdXNlX2lub190IGlubywk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDQ0OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjY4MToKK15JXkleSSBzdHJ1Y3QgZnVzZV9m aWxlX2luZm8gKmZpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzMDQ2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjY4MzoKK15JLyoq JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA0NzogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2ODQ6CiteSSAqIFJlYWQgZGlyZWN0b3J5 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA0ODogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2ODU6CiteSSAqJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA0OTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuaDo2ODY6CiteSSAqIFNlbmQgYSBidWZmZXIgZmlsbGVkIHVzaW5nIGZ1 c2VfYWRkX2RpcmVudHJ5KCksIHdpdGggc2l6ZSBub3QkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMzMDUwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjY4NzoKK15JICogZXhjZWVkaW5nIHRoZSByZXF1ZXN0ZWQgc2l6ZS4gIFNlbmQgYW4g ZW1wdHkgYnVmZmVyIG9uIGVuZCBvZiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzMwNTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6Njg4 OgorXkkgKiBzdHJlYW0uJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMzA1MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2ODk6CiteSSAq JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA1MzogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo2OTA6CiteSSAqIGZpLT5maCB3aWxsIGNv bnRhaW4gdGhlIHZhbHVlIHNldCBieSB0aGUgb3BlbmRpciBtZXRob2QsIG9yJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA1NDogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuaDo2OTE6CiteSSAqIHdpbGwgYmUgdW5kZWZpbmVkIGlmIHRoZSBv cGVuZGlyIG1ldGhvZCBkaWRuJ3Qgc2V0IGFueSB2YWx1ZS4kCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDU1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjY5MjoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzMDU2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjY5MzoK K15JICogUmV0dXJuaW5nIGEgZGlyZWN0b3J5IGVudHJ5IGZyb20gcmVhZGRpcigpIGRvZXMgbm90 IGFmZmVjdCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwNTc6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6Njk0OgorXkkgKiBpdHMgbG9v a3VwIGNvdW50LiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMw NTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6Njk1OgorXkkgKiQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwNjA6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6Njk3OgorXkkgKiB2YWx1ZXMgdGhhdCB3YXMgcHJl dmlvdXNseSByZXR1cm5lZCBieSByZWFkZGlyKCkgZm9yIHRoZSBzYW1lJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA2MTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuaDo2OTg6CiteSSAqIGRpcmVjdG9yeSBoYW5kbGUuIEluIHRoaXMgY2Fz ZSwgcmVhZGRpcigpIHNob3VsZCBza2lwIG92ZXIgZW50cmllcyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwNjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6Njk5OgorXkkgKiBjb21pbmcgYmVmb3JlIHRoZSBwb3NpdGlvbiBkZWZpbmVk IGJ5IHRoZSBvZmZfdCB2YWx1ZS4gSWYgZW50cmllcyQKCldBUk5JTkc6IGxpbmUgb3ZlciA4MCBj aGFyYWN0ZXJzCiMzMDYzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjcw MDoKKyAgICAgICAgKiBhcmUgYWRkZWQgb3IgcmVtb3ZlZCB3aGlsZSB0aGUgZGlyZWN0b3J5IGhh bmRsZSBpcyBvcGVuLCB0aGV5IGZpbGVzeXN0ZW0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzMwNjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs Lmg6NzAwOgorXkkgKiBhcmUgYWRkZWQgb3IgcmVtb3ZlZCB3aGlsZSB0aGUgZGlyZWN0b3J5IGhh bmRsZSBpcyBvcGVuLCB0aGV5IGZpbGVzeXN0ZW0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMzMDY0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjcwMToKK15JICogbWF5IHN0aWxsIGluY2x1ZGUgdGhlIGVudHJpZXMgdGhhdCBoYXZlIGJl ZW4gcmVtb3ZlZCwgYW5kIG1heSBub3QkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMzMDY1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjcw MjoKK15JICogcmVwb3J0IHRoZSBlbnRyaWVzIHRoYXQgaGF2ZSBiZWVuIGNyZWF0ZWQuIEhvd2V2 ZXIsIGFkZGl0aW9uIG9yJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMzA2NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3MDM6CiteSSAq IHJlbW92YWwgb2YgZW50cmllcyBtdXN0IG5ldmVyIGNhdXNlIHJlYWRkaXIoKSB0byBza2lwIG92 ZXIgdW5yZWxhdGVkJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MzA2NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3MDQ6CiteSSAqIGVu dHJpZXMgb3IgdG8gcmVwb3J0IHRoZW0gbW9yZSB0aGFuIG9uY2UuIFRoaXMgbWVhbnMkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDY4OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjcwNToKK15JICogdGhhdCBvZmZfdCBjYW4gbm90IGJl IGEgc2ltcGxlIGluZGV4IHRoYXQgZW51bWVyYXRlcyB0aGUgZW50cmllcyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwNjk6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmg6NzA2OgorXkkgKiB0aGF0IGhhdmUgYmVlbiByZXR1cm5lZCBidXQg bXVzdCBjb250YWluIHN1ZmZpY2llbnQgaW5mb3JtYXRpb24gdG8kCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDcwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5oOjcwNzoKK15JICogdW5pcXVlbHkgZGV0ZXJtaW5lIHRoZSBuZXh0IGRpcmVj dG9yeSBlbnRyeSB0byByZXR1cm4gZXZlbiB3aGVuIHRoZSQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwNzE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6NzA4OgorXkkgKiBzZXQgb2YgZW50cmllcyBpcyBjaGFuZ2luZy4kCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDcyOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjcwOToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMzMDczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjcxMDoKK15JICogVGhlIGZ1bmN0aW9uIGRvZXMgbm90IGhhdmUgdG8gcmVwb3J0IHRo ZSAnLicgYW5kICcuLickCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzMDc0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjcxMToKK15JICog ZW50cmllcywgYnV0IGlzIGFsbG93ZWQgdG8gZG8gc28uIE5vdGUgdGhhdCwgaWYgcmVhZGRpciBk b2VzJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA3NTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3MTI6CiteSSAqIG5vdCByZXR1cm4g Jy4nIG9yICcuLicsIHRoZXkgd2lsbCBub3QgYmUgaW1wbGljaXRseSByZXR1cm5lZCwkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDc2OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjcxMzoKK15JICogYW5kIHRoaXMgYmVoYXZpb3IgaXMg b2JzZXJ2YWJsZSBieSB0aGUgY2FsbGVyLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzMwNzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 NzE0OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMw Nzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NzE1OgorXkkgKiBWYWxp ZCByZXBsaWVzOiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMw Nzk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NzE2OgorXkkgKiAgIGZ1 c2VfcmVwbHlfYnVmJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MzA4MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3MTc6CiteSSAqICAg ZnVzZV9yZXBseV9kYXRhJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMzA4MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3MTg6CiteSSAq ICAgZnVzZV9yZXBseV9lcnIkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMzMDgyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjcxOToKK15J ICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDgzOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjcyMDoKK15JICogQHBhcmFtIHJlcSBy ZXF1ZXN0IGhhbmRsZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzMwODQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NzIxOgorXkkgKiBA cGFyYW0gaW5vIHRoZSBpbm9kZSBudW1iZXIkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMzMDg1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o OjcyMjoKK15JICogQHBhcmFtIHNpemUgbWF4aW11bSBudW1iZXIgb2YgYnl0ZXMgdG8gc2VuZCQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwODY6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NzIzOgorXkkgKiBAcGFyYW0gb2ZmIG9mZnNl dCB0byBjb250aW51ZSByZWFkaW5nIHRoZSBkaXJlY3Rvcnkgc3RyZWFtJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA4NzogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuaDo3MjQ6CiteSSAqIEBwYXJhbSBmaSBmaWxlIGluZm9ybWF0aW9uJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA4ODogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3MjU6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmg6NzI2OgorXkl2b2lkICgqcmVhZGRpcikgKGZ1c2VfcmVxX3QgcmVxLCBm dXNlX2lub190IGlubywgc2l6ZV90IHNpemUsIG9mZl90IG9mZiwkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDkwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5oOjcyNzoKK15JXkleSSBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKmZpKTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDkyOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjcyOToKK15JLyoqJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA5MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDo3MzA6CiteSSAqIFJlbGVhc2UgYW4gb3BlbiBkaXJlY3RvcnkkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDk0OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjczMToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDk1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjczMjoKK15JICogRm9yIGV2ZXJ5IG9wZW5kaXIgY2FsbCB0aGVyZSB3aWxsIGJl IGV4YWN0bHkgb25lIHJlbGVhc2VkaXIkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMzMDk2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjcz MzoKK15JICogY2FsbCAodW5sZXNzIHRoZSBmaWxlc3lzdGVtIGlzIGZvcmNlLXVubW91bnRlZCku JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA5NzogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3MzQ6CiteSSAqJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA5ODogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuaDo3MzU6CiteSSAqIGZpLT5maCB3aWxsIGNvbnRhaW4gdGhlIHZhbHVl IHNldCBieSB0aGUgb3BlbmRpciBtZXRob2QsIG9yJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMzA5OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuaDo3MzY6CiteSSAqIHdpbGwgYmUgdW5kZWZpbmVkIGlmIHRoZSBvcGVuZGlyIG1ldGhvZCBk aWRuJ3Qgc2V0IGFueSB2YWx1ZS4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzMTAwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjczNzoK K15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTAxOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjczODoKK15JICogVmFsaWQgcmVw bGllczokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTAyOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjczOToKK15JICogICBmdXNlX3Jl cGx5X2VyciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxMDM6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NzQwOgorXkkgKiQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxMDQ6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NzQxOgorXkkgKiBAcGFyYW0gcmVxIHJlcXVlc3QgaGFu ZGxlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzEwNTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3NDI6CiteSSAqIEBwYXJhbSBpbm8g dGhlIGlub2RlIG51bWJlciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzMxMDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NzQzOgorXkkg KiBAcGFyYW0gZmkgZmlsZSBpbmZvcm1hdGlvbiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzMxMDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs Lmg6NzQ0OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzMTA4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjc0NToKK15Jdm9p ZCAoKnJlbGVhc2VkaXIpIChmdXNlX3JlcV90IHJlcSwgZnVzZV9pbm9fdCBpbm8sJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzEwOTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3NDY6CiteSV5JXkkgICAgc3RydWN0IGZ1c2VfZmlsZV9p bmZvICpmaSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzEx MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3NDg6CiteSS8qKiQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxMTI6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NzQ5OgorXkkgKiBTeW5jaHJvbml6ZSBkaXJlY3Rv cnkgY29udGVudHMkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz MTEzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjc1MDoKK15JICokCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTE0OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjc1MToKK15JICogSWYgdGhlIGRhdGFzeW5jIHBh cmFtZXRlciBpcyBub24temVybywgdGhlbiBvbmx5IHRoZSBkaXJlY3RvcnkkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTE1OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5oOjc1MjoKK15JICogY29udGVudHMgc2hvdWxkIGJlIGZsdXNoZWQs IG5vdCB0aGUgbWV0YSBkYXRhLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzMxMTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NzUzOgor XkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxMTc6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NzU0OgorXkkgKiBmaS0+Zmggd2ls bCBjb250YWluIHRoZSB2YWx1ZSBzZXQgYnkgdGhlIG9wZW5kaXIgbWV0aG9kLCBvciQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxMTg6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NzU1OgorXkkgKiB3aWxsIGJlIHVuZGVmaW5lZCBpZiB0 aGUgb3BlbmRpciBtZXRob2QgZGlkbid0IHNldCBhbnkgdmFsdWUuJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzExOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDo3NTY6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMzEyMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3 NTc6CiteSSAqIElmIHRoaXMgcmVxdWVzdCBpcyBhbnN3ZXJlZCB3aXRoIGFuIGVycm9yIGNvZGUg b2YgRU5PU1lTLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMx MjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NzU4OgorXkkgKiB0aGlz IGlzIHRyZWF0ZWQgYXMgc3VjY2VzcyBhbmQgZnV0dXJlIGNhbGxzIHRvIGZzeW5jZGlyKCkgd2ls bCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxMjI6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NzU5OgorXkkgKiBzdWNjZWVkIGF1dG9t YXRpY2FsbHkgd2l0aG91dCBiZWluZyBzZW5kIHRvIHRoZSBmaWxlc3lzdGVtJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzEyMzogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuaDo3NjA6CiteSSAqIHByb2Nlc3MuJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzEyNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDo3NjE6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMzEyNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3 NjI6CiteSSAqIFZhbGlkIHJlcGxpZXM6JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMzEyNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3 NjM6CiteSSAqICAgZnVzZV9yZXBseV9lcnIkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMzMTI3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o Ojc2NDoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz MTI4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjc2NToKK15JICogQHBh cmFtIHJlcSByZXF1ZXN0IGhhbmRsZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzMxMjk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NzY2 OgorXkkgKiBAcGFyYW0gaW5vIHRoZSBpbm9kZSBudW1iZXIkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTMwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjc2NzoKK15JICogQHBhcmFtIGRhdGFzeW5jIGZsYWcgaW5kaWNhdGluZyBpZiBv bmx5IGRhdGEgc2hvdWxkIGJlIGZsdXNoZWQkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMzMTMxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o Ojc2ODoKK15JICogQHBhcmFtIGZpIGZpbGUgaW5mb3JtYXRpb24kCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTMyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5oOjc2OToKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMzEzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3 NzA6CiteSXZvaWQgKCpmc3luY2RpcikgKGZ1c2VfcmVxX3QgcmVxLCBmdXNlX2lub190IGlubywg aW50IGRhdGFzeW5jLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzMxMzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NzcxOgorXkleSV5J ICBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKmZpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMzMTM2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjc3MzoKK15JLyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMzEzNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3NzQ6CiteSSAq IEdldCBmaWxlIHN5c3RlbSBzdGF0aXN0aWNzJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMzEzODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu aDo3NzU6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MzEzOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3NzY6CiteSSAqIFZh bGlkIHJlcGxpZXM6JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MzE0MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3Nzc6CiteSSAqICAg ZnVzZV9yZXBseV9zdGF0ZnMkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMzMTQxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjc3ODoKK15J ICogICBmdXNlX3JlcGx5X2VyciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzMxNDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6Nzc5Ogor XkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxNDM6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NzgwOgorXkkgKiBAcGFyYW0gcmVx IHJlcXVlc3QgaGFuZGxlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMzE0NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3ODE6CiteSSAq IEBwYXJhbSBpbm8gdGhlIGlub2RlIG51bWJlciwgemVybyBtZWFucyAidW5kZWZpbmVkIiQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxNDU6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6NzgyOgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTQ2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5oOjc4MzoKK15Jdm9pZCAoKnN0YXRmcykgKGZ1c2VfcmVxX3QgcmVxLCBmdXNl X2lub190IGlubyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MzE0ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3ODU6CiteSS8qKiQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxNDk6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6Nzg2OgorXkkgKiBTZXQgYW4gZXh0ZW5kZWQg YXR0cmlidXRlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzE1 MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3ODc6CiteSSAqJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzE1MTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3ODg6CiteSSAqIElmIHRoaXMgcmVxdWVzdCBpcyBh bnN3ZXJlZCB3aXRoIGFuIGVycm9yIGNvZGUgb2YgRU5PU1lTLCB0aGlzIGlzJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzE1MjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuaDo3ODk6CiteSSAqIHRyZWF0ZWQgYXMgYSBwZXJtYW5lbnQgZmFp bHVyZSB3aXRoIGVycm9yIGNvZGUgRU9QTk9UU1VQUCwgaS5lLiBhbGwkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTUzOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5oOjc5MDoKK15JICogZnV0dXJlIHNldHhhdHRyKCkgcmVxdWVzdHMgd2ls bCBmYWlsIHdpdGggRU9QTk9UU1VQUCB3aXRob3V0IGJlaW5nJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzE1NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuaDo3OTE6CiteSSAqIHNlbmQgdG8gdGhlIGZpbGVzeXN0ZW0gcHJvY2Vzcy4kCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTU1OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjc5MjoKK15JICokCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTU2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5oOjc5MzoKK15JICogVmFsaWQgcmVwbGllczokCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTU3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5oOjc5NDoKK15JICogICBmdXNlX3JlcGx5X2VyciQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxNTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmg6Nzk1OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMzMTU5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o Ojc5NjoKK15Jdm9pZCAoKnNldHhhdHRyKSAoZnVzZV9yZXFfdCByZXEsIGZ1c2VfaW5vX3QgaW5v LCBjb25zdCBjaGFyICpuYW1lLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzMxNjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6Nzk3Ogor XkleSV5JICBjb25zdCBjaGFyICp2YWx1ZSwgc2l6ZV90IHNpemUsIGludCBmbGFncyk7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzE2MjogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo3OTk6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxNjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6ODAwOgorXkkgKiBHZXQgYW4gZXh0ZW5kZWQgYXR0cmlidXRlJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzE2NDogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4MDE6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMzE2NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuaDo4MDI6CiteSSAqIElmIHNpemUgaXMgemVybywgdGhlIHNpemUgb2YgdGhlIHZhbHVl IHNob3VsZCBiZSBzZW50IHdpdGgkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzMTY2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjgwMzoK K15JICogZnVzZV9yZXBseV94YXR0ci4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMzMTY3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjgw NDoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTY4 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjgwNToKK15JICogSWYgdGhl IHNpemUgaXMgbm9uLXplcm8sIGFuZCB0aGUgdmFsdWUgZml0cyBpbiB0aGUgYnVmZmVyLCB0aGUk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTY5OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjgwNjoKK15JICogdmFsdWUgc2hvdWxkIGJl IHNlbnQgd2l0aCBmdXNlX3JlcGx5X2J1Zi4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMzMTcwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o OjgwNzoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz MTcxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjgwODoKK15JICogSWYg dGhlIHNpemUgaXMgdG9vIHNtYWxsIGZvciB0aGUgdmFsdWUsIHRoZSBFUkFOR0UgZXJyb3Igc2hv dWxkJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzE3MjogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4MDk6CiteSSAqIGJlIHNlbnQuJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzE3MzogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4MTA6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzE3NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDo4MTE6CiteSSAqIElmIHRoaXMgcmVxdWVzdCBpcyBhbnN3ZXJlZCB3aXRo IGFuIGVycm9yIGNvZGUgb2YgRU5PU1lTLCB0aGlzIGlzJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMzE3NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuaDo4MTI6CiteSSAqIHRyZWF0ZWQgYXMgYSBwZXJtYW5lbnQgZmFpbHVyZSB3aXRoIGVy cm9yIGNvZGUgRU9QTk9UU1VQUCwgaS5lLiBhbGwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMzMTc2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjgxMzoKK15JICogZnV0dXJlIGdldHhhdHRyKCkgcmVxdWVzdHMgd2lsbCBmYWlsIHdpdGgg RU9QTk9UU1VQUCB3aXRob3V0IGJlaW5nJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMzE3NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4 MTQ6CiteSSAqIHNlbmQgdG8gdGhlIGZpbGVzeXN0ZW0gcHJvY2Vzcy4kCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTc4OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5oOjgxNToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMzMTc5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o OjgxNjoKK15JICogVmFsaWQgcmVwbGllczokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMzMTgwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o OjgxNzoKK15JICogICBmdXNlX3JlcGx5X2J1ZiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzMxODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs Lmg6ODE4OgorXkkgKiAgIGZ1c2VfcmVwbHlfZGF0YSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzMxODI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmg6ODE5OgorXkkgKiAgIGZ1c2VfcmVwbHlfeGF0dHIkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTgzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjgyMDoKK15JICogICBmdXNlX3JlcGx5X2VyciQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxODQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6ODIxOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzMxODU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6ODIy OgorXkkgKiBAcGFyYW0gcmVxIHJlcXVlc3QgaGFuZGxlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMzE4NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuaDo4MjM6CiteSSAqIEBwYXJhbSBpbm8gdGhlIGlub2RlIG51bWJlciQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxODc6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmg6ODI0OgorXkkgKiBAcGFyYW0gbmFtZSBvZiB0aGUgZXh0ZW5k ZWQgYXR0cmlidXRlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MzE4ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4MjU6CiteSSAqIEBw YXJhbSBzaXplIG1heGltdW0gc2l6ZSBvZiB0aGUgdmFsdWUgdG8gc2VuZCQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmg6ODI2OgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMzMTkwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjgyNzoKK15Jdm9pZCAoKmdldHhhdHRyKSAoZnVzZV9yZXFfdCByZXEsIGZ1c2VfaW5vX3Qg aW5vLCBjb25zdCBjaGFyICpuYW1lLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzMxOTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6ODI4 OgorXkleSV5JICBzaXplX3Qgc2l6ZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMzE5MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4 MzA6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMx OTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6ODMxOgorXkkgKiBMaXN0 IGV4dGVuZGVkIGF0dHJpYnV0ZSBuYW1lcyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzMxOTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 ODMyOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMx OTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6ODMzOgorXkkgKiBJZiBz aXplIGlzIHplcm8sIHRoZSB0b3RhbCBzaXplIG9mIHRoZSBhdHRyaWJ1dGUgbGlzdCBzaG91bGQg YmUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTk3OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjgzNDoKK15JICogc2VudCB3aXRoIGZ1 c2VfcmVwbHlfeGF0dHIuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMzE5ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4MzU6CiteSSAq JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzE5OTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4MzY6CiteSSAqIElmIHRoZSBzaXplIGlz IG5vbi16ZXJvLCBhbmQgdGhlIG51bGwgY2hhcmFjdGVyIHNlcGFyYXRlZCQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyMDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmg6ODM3OgorXkkgKiBhdHRyaWJ1dGUgbGlzdCBmaXRzIGluIHRoZSBi dWZmZXIsIHRoZSBsaXN0IHNob3VsZCBiZSBzZW50IHdpdGgkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjAxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjgzODoKK15JICogZnVzZV9yZXBseV9idWYuJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzIwMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuaDo4Mzk6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMzIwMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4NDA6 CiteSSAqIElmIHRoZSBzaXplIGlzIHRvbyBzbWFsbCBmb3IgdGhlIGxpc3QsIHRoZSBFUkFOR0Ug ZXJyb3Igc2hvdWxkJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MzIwNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4NDE6CiteSSAqIGJl IHNlbnQuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzIwNTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4NDI6CiteSSAqJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzIwNjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4NDM6CiteSSAqIElmIHRoaXMgcmVxdWVzdCBpcyBhbnN3 ZXJlZCB3aXRoIGFuIGVycm9yIGNvZGUgb2YgRU5PU1lTLCB0aGlzIGlzJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzIwNzogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuaDo4NDQ6CiteSSAqIHRyZWF0ZWQgYXMgYSBwZXJtYW5lbnQgZmFpbHVy ZSB3aXRoIGVycm9yIGNvZGUgRU9QTk9UU1VQUCwgaS5lLiBhbGwkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjA4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5oOjg0NToKK15JICogZnV0dXJlIGxpc3R4YXR0cigpIHJlcXVlc3RzIHdpbGwg ZmFpbCB3aXRoIEVPUE5PVFNVUFAgd2l0aG91dCBiZWluZyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyMDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6ODQ2OgorXkkgKiBzZW5kIHRvIHRoZSBmaWxlc3lzdGVtIHByb2Nlc3MuJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzIxMDogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4NDc6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzIxMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuaDo4NDg6CiteSSAqIFZhbGlkIHJlcGxpZXM6JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzIxMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuaDo4NDk6CiteSSAqICAgZnVzZV9yZXBseV9idWYkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjEzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5oOjg1MDoKK15JICogICBmdXNlX3JlcGx5X2RhdGEkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjE0OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5oOjg1MToKK15JICogICBmdXNlX3JlcGx5X3hhdHRyJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzIxNTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuaDo4NTI6CiteSSAqICAgZnVzZV9yZXBseV9lcnIkCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjE2OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjg1MzoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMzMjE3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjg1NDoKK15JICogQHBhcmFtIHJlcSByZXF1ZXN0IGhhbmRsZSQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyMTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmg6ODU1OgorXkkgKiBAcGFyYW0gaW5vIHRoZSBpbm9kZSBudW1iZXIk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjE5OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjg1NjoKK15JICogQHBhcmFtIHNpemUgbWF4 aW11bSBzaXplIG9mIHRoZSBsaXN0IHRvIHNlbmQkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMzMjIwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjg1NzoKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMzIyMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4NTg6CiteSXZv aWQgKCpsaXN0eGF0dHIpIChmdXNlX3JlcV90IHJlcSwgZnVzZV9pbm9fdCBpbm8sIHNpemVfdCBz aXplKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjIzOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjg2MDoKK15JLyoqJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzIyNDogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4NjE6CiteSSAqIFJlbW92ZSBhbiBleHRlbmRlZCBhdHRy aWJ1dGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjI1OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjg2MjoKK15JICokCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjI2OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjg2MzoKK15JICogSWYgdGhpcyByZXF1ZXN0IGlzIGFuc3dl cmVkIHdpdGggYW4gZXJyb3IgY29kZSBvZiBFTk9TWVMsIHRoaXMgaXMkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjI3OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5oOjg2NDoKK15JICogdHJlYXRlZCBhcyBhIHBlcm1hbmVudCBmYWlsdXJl IHdpdGggZXJyb3IgY29kZSBFT1BOT1RTVVBQLCBpLmUuIGFsbCQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyMjg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6ODY1OgorXkkgKiBmdXR1cmUgcmVtb3ZleGF0dHIoKSByZXF1ZXN0cyB3aWxs IGZhaWwgd2l0aCBFT1BOT1RTVVBQIHdpdGhvdXQgYmVpbmckCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjI5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjg2NjoKK15JICogc2VuZCB0byB0aGUgZmlsZXN5c3RlbSBwcm9jZXNzLiQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyMzA6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6ODY3OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyMzE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6ODY4OgorXkkgKiBWYWxpZCByZXBsaWVzOiQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyMzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6ODY5OgorXkkgKiAgIGZ1c2VfcmVwbHlfZXJyJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzIzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDo4NzA6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMzIzNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4 NzE6CiteSSAqIEBwYXJhbSByZXEgcmVxdWVzdCBoYW5kbGUkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjM1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjg3MjoKK15JICogQHBhcmFtIGlubyB0aGUgaW5vZGUgbnVtYmVyJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzIzNjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4NzM6CiteSSAqIEBwYXJhbSBuYW1lIG9mIHRoZSBleHRl bmRlZCBhdHRyaWJ1dGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzMjM3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjg3NDoKK15JICov JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzIzODogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4NzU6CiteSXZvaWQgKCpyZW1vdmV4YXR0 cikgKGZ1c2VfcmVxX3QgcmVxLCBmdXNlX2lub190IGlubywgY29uc3QgY2hhciAqbmFtZSk7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzI0MDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4Nzc6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyNDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmg6ODc4OgorXkkgKiBDaGVjayBmaWxlIGFjY2VzcyBwZXJtaXNzaW9ucyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyNDI6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6ODc5OgorXkkgKiQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyNDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmg6ODgwOgorXkkgKiBUaGlzIHdpbGwgYmUgY2FsbGVkIGZvciB0aGUgYWNj ZXNzKCkgYW5kIGNoZGlyKCkgc3lzdGVtJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMzI0NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4 ODE6CiteSSAqIGNhbGxzLiAgSWYgdGhlICdkZWZhdWx0X3Blcm1pc3Npb25zJyBtb3VudCBvcHRp b24gaXMgZ2l2ZW4sJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MzI0NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4ODI6CiteSSAqIHRo aXMgbWV0aG9kIGlzIG5vdCBjYWxsZWQuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMzI0NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4 ODM6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzI0 NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4ODQ6CiteSSAqIFRoaXMg bWV0aG9kIGlzIG5vdCBjYWxsZWQgdW5kZXIgTGludXgga2VybmVsIHZlcnNpb25zIDIuNC54JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzI0ODogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4ODU6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzI0OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDo4ODY6CiteSSAqIElmIHRoaXMgcmVxdWVzdCBpcyBhbnN3ZXJlZCB3aXRo IGFuIGVycm9yIGNvZGUgb2YgRU5PU1lTLCB0aGlzIGlzJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMzI1MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuaDo4ODc6CiteSSAqIHRyZWF0ZWQgYXMgYSBwZXJtYW5lbnQgc3VjY2VzcywgaS5lLiB0 aGlzIGFuZCBhbGwgZnV0dXJlIGFjY2VzcygpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMzI1MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu aDo4ODg6CiteSSAqIHJlcXVlc3RzIHdpbGwgc3VjY2VlZCB3aXRob3V0IGJlaW5nIHNlbmQgdG8g dGhlIGZpbGVzeXN0ZW0gcHJvY2Vzcy4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMzMjUyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjg4 OToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjUz OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjg5MDoKK15JICogVmFsaWQg cmVwbGllczokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjU0 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjg5MToKK15JICogICBmdXNl X3JlcGx5X2VyciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMy NTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6ODkyOgorXkkgKiQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyNTY6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6ODkzOgorXkkgKiBAcGFyYW0gcmVxIHJlcXVlc3Qg aGFuZGxlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzI1Nzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4OTQ6CiteSSAqIEBwYXJhbSBp bm8gdGhlIGlub2RlIG51bWJlciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzMyNTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6ODk1Ogor XkkgKiBAcGFyYW0gbWFzayByZXF1ZXN0ZWQgYWNjZXNzIG1vZGUkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjU5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5oOjg5NjoKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMzI2MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo4 OTc6CiteSXZvaWQgKCphY2Nlc3MpIChmdXNlX3JlcV90IHJlcSwgZnVzZV9pbm9fdCBpbm8sIGlu dCBtYXNrKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjYy OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjg5OToKK15JLyoqJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzI2MzogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5MDA6CiteSSAqIENyZWF0ZSBhbmQgb3BlbiBhIGZp bGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjY0OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjkwMToKK15JICokCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjY1OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5oOjkwMjoKK15JICogSWYgdGhlIGZpbGUgZG9lcyBub3QgZXhpc3Qs IGZpcnN0IGNyZWF0ZSBpdCB3aXRoIHRoZSBzcGVjaWZpZWQkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjY2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjkwMzoKK15JICogbW9kZSwgYW5kIHRoZW4gb3BlbiBpdC4kCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjY3OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5oOjkwNDoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMzMjY4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjkwNToKK15JICogU2VlIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgb3BlbiBoYW5kbGVyIGZv ciBtb3JlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzI2OTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5MDY6CiteSSAqIGluZm9ybWF0 aW9uLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyNzA6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6OTA3OgorXkkgKiQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyNzE6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmg6OTA4OgorXkkgKiBJZiB0aGlzIG1ldGhvZCBpcyBub3QgaW1w bGVtZW50ZWQgb3IgdW5kZXIgTGludXgga2VybmVsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMzI3MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuaDo5MDk6CiteSSAqIHZlcnNpb25zIGVhcmxpZXIgdGhhbiAyLjYuMTUsIHRoZSBta25vZCgp IGFuZCBvcGVuKCkgbWV0aG9kcyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzMyNzM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6OTEwOgor XkkgKiB3aWxsIGJlIGNhbGxlZCBpbnN0ZWFkLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzMyNzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs Lmg6OTExOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzMyNzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6OTEyOgorXkkgKiBJ ZiB0aGlzIHJlcXVlc3QgaXMgYW5zd2VyZWQgd2l0aCBhbiBlcnJvciBjb2RlIG9mIEVOT1NZUywg dGhlIGhhbmRsZXIkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz Mjc2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjkxMzoKK15JICogaXMg dHJlYXRlZCBhcyBub3QgaW1wbGVtZW50ZWQgKGkuZS4sIGZvciB0aGlzIGFuZCBmdXR1cmUgcmVx dWVzdHMgdGhlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzI3 NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5MTQ6CiteSSAqIG1rbm9k KCkgYW5kIG9wZW4oKSBoYW5kbGVycyB3aWxsIGJlIGNhbGxlZCBpbnN0ZWFkKS4kCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjc4OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjkxNToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMzMjc5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjkxNjoKK15JICogVmFsaWQgcmVwbGllczokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMzMjgwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjkxNzoKK15JICogICBmdXNlX3JlcGx5X2NyZWF0ZSQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6OTE4OgorXkkgKiAgIGZ1c2VfcmVwbHlfZXJyJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzI4MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDo5MTk6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMzI4MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5 MjA6CiteSSAqIEBwYXJhbSByZXEgcmVxdWVzdCBoYW5kbGUkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjg0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjkyMToKK15JICogQHBhcmFtIHBhcmVudCBpbm9kZSBudW1iZXIgb2YgdGhlIHBh cmVudCBkaXJlY3RvcnkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzMjg1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjkyMjoKK15JICog QHBhcmFtIG5hbWUgdG8gY3JlYXRlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMzI4NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5MjM6 CiteSSAqIEBwYXJhbSBtb2RlIGZpbGUgdHlwZSBhbmQgbW9kZSB3aXRoIHdoaWNoIHRvIGNyZWF0 ZSB0aGUgbmV3IGZpbGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzMjg3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjkyNDoKK15JICog QHBhcmFtIGZpIGZpbGUgaW5mb3JtYXRpb24kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMzMjg4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o OjkyNToKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MzI4OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5MjY6CiteSXZvaWQg KCpjcmVhdGUpIChmdXNlX3JlcV90IHJlcSwgZnVzZV9pbm9fdCBwYXJlbnQsIGNvbnN0IGNoYXIg Km5hbWUsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzI5MDog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5Mjc6CiteSV5JXkltb2RlX3Qg bW9kZSwgc3RydWN0IGZ1c2VfZmlsZV9pbmZvICpmaSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMzI5MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuaDo5Mjk6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzMyOTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6OTMwOgor XkkgKiBUZXN0IGZvciBhIFBPU0lYIGZpbGUgbG9jayQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzMyOTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmg6OTMxOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzMyOTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6OTMyOgorXkkg KiBWYWxpZCByZXBsaWVzOiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzMyOTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6OTMzOgorXkkg KiAgIGZ1c2VfcmVwbHlfbG9jayQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzMyOTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6OTM0Ogor XkkgKiAgIGZ1c2VfcmVwbHlfZXJyJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMzI5ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5MzU6 CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzI5OTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5MzY6CiteSSAqIEBwYXJhbSBy ZXEgcmVxdWVzdCBoYW5kbGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMzMzAwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjkzNzoKK15J ICogQHBhcmFtIGlubyB0aGUgaW5vZGUgbnVtYmVyJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMzMwMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuaDo5Mzg6CiteSSAqIEBwYXJhbSBmaSBmaWxlIGluZm9ybWF0aW9uJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzMwMjogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuaDo5Mzk6CiteSSAqIEBwYXJhbSBsb2NrIHRoZSByZWdpb24vdHlwZSB0 byB0ZXN0JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzMwMzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5NDA6CiteSSAqLyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzMDQ6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6OTQxOgorXkl2b2lkICgqZ2V0bGspIChmdXNlX3JlcV90 IHJlcSwgZnVzZV9pbm9fdCBpbm8sJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMzMwNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5NDI6 CiteSV5JICAgICAgIHN0cnVjdCBmdXNlX2ZpbGVfaW5mbyAqZmksIHN0cnVjdCBmbG9jayAqbG9j ayk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzMwNzogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5NDQ6CiteSS8qKiQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzMDg6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmg6OTQ1OgorXkkgKiBBY3F1aXJlLCBtb2RpZnkgb3IgcmVsZWFz ZSBhIFBPU0lYIGZpbGUgbG9jayQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzMzMDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6OTQ2Ogor XkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzMTA6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6OTQ3OgorXkkgKiBGb3IgUE9TSVgg dGhyZWFkcyAoTlBUTCkgdGhlcmUncyBhIDEtMSByZWxhdGlvbiBiZXR3ZWVuIHBpZCBhbmQkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzExOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjk0ODoKK15JICogb3duZXIsIGJ1dCBvdGhlcndp c2UgdGhpcyBpcyBub3QgYWx3YXlzIHRoZSBjYXNlLiAgRm9yIGNoZWNraW5nJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzMxMjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuaDo5NDk6CiteSSAqIGxvY2sgb3duZXJzaGlwLCAnZmktPm93bmVy JyBtdXN0IGJlIHVzZWQuICBUaGUgbF9waWQgZmllbGQgaW4kCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzEzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjk1MDoKK15JICogJ3N0cnVjdCBmbG9jaycgc2hvdWxkIG9ubHkgYmUgdXNlZCB0 byBmaWxsIGluIHRoaXMgZmllbGQgaW4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMzMzE0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjk1 MToKK15JICogZ2V0bGsoKS4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMzMzE1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjk1MjoKK15J ICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzE2OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjk1MzoKK15JICogTm90ZTogaWYgdGhl IGxvY2tpbmcgbWV0aG9kcyBhcmUgbm90IGltcGxlbWVudGVkLCB0aGUga2VybmVsJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzMxNzogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5NTQ6CiteSSAqIHdpbGwgc3RpbGwgYWxsb3cgZmlsZSBs b2NraW5nIHRvIHdvcmsgbG9jYWxseS4gIEhlbmNlIHRoZXNlIGFyZSQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzMTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmg6OTU1OgorXkkgKiBvbmx5IGludGVyZXN0aW5nIGZvciBuZXR3b3JrIGZp bGVzeXN0ZW1zIGFuZCBzaW1pbGFyLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzMzMTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6OTU2 OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzMjA6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6OTU3OgorXkkgKiBWYWxpZCBy ZXBsaWVzOiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzMjE6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6OTU4OgorXkkgKiAgIGZ1c2Vf cmVwbHlfZXJyJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzMy MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5NTk6CiteSSAqJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzMyMzogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5NjA6CiteSSAqIEBwYXJhbSByZXEgcmVxdWVzdCBo YW5kbGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzI0OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjk2MToKK15JICogQHBhcmFtIGlu byB0aGUgaW5vZGUgbnVtYmVyJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMzMyNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5NjI6Cite SSAqIEBwYXJhbSBmaSBmaWxlIGluZm9ybWF0aW9uJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMzMyNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuaDo5NjM6CiteSSAqIEBwYXJhbSBsb2NrIHRoZSByZWdpb24vdHlwZSB0byBzZXQkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzI3OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjk2NDoKK15JICogQHBhcmFtIHNsZWVwIGxvY2tpbmcg b3BlcmF0aW9uIG1heSBzbGVlcCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzMzMjg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6OTY1Ogor XkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzI5OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjk2NjoKK15Jdm9pZCAoKnNldGxr KSAoZnVzZV9yZXFfdCByZXEsIGZ1c2VfaW5vX3QgaW5vLCQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzMzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6OTY3OgorXkleSSAgICAgICBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKmZpLCQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzMzE6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6OTY4OgorXkleSSAgICAgICBzdHJ1Y3QgZmxvY2sg KmxvY2ssIGludCBzbGVlcCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMzMzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5NzA6Cite SS8qKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzMzQ6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6OTcxOgorXkkgKiBNYXAgYmxvY2sg aW5kZXggd2l0aGluIGZpbGUgdG8gYmxvY2sgaW5kZXggd2l0aGluIGRldmljZSQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzMzU6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmg6OTcyOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzMzMzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmg6OTczOgorXkkgKiBOb3RlOiBUaGlzIG1ha2VzIHNlbnNlIG9ubHkgZm9yIGJsb2NrIGRl dmljZSBiYWNrZWQgZmlsZXN5c3RlbXMkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMzMzM3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjk3 NDoKK15JICogbW91bnRlZCB3aXRoIHRoZSAnYmxrZGV2JyBvcHRpb24kCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzM4OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5oOjk3NToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMzMzM5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o Ojk3NjoKK15JICogSWYgdGhpcyByZXF1ZXN0IGlzIGFuc3dlcmVkIHdpdGggYW4gZXJyb3IgY29k ZSBvZiBFTk9TWVMsIHRoaXMgaXMkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzMzQwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjk3NzoK K15JICogdHJlYXRlZCBhcyBhIHBlcm1hbmVudCBmYWlsdXJlLCBpLmUuIGFsbCBmdXR1cmUgYm1h cCgpIHJlcXVlc3RzIHdpbGwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMzMzQxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjk3ODoKK15J ICogZmFpbCB3aXRoIHRoZSBzYW1lIGVycm9yIGNvZGUgd2l0aG91dCBiZWluZyBzZW5kIHRvIHRo ZSBmaWxlc3lzdGVtJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MzM0MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5Nzk6CiteSSAqIHBy b2Nlc3MuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzM0Mzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5ODA6CiteSSAqJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzM0NDogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5ODE6CiteSSAqIFZhbGlkIHJlcGxpZXM6JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzM0NTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5ODI6CiteSSAqICAgZnVzZV9yZXBseV9ibWFwJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzM0NjogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDo5ODM6CiteSSAqICAgZnVzZV9yZXBseV9lcnIkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzQ3OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjk4NDoKK15JICokCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzQ4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5oOjk4NToKK15JICogQHBhcmFtIHJlcSByZXF1ZXN0IGhhbmRsZSQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzNDk6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6OTg2OgorXkkgKiBAcGFyYW0gaW5vIHRoZSBpbm9kZSBu dW1iZXIkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzUwOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjk4NzoKK15JICogQHBhcmFtIGJs b2Nrc2l6ZSB1bml0IG9mIGJsb2NrIGluZGV4JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMzM1MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu aDo5ODg6CiteSSAqIEBwYXJhbSBpZHggYmxvY2sgaW5kZXggd2l0aGluIGZpbGUkCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzUyOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjk4OToKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMzM1MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuaDo5OTA6CiteSXZvaWQgKCpibWFwKSAoZnVzZV9yZXFfdCByZXEsIGZ1c2VfaW5vX3Qg aW5vLCBzaXplX3QgYmxvY2tzaXplLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzMzNTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6OTkx OgorXkleSSAgICAgIHVpbnQ2NF90IGlkeCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMzM1NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu aDo5OTM6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzMzNTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6OTk0OgorXkkgKiBJ b2N0bCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzNTg6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6OTk1OgorXkkgKiQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzNTk6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmg6OTk2OgorXkkgKiBOb3RlOiBGb3IgdW5yZXN0cmljdGVkIGlv Y3RscyAobm90IGFsbG93ZWQgZm9yIEZVU0UkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMzMzYwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o Ojk5NzoKK15JICogc2VydmVycyksIGRhdGEgaW4gYW5kIG91dCBhcmVhcyBjYW4gYmUgZGlzY292 ZXJlZCBieSBnaXZpbmckCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzMzYxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjk5ODoKK15JICog aW92cyBhbmQgc2V0dGluZyBGVVNFX0lPQ1RMX1JFVFJZIGluICpmbGFncyouICBGb3IkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzYyOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjk5OToKK15JICogcmVzdHJpY3RlZCBpb2N0bHMsIGtl cm5lbCBwcmVwYXJlcyBpbi9vdXQgZGF0YSBhcmVhJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMzM2MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuaDoxMDAwOgorXkkgKiBhY2NvcmRpbmcgdG8gdGhlIGluZm9ybWF0aW9uIGVuY29kZWQgaW4g Y21kLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzNjQ6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTAwMToKK15JICokCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzY1OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwMDI6CiteSSAqIFZhbGlkIHJlcGxpZXM6JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzM2NjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMDAzOgorXkkgKiAgIGZ1c2VfcmVwbHlfaW9jdGxfcmV0 cnkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzY3OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwMDQ6CiteSSAqICAgZnVzZV9yZXBs eV9pb2N0bCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzNjg6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTAwNToKK15JICogICBmdXNl X3JlcGx5X2lvY3RsX2lvdiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzMzNjk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTAwNjoKK15J ICogICBmdXNlX3JlcGx5X2VyciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzMzNzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTAwNzoK K15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzcxOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwMDg6CiteSSAqIEBwYXJhbSBy ZXEgcmVxdWVzdCBoYW5kbGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMzMzcyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwMDk6Cite SSAqIEBwYXJhbSBpbm8gdGhlIGlub2RlIG51bWJlciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzMzNzM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmg6MTAxMDoKK15JICogQHBhcmFtIGNtZCBpb2N0bCBjb21tYW5kJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzM3NDogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuaDoxMDExOgorXkkgKiBAcGFyYW0gYXJnIGlvY3RsIGFyZ3VtZW50JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzM3NTogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMDEyOgorXkkgKiBAcGFyYW0gZmkgZmlsZSBp bmZvcm1hdGlvbiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMz NzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTAxMzoKK15JICogQHBh cmFtIGZsYWdzIGZvciBGVVNFX0lPQ1RMXyogZmxhZ3MkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMzMzc3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjEwMTQ6CiteSSAqIEBwYXJhbSBpbl9idWYgZGF0YSBmZXRjaGVkIGZyb20gdGhlIGNh bGxlciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzNzg6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTAxNToKK15JICogQHBhcmFtIGlu X2J1ZnN6IG51bWJlciBvZiBmZXRjaGVkIGJ5dGVzJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMzM3OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuaDoxMDE2OgorXkkgKiBAcGFyYW0gb3V0X2J1ZnN6IG1heGltdW0gc2l6ZSBvZiBvdXRwdXQg ZGF0YSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzODA6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTAxNzoKK15JICokCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzgxOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwMTg6CiteSSAqIE5vdGUgOiB0aGUgdW5zaWduZWQgbG9u ZyByZXF1ZXN0IHN1Ym1pdHRlZCBieSB0aGUgYXBwbGljYXRpb24kCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzgyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5oOjEwMTk6CiteSSAqIGlzIHRydW5jYXRlZCB0byAzMiBiaXRzLiQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzODM6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTAyMDoKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzM4NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuaDoxMDIxOgorXkl2b2lkICgqaW9jdGwpIChmdXNlX3JlcV90IHJlcSwgZnVzZV9p bm9fdCBpbm8sIHVuc2lnbmVkIGludCBjbWQsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMzM4NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu aDoxMDIyOgorXkleSSAgICAgICB2b2lkICphcmcsIHN0cnVjdCBmdXNlX2ZpbGVfaW5mbyAqZmks IHVuc2lnbmVkIGZsYWdzLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzMzODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTAyMzoKK15J XkkgICAgICAgY29uc3Qgdm9pZCAqaW5fYnVmLCBzaXplX3QgaW5fYnVmc3osIHNpemVfdCBvdXRf YnVmc3opOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzODg6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTAyNToKK15JLyoqJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzM4OTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMDI2OgorXkkgKiBQb2xsIGZvciBJTyByZWFkaW5l c3MkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzkwOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwMjc6CiteSSAqJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzM5MTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMDI4OgorXkkgKiBOb3RlOiBJZiBwaCBpcyBub24tTlVMTCwg dGhlIGNsaWVudCBzaG91bGQgbm90aWZ5JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMzM5MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDox MDI5OgorXkkgKiB3aGVuIElPIHJlYWRpbmVzcyBldmVudHMgb2NjdXIgYnkgY2FsbGluZyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzOTM6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTAzMDoKK15JICogZnVzZV9sb3dsZXZlbF9ub3Rp ZnlfcG9sbCgpIHdpdGggdGhlIHNwZWNpZmllZCBwaC4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMzMzk0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjEwMzE6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMzM5NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMDMyOgor XkkgKiBSZWdhcmRsZXNzIG9mIHRoZSBudW1iZXIgb2YgdGltZXMgcG9sbCB3aXRoIGEgbm9uLU5V TEwgcGgkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzk2OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwMzM6CiteSSAqIGlzIHJlY2Vp dmVkLCBzaW5nbGUgbm90aWZpY2F0aW9uIGlzIGVub3VnaCB0byBjbGVhciBhbGwuJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzM5NzogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMDM0OgorXkkgKiBOb3RpZnlpbmcgbW9yZSB0aW1lcyBp bmN1cnMgb3ZlcmhlYWQgYnV0IGRvZXNuJ3QgaGFybSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzMzOTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmg6MTAzNToKK15JICogY29ycmVjdG5lc3MuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMzM5OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuaDoxMDM2OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzM0MDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTAzNzoKK15J ICogVGhlIGNhbGxlZSBpcyByZXNwb25zaWJsZSBmb3IgZGVzdHJveWluZyBwaCB3aXRoJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQwMTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMDM4OgorXkkgKiBmdXNlX3BvbGxoYW5kbGVfZGVz dHJveSgpIHdoZW4gbm8gbG9uZ2VyIGluIHVzZS4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMzNDAyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjEwMzk6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMzQwMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMDQwOgorXkkg KiBJZiB0aGlzIHJlcXVlc3QgaXMgYW5zd2VyZWQgd2l0aCBhbiBlcnJvciBjb2RlIG9mIEVOT1NZ UywgdGhpcyBpcyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0 MDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTA0MToKK15JICogdHJl YXRlZCBhcyBzdWNjZXNzICh3aXRoIGEga2VybmVsLWRlZmluZWQgZGVmYXVsdCBwb2xsLW1hc2sp IGFuZCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0MDU6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTA0MjoKK15JICogZnV0dXJlIGNh bGxzIHRvIHB1bGwoKSB3aWxsIHN1Y2NlZWQgdGhlIHNhbWUgd2F5IHdpdGhvdXQgYmVpbmcgc2Vu ZCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0MDY6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTA0MzoKK15JICogdG8gdGhlIGZpbGVz eXN0ZW0gcHJvY2Vzcy4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzNDA3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwNDQ6CiteSSAq JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQwODogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMDQ1OgorXkkgKiBWYWxpZCByZXBsaWVz OiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0MDk6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTA0NjoKK15JICogICBmdXNlX3JlcGx5 X3BvbGwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDEwOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwNDc6CiteSSAqICAgZnVzZV9y ZXBseV9lcnIkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDEx OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwNDg6CiteSSAqJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQxMjogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMDQ5OgorXkkgKiBAcGFyYW0gcmVxIHJlcXVlc3Qg aGFuZGxlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQxMzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMDUwOgorXkkgKiBAcGFyYW0g aW5vIHRoZSBpbm9kZSBudW1iZXIkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzNDE0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwNTE6 CiteSSAqIEBwYXJhbSBmaSBmaWxlIGluZm9ybWF0aW9uJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMzQxNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuaDoxMDUyOgorXkkgKiBAcGFyYW0gcGggcG9sbCBoYW5kbGUgdG8gYmUgdXNlZCBmb3Ig bm90aWZpY2F0aW9uJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MzQxNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMDUzOgorXkkgKi8k CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDE3OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwNTQ6CiteSXZvaWQgKCpwb2xsKSAoZnVz ZV9yZXFfdCByZXEsIGZ1c2VfaW5vX3QgaW5vLCBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKmZpLCQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0MTg6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTA1NToKK15JXkkgICAgICBzdHJ1Y3QgZnVz ZV9wb2xsaGFuZGxlICpwaCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMzQyMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMDU3Ogor XkkvKiokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDIxOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwNTg6CiteSSAqIFdyaXRlIGRh dGEgbWFkZSBhdmFpbGFibGUgaW4gYSBidWZmZXIkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMzNDIyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjEwNTk6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMzQyMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMDYwOgorXkkg KiBUaGlzIGlzIGEgbW9yZSBnZW5lcmljIHZlcnNpb24gb2YgdGhlIC0+d3JpdGUoKSBtZXRob2Qu ICBJZiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0MjQ6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTA2MToKK15JICogRlVTRV9DQVBf U1BMSUNFX1JFQUQgaXMgc2V0IGluIGZ1c2VfY29ubl9pbmZvLndhbnQgYW5kIHRoZSQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0MjU6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTA2MjoKK15JICoga2VybmVsIHN1cHBvcnRzIHNwbGlj aW5nIGZyb20gdGhlIGZ1c2UgZGV2aWNlLCB0aGVuIHRoZSQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0MjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6MTA2MzoKK15JICogZGF0YSB3aWxsIGJlIG1hZGUgYXZhaWxhYmxlIGluIHBpcGUg Zm9yIHN1cHBvcnRpbmcgemVybyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzM0Mjc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTA2NDoK K15JICogY29weSBkYXRhIHRyYW5zZmVyLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzM0Mjg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 MTA2NToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz NDI5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwNjY6CiteSSAqIGJ1 Zi0+Y291bnQgaXMgZ3VhcmFudGVlZCB0byBiZSBvbmUgKGFuZCB0aHVzIGJ1Zi0+aWR4IGlzJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQzMDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMDY3OgorXkkgKiBhbHdheXMgemVybykuIFRo ZSB3cml0ZV9idWYgaGFuZGxlciBtdXN0IGVuc3VyZSB0aGF0JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQzMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuaDoxMDY4OgorXkkgKiBidWZ2LT5vZmYgaXMgY29ycmVjdGx5IHVwZGF0ZWQgKHJl ZmxlY3RpbmcgdGhlIG51bWJlciBvZiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzM0MzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTA2 OToKK15JICogYnl0ZXMgcmVhZCBmcm9tIGJ1ZnYtPmJ1ZlswXSkuJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDoxMDcwOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzM0MzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 MTA3MToKK15JICogVW5sZXNzIEZVU0VfQ0FQX0hBTkRMRV9LSUxMUFJJViBpcyBkaXNhYmxlZCwg dGhpcyBtZXRob2QgaXMkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzNDM1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwNzI6CiteSSAq IGV4cGVjdGVkIHRvIHJlc2V0IHRoZSBzZXR1aWQgYW5kIHNldGdpZCBiaXRzLiQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0MzY6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmg6MTA3MzoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMzNDM3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjEwNzQ6CiteSSAqIFZhbGlkIHJlcGxpZXM6JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMzQzODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuaDoxMDc1OgorXkkgKiAgIGZ1c2VfcmVwbHlfd3JpdGUkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDM5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5oOjEwNzY6CiteSSAqICAgZnVzZV9yZXBseV9lcnIkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDQwOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5oOjEwNzc6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMzQ0MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu aDoxMDc4OgorXkkgKiBAcGFyYW0gcmVxIHJlcXVlc3QgaGFuZGxlJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQ0MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDoxMDc5OgorXkkgKiBAcGFyYW0gaW5vIHRoZSBpbm9kZSBudW1iZXIkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDQzOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwODA6CiteSSAqIEBwYXJhbSBidWZ2IGJ1ZmZl ciBjb250YWluaW5nIHRoZSBkYXRhJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMzQ0NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMDgx OgorXkkgKiBAcGFyYW0gb2ZmIG9mZnNldCB0byB3cml0ZSB0byQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0NDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6MTA4MjoKK15JICogQHBhcmFtIGZpIGZpbGUgaW5mb3JtYXRpb24kCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDQ2OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwODM6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0NDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6MTA4NDoKK15Jdm9pZCAoKndyaXRlX2J1ZikgKGZ1c2VfcmVxX3QgcmVxLCBm dXNlX2lub190IGlubywkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzNDQ4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwODU6CiteSV5J XkkgICBzdHJ1Y3QgZnVzZV9idWZ2ZWMgKmJ1ZnYsIG9mZl90IG9mZiwkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDQ5OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5oOjEwODY6CiteSV5JXkkgICBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKmZp KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDUxOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwODg6CiteSS8qKiQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0NTI6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmg6MTA4OToKK15JICogQ2FsbGJhY2sgZnVuY3Rpb24gZm9yIHRo ZSByZXRyaWV2ZSByZXF1ZXN0JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMzQ1MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMDkwOgor XkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0NTQ6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTA5MToKK15JICogVmFsaWQgcmVw bGllczokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDU1OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwOTI6CiteSSAqXklmdXNlX3Jl cGx5X25vbmUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDU2 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwOTM6CiteSSAqJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQ1NzogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMDk0OgorXkkgKiBAcGFyYW0gcmVxIHJlcXVlc3Qg aGFuZGxlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQ1ODog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMDk1OgorXkkgKiBAcGFyYW0g Y29va2llIHVzZXIgZGF0YSBzdXBwbGllZCB0byBmdXNlX2xvd2xldmVsX25vdGlmeV9yZXRyaWV2 ZSgpJAoKV0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJhY3RlcnMKIzM0NTk6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTA5NjoKKyAgICAgICAgKiBAcGFyYW0gaW5vIHRo ZSBpbm9kZSBudW1iZXIgc3VwcGxpZWQgdG8gZnVzZV9sb3dsZXZlbF9ub3RpZnlfcmV0cmlldmUo KQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQ1OTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMDk2OgorXkkgKiBAcGFyYW0gaW5vIHRo ZSBpbm9kZSBudW1iZXIgc3VwcGxpZWQgdG8gZnVzZV9sb3dsZXZlbF9ub3RpZnlfcmV0cmlldmUo KSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0NjA6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTA5NzoKK15JICogQHBhcmFtIG9mZnNl dCB0aGUgb2Zmc2V0IHN1cHBsaWVkIHRvIGZ1c2VfbG93bGV2ZWxfbm90aWZ5X3JldHJpZXZlKCkk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDYxOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEwOTg6CiteSSAqIEBwYXJhbSBidWZ2IHRo ZSBidWZmZXIgY29udGFpbmluZyB0aGUgcmV0dXJuZWQgZGF0YSQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0NjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6MTA5OToKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMzQ2MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDox MTAwOgorXkl2b2lkICgqcmV0cmlldmVfcmVwbHkpIChmdXNlX3JlcV90IHJlcSwgdm9pZCAqY29v a2llLCBmdXNlX2lub190IGlubywkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzNDY0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExMDE6 CiteSV5JXkleSW9mZl90IG9mZnNldCwgc3RydWN0IGZ1c2VfYnVmdmVjICpidWZ2KTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDY2OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExMDM6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0Njc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6MTEwNDoKK15JICogRm9yZ2V0IGFib3V0IG11bHRpcGxlIGlub2RlcyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0Njg6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTEwNToKK15JICokCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDY5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5oOjExMDY6CiteSSAqIFNlZSBkZXNjcmlwdGlvbiBvZiB0aGUgZm9yZ2V0IGZ1 bmN0aW9uIGZvciBtb3JlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMzQ3MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTA3OgorXkkg KiBpbmZvcm1hdGlvbi4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzNDcxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExMDg6CiteSSAq JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQ3MjogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTA5OgorXkkgKiBWYWxpZCByZXBsaWVz OiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0NzM6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTExMDoKK15JICogICBmdXNlX3JlcGx5 X25vbmUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDc0OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExMTE6CiteSSAqJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQ3NTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTEyOgorXkkgKiBAcGFyYW0gcmVxIHJlcXVlc3QgaGFu ZGxlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQ3NjogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTEzOgorXkkgKi8kCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDc3OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExMTQ6CiteSXZvaWQgKCpmb3JnZXRfbXVsdGkpIChmdXNl X3JlcV90IHJlcSwgc2l6ZV90IGNvdW50LCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzM0Nzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 MTExNToKK15JXkleSSAgICAgIHN0cnVjdCBmdXNlX2ZvcmdldF9kYXRhICpmb3JnZXRzKTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDgwOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExMTc6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0ODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmg6MTExODoKK15JICogQWNxdWlyZSwgbW9kaWZ5IG9yIHJlbGVhc2UgYSBC U0QgZmlsZSBsb2NrJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MzQ4MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTE5OgorXkkgKiQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0ODM6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTEyMDoKK15JICogTm90ZTogaWYgdGhlIGxv Y2tpbmcgbWV0aG9kcyBhcmUgbm90IGltcGxlbWVudGVkLCB0aGUga2VybmVsJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQ4NDogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTIxOgorXkkgKiB3aWxsIHN0aWxsIGFsbG93IGZpbGUgbG9j a2luZyB0byB3b3JrIGxvY2FsbHkuICBIZW5jZSB0aGVzZSBhcmUkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDg1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5oOjExMjI6CiteSSAqIG9ubHkgaW50ZXJlc3RpbmcgZm9yIG5ldHdvcmsgZmls ZXN5c3RlbXMgYW5kIHNpbWlsYXIuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMzQ4NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTIz OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0ODc6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTEyNDoKK15JICogVmFsaWQg cmVwbGllczokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDg4 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExMjU6CiteSSAqICAgZnVz ZV9yZXBseV9lcnIkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz NDg5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExMjY6CiteSSAqJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQ5MDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTI3OgorXkkgKiBAcGFyYW0gcmVxIHJlcXVl c3QgaGFuZGxlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQ5 MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTI4OgorXkkgKiBAcGFy YW0gaW5vIHRoZSBpbm9kZSBudW1iZXIkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMzNDkyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEx Mjk6CiteSSAqIEBwYXJhbSBmaSBmaWxlIGluZm9ybWF0aW9uJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQ5MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuaDoxMTMwOgorXkkgKiBAcGFyYW0gb3AgdGhlIGxvY2tpbmcgb3BlcmF0aW9uLCBz ZWUgZmxvY2soMikkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz NDk0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExMzE6CiteSSAqLyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0OTU6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTEzMjoKK15Jdm9pZCAoKmZsb2NrKSAoZnVz ZV9yZXFfdCByZXEsIGZ1c2VfaW5vX3QgaW5vLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzM0OTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs Lmg6MTEzMzoKK15JXkkgICAgICAgc3RydWN0IGZ1c2VfZmlsZV9pbmZvICpmaSwgaW50IG9wKTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDk4OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExMzU6CiteSS8qKiQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0OTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmg6MTEzNjoKK15JICogQWxsb2NhdGUgcmVxdWVzdGVkIHNwYWNlLiBJ ZiB0aGlzIGZ1bmN0aW9uIHJldHVybnMgc3VjY2VzcyB0aGVuJAoKV0FSTklORzogbGluZSBvdmVy IDgwIGNoYXJhY3RlcnMKIzM1MDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs Lmg6MTEzNzoKKyAgICAgICAgKiBzdWJzZXF1ZW50IHdyaXRlcyB0byB0aGUgc3BlY2lmaWVkIHJh bmdlIHNoYWxsIG5vdCBmYWlsIGR1ZSB0byB0aGUgbGFjawoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMzUwMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuaDoxMTM3OgorXkkgKiBzdWJzZXF1ZW50IHdyaXRlcyB0byB0aGUgc3BlY2lmaWVkIHJh bmdlIHNoYWxsIG5vdCBmYWlsIGR1ZSB0byB0aGUgbGFjayQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1MDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6MTEzODoKK15JICogb2YgZnJlZSBzcGFjZSBvbiB0aGUgZmlsZSBzeXN0ZW0gc3Rv cmFnZSBtZWRpYS4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz NTAyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExMzk6CiteSSAqJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzUwMzogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTQwOgorXkkgKiBJZiB0aGlzIHJlcXVlc3Qg aXMgYW5zd2VyZWQgd2l0aCBhbiBlcnJvciBjb2RlIG9mIEVOT1NZUywgdGhpcyBpcyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1MDQ6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTE0MToKK15JICogdHJlYXRlZCBhcyBhIHBlcm1hbmVu dCBmYWlsdXJlIHdpdGggZXJyb3IgY29kZSBFT1BOT1RTVVBQLCBpLmUuIGFsbCQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1MDU6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmg6MTE0MjoKK15JICogZnV0dXJlIGZhbGxvY2F0ZSgpIHJlcXVl c3RzIHdpbGwgZmFpbCB3aXRoIEVPUE5PVFNVUFAgd2l0aG91dCBiZWluZyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1MDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmg6MTE0MzoKK15JICogc2VuZCB0byB0aGUgZmlsZXN5c3RlbSBwcm9j ZXNzLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1MDc6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTE0NDoKK15JICokCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNTA4OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExNDU6CiteSSAqIFZhbGlkIHJlcGxpZXM6JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzUwOTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTQ2OgorXkkgKiAgIGZ1c2VfcmVwbHlfZXJyJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzUxMDogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTQ3OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1MTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6MTE0ODoKK15JICogQHBhcmFtIHJlcSByZXF1ZXN0IGhhbmRsZSQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1MTI6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTE0OToKK15JICogQHBhcmFtIGlubyB0aGUgaW5vZGUg bnVtYmVyJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzUxMzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTUwOgorXkkgKiBAcGFyYW0g b2Zmc2V0IHN0YXJ0aW5nIHBvaW50IGZvciBhbGxvY2F0ZWQgcmVnaW9uJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzUxNDogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuaDoxMTUxOgorXkkgKiBAcGFyYW0gbGVuZ3RoIHNpemUgb2YgYWxsb2Nh dGVkIHJlZ2lvbiQKCldBUk5JTkc6IGxpbmUgb3ZlciA4MCBjaGFyYWN0ZXJzCiMzNTE1OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExNTI6CisgICAgICAgICogQHBhcmFt IG1vZGUgZGV0ZXJtaW5lcyB0aGUgb3BlcmF0aW9uIHRvIGJlIHBlcmZvcm1lZCBvbiB0aGUgZ2l2 ZW4gcmFuZ2UsCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNTE1 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExNTI6CiteSSAqIEBwYXJh bSBtb2RlIGRldGVybWluZXMgdGhlIG9wZXJhdGlvbiB0byBiZSBwZXJmb3JtZWQgb24gdGhlIGdp dmVuIHJhbmdlLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1 MTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTE1MzoKK15JICogICAg ICAgICAgICAgc2VlIGZhbGxvY2F0ZSgyKSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzM1MTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 MTE1NDoKK15JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MzUxODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTU1OgorXkl2b2lk ICgqZmFsbG9jYXRlKSAoZnVzZV9yZXFfdCByZXEsIGZ1c2VfaW5vX3QgaW5vLCBpbnQgbW9kZSwk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNTE5OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExNTY6CiteSV5JICAgICAgIG9mZl90IG9m ZnNldCwgb2ZmX3QgbGVuZ3RoLCBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKmZpKTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNTIxOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExNTg6CiteSS8qKiQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1MjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6MTE1OToKK15JICogUmVhZCBkaXJlY3Rvcnkgd2l0aCBhdHRyaWJ1dGVzJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzUyMzogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTYwOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1MjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6MTE2MToKK15JICogU2VuZCBhIGJ1ZmZlciBmaWxsZWQgdXNpbmcgZnVzZV9h ZGRfZGlyZW50cnlfcGx1cygpLCB3aXRoIHNpemUgbm90JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMzUyNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuaDoxMTYyOgorXkkgKiBleGNlZWRpbmcgdGhlIHJlcXVlc3RlZCBzaXplLiAgU2VuZCBh biBlbXB0eSBidWZmZXIgb24gZW5kIG9mJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMzUyNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDox MTYzOgorXkkgKiBzdHJlYW0uJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMzUyNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTY0Ogor XkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1Mjg6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTE2NToKK15JICogZmktPmZoIHdp bGwgY29udGFpbiB0aGUgdmFsdWUgc2V0IGJ5IHRoZSBvcGVuZGlyIG1ldGhvZCwgb3IkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNTI5OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExNjY6CiteSSAqIHdpbGwgYmUgdW5kZWZpbmVkIGlm IHRoZSBvcGVuZGlyIG1ldGhvZCBkaWRuJ3Qgc2V0IGFueSB2YWx1ZS4kCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNTMwOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5oOjExNjc6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMzUzMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu aDoxMTY4OgorXkkgKiBJbiBjb250cmFzdCB0byByZWFkZGlyKCkgKHdoaWNoIGRvZXMgbm90IGFm ZmVjdCB0aGUgbG9va3VwIGNvdW50cyksJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMzUzMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDox MTY5OgorXkkgKiB0aGUgbG9va3VwIGNvdW50IG9mIGV2ZXJ5IGVudHJ5IHJldHVybmVkIGJ5IHJl YWRkaXJwbHVzKCksIGV4Y2VwdCAiLiIkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMzNTMzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEx NzA6CiteSSAqIGFuZCAiLi4iLCBpcyBpbmNyZW1lbnRlZCBieSBvbmUuJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzUzNDogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuaDoxMTcxOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzM1MzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs Lmg6MTE3MjoKK15JICogVmFsaWQgcmVwbGllczokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMzNTM2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjExNzM6CiteSSAqICAgZnVzZV9yZXBseV9idWYkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMzNTM3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjExNzQ6CiteSSAqICAgZnVzZV9yZXBseV9kYXRhJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzUzODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuaDoxMTc1OgorXkkgKiAgIGZ1c2VfcmVwbHlfZXJyJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzUzOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDoxMTc2OgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzM1NDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 MTE3NzoKK15JICogQHBhcmFtIHJlcSByZXF1ZXN0IGhhbmRsZSQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1NDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6MTE3ODoKK15JICogQHBhcmFtIGlubyB0aGUgaW5vZGUgbnVtYmVyJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzU0MjogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTc5OgorXkkgKiBAcGFyYW0gc2l6ZSBtYXhpbXVt IG51bWJlciBvZiBieXRlcyB0byBzZW5kJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMzU0MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDox MTgwOgorXkkgKiBAcGFyYW0gb2ZmIG9mZnNldCB0byBjb250aW51ZSByZWFkaW5nIHRoZSBkaXJl Y3Rvcnkgc3RyZWFtJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MzU0NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTgxOgorXkkgKiBA cGFyYW0gZmkgZmlsZSBpbmZvcm1hdGlvbiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzM1NDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6 MTE4MjoKK15JICovJAoKV0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJhY3RlcnMKIzM1NDY6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTE4MzoKKyAgICAgICB2b2lkICgq cmVhZGRpcnBsdXMpIChmdXNlX3JlcV90IHJlcSwgZnVzZV9pbm9fdCBpbm8sIHNpemVfdCBzaXpl LCBvZmZfdCBvZmYsCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz NTQ2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExODM6CiteSXZvaWQg KCpyZWFkZGlycGx1cykgKGZ1c2VfcmVxX3QgcmVxLCBmdXNlX2lub190IGlubywgc2l6ZV90IHNp emUsIG9mZl90IG9mZiwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzNTQ3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExODQ6CiteSV5J Xkkgc3RydWN0IGZ1c2VfZmlsZV9pbmZvICpmaSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMzU0OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuaDoxMTg2OgorXkkvKiokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMzNTUwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExODc6Cite SSAqIENvcHkgYSByYW5nZSBvZiBkYXRhIGZyb20gb25lIGZpbGUgdG8gYW5vdGhlciQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1NTE6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTE4ODoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNTUyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5oOjExODk6CiteSSAqIFBlcmZvcm1zIGFuIG9wdGltaXplZCBjb3B5IGJldHdlZW4g dHdvIGZpbGUgZGVzY3JpcHRvcnMgd2l0aG91dCB0aGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMzNTUzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjExOTA6CiteSSAqIGFkZGl0aW9uYWwgY29zdCBvZiB0cmFuc2ZlcnJpbmcgZGF0YSB0 aHJvdWdoIHRoZSBGVVNFIGtlcm5lbCBtb2R1bGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMzNTU0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjExOTE6CiteSSAqIHRvIHVzZXIgc3BhY2UgKGdsaWJjKSBhbmQgdGhlbiBiYWNrIGludG8g dGhlIEZVU0UgZmlsZXN5c3RlbSBhZ2Fpbi4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMzNTU1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o OjExOTI6CiteSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MzU1NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTkzOgorXkkgKiBJ biBjYXNlIHRoaXMgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCwgZ2xpYmMgZmFsbHMgYmFjayB0 byByZWFkaW5nJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzU1 NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTk0OgorXkkgKiBkYXRh IGZyb20gdGhlIHNvdXJjZSBhbmQgd3JpdGluZyB0byB0aGUgZGVzdGluYXRpb24uIEVmZmVjdGl2 ZWx5JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzU1ODogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTk1OgorXkkgKiBkb2luZyBhbiBp bmVmZmljaWVudCBjb3B5IG9mIHRoZSBkYXRhLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzM1NTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs Lmg6MTE5NjoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzNTYwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjExOTc6CiteSSAq IElmIHRoaXMgcmVxdWVzdCBpcyBhbnN3ZXJlZCB3aXRoIGFuIGVycm9yIGNvZGUgb2YgRU5PU1lT LCB0aGlzIGlzJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzU2 MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTk4OgorXkkgKiB0cmVh dGVkIGFzIGEgcGVybWFuZW50IGZhaWx1cmUgd2l0aCBlcnJvciBjb2RlIEVPUE5PVFNVUFAsIGku ZS4gYWxsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzU2Mjog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMTk5OgorXkkgKiBmdXR1cmUg Y29weV9maWxlX3JhbmdlKCkgcmVxdWVzdHMgd2lsbCBmYWlsIHdpdGggRU9QTk9UU1VQUCB3aXRo b3V0JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzU2MzogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMjAwOgorXkkgKiBiZWluZyBzZW5k IHRvIHRoZSBmaWxlc3lzdGVtIHByb2Nlc3MuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMzU2NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu aDoxMjAxOgorXkkgKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzM1NjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTIwMjoKK15JICog VmFsaWQgcmVwbGllczokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzNTY2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEyMDM6CiteSSAq ICAgZnVzZV9yZXBseV93cml0ZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzM1Njc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTIwNDoK K15JICogICBmdXNlX3JlcGx5X2VyciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzM1Njg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTIw NToKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNTY5 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEyMDY6CiteSSAqIEBwYXJh bSByZXEgcmVxdWVzdCBoYW5kbGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzNTcwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEyMDc6 CiteSSAqIEBwYXJhbSBpbm9faW4gdGhlIGlub2RlIG51bWJlciBvciB0aGUgc291cmNlIGZpbGUk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNTcxOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEyMDg6CiteSSAqIEBwYXJhbSBvZmZfaW4g c3RhcnRpbmcgcG9pbnQgZnJvbSB3ZXJlIHRoZSBkYXRhIHNob3VsZCBiZSByZWFkJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzU3MjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMjA5OgorXkkgKiBAcGFyYW0gZmlfaW4gZmlsZSBpbmZv cm1hdGlvbiBvZiB0aGUgc291cmNlIGZpbGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMzNTczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o OjEyMTA6CiteSSAqIEBwYXJhbSBpbm9fb3V0IHRoZSBpbm9kZSBudW1iZXIgb3IgdGhlIGRlc3Rp bmF0aW9uIGZpbGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz NTc0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEyMTE6CiteSSAqIEBw YXJhbSBvZmZfb3V0IHN0YXJ0aW5nIHBvaW50IHdoZXJlIHRoZSBkYXRhIHNob3VsZCBiZSB3cml0 dGVuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzU3NTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMjEyOgorXkkgKiBAcGFyYW0gZmlf b3V0IGZpbGUgaW5mb3JtYXRpb24gb2YgdGhlIGRlc3RpbmF0aW9uIGZpbGUkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNTc2OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5oOjEyMTM6CiteSSAqIEBwYXJhbSBsZW4gbWF4aW11bSBzaXplIG9m IHRoZSBkYXRhIHRvIGNvcHkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMzNTc3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEyMTQ6Cite SSAqIEBwYXJhbSBmbGFncyBwYXNzZWQgYWxvbmcgd2l0aCB0aGUgY29weV9maWxlX3JhbmdlKCkg c3lzY2FsbCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1Nzg6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTIxNToKK15JICovJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzU3OTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMjE2OgorXkl2b2lkICgqY29weV9maWxlX3Jhbmdl KSAoZnVzZV9yZXFfdCByZXEsIGZ1c2VfaW5vX3QgaW5vX2luLCQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1ODA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6MTIxNzoKK15JXkleSV5JIG9mZl90IG9mZl9pbiwgc3RydWN0IGZ1c2VfZmls ZV9pbmZvICpmaV9pbiwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzNTgxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEyMTg6CiteSV5J XkleSSBmdXNlX2lub190IGlub19vdXQsIG9mZl90IG9mZl9vdXQsJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzU4MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuaDoxMjE5OgorXkleSV5JXkkgc3RydWN0IGZ1c2VfZmlsZV9pbmZvICpmaV9v dXQsIHNpemVfdCBsZW4sJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMzU4MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMjIwOgorXkle SV5JXkkgaW50IGZsYWdzKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMzNTg1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEyMjI6Cite SS8qKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1ODY6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTIyMzoKK15JICogRmluZCBuZXh0 IGRhdGEgb3IgaG9sZSBhZnRlciB0aGUgc3BlY2lmaWVkIG9mZnNldCQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1ODc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmg6MTIyNDoKK15JICokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMzNTg4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5o OjEyMjU6CiteSSAqIElmIHRoaXMgcmVxdWVzdCBpcyBhbnN3ZXJlZCB3aXRoIGFuIGVycm9yIGNv ZGUgb2YgRU5PU1lTLCB0aGlzIGlzJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMzU4OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMjI2 OgorXkkgKiB0cmVhdGVkIGFzIGEgcGVybWFuZW50IGZhaWx1cmUsIGkuZS4gYWxsIGZ1dHVyZSBs c2VlaygpIHJlcXVlc3RzIHdpbGwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzNTkwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEyMjc6 CiteSSAqIGZhaWwgd2l0aCB0aGUgc2FtZSBlcnJvciBjb2RlIHdpdGhvdXQgYmVpbmcgc2VuZCB0 byB0aGUgZmlsZXN5c3RlbSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzM1OTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTIyODoKK15J ICogcHJvY2Vzcy4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz NTkyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjEyMjk6CiteSSAqJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzU5MzogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMjMwOgorXkkgKiBWYWxpZCByZXBsaWVzOiQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1OTQ6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTIzMToKK15JICogICBmdXNlX3JlcGx5X2xz ZWVrJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzU5NTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMjMyOgorXkkgKiAgIGZ1c2VfcmVw bHlfZXJyJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzU5Njog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMjMzOgorXkkgKiQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1OTc6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTIzNDoKK15JICogQHBhcmFtIHJlcSByZXF1ZXN0IGhh bmRsZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1OTg6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTIzNToKK15JICogQHBhcmFtIGlu byB0aGUgaW5vZGUgbnVtYmVyJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMzU5OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMjM2Ogor XkkgKiBAcGFyYW0gb2ZmIG9mZnNldCB0byBzdGFydCBzZWFyY2ggZnJvbSQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM2MDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmg6MTIzNzoKK15JICogQHBhcmFtIHdoZW5jZSBlaXRoZXIgU0VFS19E QVRBIG9yIFNFRUtfSE9MRSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzM2MDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTIzODoKK15J ICogQHBhcmFtIGZpIGZpbGUgaW5mb3JtYXRpb24kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMzNjAyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5oOjEyMzk6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzM2MDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTI0MDoKK15J dm9pZCAoKmxzZWVrKSAoZnVzZV9yZXFfdCByZXEsIGZ1c2VfaW5vX3QgaW5vLCBvZmZfdCBvZmYs IGludCB3aGVuY2UsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MzYwNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMjQxOgorXkleSSAg ICAgICBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKmZpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMzNjc1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjEzMTI6CiteSV5JICAgICAgY29uc3Qgc3RydWN0IGZ1c2VfZmlsZV9pbmZvICpmaSk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzY4NTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMzIyOgorICogQHBhcmFtIGF0dHJfdGlt ZW91dF5JdmFsaWRpdHkgdGltZW91dCAoaW4gc2Vjb25kcykgZm9yIHRoZSBhdHRyaWJ1dGVzJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzY4OTogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxMzI2OgorXkleSSAgICBkb3VibGUgYXR0cl90 aW1lb3V0KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNzg3 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjE0MjQ6CiteSV5JICAgIGVu dW0gZnVzZV9idWZfY29weV9mbGFncyBmbGFncyk7JAoKV0FSTklORzogQmxvY2sgY29tbWVudHMg dXNlIGEgbGVhZGluZyAvKiBvbiBhIHNlcGFyYXRlIGxpbmUKIzM4NTA6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTQ4NzoKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICoKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM4NTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmg6MTQ4ODoKKyAqIEZpbGxpbmcgYSBidWZmZXIgaW4gcmVhZGRpcl5JXkleSV5J ICAgICAgICokCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSB0cmFpbGluZyAqLyBvbiBh IHNlcGFyYXRlIGxpbmUKIzM4NTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs Lmg6MTQ4OToKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tICovCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMzODgyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjE1MTk6Cite SV5JXkkgY29uc3QgY2hhciAqbmFtZSwgY29uc3Qgc3RydWN0IHN0YXQgKnN0YnVmLCQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM4ODM6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTUyMDoKK15JXkleSSBvZmZfdCBvZmYpOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM4OTk6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTUzNjoKK15JXkleSSAgICAgIGNvbnN0IGNoYXIgKm5h bWUsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzkwMDogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxNTM3OgorXkleSV5JICAgICAgY29u c3Qgc3RydWN0IGZ1c2VfZW50cnlfcGFyYW0gKmUsIG9mZl90IG9mZik7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzkxODogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuaDoxNTU1OgorXkleSV5JICAgY29uc3Qgc3RydWN0IGlvdmVjICppbl9p b3YsIHNpemVfdCBpbl9jb3VudCwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzOTE5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjE1NTY6 CiteSV5JXkkgICBjb25zdCBzdHJ1Y3QgaW92ZWMgKm91dF9pb3YsIHNpemVfdCBvdXRfY291bnQp OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM5NDY6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTU4MzoKK15JXkleSSBpbnQgY291bnQp OyQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcgLyogb24gYSBzZXBhcmF0 ZSBsaW5lCiMzOTY4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjE2MDU6 CisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSAqCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzOTY5 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjE2MDY6CisgKiBOb3RpZmlj YXRpb25eSV5JXkleSV5JXkkgICAgICAgKiQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBh IHRyYWlsaW5nICovIG9uIGEgc2VwYXJhdGUgbGluZQojMzk3MDogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuaDoxNjA3OgorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQwMDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmg6MTY0MjoKK15JXkleSV5JICAgICBvZmZfdCBvZmYsIG9mZl90IGxlbik7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDAzMzogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxNjcwOgorXkleSV5JXkkgICAgIGNvbnN0IGNoYXIg Km5hbWUsIHNpemVfdCBuYW1lbGVuKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM0MDY0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjE3 MDE6CiteSV5JXkleSWZ1c2VfaW5vX3QgcGFyZW50LCBmdXNlX2lub190IGNoaWxkLCQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQwNjU6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTcwMjoKK15JXkleSV5JY29uc3QgY2hhciAqbmFtZSwg c2l6ZV90IG5hbWVsZW4pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzQwOTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTczMDoKK15J XkleSSAgICAgICBvZmZfdCBvZmZzZXQsIHN0cnVjdCBmdXNlX2J1ZnZlYyAqYnVmdiwkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0MDk0OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjE3MzE6CiteSV5JXkkgICAgICAgZW51bSBmdXNlX2J1 Zl9jb3B5X2ZsYWdzIGZsYWdzKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM0MTI1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjE3NjI6 CiteSV5JXkleSSAgc2l6ZV90IHNpemUsIG9mZl90IG9mZnNldCwgdm9pZCAqY29va2llKTskCgpX QVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJhdGUgbGlu ZQojNDEyODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxNzY1OgorLyog LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0gKgoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDEyOTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxNzY2OgorICogVXRpbGl0eSBmdW5j dGlvbnNeSV5JXkleSV5JICAgICAgICokCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSB0 cmFpbGluZyAqLyBvbiBhIHNlcGFyYXRlIGxpbmUKIzQxMzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmg6MTc2NzoKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM0MTkyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5oOjE4Mjk6CiteSV5JXkkgICAgIHZvaWQgKmRhdGEpOyQKCldBUk5JTkc6IEJsb2NrIGNv bW1lbnRzIHVzZSBhIGxlYWRpbmcgLyogb24gYSBzZXBhcmF0ZSBsaW5lCiM0MjAzOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjE4NDA6CisvKiAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqCgpXQVJOSU5HOiBC bG9jayBjb21tZW50cyB1c2UgYSB0cmFpbGluZyAqLyBvbiBhIHNlcGFyYXRlIGxpbmUKIzQyMDU6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTg0MjoKKyAqIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgpX QVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJhdGUgbGlu ZQojNDIyNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxODYxOgorLyog LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0gKgoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlIGEgdHJhaWxpbmcgKi8gb24gYSBzZXBh cmF0ZSBsaW5lCiM0MjI2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjE4 NjM6CisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSAqLwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NDIyOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxODY2OgorXklpbnQg c2luZ2xldGhyZWFkOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzQyMzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTg2NzoKK15JaW50 IGZvcmVncm91bmQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NDIzMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxODY4OgorXklpbnQg ZGVidWc7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDIzMjog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxODY5OgorXklpbnQgbm9kZWZh dWx0X3N1YnR5cGU7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NDIzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxODcwOgorXkljaGFy ICptb3VudHBvaW50OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzQyMzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTg3MToKK15JaW50 IHNob3dfdmVyc2lvbjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM0MjM1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjE4NzI6CiteSWlu dCBzaG93X2hlbHA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NDIzNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxODczOgorXklpbnQg Y2xvbmVfZmQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDIz NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxODc0OgorXkl1bnNpZ25l ZCBpbnQgbWF4X2lkbGVfdGhyZWFkczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM0MjU5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjE4 OTY6CiteSV5JICAgICAgIHN0cnVjdCBmdXNlX2NtZGxpbmVfb3B0cyAqb3B0cyk7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDI5MDogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxOTI3OgorXkleSV5JXkkgICAgICBjb25zdCBzdHJ1Y3Qg ZnVzZV9sb3dsZXZlbF9vcHMgKm9wLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzQyOTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MTky ODoKK15JXkleSV5JICAgICAgc2l6ZV90IG9wX3NpemUsIHZvaWQgKnVzZXJkYXRhKTskCgpFUlJP UjogdHJhaWxpbmcgd2hpdGVzcGFjZQojNDMzNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuaDoxOTcyOgorICogQHBhcmFtIGNvbmZpZyBzZXNzaW9uIGxvb3AgY29uZmlndXJh dGlvbiAkCgpXQVJOSU5HOiBsaW5lIG92ZXIgODAgY2hhcmFjdGVycwojNDM0MjogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuaDoxOTc5OgoraW50IGZ1c2Vfc2Vzc2lvbl9sb29w X210KHN0cnVjdCBmdXNlX3Nlc3Npb24gKnNlLCBzdHJ1Y3QgZnVzZV9sb29wX2NvbmZpZyAqY29u ZmlnKTsKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcgLyogb24gYSBzZXBh cmF0ZSBsaW5lCiM0NDA0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjIw NDE6CisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSAqCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSB0cmFpbGluZyAqLyBv biBhIHNlcGFyYXRlIGxpbmUKIzQ0MDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmg6MjA0MzoKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tICovCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM0NDMzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5oOjIwNzA6 CiteSV5JXkkgICAgICBjb25zdCBzdHJ1Y3QgZnVzZV9idWYgKmJ1Zik7JAoKV0FSTklORzogYXJj aGl0ZWN0dXJlIHNwZWNpZmljIGRlZmluZXMgc2hvdWxkIGJlIGF2b2lkZWQKIzQ0NDg6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmg6MjA4NToKKyNpZmRlZiBfX2NwbHVzcGx1 cwoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlICogb24gc3Vic2VxdWVudCBsaW5lcwojNDQ2 MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbWlzYy5oOjI6CisvKgorICBGVVNFOiBGaWxl c3lzdGVtIGluIFVzZXJzcGFjZQoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlICogb24gc3Vi c2VxdWVudCBsaW5lcwojNDQ3MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbWlzYy5oOjEy OgorLyoKKyAgVmVyc2lvbmVkIHN5bWJvbHMgY2Fubm90IGJlIHVzZWQgaW4gc29tZSBjYXNlcyBi ZWNhdXNlIGl0CgpXQVJOSU5HOiBhcmNoaXRlY3R1cmUgc3BlY2lmaWMgZGVmaW5lcyBzaG91bGQg YmUgYXZvaWRlZAojNDQ3NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbWlzYy5oOjE2Ogor I2lmICghZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhZGVmaW5lZChfX0FQUExFX18pKQoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDQ4NjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbWlzYy5oOjI4OgorXklwdGhyZWFkX211dGV4YXR0cl90IGF0dHI7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDQ4NzogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbWlzYy5oOjI5OgorXklwdGhyZWFkX211dGV4YXR0cl9pbml0KCZhdHRy KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NDg4OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9taXNjLmg6MzA6CiteSXB0aHJlYWRfbXV0ZXhhdHRyX3Nl dHR5cGUoJmF0dHIsIFBUSFJFQURfTVVURVhfQURBUFRJVkVfTlApOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ0ODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX21pc2MuaDozMToKK15JcHRocmVhZF9tdXRleF9pbml0KG11dCwgJmF0dHIpOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ0OTA6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX21pc2MuaDozMjoKK15JcHRocmVhZF9tdXRleGF0dHJfZGVzdHJveSgmYXR0 cik7JAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlICogb24gc3Vic2VxdWVudCBsaW5lcwoj NDUyNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0Lmg6MjoKKy8qCisgIEZVU0U6IEZp bGVzeXN0ZW0gaW4gVXNlcnNwYWNlCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFk aW5nIC8qIG9uIGEgc2VwYXJhdGUgbGluZQojNDUzNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2Vfb3B0Lmg6MTI6CisvKiogQGZpbGUKCldBUk5JTkc6IGFyY2hpdGVjdHVyZSBzcGVjaWZpYyBk ZWZpbmVzIHNob3VsZCBiZSBhdm9pZGVkCiM0NTQwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9vcHQuaDoxNzoKKyNpZmRlZiBfX2NwbHVzcGx1cwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNDU2NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0Lmg6 NDQ6CisgKiAgLSAtMV5JXkleSSAgICAgIGFjdGlvbiBpaSkkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NTc4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9v cHQuaDo1NToKKyAqIDEpICIteCIsICItZm9vIiwgIi0tZm9vIiwgIi0tZm9vLWJhciIsIGV0Yy5e SVRoZXNlIG1hdGNoIG9ubHkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM0NjAxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuaDo3ODoKK15JLyoqIE1h dGNoaW5nIHRlbXBsYXRlIGFuZCBvcHRpb25hbCBwYXJhbWV0ZXIgZm9ybWF0dGluZyAqLyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ2MDI6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX29wdC5oOjc5OgorXkljb25zdCBjaGFyICp0ZW1wbDskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NjA0OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9vcHQuaDo4MToKK15JLyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNDYwNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0Lmg6ODI6 CiteSSAqIE9mZnNldCBvZiB2YXJpYWJsZSB3aXRoaW4gJ2RhdGEnIHBhcmFtZXRlciBvZiBmdXNl X29wdF9wYXJzZSgpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NDYwNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0Lmg6ODM6CiteSSAqIG9yIC0xJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDYwNzogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2Vfb3B0Lmg6ODQ6CiteSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ2MDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29w dC5oOjg1OgorXkl1bnNpZ25lZCBsb25nIG9mZnNldDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM0NjEwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQu aDo4NzoKK15JLyoqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NDYxMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0Lmg6ODg6CiteSSAqIFZhbHVlIHRv IHNldCB0aGUgdmFyaWFibGUgdG8sIG9yIHRvIGJlIHBhc3NlZCBhcyAna2V5JyB0byB0aGUkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NjEyOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9vcHQuaDo4OToKK15JICogcHJvY2Vzc2luZyBmdW5jdGlvbi5eSSBJ Z25vcmVkIGlmIHRlbXBsYXRlIGhhcyBhIGZvcm1hdCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzQ2MTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5o OjkwOgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0 NjE0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuaDo5MToKK15JaW50IHZhbHVlOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ2MTg6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5oOjk1OgorICogS2V5IG9wdGlvbi5eSUluIGNhc2Ugb2Yg YSBtYXRjaCwgdGhlIHByb2Nlc3NpbmcgZnVuY3Rpb24gd2lsbCBiZSQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ2MjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX29wdC5oOjEwMToKKyAqIExhc3Qgb3B0aW9uLl5JIEFuIGFycmF5IG9mICdzdHJ1Y3QgZnVz ZV9vcHQnIG11c3QgZW5kIHdpdGggYSBOVUxMJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNDYzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0Lmg6MTEw OgorXkkvKiogQXJndW1lbnQgY291bnQgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM0NjM0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuaDoxMTE6 CiteSWludCBhcmdjOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzQ2MzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5oOjExMzoKK15JLyoqIEFyZ3Vt ZW50IHZlY3Rvci4gIE5VTEwgdGVybWluYXRlZCAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzQ2Mzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5o OjExNDoKK15JY2hhciAqKmFyZ3Y7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNDYzOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0Lmg6MTE2OgorXkkv KiogSXMgJ2FyZ3YnIGFsbG9jYXRlZD8gKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM0NjQwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuaDoxMTc6 CiteSWludCBhbGxvY2F0ZWQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNDcwNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0Lmg6MTgxOgorXkleSV5J ICAgICAgIHN0cnVjdCBmdXNlX2FyZ3MgKm91dGFyZ3MpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ3Mjc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29w dC5oOjIwNDoKK15JXkkgICBjb25zdCBzdHJ1Y3QgZnVzZV9vcHQgb3B0c1tdLCBmdXNlX29wdF9w cm9jX3QgcHJvYyk7JAoKV0FSTklORzogYXJjaGl0ZWN0dXJlIHNwZWNpZmljIGRlZmluZXMgc2hv dWxkIGJlIGF2b2lkZWQKIzQ3OTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5oOjI2 NzoKKyNpZmRlZiBfX2NwbHVzcGx1cwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNDgzMTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2hlbHBlcnMu aDozMToKK15JaW50IG1vZGUsIGRldl90IHJkZXYpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNDgzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdo X2hlbHBlcnMuaDozMzoKK15JaW50IHJlczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM0ODM1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfaGVs cGVycy5oOjM1OgorXklpZiAoU19JU1JFRyhtb2RlKSkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ4MzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhy b3VnaF9oZWxwZXJzLmg6MzY6CiteSV5JcmVzID0gb3BlbmF0KGRpcmZkLCBwYXRoLCBPX0NSRUFU IHwgT19FWENMIHwgT19XUk9OTFksIG1vZGUpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzQ4Mzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9o ZWxwZXJzLmg6Mzc6CiteSV5JaWYgKHJlcyA+PSAwKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5l Y2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzQ4Mzc6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9oZWxwZXJzLmg6Mzc6CisgICAgICAgICAgICAgICBpZiAo cmVzID49IDApClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM0ODM4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfaGVscGVycy5oOjM4Ogor XkleSV5JcmVzID0gY2xvc2UocmVzKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM0ODM5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfaGVscGVy cy5oOjM5OgorXkl9IGVsc2UgaWYgKFNfSVNESVIobW9kZSkpIHskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0ODQwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFz c3Rocm91Z2hfaGVscGVycy5oOjQwOgorXkleSXJlcyA9IG1rZGlyYXQoZGlyZmQsIHBhdGgsIG1v ZGUpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ4NDE6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9oZWxwZXJzLmg6NDE6CiteSX0gZWxzZSBp ZiAoU19JU0xOSyhtb2RlKSAmJiBsaW5rICE9IE5VTEwpIHskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0ODQyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Ro cm91Z2hfaGVscGVycy5oOjQyOgorXkleSXJlcyA9IHN5bWxpbmthdChsaW5rLCBkaXJmZCwgcGF0 aCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDg0MzogRklM RTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2hlbHBlcnMuaDo0MzoKK15JfSBlbHNlIGlm IChTX0lTRklGTyhtb2RlKSkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzQ4NDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9oZWxwZXJzLmg6 NDQ6CiteSV5JcmVzID0gbWtmaWZvYXQoZGlyZmQsIHBhdGgsIG1vZGUpOyQKCldBUk5JTkc6IGFy Y2hpdGVjdHVyZSBzcGVjaWZpYyBkZWZpbmVzIHNob3VsZCBiZSBhdm9pZGVkCiM0ODQ1OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfaGVscGVycy5oOjQ1OgorI2lmZGVmIF9fRnJl ZUJTRF9fCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0ODQ2OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfaGVscGVycy5oOjQ2OgorXkl9IGVsc2Ug aWYgKFNfSVNTT0NLKG1vZGUpKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNDg0NzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2hlbHBlcnMu aDo0NzoKK15JXklzdHJ1Y3Qgc29ja2FkZHJfdW4gc3U7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojNDg0ODogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2hlbHBlcnMuaDo0ODoKK15JXklpbnQgZmQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNDg1MDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdo X2hlbHBlcnMuaDo1MDoKK15JXklpZiAoc3RybGVuKHBhdGgpID49IHNpemVvZihzdS5zdW5fcGF0 aCkpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0ODUxOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfaGVscGVycy5oOjUxOgorXkleSV5JZXJy bm8gPSBFTkFNRVRPT0xPTkc7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNDg1MjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2hlbHBlcnMuaDo1 MjoKK15JXkleSXJldHVybiAtMTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM0ODUzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfaGVscGVycy5o OjUzOgorXkleSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0 ODU0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfaGVscGVycy5oOjU0OgorXkle SWZkID0gc29ja2V0KEFGX1VOSVgsIFNPQ0tfU1RSRUFNLCAwKTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0ODU1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFz c3Rocm91Z2hfaGVscGVycy5oOjU1OgorXkleSWlmIChmZCA+PSAwKSB7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDg1NjogRklMRTogdG9vbHMvdmlydGlvZnNk L3Bhc3N0aHJvdWdoX2hlbHBlcnMuaDo1NjoKK15JXkleSS8qJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDg1NzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2hlbHBlcnMuaDo1NzoKK15JXkleSSAqIFdlIG11c3QgYmluZCB0aGUgc29ja2V0IHRv IHRoZSB1bmRlcmx5aW5nIGZpbGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM0ODU4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfaGVscGVycy5o OjU4OgorXkleSV5JICogc3lzdGVtIHRvIGNyZWF0ZSB0aGUgc29ja2V0IGZpbGUsIGV2ZW4gdGhv dWdoJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDg1OTogRklM RTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2hlbHBlcnMuaDo1OToKK15JXkleSSAqIHdl J2xsIG5ldmVyIGxpc3RlbiBvbiB0aGlzIHNvY2tldC4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM0ODYwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91 Z2hfaGVscGVycy5oOjYwOgorXkleSV5JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNDg2MTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2hl bHBlcnMuaDo2MToKK15JXkleSXN1LnN1bl9mYW1pbHkgPSBBRl9VTklYOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ4NjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9oZWxwZXJzLmg6NjI6CiteSV5JXklzdHJuY3B5KHN1LnN1bl9wYXRoLCBw YXRoLCBzaXplb2Yoc3Uuc3VuX3BhdGgpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM0ODYzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfaGVs cGVycy5oOjYzOgorXkleSV5JcmVzID0gYmluZGF0KGRpcmZkLCBmZCwgKHN0cnVjdCBzb2NrYWRk ciopJnN1LCQKCkVSUk9SOiAiKGZvbyopIiBzaG91bGQgYmUgIihmb28gKikiCiM0ODYzOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfaGVscGVycy5oOjYzOgorICAgICAgICAgICAg ICAgICAgICAgICByZXMgPSBiaW5kYXQoZGlyZmQsIGZkLCAoc3RydWN0IHNvY2thZGRyKikmc3Us CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0ODY0OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfaGVscGVycy5oOjY0OgorXkleSV5JXklzaXplb2Yo c3UpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0ODY1OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfaGVscGVycy5oOjY1OgorXkleSV5JaWYg KHJlcyA9PSAwKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMg b2YgdGhpcyBzdGF0ZW1lbnQKIzQ4NjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3Vn aF9oZWxwZXJzLmg6NjU6CisgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgPT0gMCkKWy4u Ll0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ4NjY6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9oZWxwZXJzLmg6NjY6CiteSV5JXkleSWNsb3Nl KGZkKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0ODY3OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfaGVscGVycy5oOjY3OgorXkleSX0gZWxz ZSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDg2ODogRklM RTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2hlbHBlcnMuaDo2ODoKK15JXkleSXJlcyA9 IC0xOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ4Njk6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9oZWxwZXJzLmg6Njk6CiteSV5JfSQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ4NzE6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9oZWxwZXJzLmg6NzE6CiteSX0gZWxzZSB7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDg3MjogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2hlbHBlcnMuaDo3MjoKK15JXklyZXMgPSBta25vZGF0KGRpcmZk LCBwYXRoLCBtb2RlLCByZGV2KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM0ODczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfaGVscGVycy5o OjczOgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDg3 NTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2hlbHBlcnMuaDo3NToKK15JcmV0 dXJuIHJlczskCgp0b3RhbDogMjI3MSBlcnJvcnMsIDEzOSB3YXJuaW5ncywgNDgxNCBsaW5lcyBj aGVja2VkCgpQYXRjaCAxLzEwOCBoYXMgc3R5bGUgcHJvYmxlbXMsIHBsZWFzZSByZXZpZXcuICBJ ZiBhbnkgb2YgdGhlc2UgZXJyb3JzCmFyZSBmYWxzZSBwb3NpdGl2ZXMgcmVwb3J0IHRoZW0gdG8g dGhlIG1haW50YWluZXIsIHNlZQpDSEVDS1BBVENIIGluIE1BSU5UQUlORVJTLgoKMi8xMDggQ2hl Y2tpbmcgY29tbWl0IDYzYTVkYWZjODY3ZiAodmlydGlvZnNkOiBQdWxsIGluIGtlcm5lbCdzIGZ1 c2UuaCkKV0FSTklORzogYWRkZWQsIG1vdmVkIG9yIGRlbGV0ZWQgZmlsZShzKSwgZG9lcyBNQUlO VEFJTkVSUyBuZWVkIHVwZGF0aW5nPwojMTY6IApuZXcgZmlsZSBtb2RlIDEwMDY0NAoKdG90YWw6 IDAgZXJyb3JzLCAxIHdhcm5pbmdzLCA4OTggbGluZXMgY2hlY2tlZAoKUGF0Y2ggMi8xMDggaGFz IHN0eWxlIHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3LiAgSWYgYW55IG9mIHRoZXNlIGVycm9ycwph cmUgZmFsc2UgcG9zaXRpdmVzIHJlcG9ydCB0aGVtIHRvIHRoZSBtYWludGFpbmVyLCBzZWUKQ0hF Q0tQQVRDSCBpbiBNQUlOVEFJTkVSUy4KMy8xMDggQ2hlY2tpbmcgY29tbWl0IDQwYjY3ODIyOTM4 YiAodmlydGlvZnNkOiBBZGQgYXV4aWxpYXJ5IC5jJ3MpCldBUk5JTkc6IGFkZGVkLCBtb3ZlZCBv ciBkZWxldGVkIGZpbGUocyksIGRvZXMgTUFJTlRBSU5FUlMgbmVlZCB1cGRhdGluZz8KIzE1OiAK bmV3IGZpbGUgbW9kZSAxMDA2NDQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSAqIG9uIHN1 YnNlcXVlbnQgbGluZXMKIzIxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MjoKKy8q CisgIEZVU0U6IEZpbGVzeXN0ZW0gaW4gVXNlcnNwYWNlCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM0MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjI0 OgorXklzaXplX3QgaTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM0NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjI1OgorXklzaXplX3Qgc2l6ZSA9 IDA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDY6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoyNzoKK15JZm9yIChpID0gMDsgaSA8IGJ1ZnYtPmNv dW50OyBpKyspIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0 NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjI4OgorXkleSWlmIChidWZ2LT5idWZb aV0uc2l6ZSA9PSBTSVpFX01BWCkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9y IGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiM0NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1 ZmZlci5jOjI4OgorICAgICAgICAgICAgICAgaWYgKGJ1ZnYtPmJ1ZltpXS5zaXplID09IFNJWkVf TUFYKQpbLi4uXQorICAgICAgICAgICAgICAgZWxzZQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIu YzoyOToKK15JXkleSXNpemUgPSBTSVpFX01BWDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM0OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjMwOgor XkleSWVsc2UkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MDog RklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjMxOgorXkleSV5Jc2l6ZSArPSBidWZ2LT5i dWZbaV0uc2l6ZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1 MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjMyOgorXkl9JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9i dWZmZXIuYzozNDoKK15JcmV0dXJuIHNpemU7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzozOToKK15J cmV0dXJuIHMxIDwgczIgPyBzMSA6IHMyOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzYyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6NDM6CiteSV5J XkkgICAgICBjb25zdCBzdHJ1Y3QgZnVzZV9idWYgKnNyYywgc2l6ZV90IHNyY19vZmYsJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjM6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9idWZmZXIuYzo0NDoKK15JXkleSSAgICAgIHNpemVfdCBsZW4pJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9idWZmZXIuYzo0NjoKK15Jc3NpemVfdCByZXMgPSAwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6 NDc6CiteSXNpemVfdCBjb3BpZWQgPSAwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzY4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6NDk6CiteSXdo aWxlIChsZW4pIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2 OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjUwOgorXkleSWlmIChkc3QtPmZsYWdz ICYgRlVTRV9CVUZfRkRfU0VFSykgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzcwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6NTE6CiteSV5JXkly ZXMgPSBwd3JpdGUoZHN0LT5mZCwgKGNoYXIgKilzcmMtPm1lbSArIHNyY19vZmYsIGxlbiwkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3MTogRklMRTogdG9vbHMv dmlydGlvZnNkL2J1ZmZlci5jOjUyOgorXkleSV5JXkkgICAgIGRzdC0+cG9zICsgZHN0X29mZik7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzI6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzo1MzoKK15JXkl9IGVsc2UgeyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVm ZmVyLmM6NTQ6CiteSV5JXklyZXMgPSB3cml0ZShkc3QtPmZkLCAoY2hhciAqKXNyYy0+bWVtICsg c3JjX29mZiwgbGVuKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM3NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjU1OgorXkleSX0kCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2J1ZmZlci5jOjU2OgorXkleSWlmIChyZXMgPT0gLTEpIHskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZl ci5jOjU3OgorXkleSV5JaWYgKCFjb3BpZWQpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNz YXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojNzY6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9idWZmZXIuYzo1NzoKKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjb3BpZWQpClsu Li5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NzogRklMRTog dG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjU4OgorXkleSV5JXklyZXR1cm4gLWVycm5vOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc4OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvYnVmZmVyLmM6NTk6CiteSV5JXklicmVhazskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5j OjYwOgorXkleSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4 MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjYxOgorXkleSWlmIChyZXMgPT0gMCkk CgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3Rh dGVtZW50CiM4MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjYxOgorICAgICAgICAg ICAgICAgaWYgKHJlcyA9PSAwKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzo2MjoKK15JXkle SWJyZWFrOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgzOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6NjQ6CiteSV5JY29waWVkICs9IHJlczskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4NDogRklMRTogdG9vbHMv dmlydGlvZnNkL2J1ZmZlci5jOjY1OgorXkleSWlmICghKGRzdC0+ZmxhZ3MgJiBGVVNFX0JVRl9G RF9SRVRSWSkpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBv ZiB0aGlzIHN0YXRlbWVudAojODQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzo2NToK KyAgICAgICAgICAgICAgIGlmICghKGRzdC0+ZmxhZ3MgJiBGVVNFX0JVRl9GRF9SRVRSWSkpClsu Li5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4NTogRklMRTog dG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjY2OgorXkleSV5JYnJlYWs7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9i dWZmZXIuYzo2ODoKK15JXklzcmNfb2ZmICs9IHJlczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM4ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjY5 OgorXkleSWRzdF9vZmYgKz0gcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzg5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6NzA6CiteSV5JbGVu IC09IHJlczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5MDog RklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjcxOgorXkl9JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZm ZXIuYzo3MzoKK15JcmV0dXJuIGNvcGllZDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM5NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjc3OgorXkle SV5JICAgICBjb25zdCBzdHJ1Y3QgZnVzZV9idWYgKnNyYywgc2l6ZV90IHNyY19vZmYsJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTc6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9idWZmZXIuYzo3ODoKK15JXkleSSAgICAgc2l6ZV90IGxlbikkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5OTogRklMRTogdG9vbHMvdmlydGlvZnNk L2J1ZmZlci5jOjgwOgorXklzc2l6ZV90IHJlcyA9IDA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTAwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6 ODE6CiteSXNpemVfdCBjb3BpZWQgPSAwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzEwMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjgzOgorXkl3 aGlsZSAobGVuKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTAzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6ODQ6CiteSV5JaWYgKHNyYy0+Zmxh Z3MgJiBGVVNFX0JVRl9GRF9TRUVLKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTA0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6ODU6CiteSV5J XklyZXMgPSBwcmVhZChzcmMtPmZkLCAoY2hhciAqKWRzdC0+bWVtICsgZHN0X29mZiwgbGVuLCQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNTogRklMRTogdG9v bHMvdmlydGlvZnNkL2J1ZmZlci5jOjg2OgorXkleSV5JXkkgICAgIHNyYy0+cG9zICsgc3JjX29m Zik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA2OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6ODc6CiteSV5JfSBlbHNlIHskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9idWZmZXIuYzo4ODoKK15JXkleSXJlcyA9IHJlYWQoc3JjLT5mZCwgKGNoYXIgKilkc3QtPm1l bSArIGRzdF9vZmYsIGxlbik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMTA4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6ODk6CiteSV5JfSQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwOTogRklMRTogdG9vbHMv dmlydGlvZnNkL2J1ZmZlci5jOjkwOgorXkleSWlmIChyZXMgPT0gLTEpIHskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9idWZmZXIuYzo5MToKK15JXkleSWlmICghY29waWVkKSQKCkVSUk9SOiBicmFjZXMge30gYXJl IG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzExMDogRklMRTogdG9v bHMvdmlydGlvZnNkL2J1ZmZlci5jOjkxOgorICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNv cGllZCkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEx MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjkyOgorXkleSV5JXklyZXR1cm4gLWVy cm5vOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExMjogRklM RTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjkzOgorXkleSV5JYnJlYWs7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTEzOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvYnVmZmVyLmM6OTQ6CiteSV5JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzExNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjk1OgorXkleSWlm IChyZXMgPT0gMCkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1z IG9mIHRoaXMgc3RhdGVtZW50CiMxMTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzo5 NToKKyAgICAgICAgICAgICAgIGlmIChyZXMgPT0gMCkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZl ci5jOjk2OgorXkleSV5JYnJlYWs7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMTE3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6OTg6CiteSV5JY29w aWVkICs9IHJlczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx MTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzo5OToKK15JXklpZiAoIShzcmMtPmZs YWdzICYgRlVTRV9CVUZfRkRfUkVUUlkpKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2Fy eSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzExODogRklMRTogdG9vbHMvdmlydGlv ZnNkL2J1ZmZlci5jOjk5OgorICAgICAgICAgICAgICAgaWYgKCEoc3JjLT5mbGFncyAmIEZVU0Vf QlVGX0ZEX1JFVFJZKSkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzExOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjEwMDoKK15JXkleSWJy ZWFrOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMTogRklM RTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjEwMjoKK15JXklkc3Rfb2ZmICs9IHJlczskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjI6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9idWZmZXIuYzoxMDM6CiteSV5Jc3JjX29mZiArPSByZXM7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIzOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvYnVmZmVyLmM6MTA0OgorXkleSWxlbiAtPSByZXM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTI0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6 MTA1OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTI2 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTA3OgorXklyZXR1cm4gY29waWVkOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzMDogRklMRTogdG9v bHMvdmlydGlvZnNkL2J1ZmZlci5jOjExMToKK15JXkleSV5JIGNvbnN0IHN0cnVjdCBmdXNlX2J1 ZiAqc3JjLCBzaXplX3Qgc3JjX29mZiwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMzE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoxMTI6CiteSV5J XkleSSBzaXplX3QgbGVuKSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzEzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjExNDoKK15JY2hhciBidWZb NDA5Nl07JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM0OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTE1OgorXklzdHJ1Y3QgZnVzZV9idWYgdG1w ID0geyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzNTogRklM RTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjExNjoKK15JXkkuc2l6ZSA9IHNpemVvZihidWYp LCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzNjogRklMRTog dG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjExNzoKK15JXkkuZmxhZ3MgPSAwLCQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzNzogRklMRTogdG9vbHMvdmlydGlv ZnNkL2J1ZmZlci5jOjExODoKK15JfTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoxMTk6CiteSXNz aXplX3QgcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEz OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjEyMDoKK15Jc2l6ZV90IGNvcGllZCA9 IDA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQxOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTIyOgorXkl0bXAubWVtID0gYnVmOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0MzogRklMRTogdG9vbHMvdmly dGlvZnNkL2J1ZmZlci5jOjEyNDoKK15Jd2hpbGUgKGxlbikgeyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZl ci5jOjEyNToKK15JXklzaXplX3QgdGhpc19sZW4gPSBtaW5fc2l6ZSh0bXAuc2l6ZSwgbGVuKTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNDU6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoxMjY6CiteSV5Jc2l6ZV90IHJlYWRfbGVuOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0NzogRklMRTogdG9vbHMvdmly dGlvZnNkL2J1ZmZlci5jOjEyODoKK15JXklyZXMgPSBmdXNlX2J1Zl9yZWFkKCZ0bXAsIDAsIHNy Yywgc3JjX29mZiwgdGhpc19sZW4pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzE0ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjEyOToKK15JXklp ZiAocmVzIDwgMCkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzE0OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjEzMDoKK15JXkleSWlmICghY29w aWVkKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhp cyBzdGF0ZW1lbnQKIzE0OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjEzMDoKKyAg ICAgICAgICAgICAgICAgICAgICAgaWYgKCFjb3BpZWQpClsuLi5dCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZm ZXIuYzoxMzE6CiteSV5JXkleSXJldHVybiByZXM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTUxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTMy OgorXkleSV5JYnJlYWs7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTUyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTMzOgorXkleSX0kCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTM6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9idWZmZXIuYzoxMzQ6CiteSV5JaWYgKHJlcyA9PSAwKSQKCkVSUk9SOiBicmFjZXMg e30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzE1MzogRklM RTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjEzNDoKKyAgICAgICAgICAgICAgIGlmIChyZXMg PT0gMCkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE1 NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjEzNToKK15JXkleSWJyZWFrOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE1NjogRklMRTogdG9vbHMv dmlydGlvZnNkL2J1ZmZlci5jOjEzNzoKK15JXklyZWFkX2xlbiA9IHJlczskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9idWZmZXIuYzoxMzg6CiteSV5JcmVzID0gZnVzZV9idWZfd3JpdGUoZHN0LCBkc3Rfb2ZmLCAm dG1wLCAwLCByZWFkX2xlbik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMTU4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTM5OgorXkleSWlmIChy ZXMgPCAwKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTU5 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTQwOgorXkleSV5JaWYgKCFjb3BpZWQp JAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0 YXRlbWVudAojMTU5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTQwOgorICAgICAg ICAgICAgICAgICAgICAgICBpZiAoIWNvcGllZCkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5j OjE0MToKK15JXkleSV5JcmV0dXJuIHJlczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxNjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoxNDI6Cite SV5JXklicmVhazskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx NjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoxNDM6CiteSV5JfSQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2MzogRklMRTogdG9vbHMvdmlydGlv ZnNkL2J1ZmZlci5jOjE0NDoKK15JXklpZiAocmVzID09IDApJAoKRVJST1I6IGJyYWNlcyB7fSBh cmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMTYzOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTQ0OgorICAgICAgICAgICAgICAgaWYgKHJlcyA9PSAw KQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY0OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTQ1OgorXkleSV5JYnJlYWs7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY2OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvYnVmZmVyLmM6MTQ3OgorXkleSWNvcGllZCArPSByZXM7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVm ZmVyLmM6MTQ5OgorXkleSWlmIChyZXMgPCB0aGlzX2xlbikkCgpFUlJPUjogYnJhY2VzIHt9IGFy ZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMxNjg6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoxNDk6CisgICAgICAgICAgICAgICBpZiAocmVzIDwgdGhp c19sZW4pClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx Njk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoxNTA6CiteSV5JXklicmVhazskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzE6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9idWZmZXIuYzoxNTI6CiteSV5JZHN0X29mZiArPSByZXM7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTcyOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvYnVmZmVyLmM6MTUzOgorXkleSXNyY19vZmYgKz0gcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZl ci5jOjE1NDoKK15JXklsZW4gLT0gcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzE3NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjE1NToKK15J fSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3NjogRklMRTog dG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjE1NzoKK15JcmV0dXJuIGNvcGllZDskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxODE6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9idWZmZXIuYzoxNjI6CiteSV5JXkkgICAgICAgY29uc3Qgc3RydWN0IGZ1c2VfYnVmICpz cmMsIHNpemVfdCBzcmNfb2ZmLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzE4MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjE2MzoKK15JXkleSSAg ICAgICBzaXplX3QgbGVuLCBlbnVtIGZ1c2VfYnVmX2NvcHlfZmxhZ3MgZmxhZ3MpJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTg0OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvYnVmZmVyLmM6MTY1OgorXklpbnQgc3BsaWNlX2ZsYWdzID0gMDskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxODU6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9idWZmZXIuYzoxNjY6CiteSW9mZl90ICpzcmNwb3MgPSBOVUxMOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1 ZmZlci5jOjE2NzoKK15Jb2ZmX3QgKmRzdHBvcyA9IE5VTEw7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTg3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVy LmM6MTY4OgorXklvZmZfdCBzcmNwb3NfdmFsOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzE4ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjE2OToK K15Jb2ZmX3QgZHN0cG9zX3ZhbDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoxNzA6CiteSXNzaXpl X3QgcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5MDog RklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjE3MToKK15Jc2l6ZV90IGNvcGllZCA9IDA7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTkyOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTczOgorXklpZiAoZmxhZ3MgJiBGVVNFX0JVRl9TUExJ Q0VfTU9WRSkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9m IHRoaXMgc3RhdGVtZW50CiMxOTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoxNzM6 CisgICAgICAgaWYgKGZsYWdzICYgRlVTRV9CVUZfU1BMSUNFX01PVkUpClsuLi5dCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTM6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9idWZmZXIuYzoxNzQ6CiteSV5Jc3BsaWNlX2ZsYWdzIHw9IFNQTElDRV9GX01PVkU7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk0OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvYnVmZmVyLmM6MTc1OgorXklpZiAoZmxhZ3MgJiBGVVNFX0JVRl9TUExJQ0Vf Tk9OQkxPQ0spJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBv ZiB0aGlzIHN0YXRlbWVudAojMTk0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTc1 OgorICAgICAgIGlmIChmbGFncyAmIEZVU0VfQlVGX1NQTElDRV9OT05CTE9DSykKWy4uLl0KCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5NTogRklMRTogdG9vbHMv dmlydGlvZnNkL2J1ZmZlci5jOjE3NjoKK15JXklzcGxpY2VfZmxhZ3MgfD0gU1BMSUNFX0ZfTk9O QkxPQ0s7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk3OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTc4OgorXklpZiAoc3JjLT5mbGFncyAmIEZV U0VfQlVGX0ZEX1NFRUspIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxOTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoxNzk6CiteSV5Jc3JjcG9z X3ZhbCA9IHNyYy0+cG9zICsgc3JjX29mZjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxOTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoxODA6Cite SV5Jc3JjcG9zID0gJnNyY3Bvc192YWw7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjAwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTgxOgorXkl9 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjAxOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTgyOgorXklpZiAoZHN0LT5mbGFncyAmIEZVU0VfQlVG X0ZEX1NFRUspIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy MDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoxODM6CiteSV5JZHN0cG9zX3ZhbCA9 IGRzdC0+cG9zICsgZHN0X29mZjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyMDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoxODQ6CiteSV5JZHN0 cG9zID0gJmRzdHBvc192YWw7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjA0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTg1OgorXkl9JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjA2OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvYnVmZmVyLmM6MTg3OgorXkl3aGlsZSAobGVuKSB7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjA3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVm ZmVyLmM6MTg4OgorXkleSXJlcyA9IHNwbGljZShzcmMtPmZkLCBzcmNwb3MsIGRzdC0+ZmQsIGRz dHBvcywgbGVuLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIw ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjE4OToKK15JXkleSSAgICAgc3BsaWNl X2ZsYWdzKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDk6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoxOTA6CiteSV5JaWYgKHJlcyA9PSAtMSkg eyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxMDogRklMRTog dG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjE5MToKK15JXkleSWlmIChjb3BpZWQpJAoKRVJST1I6 IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAoj MjEwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTkxOgorICAgICAgICAgICAgICAg ICAgICAgICBpZiAoY29waWVkKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjExOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTkyOgorXkle SV5JXklicmVhazskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy MTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoxOTQ6CiteSV5JXklpZiAoZXJybm8g IT0gRUlOVkFMIHx8IChmbGFncyAmIEZVU0VfQlVGX0ZPUkNFX1NQTElDRSkpJAoKRVJST1I6IGJy YWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMjEz OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTk0OgorICAgICAgICAgICAgICAgICAg ICAgICBpZiAoZXJybm8gIT0gRUlOVkFMIHx8IChmbGFncyAmIEZVU0VfQlVGX0ZPUkNFX1NQTElD RSkpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTQ6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoxOTU6CiteSV5JXkleSXJldHVybiAtZXJy bm87JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE2OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTk3OgorXkleSV5JLyogTWF5YmUgc3BsaWNlIGlz IG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgY29tYmluYXRpb24gKi8kCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZm ZXIuYzoxOTg6CiteSV5JXklyZXR1cm4gZnVzZV9idWZfZmRfdG9fZmQoZHN0LCBkc3Rfb2ZmLCBz cmMsIHNyY19vZmYsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MjE4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTk5OgorXkleSV5JXkleSV5JIGxl bik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE5OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MjAwOgorXkleSX0kCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZm ZXIuYzoyMDE6CiteSV5JaWYgKHJlcyA9PSAwKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vz c2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzIyMDogRklMRTogdG9vbHMvdmly dGlvZnNkL2J1ZmZlci5jOjIwMToKKyAgICAgICAgICAgICAgIGlmIChyZXMgPT0gMCkKWy4uLl0K CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyMTogRklMRTogdG9v bHMvdmlydGlvZnNkL2J1ZmZlci5jOjIwMjoKK15JXkleSWJyZWFrOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1 ZmZlci5jOjIwNDoKK15JXkljb3BpZWQgKz0gcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzIyNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjIw NToKK15JXklpZiAoIShzcmMtPmZsYWdzICYgRlVTRV9CVUZfRkRfUkVUUlkpICYmJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjI1OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvYnVmZmVyLmM6MjA2OgorXkleSSAgICAhKGRzdC0+ZmxhZ3MgJiBGVVNFX0JVRl9GRF9S RVRSWSkpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMjY6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoyMDc6CiteSV5JXklicmVhazskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMjc6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9idWZmZXIuYzoyMDg6CiteSV5JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzIyOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjIxMDoK K15JXklsZW4gLT0gcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzIzMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjIxMToKK15JfSQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzMjogRklMRTogdG9vbHMvdmly dGlvZnNkL2J1ZmZlci5jOjIxMzoKK15JcmV0dXJuIGNvcGllZDskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZm ZXIuYzoyMTc6CiteSV5JXkkgICAgICAgY29uc3Qgc3RydWN0IGZ1c2VfYnVmICpzcmMsIHNpemVf dCBzcmNfb2ZmLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIz NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjIxODoKK15JXkleSSAgICAgICBzaXpl X3QgbGVuLCBlbnVtIGZ1c2VfYnVmX2NvcHlfZmxhZ3MgZmxhZ3MpJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjM5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVm ZmVyLmM6MjIwOgorXkkodm9pZCkgZmxhZ3M7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjQxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MjIyOgor XklyZXR1cm4gZnVzZV9idWZfZmRfdG9fZmQoZHN0LCBkc3Rfb2ZmLCBzcmMsIHNyY19vZmYsIGxl bik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQ3OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MjI4OgorXkleSV5JXkkgY29uc3Qgc3RydWN0IGZ1 c2VfYnVmICpzcmMsIHNpemVfdCBzcmNfb2ZmLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI0ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjIyOToK K15JXkleSV5JIHNpemVfdCBsZW4sIGVudW0gZnVzZV9idWZfY29weV9mbGFncyBmbGFncykkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTA6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9idWZmZXIuYzoyMzE6CiteSWludCBzcmNfaXNfZmQgPSBzcmMtPmZsYWdzICYg RlVTRV9CVUZfSVNfRkQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjUxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MjMyOgorXklpbnQgZHN0X2lz X2ZkID0gZHN0LT5mbGFncyAmIEZVU0VfQlVGX0lTX0ZEOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5j OjIzNDoKK15JaWYgKCFzcmNfaXNfZmQgJiYgIWRzdF9pc19mZCkgeyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1 ZmZlci5jOjIzNToKK15JXkljaGFyICpkc3RtZW0gPSAoY2hhciAqKWRzdC0+bWVtICsgZHN0X29m ZjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTU6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoyMzY6CiteSV5JY2hhciAqc3JjbWVtID0gKGNoYXIg KilzcmMtPm1lbSArIHNyY19vZmY7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjU3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MjM4OgorXkleSWlm IChkc3RtZW0gIT0gc3JjbWVtKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjU4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MjM5OgorXkleSV5J aWYgKGRzdG1lbSArIGxlbiA8PSBzcmNtZW0gfHwgc3JjbWVtICsgbGVuIDw9IGRzdG1lbSkkCgpF UlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVt ZW50CiMyNTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoyMzk6CisgICAgICAgICAg ICAgICAgICAgICAgIGlmIChkc3RtZW0gKyBsZW4gPD0gc3JjbWVtIHx8IHNyY21lbSArIGxlbiA8 PSBkc3RtZW0pClsuLi5dCisgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKWy4uLl0KCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1OTogRklMRTogdG9vbHMvdmly dGlvZnNkL2J1ZmZlci5jOjI0MDoKK15JXkleSV5JbWVtY3B5KGRzdG1lbSwgc3JjbWVtLCBsZW4p OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2MDogRklMRTog dG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjI0MToKK15JXkleSWVsc2UkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9i dWZmZXIuYzoyNDI6CiteSV5JXkleSW1lbW1vdmUoZHN0bWVtLCBzcmNtZW0sIGxlbik7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjYyOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvYnVmZmVyLmM6MjQzOgorXkleSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyNjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoyNDU6 CiteSV5JcmV0dXJuIGxlbjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyNjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoyNDY6CiteSX0gZWxzZSBp ZiAoIXNyY19pc19mZCkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI2NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjI0NzoKK15JXklyZXR1cm4g ZnVzZV9idWZfd3JpdGUoZHN0LCBkc3Rfb2ZmLCBzcmMsIHNyY19vZmYsIGxlbik7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY3OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvYnVmZmVyLmM6MjQ4OgorXkl9IGVsc2UgaWYgKCFkc3RfaXNfZmQpIHskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjg6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9idWZmZXIuYzoyNDk6CiteSV5JcmV0dXJuIGZ1c2VfYnVmX3JlYWQoZHN0LCBkc3Rfb2Zm LCBzcmMsIHNyY19vZmYsIGxlbik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjY5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MjUwOgorXkl9IGVs c2UgaWYgKGZsYWdzICYgRlVTRV9CVUZfTk9fU1BMSUNFKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjcwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVy LmM6MjUxOgorXkleSXJldHVybiBmdXNlX2J1Zl9mZF90b19mZChkc3QsIGRzdF9vZmYsIHNyYywg c3JjX29mZiwgbGVuKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyNzE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoyNTI6CiteSX0gZWxzZSB7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjcyOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvYnVmZmVyLmM6MjUzOgorXkleSXJldHVybiBmdXNlX2J1Zl9zcGxpY2UoZHN0 LCBkc3Rfb2ZmLCBzcmMsIHNyY19vZmYsIGxlbiwgZmxhZ3MpOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZl ci5jOjI1NDoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzI3ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjI1OToKK15JaWYgKGJ1ZnYtPmlk eCA8IGJ1ZnYtPmNvdW50KSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxs IGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzI3ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZl ci5jOjI1OToKKyAgICAgICBpZiAoYnVmdi0+aWR4IDwgYnVmdi0+Y291bnQpClsuLi5dCisgICAg ICAgZWxzZQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj Mjc5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MjYwOgorXkleSXJldHVybiAmYnVm di0+YnVmW2J1ZnYtPmlkeF07JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjgwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MjYxOgorXkllbHNlJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjgxOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvYnVmZmVyLmM6MjYyOgorXkleSXJldHVybiBOVUxMOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4NjogRklMRTogdG9vbHMvdmlydGlvZnNk L2J1ZmZlci5jOjI2NzoKK15JY29uc3Qgc3RydWN0IGZ1c2VfYnVmICpidWYgPSBmdXNlX2J1ZnZl Y19jdXJyZW50KGJ1ZnYpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI4ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjI2OToKK15JYnVmdi0+b2Zm ICs9IGxlbjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODk6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoyNzA6CiteSWFzc2VydChidWZ2LT5vZmYg PD0gYnVmLT5zaXplKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyOTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoyNzE6CiteSWlmIChidWZ2LT5v ZmYgPT0gYnVmLT5zaXplKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjkxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MjcyOgorXkleSWFzc2Vy dChidWZ2LT5pZHggPCBidWZ2LT5jb3VudCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjkyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MjczOgor XkleSWJ1ZnYtPmlkeCsrOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI5MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjI3NDoKK15JXklpZiAoYnVm di0+aWR4ID09IGJ1ZnYtPmNvdW50KSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBm b3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzI5MzogRklMRTogdG9vbHMvdmlydGlvZnNk L2J1ZmZlci5jOjI3NDoKKyAgICAgICAgICAgICAgIGlmIChidWZ2LT5pZHggPT0gYnVmdi0+Y291 bnQpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTQ6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoyNzU6CiteSV5JXklyZXR1cm4gMDskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTU6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9idWZmZXIuYzoyNzY6CiteSV5JYnVmdi0+b2ZmID0gMDskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9idWZmZXIuYzoyNzc6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyOTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoyNzg6CiteSXJldHVy biAxOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwMTogRklM RTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjI4MjoKK15JXkkgICAgICBlbnVtIGZ1c2VfYnVm X2NvcHlfZmxhZ3MgZmxhZ3MpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMzAzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6Mjg0OgorXklzaXplX3Qg Y29waWVkID0gMDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz MDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoyODY6CiteSWlmIChkc3R2ID09IHNy Y3YpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlz IHN0YXRlbWVudAojMzA1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6Mjg2OgorICAg ICAgIGlmIChkc3R2ID09IHNyY3YpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMzMDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoyODc6Cite SV5JcmV0dXJuIGZ1c2VfYnVmX3NpemUoZHN0dik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMzA4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6Mjg5 OgorXklmb3IgKDs7KSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMzA5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MjkwOgorXkleSWNvbnN0IHN0 cnVjdCBmdXNlX2J1ZiAqc3JjID0gZnVzZV9idWZ2ZWNfY3VycmVudChzcmN2KTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTA6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9idWZmZXIuYzoyOTE6CiteSV5JY29uc3Qgc3RydWN0IGZ1c2VfYnVmICpkc3QgPSBmdXNl X2J1ZnZlY19jdXJyZW50KGRzdHYpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzMxMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjI5MjoKK15JXklz aXplX3Qgc3JjX2xlbjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzMTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzoyOTM6CiteSV5Jc2l6ZV90IGRz dF9sZW47JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzEzOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6Mjk0OgorXkleSXNpemVfdCBsZW47JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzE0OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvYnVmZmVyLmM6Mjk1OgorXkleSXNzaXplX3QgcmVzOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2J1 ZmZlci5jOjI5NzoKK15JXklpZiAoc3JjID09IE5VTEwgfHwgZHN0ID09IE5VTEwpJAoKRVJST1I6 IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAoj MzE2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6Mjk3OgorICAgICAgICAgICAgICAg aWYgKHNyYyA9PSBOVUxMIHx8IGRzdCA9PSBOVUxMKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzE3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVy LmM6Mjk4OgorXkleSV5JYnJlYWs7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMzE5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MzAwOgorXkleSXNy Y19sZW4gPSBzcmMtPnNpemUgLSBzcmN2LT5vZmY7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMzIwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MzAx OgorXkleSWRzdF9sZW4gPSBkc3QtPnNpemUgLSBkc3R2LT5vZmY7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzIxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVm ZmVyLmM6MzAyOgorXkleSWxlbiA9IG1pbl9zaXplKHNyY19sZW4sIGRzdF9sZW4pOyQKCldBUk5J Tkc6IGxpbmUgb3ZlciA4MCBjaGFyYWN0ZXJzCiMzMjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9i dWZmZXIuYzozMDQ6CisgICAgICAgICAgICAgICByZXMgPSBmdXNlX2J1Zl9jb3B5X29uZShkc3Qs IGRzdHYtPm9mZiwgc3JjLCBzcmN2LT5vZmYsIGxlbiwgZmxhZ3MpOwoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzIzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVm ZmVyLmM6MzA0OgorXkleSXJlcyA9IGZ1c2VfYnVmX2NvcHlfb25lKGRzdCwgZHN0di0+b2ZmLCBz cmMsIHNyY3YtPm9mZiwgbGVuLCBmbGFncyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMzI0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MzA1Ogor XkleSWlmIChyZXMgPCAwKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMzI1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MzA2OgorXkleSV5JaWYg KCFjb3BpZWQpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBv ZiB0aGlzIHN0YXRlbWVudAojMzI1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MzA2 OgorICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNvcGllZCkKWy4uLl0KCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyNjogRklMRTogdG9vbHMvdmlydGlvZnNk L2J1ZmZlci5jOjMwNzoKK15JXkleSV5JcmV0dXJuIHJlczskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIu YzozMDg6CiteSV5JXklicmVhazskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzMjg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzozMDk6CiteSV5JfSQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyOTogRklMRTogdG9v bHMvdmlydGlvZnNkL2J1ZmZlci5jOjMxMDoKK15JXkljb3BpZWQgKz0gcmVzOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzMTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2J1ZmZlci5jOjMxMjoKK15JXklpZiAoIWZ1c2VfYnVmdmVjX2FkdmFuY2Uoc3JjdiwgcmVz KSB8fCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzMjogRklM RTogdG9vbHMvdmlydGlvZnNkL2J1ZmZlci5jOjMxMzoKK15JXkkgICAgIWZ1c2VfYnVmdmVjX2Fk dmFuY2UoZHN0diwgcmVzKSkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMzMzM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzozMTQ6CiteSV5JXklicmVh azskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzU6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzozMTY6CiteSV5JaWYgKHJlcyA8IGxlbikkCgpFUlJP UjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50 CiMzMzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9idWZmZXIuYzozMTY6CisgICAgICAgICAgICAg ICBpZiAocmVzIDwgbGVuKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMzM2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MzE3OgorXkleSV5J YnJlYWs7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzM3OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MzE4OgorXkl9JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzM5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvYnVm ZmVyLmM6MzIwOgorXklyZXR1cm4gY29waWVkOyQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVz ZSAqIG9uIHN1YnNlcXVlbnQgbGluZXMKIzM0ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG9nLmM6MjoKKy8qCisgIEZVU0U6IEZpbGVzeXN0ZW0gaW4gVXNlcnNwYWNlCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvZy5jOjE3OgorXkleSV9fYXR0cmlidXRlX18oKCB1bnVzZWQgKSkgZW51bSBmdXNl X2xvZ19sZXZlbCBsZXZlbCwkCgpFUlJPUjogc3BhY2UgcHJvaGliaXRlZCBhZnRlciB0aGF0IG9w ZW4gcGFyZW50aGVzaXMgJygnCiMzNjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvZy5j OjE3OgorICAgICAgICAgICAgICAgX19hdHRyaWJ1dGVfXygoIHVudXNlZCApKSBlbnVtIGZ1c2Vf bG9nX2xldmVsIGxldmVsLAoKRVJST1I6IHNwYWNlIHByb2hpYml0ZWQgYmVmb3JlIHRoYXQgY2xv c2UgcGFyZW50aGVzaXMgJyknCiMzNjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvZy5j OjE3OgorICAgICAgICAgICAgICAgX19hdHRyaWJ1dGVfXygoIHVudXNlZCApKSBlbnVtIGZ1c2Vf bG9nX2xldmVsIGxldmVsLAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMzY0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb2cuYzoxODoKK15JXkljb25zdCBj aGFyICpmbXQsIHZhX2xpc3QgYXApJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMzY2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb2cuYzoyMDoKK15JdmZw cmludGYoc3RkZXJyLCBmbXQsIGFwKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMzNzM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvZy5jOjI3OgorXklp ZiAoIWZ1bmMpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBv ZiB0aGlzIHN0YXRlbWVudAojMzczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb2cuYzoy NzoKKyAgICAgICBpZiAoIWZ1bmMpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMzNzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvZy5jOjI4Ogor XkleSWZ1bmMgPSBkZWZhdWx0X2xvZ19mdW5jOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzM3NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG9nLmM6MzA6 CiteSWxvZ19mdW5jID0gZnVuYzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvZy5jOjM1OgorXkl2YV9s aXN0IGFwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM4Mzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG9nLmM6Mzc6CiteSXZhX3N0YXJ0KGFwLCBmbXQp OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM4NDogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG9nLmM6Mzg6CiteSWxvZ19mdW5jKGxldmVsLCBmbXQsIGFw KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzODU6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvZy5jOjM5OgorXkl2YV9lbmQoYXApOyQKCldBUk5JTkc6 IEJsb2NrIGNvbW1lbnRzIHVzZSAqIG9uIHN1YnNlcXVlbnQgbGluZXMKIzM5NDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MjoKKy8qCisgIEZVU0U6IEZpbGVzeXN0ZW0gaW4gVXNl cnNwYWNlCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0MTU6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjIzOgorXkl2b2lkICpkYXRhOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQxNjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2Vfb3B0LmM6MjQ6CiteSWNvbnN0IHN0cnVjdCBmdXNlX29wdCAqb3B0OyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQxNzogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2Vfb3B0LmM6MjU6CiteSWZ1c2Vfb3B0X3Byb2NfdCBwcm9jOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQxODogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2Vfb3B0LmM6MjY6CiteSWludCBhcmdjdHI7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDE5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9v cHQuYzoyNzoKK15JaW50IGFyZ2M7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNDIwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoyODoKK15JY2hh ciAqKmFyZ3Y7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDIx OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoyOToKK15Jc3RydWN0IGZ1c2VfYXJn cyBvdXRhcmdzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQy MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzA6CiteSWNoYXIgKm9wdHM7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDIzOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9vcHQuYzozMToKK15JaW50IG5vbm9wdDskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0Mjg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX29wdC5jOjM2OgorXklpZiAoYXJncykgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzQyOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6Mzc6 CiteSV5JaWYgKGFyZ3MtPmFyZ3YgJiYgYXJncy0+YWxsb2NhdGVkKSB7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDMwOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9vcHQuYzozODoKK15JXkleSWludCBpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzQzMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6Mzk6 CiteSV5JXklmb3IgKGkgPSAwOyBpIDwgYXJncy0+YXJnYzsgaSsrKSQKCkVSUk9SOiBicmFjZXMg e30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzQzMTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6Mzk6CisgICAgICAgICAgICAgICAgICAgICAg IGZvciAoaSA9IDA7IGkgPCBhcmdzLT5hcmdjOyBpKyspClsuLi5dCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0MzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X29wdC5jOjQwOgorXkleSV5JXklmcmVlKGFyZ3MtPmFyZ3ZbaV0pOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2Vfb3B0LmM6NDE6CiteSV5JXklmcmVlKGFyZ3MtPmFyZ3YpOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQzNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf b3B0LmM6NDI6CiteSV5JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzQzNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6NDM6CiteSV5JYXJncy0+ YXJnYyA9IDA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDM2 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzo0NDoKK15JXklhcmdzLT5hcmd2ID0g TlVMTDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0Mzc6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjQ1OgorXkleSWFyZ3MtPmFsbG9jYXRlZCA9 IDA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDM4OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzo0NjoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ0MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf b3B0LmM6NTE6CiteSWZ1c2VfbG9nKEZVU0VfTE9HX0VSUiwgImZ1c2U6IG1lbW9yeSBhbGxvY2F0 aW9uIGZhaWxlZFxuIik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojNDQ0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzo1MjoKK15JcmV0dXJuIC0x OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ0OTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6NTc6CiteSWNoYXIgKipuZXdhcmd2OyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ1MDogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2Vfb3B0LmM6NTg6CiteSWNoYXIgKm5ld2FyZzskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X29wdC5jOjYwOgorXklhc3NlcnQoIWFyZ3MtPmFyZ3YgfHwgYXJncy0+YWxsb2NhdGVkKTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NTQ6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjYyOgorXkluZXdhcmcgPSBzdHJkdXAoYXJnKTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NTU6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX29wdC5jOjYzOgorXklpZiAoIW5ld2FyZykkCgpFUlJPUjogYnJhY2VzIHt9 IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiM0NTU6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjYzOgorICAgICAgIGlmICghbmV3YXJnKQpbLi4u XQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDU2OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzo2NDoKK15JXklyZXR1cm4gYWxsb2NfZmFpbGVkKCk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDU4OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzo2NjoKK15JbmV3YXJndiA9IHJlYWxsb2MoYXJncy0+ YXJndiwgKGFyZ3MtPmFyZ2MgKyAyKSAqIHNpemVvZihjaGFyICopKTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX29wdC5jOjY3OgorXklpZiAoIW5ld2FyZ3YpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM0NjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5j OjY4OgorXkleSWZyZWUobmV3YXJnKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM0NjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjY5OgorXkle SXJldHVybiBhbGxvY19mYWlsZWQoKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM0NjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjcwOgorXkl9 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDY0OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzo3MjoKK15JYXJncy0+YXJndiA9IG5ld2FyZ3Y7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDY1OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9vcHQuYzo3MzoKK15JYXJncy0+YWxsb2NhdGVkID0gMTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NjY6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX29wdC5jOjc0OgorXklhcmdzLT5hcmd2W2FyZ3MtPmFyZ2MrK10gPSBuZXdh cmc7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDY3OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzo3NToKK15JYXJncy0+YXJndlthcmdzLT5hcmdj XSA9IE5VTEw7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDY4 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzo3NjoKK15JcmV0dXJuIDA7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDcyOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9vcHQuYzo4MDoKK15JXkleSV5JICAgICAgY29uc3QgY2hhciAqYXJnKSQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ3NDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6ODI6CiteSWFzc2VydChwb3MgPD0gYXJncy0+YXJnYyk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDc1OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzo4MzoKK15JaWYgKGZ1c2Vfb3B0X2FkZF9hcmcoYXJn cywgYXJnKSA9PSAtMSkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBh cm1zIG9mIHRoaXMgc3RhdGVtZW50CiM0NzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29w dC5jOjgzOgorICAgICAgIGlmIChmdXNlX29wdF9hZGRfYXJnKGFyZ3MsIGFyZykgPT0gLTEpClsu Li5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NzY6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjg0OgorXkleSXJldHVybiAtMTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0Nzg6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX29wdC5jOjg2OgorXklpZiAocG9zICE9IGFyZ3MtPmFyZ2MgLSAxKSB7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDc5OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9vcHQuYzo4NzoKK15JXkljaGFyICpuZXdhcmcgPSBhcmdzLT5hcmd2W2Fy Z3MtPmFyZ2MgLSAxXTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM0ODA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjg4OgorXkleSW1lbW1vdmUo JmFyZ3MtPmFyZ3ZbcG9zICsgMV0sICZhcmdzLT5hcmd2W3Bvc10sJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDgxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9vcHQuYzo4OToKK15JXkleSXNpemVvZihjaGFyICopICogKGFyZ3MtPmFyZ2MgLSBwb3MgLSAx KSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDgyOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzo5MDoKK15JXklhcmdzLT5hcmd2W3Bvc10gPSBu ZXdhcmc7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDgzOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzo5MToKK15JfSQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ4NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2Vfb3B0LmM6OTI6CiteSXJldHVybiAwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzQ4OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6OTc6Cite SXJldHVybiBmdXNlX29wdF9pbnNlcnRfYXJnX2NvbW1vbihhcmdzLCBwb3MsIGFyZyk7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDk0OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9vcHQuYzoxMDI6CiteSWlmIChjdHgtPmFyZ2N0ciArIDEgPj0gY3R4LT5h cmdjKSB7JAoKV0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJhY3RlcnMKIzQ5NTogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MTAzOgorICAgICAgICAgICAgICAgZnVzZV9sb2coRlVT RV9MT0dfRVJSLCAiZnVzZTogbWlzc2luZyBhcmd1bWVudCBhZnRlciBgJXMnXG4iLCBvcHQpOwoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDk1OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoxMDM6CiteSV5JZnVzZV9sb2coRlVTRV9MT0dfRVJSLCAi ZnVzZTogbWlzc2luZyBhcmd1bWVudCBhZnRlciBgJXMnXG4iLCBvcHQpOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ5NjogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2Vfb3B0LmM6MTA0OgorXkleSXJldHVybiAtMTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM0OTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5j OjEwNToKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ5 ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MTA2OgorXkljdHgtPmFyZ2N0cisr OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ5OTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MTA3OgorXklyZXR1cm4gMDskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX29wdC5jOjExMjoKK15JcmV0dXJuIGZ1c2Vfb3B0X2FkZF9hcmcoJmN0eC0+b3V0YXJn cywgYXJnKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MDk6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjExNzoKK15JdW5zaWduZWQgb2xkbGVu ID0gKm9wdHMgPyBzdHJsZW4oKm9wdHMpIDogMDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM1MTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjEx ODoKK15JY2hhciAqZCA9IHJlYWxsb2MoKm9wdHMsIG9sZGxlbiArIDEgKyBzdHJsZW4ob3B0KSAq IDIgKyAxKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MTI6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjEyMDoKK15JaWYgKCFkKSQKCkVSUk9S OiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQK IzUxMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MTIwOgorICAgICAgIGlmICgh ZCkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzUxMzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MTIxOgorXkleSXJldHVybiBhbGxvY19m YWlsZWQoKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MTU6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjEyMzoKK15JKm9wdHMgPSBkOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzUxNjogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2Vfb3B0LmM6MTI0OgorXklpZiAob2xkbGVuKSB7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTE3OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9vcHQuYzoxMjU6CiteSV5JZCArPSBvbGRsZW47JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojNTE4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQu YzoxMjY6CiteSV5JKmQrKyA9ICcsJzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM1MTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjEyNzoKK15J fSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzUyMTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MTI5OgorXklmb3IgKDsgKm9wdDsgb3B0KyspIHsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MjI6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjEzMDoKK15JXklpZiAoZXNjICYmICgqb3B0ID09ICcs JyB8fCAqb3B0ID09ICdcXCcpKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3Ig YWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzUyMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2Vfb3B0LmM6MTMwOgorICAgICAgICAgICAgICAgaWYgKGVzYyAmJiAoKm9wdCA9PSAnLCcgfHwg Km9wdCA9PSAnXFwnKSkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzUyMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MTMxOgorXkleSV5J KmQrKyA9ICdcXCc7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NTI0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoxMzI6CiteSV5JKmQrKyA9ICpv cHQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTI1OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoxMzM6CiteSX0kCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X29wdC5jOjEzNDoKK15JKmQgPSAnXDAnOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzUyODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MTM2Ogor XklyZXR1cm4gMDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1 MzM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjE0MToKK15JcmV0dXJuIGFkZF9v cHRfY29tbW9uKG9wdHMsIG9wdCwgMCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojNTM4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoxNDY6Cite SXJldHVybiBhZGRfb3B0X2NvbW1vbihvcHRzLCBvcHQsIDEpOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU0MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf b3B0LmM6MTUxOgorXklyZXR1cm4gYWRkX29wdF9jb21tb24oJmN0eC0+b3B0cywgb3B0LCAxKTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1NDc6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjE1NToKK15JXkkgICAgIGludCBpc28pJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTQ5OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9vcHQuYzoxNTc6CiteSWlmIChrZXkgPT0gRlVTRV9PUFRfS0VZX0RJU0NBUkQp JAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0 YXRlbWVudAojNTQ5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoxNTc6CisgICAg ICAgaWYgKGtleSA9PSBGVVNFX09QVF9LRVlfRElTQ0FSRCkKWy4uLl0KCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU1MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2Vfb3B0LmM6MTU4OgorXkleSXJldHVybiAwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzU1MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MTYw OgorXklpZiAoa2V5ICE9IEZVU0VfT1BUX0tFWV9LRUVQICYmIGN0eC0+cHJvYykgeyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU1MzogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2Vfb3B0LmM6MTYxOgorXkleSWludCByZXMgPSBjdHgtPnByb2MoY3R4LT5kYXRh LCBhcmcsIGtleSwgJmN0eC0+b3V0YXJncyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNTU0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoxNjI6 CiteSV5JaWYgKHJlcyA9PSAtMSB8fCAhcmVzKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vz c2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzU1NDogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2Vfb3B0LmM6MTYyOgorICAgICAgICAgICAgICAgaWYgKHJlcyA9PSAtMSB8fCAh cmVzKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTU1 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoxNjM6CiteSV5JXklyZXR1cm4gcmVz OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU1NjogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MTY0OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTU3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9v cHQuYzoxNjU6CiteSWlmIChpc28pJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZv ciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojNTU3OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9vcHQuYzoxNjU6CisgICAgICAgaWYgKGlzbykKWy4uLl0KKyAgICAgICBlbHNlClsuLi5d CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1NTg6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjE2NjoKK15JXklyZXR1cm4gYWRkX29wdChjdHgsIGFy Zyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTU5OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoxNjc6CiteSWVsc2UkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1NjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX29wdC5jOjE2ODoKK15JXklyZXR1cm4gYWRkX2FyZyhjdHgsIGFyZyk7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTY1OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9vcHQuYzoxNzM6CiteSWludCBhcmdsZW4gPSBzdHJsZW4oYXJnKTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1NjY6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX29wdC5jOjE3NDoKK15JY29uc3QgY2hhciAqc2VwID0gc3RyY2hyKHQsICc9Jyk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTY3OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoxNzU6CiteSXNlcCA9IHNlcCA/IHNlcCA6IHN0cmNo cih0LCAnICcpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU2 ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MTc2OgorXklpZiAoc2VwICYmICgh c2VwWzFdIHx8IHNlcFsxXSA9PSAnJScpKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNTY5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoxNzc6 CiteSV5JaW50IHRsZW4gPSBzZXAgLSB0OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzU3MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MTc4Ogor XkleSWlmIChzZXBbMF0gPT0gJz0nKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBm b3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzU3MDogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2Vfb3B0LmM6MTc4OgorICAgICAgICAgICAgICAgaWYgKHNlcFswXSA9PSAnPScpClsuLi5d CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1NzE6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjE3OToKK15JXkleSXRsZW4gKys7JAoKRVJST1I6IHNw YWNlIHByb2hpYml0ZWQgYmVmb3JlIHRoYXQgJysrJyAoY3R4Old4TykKIzU3MTogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MTc5OgorICAgICAgICAgICAgICAgICAgICAgICB0bGVu ICsrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU3MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0 LmM6MTgwOgorXkleSWlmIChhcmdsZW4gPj0gdGxlbiAmJiBzdHJuY21wKGFyZywgdCwgdGxlbikg PT0gMCkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU3Mzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MTgxOgorXkleSV5JKnNlcHAgPSBzZXAg LSB0OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU3NDogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MTgyOgorXkleSV5JcmV0dXJuIDE7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTc1OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9vcHQuYzoxODM6CiteSV5JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzU3NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6 MTg0OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTc3 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoxODU6CiteSWlmIChzdHJjbXAodCwg YXJnKSA9PSAwKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NTc4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoxODY6CiteSV5JKnNlcHAgPSAw OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU3OTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MTg3OgorXkleSXJldHVybiAxOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU4MDogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2Vfb3B0LmM6MTg4OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojNTgxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoxODk6Cite SXJldHVybiAwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU4 NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MTkzOgorXkleSV5JXkkgICAgICAg Y29uc3QgY2hhciAqYXJnLCB1bnNpZ25lZCAqc2VwcCkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM1ODc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5j OjE5NToKK15JZm9yICg7IG9wdCAmJiBvcHQtPnRlbXBsOyBvcHQrKykkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1ODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX29wdC5jOjE5NjoKK15JXklpZiAobWF0Y2hfdGVtcGxhdGUob3B0LT50ZW1wbCwgYXJnLCBz ZXBwKSkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRo aXMgc3RhdGVtZW50CiM1ODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjE5NjoK KyAgICAgICAgICAgICAgIGlmIChtYXRjaF90ZW1wbGF0ZShvcHQtPnRlbXBsLCBhcmcsIHNlcHAp KQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTg5OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoxOTc6CiteSV5JXklyZXR1cm4gb3B0OyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU5MDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MTk4OgorXklyZXR1cm4gTlVMTDskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1OTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX29wdC5jOjIwMzoKK15JdW5zaWduZWQgZHVtbXk7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTk2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9v cHQuYzoyMDQ6CiteSXJldHVybiBmaW5kX29wdChvcHRzLCBvcHQsICZkdW1teSkgPyAxIDogMDsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2MDA6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjIwODoKK15JXkleSSAgICAgY29uc3QgY2hhciAqYXJn KSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYwMjogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MjEwOgorXklhc3NlcnQoZm9ybWF0WzBdID09ICcl Jyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjAzOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoyMTE6CiteSWlmIChmb3JtYXRbMV0gPT0gJ3Mn KSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjA0OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoyMTI6CiteSV5JY2hhciAqKnMgPSB2YXI7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjA1OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoyMTM6CiteSV5JY2hhciAqY29weSA9IHN0cmR1cChwYXJh bSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjA2OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoyMTQ6CiteSV5JaWYgKCFjb3B5KSQKCkVSUk9S OiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQK IzYwNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MjE0OgorICAgICAgICAgICAg ICAgaWYgKCFjb3B5KQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNjA3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoyMTU6CiteSV5JXkly ZXR1cm4gYWxsb2NfZmFpbGVkKCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNjA5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoyMTc6CiteSV5J ZnJlZSgqcyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjEw OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoyMTg6CiteSV5JKnMgPSBjb3B5OyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYxMTogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MjE5OgorXkl9IGVsc2UgeyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYxMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2Vfb3B0LmM6MjIwOgorXkleSWlmIChzc2NhbmYocGFyYW0sIGZvcm1hdCwgdmFyKSAhPSAxKSB7 JAoKRVJST1I6IGxpbmUgb3ZlciA5MCBjaGFyYWN0ZXJzCiM2MTM6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX29wdC5jOjIyMToKKyAgICAgICAgICAgICAgICAgICAgICAgZnVzZV9sb2coRlVT RV9MT0dfRVJSLCAiZnVzZTogaW52YWxpZCBwYXJhbWV0ZXIgaW4gb3B0aW9uIGAlcydcbiIsIGFy Zyk7CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2MTM6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjIyMToKK15JXkleSWZ1c2VfbG9nKEZVU0VfTE9H X0VSUiwgImZ1c2U6IGludmFsaWQgcGFyYW1ldGVyIGluIG9wdGlvbiBgJXMnXG4iLCBhcmcpOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYxNDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MjIyOgorXkleSV5JcmV0dXJuIC0xOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYxNTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2Vfb3B0LmM6MjIzOgorXkleSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM2MTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjIyNDoK K15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYxNzogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MjI1OgorXklyZXR1cm4gMDskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2MjE6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX29wdC5jOjIyOToKK15JXkkgICAgICAgY29uc3Qgc3RydWN0IGZ1c2Vfb3B0ICpv cHQsIHVuc2lnbmVkIHNlcCwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM2MjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjIzMDoKK15JXkkgICAg ICAgY29uc3QgY2hhciAqYXJnLCBpbnQgaXNvKSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzYyNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MjMy OgorXklpZiAob3B0LT5vZmZzZXQgPT0gLTFVKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNjI1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoy MzM6CiteSV5JaWYgKGNhbGxfcHJvYyhjdHgsIGFyZywgb3B0LT52YWx1ZSwgaXNvKSA9PSAtMSkk CgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3Rh dGVtZW50CiM2MjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjIzMzoKKyAgICAg ICAgICAgICAgIGlmIChjYWxsX3Byb2MoY3R4LCBhcmcsIG9wdC0+dmFsdWUsIGlzbykgPT0gLTEp ClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2MjY6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjIzNDoKK15JXkleSXJldHVybiAtMTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2Mjc6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjIzNToKK15JfSBlbHNlIHskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2Mjg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X29wdC5jOjIzNjoKK15JXkl2b2lkICp2YXIgPSAoY2hhciAqKWN0eC0+ZGF0YSArIG9wdC0+b2Zm c2V0OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYyOTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MjM3OgorXkleSWlmIChzZXAgJiYgb3B0LT50 ZW1wbFtzZXAgKyAxXSkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzYzMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MjM4OgorXkleSV5JY29u c3QgY2hhciAqcGFyYW0gPSBhcmcgKyBzZXA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNjMxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoyMzk6 CiteSV5JXklpZiAob3B0LT50ZW1wbFtzZXBdID09ICc9JykkCgpFUlJPUjogYnJhY2VzIHt9IGFy ZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiM2MzE6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjIzOToKKyAgICAgICAgICAgICAgICAgICAgICAgaWYg KG9wdC0+dGVtcGxbc2VwXSA9PSAnPScpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM2MzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjI0 MDoKK15JXkleSV5JcGFyYW0gKys7JAoKRVJST1I6IHNwYWNlIHByb2hpYml0ZWQgYmVmb3JlIHRo YXQgJysrJyAoY3R4Old4TykKIzYzMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6 MjQwOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtICsrOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzYzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MjQx OgorXkleSV5JaWYgKHByb2Nlc3Nfb3B0X3BhcmFtKHZhciwgb3B0LT50ZW1wbCArIHNlcCArIDEs JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjM0OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoyNDI6CiteSV5JXkleSV5JICAgICAgcGFyYW0sIGFy ZykgPT0gLTEpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjM1 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoyNDM6CiteSV5JXkleSXJldHVybiAt MTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2MzY6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjI0NDoKK15JXkl9IGVsc2UkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2Mzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX29wdC5jOjI0NToKK15JXkleSSooaW50ICopdmFyID0gb3B0LT52YWx1ZTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2Mzg6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX29wdC5jOjI0NjoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzYzOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MjQ3 OgorXklyZXR1cm4gMDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM2NDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjI1MToKK15JXkleSSAgICAg ICBjb25zdCBzdHJ1Y3QgZnVzZV9vcHQgKm9wdCwgdW5zaWduZWQgc2VwLCQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY0NDogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2Vfb3B0LmM6MjUyOgorXkleSV5JICAgICAgIGNvbnN0IGNoYXIgKmFyZywgaW50IGlzbykk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2NDY6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjI1NDoKK15JaW50IHJlczskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2NDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX29wdC5jOjI1NToKK15JY2hhciAqbmV3YXJnOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzY0ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6 MjU2OgorXkljaGFyICpwYXJhbTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM2NTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjI1ODoKK15JaWYg KG5leHRfYXJnKGN0eCwgYXJnKSA9PSAtMSkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3Nh cnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiM2NTA6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX29wdC5jOjI1ODoKKyAgICAgICBpZiAobmV4dF9hcmcoY3R4LCBhcmcpID09IC0x KQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjUxOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoyNTk6CiteSV5JcmV0dXJuIC0xOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY1MzogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2Vfb3B0LmM6MjYxOgorXklwYXJhbSA9IGN0eC0+YXJndltjdHgtPmFyZ2N0 cl07JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjU0OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoyNjI6CiteSW5ld2FyZyA9IG1hbGxvYyhzZXAg KyBzdHJsZW4ocGFyYW0pICsgMSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNjU1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoyNjM6CiteSWlm ICghbmV3YXJnKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMg b2YgdGhpcyBzdGF0ZW1lbnQKIzY1NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6 MjYzOgorICAgICAgIGlmICghbmV3YXJnKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNjU2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoy NjQ6CiteSV5JcmV0dXJuIGFsbG9jX2ZhaWxlZCgpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzY1ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6 MjY2OgorXkltZW1jcHkobmV3YXJnLCBhcmcsIHNlcCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojNjU5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQu YzoyNjc6CiteSXN0cmNweShuZXdhcmcgKyBzZXAsIHBhcmFtKTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2NjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X29wdC5jOjI2ODoKK15JcmVzID0gcHJvY2Vzc19vcHQoY3R4LCBvcHQsIHNlcCwgbmV3YXJnLCBp c28pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY2MTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MjY5OgorXklmcmVlKG5ld2FyZyk7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjYzOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9vcHQuYzoyNzE6CiteSXJldHVybiByZXM7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjY4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9vcHQuYzoyNzY6CiteSXVuc2lnbmVkIHNlcDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM2Njk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjI3 NzoKK15JY29uc3Qgc3RydWN0IGZ1c2Vfb3B0ICpvcHQgPSBmaW5kX29wdChjdHgtPm9wdCwgYXJn LCAmc2VwKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2NzA6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjI3ODoKK15JaWYgKG9wdCkgeyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY3MTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2Vfb3B0LmM6Mjc5OgorXkleSWZvciAoOyBvcHQ7IG9wdCA9IGZpbmRfb3B0 KG9wdCArIDEsIGFyZywgJnNlcCkpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM2NzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjI4MDoKK15J XkleSWludCByZXM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NjczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoyODE6CiteSV5JXklpZiAoc2Vw ICYmIG9wdC0+dGVtcGxbc2VwXSA9PSAnICcgJiYgIWFyZ1tzZXBdKSQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY3NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2Vfb3B0LmM6MjgyOgorXkleSV5JXklyZXMgPSBwcm9jZXNzX29wdF9zZXBfYXJnKGN0eCwgb3B0 LCBzZXAsIGFyZywkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2 NzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjI4MzoKK15JXkleSV5JXkleSV5J ICBpc28pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY3Njog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6Mjg0OgorXkleSV5JZWxzZSQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY3NzogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2Vfb3B0LmM6Mjg1OgorXkleSV5JXklyZXMgPSBwcm9jZXNzX29wdChjdHgsIG9w dCwgc2VwLCBhcmcsIGlzbyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNjc4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoyODY6CiteSV5JXklp ZiAocmVzID09IC0xKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFy bXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzY3ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0 LmM6Mjg2OgorICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzID09IC0xKQpbLi4uXQoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjc5OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9vcHQuYzoyODc6CiteSV5JXkleSXJldHVybiAtMTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2ODA6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX29wdC5jOjI4ODoKK15JXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojNjgxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoyODk6Cite SV5JcmV0dXJuIDA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NjgyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoyOTA6CiteSX0gZWxzZSQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY4MzogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2Vfb3B0LmM6MjkxOgorXkleSXJldHVybiBjYWxsX3Byb2MoY3R4LCBhcmcs IEZVU0VfT1BUX0tFWV9PUFQsIGlzbyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojNjg4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoyOTY6Cite SWNoYXIgKnMgPSBvcHRzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzY4OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6Mjk3OgorXkljaGFyICpk ID0gczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2OTA6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjI5ODoKK15JaW50IGVuZCA9IDA7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjkyOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9vcHQuYzozMDA6CiteSXdoaWxlICghZW5kKSB7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjkzOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9vcHQuYzozMDE6CiteSV5JaWYgKCpzID09ICdcMCcpJAoKRVJST1I6IGJyYWNlcyB7fSBh cmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojNjkzOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzozMDE6CisgICAgICAgICAgICAgICBpZiAoKnMgPT0g J1wwJykKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY5 NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzAyOgorXkleSV5JZW5kID0gMTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2OTU6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjMwMzoKK15JXklpZiAoKnMgPT0gJywnIHx8IGVuZCkg eyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY5NjogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzA0OgorXkleSV5JaW50IHJlczskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2OTg6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX29wdC5jOjMwNjoKK15JXkleSSpkID0gJ1wwJzskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2OTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X29wdC5jOjMwNzoKK15JXkleSXJlcyA9IHByb2Nlc3NfZ29wdChjdHgsIG9wdHMsIDEpOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcwMDogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzA4OgorXkleSV5JaWYgKHJlcyA9PSAtMSkkCgpFUlJPUjog YnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiM3 MDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjMwODoKKyAgICAgICAgICAgICAg ICAgICAgICAgaWYgKHJlcyA9PSAtMSkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzcwMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzA5 OgorXkleSV5JXklyZXR1cm4gLTE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNzAyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzozMTA6CiteSV5J XklkID0gb3B0czskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3 MDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjMxMToKK15JXkl9IGVsc2UgeyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcwNDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzEyOgorXkleSV5JaWYgKHNbMF0gPT0gJ1xcJyAmJiBz WzFdICE9ICdcMCcpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM3MDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjMxMzoKK15JXkleSV5Jcysr OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcwNjogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzE0OgorXkleSV5JXklpZiAoc1swXSA+PSAnMCcg JiYgc1swXSA8PSAnMycgJiYkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM3MDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjMxNToKK15JXkleSV5J ICAgIHNbMV0gPj0gJzAnICYmIHNbMV0gPD0gJzcnICYmJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojNzA4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQu YzozMTY6CiteSV5JXkleSSAgICBzWzJdID49ICcwJyAmJiBzWzJdIDw9ICc3JykgeyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcwOTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2Vfb3B0LmM6MzE3OgorXkleSV5JXkleSSpkKysgPSAoc1swXSAtICcwJykgKiAw MTAwICskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3MTA6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjMxODoKK15JXkleSV5JXkleSShzWzFdIC0g JzAnKSAqIDAwMTAgKyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzcxMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzE5OgorXkleSV5JXkleSV5J KHNbMl0gLSAnMCcpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzcxMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzIwOgorXkleSV5JXkleSXMg Kz0gMjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3MTM6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjMyMToKK15JXkleSV5JfSBlbHNlIHskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3MTQ6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjMyMjoKK15JXkleSV5JXkkqZCsrID0gKnM7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzE1OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9vcHQuYzozMjM6CiteSV5JXkleSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM3MTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5j OjMyNDoKK15JXkleSX0gZWxzZSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNzE3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzozMjU6CiteSV5J XkleSSpkKysgPSAqczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM3MTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjMyNjoKK15JXkleSX0kCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3MTk6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjMyNzoKK15JXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojNzIwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQu YzozMjg6CiteSV5JcysrOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzcyMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzI5OgorXkl9JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzIzOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9vcHQuYzozMzE6CiteSXJldHVybiAwOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcyODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf b3B0LmM6MzM2OgorXklpbnQgcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzcyOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzM3OgorXklj aGFyICpjb3B5ID0gc3RyZHVwKG9wdHMpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzczMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzM5Ogor XklpZiAoIWNvcHkpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM3MzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjM0MDoKK15JXklmdXNlX2xv ZyhGVVNFX0xPR19FUlIsICJmdXNlOiBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWRcbiIpOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzczMzogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzQxOgorXkleSXJldHVybiAtMTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3MzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX29wdC5jOjM0MjoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzczNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzQzOgorXklyZXMg PSBwcm9jZXNzX3JlYWxfb3B0aW9uX2dyb3VwKGN0eCwgY29weSk7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzM2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9vcHQuYzozNDQ6CiteSWZyZWUoY29weSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNzM3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzozNDU6 CiteSXJldHVybiByZXM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojNzQyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzozNTA6CiteSWlmIChjdHgt Pm5vbm9wdCB8fCBhcmdbMF0gIT0gJy0nKSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzc0MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzUxOgor XkleSXJldHVybiBjYWxsX3Byb2MoY3R4LCBhcmcsIEZVU0VfT1BUX0tFWV9OT05PUFQsIDApOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc0NDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzUyOgorXkllbHNlIGlmIChhcmdbMV0gPT0gJ28nKSB7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzQ1OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzozNTM6CiteSV5JaWYgKGFyZ1syXSkkCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NDY6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX29wdC5jOjM1NDoKK15JXkleSXJldHVybiBwcm9jZXNzX29wdGlvbl9ncm91cChj dHgsIGFyZyArIDIpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK Izc0NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzU1OgorXkleSWVsc2UgeyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc0ODogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzU2OgorXkleSV5JaWYgKG5leHRfYXJnKGN0eCwgYXJn KSA9PSAtMSkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9m IHRoaXMgc3RhdGVtZW50CiM3NDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjM1 NjoKKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5leHRfYXJnKGN0eCwgYXJnKSA9PSAtMSkK Wy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc0OTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzU3OgorXkleSV5JXklyZXR1cm4gLTE7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzUxOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9vcHQuYzozNTk6CiteSV5JXklyZXR1cm4gcHJvY2Vzc19vcHRpb25f Z3JvdXAoY3R4LCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc1 MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzYwOgorXkleSV5JXkleSV5JICAg IGN0eC0+YXJndltjdHgtPmFyZ2N0cl0pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzc1MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzYxOgor XkleSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NTQ6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjM2MjoKK15JfSBlbHNlIGlmIChhcmdbMV0g PT0gJy0nICYmICFhcmdbMl0pIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM3NTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjM2MzoKK15JXklp ZiAoYWRkX2FyZyhjdHgsIGFyZykgPT0gLTEpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNz YXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojNzU1OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9vcHQuYzozNjM6CisgICAgICAgICAgICAgICBpZiAoYWRkX2FyZyhjdHgsIGFy ZykgPT0gLTEpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM3NTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjM2NDoKK15JXkleSXJldHVy biAtMTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NTc6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjM2NToKK15JXkljdHgtPm5vbm9wdCA9IGN0 eC0+b3V0YXJncy5hcmdjOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzc1ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzY2OgorXkleSXJldHVy biAwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc1OTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6MzY3OgorXkl9IGVsc2UkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX29wdC5jOjM2ODoKK15JXklyZXR1cm4gcHJvY2Vzc19nb3B0KGN0eCwgYXJnLCAwKTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NjU6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjM3MzoKK15JaWYgKGN0eC0+YXJnYykgeyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc2NjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2Vfb3B0LmM6Mzc0OgorXkleSWlmIChhZGRfYXJnKGN0eCwgY3R4LT5hcmd2WzBd KSA9PSAtMSkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9m IHRoaXMgc3RhdGVtZW50CiM3NjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjM3 NDoKKyAgICAgICAgICAgICAgIGlmIChhZGRfYXJnKGN0eCwgY3R4LT5hcmd2WzBdKSA9PSAtMSkK Wy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc2NzogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6Mzc1OgorXkleSV5JcmV0dXJuIC0xOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc2ODogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2Vfb3B0LmM6Mzc2OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNzcwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzoz Nzg6CiteSWZvciAoY3R4LT5hcmdjdHIgPSAxOyBjdHgtPmFyZ2N0ciA8IGN0eC0+YXJnYzsgY3R4 LT5hcmdjdHIrKykkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3 NzE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjM3OToKK15JXklpZiAocHJvY2Vz c19vbmUoY3R4LCBjdHgtPmFyZ3ZbY3R4LT5hcmdjdHJdKSA9PSAtMSkkCgpFUlJPUjogYnJhY2Vz IHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiM3NzE6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjM3OToKKyAgICAgICAgICAgICAgIGlmIChw cm9jZXNzX29uZShjdHgsIGN0eC0+YXJndltjdHgtPmFyZ2N0cl0pID09IC0xKQpbLi4uXQoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzcyOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9vcHQuYzozODA6CiteSV5JXklyZXR1cm4gLTE7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzc0OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9vcHQuYzozODI6CiteSWlmIChjdHgtPm9wdHMpIHskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29w dC5jOjM4MzoKK15JXklpZiAoZnVzZV9vcHRfaW5zZXJ0X2FyZygmY3R4LT5vdXRhcmdzLCAxLCAi LW8iKSA9PSAtMSB8fCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK Izc3NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6Mzg0OgorXkleSSAgICBmdXNl X29wdF9pbnNlcnRfYXJnKCZjdHgtPm91dGFyZ3MsIDIsIGN0eC0+b3B0cykgPT0gLTEpJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzc3OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9vcHQuYzozODU6CiteSV5JXklyZXR1cm4gLTE7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzc4OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9vcHQuYzozODY6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM3ODA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjM4ODoKK15JLyog SWYgb3B0aW9uIHNlcGFyYXRvciAoIi0tIikgaXMgdGhlIGxhc3QgYXJndW1lbnQsIHJlbW92ZSBp dCAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc4MTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6Mzg5OgorXklpZiAoY3R4LT5ub25vcHQgJiYg Y3R4LT5ub25vcHQgPT0gY3R4LT5vdXRhcmdzLmFyZ2MgJiYkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3ODI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29w dC5jOjM5MDoKK15JICAgIHN0cmNtcChjdHgtPm91dGFyZ3MuYXJndltjdHgtPm91dGFyZ3MuYXJn YyAtIDFdLCAiLS0iKSA9PSAwKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNzgzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzozOTE6CiteSV5J ZnJlZShjdHgtPm91dGFyZ3MuYXJndltjdHgtPm91dGFyZ3MuYXJnYyAtIDFdKTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3ODQ6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX29wdC5jOjM5MjoKK15JXkljdHgtPm91dGFyZ3MuYXJndlstLWN0eC0+b3V0YXJn cy5hcmdjXSA9IE5VTEw7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojNzg1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzozOTM6CiteSX0kCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3ODc6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX29wdC5jOjM5NToKK15JcmV0dXJuIDA7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzkxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9v cHQuYzozOTk6CiteSV5JICAgY29uc3Qgc3RydWN0IGZ1c2Vfb3B0IG9wdHNbXSwgZnVzZV9vcHRf cHJvY190IHByb2MpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NzkzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzo0MDE6CiteSWludCByZXM7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzk0OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9vcHQuYzo0MDI6CiteSXN0cnVjdCBmdXNlX29wdF9jb250ZXh0IGN0 eCA9IHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3OTU6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjQwMzoKK15JXkkuZGF0YSA9IGRhdGEsJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzk2OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9vcHQuYzo0MDQ6CiteSV5JLm9wdCA9IG9wdHMsJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzk3OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9vcHQuYzo0MDU6CiteSV5JLnByb2MgPSBwcm9jLCQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc5ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf b3B0LmM6NDA2OgorXkl9OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzgwMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6NDA4OgorXklpZiAoIWFy Z3MgfHwgIWFyZ3MtPmFyZ3YgfHwgIWFyZ3MtPmFyZ2MpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUg bmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojODAwOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9vcHQuYzo0MDg6CisgICAgICAgaWYgKCFhcmdzIHx8ICFhcmdzLT5h cmd2IHx8ICFhcmdzLT5hcmdjKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojODAxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzo0MDk6Cite SV5JcmV0dXJuIDA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj ODAzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzo0MTE6CiteSWN0eC5hcmdjID0g YXJncy0+YXJnYzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4 MDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjQxMjoKK15JY3R4LmFyZ3YgPSBh cmdzLT5hcmd2OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgw NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6NDE0OgorXklyZXMgPSBvcHRfcGFy c2UoJmN0eCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODA3 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzo0MTU6CiteSWlmIChyZXMgIT0gLTEp IHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4MDg6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX29wdC5jOjQxNjoKK15JXklzdHJ1Y3QgZnVzZV9hcmdzIHRt cCA9ICphcmdzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgw OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfb3B0LmM6NDE3OgorXkleSSphcmdzID0gY3R4 Lm91dGFyZ3M7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODEw OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzo0MTg6CiteSV5JY3R4Lm91dGFyZ3Mg PSB0bXA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODExOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQuYzo0MTk6CiteSX0kCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4MTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX29wdC5jOjQyMDoKK15JZnJlZShjdHgub3B0cyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojODEzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9vcHQu Yzo0MjE6CiteSWZ1c2Vfb3B0X2ZyZWVfYXJncygmY3R4Lm91dGFyZ3MpOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgxNDogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2Vfb3B0LmM6NDIyOgorXklyZXR1cm4gcmVzOyQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRz IHVzZSAqIG9uIHN1YnNlcXVlbnQgbGluZXMKIzgyMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2Vfc2lnbmFscy5jOjI6CisvKgorICBGVVNFOiBGaWxlc3lzdGVtIGluIFVzZXJzcGFjZQoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODQ1OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9zaWduYWxzLmM6MjQ6CiteSWlmIChmdXNlX2luc3RhbmNlKSB7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODQ2OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9zaWduYWxzLmM6MjU6CiteSV5JZnVzZV9zZXNzaW9uX2V4aXQoZnVzZV9p bnN0YW5jZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODQ3 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9zaWduYWxzLmM6MjY6CiteSV5JaWYoc2lnIDw9 IDApIHskCgpFUlJPUjogc3BhY2UgcmVxdWlyZWQgYmVmb3JlIHRoZSBvcGVuIHBhcmVudGhlc2lz ICcoJwojODQ3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9zaWduYWxzLmM6MjY6CisgICAg ICAgICAgICAgICBpZihzaWcgPD0gMCkgewoKV0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJhY3Rl cnMKIzg0ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfc2lnbmFscy5jOjI3OgorICAgICAg ICAgICAgICAgICAgICAgICBmdXNlX2xvZyhGVVNFX0xPR19FUlIsICJhc3NlcnRpb24gZXJyb3I6 IHNpZ25hbCB2YWx1ZSA8PSAwXG4iKTsKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzg0ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfc2lnbmFscy5jOjI3Ogor XkleSV5JZnVzZV9sb2coRlVTRV9MT0dfRVJSLCAiYXNzZXJ0aW9uIGVycm9yOiBzaWduYWwgdmFs dWUgPD0gMFxuIik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj ODQ5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9zaWduYWxzLmM6Mjg6CiteSV5JXklhYm9y dCgpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg1MDogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfc2lnbmFscy5jOjI5OgorXkleSX0kCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4NTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX3NpZ25hbHMuYzozMDoKK15JXklmdXNlX2luc3RhbmNlLT5lcnJvciA9IHNpZzskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4NTI6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX3NpZ25hbHMuYzozMToKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg1NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfc2ln bmFscy5jOjM2OgorXkkodm9pZCkgc2lnOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzg2MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfc2lnbmFscy5jOjQx OgorXklzdHJ1Y3Qgc2lnYWN0aW9uIHNhOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzg2MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfc2lnbmFscy5jOjQy OgorXklzdHJ1Y3Qgc2lnYWN0aW9uIG9sZF9zYTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM4NjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX3NpZ25hbHMu Yzo0NDoKK15JbWVtc2V0KCZzYSwgMCwgc2l6ZW9mKHN0cnVjdCBzaWdhY3Rpb24pKTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4NjY6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX3NpZ25hbHMuYzo0NToKK15Jc2Euc2FfaGFuZGxlciA9IHJlbW92ZSA/IFNJ R19ERkwgOiBoYW5kbGVyOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzg2NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfc2lnbmFscy5jOjQ2OgorXklzaWdl bXB0eXNldCgmKHNhLnNhX21hc2spKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM4Njg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX3NpZ25hbHMuYzo0NzoK K15Jc2Euc2FfZmxhZ3MgPSAwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzg3MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfc2lnbmFscy5jOjQ5OgorXklp ZiAoc2lnYWN0aW9uKHNpZywgTlVMTCwgJm9sZF9zYSkgPT0gLTEpIHskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4NzE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX3NpZ25hbHMuYzo1MDoKK15JXklwZXJyb3IoImZ1c2U6IGNhbm5vdCBnZXQgb2xkIHNpZ25h bCBoYW5kbGVyIik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj ODcyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9zaWduYWxzLmM6NTE6CiteSV5JcmV0dXJu IC0xOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg3MzogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfc2lnbmFscy5jOjUyOgorXkl9JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODc1OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9zaWduYWxzLmM6NTQ6CiteSWlmIChvbGRfc2Euc2FfaGFuZGxlciA9PSAocmVtb3ZlID8g aGFuZGxlciA6IFNJR19ERkwpICYmJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojODc2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9zaWduYWxzLmM6NTU6Cite SSAgICBzaWdhY3Rpb24oc2lnLCAmc2EsIE5VTEwpID09IC0xKSB7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODc3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9zaWduYWxzLmM6NTY6CiteSV5JcGVycm9yKCJmdXNlOiBjYW5ub3Qgc2V0IHNpZ25hbCBoYW5k bGVyIik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODc4OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9zaWduYWxzLmM6NTc6CiteSV5JcmV0dXJuIC0xOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg3OTogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2Vfc2lnbmFscy5jOjU4OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojODgwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9z aWduYWxzLmM6NTk6CiteSXJldHVybiAwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzg4NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfc2lnbmFscy5jOjY0 OgorXkkvKiBJZiB3ZSB1c2VkIFNJR19JR04gaW5zdGVhZCBvZiB0aGUgZG9fbm90aGluZyBmdW5j dGlvbiwkCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2Vw YXJhdGUgbGluZQojODg1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9zaWduYWxzLmM6NjQ6 CisgICAgICAgLyogSWYgd2UgdXNlZCBTSUdfSUdOIGluc3RlYWQgb2YgdGhlIGRvX25vdGhpbmcg ZnVuY3Rpb24sCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4ODY6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX3NpZ25hbHMuYzo2NToKK15JICAgdGhlbiB3ZSB3 b3VsZCBiZSB1bmFibGUgdG8gdGVsbCBpZiB3ZSBzZXQgU0lHX0lHTiAoYW5kJAoKV0FSTklORzog QmxvY2sgY29tbWVudHMgdXNlICogb24gc3Vic2VxdWVudCBsaW5lcwojODg2OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9zaWduYWxzLmM6NjU6CisgICAgICAgLyogSWYgd2UgdXNlZCBTSUdf SUdOIGluc3RlYWQgb2YgdGhlIGRvX25vdGhpbmcgZnVuY3Rpb24sCisgICAgICAgICAgdGhlbiB3 ZSB3b3VsZCBiZSB1bmFibGUgdG8gdGVsbCBpZiB3ZSBzZXQgU0lHX0lHTiAoYW5kCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4ODc6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX3NpZ25hbHMuYzo2NjoKK15JICAgdGh1cyBzaG91bGQgcmVzZXQgdG8gU0lHX0RG TCBpbiBmdXNlX3JlbW92ZV9zaWduYWxfaGFuZGxlcnMpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojODg4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9zaWdu YWxzLmM6Njc6CiteSSAgIG9yIGlmIGl0IHdhcyBhbHJlYWR5IHNldCB0byBTSUdfSUdOIChhbmQg c2hvdWxkIGJlIGxlZnQkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM4ODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX3NpZ25hbHMuYzo2ODoKK15JICAgdW50 b3VjaGVkLiAqLyQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIHRyYWlsaW5nICovIG9u IGEgc2VwYXJhdGUgbGluZQojODg5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9zaWduYWxz LmM6Njg6CisgICAgICAgICAgdW50b3VjaGVkLiAqLwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojODkwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9zaWduYWxz LmM6Njk6CiteSWlmIChzZXRfb25lX3NpZ25hbF9oYW5kbGVyKFNJR0hVUCwgZXhpdF9oYW5kbGVy LCAwKSA9PSAtMSB8fCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK Izg5MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfc2lnbmFscy5jOjcwOgorXkkgICAgc2V0 X29uZV9zaWduYWxfaGFuZGxlcihTSUdJTlQsIGV4aXRfaGFuZGxlciwgMCkgPT0gLTEgfHwkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4OTI6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX3NpZ25hbHMuYzo3MToKK15JICAgIHNldF9vbmVfc2lnbmFsX2hhbmRs ZXIoU0lHVEVSTSwgZXhpdF9oYW5kbGVyLCAwKSA9PSAtMSB8fCQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg5MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf c2lnbmFscy5jOjcyOgorXkkgICAgc2V0X29uZV9zaWduYWxfaGFuZGxlcihTSUdQSVBFLCBkb19u b3RoaW5nLCAwKSA9PSAtMSkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM4OTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX3NpZ25hbHMuYzo3MzoKK15JXkly ZXR1cm4gLTE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODk2 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9zaWduYWxzLmM6NzU6CiteSWZ1c2VfaW5zdGFu Y2UgPSBzZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4OTc6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX3NpZ25hbHMuYzo3NjoKK15JcmV0dXJuIDA7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTAyOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9zaWduYWxzLmM6ODE6CiteSWlmIChmdXNlX2luc3RhbmNlICE9IHNl KSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzkwMzogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2Vfc2lnbmFscy5jOjgyOgorXkleSWZ1c2VfbG9nKEZVU0VfTE9H X0VSUiwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5MDQ6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX3NpZ25hbHMuYzo4MzoKK15JXkleSSJmdXNlOiBmdXNl X3JlbW92ZV9zaWduYWxfaGFuZGxlcnM6IHVua25vd24gc2Vzc2lvblxuIik7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTA1OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9zaWduYWxzLmM6ODQ6CiteSWVsc2UkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM5MDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX3NpZ25hbHMu Yzo4NToKK15JXklmdXNlX2luc3RhbmNlID0gTlVMTDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM5MDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX3NpZ25h bHMuYzo4NzoKK15Jc2V0X29uZV9zaWduYWxfaGFuZGxlcihTSUdIVVAsIGV4aXRfaGFuZGxlciwg MSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTA5OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9zaWduYWxzLmM6ODg6CiteSXNldF9vbmVfc2lnbmFsX2hh bmRsZXIoU0lHSU5ULCBleGl0X2hhbmRsZXIsIDEpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzkxMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vfc2lnbmFs cy5jOjg5OgorXklzZXRfb25lX3NpZ25hbF9oYW5kbGVyKFNJR1RFUk0sIGV4aXRfaGFuZGxlciwg MSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTExOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9zaWduYWxzLmM6OTA6CiteSXNldF9vbmVfc2lnbmFsX2hh bmRsZXIoU0lHUElQRSwgZG9fbm90aGluZywgMSk7JAoKV0FSTklORzogQmxvY2sgY29tbWVudHMg dXNlICogb24gc3Vic2VxdWVudCBsaW5lcwojOTIwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVs cGVyLmM6MjoKKy8qCisgIEZVU0U6IEZpbGVzeXN0ZW0gaW4gVXNlcnNwYWNlCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5NDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9oZWxwZXIuYzozMDoKK15JeyB0LCBvZmZzZXRvZihzdHJ1Y3QgZnVzZV9jbWRsaW5lX29wdHMs IHApLCAxIH0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5NTE6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzozMzoKK15JRlVTRV9IRUxQRVJfT1BUKCIt aCIsXkleSXNob3dfaGVscCksJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojOTUyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MzQ6CiteSUZVU0VfSEVM UEVSX09QVCgiLS1oZWxwIixeSXNob3dfaGVscCksJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojOTUzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MzU6 CiteSUZVU0VfSEVMUEVSX09QVCgiLVYiLF5JXklzaG93X3ZlcnNpb24pLCQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk1NDogRklMRTogdG9vbHMvdmlydGlvZnNk L2hlbHBlci5jOjM2OgorXklGVVNFX0hFTFBFUl9PUFQoIi0tdmVyc2lvbiIsXklzaG93X3ZlcnNp b24pLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk1NTogRklM RTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjM3OgorXklGVVNFX0hFTFBFUl9PUFQoIi1kIixe SV5JZGVidWcpLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk1 NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjM4OgorXklGVVNFX0hFTFBFUl9PUFQo ImRlYnVnIixeSWRlYnVnKSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM5NTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzozOToKK15JRlVTRV9IRUxQ RVJfT1BUKCItZCIsXkleSWZvcmVncm91bmQpLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzk1ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjQwOgor XklGVVNFX0hFTFBFUl9PUFQoImRlYnVnIixeSWZvcmVncm91bmQpLCQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk1OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2hl bHBlci5jOjQxOgorXklGVVNFX09QVF9LRVkoIi1kIixeSV5JRlVTRV9PUFRfS0VZX0tFRVApLCQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk2MDogRklMRTogdG9v bHMvdmlydGlvZnNkL2hlbHBlci5jOjQyOgorXklGVVNFX09QVF9LRVkoImRlYnVnIixeSV5JRlVT RV9PUFRfS0VZX0tFRVApLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzk2MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjQzOgorXklGVVNFX0hFTFBF Ul9PUFQoIi1mIixeSV5JZm9yZWdyb3VuZCksJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojOTYyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6NDQ6Cite SUZVU0VfSEVMUEVSX09QVCgiLXMiLF5JXklzaW5nbGV0aHJlYWQpLCQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk2MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2hl bHBlci5jOjQ1OgorXklGVVNFX0hFTFBFUl9PUFQoImZzbmFtZT0iLF5Jbm9kZWZhdWx0X3N1YnR5 cGUpLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk2NDogRklM RTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjQ2OgorXklGVVNFX09QVF9LRVkoImZzbmFtZT0i LF5JXklGVVNFX09QVF9LRVlfS0VFUCksJAoKV0FSTklORzogYXJjaGl0ZWN0dXJlIHNwZWNpZmlj IGRlZmluZXMgc2hvdWxkIGJlIGF2b2lkZWQKIzk2NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2hl bHBlci5jOjQ3OgorI2lmbmRlZiBfX0ZyZWVCU0RfXwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojOTY2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6NDg6 CiteSUZVU0VfSEVMUEVSX09QVCgic3VidHlwZT0iLF5Jbm9kZWZhdWx0X3N1YnR5cGUpLCQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk2NzogRklMRTogdG9vbHMv dmlydGlvZnNkL2hlbHBlci5jOjQ5OgorXklGVVNFX09QVF9LRVkoInN1YnR5cGU9IixeSUZVU0Vf T1BUX0tFWV9LRUVQKSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM5Njk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzo1MToKK15JRlVTRV9IRUxQRVJf T1BUKCJjbG9uZV9mZCIsXkljbG9uZV9mZCksJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojOTcwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6NTI6Cite SUZVU0VfSEVMUEVSX09QVCgibWF4X2lkbGVfdGhyZWFkcz0ldSIsIG1heF9pZGxlX3RocmVhZHMp LCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk3MTogRklMRTog dG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjUzOgorXklGVVNFX09QVF9FTkQkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5NzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9oZWxwZXIuYzo1NzoKK15JaW50IGF0b21pY19vX3RydW5jOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk3NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBl ci5jOjU4OgorXklpbnQgbm9fcmVtb3RlX3Bvc2l4X2xvY2s7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTc3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVy LmM6NTk6CiteSWludCBub19yZW1vdGVfZmxvY2s7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojOTc4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6NjA6 CiteSWludCBzcGxpY2Vfd3JpdGU7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojOTc5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6NjE6CiteSWludCBz cGxpY2VfbW92ZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5 ODA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzo2MjoKK15JaW50IHNwbGljZV9yZWFk OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk4MTogRklMRTog dG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjYzOgorXklpbnQgbm9fc3BsaWNlX3dyaXRlOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk4MjogRklMRTogdG9vbHMv dmlydGlvZnNkL2hlbHBlci5jOjY0OgorXklpbnQgbm9fc3BsaWNlX21vdmU7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTgzOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvaGVscGVyLmM6NjU6CiteSWludCBub19zcGxpY2VfcmVhZDskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5ODQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxw ZXIuYzo2NjoKK15JaW50IGF1dG9faW52YWxfZGF0YTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM5ODU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzo2 NzoKK15JaW50IG5vX2F1dG9faW52YWxfZGF0YTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM5ODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzo2ODoK K15JaW50IG5vX3JlYWRkaXJwbHVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzk4NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjY5OgorXklpbnQg bm9fcmVhZGRpcnBsdXNfYXV0bzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM5ODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzo3MDoKK15JaW50IGFz eW5jX2RpbzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5ODk6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzo3MToKK15JaW50IG5vX2FzeW5jX2Rpbzsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5OTA6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzo3MjoKK15JaW50IHdyaXRlYmFja19jYWNoZTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5OTE6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9oZWxwZXIuYzo3MzoKK15JaW50IG5vX3dyaXRlYmFja19jYWNoZTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5OTI6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9oZWxwZXIuYzo3NDoKK15JaW50IGFzeW5jX3JlYWQ7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTkzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVy LmM6NzU6CiteSWludCBzeW5jX3JlYWQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojOTk0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6NzY6CiteSXVu c2lnbmVkIG1heF93cml0ZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM5OTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzo3NzoKK15JdW5zaWduZWQg bWF4X3JlYWRhaGVhZDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM5OTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzo3ODoKK15JdW5zaWduZWQgbWF4 X2JhY2tncm91bmQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj OTk3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6Nzk6CiteSXVuc2lnbmVkIGNvbmdl c3Rpb25fdGhyZXNob2xkOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzk5ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjgwOgorXkl1bnNpZ25lZCB0 aW1lX2dyYW47JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTk5 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6ODE6CiteSWludCBzZXRfbWF4X3dyaXRl OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMDA6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzo4MjoKK15JaW50IHNldF9tYXhfcmVhZGFoZWFkOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMDE6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzo4MzoKK15JaW50IHNldF9tYXhfYmFja2dyb3VuZDskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDAyOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvaGVscGVyLmM6ODQ6CiteSWludCBzZXRfY29uZ2VzdGlvbl90aHJlc2hvbGQ7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTAwMzogRklMRTog dG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjg1OgorXklpbnQgc2V0X3RpbWVfZ3JhbjskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDA2OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvaGVscGVyLmM6ODg6CisjZGVmaW5lIENPTk5fT1BUSU9OKHQsIHAsIHYpXkleSV5J XkleSVwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDA3OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6ODk6CiteSXsgdCwgb2Zmc2V0b2Yoc3RydWN0 IGZ1c2VfY29ubl9pbmZvX29wdHMsIHApLCB2IH0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxMDA5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6OTE6 CiteSUNPTk5fT1BUSU9OKCJtYXhfd3JpdGU9JXUiLCBtYXhfd3JpdGUsIDApLCQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMTA6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9oZWxwZXIuYzo5MjoKK15JQ09OTl9PUFRJT04oIm1heF93cml0ZT0iLCBzZXRfbWF4X3dy aXRlLCAxKSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDEx OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6OTM6CiteSUNPTk5fT1BUSU9OKCJtYXhf cmVhZGFoZWFkPSV1IiwgbWF4X3JlYWRhaGVhZCwgMCksJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTAxMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5j Ojk0OgorXklDT05OX09QVElPTigibWF4X3JlYWRhaGVhZD0iLCBzZXRfbWF4X3JlYWRhaGVhZCwg MSksJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTAxMzogRklM RTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjk1OgorXklDT05OX09QVElPTigibWF4X2JhY2tn cm91bmQ9JXUiLCBtYXhfYmFja2dyb3VuZCwgMCksJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTAxNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjk2 OgorXklDT05OX09QVElPTigibWF4X2JhY2tncm91bmQ9Iiwgc2V0X21heF9iYWNrZ3JvdW5kLCAx KSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDE1OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6OTc6CiteSUNPTk5fT1BUSU9OKCJjb25nZXN0aW9u X3RocmVzaG9sZD0ldSIsIGNvbmdlc3Rpb25fdGhyZXNob2xkLCAwKSwkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDE2OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv aGVscGVyLmM6OTg6CiteSUNPTk5fT1BUSU9OKCJjb25nZXN0aW9uX3RocmVzaG9sZD0iLCBzZXRf Y29uZ2VzdGlvbl90aHJlc2hvbGQsIDEpLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzEwMTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzo5OToKK15J Q09OTl9PUFRJT04oInN5bmNfcmVhZCIsIHN5bmNfcmVhZCwgMSksJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTAxODogRklMRTogdG9vbHMvdmlydGlvZnNkL2hl bHBlci5jOjEwMDoKK15JQ09OTl9PUFRJT04oImFzeW5jX3JlYWQiLCBhc3luY19yZWFkLCAxKSwk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDE5OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTAxOgorXklDT05OX09QVElPTigiYXRvbWljX29fdHJ1 bmMiLCBhdG9taWNfb190cnVuYywgMSksJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTAyMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjEwMjoKK15J Q09OTl9PUFRJT04oIm5vX3JlbW90ZV9sb2NrIiwgbm9fcmVtb3RlX3Bvc2l4X2xvY2ssIDEpLCQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMjE6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoxMDM6CiteSUNPTk5fT1BUSU9OKCJub19yZW1vdGVfbG9j ayIsIG5vX3JlbW90ZV9mbG9jaywgMSksJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTAyMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjEwNDoKK15J Q09OTl9PUFRJT04oIm5vX3JlbW90ZV9mbG9jayIsIG5vX3JlbW90ZV9mbG9jaywgMSksJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTAyMzogRklMRTogdG9vbHMv dmlydGlvZnNkL2hlbHBlci5jOjEwNToKK15JQ09OTl9PUFRJT04oIm5vX3JlbW90ZV9wb3NpeF9s b2NrIiwgbm9fcmVtb3RlX3Bvc2l4X2xvY2ssIDEpLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzox MDY6CiteSUNPTk5fT1BUSU9OKCJzcGxpY2Vfd3JpdGUiLCBzcGxpY2Vfd3JpdGUsIDEpLCQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMjU6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9oZWxwZXIuYzoxMDc6CiteSUNPTk5fT1BUSU9OKCJub19zcGxpY2Vfd3JpdGUi LCBub19zcGxpY2Vfd3JpdGUsIDEpLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzEwMjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoxMDg6CiteSUNP Tk5fT1BUSU9OKCJzcGxpY2VfbW92ZSIsIHNwbGljZV9tb3ZlLCAxKSwkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDI3OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv aGVscGVyLmM6MTA5OgorXklDT05OX09QVElPTigibm9fc3BsaWNlX21vdmUiLCBub19zcGxpY2Vf bW92ZSwgMSksJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTAy ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjExMDoKK15JQ09OTl9PUFRJT04oInNw bGljZV9yZWFkIiwgc3BsaWNlX3JlYWQsIDEpLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzEwMjk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoxMTE6 CiteSUNPTk5fT1BUSU9OKCJub19zcGxpY2VfcmVhZCIsIG5vX3NwbGljZV9yZWFkLCAxKSwkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDMwOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvaGVscGVyLmM6MTEyOgorXklDT05OX09QVElPTigiYXV0b19pbnZhbF9kYXRh IiwgYXV0b19pbnZhbF9kYXRhLCAxKSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMDMxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTEzOgorXklD T05OX09QVElPTigibm9fYXV0b19pbnZhbF9kYXRhIiwgbm9fYXV0b19pbnZhbF9kYXRhLCAxKSwk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDMyOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTE0OgorXklDT05OX09QVElPTigicmVhZGRpcnBsdXM9 bm8iLCBub19yZWFkZGlycGx1cywgMSksJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTAzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjExNToKK15J Q09OTl9PUFRJT04oInJlYWRkaXJwbHVzPXllcyIsIG5vX3JlYWRkaXJwbHVzLCAwKSwkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDM0OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvaGVscGVyLmM6MTE2OgorXklDT05OX09QVElPTigicmVhZGRpcnBsdXM9eWVzIiwg bm9fcmVhZGRpcnBsdXNfYXV0bywgMSksJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTAzNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjExNzoKK15J Q09OTl9PUFRJT04oInJlYWRkaXJwbHVzPWF1dG8iLCBub19yZWFkZGlycGx1cywgMCksJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTAzNjogRklMRTogdG9vbHMv dmlydGlvZnNkL2hlbHBlci5jOjExODoKK15JQ09OTl9PUFRJT04oInJlYWRkaXJwbHVzPWF1dG8i LCBub19yZWFkZGlycGx1c19hdXRvLCAwKSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxMDM3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTE5Ogor XklDT05OX09QVElPTigiYXN5bmNfZGlvIiwgYXN5bmNfZGlvLCAxKSwkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDM4OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv aGVscGVyLmM6MTIwOgorXklDT05OX09QVElPTigibm9fYXN5bmNfZGlvIiwgbm9fYXN5bmNfZGlv LCAxKSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDM5OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTIxOgorXklDT05OX09QVElPTigid3JpdGVi YWNrX2NhY2hlIiwgd3JpdGViYWNrX2NhY2hlLCAxKSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxMDQwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6 MTIyOgorXklDT05OX09QVElPTigibm9fd3JpdGViYWNrX2NhY2hlIiwgbm9fd3JpdGViYWNrX2Nh Y2hlLCAxKSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDQx OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTIzOgorXklDT05OX09QVElPTigidGlt ZV9ncmFuPSV1IiwgdGltZV9ncmFuLCAwKSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxMDQyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTI0Ogor XklDT05OX09QVElPTigidGltZV9ncmFuPSIsIHNldF90aW1lX2dyYW4sIDEpLCQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNDM6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9oZWxwZXIuYzoxMjU6CiteSUZVU0VfT1BUX0VORCQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIu YzoxMzE6CiteSXByaW50ZigiICAgIC1oICAgLS1oZWxwICAgICAgICAgICAgcHJpbnQgaGVscFxu IiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNTA6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoxMzI6CiteSSAgICAgICAiICAgIC1WICAgLS12ZXJz aW9uICAgICAgICAgcHJpbnQgdmVyc2lvblxuIiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzEwNTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoxMzM6 CiteSSAgICAgICAiICAgIC1kICAgLW8gZGVidWcgICAgICAgICAgZW5hYmxlIGRlYnVnIG91dHB1 dCAoaW1wbGllcyAtZilcbiIkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxMDUyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTM0OgorXkkgICAgICAg IiAgICAtZiAgICAgICAgICAgICAgICAgICAgIGZvcmVncm91bmQgb3BlcmF0aW9uXG4iJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA1MzogRklMRTogdG9vbHMv dmlydGlvZnNkL2hlbHBlci5jOjEzNToKK15JICAgICAgICIgICAgLXMgICAgICAgICAgICAgICAg ICAgICBkaXNhYmxlIG11bHRpLXRocmVhZGVkIG9wZXJhdGlvblxuIiQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9o ZWxwZXIuYzoxMzY6CiteSSAgICAgICAiICAgIC1vIGNsb25lX2ZkICAgICAgICAgICAgdXNlIHNl cGFyYXRlIGZ1c2UgZGV2aWNlIGZkIGZvciBlYWNoIHRocmVhZFxuIiQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9o ZWxwZXIuYzoxMzc6CiteSSAgICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1heSBp bXByb3ZlIHBlcmZvcm1hbmNlKVxuIiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzEwNTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoxMzg6CiteSSAg ICAgICAiICAgIC1vIG1heF9pZGxlX3RocmVhZHMgICAgdGhlIG1heGltdW0gbnVtYmVyIG9mIGlk bGUgd29ya2VyIHRocmVhZHNcbiIkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxMDU3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTM5OgorXkkgICAg ICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93ZWQgKGRlZmF1bHQ6IDEwKVxuIik7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA2MTogRklMRTog dG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjE0MzoKK15JXkleSV5Jc3RydWN0IGZ1c2VfYXJncyAq b3V0YXJncykkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDYz OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTQ1OgorXkkodm9pZCkgb3V0YXJnczsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDY0OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTQ2OgorXklzdHJ1Y3QgZnVzZV9jbWRsaW5lX29wdHMg Km9wdHMgPSBkYXRhOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzEwNjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoxNDg6CiteSXN3aXRjaCAoa2V5 KSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA2NzogRklM RTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjE0OToKK15JY2FzZSBGVVNFX09QVF9LRVlfTk9O T1BUOiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNjg6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoxNTA6CiteSV5JaWYgKCFvcHRzLT5tb3VudHBv aW50KSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA2OTog RklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjE1MToKK15JXkleSWlmIChmdXNlX21udF9w YXJzZV9mdXNlX2ZkKGFyZykgIT0gLTEpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxMDcwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTUyOgor XkleSV5JXklyZXR1cm4gZnVzZV9vcHRfYWRkX29wdCgmb3B0cy0+bW91bnRwb2ludCwgYXJnKTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDcxOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTUzOgorXkleSV5JfSQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNzM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxw ZXIuYzoxNTU6CiteSV5JXkljaGFyIG1vdW50cG9pbnRbUEFUSF9NQVhdID0gIiI7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA3NDogRklMRTogdG9vbHMvdmly dGlvZnNkL2hlbHBlci5jOjE1NjoKK15JXkleSWlmIChyZWFscGF0aChhcmcsIG1vdW50cG9pbnQp ID09IE5VTEwpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx MDc1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTU3OgorXkleSV5JXklmdXNlX2xv ZyhGVVNFX0xPR19FUlIsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTA3NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjE1ODoKK15JXkleSV5JXkki ZnVzZTogYmFkIG1vdW50IHBvaW50IGAlcyc6ICVzXG4iLCQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIu YzoxNTk6CiteSV5JXkleSV5JYXJnLCBzdHJlcnJvcihlcnJubykpOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9o ZWxwZXIuYzoxNjA6CiteSV5JXkleSXJldHVybiAtMTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxMDc5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6 MTYxOgorXkleSV5JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzEwODA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoxNjI6CiteSV5JXklyZXR1cm4g ZnVzZV9vcHRfYWRkX29wdCgmb3B0cy0+bW91bnRwb2ludCwgbW91bnRwb2ludCk7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA4MTogRklMRTogdG9vbHMvdmly dGlvZnNkL2hlbHBlci5jOjE2MzoKK15JXkl9IGVsc2UgeyQKCldBUk5JTkc6IGxpbmUgb3ZlciA4 MCBjaGFyYWN0ZXJzCiMxMDgyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTY0Ogor ICAgICAgICAgICAgICAgICAgICAgICBmdXNlX2xvZyhGVVNFX0xPR19FUlIsICJmdXNlOiBpbnZh bGlkIGFyZ3VtZW50IGAlcydcbiIsIGFyZyk7CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxMDgyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTY0Ogor XkleSV5JZnVzZV9sb2coRlVTRV9MT0dfRVJSLCAiZnVzZTogaW52YWxpZCBhcmd1bWVudCBgJXMn XG4iLCBhcmcpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEw ODM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoxNjU6CiteSV5JXklyZXR1cm4gLTE7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA4NDogRklMRTog dG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjE2NjoKK15JXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA4NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBl ci5jOjE2ODoKK15JZGVmYXVsdDokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxMDg3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTY5OgorXkleSS8q IFBhc3MgdGhyb3VnaCB1bmtub3duIG9wdGlvbnMgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxMDg4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6 MTcwOgorXkleSXJldHVybiAxOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEwODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoxNzE6CiteSX0kCgpX QVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJhdGUgbGlu ZQojMTA5MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjE3NDoKKy8qIFVuZGVyIEZy ZWVCU0QsIHRoZXJlIGlzIG5vIHN1YnR5cGUgb3B0aW9uIHNvIHRoaXMKCldBUk5JTkc6IEJsb2Nr IGNvbW1lbnRzIHVzZSAqIG9uIHN1YnNlcXVlbnQgbGluZXMKIzEwOTM6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9oZWxwZXIuYzoxNzU6CisvKiBVbmRlciBGcmVlQlNELCB0aGVyZSBpcyBubyBzdWJ0 eXBlIG9wdGlvbiBzbyB0aGlzCisgICBmdW5jdGlvbiBhY3R1YWxseSBzZXRzIHRoZSBmc25hbWUg Ki8KCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIHRyYWlsaW5nICovIG9uIGEgc2VwYXJh dGUgbGluZQojMTA5MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjE3NToKKyAgIGZ1 bmN0aW9uIGFjdHVhbGx5IHNldHMgdGhlIGZzbmFtZSAqLwoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTA5NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5j OjE3ODoKK15JaW50IHJlczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxMDk3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTc5OgorXkljaGFyICpz dWJ0eXBlX29wdDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx MDk5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTgxOgorXkljb25zdCBjaGFyICpi YXNlbmFtZSA9IHN0cnJjaHIocHJvZ25hbWUsICcvJyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTEwMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5j OjE4MjoKK15JaWYgKGJhc2VuYW1lID09IE5VTEwpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVj ZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMTEwMDogRklMRTogdG9vbHMv dmlydGlvZnNkL2hlbHBlci5jOjE4MjoKKyAgICAgICBpZiAoYmFzZW5hbWUgPT0gTlVMTCkKWy4u Ll0KKyAgICAgICBlbHNlIGlmIChiYXNlbmFtZVsxXSAhPSAnXDAnKQpbLi4uXQoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTEwMTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2hlbHBlci5jOjE4MzoKK15JXkliYXNlbmFtZSA9IHByb2duYW1lOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExMDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9oZWxwZXIuYzoxODQ6CiteSWVsc2UgaWYgKGJhc2VuYW1lWzFdICE9ICdcMCcpJAoKRVJST1I6 IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAoj MTEwMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjE4NDoKKyAgICAgICBlbHNlIGlm IChiYXNlbmFtZVsxXSAhPSAnXDAnKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTEwMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjE4NToK K15JXkliYXNlbmFtZSsrOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzExMDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoxODc6CiteSXN1YnR5cGVf b3B0ID0gKGNoYXIgKikgbWFsbG9jKHN0cmxlbihiYXNlbmFtZSkgKyA2NCk7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTEwNjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2hlbHBlci5jOjE4ODoKK15JaWYgKHN1YnR5cGVfb3B0ID09IE5VTEwpIHskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTA3OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvaGVscGVyLmM6MTg5OgorXkleSWZ1c2VfbG9nKEZVU0VfTE9HX0VSUiwgImZ1c2U6IG1l bW9yeSBhbGxvY2F0aW9uIGZhaWxlZFxuIik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTEwODogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjE5MDoK K15JXklyZXR1cm4gLTE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTEwOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjE5MToKK15JfSQKCldBUk5J Tkc6IGFyY2hpdGVjdHVyZSBzcGVjaWZpYyBkZWZpbmVzIHNob3VsZCBiZSBhdm9pZGVkCiMxMTEw OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTkyOgorI2lmZGVmIF9fRnJlZUJTRF9f CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTExOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTkzOgorXklzcHJpbnRmKHN1YnR5cGVfb3B0LCAiLW9m c25hbWU9JXMiLCBiYXNlbmFtZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMTExMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjE5NToKK15Jc3By aW50ZihzdWJ0eXBlX29wdCwgIi1vc3VidHlwZT0lcyIsIGJhc2VuYW1lKTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTE1OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvaGVscGVyLmM6MTk3OgorXklyZXMgPSBmdXNlX29wdF9hZGRfYXJnKGFyZ3MsIHN1YnR5cGVf b3B0KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTE2OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTk4OgorXklmcmVlKHN1YnR5cGVfb3B0KTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTE3OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MTk5OgorXklyZXR1cm4gcmVzOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExMjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9oZWxwZXIuYzoyMDM6CiteSV5JICAgICAgIHN0cnVjdCBmdXNlX2NtZGxpbmVfb3B0cyAqb3B0 cykkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTIzOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjA1OgorXkltZW1zZXQob3B0cywgMCwgc2l6ZW9m KHN0cnVjdCBmdXNlX2NtZGxpbmVfb3B0cykpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzExMjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoyMDc6 CiteSW9wdHMtPm1heF9pZGxlX3RocmVhZHMgPSAxMDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxMTI3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6 MjA5OgorXklpZiAoZnVzZV9vcHRfcGFyc2UoYXJncywgb3B0cywgZnVzZV9oZWxwZXJfb3B0cywk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTI4OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjEwOgorXkleSV5JICAgZnVzZV9oZWxwZXJfb3B0X3By b2MpID09IC0xKSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEx Mjk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoyMTE6CiteSV5JcmV0dXJuIC0xOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExMzE6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoyMTM6CiteSS8qICpMaW51eCo6IGlmIG5laXRoZXIgLW8g c3VidHlwZSBub3IgLW8gZnNuYW1lIGFyZSBzcGVjaWZpZWQsJAoKV0FSTklORzogQmxvY2sgY29t bWVudHMgdXNlIGEgbGVhZGluZyAvKiBvbiBhIHNlcGFyYXRlIGxpbmUKIzExMzE6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoyMTM6CisgICAgICAgLyogKkxpbnV4KjogaWYgbmVpdGhl ciAtbyBzdWJ0eXBlIG5vciAtbyBmc25hbWUgYXJlIHNwZWNpZmllZCwKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExMzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9o ZWxwZXIuYzoyMTQ6CiteSSAgIHNldCBzdWJ0eXBlIHRvIHByb2dyYW0ncyBiYXNlbmFtZS4kCgpX QVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgKiBvbiBzdWJzZXF1ZW50IGxpbmVzCiMxMTMyOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjE0OgorICAgICAgIC8qICpMaW51eCo6IGlm IG5laXRoZXIgLW8gc3VidHlwZSBub3IgLW8gZnNuYW1lIGFyZSBzcGVjaWZpZWQsCisgICAgICAg ICAgc2V0IHN1YnR5cGUgdG8gcHJvZ3JhbSdzIGJhc2VuYW1lLgoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTEzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBl ci5jOjIxNToKK15JICAgKkZyZWVCU0QqOiBpZiBmc25hbWUgaXMgbm90IHNwZWNpZmllZCwgc2V0 IHRvIHByb2dyYW0ncyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzExMzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoyMTY6CiteSSAgIGJhc2VuYW1l LiAqLyQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIHRyYWlsaW5nICovIG9uIGEgc2Vw YXJhdGUgbGluZQojMTEzNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjIxNjoKKyAg ICAgICAgICBiYXNlbmFtZS4gKi8KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzExMzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoyMTc6CiteSWlmICgh b3B0cy0+bm9kZWZhdWx0X3N1YnR5cGUpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTEzNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjIxODoKK15J XklpZiAoYWRkX2RlZmF1bHRfc3VidHlwZShhcmdzLT5hcmd2WzBdLCBhcmdzKSA9PSAtMSkkCgpF UlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVt ZW50CiMxMTM2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjE4OgorICAgICAgICAg ICAgICAgaWYgKGFkZF9kZWZhdWx0X3N1YnR5cGUoYXJncy0+YXJndlswXSwgYXJncykgPT0gLTEp ClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTM3OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjE5OgorXkleSV5JcmV0dXJuIC0xOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExMzk6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9oZWxwZXIuYzoyMjE6CiteSXJldHVybiAwOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExNDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxw ZXIuYzoyMjc6CiteSWlmICghZm9yZWdyb3VuZCkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzExNDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoy Mjg6CiteSV5JaW50IG51bGxmZDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxMTQ3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjI5OgorXkleSWlu dCB3YWl0ZXJbMl07JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTE0ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjIzMDoKK15JXkljaGFyIGNvbXBs ZXRlZDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTUwOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjMyOgorXkleSWlmIChwaXBlKHdhaXRlcikp IHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTUxOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjMzOgorXkleSV5JcGVycm9yKCJmdXNlX2RhZW1v bml6ZTogcGlwZSIpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzExNTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoyMzQ6CiteSV5JXklyZXR1cm4g LTE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE1MzogRklM RTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjIzNToKK15JXkl9JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE1NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2hl bHBlci5jOjIzNzoKK15JXkkvKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzExNTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoyMzg6CiteSV5JICog ZGVtb25pemUgY3VycmVudCBwcm9jZXNzIGJ5IGZvcmtpbmcgaXQgYW5kIGtpbGxpbmcgdGhlJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE1NzogRklMRTogdG9v bHMvdmlydGlvZnNkL2hlbHBlci5jOjIzOToKK15JXkkgKiBwYXJlbnQuICBUaGlzIG1ha2VzIGN1 cnJlbnQgcHJvY2VzcyBhcyBhIGNoaWxkIG9mICdpbml0Jy4kCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTU4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVy LmM6MjQwOgorXkleSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzExNTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoyNDE6CiteSV5Jc3dpdGNo KGZvcmsoKSkgeyQKCkVSUk9SOiBzcGFjZSByZXF1aXJlZCBiZWZvcmUgdGhlIG9wZW4gcGFyZW50 aGVzaXMgJygnCiMxMTU5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjQxOgorICAg ICAgICAgICAgICAgc3dpdGNoKGZvcmsoKSkgewoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTE2MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjI0MjoK K15JXkljYXNlIC0xOiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzExNjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoyNDM6CiteSV5JXklwZXJyb3Io ImZ1c2VfZGFlbW9uaXplOiBmb3JrIik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTE2MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjI0NDoKK15J XkleSXJldHVybiAtMTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxMTYzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjQ1OgorXkleSWNhc2UgMDok CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTY0OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjQ2OgorXkleSV5JYnJlYWs7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE2NTogRklMRTogdG9vbHMvdmlydGlvZnNk L2hlbHBlci5jOjI0NzoKK15JXklkZWZhdWx0OiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzExNjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoyNDg6 CiteSV5JXkkodm9pZCkgcmVhZCh3YWl0ZXJbMF0sICZjb21wbGV0ZWQsIHNpemVvZihjb21wbGV0 ZWQpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTY3OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjQ5OgorXkleSV5JX2V4aXQoMCk7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE2ODogRklMRTogdG9vbHMv dmlydGlvZnNkL2hlbHBlci5jOjI1MDoKK15JXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTE3MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjI1 MjoKK15JXklpZiAoc2V0c2lkKCkgPT0gLTEpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxMTcxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjUz OgorXkleSV5JcGVycm9yKCJmdXNlX2RhZW1vbml6ZTogc2V0c2lkIik7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE3MjogRklMRTogdG9vbHMvdmlydGlvZnNk L2hlbHBlci5jOjI1NDoKK15JXkleSXJldHVybiAtMTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxMTczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6 MjU1OgorXkleSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx MTc1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjU3OgorXkleSSh2b2lkKSBjaGRp cigiLyIpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExNzc6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoyNTk6CiteSV5JbnVsbGZkID0gb3Blbigi L2Rldi9udWxsIiwgT19SRFdSLCAwKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMTc4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjYwOgorXkle SWlmIChudWxsZmQgIT0gLTEpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxMTc5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjYxOgorXkleSV5J KHZvaWQpIGR1cDIobnVsbGZkLCAwKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMTgwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjYyOgorXkle SV5JKHZvaWQpIGR1cDIobnVsbGZkLCAxKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxMTgxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjYzOgor XkleSV5JKHZvaWQpIGR1cDIobnVsbGZkLCAyKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxMTgyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjY0 OgorXkleSV5JaWYgKG51bGxmZCA+IDIpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5 IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMTE4MjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2hlbHBlci5jOjI2NDoKKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKG51bGxmZCA+IDIp ClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTgzOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjY1OgorXkleSV5JXkljbG9zZShudWxsZmQp OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExODQ6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoyNjY6CiteSV5JfSQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxw ZXIuYzoyNjg6CiteSV5JLyogUHJvcGFnYXRlIGNvbXBsZXRpb24gb2YgZGFlbW9uIGluaXRpYWxp emF0aW9uICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE4 NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjI2OToKK15JXkljb21wbGV0ZWQgPSAx OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExODg6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoyNzA6CiteSV5JKHZvaWQpIHdyaXRlKHdhaXRlclsx XSwgJmNvbXBsZXRlZCwgc2l6ZW9mKGNvbXBsZXRlZCkpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIu YzoyNzE6CiteSV5JY2xvc2Uod2FpdGVyWzBdKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxMTkwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6Mjcy OgorXkleSWNsb3NlKHdhaXRlclsxXSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTE5MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjI3MzoKK15J fSBlbHNlIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTky OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6Mjc0OgorXkleSSh2b2lkKSBjaGRpcigi LyIpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExOTM6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoyNzU6CiteSX0kCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTk0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVs cGVyLmM6Mjc2OgorXklyZXR1cm4gMDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMTk4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjgwOgorXkle SSAgIHNpemVfdCBvcF9zaXplLCB2b2lkICp1c2VyX2RhdGEpJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIwMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBl ci5jOjI4MjoKK15Jc3RydWN0IGZ1c2VfYXJncyBhcmdzID0gRlVTRV9BUkdTX0lOSVQoYXJnYywg YXJndik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIwMTog RklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjI4MzoKK15Jc3RydWN0IGZ1c2UgKmZ1c2U7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIwMjogRklMRTog dG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjI4NDoKK15Jc3RydWN0IGZ1c2VfY21kbGluZV9vcHRz IG9wdHM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIwMzog RklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjI4NToKK15JaW50IHJlczskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjA1OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvaGVscGVyLmM6Mjg3OgorXklpZiAoZnVzZV9wYXJzZV9jbWRsaW5lKCZhcmdzLCAmb3B0 cykgIT0gMCkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9m IHRoaXMgc3RhdGVtZW50CiMxMjA1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6Mjg3 OgorICAgICAgIGlmIChmdXNlX3BhcnNlX2NtZGxpbmUoJmFyZ3MsICZvcHRzKSAhPSAwKQpbLi4u XQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIwNjogRklMRTog dG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjI4ODoKK15JXklyZXR1cm4gMTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjA4OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvaGVscGVyLmM6MjkwOgorXklpZiAob3B0cy5zaG93X3ZlcnNpb24pIHskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjA5OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvaGVscGVyLmM6MjkxOgorXkleSXByaW50ZigiRlVTRSBsaWJyYXJ5IHZlcnNpb24gJXNcbiIs IFBBQ0tBR0VfVkVSU0lPTik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMTIxMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjI5MjoKK15JXklmdXNl X2xvd2xldmVsX3ZlcnNpb24oKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxMjExOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MjkzOgorXkleSXJl cyA9IDA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIxMjog RklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjI5NDoKK15JXklnb3RvIG91dDE7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIxMzogRklMRTogdG9vbHMv dmlydGlvZnNkL2hlbHBlci5jOjI5NToKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzEyMTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoyOTc6 CiteSWlmIChvcHRzLnNob3dfaGVscCkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzEyMTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoyOTg6Cite SV5JaWYoYXJncy5hcmd2WzBdWzBdICE9ICdcMCcpJAoKRVJST1I6IHNwYWNlIHJlcXVpcmVkIGJl Zm9yZSB0aGUgb3BlbiBwYXJlbnRoZXNpcyAnKCcKIzEyMTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9oZWxwZXIuYzoyOTg6CisgICAgICAgICAgICAgICBpZihhcmdzLmFyZ3ZbMF1bMF0gIT0gJ1ww JykKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMTc6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoyOTk6CiteSV5JXklwcmludGYoInVzYWdlOiAlcyBb b3B0aW9uc10gPG1vdW50cG9pbnQ+XG5cbiIsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTIxODogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjMwMDoK K15JXkleSSAgICAgICBhcmdzLmFyZ3ZbMF0pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzEyMTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzozMDE6 CiteSV5JcHJpbnRmKCJGVVNFIG9wdGlvbnM6XG4iKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxMjIwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6 MzAyOgorXkleSWZ1c2VfY21kbGluZV9oZWxwKCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTIyMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjMw MzoKK15JXklmdXNlX2xpYl9oZWxwKCZhcmdzKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxMjIyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MzA0 OgorXkleSXJlcyA9IDA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTIyMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjMwNToKK15JXklnb3RvIG91 dDE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIyNDogRklM RTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjMwNjoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxw ZXIuYzozMDg6CiteSWlmICghb3B0cy5zaG93X2hlbHAgJiYkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjI3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVy LmM6MzA5OgorXkkgICAgIW9wdHMubW91bnRwb2ludCkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMjg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIu YzozMTA6CiteSV5JZnVzZV9sb2coRlVTRV9MT0dfRVJSLCAiZXJyb3I6IG5vIG1vdW50cG9pbnQg c3BlY2lmaWVkXG4iKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxMjI5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MzExOgorXkleSXJlcyA9IDI7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIzMDogRklMRTog dG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjMxMjoKK15JXklnb3RvIG91dDE7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIzMTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2hlbHBlci5jOjMxMzoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzEyMzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzozMTY6CiteSWZ1 c2UgPSBmdXNlX25ld18zMSgmYXJncywgb3AsIG9wX3NpemUsIHVzZXJfZGF0YSk7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIzNTogRklMRTogdG9vbHMvdmly dGlvZnNkL2hlbHBlci5jOjMxNzoKK15JaWYgKGZ1c2UgPT0gTlVMTCkgeyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9oZWxwZXIuYzozMTg6CiteSV5JcmVzID0gMzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxMjM3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MzE5 OgorXkleSWdvdG8gb3V0MTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxMjM4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MzIwOgorXkl9JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTI0MDogRklMRTogdG9vbHMv dmlydGlvZnNkL2hlbHBlci5jOjMyMjoKK15JaWYgKGZ1c2VfbW91bnQoZnVzZSxvcHRzLm1vdW50 cG9pbnQpICE9IDApIHskCgpFUlJPUjogc3BhY2UgcmVxdWlyZWQgYWZ0ZXIgdGhhdCAnLCcgKGN0 eDpWeFYpCiMxMjQwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MzIyOgorICAgICAg IGlmIChmdXNlX21vdW50KGZ1c2Usb3B0cy5tb3VudHBvaW50KSAhPSAwKSB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzEyNDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzozMjM6CiteSV5JcmVzID0g NDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjQyOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MzI0OgorXkleSWdvdG8gb3V0MjskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjQzOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvaGVscGVyLmM6MzI1OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTI0NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjMyNzoKK15J aWYgKGZ1c2VfZGFlbW9uaXplKG9wdHMuZm9yZWdyb3VuZCkgIT0gMCkgeyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9oZWxwZXIuYzozMjg6CiteSV5JcmVzID0gNTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxMjQ3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MzI5 OgorXkleSWdvdG8gb3V0MzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxMjQ4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MzMwOgorXkl9JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTI1MDogRklMRTogdG9vbHMv dmlydGlvZnNkL2hlbHBlci5jOjMzMjoKK15Jc3RydWN0IGZ1c2Vfc2Vzc2lvbiAqc2UgPSBmdXNl X2dldF9zZXNzaW9uKGZ1c2UpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEyNTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzozMzM6CiteSWlmIChm dXNlX3NldF9zaWduYWxfaGFuZGxlcnMoc2UpICE9IDApIHskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjUyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVy LmM6MzM0OgorXkleSXJlcyA9IDY7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMTI1MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjMzNToKK15JXkln b3RvIG91dDM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTI1 NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjMzNjoKK15JfSQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9oZWxwZXIuYzozMzg6CiteSWlmIChvcHRzLnNpbmdsZXRocmVhZCkkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjU3OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv aGVscGVyLmM6MzM5OgorXkleSXJlcyA9IGZ1c2VfbG9vcChmdXNlKTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjU4OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv aGVscGVyLmM6MzQwOgorXkllbHNlIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMjU5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MzQxOgorXkle SXN0cnVjdCBmdXNlX2xvb3BfY29uZmlnIGxvb3BfY29uZmlnOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxw ZXIuYzozNDI6CiteSV5JbG9vcF9jb25maWcuY2xvbmVfZmQgPSBvcHRzLmNsb25lX2ZkOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNjE6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9oZWxwZXIuYzozNDM6CiteSV5JbG9vcF9jb25maWcubWF4X2lkbGVfdGhyZWFk cyA9IG9wdHMubWF4X2lkbGVfdGhyZWFkczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxMjYyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MzQ0Ogor XkleSXJlcyA9IGZ1c2VfbG9vcF9tdF8zMihmdXNlLCAmbG9vcF9jb25maWcpOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNjM6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9oZWxwZXIuYzozNDU6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMjY0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MzQ2OgorXklp ZiAocmVzKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2Yg dGhpcyBzdGF0ZW1lbnQKIzEyNjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzozNDY6 CisgICAgICAgaWYgKHJlcykKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzEyNjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzozNDc6CiteSV5J cmVzID0gNzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjY3 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MzQ5OgorXklmdXNlX3JlbW92ZV9zaWdu YWxfaGFuZGxlcnMoc2UpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzEyNjk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzozNTE6CiteSWZ1c2VfdW5t b3VudChmdXNlKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx MjcxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MzUzOgorXklmdXNlX2Rlc3Ryb3ko ZnVzZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTI3Mzog RklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjM1NToKK15JZnJlZShvcHRzLm1vdW50cG9p bnQpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNzQ6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzozNTY6CiteSWZ1c2Vfb3B0X2ZyZWVfYXJncygm YXJncyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTI3NTog RklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjM1NzoKK15JcmV0dXJuIHJlczskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjgwOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvaGVscGVyLmM6MzYyOgorXkleSV5JICAgICAgIHN0cnVjdCBmdXNlX2Nvbm5faW5m byAqY29ubikkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjgy OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MzY0OgorXklpZihvcHRzLT5zZXRfbWF4 X3dyaXRlKSQKCkVSUk9SOiBzcGFjZSByZXF1aXJlZCBiZWZvcmUgdGhlIG9wZW4gcGFyZW50aGVz aXMgJygnCiMxMjgyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MzY0OgorICAgICAg IGlmKG9wdHMtPnNldF9tYXhfd3JpdGUpCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3Nhcnkg Zm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMxMjgyOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvaGVscGVyLmM6MzY0OgorICAgICAgIGlmKG9wdHMtPnNldF9tYXhfd3JpdGUpClsuLi5dCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjgzOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvaGVscGVyLmM6MzY1OgorXkleSWNvbm4tPm1heF93cml0ZSA9IG9wdHMtPm1h eF93cml0ZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjg0 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MzY2OgorXklpZihvcHRzLT5zZXRfbWF4 X2JhY2tncm91bmQpJAoKRVJST1I6IHNwYWNlIHJlcXVpcmVkIGJlZm9yZSB0aGUgb3BlbiBwYXJl bnRoZXNpcyAnKCcKIzEyODQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzozNjY6Cisg ICAgICAgaWYob3B0cy0+c2V0X21heF9iYWNrZ3JvdW5kKQoKRVJST1I6IGJyYWNlcyB7fSBhcmUg bmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMTI4NDogRklMRTogdG9v bHMvdmlydGlvZnNkL2hlbHBlci5jOjM2NjoKKyAgICAgICBpZihvcHRzLT5zZXRfbWF4X2JhY2tn cm91bmQpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx Mjg1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MzY3OgorXkleSWNvbm4tPm1heF9i YWNrZ3JvdW5kID0gb3B0cy0+bWF4X2JhY2tncm91bmQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTI4NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5j OjM2ODoKK15JaWYob3B0cy0+c2V0X2Nvbmdlc3Rpb25fdGhyZXNob2xkKSQKCkVSUk9SOiBzcGFj ZSByZXF1aXJlZCBiZWZvcmUgdGhlIG9wZW4gcGFyZW50aGVzaXMgJygnCiMxMjg2OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvaGVscGVyLmM6MzY4OgorICAgICAgIGlmKG9wdHMtPnNldF9jb25nZXN0 aW9uX3RocmVzaG9sZCkKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFy bXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzEyODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIu YzozNjg6CisgICAgICAgaWYob3B0cy0+c2V0X2Nvbmdlc3Rpb25fdGhyZXNob2xkKQpbLi4uXQoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTI4NzogRklMRTogdG9v bHMvdmlydGlvZnNkL2hlbHBlci5jOjM2OToKK15JXkljb25uLT5jb25nZXN0aW9uX3RocmVzaG9s ZCA9IG9wdHMtPmNvbmdlc3Rpb25fdGhyZXNob2xkOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzEyODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoz NzA6CiteSWlmKG9wdHMtPnNldF90aW1lX2dyYW4pJAoKRVJST1I6IHNwYWNlIHJlcXVpcmVkIGJl Zm9yZSB0aGUgb3BlbiBwYXJlbnRoZXNpcyAnKCcKIzEyODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9oZWxwZXIuYzozNzA6CisgICAgICAgaWYob3B0cy0+c2V0X3RpbWVfZ3JhbikKCkVSUk9SOiBi cmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzEy ODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzozNzA6CisgICAgICAgaWYob3B0cy0+ c2V0X3RpbWVfZ3JhbikKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEyODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzozNzE6CiteSV5JY29u bi0+dGltZV9ncmFuID0gb3B0cy0+dGltZV9ncmFuOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzEyOTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoz NzI6CiteSWlmKG9wdHMtPnNldF9tYXhfcmVhZGFoZWFkKSQKCkVSUk9SOiBzcGFjZSByZXF1aXJl ZCBiZWZvcmUgdGhlIG9wZW4gcGFyZW50aGVzaXMgJygnCiMxMjkwOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvaGVscGVyLmM6MzcyOgorICAgICAgIGlmKG9wdHMtPnNldF9tYXhfcmVhZGFoZWFkKQoK RVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRl bWVudAojMTI5MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjM3MjoKKyAgICAgICBp ZihvcHRzLT5zZXRfbWF4X3JlYWRhaGVhZCkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzEyOTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoz NzM6CiteSV5JY29ubi0+bWF4X3JlYWRhaGVhZCA9IG9wdHMtPm1heF9yZWFkYWhlYWQ7JAoKRVJS T1I6IHNwYWNlIHJlcXVpcmVkIGFmdGVyIHRoYXQgJywnIChjdHg6VnhWKQojMTI5MzogRklMRTog dG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjM3NToKKyNkZWZpbmUgTExfRU5BQkxFKGNvbmQsY2Fw KSBcCiAgICAgICAgICAgICAgICAgICAgICAgXgoKRVJST1I6IE1hY3JvcyB3aXRoIGNvbXBsZXgg dmFsdWVzIHNob3VsZCBiZSBlbmNsb3NlZCBpbiBwYXJlbnRoZXNpcwojMTI5MzogRklMRTogdG9v bHMvdmlydGlvZnNkL2hlbHBlci5jOjM3NToKKyNkZWZpbmUgTExfRU5BQkxFKGNvbmQsY2FwKSBc CisgICAgICAgaWYgKGNvbmQpIGNvbm4tPndhbnQgfD0gKGNhcCkKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyOTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxw ZXIuYzozNzY6CiteSWlmIChjb25kKSBjb25uLT53YW50IHw9IChjYXApJAoKRVJST1I6IHRyYWls aW5nIHN0YXRlbWVudHMgc2hvdWxkIGJlIG9uIG5leHQgbGluZQojMTI5NDogRklMRTogdG9vbHMv dmlydGlvZnNkL2hlbHBlci5jOjM3NjoKKyAgICAgICBpZiAoY29uZCkgY29ubi0+d2FudCB8PSAo Y2FwKQoKRVJST1I6IHNwYWNlIHJlcXVpcmVkIGFmdGVyIHRoYXQgJywnIChjdHg6VnhWKQojMTI5 NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjM3NzoKKyNkZWZpbmUgTExfRElTQUJM RShjb25kLGNhcCkgXAogICAgICAgICAgICAgICAgICAgICAgICBeCgpFUlJPUjogTWFjcm9zIHdp dGggY29tcGxleCB2YWx1ZXMgc2hvdWxkIGJlIGVuY2xvc2VkIGluIHBhcmVudGhlc2lzCiMxMjk1 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6Mzc3OgorI2RlZmluZSBMTF9ESVNBQkxF KGNvbmQsY2FwKSBcCisgICAgICAgaWYgKGNvbmQpIGNvbm4tPndhbnQgJj0gfihjYXApCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjk2OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvaGVscGVyLmM6Mzc4OgorXklpZiAoY29uZCkgY29ubi0+d2FudCAmPSB+KGNhcCkk CgpFUlJPUjogdHJhaWxpbmcgc3RhdGVtZW50cyBzaG91bGQgYmUgb24gbmV4dCBsaW5lCiMxMjk2 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6Mzc4OgorICAgICAgIGlmIChjb25kKSBj b25uLT53YW50ICY9IH4oY2FwKQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMTI5ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjM4MDoKK15JTExfRU5B QkxFKG9wdHMtPnNwbGljZV9yZWFkLCBGVVNFX0NBUF9TUExJQ0VfUkVBRCk7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTI5OTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2hlbHBlci5jOjM4MToKK15JTExfRElTQUJMRShvcHRzLT5ub19zcGxpY2VfcmVhZCwgRlVT RV9DQVBfU1BMSUNFX1JFQUQpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEzMDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzozODM6CiteSUxMX0VO QUJMRShvcHRzLT5zcGxpY2Vfd3JpdGUsIEZVU0VfQ0FQX1NQTElDRV9XUklURSk7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMwMjogRklMRTogdG9vbHMvdmly dGlvZnNkL2hlbHBlci5jOjM4NDoKK15JTExfRElTQUJMRShvcHRzLT5ub19zcGxpY2Vfd3JpdGUs IEZVU0VfQ0FQX1NQTElDRV9XUklURSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTMwNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjM4NjoKK15J TExfRU5BQkxFKG9wdHMtPnNwbGljZV9tb3ZlLCBGVVNFX0NBUF9TUExJQ0VfTU9WRSk7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMwNTogRklMRTogdG9vbHMv dmlydGlvZnNkL2hlbHBlci5jOjM4NzoKK15JTExfRElTQUJMRShvcHRzLT5ub19zcGxpY2VfbW92 ZSwgRlVTRV9DQVBfU1BMSUNFX01PVkUpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzEzMDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzozODk6Cite SUxMX0VOQUJMRShvcHRzLT5hdXRvX2ludmFsX2RhdGEsIEZVU0VfQ0FQX0FVVE9fSU5WQUxfREFU QSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMwODogRklM RTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjM5MDoKK15JTExfRElTQUJMRShvcHRzLT5ub19h dXRvX2ludmFsX2RhdGEsIEZVU0VfQ0FQX0FVVE9fSU5WQUxfREFUQSk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMxMDogRklMRTogdG9vbHMvdmlydGlvZnNk L2hlbHBlci5jOjM5MjoKK15JTExfRElTQUJMRShvcHRzLT5ub19yZWFkZGlycGx1cywgRlVTRV9D QVBfUkVBRERJUlBMVVMpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzEzMTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzozOTM6CiteSUxMX0RJU0FC TEUob3B0cy0+bm9fcmVhZGRpcnBsdXNfYXV0bywgRlVTRV9DQVBfUkVBRERJUlBMVVNfQVVUTyk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMxMzogRklMRTog dG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjM5NToKK15JTExfRU5BQkxFKG9wdHMtPmFzeW5jX2Rp bywgRlVTRV9DQVBfQVNZTkNfRElPKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMzE0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6Mzk2OgorXklM TF9ESVNBQkxFKG9wdHMtPm5vX2FzeW5jX2RpbywgRlVTRV9DQVBfQVNZTkNfRElPKTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzE2OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvaGVscGVyLmM6Mzk4OgorXklMTF9FTkFCTEUob3B0cy0+d3JpdGViYWNrX2NhY2hl LCBGVVNFX0NBUF9XUklURUJBQ0tfQ0FDSEUpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzEzMTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzozOTk6 CiteSUxMX0RJU0FCTEUob3B0cy0+bm9fd3JpdGViYWNrX2NhY2hlLCBGVVNFX0NBUF9XUklURUJB Q0tfQ0FDSEUpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEz MTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzo0MDE6CiteSUxMX0VOQUJMRShvcHRz LT5hc3luY19yZWFkLCBGVVNFX0NBUF9BU1lOQ19SRUFEKTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzIwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVy LmM6NDAyOgorXklMTF9ESVNBQkxFKG9wdHMtPnN5bmNfcmVhZCwgRlVTRV9DQVBfQVNZTkNfUkVB RCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMyMjogRklM RTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjQwNDoKK15JTExfRElTQUJMRShvcHRzLT5ub19y ZW1vdGVfcG9zaXhfbG9jaywgRlVTRV9DQVBfUE9TSVhfTE9DS1MpOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzMjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9o ZWxwZXIuYzo0MDU6CiteSUxMX0RJU0FCTEUob3B0cy0+bm9fcmVtb3RlX2Zsb2NrLCBGVVNFX0NB UF9GTE9DS19MT0NLUyk7JAoKRVJST1I6ICJmb28qIGJhciIgc2hvdWxkIGJlICJmb28gKmJhciIK IzEzMjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzo0MDg6CitzdHJ1Y3QgZnVzZV9j b25uX2luZm9fb3B0cyogZnVzZV9wYXJzZV9jb25uX2luZm9fb3B0cyhzdHJ1Y3QgZnVzZV9hcmdz ICphcmdzKQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMyODog RklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjQxMDoKK15Jc3RydWN0IGZ1c2VfY29ubl9p bmZvX29wdHMgKm9wdHM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTMzMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjQxMjoKK15Jb3B0cyA9IGNh bGxvYygxLCBzaXplb2Yoc3RydWN0IGZ1c2VfY29ubl9pbmZvX29wdHMpKTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzMxOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvaGVscGVyLmM6NDEzOgorXklpZihvcHRzID09IE5VTEwpIHskCgpFUlJPUjogc3BhY2UgcmVx dWlyZWQgYmVmb3JlIHRoZSBvcGVuIHBhcmVudGhlc2lzICcoJwojMTMzMTogRklMRTogdG9vbHMv dmlydGlvZnNkL2hlbHBlci5jOjQxMzoKKyAgICAgICBpZihvcHRzID09IE5VTEwpIHsKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzMzI6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9oZWxwZXIuYzo0MTQ6CiteSV5JZnVzZV9sb2coRlVTRV9MT0dfRVJSLCAiY2FsbG9j IGZhaWxlZFxuIik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTMzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjQxNToKK15JXklyZXR1cm4gTlVM TDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzM0OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6NDE2OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMzNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBl ci5jOjQxNzoKK15JaWYoZnVzZV9vcHRfcGFyc2UoYXJncywgb3B0cywgY29ubl9pbmZvX29wdF9z cGVjLCBOVUxMKSA9PSAtMSkgeyQKCkVSUk9SOiBzcGFjZSByZXF1aXJlZCBiZWZvcmUgdGhlIG9w ZW4gcGFyZW50aGVzaXMgJygnCiMxMzM1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6 NDE3OgorICAgICAgIGlmKGZ1c2Vfb3B0X3BhcnNlKGFyZ3MsIG9wdHMsIGNvbm5faW5mb19vcHRf c3BlYywgTlVMTCkgPT0gLTEpIHsKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEzMzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzo0MTg6CiteSV5JZnJl ZShvcHRzKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzM3 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6NDE5OgorXkleSXJldHVybiBOVUxMOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzMzg6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzo0MjA6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxMzM5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6 NDIxOgorXklyZXR1cm4gb3B0czskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxMzQ0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6NDI2OgorXklzdHJ1 Y3QgbW91bnRfb3B0cyAqb3B0cyA9IE5VTEw7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTM0NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjQyNzoK K15JaW50IGZkID0gLTE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTM0NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjQyODoKK15JY29uc3QgY2hh ciAqYXJndltdID0geyAiIiwgIi1vIiwgb3B0aW9ucyB9OyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzNDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIu Yzo0Mjk6CiteSWludCBhcmdjID0gc2l6ZW9mKGFyZ3YpIC8gc2l6ZW9mKGFyZ3ZbMF0pOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzNDg6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9oZWxwZXIuYzo0MzA6CiteSXN0cnVjdCBmdXNlX2FyZ3MgYXJncyA9IEZVU0Vf QVJHU19JTklUKGFyZ2MsIChjaGFyKiopIGFyZ3YpOyQKCkVSUk9SOiAiKGZvbyoqKSIgc2hvdWxk IGJlICIoZm9vICoqKSIKIzEzNDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzo0MzA6 CisgICAgICAgc3RydWN0IGZ1c2VfYXJncyBhcmdzID0gRlVTRV9BUkdTX0lOSVQoYXJnYywgKGNo YXIqKikgYXJndik7CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx MzUwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6NDMyOgorXklvcHRzID0gcGFyc2Vf bW91bnRfb3B0cygmYXJncyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMTM1MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5jOjQzMzoKK15JaWYgKG9w dHMgPT0gTlVMTCkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1z IG9mIHRoaXMgc3RhdGVtZW50CiMxMzUxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6 NDMzOgorICAgICAgIGlmIChvcHRzID09IE5VTEwpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzUyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVy LmM6NDM0OgorXkleSXJldHVybiAtMTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMzU0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVscGVyLmM6NDM2OgorXklm ZCA9IGZ1c2Vfa2Vybl9tb3VudChtb3VudHBvaW50LCBvcHRzKTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzU1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvaGVs cGVyLmM6NDM3OgorXklkZXN0cm95X21vdW50X29wdHMob3B0cyk7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM1NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2hl bHBlci5jOjQzOToKK15JcmV0dXJuIGZkOyQKCnRvdGFsOiA5NDMgZXJyb3JzLCAyMSB3YXJuaW5n cywgMTMxNSBsaW5lcyBjaGVja2VkCgpQYXRjaCAzLzEwOCBoYXMgc3R5bGUgcHJvYmxlbXMsIHBs ZWFzZSByZXZpZXcuICBJZiBhbnkgb2YgdGhlc2UgZXJyb3JzCmFyZSBmYWxzZSBwb3NpdGl2ZXMg cmVwb3J0IHRoZW0gdG8gdGhlIG1haW50YWluZXIsIHNlZQpDSEVDS1BBVENIIGluIE1BSU5UQUlO RVJTLgoKNC8xMDggQ2hlY2tpbmcgY29tbWl0IGRjZDdhZDFmOGI1NCAodmlydGlvZnNkOiBBZGQg ZnVzZV9sb3dsZXZlbC5jKQpXQVJOSU5HOiBhZGRlZCwgbW92ZWQgb3IgZGVsZXRlZCBmaWxlKHMp LCBkb2VzIE1BSU5UQUlORVJTIG5lZWQgdXBkYXRpbmc/CiMxODogCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgKiBvbiBzdWJzZXF1ZW50IGxpbmVzCiMy NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOgorLyoKKyAgRlVTRTog RmlsZXN5c3RlbSBpbiBVc2Vyc3BhY2UKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzU3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjM1Ogor I2RlZmluZSBGX1NFVFBJUEVfU1peSShGX0xJTlVYX1NQRUNJRklDX0JBU0UgKyA3KSQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY0OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjQyOgorI2RlZmluZSBjb250YWluZXJfb2YocHRyLCB0eXBl LCBtZW1iZXIpICh7XkleSV5JXklcJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NDM6Cite SV5JXkljb25zdCB0eXBlb2YoICgodHlwZSAqKTApLT5tZW1iZXIgKSAqX19tcHRyID0gKHB0cik7 IFwkCgpFUlJPUjogc3BhY2VzIHJlcXVpcmVkIGFyb3VuZCB0aGF0ICcqJyAoY3R4Old4VikKIzY1 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjQzOgorICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCB0eXBlb2YoICgodHlwZSAqKTApLT5tZW1iZXIgKSAqX19tcHRyID0g KHB0cik7IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgoKRVJST1I6IHNwYWNlIHByb2hpYml0ZWQgYWZ0ZXIgdGhhdCBvcGVuIHBh cmVudGhlc2lzICcoJwojNjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 NDM6CisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHR5cGVvZiggKCh0eXBlICopMCktPm1l bWJlciApICpfX21wdHIgPSAocHRyKTsgXAoKRVJST1I6IHNwYWNlIHByb2hpYml0ZWQgYmVmb3Jl IHRoYXQgY2xvc2UgcGFyZW50aGVzaXMgJyknCiM2NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzo0MzoKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdHlwZW9mKCAo KHR5cGUgKikwKS0+bWVtYmVyICkgKl9fbXB0ciA9IChwdHIpOyBcCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzo0NDoKK15JXkleSSh0eXBlICopKCAoY2hhciAqKV9fbXB0ciAtIG9mZnNldG9m KHR5cGUsbWVtYmVyKSApO30pJAoKRVJST1I6IHNwYWNlIHJlcXVpcmVkIGFmdGVyIHRoYXQgJywn IChjdHg6VnhWKQojNjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NDQ6 CisgICAgICAgICAgICAgICAgICAgICAgICh0eXBlICopKCAoY2hhciAqKV9fbXB0ciAtIG9mZnNl dG9mKHR5cGUsbWVtYmVyKSApO30pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCgpFUlJPUjogc3BhY2UgcmVxdWlyZWQgYWZ0 ZXIgdGhhdCAnOycgKGN0eDpWeFYpCiM2NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzo0NDoKKyAgICAgICAgICAgICAgICAgICAgICAgKHR5cGUgKikoIChjaGFyICopX19t cHRyIC0gb2Zmc2V0b2YodHlwZSxtZW1iZXIpICk7fSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCgpFUlJP Ujogc3BhY2UgcHJvaGliaXRlZCBhZnRlciB0aGF0IG9wZW4gcGFyZW50aGVzaXMgJygnCiM2Njog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo0NDoKKyAgICAgICAgICAgICAg ICAgICAgICAgKHR5cGUgKikoIChjaGFyICopX19tcHRyIC0gb2Zmc2V0b2YodHlwZSxtZW1iZXIp ICk7fSkKCkVSUk9SOiBzcGFjZSBwcm9oaWJpdGVkIGJlZm9yZSB0aGF0IGNsb3NlIHBhcmVudGhl c2lzICcpJwojNjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NDQ6Cisg ICAgICAgICAgICAgICAgICAgICAgICh0eXBlICopKCAoY2hhciAqKV9fbXB0ciAtIG9mZnNldG9m KHR5cGUsbWVtYmVyKSApO30pCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM2OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo0NzoKK15JdWlu dDY0X3Qga2g7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzA6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NDg6CiteSXN0cnVjdCBmdXNl X3Nlc3Npb24gKnNlOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK Izc3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjU1OgorXklwYWdlc2l6 ZSA9IGdldHBhZ2VzaXplKCk7JAoKRVJST1I6IHVzZSBxZW11X3JlYWxfaG9zdF9wYWdlX3NpemUg aW5zdGVhZCBvZiBnZXRwYWdlc2l6ZSgpCiM3NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzo1NToKKyAgICAgICBwYWdlc2l6ZSA9IGdldHBhZ2VzaXplKCk7CgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4MjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzo2MDoKK15JYXR0ci0+aW5vXkk9IHN0YnVmLT5zdF9pbm87JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODM6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NjE6CiteSWF0dHItPm1vZGVeST0gc3RidWYtPnN0 X21vZGU7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODQ6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NjI6CiteSWF0dHItPm5saW5rXkk9 IHN0YnVmLT5zdF9ubGluazskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM4NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2MzoKK15JYXR0 ci0+dWlkXkk9IHN0YnVmLT5zdF91aWQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NjQ6 CiteSWF0dHItPmdpZF5JPSBzdGJ1Zi0+c3RfZ2lkOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzg3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjY1OgorXklhdHRyLT5yZGV2Xkk9IHN0YnVmLT5zdF9yZGV2OyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjY2OgorXklhdHRyLT5zaXplXkk9IHN0YnVmLT5zdF9zaXplOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg5OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjY3OgorXklhdHRyLT5ibGtzaXplXkk9IHN0YnVmLT5zdF9i bGtzaXplOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzkwOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjY4OgorXklhdHRyLT5ibG9ja3Ne ST0gc3RidWYtPnN0X2Jsb2NrczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM5MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2OToKK15J YXR0ci0+YXRpbWVeST0gc3RidWYtPnN0X2F0aW1lOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzkyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjcwOgorXklhdHRyLT5tdGltZV5JPSBzdGJ1Zi0+c3RfbXRpbWU7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6NzE6CiteSWF0dHItPmN0aW1lXkk9IHN0YnVmLT5zdF9jdGltZTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5NDogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo3MjoKK15JYXR0ci0+YXRpbWVuc2VjID0gU1RfQVRJ TV9OU0VDKHN0YnVmKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM5NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo3MzoKK15JYXR0ci0+ bXRpbWVuc2VjID0gU1RfTVRJTV9OU0VDKHN0YnVmKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM5NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzo3NDoKK15JYXR0ci0+Y3RpbWVuc2VjID0gU1RfQ1RJTV9OU0VDKHN0YnVmKTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDE6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Nzk6CiteSXN0YnVmLT5zdF9tb2RlXkkgICAgICAgPSBh dHRyLT5tb2RlOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEw MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo4MDoKK15Jc3RidWYtPnN0 X3VpZF5JICAgICAgID0gYXR0ci0+dWlkOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzEwMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo4 MToKK15Jc3RidWYtPnN0X2dpZF5JICAgICAgID0gYXR0ci0+Z2lkOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzo4MjoKK15Jc3RidWYtPnN0X3NpemVeSSAgICAgICA9IGF0dHItPnNpemU7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA1OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjgzOgorXklzdGJ1Zi0+c3RfYXRpbWVeSSAg ICAgICA9IGF0dHItPmF0aW1lOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEwNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo4NDoKK15J c3RidWYtPnN0X210aW1lXkkgICAgICAgPSBhdHRyLT5tdGltZTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6ODU6CiteSXN0YnVmLT5zdF9jdGltZSAgICAgICAgPSBhdHRyLT5jdGltZTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDg6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6ODY6CiteSVNUX0FUSU1fTlNFQ19TRVQoc3Ri dWYsIGF0dHItPmF0aW1lbnNlYyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMTA5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjg3Ogor XklTVF9NVElNX05TRUNfU0VUKHN0YnVmLCBhdHRyLT5tdGltZW5zZWMpOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExMDogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzo4ODoKK15JU1RfQ1RJTV9OU0VDX1NFVChzdGJ1ZiwgYXR0ci0+Y3Rp bWVuc2VjKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTM6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6OTE6CitzdGF0aWNeSXNpemVf dCBpb3ZfbGVuZ3RoKGNvbnN0IHN0cnVjdCBpb3ZlYyAqaW92LCBzaXplX3QgY291bnQpJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE1OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjkzOgorXklzaXplX3Qgc2VnOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExNjogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzo5NDoKK15Jc2l6ZV90IHJldCA9IDA7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjk2OgorXklmb3IgKHNlZyA9IDA7IHNlZyA8IGNvdW50OyBzZWcrKykkCgpF UlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVt ZW50CiMxMTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6OTY6CisgICAg ICAgZm9yIChzZWcgPSAwOyBzZWcgPCBjb3VudDsgc2VnKyspClsuLi5dCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6OTc6CiteSV5JcmV0ICs9IGlvdltzZWddLmlvdl9sZW47JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIwOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjk4OgorXklyZXR1cm4gcmV0OyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoxMDM6CiteSXJlcS0+bmV4dCA9IHJlcTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MTA0OgorXklyZXEtPnByZXYgPSByZXE7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjEwOToKK15Jc3RydWN0IGZ1c2VfcmVxICpwcmV2ID0gcmVxLT5wcmV2OyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzMjogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMTA6CiteSXN0cnVjdCBmdXNlX3JlcSAqbmV4dCA9 IHJlcS0+bmV4dDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx MzM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTExOgorXklwcmV2LT5u ZXh0ID0gbmV4dDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx MzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTEyOgorXkluZXh0LT5w cmV2ID0gcHJldjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx Mzk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTE3OgorXklzdHJ1Y3Qg ZnVzZV9yZXEgKnByZXYgPSBuZXh0LT5wcmV2OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzE0MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxMTg6CiteSXJlcS0+bmV4dCA9IG5leHQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTQxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjExOToKK15JcmVxLT5wcmV2ID0gcHJldjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxNDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MTIwOgorXklwcmV2LT5uZXh0ID0gcmVxOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzE0MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzox MjE6CiteSW5leHQtPnByZXYgPSByZXE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTQ4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEy NjoKK15JcHRocmVhZF9tdXRleF9kZXN0cm95KCZyZXEtPmxvY2spOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoxMjc6CiteSWZyZWUocmVxKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxNTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MTMyOgorXklpbnQgY3RyOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzE1NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMzM6 CiteSXN0cnVjdCBmdXNlX3Nlc3Npb24gKnNlID0gcmVxLT5zZTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MTM1OgorXklwdGhyZWFkX211dGV4X2xvY2soJnNlLT5sb2NrKTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTg6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTM2OgorXklyZXEtPnUubmkuZnVuYyA9IE5VTEw7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTU5OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEzNzoKK15JcmVxLT51Lm5pLmRhdGEgPSBOVUxM OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2MDogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMzg6CiteSWxpc3RfZGVsX3JlcShyZXEp OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2MTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMzk6CiteSWN0ciA9IC0tcmVxLT5jdHI7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTYyOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE0MDoKK15JZnVzZV9jaGFuX3B1dChyZXEt PmNoKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNjM6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTQxOgorXklyZXEtPmNoID0gTlVM TDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNjQ6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTQyOgorXklwdGhyZWFkX211dGV4X3Vu bG9jaygmc2UtPmxvY2spOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzE2NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNDM6CiteSWlm ICghY3RyKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2Yg dGhpcyBzdGF0ZW1lbnQKIzE2NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxNDM6CisgICAgICAgaWYgKCFjdHIpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxNjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MTQ0OgorXkleSWRlc3Ryb3lfcmVxKHJlcSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTcxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjE0OToKK15Jc3RydWN0IGZ1c2VfcmVxICpyZXE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjE1MToKK15JcmVxID0gKHN0cnVjdCBmdXNlX3JlcSAqKSBjYWxsb2MoMSwgc2l6ZW9m KHN0cnVjdCBmdXNlX3JlcSkpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzE3NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNTI6Cite SWlmIChyZXEgPT0gTlVMTCkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzE3NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNTM6Cite SV5JZnVzZV9sb2coRlVTRV9MT0dfRVJSLCAiZnVzZTogZmFpbGVkIHRvIGFsbG9jYXRlIHJlcXVl c3RcbiIpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3Njog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNTQ6CiteSX0gZWxzZSB7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTc3OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1NToKK15JXklyZXEtPnNlID0gc2U7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTc4OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1NjoKK15JXklyZXEtPmN0ciA9IDE7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTc5OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1NzoKK15JXklsaXN0X2luaXRfcmVxKHJlcSk7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTgwOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1ODoKK15JXklmdXNlX211dGV4X2luaXQoJnJlcS0+ bG9jayk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTgxOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1OToKK15JfSQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4MzogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNjE6CiteSXJldHVybiByZXE7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTg4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjE2NjoKK15JXkleSSBzdHJ1Y3QgaW92ZWMgKmlvdiwgaW50IGNvdW50KSQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5MDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNjg6CiteSXN0cnVjdCBmdXNlX291dF9oZWFk ZXIgKm91dCA9IGlvdlswXS5pb3ZfYmFzZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxOTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MTcwOgorXklvdXQtPmxlbiA9IGlvdl9sZW5ndGgoaW92LCBjb3VudCk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTkzOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjE3MToKK15JaWYgKHNlLT5kZWJ1ZykgeyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoxNzI6CiteSV5JaWYgKG91dC0+dW5pcXVlID09IDApIHskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTU6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MTczOgorXkleSV5JZnVzZV9sb2coRlVTRV9MT0dfREVCVUcs ICJOT1RJRlk6IGNvZGU9JWQgbGVuZ3RoPSV1XG4iLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzE5NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoxNzQ6CiteSV5JXkleSW91dC0+ZXJyb3IsIG91dC0+bGVuKTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTc1OgorXkleSX0gZWxzZSBpZiAob3V0LT5lcnJvcikgeyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5ODogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNzY6CiteSV5JXklmdXNlX2xvZyhGVVNFX0xPR19ERUJV RywkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTk6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTc3OgorXkleSV5JXkkiICAgdW5pcXVl OiAlbGx1LCBlcnJvcjogJWkgKCVzKSwgb3V0c2l6ZTogJWlcbiIsJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjAwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjE3ODoKK15JXkleSV5JKHVuc2lnbmVkIGxvbmcgbG9uZykgb3V0LT51bmlx dWUsIG91dC0+ZXJyb3IsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjAxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE3OToKK15JXkle SV5Jc3RyZXJyb3IoLW91dC0+ZXJyb3IpLCBvdXQtPmxlbik7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjAyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjE4MDoKK15JXkl9IGVsc2UgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzIwMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxODE6CiteSV5JXklmdXNlX2xvZyhGVVNFX0xPR19ERUJVRywkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MTgyOgorXkleSV5JXkkiICAgdW5pcXVlOiAlbGx1LCBzdWNjZXNzLCBvdXRz aXplOiAlaVxuIiwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy MDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTgzOgorXkleSV5JXkko dW5zaWduZWQgbG9uZyBsb25nKSBvdXQtPnVuaXF1ZSwgb3V0LT5sZW4pOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwNjogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoxODQ6CiteSV5JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzIwNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxODU6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy MDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTg3OgorXklzc2l6ZV90 IHJlcyA9IHdyaXRldihjaCA/IGNoLT5mZCA6IHNlLT5mZCwkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MTg4OgorXkleSV5JICAgICBpb3YsIGNvdW50KTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MTg5OgorXklpbnQgZXJyID0gZXJybm87JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjEzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjE5MToKK15JaWYgKHJlcyA9PSAtMSkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoxOTI6CiteSV5JYXNzZXJ0KHNlICE9IE5VTEwpOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoxOTQ6CiteSV5JLyogRU5PRU5UIG1lYW5zIHRoZSBvcGVyYXRpb24gd2FzIGlu dGVycnVwdGVkICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MjE3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5NToKK15JXklpZiAo IWZ1c2Vfc2Vzc2lvbl9leGl0ZWQoc2UpICYmIGVyciAhPSBFTk9FTlQpJAoKRVJST1I6IGJyYWNl cyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMjE3OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5NToKKyAgICAgICAgICAgICAg IGlmICghZnVzZV9zZXNzaW9uX2V4aXRlZChzZSkgJiYgZXJyICE9IEVOT0VOVCkKWy4uLl0KCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxODogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxOTY6CiteSV5JXklwZXJyb3IoImZ1c2U6IHdyaXRp bmcgZGV2aWNlIik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MjE5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5NzoKK15JXklyZXR1 cm4gLWVycjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMjA6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTk4OgorXkl9JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjIyOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIwMDoKK15JcmV0dXJuIDA7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjI3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjIwNToKK15JXkleSSAgICAgICBpbnQgY291bnQpJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjI5OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjIwNzoKK15Jc3RydWN0IGZ1c2Vfb3V0X2hlYWRlciBvdXQ7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjMxOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIwOToKK15JaWYgKGVycm9yIDw9IC0xMDAwIHx8IGVy cm9yID4gMCkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIz MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMTA6CiteSV5JZnVzZV9s b2coRlVTRV9MT0dfRVJSLCAiZnVzZTogYmFkIGVycm9yIHZhbHVlOiAlaVxuIixeSWVycm9yKTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMzM6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjExOgorXkleSWVycm9yID0gLUVSQU5HRTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMzQ6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjEyOgorXkl9JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjM2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjIxNDoKK15Jb3V0LnVuaXF1ZSA9IHJlcS0+dW5pcXVlOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzNzogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMTU6CiteSW91dC5lcnJvciA9IGVycm9yOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzOTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMTc6CiteSWlvdlswXS5pb3ZfYmFzZSA9ICZvdXQ7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQwOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIxODoKK15JaW92WzBdLmlvdl9sZW4gPSBzaXplb2Yo c3RydWN0IGZ1c2Vfb3V0X2hlYWRlcik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjQyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIy MDoKK15JcmV0dXJuIGZ1c2Vfc2VuZF9tc2cocmVxLT5zZSwgcmVxLT5jaCwgaW92LCBjb3VudCk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQ2OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIyNDoKK15JXkleSSAgaW50IGNvdW50KSQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0ODogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMjY6CiteSWludCByZXM7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjUwOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjIyODoKK15JcmVzID0gZnVzZV9zZW5kX3JlcGx5X2lvdl9ub2Zy ZWUocmVxLCBlcnJvciwgaW92LCBjb3VudCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjUxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjIyOToKK15JZnVzZV9mcmVlX3JlcShyZXEpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI1MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoyMzA6CiteSXJldHVybiByZXM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjU2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIzNDoK K15JXkkgICAgICBzaXplX3QgYXJnc2l6ZSkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyNTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MjM2OgorXklzdHJ1Y3QgaW92ZWMgaW92WzJdOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI1OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoyMzc6CiteSWludCBjb3VudCA9IDE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjYwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIz ODoKK15JaWYgKGFyZ3NpemUpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyNjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjM5Ogor XkleSWlvdlsxXS5pb3ZfYmFzZSA9ICh2b2lkICopIGFyZzskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MjQwOgorXkleSWlvdlsxXS5pb3ZfbGVuID0gYXJnc2l6ZTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MjQxOgorXkleSWNvdW50Kys7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjI0MjoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI2NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNDM6Cite SXJldHVybiBzZW5kX3JlcGx5X2lvdihyZXEsIGVycm9yLCBpb3YsIGNvdW50KTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzA6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MjQ4OgorXklpbnQgcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoyNDk6CiteSXN0cnVjdCBpb3ZlYyAqcGFkZGVkX2lvdjskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzM6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MjUxOgorXklwYWRkZWRfaW92ID0gbWFsbG9jKChjb3VudCArIDEp ICogc2l6ZW9mKHN0cnVjdCBpb3ZlYykpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI3NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoy NTI6CiteSWlmIChwYWRkZWRfaW92ID09IE5VTEwpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVj ZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMjc0OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI1MjoKKyAgICAgICBpZiAocGFkZGVkX2lvdiA9PSBO VUxMKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc1 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI1MzoKK15JXklyZXR1cm4g ZnVzZV9yZXBseV9lcnIocmVxLCBFTk9NRU0pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI3NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoyNTU6CiteSW1lbWNweShwYWRkZWRfaW92ICsgMSwgaW92LCBjb3VudCAqIHNpemVvZihzdHJ1 Y3QgaW92ZWMpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy Nzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjU2OgorXkljb3VudCsr OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4MDogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNTg6CiteSXJlcyA9IHNlbmRfcmVwbHlf aW92KHJlcSwgMCwgcGFkZGVkX2lvdiwgY291bnQpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzI4MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoyNTk6CiteSWZyZWUocGFkZGVkX2lvdik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjgzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjI2MToKK15JcmV0dXJuIHJlczskCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBs ZWFkaW5nIC8qIG9uIGEgc2VwYXJhdGUgbGluZQojMjg3OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjI2NToKKy8qIGBidWZgIGlzIGFsbG93ZWQgdG8gYmUgZW1wdHkgc28g dGhhdCB0aGUgcHJvcGVyIHNpemUgbWF5IGJlCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2Ug KiBvbiBzdWJzZXF1ZW50IGxpbmVzCiMyODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MjY2OgorLyogYGJ1ZmAgaXMgYWxsb3dlZCB0byBiZSBlbXB0eSBzbyB0aGF0IHRo ZSBwcm9wZXIgc2l6ZSBtYXkgYmUKKyAgIGFsbG9jYXRlZCBieSB0aGUgY2FsbGVyICovCgpXQVJO SU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSB0cmFpbGluZyAqLyBvbiBhIHNlcGFyYXRlIGxpbmUK IzI4ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjY6CisgICBhbGxv Y2F0ZWQgYnkgdGhlIGNhbGxlciAqLwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjkwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI2ODoK K15JXkleSSBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBzdHJ1Y3Qgc3RhdCAqc3RidWYsIG9mZl90 IG9mZikkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTI6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjcwOgorXkkodm9pZClyZXE7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjkzOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3MToKK15Jc2l6ZV90IG5hbWVsZW47JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk0OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3MjoKK15Jc2l6ZV90IGVudGxlbjskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTU6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MjczOgorXklzaXplX3QgZW50bGVuX3BhZGRlZDskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTY6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjc0OgorXklzdHJ1Y3QgZnVzZV9kaXJlbnQgKmRpcmVu dDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTg6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjc2OgorXkluYW1lbGVuID0gc3RybGVu KG5hbWUpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5OTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzc6CiteSWVudGxlbiA9IEZV U0VfTkFNRV9PRkZTRVQgKyBuYW1lbGVuOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzMwMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoy Nzg6CiteSWVudGxlbl9wYWRkZWQgPSBGVVNFX0RJUkVOVF9BTElHTihlbnRsZW4pOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwMjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyODA6CiteSWlmICgoYnVmID09IE5VTEwpIHx8IChlbnRs ZW5fcGFkZGVkID4gYnVmc2l6ZSkpJAoKRVJST1I6IHN1c3BlY3QgY29kZSBpbmRlbnQgZm9yIGNv bmRpdGlvbmFsIHN0YXRlbWVudHMgKDgsIDEwKQojMzAyOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjI4MDoKKyAgICAgICBpZiAoKGJ1ZiA9PSBOVUxMKSB8fCAoZW50bGVu X3BhZGRlZCA+IGJ1ZnNpemUpKQorICAgICAgICAgcmV0dXJuIGVudGxlbl9wYWRkZWQ7CgpFUlJP UjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50 CiMzMDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjgwOgorICAgICAg IGlmICgoYnVmID09IE5VTEwpIHx8IChlbnRsZW5fcGFkZGVkID4gYnVmc2l6ZSkpClsuLi5dCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDM6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjgxOgorXkkgIHJldHVybiBlbnRsZW5fcGFkZGVk OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwNTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyODM6CiteSWRpcmVudCA9IChzdHJ1Y3Qg ZnVzZV9kaXJlbnQqKSBidWY7JAoKRVJST1I6ICIoZm9vKikiIHNob3VsZCBiZSAiKGZvbyAqKSIK IzMwNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyODM6CisgICAgICAg ZGlyZW50ID0gKHN0cnVjdCBmdXNlX2RpcmVudCopIGJ1ZjsKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyODQ6CiteSWRpcmVudC0+aW5vID0gc3RidWYtPnN0X2lubzskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6Mjg1OgorXklkaXJlbnQtPm9mZiA9IG9mZjskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6Mjg2OgorXklkaXJlbnQtPm5hbWVsZW4gPSBuYW1lbGVuOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwOTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyODc6CiteSWRpcmVudC0+dHlwZSA9IChzdGJ1Zi0+ c3RfbW9kZSAmIFNfSUZNVCkgPj4gMTI7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMzEwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI4 ODoKK15JbWVtY3B5KGRpcmVudC0+bmFtZSwgbmFtZSwgbmFtZWxlbik7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzExOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjI4OToKK15JbWVtc2V0KGRpcmVudC0+bmFtZSArIG5hbWVsZW4sIDAs IGVudGxlbl9wYWRkZWQgLSBlbnRsZW4pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzMxMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoy OTE6CiteSXJldHVybiBlbnRsZW5fcGFkZGVkOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzMxNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoyOTU6CiteSV5JXkkgICBzdHJ1Y3QgZnVzZV9rc3RhdGZzICprc3RhdGZzKSQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxOTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTc6CiteSWtzdGF0ZnMtPmJzaXplXkkgPSBzdGJ1Zi0+Zl9i c2l6ZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjA6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjk4OgorXklrc3RhdGZzLT5mcnNp emVeSSA9IHN0YnVmLT5mX2Zyc2l6ZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMzMjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjk5 OgorXklrc3RhdGZzLT5ibG9ja3NeSSA9IHN0YnVmLT5mX2Jsb2NrczskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MzAwOgorXklrc3RhdGZzLT5iZnJlZV5JID0gc3RidWYtPmZfYmZyZWU7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzIzOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjMwMToKK15Ja3N0YXRmcy0+YmF2YWlsXkkg PSBzdGJ1Zi0+Zl9iYXZhaWw7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMzI0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjMwMjoKK15J a3N0YXRmcy0+ZmlsZXNeSSA9IHN0YnVmLT5mX2ZpbGVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzozMDM6CiteSWtzdGF0ZnMtPmZmcmVlXkkgPSBzdGJ1Zi0+Zl9mZnJlZTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjY6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzA0OgorXklrc3RhdGZzLT5uYW1lbGVuID0gc3RidWYt PmZfbmFtZW1heDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz MzE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzA5OgorXklyZXR1cm4g c2VuZF9yZXBseShyZXEsIDAsIGFyZywgYXJnc2l6ZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMzM2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjMxNDoKK15JcmV0dXJuIHNlbmRfcmVwbHkocmVxLCAtZXJyLCBOVUxMLCAwKTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDE6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzE5OgorXklmdXNlX2ZyZWVfcmVxKHJlcSk7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQ2OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjMyNDoKK15JaWYgKHQgPiAoZG91YmxlKSBVTE9O R19NQVgpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0 aGlzIHN0YXRlbWVudAojMzQ2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjMyNDoKKyAgICAgICBpZiAodCA+IChkb3VibGUpIFVMT05HX01BWCkKWy4uLl0KKyAgICAgICBl bHNlIGlmICh0IDwgMC4wKQpbLi4uXQorICAgICAgIGVsc2UKWy4uLl0KCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzozMjU6CiteSV5JcmV0dXJuIFVMT05HX01BWDskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MzI2OgorXkllbHNlIGlmICh0IDwgMC4wKSQKCkVSUk9SOiBicmFjZXMg e30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzM0ODogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMjY6CisgICAgICAgZWxzZSBpZiAo dCA8IDAuMCkKWy4uLl0KKyAgICAgICBlbHNlClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMzNDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MzI3OgorXkleSXJldHVybiAwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzM1MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoz Mjg6CiteSWVsc2UkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz NTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzI5OgorXkleSXJldHVy biAodW5zaWduZWQgbG9uZykgdDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzNTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzM0Ogor Xklkb3VibGUgZiA9IHQgLSAoZG91YmxlKSBjYWxjX3RpbWVvdXRfc2VjKHQpOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1NzogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzozMzU6CiteSWlmIChmIDwgMC4wKSQKCkVSUk9SOiBicmFjZXMg e30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzM1NzogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMzU6CisgICAgICAgaWYgKGYgPCAw LjApClsuLi5dCisgICAgICAgZWxzZSBpZiAoZiA+PSAwLjk5OTk5OTk5OSkKWy4uLl0KKyAgICAg ICBlbHNlClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz NTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzM2OgorXkleSXJldHVy biAwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM1OTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMzc6CiteSWVsc2UgaWYgKGYgPj0g MC45OTk5OTk5OTkpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJt cyBvZiB0aGlzIHN0YXRlbWVudAojMzU5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjMzNzoKKyAgICAgICBlbHNlIGlmIChmID49IDAuOTk5OTk5OTk5KQpbLi4uXQorICAg ICAgIGVsc2UKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzM2MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMzg6CiteSV5JcmV0 dXJuIDk5OTk5OTk5OTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzNjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzM5OgorXkllbHNl JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzYyOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjM0MDoKK15JXklyZXR1cm4gKHVuc2lnbmVk IGludCkgKGYgKiAxLjBlOSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMzY2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjM0NDoKK15J XkkgICAgICAgY29uc3Qgc3RydWN0IGZ1c2VfZW50cnlfcGFyYW0gKmUpJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzY4OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjM0NjoKK15JYXJnLT5ub2RlaWQgPSBlLT5pbm87JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzY5OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjM0NzoKK15JYXJnLT5nZW5lcmF0aW9uID0gZS0+Z2VuZXJhdGlv bjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNzA6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzQ4OgorXklhcmctPmVudHJ5X3ZhbGlk ID0gY2FsY190aW1lb3V0X3NlYyhlLT5lbnRyeV90aW1lb3V0KTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNzE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MzQ5OgorXklhcmctPmVudHJ5X3ZhbGlkX25zZWMgPSBjYWxjX3RpbWVvdXRf bnNlYyhlLT5lbnRyeV90aW1lb3V0KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMzNzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzUw OgorXklhcmctPmF0dHJfdmFsaWQgPSBjYWxjX3RpbWVvdXRfc2VjKGUtPmF0dHJfdGltZW91dCk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzczOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjM1MToKK15JYXJnLT5hdHRyX3ZhbGlkX25z ZWMgPSBjYWxjX3RpbWVvdXRfbnNlYyhlLT5hdHRyX3RpbWVvdXQpOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM3NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzozNTI6CiteSWNvbnZlcnRfc3RhdCgmZS0+YXR0ciwgJmFyZy0+YXR0cik7 JAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlIGEgbGVhZGluZyAvKiBvbiBhIHNlcGFyYXRl IGxpbmUKIzM3NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozNTU6Cisv KiBgYnVmYCBpcyBhbGxvd2VkIHRvIGJlIGVtcHR5IHNvIHRoYXQgdGhlIHByb3BlciBzaXplIG1h eSBiZQoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlICogb24gc3Vic2VxdWVudCBsaW5lcwoj Mzc4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjM1NjoKKy8qIGBidWZg IGlzIGFsbG93ZWQgdG8gYmUgZW1wdHkgc28gdGhhdCB0aGUgcHJvcGVyIHNpemUgbWF5IGJlCisg ICBhbGxvY2F0ZWQgYnkgdGhlIGNhbGxlciAqLwoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNl IGEgdHJhaWxpbmcgKi8gb24gYSBzZXBhcmF0ZSBsaW5lCiMzNzg6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MzU2OgorICAgYWxsb2NhdGVkIGJ5IHRoZSBjYWxsZXIgKi8K CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM4MDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozNTg6CiteSV5JXkkgICAgICBjb25zdCBjaGFy ICpuYW1lLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM4MTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozNTk6CiteSV5JXkkgICAgICBj b25zdCBzdHJ1Y3QgZnVzZV9lbnRyeV9wYXJhbSAqZSwgb2ZmX3Qgb2ZmKSQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM4MzogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzozNjE6CiteSSh2b2lkKXJlcTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzODQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MzYyOgorXklzaXplX3QgbmFtZWxlbjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMzODU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MzYzOgorXklzaXplX3QgZW50bGVuOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzM4NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzozNjQ6CiteSXNpemVfdCBlbnRsZW5fcGFkZGVkOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzM4ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzozNjY6CiteSW5hbWVsZW4gPSBzdHJsZW4obmFtZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzg5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjM2NzoKK15JZW50bGVuID0gRlVTRV9OQU1FX09GRlNFVF9ESVJFTlRQTFVTICsg bmFtZWxlbjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzOTA6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzY4OgorXkllbnRsZW5fcGFk ZGVkID0gRlVTRV9ESVJFTlRfQUxJR04oZW50bGVuKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMzOTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MzY5OgorXklpZiAoKGJ1ZiA9PSBOVUxMKSB8fCAoZW50bGVuX3BhZGRlZCA+IGJ1ZnNp emUpKSQKCkVSUk9SOiBzdXNwZWN0IGNvZGUgaW5kZW50IGZvciBjb25kaXRpb25hbCBzdGF0ZW1l bnRzICg4LCAxMCkKIzM5MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoz Njk6CisgICAgICAgaWYgKChidWYgPT0gTlVMTCkgfHwgKGVudGxlbl9wYWRkZWQgPiBidWZzaXpl KSkKKyAgICAgICAgIHJldHVybiBlbnRsZW5fcGFkZGVkOwoKRVJST1I6IGJyYWNlcyB7fSBhcmUg bmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMzkxOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjM2OToKKyAgICAgICBpZiAoKGJ1ZiA9PSBOVUxM KSB8fCAoZW50bGVuX3BhZGRlZCA+IGJ1ZnNpemUpKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzkyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjM3MDoKK15JICByZXR1cm4gZW50bGVuX3BhZGRlZDskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzOTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MzcyOgorXklzdHJ1Y3QgZnVzZV9kaXJlbnRwbHVzICpkcCA9IChzdHJ1 Y3QgZnVzZV9kaXJlbnRwbHVzICopIGJ1ZjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMzOTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MzczOgorXkltZW1zZXQoJmRwLT5lbnRyeV9vdXQsIDAsIHNpemVvZihkcC0+ZW50cnlfb3V0KSk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzk2OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjM3NDoKK15JZmlsbF9lbnRyeSgmZHAtPmVu dHJ5X291dCwgZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj Mzk4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjM3NjoKK15Jc3RydWN0 IGZ1c2VfZGlyZW50ICpkaXJlbnQgPSAmZHAtPmRpcmVudDskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzOTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6Mzc3OgorXklkaXJlbnQtPmlubyA9IGUtPmF0dHIuc3RfaW5vOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQwMDogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzozNzg6CiteSWRpcmVudC0+b2ZmID0gb2ZmOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQwMTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzozNzk6CiteSWRpcmVudC0+bmFtZWxlbiA9IG5hbWVsZW47JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDAyOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjM4MDoKK15JZGlyZW50LT50eXBlID0gKGUtPmF0 dHIuc3RfbW9kZSAmIFNfSUZNVCkgPj4gMTI7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNDAzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjM4MToKK15JbWVtY3B5KGRpcmVudC0+bmFtZSwgbmFtZSwgbmFtZWxlbik7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDA0OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjM4MjoKK15JbWVtc2V0KGRpcmVudC0+bmFtZSArIG5hbWVsZW4s IDAsIGVudGxlbl9wYWRkZWQgLSBlbnRsZW4pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzQwNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzozODQ6CiteSXJldHVybiBlbnRsZW5fcGFkZGVkOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzQxMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzozODg6CiteSV5JICAgICAgY29uc3Qgc3RydWN0IGZ1c2VfZmlsZV9pbmZvICpmKSQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQxMjogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozOTA6CiteSWFyZy0+ZmggPSBmLT5maDskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0MTM6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzkxOgorXklpZiAoZi0+ZGlyZWN0X2lvKSQKCkVSUk9S OiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQK IzQxMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozOTE6CisgICAgICAg aWYgKGYtPmRpcmVjdF9pbykKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzQxNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozOTI6 CiteSV5JYXJnLT5vcGVuX2ZsYWdzIHw9IEZPUEVOX0RJUkVDVF9JTzskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0MTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MzkzOgorXklpZiAoZi0+a2VlcF9jYWNoZSkkCgpFUlJPUjogYnJhY2Vz IHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiM0MTU6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzkzOgorICAgICAgIGlmIChmLT5r ZWVwX2NhY2hlKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojNDE2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjM5NDoKK15JXklh cmctPm9wZW5fZmxhZ3MgfD0gRk9QRU5fS0VFUF9DQUNIRTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0MTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6Mzk1OgorXklpZiAoZi0+Y2FjaGVfcmVhZGRpcikkCgpFUlJPUjogYnJhY2VzIHt9 IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiM0MTc6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mzk1OgorICAgICAgIGlmIChmLT5jYWNo ZV9yZWFkZGlyKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojNDE4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjM5NjoKK15JXklh cmctPm9wZW5fZmxhZ3MgfD0gRk9QRU5fQ0FDSEVfRElSOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQxOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzozOTc6CiteSWlmIChmLT5ub25zZWVrYWJsZSkkCgpFUlJPUjogYnJhY2VzIHt9IGFy ZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiM0MTk6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mzk3OgorICAgICAgIGlmIChmLT5ub25zZWVr YWJsZSkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQy MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozOTg6CiteSV5JYXJnLT5v cGVuX2ZsYWdzIHw9IEZPUEVOX05PTlNFRUtBQkxFOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzQyNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzo0MDM6CiteSXN0cnVjdCBmdXNlX2VudHJ5X291dCBhcmc7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDI2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjQwNDoKK15Jc2l6ZV90IHNpemUgPSByZXEtPnNlLT5jb25uLnByb3RvX21p bm9yIDwgOSA/JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDI3 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjQwNToKK15JXklGVVNFX0NP TVBBVF9FTlRSWV9PVVRfU0laRSA6IHNpemVvZihhcmcpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQyOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzo0MDc6CiteSS8qIGJlZm9yZSBBQkkgNy40IGUtPmlubyA9PSAwIHdhcyBpbnZhbGlk LCBvbmx5IEVOT0VOVCBtZWFudCQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRp bmcgLyogb24gYSBzZXBhcmF0ZSBsaW5lCiM0Mjk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6NDA3OgorICAgICAgIC8qIGJlZm9yZSBBQkkgNy40IGUtPmlubyA9PSAwIHdh cyBpbnZhbGlkLCBvbmx5IEVOT0VOVCBtZWFudAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNDMwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjQwODoKK15JICAgbmVnYXRpdmUgZW50cnkgKi8kCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1 c2UgKiBvbiBzdWJzZXF1ZW50IGxpbmVzCiM0MzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6NDA4OgorICAgICAgIC8qIGJlZm9yZSBBQkkgNy40IGUtPmlubyA9PSAwIHdh cyBpbnZhbGlkLCBvbmx5IEVOT0VOVCBtZWFudAorICAgICAgICAgIG5lZ2F0aXZlIGVudHJ5ICov CgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSB0cmFpbGluZyAqLyBvbiBhIHNlcGFyYXRl IGxpbmUKIzQzMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo0MDg6Cisg ICAgICAgICAgbmVnYXRpdmUgZW50cnkgKi8KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzQzMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo0 MDk6CiteSWlmICghZS0+aW5vICYmIHJlcS0+c2UtPmNvbm4ucHJvdG9fbWlub3IgPCA0KSQKCkVS Uk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1l bnQKIzQzMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo0MDk6CisgICAg ICAgaWYgKCFlLT5pbm8gJiYgcmVxLT5zZS0+Y29ubi5wcm90b19taW5vciA8IDQpClsuLi5dCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0MzI6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NDEwOgorXkleSXJldHVybiBmdXNlX3JlcGx5X2Vy cihyZXEsIEVOT0VOVCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojNDM0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjQxMjoKK15JbWVt c2V0KCZhcmcsIDAsIHNpemVvZihhcmcpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM0MzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 NDEzOgorXklmaWxsX2VudHJ5KCZhcmcsIGUpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzQzNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu Yzo0MTQ6CiteSXJldHVybiBzZW5kX3JlcGx5X29rKHJlcSwgJmFyZywgc2l6ZSk7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDQwOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjQxODoKK15JXkkgICAgICBjb25zdCBzdHJ1Y3QgZnVzZV9m aWxlX2luZm8gKmYpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NDQyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjQyMDoKK15JY2hhciBi dWZbc2l6ZW9mKHN0cnVjdCBmdXNlX2VudHJ5X291dCkgKyBzaXplb2Yoc3RydWN0IGZ1c2Vfb3Bl bl9vdXQpXTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NDM6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NDIxOgorXklzaXplX3QgZW50 cnlzaXplID0gcmVxLT5zZS0+Y29ubi5wcm90b19taW5vciA8IDkgPyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ0NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzo0MjI6CiteSV5JRlVTRV9DT01QQVRfRU5UUllfT1VUX1NJWkUgOiBzaXpl b2Yoc3RydWN0IGZ1c2VfZW50cnlfb3V0KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM0NDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 NDIzOgorXklzdHJ1Y3QgZnVzZV9lbnRyeV9vdXQgKmVhcmcgPSAoc3RydWN0IGZ1c2VfZW50cnlf b3V0ICopIGJ1ZjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0 NDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NDI0OgorXklzdHJ1Y3Qg ZnVzZV9vcGVuX291dCAqb2FyZyA9IChzdHJ1Y3QgZnVzZV9vcGVuX291dCAqKSAoYnVmICsgZW50 cnlzaXplKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NDg6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NDI2OgorXkltZW1zZXQoYnVm LCAwLCBzaXplb2YoYnVmKSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNDQ5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjQyNzoKK15J ZmlsbF9lbnRyeShlYXJnLCBlKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM0NTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NDI4Ogor XklmaWxsX29wZW4ob2FyZywgZik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNDUxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjQyOToK K15JcmV0dXJuIHNlbmRfcmVwbHlfb2socmVxLCBidWYsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojNDUyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjQzMDoKK15JXkleSSAgICAgZW50cnlzaXplICsgc2l6ZW9mKHN0cnVjdCBmdXNlX29w ZW5fb3V0KSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDU2 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjQzNDoKK15JXkkgICAgZG91 YmxlIGF0dHJfdGltZW91dCkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM0NTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NDM2OgorXklz dHJ1Y3QgZnVzZV9hdHRyX291dCBhcmc7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojNDU5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjQz NzoKK15Jc2l6ZV90IHNpemUgPSByZXEtPnNlLT5jb25uLnByb3RvX21pbm9yIDwgOSA/JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDYwOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjQzODoKK15JXklGVVNFX0NPTVBBVF9BVFRSX09VVF9T SVpFIDogc2l6ZW9mKGFyZyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNDYyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjQ0MDoKK15J bWVtc2V0KCZhcmcsIDAsIHNpemVvZihhcmcpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM0NjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6NDQxOgorXklhcmcuYXR0cl92YWxpZCA9IGNhbGNfdGltZW91dF9zZWMoYXR0cl90aW1lb3V0 KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NjQ6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NDQyOgorXklhcmcuYXR0cl92YWxpZF9u c2VjID0gY2FsY190aW1lb3V0X25zZWMoYXR0cl90aW1lb3V0KTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6NDQzOgorXkljb252ZXJ0X3N0YXQoYXR0ciwgJmFyZy5hdHRyKTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0Njc6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NDQ1OgorXklyZXR1cm4gc2VuZF9yZXBseV9vayhyZXEs ICZhcmcsIHNpemUpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzQ3MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo0NTA6CiteSXJldHVy biBzZW5kX3JlcGx5X29rKHJlcSwgbGlua25hbWUsIHN0cmxlbihsaW5rbmFtZSkpOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ3NzogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo0NTU6CiteSXN0cnVjdCBmdXNlX29wZW5fb3V0IGFyZzsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0Nzk6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NDU3OgorXkltZW1zZXQoJmFyZywgMCwgc2l6 ZW9mKGFyZykpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ4 MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo0NTg6CiteSWZpbGxfb3Bl bigmYXJnLCBmKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0 ODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NDU5OgorXklyZXR1cm4g c2VuZF9yZXBseV9vayhyZXEsICZhcmcsIHNpemVvZihhcmcpKTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0ODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6NDY0OgorXklzdHJ1Y3QgZnVzZV93cml0ZV9vdXQgYXJnOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ4ODogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzo0NjY6CiteSW1lbXNldCgmYXJnLCAwLCBzaXplb2YoYXJnKSk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDg5OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjQ2NzoKK15JYXJnLnNpemUgPSBjb3VudDsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0OTE6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NDY5OgorXklyZXR1cm4gc2VuZF9yZXBseV9v ayhyZXEsICZhcmcsIHNpemVvZihhcmcpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM0OTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 NDc0OgorXklyZXR1cm4gc2VuZF9yZXBseV9vayhyZXEsIGJ1Ziwgc2l6ZSk7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTAwOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjQ3ODoKK15JXkleSV5JICAgICAgIHN0cnVjdCBmdXNlX2NoYW4g KmNoLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzUwMTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo0Nzk6CiteSV5JXkleSSAgICAgICBz dHJ1Y3QgaW92ZWMgKmlvdiwgaW50IGlvdl9jb3VudCwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM1MDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6NDgwOgorXkleSV5JXkkgICAgICAgc3RydWN0IGZ1c2VfYnVmdmVjICpidWYsJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTAzOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjQ4MToKK15JXkleSV5JICAgICAgIHNpemVfdCBsZW4p JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTA1OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjQ4MzoKK15Jc3RydWN0IGZ1c2VfYnVmdmVj IG1lbV9idWYgPSBGVVNFX0JVRlZFQ19JTklUKGxlbik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojNTA2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjQ4NDoKK15Jdm9pZCAqbWJ1ZjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM1MDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 NDg1OgorXklpbnQgcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzUwOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo0ODc6CiteSS8q IE9wdGltaXplIGNvbW1vbiBjYXNlICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojNTEwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjQ4 ODoKK15JaWYgKGJ1Zi0+Y291bnQgPT0gMSAmJiBidWYtPmlkeCA9PSAwICYmIGJ1Zi0+b2ZmID09 IDAgJiYkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MTE6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NDg5OgorXkkgICAgIShidWYtPmJ1 ZlswXS5mbGFncyAmIEZVU0VfQlVGX0lTX0ZEKSkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzUxMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzo0OTA6CiteSV5JLyogRklYTUU6IGFsc28gYXZvaWQgbWVtb3J5IGNvcHkgaWYgdGhlcmUg YXJlIG11bHRpcGxlIGJ1ZmZlcnMkCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFk aW5nIC8qIG9uIGEgc2VwYXJhdGUgbGluZQojNTEyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjQ5MDoKKyAgICAgICAgICAgICAgIC8qIEZJWE1FOiBhbHNvIGF2b2lkIG1l bW9yeSBjb3B5IGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBidWZmZXJzCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6NDkxOgorXkleSSAgIGJ1dCBub25lIG9mIHRoZW0gY29udGFpbiBhbiBmZCAq LyQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSAqIG9uIHN1YnNlcXVlbnQgbGluZXMKIzUx MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo0OTE6CisgICAgICAgICAg ICAgICAvKiBGSVhNRTogYWxzbyBhdm9pZCBtZW1vcnkgY29weSBpZiB0aGVyZSBhcmUgbXVsdGlw bGUgYnVmZmVycworICAgICAgICAgICAgICAgICAgYnV0IG5vbmUgb2YgdGhlbSBjb250YWluIGFu IGZkICovCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSB0cmFpbGluZyAqLyBvbiBhIHNl cGFyYXRlIGxpbmUKIzUxMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo0 OTE6CisgICAgICAgICAgICAgICAgICBidXQgbm9uZSBvZiB0aGVtIGNvbnRhaW4gYW4gZmQgKi8K CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzUxNTogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo0OTM6CiteSV5JaW92W2lvdl9jb3VudF0uaW92 X2Jhc2UgPSBidWYtPmJ1ZlswXS5tZW07JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojNTE2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjQ5 NDoKK15JXklpb3ZbaW92X2NvdW50XS5pb3ZfbGVuID0gbGVuOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzUxNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzo0OTU6CiteSV5JaW92X2NvdW50Kys7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojNTE4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjQ5NjoKK15JXklyZXR1cm4gZnVzZV9zZW5kX21zZyhzZSwgY2gsIGlvdiwgaW92X2Nv dW50KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MTk6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NDk3OgorXkl9JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTIxOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjQ5OToKK15JcmVzID0gcG9zaXhfbWVtYWxpZ24oJm1idWYsIHBh Z2VzaXplLCBsZW4pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzUyMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo1MDA6CiteSWlmIChy ZXMgIT0gMCkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9m IHRoaXMgc3RhdGVtZW50CiM1MjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6NTAwOgorICAgICAgIGlmIChyZXMgIT0gMCkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzUyMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzo1MDE6CiteSV5JcmV0dXJuIHJlczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM1MjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6NTAzOgorXkltZW1fYnVmLmJ1ZlswXS5tZW0gPSBtYnVmOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzUyNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzo1MDQ6CiteSXJlcyA9IGZ1c2VfYnVmX2NvcHkoJm1lbV9idWYsIGJ1ZiwgMCk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTI3OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjUwNToKK15JaWYgKHJlcyA8IDApIHskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1Mjg6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NTA2OgorXkleSWZyZWUobWJ1Zik7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTI5OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjUwNzoKK15JXklyZXR1cm4gLXJlczskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6NTA4OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNTMxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjUwOToKK15JbGVuID0gcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzUzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo1MTE6Cite SWlvdltpb3ZfY291bnRdLmlvdl9iYXNlID0gbWJ1ZjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM1MzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6NTEyOgorXklpb3ZbaW92X2NvdW50XS5pb3ZfbGVuID0gbGVuOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzUzNTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzo1MTM6CiteSWlvdl9jb3VudCsrOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzUzNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzo1MTQ6CiteSXJlcyA9IGZ1c2Vfc2VuZF9tc2coc2UsIGNoLCBpb3YsIGlvdl9j b3VudCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTM3OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjUxNToKK15JZnJlZShtYnVmKTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1Mzk6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NTE3OgorXklyZXR1cm4gcmVzOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU0MzogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo1MjE6CiteSXNpemVfdCBzaXplOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU0NDogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzo1MjI6CiteSWludCBjYW5fZ3JvdzskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1NDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6NTIzOgorXklpbnQgcGlwZVsyXTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM1NTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6NTI4OgorXkljbG9zZShsbHAtPnBpcGVbMF0pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU1MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzo1Mjk6CiteSWNsb3NlKGxscC0+cGlwZVsxXSk7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTUyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjUzMDoKK15JZnJlZShsbHApOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzU1OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu Yzo1Mzc6CiteSWludCBydiA9IHBpcGUoZmRzKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM1NjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6NTM5OgorXklpZiAocnYgPT0gLTEpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5 IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojNTYxOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjUzOToKKyAgICAgICBpZiAocnYgPT0gLTEpClsuLi5dCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1NjI6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NTQwOgorXkleSXJldHVybiBydjskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1NjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6NTQyOgorXklpZiAoZmNudGwoZmRzWzBdLCBGX1NFVEZMLCBPX05P TkJMT0NLKSA9PSAtMSB8fCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzU2NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo1NDM6CiteSSAg ICBmY250bChmZHNbMV0sIEZfU0VURkwsIE9fTk9OQkxPQ0spID09IC0xIHx8JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTY2OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjU0NDoKK15JICAgIGZjbnRsKGZkc1swXSwgRl9TRVRGRCwgRkRf Q0xPRVhFQykgPT0gLTEgfHwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM1Njc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NTQ1OgorXkkg ICAgZmNudGwoZmRzWzFdLCBGX1NFVEZELCBGRF9DTE9FWEVDKSA9PSAtMSkgeyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU2ODogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzo1NDY6CiteSV5JY2xvc2UoZmRzWzBdKTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1Njk6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6NTQ3OgorXkleSWNsb3NlKGZkc1sxXSk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTcwOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjU0ODoKK15JXklydiA9IC0xOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU3MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzo1NDk6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM1NzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NTUwOgorXkly ZXR1cm4gcnY7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTc3 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjU1NToKK15JcmV0dXJuIHBp cGUyKGZkcywgT19DTE9FWEVDIHwgT19OT05CTE9DSyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojNTgzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjU2MToKK15Jc3RydWN0IGZ1c2VfbGxfcGlwZSAqbGxwID0gcHRocmVhZF9nZXRzcGVj aWZpYyhzZS0+cGlwZV9rZXkpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzU4NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo1NjI6Cite SWlmIChsbHAgPT0gTlVMTCkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzU4NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo1NjM6Cite SV5JaW50IHJlczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1 ODc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NTY1OgorXkleSWxscCA9 IG1hbGxvYyhzaXplb2Yoc3RydWN0IGZ1c2VfbGxfcGlwZSkpOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU4ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzo1NjY6CiteSV5JaWYgKGxscCA9PSBOVUxMKSQKCkVSUk9SOiBicmFjZXMge30g YXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzU4ODogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo1NjY6CisgICAgICAgICAgICAgICBpZiAo bGxwID09IE5VTEwpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM1ODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NTY3OgorXkle SV5JcmV0dXJuIE5VTEw7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojNTkxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjU2OToKK15JXkly ZXMgPSBmdXNlX3BpcGUobGxwLT5waXBlKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM1OTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 NTcwOgorXkleSWlmIChyZXMgPT0gLTEpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM1OTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 NTcxOgorXkleSV5JZnJlZShsbHApOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzU5NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo1NzI6 CiteSV5JXklyZXR1cm4gTlVMTDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM1OTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NTczOgor XkleSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1OTc6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NTc1OgorXkleSS8qJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTk4OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjU3NjoKK15JXkkgKnRoZSBkZWZhdWx0IHNpemUgaXMgMTYg cGFnZXMgb24gbGludXgkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM1OTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NTc3OgorXkleSSAq LyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYwMDogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo1Nzg6CiteSV5JbGxwLT5zaXplID0gcGFn ZXNpemUgKiAxNjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2 MDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NTc5OgorXkleSWxscC0+ Y2FuX2dyb3cgPSAxOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzYwMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo1ODE6CiteSV5JcHRo cmVhZF9zZXRzcGVjaWZpYyhzZS0+cGlwZV9rZXksIGxscCk7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjA0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjU4MjoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzYwNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo1ODQ6Cite SXJldHVybiBsbHA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NjEyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjU5MDoKK15Jc3RydWN0 IGZ1c2VfbGxfcGlwZSAqbGxwID0gcHRocmVhZF9nZXRzcGVjaWZpYyhzZS0+cGlwZV9rZXkpOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYxMzogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo1OTE6CiteSWlmIChsbHApIHskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2MTQ6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6NTkyOgorXkleSXB0aHJlYWRfc2V0c3BlY2lmaWMoc2UtPnBp cGVfa2V5LCBOVUxMKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM2MTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NTkzOgorXkleSWZ1 c2VfbGxfcGlwZV9mcmVlKGxscCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNjE2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjU5NDoK K15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYyMjogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2MDA6CiteSWludCByZXM7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjI0OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjYwMjoKK15JcmVzID0gcmVhZChmZCwgYnVmLCBsZW4p OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYyNTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2MDM6CiteSWlmIChyZXMgPT0gLTEpIHsk CgpFUlJPUjogbGluZSBvdmVyIDkwIGNoYXJhY3RlcnMKIzYyNjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzo2MDQ6CisgICAgICAgICAgICAgICBmdXNlX2xvZyhGVVNFX0xP R19FUlIsICJmdXNlOiBpbnRlcm5hbCBlcnJvcjogZmFpbGVkIHRvIHJlYWQgYmFjayBmcm9tIHBp cGU6ICVzXG4iLCBzdHJlcnJvcihlcnJubykpOwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNjI2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjYwNDoKK15JXklmdXNlX2xvZyhGVVNFX0xPR19FUlIsICJmdXNlOiBpbnRlcm5hbCBlcnJvcjog ZmFpbGVkIHRvIHJlYWQgYmFjayBmcm9tIHBpcGU6ICVzXG4iLCBzdHJlcnJvcihlcnJubykpOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYyNzogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2MDU6CiteSV5JcmV0dXJuIC1FSU87JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjI4OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjYwNjoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYyOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzo2MDc6CiteSWlmIChyZXMgIT0gbGVuKSB7JAoKRVJST1I6IGxpbmUgb3ZlciA5MCBj aGFyYWN0ZXJzCiM2MzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NjA4 OgorICAgICAgICAgICAgICAgZnVzZV9sb2coRlVTRV9MT0dfRVJSLCAiZnVzZTogaW50ZXJuYWwg ZXJyb3I6IHNob3J0IHJlYWQgYmFjayBmcm9tIHBpcGU6ICVpIGZyb20gJXppXG4iLCByZXMsIGxl bik7CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2MzA6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NjA4OgorXkleSWZ1c2VfbG9nKEZVU0Vf TE9HX0VSUiwgImZ1c2U6IGludGVybmFsIGVycm9yOiBzaG9ydCByZWFkIGJhY2sgZnJvbSBwaXBl OiAlaSBmcm9tICV6aVxuIiwgcmVzLCBsZW4pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzYzMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu Yzo2MDk6CiteSV5JcmV0dXJuIC1FSU87JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojNjMyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjYx MDoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYzMzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2MTE6CiteSXJldHVybiAwOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzYzODogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2MTY6CiteSWludCBtYXg7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjM5OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjYxNzoKK15JaW50IHJlczskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2NDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6NjE4OgorXklpbnQgbWF4ZmQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNjQxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjYxOToKK15JY2hhciBidWZbMzJdOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzY0MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2MjE6 CiteSW1heGZkID0gb3BlbigiL3Byb2Mvc3lzL2ZzL3BpcGUtbWF4LXNpemUiLCBPX1JET05MWSk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjQ0OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjYyMjoKK15JaWYgKG1heGZkIDwgMCkkCgpF UlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVt ZW50CiM2NDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NjIyOgorICAg ICAgIGlmIChtYXhmZCA8IDApClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM2NDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NjIz OgorXkleSXJldHVybiAtZXJybm87JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNjQ3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjYyNToK K15JcmVzID0gcmVhZChtYXhmZCwgYnVmLCBzaXplb2YoYnVmKSAtIDEpOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY0ODogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzo2MjY6CiteSWlmIChyZXMgPCAwKSB7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjQ5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjYyNzoKK15JXklpbnQgc2F2ZWRfZXJybm87JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjUxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjYyOToKK15JXklzYXZlZF9lcnJubyA9IGVycm5vOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY1MjogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzo2MzA6CiteSV5JY2xvc2UobWF4ZmQpOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY1MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzo2MzE6CiteSV5JcmV0dXJuIC1zYXZlZF9lcnJubzskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2NTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6NjMyOgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNjU1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjYzMzoKK15JY2xvc2UobWF4ZmQpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzY1NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2MzQ6 CiteSWJ1ZltyZXNdID0gJ1wwJzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM2NTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NjM2Ogor XkltYXggPSBhdG9pKGJ1Zik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNjU5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjYzNzoKK15J cmVzID0gZmNudGwocGlwZWZkLCBGX1NFVFBJUEVfU1osIG1heCk7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjYwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjYzODoKK15JaWYgKHJlcyA8IDApJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUg bmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojNjYwOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjYzODoKKyAgICAgICBpZiAocmVzIDwgMCkKWy4u Ll0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY2MTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2Mzk6CiteSV5JcmV0dXJuIC1lcnJubzsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2NjI6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NjQwOgorXklyZXR1cm4gbWF4OyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY2NjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2NDQ6CiteSV5JXkkgICAgICAgc3RydWN0IGlvdmVjICpp b3YsIGludCBpb3ZfY291bnQsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNjY3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjY0NToKK15J XkleSSAgICAgICBzdHJ1Y3QgZnVzZV9idWZ2ZWMgKmJ1ZiwgdW5zaWduZWQgaW50IGZsYWdzKSQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY2OTogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2NDc6CiteSWludCByZXM7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjcwOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjY0ODoKK15Jc2l6ZV90IGxlbiA9IGZ1c2VfYnVmX3NpemUoYnVm KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2NzE6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NjQ5OgorXklzdHJ1Y3QgZnVzZV9vdXRf aGVhZGVyICpvdXQgPSBpb3ZbMF0uaW92X2Jhc2U7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNjcyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjY1MDoKK15Jc3RydWN0IGZ1c2VfbGxfcGlwZSAqbGxwOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY3MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzo2NTE6CiteSWludCBzcGxpY2VfZmxhZ3M7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjc0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjY1MjoKK15Jc2l6ZV90IHBpcGVzaXplOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY3NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzo2NTM6CiteSXNpemVfdCB0b3RhbF9mZF9zaXplOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY3NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzo2NTQ6CiteSXNpemVfdCBpZHg7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNjc3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjY1NToKK15Jc2l6ZV90IGhlYWRlcmxlbjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM2Nzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6NjU2OgorXklzdHJ1Y3QgZnVzZV9idWZ2ZWMgcGlwZV9idWYgPSBGVVNFX0JVRlZFQ19JTklU KGxlbik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjgwOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjY1ODoKK15JaWYgKHNlLT5icm9r ZW5fc3BsaWNlX25vbmJsb2NrKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3Ig YWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzY4MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzo2NTg6CisgICAgICAgaWYgKHNlLT5icm9rZW5fc3BsaWNlX25vbmJsb2Nr KQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjgxOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjY1OToKK15JXklnb3RvIGZhbGxi YWNrOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY4MzogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2NjE6CiteSWlmIChmbGFncyAmIEZV U0VfQlVGX05PX1NQTElDRSkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFs bCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiM2ODM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6NjYxOgorICAgICAgIGlmIChmbGFncyAmIEZVU0VfQlVGX05PX1NQTElDRSkK Wy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY4NDogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2NjI6CiteSV5JZ290byBmYWxsYmFj azskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2ODY6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NjY0OgorXkl0b3RhbF9mZF9zaXplID0g MDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2ODc6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NjY1OgorXklmb3IgKGlkeCA9IGJ1Zi0+ aWR4OyBpZHggPCBidWYtPmNvdW50OyBpZHgrKykgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzY4ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzo2NjY6CiteSV5JaWYgKGJ1Zi0+YnVmW2lkeF0uZmxhZ3MgJiBGVVNFX0JVRl9JU19GRCkg eyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY4OTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2Njc6CiteSV5JXkl0b3RhbF9mZF9zaXpl ID0gYnVmLT5idWZbaWR4XS5zaXplOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzY5MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2Njg6 CiteSV5JXklpZiAoaWR4ID09IGJ1Zi0+aWR4KSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vz c2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzY5MDogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2Njg6CisgICAgICAgICAgICAgICAgICAgICAgIGlmIChp ZHggPT0gYnVmLT5pZHgpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM2OTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NjY5Ogor XkleSV5JXkl0b3RhbF9mZF9zaXplIC09IGJ1Zi0+b2ZmOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY5MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzo2NzA6CiteSV5JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzY5MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2NzE6Cite SX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2OTQ6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NjcyOgorXklpZiAodG90YWxfZmRfc2l6 ZSA8IDIgKiBwYWdlc2l6ZSkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFs bCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiM2OTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6NjcyOgorICAgICAgIGlmICh0b3RhbF9mZF9zaXplIDwgMiAqIHBhZ2VzaXpl KQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjk1OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjY3MzoKK15JXklnb3RvIGZhbGxi YWNrOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY5NzogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2NzU6CiteSWlmIChzZS0+Y29ubi5w cm90b19taW5vciA8IDE0IHx8JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNjk4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjY3NjoKK15J ICAgICEoc2UtPmNvbm4ud2FudCAmIEZVU0VfQ0FQX1NQTElDRV9XUklURSkpJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjk5OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjY3NzoKK15JXklnb3RvIGZhbGxiYWNrOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcwMTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzo2Nzk6CiteSWxscCA9IGZ1c2VfbGxfZ2V0X3BpcGUoc2UpOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcwMjogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2ODA6CiteSWlmIChsbHAgPT0gTlVMTCkkCgpFUlJP UjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50 CiM3MDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NjgwOgorICAgICAg IGlmIChsbHAgPT0gTlVMTCkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzcwMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2ODE6 CiteSV5JZ290byBmYWxsYmFjazskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM3MDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Njg0Ogor XkloZWFkZXJsZW4gPSBpb3ZfbGVuZ3RoKGlvdiwgaW92X2NvdW50KTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3MDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6Njg2OgorXklvdXQtPmxlbiA9IGhlYWRlcmxlbiArIGxlbjskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3MTA6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Njg4OgorXkkvKiQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcxMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzo2ODk6CiteSSAqIEhldXJpc3RpYyBmb3IgdGhlIHJlcXVpcmVkIHBpcGUgc2l6ZSwg ZG9lcyBub3Qgd29yayBpZiB0aGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM3MTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NjkwOgor XkkgKiBzb3VyY2UgY29udGFpbnMgbGVzcyB0aGFuIHBhZ2Ugc2l6ZSBmcmFnbWVudHMkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3MTM6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NjkxOgorXkkgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3MTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6NjkyOgorXklwaXBlc2l6ZSA9IHBhZ2VzaXplICogKGlvdl9jb3VudCArIGJ1Zi0+ Y291bnQgKyAxKSArIG91dC0+bGVuOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzcxNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2OTQ6 CiteSWlmIChsbHAtPnNpemUgPCBwaXBlc2l6ZSkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzcxNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzo2OTU6CiteSV5JaWYgKGxscC0+Y2FuX2dyb3cpIHskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3MTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6Njk2OgorXkleSV5JcmVzID0gZmNudGwobGxwLT5waXBlWzBdLCBGX1NFVFBJUEVf U1osIHBpcGVzaXplKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM3MTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Njk3OgorXkleSV5J aWYgKHJlcyA9PSAtMSkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzcyMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo2OTg6CiteSV5J XkleSXJlcyA9IGdyb3dfcGlwZV90b19tYXgobGxwLT5waXBlWzBdKTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3MjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6Njk5OgorXkleSV5JXklpZiAocmVzID4gMCkkCgpFUlJPUjogYnJhY2Vz IHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiM3MjE6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Njk5OgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlmIChyZXMgPiAwKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojNzIyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjcwMDoKK15JXkleSV5JXklsbHAtPnNpemUgPSByZXM7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzIzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjcwMToKK15JXkleSV5JbGxwLT5jYW5fZ3JvdyA9IDA7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzI0OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjcwMjoKK15JXkleSV5JZ290byBmYWxsYmFjazskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3MjU6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6NzAzOgorXkleSV5JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcyNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzo3MDQ6CiteSV5JXklsbHAtPnNpemUgPSByZXM7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzI3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjcwNToKK15JXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNzI4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjcwNjoK K15JXklpZiAobGxwLT5zaXplIDwgcGlwZXNpemUpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVj ZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojNzI4OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjcwNjoKKyAgICAgICAgICAgICAgIGlmIChsbHAtPnNp emUgPCBwaXBlc2l6ZSkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzcyOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo3MDc6Cite SV5JXklnb3RvIGZhbGxiYWNrOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzczMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo3MDg6Cite SX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3MzM6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NzExOgorXklyZXMgPSB2bXNwbGljZShs bHAtPnBpcGVbMV0sIGlvdiwgaW92X2NvdW50LCBTUExJQ0VfRl9OT05CTE9DSyk7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzM0OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjcxMjoKK15JaWYgKHJlcyA9PSAtMSkkCgpFUlJPUjogYnJh Y2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiM3MzQ6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NzEyOgorICAgICAgIGlmIChy ZXMgPT0gLTEpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM3MzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NzEzOgorXkleSWdv dG8gZmFsbGJhY2s7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NzM3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjcxNToKK15JaWYgKHJl cyAhPSBoZWFkZXJsZW4pIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM3Mzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NzE2OgorXkle SXJlcyA9IC1FSU87JAoKV0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJhY3RlcnMKIzczOTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo3MTc6CisgICAgICAgICAgICAgICBm dXNlX2xvZyhGVVNFX0xPR19FUlIsICJmdXNlOiBzaG9ydCB2bXNwbGljZSB0byBwaXBlOiAldS8l enVcbiIsIHJlcywKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcz OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo3MTc6CiteSV5JZnVzZV9s b2coRlVTRV9MT0dfRVJSLCAiZnVzZTogc2hvcnQgdm1zcGxpY2UgdG8gcGlwZTogJXUvJXp1XG4i LCByZXMsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzQwOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjcxODoKK15JXkleSWhlYWRlcmxl bik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzQxOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjcxOToKK15JXklnb3RvIGNsZWFyX3Bp cGU7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzQyOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjcyMDoKK15JfSQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc0NDogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzo3MjI6CiteSXBpcGVfYnVmLmJ1ZlswXS5mbGFncyA9IEZVU0VfQlVG X0lTX0ZEOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc0NTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo3MjM6CiteSXBpcGVfYnVmLmJ1 ZlswXS5mZCA9IGxscC0+cGlwZVsxXTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM3NDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NzI1 OgorXklyZXMgPSBmdXNlX2J1Zl9jb3B5KCZwaXBlX2J1ZiwgYnVmLCQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc0ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzo3MjY6CiteSV5JXkkgICAgRlVTRV9CVUZfRk9SQ0VfU1BMSUNFIHwgRlVT RV9CVUZfU1BMSUNFX05PTkJMT0NLKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM3NDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NzI3 OgorXklpZiAocmVzIDwgMCkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzc1MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo3Mjg6Cite SV5JaWYgKHJlcyA9PSAtRUFHQUlOIHx8IHJlcyA9PSAtRUlOVkFMKSB7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzUxOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjcyOToKK15JXkleSS8qJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNzUyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjczMDoKK15JXkleSSAqIFNob3VsZCBvbmx5IGdldCBFQUdBSU4gb24ga2VybmVscyB3aXRo JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzUzOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjczMToKK15JXkleSSAqIGJyb2tlbiBTUExJ Q0VfRl9OT05CTE9DSyBzdXBwb3J0ICg8PSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzc1NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo3 MzI6CiteSV5JXkkgKiAyLjYuMzUpIHdoZXJlIHRoaXMgZXJyb3Igb3IgYSBzaG9ydCByZWFkIGlz JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzU1OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjczMzoKK15JXkleSSAqIHJldHVybmVkIGV2 ZW4gaWYgdGhlIHBpcGUgaXRzZWxmIGlzIG5vdCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzc1NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu Yzo3MzQ6CiteSV5JXkkgKiBmdWxsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNzU3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjczNToK K15JXkleSSAqJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzU4 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjczNjoKK15JXkleSSAqIEVJ TlZBTCBtaWdodCBtZWFuIHRoYXQgc3BsaWNlIGNhbid0IGhhbmRsZSQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc1OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzo3Mzc6CiteSV5JXkkgKiB0aGlzIGNvbWJpbmF0aW9uIG9mIGlucHV0IGFu ZCBvdXRwdXQuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzYw OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjczODoKK15JXkleSSAqLyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc2MTogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo3Mzk6CiteSV5JXklpZiAocmVzID09IC1FQUdB SU4pJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlz IHN0YXRlbWVudAojNzYxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjcz OToKKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyA9PSAtRUFHQUlOKQpbLi4uXQoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzYyOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjc0MDoKK15JXkleSV5Jc2UtPmJyb2tlbl9zcGxpY2Vf bm9uYmxvY2sgPSAxOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK Izc2NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo3NDI6CiteSV5JXklw dGhyZWFkX3NldHNwZWNpZmljKHNlLT5waXBlX2tleSwgTlVMTCk7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzY1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjc0MzoKK15JXkleSWZ1c2VfbGxfcGlwZV9mcmVlKGxscCk7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzY2OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjc0NDoKK15JXkleSWdvdG8gZmFsbGJhY2s7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzY3OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjc0NToKK15JXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojNzY4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjc0NjoKK15JXklyZXMgPSAtcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzc2OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu Yzo3NDc6CiteSV5JZ290byBjbGVhcl9waXBlOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzc3MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu Yzo3NDg6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3 NzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NzUwOgorXklpZiAocmVz ICE9IDAgJiYgcmVzIDwgbGVuKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNzczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjc1MToK K15JXklzdHJ1Y3QgZnVzZV9idWZ2ZWMgbWVtX2J1ZiA9IEZVU0VfQlVGVkVDX0lOSVQobGVuKTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NzQ6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NzUyOgorXkleSXZvaWQgKm1idWY7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzc1OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjc1MzoKK15JXklzaXplX3Qgbm93X2xlbiA9IHJlczsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NzY6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NzU0OgorXkleSS8qJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzc3OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjc1NToKK15JXkkgKiBGb3IgcmVndWxhciBmaWxlcyBhIHNob3J0IGNv dW50IGlzIGVpdGhlciQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK Izc3ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo3NTY6CiteSV5JICog IDEpIGR1ZSB0byBFT0YsIG9yJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNzc5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjc1NzoKK15J XkkgKiAgMikgYmVjYXVzZSBvZiBicm9rZW4gU1BMSUNFX0ZfTk9OQkxPQ0sgKHNlZSBhYm92ZSkk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3ODA6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NzU4OgorXkleSSAqJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzgxOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjc1OToKK15JXkkgKiBGb3Igb3RoZXIgaW5wdXRzIGl0J3MgcG9zc2li bGUgdGhhdCB3ZSBvdmVyZmxvd2VkJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNzgyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjc2MDoK K15JXkkgKiB0aGUgcGlwZSBiZWNhdXNlIG9mIHNtYWxsIGJ1ZmZlciBmcmFnbWVudHMuJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzgzOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjc2MToKK15JXkkgKi8kCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3ODU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6NzYzOgorXkleSXJlcyA9IHBvc2l4X21lbWFsaWduKCZtYnVmLCBwYWdlc2l6 ZSwgbGVuKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3ODY6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NzY0OgorXkleSWlmIChyZXMg IT0gMCkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRo aXMgc3RhdGVtZW50CiM3ODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 NzY0OgorICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzg3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjc2NToKK15JXkleSWdvdG8gY2xlYXJfcGlwZTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3ODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6NzY3OgorXkleSW1lbV9idWYuYnVmWzBdLm1lbSA9IG1idWY7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzkwOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjc2ODoKK15JXkltZW1fYnVmLm9mZiA9IG5vd19sZW47 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzkxOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjc2OToKK15JXklyZXMgPSBmdXNlX2J1Zl9j b3B5KCZtZW1fYnVmLCBidWYsIDApOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzc5MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo3NzA6 CiteSV5JaWYgKHJlcyA+IDApIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM3OTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NzcxOgor XkleSV5JY2hhciAqdG1wYnVmOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzc5NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo3NzI6Cite SV5JXklzaXplX3QgZXh0cmFfbGVuID0gcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzc5NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu Yzo3NzM6CiteSV5JXkkvKiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzc5NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo3NzQ6CiteSV5J XkkgKiBUcmlja2llc3QgY2FzZTogZ290IG1vcmUgZGF0YS4gIE5lZWQgdG8gZ2V0JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzk3OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjc3NToKK15JXkleSSAqIGJhY2sgdGhlIGRhdGEgZnJvbSB0 aGUgcGlwZSBhbmQgdGhlbiBmYWxsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNzk4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjc3NjoK K15JXkleSSAqIGJhY2sgdG8gcmVndWxhciB3cml0ZS4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM3OTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6Nzc3OgorXkleSV5JICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojODAwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjc3ODoK K15JXkleSXRtcGJ1ZiA9IG1hbGxvYyhoZWFkZXJsZW4pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgwMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzo3Nzk6CiteSV5JXklpZiAodG1wYnVmID09IE5VTEwpIHskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4MDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6NzgwOgorXkleSV5JXklmcmVlKG1idWYpOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgwMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzo3ODE6CiteSV5JXkleSXJlcyA9IEVOT01FTTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4MDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6NzgyOgorXkleSV5JXklnb3RvIGNsZWFyX3BpcGU7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODA1OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjc4MzoKK15JXkleSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM4MDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6Nzg0OgorXkleSV5JcmVzID0gcmVhZF9iYWNrKGxscC0+cGlwZVswXSwgdG1wYnVmLCBo ZWFkZXJsZW4pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgw NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo3ODU6CiteSV5JXklmcmVl KHRtcGJ1Zik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODA4 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjc4NjoKK15JXkleSWlmIChy ZXMgIT0gMCkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgw OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo3ODc6CiteSV5JXkleSWZy ZWUobWJ1Zik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODEw OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjc4ODoKK15JXkleSV5JZ290 byBjbGVhcl9waXBlOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzgxMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo3ODk6CiteSV5JXkl9 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODEyOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjc5MDoKK15JXkleSXJlcyA9IHJlYWRfYmFj ayhsbHAtPnBpcGVbMF0sIG1idWYsIG5vd19sZW4pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzgxMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzo3OTE6CiteSV5JXklpZiAocmVzICE9IDApIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM4MTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6NzkyOgorXkleSV5JXklmcmVlKG1idWYpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzgxNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzo3OTM6CiteSV5JXkleSWdvdG8gY2xlYXJfcGlwZTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4MTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6Nzk0OgorXkleSV5JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzgxNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo3OTU6 CiteSV5JXklsZW4gPSBub3dfbGVuICsgZXh0cmFfbGVuOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgxODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzo3OTY6CiteSV5JXklpb3ZbaW92X2NvdW50XS5pb3ZfYmFzZSA9IG1idWY7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODE5OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjc5NzoKK15JXkleSWlvdltpb3ZfY291bnRdLmlvdl9s ZW4gPSBsZW47JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODIw OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjc5ODoKK15JXkleSWlvdl9j b3VudCsrOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgyMTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo3OTk6CiteSV5JXklyZXMgPSBm dXNlX3NlbmRfbXNnKHNlLCBjaCwgaW92LCBpb3ZfY291bnQpOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgyMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzo4MDA6CiteSV5JXklmcmVlKG1idWYpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgyMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzo4MDE6CiteSV5JXklyZXR1cm4gcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzgyNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzo4MDI6CiteSV5JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzgyNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo4MDM6CiteSV5J ZnJlZShtYnVmKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4 MjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6ODA0OgorXkleSXJlcyA9 IG5vd19sZW47JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODI3 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjgwNToKK15JfSQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgyODogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo4MDY6CiteSWxlbiA9IHJlczskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4Mjk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6ODA3OgorXklvdXQtPmxlbiA9IGhlYWRlcmxlbiArIGxlbjskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4MzE6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6ODA5OgorXklpZiAoc2UtPmRlYnVnKSB7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODMyOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjgxMDoKK15JXklmdXNlX2xvZyhGVVNFX0xPR19ERUJVRywk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4MzM6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6ODExOgorXkleSV5JIiAgIHVuaXF1ZTogJWxs dSwgc3VjY2Vzcywgb3V0c2l6ZTogJWkgKHNwbGljZSlcbiIsJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojODM0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjgxMjoKK15JXkleSSh1bnNpZ25lZCBsb25nIGxvbmcpIG91dC0+dW5pcXVlLCBv dXQtPmxlbik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODM1 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjgxMzoKK15JfSQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgzNzogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo4MTU6CiteSXNwbGljZV9mbGFncyA9IDA7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODM4OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjgxNjoKK15JaWYgKChmbGFncyAmIEZVU0VfQlVGX1NQTElD RV9NT1ZFKSAmJiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgz OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo4MTc6CiteSSAgICAoc2Ut PmNvbm4ud2FudCAmIEZVU0VfQ0FQX1NQTElDRV9NT1ZFKSkkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4NDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6ODE4OgorXkleSXNwbGljZV9mbGFncyB8PSBTUExJQ0VfRl9NT1ZFOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg0MjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo4MjA6CiteSXJlcyA9IHNwbGljZShsbHAtPnBpcGVbMF0s IE5VTEwsIGNoID8gY2gtPmZkIDogc2UtPmZkLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzg0MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu Yzo4MjE6CiteSV5JICAgICBOVUxMLCBvdXQtPmxlbiwgc3BsaWNlX2ZsYWdzKTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4NDQ6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6ODIyOgorXklpZiAocmVzID09IC0xKSB7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODQ1OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjgyMzoKK15JXklyZXMgPSAtZXJybm87JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODQ2OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjgyNDoKK15JXklwZXJyb3IoImZ1c2U6IHNwbGljZSBmcm9tIHBpcGUi KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4NDc6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6ODI1OgorXkleSWdvdG8gY2xlYXJfcGlw ZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4NDg6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6ODI2OgorXkl9JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODQ5OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjgyNzoKK15JaWYgKHJlcyAhPSBvdXQtPmxlbikgeyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg1MDogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzo4Mjg6CiteSV5JcmVzID0gLUVJTzskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4NTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6ODI5OgorXkleSWZ1c2VfbG9nKEZVU0VfTE9HX0VSUiwgImZ1c2U6IHNo b3J0IHNwbGljZSBmcm9tIHBpcGU6ICV1LyV1XG4iLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzg1MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzo4MzA6CiteSV5JXklyZXMsIG91dC0+bGVuKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM4NTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6ODMxOgorXkleSWdvdG8gY2xlYXJfcGlwZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM4NTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6ODMyOgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojODU1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjgzMzoKK15JcmV0 dXJuIDA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODU4OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjgzNjoKK15JZnVzZV9sbF9jbGVh cl9waXBlKHNlKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4 NTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6ODM3OgorXklyZXR1cm4g cmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg2MjogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo4NDA6CiteSXJldHVybiBmdXNlX3Nl bmRfZGF0YV9pb3ZfZmFsbGJhY2soc2UsIGNoLCBpb3YsIGlvdl9jb3VudCwgYnVmLCBsZW4pOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg2NjogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo4NDQ6CiteSV5JXkkgICAgICAgc3RydWN0IGlv dmVjICppb3YsIGludCBpb3ZfY291bnQsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojODY3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjg0 NToKK15JXkleSSAgICAgICBzdHJ1Y3QgZnVzZV9idWZ2ZWMgKmJ1ZiwgdW5zaWduZWQgaW50IGZs YWdzKSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg2OTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo4NDc6CiteSXNpemVfdCBsZW4gPSBm dXNlX2J1Zl9zaXplKGJ1Zik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojODcwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjg0ODoKK15J KHZvaWQpIGZsYWdzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK Izg3MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo4NTA6CiteSXJldHVy biBmdXNlX3NlbmRfZGF0YV9pb3ZfZmFsbGJhY2soc2UsIGNoLCBpb3YsIGlvdl9jb3VudCwgYnVm LCBsZW4pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg3Nzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo4NTU6CiteSV5JICAgIGVudW0g ZnVzZV9idWZfY29weV9mbGFncyBmbGFncykkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM4Nzk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 ODU3OgorXklzdHJ1Y3QgaW92ZWMgaW92WzJdOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzg4MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu Yzo4NTg6CiteSXN0cnVjdCBmdXNlX291dF9oZWFkZXIgb3V0OyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg4MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzo4NTk6CiteSWludCByZXM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojODgzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j Ojg2MToKK15JaW92WzBdLmlvdl9iYXNlID0gJm91dDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM4ODQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6ODYyOgorXklpb3ZbMF0uaW92X2xlbiA9IHNpemVvZihzdHJ1Y3QgZnVzZV9vdXRfaGVh ZGVyKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4ODY6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6ODY0OgorXklvdXQudW5pcXVlID0g cmVxLT51bmlxdWU7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj ODg3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjg2NToKK15Jb3V0LmVy cm9yID0gMDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4ODk6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6ODY3OgorXklyZXMgPSBmdXNl X3NlbmRfZGF0YV9pb3YocmVxLT5zZSwgcmVxLT5jaCwgaW92LCAxLCBidWZ2LCBmbGFncyk7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODkwOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjg2ODoKK15JaWYgKHJlcyA8PSAwKSB7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODkxOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjg2OToKK15JXklmdXNlX2ZyZWVfcmVxKHJlcSk7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODkyOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjg3MDoKK15JXklyZXR1cm4gcmVzOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg5MzogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo4NzE6CiteSX0gZWxzZSB7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODk0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjg3MjoKK15JXklyZXR1cm4gZnVzZV9yZXBseV9lcnIocmVxLCByZXMpOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg5NTogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo4NzM6CiteSX0kCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5MDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6ODc4OgorXklzdHJ1Y3QgZnVzZV9zdGF0ZnNfb3V0IGFyZzskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5MDE6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6ODc5OgorXklzaXplX3Qgc2l6ZSA9IHJlcS0+c2UtPmNvbm4u cHJvdG9fbWlub3IgPCA0ID8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM5MDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6ODgwOgorXkle SUZVU0VfQ09NUEFUX1NUQVRGU19TSVpFIDogc2l6ZW9mKGFyZyk7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTA0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjg4MjoKK15JbWVtc2V0KCZhcmcsIDAsIHNpemVvZihhcmcpKTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5MDU6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6ODgzOgorXkljb252ZXJ0X3N0YXRmcyhzdGJ1ZiwgJmFy Zy5zdCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTA3OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjg4NToKK15JcmV0dXJuIHNlbmRf cmVwbHlfb2socmVxLCAmYXJnLCBzaXplKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM5MTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 ODkwOgorXklzdHJ1Y3QgZnVzZV9nZXR4YXR0cl9vdXQgYXJnOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzkxNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzo4OTI6CiteSW1lbXNldCgmYXJnLCAwLCBzaXplb2YoYXJnKSk7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTE1OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjg5MzoKK15JYXJnLnNpemUgPSBjb3VudDskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5MTc6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6ODk1OgorXklyZXR1cm4gc2VuZF9yZXBseV9vayhyZXEsICZh cmcsIHNpemVvZihhcmcpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM5MjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6OTAwOgorXklz dHJ1Y3QgZnVzZV9sa19vdXQgYXJnOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzkyNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo5MDI6 CiteSW1lbXNldCgmYXJnLCAwLCBzaXplb2YoYXJnKSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojOTI1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjkwMzoKK15JYXJnLmxrLnR5cGUgPSBsb2NrLT5sX3R5cGU7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTI2OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjkwNDoKK15JaWYgKGxvY2stPmxfdHlwZSAhPSBGX1VOTENLKSB7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTI3OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjkwNToKK15JXklhcmcubGsuc3RhcnQgPSBsb2Nr LT5sX3N0YXJ0OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzky ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo5MDY6CiteSV5JaWYgKGxv Y2stPmxfbGVuID09IDApJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwg YXJtcyBvZiB0aGlzIHN0YXRlbWVudAojOTI4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjkwNjoKKyAgICAgICAgICAgICAgIGlmIChsb2NrLT5sX2xlbiA9PSAwKQpbLi4u XQorICAgICAgICAgICAgICAgZWxzZQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojOTI5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjkwNzoKK15JXkleSWFyZy5say5lbmQgPSBPRkZTRVRfTUFYOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzkzMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzo5MDg6CiteSV5JZWxzZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzkzMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo5 MDk6CiteSV5JXklhcmcubGsuZW5kID0gbG9jay0+bF9zdGFydCArIGxvY2stPmxfbGVuIC0gMTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5MzI6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6OTEwOgorXkl9JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTMzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjkxMToKK15JYXJnLmxrLnBpZCA9IGxvY2stPmxfcGlkOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzkzNDogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzo5MTI6CiteSXJldHVybiBzZW5kX3JlcGx5X29rKHJlcSwgJmFy Zywgc2l6ZW9mKGFyZykpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzkzOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo5MTc6CiteSXN0 cnVjdCBmdXNlX2JtYXBfb3V0IGFyZzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM5NDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6OTE5 OgorXkltZW1zZXQoJmFyZywgMCwgc2l6ZW9mKGFyZykpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk0MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzo5MjA6CiteSWFyZy5ibG9jayA9IGlkeDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM5NDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6OTIyOgorXklyZXR1cm4gc2VuZF9yZXBseV9vayhyZXEsICZhcmcsIHNpemVvZihhcmcp KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5NDg6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6OTI2OgorXkleSV5JXkleSV5JICAgICAg c2l6ZV90IGNvdW50KSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK Izk1MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo5Mjg6CiteSXN0cnVj dCBmdXNlX2lvY3RsX2lvdmVjICpmaW92OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzk1MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo5 Mjk6CiteSXNpemVfdCBpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzk1MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo5MzE6CiteSWZp b3YgPSBtYWxsb2Moc2l6ZW9mKGZpb3ZbMF0pICogY291bnQpOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk1NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzo5MzI6CiteSWlmICghZmlvdikkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNl c3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiM5NTQ6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6OTMyOgorICAgICAgIGlmICghZmlvdikKWy4uLl0KCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk1NTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo5MzM6CiteSV5JcmV0dXJuIE5VTEw7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTU3OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjkzNToKK15JZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKysp IHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5NTg6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6OTM2OgorXkleSWZpb3ZbaV0uYmFzZSA9 ICh1aW50cHRyX3QpIGlvdltpXS5pb3ZfYmFzZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM5NTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6OTM3OgorXkleSWZpb3ZbaV0ubGVuID0gaW92W2ldLmlvdl9sZW47JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTYwOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjkzODoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzk2MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo5 NDA6CiteSXJldHVybiBmaW92OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzk2NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo5NDQ6Cite SV5JXkkgICBjb25zdCBzdHJ1Y3QgaW92ZWMgKmluX2lvdiwgc2l6ZV90IGluX2NvdW50LCQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk2NzogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo5NDU6CiteSV5JXkkgICBjb25zdCBzdHJ1Y3QgaW92 ZWMgKm91dF9pb3YsIHNpemVfdCBvdXRfY291bnQpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojOTY5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjk0NzoKK15Jc3RydWN0IGZ1c2VfaW9jdGxfb3V0IGFyZzskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5NzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6OTQ4OgorXklzdHJ1Y3QgZnVzZV9pb2N0bF9pb3ZlYyAqaW5fZmlvdiA9IE5V TEw7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTcxOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjk0OToKK15Jc3RydWN0IGZ1c2VfaW9j dGxfaW92ZWMgKm91dF9maW92ID0gTlVMTDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM5NzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 OTUwOgorXklzdHJ1Y3QgaW92ZWMgaW92WzRdOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzk3MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu Yzo5NTE6CiteSXNpemVfdCBjb3VudCA9IDE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojOTc0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j Ojk1MjoKK15JaW50IHJlczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM5NzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6OTU0OgorXklt ZW1zZXQoJmFyZywgMCwgc2l6ZW9mKGFyZykpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzk3NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu Yzo5NTU6CiteSWFyZy5mbGFncyB8PSBGVVNFX0lPQ1RMX1JFVFJZOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk3ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzo5NTY6CiteSWFyZy5pbl9pb3ZzID0gaW5fY291bnQ7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTc5OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjk1NzoKK15JYXJnLm91dF9pb3ZzID0gb3V0X2NvdW50OyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk4MDogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo5NTg6CiteSWlvdltjb3VudF0uaW92X2Jhc2UgPSAm YXJnOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk4MTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo5NTk6CiteSWlvdltjb3VudF0uaW92 X2xlbiA9IHNpemVvZihhcmcpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzk4MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo5NjA6Cite SWNvdW50Kys7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTg0 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjk2MjoKK15JaWYgKHJlcS0+ c2UtPmNvbm4ucHJvdG9fbWlub3IgPCAxNikgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzk4NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu Yzo5NjM6CiteSV5JaWYgKGluX2NvdW50KSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojOTg2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j Ojk2NDoKK15JXkleSWlvdltjb3VudF0uaW92X2Jhc2UgPSAodm9pZCAqKWluX2lvdjskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5ODc6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6OTY1OgorXkleSV5JaW92W2NvdW50XS5pb3ZfbGVuID0g c2l6ZW9mKGluX2lvdlswXSkgKiBpbl9jb3VudDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM5ODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6OTY2OgorXkleSV5JY291bnQrKzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM5ODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6OTY3 OgorXkleSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5OTE6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6OTY5OgorXkleSWlmIChvdXRf Y291bnQpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5OTI6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6OTcwOgorXkleSV5JaW92W2Nv dW50XS5pb3ZfYmFzZSA9ICh2b2lkICopb3V0X2lvdjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM5OTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6OTcxOgorXkleSV5JaW92W2NvdW50XS5pb3ZfbGVuID0gc2l6ZW9mKG91dF9pb3ZbMF0p ICogb3V0X2NvdW50OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK Izk5NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo5NzI6CiteSV5JXklj b3VudCsrOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk5NTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo5NzM6CiteSV5JfSQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk5NjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo5NzQ6CiteSX0gZWxzZSB7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTk3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjk3NToKK15JXkkvKiBDYW4ndCBoYW5kbGUgbm9uLWNvbXBhdCA2NGJpdCBp b2N0bHMgb24gMzJiaXQgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM5OTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6OTc2OgorXkle SWlmIChzaXplb2Yodm9pZCAqKSA9PSA0ICYmIHJlcS0+aW9jdGxfNjRiaXQpIHskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5OTk6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6OTc3OgorXkleSV5JcmVzID0gZnVzZV9yZXBseV9lcnIocmVx LCBFSU5WQUwpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEw MDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6OTc4OgorXkleSV5JZ290 byBvdXQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTAwMTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo5Nzk6CiteSV5JfSQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMDM6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6OTgxOgorXkleSWlmIChpbl9jb3VudCkgeyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMDQ6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6OTgyOgorXkleSV5JaW5fZmlvdiA9IGZ1c2VfaW9jdGxf aW92ZWNfY29weShpbl9pb3YsIGluX2NvdW50KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxMDA1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjk4MzoKK15JXkleSWlmICghaW5fZmlvdikkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNl c3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMxMDA1OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjk4MzoKKyAgICAgICAgICAgICAgICAgICAgICAgaWYg KCFpbl9maW92KQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTAwNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo5ODQ6CiteSV5J XkleSWdvdG8gZW5vbWVtOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzEwMDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6OTg2OgorXkle SV5JaW92W2NvdW50XS5pb3ZfYmFzZSA9ICh2b2lkICopaW5fZmlvdjskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDA5OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjk4NzoKK15JXkleSWlvdltjb3VudF0uaW92X2xlbiA9IHNpemVvZihp bl9maW92WzBdKSAqIGluX2NvdW50OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzEwMTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6OTg4 OgorXkleSV5JY291bnQrKzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxMDExOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjk4OToKK15J Xkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTAxMjogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo5OTA6CiteSV5JaWYgKG91dF9jb3Vu dCkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMTM6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6OTkxOgorXkleSV5Jb3V0X2Zpb3Yg PSBmdXNlX2lvY3RsX2lvdmVjX2NvcHkob3V0X2lvdiwgb3V0X2NvdW50KTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDE0OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjk5MjoKK15JXkleSWlmICghb3V0X2Zpb3YpJAoKRVJST1I6IGJy YWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMTAx NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzo5OTI6CisgICAgICAgICAg ICAgICAgICAgICAgIGlmICghb3V0X2Zpb3YpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxMDE1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjk5MzoKK15JXkleSV5JZ290byBlbm9tZW07JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTAxNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzo5OTU6CiteSV5JXklpb3ZbY291bnRdLmlvdl9iYXNlID0gKHZvaWQgKilvdXRfZmlv djskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDE4OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjk5NjoKK15JXkleSWlvdltjb3VudF0u aW92X2xlbiA9IHNpemVvZihvdXRfZmlvdlswXSkgKiBvdXRfY291bnQ7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTAxOTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzo5OTc6CiteSV5JXkljb3VudCsrOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6OTk4OgorXkleSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMDIxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjk5 OToKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMjM6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTAwMToKK15JcmVzID0gc2Vu ZF9yZXBseV9pb3YocmVxLCAwLCBpb3YsIGNvdW50KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxMDI1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjEwMDM6CiteSWZyZWUoaW5fZmlvdik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTAyNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoxMDA0OgorXklmcmVlKG91dF9maW92KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxMDI4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjEwMDY6CiteSXJldHVybiByZXM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTAzMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzox MDA5OgorXklyZXMgPSBmdXNlX3JlcGx5X2VycihyZXEsIEVOT01FTSk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTAzMjogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoxMDEwOgorXklnb3RvIG91dDskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDM3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjEwMTU6CiteSXN0cnVjdCBmdXNlX2lvY3RsX291dCBhcmc7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTAzODogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMDE2OgorXklzdHJ1Y3QgaW92ZWMgaW92WzNdOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMzk6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTAxNzoKK15Jc2l6ZV90IGNvdW50ID0gMTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDQxOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEwMTk6CiteSW1lbXNldCgmYXJnLCAwLCBzaXplb2Yo YXJnKSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA0Mjog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMDIwOgorXklhcmcucmVzdWx0 ID0gcmVzdWx0OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEw NDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTAyMToKK15JaW92W2Nv dW50XS5pb3ZfYmFzZSA9ICZhcmc7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMTA0NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMDIy OgorXklpb3ZbY291bnRdLmlvdl9sZW4gPSBzaXplb2YoYXJnKTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDQ1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjEwMjM6CiteSWNvdW50Kys7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTA0NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoxMDI1OgorXklpZiAoc2l6ZSkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzEwNDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MTAyNjoKK15JXklpb3ZbY291bnRdLmlvdl9iYXNlID0gKGNoYXIgKikgYnVmOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNDk6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MTAyNzoKK15JXklpb3ZbY291bnRdLmlvdl9sZW4gPSBzaXpl OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNTA6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTAyODoKK15JXkljb3VudCsrOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNTE6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTAyOToKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MTAzMToKK15JcmV0dXJuIHNlbmRfcmVwbHlfaW92KHJlcSwgMCwgaW92LCBj b3VudCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA1Nzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMDM1OgorXkleSV5JIGludCBj b3VudCkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDU5OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEwMzc6CiteSXN0cnVjdCBpb3Zl YyAqcGFkZGVkX2lvdjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxMDYwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEwMzg6CiteSXN0 cnVjdCBmdXNlX2lvY3RsX291dCBhcmc7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTA2MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzox MDM5OgorXklpbnQgcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzEwNjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTA0MToKK15J cGFkZGVkX2lvdiA9IG1hbGxvYygoY291bnQgKyAyKSAqIHNpemVvZihzdHJ1Y3QgaW92ZWMpKTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDY0OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEwNDI6CiteSWlmIChwYWRkZWRfaW92ID09 IE5VTEwpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0 aGlzIHN0YXRlbWVudAojMTA2NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxMDQyOgorICAgICAgIGlmIChwYWRkZWRfaW92ID09IE5VTEwpClsuLi5dCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDY1OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjEwNDM6CiteSV5JcmV0dXJuIGZ1c2VfcmVwbHlfZXJyKHJlcSwg RU5PTUVNKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDY3 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEwNDU6CiteSW1lbXNldCgm YXJnLCAwLCBzaXplb2YoYXJnKSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMTA2ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMDQ2 OgorXklhcmcucmVzdWx0ID0gcmVzdWx0OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzEwNjk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MTA0NzoKK15JcGFkZGVkX2lvdlsxXS5pb3ZfYmFzZSA9ICZhcmc7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA3MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoxMDQ4OgorXklwYWRkZWRfaW92WzFdLmlvdl9sZW4gPSBzaXplb2YoYXJn KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDcyOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEwNTA6CiteSW1lbWNweSgmcGFkZGVk X2lvdlsyXSwgaW92LCBjb3VudCAqIHNpemVvZihzdHJ1Y3QgaW92ZWMpKTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDc0OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjEwNTI6CiteSXJlcyA9IHNlbmRfcmVwbHlfaW92KHJlcSwgMCwg cGFkZGVkX2lvdiwgY291bnQgKyAyKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMDc1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEw NTM6CiteSWZyZWUocGFkZGVkX2lvdik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTA3NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzox MDU1OgorXklyZXR1cm4gcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEwODI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTA2MDoK K15Jc3RydWN0IGZ1c2VfcG9sbF9vdXQgYXJnOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzEwODQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MTA2MjoKK15JbWVtc2V0KCZhcmcsIDAsIHNpemVvZihhcmcpKTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDg1OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjEwNjM6CiteSWFyZy5yZXZlbnRzID0gcmV2ZW50czskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDg3OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEwNjU6CiteSXJldHVybiBzZW5kX3JlcGx5X29rKHJlcSwg JmFyZywgc2l6ZW9mKGFyZykpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEwOTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTA3MDoK K15Jc3RydWN0IGZ1c2VfbHNlZWtfb3V0IGFyZzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxMDk0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjEwNzI6CiteSW1lbXNldCgmYXJnLCAwLCBzaXplb2YoYXJnKSk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA5NTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoxMDczOgorXklhcmcub2Zmc2V0ID0gb2ZmOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwOTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MTA3NToKK15JcmV0dXJuIHNlbmRfcmVwbHlfb2socmVxLCAmYXJn LCBzaXplb2YoYXJnKSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTEwMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMDgwOgorXklj aGFyICpuYW1lID0gKGNoYXIgKikgaW5hcmc7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTEwNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxMDgyOgorXklpZiAocmVxLT5zZS0+b3AubG9va3VwKSQKCkVSUk9SOiBicmFjZXMge30gYXJl IG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzExMDQ6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTA4MjoKKyAgICAgICBpZiAocmVxLT5zZS0+ b3AubG9va3VwKQpbLi4uXQorICAgICAgIGVsc2UKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExMDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MTA4MzoKK15JXklyZXEtPnNlLT5vcC5sb29rdXAocmVxLCBub2RlaWQsIG5hbWUp OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExMDY6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTA4NDoKK15JZWxzZSQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExMDc6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MTA4NToKK15JXklmdXNlX3JlcGx5X2VycihyZXEsIEVOT1NZ Uyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTExMjogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMDkwOgorXklzdHJ1Y3QgZnVzZV9m b3JnZXRfaW4gKmFyZyA9IChzdHJ1Y3QgZnVzZV9mb3JnZXRfaW4gKikgaW5hcmc7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTExNDogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMDkyOgorXklpZiAocmVxLT5zZS0+b3AuZm9yZ2V0KSQK CkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0 ZW1lbnQKIzExMTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTA5MjoK KyAgICAgICBpZiAocmVxLT5zZS0+b3AuZm9yZ2V0KQpbLi4uXQorICAgICAgIGVsc2UKWy4uLl0K CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExMTU6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTA5MzoKK15JXklyZXEtPnNlLT5vcC5mb3Jn ZXQocmVxLCBub2RlaWQsIGFyZy0+bmxvb2t1cCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTExNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoxMDk0OgorXkllbHNlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMTExNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMDk1Ogor XkleSWZ1c2VfcmVwbHlfbm9uZShyZXEpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzExMjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MTA5OToKK15JXkleSSAgICBjb25zdCB2b2lkICppbmFyZykkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTIzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjExMDE6CiteSXN0cnVjdCBmdXNlX2JhdGNoX2ZvcmdldF9pbiAqYXJnID0gKHZv aWQgKikgaW5hcmc7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTEyNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMTAyOgorXklzdHJ1 Y3QgZnVzZV9mb3JnZXRfb25lICpwYXJhbSA9ICh2b2lkICopIFBBUkFNKGFyZyk7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTEyNTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMTAzOgorXkl1bnNpZ25lZCBpbnQgaTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTI3OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjExMDU6CiteSSh2b2lkKSBub2RlaWQ7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTEyOTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMTA3OgorXklpZiAocmVxLT5zZS0+b3AuZm9yZ2V0X211bHRp KSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTEzMDogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMTA4OgorXkleSXJlcS0+c2UtPm9w LmZvcmdldF9tdWx0aShyZXEsIGFyZy0+Y291bnQsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTEzMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoxMTA5OgorXkleSV5JXkkgICAgIChzdHJ1Y3QgZnVzZV9mb3JnZXRfZGF0YSAqKSBwYXJh bSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTEzMjogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMTEwOgorXkl9IGVsc2UgaWYgKHJl cS0+c2UtPm9wLmZvcmdldCkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzExMzM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTExMToK K15JXklmb3IgKGkgPSAwOyBpIDwgYXJnLT5jb3VudDsgaSsrKSB7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTEzNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoxMTEyOgorXkleSV5Jc3RydWN0IGZ1c2VfZm9yZ2V0X29uZSAqZm9yZ2V0 ID0gJnBhcmFtW2ldOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzExMzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTExMzoKK15JXkle SXN0cnVjdCBmdXNlX3JlcSAqZHVtbXlfcmVxOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzExMzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MTExNToKK15JXkleSWR1bW15X3JlcSA9IGZ1c2VfbGxfYWxsb2NfcmVxKHJlcS0+c2UpOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExMzg6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTExNjoKK15JXkleSWlmIChkdW1teV9yZXEg PT0gTlVMTCkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9m IHRoaXMgc3RhdGVtZW50CiMxMTM4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjExMTY6CisgICAgICAgICAgICAgICAgICAgICAgIGlmIChkdW1teV9yZXEgPT0gTlVMTCkK Wy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExMzk6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTExNzoKK15JXkleSV5JYnJlYWs7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE0MTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMTE5OgorXkleSV5JZHVtbXlfcmVxLT51 bmlxdWUgPSByZXEtPnVuaXF1ZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxMTQyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjExMjA6 CiteSV5JXklkdW1teV9yZXEtPmN0eCA9IHJlcS0+Y3R4OyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExNDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MTEyMToKK15JXkleSWR1bW15X3JlcS0+Y2ggPSBOVUxMOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExNDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MTEyMzoKK15JXkleSXJlcS0+c2UtPm9wLmZvcmdldChkdW1teV9y ZXEsIGZvcmdldC0+bm9kZWlkLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzExNDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTEyNDoK K15JXkleSV5JXkkgIGZvcmdldC0+bmxvb2t1cCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTE0NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoxMTI1OgorXkleSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxMTQ4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjExMjY6Cite SV5JZnVzZV9yZXBseV9ub25lKHJlcSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTE0OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzox MTI3OgorXkl9IGVsc2UgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzExNTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTEyODoKK15J XklmdXNlX3JlcGx5X25vbmUocmVxKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMTUxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEx Mjk6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTU2 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjExMzQ6CiteSXN0cnVjdCBm dXNlX2ZpbGVfaW5mbyAqZmlwID0gTlVMTDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxMTU3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjExMzU6CiteSXN0cnVjdCBmdXNlX2ZpbGVfaW5mbyBmaTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTU5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjExMzc6CiteSWlmIChyZXEtPnNlLT5jb25uLnByb3RvX21pbm9yID49IDkpIHsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTYwOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjExMzg6CiteSV5Jc3RydWN0IGZ1c2VfZ2V0 YXR0cl9pbiAqYXJnID0gKHN0cnVjdCBmdXNlX2dldGF0dHJfaW4gKikgaW5hcmc7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE2MjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMTQwOgorXkleSWlmIChhcmctPmdldGF0dHJfZmxhZ3Mg JiBGVVNFX0dFVEFUVFJfRkgpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxMTYzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjExNDE6 CiteSV5JXkltZW1zZXQoJmZpLCAwLCBzaXplb2YoZmkpKTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTY0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjExNDI6CiteSV5JXklmaS5maCA9IGFyZy0+Zmg7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE2NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoxMTQzOgorXkleSV5JZmlwID0gJmZpOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExNjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MTE0NDoKK15JXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTE2NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzox MTQ1OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE2 OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMTQ3OgorXklpZiAocmVx LT5zZS0+b3AuZ2V0YXR0cikkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFs bCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMxMTY5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjExNDc6CisgICAgICAgaWYgKHJlcS0+c2UtPm9wLmdldGF0dHIpClsuLi5d CisgICAgICAgZWxzZQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMTE3MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMTQ4Ogor XkleSXJlcS0+c2UtPm9wLmdldGF0dHIocmVxLCBub2RlaWQsIGZpcCk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE3MTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoxMTQ5OgorXkllbHNlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTE3MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoxMTUwOgorXkleSWZ1c2VfcmVwbHlfZXJyKHJlcSwgRU5PU1lTKTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTc3OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjExNTU6CiteSXN0cnVjdCBmdXNlX3NldGF0dHJfaW4gKmFyZyA9 IChzdHJ1Y3QgZnVzZV9zZXRhdHRyX2luICopIGluYXJnOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExNzk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MTE1NzoKK15JaWYgKHJlcS0+c2UtPm9wLnNldGF0dHIpIHskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTgwOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjExNTg6CiteSV5Jc3RydWN0IGZ1c2VfZmlsZV9pbmZvICpmaSA9 IE5VTEw7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE4MTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMTU5OgorXkleSXN0cnVjdCBm dXNlX2ZpbGVfaW5mbyBmaV9zdG9yZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMTgyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEx NjA6CiteSV5Jc3RydWN0IHN0YXQgc3RidWY7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTE4MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxMTYxOgorXkleSW1lbXNldCgmc3RidWYsIDAsIHNpemVvZihzdGJ1ZikpOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExODQ6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MTE2MjoKK15JXkljb252ZXJ0X2F0dHIoYXJnLCAmc3RidWYp OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExODU6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTE2MzoKK15JXklpZiAoYXJnLT52YWxp ZCAmIEZBVFRSX0ZIKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTE4NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMTY0OgorXkle SV5JYXJnLT52YWxpZCAmPSB+RkFUVFJfRkg7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTE4NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxMTY1OgorXkleSV5JbWVtc2V0KCZmaV9zdG9yZSwgMCwgc2l6ZW9mKGZpX3N0b3JlKSk7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE4ODogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMTY2OgorXkleSV5JZmkgPSAmZmlfc3RvcmU7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE4OTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMTY3OgorXkleSV5JZmktPmZoID0gYXJn LT5maDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTkwOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjExNjg6CiteSV5JfSQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExOTE6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTE2OToKK15JXklhcmctPnZhbGlkICY9JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE5MjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMTcwOgorXkleSV5JRlVTRV9TRVRfQVRUUl9NT0RFXkl8 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE5MzogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMTcxOgorXkleSV5JRlVTRV9TRVRfQVRU Ul9VSUReSXwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTk0 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjExNzI6CiteSV5JXklGVVNF X1NFVF9BVFRSX0dJRF5JfCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzExOTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTE3MzoKK15J XkleSUZVU0VfU0VUX0FUVFJfU0laRV5JfCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzExOTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MTE3NDoKK15JXkleSUZVU0VfU0VUX0FUVFJfQVRJTUVeSXwkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTk3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjExNzU6CiteSV5JXklGVVNFX1NFVF9BVFRSX01USU1FXkl8JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE5ODogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMTc2OgorXkleSV5JRlVTRV9TRVRfQVRUUl9BVElNRV9OT1de SXwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTk5OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjExNzc6CiteSV5JXklGVVNFX1NFVF9B VFRSX01USU1FX05PVyB8JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTIwMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMTc4OgorXkle SV5JRlVTRV9TRVRfQVRUUl9DVElNRTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMjAyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEx ODA6CiteSV5JcmVxLT5zZS0+b3Auc2V0YXR0cihyZXEsIG5vZGVpZCwgJnN0YnVmLCBhcmctPnZh bGlkLCBmaSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIw MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMTgxOgorXkl9IGVsc2Uk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjA0OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjExODI6CiteSV5JZnVzZV9yZXBseV9lcnIo cmVxLCBFTk9TWVMpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzEyMDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTE4NzoKK15Jc3Ry dWN0IGZ1c2VfYWNjZXNzX2luICphcmcgPSAoc3RydWN0IGZ1c2VfYWNjZXNzX2luICopIGluYXJn OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMTE6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTE4OToKK15JaWYgKHJlcS0+c2UtPm9w LmFjY2VzcykkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9m IHRoaXMgc3RhdGVtZW50CiMxMjExOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjExODk6CisgICAgICAgaWYgKHJlcS0+c2UtPm9wLmFjY2VzcykKWy4uLl0KKyAgICAgICBl bHNlClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjEy OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjExOTA6CiteSV5JcmVxLT5z ZS0+b3AuYWNjZXNzKHJlcSwgbm9kZWlkLCBhcmctPm1hc2spOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MTE5MToKK15JZWxzZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzEyMTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MTE5MjoKK15JXklmdXNlX3JlcGx5X2VycihyZXEsIEVOT1NZUyk7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIxOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoxMTk3OgorXkkodm9pZCkgaW5hcmc7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIyMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoxMTk5OgorXklpZiAocmVxLT5zZS0+b3AucmVhZGxpbmspJAoKRVJST1I6IGJy YWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMTIy MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMTk5OgorICAgICAgIGlm IChyZXEtPnNlLT5vcC5yZWFkbGluaykKWy4uLl0KKyAgICAgICBlbHNlClsuLi5dCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjIyOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEyMDA6CiteSV5JcmVxLT5zZS0+b3AucmVhZGxpbmsocmVx LCBub2RlaWQpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEy MjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTIwMToKK15JZWxzZSQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMjQ6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTIwMjoKK15JXklmdXNlX3JlcGx5X2Vycihy ZXEsIEVOT1NZUyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTIyOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMjA3OgorXklzdHJ1 Y3QgZnVzZV9ta25vZF9pbiAqYXJnID0gKHN0cnVjdCBmdXNlX21rbm9kX2luICopIGluYXJnOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMzA6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTIwODoKK15JY2hhciAqbmFtZSA9IFBBUkFN KGFyZyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIzMjog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMjEwOgorXklpZiAocmVxLT5z ZS0+Y29ubi5wcm90b19taW5vciA+PSAxMikkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3Nh cnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMxMjMyOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEyMTA6CisgICAgICAgaWYgKHJlcS0+c2UtPmNvbm4ucHJv dG9fbWlub3IgPj0gMTIpClsuLi5dCisgICAgICAgZWxzZQpbLi4uXQoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoxMjExOgorXkleSXJlcS0+Y3R4LnVtYXNrID0gYXJnLT51bWFzazskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjM0OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEyMTI6CiteSWVsc2UkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjM1OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjEyMTM6CiteSV5JbmFtZSA9IChjaGFyICopIGluYXJnICsgRlVTRV9D T01QQVRfTUtOT0RfSU5fU0laRTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxMjM3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEyMTU6 CiteSWlmIChyZXEtPnNlLT5vcC5ta25vZCkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3Nh cnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMxMjM3OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEyMTU6CisgICAgICAgaWYgKHJlcS0+c2UtPm9wLm1rbm9k KQpbLi4uXQorICAgICAgIGVsc2UKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzEyMzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MTIxNjoKK15JXklyZXEtPnNlLT5vcC5ta25vZChyZXEsIG5vZGVpZCwgbmFtZSwgYXJnLT5tb2Rl LCBhcmctPnJkZXYpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzEyMzk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTIxNzoKK15JZWxz ZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNDA6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTIxODoKK15JXklmdXNlX3JlcGx5X2Vy cihyZXEsIEVOT1NZUyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTI0NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMjIzOgorXklz dHJ1Y3QgZnVzZV9ta2Rpcl9pbiAqYXJnID0gKHN0cnVjdCBmdXNlX21rZGlyX2luICopIGluYXJn OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNDc6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTIyNToKK15JaWYgKHJlcS0+c2UtPmNv bm4ucHJvdG9fbWlub3IgPj0gMTIpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZv ciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMTI0NzogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoxMjI1OgorICAgICAgIGlmIChyZXEtPnNlLT5jb25uLnByb3RvX21p bm9yID49IDEyKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTI0ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMjI2OgorXkle SXJlcS0+Y3R4LnVtYXNrID0gYXJnLT51bWFzazskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxMjUwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjEyMjg6CiteSWlmIChyZXEtPnNlLT5vcC5ta2RpcikkCgpFUlJPUjogYnJhY2VzIHt9IGFy ZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMxMjUwOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEyMjg6CisgICAgICAgaWYgKHJlcS0+c2Ut Pm9wLm1rZGlyKQpbLi4uXQorICAgICAgIGVsc2UKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MTIyOToKK15JXklyZXEtPnNlLT5vcC5ta2RpcihyZXEsIG5vZGVpZCwgUEFSQU0o YXJnKSwgYXJnLT5tb2RlKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxMjUyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEyMzA6Cite SWVsc2UkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjUzOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEyMzE6CiteSV5JZnVzZV9yZXBs eV9lcnIocmVxLCBFTk9TWVMpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEyNTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTIzNjoK K15JY2hhciAqbmFtZSA9IChjaGFyICopIGluYXJnOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MTIzODoKK15JaWYgKHJlcS0+c2UtPm9wLnVubGluaykkCgpFUlJPUjogYnJhY2VzIHt9 IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMxMjYwOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEyMzg6CisgICAgICAgaWYgKHJlcS0+ c2UtPm9wLnVubGluaykKWy4uLl0KKyAgICAgICBlbHNlClsuLi5dCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjYxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjEyMzk6CiteSV5JcmVxLT5zZS0+b3AudW5saW5rKHJlcSwgbm9kZWlkLCBu YW1lKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjYyOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEyNDA6CiteSWVsc2UkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjYzOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEyNDE6CiteSV5JZnVzZV9yZXBseV9lcnIocmVxLCBF Tk9TWVMpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNjg6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTI0NjoKK15JY2hhciAqbmFt ZSA9IChjaGFyICopIGluYXJnOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEyNzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTI0ODoK K15JaWYgKHJlcS0+c2UtPm9wLnJtZGlyKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2Fy eSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzEyNzA6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MTI0ODoKKyAgICAgICBpZiAocmVxLT5zZS0+b3Aucm1kaXIp ClsuLi5dCisgICAgICAgZWxzZQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTI3MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzox MjQ5OgorXkleSXJlcS0+c2UtPm9wLnJtZGlyKHJlcSwgbm9kZWlkLCBuYW1lKTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjcyOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEyNTA6CiteSWVsc2UkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjEyNTE6CiteSV5JZnVzZV9yZXBseV9lcnIocmVxLCBFTk9TWVMpOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNzg6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTI1NjoKK15JY2hhciAqbmFtZSA9IChjaGFyICopIGlu YXJnOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNzk6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTI1NzoKK15JY2hhciAqbGlua25h bWUgPSAoKGNoYXIgKikgaW5hcmcpICsgc3RybGVuKChjaGFyICopIGluYXJnKSArIDE7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTI4MTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMjU5OgorXklpZiAocmVxLT5zZS0+b3Auc3ltbGlu aykkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMg c3RhdGVtZW50CiMxMjgxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEy NTk6CisgICAgICAgaWYgKHJlcS0+c2UtPm9wLnN5bWxpbmspClsuLi5dCisgICAgICAgZWxzZQpb Li4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTI4MjogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMjYwOgorXkleSXJlcS0+c2UtPm9w LnN5bWxpbmsocmVxLCBsaW5rbmFtZSwgbm9kZWlkLCBuYW1lKTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjgzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjEyNjE6CiteSWVsc2UkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxMjg0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjEyNjI6CiteSV5JZnVzZV9yZXBseV9lcnIocmVxLCBFTk9TWVMpOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTI2NzoKK15Jc3RydWN0IGZ1c2VfcmVuYW1lX2luICphcmcgPSAoc3Ry dWN0IGZ1c2VfcmVuYW1lX2luICopIGluYXJnOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzEyOTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MTI2ODoKK15JY2hhciAqb2xkbmFtZSA9IFBBUkFNKGFyZyk7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTI5MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoxMjY5OgorXkljaGFyICpuZXduYW1lID0gb2xkbmFtZSArIHN0cmxlbihv bGRuYW1lKSArIDE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTI5MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMjcxOgorXklpZiAo cmVxLT5zZS0+b3AucmVuYW1lKSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEyOTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTI3MjoK K15JXklyZXEtPnNlLT5vcC5yZW5hbWUocmVxLCBub2RlaWQsIG9sZG5hbWUsIGFyZy0+bmV3ZGly LCBuZXduYW1lLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEy OTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTI3MzoKK15JXkleSV5J ICAwKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjk2OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEyNzQ6CiteSWVsc2UkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjk3OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEyNzU6CiteSV5JZnVzZV9yZXBseV9lcnIocmVxLCBF Tk9TWVMpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzMDI6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTI4MDoKK15Jc3RydWN0IGZ1 c2VfcmVuYW1lMl9pbiAqYXJnID0gKHN0cnVjdCBmdXNlX3JlbmFtZTJfaW4gKikgaW5hcmc7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMwMzogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMjgxOgorXkljaGFyICpvbGRuYW1lID0gUEFS QU0oYXJnKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzA0 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEyODI6CiteSWNoYXIgKm5l d25hbWUgPSBvbGRuYW1lICsgc3RybGVuKG9sZG5hbWUpICsgMTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzA2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjEyODQ6CiteSWlmIChyZXEtPnNlLT5vcC5yZW5hbWUpJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMwNzogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMjg1OgorXkleSXJlcS0+c2UtPm9wLnJlbmFtZShyZXEsIG5v ZGVpZCwgb2xkbmFtZSwgYXJnLT5uZXdkaXIsIG5ld25hbWUsJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMwODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoxMjg2OgorXkleSV5JXkkgIGFyZy0+ZmxhZ3MpOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzMDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTI4NzoKK15JZWxzZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzEzMTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MTI4ODoKK15JXklmdXNlX3JlcGx5X2VycihyZXEsIEVOT1NZUyk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMxNTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoxMjkzOgorXklzdHJ1Y3QgZnVzZV9saW5rX2luICphcmcgPSAoc3Ry dWN0IGZ1c2VfbGlua19pbiAqKSBpbmFyZzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxMzE3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjEyOTU6CiteSWlmIChyZXEtPnNlLT5vcC5saW5rKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5l Y2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzEzMTc6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTI5NToKKyAgICAgICBpZiAocmVxLT5zZS0+b3Au bGluaykKWy4uLl0KKyAgICAgICBlbHNlClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxMzE4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjEyOTY6CiteSV5JcmVxLT5zZS0+b3AubGluayhyZXEsIGFyZy0+b2xkbm9kZWlkLCBub2Rl aWQsIFBBUkFNKGFyZykpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzEzMTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTI5NzoKK15J ZWxzZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzMjA6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTI5ODoKK15JXklmdXNlX3JlcGx5 X2VycihyZXEsIEVOT1NZUyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMTMyNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMzAzOgor XklzdHJ1Y3QgZnVzZV9jcmVhdGVfaW4gKmFyZyA9IChzdHJ1Y3QgZnVzZV9jcmVhdGVfaW4gKikg aW5hcmc7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMyNzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMzA1OgorXklpZiAocmVxLT5z ZS0+b3AuY3JlYXRlKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTMyODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMzA2OgorXkle SXN0cnVjdCBmdXNlX2ZpbGVfaW5mbyBmaTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxMzI5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjEzMDc6CiteSV5JY2hhciAqbmFtZSA9IFBBUkFNKGFyZyk7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMzMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoxMzA5OgorXkleSW1lbXNldCgmZmksIDAsIHNpemVvZihmaSkpOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzMzI6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTMxMDoKK15JXklmaS5mbGFncyA9IGFyZy0+ZmxhZ3M7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMzNDogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMzEyOgorXkleSWlmIChyZXEtPnNlLT5j b25uLnByb3RvX21pbm9yID49IDEyKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBm b3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzEzMzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MTMxMjoKKyAgICAgICAgICAgICAgIGlmIChyZXEtPnNlLT5jb25u LnByb3RvX21pbm9yID49IDEyKQpbLi4uXQorICAgICAgICAgICAgICAgZWxzZQpbLi4uXQoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMzNTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMzEzOgorXkleSV5JcmVxLT5jdHgudW1hc2sgPSBh cmctPnVtYXNrOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEz MzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTMxNDoKK15JXkllbHNl JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMzNzogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMzE1OgorXkleSV5JbmFtZSA9IChjaGFy ICopIGluYXJnICsgc2l6ZW9mKHN0cnVjdCBmdXNlX29wZW5faW4pOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzMzk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTMxNzoKK15JXklyZXEtPnNlLT5vcC5jcmVhdGUocmVxLCBub2RlaWQs IG5hbWUsIGFyZy0+bW9kZSwgJmZpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMzQwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEz MTg6CiteSX0gZWxzZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzEzNDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTMxOToKK15JXklm dXNlX3JlcGx5X2VycihyZXEsIEVOT1NZUyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTM0NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxMzI0OgorXklzdHJ1Y3QgZnVzZV9vcGVuX2luICphcmcgPSAoc3RydWN0IGZ1c2Vfb3Blbl9p biAqKSBpbmFyZzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx MzQ3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEzMjU6CiteSXN0cnVj dCBmdXNlX2ZpbGVfaW5mbyBmaTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxMzQ5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEzMjc6 CiteSW1lbXNldCgmZmksIDAsIHNpemVvZihmaSkpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzEzNTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MTMyODoKK15JZmkuZmxhZ3MgPSBhcmctPmZsYWdzOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzNTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MTMzMDoKK15JaWYgKHJlcS0+c2UtPm9wLm9wZW4pJAoKRVJST1I6IGJyYWNl cyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMTM1Mjog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMzMwOgorICAgICAgIGlmIChy ZXEtPnNlLT5vcC5vcGVuKQpbLi4uXQorICAgICAgIGVsc2UKWy4uLl0KCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzNTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTMzMToKK15JXklyZXEtPnNlLT5vcC5vcGVuKHJlcSwgbm9kZWlkLCAm ZmkpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzNTQ6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTMzMjoKK15JZWxzZSQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzNTU6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTMzMzoKK15JXklmdXNlX3JlcGx5X29wZW4ocmVxLCAm ZmkpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzNjA6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTMzODoKK15Jc3RydWN0IGZ1c2Vf cmVhZF9pbiAqYXJnID0gKHN0cnVjdCBmdXNlX3JlYWRfaW4gKikgaW5hcmc7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM2MjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMzQwOgorXklpZiAocmVxLT5zZS0+b3AucmVhZCkgeyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzNjM6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTM0MToKK15JXklzdHJ1Y3QgZnVzZV9maWxlX2lu Zm8gZmk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM2NTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMzQzOgorXkleSW1lbXNldCgm ZmksIDAsIHNpemVvZihmaSkpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEzNjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTM0NDoK K15JXklmaS5maCA9IGFyZy0+Zmg7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMTM2NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMzQ1 OgorXkleSWlmIChyZXEtPnNlLT5jb25uLnByb3RvX21pbm9yID49IDkpIHskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzY4OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjEzNDY6CiteSV5JXklmaS5sb2NrX293bmVyID0gYXJnLT5sb2Nr X293bmVyOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzNjk6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTM0NzoKK15JXkleSWZpLmZs YWdzID0gYXJnLT5mbGFnczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxMzcwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEzNDg6Cite SV5JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzNzE6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTM0OToKK15JXklyZXEtPnNlLT5v cC5yZWFkKHJlcSwgbm9kZWlkLCBhcmctPnNpemUsIGFyZy0+b2Zmc2V0LCAmZmkpOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzNzI6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTM1MDoKK15JfSBlbHNlJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM3MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoxMzUxOgorXkleSWZ1c2VfcmVwbHlfZXJyKHJlcSwgRU5PU1lTKTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzc4OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEzNTY6CiteSXN0cnVjdCBmdXNlX3dyaXRlX2lu ICphcmcgPSAoc3RydWN0IGZ1c2Vfd3JpdGVfaW4gKikgaW5hcmc7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM3OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoxMzU3OgorXklzdHJ1Y3QgZnVzZV9maWxlX2luZm8gZmk7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM4MDogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMzU4OgorXkljaGFyICpwYXJhbTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzgyOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjEzNjA6CiteSW1lbXNldCgmZmksIDAsIHNpemVvZihmaSkpOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzODM6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTM2MToKK15JZmkuZmggPSBhcmctPmZoOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzODQ6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTM2MjoKK15JZmkud3JpdGVwYWdlID0gKGFy Zy0+d3JpdGVfZmxhZ3MgJiBGVVNFX1dSSVRFX0NBQ0hFKSAhPSAwOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTM2NDoKK15JaWYgKHJlcS0+c2UtPmNvbm4ucHJvdG9fbWlub3IgPCA5 KSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM4NzogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMzY1OgorXkleSXBhcmFtID0gKChj aGFyICopIGFyZykgKyBGVVNFX0NPTVBBVF9XUklURV9JTl9TSVpFOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTM2NjoKK15JfSBlbHNlIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxMzg5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjEzNjc6CiteSV5JZmkubG9ja19vd25lciA9IGFyZy0+bG9ja19vd25lcjskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzkwOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEzNjg6CiteSV5JZmkuZmxhZ3MgPSBhcmctPmZsYWdz OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzOTE6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTM2OToKK15JXklwYXJhbSA9IFBBUkFN KGFyZyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM5Mjog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMzcwOgorXkl9JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM5NDogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMzcyOgorXklpZiAocmVxLT5zZS0+b3Aud3JpdGUpJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM5NTogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMzczOgorXkleSXJlcS0+c2UtPm9wLndyaXRl KHJlcSwgbm9kZWlkLCBwYXJhbSwgYXJnLT5zaXplLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzEzOTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MTM3NDoKK15JXkleSV5JIGFyZy0+b2Zmc2V0LCAmZmkpOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzOTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTM3NToKK15JZWxzZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzEzOTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MTM3NjoKK15JXklmdXNlX3JlcGx5X2VycihyZXEsIEVOT1NZUyk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQwMjogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoxMzgwOgorXkleSV5JIGNvbnN0IHN0cnVjdCBmdXNlX2J1ZiAqaWJ1 ZikkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNDA0OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEzODI6CiteSXN0cnVjdCBmdXNlX3Nl c3Npb24gKnNlID0gcmVxLT5zZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxNDA1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEzODM6 CiteSXN0cnVjdCBmdXNlX2J1ZnZlYyBidWZ2ID0geyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzE0MDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MTM4NDoKK15JXkkuYnVmWzBdID0gKmlidWYsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTQwNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoxMzg1OgorXkleSS5jb3VudCA9IDEsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTQwODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoxMzg2OgorXkl9OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzE0MDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTM4NzoKK15J c3RydWN0IGZ1c2Vfd3JpdGVfaW4gKmFyZyA9IChzdHJ1Y3QgZnVzZV93cml0ZV9pbiAqKSBpbmFy ZzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNDEwOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEzODg6CiteSXN0cnVjdCBmdXNlX2Zp bGVfaW5mbyBmaTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx NDEyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEzOTA6CiteSW1lbXNl dCgmZmksIDAsIHNpemVvZihmaSkpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzE0MTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTM5 MToKK15JZmkuZmggPSBhcmctPmZoOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzE0MTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTM5 MjoKK15JZmkud3JpdGVwYWdlID0gYXJnLT53cml0ZV9mbGFncyAmIEZVU0VfV1JJVEVfQ0FDSEU7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQxNjogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMzk0OgorXklpZiAoc2UtPmNvbm4ucHJv dG9fbWlub3IgPCA5KSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTQxNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxMzk1OgorXkle SWJ1ZnYuYnVmWzBdLm1lbSA9ICgoY2hhciAqKSBhcmcpICsgRlVTRV9DT01QQVRfV1JJVEVfSU5f U0laRTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNDE4OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEzOTY6CiteSV5JYnVmdi5idWZb MF0uc2l6ZSAtPSBzaXplb2Yoc3RydWN0IGZ1c2VfaW5faGVhZGVyKSArJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQxOTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoxMzk3OgorXkleSV5JRlVTRV9DT01QQVRfV1JJVEVfSU5fU0laRTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNDIwOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjEzOTg6CiteSV5JYXNzZXJ0KCEoYnVmdi5i dWZbMF0uZmxhZ3MgJiBGVVNFX0JVRl9JU19GRCkpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzE0MjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MTM5OToKK15JfSBlbHNlIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxNDIyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE0 MDA6CiteSV5JZmkubG9ja19vd25lciA9IGFyZy0+bG9ja19vd25lcjskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNDIzOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjE0MDE6CiteSV5JZmkuZmxhZ3MgPSBhcmctPmZsYWdzOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0MjQ6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTQwMjoKK15JXklpZiAoIShidWZ2LmJ1ZlswXS5mbGFn cyAmIEZVU0VfQlVGX0lTX0ZEKSkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9y IGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMxNDI0OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjE0MDI6CisgICAgICAgICAgICAgICBpZiAoIShidWZ2LmJ1ZlswXS5m bGFncyAmIEZVU0VfQlVGX0lTX0ZEKSkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzE0MjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MTQwMzoKK15JXkleSWJ1ZnYuYnVmWzBdLm1lbSA9IFBBUkFNKGFyZyk7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQyNzogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNDA1OgorXkleSWJ1ZnYuYnVmWzBdLnNpemUgLT0gc2l6ZW9m KHN0cnVjdCBmdXNlX2luX2hlYWRlcikgKyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzE0Mjg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MTQwNjoKK15JXkleSXNpemVvZihzdHJ1Y3QgZnVzZV93cml0ZV9pbik7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQyOTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoxNDA3OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTQzMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxNDA4OgorXklpZiAoYnVmdi5idWZbMF0uc2l6ZSA8IGFyZy0+c2l6ZSkgeyQKCldBUk5JTkc6 IGxpbmUgb3ZlciA4MCBjaGFyYWN0ZXJzCiMxNDMxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjE0MDk6CisgICAgICAgICAgICAgICBmdXNlX2xvZyhGVVNFX0xPR19FUlIs ICJmdXNlOiBkb193cml0ZV9idWY6IGJ1ZmZlciBzaXplIHRvbyBzbWFsbFxuIik7CgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNDMxOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE0MDk6CiteSV5JZnVzZV9sb2coRlVTRV9MT0dfRVJSLCAi ZnVzZTogZG9fd3JpdGVfYnVmOiBidWZmZXIgc2l6ZSB0b28gc21hbGxcbiIpOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0MzI6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MTQxMDoKK15JXklmdXNlX3JlcGx5X2VycihyZXEsIEVJTyk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQzMzogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNDExOgorXkleSWdvdG8gb3V0OyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0MzQ6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTQxMjoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0MzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MTQxMzoKK15JYnVmdi5idWZbMF0uc2l6ZSA9IGFyZy0+c2l6ZTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNDM3OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE0MTU6CiteSXNlLT5vcC53cml0ZV9idWYocmVxLCBu b2RlaWQsICZidWZ2LCBhcmctPm9mZnNldCwgJmZpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxNDQwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjE0MTg6CiteSS8qIE5lZWQgdG8gcmVzZXQgdGhlIHBpcGUgaWYgLT53cml0ZV9idWYo KSBkaWRuJ3QgY29uc3VtZSBhbGwgZGF0YSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzE0NDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MTQxOToKK15JaWYgKChpYnVmLT5mbGFncyAmIEZVU0VfQlVGX0lTX0ZEKSAmJiBidWZ2Lmlk eCA8IGJ1ZnYuY291bnQpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwg YXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMTQ0MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoxNDE5OgorICAgICAgIGlmICgoaWJ1Zi0+ZmxhZ3MgJiBGVVNFX0JVRl9JU19G RCkgJiYgYnVmdi5pZHggPCBidWZ2LmNvdW50KQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTQ0MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoxNDIwOgorXkleSWZ1c2VfbGxfY2xlYXJfcGlwZShzZSk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQ0NzogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoxNDI1OgorXklzdHJ1Y3QgZnVzZV9mbHVzaF9pbiAqYXJnID0gKHN0 cnVjdCBmdXNlX2ZsdXNoX2luICopIGluYXJnOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzE0NDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MTQyNjoKK15Jc3RydWN0IGZ1c2VfZmlsZV9pbmZvIGZpOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0NTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MTQyODoKK15JbWVtc2V0KCZmaSwgMCwgc2l6ZW9mKGZpKSk7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQ1MTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNDI5OgorXklmaS5maCA9IGFyZy0+Zmg7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQ1MjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNDMwOgorXklmaS5mbHVzaCA9IDE7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQ1MzogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNDMxOgorXklpZiAocmVxLT5zZS0+Y29ubi5wcm90b19taW5v ciA+PSA3KSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2Yg dGhpcyBzdGF0ZW1lbnQKIzE0NTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MTQzMToKKyAgICAgICBpZiAocmVxLT5zZS0+Y29ubi5wcm90b19taW5vciA+PSA3KQpbLi4u XQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQ1NDogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNDMyOgorXkleSWZpLmxvY2tfb3duZXIg PSBhcmctPmxvY2tfb3duZXI7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMTQ1NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNDM0Ogor XklpZiAocmVxLT5zZS0+b3AuZmx1c2gpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5 IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMTQ1NjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNDM0OgorICAgICAgIGlmIChyZXEtPnNlLT5vcC5mbHVzaCkK Wy4uLl0KKyAgICAgICBlbHNlClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxNDU3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE0 MzU6CiteSV5JcmVxLT5zZS0+b3AuZmx1c2gocmVxLCBub2RlaWQsICZmaSk7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQ1ODogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNDM2OgorXkllbHNlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTQ1OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoxNDM3OgorXkleSWZ1c2VfcmVwbHlfZXJyKHJlcSwgRU5PU1lTKTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNDY0OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE0NDI6CiteSXN0cnVjdCBmdXNlX3JlbGVhc2VfaW4gKmFy ZyA9IChzdHJ1Y3QgZnVzZV9yZWxlYXNlX2luICopIGluYXJnOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0NjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MTQ0MzoKK15Jc3RydWN0IGZ1c2VfZmlsZV9pbmZvIGZpOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0Njc6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MTQ0NToKK15JbWVtc2V0KCZmaSwgMCwgc2l6ZW9mKGZpKSk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQ2ODogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNDQ2OgorXklmaS5mbGFncyA9IGFyZy0+ ZmxhZ3M7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQ2OTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNDQ3OgorXklmaS5maCA9IGFy Zy0+Zmg7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQ3MDog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNDQ4OgorXklpZiAocmVxLT5z ZS0+Y29ubi5wcm90b19taW5vciA+PSA4KSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTQ3MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxNDQ5OgorXkleSWZpLmZsdXNoID0gKGFyZy0+cmVsZWFzZV9mbGFncyAmIEZVU0VfUkVMRUFT RV9GTFVTSCkgPyAxIDogMDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxNDcyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE0NTA6Cite SV5JZmkubG9ja19vd25lciA9IGFyZy0+bG9ja19vd25lcjskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNDczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjE0NTE6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxNDc0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE0NTI6 CiteSWlmIChhcmctPnJlbGVhc2VfZmxhZ3MgJiBGVVNFX1JFTEVBU0VfRkxPQ0tfVU5MT0NLKSB7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQ3NTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNDUzOgorXkleSWZpLmZsb2NrX3JlbGVh c2UgPSAxOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0NzY6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTQ1NDoKK15JXklmaS5sb2Nr X293bmVyID0gYXJnLT5sb2NrX293bmVyOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzE0Nzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MTQ1NToKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0 Nzk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTQ1NzoKK15JaWYgKHJl cS0+c2UtPm9wLnJlbGVhc2UpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBh bGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMTQ3OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoxNDU3OgorICAgICAgIGlmIChyZXEtPnNlLT5vcC5yZWxlYXNlKQpbLi4u XQorICAgICAgIGVsc2UKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzE0ODA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTQ1ODoK K15JXklyZXEtPnNlLT5vcC5yZWxlYXNlKHJlcSwgbm9kZWlkLCAmZmkpOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0ODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MTQ1OToKK15JZWxzZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzE0ODI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MTQ2MDoKK15JXklmdXNlX3JlcGx5X2VycihyZXEsIDApOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0ODc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTQ2NToKK15Jc3RydWN0IGZ1c2VfZnN5bmNfaW4gKmFyZyA9IChzdHJ1 Y3QgZnVzZV9mc3luY19pbiAqKSBpbmFyZzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxNDg4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjE0NjY6CiteSXN0cnVjdCBmdXNlX2ZpbGVfaW5mbyBmaTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNDg5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjE0Njc6CiteSWludCBkYXRhc3luYyA9IGFyZy0+ZnN5bmNfZmxhZ3MgJiAxOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0OTE6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTQ2OToKK15JbWVtc2V0KCZmaSwgMCwgc2l6 ZW9mKGZpKSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQ5 MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNDcwOgorXklmaS5maCA9 IGFyZy0+Zmg7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQ5 NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNDcyOgorXklpZiAocmVx LT5zZS0+b3AuZnN5bmMpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwg YXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMTQ5NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoxNDcyOgorICAgICAgIGlmIChyZXEtPnNlLT5vcC5mc3luYykKWy4uLl0KKyAg ICAgICBlbHNlClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxNDk1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE0NzM6CiteSV5J cmVxLT5zZS0+b3AuZnN5bmMocmVxLCBub2RlaWQsIGRhdGFzeW5jLCAmZmkpOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0OTY6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MTQ3NDoKK15JZWxzZSQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0OTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MTQ3NToKK15JXklmdXNlX3JlcGx5X2VycihyZXEsIEVOT1NZUyk7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTUwMjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNDgwOgorXklzdHJ1Y3QgZnVzZV9vcGVuX2luICphcmcg PSAoc3RydWN0IGZ1c2Vfb3Blbl9pbiAqKSBpbmFyZzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxNTAzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjE0ODE6CiteSXN0cnVjdCBmdXNlX2ZpbGVfaW5mbyBmaTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTA1OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjE0ODM6CiteSW1lbXNldCgmZmksIDAsIHNpemVvZihmaSkpOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE1MDY6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTQ4NDoKK15JZmkuZmxhZ3MgPSBhcmctPmZsYWdz OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE1MDg6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTQ4NjoKK15JaWYgKHJlcS0+c2UtPm9w Lm9wZW5kaXIpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBv ZiB0aGlzIHN0YXRlbWVudAojMTUwODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoxNDg2OgorICAgICAgIGlmIChyZXEtPnNlLT5vcC5vcGVuZGlyKQpbLi4uXQorICAgICAg IGVsc2UKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE1 MDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTQ4NzoKK15JXklyZXEt PnNlLT5vcC5vcGVuZGlyKHJlcSwgbm9kZWlkLCAmZmkpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE1MTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MTQ4ODoKK15JZWxzZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzE1MTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTQ4 OToKK15JXklmdXNlX3JlcGx5X29wZW4ocmVxLCAmZmkpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE1MTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MTQ5NDoKK15Jc3RydWN0IGZ1c2VfcmVhZF9pbiAqYXJnID0gKHN0cnVjdCBmdXNl X3JlYWRfaW4gKikgaW5hcmc7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMTUxNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNDk1Ogor XklzdHJ1Y3QgZnVzZV9maWxlX2luZm8gZmk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTUxOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxNDk3OgorXkltZW1zZXQoJmZpLCAwLCBzaXplb2YoZmkpKTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTIwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjE0OTg6CiteSWZpLmZoID0gYXJnLT5maDskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTIyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjE1MDA6CiteSWlmIChyZXEtPnNlLT5vcC5yZWFkZGlyKSQKCkVSUk9SOiBi cmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzE1 MjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTUwMDoKKyAgICAgICBp ZiAocmVxLT5zZS0+b3AucmVhZGRpcikKWy4uLl0KKyAgICAgICBlbHNlClsuLi5dCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTIzOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1MDE6CiteSV5JcmVxLT5zZS0+b3AucmVhZGRpcihyZXEs IG5vZGVpZCwgYXJnLT5zaXplLCBhcmctPm9mZnNldCwgJmZpKTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTI0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjE1MDI6CiteSWVsc2UkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxNTI1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjE1MDM6CiteSV5JZnVzZV9yZXBseV9lcnIocmVxLCBFTk9TWVMpOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE1MzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTUwODoKK15Jc3RydWN0IGZ1c2VfcmVhZF9pbiAqYXJnID0gKHN0cnVj dCBmdXNlX3JlYWRfaW4gKikgaW5hcmc7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTUzMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzox NTA5OgorXklzdHJ1Y3QgZnVzZV9maWxlX2luZm8gZmk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTUzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoxNTExOgorXkltZW1zZXQoJmZpLCAwLCBzaXplb2YoZmkpKTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTM0OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjE1MTI6CiteSWZpLmZoID0gYXJnLT5maDskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTM2OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjE1MTQ6CiteSWlmIChyZXEtPnNlLT5vcC5yZWFkZGlycGx1cykk CgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3Rh dGVtZW50CiMxNTM2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1MTQ6 CisgICAgICAgaWYgKHJlcS0+c2UtPm9wLnJlYWRkaXJwbHVzKQpbLi4uXQorICAgICAgIGVsc2UK Wy4uLl0KCldBUk5JTkc6IGxpbmUgb3ZlciA4MCBjaGFyYWN0ZXJzCiMxNTM3OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1MTU6CisgICAgICAgICAgICAgICByZXEtPnNl LT5vcC5yZWFkZGlycGx1cyhyZXEsIG5vZGVpZCwgYXJnLT5zaXplLCBhcmctPm9mZnNldCwgJmZp KTsKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE1Mzc6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTUxNToKK15JXklyZXEtPnNlLT5vcC5y ZWFkZGlycGx1cyhyZXEsIG5vZGVpZCwgYXJnLT5zaXplLCBhcmctPm9mZnNldCwgJmZpKTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTM4OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1MTY6CiteSWVsc2UkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTM5OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjE1MTc6CiteSV5JZnVzZV9yZXBseV9lcnIocmVxLCBFTk9TWVMpOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE1NDQ6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTUyMjoKK15Jc3RydWN0IGZ1c2VfcmVsZWFz ZV9pbiAqYXJnID0gKHN0cnVjdCBmdXNlX3JlbGVhc2VfaW4gKikgaW5hcmc7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTU0NTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNTIzOgorXklzdHJ1Y3QgZnVzZV9maWxlX2luZm8gZmk7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTU0NzogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNTI1OgorXkltZW1zZXQoJmZpLCAwLCBzaXpl b2YoZmkpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTQ4 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1MjY6CiteSWZpLmZsYWdz ID0gYXJnLT5mbGFnczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxNTQ5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1Mjc6CiteSWZp LmZoID0gYXJnLT5maDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxNTUxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1Mjk6CiteSWlm IChyZXEtPnNlLT5vcC5yZWxlYXNlZGlyKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2Fy eSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzE1NTE6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MTUyOToKKyAgICAgICBpZiAocmVxLT5zZS0+b3AucmVsZWFz ZWRpcikKWy4uLl0KKyAgICAgICBlbHNlClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxNTUyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjE1MzA6CiteSV5JcmVxLT5zZS0+b3AucmVsZWFzZWRpcihyZXEsIG5vZGVpZCwgJmZpKTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTUzOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1MzE6CiteSWVsc2UkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTU0OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjE1MzI6CiteSV5JZnVzZV9yZXBseV9lcnIocmVxLCAwKTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTU5OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1Mzc6CiteSXN0cnVjdCBmdXNlX2ZzeW5jX2lu ICphcmcgPSAoc3RydWN0IGZ1c2VfZnN5bmNfaW4gKikgaW5hcmc7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTU2MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoxNTM4OgorXklzdHJ1Y3QgZnVzZV9maWxlX2luZm8gZmk7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTU2MTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNTM5OgorXklpbnQgZGF0YXN5bmMgPSBhcmctPmZzeW5j X2ZsYWdzICYgMTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx NTYzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1NDE6CiteSW1lbXNl dCgmZmksIDAsIHNpemVvZihmaSkpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzE1NjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTU0 MjoKK15JZmkuZmggPSBhcmctPmZoOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzE1NjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTU0 NDoKK15JaWYgKHJlcS0+c2UtPm9wLmZzeW5jZGlyKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5l Y2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzE1NjY6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTU0NDoKKyAgICAgICBpZiAocmVxLT5zZS0+b3Au ZnN5bmNkaXIpClsuLi5dCisgICAgICAgZWxzZQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTU2NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoxNTQ1OgorXkleSXJlcS0+c2UtPm9wLmZzeW5jZGlyKHJlcSwgbm9kZWlkLCBkYXRh c3luYywgJmZpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx NTY4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1NDY6CiteSWVsc2Uk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTY5OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1NDc6CiteSV5JZnVzZV9yZXBseV9lcnIo cmVxLCBFTk9TWVMpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzE1NzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTU1MjoKK15JKHZv aWQpIG5vZGVpZDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx NTc1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1NTM6CiteSSh2b2lk KSBpbmFyZzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTc3 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1NTU6CiteSWlmIChyZXEt PnNlLT5vcC5zdGF0ZnMpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTU3ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNTU2OgorXkle SXJlcS0+c2UtPm9wLnN0YXRmcyhyZXEsIG5vZGVpZCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTU3OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoxNTU3OgorXkllbHNlIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxNTgwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1 NTg6CiteSV5Jc3RydWN0IHN0YXR2ZnMgYnVmID0geyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzE1ODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MTU1OToKK15JXkleSS5mX25hbWVtYXggPSAyNTUsJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTU4MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoxNTYwOgorXkleSV5JLmZfYnNpemUgPSA1MTIsJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTU4MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoxNTYxOgorXkleSX07JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTU4NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxNTYyOgorXkleSWZ1c2VfcmVwbHlfc3RhdGZzKHJlcSwgJmJ1Zik7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTU4NTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoxNTYzOgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTU5MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxNTY4OgorXklzdHJ1Y3QgZnVzZV9zZXR4YXR0cl9pbiAqYXJnID0gKHN0cnVjdCBmdXNlX3Nl dHhhdHRyX2luICopIGluYXJnOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzE1OTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTU2OToK K15JY2hhciAqbmFtZSA9IFBBUkFNKGFyZyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTU5MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxNTcwOgorXkljaGFyICp2YWx1ZSA9IG5hbWUgKyBzdHJsZW4obmFtZSkgKyAxOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE1OTQ6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTU3MjoKK15JaWYgKHJlcS0+c2UtPm9wLnNldHhhdHRy KSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE1OTU6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTU3MzoKK15JXklyZXEtPnNlLT5vcC5z ZXR4YXR0cihyZXEsIG5vZGVpZCwgbmFtZSwgdmFsdWUsIGFyZy0+c2l6ZSwkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTk2OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjE1NzQ6CiteSV5JXkleSSAgICBhcmctPmZsYWdzKTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTk3OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1NzU6CiteSWVsc2UkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTk4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjE1NzY6CiteSV5JZnVzZV9yZXBseV9lcnIocmVxLCBFTk9TWVMpOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2MDM6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTU4MToKK15Jc3RydWN0IGZ1c2VfZ2V0eGF0dHJf aW4gKmFyZyA9IChzdHJ1Y3QgZnVzZV9nZXR4YXR0cl9pbiAqKSBpbmFyZzskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNjA1OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjE1ODM6CiteSWlmIChyZXEtPnNlLT5vcC5nZXR4YXR0cikkCgpF UlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVt ZW50CiMxNjA1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1ODM6Cisg ICAgICAgaWYgKHJlcS0+c2UtPm9wLmdldHhhdHRyKQpbLi4uXQorICAgICAgIGVsc2UKWy4uLl0K CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2MDY6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTU4NDoKK15JXklyZXEtPnNlLT5vcC5nZXR4 YXR0cihyZXEsIG5vZGVpZCwgUEFSQU0oYXJnKSwgYXJnLT5zaXplKTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNjA3OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjE1ODU6CiteSWVsc2UkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxNjA4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjE1ODY6CiteSV5JZnVzZV9yZXBseV9lcnIocmVxLCBFTk9TWVMpOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2MTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MTU5MToKK15Jc3RydWN0IGZ1c2VfZ2V0eGF0dHJfaW4gKmFyZyA9 IChzdHJ1Y3QgZnVzZV9nZXR4YXR0cl9pbiAqKSBpbmFyZzskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNjE1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjE1OTM6CiteSWlmIChyZXEtPnNlLT5vcC5saXN0eGF0dHIpJAoKRVJST1I6IGJy YWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMTYx NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNTkzOgorICAgICAgIGlm IChyZXEtPnNlLT5vcC5saXN0eGF0dHIpClsuLi5dCisgICAgICAgZWxzZQpbLi4uXQoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTYxNjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNTk0OgorXkleSXJlcS0+c2UtPm9wLmxpc3R4YXR0cihy ZXEsIG5vZGVpZCwgYXJnLT5zaXplKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxNjE3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1 OTU6CiteSWVsc2UkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx NjE4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE1OTY6CiteSV5JZnVz ZV9yZXBseV9lcnIocmVxLCBFTk9TWVMpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzE2MjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MTYwMToKK15JY2hhciAqbmFtZSA9IChjaGFyICopIGluYXJnOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2MjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MTYwMzoKK15JaWYgKHJlcS0+c2UtPm9wLnJlbW92ZXhhdHRyKSQKCkVSUk9S OiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQK IzE2MjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTYwMzoKKyAgICAg ICBpZiAocmVxLT5zZS0+b3AucmVtb3ZleGF0dHIpClsuLi5dCisgICAgICAgZWxzZQpbLi4uXQoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTYyNjogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNjA0OgorXkleSXJlcS0+c2UtPm9wLnJlbW92 ZXhhdHRyKHJlcSwgbm9kZWlkLCBuYW1lKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxNjI3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjE2MDU6CiteSWVsc2UkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxNjI4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE2MDY6CiteSV5J ZnVzZV9yZXBseV9lcnIocmVxLCBFTk9TWVMpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzE2MzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MTYxMDoKK15JXkleSV5JICAgc3RydWN0IGZsb2NrICpmbG9jaykkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNjM0OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjE2MTI6CiteSW1lbXNldChmbG9jaywgMCwgc2l6ZW9mKHN0cnVjdCBm bG9jaykpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2MzU6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTYxMzoKK15JZmxvY2stPmxf dHlwZSA9IGZsLT50eXBlOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzE2MzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTYxNDoKK15J ZmxvY2stPmxfd2hlbmNlID0gU0VFS19TRVQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTYzNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxNjE1OgorXklmbG9jay0+bF9zdGFydCA9IGZsLT5zdGFydDskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNjM4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjE2MTY6CiteSWlmIChmbC0+ZW5kID09IE9GRlNFVF9NQVgpJAoKRVJST1I6 IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAoj MTYzODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNjE2OgorICAgICAg IGlmIChmbC0+ZW5kID09IE9GRlNFVF9NQVgpClsuLi5dCisgICAgICAgZWxzZQpbLi4uXQoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTYzOTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNjE3OgorXkleSWZsb2NrLT5sX2xlbiA9IDA7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY0MDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNjE4OgorXkllbHNlJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY0MTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoxNjE5OgorXkleSWZsb2NrLT5sX2xlbiA9IGZsLT5lbmQgLSBmbC0+ c3RhcnQgKyAxOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2 NDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTYyMDoKK15JZmxvY2st PmxfcGlkID0gZmwtPnBpZDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxNjQ3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE2MjU6Cite SXN0cnVjdCBmdXNlX2xrX2luICphcmcgPSAoc3RydWN0IGZ1c2VfbGtfaW4gKikgaW5hcmc7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY0ODogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNjI2OgorXklzdHJ1Y3QgZnVzZV9maWxlX2lu Zm8gZmk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY0OTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNjI3OgorXklzdHJ1Y3QgZmxv Y2sgZmxvY2s7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY1 MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNjI5OgorXkltZW1zZXQo JmZpLCAwLCBzaXplb2YoZmkpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxNjUyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE2MzA6 CiteSWZpLmZoID0gYXJnLT5maDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxNjUzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE2MzE6 CiteSWZpLmxvY2tfb3duZXIgPSBhcmctPm93bmVyOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzE2NTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MTYzMzoKK15JY29udmVydF9mdXNlX2ZpbGVfbG9jaygmYXJnLT5saywgJmZsb2NrKTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNjU2OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE2MzQ6CiteSWlmIChyZXEtPnNlLT5vcC5n ZXRsaykkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRo aXMgc3RhdGVtZW50CiMxNjU2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjE2MzQ6CisgICAgICAgaWYgKHJlcS0+c2UtPm9wLmdldGxrKQpbLi4uXQorICAgICAgIGVsc2UK Wy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2NTc6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTYzNToKK15JXklyZXEtPnNlLT5v cC5nZXRsayhyZXEsIG5vZGVpZCwgJmZpLCAmZmxvY2spOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2NTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MTYzNjoKK15JZWxzZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzE2NTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTYz NzoKK15JXklmdXNlX3JlcGx5X2VycihyZXEsIEVOT1NZUyk7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY2MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoxNjQxOgorXkleSV5JICAgIGNvbnN0IHZvaWQgKmluYXJnLCBpbnQgc2xlZXAp JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY2NTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNjQzOgorXklzdHJ1Y3QgZnVzZV9sa19p biAqYXJnID0gKHN0cnVjdCBmdXNlX2xrX2luICopIGluYXJnOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2NjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MTY0NDoKK15Jc3RydWN0IGZ1c2VfZmlsZV9pbmZvIGZpOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2Njc6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MTY0NToKK15Jc3RydWN0IGZsb2NrIGZsb2NrOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2Njk6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTY0NzoKK15JbWVtc2V0KCZmaSwgMCwgc2l6ZW9mKGZp KSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY3MDogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNjQ4OgorXklmaS5maCA9IGFyZy0+ Zmg7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY3MTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNjQ5OgorXklmaS5sb2NrX293bmVy ID0gYXJnLT5vd25lcjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxNjczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE2NTE6CiteSWlm IChhcmctPmxrX2ZsYWdzICYgRlVTRV9MS19GTE9DSykgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2NzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MTY1MjoKK15JXklpbnQgb3AgPSAwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzE2NzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MTY1NDoKK15JXklzd2l0Y2ggKGFyZy0+bGsudHlwZSkgeyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2Nzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTY1NToKK15JXkljYXNlIEZfUkRMQ0s6JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY3ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoxNjU2OgorXkleSV5Jb3AgPSBMT0NLX1NIOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2Nzk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTY1NzoKK15JXkleSWJyZWFrOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2ODA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MTY1ODoKK15JXkljYXNlIEZfV1JMQ0s6JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTY4MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoxNjU5OgorXkleSV5Jb3AgPSBMT0NLX0VYOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2ODI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MTY2MDoKK15JXkleSWJyZWFrOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzE2ODM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MTY2MToKK15JXkljYXNlIEZfVU5MQ0s6JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTY4NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxNjYyOgorXkleSV5Jb3AgPSBMT0NLX1VOOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzE2ODU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MTY2MzoKK15JXkleSWJyZWFrOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzE2ODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTY2 NDoKK15JXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY4 NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNjY1OgorXkleSWlmICgh c2xlZXApJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0 aGlzIHN0YXRlbWVudAojMTY4NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxNjY1OgorICAgICAgICAgICAgICAgaWYgKCFzbGVlcCkKWy4uLl0KCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2ODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTY2NjoKK15JXkleSW9wIHw9IExPQ0tfTkI7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY5MDogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoxNjY4OgorXkleSWlmIChyZXEtPnNlLT5vcC5mbG9jaykkCgpFUlJP UjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50 CiMxNjkwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE2Njg6CisgICAg ICAgICAgICAgICBpZiAocmVxLT5zZS0+b3AuZmxvY2spClsuLi5dCisgICAgICAgICAgICAgICBl bHNlClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNjkx OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE2Njk6CiteSV5JXklyZXEt PnNlLT5vcC5mbG9jayhyZXEsIG5vZGVpZCwgJmZpLCBvcCk7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY5MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoxNjcwOgorXkleSWVsc2UkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxNjkzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjE2NzE6CiteSV5JXklmdXNlX3JlcGx5X2VycihyZXEsIEVOT1NZUyk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY5NDogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoxNjcyOgorXkl9IGVsc2UgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2OTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MTY3MzoKK15JXkljb252ZXJ0X2Z1c2VfZmlsZV9sb2NrKCZhcmctPmxrLCAmZmxv Y2spOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2OTY6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTY3NDoKK15JXklpZiAocmVxLT5z ZS0+b3Auc2V0bGspJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJt cyBvZiB0aGlzIHN0YXRlbWVudAojMTY5NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoxNjc0OgorICAgICAgICAgICAgICAgaWYgKHJlcS0+c2UtPm9wLnNldGxrKQpbLi4u XQorICAgICAgICAgICAgICAgZWxzZQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTY5NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxNjc1OgorXkleSV5JcmVxLT5zZS0+b3Auc2V0bGsocmVxLCBub2RlaWQsICZmaSwgJmZsb2Nr LCBzbGVlcCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTY5 ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNjc2OgorXkleSWVsc2Uk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNjk5OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE2Nzc6CiteSV5JXklmdXNlX3JlcGx5X2Vy cihyZXEsIEVOT1NZUyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTcwMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNjc4OgorXkl9 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTcwNTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNjgzOgorXklkb19zZXRsa19jb21tb24o cmVxLCBub2RlaWQsIGluYXJnLCAwKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxNzEwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE2 ODg6CiteSWRvX3NldGxrX2NvbW1vbihyZXEsIG5vZGVpZCwgaW5hcmcsIDEpOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3MTU6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MTY5MzoKK15Jc3RydWN0IGZ1c2VfcmVxICpjdXJyOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3MTc6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTY5NToKK15JZm9yIChjdXJyID0gc2UtPmxpc3Qu bmV4dDsgY3VyciAhPSAmc2UtPmxpc3Q7IGN1cnIgPSBjdXJyLT5uZXh0KSB7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTcxODogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNjk2OgorXkleSWlmIChjdXJyLT51bmlxdWUgPT0gcmVxLT51 LmkudW5pcXVlKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTcxOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNjk3OgorXkleSV5J ZnVzZV9pbnRlcnJ1cHRfZnVuY190IGZ1bmM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTcyMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxNjk4OgorXkleSV5Jdm9pZCAqZGF0YTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxNzIyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjE3MDA6CiteSV5JXkljdXJyLT5jdHIrKzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxNzIzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjE3MDE6CiteSV5JXklwdGhyZWFkX211dGV4X3VubG9jaygmc2UtPmxvY2spOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3MjU6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MTcwMzoKK15JXkleSS8qIFVnaCwgdWdseSBsb2NraW5nICov JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTcyNjogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNzA0OgorXkleSV5JcHRocmVhZF9tdXRl eF9sb2NrKCZjdXJyLT5sb2NrKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxNzI3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE3MDU6 CiteSV5JXklwdGhyZWFkX211dGV4X2xvY2soJnNlLT5sb2NrKTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzI4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjE3MDY6CiteSV5JXkljdXJyLT5pbnRlcnJ1cHRlZCA9IDE7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTcyOTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNzA3OgorXkleSV5JZnVuYyA9IGN1cnItPnUubmkuZnVu YzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzMwOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE3MDg6CiteSV5JXklkYXRhID0gY3Vy ci0+dS5uaS5kYXRhOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzE3MzE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTcwOToKK15JXkle SXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZzZS0+bG9jayk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTczMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoxNzEwOgorXkleSV5JaWYgKGZ1bmMpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVj ZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMTczMjogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNzEwOgorICAgICAgICAgICAgICAgICAgICAgICBp ZiAoZnVuYykKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzE3MzM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTcxMToKK15JXkle SV5JZnVuYyhjdXJyLCBkYXRhKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxNzM0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE3MTI6 CiteSV5JXklwdGhyZWFkX211dGV4X3VubG9jaygmY3Vyci0+bG9jayk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTczNjogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoxNzE0OgorXkleSV5JcHRocmVhZF9tdXRleF9sb2NrKCZzZS0+bG9j ayk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTczNzogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNzE1OgorXkleSV5JY3Vyci0+Y3Ry LS07JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTczODogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNzE2OgorXkleSV5JaWYgKCFjdXJy LT5jdHIpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0 aGlzIHN0YXRlbWVudAojMTczODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxNzE2OgorICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWN1cnItPmN0cikKWy4uLl0KCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3Mzk6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTcxNzoKK15JXkleSV5JZGVzdHJveV9yZXEoY3Vy cik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTc0MTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNzE5OgorXkleSV5JcmV0dXJuIDE7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTc0MjogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNzIwOgorXkleSX0kCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzQzOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjE3MjE6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxNzQ0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjE3MjI6CiteSWZvciAoY3VyciA9IHNlLT5pbnRlcnJ1cHRzLm5leHQ7IGN1cnIgIT0gJnNl LT5pbnRlcnJ1cHRzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzE3NDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTcyMzoKK15JICAg ICBjdXJyID0gY3Vyci0+bmV4dCkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzE3NDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTcy NDoKK15JXklpZiAoY3Vyci0+dS5pLnVuaXF1ZSA9PSByZXEtPnUuaS51bmlxdWUpJAoKRVJST1I6 IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAoj MTc0NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNzI0OgorICAgICAg ICAgICAgICAgaWYgKGN1cnItPnUuaS51bmlxdWUgPT0gcmVxLT51LmkudW5pcXVlKQpbLi4uXQoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTc0NzogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNzI1OgorXkleSV5JcmV0dXJuIDE7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTc0ODogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNzI2OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTc0OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoxNzI3OgorXklyZXR1cm4gMDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxNzU0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjE3MzI6CiteSXN0cnVjdCBmdXNlX2ludGVycnVwdF9pbiAqYXJnID0gKHN0cnVjdCBmdXNl X2ludGVycnVwdF9pbiAqKSBpbmFyZzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxNzU1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE3 MzM6CiteSXN0cnVjdCBmdXNlX3Nlc3Npb24gKnNlID0gcmVxLT5zZTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzU3OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjE3MzU6CiteSSh2b2lkKSBub2RlaWQ7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTc1ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoxNzM2OgorXklpZiAoc2UtPmRlYnVnKSQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3NTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MTczNzoKK15JXklmdXNlX2xvZyhGVVNFX0xPR19ERUJVRywgIklOVEVSUlVQ VDogJWxsdVxuIiwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx NzYwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE3Mzg6CiteSV5JXkko dW5zaWduZWQgbG9uZyBsb25nKSBhcmctPnVuaXF1ZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTc2MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoxNzQwOgorXklyZXEtPnUuaS51bmlxdWUgPSBhcmctPnVuaXF1ZTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzY0OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE3NDI6CiteSXB0aHJlYWRfbXV0ZXhfbG9jaygmc2UtPmxv Y2spOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3NjU6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTc0MzoKK15JaWYgKGZpbmRfaW50 ZXJydXB0ZWQoc2UsIHJlcSkpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBh bGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMTc2NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoxNzQzOgorICAgICAgIGlmIChmaW5kX2ludGVycnVwdGVkKHNlLCByZXEp KQpbLi4uXQorICAgICAgIGVsc2UKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzE3NjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MTc0NDoKK15JXklkZXN0cm95X3JlcShyZXEpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzE3Njc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MTc0NToKK15JZWxzZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzE3Njg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTc0NjoKK15J XklsaXN0X2FkZF9yZXEocmVxLCAmc2UtPmludGVycnVwdHMpOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3Njk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MTc0NzoKK15JcHRocmVhZF9tdXRleF91bmxvY2soJnNlLT5sb2NrKTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzczOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE3NTE6CiteSV5JXkleSV5Jc3RydWN0IGZ1c2Vf cmVxICpyZXEpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTc3 NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNzUzOgorXklzdHJ1Y3Qg ZnVzZV9yZXEgKmN1cnI7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTc3NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNzU1OgorXklm b3IgKGN1cnIgPSBzZS0+aW50ZXJydXB0cy5uZXh0OyBjdXJyICE9ICZzZS0+aW50ZXJydXB0czsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzc4OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE3NTY6CiteSSAgICAgY3VyciA9IGN1cnIt Pm5leHQpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzc5 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE3NTc6CiteSV5JaWYgKGN1 cnItPnUuaS51bmlxdWUgPT0gcmVxLT51bmlxdWUpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxNzgwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjE3NTg6CiteSV5JXklyZXEtPmludGVycnVwdGVkID0gMTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzgxOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjE3NTk6CiteSV5JXklsaXN0X2RlbF9yZXEoY3Vycik7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTc4MjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNzYwOgorXkleSV5JZnJlZShjdXJyKTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzgzOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE3NjE6CiteSV5JXklyZXR1cm4gTlVMTDskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzg0OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE3NjI6CiteSV5JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3ODU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MTc2MzoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzE3ODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTc2NDoK K15JY3VyciA9IHNlLT5pbnRlcnJ1cHRzLm5leHQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTc4NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoxNzY1OgorXklpZiAoY3VyciAhPSAmc2UtPmludGVycnVwdHMpIHskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzg4OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjE3NjY6CiteSV5JbGlzdF9kZWxfcmVxKGN1cnIpOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3ODk6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTc2NzoKK15JXklsaXN0X2luaXRfcmVxKGN1cnIpOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3OTA6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTc2ODoKK15JXklyZXR1cm4gY3VycjskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzkxOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE3Njk6CiteSX0gZWxzZSQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3OTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MTc3MDoKK15JXklyZXR1cm4gTlVMTDskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzk3OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjE3NzU6CiteSXN0cnVjdCBmdXNlX2JtYXBfaW4gKmFyZyA9IChzdHJ1 Y3QgZnVzZV9ibWFwX2luICopIGluYXJnOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzE3OTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MTc3NzoKK15JaWYgKHJlcS0+c2UtPm9wLmJtYXApJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVj ZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMTc5OTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNzc3OgorICAgICAgIGlmIChyZXEtPnNlLT5vcC5i bWFwKQpbLi4uXQorICAgICAgIGVsc2UKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzE4MDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MTc3ODoKK15JXklyZXEtPnNlLT5vcC5ibWFwKHJlcSwgbm9kZWlkLCBhcmctPmJsb2Nrc2l6 ZSwgYXJnLT5ibG9jayk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTgwMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNzc5OgorXkll bHNlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTgwMjogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNzgwOgorXkleSWZ1c2VfcmVwbHlf ZXJyKHJlcSwgRU5PU1lTKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxODA3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE3ODU6Cite SXN0cnVjdCBmdXNlX2lvY3RsX2luICphcmcgPSAoc3RydWN0IGZ1c2VfaW9jdGxfaW4gKikgaW5h cmc7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTgwODogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNzg2OgorXkl1bnNpZ25lZCBpbnQg ZmxhZ3MgPSBhcmctPmZsYWdzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzE4MDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTc4NzoK K15Jdm9pZCAqaW5fYnVmID0gYXJnLT5pbl9zaXplID8gUEFSQU0oYXJnKSA6IE5VTEw7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTgxMDogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNzg4OgorXklzdHJ1Y3QgZnVzZV9maWxlX2luZm8g Zmk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTgxMjogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNzkwOgorXklpZiAoZmxhZ3MgJiBG VVNFX0lPQ1RMX0RJUiAmJiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzE4MTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTc5MToKK15J ICAgICEocmVxLT5zZS0+Y29ubi53YW50ICYgRlVTRV9DQVBfSU9DVExfRElSKSkgeyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4MTQ6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTc5MjoKK15JXklmdXNlX3JlcGx5X2VycihyZXEsIEVO T1RUWSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTgxNTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxNzkzOgorXkleSXJldHVybjsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxODE2OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE3OTQ6CiteSX0kCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxODE4OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjE3OTY6CiteSW1lbXNldCgmZmksIDAsIHNpemVvZihmaSkpOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4MTk6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTc5NzoKK15JZmkuZmggPSBhcmctPmZoOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4MjE6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTc5OToKK15JaWYgKHNpemVvZih2b2lkICopID09 IDQgJiYgcmVxLT5zZS0+Y29ubi5wcm90b19taW5vciA+PSAxNiAmJiQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4MjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTgwMDoKK15JICAgICEoZmxhZ3MgJiBGVVNFX0lPQ1RMXzMyQklUKSkg eyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4MjM6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTgwMToKK15JXklyZXEtPmlvY3RsXzY0 Yml0ID0gMTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxODI0 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE4MDI6CiteSX0kCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxODI2OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE4MDQ6CiteSWlmIChyZXEtPnNlLT5vcC5pb2N0bCkk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxODI3OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE4MDU6CiteSV5JcmVxLT5zZS0+b3AuaW9j dGwocmVxLCBub2RlaWQsIGFyZy0+Y21kLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzE4Mjg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MTgwNjoKK15JXkleSV5JICh2b2lkICopKHVpbnRwdHJfdClhcmctPmFyZywgJmZpLCBmbGFncywk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxODI5OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE4MDc6CiteSV5JXkleSSBpbl9idWYsIGFy Zy0+aW5fc2l6ZSwgYXJnLT5vdXRfc2l6ZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTgzMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxODA4OgorXkllbHNlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTgzMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxODA5OgorXkle SWZ1c2VfcmVwbHlfZXJyKHJlcSwgRU5PU1lTKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxODM2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjE4MTQ6CiteSWZyZWUocGgpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzE4NDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTgx OToKK15Jc3RydWN0IGZ1c2VfcG9sbF9pbiAqYXJnID0gKHN0cnVjdCBmdXNlX3BvbGxfaW4gKikg aW5hcmc7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTg0Mjog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxODIwOgorXklzdHJ1Y3QgZnVz ZV9maWxlX2luZm8gZmk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTg0NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxODIyOgorXklt ZW1zZXQoJmZpLCAwLCBzaXplb2YoZmkpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxODQ1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjE4MjM6CiteSWZpLmZoID0gYXJnLT5maDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxODQ2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjE4MjQ6CiteSWZpLnBvbGxfZXZlbnRzID0gYXJnLT5ldmVudHM7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTg0ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoxODI2OgorXklpZiAocmVxLT5zZS0+b3AucG9sbCkgeyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4NDk6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MTgyNzoKK15JXklzdHJ1Y3QgZnVzZV9wb2xsaGFuZGxlICpw aCA9IE5VTEw7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTg1 MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxODI5OgorXkleSWlmIChh cmctPmZsYWdzICYgRlVTRV9QT0xMX1NDSEVEVUxFX05PVElGWSkgeyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4NTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTgzMDoKK15JXkleSXBoID0gbWFsbG9jKHNpemVvZihzdHJ1Y3QgZnVz ZV9wb2xsaGFuZGxlKSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTg1MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxODMxOgorXkle SV5JaWYgKHBoID09IE5VTEwpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxODU0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE4MzI6 CiteSV5JXkleSWZ1c2VfcmVwbHlfZXJyKHJlcSwgRU5PTUVNKTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxODU1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjE4MzM6CiteSV5JXkleSXJldHVybjskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxODU2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjE4MzQ6CiteSV5JXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTg1NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzox ODM1OgorXkleSV5JcGgtPmtoID0gYXJnLT5raDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxODU4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjE4MzY6CiteSV5JXklwaC0+c2UgPSByZXEtPnNlOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4NTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MTgzNzoKK15JXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMTg2MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxODM5 OgorXkleSXJlcS0+c2UtPm9wLnBvbGwocmVxLCBub2RlaWQsICZmaSwgcGgpOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4NjI6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MTg0MDoKK15JfSBlbHNlIHskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxODYzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjE4NDE6CiteSV5JZnVzZV9yZXBseV9lcnIocmVxLCBFTk9TWVMpOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4NjQ6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTg0MjoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4Njk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MTg0NzoKK15Jc3RydWN0IGZ1c2VfZmFsbG9jYXRlX2luICphcmcgPSAoc3Ry dWN0IGZ1c2VfZmFsbG9jYXRlX2luICopIGluYXJnOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzE4NzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MTg0ODoKK15Jc3RydWN0IGZ1c2VfZmlsZV9pbmZvIGZpOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4NzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTg1MDoKK15JbWVtc2V0KCZmaSwgMCwgc2l6ZW9mKGZpKSk7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTg3MzogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxODUxOgorXklmaS5maCA9IGFyZy0+Zmg7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTg3NTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxODUzOgorXklpZiAocmVxLT5zZS0+b3AuZmFsbG9j YXRlKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhp cyBzdGF0ZW1lbnQKIzE4NzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MTg1MzoKKyAgICAgICBpZiAocmVxLT5zZS0+b3AuZmFsbG9jYXRlKQpbLi4uXQorICAgICAgIGVs c2UKWy4uLl0KCkVSUk9SOiBsaW5lIG92ZXIgOTAgY2hhcmFjdGVycwojMTg3NjogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxODU0OgorICAgICAgICAgICAgICAgcmVxLT5z ZS0+b3AuZmFsbG9jYXRlKHJlcSwgbm9kZWlkLCBhcmctPm1vZGUsIGFyZy0+b2Zmc2V0LCBhcmct Pmxlbmd0aCwgJmZpKTsKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzE4NzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTg1NDoKK15JXkly ZXEtPnNlLT5vcC5mYWxsb2NhdGUocmVxLCBub2RlaWQsIGFyZy0+bW9kZSwgYXJnLT5vZmZzZXQs IGFyZy0+bGVuZ3RoLCAmZmkpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzE4Nzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTg1NToK K15JZWxzZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4Nzg6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTg1NjoKK15JXklmdXNlX3Jl cGx5X2VycihyZXEsIEVOT1NZUyk7JAoKV0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJhY3RlcnMK IzE4ODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTg1OToKK3N0YXRp YyB2b2lkIGRvX2NvcHlfZmlsZV9yYW5nZShmdXNlX3JlcV90IHJlcSwgZnVzZV9pbm9fdCBub2Rl aWRfaW4sIGNvbnN0IHZvaWQgKmluYXJnKQoKV0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJhY3Rl cnMKIzE4ODM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTg2MToKKyAg ICAgICBzdHJ1Y3QgZnVzZV9jb3B5X2ZpbGVfcmFuZ2VfaW4gKmFyZyA9IChzdHJ1Y3QgZnVzZV9j b3B5X2ZpbGVfcmFuZ2VfaW4gKikgaW5hcmc7CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxODgzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjE4NjE6CiteSXN0cnVjdCBmdXNlX2NvcHlfZmlsZV9yYW5nZV9pbiAqYXJnID0gKHN0cnVjdCBm dXNlX2NvcHlfZmlsZV9yYW5nZV9pbiAqKSBpbmFyZzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxODg0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjE4NjI6CiteSXN0cnVjdCBmdXNlX2ZpbGVfaW5mbyBmaV9pbiwgZmlfb3V0OyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4ODY6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTg2NDoKK15JbWVtc2V0KCZmaV9pbiwgMCwgc2l6 ZW9mKGZpX2luKSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTg4NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxODY1OgorXklmaV9p bi5maCA9IGFyZy0+ZmhfaW47JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMTg4OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxODY3Ogor XkltZW1zZXQoJmZpX291dCwgMCwgc2l6ZW9mKGZpX291dCkpOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4OTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MTg2ODoKK15JZmlfb3V0LmZoID0gYXJnLT5maF9vdXQ7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTg5MzogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoxODcxOgorXklpZiAocmVxLT5zZS0+b3AuY29weV9maWxlX3Jh bmdlKSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4OTQ6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTg3MjoKK15JXklyZXEtPnNlLT5v cC5jb3B5X2ZpbGVfcmFuZ2UocmVxLCBub2RlaWRfaW4sIGFyZy0+b2ZmX2luLCQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4OTU6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MTg3MzoKK15JXkleSV5JXkkgICAgJmZpX2luLCBhcmctPm5v ZGVpZF9vdXQsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTg5 NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxODc0OgorXkleSV5JXkle SSAgICBhcmctPm9mZl9vdXQsICZmaV9vdXQsIGFyZy0+bGVuLCQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4OTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MTg3NToKK15JXkleSV5JXkkgICAgYXJnLT5mbGFncyk7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTg5ODogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoxODc2OgorXkllbHNlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTg5OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoxODc3OgorXkleSWZ1c2VfcmVwbHlfZXJyKHJlcSwgRU5PU1lTKTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTA0OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE4ODI6CiteSXN0cnVjdCBmdXNlX2xzZWVrX2luICphcmcg PSAoc3RydWN0IGZ1c2VfbHNlZWtfaW4gKikgaW5hcmc7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTkwNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoxODgzOgorXklzdHJ1Y3QgZnVzZV9maWxlX2luZm8gZmk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTkwNzogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoxODg1OgorXkltZW1zZXQoJmZpLCAwLCBzaXplb2YoZmkpKTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTA4OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE4ODY6CiteSWZpLmZoID0gYXJnLT5maDskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTEwOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE4ODg6CiteSWlmIChyZXEtPnNlLT5vcC5sc2Vl aykkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMg c3RhdGVtZW50CiMxOTEwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE4 ODg6CisgICAgICAgaWYgKHJlcS0+c2UtPm9wLmxzZWVrKQpbLi4uXQorICAgICAgIGVsc2UKWy4u Ll0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5MTE6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTg4OToKK15JXklyZXEtPnNlLT5vcC5s c2VlayhyZXEsIG5vZGVpZCwgYXJnLT5vZmZzZXQsIGFyZy0+d2hlbmNlLCAmZmkpOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5MTI6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTg5MDoKK15JZWxzZSQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5MTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MTg5MToKK15JXklmdXNlX3JlcGx5X2VycihyZXEsIEVOT1NZUyk7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTkxODogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxODk2OgorXklzdHJ1Y3QgZnVzZV9pbml0X2luICph cmcgPSAoc3RydWN0IGZ1c2VfaW5pdF9pbiAqKSBpbmFyZzskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTE5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjE4OTc6CiteSXN0cnVjdCBmdXNlX2luaXRfb3V0IG91dGFyZzskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTIwOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE4OTg6CiteSXN0cnVjdCBmdXNlX3Nlc3Npb24gKnNlID0g cmVxLT5zZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTIx OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE4OTk6CiteSXNpemVfdCBi dWZzaXplID0gc2UtPmJ1ZnNpemU7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMTkyMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxOTAw OgorXklzaXplX3Qgb3V0YXJnc2l6ZSA9IHNpemVvZihvdXRhcmcpOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5MjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTkwMjoKK15JKHZvaWQpIG5vZGVpZDskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTI1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjE5MDM6CiteSWlmIChzZS0+ZGVidWcpIHskCgpXQVJOSU5HOiBsaW5lIG92 ZXIgODAgY2hhcmFjdGVycwojMTkyNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoxOTA0OgorICAgICAgICAgICAgICAgZnVzZV9sb2coRlVTRV9MT0dfREVCVUcsICJJTklU OiAldS4ldVxuIiwgYXJnLT5tYWpvciwgYXJnLT5taW5vcik7CgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTI2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjE5MDQ6CiteSV5JZnVzZV9sb2coRlVTRV9MT0dfREVCVUcsICJJTklUOiAldS4l dVxuIiwgYXJnLT5tYWpvciwgYXJnLT5taW5vcik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTkyNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoxOTA1OgorXkleSWlmIChhcmctPm1ham9yID09IDcgJiYgYXJnLT5taW5vciA+PSA2KSB7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTkyODogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxOTA2OgorXkleSV5JZnVzZV9sb2coRlVT RV9MT0dfREVCVUcsICJmbGFncz0weCUwOHhcbiIsIGFyZy0+ZmxhZ3MpOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5Mjk6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MTkwNzoKK15JXkleSWZ1c2VfbG9nKEZVU0VfTE9HX0RFQlVHLCAi bWF4X3JlYWRhaGVhZD0weCUwOHhcbiIsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTkzMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzox OTA4OgorXkleSV5JXklhcmctPm1heF9yZWFkYWhlYWQpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5MzE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MTkwOToKK15JXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMTkzMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxOTEw OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTkzMzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxOTExOgorXklzZS0+Y29ubi5w cm90b19tYWpvciA9IGFyZy0+bWFqb3I7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTkzNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzox OTEyOgorXklzZS0+Y29ubi5wcm90b19taW5vciA9IGFyZy0+bWlub3I7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTkzNTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoxOTEzOgorXklzZS0+Y29ubi5jYXBhYmxlID0gMDskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTM2OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5MTQ6CiteSXNlLT5jb25uLndhbnQgPSAwOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5Mzg6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTkxNjoKK15JbWVtc2V0KCZvdXRhcmcsIDAsIHNpemVv ZihvdXRhcmcpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx OTM5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5MTc6CiteSW91dGFy Zy5tYWpvciA9IEZVU0VfS0VSTkVMX1ZFUlNJT047JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTk0MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoxOTE4OgorXklvdXRhcmcubWlub3IgPSBGVVNFX0tFUk5FTF9NSU5PUl9WRVJTSU9OOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5NDI6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTkyMDoKK15JaWYgKGFyZy0+bWFqb3IgPCA3 KSB7JAoKV0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJhY3RlcnMKIzE5NDM6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTkyMToKKyAgICAgICAgICAgICAgIGZ1c2VfbG9n KEZVU0VfTE9HX0VSUiwgImZ1c2U6IHVuc3VwcG9ydGVkIHByb3RvY29sIHZlcnNpb246ICV1LiV1 XG4iLAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk0MzogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxOTIxOgorXkleSWZ1c2VfbG9nKEZV U0VfTE9HX0VSUiwgImZ1c2U6IHVuc3VwcG9ydGVkIHByb3RvY29sIHZlcnNpb246ICV1LiV1XG4i LCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5NDQ6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTkyMjoKK15JXkleSWFyZy0+bWFqb3Is IGFyZy0+bWlub3IpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzE5NDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTkyMzoKK15JXklm dXNlX3JlcGx5X2VycihyZXEsIEVQUk9UTyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTk0NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoxOTI0OgorXkleSXJldHVybjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxOTQ3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5MjU6 CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTQ5OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5Mjc6CiteSWlmIChhcmctPm1h am9yID4gNykgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5 NTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTkyODoKK15JXkkvKiBX YWl0IGZvciBhIHNlY29uZCBJTklUIHJlcXVlc3Qgd2l0aCBhIDcuWCB2ZXJzaW9uICovJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk1MTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxOTI5OgorXkleSXNlbmRfcmVwbHlfb2socmVxLCAm b3V0YXJnLCBzaXplb2Yob3V0YXJnKSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTk1MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzox OTMwOgorXkleSXJldHVybjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxOTUzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5MzE6Cite SX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTU1OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5MzM6CiteSWlmIChhcmctPm1pbm9y ID49IDYpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTU2 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5MzQ6CiteSV5JaWYgKGFy Zy0+bWF4X3JlYWRhaGVhZCA8IHNlLT5jb25uLm1heF9yZWFkYWhlYWQpJAoKRVJST1I6IGJyYWNl cyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMTk1Njog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxOTM0OgorICAgICAgICAgICAg ICAgaWYgKGFyZy0+bWF4X3JlYWRhaGVhZCA8IHNlLT5jb25uLm1heF9yZWFkYWhlYWQpClsuLi5d CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTU3OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5MzU6CiteSV5JXklzZS0+Y29ubi5tYXhf cmVhZGFoZWFkID0gYXJnLT5tYXhfcmVhZGFoZWFkOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzE5NTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MTkzNjoKK15JXklpZiAoYXJnLT5mbGFncyAmIEZVU0VfQVNZTkNfUkVBRCkkCgpFUlJP UjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50 CiMxOTU4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5MzY6CisgICAg ICAgICAgICAgICBpZiAoYXJnLT5mbGFncyAmIEZVU0VfQVNZTkNfUkVBRCkKWy4uLl0KCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5NTk6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTkzNzoKK15JXkleSXNlLT5jb25uLmNhcGFibGUgfD0g RlVTRV9DQVBfQVNZTkNfUkVBRDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxOTYwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5Mzg6 CiteSV5JaWYgKGFyZy0+ZmxhZ3MgJiBGVVNFX1BPU0lYX0xPQ0tTKSQKCkVSUk9SOiBicmFjZXMg e30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzE5NjA6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTkzODoKKyAgICAgICAgICAgICAg IGlmIChhcmctPmZsYWdzICYgRlVTRV9QT1NJWF9MT0NLUykKWy4uLl0KCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5NjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTkzOToKK15JXkleSXNlLT5jb25uLmNhcGFibGUgfD0gRlVTRV9DQVBf UE9TSVhfTE9DS1M7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTk2MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxOTQwOgorXkleSWlm IChhcmctPmZsYWdzICYgRlVTRV9BVE9NSUNfT19UUlVOQykkCgpFUlJPUjogYnJhY2VzIHt9IGFy ZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMxOTYyOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5NDA6CisgICAgICAgICAgICAgICBpZiAo YXJnLT5mbGFncyAmIEZVU0VfQVRPTUlDX09fVFJVTkMpClsuLi5dCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTYzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjE5NDE6CiteSV5JXklzZS0+Y29ubi5jYXBhYmxlIHw9IEZVU0VfQ0FQX0FU T01JQ19PX1RSVU5DOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzE5NjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTk0MjoKK15JXklp ZiAoYXJnLT5mbGFncyAmIEZVU0VfRVhQT1JUX1NVUFBPUlQpJAoKRVJST1I6IGJyYWNlcyB7fSBh cmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMTk2NDogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxOTQyOgorICAgICAgICAgICAgICAgaWYg KGFyZy0+ZmxhZ3MgJiBGVVNFX0VYUE9SVF9TVVBQT1JUKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk2NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoxOTQzOgorXkleSV5Jc2UtPmNvbm4uY2FwYWJsZSB8PSBGVVNFX0NBUF9F WFBPUlRfU1VQUE9SVDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxOTY2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5NDQ6CiteSV5J aWYgKGFyZy0+ZmxhZ3MgJiBGVVNFX0RPTlRfTUFTSykkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBu ZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMxOTY2OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5NDQ6CisgICAgICAgICAgICAgICBpZiAoYXJn LT5mbGFncyAmIEZVU0VfRE9OVF9NQVNLKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTk2NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoxOTQ1OgorXkleSV5Jc2UtPmNvbm4uY2FwYWJsZSB8PSBGVVNFX0NBUF9ET05UX01BU0s7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk2ODogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxOTQ2OgorXkleSWlmIChhcmctPmZsYWdz ICYgRlVTRV9GTE9DS19MT0NLUykkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9y IGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMxOTY4OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjE5NDY6CisgICAgICAgICAgICAgICBpZiAoYXJnLT5mbGFncyAmIEZV U0VfRkxPQ0tfTE9DS1MpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxOTY5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5NDc6 CiteSV5JXklzZS0+Y29ubi5jYXBhYmxlIHw9IEZVU0VfQ0FQX0ZMT0NLX0xPQ0tTOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5NzA6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTk0ODoKK15JXklpZiAoYXJnLT5mbGFncyAmIEZVU0Vf QVVUT19JTlZBTF9EQVRBKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxs IGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzE5NzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MTk0ODoKKyAgICAgICAgICAgICAgIGlmIChhcmctPmZsYWdzICYgRlVTRV9B VVRPX0lOVkFMX0RBVEEpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxOTcxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5NDk6 CiteSV5JXklzZS0+Y29ubi5jYXBhYmxlIHw9IEZVU0VfQ0FQX0FVVE9fSU5WQUxfREFUQTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTcyOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5NTA6CiteSV5JaWYgKGFyZy0+ZmxhZ3MgJiBG VVNFX0RPX1JFQURESVJQTFVTKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3Ig YWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzE5NzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTk1MDoKKyAgICAgICAgICAgICAgIGlmIChhcmctPmZsYWdzICYgRlVT RV9ET19SRUFERElSUExVUykKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzE5NzM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTk1 MToKK15JXkleSXNlLT5jb25uLmNhcGFibGUgfD0gRlVTRV9DQVBfUkVBRERJUlBMVVM7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk3NDogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxOTUyOgorXkleSWlmIChhcmctPmZsYWdzICYgRlVT RV9SRUFERElSUExVU19BVVRPKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3Ig YWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzE5NzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTk1MjoKKyAgICAgICAgICAgICAgIGlmIChhcmctPmZsYWdzICYgRlVT RV9SRUFERElSUExVU19BVVRPKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTk3NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzox OTUzOgorXkleSV5Jc2UtPmNvbm4uY2FwYWJsZSB8PSBGVVNFX0NBUF9SRUFERElSUExVU19BVVRP OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5NzY6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTk1NDoKK15JXklpZiAoYXJnLT5mbGFn cyAmIEZVU0VfQVNZTkNfRElPKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3Ig YWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzE5NzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTk1NDoKKyAgICAgICAgICAgICAgIGlmIChhcmctPmZsYWdzICYgRlVT RV9BU1lOQ19ESU8pClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxOTc3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5NTU6Cite SV5JXklzZS0+Y29ubi5jYXBhYmxlIHw9IEZVU0VfQ0FQX0FTWU5DX0RJTzskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTc4OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjE5NTY6CiteSV5JaWYgKGFyZy0+ZmxhZ3MgJiBGVVNFX1dSSVRF QkFDS19DQUNIRSkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1z IG9mIHRoaXMgc3RhdGVtZW50CiMxOTc4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjE5NTY6CisgICAgICAgICAgICAgICBpZiAoYXJnLT5mbGFncyAmIEZVU0VfV1JJVEVC QUNLX0NBQ0hFKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTk3OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxOTU3OgorXkle SV5Jc2UtPmNvbm4uY2FwYWJsZSB8PSBGVVNFX0NBUF9XUklURUJBQ0tfQ0FDSEU7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk4MDogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxOTU4OgorXkleSWlmIChhcmctPmZsYWdzICYgRlVTRV9O T19PUEVOX1NVUFBPUlQpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwg YXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMTk4MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoxOTU4OgorICAgICAgICAgICAgICAgaWYgKGFyZy0+ZmxhZ3MgJiBGVVNFX05P X09QRU5fU1VQUE9SVCkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzE5ODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTk1OToK K15JXkleSXNlLT5jb25uLmNhcGFibGUgfD0gRlVTRV9DQVBfTk9fT1BFTl9TVVBQT1JUOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5ODI6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTk2MDoKK15JXklpZiAoYXJnLT5mbGFncyAmIEZV U0VfUEFSQUxMRUxfRElST1BTKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3Ig YWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzE5ODI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTk2MDoKKyAgICAgICAgICAgICAgIGlmIChhcmctPmZsYWdzICYgRlVT RV9QQVJBTExFTF9ESVJPUFMpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxOTgzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5 NjE6CiteSV5JXklzZS0+Y29ubi5jYXBhYmxlIHw9IEZVU0VfQ0FQX1BBUkFMTEVMX0RJUk9QUzsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTg0OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5NjI6CiteSV5JaWYgKGFyZy0+ZmxhZ3Mg JiBGVVNFX1BPU0lYX0FDTCkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFs bCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMxOTg0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjE5NjI6CisgICAgICAgICAgICAgICBpZiAoYXJnLT5mbGFncyAmIEZVU0Vf UE9TSVhfQUNMKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTk4NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxOTYzOgorXkle SV5Jc2UtPmNvbm4uY2FwYWJsZSB8PSBGVVNFX0NBUF9QT1NJWF9BQ0w7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk4NjogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoxOTY0OgorXkleSWlmIChhcmctPmZsYWdzICYgRlVTRV9IQU5ETEVf S0lMTFBSSVYpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBv ZiB0aGlzIHN0YXRlbWVudAojMTk4NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoxOTY0OgorICAgICAgICAgICAgICAgaWYgKGFyZy0+ZmxhZ3MgJiBGVVNFX0hBTkRMRV9L SUxMUFJJVikKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzE5ODc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTk2NToKK15JXkle SXNlLT5jb25uLmNhcGFibGUgfD0gRlVTRV9DQVBfSEFORExFX0tJTExQUklWOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5ODg6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MTk2NjoKK15JXklpZiAoYXJnLT5mbGFncyAmIEZVU0VfTk9f T1BFTkRJUl9TVVBQT1JUKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxs IGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzE5ODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MTk2NjoKKyAgICAgICAgICAgICAgIGlmIChhcmctPmZsYWdzICYgRlVTRV9O T19PUEVORElSX1NVUFBPUlQpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxOTg5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5 Njc6CiteSV5JXklzZS0+Y29ubi5jYXBhYmxlIHw9IEZVU0VfQ0FQX05PX09QRU5ESVJfU1VQUE9S VDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTkwOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5Njg6CiteSV5JaWYgKCEoYXJnLT5m bGFncyAmIEZVU0VfTUFYX1BBR0VTKSkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzE5OTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MTk2OToKK15JXkleSXNpemVfdCBtYXhfYnVmc2l6ZSA9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTk5MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoxOTcwOgorXkleSV5JXklGVVNFX0RFRkFVTFRfTUFYX1BBR0VTX1BFUl9SRVEgKiBn ZXRwYWdlc2l6ZSgpJAoKRVJST1I6IHVzZSBxZW11X3JlYWxfaG9zdF9wYWdlX3NpemUgaW5zdGVh ZCBvZiBnZXRwYWdlc2l6ZSgpCiMxOTkyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjE5NzA6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlVTRV9ERUZBVUxU X01BWF9QQUdFU19QRVJfUkVRICogZ2V0cGFnZXNpemUoKQoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTk5MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoxOTcxOgorXkleSV5JXkkrIEZVU0VfQlVGRkVSX0hFQURFUl9TSVpFOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5OTQ6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTk3MjoKK15JXkleSWlmIChidWZzaXplID4gbWF4X2J1 ZnNpemUpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTk1 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5NzM6CiteSV5JXkleSWJ1 ZnNpemUgPSBtYXhfYnVmc2l6ZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxOTk2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5NzQ6 CiteSV5JXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk5 NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxOTc1OgorXkleSX0kCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTk4OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5NzY6CiteSX0gZWxzZSB7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk5OTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoxOTc3OgorXkleSXNlLT5jb25uLm1heF9yZWFkYWhlYWQgPSAw OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwMDA6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTk3ODoKK15JfSQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwMDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MTk4MDoKK15JaWYgKHNlLT5jb25uLnByb3RvX21pbm9yID49IDE0 KSB7JAoKV0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJhY3RlcnMKIzIwMDU6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MTk4MzoKKyAgICAgICAgICAgICAgIHNlLT5jb25u LmNhcGFibGUgfD0gRlVTRV9DQVBfU1BMSUNFX1dSSVRFIHwgRlVTRV9DQVBfU1BMSUNFX01PVkU7 CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDA1OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5ODM6CiteSV5Jc2UtPmNvbm4uY2FwYWJs ZSB8PSBGVVNFX0NBUF9TUExJQ0VfV1JJVEUgfCBGVVNFX0NBUF9TUExJQ0VfTU9WRTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDA3OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5ODU6CiteSV5Jc2UtPmNvbm4uY2FwYWJsZSB8PSBG VVNFX0NBUF9TUExJQ0VfUkVBRDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyMDA5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5ODc6 CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDEwOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5ODg6CiteSWlmIChzZS0+Y29u bi5wcm90b19taW5vciA+PSAxOCkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9y IGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMyMDEwOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjE5ODg6CisgICAgICAgaWYgKHNlLT5jb25uLnByb3RvX21pbm9yID49 IDE4KQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjAx MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxOTg5OgorXkleSXNlLT5j b25uLmNhcGFibGUgfD0gRlVTRV9DQVBfSU9DVExfRElSOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwMTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MTk5MToKK15JLyogRGVmYXVsdCBzZXR0aW5ncyBmb3IgbW9kZXJuIGZpbGVzeXN0 ZW1zLiQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcgLyogb24gYSBzZXBh cmF0ZSBsaW5lCiMyMDEzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5 OTE6CisgICAgICAgLyogRGVmYXVsdCBzZXR0aW5ncyBmb3IgbW9kZXJuIGZpbGVzeXN0ZW1zLgoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjAxNDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxOTkyOgorXkkgKiQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwMTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MTk5MzoKK15JICogTW9zdCBvZiB0aGVzZSBjYXBhYmlsaXRpZXMgd2Vy ZSBkaXNhYmxlZCBieSBkZWZhdWx0IGluJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjAxNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzox OTk0OgorXkkgKiBsaWJmdXNlMiBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcmVhc29ucy4g SW4gbGliZnVzZTMsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MjAxNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxOTk1OgorXkkgKiB3 ZSBjYW4gZmluYWxseSBlbmFibGUgdGhlbSBieSBkZWZhdWx0IChhcyBsb25nIGFzIHRoZXkncmUk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDE4OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5OTY6CiteSSAqIHN1cHBvcnRlZCBieSB0 aGUga2VybmVsKS4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy MDE5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE5OTc6CiteSSAqLyQK CkVSUk9SOiBNYWNyb3Mgd2l0aCBjb21wbGV4IHZhbHVlcyBzaG91bGQgYmUgZW5jbG9zZWQgaW4g cGFyZW50aGVzaXMKIzIwMjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MTk5ODoKKyNkZWZpbmUgTExfU0VUX0RFRkFVTFQoY29uZCwgY2FwKSBcCisgICAgICAgaWYgKChj b25kKSAmJiAoc2UtPmNvbm4uY2FwYWJsZSAmIChjYXApKSkgXAorICAgICAgICAgICAgICAgc2Ut PmNvbm4ud2FudCB8PSAoY2FwKQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjAyMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoxOTk5Ogor XklpZiAoKGNvbmQpICYmIChzZS0+Y29ubi5jYXBhYmxlICYgKGNhcCkpKSBcJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjAyMjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDAwOgorXkleSXNlLT5jb25uLndhbnQgfD0gKGNhcCkkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDIzOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIwMDE6CiteSUxMX1NFVF9ERUZBVUxUKDEsIEZV U0VfQ0FQX0FTWU5DX1JFQUQpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzIwMjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjAwMjoK K15JTExfU0VUX0RFRkFVTFQoMSwgRlVTRV9DQVBfUEFSQUxMRUxfRElST1BTKTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDI1OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIwMDM6CiteSUxMX1NFVF9ERUZBVUxUKDEsIEZVU0VfQ0FQ X0FVVE9fSU5WQUxfREFUQSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjAyNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDA0Ogor XklMTF9TRVRfREVGQVVMVCgxLCBGVVNFX0NBUF9IQU5ETEVfS0lMTFBSSVYpOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwMjc6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MjAwNToKK15JTExfU0VUX0RFRkFVTFQoMSwgRlVTRV9DQVBf QVNZTkNfRElPKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy MDI4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIwMDY6CiteSUxMX1NF VF9ERUZBVUxUKDEsIEZVU0VfQ0FQX0lPQ1RMX0RJUik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjAyOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyMDA3OgorXklMTF9TRVRfREVGQVVMVCgxLCBGVVNFX0NBUF9BVE9NSUNfT19UUlVO Qyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjAzMDogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDA4OgorXklMTF9TRVRfREVGQVVM VChzZS0+b3Aud3JpdGVfYnVmLCBGVVNFX0NBUF9TUExJQ0VfUkVBRCk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjAzMTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoyMDA5OgorXklMTF9TRVRfREVGQVVMVChzZS0+b3AuZ2V0bGsgJiYg c2UtPm9wLnNldGxrLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzIwMzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjAxMDoKK15JXkkg ICAgICAgRlVTRV9DQVBfUE9TSVhfTE9DS1MpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzIwMzM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MjAxMToKK15JTExfU0VUX0RFRkFVTFQoc2UtPm9wLmZsb2NrLCBGVVNFX0NBUF9GTE9DS19M T0NLUyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjAzNDog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDEyOgorXklMTF9TRVRfREVG QVVMVChzZS0+b3AucmVhZGRpcnBsdXMsIEZVU0VfQ0FQX1JFQURESVJQTFVTKTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDM1OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIwMTM6CiteSUxMX1NFVF9ERUZBVUxUKHNlLT5vcC5yZWFk ZGlycGx1cyAmJiBzZS0+b3AucmVhZGRpciwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyMDM2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjIwMTQ6CiteSV5JICAgICAgIEZVU0VfQ0FQX1JFQURESVJQTFVTX0FVVE8pOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwMzc6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MjAxNToKK15Jc2UtPmNvbm4udGltZV9ncmFuID0gMTskCgpF UlJPUjogdHJhaWxpbmcgd2hpdGVzcGFjZQojMjAzODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoyMDE2OgorXkkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyMDM4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIw MTY6CiteSSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwMzk6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjAxNzoKK15JaWYgKGJ1ZnNp emUgPCBGVVNFX01JTl9SRUFEX0JVRkZFUikgeyQKCldBUk5JTkc6IGxpbmUgb3ZlciA4MCBjaGFy YWN0ZXJzCiMyMDQwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIwMTg6 CisgICAgICAgICAgICAgICBmdXNlX2xvZyhGVVNFX0xPR19FUlIsICJmdXNlOiB3YXJuaW5nOiBi dWZmZXIgc2l6ZSB0b28gc21hbGw6ICV6dVxuIiwKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzIwNDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MjAxODoKK15JXklmdXNlX2xvZyhGVVNFX0xPR19FUlIsICJmdXNlOiB3YXJuaW5nOiBidWZm ZXIgc2l6ZSB0b28gc21hbGw6ICV6dVxuIiwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyMDQxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjIwMTk6CiteSV5JXklidWZzaXplKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyMDQyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIw MjA6CiteSV5JYnVmc2l6ZSA9IEZVU0VfTUlOX1JFQURfQlVGRkVSOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwNDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MjAyMToKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzIwNDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MjAyMjoKK15Jc2UtPmJ1ZnNpemUgPSBidWZzaXplOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzIwNDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MjAyNDoKK15JaWYgKHNlLT5jb25uLm1heF93cml0ZSA+IGJ1ZnNpemUgLSBGVVNFX0JV RkZFUl9IRUFERVJfU0laRSkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFs bCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMyMDQ2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjIwMjQ6CisgICAgICAgaWYgKHNlLT5jb25uLm1heF93cml0ZSA+IGJ1ZnNp emUgLSBGVVNFX0JVRkZFUl9IRUFERVJfU0laRSkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwNDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MjAyNToKK15JXklzZS0+Y29ubi5tYXhfd3JpdGUgPSBidWZzaXplIC0gRlVTRV9C VUZGRVJfSEVBREVSX1NJWkU7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjA0OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDI3Ogor XklzZS0+Z290X2luaXQgPSAxOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzIwNTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjAyODoK K15JaWYgKHNlLT5vcC5pbml0KSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3Ig YWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzIwNTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MjAyODoKKyAgICAgICBpZiAoc2UtPm9wLmluaXQpClsuLi5dCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDUxOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIwMjk6CiteSV5Jc2UtPm9wLmluaXQoc2UtPnVzZXJk YXRhLCAmc2UtPmNvbm4pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzIwNTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjAzMToKK15J aWYgKHNlLT5jb25uLndhbnQgJiAofnNlLT5jb25uLmNhcGFibGUpKSB7JAoKV0FSTklORzogbGlu ZSBvdmVyIDgwIGNoYXJhY3RlcnMKIzIwNTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MjAzMjoKKyAgICAgICAgICAgICAgIGZ1c2VfbG9nKEZVU0VfTE9HX0VSUiwgImZ1 c2U6IGVycm9yOiBmaWxlc3lzdGVtIHJlcXVlc3RlZCBjYXBhYmlsaXRpZXMgIgoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjA1NDogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDMyOgorXkleSWZ1c2VfbG9nKEZVU0VfTE9HX0VSUiwgImZ1 c2U6IGVycm9yOiBmaWxlc3lzdGVtIHJlcXVlc3RlZCBjYXBhYmlsaXRpZXMgIiQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwNTU6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MjAzMzoKK15JXkleSSIweCV4IHRoYXQgYXJlIG5vdCBzdXBw b3J0ZWQgYnkga2VybmVsLCBhYm9ydGluZy5cbiIsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjA1NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoyMDM0OgorXkleSV5Jc2UtPmNvbm4ud2FudCAmICh+c2UtPmNvbm4uY2FwYWJsZSkpOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwNTc6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjAzNToKK15JXklmdXNlX3JlcGx5X2Vycihy ZXEsIEVQUk9UTyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MjA1ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDM2OgorXkleSXNl LT5lcnJvciA9IC1FUFJPVE87JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjA1OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDM3Ogor XkleSWZ1c2Vfc2Vzc2lvbl9leGl0KHNlKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyMDYwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjIwMzg6CiteSV5JcmV0dXJuOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzIwNjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjAzOToK K15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwNjM6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjA0MToKK15JdW5zaWduZWQgbWF4 X3JlYWRfbW8gPSBnZXRfbWF4X3JlYWQoc2UtPm1vKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyMDY0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjIwNDI6CiteSWlmIChzZS0+Y29ubi5tYXhfcmVhZCAhPSBtYXhfcmVhZF9tbykgeyQK CldBUk5JTkc6IGxpbmUgb3ZlciA4MCBjaGFyYWN0ZXJzCiMyMDY1OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIwNDM6CisgICAgICAgICAgICAgICBmdXNlX2xvZyhGVVNF X0xPR19FUlIsICJmdXNlOiBlcnJvcjogaW5pdCgpIGFuZCBmdXNlX3Nlc3Npb25fbmV3KCkgIgoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjA2NTogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDQzOgorXkleSWZ1c2VfbG9nKEZVU0VfTE9H X0VSUiwgImZ1c2U6IGVycm9yOiBpbml0KCkgYW5kIGZ1c2Vfc2Vzc2lvbl9uZXcoKSAiJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjA2NjogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDQ0OgorXkleSV5JInJlcXVlc3RlZCBkaWZmZXJl bnQgbWF4aW11bSByZWFkIHNpemUgKCV1IHZzICV1KVxuIiwkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDY3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjIwNDU6CiteSV5JXklzZS0+Y29ubi5tYXhfcmVhZCwgbWF4X3JlYWRfbW8pOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwNjg6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjA0NjoKK15JXklmdXNlX3JlcGx5X2Vycihy ZXEsIEVQUk9UTyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MjA2OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDQ3OgorXkleSXNl LT5lcnJvciA9IC1FUFJPVE87JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjA3MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDQ4Ogor XkleSWZ1c2Vfc2Vzc2lvbl9leGl0KHNlKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyMDcxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjIwNDk6CiteSV5JcmV0dXJuOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzIwNzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjA1MDoK K15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwNzQ6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjA1MjoKK15JaWYgKHNlLT5jb25u Lm1heF93cml0ZSA8IGJ1ZnNpemUgLSBGVVNFX0JVRkZFUl9IRUFERVJfU0laRSkgeyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwNzU6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjA1MzoKK15JXklzZS0+YnVmc2l6ZSA9IHNlLT5jb25u Lm1heF93cml0ZSArIEZVU0VfQlVGRkVSX0hFQURFUl9TSVpFOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwNzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MjA1NDoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzIwNzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjA1 NToKK15JaWYgKGFyZy0+ZmxhZ3MgJiBGVVNFX01BWF9QQUdFUykgeyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwNzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MjA1NjoKK15JXklvdXRhcmcuZmxhZ3MgfD0gRlVTRV9NQVhfUEFHRVM7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjA3OTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDU3OgorXkleSW91dGFyZy5tYXhfcGFn ZXMgPSAoc2UtPmNvbm4ubWF4X3dyaXRlIC0gMSkgLyBnZXRwYWdlc2l6ZSgpICsgMTskCgpFUlJP UjogdXNlIHFlbXVfcmVhbF9ob3N0X3BhZ2Vfc2l6ZSBpbnN0ZWFkIG9mIGdldHBhZ2VzaXplKCkK IzIwNzk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjA1NzoKKyAgICAg ICAgICAgICAgIG91dGFyZy5tYXhfcGFnZXMgPSAoc2UtPmNvbm4ubWF4X3dyaXRlIC0gMSkgLyBn ZXRwYWdlc2l6ZSgpICsgMTsKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzIwODA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjA1ODoKK15J fSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwODI6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjA2MDoKK15JLyogQWx3YXlzIGVuYWJs ZSBiaWcgd3JpdGVzLCB0aGlzIGlzIHN1cGVyc2VkZWQkCgpXQVJOSU5HOiBCbG9jayBjb21tZW50 cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJhdGUgbGluZQojMjA4MjogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDYwOgorICAgICAgIC8qIEFsd2F5cyBlbmFibGUg YmlnIHdyaXRlcywgdGhpcyBpcyBzdXBlcnNlZGVkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyMDgzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjIwNjE6CiteSSAgIGJ5IHRoZSBtYXhfd3JpdGUgb3B0aW9uICovJAoKV0FSTklORzogQmxv Y2sgY29tbWVudHMgdXNlICogb24gc3Vic2VxdWVudCBsaW5lcwojMjA4MzogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDYxOgorICAgICAgIC8qIEFsd2F5cyBlbmFibGUg YmlnIHdyaXRlcywgdGhpcyBpcyBzdXBlcnNlZGVkCisgICAgICAgICAgYnkgdGhlIG1heF93cml0 ZSBvcHRpb24gKi8KCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIHRyYWlsaW5nICovIG9u IGEgc2VwYXJhdGUgbGluZQojMjA4MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoyMDYxOgorICAgICAgICAgIGJ5IHRoZSBtYXhfd3JpdGUgb3B0aW9uICovCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDg0OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIwNjI6CiteSW91dGFyZy5mbGFncyB8PSBGVVNFX0JJR19X UklURVM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjA4Njog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDY0OgorXklpZiAoc2UtPmNv bm4ud2FudCAmIEZVU0VfQ0FQX0FTWU5DX1JFQUQpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVj ZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMjA4NjogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDY0OgorICAgICAgIGlmIChzZS0+Y29ubi53YW50 ICYgRlVTRV9DQVBfQVNZTkNfUkVBRCkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzIwODc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MjA2NToKK15JXklvdXRhcmcuZmxhZ3MgfD0gRlVTRV9BU1lOQ19SRUFEOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwODg6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MjA2NjoKK15JaWYgKHNlLT5jb25uLndhbnQgJiBGVVNFX0NB UF9QT1NJWF9MT0NLUykkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBh cm1zIG9mIHRoaXMgc3RhdGVtZW50CiMyMDg4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjIwNjY6CisgICAgICAgaWYgKHNlLT5jb25uLndhbnQgJiBGVVNFX0NBUF9QT1NJ WF9MT0NLUykKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzIwODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjA2NzoKK15JXklv dXRhcmcuZmxhZ3MgfD0gRlVTRV9QT1NJWF9MT0NLUzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyMDkwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjIwNjg6CiteSWlmIChzZS0+Y29ubi53YW50ICYgRlVTRV9DQVBfQVRPTUlDX09fVFJV TkMpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlz IHN0YXRlbWVudAojMjA5MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoy MDY4OgorICAgICAgIGlmIChzZS0+Y29ubi53YW50ICYgRlVTRV9DQVBfQVRPTUlDX09fVFJVTkMp ClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDkxOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIwNjk6CiteSV5Jb3V0YXJnLmZs YWdzIHw9IEZVU0VfQVRPTUlDX09fVFJVTkM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjA5MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoyMDcwOgorXklpZiAoc2UtPmNvbm4ud2FudCAmIEZVU0VfQ0FQX0VYUE9SVF9TVVBQT1JUKSQK CkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0 ZW1lbnQKIzIwOTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjA3MDoK KyAgICAgICBpZiAoc2UtPmNvbm4ud2FudCAmIEZVU0VfQ0FQX0VYUE9SVF9TVVBQT1JUKQpbLi4u XQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjA5MzogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDcxOgorXkleSW91dGFyZy5mbGFncyB8 PSBGVVNFX0VYUE9SVF9TVVBQT1JUOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzIwOTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjA3 MjoKK15JaWYgKHNlLT5jb25uLndhbnQgJiBGVVNFX0NBUF9ET05UX01BU0spJAoKRVJST1I6IGJy YWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMjA5 NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDcyOgorICAgICAgIGlm IChzZS0+Y29ubi53YW50ICYgRlVTRV9DQVBfRE9OVF9NQVNLKQpbLi4uXQoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjA5NTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoyMDczOgorXkleSW91dGFyZy5mbGFncyB8PSBGVVNFX0RPTlRfTUFT SzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDk2OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIwNzQ6CiteSWlmIChzZS0+Y29ubi53 YW50ICYgRlVTRV9DQVBfRkxPQ0tfTE9DS1MpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNz YXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMjA5NjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDc0OgorICAgICAgIGlmIChzZS0+Y29ubi53YW50ICYg RlVTRV9DQVBfRkxPQ0tfTE9DS1MpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyMDk3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjIwNzU6CiteSV5Jb3V0YXJnLmZsYWdzIHw9IEZVU0VfRkxPQ0tfTE9DS1M7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjA5ODogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDc2OgorXklpZiAoc2UtPmNvbm4ud2FudCAmIEZVU0VfQ0FQ X0FVVE9fSU5WQUxfREFUQSkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFs bCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMyMDk4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjIwNzY6CisgICAgICAgaWYgKHNlLT5jb25uLndhbnQgJiBGVVNFX0NBUF9B VVRPX0lOVkFMX0RBVEEpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyMDk5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIwNzc6 CiteSV5Jb3V0YXJnLmZsYWdzIHw9IEZVU0VfQVVUT19JTlZBTF9EQVRBOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxMDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MjA3ODoKK15JaWYgKHNlLT5jb25uLndhbnQgJiBGVVNFX0NBUF9S RUFERElSUExVUykkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1z IG9mIHRoaXMgc3RhdGVtZW50CiMyMTAwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjIwNzg6CisgICAgICAgaWYgKHNlLT5jb25uLndhbnQgJiBGVVNFX0NBUF9SRUFERElS UExVUykKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIx MDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjA3OToKK15JXklvdXRh cmcuZmxhZ3MgfD0gRlVTRV9ET19SRUFERElSUExVUzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyMTAyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjIwODA6CiteSWlmIChzZS0+Y29ubi53YW50ICYgRlVTRV9DQVBfUkVBRERJUlBMVVNf QVVUTykkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRo aXMgc3RhdGVtZW50CiMyMTAyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjIwODA6CisgICAgICAgaWYgKHNlLT5jb25uLndhbnQgJiBGVVNFX0NBUF9SRUFERElSUExVU19B VVRPKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjEw MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDgxOgorXkleSW91dGFy Zy5mbGFncyB8PSBGVVNFX1JFQURESVJQTFVTX0FVVE87JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjEwNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyMDgyOgorXklpZiAoc2UtPmNvbm4ud2FudCAmIEZVU0VfQ0FQX0FTWU5DX0RJTykk CgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3Rh dGVtZW50CiMyMTA0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIwODI6 CisgICAgICAgaWYgKHNlLT5jb25uLndhbnQgJiBGVVNFX0NBUF9BU1lOQ19ESU8pClsuLi5dCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTA1OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIwODM6CiteSV5Jb3V0YXJnLmZsYWdzIHw9IEZV U0VfQVNZTkNfRElPOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzIxMDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjA4NDoKK15JaWYg KHNlLT5jb25uLndhbnQgJiBGVVNFX0NBUF9XUklURUJBQ0tfQ0FDSEUpJAoKRVJST1I6IGJyYWNl cyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMjEwNjog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDg0OgorICAgICAgIGlmIChz ZS0+Y29ubi53YW50ICYgRlVTRV9DQVBfV1JJVEVCQUNLX0NBQ0hFKQpbLi4uXQoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjEwNzogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDg1OgorXkleSW91dGFyZy5mbGFncyB8PSBGVVNFX1dSSVRF QkFDS19DQUNIRTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy MTA4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIwODY6CiteSWlmIChz ZS0+Y29ubi53YW50ICYgRlVTRV9DQVBfUE9TSVhfQUNMKSQKCkVSUk9SOiBicmFjZXMge30gYXJl IG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzIxMDg6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjA4NjoKKyAgICAgICBpZiAoc2UtPmNvbm4u d2FudCAmIEZVU0VfQ0FQX1BPU0lYX0FDTCkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzIxMDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MjA4NzoKK15JXklvdXRhcmcuZmxhZ3MgfD0gRlVTRV9QT1NJWF9BQ0w7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjExMDogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDg4OgorXklvdXRhcmcubWF4X3JlYWRhaGVhZCA9IHNl LT5jb25uLm1heF9yZWFkYWhlYWQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjExMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDg5 OgorXklvdXRhcmcubWF4X3dyaXRlID0gc2UtPmNvbm4ubWF4X3dyaXRlOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxMTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MjA5MDoKK15JaWYgKHNlLT5jb25uLnByb3RvX21pbm9yID49IDEz KSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjExMzogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDkxOgorXkleSWlmIChzZS0+Y29u bi5tYXhfYmFja2dyb3VuZCA+PSAoMSA8PCAxNikpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVj ZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMjExMzogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDkxOgorICAgICAgICAgICAgICAgaWYgKHNlLT5j b25uLm1heF9iYWNrZ3JvdW5kID49ICgxIDw8IDE2KSkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxMTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MjA5MjoKK15JXkleSXNlLT5jb25uLm1heF9iYWNrZ3JvdW5kID0gKDEgPDwg MTYpIC0gMTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTE1 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIwOTM6CiteSV5JaWYgKHNl LT5jb25uLmNvbmdlc3Rpb25fdGhyZXNob2xkID4gc2UtPmNvbm4ubWF4X2JhY2tncm91bmQpJAoK RVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRl bWVudAojMjExNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMDkzOgor ICAgICAgICAgICAgICAgaWYgKHNlLT5jb25uLmNvbmdlc3Rpb25fdGhyZXNob2xkID4gc2UtPmNv bm4ubWF4X2JhY2tncm91bmQpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyMTE2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIw OTQ6CiteSV5JXklzZS0+Y29ubi5jb25nZXN0aW9uX3RocmVzaG9sZCA9IHNlLT5jb25uLm1heF9i YWNrZ3JvdW5kOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIx MTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjA5NToKK15JXklpZiAo IXNlLT5jb25uLmNvbmdlc3Rpb25fdGhyZXNob2xkKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjExODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyMDk2OgorXkleSV5Jc2UtPmNvbm4uY29uZ2VzdGlvbl90aHJlc2hvbGQgPSQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxMTk6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjA5NzoKK15JXkleSV5Jc2UtPmNvbm4ubWF4X2Jh Y2tncm91bmQgKiAzIC8gNDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyMTIwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIwOTg6Cite SV5JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxMjI6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjEwMDoKK15JXklvdXRhcmcubWF4 X2JhY2tncm91bmQgPSBzZS0+Y29ubi5tYXhfYmFja2dyb3VuZDskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTIzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjIxMDE6CiteSV5Jb3V0YXJnLmNvbmdlc3Rpb25fdGhyZXNob2xkID0gc2Ut PmNvbm4uY29uZ2VzdGlvbl90aHJlc2hvbGQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjEyNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoyMTAyOgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MjEyNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMTAzOgorXklpZiAo c2UtPmNvbm4ucHJvdG9fbWlub3IgPj0gMjMpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNz YXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMjEyNTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMTAzOgorICAgICAgIGlmIChzZS0+Y29ubi5wcm90b19t aW5vciA+PSAyMykKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzIxMjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjEwNDoKK15J XklvdXRhcmcudGltZV9ncmFuID0gc2UtPmNvbm4udGltZV9ncmFuOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxMjg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MjEwNjoKK15JaWYgKHNlLT5kZWJ1ZykgeyQKCldBUk5JTkc6IGxpbmUg b3ZlciA4MCBjaGFyYWN0ZXJzCiMyMTI5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjIxMDc6CisgICAgICAgICAgICAgICBmdXNlX2xvZyhGVVNFX0xPR19ERUJVRywgIiAg IElOSVQ6ICV1LiV1XG4iLCBvdXRhcmcubWFqb3IsIG91dGFyZy5taW5vcik7CgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTI5OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjIxMDc6CiteSV5JZnVzZV9sb2coRlVTRV9MT0dfREVCVUcsICIg ICBJTklUOiAldS4ldVxuIiwgb3V0YXJnLm1ham9yLCBvdXRhcmcubWlub3IpOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxMzA6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MjEwODoKK15JXklmdXNlX2xvZyhGVVNFX0xPR19ERUJVRywg IiAgIGZsYWdzPTB4JTA4eFxuIiwgb3V0YXJnLmZsYWdzKTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTMxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjIxMDk6CiteSV5JZnVzZV9sb2coRlVTRV9MT0dfREVCVUcsICIgICBtYXhfcmVh ZGFoZWFkPTB4JTA4eFxuIiwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyMTMyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIxMTA6Cite SV5JXklvdXRhcmcubWF4X3JlYWRhaGVhZCk7JAoKV0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJh Y3RlcnMKIzIxMzM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjExMToK KyAgICAgICAgICAgICAgIGZ1c2VfbG9nKEZVU0VfTE9HX0RFQlVHLCAiICAgbWF4X3dyaXRlPTB4 JTA4eFxuIiwgb3V0YXJnLm1heF93cml0ZSk7CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyMTMzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjIxMTE6CiteSV5JZnVzZV9sb2coRlVTRV9MT0dfREVCVUcsICIgICBtYXhfd3JpdGU9MHglMDh4 XG4iLCBvdXRhcmcubWF4X3dyaXRlKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyMTM0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIx MTI6CiteSV5JZnVzZV9sb2coRlVTRV9MT0dfREVCVUcsICIgICBtYXhfYmFja2dyb3VuZD0laVxu IiwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTM1OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIxMTM6CiteSV5JXklvdXRhcmcubWF4 X2JhY2tncm91bmQpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzIxMzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjExNDoKK15JXklm dXNlX2xvZyhGVVNFX0xPR19ERUJVRywgIiAgIGNvbmdlc3Rpb25fdGhyZXNob2xkPSVpXG4iLCQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxMzc6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjExNToKK15JXkleSW91dGFyZy5jb25nZXN0 aW9uX3RocmVzaG9sZCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjEzODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMTE2OgorXkle SWZ1c2VfbG9nKEZVU0VfTE9HX0RFQlVHLCAiICAgdGltZV9ncmFuPSV1XG4iLCQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxMzk6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MjExNzoKK15JXkleSW91dGFyZy50aW1lX2dyYW4pOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxNDA6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjExODoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxNDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MjExOToKK15JaWYgKGFyZy0+bWlub3IgPCA1KSQKCkVSUk9SOiBicmFjZXMg e30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzIxNDE6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjExOToKKyAgICAgICBpZiAoYXJn LT5taW5vciA8IDUpClsuLi5dCisgICAgICAgZWxzZSBpZiAoYXJnLT5taW5vciA8IDIzKQpbLi4u XQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE0MjogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMTIwOgorXkleSW91dGFyZ3NpemUgPSBG VVNFX0NPTVBBVF9JTklUX09VVF9TSVpFOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzIxNDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MjEyMToKK15JZWxzZSBpZiAoYXJnLT5taW5vciA8IDIzKSQKCkVSUk9SOiBicmFjZXMge30gYXJl IG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzIxNDM6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjEyMToKKyAgICAgICBlbHNlIGlmIChhcmct Pm1pbm9yIDwgMjMpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyMTQ0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIxMjI6Cite SV5Jb3V0YXJnc2l6ZSA9IEZVU0VfQ09NUEFUXzIyX0lOSVRfT1VUX1NJWkU7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE0NjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMTI0OgorXklzZW5kX3JlcGx5X29rKHJlcSwgJm91dGFyZywg b3V0YXJnc2l6ZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MjE1MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMTI5OgorXklzdHJ1 Y3QgZnVzZV9zZXNzaW9uICpzZSA9IHJlcS0+c2U7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjE1MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoyMTMxOgorXkkodm9pZCkgbm9kZWlkOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzIxNTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MjEzMjoKK15JKHZvaWQpIGluYXJnOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzIxNTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MjEzNDoKK15Jc2UtPmdvdF9kZXN0cm95ID0gMTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyMTU3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjIxMzU6CiteSWlmIChzZS0+b3AuZGVzdHJveSkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBu ZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMyMTU3OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIxMzU6CisgICAgICAgaWYgKHNlLT5vcC5kZXN0 cm95KQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE1 ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMTM2OgorXkleSXNlLT5v cC5kZXN0cm95KHNlLT51c2VyZGF0YSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjE2MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoy MTM4OgorXklzZW5kX3JlcGx5X29rKHJlcSwgTlVMTCwgMCk7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE2NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoyMTQzOgorXklzdHJ1Y3QgZnVzZV9ub3RpZnlfcmVxICpwcmV2ID0gbnJlcS0+ cHJldjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTY2OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIxNDQ6CiteSXN0cnVjdCBmdXNl X25vdGlmeV9yZXEgKm5leHQgPSBucmVxLT5uZXh0OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzIxNjc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MjE0NToKK15JcHJldi0+bmV4dCA9IG5leHQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjE2ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyMTQ2OgorXkluZXh0LT5wcmV2ID0gcHJldjskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTcyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjIxNTA6CiteSV5JXkkgIHN0cnVjdCBmdXNlX25vdGlmeV9yZXEgKm5leHQpJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE3NDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMTUyOgorXklzdHJ1Y3QgZnVzZV9ub3RpZnlf cmVxICpwcmV2ID0gbmV4dC0+cHJldjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyMTc1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIx NTM6CiteSW5yZXEtPm5leHQgPSBuZXh0OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzIxNzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MjE1NDoKK15JbnJlcS0+cHJldiA9IHByZXY7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjE3NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoyMTU1OgorXklwcmV2LT5uZXh0ID0gbnJlcTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyMTc4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjIxNTY6CiteSW5leHQtPnByZXYgPSBucmVxOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzIxODM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MjE2MToKK15JbnJlcS0+bmV4dCA9IG5yZXE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjE4NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyMTYyOgorXklucmVxLT5wcmV2ID0gbnJlcTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTg4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjIxNjY6CiteSV5JXkkgICAgY29uc3Qgdm9pZCAqaW5hcmcsIGNvbnN0IHN0cnVj dCBmdXNlX2J1ZiAqYnVmKSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzIxOTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjE2ODoKK15J c3RydWN0IGZ1c2Vfc2Vzc2lvbiAqc2UgPSByZXEtPnNlOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxOTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MjE2OToKK15Jc3RydWN0IGZ1c2Vfbm90aWZ5X3JlcSAqbnJlcTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTkyOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIxNzA6CiteSXN0cnVjdCBmdXNlX25vdGlmeV9yZXEgKmhl YWQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjE5NDogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMTcyOgorXklwdGhyZWFkX211dGV4 X2xvY2soJnNlLT5sb2NrKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyMTk1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIxNzM6Cite SWhlYWQgPSAmc2UtPm5vdGlmeV9saXN0OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzIxOTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MjE3NDoKK15JZm9yIChucmVxID0gaGVhZC0+bmV4dDsgbnJlcSAhPSBoZWFkOyBucmVxID0gbnJl cS0+bmV4dCkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIx OTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjE3NToKK15JXklpZiAo bnJlcS0+dW5pcXVlID09IHJlcS0+dW5pcXVlKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjE5ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoyMTc2OgorXkleSV5JbGlzdF9kZWxfbnJlcShucmVxKTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMTk5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjIxNzc6CiteSV5JXklicmVhazskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyMjAwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjIxNzg6CiteSV5JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzIyMDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjE3OToK K15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyMDI6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjE4MDoKK15JcHRocmVhZF9tdXRl eF91bmxvY2soJnNlLT5sb2NrKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyMjA0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIxODI6 CiteSWlmIChucmVxICE9IGhlYWQpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZv ciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMjIwNDogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoyMTgyOgorICAgICAgIGlmIChucmVxICE9IGhlYWQpClsuLi5dCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMjA1OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIxODM6CiteSV5JbnJlcS0+cmVwbHkobnJlcSwg cmVxLCBub2RlaWQsIGluYXJnLCBidWYpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzIyMDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MjE4NzoKK15JXkleSSAgIHN0cnVjdCBpb3ZlYyAqaW92LCBpbnQgY291bnQpJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjIxMTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMTg5OgorXklzdHJ1Y3QgZnVzZV9vdXRfaGVhZGVyIG91dDsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMjEzOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIxOTE6CiteSWlmICghc2UtPmdvdF9pbml0 KSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBz dGF0ZW1lbnQKIzIyMTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjE5 MToKKyAgICAgICBpZiAoIXNlLT5nb3RfaW5pdCkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyMTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MjE5MjoKK15JXklyZXR1cm4gLUVOT1RDT05OOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyMTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MjE5NDoKK15Jb3V0LnVuaXF1ZSA9IDA7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjIxNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoyMTk1OgorXklvdXQuZXJyb3IgPSBub3RpZnlfY29kZTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMjE4OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjIxOTY6CiteSWlvdlswXS5pb3ZfYmFzZSA9ICZvdXQ7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjIxOTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMTk3OgorXklpb3ZbMF0uaW92X2xlbiA9IHNpemVv ZihzdHJ1Y3QgZnVzZV9vdXRfaGVhZGVyKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyMjIxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjIxOTk6CiteSXJldHVybiBmdXNlX3NlbmRfbXNnKHNlLCBOVUxMLCBpb3YsIGNvdW50KTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMjI2OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIyMDQ6CiteSWlmIChwaCAhPSBOVUxMKSB7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjIyNzogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMjA1OgorXkleSXN0cnVjdCBmdXNlX25vdGlm eV9wb2xsX3dha2V1cF9vdXQgb3V0YXJnOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzIyMjg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MjIwNjoKK15JXklzdHJ1Y3QgaW92ZWMgaW92WzJdOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzIyMzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MjIwODoKK15JXklvdXRhcmcua2ggPSBwaC0+a2g7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjIzMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoyMjEwOgorXkleSWlvdlsxXS5pb3ZfYmFzZSA9ICZvdXRhcmc7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjIzMzogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMjExOgorXkleSWlvdlsxXS5pb3ZfbGVuID0gc2l6ZW9m KG91dGFyZyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjIz NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMjEzOgorXkleSXJldHVy biBzZW5kX25vdGlmeV9pb3YocGgtPnNlLCBGVVNFX05PVElGWV9QT0xMLCBpb3YsIDIpOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyMzY6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjIxNDoKK15JfSBlbHNlIHskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMjM3OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjIyMTU6CiteSV5JcmV0dXJuIDA7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjIzODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoyMjE2OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjI0MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoy MjIwOgorXkleSV5JXkkgICAgIG9mZl90IG9mZiwgb2ZmX3QgbGVuKSQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyNDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MjIyMjoKK15Jc3RydWN0IGZ1c2Vfbm90aWZ5X2ludmFsX2lub2RlX291 dCBvdXRhcmc7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjI0 NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMjIzOgorXklzdHJ1Y3Qg aW92ZWMgaW92WzJdOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzIyNDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjIyNToKK15JaWYg KCFzZSkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRo aXMgc3RhdGVtZW50CiMyMjQ3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjIyMjU6CisgICAgICAgaWYgKCFzZSkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzIyNDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MjIyNjoKK15JXklyZXR1cm4gLUVJTlZBTDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyMjUwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjIyMjg6CiteSWlmIChzZS0+Y29ubi5wcm90b19tYWpvciA8IDYgfHwgc2UtPmNvbm4ucHJv dG9fbWlub3IgPCAxMikkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBh cm1zIG9mIHRoaXMgc3RhdGVtZW50CiMyMjUwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjIyMjg6CisgICAgICAgaWYgKHNlLT5jb25uLnByb3RvX21ham9yIDwgNiB8fCBz ZS0+Y29ubi5wcm90b19taW5vciA8IDEyKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjI1MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoyMjI5OgorXkleSXJldHVybiAtRU5PU1lTOyQKCkVSUk9SOiB0cmFpbGluZyB3aGl0ZXNw YWNlCiMyMjUyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIyMzA6Cite SSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyNTI6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjIzMDoKK15JJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjI1MzogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoyMjMxOgorXklvdXRhcmcuaW5vID0gaW5vOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyNTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MjIzMjoKK15Jb3V0YXJnLm9mZiA9IG9mZjskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMjU1OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjIyMzM6CiteSW91dGFyZy5sZW4gPSBsZW47JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjI1NzogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMjM1OgorXklpb3ZbMV0uaW92X2Jhc2UgPSAmb3V0YXJnOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyNTg6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjIzNjoKK15JaW92WzFdLmlvdl9sZW4gPSBz aXplb2Yob3V0YXJnKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyMjYwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIyMzg6CiteSXJl dHVybiBzZW5kX25vdGlmeV9pb3Yoc2UsIEZVU0VfTk9USUZZX0lOVkFMX0lOT0RFLCBpb3YsIDIp OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyNjQ6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjI0MjoKK15JXkleSV5JICAgICBjb25z dCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZWxlbikkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyMjY2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjIyNDQ6CiteSXN0cnVjdCBmdXNlX25vdGlmeV9pbnZhbF9lbnRyeV9vdXQgb3V0YXJnOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyNjc6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjI0NToKK15Jc3RydWN0IGlvdmVjIGlvdlsz XTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMjY5OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIyNDc6CiteSWlmICghc2UpJAoKRVJS T1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVu dAojMjI2OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMjQ3OgorICAg ICAgIGlmICghc2UpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyMjcwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIyNDg6Cite SV5JcmV0dXJuIC1FSU5WQUw7JAoKRVJST1I6IHRyYWlsaW5nIHdoaXRlc3BhY2UKIzIyNzE6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjI0OToKK15JJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjI3MTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMjQ5OgorXkkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyMjcyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjIyNTA6CiteSWlmIChzZS0+Y29ubi5wcm90b19tYWpvciA8IDYgfHwgc2UtPmNvbm4ucHJv dG9fbWlub3IgPCAxMikkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBh cm1zIG9mIHRoaXMgc3RhdGVtZW50CiMyMjcyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjIyNTA6CisgICAgICAgaWYgKHNlLT5jb25uLnByb3RvX21ham9yIDwgNiB8fCBz ZS0+Y29ubi5wcm90b19taW5vciA8IDEyKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjI3MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoyMjUxOgorXkleSXJldHVybiAtRU5PU1lTOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzIyNzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MjI1MzoKK15Jb3V0YXJnLnBhcmVudCA9IHBhcmVudDskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMjc2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjIyNTQ6CiteSW91dGFyZy5uYW1lbGVuID0gbmFtZWxlbjskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMjc3OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIyNTU6CiteSW91dGFyZy5wYWRkaW5nID0gMDskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMjc5OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIyNTc6CiteSWlvdlsxXS5pb3ZfYmFzZSA9ICZvdXRh cmc7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjI4MDogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMjU4OgorXklpb3ZbMV0uaW92X2xl biA9IHNpemVvZihvdXRhcmcpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzIyODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjI1OToK K15JaW92WzJdLmlvdl9iYXNlID0gKHZvaWQgKiluYW1lOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyODI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MjI2MDoKK15JaW92WzJdLmlvdl9sZW4gPSBuYW1lbGVuICsgMTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMjg0OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIyNjI6CiteSXJldHVybiBzZW5kX25vdGlmeV9pb3Yoc2Us IEZVU0VfTk9USUZZX0lOVkFMX0VOVFJZLCBpb3YsIDMpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MjI2NjoKK15JXkleSV5JZnVzZV9pbm9fdCBwYXJlbnQsIGZ1c2VfaW5vX3QgY2hp bGQsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjI4OTogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMjY3OgorXkleSV5JXkljb25zdCBj aGFyICpuYW1lLCBzaXplX3QgbmFtZWxlbikkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyMjkxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjIyNjk6CiteSXN0cnVjdCBmdXNlX25vdGlmeV9kZWxldGVfb3V0IG91dGFyZzskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMjkyOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIyNzA6CiteSXN0cnVjdCBpb3ZlYyBpb3ZbM107JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjI5NDogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMjcyOgorXklpZiAoIXNlKSQKCkVSUk9SOiBicmFj ZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzIyOTQ6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjI3MjoKKyAgICAgICBpZiAo IXNlKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjI5 NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMjczOgorXkleSXJldHVy biAtRUlOVkFMOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIy OTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjI3NToKK15JaWYgKHNl LT5jb25uLnByb3RvX21ham9yIDwgNiB8fCBzZS0+Y29ubi5wcm90b19taW5vciA8IDE4KSQKCkVS Uk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1l bnQKIzIyOTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjI3NToKKyAg ICAgICBpZiAoc2UtPmNvbm4ucHJvdG9fbWFqb3IgPCA2IHx8IHNlLT5jb25uLnByb3RvX21pbm9y IDwgMTgpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy Mjk4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIyNzY6CiteSV5JcmV0 dXJuIC1FTk9TWVM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MjMwMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMjc4OgorXklvdXRh cmcucGFyZW50ID0gcGFyZW50OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzIzMDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjI3OToK K15Jb3V0YXJnLmNoaWxkID0gY2hpbGQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjMwMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoy MjgwOgorXklvdXRhcmcubmFtZWxlbiA9IG5hbWVsZW47JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjMwMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyMjgxOgorXklvdXRhcmcucGFkZGluZyA9IDA7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjMwNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoyMjgzOgorXklpb3ZbMV0uaW92X2Jhc2UgPSAmb3V0YXJnOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzMDY6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MjI4NDoKK15JaW92WzFdLmlvdl9sZW4gPSBzaXplb2Yob3V0 YXJnKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMzA3OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIyODU6CiteSWlvdlsyXS5pb3Zf YmFzZSA9ICh2b2lkICopbmFtZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyMzA4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIyODY6 CiteSWlvdlsyXS5pb3ZfbGVuID0gbmFtZWxlbiArIDE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjMxMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyMjg4OgorXklyZXR1cm4gc2VuZF9ub3RpZnlfaW92KHNlLCBGVVNFX05PVElGWV9E RUxFVEUsIGlvdiwgMyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjMxNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMjkyOgorXkle SV5JICAgICAgIG9mZl90IG9mZnNldCwgc3RydWN0IGZ1c2VfYnVmdmVjICpidWZ2LCQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzMTU6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjI5MzoKK15JXkleSSAgICAgICBlbnVtIGZ1c2VfYnVm X2NvcHlfZmxhZ3MgZmxhZ3MpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjMxNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMjk1Ogor XklzdHJ1Y3QgZnVzZV9vdXRfaGVhZGVyIG91dDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyMzE4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjIyOTY6CiteSXN0cnVjdCBmdXNlX25vdGlmeV9zdG9yZV9vdXQgb3V0YXJnOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzMTk6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjI5NzoKK15Jc3RydWN0IGlvdmVjIGlvdlszXTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMzIwOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIyOTg6CiteSXNpemVfdCBzaXplID0gZnVzZV9i dWZfc2l6ZShidWZ2KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyMzIxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIyOTk6CiteSWlu dCByZXM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjMyMzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMzAxOgorXklpZiAoIXNlKSQK CkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0 ZW1lbnQKIzIzMjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjMwMToK KyAgICAgICBpZiAoIXNlKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjMyNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMzAy OgorXkleSXJldHVybiAtRUlOVkFMOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzIzMjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjMw NDoKK15JaWYgKHNlLT5jb25uLnByb3RvX21ham9yIDwgNiB8fCBzZS0+Y29ubi5wcm90b19taW5v ciA8IDE1KSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2Yg dGhpcyBzdGF0ZW1lbnQKIzIzMjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MjMwNDoKKyAgICAgICBpZiAoc2UtPmNvbm4ucHJvdG9fbWFqb3IgPCA2IHx8IHNlLT5jb25u LnByb3RvX21pbm9yIDwgMTUpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyMzI3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIz MDU6CiteSV5JcmV0dXJuIC1FTk9TWVM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjMyOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoy MzA3OgorXklvdXQudW5pcXVlID0gMDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyMzMwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIz MDg6CiteSW91dC5lcnJvciA9IEZVU0VfTk9USUZZX1NUT1JFOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzMzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MjMxMDoKK15Jb3V0YXJnLm5vZGVpZCA9IGlubzskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMzMzOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjIzMTE6CiteSW91dGFyZy5vZmZzZXQgPSBvZmZzZXQ7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjMzNDogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMzEyOgorXklvdXRhcmcuc2l6ZSA9IHNpemU7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjMzNTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMzEzOgorXklvdXRhcmcucGFkZGluZyA9IDA7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjMzNzogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMzE1OgorXklpb3ZbMF0uaW92X2Jhc2UgPSAm b3V0OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzMzg6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjMxNjoKK15JaW92WzBdLmlvdl9s ZW4gPSBzaXplb2Yob3V0KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyMzM5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIzMTc6Cite SWlvdlsxXS5pb3ZfYmFzZSA9ICZvdXRhcmc7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjM0MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoyMzE4OgorXklpb3ZbMV0uaW92X2xlbiA9IHNpemVvZihvdXRhcmcpOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzNDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MjMyMDoKK15JcmVzID0gZnVzZV9zZW5kX2RhdGFfaW92KHNlLCBO VUxMLCBpb3YsIDIsIGJ1ZnYsIGZsYWdzKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyMzQzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjIzMjE6CiteSWlmIChyZXMgPiAwKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBm b3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzIzNDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MjMyMToKKyAgICAgICBpZiAocmVzID4gMCkKWy4uLl0KCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzNDQ6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjMyMjoKK15JXklyZXMgPSAtcmVzOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzNDY6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MjMyNDoKK15JcmV0dXJuIHJlczskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMzUwOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjIzMjg6CiteSXN0cnVjdCBmdXNlX25vdGlmeV9yZXEgbnJlcTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMzUxOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIzMjk6CiteSXZvaWQgKmNvb2tpZTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMzU1OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIzMzM6CiteSV5JXkleSSAgIGZ1c2VfcmVxX3QgcmVx LCBmdXNlX2lub190IGlubywkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyMzU2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIzMzQ6Cite SV5JXkleSSAgIGNvbnN0IHZvaWQgKmluYXJnLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzIzNTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MjMzNToKK15JXkleSV5JICAgY29uc3Qgc3RydWN0IGZ1c2VfYnVmICppYnVmKSQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzNTk6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjMzNzoKK15Jc3RydWN0IGZ1c2Vfc2Vzc2lvbiAqc2Ug PSByZXEtPnNlOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIz NjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjMzODoKK15Jc3RydWN0 IGZ1c2VfcmV0cmlldmVfcmVxICpycmVxID0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyMzYxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjIzMzk6CiteSV5JY29udGFpbmVyX29mKG5yZXEsIHN0cnVjdCBmdXNlX3JldHJpZXZlX3JlcSwg bnJlcSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjM2Mjog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMzQwOgorXkljb25zdCBzdHJ1 Y3QgZnVzZV9ub3RpZnlfcmV0cmlldmVfaW4gKmFyZyA9IGluYXJnOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzNjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MjM0MToKK15Jc3RydWN0IGZ1c2VfYnVmdmVjIGJ1ZnYgPSB7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjM2NDogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMzQyOgorXkleSS5idWZbMF0gPSAqaWJ1ZiwkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMzY1OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIzNDM6CiteSV5JLmNvdW50ID0gMSwkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMzY2OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIzNDQ6CiteSX07JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjM2ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoyMzQ2OgorXklpZiAoIShidWZ2LmJ1ZlswXS5mbGFncyAmIEZVU0VfQlVGX0lT X0ZEKSkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRo aXMgc3RhdGVtZW50CiMyMzY4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjIzNDY6CisgICAgICAgaWYgKCEoYnVmdi5idWZbMF0uZmxhZ3MgJiBGVVNFX0JVRl9JU19GRCkp ClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMzY5OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIzNDc6CiteSV5JYnVmdi5idWZb MF0ubWVtID0gUEFSQU0oYXJnKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyMzcxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIzNDk6 CiteSWJ1ZnYuYnVmWzBdLnNpemUgLT0gc2l6ZW9mKHN0cnVjdCBmdXNlX2luX2hlYWRlcikgKyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzNzI6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjM1MDoKK15JXklzaXplb2Yoc3RydWN0IGZ1 c2Vfbm90aWZ5X3JldHJpZXZlX2luKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyMzc0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIz NTI6CiteSWlmIChidWZ2LmJ1ZlswXS5zaXplIDwgYXJnLT5zaXplKSB7JAoKV0FSTklORzogbGlu ZSBvdmVyIDgwIGNoYXJhY3RlcnMKIzIzNzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MjM1MzoKKyAgICAgICAgICAgICAgIGZ1c2VfbG9nKEZVU0VfTE9HX0VSUiwgImZ1 c2U6IHJldHJpZXZlIHJlcGx5OiBidWZmZXIgc2l6ZSB0b28gc21hbGxcbiIpOwoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjM3NTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMzUzOgorXkleSWZ1c2VfbG9nKEZVU0VfTE9HX0VSUiwgImZ1 c2U6IHJldHJpZXZlIHJlcGx5OiBidWZmZXIgc2l6ZSB0b28gc21hbGxcbiIpOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzNzY6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MjM1NDoKK15JXklmdXNlX3JlcGx5X25vbmUocmVxKTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMzc3OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIzNTU6CiteSV5JZ290byBvdXQ7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjM3ODogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMzU2OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjM3OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyMzU3OgorXklidWZ2LmJ1ZlswXS5zaXplID0gYXJnLT5zaXplOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzODE6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MjM1OToKK15JaWYgKHNlLT5vcC5yZXRyaWV2ZV9yZXBseSkg eyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzODI6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjM2MDoKK15JXklzZS0+b3AucmV0cmll dmVfcmVwbHkocmVxLCBycmVxLT5jb29raWUsIGlubywkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyMzgzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjIzNjE6CiteSV5JXkleSV5JICBhcmctPm9mZnNldCwgJmJ1ZnYpOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzODQ6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MjM2MjoKK15JfSBlbHNlIHskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMzg1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjIzNjM6CiteSV5JZnVzZV9yZXBseV9ub25lKHJlcSk7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjM4NjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMzY0OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjM4ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoyMzY2OgorXklmcmVlKHJyZXEpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzIzODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MjM2NzoKK15JaWYgKChpYnVmLT5mbGFncyAmIEZVU0VfQlVGX0lTX0ZEKSAmJiBidWZ2LmlkeCA8 IGJ1ZnYuY291bnQpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJt cyBvZiB0aGlzIHN0YXRlbWVudAojMjM4OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyMzY3OgorICAgICAgIGlmICgoaWJ1Zi0+ZmxhZ3MgJiBGVVNFX0JVRl9JU19GRCkg JiYgYnVmdi5pZHggPCBidWZ2LmNvdW50KQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjM5MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoyMzY4OgorXkleSWZ1c2VfbGxfY2xlYXJfcGlwZShzZSk7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjM5NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoyMzcyOgorXkleSV5JXkkgIHNpemVfdCBzaXplLCBvZmZfdCBvZmZzZXQs IHZvaWQgKmNvb2tpZSkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyMzk2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIzNzQ6CiteSXN0 cnVjdCBmdXNlX25vdGlmeV9yZXRyaWV2ZV9vdXQgb3V0YXJnOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzOTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MjM3NToKK15Jc3RydWN0IGlvdmVjIGlvdlsyXTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMzk4OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjIzNzY6CiteSXN0cnVjdCBmdXNlX3JldHJpZXZlX3JlcSAqcnJlcTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMzk5OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIzNzc6CiteSWludCBlcnI7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQwMTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMzc5OgorXklpZiAoIXNlKSQKCkVSUk9SOiBicmFjZXMg e30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzI0MDE6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjM3OToKKyAgICAgICBpZiAoIXNl KQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQwMjog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMzgwOgorXkleSXJldHVybiAt RUlOVkFMOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0MDQ6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjM4MjoKK15JaWYgKHNlLT5j b25uLnByb3RvX21ham9yIDwgNiB8fCBzZS0+Y29ubi5wcm90b19taW5vciA8IDE1KSQKCkVSUk9S OiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQK IzI0MDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjM4MjoKKyAgICAg ICBpZiAoc2UtPmNvbm4ucHJvdG9fbWFqb3IgPCA2IHx8IHNlLT5jb25uLnByb3RvX21pbm9yIDwg MTUpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDA1 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIzODM6CiteSV5JcmV0dXJu IC1FTk9TWVM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQw NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMzg1OgorXklycmVxID0g bWFsbG9jKHNpemVvZigqcnJlcSkpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI0MDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjM4 NjoKK15JaWYgKHJyZXEgPT0gTlVMTCkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3Nhcnkg Zm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMyNDA4OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjIzODY6CisgICAgICAgaWYgKHJyZXEgPT0gTlVMTCkKWy4uLl0K CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0MDk6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjM4NzoKK15JXklyZXR1cm4gLUVOT01FTTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDExOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIzODk6CiteSXB0aHJlYWRfbXV0ZXhfbG9j aygmc2UtPmxvY2spOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzI0MTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjM5MDoKK15JcnJl cS0+Y29va2llID0gY29va2llOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI0MTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjM5MToK K15JcnJlcS0+bnJlcS51bmlxdWUgPSBzZS0+bm90aWZ5X2N0cisrOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0MTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MjM5MjoKK15JcnJlcS0+bnJlcS5yZXBseSA9IGZ1c2VfbGxfcmV0cmll dmVfcmVwbHk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQx NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMzkzOgorXklsaXN0X2Fk ZF9ucmVxKCZycmVxLT5ucmVxLCAmc2UtPm5vdGlmeV9saXN0KTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDE2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjIzOTQ6CiteSXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZzZS0+bG9jayk7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQxODogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyMzk2OgorXklvdXRhcmcubm90aWZ5X3VuaXF1 ZSA9IHJyZXEtPm5yZXEudW5pcXVlOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI0MTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjM5 NzoKK15Jb3V0YXJnLm5vZGVpZCA9IGlubzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyNDIwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjIzOTg6CiteSW91dGFyZy5vZmZzZXQgPSBvZmZzZXQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjQyMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyMzk5OgorXklvdXRhcmcuc2l6ZSA9IHNpemU7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQyMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoyNDAwOgorXklvdXRhcmcucGFkZGluZyA9IDA7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQyNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoyNDAyOgorXklpb3ZbMV0uaW92X2Jhc2UgPSAmb3V0YXJnOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0MjU6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjQwMzoKK15JaW92WzFdLmlvdl9sZW4gPSBzaXplb2Yo b3V0YXJnKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDI3 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI0MDU6CiteSWVyciA9IHNl bmRfbm90aWZ5X2lvdihzZSwgRlVTRV9OT1RJRllfUkVUUklFVkUsIGlvdiwgMik7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQyODogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNDA2OgorXklpZiAoZXJyKSB7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQyOTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoyNDA3OgorXkleSXB0aHJlYWRfbXV0ZXhfbG9jaygmc2UtPmxvY2sp OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0MzA6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjQwODoKK15JXklsaXN0X2RlbF9ucmVx KCZycmVxLT5ucmVxKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyNDMxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI0MDk6CiteSV5J cHRocmVhZF9tdXRleF91bmxvY2soJnNlLT5sb2NrKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyNDMyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjI0MTA6CiteSV5JZnJlZShycmVxKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyNDMzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjI0MTE6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyNDM1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI0MTM6CiteSXJl dHVybiBlcnI7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQ0 MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNDE4OgorXklyZXR1cm4g cmVxLT5zZS0+dXNlcmRhdGE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjQ0NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNDIzOgor XklyZXR1cm4gJnJlcS0+Y3R4OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI0NDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjQyNzoK K15JXkleSSAgICAgdm9pZCAqZGF0YSkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyNDUxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI0 Mjk6CiteSXB0aHJlYWRfbXV0ZXhfbG9jaygmcmVxLT5sb2NrKTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDUyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjI0MzA6CiteSXB0aHJlYWRfbXV0ZXhfbG9jaygmcmVxLT5zZS0+bG9jayk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQ1MzogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNDMxOgorXklyZXEtPnUubmkuZnVuYyA9 IGZ1bmM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQ1NDog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNDMyOgorXklyZXEtPnUubmku ZGF0YSA9IGRhdGE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MjQ1NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNDMzOgorXklwdGhy ZWFkX211dGV4X3VubG9jaygmcmVxLT5zZS0+bG9jayk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjQ1NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyNDM0OgorXklpZiAocmVxLT5pbnRlcnJ1cHRlZCAmJiBmdW5jKSQKCkVSUk9SOiBi cmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzI0 NTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjQzNDoKKyAgICAgICBp ZiAocmVxLT5pbnRlcnJ1cHRlZCAmJiBmdW5jKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjQ1NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyNDM1OgorXkleSWZ1bmMocmVxLCBkYXRhKTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDU4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjI0MzY6CiteSXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZyZXEtPmxvY2spOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0NjM6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjQ0MToKK15JaW50IGludGVycnVwdGVkOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0NjU6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjQ0MzoKK15JcHRocmVhZF9tdXRleF9sb2NrKCZy ZXEtPnNlLT5sb2NrKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyNDY2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI0NDQ6CiteSWlu dGVycnVwdGVkID0gcmVxLT5pbnRlcnJ1cHRlZDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyNDY3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjI0NDU6CiteSXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZyZXEtPnNlLT5sb2NrKTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDY5OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI0NDc6CiteSXJldHVybiBpbnRlcnJ1cHRlZDskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDczOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI0NTE6CiteSXZvaWQgKCpmdW5jKShmdXNlX3Jl cV90LCBmdXNlX2lub190LCBjb25zdCB2b2lkICopOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzI0NzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MjQ1MjoKK15JY29uc3QgY2hhciAqbmFtZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyNDc2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjI0NTQ6CiteSVtGVVNFX0xPT0tVUF1eSSAgID0geyBkb19sb29rdXAsICAgICAgIkxP T0tVUCJeSSAgICAgfSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyNDc3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI0NTU6CiteSVtG VVNFX0ZPUkdFVF1eSSAgID0geyBkb19mb3JnZXQsICAgICAgIkZPUkdFVCJeSSAgICAgfSwkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDc4OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI0NTY6CiteSVtGVVNFX0dFVEFUVFJdXkkgICA9 IHsgZG9fZ2V0YXR0ciwgICAgICJHRVRBVFRSIiAgICAgfSwkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDc5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjI0NTc6CiteSVtGVVNFX1NFVEFUVFJdXkkgICA9IHsgZG9fc2V0YXR0ciwgICAg ICJTRVRBVFRSIiAgICAgfSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyNDgwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI0NTg6Cite SVtGVVNFX1JFQURMSU5LXV5JICAgPSB7IGRvX3JlYWRsaW5rLCAgICAiUkVBRExJTksiICAgIH0s JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQ4MTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNDU5OgorXklbRlVTRV9TWU1MSU5LXV5J ICAgPSB7IGRvX3N5bWxpbmssICAgICAiU1lNTElOSyIgICAgIH0sJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQ4MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoyNDYwOgorXklbRlVTRV9NS05PRF1eSSAgID0geyBkb19ta25vZCwgICAg ICAgIk1LTk9EIl5JICAgICB9LCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI0ODM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjQ2MToK K15JW0ZVU0VfTUtESVJdXkkgICA9IHsgZG9fbWtkaXIsICAgICAgICJNS0RJUiJeSSAgICAgfSwk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDg0OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI0NjI6CiteSVtGVVNFX1VOTElOS11eSSAg ID0geyBkb191bmxpbmssICAgICAgIlVOTElOSyJeSSAgICAgfSwkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDg1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjI0NjM6CiteSVtGVVNFX1JNRElSXV5JICAgPSB7IGRvX3JtZGlyLCAgICAg ICAiUk1ESVIiXkkgICAgIH0sJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjQ4NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNDY0Ogor XklbRlVTRV9SRU5BTUVdXkkgICA9IHsgZG9fcmVuYW1lLCAgICAgICJSRU5BTUUiXkkgICAgIH0s JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQ4NzogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNDY1OgorXklbRlVTRV9MSU5LXV5JICAg PSB7IGRvX2xpbmssXkkgICAgICAgIkxJTksiXkkgICAgIH0sJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQ4ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoyNDY2OgorXklbRlVTRV9PUEVOXV5JICAgPSB7IGRvX29wZW4sXkkgICAgICAg Ik9QRU4iXkkgICAgIH0sJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjQ4OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNDY3OgorXklb RlVTRV9SRUFEXV5JICAgPSB7IGRvX3JlYWQsXkkgICAgICAgIlJFQUQiXkkgICAgIH0sJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQ5MDogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNDY4OgorXklbRlVTRV9XUklURV1eSSAgID0geyBk b193cml0ZSwgICAgICAgIldSSVRFIl5JICAgICB9LCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzI0OTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MjQ2OToKK15JW0ZVU0VfU1RBVEZTXV5JICAgPSB7IGRvX3N0YXRmcywgICAgICAiU1RB VEZTIl5JICAgICB9LCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzI0OTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjQ3MDoKK15JW0ZV U0VfUkVMRUFTRV1eSSAgID0geyBkb19yZWxlYXNlLCAgICAgIlJFTEVBU0UiICAgICB9LCQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0OTM6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjQ3MToKK15JW0ZVU0VfRlNZTkNdXkkgICA9IHsg ZG9fZnN5bmMsICAgICAgICJGU1lOQyJeSSAgICAgfSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyNDk0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjI0NzI6CiteSVtGVVNFX1NFVFhBVFRSXV5JICAgPSB7IGRvX3NldHhhdHRyLCAgICAi U0VUWEFUVFIiICAgIH0sJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjQ5NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNDczOgorXklb RlVTRV9HRVRYQVRUUl1eSSAgID0geyBkb19nZXR4YXR0ciwgICAgIkdFVFhBVFRSIiAgICB9LCQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0OTY6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjQ3NDoKK15JW0ZVU0VfTElTVFhBVFRSXSAg ID0geyBkb19saXN0eGF0dHIsICAgIkxJU1RYQVRUUiIgICB9LCQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0OTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MjQ3NToKK15JW0ZVU0VfUkVNT1ZFWEFUVFJdID0geyBkb19yZW1vdmV4YXR0 ciwgIlJFTU9WRVhBVFRSIiB9LCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI0OTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjQ3NjoK K15JW0ZVU0VfRkxVU0hdXkkgICA9IHsgZG9fZmx1c2gsICAgICAgICJGTFVTSCJeSSAgICAgfSwk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNDk5OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI0Nzc6CiteSVtGVVNFX0lOSVRdXkkgICA9 IHsgZG9faW5pdCxeSSAgICAgICAiSU5JVCJeSSAgICAgfSwkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTAwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjI0Nzg6CiteSVtGVVNFX09QRU5ESVJdXkkgICA9IHsgZG9fb3BlbmRpciwgICAg ICJPUEVORElSIiAgICAgfSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyNTAxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI0Nzk6Cite SVtGVVNFX1JFQURESVJdXkkgICA9IHsgZG9fcmVhZGRpciwgICAgICJSRUFERElSIiAgICAgfSwk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTAyOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI0ODA6CiteSVtGVVNFX1JFTEVBU0VESVJd ICA9IHsgZG9fcmVsZWFzZWRpciwgICJSRUxFQVNFRElSIiAgfSwkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTAzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjI0ODE6CiteSVtGVVNFX0ZTWU5DRElSXV5JICAgPSB7IGRvX2ZzeW5jZGly LCAgICAiRlNZTkNESVIiICAgIH0sJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjUwNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNDgy OgorXklbRlVTRV9HRVRMS11eSSAgID0geyBkb19nZXRsaywgICAgICAgIkdFVExLIl5JICAgICB9 LCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1MDU6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjQ4MzoKK15JW0ZVU0VfU0VUTEtdXkkg ICA9IHsgZG9fc2V0bGssICAgICAgICJTRVRMSyJeSSAgICAgfSwkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTA2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjI0ODQ6CiteSVtGVVNFX1NFVExLV11eSSAgID0geyBkb19zZXRsa3csICAg ICAgIlNFVExLVyJeSSAgICAgfSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyNTA3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI0ODU6 CiteSVtGVVNFX0FDQ0VTU11eSSAgID0geyBkb19hY2Nlc3MsICAgICAgIkFDQ0VTUyJeSSAgICAg fSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTA4OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI0ODY6CiteSVtGVVNFX0NSRUFURV1e SSAgID0geyBkb19jcmVhdGUsICAgICAgIkNSRUFURSJeSSAgICAgfSwkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTA5OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjI0ODc6CiteSVtGVVNFX0lOVEVSUlVQVF0gICA9IHsgZG9faW50ZXJy dXB0LCAgICJJTlRFUlJVUFQiICAgfSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyNTEwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI0 ODg6CiteSVtGVVNFX0JNQVBdXkkgICA9IHsgZG9fYm1hcCxeSSAgICAgICAiQk1BUCJeSSAgICAg fSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTExOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI0ODk6CiteSVtGVVNFX0lPQ1RMXV5J ICAgPSB7IGRvX2lvY3RsLCAgICAgICAiSU9DVEwiXkkgICAgIH0sJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjUxMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoyNDkwOgorXklbRlVTRV9QT0xMXV5JICAgPSB7IGRvX3BvbGwsICAgICAg ICAiUE9MTCJeSSAgICAgfSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyNTEzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI0OTE6Cite SVtGVVNFX0ZBTExPQ0FURV0gICA9IHsgZG9fZmFsbG9jYXRlLCAgICJGQUxMT0NBVEUiICAgfSwk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTE0OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI0OTI6CiteSVtGVVNFX0RFU1RST1ldXkkg ICA9IHsgZG9fZGVzdHJveSwgICAgICJERVNUUk9ZIiAgICAgfSwkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTE1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjI0OTM6CiteSVtGVVNFX05PVElGWV9SRVBMWV0gPSB7ICh2b2lkICopIDEs ICAgICJOT1RJRllfUkVQTFkiIH0sJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjUxNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNDk0 OgorXklbRlVTRV9CQVRDSF9GT1JHRVRdID0geyBkb19iYXRjaF9mb3JnZXQsICJCQVRDSF9GT1JH RVQiIH0sJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjUxNzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNDk1OgorXklbRlVTRV9SRUFE RElSUExVU10gPSB7IGRvX3JlYWRkaXJwbHVzLF5JIlJFQURESVJQTFVTIn0sJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjUxODogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNDk2OgorXklbRlVTRV9SRU5BTUUyXSAgICAgPSB7IGRvX3Jl bmFtZTIsICAgICAgIlJFTkFNRTIiICAgIH0sJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjUxOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoyNDk3OgorXklbRlVTRV9DT1BZX0ZJTEVfUkFOR0VdID0geyBkb19jb3B5X2ZpbGVfcmFuZ2Us ICJDT1BZX0ZJTEVfUkFOR0UiIH0sJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjUyMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNDk4 OgorXklbRlVTRV9MU0VFS11eSSAgID0geyBkb19sc2VlaywgICAgICAgIkxTRUVLIl5JICAgICB9 LCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1MjE6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjQ5OToKK15JW0NVU0VfSU5JVF1eSSAg ID0geyBjdXNlX2xvd2xldmVsX2luaXQsICJDVVNFX0lOSVQiICAgfSwkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTI4OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjI1MDY6CiteSWlmIChvcGNvZGUgPj0gRlVTRV9NQVhPUCB8fCAhZnVz ZV9sbF9vcHNbb3Bjb2RlXS5uYW1lKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBm b3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzI1Mjg6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MjUwNjoKKyAgICAgICBpZiAob3Bjb2RlID49IEZVU0VfTUFYT1Ag fHwgIWZ1c2VfbGxfb3BzW29wY29kZV0ubmFtZSkKWy4uLl0KKyAgICAgICBlbHNlClsuLi5dCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTI5OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI1MDc6CiteSV5JcmV0dXJuICI/Pz8iOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1MzA6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjUwODoKK15JZWxzZSQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1MzE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MjUwOToKK15JXklyZXR1cm4gZnVzZV9sbF9vcHNbb3Bjb2RlXS5uYW1l OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1MzU6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjUxMzoKK15JXkleSV5JICBzdHJ1Y3Qg ZnVzZV9idWZ2ZWMgKnNyYykkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyNTM3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI1MTU6Cite SXNzaXplX3QgcmVzID0gZnVzZV9idWZfY29weShkc3QsIHNyYywgMCk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjUzODogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoyNTE2OgorXklpZiAocmVzIDwgMCkgeyQKCldBUk5JTkc6IGxpbmUg b3ZlciA4MCBjaGFyYWN0ZXJzCiMyNTM5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjI1MTc6CisgICAgICAgICAgICAgICBmdXNlX2xvZyhGVVNFX0xPR19FUlIsICJmdXNl OiBjb3B5IGZyb20gcGlwZTogJXNcbiIsIHN0cmVycm9yKC1yZXMpKTsKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1Mzk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MjUxNzoKK15JXklmdXNlX2xvZyhGVVNFX0xPR19FUlIsICJmdXNlOiBj b3B5IGZyb20gcGlwZTogJXNcbiIsIHN0cmVycm9yKC1yZXMpKTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTQwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjI1MTg6CiteSV5JcmV0dXJuIHJlczskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTQxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjI1MTk6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyNTQyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI1MjA6 CiteSWlmICgoc2l6ZV90KXJlcyA8IGZ1c2VfYnVmX3NpemUoZHN0KSkgeyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1NDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MjUyMToKK15JXklmdXNlX2xvZyhGVVNFX0xPR19FUlIsICJmdXNl OiBjb3B5IGZyb20gcGlwZTogc2hvcnQgcmVhZFxuIik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjU0NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyNTIyOgorXkleSXJldHVybiAtMTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyNTQ1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjI1MjM6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyNTQ2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI1MjQ6CiteSXJl dHVybiAwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1NTA6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjUyODoKK15JXkleSSAgICAg IGNvbnN0IHN0cnVjdCBmdXNlX2J1ZiAqYnVmKSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI1NTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MjUzMDoKK15JZnVzZV9zZXNzaW9uX3Byb2Nlc3NfYnVmX2ludChzZSwgYnVmLCBOVUxMKTsk CgpXQVJOSU5HOiBsaW5lIG92ZXIgODAgY2hhcmFjdGVycwojMjU1NjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNTM0OgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3Qgc3RydWN0IGZ1c2VfYnVmICpidWYsIHN0cnVjdCBmdXNlX2NoYW4gKmNoKQoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjU1NjogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNTM0OgorXkleSV5JXkkgIGNvbnN0IHN0cnVj dCBmdXNlX2J1ZiAqYnVmLCBzdHJ1Y3QgZnVzZV9jaGFuICpjaCkkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTU4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjI1MzY6CiteSWNvbnN0IHNpemVfdCB3cml0ZV9oZWFkZXJfc2l6ZSA9IHNp emVvZihzdHJ1Y3QgZnVzZV9pbl9oZWFkZXIpICskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyNTU5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjI1Mzc6CiteSV5Jc2l6ZW9mKHN0cnVjdCBmdXNlX3dyaXRlX2luKTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTYwOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjI1Mzg6CiteSXN0cnVjdCBmdXNlX2J1ZnZlYyBidWZ2ID0geyAu YnVmWzBdID0gKmJ1ZiwgLmNvdW50ID0gMSB9OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI1NjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MjUzOToKK15Jc3RydWN0IGZ1c2VfYnVmdmVjIHRtcGJ1ZiA9IEZVU0VfQlVGVkVDX0lOSVQo d3JpdGVfaGVhZGVyX3NpemUpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI1NjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjU0MDoK K15Jc3RydWN0IGZ1c2VfaW5faGVhZGVyICppbjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyNTYzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjI1NDE6CiteSWNvbnN0IHZvaWQgKmluYXJnOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzI1NjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MjU0MjoKK15Jc3RydWN0IGZ1c2VfcmVxICpyZXE7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjU2NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoyNTQzOgorXkl2b2lkICptYnVmID0gTlVMTDskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTY2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjI1NDQ6CiteSWludCBlcnI7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjU2NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoyNTQ1OgorXklpbnQgcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI1Njk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjU0 NzoKK15JaWYgKGJ1Zi0+ZmxhZ3MgJiBGVVNFX0JVRl9JU19GRCkgeyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1NzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MjU0ODoKK15JXklpZiAoYnVmLT5zaXplIDwgdG1wYnVmLmJ1ZlswXS5z aXplKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhp cyBzdGF0ZW1lbnQKIzI1NzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MjU0ODoKKyAgICAgICAgICAgICAgIGlmIChidWYtPnNpemUgPCB0bXBidWYuYnVmWzBdLnNpemUp ClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTcxOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI1NDk6CiteSV5JXkl0bXBidWYu YnVmWzBdLnNpemUgPSBidWYtPnNpemU7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjU3MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoy NTUxOgorXkleSW1idWYgPSBtYWxsb2ModG1wYnVmLmJ1ZlswXS5zaXplKTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTc0OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjI1NTI6CiteSV5JaWYgKG1idWYgPT0gTlVMTCkgeyQKCldBUk5J Tkc6IGxpbmUgb3ZlciA4MCBjaGFyYWN0ZXJzCiMyNTc1OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjI1NTM6CisgICAgICAgICAgICAgICAgICAgICAgIGZ1c2VfbG9nKEZV U0VfTE9HX0VSUiwgImZ1c2U6IGZhaWxlZCB0byBhbGxvY2F0ZSBoZWFkZXJcbiIpOwoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjU3NTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNTUzOgorXkleSV5JZnVzZV9sb2coRlVTRV9MT0dfRVJS LCAiZnVzZTogZmFpbGVkIHRvIGFsbG9jYXRlIGhlYWRlclxuIik7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjU3NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoyNTU0OgorXkleSV5JZ290byBjbGVhcl9waXBlOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1Nzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MjU1NToKK15JXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjU3ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoyNTU2OgorXkleSXRtcGJ1Zi5idWZbMF0ubWVtID0gbWJ1ZjskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTgwOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjI1NTg6CiteSV5JcmVzID0gZnVzZV9sbF9jb3B5X2Zyb21fcGlwZSgm dG1wYnVmLCAmYnVmdik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjU4MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNTU5OgorXkle SWlmIChyZXMgPCAwKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFy bXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzI1ODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MjU1OToKKyAgICAgICAgICAgICAgIGlmIChyZXMgPCAwKQpbLi4uXQoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjU4MjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNTYwOgorXkleSV5JZ290byBjbGVhcl9waXBlOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1ODQ6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjU2MjoKK15JXklpbiA9IG1idWY7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjU4NTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNTYzOgorXkl9IGVsc2UgeyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1ODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MjU2NDoKK15JXklpbiA9IGJ1Zi0+bWVtOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1ODc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MjU2NToKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI1ODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MjU2NzoKK15JaWYgKHNlLT5kZWJ1ZykgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI1OTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MjU2ODoKK15JXklmdXNlX2xvZyhGVVNFX0xPR19ERUJVRywkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTkxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjI1Njk6CiteSV5JXkkidW5pcXVlOiAlbGx1LCBvcGNvZGU6ICVzICglaSksIG5v ZGVpZDogJWxsdSwgaW5zaXplOiAlenUsIHBpZDogJXVcbiIsJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjU5MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoyNTcwOgorXkleSV5JKHVuc2lnbmVkIGxvbmcgbG9uZykgaW4tPnVuaXF1ZSwk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTkzOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI1NzE6CiteSV5JXklvcG5hbWUoKGVudW0g ZnVzZV9vcGNvZGUpIGluLT5vcGNvZGUpLCBpbi0+b3Bjb2RlLCQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI1OTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MjU3MjoKK15JXkleSSh1bnNpZ25lZCBsb25nIGxvbmcpIGluLT5ub2RlaWQs IGJ1Zi0+c2l6ZSwgaW4tPnBpZCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjU5NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNTcz OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjU5Nzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNTc1OgorXklyZXEgPSBmdXNl X2xsX2FsbG9jX3JlcShzZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjU5ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNTc2Ogor XklpZiAocmVxID09IE5VTEwpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyNTk5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI1Nzc6 CiteSV5Jc3RydWN0IGZ1c2Vfb3V0X2hlYWRlciBvdXQgPSB7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjYwMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoyNTc4OgorXkleSV5JLnVuaXF1ZSA9IGluLT51bmlxdWUsJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjYwMTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNTc5OgorXkleSV5JLmVycm9yID0gLUVOT01FTSwkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjAyOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI1ODA6CiteSV5JfTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjAzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjI1ODE6CiteSV5Jc3RydWN0IGlvdmVjIGlvdiA9IHskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjA0OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjI1ODI6CiteSV5JXkkuaW92X2Jhc2UgPSAmb3V0LCQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2MDU6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjU4MzoKK15JXkleSS5pb3ZfbGVuID0gc2l6ZW9mKHN0 cnVjdCBmdXNlX291dF9oZWFkZXIpLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI2MDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjU4 NDoKK15JXkl9OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2 MDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjU4NjoKK15JXklmdXNl X3NlbmRfbXNnKHNlLCBjaCwgJmlvdiwgMSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjYwOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoyNTg3OgorXkleSWdvdG8gY2xlYXJfcGlwZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyNjEwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjI1ODg6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyNjEyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI1OTA6CiteSXJl cS0+dW5pcXVlID0gaW4tPnVuaXF1ZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyNjEzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI1 OTE6CiteSXJlcS0+Y3R4LnVpZCA9IGluLT51aWQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjYxNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoyNTkyOgorXklyZXEtPmN0eC5naWQgPSBpbi0+Z2lkOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2MTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MjU5MzoKK15JcmVxLT5jdHgucGlkID0gaW4tPnBpZDskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjE2OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjI1OTQ6CiteSXJlcS0+Y2ggPSBjaCA/IGZ1c2VfY2hhbl9nZXQo Y2gpIDogTlVMTDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy NjE4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI1OTY6CiteSWVyciA9 IEVJTzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjE5OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI1OTc6CiteSWlmICghc2UtPmdv dF9pbml0KSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjYy MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNTk4OgorXkleSWVudW0g ZnVzZV9vcGNvZGUgZXhwZWN0ZWQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjYyMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjAw OgorXkleSWV4cGVjdGVkID0gc2UtPmN1c2VfZGF0YSA/IENVU0VfSU5JVCA6IEZVU0VfSU5JVDsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjIzOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI2MDE6CiteSV5JaWYgKGluLT5vcGNvZGUg IT0gZXhwZWN0ZWQpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJt cyBvZiB0aGlzIHN0YXRlbWVudAojMjYyMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyNjAxOgorICAgICAgICAgICAgICAgaWYgKGluLT5vcGNvZGUgIT0gZXhwZWN0ZWQp ClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjI0OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI2MDI6CiteSV5JXklnb3RvIHJl cGx5X2VycjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjI1 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI2MDM6CiteSX0gZWxzZSBp ZiAoaW4tPm9wY29kZSA9PSBGVVNFX0lOSVQgfHwgaW4tPm9wY29kZSA9PSBDVVNFX0lOSVQpJAoK RVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRl bWVudAojMjYyNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjAzOgor ICAgICAgIH0gZWxzZSBpZiAoaW4tPm9wY29kZSA9PSBGVVNFX0lOSVQgfHwgaW4tPm9wY29kZSA9 PSBDVVNFX0lOSVQpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyNjI2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI2MDQ6Cite SV5JZ290byByZXBseV9lcnI7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjYyODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjA2Ogor XkllcnIgPSBFQUNDRVM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjYyOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjA3OgorXkkv KiBJbXBsZW1lbnQgLW8gYWxsb3dfcm9vdCAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI2MzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MjYwODoKK15JaWYgKHNlLT5kZW55X290aGVycyAmJiBpbi0+dWlkICE9IHNlLT5vd25lciAm JiBpbi0+dWlkICE9IDAgJiYkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyNjMxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI2MDk6Cite SV5JIGluLT5vcGNvZGUgIT0gRlVTRV9JTklUICYmIGluLT5vcGNvZGUgIT0gRlVTRV9SRUFEICYm JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjYzMjogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjEwOgorXkleSSBpbi0+b3Bjb2RlICE9 IEZVU0VfV1JJVEUgJiYgaW4tPm9wY29kZSAhPSBGVVNFX0ZTWU5DICYmJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjYzMzogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoyNjExOgorXkleSSBpbi0+b3Bjb2RlICE9IEZVU0VfUkVMRUFTRSAm JiBpbi0+b3Bjb2RlICE9IEZVU0VfUkVBRERJUiAmJiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzI2MzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MjYxMjoKK15JXkkgaW4tPm9wY29kZSAhPSBGVVNFX0ZTWU5DRElSICYmIGluLT5vcGNv ZGUgIT0gRlVTRV9SRUxFQVNFRElSICYmJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjYzNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoy NjEzOgorXkleSSBpbi0+b3Bjb2RlICE9IEZVU0VfTk9USUZZX1JFUExZICYmJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjYzNjogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjE0OgorXkleSSBpbi0+b3Bjb2RlICE9IEZVU0VfUkVBRERJ UlBMVVMpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjYzNzog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjE1OgorXkleSWdvdG8gcmVw bHlfZXJyOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2Mzk6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjYxNzoKK15JZXJyID0gRU5P U1lTOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2NDA6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjYxODoKK15JaWYgKGluLT5vcGNv ZGUgPj0gRlVTRV9NQVhPUCB8fCAhZnVzZV9sbF9vcHNbaW4tPm9wY29kZV0uZnVuYykkCgpFUlJP UjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50 CiMyNjQwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI2MTg6CisgICAg ICAgaWYgKGluLT5vcGNvZGUgPj0gRlVTRV9NQVhPUCB8fCAhZnVzZV9sbF9vcHNbaW4tPm9wY29k ZV0uZnVuYykKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzI2NDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjYxOToKK15JXkln b3RvIHJlcGx5X2VycjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyNjQyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI2MjA6CiteSWlm IChpbi0+b3Bjb2RlICE9IEZVU0VfSU5URVJSVVBUKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjY0MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyNjIxOgorXkleSXN0cnVjdCBmdXNlX3JlcSAqaW50cjskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjQ0OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjI2MjI6CiteSV5JcHRocmVhZF9tdXRleF9sb2NrKCZzZS0+bG9jayk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY0NTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjIzOgorXkleSWludHIgPSBjaGVja19p bnRlcnJ1cHQoc2UsIHJlcSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjY0NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjI0Ogor XkleSWxpc3RfYWRkX3JlcShyZXEsICZzZS0+bGlzdCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjY0NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyNjI1OgorXkleSXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZzZS0+bG9jayk7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY0ODogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjI2OgorXkleSWlmIChpbnRyKSQKCkVSUk9SOiBi cmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzI2 NDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjYyNjoKKyAgICAgICAg ICAgICAgIGlmIChpbnRyKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjY0OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjI3 OgorXkleSV5JZnVzZV9yZXBseV9lcnIoaW50ciwgRUFHQUlOKTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjUwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjI2Mjg6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyNjUyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI2 MzA6CiteSWlmICgoYnVmLT5mbGFncyAmIEZVU0VfQlVGX0lTX0ZEKSAmJiB3cml0ZV9oZWFkZXJf c2l6ZSA8IGJ1Zi0+c2l6ZSAmJiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI2NTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjYzMToK K15JICAgIChpbi0+b3Bjb2RlICE9IEZVU0VfV1JJVEUgfHwgIXNlLT5vcC53cml0ZV9idWYpICYm JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY1NDogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjMyOgorXkkgICAgaW4tPm9wY29kZSAh PSBGVVNFX05PVElGWV9SRVBMWSkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI2NTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjYz MzoKK15JXkl2b2lkICpuZXdtYnVmOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI2NTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjYz NToKK15JXkllcnIgPSBFTk9NRU07JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjY1ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjM2 OgorXkleSW5ld21idWYgPSByZWFsbG9jKG1idWYsIGJ1Zi0+c2l6ZSk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY1OTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoyNjM3OgorXkleSWlmIChuZXdtYnVmID09IE5VTEwpJAoKRVJST1I6 IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAoj MjY1OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjM3OgorICAgICAg ICAgICAgICAgaWYgKG5ld21idWYgPT0gTlVMTCkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2NjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MjYzODoKK15JXkleSWdvdG8gcmVwbHlfZXJyOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2NjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MjYzOToKK15JXkltYnVmID0gbmV3bWJ1ZjskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjYzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjI2NDE6CiteSV5JdG1wYnVmID0gRlVTRV9CVUZWRUNfSU5JVChidWYtPnNp emUgLSB3cml0ZV9oZWFkZXJfc2l6ZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjY2NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoy NjQyOgorXkleSXRtcGJ1Zi5idWZbMF0ubWVtID0gKGNoYXIgKiltYnVmICsgd3JpdGVfaGVhZGVy X3NpemU7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY2Njog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjQ0OgorXkleSXJlcyA9IGZ1 c2VfbGxfY29weV9mcm9tX3BpcGUoJnRtcGJ1ZiwgJmJ1ZnYpOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2Njc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MjY0NToKK15JXkllcnIgPSAtcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2Njg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MjY0NjoKK15JXklpZiAocmVzIDwgMCkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBu ZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMyNjY4OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI2NDY6CisgICAgICAgICAgICAgICBpZiAocmVz IDwgMCkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2 Njk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjY0NzoKK15JXkleSWdv dG8gcmVwbHlfZXJyOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzI2NzE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjY0OToKK15JXklp biA9IG1idWY7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY3 MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjUwOgorXkl9JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY3NDogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjUyOgorXklpbmFyZyA9ICh2b2lkICopICZpblsx XTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjc1OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI2NTM6CiteSWlmIChpbi0+b3Bjb2Rl ID09IEZVU0VfV1JJVEUgJiYgc2UtPm9wLndyaXRlX2J1ZikkCgpFUlJPUjogYnJhY2VzIHt9IGFy ZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMyNjc1OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI2NTM6CisgICAgICAgaWYgKGluLT5vcGNv ZGUgPT0gRlVTRV9XUklURSAmJiBzZS0+b3Aud3JpdGVfYnVmKQpbLi4uXQorICAgICAgIGVsc2Ug aWYgKGluLT5vcGNvZGUgPT0gRlVTRV9OT1RJRllfUkVQTFkpClsuLi5dCisgICAgICAgZWxzZQpb Li4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY3NjogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjU0OgorXkleSWRvX3dyaXRlX2J1 ZihyZXEsIGluLT5ub2RlaWQsIGluYXJnLCBidWYpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzI2Nzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MjY1NToKK15JZWxzZSBpZiAoaW4tPm9wY29kZSA9PSBGVVNFX05PVElGWV9SRVBMWSkk CgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3Rh dGVtZW50CiMyNjc3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI2NTU6 CisgICAgICAgZWxzZSBpZiAoaW4tPm9wY29kZSA9PSBGVVNFX05PVElGWV9SRVBMWSkKWy4uLl0K KyAgICAgICBlbHNlClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyNjc4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI2NTY6Cite SV5JZG9fbm90aWZ5X3JlcGx5KHJlcSwgaW4tPm5vZGVpZCwgaW5hcmcsIGJ1Zik7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY3OTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjU3OgorXkllbHNlJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY4MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoyNjU4OgorXkleSWZ1c2VfbGxfb3BzW2luLT5vcGNvZGVdLmZ1bmMocmVxLCBp bi0+bm9kZWlkLCBpbmFyZyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjY4MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjYxOgor XklmcmVlKG1idWYpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzI2ODQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjY2MjoKK15JcmV0 dXJuOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2ODc6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjY2NToKK15JZnVzZV9yZXBseV9l cnIocmVxLCBlcnIpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzI2ODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjY2NzoKK15JaWYg KGJ1Zi0+ZmxhZ3MgJiBGVVNFX0JVRl9JU19GRCkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNl c3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMyNjg5OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI2Njc6CisgICAgICAgaWYgKGJ1Zi0+ZmxhZ3MgJiBG VVNFX0JVRl9JU19GRCkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI2OTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjY2ODoK K15JXklmdXNlX2xsX2NsZWFyX3BpcGUoc2UpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI2OTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MjY2OToKK15JZ290byBvdXRfZnJlZTskCgpFUlJPUjogc3BhY2UgcmVxdWlyZWQgYWZ0ZXIg dGhhdCAnLCcgKGN0eDpWeFYpCiMyNjk0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjI2NzI6CisjZGVmaW5lIExMX09QVElPTihuLG8sdikgXAogICAgICAgICAgICAgICAg ICAgIF4KCkVSUk9SOiBzcGFjZSByZXF1aXJlZCBhZnRlciB0aGF0ICcsJyAoY3R4OlZ4VikKIzI2 OTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjY3MjoKKyNkZWZpbmUg TExfT1BUSU9OKG4sbyx2KSBcCiAgICAgICAgICAgICAgICAgICAgICBeCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjk1OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjI2NzM6CiteSXsgbiwgb2Zmc2V0b2Yoc3RydWN0IGZ1c2Vfc2Vzc2lv biwgbyksIHYgfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2 OTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjY3NjoKK15JTExfT1BU SU9OKCJkZWJ1ZyIsIGRlYnVnLCAxKSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyNjk5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI2 Nzc6CiteSUxMX09QVElPTigiLWQiLCBkZWJ1ZywgMSksJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjcwMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyNjc4OgorXklMTF9PUFRJT04oIi0tZGVidWciLCBkZWJ1ZywgMSksJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjcwMTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjc5OgorXklMTF9PUFRJT04oImFsbG93X3Jvb3QiLCBk ZW55X290aGVycywgMSksJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjcwMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjgwOgorXklG VVNFX09QVF9FTkQkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy NzA3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI2ODU6CiteSXByaW50 ZigidXNpbmcgRlVTRSBrZXJuZWwgaW50ZXJmYWNlIHZlcnNpb24gJWkuJWlcbiIsJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjcwODogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjg2OgorXkkgICAgICAgRlVTRV9LRVJORUxfVkVSU0lP TiwgRlVTRV9LRVJORUxfTUlOT1JfVkVSU0lPTik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjcwOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoyNjg3OgorXklmdXNlX21vdW50X3ZlcnNpb24oKTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzE0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjI2OTI6CiteSS8qIFRoZXNlIGFyZSBub3QgYWxsIG9wdGlvbnMsIGJ1dCB0aGUg b25lcyB0aGF0IGFyZSQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcgLyog b24gYSBzZXBhcmF0ZSBsaW5lCiMyNzE0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjI2OTI6CisgICAgICAgLyogVGhlc2UgYXJlIG5vdCBhbGwgb3B0aW9ucywgYnV0IHRo ZSBvbmVzIHRoYXQgYXJlCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyNzE1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI2OTM6CiteSSAg IHBvdGVudGlhbGx5IG9mIGludGVyZXN0IHRvIGFuIGVuZC11c2VyICovJAoKV0FSTklORzogQmxv Y2sgY29tbWVudHMgdXNlICogb24gc3Vic2VxdWVudCBsaW5lcwojMjcxNTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNjkzOgorICAgICAgIC8qIFRoZXNlIGFyZSBub3Qg YWxsIG9wdGlvbnMsIGJ1dCB0aGUgb25lcyB0aGF0IGFyZQorICAgICAgICAgIHBvdGVudGlhbGx5 IG9mIGludGVyZXN0IHRvIGFuIGVuZC11c2VyICovCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1 c2UgYSB0cmFpbGluZyAqLyBvbiBhIHNlcGFyYXRlIGxpbmUKIzI3MTU6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjY5MzoKKyAgICAgICAgICBwb3RlbnRpYWxseSBvZiBp bnRlcmVzdCB0byBhbiBlbmQtdXNlciAqLwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjcxNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoy Njk0OgorXklwcmludGYoJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjcyNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzAyOgorXklz dHJ1Y3QgZnVzZV9sbF9waXBlICpsbHA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjcyNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoy NzA0OgorXklpZiAoc2UtPmdvdF9pbml0ICYmICFzZS0+Z290X2Rlc3Ryb3kpIHskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzI3OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3MDU6CiteSV5JaWYgKHNlLT5vcC5kZXN0cm95KSQKCkVS Uk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1l bnQKIzI3Mjc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjcwNToKKyAg ICAgICAgICAgICAgIGlmIChzZS0+b3AuZGVzdHJveSkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3Mjg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MjcwNjoKK15JXkleSXNlLT5vcC5kZXN0cm95KHNlLT51c2VyZGF0YSk7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjcyOTogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzA3OgorXkl9JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjczMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoyNzA4OgorXklsbHAgPSBwdGhyZWFkX2dldHNwZWNpZmljKHNlLT5waXBl X2tleSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjczMTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzA5OgorXklpZiAobGxwICE9 IE5VTEwpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0 aGlzIHN0YXRlbWVudAojMjczMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoyNzA5OgorICAgICAgIGlmIChsbHAgIT0gTlVMTCkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3MzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6MjcxMDoKK15JXklmdXNlX2xsX3BpcGVfZnJlZShsbHApOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3MzM6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MjcxMToKK15JcHRocmVhZF9rZXlfZGVsZXRlKHNlLT5waXBl X2tleSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjczNDog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzEyOgorXklwdGhyZWFkX211 dGV4X2Rlc3Ryb3koJnNlLT5sb2NrKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyNzM1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3 MTM6CiteSWZyZWUoc2UtPmN1c2VfZGF0YSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjczNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoyNzE0OgorXklpZiAoc2UtPmZkICE9IC0xKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vz c2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzI3MzY6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjcxNDoKKyAgICAgICBpZiAoc2UtPmZkICE9IC0xKQpb Li4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjczNzogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzE1OgorXkleSWNsb3NlKHNlLT5m ZCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjczODogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzE2OgorXklkZXN0cm95X21vdW50 X29wdHMoc2UtPm1vKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyNzM5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3MTc6CiteSWZy ZWUoc2UpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3NDU6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjcyMzoKK15Jc3RydWN0IGZ1 c2VfbGxfcGlwZSAqbGxwID0gZGF0YTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyNzQ2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3 MjQ6CiteSWZ1c2VfbGxfcGlwZV9mcmVlKGxscCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjc1MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoyNzI5OgorXklyZXR1cm4gZnVzZV9zZXNzaW9uX3JlY2VpdmVfYnVmX2ludChzZSwgYnVm LCBOVUxMKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzU1 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3MzM6CiteSV5JXkleSSBz dHJ1Y3QgZnVzZV9jaGFuICpjaCkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyNzU3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3MzU6 CiteSWludCBlcnI7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj Mjc1ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzM2OgorXklzc2l6 ZV90IHJlczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzYw OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3Mzg6CiteSXNpemVfdCBi dWZzaXplID0gc2UtPmJ1ZnNpemU7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjc2MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzM5 OgorXklzdHJ1Y3QgZnVzZV9sbF9waXBlICpsbHA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjc2MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoyNzQwOgorXklzdHJ1Y3QgZnVzZV9idWYgdG1wYnVmOyQKCldBUk5JTkc6IGxpbmUgb3Zl ciA4MCBjaGFyYWN0ZXJzCiMyNzY0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjI3NDI6CisgICAgICAgaWYgKHNlLT5jb25uLnByb3RvX21pbm9yIDwgMTQgfHwgIShzZS0+ Y29ubi53YW50ICYgRlVTRV9DQVBfU1BMSUNFX1JFQUQpKQoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjc2NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyNzQyOgorXklpZiAoc2UtPmNvbm4ucHJvdG9fbWlub3IgPCAxNCB8fCAhKHNlLT5j b25uLndhbnQgJiBGVVNFX0NBUF9TUExJQ0VfUkVBRCkpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUg bmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMjc2NDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzQyOgorICAgICAgIGlmIChzZS0+Y29ubi5w cm90b19taW5vciA8IDE0IHx8ICEoc2UtPmNvbm4ud2FudCAmIEZVU0VfQ0FQX1NQTElDRV9SRUFE KSkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3NjU6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjc0MzoKK15JXklnb3RvIGZh bGxiYWNrOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3Njc6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjc0NToKK15JbGxwID0gZnVz ZV9sbF9nZXRfcGlwZShzZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjc2ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzQ2Ogor XklpZiAobGxwID09IE5VTEwpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBh bGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMjc2ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoyNzQ2OgorICAgICAgIGlmIChsbHAgPT0gTlVMTCkKWy4uLl0KCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3Njk6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjc0NzoKK15JXklnb3RvIGZhbGxiYWNrOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3NzE6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjc0OToKK15JaWYgKGxscC0+c2l6ZSA8IGJ1ZnNpemUp IHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzcyOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3NTA6CiteSV5JaWYgKGxscC0+Y2Fu X2dyb3cpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzcz OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3NTE6CiteSV5JXklyZXMg PSBmY250bChsbHAtPnBpcGVbMF0sIEZfU0VUUElQRV9TWiwgYnVmc2l6ZSk7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc3NDogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzUyOgorXkleSV5JaWYgKHJlcyA9PSAtMSkgeyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3NzU6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjc1MzoKK15JXkleSV5JbGxwLT5jYW5fZ3JvdyA9IDA7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc3NjogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzU0OgorXkleSV5JXklyZXMgPSBncm93 X3BpcGVfdG9fbWF4KGxscC0+cGlwZVswXSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjc3NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoyNzU1OgorXkleSV5JXklpZiAocmVzID4gMCkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNl c3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMyNzc3OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3NTU6CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaWYgKHJlcyA+IDApClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyNzc4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3 NTY6CiteSV5JXkleSV5JbGxwLT5zaXplID0gcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzI3Nzk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6Mjc1NzoKK15JXkleSV5JZ290byBmYWxsYmFjazskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzgwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjI3NTg6CiteSV5JXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjc4MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoy NzU5OgorXkleSV5JbGxwLT5zaXplID0gcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI3ODI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6Mjc2MDoKK15JXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjc4MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzYxOgorXkle SWlmIChsbHAtPnNpemUgPCBidWZzaXplKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2Fy eSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzI3ODM6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjc2MToKKyAgICAgICAgICAgICAgIGlmIChsbHAtPnNpemUg PCBidWZzaXplKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjc4NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzYyOgorXkle SV5JZ290byBmYWxsYmFjazskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyNzg1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3NjM6Cite SX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzg3OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3NjU6CiteSXJlcyA9IHNwbGljZShj aCA/IGNoLT5mZCA6IHNlLT5mZCwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyNzg4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3NjY6 CiteSV5JICAgICBOVUxMLCBsbHAtPnBpcGVbMV0sIE5VTEwsIGJ1ZnNpemUsIDApOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3ODk6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjc2NzoKK15JZXJyID0gZXJybm87JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc5MTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzY5OgorXklpZiAoZnVzZV9zZXNzaW9uX2V4aXRlZChzZSkp JAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0 YXRlbWVudAojMjc5MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzY5 OgorICAgICAgIGlmIChmdXNlX3Nlc3Npb25fZXhpdGVkKHNlKSkKWy4uLl0KCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3OTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6Mjc3MDoKK15JXklyZXR1cm4gMDskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzk0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjI3NzI6CiteSWlmIChyZXMgPT0gLTEpIHskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzk1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjI3NzM6CiteSV5JaWYgKGVyciA9PSBFTk9ERVYpIHskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzk2OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjI3NzQ6CiteSV5JXkkvKiBGaWxlc3lzdGVtIHdhcyB1bm1vdW50 ZWQsIG9yIGNvbm5lY3Rpb24gd2FzIGFib3J0ZWQkCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1 c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJhdGUgbGluZQojMjc5NjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzc0OgorICAgICAgICAgICAgICAgICAgICAgICAvKiBG aWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIG9yIGNvbm5lY3Rpb24gd2FzIGFib3J0ZWQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3OTc6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjc3NToKK15JXkleSSAgIHZpYSAvc3lzL2ZzL2Z1c2Uv Y29ubmVjdGlvbnMgKi8kCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgKiBvbiBzdWJzZXF1 ZW50IGxpbmVzCiMyNzk3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3 NzU6CisgICAgICAgICAgICAgICAgICAgICAgIC8qIEZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwg b3IgY29ubmVjdGlvbiB3YXMgYWJvcnRlZAorICAgICAgICAgICAgICAgICAgICAgICAgICB2aWEg L3N5cy9mcy9mdXNlL2Nvbm5lY3Rpb25zICovCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2Ug YSB0cmFpbGluZyAqLyBvbiBhIHNlcGFyYXRlIGxpbmUKIzI3OTc6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjc3NToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdmlh IC9zeXMvZnMvZnVzZS9jb25uZWN0aW9ucyAqLwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjc5ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoyNzc2OgorXkleSV5JZnVzZV9zZXNzaW9uX2V4aXQoc2UpOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3OTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNl X2xvd2xldmVsLmM6Mjc3NzoKK15JXkleSXJldHVybiAwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4MDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6Mjc3ODoKK15JXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjgwMTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzc5 OgorXkleSWlmIChlcnIgIT0gRUlOVFIgJiYgZXJyICE9IEVBR0FJTikkCgpFUlJPUjogYnJhY2Vz IHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMyODAxOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3Nzk6CisgICAgICAgICAgICAg ICBpZiAoZXJyICE9IEVJTlRSICYmIGVyciAhPSBFQUdBSU4pClsuLi5dCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODAyOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjI3ODA6CiteSV5JXklwZXJyb3IoImZ1c2U6IHNwbGljZSBmcm9tIGRl dmljZSIpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4MDM6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjc4MToKK15JXklyZXR1cm4g LWVycjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODA0OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3ODI6CiteSX0kCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODA2OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3ODQ6CiteSWlmIChyZXMgPCBzaXplb2Yoc3RydWN0IGZ1 c2VfaW5faGVhZGVyKSkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI4MDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjc4NToKK15J XklmdXNlX2xvZyhGVVNFX0xPR19FUlIsICJzaG9ydCBzcGxpY2UgZnJvbSBmdXNlIGRldmljZVxu Iik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjgwODogRklM RTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzg2OgorXkleSXJldHVybiAtRUlP OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4MDk6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjc4NzoKK15JfSQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4MTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6Mjc4OToKK15JdG1wYnVmID0gKHN0cnVjdCBmdXNlX2J1ZikgeyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4MTI6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjc5MDoKK15JXkkuc2l6ZSA9IHJlcywkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODEzOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3OTE6CiteSV5JLmZsYWdzID0gRlVTRV9CVUZf SVNfRkQsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjgxNDog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzkyOgorXkleSS5mZCA9IGxs cC0+cGlwZVswXSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy ODE1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3OTM6CiteSX07JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjgxNzogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyNzk1OgorXkkvKiQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4MTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6Mjc5NjoKK15JICogRG9uJ3QgYm90aGVyIHdpdGggemVybyBjb3B5IGZv ciBzbWFsbCByZXF1ZXN0cy4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyODE5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3OTc6Cite SSAqIGZ1c2VfbG9vcF9tdCgpIG5lZWRzIHRvIGNoZWNrIGZvciBGT1JHRVQgc28gdGhpcyBtb3Jl IHRoYW4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODIwOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI3OTg6CiteSSAqIGp1c3QgYW4g b3B0aW1pemF0aW9uLiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzI4MjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjc5OToKK15JICov JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjgyMjogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyODAwOgorXklpZiAocmVzIDwgc2l6ZW9m KHN0cnVjdCBmdXNlX2luX2hlYWRlcikgKyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI4MjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MjgwMToKK15JICAgIHNpemVvZihzdHJ1Y3QgZnVzZV93cml0ZV9pbikgKyBwYWdlc2l6ZSkgeyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4MjQ6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjgwMjoKK15JXklzdHJ1Y3QgZnVzZV9idWZ2 ZWMgc3JjID0geyAuYnVmWzBdID0gdG1wYnVmLCAuY291bnQgPSAxIH07JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjgyNTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoyODAzOgorXkleSXN0cnVjdCBmdXNlX2J1ZnZlYyBkc3QgPSB7IC5j b3VudCA9IDEgfTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy ODI3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI4MDU6CiteSV5JaWYg KCFidWYtPm1lbSkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzI4Mjg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjgwNjoKK15JXkle SWJ1Zi0+bWVtID0gbWFsbG9jKHNlLT5idWZzaXplKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyODI5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjI4MDc6CiteSV5JXklpZiAoIWJ1Zi0+bWVtKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjgzMDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoyODA4OgorXkleSV5JXklmdXNlX2xvZyhGVVNFX0xPR19FUlIsJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjgzMTogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyODA5OgorXkleSV5JXkleSSJmdXNlOiBmYWlsZWQgdG8g YWxsb2NhdGUgcmVhZCBidWZmZXJcbiIpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI4MzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MjgxMDoKK15JXkleSV5JcmV0dXJuIC1FTk9NRU07JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjgzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoyODExOgorXkleSV5JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI4MzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjgxMjoK K15JXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjgzNTog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyODEzOgorXkleSWJ1Zi0+c2l6 ZSA9IHNlLT5idWZzaXplOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI4MzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjgxNDoKK15J XklidWYtPmZsYWdzID0gMDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyODM3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI4MTU6Cite SV5JZHN0LmJ1ZlswXSA9ICpidWY7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjgzOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyODE3 OgorXkleSXJlcyA9IGZ1c2VfYnVmX2NvcHkoJmRzdCwgJnNyYywgMCk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg0MDogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoyODE4OgorXkleSWlmIChyZXMgPCAwKSB7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg0MTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoyODE5OgorXkleSV5JZnVzZV9sb2coRlVTRV9MT0dfRVJSLCAiZnVz ZTogY29weSBmcm9tIHBpcGU6ICVzXG4iLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI4NDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MjgyMDoKK15JXkleSV5Jc3RyZXJyb3IoLXJlcykpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzI4NDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MjgyMToKK15JXkleSWZ1c2VfbGxfY2xlYXJfcGlwZShzZSk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg0NDogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoyODIyOgorXkleSV5JcmV0dXJuIHJlczskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODQ1OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjI4MjM6CiteSV5JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI4NDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MjgyNDoKK15JXklpZiAocmVzIDwgdG1wYnVmLnNpemUpIHskCgpXQVJOSU5HOiBsaW5lIG92 ZXIgODAgY2hhcmFjdGVycwojMjg0NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoyODI1OgorICAgICAgICAgICAgICAgICAgICAgICBmdXNlX2xvZyhGVVNFX0xPR19FUlIs ICJmdXNlOiBjb3B5IGZyb20gcGlwZTogc2hvcnQgcmVhZFxuIik7CgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODQ3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjI4MjU6CiteSV5JXklmdXNlX2xvZyhGVVNFX0xPR19FUlIsICJmdXNlOiBj b3B5IGZyb20gcGlwZTogc2hvcnQgcmVhZFxuIik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjg0ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoyODI2OgorXkleSV5JZnVzZV9sbF9jbGVhcl9waXBlKHNlKTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODQ5OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjI4Mjc6CiteSV5JXklyZXR1cm4gLUVJTzskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODUwOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjI4Mjg6CiteSV5JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI4NTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MjgyOToKK15JXklhc3NlcnQocmVzID09IHRtcGJ1Zi5zaXplKTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODUzOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjI4MzE6CiteSX0gZWxzZSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjg1NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyODMyOgorXkleSS8qIERvbid0IG92ZXJ3cml0ZSBidWYtPm1lbSwgYXMgdGhhdCB3 b3VsZCBjYXVzZSBhIGxlYWsgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyODU1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI4MzM6 CiteSV5JYnVmLT5mZCA9IHRtcGJ1Zi5mZDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyODU2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjI4MzQ6CiteSV5JYnVmLT5mbGFncyA9IHRtcGJ1Zi5mbGFnczskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODU3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjI4MzU6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyODU4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI4 MzY6CiteSWJ1Zi0+c2l6ZSA9IHRtcGJ1Zi5zaXplOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzI4NjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MjgzODoKK15JcmV0dXJuIHJlczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyODY0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjI4NDI6CiteSWlmICghYnVmLT5tZW0pIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyODY1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjI4NDM6CiteSV5JYnVmLT5tZW0gPSBtYWxsb2Moc2UtPmJ1ZnNpemUpOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4NjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6Mjg0NDoKK15JXklpZiAoIWJ1Zi0+bWVtKSB7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg2NzogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyODQ1OgorXkleSV5JZnVzZV9sb2coRlVTRV9MT0dfRVJSLCQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4Njg6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjg0NjoKK15JXkleSV5JImZ1c2U6IGZhaWxl ZCB0byBhbGxvY2F0ZSByZWFkIGJ1ZmZlclxuIik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjg2OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoyODQ3OgorXkleSV5JcmV0dXJuIC1FTk9NRU07JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjg3MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyODQ4OgorXkleSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyODcxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI4NDk6 CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODc0OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI4NTI6CiteSXJlcyA9IHJlYWQo Y2ggPyBjaC0+ZmQgOiBzZS0+ZmQsIGJ1Zi0+bWVtLCBzZS0+YnVmc2l6ZSk7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg3NTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyODUzOgorXkllcnIgPSBlcnJubzskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODc3OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjI4NTU6CiteSWlmIChmdXNlX3Nlc3Npb25fZXhpdGVkKHNlKSkkCgpF UlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVt ZW50CiMyODc3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI4NTU6Cisg ICAgICAgaWYgKGZ1c2Vfc2Vzc2lvbl9leGl0ZWQoc2UpKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg3ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzoyODU2OgorXkleSXJldHVybiAwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4Nzk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6Mjg1NzoKK15JaWYgKHJlcyA9PSAtMSkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4ODA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6Mjg1ODoKK15JXkkvKiBFTk9FTlQgbWVhbnMgdGhlIG9wZXJhdGlvbiB3YXMgaW50 ZXJydXB0ZWQsIGl0J3Mgc2FmZSQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRp bmcgLyogb24gYSBzZXBhcmF0ZSBsaW5lCiMyODgwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjI4NTg6CisgICAgICAgICAgICAgICAvKiBFTk9FTlQgbWVhbnMgdGhlIG9w ZXJhdGlvbiB3YXMgaW50ZXJydXB0ZWQsIGl0J3Mgc2FmZQoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjg4MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyODU5OgorXkleSSAgIHRvIHJlc3RhcnQgKi8kCgpXQVJOSU5HOiBCbG9jayBjb21t ZW50cyB1c2UgKiBvbiBzdWJzZXF1ZW50IGxpbmVzCiMyODgxOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjI4NTk6CisgICAgICAgICAgICAgICAvKiBFTk9FTlQgbWVhbnMg dGhlIG9wZXJhdGlvbiB3YXMgaW50ZXJydXB0ZWQsIGl0J3Mgc2FmZQorICAgICAgICAgICAgICAg ICAgdG8gcmVzdGFydCAqLwoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlIGEgdHJhaWxpbmcg Ki8gb24gYSBzZXBhcmF0ZSBsaW5lCiMyODgxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjI4NTk6CisgICAgICAgICAgICAgICAgICB0byByZXN0YXJ0ICovCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODgyOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI4NjA6CiteSV5JaWYgKGVyciA9PSBFTk9FTlQpJAoKRVJS T1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVu dAojMjg4MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyODYwOgorICAg ICAgICAgICAgICAgaWYgKGVyciA9PSBFTk9FTlQpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODgzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjI4NjE6CiteSV5JXklnb3RvIHJlc3RhcnQ7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg4NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoyODYzOgorXkleSWlmIChlcnIgPT0gRU5PREVWKSB7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg4NjogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoyODY0OgorXkleSV5JLyogRmlsZXN5c3RlbSB3YXMgdW5tb3VudGVk LCBvciBjb25uZWN0aW9uIHdhcyBhYm9ydGVkJAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNl IGEgbGVhZGluZyAvKiBvbiBhIHNlcGFyYXRlIGxpbmUKIzI4ODY6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjg2NDoKKyAgICAgICAgICAgICAgICAgICAgICAgLyogRmls ZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBvciBjb25uZWN0aW9uIHdhcyBhYm9ydGVkCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODg3OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI4NjU6CiteSV5JXkkgICB2aWEgL3N5cy9mcy9mdXNlL2Nv bm5lY3Rpb25zICovJAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlICogb24gc3Vic2VxdWVu dCBsaW5lcwojMjg4NzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyODY1 OgorICAgICAgICAgICAgICAgICAgICAgICAvKiBGaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIG9y IGNvbm5lY3Rpb24gd2FzIGFib3J0ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdmlhIC9z eXMvZnMvZnVzZS9jb25uZWN0aW9ucyAqLwoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlIGEg dHJhaWxpbmcgKi8gb24gYSBzZXBhcmF0ZSBsaW5lCiMyODg3OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjI4NjU6CisgICAgICAgICAgICAgICAgICAgICAgICAgIHZpYSAv c3lzL2ZzL2Z1c2UvY29ubmVjdGlvbnMgKi8KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI4ODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 Mjg2NjoKK15JXkleSWZ1c2Vfc2Vzc2lvbl9leGl0KHNlKTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODg5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjI4Njc6CiteSV5JXklyZXR1cm4gMDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyODkwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjI4Njg6CiteSV5JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI4OTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjg2OToK K15JXkkvKiBFcnJvcnMgb2NjdXJyaW5nIGR1cmluZyBub3JtYWwgb3BlcmF0aW9uOiBFSU5UUiAo cmVhZCQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcgLyogb24gYSBzZXBh cmF0ZSBsaW5lCiMyODkxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI4 Njk6CisgICAgICAgICAgICAgICAvKiBFcnJvcnMgb2NjdXJyaW5nIGR1cmluZyBub3JtYWwgb3Bl cmF0aW9uOiBFSU5UUiAocmVhZAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjg5MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyODcwOgor XkleSSAgIGludGVycnVwdGVkKSwgRUFHQUlOIChub25ibG9ja2luZyBJL08pLCBFTk9ERVYgKGZp bGVzeXN0ZW0kCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgKiBvbiBzdWJzZXF1ZW50IGxp bmVzCiMyODkyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI4NzA6Cisg ICAgICAgICAgICAgICAvKiBFcnJvcnMgb2NjdXJyaW5nIGR1cmluZyBub3JtYWwgb3BlcmF0aW9u OiBFSU5UUiAocmVhZAorICAgICAgICAgICAgICAgICAgaW50ZXJydXB0ZWQpLCBFQUdBSU4gKG5v bmJsb2NraW5nIEkvTyksIEVOT0RFViAoZmlsZXN5c3RlbQoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjg5MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyODcxOgorXkleSSAgIHVtb3VudGVkKSAqLyQKCldBUk5JTkc6IEJsb2NrIGNvbW1l bnRzIHVzZSBhIHRyYWlsaW5nICovIG9uIGEgc2VwYXJhdGUgbGluZQojMjg5MzogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyODcxOgorICAgICAgICAgICAgICAgICAgdW1v dW50ZWQpICovCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODk0 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI4NzI6CiteSV5JaWYgKGVy ciAhPSBFSU5UUiAmJiBlcnIgIT0gRUFHQUlOKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vz c2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzI4OTQ6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjg3MjoKKyAgICAgICAgICAgICAgIGlmIChlcnIgIT0g RUlOVFIgJiYgZXJyICE9IEVBR0FJTikKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI4OTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6Mjg3MzoKK15JXkleSXBlcnJvcigiZnVzZTogcmVhZGluZyBkZXZpY2UiKTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODk2OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI4NzQ6CiteSV5JcmV0dXJuIC1lcnI7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjg5NzogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyODc1OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjg5ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoyODc2OgorXklpZiAoKHNpemVfdCkgcmVzIDwgc2l6ZW9mKHN0cnVjdCBmdXNlX2luX2hl YWRlcikpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODk5 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI4Nzc6CiteSV5JZnVzZV9s b2coRlVTRV9MT0dfRVJSLCAic2hvcnQgcmVhZCBvbiBmdXNlIGRldmljZVxuIik7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjkwMDogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyODc4OgorXkleSXJldHVybiAtRUlPOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5MDE6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjg3OToKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzI5MDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6Mjg4MToKK15JYnVmLT5zaXplID0gcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzI5MDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6Mjg4MzoKK15JcmV0dXJuIHJlczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyOTA5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjI4ODc6CiteSV5JXkleSSAgICAgIGNvbnN0IHN0cnVjdCBmdXNlX2xvd2xldmVsX29wcyAqb3As JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjkxMDogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyODg4OgorXkleSV5JXkkgICAgICBzaXpl X3Qgb3Bfc2l6ZSwgdm9pZCAqdXNlcmRhdGEpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjkxMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoyODkwOgorXklpbnQgZXJyOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI5MTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjg5MToK K15Jc3RydWN0IGZ1c2Vfc2Vzc2lvbiAqc2U7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjkxNDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoyODkyOgorXklzdHJ1Y3QgbW91bnRfb3B0cyAqbW87JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjkxNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyODk0OgorXklpZiAoc2l6ZW9mKHN0cnVjdCBmdXNlX2xvd2xldmVsX29wcykgPCBv cF9zaXplKSB7JAoKRVJST1I6IGxpbmUgb3ZlciA5MCBjaGFyYWN0ZXJzCiMyOTE3OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI4OTU6CisgICAgICAgICAgICAgICBmdXNl X2xvZyhGVVNFX0xPR19FUlIsICJmdXNlOiB3YXJuaW5nOiBsaWJyYXJ5IHRvbyBvbGQsIHNvbWUg b3BlcmF0aW9ucyBtYXkgbm90IHdvcmtcbiIpOwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjkxNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoyODk1OgorXkleSWZ1c2VfbG9nKEZVU0VfTE9HX0VSUiwgImZ1c2U6IHdhcm5pbmc6IGxpYnJh cnkgdG9vIG9sZCwgc29tZSBvcGVyYXRpb25zIG1heSBub3Qgd29ya1xuIik7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjkxODogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyODk2OgorXkleSW9wX3NpemUgPSBzaXplb2Yoc3RydWN0IGZ1 c2VfbG93bGV2ZWxfb3BzKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyOTE5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI4OTc6Cite SX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTIxOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI4OTk6CiteSWlmIChhcmdzLT5hcmdj ID09IDApIHskCgpFUlJPUjogbGluZSBvdmVyIDkwIGNoYXJhY3RlcnMKIzI5MjI6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjkwMDoKKyAgICAgICAgICAgICAgIGZ1c2Vf bG9nKEZVU0VfTE9HX0VSUiwgImZ1c2U6IGVtcHR5IGFyZ3YgcGFzc2VkIHRvIGZ1c2Vfc2Vzc2lv bl9uZXcoKS5cbiIpOwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MjkyMjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTAwOgorXkleSWZ1 c2VfbG9nKEZVU0VfTE9HX0VSUiwgImZ1c2U6IGVtcHR5IGFyZ3YgcGFzc2VkIHRvIGZ1c2Vfc2Vz c2lvbl9uZXcoKS5cbiIpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI5MjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjkwMToKK15J XklyZXR1cm4gTlVMTDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyOTI0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI5MDI6CiteSX0k CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTI2OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI5MDQ6CiteSXNlID0gKHN0cnVjdCBmdXNl X3Nlc3Npb24gKikgY2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgZnVzZV9zZXNzaW9uKSk7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjkyNzogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTA1OgorXklpZiAoc2UgPT0gTlVMTCkgeyQKCldB Uk5JTkc6IGxpbmUgb3ZlciA4MCBjaGFyYWN0ZXJzCiMyOTI4OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjI5MDY6CisgICAgICAgICAgICAgICBmdXNlX2xvZyhGVVNFX0xP R19FUlIsICJmdXNlOiBmYWlsZWQgdG8gYWxsb2NhdGUgZnVzZSBvYmplY3RcbiIpOwoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjkyODogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTA2OgorXkleSWZ1c2VfbG9nKEZVU0VfTE9HX0VSUiwg ImZ1c2U6IGZhaWxlZCB0byBhbGxvY2F0ZSBmdXNlIG9iamVjdFxuIik7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjkyOTogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoyOTA3OgorXkleSWdvdG8gb3V0MTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTMwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjI5MDg6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyOTMxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI5 MDk6CiteSXNlLT5mZCA9IC0xOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI5MzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjkxMDoK K15Jc2UtPmNvbm4ubWF4X3dyaXRlID0gVUlOVF9NQVg7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjkzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyOTExOgorXklzZS0+Y29ubi5tYXhfcmVhZGFoZWFkID0gVUlOVF9NQVg7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjkzNTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTEzOgorXkkvKiBQYXJzZSBvcHRpb25zICovJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjkzNjogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTE0OgorXklpZihmdXNlX29wdF9wYXJzZShh cmdzLCBzZSwgZnVzZV9sbF9vcHRzLCBOVUxMKSA9PSAtMSkkCgpFUlJPUjogc3BhY2UgcmVxdWly ZWQgYmVmb3JlIHRoZSBvcGVuIHBhcmVudGhlc2lzICcoJwojMjkzNjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTE0OgorICAgICAgIGlmKGZ1c2Vfb3B0X3BhcnNlKGFy Z3MsIHNlLCBmdXNlX2xsX29wdHMsIE5VTEwpID09IC0xKQoKRVJST1I6IGJyYWNlcyB7fSBhcmUg bmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMjkzNjogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTE0OgorICAgICAgIGlmKGZ1c2Vfb3B0X3Bh cnNlKGFyZ3MsIHNlLCBmdXNlX2xsX29wdHMsIE5VTEwpID09IC0xKQpbLi4uXQoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjkzNzogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTE1OgorXkleSWdvdG8gb3V0MjskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTM4OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjI5MTY6CiteSWlmKHNlLT5kZW55X290aGVycykgeyQKCkVSUk9SOiBz cGFjZSByZXF1aXJlZCBiZWZvcmUgdGhlIG9wZW4gcGFyZW50aGVzaXMgJygnCiMyOTM4OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI5MTY6CisgICAgICAgaWYoc2UtPmRl bnlfb3RoZXJzKSB7CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy OTM5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI5MTc6CiteSV5JLyog QWxsb3dpbmcgYWNjZXNzIG9ubHkgYnkgcm9vdCBpcyBkb25lIGJ5IGluc3RydWN0aW5nJAoKV0FS TklORzogQmxvY2sgY29tbWVudHMgdXNlIGEgbGVhZGluZyAvKiBvbiBhIHNlcGFyYXRlIGxpbmUK IzI5Mzk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjkxNzoKKyAgICAg ICAgICAgICAgIC8qIEFsbG93aW5nIGFjY2VzcyBvbmx5IGJ5IHJvb3QgaXMgZG9uZSBieSBpbnN0 cnVjdGluZwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk0MDog RklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTE4OgorXkleSSAqIGtlcm5l bCB0byBhbGxvdyBhY2Nlc3MgYnkgZXZlcnlvbmUsIGFuZCB0aGVuIHJlc3RyaWN0aW5nJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk0MTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTE5OgorXkleSSAqIGFjY2VzcyB0byByb290IGFu ZCBtb3VudHBvaW50IG93bmVyIGluIGxpYmZ1c2UuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjk0MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2 ZWwuYzoyOTIwOgorXkleSSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI5NDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjkyMToK K15JXkkvLyBXZSBtYXkgYmUgYWRkaW5nIHRoZSBvcHRpb24gYSBzZWNvbmQgdGltZSwgYnV0JAoK RVJST1I6IGRvIG5vdCB1c2UgQzk5IC8vIGNvbW1lbnRzCiMyOTQzOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI5MjE6CisgICAgICAgICAgICAgICAvLyBXZSBtYXkgYmUg YWRkaW5nIHRoZSBvcHRpb24gYSBzZWNvbmQgdGltZSwgYnV0CgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTQ0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjI5MjI6CiteSV5JLy8gdGhhdCBkb2Vzbid0IGh1cnQuJAoKRVJST1I6IGRvIG5v dCB1c2UgQzk5IC8vIGNvbW1lbnRzCiMyOTQ0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjI5MjI6CisgICAgICAgICAgICAgICAvLyB0aGF0IGRvZXNuJ3QgaHVydC4KCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5NDU6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjkyMzoKK15JXklpZihmdXNlX29wdF9hZGRfYXJn KGFyZ3MsICItb2FsbG93X290aGVyIikgPT0gLTEpJAoKRVJST1I6IHNwYWNlIHJlcXVpcmVkIGJl Zm9yZSB0aGUgb3BlbiBwYXJlbnRoZXNpcyAnKCcKIzI5NDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MjkyMzoKKyAgICAgICAgICAgICAgIGlmKGZ1c2Vfb3B0X2FkZF9h cmcoYXJncywgIi1vYWxsb3dfb3RoZXIiKSA9PSAtMSkKCkVSUk9SOiBicmFjZXMge30gYXJlIG5l Y2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzI5NDU6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjkyMzoKKyAgICAgICAgICAgICAgIGlmKGZ1c2Vf b3B0X2FkZF9hcmcoYXJncywgIi1vYWxsb3dfb3RoZXIiKSA9PSAtMSkKWy4uLl0KCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5NDY6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MjkyNDoKK15JXkleSWdvdG8gb3V0MjskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTQ3OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjI5MjU6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyOTQ4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjI5MjY6CiteSW1vID0gcGFyc2VfbW91bnRfb3B0cyhhcmdzKTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTQ5OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjI5Mjc6CiteSWlmIChtbyA9PSBOVUxMKSQKCkVSUk9SOiBicmFjZXMg e30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzI5NDk6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjkyNzoKKyAgICAgICBpZiAobW8g PT0gTlVMTCkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzI5NTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjkyODoKK15JXkln b3RvIG91dDM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk1 MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTMwOgorXklpZihhcmdz LT5hcmdjID09IDEgJiYkCgpFUlJPUjogc3BhY2UgcmVxdWlyZWQgYmVmb3JlIHRoZSBvcGVuIHBh cmVudGhlc2lzICcoJwojMjk1MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoyOTMwOgorICAgICAgIGlmKGFyZ3MtPmFyZ2MgPT0gMSAmJgoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk1MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoyOTMxOgorXkkgICBhcmdzLT5hcmd2WzBdWzBdID09ICctJykgeyQKCldBUk5J Tkc6IGxpbmUgb3ZlciA4MCBjaGFyYWN0ZXJzCiMyOTU0OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjI5MzI6CisgICAgICAgICAgICAgICBmdXNlX2xvZyhGVVNFX0xPR19F UlIsICJmdXNlOiB3YXJuaW5nOiBhcmd2WzBdIGxvb2tzIGxpa2UgYW4gb3B0aW9uLCBidXQgIgoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk1NDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTMyOgorXkleSWZ1c2VfbG9nKEZVU0VfTE9H X0VSUiwgImZ1c2U6IHdhcm5pbmc6IGFyZ3ZbMF0gbG9va3MgbGlrZSBhbiBvcHRpb24sIGJ1dCAi JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk1NTogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTMzOgorXkleSV5JIndpbGwgYmUgaWdu b3JlZFxuIik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk1 NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTM0OgorXkl9IGVsc2Ug aWYgKGFyZ3MtPmFyZ2MgIT0gMSkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI5NTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjkz NToKK15JXklpbnQgaTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyOTU4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI5MzY6CiteSV5J ZnVzZV9sb2coRlVTRV9MT0dfRVJSLCAiZnVzZTogdW5rbm93biBvcHRpb24ocyk6IGAiKTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTU5OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI5Mzc6CiteSV5JZm9yKGkgPSAxOyBpIDwgYXJn cy0+YXJnYy0xOyBpKyspJAoKRVJST1I6IHNwYWNlcyByZXF1aXJlZCBhcm91bmQgdGhhdCAnLScg KGN0eDpWeFYpCiMyOTU5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI5 Mzc6CisgICAgICAgICAgICAgICBmb3IoaSA9IDE7IGkgPCBhcmdzLT5hcmdjLTE7IGkrKykKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCgpFUlJPUjogc3BhY2UgcmVx dWlyZWQgYmVmb3JlIHRoZSBvcGVuIHBhcmVudGhlc2lzICcoJwojMjk1OTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTM3OgorICAgICAgICAgICAgICAgZm9yKGkgPSAx OyBpIDwgYXJncy0+YXJnYy0xOyBpKyspCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3Nhcnkg Zm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMyOTU5OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjI5Mzc6CisgICAgICAgICAgICAgICBmb3IoaSA9IDE7IGkgPCBh cmdzLT5hcmdjLTE7IGkrKykKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI5NjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjkz ODoKK15JXkleSWZ1c2VfbG9nKEZVU0VfTE9HX0VSUiwgIiVzICIsIGFyZ3MtPmFyZ3ZbaV0pOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5NjE6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjkzOToKK15JXklmdXNlX2xvZyhGVVNFX0xP R19FUlIsICIlcydcbiIsIGFyZ3MtPmFyZ3ZbaV0pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzI5NjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6Mjk0MDoKK15JXklnb3RvIG91dDQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjk2MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzoyOTQxOgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj Mjk2NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTQzOgorXklpZiAo c2UtPmRlYnVnKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMg b2YgdGhpcyBzdGF0ZW1lbnQKIzI5NjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6Mjk0MzoKKyAgICAgICBpZiAoc2UtPmRlYnVnKQpbLi4uXQoKV0FSTklORzogbGluZSBv dmVyIDgwIGNoYXJhY3RlcnMKIzI5NjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6Mjk0NDoKKyAgICAgICAgICAgICAgIGZ1c2VfbG9nKEZVU0VfTE9HX0RFQlVHLCAiRlVT RSBsaWJyYXJ5IHZlcnNpb246ICVzXG4iLCBQQUNLQUdFX1ZFUlNJT04pOwoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk2NjogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoyOTQ0OgorXkleSWZ1c2VfbG9nKEZVU0VfTE9HX0RFQlVHLCAiRlVT RSBsaWJyYXJ5IHZlcnNpb246ICVzXG4iLCBQQUNLQUdFX1ZFUlNJT04pOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5Njg6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6Mjk0NjoKK15Jc2UtPmJ1ZnNpemUgPSBGVVNFX01BWF9NQVhfUEFH RVMgKiBnZXRwYWdlc2l6ZSgpICskCgpFUlJPUjogdXNlIHFlbXVfcmVhbF9ob3N0X3BhZ2Vfc2l6 ZSBpbnN0ZWFkIG9mIGdldHBhZ2VzaXplKCkKIzI5Njg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6Mjk0NjoKKyAgICAgICBzZS0+YnVmc2l6ZSA9IEZVU0VfTUFYX01BWF9Q QUdFUyAqIGdldHBhZ2VzaXplKCkgKwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjk2OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTQ3 OgorXkleSUZVU0VfQlVGRkVSX0hFQURFUl9TSVpFOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzI5NzE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6Mjk0OToKK15JbGlzdF9pbml0X3JlcSgmc2UtPmxpc3QpOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5NzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6Mjk1MDoKK15JbGlzdF9pbml0X3JlcSgmc2UtPmludGVycnVwdHMpOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5NzM6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjk1MToKK15JbGlzdF9pbml0X25yZXEoJnNl LT5ub3RpZnlfbGlzdCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMjk3NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTUyOgorXklz ZS0+bm90aWZ5X2N0ciA9IDE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjk3NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTUzOgor XklmdXNlX211dGV4X2luaXQoJnNlLT5sb2NrKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyOTc3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjI5NTU6CiteSWVyciA9IHB0aHJlYWRfa2V5X2NyZWF0ZSgmc2UtPnBpcGVfa2V5LCBmdXNl X2xsX3BpcGVfZGVzdHJ1Y3Rvcik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjk3ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTU2 OgorXklpZiAoZXJyKSB7JAoKV0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJhY3RlcnMKIzI5Nzk6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjk1NzoKKyAgICAgICAgICAg ICAgIGZ1c2VfbG9nKEZVU0VfTE9HX0VSUiwgImZ1c2U6IGZhaWxlZCB0byBjcmVhdGUgdGhyZWFk IHNwZWNpZmljIGtleTogJXNcbiIsCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyOTc5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI5NTc6 CiteSV5JZnVzZV9sb2coRlVTRV9MT0dfRVJSLCAiZnVzZTogZmFpbGVkIHRvIGNyZWF0ZSB0aHJl YWQgc3BlY2lmaWMga2V5OiAlc1xuIiwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyOTgwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI5 NTg6CiteSV5JXklzdHJlcnJvcihlcnIpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMyOTgxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjI5NTk6CiteSV5JZ290byBvdXQ1OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI5ODI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjk2 MDoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5ODQ6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjk2MjoKK15JbWVtY3B5KCZz ZS0+b3AsIG9wLCBvcF9zaXplKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMyOTg1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI5NjM6 CiteSXNlLT5vd25lciA9IGdldHVpZCgpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzI5ODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 Mjk2NDoKK15Jc2UtPnVzZXJkYXRhID0gdXNlcmRhdGE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMjk4ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyOTY2OgorXklzZS0+bW8gPSBtbzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyOTg5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjI5Njc6CiteSXJldHVybiBzZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyOTkyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI5 NzA6CiteSXB0aHJlYWRfbXV0ZXhfZGVzdHJveSgmc2UtPmxvY2spOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5OTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6Mjk3MjoKK15JZnVzZV9vcHRfZnJlZV9hcmdzKGFyZ3MpOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5OTY6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjk3NDoKK15JZnJlZShtbyk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk5ODogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzoyOTc2OgorXklmcmVlKHNlKTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDAwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjI5Nzg6CiteSXJldHVybiBOVUxMOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzMwMDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6Mjk4MzoKK15JaW50IGZkOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzMwMDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjk4 NToKK15JLyokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDA4 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI5ODY6CiteSSAqIE1ha2Ug c3VyZSBmaWxlIGRlc2NyaXB0b3JzIDAsIDEgYW5kIDIgYXJlIG9wZW4sIG90aGVyd2lzZSBjaGFv cyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwMDk6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjk4NzoKK15JICogd291bGQgZW5zdWUu JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzAxMDogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTg4OgorXkkgKi8kCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDExOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjI5ODk6CiteSWRvIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMzMDEyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3ds ZXZlbC5jOjI5OTA6CiteSV5JZmQgPSBvcGVuKCIvZGV2L251bGwiLCBPX1JEV1IpOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwMTM6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjk5MToKK15JXklpZiAoZmQgPiAyKSQKCkVSUk9SOiBi cmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzMw MTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6Mjk5MToKKyAgICAgICAg ICAgICAgIGlmIChmZCA+IDIpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMzMDE0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI5 OTI6CiteSV5JXkljbG9zZShmZCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMzAxNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTkz OgorXkl9IHdoaWxlIChmZCA+PSAwICYmIGZkIDw9IDIpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwMTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6Mjk5NToKK15JLyokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzMDE4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI5OTY6 CiteSSAqIFRvIGFsbG93IEZVU0UgZGFlbW9ucyB0byBydW4gd2l0aG91dCBwcml2aWxlZ2VzLCB0 aGUgY2FsbGVyIG1heSBvcGVuJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMzAxOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTk3Ogor XkkgKiAvZGV2L2Z1c2UgYmVmb3JlIGxhdW5jaGluZyB0aGUgZmlsZSBzeXN0ZW0gYW5kIHBhc3Mg b24gdGhlIGZpbGUkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz MDIwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjI5OTg6CiteSSAqIGRl c2NyaXB0b3IgYnkgc3BlY2lmeWluZyAvZGV2L2ZkL04gYXMgdGhlIG1vdW50IHBvaW50LiBOb3Rl IHRoYXQgdGhlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzAy MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoyOTk5OgorXkkgKiBwYXJl bnQgcHJvY2VzcyB0YWtlcyBjYXJlIG9mIHBlcmZvcm1pbmcgdGhlIG1vdW50IGluIHRoaXMgY2Fz ZS4kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDIyOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjMwMDA6CiteSSAqLyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwMjM6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MzAwMToKK15JZmQgPSBmdXNlX21udF9wYXJzZV9mdXNlX2Zk KG1vdW50cG9pbnQpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzMwMjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzAwMjoKK15JaWYg KGZkICE9IC0xKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MzAyNTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMDAzOgorXkleSWlm IChmY250bChmZCwgRl9HRVRGRCkgPT0gLTEpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMzMDI2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZl bC5jOjMwMDQ6CiteSV5JXklmdXNlX2xvZyhGVVNFX0xPR19FUlIsJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzAyNzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzozMDA1OgorXkleSV5JXkkiZnVzZTogSW52YWxpZCBmaWxlIGRlc2NyaXB0 b3IgL2Rldi9mZC8ldVxuIiwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMzMDI4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjMwMDY6Cite SV5JXkleSWZkKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz MDI5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjMwMDc6CiteSV5JXkly ZXR1cm4gLTE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzAz MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMDA4OgorXkleSX0kCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDMxOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjMwMDk6CiteSV5Jc2UtPmZkID0gZmQ7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzAzMjogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMDEwOgorXkleSXJldHVybiAwOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwMzM6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2xvd2xldmVsLmM6MzAxMToKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzMwMzU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MzAxMzoKK15JLyogT3BlbiBjaGFubmVsICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMzAzNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzozMDE0OgorXklmZCA9IGZ1c2Vfa2Vybl9tb3VudChtb3VudHBvaW50LCBzZS0+bW8p OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwMzc6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzAxNToKK15JaWYgKGZkID09IC0xKSQK CkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0 ZW1lbnQKIzMwMzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzAxNToK KyAgICAgICBpZiAoZmQgPT0gLTEpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMzMDM4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjMwMTY6CiteSV5JcmV0dXJuIC0xOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzMwMzk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzAx NzoKK15Jc2UtPmZkID0gZmQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMzA0MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMDE5Ogor XkkvKiBTYXZlIG1vdW50cG9pbnQgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMzMDQyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjMw MjA6CiteSXNlLT5tb3VudHBvaW50ID0gc3RyZHVwKG1vdW50cG9pbnQpOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwNDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MzAyMToKK15JaWYgKHNlLT5tb3VudHBvaW50ID09IE5VTEwpJAoK RVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRl bWVudAojMzA0MzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMDIxOgor ICAgICAgIGlmIChzZS0+bW91bnRwb2ludCA9PSBOVUxMKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA0NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzozMDIyOgorXkleSWdvdG8gZXJyb3Jfb3V0OyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwNDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MzAyNDoKK15JcmV0dXJuIDA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMzA0OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzozMDI3OgorXklmdXNlX2tlcm5fdW5tb3VudChtb3VudHBvaW50LCBmZCk7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA1MDogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMDI4OgorXklyZXR1cm4gLTE7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA1NTogRklMRTogdG9vbHMvdmlydGlv ZnNkL2Z1c2VfbG93bGV2ZWwuYzozMDMzOgorXklyZXR1cm4gc2UtPmZkOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwNjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MzAzODoKK15JaWYgKHNlLT5tb3VudHBvaW50ICE9IE5VTEwpIHsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDYxOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjMwMzk6CiteSV5JZnVzZV9rZXJuX3VubW91 bnQoc2UtPm1vdW50cG9pbnQsIHNlLT5mZCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMzA2MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzozMDQwOgorXkleSWZyZWUoc2UtPm1vdW50cG9pbnQpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwNjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MzA0MToKK15JXklzZS0+bW91bnRwb2ludCA9IE5VTEw7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA2NDogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzozMDQyOgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMzA3MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzozMDQ4OgorXkljaGFyICpidWY7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMzA3MTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMDQ5 OgorXklzaXplX3QgYnVmc2l6ZSA9IDEwMjQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMzA3MjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwu YzozMDUwOgorXkljaGFyIHBhdGhbMTI4XTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMzMDczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjMwNTE6CiteSWludCByZXQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMzA3NDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMDUyOgor XklpbnQgZmQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA3 NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMDUzOgorXkl1bnNpZ25l ZCBsb25nIHBpZCA9IHJlcS0+Y3R4LnBpZDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMzMDc2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjMwNTQ6CiteSWNoYXIgKnM7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMzA3ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMDU2Ogor XklzcHJpbnRmKHBhdGgsICIvcHJvYy8lbHUvdGFzay8lbHUvc3RhdHVzIiwgcGlkLCBwaWQpOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwODE6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzA1OToKK15JYnVmID0gbWFsbG9jKGJ1ZnNp emUpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwODI6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzA2MDoKK15JaWYgKGJ1ZiA9PSBO VUxMKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhp cyBzdGF0ZW1lbnQKIzMwODI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MzA2MDoKKyAgICAgICBpZiAoYnVmID09IE5VTEwpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDgzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9s b3dsZXZlbC5jOjMwNjE6CiteSV5JcmV0dXJuIC1FTk9NRU07JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA4NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzozMDYzOgorXklyZXQgPSAtRUlPOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzMwODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xl dmVsLmM6MzA2NDoKK15JZmQgPSBvcGVuKHBhdGgsIE9fUkRPTkxZKTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDg3OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv ZnVzZV9sb3dsZXZlbC5jOjMwNjU6CiteSWlmIChmZCA9PSAtMSkkCgpFUlJPUjogYnJhY2VzIHt9 IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMzMDg3OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjMwNjU6CisgICAgICAgaWYgKGZkID09 IC0xKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA4 ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMDY2OgorXkleSWdvdG8g b3V0X2ZyZWU7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA5 MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMDY4OgorXklyZXQgPSBy ZWFkKGZkLCBidWYsIGJ1ZnNpemUpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzMwOTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzA2 OToKK15JY2xvc2UoZmQpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzMwOTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzA3MDoKK15J aWYgKHJldCA8IDApIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzMDkzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjMwNzE6CiteSV5J cmV0ID0gLUVJTzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz MDk0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjMwNzI6CiteSV5JZ290 byBvdXRfZnJlZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz MDk1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjMwNzM6CiteSX0kCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDk3OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjMwNzU6CiteSWlmICgoc2l6ZV90KXJldCA9PSBi dWZzaXplKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzA5 ODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMDc2OgorXkleSWZyZWUo YnVmKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDk5OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjMwNzc6CiteSV5JYnVmc2l6ZSAq PSA0OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxMDA6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzA3ODoKK15JXklnb3RvIHJldHJ5 OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxMDE6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzA3OToKK15JfSQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxMDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MzA4MToKK15JcmV0ID0gLUVJTzskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTA0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVz ZV9sb3dsZXZlbC5jOjMwODI6CiteSXMgPSBzdHJzdHIoYnVmLCAiXG5Hcm91cHM6Iik7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzEwNTogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMDgzOgorXklpZiAocyA9PSBOVUxMKSQKCkVSUk9S OiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQK IzMxMDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzA4MzoKKyAgICAg ICBpZiAocyA9PSBOVUxMKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMzEwNjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMDg0 OgorXkleSWdvdG8gb3V0X2ZyZWU7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMzEwODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMDg2 OgorXklzICs9IDg7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MzEwOTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMDg3OgorXklyZXQg PSAwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxMTA6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzA4ODoKK15Jd2hpbGUgKDEpIHsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTExOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjMwODk6CiteSV5JY2hhciAqZW5kOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxMTI6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzA5MDoKK15JXkl1bnNpZ25lZCBsb25nIHZhbCA9 IHN0cnRvdWwocywgJmVuZCwgMCk7JAoKRVJST1I6IGNvbnNpZGVyIHVzaW5nIHFlbXVfc3RydG91 bCBpbiBwcmVmZXJlbmNlIHRvIHN0cnRvdWwKIzMxMTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9m dXNlX2xvd2xldmVsLmM6MzA5MDoKKyAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdmFsID0g c3RydG91bChzLCAmZW5kLCAwKTsKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzMxMTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzA5MToK K15JXklpZiAoZW5kID09IHMpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBh bGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMzExMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1 c2VfbG93bGV2ZWwuYzozMDkxOgorICAgICAgICAgICAgICAgaWYgKGVuZCA9PSBzKQpbLi4uXQoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzExNDogRklMRTogdG9v bHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMDkyOgorXkleSV5JYnJlYWs7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzExNjogRklMRTogdG9vbHMvdmly dGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMDk0OgorXkleSXMgPSBlbmQ7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzExNzogRklMRTogdG9vbHMvdmlydGlvZnNk L2Z1c2VfbG93bGV2ZWwuYzozMDk1OgorXkleSWlmIChyZXQgPCBzaXplKSQKCkVSUk9SOiBicmFj ZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzMxMTc6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzA5NToKKyAgICAgICAgICAg ICAgIGlmIChyZXQgPCBzaXplKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMzExODogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzoz MDk2OgorXkleSV5JbGlzdFtyZXRdID0gdmFsOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzMxMTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MzA5NzoKK15JXklyZXQrKzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzMTIwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjMwOTg6 CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTIzOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjMxMDE6CiteSWZyZWUoYnVmKTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTI0OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjMxMDI6CiteSXJldHVybiByZXQ7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzEzMjogRklMRTogdG9vbHMv dmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMTEwOgorXkkodm9pZCkgcmVxOyAodm9pZCkgc2l6 ZTsgKHZvaWQpIGxpc3Q7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMzEzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMTExOgorXkly ZXR1cm4gLUVOT1NZUzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzMTM5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjMxMTc6CiteSXNl LT5leGl0ZWQgPSAxOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzMxNDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzEyMjoKK15Jc2Ut PmV4aXRlZCA9IDA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MzE0NTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93bGV2ZWwuYzozMTIzOgorXklzZS0+ ZXJyb3IgPSAwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMx NTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MzEyODoKK15JcmV0dXJu IHNlLT5leGl0ZWQ7JAoKdG90YWw6IDIzMzggZXJyb3JzLCA1NyB3YXJuaW5ncywgMzEyOSBsaW5l cyBjaGVja2VkCgpQYXRjaCA0LzEwOCBoYXMgc3R5bGUgcHJvYmxlbXMsIHBsZWFzZSByZXZpZXcu ICBJZiBhbnkgb2YgdGhlc2UgZXJyb3JzCmFyZSBmYWxzZSBwb3NpdGl2ZXMgcmVwb3J0IHRoZW0g dG8gdGhlIG1haW50YWluZXIsIHNlZQpDSEVDS1BBVENIIGluIE1BSU5UQUlORVJTLgoKNS8xMDgg Q2hlY2tpbmcgY29tbWl0IGIwZTk2MzQzZjljZiAodmlydGlvZnNkOiBBZGQgcGFzc3Rocm91Z2hf bGwpCldBUk5JTkc6IGFkZGVkLCBtb3ZlZCBvciBkZWxldGVkIGZpbGUocyksIGRvZXMgTUFJTlRB SU5FUlMgbmVlZCB1cGRhdGluZz8KIzIzOiAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKCldBUk5JTkc6 IEJsb2NrIGNvbW1lbnRzIHVzZSAqIG9uIHN1YnNlcXVlbnQgbGluZXMKIzI5OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoyOgorLyoKKyAgRlVTRTogRmlsZXN5c3RlbSBp biBVc2Vyc3BhY2UKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcgLyogb24g YSBzZXBhcmF0ZSBsaW5lCiMzNjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xs LmM6OToKKy8qKiBAZmlsZQoKV0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJhY3RlcnMKIzU4OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzozMToKKyAqICAgICBnY2MgLVdh bGwgcGFzc3Rocm91Z2hfbGwuYyBgcGtnLWNvbmZpZyBmdXNlMyAtLWNmbGFncyAtLWxpYnNgIC1v IHBhc3N0aHJvdWdoX2xsCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8q IG9uIGEgc2VwYXJhdGUgbGluZQojODc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3Vn aF9sbC5jOjYwOgorLyogV2UgYXJlIHJlLXVzaW5nIHBvaW50ZXJzIHRvIG91ciBgc3RydWN0IGxv X2lub2RlYCBhbmQgYHN0cnVjdAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlICogb24gc3Vi c2VxdWVudCBsaW5lcwojODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5j OjYxOgorLyogV2UgYXJlIHJlLXVzaW5nIHBvaW50ZXJzIHRvIG91ciBgc3RydWN0IGxvX2lub2Rl YCBhbmQgYHN0cnVjdAorICAgbG9fZGlycGAgZWxlbWVudHMgYXMgaW5vZGVzLiBUaGlzIG1lYW5z IHRoYXQgd2UgbXVzdCBiZSBhYmxlIHRvCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSB0 cmFpbGluZyAqLyBvbiBhIHNlcGFyYXRlIGxpbmUKIzkwOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv cGFzc3Rocm91Z2hfbGwuYzo2MzoKKyAgIGluY2FudGF0aW9uIGNoZWNrcyB0aGlzIGNvbmRpdGlv biBhdCBjb21waWxlIHRpbWUuICovCgpFUlJPUjogbGluZSBvdmVyIDkwIGNoYXJhY3RlcnMKIzkx OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo2NDoKKyNpZiBkZWZpbmVk KF9fR05VQ19fKSAmJiAoX19HTlVDX18gPiA0IHx8IF9fR05VQ19fID09IDQgJiYgX19HTlVDX01J Tk9SX18gPj0gNikgJiYgIWRlZmluZWQgX19jcGx1c3BsdXMKCldBUk5JTkc6IGFyY2hpdGVjdHVy ZSBzcGVjaWZpYyBkZWZpbmVzIHNob3VsZCBiZSBhdm9pZGVkCiM5MTogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NjQ6CisjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgKF9f R05VQ19fID4gNCB8fCBfX0dOVUNfXyA9PSA0ICYmIF9fR05VQ19NSU5PUl9fID49IDYpICYmICFk ZWZpbmVkIF9fY3BsdXNwbHVzCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM5MzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NjY6CiteSSAg ICAgICAiZnVzZV9pbm9fdCB0b28gc21hbGwgdG8gaG9sZCB1aW50cHRyX3QgdmFsdWVzISIpOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk2OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo2OToKK15JeyB1bnNpZ25lZCBfdWludHB0cl90 b19tdXN0X2hvbGRfZnVzZV9pbm9fdDokCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM5NzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzA6 CiteSV5JXkkoKHNpemVvZihmdXNlX2lub190KSA+PSBzaXplb2YodWludHB0cl90KSkgPyAxIDog LTEpOyB9OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMTog RklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzQ6CiteSXN0cnVjdCBsb19p bm9kZSAqbmV4dDsgLyogcHJvdGVjdGVkIGJ5IGxvLT5tdXRleCAqLyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6NzU6CiteSXN0cnVjdCBsb19pbm9kZSAqcHJldjsgLyogcHJvdGVjdGVk IGJ5IGxvLT5tdXRleCAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzEwMzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzY6CiteSWlu dCBmZDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDQ6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjc3OgorXklib29sIGlzX3N5bWxp bms7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA1OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo3ODoKK15JaW5vX3QgaW5vOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNjogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6Nzk6CiteSWRldl90IGRldjskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9sbC5jOjgwOgorXkl1aW50NjRfdCByZWZjb3VudDsgLyogcHJvdGVjdGVk IGJ5IGxvLT5tdXRleCAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzExMTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODQ6CiteSUNB Q0hFX05FVkVSLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEx MjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODU6CiteSUNBQ0hFX05P Uk1BTCwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTM6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjg2OgorXklDQUNIRV9BTFdBWVMs JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE3OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo5MDoKK15JcHRocmVhZF9tdXRleF90IG11 dGV4OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExODogRklM RTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6OTE6CiteSWludCBkZWJ1ZzskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTk6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjkyOgorXklpbnQgd3JpdGViYWNrOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMDogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6OTM6CiteSWludCBmbG9jazskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjk0OgorXklpbnQgeGF0dHI7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTIyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91 Z2hfbGwuYzo5NToKK15JY29uc3QgY2hhciAqc291cmNlOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6OTY6CiteSWRvdWJsZSB0aW1lb3V0OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdo X2xsLmM6OTc6CiteSWludCBjYWNoZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjk4 OgorXklpbnQgdGltZW91dF9zZXQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMTI2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo5OToK K15Jc3RydWN0IGxvX2lub2RlIHJvb3Q7IC8qIHByb3RlY3RlZCBieSBsby0+bXV0ZXggKi8kCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzA6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwMzoKK15JeyAid3JpdGViYWNrIiwkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzE6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwNDoKK15JICBvZmZzZXRvZihzdHJ1Y3QgbG9fZGF0 YSwgd3JpdGViYWNrKSwgMSB9LCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEzMjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTA1Ogor Xkl7ICJub193cml0ZWJhY2siLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTA2Ogor XkkgIG9mZnNldG9mKHN0cnVjdCBsb19kYXRhLCB3cml0ZWJhY2spLCAwIH0sJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM0OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzoxMDc6CiteSXsgInNvdXJjZT0lcyIsJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM1OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv cGFzc3Rocm91Z2hfbGwuYzoxMDg6CiteSSAgb2Zmc2V0b2Yoc3RydWN0IGxvX2RhdGEsIHNvdXJj ZSksIDAgfSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzY6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwOToKK15JeyAiZmxvY2si LCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzNzogRklMRTog dG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTEwOgorXkkgIG9mZnNldG9mKHN0cnVj dCBsb19kYXRhLCBmbG9jayksIDEgfSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEx MToKK15JeyAibm9fZmxvY2siLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEzOTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTEyOgor XkkgIG9mZnNldG9mKHN0cnVjdCBsb19kYXRhLCBmbG9jayksIDAgfSwkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjExMzoKK15JeyAieGF0dHIiLCQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0MTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6MTE0OgorXkkgIG9mZnNldG9mKHN0cnVjdCBsb19kYXRhLCB4YXR0ciksIDEgfSwk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNDI6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjExNToKK15JeyAibm9feGF0dHIiLCQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0MzogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTE2OgorXkkgIG9mZnNldG9mKHN0cnVjdCBsb19k YXRhLCB4YXR0ciksIDAgfSwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxNDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjExNzoKK15J eyAidGltZW91dD0lbGYiLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzE0NTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTE4OgorXkkg IG9mZnNldG9mKHN0cnVjdCBsb19kYXRhLCB0aW1lb3V0KSwgMCB9LCQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0NjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6MTE5OgorXkl7ICJ0aW1lb3V0PSIsJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQ3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Ro cm91Z2hfbGwuYzoxMjA6CiteSSAgb2Zmc2V0b2Yoc3RydWN0IGxvX2RhdGEsIHRpbWVvdXRfc2V0 KSwgMSB9LCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE0ODog RklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTIxOgorXkl7ICJjYWNoZT1u ZXZlciIsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTQ5OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMjI6CiteSSAgb2Zmc2V0b2Yo c3RydWN0IGxvX2RhdGEsIGNhY2hlKSwgQ0FDSEVfTkVWRVIgfSwkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNz dGhyb3VnaF9sbC5jOjEyMzoKK15JeyAiY2FjaGU9YXV0byIsJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTUxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Ro cm91Z2hfbGwuYzoxMjQ6CiteSSAgb2Zmc2V0b2Yoc3RydWN0IGxvX2RhdGEsIGNhY2hlKSwgQ0FD SEVfTk9STUFMIH0sJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTUyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMjU6CiteSXsgImNh Y2hlPWFsd2F5cyIsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTUzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMjY6CiteSSAgb2Zm c2V0b2Yoc3RydWN0IGxvX2RhdGEsIGNhY2hlKSwgQ0FDSEVfQUxXQVlTIH0sJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTU1OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzoxMjg6CiteSUZVU0VfT1BUX0VORCQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2MDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6MTMzOgorXklyZXR1cm4gKHN0cnVjdCBsb19kYXRhICopIGZ1c2VfcmVx X3VzZXJkYXRhKHJlcSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTY1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMzg6CiteSWlm IChpbm8gPT0gRlVTRV9ST09UX0lEKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBm b3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzE2NTogRklMRTogdG9vbHMvdmlydGlvZnNk L3Bhc3N0aHJvdWdoX2xsLmM6MTM4OgorICAgICAgIGlmIChpbm8gPT0gRlVTRV9ST09UX0lEKQpb Li4uXQorICAgICAgIGVsc2UKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzE2NjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTM5 OgorXkleSXJldHVybiAmbG9fZGF0YShyZXEpLT5yb290OyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE2NzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6MTQwOgorXkllbHNlJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMTY4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxNDE6 CiteSV5JcmV0dXJuIChzdHJ1Y3QgbG9faW5vZGUgKikgKHVpbnRwdHJfdCkgaW5vOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE3MzogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTQ2OgorXklyZXR1cm4gbG9faW5vZGUocmVxLCBpbm8p LT5mZDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxNzg6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjE1MToKK15JcmV0dXJuIGxvX2Rh dGEocmVxKS0+ZGVidWcgIT0gMDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxODI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjE1NToK K15JXkkgICAgc3RydWN0IGZ1c2VfY29ubl9pbmZvICpjb25uKSQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE4NDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6MTU3OgorXklzdHJ1Y3QgbG9fZGF0YSAqbG8gPSAoc3RydWN0IGxvX2RhdGEq KSB1c2VyZGF0YTskCgpFUlJPUjogIihmb28qKSIgc2hvdWxkIGJlICIoZm9vICopIgojMTg0OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxNTc6CisgICAgICAgc3RydWN0 IGxvX2RhdGEgKmxvID0gKHN0cnVjdCBsb19kYXRhKikgdXNlcmRhdGE7CgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjE1OToKK15JaWYoY29ubi0+Y2FwYWJsZSAmIEZVU0VfQ0FQX0VYUE9S VF9TVVBQT1JUKSQKCkVSUk9SOiBzcGFjZSByZXF1aXJlZCBiZWZvcmUgdGhlIG9wZW4gcGFyZW50 aGVzaXMgJygnCiMxODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjE1 OToKKyAgICAgICBpZihjb25uLT5jYXBhYmxlICYgRlVTRV9DQVBfRVhQT1JUX1NVUFBPUlQpCgpF UlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVt ZW50CiMxODY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjE1OToKKyAg ICAgICBpZihjb25uLT5jYXBhYmxlICYgRlVTRV9DQVBfRVhQT1JUX1NVUFBPUlQpClsuLi5dCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxODc6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjE2MDoKK15JXkljb25uLT53YW50IHw9IEZVU0Vf Q0FQX0VYUE9SVF9TVVBQT1JUOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzE4OTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTYyOgor XklpZiAobG8tPndyaXRlYmFjayAmJiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzE5MDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTYz OgorXkkgICAgY29ubi0+Y2FwYWJsZSAmIEZVU0VfQ0FQX1dSSVRFQkFDS19DQUNIRSkgeyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5MTogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTY0OgorXkleSWlmIChsby0+ZGVidWcpJAoKRVJS T1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVu dAojMTkxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxNjQ6CisgICAg ICAgICAgICAgICBpZiAobG8tPmRlYnVnKQpbLi4uXQoKV0FSTklORzogbGluZSBvdmVyIDgwIGNo YXJhY3RlcnMKIzE5MjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTY1 OgorICAgICAgICAgICAgICAgICAgICAgICBmdXNlX2xvZyhGVVNFX0xPR19ERUJVRywgImxvX2lu aXQ6IGFjdGl2YXRpbmcgd3JpdGViYWNrXG4iKTsKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzE5MjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xs LmM6MTY1OgorXkleSV5JZnVzZV9sb2coRlVTRV9MT0dfREVCVUcsICJsb19pbml0OiBhY3RpdmF0 aW5nIHdyaXRlYmFja1xuIik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMTkzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxNjY6Cite SV5JY29ubi0+d2FudCB8PSBGVVNFX0NBUF9XUklURUJBQ0tfQ0FDSEU7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTk0OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv cGFzc3Rocm91Z2hfbGwuYzoxNjc6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxOTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5j OjE2ODoKK15JaWYgKGxvLT5mbG9jayAmJiBjb25uLT5jYXBhYmxlICYgRlVTRV9DQVBfRkxPQ0tf TE9DS1MpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTY6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjE2OToKK15JXklpZiAobG8t PmRlYnVnKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2Yg dGhpcyBzdGF0ZW1lbnQKIzE5NjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xs LmM6MTY5OgorICAgICAgICAgICAgICAgaWYgKGxvLT5kZWJ1ZykKWy4uLl0KCldBUk5JTkc6IGxp bmUgb3ZlciA4MCBjaGFyYWN0ZXJzCiMxOTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhy b3VnaF9sbC5jOjE3MDoKKyAgICAgICAgICAgICAgICAgICAgICAgZnVzZV9sb2coRlVTRV9MT0df REVCVUcsICJsb19pbml0OiBhY3RpdmF0aW5nIGZsb2NrIGxvY2tzXG4iKTsKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5NzogRklMRTogdG9vbHMvdmlydGlvZnNk L3Bhc3N0aHJvdWdoX2xsLmM6MTcwOgorXkleSV5JZnVzZV9sb2coRlVTRV9MT0dfREVCVUcsICJs b19pbml0OiBhY3RpdmF0aW5nIGZsb2NrIGxvY2tzXG4iKTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxOTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhy b3VnaF9sbC5jOjE3MToKK15JXkljb25uLT53YW50IHw9IEZVU0VfQ0FQX0ZMT0NLX0xPQ0tTOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzE5OTogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTcyOgorXkl9JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjAzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFz c3Rocm91Z2hfbGwuYzoxNzY6CiteSV5JXkkgICAgIHN0cnVjdCBmdXNlX2ZpbGVfaW5mbyAqZmkp JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjA1OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxNzg6CiteSWludCByZXM7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjA2OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxNzk6CiteSXN0cnVjdCBzdGF0IGJ1ZjskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMDc6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjE4MDoKK15Jc3RydWN0IGxvX2RhdGEgKmxvID0gbG9fZGF0 YShyZXEpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIwOTog RklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTgyOgorXkkodm9pZCkgZmk7 JAoKV0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJhY3RlcnMKIzIxMTogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTg0OgorICAgICAgIHJlcyA9IGZzdGF0YXQobG9fZmQo cmVxLCBpbm8pLCAiIiwgJmJ1ZiwgQVRfRU1QVFlfUEFUSCB8IEFUX1NZTUxJTktfTk9GT0xMT1cp OwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjExOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxODQ6CiteSXJlcyA9IGZzdGF0YXQobG9f ZmQocmVxLCBpbm8pLCAiIiwgJmJ1ZiwgQVRfRU1QVFlfUEFUSCB8IEFUX1NZTUxJTktfTk9GT0xM T1cpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxMjogRklM RTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTg1OgorXklpZiAocmVzID09IC0x KSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBz dGF0ZW1lbnQKIzIxMjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTg1 OgorICAgICAgIGlmIChyZXMgPT0gLTEpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyMTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjE4NjoKK15JXklyZXR1cm4gKHZvaWQpIGZ1c2VfcmVwbHlfZXJyKHJlcSwgZXJybm8pOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIxNTogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTg4OgorXklmdXNlX3JlcGx5X2F0dHIocmVx LCAmYnVmLCBsby0+dGltZW91dCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjE5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxOTI6 CiteSV5JXkleSSAgICBjb25zdCBzdHJ1Y3QgdGltZXNwZWMgKnR2KSQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyMTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6MTk0OgorXklpbnQgcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzIyMjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdo X2xsLmM6MTk1OgorXkljaGFyIHByb2NuYW1lWzY0XTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyMjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3Vn aF9sbC5jOjE5NzoKK15JaWYgKGlub2RlLT5pc19zeW1saW5rKSB7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjI1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFz c3Rocm91Z2hfbGwuYzoxOTg6CiteSV5JcmVzID0gdXRpbWVuc2F0KGlub2RlLT5mZCwgIiIsIHR2 LCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIyNjogRklMRTog dG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTk5OgorXkleSV5JXklBVF9FTVBUWV9Q QVRIIHwgQVRfU1lNTElOS19OT0ZPTExPVyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMjI3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwu YzoyMDA6CiteSV5JaWYgKHJlcyA9PSAtMSAmJiBlcnJubyA9PSBFSU5WQUwpIHskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyMjg6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjIwMToKK15JXkleSS8qIFNvcnJ5LCBubyByYWNlIGZyZWUg d2F5IHRvIHNldCB0aW1lcyBvbiBzeW1saW5rLiAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzIyOTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdo X2xsLmM6MjAyOgorXkleSV5JZXJybm8gPSBFUEVSTTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyMzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3Vn aF9sbC5jOjIwMzoKK15JXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMjMxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoyMDQ6Cite SV5JcmV0dXJuIHJlczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyMzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjIwNToKK15JfSQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzIzMzogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MjA2OgorXklzcHJpbnRmKHByb2NuYW1lLCAi L3Byb2Mvc2VsZi9mZC8laSIsIGlub2RlLT5mZCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjM1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hf bGwuYzoyMDg6CiteSXJldHVybiB1dGltZW5zYXQoQVRfRkRDV0QsIHByb2NuYW1lLCB0diwgMCk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjM5OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoyMTI6CiteSV5JICAgICAgIGludCB2YWxp ZCwgc3RydWN0IGZ1c2VfZmlsZV9pbmZvICpmaSkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyNDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjIxNDoKK15JaW50IHNhdmVycjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMyNDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjIx NToKK15JY2hhciBwcm9jbmFtZVs2NF07JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjQzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoy MTY6CiteSXN0cnVjdCBsb19pbm9kZSAqaW5vZGUgPSBsb19pbm9kZShyZXEsIGlubyk7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQ0OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoyMTc6CiteSWludCBpZmQgPSBpbm9kZS0+ZmQ7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQ1OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoyMTg6CiteSWludCByZXM7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjQ3OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzoyMjA6CiteSWlmICh2YWxpZCAmIEZVU0VfU0VUX0FUVFJfTU9E RSkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0ODogRklM RTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MjIxOgorXkleSWlmIChmaSkgeyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI0OTogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MjIyOgorXkleSV5JcmVzID0gZmNobW9kKGZp LT5maCwgYXR0ci0+c3RfbW9kZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjUwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoyMjM6 CiteSV5JfSBlbHNlIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMyNTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjIyNDoKK15JXkle SXNwcmludGYocHJvY25hbWUsICIvcHJvYy9zZWxmL2ZkLyVpIiwgaWZkKTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9sbC5jOjIyNToKK15JXkleSXJlcyA9IGNobW9kKHByb2NuYW1lLCBhdHRy LT5zdF9tb2RlKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMy NTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjIyNjoKK15JXkl9JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjU0OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoyMjc6CiteSV5JaWYgKHJlcyA9PSAtMSkkCgpF UlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVt ZW50CiMyNTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjIyNzoKKyAg ICAgICAgICAgICAgIGlmIChyZXMgPT0gLTEpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyNTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3Vn aF9sbC5jOjIyODoKK15JXkleSWdvdG8gb3V0X2VycjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMyNTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3Vn aF9sbC5jOjIyOToKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzI1NzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MjMwOgorXklp ZiAodmFsaWQgJiAoRlVTRV9TRVRfQVRUUl9VSUQgfCBGVVNFX1NFVF9BVFRSX0dJRCkpIHskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNTg6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjIzMToKK15JXkl1aWRfdCB1aWQgPSAodmFsaWQg JiBGVVNFX1NFVF9BVFRSX1VJRCkgPyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzI1OTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MjMy OgorXkleSV5JYXR0ci0+c3RfdWlkIDogKHVpZF90KSAtMTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhy b3VnaF9sbC5jOjIzMzoKK15JXklnaWRfdCBnaWQgPSAodmFsaWQgJiBGVVNFX1NFVF9BVFRSX0dJ RCkgPyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI2MTogRklM RTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MjM0OgorXkleSV5JYXR0ci0+c3Rf Z2lkIDogKGdpZF90KSAtMTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMyNjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjIzNjoKK15J XklyZXMgPSBmY2hvd25hdChpZmQsICIiLCB1aWQsIGdpZCwkCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhy b3VnaF9sbC5jOjIzNzoKK15JXkleSSAgICAgICBBVF9FTVBUWV9QQVRIIHwgQVRfU1lNTElOS19O T0ZPTExPVyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjY1 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoyMzg6CiteSV5JaWYgKHJl cyA9PSAtMSkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9m IHRoaXMgc3RhdGVtZW50CiMyNjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjIzODoKKyAgICAgICAgICAgICAgIGlmIChyZXMgPT0gLTEpClsuLi5dCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9sbC5jOjIzOToKK15JXkleSWdvdG8gb3V0X2VycjskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjc6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9sbC5jOjI0MDoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzI2ODogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xs LmM6MjQxOgorXklpZiAodmFsaWQgJiBGVVNFX1NFVF9BVFRSX1NJWkUpIHskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNjk6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9sbC5jOjI0MjoKK15JXklpZiAoZmkpIHskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNz dGhyb3VnaF9sbC5jOjI0MzoKK15JXkleSXJlcyA9IGZ0cnVuY2F0ZShmaS0+ZmgsIGF0dHItPnN0 X3NpemUpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3MTog RklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MjQ0OgorXkleSX0gZWxzZSB7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjcyOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoyNDU6CiteSV5JXklzcHJpbnRmKHByb2Nu YW1lLCAiL3Byb2Mvc2VsZi9mZC8laSIsIGlmZCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMjczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hf bGwuYzoyNDY6CiteSV5JXklyZXMgPSB0cnVuY2F0ZShwcm9jbmFtZSwgYXR0ci0+c3Rfc2l6ZSk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjc0OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoyNDc6CiteSV5JfSQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3NTogRklMRTogdG9vbHMvdmlydGlvZnNk L3Bhc3N0aHJvdWdoX2xsLmM6MjQ4OgorXkleSWlmIChyZXMgPT0gLTEpJAoKRVJST1I6IGJyYWNl cyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMjc1OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoyNDg6CisgICAgICAgICAgICAg ICBpZiAocmVzID09IC0xKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjc2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoyNDk6 CiteSV5JXklnb3RvIG91dF9lcnI7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMjc3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoyNTA6 CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyNzg6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjI1MToKK15JaWYgKHZhbGlkICYg KEZVU0VfU0VUX0FUVFJfQVRJTUUgfCBGVVNFX1NFVF9BVFRSX01USU1FKSkgeyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI3OTogRklMRTogdG9vbHMvdmlydGlv ZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MjUyOgorXkleSXN0cnVjdCB0aW1lc3BlYyB0dlsyXTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODE6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjI1NDoKK15JXkl0dlswXS50dl9zZWMgPSAwOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4MjogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MjU1OgorXkleSXR2WzFdLnR2X3NlYyA9IDA7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjgzOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoyNTY6CiteSV5JdHZbMF0udHZfbnNlYyA9 IFVUSU1FX09NSVQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj Mjg0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoyNTc6CiteSV5JdHZb MV0udHZfbnNlYyA9IFVUSU1FX09NSVQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMjg2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoy NTk6CiteSV5JaWYgKHZhbGlkICYgRlVTRV9TRVRfQVRUUl9BVElNRV9OT1cpJAoKRVJST1I6IGJy YWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMjg2 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoyNTk6CisgICAgICAgICAg ICAgICBpZiAodmFsaWQgJiBGVVNFX1NFVF9BVFRSX0FUSU1FX05PVykKWy4uLl0KKyAgICAgICAg ICAgICAgIGVsc2UgaWYgKHZhbGlkICYgRlVTRV9TRVRfQVRUUl9BVElNRSkKWy4uLl0KCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI4NzogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MjYwOgorXkleSV5JdHZbMF0udHZfbnNlYyA9IFVUSU1F X05PVzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyODg6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjI2MToKK15JXkllbHNlIGlmICh2 YWxpZCAmIEZVU0VfU0VUX0FUVFJfQVRJTUUpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNz YXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMjg4OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoyNjE6CisgICAgICAgICAgICAgICBlbHNlIGlmICh2YWxp ZCAmIEZVU0VfU0VUX0FUVFJfQVRJTUUpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMyODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjI2MjoKK15JXkleSXR2WzBdID0gYXR0ci0+c3RfYXRpbTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMyOTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNz dGhyb3VnaF9sbC5jOjI2NDoKK15JXklpZiAodmFsaWQgJiBGVVNFX1NFVF9BVFRSX01USU1FX05P VykkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMg c3RhdGVtZW50CiMyOTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjI2 NDoKKyAgICAgICAgICAgICAgIGlmICh2YWxpZCAmIEZVU0VfU0VUX0FUVFJfTVRJTUVfTk9XKQpb Li4uXQorICAgICAgICAgICAgICAgZWxzZSBpZiAodmFsaWQgJiBGVVNFX1NFVF9BVFRSX01USU1F KQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjkyOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoyNjU6CiteSV5JXkl0dlsxXS50 dl9uc2VjID0gVVRJTUVfTk9XOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzI5MzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MjY2Ogor XkleSWVsc2UgaWYgKHZhbGlkICYgRlVTRV9TRVRfQVRUUl9NVElNRSkkCgpFUlJPUjogYnJhY2Vz IHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMyOTM6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjI2NjoKKyAgICAgICAgICAgICAg IGVsc2UgaWYgKHZhbGlkICYgRlVTRV9TRVRfQVRUUl9NVElNRSkKWy4uLl0KCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5NDogRklMRTogdG9vbHMvdmlydGlvZnNk L3Bhc3N0aHJvdWdoX2xsLmM6MjY3OgorXkleSV5JdHZbMV0gPSBhdHRyLT5zdF9tdGltOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5NjogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MjY5OgorXkleSWlmIChmaSkkCgpFUlJPUjogYnJh Y2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMyOTY6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjI2OToKKyAgICAgICAgICAg ICAgIGlmIChmaSkKWy4uLl0KKyAgICAgICAgICAgICAgIGVsc2UKWy4uLl0KCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5NzogRklMRTogdG9vbHMvdmlydGlvZnNk L3Bhc3N0aHJvdWdoX2xsLmM6MjcwOgorXkleSV5JcmVzID0gZnV0aW1lbnMoZmktPmZoLCB0dik7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMjk4OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoyNzE6CiteSV5JZWxzZSQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzI5OTogRklMRTogdG9vbHMvdmlydGlv ZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MjcyOgorXkleSV5JcmVzID0gdXRpbWVuc2F0X2VtcHR5X25v Zm9sbG93KGlub2RlLCB0dik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMzAwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoyNzM6Cite SV5JaWYgKHJlcyA9PSAtMSkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFs bCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMzMDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNz dGhyb3VnaF9sbC5jOjI3MzoKKyAgICAgICAgICAgICAgIGlmIChyZXMgPT0gLTEpClsuLi5dCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDE6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjI3NDoKK15JXkleSWdvdG8gb3V0X2VycjskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDI6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjI3NToKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwNDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6Mjc3OgorXklyZXR1cm4gbG9fZ2V0YXR0cihyZXEsIGlubywgZmkpOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMwNzogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MjgwOgorXklzYXZlcnIgPSBlcnJubzskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMDg6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjI4MToKK15JZnVzZV9yZXBseV9lcnIocmVxLCBzYXZl cnIpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMxMzogRklM RTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6Mjg2OgorXklzdHJ1Y3QgbG9faW5v ZGUgKnA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzE0OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoyODc6CiteSXN0cnVjdCBsb19p bm9kZSAqcmV0ID0gTlVMTDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMzMTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjI4OToKK15J cHRocmVhZF9tdXRleF9sb2NrKCZsby0+bXV0ZXgpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzMxNzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdo X2xsLmM6MjkwOgorXklmb3IgKHAgPSBsby0+cm9vdC5uZXh0OyBwICE9ICZsby0+cm9vdDsgcCA9 IHAtPm5leHQpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz MTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjI5MToKK15JXklpZiAo cC0+aW5vID09IHN0LT5zdF9pbm8gJiYgcC0+ZGV2ID09IHN0LT5zdF9kZXYpIHskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMTk6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjI5MjoKK15JXkleSWFzc2VydChwLT5yZWZjb3VudCA+IDAp OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyMDogRklMRTog dG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MjkzOgorXkleSV5JcmV0ID0gcDskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjE6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjI5NDoKK15JXkleSXJldC0+cmVmY291bnQrKzsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjI6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjI5NToKK15JXkleSWJyZWFrOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMyMzogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6Mjk2OgorXkleSX0kCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhy b3VnaF9sbC5jOjI5NzoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzMyNTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6Mjk4Ogor XklwdGhyZWFkX211dGV4X3VubG9jaygmbG8tPm11dGV4KTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhy b3VnaF9sbC5jOjI5OToKK15JcmV0dXJuIHJldDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMzMzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjMwMzoKK15JXkleSSBzdHJ1Y3QgZnVzZV9lbnRyeV9wYXJhbSAqZSkkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9sbC5jOjMwNToKK15JaW50IG5ld2ZkOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzMzMzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6MzA2OgorXklpbnQgcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzMzNDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xs LmM6MzA3OgorXklpbnQgc2F2ZXJyOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzMzNTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MzA4 OgorXklzdHJ1Y3QgbG9fZGF0YSAqbG8gPSBsb19kYXRhKHJlcSk7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzM2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFz c3Rocm91Z2hfbGwuYzozMDk6CiteSXN0cnVjdCBsb19pbm9kZSAqaW5vZGU7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzM4OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzozMTE6CiteSW1lbXNldChlLCAwLCBzaXplb2YoKmUpKTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzMzk6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjMxMjoKK15JZS0+YXR0cl90aW1lb3V0ID0gbG8t PnRpbWVvdXQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQw OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzozMTM6CiteSWUtPmVudHJ5 X3RpbWVvdXQgPSBsby0+dGltZW91dDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMzNDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjMx NToKK15JbmV3ZmQgPSBvcGVuYXQobG9fZmQocmVxLCBwYXJlbnQpLCBuYW1lLCBPX1BBVEggfCBP X05PRk9MTE9XKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMz NDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjMxNjoKK15JaWYgKG5l d2ZkID09IC0xKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMg b2YgdGhpcyBzdGF0ZW1lbnQKIzM0MzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdo X2xsLmM6MzE2OgorICAgICAgIGlmIChuZXdmZCA9PSAtMSkKWy4uLl0KCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0NDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6MzE3OgorXkleSWdvdG8gb3V0X2VycjskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNz dGhyb3VnaF9sbC5jOjMxOToKK15JcmVzID0gZnN0YXRhdChuZXdmZCwgIiIsICZlLT5hdHRyLCBB VF9FTVBUWV9QQVRIIHwgQVRfU1lNTElOS19OT0ZPTExPVyk7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzQ3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Ro cm91Z2hfbGwuYzozMjA6CiteSWlmIChyZXMgPT0gLTEpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUg bmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMzQ3OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzozMjA6CisgICAgICAgaWYgKHJlcyA9PSAtMSkK Wy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM0ODogRklM RTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MzIxOgorXkleSWdvdG8gb3V0X2Vy cjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNTA6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjMyMzoKK15JaW5vZGUgPSBsb19maW5k KGxvX2RhdGEocmVxKSwgJmUtPmF0dHIpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzM1MTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6 MzI0OgorXklpZiAoaW5vZGUpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzNTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjMyNToK K15JXkljbG9zZShuZXdmZCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMzUzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzozMjY6Cite SV5JbmV3ZmQgPSAtMTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzNTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjMyNzoKK15JfSBl bHNlIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNTU6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjMyODoKK15JXklzdHJ1Y3QgbG9f aW5vZGUgKnByZXYsICpuZXh0OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzM1NzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MzMwOgor XkleSXNhdmVyciA9IEVOT01FTTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzNTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjMzMToK K15JXklpbm9kZSA9IGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGxvX2lub2RlKSk7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzU5OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzozMzI6CiteSV5JaWYgKCFpbm9kZSkkCgpFUlJPUjogYnJh Y2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMzNTk6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjMzMjoKKyAgICAgICAgICAg ICAgIGlmICghaW5vZGUpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzNjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjMzMzoK K15JXkleSWdvdG8gb3V0X2VycjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzNjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjMzNToK K15JXklpbm9kZS0+aXNfc3ltbGluayA9IFNfSVNMTksoZS0+YXR0ci5zdF9tb2RlKTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNjM6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjMzNjoKK15JXklpbm9kZS0+cmVmY291bnQgPSAxOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM2NDogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MzM3OgorXkleSWlub2RlLT5mZCA9IG5ld2Zk OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM2NTogRklMRTog dG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MzM4OgorXkleSWlub2RlLT5pbm8gPSBl LT5hdHRyLnN0X2lubzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzNjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjMzOToKK15JXklp bm9kZS0+ZGV2ID0gZS0+YXR0ci5zdF9kZXY7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMzY4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwu YzozNDE6CiteSV5JcHRocmVhZF9tdXRleF9sb2NrKCZsby0+bXV0ZXgpOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM2OTogRklMRTogdG9vbHMvdmlydGlvZnNk L3Bhc3N0aHJvdWdoX2xsLmM6MzQyOgorXkleSXByZXYgPSAmbG8tPnJvb3Q7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzcwOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzozNDM6CiteSV5JbmV4dCA9IHByZXYtPm5leHQ7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzcxOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzozNDQ6CiteSV5JbmV4dC0+cHJldiA9IGlub2RlOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM3MjogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MzQ1OgorXkleSWlub2RlLT5uZXh0ID0gbmV4dDsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzNzM6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjM0NjoKK15JXklpbm9kZS0+cHJldiA9IHBy ZXY7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzc0OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzozNDc6CiteSV5JcHJldi0+bmV4dCA9 IGlub2RlOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM3NTog RklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MzQ4OgorXkleSXB0aHJlYWRf bXV0ZXhfdW5sb2NrKCZsby0+bXV0ZXgpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzM3NjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6 MzQ5OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzc3 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzozNTA6CiteSWUtPmlubyA9 ICh1aW50cHRyX3QpIGlub2RlOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzM3OTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MzUyOgor XklpZiAobG9fZGVidWcocmVxKSkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMzODA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjM1MzoK K15JXklmdXNlX2xvZyhGVVNFX0xPR19ERUJVRywgIiAgJWxsaS8lcyAtPiAlbGxpXG4iLCQKCldB Uk5JTkc6IGxpbmUgb3ZlciA4MCBjaGFyYWN0ZXJzCiMzODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9sbC5jOjM1NDoKKyAgICAgICAgICAgICAgICAgICAgICAgKHVuc2lnbmVk IGxvbmcgbG9uZykgcGFyZW50LCBuYW1lLCAodW5zaWduZWQgbG9uZyBsb25nKSBlLT5pbm8pOwoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzgxOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzozNTQ6CiteSV5JXkkodW5zaWduZWQgbG9uZyBs b25nKSBwYXJlbnQsIG5hbWUsICh1bnNpZ25lZCBsb25nIGxvbmcpIGUtPmlubyk7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzgzOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzozNTY6CiteSXJldHVybiAwOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM4NjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6MzU5OgorXklzYXZlcnIgPSBlcnJubzskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzODc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNz dGhyb3VnaF9sbC5jOjM2MDoKK15JaWYgKG5ld2ZkICE9IC0xKSQKCkVSUk9SOiBicmFjZXMge30g YXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzM4NzogRklMRTog dG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MzYwOgorICAgICAgIGlmIChuZXdmZCAh PSAtMSkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM4 ODogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MzYxOgorXkleSWNsb3Nl KG5ld2ZkKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzODk6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjM2MjoKK15JcmV0dXJuIHNh dmVycjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzOTQ6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjM2NzoKK15Jc3RydWN0IGZ1c2Vf ZW50cnlfcGFyYW0gZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMzOTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjM2ODoKK15JaW50 IGVycjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzOTc6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjM3MDoKK15JaWYgKGxvX2RlYnVn KHJlcSkpJAoKV0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJhY3RlcnMKIzM5ODogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MzcxOgorICAgICAgICAgICAgICAgZnVzZV9s b2coRlVTRV9MT0dfREVCVUcsICJsb19sb29rdXAocGFyZW50PSUiIFBSSXU2NCAiLCBuYW1lPSVz KVxuIiwKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzM5ODogRklM RTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MzcxOgorXkleSWZ1c2VfbG9nKEZV U0VfTE9HX0RFQlVHLCAibG9fbG9va3VwKHBhcmVudD0lIiBQUkl1NjQgIiwgbmFtZT0lcylcbiIs JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMzk5OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzozNzI6CiteSV5JXklwYXJlbnQsIG5hbWUp OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQwMTogRklMRTog dG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6Mzc0OgorXkllcnIgPSBsb19kb19sb29r dXAocmVxLCBwYXJlbnQsIG5hbWUsICZlKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM0MDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5j OjM3NToKK15JaWYgKGVycikkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFs bCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiM0MDI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNz dGhyb3VnaF9sbC5jOjM3NToKKyAgICAgICBpZiAoZXJyKQpbLi4uXQorICAgICAgIGVsc2UKWy4u Ll0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQwMzogRklMRTog dG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6Mzc2OgorXkleSWZ1c2VfcmVwbHlfZXJy KHJlcSwgZXJyKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0 MDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjM3NzoKK15JZWxzZSQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQwNTogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6Mzc4OgorXkleSWZ1c2VfcmVwbHlfZW50cnko cmVxLCAmZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDA5 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzozODI6CiteSV5JXkkgICAg IGNvbnN0IGNoYXIgKm5hbWUsIG1vZGVfdCBtb2RlLCBkZXZfdCByZGV2LCQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQxMDogRklMRTogdG9vbHMvdmlydGlvZnNk L3Bhc3N0aHJvdWdoX2xsLmM6MzgzOgorXkleSV5JICAgICBjb25zdCBjaGFyICpsaW5rKSQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQxMjogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6Mzg1OgorXklpbnQgcmVzOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQxMzogRklMRTogdG9vbHMvdmlydGlvZnNk L3Bhc3N0aHJvdWdoX2xsLmM6Mzg2OgorXklpbnQgc2F2ZXJyOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQxNDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6Mzg3OgorXklzdHJ1Y3QgbG9faW5vZGUgKmRpciA9IGxvX2lub2RlKHJlcSwg cGFyZW50KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0MTU6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjM4ODoKK15Jc3RydWN0IGZ1 c2VfZW50cnlfcGFyYW0gZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM0MTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjM5MDoKK15J c2F2ZXJyID0gRU5PTUVNOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzQxOTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MzkyOgorXkly ZXMgPSBta25vZF93cmFwcGVyKGRpci0+ZmQsIG5hbWUsIGxpbmssIG1vZGUsIHJkZXYpOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQyMTogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6Mzk0OgorXklzYXZlcnIgPSBlcnJubzskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0MjI6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjM5NToKK15JaWYgKHJlcyA9PSAtMSkkCgpFUlJPUjog YnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiM0 MjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjM5NToKKyAgICAgICBp ZiAocmVzID09IC0xKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNDIzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzozOTY6Cite SV5JZ290byBvdXQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NDI1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzozOTg6CiteSXNhdmVy ciA9IGxvX2RvX2xvb2t1cChyZXEsIHBhcmVudCwgbmFtZSwgJmUpOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQyNjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6Mzk5OgorXklpZiAoc2F2ZXJyKSQKCkVSUk9SOiBicmFjZXMge30gYXJl IG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzQyNjogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6Mzk5OgorICAgICAgIGlmIChzYXZlcnIpClsu Li5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0Mjc6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjQwMDoKK15JXklnb3RvIG91dDskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0Mjk6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjQwMjoKK15JaWYgKGxvX2RlYnVnKHJlcSkpJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDMwOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo0MDM6CiteSV5JZnVzZV9sb2coRlVTRV9MT0df REVCVUcsICIgICVsbGkvJXMgLT4gJWxsaVxuIiwkCgpXQVJOSU5HOiBsaW5lIG92ZXIgODAgY2hh cmFjdGVycwojNDMxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo0MDQ6 CisgICAgICAgICAgICAgICAgICAgICAgICh1bnNpZ25lZCBsb25nIGxvbmcpIHBhcmVudCwgbmFt ZSwgKHVuc2lnbmVkIGxvbmcgbG9uZykgZS5pbm8pOwoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNDMxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hf bGwuYzo0MDQ6CiteSV5JXkkodW5zaWduZWQgbG9uZyBsb25nKSBwYXJlbnQsIG5hbWUsICh1bnNp Z25lZCBsb25nIGxvbmcpIGUuaW5vKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM0MzM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjQw NjoKK15JZnVzZV9yZXBseV9lbnRyeShyZXEsICZlKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM0MzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3Vn aF9sbC5jOjQwNzoKK15JcmV0dXJuOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzQzNzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NDEw OgorXklmdXNlX3JlcGx5X2VycihyZXEsIHNhdmVycik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojNDQxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91 Z2hfbGwuYzo0MTQ6CiteSV5JICAgICBjb25zdCBjaGFyICpuYW1lLCBtb2RlX3QgbW9kZSwgZGV2 X3QgcmRldikkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NDM6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjQxNjoKK15JbG9fbWtub2Rf c3ltbGluayhyZXEsIHBhcmVudCwgbmFtZSwgbW9kZSwgcmRldiwgTlVMTCk7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDQ3OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzo0MjA6CiteSV5JICAgICBtb2RlX3QgbW9kZSkkCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NDk6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjQyMjoKK15JbG9fbWtub2Rfc3ltbGluayhyZXEsIHBhcmVu dCwgbmFtZSwgU19JRkRJUiB8IG1vZGUsIDAsIE5VTEwpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ1MzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6NDI2OgorXkleSSAgICAgICBmdXNlX2lub190IHBhcmVudCwgY29uc3QgY2hhciAq bmFtZSkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NTU6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjQyODoKK15JbG9fbWtub2Rfc3lt bGluayhyZXEsIHBhcmVudCwgbmFtZSwgU19JRkxOSywgMCwgbGluayk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDU5OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv cGFzc3Rocm91Z2hfbGwuYzo0MzI6CiteSV5JXkleSSBjb25zdCBjaGFyICpuYW1lKSQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ2MTogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NDM0OgorXklpbnQgcmVzOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ2MjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6NDM1OgorXkljaGFyIHByb2NuYW1lWzY0XTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjQzNzoKK15JaWYgKGlub2RlLT5pc19zeW1saW5rKSB7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDY1OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo0Mzg6CiteSV5JcmVzID0gbGlua2F0KGlub2RlLT5mZCwg IiIsIGRmZCwgbmFtZSwgQVRfRU1QVFlfUEFUSCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNDY2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hf bGwuYzo0Mzk6CiteSV5JaWYgKHJlcyA9PSAtMSAmJiAoZXJybm8gPT0gRU5PRU5UIHx8IGVycm5v ID09IEVJTlZBTCkpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM0Njc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjQ0MDoKK15JXkle SS8qIFNvcnJ5LCBubyByYWNlIGZyZWUgd2F5IHRvIGhhcmQtbGluayBhIHN5bWxpbmsuICovJAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDY4OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo0NDE6CiteSV5JXkllcnJubyA9IEVQRVJNOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ2OTogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NDQyOgorXkleSX0kCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjQ0MzoKK15JXklyZXR1cm4gcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ3MTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6NDQ0OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNDczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo0NDY6 CiteSXNwcmludGYocHJvY25hbWUsICIvcHJvYy9zZWxmL2ZkLyVpIiwgaW5vZGUtPmZkKTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0NzU6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjQ0ODoKK15JcmV0dXJuIGxpbmthdChBVF9GRENX RCwgcHJvY25hbWUsIGRmZCwgbmFtZSwgQVRfU1lNTElOS19GT0xMT1cpOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ3OTogRklMRTogdG9vbHMvdmlydGlvZnNk L3Bhc3N0aHJvdWdoX2xsLmM6NDUyOgorXkleSSAgICBjb25zdCBjaGFyICpuYW1lKSQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ4MTogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NDU0OgorXklpbnQgcmVzOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ4MjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6NDU1OgorXklzdHJ1Y3QgbG9fZGF0YSAqbG8gPSBsb19kYXRhKHJlcSk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDgzOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo0NTY6CiteSXN0cnVjdCBsb19pbm9kZSAq aW5vZGUgPSBsb19pbm9kZShyZXEsIGlubyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNDg0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwu Yzo0NTc6CiteSXN0cnVjdCBmdXNlX2VudHJ5X3BhcmFtIGU7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDg1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Ro cm91Z2hfbGwuYzo0NTg6CiteSWludCBzYXZlcnI7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNDg3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hf bGwuYzo0NjA6CiteSW1lbXNldCgmZSwgMCwgc2l6ZW9mKHN0cnVjdCBmdXNlX2VudHJ5X3BhcmFt KSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDg4OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo0NjE6CiteSWUuYXR0cl90aW1lb3V0 ID0gbG8tPnRpbWVvdXQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojNDg5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo0NjI6CiteSWUu ZW50cnlfdGltZW91dCA9IGxvLT50aW1lb3V0OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzQ5MTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xs LmM6NDY0OgorXklyZXMgPSBsaW5rYXRfZW1wdHlfbm9mb2xsb3coaW5vZGUsIGxvX2ZkKHJlcSwg cGFyZW50KSwgbmFtZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojNDkyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo0NjU6CiteSWlm IChyZXMgPT0gLTEpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJt cyBvZiB0aGlzIHN0YXRlbWVudAojNDkyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91 Z2hfbGwuYzo0NjU6CisgICAgICAgaWYgKHJlcyA9PSAtMSkKWy4uLl0KCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ5MzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6NDY2OgorXkleSWdvdG8gb3V0X2VycjskCgpXQVJOSU5HOiBsaW5lIG92 ZXIgODAgY2hhcmFjdGVycwojNDk1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hf bGwuYzo0Njg6CisgICAgICAgcmVzID0gZnN0YXRhdChpbm9kZS0+ZmQsICIiLCAmZS5hdHRyLCBB VF9FTVBUWV9QQVRIIHwgQVRfU1lNTElOS19OT0ZPTExPVyk7CgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0OTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhy b3VnaF9sbC5jOjQ2ODoKK15JcmVzID0gZnN0YXRhdChpbm9kZS0+ZmQsICIiLCAmZS5hdHRyLCBB VF9FTVBUWV9QQVRIIHwgQVRfU1lNTElOS19OT0ZPTExPVyk7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNDk2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Ro cm91Z2hfbGwuYzo0Njk6CiteSWlmIChyZXMgPT0gLTEpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUg bmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojNDk2OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo0Njk6CisgICAgICAgaWYgKHJlcyA9PSAtMSkK Wy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQ5NzogRklM RTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NDcwOgorXkleSWdvdG8gb3V0X2Vy cjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM0OTk6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjQ3MjoKK15JcHRocmVhZF9tdXRleF9s b2NrKCZsby0+bXV0ZXgpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzUwMDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NDczOgorXklp bm9kZS0+cmVmY291bnQrKzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM1MDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjQ3NDoKK15J cHRocmVhZF9tdXRleF91bmxvY2soJmxvLT5tdXRleCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojNTAyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91 Z2hfbGwuYzo0NzU6CiteSWUuaW5vID0gKHVpbnRwdHJfdCkgaW5vZGU7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTA0OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv cGFzc3Rocm91Z2hfbGwuYzo0Nzc6CiteSWlmIChsb19kZWJ1ZyhyZXEpKSQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzUwNTogRklMRTogdG9vbHMvdmlydGlvZnNk L3Bhc3N0aHJvdWdoX2xsLmM6NDc4OgorXkleSWZ1c2VfbG9nKEZVU0VfTE9HX0RFQlVHLCAiICAl bGxpLyVzIC0+ICVsbGlcbiIsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNTA2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo0Nzk6Cite SV5JXkkodW5zaWduZWQgbG9uZyBsb25nKSBwYXJlbnQsIG5hbWUsJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTA3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFz c3Rocm91Z2hfbGwuYzo0ODA6CiteSV5JXkkodW5zaWduZWQgbG9uZyBsb25nKSBlLmlubyk7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTA5OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo0ODI6CiteSWZ1c2VfcmVwbHlfZW50cnkocmVx LCAmZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTEwOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo0ODM6CiteSXJldHVybjskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MTM6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjQ4NjoKK15Jc2F2ZXJyID0gZXJybm87JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTE0OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo0ODc6CiteSWZ1c2VfcmVwbHlfZXJyKHJlcSwgc2F2 ZXJyKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MTk6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjQ5MjoKK15JaW50IHJlczskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1MjE6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjQ5NDoKK15JcmVzID0gdW5saW5rYXQobG9fZmQo cmVxLCBwYXJlbnQpLCBuYW1lLCBBVF9SRU1PVkVESVIpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzUyMzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6NDk2OgorXklmdXNlX3JlcGx5X2VycihyZXEsIHJlcyA9PSAtMSA/IGVycm5vIDog MCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTI3OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo1MDA6CiteSV5JICAgICAgZnVzZV9p bm9fdCBuZXdwYXJlbnQsIGNvbnN0IGNoYXIgKm5ld25hbWUsJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTI4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Ro cm91Z2hfbGwuYzo1MDE6CiteSV5JICAgICAgdW5zaWduZWQgaW50IGZsYWdzKSQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzUzMDogRklMRTogdG9vbHMvdmlydGlv ZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NTAzOgorXklpbnQgcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzUzMjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6NTA1OgorXklpZiAoZmxhZ3MpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM1MzM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3Vn aF9sbC5jOjUwNjoKK15JXklmdXNlX3JlcGx5X2VycihyZXEsIEVJTlZBTCk7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTM0OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzo1MDc6CiteSV5JcmV0dXJuOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzUzNTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6NTA4OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNTM3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo1MTA6 CiteSXJlcyA9IHJlbmFtZWF0KGxvX2ZkKHJlcSwgcGFyZW50KSwgbmFtZSwkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1Mzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9sbC5jOjUxMToKK15JXkleSWxvX2ZkKHJlcSwgbmV3cGFyZW50KSwgbmV3 bmFtZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTQwOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo1MTM6CiteSWZ1c2VfcmVwbHlf ZXJyKHJlcSwgcmVzID09IC0xID8gZXJybm8gOiAwKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM1NDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3Vn aF9sbC5jOjUxODoKK15JaW50IHJlczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM1NDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjUy MDoKK15JcmVzID0gdW5saW5rYXQobG9fZmQocmVxLCBwYXJlbnQpLCBuYW1lLCAwKTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1NDk6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjUyMjoKK15JZnVzZV9yZXBseV9lcnIocmVxLCByZXMg PT0gLTEgPyBlcnJubyA6IDApOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzU1NDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NTI3Ogor XklpZiAoIWlub2RlKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFy bXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzU1NDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6NTI3OgorICAgICAgIGlmICghaW5vZGUpClsuLi5dCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1NTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNz dGhyb3VnaF9sbC5jOjUyODoKK15JXklyZXR1cm47JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNTU3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hf bGwuYzo1MzA6CiteSXB0aHJlYWRfbXV0ZXhfbG9jaygmbG8tPm11dGV4KTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1NTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9sbC5jOjUzMToKK15JYXNzZXJ0KGlub2RlLT5yZWZjb3VudCA+PSBuKTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1NTk6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjUzMjoKK15JaW5vZGUtPnJlZmNvdW50IC09 IG47JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTYwOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo1MzM6CiteSWlmICghaW5vZGUtPnJl ZmNvdW50KSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTYx OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo1MzQ6CiteSV5Jc3RydWN0 IGxvX2lub2RlICpwcmV2LCAqbmV4dDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM1NjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjUz NjoKK15JXklwcmV2ID0gaW5vZGUtPnByZXY7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNTY0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwu Yzo1Mzc6CiteSV5JbmV4dCA9IGlub2RlLT5uZXh0OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzU2NTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdo X2xsLmM6NTM4OgorXkleSW5leHQtPnByZXYgPSBwcmV2OyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU2NjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6NTM5OgorXkleSXByZXYtPm5leHQgPSBuZXh0OyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU2ODogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6NTQxOgorXkleSXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZsby0+bXV0ZXgpOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU2OTogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NTQyOgorXkleSWNsb3NlKGlub2RlLT5mZCk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTcwOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo1NDM6CiteSV5JZnJlZShpbm9kZSk7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTcyOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo1NDU6CiteSX0gZWxzZSB7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTczOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzo1NDY6CiteSV5JcHRocmVhZF9tdXRleF91bmxvY2soJmxvLT5t dXRleCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNTc0OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo1NDc6CiteSX0kCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1Nzk6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjU1MjoKK15Jc3RydWN0IGxvX2RhdGEgKmxvID0gbG9fZGF0 YShyZXEpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU4MDog RklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NTUzOgorXklzdHJ1Y3QgbG9f aW5vZGUgKmlub2RlID0gbG9faW5vZGUocmVxLCBpbm8pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU4MjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6NTU1OgorXklpZiAobG9fZGVidWcocmVxKSkgeyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU4MzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6NTU2OgorXkleSWZ1c2VfbG9nKEZVU0VfTE9HX0RFQlVHLCAiICBmb3JnZXQg JWxsaSAlbGxpIC0lbGxpXG4iLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzU4NDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NTU3Ogor XkleSV5JKHVuc2lnbmVkIGxvbmcgbG9uZykgaW5vLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzU4NTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdo X2xsLmM6NTU4OgorXkleSV5JKHVuc2lnbmVkIGxvbmcgbG9uZykgaW5vZGUtPnJlZmNvdW50LCQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU4NjogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NTU5OgorXkleSV5JKHVuc2lnbmVkIGxvbmcg bG9uZykgbmxvb2t1cCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojNTg3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo1NjA6CiteSX0k CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM1ODk6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjU2MjoKK15JdW5yZWZfaW5vZGUobG8sIGlu b2RlLCBubG9va3VwKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM1OTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjU2NzoKK15JbG9f Zm9yZ2V0X29uZShyZXEsIGlubywgbmxvb2t1cCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNTk1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hf bGwuYzo1Njg6CiteSWZ1c2VfcmVwbHlfbm9uZShyZXEpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzU5OTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6NTcyOgorXkleSV5JXklzdHJ1Y3QgZnVzZV9mb3JnZXRfZGF0YSAqZm9yZ2V0cykk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2MDE6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjU3NDoKK15JaW50IGk7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjAzOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzo1NzY6CiteSWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSQK CkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0 ZW1lbnQKIzYwMzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NTc2Ogor ICAgICAgIGZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjA0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFz c3Rocm91Z2hfbGwuYzo1Nzc6CiteSV5JbG9fZm9yZ2V0X29uZShyZXEsIGZvcmdldHNbaV0uaW5v LCBmb3JnZXRzW2ldLm5sb29rdXApOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzYwNTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NTc4 OgorXklmdXNlX3JlcGx5X25vbmUocmVxKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM2MTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5j OjU4MzoKK15JY2hhciBidWZbUEFUSF9NQVggKyAxXTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM2MTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3Vn aF9sbC5jOjU4NDoKK15JaW50IHJlczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM2MTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjU4 NjoKK15JcmVzID0gcmVhZGxpbmthdChsb19mZChyZXEsIGlubyksICIiLCBidWYsIHNpemVvZihi dWYpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2MTQ6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjU4NzoKK15JaWYgKHJlcyA9PSAt MSkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMg c3RhdGVtZW50CiM2MTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjU4 NzoKKyAgICAgICBpZiAocmVzID09IC0xKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNjE1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hf bGwuYzo1ODg6CiteSV5JcmV0dXJuICh2b2lkKSBmdXNlX3JlcGx5X2VycihyZXEsIGVycm5vKTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2MTc6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjU5MDoKK15JaWYgKHJlcyA9PSBzaXplb2Yo YnVmKSkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRo aXMgc3RhdGVtZW50CiM2MTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5j OjU5MDoKKyAgICAgICBpZiAocmVzID09IHNpemVvZihidWYpKQpbLi4uXQoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjE4OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv cGFzc3Rocm91Z2hfbGwuYzo1OTE6CiteSV5JcmV0dXJuICh2b2lkKSBmdXNlX3JlcGx5X2Vycihy ZXEsIEVOQU1FVE9PTE9ORyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNjIwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo1OTM6Cite SWJ1ZltyZXNdID0gJ1wwJzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM2MjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjU5NToKK15J ZnVzZV9yZXBseV9yZWFkbGluayhyZXEsIGJ1Zik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNjI2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hf bGwuYzo1OTk6CiteSURJUiAqZHA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNjI3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo2MDA6 CiteSXN0cnVjdCBkaXJlbnQgKmVudHJ5OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzYyODogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6 NjAxOgorXklvZmZfdCBvZmZzZXQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNjMzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo2MDY6 CiteSXJldHVybiAoc3RydWN0IGxvX2RpcnAgKikgKHVpbnRwdHJfdCkgZmktPmZoOyQKCldBUk5J Tkc6IGxpbmUgb3ZlciA4MCBjaGFyYWN0ZXJzCiM2MzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjYwOToKK3N0YXRpYyB2b2lkIGxvX29wZW5kaXIoZnVzZV9yZXFfdCBy ZXEsIGZ1c2VfaW5vX3QgaW5vLCBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKmZpKQoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjM4OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzo2MTE6CiteSWludCBlcnJvciA9IEVOT01FTTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2Mzk6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjYxMjoKK15Jc3RydWN0IGxvX2RhdGEgKmxvID0gbG9fZGF0 YShyZXEpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY0MDog RklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NjEzOgorXklzdHJ1Y3QgbG9f ZGlycCAqZDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2NDE6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjYxNDoKK15JaW50IGZkOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY0MzogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NjE2OgorXklkID0gY2FsbG9jKDEsIHNpemVv ZihzdHJ1Y3QgbG9fZGlycCkpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzY0NDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NjE3Ogor XklpZiAoZCA9PSBOVUxMKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxs IGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzY0NDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6NjE3OgorICAgICAgIGlmIChkID09IE5VTEwpClsuLi5dCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2NDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9sbC5jOjYxODoKK15JXklnb3RvIG91dF9lcnI7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNjQ3OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv cGFzc3Rocm91Z2hfbGwuYzo2MjA6CiteSWZkID0gb3BlbmF0KGxvX2ZkKHJlcSwgaW5vKSwgIi4i LCBPX1JET05MWSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NjQ4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo2MjE6CiteSWlmIChm ZCA9PSAtMSkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9m IHRoaXMgc3RhdGVtZW50CiM2NDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjYyMToKKyAgICAgICBpZiAoZmQgPT0gLTEpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2NDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhy b3VnaF9sbC5jOjYyMjoKK15JXklnb3RvIG91dF9lcnJubzskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2NTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhy b3VnaF9sbC5jOjYyNDoKK15JZC0+ZHAgPSBmZG9wZW5kaXIoZmQpOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY1MjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6NjI1OgorXklpZiAoZC0+ZHAgPT0gTlVMTCkkCgpFUlJPUjogYnJhY2Vz IHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiM2NTI6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjYyNToKKyAgICAgICBpZiAoZC0+ ZHAgPT0gTlVMTCkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzY1MzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NjI2OgorXkle SWdvdG8gb3V0X2Vycm5vOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzY1NTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NjI4OgorXklk LT5vZmZzZXQgPSAwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzY1NjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NjI5OgorXklkLT5l bnRyeSA9IE5VTEw7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj NjU4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo2MzE6CiteSWZpLT5m aCA9ICh1aW50cHRyX3QpIGQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNjU5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo2MzI6Cite SWlmIChsby0+Y2FjaGUgPT0gQ0FDSEVfQUxXQVlTKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5l Y2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzY1OTogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NjMyOgorICAgICAgIGlmIChsby0+Y2FjaGUgPT0g Q0FDSEVfQUxXQVlTKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNjYwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo2MzM6Cite SV5JZmktPmtlZXBfY2FjaGUgPSAxOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzY2MTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NjM0 OgorXklmdXNlX3JlcGx5X29wZW4ocmVxLCBmaSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNjYyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hf bGwuYzo2MzU6CiteSXJldHVybjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM2NjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjYzODoK K15JZXJyb3IgPSBlcnJubzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM2Njc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjY0MDoKK15J aWYgKGQpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2Njg6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjY0MToKK15JXklpZiAoZmQg IT0gLTEpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0 aGlzIHN0YXRlbWVudAojNjY4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwu Yzo2NDE6CisgICAgICAgICAgICAgICBpZiAoZmQgIT0gLTEpClsuLi5dCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2Njk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjY0MjoKK15JXkleSWNsb3NlKGZkKTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2NzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNz dGhyb3VnaF9sbC5jOjY0MzoKK15JXklmcmVlKGQpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzY3MTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdo X2xsLmM6NjQ0OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojNjcyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo2NDU6CiteSWZ1 c2VfcmVwbHlfZXJyKHJlcSwgZXJyb3IpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzY3NzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6 NjUwOgorXklyZXR1cm4gbmFtZVswXSA9PSAnLicgJiYgKG5hbWVbMV0gPT0gJ1wwJyB8fCQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY3ODogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NjUxOgorXkleSV5JXkkgIChuYW1lWzFdID09ICcu JyAmJiBuYW1lWzJdID09ICdcMCcpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM2ODI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjY1 NToKK15JXkleSSAgb2ZmX3Qgb2Zmc2V0LCBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKmZpLCBpbnQg cGx1cykkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2ODQ6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjY1NzoKK15Jc3RydWN0IGxvX2Rp cnAgKmQgPSBsb19kaXJwKGZpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM2ODU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjY1ODoK K15JY2hhciAqYnVmOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzY4NjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NjU5OgorXkljaGFy ICpwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY4NzogRklM RTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NjYwOgorXklzaXplX3QgcmVtID0g c2l6ZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2ODg6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjY2MToKK15JaW50IGVycjskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2OTA6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjY2MzoKK15JKHZvaWQpIGlubzskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2OTI6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjY2NToKK15JYnVmID0gY2FsbG9jKDEsIHNpemUpOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY5MzogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NjY2OgorXklpZiAoIWJ1ZikgeyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY5NDogRklMRTogdG9vbHMvdmlydGlv ZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NjY3OgorXkleSWVyciA9IEVOT01FTTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM2OTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9sbC5jOjY2ODoKK15JXklnb3RvIGVycm9yOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzY5NjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6NjY5OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojNjk3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo2 NzA6CiteSXAgPSBidWY7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojNjk5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo2NzI6CiteSWlm IChvZmZzZXQgIT0gZC0+b2Zmc2V0KSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojNzAwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo2 NzM6CiteSV5Jc2Vla2RpcihkLT5kcCwgb2Zmc2V0KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM3MDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3Vn aF9sbC5jOjY3NDoKK15JXklkLT5lbnRyeSA9IE5VTEw7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojNzAyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91 Z2hfbGwuYzo2NzU6CiteSV5JZC0+b2Zmc2V0ID0gb2Zmc2V0OyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcwMzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6Njc2OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNzA0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo2Nzc6 CiteSXdoaWxlICgxKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojNzA1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo2Nzg6CiteSV5J c2l6ZV90IGVudHNpemU7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojNzA2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo2Nzk6CiteSV5J b2ZmX3QgbmV4dG9mZjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM3MDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjY4MDoKK15JXklj b25zdCBjaGFyICpuYW1lOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzcwOTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NjgyOgorXkle SWlmICghZC0+ZW50cnkpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM3MTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjY4MzoKK15J XkleSWVycm5vID0gMDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM3MTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjY4NDoKK15JXkle SWQtPmVudHJ5ID0gcmVhZGRpcihkLT5kcCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNzEyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwu Yzo2ODU6CiteSV5JXklpZiAoIWQtPmVudHJ5KSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNzEzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hf bGwuYzo2ODY6CiteSV5JXkleSWlmIChlcnJubykgeyAgLy8gRXJyb3IkCgpFUlJPUjogZG8gbm90 IHVzZSBDOTkgLy8gY29tbWVudHMKIzcxMzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6Njg2OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJubykg eyAgLy8gRXJyb3IKCkVSUk9SOiB0cmFpbGluZyBzdGF0ZW1lbnRzIHNob3VsZCBiZSBvbiBuZXh0 IGxpbmUKIzcxMzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6Njg2Ogor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJubykgeyAgLy8gRXJyb3IKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcxNDogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6Njg3OgorXkleSV5JXkleSWVyciA9IGVycm5vOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcxNTogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6Njg4OgorXkleSV5JXkleSWdvdG8gZXJyb3I7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzE2OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo2ODk6CiteSV5JXkleSX0gZWxzZSB7ICAv LyBFbmQgb2Ygc3RyZWFtJAoKRVJST1I6IGRvIG5vdCB1c2UgQzk5IC8vIGNvbW1lbnRzCiM3MTY6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjY4OToKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeyAgLy8gRW5kIG9mIHN0cmVhbQoKRVJST1I6IHRy YWlsaW5nIHdoaXRlc3BhY2UKIzcxNzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdo X2xsLmM6NjkwOgorXkleSV5JXkleSWJyZWFrOyAkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM3MTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjY5MDoKK15JXkleSV5JXklicmVhazsgJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNzE4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwu Yzo2OTE6CiteSV5JXkleSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM3MTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjY5MjoKK15J XkleSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3MjA6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjY5MzoKK15JXkl9JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzIxOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo2OTQ6CiteSV5JbmV4dG9mZiA9IGQtPmVudHJ5LT5kX29m ZjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3MjI6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjY5NToKK15JXkluYW1lID0gZC0+ZW50 cnktPmRfbmFtZTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3 MjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjY5NjoKK15JXklmdXNl X2lub190IGVudHJ5X2lubyA9IDA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojNzI0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo2OTc6 CiteSV5JaWYgKHBsdXMpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM3MjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjY5ODoKK15J XkleSXN0cnVjdCBmdXNlX2VudHJ5X3BhcmFtIGU7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNzI2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hf bGwuYzo2OTk6CiteSV5JXklpZiAoaXNfZG90X29yX2RvdGRvdChuYW1lKSkgeyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzcyNzogRklMRTogdG9vbHMvdmlydGlv ZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzAwOgorXkleSV5JXkllID0gKHN0cnVjdCBmdXNlX2VudHJ5 X3BhcmFtKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzI4 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo3MDE6CiteSV5JXkleSV5J LmF0dHIuc3RfaW5vID0gZC0+ZW50cnktPmRfaW5vLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzcyOTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdo X2xsLmM6NzAyOgorXkleSV5JXkleSS5hdHRyLnN0X21vZGUgPSBkLT5lbnRyeS0+ZF90eXBlIDw8 IDEyLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzczMDogRklM RTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzAzOgorXkleSV5JXkl9OyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzczMTogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzA0OgorXkleSV5JfSBlbHNlIHskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3MzI6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjcwNToKK15JXkleSV5JZXJyID0gbG9fZG9fbG9va3VwKHJl cSwgaW5vLCBuYW1lLCAmZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojNzMzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo3MDY6Cite SV5JXkleSWlmIChlcnIpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwg YXJtcyBvZiB0aGlzIHN0YXRlbWVudAojNzMzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Ro cm91Z2hfbGwuYzo3MDY6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycikK Wy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzczNDogRklM RTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzA3OgorXkleSV5JXkleSWdvdG8g ZXJyb3I7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzM1OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo3MDg6CiteSV5JXkleSWVudHJ5 X2lubyA9IGUuaW5vOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzczNjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzA5OgorXkleSV5J fSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzczODogRklMRTog dG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzExOgorXkleSV5JZW50c2l6ZSA9IGZ1 c2VfYWRkX2RpcmVudHJ5X3BsdXMocmVxLCBwLCByZW0sIG5hbWUsJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzM5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFz c3Rocm91Z2hfbGwuYzo3MTI6CiteSV5JXkleSV5JXkleSSAmZSwgbmV4dG9mZik7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzQwOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo3MTM6CiteSV5JfSBlbHNlIHskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjcxNDoKK15JXkleSXN0cnVjdCBzdGF0IHN0ID0geyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc0MjogRklMRTogdG9vbHMvdmlydGlv ZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzE1OgorXkleSV5JXkkuc3RfaW5vID0gZC0+ZW50cnktPmRf aW5vLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc0MzogRklM RTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzE2OgorXkleSV5JXkkuc3RfbW9k ZSA9IGQtPmVudHJ5LT5kX3R5cGUgPDwgMTIsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojNzQ0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwu Yzo3MTc6CiteSV5JXkl9OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzc0NTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzE4OgorXkle SV5JZW50c2l6ZSA9IGZ1c2VfYWRkX2RpcmVudHJ5KHJlcSwgcCwgcmVtLCBuYW1lLCQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc0NjogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzE5OgorXkleSV5JXkleSV5JICAgICZzdCwgbmV4dG9m Zik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzQ3OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo3MjA6CiteSV5JfSQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc0ODogRklMRTogdG9vbHMvdmlydGlv ZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzIxOgorXkleSWlmIChlbnRzaXplID4gcmVtKSB7JAoKRVJS T1I6IHRyYWlsaW5nIHdoaXRlc3BhY2UKIzc0OTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6NzIyOgorXkleSV5JaWYgKGVudHJ5X2lubyAhPSAwKSAkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9sbC5jOjcyMjoKK15JXkleSWlmIChlbnRyeV9pbm8gIT0gMCkgJAoKRVJS T1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVu dAojNzQ5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo3MjI6CisgICAg ICAgICAgICAgICAgICAgICAgIGlmIChlbnRyeV9pbm8gIT0gMCkgClsuLi5dCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9sbC5jOjcyMzoKK15JXkleSV5JbG9fZm9yZ2V0X29uZShyZXEsIGVudHJ5 X2lubywgMSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzUx OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo3MjQ6CiteSV5JXklicmVh azskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NTI6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjcyNToKK15JXkl9JAoKRVJST1I6IHRy YWlsaW5nIHdoaXRlc3BhY2UKIzc1MzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdo X2xsLmM6NzI2OgorXkleSSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzc1MzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzI2OgorXkle SSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc1NDogRklMRTog dG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzI3OgorXkleSXAgKz0gZW50c2l6ZTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NTU6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjcyODoKK15JXklyZW0gLT0gZW50c2l6ZTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NTc6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjczMDoKK15JXklkLT5lbnRyeSA9IE5VTEw7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzU4OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo3MzE6CiteSV5JZC0+b2Zmc2V0ID0gbmV4 dG9mZjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM3NTk6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjczMjoKK15JfSQKCkVSUk9SOiBk byBub3QgdXNlIEM5OSAvLyBjb21tZW50cwojNzYzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFz c3Rocm91Z2hfbGwuYzo3MzY6CisgICAgLy8gSWYgdGhlcmUncyBhbiBlcnJvciwgd2UgY2FuIG9u bHkgc2lnbmFsIGl0IGlmIHdlIGhhdmVuJ3Qgc3RvcmVkCgpFUlJPUjogZG8gbm90IHVzZSBDOTkg Ly8gY29tbWVudHMKIzc2NDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6 NzM3OgorICAgIC8vIGFueSBlbnRyaWVzIHlldCAtIG90aGVyd2lzZSB3ZSdkIGVuZCB1cCB3aXRo IHdyb25nIGxvb2t1cAoKRVJST1I6IGRvIG5vdCB1c2UgQzk5IC8vIGNvbW1lbnRzCiM3NjU6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjczODoKKyAgICAvLyBjb3VudHMg Zm9yIHRoZSBlbnRyaWVzIHRoYXQgYXJlIGFscmVhZHkgaW4gdGhlIGJ1ZmZlci4gU28gd2UKCkVS Uk9SOiBkbyBub3QgdXNlIEM5OSAvLyBjb21tZW50cwojNzY2OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzo3Mzk6CisgICAgLy8gcmV0dXJuIHdoYXQgd2UndmUgY29sbGVj dGVkIHVudGlsIHRoYXQgcG9pbnQuCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9y IGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiM3Njc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjc0MDoKKyAgICBpZiAoZXJyICYmIHJlbSA9PSBzaXplKQpbLi4uXQor ICAgIGVsc2UKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK Izc2ODogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzQxOgorXkkgICAg ZnVzZV9yZXBseV9lcnIocmVxLCBlcnIpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzc3MDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6 NzQzOgorXkkgICAgZnVzZV9yZXBseV9idWYocmVxLCBidWYsIHNpemUgLSByZW0pOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc3NTogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzQ4OgorXkleSSAgICAgICBvZmZfdCBvZmZzZXQsIHN0 cnVjdCBmdXNlX2ZpbGVfaW5mbyAqZmkpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojNzc3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo3 NTA6CiteSWxvX2RvX3JlYWRkaXIocmVxLCBpbm8sIHNpemUsIG9mZnNldCwgZmksIDApOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc4MTogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzU0OgorXkleSV5JICAgb2ZmX3Qgb2Zmc2V0LCBz dHJ1Y3QgZnVzZV9maWxlX2luZm8gKmZpKSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzc4MzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6 NzU2OgorXklsb19kb19yZWFkZGlyKHJlcSwgaW5vLCBzaXplLCBvZmZzZXQsIGZpLCAxKTskCgpX QVJOSU5HOiBsaW5lIG92ZXIgODAgY2hhcmFjdGVycwojNzg2OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzo3NTk6CitzdGF0aWMgdm9pZCBsb19yZWxlYXNlZGlyKGZ1c2Vf cmVxX3QgcmVxLCBmdXNlX2lub190IGlubywgc3RydWN0IGZ1c2VfZmlsZV9pbmZvICpmaSkKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc4ODogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzYxOgorXklzdHJ1Y3QgbG9fZGlycCAqZCA9IGxv X2RpcnAoZmkpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc4 OTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzYyOgorXkkodm9pZCkg aW5vOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc5MDogRklM RTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6NzYzOgorXkljbG9zZWRpcihkLT5k cCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzkxOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo3NjQ6CiteSWZyZWUoZCk7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzkyOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo3NjU6CiteSWZ1c2VfcmVwbHlfZXJyKHJlcSwgMCk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojNzk2OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo3Njk6CiteSV5JICAgICAgbW9kZV90IG1v ZGUsIHN0cnVjdCBmdXNlX2ZpbGVfaW5mbyAqZmkpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojNzk4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hf bGwuYzo3NzE6CiteSWludCBmZDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM3OTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjc3MjoK K15Jc3RydWN0IGxvX2RhdGEgKmxvID0gbG9fZGF0YShyZXEpOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgwMDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6NzczOgorXklzdHJ1Y3QgZnVzZV9lbnRyeV9wYXJhbSBlOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgwMTogRklMRTogdG9vbHMvdmlydGlv ZnNkL3Bhc3N0aHJvdWdoX2xsLmM6Nzc0OgorXklpbnQgZXJyOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgwMzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6Nzc2OgorXklpZiAobG9fZGVidWcocmVxKSkkCgpXQVJOSU5HOiBsaW5lIG92 ZXIgODAgY2hhcmFjdGVycwojODA0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hf bGwuYzo3Nzc6CisgICAgICAgICAgICAgICBmdXNlX2xvZyhGVVNFX0xPR19ERUJVRywgImxvX2Ny ZWF0ZShwYXJlbnQ9JSIgUFJJdTY0ICIsIG5hbWU9JXMpXG4iLAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojODA0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Ro cm91Z2hfbGwuYzo3Nzc6CiteSV5JZnVzZV9sb2coRlVTRV9MT0dfREVCVUcsICJsb19jcmVhdGUo cGFyZW50PSUiIFBSSXU2NCAiLCBuYW1lPSVzKVxuIiwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiM4MDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3Vn aF9sbC5jOjc3ODoKK15JXkleSXBhcmVudCwgbmFtZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojODA3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91 Z2hfbGwuYzo3ODA6CiteSWZkID0gb3BlbmF0KGxvX2ZkKHJlcSwgcGFyZW50KSwgbmFtZSwkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4MDg6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjc4MToKK15JXkkgICAgKGZpLT5mbGFncyB8IE9f Q1JFQVQpICYgfk9fTk9GT0xMT1csIG1vZGUpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzgwOTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xs LmM6NzgyOgorXklpZiAoZmQgPT0gLTEpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5 IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojODA5OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzo3ODI6CisgICAgICAgaWYgKGZkID09IC0xKQpbLi4uXQoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODEwOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo3ODM6CiteSV5JcmV0dXJuICh2b2lkKSBmdXNlX3Jl cGx5X2VycihyZXEsIGVycm5vKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM4MTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjc4NToK K15JZmktPmZoID0gZmQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojODEzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo3ODY6CiteSWlm IChsby0+Y2FjaGUgPT0gQ0FDSEVfTkVWRVIpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNz YXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojODEzOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo3ODY6CisgICAgICAgaWYgKGxvLT5jYWNoZSA9PSBDQUNI RV9ORVZFUikKWy4uLl0KKyAgICAgICBlbHNlIGlmIChsby0+Y2FjaGUgPT0gQ0FDSEVfQUxXQVlT KQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODE0OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo3ODc6CiteSV5JZmktPmRpcmVj dF9pbyA9IDE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODE1 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo3ODg6CiteSWVsc2UgaWYg KGxvLT5jYWNoZSA9PSBDQUNIRV9BTFdBWVMpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNz YXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojODE1OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo3ODg6CisgICAgICAgZWxzZSBpZiAobG8tPmNhY2hlID09 IENBQ0hFX0FMV0FZUykKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzgxNjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6Nzg5Ogor XkleSWZpLT5rZWVwX2NhY2hlID0gMTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM4MTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjc5 MToKK15JZXJyID0gbG9fZG9fbG9va3VwKHJlcSwgcGFyZW50LCBuYW1lLCAmZSk7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODE5OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo3OTI6CiteSWlmIChlcnIpJAoKRVJST1I6IGJyYWNlcyB7 fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojODE5OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo3OTI6CisgICAgICAgaWYgKGVycikK Wy4uLl0KKyAgICAgICBlbHNlClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM4MjA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjc5 MzoKK15JXklmdXNlX3JlcGx5X2VycihyZXEsIGVycik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojODIxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91 Z2hfbGwuYzo3OTQ6CiteSWVsc2UkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM4MjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjc5NToK K15JXklmdXNlX3JlcGx5X2NyZWF0ZShyZXEsICZlLCBmaSk7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojODI2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Ro cm91Z2hfbGwuYzo3OTk6CiteSV5JXklzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKmZpKSQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgyODogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODAxOgorXklpbnQgcmVzOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgyOTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6ODAyOgorXklpbnQgZmQgPSBkaXJmZChsb19kaXJwKGZpKS0+ZHApOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgzMDogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODAzOgorXkkodm9pZCkgaW5vOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgzMTogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODA0OgorXklpZiAoZGF0YXN5bmMpJAoKRVJST1I6IGJy YWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojODMx OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo4MDQ6CisgICAgICAgaWYg KGRhdGFzeW5jKQpbLi4uXQorICAgICAgIGVsc2UKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzgzMjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6ODA1OgorXkleSXJlcyA9IGZkYXRhc3luYyhmZCk7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODMzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFz c3Rocm91Z2hfbGwuYzo4MDY6CiteSWVsc2UkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM4MzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5j OjgwNzoKK15JXklyZXMgPSBmc3luYyhmZCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojODM1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwu Yzo4MDg6CiteSWZ1c2VfcmVwbHlfZXJyKHJlcSwgcmVzID09IC0xID8gZXJybm8gOiAwKTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4NDA6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjgxMzoKK15JaW50IGZkOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg0MTogRklMRTogdG9vbHMvdmlydGlvZnNk L3Bhc3N0aHJvdWdoX2xsLmM6ODE0OgorXkljaGFyIGJ1Zls2NF07JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODQyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFz c3Rocm91Z2hfbGwuYzo4MTU6CiteSXN0cnVjdCBsb19kYXRhICpsbyA9IGxvX2RhdGEocmVxKTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4NDQ6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjgxNzoKK15JaWYgKGxvX2RlYnVnKHJlcSkp JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODQ1OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo4MTg6CiteSV5JZnVzZV9sb2coRlVTRV9M T0dfREVCVUcsICJsb19vcGVuKGlubz0lIiBQUkl1NjQgIiwgZmxhZ3M9JWQpXG4iLCQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg0NjogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODE5OgorXkleSV5JaW5vLCBmaS0+ZmxhZ3MpOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg0ODogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODIxOgorXkkvKiBXaXRoIHdyaXRlYmFjayBjYWNo ZSwga2VybmVsIG1heSBzZW5kIHJlYWQgcmVxdWVzdHMgZXZlbiQKCldBUk5JTkc6IEJsb2NrIGNv bW1lbnRzIHVzZSBhIGxlYWRpbmcgLyogb24gYSBzZXBhcmF0ZSBsaW5lCiM4NDg6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjgyMToKKyAgICAgICAvKiBXaXRoIHdyaXRl YmFjayBjYWNoZSwga2VybmVsIG1heSBzZW5kIHJlYWQgcmVxdWVzdHMgZXZlbgoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODQ5OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzo4MjI6CiteSSAgIHdoZW4gdXNlcnNwYWNlIG9wZW5lZCB3cml0 ZS1vbmx5ICovJAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlICogb24gc3Vic2VxdWVudCBs aW5lcwojODQ5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo4MjI6Cisg ICAgICAgLyogV2l0aCB3cml0ZWJhY2sgY2FjaGUsIGtlcm5lbCBtYXkgc2VuZCByZWFkIHJlcXVl c3RzIGV2ZW4KKyAgICAgICAgICB3aGVuIHVzZXJzcGFjZSBvcGVuZWQgd3JpdGUtb25seSAqLwoK V0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlIGEgdHJhaWxpbmcgKi8gb24gYSBzZXBhcmF0ZSBs aW5lCiM4NDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjgyMjoKKyAg ICAgICAgICB3aGVuIHVzZXJzcGFjZSBvcGVuZWQgd3JpdGUtb25seSAqLwoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODUwOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv cGFzc3Rocm91Z2hfbGwuYzo4MjM6CiteSWlmIChsby0+d3JpdGViYWNrICYmIChmaS0+ZmxhZ3Mg JiBPX0FDQ01PREUpID09IE9fV1JPTkxZKSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojODUxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwu Yzo4MjQ6CiteSV5JZmktPmZsYWdzICY9IH5PX0FDQ01PREU7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojODUyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Ro cm91Z2hfbGwuYzo4MjU6CiteSV5JZmktPmZsYWdzIHw9IE9fUkRXUjskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4NTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjgyNjoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzg1NTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6 ODI4OgorXkkvKiBXaXRoIHdyaXRlYmFjayBjYWNoZSwgT19BUFBFTkQgaXMgaGFuZGxlZCBieSB0 aGUga2VybmVsLiQKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcgLyogb24g YSBzZXBhcmF0ZSBsaW5lCiM4NTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjgyODoKKyAgICAgICAvKiBXaXRoIHdyaXRlYmFjayBjYWNoZSwgT19BUFBFTkQgaXMgaGFu ZGxlZCBieSB0aGUga2VybmVsLgoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojODU2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo4Mjk6Cite SSAgIFRoaXMgYnJlYWtzIGF0b21pY2l0eSAoc2luY2UgdGhlIGZpbGUgbWF5IGNoYW5nZSBpbiB0 aGUkCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgKiBvbiBzdWJzZXF1ZW50IGxpbmVzCiM4 NTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjgyOToKKyAgICAgICAv KiBXaXRoIHdyaXRlYmFjayBjYWNoZSwgT19BUFBFTkQgaXMgaGFuZGxlZCBieSB0aGUga2VybmVs LgorICAgICAgICAgIFRoaXMgYnJlYWtzIGF0b21pY2l0eSAoc2luY2UgdGhlIGZpbGUgbWF5IGNo YW5nZSBpbiB0aGUKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg1 NzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODMwOgorXkkgICB1bmRl cmx5aW5nIGZpbGVzeXN0ZW0sIHNvIHRoYXQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlJAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODU4OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo4MzE6CiteSSAgIGVuZCBvZiB0aGUgZmlsZSBpc24n dCBhY2N1cmF0ZSBhbnltb3JlKS4gSW4gdGhpcyBleGFtcGxlLCQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg1OTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6ODMyOgorXkkgICB3ZSBqdXN0IGFjY2VwdCB0aGF0LiBBIG1vcmUgcmlnb3Jv dXMgZmlsZXN5c3RlbSBtYXkgd2FudCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzg2MDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODMz OgorXkkgICB0byByZXR1cm4gYW4gZXJyb3IgaGVyZSAqLyQKCldBUk5JTkc6IEJsb2NrIGNvbW1l bnRzIHVzZSBhIHRyYWlsaW5nICovIG9uIGEgc2VwYXJhdGUgbGluZQojODYwOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo4MzM6CisgICAgICAgICAgdG8gcmV0dXJuIGFu IGVycm9yIGhlcmUgKi8KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK Izg2MTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODM0OgorXklpZiAo bG8tPndyaXRlYmFjayAmJiAoZmktPmZsYWdzICYgT19BUFBFTkQpKSQKCkVSUk9SOiBicmFjZXMg e30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzg2MTogRklM RTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODM0OgorICAgICAgIGlmIChsby0+ d3JpdGViYWNrICYmIChmaS0+ZmxhZ3MgJiBPX0FQUEVORCkpClsuLi5dCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4NjI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjgzNToKK15JXklmaS0+ZmxhZ3MgJj0gfk9fQVBQRU5EOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg2NDogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODM3OgorXklzcHJpbnRmKGJ1ZiwgIi9wcm9jL3NlbGYv ZmQvJWkiLCBsb19mZChyZXEsIGlubykpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzg2NTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6 ODM4OgorXklmZCA9IG9wZW4oYnVmLCBmaS0+ZmxhZ3MgJiB+T19OT0ZPTExPVyk7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODY2OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo4Mzk6CiteSWlmIChmZCA9PSAtMSkkCgpFUlJPUjogYnJh Y2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiM4NjY6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjgzOToKKyAgICAgICBpZiAo ZmQgPT0gLTEpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM4Njc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjg0MDoKK15JXkly ZXR1cm4gKHZvaWQpIGZ1c2VfcmVwbHlfZXJyKHJlcSwgZXJybm8pOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg2OTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6ODQyOgorXklmaS0+ZmggPSBmZDskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4NzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhy b3VnaF9sbC5jOjg0MzoKK15JaWYgKGxvLT5jYWNoZSA9PSBDQUNIRV9ORVZFUikkCgpFUlJPUjog YnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiM4 NzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjg0MzoKKyAgICAgICBp ZiAobG8tPmNhY2hlID09IENBQ0hFX05FVkVSKQpbLi4uXQorICAgICAgIGVsc2UgaWYgKGxvLT5j YWNoZSA9PSBDQUNIRV9BTFdBWVMpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM4NzE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5j Ojg0NDoKK15JXklmaS0+ZGlyZWN0X2lvID0gMTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM4NzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjg0NToKK15JZWxzZSBpZiAobG8tPmNhY2hlID09IENBQ0hFX0FMV0FZUykkCgpFUlJPUjog YnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiM4 NzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjg0NToKKyAgICAgICBl bHNlIGlmIChsby0+Y2FjaGUgPT0gQ0FDSEVfQUxXQVlTKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFz c3Rocm91Z2hfbGwuYzo4NDY6CiteSV5JZmktPmtlZXBfY2FjaGUgPSAxOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg3NDogRklMRTogdG9vbHMvdmlydGlvZnNk L3Bhc3N0aHJvdWdoX2xsLmM6ODQ3OgorXklmdXNlX3JlcGx5X29wZW4ocmVxLCBmaSk7JAoKV0FS TklORzogbGluZSBvdmVyIDgwIGNoYXJhY3RlcnMKIzg3NzogRklMRTogdG9vbHMvdmlydGlvZnNk L3Bhc3N0aHJvdWdoX2xsLmM6ODUwOgorc3RhdGljIHZvaWQgbG9fcmVsZWFzZShmdXNlX3JlcV90 IHJlcSwgZnVzZV9pbm9fdCBpbm8sIHN0cnVjdCBmdXNlX2ZpbGVfaW5mbyAqZmkpCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4Nzk6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjg1MjoKK15JKHZvaWQpIGlubzskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4ODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjg1NDoKK15JY2xvc2UoZmktPmZoKTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4ODI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNz dGhyb3VnaF9sbC5jOjg1NToKK15JZnVzZV9yZXBseV9lcnIocmVxLCAwKTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4ODc6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9sbC5jOjg2MDoKK15JaW50IHJlczskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM4ODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhy b3VnaF9sbC5jOjg2MToKK15JKHZvaWQpIGlubzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM4ODk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjg2MjoKK15JcmVzID0gY2xvc2UoZHVwKGZpLT5maCkpOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg5MDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6ODYzOgorXklmdXNlX3JlcGx5X2VycihyZXEsIHJlcyA9PSAtMSA/IGVycm5v IDogMCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojODk0OiBG SUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo4Njc6CiteSV5JICAgICBzdHJ1 Y3QgZnVzZV9maWxlX2luZm8gKmZpKSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzg5NjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODY5 OgorXklpbnQgcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK Izg5NzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODcwOgorXkkodm9p ZCkgaW5vOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg5ODog RklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODcxOgorXklpZiAoZGF0YXN5 bmMpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlz IHN0YXRlbWVudAojODk4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo4 NzE6CisgICAgICAgaWYgKGRhdGFzeW5jKQpbLi4uXQorICAgICAgIGVsc2UKWy4uLl0KCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzg5OTogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODcyOgorXkleSXJlcyA9IGZkYXRhc3luYyhmaS0+Zmgp OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzkwMDogRklMRTog dG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODczOgorXkllbHNlJAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTAxOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzo4NzQ6CiteSV5JcmVzID0gZnN5bmMoZmktPmZoKTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5MDI6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjg3NToKK15JZnVzZV9yZXBseV9lcnIocmVxLCByZXMg PT0gLTEgPyBlcnJubyA6IDApOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzkwNjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODc5Ogor XkleSSAgICBvZmZfdCBvZmZzZXQsIHN0cnVjdCBmdXNlX2ZpbGVfaW5mbyAqZmkpJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTA4OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo4ODE6CiteSXN0cnVjdCBmdXNlX2J1ZnZlYyBidWYgPSBG VVNFX0JVRlZFQ19JTklUKHNpemUpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzkxMDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODgz OgorXklpZiAobG9fZGVidWcocmVxKSkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM5MTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjg4 NDoKK15JXklmdXNlX2xvZyhGVVNFX0xPR19ERUJVRywgImxvX3JlYWQoaW5vPSUiIFBSSXU2NCAi LCBzaXplPSV6ZCwgIiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzkxMjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODg1OgorXkleSV5J Im9mZj0lbHUpXG4iLCBpbm8sIHNpemUsICh1bnNpZ25lZCBsb25nKSBvZmZzZXQpOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzkxNDogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODg3OgorXklidWYuYnVmWzBdLmZsYWdzID0gRlVTRV9C VUZfSVNfRkQgfCBGVVNFX0JVRl9GRF9TRUVLOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzkxNTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xs LmM6ODg4OgorXklidWYuYnVmWzBdLmZkID0gZmktPmZoOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzkxNjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6ODg5OgorXklidWYuYnVmWzBdLnBvcyA9IG9mZnNldDskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5MTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjg5MToKK15JZnVzZV9yZXBseV9kYXRhKHJlcSwgJmJ1ZiwgRlVTRV9C VUZfU1BMSUNFX01PVkUpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzkyMjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6ODk1OgorXkle SV5JIHN0cnVjdCBmdXNlX2J1ZnZlYyAqaW5fYnVmLCBvZmZfdCBvZmYsJAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTIzOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv cGFzc3Rocm91Z2hfbGwuYzo4OTY6CiteSV5JXkkgc3RydWN0IGZ1c2VfZmlsZV9pbmZvICpmaSkk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5MjU6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjg5ODoKK15JKHZvaWQpIGlubzskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5MjY6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjg5OToKK15Jc3NpemVfdCByZXM7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTI3OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzo5MDA6CiteSXN0cnVjdCBmdXNlX2J1ZnZlYyBvdXRfYnVmID0g RlVTRV9CVUZWRUNfSU5JVChmdXNlX2J1Zl9zaXplKGluX2J1ZikpOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzkyOTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6OTAyOgorXklvdXRfYnVmLmJ1ZlswXS5mbGFncyA9IEZVU0VfQlVGX0lT X0ZEIHwgRlVTRV9CVUZfRkRfU0VFSzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM5MzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjkw MzoKK15Jb3V0X2J1Zi5idWZbMF0uZmQgPSBmaS0+Zmg7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojOTMxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91 Z2hfbGwuYzo5MDQ6CiteSW91dF9idWYuYnVmWzBdLnBvcyA9IG9mZjskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5MzM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjkwNjoKK15JaWYgKGxvX2RlYnVnKHJlcSkpJAoKV0FSTklORzogbGlu ZSBvdmVyIDgwIGNoYXJhY3RlcnMKIzkzNDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6OTA3OgorICAgICAgICAgICAgICAgZnVzZV9sb2coRlVTRV9MT0dfREVCVUcsICJs b193cml0ZShpbm89JSIgUFJJdTY0ICIsIHNpemU9JXpkLCBvZmY9JWx1KVxuIiwKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzkzNDogRklMRTogdG9vbHMvdmlydGlv ZnNkL3Bhc3N0aHJvdWdoX2xsLmM6OTA3OgorXkleSWZ1c2VfbG9nKEZVU0VfTE9HX0RFQlVHLCAi bG9fd3JpdGUoaW5vPSUiIFBSSXU2NCAiLCBzaXplPSV6ZCwgb2ZmPSVsdSlcbiIsJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTM1OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo5MDg6CiteSV5JXklpbm8sIG91dF9idWYuYnVmWzBdLnNp emUsICh1bnNpZ25lZCBsb25nKSBvZmYpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzkzNzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6 OTEwOgorXklyZXMgPSBmdXNlX2J1Zl9jb3B5KCZvdXRfYnVmLCBpbl9idWYsIDApOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzkzODogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6OTExOgorXklpZihyZXMgPCAwKSQKCkVSUk9SOiBzcGFj ZSByZXF1aXJlZCBiZWZvcmUgdGhlIG9wZW4gcGFyZW50aGVzaXMgJygnCiM5Mzg6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjkxMToKKyAgICAgICBpZihyZXMgPCAwKQoK RVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRl bWVudAojOTM4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo5MTE6Cisg ICAgICAgaWYocmVzIDwgMCkKWy4uLl0KKyAgICAgICBlbHNlClsuLi5dCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5Mzk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjkxMjoKK15JXklmdXNlX3JlcGx5X2VycihyZXEsIC1yZXMpOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk0MDogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6OTEzOgorXkllbHNlJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTQxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFz c3Rocm91Z2hfbGwuYzo5MTQ6CiteSV5JZnVzZV9yZXBseV93cml0ZShyZXEsIChzaXplX3QpIHJl cyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTQ2OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo5MTk6CiteSWludCByZXM7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTQ3OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo5MjA6CiteSXN0cnVjdCBzdGF0dmZzIHN0YnVmOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk0OTogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6OTIyOgorXklyZXMgPSBmc3RhdHZmcyhsb19m ZChyZXEsIGlubyksICZzdGJ1Zik7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojOTUwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo5MjM6 CiteSWlmIChyZXMgPT0gLTEpJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBh bGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojOTUwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFz c3Rocm91Z2hfbGwuYzo5MjM6CisgICAgICAgaWYgKHJlcyA9PSAtMSkKWy4uLl0KKyAgICAgICBl bHNlClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5NTE6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjkyNDoKK15JXklmdXNlX3Jl cGx5X2VycihyZXEsIGVycm5vKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM5NTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjkyNToK K15JZWxzZSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk1Mzog RklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6OTI2OgorXkleSWZ1c2VfcmVw bHlfc3RhdGZzKHJlcSwgJnN0YnVmKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiM5NTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjkz MDoKK15JXkleSSBvZmZfdCBvZmZzZXQsIG9mZl90IGxlbmd0aCwgc3RydWN0IGZ1c2VfZmlsZV9p bmZvICpmaSkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5NTk6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjkzMjoKK15JaW50IGVyciA9 IEVPUE5PVFNVUFA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj OTYwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo5MzM6CiteSSh2b2lk KSBpbm87JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTYzOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo5MzY6CiteSWVyciA9IGZhbGxv Y2F0ZShmaS0+ZmgsIG1vZGUsIG9mZnNldCwgbGVuZ3RoKTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5NjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhy b3VnaF9sbC5jOjkzNzoKK15JaWYgKGVyciA8IDApJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVj ZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojOTY0OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo5Mzc6CisgICAgICAgaWYgKGVyciA8IDApClsuLi5d CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5NjU6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjkzODoKK15JXkllcnIgPSBlcnJubzskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5Njg6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjk0MToKK15JaWYgKG1vZGUpIHskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5Njk6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjk0MjoKK15JXklmdXNlX3JlcGx5X2VycihyZXEsIEVPUE5P VFNVUFApOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk3MDog RklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6OTQzOgorXkleSXJldHVybjsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5NzE6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjk0NDoKK15JfSQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk3MzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6OTQ2OgorXkllcnIgPSBwb3NpeF9mYWxsb2NhdGUoZmktPmZoLCBvZmZz ZXQsIGxlbmd0aCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj OTc2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo5NDk6CiteSWZ1c2Vf cmVwbHlfZXJyKHJlcSwgZXJyKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiM5ODA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjk1MzoK K15JXkkgICAgIGludCBvcCkkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiM5ODI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjk1NToKK15J aW50IHJlczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5ODM6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjk1NjoKK15JKHZvaWQpIGlu bzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5ODU6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjk1ODoKK15JcmVzID0gZmxvY2soZmkt PmZoLCBvcCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTg3 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo5NjA6CiteSWZ1c2VfcmVw bHlfZXJyKHJlcSwgcmVzID09IC0xID8gZXJybm8gOiAwKTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5OTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhy b3VnaF9sbC5jOjk2NDoKK15JXkleSXNpemVfdCBzaXplKSQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk5MzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6OTY2OgorXkljaGFyICp2YWx1ZSA9IE5VTEw7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojOTk0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Ro cm91Z2hfbGwuYzo5Njc6CiteSWNoYXIgcHJvY25hbWVbNjRdOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk5NTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6OTY4OgorXklzdHJ1Y3QgbG9faW5vZGUgKmlub2RlID0gbG9faW5vZGUocmVx LCBpbm8pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzk5Njog RklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6OTY5OgorXklzc2l6ZV90IHJl dDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5OTc6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjk3MDoKK15JaW50IHNhdmVycjskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiM5OTk6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjk3MjoKK15Jc2F2ZXJyID0gRU5PU1lTOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMDA6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjk3MzoKK15JaWYgKCFsb19kYXRhKHJlcSktPnhh dHRyKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhp cyBzdGF0ZW1lbnQKIzEwMDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5j Ojk3MzoKKyAgICAgICBpZiAoIWxvX2RhdGEocmVxKS0+eGF0dHIpClsuLi5dCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDAxOiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzo5NzQ6CiteSV5JZ290byBvdXQ7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTAwMzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6OTc2OgorXklpZiAobG9fZGVidWcocmVxKSkgeyQKCkVSUk9SOiBsaW5l IG92ZXIgOTAgY2hhcmFjdGVycwojMTAwNDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6OTc3OgorICAgICAgICAgICAgICAgZnVzZV9sb2coRlVTRV9MT0dfREVCVUcsICJs b19nZXR4YXR0cihpbm89JSIgUFJJdTY0ICIsIG5hbWU9JXMgc2l6ZT0lemQpXG4iLAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTAwNDogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6OTc3OgorXkleSWZ1c2VfbG9nKEZVU0VfTE9HX0RFQlVH LCAibG9fZ2V0eGF0dHIoaW5vPSUiIFBSSXU2NCAiLCBuYW1lPSVzIHNpemU9JXpkKVxuIiwkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDA1OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo5Nzg6CiteSV5JXklpbm8sIG5hbWUsIHNpemUp OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMDY6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjk3OToKK15JfSQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9sbC5jOjk4MToKK15JaWYgKGlub2RlLT5pc19zeW1saW5rKSB7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTAwOTogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6OTgyOgorXkleSS8qIFNvcnJ5LCBubyByYWNlIGZy ZWUgd2F5IHRvIGdldHhhdHRyIG9uIHN5bWxpbmsuICovJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTAxMDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6OTgzOgorXkleSXNhdmVyciA9IEVQRVJNOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhy b3VnaF9sbC5jOjk4NDoKK15JXklnb3RvIG91dDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxMDEyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hf bGwuYzo5ODU6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxMDE0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo5ODc6CiteSXNw cmludGYocHJvY25hbWUsICIvcHJvYy9zZWxmL2ZkLyVpIiwgaW5vZGUtPmZkKTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDE2OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo5ODk6CiteSWlmIChzaXplKSB7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTAxNzogRklMRTogdG9vbHMvdmlydGlvZnNk L3Bhc3N0aHJvdWdoX2xsLmM6OTkwOgorXkleSXZhbHVlID0gbWFsbG9jKHNpemUpOyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMTg6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjk5MToKK15JXklpZiAoIXZhbHVlKSQKCkVSUk9SOiBi cmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzEw MTg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjk5MToKKyAgICAgICAg ICAgICAgIGlmICghdmFsdWUpClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMDE5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzo5 OTI6CiteSV5JXklnb3RvIG91dF9lcnI7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTAyMTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6 OTk0OgorXkleSXJldCA9IGdldHhhdHRyKHByb2NuYW1lLCBuYW1lLCB2YWx1ZSwgc2l6ZSk7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTAyMjogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6OTk1OgorXkleSWlmIChyZXQgPT0gLTEpJAoK RVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRl bWVudAojMTAyMjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6OTk1Ogor ICAgICAgICAgICAgICAgaWYgKHJldCA9PSAtMSkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhy b3VnaF9sbC5jOjk5NjoKK15JXkleSWdvdG8gb3V0X2VycjskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDI0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Ro cm91Z2hfbGwuYzo5OTc6CiteSV5Jc2F2ZXJyID0gMDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxMDI1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91 Z2hfbGwuYzo5OTg6CiteSV5JaWYgKHJldCA9PSAwKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5l Y2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzEwMjU6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjk5ODoKKyAgICAgICAgICAgICAgIGlmIChyZXQg PT0gMCkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEw MjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjk5OToKK15JXkleSWdv dG8gb3V0OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMjg6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwMDE6CiteSV5JZnVzZV9y ZXBseV9idWYocmVxLCB2YWx1ZSwgcmV0KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxMDI5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwu YzoxMDAyOgorXkl9IGVsc2UgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEwMzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwMDM6 CiteSV5JcmV0ID0gZ2V0eGF0dHIocHJvY25hbWUsIG5hbWUsIE5VTEwsIDApOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwMzE6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwMDQ6CiteSV5JaWYgKHJldCA9PSAtMSkkCgpFUlJPUjog YnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMx MDMxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMDA0OgorICAgICAg ICAgICAgICAgaWYgKHJldCA9PSAtMSkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzEwMzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjEwMDU6CiteSV5JXklnb3RvIG91dF9lcnI7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTAzNDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdo X2xsLmM6MTAwNzoKK15JXklmdXNlX3JlcGx5X3hhdHRyKHJlcSwgcmV0KTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDM1OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzoxMDA4OgorXkl9JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTAzNzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdo X2xsLmM6MTAxMDoKK15JZnJlZSh2YWx1ZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTAzODogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xs LmM6MTAxMToKK15JcmV0dXJuOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEwNDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwMTQ6 CiteSXNhdmVyciA9IGVycm5vOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEwNDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwMTY6 CiteSWZ1c2VfcmVwbHlfZXJyKHJlcSwgc2F2ZXJyKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxMDQ0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91 Z2hfbGwuYzoxMDE3OgorXklnb3RvIG91dF9mcmVlOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3Vn aF9sbC5jOjEwMjI6CiteSWNoYXIgKnZhbHVlID0gTlVMTDskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDUwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Ro cm91Z2hfbGwuYzoxMDIzOgorXkljaGFyIHByb2NuYW1lWzY0XTskCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDUxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFz c3Rocm91Z2hfbGwuYzoxMDI0OgorXklzdHJ1Y3QgbG9faW5vZGUgKmlub2RlID0gbG9faW5vZGUo cmVxLCBpbm8pOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEw NTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwMjU6CiteSXNzaXpl X3QgcmV0OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNTM6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwMjY6CiteSWludCBzYXZl cnI7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA1NTogRklM RTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTAyODoKK15Jc2F2ZXJyID0gRU5P U1lTOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNTY6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwMjk6CiteSWlmICghbG9fZGF0 YShyZXEpLT54YXR0cikkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBh cm1zIG9mIHRoaXMgc3RhdGVtZW50CiMxMDU2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Ro cm91Z2hfbGwuYzoxMDI5OgorICAgICAgIGlmICghbG9fZGF0YShyZXEpLT54YXR0cikKWy4uLl0K CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNTc6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwMzA6CiteSV5JZ290byBvdXQ7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA1OTogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTAzMjoKK15JaWYgKGxvX2RlYnVnKHJlcSkpIHsk CgpXQVJOSU5HOiBsaW5lIG92ZXIgODAgY2hhcmFjdGVycwojMTA2MDogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTAzMzoKKyAgICAgICAgICAgICAgIGZ1c2VfbG9nKEZV U0VfTE9HX0RFQlVHLCAibG9fbGlzdHhhdHRyKGlubz0lIiBQUkl1NjQgIiwgc2l6ZT0lemQpXG4i LAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA2MDogRklMRTog dG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTAzMzoKK15JXklmdXNlX2xvZyhGVVNF X0xPR19ERUJVRywgImxvX2xpc3R4YXR0cihpbm89JSIgUFJJdTY0ICIsIHNpemU9JXpkKVxuIiwk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDYxOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMDM0OgorXkleSV5JaW5vLCBzaXplKTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDYyOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMDM1OgorXkl9JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA2NDogRklMRTogdG9vbHMvdmlydGlvZnNk L3Bhc3N0aHJvdWdoX2xsLmM6MTAzNzoKK15JaWYgKGlub2RlLT5pc19zeW1saW5rKSB7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA2NTogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTAzODoKK15JXkkvKiBTb3JyeSwgbm8gcmFjZSBm cmVlIHdheSB0byBsaXN0eGF0dHIgb24gc3ltbGluay4gKi8kCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDY2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Ro cm91Z2hfbGwuYzoxMDM5OgorXkleSXNhdmVyciA9IEVQRVJNOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNjc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNz dGhyb3VnaF9sbC5jOjEwNDA6CiteSV5JZ290byBvdXQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTA2ODogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6MTA0MToKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEwNzA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwNDM6 CiteSXNwcmludGYocHJvY25hbWUsICIvcHJvYy9zZWxmL2ZkLyVpIiwgaW5vZGUtPmZkKTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDcyOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMDQ1OgorXklpZiAoc2l6ZSkgeyQKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNzM6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwNDY6CiteSV5JdmFsdWUgPSBtYWxsb2Moc2l6ZSk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA3NDogRklMRTog dG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTA0NzoKK15JXklpZiAoIXZhbHVlKSQK CkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0 ZW1lbnQKIzEwNzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwNDc6 CisgICAgICAgICAgICAgICBpZiAoIXZhbHVlKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTA3NTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6MTA0ODoKK15JXkleSWdvdG8gb3V0X2VycjskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDc3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Ro cm91Z2hfbGwuYzoxMDUwOgorXkleSXJldCA9IGxpc3R4YXR0cihwcm9jbmFtZSwgdmFsdWUsIHNp emUpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNzg6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwNTE6CiteSV5JaWYgKHJldCA9 PSAtMSkkCgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRo aXMgc3RhdGVtZW50CiMxMDc4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwu YzoxMDUxOgorICAgICAgICAgICAgICAgaWYgKHJldCA9PSAtMSkKWy4uLl0KCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwNzk6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9sbC5jOjEwNTI6CiteSV5JXklnb3RvIG91dF9lcnI7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA4MDogRklMRTogdG9vbHMvdmlydGlv ZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTA1MzoKK15JXklzYXZlcnIgPSAwOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwODE6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9sbC5jOjEwNTQ6CiteSV5JaWYgKHJldCA9PSAwKSQKCkVSUk9SOiBicmFj ZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzEwODE6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwNTQ6CisgICAgICAgICAg ICAgICBpZiAocmV0ID09IDApClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVy IHVzZSB0YWJzCiMxMDgyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzox MDU1OgorXkleSV5JZ290byBvdXQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMTA4NDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTA1 NzoKK15JXklmdXNlX3JlcGx5X2J1ZihyZXEsIHZhbHVlLCByZXQpOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwODU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjEwNTg6CiteSX0gZWxzZSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTA4NjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6MTA1OToKK15JXklyZXQgPSBsaXN0eGF0dHIocHJvY25hbWUsIE5VTEwsIDApOyQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwODc6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwNjA6CiteSV5JaWYgKHJldCA9PSAtMSkk CgpFUlJPUjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3Rh dGVtZW50CiMxMDg3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMDYw OgorICAgICAgICAgICAgICAgaWYgKHJldCA9PSAtMSkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEwODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNz dGhyb3VnaF9sbC5jOjEwNjE6CiteSV5JXklnb3RvIG91dF9lcnI7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA5MDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6MTA2MzoKK15JXklmdXNlX3JlcGx5X3hhdHRyKHJlcSwgcmV0KTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMDkxOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMDY0OgorXkl9JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA5MzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6MTA2NjoKK15JZnJlZSh2YWx1ZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTA5NDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6MTA2NzoKK15JcmV0dXJuOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzEwOTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjEwNzA6CiteSXNhdmVyciA9IGVycm5vOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzEwOTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjEwNzI6CiteSWZ1c2VfcmVwbHlfZXJyKHJlcSwgc2F2ZXJyKTskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTAwOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv cGFzc3Rocm91Z2hfbGwuYzoxMDczOgorXklnb3RvIG91dF9mcmVlOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExMDQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjEwNzc6CiteSV5JXkljb25zdCBjaGFyICp2YWx1ZSwgc2l6ZV90IHNp emUsIGludCBmbGFncykkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxMTA2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMDc5OgorXklj aGFyIHByb2NuYW1lWzY0XTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxMTA3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMDgwOgor XklzdHJ1Y3QgbG9faW5vZGUgKmlub2RlID0gbG9faW5vZGUocmVxLCBpbm8pOyQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExMDg6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwODE6CiteSXNzaXplX3QgcmV0OyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExMDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9sbC5jOjEwODI6CiteSWludCBzYXZlcnI7JAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTExMTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6MTA4NDoKK15Jc2F2ZXJyID0gRU5PU1lTOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExMTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjEwODU6CiteSWlmICghbG9fZGF0YShyZXEpLT54YXR0cikkCgpFUlJP UjogYnJhY2VzIHt9IGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50 CiMxMTEyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMDg1OgorICAg ICAgIGlmICghbG9fZGF0YShyZXEpLT54YXR0cikKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExMTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhy b3VnaF9sbC5jOjEwODY6CiteSV5JZ290byBvdXQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTExNTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdo X2xsLmM6MTA4ODoKK15JaWYgKGxvX2RlYnVnKHJlcSkpIHskCgpFUlJPUjogbGluZSBvdmVyIDkw IGNoYXJhY3RlcnMKIzExMTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5j OjEwODk6CisgICAgICAgICAgICAgICBmdXNlX2xvZyhGVVNFX0xPR19ERUJVRywgImxvX3NldHhh dHRyKGlubz0lIiBQUkl1NjQgIiwgbmFtZT0lcyB2YWx1ZT0lcyBzaXplPSV6ZClcbiIsCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTE2OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMDg5OgorXkleSWZ1c2VfbG9nKEZVU0VfTE9HX0RF QlVHLCAibG9fc2V0eGF0dHIoaW5vPSUiIFBSSXU2NCAiLCBuYW1lPSVzIHZhbHVlPSVzIHNpemU9 JXpkKVxuIiwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTE3 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMDkwOgorXkleSV5JaW5v LCBuYW1lLCB2YWx1ZSwgc2l6ZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMTExODogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTA5 MToKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExMjA6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwOTM6CiteSWlmIChpbm9k ZS0+aXNfc3ltbGluaykgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzExMjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwOTQ6Cite SV5JLyogU29ycnksIG5vIHJhY2UgZnJlZSB3YXkgdG8gc2V0eGF0dHIgb24gc3ltbGluay4gKi8k CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTIyOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMDk1OgorXkleSXNhdmVyciA9IEVQRVJN OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExMjM6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEwOTY6CiteSV5JZ290byBvdXQ7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTEyNDogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTA5NzoKK15JfSQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExMjY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjEwOTk6CiteSXNwcmludGYocHJvY25hbWUsICIvcHJvYy9zZWxmL2Zk LyVpIiwgaW5vZGUtPmZkKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxMTI4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMTAxOgor XklyZXQgPSBzZXR4YXR0cihwcm9jbmFtZSwgbmFtZSwgdmFsdWUsIHNpemUsIGZsYWdzKTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTI5OiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMTAyOgorXklzYXZlcnIgPSByZXQgPT0gLTEg PyBlcnJubyA6IDA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTEzMjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTEwNToKK15JZnVz ZV9yZXBseV9lcnIocmVxLCBzYXZlcnIpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzExMzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5j OjExMTA6CiteSWNoYXIgcHJvY25hbWVbNjRdOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzExMzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjExMTE6CiteSXN0cnVjdCBsb19pbm9kZSAqaW5vZGUgPSBsb19pbm9kZShyZXEsIGlubyk7 JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTEzOTogRklMRTog dG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTExMjoKK15Jc3NpemVfdCByZXQ7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE0MDogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTExMzoKK15JaW50IHNhdmVycjskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTQyOiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMTE1OgorXklzYXZlcnIgPSBFTk9TWVM7JAoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE0MzogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTExNjoKK15JaWYgKCFsb19kYXRhKHJlcSktPnhh dHRyKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhp cyBzdGF0ZW1lbnQKIzExNDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5j OjExMTY6CisgICAgICAgaWYgKCFsb19kYXRhKHJlcSktPnhhdHRyKQpbLi4uXQoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE0NDogRklMRTogdG9vbHMvdmlydGlv ZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTExNzoKK15JXklnb3RvIG91dDskCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTQ2OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv cGFzc3Rocm91Z2hfbGwuYzoxMTE5OgorXklpZiAobG9fZGVidWcocmVxKSkgeyQKCldBUk5JTkc6 IGxpbmUgb3ZlciA4MCBjaGFyYWN0ZXJzCiMxMTQ3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFz c3Rocm91Z2hfbGwuYzoxMTIwOgorICAgICAgICAgICAgICAgZnVzZV9sb2coRlVTRV9MT0dfREVC VUcsICJsb19yZW1vdmV4YXR0cihpbm89JSIgUFJJdTY0ICIsIG5hbWU9JXMpXG4iLAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE0NzogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTEyMDoKK15JXklmdXNlX2xvZyhGVVNFX0xPR19ERUJV RywgImxvX3JlbW92ZXhhdHRyKGlubz0lIiBQUkl1NjQgIiwgbmFtZT0lcylcbiIsJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE0ODogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTEyMToKK15JXkleSWlubywgbmFtZSk7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE0OTogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTEyMjoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExNTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhy b3VnaF9sbC5jOjExMjQ6CiteSWlmIChpbm9kZS0+aXNfc3ltbGluaykgeyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExNTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9sbC5jOjExMjU6CiteSV5JLyogU29ycnksIG5vIHJhY2UgZnJlZSB3YXkg dG8gc2V0eGF0dHIgb24gc3ltbGluay4gKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxMTUzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwu YzoxMTI2OgorXkleSXNhdmVyciA9IEVQRVJNOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzExNTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjExMjc6CiteSV5JZ290byBvdXQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTE1NTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6 MTEyODoKK15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEx NTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjExMzA6CiteSXNwcmlu dGYocHJvY25hbWUsICIvcHJvYy9zZWxmL2ZkLyVpIiwgaW5vZGUtPmZkKTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTU5OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzoxMTMyOgorXklyZXQgPSByZW1vdmV4YXR0cihwcm9jbmFtZSwg bmFtZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE2MDog RklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTEzMzoKK15Jc2F2ZXJyID0g cmV0ID09IC0xID8gZXJybm8gOiAwOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzExNjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEx MzY6CiteSWZ1c2VfcmVwbHlfZXJyKHJlcSwgc2F2ZXJyKTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTY4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Ro cm91Z2hfbGwuYzoxMTQxOgorXkleSV5JICAgICAgIHN0cnVjdCBmdXNlX2ZpbGVfaW5mbyAqZmlf aW4sJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE2OTogRklM RTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTE0MjoKK15JXkleSSAgICAgICBm dXNlX2lub190IGlub19vdXQsIG9mZl90IG9mZl9vdXQsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTE3MDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6MTE0MzoKK15JXkleSSAgICAgICBzdHJ1Y3QgZnVzZV9maWxlX2luZm8gKmZpX291 dCwgc2l6ZV90IGxlbiwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxMTcxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMTQ0OgorXkle SV5JICAgICAgIGludCBmbGFncykkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxMTczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMTQ2 OgorXklzc2l6ZV90IHJlczskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxMTc1OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMTQ4Ogor XklpZiAobG9fZGVidWcocmVxKSkkCgpXQVJOSU5HOiBsaW5lIG92ZXIgODAgY2hhcmFjdGVycwoj MTE3NjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTE0OToKKyAgICAg ICAgICAgICAgIGZ1c2VfbG9nKEZVU0VfTE9HX0RFQlVHLCAibG9fY29weV9maWxlX3JhbmdlKGlu bz0lIiBQUkl1NjQgIi9mZD0lbHUsICIKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzExNzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEx NDk6CiteSV5JZnVzZV9sb2coRlVTRV9MT0dfREVCVUcsICJsb19jb3B5X2ZpbGVfcmFuZ2UoaW5v PSUiIFBSSXU2NCAiL2ZkPSVsdSwgIiQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzExNzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEx NTA6CiteSV5JXkleSSJvZmY9JWx1LCBpbm89JSIgUFJJdTY0ICIvZmQ9JWx1LCAiJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE3ODogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTE1MToKK15JXkleSV5JIm9mZj0lbHUsIHNpemU9JXpk LCBmbGFncz0weCV4KVxuIiwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxMTc5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMTUyOgor XkleSV5JaW5vX2luLCBmaV9pbi0+ZmgsIG9mZl9pbiwgaW5vX291dCwgZmlfb3V0LT5maCwgb2Zm X291dCwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTgwOiBG SUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMTUzOgorXkleSV5JbGVuLCBm bGFncyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE4Mjog RklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTE1NToKK15JcmVzID0gY29w eV9maWxlX3JhbmdlKGZpX2luLT5maCwgJm9mZl9pbiwgZmlfb3V0LT5maCwgJm9mZl9vdXQsIGxl biwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTgzOiBGSUxF OiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMTU2OgorXkleSV5JICAgICAgZmxh Z3MpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExODQ6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjExNTc6CiteSWlmIChyZXMgPCAw KSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBz dGF0ZW1lbnQKIzExODQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEx NTc6CisgICAgICAgaWYgKHJlcyA8IDApClsuLi5dCisgICAgICAgZWxzZQpbLi4uXQoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE4NTogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTE1ODoKK15JXklmdXNlX3JlcGx5X2VycihyZXEsIC1l cnJubyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE4Njog RklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTE1OToKK15JZWxzZSQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzExODc6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjExNjA6CiteSV5JZnVzZV9yZXBseV93cml0ZShy ZXEsIHJlcyk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTE5 MjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTE2NToKK15JXkkgICAg IHN0cnVjdCBmdXNlX2ZpbGVfaW5mbyAqZmkpJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTE5NDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xs LmM6MTE2NzoKK15Jb2ZmX3QgcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzExOTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEx Njk6CiteSSh2b2lkKWlubzskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxMTk3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMTcwOgor XklyZXMgPSBsc2VlayhmaS0+ZmgsIG9mZiwgd2hlbmNlKTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMTk4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Ro cm91Z2hfbGwuYzoxMTcxOgorXklpZiAocmVzICE9IC0xKSQKCkVSUk9SOiBicmFjZXMge30gYXJl IG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzExOTg6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjExNzE6CisgICAgICAgaWYgKHJlcyAhPSAt MSkKWy4uLl0KKyAgICAgICBlbHNlClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxMTk5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwu YzoxMTcyOgorXkleSWZ1c2VfcmVwbHlfbHNlZWsocmVxLCByZXMpOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjExNzM6CiteSWVsc2UkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxMjAxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hf bGwuYzoxMTc0OgorXkleSWZ1c2VfcmVwbHlfZXJyKHJlcSwgZXJybm8pOyQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9sbC5jOjExNzg6CiteSS5pbml0XkleST0gbG9faW5pdCwkCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjA2OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMTc5OgorXkkubG9va3VwXkleST0gbG9fbG9va3VwLCQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMDc6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjExODA6CiteSS5ta2Rpcl5JXkk9IGxvX21r ZGlyLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMDg6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjExODE6CiteSS5ta25vZF5JXkk9 IGxvX21rbm9kLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEy MDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjExODI6CiteSS5zeW1s aW5rXkk9IGxvX3N5bWxpbmssJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMTIxMDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTE4MzoK K15JLmxpbmteSV5JPSBsb19saW5rLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzEyMTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEx ODQ6CiteSS51bmxpbmteSV5JPSBsb191bmxpbmssJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTIxMjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdo X2xsLmM6MTE4NToKK15JLnJtZGlyXkleST0gbG9fcm1kaXIsJAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIxMzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6MTE4NjoKK15JLnJlbmFtZV5JXkk9IGxvX3JlbmFtZSwkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjE0OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzoxMTg3OgorXkkuZm9yZ2V0XkleST0gbG9fZm9yZ2V0LCQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMTU6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjExODg6CiteSS5mb3JnZXRfbXVsdGleST0gbG9f Zm9yZ2V0X211bHRpLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzEyMTY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjExODk6CiteSS5n ZXRhdHRyXkk9IGxvX2dldGF0dHIsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1 c2UgdGFicwojMTIxNzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTE5 MDoKK15JLnNldGF0dHJeST0gbG9fc2V0YXR0ciwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxMjE4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hf bGwuYzoxMTkxOgorXkkucmVhZGxpbmteST0gbG9fcmVhZGxpbmssJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTIxOTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6MTE5MjoKK15JLm9wZW5kaXJeST0gbG9fb3BlbmRpciwkCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjIwOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMTkzOgorXkkucmVhZGRpcl5JPSBsb19yZWFkZGlyLCQK CkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMjE6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjExOTQ6CiteSS5yZWFkZGlycGx1c15JPSBs b19yZWFkZGlycGx1cywkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxMjIyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMTk1OgorXkku cmVsZWFzZWRpcl5JPSBsb19yZWxlYXNlZGlyLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzEyMjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjExOTY6CiteSS5mc3luY2Rpcl5JPSBsb19mc3luY2RpciwkCgpFUlJPUjogY29kZSBpbmRl bnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjI0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFz c3Rocm91Z2hfbGwuYzoxMTk3OgorXkkuY3JlYXRlXkleST0gbG9fY3JlYXRlLCQKCkVSUk9SOiBj b2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMjU6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjExOTg6CiteSS5vcGVuXkleST0gbG9fb3BlbiwkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjI2OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMTk5OgorXkkucmVsZWFzZV5JPSBsb19yZWxlYXNl LCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMjc6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEyMDA6CiteSS5mbHVzaF5JXkk9IGxv X2ZsdXNoLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMjg6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEyMDE6CiteSS5mc3luY15J Xkk9IGxvX2ZzeW5jLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzEyMjk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEyMDI6CiteSS5y ZWFkXkleST0gbG9fcmVhZCwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxMjMwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMjAzOgor Xkkud3JpdGVfYnVmICAgICAgPSBsb193cml0ZV9idWYsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTIzMTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6MTIwNDoKK15JLnN0YXRmc15JXkk9IGxvX3N0YXRmcywkCgpFUlJPUjogY29kZSBp bmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjMyOiBGSUxFOiB0b29scy92aXJ0aW9mc2Qv cGFzc3Rocm91Z2hfbGwuYzoxMjA1OgorXkkuZmFsbG9jYXRlXkk9IGxvX2ZhbGxvY2F0ZSwkCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjMzOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMjA2OgorXkkuZmxvY2teSV5JPSBsb19mbG9j aywkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjM0OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMjA3OgorXkkuZ2V0eGF0dHJeST0g bG9fZ2V0eGF0dHIsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTIzNTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTIwODoKK15JLmxp c3R4YXR0cl5JPSBsb19saXN0eGF0dHIsJAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZl ciB1c2UgdGFicwojMTIzNjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6 MTIwOToKK15JLnNldHhhdHRyXkk9IGxvX3NldHhhdHRyLCQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyMzc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhy b3VnaF9sbC5jOjEyMTA6CiteSS5yZW1vdmV4YXR0cl5JPSBsb19yZW1vdmV4YXR0ciwkCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjM5OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMjEyOgorXkkuY29weV9maWxlX3JhbmdlID0gbG9f Y29weV9maWxlX3JhbmdlLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRh YnMKIzEyNDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEyMTQ6Cite SS5sc2Vla15JXkk9IGxvX2xzZWVrLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzEyNDY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEy MTk6CiteSXN0cnVjdCBmdXNlX2FyZ3MgYXJncyA9IEZVU0VfQVJHU19JTklUKGFyZ2MsIGFyZ3Yp OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNDc6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEyMjA6CiteSXN0cnVjdCBmdXNlX3Nl c3Npb24gKnNlOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEy NDg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEyMjE6CiteSXN0cnVj dCBmdXNlX2NtZGxpbmVfb3B0cyBvcHRzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzEyNDk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5j OjEyMjI6CiteSXN0cnVjdCBsb19kYXRhIGxvID0geyAuZGVidWcgPSAwLCQKCkVSUk9SOiBjb2Rl IGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9wYXNzdGhyb3VnaF9sbC5jOjEyMjM6CiteSSAgICAgICAgICAgICAgICAgICAgICAud3JpdGVi YWNrID0gMCB9OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEy NTE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEyMjQ6CiteSWludCBy ZXQgPSAtMTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjUz OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMjI2OgorXkkvKiBEb24n dCBtYXNrIGNyZWF0aW9uIG1vZGUsIGtlcm5lbCBhbHJlYWR5IGRpZCB0aGF0ICovJAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTI1NDogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTIyNzoKK15JdW1hc2soMCk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTI1NjogRklMRTogdG9vbHMvdmlydGlvZnNk L3Bhc3N0aHJvdWdoX2xsLmM6MTIyOToKK15JcHRocmVhZF9tdXRleF9pbml0KCZsby5tdXRleCwg TlVMTCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTI1Nzog RklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTIzMDoKK15JbG8ucm9vdC5u ZXh0ID0gbG8ucm9vdC5wcmV2ID0gJmxvLnJvb3Q7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTI1ODogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdo X2xsLmM6MTIzMToKK15JbG8ucm9vdC5mZCA9IC0xOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3Vn aF9sbC5jOjEyMzI6CiteSWxvLmNhY2hlID0gQ0FDSEVfTk9STUFMOyQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjEyMzQ6CiteSWlmIChmdXNlX3BhcnNlX2NtZGxpbmUoJmFyZ3MsICZv cHRzKSAhPSAwKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMg b2YgdGhpcyBzdGF0ZW1lbnQKIzEyNjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3Vn aF9sbC5jOjEyMzQ6CisgICAgICAgaWYgKGZ1c2VfcGFyc2VfY21kbGluZSgmYXJncywgJm9wdHMp ICE9IDApClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx MjYyOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMjM1OgorXkleSXJl dHVybiAxOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNjM6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEyMzY6CiteSWlmIChvcHRz LnNob3dfaGVscCkgeyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzEyNjQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEyMzc6CiteSV5J cHJpbnRmKCJ1c2FnZTogJXMgW29wdGlvbnNdIDxtb3VudHBvaW50PlxuXG4iLCBhcmd2WzBdKTsk CgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjY1OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMjM4OgorXkleSWZ1c2VfY21kbGluZV9o ZWxwKCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTI2Njog RklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTIzOToKK15JXklmdXNlX2xv d2xldmVsX2hlbHAoKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxMjY3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMjQwOgorXkle SXJldCA9IDA7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTI2 ODogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTI0MToKK15JXklnb3Rv IGVycl9vdXQxOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEy Njk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEyNDI6CiteSX0gZWxz ZSBpZiAob3B0cy5zaG93X3ZlcnNpb24pIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxMjcwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwu YzoxMjQzOgorXkleSXByaW50ZigiRlVTRSBsaWJyYXJ5IHZlcnNpb24gJXNcbiIsIGZ1c2VfcGtn dmVyc2lvbigpKTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMx MjcxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMjQ0OgorXkleSWZ1 c2VfbG93bGV2ZWxfdmVyc2lvbigpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzEyNzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEy NDU6CiteSV5JcmV0ID0gMDskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0 YWJzCiMxMjczOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMjQ2Ogor XkleSWdvdG8gZXJyX291dDE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojMTI3NDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTI0NzoK K15JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNzY6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEyNDk6CiteSWlmKG9wdHMubW91 bnRwb2ludCA9PSBOVUxMKSB7JAoKRVJST1I6IHNwYWNlIHJlcXVpcmVkIGJlZm9yZSB0aGUgb3Bl biBwYXJlbnRoZXNpcyAnKCcKIzEyNzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3Vn aF9sbC5jOjEyNDk6CisgICAgICAgaWYob3B0cy5tb3VudHBvaW50ID09IE5VTEwpIHsKCkVSUk9S OiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNzc6IEZJTEU6IHRvb2xzL3Zp cnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEyNTA6CiteSV5JcHJpbnRmKCJ1c2FnZTogJXMgW29w dGlvbnNdIDxtb3VudHBvaW50PlxuIiwgYXJndlswXSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTI3ODogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6MTI1MToKK15JXklwcmludGYoIiAgICAgICAlcyAtLWhlbHBcbiIsIGFyZ3ZbMF0p OyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyNzk6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEyNTI6CiteSV5JcmV0ID0gMTskCgpF UlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjgwOiBGSUxFOiB0b29s cy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMjUzOgorXkleSWdvdG8gZXJyX291dDE7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTI4MTogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTI1NDoKK15JfSQKCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEyODM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjEyNTY6CiteSWlmIChmdXNlX29wdF9wYXJzZSgmYXJncywgJmxvLCBs b19vcHRzLCBOVUxMKT09IC0xKSQKCkVSUk9SOiBzcGFjZXMgcmVxdWlyZWQgYXJvdW5kIHRoYXQg Jz09JyAoY3R4OlZ4VykKIzEyODM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjEyNTY6CisgICAgICAgaWYgKGZ1c2Vfb3B0X3BhcnNlKCZhcmdzLCAmbG8sIGxvX29wdHMs IE5VTEwpPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBv ZiB0aGlzIHN0YXRlbWVudAojMTI4MzogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdo X2xsLmM6MTI1NjoKKyAgICAgICBpZiAoZnVzZV9vcHRfcGFyc2UoJmFyZ3MsICZsbywgbG9fb3B0 cywgTlVMTCk9PSAtMSkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEyODQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEyNTc6 CiteSV5JcmV0dXJuIDE7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTI4NjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTI1OToKK15J bG8uZGVidWcgPSBvcHRzLmRlYnVnOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzEyODc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEy NjA6CiteSWxvLnJvb3QucmVmY291bnQgPSAyOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzEyODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjEyNjE6CiteSWlmIChsby5zb3VyY2UpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiMxMjg5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hf bGwuYzoxMjYyOgorXkleSXN0cnVjdCBzdGF0IHN0YXQ7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTI5MDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6MTI2MzoKK15JXklpbnQgcmVzOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzEyOTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjEyNjU6CiteSV5JcmVzID0gbHN0YXQobG8uc291cmNlLCAmc3RhdCk7JAoKRVJST1I6IGNv ZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTI5MzogRklMRTogdG9vbHMvdmlydGlv ZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTI2NjoKK15JXklpZiAocmVzID09IC0xKSB7JAoKV0FSTklO RzogbGluZSBvdmVyIDgwIGNoYXJhY3RlcnMKIzEyOTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbC5jOjEyNjc6CisgICAgICAgICAgICAgICAgICAgICAgIGZ1c2VfbG9nKEZV U0VfTE9HX0VSUiwgImZhaWxlZCB0byBzdGF0IHNvdXJjZSAoXCIlc1wiKTogJW1cbiIsCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjk0OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMjY3OgorXkleSV5JZnVzZV9sb2coRlVTRV9MT0df RVJSLCAiZmFpbGVkIHRvIHN0YXQgc291cmNlIChcIiVzXCIpOiAlbVxuIiwkCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjk1OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzoxMjY4OgorXkleSV5JXkkgbG8uc291cmNlKTskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjk2OiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMjY5OgorXkleSV5JZXhpdCgxKTskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMjk3OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzoxMjcwOgorXkleSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hv dWxkIG5ldmVyIHVzZSB0YWJzCiMxMjk4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91 Z2hfbGwuYzoxMjcxOgorXkleSWlmICghU19JU0RJUihzdGF0LnN0X21vZGUpKSB7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTI5OTogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTI3MjoKK15JXkleSWZ1c2VfbG9nKEZVU0VfTE9HX0VS UiwgInNvdXJjZSBpcyBub3QgYSBkaXJlY3RvcnlcbiIpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBz aG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzMDA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhy b3VnaF9sbC5jOjEyNzM6CiteSV5JXklleGl0KDEpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzEzMDE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3Vn aF9sbC5jOjEyNzQ6CiteSV5JfSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNl IHRhYnMKIzEzMDM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEyNzY6 CiteSX0gZWxzZSB7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwoj MTMwNDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTI3NzoKK15JXkls by5zb3VyY2UgPSAiLyI7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTMwNTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTI3ODoKK15J fSQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzMDY6IEZJTEU6 IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEyNzk6CiteSWxvLnJvb3QuaXNfc3lt bGluayA9IGZhbHNlOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzEzMDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEyODA6CiteSWlm ICghbG8udGltZW91dF9zZXQpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVz ZSB0YWJzCiMxMzA4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMjgx OgorXkleSXN3aXRjaCAobG8uY2FjaGUpIHskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxMzA5OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwu YzoxMjgyOgorXkleSWNhc2UgQ0FDSEVfTkVWRVI6JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3Vs ZCBuZXZlciB1c2UgdGFicwojMTMxMDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdo X2xsLmM6MTI4MzoKK15JXkleSWxvLnRpbWVvdXQgPSAwLjA7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMxMTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6MTI4NDoKK15JXkleSWJyZWFrOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzEzMTM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3Vn aF9sbC5jOjEyODY6CiteSV5JY2FzZSBDQUNIRV9OT1JNQUw6JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMxNDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6MTI4NzoKK15JXkleSWxvLnRpbWVvdXQgPSAxLjA7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMxNTogRklMRTogdG9vbHMvdmlydGlvZnNk L3Bhc3N0aHJvdWdoX2xsLmM6MTI4ODoKK15JXkleSWJyZWFrOyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzMTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNz dGhyb3VnaF9sbC5jOjEyOTA6CiteSV5JY2FzZSBDQUNIRV9BTFdBWVM6JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMxODogRklMRTogdG9vbHMvdmlydGlvZnNk L3Bhc3N0aHJvdWdoX2xsLmM6MTI5MToKK15JXkleSWxvLnRpbWVvdXQgPSA4NjQwMC4wOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzMTk6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEyOTI6CiteSV5JXklicmVhazskCgpFUlJPUjog Y29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzIwOiBGSUxFOiB0b29scy92aXJ0 aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMjkzOgorXkleSX0kCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzIxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Ro cm91Z2hfbGwuYzoxMjk0OgorXkl9IGVsc2UgaWYgKGxvLnRpbWVvdXQgPCAwKSB7JAoKRVJST1I6 IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMyMjogRklMRTogdG9vbHMvdmly dGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTI5NToKK15JXklmdXNlX2xvZyhGVVNFX0xPR19FUlIs ICJ0aW1lb3V0IGlzIG5lZ2F0aXZlICglbGYpXG4iLCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzEzMjM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3Vn aF9sbC5jOjEyOTY6CiteSV5JXkkgbG8udGltZW91dCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNo b3VsZCBuZXZlciB1c2UgdGFicwojMTMyNDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJv dWdoX2xsLmM6MTI5NzoKK15JXklleGl0KDEpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzEzMjU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjEyOTg6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiMxMzI3OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMzAwOgorXkls by5yb290LmZkID0gb3Blbihsby5zb3VyY2UsIE9fUEFUSCk7JAoKRVJST1I6IGNvZGUgaW5kZW50 IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMyODogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0 aHJvdWdoX2xsLmM6MTMwMToKK15JaWYgKGxvLnJvb3QuZmQgPT0gLTEpIHskCgpFUlJPUjogY29k ZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzI5OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzoxMzAyOgorXkleSWZ1c2VfbG9nKEZVU0VfTE9HX0VSUiwgIm9w ZW4oXCIlc1wiLCBPX1BBVEgpOiAlbVxuIiwkCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiMxMzMwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwu YzoxMzAzOgorXkleSV5JIGxvLnNvdXJjZSk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBu ZXZlciB1c2UgdGFicwojMTMzMTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xs LmM6MTMwNDoKK15JXklleGl0KDEpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzEzMzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEz MDU6CiteSX0kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzM0 OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMzA3OgorXklzZSA9IGZ1 c2Vfc2Vzc2lvbl9uZXcoJmFyZ3MsICZsb19vcGVyLCBzaXplb2YobG9fb3BlciksICZsbyk7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMzNTogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTMwODoKK15JaWYgKHNlID09IE5VTEwpJAoK RVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRl bWVudAojMTMzNTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTMwODoK KyAgICAgICBpZiAoc2UgPT0gTlVMTCkKWy4uLl0KCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzEzMzY6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjEzMDk6CiteSSAgICBnb3RvIGVycl9vdXQxOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzEzMzg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3Vn aF9sbC5jOjEzMTE6CiteSWlmIChmdXNlX3NldF9zaWduYWxfaGFuZGxlcnMoc2UpICE9IDApJAoK RVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgYXJtcyBvZiB0aGlzIHN0YXRl bWVudAojMTMzODogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTMxMToK KyAgICAgICBpZiAoZnVzZV9zZXRfc2lnbmFsX2hhbmRsZXJzKHNlKSAhPSAwKQpbLi4uXQoKRVJS T1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTMzOTogRklMRTogdG9vbHMv dmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTMxMjoKK15JICAgIGdvdG8gZXJyX291dDI7JAoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM0MTogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTMxNDoKK15JaWYgKGZ1c2Vfc2Vzc2lvbl9t b3VudChzZSwgb3B0cy5tb3VudHBvaW50KSAhPSAwKSQKCkVSUk9SOiBicmFjZXMge30gYXJlIG5l Y2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzEzNDE6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEzMTQ6CisgICAgICAgaWYgKGZ1c2Vfc2Vzc2lv bl9tb3VudChzZSwgb3B0cy5tb3VudHBvaW50KSAhPSAwKQpbLi4uXQoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM0MjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6MTMxNToKK15JICAgIGdvdG8gZXJyX291dDM7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM0NDogRklMRTogdG9vbHMvdmlydGlvZnNk L3Bhc3N0aHJvdWdoX2xsLmM6MTMxNzoKK15JZnVzZV9kYWVtb25pemUob3B0cy5mb3JlZ3JvdW5k KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzQ2OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMzE5OgorXkkvKiBCbG9jayB1bnRp bCBjdHJsK2Mgb3IgZnVzZXJtb3VudCAtdSAqLyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQg bmV2ZXIgdXNlIHRhYnMKIzEzNDc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjEzMjA6CiteSWlmIChvcHRzLnNpbmdsZXRocmVhZCkkCgpFUlJPUjogYnJhY2VzIHt9IGFy ZSBuZWNlc3NhcnkgZm9yIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMxMzQ3OiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMzIwOgorICAgICAgIGlmIChvcHRzLnNp bmdsZXRocmVhZCkKWy4uLl0KKyAgICAgICBlbHNlClsuLi5dCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzQ4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvcGFzc3Ro cm91Z2hfbGwuYzoxMzIxOgorXkleSXJldCA9IGZ1c2Vfc2Vzc2lvbl9sb29wKHNlKTskCgpFUlJP UjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzQ5OiBGSUxFOiB0b29scy92 aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMzIyOgorXkllbHNlJAoKRVJST1I6IGNvZGUgaW5k ZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM1MDogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6MTMyMzoKK15JXklyZXQgPSBmdXNlX3Nlc3Npb25fbG9vcF9tdChzZSwg b3B0cy5jbG9uZV9mZCk7JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFi cwojMTM1MjogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTMyNToKK15J ZnVzZV9zZXNzaW9uX3VubW91bnQoc2UpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2 ZXIgdXNlIHRhYnMKIzEzNTQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5j OjEzMjc6CiteSWZ1c2VfcmVtb3ZlX3NpZ25hbF9oYW5kbGVycyhzZSk7JAoKRVJST1I6IGNvZGUg aW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM1NjogRklMRTogdG9vbHMvdmlydGlvZnNk L3Bhc3N0aHJvdWdoX2xsLmM6MTMyOToKK15JZnVzZV9zZXNzaW9uX2Rlc3Ryb3koc2UpOyQKCkVS Uk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzEzNTg6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEzMzE6CiteSWZyZWUob3B0cy5tb3VudHBvaW50 KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzU5OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMzMyOgorXklmdXNlX29wdF9mcmVl X2FyZ3MoJmFyZ3MpOyQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK IzEzNjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjEzMzQ6CiteSWlm IChsby5yb290LmZkID49IDApJAoKRVJST1I6IGJyYWNlcyB7fSBhcmUgbmVjZXNzYXJ5IGZvciBh bGwgYXJtcyBvZiB0aGlzIHN0YXRlbWVudAojMTM2MTogRklMRTogdG9vbHMvdmlydGlvZnNkL3Bh c3N0aHJvdWdoX2xsLmM6MTMzNDoKKyAgICAgICBpZiAobG8ucm9vdC5mZCA+PSAwKQpbLi4uXQoK RVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTM2MjogRklMRTogdG9v bHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6MTMzNToKK15JXkljbG9zZShsby5yb290LmZk KTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMxMzY0OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvcGFzc3Rocm91Z2hfbGwuYzoxMzM3OgorXklyZXR1cm4gcmV0ID8g MSA6IDA7JAoKdG90YWw6IDk1NCBlcnJvcnMsIDMwIHdhcm5pbmdzLCAxMzM4IGxpbmVzIGNoZWNr ZWQKClBhdGNoIDUvMTA4IGhhcyBzdHlsZSBwcm9ibGVtcywgcGxlYXNlIHJldmlldy4gIElmIGFu eSBvZiB0aGVzZSBlcnJvcnMKYXJlIGZhbHNlIHBvc2l0aXZlcyByZXBvcnQgdGhlbSB0byB0aGUg bWFpbnRhaW5lciwgc2VlCkNIRUNLUEFUQ0ggaW4gTUFJTlRBSU5FUlMuCgo2LzEwOCBDaGVja2lu ZyBjb21taXQgNGRlNjZiNWIxMjA3ICh2aXJ0aW9mc2Q6IFRyaW0gZG93biBpbXBvcnRlZCBmaWxl cykKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2UgdGFicwojMTAzOiBGSUxFOiB0 b29scy92aXJ0aW9mc2QvYnVmZmVyLmM6MTg0OgorXkleSXJldHVybiBmdXNlX2J1Zl9mZF90b19m ZChkc3QsIGRzdF9vZmYsIHNyYywgc3JjX29mZiwgbGVuKTskCgpFUlJPUjogY29kZSBpbmRlbnQg c2hvdWxkIG5ldmVyIHVzZSB0YWJzCiMzOTA6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xv d2xldmVsLmM6MTc5OgorXklhYm9ydCgpOyAvKiB2aXJ0aW8gc2hvdWxkIGhhdmUgdGFrZW4gaXQg YmVmb3JlIGhlcmUgKi8kCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5ldmVyIHVzZSB0YWJz CiM1MjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NDc1OgorXklhYm9y dCgpOyAvKiBXaWxsIGhhdmUgdGFrZW4gdmhvc3QgcGF0aCAqLyQKCkVSUk9SOiBjb2RlIGluZGVu dCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzc3MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2Vf bG93bGV2ZWwuYzoxMDQ2OgorXkleSXJldHVybjskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxk IG5ldmVyIHVzZSB0YWJzCiM4NzQ6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVs LmM6MjE0MjoKK15JaW4gPSBidWYtPm1lbTskCgpFUlJPUjogY29kZSBpbmRlbnQgc2hvdWxkIG5l dmVyIHVzZSB0YWJzCiM4ODM6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6 MjE2NDoKK15JXklyZXR1cm47JAoKRVJST1I6IGNvZGUgaW5kZW50IHNob3VsZCBuZXZlciB1c2Ug dGFicwojODkxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjIxNzE6Cite SXJlcS0+Y2ggPSBjaDskCgp0b3RhbDogNyBlcnJvcnMsIDAgd2FybmluZ3MsIDE0MjIgbGluZXMg Y2hlY2tlZAoKUGF0Y2ggNi8xMDggaGFzIHN0eWxlIHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3LiAg SWYgYW55IG9mIHRoZXNlIGVycm9ycwphcmUgZmFsc2UgcG9zaXRpdmVzIHJlcG9ydCB0aGVtIHRv IHRoZSBtYWludGFpbmVyLCBzZWUKQ0hFQ0tQQVRDSCBpbiBNQUlOVEFJTkVSUy4KCjcvMTA4IENo ZWNraW5nIGNvbW1pdCBjNjk1YTA3ZTJkZjQgKHZpcnRpb2ZzZDogRm9ybWF0IGltcG9ydGVkIGZp bGVzIHRvIHFlbXUgc3R5bGUpCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcg Lyogb24gYSBzZXBhcmF0ZSBsaW5lCiMzMTUxOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9j b21tb24uaDo3MjA6CisgICAgKChzdHJ1Y3QgZnVzZV9idWZ2ZWMpeyAvKiAuY291bnQ9ICovIDEs ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNl IGEgbGVhZGluZyAvKiBvbiBhIHNlcGFyYXRlIGxpbmUKIzMxNTI6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9mdXNlX2NvbW1vbi5oOjcyMToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIC5p ZHggPSAgKi8gMCwgICAgICAgICAgICAgICAgICAgICAgICAgICBcCgpXQVJOSU5HOiBCbG9jayBj b21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJhdGUgbGluZQojMzE1MzogRklMRTog dG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NzIyOgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgLyogLm9mZiA9ICAqLyAwLCAvKiAuYnVmID0gICovICAgICAgICAgICAgIFwKCldBUk5J Tkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIGxlYWRpbmcgLyogb24gYSBzZXBhcmF0ZSBsaW5lCiMz MTU0OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo3MjM6CisgICAgICAgICAg ICAgICAgICAgICAgICAgICB7IC8qIFswXSA9ICovIHsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAoKV0FSTklORzogQmxvY2sgY29tbWVudHMgdXNlIGEgbGVhZGluZyAvKiBvbiBhIHNlcGFy YXRlIGxpbmUKIzMxNTU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjcyNDoK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAuc2l6ZSA9ICAqLyAoc2l6ZV9fKSwg ICAgICAgICAgICAgICBcCgpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8q IG9uIGEgc2VwYXJhdGUgbGluZQojMzE1NjogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29t bW9uLmg6NzI1OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIC5mbGFncyA9ICov IChlbnVtIGZ1c2VfYnVmX2ZsYWdzKTAsIFwKCldBUk5JTkc6IEJsb2NrIGNvbW1lbnRzIHVzZSBh IGxlYWRpbmcgLyogb24gYSBzZXBhcmF0ZSBsaW5lCiMzMTU3OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9jb21tb24uaDo3MjY6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyog Lm1lbSA9ICAgKi8gTlVMTCwgICAgICAgICAgICAgICAgICAgXAoKV0FSTklORzogQmxvY2sgY29t bWVudHMgdXNlIGEgbGVhZGluZyAvKiBvbiBhIHNlcGFyYXRlIGxpbmUKIzMxNTg6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2NvbW1vbi5oOjcyNzoKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAvKiAuZmQgPSAgICAqLyAtMSwgICAgICAgICAgICAgICAgICAgICBcCgpXQVJOSU5H OiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJhdGUgbGluZQojMzE1 OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfY29tbW9uLmg6NzI4OgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC8qIC5wb3MgPSAgICovIDAsICAgICAgICAgICAgICAgICAgICAg IFwKCldBUk5JTkc6IGFyY2hpdGVjdHVyZSBzcGVjaWZpYyBkZWZpbmVzIHNob3VsZCBiZSBhdm9p ZGVkCiMzMjA4OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9jb21tb24uaDo3OTk6CisjaWYg ZGVmaW5lZChfX0dOVUNfXykgJiYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKCkVSUk9SOiBVc2Ugb2Ygdm9sYXRpbGUgaXMgdXN1YWxseSB3cm9uZywgcGxlYXNlIGFkZCBh IGNvbW1lbnQKIzMzMTk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2kuaDo0NDoKKyAgICB2 b2xhdGlsZSBpbnQgZXhpdGVkOwoKRVJST1I6IHNwYWNlcyByZXF1aXJlZCBhcm91bmQgdGhhdCAn KicgKGN0eDpXeFYpCiMzNTU2OiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5j OjM2OgorICAgICAgICBjb25zdCB0eXBlb2YoKCh0eXBlICopMCktPm1lbWJlcikgKl9fbXB0ciA9 IChwdHIpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCgpF UlJPUjogdXNlIHFlbXVfcmVhbF9ob3N0X3BhZ2Vfc2l6ZSBpbnN0ZWFkIG9mIGdldHBhZ2VzaXpl KCkKIzM1NzI6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6NDk6CisgICAg cGFnZXNpemUgPSBnZXRwYWdlc2l6ZSgpOwoKRVJST1I6IHVzZSBxZW11X3JlYWxfaG9zdF9wYWdl X3NpemUgaW5zdGVhZCBvZiBnZXRwYWdlc2l6ZSgpCiM2MjI4OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvZnVzZV9sb3dsZXZlbC5jOjE2ODM6CisgICAgICAgICAgICAgICAgRlVTRV9ERUZBVUxUX01B WF9QQUdFU19QRVJfUkVRICogZ2V0cGFnZXNpemUoKSArCgpFUlJPUjogTWFjcm9zIHdpdGggY29t cGxleCB2YWx1ZXMgc2hvdWxkIGJlIGVuY2xvc2VkIGluIHBhcmVudGhlc2lzCiM2Mjk2OiBGSUxF OiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE3MTM6CisjZGVmaW5lIExMX1NFVF9E RUZBVUxUKGNvbmQsIGNhcCkgICAgICAgICAgICAgXAorICAgIGlmICgoY29uZCkgJiYgKHNlLT5j b25uLmNhcGFibGUgJiAoY2FwKSkpIFwKKyAgICAgICAgc2UtPmNvbm4ud2FudCB8PSAoY2FwKQoK RVJST1I6IHVzZSBxZW11X3JlYWxfaG9zdF9wYWdlX3NpemUgaW5zdGVhZCBvZiBnZXRwYWdlc2l6 ZSgpCiM2MzcwOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV9sb3dsZXZlbC5jOjE3NjM6Cisg ICAgICAgIG91dGFyZy5tYXhfcGFnZXMgPSAoc2UtPmNvbm4ubWF4X3dyaXRlIC0gMSkgLyBnZXRw YWdlc2l6ZSgpICsgMTsKCkVSUk9SOiB1c2UgcWVtdV9yZWFsX2hvc3RfcGFnZV9zaXplIGluc3Rl YWQgb2YgZ2V0cGFnZXNpemUoKQojNzQ4OTogRklMRTogdG9vbHMvdmlydGlvZnNkL2Z1c2VfbG93 bGV2ZWwuYzoyNDM2OgorICAgIHNlLT5idWZzaXplID0gRlVTRV9NQVhfTUFYX1BBR0VTICogZ2V0 cGFnZXNpemUoKSArIEZVU0VfQlVGRkVSX0hFQURFUl9TSVpFOwoKRVJST1I6IGNvbnNpZGVyIHVz aW5nIHFlbXVfc3RydG91bCBpbiBwcmVmZXJlbmNlIHRvIHN0cnRvdWwKIzc3MDc6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9mdXNlX2xvd2xldmVsLmM6MjU2NzoKKyAgICAgICAgdW5zaWduZWQgbG9u ZyB2YWwgPSBzdHJ0b3VsKHMsICZlbmQsIDApOwoKRVJST1I6IE1hY3JvcyB3aXRoIGNvbXBsZXgg dmFsdWVzIHNob3VsZCBiZSBlbmNsb3NlZCBpbiBwYXJlbnRoZXNpcwojMTE4ODc6IEZJTEU6IHRv b2xzL3ZpcnRpb2ZzZC9oZWxwZXIuYzoyNjA6CisjZGVmaW5lIExMX0VOQUJMRShjb25kLCBjYXAp IFwKKyAgICBpZiAoY29uZCkgICAgICAgICAgICAgICAgXAorICAgICAgICBjb25uLT53YW50IHw9 IChjYXApCgpFUlJPUjogTWFjcm9zIHdpdGggY29tcGxleCB2YWx1ZXMgc2hvdWxkIGJlIGVuY2xv c2VkIGluIHBhcmVudGhlc2lzCiMxMTg5MDogRklMRTogdG9vbHMvdmlydGlvZnNkL2hlbHBlci5j OjI2MzoKKyNkZWZpbmUgTExfRElTQUJMRShjb25kLCBjYXApIFwKKyAgICBpZiAoY29uZCkgICAg ICAgICAgICAgICAgIFwKKyAgICAgICAgY29ubi0+d2FudCAmPSB+KGNhcCkKCldBUk5JTkc6IGFy Y2hpdGVjdHVyZSBzcGVjaWZpYyBkZWZpbmVzIHNob3VsZCBiZSBhdm9pZGVkCiMxMjA4ODogRklM RTogdG9vbHMvdmlydGlvZnNkL3Bhc3N0aHJvdWdoX2xsLmM6Njc6CisjaWYgZGVmaW5lZChfX0dO VUNfXykgJiYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKCnRvdGFsOiAx MCBlcnJvcnMsIDExIHdhcm5pbmdzLCAxNDAzOCBsaW5lcyBjaGVja2VkCgpQYXRjaCA3LzEwOCBo YXMgc3R5bGUgcHJvYmxlbXMsIHBsZWFzZSByZXZpZXcuICBJZiBhbnkgb2YgdGhlc2UgZXJyb3Jz CmFyZSBmYWxzZSBwb3NpdGl2ZXMgcmVwb3J0IHRoZW0gdG8gdGhlIG1haW50YWluZXIsIHNlZQpD SEVDS1BBVENIIGluIE1BSU5UQUlORVJTLgoKOC8xMDggQ2hlY2tpbmcgY29tbWl0IDQwNDA4ZjBh NDIzOSAodmlydGlvZnNkOiByZW1vdmUgbW91bnRwb2ludCBkdW1teSBhcmd1bWVudCkKOS8xMDgg Q2hlY2tpbmcgY29tbWl0IGUwYWRlM2IyNGRlYSAodmlydGlvZnNkOiByZW1vdmUgdW51c2VkIG5v dGlmeSByZXBseSBzdXBwb3J0KQoxMC8xMDggQ2hlY2tpbmcgY29tbWl0IDk4ODU4MmNjZTk0YiAo dmlydGlvZnNkOiBSZW1vdmUgdW51c2VkIGVudW0gZnVzZV9idWZfY29weV9mbGFncykKMTEvMTA4 IENoZWNraW5nIGNvbW1pdCA0NzBiZjAzNTMwYTQgKHZpcnRpb2ZzZDogRml4IGZ1c2VfZGFlbW9u aXplIGlnbm9yZWQgcmV0dXJuIHZhbHVlcykKMTIvMTA4IENoZWNraW5nIGNvbW1pdCA4NWQzNTBh NjFkZjggKHZpcnRpb2ZzZDogRml4IGNvbW1vbiBoZWFkZXIgYW5kIGRlZmluZSBmb3IgUUVNVSBi dWlsZHMpCjEzLzEwOCBDaGVja2luZyBjb21taXQgYWZkYWY4ZWE3YmE0ICh2aXJ0aW9mc2Q6IFRy aW0gb3V0IGNvbXBhdGliaWxpdHkgY29kZSkKRVJST1I6IHVzZSBxZW11X3JlYWxfaG9zdF9wYWdl X3NpemUgaW5zdGVhZCBvZiBnZXRwYWdlc2l6ZSgpCiM0MTI6IEZJTEU6IHRvb2xzL3ZpcnRpb2Zz ZC9mdXNlX2xvd2xldmVsLmM6MTYxNDoKKyAgICAgICAgc2l6ZV90IG1heF9idWZzaXplID0gRlVT RV9ERUZBVUxUX01BWF9QQUdFU19QRVJfUkVRICogZ2V0cGFnZXNpemUoKSArCgp0b3RhbDogMSBl cnJvcnMsIDAgd2FybmluZ3MsIDQ4NiBsaW5lcyBjaGVja2VkCgpQYXRjaCAxMy8xMDggaGFzIHN0 eWxlIHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3LiAgSWYgYW55IG9mIHRoZXNlIGVycm9ycwphcmUg ZmFsc2UgcG9zaXRpdmVzIHJlcG9ydCB0aGVtIHRvIHRoZSBtYWludGFpbmVyLCBzZWUKQ0hFQ0tQ QVRDSCBpbiBNQUlOVEFJTkVSUy4KCjE0LzEwOCBDaGVja2luZyBjb21taXQgNjc0ZDE4YmZlNmEw ICh2aXRyaW9mc2QvcGFzc3Rocm91Z2hfbGw6IGZpeCBmYWxsb2NhdGUoKSBpZmRlZnMpCjE1LzEw OCBDaGVja2luZyBjb21taXQgMDFiNGExNWE1MTEwICh2aXJ0aW9mc2Q6IE1ha2UgZnN5bmMgd29y ayBldmVuIGlmIG9ubHkgaW5vZGUgaXMgcGFzc2VkIGluKQoxNi8xMDggQ2hlY2tpbmcgY29tbWl0 IGE2ZjhhNjg4YTk2YiAodmlydGlvZnNkOiBBZGQgb3B0aW9ucyBmb3IgdmlydGlvKQoxNy8xMDgg Q2hlY2tpbmcgY29tbWl0IDg3Y2IzY2FlZTdmOSAodmlydGlvZnNkOiBhZGQgLW8gc291cmNlPVBB VEggdG8gaGVscCBvdXRwdXQpCjE4LzEwOCBDaGVja2luZyBjb21taXQgMDgzOTA0OTc4ZTQyICh2 aXJ0aW9mc2Q6IE9wZW4gdmhvc3QgY29ubmVjdGlvbiBpbnN0ZWFkIG9mIG1vdW50aW5nKQpXQVJO SU5HOiBhZGRlZCwgbW92ZWQgb3IgZGVsZXRlZCBmaWxlKHMpLCBkb2VzIE1BSU5UQUlORVJTIG5l ZWQgdXBkYXRpbmc/CiMxMjA6IApuZXcgZmlsZSBtb2RlIDEwMDY0NAoKdG90YWw6IDAgZXJyb3Jz LCAxIHdhcm5pbmdzLCAxOTIgbGluZXMgY2hlY2tlZAoKUGF0Y2ggMTgvMTA4IGhhcyBzdHlsZSBw cm9ibGVtcywgcGxlYXNlIHJldmlldy4gIElmIGFueSBvZiB0aGVzZSBlcnJvcnMKYXJlIGZhbHNl IHBvc2l0aXZlcyByZXBvcnQgdGhlbSB0byB0aGUgbWFpbnRhaW5lciwgc2VlCkNIRUNLUEFUQ0gg aW4gTUFJTlRBSU5FUlMuCjE5LzEwOCBDaGVja2luZyBjb21taXQgZmVmMzA3ZTdkZjFkICh2aXJ0 aW9mc2Q6IFN0YXJ0IHdpcmluZyB1cCB2aG9zdC11c2VyKQoyMC8xMDggQ2hlY2tpbmcgY29tbWl0 IDI4N2I0OGNiMzg3ZSAodmlydGlvZnNkOiBBZGQgbWFpbiB2aXJ0aW8gbG9vcCkKMjEvMTA4IENo ZWNraW5nIGNvbW1pdCBhZDhiMTcwZTk0MGUgKHZpcnRpb2ZzZDogZ2V0L3NldCBmZWF0dXJlcyBj YWxsYmFja3MpCjIyLzEwOCBDaGVja2luZyBjb21taXQgNDQwOTM4ZGRmOTQ0ICh2aXJ0aW9mc2Q6 IFN0YXJ0IHF1ZXVlIHRocmVhZHMpCjIzLzEwOCBDaGVja2luZyBjb21taXQgMzZlNmM1MmM1ODJj ICh2aXJ0aW9mc2Q6IFBvbGwga2lja19mZCBmb3IgcXVldWUpCjI0LzEwOCBDaGVja2luZyBjb21t aXQgMTM3MmViZGFjNmMzICh2aXJ0aW9mc2Q6IFN0YXJ0IHJlYWRpbmcgY29tbWFuZHMgZnJvbSBx dWV1ZSkKMjUvMTA4IENoZWNraW5nIGNvbW1pdCA1YmVjZTdiYzFiZWQgKHZpcnRpb2ZzZDogU2Vu ZCByZXBsaWVzIHRvIG1lc3NhZ2VzKQoyNi8xMDggQ2hlY2tpbmcgY29tbWl0IDllNzA5M2QyN2M5 NyAodmlydGlvZnNkOiBLZWVwIHRyYWNrIG9mIHJlcGxpZXMpCjI3LzEwOCBDaGVja2luZyBjb21t aXQgY2EzYjBmNmQ4ZmYwICh2aXJ0aW9mc2Q6IEFkZCBNYWtlZmlsZSB3aXJpbmcgZm9yIHZpcnRp b2ZzZCBjb250cmliKQpXQVJOSU5HOiBhZGRlZCwgbW92ZWQgb3IgZGVsZXRlZCBmaWxlKHMpLCBk b2VzIE1BSU5UQUlORVJTIG5lZWQgdXBkYXRpbmc/CiM3MDogCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 Cgp0b3RhbDogMCBlcnJvcnMsIDEgd2FybmluZ3MsIDQ0IGxpbmVzIGNoZWNrZWQKClBhdGNoIDI3 LzEwOCBoYXMgc3R5bGUgcHJvYmxlbXMsIHBsZWFzZSByZXZpZXcuICBJZiBhbnkgb2YgdGhlc2Ug ZXJyb3JzCmFyZSBmYWxzZSBwb3NpdGl2ZXMgcmVwb3J0IHRoZW0gdG8gdGhlIG1haW50YWluZXIs IHNlZQpDSEVDS1BBVENIIGluIE1BSU5UQUlORVJTLgoyOC8xMDggQ2hlY2tpbmcgY29tbWl0IDUy YTJlZWM3YjhkZCAodmlydGlvZnNkOiBGYXN0IHBhdGggZm9yIHZpcnRpbyByZWFkKQoyOS8xMDgg Q2hlY2tpbmcgY29tbWl0IDMxMmU3ZDRhOTcwNSAodmlydGlvZnNkOiBhZGQgLS1mZD1GRE5VTSBm ZCBwYXNzaW5nIG9wdGlvbikKMzAvMTA4IENoZWNraW5nIGNvbW1pdCBiZDZjOWY0MjAzOTkgKHZp cnRpb2ZzZDogbWFrZSAtZiAoZm9yZWdyb3VuZCkgdGhlIGRlZmF1bHQpCjMxLzEwOCBDaGVja2lu ZyBjb21taXQgZjQzN2Y4ZDY4ZWE3ICh2aXJ0aW9mc2Q6IGFkZCB2aG9zdC11c2VyLmpzb24gZmls ZSkKV0FSTklORzogYWRkZWQsIG1vdmVkIG9yIGRlbGV0ZWQgZmlsZShzKSwgZG9lcyBNQUlOVEFJ TkVSUyBuZWVkIHVwZGF0aW5nPwojNDE6IApuZXcgZmlsZSBtb2RlIDEwMDY0NAoKdG90YWw6IDAg ZXJyb3JzLCAxIHdhcm5pbmdzLCAxOSBsaW5lcyBjaGVja2VkCgpQYXRjaCAzMS8xMDggaGFzIHN0 eWxlIHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3LiAgSWYgYW55IG9mIHRoZXNlIGVycm9ycwphcmUg ZmFsc2UgcG9zaXRpdmVzIHJlcG9ydCB0aGVtIHRvIHRoZSBtYWludGFpbmVyLCBzZWUKQ0hFQ0tQ QVRDSCBpbiBNQUlOVEFJTkVSUy4KMzIvMTA4IENoZWNraW5nIGNvbW1pdCBjMzE3MjUyNmI4YWEg KHZpcnRpb2ZzZDogYWRkIC0tcHJpbnQtY2FwYWJpbGl0aWVzIG9wdGlvbikKMzMvMTA4IENoZWNr aW5nIGNvbW1pdCBjZmZhMmVhZGE1M2YgKHZpcnRpb2ZzOiBBZGQgbWFpbnRhaW5lcnMgZW50cnkp CjM0LzEwOCBDaGVja2luZyBjb21taXQgZDY2ZGE4NWQwYzNlICh2aXJ0aW9mc2Q6IHBhc3N0aHJv dWdoX2xsOiBjcmVhdGUgbmV3IGZpbGVzIGluIGNhbGxlcidzIGNvbnRleHQpCjM1LzEwOCBDaGVj a2luZyBjb21taXQgNWE4ODEyZTQ5MjgzICh2aXJ0aW9mc2Q6IHBhc3N0aHJvdWdoX2xsOiBhZGQg bG9fbWFwIGZvciBpbm8vZmggaW5kaXJlY3Rpb24pCkVSUk9SOiBzdG9yYWdlIGNsYXNzIHNob3Vs ZCBiZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkZWNsYXJhdGlvbgojNTA6IEZJTEU6IHRvb2xz L3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjE0ODoKK19fYXR0cmlidXRlX18oKHVudXNlZCkp IHN0YXRpYyB2b2lkIGxvX21hcF9pbml0KHN0cnVjdCBsb19tYXAgKm1hcCkKCkVSUk9SOiBzdG9y YWdlIGNsYXNzIHNob3VsZCBiZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkZWNsYXJhdGlvbgoj NTc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjE1NToKK19fYXR0cmli dXRlX18oKHVudXNlZCkpIHN0YXRpYyB2b2lkIGxvX21hcF9kZXN0cm95KHN0cnVjdCBsb19tYXAg Km1hcCkKCkVSUk9SOiBzdG9yYWdlIGNsYXNzIHNob3VsZCBiZSBhdCB0aGUgYmVnaW5uaW5nIG9m IHRoZSBkZWNsYXJhdGlvbgojODg6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjE4NjoKK19fYXR0cmlidXRlX18oKHVudXNlZCkpIHN0YXRpYyBzdHJ1Y3QgbG9fbWFwX2Vs ZW0gKgoKRVJST1I6IHN0b3JhZ2UgY2xhc3Mgc2hvdWxkIGJlIGF0IHRoZSBiZWdpbm5pbmcgb2Yg dGhlIGRlY2xhcmF0aW9uCiMxMDU6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjIwMzoKK19fYXR0cmlidXRlX18oKHVudXNlZCkpIHN0YXRpYyBzdHJ1Y3QgbG9fbWFwX2Vs ZW0gKgoKRVJST1I6IHN0b3JhZ2UgY2xhc3Mgc2hvdWxkIGJlIGF0IHRoZSBiZWdpbm5pbmcgb2Yg dGhlIGRlY2xhcmF0aW9uCiMxMjc6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjIyNToKK19fYXR0cmlidXRlX18oKHVudXNlZCkpIHN0YXRpYyBzdHJ1Y3QgbG9fbWFwX2Vs ZW0gKgoKRVJST1I6IHN0b3JhZ2UgY2xhc3Mgc2hvdWxkIGJlIGF0IHRoZSBiZWdpbm5pbmcgb2Yg dGhlIGRlY2xhcmF0aW9uCiMxMzk6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9s bC5jOjIzNzoKK19fYXR0cmlidXRlX18oKHVudXNlZCkpIHN0YXRpYyB2b2lkIGxvX21hcF9yZW1v dmUoc3RydWN0IGxvX21hcCAqbWFwLAoKdG90YWw6IDYgZXJyb3JzLCAwIHdhcm5pbmdzLCAxMzYg bGluZXMgY2hlY2tlZAoKUGF0Y2ggMzUvMTA4IGhhcyBzdHlsZSBwcm9ibGVtcywgcGxlYXNlIHJl dmlldy4gIElmIGFueSBvZiB0aGVzZSBlcnJvcnMKYXJlIGZhbHNlIHBvc2l0aXZlcyByZXBvcnQg dGhlbSB0byB0aGUgbWFpbnRhaW5lciwgc2VlCkNIRUNLUEFUQ0ggaW4gTUFJTlRBSU5FUlMuCgoz Ni8xMDggQ2hlY2tpbmcgY29tbWl0IGRiNzFhODNlMzA2ZSAodmlydGlvZnNkOiBwYXNzdGhyb3Vn aF9sbDogYWRkIGlub19tYXAgdG8gaGlkZSBsb19pbm9kZSBwb2ludGVycykKMzcvMTA4IENoZWNr aW5nIGNvbW1pdCBmYWQ1ZWM3NmM1NDIgKHZpcnRpb2ZzZDogcGFzc3Rocm91Z2hfbGw6IGFkZCBk aXJwX21hcCB0byBoaWRlIGxvX2RpcnAgcG9pbnRlcnMpCjM4LzEwOCBDaGVja2luZyBjb21taXQg M2VkNTM1NzZjMzQ2ICh2aXJ0aW9mc2Q6IHBhc3N0aHJvdWdoX2xsOiBhZGQgZmRfbWFwIHRvIGhp ZGUgZmlsZSBkZXNjcmlwdG9ycykKMzkvMTA4IENoZWNraW5nIGNvbW1pdCBiY2E5MmFkNDEwMWEg KHZpcnRpb2ZzZDogcGFzc3Rocm91Z2hfbGw6IGFkZCBmYWxsYmFjayBmb3IgcmFjeSBvcHMpCjQw LzEwOCBDaGVja2luZyBjb21taXQgNDA4ZjhhMTYwNjlmICh2aXJ0aW9mc2Q6IHZhbGlkYXRlIHBh dGggY29tcG9uZW50cykKNDEvMTA4IENoZWNraW5nIGNvbW1pdCA3OGQ3OTc5YWE0MDQgKHZpcnRp b2ZzZDogUGx1bWIgZnVzZV9idWZ2ZWMgdGhyb3VnaCB0byBkb193cml0ZV9idWYpCjQyLzEwOCBD aGVja2luZyBjb21taXQgNmI3OTE0ZjAwOWFhICh2aXJ0aW9mc2Q6IFBhc3Mgd3JpdGUgaW92J3Mg YWxsIHRoZSB3YXkgdGhyb3VnaCkKNDMvMTA4IENoZWNraW5nIGNvbW1pdCA5YzM0YjA5ZWEyNzIg KHZpcnRpb2ZzZDogYWRkIGZ1c2VfbWJ1Zl9pdGVyIEFQSSkKNDQvMTA4IENoZWNraW5nIGNvbW1p dCAzOGIzNGVhNDI2N2EgKHZpcnRpb2ZzZDogdmFsaWRhdGUgaW5wdXQgYnVmZmVyIHNpemVzIGlu IGRvX3dyaXRlX2J1ZigpKQo0NS8xMDggQ2hlY2tpbmcgY29tbWl0IDNkMTFmMTI5MDcyMiAodmly dGlvZnNkOiBjaGVjayBpbnB1dCBidWZmZXIgc2l6ZSBpbiBmdXNlX2xvd2xldmVsLmMgb3BzKQo0 Ni8xMDggQ2hlY2tpbmcgY29tbWl0IDNjYjQ0NjMzYWMwYiAodmlydGlvZnNkOiBwcmV2ZW50ICIu LiIgZXNjYXBlIGluIGxvX2RvX2xvb2t1cCgpKQo0Ny8xMDggQ2hlY2tpbmcgY29tbWl0IGMzZjVi MDdiNTc3MCAodmlydGlvZnNkOiBwcmV2ZW50ICIuLiIgZXNjYXBlIGluIGxvX2RvX3JlYWRkaXIo KSkKNDgvMTA4IENoZWNraW5nIGNvbW1pdCBiOGI2NTUyYjBiNjkgKHZpcnRpb2ZzZDogdXNlIC9w cm9jL3NlbGYvZmQvIE9fUEFUSCBmaWxlIGRlc2NyaXB0b3IpCjQ5LzEwOCBDaGVja2luZyBjb21t aXQgZjIwNjA2YWYyNTFlICh2aXJ0aW9mc2Q6IHNhbmRib3ggbW91bnQgbmFtZXNwYWNlKQo1MC8x MDggQ2hlY2tpbmcgY29tbWl0IDMyMjhjZDQ1Mjg1MCAodmlydGlvZnNkOiBtb3ZlIHRvIGFuIGVt cHR5IG5ldHdvcmsgbmFtZXNwYWNlKQo1MS8xMDggQ2hlY2tpbmcgY29tbWl0IGViMjE0YTdlMmUx OSAodmlydGlvZnNkOiBtb3ZlIHRvIGEgbmV3IHBpZCBuYW1lc3BhY2UpCjUyLzEwOCBDaGVja2lu ZyBjb21taXQgOTVkNjBlZTliNDM5ICh2aXJ0aW9mc2Q6IGFkZCBzZWNjb21wIHdoaXRlbGlzdCkK V0FSTklORzogYWRkZWQsIG1vdmVkIG9yIGRlbGV0ZWQgZmlsZShzKSwgZG9lcyBNQUlOVEFJTkVS UyBuZWVkIHVwZGF0aW5nPwojODM6IApuZXcgZmlsZSBtb2RlIDEwMDY0NAoKV0FSTklORzogYXJj aGl0ZWN0dXJlIHNwZWNpZmljIGRlZmluZXMgc2hvdWxkIGJlIGF2b2lkZWQKIzEwNjogRklMRTog dG9vbHMvdmlydGlvZnNkL3NlY2NvbXAuYzoxOToKKyNpZiAhZGVmaW5lZChfX1NOUl9wcG9sbCkg JiYgZGVmaW5lZChfX1NOUl9icmspCgpXQVJOSU5HOiBhcmNoaXRlY3R1cmUgc3BlY2lmaWMgZGVm aW5lcyBzaG91bGQgYmUgYXZvaWRlZAojMTA3OiBGSUxFOiB0b29scy92aXJ0aW9mc2Qvc2VjY29t cC5jOjIwOgorI2lmZGVmIF9fTlJfcHBvbGwKCldBUk5JTkc6IGFyY2hpdGVjdHVyZSBzcGVjaWZp YyBkZWZpbmVzIHNob3VsZCBiZSBhdm9pZGVkCiMxMjE6IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9z ZWNjb21wLmM6MzQ6CisjaWZkZWYgX19OUl9jbG9uZTMKCldBUk5JTkc6IGFyY2hpdGVjdHVyZSBz cGVjaWZpYyBkZWZpbmVzIHNob3VsZCBiZSBhdm9pZGVkCiMxODE6IEZJTEU6IHRvb2xzL3ZpcnRp b2ZzZC9zZWNjb21wLmM6OTQ6CisjaWZkZWYgX19OUl9zZXRyZXNnaWQzMgoKV0FSTklORzogYXJj aGl0ZWN0dXJlIHNwZWNpZmljIGRlZmluZXMgc2hvdWxkIGJlIGF2b2lkZWQKIzE4NDogRklMRTog dG9vbHMvdmlydGlvZnNkL3NlY2NvbXAuYzo5NzoKKyNpZmRlZiBfX05SX3NldHJlc3VpZDMyCgp0 b3RhbDogMCBlcnJvcnMsIDYgd2FybmluZ3MsIDIwNSBsaW5lcyBjaGVja2VkCgpQYXRjaCA1Mi8x MDggaGFzIHN0eWxlIHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3LiAgSWYgYW55IG9mIHRoZXNlIGVy cm9ycwphcmUgZmFsc2UgcG9zaXRpdmVzIHJlcG9ydCB0aGVtIHRvIHRoZSBtYWludGFpbmVyLCBz ZWUKQ0hFQ0tQQVRDSCBpbiBNQUlOVEFJTkVSUy4KNTMvMTA4IENoZWNraW5nIGNvbW1pdCA3YTAy OTM2MzhkMTYgKHZpcnRpb2ZzZDogUGFyc2UgZmxhZyBGVVNFX1dSSVRFX0tJTExfUFJJVikKNTQv MTA4IENoZWNraW5nIGNvbW1pdCA5Y2MzNGNjOTBhYTcgKHZpcnRpb2ZzZDogY2FwLW5nIGhlbHBl cnMpCkVSUk9SOiBkbyBub3QgaW5pdGlhbGlzZSBzdGF0aWNzIHRvIDAgb3IgTlVMTAojNTk6IEZJ TEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjE0ODoKK3N0YXRpYyBfX3RocmVh ZCBib29sIGNhcF9sb2FkZWQgPSAwOwoKdG90YWw6IDEgZXJyb3JzLCAwIHdhcm5pbmdzLCAxMjQg bGluZXMgY2hlY2tlZAoKUGF0Y2ggNTQvMTA4IGhhcyBzdHlsZSBwcm9ibGVtcywgcGxlYXNlIHJl dmlldy4gIElmIGFueSBvZiB0aGVzZSBlcnJvcnMKYXJlIGZhbHNlIHBvc2l0aXZlcyByZXBvcnQg dGhlbSB0byB0aGUgbWFpbnRhaW5lciwgc2VlCkNIRUNLUEFUQ0ggaW4gTUFJTlRBSU5FUlMuCgo1 NS8xMDggQ2hlY2tpbmcgY29tbWl0IGUxMzc5OTI3MmRjNSAodmlydGlvZnNkOiBEcm9wIENBUF9G U0VUSUQgaWYgY2xpZW50IGFza2VkIGZvciBpdCkKNTYvMTA4IENoZWNraW5nIGNvbW1pdCA4YjYx ZTgwMjBiMGUgKHZpcnRpb2ZzZDogc2V0IG1heGltdW0gUkxJTUlUX05PRklMRSBsaW1pdCkKNTcv MTA4IENoZWNraW5nIGNvbW1pdCA3ODhkMzE5MDlhYTMgKHZpcnRpb2ZzZDogZml4IGxpYmZ1c2Ug aW5mb3JtYXRpb24gbGVha3MpCjU4LzEwOCBDaGVja2luZyBjb21taXQgZDE5ZTA2MjRkZjIwICh2 aXJ0aW9mc2Q6IGFkZCAtLXN5c2xvZyBjb21tYW5kLWxpbmUgb3B0aW9uKQpFUlJPUjogZG8gbm90 IGluaXRpYWxpc2Ugc3RhdGljcyB0byAwIG9yIE5VTEwKIzY2OiBGSUxFOiB0b29scy92aXJ0aW9m c2QvcGFzc3Rocm91Z2hfbGwuYzoxNDI6CitzdGF0aWMgYm9vbCB1c2Vfc3lzbG9nID0gZmFsc2U7 Cgp0b3RhbDogMSBlcnJvcnMsIDAgd2FybmluZ3MsIDE2NSBsaW5lcyBjaGVja2VkCgpQYXRjaCA1 OC8xMDggaGFzIHN0eWxlIHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3LiAgSWYgYW55IG9mIHRoZXNl IGVycm9ycwphcmUgZmFsc2UgcG9zaXRpdmVzIHJlcG9ydCB0aGVtIHRvIHRoZSBtYWludGFpbmVy LCBzZWUKQ0hFQ0tQQVRDSCBpbiBNQUlOVEFJTkVSUy4KCjU5LzEwOCBDaGVja2luZyBjb21taXQg Nzc2NTAzY2Q0ODViICh2aXJ0aW9mc2Q6IHByaW50IGxvZyBvbmx5IHdoZW4gcHJpb3JpdHkgaXMg aGlnaCBlbm91Z2gpCjYwLzEwOCBDaGVja2luZyBjb21taXQgZmI5MjZlZWE5NTdiICh2aXJ0aW9m c2Q6IEFkZCBJRCB0byB0aGUgbG9nIHdpdGggRlVTRV9MT0dfREVCVUcgbGV2ZWwpCjYxLzEwOCBD aGVja2luZyBjb21taXQgYzI1Nzk5MmFhMmIyICh2aXJ0aW9mc2Q6IEFkZCB0aW1lc3RhbXAgdG8g dGhlIGxvZyB3aXRoIEZVU0VfTE9HX0RFQlVHIGxldmVsKQo2Mi8xMDggQ2hlY2tpbmcgY29tbWl0 IDQwMDJlYjYwM2ZmOCAodmlydGlvZnNkOiBIYW5kbGUgcmVpbml0KQo2My8xMDggQ2hlY2tpbmcg Y29tbWl0IGYwNGZlMzViZmEyOSAodmlydGlvZnNkOiBIYW5kbGUgaGFyZCByZWJvb3QpCjY0LzEw OCBDaGVja2luZyBjb21taXQgODE4ZTJmYzAwNzE2ICh2aXJ0aW9mc2Q6IEtpbGwgdGhyZWFkcyB3 aGVuIHF1ZXVlcyBhcmUgc3RvcHBlZCkKNjUvMTA4IENoZWNraW5nIGNvbW1pdCA4NTFlOGVjNmYw YjEgKHZob3N0LXVzZXI6IFByaW50IHVuZXhwZWN0ZWQgc2xhdmUgbWVzc2FnZSB0eXBlcykKNjYv MTA4IENoZWNraW5nIGNvbW1pdCA4MjRhMWRiMzRhNzYgKGNvbnRyaWIvbGlidmhvc3QtdXNlcjog UHJvdGVjdCBzbGF2ZSBmZCB3aXRoIG11dGV4KQo2Ny8xMDggQ2hlY2tpbmcgY29tbWl0IGMwMjc5 YTY3ODAxOSAodmlydGlvZnNkOiBwYXNzdGhyb3VnaF9sbDogYWRkIHJlbmFtZWF0MiBzdXBwb3J0 KQo2OC8xMDggQ2hlY2tpbmcgY29tbWl0IGI5MDk3YzlhYjViZCAodmlydGlvZnNkOiBwYXNzdGhy b3VnaF9sbDogZGlzYWJsZSByZWFkZGlycGx1cyBvbiBjYWNoZT1uZXZlcikKNjkvMTA4IENoZWNr aW5nIGNvbW1pdCA0ZGQ2YzNhODJhOTIgKHZpcnRpb2ZzZDogcGFzc3Rocm91Z2hfbGw6IGNvbnRy b2wgcmVhZGRpcnBsdXMpCjcwLzEwOCBDaGVja2luZyBjb21taXQgN2RkYjhlMjhhMzhlICh2aXJ0 aW9mc2Q6IHJlbmFtZSB1bnJlZl9pbm9kZSgpIHRvIHVucmVmX2lub2RlX2xvbG9ja2VkKCkpCjcx LzEwOCBDaGVja2luZyBjb21taXQgMWMwNjNjOGU0MjY4ICh2aXJ0aW9mc2Q6IGZhaWwgd2hlbiBw YXJlbnQgaW5vZGUgaXNuJ3Qga25vd24gaW4gbG9fZG9fbG9va3VwKCkpCkVSUk9SOiByZXR1cm4g b2YgYW4gZXJybm8gc2hvdWxkIHR5cGljYWxseSBiZSAtdmUgKHJldHVybiAtRU5PRU5UKQojMzM6 IEZJTEU6IHRvb2xzL3ZpcnRpb2ZzZC9wYXNzdGhyb3VnaF9sbC5jOjc4NjoKKyAgICAgICAgcmV0 dXJuIEVOT0VOVDsKCnRvdGFsOiAxIGVycm9ycywgMCB3YXJuaW5ncywgMzggbGluZXMgY2hlY2tl ZAoKUGF0Y2ggNzEvMTA4IGhhcyBzdHlsZSBwcm9ibGVtcywgcGxlYXNlIHJldmlldy4gIElmIGFu eSBvZiB0aGVzZSBlcnJvcnMKYXJlIGZhbHNlIHBvc2l0aXZlcyByZXBvcnQgdGhlbSB0byB0aGUg bWFpbnRhaW5lciwgc2VlCkNIRUNLUEFUQ0ggaW4gTUFJTlRBSU5FUlMuCgo3Mi8xMDggQ2hlY2tp bmcgY29tbWl0IDFiMDUzMTYzNmZjMyAodmlydGlvZnNkOiBleHRyYWN0IHJvb3QgaW5vZGUgaW5p dCBpbnRvIHNldHVwX3Jvb3QoKSkKNzMvMTA4IENoZWNraW5nIGNvbW1pdCAxZTIxYTljZWQ5Nzgg KHZpcnRpb2ZzZDogcGFzc3Rocm91Z2hfbGw6IGNsZWFuIHVwIGNhY2hlIHJlbGF0ZWQgb3B0aW9u cykKNzQvMTA4IENoZWNraW5nIGNvbW1pdCA3YTM4MGYzZjNlNTggKHZpcnRpb2ZzZDogcGFzc3Ro cm91Z2hfbGw6IHVzZSBoYXNodGFibGUpCjc1LzEwOCBDaGVja2luZyBjb21taXQgMDIyMGFlZDhm M2VmICh2aXJ0aW9mc2Q6IENsZWFuIHVwIGlub2RlcyBvbiBkZXN0cm95KQo3Ni8xMDggQ2hlY2tp bmcgY29tbWl0IGYwZTNmYmMyMmJmOCAodmlydGlvZnNkOiBzdXBwb3J0IG5hbm9zZWNvbmQgcmVz b2x1dGlvbiBmb3IgZmlsZSB0aW1lc3RhbXApCjc3LzEwOCBDaGVja2luZyBjb21taXQgYTE1MjJl YWE3MDI5ICh2aXJ0aW9mc2Q6IGZpeCBlcnJvciBoYW5kbGluZyBpbiBtYWluKCkpCjc4LzEwOCBD aGVja2luZyBjb21taXQgN2Y5OWFmY2Q2MjM0ICh2aXJ0aW9mc2Q6IGNsZWFudXAgYWxsb2NhdGVk IHJlc291cmNlIGluIHNlKQo3OS8xMDggQ2hlY2tpbmcgY29tbWl0IDM4MjAwYzYzZGZlMyAodmly dGlvZnNkOiBmaXggbWVtb3J5IGxlYWsgb24gbG8uc291cmNlKQo4MC8xMDggQ2hlY2tpbmcgY29t bWl0IGYyMTFhMzYxY2ZlOSAodmlydGlvZnNkOiBhZGQgaGVscGVyIGZvciBsb19kYXRhIGNsZWFu dXApCjgxLzEwOCBDaGVja2luZyBjb21taXQgNDcwNmY0NmI2YzcwICh2aXJ0aW9mc2Q6IFByZXZl bnQgbXVsdGlwbHkgcnVubmluZyB3aXRoIHNhbWUgdmhvc3RfdXNlcl9zb2NrZXQpCjgyLzEwOCBD aGVja2luZyBjb21taXQgOTAwNjY1N2ZhNmJiICh2aXJ0aW9mc2Q6IGVuYWJsZSBQQVJBTExFTF9E SVJPUFMgZHVyaW5nIElOSVQpCjgzLzEwOCBDaGVja2luZyBjb21taXQgYmU1MDk3YTlmOGU5ICh2 aXJ0aW9mc2Q6IGZpeCBpbmNvcnJlY3QgZXJyb3IgaGFuZGxpbmcgaW4gbG9fZG9fbG9va3VwKQo4 NC8xMDggQ2hlY2tpbmcgY29tbWl0IDY5MDJlYjg5NTczYSAoVmlydGlvZnNkOiBmaXggbWVtb3J5 IGxlYWsgb24gZnVzZSBxdWV1ZWluZm8pCjg1LzEwOCBDaGVja2luZyBjb21taXQgYjc2YWJmNTI3 ZjBlICh2aXJ0aW9mc2Q6IFN1cHBvcnQgcmVtb3RlIHBvc2l4IGxvY2tzKQo4Ni8xMDggQ2hlY2tp bmcgY29tbWl0IGFlYWQ1MzQ3MTQzYSAodmlydGlvZnNkOiB1c2UgZnVzZV9sb3dsZXZlbF9pc192 aXJ0aW8oKSBpbiBmdXNlX3Nlc3Npb25fZGVzdHJveSgpKQo4Ny8xMDggQ2hlY2tpbmcgY29tbWl0 IGMxYzUzNWE3YTNiNyAodmlydGlvZnNkOiBwcmV2ZW50IGZ2X3F1ZXVlX3RocmVhZCgpIHZzIHZp cnRpb19sb29wKCkgcmFjZXMpCjg4LzEwOCBDaGVja2luZyBjb21taXQgYjZmZjU4Yzg2ZTZhICh2 aXJ0aW9mc2Q6IG1ha2UgbG9fcmVsZWFzZSgpIGF0b21pYykKODkvMTA4IENoZWNraW5nIGNvbW1p dCBmMDBjYjRlYmIxYjQgKHZpcnRpb2ZzZDogcHJldmVudCByYWNlcyB3aXRoIGxvX2RpcnBfcHV0 KCkpCjkwLzEwOCBDaGVja2luZyBjb21taXQgMmFkMWY1NTYyOWIwICh2aXJ0aW9mc2Q6IHJlbmFt ZSBpbm9kZS0+cmVmY291bnQgdG8gaW5vZGUtPm5sb29rdXApCjkxLzEwOCBDaGVja2luZyBjb21t aXQgNjA0Mjk4ZDgyOWIxIChsaWJ2aG9zdC11c2VyOiBGaXggc29tZSBtZW10YWJsZSByZW1hcCBj YXNlcykKOTIvMTA4IENoZWNraW5nIGNvbW1pdCBjNzBiN2VlZWI0YWQgKHZpcnRpb2ZzZDogcGFz c3Rocm91Z2hfbGw6IGZpeCByZWZjb3VudGluZyBvbiByZW1vdmUvcmVuYW1lKQo5My8xMDggQ2hl Y2tpbmcgY29tbWl0IGE3Njk4MzIyMzVlZiAodmlydGlvZnNkOiBpbnRyb2R1Y2UgaW5vZGUgcmVm Y291bnQgdG8gcHJldmVudCB1c2UtYWZ0ZXItZnJlZSkKOTQvMTA4IENoZWNraW5nIGNvbW1pdCA2 NDlhYTQ5MzU0MTggKHZpcnRpb2ZzZDogZG8gbm90IGFsd2F5cyBzZXQgRlVTRV9GTE9DS19MT0NL UykKOTUvMTA4IENoZWNraW5nIGNvbW1pdCAyNjkwMDJlNDRmOTMgKHZpcnRpb2ZzZDogY29udmVy dCBtb3JlIGZwcmludGYgYW5kIHBlcnJvciB0byB1c2UgZnVzZSBsb2cgaW5mcmEpCjk2LzEwOCBD aGVja2luZyBjb21taXQgZTVlZTU5NDMzOGZiICh2aXJ0aW9mc2Q6IFJlc2V0IE9fRElSRUNUIGZs YWcgZHVyaW5nIGZpbGUgb3BlbikKOTcvMTA4IENoZWNraW5nIGNvbW1pdCA5ZTczOWExZWFhNTkg KHZpcnRpb2ZzZDogRml4IGRhdGEgY29ycnVwdGlvbiB3aXRoIE9fQVBQRU5EIHdyaXRlIGluIHdy aXRlYmFjayBtb2RlKQo5OC8xMDggQ2hlY2tpbmcgY29tbWl0IDFmNjdmYjdiMjAzZCAodmlydGlv ZnNkOiBwYXNzdGhyb3VnaF9sbDogVXNlIGNhY2hlX3JlYWRkaXIgZm9yIGRpcmVjdG9yeSBvcGVu KQo5OS8xMDggQ2hlY2tpbmcgY29tbWl0IDRmZGE2YTZiMjZmNCAodmlydGlvZnNkOiBhZGQgZGVm aW5pdGlvbiBvZiBmdXNlX2J1Zl93cml0ZXYoKSkKMTAwLzEwOCBDaGVja2luZyBjb21taXQgMGU1 ODNhMTc3NzY5ICh2aXJ0aW9mc2Q6IHVzZSBmdXNlX2J1Zl93cml0ZXYgdG8gcmVwbGFjZSBmdXNl X2J1Zl93cml0ZSBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlKQoxMDEvMTA4IENoZWNraW5nIGNvbW1p dCAzMjJiYmRjOGRhYTIgKHZpcnRpb2ZzZDogcHJvY2VzcyByZXF1ZXN0cyBpbiBhIHRocmVhZCBw b29sKQpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9uIGEgc2VwYXJh dGUgbGluZQojMzMzOiBGSUxFOiB0b29scy92aXJ0aW9mc2QvZnVzZV92aXJ0aW8uYzo1Nzc6Cisg ICAgcG9vbCA9IGdfdGhyZWFkX3Bvb2xfbmV3KGZ2X3F1ZXVlX3dvcmtlciwgcWksIDEgLyogVE9E TyBtYXhfdGhyZWFkcyAqLywKCnRvdGFsOiAwIGVycm9ycywgMSB3YXJuaW5ncywgNDY2IGxpbmVz IGNoZWNrZWQKClBhdGNoIDEwMS8xMDggaGFzIHN0eWxlIHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3 LiAgSWYgYW55IG9mIHRoZXNlIGVycm9ycwphcmUgZmFsc2UgcG9zaXRpdmVzIHJlcG9ydCB0aGVt IHRvIHRoZSBtYWludGFpbmVyLCBzZWUKQ0hFQ0tQQVRDSCBpbiBNQUlOVEFJTkVSUy4KMTAyLzEw OCBDaGVja2luZyBjb21taXQgYjU3M2JkZGZkYmRlICh2aXJ0aW9mc2Q6IHByZXZlbnQgRlVTRV9J TklUL0ZVU0VfREVTVFJPWSByYWNlcykKMTAzLzEwOCBDaGVja2luZyBjb21taXQgODc1MDRlYjAx NTJjICh2aXJ0aW9mc2Q6IGZpeCBsb19kZXN0cm95KCkgcmVzb3VyY2UgbGVha3MpCjEwNC8xMDgg Q2hlY2tpbmcgY29tbWl0IDcyZWNlOGZmN2M1OSAodmlydGlvZnNkOiBhZGQgLS10aHJlYWQtcG9v bC1zaXplPU5VTSBvcHRpb24pCjEwNS8xMDggQ2hlY2tpbmcgY29tbWl0IDY5ODI5MmU1YWM3YSAo dmlydGlvZnNkOiBDb252ZXJ0IGxvX2Rlc3Ryb3kgdG8gdGFrZSB0aGUgbG8tPm11dGV4IGxvY2sg aXRzZWxmKQoxMDYvMTA4IENoZWNraW5nIGNvbW1pdCA5MzI1MzEwMDRmYzQgKHZpcnRpb2ZzZC9w YXNzdGhyb3VnaF9sbDogUGFzcyBlcnJubyB0byBmdXNlX3JlcGx5X2VycigpKQoxMDcvMTA4IENo ZWNraW5nIGNvbW1pdCA5MWI5MjEwYzZmODIgKHZpcnRpb2ZzZDogc3RvcCBhbGwgcXVldWUgdGhy ZWFkcyBvbiBleGl0IGluIHZpcnRpb19sb29wKCkpCjEwOC8xMDggQ2hlY2tpbmcgY29tbWl0IDAy ZTRjNmQ5ODk0NiAodmlydGlvZnNkOiBhZGQgc29tZSBvcHRpb25zIHRvIHRoZSBoZWxwIG1lc3Nh Z2UpCj09PSBPVVRQVVQgRU5EID09PQoKVGVzdCBjb21tYW5kIGV4aXRlZCB3aXRoIGNvZGU6IDEK CgpUaGUgZnVsbCBsb2cgaXMgYXZhaWxhYmxlIGF0Cmh0dHA6Ly9wYXRjaGV3Lm9yZy9sb2dzLzIw MjAwMTIzMTY0NjMwLjkxNDk4LTEtZGdpbGJlcnRAcmVkaGF0LmNvbS90ZXN0aW5nLmNoZWNrcGF0 Y2gvP3R5cGU9bWVzc2FnZS4KLS0tCkVtYWlsIGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGJ5IFBh dGNoZXcgW2h0dHBzOi8vcGF0Y2hldy5vcmcvXS4KUGxlYXNlIHNlbmQgeW91ciBmZWVkYmFjayB0 byBwYXRjaGV3LWRldmVsQHJlZGhhdC5jb20=