From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jose Abreu Subject: Re: [PATCH 0/4]: Picture aspect ratio support in DRM layer Date: Thu, 4 Aug 2016 16:13:34 +0100 Message-ID: <57A35B9E.2090708@synopsys.com> References: <1470221788-30808-1-git-send-email-shashank.sharma@intel.com> <20160803114823.GM6232@phenom.ffwll.local> <57A1ECC0.3050203@synopsys.com> <57A34E51.9050704@synopsys.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Sharma, Shashank" , Jose Abreu , Daniel Vetter Cc: "Vetter, Daniel" , "intel-gfx@lists.freedesktop.org" , Carlos Palminha , "dri-devel@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org Ck9uIDA0LTA4LTIwMTYgMTU6MjksIFNoYXJtYSwgU2hhc2hhbmsgd3JvdGU6Cj4gUmVnYXJkcwo+ Cj4gU2hhc2hhbmsKPgo+Cj4gT24gOC80LzIwMTYgNzo0NiBQTSwgSm9zZSBBYnJldSB3cm90ZToK Pj4gSGkgU2hhcm1hLAo+Pgo+Pgo+PiBPbiAwMy0wOC0yMDE2IDE2OjQ3LCBTaGFybWEsIFNoYXNo YW5rIHdyb3RlOgo+Pj4gSGVsbG8gSm9lcywKPj4+PiBJJ3ZlIGFsc28gc2VlbiB0aGlzIGJlZm9y ZSBhbmQgSSBhbSB1c2luZyB0aGVtIGluIG9yZGVyIHRvCj4+Pj4gcGFzcyBIRE1JIGNvbXBsaWFu Y2UuIFdpdGhvdXQKPj4+PiB0aGVzZSBwYXRjaGVzIHRoZSBjb21wbGlhbmNlIGZhaWxzLiBTdGls bCwgSSd2ZSBtYWRlIHNvbWUKPj4+PiBjaGFuZ2VzIHdoaWNoIEkgY2FuIHN1Ym1pdC4gSSd2ZQo+ Pj4+IHNvbWUgY29tbWVudHMgdG8geW91IChTaGFzaGFuayk6Cj4+PiBUaGFua3MgZm9yIGFkZHJl c3NpbmcgdGhlc2UgcGF0Y2hlcy4gWW91IGFyZSB3ZWxjb21lIHRvCj4+PiByZXZpZXcgdGhlIHNl cmllcy4KPj4+IFdpbGwgaXQgYmUgcG9zc2libGUgZm9yIHlvdSwgdG8gY29tbWVudCBpbi1saW5l IHdpdGggdGhlCj4+PiBwYXRjaCBjb2RlLCBpdCdzIGVhc2llciB0aGF0IHdheSwgYW5kIGtpbmQg b2YgY29udmVudGlvbmFsIHRvby4KPj4+Cj4+Pj4gU2Vjb25kLCB5b3UgYXJlIGV4cGVjdGluZyB0 aGF0IHRoZSBwaWN0dXJlIGFzcGVjdCBmaWVsZCBpcwo+Pj4+IGNvcnJlY3RseSBzZXQgaW4gdGhl IEhETUkgcGFyc2luZyBidXQsIGF0IGxlYXN0IGluIHRoZSB0ZXN0Cj4+Pj4gZXF1aXBtZW50IHRo YXQgSSBhbSB1c2luZywgdGhpcyBmaWVsZCBpcyBub3Qgc2V0IGJ5IHRoZSBEUk0KPj4+PiBsYXll ciBiZWNhdXNlIHRoZSBtb2RlIGlzIGNvbWluZyBpbiB0aGUgZGV0YWlsZWQgdGltaW5ncwo+Pj4+ IHNlY3Rpb24gd2hpY2ggZG9lcyBub3QKPj4+PiBpbmNsdWRlIGEgcGljdHVyZSBhc3BlY3QgZmll bGQuIEluIG15IGltcGxlbWVudGF0aW9uIEkgYWRkIGEKPj4+PiBmdW5jdGlvbiB3aGljaCBnaXZl biB0aGUgbW9kZSB3aWR0aCBhbmQgaGVpZ2h0IChmaWVsZHMKPj4+PiAtPndpZHRoX21tIGFuZCAt PmhlaWdodF9tbSBvZiBtb2RlKSBjb21wdXRlcyB0aGUgYXNwZWN0Cj4+Pj4gcmF0aW8gYW5kIHBv cHVsYXRlcyB0aGUgZmllbGQuCj4+PiBQbGVhc2Ugbm90ZSB0aGF0IHdlIGNhbiBydW4gdGhlIGFz cGVjdCByYXRpbyB0ZXN0IGNhc2VzICg3LTI3Cj4+PiBhbmQgc2ltaWxhcikgZm9yIENFQSBtb2Rl cyBvbmx5LiBGb3IgdGhlIG1vZGVzIGNvbWluZyBmcm9tCj4+PiBEVERzIGFuZCBWU0RCcyBjYW4g YmUgd2l0aCBvciB3aXRob3V0IGFzcGVjdCByYXRpby4KPj4+IEJ1dCB0aGUgc3VnZ2VzdGlvbiB0 byBpbml0aWFsaXplIGFsbCB0aGUgZHJtX21vZGVzIHdpdGgKPj4+IEFTUEVDVF9SQVRJT19OT05F L0RFRkFVTFQgaXMgYSBnb29kIG9uZSwgYW5kIGl0IG1pZ2h0IGhlbHAKPj4+IGZvciB0aGVzZSBt b2RlcyB0b28uCj4+PiBJIHRoaW5rIERhbmllbCBhbHNvIGhhZCBzaW1pbGFyIHN1Z2dlc3Rpb24g bGFzdCB0aW1lLCBpbiBhCj4+PiBkaWZmZXJlbnQgY29udGV4dC4KPj4gSW4gb3VyIGNvbXBsaWFu Y2UgZXF1aXBtZW50IHRoZSBtb2RlcyBhcmUgY29taW5nIGZyb20gRFREIGFuZAo+PiBmcm9tIHRo ZSB2aWRlbyBkYXRhYmxvY2sgYnV0IHRoZSBrZXJuZWwgaXMgcHJlZmVycmluZyB0aGUgRFRECj4+ IG1vZGVzIHNvIHdlIGZvdW5kIGEgd2F5IG9mIGRldGVybWluaW5nIHRoZSBwaWN0dXJlIGFzcGVj dCByYXRpbwo+PiBmcm9tIHRoZSBEVEQgc2VjdGlvbi4gV2UgZG8gbm90IHBvcHVsYXRlIHRoZSBm aWVsZCB3aXRoCj4+IEFTUEVDVF9SQVRJT19OT05FL0RFRkFVTFQsIHdlIHBvcHVsYXRlIGl0IGdp dmVuIHRoZSByYXRpbyBvZgo+PiB3aWR0aF9tbSBhbmQgaGVpZ2h0X21tIHRoYXQgaXMgc2VudCBp biB0aGUgRFREIChvZiBjb3Vyc2UgaWYKPj4gdGhlc2UgdmFsdWVzIGFyZSB6ZXJvIHdlIHNldCBh c3BlY3QgcmF0aW8gdG8gbm9uZSkuIEkgdGhpbmsgaXQKPj4gY291bGQgYmUgYSBuaWNlIGFkZGl0 aW9uIHRvIHRoZSBFRElEIHBhcnNpbmcuCj4gSSBhZ3JlZSwgSSB3aWxsIGNvbWUgdXAgd2l0aCBh bm90aGVyIHBhdGNoLCB3aGljaCBkb2VzIGVpdGhlcgo+IG9mIHRoaXM6Cj4gLSBpbml0aWFsaXpl IGFsbCB0aGUgRFJNX01PREUgd2l0aCBhc3BlY3QgcmF0aW8gZGVmYXVsdCB3aGlsZQo+IGNyZWF0 aW5nIHRoZSBuZXcgbW9kZSBpdHNlbGYKPiAtIGluaXRpYWxpemUgYWxsIHRoZSBEUk1fTU9ERVMg IHdpdGggYXNwZWN0IHJhdGlvIGRlZmF1bHQgd2hpbGUKPiBwYXJzaW5nIHRoZSBtb2Rlcy4KCk9r LCBwbGVhc2UgY2MgbWUgd2hlbiB5b3Ugc2VuZCB0aGUgbmV3IHBhdGNoZXMuCgo+Pj4+IFRoaXJk LCBJIGFtIGZhY2luZyBzb21lIGRpZmZpY3VsdGllcyB3aGVuIHVzaW5nIFhzZXJ2ZXIgYW5kCj4+ Pj4gWHJhbmRyLiBVc2luZyBsaWJkcm0ncyBtb2RldGVzdCBhcHBsaWNhdGlvbiBldmVyeXRoaW5n IHdvcmtzCj4+Pj4gb2sgYnV0IHdpdGggeHJhbmRyIHRoZSBhc3BlY3QgcmF0aW8gZ2V0cyBsb3N0 IGJldHdlZW4gdGhlCj4+Pj4gbGluayBEUk0KPj4+PiAtPiBYc2VydmVyIC0+IERSTS4gSSBzZXQg dGhlIGFzcGVjdCByYXRpbyBpbiB0aGUgZmxhZ3MgZmllbGQKPj4+PiB3aGVuCj4+Pj4gcGFzc2lu ZyB0aGUgbW9kZSB0byB1c2VyIGxldmVsIChqdXN0IGxpa2UgeW91IGRvIGluIHBhdGNoIDIpCj4+ Pj4gYnV0IHRoZW4gd2hlbiB0aGUgbW9kZSBpcyByZXR1cm5lZCBhbmQgZGVsaXZlcmVkIHRvIHRo ZSBEUk0KPj4+PiBkcml2ZXIgdGhlIHBpY3R1cmUgYXNwZWN0IGlzIG5vdCBwcmVzZW50LiBJIHRo aW5rIHRoaXMgaXMKPj4+PiBkdWUgdG8gaG93IFhzZXJ2ZXIgb3IgeHJhbmRyIHNldHMgdGhlIG1v ZGUgYnV0IEkgYW0gbm90IHN1cmUuCj4+PiBJIHRoaW5rIHdoaWxlIHBhcnNpbmcgdGhlIGFzcGVj dCByYXRpbyBmcm9tIGxpYmRybSB0bwo+Pj4gdXNlcnNwYWNlIChYKSwgaXQncyBnZXR0aW5nIGxv c3QsIGFuZCB3ZSBoYXZlIHRvIGZpeCB5b3VyCj4+PiBYc2VydmVyIGltcGxlbWVudGF0aW9uLgo+ Pj4gV2UgaGFkIGFkZGVkIHNpbWlsYXIgc3VwcG9ydCBpbiBvdXIgSFdDb21wb3NlciwgYW5kIEkg Z3Vlc3MKPj4+IGl0IHdvdWxkIGJlIHJlcXVpcmVkIGZvciBYIGFuZCBXYXlsYW5kIHRvbywgY296 IGZpbmFsbHkgdGhlc2UKPj4+IGd1eXMgaXNzdWUgdGhlIG1vZGVzZXQuCj4+PiBTbyBNYXkgYmUg WCBzZXJ2ZXIgaXMgbm90IGhhbmRsaW5nIHRoZXNlIGZsYWdzLCBpZ25vcmluZwo+Pj4gdGhlc2Ug ZmxhZ3MsIGFuZCBzZW5kaW5nIHRoZSBmbGFnbGVzcyBtb2Rlc2V0IGJhY2sgdG8gbGliZHJtLgo+ PiBEbyB5b3UgbWVhbiBYc2VydmVyLCB0aGUgWCBkcml2ZXIgdGhhdCBJIGFtIHVzaW5nICh3aGlj aCBpcwo+PiBtb2Rlc2V0dGluZyksIHRoZSB4cmFuZHIgb3IgYWxsIG9mIHRoZW0/IEkgZ3Vlc3Mg dGhhdCBpZiB0aGV5Cj4+IGRvbid0IHRvdWNoIHRoZSBmbGFncyBmaWVsZCBhbmQgcmV0dXJuIHRo ZSBtb2RlIGV4YWN0bHkgdGhlIHNhbWUKPj4gYXMgaXQgd2FzIHByb2JlZCB0byBEUk0gdGhlbiBp dCB3aWxsIHdvcmsgYXMgZXhwZWN0ZWQuCj4gSSBhZ3JlZSwgaW4gZmFjdCwgaWYgdGhlIHVzZXJz cGFjZSBpcyBub3QgZXZlbiB0b3VjaGluZyB0aGUKPiBmbGFnIGZpZWxkLCB3ZSBzaG91bGQgZ2V0 IHRoZSBhc3BlY3QgcmF0aW8gaW5mb3JtYXRpb24gaW50YWN0Lgo+IEJ1dCBpZiB3ZSBhcmUgcG9w dWxhdGluZyB0aGUgYXNwZWN0IHJhdGlvIGluZm9ybWF0aW9uIHdoaWxlCj4gcmVhZGluZyB0aGUg bW9kZXMgZnJvbSBFRElELCBhbmQgcGFzc2luZyB0aGUgcmlnaHQgZmxhZ3MgdG8KPiB1c2Vyc3Bh Y2UsIGJ1dCBzdGlsbCB3ZSBzZWUgdGhlIG1vZGVzZXQgZG9lc24ndCBjb250YWluIHRoZQo+IHJp Z2h0IGZsYWdzLCBtZWFucyB1c2Vyc3BhY2UgaXMgY2xlYXJpbmcgdGhlIGZsYWdzIG9yIG1vZGlm eWluZwo+IHRoZSBmbGFncy4gU28gd2Ugc2hvdWxkIGNoZWNrOgo+IC0gV2hpbGUgY3JlYXRpbmcg YSB1c2VyX21vZGUgZnJvbSBrZXJuZWxfbW9kZSwgYXJlIHdlCj4gcG9wdWxhdGluZyB0aGUgYXNw ZWN0IHJhdGlvIGZsYWdzIChJZiB5b3UgaGF2ZSBteSBwYXRjaGVzLCB0aGlzCj4gc2hvdWQgd29y aykKClllcywgdGhpcyBpcyBjb3JyZWN0LgoKPiAtIFRoZXNlIG1vZGVzIGFyZSBwYXNzZWQgdG8g dXNlcnNwYWNlIHZpYSBhIGdldF9tb2RlcyBvcgo+IGdldF9jb25uZWN0b3IgSU9DVExzLCBzbyB3 ZSBzaG91bGQgY2hlY2sgdGhlc2UgSU9DVExTCgpJIHRoaW5rIGl0IGlzIGFsc28gaGFwcGVuaW5n IGNvcnJlY3RseS4KCj4gLSBPbmNlIHVzZXIgc3BhY2Ugc2VuZHMgYSBtb2Rlc2V0LCBkb2VzIGl0 IHNldCB0aGUgZmxhZ3MKPiBwcm9wZXJseSA/CgpJZiBpdCBpcyBhIG1vZGUgY3JlYXRlZCBieSB0 aGUgdXNlciB0aGVuIEkgdGhpbmsgbm90LiBJZiBpdCBpcyBhCm1vZGUgdGhhdCB3YXMgcGFzc2Vk IGJ5IHRoZSBrZXJuZWwgdGhlbiBpdCB3aWxsIGlmIHRoZSBmbGFncyBhcmUKbm90IHRvdWNoZWQu IFRoaXMgY29ycmVjdGx5IGhhcHBlbnMgdXNpbmcgbGliZHJtJ3MgbW9kZXRlc3QgYnV0Cml0IGRv ZXNuJ3QgaGFwcGVuIHdoZW4gdXNpbmcgeHJhbmRyLgoKPiAtIHdoaWxlIGNyZWF0aW5nIGEga2Vy bmVsX21vZGUgZnJvbSB1c2VyX21vZGUsIGR1cmluZyBtb2Rlc2V0LAo+IGFyZSB3ZSBwcmVzZXJ2 aW5nIHRoZXNlIGZsYWdzID8gKGlmIHlvdSBoYXZlIG15IHBhdGNoZXMsIHRoaXMKPiBzaG91bGQg d29yaykKCkFnYWluIGNvcnJlY3QgaWYgdGhlIHVzZXIgZG9lcyBub3QgdG91Y2ggdGhlIGZsYWdz IGZpZWxkLgoKQmVzdCByZWdhcmRzLApKb3NlIE1pZ3VlbCBBYnJldQoKPgo+IFJlZ2FyZHMKPiBT aGFzaGFuawo+PiBCZXN0IHJlZ2FyZHMsCj4+IEpvc2UgTWlndWVsIEFicmV1Cj4+Cj4+PiBSZWdh cmRzCj4+PiBTaGFzaGFuawo+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPj4+IEZyb206 IEpvc2UgQWJyZXUgW21haWx0bzpKb3NlLkFicmV1QHN5bm9wc3lzLmNvbV0KPj4+IFNlbnQ6IFdl ZG5lc2RheSwgQXVndXN0IDMsIDIwMTYgNjozOCBQTQo+Pj4gVG86IERhbmllbCBWZXR0ZXIgPGRh bmllbEBmZndsbC5jaD47IFNoYXJtYSwgU2hhc2hhbmsKPj4+IDxzaGFzaGFuay5zaGFybWFAaW50 ZWwuY29tPgo+Pj4gQ2M6IGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmc7Cj4+PiBkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBWZXR0ZXIsIERhbmllbAo+Pj4gPGRhbmllbC52 ZXR0ZXJAaW50ZWwuY29tPjsgQ2FybG9zIFBhbG1pbmhhCj4+PiA8Q0FSTE9TLlBBTE1JTkhBQHN5 bm9wc3lzLmNvbT4KPj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMC80XTogUGljdHVyZSBhc3BlY3Qg cmF0aW8gc3VwcG9ydCBpbiBEUk0KPj4+IGxheWVyCj4+Pgo+Pj4gSGksCj4+Pgo+Pj4KPj4+IE9u IDAzLTA4LTIwMTYgMTI6NDgsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4+Pj4gT24gV2VkLCBBdWcg MDMsIDIwMTYgYXQgMDQ6MjY6MjRQTSArMDUzMCwgU2hhc2hhbmsgU2hhcm1hCj4+Pj4gd3JvdGU6 Cj4+Pj4+IFRoaXMgcGF0Y2ggc2VyaWVzIGFkZHMgNCBwYXRjaGVzLgo+Pj4+PiAtIFRoZSBmaXJz dCB0d28gcGF0Y2hlcyBhZGQgYXNwZWN0IHJhdGlvIHN1cHBvcnQgaW4gRFJNIGxheWVzCj4+Pj4+ IC0gTmV4dCB0d28gcGF0Y2hlcyBhZGQgbmV3IGFzcGVjdCByYXRpb3MgZGVmaW5lZCBpbiBDRUEt ODYxLUYKPj4+Pj4gICAgc3VwcG9ydGVkIGZvciBIRE1JIDIuMCA0ayBtb2Rlcy4KPj4+Pj4KPj4+ Pj4gQWRkaW5nIGFzcGVjdCByYXRpbyBzdXBwb3J0IGluIERSTSBsYXllcjoKPj4+Pj4gLSBUaGUg Q0VBIHZpZGVtb2RlcyBjb250YWluIGFzcGVjdCByYXRpbyBpbmZvcm1hdGlvbiwgd2hpY2ggd2UK Pj4+Pj4gICAgcGFyc2Ugd2hlbiB3ZSByZWFkIHRoZSBtb2RlcyBmcm9tIEVESUQuIEJ1dCB3aGls ZQo+Pj4+PiB0cmFuc2Zvcm1pbmcKPj4+Pj4gICAgdXNlcl9tb2RlIHRvIGtlcm5lbF9tb2RlIG9y IHZpY2V2ZXJzYSwgRFJNIGxheWVyIGxvc2UgdGhpcwo+Pj4+PiAgICBpbmZvcm1hdGlvbi4KPj4+ Pj4gLSBIRE1JIGNvbXBsaWFuY2UgdGVzdGluZyBmb3IgQ0VBIG1vZGVzLCBleHBlY3RzIHRoZSBB VkkKPj4+Pj4gaW5mbyBmcmFtZXMKPj4+Pj4gICAgdG8gY29udGFpbiBleGFjdCBWSUMgbm8gZm9y IHRoZSAndmlkZW8gbW9kZSB1bmRlciB0ZXN0Jy4KPj4+Pj4gTm93IENFQQo+Pj4+PiAgICBtb2Rl cyBoYXZlIGRpZmZlcmVudCBWSUMgZm9yIHNhbWUgbW9kZXMgYnV0IGRpZmZlcmVudAo+Pj4+PiBh c3BlY3QgcmF0aW8KPj4+Pj4gICAgZm9yIGV4YW1wbGU6Cj4+Pj4+ICAgICBWSUMgMiA9IDcyMHg0 ODBANjAgNDozCj4+Pj4+ICAgICBWSUMgMyA9IDcyMHg0ODBANjAgMTY6OQo+Pj4+PiAgICBJbiB0 aGlzIHdheSwgbGFjayBvZiBhc3BlY3QgcmF0aW8gaW5mb3JtYXRpb24sIGNhbiBjYXVzZQo+Pj4+ PiB3cm9uZyBWSUMKPj4+Pj4gICAgbm8gaW4gQVZJIElGLCBjYXVzaW5nIEhETUkgY29tcGxhaW5j ZSB0ZXN0IHRvIGZhaWwuCj4+Pj4+IC0gVGhpcyBwYXRjaCBzZXQgYWRkcyBjb2RlLCB3aGljaCBl bWJlZHMgdGhlIGFzcGVjdCByYXRpbwo+Pj4+PiBpbmZvcm1hdGlvbgo+Pj4+PiAgICBhbHNvIGlu IERSTSB2aWRlbyBtb2RlIGZsYWdzLCBhbmQgdXNlcyBpdCB3aGlsZQo+Pj4+PiBjb21wYXJpbmcg dHdvIG1vZGVzLgo+Pj4+Pgo+Pj4+PiBBZGRpbmcgbmV3IGFzcGVjdCByYXRpb3MgZm9yIEhETUkg Mi4wCj4+Pj4+IC0gQ0VBLTg2MS1GIGRlZmluZXMgdHdvIG5ldyBhc3BlY3QgcmF0aW9zLCB0byBi ZSB1c2VkIGZvcgo+Pj4+PiA0ayBIRE1JIDIuMAo+Pj4+PiAgICBtb2Rlcy4KPj4+Pj4gICAgIC0g NjQ6MjcKPj4+Pj4gICAgIC0gMjU2OjEzNQo+Pj4+PiBMYXN0IHR3byBwYXRjaGVzIGluIHRoZSBz ZXJpZXMsIGFkZHMgY29kZSB0byBoYW5kbGUgdGhlc2UKPj4+Pj4gbmV3IGFzcGVjdAo+Pj4+PiBy YXRpb3MuCj4+Pj4+Cj4+Pj4+IFNoYXNoYW5rIFNoYXJtYSAoNCk6Cj4+Pj4+ICAgIGRybTogYWRk IHBpY3R1cmUgYXNwZWN0IHJhdGlvIGZsYWdzCj4+Pj4+ICAgIGRybTogQWRkIGFzcGVjdCByYXRp byBwYXJzaW5nIGluIERSTSBsYXllcgo+Pj4+PiAgICB2aWRlbzogQWRkIG5ldyBhc3BlY3QgcmF0 aW9zIGZvciBIRE1JIDIuMAo+Pj4+PiAgICBkcm06IEFkZCBhbmQgaGFuZGxlIG5ldyBhc3BlY3Qg cmF0aW9zIGluIERSTSBsYXllcgo+Pj4+IFBhdGNoIHNlcmllcyBzZWVtcyB0byBoYXZlIDAgY2hh bmdlbG9ncyBhbnl3aGVyZSwgYnV0IEknbQo+Pj4+IHByZXR0eSBzdXJlCj4+Pj4gSSd2ZSBzZWVu IHRoaXMgYmVmb3JlLiBQbGVhc2UgdHJ5IGFnYWluIGFuZCBzdGF0ZSB3aGF0Cj4+Pj4gY2hhbmdl ZCBhbmQgd2h5Cj4+Pj4geW91IGFyZSByZXN1Ym1pdHRpbmcgdGhpcy4KPj4+PiAtRGFuaWVsCj4+ PiBJJ3ZlIGFsc28gc2VlbiB0aGlzIGJlZm9yZSBhbmQgSSBhbSB1c2luZyB0aGVtIGluIG9yZGVy IHRvCj4+PiBwYXNzIEhETUkgY29tcGxpYW5jZS4gV2l0aG91dCB0aGVzZSBwYXRjaGVzIHRoZSBj b21wbGlhbmNlCj4+PiBmYWlscy4KPj4+IFN0aWxsLCBJJ3ZlIG1hZGUgc29tZSBjaGFuZ2VzIHdo aWNoIEkgY2FuIHN1Ym1pdC4gSSd2ZSBzb21lCj4+PiBjb21tZW50cyB0byB5b3UgKFNoYXNoYW5r KToKPj4+Cj4+PiBGaXJzdCwgeW91IGFkZCBhbiBpZiBjb25kaXRpb24gaW4KPj4+IGRybV9tb2Rl X2VxdWFsX25vX2Nsb2Nrc19ub19zdGVyZW8oKSAocGF0Y2ggMikgd2hpY2gKPj4+IHVuY29uZGl0 aW9uYWxseSBjb21wYXJlcyB0aGUgYXNwZWN0IHJhdGlvLiBCdXQgSSB0aGluayB0aGF0Cj4+PiB5 b3UgaGF2ZSB0byB0YWtlIGludG8gYWNjb3VudCB0aGF0IHNvbWUgbW9kZXMgaGFuZGVkIGJ5IHRo ZQo+Pj4gdXNlciB0byB0aGUgRFJNIGxheWVyIGRvIG5vdCBpbml0aWFsaXplIHRoaXMgZmllbGQg c28gSSB0aGluawo+Pj4gdGhlIGJlc3Qgc29sdXRpb24gd291bGQgYmUgdG8gY29tcGFyZSB0aGUg YXNwZWN0IHJhdGlvcyBvbmx5Cj4+PiB3aGVuIHRoZSBmaWVsZCBpcyBwb3B1bGF0ZWQgKGkuZS4g cGljdHVyZV9hc3BlY3RfcmF0aW8gIT0KPj4+IEhETUlfUElDVFVSRV9BU1BFQ1RfTk9ORSkuCj4+ Pgo+Pj4gU2Vjb25kLCB5b3UgYXJlIGV4cGVjdGluZyB0aGF0IHRoZSBwaWN0dXJlIGFzcGVjdCBm aWVsZCBpcwo+Pj4gY29ycmVjdGx5IHNldCBpbiB0aGUgSERNSSBwYXJzaW5nIGJ1dCwgYXQgbGVh c3QgaW4gdGhlIHRlc3QKPj4+IGVxdWlwbWVudCB0aGF0IEkgYW0gdXNpbmcsIHRoaXMgZmllbGQg aXMgbm90IHNldCBieSB0aGUgRFJNCj4+PiBsYXllciBiZWNhdXNlIHRoZSBtb2RlIGlzIGNvbWlu ZyBpbiB0aGUgZGV0YWlsZWQgdGltaW5ncwo+Pj4gc2VjdGlvbiB3aGljaCBkb2VzIG5vdCBpbmNs dWRlIGEgcGljdHVyZSBhc3BlY3QgZmllbGQuIEluIG15Cj4+PiBpbXBsZW1lbnRhdGlvbiBJIGFk ZCBhIGZ1bmN0aW9uIHdoaWNoIGdpdmVuIHRoZSBtb2RlIHdpZHRoCj4+PiBhbmQgaGVpZ2h0IChm aWVsZHMKPj4+IC0+d2lkdGhfbW0gYW5kIC0+aGVpZ2h0X21tIG9mIG1vZGUpIGNvbXB1dGVzIHRo ZSBhc3BlY3QgcmF0aW8KPj4+IGFuZAo+Pj4gcG9wdWxhdGVzIHRoZSBmaWVsZC4KPj4+Cj4+PiBU aGlyZCwgSSBhbSBmYWNpbmcgc29tZSBkaWZmaWN1bHRpZXMgd2hlbiB1c2luZyBYc2VydmVyIGFu ZAo+Pj4gWHJhbmRyLiBVc2luZyBsaWJkcm0ncyBtb2RldGVzdCBhcHBsaWNhdGlvbiBldmVyeXRo aW5nIHdvcmtzCj4+PiBvayBidXQgd2l0aCB4cmFuZHIgdGhlIGFzcGVjdCByYXRpbyBnZXRzIGxv c3QgYmV0d2VlbiB0aGUKPj4+IGxpbmsgRFJNCj4+PiAtPiBYc2VydmVyIC0+IERSTS4gSSBzZXQg dGhlIGFzcGVjdCByYXRpbyBpbiB0aGUgZmxhZ3MgZmllbGQKPj4+IHdoZW4KPj4+IHBhc3Npbmcg dGhlIG1vZGUgdG8gdXNlciBsZXZlbCAoanVzdCBsaWtlIHlvdSBkbyBpbiBwYXRjaCAyKQo+Pj4g YnV0IHRoZW4gd2hlbiB0aGUgbW9kZSBpcyByZXR1cm5lZCBhbmQgZGVsaXZlcmVkIHRvIHRoZSBE Uk0KPj4+IGRyaXZlciB0aGUgcGljdHVyZSBhc3BlY3QgaXMgbm90IHByZXNlbnQuIEkgdGhpbmsg dGhpcyBpcyBkdWUKPj4+IHRvIGhvdyBYc2VydmVyIG9yIHhyYW5kciBzZXRzIHRoZSBtb2RlIGJ1 dCBJIGFtIG5vdCBzdXJlLgo+Pj4KPj4+IEBEYW5pZWwsIGNhbiB5b3UgZ2l2ZSBzb21lIGNvbW1l bnRzIHJlZ2FyZGluZyB0aGlzPwo+Pj4KPj4+Pj4gICBkcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVz LmMgfCA0Mwo+Pj4+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Cj4+Pj4+ICAgZHJpdmVycy92aWRlby9oZG1pLmMgICAgICAgIHwgIDQgKysrKwo+Pj4+PiAgIGlu Y2x1ZGUvbGludXgvaGRtaS5oICAgICAgICB8ICAyICsrCj4+Pj4+ICAgaW5jbHVkZS91YXBpL2Ry bS9kcm1fbW9kZS5oIHwgMjQgKysrKysrKysrKysrKysrKysrKy0tLS0tCj4+Pj4+ICAgNCBmaWxl cyBjaGFuZ2VkLCA2OCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQo+Pj4+Pgo+Pj4+PiAt LSAKPj4+Pj4gMS45LjEKPj4+Pj4KPj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPj4+Pj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+Pj4+PiBkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+Pj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCj4+PiBCZXN0IHJlZ2FyZHMsCj4+PiBK b3NlIE1pZ3VlbCBBYnJldQo+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK