From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: References: <20180422223430.16407-1-laurent.pinchart+renesas@ideasonboard.com> <3482108.jirjkbZynl@avalon> <20180430145524.GJ12521@phenom.ffwll.local> <20180430145640.GK12521@phenom.ffwll.local> <0f7c2e60-23d0-b222-c8c0-36b17f1e7c25@linux.intel.com> <20180502073240.GU12521@phenom.ffwll.local> From: Maarten Lankhorst Message-ID: Date: Mon, 7 May 2018 15:28:19 +0200 MIME-Version: 1.0 In-Reply-To: <20180502073240.GU12521@phenom.ffwll.local> Content-Language: en-US Subject: Re: [igt-dev] igt trouble with planes shared between multiple CRTCs (Re: [PATCH v2 0/8] R-Car DU: Support CRC calculation) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Daniel Vetter Cc: IGT development , Kieran Bingham , dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, Laurent Pinchart List-ID: T3AgMDItMDUtMTggb20gMDk6MzIgc2NocmVlZiBEYW5pZWwgVmV0dGVyOgo+IE9uIFR1ZSwgTWF5 IDAxLCAyMDE4IGF0IDEwOjU4OjAyQU0gKzAyMDAsIE1hYXJ0ZW4gTGFua2hvcnN0IHdyb3RlOgo+ PiBIZXksCj4+Cj4+IE9wIDMwLTA0LTE4IG9tIDE2OjU2IHNjaHJlZWYgRGFuaWVsIFZldHRlcjoK Pj4+IE9uIE1vbiwgQXByIDMwLCAyMDE4IGF0IDA0OjU1OjI0UE0gKzAyMDAsIERhbmllbCBWZXR0 ZXIgd3JvdGU6Cj4+Pj4gT24gU2F0LCBBcHIgMjgsIDIwMTggYXQgMTI6MDc6MDRBTSArMDMwMCwg TGF1cmVudCBQaW5jaGFydCB3cm90ZToKPj4+Pj4gSGkgRGFuaWVsLAo+Pj4+Pgo+Pj4+PiAoUmVt b3ZpbmcgdGhlIGxpbnV4LW1lZGlhIG1haWxpbmcgbGlzdCBmcm9tIENDIGFzIGl0IGlzIG91dCBv ZiBzY29wZSkKPj4+Pj4KPj4+Pj4gWW91IGVucXVpcmVkIG9uIElSQyB3aGV0aGVyIHRoaXMgcGF0 Y2ggc2VyaWVzIHBhc3NlcyB0aGUgaWd0IENSQyB0ZXN0cy4KPj4+Pj4KPj4+Pj4gIyAuL2ttc19w aXBlX2NyY19iYXNpYyAtLXJ1bi1zdWJ0ZXN0IHJlYWQtY3JjLXBpcGUtQQo+Pj4+PiBJR1QtVmVy c2lvbjogMS4yMi1nZjQ0N2Y1ZmM1MzFkIChhYXJjaDY0KSAoTGludXg6IDQuMTcuMC1yYzEtMDAw ODUtZzU2ZTg0OWQ5M2NjOSBhYXJjaDY0KQo+Pj4+PiByZWFkLWNyYy1waXBlLUE6IFRlc3Rpbmcg Y29ubmVjdG9yIExWRFMtMSB1c2luZyBwaXBlIEEKPj4+Pj4gKGttc19waXBlX2NyY19iYXNpYzox NjM4KSBpZ3QtZGVidWdmcy1DUklUSUNBTDogVGVzdCBhc3NlcnRpb24gZmFpbHVyZSBmdW5jdGlv biBpZ3RfcGlwZV9jcmNfc3RhcnQsIGZpbGUgaWd0X2RlYnVnZnMuYzo3NjQ6Cj4+Pj4+IChrbXNf cGlwZV9jcmNfYmFzaWM6MTYzOCkgaWd0LWRlYnVnZnMtQ1JJVElDQUw6IEZhaWxlZCBhc3NlcnRp b246IHBpcGVfY3JjLT5jcmNfZmQgIT0gLTEKPj4+Pj4gKGttc19waXBlX2NyY19iYXNpYzoxNjM4 KSBpZ3QtZGVidWdmcy1DUklUSUNBTDogTGFzdCBlcnJubzogNSwgSW5wdXQvb3V0cHV0IGVycm9y Cj4+Pj4+IFN0YWNrIHRyYWNlOgo+Pj4+PiBTdWJ0ZXN0IHJlYWQtY3JjLXBpcGUtQSBmYWlsZWQu Cj4+Pj4+ICoqKiogREVCVUcgKioqKgo+Pj4+PiAoa21zX3BpcGVfY3JjX2Jhc2ljOjE2MzgpIERF QlVHOiBUZXN0IHJlcXVpcmVtZW50IHBhc3NlZDogIShwaXBlID49IGRhdGEtPmRpc3BsYXkubl9w aXBlcykKPj4+Pj4gKGttc19waXBlX2NyY19iYXNpYzoxNjM4KSBJTkZPOiByZWFkLWNyYy1waXBl LUE6IFRlc3RpbmcgY29ubmVjdG9yIExWRFMtMSB1c2luZyBwaXBlIEEKPj4+Pj4gKGttc19waXBl X2NyY19iYXNpYzoxNjM4KSBpZ3Qta21zLURFQlVHOiBkaXNwbGF5OiBMVkRTLTE6IHNldF9waXBl KEEpCj4+Pj4+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkgaWd0LWttcy1ERUJVRzogZGlzcGxh eTogTFZEUy0xOiBTZWxlY3RpbmcgcGlwZSBBCj4+Pj4+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYz OCkgREVCVUc6IENsZWFyaW5nIHRoZSBmYiB3aXRoIGNvbG9yICgwLjAwLDEuMDAsMC4wMCkKPj4+ Pj4gKGttc19waXBlX2NyY19iYXNpYzoxNjM4KSBpZ3QtZmItREVCVUc6IGlndF9jcmVhdGVfZmJf d2l0aF9ib19zaXplKHdpZHRoPTEwMjQsIGhlaWdodD03NjgsIGZvcm1hdD0weDM0MzI1MjU4LCB0 aWxpbmc9MHgwLCBzaXplPTApCj4+Pj4+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkgaWd0LWZi LURFQlVHOiBpZ3RfY3JlYXRlX2ZiX3dpdGhfYm9fc2l6ZShoYW5kbGU9MSwgcGl0Y2g9NDA5NikK Pj4+Pj4gKGttc19waXBlX2NyY19iYXNpYzoxNjM4KSBpZ3Qta21zLURFQlVHOiBUZXN0IHJlcXVp cmVtZW50IHBhc3NlZDogcGxhbmVfaWR4ID49IDAgJiYgcGxhbmVfaWR4IDwgcGlwZS0+bl9wbGFu ZXMKPj4+Pj4gKGttc19waXBlX2NyY19iYXNpYzoxNjM4KSBpZ3Qta21zLURFQlVHOiBkaXNwbGF5 OiBBLjA6IHBsYW5lX3NldF9mYigxNDApCj4+Pj4+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkg aWd0LWttcy1ERUJVRzogZGlzcGxheTogQS4wOiBwbGFuZV9zZXRfc2l6ZSAoMTAyNHg3NjgpCj4+ Pj4+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkgaWd0LWttcy1ERUJVRzogZGlzcGxheTogQS4w OiBmYl9zZXRfcG9zaXRpb24oMCwwKQo+Pj4+PiAoa21zX3BpcGVfY3JjX2Jhc2ljOjE2MzgpIGln dC1rbXMtREVCVUc6IGRpc3BsYXk6IEEuMDogZmJfc2V0X3NpemUoMTAyNHg3NjgpCj4+Pj4+IChr bXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkgaWd0LWttcy1ERUJVRzogZGlzcGxheTogY29tbWl0IHsK Pj4+Pj4gKGttc19waXBlX2NyY19iYXNpYzoxNjM4KSBpZ3Qta21zLURFQlVHOiBkaXNwbGF5OiAg ICAgTFZEUy0xOiBTZXRDcnRjIHBpcGUgQSwgZmIgMTQwLCBzcmMgKDAsIDApLCBtb2RlIDEwMjR4 NzY4Cj4+Pj4+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkgaWd0LWttcy1ERUJVRzogZGlzcGxh eTogICAgIFNldENydGMgcGlwZSBBLCBkaXNhYmxpbmcKPj4+Pj4gKGttc19waXBlX2NyY19iYXNp YzoxNjM4KSBpZ3Qta21zLURFQlVHOiBkaXNwbGF5OiAgICAgU2V0UGxhbmUgcGlwZSBBLCBwbGFu ZSAyLCBkaXNhYmxpbmcKPj4+Pj4gKGttc19waXBlX2NyY19iYXNpYzoxNjM4KSBpZ3Qta21zLURF QlVHOiBkaXNwbGF5OiAgICAgU2V0UGxhbmUgcGlwZSBBLCBwbGFuZSAzLCBkaXNhYmxpbmcKPj4+ Pj4gKGttc19waXBlX2NyY19iYXNpYzoxNjM4KSBpZ3Qta21zLURFQlVHOiBkaXNwbGF5OiAgICAg U2V0UGxhbmUgcGlwZSBBLCBwbGFuZSA0LCBkaXNhYmxpbmcKPj4+Pj4gKGttc19waXBlX2NyY19i YXNpYzoxNjM4KSBpZ3Qta21zLURFQlVHOiBkaXNwbGF5OiAgICAgU2V0Q3J0YyBwaXBlIEIsIGRp c2FibGluZwo+Pj4+PiAoa21zX3BpcGVfY3JjX2Jhc2ljOjE2MzgpIGlndC1rbXMtREVCVUc6IGRp c3BsYXk6ICAgICBTZXRQbGFuZSBwaXBlIEIsIHBsYW5lIDEsIGRpc2FibGluZwo+Pj4+PiAoa21z X3BpcGVfY3JjX2Jhc2ljOjE2MzgpIGlndC1rbXMtREVCVUc6IGRpc3BsYXk6ICAgICBTZXRQbGFu ZSBwaXBlIEIsIHBsYW5lIDIsIGRpc2FibGluZwo+Pj4+PiAoa21zX3BpcGVfY3JjX2Jhc2ljOjE2 MzgpIGlndC1rbXMtREVCVUc6IGRpc3BsYXk6ICAgICBTZXRQbGFuZSBwaXBlIEIsIHBsYW5lIDMs IGRpc2FibGluZwo+Pj4+PiAoa21zX3BpcGVfY3JjX2Jhc2ljOjE2MzgpIGlndC1rbXMtREVCVUc6 IGRpc3BsYXk6ICAgICBTZXRQbGFuZSBwaXBlIEIsIHBsYW5lIDQsIGRpc2FibGluZwo+Pj4+PiAo a21zX3BpcGVfY3JjX2Jhc2ljOjE2MzgpIGlndC1rbXMtREVCVUc6IGRpc3BsYXk6ICAgICBTZXRD cnRjIHBpcGUgQywgZGlzYWJsaW5nCj4+Pj4+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkgaWd0 LWttcy1ERUJVRzogZGlzcGxheTogICAgIFNldFBsYW5lIHBpcGUgQywgcGxhbmUgMSwgZGlzYWJs aW5nCj4+Pj4+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkgaWd0LWttcy1ERUJVRzogZGlzcGxh eTogICAgIFNldFBsYW5lIHBpcGUgQywgcGxhbmUgMiwgZGlzYWJsaW5nCj4+Pj4+IChrbXNfcGlw ZV9jcmNfYmFzaWM6MTYzOCkgaWd0LWttcy1ERUJVRzogZGlzcGxheTogICAgIFNldFBsYW5lIHBp cGUgQywgcGxhbmUgMywgZGlzYWJsaW5nCj4+Pj4+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkg aWd0LWttcy1ERUJVRzogZGlzcGxheTogICAgIFNldFBsYW5lIHBpcGUgQywgcGxhbmUgNCwgZGlz YWJsaW5nCj4+Pj4+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkgaWd0LWttcy1ERUJVRzogZGlz cGxheTogICAgIFNldENydGMgcGlwZSBELCBkaXNhYmxpbmcKPj4+Pj4gKGttc19waXBlX2NyY19i YXNpYzoxNjM4KSBpZ3Qta21zLURFQlVHOiBkaXNwbGF5OiAgICAgU2V0Q3J0YyBwaXBlIEQsIGRp c2FibGluZwo+Pj4+PiAoa21zX3BpcGVfY3JjX2Jhc2ljOjE2MzgpIGlndC1rbXMtREVCVUc6IGRp c3BsYXk6ICAgICBTZXRQbGFuZSBwaXBlIEQsIHBsYW5lIDIsIGRpc2FibGluZwo+Pj4+PiAoa21z X3BpcGVfY3JjX2Jhc2ljOjE2MzgpIGlndC1rbXMtREVCVUc6IGRpc3BsYXk6ICAgICBTZXRQbGFu ZSBwaXBlIEQsIHBsYW5lIDMsIGRpc2FibGluZwo+Pj4+PiAoa21zX3BpcGVfY3JjX2Jhc2ljOjE2 MzgpIGlndC1rbXMtREVCVUc6IGRpc3BsYXk6ICAgICBTZXRQbGFuZSBwaXBlIEQsIHBsYW5lIDQs IGRpc2FibGluZwo+Pj4+PiAoa21zX3BpcGVfY3JjX2Jhc2ljOjE2MzgpIGlndC1rbXMtREVCVUc6 IGRpc3BsYXk6IH0KPj4+Pj4gKGttc19waXBlX2NyY19iYXNpYzoxNjM4KSBpZ3QtZGVidWdmcy1E RUJVRzogT3BlbmluZyBkZWJ1Z2ZzIGRpcmVjdG9yeSAnL3N5cy9rZXJuZWwvZGVidWcvZHJpLzAn Cj4+Pj4+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkgaWd0LWRlYnVnZnMtREVCVUc6IE9wZW5p bmcgZGVidWdmcyBkaXJlY3RvcnkgJy9zeXMva2VybmVsL2RlYnVnL2RyaS8wJwo+Pj4+PiAoa21z X3BpcGVfY3JjX2Jhc2ljOjE2MzgpIGlndC1kZWJ1Z2ZzLUNSSVRJQ0FMOiBUZXN0IGFzc2VydGlv biBmYWlsdXJlIGZ1bmN0aW9uIGlndF9waXBlX2NyY19zdGFydCwgZmlsZSBpZ3RfZGVidWdmcy5j Ojc2NDoKPj4+Pj4gKGttc19waXBlX2NyY19iYXNpYzoxNjM4KSBpZ3QtZGVidWdmcy1DUklUSUNB TDogRmFpbGVkIGFzc2VydGlvbjogcGlwZV9jcmMtPmNyY19mZCAhPSAtMQo+Pj4+PiAoa21zX3Bp cGVfY3JjX2Jhc2ljOjE2MzgpIGlndC1kZWJ1Z2ZzLUNSSVRJQ0FMOiBMYXN0IGVycm5vOiA1LCBJ bnB1dC9vdXRwdXQgZXJyb3IKPj4+Pj4gKGttc19waXBlX2NyY19iYXNpYzoxNjM4KSBpZ3QtY29y ZS1JTkZPOiBTdGFjayB0cmFjZToKPj4+Pj4gKioqKiAgRU5EICAqKioqCj4+Pj4+IFN1YnRlc3Qg cmVhZC1jcmMtcGlwZS1BOiBGQUlMICgwLjA2MXMpCj4+Pj4+Cj4+Pj4+IEkgdGhpbmsgdGhlIGFu c3dlciBpcyBubywgYnV0IEkgZG9uJ3QgdGhpbmsgaXQncyB0aGUgZmF1bHQgb2YgdGhpcyBwYXRj aAo+Pj4+PiBzZXJpZXMuIE9wZW5pbmcgdGhlIENSQyBkYXRhIGZpbGUgcmV0dXJucyAtRUlPIGJl Y2F1c2UgdGhlIENSVEMgaXMgbm90IGFjdGl2ZSwKPj4+Pj4gYW5kIEknbSB0cnlpbmcgdG8gZmlu ZCBvdXQgd2h5IHRoYXQgaXMgdGhlIGNhc2UuIFRoZSBkZWJ1ZyBsb2cgc2hvd3MgYSBjb21taXQK Pj4+Pj4gdGhhdCBzZWVtcyBzdHJhbmdlIHRvIG1lLCBlbmFibGluZyBwaXBlIEEgYW5kIGltbWVk aWF0ZWx5IGRpc2FibGluZyByaWdodAo+Pj4+PiBhZnRlcndhcmRzLiBBZnRlciBzb21lIGludmVz dGlnYXRpb24gSSBiZWxpZXZlIHRoYXQgdGhpcyBpcyBjYXVzZWQgYnkgc2hhcmluZwo+Pj4+PiBw cmltYXJ5IHBsYW5lcyBiZXR3ZWVuIENSVENzLgo+Pj4+Pgo+Pj4+PiBUaGUgUi1DYXIgRFUgZ3Jv dXBzIENSVENzIGJ5IHR3byBhbmQgc2hhcmVzIDUgcGxhbmVzIGJldHdlZW4gdGhlIHR3byBDUlRD cyBvZgo+Pj4+PiB0aGUgZ3JvdXAuIFRoaXMgc3BlY2lmaWMgU29DIGhhcyB0d28gZ3JvdXBzIG9m IHR3byBDUlRDcywgYnV0IHRoYXQncyBub3QKPj4+Pj4gcmVsZXZhbnQgaGVyZSwgc28gd2UgY2Fu IGlnbm9yZSBwaXBlcyBDIGFuZCBELgo+Pj4+Pgo+Pj4+PiBQaXBlcyBBIGFuZCBCIHRodXMgc2hh cmVkIDUgcGxhbmVzIHRoYXQgSSB3aWxsIG51bWJlciAwIHRvIDQgZm9yIHNpbXBsaWNpdHkuCj4+ Pj4+IFRoZSBkcml2ZXIgc2V0cyBwbGFuZSAwIGFzIHRoZSBwcmltYXJ5IHBsYW5lIGZvciBDUlRD IEEgYW5kIHBsYW5lIDEgYXMgdGhlCj4+Pj4+IHByaW1hcnkgcGxhbmUgZm9yIENSVEMgQi4gUGxh bmVzIDIsIDMgYW5kIDQgYXJlIGNyZWF0ZWQgYXMgb3ZlcmxheSBwbGFuZXMuCj4+Pj4+Cj4+Pj4+ IFdoZW4gaWd0IGl0ZXJhdGVzIG92ZXIgYWxsIHBsYW5lcyBmb3IgcGlwZSBBLCBpdCB3aWxsIGZp cnN0IGVuY291bnRlciBwbGFuZSAwCj4+Pj4+IHRoYXQgaGFzIGEgZnJhbWVidWZmZXIsIGFuZCB0 aHVzIGVuYWJsZXMgdGhlIHBpcGUuIEl0IHRoZW4gaXRlcmF0ZXMgb3Zlcgo+Pj4+PiBwbGFuZSAx LCByZWNvZ25pemVzIGl0IGFzIGEgcHJpbWFyeSBwbGFuZSB3aXRob3V0IGEgZnJhbWVidWZmZXIs IGFuZCB0aHVzCj4+Pj4+IGRpc2FibGVzIHRoZSBwaXBlLiBQbGFuZXMgMiwgMyBhbmQgNCBhcmUg cmVjb2duaXplZCBhcyBvdmVybGF5IHBsYW5lcyBhbmQgdGh1cwo+Pj4+PiBkb24ndCBhZmZlY3Qg dGhlIHBpcGUgYWN0aXZlIHN0YXRlLiBQaXBlIEIgaXMgaGFuZGxlZCB0aGUgc2FtZSB3YXksIGFu ZCBpZ3QKPj4+Pj4gZGlzYWJsZXMgaXQgdHdpY2UgYXMgcGxhbmVzIDAgYW5kIDEgYXJlIHByaW1h cnkuCj4+Pj4+Cj4+Pj4+IEkgZG9uJ3Qga25vdyBpZiB0aGUgZmF1bHQgaGVyZSBpcyB3aXRoIGln dCB0aGF0IGRvZXNuJ3QgcHJvcGVybHkgc3VwcG9ydCB0aGlzCj4+Pj4+IGFyY2hpdGVjdHVyZSwg b3Igd2l0aCB0aGUgZHJpdmVyIHRoYXQgc2hvdWxkbid0IGhhdmUgdHdvIHByaW1hcnkgcGxhbmVz Cj4+Pj4+IGF2YWlsYWJsZSBmb3IgYSBDUlRDLiBJbiB0aGUgZm9ybWVyIGNhc2UsIEknbSBub3Qg c3VyZSBob3cgdG8gZml4IGl0LCBhcyBJJ20KPj4+Pj4gbm90IGZhbWlsaWFyIGVub3VnaCB3aXRo IGlndCB0byByZWFyY2hpdGVjdHVyZSB0aGUgY29tbWl0IGhlbHBlcnMuIEluIHRoZQo+Pj4+PiBs YXR0ZXIgY2FzZSwgaG93IHdvdWxkIHlvdSByZWNvbW1lbmQgZml4aW5nIGl0IG9uIHRoZSBkcml2 ZXIgc2lkZSA/Cj4+Pj4gSSBndWVzcyB0aHVzIGZhciBubyBvbmUgZGlkIHJ1biBpZ3Qgb24gYSBj aGlwIHdoaWNoIGRpZCBoYXZlIHJlYXNzaWduYWJsZQo+Pj4+IHByaW1hcnkgcGxhbmVzLiBUaGUg cHJvYmxlbSBoZXJlIGlzIHRoYXQgaXQncyBwcmV0dHkgaGFyZCB0byBmaWd1cmUgb3V0Cj4+Pj4g d2hpY2ggb25lIGlzIHRoZSByZWFsIHByaW1hcnkgcGxhbmUsIHNpbmNlIHdpdGggcG9zc2libGUg Q1JUQ3MgeW91IGNvdWxkCj4+Pj4gaGF2ZSBtdWx0aXBsZSBwcmltYXJ5IHBsYW5lcyBvbiAxIENS VEMuIFRoZXJlJ3Mgbm8gcHJvcGVydHkgb3IgYW55dGhpbmcKPj4+PiB0aGF0IGV4cGxpY2l0bHkg dGVsbHMgeW91IHRoaXMuIFR3byBmaXhlczoKPj4+Pgo+Pj4+IDEuIENoYW5nZSBkcml2ZXJzIHRv IGxpbWl0IHByaW1hcnkgcGxhbmVzIHRvIDEgY3J0Yy4gU2FtZSBmb3IgY3Vyc29yCj4+Pj4gICAg b3ZlcmxheXMuIFRoZXJlJ3MgcHJvYmFibHkgb3RoZXIgdXNlcnNwYWNlIHRoYW4gaWd0IHRoYXQg Z2V0cyBjb25mdXNlZAo+Pj4+ICAgIGJ5IHRoaXMsIGJ1dCB0aGlzIGhhcyB0aGUgdWdseSBkb3du c2lkZSB0aGF0IHdlIGFydGlmaWNhbGx5IGxpbWl0IHBsYW5lCj4+Pj4gICAgdXNhZ2UgLSBpZiBv bmx5IDEgQ1JUQyBpcyBvbiwgd2Ugd2FudCB0byB1c2UgYWxsIHRoZSBhdmFpbGFibGUgcGxhbmVz Cj4+Pj4gICAgb24gdGhhdCBvbmUuCj4+Pj4KPj4+PiAyLiBBZGQgc29tZSBpbXBsaWNpdCBvciBl eHBsaWNpdCB1YXBpIHRvIGFsbG93IHVzZXJzcGFjZSB0byBmaWd1cmUgb3V0Cj4+Pj4gICAgd2hp Y2ggcHJpbWFyeSBwbGFuZSBpcyB0aGUgcHJpbWFyeSBwbGFuZSBmb3IgdGhpcyBjcnRjLgo+Pj4+ Cj4+Pj4gICAgYSkgRXhwbGljaXQgb3B0aW9uOiBXZSBhZGQgYSBQUklNQVJZX0lEIHByb3BlcnR5 IChhbmQgQ1VSU09SX0lEIHByb3AKPj4+PiAgICAgICB3aGlsZSBhdCBpdCkgb24gdGhlIENSVEMg d2hpY2ggcG9pbnRzIGF0IHRoZSBwcmltYXJ5L2N1cnNvciBwbGFuZS4KPj4+Pgo+Pj4+ICAgIGIp IEltcGxpY2l0IG9wdGlvbjogV2UgcmVxdWlyZSBwcmltYXJ5IHBsYW5lcyBhcmUgYXNzaWduZWQg dG8gQ1JUQyBpbiB0aGUKPj4+PiAgICAgICBzYW1lIG9yZGVyIGFzIHRoZXkncmUgY3JlYXRlZC4g U28gZmlyc3QgcHJpbWFyeSBwbGFuZSB5b3UgZW5jb3V0ZXIKPj4+PiAgICAgICBpcyB0aGUgb25l IGZvciB0aGUgZmlyc3QgQ1JUQywgMm5kIHByaW1hcnkgcGxhbmUgaXMgdGhlIG9uZSBmb3IgdGhl Cj4+Pj4gICAgICAgMm5kIENSVEMgYW5kIHNvIG9uLiBJZiB3ZSBnbyB3aXRoIHRoaXMgd2UgcHJv YmFibHkgc2hvdWxkIGFkZCBhIGJpdAo+Pj4+ICAgICAgIG9mIGNvZGUgdG8gdGhlIGtlcm5lbCB0 byBjaGVjayB0aGF0IGludmFyaWFudCAoYnkgbWFraW5nIHN1cmUgdGhlCj4+Pj4gICAgICAgcHJp bWFyeSBwbGFuZSBoYXMgdGhlIGNvcnJlc3BvbmRpbmcgQ1JUQyBpbmNsdWRlZCBpbiBpdHMKPj4+ PiAgICAgICBwb3NzaWJsZV9jcnRjIG1hc2spLgo+Pj4+Cj4+Pj4gRWl0aGVyIHdheSBpZ3QgbmVl ZHMgdG8gYmUgcGF0Y2hlZCB0byBub3QgdHJlYXQgYW55IHByaW1hcnkgcGxhbmUgdGhhdAo+Pj4+ IGNvdWxkIHdvcmsgb24gYSBDUlRDIGFzIHRoZSBwcmltYXJ5IHBsYW5lIGZvciB0aGF0IENSVEMu Cj4+Pj4KPj4+PiBQZXJzb25hbGx5IEknbSBsZWFuaW5nIHRvd2FyZHMgMmIpLgo+Pj4gQWRkaW5n IE1hYXJ0ZW4gYW5kIGlndC1kZXYuCj4+IFdlIHNob3VsZCBmaXJzdCBtYWtlIHRoZSBwbGFuZSBh cnJheSBnbG9iYWwsIGluc3RlYWQgb2YgcGVyIGNydGMuCj4+Cj4+IFRoYXQgbWVhbnMgcmVtb3Zp bmcgcGxhbmUtPnBpcGUgYW5kIHBsYW5lLT5pbmRleC4KPj4KPj4gQW5kIHBpcGVfb2JqLT5wbGFu ZXMgYW5kIHBpcGVfb2JqLT5uX3BsYW5lcyBuZWVkIHRvIGJlIGdvbmUgdG9vLiBJIHRoaW5rIGl0 J3MKPj4gZWFzaWVzdCB0byBtYWtlCj4+Cj4+IFRoZXJlIGlzIG9uZSBwcm9ibGVtLiBNb3N0IG9m IHRoZSB0ZXN0cyBhcmUgbm90IGF3YXJlIG9mIHRoZSBsaW1pdGF0aW9ucy4KPj4gSWYgd2UgbWFr ZSB0aGUgcGxhbmUgYXJyYXkgZ2xvYmFsIGl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byBtYWtlCj4+ IGEgZm9yX2VhY2hfcG9zc2libGVfcGxhbmVfb25fcGlwZSBlbnVtZXJhdGUgYWxsIHBsYW5lcyB0 aGF0IGNvdWxkIGJlIGFzc2lnbmVkCj4+IHRvIGEgY2VydGFpbiBwaXBlLiBXZSBuZWVkIHRvIHNv cnQgYnkgeiBvcmRlciBzb21laG93LCBidXQgaWYgd2UgdGhlbiBhZGQKPj4gaWd0X3BsYW5lX3Nl dF9waXBlKCkgd2hpY2ggdXBkYXRlcyB0aGUgSUdUX1BMQU5FX0NSVENfSUQgcHJvcGVydHksIHdl IHNob3VsZAo+PiBiZSBnb29kLgo+Pgo+PiBPbmx5IHRoaW5nIHdlIGRvbid0IHNlZSBpcyBob3cg dGhlIGRlZmF1bHQgY3J0Yy0+cHJpbWFyeSBhbmQgY3J0Yy0+Y3Vyc29yIGFyZQo+PiBhc3NpZ25l ZC4gRm9yIHRoZSBjYWxscyB3aXRoIENPTU1JVF9MRUdBQ1kgd2UgbmVlZCB0byBrbm93IHRoZSBt YXBwaW5ncywgYnV0Cj4+IEkgZG9uJ3QgdGhpbmsgdGhlIGtlcm5lbCBleHBvc2VzIHRoZW0/Cj4+ IEkgZ3Vlc3Mgd2UgY291bGQgcHV0IGl0IGluIGEgRklGTyB3YXksIGZpcnN0IGVudW1lcmF0ZWQg cGxhbmUgd2l0aCBQUklNQVJZIHR5cGUKPj4gaXMgYm91bmQgdG8gdGhlIGZpcnN0IGNydGMsIHNh bWUgZm9yIGN1cnNvci4KPiBTb2x1dGlvbnMgZm9yIHRoYXQgcHJvYmxlbSBpcyB3aGF0IEkgcHJv cG9zZWQgaW4gbXkgbWFpbCwgc2luY2UgYXRtIHRoZQo+IGtlcm5lbCBpcyBpbmRlZWQgbm90IGV4 cG9zaW5nIHRoYXQgaW4gYW55IGZhc2lvbi4KPgo+PiBUaGlzIHdpbGwgaG9wZWZ1bGx5IGFsbG93 IGxlZ2FjeSB0ZXN0cyB0byBrZWVwIHdvcmtpbmcsIHdoaWxlIGF0b21pYyBwbGFuZSBhd2FyZQo+ PiB0ZXN0cyB3aWxsIGJlIGFibGUgdG8gdXNlIGFsbCBwbGFuZXMuCj4gWWVhaCAuLgo+IC1EYW5p ZWwKCkZvciByZWZlcmVuY2U6IGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9zZXJp ZXMvNDI4MTQvCgpUaGUgcGFydCB3aGVyZSBwbGFuZXMgYXJlIHJlYXNzaWduZWQgaXNuJ3QgZG9u ZSB5ZXQsIGJ1dCB0aGF0IHdpbGwgZGVwZW5kIG9uIHRoZSBmaW5hbCBrZXJuZWwgYXBpLgoKfk1h YXJ0ZW4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmln dC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=