From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 1/4 v3] drm: Add support of ARC PGU display controller Date: Fri, 18 Mar 2016 18:23:28 +0100 Message-ID: <20160318172327.GH14170@phenom.ffwll.local> References: <1457710959-9562-1-git-send-email-abrodkin@synopsys.com> <1457710959-9562-2-git-send-email-abrodkin@synopsys.com> <20160314070009.GN14170@phenom.ffwll.local> <1457954159.3306.24.camel@synopsys.com> <20160315081056.GS14170@phenom.ffwll.local> <1458055486.4174.16.camel@synopsys.com> <20160315155940.GL14170@phenom.ffwll.local> <1458246430.3134.14.camel@synopsys.com> <20160318080257.GD14170@phenom.ffwll.local> <1458288709.12484.15.camel@synopsys.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 16F486E408 for ; Fri, 18 Mar 2016 17:22:41 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id l124so7589894wmf.2 for ; Fri, 18 Mar 2016 10:22:41 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1458288709.12484.15.camel@synopsys.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Alexey Brodkin Cc: "Jose.Abreu@synopsys.com" , "linux-snps-arc@lists.infradead.org" , "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBNYXIgMTgsIDIwMTYgYXQgMDg6MTE6NDlBTSArMDAwMCwgQWxleGV5IEJyb2RraW4g d3JvdGU6Cj4gSGkgRGFuaWVsLAo+IAo+IE9uIEZyaSwgMjAxNi0wMy0xOCBhdCAwOTowMiArMDEw MCwgRGFuaWVsIFZldHRlciB3cm90ZToKPiA+IE9uIFRodSwgTWFyIDE3LCAyMDE2IGF0IDA4OjI3 OjEwUE0gKzAwMDAsIEFsZXhleSBCcm9ka2luIHdyb3RlOgo+ID4gPiAKPiA+ID4gSGkgRGFuaWVs LAo+ID4gPiAKPiA+ID4gT24gVHVlLCAyMDE2LTAzLTE1IGF0IDE2OjU5ICswMTAwLCBEYW5pZWwg VmV0dGVyIHdyb3RlOgo+ID4gPiA+IAo+ID4gPiA+IE9uIFR1ZSwgTWFyIDE1LCAyMDE2IGF0IDAz OjI0OjQ2UE0gKzAwMDAsIEFsZXhleSBCcm9ka2luIHdyb3RlOgo+ID4gPiA+ID4gCj4gPiA+ID4g PiBPbiBUdWUsIDIwMTYtMDMtMTUgYXQgMDk6MTAgKzAxMDAsIERhbmllbCBWZXR0ZXIgd3JvdGU6 Cj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBPbiBNb24sIE1hciAxNCwgMjAxNiBhdCAxMToxNTo1 OUFNICswMDAwLCBBbGV4ZXkgQnJvZGtpbiB3cm90ZToKPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ ID4gPiBPbiBNb24sIDIwMTYtMDMtMTQgYXQgMDg6MDAgKzAxMDAsIERhbmllbCBWZXR0ZXIgd3Jv dGU6Cj4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+IE9uIEZyaSwgTWFyIDExLCAyMDE2 IGF0IDA2OjQyOjM2UE0gKzAzMDAsIEFsZXhleSBCcm9ka2luIHdyb3RlOgo+ID4gPiA+ID4gPiA+ ID4gPiAKPiA+ID4gPiA+ID4gPiA+ID4gwqAKPiA+ID4gPiA+ID4gPiA+ID4gK3N0YXRpYyBzdHJ1 Y3QgZHJtX2RyaXZlciBhcmNwZ3VfZHJtX2RyaXZlciA9IHsKPiA+ID4gPiA+ID4gPiA+ID4gKwku ZHJpdmVyX2ZlYXR1cmVzID0gRFJJVkVSX01PREVTRVQgfCBEUklWRVJfR0VNIHwgRFJJVkVSX1BS SU1FIHwKPiA+ID4gPiA+ID4gPiA+ID4gKwkJCcKgwqDCoERSSVZFUl9BVE9NSUMsCj4gPiA+ID4g PiA+ID4gPiA+ICsJLnByZWNsb3NlID0gYXJjcGd1X3ByZWNsb3NlLAo+ID4gPiA+ID4gPiA+ID4g PiArCS5sYXN0Y2xvc2UgPSBhcmNwZ3VfbGFzdGNsb3NlLAo+ID4gPiA+ID4gPiA+ID4gPiArCS5u YW1lID0gImRybS1hcmNwZ3UiLAo+ID4gPiA+ID4gPiA+ID4gPiArCS5kZXNjID0gIkFSQyBQR1Ug Q29udHJvbGxlciIsCj4gPiA+ID4gPiA+ID4gPiA+ICsJLmRhdGUgPSAiMjAxNjAyMTkiLAo+ID4g PiA+ID4gPiA+ID4gPiArCS5tYWpvciA9IDEsCj4gPiA+ID4gPiA+ID4gPiA+ICsJLm1pbm9yID0g MCwKPiA+ID4gPiA+ID4gPiA+ID4gKwkucGF0Y2hsZXZlbCA9IDAsCj4gPiA+ID4gPiA+ID4gPiA+ ICsJLmZvcHMgPSAmYXJjcGd1X2RybV9vcHMsCj4gPiA+ID4gPiA+ID4gPiA+ICsJLmxvYWQgPSBh cmNwZ3VfbG9hZCwKPiA+ID4gPiA+ID4gPiA+ID4gKwkudW5sb2FkID0gYXJjcGd1X3VubG9hZCwK PiA+ID4gPiA+ID4gPiA+IExvYWQgYW5kIHVubG9hZCBob29rcyBhcmUgZGVwcmVjYXRlZCAoaXQn cyBhIGNsYXNzaWMgbWlkbGF5ZXIgbWlzdGFrZSkuCj4gPiA+ID4gPiA+ID4gPiBQbGVhc2UgdXNl IGRybV9kZXZfYWxsb2MvcmVnaXN0ZXIgcGFpcnMgZGlyZWN0bHkgaW5zdGVhZCwgYW5kIHB1dCB5 b3VyCj4gPiA+ID4gPiA+ID4gPiBkZXZpY2Ugc2V0dXAgY29kZSBpbi1iZXR3ZWVuLiBTaW1pbGFy IGZvciB1bmxvYWRpbmcuIFRoZXJlJ3MgYSBidW5jaCBvZgo+ID4gPiA+ID4gPiA+ID4gZXhhbXBs ZSBkcml2ZXJzIGNvbnZlcnRlZCBhbHJlYWR5Lgo+ID4gPiA+ID4gPiA+IE9rIEkgdG9vayAiYXRt ZWwtaGxjZGMiIGFzIGV4YW1wbGUuCj4gPiA+ID4gPiA+ID4gQW5kIHRoYXQncyBpbnRlcmVzdGlu Zy4KPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBJZiBJIHB1dCBtecKgYXJjcGd1X2xvYWQo KSBpbiBiZXR3ZWVuwqBkcm1fZGV2X2FsbG9jKCkgYW5kCj4gPiA+ID4gPiA+ID4gZHJtX2Rldl9y ZWdpc3RlcigpIHRoZW4gSSdtIGdldHRpbmcgdGhpcyBvbiB0aGUgZHJpdmVyIHByb2JlOgo+ID4g PiA+ID4gPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+OC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gPiA+ID4gPiBbZHJtXSBJbml0aWFsaXplZCBkcm0g MS4xLjAgMjAwNjA4MTAKPiA+ID4gPiA+ID4gPiBhcmNwZ3UgZTAwMTcwMDAucGd1OiBhcmNfcGd1 IElEOiAweGFiYmFiYWFiCj4gPiA+ID4gPiA+ID4gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0t LS0tLS0tLS0tCj4gPiA+ID4gPiA+ID4gV0FSTklORzogQ1BVOiAwIFBJRDogMSBhdCBsaWIva29i amVjdC5jOjI0NCBrb2JqZWN0X2FkZF9pbnRlcm5hbCsweDE3Yy8weDQ5OCgpCj4gPiA+ID4gPiA+ ID4ga29iamVjdF9hZGRfaW50ZXJuYWwgZmFpbGVkIGZvciBjYXJkMC1IRE1JLUEtMSAoZXJyb3I6 IC0yIHBhcmVudDogY2FyZDApCj4gPiA+ID4gPiA+ID4gTW9kdWxlcyBsaW5rZWQgaW46Cj4gPiA+ ID4gPiA+ID4gQ1BVOiAwIFBJRDogMSBDb21tOiBzd2FwcGVyIE5vdCB0YWludGVkIDQuNS4wLXJj My0wMTA2Mi1nYTQ0NzgyMi1kaXJ0eSAjMTcKPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBT dGFjayBUcmFjZToKPiA+ID4gPiA+ID4gPiDCoCBhcmNfdW53aW5kX2NvcmUuY29uc3Rwcm9wLjEr MHhhNC8weDExMAo+ID4gPiA+ID4gPiA+IMKgIHdhcm5fc2xvd3BhdGhfZm10KzB4NmUvMHhmYwo+ ID4gPiA+ID4gPiA+IMKgIGtvYmplY3RfYWRkX2ludGVybmFsKzB4MTdjLzB4NDk4Cj4gPiA+ID4g PiA+ID4gwqAga29iamVjdF9hZGQrMHg5OC8weGU0Cj4gPiA+ID4gPiA+ID4gwqAgZGV2aWNlX2Fk ZCsweGM2LzB4NzM0Cj4gPiA+ID4gPiA+ID4gwqAgZGV2aWNlX2NyZWF0ZV93aXRoX2dyb3Vwcysw eDEyYS8weDE0NAo+ID4gPiA+ID4gPiA+IMKgIGRybV9zeXNmc19jb25uZWN0b3JfYWRkKzB4NTQv MHhlOAo+ID4gPiA+ID4gPiA+IMKgIGFyY3BndV9kcm1faGRtaV9pbml0KzB4ZDQvMHgxN2MKPiA+ ID4gPiA+ID4gPiDCoCBhcmNwZ3VfcHJvYmUrMHgxMzgvMHgyNGMKPiA+ID4gPiA+ID4gPiDCoCBw bGF0Zm9ybV9kcnZfcHJvYmUrMHgyZS8weDZjCj4gPiA+ID4gPiA+ID4gwqAgcmVhbGx5X3Byb2Jl KzB4MjEyLzB4MzVjCj4gPiA+ID4gPiA+ID4gwqAgX19kcml2ZXJfYXR0YWNoKzB4OTAvMHg5NAo+ ID4gPiA+ID4gPiA+IMKgIGJ1c19mb3JfZWFjaF9kZXYrMHg0Ni8weDgwCj4gPiA+ID4gPiA+ID4g wqAgYnVzX2FkZF9kcml2ZXIrMHgxNGUvMHgxYjQKPiA+ID4gPiA+ID4gPiDCoCBkcml2ZXJfcmVn aXN0ZXIrMHg2NC8weDEwOAo+ID4gPiA+ID4gPiA+IMKgIGRvX29uZV9pbml0Y2FsbCsweDg2LzB4 MTk0Cj4gPiA+ID4gPiA+ID4gwqAga2VybmVsX2luaXRfZnJlZWFibGUrMHhmMC8weDE4OAo+ID4g PiA+ID4gPiA+IC0tLVsgZW5kIHRyYWNlIGM2NzE2NmFkNDNkZGNjZTIgXS0tLQo+ID4gPiA+ID4g PiA+IFtkcm06ZHJtX3N5c2ZzX2Nvbm5lY3Rvcl9hZGRdIGFkZGluZyAiSERNSS1BLTEiIHRvIHN5 c2ZzCj4gPiA+ID4gPiA+ID4gW2RybTpkcm1fc3lzZnNfY29ubmVjdG9yX2FkZF0gKkVSUk9SKiBm YWlsZWQgdG8gcmVnaXN0ZXIgY29ubmVjdG9yIGRldmljZTogLTIKPiA+ID4gPiA+ID4gPiBhcmNw Z3UgZTAwMTcwMDAucGd1OiBmYWlsZWQgdG8gcmVnaXRlciBEUk0gY29ubmVjdG9yIGFuZCBoZWxw ZXIgZnVuY3MKPiA+ID4gPiA+ID4gPiBhcmNwZ3U6IHByb2JlIG9mIGUwMDE3MDAwLnBndSBmYWls ZWQgd2l0aCBlcnJvciAtMgo+ID4gPiA+ID4gPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0+OC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gPiA+ID4gPiAK PiA+ID4gPiA+ID4gPiBCdXQgaWYgSSBtb3ZlIGFyY3BndV9sb2FkKCkgYWZ0ZXIgZHJtX2Rldl9y ZWdpc3RlcigpIHRoZW4gZXZlcnl0aGluZwo+ID4gPiA+ID4gPiA+IHN0YXJ0cyBwcm9wZXJseSBh bmQgSSBtYXkgc2VlIEhETUkgc2NyZWVuIHdvcmtzIHBlcmZlY3RseSBmaW5lLgo+ID4gPiA+ID4g PiA+IAo+ID4gPiA+ID4gPiA+IEFueSB0aG91Z2h0cz8KPiA+ID4gPiA+ID4gT29wcywgeWVhaCBt aXNzZWQgdGhhdCBkZXRhaWwuIElmIHlvdSBsb29rIGF0IGF0bWVsIGl0IGhhcyBhIGxvb3AgdG8K PiA+ID4gPiA+ID4gcmVnaXN0ZXIgYWxsIHRoZSBkcm0gY29ubmVjdG9ycyBfYWZ0ZXJfIGNhbGxp bmcgZHJtX2Rldl9yZWdpc3RlcigpLgo+ID4gPiA+ID4gPiBUb3RhbGx5IGZvcmdvdCBhYm91dCB0 aGF0LiBDYW4geW91IHBscwo+ID4gPiA+ID4gPiAtIEV4dHJhY3QgYSBuZXcgZHJtX2Nvbm5lY3Rv cl9yZWdpc3Rlcl9hbGwoKSBmdW5jdGlvbgo+ID4gPiA+ID4gPiDCoCAoYXRtZWxfaGxjZGNfZGNf Y29ubmVjdG9yX3BsdWdfYWxsIHNlZW1zIHRvIGJlIHRoZSBiZXN0IHRlbXBsYXRlKSwKPiA+ID4g PiA+ID4gwqAgaW5jbHVkaW5nIGtlcm5lbGRvYy4KPiA+ID4gPiA+ID4gLSBBZGp1c3Qga2VybmVs ZG9jIG9mIGRybV9kZXZfcmVnaXN0ZXIoKSB0byBtZW50aW9uCj4gPiA+ID4gPiA+IMKgIGRybV9j b25uZWN0b3JfcmVnaXN0ZXJfYWxsKCkgYW5kIHRoYXQgb3JkZXJpbmcgY29uc3RyYWludC4KPiA+ ID4gPiA+ID4gLSBSb2xsIHRoYXQgaGVscGVyIG91dCB0byBhbGwgdGhlIGRyaXZlcnMgdGhhdCBj dXJyZW50bHkgaGFuZC1yb2xsIGl0IChvbmUKPiA+ID4gPiA+ID4gwqAgcGF0Y2ggcGVyIGRyaXZl cikuCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBJIGtub3cgYSBiaXQgb2Ygd29yayBidXQgaW1v IG5vdCB0b28gbXVjaCwgYW5kIGJ5IGRvaW5nIHNvbWUgc21hbGwKPiA+ID4gPiA+ID4gcmVmYWN0 b3JpbmcgZXZlcnkgdGltZSBzb21lb25lIHN0dW1ibGVzIG92ZXIgYSBkcm0gcGl0ZmFsbCB3ZSBr ZWVwIHRoZQo+ID4gPiA+ID4gPiBzdWJzeXN0ZW0gY2xlYW4mZWFzeSB0byB1bmRlcnN0YW5kLiBZ b3UncmUgdXAgZm9yIHRoaXM/IFdvdWxkIGJlIGEgcHJlcAo+ID4gPiA+ID4gPiBzZXJpZXMsIEkn bGwgaGFwcGlseSByZXZpZXcgaXQgdG8gZ2V0IGl0IG1lcmdlZCBmYXN0LiBKdXN0IGEgZmV3IHdl ZWtzIGFnbwo+ID4gPiA+ID4gPiBJIG1lcmdlZCAyMCsgcGF0Y2hlcyB0byBtYWtlIC0+bW9kZV9m aXh1cCBob29rcyBvcHRpb25hbCBhbmQgcmVtb3ZlIGR1bW15Cj4gPiA+ID4gPiA+IG9uZXMgYWxs IG92ZXIgdGhlIHN1YnN5c3RlbSwgaW4gb3RoZXIgd29yZHM6IFlvdSdsbCBoYXZlIG15IGZ1bGwg YXR0ZW50aW9uCj4gPiA+ID4gPiA+IDstKQo+ID4gPiA+ID4gU3VyZSwgSSdtIHJlYWR5IHRvIHBh eSB0aGF0IHByaWNlIDopCj4gPiA+ID4gPiBTdGF5IHR1bmVkIGFuZCBwYXRjaGVzIHdpbGwgZm9s bG93Lgo+ID4gPiA+IEF3ZXNvbWUsIGxvb2tpbmcgZm9yd2FyZCB0byB5b3VyIHBhdGNoZXMuCj4g PiA+IFNvcnJ5IGl0IHRvb2sgbG9uZ2VyIGZvciBtZSB0byBmaW5hbGx5IHB1dCBteSBoYW5kcyBv biB0aGF0IHdvcmsgYnV0IGFueXdheXMuCj4gPiA+IAo+ID4gPiBJJ20gbG9va2luZyBub3cgYXQg aG93IGRyaXZlcnMgdXNlIGV4aXN0aW5nwqBkcm1fY29ubmVjdG9yX3VucGx1Z19hbGwoKSBhbmQK PiA+ID4gdGhlaXIgaW1wbGVtZW50YXRpb24gb2Ygd2hhdCB3b3VsZCBiZcKgZHJtX2Nvbm5lY3Rv cl9wbHVnX2FsbCgpIGFuZCBzZWUKPiA+ID4gaW4gc29tZSBpbXBsZW1lbnRhdGlvbnMgcGVvcGxl IHdyYXBzIGJvdGggaGVscGVycyB3aXRoCj4gPiA+IG11dGV4X3tsb2NrfHVubG9ja30oJmRldi0+ bW9kZV9jb25maWcubXV0ZXgpLiBCdXQgbm90IGV2ZXJ5Ym9keSBkb2VzIHRoaXMuCj4gPiA+IAo+ ID4gPiBTbyBlc3NlbnRpYWxseSBteSBxdWVzdGlvbnMgYXJlOgo+ID4gPiDCoFsxXSBJZiBpdCdz IG5lY2Vzc2FyeSB0byBnZXQgaG9sZCBvZiB0aGF0IG11dGV4IGJlZm9yZSBleGVjdXRpb24gb2Yg ZWl0aGVyIGhlbHBlcj8KPiA+IEluIHBsdWdfYWxsIEkgdGhpbmsgc28sIHVucGx1Z19hbGwgaGFz IGEgRklYTUUgY29tbWVudCBhYm91dCBob3cgbG9ja2luZwo+ID4gYWdhaW5zdCBzeXNmcyBpcyBo b3JyaWJsZSBhbmQgaXQncyBhbGwgZ29pbmcgdG8gYmxvdyB1cC4gQnV0IHdlIGRpZAo+ID4gcmVj ZW50bHkgY2hhbmdlIHRoZSBjb25uZWN0b3Igc3lzZnMgZmlsZXMsIHNvIG1heWJlIHRoYXQncyBm aXhlZCBub3cuIE5vdAo+ID4gc3VyZS4KPiA+Cj4gPiA+IMKgWzJdIElmIHRoaXMgaXMgcmVhbGx5 IG5lY2Vzc2FyeSB0aGVuIElNSE8gaXQgbWFrZXMgc2Vuc2UgdG8gbW92ZSBtdXRleF9sb2NrL3Vu bG9jawo+ID4gPiDCoCDCoCDCoGluIGhlbHBlcnMgaXRzZWxmLCByaWdodD8KPiA+IFllYWgsIGxv Y2tpbmcgaW4gdGhlIGhlbHBlciBtYWtlcyBpbW8gc2Vuc2UuCj4gCj4gSG0sIG5vdyBJJ20gZXZl biBtb3JlIGNvbmZ1c2VkIDopCj4gQWJvdmUgeW91J3JlIG5vdCBzdXJlIGlmIHRoaXMgbG9ja2lu ZyBpcyBzYWZlIChhdCBsZWFzdCBvbiB1bnBsdWcpIGJ1dCBoZXJlIHlvdSBzYXkKPiBpdCBtYWtl cyBzZW5zZSAobm90IG1lbnRpb25pbmcgdGhlIGNhc2UgLSBib3RoIGhlbHBlcnMgb3Igb25seSBv biAicGx1Z2dpbmciKS4KPiAKPiBJIG1heSBpbmRlZWQgdHJ5IHRvIGVtYmVkIG11dGV4IGxvY2tz IGluIGJvdGggaGVscGVycyBidXQgd2hhdCBpZiBpdCB3b3JrcyBmb3IgbWUgYnV0Cj4gb3RoZXJz IHdpbGwgZ2V0IGJyb2tlbiBzdHVmZj8KClNvcnJ5LCBJIG1lYW50IG9ubHkgZW1iZWQgaXQgaXQg Zm9yIHJlZ2lzdGVyX2FsbC4gQW5kIGtlZXAgdGhlIEZJWE1FCmNvbW1lbnQgZm9yIHVucmVnaXN0 ZXJfYWxsICh3ZWxsIHVucGx1Z19hbGwgYXMgaXQncyBjYWxsZWQgc3RpbGwpLiBGaXhpbmcKdXAg c3lzZnMgdnMuIG1vZGVfY29uZmlnLm11dGV4IGlzIGEgbG90IG1vcmUgd29yayB0aGFuIGp1c3Qg dGhpcy4KCj4gPiBBc2lkZTogSSdkIHZvdGUgZm9yCj4gPiByZWdpc3Rlcl9hbGwvdW5yZWdpc3Rl cl9hbGwgZm9yIGNvbnNpc3RlbmN5IHdpdGggZHJtX2Nvbm5lY3Rvcl9yZWdpc3Rlci4KPiA+IHJl Z2lzdGVyL3VucmVnaXN0ZXIgaGFzIGEgdmVyeSBjbGVhciBtZWFuaW5nIG9mICJwdWJsaXNoIHRo ZSBvYmplY3QgdG8KPiA+IHVzZXJzcGFjZS9vdGhlciBrZXJuZWwgc3Vic3lzdGVtcyIuIHBsdWcv dW5wbHVnIGlzIGNvbmZ1c2luZyBpbiBEUk0KPiA+IGJlY2F1c2Ugb2YgaG90cGx1Zy4KPiAKPiBX ZWxsIGJ1dCB3aGF0IHNob3VsZCBoYXBwZW4gdG8gZXhpc3RpbmcgdW5wbHVnKCkgdGhlbj8KPiBT aG91bGQgSSByZW5hbWUgaXQgdG8gdW5yZWdpc3Rlcl9hbGwoKSBpbiB0aGUgc2FtZSBjaGFuZ2U/ CgpZZXMsIHRoYXQncyB3aGF0IEknZCBkby4gSSB0aGluayB0aGF0J3MgY2xlYXJlciwgaWYgd2Ug Z28gd2l0aCBhIHN0cmljdApkaXN0aW5jdGlvbiBiZXR3ZWVuIHJlZ2lzdGVyL3VucmVnaXN0ZXIg YW5kIGhvdHBsdWcgaGFuZGxpbmcuCi1EYW5pZWwKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUg RW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5n IGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=