From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A0373C4361B for ; Thu, 10 Dec 2020 14:36:25 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 10ADA22D37 for ; Thu, 10 Dec 2020 14:36:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 10ADA22D37 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=NUhseDOJP9PMJIs7Tj+DlBG4XCty4jYYGxpEF99pNlw=; b=gm6NskqXpePz4rkRAsbeg4awW xGee2mK89tkexAub3r/z+ihPjS/kzWHOoJIy9vy+gYVHZ05uqc9E1dlNs2KlIkE80MweBzDQpr5jM Vz0iyUhLFVPryuW3uCya+XhhqM2JsdesE/rPah5i0NgY7bdzxV0e5sMr4cm/m33xTp1li9Ce1+yTe 7x9bIKyFRSrSaeLJLi8aha6ta689ntEGZAYMvrzacOB30GLqe8PiFrPgZi0+MbyqDsYL+ejILbxzg mMH1VP5O4LE5Kt5akqtTknLCKT/ua3gl/4GxZOos+bjQFHpguXPeJRtyINWFC2OMosEh9b4jB7mVp RkyrH3/8A==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1knN1i-0000RF-Rx; Thu, 10 Dec 2020 14:34:38 +0000 Received: from foss.arm.com ([217.140.110.172]) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1knN1a-0000PA-Jj for linux-arm-kernel@lists.infradead.org; Thu, 10 Dec 2020 14:34:36 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id AFB251FB; Thu, 10 Dec 2020 06:34:29 -0800 (PST) Received: from [192.168.2.22] (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 747543F718; Thu, 10 Dec 2020 06:34:27 -0800 (PST) Subject: Re: [linux-sunxi] [PATCH 5/8] clk: sunxi-ng: Add support for the Allwinner H616 CCU To: Icenowy Zheng , Maxime Ripard , Chen-Yu Tsai , Jernej Skrabec References: <20201202135409.13683-1-andre.przywara@arm.com> <20201202135409.13683-6-andre.przywara@arm.com> From: =?UTF-8?Q?Andr=c3=a9_Przywara?= Organization: ARM Ltd. Message-ID: <990d173c-9b60-5018-9655-abd1482e213f@arm.com> Date: Thu, 10 Dec 2020 14:34:04 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-GB X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201210_093430_962974_939829C6 X-CRM114-Status: GOOD ( 25.50 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Philipp Zabel , Stephen Boyd , Linus Walleij , linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, linux-sunxi@googlegroups.com, Rob Herring , Icenowy Zheng , Yangtao Li , Michael Turquette , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMTAvMTIvMjAyMCAxMzozMSwgSWNlbm93eSBaaGVuZyB3cm90ZToKPiDlnKggMjAyMC0xMi0w MuaYn+acn+S4ieeahCAxMzo1NCArMDAwMO+8jEFuZHJlIFByenl3YXJh5YaZ6YGT77yaCj4+IFdo aWxlIHRoZSBjbG9ja3MgYXJlIGZhaXJseSBzaW1pbGFyIHRvIHRoZSBINiwgbWFueSBkaWZmZXIg aW4gdGlueQo+PiBkZXRhaWxzLCBzbyBhIHNlcGFyYXRlIGNsb2NrIGRyaXZlciBzZWVtcyBpbmRp Y2F0ZWQuCj4+Cj4+IERlcml2ZWQgZnJvbSB0aGUgSDYgY2xvY2sgZHJpdmVyLCBhbmQgYWRqdXN0 ZWQgYWNjb3JkaW5nIHRvIHRoZQo+PiBtYW51YWwuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IEFuZHJl IFByenl3YXJhIDxhbmRyZS5wcnp5d2FyYUBhcm0uY29tPgo+PiAtLS0KPj4gIGRyaXZlcnMvY2xr L3N1bnhpLW5nL0tjb25maWcgICAgICAgICAgICAgICAgfCAgICA3ICstCj4+ICBkcml2ZXJzL2Ns ay9zdW54aS1uZy9NYWtlZmlsZSAgICAgICAgICAgICAgIHwgICAgMSArCj4+ICBkcml2ZXJzL2Ns ay9zdW54aS1uZy9jY3Utc3VuNTBpLWg2MTYuYyAgICAgIHwgMTEzNAo+PiArKysrKysrKysrKysr KysrKysrCj4+ICBkcml2ZXJzL2Nsay9zdW54aS1uZy9jY3Utc3VuNTBpLWg2MTYuaCAgICAgIHwg ICA1OCArCj4+ICBpbmNsdWRlL2R0LWJpbmRpbmdzL2Nsb2NrL3N1bjUwaS1oNjE2LWNjdS5oIHwg IDExMCArKwo+PiAgaW5jbHVkZS9kdC1iaW5kaW5ncy9yZXNldC9zdW41MGktaDYxNi1jY3UuaCB8 ICAgNjcgKysKPj4gIDYgZmlsZXMgY2hhbmdlZCwgMTM3NiBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9jbGsvc3VueGktbmcvY2N1LXN1 bjUwaS1oNjE2LmMKPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9zdW54aS1uZy9j Y3Utc3VuNTBpLWg2MTYuaAo+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvZHQtYmluZGlu Z3MvY2xvY2svc3VuNTBpLWg2MTYtY2N1LmgKPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRl L2R0LWJpbmRpbmdzL3Jlc2V0L3N1bjUwaS1oNjE2LWNjdS5oCj4+Cj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2Nsay9zdW54aS1uZy9LY29uZmlnIGIvZHJpdmVycy9jbGsvc3VueGktCj4+IG5nL0tj b25maWcKPj4gaW5kZXggY2U1ZjU4NDdkNWQzLi5jZDQ2ZDg4NTM4NzYgMTAwNjQ0Cj4+IC0tLSBh L2RyaXZlcnMvY2xrL3N1bnhpLW5nL0tjb25maWcKPj4gKysrIGIvZHJpdmVycy9jbGsvc3VueGkt bmcvS2NvbmZpZwo+PiBAQCAtMzIsOCArMzIsMTMgQEAgY29uZmlnIFNVTjUwSV9INl9DQ1UKPj4g IAlkZWZhdWx0IEFSTTY0ICYmIEFSQ0hfU1VOWEkKPj4gIAlkZXBlbmRzIG9uIChBUk02NCAmJiBB UkNIX1NVTlhJKSB8fCBDT01QSUxFX1RFU1QKPj4gIAo+PiArY29uZmlnIFNVTjUwSV9INjE2X0ND VQo+PiArCWJvb2wgIlN1cHBvcnQgZm9yIHRoZSBBbGx3aW5uZXIgSDYxNiBDQ1UiCj4+ICsJZGVm YXVsdCBBUk02NCAmJiBBUkNIX1NVTlhJCj4+ICsJZGVwZW5kcyBvbiAoQVJNNjQgJiYgQVJDSF9T VU5YSSkgfHwgQ09NUElMRV9URVNUCj4+ICsKPj4gIGNvbmZpZyBTVU41MElfSDZfUl9DQ1UKPj4g LQlib29sICJTdXBwb3J0IGZvciB0aGUgQWxsd2lubmVyIEg2IFBSQ00gQ0NVIgo+PiArCWJvb2wg IlN1cHBvcnQgZm9yIHRoZSBBbGx3aW5uZXIgSDYgYW5kIEg2MTYgUFJDTSBDQ1UiCj4+ICAJZGVm YXVsdCBBUk02NCAmJiBBUkNIX1NVTlhJCj4+ICAJZGVwZW5kcyBvbiAoQVJNNjQgJiYgQVJDSF9T VU5YSSkgfHwgQ09NUElMRV9URVNUCj4+ICAKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL3N1 bnhpLW5nL01ha2VmaWxlIGIvZHJpdmVycy9jbGsvc3VueGktCj4+IG5nL01ha2VmaWxlCj4+IGlu ZGV4IDNlYjVjZmY0MGVhYy4uOTZjMzI0MzA2ZDk3IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2Ns ay9zdW54aS1uZy9NYWtlZmlsZQo+PiArKysgYi9kcml2ZXJzL2Nsay9zdW54aS1uZy9NYWtlZmls ZQo+PiBAQCAtMjYsNiArMjYsNyBAQCBvYmotJChDT05GSUdfU1VONTBJX0E2NF9DQ1UpCSs9IGNj dS1zdW41MGktCj4+IGE2NC5vCj4+ICBvYmotJChDT05GSUdfU1VONTBJX0ExMDBfQ0NVKQkrPSBj Y3Utc3VuNTBpLWExMDAubwo+PiAgb2JqLSQoQ09ORklHX1NVTjUwSV9BMTAwX1JfQ0NVKQkrPSBj Y3Utc3VuNTBpLWExMDAtci5vCj4+ICBvYmotJChDT05GSUdfU1VONTBJX0g2X0NDVSkJKz0gY2N1 LXN1bjUwaS1oNi5vCj4+ICtvYmotJChDT05GSUdfU1VONTBJX0g2MTZfQ0NVKQkrPSBjY3Utc3Vu NTBpLWg2MTYubwo+PiAgb2JqLSQoQ09ORklHX1NVTjUwSV9INl9SX0NDVSkJKz0gY2N1LXN1bjUw aS1oNi1yLm8KPj4gIG9iai0kKENPTkZJR19TVU40SV9BMTBfQ0NVKQkrPSBjY3Utc3VuNGktYTEw Lm8KPj4gIG9iai0kKENPTkZJR19TVU41SV9DQ1UpCQkrPSBjY3Utc3VuNWkubwo+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9jbGsvc3VueGktbmcvY2N1LXN1bjUwaS1oNjE2LmMKPj4gYi9kcml2ZXJz L2Nsay9zdW54aS1uZy9jY3Utc3VuNTBpLWg2MTYuYwo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ PiBpbmRleCAwMDAwMDAwMDAwMDAuLjNmYmIyNThmMDM1NAo+PiAtLS0gL2Rldi9udWxsCj4+ICsr KyBiL2RyaXZlcnMvY2xrL3N1bnhpLW5nL2NjdS1zdW41MGktaDYxNi5jCj4+IEBAIC0wLDAgKzEs MTEzNCBAQAo+PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPj4gKy8qCj4+ ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjAgQXJtIEx0ZC4KPj4gKyAqIEJhc2VkIG9uIHRoZSBINiBD Q1UgZHJpdmVyLCB3aGljaCBpczoKPj4gKyAqICAgQ29weXJpZ2h0IChjKSAyMDE3IEljZW5vd3kg WmhlbmcgPGljZW5vd3lAYW9zYy5pbz4KPj4gKyAqLwo+PiArCj4+ICsjaW5jbHVkZSA8bGludXgv Y2xrLXByb3ZpZGVyLmg+Cj4+ICsjaW5jbHVkZSA8bGludXgvaW8uaD4KPj4gKyNpbmNsdWRlIDxs aW51eC9vZl9hZGRyZXNzLmg+Cj4+ICsjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+ Cj4+ICsKPj4gKyNpbmNsdWRlICJjY3VfY29tbW9uLmgiCj4+ICsjaW5jbHVkZSAiY2N1X3Jlc2V0 LmgiCj4+ICsKPj4gKyNpbmNsdWRlICJjY3VfZGl2LmgiCj4+ICsjaW5jbHVkZSAiY2N1X2dhdGUu aCIKPj4gKyNpbmNsdWRlICJjY3VfbXAuaCIKPj4gKyNpbmNsdWRlICJjY3VfbXVsdC5oIgo+PiAr I2luY2x1ZGUgImNjdV9uay5oIgo+PiArI2luY2x1ZGUgImNjdV9ua20uaCIKPj4gKyNpbmNsdWRl ICJjY3VfbmttcC5oIgo+PiArI2luY2x1ZGUgImNjdV9ubS5oIgo+PiArCj4+ICsjaW5jbHVkZSAi Y2N1LXN1bjUwaS1oNjE2LmgiCj4+ICsKPj4gKy8qCj4+ICsgKiBUaGUgQ1BVIFBMTCBpcyBhY3R1 YWxseSBOUCBjbG9jaywgd2l0aCBQIGJlaW5nIC8xLCAvMiBvciAvNC4KPj4gSG93ZXZlcgo+PiAr ICogUCBzaG91bGQgb25seSBiZSB1c2VkIGZvciBvdXRwdXQgZnJlcXVlbmNpZXMgbG93ZXIgdGhh biAyODggTUh6Lgo+PiArICoKPj4gKyAqIEZvciBub3cgd2UgY2FuIGp1c3QgbW9kZWwgaXQgYXMg YSBtdWx0aXBsaWVyIGNsb2NrLCBhbmQgZm9yY2UgUAo+PiB0byAvMS4KPj4gKyAqCj4+ICsgKiBU aGUgTSBmYWN0b3IgaXMgcHJlc2VudCBpbiB0aGUgcmVnaXN0ZXIncyBkZXNjcmlwdGlvbiwgYnV0 IG5vdCBpbgo+PiB0aGUKPj4gKyAqIGZyZXF1ZW5jeSBmb3JtdWxhLCBhbmQgaXQncyBkb2N1bWVu dGVkIGFzICJNIGlzIG9ubHkgdXNlZCBmb3IKPj4gYmFja2Rvb3IKPj4gKyAqIHRlc3RpbmciLCBz byBpdCdzIG5vdCBtb2RlbGxlZCBhbmQgdGhlbiBmb3JjZSB0byAwLgo+PiArICovCj4+ICsjZGVm aW5lIFNVTjUwSV9INjE2X1BMTF9DUFVYX1JFRwkweDAwMAo+PiArc3RhdGljIHN0cnVjdCBjY3Vf bXVsdCBwbGxfY3B1eF9jbGsgPSB7Cj4+ICsJLmVuYWJsZQkJPSBCSVQoMzEpLAo+PiArCS5sb2Nr CQk9IEJJVCgyOCksCj4+ICsJLm11bHQJCT0gX1NVTlhJX0NDVV9NVUxUX01JTig4LCA4LCAxMiks Cj4+ICsJLmNvbW1vbgkJPSB7Cj4+ICsJCS5yZWcJCT0gMHgwMDAsCj4+ICsJCS5ody5pbml0CT0g Q0xLX0hXX0lOSVQoInBsbC1jcHV4IiwgIm9zYzI0TSIsCj4+ICsJCQkJCSAgICAgICZjY3VfbXVs dF9vcHMsCj4+ICsJCQkJCSAgICAgIENMS19TRVRfUkFURV9VTkdBVEUpLAo+PiArCX0sCj4+ICt9 Owo+PiArCj4+ICsvKiBTb21lIFBMTHMgYXJlIGlucHV0ICogTiAvIGRpdjEgLyBQLiBNb2RlbCB0 aGVtIGFzIE5LTVAgd2l0aCBubyBLCj4+ICovCj4+ICsjZGVmaW5lIFNVTjUwSV9INjE2X1BMTF9E RFIwX1JFRwkweDAxMAo+PiArc3RhdGljIHN0cnVjdCBjY3VfbmttcCBwbGxfZGRyMF9jbGsgPSB7 Cj4+ICsJLmVuYWJsZQkJPSBCSVQoMzEpLAo+PiArCS5sb2NrCQk9IEJJVCgyOCksCj4+ICsJLm4J CT0gX1NVTlhJX0NDVV9NVUxUX01JTig4LCA4LCAxMiksCj4+ICsJLm0JCT0gX1NVTlhJX0NDVV9E SVYoMSwgMSksIC8qIGlucHV0IGRpdmlkZXIgKi8KPj4gKwkucAkJPSBfU1VOWElfQ0NVX0RJVigw LCAxKSwgLyogb3V0cHV0IGRpdmlkZXIgKi8KPj4gKwkuY29tbW9uCQk9IHsKPj4gKwkJLnJlZwkJ PSAweDAxMCwKPj4gKwkJLmh3LmluaXQJPSBDTEtfSFdfSU5JVCgicGxsLWRkcjAiLCAib3NjMjRN IiwKPj4gKwkJCQkJICAgICAgJmNjdV9ua21wX29wcywKPj4gKwkJCQkJICAgICAgQ0xLX1NFVF9S QVRFX1VOR0FURSksCj4+ICsJfSwKPj4gK307Cj4+ICsKPj4gKyNkZWZpbmUgU1VONTBJX0g2MTZf UExMX0REUjFfUkVHCTB4MDE4Cj4+ICtzdGF0aWMgc3RydWN0IGNjdV9ua21wIHBsbF9kZHIxX2Ns ayA9IHsKPj4gKwkuZW5hYmxlCQk9IEJJVCgzMSksCj4+ICsJLmxvY2sJCT0gQklUKDI4KSwKPj4g KwkubgkJPSBfU1VOWElfQ0NVX01VTFRfTUlOKDgsIDgsIDEyKSwKPj4gKwkubQkJPSBfU1VOWElf Q0NVX0RJVigxLCAxKSwgLyogaW5wdXQgZGl2aWRlciAqLwo+PiArCS5wCQk9IF9TVU5YSV9DQ1Vf RElWKDAsIDEpLCAvKiBvdXRwdXQgZGl2aWRlciAqLwo+PiArCS5jb21tb24JCT0gewo+PiArCQku cmVnCQk9IDB4MDE4LAo+PiArCQkuaHcuaW5pdAk9IENMS19IV19JTklUKCJwbGwtZGRyMSIsICJv c2MyNE0iLAo+PiArCQkJCQkgICAgICAmY2N1X25rbXBfb3BzLAo+PiArCQkJCQkgICAgICBDTEtf U0VUX1JBVEVfVU5HQVRFKSwKPj4gKwl9LAo+PiArfTsKPj4gKwo+PiArI2RlZmluZSBTVU41MElf SDYxNl9QTExfUEVSSVBIMF9SRUcJMHgwMjAKPj4gK3N0YXRpYyBzdHJ1Y3QgY2N1X25rbXAgcGxs X3BlcmlwaDBfY2xrID0gewo+PiArCS5lbmFibGUJCT0gQklUKDMxKSwKPj4gKwkubG9jawkJPSBC SVQoMjgpLAo+PiArCS5uCQk9IF9TVU5YSV9DQ1VfTVVMVF9NSU4oOCwgOCwgMTIpLAo+PiArCS5t CQk9IF9TVU5YSV9DQ1VfRElWKDEsIDEpLCAvKiBpbnB1dCBkaXZpZGVyICovCj4+ICsJLnAJCT0g X1NVTlhJX0NDVV9ESVYoMCwgMSksIC8qIG91dHB1dCBkaXZpZGVyICovCj4+ICsJLmZpeGVkX3Bv c3RfZGl2CT0gNCwKPiAKPiBJc24ndCBpdCAyIGhlcmU/Cj4gCj4gVGhlIHVzZXIgbWFudWFsIHNh eXM6Cj4gCj4gYGBgCj4gUExMX1BFUkkwKDJYKSA9IDI0IE1IeipOL00wL00xCj4gUExMX1BFUkkw KDFYKSA9IDI0IE1IeipOL00wL00xLzIKCk91Y2gsIHlvdSBhcmUgcmlnaHQsIGdvb2QgY2F0Y2gh CgpJIHJpcHBlZCBvdXQgUExMX1BFUkkwKDRYKSBsYXN0IG1pbnV0ZSwgYnV0IG1pc3NlZCB0aGF0 IGRpdmlkZXIuCgpUaGFua3MhCkFuZHJlCgo+IGBgYAo+IAo+ICsJLmNvbW1vbgkJPSB7Cj4+ICsJ CS5yZWcJCT0gMHgwMjAsCj4+ICsJCS5mZWF0dXJlcwk9IENDVV9GRUFUVVJFX0ZJWEVEX1BPU1RE SVYsCj4+ICsJCS5ody5pbml0CT0gQ0xLX0hXX0lOSVQoInBsbC1wZXJpcGgwIiwgIm9zYzI0TSIs Cj4+ICsJCQkJCSAgICAgICZjY3VfbmttcF9vcHMsCj4+ICsJCQkJCSAgICAgIENMS19TRVRfUkFU RV9VTkdBVEUpLAo+PiArCX0sCj4+ICt9Owo+PiArCj4+ICsjZGVmaW5lIFNVTjUwSV9INjE2X1BM TF9QRVJJUEgxX1JFRwkweDAyOAo+PiArc3RhdGljIHN0cnVjdCBjY3VfbmttcCBwbGxfcGVyaXBo MV9jbGsgPSB7Cj4+ICsJLmVuYWJsZQkJPSBCSVQoMzEpLAo+PiArCS5sb2NrCQk9IEJJVCgyOCks Cj4+ICsJLm4JCT0gX1NVTlhJX0NDVV9NVUxUX01JTig4LCA4LCAxMiksCj4+ICsJLm0JCT0gX1NV TlhJX0NDVV9ESVYoMSwgMSksIC8qIGlucHV0IGRpdmlkZXIgKi8KPj4gKwkucAkJPSBfU1VOWElf Q0NVX0RJVigwLCAxKSwgLyogb3V0cHV0IGRpdmlkZXIgKi8KPj4gKwkuZml4ZWRfcG9zdF9kaXYJ PSA0LAo+PiArCS5jb21tb24JCT0gewo+PiArCQkucmVnCQk9IDB4MDI4LAo+PiArCQkuZmVhdHVy ZXMJPSBDQ1VfRkVBVFVSRV9GSVhFRF9QT1NURElWLAo+PiArCQkuaHcuaW5pdAk9IENMS19IV19J TklUKCJwbGwtcGVyaXBoMSIsICJvc2MyNE0iLAo+PiArCQkJCQkgICAgICAmY2N1X25rbXBfb3Bz LAo+PiArCQkJCQkgICAgICBDTEtfU0VUX1JBVEVfVU5HQVRFKSwKPj4gKwl9LAo+PiArfTsKPj4g Kwo+PiArI2RlZmluZSBTVU41MElfSDYxNl9QTExfR1BVX1JFRwkJMHgwMzAKPj4gK3N0YXRpYyBz dHJ1Y3QgY2N1X25rbXAgcGxsX2dwdV9jbGsgPSB7Cj4+ICsJLmVuYWJsZQkJPSBCSVQoMzEpLAo+ PiArCS5sb2NrCQk9IEJJVCgyOCksCj4+ICsJLm4JCT0gX1NVTlhJX0NDVV9NVUxUX01JTig4LCA4 LCAxMiksCj4+ICsJLm0JCT0gX1NVTlhJX0NDVV9ESVYoMSwgMSksIC8qIGlucHV0IGRpdmlkZXIg Ki8KPj4gKwkucAkJPSBfU1VOWElfQ0NVX0RJVigwLCAxKSwgLyogb3V0cHV0IGRpdmlkZXIgKi8K Pj4gKwkuY29tbW9uCQk9IHsKPj4gKwkJLnJlZwkJPSAweDAzMCwKPj4gKwkJLmh3LmluaXQJPSBD TEtfSFdfSU5JVCgicGxsLWdwdSIsICJvc2MyNE0iLAo+PiArCQkJCQkgICAgICAmY2N1X25rbXBf b3BzLAo+PiArCQkJCQkgICAgICBDTEtfU0VUX1JBVEVfVU5HQVRFKSwKPj4gKwl9LAo+PiArfTsK Pj4gKwo+PiArLyoKPj4gKyAqIEZvciBWaWRlbyBQTExzLCB0aGUgb3V0cHV0IGRpdmlkZXIgaXMg ZGVzY3JpYmVkIGFzICJ1c2VkIGZvcgo+PiB0ZXN0aW5nIgo+PiArICogaW4gdGhlIHVzZXIgbWFu dWFsLiBTbyBpdCdzIG5vdCBtb2RlbGxlZCBhbmQgZm9yY2VkIHRvIDAuCj4+ICsgKi8KPj4gKyNk ZWZpbmUgU1VONTBJX0g2MTZfUExMX1ZJREVPMF9SRUcJMHgwNDAKPj4gK3N0YXRpYyBzdHJ1Y3Qg Y2N1X25tIHBsbF92aWRlbzBfY2xrID0gewo+PiArCS5lbmFibGUJCT0gQklUKDMxKSwKPj4gKwku bG9jawkJPSBCSVQoMjgpLAo+PiArCS5uCQk9IF9TVU5YSV9DQ1VfTVVMVF9NSU4oOCwgOCwgMTIp LAo+PiArCS5tCQk9IF9TVU5YSV9DQ1VfRElWKDEsIDEpLCAvKiBpbnB1dCBkaXZpZGVyICovCj4+ ICsJLmZpeGVkX3Bvc3RfZGl2CT0gNCwKPj4gKwkubWluX3JhdGUJPSAyODgwMDAwMDAsCj4+ICsJ Lm1heF9yYXRlCT0gMjQwMDAwMDAwMFVMLAo+PiArCS5jb21tb24JCT0gewo+PiArCQkucmVnCQk9 IDB4MDQwLAo+PiArCQkuZmVhdHVyZXMJPSBDQ1VfRkVBVFVSRV9GSVhFRF9QT1NURElWLAo+PiAr CQkuaHcuaW5pdAk9IENMS19IV19JTklUKCJwbGwtdmlkZW8wIiwgIm9zYzI0TSIsCj4+ICsJCQkJ CSAgICAgICZjY3Vfbm1fb3BzLAo+PiArCQkJCQkgICAgICBDTEtfU0VUX1JBVEVfVU5HQVRFKSwK Pj4gKwl9LAo+PiArfTsKPj4gKwo+PiArI2RlZmluZSBTVU41MElfSDYxNl9QTExfVklERU8xX1JF RwkweDA0OAo+PiArc3RhdGljIHN0cnVjdCBjY3Vfbm0gcGxsX3ZpZGVvMV9jbGsgPSB7Cj4+ICsJ LmVuYWJsZQkJPSBCSVQoMzEpLAo+PiArCS5sb2NrCQk9IEJJVCgyOCksCj4+ICsJLm4JCT0gX1NV TlhJX0NDVV9NVUxUX01JTig4LCA4LCAxMiksCj4+ICsJLm0JCT0gX1NVTlhJX0NDVV9ESVYoMSwg MSksIC8qIGlucHV0IGRpdmlkZXIgKi8KPj4gKwkuZml4ZWRfcG9zdF9kaXYJPSA0LAo+PiArCS5t aW5fcmF0ZQk9IDI4ODAwMDAwMCwKPj4gKwkubWF4X3JhdGUJPSAyNDAwMDAwMDAwVUwsCj4+ICsJ LmNvbW1vbgkJPSB7Cj4+ICsJCS5yZWcJCT0gMHgwNDgsCj4+ICsJCS5mZWF0dXJlcwk9IENDVV9G RUFUVVJFX0ZJWEVEX1BPU1RESVYsCj4+ICsJCS5ody5pbml0CT0gQ0xLX0hXX0lOSVQoInBsbC12 aWRlbzEiLCAib3NjMjRNIiwKPj4gKwkJCQkJICAgICAgJmNjdV9ubV9vcHMsCj4+ICsJCQkJCSAg ICAgIENMS19TRVRfUkFURV9VTkdBVEUpLAo+PiArCX0sCj4+ICt9Owo+PiArCj4+ICsjZGVmaW5l IFNVTjUwSV9INjE2X1BMTF9WSURFTzJfUkVHCTB4MDUwCj4+ICtzdGF0aWMgc3RydWN0IGNjdV9u bSBwbGxfdmlkZW8yX2NsayA9IHsKPj4gKwkuZW5hYmxlCQk9IEJJVCgzMSksCj4+ICsJLmxvY2sJ CT0gQklUKDI4KSwKPj4gKwkubgkJPSBfU1VOWElfQ0NVX01VTFRfTUlOKDgsIDgsIDEyKSwKPj4g KwkubQkJPSBfU1VOWElfQ0NVX0RJVigxLCAxKSwgLyogaW5wdXQgZGl2aWRlciAqLwo+PiArCS5m aXhlZF9wb3N0X2Rpdgk9IDQsCj4+ICsJLm1pbl9yYXRlCT0gMjg4MDAwMDAwLAo+PiArCS5tYXhf cmF0ZQk9IDI0MDAwMDAwMDBVTCwKPj4gKwkuY29tbW9uCQk9IHsKPj4gKwkJLnJlZwkJPSAweDA1 MCwKPj4gKwkJLmZlYXR1cmVzCT0gQ0NVX0ZFQVRVUkVfRklYRURfUE9TVERJViwKPj4gKwkJLmh3 LmluaXQJPSBDTEtfSFdfSU5JVCgicGxsLXZpZGVvMiIsICJvc2MyNE0iLAo+PiArCQkJCQkgICAg ICAmY2N1X25tX29wcywKPj4gKwkJCQkJICAgICAgQ0xLX1NFVF9SQVRFX1VOR0FURSksCj4+ICsJ fSwKPj4gK307Cj4+ICsKPj4gKyNkZWZpbmUgU1VONTBJX0g2MTZfUExMX1ZFX1JFRwkJMHgwNTgK Pj4gK3N0YXRpYyBzdHJ1Y3QgY2N1X25rbXAgcGxsX3ZlX2NsayA9IHsKPj4gKwkuZW5hYmxlCQk9 IEJJVCgzMSksCj4+ICsJLmxvY2sJCT0gQklUKDI4KSwKPj4gKwkubgkJPSBfU1VOWElfQ0NVX01V TFRfTUlOKDgsIDgsIDEyKSwKPj4gKwkubQkJPSBfU1VOWElfQ0NVX0RJVigxLCAxKSwgLyogaW5w dXQgZGl2aWRlciAqLwo+PiArCS5wCQk9IF9TVU5YSV9DQ1VfRElWKDAsIDEpLCAvKiBvdXRwdXQg ZGl2aWRlciAqLwo+PiArCS5jb21tb24JCT0gewo+PiArCQkucmVnCQk9IDB4MDU4LAo+PiArCQku aHcuaW5pdAk9IENMS19IV19JTklUKCJwbGwtdmUiLCAib3NjMjRNIiwKPj4gKwkJCQkJICAgICAg JmNjdV9ua21wX29wcywKPj4gKwkJCQkJICAgICAgQ0xLX1NFVF9SQVRFX1VOR0FURSksCj4+ICsJ fSwKPj4gK307Cj4+ICsKPj4gKyNkZWZpbmUgU1VONTBJX0g2MTZfUExMX0RFX1JFRwkJMHgwNjAK Pj4gK3N0YXRpYyBzdHJ1Y3QgY2N1X25rbXAgcGxsX2RlX2NsayA9IHsKPj4gKwkuZW5hYmxlCQk9 IEJJVCgzMSksCj4+ICsJLmxvY2sJCT0gQklUKDI4KSwKPj4gKwkubgkJPSBfU1VOWElfQ0NVX01V TFRfTUlOKDgsIDgsIDEyKSwKPj4gKwkubQkJPSBfU1VOWElfQ0NVX0RJVigxLCAxKSwgLyogaW5w dXQgZGl2aWRlciAqLwo+PiArCS5wCQk9IF9TVU5YSV9DQ1VfRElWKDAsIDEpLCAvKiBvdXRwdXQg ZGl2aWRlciAqLwo+PiArCS5jb21tb24JCT0gewo+PiArCQkucmVnCQk9IDB4MDYwLAo+PiArCQku aHcuaW5pdAk9IENMS19IV19JTklUKCJwbGwtZGUiLCAib3NjMjRNIiwKPj4gKwkJCQkJICAgICAg JmNjdV9ua21wX29wcywKPj4gKwkJCQkJICAgICAgQ0xLX1NFVF9SQVRFX1VOR0FURSksCj4+ICsJ fSwKPj4gK307Cj4+ICsKPj4gKy8qCj4+ICsgKiBUT0RPOiBEZXRlcm1pbmUgU0RNIHNldHRpbmdz IGZvciB0aGUgYXVkaW8gUExMLiBUaGUgbWFudWFsCj4+IHN1Z2dlc3RzCj4+ICsgKiBQTExfRkFD VE9SX049MTYsIFBMTF9QT1NUX0RJVl9QPTIsIE9VVFBVVF9ESVY9MiwKPj4gcGF0dGVybj0weGUw MDBjNDliCj4+ICsgKiBmb3IgMjQuNTc2IE1IeiwgYW5kIFBMTF9GQUNUT1JfTj0yMiwgUExMX1BP U1RfRElWX1A9MywKPj4gT1VUUFVUX0RJVj0yLAo+PiArICogcGF0dGVybj0weGUwMDEyODhjIGZv ciAyMi41NzkyIE1Iei4KPj4gKyAqIFRoaXMgY2xhc2hlcyB3aXRoIG91ciBmaXhlZCBQTExfUE9T VF9ESVZfUC4KPj4gKyAqLwo+PiArI2RlZmluZSBTVU41MElfSDYxNl9QTExfQVVESU9fUkVHCTB4 MDc4Cj4+ICtzdGF0aWMgc3RydWN0IGNjdV9ubSBwbGxfYXVkaW9faHNfY2xrID0gewo+PiArCS5l bmFibGUJCT0gQklUKDMxKSwKPj4gKwkubG9jawkJPSBCSVQoMjgpLAo+PiArCS5uCQk9IF9TVU5Y SV9DQ1VfTVVMVF9NSU4oOCwgOCwgMTIpLAo+PiArCS5tCQk9IF9TVU5YSV9DQ1VfRElWKDEsIDEp LCAvKiBpbnB1dCBkaXZpZGVyICovCj4+ICsJLmNvbW1vbgkJPSB7Cj4+ICsJCS5yZWcJCT0gMHgw NzgsCj4+ICsJCS5ody5pbml0CT0gQ0xLX0hXX0lOSVQoInBsbC1hdWRpby1ocyIsICJvc2MyNE0i LAo+PiArCQkJCQkgICAgICAmY2N1X25tX29wcywKPj4gKwkJCQkJICAgICAgQ0xLX1NFVF9SQVRF X1VOR0FURSksCj4+ICsJfSwKPj4gK307Cj4+ICsKPj4gK3N0YXRpYyBjb25zdCBjaGFyICogY29u c3QgY3B1eF9wYXJlbnRzW10gPSB7ICJvc2MyNE0iLCAib3NjMzJrIiwKPj4gKwkJCQkJImlvc2Mi LCAicGxsLWNwdXgiLCAicGxsLQo+PiBwZXJpcGgwIiB9Owo+PiArc3RhdGljIFNVTlhJX0NDVV9N VVgoY3B1eF9jbGssICJjcHV4IiwgY3B1eF9wYXJlbnRzLAo+PiArCQkgICAgIDB4NTAwLCAyNCwg MywgQ0xLX1NFVF9SQVRFX1BBUkVOVCB8Cj4+IENMS19JU19DUklUSUNBTCk7Cj4+ICtzdGF0aWMg U1VOWElfQ0NVX00oYXhpX2NsaywgImF4aSIsICJjcHV4IiwgMHg1MDAsIDAsIDIsIDApOwo+PiAr c3RhdGljIFNVTlhJX0NDVV9NKGNwdXhfYXBiX2NsaywgImNwdXgtYXBiIiwgImNwdXgiLCAweDUw MCwgOCwgMiwKPj4gMCk7Cj4+ICsKPj4gK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgcHNpX2Fo YjFfYWhiMl9wYXJlbnRzW10gPSB7ICJvc2MyNE0iLAo+PiAib3NjMzJrIiwKPj4gKwkJCQkJCSAg ICAgICJpb3NjIiwgInBsbC0KPj4gcGVyaXBoMCIgfTsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfTVBf V0lUSF9NVVgocHNpX2FoYjFfYWhiMl9jbGssICJwc2ktYWhiMS1haGIyIiwKPj4gKwkJCSAgICAg cHNpX2FoYjFfYWhiMl9wYXJlbnRzLAo+PiArCQkJICAgICAweDUxMCwKPj4gKwkJCSAgICAgMCwg MiwJLyogTSAqLwo+PiArCQkJICAgICA4LCAyLAkvKiBQICovCj4+ICsJCQkgICAgIDI0LCAyLAkv KiBtdXggKi8KPj4gKwkJCSAgICAgMCk7Cj4+ICsKPj4gK3N0YXRpYyBjb25zdCBjaGFyICogY29u c3QgYWhiM19hcGIxX2FwYjJfcGFyZW50c1tdID0geyAib3NjMjRNIiwKPj4gIm9zYzMyayIsCj4+ ICsJCQkJCQkgICAgICAgInBzaS1haGIxLWFoYjIiLAo+PiArCQkJCQkJICAgICAgICJwbGwtcGVy aXBoMCIgfTsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfTVBfV0lUSF9NVVgoYWhiM19jbGssICJhaGIz IiwKPj4gYWhiM19hcGIxX2FwYjJfcGFyZW50cywgMHg1MWMsCj4+ICsJCQkgICAgIDAsIDIsCS8q IE0gKi8KPj4gKwkJCSAgICAgOCwgMiwJLyogUCAqLwo+PiArCQkJICAgICAyNCwgMiwJLyogbXV4 ICovCj4+ICsJCQkgICAgIDApOwo+PiArCj4+ICtzdGF0aWMgU1VOWElfQ0NVX01QX1dJVEhfTVVY KGFwYjFfY2xrLCAiYXBiMSIsCj4+IGFoYjNfYXBiMV9hcGIyX3BhcmVudHMsIDB4NTIwLAo+PiAr CQkJICAgICAwLCAyLAkvKiBNICovCj4+ICsJCQkgICAgIDgsIDIsCS8qIFAgKi8KPj4gKwkJCSAg ICAgMjQsIDIsCS8qIG11eCAqLwo+PiArCQkJICAgICAwKTsKPj4gKwo+PiArc3RhdGljIFNVTlhJ X0NDVV9NUF9XSVRIX01VWChhcGIyX2NsaywgImFwYjIiLAo+PiBhaGIzX2FwYjFfYXBiMl9wYXJl bnRzLCAweDUyNCwKPj4gKwkJCSAgICAgMCwgMiwJLyogTSAqLwo+PiArCQkJICAgICA4LCAyLAkv KiBQICovCj4+ICsJCQkgICAgIDI0LCAyLAkvKiBtdXggKi8KPj4gKwkJCSAgICAgMCk7Cj4+ICsK Pj4gK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgbWJ1c19wYXJlbnRzW10gPSB7ICJvc2MyNE0i LCAicGxsLXBlcmlwaDAtCj4+IDJ4IiwKPj4gKwkJCQkJICAgICAicGxsLWRkcjAiLCAicGxsLWRk cjEiIH07Cj4+ICtzdGF0aWMgU1VOWElfQ0NVX01fV0lUSF9NVVhfR0FURShtYnVzX2NsaywgIm1i dXMiLCBtYnVzX3BhcmVudHMsCj4+IDB4NTQwLAo+PiArCQkJCQkwLCAzLAkvKiBNICovCj4+ICsJ CQkJCTI0LCAyLAkvKiBtdXggKi8KPj4gKwkJCQkJQklUKDMxKSwJLyogZ2F0ZSAqLwo+PiArCQkJ CQlDTEtfSVNfQ1JJVElDQUwpOwo+PiArCj4+ICtzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGRl X3BhcmVudHNbXSA9IHsgInBsbC1kZSIsICJwbGwtcGVyaXBoMC0KPj4gMngiIH07Cj4+ICtzdGF0 aWMgU1VOWElfQ0NVX01fV0lUSF9NVVhfR0FURShkZV9jbGssICJkZSIsIGRlX3BhcmVudHMsIDB4 NjAwLAo+PiArCQkJCSAgICAgICAwLCA0LAkvKiBNICovCj4+ICsJCQkJICAgICAgIDI0LCAxLAkv KiBtdXggKi8KPj4gKwkJCQkgICAgICAgQklUKDMxKSwJLyogZ2F0ZSAqLwo+PiArCQkJCSAgICAg ICBDTEtfU0VUX1JBVEVfUEFSRU5UKTsKPj4gKwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFKGJ1 c19kZV9jbGssICJidXMtZGUiLCAicHNpLWFoYjEtYWhiMiIsCj4+ICsJCSAgICAgIDB4NjBjLCBC SVQoMCksIDApOwo+PiArCj4+ICtzdGF0aWMgU1VOWElfQ0NVX01fV0lUSF9NVVhfR0FURShkZWlu dGVybGFjZV9jbGssICJkZWludGVybGFjZSIsCj4+ICsJCQkJICAgICAgIGRlX3BhcmVudHMsCj4+ ICsJCQkJICAgICAgIDB4NjIwLAo+PiArCQkJCSAgICAgICAwLCA0LAkvKiBNICovCj4+ICsJCQkJ ICAgICAgIDI0LCAxLAkvKiBtdXggKi8KPj4gKwkJCQkgICAgICAgQklUKDMxKSwJLyogZ2F0ZSAq Lwo+PiArCQkJCSAgICAgICAwKTsKPj4gKwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFKGJ1c19k ZWludGVybGFjZV9jbGssICJidXMtZGVpbnRlcmxhY2UiLCAicHNpLQo+PiBhaGIxLWFoYjIiLAo+ PiArCQkgICAgICAweDYyYywgQklUKDApLCAwKTsKPj4gKwo+PiArc3RhdGljIFNVTlhJX0NDVV9N X1dJVEhfTVVYX0dBVEUoZzJkX2NsaywgImcyZCIsIGRlX3BhcmVudHMsIDB4NjMwLAo+PiArCQkJ CSAgICAgICAwLCA0LAkvKiBNICovCj4+ICsJCQkJICAgICAgIDI0LCAxLAkvKiBtdXggKi8KPj4g KwkJCQkgICAgICAgQklUKDMxKSwJLyogZ2F0ZSAqLwo+PiArCQkJCSAgICAgICAwKTsKPj4gKwo+ PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFKGJ1c19nMmRfY2xrLCAiYnVzLWcyZCIsICJwc2ktYWhi MS1haGIyIiwKPj4gKwkJICAgICAgMHg2M2MsIEJJVCgwKSwgMCk7Cj4+ICsKPj4gK3N0YXRpYyBj b25zdCBjaGFyICogY29uc3QgZ3B1MF9wYXJlbnRzW10gPSB7ICJwbGwtZ3B1IiwgImdwdTEiIH07 Cj4+ICtzdGF0aWMgU1VOWElfQ0NVX01fV0lUSF9NVVhfR0FURShncHUwX2NsaywgImdwdTAiLCBn cHUwX3BhcmVudHMsCj4+IDB4NjcwLAo+PiArCQkJCSAgICAgICAwLCAyLAkvKiBNICovCj4+ICsJ CQkJICAgICAgIDI0LCAxLAkvKiBtdXggKi8KPj4gKwkJCQkgICAgICAgQklUKDMxKSwJLyogZ2F0 ZSAqLwo+PiArCQkJCSAgICAgICBDTEtfU0VUX1JBVEVfUEFSRU5UKTsKPj4gK3N0YXRpYyBTVU5Y SV9DQ1VfTV9XSVRIX0dBVEUoZ3B1MV9jbGssICJncHUxIiwgInBsbC1wZXJpcGgwLTJ4IiwKPj4g MHg2NzQsCj4+ICsJCQkJCTAsIDMsCS8qIE0gKi8KPj4gKwkJCQkJQklUKDMxKSwvKiBnYXRlICov Cj4+ICsJCQkJCTApOwo+PiArCj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEUoYnVzX2dwdV9jbGss ICJidXMtZ3B1IiwgInBzaS1haGIxLWFoYjIiLAo+PiArCQkgICAgICAweDY3YywgQklUKDApLCAw KTsKPj4gKwo+PiArc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBjZV9wYXJlbnRzW10gPSB7ICJv c2MyNE0iLCAicGxsLXBlcmlwaDAtCj4+IDJ4IiB9Owo+PiArc3RhdGljIFNVTlhJX0NDVV9NUF9X SVRIX01VWF9HQVRFKGNlX2NsaywgImNlIiwgY2VfcGFyZW50cywgMHg2ODAsCj4+ICsJCQkJCTAs IDQsCS8qIE0gKi8KPj4gKwkJCQkJOCwgMiwJLyogTiAqLwo+PiArCQkJCQkyNCwgMSwJLyogbXV4 ICovCj4+ICsJCQkJCUJJVCgzMSksLyogZ2F0ZSAqLwo+PiArCQkJCQkwKTsKPj4gKwo+PiArc3Rh dGljIFNVTlhJX0NDVV9HQVRFKGJ1c19jZV9jbGssICJidXMtY2UiLCAicHNpLWFoYjEtYWhiMiIs Cj4+ICsJCSAgICAgIDB4NjhjLCBCSVQoMCksIDApOwo+PiArCj4+ICtzdGF0aWMgY29uc3QgY2hh ciAqIGNvbnN0IHZlX3BhcmVudHNbXSA9IHsgInBsbC12ZSIgfTsKPj4gK3N0YXRpYyBTVU5YSV9D Q1VfTV9XSVRIX01VWF9HQVRFKHZlX2NsaywgInZlIiwgdmVfcGFyZW50cywgMHg2OTAsCj4+ICsJ CQkJICAgICAgIDAsIDMsCS8qIE0gKi8KPj4gKwkJCQkgICAgICAgMjQsIDEsCS8qIG11eCAqLwo+ PiArCQkJCSAgICAgICBCSVQoMzEpLAkvKiBnYXRlICovCj4+ICsJCQkJICAgICAgIENMS19TRVRf UkFURV9QQVJFTlQpOwo+PiArCj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEUoYnVzX3ZlX2Nsaywg ImJ1cy12ZSIsICJwc2ktYWhiMS1haGIyIiwKPj4gKwkJICAgICAgMHg2OWMsIEJJVCgwKSwgMCk7 Cj4+ICsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURShidXNfZG1hX2NsaywgImJ1cy1kbWEiLCAi cHNpLWFoYjEtYWhiMiIsCj4+ICsJCSAgICAgIDB4NzBjLCBCSVQoMCksIDApOwo+PiArCj4+ICtz dGF0aWMgU1VOWElfQ0NVX0dBVEUoYnVzX2hzdGltZXJfY2xrLCAiYnVzLWhzdGltZXIiLCAicHNp LWFoYjEtCj4+IGFoYjIiLAo+PiArCQkgICAgICAweDczYywgQklUKDApLCAwKTsKPj4gKwo+PiAr c3RhdGljIFNVTlhJX0NDVV9HQVRFKGF2c19jbGssICJhdnMiLCAib3NjMjRNIiwgMHg3NDAsIEJJ VCgzMSksIDApOwo+PiArCj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEUoYnVzX2RiZ19jbGssICJi dXMtZGJnIiwgInBzaS1haGIxLWFoYjIiLAo+PiArCQkgICAgICAweDc4YywgQklUKDApLCAwKTsK Pj4gKwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFKGJ1c19wc2lfY2xrLCAiYnVzLXBzaSIsICJw c2ktYWhiMS1haGIyIiwKPj4gKwkJICAgICAgMHg3OWMsIEJJVCgwKSwgMCk7Cj4+ICsKPj4gK3N0 YXRpYyBTVU5YSV9DQ1VfR0FURShidXNfcHdtX2NsaywgImJ1cy1wd20iLCAiYXBiMSIsIDB4N2Fj LCBCSVQoMCksCj4+IDApOwo+PiArCj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEUoYnVzX2lvbW11 X2NsaywgImJ1cy1pb21tdSIsICJhcGIxIiwgMHg3YmMsCj4+IEJJVCgwKSwgMCk7Cj4+ICsKPj4g K3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZHJhbV9wYXJlbnRzW10gPSB7ICJwbGwtZGRyMCIs ICJwbGwtZGRyMSIKPj4gfTsKPj4gK3N0YXRpYyBzdHJ1Y3QgY2N1X2RpdiBkcmFtX2NsayA9IHsK Pj4gKwkuZGl2CQk9IF9TVU5YSV9DQ1VfRElWKDAsIDIpLAo+PiArCS5tdXgJCT0gX1NVTlhJX0ND VV9NVVgoMjQsIDIpLAo+PiArCS5jb21tb24JPSB7Cj4+ICsJCS5yZWcJCT0gMHg4MDAsCj4+ICsJ CS5ody5pbml0CT0gQ0xLX0hXX0lOSVRfUEFSRU5UUygiZHJhbSIsCj4+ICsJCQkJCQkgICAgICBk cmFtX3BhcmVudHMsCj4+ICsJCQkJCQkgICAgICAmY2N1X2Rpdl9vcHMsCj4+ICsJCQkJCQkgICAg ICBDTEtfSVNfQ1JJVElDQUwpLAo+PiArCX0sCj4+ICt9Owo+PiArCj4+ICtzdGF0aWMgU1VOWElf Q0NVX0dBVEUobWJ1c19kbWFfY2xrLCAibWJ1cy1kbWEiLCAibWJ1cyIsCj4+ICsJCSAgICAgIDB4 ODA0LCBCSVQoMCksIDApOwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFKG1idXNfdmVfY2xrLCAi bWJ1cy12ZSIsICJtYnVzIiwKPj4gKwkJICAgICAgMHg4MDQsIEJJVCgxKSwgMCk7Cj4+ICtzdGF0 aWMgU1VOWElfQ0NVX0dBVEUobWJ1c19jZV9jbGssICJtYnVzLWNlIiwgIm1idXMiLAo+PiArCQkg ICAgICAweDgwNCwgQklUKDIpLCAwKTsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURShtYnVzX3Rz X2NsaywgIm1idXMtdHMiLCAibWJ1cyIsCj4+ICsJCSAgICAgIDB4ODA0LCBCSVQoMyksIDApOwo+ PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFKG1idXNfbmFuZF9jbGssICJtYnVzLW5hbmQiLCAibWJ1 cyIsCj4+ICsJCSAgICAgIDB4ODA0LCBCSVQoNSksIDApOwo+PiArc3RhdGljIFNVTlhJX0NDVV9H QVRFKG1idXNfZzJkX2NsaywgIm1idXMtZzJkIiwgIm1idXMiLAo+PiArCQkgICAgICAweDgwNCwg QklUKDEwKSwgMCk7Cj4+ICsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURShidXNfZHJhbV9jbGss ICJidXMtZHJhbSIsICJwc2ktYWhiMS1haGIyIiwKPj4gKwkJICAgICAgMHg4MGMsIEJJVCgwKSwg Q0xLX0lTX0NSSVRJQ0FMKTsKPj4gKwo+PiArc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBuYW5k X3NwaV9wYXJlbnRzW10gPSB7ICJvc2MyNE0iLCAicGxsLQo+PiBwZXJpcGgwIiwKPj4gKwkJCQkJ ICAgICAicGxsLXBlcmlwaDEiLCAicGxsLQo+PiBwZXJpcGgwLTJ4IiwKPj4gKwkJCQkJICAgICAi cGxsLXBlcmlwaDEtMngiIH07Cj4+ICtzdGF0aWMgU1VOWElfQ0NVX01QX1dJVEhfTVVYX0dBVEUo bmFuZDBfY2xrLCAibmFuZDAiLAo+PiBuYW5kX3NwaV9wYXJlbnRzLCAweDgxMCwKPj4gKwkJCQkJ MCwgNCwJLyogTSAqLwo+PiArCQkJCQk4LCAyLAkvKiBOICovCj4+ICsJCQkJCTI0LCAzLAkvKiBt dXggKi8KPj4gKwkJCQkJQklUKDMxKSwvKiBnYXRlICovCj4+ICsJCQkJCTApOwo+PiArCj4+ICtz dGF0aWMgU1VOWElfQ0NVX01QX1dJVEhfTVVYX0dBVEUobmFuZDFfY2xrLCAibmFuZDEiLAo+PiBu YW5kX3NwaV9wYXJlbnRzLCAweDgxNCwKPj4gKwkJCQkJMCwgNCwJLyogTSAqLwo+PiArCQkJCQk4 LCAyLAkvKiBOICovCj4+ICsJCQkJCTI0LCAzLAkvKiBtdXggKi8KPj4gKwkJCQkJQklUKDMxKSwv KiBnYXRlICovCj4+ICsJCQkJCTApOwo+PiArCj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEUoYnVz X25hbmRfY2xrLCAiYnVzLW5hbmQiLCAiYWhiMyIsIDB4ODJjLAo+PiBCSVQoMCksIDApOwo+PiAr Cj4+ICtzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IG1tY19wYXJlbnRzW10gPSB7ICJvc2MyNE0i LCAicGxsLXBlcmlwaDAtCj4+IDJ4IiwKPj4gKwkJCQkJICAgICJwbGwtcGVyaXBoMS0yeCIgfTsK Pj4gK3N0YXRpYyBTVU5YSV9DQ1VfTVBfV0lUSF9NVVhfR0FURV9QT1NURElWKG1tYzBfY2xrLCAi bW1jMCIsCj4+IG1tY19wYXJlbnRzLCAweDgzMCwKPj4gKwkJCQkJICAwLCA0LAkJLyogTSAqLwo+ PiArCQkJCQkgIDgsIDIsCQkvKiBOICovCj4+ICsJCQkJCSAgMjQsIDIsCS8qIG11eCAqLwo+PiAr CQkJCQkgIEJJVCgzMSksCS8qIGdhdGUgKi8KPj4gKwkJCQkJICAyLAkJLyogcG9zdC1kaXYKPj4g Ki8KPj4gKwkJCQkJICAwKTsKPj4gKwo+PiArc3RhdGljIFNVTlhJX0NDVV9NUF9XSVRIX01VWF9H QVRFX1BPU1RESVYobW1jMV9jbGssICJtbWMxIiwKPj4gbW1jX3BhcmVudHMsIDB4ODM0LAo+PiAr CQkJCQkgIDAsIDQsCQkvKiBNICovCj4+ICsJCQkJCSAgOCwgMiwJCS8qIE4gKi8KPj4gKwkJCQkJ ICAyNCwgMiwJLyogbXV4ICovCj4+ICsJCQkJCSAgQklUKDMxKSwJLyogZ2F0ZSAqLwo+PiArCQkJ CQkgIDIsCQkvKiBwb3N0LWRpdgo+PiAqLwo+PiArCQkJCQkgIDApOwo+PiArCj4+ICtzdGF0aWMg U1VOWElfQ0NVX01QX1dJVEhfTVVYX0dBVEVfUE9TVERJVihtbWMyX2NsaywgIm1tYzIiLAo+PiBt bWNfcGFyZW50cywgMHg4MzgsCj4+ICsJCQkJCSAgMCwgNCwJCS8qIE0gKi8KPj4gKwkJCQkJICA4 LCAyLAkJLyogTiAqLwo+PiArCQkJCQkgIDI0LCAyLAkvKiBtdXggKi8KPj4gKwkJCQkJICBCSVQo MzEpLAkvKiBnYXRlICovCj4+ICsJCQkJCSAgMiwJCS8qIHBvc3QtZGl2Cj4+ICovCj4+ICsJCQkJ CSAgMCk7Cj4+ICsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURShidXNfbW1jMF9jbGssICJidXMt bW1jMCIsICJhaGIzIiwgMHg4NGMsCj4+IEJJVCgwKSwgMCk7Cj4+ICtzdGF0aWMgU1VOWElfQ0NV X0dBVEUoYnVzX21tYzFfY2xrLCAiYnVzLW1tYzEiLCAiYWhiMyIsIDB4ODRjLAo+PiBCSVQoMSks IDApOwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFKGJ1c19tbWMyX2NsaywgImJ1cy1tbWMyIiwg ImFoYjMiLCAweDg0YywKPj4gQklUKDIpLCAwKTsKPj4gKwo+PiArc3RhdGljIFNVTlhJX0NDVV9H QVRFKGJ1c191YXJ0MF9jbGssICJidXMtdWFydDAiLCAiYXBiMiIsIDB4OTBjLAo+PiBCSVQoMCks IDApOwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFKGJ1c191YXJ0MV9jbGssICJidXMtdWFydDEi LCAiYXBiMiIsIDB4OTBjLAo+PiBCSVQoMSksIDApOwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRF KGJ1c191YXJ0Ml9jbGssICJidXMtdWFydDIiLCAiYXBiMiIsIDB4OTBjLAo+PiBCSVQoMiksIDAp Owo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFKGJ1c191YXJ0M19jbGssICJidXMtdWFydDMiLCAi YXBiMiIsIDB4OTBjLAo+PiBCSVQoMyksIDApOwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFKGJ1 c191YXJ0NF9jbGssICJidXMtdWFydDQiLCAiYXBiMiIsIDB4OTBjLAo+PiBCSVQoNCksIDApOwo+ PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFKGJ1c191YXJ0NV9jbGssICJidXMtdWFydDUiLCAiYXBi MiIsIDB4OTBjLAo+PiBCSVQoNSksIDApOwo+PiArCj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEUo YnVzX2kyYzBfY2xrLCAiYnVzLWkyYzAiLCAiYXBiMiIsIDB4OTFjLAo+PiBCSVQoMCksIDApOwo+ PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFKGJ1c19pMmMxX2NsaywgImJ1cy1pMmMxIiwgImFwYjIi LCAweDkxYywKPj4gQklUKDEpLCAwKTsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURShidXNfaTJj Ml9jbGssICJidXMtaTJjMiIsICJhcGIyIiwgMHg5MWMsCj4+IEJJVCgyKSwgMCk7Cj4+ICtzdGF0 aWMgU1VOWElfQ0NVX0dBVEUoYnVzX2kyYzNfY2xrLCAiYnVzLWkyYzMiLCAiYXBiMiIsIDB4OTFj LAo+PiBCSVQoMyksIDApOwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFKGJ1c19pMmM0X2Nsaywg ImJ1cy1pMmM0IiwgImFwYjIiLCAweDkxYywKPj4gQklUKDQpLCAwKTsKPj4gKwo+PiArc3RhdGlj IFNVTlhJX0NDVV9NUF9XSVRIX01VWF9HQVRFKHNwaTBfY2xrLCAic3BpMCIsCj4+IG5hbmRfc3Bp X3BhcmVudHMsIDB4OTQwLAo+PiArCQkJCQkwLCA0LAkvKiBNICovCj4+ICsJCQkJCTgsIDIsCS8q IE4gKi8KPj4gKwkJCQkJMjQsIDMsCS8qIG11eCAqLwo+PiArCQkJCQlCSVQoMzEpLC8qIGdhdGUg Ki8KPj4gKwkJCQkJMCk7Cj4+ICsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfTVBfV0lUSF9NVVhfR0FU RShzcGkxX2NsaywgInNwaTEiLAo+PiBuYW5kX3NwaV9wYXJlbnRzLCAweDk0NCwKPj4gKwkJCQkJ MCwgNCwJLyogTSAqLwo+PiArCQkJCQk4LCAyLAkvKiBOICovCj4+ICsJCQkJCTI0LCAzLAkvKiBt dXggKi8KPj4gKwkJCQkJQklUKDMxKSwvKiBnYXRlICovCj4+ICsJCQkJCTApOwo+PiArCj4+ICtz dGF0aWMgU1VOWElfQ0NVX0dBVEUoYnVzX3NwaTBfY2xrLCAiYnVzLXNwaTAiLCAiYWhiMyIsIDB4 OTZjLAo+PiBCSVQoMCksIDApOwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFKGJ1c19zcGkxX2Ns aywgImJ1cy1zcGkxIiwgImFoYjMiLCAweDk2YywKPj4gQklUKDEpLCAwKTsKPj4gKwo+PiArc3Rh dGljIFNVTlhJX0NDVV9HQVRFKGVtYWNfMjVtX2NsaywgImVtYWMtMjVtIiwgImFoYjMiLCAweDk3 MCwKPj4gKwkJICAgICAgQklUKDMxKSB8IEJJVCgzMCksIDApOwo+PiArCj4+ICtzdGF0aWMgU1VO WElfQ0NVX0dBVEUoYnVzX2VtYWMwX2NsaywgImJ1cy1lbWFjMCIsICJhaGIzIiwgMHg5N2MsCj4+ IEJJVCgwKSwgMCk7Cj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEUoYnVzX2VtYWMxX2NsaywgImJ1 cy1lbWFjMSIsICJhaGIzIiwgMHg5N2MsCj4+IEJJVCgxKSwgMCk7Cj4+ICsKPj4gK3N0YXRpYyBj b25zdCBjaGFyICogY29uc3QgdHNfcGFyZW50c1tdID0geyAib3NjMjRNIiwgInBsbC1wZXJpcGgw Igo+PiB9Owo+PiArc3RhdGljIFNVTlhJX0NDVV9NUF9XSVRIX01VWF9HQVRFKHRzX2NsaywgInRz IiwgdHNfcGFyZW50cywgMHg5YjAsCj4+ICsJCQkJCTAsIDQsCS8qIE0gKi8KPj4gKwkJCQkJOCwg MiwJLyogTiAqLwo+PiArCQkJCQkyNCwgMSwJLyogbXV4ICovCj4+ICsJCQkJCUJJVCgzMSksLyog Z2F0ZSAqLwo+PiArCQkJCQkwKTsKPj4gKwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFKGJ1c190 c19jbGssICJidXMtdHMiLCAiYWhiMyIsIDB4OWJjLCBCSVQoMCksCj4+IDApOwo+PiArCj4+ICtz dGF0aWMgU1VOWElfQ0NVX0dBVEUoYnVzX3Roc19jbGssICJidXMtdGhzIiwgImFwYjEiLCAweDlm YywgQklUKDApLAo+PiAwKTsKPj4gKwo+PiArc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBhdWRp b19wYXJlbnRzW10gPSB7ICJwbGwtYXVkaW8tMXgiLCAicGxsLQo+PiBhdWRpby0yeCIsCj4+ICsJ CQkJCSAgICAgICJwbGwtYXVkaW8tNHgiLCAicGxsLQo+PiBhdWRpby1ocyIgfTsKPj4gK3N0YXRp YyBzdHJ1Y3QgY2N1X2RpdiBzcGRpZl9jbGsgPSB7Cj4+ICsJLmVuYWJsZQkJPSBCSVQoMzEpLAo+ PiArCS5kaXYJCT0gX1NVTlhJX0NDVV9ESVZfRkxBR1MoOCwgMiwKPj4gQ0xLX0RJVklERVJfUE9X RVJfT0ZfVFdPKSwKPj4gKwkubXV4CQk9IF9TVU5YSV9DQ1VfTVVYKDI0LCAyKSwKPj4gKwkuY29t bW9uCQk9IHsKPj4gKwkJLnJlZwkJPSAweGEyMCwKPj4gKwkJLmh3LmluaXQJPSBDTEtfSFdfSU5J VF9QQVJFTlRTKCJzcGRpZiIsCj4+ICsJCQkJCQkgICAgICBhdWRpb19wYXJlbnRzLAo+PiArCQkJ CQkJICAgICAgJmNjdV9kaXZfb3BzLAo+PiArCQkJCQkJICAgICAgMCksCj4+ICsJfSwKPj4gK307 Cj4+ICsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURShidXNfc3BkaWZfY2xrLCAiYnVzLXNwZGlm IiwgImFwYjEiLCAweGEyYywKPj4gQklUKDApLCAwKTsKPj4gKwo+PiArc3RhdGljIHN0cnVjdCBj Y3VfZGl2IGRtaWNfY2xrID0gewo+PiArCS5lbmFibGUJCT0gQklUKDMxKSwKPj4gKwkuZGl2CQk9 IF9TVU5YSV9DQ1VfRElWX0ZMQUdTKDgsIDIsCj4+IENMS19ESVZJREVSX1BPV0VSX09GX1RXTyks Cj4+ICsJLm11eAkJPSBfU1VOWElfQ0NVX01VWCgyNCwgMiksCj4+ICsJLmNvbW1vbgkJPSB7Cj4+ ICsJCS5yZWcJCT0gMHhhNDAsCj4+ICsJCS5ody5pbml0CT0gQ0xLX0hXX0lOSVRfUEFSRU5UUygi ZG1pYyIsCj4+ICsJCQkJCQkgICAgICBhdWRpb19wYXJlbnRzLAo+PiArCQkJCQkJICAgICAgJmNj dV9kaXZfb3BzLAo+PiArCQkJCQkJICAgICAgMCksCj4+ICsJfSwKPj4gK307Cj4+ICsKPj4gK3N0 YXRpYyBTVU5YSV9DQ1VfR0FURShidXNfZG1pY19jbGssICJidXMtZG1pYyIsICJhcGIxIiwgMHhh NGMsCj4+IEJJVCgwKSwgMCk7Cj4+ICsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfTV9XSVRIX01VWF9H QVRFKGF1ZGlvX2NvZGVjXzF4X2NsaywgImF1ZGlvLWNvZGVjLQo+PiAxeCIsCj4+ICsJCQkJIGF1 ZGlvX3BhcmVudHMsIDB4YTUwLAo+PiArCQkJCSAwLCA0LAkvKiBNICovCj4+ICsJCQkJIDI0LCAy LAkvKiBtdXggKi8KPj4gKwkJCQkgQklUKDMxKSwJLyogZ2F0ZSAqLwo+PiArCQkJCSBDTEtfU0VU X1JBVEVfUEFSRU5UKTsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfTV9XSVRIX01VWF9HQVRFKGF1ZGlv X2NvZGVjXzR4X2NsaywgImF1ZGlvLWNvZGVjLQo+PiA0eCIsCj4+ICsJCQkJIGF1ZGlvX3BhcmVu dHMsIDB4YTU0LAo+PiArCQkJCSAwLCA0LAkvKiBNICovCj4+ICsJCQkJIDI0LCAyLAkvKiBtdXgg Ki8KPj4gKwkJCQkgQklUKDMxKSwJLyogZ2F0ZSAqLwo+PiArCQkJCSBDTEtfU0VUX1JBVEVfUEFS RU5UKTsKPj4gKwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFKGJ1c19hdWRpb19jb2RlY19jbGss ICJidXMtYXVkaW8tY29kZWMiLAo+PiAiYXBiMSIsIDB4YTVjLAo+PiArCQlCSVQoMCksIDApOwo+ PiArCj4+ICtzdGF0aWMgc3RydWN0IGNjdV9kaXYgYXVkaW9faHViX2NsayA9IHsKPj4gKwkuZW5h YmxlCQk9IEJJVCgzMSksCj4+ICsJLmRpdgkJPSBfU1VOWElfQ0NVX0RJVl9GTEFHUyg4LCAyLAo+ PiBDTEtfRElWSURFUl9QT1dFUl9PRl9UV08pLAo+PiArCS5tdXgJCT0gX1NVTlhJX0NDVV9NVVgo MjQsIDIpLAo+PiArCS5jb21tb24JCT0gewo+PiArCQkucmVnCQk9IDB4YTYwLAo+PiArCQkuaHcu aW5pdAk9IENMS19IV19JTklUX1BBUkVOVFMoImF1ZGlvLWh1YiIsCj4+ICsJCQkJCQkgICAgICBh dWRpb19wYXJlbnRzLAo+PiArCQkJCQkJICAgICAgJmNjdV9kaXZfb3BzLAo+PiArCQkJCQkJICAg ICAgMCksCj4+ICsJfSwKPj4gK307Cj4+ICsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURShidXNf YXVkaW9faHViX2NsaywgImJ1cy1hdWRpby1odWIiLCAiYXBiMSIsCj4+IDB4YTZjLCBCSVQoMCks IDApOwo+PiArCj4+ICsvKgo+PiArICogVGhlcmUgYXJlIE9IQ0kgMTJNIGNsb2NrIHNvdXJjZSBz ZWxlY3Rpb24gYml0cyBmb3IgMiBVU0IgMi4wCj4+IHBvcnRzLgo+PiArICogV2Ugd2lsbCBmb3Jj ZSB0aGVtIHRvIDAgKDEyTSBkaXZpZGVkIGZyb20gNDhNKS4KPj4gKyAqLwo+PiArI2RlZmluZSBT VU41MElfSDYxNl9VU0IwX0NMS19SRUcJCTB4YTcwCj4+ICsjZGVmaW5lIFNVTjUwSV9INjE2X1VT QjFfQ0xLX1JFRwkJMHhhNzQKPj4gKyNkZWZpbmUgU1VONTBJX0g2MTZfVVNCMl9DTEtfUkVHCQkw eGE3OAo+PiArI2RlZmluZSBTVU41MElfSDYxNl9VU0IzX0NMS19SRUcJCTB4YTdjCj4+ICsKPj4g K3N0YXRpYyBTVU5YSV9DQ1VfR0FURSh1c2Jfb2hjaTBfY2xrLCAidXNiLW9oY2kwIiwgIm9zYzEy TSIsIDB4YTcwLAo+PiBCSVQoMzEpLCAwKTsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURSh1c2Jf cGh5MF9jbGssICJ1c2ItcGh5MCIsICJvc2MyNE0iLCAweGE3MCwKPj4gQklUKDI5KSwgMCk7Cj4+ ICsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURSh1c2Jfb2hjaTFfY2xrLCAidXNiLW9oY2kxIiwg Im9zYzEyTSIsIDB4YTc0LAo+PiBCSVQoMzEpLCAwKTsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FU RSh1c2JfcGh5MV9jbGssICJ1c2ItcGh5MSIsICJvc2MyNE0iLCAweGE3NCwKPj4gQklUKDI5KSwg MCk7Cj4+ICsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURSh1c2Jfb2hjaTJfY2xrLCAidXNiLW9o Y2kyIiwgIm9zYzEyTSIsIDB4YTc4LAo+PiBCSVQoMzEpLCAwKTsKPj4gK3N0YXRpYyBTVU5YSV9D Q1VfR0FURSh1c2JfcGh5Ml9jbGssICJ1c2ItcGh5MiIsICJvc2MyNE0iLCAweGE3OCwKPj4gQklU KDI5KSwgMCk7Cj4+ICsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURSh1c2Jfb2hjaTNfY2xrLCAi dXNiLW9oY2kzIiwgIm9zYzEyTSIsIDB4YTdjLAo+PiBCSVQoMzEpLCAwKTsKPj4gK3N0YXRpYyBT VU5YSV9DQ1VfR0FURSh1c2JfcGh5M19jbGssICJ1c2ItcGh5MyIsICJvc2MxMk0iLCAweGE3YywK Pj4gQklUKDI5KSwgMCk7Cj4+ICsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURShidXNfb2hjaTBf Y2xrLCAiYnVzLW9oY2kwIiwgImFoYjMiLCAweGE4YywKPj4gQklUKDApLCAwKTsKPj4gK3N0YXRp YyBTVU5YSV9DQ1VfR0FURShidXNfb2hjaTFfY2xrLCAiYnVzLW9oY2kxIiwgImFoYjMiLCAweGE4 YywKPj4gQklUKDEpLCAwKTsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURShidXNfb2hjaTJfY2xr LCAiYnVzLW9oY2kyIiwgImFoYjMiLCAweGE4YywKPj4gQklUKDIpLCAwKTsKPj4gK3N0YXRpYyBT VU5YSV9DQ1VfR0FURShidXNfb2hjaTNfY2xrLCAiYnVzLW9oY2kzIiwgImFoYjMiLCAweGE4YywK Pj4gQklUKDMpLCAwKTsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURShidXNfZWhjaTBfY2xrLCAi YnVzLWVoY2kwIiwgImFoYjMiLCAweGE4YywKPj4gQklUKDQpLCAwKTsKPj4gK3N0YXRpYyBTVU5Y SV9DQ1VfR0FURShidXNfZWhjaTFfY2xrLCAiYnVzLWVoY2kxIiwgImFoYjMiLCAweGE4YywKPj4g QklUKDUpLCAwKTsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURShidXNfZWhjaTJfY2xrLCAiYnVz LWVoY2kyIiwgImFoYjMiLCAweGE4YywKPj4gQklUKDYpLCAwKTsKPj4gK3N0YXRpYyBTVU5YSV9D Q1VfR0FURShidXNfZWhjaTNfY2xrLCAiYnVzLWVoY2kzIiwgImFoYjMiLCAweGE4YywKPj4gQklU KDcpLCAwKTsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURShidXNfb3RnX2NsaywgImJ1cy1vdGci LCAiYWhiMyIsIDB4YThjLCBCSVQoOCksCj4+IDApOwo+PiArCj4+ICtzdGF0aWMgU1VOWElfQ0NV X0dBVEUoYnVzX2tleWFkY19jbGssICJidXMta2V5YWRjIiwgImFwYjEiLCAweGE5YywKPj4gQklU KDApLCAwKTsKPj4gKwo+PiArc3RhdGljIHN0cnVjdCBjbGtfZml4ZWRfZmFjdG9yIHBsbF9wZXJp cGgwXzR4X2NsazsKPj4gKwo+PiArc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBoZG1pX3BhcmVu dHNbXSA9IHsgInBsbC12aWRlbzAiLCAicGxsLQo+PiB2aWRlbzAtNHgiLAo+PiArCQkJCQkgICAg ICJwbGwtdmlkZW8yIiwgInBsbC12aWRlbzItCj4+IDR4IiB9Owo+PiArc3RhdGljIFNVTlhJX0ND VV9NX1dJVEhfTVVYX0dBVEUoaGRtaV9jbGssICJoZG1pIiwgaGRtaV9wYXJlbnRzLAo+PiAweGIw MCwKPj4gKwkJCQkgMCwgNCwJCS8qIE0gKi8KPj4gKwkJCQkgMjQsIDIsCQkvKiBtdXggKi8KPj4g KwkJCQkgQklUKDMxKSwJLyogZ2F0ZSAqLwo+PiArCQkJCSAwKTsKPj4gKwo+PiArc3RhdGljIFNV TlhJX0NDVV9HQVRFKGhkbWlfc2xvd19jbGssICJoZG1pLXNsb3ciLCAib3NjMjRNIiwgMHhiMDQs Cj4+IEJJVCgzMSksIDApOwo+PiArCj4+ICtzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGhkbWlf Y2VjX3BhcmVudHNbXSA9IHsgIm9zYzMyayIsICJwbGwtCj4+IHBlcmlwaDAtMngiIH07Cj4+ICtz dGF0aWMgY29uc3Qgc3RydWN0IGNjdV9tdXhfZml4ZWRfcHJlZGl2IGhkbWlfY2VjX3ByZWRpdnNb XSA9IHsKPj4gKwl7IC5pbmRleCA9IDEsIC5kaXYgPSAzNjYyMSB9LAo+PiArfTsKPj4gKwo+PiAr I2RlZmluZSBTVU41MElfSDYxNl9IRE1JX0NFQ19DTEtfUkVHCQkweGIxMAo+PiArc3RhdGljIHN0 cnVjdCBjY3VfbXV4IGhkbWlfY2VjX2NsayA9IHsKPj4gKwkuZW5hYmxlCQk9IEJJVCgzMSksCj4+ ICsKPj4gKwkubXV4CQk9IHsKPj4gKwkJLnNoaWZ0CT0gMjQsCj4+ICsJCS53aWR0aAk9IDIsCj4+ ICsKPj4gKwkJLmZpeGVkX3ByZWRpdnMJPSBoZG1pX2NlY19wcmVkaXZzLAo+PiArCQkubl9wcmVk aXZzCT0gQVJSQVlfU0laRShoZG1pX2NlY19wcmVkaXZzKSwKPj4gKwl9LAo+PiArCj4+ICsJLmNv bW1vbgkJPSB7Cj4+ICsJCS5yZWcJCT0gMHhiMTAsCj4+ICsJCS5mZWF0dXJlcwk9IENDVV9GRUFU VVJFX1ZBUklBQkxFX1BSRURJViwKPj4gKwkJLmh3LmluaXQJPSBDTEtfSFdfSU5JVF9QQVJFTlRT KCJoZG1pLWNlYyIsCj4+ICsJCQkJCQkgICAgICBoZG1pX2NlY19wYXJlbnRzLAo+PiArCQkJCQkJ ICAgICAgJmNjdV9tdXhfb3BzLAo+PiArCQkJCQkJICAgICAgMCksCj4+ICsJfSwKPj4gK307Cj4+ ICsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURShidXNfaGRtaV9jbGssICJidXMtaGRtaSIsICJh aGIzIiwgMHhiMWMsCj4+IEJJVCgwKSwgMCk7Cj4+ICsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FU RShidXNfdGNvbl90b3BfY2xrLCAiYnVzLXRjb24tdG9wIiwgImFoYjMiLAo+PiArCQkgICAgICAw eGI1YywgQklUKDApLCAwKTsKPj4gKwo+PiArc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCB0Y29u X3R2MF9wYXJlbnRzW10gPSB7ICJwbGwtdmlkZW8wIiwKPj4gKwkJCQkJCSAicGxsLXZpZGVvMC00 eCIsCj4+ICsJCQkJCQkgInBsbC12aWRlbzEiLAo+PiArCQkJCQkJICJwbGwtdmlkZW8xLTR4IiB9 Owo+PiArc3RhdGljIFNVTlhJX0NDVV9NUF9XSVRIX01VWF9HQVRFKHRjb25fdHYwX2NsaywgInRj b24tdHYwIiwKPj4gKwkJCQkgIHRjb25fdHYwX3BhcmVudHMsIDB4YjgwLAo+PiArCQkJCSAgMCwg NCwJCS8qIE0gKi8KPj4gKwkJCQkgIDgsIDIsCQkvKiBQICovCj4+ICsJCQkJICAyNCwgMywJLyog bXV4ICovCj4+ICsJCQkJICBCSVQoMzEpLAkvKiBnYXRlICovCj4+ICsJCQkJICBDTEtfU0VUX1JB VEVfUEFSRU5UKTsKPj4gKwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFKGJ1c190Y29uX3R2MF9j bGssICJidXMtdGNvbi10djAiLCAiYWhiMyIsCj4+ICsJCSAgICAgIDB4YjljLCBCSVQoMCksIDAp Owo+PiArCj4+ICtzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGhkY3BfcGFyZW50c1tdID0geyAi cGxsLXBlcmlwaDAiLCAicGxsLQo+PiBwZXJpcGgxIiB9Owo+PiArc3RhdGljIFNVTlhJX0NDVV9N X1dJVEhfTVVYX0dBVEUoaGRjcF9jbGssICJoZGNwIiwgaGRjcF9wYXJlbnRzLAo+PiAweGM0MCwK Pj4gKwkJCQkgMCwgNCwJCS8qIE0gKi8KPj4gKwkJCQkgMjQsIDIsCQkvKiBtdXggKi8KPj4gKwkJ CQkgQklUKDMxKSwJLyogZ2F0ZSAqLwo+PiArCQkJCSAwKTsKPj4gKwo+PiArc3RhdGljIFNVTlhJ X0NDVV9HQVRFKGJ1c19oZGNwX2NsaywgImJ1cy1oZGNwIiwgImFoYjMiLCAweGM0YywKPj4gQklU KDApLCAwKTsKPj4gKwo+PiArLyogRml4ZWQgZmFjdG9yIGNsb2NrcyAqLwo+PiArc3RhdGljIENM S19GSVhFRF9GQUNUT1JfRldfTkFNRShvc2MxMk1fY2xrLCAib3NjMTJNIiwgImhvc2MiLCAyLCAx LAo+PiAwKTsKPj4gKwo+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBjbGtfaHcgKmNsa19wYXJlbnRf cGxsX2F1ZGlvW10gPSB7Cj4+ICsJJnBsbF9hdWRpb19oc19jbGsuY29tbW9uLmh3Cj4+ICt9Owo+ PiArCj4+ICsvKgo+PiArICogVGhlIGRpdmlkZXIgb2YgcGxsLWF1ZGlvIGlzIGZpeGVkIHRvIDI0 IGZvciBub3csIHNvIDI0NTc2MDAwIGFuZAo+PiAyMjU3OTIwMAo+PiArICogcmF0ZXMgY2FuIGJl IHNldCBleGFjdGx5IGluIGNvbmp1bmN0aW9uIHdpdGggc2lnbWEtZGVsdGEKPj4gbW9kdWxhdGlv bi4KPj4gKyAqLwo+PiArc3RhdGljIENMS19GSVhFRF9GQUNUT1JfSFdTKHBsbF9hdWRpb18xeF9j bGssICJwbGwtYXVkaW8tMXgiLAo+PiArCQkJICAgIGNsa19wYXJlbnRfcGxsX2F1ZGlvLAo+PiAr CQkJICAgIDk2LCAxLCBDTEtfU0VUX1JBVEVfUEFSRU5UKTsKPj4gK3N0YXRpYyBDTEtfRklYRURf RkFDVE9SX0hXUyhwbGxfYXVkaW9fMnhfY2xrLCAicGxsLWF1ZGlvLTJ4IiwKPj4gKwkJCSAgICBj bGtfcGFyZW50X3BsbF9hdWRpbywKPj4gKwkJCSAgICA0OCwgMSwgQ0xLX1NFVF9SQVRFX1BBUkVO VCk7Cj4+ICtzdGF0aWMgQ0xLX0ZJWEVEX0ZBQ1RPUl9IV1MocGxsX2F1ZGlvXzR4X2NsaywgInBs bC1hdWRpby00eCIsCj4+ICsJCQkgICAgY2xrX3BhcmVudF9wbGxfYXVkaW8sCj4+ICsJCQkgICAg MjQsIDEsIENMS19TRVRfUkFURV9QQVJFTlQpOwo+PiArCj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0 IGNsa19odyAqcGxsX3BlcmlwaDBfcGFyZW50c1tdID0gewo+PiArCSZwbGxfcGVyaXBoMF9jbGsu Y29tbW9uLmh3Cj4+ICt9Owo+PiArc3RhdGljIENMS19GSVhFRF9GQUNUT1JfSFdTKHBsbF9wZXJp cGgwXzR4X2NsaywgInBsbC1wZXJpcGgwLTR4IiwKPj4gKwkJCSAgICBwbGxfcGVyaXBoMF9wYXJl bnRzLAo+PiArCQkJICAgIDEsIDQsIDApOwo+PiArc3RhdGljIENMS19GSVhFRF9GQUNUT1JfSFdT KHBsbF9wZXJpcGgwXzJ4X2NsaywgInBsbC1wZXJpcGgwLTJ4IiwKPj4gKwkJCSAgICBwbGxfcGVy aXBoMF9wYXJlbnRzLAo+PiArCQkJICAgIDEsIDIsIDApOwo+PiArCj4+ICtzdGF0aWMgY29uc3Qg c3RydWN0IGNsa19odyAqcGxsX3BlcmlwaDFfcGFyZW50c1tdID0gewo+PiArCSZwbGxfcGVyaXBo MV9jbGsuY29tbW9uLmh3Cj4+ICt9Owo+PiArc3RhdGljIENMS19GSVhFRF9GQUNUT1JfSFdTKHBs bF9wZXJpcGgxXzR4X2NsaywgInBsbC1wZXJpcGgxLTR4IiwKPj4gKwkJCSAgICBwbGxfcGVyaXBo MV9wYXJlbnRzLAo+PiArCQkJICAgIDEsIDQsIDApOwo+PiArc3RhdGljIENMS19GSVhFRF9GQUNU T1JfSFdTKHBsbF9wZXJpcGgxXzJ4X2NsaywgInBsbC1wZXJpcGgxLTJ4IiwKPj4gKwkJCSAgICBw bGxfcGVyaXBoMV9wYXJlbnRzLAo+PiArCQkJICAgIDEsIDIsIDApOwo+PiArCj4+ICtzdGF0aWMg Q0xLX0ZJWEVEX0ZBQ1RPUl9IVyhwbGxfdmlkZW8wXzR4X2NsaywgInBsbC12aWRlbzAtNHgiLAo+ PiArCQkJICAgJnBsbF92aWRlbzBfY2xrLmNvbW1vbi5odywKPj4gKwkJCSAgIDEsIDQsIENMS19T RVRfUkFURV9QQVJFTlQpOwo+PiArc3RhdGljIENMS19GSVhFRF9GQUNUT1JfSFcocGxsX3ZpZGVv MV80eF9jbGssICJwbGwtdmlkZW8xLTR4IiwKPj4gKwkJCSAgICZwbGxfdmlkZW8xX2Nsay5jb21t b24uaHcsCj4+ICsJCQkgICAxLCA0LCBDTEtfU0VUX1JBVEVfUEFSRU5UKTsKPj4gK3N0YXRpYyBD TEtfRklYRURfRkFDVE9SX0hXKHBsbF92aWRlbzJfNHhfY2xrLCAicGxsLXZpZGVvMi00eCIsCj4+ ICsJCQkgICAmcGxsX3ZpZGVvMl9jbGsuY29tbW9uLmh3LAo+PiArCQkJICAgMSwgNCwgQ0xLX1NF VF9SQVRFX1BBUkVOVCk7Cj4+ICsKPj4gK3N0YXRpYyBzdHJ1Y3QgY2N1X2NvbW1vbiAqc3VuNTBp X2g2MTZfY2N1X2Nsa3NbXSA9IHsKPj4gKwkmcGxsX2NwdXhfY2xrLmNvbW1vbiwKPj4gKwkmcGxs X2RkcjBfY2xrLmNvbW1vbiwKPj4gKwkmcGxsX2RkcjFfY2xrLmNvbW1vbiwKPj4gKwkmcGxsX3Bl cmlwaDBfY2xrLmNvbW1vbiwKPj4gKwkmcGxsX3BlcmlwaDFfY2xrLmNvbW1vbiwKPj4gKwkmcGxs X2dwdV9jbGsuY29tbW9uLAo+PiArCSZwbGxfdmlkZW8wX2Nsay5jb21tb24sCj4+ICsJJnBsbF92 aWRlbzFfY2xrLmNvbW1vbiwKPj4gKwkmcGxsX3ZpZGVvMl9jbGsuY29tbW9uLAo+PiArCSZwbGxf dmVfY2xrLmNvbW1vbiwKPj4gKwkmcGxsX2RlX2Nsay5jb21tb24sCj4+ICsJJnBsbF9hdWRpb19o c19jbGsuY29tbW9uLAo+PiArCSZjcHV4X2Nsay5jb21tb24sCj4+ICsJJmF4aV9jbGsuY29tbW9u LAo+PiArCSZjcHV4X2FwYl9jbGsuY29tbW9uLAo+PiArCSZwc2lfYWhiMV9haGIyX2Nsay5jb21t b24sCj4+ICsJJmFoYjNfY2xrLmNvbW1vbiwKPj4gKwkmYXBiMV9jbGsuY29tbW9uLAo+PiArCSZh cGIyX2Nsay5jb21tb24sCj4+ICsJJm1idXNfY2xrLmNvbW1vbiwKPj4gKwkmZGVfY2xrLmNvbW1v biwKPj4gKwkmYnVzX2RlX2Nsay5jb21tb24sCj4+ICsJJmRlaW50ZXJsYWNlX2Nsay5jb21tb24s Cj4+ICsJJmJ1c19kZWludGVybGFjZV9jbGsuY29tbW9uLAo+PiArCSZnMmRfY2xrLmNvbW1vbiwK Pj4gKwkmYnVzX2cyZF9jbGsuY29tbW9uLAo+PiArCSZncHUwX2Nsay5jb21tb24sCj4+ICsJJmJ1 c19ncHVfY2xrLmNvbW1vbiwKPj4gKwkmZ3B1MV9jbGsuY29tbW9uLAo+PiArCSZjZV9jbGsuY29t bW9uLAo+PiArCSZidXNfY2VfY2xrLmNvbW1vbiwKPj4gKwkmdmVfY2xrLmNvbW1vbiwKPj4gKwkm YnVzX3ZlX2Nsay5jb21tb24sCj4+ICsJJmJ1c19kbWFfY2xrLmNvbW1vbiwKPj4gKwkmYnVzX2hz dGltZXJfY2xrLmNvbW1vbiwKPj4gKwkmYXZzX2Nsay5jb21tb24sCj4+ICsJJmJ1c19kYmdfY2xr LmNvbW1vbiwKPj4gKwkmYnVzX3BzaV9jbGsuY29tbW9uLAo+PiArCSZidXNfcHdtX2Nsay5jb21t b24sCj4+ICsJJmJ1c19pb21tdV9jbGsuY29tbW9uLAo+PiArCSZkcmFtX2Nsay5jb21tb24sCj4+ ICsJJm1idXNfZG1hX2Nsay5jb21tb24sCj4+ICsJJm1idXNfdmVfY2xrLmNvbW1vbiwKPj4gKwkm bWJ1c19jZV9jbGsuY29tbW9uLAo+PiArCSZtYnVzX3RzX2Nsay5jb21tb24sCj4+ICsJJm1idXNf bmFuZF9jbGsuY29tbW9uLAo+PiArCSZtYnVzX2cyZF9jbGsuY29tbW9uLAo+PiArCSZidXNfZHJh bV9jbGsuY29tbW9uLAo+PiArCSZuYW5kMF9jbGsuY29tbW9uLAo+PiArCSZuYW5kMV9jbGsuY29t bW9uLAo+PiArCSZidXNfbmFuZF9jbGsuY29tbW9uLAo+PiArCSZtbWMwX2Nsay5jb21tb24sCj4+ ICsJJm1tYzFfY2xrLmNvbW1vbiwKPj4gKwkmbW1jMl9jbGsuY29tbW9uLAo+PiArCSZidXNfbW1j MF9jbGsuY29tbW9uLAo+PiArCSZidXNfbW1jMV9jbGsuY29tbW9uLAo+PiArCSZidXNfbW1jMl9j bGsuY29tbW9uLAo+PiArCSZidXNfdWFydDBfY2xrLmNvbW1vbiwKPj4gKwkmYnVzX3VhcnQxX2Ns ay5jb21tb24sCj4+ICsJJmJ1c191YXJ0Ml9jbGsuY29tbW9uLAo+PiArCSZidXNfdWFydDNfY2xr LmNvbW1vbiwKPj4gKwkmYnVzX3VhcnQ0X2Nsay5jb21tb24sCj4+ICsJJmJ1c191YXJ0NV9jbGsu Y29tbW9uLAo+PiArCSZidXNfaTJjMF9jbGsuY29tbW9uLAo+PiArCSZidXNfaTJjMV9jbGsuY29t bW9uLAo+PiArCSZidXNfaTJjMl9jbGsuY29tbW9uLAo+PiArCSZidXNfaTJjM19jbGsuY29tbW9u LAo+PiArCSZidXNfaTJjNF9jbGsuY29tbW9uLAo+PiArCSZzcGkwX2Nsay5jb21tb24sCj4+ICsJ JnNwaTFfY2xrLmNvbW1vbiwKPj4gKwkmYnVzX3NwaTBfY2xrLmNvbW1vbiwKPj4gKwkmYnVzX3Nw aTFfY2xrLmNvbW1vbiwKPj4gKwkmZW1hY18yNW1fY2xrLmNvbW1vbiwKPj4gKwkmYnVzX2VtYWMw X2Nsay5jb21tb24sCj4+ICsJJmJ1c19lbWFjMV9jbGsuY29tbW9uLAo+PiArCSZ0c19jbGsuY29t bW9uLAo+PiArCSZidXNfdHNfY2xrLmNvbW1vbiwKPj4gKwkmYnVzX3Roc19jbGsuY29tbW9uLAo+ PiArCSZzcGRpZl9jbGsuY29tbW9uLAo+PiArCSZidXNfc3BkaWZfY2xrLmNvbW1vbiwKPj4gKwkm ZG1pY19jbGsuY29tbW9uLAo+PiArCSZidXNfZG1pY19jbGsuY29tbW9uLAo+PiArCSZhdWRpb19j b2RlY18xeF9jbGsuY29tbW9uLAo+PiArCSZhdWRpb19jb2RlY180eF9jbGsuY29tbW9uLAo+PiAr CSZidXNfYXVkaW9fY29kZWNfY2xrLmNvbW1vbiwKPj4gKwkmYXVkaW9faHViX2Nsay5jb21tb24s Cj4+ICsJJmJ1c19hdWRpb19odWJfY2xrLmNvbW1vbiwKPj4gKwkmdXNiX29oY2kwX2Nsay5jb21t b24sCj4+ICsJJnVzYl9waHkwX2Nsay5jb21tb24sCj4+ICsJJnVzYl9vaGNpMV9jbGsuY29tbW9u LAo+PiArCSZ1c2JfcGh5MV9jbGsuY29tbW9uLAo+PiArCSZ1c2Jfb2hjaTJfY2xrLmNvbW1vbiwK Pj4gKwkmdXNiX3BoeTJfY2xrLmNvbW1vbiwKPj4gKwkmdXNiX29oY2kzX2Nsay5jb21tb24sCj4+ ICsJJnVzYl9waHkzX2Nsay5jb21tb24sCj4+ICsJJmJ1c19vaGNpMF9jbGsuY29tbW9uLAo+PiAr CSZidXNfb2hjaTFfY2xrLmNvbW1vbiwKPj4gKwkmYnVzX29oY2kyX2Nsay5jb21tb24sCj4+ICsJ JmJ1c19vaGNpM19jbGsuY29tbW9uLAo+PiArCSZidXNfZWhjaTBfY2xrLmNvbW1vbiwKPj4gKwkm YnVzX2VoY2kxX2Nsay5jb21tb24sCj4+ICsJJmJ1c19laGNpMl9jbGsuY29tbW9uLAo+PiArCSZi dXNfZWhjaTNfY2xrLmNvbW1vbiwKPj4gKwkmYnVzX290Z19jbGsuY29tbW9uLAo+PiArCSZidXNf a2V5YWRjX2Nsay5jb21tb24sCj4+ICsJJmhkbWlfY2xrLmNvbW1vbiwKPj4gKwkmaGRtaV9zbG93 X2Nsay5jb21tb24sCj4+ICsJJmhkbWlfY2VjX2Nsay5jb21tb24sCj4+ICsJJmJ1c19oZG1pX2Ns ay5jb21tb24sCj4+ICsJJmJ1c190Y29uX3RvcF9jbGsuY29tbW9uLAo+PiArCSZ0Y29uX3R2MF9j bGsuY29tbW9uLAo+PiArCSZidXNfdGNvbl90djBfY2xrLmNvbW1vbiwKPj4gKwkmaGRjcF9jbGsu Y29tbW9uLAo+PiArCSZidXNfaGRjcF9jbGsuY29tbW9uLAo+PiArfTsKPj4gKwo+PiArc3RhdGlj IHN0cnVjdCBjbGtfaHdfb25lY2VsbF9kYXRhIHN1bjUwaV9oNjE2X2h3X2Nsa3MgPSB7Cj4+ICsJ Lmh3cwk9IHsKPj4gKwkJW0NMS19PU0MxMk1dCQk9ICZvc2MxMk1fY2xrLmh3LAo+PiArCQlbQ0xL X1BMTF9DUFVYXQkJPSAmcGxsX2NwdXhfY2xrLmNvbW1vbi5odywKPj4gKwkJW0NMS19QTExfRERS MF0JCT0gJnBsbF9kZHIwX2Nsay5jb21tb24uaHcsCj4+ICsJCVtDTEtfUExMX0REUjFdCQk9ICZw bGxfZGRyMV9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX1BMTF9QRVJJUEgwXQk9ICZwbGxfcGVy aXBoMF9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX1BMTF9QRVJJUEgwXzJYXQk9ICZwbGxfcGVy aXBoMF8yeF9jbGsuaHcsCj4+ICsJCVtDTEtfUExMX1BFUklQSDBfNFhdCT0gJnBsbF9wZXJpcGgw XzR4X2Nsay5odywKPj4gKwkJW0NMS19QTExfUEVSSVBIMV0JPSAmcGxsX3BlcmlwaDFfY2xrLmNv bW1vbi5odywKPj4gKwkJW0NMS19QTExfUEVSSVBIMV8yWF0JPSAmcGxsX3BlcmlwaDFfMnhfY2xr Lmh3LAo+PiArCQlbQ0xLX1BMTF9QRVJJUEgxXzRYXQk9ICZwbGxfcGVyaXBoMV80eF9jbGsuaHcs Cj4+ICsJCVtDTEtfUExMX0dQVV0JCT0gJnBsbF9ncHVfY2xrLmNvbW1vbi5odywKPj4gKwkJW0NM S19QTExfVklERU8wXQk9ICZwbGxfdmlkZW8wX2Nsay5jb21tb24uaHcsCj4+ICsJCVtDTEtfUExM X1ZJREVPMF80WF0JPSAmcGxsX3ZpZGVvMF80eF9jbGsuaHcsCj4+ICsJCVtDTEtfUExMX1ZJREVP MV0JPSAmcGxsX3ZpZGVvMV9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX1BMTF9WSURFTzFfNFhd CT0gJnBsbF92aWRlbzFfNHhfY2xrLmh3LAo+PiArCQlbQ0xLX1BMTF9WSURFTzJdCT0gJnBsbF92 aWRlbzJfY2xrLmNvbW1vbi5odywKPj4gKwkJW0NMS19QTExfVklERU8yXzRYXQk9ICZwbGxfdmlk ZW8yXzR4X2Nsay5odywKPj4gKwkJW0NMS19QTExfVkVdCQk9ICZwbGxfdmVfY2xrLmNvbW1vbi5o dywKPj4gKwkJW0NMS19QTExfREVdCQk9ICZwbGxfZGVfY2xrLmNvbW1vbi5odywKPj4gKwkJW0NM S19QTExfQVVESU9fSFNdCT0KPj4gJnBsbF9hdWRpb19oc19jbGsuY29tbW9uLmh3LAo+PiArCQlb Q0xLX1BMTF9BVURJT18xWF0JPSAmcGxsX2F1ZGlvXzF4X2Nsay5odywKPj4gKwkJW0NMS19QTExf QVVESU9fMlhdCT0gJnBsbF9hdWRpb18yeF9jbGsuaHcsCj4+ICsJCVtDTEtfUExMX0FVRElPXzRY XQk9ICZwbGxfYXVkaW9fNHhfY2xrLmh3LAo+PiArCQlbQ0xLX0NQVVhdCQk9ICZjcHV4X2Nsay5j b21tb24uaHcsCj4+ICsJCVtDTEtfQVhJXQkJPSAmYXhpX2Nsay5jb21tb24uaHcsCj4+ICsJCVtD TEtfQ1BVWF9BUEJdCQk9ICZjcHV4X2FwYl9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX1BTSV9B SEIxX0FIQjJdCT0KPj4gJnBzaV9haGIxX2FoYjJfY2xrLmNvbW1vbi5odywKPj4gKwkJW0NMS19B SEIzXQkJPSAmYWhiM19jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0FQQjFdCQk9ICZhcGIxX2Ns ay5jb21tb24uaHcsCj4+ICsJCVtDTEtfQVBCMl0JCT0gJmFwYjJfY2xrLmNvbW1vbi5odywKPj4g KwkJW0NMS19NQlVTXQkJPSAmbWJ1c19jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0RFXQkJPSAm ZGVfY2xrLmNvbW1vbi5odywKPj4gKwkJW0NMS19CVVNfREVdCQk9ICZidXNfZGVfY2xrLmNvbW1v bi5odywKPj4gKwkJW0NMS19ERUlOVEVSTEFDRV0JPSAmZGVpbnRlcmxhY2VfY2xrLmNvbW1vbi5o dywKPj4gKwkJW0NMS19CVVNfREVJTlRFUkxBQ0VdCT0KPj4gJmJ1c19kZWludGVybGFjZV9jbGsu Y29tbW9uLmh3LAo+PiArCQlbQ0xLX0cyRF0JCT0gJmcyZF9jbGsuY29tbW9uLmh3LAo+PiArCQlb Q0xLX0JVU19HMkRdCQk9ICZidXNfZzJkX2Nsay5jb21tb24uaHcsCj4+ICsJCVtDTEtfR1BVMF0J CT0gJmdwdTBfY2xrLmNvbW1vbi5odywKPj4gKwkJW0NMS19CVVNfR1BVXQkJPSAmYnVzX2dwdV9j bGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0dQVTFdCQk9ICZncHUxX2Nsay5jb21tb24uaHcsCj4+ ICsJCVtDTEtfQ0VdCQk9ICZjZV9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0JVU19DRV0JCT0g JmJ1c19jZV9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX1ZFXQkJPSAmdmVfY2xrLmNvbW1vbi5o dywKPj4gKwkJW0NMS19CVVNfVkVdCQk9ICZidXNfdmVfY2xrLmNvbW1vbi5odywKPj4gKwkJW0NM S19CVVNfRE1BXQkJPSAmYnVzX2RtYV9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0JVU19IU1RJ TUVSXQk9ICZidXNfaHN0aW1lcl9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0FWU10JCT0gJmF2 c19jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0JVU19EQkddCQk9ICZidXNfZGJnX2Nsay5jb21t b24uaHcsCj4+ICsJCVtDTEtfQlVTX1BTSV0JCT0gJmJ1c19wc2lfY2xrLmNvbW1vbi5odywKPj4g KwkJW0NMS19CVVNfUFdNXQkJPSAmYnVzX3B3bV9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0JV U19JT01NVV0JCT0gJmJ1c19pb21tdV9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0RSQU1dCQk9 ICZkcmFtX2Nsay5jb21tb24uaHcsCj4+ICsJCVtDTEtfTUJVU19ETUFdCQk9ICZtYnVzX2RtYV9j bGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX01CVVNfVkVdCQk9ICZtYnVzX3ZlX2Nsay5jb21tb24u aHcsCj4+ICsJCVtDTEtfTUJVU19DRV0JCT0gJm1idXNfY2VfY2xrLmNvbW1vbi5odywKPj4gKwkJ W0NMS19NQlVTX1RTXQkJPSAmbWJ1c190c19jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX01CVVNf TkFORF0JCT0gJm1idXNfbmFuZF9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX01CVVNfRzJEXQkJ PSAmbWJ1c19nMmRfY2xrLmNvbW1vbi5odywKPj4gKwkJW0NMS19CVVNfRFJBTV0JCT0gJmJ1c19k cmFtX2Nsay5jb21tb24uaHcsCj4+ICsJCVtDTEtfTkFORDBdCQk9ICZuYW5kMF9jbGsuY29tbW9u Lmh3LAo+PiArCQlbQ0xLX05BTkQxXQkJPSAmbmFuZDFfY2xrLmNvbW1vbi5odywKPj4gKwkJW0NM S19CVVNfTkFORF0JCT0gJmJ1c19uYW5kX2Nsay5jb21tb24uaHcsCj4+ICsJCVtDTEtfTU1DMF0J CT0gJm1tYzBfY2xrLmNvbW1vbi5odywKPj4gKwkJW0NMS19NTUMxXQkJPSAmbW1jMV9jbGsuY29t bW9uLmh3LAo+PiArCQlbQ0xLX01NQzJdCQk9ICZtbWMyX2Nsay5jb21tb24uaHcsCj4+ICsJCVtD TEtfQlVTX01NQzBdCQk9ICZidXNfbW1jMF9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0JVU19N TUMxXQkJPSAmYnVzX21tYzFfY2xrLmNvbW1vbi5odywKPj4gKwkJW0NMS19CVVNfTU1DMl0JCT0g JmJ1c19tbWMyX2Nsay5jb21tb24uaHcsCj4+ICsJCVtDTEtfQlVTX1VBUlQwXQkJPSAmYnVzX3Vh cnQwX2Nsay5jb21tb24uaHcsCj4+ICsJCVtDTEtfQlVTX1VBUlQxXQkJPSAmYnVzX3VhcnQxX2Ns ay5jb21tb24uaHcsCj4+ICsJCVtDTEtfQlVTX1VBUlQyXQkJPSAmYnVzX3VhcnQyX2Nsay5jb21t b24uaHcsCj4+ICsJCVtDTEtfQlVTX1VBUlQzXQkJPSAmYnVzX3VhcnQzX2Nsay5jb21tb24uaHcs Cj4+ICsJCVtDTEtfQlVTX1VBUlQ0XQkJPSAmYnVzX3VhcnQ0X2Nsay5jb21tb24uaHcsCj4+ICsJ CVtDTEtfQlVTX1VBUlQ1XQkJPSAmYnVzX3VhcnQ1X2Nsay5jb21tb24uaHcsCj4+ICsJCVtDTEtf QlVTX0kyQzBdCQk9ICZidXNfaTJjMF9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0JVU19JMkMx XQkJPSAmYnVzX2kyYzFfY2xrLmNvbW1vbi5odywKPj4gKwkJW0NMS19CVVNfSTJDMl0JCT0gJmJ1 c19pMmMyX2Nsay5jb21tb24uaHcsCj4+ICsJCVtDTEtfQlVTX0kyQzNdCQk9ICZidXNfaTJjM19j bGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0JVU19JMkM0XQkJPSAmYnVzX2kyYzRfY2xrLmNvbW1v bi5odywKPj4gKwkJW0NMS19TUEkwXQkJPSAmc3BpMF9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xL X1NQSTFdCQk9ICZzcGkxX2Nsay5jb21tb24uaHcsCj4+ICsJCVtDTEtfQlVTX1NQSTBdCQk9ICZi dXNfc3BpMF9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0JVU19TUEkxXQkJPSAmYnVzX3NwaTFf Y2xrLmNvbW1vbi5odywKPj4gKwkJW0NMS19FTUFDXzI1TV0JCT0gJmVtYWNfMjVtX2Nsay5jb21t b24uaHcsCj4+ICsJCVtDTEtfQlVTX0VNQUMwXQkJPSAmYnVzX2VtYWMwX2Nsay5jb21tb24uaHcs Cj4+ICsJCVtDTEtfQlVTX0VNQUMxXQkJPSAmYnVzX2VtYWMxX2Nsay5jb21tb24uaHcsCj4+ICsJ CVtDTEtfVFNdCQk9ICZ0c19jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0JVU19UU10JCT0gJmJ1 c190c19jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0JVU19USFNdCQk9ICZidXNfdGhzX2Nsay5j b21tb24uaHcsCj4+ICsJCVtDTEtfU1BESUZdCQk9ICZzcGRpZl9jbGsuY29tbW9uLmh3LAo+PiAr CQlbQ0xLX0JVU19TUERJRl0JCT0gJmJ1c19zcGRpZl9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xL X0RNSUNdCQk9ICZkbWljX2Nsay5jb21tb24uaHcsCj4+ICsJCVtDTEtfQlVTX0RNSUNdCQk9ICZi dXNfZG1pY19jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0FVRElPX0NPREVDXzFYXQk9Cj4+ICZh dWRpb19jb2RlY18xeF9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0FVRElPX0NPREVDXzRYXQk9 Cj4+ICZhdWRpb19jb2RlY180eF9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0JVU19BVURJT19D T0RFQ10JPQo+PiAmYnVzX2F1ZGlvX2NvZGVjX2Nsay5jb21tb24uaHcsCj4+ICsJCVtDTEtfQVVE SU9fSFVCXQkJPSAmYXVkaW9faHViX2Nsay5jb21tb24uaHcsCj4+ICsJCVtDTEtfQlVTX0FVRElP X0hVQl0JPQo+PiAmYnVzX2F1ZGlvX2h1Yl9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX1VTQl9P SENJMF0JCT0gJnVzYl9vaGNpMF9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX1VTQl9QSFkwXQkJ PSAmdXNiX3BoeTBfY2xrLmNvbW1vbi5odywKPj4gKwkJW0NMS19VU0JfT0hDSTFdCQk9ICZ1c2Jf b2hjaTFfY2xrLmNvbW1vbi5odywKPj4gKwkJW0NMS19VU0JfUEhZMV0JCT0gJnVzYl9waHkxX2Ns ay5jb21tb24uaHcsCj4+ICsJCVtDTEtfVVNCX09IQ0kyXQkJPSAmdXNiX29oY2kyX2Nsay5jb21t b24uaHcsCj4+ICsJCVtDTEtfVVNCX1BIWTJdCQk9ICZ1c2JfcGh5Ml9jbGsuY29tbW9uLmh3LAo+ PiArCQlbQ0xLX1VTQl9PSENJM10JCT0gJnVzYl9vaGNpM19jbGsuY29tbW9uLmh3LAo+PiArCQlb Q0xLX1VTQl9QSFkzXQkJPSAmdXNiX3BoeTNfY2xrLmNvbW1vbi5odywKPj4gKwkJW0NMS19CVVNf T0hDSTBdCQk9ICZidXNfb2hjaTBfY2xrLmNvbW1vbi5odywKPj4gKwkJW0NMS19CVVNfT0hDSTFd CQk9ICZidXNfb2hjaTFfY2xrLmNvbW1vbi5odywKPj4gKwkJW0NMS19CVVNfT0hDSTJdCQk9ICZi dXNfb2hjaTJfY2xrLmNvbW1vbi5odywKPj4gKwkJW0NMS19CVVNfT0hDSTNdCQk9ICZidXNfb2hj aTNfY2xrLmNvbW1vbi5odywKPj4gKwkJW0NMS19CVVNfRUhDSTBdCQk9ICZidXNfZWhjaTBfY2xr LmNvbW1vbi5odywKPj4gKwkJW0NMS19CVVNfRUhDSTFdCQk9ICZidXNfZWhjaTFfY2xrLmNvbW1v bi5odywKPj4gKwkJW0NMS19CVVNfRUhDSTJdCQk9ICZidXNfZWhjaTJfY2xrLmNvbW1vbi5odywK Pj4gKwkJW0NMS19CVVNfRUhDSTNdCQk9ICZidXNfZWhjaTNfY2xrLmNvbW1vbi5odywKPj4gKwkJ W0NMS19CVVNfT1RHXQkJPSAmYnVzX290Z19jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0JVU19L RVlBRENdCT0gJmJ1c19rZXlhZGNfY2xrLmNvbW1vbi5odywKPj4gKwkJW0NMS19IRE1JXQkJPSAm aGRtaV9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0hETUlfU0xPV10JCT0gJmhkbWlfc2xvd19j bGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0hETUlfQ0VDXQkJPSAmaGRtaV9jZWNfY2xrLmNvbW1v bi5odywKPj4gKwkJW0NMS19CVVNfSERNSV0JCT0gJmJ1c19oZG1pX2Nsay5jb21tb24uaHcsCj4+ ICsJCVtDTEtfQlVTX1RDT05fVE9QXQk9Cj4+ICZidXNfdGNvbl90b3BfY2xrLmNvbW1vbi5odywK Pj4gKwkJW0NMS19UQ09OX1RWMF0JCT0gJnRjb25fdHYwX2Nsay5jb21tb24uaHcsCj4+ICsJCVtD TEtfQlVTX1RDT05fVFYwXQk9Cj4+ICZidXNfdGNvbl90djBfY2xrLmNvbW1vbi5odywKPj4gKwkJ W0NMS19IRENQXQkJPSAmaGRjcF9jbGsuY29tbW9uLmh3LAo+PiArCQlbQ0xLX0JVU19IRENQXQkJ PSAmYnVzX2hkY3BfY2xrLmNvbW1vbi5odywKPj4gKwl9LAo+PiArCS5udW0gPSBDTEtfTlVNQkVS LAo+PiArfTsKPj4gKwo+PiArc3RhdGljIHN0cnVjdCBjY3VfcmVzZXRfbWFwIHN1bjUwaV9oNjE2 X2NjdV9yZXNldHNbXSA9IHsKPj4gKwlbUlNUX01CVVNdCQk9IHsgMHg1NDAsIEJJVCgzMCkgfSwK Pj4gKwo+PiArCVtSU1RfQlVTX0RFXQkJPSB7IDB4NjBjLCBCSVQoMTYpIH0sCj4+ICsJW1JTVF9C VVNfREVJTlRFUkxBQ0VdCT0geyAweDYyYywgQklUKDE2KSB9LAo+PiArCVtSU1RfQlVTX0dQVV0J CT0geyAweDY3YywgQklUKDE2KSB9LAo+PiArCVtSU1RfQlVTX0NFXQkJPSB7IDB4NjhjLCBCSVQo MTYpIH0sCj4+ICsJW1JTVF9CVVNfVkVdCQk9IHsgMHg2OWMsIEJJVCgxNikgfSwKPj4gKwlbUlNU X0JVU19ETUFdCQk9IHsgMHg3MGMsIEJJVCgxNikgfSwKPj4gKwlbUlNUX0JVU19IU1RJTUVSXQk9 IHsgMHg3M2MsIEJJVCgxNikgfSwKPj4gKwlbUlNUX0JVU19EQkddCQk9IHsgMHg3OGMsIEJJVCgx NikgfSwKPj4gKwlbUlNUX0JVU19QU0ldCQk9IHsgMHg3OWMsIEJJVCgxNikgfSwKPj4gKwlbUlNU X0JVU19QV01dCQk9IHsgMHg3YWMsIEJJVCgxNikgfSwKPj4gKwlbUlNUX0JVU19JT01NVV0JCT0g eyAweDdiYywgQklUKDE2KSB9LAo+PiArCVtSU1RfQlVTX0RSQU1dCQk9IHsgMHg4MGMsIEJJVCgx NikgfSwKPj4gKwlbUlNUX0JVU19OQU5EXQkJPSB7IDB4ODJjLCBCSVQoMTYpIH0sCj4+ICsJW1JT VF9CVVNfTU1DMF0JCT0geyAweDg0YywgQklUKDE2KSB9LAo+PiArCVtSU1RfQlVTX01NQzFdCQk9 IHsgMHg4NGMsIEJJVCgxNykgfSwKPj4gKwlbUlNUX0JVU19NTUMyXQkJPSB7IDB4ODRjLCBCSVQo MTgpIH0sCj4+ICsJW1JTVF9CVVNfVUFSVDBdCQk9IHsgMHg5MGMsIEJJVCgxNikgfSwKPj4gKwlb UlNUX0JVU19VQVJUMV0JCT0geyAweDkwYywgQklUKDE3KSB9LAo+PiArCVtSU1RfQlVTX1VBUlQy XQkJPSB7IDB4OTBjLCBCSVQoMTgpIH0sCj4+ICsJW1JTVF9CVVNfVUFSVDNdCQk9IHsgMHg5MGMs IEJJVCgxOSkgfSwKPj4gKwlbUlNUX0JVU19VQVJUNF0JCT0geyAweDkwYywgQklUKDIwKSB9LAo+ PiArCVtSU1RfQlVTX1VBUlQ1XQkJPSB7IDB4OTBjLCBCSVQoMjEpIH0sCj4+ICsJW1JTVF9CVVNf STJDMF0JCT0geyAweDkxYywgQklUKDE2KSB9LAo+PiArCVtSU1RfQlVTX0kyQzFdCQk9IHsgMHg5 MWMsIEJJVCgxNykgfSwKPj4gKwlbUlNUX0JVU19JMkMyXQkJPSB7IDB4OTFjLCBCSVQoMTgpIH0s Cj4+ICsJW1JTVF9CVVNfSTJDM10JCT0geyAweDkxYywgQklUKDE5KSB9LAo+PiArCVtSU1RfQlVT X0kyQzRdCQk9IHsgMHg5MWMsIEJJVCgyMCkgfSwKPj4gKwlbUlNUX0JVU19TUEkwXQkJPSB7IDB4 OTZjLCBCSVQoMTYpIH0sCj4+ICsJW1JTVF9CVVNfU1BJMV0JCT0geyAweDk2YywgQklUKDE3KSB9 LAo+PiArCVtSU1RfQlVTX0VNQUMwXQkJPSB7IDB4OTdjLCBCSVQoMTYpIH0sCj4+ICsJW1JTVF9C VVNfRU1BQzFdCQk9IHsgMHg5N2MsIEJJVCgxNykgfSwKPj4gKwlbUlNUX0JVU19UU10JCT0geyAw eDliYywgQklUKDE2KSB9LAo+PiArCVtSU1RfQlVTX1RIU10JCT0geyAweDlmYywgQklUKDE2KSB9 LAo+PiArCVtSU1RfQlVTX1NQRElGXQkJPSB7IDB4YTJjLCBCSVQoMTYpIH0sCj4+ICsJW1JTVF9C VVNfRE1JQ10JCT0geyAweGE0YywgQklUKDE2KSB9LAo+PiArCVtSU1RfQlVTX0FVRElPX0NPREVD XQk9IHsgMHhhNWMsIEJJVCgxNikgfSwKPj4gKwlbUlNUX0JVU19BVURJT19IVUJdCT0geyAweGE2 YywgQklUKDE2KSB9LAo+PiArCj4+ICsJW1JTVF9VU0JfUEhZMF0JCT0geyAweGE3MCwgQklUKDMw KSB9LAo+PiArCVtSU1RfVVNCX1BIWTFdCQk9IHsgMHhhNzQsIEJJVCgzMCkgfSwKPj4gKwlbUlNU X1VTQl9QSFkyXQkJPSB7IDB4YTc4LCBCSVQoMzApIH0sCj4+ICsJW1JTVF9VU0JfUEhZM10JCT0g eyAweGE3YywgQklUKDMwKSB9LAo+PiArCj4+ICsJW1JTVF9CVVNfT0hDSTBdCQk9IHsgMHhhOGMs IEJJVCgxNikgfSwKPj4gKwlbUlNUX0JVU19PSENJMV0JCT0geyAweGE4YywgQklUKDE3KSB9LAo+ PiArCVtSU1RfQlVTX09IQ0kyXQkJPSB7IDB4YThjLCBCSVQoMTgpIH0sCj4+ICsJW1JTVF9CVVNf T0hDSTNdCQk9IHsgMHhhOGMsIEJJVCgxOSkgfSwKPj4gKwlbUlNUX0JVU19FSENJMF0JCT0geyAw eGE4YywgQklUKDIwKSB9LAo+PiArCVtSU1RfQlVTX0VIQ0kxXQkJPSB7IDB4YThjLCBCSVQoMjEp IH0sCj4+ICsJW1JTVF9CVVNfRUhDSTJdCQk9IHsgMHhhOGMsIEJJVCgyMikgfSwKPj4gKwlbUlNU X0JVU19FSENJM10JCT0geyAweGE4YywgQklUKDIzKSB9LAo+PiArCVtSU1RfQlVTX09UR10JCT0g eyAweGE4YywgQklUKDI0KSB9LAo+PiArCVtSU1RfQlVTX0tFWUFEQ10JPSB7IDB4YTljLCBCSVQo MTYpIH0sCj4+ICsKPj4gKwlbUlNUX0JVU19IRE1JXQkJPSB7IDB4YjFjLCBCSVQoMTYpIH0sCj4+ ICsJW1JTVF9CVVNfSERNSV9TVUJdCT0geyAweGIxYywgQklUKDE3KSB9LAo+PiArCVtSU1RfQlVT X1RDT05fVE9QXQk9IHsgMHhiNWMsIEJJVCgxNikgfSwKPj4gKwlbUlNUX0JVU19UQ09OX1RWMF0J PSB7IDB4YjljLCBCSVQoMTYpIH0sCj4+ICsJW1JTVF9CVVNfSERDUF0JCT0geyAweGM0YywgQklU KDE2KSB9LAo+PiArfTsKPj4gKwo+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBzdW54aV9jY3VfZGVz YyBzdW41MGlfaDYxNl9jY3VfZGVzYyA9IHsKPj4gKwkuY2N1X2Nsa3MJPSBzdW41MGlfaDYxNl9j Y3VfY2xrcywKPj4gKwkubnVtX2NjdV9jbGtzCT0gQVJSQVlfU0laRShzdW41MGlfaDYxNl9jY3Vf Y2xrcyksCj4+ICsKPj4gKwkuaHdfY2xrcwk9ICZzdW41MGlfaDYxNl9od19jbGtzLAo+PiArCj4+ ICsJLnJlc2V0cwkJPSBzdW41MGlfaDYxNl9jY3VfcmVzZXRzLAo+PiArCS5udW1fcmVzZXRzCT0g QVJSQVlfU0laRShzdW41MGlfaDYxNl9jY3VfcmVzZXRzKSwKPj4gK307Cj4+ICsKPj4gK3N0YXRp YyBjb25zdCB1MzIgcGxsX3JlZ3NbXSA9IHsKPj4gKwlTVU41MElfSDYxNl9QTExfQ1BVWF9SRUcs Cj4+ICsJU1VONTBJX0g2MTZfUExMX0REUjBfUkVHLAo+PiArCVNVTjUwSV9INjE2X1BMTF9ERFIx X1JFRywKPj4gKwlTVU41MElfSDYxNl9QTExfUEVSSVBIMF9SRUcsCj4+ICsJU1VONTBJX0g2MTZf UExMX1BFUklQSDFfUkVHLAo+PiArCVNVTjUwSV9INjE2X1BMTF9HUFVfUkVHLAo+PiArCVNVTjUw SV9INjE2X1BMTF9WSURFTzBfUkVHLAo+PiArCVNVTjUwSV9INjE2X1BMTF9WSURFTzFfUkVHLAo+ PiArCVNVTjUwSV9INjE2X1BMTF9WSURFTzJfUkVHLAo+PiArCVNVTjUwSV9INjE2X1BMTF9WRV9S RUcsCj4+ICsJU1VONTBJX0g2MTZfUExMX0RFX1JFRywKPj4gKwlTVU41MElfSDYxNl9QTExfQVVE SU9fUkVHLAo+PiArfTsKPj4gKwo+PiArc3RhdGljIGNvbnN0IHUzMiBwbGxfdmlkZW9fcmVnc1td ID0gewo+PiArCVNVTjUwSV9INjE2X1BMTF9WSURFTzBfUkVHLAo+PiArCVNVTjUwSV9INjE2X1BM TF9WSURFTzFfUkVHLAo+PiArCVNVTjUwSV9INjE2X1BMTF9WSURFTzJfUkVHLAo+PiArfTsKPj4g Kwo+PiArc3RhdGljIGNvbnN0IHUzMiB1c2IyX2Nsa19yZWdzW10gPSB7Cj4+ICsJU1VONTBJX0g2 MTZfVVNCMF9DTEtfUkVHLAo+PiArCVNVTjUwSV9INjE2X1VTQjFfQ0xLX1JFRywKPj4gKwlTVU41 MElfSDYxNl9VU0IyX0NMS19SRUcsCj4+ICsJU1VONTBJX0g2MTZfVVNCM19DTEtfUkVHLAo+PiAr fTsKPj4gKwo+PiArc3RhdGljIGludCBzdW41MGlfaDYxNl9jY3VfcHJvYmUoc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldikKPj4gK3sKPj4gKwlzdHJ1Y3QgcmVzb3VyY2UgKnJlczsKPj4gKwl2 b2lkIF9faW9tZW0gKnJlZzsKPj4gKwl1MzIgdmFsOwo+PiArCWludCBpOwo+PiArCj4+ICsJcmVz ID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKPj4gKwly ZWcgPSBkZXZtX2lvcmVtYXBfcmVzb3VyY2UoJnBkZXYtPmRldiwgcmVzKTsKPj4gKwlpZiAoSVNf RVJSKHJlZykpCj4+ICsJCXJldHVybiBQVFJfRVJSKHJlZyk7Cj4+ICsKPj4gKwkvKiBFbmFibGUg dGhlIGxvY2sgYml0cyBvbiBhbGwgUExMcyAqLwo+PiArCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9T SVpFKHBsbF9yZWdzKTsgaSsrKSB7Cj4+ICsJCXZhbCA9IHJlYWRsKHJlZyArIHBsbF9yZWdzW2ld KTsKPj4gKwkJdmFsIHw9IEJJVCgyOSk7Cj4+ICsJCXdyaXRlbCh2YWwsIHJlZyArIHBsbF9yZWdz W2ldKTsKPj4gKwl9Cj4+ICsKPj4gKwkvKgo+PiArCSAqIEZvcmNlIHRoZSBvdXRwdXQgZGl2aWRl ciBvZiB2aWRlbyBQTExzIHRvIDAuCj4+ICsJICoKPj4gKwkgKiBTZWUgdGhlIGNvbW1lbnQgYmVm b3JlIHBsbC12aWRlbzAgZGVmaW5pdGlvbiBmb3IgdGhlIHJlYXNvbi4KPj4gKwkgKi8KPj4gKwlm b3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShwbGxfdmlkZW9fcmVncyk7IGkrKykgewo+PiArCQl2 YWwgPSByZWFkbChyZWcgKyBwbGxfdmlkZW9fcmVnc1tpXSk7Cj4+ICsJCXZhbCAmPSB+QklUKDAp Owo+PiArCQl3cml0ZWwodmFsLCByZWcgKyBwbGxfdmlkZW9fcmVnc1tpXSk7Cj4+ICsJfQo+PiAr Cj4+ICsJLyoKPj4gKwkgKiBGb3JjZSBPSENJIDEyTSBjbG9jayBzb3VyY2VzIHRvIDAwICgxMk1I eiBkaXZpZGVkIGZyb20KPj4gNDhNSHopCj4+ICsJICoKPj4gKwkgKiBUaGlzIGNsb2NrIG11eCBp cyBzdGlsbCBteXN0ZXJpb3VzLCBhbmQgdGhlIGNvZGUganVzdAo+PiBlbmZvcmNlcwo+PiArCSAq IGl0IHRvIGhhdmUgYSB2YWxpZCBjbG9jayBwYXJlbnQuCj4+ICsJICovCj4+ICsJZm9yIChpID0g MDsgaSA8IEFSUkFZX1NJWkUodXNiMl9jbGtfcmVncyk7IGkrKykgewo+PiArCQl2YWwgPSByZWFk bChyZWcgKyB1c2IyX2Nsa19yZWdzW2ldKTsKPj4gKwkJdmFsICY9IH5HRU5NQVNLKDI1LCAyNCk7 Cj4+ICsJCXdyaXRlbCAodmFsLCByZWcgKyB1c2IyX2Nsa19yZWdzW2ldKTsKPj4gKwl9Cj4+ICsK Pj4gKwkvKgo+PiArCSAqIEZvcmNlIHRoZSBwb3N0LWRpdmlkZXIgb2YgcGxsLWF1ZGlvIHRvIDEy IGFuZCB0aGUgb3V0cHV0Cj4+IGRpdmlkZXIKPj4gKwkgKiBvZiBpdCB0byAyLCBzbyAyNDU3NjAw MCBhbmQgMjI1NzkyMDAgcmF0ZXMgY2FuIGJlIHNldAo+PiBleGFjdGx5Lgo+PiArCSAqLwo+PiAr CXZhbCA9IHJlYWRsKHJlZyArIFNVTjUwSV9INjE2X1BMTF9BVURJT19SRUcpOwo+PiArCXZhbCAm PSB+KEdFTk1BU0soMjEsIDE2KSB8IEJJVCgwKSk7Cj4+ICsJd3JpdGVsKHZhbCB8ICgxMSA8PCAx NikgfCBCSVQoMCksIHJlZyArCj4+IFNVTjUwSV9INjE2X1BMTF9BVURJT19SRUcpOwo+PiArCj4+ ICsJLyoKPj4gKwkgKiBGaXJzdCBjbG9jayBwYXJlbnQgKG9zYzMySykgaXMgdW51c2FibGUgZm9y IENFQy4gQnV0IHNpbmNlCj4+IHRoZXJlCj4+ICsJICogaXMgbm8gZ29vZCB3YXkgdG8gZm9yY2Ug cGFyZW50IHN3aXRjaCAoYm90aCBydW4gd2l0aCBzYW1lCj4+IGZyZXF1ZW5jeSksCj4+ICsJICog anVzdCBzZXQgc2Vjb25kIGNsb2NrIHBhcmVudCBoZXJlLgo+PiArCSAqLwo+PiArCXZhbCA9IHJl YWRsKHJlZyArIFNVTjUwSV9INjE2X0hETUlfQ0VDX0NMS19SRUcpOwo+PiArCXZhbCB8PSBCSVQo MjQpOwo+PiArCXdyaXRlbCh2YWwsIHJlZyArIFNVTjUwSV9INjE2X0hETUlfQ0VDX0NMS19SRUcp Owo+PiArCj4+ICsJcmV0dXJuIHN1bnhpX2NjdV9wcm9iZShwZGV2LT5kZXYub2Zfbm9kZSwgcmVn LAo+PiAmc3VuNTBpX2g2MTZfY2N1X2Rlc2MpOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgY29uc3Qg c3RydWN0IG9mX2RldmljZV9pZCBzdW41MGlfaDYxNl9jY3VfaWRzW10gPSB7Cj4+ICsJeyAuY29t cGF0aWJsZSA9ICJhbGx3aW5uZXIsc3VuNTBpLWg2MTYtY2N1IiwKPj4gKwkJLmRhdGEgPSAmc3Vu NTBpX2g2MTZfY2N1X2Rlc2MgfSwKPj4gKwl7IH0KPj4gK307Cj4+ICsKPj4gK3N0YXRpYyBzdHJ1 Y3QgcGxhdGZvcm1fZHJpdmVyIHN1bjUwaV9oNjE2X2NjdV9kcml2ZXIgPSB7Cj4+ICsJLnByb2Jl CT0gc3VuNTBpX2g2MTZfY2N1X3Byb2JlLAo+PiArCS5kcml2ZXIJPSB7Cj4+ICsJCS5uYW1lCT0g InN1bjUwaS1oNjE2LWNjdSIsCj4+ICsJCS5vZl9tYXRjaF90YWJsZQk9IHN1bjUwaV9oNjE2X2Nj dV9pZHMsCj4+ICsJfSwKPj4gK307Cj4+ICtidWlsdGluX3BsYXRmb3JtX2RyaXZlcihzdW41MGlf aDYxNl9jY3VfZHJpdmVyKTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL3N1bnhpLW5nL2Nj dS1zdW41MGktaDYxNi5oCj4+IGIvZHJpdmVycy9jbGsvc3VueGktbmcvY2N1LXN1bjUwaS1oNjE2 LmgKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi5kYThmMGIx MjA2ZjkKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2Nsay9zdW54aS1uZy9jY3Ut c3VuNTBpLWg2MTYuaAo+PiBAQCAtMCwwICsxLDU4IEBACj4+ICsvKiBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogR1BMLTIuMCAqLwo+PiArLyoKPj4gKyAqIENvcHlyaWdodCAyMDIwIEFybSBMdGQu Cj4+ICsgKi8KPj4gKwo+PiArI2lmbmRlZiBfQ0NVX1NVTjUwSV9INjE2X0hfCj4+ICsjZGVmaW5l IF9DQ1VfU1VONTBJX0g2MTZfSF8KPj4gKwo+PiArI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2Nsb2Nr L3N1bjUwaS1oNjE2LWNjdS5oPgo+PiArI2luY2x1ZGUgPGR0LWJpbmRpbmdzL3Jlc2V0L3N1bjUw aS1oNjE2LWNjdS5oPgo+PiArCj4+ICsjZGVmaW5lIENMS19PU0MxMk0JCTAKPj4gKyNkZWZpbmUg Q0xLX1BMTF9DUFVYCQkxCj4+ICsjZGVmaW5lIENMS19QTExfRERSMAkJMgo+PiArI2RlZmluZSBD TEtfUExMX0REUjEJCTMKPj4gKwo+PiArLyogUExMX1BFUklQSDAgZXhwb3J0ZWQgZm9yIFBSQ00g Ki8KPj4gKwo+PiArI2RlZmluZSBDTEtfUExMX1BFUklQSDBfMlgJNQo+PiArI2RlZmluZSBDTEtf UExMX1BFUklQSDBfNFgJNgo+PiArI2RlZmluZSBDTEtfUExMX1BFUklQSDEJCTcKPj4gKyNkZWZp bmUgQ0xLX1BMTF9QRVJJUEgxXzJYCTgKPj4gKyNkZWZpbmUgQ0xLX1BMTF9QRVJJUEgxXzRYCTkK Pj4gKyNkZWZpbmUgQ0xLX1BMTF9HUFUJCTEwCj4+ICsjZGVmaW5lIENMS19QTExfVklERU8wCQkx MQo+PiArI2RlZmluZSBDTEtfUExMX1ZJREVPMF80WAkxMgo+PiArI2RlZmluZSBDTEtfUExMX1ZJ REVPMQkJMTMKPj4gKyNkZWZpbmUgQ0xLX1BMTF9WSURFTzFfNFgJMTQKPj4gKyNkZWZpbmUgQ0xL X1BMTF9WSURFTzIJCTE1Cj4+ICsjZGVmaW5lIENMS19QTExfVklERU8yXzRYCTE2Cj4+ICsjZGVm aW5lIENMS19QTExfVkUJCTE3Cj4+ICsjZGVmaW5lIENMS19QTExfREUJCTE4Cj4+ICsjZGVmaW5l IENMS19QTExfQVVESU9fSFMJMTkKPj4gKyNkZWZpbmUgQ0xLX1BMTF9BVURJT18xWAkyMAo+PiAr I2RlZmluZSBDTEtfUExMX0FVRElPXzJYCTIxCj4+ICsjZGVmaW5lIENMS19QTExfQVVESU9fNFgJ MjIKPj4gKwo+PiArLyogQ1BVWCBjbG9jayBleHBvcnRlZCBmb3IgRFZGUyAqLwo+PiArCj4+ICsj ZGVmaW5lIENMS19BWEkJCQkyNAo+PiArI2RlZmluZSBDTEtfQ1BVWF9BUEIJCTI1Cj4+ICsjZGVm aW5lIENMS19QU0lfQUhCMV9BSEIyCTI2Cj4+ICsjZGVmaW5lIENMS19BSEIzCQkyNwo+PiArCj4+ ICsvKiBBUEIxIGNsb2NrIGV4cG9ydGVkIGZvciBQSU8gKi8KPj4gKwo+PiArI2RlZmluZSBDTEtf QVBCMgkJMjkKPj4gKyNkZWZpbmUgQ0xLX01CVVMJCTMwCj4+ICsKPj4gKy8qIEFsbCBtb2R1bGUg Y2xvY2tzIGFuZCBidXMgZ2F0ZXMgYXJlIGV4cG9ydGVkIGV4Y2VwdCBEUkFNICovCj4+ICsKPj4g KyNkZWZpbmUgQ0xLX0RSQU0JCTUxCj4+ICsKPj4gKyNkZWZpbmUgQ0xLX0JVU19EUkFNCQk1OAo+ PiArCj4+ICsjZGVmaW5lIENMS19OVU1CRVIJCShDTEtfQlVTX0hEQ1AgKyAxKQo+PiArCj4+ICsj ZW5kaWYgLyogX0NDVV9TVU41MElfSDYxNl9IXyAqLwo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9k dC1iaW5kaW5ncy9jbG9jay9zdW41MGktaDYxNi1jY3UuaAo+PiBiL2luY2x1ZGUvZHQtYmluZGlu Z3MvY2xvY2svc3VuNTBpLWg2MTYtY2N1LmgKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5k ZXggMDAwMDAwMDAwMDAwLi5hOWNjODg0NGUzYTkKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9p bmNsdWRlL2R0LWJpbmRpbmdzL2Nsb2NrL3N1bjUwaS1oNjE2LWNjdS5oCj4+IEBAIC0wLDAgKzEs MTEwIEBACj4+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogKEdQTC0yLjArIG9yIE1JVCkK Pj4gKy8qCj4+ICsgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXJtIEx0ZC4KPj4gKyAqLwo+PiArCj4+ ICsjaWZuZGVmIF9EVF9CSU5ESU5HU19DTEtfU1VONTBJX0g2MTZfSF8KPj4gKyNkZWZpbmUgX0RU X0JJTkRJTkdTX0NMS19TVU41MElfSDYxNl9IXwo+PiArCj4+ICsjZGVmaW5lIENMS19QTExfUEVS SVBIMAkJNAo+PiArCj4+ICsjZGVmaW5lIENMS19DUFVYCQkyMwo+PiArCj4+ICsjZGVmaW5lIENM S19BUEIxCQkyOAo+PiArCj4+ICsjZGVmaW5lIENMS19ERQkJCTMxCj4+ICsjZGVmaW5lIENMS19C VVNfREUJCTMyCj4+ICsjZGVmaW5lIENMS19ERUlOVEVSTEFDRQkJMzMKPj4gKyNkZWZpbmUgQ0xL X0JVU19ERUlOVEVSTEFDRQkzNAo+PiArI2RlZmluZSBDTEtfRzJECQkJMzUKPj4gKyNkZWZpbmUg Q0xLX0JVU19HMkQJCTM2Cj4+ICsjZGVmaW5lIENMS19HUFUwCQkzNwo+PiArI2RlZmluZSBDTEtf QlVTX0dQVQkJMzgKPj4gKyNkZWZpbmUgQ0xLX0dQVTEJCTM5Cj4+ICsjZGVmaW5lIENMS19DRQkJ CTQwCj4+ICsjZGVmaW5lIENMS19CVVNfQ0UJCTQxCj4+ICsjZGVmaW5lIENMS19WRQkJCTQyCj4+ ICsjZGVmaW5lIENMS19CVVNfVkUJCTQzCj4+ICsjZGVmaW5lIENMS19CVVNfRE1BCQk0NAo+PiAr I2RlZmluZSBDTEtfQlVTX0hTVElNRVIJCTQ1Cj4+ICsjZGVmaW5lIENMS19BVlMJCQk0Ngo+PiAr I2RlZmluZSBDTEtfQlVTX0RCRwkJNDcKPj4gKyNkZWZpbmUgQ0xLX0JVU19QU0kJCTQ4Cj4+ICsj ZGVmaW5lIENMS19CVVNfUFdNCQk0OQo+PiArI2RlZmluZSBDTEtfQlVTX0lPTU1VCQk1MAo+PiAr Cj4+ICsjZGVmaW5lIENMS19NQlVTX0RNQQkJNTIKPj4gKyNkZWZpbmUgQ0xLX01CVVNfVkUJCTUz Cj4+ICsjZGVmaW5lIENMS19NQlVTX0NFCQk1NAo+PiArI2RlZmluZSBDTEtfTUJVU19UUwkJNTUK Pj4gKyNkZWZpbmUgQ0xLX01CVVNfTkFORAkJNTYKPj4gKyNkZWZpbmUgQ0xLX01CVVNfRzJECQk1 Nwo+PiArCj4+ICsjZGVmaW5lIENMS19OQU5EMAkJNTkKPj4gKyNkZWZpbmUgQ0xLX05BTkQxCQk2 MAo+PiArI2RlZmluZSBDTEtfQlVTX05BTkQJCTYxCj4+ICsjZGVmaW5lIENMS19NTUMwCQk2Mgo+ PiArI2RlZmluZSBDTEtfTU1DMQkJNjMKPj4gKyNkZWZpbmUgQ0xLX01NQzIJCTY0Cj4+ICsjZGVm aW5lIENMS19CVVNfTU1DMAkJNjUKPj4gKyNkZWZpbmUgQ0xLX0JVU19NTUMxCQk2Ngo+PiArI2Rl ZmluZSBDTEtfQlVTX01NQzIJCTY3Cj4+ICsjZGVmaW5lIENMS19CVVNfVUFSVDAJCTY4Cj4+ICsj ZGVmaW5lIENMS19CVVNfVUFSVDEJCTY5Cj4+ICsjZGVmaW5lIENMS19CVVNfVUFSVDIJCTcwCj4+ ICsjZGVmaW5lIENMS19CVVNfVUFSVDMJCTcxCj4+ICsjZGVmaW5lIENMS19CVVNfVUFSVDQJCTcy Cj4+ICsjZGVmaW5lIENMS19CVVNfVUFSVDUJCTczCj4+ICsjZGVmaW5lIENMS19CVVNfSTJDMAkJ NzQKPj4gKyNkZWZpbmUgQ0xLX0JVU19JMkMxCQk3NQo+PiArI2RlZmluZSBDTEtfQlVTX0kyQzIJ CTc2Cj4+ICsjZGVmaW5lIENMS19CVVNfSTJDMwkJNzcKPj4gKyNkZWZpbmUgQ0xLX0JVU19JMkM0 CQk3OAo+PiArI2RlZmluZSBDTEtfU1BJMAkJNzkKPj4gKyNkZWZpbmUgQ0xLX1NQSTEJCTgwCj4+ ICsjZGVmaW5lIENMS19CVVNfU1BJMAkJODEKPj4gKyNkZWZpbmUgQ0xLX0JVU19TUEkxCQk4Mgo+ PiArI2RlZmluZSBDTEtfRU1BQ18yNU0JCTgzCj4+ICsjZGVmaW5lIENMS19CVVNfRU1BQzAJCTg0 Cj4+ICsjZGVmaW5lIENMS19CVVNfRU1BQzEJCTg1Cj4+ICsjZGVmaW5lIENMS19UUwkJCTg2Cj4+ ICsjZGVmaW5lIENMS19CVVNfVFMJCTg3Cj4+ICsjZGVmaW5lIENMS19CVVNfVEhTCQk4OAo+PiAr I2RlZmluZSBDTEtfU1BESUYJCTg5Cj4+ICsjZGVmaW5lIENMS19CVVNfU1BESUYJCTkwCj4+ICsj ZGVmaW5lIENMS19ETUlDCQk5MQo+PiArI2RlZmluZSBDTEtfQlVTX0RNSUMJCTkyCj4+ICsjZGVm aW5lIENMS19BVURJT19DT0RFQ18xWAk5Mwo+PiArI2RlZmluZSBDTEtfQVVESU9fQ09ERUNfNFgJ OTQKPj4gKyNkZWZpbmUgQ0xLX0JVU19BVURJT19DT0RFQwk5NQo+PiArI2RlZmluZSBDTEtfQVVE SU9fSFVCCQk5Ngo+PiArI2RlZmluZSBDTEtfQlVTX0FVRElPX0hVQgk5Nwo+PiArI2RlZmluZSBD TEtfVVNCX09IQ0kwCQk5OAo+PiArI2RlZmluZSBDTEtfVVNCX1BIWTAJCTk5Cj4+ICsjZGVmaW5l IENMS19VU0JfT0hDSTEJCTEwMAo+PiArI2RlZmluZSBDTEtfVVNCX1BIWTEJCTEwMQo+PiArI2Rl ZmluZSBDTEtfVVNCX09IQ0kyCQkxMDIKPj4gKyNkZWZpbmUgQ0xLX1VTQl9QSFkyCQkxMDMKPj4g KyNkZWZpbmUgQ0xLX1VTQl9PSENJMwkJMTA0Cj4+ICsjZGVmaW5lIENMS19VU0JfUEhZMwkJMTA1 Cj4+ICsjZGVmaW5lIENMS19CVVNfT0hDSTAJCTEwNgo+PiArI2RlZmluZSBDTEtfQlVTX09IQ0kx CQkxMDcKPj4gKyNkZWZpbmUgQ0xLX0JVU19PSENJMgkJMTA4Cj4+ICsjZGVmaW5lIENMS19CVVNf T0hDSTMJCTEwOQo+PiArI2RlZmluZSBDTEtfQlVTX0VIQ0kwCQkxMTAKPj4gKyNkZWZpbmUgQ0xL X0JVU19FSENJMQkJMTExCj4+ICsjZGVmaW5lIENMS19CVVNfRUhDSTIJCTExMgo+PiArI2RlZmlu ZSBDTEtfQlVTX0VIQ0kzCQkxMTMKPj4gKyNkZWZpbmUgQ0xLX0JVU19PVEcJCTExNAo+PiArI2Rl ZmluZSBDTEtfQlVTX0tFWUFEQwkJMTE1Cj4+ICsjZGVmaW5lIENMS19IRE1JCQkxMTYKPj4gKyNk ZWZpbmUgQ0xLX0hETUlfU0xPVwkJMTE3Cj4+ICsjZGVmaW5lIENMS19IRE1JX0NFQwkJMTE4Cj4+ ICsjZGVmaW5lIENMS19CVVNfSERNSQkJMTE5Cj4+ICsjZGVmaW5lIENMS19CVVNfVENPTl9UT1AJ MTIwCj4+ICsjZGVmaW5lIENMS19UQ09OX1RWMAkJMTIxCj4+ICsjZGVmaW5lIENMS19CVVNfVENP Tl9UVjAJMTIyCj4+ICsjZGVmaW5lIENMS19IRENQCQkxMjMKPj4gKyNkZWZpbmUgQ0xLX0JVU19I RENQCQkxMjQKPj4gKwo+PiArI2VuZGlmIC8qIF9EVF9CSU5ESU5HU19DTEtfU1VONTBJX0g2MTZf SF8gKi8KPj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHQtYmluZGluZ3MvcmVzZXQvc3VuNTBpLWg2 MTYtY2N1LmgKPj4gYi9pbmNsdWRlL2R0LWJpbmRpbmdzL3Jlc2V0L3N1bjUwaS1oNjE2LWNjdS5o Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uMWM5OTJjZmJi YmFiCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvaW5jbHVkZS9kdC1iaW5kaW5ncy9yZXNldC9z dW41MGktaDYxNi1jY3UuaAo+PiBAQCAtMCwwICsxLDY3IEBACj4+ICsvLyBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogKEdQTC0yLjArIG9yIE1JVCkKPj4gKy8qCj4+ICsgKiBDb3B5cmlnaHQgKEMp IDIwMTcgSWNlbm93eSBaaGVuZyA8aWNlbm93eUBhb3NjLmlvPgo+PiArICovCj4+ICsKPj4gKyNp Zm5kZWYgX0RUX0JJTkRJTkdTX1JFU0VUX1NVTjUwSV9INjE2X0hfCj4+ICsjZGVmaW5lIF9EVF9C SU5ESU5HU19SRVNFVF9TVU41MElfSDYxNl9IXwo+PiArCj4+ICsjZGVmaW5lIFJTVF9NQlVTCQkw Cj4+ICsjZGVmaW5lIFJTVF9CVVNfREUJCTEKPj4gKyNkZWZpbmUgUlNUX0JVU19ERUlOVEVSTEFD RQkyCj4+ICsjZGVmaW5lIFJTVF9CVVNfR1BVCQkzCj4+ICsjZGVmaW5lIFJTVF9CVVNfQ0UJCTQK Pj4gKyNkZWZpbmUgUlNUX0JVU19WRQkJNQo+PiArI2RlZmluZSBSU1RfQlVTX0RNQQkJNgo+PiAr I2RlZmluZSBSU1RfQlVTX0hTVElNRVIJCTcKPj4gKyNkZWZpbmUgUlNUX0JVU19EQkcJCTgKPj4g KyNkZWZpbmUgUlNUX0JVU19QU0kJCTkKPj4gKyNkZWZpbmUgUlNUX0JVU19QV00JCTEwCj4+ICsj ZGVmaW5lIFJTVF9CVVNfSU9NTVUJCTExCj4+ICsjZGVmaW5lIFJTVF9CVVNfRFJBTQkJMTIKPj4g KyNkZWZpbmUgUlNUX0JVU19OQU5ECQkxMwo+PiArI2RlZmluZSBSU1RfQlVTX01NQzAJCTE0Cj4+ ICsjZGVmaW5lIFJTVF9CVVNfTU1DMQkJMTUKPj4gKyNkZWZpbmUgUlNUX0JVU19NTUMyCQkxNgo+ PiArI2RlZmluZSBSU1RfQlVTX1VBUlQwCQkxNwo+PiArI2RlZmluZSBSU1RfQlVTX1VBUlQxCQkx OAo+PiArI2RlZmluZSBSU1RfQlVTX1VBUlQyCQkxOQo+PiArI2RlZmluZSBSU1RfQlVTX1VBUlQz CQkyMAo+PiArI2RlZmluZSBSU1RfQlVTX1VBUlQ0CQkyMQo+PiArI2RlZmluZSBSU1RfQlVTX1VB UlQ1CQkyMgo+PiArI2RlZmluZSBSU1RfQlVTX0kyQzAJCTIzCj4+ICsjZGVmaW5lIFJTVF9CVVNf STJDMQkJMjQKPj4gKyNkZWZpbmUgUlNUX0JVU19JMkMyCQkyNQo+PiArI2RlZmluZSBSU1RfQlVT X0kyQzMJCTI2Cj4+ICsjZGVmaW5lIFJTVF9CVVNfSTJDNAkJMjcKPj4gKyNkZWZpbmUgUlNUX0JV U19TUEkwCQkyOAo+PiArI2RlZmluZSBSU1RfQlVTX1NQSTEJCTI5Cj4+ICsjZGVmaW5lIFJTVF9C VVNfRU1BQzAJCTMwCj4+ICsjZGVmaW5lIFJTVF9CVVNfRU1BQzEJCTMxCj4+ICsjZGVmaW5lIFJT VF9CVVNfVFMJCTMyCj4+ICsjZGVmaW5lIFJTVF9CVVNfVEhTCQkzMwo+PiArI2RlZmluZSBSU1Rf QlVTX1NQRElGCQkzNAo+PiArI2RlZmluZSBSU1RfQlVTX0RNSUMJCTM1Cj4+ICsjZGVmaW5lIFJT VF9CVVNfQVVESU9fQ09ERUMJMzYKPj4gKyNkZWZpbmUgUlNUX0JVU19BVURJT19IVUIJMzcKPj4g KyNkZWZpbmUgUlNUX1VTQl9QSFkwCQkzOAo+PiArI2RlZmluZSBSU1RfVVNCX1BIWTEJCTM5Cj4+ ICsjZGVmaW5lIFJTVF9VU0JfUEhZMgkJNDAKPj4gKyNkZWZpbmUgUlNUX1VTQl9QSFkzCQk0MQo+ PiArI2RlZmluZSBSU1RfQlVTX09IQ0kwCQk0Mgo+PiArI2RlZmluZSBSU1RfQlVTX09IQ0kxCQk0 Mwo+PiArI2RlZmluZSBSU1RfQlVTX09IQ0kyCQk0NAo+PiArI2RlZmluZSBSU1RfQlVTX09IQ0kz CQk0NQo+PiArI2RlZmluZSBSU1RfQlVTX0VIQ0kwCQk0Ngo+PiArI2RlZmluZSBSU1RfQlVTX0VI Q0kxCQk0Nwo+PiArI2RlZmluZSBSU1RfQlVTX0VIQ0kyCQk0OAo+PiArI2RlZmluZSBSU1RfQlVT X0VIQ0kzCQk0OQo+PiArI2RlZmluZSBSU1RfQlVTX09URwkJNTAKPj4gKyNkZWZpbmUgUlNUX0JV U19IRE1JCQk1MQo+PiArI2RlZmluZSBSU1RfQlVTX0hETUlfU1VCCTUyCj4+ICsjZGVmaW5lIFJT VF9CVVNfVENPTl9UT1AJNTMKPj4gKyNkZWZpbmUgUlNUX0JVU19UQ09OX1RWMAk1NAo+PiArI2Rl ZmluZSBSU1RfQlVTX0hEQ1AJCTU1Cj4+ICsjZGVmaW5lIFJTVF9CVVNfS0VZQURDCQk1Ngo+PiAr Cj4+ICsjZW5kaWYgLyogX0RUX0JJTkRJTkdTX1JFU0VUX1NVTjUwSV9INjE2X0hfICovCj4+IC0t IAo+PiAyLjE3LjUKPj4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxp c3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0 aW5mby9saW51eC1hcm0ta2VybmVsCg==