From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH] drm/doc: Document uapi requirements in DRM Date: Mon, 02 Jan 2017 00:40:59 +0200 Message-ID: <1733448.yI717seRR3@avalon> References: <1471639838-25591-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from galahad.ideasonboard.com (galahad.ideasonboard.com [IPv6:2001:4b98:dc2:45:216:3eff:febb:480d]) by gabe.freedesktop.org (Postfix) with ESMTPS id 232D66E384 for ; Sun, 1 Jan 2017 22:41:00 +0000 (UTC) In-Reply-To: <1471639838-25591-1-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Liviu Dudau , DRI Development , Gerd Hoffmann , Daniel Vetter , Thomas Hellstrom , Alexey Brodkin , Xinliang Liu , Tomi Valkeinen , Ben Skeggs , Russell King , Alex Deucher , Maxime Ripard , Christian =?ISO-8859-1?Q?K=F6nig?= List-Id: dri-devel@lists.freedesktop.org SGkgRGFuaWVsLAoKVGhhbmsgeW91IGZvciB0aGUgcGF0Y2guCgpPbiBGcmlkYXkgMTkgQXVnIDIw MTYgMjI6NTA6MzggRGFuaWVsIFZldHRlciB3cm90ZToKPiBFdmVyeW9uZSBrbm93cyB0aGVtLCBl eGNlcHQgYWxsIHRoZSBuZXcgZm9sa3Mgam9pbmluZyBmcm9tIHRoZSBBUk0KPiBzaWRlIGhhdmVu J3QgbGl2ZWQgdGhyb3VnaCBhbGwgdGhlIHBhaW4gb2YgdGhlIHBhc3QgeWVhcnMgYW5kIGFyZQo+ IGVudGlyZWx5IHN1cnByaXNlZCB3aGVuIEkgcmFpc2UgdGhpcy4gRGVmaW5pdGVseSB0aW1lIHRv IGRvY3VtZW50Cj4gdGhpcy4KPiAKPiBMYXN0IHRpbWUgdGhpcyB3YXMgYSBiaWcgZGlzY3Vzc2lv biB3YXMgYWJvdXQgNiB5ZWFycyBhZ28sIHdoZW4gcWNvbQo+IHRyaWVkIHRvIGxhbmQgYSBrZXJu ZWwgZHJpdmVyIHdpdGhvdXQgdXNlcnNwYWNlLiBEYXZlIEFpcmxpZSBtYWRlIHRoZQo+IHJ1bGVz IHJlYWxseSBjbGVhcjoKPiAKPiBodHRwOi8vYWlybGllZC5saXZlam91cm5hbC5jb20vNzMxMTUu aHRtbAo+IAo+IFRoaXMgd3JpdGUtdXAgaGVyZSBpcyBlc3NlbnRpYWxseSB3aGF0IEkndmUgcHV0 IGludG8gYSBwcmVzZW50YXRpb24gYQo+IHdoaWxlIGFnbywgd2hpY2ggd2FzIGFsc28gcmV2aWV3 ZWQgYnkgRGF2ZToKPiAKPiBodHRwOi8vYmxvZy5mZndsbC5jaC8yMDE1LzA1L2dmeC1rZXJuZWwt dXBzdHJlYW1pbmctcmVxdWlyZW1lbnRzLmh0bWwKPiAKPiBDYzogRGF2ZSBBaXJsaWUgPGFpcmxp ZWRAZ21haWwuY29tPgo+IENjOiBPZGVkIEdhYmJheSA8b2RlZC5nYWJiYXlAZ21haWwuY29tPgo+ IENjOiBSdXNzZWxsIEtpbmcgPHJtaytrZXJuZWxAYXJtbGludXgub3JnLnVrPgo+IENjOiBUb21p IFZhbGtlaW5lbiA8dG9taS52YWxrZWluZW5AdGkuY29tPgo+IENjOiBFcmljIEFuaG9sdCA8ZXJp Y0BhbmhvbHQubmV0Pgo+IENjOiBUaG9tYXMgSGVsbHN0cm9tIDx0aGVsbHN0cm9tQHZtd2FyZS5j b20+Cj4gQ2M6IFNpbmNsYWlyIFllaCA8c3llaEB2bXdhcmUuY29tPgo+IENjOiBMdWNhcyBTdGFj aCA8bC5zdGFjaEBwZW5ndXRyb25peC5kZT4KPiBDYzogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmph bWluLmdhaWduYXJkQGxpbmFyby5vcmc+Cj4gQ2M6IE1hcmsgWWFvIDxtYXJrLnlhb0Byb2NrLWNo aXBzLmNvbT4KPiBDYzogTGF1cmVudCBQaW5jaGFydCA8bGF1cmVudC5waW5jaGFydEBpZGVhc29u Ym9hcmQuY29tPgo+IENjOiBCZW4gU2tlZ2dzIDxic2tlZ2dzQHJlZGhhdC5jb20+Cj4gQ2M6IFJv YiBDbGFyayA8cm9iZGNsYXJrQGdtYWlsLmNvbT4KPiBDYzogQ0sgSHUgPGNrLmh1QG1lZGlhdGVr LmNvbT4KPiBDYzogWGlubGlhbmcgTGl1IDx6LmxpdXhpbmxpYW5nQGhpc2lsaWNvbi5jb20+Cj4g Q2M6IFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+Cj4gQ2M6IFN0ZWZhbiBB Z25lciA8c3RlZmFuQGFnbmVyLmNoPgo+IENjOiBJbmtpIERhZSA8aW5raS5kYWVAc2Ftc3VuZy5j b20+Cj4gQ2M6IE1heGltZSBSaXBhcmQgIDxtYXhpbWUucmlwYXJkQGZyZWUtZWxlY3Ryb25zLmNv bT4KPiBDYzogQm9yaXMgQnJlemlsbG9uIDxib3Jpcy5icmV6aWxsb25AZnJlZS1lbGVjdHJvbnMu Y29tPgo+IENjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAbGludXguaW50ZWwuY29tPgo+IENj OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KPiBDYzogVGhpZXJyeSBS ZWRpbmcgPHRoaWVycnkucmVkaW5nQGdtYWlsLmNvbT4KPiBDYzogQ2hyaXN0aWFuIEvDtm5pZyA8 Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgo+IENjOiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5k ZXVjaGVyQGFtZC5jb20+Cj4gQ2M6IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgo+ IENjOiBCcmlhbiBTdGFya2V5IDxicmlhbi5zdGFya2V5QGFybS5jb20+Cj4gQ2M6IExpdml1IER1 ZGF1IDxsaXZpdS5kdWRhdUBhcm0uY29tPgo+IENjOiBBbGV4ZXkgQnJvZGtpbiA8YWJyb2RraW5A c3lub3BzeXMuY29tPgo+IEFja2VkLWJ5OiBEYXZlIEFpcmxpZSA8YWlybGllZEBnbWFpbC5jb20+ Cj4gU2lnbmVkLW9mZi1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+ Cj4gLS0tCj4gIERvY3VtZW50YXRpb24vZ3B1L2RybS11YXBpLnJzdCB8IDY3ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAxIGZpbGUgY2hhbmdlZCwgNjcgaW5zZXJ0 aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dwdS9kcm0tdWFwaS5yc3Qg Yi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0tdWFwaS5yc3QKPiBpbmRleCA5NDg3NjkzOGFlZjMuLmE3 ZTNhYTI3MTY3ZCAxMDA2NDQKPiAtLS0gYS9Eb2N1bWVudGF0aW9uL2dwdS9kcm0tdWFwaS5yc3QK PiArKysgYi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0tdWFwaS5yc3QKPiBAQCAtMzYsNiArMzYsNzMg QEAgUHJpbWFyeSBOb2RlcywgRFJNIE1hc3RlciBhbmQgQXV0aGVudGljYXRpb24KPiAgT3Blbi1T b3VyY2UgVXNlcnNwYWNlIFJlcXVpcmVtZW50cwo+ICA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Cj4gCj4gK1RoZSBEUk0gc3Vic3lzdGVtIGhhcyBzdHJpY3RlciByZXF1aXJlbWVu dHMgb24gd2hhdCB0aGUgdXNlcnNwYWNlIHNpZGUgZm9yCj4gbmV3ICt1QVBJIG5lZWRzIHRvIGxv b2sgbGlrZS4gVGhpcyBzZWN0aW9uIGhlcmUgZXhwbGFpbnMgd2hhdCBleGFjdGx5IHRob3NlCj4g K3JlcXVpcmVtZW50cyBhcmUsIGFuZCB3aHkgdGhleSBleGlzdC4KPiArCj4gK1RoZSBzaG9ydCBz dW1tYXJ5IGlzIHRoYXQgYW55IGFkZGl0aW9uIG9mIERSTSB1QVBJIHJlcXVpcmVzIGNvcnJlc3Bv bmRpbmcKPiArb3Blbi1zb3VyY2VkIHVzZXJzcGFjZSBwYXRjaGVzLCBhbmQgdGhvc2UgcGF0Y2hl cyBtdXN0IGJlIHJldmlld2VkIGFuZAo+IHJlYWR5IGZvciArbWVyZ2luZyBpbnRvIGEgc3VpdGFi bGUgYW5kIGNhbm9uaWNhbCB1cHN0cmVhbSBwcm9qZWN0Lgo+ICsKPiArR0ZYIGRldmljZXMgKGJv dGggZGlzcGxheSBhbmQgcmVuZGVyL0dQVSBzaWRlKSBhcmUgcmVhbGx5IGNvbXBsZXggYml0cyBv Zgo+IGhhcmR3YXJlLCArd2l0aCB1c2Vyc3BhY2UgYW5kIGtlcm5lbCBieSBuZWNlc3NpdHkgaGF2 aW5nIHRvIHdvcmsgdG9nZXRoZXIKPiByZWFsbHkgY2xvc2VseS4gK1RoZSBpbnRlcmZhY2VzLCBm b3IgcmVuZGVyaW5nIGFuZCBtb2Rlc2V0dGluZyBtdXN0IGJlCj4gZXh0cmVtZWx5IHdpZGUgYW5k ICtmbGV4aWJsZSwgYW5kIHRoZXJlZm9yZSBpdCBpcyBhbG1vc3QgYWx3YXlzIGltcG9zc2libGUK PiB0byBwcmVjaXNlbHkgZGVmaW5lIHRoZW0gK2ZvciBldmVyeSBwb3NzaWJsZSBjb3JuZXIgY2Fz ZS4gVGhpcyBpbiB0dXJucwo+IG1ha2VzIGl0IHJlYWxseSBwcmFjdGljYWxseSAraW5mZWFzaWJs ZSB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gYmVoYXZpb3VyCj4gdGhhdCdzIHJlcXVpcmVkIGJ5 IHVzZXJzcGFjZSwgYW5kICt3aGljaCBtdXN0IG5vdCBiZSBjaGFuZ2VkIHRvIGF2b2lkCj4gcmVn cmVzc2lvbnMsIGFuZCBiZWhhdmlvdXIgd2hpY2ggaXMgb25seSBhbiArYWNjaWRlbnRhbCBhcnRp ZmFjdCBvZiB0aGUKPiBjdXJyZW50IGltcGxlbWVudGF0aW9uLgoKV2hpbGUgSSBhZ3JlZSB0aGF0 IHRoaXMgaXMgYSBwcm9wZXIgZGVzY3JpcHRpb24gb2YgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhl IApEUk0vS01TIHN1YnN5c3RlbSwgSSBkb24ndCBsaWtlIGhvdyBpdCBpbXBsaWVzIHRoYXQgc2hp cHBpbmcgY29kZSBpcyBhbiAKYWNjZXB0YWJsZSByZXBsYWNlbWVudCBmb3IgZG9jdW1lbnRhdGlv bi4gV2UgbmVlZCB0byBhaW0gYXQgZG9jdW1lbnRpbmcgdGhlIApEUk0vS01TIHVzZXJzcGFjZSBB UEkgdG8gYSBsZXZlbCBvZiBkZXRhaWwgdGhhdCB3aWxsIGNvdmVyIHRoZSB2YXN0IG1ham9yaXR5 IApvZiBjYXNlcyAoYmUgdGhleSBjb3JuZXIgb3Igcm91bmQpLCBpZiBub3QgYWxsIG9mIHRoZW0u Cgo+ICtXaXRob3V0IGFjY2VzcyB0byB0aGUgZnVsbCBzb3VyY2UgY29kZSBvZiBhbGwgdXNlcnNw YWNlIHVzZXJzIHRoYXQgbWVhbnMgaXQKPiArYmVjb21lcyBpbXBvc3NpYmxlIHRvIGNoYW5nZSB0 aGUgaW1wbGVtZW50YXRpb24gZGV0YWlscywgc2luY2UgdXNlcnNwYWNlCj4gY291bGQgK2RlcGVu ZCB1cG9uIHRoZSBhY2NpZGVudGFsIGJlaGF2aW91ciBvZiB0aGUgY3VycmVudCBpbXBsZW1lbnRh dGlvbgo+IGluIG1pbnV0ZSArZGV0YWlscy4gQW5kIGRlYnVnZ2luZyBzdWNoIHJlZ3Jlc3Npb25z IHdpdGhvdXQgYWNjZXNzIHRvIHNvdXJjZQo+IGNvZGUgaXMgcHJldHR5ICttdWNoIGltcG9zc2li bGUuIEFzIGEgY29uc2VxdWVuY2UgdGhpcyBtZWFuczoKPiArCj4gKy0gVGhlIExpbnV4IGtlcm5l bCdzICJubyByZWdyZXNzaW9uIiBwb2xpY3kgaG9sZHMgaW4gcHJhY3RpY2Ugb25seSBmb3IKPiAr ICBvcGVuLXNvdXJjZSB1c2Vyc3BhY2Ugb2YgdGhlIERSTSBzdWJzeXN0ZW0uIERSTSBkZXZlbG9w ZXJzIGFyZSBwZXJmZWN0bHkKPiBmaW5lICsgIGlmIGNsb3NlZC1zb3VyY2UgYmxvYiBkcml2ZXJz IGluIHVzZXJzcGFjZSB1c2UgdGhlIHNhbWUgdUFQSSBhcyB0aGUKPiBvcGVuICsgIGRyaXZlcnMs CgpJbiB3aGljaCBjYXRlZ29yeSBkbyB5b3UgcHV0IHRoZSBvcGVuLXNvdXJjZSB1c2Vyc3BhY2Ug Y29kZSB0aGF0IGlzIG5vdCBwYXJ0IApvZiB0aGUgbWFpbmxpbmUgdmVyc2lvbiBvZiBhIG1ham9y IHVzZXJzcGFjZSBmcmFtZXdvcmsgKFgxMSwgV2VzdG9uLCBBbmRyb2lkIApod2NvbXBvc2VyLCAu Li4pID8gSSdtIHRoaW5raW5nIGFib3V0IG9wZW4tc291cmNlIHZlbmRvciBmb3JrcyBvZiB0aG9z ZSAKcHJvamVjdHMsIG9yIGhvbWUtYnJldyBpbXBsZW1lbnRhdGlvbiBvZiBhIHRhaWxvci1tYWRl IGRpc3BsYXkgc3RhY2sgZm9yIGEgCnByb2R1Y3QgKEknbSBpbnRlbnRpb25hbGx5IHVzaW5nIHRo ZSB3b3JkIGRpc3BsYXkgaW5zdGVhZCBvZiBHRlggaGVyZSwgaWYgYSAKZnVsbCB0YWlsb3ItbWFk ZSBHRlggc3RhY2sgaW5jbHVkaW5nIDNEIHJlbmRlcmluZyBpcyBxdWl0ZSB1bmxpa2VseSwgYSBk aXNwbGF5IApzdGFjayBvciBldmVuIGp1c3QgYW4gYXBwbGljYXRpb24gZHJpdmluZyB0aGUgZGlz cGxheSB0aHJvdWdoIHRoZSBEUk0vS01TIEFQSSAKaXMgbXVjaCBlYXNpZXIgdG8gd3JpdGUgZnJv bSBzY3JhdGNoKS4KCj4gYnV0IHRoZXkgbXVzdCBkbyBzbyBpbiB0aGUgZXhhY3Qgc2FtZSB3YXkg YXMgdGhlIG9wZW4gZHJpdmVycy4KPiArICBDcmVhdGl2ZSAoYWIpdXNlIG9mIHRoZSBpbnRlcmZh Y2VzIHdpbGwsIGFuZCBpbiB0aGUgcGFzdCByb3V0aW5lbHkgaGFzLAo+IGxlYWQgKyAgdG8gYnJl YWthZ2UuCgpUaGlzIGluIG15IG9waW5pb24gY2FsbHMgZm9yIGRvY3VtZW50YXRpb24sIG90aGVy d2lzZSBob3cgY2FuIHVzZXJzcGFjZSAKZGV2ZWxvcGVycyB0ZWxsIHdoYXQgaXMgYW4gYWJ1c2Ug d2l0aG91dCBjb3B5aW5nIG9wZW4tc291cmNlIGNvZGUgdmVyYmF0aW0gPwoKPiArLSBBbnkgbmV3 IHVzZXJzcGFjZSBpbnRlcmZhY2UgbXVzdCBoYXZlIGFuIG9wZW4tc291cmNlIGltcGxlbWVudGF0 aW9uIGFzCj4gKyAgZGVtb25zdHJhdGlvbiB2ZWhpY2xlLgo+ICsKPiArVGhlIG90aGVyIHJlYXNv biBmb3IgcmVxdWlyaW5nIG9wZW4tc291cmNlIHVzZXJzcGFjZSBpcyB1QVBJIHJldmlldy4gU2lu Y2UKPiB0aGUgK2tlcm5lbCBhbmQgdXNlcnNwYWNlIHBhcnRzIG9mIGEgR0ZYIHN0YWNrIG11c3Qg d29yayB0b2dldGhlciBzbwo+IGNsb3NlbHksIGNvZGUgK3JldmlldyBjYW4gb25seSBhc3Nlc3Mg d2hldGhlciBhIG5ldyBpbnRlcmZhY2UgYWNoaWV2ZXMgaXRzCj4gZ29hbHMgYnkgbG9va2luZyBh dCArYm90aCBzaWRlcy4gTWFraW5nIHN1cmUgdGhhdCB0aGUgaW50ZXJmYWNlIGluZGVlZAo+IGNv dmVycyB0aGUgdXNlLWNhc2UgZnVsbHkgK2xlYWRzIHRvIGEgZmV3IGFkZGl0aW9uYWwgcmVxdWly ZW1lbnRzOgo+ICsKPiArLSBUaGUgb3Blbi1zb3VyY2UgdXNlcnNwYWNlIG11c3Qgbm90IGJlIGEg dG95L3Rlc3QgYXBwbGljYXRpb24sIGJ1dCB0aGUKPiByZWFsICsgIHRoaW5nLiBTcGVjaWZpY2Fs bHkgaXQgbmVlZHMgdG8gaGFuZGxlIGFsbCB0aGUgdXN1YWwgZXJyb3IgYW5kCj4gY29ybmVyIGNh c2VzLiArICBUaGVzZSBhcmUgb2Z0ZW4gdGhlIHBsYWNlcyB3aGVyZSBuZXcgdUFQSSBmYWxscyBh cGFydCBhbmQKPiBoZW5jZSBlc3NlbnRpYWwgdG8gKyAgYXNzZXNzIHRoZSBmaXRuZXNzIG9mIGEg cHJvcG9zZWQgaW50ZXJmYWNlLgo+ICsKPiArLSBUaGUgdXNlcnNwYWNlIHNpZGUgbXVzdCBiZSBm dWxseSByZXZpZXdlZCBhbmQgdGVzdGVkIHRvIHRoZSBzdGFuZGFyZHMgb2YKPiB0aGF0ICsgIHVz ZXJzcGFjZSBwcm9qZWN0LiBGb3IgZS5nLiBtZXNhIHRoaXMgbWVhbnMgcGlnbGl0IHRlc3RjYXNl cyBhbmQKPiByZXZpZXcgb24gdGhlICsgIG1haWxpbmcgbGlzdC4gVGhpcyBpcyBhZ2FpbiB0byBl bnN1cmUgdGhhdCB0aGUgbmV3Cj4gaW50ZXJmYWNlIGFjdHVhbGx5IGdldHMgdGhlICsgIGpvYiBk b25lLgo+ICsKPiArLSBUaGUgdXNlcnNwYWNlIHBhdGNoZXMgbXVzdCBiZSBhZ2FpbnN0IHRoZSBj YW5vbmljYWwgdXBzdHJlYW0sIG5vdCBzb21lCj4gdmVuZG9yICsgIGZvcmsuIFRoaXMgaXMgdG8g bWFrZSBzdXJlIHRoYXQgbm8gb25lIGNoZWF0cyBvbiB0aGUgcmV2aWV3IGFuZAo+IHRlc3Rpbmcg KyAgcmVxdWlyZW1lbnRzIGJ5IGRvaW5nIGEgcXVpY2sgZm9yay4KPiArCj4gKy0gVGhlIGtlcm5l bCBwYXRjaCBjYW4gb25seSBiZSBtZXJnZWQgYWZ0ZXIgYWxsIHRoZSBhYm92ZSByZXF1aXJlbWVu dHMgYXJlCj4gbWV0LCArICBidXQgaXQgKiptdXN0KiogYmUgbWVyZ2VkICoqYmVmb3JlKiogdGhl IHVzZXJzcGFjZSBwYXRjaGVzIGxhbmQuCj4gdUFQSSBhbHdheXMgZmxvd3MgKyAgZnJvbSB0aGUg a2VybmVsLCBkb2luZyB0aGluZ3MgdGhlIG90aGVyIHdheSByb3VuZAo+IHJpc2tzIGRpdmVyZ2Vu Y2Ugb2YgdGhlIHVBUEkgKyAgZGVmaW5pdGlvbnMgYW5kIGhlYWRlciBmaWxlcy4KPiArCj4gK1Ro ZXNlIGFyZSBmYWlybHkgc3RlZXAgcmVxdWlyZW1lbnRzLCBidXQgaGF2ZSBncm93biBvdXQgZnJv bSB5ZWFycyBvZgo+IHNoYXJlZCArcGFpbiBhbmQgZXhwZXJpZW5jZSB3aXRoIHVBUEkgYWRkZWQg aGFzdGlseSwgYW5kIGFsbW9zdCBhbHdheXMKPiByZWdyZXR0ZWQgYWJvdXQgK2FzIGZhc3QuIEdG WCBkZXZpY2VzIGNoYW5nZSByZWFsbHkgZmFzdCwgcmVxdWlyaW5nIGEKPiBwYXJhZGlnbSBzaGlm dCBhbmQgZW50aXJlICtuZXcgc2V0IG9mIHVBUEkgaW50ZXJmYWNlcyBldmVyeSBmZXcgeWVhcnMg YXQKPiBsZWFzdC4gVG9nZXRoZXIgd2l0aCB0aGUgTGludXggK2tlcm5lbCdzIGd1YXJhbnRlZSB0 byBrZWVwIGV4aXN0aW5nCj4gdXNlcnNwYWNlIHJ1bm5pbmcgZm9yIDEwKyB5ZWFycyB0aGlzIGlz ICthbHJlYWR5IHJhdGhlciBwYWluZnVsIGZvciB0aGUgRFJNCj4gc3Vic3lzdGVtLCB3aXRoIG11 bHRpcGxlIGRpZmZlcmVudCB1QVBJcyBmb3IgK3RoZSBzYW1lIHRoaW5nIGNvLWV4aXN0aW5nLgo+ IElmIHdlJ2QgYWRkIGEgZmV3IG1vcmUgY29tcGxldGUgbWlzdGFrZXMgaW50byB0aGUgK21peCBl dmVyeSB5ZWFyIGl0IHdvdWxkCj4gYmUgZW50aXJlbHkgdW5tYW5hZ2FibGUuCj4gKwo+ICBSZW5k ZXIgbm9kZXMKPiAgPT09PT09PT09PT09CgotLSAKUmVnYXJkcywKCkxhdXJlbnQgUGluY2hhcnQK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==