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 A8391C77B78 for ; Wed, 26 Apr 2023 14:51:01 +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=kS8pL2y+f+2ZoKhnRm5lmmTrYvBBoARPf4NLuCXQKeA=; b=RCsZnvoV/H8O3L 53zFZjbWqGeVEV/fXpQbK8jWAzXOgWfcbF13mBMfmsklHHfwuZElaoIw+m05iJv3AC8GJFTQT2tl7 i0Zpmu1E0TqIYt21NHQuyAlEMbTQOCNOWeZWFpvOmSuRH0paB4gdMXWAjWo5qMHJF3MUKkNGXQgdZ ylIR3+GwvPKCwxIMisr2aIUdmDROlv8Kal2nLd66EyIkoKi23qktwR9/9o2/QR5Ibj814z/nxOtSh r78c/Yo/hjK7yLwwu+40AssBh7QBl2A/0oPtn+P2y5qlPi5kyjHqef+0R5AF2DeBm3d7SIx3kTguR oFb4suUB0ZiUFaHQjiug==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1prgTq-004FJC-1x; Wed, 26 Apr 2023 14:50:50 +0000 Received: from mx.sberdevices.ru ([45.89.227.171]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1prgTk-004FG3-2l; Wed, 26 Apr 2023 14:50:48 +0000 Received: from s-lin-edge02.sberdevices.ru (localhost [127.0.0.1]) by mx.sberdevices.ru (Postfix) with ESMTP id 905845FD87; Wed, 26 Apr 2023 17:50:35 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sberdevices.ru; s=mail; t=1682520635; bh=Wws3m5Pg7xexzbnH6NPGBys14PADdYoru02X3PIgPGA=; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type; b=Bf4PP4n4OdWdKCbOdh/Pk4JSKZSjGrldzu17nFuky22RlbBUH7bjhLCvTMQg2AkC5 1qezqCHIYjDbTXMlwic+UmkDg/v6nlpxmgSApEKRjt8V8FawaK67J4Wo+P12JCFH1Y r2vdijcEESFizhCqeeVo8tg3c7OpR/Km4icYE2pHfC61DE4l54DdczouWjYgJ7Puro LaVeJLhHRjRnvpPOhC/tX+KLzRku8BFgdn5LIpKYzjyw+2g+UEqw5u5Gb2gZuHo9xf +E7N+F/ivaxBP/Llz7RhzTufTQbQzWCFEu6QbLVee74NZIDalob6NjsCCs693F3h0R KkeE47P9LBjSQ== Received: from S-MS-EXCH01.sberdevices.ru (S-MS-EXCH01.sberdevices.ru [172.16.1.4]) by mx.sberdevices.ru (Postfix) with ESMTP; Wed, 26 Apr 2023 17:50:34 +0300 (MSK) Message-ID: Date: Wed, 26 Apr 2023 17:46:19 +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: Liang Yang , Miquel Raynal CC: 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> <20230412145715.58c2be4a@xps-13> <7c996832-258f-001c-56bd-87bbdf23eeaa@amlogic.com> <20230412163214.0c764bb3@xps-13> <0c61eaae-053e-5768-a533-70b2ff0cc95d@amlogic.com> <7520e512-8a19-ff04-364c-b5be0a579ef0@sberdevices.ru> <20230413102200.309fbe9c@xps-13> <20230413122252.0a8efcd8@xps-13> <569a948e-654a-b21f-8a4f-55dc4b295387@sberdevices.ru> <60fa656e-bda1-1de6-a79e-3e3041cd69a8@sberdevices.ru> <780c0cae-18b6-2652-1c2c-6d398ea60451@amlogic.com> <20230418152505.72fc16da@xps-13> <15a6e415-1489-a81f-fc8f-2372678ad2cb@sberdevices.ru> <5e4b395e-bf9d-0123-a0f2-2b378d950b29@sberdevices.ru> From: Arseniy Krasnov In-Reply-To: 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/04/26 04:45:00 #21166225 X-KSMG-AntiVirus-Status: Clean, skipped X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230426_075045_581166_228861E8 X-CRM114-Status: GOOD ( 37.13 ) 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 CgpPbiAyNi4wNC4yMDIzIDE2OjUxLCBMaWFuZyBZYW5nIHdyb3RlOgo+IEhpIEFyc2VuaXksCj4g Cj4gT24gMjAyMy80LzIwIDE3OjM3LCBBcnNlbml5IEtyYXNub3Ygd3JvdGU6Cj4+IFsgRVhURVJO QUwgRU1BSUwgXQo+Pgo+PiBPbiAxOS4wNC4yMDIzIDA5OjQxLCBBcnNlbml5IEtyYXNub3Ygd3Jv dGU6Cj4+Pgo+Pj4KPj4+IE9uIDE5LjA0LjIwMjMgMDY6MDUsIExpYW5nIFlhbmcgd3JvdGU6Cj4+ Pj4gSGkgQXJzZW5peSwKPj4+Pgo+Pj4+IE9uIDIwMjMvNC8xOCAyMjo1NywgQXJzZW5peSBLcmFz bm92IHdyb3RlOgo+Pj4+PiBbIEVYVEVSTkFMIEVNQUlMIF0KPj4+Pj4KPj4+Pj4KPj4+Pj4KPj4+ Pj4gT24gMTguMDQuMjAyMyAxNjoyNSwgTWlxdWVsIFJheW5hbCB3cm90ZToKPj4+Pj4+IEhpIEFy c2VuaXksCj4+Pj4+Pgo+Pj4+Pj4+Pj4gSGVsbG8gYWdhaW4gQExpYW5nIEBNaXF1ZWwhCj4+Pj4+ Pj4+Pgo+Pj4+Pj4+Pj4gT25lIG1vcmUgcXVlc3Rpb24gYWJvdXQgT09CIGFjY2VzcywgYXMgSSBj YW4gc2VlIGN1cnJlbnQgZHJpdmVyIHVzZXMgdGhlIGZvbGxvd2luZwo+Pj4+Pj4+Pj4gY2FsbGJh Y2tzOgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IMKgwqDCoMKgwqAgbmFuZC0+ZWNjLndyaXRlX29vYl9y YXcgPSBuYW5kX3dyaXRlX29vYl9zdGQ7Cj4+Pj4+Pj4+PiDCoMKgwqDCoMKgIG5hbmQtPmVjYy53 cml0ZV9vb2IgPSBuYW5kX3dyaXRlX29vYl9zdGQ7Cj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4KPj4+Pj4+ Pj4+IEZ1bmN0aW9uICduYW5kX3dyaXRlX29vYl9zdGQoKScgd3JpdGVzIGRhdGEgdG8gdGhlIGVu ZCBvZiB0aGUgcGFnZS4gQnV0IGFzIEkKPj4+Pj4+Pj4+IGNhbiBzZWUgYnkgZHVtcGluZyAnZGF0 YV9idWYnIGR1cmluZyByZWFkLCBwaHlzaWNhbCBsYXlvdXQgb2YgZWFjaCBwYWdlIGlzIHRoZQo+ Pj4+Pj4+Pj4gZm9sbG93aW5nICgxS0IgRUNDKToKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiAweDAwMDog W8KgwqDCoMKgwqDCoMKgwqAgMSBLQiBvZiBkYXRhwqDCoMKgwqDCoMKgwqAgXQo+Pj4+Pj4+Pj4g MHg0MDA6IFsgMkIgdXNlciBkYXRhXSBbIDE0QiBFQ0MgY29kZV0KPj4+Pj4+Pj4+IDB4NDEwOiBb wqDCoMKgwqDCoMKgwqDCoCAxIEtCIG9mIGRhdGHCoMKgwqDCoMKgwqDCoCBdwqDCoMKgIChBKQo+ Pj4+Pj4+Pj4gMHg4MTA6IFsgMkIgdXNlciBkYXRhXSBbIDE0QiBFQ0MgY29kZV0KPj4+Pj4+Pj4+ IDB4ODIwOiBbwqDCoMKgwqDCoMKgwqAgMzJCIHVudXNlZMKgwqDCoMKgwqDCoMKgwqDCoMKgIF0K Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IFNvLCBhZnRlciAnbmFuZF93 cml0ZV9vb2Jfc3RkKCknIChsZXQgZGF0YSBiZSBzZXF1ZW5jZSBmcm9tIFsweDAgLi4uIDB4M2Zd KSwKPj4+Pj4+Pj4+IHBhZ2Ugd2lsbCBsb29rIGxpa2UgdGhpczoKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+ PiAweDAwMDogW8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAweEZGwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBdCj4+Pj4+Pj4+PiAweDQwMDogW8KgwqDCoMKgwqDCoMKgwqDCoMKgIC4uLi4uLi4uwqDC oMKgwqDCoMKgwqDCoMKgIF0KPj4+Pj4+Pj4+IDB4N2YwOiBbwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIDB4RkbCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF0KPj4+Pj4+Pj4+IDB4ODAwOiBbIDAwIC4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uwqAgXQo+Pj4+Pj4+Pj4gMHg4MzA6IFsgLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uIDNmIF0KPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBIZXJlIHdlIGhhdmUgdHdvIHBy b2JsZW1zOgo+Pj4+Pj4+Pj4gMSkgQXR0ZW1wdCB0byBkaXNwbGF5IHJhdyBkYXRhIGJ5ICduYW5k ZHVtcCcgdXRpbGl0eSBwcm9kdWNlcyBhIGxpdHRsZSBiaXQKPj4+Pj4+Pj4+IMKgwqDCoMKgwqAg aW52YWxpZCBvdXRwdXQsIGFzIGRyaXZlciByZWxpZXMgb24gbGF5b3V0IChBKSBmcm9tIGFib3Zl LiBFLmcuIE9PQiBkYXRhCj4+Pj4+Pj4+PiDCoMKgwqDCoMKgIGlzIGF0IDB4NDAwIGFuZCAweDgx MC4gSGVyZSBpcyBhbiBleGFtcGxlIChhdHRlbXB0IHRvIHdyaXRlIDB4MTEgMHgyMiAweDMzIDB4 NDQpOgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IDB4MDAwMDA3ZjA6IDExIDIyIGZmIGZmIGZmIGZmIGZm IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmwqAgfC4iLi4uLi4uLi4uLi4uLi58Cj4+Pj4+Pj4+ PiDCoMKgwqDCoCBPT0IgRGF0YTogZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYg ZmYgZmYgZmYgZmbCoCB8Li4uLi4uLi4uLi4uLi4uLnwKPj4+Pj4+Pj4+IMKgwqDCoMKgIE9PQiBE YXRhOiAzMyA0NCBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZsKgIHwz RC4uLi4uLi4uLi4uLi4ufAo+Pj4+Pj4+Pj4gwqDCoMKgwqAgT09CIERhdGE6IGZmIGZmIGZmIGZm IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmwqAgfC4uLi4uLi4uLi4uLi4uLi58 Cj4+Pj4+Pj4+PiDCoMKgwqDCoCBPT0IgRGF0YTogZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYg ZmYgZmYgZmYgZmYgZmYgZmYgZmbCoCB8Li4uLi4uLi4uLi4uLi4uLnwKPj4+Pj4+Pj4+Cj4+Pj4+ Pj4+IEhpIEFyc2VuaXksCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IEkgcmVhbGl6ZWQgdGhlIHdyaXRlX29v Yl9yYXcoKSBhbmQgd3JpdGVfb29iKCkgYXJlIHdyb25nIGluIG1lc29uX25hbmQuYy4gSSBzdWdn ZXN0IGJvdGggb2YgdGhlbSBzaG91bGQgYmUgcmV3b3JrZWQgYW5kIGZvbGxvdyB0aGUgZm9ybWF0 IG9mIG1lc29uIG5hbmQgY29udHJvbGxlci4gaS5lLiBmaXJzdGx5IGZvcm1hdCB0aGUgZGF0YSBp biBMYXlvdXQgKEEpIGFuZCB0aGVuIHdyaXRlLiByZWFkaW5nIGlzIGZpcnN0bHkgcmVhZGluZyB0 aGUgZGF0YSBvZiBsYXlvdXQgKEEpIGFuZCB0aGVuIGNvbXBvc3QgdGhlIGxheW91dCAoQikuCj4+ Pj4+Pj4KPj4+Pj4+PiBJSVVDIGFmdGVyIHN1Y2ggd3JpdGluZyBvbmx5IE9PQiAoZS5nLiB1c2Vy IGJ5dGVzKSBhY2NvcmRpbmcgbGF5b3V0IChBKSwgaHcgd2lsbCBhbHNvIHdyaXRlIEVDQyBjb2Rl cywgc28KPj4+Pj4+PiBpdCB3aWxsIGJlIGltcG9zc2libGUgdG8gd3JpdGUgZGF0YSB0byB0aGlz IHBhZ2UgbGF0ZXIsIGJlY2F1c2Ugd2UgY2Fubm90IHVwZGF0ZSBFQ0MgY29kZXMgcHJvcGVybHkg Zm9yIHRoZSBuZXdseQo+Pj4+Pj4+IHdyaXR0ZW4gZGF0YSAod2UgY2FuJ3QgdXBkYXRlIGJpdHMg ZnJvbSAwIHRvIDEpLgo+Pj4+Pj4+Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pgo+Pj4+Pj4+ Pj4gMikgQXR0ZW1wdCB0byByZWFkIGRhdGEgaW4gRUNDIG1vZGUgd2lsbCBmYWlsLCBiZWNhdXNl IElJVUMgcGFnZSBpcyBpbiBkaXJ0eQo+Pj4+Pj4+Pj4gwqDCoMKgwqDCoCBzdGF0ZSAoSSBtZWFu IHdhcyB3cml0dGVuIGF0IGxlYXN0IG9uY2UpIGFuZCBOQU5EIGNvbnRyb2xsZXIgdHJpZXMgdG8g dXNlCj4+Pj4+Pj4+PiDCoMKgwqDCoMKgIEVDQyBjb2RlcyBhdCAweDQwMCBhbmQgMHg4MTAsIHdo aWNoIGFyZSBvYnZpb3VzbHkgYnJva2VuIGluIHRoaXMgY2FzZS4gVGh1cwo+Pj4+Pj4+Pgo+Pj4+ Pj4+PiBBcyBpIHNhaWQgYWJvdmUsIHdyaXRlX29vYl9yYXcoKSBhbmQgd3JpdGVfb29iKCkgc2hv dWxkIGJlIHJld29ya2VkLgo+Pj4+Pj4+PiBpIGRvbid0IGtub3cgd2hhdCBkbyB5b3UgbWVhbiBw YWdlIHdhcyB3cml0dGVuIGF0IGxlYXN0IG9uY2UuIGFueXdheSB0aGUgcGFnZSBzaG91bGQgYmUg d3JpdHRlbiBvbmNlLCBldmVuIGp1c3Qgd3JpdGVfb29iX3JhdygpLgo+Pj4+Pj4+Cj4+Pj4+Pj4g U29ycnksIFlvdSBtZWFuIHRoYXQgYWZ0ZXIgT09CIHdyaXRlLCB3ZSBjYW5ub3Qgd3JpdGUgdG8g dGhlIGRhdGEgYXJlYSAoZS5nLiAweDAgLi4gMHg4MTApIHVudGlsIHBhZ2Ugd2lsbCBiZSBlcmFz ZWQ/IEZvciBleGFtcGxlCj4+Pj4+Pj4gSkZGUzIgd3JpdGVzIHRvIE9PQiBvd24gbWFya2Vycywg dGhlbiBpdCB0cmllcyB0byB3cml0ZSB0byB0aGUgZGF0YSBhcmVhIG9mIHN1Y2ggcGFnZS4KPj4+ Pj4KPj4+Pj4gQExpYW5nLCBJJ2xsIGRlc2NyaWJlIGN1cnJlbnQgdGVzdCBjYXNlIGluIGRldGFp bHM6Cj4+Pj4+IDEpIEkgaGF2ZSBlcmFzZWQgcGFnZSwgSSBjYW4gcmVhZCBpdCBpbsKgIGJvdGgg cmF3IGFuZCBlY2MgbW9kZXMgLSBubyBwcm9ibGVtIChpdCBpcyBmdWxsIG9mIDB4RkYpLgo+Pj4+ PiAyKSBJIChKRkZTMiBmb3IgZXhhbXBsZSkgd2FudCB0byB3cml0ZSBvbmx5IE9PQiAtIGxldCBp dCBiZSBjbGVhbiBtYXJrZXJzLgo+Pj4+PiAzKSBJIHVzZSByYXcgd3JpdGUgdG8gdGhlIG5lZWRl ZCBwYWdlIChwbGVhc2UgY29ycmVjdCBtZSBpZiBpJ20gd3JvbmcpLiBGb3VyIGJ5dGVzCj4+Pj4+ IMKgwqDCoMKgIGF0IDB4NDAwIGFuZCAweDgxMCBhcmUgdXBkYXRlZC4gQWxsIG90aGVyIGJ5dGVz IHN0aWxsIDB4ZmYuCj4+Pj4+IDQpIE5vdywgd2hlbiBpJ20gdHJ5aW5nIHRvIHJlYWQgdGhpcyBw YWdlIGluIEVDQyBtb2RlLCBJIGdldCBFQ0MgZXJyb3JzOiBJSVVDIHRoaXMKPj4+Pj4gwqDCoMKg wqAgaGFwcGVucyBiZWNhdXNlIGZyb20gY29udHJvbGxlciBwb2ludCBvZiB2aWV3IEVDQyBjb2Rl cyBhcmUgaW52YWxpZCBmb3IgY3VycmVudAo+Pj4+PiDCoMKgwqDCoCBkYXRhIChhbGwgRUNDcyBh cmUgMHhmZikuIElzIHRoaXMgYmVoYXZpb3VyIGlzIG9rPwo+Pj4+Cj4+Pj4gWWVzLCBpdCBpcyBl eGFjdGx5IHJlcG9ydGVkIEVDQyBlcnJvcnMuCj4+Pgo+Pj4gSSBzZWUsIHNvIGlmIHdlIHdyaXRl IE9PQiAoZS5nLiB1c2luZyByYXcgbW9kZSksIHRoZXJlIGlzIG5vIHdheSB0byByZWFkIHRoaXMg cGFnZSBpbiBFQ0MgbW9kZSBsYXRlcj8gQW5kIHRoZQo+IAo+IE9mIGNvdXJzZSwgdGhlcmUgaXMg bm8gRUNDIHBhcml0eSBieXRlcyBpbiBpdDsgb3IgcmF3IHdyaXRlIHRoZSBkYXRhIHdpdGggdGhl IEVDQyBwYXJpdHkgYnl0ZXMgcGVyIHRoZSBsYXlvdXQgKEEpIHlvdSBkZXNjcmliZSBhYm92ZS4K PiAKCkJ1dCBkb24ndCBpdCBsb29rcyBsaWtlIHN0cmFuZ2U/IEp1c3Qgd3JpdGluZyBPT0IgbWFr ZXMgcGFnZSB1bnJlYWRhYmxlPyBNYXkgYmUgaXQgaXMgYmV0dGVyIHRvIG1vdmUgT09CIGRhdGEK b3V0IG9mIEVDQyBhcmVhIGFzIEkgc3VnZ2VzdGVkIGluIHYyPwoKPj4+IG9ubHkgd2F5IHRvIG1h a2UgaXQgcmVhZGFibGUgaXMgdG8gd3JpdGUgaXQgaW4gRUNDIG1vZGUsIGJ1dCBiZWZvcmUgdGhp cyB3cml0ZSwgd2UgbmVlZCB0byByZWFkIGl0J3MKPj4+IHVzZXIncyBieXRlIChmcm9tIHByZXZp b3VzIE9PQiB3cml0ZSkgaW4gcmF3IG1vZGUsIHB1dCBpdCB0byBpbmZvIGJ1ZiAoYXMgdXNlcidz IGJ5dGVzKSBhbmQgd3JpdGUgdGhpcyBwYWdlLiBJbiB0aGlzCj4+PiBjYXNlIE5BTkQgY29udHJv bGxlciB3aWxsIGdlbmVyYXRlIEVDQyBjb2RlcyBpbmNsdWRpbmcgdXNlcidzIGJ5dGUgYW5kIHBh Z2UgYmVjb21lIHJlYWRhYmxlIGluIEVDQyBtb2RlCj4+PiBhZ2Fpbi4KPiAKPiB5ZXMsIHlvdSBh cmUgcmlnaHQuCj4gCj4+Pgo+Pj4+Cj4+Pj4+IDUpIE9rLCBkb24ndCBjYXJlIG9uIHRoZXNlIEVD QyBlcnJvcnMsIGxldCdzIGdvIGZ1cnRoZXIuCj4+Pj4+IDYpIEknbSBnb2luZyB0byB3cml0ZSBz YW1lIHBhZ2UgaW4gRUNDIG1vZGUgLSBob3cgdG8gZG8gaXQgY29ycmVjdGx5PyBUaGVyZSBpcyBh bHJlYWR5Cj4+Pj4+IMKgwqDCoMKgIDQgT09CIGJ5dGVzLCBjb25zaWRlcmVkIHRvIGJlIGNvdmVy ZWQgYnkgRUNDIChidXQgaW4gZmFjdCBub3cgLSBFQ0MgYXJlYSBpcyBGRmVkKS4KPj4+Pgo+Pj4+ IElmIHN0ZXAgNCBoYXMgZXhjdXRlZCAicHJvZ3JhbSIgY29tbWFuZCBhdCB0aGUgcGFnZSAobmFu ZF93cml0ZV9vb2Jfc3RkKCkgZG9lcyksIGl0IGNhbid0IGJlIHdyaXR0ZW4gYWdhaW4gYmVmb3Jl IGVyYXNpbmcgdGhlIHBhZ2UoYmxvY2spLiBzbyB3ZSBoYXZlIHRvIHJlYWQgdGhlIHdob2xlIHBh Z2UgaW4gdGhlIGRkciBhbmQgY2hhbmdlIHRoZSBjb250ZW50LCBlcmFzZSBibG9jaywgd3JpdGUg aXQgYWdhaW4uCj4+Pj4KPj4+PiBJIGRvbid0IHRoaW5rIEpmZnMyIGhhcyB0aGUgc2FtZSBzdGVw cyAoMS02KSBhcyB5b3Ugc2FpZCBhYm92ZS4gYXJlIHlvdSBzdXJlIHRoYXQgaGFwcGVzIG9uIEpm ZnMyIG9yIGp1c3QgYW4gZXhhbXBsZT8KPj4KPj4KPj4+Cj4+PiBJIGp1c3QgY2hlY2tlZCBKRkZT MiBtb3VudC91bW91bnQgYWdhaW4sIGhlcmUgaXMgd2hhdCBpIHNlZToKPj4+IDApIEZpcnN0IGF0 dGVtcHQgdG8gbW91bnQgSkZGUzIuCj4+PiAxKSBJdCB3cml0ZXMgT09CIHRvIHBhZ2UgTiAoaSdt IHVzaW5nIHJhdyB3cml0ZSkuIEl0IGlzIGNsZWFubWFya2VyIHZhbHVlIDB4ODUgMHgxOSAweDAz IDB4MjAuIE1vdW50IGlzIGRvbmUuCj4+PiAyKSBVbW91bnQgSkZGUzIuIERvbmUuCj4+PiAzKSBT ZWNvbmQgYXR0ZW1wdCB0byBtb3VudCBKRkZTMi4KPj4+IDQpIEl0IHJlYWRzIE9PQiBmcm9tIHBh Z2UgTiAoaSdtIHVzaW5nIHJhdyByZWFkKS4gVmFsdWUgaXMgMHg4NSAweDE5IDB4MDMgMHgyMC4g RG9uZS4KPj4+IDUpIEl0IHJlYWRzIHBhZ2UgTiBpbiBFQ0MgbW9kZSwgYW5kIGkgZ2V0Ogo+Pj4g wqDCoMKgwqAgamZmczI6IG10ZC0+cmVhZCgweDEwMCBieXRlcyBmcm9tIE4pIHJldHVybmVkIEVD QyBlcnJvcgo+Pj4gNikgTW91bnQgZmFpbGVkLgo+Pj4KPj4+IFdlIGFscmVhZHkgaGFkIHByb2Js ZW0gd2hpY2ggbG9va3MgbGlrZSB0aGlzIG9uIGFub3RoZXIgZGV2aWNlLiBTb2x1dGlvbiB3YXMg dG8gdXNlIE9PQiBhcmVhIHdoaWNoIGlzCj4+PiBub3QgY292ZXJlZCBieSBFQ0MgZm9yIEpGRlMy IGNsZWFubWFya2Vycy4KPiAKPiBvaywgc28gdGhlcmUgaXMgbm90IEVDQyBwYXJpdHkgYnl0ZXMg YW5kIG10ZC0+cmVhZCgpIHJldHVybnMgRUNDIGVycm9yLgo+IGRvZXMgaXQgaGF2ZSB0byB1c2Ug cmF3IHdyaXRlL3JlYWQgb24gc3RlcCAxKSBhbmQgNCk/Cj4gCgpJZiBpJ20gdXNpbmcgbm9uIHJh dyBhY2Nlc3MgdG8gT09CLCBmb3IgZXhhbXBsZSB3cml0ZSBPT0IgKHVzZXIgYnl0ZXMpIGluIEVD QyBtb2RlLCB0aGVuCnN0ZXBzIDEpIGFuZCA0KSBhbmQgNSkgcGFzc2VzIG9rLCBidXQgd3JpdGUg dG8gdGhpcyBwYWdlIHdpbGwgYmUgaW1wb3NzaWJsZSAoZm9yIGV4YW1wbGUgSkZGUzIKd3JpdGVz IHRvIHN1Y2ggcGFnZXMgbGF0ZXIpIC0gd2UgY2FuJ3QgdXBkYXRlIEVDQyBjb2RlcyBwcm9wZXJs eSB3aXRob3V0IGVyYXNpbmcgd2hvbGUgcGFnZS4KV3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgZG9u ZSB3aXRob3V0IHByb2JsZW0sIGJ1dCByZWFkIHdpbGwgdHJpZ2dlciBFQ0MgZXJyb3JzIGR1ZSB0 byBicm9rZW4KRUNDIGNvZGVzLgoKSW4gZ2VuZXJhbCBwcm9ibGVtIHRoYXQgd2UgZGlzY3VzcyBp cyB0aGF0IGluIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gZGF0YSBhbmQgT09CIGNvbmZsaWN0cwp3 aXRoIGVhY2ggb3RoZXIgYnkgc2hhcmluZyBzYW1lIEVDQyBjb2RlcywgdGhlc2UgRUNDIGNvZGVz IGNvdWxkIGJlIHdyaXR0ZW4gb25seSBvbmNlICh3aXRob3V0CmVyYXNpbmcpLCB3aGlsZSBkYXRh IGFuZCBPT0IgaGFzIGRpZmZlcmVudCBjYWxsYmFja3MgdG8gYWNjZXNzIGFuZCB0aHVzIHN1cHBv c2VkIHRvIHdvcmsKc2VwYXJhdGVseS4KCldoYXQgZG8gWW91IHRoaW5rPwoKVGhhbmtzLCBBcnNl bml5Cgo+Pj4KPj4+IFRoYW5rcywgQXJzZW5peQo+Pj4KPj4KPj4gQExpYW5nLAo+Pgo+PiBTbWFs bCBhZGRpdGlvbiwgaWYgaSdtIHRyeWluZyB0byBpbXBsZW1lbnQgT09CIHJlYWQvd3JpdGUgaW4g RUNDIG1vZGUsIHRoZW4gc3RlcCA1KSB3aWxsIHN1Y2Nlc3MsCj4+IGJ1dCBsYXRlciwgSkZGUzIg dHJpZXMgdG8gd3JpdGUgdGhpcyBwYWdlIChpbiBFQ0MgbW9kZSBvZiBjb3Vyc2UpLCBhbmQgaW4g dGhpcyBjYXNlIEVDQyBjb2RlcyB3aWxsCj4+IGJlIGJyb2tlbiwgYmVjYXVzZSB3ZSBjYW4ndCB1 cGRhdGUgdGhlbSBwcm9wZXJseSB3aXRob3V0IGVyYXNpbmcgd2hvbGUgcGFnZS4KPj4KPj4gUGxl YXNlIHRha2UgYSBsb29rIGF0IHRoaXMgcGF0Y2ggZnJvbSBteSBjb2xsZWFndWVzOgo+PiBodHRw czovL2xvcmUua2VybmVsLm9yZy9hbGwvMjAyMzAzMjkxMTQyNDAuMzc4NzIyLTEtbW1rdXJiYW5v dkBzYmVyZGV2aWNlcy5ydQo+PiBJdCBpcyByZWxhdGVkIHdpdGggIldlIGFscmVhZHkgaGFkIHBy b2JsZW0gd2hpY2ggbG9va3MgbGlrZSB0aGlzIG9uIGFub3RoZXIgZGV2aWNlIiBmcm9tIGFib3Zl Ogo+PiBpbiAnZjUwbDFnNDFsYl9vb2JsYXlvdXRfZnJlZSgpJyB3ZSByZXNlcnZlIDIgYnl0ZXMg aW4gbm9uLUVDQyBhcmVhIGZvciBiYWQgYmxvY2sgbWFya2Vycy4KPiAKPiBJdCBpcyBhYm91dCB0 aGUgU1BJIE5BTkQgYW5kIHVzZSBhbm90aGVyIGNvbnRyb2xsZXIgY2FsbGVkIHNwaWZjLgo+IGJ1 dCBpbiBtZXNvbiBuZmMsIGl0IGlzIGhlYXZpbHkgZGVwZW5kZWQgb24gdGhlIHByZS1jcmVhdGVk IEJCVCBpbiBOQU5EIGRldmljZS4KPiAKPiAKPj4KPj4gVGhhbmtzLCBBcnNlbml5Cj4+Cj4+Cj4+ Pj4KPj4+Pj4KPj4+Pj4gVGhhdCdzIHdoeSBJIGFza2VkIFlvdXIgb3BpbmlvbiBhYm91dCBtb3Zp bmcgT09CIGRhdGEgdG8gbm9ucHJvdGVjdGVkIGJ5IEVDQyBhcmVhIChhbmQKPj4+Pj4gbGVhdmUg dXNlcidzIGJ5dGVzIHVudG91Y2hlZCkuIEluIHRoaXMgY2FzZSBPT0IgYWNjZXNzIGlzIGZyZWUg YW5kIG5vdCBsaW5rZWQgd2l0aCBFQ0MKPj4+Pj4gY29kZXMgd2hpY2ggYWxzbyBjb3ZlcnMgZGF0 YS4KPj4+Pj4KPj4+Pj4gVGhhbmtzLCBBcnNlbml5Cj4+Pj4+Cj4+Pj4+Pgo+Pj4+Pj4gQSBwYWdl IGlzIHdyaXR0ZW4gYWZ0ZXIgdHdvIHN0ZXBzOgo+Pj4+Pj4gLSBsb2FkaW5nIHRoZSBkYXRhIGlu dG8gdGhlIE5BTkQgY2hpcCBjYWNoZSAodGhhdCdzIHdoZW4geW91IHVzZSB0aGUKPj4+Pj4+IMKg wqDCoCBidXMpCj4+Pj4+PiAtIHByb2dyYW1taW5nIHRoZSBOQU5EIGFycmF5IHdpdGggdGhlIGRh dGEgbG9hZGVkIGluIGNhY2hlICh0aGF0J3Mgd2hlbgo+Pj4+Pj4gwqDCoMKgIHlvdSB3YWl0KQo+ Pj4+Pj4KPj4+Pj4+IEluIHRoZW9yeSBpdCBkb2VzIG5vdCBtYXR0ZXIgd2hlcmUgeW91IHdyaXRl IGluIHRoZSBjYWNoZSwgaXQncyByZWd1bGFyCj4+Pj4+PiBEUkFNLCB5b3UgY2FuIG1ha2UgcmFu ZG9tIHdyaXRlcyB0aGVyZSB3aXRoIHRoZSBhcHByb3ByaWF0ZSBOQU5ECj4+Pj4+PiBjb21tYW5k cy4gT2YgY291cnNlIHdoZW4gdXNpbmcgZW1iZWRkZWQgaGFyZHdhcmUgRUNDIGVuZ2luZXMsIHRo ZQo+Pj4+Pj4gY29udHJvbGxlcnMgdXN1YWxseSBleHBlY3QgdG8gYmUgZmVkIGluIGEgY2VydGFp biB3YXkgaW4gb3JkZXIgdG8KPj4+Pj4+IHByb2R1Y2UgdGhlIEVDQyBieXRlcyBhbmQgcHV0IHRo ZW0gYXQgdGhlIHJpZ2h0IGxvY2F0aW9uIGluIGNhY2hlLgo+Pj4+Pj4KPj4+Pj4+IEFuZCB0aGVu LCB3aGVuIHlvdSBhY3R1YWxseSBzZW5kIHRoZSAicHJvZ3JhbSIgY29tbWFuZCwgdGhlIE5BTkQg Y2VsbHMKPj4+Pj4+IGFjdHVhbGx5IGdldCBwcm9ncmFtbWVkIGJhc2VkIG9uIHdoYXQgaGFzIGJl ZW4gbG9hZGVkIGluIGNhY2hlLgo+Pj4+Pgo+Pj4+PiBUaGFua3MgZm9yIHRoaXMgZGV0YWlscyEg VmVyeSBpbnRlcmVzdGluZyEKPj4+Pj4KPj4+Pj4KPj4+Pj4+Cj4+Pj4+PiBUaGFua3MsCj4+Pj4+ PiBNaXF1w6hsCj4+Pj4+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpsaW51eC1hbWxvZ2ljIG1haWxpbmcgbGlzdApsaW51eC1hbWxvZ2ljQGxpc3RzLmlu ZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9s aW51eC1hbWxvZ2ljCg==