From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH 1/3] drm/i915: Rename engines with to match their user interface Date: Wed, 07 Aug 2019 13:31:14 +0300 Message-ID: <874l2t9si5.fsf@gaia.fi.intel.com> References: <20190807083702.16349-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5E9A16E693 for ; Wed, 7 Aug 2019 10:31:51 +0000 (UTC) In-Reply-To: <20190807083702.16349-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+IHdyaXRlczoKCj4gRHVyaW5n IGVuZ2luZSBzZXR1cCwgd2UgbWF5IGZpbmQgdGhhdCBzb21lIGVuZ2luZXMgYXJlIGZ1c2VkIG9m ZiBjYXVzaW5nCj4gYSBtaXNhbGlnbm1lbnQgYmV0d2VlbiBpbnRlcm5hbCBuYW1lcyBhbmQgdGhl IGluc3RhbmNlcyBzZWVuIGJ5IHVzZXJzLAo+IGUuZy4gKEk5MTVfRU5HSU5FX0NMQVNTX1ZJREVP X0RFQ09ERSwgMSkgbWF5IGJlIHZjczIgaW4gaGFyZHdhcmUuCj4gTm9ybWFsbHkgdGhpcyBpcyBp bnZpc2libGUgdG8gdGhlIHVzZXIsIGJ1dCBhIGZldyBkZWJ1ZyBpbnRlcmZhY2VzIChhbmQKPiBv dXIgb3duIGludGVybmFsIHRyYWNpbmcpIHVzZSB0aGUgb3JpZ2luYWwgSFcgbmFtZSBub3QgdGhl IG5hbWUgdGhlIHVzZXIKPiB3b3VsZCBleHBlY3QgYXMgZm9ybWVkIHRoZWlyIGNsYXNzOmluc3Rh bmNlIHR1cGxlLiBSZXBsYWNlIG91ciBpbnRlcm5hbAo+IG5hbWUgd2l0aCB0aGUgdWFiaSBuYW1l IGZvciBjb25zaXN0ZW5jeSwgZm9yIGV4YW1wbGUgaW4gZXJyb3Igc3RhdGVzLgo+Cj4gQnVnemls bGE6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTMxMQo+ IFNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+ IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYyAgICB8IDM3 ICsrKystLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2Vu Z2luZV91c2VyLmMgIHwgMjEgKysrKysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv aW50ZWxfZW5naW5lX3VzZXIuaCAgfCAgMiArKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9z ZWxmdGVzdF9lbmdpbmVfY3MuYyB8IDE5ICsrKysrLS0tLS0KPiAgNCBmaWxlcyBjaGFuZ2VkLCAz NyBpbnNlcnRpb25zKCspLCA0MiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX2VuZ2luZV9jcy5jCj4gaW5kZXggZDBiZWZkNmMwMjNhLi5kMzhjMTE0YjA5NjQg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYwo+IEBAIC01 NSwzMCArNTUsNiBAQAo+ICAKPiAgI2RlZmluZSBHRU44X0xSX0NPTlRFWFRfT1RIRVJfU0laRQko IDIgKiBQQUdFX1NJWkUpCj4gIAo+IC1zdHJ1Y3QgZW5naW5lX2NsYXNzX2luZm8gewo+IC0JY29u c3QgY2hhciAqbmFtZTsKPiAtCXU4IHVhYmlfY2xhc3M7Cj4gLX07Cj4gLQo+IC1zdGF0aWMgY29u c3Qgc3RydWN0IGVuZ2luZV9jbGFzc19pbmZvIGludGVsX2VuZ2luZV9jbGFzc2VzW10gPSB7Cj4g LQlbUkVOREVSX0NMQVNTXSA9IHsKPiAtCQkubmFtZSA9ICJyY3MiLAo+IC0JCS51YWJpX2NsYXNz ID0gSTkxNV9FTkdJTkVfQ0xBU1NfUkVOREVSLAo+IC0JfSwKPiAtCVtDT1BZX0VOR0lORV9DTEFT U10gPSB7Cj4gLQkJLm5hbWUgPSAiYmNzIiwKPiAtCQkudWFiaV9jbGFzcyA9IEk5MTVfRU5HSU5F X0NMQVNTX0NPUFksCj4gLQl9LAo+IC0JW1ZJREVPX0RFQ09ERV9DTEFTU10gPSB7Cj4gLQkJLm5h bWUgPSAidmNzIiwKPiAtCQkudWFiaV9jbGFzcyA9IEk5MTVfRU5HSU5FX0NMQVNTX1ZJREVPLAo+ IC0JfSwKPiAtCVtWSURFT19FTkhBTkNFTUVOVF9DTEFTU10gPSB7Cj4gLQkJLm5hbWUgPSAidmVj cyIsCj4gLQkJLnVhYmlfY2xhc3MgPSBJOTE1X0VOR0lORV9DTEFTU19WSURFT19FTkhBTkNFLAo+ IC0JfSwKPiAtfTsKPiAtCj4gICNkZWZpbmUgTUFYX01NSU9fQkFTRVMgMwo+ICBzdHJ1Y3QgZW5n aW5lX2luZm8gewo+ICAJdW5zaWduZWQgaW50IGh3X2lkOwo+IEBAIC0yNTksMTEgKzIzNSwxMSBA QCBzdGF0aWMgdTMyIF9fZW5naW5lX21taW9fYmFzZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSwKPiAgCXJldHVybiBiYXNlc1tpXS5iYXNlOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCBf X3NwcmludF9lbmdpbmVfbmFtZShjaGFyICpuYW1lLCBjb25zdCBzdHJ1Y3QgZW5naW5lX2luZm8g KmluZm8pCj4gK3N0YXRpYyB2b2lkIF9fc3ByaW50X2VuZ2luZV9uYW1lKHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSkKPiAgewo+IC0JV0FSTl9PTihzbnByaW50ZihuYW1lLCBJTlRFTF9F TkdJTkVfQ1NfTUFYX05BTUUsICIlcyV1IiwKPiAtCQkJIGludGVsX2VuZ2luZV9jbGFzc2VzW2lu Zm8tPmNsYXNzXS5uYW1lLAo+IC0JCQkgaW5mby0+aW5zdGFuY2UpID49IElOVEVMX0VOR0lORV9D U19NQVhfTkFNRSk7Cj4gKwlHRU1fV0FSTl9PTihzbnByaW50ZihlbmdpbmUtPm5hbWUsIHNpemVv ZihlbmdpbmUtPm5hbWUpLCAiJXMnJXUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gPwoKdW5leHBlY3RlZAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIAo+ICsJCQkgICAgIGludGVsX2VuZ2luZV9jbGFzc19yZXByKGVuZ2luZSksCj4gKwkJCSAg ICAgZW5naW5lLT5pbnN0YW5jZSkgPj0gc2l6ZW9mKGVuZ2luZS0+bmFtZSkpOwo+ICB9Cj4gIAo+ ICB2b2lkIGludGVsX2VuZ2luZV9zZXRfaHdzcF93cml0ZW1hc2soc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqZW5naW5lLCB1MzIgbWFzaykKPiBAQCAtMjkyLDggKzI2OCw2IEBAIHN0YXRpYyBpbnQg aW50ZWxfZW5naW5lX3NldHVwKHN0cnVjdCBpbnRlbF9ndCAqZ3QsIGVudW0gaW50ZWxfZW5naW5l X2lkIGlkKQo+ICAJY29uc3Qgc3RydWN0IGVuZ2luZV9pbmZvICppbmZvID0gJmludGVsX2VuZ2lu ZXNbaWRdOwo+ICAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwo+ICAKPiAtCUdFTV9C VUdfT04oaW5mby0+Y2xhc3MgPj0gQVJSQVlfU0laRShpbnRlbF9lbmdpbmVfY2xhc3NlcykpOwo+ IC0KPiAgCUJVSUxEX0JVR19PTihNQVhfRU5HSU5FX0NMQVNTID49IEJJVChHRU4xMV9FTkdJTkVf Q0xBU1NfV0lEVEgpKTsKPiAgCUJVSUxEX0JVR19PTihNQVhfRU5HSU5FX0lOU1RBTkNFID49IEJJ VChHRU4xMV9FTkdJTkVfSU5TVEFOQ0VfV0lEVEgpKTsKPiAgCj4gQEAgLTMxNywxMSArMjkxLDEy IEBAIHN0YXRpYyBpbnQgaW50ZWxfZW5naW5lX3NldHVwKHN0cnVjdCBpbnRlbF9ndCAqZ3QsIGVu dW0gaW50ZWxfZW5naW5lX2lkIGlkKQo+ICAJZW5naW5lLT5pOTE1ID0gZ3QtPmk5MTU7Cj4gIAll bmdpbmUtPmd0ID0gZ3Q7Cj4gIAllbmdpbmUtPnVuY29yZSA9IGd0LT51bmNvcmU7Cj4gLQlfX3Nw cmludF9lbmdpbmVfbmFtZShlbmdpbmUtPm5hbWUsIGluZm8pOwo+ICAJZW5naW5lLT5od19pZCA9 IGVuZ2luZS0+Z3VjX2lkID0gaW5mby0+aHdfaWQ7Cj4gIAllbmdpbmUtPm1taW9fYmFzZSA9IF9f ZW5naW5lX21taW9fYmFzZShndC0+aTkxNSwgaW5mby0+bW1pb19iYXNlcyk7Cj4gKwo+ICAJZW5n aW5lLT5jbGFzcyA9IGluZm8tPmNsYXNzOwo+ICAJZW5naW5lLT5pbnN0YW5jZSA9IGluZm8tPmlu c3RhbmNlOwo+ICsJX19zcHJpbnRfZW5naW5lX25hbWUoZW5naW5lKTsKPiAgCj4gIAkvKgo+ICAJ ICogVG8gYmUgb3ZlcnJpZGRlbiBieSB0aGUgYmFja2VuZCBvbiBzZXR1cC4gSG93ZXZlciB0byBm YWNpbGl0YXRlCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2Vu Z2luZV91c2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfdXNlci5j Cj4gaW5kZXggNjhmZGExYWMzYzYwLi4wM2I0YWNlNTc4ZDcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3VzZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV91c2VyLmMKPiBAQCAtMTI3LDYgKzEyNywyMiBAQCBz dGF0aWMgdm9pZCBzZXRfc2NoZWR1bGVyX2NhcHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUpCj4gIAkJaTkxNS0+Y2Fwcy5zY2hlZHVsZXIgPSAwOwo+ICB9Cj4gIAo+ICtjb25zdCBjaGFy ICppbnRlbF9lbmdpbmVfY2xhc3NfcmVwcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUp CgpJIGRvbnQgbWluZCB0aGUgcmVwciwgYnV0IHdlIGhhdmUgYmVlbiB1c2luZyBfc3RyLgoKPiAr ewo+ICsJc3RhdGljIGNvbnN0IGNoYXIgKnVhYmlfbmFtZXNbXSA9IHsKPiArCQlbUkVOREVSX0NM QVNTXSA9ICJyY3MiLAo+ICsJCVtDT1BZX0VOR0lORV9DTEFTU10gPSAiYmNzIiwKPiArCQlbVklE RU9fREVDT0RFX0NMQVNTXSA9ICJ2Y3MiLAo+ICsJCVtWSURFT19FTkhBTkNFTUVOVF9DTEFTU10g PSAidmVjcyIsCj4gKwl9Owo+ICsKPiArCWlmIChlbmdpbmUtPmNsYXNzID49IEFSUkFZX1NJWkUo dWFiaV9uYW1lcykgfHwKPiArCSAgICAhdWFiaV9uYW1lc1tlbmdpbmUtPmNsYXNzXSkKPiArCQly ZXR1cm4gInh4eCI7CgpvciAidW5rbm93biIgc2hydWcuCgo+ICsKPiArCXJldHVybiB1YWJpX25h bWVzW2VuZ2luZS0+Y2xhc3NdOwo+ICt9Cj4gKwo+ICB2b2lkIGludGVsX2VuZ2luZXNfZHJpdmVy X3JlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQo+ICB7Cj4gIAl1OCB1YWJp X2luc3RhbmNlc1s0XSA9IHt9Owo+IEBAIC0xNDksNiArMTY1LDExIEBAIHZvaWQgaW50ZWxfZW5n aW5lc19kcml2ZXJfcmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCj4gIAkJ R0VNX0JVR19PTihlbmdpbmUtPnVhYmlfY2xhc3MgPj0gQVJSQVlfU0laRSh1YWJpX2luc3RhbmNl cykpOwo+ICAJCWVuZ2luZS0+dWFiaV9pbnN0YW5jZSA9IHVhYmlfaW5zdGFuY2VzW2VuZ2luZS0+ dWFiaV9jbGFzc10rKzsKPiAgCj4gKwkJLyogUmVwbGFjZSB0aGUgaW50ZXJuYWwgbmFtZSB3aXRo IHRoZSBmaW5hbCB1c2VyIGZhY2luZyBuYW1lICovCj4gKwkJc2NucHJpbnRmKGVuZ2luZS0+bmFt ZSwgc2l6ZW9mKGVuZ2luZS0+bmFtZSksICIlcyV1IiwKPiArCQkJICBpbnRlbF9lbmdpbmVfY2xh c3NfcmVwcihlbmdpbmUpLAo+ICsJCQkgIGVuZ2luZS0+dWFiaV9pbnN0YW5jZSk7CgpIbW0sIHRo aXMgd2FzIHRoZSByZWFzb24gZm9yICcgPwotTWlrYQoKCj4gKwo+ICAJCXJiX2xpbmtfbm9kZSgm ZW5naW5lLT51YWJpX25vZGUsIHByZXYsIHApOwo+ICAJCXJiX2luc2VydF9jb2xvcigmZW5naW5l LT51YWJpX25vZGUsICZpOTE1LT51YWJpX2VuZ2luZXMpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3VzZXIuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX2VuZ2luZV91c2VyLmgKPiBpbmRleCA5ZTVmMTEzZTUwMjcuLmQxYTA4 ZjMzNmU3MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdp bmVfdXNlci5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3Vz ZXIuaAo+IEBAIC0xNyw2ICsxNyw4IEBAIGludGVsX2VuZ2luZV9sb29rdXBfdXNlcihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdTggY2xhc3MsIHU4IGluc3RhbmNlKTsKPiAgCj4gIHVu c2lnbmVkIGludCBpbnRlbF9lbmdpbmVzX2hhc19jb250ZXh0X2lzb2xhdGlvbihzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSk7Cj4gIAo+ICtjb25zdCBjaGFyICppbnRlbF9lbmdpbmVfY2xh c3NfcmVwcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpOwo+ICsKPiAgdm9pZCBpbnRl bF9lbmdpbmVfYWRkX3VzZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKPiAgdm9p ZCBpbnRlbF9lbmdpbmVzX2RyaXZlcl9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSk7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVz dF9lbmdpbmVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X2VuZ2luZV9j cy5jCj4gaW5kZXggY2ZhYTZiMjk2ODM1Li5kMGY0MjE3YjE0OGEgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RfZW5naW5lX2NzLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF9lbmdpbmVfY3MuYwo+IEBAIC0xMiwxOSArMTIsMTYg QEAgc3RhdGljIGludCBpbnRlbF9tbWlvX2Jhc2VzX2NoZWNrKHZvaWQgKmFyZykKPiAgCj4gIAlm b3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbnRlbF9lbmdpbmVzKTsgaSsrKSB7Cj4gIAkJY29u c3Qgc3RydWN0IGVuZ2luZV9pbmZvICppbmZvID0gJmludGVsX2VuZ2luZXNbaV07Cj4gLQkJY2hh ciBuYW1lW0lOVEVMX0VOR0lORV9DU19NQVhfTkFNRV07Cj4gIAkJdTggcHJldiA9IFU4X01BWDsK PiAgCj4gLQkJX19zcHJpbnRfZW5naW5lX25hbWUobmFtZSwgaW5mbyk7Cj4gLQo+ICAJCWZvciAo aiA9IDA7IGogPCBNQVhfTU1JT19CQVNFUzsgaisrKSB7Cj4gIAkJCXU4IGdlbiA9IGluZm8tPm1t aW9fYmFzZXNbal0uZ2VuOwo+ICAJCQl1MzIgYmFzZSA9IGluZm8tPm1taW9fYmFzZXNbal0uYmFz ZTsKPiAgCj4gIAkJCWlmIChnZW4gPj0gcHJldikgewo+IC0JCQkJcHJfZXJyKCIlczogJXM6IG1t aW8gYmFzZSBmb3IgZ2VuICV4ICIKPiAtCQkJCQkiaXMgYmVmb3JlIHRoZSBvbmUgZm9yIGdlbiAl eFxuIiwKPiAtCQkJCSAgICAgICBfX2Z1bmNfXywgbmFtZSwgcHJldiwgZ2VuKTsKPiArCQkJCXBy X2VycigiJXMoY2xhc3M6JWQsIGluc3RhbmNlOiVkKTogbW1pbyBiYXNlIGZvciBnZW4gJXggaXMg YmVmb3JlIHRoZSBvbmUgZm9yIGdlbiAleFxuIiwKPiArCQkJCSAgICAgICBfX2Z1bmNfXywgaW5m by0+Y2xhc3MsIGluZm8tPmluc3RhbmNlLAo+ICsJCQkJICAgICAgIHByZXYsIGdlbik7Cj4gIAkJ CQlyZXR1cm4gLUVJTlZBTDsKPiAgCQkJfQo+ICAKPiBAQCAtMzIsMTcgKzI5LDE3IEBAIHN0YXRp YyBpbnQgaW50ZWxfbW1pb19iYXNlc19jaGVjayh2b2lkICphcmcpCj4gIAkJCQlicmVhazsKPiAg Cj4gIAkJCWlmICghYmFzZSkgewo+IC0JCQkJcHJfZXJyKCIlczogJXM6IGludmFsaWQgbW1pbyBi YXNlICgleCkgIgo+IC0JCQkJCSJmb3IgZ2VuICV4IGF0IGVudHJ5ICV1XG4iLAo+IC0JCQkJICAg ICAgIF9fZnVuY19fLCBuYW1lLCBiYXNlLCBnZW4sIGopOwo+ICsJCQkJcHJfZXJyKCIlcyhjbGFz czolZCwgaW5zdGFuY2U6JWQpOiBpbnZhbGlkIG1taW8gYmFzZSAoJXgpIGZvciBnZW4gJXggYXQg ZW50cnkgJXVcbiIsCj4gKwkJCQkgICAgICAgX19mdW5jX18sIGluZm8tPmNsYXNzLCBpbmZvLT5p bnN0YW5jZSwKPiArCQkJCSAgICAgICBiYXNlLCBnZW4sIGopOwo+ICAJCQkJcmV0dXJuIC1FSU5W QUw7Cj4gIAkJCX0KPiAgCj4gIAkJCXByZXYgPSBnZW47Cj4gIAkJfQo+ICAKPiAtCQlwcl9pbmZv KCIlczogbWluIGdlbiBzdXBwb3J0ZWQgZm9yICVzID0gJWRcbiIsCj4gLQkJCV9fZnVuY19fLCBu YW1lLCBwcmV2KTsKPiArCQlwcl9kZWJ1ZygiJXM6IG1pbiBnZW4gc3VwcG9ydGVkIGZvciB7Y2xh c3M6JWQsIGluc3RhbmNlOiVkfSBpcyAlZFxuIiwKPiArCQkJIF9fZnVuY19fLCBpbmZvLT5jbGFz cywgaW5mby0+aW5zdGFuY2UsIHByZXYpOwo+ICAJfQo+ICAKPiAgCXJldHVybiAwOwo+IC0tIAo+ IDIuMjMuMC5yYzEKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4