From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 2/3] drm: Add optional PIXEL_NORMALIZE_RANGE property to drm_plane Date: Thu, 29 Nov 2018 20:45:45 +0200 Message-ID: <20181129184545.GO9144@intel.com> References: <1543473493-30973-1-git-send-email-kevin.strasser@intel.com> <1543473493-30973-3-git-send-email-kevin.strasser@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: <1543473493-30973-3-git-send-email-kevin.strasser@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Kevin Strasser Cc: David Airlie , Daniel Vetter , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBOb3YgMjgsIDIwMTggYXQgMTA6Mzg6MTJQTSAtMDgwMCwgS2V2aW4gU3RyYXNzZXIg d3JvdGU6Cj4gQWRkIGFuIG9wdGlvbmFsIHByb3BlcnR5IHRvIGFsbG93IGFwcGxpY2F0aW9ucyB0 byBpbmRpY2F0ZSB3aGF0IHJhbmdlIHRoZWlyCj4gZmxvYXRpbmcgcG9pbnQgcGl4ZWwgZGF0YSBp cyBub3JtYWxpemVkIHRvLiBEcml2ZXJzIGFyZSBmcmVlIHRvIGNob29zZSB3aGF0Cj4gcmFuZ2Vz IHRoZXkgd2FudCB0byBzdXBwb3J0IGFuZCBjYW4gYXR0YWNoIHRoaXMgcHJvcGVydHkgdG8gZWFj aCBwbGFuZSB0aGF0Cj4gYWN0dWFsbHkgc3VwcG9ydHMgZmxvYXRpbmcgcG9pbnQgZm9ybWF0cwoK RG8gd2UgaGF2ZSBhIHBsYW4gdG8gYWN0dWFsbHkgdXNlIHRoaXM/IEVhcmxpZXIgcGxhdGZvcm1z IGRpZG4ndCBoYXZlCmFueXRoaW5nIGxpa2UgdGhpcyBJSVJDLgoKPiAKPiBTaWduZWQtb2ZmLWJ5 OiBLZXZpbiBTdHJhc3NlciA8a2V2aW4uc3RyYXNzZXJAaW50ZWwuY29tPgo+IENjOiBVbWEgU2hh bmthciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgo+IENjOiBTaGFzaGFuayBTaGFybWEgPHNoYXNo YW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFs YUBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IERhdmlkIEFpcmxpZSA8YWlybGllZEBsaW51eC5pZT4K PiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiBDYzogZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pYy5jICAgICAgICB8ICAyICsrCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGku YyAgIHwgIDQgKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fY29sb3JfbWdtdC5jICAgIHwgNjgg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0v ZHJtX2NydGNfaW50ZXJuYWwuaCB8ICAxICsKPiAgaW5jbHVkZS9kcm0vZHJtX2NvbG9yX21nbXQu aCAgICAgICAgfCAgOSArKysrKwo+ICBpbmNsdWRlL2RybS9kcm1fcGxhbmUuaCAgICAgICAgICAg ICB8IDE0ICsrKysrKysrCj4gIDYgZmlsZXMgY2hhbmdlZCwgOTggaW5zZXJ0aW9ucygrKQo+IAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWMuYwo+IGluZGV4IDE3MDZlZDEuLjFmNTIwZWYgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljLmMKPiBAQCAtNjI0LDYgKzYyNCw4IEBAIHN0YXRpYyB2b2lkIGRybV9hdG9taWNfcGxh bmVfcHJpbnRfc3RhdGUoc3RydWN0IGRybV9wcmludGVyICpwLAo+ICAJCSAgIGRybV9nZXRfY29s b3JfZW5jb2RpbmdfbmFtZShzdGF0ZS0+Y29sb3JfZW5jb2RpbmcpKTsKPiAgCWRybV9wcmludGYo cCwgIlx0Y29sb3ItcmFuZ2U9JXNcbiIsCj4gIAkJICAgZHJtX2dldF9jb2xvcl9yYW5nZV9uYW1l KHN0YXRlLT5jb2xvcl9yYW5nZSkpOwo+ICsJZHJtX3ByaW50ZihwLCAiXHRwaXhlbC1ub3JtYWxp emUtcmFuZ2U9JXNcbiIsCj4gKwkJICAgZHJtX2dldF9waXhlbF9ub3JtYWxpemVfcmFuZ2VfbmFt ZShzdGF0ZS0+cGl4ZWxfbm9ybWFsaXplX3JhbmdlKSk7Cj4gIAo+ICAJaWYgKHBsYW5lLT5mdW5j cy0+YXRvbWljX3ByaW50X3N0YXRlKQo+ICAJCXBsYW5lLT5mdW5jcy0+YXRvbWljX3ByaW50X3N0 YXRlKHAsIHN0YXRlKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNf dWFwaS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCj4gaW5kZXggODZhYzMz OS4uZTc5YTIzY2QgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFw aS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCj4gQEAgLTU2Niw2 ICs1NjYsOCBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfcGxhbmVfc2V0X3Byb3BlcnR5KHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJCXN0YXRlLT5jb2xvcl9lbmNvZGluZyA9IHZhbDsKPiAg CX0gZWxzZSBpZiAocHJvcGVydHkgPT0gcGxhbmUtPmNvbG9yX3JhbmdlX3Byb3BlcnR5KSB7Cj4g IAkJc3RhdGUtPmNvbG9yX3JhbmdlID0gdmFsOwo+ICsJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBw bGFuZS0+cGl4ZWxfbm9ybWFsaXplX3JhbmdlX3Byb3BlcnR5KSB7Cj4gKwkJc3RhdGUtPnBpeGVs X25vcm1hbGl6ZV9yYW5nZSA9IHZhbDsKPiAgCX0gZWxzZSBpZiAocGxhbmUtPmZ1bmNzLT5hdG9t aWNfc2V0X3Byb3BlcnR5KSB7Cj4gIAkJcmV0dXJuIHBsYW5lLT5mdW5jcy0+YXRvbWljX3NldF9w cm9wZXJ0eShwbGFuZSwgc3RhdGUsCj4gIAkJCQlwcm9wZXJ0eSwgdmFsKTsKPiBAQCAtNjIxLDYg KzYyMyw4IEBAIGRybV9hdG9taWNfcGxhbmVfZ2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUg KnBsYW5lLAo+ICAJCSp2YWwgPSBzdGF0ZS0+Y29sb3JfZW5jb2Rpbmc7Cj4gIAl9IGVsc2UgaWYg KHByb3BlcnR5ID09IHBsYW5lLT5jb2xvcl9yYW5nZV9wcm9wZXJ0eSkgewo+ICAJCSp2YWwgPSBz dGF0ZS0+Y29sb3JfcmFuZ2U7Cj4gKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IHBsYW5lLT5waXhl bF9ub3JtYWxpemVfcmFuZ2VfcHJvcGVydHkpIHsKPiArCQkqdmFsID0gc3RhdGUtPnBpeGVsX25v cm1hbGl6ZV9yYW5nZTsKPiAgCX0gZWxzZSBpZiAocGxhbmUtPmZ1bmNzLT5hdG9taWNfZ2V0X3By b3BlcnR5KSB7Cj4gIAkJcmV0dXJuIHBsYW5lLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eShw bGFuZSwgc3RhdGUsIHByb3BlcnR5LCB2YWwpOwo+ICAJfSBlbHNlIHsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2RybV9jb2xvcl9tZ210LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nv bG9yX21nbXQuYwo+IGluZGV4IDU4MWNjMzcuLmIxZTJhMGEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2RybV9jb2xvcl9tZ210LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nv bG9yX21nbXQuYwo+IEBAIC00NzIsMyArNDcyLDcxIEBAIGludCBkcm1fcGxhbmVfY3JlYXRlX2Nv bG9yX3Byb3BlcnRpZXMoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gIAlyZXR1cm4gMDsKPiAg fQo+ICBFWFBPUlRfU1lNQk9MKGRybV9wbGFuZV9jcmVhdGVfY29sb3JfcHJvcGVydGllcyk7Cj4g Kwo+ICtzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHBpeGVsX25vcm1hbGl6ZV9yYW5nZV9uYW1l W10gPSB7Cj4gKwlbRFJNX1BJWEVMX05PUk1BTElaRV9SQU5HRV8wXzFdID0gIjAuMCAtIDEuMCIs Cj4gKwlbRFJNX1BJWEVMX05PUk1BTElaRV9SQU5HRV8wXzI1NV0gPSAiMC4wIC0gMjU1LjAiLAo+ ICt9Owo+ICsKPiArLyoqCj4gKyAqIGRybV9nZXRfcGl4ZWxfbm9ybWFsaXplX3JhbmdlX25hbWUg LSByZXR1cm4gYSBzdHJpbmcgZm9yIHBpeGVsIG5vcm1hbGl6ZQo+ICsgKiByYW5nZQo+ICsgKiBA cmFuZ2U6IHBpeGVsIG5vcm1hbGl6ZSByYW5nZSB0byBjb21wdXRlIG5hbWUgb2YKPiArICoKPiAr ICogSW4gY29udHJhc3QgdG8gdGhlIG90aGVyIGRybV9nZXRfKl9uYW1lIGZ1bmN0aW9ucyB0aGlz IG9uZSBoZXJlIHJldHVybnMgYQo+ICsgKiBjb25zdCBwb2ludGVyIGFuZCBoZW5jZSBpcyB0aHJl YWRzYWZlLgo+ICsgKi8KPiArY29uc3QgY2hhciAqZHJtX2dldF9waXhlbF9ub3JtYWxpemVfcmFu Z2VfbmFtZShlbnVtIGRybV9waXhlbF9ub3JtYWxpemVfcmFuZ2UgcmFuZ2UpCj4gK3sKPiArCWlm IChXQVJOX09OKHJhbmdlID49IEFSUkFZX1NJWkUocGl4ZWxfbm9ybWFsaXplX3JhbmdlX25hbWUp KSkKPiArCQlyZXR1cm4gInVua25vd24iOwo+ICsKPiArCXJldHVybiBwaXhlbF9ub3JtYWxpemVf cmFuZ2VfbmFtZVtyYW5nZV07Cj4gK30KPiArCj4gKy8qKgo+ICsgKiBkcm1fcGxhbmVfY3JlYXRl X3BpeGVsX25vcm1hbGl6ZV9yYW5nZV9wcm9wZXJ0eSAtIHBpeGVsIG5vcm1hbGl6ZSByYW5nZQo+ ICsgKiBwcm9wZXJ0eQo+ICsgKiBAcGxhbmU6IHBsYW5lIG9iamVjdAo+ICsgKiBAc3VwcG9ydGVk X3JhbmdlczogYml0ZmllbGQgaW5kaWNhdGluZyBzdXBwb3J0ZWQgbm9ybWFsaXplIHJhbmdlcwo+ ICsgKiBAZGVmYXVsdF9yYW5nZTogZGVmYXVsdCBub3JtYWxpemUgcmFuZ2UKPiArICoKPiArICog Q3JlYXRlIGFuZCBhdHRhY2ggcGxhbmUgc3BlY2lmaWMgUElYRUxfTk9STUFMSVpFX1JBTkdFIHBy b3BlcnR5IHRvIEBwbGFuZS4KPiArICogVGhlIHN1cHBvcnRlZCByYW5nZXMgc2hvdWxkIGJlIHBy b3ZpZGVkIGluIHN1cHBvcnRlZF9yYW5nZXMgYml0bWFzay4gRWVhY2gKPiArICogYml0IHNldCBp biB0aGUgYml0bWFzayBpbmRpY2F0ZXMgdGhhdCBpdHMgbnVtYmVyIGFzIGVudW0gdmFsdWUgaXMg c3VwcG9ydGVkLgo+ICsgKi8KPiAraW50IGRybV9wbGFuZV9jcmVhdGVfcGl4ZWxfbm9ybWFsaXpl X3JhbmdlX3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICsJdTMyIHN1cHBvcnRl ZF9yYW5nZXMsIGVudW0gZHJtX3BpeGVsX25vcm1hbGl6ZV9yYW5nZSBkZWZhdWx0X3JhbmdlKQo+ ICt7Cj4gKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wOwo+ICsJc3RydWN0IGRybV9wcm9wX2Vu dW1fbGlzdCBlbnVtX2xpc3RbRFJNX1BJWEVMX05PUk1BTElaRV9SQU5HRV9NQVhdOwo+ICsJaW50 IGksIGxlbiA9IDA7Cj4gKwo+ICsJaWYgKFdBUk5fT04oc3VwcG9ydGVkX3JhbmdlcyA9PSAwIHx8 Cj4gKwkJICAgIChzdXBwb3J0ZWRfcmFuZ2VzICYgLUJJVChEUk1fUElYRUxfTk9STUFMSVpFX1JB TkdFX01BWCkpICE9IDAgfHwKPiArCQkgICAgKHN1cHBvcnRlZF9yYW5nZXMgJiBCSVQoZGVmYXVs dF9yYW5nZSkpID09IDApKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCWZvciAoaSA9IDA7 IGkgPCBEUk1fUElYRUxfTk9STUFMSVpFX1JBTkdFX01BWDsgaSsrKSB7Cj4gKwkJaWYgKChzdXBw b3J0ZWRfcmFuZ2VzICYgQklUKGkpKSA9PSAwKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJZW51 bV9saXN0W2xlbl0udHlwZSA9IGk7Cj4gKwkJZW51bV9saXN0W2xlbl0ubmFtZSA9IHBpeGVsX25v cm1hbGl6ZV9yYW5nZV9uYW1lW2ldOwo+ICsJCWxlbisrOwo+ICsJfQo+ICsKPiArCXByb3AgPSBk cm1fcHJvcGVydHlfY3JlYXRlX2VudW0ocGxhbmUtPmRldiwgMCwgIlBJWEVMX05PUk1BTElaRV9S QU5HRSIsCj4gKwkJCQkJZW51bV9saXN0LCBsZW4pOwo+ICsJaWYgKCFwcm9wKQo+ICsJCXJldHVy biAtRU5PTUVNOwo+ICsKPiArCXBsYW5lLT5waXhlbF9ub3JtYWxpemVfcmFuZ2VfcHJvcGVydHkg PSBwcm9wOwo+ICsJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJnBsYW5lLT5iYXNlLCBwcm9w LCBkZWZhdWx0X3JhbmdlKTsKPiArCj4gKwlpZiAocGxhbmUtPnN0YXRlKQo+ICsJCXBsYW5lLT5z dGF0ZS0+cGl4ZWxfbm9ybWFsaXplX3JhbmdlID0gZGVmYXVsdF9yYW5nZTsKPiArCj4gKwlyZXR1 cm4gMDsKPiArfQo+ICtFWFBPUlRfU1lNQk9MKGRybV9wbGFuZV9jcmVhdGVfcGl4ZWxfbm9ybWFs aXplX3JhbmdlX3Byb3BlcnR5KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9j cnRjX2ludGVybmFsLmggYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaW50ZXJuYWwuaAo+IGlu ZGV4IDg2ODkzNDQuLjgyZGRjNTAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9j cnRjX2ludGVybmFsLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaW50ZXJuYWwu aAo+IEBAIC05MCw2ICs5MCw3IEBAIGludCBkcm1fbW9kZV9kZXN0cm95X2R1bWJfaW9jdGwoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKPiAgLyogZHJtX2NvbG9yX21nbXQuYyAqLwo+ICBjb25zdCBj aGFyICpkcm1fZ2V0X2NvbG9yX2VuY29kaW5nX25hbWUoZW51bSBkcm1fY29sb3JfZW5jb2Rpbmcg ZW5jb2RpbmcpOwo+ICBjb25zdCBjaGFyICpkcm1fZ2V0X2NvbG9yX3JhbmdlX25hbWUoZW51bSBk cm1fY29sb3JfcmFuZ2UgcmFuZ2UpOwo+ICtjb25zdCBjaGFyICpkcm1fZ2V0X3BpeGVsX25vcm1h bGl6ZV9yYW5nZV9uYW1lKGVudW0gZHJtX3BpeGVsX25vcm1hbGl6ZV9yYW5nZSByYW5nZSk7Cj4g IAo+ICAvKiBJT0NUTHMgKi8KPiAgaW50IGRybV9tb2RlX2dhbW1hX2dldF9pb2N0bChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY29sb3JfbWdt dC5oIGIvaW5jbHVkZS9kcm0vZHJtX2NvbG9yX21nbXQuaAo+IGluZGV4IDkwZWY5OTkuLjQ2MGUz MWMgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2NvbG9yX21nbXQuaAo+ICsrKyBiL2lu Y2x1ZGUvZHJtL2RybV9jb2xvcl9tZ210LmgKPiBAQCAtNjQsOSArNjQsMTggQEAgZW51bSBkcm1f Y29sb3JfcmFuZ2Ugewo+ICAJRFJNX0NPTE9SX1JBTkdFX01BWCwKPiAgfTsKPiAgCj4gK2VudW0g ZHJtX3BpeGVsX25vcm1hbGl6ZV9yYW5nZSB7Cj4gKwlEUk1fUElYRUxfTk9STUFMSVpFX1JBTkdF XzBfMSwKPiArCURSTV9QSVhFTF9OT1JNQUxJWkVfUkFOR0VfMF8yNTUsCj4gKwlEUk1fUElYRUxf Tk9STUFMSVpFX1JBTkdFX01BWAo+ICt9Owo+ICsKPiAgaW50IGRybV9wbGFuZV9jcmVhdGVfY29s b3JfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAgCQkJCSAgICAgIHUzMiBz dXBwb3J0ZWRfZW5jb2RpbmdzLAo+ICAJCQkJICAgICAgdTMyIHN1cHBvcnRlZF9yYW5nZXMsCj4g IAkJCQkgICAgICBlbnVtIGRybV9jb2xvcl9lbmNvZGluZyBkZWZhdWx0X2VuY29kaW5nLAo+ICAJ CQkJICAgICAgZW51bSBkcm1fY29sb3JfcmFuZ2UgZGVmYXVsdF9yYW5nZSk7Cj4gK2ludCBkcm1f cGxhbmVfY3JlYXRlX3BpeGVsX25vcm1hbGl6ZV9yYW5nZV9wcm9wZXJ0eShzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSwKPiArCQkJCXUzMiBzdXBwb3J0ZWRfcmFuZ2VzLAo+ICsJCQkJZW51bSBkcm1f cGl4ZWxfbm9ybWFsaXplX3JhbmdlIGRlZmF1bHRfcmFuZ2UpOwo+ICAjZW5kaWYKPiBkaWZmIC0t Z2l0IGEvaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmggYi9pbmNsdWRlL2RybS9kcm1fcGxhbmUuaAo+ IGluZGV4IDM3MDFmNTYuLjExZjViZTQgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX3Bs YW5lLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fcGxhbmUuaAo+IEBAIC0xMzAsNiArMTMwLDEz IEBAIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgewo+ICAJdWludDE2X3QgcGl4ZWxfYmxlbmRfbW9k ZTsKPiAgCj4gIAkvKioKPiArCSAqIEBwaXhlbF9ub3JtYWxpemVfcmFuZ2U6Cj4gKwkgKiBUaGUg cmFuZ2UgdG8gdXNlIGZvciBmbG9hdGluZyBwb2ludCBwaXhlbCBkYXRhIG5vcm1hbGl6YXRpb24u IFNlZQo+ICsJICogZHJtX3BsYW5lX2NyZWF0ZV9waXhlbF9ub3JtYWxpemVfcmFuZ2VfcHJvcGVy dHkoKSBmb3IgbW9yZSBkZXRhaWxzLgo+ICsJICovCj4gKwllbnVtIGRybV9waXhlbF9ub3JtYWxp emVfcmFuZ2UgcGl4ZWxfbm9ybWFsaXplX3JhbmdlOwo+ICsKPiArCS8qKgo+ICAJICogQHJvdGF0 aW9uOgo+ICAJICogUm90YXRpb24gb2YgdGhlIHBsYW5lLiBTZWUgZHJtX3BsYW5lX2NyZWF0ZV9y b3RhdGlvbl9wcm9wZXJ0eSgpIGZvcgo+ICAJICogbW9yZSBkZXRhaWxzLgo+IEBAIC02ODAsNiAr Njg3LDEzIEBAIHN0cnVjdCBkcm1fcGxhbmUgewo+ICAJc3RydWN0IGRybV9wcm9wZXJ0eSAqYmxl bmRfbW9kZV9wcm9wZXJ0eTsKPiAgCj4gIAkvKioKPiArCSAqIEBwaXhlbF9ub3JtYWxpemVfcmFu Z2VfcHJvcGVydHk6Cj4gKwkgKiBPcHRpb25hbCAiUElYRUxfTk9STUFMSVpFX1JBTkdFIiBwcm9w ZXJ0eSBmb3IgdGhpcyBwbGFuZS4gU2VlCj4gKwkgKiBkcm1fcGxhbmVfY3JlYXRlX3BpeGVsX25v cm1hbGl6ZV9yYW5nZV9wcm9wZXJ0eSgpLgo+ICsJICovCj4gKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5 ICpwaXhlbF9ub3JtYWxpemVfcmFuZ2VfcHJvcGVydHk7Cj4gKwo+ICsJLyoqCj4gIAkgKiBAY29s b3JfZW5jb2RpbmdfcHJvcGVydHk6Cj4gIAkgKgo+ICAJICogT3B0aW9uYWwgIkNPTE9SX0VOQ09E SU5HIiBlbnVtIHByb3BlcnR5IGZvciBzcGVjaWZ5aW5nCj4gLS0gCj4gMi43LjQKCi0tIApWaWxs ZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==