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 02978C7619A for ; Wed, 12 Apr 2023 20:57:10 +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:MIME-Version:References:In-Reply-To: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=4dSVqtnBVilhcURSBnMzuQsFAK4FFSkfkcNk8nwZbIs=; b=Inzkk+rQuLkIae Ff3BIW9ZKG4XcmAV4mr3LF1alaDu9oYUCFcbMY6GBRzbLxXFEzKrC/IF8bGMuv1x91V4zU0+mlQeo bVRk8GbVHs7aV1ippTil4uJXHTO7MGK0XJEXVaZ/P5GSN1NiaLqEadOdG9AML4gJnp57ngk6bl7V6 SPCnj1uWgIxv/E3Q7etexZd5i/5Vv2eUegrNObHwrlCCA5rUeY1j9t0hI+maWHdxb4Bmwoao1YiSf LjlS4cJEnr2LyRM8BYGRxu41UMnRW8xdhcKJ1HeinWvswuPxOUvsWKUSqWzCmgmI8WFQbbEY7+hK0 bhxnMFbVIZ4NZnVglYHg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pmhVo-004KBk-3D; Wed, 12 Apr 2023 20:56:17 +0000 Received: from relay7-d.mail.gandi.net ([2001:4b98:dc4:8::227]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pmhVk-004K9j-2n; Wed, 12 Apr 2023 20:56:15 +0000 Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id F30DA20002; Wed, 12 Apr 2023 20:56:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1681332968; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=9yIlgn+nqUfhaQEkEPrR1FDW24JZolFKiV1qOylSnE8=; b=FVpCba4anHESsRCB/9FjrlZd0UWj3m1usLesKxSpJ9NHBhCEimX3MfGeLZB7M9lhHCuG0H 80qNIyw5vyRgYnrXLHawB7nKDhAwmkz5bZoBtT6t7fpaizs4NngS7KMjIVj9R2YUhW48ZV FjcAkuve+KO6VGScICVUiPTU8CYx2qxMZL+JvSjxl8YFJOffGY+/Hi3Nn+sBODhxD8KiYY 4ow3t/3C8168n1uhdQJYeC7T90WA9SFeDb3MX5oEW7SavKYPB2KZbbewPa+Bv+shzgpFkh fjcPNCNA8aQIIzp/B4pbajuFX2VockxQ34WFMU/gZlvLeXe6Uo76KhoSDrGVKg== Date: Wed, 12 Apr 2023 22:56:03 +0200 From: Miquel Raynal To: Dmitry Rokosov Cc: Liang Yang , Arseniy Krasnov , Richard Weinberger , Vignesh Raghavendra , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Jianxin Pan , Yixun Lan , , , , , , Subject: Re: [PATCH v1 4/5] mtd: rawnand: meson: clear OOB buffer before read Message-ID: <20230412225603.5fba1a9e@xps-13> In-Reply-To: <20230412191548.ov5fufxkwqvdgrz2@CAB-WSD-L081021> References: <20230412061700.1492474-1-AVKrasnov@sberdevices.ru> <20230412061700.1492474-5-AVKrasnov@sberdevices.ru> <20230412094400.3c82f631@xps-13> <20230412113654.183350d0@xps-13> <4eace0a0-f6af-7d99-a52f-7913a2139330@sberdevices.ru> <20230412141824.755b2bca@xps-13> <20230412145715.58c2be4a@xps-13> <7c996832-258f-001c-56bd-87bbdf23eeaa@amlogic.com> <20230412191548.ov5fufxkwqvdgrz2@CAB-WSD-L081021> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230412_135613_348615_6D1C0374 X-CRM114-Status: GOOD ( 50.73 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgRG1pdHJ5LAoKZGRyb2tvc292QHNiZXJkZXZpY2VzLnJ1IHdyb3RlIG9uIFdlZCwgMTIgQXBy IDIwMjMgMjI6MTU6NDggKzAzMDA6Cgo+IE9uIFdlZCwgQXByIDEyLCAyMDIzIGF0IDEwOjA0OjI4 UE0gKzA4MDAsIExpYW5nIFlhbmcgd3JvdGU6Cj4gPiBIaSBNaXF1ZWwgYW5kIEFyc2VuaXksCj4g PiAKPiA+IE9uIDIwMjMvNC8xMiAyMDo1NywgTWlxdWVsIFJheW5hbCB3cm90ZTogIAo+ID4gPiBb IEVYVEVSTkFMIEVNQUlMIF0KPiA+ID4gCj4gPiA+IEhpIEFyc2VuaXksCj4gPiA+IAo+ID4gPiBh dmtyYXNub3ZAc2JlcmRldmljZXMucnUgd3JvdGUgb24gV2VkLCAxMiBBcHIgMjAyMyAxNToyMjoy NiArMDMwMDoKPiA+ID4gICAKPiA+ID4gPiBPbiAxMi4wNC4yMDIzIDE1OjE4LCBNaXF1ZWwgUmF5 bmFsIHdyb3RlOiAgCj4gPiA+ID4gPiBIaSBBcnNlbml5LAo+ID4gPiA+ID4gCj4gPiA+ID4gPiBh dmtyYXNub3ZAc2JlcmRldmljZXMucnUgd3JvdGUgb24gV2VkLCAxMiBBcHIgMjAyMyAxMzoxNDo1 MiArMDMwMDogIAo+ID4gPiA+ID4gPiBPbiAxMi4wNC4yMDIzIDEyOjM2LCBNaXF1ZWwgUmF5bmFs IHdyb3RlOiAgCj4gPiA+ID4gPiA+ID4gSGkgQXJzZW5peSwKPiA+ID4gPiA+ID4gPiAKPiA+ID4g PiA+ID4gPiBhdmtyYXNub3ZAc2JlcmRldmljZXMucnUgd3JvdGUgb24gV2VkLCAxMiBBcHIgMjAy MyAxMjoyMDo1NSArMDMwMDogIAo+ID4gPiA+ID4gPiA+ID4gT24gMTIuMDQuMjAyMyAxMDo0NCwg TWlxdWVsIFJheW5hbCB3cm90ZTogIAo+ID4gPiA+ID4gPiA+ID4gPiBIaSBBcnNlbml5LAo+ID4g PiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+ID4gQVZLcmFzbm92QHNiZXJkZXZpY2VzLnJ1 IHdyb3RlIG9uIFdlZCwgMTIgQXByIDIwMjMgMDk6MTY6NTggKzAzMDA6ICAKPiA+ID4gPiA+ID4g PiA+ID4gPiBUaGlzIE5BTkQgcmVhZHMgb25seSBmZXcgdXNlcidzIGJ5dGVzIGluIEVDQyBtb2Rl IChub3QgZnVsbCBPT0IpLCBzbyAgCj4gPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4g PiAiVGhpcyBOQU5EIHJlYWRzIiBkb2VzIG5vdCBsb29rIHJpZ2h0LCBkbyB5b3UgbWVhbiAiU3Vi cGFnZSByZWFkcyBkbwo+ID4gPiA+ID4gPiA+ID4gPiBub3QgcmV0cmlldmUgYWxsIHRoZSBPT0Ig Ynl0ZXMsIj8gIAo+ID4gPiA+ID4gPiA+ID4gPiA+IGZpbGwgT09CIGJ1ZmZlciB3aXRoIHplcm9l cyB0byBub3QgcmV0dXJuIGdhcmJhZ2UgZnJvbSBwcmV2aW91cyByZWFkcwo+ID4gPiA+ID4gPiA+ ID4gPiA+IHRvIHVzZXIuCj4gPiA+ID4gPiA+ID4gPiA+ID4gT3RoZXJ3aXNlICduYW5kZHVtcCcg dXRpbGl0eSBwcmludHMgc29tZXRoaW5nIGxpa2UgdGhpcyBmb3IganVzdCBlcmFzZWQKPiA+ID4g PiA+ID4gPiA+ID4gPiBwYWdlOgo+ID4gPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4g PiA+IC4uLgo+ID4gPiA+ID4gPiA+ID4gPiA+IDB4MDAwMDA3ZjA6IGZmIGZmIGZmIGZmIGZmIGZm IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmCj4gPiA+ID4gPiA+ID4gPiA+ID4gICAgT09C IERhdGE6IGZmIGZmIGZmIGZmIDAwIDAwIGZmIGZmIDgwIGNmIDIyIDk5IGNiIGFkIGQzIGJlCj4g PiA+ID4gPiA+ID4gPiA+ID4gICAgT09CIERhdGE6IDYzIDI3IGFlIDA2IDE2IDBhIDJmIGViIGJi IGRkIDQ2IDc0IDQxIDhlIDg4IDZlCj4gPiA+ID4gPiA+ID4gPiA+ID4gICAgT09CIERhdGE6IDM4 IGExIDJkIGU2IDc3IGQ0IDA1IDA2IGYyIGE1IDdlIDI1IGViIDM0IDdjIGZmCj4gPiA+ID4gPiA+ ID4gPiA+ID4gICAgT09CIERhdGE6IDM4IGVhIGRlIDE0IDEwIGRlIDliIDQwIDMzIDE2IDZhIGNj IDlkIGFhIDJmIDVlCj4gPiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+ID4gU2ln bmVkLW9mZi1ieTogQXJzZW5peSBLcmFzbm92IDxBVktyYXNub3ZAc2JlcmRldmljZXMucnU+Cj4g PiA+ID4gPiA+ID4gPiA+ID4gLS0tCj4gPiA+ID4gPiA+ID4gPiA+ID4gICBkcml2ZXJzL210ZC9u YW5kL3Jhdy9tZXNvbl9uYW5kLmMgfCA1ICsrKysrCj4gPiA+ID4gPiA+ID4gPiA+ID4gICAxIGZp bGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCj4gPiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4g PiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L21lc29uX25hbmQu YyBiL2RyaXZlcnMvbXRkL25hbmQvcmF3L21lc29uX25hbmQuYwo+ID4gPiA+ID4gPiA+ID4gPiA+ IGluZGV4IGY4NGExMDIzOGU0ZC4uZjJmMjQ3MmNiNTExIDEwMDY0NAo+ID4gPiA+ID4gPiA+ID4g PiA+IC0tLSBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L21lc29uX25hbmQuYwo+ID4gPiA+ID4gPiA+ ID4gPiA+ICsrKyBiL2RyaXZlcnMvbXRkL25hbmQvcmF3L21lc29uX25hbmQuYwo+ID4gPiA+ID4g PiA+ID4gPiA+IEBAIC04NTgsOSArODU4LDEyIEBAIHN0YXRpYyBpbnQgbWVzb25fbmZjX3JlYWRf cGFnZV9zdWIoc3RydWN0IG5hbmRfY2hpcCAqbmFuZCwKPiA+ID4gPiA+ID4gPiA+ID4gPiAgIHN0 YXRpYyBpbnQgbWVzb25fbmZjX3JlYWRfcGFnZV9yYXcoc3RydWN0IG5hbmRfY2hpcCAqbmFuZCwg dTggKmJ1ZiwKPiA+ID4gPiA+ID4gPiA+ID4gPiAgIAkJCQkgICBpbnQgb29iX3JlcXVpcmVkLCBp bnQgcGFnZSkKPiA+ID4gPiA+ID4gPiA+ID4gPiAgIHsKPiA+ID4gPiA+ID4gPiA+ID4gPiArCXN0 cnVjdCBtdGRfaW5mbyAqbXRkID0gbmFuZF90b19tdGQobmFuZCk7Cj4gPiA+ID4gPiA+ID4gPiA+ ID4gICAJdTggKm9vYl9idWYgPSBuYW5kLT5vb2JfcG9pOwo+ID4gPiA+ID4gPiA+ID4gPiA+ICAg CWludCByZXQ7Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKwltZW1zZXQob29iX2J1ZiwgMCwgbXRkLT5v b2JzaXplKTsgIAo+ID4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+ID4gSSdtIHN1cnBy aXNlZCByYXcgcmVhZHMgZG8gbm90IHJlYWQgdGhlIGVudGlyZSBPT0I/ICAKPiA+ID4gPiA+ID4g PiA+IAo+ID4gPiA+ID4gPiA+ID4gWWVzISBTZWVtcyBpbiBjYXNlIG9mIHJhdyBhY2Nlc3MgKHdo YXQgaSBzZWUgaW4gdGhpcyBkcml2ZXIpIG51bWJlciBvZiBPT0IgYnl0ZXMgcmVhZAo+ID4gPiA+ ID4gPiA+ID4gc3RpbGwgZGVwZW5kcyBvbiBFQ0MgcGFyYW1ldGVyczogZm9yIGVhY2ggcG9ydGlv biBvZiBkYXRhIGNvdmVyZWQgd2l0aCBFQ0MgY29kZSB3ZSBjYW4KPiA+ID4gPiA+ID4gPiA+IHJl YWQgaXQncyBFQ0MgY29kZSBhbmQgInVzZXIgYnl0ZXMiIGZyb20gT09CIC0gaXQgaXMgd2hhdCBp IHNlZSBieSBkdW1waW5nIERNQSBidWZmZXIgYnkKPiA+ID4gPiA+ID4gPiA+IHByaW50aygpLiBG b3IgZXhhbXBsZSBJJ20gd29ya2luZyB3aXRoIDJLIE5BTkQgcGFnZXMsIGVhY2ggcGFnZSBoYXMg MiB4IDFLIEVDQyBibG9ja3MuCj4gPiA+ID4gPiA+ID4gPiBGb3IgZWFjaCBFQ0MgYmxvY2sgSSBo YXZlIDE2IE9PQiBieXRlcyB3aGljaCBJIGNhbiBhY2Nlc3MgYnkgcmVhZC93cml0ZS4gRWFjaCAx NiBieXRlcwo+ID4gPiA+ID4gPiA+ID4gY29udGFpbnMgMiBieXRlcyBvZiB1c2VyJ3MgZGF0YSBh bmQgMTQgYnl0ZXMgRUNDIGNvZGVzLiBTbyB3aGVuIEkgcmVhZCBwYWdlIGluIHJhdyBtb2RlCj4g PiA+ID4gPiA+ID4gPiBjb250cm9sbGVyIHJldHVybnMgMzIgYnl0ZXMgKDIgeCAoMiArIDE0KSkg b2YgT09CLiBXaGlsZSBPT0IgaXMgcmVwb3J0ZWQgYXMgNjQgYnl0ZXMuICAKPiA+ID4gPiA+ID4g PiAKPiA+ID4gPiA+ID4gPiBJbiBhbGwgbW9kZXMsIHdoZW4geW91IHJlYWQgT09CLCB5b3Ugc2hv dWxkIGdldCB0aGUgZnVsbCBPT0IuIFRoZSBmYWN0Cj4gPiA+ID4gPiA+ID4gdGhhdCBFQ0MgY29y cmVjdGlvbiBpcyBlbmFibGVkIG9yIGRpc2FibGVkIGRvZXMgbm90IG1hdHRlci4gSWYgdGhlIE5B TkQKPiA+ID4gPiA+ID4gPiBmZWF0dXJlcyBPT0Igc2VjdGlvbnMgb2YgNjQgYnl0ZXMsIHlvdSBz aG91bGQgZ2V0IHRoZSA2NCBieXRlcy4KPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBXaGF0 IGhhcHBlbnMgc29tZXRpbWVzLCBpcyB0aGF0IHNvbWUgb2YgdGhlIGJ5dGVzIGFyZSBub3QgcHJv dGVjdGVkCj4gPiA+ID4gPiA+ID4gYWdhaW5zdCBiaXRmbGlwcywgYnV0IHRoZSBwb2xpY3kgaXMg dG8gcmV0dXJuIHRoZSBmdWxsIGJ1ZmZlci4gIAo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gT2ss IHNvIHRvIGNsYXJpZnkgY2FzZSBmb3IgdGhpcyBOQU5EIGNvbnRyb2xsZXI6Cj4gPiA+ID4gPiA+ IDEpIEluIGJvdGggRUNDIGFuZCByYXcgbW9kZXMgaSBuZWVkIHRvIHJldHVybiB0aGUgc2FtZSBy YXcgT09CIGRhdGEgKGUuZy4gdXNlciBieXRlcwo+ID4gPiA+ID4gPiAgICAgKyBFQ0MgY29kZXMp PyAgCj4gPiA+ID4gPiAKPiA+ID4gPiA+IFdlbGwsIHlvdSBuZWVkIHRvIGNvdmVyIHRoZSBzYW1l IGFtb3VudCBvZiBkYXRhLCB5ZXMuIEJ1dCBpbiB0aGUgRUNDCj4gPiA+ID4gPiBjYXNlIHRoZSBk YXRhIHdvbid0IGJlIHJhdyAoYXQgbGVhc3Qgbm90IGFsbCBvZiBpdCkuICAKPiA+ID4gPiAKPiA+ ID4gPiBTbyAic2FtZSBhbW91bnQgb2YgZGF0YSIsIGluIEVDQyBtb2RlIGN1cnJlbnQgaW1wbGVt ZW50YXRpb24gcmV0dXJucyBvbmx5IHVzZXIgT09CIGJ5dGVzIChlLmcuCj4gPiA+ID4gT09CIGRh dGEgZXhjbHVkaW5nIEVDQyBjb2RlcyksIGluIHJhdyBpdCByZXR1cm5zIHVzZXIgYnl0ZXMgKyBF Q0MgY29kZXMuIElJVUMgY29ycmVjdAo+ID4gPiA+IGJlaGF2aW91ciBpcyB0byBhbHdheXMgcmV0 dXJuIHVzZXIgYnl0ZXMgKyBFQ0MgY29kZXMgYXMgT09CIGRhdGEgZXZlbiBpbiBFQ0MgbW9kZSA/ ICAKPiA+ID4gCj4gPiA+IElmIHRoZSBwYWdlIGFyZSAyays2NEIgeW91IHNob3VsZCByZWFkIDJr KzY0QiB3aGVuIE9PQiBhcmUgcmVxdWVzdGVkLgo+ID4gPiAKPiA+ID4gSWYgdGhlIGNvbnRyb2xs ZXIgb25seSByZXR1cm5zIDJrKzMyQiwgdGhlbiBwZXJmb3JtIGEgcmFuZG9tIHJlYWQgdG8KPiA+ ID4ganVzdCBtb3ZlIHRoZSByZWFkIHBvaW50ZXIgdG8gbXRkLT5zaXplICsgbXRkLT5vb2JzaXpl IC0gMzIgYW5kCj4gPiA+IHJldHJpZXZlIHRoZSBtaXNzaW5nIDMyIGJ5dGVzPyAgCj4gPiAKPiA+ IDEpIHJhdyByZWFkIGNhbiByZWFkIG91dCB0aGUgd2hvbGUgcGFnZSBkYXRhIDJrKzY0QiwgZGVj aWRlZCBieSB0aGUgbGVuIGluCj4gPiB0aGUgY29udHJvbGxlciByYXcgcmVhZCBjb21tYW5kOgo+ ID4gCWNtZCA9IChsZW4gJiBHRU5NQVNLKDUsIDApKSB8IHNjcmFtYmxlciB8IERNQV9ESVIoZGly KTsKPiA+IGFmdGVyIHRoYXQsIHRoZSBtaXNzaW5nIG9vYiBieXRlcyhub3QgdXNlZCkgY2FuIGJl IGNvcGllZCBmcm9tCj4gPiBtZXNvbl9jaGlwLT5kYXRhX2J1Zi4gc28gdGhlIGltcGxlbWVudGF0 aW9uIG9mIG1lc29uX25mY19yZWFkX3BhZ2VfcmF3KCkgaXMKPiA+IGxpa2UgdGhpcyBpZiBuZWVk Lgo+ID4gCXsKPiA+IAkJLi4uLi4uCj4gPiAJCW1lc29uX25mY19yZWFkX3BhZ2Vfc3ViKG5hbmQs IHBhZ2UsIDEpOwo+ID4gCQltZXNvbl9uZmNfZ2V0X2RhdGFfb29iKG5hbmQsIGJ1Ziwgb29iX2J1 Zik7Cj4gPiAJCW9vYl9sZW4gPSAobmFuZC0+ZWNjLmJ5dGVzICsgMikgKiBuYW5kLT5lY2Muc3Rl cHM7Cj4gPiAJCW1lbWNweShvb2JfYnVmICsgb29iX2xlbiwgbWVzb25fY2hpcC0+ZGF0YV9idWYg KyBvb2JfbGVuLCBtdGQtPm9vYnNpemUgLQo+ID4gb29iX2xlbik7Cj4gPiAKPiA+IAl9Cj4gPiAy KSBJbiBFQ0MgbW9kZSwgdGhlIGNvbnRyb2xsZXIgY2FuJ3QgYnJpbmcgYmFjayB0aGUgbWlzc2lu ZyBPT0IgYnl0ZXMuIGl0Cj4gPiBjYW4gcmVhZCBvdXQgdGhlIHVzZXIgYnl0ZXMgYW5kIGVjYyBi eXRlcyBwZXIgbWVzb25fb29ibGF5b3V0X29wcyBkZWZpbmUuCj4gPiAgIAo+IAo+IEhvdyBkb2Vz IHRoZSBNZXNvbiBjb250cm9sbGVyIGtub3cgdGhlIGFjdHVhbCBOQU5EIGZsYXNoIGxheW91dCB3 aGVuIHRoZQo+IE9PQiBpcyBzcGxpdCBpbnRvIHByb3RlY3RlZCBhbmQgdW5wcm90ZWN0ZWQgYXJl YXMsIHN1Y2ggYXMgRnJlZSBhbmQgRUNDCj4gYXJlYXM/IElmIHRoZSBjb250cm9sbGVyIGhhcyBh IHN0YXRpYyBPT0IgbGF5b3V0LCB3aGVyZSBpcyB0aGUgbWFwcGluZwo+IGxvY2F0ZWQ/CgpJdCdz IHVzdWFsbHkgYSBzZXQgb2YgdmFsdWVzIGhhcmRjb2RlZCBpbiB0aGUgZHJpdmVyLiBJdCdzIGEg cGVyCmdlb21ldHJ5IHNldC4KCj4gCj4gPiA+IAo+ID4gPiBUaGlzIGFwcGxpZXMgdG8gdGhlIHR3 byBtb2RlcywgdGhlIG9ubHkgZGlmZmVyZW5jZSBpczoKPiA+ID4gLSB3aXRoIGNvcnJlY3Rpb24g KGNvbW1vbmx5IG5hbWVkICJFQ0MgbW9kZSIpOiB0aGUgdXNlciBieXRlcyBhbmQgRUNDCj4gPiA+ ICAgIGJ5dGVzIHNob3VsZCBiZSBmaXhlZCBpZiB0aGVyZSBhcmUgYW55IGJpdGZsaXBzCj4gPiA+ IC0gd2l0aG91dCBjb3JyZWN0aW9uIChjb21tb25seSByZWZlcnJlZCBhcyAicmF3IG1vZGUiKTog bm8gY29ycmVjdGlvbgo+ID4gPiAgICBhcHBsaWVzLCBpZiB0aGVyZSBhcmUgYml0ZmxpcHMsIGdp dmUgdGhlbQo+ID4gPiAKPiA+ID4gUGxlYXNlIG1pbmQgdGhlIHJhdyBtb2RlIGNhbiBiZSBzbG93 LCBpdCdzIG1lYW50IGZvciBkZWJ1Z2dpbmcgYW5kCj4gPiA+IHRlc3RpbmcsIG1haW5seS4gUGFn ZSByZWFkcyBob3dldmVyIHNob3VsZCBiZSBmYXN0LCBzbyBpZiBqdXN0IG1vdmluZwo+ID4gPiB0 aGUgY29sdW1uIHBvaW50ZXIgd29ya3MsIHRoZW4gZG8gaXQsIG90aGVyd2lzZSB3ZSdsbCBjb25z aWRlcgo+ID4gPiByZXR1cm5pbmcgRkZzLiAgCj4gCgoKVGhhbmtzLApNaXF1w6hsCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVs IG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDov L2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==