From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BDDD01E9060 for ; Wed, 9 Oct 2024 15:58:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1728489539; cv=none; b=JM2GDJkyTy21KUTXSe0hZmGM3eIfkGBduK6NNrBJkehOe5p2ieVZmsuawqTyzYuAmOEOFhhqsHH2RNDuFqwiC2+PSdvy54GCEnPDFwQ1jWBDUYCJJIJKE6cw/OeP9Z79WOstNlEokN04XdTJ1s03Tm+BlNmR45IP0OZAeaA8bRk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1728489539; c=relaxed/simple; bh=ZUz2z2Ucs7DQNTvKLXVBhLl5qZhLu8Ou833KEgoPAVk=; h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References: Content-Type:MIME-Version; b=WeplcwBlEo+rzoMSiUx+BSNg7jKJYgppvM9cqK+AnnFbCc8ZBf2qHg5iack0srNCU7/voNmcLHQHH21h1+byHeAenPP2KzAkBWiYYha7P9CG0k+yXPqDRK+tCsvOsosfqOoPJT8/HcZ+C/8+WvZbuCnrIM6oYA8FDzsSR/u+hRo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=dz2JYDj5; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="dz2JYDj5" Received: from isaac-ThinkPad-T16-Gen-2.local (cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id D3E2D594; Wed, 9 Oct 2024 17:57:16 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1728489437; bh=ZUz2z2Ucs7DQNTvKLXVBhLl5qZhLu8Ou833KEgoPAVk=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=dz2JYDj5F2jAVYmUb39a0xenKWf/+IZriSMxJMlCVy9tU1pXl8FRHITtDvmW5BzKd KhFhjDn2u75Dz4/VcJJVMPc0SKjysF6SOU3+XVukl3LXscOnYNl6DR0+By1UuZHezw edKrJdm/CB1SX8SJvUcv2+xve6SST8iA+uAp7w4Q= Message-ID: Subject: Re: [PATCH] drm: lcdif: Use adjusted_mode .clock instead of .crtc_clock From: Isaac Scott To: Marek Vasut , Alexander Stein , dri-devel@lists.freedesktop.org Cc: Daniel Vetter , David Airlie , Fabio Estevam , Lucas Stach , "Lukas F . Hartmann" , Maarten Lankhorst , Maxime Ripard , Pengutronix Kernel Team , Sascha Hauer , Shawn Guo , Stefan Agner , Thomas Zimmermann , imx@lists.linux.dev, kernel@dh-electronics.com, linux-arm-kernel@lists.infradead.org, kieran.bingham@ideasonboard.com Date: Wed, 09 Oct 2024 16:58:49 +0100 In-Reply-To: <36a3425d-54f5-4c14-b2de-ef8b74f47ed0@denx.de> References: <20240531202813.277109-1-marex@denx.de> <1897634.CQOukoFCf9@steina-w> <7ae0cd7774f4b3e30cc033a7e543546732dbced0.camel@ideasonboard.com> <64e18ceed5279a9346a6a1141f02ead93383bd1e.camel@ideasonboard.com> <84f505af-1066-4fcf-84b7-28c152c09b89@denx.de> <50f10a422dd3a7099e2e2724f9401dbae41ea529.camel@ideasonboard.com> <36a3425d-54f5-4c14-b2de-ef8b74f47ed0@denx.de> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.54.0 (by Flathub.org) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 T24gV2VkLCAyMDI0LTEwLTA5IGF0IDE3OjQ3ICswMjAwLCBNYXJlayBWYXN1dCB3cm90ZToKPiBP biAxMC85LzI0IDExOjU1IEFNLCBJc2FhYyBTY290dCB3cm90ZToKPiA+IE9uIFR1ZSwgMjAyNC0x MC0wOCBhdCAyMzo0OCArMDIwMCwgTWFyZWsgVmFzdXQgd3JvdGU6Cj4gPiA+IE9uIDEwLzgvMjQg MTI6MDcgUE0sIElzYWFjIFNjb3R0IHdyb3RlOgo+ID4gPiA+IE9uIE1vbiwgMjAyNC0xMC0wNyBh dCAyMDowNiArMDIwMCwgTWFyZWsgVmFzdXQgd3JvdGU6Cj4gPiA+ID4gPiBPbiAxMC83LzI0IDc6 MDEgUE0sIElzYWFjIFNjb3R0IHdyb3RlOgo+ID4gPiA+ID4gPiBIaSBNYXJlaywKPiA+ID4gPiA+ IAo+ID4gPiA+ID4gSGksCj4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gT24gU2F0LCAyMDI0LTA3LTA2 IGF0IDAyOjE2ICswMjAwLCBNYXJlayBWYXN1dCB3cm90ZToKPiA+ID4gPiA+ID4gPiBPbiA2LzI0 LzI0IDExOjE5IEFNLCBBbGV4YW5kZXIgU3RlaW4gd3JvdGU6Cj4gPiA+ID4gPiA+ID4gPiBBbSBG cmVpdGFnLCAzMS4gTWFpIDIwMjQsIDIyOjI3OjIxIENFU1Qgc2NocmllYiBNYXJlawo+ID4gPiA+ ID4gPiA+ID4gVmFzdXQ6Cj4gPiA+ID4gPiA+ID4gPiA+IEluIGNhc2UgYW4gdXBzdHJlYW0gYnJp ZGdlIG1vZGlmaWVkIHRoZSByZXF1aXJlZAo+ID4gPiA+ID4gPiA+ID4gPiBjbG9jawo+ID4gPiA+ ID4gPiA+ID4gPiBmcmVxdWVuY3kKPiA+ID4gPiA+ID4gPiA+ID4gaW4gaXRzIC5hdG9taWNfY2hl Y2sgY2FsbGJhY2sgYnkgc2V0dGluZwo+ID4gPiA+ID4gPiA+ID4gPiBhZGp1c3RlZF9tb2RlLmNs b2NrCj4gPiA+ID4gPiA+ID4gPiA+ICwKPiA+ID4gPiA+ID4gPiA+ID4gbWFrZSBzdXJlIHRoYXQg Y2xvY2sgZnJlcXVlbmN5IGlzIGdlbmVyYXRlZCBieSB0aGUKPiA+ID4gPiA+ID4gPiA+ID4gTENE SUZ2Mwo+ID4gPiA+ID4gPiA+ID4gPiBibG9jay4KPiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4g PiA+ID4gPiA+IFRoaXMgaXMgdXNlZnVsIGUuZy4gd2hlbiBMQ0RJRnYzIGZlZWRzIERTSU0gd2hp Y2gKPiA+ID4gPiA+ID4gPiA+ID4gZmVlZHMKPiA+ID4gPiA+ID4gPiA+ID4gVEMzNTg3NjcKPiA+ ID4gPiA+ID4gPiA+ID4gd2l0aCAoZSlEUCBvdXRwdXQsIHdoZXJlIHRoZSBUQzM1ODc2NyBleHBl Y3RzIHByZWNpc2UKPiA+ID4gPiA+ID4gPiA+ID4gdGltaW5nCj4gPiA+ID4gPiA+ID4gPiA+IG9u Cj4gPiA+ID4gPiA+ID4gPiA+IGl0cyBpbnB1dCBzaWRlLCB0aGUgcHJlY2lzZSB0aW1pbmcgbXVz dCBiZSBnZW5lcmF0ZWQKPiA+ID4gPiA+ID4gPiA+ID4gYnkKPiA+ID4gPiA+ID4gPiA+ID4gdGhl Cj4gPiA+ID4gPiA+ID4gPiA+IExDRElGLgo+ID4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4g PiA+ID4gU2lnbmVkLW9mZi1ieTogTWFyZWsgVmFzdXQgPG1hcmV4QGRlbnguZGU+Cj4gPiA+ID4g PiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+IFdpdGggdGhlIG90aGVyIHJjMzU4NzY3IHBhdGNoZXMg aW4gcGxhY2UsIHRoaXMgZG9lcyB0aGUKPiA+ID4gPiA+ID4gPiA+IHRyaWNrLgo+ID4gPiA+ID4g PiA+ID4gUmV2aWV3ZWQtYnk6IEFsZXhhbmRlciBTdGVpbgo+ID4gPiA+ID4gPiA+ID4gPGFsZXhh bmRlci5zdGVpbkBldy50cS1ncm91cC5jb20+Cj4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4g SSdsbCBwaWNrIHRoaXMgdXAgbmV4dCB3ZWVrIGlmIHRoZXJlIGlzIG5vIG9iamVjdGlvbi4KPiA+ ID4gPiA+ID4gCj4gPiA+ID4gPiA+IFVuZm9ydHVuYXRlbHksIHRoaXMgaGFzIGNhdXNlZCBhIHJl Z3Jlc3Npb24gdGhhdCBpcyBwcmVzZW50Cj4gPiA+ID4gPiA+IGluCj4gPiA+ID4gPiA+IHY2LjEy LQo+ID4gPiA+ID4gPiByYzEgb24gdGhlIGkuTVg4TVAgUEhZVEVDIFBvbGx1eCB1c2luZyB0aGUK PiA+ID4gPiA+ID4gYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvaW14OG1wLXBoeWJvYXJk LXBvbGx1eC0KPiA+ID4gPiA+ID4gcmRrLmR0cy4KPiA+ID4gPiA+ID4gVGhlCj4gPiA+ID4gPiA+ IGRpc3BsYXkgaXMgdGhlIGVkdCxldG1sMTAxMGczZHJhIHBhbmVsLCBhcyBwZXIgdGhlIHVwc3Ry ZWFtCj4gPiA+ID4gPiA+IGR0cy4gV2UKPiA+ID4gPiA+ID4gYmlzZWN0ZWQgdG8gdGhpcyBjb21t aXQsIGFuZCByZXZlcnRpbmcgdGhpcyBjaGFuZ2UgZml4ZWQKPiA+ID4gPiA+ID4gdGhlCj4gPiA+ ID4gPiA+IHNjcmVlbi4KPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IFdlIHRoZW4gdHJpZWQgdG8g cmV0ZXN0IHRoaXMgb24gdG9wIG9mIHY2LjEyLXJjMiwgYW5kIGZvdW5kCj4gPiA+ID4gPiA+IHdl Cj4gPiA+ID4gPiA+IGFsc28KPiA+ID4gPiA+ID4gaGFkCj4gPiA+ID4gPiA+IHRvIHJldmVydCBj b21taXQgZmYwNmVhMDRlNGNmM2JhMmYwMjUwMjQ3NzZlODNiZmJkZmEwNTE1NQo+ID4gPiA+ID4g PiAoImNsazoKPiA+ID4gPiA+ID4gaW14Ogo+ID4gPiA+ID4gPiBjbGstaW14OG1wOiBBbGxvdyBt ZWRpYV9kaXNwIHBpeGVsIGNsb2NrIHJlY29uZmlndXJlIHBhcmVudAo+ID4gPiA+ID4gPiByYXRl IikKPiA+ID4gPiA+ID4gYWxvbmdzaWRlIHRoaXMuIFJldmVydGluZyB0aGVzZSB0d28gY29tbWl0 cyBtYWtlcyB0aGUKPiA+ID4gPiA+ID4gZGlzcGxheQo+ID4gPiA+ID4gPiB3b3JrCj4gPiA+ID4g PiA+IGFnYWluIGF0IC1yYzIuCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBEbyB5b3UgaGF2ZSBh bnkgc3VnZ2VzdGlvbnMgb24gYW55dGhpbmcgd2UgbWlnaHQgYmUgbWlzc2luZwo+ID4gPiA+ID4g PiBvbgo+ID4gPiA+ID4gPiBvdXIKPiA+ID4gPiA+ID4gZW5kPwo+ID4gPiA+ID4gPiBQbGVhc2Ug bGV0IG1lIGtub3cgaWYgdGhlcmUncyBhbnl0aGluZyB5b3UnZCBsaWtlIG1lIHRvCj4gPiA+ID4g PiA+IHRlc3QgYXMKPiA+ID4gPiA+ID4gSSdtCj4gPiA+ID4gPiA+IG5vdAo+ID4gPiA+ID4gPiBz dXJlIHdoYXQgdGhlIHVuZGVybHlpbmcgZmF1bHQgd2FzIGhlcmUuCj4gPiA+ID4gPiBJIGJlbGll dmUgd2hhdCBpcyBnb2luZyBvbiBpcyB0aGF0IHRoZSBMQ0RJRiBjYW5ub3QgY29uZmlndXJlCj4g PiA+ID4gPiBpdHMKPiA+ID4gPiA+IHVwc3RyZWFtIGNsb2NrIGJlY2F1c2Ugc29tZXRoaW5nIGVs c2UgaXMgYWxyZWFkeSB1c2luZyB0aG9zZQo+ID4gPiA+ID4gY2xvY2sKPiA+ID4gPiA+IGFuZAo+ ID4gPiA+ID4gaXQgc2V0IHRob3NlIGNsb2NrIHRvIGEgc3BlY2lmaWMgZnJlcXVlbmN5LiBMQ0RJ RiBpcyBub3cKPiA+ID4gPiA+IHRyeWluZwo+ID4gPiA+ID4gdG8KPiA+ID4gPiA+IGNvbmZpZ3Vy ZSB0aG9zZSBjbG9jayB0byBtYXRjaCB0aGUgTFZEUyBwYW5lbCwgYW5kIGl0IGZhaWxzLAo+ID4g PiA+ID4gc28KPiA+ID4gPiA+IGl0Cj4gPiA+ID4gPiB0cmllcwo+ID4gPiA+ID4gdG8gc2V0IHNv bWUgYXBwcm94aW1hdGUgY2xvY2sgYW5kIHRoYXQgaXMgbm90IGdvb2QgZW5vdWdoIGZvcgo+ID4g PiA+ID4gdGhlCj4gPiA+ID4gPiBMVkRTCj4gPiA+ID4gPiBwYW5lbC4KPiA+ID4gPiA+IAo+ID4g PiA+ID4gQ2FuIHlvdSBzaGFyZSBkdW1wIG9mIC9zeXMva2VybmVsL2RlYnVnL2Nsay9jbGtfc3Vt bWFyeSBvbgo+ID4gPiA+ID4gZmFpbGluZwo+ID4gPiA+ID4gYW5kCj4gPiA+ID4gPiB3b3JraW5n IHN5c3RlbSA/IFlvdSBtaWdodCBzZWUgdGhlIGRpZmZlcmVuY2UgYXJvdW5kIHRoZQo+ID4gPiA+ ID4gInZpZGVvIgo+ID4gPiA+ID4gY2xvY2suCj4gPiA+ID4gPiAKPiA+ID4gPiA+IChJIGhhdmUg c2VlbiB0aGlzIGJlaGF2aW9yIGJlZm9yZSwgdGhlIGZpeCB3YXMgdXN1YWxseSBhCj4gPiA+ID4g PiBtYXR0ZXIKPiA+ID4gPiA+IG9mCj4gPiA+ID4gPiBtb3Zpbmcgb25lIG9mIHRoZSBMQ0RJRnMg dG8gYW5vdGhlciB1cHN0cmVhbSBjbG9jayBsaWtlIFBMTDMsCj4gPiA+ID4gPiBzbwo+ID4gPiA+ ID4gaXQKPiA+ID4gPiA+IGNhbgo+ID4gPiA+ID4gcGljayB3ZWxsIG1hdGNoaW5nIG91dHB1dCBj bG9jayBpbnN0ZWFkIG9mIHNvbWUgaG9ycmlkCj4gPiA+ID4gPiBhcHByb3hpbWF0aW9uCj4gPiA+ ID4gPiB3aGljaCB0aGVuIGRyaXZlcyB0aGUgcGFuZWwgbGlrZWx5IG91dCBvZiBzcGVjaWZpY2F0 aW9uKQo+ID4gPiA+IAo+ID4gPiA+IEhpIE1hcmVrLAo+ID4gPiA+IAo+ID4gPiA+IFBsZWFzZSBm aW5kIGF0dGFjaGVkIHRoZSBjbGtfc3VtbWFyeSBmb3IgdjYuMTItcmMyIGJlZm9yZSBhbmQKPiA+ ID4gPiBhZnRlcgo+ID4gPiA+IHRoZQo+ID4gPiA+IHJldmVyc2lvbiAodGhlIG9uZSBhZnRlciB0 aGUgcmV2ZXJzaW9uIGlzIDYuMTItCj4gPiA+ID4gcmMyX3N1bW1hcnlfcG9zdGZpeCkuCj4gPiA+ IFRoYW5rIHlvdSwgdGhpcyBoZWxwZWQgZ3JlYXRseS4KPiA+ID4gCj4gPiA+IEkgYmVsaWV2ZSBJ IGtub3cgd2h5IGl0IHVzZWQgdG8ga2luZC1vZiB3b3JrIGZvciB5b3UsIGJ1dCBJJ20KPiA+ID4g YWZyYWlkCj4gPiA+IHRoaXMgdXNlZCB0byB3b3JrIGJ5IHNoZWVyIGNoYW5jZSBhbmQgaXQgZG9l cyBub3QgcmVhbGx5IHdvcmsKPiA+ID4gY29ycmVjdGx5Cj4gPiA+IGZvciB0aGUgcGFuZWwgeW91 IHVzZSwgZXZlbiBpZiB0aGUgcGFuZWwgbGlrZWx5IGRvZXMgc2hvdyB0aGUKPiA+ID4gY29ycmVj dAo+ID4gPiBjb250ZW50LiBCdXQsIHRoZXJlIGlzIGEgd2F5IHRvIG1ha2UgaXQgd29yayBwcm9w ZXJseSBmb3IgdGhlCj4gPiA+IHBhbmVsCj4gPiA+IHlvdSB1c2UuCj4gPiA+IAo+ID4gPiBGaXJz dCBvZiBhbGwsIHRoZSBwaXhlbCBjbG9jayBuZXZlciByZWFsbHkgbWF0Y2hlZCB0aGUgcGFuZWwt Cj4gPiA+IHNpbXBsZS5jCj4gPiA+IHBpeGVsIGNsb2NrIGZvciB0aGUgZWR0X2V0bWwxMDEwZzNk cmFfdGltaW5nOgo+ID4gPiAKPiA+ID4gJCBncmVwICdcPG1lZGlhX2Rpc3AyX3BpeFw+JyA2LjEy LXJjMl9zdW1tYXJ5X3Bvc3RmaXgKPiA+ID4gwqDCoMKgIG1lZGlhX2Rpc3AyX3BpeMKgIDHCoCAx wqAgMMKgIDc0MjUwMDAwIC4uLgo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF5eXl5eXl5eCj4gPiA+IAo+ID4gPiAkIGdyZXAg LUEgMSBlZHRfZXRtbDEwMTBnM2RyYV90aW1pbmcgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVs LQo+ID4gPiBzaW1wbGUuYwo+ID4gPiBzdGF0aWMgY29uc3Qgc3RydWN0IGRpc3BsYXlfdGltaW5n IGVkdF9ldG1sMTAxMGczZHJhX3RpbWluZyA9IHsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgIC5w aXhlbGNsb2NrID0geyA2NjMwMDAwMCwgNzI0MDAwMDAsIDc4OTAwMDAwIH0sCj4gPiA+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgXl5eXl5eXl4KPiA+ID4gCj4gPiA+IFRoZSBwaXhlbCBjbG9jayBhcmUgd2l0aGlu IHRvbGVyYW5jZSwgYnV0IHRoZXJlIGlzIGEgZGlzY3JlcGFuY3kKPiA+ID4gNzQyNTAwMDAgIT0g NzI0MDAwMDAgLgo+ID4gPiAKPiA+ID4gU2luY2UgY29tbWl0IDk0ZTYxOTdkYWRjOSAoImFybTY0 OiBkdHM6IGlteDhtcDogQWRkIExDRElGMiAmIExEQgo+ID4gPiBub2RlcyIpCj4gPiA+IHRoZSBJ TVg4TVBfVklERU9fUExMMV9PVVQgaXMgc2V0IHRvIGEgdmVyeSBzcGVjaWZpYyBmcmVxdWVuY3kg b2YKPiA+ID4gMTAzOTUwMDAwMCBIeiwgd2hpY2ggdGlkaWx5IGRpdmlkZXMgYnkgMiB0byA1MTk3 NTAwMDAgSHogKHdoaWNoCj4gPiA+IGlzCj4gPiA+IHlvdXIKPiA+ID4gTFZEUyBzZXJpYWxpemVy IGZyZXF1ZW5jeSkgYW5kIGRpdmlkZXMgYnkgNyB0byA3NDI1MDAwMCBIeiB3aGljaAo+ID4gPiBp cwo+ID4gPiB5b3VyCj4gPiA+IExDRElGIHBpeGVsIGNsb2NrLgo+ID4gPiAKPiA+ID4gVGhpcyBW aWRlbyBQTEwxIGNvbmZpZ3VyYXRpb24gc2luY2UgbW92ZWQgdG8gJm1lZGlhX2Jsa19jdHJsIHt9 ICwKPiA+ID4gYnV0Cj4gPiA+IGl0Cj4gPiA+IGlzIHN0aWxsIGluIHRoZSBpbXg4bXAuZHRzaSAu IFRoZXJlZm9yZSwgdG8gbWFrZSB5b3VyIHBhbmVsIHdvcmsKPiA+ID4gYXQKPiA+ID4gdGhlCj4g PiA+IGNvcnJlY3QgZGVzaXJlZCBwaXhlbCBjbG9jayBmcmVxdWVuY3kgaW5zdGVhZCBvZiBzb21l IHJhbmRvbSBvbmUKPiA+ID4gaW5oZXJpdGVkIGZyb20gaW14OG1wLmR0c2ksIGFkZCB0aGUgZm9s bG93aW5nIHRvIHRoZSBwb2xsdXggRFQsIEkKPiA+ID4gYmVsaWV2ZSB0aGF0IHdpbGwgZml4IHRo ZSBwcm9ibGVtIGFuZCBpcyB0aGUgY29ycmVjdCBmaXg6Cj4gPiA+IAo+ID4gPiAmbWVkaWFfYmxr X2N0cmwgewo+ID4gPiDCoMKgwqDCoCAvLyA1MDY4MDAwMDAgPSA3MjQwMDAwMCAqIDcgKGZvciBz aW5nbGUtbGluayBMVkRTLCB0aGlzIGlzCj4gPiA+IGVub3VnaCkKPiA+ID4gwqDCoMKgwqAgLy8g dGhlcmUgaXMgbm8gbmVlZCB0byBtdWx0aXBseSB0aGUgY2xvY2sgYnkgKiAyCj4gPiA+IMKgwqDC oMKgIGFzc2lnbmVkLWNsb2NrLXJhdGVzID0gPDUwMDAwMDAwMD4sIDwyMDAwMDAwMDA+LCA8MD4s IDwwPiwKPiA+ID4gPDUwMDAwMDAwMD4sIDw1MDY4MDAwMDA+Owo+ID4gPiB9Owo+ID4gPiAKPiA+ ID4gQ2FuIHlvdSBwbGVhc2UgdGVzdCB3aGV0aGVyIHRoaXMgd29ya3MgYW5kIHRoZSBwaXhlbCBj bG9jayBhcmUKPiA+ID4gYWNjdXJhdGUKPiA+ID4gaW4gL3N5cy9rZXJuZWwvZGVidWcvY2xrL2Ns a19zdW1tYXJ5ID8KPiA+IAo+ID4gSW50ZXJlc3RpbmdseSwgYWZ0ZXIgbWFraW5nIHRoZSBjaGFu Z2UgeW91IHN1Z2dlc3RlZCB0b8KgaW14OG1wLQo+ID4gcGh5Ym9hcmQtcG9sbHV4LXJkay5kdHMg YmVmb3JlIHRoZSB0d28gcmV2ZXJzaW9ucywgdGhlIGRpc3BsYXkgbm93Cj4gPiBzZWVtcyB0byB3 b3JrLiBQbGVhc2Ugc2VlIGJlbG93IGZvciB0aGUgcmVsZXZhbnQgc2VjdGlvbiBvZiB0aGUgbmV3 Cj4gPiBjbGtfc3VtbWFyeSByZWZlcnJpbmcgdG8gbWVkaWFfZGlzcDJfcGl4Ogo+ID4gCj4gPiB2 aWRlb19wbGwxX3JlZl9zZWzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDHCoMKgwqDCoMKg wqAgMcKgwqDCoMKgwqDCoMKgIDDCoMKgwqDCoMKgwqDCoCAyNDAwMDAwMAo+ID4gMMKgwqDCoMKg wqDCoMKgwqDCoCAwwqDCoMKgwqAgNTAwMDDCoMKgwqDCoMKgIFnCoMKgwqDCoMKgIGRldmljZWxl c3MKPiA+IG5vX2Nvbm5lY3Rpb25faWQKPiA+IMKgwqDCoMKgwqDCoMKgIHZpZGVvX3BsbDHCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxwqDCoMKgwqDCoMKgIDHCoMKgwqDC oMKgwqDCoCAwCj4gPiA1MDY4MDAwMDDCoMKgIDDCoMKgwqDCoMKgwqDCoMKgwqAgMMKgwqDCoMKg IDUwMDAwwqDCoMKgwqDCoCBZwqDCoMKgwqDCoMKgwqDCoCBkZXZpY2VsZXNzCj4gPiBub19jb25u ZWN0aW9uXwo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqAgdmlkZW9fcGxsMV9ieXBhc3PCoMKgwqDC oMKgwqDCoMKgwqAgMcKgwqDCoMKgwqDCoCAxwqDCoMKgwqDCoMKgwqAgMAo+ID4gNTA2ODAwMDAw wqDCoCAwwqDCoMKgwqDCoMKgwqDCoMKgIDDCoMKgwqDCoCA1MDAwMMKgwqDCoMKgwqAgWcKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgZGV2aWNlbGVzcwo+ID4gbm9fY29ubmVjdGkKPiA+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHZpZGVvX3BsbDFfb3V0wqDCoMKgwqDCoMKgwqDCoMKgIDLCoMKg wqDCoMKgwqAgMsKgwqDCoMKgwqDCoMKgIDAKPiA+IDUwNjgwMDAwMMKgwqAgMMKgwqDCoMKgwqDC oMKgwqDCoCAwwqDCoMKgwqAgNTAwMDDCoMKgwqDCoMKgIFnCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIGRldmljZWxlc3MKPiA+IG5vX2Nvbm5lCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBtZWRpYV9sZGLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDHCoMKgwqDCoMKgwqAg McKgwqDCoMKgwqDCoMKgIDAKPiA+IDUwNjgwMDAwMMKgwqAgMMKgwqDCoMKgwqDCoMKgwqDCoCAw wqDCoMKgwqAgNTAwMDDCoMKgwqDCoMKgIFnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgCj4gPiBkZXZpY2VsZXNzCj4gPiBub19jbwo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgbWVkaWFfbGRiX3Jvb3RfY2xrIDHCoMKgwqDCoMKgwqAgMcKgwqDCoMKg wqDCoMKgIDAKPiA+IDUwNjgwMDAwMMKgwqAgMMKgwqDCoMKgwqDCoMKgwqDCoCAwwqDCoMKgwqAg NTAwMDDCoMKgwqDCoMKgIFkKPiA+IDMyZWMwMDAwLmJsay1jdHJsOmJyaWRnZUA1Y8KgwqDCoMKg IGwKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gPiDCoMKgwqAgCj4gPiBkZXZpY2VsZXNzwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG5vCj4gPiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBtZWRpYV9kaXNwMl9waXjCoMKgwqDCoMKgIDHCoMKgwqDC oMKgwqAgMcKgwqDCoMKgwqDCoMKgIDDCoMKgwqDCoMKgwqDCoAo+ID4gNzI0MDAwMDAKPiA+IDDC oMKgwqDCoMKgwqDCoMKgwqAgMMKgwqDCoMKgIDUwMDAwwqDCoMKgwqDCoCBZwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkZXZpY2VsZXNzCj4gPiBub19jbwo+ID4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbWVkaWFfZGlzcDJfcGl4X3Jvb3RfY2xrIDHC oMKgwqDCoMKgwqAgMcKgwqDCoMKgwqDCoMKgIDAKPiA+IDcyNDAwMDAwwqDCoMKgIDDCoMKgwqDC oMKgwqDCoMKgwqAgMMKgwqDCoMKgIDUwMDAwwqDCoMKgwqDCoCBZCj4gPiAzMmU5MDAwMC5kaXNw bGF5LWNvbnRyb2xsZXIKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gPiDCoMKgwqAgCj4gPiAz MmVjMDAwMC5ibGstY3RybMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZGkKPiA+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgCj4gPiDCoMKgwqAgCj4gPiBkZXZpY2VsZXNzwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG5vCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBtZWRpYV9kaXNwMV9waXjCoMKgwqDCoMKgIDDCoMKgwqDCoMKgwqAgMMKgwqDC oMKgwqDCoMKgIDAKPiA+IDUwNjgwMDAwMMKgwqAgMMKgwqDCoMKgwqDCoMKgwqDCoCAwwqDCoMKg wqAgNTAwMDDCoMKgwqDCoMKgIE7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4g PiBkZXZpY2VsZXNzCj4gPiBub19jbwo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgbWVkaWFfZGlzcDFfcGl4X3Jvb3RfY2xrIDDCoMKgwqDCoMKgwqAgMMKgwqDCoMKg wqDCoMKgIDAKPiA+IDUwNjgwMDAwMMKgwqAgMMKgwqDCoMKgwqDCoMKgwqDCoCAwwqDCoMKgwqAg NTAwMDDCoMKgwqDCoMKgIE4KPiA+IDMyZWMwMDAwLmJsay1jdHJsCj4gPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoAo+ID4gwqDCoMKgIAo+ID4gZGV2aWNlbGVzc8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBubwo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgbWVkaWFfbWlwaV9waHkxX3JlZsKgIDDCoMKgwqDCoMKgwqAgMMKgwqDCoMKgwqDCoMKgIDDC oMKgwqDCoMKgwqDCoAo+ID4gMjMwMzYzNjQKPiA+IDDCoMKgwqDCoMKgwqDCoMKgwqAgMMKgwqDC oMKgIDUwMDAwwqDCoMKgwqDCoCBOwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBk ZXZpY2VsZXNzCj4gPiBub19jbwo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgbWVkaWFfbWlwaV9waHkxX3JlZl9yb290IDDCoMKgwqDCoMKgwqAgMMKgwqDCoMKgwqDC oMKgIDAKPiA+IDIzMDM2MzY0wqDCoMKgIDDCoMKgwqDCoMKgwqDCoMKgwqAgMMKgwqDCoMKgIDUw MDAwwqDCoMKgwqDCoCBOCj4gPiAzMmVjMDAwMC5ibGstY3RybAo+ID4gCj4gPiBUaGUgbWVkaWFf ZGlzcDJfcGl4IGNsb2NrIG5vdyBzZWVtcyB0byBiZSBjb3JyZWN0IGF0IDcyNDAwMDAwMAo+ID4g YWZ0ZXIKPiA+IHlvdXIgY2hhbmdlcy4KPiAKPiBEbyB5b3Ugd2FudCB0byBzdWJtaXQgdGhlIERU IHBhdGNoIHdpdGggY29ycmVjdCBGaXhlczogdGFnID8gOikKCkkgdGhvdWdodCB0aGlzIHdhc24n dCBuZWVkZWQgd2l0aCB0aGUgb3RoZXIgdHdvIHBhdGNoZXM/Cgo=