From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6D48F6E26F for ; Thu, 4 Jul 2019 07:16:43 +0000 (UTC) From: "Ser, Simon" Date: Thu, 4 Jul 2019 07:16:40 +0000 Message-ID: <0e1207fe0d546f988f82672cb04c19a3a0221bfc.camel@intel.com> References: <20190703120226.24693-1-simon.ser@intel.com> <20190703120226.24693-6-simon.ser@intel.com> <20190703171821.GA5942@intel.com> In-Reply-To: <20190703171821.GA5942@intel.com> Content-Language: en-US Content-ID: <4B401EE063DA8348AFAE297518D968B8@intel.com> MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t v2 6/6] lib/igt_kms: use igt_edid to generate a 4K EDID List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: "ville.syrjala@linux.intel.com" Cc: "igt-dev@lists.freedesktop.org" List-ID: T24gV2VkLCAyMDE5LTA3LTAzIGF0IDIwOjE4ICswMzAwLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6 DQo+IE9uIFdlZCwgSnVsIDAzLCAyMDE5IGF0IDAzOjAyOjI2UE0gKzAzMDAsIFNpbW9uIFNlciB3 cm90ZToNCj4gPiBUaGUgbmV3IEVESUQgaGFzIGJlZW4gYnl0ZS1ieS1ieXRlIGNoZWNrZWQgdG8g YmUgZXhhY3RseSB0aGUgc2FtZSBhcyBiZWZvcmUuDQo+ID4gDQo+ID4gU2lnbmVkLW9mZi1ieTog U2ltb24gU2VyIDxzaW1vbi5zZXJAaW50ZWwuY29tPg0KPiANCj4gU2VlbXMgb2sNCg0KSG9uZXN0 bHksIGlmIHlvdSBoYXZlIGlkZWFzIHRvIGltcHJvdmUgaWd0X2VkaWQsIHRoZXkgYXJlIHZlcnkg d2VsY29tZSENCg0KSG93IHdvdWxkIHRoZSBwZXJmZWN0IEVESUQgbGlicmFyeSBsb29rIGxpa2U/ DQoNCj4gUmV2aWV3ZWQtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+DQo+IA0KPiA+IC0tLQ0KPiA+ICBsaWIvaWd0X2ttcy5jICAgICAgICAgICAgICAg fCAxMDcgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tDQo+ID4gIGxpYi9pZ3Rf a21zLmggICAgICAgICAgICAgICB8ICAgMiArLQ0KPiA+ICBsaWIvdGVzdHMvaWd0X2VkaWQuYyAg ICAgICAgfCAgIDEgKw0KPiA+ICBsaWIvdGVzdHMvaWd0X2hkbWlfaW5qZWN0LmMgfCAgIDEgLQ0K PiA+ICB0ZXN0cy9rbXNfaGRtaV9pbmplY3QuYyAgICAgfCAgIDkgKy0tDQo+ID4gIDUgZmlsZXMg Y2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygrKSwgNTYgZGVsZXRpb25zKC0pDQo+ID4gDQo+ID4gZGlm ZiAtLWdpdCBhL2xpYi9pZ3Rfa21zLmMgYi9saWIvaWd0X2ttcy5jDQo+ID4gaW5kZXggNDI0Yzgz MTU5Yzc4Li4xOWQ4YWNhYzhkNzcgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2lndF9rbXMuYw0KPiA+ ICsrKyBiL2xpYi9pZ3Rfa21zLmMNCj4gPiBAQCAtMjg0LDYgKzI4NCw2NiBAQCBjb25zdCB1bnNp Z25lZCBjaGFyICppZ3Rfa21zX2dldF9kcF9hdWRpb19lZGlkKHZvaWQpDQo+ID4gIAlyZXR1cm4g cmF3X2VkaWQ7DQo+ID4gIH0NCj4gPiAgDQo+ID4gK3N0YXRpYyBjb25zdCB1aW50OF90IGVkaWRf NGtfc3Zkc1tdID0gew0KPiA+ICsJMzIgfCBDRUFfU1ZEX05BVElWRSwgLyogMTA4MHAgQCAyNEh6 IChuYXRpdmUpICovDQo+ID4gKwk1LCAgICAgICAgICAgICAgICAgICAvKiAxMDgwaSBAIDYwSHog Ki8NCj4gPiArCTIwLCAgICAgICAgICAgICAgICAgIC8qIDEwODBpIEAgNTBIeiAqLw0KPiA+ICsJ NCwgICAgICAgICAgICAgICAgICAgLyogNzIwcCBAIDYwSHogKi8NCj4gPiArCTE5LCAgICAgICAg ICAgICAgICAgIC8qIDcyMHAgQCA1MEh6ICovDQo+ID4gK307DQo+ID4gKw0KPiA+ICtjb25zdCB1 bnNpZ25lZCBjaGFyICppZ3Rfa21zX2dldF80a19lZGlkKHZvaWQpDQo+ID4gK3sNCj4gPiArCXN0 YXRpYyB1bnNpZ25lZCBjaGFyIHJhd19lZGlkWzI1Nl07DQo+ID4gKwlzdHJ1Y3QgZWRpZCAqZWRp ZDsNCj4gPiArCXN0cnVjdCBlZGlkX2V4dCAqZWRpZF9leHQ7DQo+ID4gKwlzdHJ1Y3QgZWRpZF9j ZWEgKmVkaWRfY2VhOw0KPiA+ICsJY2hhciAqY2VhX2RhdGE7DQo+ID4gKwlzdHJ1Y3QgZWRpZF9j ZWFfZGF0YV9ibG9jayAqYmxvY2s7DQo+ID4gKwkvKiBXZSdsbCBhZGQgNiBleHRlbnNpb24gZmll bGRzIHRvIHRoZSBIRE1JIFZTREIuICovDQo+ID4gKwljaGFyIHJhd19oZG1pW0hETUlfVlNEQl9N SU5fU0laRSArIDZdID0gezB9Ow0KPiA+ICsJc3RydWN0IGhkbWlfdnNkYiAqaGRtaTsNCj4gPiAr CXNpemVfdCBjZWFfZGF0YV9zaXplID0gMDsNCj4gPiArDQo+ID4gKwkvKiBDcmVhdGUgYSBuZXcg RURJRCBmcm9tIHRoZSBiYXNlIElHVCBFRElELCBhbmQgYWRkIGFuDQo+ID4gKwkgKiBleHRlbnNp b24gdGhhdCBhZHZlcnRpc2VzIDRLIHN1cHBvcnQuICovDQo+ID4gKwllZGlkID0gKHN0cnVjdCBl ZGlkICopIHJhd19lZGlkOw0KPiA+ICsJbWVtY3B5KGVkaWQsIGlndF9rbXNfZ2V0X2Jhc2VfZWRp ZCgpLCBzaXplb2Yoc3RydWN0IGVkaWQpKTsNCj4gPiArCWVkaWQtPmV4dGVuc2lvbnNfbGVuID0g MTsNCj4gPiArCWVkaWRfZXh0ID0gJmVkaWQtPmV4dGVuc2lvbnNbMF07DQo+ID4gKwllZGlkX2Nl YSA9ICZlZGlkX2V4dC0+ZGF0YS5jZWE7DQo+ID4gKwljZWFfZGF0YSA9IGVkaWRfY2VhLT5kYXRh Ow0KPiA+ICsNCj4gPiArCS8qIFNob3J0IFZpZGVvIERlc2NyaXB0b3IgKi8NCj4gPiArCWJsb2Nr ID0gKHN0cnVjdCBlZGlkX2NlYV9kYXRhX2Jsb2NrICopICZjZWFfZGF0YVtjZWFfZGF0YV9zaXpl XTsNCj4gPiArCWNlYV9kYXRhX3NpemUgKz0gZWRpZF9jZWFfZGF0YV9ibG9ja19zZXRfc3ZkKGJs b2NrLCBlZGlkXzRrX3N2ZHMsDQo+ID4gKwkJCQkJCSAgICAgc2l6ZW9mKGVkaWRfNGtfc3Zkcykp Ow0KPiA+ICsNCj4gPiArCS8qIFZlbmRvci1TcGVjaWZpYyBEYXRhIEJsb2NrICovDQo+ID4gKwlo ZG1pID0gKHN0cnVjdCBoZG1pX3ZzZGIgKikgcmF3X2hkbWk7DQo+ID4gKwloZG1pLT5zcmNfcGh5 X2FkZHJbMF0gPSAweDEwOw0KPiA+ICsJaGRtaS0+c3JjX3BoeV9hZGRyWzFdID0gMHgwMDsNCj4g PiArCS8qIDYgZXh0ZW5zaW9uIGZpZWxkcyAqLw0KPiA+ICsJaGRtaS0+ZmxhZ3MxID0gMDsNCj4g PiArCWhkbWktPm1heF90ZG1zX2Nsb2NrID0gMDsNCj4gPiArCWhkbWktPmZsYWdzMiA9IEhETUlf VlNEQl9WSURFT19QUkVTRU5UOw0KPiA+ICsJaGRtaS0+ZGF0YVswXSA9IDB4MDA7IC8qIEhETUkg dmlkZW8gZmxhZ3MgKi8NCj4gPiArCWhkbWktPmRhdGFbMV0gPSAxIDw8IDU7IC8qIDEgVklDIGVu dHJ5LCAwIDNEIGVudHJpZXMgKi8NCj4gPiArCWhkbWktPmRhdGFbMl0gPSAweDAxOyAvKiAyMTYw cCwgc3BlY2lmaWVkIGFzIHNob3J0IGRlc2NyaXB0b3IgKi8NCj4gPiArDQo+ID4gKwlibG9jayA9 IChzdHJ1Y3QgZWRpZF9jZWFfZGF0YV9ibG9jayAqKSAmY2VhX2RhdGFbY2VhX2RhdGFfc2l6ZV07 DQo+ID4gKwljZWFfZGF0YV9zaXplICs9IGVkaWRfY2VhX2RhdGFfYmxvY2tfc2V0X2hkbWlfdnNk YihibG9jaywgaGRtaSwNCj4gPiArCQkJCQkJCSAgIHNpemVvZihyYXdfaGRtaSkpOw0KPiA+ICsN Cj4gPiArCWFzc2VydChjZWFfZGF0YV9zaXplIDw9IHNpemVvZihlZGlkX2NlYS0+ZGF0YSkpOw0K PiA+ICsNCj4gPiArCWVkaWRfZXh0X3NldF9jZWEoZWRpZF9leHQsIGNlYV9kYXRhX3NpemUsIDAs IDApOw0KPiA+ICsNCj4gPiArCWVkaWRfdXBkYXRlX2NoZWNrc3VtKGVkaWQpOw0KPiA+ICsJZWRp ZF9leHRfdXBkYXRlX2NlYV9jaGVja3N1bShlZGlkX2V4dCk7DQo+ID4gKwlyZXR1cm4gcmF3X2Vk aWQ7DQo+ID4gK30NCj4gPiArDQo+ID4gIGNvbnN0IGNoYXIgKiBjb25zdCBpZ3RfcGxhbmVfcHJv cF9uYW1lc1tJR1RfTlVNX1BMQU5FX1BST1BTXSA9IHsNCj4gPiAgCVtJR1RfUExBTkVfU1JDX1hd ID0gIlNSQ19YIiwNCj4gPiAgCVtJR1RfUExBTkVfU1JDX1ldID0gIlNSQ19ZIiwNCj4gPiBAQCAt MTM0Niw4ICsxNDA2LDYgQEAgc3RydWN0IGVkaWRfYmxvY2sgew0KPiA+ICAgICAgdW5zaWduZWQg Y2hhciAqZGF0YTsNCj4gPiAgfTsNCj4gPiAgDQo+ID4gLSNkZWZpbmUgRFREX1NVUFBPUlRTX0FV RElPIDE8PDYNCj4gPiAtDQo+ID4gIHN0YXRpYyBzdHJ1Y3QgZWRpZF9ibG9jaw0KPiA+ICBpbml0 X2NlYV9ibG9jayhjb25zdCB1bnNpZ25lZCBjaGFyICplZGlkLCBzaXplX3QgbGVuZ3RoLA0KPiA+ ICAJICAgICAgIHVuc2lnbmVkIGNoYXIgKm5ld19lZGlkX3B0cltdLCBzaXplX3QgKm5ld19sZW5n dGgsDQo+ID4gQEAgLTE0MzUsNTEgKzE0OTMsNiBAQCB2b2lkIGttc3Rlc3RfZWRpZF9hZGRfM2Qo Y29uc3QgdW5zaWduZWQgY2hhciAqZWRpZCwgc2l6ZV90IGxlbmd0aCwNCj4gPiAgCXVwZGF0ZV9l ZGlkX2NzdW0obmV3X2VkaWQuZGF0YSwgbGVuZ3RoKTsNCj4gPiAgfQ0KPiA+ICANCj4gPiAtLyoq DQo+ID4gLSAqIGttc3Rlc3RfZWRpZF9hZGRfNGs6DQo+ID4gLSAqIEBlZGlkOiBhbiBleGlzdGlu ZyB2YWxpZCBlZGlkIGJsb2NrDQo+ID4gLSAqIEBsZW5ndGg6IGxlbmd0aCBvZiBAZWRpZA0KPiA+ IC0gKiBAbmV3X2VkaWRfcHRyOiBwb2ludGVyIHRvIHdoZXJlIHRoZSBuZXcgZWRpZCB3aWxsIGJl IHBsYWNlZA0KPiA+IC0gKiBAbmV3X2xlbmd0aDogcG9pbnRlciB0byB0aGUgc2l6ZSBvZiB0aGUg bmV3IGVkaWQNCj4gPiAtICoNCj4gPiAtICogTWFrZXMgYSBjb3B5IG9mIGFuIGV4aXN0aW5nIGVk aWQgYmxvY2sgYW5kIGFkZHMgYW4gZXh0ZW5zaW9uIGluZGljYXRpbmcNCj4gPiAtICogYSBIRE1J IDRLIG1vZGUgaW4gdnNkYi4NCj4gPiAtICovDQo+ID4gLXZvaWQga21zdGVzdF9lZGlkX2FkZF80 ayhjb25zdCB1bnNpZ25lZCBjaGFyICplZGlkLCBzaXplX3QgbGVuZ3RoLA0KPiA+IC0JCQkgdW5z aWduZWQgY2hhciAqbmV3X2VkaWRfcHRyW10sIHNpemVfdCAqbmV3X2xlbmd0aCkNCj4gPiAtew0K PiA+IC0JY2hhciB2c2RiX2Jsb2NrX2xlbiA9IDEyOw0KPiA+IC0Jc3RydWN0IGVkaWRfYmxvY2sg bmV3X2VkaWQgPSBpbml0X2NlYV9ibG9jayhlZGlkLCBsZW5ndGgsIG5ld19lZGlkX3B0ciwNCj4g PiAtCQkJCQkJICAgIG5ld19sZW5ndGgsIHZzZGJfYmxvY2tfbGVuLA0KPiA+IC0JCQkJCQkgICAg MCk7DQo+ID4gLQlpbnQgcG9zID0gbmV3X2VkaWQucG9zOw0KPiA+IC0NCj4gPiAtCS8qIHZzZGIg YmxvY2sgKCBpZCB8IGxlbmd0aCApICovDQo+ID4gLQluZXdfZWRpZC5kYXRhW3BvcysrXSA9IDMg PDwgNSB8ICh2c2RiX2Jsb2NrX2xlbiAtIDEpOw0KPiA+IC0JLyogcmVnaXN0cmF0aW9uIGlkICov DQo+ID4gLQluZXdfZWRpZC5kYXRhW3BvcysrXSA9IDB4MzsNCj4gPiAtCW5ld19lZGlkLmRhdGFb cG9zKytdID0gMHhjOw0KPiA+IC0JbmV3X2VkaWQuZGF0YVtwb3MrK10gPSAweDA7DQo+ID4gLQkv KiBzb3VyY2UgcGh5c2ljYWwgYWRkcmVzcyAqLw0KPiA+IC0JbmV3X2VkaWQuZGF0YVtwb3MrK10g PSAweDEwOw0KPiA+IC0JbmV3X2VkaWQuZGF0YVtwb3MrK10gPSAweDAwOw0KPiA+IC0JLyogU3Vw cG9ydHNfQUkgLi4uIGV0YyAqLw0KPiA+IC0JbmV3X2VkaWQuZGF0YVtwb3MrK10gPSAweDAwOw0K PiA+IC0JLyogTWF4IFRNRFMgQ2xvY2sgKi8NCj4gPiAtCW5ld19lZGlkLmRhdGFbcG9zKytdID0g MHgwMDsNCj4gPiAtCS8qIExhdGVuY3kgcHJlc2VudCwgSERNSSBWaWRlbyBQcmVzZW50ICovDQo+ ID4gLQluZXdfZWRpZC5kYXRhW3BvcysrXSA9IDB4MjA7DQo+ID4gLQkvKiBIRE1JIFZpZGVvICov DQo+ID4gLQluZXdfZWRpZC5kYXRhW3BvcysrXSA9IDB4MDA7IC8qIDNEIHByZXNlbnQgKi8NCj4g PiAtDQo+ID4gLQkvKiBIRE1JIE1PREUgTEVOIC0tIGhvdyBtYW55IGVudHJpZXMgKi8NCj4gPiAt CW5ld19lZGlkLmRhdGFbcG9zKytdID0gMHgyMDsNCj4gPiAtCS8qIDIxNjBwLCBzcGVjaWZpZWQg YXMgc2hvcnQgZGVzY3JpcHRvciAqLw0KPiA+IC0JbmV3X2VkaWQuZGF0YVtwb3MrK10gPSAweDAx Ow0KPiA+IC0NCj4gPiAtCXVwZGF0ZV9lZGlkX2NzdW0obmV3X2VkaWQuZGF0YSwgbGVuZ3RoKTsN Cj4gPiAtfQ0KPiA+IC0NCj4gPiAgLyoqDQo+ID4gICAqIGttc3Rlc3RfdW5zZXRfYWxsX2NydGNz Og0KPiA+ICAgKiBAZHJtX2ZkOiB0aGUgRFJNIGZkDQo+ID4gZGlmZiAtLWdpdCBhL2xpYi9pZ3Rf a21zLmggYi9saWIvaWd0X2ttcy5oDQo+ID4gaW5kZXggZjcyNTA4NjQwNzEyLi4yMDM3MTk4Nzhk ODYgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2lndF9rbXMuaA0KPiA+ICsrKyBiL2xpYi9pZ3Rfa21z LmgNCj4gPiBAQCAtMTk1LDcgKzE5NSw2IEBAIGVudW0gaW50ZWxfYnJvYWRjYXN0X3JnYl9tb2Rl IHsNCj4gPiAgYm9vbCBrbXN0ZXN0X2ZvcmNlX2Nvbm5lY3RvcihpbnQgZmQsIGRybU1vZGVDb25u ZWN0b3IgKmNvbm5lY3RvciwNCj4gPiAgCQkJICAgICBlbnVtIGttc3Rlc3RfZm9yY2VfY29ubmVj dG9yX3N0YXRlIHN0YXRlKTsNCj4gPiAgdm9pZCBrbXN0ZXN0X2VkaWRfYWRkXzNkKGNvbnN0IHVu c2lnbmVkIGNoYXIgKmVkaWQsIHNpemVfdCBsZW5ndGgsIHVuc2lnbmVkIGNoYXIgKm5ld19lZGlk X3B0cltdLCBzaXplX3QgKm5ld19sZW5ndGgpOw0KPiA+IC12b2lkIGttc3Rlc3RfZWRpZF9hZGRf NGsoY29uc3QgdW5zaWduZWQgY2hhciAqZWRpZCwgc2l6ZV90IGxlbmd0aCwgdW5zaWduZWQgY2hh ciAqbmV3X2VkaWRfcHRyW10sIHNpemVfdCAqbmV3X2xlbmd0aCk7DQo+ID4gIHZvaWQga21zdGVz dF9mb3JjZV9lZGlkKGludCBkcm1fZmQsIGRybU1vZGVDb25uZWN0b3IgKmNvbm5lY3RvciwNCj4g PiAgCQkJY29uc3QgdW5zaWduZWQgY2hhciAqZWRpZCk7DQo+ID4gIA0KPiA+IEBAIC03NjMsNiAr NzYyLDcgQEAgY29uc3QgdW5zaWduZWQgY2hhciAqaWd0X2ttc19nZXRfYmFzZV9lZGlkKHZvaWQp Ow0KPiA+ICBjb25zdCB1bnNpZ25lZCBjaGFyICppZ3Rfa21zX2dldF9hbHRfZWRpZCh2b2lkKTsN Cj4gPiAgY29uc3QgdW5zaWduZWQgY2hhciAqaWd0X2ttc19nZXRfaGRtaV9hdWRpb19lZGlkKHZv aWQpOw0KPiA+ICBjb25zdCB1bnNpZ25lZCBjaGFyICppZ3Rfa21zX2dldF9kcF9hdWRpb19lZGlk KHZvaWQpOw0KPiA+ICtjb25zdCB1bnNpZ25lZCBjaGFyICppZ3Rfa21zX2dldF80a19lZGlkKHZv aWQpOw0KPiA+ICANCj4gPiAgc3RydWN0IHVkZXZfbW9uaXRvciAqaWd0X3dhdGNoX2hvdHBsdWco dm9pZCk7DQo+ID4gIGJvb2wgaWd0X2hvdHBsdWdfZGV0ZWN0ZWQoc3RydWN0IHVkZXZfbW9uaXRv ciAqbW9uLA0KPiA+IGRpZmYgLS1naXQgYS9saWIvdGVzdHMvaWd0X2VkaWQuYyBiL2xpYi90ZXN0 cy9pZ3RfZWRpZC5jDQo+ID4gaW5kZXggYTg0N2RmMjcyNTI1Li4xYTc4YjM4YTk0NWIgMTAwNjQ0 DQo+ID4gLS0tIGEvbGliL3Rlc3RzL2lndF9lZGlkLmMNCj4gPiArKysgYi9saWIvdGVzdHMvaWd0 X2VkaWQuYw0KPiA+IEBAIC03Niw2ICs3Niw3IEBAIGlndF9zaW1wbGVfbWFpbg0KPiA+ICAJCXsg ImJhc2UiLCBpZ3Rfa21zX2dldF9iYXNlX2VkaWQsIDAgfSwNCj4gPiAgCQl7ICJhbHQiLCBpZ3Rf a21zX2dldF9hbHRfZWRpZCwgMCB9LA0KPiA+ICAJCXsgImhkbWlfYXVkaW8iLCBpZ3Rfa21zX2dl dF9oZG1pX2F1ZGlvX2VkaWQsIDEgfSwNCj4gPiArCQl7ICI0ayIsIGlndF9rbXNfZ2V0XzRrX2Vk aWQsIDEgfSwNCj4gPiAgCQl7MH0sDQo+ID4gIAl9LCAqZjsNCj4gPiAgCWNvbnN0IHVuc2lnbmVk IGNoYXIgKmVkaWQ7DQo+ID4gZGlmZiAtLWdpdCBhL2xpYi90ZXN0cy9pZ3RfaGRtaV9pbmplY3Qu YyBiL2xpYi90ZXN0cy9pZ3RfaGRtaV9pbmplY3QuYw0KPiA+IGluZGV4IDI1MzRiMWEyM2FjYi4u YzcwYzMxOTVjYjFkIDEwMDY0NA0KPiA+IC0tLSBhL2xpYi90ZXN0cy9pZ3RfaGRtaV9pbmplY3Qu Yw0KPiA+ICsrKyBiL2xpYi90ZXN0cy9pZ3RfaGRtaV9pbmplY3QuYw0KPiA+IEBAIC03Miw3ICs3 Miw2IEBAIGlndF9zaW1wbGVfbWFpbg0KPiA+ICAJCWhkbWlfaW5qZWN0X2Z1bmMgaW5qZWN0Ow0K PiA+ICAJfSBmdW5jc1tdID0gew0KPiA+ICAJCXsgIjNEIiwga21zdGVzdF9lZGlkX2FkZF8zZCB9 LA0KPiA+IC0JCXsgIjRrIiwga21zdGVzdF9lZGlkX2FkZF80ayB9LA0KPiA+ICAJCXsgTlVMTCwg TlVMTCB9LA0KPiA+ICAJfSwgKmY7DQo+ID4gIA0KPiA+IGRpZmYgLS1naXQgYS90ZXN0cy9rbXNf aGRtaV9pbmplY3QuYyBiL3Rlc3RzL2ttc19oZG1pX2luamVjdC5jDQo+ID4gaW5kZXggOWE5Njhm YTllNTBlLi42MDE5OGY1Mjk4MTcgMTAwNjQ0DQo+ID4gLS0tIGEvdGVzdHMva21zX2hkbWlfaW5q ZWN0LmMNCj4gPiArKysgYi90ZXN0cy9rbXNfaGRtaV9pbmplY3QuYw0KPiA+IEBAIC03Niw4ICs3 Niw3IEBAIGdldF9jb25uZWN0b3IoaW50IGRybV9mZCwgZHJtTW9kZVJlcyAqcmVzKQ0KPiA+ICBz dGF0aWMgdm9pZA0KPiA+ICBoZG1pX2luamVjdF80ayhpbnQgZHJtX2ZkLCBkcm1Nb2RlQ29ubmVj dG9yICpjb25uZWN0b3IpDQo+ID4gIHsNCj4gPiAtCXVuc2lnbmVkIGNoYXIgKmVkaWQ7DQo+ID4g LQlzaXplX3QgbGVuZ3RoOw0KPiA+ICsJY29uc3QgdW5zaWduZWQgY2hhciAqZWRpZDsNCj4gPiAg CXN0cnVjdCBrbXN0ZXN0X2Nvbm5lY3Rvcl9jb25maWcgY29uZmlnOw0KPiA+ICAJaW50IHJldCwg Y2lkLCBpLCBjcnRjX21hc2sgPSAtMTsNCj4gPiAgCWludCBmYl9pZDsNCj4gPiBAQCAtOTAsOSAr ODksNyBAQCBoZG1pX2luamVjdF80ayhpbnQgZHJtX2ZkLCBkcm1Nb2RlQ29ubmVjdG9yICpjb25u ZWN0b3IpDQo+ID4gIAkvKiA0SyByZXF1aXJlcyBhdCBsZWFzdCBIU1cgKi8NCj4gPiAgCWlndF9y ZXF1aXJlKElTX0hBU1dFTEwoZGV2aWQpIHx8IGludGVsX2dlbihkZXZpZCkgPj0gOCk7DQo+ID4g IA0KPiA+IC0Ja21zdGVzdF9lZGlkX2FkZF80ayhpZ3Rfa21zX2dldF9iYXNlX2VkaWQoKSwgRURJ RF9MRU5HVEgsICZlZGlkLA0KPiA+IC0JCQkgICAgJmxlbmd0aCk7DQo+ID4gLQ0KPiA+ICsJZWRp ZCA9IGlndF9rbXNfZ2V0XzRrX2VkaWQoKTsNCj4gPiAgCWttc3Rlc3RfZm9yY2VfZWRpZChkcm1f ZmQsIGNvbm5lY3RvciwgZWRpZCk7DQo+ID4gIA0KPiA+ICAJaWYgKCFrbXN0ZXN0X2ZvcmNlX2Nv bm5lY3Rvcihkcm1fZmQsIGNvbm5lY3RvciwgRk9SQ0VfQ09OTkVDVE9SX09OKSkNCj4gPiBAQCAt MTM1LDggKzEzMiw2IEBAIGhkbWlfaW5qZWN0XzRrKGludCBkcm1fZmQsIGRybU1vZGVDb25uZWN0 b3IgKmNvbm5lY3RvcikNCj4gPiAgDQo+ID4gIAlrbXN0ZXN0X2ZvcmNlX2Nvbm5lY3Rvcihkcm1f ZmQsIGNvbm5lY3RvciwgRk9SQ0VfQ09OTkVDVE9SX1VOU1BFQ0lGSUVEKTsNCj4gPiAgCWttc3Rl c3RfZm9yY2VfZWRpZChkcm1fZmQsIGNvbm5lY3RvciwgTlVMTCk7DQo+ID4gLQ0KPiA+IC0JZnJl ZShlZGlkKTsNCj4gPiAgfQ0KPiA+ICANCj4gPiAgc3RhdGljIHZvaWQNCj4gPiAtLSANCj4gPiAy LjIyLjANCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmln dC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==