From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 966D76E48C for ; Tue, 3 Dec 2019 11:52:22 +0000 (UTC) From: "Kahola, Mika" Date: Tue, 3 Dec 2019 11:52:19 +0000 Message-ID: <099e1feee664232d820fe609149f440892d3dad0.camel@intel.com> References: <20191129103843.5765-1-imre.deak@intel.com> <20191129103843.5765-2-imre.deak@intel.com> In-Reply-To: <20191129103843.5765-2-imre.deak@intel.com> Content-Language: en-US Content-ID: <74407F578221C241BE6ECA762A8DAAB7@intel.com> MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t 1/6] tests/gem_render_copy: Make subtest parameters more explicit 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: "igt-dev@lists.freedesktop.org" , "Deak, Imre" Cc: "Welty, Brian" List-ID: T24gRnJpLCAyMDE5LTExLTI5IGF0IDEyOjM4ICswMjAwLCBJbXJlIERlYWsgd3JvdGU6Cj4gQSBm b2xsb3ctdXAgcGF0Y2ggd2lsbCBhZGQgbW9yZSBzdWJ0ZXN0cyB3aXRoIHZhcnlpbmcgc291cmNl IGFuZAo+IGRlc3RpbmF0aW9uIG1lbW9yeSBjb21wcmVzc2lvbiBmb3JtYXQgYW5kIGEgd2F5IHRv IGZvcmNlIHVzaW5nIHRoZQo+IHZlYm94Cj4gZW5naW5lIGluc3RlYWQgb2YgdGhlIHJlbmRlciBl bmdpbmUgZm9yIGJsaXR0aW5nLiBQcmVwYXJlIGZvciB0aGF0IGJ5Cj4gZGVzY3JpYmluZyB0aGUg Y29tcHJlc3Npb24gdHlwZXMgZXhwbGljaXRseS4gQWxzbyBhZGQgYSBmbGFnIGZvcgo+IHN1YnRl c3RzIHRoYXQgZG8gYSBibGl0IGZyb20gbXVsdGlwbGUgc291cmNlIGJ1ZmZlcnMgd2l0aCBkaWZm ZXJlbnQKPiB0aWxpbmdzIGludG8gdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlci4gVGhpcyBpcyBub3Qg c3VwcG9ydGVkIGJ5IHRoZQo+IHZlYm94Cj4gY29weSBmdW5jdGlvbiAoYWRkZWQgbGF0ZXIpIGR1 ZSB0byB0aGUgcmVzdHJpY3Rpb25zIG9uIGRlZmluaW5nCj4gYXJiaXRyYXJ5IHNvdXJjZSxkZXN0 aW5hdGlvbiBzdXJmYWNlIHJlZ2lvbnMgZm9yIHZlYm94IGJsaXRzLgo+IAo+IENjOiBNaWthIEth aG9sYSA8bWlrYS5rYWhvbGFAaW50ZWwuY29tPgo+IENjOiBCcmlhbiBXZWx0eSA8YnJpYW4ud2Vs dHlAaW50ZWwuY29tPgo+IENjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51 az4KPiBDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4K PiBTaWduZWQtb2ZmLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+CgpSZXZpZXdl ZC1ieTogTWlrYSBLYWhvbGEgPG1pa2Eua2Fob2xhQGludGVsLmNvbT4KCj4gLS0tCj4gIGxpYi9p bnRlbF9iYXRjaGJ1ZmZlci5oICAgICAgfCAgIDUgKysKPiAgdGVzdHMvaTkxNS9nZW1fcmVuZGVy X2NvcHkuYyB8IDEyOSArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KPiAtLQo+ICAy IGZpbGVzIGNoYW5nZWQsIDkzIGluc2VydGlvbnMoKyksIDQxIGRlbGV0aW9ucygtKQo+IAo+IGRp ZmYgLS1naXQgYS9saWIvaW50ZWxfYmF0Y2hidWZmZXIuaCBiL2xpYi9pbnRlbF9iYXRjaGJ1ZmZl ci5oCj4gaW5kZXggZTVmNmU2ZDAuLjQwMmU2OGJjIDEwMDY0NAo+IC0tLSBhL2xpYi9pbnRlbF9i YXRjaGJ1ZmZlci5oCj4gKysrIGIvbGliL2ludGVsX2JhdGNoYnVmZmVyLmgKPiBAQCAtMjEwLDYg KzIxMCwxMSBAQCB2b2lkIGludGVsX2NvcHlfYm8oc3RydWN0IGludGVsX2JhdGNoYnVmZmVyCj4g KmJhdGNoLAo+ICAjZGVmaW5lIEk5MTVfVElMSU5HX1lmCTMKPiAgI2RlZmluZSBJOTE1X1RJTElO R19Zcwk0Cj4gIAo+ICtlbnVtIGk5MTVfY29tcHJlc3Npb24gewo+ICsJSTkxNV9DT01QUkVTU0lP Tl9OT05FLAo+ICsJSTkxNV9DT01QUkVTU0lPTl9SRU5ERVIsCj4gK307Cj4gKwo+ICAvKioKPiAg ICogaWd0X2J1ZjoKPiAgICogQGJvOiB1bmRlcmx5aW5nIGxpYmRybSBidWZmZXIgb2JqZWN0Cj4g ZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX3JlbmRlcl9jb3B5LmMKPiBiL3Rlc3RzL2k5MTUv Z2VtX3JlbmRlcl9jb3B5LmMKPiBpbmRleCA2N2JlMDc5Yy4uY2M4YWYxZTEgMTAwNjQ0Cj4gLS0t IGEvdGVzdHMvaTkxNS9nZW1fcmVuZGVyX2NvcHkuYwo+ICsrKyBiL3Rlc3RzL2k5MTUvZ2VtX3Jl bmRlcl9jb3B5LmMKPiBAQCAtNDEzLDcgKzQxMyw4IEBAIHNjcmF0Y2hfYnVmX2NvcHkoZGF0YV90 ICpkYXRhLAo+ICAKPiAgc3RhdGljIHZvaWQgc2NyYXRjaF9idWZfaW5pdChkYXRhX3QgKmRhdGEs IHN0cnVjdCBpZ3RfYnVmICpidWYsCj4gIAkJCSAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LAo+ IC0JCQkgICAgIHVpbnQzMl90IHJlcV90aWxpbmcsIGJvb2wgY2NzKQo+ICsJCQkgICAgIHVpbnQz Ml90IHJlcV90aWxpbmcsCj4gKwkJCSAgICAgZW51bSBpOTE1X2NvbXByZXNzaW9uIGNvbXByZXNz aW9uKQo+ICB7Cj4gIAl1aW50MzJfdCB0aWxpbmcgPSByZXFfdGlsaW5nOwo+ICAJdW5zaWduZWQg bG9uZyBwaXRjaDsKPiBAQCAtNDIxLDcgKzQyMiw3IEBAIHN0YXRpYyB2b2lkIHNjcmF0Y2hfYnVm X2luaXQoZGF0YV90ICpkYXRhLCBzdHJ1Y3QKPiBpZ3RfYnVmICpidWYsCj4gIAo+ICAJbWVtc2V0 KGJ1ZiwgMCwgc2l6ZW9mKCpidWYpKTsKPiAgCj4gLQlpZiAoY2NzKSB7Cj4gKwlpZiAoY29tcHJl c3Npb24gIT0gSTkxNV9DT01QUkVTU0lPTl9OT05FKSB7Cj4gIAkJaW50IGF1eF93aWR0aCwgYXV4 X2hlaWdodDsKPiAgCQlpbnQgc2l6ZTsKPiAgCj4gQEAgLTU3MiwxMCArNTczLDExIEBAIHN0YXRp YyB2b2lkIHNjcmF0Y2hfYnVmX2F1eF9jaGVjayhkYXRhX3QgKmRhdGEsCj4gIAkJICAgICAiQXV4 IHN1cmZhY2UgaW5kaWNhdGVzIHRoYXQgbm90aGluZyB3YXMKPiBjb21wcmVzc2VkXG4iKTsKPiAg fQo+ICAKPiAtI2RlZmluZSBTUkNfQ09NUFJFU1NFRAkxCj4gLSNkZWZpbmUgRFNUX0NPTVBSRVNT RUQJMgo+ICsjZGVmaW5lIFNPVVJDRV9NSVhFRF9USUxFRAkxCj4gIAo+ICBzdGF0aWMgdm9pZCB0 ZXN0KGRhdGFfdCAqZGF0YSwgdWludDMyX3Qgc3JjX3RpbGluZywgdWludDMyX3QKPiBkc3RfdGls aW5nLAo+ICsJCSBlbnVtIGk5MTVfY29tcHJlc3Npb24gc3JjX2NvbXByZXNzaW9uLAo+ICsJCSBl bnVtIGk5MTVfY29tcHJlc3Npb24gZHN0X2NvbXByZXNzaW9uLAo+ICAJCSBpbnQgZmxhZ3MpCj4g IHsKPiAgCXN0cnVjdCBpZ3RfYnVmIGRzdCwgc3JjX2NjcywgZHN0X2NjcywgcmVmOwo+IEBAIC02 MDgsMTQgKzYxMCwxNSBAQCBzdGF0aWMgdm9pZCB0ZXN0KGRhdGFfdCAqZGF0YSwgdWludDMyX3QK PiBzcmNfdGlsaW5nLCB1aW50MzJfdCBkc3RfdGlsaW5nLAo+ICAJfTsKPiAgCWludCBvcHRfZHVt cF9hdWIgPSBpZ3RfYXViX2R1bXBfZW5hYmxlZCgpOwo+ICAJaW50IG51bV9zcmMgPSBBUlJBWV9T SVpFKHNyYyk7Cj4gLQlib29sIHNyY19jb21wcmVzc2VkID0gZmxhZ3MgJiBTUkNfQ09NUFJFU1NF RDsKPiAtCWJvb2wgZHN0X2NvbXByZXNzZWQgPSBmbGFncyAmIERTVF9DT01QUkVTU0VEOwo+ICsJ Y29uc3QgYm9vbCBzcmNfbWl4ZWRfdGlsZWQgPSBmbGFncyAmIFNPVVJDRV9NSVhFRF9USUxFRDsK PiArCWNvbnN0IGJvb2wgc3JjX2NvbXByZXNzZWQgPSBzcmNfY29tcHJlc3Npb24gIT0KPiBJOTE1 X0NPTVBSRVNTSU9OX05PTkU7Cj4gKwljb25zdCBib29sIGRzdF9jb21wcmVzc2VkID0gZHN0X2Nv bXByZXNzaW9uICE9Cj4gSTkxNV9DT01QUkVTU0lPTl9OT05FOwo+ICAKPiAgCS8qCj4gLQkgKiBU aGUgdGlsaW5nIGZvciB1bmNvbXByZXNzZWQgc291cmNlIGJ1ZmZlcnMgaXMgZGV0ZXJtaW5lZCBi eQo+IHRoZQo+IC0JICogdGlsaW5nIG9mIHRoZSBzcmNbXSBidWZmZXJzIGFib3ZlLgo+ICsJICog VGhlIHNvdXJjZSB0aWxpbmdzIGZvciBtaXhlZCBzb3VyY2UgdGlsaW5nIHRlc3QgY2FzZXMgYXJl Cj4gZGV0ZXJtaW5lZAo+ICsJICogYnkgdGhlIHRpbGluZyBvZiB0aGUgc3JjW10gYnVmZmVycyBh Ym92ZS4KPiAgCSAqLwo+IC0JaWd0X2Fzc2VydCghc3JjX3RpbGluZyB8fCBzcmNfY29tcHJlc3Nl ZCk7Cj4gKwlpZ3RfYXNzZXJ0KHNyY190aWxpbmcgPT0gSTkxNV9USUxJTkdfTk9ORSB8fCAhc3Jj X21peGVkX3RpbGVkKTsKPiAgCj4gIAkvKiBubyBZZiBiZWZvcmUgZ2VuOSAqLwo+ICAJaWYgKGlu dGVsX2dlbihkYXRhLT5kZXZpZCkgPCA5KQo+IEBAIC02MjYsMTUgKzYyOSwxOCBAQCBzdGF0aWMg dm9pZCB0ZXN0KGRhdGFfdCAqZGF0YSwgdWludDMyX3QKPiBzcmNfdGlsaW5nLCB1aW50MzJfdCBk c3RfdGlsaW5nLAo+ICAJCWlndF9yZXF1aXJlKGludGVsX2dlbihkYXRhLT5kZXZpZCkgPj0gOSk7 Cj4gIAo+ICAJZm9yIChpbnQgaSA9IDA7IGkgPCBudW1fc3JjOyBpKyspCj4gLQkJc2NyYXRjaF9i dWZfaW5pdChkYXRhLCAmc3JjW2ldLmJ1ZiwgV0lEVEgsIEhFSUdIVCwKPiBzcmNbaV0udGlsaW5n LCBmYWxzZSk7Cj4gLQlzY3JhdGNoX2J1Zl9pbml0KGRhdGEsICZkc3QsIFdJRFRILCBIRUlHSFQs IGRzdF90aWxpbmcsIGZhbHNlKTsKPiArCQlzY3JhdGNoX2J1Zl9pbml0KGRhdGEsICZzcmNbaV0u YnVmLCBXSURUSCwgSEVJR0hULAo+IHNyY1tpXS50aWxpbmcsCj4gKwkJCQkgSTkxNV9DT01QUkVT U0lPTl9OT05FKTsKPiArCXNjcmF0Y2hfYnVmX2luaXQoZGF0YSwgJmRzdCwgV0lEVEgsIEhFSUdI VCwgZHN0X3RpbGluZywKPiArCQkJIEk5MTVfQ09NUFJFU1NJT05fTk9ORSk7Cj4gIAlpZiAoc3Jj X2NvbXByZXNzZWQpCj4gIAkJc2NyYXRjaF9idWZfaW5pdChkYXRhLCAmc3JjX2NjcywgV0lEVEgs IEhFSUdIVCwKPiAtCQkJCSBzcmNfdGlsaW5nLCB0cnVlKTsKPiArCQkJCSBzcmNfdGlsaW5nLCBz cmNfY29tcHJlc3Npb24pOwo+ICAJaWYgKGRzdF9jb21wcmVzc2VkKQo+ICAJCXNjcmF0Y2hfYnVm X2luaXQoZGF0YSwgJmRzdF9jY3MsIFdJRFRILCBIRUlHSFQsCj4gLQkJCQkgZHN0X3RpbGluZywg dHJ1ZSk7Cj4gLQlzY3JhdGNoX2J1Zl9pbml0KGRhdGEsICZyZWYsIFdJRFRILCBIRUlHSFQsIEk5 MTVfVElMSU5HX05PTkUsCj4gZmFsc2UpOwo+ICsJCQkJIGRzdF90aWxpbmcsIGRzdF9jb21wcmVz c2lvbik7Cj4gKwlzY3JhdGNoX2J1Zl9pbml0KGRhdGEsICZyZWYsIFdJRFRILCBIRUlHSFQsIEk5 MTVfVElMSU5HX05PTkUsCj4gKwkJCSBJOTE1X0NPTVBSRVNTSU9OX05PTkUpOwo+ICAKPiAgCWZv ciAoaW50IGkgPSAwOyBpIDwgbnVtX3NyYzsgaSsrKQo+ICAJCXNjcmF0Y2hfYnVmX2RyYXdfcGF0 dGVybihkYXRhLCAmc3JjW2ldLmJ1ZiwKPiBAQCAtNzY1LDcgKzc3MSw4IEBAIGNvbnN0IGNoYXIg KmhlbHBfc3RyID0KPiAgCSIgIC1hXHRDaGVjayBhbGwgcGl4ZWxzXG4iCj4gIAk7Cj4gIAo+IC1z dGF0aWMgY29uc3QgY2hhciAqYnVmX21vZGVfc3RyKHVpbnQzMl90IHRpbGluZywgYm9vbCBjb21w cmVzc2VkKQo+ICtzdGF0aWMgY29uc3QgY2hhciAqYnVmX21vZGVfc3RyKHVpbnQzMl90IHRpbGlu ZywKPiArCQkJCWVudW0gaTkxNV9jb21wcmVzc2lvbiBjb21wcmVzc2lvbikKPiAgewo+ICAJc3dp dGNoICh0aWxpbmcpIHsKPiAgCWRlZmF1bHQ6Cj4gQEAgLTc3NCw5ICs3ODEsMTEgQEAgc3RhdGlj IGNvbnN0IGNoYXIgKmJ1Zl9tb2RlX3N0cih1aW50MzJfdCB0aWxpbmcsCj4gYm9vbCBjb21wcmVz c2VkKQo+ICAJY2FzZSBJOTE1X1RJTElOR19YOgo+ICAJCXJldHVybiAieC10aWxlZCI7Cj4gIAlj YXNlIEk5MTVfVElMSU5HX1k6Cj4gLQkJcmV0dXJuIGNvbXByZXNzZWQgPyAieS10aWxlZC1jY3Mi IDogInktdGlsZWQiOwo+ICsJCXJldHVybiBjb21wcmVzc2lvbiA9PSBJOTE1X0NPTVBSRVNTSU9O X1JFTkRFUiA/ICJ5LQo+IHRpbGVkLWNjcyIgOgo+ICsJCQkJCQkJCSJ5LQo+IHRpbGVkIjsKPiAg CWNhc2UgSTkxNV9USUxJTkdfWWY6Cj4gLQkJcmV0dXJuIGNvbXByZXNzZWQgPyAieWYtdGlsZWQt Y2NzIiA6ICJ5Zi10aWxlZCI7Cj4gKwkJcmV0dXJuIGNvbXByZXNzaW9uID09IEk5MTVfQ09NUFJF U1NJT05fUkVOREVSID8gInlmLQo+IHRpbGVkLWNjcyIgOgo+ICsJCQkJCQkJCSJ5Zi0KPiB0aWxl ZCI7Cj4gIAl9Cj4gIH0KPiAgCj4gQEAgLTc4NSwyNyArNzk0LDYxIEBAIGlndF9tYWluX2FyZ3Mo ImRhIiwgTlVMTCwgaGVscF9zdHIsCj4gb3B0X2hhbmRsZXIsIE5VTEwpCj4gIAlzdGF0aWMgY29u c3Qgc3RydWN0IHRlc3RfZGVzYyB7Cj4gIAkJaW50IHNyY190aWxpbmc7Cj4gIAkJaW50IGRzdF90 aWxpbmc7Cj4gKwkJZW51bSBpOTE1X2NvbXByZXNzaW9uIHNyY19jb21wcmVzc2lvbjsKPiArCQll bnVtIGk5MTVfY29tcHJlc3Npb24gZHN0X2NvbXByZXNzaW9uOwo+ICAJCWludCBmbGFnczsKPiAg CX0gdGVzdHNbXSA9IHsKPiAtCQl7IEk5MTVfVElMSU5HX05PTkUsIEk5MTVfVElMSU5HX05PTkUs IDAgfSwKPiAtCQl7IEk5MTVfVElMSU5HX05PTkUsIEk5MTVfVElMSU5HX1gsICAgIDAgfSwKPiAt CQl7IEk5MTVfVElMSU5HX05PTkUsIEk5MTVfVElMSU5HX1ksICAgIDAgfSwKPiAtCQl7IEk5MTVf VElMSU5HX05PTkUsIEk5MTVfVElMSU5HX1lmLCAgIDAgfSwKPiAtCj4gLQkJeyBJOTE1X1RJTElO R19ZLCAgICBJOTE1X1RJTElOR19OT05FLCBTUkNfQ09NUFJFU1NFRCB9LAo+IC0JCXsgSTkxNV9U SUxJTkdfWSwgICAgSTkxNV9USUxJTkdfWCwgICAgU1JDX0NPTVBSRVNTRUQgfSwKPiAtCQl7IEk5 MTVfVElMSU5HX1ksICAgIEk5MTVfVElMSU5HX1ksICAgIFNSQ19DT01QUkVTU0VEIH0sCj4gLQkJ eyBJOTE1X1RJTElOR19ZLCAgICBJOTE1X1RJTElOR19ZZiwgICBTUkNfQ09NUFJFU1NFRCB9LAo+ IC0KPiAtCQl7IEk5MTVfVElMSU5HX1lmLCAgIEk5MTVfVElMSU5HX05PTkUsIFNSQ19DT01QUkVT U0VEIH0sCj4gLQkJeyBJOTE1X1RJTElOR19ZZiwgICBJOTE1X1RJTElOR19YLCAgICBTUkNfQ09N UFJFU1NFRCB9LAo+IC0JCXsgSTkxNV9USUxJTkdfWWYsICAgSTkxNV9USUxJTkdfWSwgICAgU1JD X0NPTVBSRVNTRUQgfSwKPiAtCQl7IEk5MTVfVElMSU5HX1lmLCAgIEk5MTVfVElMSU5HX1lmLCAg IFNSQ19DT01QUkVTU0VEIH0sCj4gLQo+IC0JCXsgSTkxNV9USUxJTkdfWSwgICAgSTkxNV9USUxJ TkdfWSwgICAgU1JDX0NPTVBSRVNTRUQgfAo+IERTVF9DT01QUkVTU0VEIH0sCj4gLQkJeyBJOTE1 X1RJTElOR19ZZiwgICBJOTE1X1RJTElOR19ZZiwgICBTUkNfQ09NUFJFU1NFRCB8Cj4gRFNUX0NP TVBSRVNTRUQgfSwKPiAtCQl7IEk5MTVfVElMSU5HX1ksICAgIEk5MTVfVElMSU5HX1lmLCAgIFNS Q19DT01QUkVTU0VEIHwKPiBEU1RfQ09NUFJFU1NFRCB9LAo+IC0JCXsgSTkxNV9USUxJTkdfWWYs ICAgSTkxNV9USUxJTkdfWSwgICAgU1JDX0NPTVBSRVNTRUQgfAo+IERTVF9DT01QUkVTU0VEIH0s Cj4gKwkJeyBJOTE1X1RJTElOR19OT05FLAkJSTkxNV9USUxJTkdfTk9ORSwKPiArCQkgIEk5MTVf Q09NUFJFU1NJT05fTk9ORSwJSTkxNV9DT01QUkVTU0lPTl9OT05FLAo+ICsJCSAgU09VUkNFX01J WEVEX1RJTEVELCB9LAo+ICsJCXsgSTkxNV9USUxJTkdfTk9ORSwJCUk5MTVfVElMSU5HX1gsCj4g KwkJICBJOTE1X0NPTVBSRVNTSU9OX05PTkUsCUk5MTVfQ09NUFJFU1NJT05fTk9ORSwKPiArCQkg IFNPVVJDRV9NSVhFRF9USUxFRCwgfSwKPiArCQl7IEk5MTVfVElMSU5HX05PTkUsCQlJOTE1X1RJ TElOR19ZLAo+ICsJCSAgSTkxNV9DT01QUkVTU0lPTl9OT05FLAlJOTE1X0NPTVBSRVNTSU9OX05P TkUsCj4gKwkJICBTT1VSQ0VfTUlYRURfVElMRUQsIH0sCj4gKwkJeyBJOTE1X1RJTElOR19OT05F LAkJSTkxNV9USUxJTkdfWWYsCj4gKwkJICBJOTE1X0NPTVBSRVNTSU9OX05PTkUsCUk5MTVfQ09N UFJFU1NJT05fTk9ORSwKPiArCQkgIFNPVVJDRV9NSVhFRF9USUxFRCwgfSwKPiArCj4gKwkJeyBJ OTE1X1RJTElOR19ZLAkJSTkxNV9USUxJTkdfTk9ORSwKPiArCQkgIEk5MTVfQ09NUFJFU1NJT05f UkVOREVSLAlJOTE1X0NPTVBSRVNTSU9OX05PTkUKPiAsCj4gKwkJICAwLCB9LAo+ICsJCXsgSTkx NV9USUxJTkdfWSwJCUk5MTVfVElMSU5HX1gsCj4gKwkJICBJOTE1X0NPTVBSRVNTSU9OX1JFTkRF UiwJSTkxNV9DT01QUkVTU0lPTl9OT05FCj4gLAo+ICsJCSAgMCwgfSwKPiArCQl7IEk5MTVfVElM SU5HX1ksCQlJOTE1X1RJTElOR19ZLAo+ICsJCSAgSTkxNV9DT01QUkVTU0lPTl9SRU5ERVIsCUk5 MTVfQ09NUFJFU1NJT05fTk9ORQo+ICwKPiArCQkgIDAsIH0sCj4gKwkJeyBJOTE1X1RJTElOR19Z LAkJSTkxNV9USUxJTkdfWWYsCj4gKwkJICBJOTE1X0NPTVBSRVNTSU9OX1JFTkRFUiwJSTkxNV9D T01QUkVTU0lPTl9OT05FCj4gLAo+ICsJCSAgMCwgfSwKPiArCj4gKwkJeyBJOTE1X1RJTElOR19Z ZiwJCUk5MTVfVElMSU5HX05PTkUsCj4gKwkJICBJOTE1X0NPTVBSRVNTSU9OX1JFTkRFUiwJSTkx NV9DT01QUkVTU0lPTl9OT05FCj4gLAo+ICsJCSAgMCwgfSwKPiArCQl7IEk5MTVfVElMSU5HX1lm LAkJSTkxNV9USUxJTkdfWCwKPiArCQkgIEk5MTVfQ09NUFJFU1NJT05fUkVOREVSLAlJOTE1X0NP TVBSRVNTSU9OX05PTkUKPiAsCj4gKwkJICAwLCB9LAo+ICsJCXsgSTkxNV9USUxJTkdfWWYsCQlJ OTE1X1RJTElOR19ZLAo+ICsJCSAgSTkxNV9DT01QUkVTU0lPTl9SRU5ERVIsCUk5MTVfQ09NUFJF U1NJT05fTk9ORQo+ICwKPiArCQkgIDAsIH0sCj4gKwkJeyBJOTE1X1RJTElOR19ZZiwJCUk5MTVf VElMSU5HX1lmLAo+ICsJCSAgSTkxNV9DT01QUkVTU0lPTl9SRU5ERVIsCUk5MTVfQ09NUFJFU1NJ T05fTk9ORQo+ICwKPiArCQkgIDAsIH0sCj4gKwo+ICsJCXsgSTkxNV9USUxJTkdfWSwJCUk5MTVf VElMSU5HX1ksCj4gKwkJICBJOTE1X0NPTVBSRVNTSU9OX1JFTkRFUiwJSTkxNV9DT01QUkVTU0lP Tl9SRU5ECj4gRVIsCj4gKwkJICAwLCB9LAo+ICsJCXsgSTkxNV9USUxJTkdfWWYsCQlJOTE1X1RJ TElOR19ZZiwKPiArCQkgIEk5MTVfQ09NUFJFU1NJT05fUkVOREVSLAlJOTE1X0NPTVBSRVNTSU9O X1JFTkQKPiBFUiwKPiArCQkgIDAsIH0sCj4gKwkJeyBJOTE1X1RJTElOR19ZLAkJSTkxNV9USUxJ TkdfWWYsCj4gKwkJICBJOTE1X0NPTVBSRVNTSU9OX1JFTkRFUiwJSTkxNV9DT01QUkVTU0lPTl9S RU5ECj4gRVIsCj4gKwkJICAwLCB9LAo+ICsJCXsgSTkxNV9USUxJTkdfWWYsCQlJOTE1X1RJTElO R19ZLAo+ICsJCSAgSTkxNV9DT01QUkVTU0lPTl9SRU5ERVIsCUk5MTVfQ09NUFJFU1NJT05fUkVO RAo+IEVSLAo+ICsJCSAgMCwgfSwKPiAgCX07Cj4gIAlpbnQgaTsKPiAgCj4gQEAgLTgzMiwxOCAr ODc1LDIyIEBAIGlndF9tYWluX2FyZ3MoImRhIiwgTlVMTCwgaGVscF9zdHIsCj4gb3B0X2hhbmRs ZXIsIE5VTEwpCj4gIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh0ZXN0cyk7IGkrKykgewo+ ICAJCWNvbnN0IHN0cnVjdCB0ZXN0X2Rlc2MgKnQgPSAmdGVzdHNbaV07Cj4gIAkJY29uc3QgY2hh ciAqc3JjX21vZGUgPSBidWZfbW9kZV9zdHIodC0+c3JjX3RpbGluZywKPiAtCQkJCQkJICAgIHQt PmZsYWdzICYKPiBTUkNfQ09NUFJFU1NFRCk7Cj4gKwkJCQkJCSAgICB0LQo+ID5zcmNfY29tcHJl c3Npb24pOwo+ICAJCWNvbnN0IGNoYXIgKmRzdF9tb2RlID0gYnVmX21vZGVfc3RyKHQtPmRzdF90 aWxpbmcsCj4gLQkJCQkJCSAgICB0LT5mbGFncyAmCj4gRFNUX0NPTVBSRVNTRUQpOwo+ICsJCQkJ CQkgICAgdC0KPiA+ZHN0X2NvbXByZXNzaW9uKTsKPiArCQljb25zdCBib29sIHNyY19taXhlZF90 aWxlZCA9IHQtPmZsYWdzICYKPiBTT1VSQ0VfTUlYRURfVElMRUQ7Cj4gIAo+ICAJCWlndF9kZXNj cmliZV9mKCJUZXN0IHJlbmRlcl9jb3B5KCkgZnJvbSBhICVzIHRvIGEgJXMKPiBidWZmZXIuIiwK PiAgCQkJICAgICAgIHNyY19tb2RlLCBkc3RfbW9kZSk7Cj4gIAo+ICAJCWlndF9zdWJ0ZXN0X2Yo IiVzJXMlcyIsCj4gLQkJCSAgICAgIHQtPmZsYWdzID8gc3JjX21vZGUgOiAiIiwKPiAtCQkJICAg ICAgdC0+ZmxhZ3MgPyAiLXRvLSIgOiAiIiwKPiArCQkJICAgICAgc3JjX21peGVkX3RpbGVkID8g IiIgOiBzcmNfbW9kZSwKPiArCQkJICAgICAgc3JjX21peGVkX3RpbGVkID8gIiIgOiAiLXRvLSIs Cj4gIAkJCSAgICAgIGRzdF9tb2RlKQo+IC0JCQl0ZXN0KCZkYXRhLCB0LT5zcmNfdGlsaW5nLCB0 LT5kc3RfdGlsaW5nLCB0LQo+ID5mbGFncyk7Cj4gKwkJCXRlc3QoJmRhdGEsCj4gKwkJCSAgICAg dC0+c3JjX3RpbGluZywgdC0+ZHN0X3RpbGluZywKPiArCQkJICAgICB0LT5zcmNfY29tcHJlc3Np b24sIHQtPmRzdF9jb21wcmVzc2lvbiwKPiArCQkJICAgICB0LT5mbGFncyk7Cj4gIAl9Cj4gIAo+ ICAJaWd0X2ZpeHR1cmUgewpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=