From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0F549C7EE2A for ; Thu, 4 May 2023 12:36:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:From:References:CC:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=qUIdGz94LXPzIW5ng4riqIklM9Q8NzboBcCatd3ywSk=; b=jehQFstVtH18/f ctY7leA2k6ohlBLPwEPlSry6TVebD0G9D4JIVanQDMICNnxXcPG+lD92Q0M+LDFeECVd/2ELi6nKt NB4yVvabT4xy76wgTuTaK2FESt+VAy0WP8g0k1kauRg2Mp3oiwr0ZmDDQRUWb/uNSttTDV2E2vahR biEBVEO5+LAWSyKy+QZ1saagJyGISIn1s34QaqH5bPIrOLuNAMyWiYqH62xc4TeKc/r06b7Mrdj/X 89vc+tNn6qogawc7QsqIdaf82U8vBxZaYysiJbdmx0XMwx51qT1ynowYaz8p7bgpcm3ixKIwqN6Ou M+k3X7fv9z2jVMPvQrUw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1puYCH-007sLA-2t; Thu, 04 May 2023 12:36:33 +0000 Received: from mx.sberdevices.ru ([45.89.227.171]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1puYCD-007sIy-39; Thu, 04 May 2023 12:36:32 +0000 Received: from s-lin-edge02.sberdevices.ru (localhost [127.0.0.1]) by mx.sberdevices.ru (Postfix) with ESMTP id 7BF5B5FD0C; Thu, 4 May 2023 15:36:26 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sberdevices.ru; s=mail; t=1683203786; bh=4rojlbohS3eQoGWJ5voZlc6P32dtTYAI0jJcuFTbAUQ=; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type; b=kBa2D33e8/1dJv/+HBF+cIQySY75nx1zE4lzcP4Nl2TJmFpxwR6rlySD461w06gFz TtOsFqBBl3uSIMDfG+6O6P8eUca0z3KpPdxv1ow8/CNdpnj7VsU3xERIFkps28/Bz/ NWA8eqBuLvRWxE3tOXfm+/BVy2TLGCyOVe5qTqyv0VdwhYltpiaZB2583DGP69AJPZ mpO+X6zSP/QPR156i9gYkbcXzmrlZriAh0Fu8lww1H5pyfyxJ3ESWkL2usWc+torFO l9BGjoB3/KNi2Fb/vkqiXrlsmoCXcNxc2nfp8rtmraZqVqFOXCif/9NdIAK/5zEnJe 2l9DXbAYx5H0w== Received: from S-MS-EXCH01.sberdevices.ru (S-MS-EXCH01.sberdevices.ru [172.16.1.4]) by mx.sberdevices.ru (Postfix) with ESMTP; Thu, 4 May 2023 15:36:25 +0300 (MSK) Message-ID: <40d88b59-bbd7-2567-77b1-96c82414f4dd@sberdevices.ru> Date: Thu, 4 May 2023 15:31:52 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Subject: Re: [PATCH v1 4/5] mtd: rawnand: meson: clear OOB buffer before read Content-Language: en-US To: Miquel Raynal CC: Liang Yang , Richard Weinberger , Vignesh Raghavendra , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Jianxin Pan , Yixun Lan , , , , , , , yonghui.yu References: <20230412061700.1492474-1-AVKrasnov@sberdevices.ru> <20230418152505.72fc16da@xps-13> <15a6e415-1489-a81f-fc8f-2372678ad2cb@sberdevices.ru> <5e4b395e-bf9d-0123-a0f2-2b378d950b29@sberdevices.ru> <20230502115913.78012d98@xps-13> <2274b432-d1a9-b3cf-4f7b-08c4a4c580b5@sberdevices.ru> <20230502132745.14349770@xps-13> <2b2f5cb4-84f7-65f6-13b2-42f965503023@sberdevices.ru> <20230502141703.29f0bc30@xps-13> <91cb8e19-e782-b847-8d2b-22580c371c34@sberdevices.ru> <20230502150553.65fdeb7f@xps-13> <8996d53c-54ff-6a37-e08b-95cae0629703@sberdevices.ru> <20230503100342.63215058@xps-13> <805dea68-8a40-a52a-ad7c-b2e9cd3d05a8@sberdevices.ru> <20230504141750.107fb1aa@xps-13> From: Arseniy Krasnov In-Reply-To: <20230504141750.107fb1aa@xps-13> X-Originating-IP: [172.16.1.6] X-ClientProxiedBy: S-MS-EXCH02.sberdevices.ru (172.16.1.5) To S-MS-EXCH01.sberdevices.ru (172.16.1.4) X-KSMG-Rule-ID: 4 X-KSMG-Message-Action: clean X-KSMG-AntiSpam-Status: not scanned, disabled by settings X-KSMG-AntiSpam-Interceptor-Info: not scanned X-KSMG-AntiPhishing: not scanned, disabled by settings X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 1.1.2.30, bases: 2023/05/04 08:37:00 #21217417 X-KSMG-AntiVirus-Status: Clean, skipped X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230504_053630_374957_82F3CF84 X-CRM114-Status: GOOD ( 36.54 ) X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org CgpPbiAwNC4wNS4yMDIzIDE1OjE3LCBNaXF1ZWwgUmF5bmFsIHdyb3RlOgo+IEhpIEFyc2VuaXks Cj4gCj4gYXZrcmFzbm92QHNiZXJkZXZpY2VzLnJ1IHdyb3RlIG9uIFRodSwgNCBNYXkgMjAyMyAx NDozNzo0NSArMDMwMDoKPiAKPj4gT24gMDMuMDUuMjAyMyAxMzoyMywgQXJzZW5peSBLcmFzbm92 IHdyb3RlOgo+Pj4KPj4+Cj4+PiBPbiAwMy4wNS4yMDIzIDExOjAzLCBNaXF1ZWwgUmF5bmFsIHdy b3RlOiAgCj4+Pj4gSGkgQXJzZW5peSwKPj4+Pgo+Pj4+IGF2a3Jhc25vdkBzYmVyZGV2aWNlcy5y dSB3cm90ZSBvbiBUdWUsIDIgTWF5IDIwMjMgMTk6MTM6MzggKzAzMDA6Cj4+Pj4gIAo+Pj4+PiBP biAwMi4wNS4yMDIzIDE2OjA1LCBNaXF1ZWwgUmF5bmFsIHdyb3RlOiAgCj4+Pj4+PiBIaSBBcnNl bml5LAo+Pj4+Pj4KPj4+Pj4+IGF2a3Jhc25vdkBzYmVyZGV2aWNlcy5ydSB3cm90ZSBvbiBUdWUs IDIgTWF5IDIwMjMgMTU6MjQ6MDkgKzAzMDA6Cj4+Pj4+PiAgICAgCj4+Pj4+Pj4gT24gMDIuMDUu MjAyMyAxNToxNywgTWlxdWVsIFJheW5hbCB3cm90ZTogICAgCj4+Pj4+Pj4+IEhpIEFyc2VuaXks Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+IFJpY2hhcmQsIHlvdXIgaW5wdXQgaXMgd2VsY29tZSBiZWxvdyA6 LSkKPj4+Pj4+Pj4gICAgICAgCj4+Pj4+Pj4+Pj4+Pj4+Pj4gSSBqdXN0IGNoZWNrZWQgSkZGUzIg bW91bnQvdW1vdW50IGFnYWluLCBoZXJlIGlzIHdoYXQgaSBzZWU6Cj4+Pj4+Pj4+Pj4+Pj4+Pj4g MCkgRmlyc3QgYXR0ZW1wdCB0byBtb3VudCBKRkZTMi4KPj4+Pj4+Pj4+Pj4+Pj4+PiAxKSBJdCB3 cml0ZXMgT09CIHRvIHBhZ2UgTiAoaSdtIHVzaW5nIHJhdyB3cml0ZSkuIEl0IGlzIGNsZWFubWFy a2VyIHZhbHVlIDB4ODUgMHgxOSAweDAzIDB4MjAuIE1vdW50IGlzIGRvbmUuCj4+Pj4+Pj4+Pj4+ Pj4+Pj4gMikgVW1vdW50IEpGRlMyLiBEb25lLgo+Pj4+Pj4+Pj4+Pj4+Pj4+IDMpIFNlY29uZCBh dHRlbXB0IHRvIG1vdW50IEpGRlMyLgo+Pj4+Pj4+Pj4+Pj4+Pj4+IDQpIEl0IHJlYWRzIE9PQiBm cm9tIHBhZ2UgTiAoaSdtIHVzaW5nIHJhdyByZWFkKS4gVmFsdWUgaXMgMHg4NSAweDE5IDB4MDMg MHgyMC4gRG9uZS4KPj4+Pj4+Pj4+Pj4+Pj4+PiA1KSBJdCByZWFkcyBwYWdlIE4gaW4gRUNDIG1v ZGUsIGFuZCBpIGdldDoKPj4+Pj4+Pj4+Pj4+Pj4+PiDCoMKgwqDCoCBqZmZzMjogbXRkLT5yZWFk KDB4MTAwIGJ5dGVzIGZyb20gTikgcmV0dXJuZWQgRUNDIGVycm9yCj4+Pj4+Pj4+Pj4+Pj4+Pj4g NikgTW91bnQgZmFpbGVkLgo+Pj4+Pj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+Pj4+Pj4gV2UgYWxy ZWFkeSBoYWQgcHJvYmxlbSB3aGljaCBsb29rcyBsaWtlIHRoaXMgb24gYW5vdGhlciBkZXZpY2Uu IFNvbHV0aW9uIHdhcyB0byB1c2UgT09CIGFyZWEgd2hpY2ggaXMKPj4+Pj4+Pj4+Pj4+Pj4+PiBu b3QgY292ZXJlZCBieSBFQ0MgZm9yIEpGRlMyIGNsZWFubWFya2Vycy4gICAgICAgICAgICAKPj4+ Pj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4+Pj4gb2ssIHNvIHRoZXJlIGlzIG5vdCBFQ0MgcGFyaXR5 IGJ5dGVzIGFuZCBtdGQtPnJlYWQoKSByZXR1cm5zIEVDQyBlcnJvci4KPj4+Pj4+Pj4+Pj4+Pj4g ZG9lcyBpdCBoYXZlIHRvIHVzZSByYXcgd3JpdGUvcmVhZCBvbiBzdGVwIDEpIGFuZCA0KT8KPj4+ Pj4+Pj4+Pj4+Pj4gICAgICAgICAgICAgCj4+Pj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4+PiBJZiBp J20gdXNpbmcgbm9uIHJhdyBhY2Nlc3MgdG8gT09CLCBmb3IgZXhhbXBsZSB3cml0ZSBPT0IgKHVz ZXIgYnl0ZXMpIGluIEVDQyBtb2RlLCB0aGVuCj4+Pj4+Pj4+Pj4+Pj4gc3RlcHMgMSkgYW5kIDQp IGFuZCA1KSBwYXNzZXMgb2ssIGJ1dCB3cml0ZSB0byB0aGlzIHBhZ2Ugd2lsbCBiZSBpbXBvc3Np YmxlIChmb3IgZXhhbXBsZSBKRkZTMgo+Pj4+Pj4+Pj4+Pj4+IHdyaXRlcyB0byBzdWNoIHBhZ2Vz IGxhdGVyKSAtIHdlIGNhbid0IHVwZGF0ZSBFQ0MgY29kZXMgcHJvcGVybHkgd2l0aG91dCBlcmFz aW5nIHdob2xlIHBhZ2UuCj4+Pj4+Pj4+Pj4+Pj4gV3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgZG9u ZSB3aXRob3V0IHByb2JsZW0sIGJ1dCByZWFkIHdpbGwgdHJpZ2dlciBFQ0MgZXJyb3JzIGR1ZSB0 byBicm9rZW4KPj4+Pj4+Pj4+Pj4+PiBFQ0MgY29kZXMuCj4+Pj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+ Pj4+PiBJbiBnZW5lcmFsIHByb2JsZW0gdGhhdCB3ZSBkaXNjdXNzIGlzIHRoYXQgaW4gY3VycmVu dCBpbXBsZW1lbnRhdGlvbiBkYXRhIGFuZCBPT0IgY29uZmxpY3RzCj4+Pj4+Pj4+Pj4+Pj4gd2l0 aCBlYWNoIG90aGVyIGJ5IHNoYXJpbmcgc2FtZSBFQ0MgY29kZXMsIHRoZXNlIEVDQyBjb2RlcyBj b3VsZCBiZSB3cml0dGVuIG9ubHkgb25jZSAod2l0aG91dAo+Pj4+Pj4+Pj4+Pj4+IGVyYXNpbmcp LCB3aGlsZSBkYXRhIGFuZCBPT0IgaGFzIGRpZmZlcmVudCBjYWxsYmFja3MgdG8gYWNjZXNzIGFu ZCB0aHVzIHN1cHBvc2VkIHRvIHdvcmsKPj4+Pj4+Pj4+Pj4+PiBzZXBhcmF0ZWx5LiAgICAgICAg ICAKPj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+PiBUaGUgZmFjdCB0aGF0IHRoZXJlIG1pZ2h0IGJl IGhlbHBlcnMganVzdCBmb3Igd3JpdGluZyBPT0IgYXJlYXMgb3IganVzdAo+Pj4+Pj4+Pj4+Pj4g aW4tYmFuZCBhcmVhcyBhcmUgb3B0aW1pemF0aW9ucy4gTkFORCBwYWdlcyBhcmUgbWVhbnQgdG8g YmUgd3JpdHRlbiBhCj4+Pj4+Pj4+Pj4+PiBzaW5nbGUgdGltZSwgbm8gbWF0dGVyIHdoYXQgcG9y dGlvbiB5b3Ugd3JpdGUuIEluIHNvbWUgY2FzZXMsIGl0IGlzCj4+Pj4+Pj4+Pj4+PiBwb3NzaWJs ZSB0byBwZXJmb3JtIHN1YnBhZ2Ugd3JpdGVzIGlmIHRoZSBjaGlwIHN1cHBvcnRzIGl0LiBQYWdl cyBtYXkKPj4+Pj4+Pj4+Pj4+IGJlIHNwbGl0IGludG8gc2V2ZXJhbCBhcmVhcyB3aGljaCBjb3Zl ciBhIHBhcnRpYWwgaW4tYmFuZCBhcmVhICphbmQqIGEKPj4+Pj4+Pj4+Pj4+IHBhcnRpYWwgT09C IGFyZWEuIElmIHlvdSB3cml0ZSBpbnRvIHRoZSBpbi1iYW5kICpvciogb3V0LW9mLWJhbmQgYXJl YXMKPj4+Pj4+Pj4+Pj4+IG9mIGEgZ2l2ZW4gc3VicGFnZSwgeW91ICpjYW5ub3QqIHdyaXRlIHRo ZSBvdGhlciBwYXJ0IGxhdGVyIHdpdGhvdXQgICAgICAgICAgCj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+ Pj4+IFRoYW5rcyBmb3IgZGV0YWlscyEgU28gaW4gY2FzZSBvZiBKRkZTMiBpdCBsb29rcyBsaWtl IHN0cmFuZ2UsIHRoYXQgaXQgdHJpZXMKPj4+Pj4+Pj4+Pj4gdG8gd3JpdGUgcGFnZSBhZnRlciB3 cml0aW5nIGNsZWFuIG1hcmtlcnMgdG8gaXQgYmVmb3JlPyBJbiB0aGUgb2xkIHZlbmRvcidzCj4+ Pj4+Pj4+Pj4+IGRyaXZlciBPT0Igd3JpdGUgY2FsbGJhY2sgaXMgc3VwcHJlc3NlZCBieSByZXR1 cm4gMCBhbHdheXMgYW5kIEpGRlMyIHdvcmtzCj4+Pj4+Pj4+Pj4+IGNvcnJlY3RseS4gICAgICAg IAo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gQ2FuIHlvdSBwb2ludCB0aGUgY29kZSB5b3UncmUgbWVu dGlvbmluZz8gKGJvdGggd2hhdCBKRkZTMiB3aGljaCBsb29rcwo+Pj4+Pj4+Pj4+IHN0cmFuZ2Ug dG8geW91IGFuZCB0aGUgb2xkIHZlbmRvciBoYWNrKSAgICAgICAgCj4+Pj4+Pj4+Pgo+Pj4+Pj4+ Pj4gSGVyZSBpcyB2ZXJzaW9uIG9mIHRoZSBvbGQgdmVuZG9yJ3MgZHJpdmVyOgo+Pj4+Pj4+Pj4K Pj4+Pj4+Pj4+IGh0dHBzOi8vZ2l0aHViLmNvbS9rc3phcS9saW51eC1hbWxvZ2ljL2Jsb2IvbWFz dGVyX25ld19hbXBvcnRzL2RyaXZlcnMvYW1sb2dpYy9uYW5kL25hbmQvYW1sX25hbmQuYyNMMzI2 MAo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IEluIG15IHZlcnNpb24gdGhlcmUgaXMgbm8gQlVHKCkgdGhl cmUsIGJ1dCBpdCBpcyBzYW1lIGRyaXZlciBmb3IgdGhlIHNhbWUgY2hpcC4KPj4+Pj4+Pj4+Cj4+ Pj4+Pj4+PiBBYm91dCBKRkZTMiAtIGkgZGlkbid0IGNoZWNrIGl0cyBzb3VyY2UgY29kZSwgYnV0 IHdoYXQgSSBjYW4gc2VlIHVzaW5nIHByaW50aygpLCBpcyB0aGF0IGl0IGZpcnN0Cj4+Pj4+Pj4+ PiB0cmllcyB0byB3cml0ZSBjbGVhbm1hcmtlciB1c2luZyBPT0Igd3JpdGUgY2FsbGJhY2suIFRo ZW4gbGF0ZXIgaXQgdHJpZXMgdG8gd3JpdGUgdG8gdGhpcyBwYWdlLCBzbwo+Pj4+Pj4+Pj4gbWF5 IGJlIGl0IGlzIHVuZXhwZWN0ZWQgYmVoYXZpb3VyIG9mIEpGRlMyPyAgICAgIAo+Pj4+Pj4+Pgo+ Pj4+Pj4+PiBUQkggSSBhbSBub3Qga25vd2xlZGdlYWJsZSBhYm91dCBKRkZTMiwgbWF5YmUgUmlj aGFyZCBjYW4gaGVscCBoZXJlLgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBBcmUgeW91IHN1cmUgeW91IGZs YXNoIGlzIHJlY29nbml6ZWQgYnkgSkZGUzIgYXMgYmVpbmcgYSBOQU5EIGRldmljZT8KPj4+Pj4+ Pj4gRGlkIHlvdSBlbmFibGUgQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSIGNvcnJlY3RseT8g QmVjYXVzZQo+Pj4+Pj4+PiBjbGVhbm1hcmtlciBzZWVtIHRvIGJlIGRpc2NhcmRlZCB3aGVuIHVz aW5nIGEgTkFORCBkZXZpY2UsIGFuZAo+Pj4+Pj4+PiByZWNvZ25pemluZyB0aGUgZGV2aWNlIGFz IGEgTkFORCBkZXZpY2UgcmVxdWlyZXMgdGhlIGFib3ZlIG9wdGlvbiB0byBiZQo+Pj4+Pj4+PiBz ZXQgYXBwYXJlbnRseS4gICAgICAKPj4+Pj4+Pgo+Pj4+Pj4+IFllcywgSSBoYXZlCj4+Pj4+Pj4K Pj4+Pj4+PiBDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQo+Pj4+Pj4+Cj4+Pj4+Pj4gQW5k IGkgc2VlLCB0aGF0IGpmZnMyX21hcmtfZXJhc2VkX2Jsb2NrKCkgY2FsbHMgamZmczJfY2xlYW5t YXJrZXJfb29iKCkgd2hpY2ggY2hlY2tzIHRoYXQgd2UgaGF2ZSBNVERfTkFOREZMQVNILiBUaGlz Cj4+Pj4+Pj4gY2hlY2sgaXMgdHJ1ZSwgc28gdGhlbiBqZmZzMl93cml0ZV9uYW5kX2NsZWFubWFy a2VyKCkgaXMgY2FsbGVkIGFuZCB0aGVyZSBpcyBPT0Igd3JpdGUgaW4gaXQuIFNvIEkgc2VlIG9w cG9zaXRlIHRoaW5nOgo+Pj4+Pj4+IGNsZWFubWFya2VycyBhcmUgbm90IGRpc2NhcmRlZCB3aXRo IE5BTkQgZGV2aWNlLiAgICAgCj4+Pj4+Pgo+Pj4+Pj4gRXhjZWxsZW50LiBTbyB3aGVuIGNsZWFu bWFya2VyX3NpemUgPT0gMCwgaXQgbWVhbnMgdGhlcmUgaXMgbm8KPj4+Pj4+IGNsZWFubWFya2Vy LiBCdXQgaWYgaXQgaXMgYSBOQU5EIGRldmljZSwgd2Ugd3JpdGUgdGhlIG1hcmtlciBhbnl3YXku Cj4+Pj4+Pgo+Pj4+Pj4gV2VsbCBJIGd1ZXNzIGl0IHVzZWQgdG8gd29yayBvbiBvbGQgY29udHJv bGxlcnMgdXNpbmcgYSBIYW1taW5nIEVDQwo+Pj4+Pj4gZW5naW5lIG5vdCBwcm90ZWN0aW5nIGFu eSB1c2VyIE9PQiBieXRlcywgc28gd3JpdGluZyB0aGUgY2xlYW4gbWFya2Vycwo+Pj4+Pj4gd291 bGQgc2ltcGx5IG5vdCBsZWFkIHRvIEVDQyBieXRlcyBiZWluZyBwcm9kdWNlZC93cml0dGVuLiBP ciBpdCBtaWdodAo+Pj4+Pj4gaGF2ZSB3b3JrZWQgYXMgd2VsbCBvbiBjb250cm9sbGVyIGRyaXZl cnMgbm90IGVuYWJsaW5nIHRoZSBFQ0MgZW5naW5lCj4+Pj4+PiB3aGVuIHBlcmZvcm1pbmcgT09C LW9ubHkgd3JpdGVzLiBJdCBhbHNvIHJlcXVpcmVzIHRoZSBjaGlwIHRvIGJlIG9sZAo+Pj4+Pj4g ZW5vdWdoIHRvIHN1cHBvcnQgbXVsdGlwbGUgd3JpdGVzIG9uIHRoZSBzYW1lIChzdWIpcGFnZSBh cyBsb25nIGFzIHRoZQo+Pj4+Pj4gd3JpdHRlbiBiaXRzIGRvIG5vdCBvdmVybGFwPyAgICAKPj4+ Pj4KPj4+Pj4gWWVzLCB3aXRoIGNvbnRyb2xsZXIgd2hpY2ggc3VwcG9ydHMgc3VjaCBtb2RlcyB0 aGVyZSB3aWxsIGJlIG5vIHByb2JsZW0gaGVyZSEKPj4+Pj4gV2hhdCBpIHNlZSwgaXMgdGhhdCB0 aGlzIGNvbnRyb2xsZXIgZG9lc24ndCBzdXBwb3J0IG11bHRpcGxlIHdyaXRlcyB0byB0aGUKPj4+ Pj4gc2FtZSBwYWdlIGluIEVDQyBtb2RlKGUuZy4gaXQgY2FuJ3QgdXBkYXRlIEVDQyBjb3JyZWN0 bHkpLiAgCj4+Pj4KPj4+PiBJIGRvbid0IHRoaW5rIHRoaXMgaXMgYSBjb250cm9sbGVyIGxpbWl0 YXRpb24uIFRoZSBOQU5EIGNoaXAgY2Fubm90Cj4+Pj4gd3JpdGUgRUNDIGJ5dGVzIGEgZmlyc3Qg dGltZSBhbmQgdGhlbiBvdmVyd3JpdGUgb3RoZXIgRUNDIGJ5dGVzLCB0aGF0Cj4+Pj4gY2Fubm90 IHdvcmsuIFRoZSBmYWN0IHRoYXQgd2Ugd3JpdGUgRUNDIGJ5dGVzIGluIHRoZSBmaXJzdCBwbGFj ZSBpcwo+Pj4+IGJlY2F1c2UgdGhlIEVDQyBlbmdpbmUgY292ZXJzIHRoZSBmcmVlIE9PQiBieXRl cyB1c2VkIGJ5IEpGRlMyIHRvIHdyaXRlCj4+Pj4gaXRzIGNsZWFubWFya2Vycy4KPj4+PiAgCj4+ Pj4+IFNvIGluIHYyIGkndmUgYWRkZWQKPj4+Pj4gcGF0Y2ggd2hpY2ggbW92ZXMgT09CIG91dCBv ZiBFQ0MgYXJlYSwgdGh1cyBKRkZTMiBkcml2ZXIgd2lsbCB3b3JrIGNvcnJlY3RseS4gIAo+Pj4+ Cj4+Pj4gSSBhbSBzb3JyeSBidXQgdGhlIGFib3ZlIHNlbnRlbmNlIGlzIG5vdCBjbGVhciB0byBt ZS4gSSBiZWxpZXZlIHlvdQo+Pj4+IG1lYW50IHRoZSBmcmVlIE9PQiBieXRlcyBhcmUgbW92ZWQg b3V0c2lkZSBvZiB0aGUgYXJlYSBwcm90ZWN0ZWQgYnkgdGhlCj4+Pj4gRUNDIGVuZ2luZS4gSW4g dGhpcyBjYXNlIEkgZ3Vlc3MgaXQgc2hvdWxkIGJlIGZpbmUuICAKPj4+Cj4+PiBFeGFjdGx5LCBm cmVlIGJ5dGVzIHdoaWNoIGFyZSByZXBvcnRlZCBieSBPT0IgbGF5b3V0IGNhbGxiYWNrcyB3ZXJl IG1vdmVkIG91dCBvZgo+Pj4gRUNDIGFyZWEuCj4+PiAgIAo+Pj4+ICAKPj4+Pj4gU28gZm9yIG1l IG1haW4gcXVlc3Rpb24gaGVyZSBpczoKPj4+Pj4KPj4+Pj4gSG93IEpGRlMyIHNob3VsZCB3b3Jr IHdpdGggY29udHJvbGxlcnMgd2hlcmUgd2UgY2FuJ3QgdXBkYXRlIGRhdGEgYW5kIE9PQgo+Pj4+ PiBpbmRlcGVuZGVudGx5PyBEcml2ZXIgb2YgdGhpcyBmaWxlc3lzdGVtIGtub3dzIG5vdGhpbmcg YWJvdXQgdGhpcyBmZWF0dXJlcyBvZgo+Pj4+PiB0aGUgY29udHJvbGxlci4KPj4+Pj4KPj4+Pj4g T3IgSkZGUzIgd29ya3MgaW5jb3JyZWN0bHkgaW4gbXkgY2FzZSB3aGVuIGl0IHRyaWVzIHRvIGNh bGwgd3JpdGUgcGFnZSBjYWxsYmFjawo+Pj4+PiBhZnRlciBjYWxsaW5nIHdyaXRlIE9PQiBjYWxs YmFjayAoSUlVQyBpdCBpcyBiZXR0ZXIgdG8gYXNrIFJpY2hhcmQgYXMgWW91IG1lbnRpb25lZCBh Ym92ZSkuCj4+Pj4+Cj4+Pj4+IE9yIG1heSBiZSBpdCBpcyBiZXR0ZXIgdG8gc3VwcHJlc3MgT09C IHdyaXRlIGNhbGxiYWNrIChvciBzZXQgaXQgdG8gTlVMTCkgaW4gdGhpcwo+Pj4+PiBkcml2ZXIg YXMgaW4gdmVuZG9yJ3MgZHJpdmVyPyAgCj4+Pj4KPj4+PiBJIHdvdWxkIGFzc3VtZSB1c2luZyB0 aGUgdW5wcm90ZWN0ZWQgZnJlZSBPT0IgYnl0ZXMgdG8gc3RvcmUgdGhlCj4+Pj4gY2xlYW5tYXJr ZXJzIHNob3VsZCB3b3JrLiBCdXQgdGhhdCdzIGEgYml0IGZyYWdpbGUgYW5kIHZlcnkgZmlsZXN5 c3RlbQo+Pj4+IG9yaWVudGVkLiBJIGRvbid0IGxpa2UgdGhpcyBtdWNoLiBCdXQgb24gdGhlIG90 aGVyIHNpZGUgSkZGUzIgaXMKPj4+PiBsZWdhY3ksIHlvdSBzaG91bGQgdXNlIFVCSSAod2hpY2gg ZG9lcyBub3QgcGxheSB3aXRoIE9PQiBhcmVhcykgOi0pICAKPj4+Cj4+PiBQcm9ibGVtIGhlcmUg aXMgdGhhdCB3ZSBjYW4ndCB1c2UgVUJJIGluIHRoaXMgY2FzZSwgYmVjYXVzZSBpdCBkb2VzIG5v dCBzdXBwb3J0Cj4+PiBzbWFsbCBmcyBpbWFnZXMuIFNvIHRoZSBvbmx5IHdheSB0byBtYWtlIEpG RlMyIHdvcmsgaXMgdG8gbW92ZSBmcmVlIE9PQiBieXRlcyB0bwo+Pj4gbm9uIHByb3RlY3RlZCBh cmVhLiBPdGhlcndpc2UgaSB0aGluayB3ZSBoYXZlIHN0cmFuZ2Ugc2l0dWF0aW9uIHRoYXQgSkZG UzIgY2FuJ3QKPj4+IHdvcmsgY29ycmVjdGx5IG9uIHNwZWNpZmljIHR5cGUgb24gTkFORCBjb250 cm9sbGVyLiBXZSBhbHJlYWR5IGhhZCBzYW1lIHByb2JsZW0KPj4+IG9uIGFub3RoZXIgTkFORCBj b250cm9sbGVyLCBhbmQgc29sdXRpb24gd2FzIHRvIG1vdmUgT09CIGZyZWUgYnl0ZXMgbm8gbm9u LXByb3RlY3RlZAo+Pj4gYXJlYToKPj4+Cj4+PiBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwv MjAyMzAzMjkxMTQyNDAuMzc4NzIyLTEtbW1rdXJiYW5vdkBzYmVyZGV2aWNlcy5ydS8KPj4+Cj4+ PiBUaGFua3MsIEFyc2VuaXkgIAo+Pgo+PiBVcGQ6IG1heSBiZSBpIGNhbiBhZGQgb3B0aW9uIGZv ciB0aGlzIGRyaXZlciwgd2hpY2ggbWFrZXMgSkZGUzIgd29yayBjb3JyZWN0bHkgb24gdGhpcyBj aGlwLgo+PiBUaGlzIGZlYXR1cmUgc3VwcHJlc3NlcyBPT0Igd3JpdGVzIGFzIGluIG9sZCBkcml2 ZXIuIEJ5IGRlZmF1bHQgaXQgaXMgZGlzYWJsZWQgYW5kIE9PQiBpcwo+PiBFQ0MgcHJvdGVjdGVk KGN1cnJlbnQgYmVoYXZpb3VyKSwgaWYgZW5hYmxlZCAtIGl0IHByaW50cyBXQVJOX09OQ0UoKSBh bmQgYWx3YXlzIHJldHVybnMgMC4KPj4gV2hhdCBkbyBZb3UgdGhpbms/Cj4+Cj4+IE9yIG1heSBi ZSBhZGQgYW4gb3B0aW9uLCB3aGljaCBtb3ZlcyBmcmVlIGJ5dGVzIG9mIE9PQiB0byBFQ0Mgbm9u LXByb3RlY3RlZCBhcmVhIGFuZCBpdCBpcyBkaXNhYmxlZAo+PiBieSBkZWZhdWx0Lgo+IAo+IEkg cHJlZmVyIGhhdmluZyBhIHNpbmdsZSBvb2JsYXlvdXQgd2hlcmUgd2UgZXhwb3NlIHVucHJvdGVj dGVkIHVzZXIgT09CCj4gYnl0ZXMgb25seS4gQXMgb2YgdG9kYXksIHRoZSBvbmx5IHVwc3RyZWFt IHVzZXIgb2YgdXNlciBPT0IgYnl0ZXMgaXMKPiBKRkZTMiBhbnl3YXkuCgpPaywgc28gaSdsbCBw cmVwYXJlIHYzIG9uIHRoZSBuZXh0IHdlZWsgd2l0aCB0aGlzIHVwZGF0ZSAoaXQgaXMgYWxyZWFk eSBpbiB2MiwgYnV0IGknbSBnb2luZwp0byBtb2RpZnkgYW5vdGhlciBwYXRjaCB3aXRoIHVwZGF0 ZXMgZnJvbSBATGlhbmcpLgoKVGhhbmtzLCBBcnNlbml5Cgo+IAo+IFRoYW5rcywKPiBNaXF1w6hs CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1h bWxvZ2ljIG1haWxpbmcgbGlzdApsaW51eC1hbWxvZ2ljQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0 cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hbWxvZ2ljCg==