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=-8.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=unavailable 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 D2C0CC32793 for ; Sun, 29 Sep 2019 09:39:04 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 98EDD2086A for ; Sun, 29 Sep 2019 09:39:04 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="g+17WNNP" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 98EDD2086A Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=amlogic.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type: Content-Transfer-Encoding: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=7CLaSNPuSFFVcN5xAcjXHX6Ufp0G/RpehcPJPBoF6hA=; b=g+17WNNPgfOiE81qhGL6Ao8zb RIjpFof9ErNE3hoHQ8h4UXdwtU4ZeKEIaro6/iC08zVWoKcF3YP6BWnRJtLntFuA/yJHheWu8L5js ZSCL2rq45kt03n1Etuh1FTdi9SBF6jitA7kg1Ky+rjEVQvA7Bn8lwR4FVk11x92F/m3Rt5kgjuRcg dv62v8cl7zmNxwbQ42JA52d1WCdIkyIzX8pGHnonRzrWwmnJumtYI6XXKfRLy1/vCgXfcASK1iGOE xVC1q+rmpz6VGuz3gfbjwk0ieuV/xQaEJwJ6/CRzuofPkpRgjGDbOlH8ZYGUd3vG0dR81VR0YpdeM 2aZATuzoA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.2 #3 (Red Hat Linux)) id 1iEVfL-00052S-1N; Sun, 29 Sep 2019 09:38:55 +0000 Received: from mail-sz.amlogic.com ([211.162.65.117]) by bombadil.infradead.org with esmtps (Exim 4.92.2 #3 (Red Hat Linux)) id 1iEVf6-0004up-GV; Sun, 29 Sep 2019 09:38:46 +0000 Received: from [10.28.19.114] (10.28.19.114) by mail-sz.amlogic.com (10.28.11.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1591.10; Sun, 29 Sep 2019 17:38:37 +0800 Subject: Re: [PATCH 2/2] clk: meson: a1: add support for Amlogic A1 clock driver To: Jerome Brunet References: <1569411888-98116-1-git-send-email-jian.hu@amlogic.com> <1569411888-98116-3-git-send-email-jian.hu@amlogic.com> <1j1rw4mmzw.fsf@starbuckisacylon.baylibre.com> <1jimpd27cb.fsf@starbuckisacylon.baylibre.com> From: Jian Hu Message-ID: <5fd57563-0c34-be14-132a-74fd2c5a5275@amlogic.com> Date: Sun, 29 Sep 2019 17:38:38 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.3.3 MIME-Version: 1.0 In-Reply-To: <1jimpd27cb.fsf@starbuckisacylon.baylibre.com> Content-Language: en-US X-Originating-IP: [10.28.19.114] X-ClientProxiedBy: mail-sz.amlogic.com (10.28.11.5) To mail-sz.amlogic.com (10.28.11.5) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190929_023841_639517_790825BA X-CRM114-Status: GOOD ( 28.54 ) X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Rob Herring , Jianxin Pan , Neil Armstrong , Martin Blumenstingl , Kevin Hilman , Michael Turquette , linux-kernel@vger.kernel.org, Stephen Boyd , devicetree@vger.kernel.org, Qiufang Dai , linux-amlogic@lists.infradead.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org CgpPbiAyMDE5LzkvMjcgMjE6MzIsIEplcm9tZSBCcnVuZXQgd3JvdGU6Cj4gCj4gT24gRnJpIDI3 IFNlcCAyMDE5IGF0IDExOjUyLCBKaWFuIEh1IDxqaWFuLmh1QGFtbG9naWMuY29tPiB3cm90ZToK PiAKPj4gSGksIEplcm9tZQo+Pgo+PiBUaGFuayB5b3UgZm9yIHJldmlldy4KPj4KPj4gT24gMjAx OS85LzI1IDIzOjA5LCBKZXJvbWUgQnJ1bmV0IHdyb3RlOgo+Pj4gT24gV2VkIDI1IFNlcCAyMDE5 IGF0IDE5OjQ0LCBKaWFuIEh1IDxqaWFuLmh1QGFtbG9naWMuY29tPiB3cm90ZToKPj4+Cj4+Pj4g VGhlIEFtbG9naWMgQTEgY2xvY2sgaW5jbHVkZXMgdGhyZWUgcGFydHM6Cj4+Pj4gcGVyaXBoZXJh bCBjbG9ja3MsIHBsbCBjbG9ja3MsIENQVSBjbG9ja3MuCj4+Pj4gc3lzIHBsbCBhbmQgQ1BVIGNs b2NrcyB3aWxsIGJlIHNlbnQgaW4gbmV4dCBwYXRjaC4KPj4+Pgo+Pj4+IFVubGlrZSB0aGUgcHJl dmlvdXMgc2VyaWVzLCB0aGVyZSBpcyBubyBFRS9BTyBkb21haW4KPj4+PiBpbiBBMSBDTEsgY29u dHJvbGxlcnMuCj4+Pj4KPj4+PiBTaWduZWQtb2ZmLWJ5OiBKaWFuIEh1IDxqaWFuLmh1QGFtbG9n aWMuY29tPgo+Pj4+IFNpZ25lZC1vZmYtYnk6IEppYW54aW4gUGFuIDxqaWFueGluLnBhbkBhbWxv Z2ljLmNvbT4KPj4+PiAtLS0KPj4+PiAgICBhcmNoL2FybTY0L0tjb25maWcucGxhdGZvcm1zIHwg ICAgMSArCj4+Pj4gICAgZHJpdmVycy9jbGsvbWVzb24vS2NvbmZpZyAgICB8ICAgMTAgKwo+Pj4+ ICAgIGRyaXZlcnMvY2xrL21lc29uL01ha2VmaWxlICAgfCAgICAxICsKPj4+PiAgICBkcml2ZXJz L2Nsay9tZXNvbi9hMS5jICAgICAgIHwgMjYxNyArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKPj4+PiAgICBkcml2ZXJzL2Nsay9tZXNvbi9hMS5oICAgICAgIHwgIDE3 MiArKysKPj4+PiAgICA1IGZpbGVzIGNoYW5nZWQsIDI4MDEgaW5zZXJ0aW9ucygrKQo+Pj4+ICAg IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9tZXNvbi9hMS5jCj4+Pj4gICAgY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvY2xrL21lc29uL2ExLmgKPj4+Pgo+Pj4+IGRpZmYgLS1naXQg YS9hcmNoL2FybTY0L0tjb25maWcucGxhdGZvcm1zIGIvYXJjaC9hcm02NC9LY29uZmlnLnBsYXRm b3Jtcwo+Pj4+IGluZGV4IDE2ZDc2MTQuLmE0OGY2N2QgMTAwNjQ0Cj4+Pj4gLS0tIGEvYXJjaC9h cm02NC9LY29uZmlnLnBsYXRmb3Jtcwo+Pj4+ICsrKyBiL2FyY2gvYXJtNjQvS2NvbmZpZy5wbGF0 Zm9ybXMKPj4+PiBAQCAtMTM4LDYgKzEzOCw3IEBAIGNvbmZpZyBBUkNIX01FU09OCj4+Pj4gICAg CXNlbGVjdCBDT01NT05fQ0xLX0FYRwo+Pj4+ICAgIAlzZWxlY3QgQ09NTU9OX0NMS19HMTJBCj4+ Pj4gICAgCXNlbGVjdCBNRVNPTl9JUlFfR1BJTwo+Pj4+ICsJc2VsZWN0IENPTU1PTl9DTEtfQTEK Pj4+Cj4+PiBUaGlzIG5lZWQgdG8gYmUgc2VwYXJhdGUgcGF0Y2ggYWRkcmVzc2VkIHRvIEtldmlu IG9uY2UgeW91ciBkcml2ZXIgaXMgbWVyZ2VkCj4+Pgo+PiBvaywgSSB3aWxsIHJlbW92ZSBpdCBp biBQQVRDSCBWMi4gQW5kIHNlbmQgaXQgYWdhaW4gYWZ0ZXIgdGhlIGRyaXZlciBpcwo+PiBtZXJn ZWQuCj4+Pj4gICAgCWhlbHAKPj4+PiAgICAJICBUaGlzIGVuYWJsZXMgc3VwcG9ydCBmb3IgdGhl IGFybTY0IGJhc2VkIEFtbG9naWMgU29Dcwo+Pj4+ICAgIAkgIHN1Y2ggYXMgdGhlIHM5MDUsIFM5 MDVYL0QsIFM5MTIsIEExMTNYL0Qgb3IgUzkwNVgvRDIKPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9jbGsvbWVzb24vS2NvbmZpZyBiL2RyaXZlcnMvY2xrL21lc29uL0tjb25maWcKPj4+PiBpbmRl eCBkYWJlYjQzLi5lNmNiNGMzIDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvY2xrL21lc29uL0tj b25maWcKPj4+PiArKysgYi9kcml2ZXJzL2Nsay9tZXNvbi9LY29uZmlnCj4+Pj4gQEAgLTEwNywz ICsxMDcsMTMgQEAgY29uZmlnIENPTU1PTl9DTEtfRzEyQQo+Pj4+ICAgIAloZWxwCj4+Pj4gICAg CSAgU3VwcG9ydCBmb3IgdGhlIGNsb2NrIGNvbnRyb2xsZXIgb24gQW1sb2dpYyBTOTA1RDIsIFM5 MDVYMiBhbmQgUzkwNVkyCj4+Pj4gICAgCSAgZGV2aWNlcywgYWthIGcxMmEuIFNheSBZIGlmIHlv dSB3YW50IHBlcmlwaGVyYWxzIHRvIHdvcmsuCj4+Pj4gKwo+Pj4+ICtjb25maWcgQ09NTU9OX0NM S19BMQo+Pj4+ICsJYm9vbAo+Pj4+ICsJZGVwZW5kcyBvbiBBUkNIX01FU09OCj4+Pj4gKwlzZWxl Y3QgQ09NTU9OX0NMS19NRVNPTl9SRUdNQVAKPj4+PiArCXNlbGVjdCBDT01NT05fQ0xLX01FU09O X0RVQUxESVYKPj4+PiArCXNlbGVjdCBDT01NT05fQ0xLX01FU09OX1BMTAo+Pj4+ICsJaGVscAo+ Pj4+ICsJICBTdXBwb3J0IGZvciB0aGUgY2xvY2sgY29udHJvbGxlciBvbiBBbWxvZ2ljIEExMTNM IGRldmljZSwKPj4+PiArCSAgYWthIGExLiBTYXkgWSBpZiB5b3Ugd2FudCBwZXJpcGhlcmFscyB0 byB3b3JrLgo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9tZXNvbi9NYWtlZmlsZSBiL2Ry aXZlcnMvY2xrL21lc29uL01ha2VmaWxlCj4+Pj4gaW5kZXggMzkzOWYyMS4uNmJlM2E4ZiAxMDA2 NDQKPj4+PiAtLS0gYS9kcml2ZXJzL2Nsay9tZXNvbi9NYWtlZmlsZQo+Pj4+ICsrKyBiL2RyaXZl cnMvY2xrL21lc29uL01ha2VmaWxlCj4+Pj4gQEAgLTE5LDMgKzE5LDQgQEAgb2JqLSQoQ09ORklH X0NPTU1PTl9DTEtfQVhHX0FVRElPKSArPSBheGctYXVkaW8ubwo+Pj4+ICAgIG9iai0kKENPTkZJ R19DT01NT05fQ0xLX0dYQkIpICs9IGd4YmIubyBneGJiLWFvY2xrLm8KPj4+PiAgICBvYmotJChD T05GSUdfQ09NTU9OX0NMS19HMTJBKSArPSBnMTJhLm8gZzEyYS1hb2Nsay5vCj4+Pj4gICAgb2Jq LSQoQ09ORklHX0NPTU1PTl9DTEtfTUVTT044QikgKz0gbWVzb244Yi5vCj4+Pj4gK29iai0kKENP TkZJR19DT01NT05fQ0xLX0ExKSArPSBhMS5vCj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xr L21lc29uL2ExLmMgYi9kcml2ZXJzL2Nsay9tZXNvbi9hMS5jCj4+Pj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQKPj4+PiBpbmRleCAwMDAwMDAwLi4yNmVkYWUwZgo+Pj4+IC0tLSAvZGV2L251bGwKPj4+ PiArKysgYi9kcml2ZXJzL2Nsay9tZXNvbi9hMS5jCj4+Pj4gQEAgLTAsMCArMSwyNjE3IEBACj4+ Pj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMCsgT1IgTUlUKQo+Pj4+ICsv Kgo+Pj4+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTkgQW1sb2dpYywgSW5jLiBBbGwgcmlnaHRzIHJl c2VydmVkLgo+Pj4+ICsgKi8KPj4+PiArCj4+Pj4gKyNpbmNsdWRlIDxsaW51eC9jbGstcHJvdmlk ZXIuaD4KPj4+PiArI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KPj4+PiArI2luY2x1ZGUgPGxpbnV4 L29mX2RldmljZS5oPgo+Pj4+ICsjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+Cj4+ Pj4gKyNpbmNsdWRlIDxsaW51eC9vZl9hZGRyZXNzLmg+Cj4+Pj4gKyNpbmNsdWRlICJjbGstbXBs bC5oIgo+Pj4+ICsjaW5jbHVkZSAiY2xrLXBsbC5oIgo+Pj4+ICsjaW5jbHVkZSAiY2xrLXJlZ21h cC5oIgo+Pj4+ICsjaW5jbHVkZSAidmlkLXBsbC1kaXYuaCIKPj4+PiArI2luY2x1ZGUgImNsay1k dWFsZGl2LmgiCj4+Pj4gKyNpbmNsdWRlICJtZXNvbi1lZWNsay5oIgo+Pj4+ICsjaW5jbHVkZSAi YTEuaCIKPj4+PiArCj4+Pj4gKy8qIFBMTHMgY2xvY2sgaW4gZ2F0ZXMsIGl0cyBwYXJlbnQgaXMg eHRhbCAqLwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfeHRhbF9jbGt0cmVlID0g ewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+Pj4gKwkJ Lm9mZnNldCA9IFNZU19PU0NJTl9DVFJMLAo+Pj4+ICsJCS5iaXRfaWR4ID0gMCwKPj4+PiArCX0s Cj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4+PiArCQkubmFt ZSA9ICJ4dGFsX2Nsa3RyZWUiLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywK Pj4+PiArCQkucGFyZW50X2RhdGEgPSAmKGNvbnN0IHN0cnVjdCBjbGtfcGFyZW50X2RhdGEpIHsK Pj4+PiArCQkJLmZ3X25hbWUgPSAieHRhbCIsCj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVu dHMgPSAxLAo+Pj4+ICsJCS5mbGFncyA9IENMS19JU19DUklUSUNBTCwKPj4+Cj4+PiBJcyBDQ0Yg ZXZlbiBleHBlY3RlZCB0byB0b3VjaCB0aGlzIGV2ZXIgPyB3aGF0IGFib3V0IFJPIG9wcyA/Cj4+ PiBQbGVhc2UgcmV2aWV3IHlvdXIgb3RoZXIgY2xvY2tzIHdpdGggdGhpcyBpbiBtaW5kCj4+Pgo+ PiB0aGUgY2xvY2sgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGF0IHJ1bnRpbWUuY2xrX3JlZ21hcF9n YXRlX3JvX29wcwo+PiBpcyBhIGdvb2QgaWRlYS4gU2V0IFJPIG9wcyBhbmQgcmVtb3ZlIHRoZSBD TEtfSVNfQ1JJVElDQUwgZmxhZy4KPj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0 aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfeHRhbF9maXhwbGwgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYo c3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+PiArCQkub2Zmc2V0ID0gU1lTX09TQ0lO X0NUUkwsCj4+Pj4gKwkJLmJpdF9pZHggPSAxLAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0g JihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4+ICsJCS5uYW1lID0gInh0YWxfZml4cGxsIiwK Pj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+Pj4gKwkJLnBhcmVudF9kYXRh ID0gJihjb25zdCBzdHJ1Y3QgY2xrX3BhcmVudF9kYXRhKSB7Cj4+Pj4gKwkJCS5md19uYW1lID0g Inh0YWwiLAo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCQkuZmxh Z3MgPSBDTEtfSVNfQ1JJVElDQUwsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3Rh dGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3h0YWxfdXNiX3BoeSA9IHsKPj4+PiArCS5kYXRhID0g JihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQgPSBTWVNfT1ND SU5fQ1RSTCwKPj4+PiArCQkuYml0X2lkeCA9IDIsCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQg PSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+Pj4gKwkJLm5hbWUgPSAieHRhbF91c2JfcGh5 IiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+Pj4gKwkJLnBhcmVudF9k YXRhID0gJihjb25zdCBzdHJ1Y3QgY2xrX3BhcmVudF9kYXRhKSB7Cj4+Pj4gKwkJCS5md19uYW1l ID0gInh0YWwiLAo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCQku ZmxhZ3MgPSBDTEtfSVNfQ1JJVElDQUwsCj4+Pgo+Pj4gSG93IGlzIGFuIFVTQiBjbG9jayBjcml0 aWNhbCB0byB0aGUgc3lzdGVtID8KPj4+IFBsZWFzZSByZXZpZXcgeW91ciBvdGhlciBjbG9ja3Mg d2l0aCBjb21tZW50IGluIG1pbmQgLi4uCj4+IHRoZSB1c2IgY2xvY2sgZG9lcyBub3QgYWZmZWN0 IHRoZSBzeXN0ZW0sCj4+IHJlbW92ZSB0aGUgQ0xLX0lTX0NSSVRJQ0FMIGZsYWcKPj4+Cj4+Pj4g Kwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3h0 YWxfdXNiX2N0cmwgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9k YXRhKXsKPj4+PiArCQkub2Zmc2V0ID0gU1lTX09TQ0lOX0NUUkwsCj4+Pj4gKwkJLmJpdF9pZHgg PSAzLAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkg ewo+Pj4+ICsJCS5uYW1lID0gInh0YWxfdXNiX2N0cmwiLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3Jl Z21hcF9nYXRlX29wcywKPj4+PiArCQkucGFyZW50X2RhdGEgPSAmKGNvbnN0IHN0cnVjdCBjbGtf cGFyZW50X2RhdGEpIHsKPj4+PiArCQkJLmZ3X25hbWUgPSAieHRhbCIsCj4+Pj4gKwkJfSwKPj4+ PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJCS5mbGFncyA9IENMS19JU19DUklUSUNBTCwK Pj4+PiArCX0sCj4+Pj4gK307Cj4+IHRoZSB1c2IgY2xvY2sgZG9lcyBub3QgYWZmZWN0IHRoZSBz eXN0ZW0sCj4+IHJlbW92ZSB0aGUgQ0xLX0lTX0NSSVRJQ0FMIGZsYWcKPj4+PiArCj4+Pj4gK3N0 YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV94dGFsX2hpZmlwbGwgPSB7Cj4+Pj4gKwkuZGF0YSA9 ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+PiArCQkub2Zmc2V0ID0gU1lTX09T Q0lOX0NUUkwsCj4+Pj4gKwkJLmJpdF9pZHggPSA0LAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0 ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4+ICsJCS5uYW1lID0gInh0YWxfaGlmaXBs bCIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4+ICsJCS5wYXJlbnRf ZGF0YSA9ICYoY29uc3Qgc3RydWN0IGNsa19wYXJlbnRfZGF0YSkgewo+Pj4+ICsJCQkuZndfbmFt ZSA9ICJ4dGFsIiwKPj4+PiArCQl9LAo+Pj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+Pj4gKwkJ LmZsYWdzID0gQ0xLX0lTX0NSSVRJQ0FMLAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4gQ0xLX0lTX0NS SVRJQ0FMIGlzIG5lZWQgdG8gbG9jayBoaWZpIHBsbC4KPiAKPiBUaGF0J3Mgbm90IGhvdyBDQ0Yg d29ya3MsIHRoaXMgZmFsZyBpcyBub3Qgb2sgaGVyZS4KPiBDQ0Ygd2lsbCBlbmFibGUgdGhpcyBj bG9jayBiZWZvcmUgY2FsbGluZyBlbmFibGUgb24geW91ciBoaWZpIHBsbAo+IApva++8jCBJIHdp bGwgcmVtb3ZlIGl0Lgo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3h0 YWxfc3lzcGxsID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0 YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IFNZU19PU0NJTl9DVFJMLAo+Pj4+ICsJCS5iaXRfaWR4ID0g NSwKPj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsK Pj4+PiArCQkubmFtZSA9ICJ4dGFsX3N5c3BsbCIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFw X2dhdGVfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfZGF0YSA9ICYoY29uc3Qgc3RydWN0IGNsa19wYXJl bnRfZGF0YSkgewo+Pj4+ICsJCQkuZndfbmFtZSA9ICJ4dGFsIiwKPj4+PiArCQl9LAo+Pj4+ICsJ CS5udW1fcGFyZW50cyA9IDEsCj4+Pj4gKwkJLmZsYWdzID0gQ0xLX0lTX0NSSVRJQ0FMLAo+Pj4+ ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+IHdoZW4gQ1BVIGNsb2NrIGlzIGF0IGZpeGVkIGNsb2Nr LCBzeXMgcGxsCj4+IHdpbGwgYmUgZGlzYWJsZWQsIHh0YWxfc3lzcGxsIHdpbGwgYmUgZGlzYWJs ZWQgdG9vLgo+PiB3aGVuIHNldHRpbmcgc3lzIHBsbCwgY2FsbCBjbGtfc2V0X3JhdGUgdG8gbG9j awo+PiBzeXMgcGxsLCBhZGQgUk8gb3BzIHRvIGF2b2lkIGRpc2FibGluZyB0aGUgY2xvY2sKPiAK PiBBZ2FpbiBub3QgT2suCj4gSWYgeW91IG1lY2hhbmlzbSB0byBsb2NrIHRoZSBQTEwgaXMgcHJv cGVybHkgaW1wbGVtZW50ZWQgaW4gdGhlIGVuYWJsZQo+IGNhbGxiYWNrIG9mIHRoZSBzeXMgcGxs LCBzdGlsbCBraW5kIG9mIHdvcmsgYXJvdW5kIGFyZSBub3QgbmVlZGVkCj4gCj4gVGhpcyBoYXMg d29ya2VkIG9uIHRoZSBwbGwgd2UgaGFkIHNvIGZhci4KPiAKb2ssIEkgd2lsbCByZW1vdmUgaXQu Cj4+Cj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV94dGFsX2RkcyA9IHsKPj4+PiAr CS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQg PSBTWVNfT1NDSU5fQ1RSTCwKPj4+PiArCQkuYml0X2lkeCA9IDYsCj4+Pj4gKwl9LAo+Pj4+ICsJ Lmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+Pj4gKwkJLm5hbWUgPSAieHRh bF9kZHMiLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+PiArCQkucGFy ZW50X2RhdGEgPSAmKGNvbnN0IHN0cnVjdCBjbGtfcGFyZW50X2RhdGEpIHsKPj4+PiArCQkJLmZ3 X25hbWUgPSAieHRhbCIsCj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ ICsJCS5mbGFncyA9IENMS19JU19DUklUSUNBTCwKPj4+PiArCX0sCj4+Pj4gK307Cj4+IENMS19J U19DUklUSUNBTCBpcyBuZWVkIHRvIGxvY2sgZGRzCj4+Pj4gKwo+Pj4+ICsvKiBmaXhlZCBwbGwg PSAxNTM2TQo+Pj4+ICsgKgo+Pj4+ICsgKiBmaXhlZCBwbGwgLS0tLS0gZmNsa19kaXYyID0gNzY4 TQo+Pj4+ICsgKiAgICAgICAgICAgfAo+Pj4+ICsgKiAgICAgICAgICAgLS0tLS0gZmNsa19kaXYz ID0gNTEyTQo+Pj4+ICsgKiAgICAgICAgICAgfAo+Pj4+ICsgKiAgICAgICAgICAgLS0tLS0gZmNs a19kaXY1ID0gMzA3LjJNCj4+Pj4gKyAqICAgICAgICAgICB8Cj4+Pj4gKyAqICAgICAgICAgICAt LS0tLSBmY2xrX2RpdjcgPSAyMTkuNE0KPj4+PiArICovCj4+Pgo+Pj4gVGhlIGZyYW1ld29yayB3 aWxsIG1ha2UgdGhvc2UgY2FsY3VsYXRpb24gLi4uIHlvdSBjYW4gcmVtb3ZlIHRoaXMKPj4+Cj4+ IG9rLCBJIHdpbGwgcmVtb3RlIHRoZSBjb21tZW50Lgo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19y ZWdtYXAgYTFfZml4ZWRfcGxsX2RjbyA9IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgbWVzb25f Y2xrX3BsbF9kYXRhKXsKPj4+PiArCQkuZW4gPSB7Cj4+Pj4gKwkJCS5yZWdfb2ZmID0gQU5BQ1RS TF9GSVhQTExfQ1RSTDAsCj4+Pj4gKwkJCS5zaGlmdCAgID0gMjgsCj4+Pj4gKwkJCS53aWR0aCAg ID0gMSwKPj4+PiArCQl9LAo+Pj4+ICsJCS5tID0gewo+Pj4+ICsJCQkucmVnX29mZiA9IEFOQUNU UkxfRklYUExMX0NUUkwwLAo+Pj4+ICsJCQkuc2hpZnQgICA9IDAsCj4+Pj4gKwkJCS53aWR0aCAg ID0gOCwKPj4+PiArCQl9LAo+Pj4+ICsJCS5uID0gewo+Pj4+ICsJCQkucmVnX29mZiA9IEFOQUNU UkxfRklYUExMX0NUUkwwLAo+Pj4+ICsJCQkuc2hpZnQgICA9IDEwLAo+Pj4+ICsJCQkud2lkdGgg ICA9IDUsCj4+Pj4gKwkJfSwKPj4+PiArCQkuZnJhYyA9IHsKPj4+PiArCQkJLnJlZ19vZmYgPSBB TkFDVFJMX0ZJWFBMTF9DVFJMMSwKPj4+PiArCQkJLnNoaWZ0ICAgPSAwLAo+Pj4+ICsJCQkud2lk dGggICA9IDE5LAo+Pj4+ICsJCX0sCj4+Pj4gKwkJLmwgPSB7Cj4+Pj4gKwkJCS5yZWdfb2ZmID0g QU5BQ1RSTF9GSVhQTExfQ1RSTDAsCj4+Pj4gKwkJCS5zaGlmdCAgID0gMzEsCj4+Pj4gKwkJCS53 aWR0aCAgID0gMSwKPj4+PiArCQl9LAo+Pj4+ICsJCS5yc3QgPSB7Cj4+Pj4gKwkJCS5yZWdfb2Zm ID0gQU5BQ1RSTF9GSVhQTExfQ1RSTDAsCj4+Pj4gKwkJCS5zaGlmdCAgID0gMjksCj4+Pj4gKwkJ CS53aWR0aCAgID0gMSwKPj4+PiArCQl9LAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihz dHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUgPSAiZml4ZWRfcGxsX2RjbyIsCj4+ Pj4gKwkJLm9wcyA9ICZtZXNvbl9jbGtfcGxsX3JvX29wcywKPj4+PiArCQkucGFyZW50X2h3cyA9 IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFfeHRhbF9maXhwbGwuaHcK Pj4+PiArCQl9LAo+Pj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+ Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2ZpeGVkX3BsbCA9IHsKPj4+ PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+ICsJCS5vZmZz ZXQgPSBBTkFDVFJMX0ZJWFBMTF9DVFJMMCwKPj4+PiArCQkuYml0X2lkeCA9IDIwLAo+Pj4+ICsJ fSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4+ICsJCS5u YW1lID0gImZpeGVkX3BsbCIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+ Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4gKwkJ CSZhMV9maXhlZF9wbGxfZGNvLmh3Cj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAx LAo+Pj4+ICsJCS5mbGFncyA9IENMS19JR05PUkVfVU5VU0VELAo+Pj4+ICsJfSwKPj4+PiArfTsK Pj4+PiArCj4+Pj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcGxsX3BhcmFtc190YWJsZSBhMV9oaWZp X3BsbF9wYXJhbXNfdGFibGVbXSA9IHsKPj4+PiArCVBMTF9QQVJBTVMoMTI4LCA1KSwgLyogRENP ID0gNjE0LjRNICovCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJl Z19zZXF1ZW5jZSBhMV9oaWZpX2luaXRfcmVnc1tdID0gewo+Pj4+ICsJeyAucmVnID0gQU5BQ1RS TF9ISUZJUExMX0NUUkwxLAkuZGVmID0gMHgwMTgwMDAwMCB9LAo+Pj4+ICsJeyAucmVnID0gQU5B Q1RSTF9ISUZJUExMX0NUUkwyLAkuZGVmID0gMHgwMDAwMTEwMCB9LAo+Pj4+ICsJeyAucmVnID0g QU5BQ1RSTF9ISUZJUExMX0NUUkwzLAkuZGVmID0gMHgxMDAyMjIwMCB9LAo+Pj4+ICsJeyAucmVn ID0gQU5BQ1RSTF9ISUZJUExMX0NUUkw0LAkuZGVmID0gMHgwMDMwMTAwMCB9LAo+Pj4+ICsJeyAu cmVnID0gQU5BQ1RSTF9ISUZJUExMX0NUUkwwLCAuZGVmID0gMHgwMWYxOTQ4MCB9LAo+Pj4+ICsJ eyAucmVnID0gQU5BQ1RSTF9ISUZJUExMX0NUUkwwLCAuZGVmID0gMHgxMWYxOTQ4MCwgLmRlbGF5 X3VzID0gMTAgfSwKPj4+PiArCXsgLnJlZyA9IEFOQUNUUkxfSElGSVBMTF9DVFJMMCwJLmRlZiA9 IDB4MTVmMTE0ODAsIC5kZWxheV91cyA9IDQwIH0sCj4+Pj4gKwl7IC5yZWcgPSBBTkFDVFJMX0hJ RklQTExfQ1RSTDIsCS5kZWYgPSAweDAwMDAxMTQwIH0sCj4+Pj4gKwl7IC5yZWcgPSBBTkFDVFJM X0hJRklQTExfQ1RSTDIsCS5kZWYgPSAweDAwMDAxMTAwIH0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ ICsvKgo+Pj4+ICsgKiBUaGUgTWVzb24gQTEgSElGSSBQTEwgaXMgNjE0LjRNLCBpdCByZXF1aXJl cwo+Pj4+ICsgKiBhIHN0cmljdCByZWdpc3RlciBzZXF1ZW5jZSB0byBlbmFibGUgdGhlIFBMTC4K Pj4+PiArICogc2V0IG1lc29uX2Nsa19wY2llX3BsbF9vcHMgYXMgaXRzIG9wcwo+Pj4+ICsgKi8K Pj4+Cj4+PiBDb3VsZCB5b3UgZWxhYm9yYXRlIG9uIHRoaXMgPyBXaGF0IG5lZWQgdG8gYmUgZG9u ZSB0byBlbmFibGUgdGhlIGNsb2NrID8KPj4+IEFsc28gdGhlIEhJRkkgUExMIHVzZWQgdG8gYmUg YWJsZSB0byBkbyBhICpMT1QqIG9mIGRpZmZlcmVudCByYXRlIHdoaWNoCj4+PiBtaWdodCBiZSBk ZXNpcmFibGUgZm9yIGF1ZGlvIHVzZSBjYXNlLiBXaHkgaXMgdGhpcyBvbmUgcmVzdHJpY3RlZCB0 byBvbmUKPj4+IHBhcnRpY3VsYXIgcmF0ZSA/Cj4+Pgo+PiBUaGUgYXVkaW8gd29ya2luZyBmcmVx dWVuY3kgYXJlIDQ0LjFraHosIDQ4a2h6IGFuZCAxOTJraHouCj4+Cj4+IDYxNC40TSBjYW4gbWVl dCB0aGUgdGhyZWUgZnJlcXVlbmN5Lgo+Pgo+PiBhZnRlciB0aGUgaGlmaSBwbGwsIHRoZXJlIGFy ZSB0d28gZGl2aWRlcnMgaW4gQXVkaW8gY2xvY2suCj4+Cj4+IDYxNC40TS8zMjAwID0gMTkya2h6 Cj4+Cj4+IDYxNC40TS8xMjgwMCA9IDQ4a2h6Cj4+Cj4+IDYxNCw0TS8xMzkzMiA9IDQ0LjA5OTlr aHoKPiAKPiBJdCBkb2VzIG5vdCByZWFsbHkgYW5zd2VyIG15IHF1ZXN0aW9uIHRob3VnaC4KPiBZ b3UgYXJlIGxvY2tpbmcgYSB1c2UgY2FzZSBoZXJlLCB3aGljaCBpcyAzMiBiaXQgc2FtcGxlIHdp ZHRoCj4gCj4gV2UgaGF2ZSBvdGhlciBjb25zdHJhaW50IHdpdGggdGhlIHVwc3RyZWFtIGF1ZGlv IGRyaXZlciwgYW5kIHdlIHVzdWFsbHkKPiBsb29raW5nIGZvciBiYXNlIGZyZXF1ZW5jeSB0aGF0 IGEgbXVsdGlwbGUgb2YgNzY4ICgyNCozMikuCj4gCj4gSWYgeW91IG5lZWQgeW91ciBQTEwgdG8g YmUgc2V0IHRvIGEgcGFydGljdWxhciByYXRlIGZvciBhIHVzZSBjYXNlLCB0aGUKPiBjb3JyZWN0 IHdheSBpcyAiYXNzaWduZWQtcmF0ZSIgaW4gRFQKPiAKPiBzbyB0aGUgcXVlc3Rpb24gc3RpbGwg c3RhbmRzLCB0aGUgSElGSSBwbGwgYmVmb3JlIHdhcyBwcmV0dHkgZWFzeSB0byBzZXQKPiBhdCBh IHdpZGUgdmFyaWV0eSBvZiByYXRlIChzYW1lIGFzIEdQMCkgLi4uIGlzIGl0IG5vdCB0aGUgY2Fz ZSBhbnltb3JlID8KPiBJZiB5ZXMsIGNvdWxkIHlvdSBkZWNyaWJlIHRoZSBjb25zdHJhaW50cy4K PiAKPiBBbGwgdGhpcyB0b29rIHVzIGEgbG9uZyB0aW1lIHRvIGZpZ3VyZSBvdXQgb24gb3VyIG93 biwgd2hpY2ggaXMgd2h5IEknZAo+IHByZWZlciB0byBnZXQgdGhlIHByb3BlciBjb25zdHJhaW50 cyBpbiBmcm9tIHRoZSBiZWdpbm5pbmcgdGhpcyB0aW1lCj4gCm9rLCBJIHdpbGwgdmVyaWZ5IGl0 IGFuZCAgZGVzY3JpYmUgdGhlIGNvbnN0cmFpbnRzIGFib3V0IGl0Cj4gCj4+Cj4+Pj4gK3N0YXRp YyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9oaWZpX3BsbCA9IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1 Y3QgbWVzb25fY2xrX3BsbF9kYXRhKXsKPj4+PiArCQkuZW4gPSB7Cj4+Pj4gKwkJCS5yZWdfb2Zm ID0gQU5BQ1RSTF9ISUZJUExMX0NUUkwwLAo+Pj4+ICsJCQkuc2hpZnQgICA9IDI4LAo+Pj4+ICsJ CQkud2lkdGggICA9IDEsCj4+Pj4gKwkJfSwKPj4+PiArCQkubSA9IHsKPj4+PiArCQkJLnJlZ19v ZmYgPSBBTkFDVFJMX0hJRklQTExfQ1RSTDAsCj4+Pj4gKwkJCS5zaGlmdCAgID0gMCwKPj4+PiAr CQkJLndpZHRoICAgPSA4LAo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm4gPSB7Cj4+Pj4gKwkJCS5yZWdf b2ZmID0gQU5BQ1RSTF9ISUZJUExMX0NUUkwwLAo+Pj4+ICsJCQkuc2hpZnQgICA9IDEwLAo+Pj4+ ICsJCQkud2lkdGggICA9IDUsCj4+Pj4gKwkJfSwKPj4+PiArCQkuZnJhYyA9IHsKPj4+PiArCQkJ LnJlZ19vZmYgPSBBTkFDVFJMX0hJRklQTExfQ1RSTDEsCj4+Pj4gKwkJCS5zaGlmdCAgID0gMCwK Pj4+PiArCQkJLndpZHRoICAgPSAxOSwKPj4+PiArCQl9LAo+Pj4+ICsJCS5sID0gewo+Pj4+ICsJ CQkucmVnX29mZiA9IEFOQUNUUkxfSElGSVBMTF9TVFMsCj4+Pj4gKwkJCS5zaGlmdCAgID0gMzEs Cj4+Pj4gKwkJCS53aWR0aCAgID0gMSwKPj4+PiArCQl9LAo+Pj4+ICsJCS50YWJsZSA9IGExX2hp ZmlfcGxsX3BhcmFtc190YWJsZSwKPj4+PiArCQkuaW5pdF9yZWdzID0gYTFfaGlmaV9pbml0X3Jl Z3MsCj4+Pj4gKwkJLmluaXRfY291bnQgPSBBUlJBWV9TSVpFKGExX2hpZmlfaW5pdF9yZWdzKSwK Pj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4+ ICsJCS5uYW1lID0gImhpZmlfcGxsIiwKPj4+PiArCQkub3BzID0gJm1lc29uX2Nsa19wY2llX3Bs bF9vcHMsCj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsK Pj4+PiArCQkJJmExX3h0YWxfaGlmaXBsbC5odwo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJl bnRzID0gMSwKPj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNs a19maXhlZF9mYWN0b3IgYTFfZmNsa19kaXYyX2RpdiA9IHsKPj4+PiArCS5tdWx0ID0gMSwKPj4+ PiArCS5kaXYgPSAyLAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsK Pj4+PiArCQkubmFtZSA9ICJmY2xrX2RpdjJfZGl2IiwKPj4+PiArCQkub3BzID0gJmNsa19maXhl ZF9mYWN0b3Jfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcg KltdKSB7Cj4+Pj4gKwkJCSZhMV9maXhlZF9wbGwuaHcKPj4+PiArCQl9LAo+Pj4+ICsJCS5udW1f cGFyZW50cyA9IDEsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVj dCBjbGtfcmVnbWFwIGExX2ZjbGtfZGl2MiA9IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xr X3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQgPSBBTkFDVFJMX0ZJWFBMTF9DVFJM MCwKPj4+PiArCQkuYml0X2lkeCA9IDIxLAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihz dHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUgPSAiZmNsa19kaXYyIiwKPj4+PiAr CQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29u c3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+PiArCQkJJmExX2ZjbGtfZGl2Ml9kaXYuaHcKPj4+ PiArCQl9LAo+Pj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+Pj4gKwkJLyoKPj4+PiArCQkgKiBh ZGQgQ0xLX0lTX0NSSVRJQ0FMIGZsYWcgdG8gYXZvaWQgYmVpbmcgZGlzYWJsZWQgYnkgY2xrIGNv cmUKPj4+PiArCQkgKiBvciBpdHMgY2hpbGRyZW4gY2xvY2tzLgo+Pj4+ICsJCSAqLwo+Pj4KPj4+ IFRoZSBtZWFuaW5nIG9mIHRoaXMgZmxhZyBpcyBhbHJlYWR5IGRvY3VtZW50ZWQgaW4gY2xrLXBy b3ZpZGVyLmgKPj4+IFRoZSByZWFzb24gd2h5IHlvdSBuZWVkIHRoaXMgZmxhZyBpcyBsb3QgbW9y ZSBpbnRlcmVzdGluZyBoZXJlIC4uLgo+Pj4KPj4+IFNhbWUgYmVsb3cKPj4gb2ssIEkgd2lsbCBy ZXBsYWNlIG5ldyBjb21tZW50cyBoZXJlLgo+Pj4KPj4+PiArCQkuZmxhZ3MgPSBDTEtfSVNfQ1JJ VElDQUwsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtf Zml4ZWRfZmFjdG9yIGExX2ZjbGtfZGl2M19kaXYgPSB7Cj4+Pj4gKwkubXVsdCA9IDEsCj4+Pj4g KwkuZGl2ID0gMywKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+ Pj4gKwkJLm5hbWUgPSAiZmNsa19kaXYzX2RpdiIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfZml4ZWRf ZmFjdG9yX29wcywKPj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpb XSkgewo+Pj4+ICsJCQkmYTFfZml4ZWRfcGxsLmh3Cj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3Bh cmVudHMgPSAxLAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3Qg Y2xrX3JlZ21hcCBhMV9mY2xrX2RpdjMgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19y ZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+PiArCQkub2Zmc2V0ID0gQU5BQ1RSTF9GSVhQTExfQ1RSTDAs Cj4+Pj4gKwkJLmJpdF9pZHggPSAyMiwKPj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3Ry dWN0IGNsa19pbml0X2RhdGEpewo+Pj4+ICsJCS5uYW1lID0gImZjbGtfZGl2MyIsCj4+Pj4gKwkJ Lm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0 IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4gKwkJCSZhMV9mY2xrX2RpdjNfZGl2Lmh3Cj4+Pj4g KwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJCS8qCj4+Pj4gKwkJICogYWRk IENMS19JU19DUklUSUNBTCBmbGFnIHRvIGF2b2lkIGJlaW5nIGRpc2FibGVkIGJ5IGNsayBjb3Jl Cj4+Pj4gKwkJICogaXRzIGNoaWxkcmVuIGNsb2Nrcy4KPj4+PiArCQkgKi8KPj4+PiArCQkuZmxh Z3MgPSBDTEtfSVNfQ1JJVElDQUwsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3Rh dGljIHN0cnVjdCBjbGtfZml4ZWRfZmFjdG9yIGExX2ZjbGtfZGl2NV9kaXYgPSB7Cj4+Pj4gKwku bXVsdCA9IDEsCj4+Pj4gKwkuZGl2ID0gNSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xr X2luaXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUgPSAiZmNsa19kaXY1X2RpdiIsCj4+Pj4gKwkJLm9w cyA9ICZjbGtfZml4ZWRfZmFjdG9yX29wcywKPj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBz dHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFfZml4ZWRfcGxsLmh3Cj4+Pj4gKwkJfSwK Pj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4g K3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9mY2xrX2RpdjUgPSB7Cj4+Pj4gKwkuZGF0YSA9 ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+PiArCQkub2Zmc2V0ID0gQU5BQ1RS TF9GSVhQTExfQ1RSTDAsCj4+Pj4gKwkJLmJpdF9pZHggPSAyMywKPj4+PiArCX0sCj4+Pj4gKwku aHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4+ICsJCS5uYW1lID0gImZjbGtf ZGl2NSIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4+ICsJCS5wYXJl bnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4gKwkJCSZhMV9mY2xrX2Rp djVfZGl2Lmh3Cj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJCS8q Cj4+Pj4gKwkJICogYWRkIENMS19JU19DUklUSUNBTCBmbGFnIHRvIGF2b2lkIGJlaW5nIGRpc2Fi bGVkIGJ5IGNsayBjb3JlCj4+Pj4gKwkJICogaXRzIGNoaWxkcmVuIGNsb2Nrcy4KPj4+PiArCQkg Ki8KPj4+PiArCQkuZmxhZ3MgPSBDTEtfSVNfQ1JJVElDQUwsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+ Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfZml4ZWRfZmFjdG9yIGExX2ZjbGtfZGl2N19k aXYgPSB7Cj4+Pj4gKwkubXVsdCA9IDEsCj4+Pj4gKwkuZGl2ID0gNywKPj4+PiArCS5ody5pbml0 ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUgPSAiZmNsa19kaXY3X2Rp diIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfZml4ZWRfZmFjdG9yX29wcywKPj4+PiArCQkucGFyZW50 X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFfZml4ZWRfcGxs Lmh3Cj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJfSwKPj4+PiAr fTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9mY2xrX2RpdjcgPSB7 Cj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+PiArCQku b2Zmc2V0ID0gQU5BQ1RSTF9GSVhQTExfQ1RSTDAsCj4+Pj4gKwkJLmJpdF9pZHggPSAyMywKPj4+ PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4+ICsJ CS5uYW1lID0gImZjbGtfZGl2NyIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3Bz LAo+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4g KwkJCSZhMV9mY2xrX2RpdjdfZGl2Lmh3Cj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMg PSAxLAo+Pj4+ICsJCS8qCj4+Pj4gKwkJICogYWRkIENMS19JU19DUklUSUNBTCBmbGFnIHRvIGF2 b2lkIGJlaW5nIGRpc2FibGVkIGJ5IGNsayBjb3JlCj4+Pj4gKwkJICogb3IgaXRzIGNoaWxkcmVu IGNsb2NrLgo+Pj4+ICsJCSAqLwo+Pj4+ICsJCS5mbGFncyA9IENMS19JU19DUklUSUNBTCwKPj4+ PiArCX0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICsvKiBzeXMgY2xrID0gNjRNICovCj4+Pgo+Pj4g QWdhaW4gdGhpcyBjb21tZW50IGRvZXMgbm90IGhlbHAgdW5kZXJzdGFuZGluZyB0aGUgZHJpdmVy IGNvZGUsIHBsZWFzZQo+Pj4gcmVtb3ZlCj4+Pgo+PiBnb3QgaXQuCj4+Pj4gK3N0YXRpYyB1MzIg bXV4X3RhYmxlX3N5c19hYl9jbGtbXSA9IHsgMCwgMSwgMiwgM307Cj4+Pgo+Pj4gVGhpcyB0YWJs ZSBpcyB1c2VsZXNzCj4+Pgo+Pj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGNsa19wYXJlbnRfZGF0 YSBzeXNfYWJfY2xrX3BhcmVudF9kYXRhW10gPSB7Cj4+Pj4gKwl7IC5md19uYW1lID0gInh0YWwi LCB9LAo+Pj4+ICsJeyAuaHcgPSAmYTFfZmNsa19kaXYyLmh3IH0sCj4+Pj4gKwl7IC5odyA9ICZh MV9mY2xrX2RpdjMuaHcgfSwKPj4+PiArCXsgLmh3ID0gJmExX2ZjbGtfZGl2NS5odyB9LAo+Pj4+ ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3N5c19iX3NlbCA9 IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7Cj4+Pj4gKwkJ Lm9mZnNldCA9IFNZU19DTEtfQ1RSTDAsCj4+Pj4gKwkJLm1hc2sgPSAweDcsCj4+Pj4gKwkJLnNo aWZ0ID0gMjYsCj4+Pj4gKwkJLnRhYmxlID0gbXV4X3RhYmxlX3N5c19hYl9jbGssCj4+Pj4gKwl9 LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+PiArCQkubmFt ZSA9ICJzeXNfYl9zZWwiLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfcm9fb3BzLAo+ Pj4+ICsJCS5wYXJlbnRfZGF0YSA9IHN5c19hYl9jbGtfcGFyZW50X2RhdGEsCj4+Pj4gKwkJLm51 bV9wYXJlbnRzID0gQVJSQVlfU0laRShzeXNfYWJfY2xrX3BhcmVudF9kYXRhKSwKPj4+PiArCX0s Cj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfc3lzX2Jf ZGl2ID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2Rpdl9kYXRhKXsKPj4+ PiArCQkub2Zmc2V0ID0gU1lTX0NMS19DVFJMMCwKPj4+PiArCQkuc2hpZnQgPSAxNiwKPj4+PiAr CQkud2lkdGggPSAxMCwKPj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19p bml0X2RhdGEpewo+Pj4+ICsJCS5uYW1lID0gInN5c19iX2RpdiIsCj4+Pj4gKwkJLm9wcyA9ICZj bGtfcmVnbWFwX2RpdmlkZXJfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVj dCBjbGtfaHcgKltdKSB7Cj4+Pj4gKwkJCSZhMV9zeXNfYl9zZWwuaHcKPj4+PiArCQl9LAo+Pj4+ ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVO VCwKPj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdt YXAgYTFfc3lzX2IgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9k YXRhKXsKPj4+PiArCQkub2Zmc2V0ID0gU1lTX0NMS19DVFJMMCwKPj4+PiArCQkuYml0X2lkeCA9 IDI5LAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkg ewo+Pj4+ICsJCS5uYW1lID0gInN5c19iIiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0 ZV9vcHMsCj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsK Pj4+PiArCQkJJmExX3N5c19iX2Rpdi5odwo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRz ID0gMSwKPj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5UIHwgQ0xLX0lTX0NSSVRJ Q0FMLAo+Pj4KPj4+IFdoeSBkb2VzIHRoaXMgbmVlZCB0byBiZSBjcml0aWNhbCA/Cj4+PiBUaGUg YTFfc3lzX2NsayAobGVhZiBvZiB0aGUgYmxvY2spIGNvdWxkIHBvc3NpYmx5IGJlIGNyaXRpY2Fs IChpZiB5b3UKPj4+IGV4cGxhaW4gd2h5KSAuLi4gYnV0IHRoZSBmbGFnIHNob3VsZCBub3QgYmUg bmVlZGVkIGluIHRoZSBtaWRkbGUgb2YgdGhlCj4+PiBibG9jawo+Pj4KPj4gb2ssIHRoZSBhMV9z eXNfY2xrIHNob3VsZCBub3QgYmUgY2hhbmdlZCBhdCBydW50aW1lLCBpdCBpcyB0aGUgc2FtZSB3 aXRoCj4+IHRoZSBjbGs4MSBjbG9jayBpbiBHMTJBLiBKdXN0IHVzZSBhbm90aGVyIG5hbWUgaW4g QTEuCj4gCj4gVGhpcyBkb2VzIG5vdCBqdXN0aWZ5IHRoZSBjbG9jayB0byBiZSBjcml0aWNhbC4K PiAKPiAjMSBXaHkgY2FuJ3QgaXQgYmUgY2hhbmdlZCA/Cj4gIzIgQ0xLX0lTX0NSSVRJQ0FMIGRv ZXMgbm90IHNheSB0aGF0IGNsb2NrIGNhbid0IGNoYW5nZSwgaXQgc2F5cyBpdAo+ICAgICBjYW4n dCBnYXRlIC4uLiB0d28gZGlmZmVyZW50IHRoaW5ncwo+IAo+IApERFIgY2xvY2sncyBwYXJlbnQg Y2xjb2sgaXMgZmNsa19kaXYyLCBJdCBjYW4gbm90IGJlIGdhdGVkLkkgd2lsbCBhZGQKYWRkIGNv bW1pdHMuCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtf cmVnbWFwIGExX3N5c19hX3NlbCA9IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21h cF9tdXhfZGF0YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IFNZU19DTEtfQ1RSTDAsCj4+Pj4gKwkJLm1h c2sgPSAweDcsCj4+Pj4gKwkJLnNoaWZ0ID0gMTAsCj4+Pj4gKwkJLnRhYmxlID0gbXV4X3RhYmxl X3N5c19hYl9jbGssCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5p dF9kYXRhKXsKPj4+PiArCQkubmFtZSA9ICJzeXNfYV9zZWwiLAo+Pj4+ICsJCS5vcHMgPSAmY2xr X3JlZ21hcF9tdXhfcm9fb3BzLAo+Pj4+ICsJCS5wYXJlbnRfZGF0YSA9IHN5c19hYl9jbGtfcGFy ZW50X2RhdGEsCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gQVJSQVlfU0laRShzeXNfYWJfY2xrX3Bh cmVudF9kYXRhKSwKPj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0 IGNsa19yZWdtYXAgYTFfc3lzX2FfZGl2ID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtf cmVnbWFwX2Rpdl9kYXRhKXsKPj4+PiArCQkub2Zmc2V0ID0gU1lTX0NMS19DVFJMMCwKPj4+PiAr CQkuc2hpZnQgPSAwLAo+Pj4+ICsJCS53aWR0aCA9IDEwLAo+Pj4+ICsJfSwKPj4+PiArCS5ody5p bml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUgPSAic3lzX2FfZGl2 IiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZGl2aWRlcl9vcHMsCj4+Pj4gKwkJLnBhcmVu dF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+PiArCQkJJmExX3N5c19hX3Nl bC5odwo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCQkuZmxhZ3Mg PSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gK3N0 YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9zeXNfYSA9IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1 Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQgPSBTWVNfQ0xLX0NUUkww LAo+Pj4+ICsJCS5iaXRfaWR4ID0gMTMsCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0 cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+Pj4gKwkJLm5hbWUgPSAic3lzX2EiLAo+Pj4+ICsJCS5v cHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBz dHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFfc3lzX2FfZGl2Lmh3Cj4+Pj4gKwkJfSwK Pj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9Q QVJFTlQgfCBDTEtfSVNfQ1JJVElDQUwsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiAr c3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3N5c19jbGsgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYo c3RydWN0IGNsa19yZWdtYXBfbXV4X2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQgPSBTWVNfQ0xLX0NU UkwwLAo+Pj4+ICsJCS5tYXNrID0gMHgxLAo+Pj4+ICsJCS5zaGlmdCA9IDMxLAo+Pj4+ICsJfSwK Pj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUg PSAic3lzX2NsayIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX211eF9yb19vcHMsCj4+Pj4g KwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+PiArCQkJJmEx X3N5c19hLmh3LCAmYTFfc3lzX2IuaHcsCj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMg PSAyLAo+Pj4KPj4+IFNFVF9SQVRFX1BBUkVOVCA/Cj4+Pgo+PiB0aGUgb3BzIGlzIFJPLCBNYXli ZSBubyBmbGFnIGlzIGJldHRlci4KPiAKPiBJcyBSTyBmb3Igbm93IGJ1dCBzZXR0aW5nIHRoZSBy YXRlIHByb3BhZ2F0aW9uIHByb3Blcmx5IGZyb210IHRoZQo+IGJlZ2lubmluZyBpcyBwcmVmZXJy ZWQuCj4gCj4gSW4gZ2VuZXJhbCwgeW91IHNob3VsZCBoYXZlIFNFVF9SQVRFX1BBUkVOVCBldmVy eXdoZXJlIHVubGVzcyB0aGVyZSBpcyBhCj4gcmVhc29uIHRvIHN0b3AgdGhlIHJhdGUgcHJvcGFn YXRpb24uCj4gCk9LLCBrZWVwIFNFVF9SQVRFX1BBUkVOVCBoZXJlCj4+Pj4gKwl9LAo+Pj4+ICt9 Owo+Pj4+ICsKPj4+PiArLyogcnRjIDMyayBjbG9jayBpbiAqLwo+Pj4+ICtzdGF0aWMgc3RydWN0 IGNsa19yZWdtYXAgYTFfcnRjXzMya19jbGtpbiA9IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3Qg Y2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQgPSBSVENfQllfT1NDSU5fQ1RS TDAsCj4+Pj4gKwkJLmJpdF9pZHggPSAzMSwKPj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYo c3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4+PiArCQkubmFtZSA9ICJydGNfMzJrX2Nsa2luIiwK Pj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+Pj4gKwkJLnBhcmVudF9kYXRh ID0gJihjb25zdCBzdHJ1Y3QgY2xrX3BhcmVudF9kYXRhKSB7Cj4+Pj4gKwkJCS5md19uYW1lID0g Inh0YWwiLAo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCX0sCj4+ Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG1lc29uX2Nsa19kdWFsZGl2 X3BhcmFtIGExXzMya19kaXZfdGFibGVbXSA9IHsKPj4+PiArCXsKPj4+PiArCQkuZHVhbAkJPSAx LAo+Pj4+ICsJCS5uMQkJPSA3MzMsCj4+Pj4gKwkJLm0xCQk9IDgsCj4+Pj4gKwkJLm4yCQk9IDcz MiwKPj4+PiArCQkubTIJCT0gMTEsCj4+Pj4gKwl9LCB7fQo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiAr c3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3J0Y18zMmtfZGl2ID0gewo+Pj4+ICsJLmRhdGEg PSAmKHN0cnVjdCBtZXNvbl9jbGtfZHVhbGRpdl9kYXRhKXsKPj4+PiArCQkubjEgPSB7Cj4+Pj4g KwkJCS5yZWdfb2ZmID0gUlRDX0JZX09TQ0lOX0NUUkwwLAo+Pj4+ICsJCQkuc2hpZnQgICA9IDAs Cj4+Pj4gKwkJCS53aWR0aCAgID0gMTIsCj4+Pj4gKwkJfSwKPj4+PiArCQkubjIgPSB7Cj4+Pj4g KwkJCS5yZWdfb2ZmID0gUlRDX0JZX09TQ0lOX0NUUkwwLAo+Pj4+ICsJCQkuc2hpZnQgICA9IDEy LAo+Pj4+ICsJCQkud2lkdGggICA9IDEyLAo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm0xID0gewo+Pj4+ ICsJCQkucmVnX29mZiA9IFJUQ19CWV9PU0NJTl9DVFJMMSwKPj4+PiArCQkJLnNoaWZ0ICAgPSAw LAo+Pj4+ICsJCQkud2lkdGggICA9IDEyLAo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm0yID0gewo+Pj4+ ICsJCQkucmVnX29mZiA9IFJUQ19CWV9PU0NJTl9DVFJMMSwKPj4+PiArCQkJLnNoaWZ0ICAgPSAx MiwKPj4+PiArCQkJLndpZHRoICAgPSAxMiwKPj4+PiArCQl9LAo+Pj4+ICsJCS5kdWFsID0gewo+ Pj4+ICsJCQkucmVnX29mZiA9IFJUQ19CWV9PU0NJTl9DVFJMMCwKPj4+PiArCQkJLnNoaWZ0ICAg PSAyOCwKPj4+PiArCQkJLndpZHRoICAgPSAxLAo+Pj4+ICsJCX0sCj4+Pj4gKwkJLnRhYmxlID0g YTFfMzJrX2Rpdl90YWJsZSwKPj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNs a19pbml0X2RhdGEpewo+Pj4+ICsJCS5uYW1lID0gInJ0Y18zMmtfZGl2IiwKPj4+PiArCQkub3Bz ID0gJm1lc29uX2Nsa19kdWFsZGl2X29wcywKPj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBz dHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFfcnRjXzMya19jbGtpbi5odwo+Pj4+ICsJ CX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4gKwo+ Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfcnRjXzMya194dGFsID0gewo+Pj4+ICsJ LmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+Pj4gKwkJLm9mZnNldCA9 IFJUQ19CWV9PU0NJTl9DVFJMMSwKPj4+PiArCQkuYml0X2lkeCA9IDI0LAo+Pj4+ICsJfSwKPj4+ PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4+ICsJCS5uYW1lID0g InJ0Y18zMmtfeHRhbCIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4+ ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4gKwkJCSZh MV9ydGNfMzJrX2Nsa2luLmh3Cj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+ Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRpYyB1MzIgcnRjXzMya19zZWxbXSA9 IHsgMCwgMSB9Owo+Pj4KPj4+IHVzZWxlc3MKPj4+Cj4+IG9rLCBJIHdpbGwgZGVsZXRlIHRoZSB0 YWJsZS4KPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9ydGNfMzJrX3Nl bCA9IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSkgewo+Pj4+ ICsJCS5vZmZzZXQgPSBSVENfQ1RSTCwKPj4+PiArCQkubWFzayA9IDB4MywKPj4+PiArCQkuc2hp ZnQgPSAwLAo+Pj4+ICsJCS50YWJsZSA9IHJ0Y18zMmtfc2VsLAo+Pj4+ICsJCS5mbGFncyA9IENM S19NVVhfUk9VTkRfQ0xPU0VTVCwKPj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0 IGNsa19pbml0X2RhdGEpewo+Pj4+ICsJCS5uYW1lID0gInJ0Y18zMmtfc2VsIiwKPj4+PiArCQku b3BzID0gJmNsa19yZWdtYXBfbXV4X29wcywKPj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBz dHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFfcnRjXzMya194dGFsLmh3LAo+Pj4+ICsJ CQkmYTFfcnRjXzMya19kaXYuaHcsCj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAy LAo+Pj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQsCj4+Pj4gKwl9LAo+Pj4+ICt9 Owo+Pj4+ICsKPj4+PiArc3RydWN0IGNsa19yZWdtYXAgYTFfcnRjX2NsayA9IHsKPj4+PiArCS5k YXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQgPSBS VENfQllfT1NDSU5fQ1RSTDAsCj4+Pj4gKwkJLmJpdF9pZHggPSAzMCwKPj4+PiArCX0sCj4+Pj4g KwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4+ICsJCS5uYW1lID0gInJ0 Y19jbGsiLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+PiArCQkucGFy ZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFfcnRjXzMy a19zZWwuaHcKPj4+PiArCQl9LAo+Pj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+Pj4gKwkJLmZs YWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ ICsvKiBkc3AgYSBjbGsgKi8KPj4+PiArc3RhdGljIHUzMiBtdXhfdGFibGVfZHNwX2FiW10gPSB7 IDAsIDEsIDIsIDMsIDQsIDcgfTsKPj4+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBjbGtfcGFyZW50 X2RhdGEgZHNwX2FiX2Nsa19wYXJlbnRfZGF0YVtdID0gewo+Pj4+ICsJeyAuZndfbmFtZSA9ICJ4 dGFsIiwgfSwKPj4+PiArCXsgLmh3ID0gJmExX2ZjbGtfZGl2Mi5odyB9LAo+Pj4+ICsJeyAuaHcg PSAmYTFfZmNsa19kaXYzLmh3IH0sCj4+Pj4gKwl7IC5odyA9ICZhMV9mY2xrX2RpdjUuaHcgfSwK Pj4+PiArCXsgLmh3ID0gJmExX2hpZmlfcGxsLmh3IH0sCj4+Pj4gKwl7IC5odyA9ICZhMV9ydGNf Y2xrLmh3IH0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAg YTFfZHNwYV9hX3NlbCA9IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhf ZGF0YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IERTUEFfQ0xLX0NUUkwwLAo+Pj4+ICsJCS5tYXNrID0g MHg3LAo+Pj4+ICsJCS5zaGlmdCA9IDEwLAo+Pj4+ICsJCS50YWJsZSA9IG11eF90YWJsZV9kc3Bf YWIsCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsK Pj4+PiArCQkubmFtZSA9ICJkc3BhX2Ffc2VsIiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBf bXV4X29wcywKPj4+PiArCQkucGFyZW50X2RhdGEgPSBkc3BfYWJfY2xrX3BhcmVudF9kYXRhLAo+ Pj4+ICsJCS5udW1fcGFyZW50cyA9IEFSUkFZX1NJWkUoZHNwX2FiX2Nsa19wYXJlbnRfZGF0YSks Cj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFw IGExX2RzcGFfYV9kaXYgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZGl2 X2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQgPSBEU1BBX0NMS19DVFJMMCwKPj4+PiArCQkuc2hpZnQg PSAwLAo+Pj4+ICsJCS53aWR0aCA9IDEwLAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihz dHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUgPSAiZHNwYV9hX2RpdiIsCj4+Pj4g KwkJLm9wcyA9ICZjbGtfcmVnbWFwX2RpdmlkZXJfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfaHdzID0g KGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4gKwkJCSZhMV9kc3BhX2Ffc2VsLmh3Cj4+ Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJCS5mbGFncyA9IENMS19T RVRfUkFURV9QQVJFTlQsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0 cnVjdCBjbGtfcmVnbWFwIGExX2RzcGFfYSA9IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xr X3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQgPSBEU1BBX0NMS19DVFJMMCwKPj4+ PiArCQkuYml0X2lkeCA9IDEzLAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3Qg Y2xrX2luaXRfZGF0YSkgewo+Pj4+ICsJCS5uYW1lID0gImRzcGFfYSIsCj4+Pj4gKwkJLm9wcyA9 ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVj dCBjbGtfaHcgKltdKSB7Cj4+Pj4gKwkJCSZhMV9kc3BhX2FfZGl2Lmh3Cj4+Pj4gKwkJfSwKPj4+ PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJF TlQgfCBDTEtfSUdOT1JFX1VOVVNFRCwKPj4+Cj4+PiBUaGlzIENMS19JR05PUkVfVU5VU0VELCBp ZiBqdXN0aWZpZWQsIG5lZWRzIHRvIGJlIGV4cGxhaW5lZAo+Pj4KPj4gb2ssIERTUCBjb3dvcmsg d2l0aGUgQVJNIGluIEExLCBkc3AgY2xvY2sgc2hvdWQgbm90IGJlIGNoYW5nZWQgYXQKPj4gcnVu dGltZS4KPiAKPiAjMTogVU5VU0VEIG9ubHkgZ3VhcmFudGVlIHRoYXQgdGhlIGNsb2NrIHdvbid0 IGJlIGdhdGVkIGluIHRoZSBsYXRlIGluaXQKPiAgIGlmLiBObyBndWFyYW50ZWUgd2hhdHNvZXZl ciBhZnRlciB0aGF0Lgo+ICMyOiBJZiB5b3UgaGF2ZSBhIERTUCB0aGF0IG5lZWQgYSBjbG9jayBh Y3RpdmUgYXQgcGFydGljdWxhciByYXRlLCB3cml0ZQo+ICAgYSBkcml2ZXIgZm9yIGl0IGFuZCB1 c2UgdGhlIGNsb2NrIEFQSS4gRG9uJ3QgdGhyb3cgeW91ciB1c2UgY2FzZQo+ICAgY29uc3RyYWlu dHMgaW4gdGhlIHRyZWUgZGVmLgo+IAo+IFBsZWFzZSByZXZpZXcgYWxsIG9jY3VycmVuY2VzIG9m IENSSVRJQ0FMLCBSTywgSUdOT1JFX1VOVVNFRCBiZWZvcmUKPiBzZW5kaW5nIGEgdjIuCj4gClll cywgRHNwIHJlbGF0ZWQgZHJpdmVyIHNob3VsZCBlbmFibGUgdGhlIGNsb2NrIGl0c3NlbGYsIHJl bW92ZSAKQ0xLX0lHTk9SRV9VTlVTRUQKPj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtz dGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNwYV9iX3NlbCA9IHsKPj4+PiArCS5kYXRhID0g JihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IERTUEFfQ0xL X0NUUkwwLAo+Pj4+ICsJCS5tYXNrID0gMHg3LAo+Pj4+ICsJCS5zaGlmdCA9IDI2LAo+Pj4+ICsJ CS50YWJsZSA9IG11eF90YWJsZV9kc3BfYWIsCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAm KHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+PiArCQkubmFtZSA9ICJkc3BhX2Jfc2VsIiwKPj4+ PiArCQkub3BzID0gJmNsa19yZWdtYXBfbXV4X29wcywKPj4+PiArCQkucGFyZW50X2RhdGEgPSBk c3BfYWJfY2xrX3BhcmVudF9kYXRhLAo+Pj4+ICsJCS5udW1fcGFyZW50cyA9IEFSUkFZX1NJWkUo ZHNwX2FiX2Nsa19wYXJlbnRfZGF0YSksCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiAr c3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2RzcGFfYl9kaXYgPSB7Cj4+Pj4gKwkuZGF0YSA9 ICYoc3RydWN0IGNsa19yZWdtYXBfZGl2X2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQgPSBEU1BBX0NM S19DVFJMMCwKPj4+PiArCQkuc2hpZnQgPSAxNiwKPj4+PiArCQkud2lkdGggPSAxMCwKPj4+PiAr CX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4+ICsJCS5u YW1lID0gImRzcGFfYl9kaXYiLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9kaXZpZGVyX29w cywKPj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ ICsJCQkmYTFfZHNwYV9iX3NlbC5odwo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0g MSwKPj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4+ICsJfSwKPj4+PiAr fTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kc3BhX2IgPSB7Cj4+ Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+PiArCQkub2Zm c2V0ID0gRFNQQV9DTEtfQ1RSTDAsCj4+Pj4gKwkJLmJpdF9pZHggPSAyOSwKPj4+PiArCX0sCj4+ Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4+PiArCQkubmFtZSA9 ICJkc3BhX2IiLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+PiArCQku cGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFfZHNw YV9iX2Rpdi5odwo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCQku ZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5UIHwgQ0xLX0lHTk9SRV9VTlVTRUQsCj4+Pj4gKwl9 LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2RzcGFf c2VsID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX211eF9kYXRhKXsKPj4+ PiArCQkub2Zmc2V0ID0gRFNQQV9DTEtfQ1RSTDAsCj4+Pj4gKwkJLm1hc2sgPSAweDEsCj4+Pj4g KwkJLnNoaWZ0ID0gMTUsCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtf aW5pdF9kYXRhKXsKPj4+PiArCQkubmFtZSA9ICJkc3BhX3NlbCIsCj4+Pj4gKwkJLm9wcyA9ICZj bGtfcmVnbWFwX211eF9vcHMsCj4+Pj4gKwkJLnBhcmVudF9kYXRhID0gKGNvbnN0IHN0cnVjdCBj bGtfcGFyZW50X2RhdGEgW10pIHsKPj4+PiArCQkJeyAuaHcgPSAmYTFfZHNwYV9hLmh3IH0sCj4+ Pj4gKwkJCXsgLmh3ID0gJmExX2RzcGFfYi5odyB9LAo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9w YXJlbnRzID0gMiwKPj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4+ICsJ fSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kc3Bh X2VuX2RzcGEgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRh KXsKPj4+PiArCQkub2Zmc2V0ID0gRFNQQV9DTEtfRU4sCj4+Pj4gKwkJLmJpdF9pZHggPSAxLAo+ Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4+ ICsJCS5uYW1lID0gImRzcGFfZW5fZHNwYSIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dh dGVfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7 Cj4+Pj4gKwkJCSZhMV9kc3BhX3NlbC5odwo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRz ID0gMSwKPj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5UIHwgQ0xLX0lHTk9SRV9V TlVTRUQsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtf cmVnbWFwIGExX2RzcGFfZW5fbmljID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVn bWFwX2dhdGVfZGF0YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IERTUEFfQ0xLX0VOLAo+Pj4+ICsJCS5i aXRfaWR4ID0gMCwKPj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0 X2RhdGEpIHsKPj4+PiArCQkubmFtZSA9ICJkc3BhX2VuX25pYyIsCj4+Pj4gKwkJLm9wcyA9ICZj bGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBj bGtfaHcgKltdKSB7Cj4+Pj4gKwkJCSZhMV9kc3BhX3NlbC5odwo+Pj4+ICsJCX0sCj4+Pj4gKwkJ Lm51bV9wYXJlbnRzID0gMSwKPj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5UIHwg Q0xLX0lHTk9SRV9VTlVTRUQsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArLyogZHNw IGIgY2xrICovCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kc3BiX2Ffc2VsID0g ewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX211eF9kYXRhKXsKPj4+PiArCQku b2Zmc2V0ID0gRFNQQl9DTEtfQ1RSTDAsCj4+Pj4gKwkJLm1hc2sgPSAweDcsCj4+Pj4gKwkJLnNo aWZ0ID0gMTAsCj4+Pj4gKwkJLnRhYmxlID0gbXV4X3RhYmxlX2RzcF9hYiwKPj4+PiArCX0sCj4+ Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4+ICsJCS5uYW1lID0g ImRzcGJfYV9zZWwiLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+Pj4+ICsJ CS5wYXJlbnRfZGF0YSA9IGRzcF9hYl9jbGtfcGFyZW50X2RhdGEsCj4+Pj4gKwkJLm51bV9wYXJl bnRzID0gQVJSQVlfU0laRShkc3BfYWJfY2xrX3BhcmVudF9kYXRhKSwKPj4+PiArCX0sCj4+Pj4g K307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNwYl9hX2RpdiA9 IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9kaXZfZGF0YSl7Cj4+Pj4gKwkJ Lm9mZnNldCA9IERTUEJfQ0xLX0NUUkwwLAo+Pj4+ICsJCS5zaGlmdCA9IDAsCj4+Pj4gKwkJLndp ZHRoID0gMTAsCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9k YXRhKXsKPj4+PiArCQkubmFtZSA9ICJkc3BiX2FfZGl2IiwKPj4+PiArCQkub3BzID0gJmNsa19y ZWdtYXBfZGl2aWRlcl9vcHMsCj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNs a19odyAqW10pIHsKPj4+PiArCQkJJmExX2RzcGJfYV9zZWwuaHcKPj4+PiArCQl9LAo+Pj4+ICsJ CS5udW1fcGFyZW50cyA9IDEsCj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwK Pj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAg YTFfZHNwYl9hID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0 YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IERTUEJfQ0xLX0NUUkwwLAo+Pj4+ICsJCS5iaXRfaWR4ID0g MTMsCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7 Cj4+Pj4gKwkJLm5hbWUgPSAiZHNwYl9hIiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0 ZV9vcHMsCj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsK Pj4+PiArCQkJJmExX2RzcGJfYV9kaXYuaHcKPj4+PiArCQl9LAo+Pj4+ICsJCS5udW1fcGFyZW50 cyA9IDEsCj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCB8IENMS19JR05PUkVf VU5VU0VELAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xr X3JlZ21hcCBhMV9kc3BiX2Jfc2VsID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVn bWFwX211eF9kYXRhKXsKPj4+PiArCQkub2Zmc2V0ID0gRFNQQl9DTEtfQ1RSTDAsCj4+Pj4gKwkJ Lm1hc2sgPSAweDcsCj4+Pj4gKwkJLnNoaWZ0ID0gMjYsCj4+Pj4gKwkJLnRhYmxlID0gbXV4X3Rh YmxlX2RzcF9hYiwKPj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0 X2RhdGEpewo+Pj4+ICsJCS5uYW1lID0gImRzcGJfYl9zZWwiLAo+Pj4+ICsJCS5vcHMgPSAmY2xr X3JlZ21hcF9tdXhfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfZGF0YSA9IGRzcF9hYl9jbGtfcGFyZW50 X2RhdGEsCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gQVJSQVlfU0laRShkc3BfYWJfY2xrX3BhcmVu dF9kYXRhKSwKPj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNs a19yZWdtYXAgYTFfZHNwYl9iX2RpdiA9IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3Jl Z21hcF9kaXZfZGF0YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IERTUEJfQ0xLX0NUUkwwLAo+Pj4+ICsJ CS5zaGlmdCA9IDE2LAo+Pj4+ICsJCS53aWR0aCA9IDEwLAo+Pj4+ICsJfSwKPj4+PiArCS5ody5p bml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUgPSAiZHNwYl9iX2Rp diIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2RpdmlkZXJfb3BzLAo+Pj4+ICsJCS5wYXJl bnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4gKwkJCSZhMV9kc3BiX2Jf c2VsLmh3Cj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJCS5mbGFn cyA9IENMS19TRVRfUkFURV9QQVJFTlQsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiAr c3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2RzcGJfYiA9IHsKPj4+PiArCS5kYXRhID0gJihz dHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQgPSBEU1BCX0NMS19D VFJMMCwKPj4+PiArCQkuYml0X2lkeCA9IDI5LAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0g JihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4+ICsJCS5uYW1lID0gImRzcGJfYiIsCj4+Pj4g KwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNv bnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4gKwkJCSZhMV9kc3BiX2JfZGl2Lmh3Cj4+Pj4g KwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJCS5mbGFncyA9IENMS19TRVRf UkFURV9QQVJFTlQgfCBDTEtfSUdOT1JFX1VOVVNFRCwKPj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4g Kwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNwYl9zZWwgPSB7Cj4+Pj4gKwku ZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfbXV4X2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQgPSBE U1BCX0NMS19DVFJMMCwKPj4+PiArCQkubWFzayA9IDB4MSwKPj4+PiArCQkuc2hpZnQgPSAxNSwK Pj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4+ ICsJCS5uYW1lID0gImRzcGJfc2VsIiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfbXV4X29w cywKPj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ ICsJCQkmYTFfZHNwYl9hLmh3LCAmYTFfZHNwYl9iLmh3LAo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51 bV9wYXJlbnRzID0gMiwKPj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4+ ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9k c3BiX2VuX2RzcGIgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9k YXRhKXsKPj4+PiArCQkub2Zmc2V0ID0gRFNQQl9DTEtfRU4sCj4+Pj4gKwkJLmJpdF9pZHggPSAx LAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+ Pj4+ICsJCS5uYW1lID0gImRzcGJfZW5fZHNwYiIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFw X2dhdGVfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltd KSB7Cj4+Pj4gKwkJCSZhMV9kc3BiX3NlbC5odwo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJl bnRzID0gMSwKPj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5UIHwgQ0xLX0lHTk9S RV9VTlVTRUQsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBj bGtfcmVnbWFwIGExX2RzcGJfZW5fbmljID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtf cmVnbWFwX2dhdGVfZGF0YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IERTUEJfQ0xLX0VOLAo+Pj4+ICsJ CS5iaXRfaWR4ID0gMCwKPj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19p bml0X2RhdGEpIHsKPj4+PiArCQkubmFtZSA9ICJkc3BiX2VuX25pYyIsCj4+Pj4gKwkJLm9wcyA9 ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVj dCBjbGtfaHcgKltdKSB7Cj4+Pj4gKwkJCSZhMV9kc3BiX3NlbC5odwo+Pj4+ICsJCX0sCj4+Pj4g KwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5U IHwgQ0xLX0lHTk9SRV9VTlVTRUQsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArLyog MTJNLzI0TSBjbG9jayAqLwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfMjRtID0g ewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+Pj4gKwkJ Lm9mZnNldCA9IENMSzEyXzI0X0NUUkwsCj4+Pj4gKwkJLmJpdF9pZHggPSAxMSwKPj4+PiArCX0s Cj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4+PiArCQkubmFt ZSA9ICIyNG0iLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+PiArCQku cGFyZW50X2RhdGEgPSAmKGNvbnN0IHN0cnVjdCBjbGtfcGFyZW50X2RhdGEpIHsKPj4+PiArCQkJ LmZ3X25hbWUgPSAieHRhbCIsCj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+ Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX2ZpeGVkX2Zh Y3RvciBhMV8yNG1fZGl2MiA9IHsKPj4+PiArCS5tdWx0ID0gMSwKPj4+PiArCS5kaXYgPSAyLAo+ Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+PiArCQkubmFtZSA9 ICIyNG1fZGl2MiIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfZml4ZWRfZmFjdG9yX29wcywKPj4+PiAr CQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFf MjRtLmh3Cj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJfSwKPj4+ PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV8xMm0gPSB7Cj4+ Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+PiArCQkub2Zm c2V0ID0gQ0xLMTJfMjRfQ1RSTCwKPj4+PiArCQkuYml0X2lkeCA9IDEwLAo+Pj4+ICsJfSwKPj4+ PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4+ICsJCS5uYW1lID0g IjEybSIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4+ICsJCS5wYXJl bnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4gKwkJCSZhMV8yNG1fZGl2 Mi5odwo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCX0sCj4+Pj4g K307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZmNsa19kaXYyX2Rp dm5fcHJlID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2Rpdl9kYXRhKXsK Pj4+PiArCQkub2Zmc2V0ID0gQ0xLMTJfMjRfQ1RSTCwKPj4+PiArCQkuc2hpZnQgPSAwLAo+Pj4+ ICsJCS53aWR0aCA9IDgsCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtf aW5pdF9kYXRhKXsKPj4+PiArCQkubmFtZSA9ICJmY2xrX2RpdjJfZGl2bl9wcmUiLAo+Pj4+ICsJ CS5vcHMgPSAmY2xrX3JlZ21hcF9kaXZpZGVyX29wcywKPj4+PiArCQkucGFyZW50X2h3cyA9IChj b25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFfZmNsa19kaXYyLmh3Cj4+Pj4g KwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiAr Cj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9mY2xrX2RpdjJfZGl2biA9IHsKPj4+ PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+ICsJCS5vZmZz ZXQgPSBDTEsxMl8yNF9DVFJMLAo+Pj4+ICsJCS5iaXRfaWR4ID0gMTIsCj4+Pj4gKwl9LAo+Pj4+ ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+PiArCQkubmFtZSA9ICJm Y2xrX2RpdjJfZGl2biIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4+ ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4gKwkJCSZh MV9mY2xrX2RpdjJfZGl2bl9wcmUuaHcKPj4+PiArCQl9LAo+Pj4+ICsJCS5udW1fcGFyZW50cyA9 IDEsCj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+PiArCX0sCj4+Pj4g K307Cj4+Pj4gKwo+Pj4+ICsvKiBnZW4gY2xrICovCj4+Pgo+Pj4gRWl0aGVyIHB1dCBzb21ldGhp bmcgaGVscGZ1bCBvciBkb24ndCBwdXQgYW55dGhpbmcKPj4+IEZvciBleGFtcGxlIGV4cGxhaW5p bmcgd2h5IHRoZXJlIGlzIGEgaG9sZSBpbiB0aGUgdGFibGUgYmVsbG93IGFuZCB3aGF0Cj4+PiBp cyBwYXJlbnQgNCAoaWYgYW55KSB3b3VsZCBiZSBoZWxwZnVsLgo+PiBvaywgcGFyZW50IDIgaXMg c3lzX3BsbF9kaXYxNiwgc3lzIHBsbCBhbmQgcmVsYXRlZCBjbG9jayBhcmUgbm90Cj4+IGNvbXBs ZXRlZWQsIHBhcmVudCA0IGlzIG9uZSBvZiBjbG9jayBtZWFzdXJlbWVudCBzb3VyY2UsIGl0IHJl bGllcyBvbgo+PiB0aGUgY2xvY2sgbWVhc3VyZW1lbnQgcmVnaXN0ZXIgY29uZmlndXJhdGlvbi4K Pj4gZ2VuIGNsb2NrIGlzIGEgZGVidWcgYW5kIG1vbml0b3IgY2xvY2suCj4+Pgo+Pj4+ICtzdGF0 aWMgdTMyIGdlbl9jbGtfdGFibGVbXSA9IHsgMCwgMSwgMywgNSwgNiwgNywgOCB9Owo+Pj4+ICtz dGF0aWMgY29uc3Qgc3RydWN0IGNsa19wYXJlbnRfZGF0YSBnZW5fY2xrX3BhcmVudF9kYXRhW10g PSB7Cj4+Pj4gKwl7IC5md19uYW1lID0gInh0YWwiLCB9LAo+Pj4+ICsJeyAuaHcgPSAmYTFfcnRj X2Nsay5odyB9LAo+Pj4+ICsJeyAuaHcgPSAmYTFfaGlmaV9wbGwuaHcgfSwKPj4+PiArCXsgLmh3 ID0gJmExX2ZjbGtfZGl2Mi5odyB9LAo+Pj4+ICsJeyAuaHcgPSAmYTFfZmNsa19kaXYzLmh3IH0s Cj4+Pj4gKwl7IC5odyA9ICZhMV9mY2xrX2RpdjUuaHcgfSwKPj4+PiArCXsgLmh3ID0gJmExX2Zj bGtfZGl2Ny5odyB9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVn bWFwIGExX2dlbl9zZWwgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfbXV4 X2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQgPSBHRU5fQ0xLX0NUUkwsCj4+Pj4gKwkJLm1hc2sgPSAw eGYsCj4+Pj4gKwkJLnNoaWZ0ID0gMTIsCj4+Pj4gKwkJLnRhYmxlID0gZ2VuX2Nsa190YWJsZSwK Pj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4+ ICsJCS5uYW1lID0gImdlbl9zZWwiLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3Bz LAo+Pj4+ICsJCS5wYXJlbnRfZGF0YSA9IGdlbl9jbGtfcGFyZW50X2RhdGEsCj4+Pj4gKwkJLm51 bV9wYXJlbnRzID0gQVJSQVlfU0laRShnZW5fY2xrX3BhcmVudF9kYXRhKSwKPj4+PiArCX0sCj4+ Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZ2VuX2RpdiA9 IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9kaXZfZGF0YSl7Cj4+Pj4gKwkJ Lm9mZnNldCA9IEdFTl9DTEtfQ1RSTCwKPj4+PiArCQkuc2hpZnQgPSAwLAo+Pj4+ICsJCS53aWR0 aCA9IDExLAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0 YSl7Cj4+Pj4gKwkJLm5hbWUgPSAiZ2VuX2RpdiIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFw X2RpdmlkZXJfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcg KltdKSB7Cj4+Pj4gKwkJCSZhMV9nZW5fc2VsLmh3Cj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3Bh cmVudHMgPSAxLAo+Pj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQsCj4+Pj4gKwl9 LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2dlbiA9 IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+ICsJ CS5vZmZzZXQgPSBHRU5fQ0xLX0NUUkwsCj4+Pj4gKwkJLmJpdF9pZHggPSAxMSwKPj4+PiArCX0s Cj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4+PiArCQkubmFt ZSA9ICJnZW4iLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+PiArCQku cGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFfZ2Vu X2Rpdi5odwo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCQkuZmxh Z3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4g K3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9zYXJhZGNfc2VsID0gewo+Pj4+ICsJLmRhdGEg PSAmKHN0cnVjdCBjbGtfcmVnbWFwX211eF9kYXRhKXsKPj4+PiArCQkub2Zmc2V0ID0gU0FSX0FE Q19DTEtfQ1RSTCwKPj4+PiArCQkubWFzayA9IDB4MSwKPj4+PiArCQkuc2hpZnQgPSA5LAo+Pj4+ ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4gKwkJ Lm5hbWUgPSAic2FyYWRjX3NlbCIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX211eF9vcHMs Cj4+Pj4gKwkJLnBhcmVudF9kYXRhID0gKGNvbnN0IHN0cnVjdCBjbGtfcGFyZW50X2RhdGEgW10p IHsKPj4+PiArCQkJeyAuZndfbmFtZSA9ICJ4dGFsIiwgfSwKPj4+PiArCQkJeyAuaHcgPSAmYTFf c3lzX2Nsay5odywgfSwKPj4+PiArCQl9LAo+Pj4+ICsJCS5udW1fcGFyZW50cyA9IDIsCj4+Pj4g Kwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3Nh cmFkY19kaXYgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZGl2X2RhdGEp ewo+Pj4+ICsJCS5vZmZzZXQgPSBTQVJfQURDX0NMS19DVFJMLAo+Pj4+ICsJCS5zaGlmdCA9IDAs Cj4+Pj4gKwkJLndpZHRoID0gOCwKPj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0 IGNsa19pbml0X2RhdGEpewo+Pj4+ICsJCS5uYW1lID0gInNhcmFkY19kaXYiLAo+Pj4+ICsJCS5v cHMgPSAmY2xrX3JlZ21hcF9kaXZpZGVyX29wcywKPj4+PiArCQkucGFyZW50X2h3cyA9IChjb25z dCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFfc2FyYWRjX3NlbC5odwo+Pj4+ICsJ CX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JB VEVfUEFSRU5ULAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3Qg Y2xrX3JlZ21hcCBhMV9zYXJhZGNfY2xrID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtf cmVnbWFwX2dhdGVfZGF0YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IFNBUl9BRENfQ0xLX0NUUkwsCj4+ Pj4gKwkJLmJpdF9pZHggPSA4LAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3Qg Y2xrX2luaXRfZGF0YSkgewo+Pj4+ICsJCS5uYW1lID0gInNhcmFkY19jbGsiLAo+Pj4+ICsJCS5v cHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBz dHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFfc2FyYWRjX2Rpdi5odwo+Pj4+ICsJCX0s Cj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVf UEFSRU5ULAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gKy8qIHB3bSBhL2IvYy9kIHBh cmVudCBkYXRhICovCj4+Pj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY2xrX3BhcmVudF9kYXRhIHB3 bV9wYXJlbnRfZGF0YVtdID0gewo+Pj4+ICsJeyAuZndfbmFtZSA9ICJ4dGFsIiwgfSwKPj4+PiAr CXsgLmh3ID0gJmExX3N5c19jbGsuaHcgfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gKy8qCj4+Pj4g KyAqIGFkZCBDTEtfSUdOT1JFX1VOVVNFRCBmbGFnIGZvciBwd20gY29udHJvbGxlciBHQVRFCj4+ Pj4gKyAqIGNsayBjb3JlIHdpbGwgZGlzYWJsZSB1bnVzZWQgY2xvY2ssIGl0IG1heSBkaXNhYmxl Cj4+Pj4gKyAqIHZkZGNvcmUgdm9sdGFnZSB3aGljaCBjb250cmxsZWQgYnkgb25lIHB3bSBpbiBi bDIxLgo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KPj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB0eXBvCj4+Pgo+Pj4+ICsgKiBhZGQgdGhlIGZsYWcgdG8gYXZv aWQgY2hhbmdpbmcgY3B1IHZvbHRhZ2UuCj4+Pgo+Pj4gODAgY2hhciBwZXIgbGluZSBpcyBvawo+ Pj4gVGhpcyBjb21tZW50IHdvdWxkIGJlIGJldHRlciBwbGFjZWQgbmV4dCB0byB0aGUgY29ycmVz cG9uZGluZyBmbGFnCj4+Pgo+Pj4gQWxzbyB5b3UgY291bGQgZXhwbGFpbiB0aGF0IGZsYWcgY291 bGQgYmUgcmVtb3ZlZCB3aGVuIENDRiBoYXMgc29tZQo+Pj4gaGFuZC1vZmYgbWVjaGFuaXNtIChz aW1pbGFyIGNvbW1lbnRzIHlvdSBjYW4gY29weSBpbiBvdGhlciBkcml2ZXIpCj4+Pgo+PiBvaywg IGNvbnRybGxlZCAtLT4gY29udHJvbGxlZAo+PiBJIHdpbGwgbW92ZSB0aGUgY29tbWVudCBuZXh0 IHRvIHRoZSBmbGFnCj4+IEkgaGF2ZSBnb3R0ZW4gdGhlIHNpbWlsYXIgY29tbWVudHMgaW4gZzEy YS5jCj4+Pj4gKyAqLwo+Pj4+ICsvKiBwd20gYSBjbGsgKi8KPj4+PiArc3RhdGljIHN0cnVjdCBj bGtfcmVnbWFwIGExX3B3bV9hX3NlbCA9IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3Jl Z21hcF9tdXhfZGF0YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IFBXTV9DTEtfQUJfQ1RSTCwKPj4+PiAr CQkubWFzayA9IDB4MSwKPj4+PiArCQkuc2hpZnQgPSA5LAo+Pj4+ICsJfSwKPj4+PiArCS5ody5p bml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUgPSAicHdtX2Ffc2Vs IiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfbXV4X29wcywKPj4+PiArCQkucGFyZW50X2Rh dGEgPSBwd21fcGFyZW50X2RhdGEsCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gQVJSQVlfU0laRShw d21fcGFyZW50X2RhdGEpLAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBz dHJ1Y3QgY2xrX3JlZ21hcCBhMV9wd21fYV9kaXYgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0 IGNsa19yZWdtYXBfZGl2X2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQgPSBQV01fQ0xLX0FCX0NUUkws Cj4+Pj4gKwkJLnNoaWZ0ID0gMCwKPj4+PiArCQkud2lkdGggPSA4LAo+Pj4+ICsJfSwKPj4+PiAr CS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUgPSAicHdt X2FfZGl2IiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZGl2aWRlcl9vcHMsCj4+Pj4gKwkJ LnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+PiArCQkJJmExX3B3 bV9hX3NlbC5odwo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCQku ZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+ Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9wd21fYSA9IHsKPj4+PiArCS5kYXRhID0g JihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQgPSBQV01fQ0xL X0FCX0NUUkwsCj4+Pj4gKwkJLmJpdF9pZHggPSA4LAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0 ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4+ICsJCS5uYW1lID0gInB3bV9hIiwKPj4+ PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+Pj4gKwkJLnBhcmVudF9od3MgPSAo Y29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+PiArCQkJJmExX3B3bV9hX2Rpdi5odwo+Pj4+ ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VU X1JBVEVfUEFSRU5UIHwgQ0xLX0lHTk9SRV9VTlVTRUQsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ ICsKPj4KPj4gWy4uLl0KPj4KPj4+PiArLyogdXNiIGJ1cyBjbGsgKi8KPj4+PiArc3RhdGljIGNv bnN0IHN0cnVjdCBjbGtfcGFyZW50X2RhdGEgdXNiX2J1c19wYXJlbnRfZGF0YVtdID0gewo+Pj4+ ICsJeyAuZndfbmFtZSA9ICJ4dGFsIiwgfSwKPj4+PiArCXsgLmh3ID0gJmExX3N5c19jbGsuaHcg fSwKPj4+PiArCXsgLmh3ID0gJmExX2ZjbGtfZGl2My5odyB9LAo+Pj4+ICsJeyAuaHcgPSAmYTFf ZmNsa19kaXY1Lmh3IH0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19y ZWdtYXAgYTFfdXNiX2J1c19zZWwgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdt YXBfbXV4X2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQgPSBVU0JfQlVTQ0xLX0NUUkwsCj4+Pj4gKwkJ Lm1hc2sgPSAweDMsCj4+Pj4gKwkJLnNoaWZ0ID0gOSwKPj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5p dCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4+ICsJCS5uYW1lID0gInVzYl9idXNfc2Vs IiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfbXV4X29wcywKPj4+PiArCQkucGFyZW50X2Rh dGEgPSB1c2JfYnVzX3BhcmVudF9kYXRhLAo+Pj4+ICsJCS5udW1fcGFyZW50cyA9IEFSUkFZX1NJ WkUodXNiX2J1c19wYXJlbnRfZGF0YSksCj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BB UkVOVCB8IENMS19JR05PUkVfVU5VU0VELAo+Pj4KPj4+IEFnYWluLCBldmVyeSB1bnVzZWQgZmxh ZyBuZWVkIHRvIGJlIHByb3Blcmx5IGV4cGxhaW5lZAo+Pj4KPj4gb2ssIEkgd2lsbCBjb25maXJt IHRoaXMgZmxhZwo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3Qg Y2xrX3JlZ21hcCBhMV91c2JfYnVzX2RpdiA9IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xr X3JlZ21hcF9kaXZfZGF0YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IFVTQl9CVVNDTEtfQ1RSTCwKPj4+ PiArCQkuc2hpZnQgPSAwLAo+Pj4+ICsJCS53aWR0aCA9IDgsCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3 LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+PiArCQkubmFtZSA9ICJ1c2JfYnVz X2RpdiIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2RpdmlkZXJfb3BzLAo+Pj4+ICsJCS5w YXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4gKwkJCSZhMV91c2Jf YnVzX3NlbC5odwo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCQku ZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5UIHwgQ0xLX0lHTk9SRV9VTlVTRUQsCj4+Pj4gKwl9 LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3VzYl9i dXMgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+ PiArCQkub2Zmc2V0ID0gVVNCX0JVU0NMS19DVFJMLAo+Pj4+ICsJCS5iaXRfaWR4ID0gOCwKPj4+ PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4+PiAr CQkubmFtZSA9ICJ1c2JfYnVzIiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMs Cj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+PiAr CQkJJmExX3VzYl9idXNfZGl2Lmh3Cj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAx LAo+Pj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQgfCBDTEtfSUdOT1JFX1VOVVNF RCwKPj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4gKwo+Pgo+PiBbLi4uXQo+Pgo+Pj4+ICsKPj4+PiAr LyogZG1jIGNsayAqLwo+Pj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGNsa19odyAqZG1jX3BhcmVu dF9od3NbXSA9IHsKPj4+PiArCSZhMV9mY2xrX2RpdjIuaHcsCj4+Pj4gKwkmYTFfZmNsa19kaXYz Lmh3LAo+Pj4+ICsJJmExX2ZjbGtfZGl2NS5odywKPj4+PiArCSZhMV9oaWZpX3BsbC5odywKPj4+ PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kbWNfc2VsID0g ewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX211eF9kYXRhKXsKPj4+PiArCQku b2Zmc2V0ID0gRE1DX0NMS19DVFJMLAo+Pj4+ICsJCS5tYXNrID0gMHgzLAo+Pj4+ICsJCS5zaGlm dCA9IDksCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRh KXsKPj4+PiArCQkubmFtZSA9ICJkbWNfc2VsIiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBf bXV4X29wcywKPj4+PiArCQkucGFyZW50X2h3cyA9IGRtY19wYXJlbnRfaHdzLAo+Pj4+ICsJCS5u dW1fcGFyZW50cyA9IEFSUkFZX1NJWkUoZG1jX3BhcmVudF9od3MpLAo+Pj4+ICsJfSwKPj4+PiAr fTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kbWNfZGl2ID0gewo+ Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2Rpdl9kYXRhKXsKPj4+PiArCQkub2Zm c2V0ID0gRE1DX0NMS19DVFJMLAo+Pj4+ICsJCS5zaGlmdCA9IDAsCj4+Pj4gKwkJLndpZHRoID0g OCwKPj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+ Pj4+ICsJCS5uYW1lID0gImRtY19kaXYiLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9kaXZp ZGVyX29wcywKPj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkg ewo+Pj4+ICsJCQkmYTFfZG1jX3NlbC5odwo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRz ID0gMSwKPj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4+ICsJfSwKPj4+ PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kbWNfc2VsMiA9 IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7Cj4+Pj4gKwkJ Lm9mZnNldCA9IERNQ19DTEtfQ1RSTCwKPj4+PiArCQkubWFzayA9IDB4MSwKPj4+PiArCQkuc2hp ZnQgPSAxNSwKPj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2Rh dGEpewo+Pj4+ICsJCS5uYW1lID0gImRtY19zZWwyIiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdt YXBfbXV4X29wcywKPj4+PiArCQkucGFyZW50X2RhdGEgPSAoY29uc3Qgc3RydWN0IGNsa19wYXJl bnRfZGF0YSBbXSkgewo+Pj4+ICsJCQl7IC5odyA9ICZhMV9kbWNfZGl2Lmh3IH0sCj4+Pj4gKwkJ CXsgLmZ3X25hbWUgPSAieHRhbCIsIH0sCj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMg PSAyLAo+Pj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQsCj4+Pj4gKwl9LAo+Pj4+ ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2RtYyA9IHsKPj4+ PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+ICsJCS5vZmZz ZXQgPSBETUNfQ0xLX0NUUkwsCj4+Pj4gKwkJLmJpdF9pZHggPSA4LAo+Pj4+ICsJfSwKPj4+PiAr CS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4+ICsJCS5uYW1lID0gImRt YyIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4+ICsJCS5wYXJlbnRf aHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4gKwkJCSZhMV9kbWNfc2VsMi5o dwo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCQkvKgo+Pj4+ICsJ CSAqIGFkZCBDTEtfSUdOT1JFX1VOVVNFRCB0byBhdm9pZCBoYW5ndXAKPj4+PiArCQkgKiBERFIg Y2xvY2sgc2hvdWxkIG5vdCBjaGFuZ2UgYXQgcnVudGltZQo+Pj4+ICsJCSAqLwo+Pj4KPj4+IENS SVRJQ0FMID8gUk8gb3BzIG1heWJlID8KPj4gUk8gb3BzIGlzIGJldHRlcgo+Pj4KPj4+PiArCQku ZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5UIHwgQ0xLX0lHTk9SRV9VTlVTRUQsCj4+Pj4gKwl9 LAo+Pj4+ICt9Owo+Pj4+ICsKPj4KPj4gWy4uLl0KPj4KPj4+PiArCj4+Pj4gKyNkZWZpbmUgTUVT T05fR0FURShfbmFtZSwgX3JlZywgX2JpdCkgXAo+Pj4+ICsJTUVTT05fUENMSyhfbmFtZSwgX3Jl ZywgX2JpdCwgJmExX3N5c19jbGsuaHcpCj4+Pj4gKwo+Pj4+ICsvKiBDTEtUUkVFX1NZU19DTEtf RU4wICovCj4+Pgo+Pj4gRnVsbCBjYXBzIGlzIG5vdCBvayAuLi4gYW5kIG9uY2UgYWdhaW4sIHRy eSB0byBhZGQgY29tbWVudCB3aGljaCBoZWxwcwo+PiBvaywgSSB3aWxsIGFkZCBzb21lIHVzZWZ1 bCBjb21tZW50Lgo+Pj4KPj4+PiArc3RhdGljIE1FU09OX0dBVEUoYTFfY2xrX3RyZWUsCQlTWVNf Q0xLX0VOMCwJMCk7Cj4+Pj4gK3N0YXRpYyBNRVNPTl9HQVRFKGExX3Jlc2V0X2N0cmwsCVNZU19D TEtfRU4wLAkxKTsKPj4+PiArc3RhdGljIE1FU09OX0dBVEUoYTFfYW5hbG9nX2N0cmwsCVNZU19D TEtfRU4wLAkyKTsKPj4+PiArc3RhdGljIE1FU09OX0dBVEUoYTFfcHdyX2N0cmwsCQlTWVNfQ0xL X0VOMCwJMyk7Cj4+Pj4gK3N0YXRpYyBNRVNPTl9HQVRFKGExX3BhZF9jdHJsLAkJU1lTX0NMS19F TjAsCTQpOwo+Pj4+ICtzdGF0aWMgTUVTT05fR0FURShhMV9zeXNfY3RybCwJCVNZU19DTEtfRU4w LAk1KTsKPj4+PiArc3RhdGljIE1FU09OX0dBVEUoYTFfdGVtcF9zZW5zb3IsCVNZU19DTEtfRU4w LAk2KTsKPj4+PiArc3RhdGljIE1FU09OX0dBVEUoYTFfYW0yYXhpX2RldiwJU1lTX0NMS19FTjAs CTcpOwo+Pj4+ICtzdGF0aWMgTUVTT05fR0FURShhMV9zcGljY19iLAkJU1lTX0NMS19FTjAsCTgp Owo+Pj4+ICtzdGF0aWMgTUVTT05fR0FURShhMV9zcGljY19hLAkJU1lTX0NMS19FTjAsCTkpOwo+ Pj4+ICtzdGF0aWMgTUVTT05fR0FURShhMV9jbGtfbXNyLAkJU1lTX0NMS19FTjAsCTEwKTsKPj4+ PiArc3RhdGljIE1FU09OX0dBVEUoYTFfYXVkaW8sCQlTWVNfQ0xLX0VOMCwJMTEpOwo+Pj4+ICtz dGF0aWMgTUVTT05fR0FURShhMV9qdGFnX2N0cmwsCQlTWVNfQ0xLX0VOMCwJMTIpOwo+Pj4+ICtz dGF0aWMgTUVTT05fR0FURShhMV9zYXJhZGMsCQlTWVNfQ0xLX0VOMCwJMTMpOwo+Pj4+ICtzdGF0 aWMgTUVTT05fR0FURShhMV9wd21fZWYsCQlTWVNfQ0xLX0VOMCwJMTQpOwo+Pj4+ICtzdGF0aWMg TUVTT05fR0FURShhMV9wd21fY2QsCQlTWVNfQ0xLX0VOMCwJMTUpOwo+Pj4+ICtzdGF0aWMgTUVT T05fR0FURShhMV9wd21fYWIsCQlTWVNfQ0xLX0VOMCwJMTYpOwo+Pj4+ICtzdGF0aWMgTUVTT05f R0FURShhMV9jZWMsCQlTWVNfQ0xLX0VOMCwJMTcpOwo+Pj4+ICtzdGF0aWMgTUVTT05fR0FURShh MV9pMmNfcywJCVNZU19DTEtfRU4wLAkxOCk7Cj4+Pj4gK3N0YXRpYyBNRVNPTl9HQVRFKGExX2ly X2N0cmwsCQlTWVNfQ0xLX0VOMCwJMTkpOwo+Pj4+ICtzdGF0aWMgTUVTT05fR0FURShhMV9pMmNf bV9kLAkJU1lTX0NMS19FTjAsCTIwKTsKPj4+PiArc3RhdGljIE1FU09OX0dBVEUoYTFfaTJjX21f YywJCVNZU19DTEtfRU4wLAkyMSk7Cj4+Pj4gK3N0YXRpYyBNRVNPTl9HQVRFKGExX2kyY19tX2Is CQlTWVNfQ0xLX0VOMCwJMjIpOwo+Pj4+ICtzdGF0aWMgTUVTT05fR0FURShhMV9pMmNfbV9hLAkJ U1lTX0NMS19FTjAsCTIzKTsKPj4+PiArc3RhdGljIE1FU09OX0dBVEUoYTFfYWNvZGVjLAkJU1lT X0NMS19FTjAsCTI0KTsKPj4+PiArc3RhdGljIE1FU09OX0dBVEUoYTFfb3RwLAkJU1lTX0NMS19F TjAsCTI1KTsKPj4+PiArc3RhdGljIE1FU09OX0dBVEUoYTFfc2RfZW1tY19hLAkJU1lTX0NMS19F TjAsCTI2KTsKPj4+PiArc3RhdGljIE1FU09OX0dBVEUoYTFfdXNiX3BoeSwJCVNZU19DTEtfRU4w LAkyNyk7Cj4+Pj4gK3N0YXRpYyBNRVNPTl9HQVRFKGExX3VzYl9jdHJsLAkJU1lTX0NMS19FTjAs CTI4KTsKPj4+PiArc3RhdGljIE1FU09OX0dBVEUoYTFfc3lzX2RzcGIsCQlTWVNfQ0xLX0VOMCwJ MjkpOwo+Pj4+ICtzdGF0aWMgTUVTT05fR0FURShhMV9zeXNfZHNwYSwJCVNZU19DTEtfRU4wLAkz MCk7Cj4+Pj4gK3N0YXRpYyBNRVNPTl9HQVRFKGExX2RtYSwJCVNZU19DTEtfRU4wLAkzMSk7Cj4+ Pj4gKy8qIENMS1RSRUVfU1lTX0NMS19FTjEgKi8KPj4+PiArc3RhdGljIE1FU09OX0dBVEUoYTFf aXJxX2N0cmwsCQlTWVNfQ0xLX0VOMSwJMCk7Cj4+Pj4gK3N0YXRpYyBNRVNPTl9HQVRFKGExX25p YywJCVNZU19DTEtfRU4xLAkxKTsKPj4+PiArc3RhdGljIE1FU09OX0dBVEUoYTFfZ2ljLAkJU1lT X0NMS19FTjEsCTIpOwo+Pj4+ICtzdGF0aWMgTUVTT05fR0FURShhMV91YXJ0X2MsCQlTWVNfQ0xL X0VOMSwJMyk7Cj4+Pj4gK3N0YXRpYyBNRVNPTl9HQVRFKGExX3VhcnRfYiwJCVNZU19DTEtfRU4x LAk0KTsKPj4+PiArc3RhdGljIE1FU09OX0dBVEUoYTFfdWFydF9hLAkJU1lTX0NMS19FTjEsCTUp Owo+Pj4+ICtzdGF0aWMgTUVTT05fR0FURShhMV9zeXNfcHNyYW0sCQlTWVNfQ0xLX0VOMSwJNik7 Cj4+Pj4gK3N0YXRpYyBNRVNPTl9HQVRFKGExX3JzYSwJCVNZU19DTEtfRU4xLAk4KTsKPj4+PiAr c3RhdGljIE1FU09OX0dBVEUoYTFfY29yZXNpZ2h0LAkJU1lTX0NMS19FTjEsCTkpOwo+Pj4+ICsv KiBDTEtUUkVFX0FYSV9DTEtfRU4gKi8KPj4+PiArc3RhdGljIE1FU09OX0dBVEUoYTFfYW0yYXhp X3ZhZCwJQVhJX0NMS19FTiwJMCk7Cj4+Pj4gK3N0YXRpYyBNRVNPTl9HQVRFKGExX2F1ZGlvX3Zh ZCwJCUFYSV9DTEtfRU4sCTEpOwo+Pj4+ICtzdGF0aWMgTUVTT05fR0FURShhMV9heGlfZG1jLAkJ QVhJX0NMS19FTiwJMyk7Cj4+Pj4gK3N0YXRpYyBNRVNPTl9HQVRFKGExX2F4aV9wc3JhbSwJCUFY SV9DTEtfRU4sCTQpOwo+Pj4+ICtzdGF0aWMgTUVTT05fR0FURShhMV9yYW1iLAkJQVhJX0NMS19F TiwJNSk7Cj4+Pj4gK3N0YXRpYyBNRVNPTl9HQVRFKGExX3JhbWEsCQlBWElfQ0xLX0VOLAk2KTsK Pj4+PiArc3RhdGljIE1FU09OX0dBVEUoYTFfYXhpX3NwaWZjLAkJQVhJX0NMS19FTiwJNyk7Cj4+ Pj4gK3N0YXRpYyBNRVNPTl9HQVRFKGExX2F4aV9uaWMsCQlBWElfQ0xLX0VOLAk4KTsKPj4+PiAr c3RhdGljIE1FU09OX0dBVEUoYTFfYXhpX2RtYSwJCUFYSV9DTEtfRU4sCTkpOwo+Pj4+ICtzdGF0 aWMgTUVTT05fR0FURShhMV9jcHVfY3RybCwJCUFYSV9DTEtfRU4sCTEwKTsKPj4+PiArc3RhdGlj IE1FU09OX0dBVEUoYTFfcm9tLAkJQVhJX0NMS19FTiwJMTEpOwo+Pj4+ICtzdGF0aWMgTUVTT05f R0FURShhMV9wcm9kX2kyYywJCUFYSV9DTEtfRU4sCTEyKTsKPj4+PiArCj4+Cj4+IFsuLi5dCj4+ Cj4+Pj4gKwo+Pj4+ICsvKiBDb252ZW5pZW5jZSB0YWJsZSB0byBwb3B1bGF0ZSByZWdtYXAgaW4g LnByb2JlCj4+Pj4gKyAqIFBlcmlwaGVyYWwgY2xvY2sgcmVnaXN0ZXIgYmFzZSBhZGRyZXNzIGlz IDB4ZmUwMDA4MDAKPj4+Cj4+PiB0aGlzIGluZm8gd2lsbCBiZSBpbiBEVAo+PiBJIHdpbGwgcmVt b3ZlIHRoZSBhZGRyZXNzIGNvbW1pdAo+Pj4KPj4+PiArICovCj4+Cj4+IFsuLi5dCj4+Cj4+Pj4g Kwo+Pj4+ICsvKgo+Pj4+ICsgKiBjcHUgY2xvY2sgcmVnaXN0ZXIgYmFzZSBhZGRyZXNzIGlzIDB4 ZmQwMDAwODAKPj4+PiArICovCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCAqY29uc3Qg YTFfY3B1X2Nsa19yZWdtYXBzW10gPSB7Cj4+Pj4gKwkvKiBUT0RPICovCj4+Pj4gK307Cj4+Pj4g Kwo+Pj4+ICsvKgo+Pj4+ICsgKiBwbGwgY2xvY2sgcmVnaXN0ZXIgYmFzZSBhZGRyZXNzIGlzIDB4 ZmUwMDdjMDAKPj4+PiArICovCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCAqY29uc3Qg YTFfcGxsX2Nsa19yZWdtYXBzW10gPSB7Cj4+Pj4gKwkmYTFfZml4ZWRfcGxsX2RjbywKPj4+PiAr CSZhMV9maXhlZF9wbGwsCj4+Pj4gKwkmYTFfaGlmaV9wbGwsCj4+Pj4gKwkmYTFfZmNsa19kaXYy LAo+Pj4+ICsJJmExX2ZjbGtfZGl2MywKPj4+PiArCSZhMV9mY2xrX2RpdjUsCj4+Pj4gKwkmYTFf ZmNsa19kaXY3LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCByZWdtYXBfY29u ZmlnIGNsa2NfcmVnbWFwX2NvbmZpZyA9IHsKPj4+PiArCS5yZWdfYml0cyAgICAgICA9IDMyLAo+ Pj4+ICsJLnZhbF9iaXRzICAgICAgID0gMzIsCj4+Pj4gKwkucmVnX3N0cmlkZSAgICAgPSA0LAo+ Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCByZWdtYXAgKmExX3JlZ21hcF9yZXNv dXJjZShzdHJ1Y3QgZGV2aWNlICpkZXYsIGNoYXIgKm5hbWUpCj4+Pj4gK3sKPj4+PiArCXN0cnVj dCByZXNvdXJjZSByZXM7Cj4+Pj4gKwl2b2lkIF9faW9tZW0gKmJhc2U7Cj4+Pj4gKwlpbnQgaTsK Pj4+PiArCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSA9IGRldi0+b2Zfbm9kZTsKPj4+PiArCj4+ Pj4gKwlpID0gb2ZfcHJvcGVydHlfbWF0Y2hfc3RyaW5nKG5vZGUsICJyZWctbmFtZXMiLCBuYW1l KTsKPj4+PiArCWlmIChvZl9hZGRyZXNzX3RvX3Jlc291cmNlKG5vZGUsIGksICZyZXMpKQo+Pj4+ ICsJCXJldHVybiBFUlJfUFRSKC1FTk9FTlQpOwo+Pj4+ICsKPj4+PiArCWJhc2UgPSBkZXZtX2lv cmVtYXBfcmVzb3VyY2UoZGV2LCAmcmVzKTsKPj4+PiArCWlmIChJU19FUlIoYmFzZSkpCj4+Pj4g KwkJcmV0dXJuIEVSUl9DQVNUKGJhc2UpOwo+Pj4+ICsKPj4+PiArCWNsa2NfcmVnbWFwX2NvbmZp Zy5tYXhfcmVnaXN0ZXIgPSByZXNvdXJjZV9zaXplKCZyZXMpIC0gNDsKPj4+PiArCWNsa2NfcmVn bWFwX2NvbmZpZy5uYW1lID0gZGV2bV9rYXNwcmludGYoZGV2LCBHRlBfS0VSTkVMLAo+Pj4+ICsJ CQkJCQkgIiVzLSVzIiwgbm9kZS0+bmFtZSwKPj4+PiArCQkJCQkJIG5hbWUpOwo+Pj4+ICsJaWYg KCFjbGtjX3JlZ21hcF9jb25maWcubmFtZSkKPj4+PiArCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVN KTsKPj4+PiArCj4+Pj4gKwlyZXR1cm4gZGV2bV9yZWdtYXBfaW5pdF9tbWlvKGRldiwgYmFzZSwg JmNsa2NfcmVnbWFwX2NvbmZpZyk7Cj4+Pj4gK30KPj4+PiArCj4+Pj4gK3N0YXRpYyBpbnQgYTFf Y2xrY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+Pj4+ICt7Cj4+Pj4gKwlz dHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGRldi0+ZGV2Owo+Pj4+ICsJc3RydWN0IHJlZ21hcCAqcGVy aXBoZXJhbF9tYXAsICpwbGxfbWFwLCAqY3B1X21hcDsKPj4+PiArCWludCByZXQsIGk7Cj4+Pj4g Kwo+Pj4+ICsJLyogR2V0IHJlZ21hcCBmb3IgZGlmZmVyZW50IGNsb2NrIGFyZWEgKi8KPj4+PiAr CXBlcmlwaGVyYWxfbWFwID0gYTFfcmVnbWFwX3Jlc291cmNlKGRldiwgInBlcmlwaGVyYWwiKTsK Pj4+PiArCWlmIChJU19FUlIocGVyaXBoZXJhbF9tYXApKSB7Cj4+Pj4gKwkJZGV2X2VycihkZXYs ICJwZXJpcGhlcmFsIGNsayByZWdpc3RlcnMgbm90IGZvdW5kXG4iKTsKPj4+PiArCQlyZXR1cm4g UFRSX0VSUihwZXJpcGhlcmFsX21hcCk7Cj4+Pj4gKwl9Cj4+Pj4gKwo+Pj4+ICsJcGxsX21hcCA9 IGExX3JlZ21hcF9yZXNvdXJjZShkZXYsICJwbGwiKTsKPj4+PiArCWlmIChJU19FUlIocGxsX21h cCkpIHsKPj4+PiArCQlkZXZfZXJyKGRldiwgInBsbCBjbGsgcmVnaXN0ZXJzIG5vdCBmb3VuZFxu Iik7Cj4+Pj4gKwkJcmV0dXJuIFBUUl9FUlIocGxsX21hcCk7Cj4+Pj4gKwl9Cj4+Pj4gKwo+Pj4+ ICsJY3B1X21hcCA9IGExX3JlZ21hcF9yZXNvdXJjZShkZXYsICJjcHUiKTsKPj4+PiArCWlmIChJ U19FUlIoY3B1X21hcCkpIHsKPj4+PiArCQlkZXZfZXJyKGRldiwgImNwdSBjbGsgcmVnaXN0ZXJz IG5vdCBmb3VuZFxuIik7Cj4+Pj4gKwkJcmV0dXJuIFBUUl9FUlIoY3B1X21hcCk7Cj4+Pj4gKwl9 Cj4+Pj4gKwo+Pj4+ICsJLyogUG9wdWxhdGUgcmVnbWFwIGZvciB0aGUgcmVnbWFwIGJhY2tlZCBj bG9ja3MgKi8KPj4+PiArCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGExX2Nsa19yZWdtYXBz KTsgaSsrKQo+Pj4+ICsJCWExX2Nsa19yZWdtYXBzW2ldLT5tYXAgPSBwZXJpcGhlcmFsX21hcDsK Pj4+PiArCj4+Pj4gKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShhMV9jcHVfY2xrX3JlZ21h cHMpOyBpKyspCj4+Pj4gKwkJYTFfY3B1X2Nsa19yZWdtYXBzW2ldLT5tYXAgPSBjcHVfbWFwOwo+ Pj4+ICsKPj4+PiArCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGExX3BsbF9jbGtfcmVnbWFw cyk7IGkrKykKPj4+PiArCQlhMV9wbGxfY2xrX3JlZ21hcHNbaV0tPm1hcCA9IHBsbF9tYXA7Cj4+ Pgo+Pj4gVW5sZXNzIHlvdSBoYXZlIGEgcm9jayBzb2xpZCByZWFzb24gd2h5IHlvdSBhYnNvbHV0 ZWx5IG5lZWQgdG8gbWFrZQo+Pj4gc2luZ2xlIGNvbnRyb2xsZXIgb3V0IG9mIHRoaXMgMyByZWdp b25zLCBOYWNrLgo+Pj4KPj4gQXMgY29tbWVudCByZXBseWluZyBpbgo+PiBEb2N1bWVudGF0aW9u L2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svYW1sb2dpYyxhMS1jbGtjLnlhbWwsIEkgd2lsbAo+ PiBpbXBsZW1lbnQgdGhyZWUgY2xvY2sgZHJpdmVycy4KPj4+PiArCj4+Pj4gKwlmb3IgKGkgPSAw OyBpIDwgYTFfaHdfb25lY2VsbF9kYXRhLm51bTsgaSsrKSB7Cj4+Pj4gKwkJLyogYXJyYXkgbWln aHQgYmUgc3BhcnNlICovCj4+Pj4gKwkJaWYgKCFhMV9od19vbmVjZWxsX2RhdGEuaHdzW2ldKQo+ Pj4+ICsJCQljb250aW51ZTsKPj4+PiArCj4+Pj4gKwkJcmV0ID0gZGV2bV9jbGtfaHdfcmVnaXN0 ZXIoZGV2LCBhMV9od19vbmVjZWxsX2RhdGEuaHdzW2ldKTsKPj4+PiArCQlpZiAocmV0KSB7Cj4+ Pj4gKwkJCWRldl9lcnIoZGV2LCAiQ2xvY2sgcmVnaXN0cmF0aW9uIGZhaWxlZFxuIik7Cj4+Pj4g KwkJCXJldHVybiByZXQ7Cj4+Pj4gKwkJfQo+Pj4+ICsJfQo+Pj4+ICsKPj4+PiArCXJldHVybiBk ZXZtX29mX2Nsa19hZGRfaHdfcHJvdmlkZXIoZGV2LCBvZl9jbGtfaHdfb25lY2VsbF9nZXQsCj4+ Pj4gKwkJCQkJICAgJmExX2h3X29uZWNlbGxfZGF0YSk7Cj4+Pj4gK30KPj4+PiArCj4+Pj4gK3N0 YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGNsa2NfbWF0Y2hfdGFibGVbXSA9IHsKPj4+ PiArCXsgLmNvbXBhdGlibGUgPSAiYW1sb2dpYyxhMS1jbGtjIiB9LAo+Pj4+ICsJeyAvKiBzZW50 aW5lbCAqLyB9Cj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2Ry aXZlciBhMV9kcml2ZXIgPSB7Cj4+Pj4gKwkucHJvYmUJCT0gYTFfY2xrY19wcm9iZSwKPj4+PiAr CS5kcml2ZXIJCT0gewo+Pj4+ICsJCS5uYW1lCT0gImExLWNsa2MiLAo+Pj4+ICsJCS5vZl9tYXRj aF90YWJsZSA9IGNsa2NfbWF0Y2hfdGFibGUsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+ PiArYnVpbHRpbl9wbGF0Zm9ybV9kcml2ZXIoYTFfZHJpdmVyKTsKPj4+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9jbGsvbWVzb24vYTEuaCBiL2RyaXZlcnMvY2xrL21lc29uL2ExLmgKPj4+PiBuZXcg ZmlsZSBtb2RlIDEwMDY0NAo+Pj4+IGluZGV4IDAwMDAwMDAuLmYyMjkxYzQKPj4+PiAtLS0gL2Rl di9udWxsCj4+Pj4gKysrIGIvZHJpdmVycy9jbGsvbWVzb24vYTEuaAo+Pj4+IEBAIC0wLDAgKzEs MTcyIEBACj4+Pj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMCsgT1IgTUlU KSAqLwo+Pj4+ICsvKgo+Pj4+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTkgQW1sb2dpYywgSW5jLiBB bGwgcmlnaHRzIHJlc2VydmVkLgo+Pj4+ICsgKi8KPj4+PiArCj4+Pj4gKyNpZm5kZWYgX19BMV9I Cj4+Pj4gKyNkZWZpbmUgX19BMV9ICj4+Pj4gKwo+Pj4+ICsvKgo+Pj4+ICsgKiBwZXJpcGhlcmFs IGNsb2NrIGNvbnRyb2xsZXIgcmVnaXN0ZXIgYWRkcmVzcwo+Pj4+ICsgKiBBUEJfQkFTRTogIEFQ QjBfQkFTRV9BRERSID0gMHhmZTAwMDgwMAo+Pj4KPj4+IEFnYWluIHRoaXMgaW5mbyBpcyBEVCBh bmQgbWlnaHQgYmVjb21lIHdyb25nIGlmIHlvdXIgY29udHJvbGxlciBpcyBldmVyCj4+PiBjb21w YXRpYmxlIHdpdGggYW5vdGhlciBTb0MKPj4+Cj4+IEkgd2lsbCByZW1vdmUgdGhlIGFkZHJlc3Mg Y29tbWVudCwgdGhlIHJpZ2h0IGFkZHJlc3MgaXMgMHhmZTAwMDA4MC4KPj4+PiArICovCj4+Pj4g KyNkZWZpbmUgU1lTX09TQ0lOX0NUUkwJCQkweDAKPj4+PiArI2RlZmluZSBSVENfQllfT1NDSU5f Q1RSTDAJCTB4NAo+Pj4+ICsjZGVmaW5lIFJUQ19CWV9PU0NJTl9DVFJMMQkJMHg4Cj4+Pj4gKyNk ZWZpbmUgUlRDX0NUUkwJCQkweGMKPj4+PiArI2RlZmluZSBTWVNfQ0xLX0NUUkwwCQkJMHgxMAo+ Pj4+ICsjZGVmaW5lIEFYSV9DTEtfQ1RSTDAJCQkweDE0Cj4+Pj4gKyNkZWZpbmUgU1lTX0NMS19F TjAJCQkweDFjCj4+Pj4gKyNkZWZpbmUgU1lTX0NMS19FTjEJCQkweDIwCj4+Pj4gKyNkZWZpbmUg QVhJX0NMS19FTgkJCTB4MjQKPj4+PiArI2RlZmluZSBEU1BBX0NMS19FTgkJCTB4MjgKPj4+PiAr I2RlZmluZSBEU1BCX0NMS19FTgkJCTB4MmMKPj4+PiArI2RlZmluZSBEU1BBX0NMS19DVFJMMAkJ CTB4MzAKPj4+PiArI2RlZmluZSBEU1BCX0NMS19DVFJMMAkJCTB4MzQKPj4+PiArI2RlZmluZSBD TEsxMl8yNF9DVFJMCQkJMHgzOAo+Pj4+ICsjZGVmaW5lIEdFTl9DTEtfQ1RSTAkJCTB4M2MKPj4+ PiArI2RlZmluZSBUSU1FU1RBTVBfQ1RSTDAJCQkweDQwCj4+Pj4gKyNkZWZpbmUgVElNRVNUQU1Q X0NUUkwxCQkJMHg0NAo+Pj4+ICsjZGVmaW5lIFRJTUVTVEFNUF9DVFJMMgkJCTB4NDgKPj4+PiAr I2RlZmluZSBUSU1FU1RBTVBfVkFMMAkJCTB4NGMKPj4+PiArI2RlZmluZSBUSU1FU1RBTVBfVkFM MQkJCTB4NTAKPj4+PiArI2RlZmluZSBUSU1FQkFTRV9DVFJMMAkJCTB4NTQKPj4+PiArI2RlZmlu ZSBUSU1FQkFTRV9DVFJMMQkJCTB4NTgKPj4+PiArI2RlZmluZSBTQVJfQURDX0NMS19DVFJMCQkw eGMwCj4+Pj4gKyNkZWZpbmUgUFdNX0NMS19BQl9DVFJMCQkJMHhjNAo+Pj4+ICsjZGVmaW5lIFBX TV9DTEtfQ0RfQ1RSTAkJCTB4YzgKPj4+PiArI2RlZmluZSBQV01fQ0xLX0VGX0NUUkwJCQkweGNj Cj4+Pj4gKyNkZWZpbmUgU1BJQ0NfQ0xLX0NUUkwJCQkweGQwCj4+Pj4gKyNkZWZpbmUgVFNfQ0xL X0NUUkwJCQkweGQ0Cj4+Pj4gKyNkZWZpbmUgU1BJRkNfQ0xLX0NUUkwJCQkweGQ4Cj4+Pj4gKyNk ZWZpbmUgVVNCX0JVU0NMS19DVFJMCQkJMHhkYwo+Pj4+ICsjZGVmaW5lIFNEX0VNTUNfQ0xLX0NU UkwJCTB4ZTAKPj4+PiArI2RlZmluZSBDRUNBX0NMS19DVFJMMAkJCTB4ZTQKPj4+PiArI2RlZmlu ZSBDRUNBX0NMS19DVFJMMQkJCTB4ZTgKPj4+PiArI2RlZmluZSBDRUNCX0NMS19DVFJMMAkJCTB4 ZWMKPj4+PiArI2RlZmluZSBDRUNCX0NMS19DVFJMMQkJCTB4ZjAKPj4+PiArI2RlZmluZSBQU1JB TV9DTEtfQ1RSTAkJCTB4ZjQKPj4+PiArI2RlZmluZSBETUNfQ0xLX0NUUkwJCQkweGY4Cj4+Pj4g KyNkZWZpbmUgRkNMS19ESVYxX1NFTAkJCTB4ZmMKPj4+PiArI2RlZmluZSBUU1RfQ1RSTAkJCTB4 MTAwCj4+Pj4gKy8qCj4+Pj4gKyAqIEZvciBQTEwgcmVnaXN0ZXIgb2Zmc2V0Cj4+Pj4gKyAqIEFQ Ql9CQVNFOiAgQVBCMF9CQVNFX0FERFIgPSAweGZlMDA3YzAwCj4+Pj4gKyAqLwo+Pj4+ICsjZGVm aW5lIEFOQUNUUkxfRklYUExMX0NUUkwwCQkweDgwCj4+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9GSVhQ TExfQ1RSTDEJCTB4ODQKPj4+PiArI2RlZmluZSBBTkFDVFJMX0ZJWFBMTF9DVFJMMgkJMHg4OAo+ Pj4+ICsjZGVmaW5lIEFOQUNUUkxfRklYUExMX0NUUkwzCQkweDhjCj4+Pj4gKyNkZWZpbmUgQU5B Q1RSTF9GSVhQTExfQ1RSTDQJCTB4OTAKPj4+PiArI2RlZmluZSBBTkFDVFJMX0ZJWFBMTF9TVFMJ CTB4OTQKPj4+PiArI2RlZmluZSBBTkFDVFJMX1NZU1BMTF9DVFJMMAkJMHgxMDAKPj4+PiArI2Rl ZmluZSBBTkFDVFJMX1NZU1BMTF9DVFJMMQkJMHgxMDQKPj4+PiArI2RlZmluZSBBTkFDVFJMX1NZ U1BMTF9DVFJMMgkJMHgxMDgKPj4+PiArI2RlZmluZSBBTkFDVFJMX1NZU1BMTF9DVFJMMwkJMHgx MGMKPj4+PiArI2RlZmluZSBBTkFDVFJMX1NZU1BMTF9DVFJMNAkJMHgxMTAKPj4+PiArI2RlZmlu ZSBBTkFDVFJMX1NZU1BMTF9TVFMJCTB4MTE0Cj4+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9ISUZJUExM X0NUUkwwCQkweDE0MAo+Pj4+ICsjZGVmaW5lIEFOQUNUUkxfSElGSVBMTF9DVFJMMQkJMHgxNDQK Pj4+PiArI2RlZmluZSBBTkFDVFJMX0hJRklQTExfQ1RSTDIJCTB4MTQ4Cj4+Pj4gKyNkZWZpbmUg QU5BQ1RSTF9ISUZJUExMX0NUUkwzCQkweDE0Ywo+Pj4+ICsjZGVmaW5lIEFOQUNUUkxfSElGSVBM TF9DVFJMNAkJMHgxNTAKPj4+PiArI2RlZmluZSBBTkFDVFJMX0hJRklQTExfU1RTCQkweDE1NAo+ Pj4+ICsjZGVmaW5lIEFOQUNUUkxfQVVERERTX0NUUkwwCQkweDE4MAo+Pj4+ICsjZGVmaW5lIEFO QUNUUkxfQVVERERTX0NUUkwxCQkweDE4NAo+Pj4+ICsjZGVmaW5lIEFOQUNUUkxfQVVERERTX0NU UkwyCQkweDE4OAo+Pj4+ICsjZGVmaW5lIEFOQUNUUkxfQVVERERTX0NUUkwzCQkweDE4Ywo+Pj4+ ICsjZGVmaW5lIEFOQUNUUkxfQVVERERTX0NUUkw0CQkweDE5MAo+Pj4+ICsjZGVmaW5lIEFOQUNU UkxfQVVERERTX1NUUwkJMHgxOTQKPj4+PiArI2RlZmluZSBBTkFDVFJMX01JU0NUT1BfQ1RSTDAJ CTB4MWMwCj4+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9QT1JfQ05UTAkJMHgyMDgKPj4+PiArLyoKPj4+ PiArICogQ1BVIGNsb2sgcmVnaXN0ZXIgb2Zmc2V0Cj4+Pj4gKyAqIEFQQl9CQVNFOiAgQVBCMV9C QVNFX0FERFIgPSAweGZkMDAwMDgwCj4+Pj4gKyAqLwo+Pj4+ICsjZGVmaW5lIENQVUNUUkxfQ0xL X0NUUkwwCQkweDAwCj4+Pj4gKyNkZWZpbmUgQ1BVQ1RSTF9DTEtfQ1RSTDEJCTB4MDQKPj4+PiAr I2RlZmluZSBDUFVDVFJMX0NMS19DVFJMMgkJMHgwOAo+Pj4+ICsjZGVmaW5lIENQVUNUUkxfQ0xL X0NUUkwzCQkweDBjCj4+Pj4gKyNkZWZpbmUgQ1BVQ1RSTF9DTEtfQ1RSTDQJCTB4MTAKPj4+PiAr I2RlZmluZSBDUFVDVFJMX0NMS19DVFJMNQkJMHgxNAo+Pj4+ICsjZGVmaW5lIENQVUNUUkxfQ0xL X0NUUkw2CQkweDE4Cj4+Pj4gKyNkZWZpbmUgQ1BVQ1RSTF9DTEtfQ1RSTDcJCTB4MWMKPj4+PiAr Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfRklYRURfUExMX0RDTwkJMAo+Pj4+ICsjZGVmaW5lIENMS0lE X1NZU19BX1NFTAkJCTEwCj4+Pj4gKyNkZWZpbmUgQ0xLSURfU1lTX0FfRElWCQkJMTEKPj4+PiAr I2RlZmluZSBDTEtJRF9TWVNfQQkJCTEyCj4+Pj4gKyNkZWZpbmUgQ0xLSURfU1lTX0JfU0VMCQkJ MTMKPj4+PiArI2RlZmluZSBDTEtJRF9TWVNfQl9ESVYJCQkxNAo+Pj4+ICsjZGVmaW5lIENMS0lE X1NZU19CCQkJMTUKPj4+PiArI2RlZmluZSBDTEtJRF9YVEFMX0NMS1RSRUUJCTE4Cj4+Pj4gKyNk ZWZpbmUgQ0xLSURfWFRBTF9GSVhQTEwJCTE5Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfWFRBTF9VU0Jf UEhZCQkyMAo+Pj4+ICsjZGVmaW5lIENMS0lEX1hUQUxfVVNCX0NUUkwJCTIxCj4+Pj4gKyNkZWZp bmUgQ0xLSURfWFRBTF9ISUZJUExMCQkyMgo+Pj4+ICsjZGVmaW5lIENMS0lEX1hUQUxfU1lTUExM CQkyMwo+Pj4+ICsjZGVmaW5lIENMS0lEX1hUQUxfRERTCQkJMjQKPj4+PiArI2RlZmluZSBDTEtJ RF9EU1BBX0FfU0VMCQk3OAo+Pj4+ICsjZGVmaW5lIENMS0lEX0RTUEFfQV9ESVYJCTc5Cj4+Pj4g KyNkZWZpbmUgQ0xLSURfRFNQQV9BCQkJODAKPj4+PiArI2RlZmluZSBDTEtJRF9EU1BBX0JfU0VM CQk4MQo+Pj4+ICsjZGVmaW5lIENMS0lEX0RTUEFfQl9ESVYJCTgyCj4+Pj4gKyNkZWZpbmUgQ0xL SURfRFNQQV9CCQkJODMKPj4+PiArI2RlZmluZSBDTEtJRF9EU1BCX0FfU0VMCQk4NQo+Pj4+ICsj ZGVmaW5lIENMS0lEX0RTUEJfQV9ESVYJCTg2Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfRFNQQl9BCQkJ ODcKPj4+PiArI2RlZmluZSBDTEtJRF9EU1BCX0JfU0VMCQk4OAo+Pj4+ICsjZGVmaW5lIENMS0lE X0RTUEJfQl9ESVYJCTg5Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfRFNQQl9CCQkJOTAKPj4+PiArI2Rl ZmluZSBDTEtJRF9SVENfMzJLX0NMS0lOCQk5Ngo+Pj4+ICsjZGVmaW5lIENMS0lEX1JUQ18zMktf RElWCQk5Nwo+Pj4+ICsjZGVmaW5lIENMS0lEX1JUQ18zMktfWFRBTAkJOTgKPj4+PiArI2RlZmlu ZSBDTEtJRF9SVENfMzJLX1NFTAkJOTkKPj4+PiArI2RlZmluZSBDTEtJRF9DRUNCXzMyS19DTEtJ TgkJMTA2Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfQ0VDQl8zMktfRElWCQkxMDcKPj4+PiArI2RlZmlu ZSBDTEtJRF9DRUNCXzMyS19TRUxfUFJFCQkxMDgKPj4+PiArI2RlZmluZSBDTEtJRF9DRUNCXzMy S19TRUwJCTEwOQo+Pj4+ICsjZGVmaW5lIENMS0lEX0NFQ0FfMzJLX0NMS0lOCQkxMDEKPj4+PiAr I2RlZmluZSBDTEtJRF9DRUNBXzMyS19ESVYJCTEwMgo+Pj4+ICsjZGVmaW5lIENMS0lEX0NFQ0Ff MzJLX1NFTF9QUkUJCTEwMwo+Pj4+ICsjZGVmaW5lIENMS0lEX0NFQ0FfMzJLX1NFTAkJMTA0Cj4+ Pj4gKyNkZWZpbmUgQ0xLSURfRElWMl9QUkUJCQkxMTMKPj4+PiArI2RlZmluZSBDTEtJRF8yNE1f RElWMgkJCTExNQo+Pj4+ICsjZGVmaW5lIENMS0lEX0dFTl9TRUwJCQkxMTYKPj4+PiArI2RlZmlu ZSBDTEtJRF9HRU5fRElWCQkJMTE3Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfU0FSQURDX0RJVgkJMTIw Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfUFdNX0FfU0VMCQkJMTIyCj4+Pj4gKyNkZWZpbmUgQ0xLSURf UFdNX0FfRElWCQkJMTIzCj4+Pj4gKyNkZWZpbmUgQ0xLSURfUFdNX0JfU0VMCQkJMTI1Cj4+Pj4g KyNkZWZpbmUgQ0xLSURfUFdNX0JfRElWCQkJMTI2Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfUFdNX0Nf U0VMCQkJMTI4Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfUFdNX0NfRElWCQkJMTI5Cj4+Pj4gKyNkZWZp bmUgQ0xLSURfUFdNX0RfU0VMCQkJMTMxCj4+Pj4gKyNkZWZpbmUgQ0xLSURfUFdNX0RfRElWCQkJ MTMyCj4+Pj4gKyNkZWZpbmUgQ0xLSURfUFdNX0VfU0VMCQkJMTM0Cj4+Pj4gKyNkZWZpbmUgQ0xL SURfUFdNX0VfRElWCQkJMTM1Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfUFdNX0ZfU0VMCQkJMTM3Cj4+ Pj4gKyNkZWZpbmUgQ0xLSURfUFdNX0ZfRElWCQkJMTM4Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfU1BJ Q0NfU0VMCQkJMTQwCj4+Pj4gKyNkZWZpbmUgQ0xLSURfU1BJQ0NfRElWCQkJMTQxCj4+Pj4gKyNk ZWZpbmUgQ0xLSURfU1BJQ0NfU0VMMgkJMTQyCj4+Pj4gKyNkZWZpbmUgQ0xLSURfVFNfRElWCQkJ MTQ0Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfU1BJRkNfU0VMCQkJMTQ2Cj4+Pj4gKyNkZWZpbmUgQ0xL SURfU1BJRkNfRElWCQkJMTQ3Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfU1BJRkNfU0VMMgkJMTQ4Cj4+ Pj4gKyNkZWZpbmUgQ0xLSURfVVNCX0JVU19TRUwJCTE1MAo+Pj4+ICsjZGVmaW5lIENMS0lEX1VT Ql9CVVNfRElWCQkxNTEKPj4+PiArI2RlZmluZSBDTEtJRF9TRF9FTU1DX1NFTAkJMTUzCj4+Pj4g KyNkZWZpbmUgQ0xLSURfU0RfRU1NQ19ESVYJCTE1NAo+Pj4+ICsjZGVmaW5lIENMS0lEX1NEX0VN TUNfU0VMMgkJMTU1Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfUFNSQU1fU0VMCQkJMTU3Cj4+Pj4gKyNk ZWZpbmUgQ0xLSURfUFNSQU1fRElWCQkJMTU4Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfUFNSQU1fU0VM MgkJMTU5Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfRE1DX1NFTAkJCTE2MQo+Pj4+ICsjZGVmaW5lIENM S0lEX0RNQ19ESVYJCQkxNjIKPj4+PiArI2RlZmluZSBDTEtJRF9ETUNfU0VMMgkJCTE2Mwo+Pj4+ ICsjZGVmaW5lIE5SX0NMS1MJCQkJMTY1Cj4+Pj4gKwo+Pj4+ICsjaW5jbHVkZSA8ZHQtYmluZGlu Z3MvY2xvY2svYTEtY2xrYy5oPgo+Pj4+ICsKPj4+PiArI2VuZGlmIC8qIF9fQTFfSCAqLwo+Pj4+ IC0tIAo+Pj4+IDEuOS4xCj4+Pgo+Pj4gLgo+Pj4KPiAKPiAuCj4gCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hbWxvZ2ljIG1haWxpbmcgbGlz dApsaW51eC1hbWxvZ2ljQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hbWxvZ2ljCg==