From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [Intel-gfx] [v10 1/3] drm: Add HDMI colorspace property Date: Mon, 4 Feb 2019 19:24:07 +0200 Message-ID: <20190204172407.GI20097@intel.com> References: <1548852866-32349-1-git-send-email-uma.shankar@intel.com> <1548852866-32349-2-git-send-email-uma.shankar@intel.com> <20190201185011.GB20097@intel.com> <20190204152509.GH20097@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Shankar, Uma" Cc: "intel-gfx@lists.freedesktop.org" , "Syrjala, Ville" , "dri-devel@lists.freedesktop.org" , "Lankhorst, Maarten" List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBGZWIgMDQsIDIwMTkgYXQgMDU6MDg6NDBQTSArMDAwMCwgU2hhbmthciwgVW1hIHdy b3RlOgo+IAo+IAo+ID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID5Gcm9tOiBWaWxsZSBT eXJqw6Rsw6QgW21haWx0bzp2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbV0KPiA+U2VudDog TW9uZGF5LCBGZWJydWFyeSA0LCAyMDE5IDg6NTUgUE0KPiA+VG86IFNoYW5rYXIsIFVtYSA8dW1h LnNoYW5rYXJAaW50ZWwuY29tPgo+ID5DYzogaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZzsgU3lyamFsYSwgVmlsbGUgPHZpbGxlLnN5cmphbGFAaW50ZWwuY29tPjsKPiA+TGFua2hvcnN0 LCBNYWFydGVuIDxtYWFydGVuLmxhbmtob3JzdEBpbnRlbC5jb20+OyBkcmktCj4gPmRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwo+ID5TdWJqZWN0OiBSZTogW0ludGVsLWdmeF0gW3YxMCAxLzNd IGRybTogQWRkIEhETUkgY29sb3JzcGFjZSBwcm9wZXJ0eQo+ID4KPiA+T24gRnJpLCBGZWIgMDEs IDIwMTkgYXQgMDg6NTA6MTFQTSArMDIwMCwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOgo+ID4+IE9u IFdlZCwgSmFuIDMwLCAyMDE5IGF0IDA2OjI0OjI0UE0gKzA1MzAsIFVtYSBTaGFua2FyIHdyb3Rl Ogo+ID4+ID4gQ3JlYXRlIGEgbmV3IGNvbm5lY3RvciBwcm9wZXJ0eSB0byBwcm9ncmFtIGNvbG9y c3BhY2UgdG8gc2luawo+ID4+ID4gZGV2aWNlcy4gTW9kZXJuIHNpbmsgZGV2aWNlcyBzdXBwb3J0 IG1vcmUgdGhhbiAxIHR5cGUgb2YgY29sb3JzcGFjZQo+ID4+ID4gbGlrZSA2MDEsIDcwOSwgQlQy MDIwIGV0Yy4gVGhpcyBoZWxwcyB0byBzd2l0Y2ggYmFzZWQgb24gY29udGVudAo+ID4+ID4gdHlw ZSB3aGljaCBpcyB0byBiZSBkaXNwbGF5ZWQuIFRoZSBkZWNpc2lvbiBsaWVzIHdpdGggY29tcG9z aXRvcnMgYXMKPiA+PiA+IHRvIGluIHdoaWNoIHNjZW5hcmlvcywgYSBwYXJ0aWN1bGFyIGNvbG9y c3BhY2Ugd2lsbCBiZSBwaWNrZWQuCj4gPj4gPgo+ID4+ID4gVGhpcyB3aWxsIGJlIGhlbHBmdWwg bW9zdGx5IHRvIHN3aXRjaCB0byBoaWdoZXIgZ2FtdXQgY29sb3JzcGFjZXMKPiA+PiA+IGxpa2Ug QlQyMDIwIHdoZW4gdGhlIG1lZGlhIGNvbnRlbnQgaXMgZW5jb2RlZCBhcyBCVDIwMjAuIFRoZXJl YnkKPiA+PiA+IGdpdmluZyBhIGdvb2QgdmlzdWFsIGV4cGVyaWVuY2UgdG8gdXNlcnMuCj4gPj4g Pgo+ID4+ID4gVGhlIGV4cGVjdGF0aW9uIGZyb20gdXNlcnNwYWNlIGlzIHRoYXQgaXQgc2hvdWxk IHBhcnNlIHRoZSBFRElEIGFuZAo+ID4+ID4gZ2V0IHN1cHBvcnRlZCBjb2xvcnNwYWNlcy4gVXNl IHRoaXMgcHJvcGVydHkgYW5kIHN3aXRjaCB0byB0aGUgb25lCj4gPj4gPiBzdXBwb3J0ZWQuIFNp bmsgc3VwcG9ydGVkIGNvbG9yc3BhY2VzIHNob3VsZCBiZSByZXRyaWV2ZWQgYnkKPiA+PiA+IHVz ZXJzcGFjZSBmcm9tIEVESUQgYW5kIGRyaXZlciB3aWxsIG5vdCBleHBsaWNpdGx5IGV4cG9zZSB0 aGVtLgo+ID4+ID4KPiA+PiA+IEJhc2ljYWxseSB0aGUgZXhwZWN0YXRpb24gZnJvbSB1c2Vyc3Bh Y2UgaXM6Cj4gPj4gPiAgLSBTZXQgdXAgQ1JUQyBERUdBTU1BL0NUTS9HQU1NQSB0byBjb252ZXJ0 IHRvIHNvbWUgc2luawo+ID4+ID4gICAgY29sb3JzcGFjZQo+ID4+ID4gIC0gU2V0IHRoaXMgbmV3 IHByb3BlcnR5IHRvIGxldCB0aGUgc2luayBrbm93IHdoYXQgaXQKPiA+PiA+ICAgIGNvbnZlcnRl ZCB0aGUgQ1JUQyBvdXRwdXQgdG8uCj4gPj4gPgo+ID4+ID4gdjI6IEFkZHJlc3NlZCBNYWFydGVu IGFuZCBWaWxsZSdzIHJldmlldyBjb21tZW50cy4gRW5oYW5jZWQgdGhlCj4gPj4gPiBjb2xvcnNw YWNlIGVudW0gdG8gaW5jb3Jwb3JhdGUgYm90aCBIRE1JIGFuZCBEUCBzdXBwb3J0ZWQKPiA+PiA+ IGNvbG9yc3BhY2VzLiBBbHNvLCBhZGRlZCBhIGRlZmF1bHQgb3B0aW9uIGZvciBjb2xvcnNwYWNl Lgo+ID4+ID4KPiA+PiA+IHYzOiBSZW1vdmVkIEFkb2JlIHJlZmVyZW5jZXMgZnJvbSBlbnVtIGRl ZmluaXRpb25zIGFzIHBlciBWaWxsZSwKPiA+PiA+IEhhbnMgVmVya3VpbCBhbmQgSm9uYXMgS2Fy bG1hbiBzdWdnZXN0aW9ucy4gQ2hhbmdlZCBEZWZhdWx0IHRvIGFuCj4gPj4gPiB1bnNldCBzdGF0 ZSB3aGVyZSBkcml2ZXIgd2lsbCBhc3NpZ24gdGhlIGNvbG9yc3BhY2UgaXMgbm90IGNob3NlbiBi eQo+ID4+ID4gdXNlciwgc3VnZ2VzdGVkIGJ5IFZpbGxlIGFuZCBNYWFydGVuLiBBZGRyZXNzZWQg b3RoZXIgbWlzYyByZXZpZXcKPiA+PiA+IGNvbW1lbnRzIGZyb20gTWFhcnRlbi4gU3BsaXQgdGhl IGNoYW5nZXMgdG8gaGF2ZSBzZXBhcmF0ZSBjb2xvcnNwYWNlCj4gPj4gPiBwcm9wZXJ0eSBmb3Ig RFAgYW5kIEhETUkuCj4gPj4gPgo+ID4+ID4gdjQ6IEFkZHJlc3NlZCBDaHJpcyBhbmQgVmlsbGUn cyByZXZpZXcgY29tbWVudHMsIGFuZCBjcmVhdGVkIGEKPiA+PiA+IGNvbW1vbiBjb2xvcnNwYWNl IHByb3BlcnR5IGZvciBEUCBhbmQgSERNSSwgZmlsdGVyZWQgdGhlIGxpc3QgYmFzZWQKPiA+PiA+ IG9uIHRoZSBjb2xvcnNwYWNlcyBzdXBwb3J0ZWQgYnkgdGhlIHJlc3BlY3RpdmUgcHJvdG9jb2wg c3RhbmRhcmQuCj4gPj4gPgo+ID4+ID4gdjU6IE1hZGUgdGhlIHByb3BlcnR5IGNyZWF0aW9uIGhl bHBlciBhY2NlcHQgZW51bSBsaXN0IGJhc2VkIG9uCj4gPj4gPiBwbGF0Zm9ybSBjYXBhYmlsdGll cyBhcyBzdWdnZXN0ZWQgYnkgU2hhc2hhbmsuIENvbnNvbGlkYXRlZCBIRE1JIGFuZAo+ID4+ID4g RFAgcHJvcGVydHkgY3JlYXRpb24gaW4gdGhlIGNvbW1vbiBoZWxwZXIuCj4gPj4gPgo+ID4+ID4g djY6IEFkZHJlc3NlZCBTaGFzaGFuaydzIHJldmlldyBjb21tZW50cy4KPiA+PiA+Cj4gPj4gPiB2 NzogQWRkZWQgZGVmaW5lcyBpbnN0ZWFkIG9mIGVudW0gaW4gdWFwaSBhcyBwZXIgQnJpYW4gU3Rh cmtleSdzCj4gPj4gPiBzdWdnZXN0aW9uIGluIG9yZGVyIHRvIGdvIHdpdGggc3RyaW5nIG1hdGNo aW5nIGF0IHVzZXJzcGFjZS4gVXBkYXRlZAo+ID4+ID4gdGhlIGNvbW1pdCBtZXNzYWdlIHRvIGFk ZCBtb3JlIGRldGFpbHMgYXMgd2VsbCBrZXJuZWwgZG9jcy4KPiA+PiA+Cj4gPj4gPiB2ODogQWRk cmVzc2VkIE1hYXJ0ZW4ncyByZXZpZXcgY29tbWVudHMuCj4gPj4gPgo+ID4+ID4gdjk6IFJlbW92 ZWQgbWFjcm8gZGVmaW5lcyBmcm9tIHVhcGkgYXMgcGVyIEJyaWFuIFN0YXJrZXkgYW5kIERhbmll bAo+ID4+ID4gU3RvbmUncyBjb21tZW50cyBhbmQgbW92ZWQgdG8gZHJtIGluY2x1ZGUgZmlsZS4g TW92ZWQgYmFjayB0byBvbGRlcgo+ID4+ID4gZGVzaWduIHdpdGggZXhwb3NpbmcgYWxsIEhETUkg Y29sb3JzcGFjZXMgdG8gdXNlcnNwYWNlIHNpbmNlCj4gPj4gPiBpbmZvZnJhbWUgY2FwYWJpbGl0 eSBpcyB0aGVyZSBldmVuIG9uIGxlZ2FjeSBwbGF0Zm9ybXMsIGFzIHBlcgo+ID4+ID4gVmlsbGUn cyByZXZpZXcgY29tbWVudHMuCj4gPj4gPgo+ID4+ID4gdjEwOiBGaXhlZCBzcGFyc2Ugd2Fybmlu Z3MsIHVwZGF0ZWQgdGhlIFJCIGZyb20gTWFhcnRlbiBhbmQgSmFuaSdzIGFjay4KPiA+PiA+Cj4g Pj4gPiBTaWduZWQtb2ZmLWJ5OiBVbWEgU2hhbmthciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgo+ ID4+ID4gQWNrZWQtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4gPj4g PiBSZXZpZXdlZC1ieTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29t Pgo+ID4+ID4gUmV2aWV3ZWQtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3Jz dEBsaW51eC5pbnRlbC5jb20+Cj4gPj4gPiAtLS0KPiA+PiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pY191YXBpLmMgfCAgNCArKysKPiA+PiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5l Y3Rvci5jICAgfCA3NQo+ID4rKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK PiA+PiA+ICBpbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggICAgICAgfCA0NiArKysrKysrKysr KysrKysrKysrKysrKysKPiA+PiA+ICAzIGZpbGVzIGNoYW5nZWQsIDEyNSBpbnNlcnRpb25zKCsp Cj4gPj4gPgo+ID4+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3Vh cGkuYwo+ID4+ID4gYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMKPiA+PiA+IGlu ZGV4IDlhMWY0MWEuLjliNWQ0NGYgMTAwNjQ0Cj4gPj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pY191YXBpLmMKPiA+PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWlj X3VhcGkuYwo+ID4+ID4gQEAgLTc0Niw2ICs3NDYsOCBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNf Y29ubmVjdG9yX3NldF9wcm9wZXJ0eShzdHJ1Y3QKPiA+ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAo+ID4+ID4gIAkJCXJldHVybiAtRUlOVkFMOwo+ID4+ID4gIAkJfQo+ID4+ID4gIAkJc3RhdGUt PmNvbnRlbnRfcHJvdGVjdGlvbiA9IHZhbDsKPiA+PiA+ICsJfSBlbHNlIGlmIChwcm9wZXJ0eSA9 PSBjb25uZWN0b3ItPmNvbG9yc3BhY2VfcHJvcGVydHkpIHsKPiA+PiA+ICsJCXN0YXRlLT5jb2xv cnNwYWNlID0gdmFsOwo+ID4+ID4gIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+d3Jp dGViYWNrX2ZiX2lkX3Byb3BlcnR5KSB7Cj4gPj4gPiAgCQlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVy ICpmYiA9IGRybV9mcmFtZWJ1ZmZlcl9sb29rdXAoZGV2LAo+ID5OVUxMLCB2YWwpOwo+ID4+ID4g IAkJaW50IHJldCA9IGRybV9hdG9taWNfc2V0X3dyaXRlYmFja19mYl9mb3JfY29ubmVjdG9yKHN0 YXRlLAo+ID5mYik7Cj4gPj4gPiBAQCAtODE0LDYgKzgxNiw4IEBAIHN0YXRpYyBpbnQgZHJtX2F0 b21pY19jb25uZWN0b3Jfc2V0X3Byb3BlcnR5KHN0cnVjdAo+ID5kcm1fY29ubmVjdG9yICpjb25u ZWN0b3IsCj4gPj4gPiAgCQkqdmFsID0gc3RhdGUtPnBpY3R1cmVfYXNwZWN0X3JhdGlvOwo+ID4+ ID4gIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+Y29udGVudF90eXBlX3Byb3BlcnR5 KSB7Cj4gPj4gPiAgCQkqdmFsID0gc3RhdGUtPmNvbnRlbnRfdHlwZTsKPiA+PiA+ICsJfSBlbHNl IGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPmNvbG9yc3BhY2VfcHJvcGVydHkpIHsKPiA+PiA+ ICsJCSp2YWwgPSBzdGF0ZS0+Y29sb3JzcGFjZTsKPiA+PiA+ICAJfSBlbHNlIGlmIChwcm9wZXJ0 eSA9PSBjb25uZWN0b3ItPnNjYWxpbmdfbW9kZV9wcm9wZXJ0eSkgewo+ID4+ID4gIAkJKnZhbCA9 IHN0YXRlLT5zY2FsaW5nX21vZGU7Cj4gPj4gPiAgCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29u bmVjdG9yLT5jb250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHkpIHsKPiA+PiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gPj4gPiBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fY29ubmVjdG9yLmMgaW5kZXggODQ3NTM5Ni4uZWQxMGRkOSAxMDA2NDQKPiA+PiA+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiA+PiA+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiA+PiA+IEBAIC04MjYsNiArODI2LDMwIEBAIGludCBk cm1fZGlzcGxheV9pbmZvX3NldF9idXNfZm9ybWF0cyhzdHJ1Y3QKPiA+PiA+IGRybV9kaXNwbGF5 X2luZm8gKmluZm8sICB9Owo+ID4+ID4gRFJNX0VOVU1fTkFNRV9GTihkcm1fZ2V0X2NvbnRlbnRf cHJvdGVjdGlvbl9uYW1lLAo+ID5kcm1fY3BfZW51bV9saXN0KQo+ID4+ID4KPiA+PiA+ICtzdGF0 aWMgY29uc3Qgc3RydWN0IGRybV9wcm9wX2VudW1fbGlzdCBoZG1pX2NvbG9yc3BhY2VzW10gPSB7 Cj4gPj4gPiArCS8qIEZvciBEZWZhdWx0IGNhc2UsIGRyaXZlciB3aWxsIHNldCB0aGUgY29sb3Jz cGFjZSAqLwo+ID4+ID4gKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX0RFRkFVTFQsICJEZWZhdWx0 IiB9LAo+ID4+ID4gKwkvKiBTdGFuZGFyZCBEZWZpbml0aW9uIENvbG9yaW1ldHJ5IGJhc2VkIG9u IENFQSA4NjEgKi8KPiA+PiA+ICsJeyBEUk1fTU9ERV9DT0xPUklNRVRSWV9JVFVfNjAxLCAiSVRV XzYwMSIgfSwKPiA+Pgo+ID4+IFRoZSBzcGVjIG5vIGxvbmdlciBoYXMgdGhlIEJULjYwMSBub3Rl IGhlcmUuIFdoaWNoIEkgZ3Vlc3MgbWFrZXMgc2Vuc2UKPiA+PiBzaW5jZSBCVC42MDEgZGlkbid0 IGV2ZW4gc3BlY2lmeSBhbnkgY29sb3IgcHJpbWFyaWVzIGluaXRpYWxseS4gTGF0ZXIKPiA+PiB2 ZXJzaW9ucyBkbyBieSB0aGV5IGhhdmUgZGlzdGluY3QgcHJpbWFyaWVzIGZvciBOVFNDIHZzLiBQ QUwuIFRoZSBzcGVjCj4gPj4gY2FsbHMgdGhpcyBqdXN0IFNNUFRFIDE3ME0gbm93LCBzbyBJIHRo aW5rIHdlIHNob3VsZCBkbyB0aGUgc2FtZS4KPiAKPiBPayBTdXJlLCBXaWxsIHVwZGF0ZSB0aGlz IG5hbWUuIFllYWggdGhpcyB3YXMgYSBsaXR0bGUgY29uZnVzaW5nIGFzIHRvIHdoYXQgbmFtZSB0 bwo+IGdvIHdpdGguIFdpbGwgdGFrZSB0aGUgb25lIGRlZmluZWQgbm93IGluIHNwZWMgaS5lLiwg U01QVEUgMTcwTS4KPiAKPiA+Pgo+ID4+ID4gKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX0lUVV83 MDksICJJVFVfNzA5IiB9LAo+ID4+ID4gKwkvKiBTdGFuZGFyZCBEZWZpbml0aW9uIENvbG9yaW1l dHJ5IGJhc2VkIG9uIElFQyA2MTk2Ni0yLTQgKi8KPiA+PiA+ICsJeyBEUk1fTU9ERV9DT0xPUklN RVRSWV9YVl9ZQ0NfNjAxLCAiWFZfWUNDXzYwMSIgfSwKPiA+PiA+ICsJLyogSGlnaCBEZWZpbml0 aW9uIENvbG9yaW1ldHJ5IGJhc2VkIG9uIElFQyA2MTk2Ni0yLTQgKi8KPiA+PiA+ICsJeyBEUk1f TU9ERV9DT0xPUklNRVRSWV9YVl9ZQ0NfNzA5LCAiWFZfWUNDXzcwOSIgfSwKPiA+PiA+ICsJLyog Q29sb3JpbWV0cnkgYmFzZWQgb24gSUVDIDYxOTY2LTItMS9BbWVuZG1lbnQgMSAqLwo+ID4+ID4g Kwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX1NfWUNDXzYwMSwgIlNfWUNDXzYwMSIgfSwKPiA+PiA+ ICsJLyogQ29sb3JpbWV0cnkgYmFzZWQgb24gSUVDIDYxOTY2LTItNSBbMzNdICovCj4gPj4gPiAr CXsgRFJNX01PREVfQ09MT1JJTUVUUllfT1BZQ0NfNjAxLCAib3BZQ0NfNjAxIiB9LAo+ID4+Cj4g Pj4gVGhlIHNwZWxsaW5nIGlzIHJhdGhlciBpbmNvbnNpc3RlbnQgaGVyZS4gWFZfIHZzLiBTXyB2 cy4gb3AuIFdoeSBub3QKPiA+PiB1c2UgdGhlIHNhbWUgc3BlbGxpbmcgc3R5bGUgZm9yIGFsbD8K PiAKPiBUaGlzIGlzIHRoZSBuYW1lcyBkZWZpbmVkIGluIHNwZWMgYW5kIEkgdXNlZCBhcyBpcy4g SSB3aWxsIG1ha2UgdGhlbSAgYXMKPiBYVllDQywgU1lDQyBhbmQgT1BZQ0MgZm9yIGNvbnNpc3Rl bmN5LiBIb3BlIHRoaXMgaXMgb2sgPwo+IAo+ID4+Cj4gPj4gPiArCS8qIENvbG9yaW1ldHJ5IGJh c2VkIG9uIElFQyA2MTk2Ni0yLTUgKi8KPiA+PiA+ICsJeyBEUk1fTU9ERV9DT0xPUklNRVRSWV9P UFJHQiwgIm9wUkdCIiB9LAo+ID4+ID4gKwkvKiBDb2xvcmltZXRyeSBiYXNlZCBvbiBJVFUtUiBC VC4yMDIwICovCj4gPj4gPiArCXsgRFJNX01PREVfQ09MT1JJTUVUUllfQlQyMDIwX1JHQiwgIkJU MjAyMF9SR0IiIH0sCj4gPj4gPiArCS8qIENvbG9yaW1ldHJ5IGJhc2VkIG9uIElUVS1SIEJULjIw MjAgKi8KPiA+PiA+ICsJeyBEUk1fTU9ERV9DT0xPUklNRVRSWV9CVDIwMjBfWUNDLCAiQlQyMDIw X1lDQyIgfSwKPiA+PiA+ICsJLyogQ29sb3JpbWV0cnkgYmFzZWQgb24gSVRVLVIgQlQuMjAyMCAq Lwo+ID4+ID4gKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX0JUMjAyMF9DWUNDLCAiQlQyMDIwX0NZ Q0MiIH0sCj4gPj4KPiA+PiAiQlQyMDIwIiB2cy4gIklUVV83MDkiIGlzIHJhdGhlciBpbmNvbnNp c3RlbnQgYXMgd2VsbC4KPiAKPiBPaywgd2lsbCB1cGRhdGUgdGhpcy4KPiAKPiA+PiBXZSBhbHNv IHNlZW0gdG8gYmUgbWlzc2luZyB0aGUgdHdvIERDSS1QMyB0aGluZ3MgaGVyZS4KPiAKPiBZZWFo LCBJIGluaXRpYWxseSBkaWQgYXMgcGVyIDg2MS5GIHdoZXJlIGl0IHdhcyBub3QgdGhlcmUuIFRo aXMgZ290IGFkZGVkIGluIDg2MS5HLAo+IHdpbGwgIGFkZCB0aGlzLgo+IAo+ID4+ID4gK307Cj4g Pj4gPiArCj4gPj4gPiAgLyoqCj4gPj4gPiAgICogRE9DOiBzdGFuZGFyZCBjb25uZWN0b3IgcHJv cGVydGllcwo+ID4+ID4gICAqCj4gPj4gPiBAQCAtMTU0OCw2ICsxNTcyLDU3IEBAIGludAo+ID4+ ID4gZHJtX21vZGVfY3JlYXRlX2FzcGVjdF9yYXRpb19wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQo+ID4+ID4gRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9jcmVhdGVfYXNwZWN0X3JhdGlv X3Byb3BlcnR5KTsKPiA+PiA+Cj4gPj4gPiAgLyoqCj4gPj4gPiArICogRE9DOiBzdGFuZGFyZCBj b25uZWN0b3IgcHJvcGVydGllcwo+ID4+ID4gKyAqCj4gPj4gPiArICogQ29sb3JzcGFjZToKPiA+ PiA+ICsgKiAgICAgZHJtX21vZGVfY3JlYXRlX2NvbG9yc3BhY2VfcHJvcGVydHkgLSBjcmVhdGUg Y29sb3JzcGFjZSBwcm9wZXJ0eQo+ID4+ID4gKyAqICAgICBUaGlzIHByb3BlcnR5IGhlbHBzIHNl bGVjdCBhIHN1aXRhYmxlIGNvbG9yc3BhY2UgYmFzZWQgb24gdGhlIHNpbmsKPiA+PiA+ICsgKiAg ICAgY2FwYWJpbGl0eS4gTW9kZXJuIHNpbmsgZGV2aWNlcyBzdXBwb3J0IHdpZGVyIGdhbXV0IGxp a2UgQlQyMDIwLgo+ID4+ID4gKyAqICAgICBUaGlzIGhlbHBzIHN3aXRjaCB0byBCVDIwMjAgbW9k ZSBpZiB0aGUgQlQyMDIwIGVuY29kZWQgdmlkZW8gc3RyZWFtCj4gPj4gPiArICogICAgIGlzIGJl aW5nIHBsYXllZCBieSB0aGUgdXNlciwgc2FtZSBmb3IgYW55IG90aGVyIGNvbG9yc3BhY2UuIFRo ZXJlYnkKPiA+PiA+ICsgKiAgICAgZ2l2aW5nIGEgZ29vZCB2aXN1YWwgZXhwZXJpZW5jZSB0byB1 c2Vycy4KPiA+PiA+ICsgKgo+ID4+ID4gKyAqICAgICBUaGUgZXhwZWN0YXRpb24gZnJvbSB1c2Vy c3BhY2UgaXMgdGhhdCBpdCBzaG91bGQgcGFyc2UgdGhlIEVESUQKPiA+PiA+ICsgKiAgICAgYW5k IGdldCBzdXBwb3J0ZWQgY29sb3JzcGFjZXMuIFVzZSB0aGlzIHByb3BlcnR5IGFuZCBzd2l0Y2gg dG8gdGhlCj4gPj4gPiArICogICAgIG9uZSBzdXBwb3J0ZWQuIFNpbmsgc3VwcG9ydGVkIGNvbG9y c3BhY2VzIHNob3VsZCBiZSByZXRyaWV2ZWQgYnkKPiA+PiA+ICsgKiAgICAgdXNlcnNwYWNlIGZy b20gRURJRCBhbmQgZHJpdmVyIHdpbGwgbm90IGV4cGxpY2l0bHkgZXhwb3NlIHRoZW0uCj4gPj4g PiArICoKPiA+PiA+ICsgKiAgICAgQmFzaWNhbGx5IHRoZSBleHBlY3RhdGlvbiBmcm9tIHVzZXJz cGFjZSBpczoKPiA+PiA+ICsgKiAgICAgIC0gU2V0IHVwIENSVEMgREVHQU1NQS9DVE0vR0FNTUEg dG8gY29udmVydCB0byBzb21lIHNpbmsKPiA+PiA+ICsgKiAgICAgICAgY29sb3JzcGFjZQo+ID4+ ID4gKyAqICAgICAgLSBTZXQgdGhpcyBuZXcgcHJvcGVydHkgdG8gbGV0IHRoZSBzaW5rIGtub3cg d2hhdCBpdAo+ID4+ID4gKyAqICAgICAgICBjb252ZXJ0ZWQgdGhlIENSVEMgb3V0cHV0IHRvLgo+ ID4+ID4gKyAqICAgICAgLSBUaGlzIHByb3BlcnR5IGlzIGp1c3QgdG8gaW5mb3JtIHNpbmsgd2hh dCBjb2xvcnNwYWNlCj4gPj4gPiArICogICAgICAgIHNvdXJjZSBpcyB0cnlpbmcgdG8gZHJpdmUu Cj4gPj4gPiArICoKPiA+PiA+ICsgKiBDYWxsZWQgYnkgYSBkcml2ZXIgdGhlIGZpcnN0IHRpbWUg aXQncyBuZWVkZWQsIG11c3QgYmUgYXR0YWNoZWQKPiA+PiA+ICt0byBkZXNpcmVkCj4gPj4gPiAr ICogY29ubmVjdG9ycy4KPiA+PiA+ICsgKi8KPiA+PiA+ICtpbnQgZHJtX21vZGVfY3JlYXRlX2Nv bG9yc3BhY2VfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IKPiA+PiA+ICsqY29ubmVjdG9y KSB7Cj4gPj4gPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKPiA+ PiA+ICsJc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcDsKPiA+PiA+ICsKPiA+PiA+ICsJaWYgKGNv bm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUgPT0gRFJNX01PREVfQ09OTkVDVE9SX0hETUlBIHx8Cj4g Pj4gPiArCSAgICBjb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlID09IERSTV9NT0RFX0NPTk5FQ1RP Ul9IRE1JQikgewo+ID4+ID4gKwkJcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfZW51bShkZXYs Cj4gPkRSTV9NT0RFX1BST1BfRU5VTSwKPiA+PiA+ICsJCQkJCQkiQ29sb3JzcGFjZSIsCj4gPj4g PiArCQkJCQkJaGRtaV9jb2xvcnNwYWNlcywKPiA+PiA+ICsKPiA+CUFSUkFZX1NJWkUoaGRtaV9j b2xvcnNwYWNlcykpOwo+ID4+ID4gKwkJaWYgKCFwcm9wKQo+ID4+ID4gKwkJCXJldHVybiAtRU5P TUVNOwo+ID4+ID4gKwl9IGVsc2Ugewo+ID4+ID4gKwkJRFJNX0RFQlVHX0tNUygiQ29sb3JzcGFj ZSBwcm9wZXJ0eSBub3Qgc3VwcG9ydGVkXG4iKTsKPiA+PiA+ICsJCXJldHVybiAwOwo+ID4+ID4g Kwl9Cj4gPj4gPiArCj4gPj4gPiArCWNvbm5lY3Rvci0+Y29sb3JzcGFjZV9wcm9wZXJ0eSA9IHBy b3A7Cj4gPj4gPiArCj4gPj4gPiArCXJldHVybiAwOwo+ID4+ID4gK30KPiA+PiA+ICtFWFBPUlRf U1lNQk9MKGRybV9tb2RlX2NyZWF0ZV9jb2xvcnNwYWNlX3Byb3BlcnR5KTsKPiA+PiA+ICsKPiA+ PiA+ICsvKioKPiA+PiA+ICAgKiBkcm1fbW9kZV9jcmVhdGVfY29udGVudF90eXBlX3Byb3BlcnR5 IC0gY3JlYXRlIGNvbnRlbnQgdHlwZSBwcm9wZXJ0eQo+ID4+ID4gICAqIEBkZXY6IERSTSBkZXZp Y2UKPiA+PiA+ICAgKgo+ID4+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0 b3IuaAo+ID4+ID4gYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggaW5kZXggOTk0MTYxMy4u Mjk0OTViMyAxMDA2NDQKPiA+PiA+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+ ID4+ID4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gPj4gPiBAQCAtMjUzLDYg KzI1MywzOCBAQCBlbnVtIGRybV9wYW5lbF9vcmllbnRhdGlvbiB7Cj4gPj4gPiAgCURSTV9NT0RF X1BBTkVMX09SSUVOVEFUSU9OX1JJR0hUX1VQLAo+ID4+ID4gIH07Cj4gPj4gPgo+ID4+ID4gKy8q Cj4gPj4gPiArICogVGhpcyBpcyBhIGNvbnNvbGlkYXRlZCBjb2xvcmltZXRyeSBsaXN0IHN1cHBv cnRlZCBieSBIRE1JIGFuZAo+ID4+ID4gKyAqIERQIHByb3RvY29sIHN0YW5kYXJkLiBUaGUgcmVz cGVjdGl2ZSBjb25uZWN0b3JzIHdpbGwgcmVnaXN0ZXIKPiA+PiA+ICsgKiBhIHByb3BlcnR5IHdp dGggdGhlIHN1YnNldCBvZiB0aGlzIGxpc3QgKHN1cHBvcnRlZCBieSB0aGF0Cj4gPj4gPiArICog cmVzcGVjdGl2ZSBwcm90b2NvbCkuIFVzZXJzcGFjZSB3aWxsIHNldCB0aGUgY29sb3JzcGFjZSB0 aHJvdWdoCj4gPj4gPiArICogYSBjb2xvcnNwYWNlIHByb3BlcnR5IHdoaWNoIHdpbGwgYmUgY3Jl YXRlZCBhbmQgZXhwb3NlZCB0bwo+ID4+ID4gKyAqIHVzZXJzcGFjZS4KPiA+PiA+ICsgKi8KPiA+ PiA+ICsKPiA+PiA+ICsvKiBGb3IgRGVmYXVsdCBjYXNlLCBkcml2ZXIgd2lsbCBzZXQgdGhlIGNv bG9yc3BhY2UgKi8KPiA+PiA+ICsjZGVmaW5lIERSTV9NT0RFX0NPTE9SSU1FVFJZX0RFRkFVTFQJ CQkwCj4gPj4gPiArLyogQ0VBIDg2MSBOb3JtYWwgQ29sb3JpbWV0cnkgb3B0aW9ucyAqLwo+ID4+ ID4gKyNkZWZpbmUgRFJNX01PREVfQ09MT1JJTUVUUllfSVRVXzYwMQkJCTEKPiA+PiA+ICsjZGVm aW5lIERSTV9NT0RFX0NPTE9SSU1FVFJZX0lUVV83MDkJCQkyCj4gPj4gPiArLyogQ0VBIDg2MSBF eHRlbmRlZCBDb2xvcmltZXRyeSBPcHRpb25zICovCj4gPj4gPiArI2RlZmluZSBEUk1fTU9ERV9D T0xPUklNRVRSWV9YVl9ZQ0NfNjAxCQkJMwo+ID4+ID4gKyNkZWZpbmUgRFJNX01PREVfQ09MT1JJ TUVUUllfWFZfWUNDXzcwOQkJCTQKPiA+PiA+ICsjZGVmaW5lIERSTV9NT0RFX0NPTE9SSU1FVFJZ X1NfWUNDXzYwMQkJCTUKPiA+PiA+ICsjZGVmaW5lIERSTV9NT0RFX0NPTE9SSU1FVFJZX09QWUND XzYwMQkJCTYKPiA+PiA+ICsjZGVmaW5lIERSTV9NT0RFX0NPTE9SSU1FVFJZX09QUkdCCQkJNwo+ ID4+ID4gKyNkZWZpbmUgRFJNX01PREVfQ09MT1JJTUVUUllfQlQyMDIwX1JHQgkJCTgKPiA+PiA+ ICsjZGVmaW5lIERSTV9NT0RFX0NPTE9SSU1FVFJZX0JUMjAyMF9ZQ0MJCQk5Cj4gPj4gPiArI2Rl ZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9CVDIwMjBfQ1lDQwkJMTAKPiA+PiA+ICsvKiBEUCBN U0EgQ29sb3JpbWV0cnkgT3B0aW9ucyAqLwo+ID4+ID4gKyNkZWZpbmUgRFJNX01PREVfRFBfQ09M T1JJTUVUUllfWV9DQkNSX0lUVV82MDEJCTExCj4gPj4gPiArI2RlZmluZSBEUk1fTU9ERV9EUF9D T0xPUklNRVRSWV9ZX0NCQ1JfSVRVXzcwOQkJMTIKPiA+PiA+ICsjZGVmaW5lIERSTV9NT0RFX0RQ X0NPTE9SSU1FVFJZX1NSR0IJCQkxMwo+ID4+ID4gKyNkZWZpbmUgRFJNX01PREVfRFBfQ09MT1JJ TUVUUllfUkdCX1dJREVfR0FNVVQKPiA+CTE0Cj4gPj4gPiArI2RlZmluZSBEUk1fTU9ERV9EUF9D T0xPUklNRVRSWV9TQ1JHQgkJCTE1Cj4gPj4gPiArI2RlZmluZSBEUk1fTU9ERV9EUF9DT0xPUklN RVRSWV9EQ0lfUDMJCQkxNgo+ID4+ID4gKyNkZWZpbmUgRFJNX01PREVfRFBfQ09MT1JJTUVUUllf Q1VTVE9NX0NPTE9SX1BST0ZJTEUKPiA+CTE3Cj4gPj4KPiA+PiBJIHRoaW5rIHNvbWUga2luZCBv ZiBtYWNybyB0byBkZWZpbmUgdGhlc2Ugd291bGQgYmUgZ29vZC4gQXNzdW1pbmcKPiA+PiB3ZSdy ZSB0cnlpbmcgZGlyZWN0bHkgaW50ZXJwcmV0IHRoZXNlIGFzIHRoZSBDL0VDL0FDRSBiaXRzLiBJ IGNhbid0Cj4gPj4gcmVtZW1iZXIgaWYgbXVsdGlwbGUgZW51bSB2YWx1ZXMgY2FuIGhhdmUgdGhl IHNhbWUgaW50ZWdlciB2YWx1ZS4gSWYKPiA+PiBub3Qgd2UnZCBhbHNvIG5lZWQgYSBZQ2JDciB2 cy4gUkdCIGJpdCBpbiB0aGVyZSBzb21ld2hlcmUuIEFzc3VtaW5nIHdlCj4gPj4gd2FudCB0byBr ZWVwIFJHQiBhbmQgWUNiQ3Igc2VwYXJhdGUuIEN1cnJlbnRseSBvbmx5IEJULjIwMjAgaGFzIGEK PiA+PiBjb25mbGljdCBiZXR3ZWVuIHRoZSB0d28uCj4gPgo+ID5TbyBJIHRoaW5rIEknbSBsZWFu aW5nIHRvd2FyZHMgaGF2aW5nIHNlcGFyYXRlIFlDYkNyIHZzLiBSR0IgdmFsdWVzICh3aGljaCBp cwo+ID53aGF0IHlvdSBoYWQgaGVyZSBhbHJlYWR5LCB3aXRoIEJULjIwMjAgYmVpbmcgdGhlIG9u bHkgY2FzZSB3aGVyZSB0aGF0IGFjdHVhbGx5Cj4gPm1hdHRlcnMpLiBUaGF0IHdheSBzb21lb25l IGNvdWxkIGV2ZW4gZG8gWUNiQ3IgNDo0OjQgcGFzc3Rocm91Z2ggYnkganVzdAo+ID5zdHVmZmlu ZyBZVVYgZGF0YSBpbnRvIHRoZWlyIFJHQiBmcmFtZWJ1ZmZlciAod2l0aCB0aGUgY29tcG9uZW50 cyBzd2l6emxlZCB0aGUKPiA+cmlnaHQgd2F5KS4KPiA+Cj4gPlRoZSBvbmUgdGhpbmcgdGhhdCBy YXRoZXIgYnJlYWtzIHRoYXQgdXNlY2FzZSBpcyB0aGUgYXV0b21hZ2ljIDRrIFlDYkNyIDQ6Mjow Cj4gPmZhbGxiYWNrLiBTbyBpbiBpbiBvcmRlciB0byBndWFyYW50ZWUgdGhhdCB0aGluZ3Mgd29y ayBjb3JyZWN0bHkgSSBndWVzcyB3ZSBzdGlsbAo+ID5uZWVkIGV4cGxjaXQgY29udHJvbCBvdmVy IHRoZSBvdXRwdXQgQ1NDLgo+ID4KPiA+SWUuIHNvbWUga2luZCBvZiBvdXRwdXQgY29sb3IgZW5j b2RpbmcgcHJvcCBsaWtlIHRoaXM6Cj4gPglkZWZhdWx0IC8qIGN1cnJlbnQgYmVoYXZpb3VyICov Cj4gPgl5Y2JjciBCVC42MDEKPiA+CXljYmNyIEJULjcwOQo+ID4JeWNiY3IgQlQuMjAyMAo+ID4J Lyogbm8geWNiY3IgNDoyOjAgZmFsbGJhY2sgZm9yIGJlbG93IG1vZGVzPyAqLwo+ID4JcmdiIDQ6 NDo0Cj4gPgl5Y2JjciA0OjQ6NCBCVC42MDEKPiA+CXljYmNyIDQ6NDo0IEJULjcwOQo+ID4JeWNi Y3IgNDo0OjQgQlQuMjAyMAo+ID4JeWNiY3IgNDoyOjIgQlQuNjAxCj4gPgl5Y2JjciA0OjI6MiBC VC43MDkKPiA+CXljYmNyIDQ6MjoyIEJULjIwMjAKPiA+CXljYmNyIDQ6MjowIEJULjYwMQo+ID4J eWNiY3IgNDoyOjAgQlQuNzA5Cj4gPgl5Y2JjciA0OjI6MCBCVC4yMDIwCj4gPgo+ID5IbW0uIElu IGZhY3QgdGhlIGF1dG9tYWdpYyA0OjI6MCBmYWxsYmFjayBzb3J0IG9mIGJyZWFrcyB0aGUgY29s b3JzcGFjZSBwcm9wCj4gPmFscmVkeSBiZWNhdXNlIGlmIHNvbWVvbmUgc2V0IGFuIFJHQiBjb2xv cnNwYWNlIGJ1dCB3ZSBlbmQgdXAgY29udmVydGluZyB0bwo+ID5ZQ2JDciA0OjI6MCB3aGF0IHNo b3VsZCB3ZSB0ZWxsIHRoZSBzaW5rPyBNYXliZSB3ZSBqdXN0IHJlamVjdCB0aGUgbW9kZXNldCBp bgo+ID50aGF0IGNhc2UgYW5kIHRlbGwgdXNlcnMgdGhleSBuZWVkIHRvIHdhaXQgZm9yIHRoZSBv dXRwdXQgY29sb3IgZW5jb2RpbmcgcHJvcCB0bwo+ID5zdXBwb3J0IHRoYXQgdXNlY2FzZT8KPiAK PiBIaSB5ZXMsIGFuIG91dHB1dCBlbmNvZGluZyBwcm9wZXJ0eSB0byBjb250cm9sIHRoaXMgbWFr ZSBzZW5zZSBhbmQgd2lsbCBiZSB1c2VmdWwuCj4gU28gaWYgYSB1c2VyIGRlY2lkZXMgdG8gaGF2 ZSBhIFJHQiBidWZmZXIgYXQgc291cmNlIG9yIHdhbnRzIHRvIGJsZW5kIG11bHRpcGxlIGxheWVy cyBpbiBSR0IsCj4gYW5kIHN0aWxsIHdhbnQgby9wIGNvbnZlcnRlZCB0byBZVVY0MjAgYXQgby9w LCBoZSBjYW4gdXNlIHRoZSBjdXJyZW50IGNvbG9yc3BhY2UgcHJvcGVydHkgdG8KPiBzZXQgdGhh dCBhbmQgc2VuZCB0byBzaW5rLiBJbiBjYXNlIGhlIGRvZXNuJ3QgZG8gaXQgZXhwbGljaXRseSB3 ZSBjYW4gc3RpbGwgbGV0IHRoZSBjb250ZW50IGJlIGRyaXZlbgo+IGJ1dCB3aXRoIHdhcm5pbmdz IG9yIGNob29zZSB0byBmYWlsIGhpcyBtb2Rlc2V0IGlmIHRoYXQgc2VlbXMgYmV0dGVyLgo+IAo+ IFdoYXQgZG8geW91IHN1Z2dlc3QsIHNob3VsZCB3ZSBrZWVwIGN1cnJlbnQgcHJvcGVydHkgaW50 ZXJmYWNlIGxpa2UgdGhpcyBhbmQgZXh0ZW5kIHRoZSB1c2FnZQo+IHdpdGggYSBzZXBhcmF0ZSBw cm9wZXJ0eSBvbiB0b3Agb2YgaXQuCgpJIHRoaW5rIHNlcGFyYXRlIHByb3AgdG8gY29udHJvbCB0 aGUgb3V0cHV0IENTQyBpcyBiZXN0LiBUaGUKY29sb3JzcGFjZSBwcm9wIHNob3VsZCBvbmx5IGNv bnRyb2wgdGhlIGluZm9mcmFtZS4gSWYgdGhlCnR3byBhcmUgaW4gdmlvbGVudCBkaXNhZ3JlZW1l bnQgd2UgY2FuIGZhaWwgdGhlIG1vZGVzZXQuCgo+IAo+IFRoYW5rcyBWaWxsZSBmb3IgeW91ciBy ZXZpZXcgY29tbWVudHMgYW5kIHN1Z2dlc3Rpb25zLgo+IAo+IFJlZ2FyZHMsCj4gVW1hIFNoYW5r YXIKPiAKPiA+Cj4gPj4KPiA+PiA+ICsKPiA+PiA+ICAvKioKPiA+PiA+ICAgKiBzdHJ1Y3QgZHJt X2Rpc3BsYXlfaW5mbyAtIHJ1bnRpbWUgZGF0YSBhYm91dCB0aGUgY29ubmVjdGVkIHNpbmsKPiA+ PiA+ICAgKgo+ID4+ID4gQEAgLTUwMyw2ICs1MzUsMTMgQEAgc3RydWN0IGRybV9jb25uZWN0b3Jf c3RhdGUgewo+ID4+ID4gIAl1bnNpZ25lZCBpbnQgY29udGVudF9wcm90ZWN0aW9uOwo+ID4+ID4K PiA+PiA+ICAJLyoqCj4gPj4gPiArCSAqIEBjb2xvcnNwYWNlOiBTdGF0ZSB2YXJpYWJsZSBmb3Ig Q29ubmVjdG9yIHByb3BlcnR5IHRvIHJlcXVlc3QKPiA+PiA+ICsJICogY29sb3JzcGFjZSBjaGFu Z2Ugb24gU2luay4gVGhpcyBpcyBtb3N0IGNvbW1vbmx5IHVzZWQgdG8gc3dpdGNoCj4gPj4gPiAr CSAqIHRvIHdpZGVyIGNvbG9yIGdhbXV0cyBsaWtlIEJUMjAyMC4KPiA+PiA+ICsJICovCj4gPj4g PiArCXUzMiBjb2xvcnNwYWNlOwo+ID4+ID4gKwo+ID4+ID4gKwkvKioKPiA+PiA+ICAJICogQHdy aXRlYmFja19qb2I6IFdyaXRlYmFjayBqb2IgZm9yIHdyaXRlYmFjayBjb25uZWN0b3JzCj4gPj4g PiAgCSAqCj4gPj4gPiAgCSAqIEhvbGRzIHRoZSBmcmFtZWJ1ZmZlciBhbmQgb3V0LWZlbmNlIGZv ciBhIHdyaXRlYmFjayBjb25uZWN0b3IuCj4gPj4gPiBBcyBAQCAtOTk1LDYgKzEwMzQsMTIgQEAg c3RydWN0IGRybV9jb25uZWN0b3Igewo+ID4+ID4gIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpjb250 ZW50X3Byb3RlY3Rpb25fcHJvcGVydHk7Cj4gPj4gPgo+ID4+ID4gIAkvKioKPiA+PiA+ICsJICog QGNvbG9yc3BhY2VfcHJvcGVydHk6IENvbm5lY3RvciBwcm9wZXJ0eSB0byBzZXQgdGhlIHN1aXRh YmxlCj4gPj4gPiArCSAqIGNvbG9yc3BhY2Ugc3VwcG9ydGVkIGJ5IHRoZSBzaW5rLgo+ID4+ID4g KwkgKi8KPiA+PiA+ICsJc3RydWN0IGRybV9wcm9wZXJ0eSAqY29sb3JzcGFjZV9wcm9wZXJ0eTsK PiA+PiA+ICsKPiA+PiA+ICsJLyoqCj4gPj4gPiAgCSAqIEBwYXRoX2Jsb2JfcHRyOgo+ID4+ID4g IAkgKgo+ID4+ID4gIAkgKiBEUk0gYmxvYiBwcm9wZXJ0eSBkYXRhIGZvciB0aGUgRFAgTVNUIHBh dGggcHJvcGVydHkuIFRoaXMKPiA+PiA+IHNob3VsZCBvbmx5IEBAIC0xMjY5LDYgKzEzMTQsNyBA QCBpbnQKPiA+PiA+IGRybV9jb25uZWN0b3JfYXR0YWNoX3Zycl9jYXBhYmxlX3Byb3BlcnR5KAo+ ID4+ID4gIGludCBkcm1fY29ubmVjdG9yX2F0dGFjaF9jb250ZW50X3Byb3RlY3Rpb25fcHJvcGVy dHkoCj4gPj4gPiAgCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsgIGludAo+ID4+ ID4gZHJtX21vZGVfY3JlYXRlX2FzcGVjdF9yYXRpb19wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KTsKPiA+PiA+ICtpbnQgZHJtX21vZGVfY3JlYXRlX2NvbG9yc3BhY2VfcHJvcGVydHko c3RydWN0IGRybV9jb25uZWN0b3IKPiA+PiA+ICsqY29ubmVjdG9yKTsKPiA+PiA+ICBpbnQgZHJt X21vZGVfY3JlYXRlX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KTsKPiA+PiA+IHZvaWQgZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9jb250ZW50X3R5cGUoc3RydWN0 IGhkbWlfYXZpX2luZm9mcmFtZQo+ID4qZnJhbWUsCj4gPj4gPiAgCQkJCQkgY29uc3Qgc3RydWN0 IGRybV9jb25uZWN0b3Jfc3RhdGUKPiA+KmNvbm5fc3RhdGUpOwo+ID4+ID4gLS0KPiA+PiA+IDEu OS4xCj4gPj4gPgo+ID4+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KPiA+PiA+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiA+PiA+IEludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+PiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4gPj4KPiA+PiAtLQo+ID4+IFZpbGxlIFN5cmrD pGzDpAo+ID4+IEludGVsCj4gPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPiA+PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPj4gSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4gPgo+ID4tLQo+ID5WaWxsZSBTeXJqw6Rsw6QKPiA+ SW50ZWwKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==