From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrzej Hajda Subject: Re: [PATCH v4 16/16] drm/panel: Add Sharp LQ101R1SX01 support Date: Wed, 05 Nov 2014 15:39:45 +0100 Message-ID: <545A36B1.5000207@samsung.com> References: <1415006021-29313-1-git-send-email-thierry.reding@gmail.com> <1415006021-29313-16-git-send-email-thierry.reding@gmail.com> <5458AD4B.1090908@samsung.com> <20141104132916.GC23240@ulmo.nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mailout4.w1.samsung.com (mailout4.w1.samsung.com [210.118.77.14]) by gabe.freedesktop.org (Postfix) with ESMTP id F24C56E933 for ; Wed, 5 Nov 2014 06:39:51 -0800 (PST) Received: from eucpsbgm1.samsung.com (unknown [203.254.199.244]) by mailout4.w1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0NEK00KQRM6YJQB0@mailout4.w1.samsung.com> for dri-devel@lists.freedesktop.org; Wed, 05 Nov 2014 14:42:34 +0000 (GMT) In-reply-to: <20141104132916.GC23240@ulmo.nvidia.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gMTEvMDQvMjAxNCAwMjoyOSBQTSwgVGhpZXJyeSBSZWRpbmcgd3JvdGU6Cj4gT24gVHVlLCBO b3YgMDQsIDIwMTQgYXQgMTE6NDE6MTVBTSArMDEwMCwgQW5kcnplaiBIYWpkYSB3cm90ZToKPj4g T24gMTEvMDMvMjAxNCAxMDoxMyBBTSwgVGhpZXJyeSBSZWRpbmcgd3JvdGU6Cj4gWy4uLl0KPj4+ IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGFuZWwvc2hh cnAsbHExMDFyMXN4MDEudHh0IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3Bh bmVsL3NoYXJwLGxxMTAxcjFzeDAxLnR4dAo+IFsuLi5dCj4+PiArRXhhbXBsZToKPj4+ICsKPj4+ ICsJZHNpQDU0MzAwMDAwIHsKPj4+ICsJCXBhbmVsOiBwYW5lbEAwIHsKPj4+ICsJCQljb21wYXRp YmxlID0gInNoYXJwLGxxMTAxcjFzeDAxIjsKPj4+ICsJCQlyZWcgPSA8MD47Cj4+PiArCj4+PiAr CQkJbGluazIgPSA8JnNlY29uZGFyeT47Cj4+PiArCj4+PiArCQkJcG93ZXItc3VwcGx5ID0gPC4u Lj47Cj4+PiArCQkJYmFja2xpZ2h0ID0gPC4uLj47Cj4+PiArCQl9Owo+Pj4gKwl9Owo+Pj4gKwo+ Pj4gKwlkc2lANTQ0MDAwMDAgewo+Pj4gKwkJc2Vjb25kYXJ5OiBwYW5lbEAwIHsKPj4+ICsJCQlj b21wYXRpYmxlID0gInNoYXJwLGxxMTAxcjFzeDAxIjsKPj4+ICsJCQlyZWcgPSA8MD47Cj4+PiAr CQl9Owo+Pj4gKwl9Owo+Pgo+PiBUaGUgYmluZGluZ3MgYWJvdmUgYW5kIHRoZSBpbXBsZW1lbnRh dGlvbiBiZWxvdyBjbGVhcmx5IHNob3dzCj4+IHRoYXQgdGhlIHNlY29uZGFyeSBub2RlIGlzIGp1 c3QgYSBkdW1teSBkc2kgZGV2aWNlLgo+IAo+IEl0J3Mgbm90IG9ubHkgYSBkdW1teSBkZXZpY2Uu IEJpbmRpbmcgaXQgdG8gdGhlIGRldmljZSdzIGNvbXBhdGlibGUKPiBzdHJpbmcgYWxsb3dzIHRo ZSBkcml2ZXIgdG8gcHJvcGVybHkgc2V0IHVwIHRoZSBEU0kgZGV2aWNlIChmbGFncywKPiBudW1i ZXIgb2YgbGFuZXMsIC4uLikuCgpUaGlzIGlzIHdoeSBJIGNhbGxlZCBpdCBkdW1teSBEU0kgZGV2 aWNlIDopCgo+IAo+PiBIaWRpbmcgdGhpcyBiZWhpbmQgY29uZGl0aW9uYWxzIGluIGJvdGggZG9j cyBhbmQgY29kZSBkb2VzIG5vdCBsb29rIGdvb2QKPj4gdG8gbWUuIE9uIHRoZSBvdGhlciBzaWRl IGhhdmluZyBjb21tb24gZHVtbXkgZHNpIGRyaXZlcgo+PiB3b3VsZCBhbGxvdyB0byByZXVzZSBp dCBpbiBvdGhlciBkdWFsLWRzaSBkZXZpY2VzLgo+PiBTbyBpbnN0ZWFkIG9mIDJuZCBub2RlIHlv dSB3b3VsZCBoYXZlOgo+PiAJZHNpQDU0NDAwMDAwIHsKPj4gCQlzZWNvbmRhcnk6IHBhbmVsQDAg ewo+PiAJCQljb21wYXRpYmxlID0gImRzaS1kdW1teS13aGF0ZXZlciI7Cj4+IAkJCXJlZyA9IDww PjsKPj4gCQl9Owo+PiAJfTsKPj4KPj4gT3IganVzdDoKPj4gCWRzaTI6IGRzaUA1NDQwMDAwMCB7 Cj4+IAl9Cj4+Cj4+IHdpdGggcGhhbmRsZSB0byBkc2kyIGluIDFzdCBub2RlLCBpbiBzdWNoIGNh c2UgMm5kIGRzaSBkZXYgd291bGQgYmUKPj4gY3JlYXRlZCBkeW5hbWljYWxseSBsaWtlIHdpdGgg aTJjX25ld19kdW1teS4KPiAKPiBJIGRvbid0IHRoaW5rIHRoYXQncyB0ZWNobmljYWxseSB2YWxp ZCBEVC4gRXZlcnkgZGV2aWNlIG11c3QgaGF2ZSBhCj4gY29tcGF0aWJsZSBwcm9wZXJ0eS4gQW5k IHRoZSBjb21wYXRpYmxlIHByb3BlcnR5IHNob3VsZCBoYXZlIGFuIGVudHJ5Cj4gZm9yIHRoZSBz cGVjaWZpYyBtb2RlbCBvZiB0aGUgZGV2aWNlLiAiZHVtbXkiIGRvZXNuJ3QgcXVhbGlmeSBmb3Ig dGhhdAoKT25lIGNvdWxkIGFzayBpZiBpdCBpcyB0ZWNobmljYWxseSB2YWxpZCB0byByZXByZXNl bnQgb25lIGh3IGRldmljZSB2aWEKdHdvIHNlcGFyYXRlIG5vZGVzLiBFYWNoIGNob2ljZSBzY2Fy aWZpZXMgc29tZXRoaW5nLgoKPiAKPiBIb3BlZnVsbHkgd2hlbiBtb3JlIGR1YWwtY2hhbm5lbCBE U0kgZGV2aWNlcyBnZXQgc3VwcG9ydGVkIHNvbWUga2luZCBvZgo+IHBhdHRlcm4gd2lsbCBlbWVy Z2UuIEZvciBub3cgSSdsbCBnbyB3aXRoIHdoYXQgSSBoYXZlIGluIHRoaXMgcGF0Y2guIEl0Cj4g aXMgYXMgYWNjdXJhdGUgYXMgSSBjYW4gdGhpbmsgb2YuCgpBZ3JlZWQKCgo+IAo+Pj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFycC1scTEwMXIxc3gwMS5jIGIv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxxMTAxcjFzeDAxLmMKPiBbLi4uXQo+ Pj4gK3N0cnVjdCBzaGFycF9wYW5lbCB7Cj4+PiArCXN0cnVjdCBkcm1fcGFuZWwgYmFzZTsKPj4+ ICsJLyogdGhlIGRhdGFzaGVldCByZWZlcnMgdG8gdGhlbSBhcyBEU0ktTElOSzEgYW5kIERTSS1M SU5LMiAqLwo+Pj4gKwlzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpsaW5rMTsKPj4+ICsJc3RydWN0 IG1pcGlfZHNpX2RldmljZSAqbGluazI7Cj4+PiArCj4+PiArCXN0cnVjdCBiYWNrbGlnaHRfZGV2 aWNlICpiYWNrbGlnaHQ7Cj4+PiArCXN0cnVjdCByZWd1bGF0b3IgKnN1cHBseTsKPj4+ICsKPj4+ ICsJYm9vbCBwcmVwYXJlZDsKPj4+ICsJYm9vbCBlbmFibGVkOwo+Pgo+PiBOaXRwaWNrLgo+PiBB cyBJIHdyb3RlIGluIHJldmlldyB0byBwcmV2aW91cyB2ZXJzaW9uIGl0IGlzIHVwIHRvIHBhbmVs IGNsaWVudAo+PiAodXN1YWxseSBjb25uZWN0b3IpIHRvIGNhbGwgcGFuZWwgY2FsbGJhY2tzIHBy b3Blcmx5LCB3ZSBzaG91bGQgbm90IGFkZAo+PiBhZGRpdGlvbmFsIGNoZWNrcyB0byBwYW5lbHMu IElmIGNhbGwgb3JkZXIgaXMgaW5jb3JyZWN0IHRoZW4gdGhlIGNsaWVudAo+PiBzaG91bGQgYmUg Zml4ZWQuCj4gCj4gVGhlcmUgYXJlIG5vIHN1Y2ggZ3VhcmFudGVlcyB0b2RheS4gQnV0IGhvcGVm dWxseSB0aGlzIHdpbGwgY2hhbmdlIHdpdGgKPiBhdG9taWMgbW9kZXNldHRpbmcuCgpJIGRvIG5v dCB1bmRlcnN0YW5kIHRoYXQuIEl0IGlzIHRoZSBjb25uZWN0b3IgY29kZSB3aG8gY2FsbHMgdGhl c2UKY2FsbGJhY2tzLiBXaHkgY2Fubm90IHlvdSBmb3JjZSBpdCB0byBjYWxsIHRoZW0gaW4gcHJv cGVyIG9yZGVyPwoKPiAKPj4+ICtzdGF0aWMgaW50IHNoYXJwX3BhbmVsX3JlbW92ZShzdHJ1Y3Qg bWlwaV9kc2lfZGV2aWNlICpkc2kpCj4+PiArewo+Pj4gKwlzdHJ1Y3Qgc2hhcnBfcGFuZWwgKnNo YXJwID0gbWlwaV9kc2lfZ2V0X2RydmRhdGEoZHNpKTsKPj4+ICsJaW50IGVycjsKPj4+ICsKPj4+ ICsJLyogb25seSBkZXRhY2ggZnJvbSBob3N0IGZvciB0aGUgRFNJLUxJTksyIGludGVyZmFjZSAq Lwo+Pj4gKwlpZiAoIXNoYXJwKSB7Cj4+PiArCQltaXBpX2RzaV9kZXRhY2goZHNpKTsKPj4KPj4g UXVvdGF0aW9uIGZyb20gcHJldmlvdXMgcmV2aWV3Ogo+Pgo+Pj4+IFRoZXJlIGlzIG5vIGxvY2tp bmcgbWVjaGFuaXNtIGhlcmUsIHNvIGl0IGlzIHBvc3NpYmxlIHRoYXQKPj4+PiBldmVyeXRoaW5n IGNhbiBjcmFzaCBpZiBzb21lb25lIHVuYmluZCBkcml2ZXIgZnJvbSBMSU5LMiBhbmQgdGhlbiB0 cnkgdG8KPj4+PiBlbmFibGUgdGhlIHBhbmVsLgo+Pj4KPj4+IEkgZG9uJ3QgdGhpbmsgc28uIFNp bmNlIHdlJ3JlIG5vdCBkb2luZyBhbnl0aGluZyB3aXRoIHRoZSBEU0ktTElOSzIKPj4+IGRldmlj ZSBhbnltb3JlIGl0J3MgaXJyZWxldmFudCB3aGV0aGVyIGl0IGlzIGJvdW5kIHRvIHRoZSBkcml2 ZXIgb3IKPj4+IG5vdC4KPj4+Cj4+Cj4+IFBsZWFzZSBjb25zaWRlciBmb2xsb3dpbmcgc2NlbmFy aW86Cj4+IDEuIHBhbmVsIGxpbmsyIGlzIHByb2JlZAo+PiAyLiBwYW5lbCBsaW5rMSBpcyBwcm9i ZWQKPj4gMy4gcGFuZWwgbGluazIgaXMgdW5ib3VuZCAoZm9yIGV4YW1wbGUgYnk6IGVjaG8gbGlu azIKPj4+IC9zeXMvYnVzL2RzaS9kcml2ZXJzLypscTEwMSovdW5iaW5kKQo+PiA0LiBkcm0gaXMg Ym91bmQ6Cj4+ICAgIC0gZHVyaW5nIHNoYXJwX3NldHVwX3N5bW1ldHJpY2FsX3NwbGl0IHlvdSB3 aWxsIGNhbGwgdHJhbnNmZXIKPj4gICAgICBidXQgdGhlcmUgaXMgbm8gZGV2aWNlIGF0dGFjaGVk IHRvIGRzaTIuCj4+Cj4+IE1heWJlIGl0IHdpbGwgbm90IGNhdXNlIGFueSB0cm91YmxlcyBidXQg aXQgc2VlbXMgaW5jb3JyZWN0Lgo+IAo+IFRoZSBkZXZpY2UgaXMgc3RpbGwgdGhlcmUuIFRoZSBk cml2ZXIgbWF5IG5vdCBiZSBib3VuZCB0byBpdCwgYnV0IHdlCj4gZG9uJ3QgbmVlZCB0aGF0IGZv ciB0aGUgdHJhbnNmZXJzIGFueXdheS4KCkFuZCB5b3UgZG8gbm90IHdhbnQgdG8gY2FsbCBpdCBk dW1teSBkZXZpY2UgOikKCj4gCj4+IEkgZ3Vlc3Mgc2ltcGxlIHdvcmthcm91bmQgaXMgdG8gZG8g ZGV2aWNlX2xvY2sgYW5kIGNoZWNrIGlmIGRldmljZSBpcwo+PiBib3VuZCBldmVyeSB0aW1lIHlv dSB3YW50IHRvIGFjY2VzcyBsaW5rMiBkZXZpY2UuCj4gCj4gSSBkb24ndCBzZWUgd2hlcmUgdGhl IHByb2JsZW0gaXMuIFdlIGRvIGtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIExJTksyCj4gZGV2aWNl IGZyb20gdGhlIGZpcnN0LCBzbyBpdCBjYW4ndCBqdXN0IGRpc2FwcGVhci4gVGhlIG9ubHkgd2F5 IGl0IGNvdWxkCj4gZGlzYXBwZWFyIGlzIGlmIHRoZSBob3N0IGNvbnRyb2xsZXIgdGhhdCBwcm92 aWRlcyBpdHMgYnVzIGdvZXMgYXdheSwgYnV0Cj4gdGhlcmUncyBjb2RlIGF0IHRoZSBEU0kgaG9z dCBjb250cm9sbGVyIGxldmVsIHRvIGRlYWwgd2l0aCB0aGF0Lgo+IAoKQXMgSSB1bmRlcnN0YW5k IGl0IGlzIGltcG9ydGFudCB0byB5b3UgdGhhdCBob3N0IGlzIHNldC11cCBhY2NvcmRpbmcgdG8K c2V0dGluZ3MgcGFzc2VkIGR1cmluZyBMSU5LMiBkZXZpY2UgYXR0YWNobWVudC4KSU1ITyBhc3N1 bXB0aW9uIHRoYXQgdGhlIGhvc3Qgd2lsbCBrZWVwIHRoZXNlIHNldHRpbmdzIGFmdGVyIGRldmlj ZSBpcwpkZXRhY2hlZCBpcyBpbmNvcnJlY3QuIFRoZSBob3N0IGNhbiByZXR1cm4gdG8gaXRzIGlu aXRpYWwgc3RhdGUgb3IgYW55Cm90aGVyIHN0YXRlLiBJIHRoaW5rIHRoYXQgaXQgaXMgdmFsaWQg aWYgdGhlIGhvc3QgcmVmdXNlcyB0cmFuc2ZlcnMgb24KJ25vbi1hdHRhY2hlZCcgY2hhbm5lbHMu CgoKPj4+ICsJCXJldHVybiAwOwo+Pj4gKwl9Cj4+PiArCj4+PiArCWVyciA9IHNoYXJwX3BhbmVs X2Rpc2FibGUoJnNoYXJwLT5iYXNlKTsKPj4+ICsJaWYgKGVyciA8IDApCj4+PiArCQlkZXZfZXJy KCZkc2ktPmRldiwgImZhaWxlZCB0byBkaXNhYmxlIHBhbmVsOiAlZFxuIiwgZXJyKTsKPj4+ICsK Pj4+ICsJZXJyID0gbWlwaV9kc2lfZGV0YWNoKGRzaSk7Cj4+PiArCWlmIChlcnIgPCAwKQo+Pj4g KwkJZGV2X2VycigmZHNpLT5kZXYsICJmYWlsZWQgdG8gZGV0YWNoIGZyb20gRFNJIGhvc3Q6ICVk XG4iLCBlcnIpOwo+Pj4gKwo+Pj4gKwlkcm1fcGFuZWxfZGV0YWNoKCZzaGFycC0+YmFzZSk7Cj4+ PiArCXNoYXJwX3BhbmVsX2RlbChzaGFycCk7Cj4+Cj4+IFlvdSBoYXZlIGZvbGxvd2luZyBmbG93 Ogo+Pgo+PiBzaGFycF9wcm9iZToKPj4gCWRybV9wYW5lbF9hZGQKPj4gCWRzaV9hdHRhY2gKPj4K Pj4gc2hhcnBfcmVtb3ZlOgo+PiAJZHJtX3BhbmVsX2Rpc2FibGUKPj4gCWRzaV9kZXRhY2gKPj4g CWRybV9wYW5lbF9kZXRhY2gKPj4gCWRybV9wYW5lbF9kZWwKPj4KPj4gU28gcGFuZWwgaW5pdGlh bGl6YXRpb24gaXMgZG9uZSBieSBjb25uZWN0b3IKPj4gYnV0IHBhbmVsIGRlLWluaXRpYWxpemF0 aW9uIGlzIGRvbmUgYnkgdGhlIHBhbmVsIGl0c2VsZiwKPiAKPiBOby4gVGhlIHBhbmVsIHJlZ2lz dGVycyB3aXRoIHRoZSBwYW5lbCByZWdpc3RyeSBzbyB0aGF0IHRoZSBjb25uZWN0b3IKPiBjYW4g ZmluZCBpdC4gQnV0IHdoZW4gdGhlIHBhbmVsIHJlZ2lzdGVycyBpdCBkb2Vzbid0IGtub3cgYW55 dGhpbmcgYWJvdXQKPiB0aGUgRFJNIGRldmljZSBpdCBpcyBnb2luZyB0byBiZSBhdHRhY2hlZCB0 bywgc28gd2UgaGF2ZSB0byBhdHRhY2ggaXQgdG8KPiB0aGUgY29ubmVjdG9yIG9ubHkgd2hlbiB0 aGF0IGJlY29tZXMgYXZhaWxhYmxlLgo+IAo+IFdoZW4gdGhlIGRyaXZlciBpcyB1bmxvYWRlZCwg dGhlIHBhbmVsIHVucmVnaXN0ZXJzIGZyb20gdGhlIHJlZ2lzdHJ5Lgo+IEFsc28gaXQgbmVlZHMg dG8gZGV0YWNoIGZyb20gYSBjb25uZWN0b3IgaWYgaXQncyBzdGlsbCBjb25uZWN0ZWQgc28gdGhh dAo+IHRoZSBjb25uZWN0b3IgY2FuIGJlIG1hcmtlZCB1bmNvbm5lY3RlZC4gU2ltaWxhcmx5IHdo ZW4gdGhlIGNvbm5lY3Rvcgo+IGdvZXMgYXdheSBpdCBtdXN0IGxldCB0aGUgcGFuZWwga25vdyB0 aGF0IGl0J3MgYmVpbmcgZGV0YWNoZWQuCj4gCj4gQnV0IGl0IGxvb2tzIGxpa2UgdGhpcyBpbmZy YXN0cnVjdHVyZSBpcyBnZW5lcmFsbHkgc29tZXdoYXQgaW1tYXR1cmUuCj4gRm9yIGV4YW1wbGUg dGhpcyBvbmx5IHdvcmtzIHJlbGF0aXZlbHkgd2VsbCBmb3IgRFNJIHBhbmVscyBiZWNhdXNlIHdl Cj4gaGF2ZSB0aGUgRFNJIHBlcmlwaGVyYWwgYXR0YWNoL2RldGFjaCBjYWxsYmFja3MuIEZvciBS R0Igb3IgTFZEUyBwYW5lbHMKPiB3ZSBoYXZlIG5vIHN1Y2ggdGhpbmcsIHNvIHRoZXJlJ3Mgbm8g d2F5IGN1cnJlbnRseSBmb3IgdGhlc2UgcGFuZWxzIHRvCj4gaG90cGx1Zy4KClRoaXMgaXMgd2h5 IEkgaGF2ZSBwcm9wb3NlZCBpbnRlcmZhY2VfdHJhY2tlciBmcmFtZXdvcmssIHdlIHdvdWxkIGhh dmUKaG90cGx1Zy9ob3R1bnBsdWcgY2FsbGJhY2tzIGFscmVhZHkgOikKCj4gCj4+IG9uIHRoZSBv dGhlciBzaWRlIGNvbm5lY3RvciBjYW4gYWxzbyBkaXNhYmxlL2RldGFjaCB0aGUgcGFuZWwuCj4+ IFNvIGl0IHNlZW1zIHRoYXQgZHJtX3BhbmVsIHJlc291cmNlIG93bmVyc2hpcCBpcyBzcGxpdCBi ZXR3ZWVuCj4+IHRoZSBwYW5lbCBhbmQgdGhlIGNvbm5lY3Rvci4gSXQgc2VlbXMgcmFjeSwgdW5s ZXNzIHlvdSBwcm92aWRlCj4+IGFkZGl0aW9uYWwgc3luY2hyb25pemF0aW9uIG1lY2hhbmlzbXMu Cj4+IEFuZCBpbmRlZWQgdGhlcmUgYXJlIHJhY2VzIGhlcmUsIGZvciBleGFtcGxlIHRoZXJlIGFy ZSB0d28gcHJvY2Vzc2VzOgo+PiAtICgxKSBjb25uZWN0b3IgY2FsbHMgc2hhcnBfcHJlcGFyZSwg aW4gdGhlIG1pZGRsZSBvZgo+PiBzaGFycF9zZXR1cF9zeW1tZXRyaWNhbF9zcGxpdCBwcm9jZXNz IGdvZXMgdG8gc2xlZXAsCj4+IC0gKDIpIHNoYXJwX3BhbmVsX3JlbW92ZSBpcyBjYWxsZWQgZHVl IHRvIHVuYmluZCwgb3IgbW9kdWxlIHJlbW92YWwsCj4+IHNoYXJwX2Rpc2FibGUgaXMgY2FsbGVk LAo+PiAtICgxKSBwcm9jZXNzIHdha2VzIHVwLCBpdCB0cmllcyB0byBjb250aW51ZQo+PiBzaGFy cF9zZXR1cF9zeW1tZXRyaWNhbF9zcGxpdCwgcmVzdWx0cyBhcmUgdW5wcmVkaWN0YWJsZS4KPiAK PiBUaGF0J3Mgbm90aGluZyB5b3UgY2FuIHNvbHZlIGJ5IHNpbXBseSBjaGFuZ2luZyB0aGUgY2Fs bGluZyBvcmRlciBoZXJlLgo+IERSTSBwYW5lbCBpcyBjb21wbGV0ZWx5IG1pc3NpbmcgYW55IGlu ZnJhc3RydWN0dXJlIHRvIGFsbG93IHlvdSB0bwo+IHNhZmVseSBkZWFsIHdpdGggdGhhdCBraW5k IG9mIHNpdHVhdGlvbi4KClRoaXMgaXMgbm90IHRydWUgZm9yIERTSSBwYW5lbHMgLSBhdHRhY2gv ZGV0YWNoIGNhbGxiYWNrcyBhbGxvd3MgdG8gZG8KaXQgY29ycmVjdGx5LgoKPiAKPiBCdXQgaXQn cyBzb21ldGhpbmcgdGhhdCBJJ3ZlIGJlZW4gdHJ5aW5nIHRvIGZpeCBmb3IgdGhlIHBhc3QgY291 cGxlIG9mCj4gZGF5cy4KPiAKPj4gSWYgeW91IGxlYXZlIG93bmVyc2hpcCBvZiBkcm1fcGFuZWwg dG8gY29ubmVjdG9yIHlvdSBjYW4gcmV1c2UKPj4gc3luY2hyb25pemF0aW9uIG1lY2hhbmlzbXMg b2YgY29ubmVjdG9yL2RybSBpbnNpZGUgY29ubmVjdG9yLiBPdGhlcndpc2UKPj4geW91IHdpbGwg bmVlZCB0byBhZGQgYW5vdGhlciBsb2NrcyBpbiBkcm1fcGFuZWwuCj4+Cj4+IFlvdSBjYW4gbG9v ayBhdCBleHlub3NfZHJtX2RzaS5jIGNvZGUsIGVzcGVjaWFsbHk6Cj4+IC0gZXh5bm9zX2RzaV9k ZXRlY3QsCj4+IC0gZXh5bm9zX2RzaV9ob3N0X2F0dGFjaCwKPj4gLSBleHlub3NfZHNpX2hvc3Rf ZGV0YWNoLAo+Pgo+PiBhbmQgdXNhZ2Ugb2YgZHNpLT5wYW5lbF9ub2RlIGFuZCBkc2ktPnBhbmVs IHdpdGggZHJtIHN5bmNocm9uaXphdGlvbiB2aWEKPj4gZHJtX2hlbHBlcl9ocGRfaXJxX2V2ZW50 Lgo+IAo+IFRoZXJlIGFyZSBhIG51bWJlciBvZiB3YXlzIHRoYXQgb25lIGNvdWxkIHBvc3NpYmx5 IGltcGxlbWVudCB0aGlzLgoKSSBkbyBub3QgdGhpbmsgc28uIFRoZXJlIGFyZSBzaW1wbGUgcnVs ZXMgb2Ygc3luY2hyb25pemF0aW9uLCBpZiB5b3UKZm9sbG93IHRoZW0geW91IHdpbGwgdXN1YWxs eSBlbmQgdXAgd2l0aCBzaW1pbGFyIGRlc2lnbi4KCgo+IEkgZG8KPiBub3QgdGhpbmsgYW55IG9m IHRoZSBleGlzdGluZyBvbmVzIGlzIGFzIGdvb2QgYXMgaXQgY291bGQgYmUgYW5kIEkgdGhpbmsK PiB3ZSByZWFsbHkgb3VnaHQgdG8gc3RhbmRhcmRpemUgb24gaG93IHRvIGRvIHRoaXMgdG8gbWFr ZSBpdCBlYXNpZXIgZm9yCj4gb3RoZXIgZHJpdmVycyB0byBhZGFwdCBEUk0gcGFuZWxzIChhbmQg YnJpZGdlcyBmb3IgdGhhdCBtYXR0ZXIpLgo+IAo+IFVuZm9ydHVuYXRlbHkgYmVmb3JlIHdlIGhh dmUgYSBnb29kIHBsYW4gb24gaG93IHRvIGhhbmRsZSBwYW5lbHMgbW9yZQo+IHVuaWZvcm1seSBJ IGRvbid0IHNlZSBob3cgd2UgY2FuIHBvc3NpYmx5IG1ha2UgZXZlcnlib2R5IGhhcHB5LiBJdCBz ZWVtcwo+IGxpa2UgY3VycmVudGx5IHdoYXRldmVyIHBhbmVsIGlzIHdyaXR0ZW4gZm9yIEV4eW5v cyBpc24ndCBnb2luZyB0byB3b3JrCj4gb24gVGVncmEgYW5kIHZpY2UtdmVyc2EuIFNvIGhvdyBh Ym91dCB3ZSBtZXJnZSB0aGlzIHNlcmllcyBhbmQgSSdsbCBsb29rCj4gaW50byBob3cgd2UgY2Fu IHVuaWZ5IHRoaW5ncz8KClRoaXMgaXMgbm90IGFib3V0IGNvbXBhdGliaWxpdHkgYmV0d2VlbiBk aWZmZXJlbnQgaG9zdHMgYW5kIHBhbmVscywgdGhpcwppcyBqdXN0IGFib3V0IG1ha2luZyBzaGFy cCBwYW5lbCBkcml2ZXIgd29yayBjb3JyZWN0bHkgd2l0aCB0ZWdyYSBkc2kgaG9zdC4KSSB0aGlu ayBpdCBpcyBxdWl0ZSBlYXN5IHRvIGZpeCBhbmQgaXQgd291bGQgYmUgZ29vZCB0byBkbyBpdCBi ZWZvcmUKbWVyZ2luZy4KClVuaWZpY2F0aW9uIGlzIGFub3RoZXIgaXNzdWUgd2hpY2ggY2FuIGJl IHNvbHZlZCBsYXRlci4KClJlZ2FyZHMKQW5kcnplagoKPiAKPiBJJ2QgYXBwcmVjaWF0ZSBhbnkg aWRlYXMgb24gaG93IHN1Y2ggYSB1bmlmaWNhdGlvbiBjb3VsZCBsb29rLgo+IAo+IFRoaWVycnkK PiAKPiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK