From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: Re: [PATCH i-g-t v5] tests/i915/gem_exec_async: Update with engine discovery Date: Tue, 30 Jul 2019 13:34:27 +0530 Message-ID: <20190730080427.GA31013@intel.com> References: <20190730035835.24103-1-ramalingam.c@intel.com> <66d3520c-205d-4631-5d35-f963e1d88e2f@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4EC1C6E46F for ; Tue, 30 Jul 2019 15:03:16 +0000 (UTC) Content-Disposition: inline In-Reply-To: <66d3520c-205d-4631-5d35-f963e1d88e2f@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tvrtko Ursulin Cc: intel-gfx List-Id: intel-gfx@lists.freedesktop.org T24gMjAxOS0wNy0zMCBhdCAxMzowNToyNyArMDEwMCwgVHZydGtvIFVyc3VsaW4gd3JvdGU6Cj4g Cj4gT24gMzAvMDcvMjAxOSAwNDo1OCwgUmFtYWxpbmdhbSBDIHdyb3RlOgo+ID4gTGVnYWN5IGV4 ZWNidWYgYWJpIHRlc3RzIGFyZSBwcmVmaXhlZCB3aXRoIGxlZ2FjeS4gTmV3IHRlc3QgYXJlIGFk ZGVkIHRvCj4gPiBydW4gb24gcGh5c2ljYWwgZW5naW5lcyBhY2Nlc3NlZCB0aHJvdWdoIGVuZ2lu ZSBkaXNjb3ZlcnkuCj4gPiAKPiA+IFNvIGxlZ2FjeSB0ZXN0cyBydW4gb24gdGhlIHVuY29uZmln dXJlZCAod2l0aCBlbmdpbmUgbWFwKSBjb250ZXh0IGFuZAo+ID4gdXNlIGEgbmV3IGhlbHBlciBn ZW1fZWJfZmxhZ3NfdG9fZW5naW5lIHRvIGxvb2sgdXAgdGhlIGVuZ2luZSBmcm9tIHRoZQo+ID4g aW50ZWxfZXhlY3V0aW9uX2VuZ2luZXMyIHN0YXRpYyBsaXN0LiBUaGlzIGlzIG9ubHkgdG8gZW5h YmxlIHRoZSBjb3JlCj4gPiB0ZXN0IGNvZGUgdG8gYmUgc2hhcmVkLgo+ID4gCj4gPiBQbGFjZXMg d2hlcmUgbmV3IGNvbnRleHRzIGFyZSBjcmVhdGVkIGhhZCB0byBiZSB1cGRhdGVkIHRvIGVpdGhl cgo+ID4gZXF1YWxseSBjb25maWd1cmUgdGhlIGNvbnRleHRzIG9yIG5vdC4KPiA+IAo+ID4gdjI6 Cj4gPiAgICByZXRhaW5lZCB0aGUgdGVzdCBhcyBpdCBpcyBmb3IgbGVnYWN5IHVhcGkgdGVzdGlu ZyBhbmQgZHVwbGNpYXRlZCBmb3IKPiA+IAluZXcgZW5naW5lIGRpc2NvdmVyeSBbVHZydGtvXQo+ ID4gdjM6Cj4gPiAgICBGZXcgbml0cyBhZGRyZXNzZWQgW1R2cnRrb10KPiA+IHY0Ogo+ID4gICAg SW4gbGVnYWN5IHVBUEkgdGVzdCBwYXRoLCBpdGVyYXRlIHRocm91Z2ggZm9yX2VhY2hfZW5naW5l IFtUdnJ0a29dCj4gPiB2NToKPiA+ICAgIEZ1bmN0aW9uIGZvciBleGVjX2ZsYWcgY29tcGFyaXNv biBbVHZydGtvXQo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5n YW0uY0BpbnRlbC5jb20+Cj4gPiAtLS0KPiA+ICAgbGliL2lndF9ndC5jICAgICAgICAgICAgICAg IHwgMjUgKysrKysrKysrKysrKysrKysrCj4gPiAgIGxpYi9pZ3RfZ3QuaCAgICAgICAgICAgICAg ICB8ICAxICsKPiA+ICAgdGVzdHMvaTkxNS9nZW1fZXhlY19hc3luYy5jIHwgNTIgKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQo+ID4gICAzIGZpbGVzIGNoYW5nZWQsIDY0IGlu c2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2ln dF9ndC5jIGIvbGliL2lndF9ndC5jCj4gPiBpbmRleCA3OGUzY2QwODkyNWIuLmY1OTRhNDYyODJi YyAxMDA2NDQKPiA+IC0tLSBhL2xpYi9pZ3RfZ3QuYwo+ID4gKysrIGIvbGliL2lndF9ndC5jCj4g PiBAQCAtNjMzLDMgKzYzMywyOCBAQCBib29sIGdlbV9yaW5nX2hhc19waHlzaWNhbF9lbmdpbmUo aW50IGZkLCB1bnNpZ25lZCByaW5nKQo+ID4gICAKPiA+ICAgCXJldHVybiBnZW1faGFzX3Jpbmco ZmQsIHJpbmcpOwo+ID4gICB9Cj4gPiArCj4gPiArYm9vbCBnZW1fZWJfZmxhZ3NfYXJlX2RpZmZl cmVudF9lbmdpbmVzKHVuc2lnbmVkIGViX2ZsYWcxLCB1bnNpZ25lZCBlYl9mbGFnMikKPiAKPiBJ IHRoaW5rIHdlIHRyeSB0byBhdm9pZCBpbXBsaWVkIGludCBidXQgbm90IHN1cmUgaW4gdGhpcyBj YXNlIHdoZXRoZXIgdG8gc3VnZ2VzdCB1bnNpZ25lZCBpbnQsIGxvbmcgb3IgdWludDY0X3QuIElm IHdlIGFyZSBzdWdnZXN0aW5nIGluIHRoZSBmdW5jdGlvbiBuYW1lIHRoYXQgYW55IGZsYWdzIGNh biBiZSBwYXNzZWQgaW4gcGVyaGFwcyBpdCBzaG91bGQgYmUgdWludDY0X3QgYW5kIHRoZW4gd2Ug ZmlsdGVyIG9uIHRoZSBlbmdpbmUgYml0cyAoZmxhZ3MuLiAmPSBJOTE1X0VYRUNfUklOR19NQVNL IHwgKDMgPDwgMTMpKSBiZWZvcmUgY2hlY2tpbmcuIFllYWgsIEkgdGhpbmsgdGhhdCB3b3VsZCBi ZSBtb3JlIHJvYnVzdCBmb3IgYSBnZW5lcmljIGhlbHBlci4KPiAKPiBBbmQgYWRkIGEgZG9jIGJs dXJiIGZvciB0aGlzIGhlbHBlciBzaW5jZSBpdCBpcyBub24tb2J2aW91cyB3aHkgd2Ugd2VudCBm b3IgZGlmZmVyZW50IGFuZCBub3Qgc2FtZS4gTXkgdGhpbmtpbmcgd2FzIHRoZSBuYW1lIGRpZmZl cmVudCB3b3VsZCBiZSBjbGVhcmVyIHRvIGV4cHJlc3Mga2luZCBvZiB0cmktc3RhdGUgbmF0dXJl IG9mIHRoaXMgY2hlY2suIChGbGFncyBtYXkgYmUgZGlmZmVyZW50LCBidXQgZW5naW5lcyBhcmUg bm90IGd1YXJhbnRlZWQgdG8gYmUgZGlmZmVyZW50LikgSGF2ZSBJIG92ZXItY29tcGxpY2F0ZWQg aXQ/IERvIHdlIG5lZWQgdG8gbWFrZSBpdCBjbGVhcmVyIGJ5IG5hbWluZyBpdCBnZW1fZWJfZmxh Z3NfYXJlX2d1YXJhbnRlZWRfZGlmZmVyZW50X2VuZ2luZXM/IDopCkZvciBtZSBjdXJyZW50IHNo YXBlIGxvb2tzIGdvb2QgZW5vdWdoIDopIEkgd2lsbCB1c2UgdGhlIHVpbnQ2NF90IGZvcgpwYXJh bWV0ZXIgdHlwZXMuCj4gCj4gPiArewo+ID4gKwlpZiAoZWJfZmxhZzEgPT0gZWJfZmxhZzIpCj4g PiArCQlyZXR1cm4gZmFsc2U7Cj4gPiArCj4gPiArCS8qIERFRkFVTFQgc3RhbmRzIGZvciBSRU5E RVIgaW4gbGVnYWN5IHVBUEkqLwo+ID4gKwlpZiAoKGViX2ZsYWcxID09IEk5MTVfRVhFQ19ERUZB VUxUICYmIGViX2ZsYWcyID09IEk5MTVfRVhFQ19SRU5ERVIpIHx8Cj4gPiArCSAgICAgKGViX2Zs YWcxID09IEk5MTVfRVhFQ19SRU5ERVIgJiYgZWJfZmxhZzIgPT0gSTkxNV9FWEVDX0RFRkFVTFQp KQo+ID4gKwkJcmV0dXJuIGZhbHNlOwo+ID4gKwo+ID4gKwkvKgo+ID4gKwkgKiBCU0QgY291bGQg YmUgZXhlY3V0ZWQgb24gQlNEMS9CU0QyLiBTbyBCU0QgYW5kIEJTRC1uIGNvdWxkIGJlCj4gPiAr CSAqIHNhbWUgZW5naW5lLgo+ID4gKwkgKi8KPiA+ICsJaWYgKChlYl9mbGFnMSA9PSBJOTE1X0VY RUNfQlNEKSAmJgo+ID4gKwkgICAgKGViX2ZsYWcyICYgfkk5MTVfRVhFQ19CU0RfTUFTSykgPT0g STkxNV9FWEVDX0JTRCkKPiA+ICsJCQlyZXR1cm4gZmFsc2U7Cj4gPiArCj4gPiArCWlmICgoZWJf ZmxhZzIgPT0gSTkxNV9FWEVDX0JTRCkgJiYKPiA+ICsJICAgIChlYl9mbGFnMSAmIH5JOTE1X0VY RUNfQlNEX01BU0spID09IEk5MTVfRVhFQ19CU0QpCj4gPiArCQkJcmV0dXJuIGZhbHNlOwo+IAo+ IEkgdGhpbmsgdGhpcyB3b3Jrcy4KPiAKPiBJJ3ZlIGFsc28gY29tZSB1cCB3aXRoIHNvbWV0aGlu ZyB0byBtZXJnZSB0aGUgdHdvIGNoZWNrcywgbm90IDEwMCUgaXQncyBjb3JyZWN0IG9yIG1vcmUg cmVhZGFibGU6Cj4gCj4gaWYgKCgoZmxhZzEgfCBmbGFnMikgJiBJOTE1X0VYRUNfUklOR19NQVNL KSkgPT0gSTkxNV9FWEVDX0JTRCAmJiAvLyBhdCBsZWFzdCBvbmUgaXMgQlNECj4gICAgICEoKGZs YWcxIF4gZmxhZzIpICYgSTkxNV9FWEVDX1JJTkdfTUFTSykgJiYgLy8gYm90aCBhcmUgQlNECj4g ICAgICgoKGZsYWcxIHwgZmxhZzIpICYgKDMgPDwgMTMpKSkgIT0gMykgLy8gbm90IGd1YXJhbnRl ZWQgZGlmZmVyZW50Cj4gCXJldHVybiBmYWxzZTsKPiAKPiBXb3VsZCBuZWVkIGZlZWRpbmcgaW4g c29tZSB2YWx1ZXMgYW5kIGNoZWNraW5nIGl0IHdvcmtzIGFzIGV4cGVjdGVkLiBQcm9iYWJseSBu b3Qgd29ydGggaXQgc2luY2UgSSBkb3VidCBpdCBpcyBtb3JlIHJlYWRhYmxlLgpyZWFkYWJpbGl0 eSBwZXJzcGVjdGl2ZSwgd2UgY291bGQgc3RpY2sgdG8gdGhlIG9yaWdpbmFsIHZlcnNpb24uIElm IHdlCndhbnQgdG8gZ28gYWhlYWQgd2UgbmVlZCB0byBkbyBiZWxvdyBvcHM6CgppZiAoKChmbGFn MSB8IGZsYWcyKSAmIEk5MTVfRVhFQ19CU0QpICYmICAvL0F0bGVhc3Qgb25lIGlzIEJTRAogICAg ISgoZmxhZzEgXiBmbGFnMikgJiBJOTE1X0VYRUNfQlNEKSAmJiAvL0JvdGggYXJlIEJTRAogICAg KChmbGFnMSB8IGZsYWcyKSAmIEk5MTVfRVhFQ19SSU5HX01BU0spICE9IEk5MTVfRVhFQ19SSU5H X01BU0spIC8vTm90IEJTRDAgYW5kIEJTRDEKCXJldHVybiBmYWxzZTsKPiAKPiA+ICsKPiA+ICsJ cmV0dXJuIHRydWU7Cj4gPiArfQo+ID4gZGlmZiAtLWdpdCBhL2xpYi9pZ3RfZ3QuaCBiL2xpYi9p Z3RfZ3QuaAo+ID4gaW5kZXggNzNiNTAwMmEwNGJkLi43NjBiOGJhZWZjNDggMTAwNjQ0Cj4gPiAt LS0gYS9saWIvaWd0X2d0LmgKPiA+ICsrKyBiL2xpYi9pZ3RfZ3QuaAo+ID4gQEAgLTEwMSw1ICsx MDEsNiBAQCBleHRlcm4gY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyIHsKPiA+ ICAgfSBpbnRlbF9leGVjdXRpb25fZW5naW5lczJbXTsKPiA+ICAgCj4gPiAgIGludCBnZW1fZXhl Y2J1Zl9mbGFnc190b19lbmdpbmVfY2xhc3ModW5zaWduZWQgaW50IGZsYWdzKTsKPiA+ICtib29s IGdlbV9lYl9mbGFnc19hcmVfZGlmZmVyZW50X2VuZ2luZXModW5zaWduZWQgZWJfZmxhZzEsIHVu c2lnbmVkIGViX2ZsYWcyKTsKPiA+ICAgCj4gPiAgICNlbmRpZiAvKiBJR1RfR1RfSCAqLwo+ID4g ZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfYXN5bmMuYyBiL3Rlc3RzL2k5MTUvZ2Vt X2V4ZWNfYXN5bmMuYwo+ID4gaW5kZXggOWEwNmFmN2UyOWNiLi41ZmRjZTVhYzViNzcgMTAwNjQ0 Cj4gPiAtLS0gYS90ZXN0cy9pOTE1L2dlbV9leGVjX2FzeW5jLmMKPiA+ICsrKyBiL3Rlc3RzL2k5 MTUvZ2VtX2V4ZWNfYXN5bmMuYwo+ID4gQEAgLTgwLDkgKzgwLDEwIEBAIHN0YXRpYyB2b2lkIHN0 b3JlX2R3b3JkKGludCBmZCwgdW5zaWduZWQgcmluZywKPiA+ICAgCWdlbV9jbG9zZShmZCwgb2Jq WzFdLmhhbmRsZSk7Cj4gPiAgIH0KPiA+ICAgCj4gPiAtc3RhdGljIHZvaWQgb25lKGludCBmZCwg dW5zaWduZWQgcmluZywgdWludDMyX3QgZmxhZ3MpCj4gPiArc3RhdGljIHZvaWQgb25lKGludCBm ZCwgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplMiwgYm9vbCBsZWdhY3kp Cj4gPiAgIHsKPiA+ICAgCWNvbnN0IGludCBnZW4gPSBpbnRlbF9nZW4oaW50ZWxfZ2V0X2RybV9k ZXZpZChmZCkpOwo+ID4gKwljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKm90 aGVyMjsKPiA+ICAgCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyIG9ialsyXTsKPiA+ ICAgI2RlZmluZSBTQ1JBVENIIDAKPiA+ICAgI2RlZmluZSBCQVRDSCAxCj4gPiBAQCAtMTM4LDIw ICsxMzksMzMgQEAgc3RhdGljIHZvaWQgb25lKGludCBmZCwgdW5zaWduZWQgcmluZywgdWludDMy X3QgZmxhZ3MpCj4gPiAgIAltZW1zZXQoJmV4ZWNidWYsIDAsIHNpemVvZihleGVjYnVmKSk7Cj4g PiAgIAlleGVjYnVmLmJ1ZmZlcnNfcHRyID0gdG9fdXNlcl9wb2ludGVyKG9iaik7Cj4gPiAgIAll eGVjYnVmLmJ1ZmZlcl9jb3VudCA9IDI7Cj4gPiAtCWV4ZWNidWYuZmxhZ3MgPSByaW5nIHwgZmxh Z3M7Cj4gPiArCWV4ZWNidWYuZmxhZ3MgPSBlMi0+ZmxhZ3M7Cj4gPiAgIAlpZ3RfcmVxdWlyZShf X2dlbV9leGVjYnVmKGZkLCAmZXhlY2J1ZikgPT0gMCk7Cj4gPiAgIAlnZW1fY2xvc2UoZmQsIG9i altCQVRDSF0uaGFuZGxlKTsKPiA+ICAgCj4gPiAgIAlpID0gMDsKPiA+IC0JZm9yX2VhY2hfcGh5 c2ljYWxfZW5naW5lKGZkLCBvdGhlcikgewo+ID4gLQkJaWYgKG90aGVyID09IHJpbmcpCj4gPiAt CQkJY29udGludWU7Cj4gPiArCWlmIChsZWdhY3kpIHsKPiA+ICsJCWZvcl9lYWNoX2VuZ2luZShm ZCwgb3RoZXIpIHsKPiA+ICsJCQlpZiAoZ2VtX2ViX2ZsYWdzX2FyZV9kaWZmZXJlbnRfZW5naW5l cyhlMi0+ZmxhZ3MsIG90aGVyKSkKPiAKPiBpZiAoIWRpZmZlcmVudCkKV2lsbCBmaXggaXQuIFRo YW5rcy4KCi1SYW0KPiAKPiBSZWdhcmRzLAo+IAo+IFR2cnRrbwo+IAo+ID4gKwkJCQljb250aW51 ZTsKPiA+ICAgCj4gPiAtCQlpZiAoIWdlbV9jYW5fc3RvcmVfZHdvcmQoZmQsIG90aGVyKSkKPiA+ IC0JCQljb250aW51ZTsKPiA+ICsJCQlpZiAoIWdlbV9jYW5fc3RvcmVfZHdvcmQoZmQsIG90aGVy KSkKPiA+ICsJCQkJY29udGludWU7Cj4gPiArCj4gPiArCQkJc3RvcmVfZHdvcmQoZmQsIG90aGVy LCBvYmpbU0NSQVRDSF0uaGFuZGxlLCA0KmksIGkpOwo+ID4gKwkJCWkrKzsKPiA+ICsJCX0KPiA+ ICsJfSBlbHNlIHsKPiA+ICsJCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBvdGhlcjIp IHsKPiA+ICsJCQlpZiAoZ2VtX2VuZ2luZV9pc19lcXVhbChlMiwgb3RoZXIyKSkKPiA+ICsJCQkJ Y29udGludWU7Cj4gPiAgIAo+ID4gLQkJc3RvcmVfZHdvcmQoZmQsIG90aGVyLCBvYmpbU0NSQVRD SF0uaGFuZGxlLCA0KmksIGkpOwo+ID4gLQkJaSsrOwo+ID4gKwkJCWlmICghZ2VtX2NsYXNzX2Nh bl9zdG9yZV9kd29yZChmZCwgb3RoZXIyLT5jbGFzcykpCj4gPiArCQkJCWNvbnRpbnVlOwo+ID4g Kwo+ID4gKwkJCXN0b3JlX2R3b3JkKGZkLCBvdGhlcjItPmZsYWdzLCBvYmpbU0NSQVRDSF0uaGFu ZGxlLCA0KmksIGkpOwo+ID4gKwkJCWkrKzsKPiA+ICsJCX0KPiA+ICAgCX0KPiA+ICAgCj4gPiAg IAkqYmF0Y2ggPSBNSV9CQVRDSF9CVUZGRVJfRU5EOwo+ID4gQEAgLTE4NSw3ICsxOTksOSBAQCBz dGF0aWMgYm9vbCBoYXNfYXN5bmNfZXhlY2J1ZihpbnQgZmQpCj4gPiAgIAo+ID4gICBpZ3RfbWFp bgo+ID4gICB7Cj4gPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZTI7 Cj4gPiAgIAljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZSAqZTsKPiA+ICsJc3Ry dWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyIGUyX187Cj4gPiAgIAlpbnQgZmQgPSAtMTsKPiA+ ICAgCj4gPiAgIAlpZ3Rfc2tpcF9vbl9zaW11bGF0aW9uKCk7Cj4gPiBAQCAtMjAwLDE0ICsyMTYs MjIgQEAgaWd0X21haW4KPiA+ICAgCX0KPiA+ICAgCj4gPiAgIAlmb3IgKGUgPSBpbnRlbF9leGVj dXRpb25fZW5naW5lczsgZS0+bmFtZTsgZSsrKSB7Cj4gPiAtCQkvKiBkZWZhdWx0IGV4ZWMtaWQg aXMgcHVyZWx5IHN5bWJvbGljICovCj4gPiAtCQlpZiAoZS0+ZXhlY19pZCA9PSAwKQo+ID4gKwkJ ZTJfXyA9IGdlbV9lYl9mbGFnc190b19lbmdpbmUoZS0+ZXhlY19pZCB8IGUtPmZsYWdzKTsKPiA+ ICsJCWlmIChlMl9fLmZsYWdzID09IC0xKQo+ID4gICAJCQljb250aW51ZTsKPiA+ICsJCWUyID0g JmUyX187Cj4gPiAgIAo+ID4gLQkJaWd0X3N1YnRlc3RfZigiY29uY3VycmVudC13cml0ZXMtJXMi LCBlLT5uYW1lKSB7Cj4gPiArCQlpZ3Rfc3VidGVzdF9mKCJsZWdhY3ktY29uY3VycmVudC13cml0 ZXMtJXMiLCBlMi0+bmFtZSkgewo+ID4gICAJCQlpZ3RfcmVxdWlyZShnZW1fcmluZ19oYXNfcGh5 c2ljYWxfZW5naW5lKGZkLCBlLT5leGVjX2lkIHwgZS0+ZmxhZ3MpKTsKPiA+IC0JCQlpZ3RfcmVx dWlyZShnZW1fY2FuX3N0b3JlX2R3b3JkKGZkLCBlLT5leGVjX2lkIHwgZS0+ZmxhZ3MpKTsKPiA+ IC0JCQlvbmUoZmQsIGUtPmV4ZWNfaWQsIGUtPmZsYWdzKTsKPiA+ICsJCQlpZ3RfcmVxdWlyZShn ZW1fY2xhc3NfY2FuX3N0b3JlX2R3b3JkKGZkLCBlMi0+Y2xhc3MpKTsKPiA+ICsJCQlvbmUoZmQs IGUyLCB0cnVlKTsKPiA+ICsJCX0KPiA+ICsJfQo+ID4gKwo+ID4gKwlfX2Zvcl9lYWNoX3BoeXNp Y2FsX2VuZ2luZShmZCwgZTIpIHsKPiA+ICsJCWlndF9zdWJ0ZXN0X2YoImNvbmN1cnJlbnQtd3Jp dGVzLSVzIiwgZTItPm5hbWUpIHsKPiA+ICsJCQlpZ3RfcmVxdWlyZShnZW1fY2xhc3NfY2FuX3N0 b3JlX2R3b3JkKGZkLCBlMi0+Y2xhc3MpKTsKPiA+ICsJCQlvbmUoZmQsIGUyLCBmYWxzZSk7Cj4g PiAgIAkJfQo+ID4gICAJfQo+ID4gICAKPiA+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZng=