From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id E6A0089718 for ; Thu, 14 Mar 2019 19:57:53 +0000 (UTC) Date: Thu, 14 Mar 2019 21:57:48 +0200 From: Imre Deak Message-ID: <20190314195748.GD9133@ideak-desk.fi.intel.com> References: <20190313005945.19039-1-jose.souza@intel.com> <20190314165936.GC9133@ideak-desk.fi.intel.com> <79b72864c4a338312b8c425a24ac86a6975642c0.camel@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <79b72864c4a338312b8c425a24ac86a6975642c0.camel@intel.com> Subject: Re: [igt-dev] [PATCH i-g-t] tests/chamelium: Add test for hotplug workaround List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: imre.deak@intel.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: "Souza, Jose" Cc: "igt-dev@lists.freedesktop.org" List-ID: T24gVGh1LCBNYXIgMTQsIDIwMTkgYXQgMDc6NTk6MzRQTSArMDIwMCwgU291emEsIEpvc2Ugd3Jv dGU6Cj4gT24gVGh1LCAyMDE5LTAzLTE0IGF0IDE4OjU5ICswMjAwLCBJbXJlIERlYWsgd3JvdGU6 Cj4gPiBIaSBKb3NlLAo+ID4gCj4gPiBPbiBUdWUsIE1hciAxMiwgMjAxOSBhdCAwNTo1OTo0NVBN IC0wNzAwLCBKb3PDqSBSb2JlcnRvIGRlIFNvdXphCj4gPiB3cm90ZToKPiA+ID4gSXQgaXMga25v dyB0aGF0IHNvbWUgdW5wb3dlcmVkIHR5cGUtYyBkb25nbGVzIGNhbiB0YWtlIHNvbWUgdGltZSB0 bwo+ID4gPiBib290IGFuZCBiZSByZXNwb25zaWJsZSBpbiB0aGUgRERDL2F1eCB0cmFuc2FjdGlv biBsaW5lcyBzbyBhCj4gPiA+IHdvcmthcm91bmQgd2FzIGltcGxlbWVudGVkIGluIGtlcm5lbChk cm0vaTkxNTogRW5hYmxlIGhvdHBsdWcKPiA+ID4gcmV0cnkpCj4gPiA+IHRvIGZpeCBpdCBidXQg aXMgcG9zc2libGUgdGhhdCB0aGlzIGNvdWxkIGhhcHBlbiB0byBvdGhlciBEUCBzaW5rcy4KPiA+ ID4gCj4gPiA+IFNvIHRoaXMgdGVzdCB3aWxsIHRyeSB0byBzaW11bGF0ZSB0aGUgc2NlbmVhcmlv IGRlc2NyaWJlZCBhYm92ZSwgaXQKPiA+ID4gd2lsbCBkaXNhYmxlIHRoZSBEREMgbGluZXMgYW5k IHBsdWcgdGhlIGNvbm5lY3RvciwgdGhlIGhvdHBsdWcKPiA+ID4gc2hvdWxkCj4gPiA+IGZhaWwg YW5kIHRoZW4gZW5hYmxpbmcgdGhlIEREQyBsaW5lcyBrZXJuZWwgc2hvdWxkIHJlcG9ydCB0aGUK PiA+ID4gY29ubmVjdG9yIGFzIGNvbm5lY3RlZC4KPiA+ID4gCj4gPiA+IFRoZSB3b3JrYXJvdW5k IHdpbGwgcmVwcm9iZSBjb25uZWN0b3IgYWZ0ZXIgMSBzZWNvbmQgYWZ0ZXIga2VybmVsCj4gPiA+ IGdpdmVzIHVwIG9uIHRoZSBmaXJzdCB0cnkgdG8gcHJvYmUgdGhlIGNvbm5lY3Rvciwgc28gdGhh dCBpcyB3aHkgYQo+ID4gPiBzbWFsbGVyIHRpbWVvdXQgdG8gZGV0ZWN0IGhvdHBsdWcgd2FzIG5l ZWRlZC4KPiA+ID4gCj4gPiA+IENjOiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Cj4g PiA+IFNpZ25lZC1vZmYtYnk6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50 ZWwuY29tPgo+ID4gPiAtLS0KPiA+ID4gIHRlc3RzL2ttc19jaGFtZWxpdW0uYyB8IDcwCj4gPiA+ ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiA+ID4gIDEgZmls ZSBjaGFuZ2VkLCA3MCBpbnNlcnRpb25zKCspCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvdGVz dHMva21zX2NoYW1lbGl1bS5jIGIvdGVzdHMva21zX2NoYW1lbGl1bS5jCj4gPiA+IGluZGV4IGMy MDkwMDM3Li41MGE1NTNmMiAxMDA2NDQKPiA+ID4gLS0tIGEvdGVzdHMva21zX2NoYW1lbGl1bS5j Cj4gPiA+ICsrKyBiL3Rlc3RzL2ttc19jaGFtZWxpdW0uYwo+ID4gPiBAQCAtNDUsNiArNDUsOCBA QCB0eXBlZGVmIHN0cnVjdCB7Cj4gPiA+ICAKPiA+ID4gICNkZWZpbmUgSE9UUExVR19USU1FT1VU IDIwIC8qIHNlY29uZHMgKi8KPiA+ID4gIAo+ID4gPiArI2RlZmluZSBGQVNUX0hPVFBMVUdfU0VD X1RJTUVPVVQgKDEpCj4gPiA+ICsKPiA+ID4gICNkZWZpbmUgSFBEX1NUT1JNX1BVTFNFX0lOVEVS VkFMX0RQIDEwMCAvKiBtcyAqLwo+ID4gPiAgI2RlZmluZSBIUERfU1RPUk1fUFVMU0VfSU5URVJW QUxfSERNSSAyMDAgLyogbXMgKi8KPiA+ID4gIAo+ID4gPiBAQCAtMTA3LDYgKzEwOSwyMSBAQCBy ZXByb2JlX2Nvbm5lY3RvcihkYXRhX3QgKmRhdGEsIHN0cnVjdAo+ID4gPiBjaGFtZWxpdW1fcG9y dCAqcG9ydCkKPiA+ID4gIAlyZXR1cm4gc3RhdHVzOwo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+ICtz dGF0aWMgZHJtTW9kZUNvbm5lY3Rpb24KPiA+ID4gK2Nvbm5lY3Rvcl9zdGF0dXNfZ2V0KGRhdGFf dCAqZGF0YSwgc3RydWN0IGNoYW1lbGl1bV9wb3J0ICpwb3J0KQo+ID4gPiArewo+ID4gPiArCWRy bU1vZGVDb25uZWN0b3IgKmNvbm5lY3RvcjsKPiA+ID4gKwlkcm1Nb2RlQ29ubmVjdGlvbiBzdGF0 dXM7Cj4gPiA+ICsKPiA+ID4gKwlpZ3RfZGVidWcoIkdldHRpbmcgY29ubmVjdG9yIHN0YXRlICVz Li4uXG4iLCBjaGFtZWxpdW1fcG9ydF9nZXRfbmFtZShwb3J0KSk7Cj4gPiA+ICsJY29ubmVjdG9y ID0gY2hhbWVsaXVtX3BvcnRfZ2V0X2Nvbm5lY3RvcihkYXRhLT5jaGFtZWxpdW0sIHBvcnQsIGZh bHNlKTsKPiA+ID4gKwlpZ3RfYXNzZXJ0KGNvbm5lY3Rvcik7Cj4gPiA+ICsJc3RhdHVzID0gY29u bmVjdG9yLT5jb25uZWN0aW9uOwo+ID4gPiArCj4gPiA+ICsJZHJtTW9kZUZyZWVDb25uZWN0b3Io Y29ubmVjdG9yKTsKPiA+ID4gKwlyZXR1cm4gc3RhdHVzOwo+ID4gPiArfQo+ID4gPiArCj4gPiA+ ICBzdGF0aWMgdm9pZAo+ID4gPiAgd2FpdF9mb3JfY29ubmVjdG9yKGRhdGFfdCAqZGF0YSwgc3Ry dWN0IGNoYW1lbGl1bV9wb3J0ICpwb3J0LAo+ID4gPiAgCQkgICBkcm1Nb2RlQ29ubmVjdGlvbiBz dGF0dXMpCj4gPiA+IEBAIC0yNTMsNiArMjcwLDU2IEBAIHRlc3RfYmFzaWNfaG90cGx1ZyhkYXRh X3QgKmRhdGEsIHN0cnVjdAo+ID4gPiBjaGFtZWxpdW1fcG9ydCAqcG9ydCwgaW50IHRvZ2dsZV9j b3VudCkKPiA+ID4gIAlpZ3RfaHBkX3N0b3JtX3Jlc2V0KGRhdGEtPmRybV9mZCk7Cj4gPiA+ICB9 Cj4gPiA+ICAKPiA+ID4gKy8qCj4gPiA+ICsgKiBUZXN0IGtlcm5lbCB3b3JrYXJvdW5kIGZvciBz aW5rcyB0aGF0IHRha2VzIHNvbWUgdGltZSB0byBoYXZlIHRoZSBEREMvYXV4Cj4gPiA+ICsgKiBj aGFubmVsIHJlc3BvbnNpdmUgYWZ0ZXIgdGhlIGhvdHBsdWcKPiA+ID4gKyAqLwo+ID4gPiArc3Rh dGljIHZvaWQKPiA+ID4gK3Rlc3RfbGF0ZV9hdXhfd2EoZGF0YV90ICpkYXRhLCBzdHJ1Y3QgY2hh bWVsaXVtX3BvcnQgKnBvcnQpCj4gPiA+ICt7Cj4gPiA+ICsJc3RydWN0IHVkZXZfbW9uaXRvciAq bW9uID0gaWd0X3dhdGNoX2hvdHBsdWcoKTsKPiA+ID4gKwlkcm1Nb2RlQ29ubmVjdGlvbiBzdGF0 dXM7Cj4gPiA+ICsKPiA+ID4gKwkvKiBSZXNldCB3aWxsIHVucGx1ZyBhbGwgY29ubmVjdG9ycyAq Lwo+ID4gPiArCXJlc2V0X3N0YXRlKGRhdGEsIE5VTEwpOwo+ID4gPiArCj4gPiA+ICsJLyogQ2hl Y2sgaWYgaXQgZGV2aWNlIGNhbiBhY3Qgb24gaG90cGx1Z3MgZmFzdCBlbm91Z2ggZm9yIHRoaXMg dGVzdCAqLwo+ID4gPiArCWlndF9mbHVzaF9ob3RwbHVncyhtb24pOwo+ID4gPiArCWNoYW1lbGl1 bV9wbHVnKGRhdGEtPmNoYW1lbGl1bSwgcG9ydCk7Cj4gPiA+ICsJaWd0X2Fzc2VydChpZ3RfaG90 cGx1Z19kZXRlY3RlZChtb24sIEZBU1RfSE9UUExVR19TRUNfVElNRU9VVCkpOwo+ID4gPiArCXN0 YXR1cyA9IGNvbm5lY3Rvcl9zdGF0dXNfZ2V0KGRhdGEsIHBvcnQpOwo+ID4gPiArCWlndF9yZXF1 aXJlKHN0YXR1cyA9PSBEUk1fTU9ERV9DT05ORUNURUQpOwo+ID4gPiArCj4gPiA+ICsJaWd0X2Zs dXNoX2hvdHBsdWdzKG1vbik7Cj4gPiA+ICsJY2hhbWVsaXVtX3VucGx1ZyhkYXRhLT5jaGFtZWxp dW0sIHBvcnQpOwo+ID4gPiArCWlndF9hc3NlcnQoaWd0X2hvdHBsdWdfZGV0ZWN0ZWQobW9uLCBG QVNUX0hPVFBMVUdfU0VDX1RJTUVPVVQpKTsKPiA+ID4gKwlzdGF0dXMgPSBjb25uZWN0b3Jfc3Rh dHVzX2dldChkYXRhLCBwb3J0KTsKPiA+ID4gKwlpZ3RfcmVxdWlyZShzdGF0dXMgPT0gRFJNX01P REVfRElTQ09OTkVDVEVEKTsKPiA+IAo+ID4gRG8geW91IGtub3cgb24gd2hpY2ggcGxhdGZvcm1z IHRoZSBob3RwbHVnIHByb2Nlc3NpbmcgaXMgdGhhdCBzbG93Cj4gPiBhbmQgd2hhdCBjb3VsZCBi ZSB0aGUgcmVhc29uPwo+IAo+IEkgaGF2ZSB0ZXN0ZWQgb24gSUNMIGFuZCBXSEwgYW5kIGJvdGgg ZG9uJ3QgbmVlZCBtb3JlIHRoYW4gMSBzZWNvbmQsCj4gdGhlIDIwcyB0aW1lb3V0IHdhcyBzZXQg YnkgdGhlIGZpcnN0IHBhdGNoKGM5OWY4YjdhMykgYWRkaW5nIENoYW1lbGl1bQo+IHRlc3RzIGJ1 dCB0aGVyZSBpcyBub3Qgb3RoZXIgaW5mb3JtYXRpb24gYWJvdXQgd2h5IDIwcyhpbiB0aGUgZmly c3QKPiB2ZXJzaW9ucyBvZiB0aGUgcGF0Y2ggaXQgd2FzIDMwcykuCgpPaywgc291bmRzIHRvIG1l IHRoYXQgSE9UUExVR19USU1FT1VUIHdhcyBhZGRlZCBvbmx5IHRvIGNoZWNrIGlmIGhvdHBsdWcK ZGV0ZWN0aW9uIHdvcmtzIGF0IGFsbCAoYWxsIHJlbGV2YW50IHBsYWNlcyB1c2luZyBpdCBoYXZl IGFuCmlndF9hc3NlcnQoKSBvbiBpdCkuCgpTdGlsbCBub3Qgc3VyZSBpZiB3ZSBuZWVkIHRoZSBh Ym92ZSB0d28gY2hlY2tzLCBzaW5jZSBJIHRoaW5rIHRoZQphc3N1bXB0aW9ucy9jaGVja3MgbGF0 ZXIgaW4gdGhlIGZ1bmN0aW9uIHNob3VsZCBob2xkIGFueXdheS4gIFllcywgd2UKbWF5IG5vdCBl eGVyY2lzZSB0aGUgaG90cGx1ZyByZXRyeSBwYXRoIGluIHRoZSBkcml2ZXIsIGJ1dCBJIGRvbid0 IHRoaW5rCnRoZXJlIGlzIGEgZ29vZCB3YXkgdG8gZW5zdXJlIHRoYXQgYW55d2F5IGFzIEkgd3Jv dGUgYmVsb3cuCgo+IAo+IEkgY2FuIHNlbmQgYW5vdGhlciBwYXRjaCByZWR1Y2luZyB0aGlzIHZh bHVlIHRvIDFzIGFuZCBob3BlZnVsbHkgaWYgaXQKPiBkbyBub3QgY2F1c2VzIHJlZ3Jlc3Npb25z IHdlIG1lcmdlIGl0Lgo+ID4gPiArCj4gPiA+ICsJLyogSXQgaXMgZmFzdCBlbm91Z2gsIGxldHMg ZGlzYWJsZSB0aGUgRERDIGxpbmVzIGFuZCBwbHVnIGFnYWluCj4gPiA+ICovCj4gPiA+ICsJaWd0 X2ZsdXNoX2hvdHBsdWdzKG1vbik7Cj4gPiA+ICsJY2hhbWVsaXVtX3BvcnRfc2V0X2RkY19zdGF0 ZShkYXRhLT5jaGFtZWxpdW0sIHBvcnQsIGZhbHNlKTsKPiA+ID4gKwljaGFtZWxpdW1fcGx1Zyhk YXRhLT5jaGFtZWxpdW0sIHBvcnQpOwo+ID4gPiArCWlndF9hc3NlcnQoIWNoYW1lbGl1bV9wb3J0 X2dldF9kZGNfc3RhdGUoZGF0YS0+Y2hhbWVsaXVtLAo+ID4gPiBwb3J0KSk7Cj4gPiA+ICsKPiA+ ID4gKwkvKgo+ID4gPiArCSAqIEdpdmUgc29tZSB0aW1lIHRvIGtlcm5lbCB0cnkgdG8gcHJvY2Vz cyBob3RwbHVnIGJ1dCBpdAo+ID4gPiBzaG91bGQgZmFpbAo+ID4gPiArCSAqLwo+ID4gPiArCWln dF9ob3RwbHVnX2RldGVjdGVkKG1vbiwgRkFTVF9IT1RQTFVHX1NFQ19USU1FT1VUKTsKPiA+ID4g KwlzdGF0dXMgPSBjb25uZWN0b3Jfc3RhdHVzX2dldChkYXRhLCBwb3J0KTsKPiA+ID4gKwlpZ3Rf YXNzZXJ0KHN0YXR1cyA9PSBEUk1fTU9ERV9ESVNDT05ORUNURUQpOwo+ID4gCj4gPiBIbSwgaG93 IGRvZXMgYSBzZWNvbmQgZGlzY29ubmVjdCBldmVudCBnZXQgc2lnbmFsZWQgaGVyZT8gQWZ0ZXIg dGhlCj4gPiBwcmV2aW91cyBob3RwbHVnIGV2ZW50IGFib3ZlIHdoZXJlIHRoZSBzdGF0ZSB3YXMg ZGlzY29ubmVjdGVkIGFscmVhZHkKPiA+IHRoZXJlCj4gPiBzaG91bGRuJ3QgaGF2ZSBiZWVuIGFu eSBjaGFuZ2UgdG8gdGhlIHN0YXRlLCBoZW5jZSB0aGVyZSBzaG91bGRuJ3QgYmUKPiA+IGFueSBl dmVudCBzZW50IGJ5IHRoZSBkcml2ZXIuCj4gCj4gSXQgaXMgbm90IHNpZ25hbGVkLCB0aGF0IEkg d2h5IHRoZXJlIGlzIG5vdCBpZ3RfYXNzZXJ0KCkgb24gdGhpcwo+IGlndF9ob3RwbHVnX2RldGVj dGVkKCkgYnV0IGNhbGwgaXQgd2lsbCBwb2xsL3NsZWVwIGZvciB0aGUgdGltZSB3ZQo+IHdhbnQu CgpCdXQgdGhlbiBJIGRvbid0IHNlZSBob3cgaXQgd2lsbCB3b3JrLiBUaGUgc2VxdWVuY2UgaXM6 Cgo8Y29ubmVjdG9yIGlzIGluIGRpc2Nvbm5lY3RlZCBzdGF0ZSwgY29ycmVzcG9uZGluZyBldmVu dCBkZWxpdmVyZWQ+CjEuIGRpc2FibGUgRERDCjIuIGdlbmVyYXRlIGEgcGx1ZyBldmVudAozLiB3 YWl0IGZvciB0aGUgcGx1ZyBldmVudCBkZWxpdmVyeSB3aXRoIDEgc2VjIHRpbWVvdXQKNC4gcmUt ZW5hYmxlIEREQwo1LiB3YWl0IGZvciB0aGUgcGx1ZyBldmVudCBkZWxpdmVyeSAodGhhdCBzaG91 bGQgYmUgdHJpZ2dlcmVkIGJ5IHRoZSBuZXcKICAgcmV0cnkgbG9naWMgaW4gdGhlIGRyaXZlcikK ClNpbmNlIGFmdGVyIDIuIEREQyBpcyBkaXNhYmxlZCB0aGUgZHJpdmVyIGhvdHBsdWcgaGFuZGxl ciB3aWxsIGNvbmNsdWRlCnRoYXQgdGhlIGNvbm5lY3RvciBpcyBzdGlsbCBkaXNjb25uZWN0ZWQg YW5kIGhlbmNlIGRvZXNuJ3QgZ2VuZXJhdGUgYW55CmhvdHBsdWcgZXZlbnQuIEIvYyBvZiB0aGlz IDMuIHdpbGwgdGltZSBvdXQgYWZ0ZXIgMSBzZWMuCgpTbyBpbiA0LiB3ZSdsbCByZS1lbmFibGUg RERDIG9ubHkgYWZ0ZXIgMSBzZWMgYWZ0ZXIgdGhlIHBsdWcgZXZlbnQKKGludGVycnVwdCkgZ2Vu ZXJhdGVkIGluIDIuIFNpbmNlIHRoZSByZXRyeSBpbiB0aGUgZHJpdmVyIGhhcHBlbnMgYWZ0ZXIK MSBzZWMgZnJvbSB0aGUgcGx1ZyBpbnRlcnJ1cHQgYXMgd2VsbCB0aGUgcmV0cnkgcHJvY2Vzc2lu ZyBjb3VsZCBlYXNpbHkKcmFjZSB3aXRoIHRoZSBEREMgcmUtZW5hYmxpbmcgaW4gNC4gYW5kIHRo dXMgdGhlIGRldGVjdGlvbiBjb3VsZCBmYWlsLgoKU2luY2UgSSBkb24ndCBzZWUgYSBnb29kIHdh eSB0byBlbnN1cmUgdGhhdCB3ZSByZS1lbmFibGUgRERDIGFmdGVyIHRoZQpmaXJzdCBkZXRlY3Rp b24gY3ljbGUgcmFuIChidXQgbm90IHRvbyBsYXRlIG1pc3NpbmcgdGhlIHJldHJ5IGN5Y2xlKSBJ CndvdWxkIHJhdGhlciBzdWdnZXN0IGEgc2ltcGxlIHdhaXQgYXQgMy4sIGxldCdzIHNheSA1MDBt c2VjLiBXaXRoIHRoYXQKdGhpbmdzIHNob3VsZCBhbHdheXMgd29yay4gV2UgbWF5IG5vdCBhbHdh eXMgZXhlcmNpc2UgdGhlIGRyaXZlcidzIHJldHJ5CnBhdGggaWYgdGhlcmUgd2FzIGEgbG9uZyBz Y2hlZHVsaW5nIGRlbGF5LCBidXQgdGhhdCdzIHVubGlrZWx5LgoKSG93ZXZlciBhIHNjaGVkdWxp bmcgZGVsYXkgYWZ0ZXIgMi4gYW5kIGJlZm9yZSA0LiBjb3VsZCBjYXVzZSBhCmRldGVjdGlvbiBm YWlsdXJlLiBUbyBhdm9pZCB0aGF0IEknZCBhbHNvIGNoZWNrIHRoZSBlbGFwc2VkIHRpbWUKc3Rh cnRpbmcgZnJvbSByaWdodCBiZWZvcmUgMi4gdW50aWwgcmlnaHQgYWZ0ZXIgNC4gYW5kIHJ1biB0 aGUgc2VxdWVuY2UKYWdhaW4gaWYgdGhlIGVsYXBzZWQgdGltZSB3YXMgdG9vIGNsb3NlIHRvIDFz ZWMgKGFuZCBoZW5jZSBkZXRlY3Rpb24KcG9zc2libHkgZmFpbGVkIGJlY2F1c2Ugb2YgdGhlIHJh Y2UgZGVzY3JpYmVkIGFib3ZlKS4KCj4gPiA+ICsKPiA+ID4gKwkvKgo+ID4gPiArCSAqIEVuYWJs ZSB0aGUgRERDIGxpbmUgYW5kIHRoZSBrZXJuZWwgd29ya2Fyb3VuZCBzaG91bGQgcmVwcm9iZQo+ ID4gPiBhbmQKPiA+ID4gKwkgKiByZXBvcnQgYXMgY29ubmVjdGVkCj4gPiA+ICsJICovCj4gPiA+ ICsJY2hhbWVsaXVtX3BvcnRfc2V0X2RkY19zdGF0ZShkYXRhLT5jaGFtZWxpdW0sIHBvcnQsIHRy dWUpOwo+ID4gPiArCWlndF9hc3NlcnQoY2hhbWVsaXVtX3BvcnRfZ2V0X2RkY19zdGF0ZShkYXRh LT5jaGFtZWxpdW0sCj4gPiA+IHBvcnQpKTsKPiA+ID4gKwlpZ3RfYXNzZXJ0KGlndF9ob3RwbHVn X2RldGVjdGVkKG1vbiwKPiA+ID4gRkFTVF9IT1RQTFVHX1NFQ19USU1FT1VUKSk7Cj4gPiA+ICsJ c3RhdHVzID0gY29ubmVjdG9yX3N0YXR1c19nZXQoZGF0YSwgcG9ydCk7Cj4gPiA+ICsJaWd0X2Fz c2VydChzdGF0dXMgPT0gRFJNX01PREVfQ09OTkVDVEVEKTsKPiA+ID4gK30KPiA+ID4gKwo+ID4g PiAgc3RhdGljIHZvaWQKPiA+ID4gIHRlc3RfZWRpZF9yZWFkKGRhdGFfdCAqZGF0YSwgc3RydWN0 IGNoYW1lbGl1bV9wb3J0ICpwb3J0LAo+ID4gPiAgCSAgICAgICBpbnQgZWRpZF9pZCwgY29uc3Qg dW5zaWduZWQgY2hhciAqZWRpZCkKPiA+ID4gQEAgLTEzMDgsNiArMTM3NSw5IEBAIGlndF9tYWlu Cj4gPiA+ICAKPiA+ID4gIAkJY29ubmVjdG9yX3N1YnRlc3QoImRwLWZyYW1lLWR1bXAiLCBEaXNw bGF5UG9ydCkKPiA+ID4gIAkJCXRlc3RfZGlzcGxheV9mcmFtZV9kdW1wKCZkYXRhLCBwb3J0KTsK PiA+ID4gKwo+ID4gPiArCQljb25uZWN0b3Jfc3VidGVzdCgiZHAtbGF0ZS1hdXgtd2EiLCBEaXNw bGF5UG9ydCkKPiA+ID4gKwkJCXRlc3RfbGF0ZV9hdXhfd2EoJmRhdGEsIHBvcnQpOwoKVGhpcyBh bHNvIG5lZWRzIHRoZSByZXRyeSBsb2dpYyB0byBiZSBhZGRlZCBmb3IgRFAgcG9ydHMgb24gb2xk CnBsYXRmb3JtcyAoaW50ZWxfZHBfaG90cGx1ZygpIGluIHRoZSBkcml2ZXIpLgoKPiA+ID4gIAl9 Cj4gPiA+ICAKPiA+ID4gIAlpZ3Rfc3VidGVzdF9ncm91cCB7Cj4gPiA+IC0tIAo+ID4gPiAyLjIx LjAKPiA+ID4gCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2