From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [v8 01/10] drm: Add HDR source metadata property Date: Tue, 7 May 2019 15:10:17 +0300 Message-ID: <20190507121017.GM24299@intel.com> References: <1554828284-17776-1-git-send-email-uma.shankar@intel.com> <1554828284-17776-2-git-send-email-uma.shankar@intel.com> <20190507102542.GG24299@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: <20190507102542.GG24299@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Shankar, Uma" Cc: "dcastagna@chromium.org" , Jonas Karlman , "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" , "seanpaul@chromium.org" , "Syrjala, Ville" , "Lankhorst, Maarten" List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBNYXkgMDcsIDIwMTkgYXQgMDE6MjU6NDJQTSArMDMwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFR1ZSwgTWF5IDA3LCAyMDE5IGF0IDA5OjAzOjQ1QU0gKzAwMDAsIFNoYW5r YXIsIFVtYSB3cm90ZToKPiA+IAo+ID4gCj4gPiA+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0K PiA+ID5Gcm9tOiBKb25hcyBLYXJsbWFuIFttYWlsdG86am9uYXNAa3dpYm9vLnNlXQo+ID4gPlNl bnQ6IFNhdHVyZGF5LCBNYXkgNCwgMjAxOSAzOjQ4IFBNCj4gPiA+VG86IFNoYW5rYXIsIFVtYSA8 dW1hLnNoYW5rYXJAaW50ZWwuY29tPjsgaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsg ZHJpLQo+ID4gPmRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gPkNjOiBkY2FzdGFnbmFA Y2hyb21pdW0ub3JnOyBlbWlsLmwudmVsaWtvdkBnbWFpbC5jb207IHNlYW5wYXVsQGNocm9taXVt Lm9yZzsKPiA+ID5TeXJqYWxhLCBWaWxsZSA8dmlsbGUuc3lyamFsYUBpbnRlbC5jb20+OyBMYW5r aG9yc3QsIE1hYXJ0ZW4KPiA+ID48bWFhcnRlbi5sYW5raG9yc3RAaW50ZWwuY29tPgo+ID4gPlN1 YmplY3Q6IFJlOiBbdjggMDEvMTBdIGRybTogQWRkIEhEUiBzb3VyY2UgbWV0YWRhdGEgcHJvcGVy dHkKPiA+ID4KPiA+ID5PbiAyMDE5LTA0LTA5IDE4OjQ0LCBVbWEgU2hhbmthciB3cm90ZToKPiA+ ID4+IFRoaXMgcGF0Y2ggYWRkcyBhIGJsb2IgcHJvcGVydHkgdG8gZ2V0IEhEUiBtZXRhZGF0YSBp bmZvcm1hdGlvbiBmcm9tCj4gPiA+PiB1c2Vyc3BhY2UuIFRoaXMgd2lsbCBiZSBzZW5kIGFzIHBh cnQgb2YgQVZJIEluZm9mcmFtZSB0byBwYW5lbC4KPiA+ID4+Cj4gPiA+PiBJdCBhbHNvIGltcGxl bWVudHMgZ2V0KCkgYW5kIHNldCgpIGZ1bmN0aW9ucyBmb3IgSERSIG91dHB1dCBtZXRhZGF0YQo+ ID4gPj4gcHJvcGVydHkuVGhlIGJsb2IgZGF0YSBpcyByZWNlaXZlZCBmcm9tIHVzZXJzcGFjZSBh bmQgc2F2ZWQgaW4KPiA+ID4+IGNvbm5lY3RvciBzdGF0ZSwgdGhlIHNhbWUgaXMgcmV0dXJuZWQg YXMgYmxvYiBpbiBnZXQgcHJvcGVydHkgY2FsbCB0bwo+ID4gPj4gdXNlcnNwYWNlLgo+ID4gPj4K PiA+ID4+IHYyOiBSZWJhc2UgYW5kIG1vZGlmaWVkIHRoZSBtZXRhZGF0YSBzdHJ1Y3R1cmUgZWxl bWVudHMgYXMgcGVyIFZpbGxlJ3MKPiA+ID4+IFBPQyBjaGFuZ2VzLgo+ID4gPj4KPiA+ID4+IHYz OiBObyBDaGFuZ2UKPiA+ID4+Cj4gPiA+PiB2NDogQWRkcmVzc2VkIFNoYXNoYW5rJ3MgcmV2aWV3 IGNvbW1lbnRzCj4gPiA+Pgo+ID4gPj4gdjU6IFJlYmFzZS4KPiA+ID4+Cj4gPiA+PiB2NjogQWRk cmVzc2VkIEJyaWFuIFN0YXJrZXkncyByZXZpZXcgY29tbWVudHMsIGRlZmluZWQgbmV3IHN0cnVj dHVyZQo+ID4gPj4gd2l0aCBoZWFkZXIgZm9yIGR5bmFtaWMgbWV0YWRhdGEgc2NhbGFiaWxpdHku Cj4gPiA+PiBNZXJnZSBnZXQvc2V0IHByb3BlcnR5IGZ1bmN0aW9ucyBmb3IgbWV0YWRhdGEgaW4g dGhpcyBwYXRjaC4KPiA+ID4+Cj4gPiA+PiB2NzogQWRkcmVzc2VkIEpvbmFzIEthcmxtYW4gcmV2 aWV3IGNvbW1lbnRzIGFuZCBkZWZpbmVkIHNlcGFyYXRlCj4gPiA+PiBzdHJ1Y3R1cmUgZm9yIGlu Zm9mcmFtZSB0byBiZXR0ZXIgYWxpZ24gd2l0aCBDVEEgODYxLkcgc3BlYy4gQWRkZWQKPiA+ID4+ IFNoYXNoYW5rJ3MgUkIuCj4gPiA+Pgo+ID4gPj4gU2lnbmVkLW9mZi1ieTogVW1hIFNoYW5rYXIg PHVtYS5zaGFua2FyQGludGVsLmNvbT4KPiA+ID4+IFJldmlld2VkLWJ5OiBTaGFzaGFuayBTaGFy bWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4gPiA+PiAtLS0KPiA+ID4+ICBkcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pYy5jICAgICAgfCAgMiArKwo+ID4gPj4gIGRyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljX3VhcGkuYyB8IDEzICsrKysrKysrKysrKysKPiA+ID4+ICBkcml2ZXJzL2dw dS9kcm0vZHJtX2Nvbm5lY3Rvci5jICAgfCAgNiArKysrKysKPiA+ID4+ICBpbmNsdWRlL2RybS9k cm1fY29ubmVjdG9yLmggICAgICAgfCAxMSArKysrKysrKysrKwo+ID4gPj4gIGluY2x1ZGUvZHJt L2RybV9tb2RlX2NvbmZpZy5oICAgICB8ICA2ICsrKysrKwo+ID4gPj4gIGluY2x1ZGUvbGludXgv aGRtaS5oICAgICAgICAgICAgICB8IDEwICsrKysrKysrKysKPiA+ID4+ICBpbmNsdWRlL3VhcGkv ZHJtL2RybV9tb2RlLmggICAgICAgfCAzOQo+ID4gPisrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwo+ID4gPj4gIDcgZmlsZXMgY2hhbmdlZCwgODcgaW5zZXJ0aW9ucygrKQo+ ID4gPj4KPiA+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4g PiA+PiBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgaW5kZXggNWViNDAxMy4uOGI5YzEy NiAxMDA2NDQKPiA+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiA+ID4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiA+ID4+IEBAIC04ODEsNiArODgx LDggQEAgc3RhdGljIHZvaWQKPiA+ID4+IGRybV9hdG9taWNfY29ubmVjdG9yX3ByaW50X3N0YXRl KHN0cnVjdCBkcm1fcHJpbnRlciAqcCwKPiA+ID4+Cj4gPiA+PiAgCWRybV9wcmludGYocCwgImNv bm5lY3RvclsldV06ICVzXG4iLCBjb25uZWN0b3ItPmJhc2UuaWQsIGNvbm5lY3Rvci0KPiA+ID4+ bmFtZSk7Cj4gPiA+PiAgCWRybV9wcmludGYocCwgIlx0Y3J0Yz0lc1xuIiwgc3RhdGUtPmNydGMg PyBzdGF0ZS0+Y3J0Yy0+bmFtZSA6Cj4gPiA+PiAiKG51bGwpIik7Cj4gPiA+PiArCWRybV9wcmlu dGYocCwgIlx0aGRyX21ldGFkYXRhX2NoYW5nZWQ9JWRcbiIsCj4gPiA+PiArCQkgICBzdGF0ZS0+ aGRyX21ldGFkYXRhX2NoYW5nZWQpOwo+ID4gPj4KPiA+ID4+ICAJaWYgKGNvbm5lY3Rvci0+Y29u bmVjdG9yX3R5cGUgPT0gRFJNX01PREVfQ09OTkVDVE9SX1dSSVRFQkFDSykKPiA+ID4+ICAJCWlm IChzdGF0ZS0+d3JpdGViYWNrX2pvYiAmJiBzdGF0ZS0+d3JpdGViYWNrX2pvYi0+ZmIpIGRpZmYg LS1naXQKPiA+ID4+IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCj4gPiA+PiBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYwo+ID4gPj4gaW5kZXggZWE3OTdkNC4u NmQwZDE2MSAxMDA2NDQKPiA+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3Vh cGkuYwo+ID4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCj4gPiA+ PiBAQCAtNjczLDYgKzY3Myw4IEBAIHN0YXRpYyBpbnQKPiA+ID4+IGRybV9hdG9taWNfY29ubmVj dG9yX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCAgewo+ID4g Pj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7Cj4gPiA+PiAgCXN0 cnVjdCBkcm1fbW9kZV9jb25maWcgKmNvbmZpZyA9ICZkZXYtPm1vZGVfY29uZmlnOwo+ID4gPj4g Kwlib29sIHJlcGxhY2VkID0gZmFsc2U7Cj4gPiA+PiArCWludCByZXQ7Cj4gPiA+Pgo+ID4gPj4g IAlpZiAocHJvcGVydHkgPT0gY29uZmlnLT5wcm9wX2NydGNfaWQpIHsKPiA+ID4+ICAJCXN0cnVj dCBkcm1fY3J0YyAqY3J0YyA9IGRybV9jcnRjX2ZpbmQoZGV2LCBOVUxMLCB2YWwpOyBAQCAtNzIx LDYKPiA+ID4+ICs3MjMsMTQgQEAgc3RhdGljIGludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRf cHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IKPiA+ID4qY29ubmVjdG9yLAo+ID4gPj4gIAkJ ICovCj4gPiA+PiAgCQlpZiAoc3RhdGUtPmxpbmtfc3RhdHVzICE9IERSTV9MSU5LX1NUQVRVU19H T09EKQo+ID4gPj4gIAkJCXN0YXRlLT5saW5rX3N0YXR1cyA9IHZhbDsKPiA+ID4+ICsJfSBlbHNl IGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmhkcl9vdXRwdXRfbWV0YWRhdGFfcHJvcGVydHkpIHsK PiA+ID4+ICsJCXJldCA9IGRybV9hdG9taWNfcmVwbGFjZV9wcm9wZXJ0eV9ibG9iX2Zyb21faWQo ZGV2LAo+ID4gPj4gKwkJCQkmc3RhdGUtPmhkcl9vdXRwdXRfbWV0YWRhdGFfYmxvYl9wdHIsCj4g PiA+PiArCQkJCXZhbCwKPiA+ID4+ICsJCQkJLTEsIHNpemVvZihzdHJ1Y3QgaGRyX291dHB1dF9t ZXRhZGF0YSksCj4gPiA+PiArCQkJCSZyZXBsYWNlZCk7Cj4gPiA+PiArCQlzdGF0ZS0+aGRyX21l dGFkYXRhX2NoYW5nZWQgfD0gcmVwbGFjZWQ7Cj4gPiA+PiArCQlyZXR1cm4gcmV0Owo+ID4gPj4g IAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+YXNwZWN0X3JhdGlvX3Byb3BlcnR5KSB7 Cj4gPiA+PiAgCQlzdGF0ZS0+cGljdHVyZV9hc3BlY3RfcmF0aW8gPSB2YWw7Cj4gPiA+PiAgCX0g ZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5jb250ZW50X3R5cGVfcHJvcGVydHkpIHsgQEAg LTgwNyw2Cj4gPiA+PiArODE3LDkgQEAgc3RhdGljIGludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9z ZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IKPiA+ID4qY29ubmVjdG9yLAo+ID4gPj4g IAkJKnZhbCA9IHN0YXRlLT5jb2xvcnNwYWNlOwo+ID4gPj4gIAl9IGVsc2UgaWYgKHByb3BlcnR5 ID09IGNvbm5lY3Rvci0+c2NhbGluZ19tb2RlX3Byb3BlcnR5KSB7Cj4gPiA+PiAgCQkqdmFsID0g c3RhdGUtPnNjYWxpbmdfbW9kZTsKPiA+ID4+ICsJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25m aWctPmhkcl9vdXRwdXRfbWV0YWRhdGFfcHJvcGVydHkpIHsKPiA+ID4+ICsJCSp2YWwgPSAoc3Rh dGUtPmhkcl9vdXRwdXRfbWV0YWRhdGFfYmxvYl9wdHIpID8KPiA+ID4+ICsJCQlzdGF0ZS0+aGRy X291dHB1dF9tZXRhZGF0YV9ibG9iX3B0ci0+YmFzZS5pZCA6IDA7Cj4gPiA+PiAgCX0gZWxzZSBp ZiAocHJvcGVydHkgPT0gY29ubmVjdG9yLT5jb250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHkpIHsK PiA+ID4+ICAJCSp2YWwgPSBzdGF0ZS0+Y29udGVudF9wcm90ZWN0aW9uOwo+ID4gPj4gIAl9IGVs c2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+d3JpdGViYWNrX2ZiX2lkX3Byb3BlcnR5KSB7IGRp ZmYKPiA+ID4+IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ID4gPj4g Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jIGluZGV4IDIzNTUxMjQuLjBiZGFlOTAg MTAwNjQ0Cj4gPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gPiA+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gPiA+PiBAQCAtMTA1OCw2 ICsxMDU4LDEyIEBAIGludCBkcm1fY29ubmVjdG9yX2NyZWF0ZV9zdGFuZGFyZF9wcm9wZXJ0aWVz KHN0cnVjdAo+ID4gPmRybV9kZXZpY2UgKmRldikKPiA+ID4+ICAJCXJldHVybiAtRU5PTUVNOwo+ ID4gPj4gIAlkZXYtPm1vZGVfY29uZmlnLm5vbl9kZXNrdG9wX3Byb3BlcnR5ID0gcHJvcDsKPiA+ ID4+Cj4gPiA+PiArCXByb3AgPSBkcm1fcHJvcGVydHlfY3JlYXRlKGRldiwgRFJNX01PREVfUFJP UF9CTE9CLAo+ID4gPj4gKwkJCQkgICAiSERSX09VVFBVVF9NRVRBREFUQSIsIDApOwo+ID4gPj4g KwlpZiAoIXByb3ApCj4gPiA+PiArCQlyZXR1cm4gLUVOT01FTTsKPiA+ID4+ICsJZGV2LT5tb2Rl X2NvbmZpZy5oZHJfb3V0cHV0X21ldGFkYXRhX3Byb3BlcnR5ID0gcHJvcDsKPiA+ID4+ICsKPiA+ ID4+ICAJcmV0dXJuIDA7Cj4gPiA+PiAgfQo+ID4gPj4KPiA+ID4+IGRpZmYgLS1naXQgYS9pbmNs dWRlL2RybS9kcm1fY29ubmVjdG9yLmggYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiA+ ID4+IGluZGV4IDAyYTEzMTIuLjUzNDNmNjAgMTAwNjQ0Cj4gPiA+PiAtLS0gYS9pbmNsdWRlL2Ry bS9kcm1fY29ubmVjdG9yLmgKPiA+ID4+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3Iu aAo+ID4gPj4gQEAgLTU5OSw2ICs1OTksMTMgQEAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUg ewo+ID4gPj4gIAkgKiBhbmQgdGhlIGNvbm5lY3RvciBicGMgbGltaXRhdGlvbnMgb2J0YWluZWQg ZnJvbSBlZGlkLgo+ID4gPj4gIAkgKi8KPiA+ID4+ICAJdTggbWF4X2JwYzsKPiA+ID4+ICsKPiA+ ID4+ICsJLyoqCj4gPiA+PiArCSAqIEBtZXRhZGF0YV9ibG9iX3B0cjoKPiA+ID4+ICsJICogRFJN IGJsb2IgcHJvcGVydHkgZm9yIEhEUiBvdXRwdXQgbWV0YWRhdGEKPiA+ID4+ICsJICovCj4gPiA+ PiArCXN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqaGRyX291dHB1dF9tZXRhZGF0YV9ibG9iX3B0 cjsKPiA+ID4+ICsJdTggaGRyX21ldGFkYXRhX2NoYW5nZWQgOiAxOwo+ID4gPj4gIH07Cj4gPiA+ Pgo+ID4gPj4gIC8qKgo+ID4gPj4gQEAgLTEyMzksNiArMTI0NiwxMCBAQCBzdHJ1Y3QgZHJtX2Nv bm5lY3RvciB7Cj4gPiA+PiAgCSAqICZkcm1fbW9kZV9jb25maWcuY29ubmVjdG9yX2ZyZWVfd29y ay4KPiA+ID4+ICAJICovCj4gPiA+PiAgCXN0cnVjdCBsbGlzdF9ub2RlIGZyZWVfbm9kZTsKPiA+ ID4+ICsKPiA+ID4+ICsJLyogSERSIG1ldGRhdGEgKi8KPiA+ID4+ICsJc3RydWN0IGhkcl9vdXRw dXRfbWV0YWRhdGEgaGRyX291dHB1dF9tZXRhZGF0YTsKPiA+ID4+ICsJc3RydWN0IGhkcl9zaW5r X21ldGFkYXRhIGhkcl9zaW5rX21ldGFkYXRhOwo+ID4gPj4gIH07Cj4gPiA+Pgo+ID4gPj4gICNk ZWZpbmUgb2JqX3RvX2Nvbm5lY3Rvcih4KSBjb250YWluZXJfb2YoeCwgc3RydWN0IGRybV9jb25u ZWN0b3IsCj4gPiA+PiBiYXNlKSBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29u ZmlnLmgKPiA+ID4+IGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmggaW5kZXggN2Y2MGU4 ZS4uZWYyNjU2YiAxMDA2NDQKPiA+ID4+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZp Zy5oCj4gPiA+PiArKysgYi9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaAo+ID4gPj4gQEAg LTgzNiw2ICs4MzYsMTIgQEAgc3RydWN0IGRybV9tb2RlX2NvbmZpZyB7Cj4gPiA+PiAgCSAqLwo+ ID4gPj4gIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICp3cml0ZWJhY2tfb3V0X2ZlbmNlX3B0cl9wcm9w ZXJ0eTsKPiA+ID4+Cj4gPiA+PiArCS8qCj4gPiA+PiArCSAqIGhkcl9tZXRhZGF0YV9wcm9wZXJ0 eTogQ29ubmVjdG9yIHByb3BlcnR5IGNvbnRhaW5pbmcgaGRyIG1ldGF0ZGEKPiA+ID4+ICsJICog VGhpcyB3aWxsIGJlIHByb3ZpZGVkIGJ5IHVzZXJzcGFjZSBjb21wb3NpdG9ycyBiYXNlZCBvbiBI RFIgY29udGVudAo+ID4gPj4gKwkgKi8KPiA+ID4+ICsJc3RydWN0IGRybV9wcm9wZXJ0eSAqaGRy X291dHB1dF9tZXRhZGF0YV9wcm9wZXJ0eTsKPiA+ID4+ICsKPiA+ID4+ICAJLyogZHVtYiBpb2N0 bCBwYXJhbWV0ZXJzICovCj4gPiA+PiAgCXVpbnQzMl90IHByZWZlcnJlZF9kZXB0aCwgcHJlZmVy X3NoYWRvdzsKPiA+ID4+Cj4gPiA+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9oZG1pLmgg Yi9pbmNsdWRlL2xpbnV4L2hkbWkuaCBpbmRleAo+ID4gPj4gOTI3YWQ2NC4uYTA2NTE5NCAxMDA2 NDQKPiA+ID4+IC0tLSBhL2luY2x1ZGUvbGludXgvaGRtaS5oCj4gPiA+PiArKysgYi9pbmNsdWRl L2xpbnV4L2hkbWkuaAo+ID4gPj4gQEAgLTE1Miw2ICsxNTIsMTYgQEAgZW51bSBoZG1pX2NvbnRl bnRfdHlwZSB7Cj4gPiA+PiAgCUhETUlfQ09OVEVOVF9UWVBFX0dBTUUsCj4gPiA+PiAgfTsKPiA+ ID4+Cj4gPiA+PiArZW51bSBoZG1pX21ldGFkYXRhX3R5cGUgewo+ID4gPj4gKwlIRE1JX1NUQVRJ Q19NRVRBREFUQV9UWVBFMSA9IDEsCj4gPiA+PiArfTsKPiA+ID4+ICsKPiA+ID4+ICtlbnVtIGhk bWlfZW90ZiB7Cj4gPiA+PiArCUhETUlfRU9URl9UUkFESVRJT05BTF9HQU1NQV9TRFIsCj4gPiA+ PiArCUhETUlfRU9URl9UUkFESVRJT05BTF9HQU1NQV9IRFIsCj4gPiA+PiArCUhETUlfRU9URl9T TVBURV9TVDIwODQsCj4gPiA+PiArfTsKPiA+ID4+ICsKPiA+ID4+ICBzdHJ1Y3QgaGRtaV9hdmlf aW5mb2ZyYW1lIHsKPiA+ID4+ICAJZW51bSBoZG1pX2luZm9mcmFtZV90eXBlIHR5cGU7Cj4gPiA+ PiAgCXVuc2lnbmVkIGNoYXIgdmVyc2lvbjsKPiA+ID4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3Vh cGkvZHJtL2RybV9tb2RlLmggYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPiA+ID4+IGlu ZGV4IDgzY2QxNjMuLjdiNmE1MTkgMTAwNjQ0Cj4gPiA+PiAtLS0gYS9pbmNsdWRlL3VhcGkvZHJt L2RybV9tb2RlLmgKPiA+ID4+ICsrKyBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAo+ID4g Pj4gQEAgLTYzMCw2ICs2MzAsNDUgQEAgc3RydWN0IGRybV9jb2xvcl9sdXQgewo+ID4gPj4gIAlf X3UxNiByZXNlcnZlZDsKPiA+ID4+ICB9Owo+ID4gPj4KPiA+ID4+ICsvKiBIRFIgTWV0YWRhdGEg SW5mb2ZyYW1lIGFzIHBlciA4NjEuRyBzcGVjICovIHN0cnVjdAo+ID4gPj4gK2hkcl9tZXRhZGF0 YV9pbmZvZnJhbWUgewo+ID4gPj4gKwlfX3U4IGVvdGY7Cj4gPiA+PiArCV9fdTggbWV0YWRhdGFf dHlwZTsKPiA+ID4+ICsJc3RydWN0IHsKPiA+ID4+ICsJCV9fdTE2IHgsIHk7Cj4gPiA+PiArCQl9 IGRpc3BsYXlfcHJpbWFyaWVzWzNdOwo+ID4gPj4gKwlzdHJ1Y3Qgewo+ID4gPj4gKwkJX191MTYg eCwgeTsKPiA+ID4+ICsJCX0gd2hpdGVfcG9pbnQ7Cj4gPiA+PiArCV9fdTE2IG1heF9kaXNwbGF5 X21hc3RlcmluZ19sdW1pbmFuY2U7Cj4gPiA+PiArCV9fdTE2IG1pbl9kaXNwbGF5X21hc3Rlcmlu Z19sdW1pbmFuY2U7Cj4gPiA+PiArCV9fdTE2IG1heF9jbGw7Cj4gPiA+PiArCV9fdTE2IG1heF9m YWxsOwo+ID4gPj4gK307Cj4gPiA+PiArCj4gPiA+PiArc3RydWN0IGhkcl9vdXRwdXRfbWV0YWRh dGEgewo+ID4gPj4gKwlfX3UzMiBtZXRhZGF0YV90eXBlOwo+ID4gPj4gKwl1bmlvbiB7Cj4gPiA+ PiArCQlzdHJ1Y3QgaGRyX21ldGFkYXRhX2luZm9mcmFtZSBoZG1pX21ldGFkYXRhX3R5cGUxOwo+ ID4gPj4gKwl9Owo+ID4gPj4gK307Cj4gPiA+PiArCj4gPiA+PiArLyogSERSIE1ldGFkYXRhIGFz IHBlciA4NjEuRyBzcGVjICovCj4gPiA+PiArc3RydWN0IGhkcl9zdGF0aWNfbWV0YWRhdGEgewo+ ID4gPj4gKwlfX3U4IGVvdGY7Cj4gPiA+PiArCV9fdTggbWV0YWRhdGFfdHlwZTsKPiA+ID4+ICsJ X191MTYgbWF4X2NsbDsKPiA+ID4+ICsJX191MTYgbWF4X2ZhbGw7Cj4gPiA+PiArCV9fdTE2IG1p bl9jbGw7Cj4gPiA+PiArfTsKPiA+ID4+ICsKPiA+ID4+ICtzdHJ1Y3QgaGRyX3NpbmtfbWV0YWRh dGEgewo+ID4gPj4gKwlfX3UzMiBtZXRhZGF0YV90eXBlOwo+ID4gPj4gKwl1bmlvbiB7Cj4gPiA+ PiArCQlzdHJ1Y3QgaGRyX3N0YXRpY19tZXRhZGF0YSBoZG1pX3R5cGUxOwo+ID4gPj4gKwl9Owo+ ID4gPj4gK307Cj4gPiA+Cj4gPiA+VGhlc2UgdHdvIHN0cnVjdHMgKGhkcl9zdGF0aWNfbWV0YWRh dGEgYW5kIGhkcl9zaW5rX21ldGFkYXRhKSBzaG91bGQgcHJvYmFibHkgbm90Cj4gPiA+YmUgcGFy dCBvZiB1YXBpLCB1bmxlc3MgdGhlIG1ldGFkYXRhIGlzIGludGVuZGVkIHRvIGJlIGV4cG9zZWQg aW4gYQo+ID4gPkhEUl9TSU5LX01FVEFEQVRBIHByb3BlcnR5Lgo+ID4gCj4gPiBIbW0geWVhaCwg Y3VycmVudGx5IHdlIGFyZSBub3QgcGxhbm5pbmcgaXQgdG8gZXhwb3NlIHRoYXQuIEl0IHdhcyBq dXN0IHRvIGhlbHAgdXNlcnNwYWNlCj4gPiBnZXQgYW5kIHBhcnNlIHRoZSBFRElEIGFuZCBzdG9y ZSB0aGUgZGV0YWlscy4gQnV0IHllcyB0aGlzIGRvZXNuJ3QgbmVlZCB0byBiZSBVQVBJIGFuZAo+ ID4gdXNlcnNwYWNlIHNob3VsZCBiZSBmcmVlIHRvIHVzZSB3aGF0ZXZlciB3YXkgdGhleSB3YW50 IHRvIHBhcnNlIGFuZCBzdG9yZSBzaW5rIG1ldGFkYXRhLgo+ID4gV2lsbCBtb3ZlIGl0IG91dHNp ZGUgb2YgdWFwaSBoZWFkZXJzLgo+ID4gCj4gPiAKPiA+ID5UaGUgY29tbWl0ICJkcm0vaTkxNTog QWRkIEhMRyBFT1RGIiBzaG91bGQgcHJvYmFibHkgbm90IHVzZSBhIGk5MTUgaW4gcHJlZml4IGFz IGl0Cj4gPiA+YWZmZWN0cyBkcm0gY29yZS4KPiA+IAo+ID4gT2ssIHdpbGwgdXBkYXRlIHRoaXMu Cj4gPiAKPiA+ID4KPiA+ID5UaGUgYmxvYl9wdHIgc2hvdWxkIHByb2JhYmx5IGJlIHJlZmVyZW5j ZSBjb3VudGVkIGluIGR1cGxpY2F0ZV9zdGF0ZS9kZXN0cm95X3N0YXRlCj4gPiA+aGVscGVyIHNp bWlsYXIgdG8gWzFdLgo+ID4gPkkga25vdyB0b28gbGl0dGxlIGFib3V0IGRybSBjb3JlIGluIG9y ZGVyIHRvIGtub3cgaWYgdGhhdCBpcyBjb3JyZWN0LCBwbGVhc2UgZmVlbCBmcmVlIHRvCj4gPiA+ cGljay9zcXVhc2ggaWYgdGhpcyBpcyBjb3JyZWN0Lgo+ID4gCj4gPiBTdXJlLCBJIHdpbGwgYWRk IHRoZXNlIGNoYW5nZXMgdG8gdGhlIHNlcmllcy4KPiA+IAo+ID4gPlsxXSBodHRwczovL2dpdGh1 Yi5jb20vS3dpYm9vL2xpbnV4LQo+ID4gPnJvY2tjaGlwL2NvbW1pdC81ZjA2NWZmMGJiY2NhMTQ1 ZWU0NmU5NDY2YmI4Y2EwNDhjN2E3YjFlCj4gPiA+Cj4gPiA+SSBoYXZlIHRlc3RlZCB0aGlzIHBh dGNoc2V0IG9uIHJvY2tjaGlwIC8gZHctaGRtaSB1c2luZyBkdy1oZG1pIFsyXSBhbmQgS29kaSBb M10KPiA+ID5wYXRjaGVzIHdpdGggYSBzdWNjZXNzZnVsIHJlc3VsdCBvZiBlbmFibGluZyBIRFIg bW9kZSBvbiB0aGUgc2luay4KPiA+ID5UaGVyZSBpcyBtb3JlIHdvcmsgbmVlZGVkIHRvIGdldCBh IGZ1bGwgMTAtYml0IHBpcGVsaW5lIGZvciBkdy1oZG1pIGluIG9yZGVyIHRvIG1ha2UKPiA+ID5m dWxsIHVzZSBvZiBIRFIsIGJ1dCBmb3IgdGhlIHB1cnBvc2Ugb2YgZW5hYmxpbmcgSERSIG9uIHRo ZSBzaW5rIHRoaXMgcGF0Y2hzZXQgc2VlbXMKPiA+ID5yZWFkeS4KPiA+IAo+ID4gVGhhbmtzIEpv bmFzIGZvciB5b3VyIGNvbW1lbnRzIGFuZCBtb3JlIGltcG9ydGFudGx5IGZvciB0ZXN0aW5nIGFu ZCBlbmFibGluZyB3aXRoIGtvZGkuCj4gPiAKPiA+IEkgd2lsbCByZWJhc2UgdGhlIHNlcmllcyBh bmQgc2VuZCBvdXQgbmV4dCB2ZXJzaW9uLiBXaXRoIHRoZSBjaGFuZ2VzIGFscmVhZHkgaW4gcGxh Y2UgaW4ga29kaSBicmFuY2gsCj4gPiB3ZSBzaG91bGQgcHJvYmFibHkgYmUgZ29vZCBmb3IgbWVy Z2UuCj4gCj4gUGF0Y2ggOSBpcyBub3QgcmVhZHkgSU1PLiBJIGRvbid0IHNlZSBhbnkgYW5hbHlz aXMgb24gd2h5IGl0J3MgT0sgdG8KPiB1cGRhdGUgaW5mb2ZyYW1lcyB3aXRob3V0IGEgZnVsbCBt b2Rlc2V0LiBJIHdvdWxkIGp1c3QgZHJvcCB0aGF0IHBhdGNoCj4gZnJvbSB0aGUgaW5pdGlhbCBz ZXQgYW5kIHdvcmsgb24gaXQgYXMgYSBmb2xsb3d1cC4KPiAKPiBBbHNvIGRpZCBzb21lb25lIGFu YWx5c3plIGhvdyB0aGUgbmV3IGR5bmFtaWMgSERSIG1ldGFkYXRhIGZpdHMgaW4gd2l0aAo+IHRo ZSBuZXcgdWFwaT8KCkFsc28gSSBjYW4ndCBzZWUgcmVhZG91dCArIHN0YXRlIGNoZWNrZXIgZm9y IHRoZSBIRFIgaW5mb2ZyYW1lLiBBbSBJIGJsaW5kCm9yIGlzIGl0IG1pc3Npbmc/CgotLSAKVmls bGUgU3lyasOkbMOkCkludGVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeA==