From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v4 2/2] drm: Add HDMI 2.0 VIC support for AVI info-frames Date: Thu, 23 Mar 2017 20:14:18 +0200 Message-ID: <20170323181418.GE19813@intel.com> References: <1490282059-16331-2-git-send-email-shashank.sharma@intel.com> <4ea0e5b5-b367-4fbf-142c-666dbde9aeb8@synopsys.com> <20170323154528.GW31595@intel.com> <48e90373-5260-d388-d73e-cb084725c722@synopsys.com> <5b2b08fe-3214-6434-3246-c808873c9fa1@intel.com> <5424fef6-6c66-de41-b341-65048bed8ab6@intel.com> <68c84fc4-6d18-7102-feba-21b92dd0a44b@synopsys.com> <20170323174247.GC19813@intel.com> <01ccaeb8-4e67-9c77-c97c-7f0f64150f25@synopsys.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <01ccaeb8-4e67-9c77-c97c-7f0f64150f25@synopsys.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jose Abreu Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Andrzej Hajda , Alex Deucher , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBNYXIgMjMsIDIwMTcgYXQgMDU6NTM6MzRQTSArMDAwMCwgSm9zZSBBYnJldSB3cm90 ZToKPiBIaSBWaWxsZSwKPiAKPiAKPiBPbiAyMy0wMy0yMDE3IDE3OjQyLCBWaWxsZSBTeXJqw6Rs w6Qgd3JvdGU6Cj4gPiBPbiBUaHUsIE1hciAyMywgMjAxNyBhdCAwNToxMTo0NFBNICswMDAwLCBK b3NlIEFicmV1IHdyb3RlOgo+ID4+IEhpIFNoYXNoYW5rLAo+ID4+Cj4gPj4KPiA+PiBPbiAyMy0w My0yMDE3IDE2OjQzLCBTaGFybWEsIFNoYXNoYW5rIHdyb3RlOgo+ID4+PiBSZWdhcmRzCj4gPj4+ Cj4gPj4+IFNoYXNoYW5rCj4gPj4+Cj4gPj4+Cj4gPj4+IE9uIDMvMjMvMjAxNyA2OjMzIFBNLCBK b3NlIEFicmV1IHdyb3RlOgo+ID4+Pj4gSGkgU2hhc2hhbmssCj4gPj4+Pgo+ID4+Pj4KPiA+Pj4+ IE9uIDIzLTAzLTIwMTcgMTY6MDgsIFNoYXJtYSwgU2hhc2hhbmsgd3JvdGU6Cj4gPj4+Pj4gUmVn YXJkcwo+ID4+Pj4+Cj4gPj4+Pj4gU2hhc2hhbmsKPiA+Pj4+Pgo+ID4+Pj4+Cj4gPj4+Pj4gT24g My8yMy8yMDE3IDU6NTcgUE0sIEpvc2UgQWJyZXUgd3JvdGU6Cj4gPj4+Pj4+IEhpIFZpbGxlLAo+ ID4+Pj4+Pgo+ID4+Pj4+Pgo+ID4+Pj4+PiBPbiAyMy0wMy0yMDE3IDE1OjQ1LCBWaWxsZSBTeXJq w6Rsw6Qgd3JvdGU6Cj4gPj4+Pj4+PiBPbiBUaHUsIE1hciAyMywgMjAxNyBhdCAwMzoyODoyOVBN ICswMDAwLCBKb3NlIEFicmV1IHdyb3RlOgo+ID4+Pj4+Pj4+IEhpIFNoYXNoYW5rLAo+ID4+Pj4+ Pj4+Cj4gPj4+Pj4+Pj4KPiA+Pj4+Pj4+PiBPbiAyMy0wMy0yMDE3IDE1OjE0LCBTaGFzaGFuayBT aGFybWEgd3JvdGU6Cj4gPj4+Pj4+Pj4+IEhETUkgMS40YiBzdXBwb3J0IHRoZSBDRUEgdmlkZW8g bW9kZXMgYXMgcGVyIHJhbmdlIG9mCj4gPj4+Pj4+Pj4+IENFQS04NjEtRCAoVklDIDEtNjQpLgo+ ID4+Pj4+Pj4+PiBGb3IgYW55IG90aGVyIG1vZGUsIHRoZSBWSUMgZmlsZWQgaW4gQVZJIGluZm9m cmFtZXMgc2hvdWxkCj4gPj4+Pj4+Pj4+IGJlIDAuCj4gPj4+Pj4+Pj4+IEhETUkgMi4wIHNpbmtz LCBzdXBwb3J0IHZpZGVvIG1vZGVzIHJhbmdlIGFzIHBlciBDRUEtODYxLUYKPiA+Pj4+Pj4+Pj4g c3BlYywgd2hpY2ggaXMKPiA+Pj4+Pj4+Pj4gZXh0ZW5kZWQgdG8gKFZJQyAxLTEwNykuCj4gPj4+ Pj4+Pj4+Cj4gPj4+Pj4+Pj4+IFRoaXMgcGF0Y2ggYWRkcyBhIGJvb2wgaW5wdXQgdmFyaWFibGUs IHdoaWNoIGluZGljYXRlcyBpZgo+ID4+Pj4+Pj4+PiB0aGUgY29ubmVjdGVkCj4gPj4+Pj4+Pj4+ IHNpbmsgaXMgYSBIRE1JIDIuMCBzaW5rIG9yIG5vdC4gVGhpcyB3aWxsIG1ha2Ugc3VyZSB0aGF0 IHdlCj4gPj4+Pj4+Pj4+IGRvbid0IHBhc3MgYQo+ID4+Pj4+Pj4+PiBIRE1JIDIuMCBWSUMgdG8g YSBIRE1JIDEuNCBzaW5rLgo+ID4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+PiBUaGlzIHBhdGNoIHRvdWNo ZXMgYWxsIGRybSBkcml2ZXJzLCB3aG8gYXJlIGNhbGxlcnMgb2YgdGhpcwo+ID4+Pj4+Pj4+PiBm dW5jdGlvbgo+ID4+Pj4+Pj4+PiBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9t b2RlIGJ1dCB0byBtYWtlIHN1cmUKPiA+Pj4+Pj4+Pj4gdGhlcmUgaXMKPiA+Pj4+Pj4+Pj4gbm8g Y2hhbmdlIGluIGN1cnJlbnQgYmVoYXZpb3IsIGlzX2hkbWkyIGlzIGtlcHQgYXMgZmFsc2UuCj4g Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+IEluIGNhc2Ugb2YgSTkxNSBkcml2ZXIsIHRoaXMgcGF0Y2gg Y2hlY2tzIHRoZQo+ID4+Pj4+Pj4+PiBjb25uZWN0b3ItPmRpc3BsYXlfaW5mbwo+ID4+Pj4+Pj4+ PiB0byBjaGVjayBpZiB0aGUgY29ubmVjdGVkIGRpc3BsYXkgaXMgSERNSSAyLjAuCj4gPj4+Pj4+ Pj4+Cj4gPj4+Pj4+Pj4+IENjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4Lmlu dGVsLmNvbT4KPiA+Pj4+Pj4+Pj4gQ2M6IEpvc2UgQWJyZXUgPGpvc2UuYWJyZXVAc3lub3BzeXMu Y29tPgo+ID4+Pj4+Pj4+PiBDYzogQW5kcnplaiBIYWpkYSA8YS5oYWpkYUBzYW1zdW5nLmNvbT4K PiA+Pj4+Pj4+Pj4gQ2M6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4K PiA+Pj4+Pj4+Pj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+ ID4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+PiBQUzogVGhpcyBwYXRjaCB0b3VjaGVzIGEgZmV3IGxpbmVz IGluIGZldyBmaWxlcywgd2hpY2ggd2VyZQo+ID4+Pj4+Pj4+PiBhbHJlYWR5IGFib3ZlIDgwIGNo YXIsIHNvIGNoZWNrcGF0Y2ggZ2l2ZXMgODAgY2hhciB3YXJuaW5nCj4gPj4+Pj4+Pj4+IGFnYWlu Lgo+ID4+Pj4+Pj4+PiAtIGdwdS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIuYwo+ID4+Pj4+Pj4+ PiAtIGdwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKPiA+Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pj4gU2ln bmVkLW9mZi1ieTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+ ID4+Pj4+Pj4+PiAtLS0KPiA+Pj4+Pj4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv ZGNlX3YxMF8wLmMgICAgfCAgMiArLQo+ID4+Pj4+Pj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9kY2VfdjExXzAuYyAgICB8ICAyICstCj4gPj4+Pj4+Pj4+ICAgIGRyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2RjZV92OF8wLmMgICAgIHwgIDIgKy0KPiA+Pj4+Pj4+Pj4gICAgZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC1hbng3OHh4LmMgfCAgMyArKy0KPiA+Pj4+Pj4+ Pj4gICAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMgICAgICAgICAgfCAgMiArLQo+ ID4+Pj4+Pj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYyB8 ICAyICstCj4gPj4+Pj4+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jICAgICAgICAg ICAgICAgIHwgMTIKPiA+Pj4+Pj4+Pj4gKysrKysrKysrKystCj4gPj4+Pj4+Pj4+ICAgIGRyaXZl cnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYyAgICAgIHwgIDIgKy0KPiA+Pj4+Pj4+Pj4g ICAgZHJpdmVycy9ncHUvZHJtL2kyYy90ZGE5OTh4X2Rydi5jICAgICAgICAgfCAgMiArLQo+ID4+ Pj4+Pj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgICAgICAgICB8ICA1 ICsrKystCj4gPj4+Pj4+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYyAg ICAgICAgIHwgIDMgKystCj4gPj4+Pj4+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfaGRtaS5jICAgICAgIHwgIDIgKy0KPiA+Pj4+Pj4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL29t YXBkcm0vb21hcF9lbmNvZGVyLmMgICAgfCAgMyArKy0KPiA+Pj4+Pj4+Pj4gICAgZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYyAgICAgfCAgMiArLQo+ID4+Pj4+Pj4+PiAgICBk cml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19oZG1pLmMgICAgICB8ICAyICstCj4gPj4+Pj4+ Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYyAgICAgICAgICAgIHwgIDIgKy0K PiA+Pj4+Pj4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2hkbWkuYyAgICAgICAgICAgICAg fCAgMiArLQo+ID4+Pj4+Pj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMgICAgICAg ICAgICAgICB8ICAyICstCj4gPj4+Pj4+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hk bWkuYyAgICAgICAgICAgIHwgIDIgKy0KPiA+Pj4+Pj4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL3p0 ZS96eF9oZG1pLmMgICAgICAgICAgICAgfCAgMiArLQo+ID4+Pj4+Pj4+PiAgICBpbmNsdWRlL2Ry bS9kcm1fZWRpZC5oICAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+ID4+Pj4+Pj4+PiAgICAy MSBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKPiA+Pj4+ Pj4+Pj4KPiA+Pj4+Pj4+PiBbc25pcF0KPiA+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMKPiA+Pj4+Pj4+Pj4g Yi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYwo+ID4+Pj4+Pj4+PiBp bmRleCBhZjkzZjdhLi41ZmYyODg2IDEwMDY0NAo+ID4+Pj4+Pj4+PiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYwo+ID4+Pj4+Pj4+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYwo+ID4+Pj4+Pj4+PiBAQCAtMTE0Niw3 ICsxMTQ2LDcgQEAgc3RhdGljIHZvaWQgaGRtaV9jb25maWdfQVZJKHN0cnVjdAo+ID4+Pj4+Pj4+ PiBkd19oZG1pICpoZG1pLCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiA+Pj4+Pj4+ Pj4gICAgICAgIHU4IHZhbDsKPiA+Pj4+Pj4+Pj4gICAgICAgICAgLyogSW5pdGlhbGlzZSBpbmZv IGZyYW1lIGZyb20gRFJNIG1vZGUgKi8KPiA+Pj4+Pj4+Pj4gLSAgICBkcm1faGRtaV9hdmlfaW5m b2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSk7Cj4gPj4+Pj4+Pj4+ICsgICAg ZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUsCj4g Pj4+Pj4+Pj4+IGZhbHNlKTsKPiA+Pj4+Pj4+Pj4gICAgICAgICAgaWYgKGhkbWktPmhkbWlfZGF0 YS5lbmNfb3V0X2Zvcm1hdCA9PSBZQ0JDUjQ0NCkKPiA+Pj4+Pj4+Pj4gICAgICAgICAgICBmcmFt ZS5jb2xvcnNwYWNlID0gSERNSV9DT0xPUlNQQUNFX1lVVjQ0NDsKPiA+Pj4+Pj4+Pj4KPiA+Pj4+ Pj4+PiBkdy1oZG1pIGNvbnRyb2xsZXIgaGFzIGZ1bGwgc3VwcG9ydCBmb3IgSERNSSAyLjAgZmVh dHVyZXMuCj4gPj4+Pj4+Pj4gSXQgYWxsCj4gPj4+Pj4+Pj4gZGVwZW5kcyBvbiB0aGUgcGxhdGZv cm0gaXQgaXMgaW50ZWdyYXRlZC4KPiA+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+IEkgdGhpbmsgYWRkaW5n IGEgcGFyYW1ldGVyIHRvCj4gPj4+Pj4+Pj4gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rp c3BsYXlfbW9kZSBpcyBub3QgdGhlIGJlc3QgaWRlYQo+ID4+Pj4+Pj4+IGJlY2F1c2Ugb2YgdGhp cyBjYXNlOiBBIGJyaWRnZSBjYW4gaGF2ZSBzdXBwb3J0IGZvciBIRE1JIDIuMAo+ID4+Pj4+Pj4+ IGZlYXR1cmVzIGJ1dCB0aGUgcGxhdGZvcm0gbWF5IGxpbWl0IHRoaXMgc3VwcG9ydC4gSSBndWVz cyBpdAo+ID4+Pj4+Pj4+IGNhbgo+ID4+Pj4+Pj4+IGhhcHBlbiBpbiBvdGhlciBkcml2ZXJzIHRv by4KPiA+Pj4+Pj4+IFlvdXIgZHJpdmVyIGlzIGluIGZ1bGwgY29udHJvbCBvZiB3aGF0IGdldHMg cGFzc2VkIGhlcmUuIFNvIEkKPiA+Pj4+Pj4+IGRvbid0IHNlZQo+ID4+Pj4+Pj4gd2h5IHRoYXQg d291bGQgYmUgYSBwcm9ibGVtLgo+ID4+Pj4+Pj4KPiA+Pj4+Pj4+IEFsc28gdGhpcyBkb2Vzbid0 IHJlYWxseSBoYXZlIGFueXRoaW5nIHRvIGRvIHdpdGggdGhlCj4gPj4+Pj4+PiBjYXBhYmlsaXRp ZXMgb2YKPiA+Pj4+Pj4+IHRoZSBzb3VyY2UuIEFsbCB3ZSB3YW50IHRvIG1ha2Ugc3VyZSBpcyB0 aGF0IHdlIGRvbid0IHNlbmQgYQo+ID4+Pj4+Pj4gVklDIHRoZQo+ID4+Pj4+Pj4gc2luayB3aWxs IG5vdCB1bmRlcnN0YW5kLgo+ID4+Pj4+Pj4KPiA+Pj4+Pj4gQnV0IHRoZSBkcml2ZXIgaXMgbm90 IGF3YXJlIG9mIHRoZSBwbGF0Zm9ybSBsaW1pdGF0aW9ucywgaXRzCj4gPj4+Pj4+IGdlbmVyaWMg dG8gdGhlIGNvbnRyb2xsZXIgb25seS4gV2UgY291bGQgYWRkIGEgZmllbGQgaW4gcGRhdGEKPiA+ Pj4+Pj4gd2hpY2ggdGVsbHMgaWYgcGxhdGZvcm0gaXMgSERNSSAyLjArIGJ1dCB3aGF0IGFib3V0 IG90aGVyCj4gPj4+Pj4+IGJyaWRnZQo+ID4+Pj4+PiBkcml2ZXJzIG9yIEhETUkgZHJpdmVycz8g VGhleSB3aWxsIGhhdmUgdG8gcmVwbGljYXRlIHRoZSBzYW1lCj4gPj4+Pj4+IHRoaW5nIGFsc28u Cj4gPj4+Pj4+Cj4gPj4+Pj4+IEJlc3QgcmVnYXJkcywKPiA+Pj4+Pj4gSm9zZSBNaWd1ZWwgQWJy ZXUKPiA+Pj4+PiBJIHRoaW5rIHRoZSBkcml2ZXIgd291bGQgYmUgYXdhcmUgb2YgdGhlIHBsYXRm b3JtJ3MKPiA+Pj4+PiBjYXBhYmlsaXRpZXMsIGlzbid0IGl0ID8KPiA+Pj4+PiBFbHNlIGhvdyB3 b3VsZCBpdCBldmVuIGRlY2lkZSB3aGljaCBtb2RlIHRvIGFsbG93LCBhbmQgd2hpY2ggdG8KPiA+ Pj4+PiByZWplY3QgPwo+ID4+Pj4gVGhlIERSTSBjb3JlIHByb3BhZ2F0ZXMgdGhlIG1vZGUgdG8g dGhlIGNoYWluIG9mIGNvbmZpZ3VyYXRpb24KPiA+Pj4+IGJlZm9yZSByZWFjaGluZyB0aGUgYnJp ZGdlIGRyaXZlciBhbHNvLCB0aGVyZSBpcyBhIGNhbGxiYWNrCj4gPj4+PiBzdXBwbGllZCBieSBw ZGF0YSAobW9kZV92YWxpZCkgd2hpY2ggY2FuIGNoZWNrIGlmIHRoZSBtb2RlIGlzCj4gPj4+PiB2 YWxpZC4gKHNlZQo+ID4+Pj4gaHR0cHM6Ly91cmxkZWZlbnNlLnByb29mcG9pbnQuY29tL3YyL3Vy bD91PWh0dHBzLTNBX19jZ2l0LmZyZWVkZXNrdG9wLm9yZ18tN0VhaXJsaWVkX2xpbnV4X3RyZWVf ZHJpdmVyc19ncHVfZHJtX2JyaWRnZV9zeW5vcHN5c19kdy0yRGhkbWkuYy0zRmgtM0Rkcm0tMkRu ZXh0LTIzbjE3NDAmZD1Ed0lELWcmYz1EUEw2X1hfNkprWEZ4N0FYV3FCMHRnJnI9V0hEc2M2a2NX QWw0aTk2Vm01aEpfMTlJSml1eHhfcF9Sem8yZy11SERLdyZtPXpDMWNXUnk2UkRXaW1RRzJvODY2 eVl5bFY3YzVoX1U0YUdXalZ0bklISDAmcz1EUFpBM09nTFdPTzI5OWhqeTlkQkRCSzY2a21VR2Za QXJ4S2JlSE5NS09jJmU9Cj4gPj4+PiApCj4gPj4+Pgo+ID4+Pj4gQmVzdCByZWdhcmRzLAo+ID4+ Pj4gSm9zZSBNaWd1ZWwgQWJyZXUKPiA+Pj4+Cj4gPj4+Pgo+ID4+Pj4+IFJlZ2FyZHMKPiA+Pj4+ PiBTaGFzaGFuawo+ID4+PiBQbGVhc2UgY29ycmVjdCBtZSBpZiBteSB1bmRlcnN0YW5kaW5nIGlz IG5vdCByaWdodCwgYnV0IGRyaXZlcnMKPiA+Pj4gY2FsbCBtb2RlX3ZhbGlkKCkgdG8gcHJ1bmUv cmVqZWN0IG1vZGVzIHdoaWNoIHRoZXkgY2FudCBzdXBwb3J0Lgo+ID4+PiBhbmQgdGhleSBjYWxs IGRybV9zZXRfaW5mb2ZyYW1lX2Zyb21fdmlkZW9tb2RlKCkgZnVuY3Rpb24sIHdoZW4KPiA+Pj4g dGhleSBhcmUgZ29pbmcgYWhlYWQgdG8gdGhlIG1vZGVzZXQgd2l0aCBhIG1vZGUuCj4gPj4+IFdo eSB3b3VsZCBhIGRyaXZlciBjaG9vc2UgdG8gZG8gYSBtb2Rlc2V0LCB3aGljaCBpdCBjb3VsZCBu b3QKPiA+Pj4gc3VwcG9ydCAoc2hvdWxkbid0IG1vZGVfdmFsaWQgaGF2ZSBkcm9wcGVkIGl0IGlu IGF0b21pY19jaGVjaygpCj4gPj4+IG9yIG1heSBiZSBldmVuIGVkaWRfcGFyc2luZyB0aW1lID8p Cj4gPj4gWWVzLCB0aGF0cyBhbGwgY29ycmVjdCA6KSBJIGdvdCBhIGxpdHRsZSBvdXQgb2YgdG9w aWMgaGVyZSwgc29ycnkuCj4gPj4KPiA+PiBUaGUgdGhpbmcgSSBkb24ndCBhZ3JlZSB3aXRoIGlz IHRoZSBhZGRpbmcgb2YgdGhlIHBhcmFtZXRlciBmb3IKPiA+PiB0aGUgZHJtX2hkbWlfYXZpX2lu Zm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgpLCBiZWNhdXNlIEkgdGhpbmsKPiA+PiBpdHMgbm90 IGVub3VnaC4gSSB3aWxsIHN0YXRlIHdoeToKPiA+Pgo+ID4+IFBpY3R1cmUgdGhpcyBzY2VuYXJp bzoKPiA+PiAgICAgMSkgRURJRCBpcyByZWFkIGZyb20gSERNSSAyLjAgc2luawo+ID4+ICAgICAy KSBUaGUgMi4wIG1vZGVzIGFyZSBwcm9iZWQgYW5kIGFzIHRoZXJlIGlzIG5vIGNoZWNrIGZvcgo+ ID4+IHRoZXNlIG1vZGVzICh0aGV5IGFyZSBpbiB0aGUgQ0VBIHRhYmxlKSB0aGV5IHdpbGwgYmUg YWRkZWQgdG8KPiA+PiBtb2RlIGxpc3QKPiA+PiAgICAgMykgVGhlIG1vZGVzIGFyZSBwYXNzZWQg dG8gdXNlcnNwYWNlLiBUaGlzIGlzIGEgcHJvYmxlbQo+ID4+IGJlY2F1c2UgdXNlcnNwYWNlIGRv ZXMgbm90IHlldCB1bmRlcnN0YW5kIHRoZSBuZXcgYXNwZWN0IHJhdGlvcywKPiA+PiBidXQgbGV0 cyBpbWFnaW5lIGl0IHVuZGVyc3RhbmRzCj4gPj4gICAgIDQpIFVzZXIgc2VsZWN0cyBhbiBIRE1J IDIuMCBtb2RlCj4gPj4gICAgIDUpIFRoZSBkcm0gY29yZSBjaGVja3MgaWYgbW9kZSBpcyB2YWxp ZCB3aXRoIGRyaXZlciwgdGhlCj4gPj4gZHJpdmVyIGNhbiBzYXkgeWVzIG9yIG5vLiBMZXRzIHRo aW5rIGl0IHNheXMgeWVzIGJlY2F1c2UgdGhlCj4gPj4gcGxhdGZvcm0gc3VwcG9ydHMgSERNSSAy LjAgbW9kZXMuCj4gPj4gICAgIDYpIE1vZGUgaXMgY29tbWl0dGVkIGJ1dCBWSUMgd2lsbCBiZSBz ZXQgdG8gemVybyBhY2NvcmRpbmcgdG8KPiA+PiB0aGUgcGF0Y2gKPiA+IFRoYXQncyBvbmx5IGJl Y2F1c2UgeW91IGhhdmVuJ3QgdXBkYXRlZCB5b3VyIGRyaXZlciB0byBwYXNzICd0cnVlJwo+ID4g YXMgbmVlZGVkLgo+ID4KPiA+IFRoZSBvdGhlciBvcHRpb24gd291bGQgYmUgdG8gcGFzcyB0aGUg Y29ubmVjdG9yIGluc3RlYWQgb2YgYSBib29sZWFuLAo+ID4gYnV0IGFjY29yZGluZyB0byBTaGFz aGFuayB0aGF0IHdvdWxkIHJlcXVpcmVkIGEgbG90IG9mIHBsdW1iaW5nIGNoYW5nZXMKPiA+IGJl Y2F1c2UgbWFueSBkcml2ZXJzIGRvbid0IGhhdmUgdGhlIGNvbm5lY3RvciBpbW1lZGlhdGVseSBh dmFpbGFibGUKPiA+IHdoZXJlIHRoZXkgY2FsbCB0aGVzZSBmdW5jdGlvbnMuIEFuZCBwbHVtYmlu ZyB0aGUgY29ubmVjdG9yIHRocm91Z2gKPiA+IHByb2JhYmx5IHJlcXVpcmVzIGludGltYXRlIGtu b3dsZWRnZSBvZiBlYWNoIGRyaXZlciwgYW5kIHRodXMgaXMgbm90Cj4gPiBzb21ldGhpbmcgd2Ug d291bGQgYmUgY29uZm9ydGFibGUgZG9pbmcuIEhlbmNlIEkgdGhpbmsgdGhlIGJvb2wgaXMgdGhl Cj4gPiBiZXN0IHNob3J0IHRlcm0gc29sdXRpb24sIGxldHRpbmcgZWFjaCBkcml2ZXIgYXV0aG9y IGZpZ3VyZSBvdXQgaG93IHRvCj4gPiBnZXQgYXQgdGhlIHJpZ2h0IGNvbm5lY3RvciBhbmQgcGFz cyBvbiB0aGUgcmVxdWlyZWQgaW5mb3JtYXRpb24uCj4gPgo+ID4gSSBkb24ndCByZWFsbHkgdW5k ZXJzdGFuZCB3aGF0IHlvdSdyZSBldmVuIHN1Z2dlc3RpbmcgYXMgYW4gYWx0ZXJuYXRpdmUuCj4g PiBXZSBuZWVkIHRvIGtub3cgd2hhdCB0aGUgc2luayBzdXBwb3J0cywgYW5kIGlmIHlvdXIgZHJp dmVyIGlzIGFyY2hpdGVjdGVkCj4gPiBpbiBzb21lIGNyYXp5IHdheSB3aGVyZSB5b3UgZG9uJ3Qg ZXZlbiBoYXZlIHRoYXQgaW5mb3JtYXRpb24gd2hlcmUgaXQncwo+ID4gbmVlZGVkLCBJIGRvbid0 IHRoaW5rIHRoZXJlJ3MgYW55dGhpbmcgYW55b25lIGNhbiBkby4KPiA+Cj4gCj4gSSBzdWJtaXR0 ZWQgYSBSRkMgeWVzdGVyZGF5IHdoZXJlIHRoZXJlIHdhcyBhbiBhbHRlcm5hdGl2ZQo+IFsxXVsy XVszXVs0XVs1XVs2XTogRG9uJ3QgZXhwb3NlIDIuMCBtb2RlcyB0byBkcml2ZXJzIGFuZCB0bwo+ IHVzZXJzcGFjZSB1bmxlc3MgYXNrZWQgdG8uCgpJIGRvbid0IHRoaW5rIHRoYXQncyBhIGdvb2Qg cGxhbi4gV2UgYWxyZWFkeSBoaXQgYSBtYXNzaXZlIHNuYWcgd2l0aAp0aGUgYXNwZWN0IHJhdGlv IHVhcGkgY2hhbmdlcy4gU28gd2Ugc2hvdWxkIGFpbSBmb3Igc29tZXRoaW5nIHRoYXQKcmVxdWly ZXMgbm8gdXNlcnNwYWNlIGNoYW5nZXMuIEZvciB0aGlzIHN0dWZmIEkgc2VlIG5vIHJlYXNvbiB0 bwpib3RoZXIgdXNlcnNwYWNlIHdpdGggdGhlc2UgZGV0YWlscy4gQSBtb2RlIGlzIGp1c3QgYSBt b2RlLCB3aGV0aGVyCml0IHdhcyBzcGVjaWZpZWQgaW4gSERNSSAyLjAgb3IgRE1UIG9yIENWVCBp cyBxdWl0ZSBpcnJlbGV2YW50LgoKPiBUaGUgaW5mb2ZyYW1lIHBhcnQgaXMgYSBkaWZmZXJlbnQK PiB0b3BpYyB0aG91Z2guIFdlIGNvdWxkIGFkZCBhIGhlbHBlciBpbiB0aGUgRFJNIEVESUQgd2hp Y2ggY2hlY2tzCj4gaWYgc2luayBpcyAyLjAgYW5kIHRoZW4sCgpCdXQgdGhhdCBuZWVkcyB0aGUg Y29ubmVjdG9yLCB3aGljaCBzb21lIGRyaXZlcnMgZG9uJ3QgaGF2ZSByZWFkeQphdCBoYW5kLiBB bmQgd2UgYWxyZWFkeSBoYXZlIHRoYXQgaW5mb3JtYXRpb24gcHJlLXBhcnNlZCBpbiB0aGUKZGlz cGxheV9pbmZvIHNvIHdlIHByZXR0eSBtdWNoIGFscmVhZHkgaGF2ZSB3aGF0IHlvdSBzdWdnZXN0 LgpUaGUgb25seSB0aGluZyBpcyB0aGF0IHdlIHJlcXVpcmUgdGhlIGRyaXZlciB0byBnZXQgdGhh dCBpbmZvcm1hdGlvbgpzaW5jZSB0aGUgaW5mb2ZyYW1lIGNvZGUgZG9lc24ndCBrbm93IGhvdyB0 byBkbyB0aGF0IGZvciBldmVyeQpkcml2ZXIuCgo+IGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIGZs YWcgSQo+IGludHJvZHVjZWQgaW4gdGhlIFJGQyBwYXRjaCA0LzUgd2Ugd291bGQga25vdyB0aGF0 IGRyaXZlcgo+IHN1cHBvcnRzIDIuMCBhbmQgc2luayBpcyAyLjAsIHRoZW4gd2Ugd291bGQgZWxp bWluYXRlIHRoZSBib29sLgo+IFdoYXQgZG8geW91IHRoaW5rPwo+IAo+IEJlc3QgcmVnYXJkcywK PiBKb3NlIE1pZ3VlbCBBYnJldQo+IAo+IFsxXQo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL2FyY2hpdmVzL2RyaS1kZXZlbC8yMDE3LU1hcmNoLzEzNjU5Ni5odG1sCj4gWzJdIGh0dHBz Oi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcGF0Y2gvOTY0MDIxNS8KPiBbM10gaHR0cHM6Ly9wYXRj aHdvcmsua2VybmVsLm9yZy9wYXRjaC85NjQwMjE5Lwo+IFs0XSBodHRwczovL3BhdGNod29yay5r ZXJuZWwub3JnL3BhdGNoLzk2NDAyMDcvCj4gWzVdIGh0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5v cmcvcGF0Y2gvOTY0MDIxNy8KPiBbNl0gaHR0cHM6Ly9wYXRjaHdvcmsua2VybmVsLm9yZy9wYXRj aC85NjQwMjA1LwoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==