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=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 3A448C43331 for ; Sat, 9 Nov 2019 11:16:30 +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 D726B215EA for ; Sat, 9 Nov 2019 11:16:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="WYPSyadv" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D726B215EA 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-arm-kernel-bounces+infradead-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=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=8KGQ47blPPhT001TsN7JrH3Ln/e3eegZtvo/Dho5TU4=; b=WYPSyadvpw+Yp6cTjv1G2ApeL zBjwM3Ak+LxKiLMKGIbg141AxszxU0nlwjOA1UcXI/9q/q1YXVcC+94iX6Furuye0mHETwl/qCJd4 bkrUtz6MWzY9g6UKVJu3+GTdDiYd4tB64OmqVtamygF7aX8jssJTP+yKwcz6OKtvkScz5SkMN5D6s CGXpoCVZ1Rgm42Rxq7AZa7Xs2BNWSMX0TiiYqiryg0ik/itKUxk+SRZdBuuuE0DkT4J3lETdp5h2H Zw8071sPAY0Q4G8D64bjT3MOgpFmqur3v6uFIP6Lv93+nUX5qkoiXA25RbDYfL1U4ePFd8pITvtBu Oib1Eb4Ag==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iTOjE-0001dK-Ur; Sat, 09 Nov 2019 11:16:28 +0000 Received: from mail-sz.amlogic.com ([211.162.65.117]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iTOj8-0001ch-Ui; Sat, 09 Nov 2019 11:16:27 +0000 Received: from [10.28.18.153] (10.28.18.153) 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; Sat, 9 Nov 2019 19:16:35 +0800 Subject: Re: [PATCH v2 3/3] clk: meson: a1: add support for Amlogic A1 clock driver To: Jerome Brunet , Neil Armstrong References: <1571382865-41978-1-git-send-email-jian.hu@amlogic.com> <1571382865-41978-4-git-send-email-jian.hu@amlogic.com> <1jsgnmba1a.fsf@starbuckisacylon.baylibre.com> <49b33e94-910b-3fd9-4da1-050742d07e93@amlogic.com> <1jblts3v7e.fsf@starbuckisacylon.baylibre.com> From: Jian Hu Message-ID: Date: Sat, 9 Nov 2019 19:16:34 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <1jblts3v7e.fsf@starbuckisacylon.baylibre.com> Content-Language: en-US X-Originating-IP: [10.28.18.153] 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-20191109_031623_249445_994A2AD9 X-CRM114-Status: GOOD ( 29.93 ) 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: Rob Herring , Victor Wan , Jianxin Pan , Martin Blumenstingl , Kevin Hilman , Michael Turquette , linux-kernel@vger.kernel.org, Stephen Boyd , Qiufang Dai , Chandle Zou , 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-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGksIEplcm9tZQoKU29ycnkgZm9yIGxhdGUgcmVseQoKT24gMjAxOS8xMS80IDE2OjI0LCBKZXJv bWUgQnJ1bmV0IHdyb3RlOgo+IAo+IE9uIEZyaSAyNSBPY3QgMjAxOSBhdCAxMzozMiwgSmlhbiBI dSA8amlhbi5odUBhbWxvZ2ljLmNvbT4gd3JvdGU6Cj4gCj4+IEhpLCBKZXJvbWUKPj4KPj4gVGhh bmtzIGZvciB5b3VyIHJldmlldwo+Pgo+PiBPbiAyMDE5LzEwLzIxIDE5OjQxLCBKZXJvbWUgQnJ1 bmV0IHdyb3RlOgo+Pj4KPj4+IE9uIEZyaSAxOCBPY3QgMjAxOSBhdCAwOToxNCwgSmlhbiBIdSA8 amlhbi5odUBhbWxvZ2ljLmNvbT4gd3JvdGU6Cj4+Pgo+Pj4+IFRoZSBBbWxvZ2ljIEExIGNsb2Nr IGluY2x1ZGVzIHRocmVlIGRyaXZlcnM6Cj4+Pj4gcGVyaXBoZXJhbCBjbG9ja3MsIHBsbCBjbG9j a3MsIENQVSBjbG9ja3MuCj4+Pj4gc3lzIHBsbCBhbmQgQ1BVIGNsb2NrcyB3aWxsIGJlIHNlbnQg aW4gbmV4dCBwYXRjaC4KPj4+Pgo+Pj4+IFVubGlrZSB0aGUgcHJldmlvdXMgc2VyaWVzLCB0aGVy ZSBpcyBubyBFRS9BTyBkb21haW4KPj4+PiBpbiBBMSBDTEsgY29udHJvbGxlcnMuCj4+Pj4KPj4+ PiBTaWduZWQtb2ZmLWJ5OiBKaWFuIEh1IDxqaWFuLmh1QGFtbG9naWMuY29tPgo+Pj4+IC0tLQo+ Pj4+ICAgIGRyaXZlcnMvY2xrL21lc29uL0tjb25maWcgIHwgICAxMCArCj4+Pj4gICAgZHJpdmVy cy9jbGsvbWVzb24vTWFrZWZpbGUgfCAgICAxICsKPj4+PiAgICBkcml2ZXJzL2Nsay9tZXNvbi9h MS1wbGwuYyB8ICAzNDUgKysrKysrKwo+Pj4+ICAgIGRyaXZlcnMvY2xrL21lc29uL2ExLXBsbC5o IHwgICA1NiArKwo+Pj4+ICAgIGRyaXZlcnMvY2xrL21lc29uL2ExLmMgICAgIHwgMjI2NCArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+Pj4+ICAgIGRyaXZlcnMv Y2xrL21lc29uL2ExLmggICAgIHwgIDEyMCArKysKPj4+PiAgICA2IGZpbGVzIGNoYW5nZWQsIDI3 OTYgaW5zZXJ0aW9ucygrKQo+Pj4+ICAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9t ZXNvbi9hMS1wbGwuYwo+Pj4+ICAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9tZXNv bi9hMS1wbGwuaAo+Pj4+ICAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9tZXNvbi9h MS5jCj4+Pj4gICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvY2xrL21lc29uL2ExLmgKPj4+ Cj4+PiBJbiB0aGUgbmV4dCB2ZXJzaW9uLCBvbmUKPj4gT0ssIEkgd2lsbCBzZW5kIGExIHBlcmlw aGVyYWwgYW5kIHBsbCBkcml2ZXIgaW4gdHdvIHBhdGNoLgo+Pj4KPj4+Pgo+Pj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2Nsay9tZXNvbi9LY29uZmlnIGIvZHJpdmVycy9jbGsvbWVzb24vS2NvbmZp Zwo+Pj4+IGluZGV4IGRhYmViNDMuLmMyODA5YjIgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVycy9j bGsvbWVzb24vS2NvbmZpZwo+Pj4+ICsrKyBiL2RyaXZlcnMvY2xrL21lc29uL0tjb25maWcKPj4+ PiBAQCAtOTMsNiArOTMsMTYgQEAgY29uZmlnIENPTU1PTl9DTEtfQVhHX0FVRElPCj4+Pj4gICAg CSAgU3VwcG9ydCBmb3IgdGhlIGF1ZGlvIGNsb2NrIGNvbnRyb2xsZXIgb24gQW1Mb2dpYyBBMTEz RCBkZXZpY2VzLAo+Pj4+ICAgIAkgIGFrYSBheGcsIFNheSBZIGlmIHlvdSB3YW50IGF1ZGlvIHN1 YnN5c3RlbSB0byB3b3JrLgo+Pj4+ICAgICtjb25maWcgQ09NTU9OX0NMS19BMQo+Pj4+ICsJYm9v bAo+Pj4+ICsJZGVwZW5kcyBvbiBBUkNIX01FU09OCj4+Pj4gKwlzZWxlY3QgQ09NTU9OX0NMS19N RVNPTl9SRUdNQVAKPj4+PiArCXNlbGVjdCBDT01NT05fQ0xLX01FU09OX0RVQUxESVYKPj4+PiAr CXNlbGVjdCBDT01NT05fQ0xLX01FU09OX1BMTAo+Pj4+ICsJaGVscAo+Pj4+ICsJICBTdXBwb3J0 IGZvciB0aGUgY2xvY2sgY29udHJvbGxlciBvbiBBbWxvZ2ljIEExMTNMIGRldmljZSwKPj4+PiAr CSAgYWthIGExLiBTYXkgWSBpZiB5b3Ugd2FudCBwZXJpcGhlcmFscyB0byB3b3JrLgo+Pj4+ICsK Pj4+PiAgICBjb25maWcgQ09NTU9OX0NMS19HMTJBCj4+Pj4gICAgCWJvb2wKPj4+PiAgICAJZGVw ZW5kcyBvbiBBUkNIX01FU09OCj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL21lc29uL01h a2VmaWxlIGIvZHJpdmVycy9jbGsvbWVzb24vTWFrZWZpbGUKPj4+PiBpbmRleCAzOTM5ZjIxLi4y OGNiYWUxIDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvY2xrL21lc29uL01ha2VmaWxlCj4+Pj4g KysrIGIvZHJpdmVycy9jbGsvbWVzb24vTWFrZWZpbGUKPj4+PiBAQCAtMTYsNiArMTYsNyBAQCBv YmotJChDT05GSUdfQ09NTU9OX0NMS19NRVNPTl9WSURfUExMX0RJVikgKz0gdmlkLXBsbC1kaXYu bwo+Pj4+ICAgICAgb2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfQVhHKSArPSBheGcubyBheGctYW9j bGsubwo+Pj4+ICAgIG9iai0kKENPTkZJR19DT01NT05fQ0xLX0FYR19BVURJTykgKz0gYXhnLWF1 ZGlvLm8KPj4+PiArb2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfQTEpICs9IGExLXBsbC5vIGExLm8K Pj4+Cj4+PiBTbyBmYXIsIGFsbCB0aGUgY29udHJvbGxlciBoYWQgdGhlcmUgb3duIG9wdGlvbiwg SSBkb24ndCBzZWUgd2h5IGl0Cj4+PiBzaG91bGQgYmUgZGlmZmVyZW50IGhlcmUuCj4+Pgo+PiBP SywgSSB3aWxsIGFkZCB0aGUgb3RoZXIgb3B0aW9uIENPTkZJR19DT01NT05fQ0xLX0ExX1BMTCBm b3IgcGxsIGRyaXZlcgo+Pj4+ICAgIG9iai0kKENPTkZJR19DT01NT05fQ0xLX0dYQkIpICs9IGd4 YmIubyBneGJiLWFvY2xrLm8KPj4+PiAgICBvYmotJChDT05GSUdfQ09NTU9OX0NMS19HMTJBKSAr PSBnMTJhLm8gZzEyYS1hb2Nsay5vCj4+Pj4gICAgb2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfTUVT T044QikgKz0gbWVzb244Yi5vCj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL21lc29uL2Ex LXBsbC5jIGIvZHJpdmVycy9jbGsvbWVzb24vYTEtcGxsLmMKPj4+PiBuZXcgZmlsZSBtb2RlIDEw MDY0NAo+Pj4+IGluZGV4IDAwMDAwMDAuLjQ4NmQ5NjQKPj4+PiAtLS0gL2Rldi9udWxsCj4+Pj4g KysrIGIvZHJpdmVycy9jbGsvbWVzb24vYTEtcGxsLmMKPj4+PiBAQCAtMCwwICsxLDM0NSBAQAo+ Pj4+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogKEdQTC0yLjArIE9SIE1JVCkKPj4+PiAr LyoKPj4+PiArICogQ29weXJpZ2h0IChjKSAyMDE5IEFtbG9naWMsIEluYy4gQWxsIHJpZ2h0cyBy ZXNlcnZlZC4KPj4+PiArICogQXV0aG9yOiBKaWFuIEh1IDxqaWFuLmh1QGFtbG9naWMuY29tPgo+ Pj4+ICsgKi8KPj4+PiArCj4+Pj4gKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4K Pj4+Cj4+PiBIdW0gLi4uIGxvb2tzIGxpa2Ugc29tZSB0aGluZ3MgYXJlIG1pc3NpbmcgaGVyZQo+ Pj4KPj4+ICNpbmNsdWRlIDxsaW51eC9vZl9kZXZpY2UuaD4KPj4+ICNpbmNsdWRlIDxsaW51eC9j bGstcHJvdmlkZXIuaD4KPj4+Cj4+PiA/Cj4+ICMxCj4+IFRoZXJlIGlzIDxsaW51eC9jbGstcHJv dmlkZXIuaD4gaW4gbWVzb24tZWVjbGsuaCBmaWxlLAo+Pgo+PiBhbmQgZm9yIEExIGRyaXZlcihh MS5jL2ExLXBsbC5jKSB0aGUgaGVhZCBmaWxlIGlzIG5vdCByZXF1aWVkLgo+Pgo+PiAjMgo+PiBG b3IgQTEgZHJpdmVyLCB0aGUgZmlsZSAibGludXgvb2ZfZGV2aWNlLmgiIGlzIG5vdCByZXF1aXJl ZC4KPj4gSXQgaXMgcmVxdWlyZWQgYnkgbWVzb24tZWVjbGsuYyBpbiBmYWN0Lgo+IAo+IFlvdSBh cmUgdXNpbmcgd2hhdCBpcyBwcm92aWRlZCBieSB0aGVzZSBoZWFkZXJzIGRpcmVjdGx5IGluIHRo aXMgZmlsZQo+IElmIG1lc29uLWVlY2xrIGV2ZXIgY2hhbmdlcywgeW91ciBkcml2ZXIgYnJlYWtz Cj4gCk9LLCBJIHdpbGwgYWRkIHRoZSB0d28gaGVhZGVyIGZpbGUuCj4+Pgo+Pj4+ICsjaW5jbHVk ZSAiY2xrLXBsbC5oIgo+Pj4+ICsjaW5jbHVkZSAibWVzb24tZWVjbGsuaCIKPj4+PiArI2luY2x1 ZGUgImExLXBsbC5oIgo+Pj4KPj4+IEFscGhhbnVtZXJpYyBvcmRlciBwbGVhc2UKPj4+Cj4+IE9L LCBJIHdpbGwgY2hhbmdlIGl0IGluIHRoZSBuZXh0IHZlcnNpb24uCj4+Cj4+Pj4gKwo+Pj4+ICtz dGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZml4ZWRfcGxsX2RjbyA9IHsKPj4+PiArCS5kYXRh ID0gJihzdHJ1Y3QgbWVzb25fY2xrX3BsbF9kYXRhKXsKPj4+PiArCQkuZW4gPSB7Cj4+Pj4gKwkJ CS5yZWdfb2ZmID0gQU5BQ1RSTF9GSVhQTExfQ1RSTDAsCj4+Pj4gKwkJCS5zaGlmdCAgID0gMjgs Cj4+Pj4gKwkJCS53aWR0aCAgID0gMSwKPj4+PiArCQl9LAo+Pj4+ICsJCS5tID0gewo+Pj4+ICsJ CQkucmVnX29mZiA9IEFOQUNUUkxfRklYUExMX0NUUkwwLAo+Pj4+ICsJCQkuc2hpZnQgICA9IDAs Cj4+Pj4gKwkJCS53aWR0aCAgID0gOCwKPj4+PiArCQl9LAo+Pj4+ICsJCS5uID0gewo+Pj4+ICsJ CQkucmVnX29mZiA9IEFOQUNUUkxfRklYUExMX0NUUkwwLAo+Pj4+ICsJCQkuc2hpZnQgICA9IDEw LAo+Pj4+ICsJCQkud2lkdGggICA9IDUsCj4+Pj4gKwkJfSwKPj4+PiArCQkuZnJhYyA9IHsKPj4+ PiArCQkJLnJlZ19vZmYgPSBBTkFDVFJMX0ZJWFBMTF9DVFJMMSwKPj4+PiArCQkJLnNoaWZ0ICAg PSAwLAo+Pj4+ICsJCQkud2lkdGggICA9IDE5LAo+Pj4+ICsJCX0sCj4+Pj4gKwkJLmwgPSB7Cj4+ Pj4gKwkJCS5yZWdfb2ZmID0gQU5BQ1RSTF9GSVhQTExfQ1RSTDAsCj4+Pj4gKwkJCS5zaGlmdCAg ID0gMzEsCj4+Pj4gKwkJCS53aWR0aCAgID0gMSwKPj4+PiArCQl9LAo+Pj4+ICsJCS5yc3QgPSB7 Cj4+Pj4gKwkJCS5yZWdfb2ZmID0gQU5BQ1RSTF9GSVhQTExfQ1RSTDAsCj4+Pj4gKwkJCS5zaGlm dCAgID0gMjksCj4+Pj4gKwkJCS53aWR0aCAgID0gMSwKPj4+PiArCQl9LAo+Pj4+ICsJfSwKPj4+ PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUgPSAi Zml4ZWRfcGxsX2RjbyIsCj4+Pj4gKwkJLm9wcyA9ICZtZXNvbl9jbGtfcGxsX3JvX29wcywKPj4+ PiArCQkucGFyZW50X2RhdGEgPSAmKGNvbnN0IHN0cnVjdCBjbGtfcGFyZW50X2RhdGEpewo+Pj4+ ICsJCQkuZndfbmFtZSA9ICJ4dGFsX2ZpeHBsbCIsCj4+Pj4gKwkJCS5uYW1lID0gInh0YWxfZml4 cGxsIiwKPj4+PiArCQl9LAo+Pj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+Pj4gKwl9LAo+Pj4+ ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2ZpeGVkX3BsbCA9 IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+ICsJ CS5vZmZzZXQgPSBBTkFDVFJMX0ZJWFBMTF9DVFJMMCwKPj4+PiArCQkuYml0X2lkeCA9IDIwLAo+ Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4+ ICsJCS5uYW1lID0gImZpeGVkX3BsbCIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVf b3BzLAo+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+ Pj4gKwkJCSZhMV9maXhlZF9wbGxfZGNvLmh3Cj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVu dHMgPSAxLAo+Pj4+ICsJCS8qCj4+Pj4gKwkJICogVGhpcyBjbG9jayBpcyBmY2xrX2RpdjIvMy80 J3MgcGFyZW50LAo+Pj4+ICsJCSAqIEhvd2V2ZXIsIGZjbGtfZGl2Mi8zLzUgZmVlZHMgQVhJL0FQ Qi9ERFIuCj4+Pgo+Pj4gaXMgaXQgZmNsa19kaXYyLzMvNCBvciBmY2xrX2RpdjIvMy81ID8KPj4+ Cj4+Pj4gKwkJICogSXQgaXMgcmVxdWlyZWQgYnkgdGhlIHBsYXRmb3JtIHRvIG9wZXJhdGUgY29y cmVjdGx5Lgo+Pj4+ICsJCSAqIFVudGlsIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uIGFyZSBtZXQs IHdlIG5lZWQgdGhpcyBjbG9jayB0bwo+Pj4+ICsJCSAqIGJlIG1hcmtlZCBhcyBjcml0aWNhbDoK Pj4+PiArCQkgKiBhKSBNYXJrIHRoZSBjbG9jayB1c2VkIGJ5IGEgZmlybXdhcmUgcmVzb3VyY2Us IGlmIHBvc3NpYmxlCj4+Pj4gKwkJICogYikgQ0NGIGhhcyBhIGNsb2NrIGhhbmQtb2ZmIG1lY2hh bmlzbSB0byBtYWtlIHRoZSBzdXJlIHRoZQo+Pj4+ICsJCSAqICAgIGNsb2NrIHN0YXlzIG9uIHVu dGlsIHRoZSBwcm9wZXIgZHJpdmVyIGNvbWVzIGFsb25nCj4+Pj4gKwkJICovCj4+Pgo+Pj4gRG9u J3QgYmxpbmRseSBjb3B5L3Bhc3RlIGNvbW1lbnRzIGZyb20gb3RoZXIgZHJpdmVycy4gVGhlcmUg aXMgbm8gZHJpdmVyCj4+PiBmb3IgdGhlIGRldmljZXMgeW91IGFyZSBtZW50aW9ubmluZyBzbyB0 aGUgZW5kIG9mIHRoZSBjb21tZW50IGlzCj4+PiBjb25mdXNpbmcuIFRoZSAzIGZpcnN0IGxpbmVz IHdlcmUgZW5vdWdoCj4+Pgo+PiBPSywgSSB3aWxsIHJlbW92ZSB0aGUgY29uZnVzaW5nIGNvbW1l bnRzCj4+Cj4+Pj4gKwkJLmZsYWdzID0gQ0xLX0lTX0NSSVRJQ0FMLAo+Pj4KPj4+ID5Gcm9tIHlv dXIgY29tbWVudCwgSSB1bmRlcnN0YW5kIHRoYXQgc29tZSBjaGlsZCBhcmUgY3JpdGljYWwsIG5v dCB0aGlzCj4+PiBwYXJ0aWN1bGFyIChvciBhdCBsZWFzdCwgbm90IGRpcmVjdGx5KS4gU28gdGhp cyBjYW4gYmUgcmVtb3ZlZCBBRkFJQ1QKPj4+Cj4+PiBZb3Ugc2hvdWxkIGV2ZW4gbmVlZCBDTEtf SUdOT1JFX1VOVVNFRCBmb3IgdGhpcyBvbmUgc2luY2UgdGhlIGNsb2NrIHdpbGwKPj4+IGFscmVh ZHkgYmUgZW5hYmxlZCBiZWZvcmUgdGhlIGxhdGVfaW5pdCgpIGtpY2tzIGluCj4+Pgo+PiBPSywg SSB3aWxsIHJlcGxhY2UgaXQgYXMgQ0xLX0lHTk9SRV9VTlVTRUQuCj4+Pj4gKwl9LAo+Pj4+ICt9 Owo+Pj4+ICsKPj4+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBwbGxfbXVsdF9yYW5nZSBhMV9oaWZp X3BsbF9tdWx0X3JhbmdlID0gewo+Pj4+ICsJLm1pbiA9IDMyLAo+Pj4+ICsJLm1heCA9IDY0LAo+ Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIGNvbnN0IHN0cnVjdCByZWdfc2VxdWVuY2UgYTFf aGlmaV9pbml0X3JlZ3NbXSA9IHsKPj4+PiArCXsgLnJlZyA9IEFOQUNUUkxfSElGSVBMTF9DVFJM MSwgLmRlZiA9IDB4MDE4MDAwMDAgfSwKPj4+PiArCXsgLnJlZyA9IEFOQUNUUkxfSElGSVBMTF9D VFJMMiwgLmRlZiA9IDB4MDAwMDExMDAgfSwKPj4+PiArCXsgLnJlZyA9IEFOQUNUUkxfSElGSVBM TF9DVFJMMywgLmRlZiA9IDB4MTAwYTExMDAgfSwKPj4+PiArCXsgLnJlZyA9IEFOQUNUUkxfSElG SVBMTF9DVFJMNCwgLmRlZiA9IDB4MDAzMDIwMDAgfSwKPj4+PiArCXsgLnJlZyA9IEFOQUNUUkxf SElGSVBMTF9DVFJMMCwgLmRlZiA9IDB4MDFmMTg0NDAgfSwKPj4+PiArCXsgLnJlZyA9IEFOQUNU UkxfSElGSVBMTF9DVFJMMCwgLmRlZiA9IDB4MTFmMTg0NDAsIC5kZWxheV91cyA9IDEwIH0sCj4+ Pj4gKwl7IC5yZWcgPSBBTkFDVFJMX0hJRklQTExfQ1RSTDAsIC5kZWYgPSAweDE1ZjE4NDQwLCAu ZGVsYXlfdXMgPSA0MCB9LAo+Pj4+ICsJeyAucmVnID0gQU5BQ1RSTF9ISUZJUExMX0NUUkwyLCAu ZGVmID0gMHgwMDAwMTE0MCB9LAo+Pj4+ICsJeyAucmVnID0gQU5BQ1RSTF9ISUZJUExMX0NUUkwy LCAuZGVmID0gMHgwMDAwMTEwMCB9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVj dCBjbGtfcmVnbWFwIGExX2hpZmlfcGxsID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBtZXNv bl9jbGtfcGxsX2RhdGEpewo+Pj4+ICsJCS5lbiA9IHsKPj4+PiArCQkJLnJlZ19vZmYgPSBBTkFD VFJMX0hJRklQTExfQ1RSTDAsCj4+Pj4gKwkJCS5zaGlmdCAgID0gMjgsCj4+Pj4gKwkJCS53aWR0 aCAgID0gMSwKPj4+PiArCQl9LAo+Pj4+ICsJCS5tID0gewo+Pj4+ICsJCQkucmVnX29mZiA9IEFO QUNUUkxfSElGSVBMTF9DVFJMMCwKPj4+PiArCQkJLnNoaWZ0ICAgPSAwLAo+Pj4+ICsJCQkud2lk dGggICA9IDgsCj4+Pj4gKwkJfSwKPj4+PiArCQkubiA9IHsKPj4+PiArCQkJLnJlZ19vZmYgPSBB TkFDVFJMX0hJRklQTExfQ1RSTDAsCj4+Pj4gKwkJCS5zaGlmdCAgID0gMTAsCj4+Pj4gKwkJCS53 aWR0aCAgID0gNSwKPj4+PiArCQl9LAo+Pj4+ICsJCS5mcmFjID0gewo+Pj4+ICsJCQkucmVnX29m ZiA9IEFOQUNUUkxfSElGSVBMTF9DVFJMMSwKPj4+PiArCQkJLnNoaWZ0ICAgPSAwLAo+Pj4+ICsJ CQkud2lkdGggICA9IDE5LAo+Pj4+ICsJCX0sCj4+Pj4gKwkJLmwgPSB7Cj4+Pj4gKwkJCS5yZWdf b2ZmID0gQU5BQ1RSTF9ISUZJUExMX1NUUywKPj4+PiArCQkJLnNoaWZ0ICAgPSAzMSwKPj4+PiAr CQkJLndpZHRoICAgPSAxLAo+Pj4+ICsJCX0sCj4+Pj4gKwkJLnJhbmdlID0gJmExX2hpZmlfcGxs X211bHRfcmFuZ2UsCj4+Pj4gKwkJLmluaXRfcmVncyA9IGExX2hpZmlfaW5pdF9yZWdzLAo+Pj4+ ICsJCS5pbml0X2NvdW50ID0gQVJSQVlfU0laRShhMV9oaWZpX2luaXRfcmVncyksCj4+Pj4gKwkJ LnN0cmljdF9zZXF1ZW5jZSA9IHRydWUsCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0 cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+PiArCQkubmFtZSA9ICJoaWZpX3BsbCIsCj4+Pj4gKwkJ Lm9wcyA9ICZtZXNvbl9jbGtfcGxsX29wcywKPj4+PiArCQkucGFyZW50X2RhdGEgPSAmKGNvbnN0 IHN0cnVjdCBjbGtfcGFyZW50X2RhdGEpewo+Pj4+ICsJCQkuZndfbmFtZSA9ICJ4dGFsX2ZpeHBs bCIsCj4+Pj4gKwkJCS5uYW1lID0gInh0YWxfZml4cGxsIiwKPj4+Cj4+PiBCb3RoIHNob3VsZCBw cm92aWRlZCB3aGVuIGEgY29udHJvbGxlciB0cmFuc2l0aW9uIGZyb20gdGhlIG9sZCB3YXkgb2YK Pj4+IGRlc2NyaWJpbmcgcGFyZW50IHRvIHRoZSBuZXcgd2F5LiBUaGlzIGlzIGEgbmV3IGNvbnRy b2xsZXIgc28gaXQgZG9lcwo+Pj4gbm90IGFwcGx5Lgo+PiBJIGRvIG5vdCB1bmRlcnN0YW5kIHdo eSBpdCBkb2VzIG5vdCBhcHBseSwgY291bGQgeW91IGV4cGxhaW4gbW9yZT8KPiAKPiBZb3VyIGRy aXZlciBpcyBuZXcsIGl0IGlzIG5vdCBzb21ldGhpbmcgb2xkIHRyYW5zaXRpb25pbmcgZnJvbSBn bG9iYWwKPiBuYW1lIHRvIGNsb2NrIGluIERUICEKPiAKPj4KPj4gVGhlIHh0YWxfZml4cGxsIGNs b2NrIGlzIHJlZ2lzdGVyZWQgaW4gYW5vdGhlciBwZXJpcGhlcmFsIGRyaXZlciwgSWYgZG8gbm90 Cj4+IGRlc3JpYmUgdGhlICJuYW1lIiBtZW1iZXIgaW4gcGFyZW50X2RhdGEsICJmd19uYW1lIiBk b2VzIG5vdCB3b3JrIGJlY2F1c2UKPj4gaXQgaGFzIG5vdCBiZWVuIHJlZ2lzdGVyZWQuIHRoZSBo aWZpX3BsbCBwYXJlbnQgd2lsbCBiZSBudWxsIGluCj4+IC9zeXMva2VybmVsL2RlYnVnL2Nsay9o aWZpX3BsbC9jbGtfcGFyZW50Lgo+Pgo+PiBISUZJIFBMTCB3aWxsIGJlIGEgb3JwaGFuIGNsb2Nr LCBidXQgaXRzIHBhcmVudCBzaG91bGQgYmUgeHRhbF9maXhwbGwuCj4gCj4gVGhlcmUgd2lsbCBi ZSBhbiBvcnBoYW4geWVzLCB0ZW1wb3JhcmlseSwgdW50aWwgYm90aCBjb250cm9sbGVycyBhcmUg dXAuCj4gT25jZSBib3RoIGNvbnRyb2xsZXIgYXJlIHVwLCB0aGUgY2xvY2sgd2lsbCBiZSByZXBh cmVudGVkIGlmIG5lY2Vzc2FyeS4KPiAKPj4KPj4gU28gYm90aCBvZiAiZndfbmFtZSIgb2YgIm5h bWUiIHNob3VsZCBiZSBkZXNjcmliZWQuCj4gCj4gTm8KPiAKCiMxCgpIZXJlLCBJIGFtIHN0aWxs IGNvbmZ1c2VkLgogRnJvbSB0aGUgcG9pbnQgb2YgdmlldyBvZiB0aGUgcGhlbm9tZW5vbu+8jCB0 aGUgbmFtZSBpbiBwYXJlbnRfZGF0YSBpcyAKcmVxdWlyZWQuCgoKSElGSSBQTEwgaXMgZGVzY3Jp YmVkIGxpa2UgdGhpczoKCgkucGFyZW50X2RhdGEgPSAmKGNvbnN0IHN0cnVjdCBjbGtfcGFyZW50 X2RhdGEpewoJCS5md19uYW1lID0gInh0YWxfaGlmaXBsbCIsCgkJLm5hbWUgPSAieHRhbF9oaWZp cGxsIgoJfQoKRml4ZWQgUExMIGlzIGRlc2NyaWJlZCBsaWtlIHRoaXM6CgoJLnBhcmVudF9kYXRh ID0gJihjb25zdCBzdHJ1Y3QgY2xrX3BhcmVudF9kYXRhKXsKCQkuZndfbmFtZSA9ICJ4dGFsX2Zp eHBsbCIsCgl9LAoKQWZ0ZXIgdGhlIHN5c3RlbSBib290IGNvbXBsZXRlbHnvvIwgcnVuIGNhdCAK L3N5cy9rZXJuZWwvZGVidWcvY2xrL2Nsa19zdW1tYXJ5LCBIZXJlIGlzIHRoZSByZXN1bHQ6Cgoj IGNhdCAvc3lzL2tlcm5lbC9kZWJ1Zy9jbGsvY2xrX3N1bW1hcnkKICAgICAgICAgICAgICAgICAg ZW5hYmxlICBwcmVwYXJlICBwcm90ZWN0ICAgICAgICAgICAgICAgICAgICBkdXR5CiAgICBjbG9j ayAgICAgICAgIGNvdW50ICAgY291bnQgICAgY291bnQgIHJhdGUgYWNjdXJhY3kgcGhhc2UgY3lj bGUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KICB4dGFsICAgICAgICAgICAgNSAgICAgICAgNSAgICAgICAgMCAgICAy NDAwMDAwMCAgICAwICAgICAwICA1MDAwMAogICAgIHRzX2RpdiAgICAgICAwICAgICAgICAwICAg ICAgICAwICAgIDI0MDAwMDAwICAgIDAgICAgIDAgIDUwMDAwCiAgICAgICAgdHMgICAgICAgIDAg ICAgICAgIDAgICAgICAgIDAgICAgMjQwMDAwMDAgICAgMCAgICAgMCAgNTAwMDAKICAgICBwd21f Zl9zZWwgICAgMCAgICAgICAgMCAgICAgICAgMCAgICAyNDAwMDAwMCAgICAwICAgICAwICA1MDAw MAogICAgICAgIHB3bV9mX2RpdiAwICAgICAgICAwICAgICAgICAwICAgIDI0MDAwMDAwICAgIDAg ICAgIDAgIDUwMDAwCiAgICAgICAgICAgcHdtX2YgIDAgICAgICAgIDAgICAgICAgIDAgICAgMjQw MDAwMDAgICAgMCAgICAgMCAgNTAwMDAKLi4uLi4uCiAgICAgeHRhbF9zeXNwbGwgIDAgICAgICAg IDAgICAgICAgIDAgICAgMjQwMDAwMDAgICAgMCAgICAgMCAgNTAwMDAKICAgICB4dGFsX2hpZmlw bGwgMCAgICAgICAgMCAgICAgICAgMCAgICAyNDAwMDAwMCAgICAwICAgICAwICA1MDAwMAogICAg ICAgIGhpZmlfcGxsICAwICAgICAgICAwICAgICAgICAwICAxNTM2MDAwMDAwICAgIDAgICAgIDAg IDUwMDAwCiAgICAgeHRhbF91c2JfY3RybCAwICAgICAgICAwICAgICAgICAwICAgIDI0MDAwMDAw ICAgMCAgICAgMCAgNTAwMDAKICAgICB4dGFsX3VzYl9waHkgIDAgICAgICAgIDAgICAgICAgIDAg ICAgMjQwMDAwMDAgICAwICAgICAwICA1MDAwMAogICAgIHh0YWxfZml4cGxsICAgMCAgICAgICAg MCAgICAgICAgMCAgICAyNDAwMDAwMCAgIDAgICAgIDAgIDUwMDAwCiAgICAgeHRhbF9jbGt0cmVl ICAwICAgICAgICAwICAgICAgICAwICAgIDI0MDAwMDAwICAgMCAgICAgMCAgNTAwMDAKICBmaXhl ZF9wbGxfZGNvICAgIDEgICAgICAgIDEgICAgICAgIDAgICAgICAgICAwICAgMCAgICAgMCAgNTAw MDAKICAgICBmaXhlZF9wbGwgICAgIDMgICAgICAgIDMgICAgICAgIDAgICAgICAgICAwICAgMCAg ICAgMCAgNTAwMDAKICAgICAgICBmY2xrX2RpdjdfZGl2IDAgICAgIDAgICAgICAgIDAgICAgICAg ICAwICAgMCAgICAgMCAgNTAwMDAKLi4uLgoKdGhlIGhpZmlfcGxsJ3MgcGFyZW50IGlzIHh0YWxf aGlmaSwgQW5kIHRoZSBoaWZpX3BsbCBkZWZhdWx0IHJhdGUgaXMgcmlnaHQuCgpidXQgdGhlIGZp eGVkX3BsbF9kY28gaXMgYSBvcnBoYW4gY2xvY2ssIGl0cyBwYXJlbnQgaXMgTlVMTC5BbmQgaXRz IHJhdGUKaXMgemVyby5XaGVuIHRoZSBuYW1lIGluIHBhcmVudF9kYXRhIGlzIGFkZGVkLCBpdHMg cGFyZW50IGlzIHh0YWxfZml4cGxsLgoKIyBjYXQgL3N5cy9rZXJuZWwvZGVidWcvY2xrL2ZpeGVk X3BsbF9kY28vY2xrX3BhcmVudAojCiMgY2F0IC9zeXMva2VybmVsL2RlYnVnL2Nsay9maXhlZF9w bGxfZGNvL2Nsa19yYXRlCjAKCgojMgpJbiAgLi9kcml2ZXJzL2Nsay9xY29tL2djYy1zbTgxNTAu YwpGb3Igc29tZSBjbG9ja3MsIEJvdGggZndfbmFtZSBhbmQgbmFtZSBhcmUgZGVzY3JpYmVkIGlu IHBhcmVudF9kYXRhIHN0cnVjdC4KCj4+Cj4+Pgo+Pj4gU2FtZSBmb3IgdGhlIG90aGVyIG9jY3Vy ZW5jZXMuCj4+Pgo+Pj4gQWxzbywgSSB0aGluayB5b3UgbWVhbnQgeHRhbF9oaWZpcGxsCj4+IFll cyxJIHdpbGwgY29ycmVjdCBpdC4KPj4+Cj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMg PSAxLAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX2Zp eGVkX2ZhY3RvciBhMV9mY2xrX2RpdjJfZGl2ID0gewo+Pj4+ICsJLm11bHQgPSAxLAo+Pj4+ICsJ LmRpdiA9IDIsCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4+ ICsJCS5uYW1lID0gImZjbGtfZGl2Ml9kaXYiLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX2ZpeGVkX2Zh Y3Rvcl9vcHMsCj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10p IHsKPj4+PiArCQkJJmExX2ZpeGVkX3BsbC5odwo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJl bnRzID0gMSwKPj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNs a19yZWdtYXAgYTFfZmNsa19kaXYyID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVn bWFwX2dhdGVfZGF0YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IEFOQUNUUkxfRklYUExMX0NUUkwwLAo+ Pj4+ICsJCS5iaXRfaWR4ID0gMjEsCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVj dCBjbGtfaW5pdF9kYXRhKXsKPj4+PiArCQkubmFtZSA9ICJmY2xrX2RpdjIiLAo+Pj4+ICsJCS5v cHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBz dHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFfZmNsa19kaXYyX2Rpdi5odwo+Pj4+ICsJ CX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCQkvKgo+Pj4+ICsJCSAqIFRoaXMg Y2xvY2sgaXMgdXNlZCBieSBERFIgY2xvY2sgaW4gQkwyIGZpcm13YXJlCj4+Pj4gKwkJICogYW5k IGlzIHJlcXVpcmVkIGJ5IHRoZSBwbGF0Zm9ybSB0byBvcGVyYXRlIGNvcnJlY3RseS4KPj4+PiAr CQkgKiBVbnRpbCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbiBhcmUgbWV0LCB3ZSBuZWVkIHRoaXMg Y2xvY2sgdG8KPj4+PiArCQkgKiBiZSBtYXJrZWQgYXMgY3JpdGljYWw6Cj4+Pj4gKwkJICogYSkg TWFyayB0aGUgY2xvY2sgdXNlZCBieSBhIGZpcm13YXJlIHJlc291cmNlLCBpZiBwb3NzaWJsZQo+ Pj4+ICsJCSAqIGIpIENDRiBoYXMgYSBjbG9jayBoYW5kLW9mZiBtZWNoYW5pc20gdG8gbWFrZSB0 aGUgc3VyZSB0aGUKPj4+PiArCQkgKiAgICBjbG9jayBzdGF5cyBvbiB1bnRpbCB0aGUgcHJvcGVy IGRyaXZlciBjb21lcyBhbG9uZwo+Pj4+ICsJCSAqLwo+Pj4+ICsJCS5mbGFncyA9IENMS19JU19D UklUSUNBTCwKPj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNs a19maXhlZF9mYWN0b3IgYTFfZmNsa19kaXYzX2RpdiA9IHsKPj4+PiArCS5tdWx0ID0gMSwKPj4+ PiArCS5kaXYgPSAzLAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsK Pj4+PiArCQkubmFtZSA9ICJmY2xrX2RpdjNfZGl2IiwKPj4+PiArCQkub3BzID0gJmNsa19maXhl ZF9mYWN0b3Jfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcg KltdKSB7Cj4+Pj4gKwkJCSZhMV9maXhlZF9wbGwuaHcKPj4+PiArCQl9LAo+Pj4+ICsJCS5udW1f cGFyZW50cyA9IDEsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVj dCBjbGtfcmVnbWFwIGExX2ZjbGtfZGl2MyA9IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xr X3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQgPSBBTkFDVFJMX0ZJWFBMTF9DVFJM MCwKPj4+PiArCQkuYml0X2lkeCA9IDIyLAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihz dHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUgPSAiZmNsa19kaXYzIiwKPj4+PiAr CQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29u c3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+PiArCQkJJmExX2ZjbGtfZGl2M19kaXYuaHcKPj4+ PiArCQl9LAo+Pj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+Pj4gKwkJLyoKPj4+PiArCQkgKiBU aGlzIGNsb2NrIGlzIHVzZWQgYnkgQVBCIGJ1cyB3aGljaCBzZXR0ZWQgaW4gUm9tY29kZQo+Pj4+ ICsJCSAqIGFuZCBpcyByZXF1aXJlZCBieSB0aGUgcGxhdGZvcm0gdG8gb3BlcmF0ZSBjb3JyZWN0 bHkuCj4+Pj4gKwkJICogVW50aWwgdGhlIGZvbGxvd2luZyBjb25kaXRpb24gYXJlIG1ldCwgd2Ug bmVlZCB0aGlzIGNsb2NrIHRvCj4+Pj4gKwkJICogYmUgbWFya2VkIGFzIGNyaXRpY2FsOgo+Pj4+ ICsJCSAqIGEpIE1hcmsgdGhlIGNsb2NrIHVzZWQgYnkgYSBmaXJtd2FyZSByZXNvdXJjZSwgaWYg cG9zc2libGUKPj4+PiArCQkgKiBiKSBDQ0YgaGFzIGEgY2xvY2sgaGFuZC1vZmYgbWVjaGFuaXNt IHRvIG1ha2UgdGhlIHN1cmUgdGhlCj4+Pj4gKwkJICogICAgY2xvY2sgc3RheXMgb24gdW50aWwg dGhlIHByb3BlciBkcml2ZXIgY29tZXMgYWxvbmcKPj4+PiArCQkgKi8KPj4+PiArCQkuZmxhZ3Mg PSBDTEtfSVNfQ1JJVElDQUwsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGlj IHN0cnVjdCBjbGtfZml4ZWRfZmFjdG9yIGExX2ZjbGtfZGl2NV9kaXYgPSB7Cj4+Pj4gKwkubXVs dCA9IDEsCj4+Pj4gKwkuZGl2ID0gNSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2lu aXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUgPSAiZmNsa19kaXY1X2RpdiIsCj4+Pj4gKwkJLm9wcyA9 ICZjbGtfZml4ZWRfZmFjdG9yX29wcywKPj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1 Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFfZml4ZWRfcGxsLmh3Cj4+Pj4gKwkJfSwKPj4+ PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gK3N0 YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9mY2xrX2RpdjUgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYo c3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+PiArCQkub2Zmc2V0ID0gQU5BQ1RSTF9G SVhQTExfQ1RSTDAsCj4+Pj4gKwkJLmJpdF9pZHggPSAyMywKPj4+PiArCX0sCj4+Pj4gKwkuaHcu aW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4+ICsJCS5uYW1lID0gImZjbGtfZGl2 NSIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4+ICsJCS5wYXJlbnRf aHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4gKwkJCSZhMV9mY2xrX2RpdjVf ZGl2Lmh3Cj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJCS8qCj4+ Pj4gKwkJICogVGhpcyBjbG9jayBpcyB1c2VkIGJ5IEFYSSBidXMgd2hpY2ggc2V0dGVkIGluIFJv bWNvZGUKPj4+PiArCQkgKiBhbmQgaXMgcmVxdWlyZWQgYnkgdGhlIHBsYXRmb3JtIHRvIG9wZXJh dGUgY29ycmVjdGx5Lgo+Pj4+ICsJCSAqIFVudGlsIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uIGFy ZSBtZXQsIHdlIG5lZWQgdGhpcyBjbG9jayB0bwo+Pj4+ICsJCSAqIGJlIG1hcmtlZCBhcyBjcml0 aWNhbDoKPj4+PiArCQkgKiBhKSBNYXJrIHRoZSBjbG9jayB1c2VkIGJ5IGEgZmlybXdhcmUgcmVz b3VyY2UsIGlmIHBvc3NpYmxlCj4+Pj4gKwkJICogYikgQ0NGIGhhcyBhIGNsb2NrIGhhbmQtb2Zm IG1lY2hhbmlzbSB0byBtYWtlIHRoZSBzdXJlIHRoZQo+Pj4+ICsJCSAqICAgIGNsb2NrIHN0YXlz IG9uIHVudGlsIHRoZSBwcm9wZXIgZHJpdmVyIGNvbWVzIGFsb25nCj4+Pj4gKwkJICovCj4+Pj4g KwkJLmZsYWdzID0gQ0xLX0lTX0NSSVRJQ0FMLAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+ Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX2ZpeGVkX2ZhY3RvciBhMV9mY2xrX2RpdjdfZGl2ID0gewo+ Pj4+ICsJLm11bHQgPSAxLAo+Pj4+ICsJLmRpdiA9IDcsCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3Ry dWN0IGNsa19pbml0X2RhdGEpewo+Pj4+ICsJCS5uYW1lID0gImZjbGtfZGl2N19kaXYiLAo+Pj4+ ICsJCS5vcHMgPSAmY2xrX2ZpeGVkX2ZhY3Rvcl9vcHMsCj4+Pj4gKwkJLnBhcmVudF9od3MgPSAo Y29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+PiArCQkJJmExX2ZpeGVkX3BsbC5odwo+Pj4+ ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4g Kwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZmNsa19kaXY3ID0gewo+Pj4+ICsJ LmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+Pj4gKwkJLm9mZnNldCA9 IEFOQUNUUkxfRklYUExMX0NUUkwwLAo+Pj4+ICsJCS5iaXRfaWR4ID0gMjQsCj4+Pj4gKwl9LAo+ Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+PiArCQkubmFtZSA9 ICJmY2xrX2RpdjciLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+PiAr CQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFf ZmNsa19kaXY3X2Rpdi5odwo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+ PiArCX0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICsvKiBBcnJheSBvZiBhbGwgY2xvY2tzIHByb3Zp ZGVkIGJ5IHRoaXMgcHJvdmlkZXIgKi8KPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfaHdfb25lY2Vs bF9kYXRhIGExX3BsbF9od19vbmVjZWxsX2RhdGEgPSB7Cj4+Pj4gKwkuaHdzID0gewo+Pj4+ICsJ CVtDTEtJRF9GSVhFRF9QTExfRENPXQkJPSAmYTFfZml4ZWRfcGxsX2Rjby5odywKPj4+PiArCQlb Q0xLSURfRklYRURfUExMXQkJPSAmYTFfZml4ZWRfcGxsLmh3LAo+Pj4+ICsJCVtDTEtJRF9ISUZJ X1BMTF0JCT0gJmExX2hpZmlfcGxsLmh3LAo+Pj4+ICsJCVtDTEtJRF9GQ0xLX0RJVjJdCQk9ICZh MV9mY2xrX2RpdjIuaHcsCj4+Pj4gKwkJW0NMS0lEX0ZDTEtfRElWM10JCT0gJmExX2ZjbGtfZGl2 My5odywKPj4+PiArCQlbQ0xLSURfRkNMS19ESVY1XQkJPSAmYTFfZmNsa19kaXY1Lmh3LAo+Pj4+ ICsJCVtDTEtJRF9GQ0xLX0RJVjddCQk9ICZhMV9mY2xrX2RpdjcuaHcsCj4+Pj4gKwkJW0NMS0lE X0ZDTEtfRElWMl9ESVZdCQk9ICZhMV9mY2xrX2RpdjJfZGl2Lmh3LAo+Pj4+ICsJCVtDTEtJRF9G Q0xLX0RJVjNfRElWXQkJPSAmYTFfZmNsa19kaXYzX2Rpdi5odywKPj4+PiArCQlbQ0xLSURfRkNM S19ESVY1X0RJVl0JCT0gJmExX2ZjbGtfZGl2NV9kaXYuaHcsCj4+Pj4gKwkJW0NMS0lEX0ZDTEtf RElWN19ESVZdCQk9ICZhMV9mY2xrX2RpdjdfZGl2Lmh3LAo+Pj4+ICsJCVtOUl9QTExfQ0xLU10J CQk9IE5VTEwsCj4+Pj4gKwl9LAo+Pj4+ICsJLm51bSA9IE5SX1BMTF9DTEtTLAo+Pj4+ICt9Owo+ Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwICpjb25zdCBhMV9wbGxfcmVnbWFw c1tdID0gewo+Pj4+ICsJJmExX2ZpeGVkX3BsbF9kY28sCj4+Pj4gKwkmYTFfZml4ZWRfcGxsLAo+ Pj4+ICsJJmExX2hpZmlfcGxsLAo+Pj4+ICsJJmExX2ZjbGtfZGl2MiwKPj4+PiArCSZhMV9mY2xr X2RpdjMsCj4+Pj4gKwkmYTFfZmNsa19kaXY1LAo+Pj4+ICsJJmExX2ZjbGtfZGl2NywKPj4+PiAr fTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBpbnQgbWVzb25fYTFfcGxsX3Byb2JlKHN0cnVjdCBwbGF0 Zm9ybV9kZXZpY2UgKnBkZXYpCj4+Pj4gK3sKPj4+PiArCWludCByZXQ7Cj4+Pj4gKwo+Pj4+ICsJ cmV0ID0gbWVzb25fZWVjbGtjX3Byb2JlKHBkZXYpOwo+Pj4+ICsJaWYgKHJldCkKPj4+PiArCQly ZXR1cm4gcmV0Owo+Pj4+ICsKPj4+PiArCXJldHVybiAwOwo+Pj4+ICt9Cj4+Pgo+Pj4gVGhpcyBm dW5jdGlvbiBpcyB1c2VsZXNzLgo+Pj4KPj4gT0ssIEkgd2lsbCB1c2UgbWVzb25fZWVjbGtjX3By b2JlIGRlcmVjdGx5Lgo+Pj4+ICsKPj4+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBtZXNvbl9lZWNs a2NfZGF0YSBhMV9wbGxfZGF0YSA9IHsKPj4+PiArCQkucmVnbWFwX2Nsa3MgPSBhMV9wbGxfcmVn bWFwcywKPj4+PiArCQkucmVnbWFwX2Nsa19udW0gPSBBUlJBWV9TSVpFKGExX3BsbF9yZWdtYXBz KSwKPj4+PiArCQkuaHdfb25lY2VsbF9kYXRhID0gJmExX3BsbF9od19vbmVjZWxsX2RhdGEsCj4+ Pj4gK307Cj4+Pj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGNsa2NfbWF0Y2hf dGFibGVbXSA9IHsKPj4+PiArCXsKPj4+PiArCQkuY29tcGF0aWJsZSA9ICJhbWxvZ2ljLGExLXBs bC1jbGtjIiwKPj4+PiArCQkuZGF0YSA9ICZhMV9wbGxfZGF0YQo+Pj4+ICsJfSwKPj4+PiArCXsg Lyogc2VudGluZWwgKi8gfQo+Pj4KPj4+IE5pdHBpY2s6IGRvbid0IG5lZWQgdG8gd3JpdGUgdGhp cywganVzdCB3cml0ZSB0aGUgbGluZSBsaWtlIHRoaXMKPj4+Cj4+IE9LLCByZW1vdmUgaXQuCj4+ PiAnIH0sIHt9Jwo+Pj4KPj4+PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgcGxhdGZv cm1fZHJpdmVyIGExX2RyaXZlciA9IHsKPj4+PiArCS5wcm9iZQkJPSBtZXNvbl9hMV9wbGxfcHJv YmUsCj4+Pj4gKwkuZHJpdmVyCQk9IHsKPj4+PiArCQkubmFtZQk9ICJhMS1wbGwtY2xrYyIsCj4+ Pj4gKwkJLm9mX21hdGNoX3RhYmxlID0gY2xrY19tYXRjaF90YWJsZSwKPj4+PiArCX0sCj4+Pj4g K307Cj4+Pj4gKwo+Pj4+ICtidWlsdGluX3BsYXRmb3JtX2RyaXZlcihhMV9kcml2ZXIpOwo+Pj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9tZXNvbi9hMS1wbGwuaCBiL2RyaXZlcnMvY2xrL21l c29uL2ExLXBsbC5oCj4+Pj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4+PiBpbmRleCAwMDAwMDAw Li45OWVlMmE5Cj4+Pj4gLS0tIC9kZXYvbnVsbAo+Pj4+ICsrKyBiL2RyaXZlcnMvY2xrL21lc29u L2ExLXBsbC5oCj4+Pj4gQEAgLTAsMCArMSw1NiBAQAo+Pj4+ICsvKiBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogKEdQTC0yLjArIE9SIE1JVCkgKi8KPj4+PiArLyoKPj4+PiArICogQ29weXJpZ2h0 IChjKSAyMDE5IEFtbG9naWMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KPj4+PiArICovCj4+ Pj4gKwo+Pj4+ICsjaWZuZGVmIF9fQTFfUExMX0gKPj4+PiArI2RlZmluZSBfX0ExX1BMTF9ICj4+ Pj4gKwo+Pj4+ICsvKiBQTEwgcmVnaXN0ZXIgb2Zmc2V0ICovCj4+Pj4gKyNkZWZpbmUgQU5BQ1RS TF9GSVhQTExfQ1RSTDAJCTB4ODAKPj4+PiArI2RlZmluZSBBTkFDVFJMX0ZJWFBMTF9DVFJMMQkJ MHg4NAo+Pj4+ICsjZGVmaW5lIEFOQUNUUkxfRklYUExMX0NUUkwyCQkweDg4Cj4+Pj4gKyNkZWZp bmUgQU5BQ1RSTF9GSVhQTExfQ1RSTDMJCTB4OGMKPj4+PiArI2RlZmluZSBBTkFDVFJMX0ZJWFBM TF9DVFJMNAkJMHg5MAo+Pj4+ICsjZGVmaW5lIEFOQUNUUkxfRklYUExMX1NUUwkJMHg5NAo+Pj4+ ICsjZGVmaW5lIEFOQUNUUkxfU1lTUExMX0NUUkwwCQkweDEwMAo+Pj4+ICsjZGVmaW5lIEFOQUNU UkxfU1lTUExMX0NUUkwxCQkweDEwNAo+Pj4+ICsjZGVmaW5lIEFOQUNUUkxfU1lTUExMX0NUUkwy CQkweDEwOAo+Pj4+ICsjZGVmaW5lIEFOQUNUUkxfU1lTUExMX0NUUkwzCQkweDEwYwo+Pj4+ICsj ZGVmaW5lIEFOQUNUUkxfU1lTUExMX0NUUkw0CQkweDExMAo+Pj4+ICsjZGVmaW5lIEFOQUNUUkxf U1lTUExMX1NUUwkJMHgxMTQKPj4+PiArI2RlZmluZSBBTkFDVFJMX0hJRklQTExfQ1RSTDAJCTB4 MTQwCj4+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9ISUZJUExMX0NUUkwxCQkweDE0NAo+Pj4+ICsjZGVm aW5lIEFOQUNUUkxfSElGSVBMTF9DVFJMMgkJMHgxNDgKPj4+PiArI2RlZmluZSBBTkFDVFJMX0hJ RklQTExfQ1RSTDMJCTB4MTRjCj4+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9ISUZJUExMX0NUUkw0CQkw eDE1MAo+Pj4+ICsjZGVmaW5lIEFOQUNUUkxfSElGSVBMTF9TVFMJCTB4MTU0Cj4+Pj4gKyNkZWZp bmUgQU5BQ1RSTF9BVURERFNfQ1RSTDAJCTB4MTgwCj4+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9BVURE RFNfQ1RSTDEJCTB4MTg0Cj4+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9BVURERFNfQ1RSTDIJCTB4MTg4 Cj4+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9BVURERFNfQ1RSTDMJCTB4MThjCj4+Pj4gKyNkZWZpbmUg QU5BQ1RSTF9BVURERFNfQ1RSTDQJCTB4MTkwCj4+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9BVURERFNf U1RTCQkweDE5NAo+Pj4+ICsjZGVmaW5lIEFOQUNUUkxfTUlTQ1RPUF9DVFJMMAkJMHgxYzAKPj4+ PiArI2RlZmluZSBBTkFDVFJMX1BPUl9DTlRMCQkweDIwOAo+Pj4+ICsKPj4+PiArLyoKPj4+PiAr ICogQ0xLSUQgaW5kZXggdmFsdWVzCj4+Pj4gKyAqCj4+Pj4gKyAqIFRoZXNlIGluZGljZXMgYXJl IGVudGlyZWx5IGNvbnRyaXZlZCBhbmQgZG8gbm90IG1hcCBvbnRvIHRoZSBoYXJkd2FyZS4KPj4+ PiArICogSXQgaGFzIG5vdyBiZWVuIGRlY2lkZWQgdG8gZXhwb3NlIGV2ZXJ5dGhpbmcgYnkgZGVm YXVsdCBpbiB0aGUgRFQgaGVhZGVyOgo+Pj4+ICsgKiBpbmNsdWRlL2R0LWJpbmRpbmdzL2Nsb2Nr L2ExLXBsbC1jbGtjLmguIE9ubHkgdGhlIGNsb2NrcyBpZHMgd2UgZG9uJ3Qgd2FudAo+Pj4+ICsg KiB0byBleHBvc2UsIHN1Y2ggYXMgdGhlIGludGVybmFsIG11eGVzIGFuZCBkaXZpZGVycyBvZiBj b21wb3NpdGUgY2xvY2tzLAo+Pj4+ICsgKiB3aWxsIHJlbWFpbiBkZWZpbmVkIGhlcmUuCj4+Pj4g KyAqLwo+Pj4+ICsjZGVmaW5lIENMS0lEX0ZJWEVEX1BMTF9EQ08JCTAKPj4+PiArI2RlZmluZSBD TEtJRF9GQ0xLX0RJVjJfRElWCQkyCj4+Pj4gKyNkZWZpbmUgQ0xLSURfRkNMS19ESVYzX0RJVgkJ Mwo+Pj4+ICsjZGVmaW5lIENMS0lEX0ZDTEtfRElWNV9ESVYJCTQKPj4+PiArI2RlZmluZSBDTEtJ RF9GQ0xLX0RJVjdfRElWCQk1Cj4+Pj4gKyNkZWZpbmUgTlJfUExMX0NMS1MJCQkxMQo+Pj4+ICsK Pj4+PiArLyogaW5jbHVkZSB0aGUgQ0xLSURzIHRoYXQgaGF2ZSBiZWVuIG1hZGUgcGFydCBvZiB0 aGUgRFQgYmluZGluZyAqLwo+Pj4+ICsjaW5jbHVkZSA8ZHQtYmluZGluZ3MvY2xvY2svYTEtcGxs LWNsa2MuaD4KPj4+PiArCj4+Pj4gKyNlbmRpZiAvKiBfX0ExX1BMTF9IICovCj4+Pj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvY2xrL21lc29uL2ExLmMgYi9kcml2ZXJzL2Nsay9tZXNvbi9hMS5jCj4+ Pj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4+PiBpbmRleCAwMDAwMDAwLi44NmE0NzMzCj4+Pj4g LS0tIC9kZXYvbnVsbAo+Pj4+ICsrKyBiL2RyaXZlcnMvY2xrL21lc29uL2ExLmMKPj4+PiBAQCAt MCwwICsxLDIyNjQgQEAKPj4+PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4w KyBPUiBNSVQpCj4+Pj4gKy8qCj4+Pj4gKyAqIENvcHlyaWdodCAoYykgMjAxOSBBbWxvZ2ljLCBJ bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCj4+Pj4gKyAqIEF1dGhvcjogSmlhbiBIdSA8amlhbi5o dUBhbWxvZ2ljLmNvbT4KPj4+PiArICovCj4+Pj4gKwo+Pj4+ICsjaW5jbHVkZSA8bGludXgvcGxh dGZvcm1fZGV2aWNlLmg+Cj4+Pj4gKyNpbmNsdWRlICJjbGstcGxsLmgiCj4+Pj4gKyNpbmNsdWRl ICJjbGstZHVhbGRpdi5oIgo+Pj4+ICsjaW5jbHVkZSAibWVzb24tZWVjbGsuaCIKPj4+PiArI2lu Y2x1ZGUgImExLmgiCj4+Pgo+Pj4gU2FtZSBhcyBhYm92ZQo+PiBPSywgSSB3aWxsIGNoYW5nZSB0 aGUgb3JkZXIuCj4+IEluIGZhY3QsIHRoZSBjbGstcGxsLmggaXMgbm90IHVzZWQgaW4gdGhlIGN1 cnJlbnQgZHJpdmVyLgo+PiBJIHdpbGwgcmVtb3ZlIGl0Lgo+Pj4KPj4+PiArCj4+Pj4gKy8qIFBM THMgY2xvY2sgaW4gZ2F0ZXMsIGl0cyBwYXJlbnQgaXMgeHRhbCAqLwo+Pj4+ICtzdGF0aWMgc3Ry dWN0IGNsa19yZWdtYXAgYTFfeHRhbF9jbGt0cmVlID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVj dCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IFNZU19PU0NJTl9DVFJM LAo+Pj4+ICsJCS5iaXRfaWR4ID0gMCwKPj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3Ry dWN0IGNsa19pbml0X2RhdGEpIHsKPj4+PiArCQkubmFtZSA9ICJ4dGFsX2Nsa3RyZWUiLAo+Pj4+ ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX3JvX29wcywKPj4+PiArCQkucGFyZW50X2RhdGEg PSAmKGNvbnN0IHN0cnVjdCBjbGtfcGFyZW50X2RhdGEpIHsKPj4+PiArCQkJLmZ3X25hbWUgPSAi eHRhbCIsCj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJCS8qCj4+ Pj4gKwkJICogc3dpdGNoIGZvciB4dGFsIGNsb2NrCj4+Pj4gKwkJICogTGludXggc2hvdWxkIG5v dCBjaGFuZ2UgaXQgYXQgcnVudGltZQo+Pj4+ICsJCSAqLwo+Pj4KPj4+IENvbW1lbnQgbm90IHVz ZWZ1bDogaXQgdXNlcyB0aGUgUm8gb3BzCj4+Pgo+PiBPSywgIHJlbW92ZSB0aGUgY29tbWVudHMK Pj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAg YTFfeHRhbF9maXhwbGwgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0 ZV9kYXRhKXsKPj4+PiArCQkub2Zmc2V0ID0gU1lTX09TQ0lOX0NUUkwsCj4+Pj4gKwkJLmJpdF9p ZHggPSAxLAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0 YSkgewo+Pj4+ICsJCS5uYW1lID0gInh0YWxfZml4cGxsIiwKPj4+PiArCQkub3BzID0gJmNsa19y ZWdtYXBfZ2F0ZV9vcHMsCj4+Pj4gKwkJLnBhcmVudF9kYXRhID0gJihjb25zdCBzdHJ1Y3QgY2xr X3BhcmVudF9kYXRhKSB7Cj4+Pj4gKwkJCS5md19uYW1lID0gInh0YWwiLAo+Pj4+ICsJCX0sCj4+ Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCQkuZmxhZ3MgPSBDTEtfSVNfQ1JJVElDQUws Cj4+Pj4gKwkJLyoKPj4+PiArCQkgKiBpdCBmZWVkcyBERFIsQVhJLEFQQiBidXMKPj4+PiArCQkg KiBMaW51eCBzaG91bGQgbm90IGNoYW5nZSBpdCBhdCBydW50aW1lCj4+Pj4gKwkJICovCj4+Pgo+ Pj4gQWdhaW4sIHRoZSBjaGlsZCBhcmUgY3JpdGljYWwsIG5vdCBkaXJlY3RseSB0aGlzIGNsb2Nr IGZyb20geW91cgo+Pj4gY29tbWVudC4KPj4+Cj4+PiBSZW1vdmUgQ1JJVElDQUwsIHB1dCBSTyBp cyBsaW51eCBpcyBub3Qgc3VwcG9zZWQgdG8gdG91Y2ggaXQuCj4+Pgo+PiByZXBhY2UgYXMgY2xr X3JlZ21hcF9nYXRlX3JvX29wcwo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Cj4+IFsgLi4u IF0KPj4KPj4+PiArCj4+Pj4gKy8qIGRzcCBhIGNsayAqLwo+Pj4+ICtzdGF0aWMgdTMyIG11eF90 YWJsZV9kc3BfYWJbXSA9IHsgMCwgMSwgMiwgMywgNCwgNyB9Owo+Pj4+ICtzdGF0aWMgY29uc3Qg c3RydWN0IGNsa19wYXJlbnRfZGF0YSBkc3BfYWJfY2xrX3BhcmVudF9kYXRhW10gPSB7Cj4+Pj4g Kwl7IC5md19uYW1lID0gInh0YWwiLCB9LAo+Pj4+ICsJeyAuZndfbmFtZSA9ICJmY2xrX2RpdjIi LCB9LAo+Pj4+ICsJeyAuZndfbmFtZSA9ICJmY2xrX2RpdjMiLCB9LAo+Pj4+ICsJeyAuZndfbmFt ZSA9ICJmY2xrX2RpdjUiLCB9LAo+Pj4+ICsJeyAuZndfbmFtZSA9ICJoaWZpX3BsbCIsIH0sCj4+ Pj4gKwl7IC5odyA9ICZhMV9ydGNfY2xrLmh3IH0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0 aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNwYV9hX3NlbCA9IHsKPj4+PiArCS5kYXRhID0gJihz dHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IERTUEFfQ0xLX0NU UkwwLAo+Pj4+ICsJCS5tYXNrID0gMHg3LAo+Pj4+ICsJCS5zaGlmdCA9IDEwLAo+Pj4+ICsJCS50 YWJsZSA9IG11eF90YWJsZV9kc3BfYWIsCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0 cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+PiArCQkubmFtZSA9ICJkc3BhX2Ffc2VsIiwKPj4+PiAr CQkub3BzID0gJmNsa19yZWdtYXBfbXV4X29wcywKPj4+PiArCQkucGFyZW50X2RhdGEgPSBkc3Bf YWJfY2xrX3BhcmVudF9kYXRhLAo+Pj4+ICsJCS5udW1fcGFyZW50cyA9IEFSUkFZX1NJWkUoZHNw X2FiX2Nsa19wYXJlbnRfZGF0YSksCj4+Pgo+Pj4gLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVO VCA/Cj4+IFllcywgSSBtaXNzIHRoZSBmbGFnLgo+Pj4KPj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4g Kwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNwYV9hX2RpdiA9IHsKPj4+PiAr CS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9kaXZfZGF0YSl7Cj4+Pj4gKwkJLm9mZnNldCA9 IERTUEFfQ0xLX0NUUkwwLAo+Pj4+ICsJCS5zaGlmdCA9IDAsCj4+Pj4gKwkJLndpZHRoID0gMTAs Cj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+ PiArCQkubmFtZSA9ICJkc3BhX2FfZGl2IiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZGl2 aWRlcl9vcHMsCj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10p IHsKPj4+PiArCQkJJmExX2RzcGFfYV9zZWwuaHcKPj4+PiArCQl9LAo+Pj4+ICsJCS5udW1fcGFy ZW50cyA9IDEsCj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+PiArCX0s Cj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNwYV9h ID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+Pj4g KwkJLm9mZnNldCA9IERTUEFfQ0xLX0NUUkwwLAo+Pj4+ICsJCS5iaXRfaWR4ID0gMTMsCj4+Pj4g Kwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+Pj4gKwkJ Lm5hbWUgPSAiZHNwYV9hIiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+ Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+PiArCQkJ JmExX2RzcGFfYV9kaXYuaHcKPj4+PiArCQl9LAo+Pj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+ Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+PiArCX0sCj4+Pj4gK307Cj4+ Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNwYV9iX3NlbCA9IHsKPj4+ PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7Cj4+Pj4gKwkJLm9mZnNl dCA9IERTUEFfQ0xLX0NUUkwwLAo+Pj4+ICsJCS5tYXNrID0gMHg3LAo+Pj4+ICsJCS5zaGlmdCA9 IDI2LAo+Pj4+ICsJCS50YWJsZSA9IG11eF90YWJsZV9kc3BfYWIsCj4+Pj4gKwl9LAo+Pj4+ICsJ Lmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+PiArCQkubmFtZSA9ICJkc3Bh X2Jfc2VsIiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfbXV4X29wcywKPj4+PiArCQkucGFy ZW50X2RhdGEgPSBkc3BfYWJfY2xrX3BhcmVudF9kYXRhLAo+Pj4+ICsJCS5udW1fcGFyZW50cyA9 IEFSUkFZX1NJWkUoZHNwX2FiX2Nsa19wYXJlbnRfZGF0YSksCj4+Pgo+Pj4gLmZsYWdzID0gQ0xL X1NFVF9SQVRFX1BBUkVOVCA/Cj4+Pgo+PiBZZXMsIEkgd2lsbCBhZGQgaXQuCj4+Pj4gKwl9LAo+ Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2RzcGFfYl9k aXYgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZGl2X2RhdGEpewo+Pj4+ ICsJCS5vZmZzZXQgPSBEU1BBX0NMS19DVFJMMCwKPj4+PiArCQkuc2hpZnQgPSAxNiwKPj4+PiAr CQkud2lkdGggPSAxMCwKPj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19p bml0X2RhdGEpewo+Pj4+ICsJCS5uYW1lID0gImRzcGFfYl9kaXYiLAo+Pj4+ICsJCS5vcHMgPSAm Y2xrX3JlZ21hcF9kaXZpZGVyX29wcywKPj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1 Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFfZHNwYV9iX3NlbC5odwo+Pj4+ICsJCX0sCj4+ Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFS RU5ULAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3Jl Z21hcCBhMV9kc3BhX2IgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0 ZV9kYXRhKXsKPj4+PiArCQkub2Zmc2V0ID0gRFNQQV9DTEtfQ1RSTDAsCj4+Pj4gKwkJLmJpdF9p ZHggPSAyOSwKPj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2Rh dGEpIHsKPj4+PiArCQkubmFtZSA9ICJkc3BhX2IiLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21h cF9nYXRlX29wcywKPj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpb XSkgewo+Pj4+ICsJCQkmYTFfZHNwYV9iX2Rpdi5odwo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9w YXJlbnRzID0gMSwKPj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4+ICsJ fSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kc3Bh X3NlbCA9IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7Cj4+ Pj4gKwkJLm9mZnNldCA9IERTUEFfQ0xLX0NUUkwwLAo+Pj4+ICsJCS5tYXNrID0gMHgxLAo+Pj4+ ICsJCS5zaGlmdCA9IDE1LAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xr X2luaXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUgPSAiZHNwYV9zZWwiLAo+Pj4+ICsJCS5vcHMgPSAm Y2xrX3JlZ21hcF9tdXhfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfZGF0YSA9IChjb25zdCBzdHJ1Y3Qg Y2xrX3BhcmVudF9kYXRhIFtdKSB7Cj4+Pj4gKwkJCXsgLmh3ID0gJmExX2RzcGFfYS5odyB9LAo+ Pj4+ICsJCQl7IC5odyA9ICZhMV9kc3BhX2IuaHcgfSwKPj4+PiArCQl9LAo+Pj4+ICsJCS5udW1f cGFyZW50cyA9IDIsCj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+PiAr CX0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNw YV9lbl9kc3BhID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0 YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IERTUEFfQ0xLX0VOLAo+Pj4+ICsJCS5iaXRfaWR4ID0gMSwK Pj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4+ PiArCQkubmFtZSA9ICJkc3BhX2VuX2RzcGEiLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9n YXRlX29wcywKPj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkg ewo+Pj4+ICsJCQkmYTFfZHNwYV9zZWwuaHcKPj4+PiArCQl9LAo+Pj4+ICsJCS5udW1fcGFyZW50 cyA9IDEsCj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCB8IENMS19JR05PUkVf VU5VU0VELAo+Pj4KPj4+IFdoeSBkbyB5b3UgbmVlZCBDTEtfSUdOT1JFX1VOVVNFRCA/Cj4+Pgo+ PiBJIHNob3VsZCByZW1vdmUgaXQKPj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0 aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNwYV9lbl9uaWMgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYo c3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+PiArCQkub2Zmc2V0ID0gRFNQQV9DTEtf RU4sCj4+Pj4gKwkJLmJpdF9pZHggPSAwLAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihz dHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4+ICsJCS5uYW1lID0gImRzcGFfZW5fbmljIiwKPj4+ PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+Pj4gKwkJLnBhcmVudF9od3MgPSAo Y29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+PiArCQkJJmExX2RzcGFfc2VsLmh3Cj4+Pj4g KwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJCS5mbGFncyA9IENMS19TRVRf UkFURV9QQVJFTlQgfCBDTEtfSUdOT1JFX1VOVVNFRCwKPj4+Cj4+PiBXaHkgZG8geW91IG5lZWQg Q0xLX0lHTk9SRV9VTlVTRUQgPwo+Pj4KPj4gSSBzaG91bGQgcmVtb3ZlIGl0Cj4+Pj4gKwl9LAo+ Pj4+ICt9Owo+Pj4+ICsKPj4+Cj4+PiBTYW1lIHF1ZXN0aW9uIGFuZCByZW1hcmtzIGFwcGxpZXMg dG8gRFNQIEIKPj4+Cj4+IGdvdCBpdAo+Pj4+ICsvKiBkc3AgYiBjbGsgKi8KPj4+PiArc3RhdGlj IHN0cnVjdCBjbGtfcmVnbWFwIGExX2RzcGJfYV9zZWwgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYoc3Ry dWN0IGNsa19yZWdtYXBfbXV4X2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQgPSBEU1BCX0NMS19DVFJM MCwKPj4+PiArCQkubWFzayA9IDB4NywKPj4+PiArCQkuc2hpZnQgPSAxMCwKPj4+PiArCQkudGFi bGUgPSBtdXhfdGFibGVfZHNwX2FiLAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1 Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUgPSAiZHNwYl9hX3NlbCIsCj4+Pj4gKwkJ Lm9wcyA9ICZjbGtfcmVnbWFwX211eF9vcHMsCj4+Pj4gKwkJLnBhcmVudF9kYXRhID0gZHNwX2Fi X2Nsa19wYXJlbnRfZGF0YSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSBBUlJBWV9TSVpFKGRzcF9h Yl9jbGtfcGFyZW50X2RhdGEpLAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRp YyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kc3BiX2FfZGl2ID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0 cnVjdCBjbGtfcmVnbWFwX2Rpdl9kYXRhKXsKPj4+PiArCQkub2Zmc2V0ID0gRFNQQl9DTEtfQ1RS TDAsCj4+Pj4gKwkJLnNoaWZ0ID0gMCwKPj4+PiArCQkud2lkdGggPSAxMCwKPj4+PiArCX0sCj4+ Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4+ICsJCS5uYW1lID0g ImRzcGJfYV9kaXYiLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9kaXZpZGVyX29wcywKPj4+ PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkm YTFfZHNwYl9hX3NlbC5odwo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+ PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+ PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kc3BiX2EgPSB7Cj4+Pj4gKwku ZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+PiArCQkub2Zmc2V0ID0g RFNQQl9DTEtfQ1RSTDAsCj4+Pj4gKwkJLmJpdF9pZHggPSAxMywKPj4+PiArCX0sCj4+Pj4gKwku aHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4+PiArCQkubmFtZSA9ICJkc3Bi X2EiLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+PiArCQkucGFyZW50 X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFfZHNwYl9hX2Rp di5odwo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCQkuZmxhZ3Mg PSBDTEtfU0VUX1JBVEVfUEFSRU5UIHwgQ0xLX0lHTk9SRV9VTlVTRUQsCj4+Pj4gKwl9LAo+Pj4+ ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2RzcGJfYl9zZWwg PSB7Cj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfbXV4X2RhdGEpewo+Pj4+ICsJ CS5vZmZzZXQgPSBEU1BCX0NMS19DVFJMMCwKPj4+PiArCQkubWFzayA9IDB4NywKPj4+PiArCQku c2hpZnQgPSAyNiwKPj4+PiArCQkudGFibGUgPSBtdXhfdGFibGVfZHNwX2FiLAo+Pj4+ICsJfSwK Pj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUg PSAiZHNwYl9iX3NlbCIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX211eF9vcHMsCj4+Pj4g KwkJLnBhcmVudF9kYXRhID0gZHNwX2FiX2Nsa19wYXJlbnRfZGF0YSwKPj4+PiArCQkubnVtX3Bh cmVudHMgPSBBUlJBWV9TSVpFKGRzcF9hYl9jbGtfcGFyZW50X2RhdGEpLAo+Pj4+ICsJfSwKPj4+ PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kc3BiX2JfZGl2 ID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2Rpdl9kYXRhKXsKPj4+PiAr CQkub2Zmc2V0ID0gRFNQQl9DTEtfQ1RSTDAsCj4+Pj4gKwkJLnNoaWZ0ID0gMTYsCj4+Pj4gKwkJ LndpZHRoID0gMTAsCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5p dF9kYXRhKXsKPj4+PiArCQkubmFtZSA9ICJkc3BiX2JfZGl2IiwKPj4+PiArCQkub3BzID0gJmNs a19yZWdtYXBfZGl2aWRlcl9vcHMsCj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0 IGNsa19odyAqW10pIHsKPj4+PiArCQkJJmExX2RzcGJfYl9zZWwuaHcKPj4+PiArCQl9LAo+Pj4+ ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVO VCwKPj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdt YXAgYTFfZHNwYl9iID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVf ZGF0YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IERTUEJfQ0xLX0NUUkwwLAo+Pj4+ICsJCS5iaXRfaWR4 ID0gMjksCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRh KSB7Cj4+Pj4gKwkJLm5hbWUgPSAiZHNwYl9iIiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBf Z2F0ZV9vcHMsCj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10p IHsKPj4+PiArCQkJJmExX2RzcGJfYl9kaXYuaHcKPj4+PiArCQl9LAo+Pj4+ICsJCS5udW1fcGFy ZW50cyA9IDEsCj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCB8IENMS19JR05P UkVfVU5VU0VELAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3Qg Y2xrX3JlZ21hcCBhMV9kc3BiX3NlbCA9IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3Jl Z21hcF9tdXhfZGF0YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IERTUEJfQ0xLX0NUUkwwLAo+Pj4+ICsJ CS5tYXNrID0gMHgxLAo+Pj4+ICsJCS5zaGlmdCA9IDE1LAo+Pj4+ICsJfSwKPj4+PiArCS5ody5p bml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUgPSAiZHNwYl9zZWwi LAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfaHdz ID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4gKwkJCSZhMV9kc3BiX2EuaHcsICZh MV9kc3BiX2IuaHcsCj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAyLAo+Pj4+ICsJ CS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsK Pj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2RzcGJfZW5fZHNwYiA9IHsKPj4+PiAr CS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQg PSBEU1BCX0NMS19FTiwKPj4+PiArCQkuYml0X2lkeCA9IDEsCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3 LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+Pj4gKwkJLm5hbWUgPSAiZHNwYl9l bl9kc3BiIiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+Pj4gKwkJLnBh cmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+PiArCQkJJmExX2RzcGJf c2VsLmh3Cj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJCS5mbGFn cyA9IENMS19TRVRfUkFURV9QQVJFTlQgfCBDTEtfSUdOT1JFX1VOVVNFRCwKPj4+PiArCX0sCj4+ Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNwYl9lbl9u aWMgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+ PiArCQkub2Zmc2V0ID0gRFNQQl9DTEtfRU4sCj4+Pj4gKwkJLmJpdF9pZHggPSAwLAo+Pj4+ICsJ fSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4+ICsJCS5u YW1lID0gImRzcGJfZW5fbmljIiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMs Cj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+PiAr CQkJJmExX2RzcGJfc2VsLmh3Cj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+ Pj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQgfCBDTEtfSUdOT1JFX1VOVVNFRCwK Pj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICsvKiAxMk0vMjRNIGNsb2NrICovCj4+Pj4g K3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV8yNG0gPSB7Cj4+Pj4gKwkuZGF0YSA9ICYoc3Ry dWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+PiArCQkub2Zmc2V0ID0gQ0xLMTJfMjRfQ1RS TCwKPj4+PiArCQkuYml0X2lkeCA9IDExLAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihz dHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4+ICsJCS5uYW1lID0gIjI0bSIsCj4+Pj4gKwkJLm9w cyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfZGF0YSA9ICYoY29uc3Qg c3RydWN0IGNsa19wYXJlbnRfZGF0YSkgewo+Pj4+ICsJCQkuZndfbmFtZSA9ICJ4dGFsIiwKPj4+ PiArCQl9LAo+Pj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ ICsKPj4KPj4gWyAuLi4gXQo+Pgo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfc2Fy YWRjX3NlbCA9IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7 Cj4+Pj4gKwkJLm9mZnNldCA9IFNBUl9BRENfQ0xLX0NUUkwsCj4+Pj4gKwkJLm1hc2sgPSAweDEs Cj4+Pj4gKwkJLnNoaWZ0ID0gOSwKPj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0 IGNsa19pbml0X2RhdGEpewo+Pj4+ICsJCS5uYW1lID0gInNhcmFkY19zZWwiLAo+Pj4+ICsJCS5v cHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfZGF0YSA9IChjb25zdCBz dHJ1Y3QgY2xrX3BhcmVudF9kYXRhIFtdKSB7Cj4+Pj4gKwkJCXsgLmZ3X25hbWUgPSAieHRhbCIs IH0sCj4+Pj4gKwkJCXsgLmh3ID0gJmExX3N5c19jbGsuaHcsIH0sCj4+Pj4gKwkJfSwKPj4+PiAr CQkubnVtX3BhcmVudHMgPSAyLAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRp YyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9zYXJhZGNfZGl2ID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0 cnVjdCBjbGtfcmVnbWFwX2Rpdl9kYXRhKXsKPj4+PiArCQkub2Zmc2V0ID0gU0FSX0FEQ19DTEtf Q1RSTCwKPj4+PiArCQkuc2hpZnQgPSAwLAo+Pj4+ICsJCS53aWR0aCA9IDgsCj4+Pj4gKwl9LAo+ Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+PiArCQkubmFtZSA9 ICJzYXJhZGNfZGl2IiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZGl2aWRlcl9vcHMsCj4+ Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+PiArCQkJ JmExX3NhcmFkY19zZWwuaHcKPj4+PiArCQl9LAo+Pj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+ Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+PiArCX0sCj4+Pj4gK307Cj4+ Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfc2FyYWRjX2NsayA9IHsKPj4+ PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+ICsJCS5vZmZz ZXQgPSBTQVJfQURDX0NMS19DVFJMLAo+Pj4+ICsJCS5iaXRfaWR4ID0gOCwKPj4+PiArCX0sCj4+ Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4+PiArCQkubmFtZSA9 ICJzYXJhZGNfY2xrIiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+Pj4g KwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+PiArCQkJJmEx X3NhcmFkY19kaXYuaHcKPj4+PiArCQl9LAo+Pj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+Pj4g KwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4g Kwo+Pj4+ICsvKiBwd20gYS9iL2MvZCBwYXJlbnQgZGF0YSAqLwo+Pj4+ICtzdGF0aWMgY29uc3Qg c3RydWN0IGNsa19wYXJlbnRfZGF0YSBwd21fcGFyZW50X2RhdGFbXSA9IHsKPj4+PiArCXsgLmZ3 X25hbWUgPSAieHRhbCIsIH0sCj4+Pj4gKwl7IC5odyA9ICZhMV9zeXNfY2xrLmh3IH0sCj4+Pj4g K307Cj4+Pgo+Pj4gTG9va3MgbGlrZSB0aGUgc2FtZSBhcyBTQVIgQURDCj4+Pgo+PiBPSywgSSB3 aWxsIGRlc2NyaWJlIGl0IGxpa2UgU0FSIEFEQyBmb3IgcHdtIGEvYi9jL2QKPj4+PiArCj4+Pj4g Ky8qIHB3bSBhIGNsayAqLwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfcHdtX2Ff c2VsID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX211eF9kYXRhKXsKPj4+ PiArCQkub2Zmc2V0ID0gUFdNX0NMS19BQl9DVFJMLAo+Pj4+ICsJCS5tYXNrID0gMHgxLAo+Pj4+ ICsJCS5zaGlmdCA9IDksCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtf aW5pdF9kYXRhKXsKPj4+PiArCQkubmFtZSA9ICJwd21fYV9zZWwiLAo+Pj4+ICsJCS5vcHMgPSAm Y2xrX3JlZ21hcF9tdXhfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfZGF0YSA9IHB3bV9wYXJlbnRfZGF0 YSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSBBUlJBWV9TSVpFKHB3bV9wYXJlbnRfZGF0YSksCj4+ Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGEx X3B3bV9hX2RpdiA9IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9kaXZfZGF0 YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IFBXTV9DTEtfQUJfQ1RSTCwKPj4+PiArCQkuc2hpZnQgPSAw LAo+Pj4+ICsJCS53aWR0aCA9IDgsCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVj dCBjbGtfaW5pdF9kYXRhKXsKPj4+PiArCQkubmFtZSA9ICJwd21fYV9kaXYiLAo+Pj4+ICsJCS5v cHMgPSAmY2xrX3JlZ21hcF9kaXZpZGVyX29wcywKPj4+PiArCQkucGFyZW50X2h3cyA9IChjb25z dCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFfcHdtX2Ffc2VsLmh3Cj4+Pj4gKwkJ fSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFU RV9QQVJFTlQsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBj bGtfcmVnbWFwIGExX3B3bV9hID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFw X2dhdGVfZGF0YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IFBXTV9DTEtfQUJfQ1RSTCwKPj4+PiArCQku Yml0X2lkeCA9IDgsCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5p dF9kYXRhKSB7Cj4+Pj4gKwkJLm5hbWUgPSAicHdtX2EiLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3Jl Z21hcF9nYXRlX29wcywKPj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3 ICpbXSkgewo+Pj4+ICsJCQkmYTFfcHdtX2FfZGl2Lmh3Cj4+Pj4gKwkJfSwKPj4+PiArCQkubnVt X3BhcmVudHMgPSAxLAo+Pj4+ICsJCS8qCj4+Pj4gKwkJICogVGhlIENQVSB3b3JraW5nIHZvbHRh Z2UgaXMgY29udHJvbGxlZCBieSBwd21fYQo+Pj4+ICsJCSAqIGluIEJMMiBmaXJtd2FyZS4gYWRk IHRoZSBDTEtfSUdOT1JFX1VOVVNFRCBmbGFnCj4+Pj4gKwkJICogdG8gYXZvaWQgY2hhbmdpbmcg YXQgcnVudGltZS4KPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiBp dAo+Pj4KPj4+PiArCQkgKiBhbmQgaXMgcmVxdWlyZWQgYnkgdGhlIHBsYXRmb3JtIHRvIG9wZXJh dGUgY29ycmVjdGx5Lgo+Pj4gICAgICAgICAgICAgICAgICAgICAgImJsYWJsYS4gQW5kIiBpcyBz dHJhbmdlCj4+Pgo+Pj4+ICsJCSAqIFVudGlsIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uIGFyZSBt ZXQsIHdlIG5lZWQgdGhpcyBjbG9jayB0bwo+Pj4+ICsJCSAqIGJlIG1hcmtlZCBhcyBjcml0aWNh bDoKPj4+PiArCQkgKiBhKSBNYXJrIHRoZSBjbG9jayB1c2VkIGJ5IGEgZmlybXdhcmUgcmVzb3Vy Y2UsIGlmIHBvc3NpYmxlCj4+Pj4gKwkJICogYikgQ0NGIGhhcyBhIGNsb2NrIGhhbmQtb2ZmIG1l Y2hhbmlzbSB0byBtYWtlIHRoZSBzdXJlIHRoZQo+Pj4+ICsJCSAqICAgIGNsb2NrIHN0YXlzIG9u IHVudGlsIHRoZSBwcm9wZXIgZHJpdmVyIGNvbWVzIGFsb25nCj4+Pj4gKwkJICovCj4+Pj4gKwkJ LmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCB8IENMS19JR05PUkVfVU5VU0VELAo+Pj4KPj4+ IFRoaXMgb25seSBza2lwcyB0aGUgbGF0ZV9pbml0KCkgZGlzYWJsZSBvZiB1bnVzZWQgY2xvY2tz Cj4+Pgo+Pj4gQmUgYXdhcmUgdGhhdCB0aGlzIGlzIG5vdCBmb29sLXByb29mLiBJZiBhdCBhbnkg dGltZSBhIGRyaXZlciBlbmFibGUKPj4+IHRoZW4gZGlzYWJsZSB0aGUgY2xvY2ssIHRoZSBjbG9j ayB3aWxsIGJlIGRpc2FibGUgYW5kIEkgZ3Vlc3MgeW91cgo+Pj4gcGxhdGZvcm0gd2lsbCBkaWUg aWYgdGhpcyBwcm92aWRlcyB0aGUgQ1BVIHZvbHRhZ2UuCj4+IE9LLCBDTEtfSVNfQ1JJVElDQUwg aXMgYmV0dGVyLgo+Pj4KPj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICsvKiBwd20gYiBj bGsgKi8KPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3B3bV9iX3NlbCA9IHsKPj4+ PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7Cj4+Pj4gKwkJLm9mZnNl dCA9IFBXTV9DTEtfQUJfQ1RSTCwKPj4+PiArCQkubWFzayA9IDB4MSwKPj4+PiArCQkuc2hpZnQg PSAyNSwKPj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEp ewo+Pj4+ICsJCS5uYW1lID0gInB3bV9iX3NlbCIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFw X211eF9vcHMsCj4+Pj4gKwkJLnBhcmVudF9kYXRhID0gcHdtX3BhcmVudF9kYXRhLAo+Pj4+ICsJ CS5udW1fcGFyZW50cyA9IEFSUkFZX1NJWkUocHdtX3BhcmVudF9kYXRhKSwKPj4+PiArCX0sCj4+ Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfcHdtX2JfZGl2 ID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2Rpdl9kYXRhKXsKPj4+PiAr CQkub2Zmc2V0ID0gUFdNX0NMS19BQl9DVFJMLAo+Pj4+ICsJCS5zaGlmdCA9IDE2LAo+Pj4+ICsJ CS53aWR0aCA9IDgsCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5p dF9kYXRhKXsKPj4+PiArCQkubmFtZSA9ICJwd21fYl9kaXYiLAo+Pj4+ICsJCS5vcHMgPSAmY2xr X3JlZ21hcF9kaXZpZGVyX29wcywKPj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3Qg Y2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFfcHdtX2Jfc2VsLmh3Cj4+Pj4gKwkJfSwKPj4+PiAr CQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQs Cj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFw IGExX3B3bV9iID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0 YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IFBXTV9DTEtfQUJfQ1RSTCwKPj4+PiArCQkuYml0X2lkeCA9 IDI0LAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkg ewo+Pj4+ICsJCS5uYW1lID0gInB3bV9iIiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0 ZV9vcHMsCj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsK Pj4+PiArCQkJJmExX3B3bV9iX2Rpdi5odwo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRz ID0gMSwKPj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4+ICsJfSwKPj4+ PiArfTsKPj4+PiArCj4+Pj4gKy8qIHB3bSBjIGNsayAqLwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNs a19yZWdtYXAgYTFfcHdtX2Nfc2VsID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVn bWFwX211eF9kYXRhKXsKPj4+PiArCQkub2Zmc2V0ID0gUFdNX0NMS19DRF9DVFJMLAo+Pj4+ICsJ CS5tYXNrID0gMHgxLAo+Pj4+ICsJCS5zaGlmdCA9IDksCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3Lmlu aXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+PiArCQkubmFtZSA9ICJwd21fY19zZWwi LAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfZGF0 YSA9IHB3bV9wYXJlbnRfZGF0YSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSBBUlJBWV9TSVpFKHB3 bV9wYXJlbnRfZGF0YSksCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0 cnVjdCBjbGtfcmVnbWFwIGExX3B3bV9jX2RpdiA9IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3Qg Y2xrX3JlZ21hcF9kaXZfZGF0YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IFBXTV9DTEtfQ0RfQ1RSTCwK Pj4+PiArCQkuc2hpZnQgPSAwLAo+Pj4+ICsJCS53aWR0aCA9IDgsCj4+Pj4gKwl9LAo+Pj4+ICsJ Lmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+PiArCQkubmFtZSA9ICJwd21f Y19kaXYiLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9kaXZpZGVyX29wcywKPj4+PiArCQku cGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFfcHdt X2Nfc2VsLmh3Cj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJCS5m bGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+ PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3B3bV9jID0gewo+Pj4+ICsJLmRhdGEgPSAm KHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IFBXTV9DTEtf Q0RfQ1RSTCwKPj4+PiArCQkuYml0X2lkeCA9IDgsCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQg PSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+Pj4gKwkJLm5hbWUgPSAicHdtX2MiLAo+Pj4+ ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+PiArCQkucGFyZW50X2h3cyA9IChj b25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ICsJCQkmYTFfcHdtX2NfZGl2Lmh3Cj4+Pj4g KwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJCS5mbGFncyA9IENMS19TRVRf UkFURV9QQVJFTlQsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArLyogcHdtIGQgY2xr ICovCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9wd21fZF9zZWwgPSB7Cj4+Pj4g KwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfbXV4X2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQg PSBQV01fQ0xLX0NEX0NUUkwsCj4+Pj4gKwkJLm1hc2sgPSAweDEsCj4+Pj4gKwkJLnNoaWZ0ID0g MjUsCj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsK Pj4+PiArCQkubmFtZSA9ICJwd21fZF9zZWwiLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9t dXhfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfZGF0YSA9IHB3bV9wYXJlbnRfZGF0YSwKPj4+PiArCQku bnVtX3BhcmVudHMgPSBBUlJBWV9TSVpFKHB3bV9wYXJlbnRfZGF0YSksCj4+Pj4gKwl9LAo+Pj4+ ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3B3bV9kX2RpdiA9 IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9kaXZfZGF0YSl7Cj4+Pj4gKwkJ Lm9mZnNldCA9IFBXTV9DTEtfQ0RfQ1RSTCwKPj4+PiArCQkuc2hpZnQgPSAxNiwKPj4+PiArCQku d2lkdGggPSA4LAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRf ZGF0YSl7Cj4+Pj4gKwkJLm5hbWUgPSAicHdtX2RfZGl2IiwKPj4+PiArCQkub3BzID0gJmNsa19y ZWdtYXBfZGl2aWRlcl9vcHMsCj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNs a19odyAqW10pIHsKPj4+PiArCQkJJmExX3B3bV9kX3NlbC5odwo+Pj4+ICsJCX0sCj4+Pj4gKwkJ Lm51bV9wYXJlbnRzID0gMSwKPj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+ Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBh MV9wd21fZCA9IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEp ewo+Pj4+ICsJCS5vZmZzZXQgPSBQV01fQ0xLX0NEX0NUUkwsCj4+Pj4gKwkJLmJpdF9pZHggPSAy NCwKPj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsK Pj4+PiArCQkubmFtZSA9ICJwd21fZCIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVf b3BzLAo+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+ Pj4gKwkJCSZhMV9wd21fZF9kaXYuaHcKPj4+PiArCQl9LAo+Pj4+ICsJCS5udW1fcGFyZW50cyA9 IDEsCj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+PiArCX0sCj4+Pj4g K307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGNsa19wYXJlbnRfZGF0YSBwd21f ZWZfcGFyZW50X2RhdGFbXSA9IHsKPj4+PiArCXsgLmZ3X25hbWUgPSAieHRhbCIsIH0sCj4+Pj4g Kwl7IC5odyA9ICZhMV9zeXNfY2xrLmh3IH0sCj4+Pj4gKwl7IC5md19uYW1lID0gImZjbGtfZGl2 NSIsIH0sCj4+Pj4gKwl7IC5odyA9ICZhMV9ydGNfY2xrLmh3IH0sCj4+Pj4gK307Cj4+Pj4gKwo+ Pj4+ICsvKiBwd20gZSBjbGsgKi8KPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3B3 bV9lX3NlbCA9IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7 Cj4+Pj4gKwkJLm9mZnNldCA9IFBXTV9DTEtfRUZfQ1RSTCwKPj4+PiArCQkubWFzayA9IDB4MywK Pj4+PiArCQkuc2hpZnQgPSA5LAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3Qg Y2xrX2luaXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUgPSAicHdtX2Vfc2VsIiwKPj4+PiArCQkub3Bz ID0gJmNsa19yZWdtYXBfbXV4X29wcywKPj4+PiArCQkucGFyZW50X2RhdGEgPSBwd21fZWZfcGFy ZW50X2RhdGEsCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gQVJSQVlfU0laRShwd21fZWZfcGFyZW50 X2RhdGEpLAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xr X3JlZ21hcCBhMV9wd21fZV9kaXYgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdt YXBfZGl2X2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQgPSBQV01fQ0xLX0VGX0NUUkwsCj4+Pj4gKwkJ LnNoaWZ0ID0gMCwKPj4+PiArCQkud2lkdGggPSA4LAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0 ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUgPSAicHdtX2VfZGl2IiwK Pj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZGl2aWRlcl9vcHMsCj4+Pj4gKwkJLnBhcmVudF9o d3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+PiArCQkJJmExX3B3bV9lX3NlbC5o dwo+Pj4+ICsJCX0sCj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCQkuZmxhZ3MgPSBD TEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gK3N0YXRp YyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9wd21fZSA9IHsKPj4+PiArCS5kYXRhID0gJihzdHJ1Y3Qg Y2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+ICsJCS5vZmZzZXQgPSBQV01fQ0xLX0VGX0NUUkws Cj4+Pj4gKwkJLmJpdF9pZHggPSA4LAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1 Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4+ICsJCS5uYW1lID0gInB3bV9lIiwKPj4+PiArCQkub3Bz ID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3Ry dWN0IGNsa19odyAqW10pIHsKPj4+PiArCQkJJmExX3B3bV9lX2Rpdi5odwo+Pj4+ICsJCX0sCj4+ Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFS RU5ULAo+Pj4+ICsJfSwKPj4+PiArfTsKPj4+PiArCj4+Pj4gKy8qIHB3bSBmIGNsayAqLwo+Pj4+ ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfcHdtX2Zfc2VsID0gewo+Pj4+ICsJLmRhdGEg PSAmKHN0cnVjdCBjbGtfcmVnbWFwX211eF9kYXRhKXsKPj4+PiArCQkub2Zmc2V0ID0gUFdNX0NM S19FRl9DVFJMLAo+Pj4+ICsJCS5tYXNrID0gMHgzLAo+Pj4+ICsJCS5zaGlmdCA9IDI1LAo+Pj4+ ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4gKwkJ Lm5hbWUgPSAicHdtX2Zfc2VsIiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfbXV4X29wcywK Pj4+PiArCQkucGFyZW50X2RhdGEgPSBwd21fZWZfcGFyZW50X2RhdGEsCj4+Pj4gKwkJLm51bV9w YXJlbnRzID0gQVJSQVlfU0laRShwd21fZWZfcGFyZW50X2RhdGEpLAo+Pj4+ICsJfSwKPj4+PiAr fTsKPj4+PiArCj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9wd21fZl9kaXYgPSB7 Cj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZGl2X2RhdGEpewo+Pj4+ICsJCS5v ZmZzZXQgPSBQV01fQ0xLX0VGX0NUUkwsCj4+Pj4gKwkJLnNoaWZ0ID0gMTYsCj4+Pj4gKwkJLndp ZHRoID0gOCwKPj4+PiArCX0sCj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2Rh dGEpewo+Pj4+ICsJCS5uYW1lID0gInB3bV9mX2RpdiIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVn bWFwX2RpdmlkZXJfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtf aHcgKltdKSB7Cj4+Pj4gKwkJCSZhMV9wd21fZl9zZWwuaHcKPj4+PiArCQl9LAo+Pj4+ICsJCS5u dW1fcGFyZW50cyA9IDEsCj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+ PiArCX0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFf cHdtX2YgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsK Pj4+PiArCQkub2Zmc2V0ID0gUFdNX0NMS19FRl9DVFJMLAo+Pj4+ICsJCS5iaXRfaWR4ID0gMjQs Cj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+ Pj4gKwkJLm5hbWUgPSAicHdtX2YiLAo+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29w cywKPj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+ ICsJCQkmYTFfcHdtX2ZfZGl2Lmh3Cj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAx LAo+Pj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQsCj4+Pj4gKwl9LAo+Pj4+ICt9 Owo+Pj4+ICsKPj4KPj4gWyAuLi4gXQo+Pgo+Pj4+ICsKPj4+PiArLyogZG1jIGNsayAqLwo+Pj4+ ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZG1jX3NlbCA9IHsKPj4+PiArCS5kYXRhID0g JihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IERNQ19DTEtf Q1RSTCwKPj4+PiArCQkubWFzayA9IDB4MywKPj4+PiArCQkuc2hpZnQgPSA5LAo+Pj4+ICsJfSwK Pj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUg PSAiZG1jX3NlbCIsCj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX211eF9vcHMsCj4+Pj4gKwkJ LnBhcmVudF9kYXRhID0gc2RfZW1tY19wYXJlbnRzLAo+Pj4+ICsJCS5udW1fcGFyZW50cyA9IDQs Cj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFw IGExX2RtY19kaXYgPSB7Cj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZGl2X2Rh dGEpewo+Pj4+ICsJCS5vZmZzZXQgPSBETUNfQ0xLX0NUUkwsCj4+Pj4gKwkJLnNoaWZ0ID0gMCwK Pj4+PiArCQkud2lkdGggPSA4LAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3Qg Y2xrX2luaXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUgPSAiZG1jX2RpdiIsCj4+Pj4gKwkJLm9wcyA9 ICZjbGtfcmVnbWFwX2RpdmlkZXJfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0 cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4gKwkJCSZhMV9kbWNfc2VsLmh3Cj4+Pj4gKwkJfSwKPj4+ PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJF TlQsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVn bWFwIGExX2RtY19zZWwyID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX211 eF9kYXRhKXsKPj4+PiArCQkub2Zmc2V0ID0gRE1DX0NMS19DVFJMLAo+Pj4+ICsJCS5tYXNrID0g MHgxLAo+Pj4+ICsJCS5zaGlmdCA9IDE1LAo+Pj4+ICsJfSwKPj4+PiArCS5ody5pbml0ID0gJihz dHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4gKwkJLm5hbWUgPSAiZG1jX3NlbDIiLAo+Pj4+ICsJ CS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+Pj4+ICsJCS5wYXJlbnRfZGF0YSA9IChjb25z dCBzdHJ1Y3QgY2xrX3BhcmVudF9kYXRhIFtdKSB7Cj4+Pj4gKwkJCXsgLmh3ID0gJmExX2RtY19k aXYuaHcgfSwKPj4+PiArCQkJeyAuZndfbmFtZSA9ICJ4dGFsIiwgfSwKPj4+PiArCQl9LAo+Pj4+ ICsJCS5udW1fcGFyZW50cyA9IDIsCj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVO VCwKPj4+PiArCX0sCj4+Pj4gK307Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdt YXAgYTFfZG1jID0gewo+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0 YSl7Cj4+Pj4gKwkJLm9mZnNldCA9IERNQ19DTEtfQ1RSTCwKPj4+PiArCQkuYml0X2lkeCA9IDgs Cj4+Pj4gKwl9LAo+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+ Pj4gKwkJLm5hbWUgPSAiZG1jIiwKPj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMs Cj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+PiAr CQkJJmExX2RtY19zZWwyLmh3Cj4+Pj4gKwkJfSwKPj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+ Pj4+ICsJCS8qCj4+Pj4gKwkJICogVGhpcyBjbG9jayBpcyB1c2VkIGJ5IEREUiBjbG9jayB3aGlj aCBzZXR0ZWQgaW4gQkwyCj4+Pj4gKwkJICogYW5kIGlzIHJlcXVpcmVkIGJ5IHRoZSBwbGF0Zm9y bSB0byBvcGVyYXRlIGNvcnJlY3RseS4KPj4+PiArCQkgKiBVbnRpbCB0aGUgZm9sbG93aW5nIGNv bmRpdGlvbiBhcmUgbWV0LCB3ZSBuZWVkIHRoaXMgY2xvY2sgdG8KPj4+PiArCQkgKiBiZSBtYXJr ZWQgYXMgY3JpdGljYWw6Cj4+Pj4gKwkJICogYSkgTWFyayB0aGUgY2xvY2sgdXNlZCBieSBhIGZp cm13YXJlIHJlc291cmNlLCBpZiBwb3NzaWJsZQo+Pj4+ICsJCSAqIGIpIENDRiBoYXMgYSBjbG9j ayBoYW5kLW9mZiBtZWNoYW5pc20gdG8gbWFrZSB0aGUgc3VyZSB0aGUKPj4+PiArCQkgKiAgICBj bG9jayBzdGF5cyBvbiB1bnRpbCB0aGUgcHJvcGVyIGRyaXZlciBjb21lcyBhbG9uZwo+Pj4+ICsJ CSAqLwo+Pj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQgfCBDTEtfSVNfQ1JJVElD QUwsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4KPj4+IFNob3VsZCB5b3UgcHV0IGFsbCB0aGlzIERN QyBzdHVmZiBpbiBSTyB1bnRpbCB5b3UgZ290IGEgZHJpdmVyIGZvciBpdCA/Cj4+IE9LLCByZXBs YWNlIGFzIGNsa19yZWdtYXBfZ2F0ZV9yb19vcHMKPj4+Cj4+IFsgLi4uIF0KPj4+PiArCj4+Pj4g K3N0YXRpYyBpbnQgbWVzb25fYTFfcGVyaXBoc19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2KQo+Pj4+ICt7Cj4+Pj4gKwlpbnQgcmV0Owo+Pj4+ICsKPj4+PiArCXJldCA9IG1lc29u X2VlY2xrY19wcm9iZShwZGV2KTsKPj4+PiArCWlmIChyZXQpCj4+Pj4gKwkJcmV0dXJuIHJldDsK Pj4+PiArCj4+Pj4gKwlyZXR1cm4gMDsKPj4+PiArfQo+Pj4KPj4+IEFnYWluIHRoaXMgZnVuY3Rp b24gaXMgZnVuY3Rpb24gaXMgdXNlbGVzcyBhbmQgaXQgbWFrZXMgbWUgd29uZGVyIGlmIHlvdQo+ Pj4gc2hvdWxkIHJlYWxseSBiZSB1c2luZyBtZXNvbl9lZWNsa2NfcHJvYmUoKQo+Pj4KPj4+IFRo aXMgbWFrZXMgeW91IHVzZSBzeXNjb24gd2hpY2ggaXMgbm90IGNvcnJlY3QgdW5sZXNzIHlvdSBo YXZlIGEgZ29vZAo+Pj4gcmVhc29uID8KPj4+Cj4+IElmIGl0IGNhbiBub3QgdXNlIHRoZSBtZXNv bl9lZWNsa2NfcHJvYmUoKSwgSSB3aWxsIHJlYWxpemUgYSBwcm9iZSBmdW5jdGlvbgo+PiB3aGlj aCBpcyBtb3N0bHkgZHVwbGljYXRlIHdpdGggbWVzb25fZWVjbGtjX3Byb2JlKCkgZXhjZXB0Cj4+ ICJzeXNjb25fbm9kZV90b19yZWdtYXAiCj4+Cj4+IE1heWJlIGFub3RoZXIgY29tbW9uIHByb2Jl IGZ1bmN0aW9uIGFuZCBhIG5ldyBmaWxlIGFyZSByZXF1aXJlZCBmb3IgQTEKPj4gdGhyZWUgZHJp dmVycz8g77yIaW5jbHVkZSB0aGUgQ1BVIGNsb2NrIGRyaXZlcu+8iQo+IAo+IE1heWJlCj4gCkkg d2lsbCBhZGQgYSBuZXcgZnVuY3Rpb24gYmFzZSBvbiBtZXNvbi1lZWNsay5jCj4+Cj4+IE9yIHVz aW5nIG1lc29uX2VlY2xrY19wcm9iZSBpcyBtb3JlIGVhc2llcj8KPiAKPiBJdCBpcyBub3QgcXVl c3Rpb24gb2YgZWFzaW5lc3MsIGJ1dCBjb3JyZWN0bmVzcy4KPiAKPj4KPj4+IElzIHRoZXJlIGFu eXRoaW5nIGJ1dCBjbG9ja3MgYW5kIHJlc2V0cyBpbiB0aGVzZSByZWdpc3RlciByZWdpb24gPwo+ PiBObywgdGhlcmUgaXMgb25seSBjbG9ja3MgaW4gdGhlIHJlZ2lzdGVyIHJlZ2lvbi4KPj4gdGhl IHNhbWUgZG9lcyB0aGUgUExMIHJlZ2lzdGVyIHJlZ2lvbi4KPiAKPiBUaGVuIHRoZXJlIGlzIG5v IHJlYXNvbiB0byB1c2Ugc3lzY29uIGZvciB0aG9zZSBkcml2ZXJzCj5BZGQgYSBuZXcgcHJvYmUg ZnVuY3Rpb24gZm9yIEExCj4+Pgo+Pj4+ICsKPj4+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBtZXNv bl9lZWNsa2NfZGF0YSBhMV9wZXJpcGhzX2RhdGEgPSB7Cj4+Pj4gKwkJLnJlZ21hcF9jbGtzID0g YTFfcGVyaXBoc19yZWdtYXBzLAo+Pj4+ICsJCS5yZWdtYXBfY2xrX251bSA9IEFSUkFZX1NJWkUo YTFfcGVyaXBoc19yZWdtYXBzKSwKPj4+PiArCQkuaHdfb25lY2VsbF9kYXRhID0gJmExX3Blcmlw aHNfaHdfb25lY2VsbF9kYXRhLAo+Pj4+ICt9Owo+Pj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG9m X2RldmljZV9pZCBjbGtjX21hdGNoX3RhYmxlW10gPSB7Cj4+Pj4gKwl7Cj4+Pj4gKwkJLmNvbXBh dGlibGUgPSAiYW1sb2dpYyxhMS1wZXJpcGhzLWNsa2MiLAo+Pj4+ICsJCS5kYXRhID0gJmExX3Bl cmlwaHNfZGF0YQo+Pj4+ICsJfSwKPj4+PiArCXsgLyogc2VudGluZWwgKi8gfQo+Pj4+ICt9Owo+ Pj4+ICsKPj4+PiArc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgYTFfZHJpdmVyID0gewo+ Pj4+ICsJLnByb2JlCQk9IG1lc29uX2ExX3BlcmlwaHNfcHJvYmUsCj4+Pj4gKwkuZHJpdmVyCQk9 IHsKPj4+PiArCQkubmFtZQk9ICJhMS1wZXJpcGhzLWNsa2MiLAo+Pj4+ICsJCS5vZl9tYXRjaF90 YWJsZSA9IGNsa2NfbWF0Y2hfdGFibGUsCj4+Pj4gKwl9LAo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiAr YnVpbHRpbl9wbGF0Zm9ybV9kcml2ZXIoYTFfZHJpdmVyKTsKPj4+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9jbGsvbWVzb24vYTEuaCBiL2RyaXZlcnMvY2xrL21lc29uL2ExLmgKPj4+PiBuZXcgZmls ZSBtb2RlIDEwMDY0NAo+Pj4+IGluZGV4IDAwMDAwMDAuLjFhZTVlMDQKPj4+PiAtLS0gL2Rldi9u dWxsCj4+Pj4gKysrIGIvZHJpdmVycy9jbGsvbWVzb24vYTEuaAo+Pj4+IEBAIC0wLDAgKzEsMTIw IEBACj4+Pj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMCsgT1IgTUlUKSAq Lwo+Pj4+ICsvKgo+Pj4+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTkgQW1sb2dpYywgSW5jLiBBbGwg cmlnaHRzIHJlc2VydmVkLgo+Pj4+ICsgKi8KPj4+PiArCj4+Pj4gKyNpZm5kZWYgX19BMV9ICj4+ Pj4gKyNkZWZpbmUgX19BMV9ICj4+Pj4gKwo+Pj4+ICsvKiBwZXJpcGhlcmFsIGNsb2NrIGNvbnRy b2xsZXIgcmVnaXN0ZXIgb2Zmc2V0ICovCj4+Pj4gKyNkZWZpbmUgU1lTX09TQ0lOX0NUUkwJCQkw eDAKPj4+PiArI2RlZmluZSBSVENfQllfT1NDSU5fQ1RSTDAJCTB4NAo+Pj4+ICsjZGVmaW5lIFJU Q19CWV9PU0NJTl9DVFJMMQkJMHg4Cj4+Pj4gKyNkZWZpbmUgUlRDX0NUUkwJCQkweGMKPj4+PiAr I2RlZmluZSBTWVNfQ0xLX0NUUkwwCQkJMHgxMAo+Pj4+ICsjZGVmaW5lIEFYSV9DTEtfQ1RSTDAJ CQkweDE0Cj4+Pj4gKyNkZWZpbmUgU1lTX0NMS19FTjAJCQkweDFjCj4+Pj4gKyNkZWZpbmUgU1lT X0NMS19FTjEJCQkweDIwCj4+Pj4gKyNkZWZpbmUgQVhJX0NMS19FTgkJCTB4MjQKPj4+PiArI2Rl ZmluZSBEU1BBX0NMS19FTgkJCTB4MjgKPj4+PiArI2RlZmluZSBEU1BCX0NMS19FTgkJCTB4MmMK Pj4+PiArI2RlZmluZSBEU1BBX0NMS19DVFJMMAkJCTB4MzAKPj4+PiArI2RlZmluZSBEU1BCX0NM S19DVFJMMAkJCTB4MzQKPj4+PiArI2RlZmluZSBDTEsxMl8yNF9DVFJMCQkJMHgzOAo+Pj4+ICsj ZGVmaW5lIEdFTl9DTEtfQ1RSTAkJCTB4M2MKPj4+PiArI2RlZmluZSBUSU1FU1RBTVBfQ1RSTDAJ CQkweDQwCj4+Pj4gKyNkZWZpbmUgVElNRVNUQU1QX0NUUkwxCQkJMHg0NAo+Pj4+ICsjZGVmaW5l IFRJTUVTVEFNUF9DVFJMMgkJCTB4NDgKPj4+PiArI2RlZmluZSBUSU1FU1RBTVBfVkFMMAkJCTB4 NGMKPj4+PiArI2RlZmluZSBUSU1FU1RBTVBfVkFMMQkJCTB4NTAKPj4+PiArI2RlZmluZSBUSU1F QkFTRV9DVFJMMAkJCTB4NTQKPj4+PiArI2RlZmluZSBUSU1FQkFTRV9DVFJMMQkJCTB4NTgKPj4+ PiArI2RlZmluZSBTQVJfQURDX0NMS19DVFJMCQkweGMwCj4+Pj4gKyNkZWZpbmUgUFdNX0NMS19B Ql9DVFJMCQkJMHhjNAo+Pj4+ICsjZGVmaW5lIFBXTV9DTEtfQ0RfQ1RSTAkJCTB4YzgKPj4+PiAr I2RlZmluZSBQV01fQ0xLX0VGX0NUUkwJCQkweGNjCj4+Pj4gKyNkZWZpbmUgU1BJQ0NfQ0xLX0NU UkwJCQkweGQwCj4+Pj4gKyNkZWZpbmUgVFNfQ0xLX0NUUkwJCQkweGQ0Cj4+Pj4gKyNkZWZpbmUg U1BJRkNfQ0xLX0NUUkwJCQkweGQ4Cj4+Pj4gKyNkZWZpbmUgVVNCX0JVU0NMS19DVFJMCQkJMHhk Ywo+Pj4+ICsjZGVmaW5lIFNEX0VNTUNfQ0xLX0NUUkwJCTB4ZTAKPj4+PiArI2RlZmluZSBDRUNB X0NMS19DVFJMMAkJCTB4ZTQKPj4+PiArI2RlZmluZSBDRUNBX0NMS19DVFJMMQkJCTB4ZTgKPj4+ PiArI2RlZmluZSBDRUNCX0NMS19DVFJMMAkJCTB4ZWMKPj4+PiArI2RlZmluZSBDRUNCX0NMS19D VFJMMQkJCTB4ZjAKPj4+PiArI2RlZmluZSBQU1JBTV9DTEtfQ1RSTAkJCTB4ZjQKPj4+PiArI2Rl ZmluZSBETUNfQ0xLX0NUUkwJCQkweGY4Cj4+Pj4gKyNkZWZpbmUgRkNMS19ESVYxX1NFTAkJCTB4 ZmMKPj4+PiArI2RlZmluZSBUU1RfQ1RSTAkJCTB4MTAwCj4+Pj4gKwo+Pj4+ICsjZGVmaW5lIENM S0lEX1hUQUxfQ0xLVFJFRQkJMAo+Pj4+ICsjZGVmaW5lIENMS0lEX1NZU19BX1NFTAkJCTg5Cj4+ Pj4gKyNkZWZpbmUgQ0xLSURfU1lTX0FfRElWCQkJOTAKPj4+PiArI2RlZmluZSBDTEtJRF9TWVNf QQkJCTkxCj4+Pj4gKyNkZWZpbmUgQ0xLSURfU1lTX0JfU0VMCQkJOTIKPj4+PiArI2RlZmluZSBD TEtJRF9TWVNfQl9ESVYJCQk5Mwo+Pj4+ICsjZGVmaW5lIENMS0lEX1NZU19CCQkJOTQKPj4+PiAr I2RlZmluZSBDTEtJRF9EU1BBX0FfU0VMCQk5NQo+Pj4+ICsjZGVmaW5lIENMS0lEX0RTUEFfQV9E SVYJCTk2Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfRFNQQV9BCQkJOTcKPj4+PiArI2RlZmluZSBDTEtJ RF9EU1BBX0JfU0VMCQk5OAo+Pj4+ICsjZGVmaW5lIENMS0lEX0RTUEFfQl9ESVYJCTk5Cj4+Pj4g KyNkZWZpbmUgQ0xLSURfRFNQQV9CCQkJMTAwCj4+Pj4gKyNkZWZpbmUgQ0xLSURfRFNQQl9BX1NF TAkJMTAxCj4+Pj4gKyNkZWZpbmUgQ0xLSURfRFNQQl9BX0RJVgkJMTAyCj4+Pj4gKyNkZWZpbmUg Q0xLSURfRFNQQl9BCQkJMTAzCj4+Pj4gKyNkZWZpbmUgQ0xLSURfRFNQQl9CX1NFTAkJMTA0Cj4+ Pj4gKyNkZWZpbmUgQ0xLSURfRFNQQl9CX0RJVgkJMTA1Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfRFNQ Ql9CCQkJMTA2Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfUlRDXzMyS19DTEtJTgkJMTA3Cj4+Pj4gKyNk ZWZpbmUgQ0xLSURfUlRDXzMyS19ESVYJCTEwOAo+Pj4+ICsjZGVmaW5lIENMS0lEX1JUQ18zMktf WFRBTAkJMTA5Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfUlRDXzMyS19TRUwJCTExMAo+Pj4+ICsjZGVm aW5lIENMS0lEX0NFQ0JfMzJLX0NMS0lOCQkxMTEKPj4+PiArI2RlZmluZSBDTEtJRF9DRUNCXzMy S19ESVYJCTExMgo+Pj4+ICsjZGVmaW5lIENMS0lEX0NFQ0JfMzJLX1NFTF9QUkUJCTExMwo+Pj4+ ICsjZGVmaW5lIENMS0lEX0NFQ0JfMzJLX1NFTAkJMTE0Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfQ0VD QV8zMktfQ0xLSU4JCTExNQo+Pj4+ICsjZGVmaW5lIENMS0lEX0NFQ0FfMzJLX0RJVgkJMTE2Cj4+ Pj4gKyNkZWZpbmUgQ0xLSURfQ0VDQV8zMktfU0VMX1BSRQkJMTE3Cj4+Pj4gKyNkZWZpbmUgQ0xL SURfQ0VDQV8zMktfU0VMCQkxMTgKPj4+PiArI2RlZmluZSBDTEtJRF9ESVYyX1BSRQkJCTExOQo+ Pj4+ICsjZGVmaW5lIENMS0lEXzI0TV9ESVYyCQkJMTIwCj4+Pj4gKyNkZWZpbmUgQ0xLSURfR0VO X1NFTAkJCTEyMQo+Pj4+ICsjZGVmaW5lIENMS0lEX0dFTl9ESVYJCQkxMjIKPj4+PiArI2RlZmlu ZSBDTEtJRF9TQVJBRENfRElWCQkxMjMKPj4+PiArI2RlZmluZSBDTEtJRF9QV01fQV9TRUwJCQkx MjQKPj4+PiArI2RlZmluZSBDTEtJRF9QV01fQV9ESVYJCQkxMjUKPj4+PiArI2RlZmluZSBDTEtJ RF9QV01fQl9TRUwJCQkxMjYKPj4+PiArI2RlZmluZSBDTEtJRF9QV01fQl9ESVYJCQkxMjcKPj4+ PiArI2RlZmluZSBDTEtJRF9QV01fQ19TRUwJCQkxMjgKPj4+PiArI2RlZmluZSBDTEtJRF9QV01f Q19ESVYJCQkxMjkKPj4+PiArI2RlZmluZSBDTEtJRF9QV01fRF9TRUwJCQkxMzAKPj4+PiArI2Rl ZmluZSBDTEtJRF9QV01fRF9ESVYJCQkxMzEKPj4+PiArI2RlZmluZSBDTEtJRF9QV01fRV9TRUwJ CQkxMzIKPj4+PiArI2RlZmluZSBDTEtJRF9QV01fRV9ESVYJCQkxMzMKPj4+PiArI2RlZmluZSBD TEtJRF9QV01fRl9TRUwJCQkxMzQKPj4+PiArI2RlZmluZSBDTEtJRF9QV01fRl9ESVYJCQkxMzUK Pj4+PiArI2RlZmluZSBDTEtJRF9TUElDQ19TRUwJCQkxMzYKPj4+PiArI2RlZmluZSBDTEtJRF9T UElDQ19ESVYJCQkxMzcKPj4+PiArI2RlZmluZSBDTEtJRF9TUElDQ19TRUwyCQkxMzgKPj4+PiAr I2RlZmluZSBDTEtJRF9UU19ESVYJCQkxMzkKPj4+PiArI2RlZmluZSBDTEtJRF9TUElGQ19TRUwJ CQkxNDAKPj4+PiArI2RlZmluZSBDTEtJRF9TUElGQ19ESVYJCQkxNDEKPj4+PiArI2RlZmluZSBD TEtJRF9TUElGQ19TRUwyCQkxNDIKPj4+PiArI2RlZmluZSBDTEtJRF9VU0JfQlVTX1NFTAkJMTQz Cj4+Pj4gKyNkZWZpbmUgQ0xLSURfVVNCX0JVU19ESVYJCTE0NAo+Pj4+ICsjZGVmaW5lIENMS0lE X1NEX0VNTUNfU0VMCQkxNDUKPj4+PiArI2RlZmluZSBDTEtJRF9TRF9FTU1DX0RJVgkJMTQ2Cj4+ Pj4gKyNkZWZpbmUgQ0xLSURfU0RfRU1NQ19TRUwyCQkxNDcKPj4+PiArI2RlZmluZSBDTEtJRF9Q U1JBTV9TRUwJCQkxNDgKPj4+PiArI2RlZmluZSBDTEtJRF9QU1JBTV9ESVYJCQkxNDkKPj4+PiAr I2RlZmluZSBDTEtJRF9QU1JBTV9TRUwyCQkxNTAKPj4+PiArI2RlZmluZSBDTEtJRF9ETUNfU0VM CQkJMTUxCj4+Pj4gKyNkZWZpbmUgQ0xLSURfRE1DX0RJVgkJCTE1Mgo+Pj4+ICsjZGVmaW5lIENM S0lEX0RNQ19TRUwyCQkJMTUzCj4+Pj4gKyNkZWZpbmUgTlJfQ0xLUwkJCQkxNTQKPj4+PiArCj4+ Pj4gKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9jbG9jay9hMS1jbGtjLmg+Cj4+Pj4gKwo+Pj4+ICsj ZW5kaWYgLyogX19BMV9IICovCj4+Pgo+Pj4gLgo+Pj4KPiAKPiAuCj4gCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxp bmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3Rz LmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==