From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH i-g-t 09/25] gem_wsim: More wsim_err Date: Fri, 17 May 2019 12:25:10 +0100 Message-ID: <20190517112526.6738-10-tvrtko.ursulin@linux.intel.com> References: <20190517112526.6738-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190517112526.6738-1-tvrtko.ursulin@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: igt-dev@lists.freedesktop.org Cc: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkEgZmV3IG1v cmUgb3Bwb3J0dW5pdGllcyB0byBjb21wYWN0IHRoZSBjb2RlIGJ5IHVzaW5nIHRoZSBlcnJvciBs b2dnaW5nCmhlbHBlci4KClNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJz dWxpbkBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdp bHNvbi5jby51az4KLS0tCiBiZW5jaG1hcmtzL2dlbV93c2ltLmMgfCA1NCArKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTUgaW5zZXJ0 aW9ucygrKSwgMzkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYmVuY2htYXJrcy9nZW1fd3Np bS5jIGIvYmVuY2htYXJrcy9nZW1fd3NpbS5jCmluZGV4IGZjZWI4NTBkMGNhMC4uNmM5ZWIxZTIw ZWZjIDEwMDY0NAotLS0gYS9iZW5jaG1hcmtzL2dlbV93c2ltLmMKKysrIGIvYmVuY2htYXJrcy9n ZW1fd3NpbS5jCkBAIC0yNDE5LDkgKzI0MTksNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAq KmFyZ3YpCiAJCXN3aXRjaCAoYykgewogCQljYXNlICdXJzoKIAkJCWlmIChtYXN0ZXJfd29ya2xv YWQgPj0gMCkgewotCQkJCWlmICh2ZXJib3NlKQotCQkJCQlmcHJpbnRmKHN0ZGVyciwKLQkJCQkJ CSJPbmx5IG9uZSBtYXN0ZXIgd29ya2xvYWQgY2FuIGJlIGdpdmVuIVxuIik7CisJCQkJd3NpbV9l cnIoIk9ubHkgb25lIG1hc3RlciB3b3JrbG9hZCBjYW4gYmUgZ2l2ZW4hXG4iKTsKIAkJCQlyZXR1 cm4gMTsKIAkJCX0KIAkJCW1hc3Rlcl93b3JrbG9hZCA9IG5yX3dfYXJnczsKQEAgLTI0MzQsOSAr MjQzMiw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIAkJCWJyZWFrOwogCQlj YXNlICdhJzoKIAkJCWlmIChhcHBlbmRfd29ya2xvYWRfYXJnKSB7Ci0JCQkJaWYgKHZlcmJvc2Up Ci0JCQkJCWZwcmludGYoc3RkZXJyLAotCQkJCQkJIk9ubHkgb25lIGFwcGVuZCB3b3JrbG9hZCBj YW4gYmUgZ2l2ZW4hXG4iKTsKKwkJCQl3c2ltX2VycigiT25seSBvbmUgYXBwZW5kIHdvcmtsb2Fk IGNhbiBiZSBnaXZlbiFcbiIpOwogCQkJCXJldHVybiAxOwogCQkJfQogCQkJYXBwZW5kX3dvcmts b2FkX2FyZyA9IG9wdGFyZzsKQEAgLTI0OTcsMTAgKzI0OTMsOCBAQCBpbnQgbWFpbihpbnQgYXJn YywgY2hhciAqKmFyZ3YpCiAJCQl9CiAKIAkJCWlmICghYmFsYW5jZXIpIHsKLQkJCQlpZiAodmVy Ym9zZSkKLQkJCQkJZnByaW50ZihzdGRlcnIsCi0JCQkJCQkiVW5rbm93biBiYWxhbmNpbmcgbW9k ZSAnJXMnIVxuIiwKLQkJCQkJCW9wdGFyZyk7CisJCQkJd3NpbV9lcnIoIlVua25vd24gYmFsYW5j aW5nIG1vZGUgJyVzJyFcbiIsCisJCQkJCSBvcHRhcmcpOwogCQkJCXJldHVybiAxOwogCQkJfQog CQkJYnJlYWs7CkBAIC0yNTEzLDE0ICsyNTA3LDEyIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFy ICoqYXJndikKIAl9CiAKIAlpZiAoKGZsYWdzICYgSEVBUlRCRUFUKSAmJiAhKGZsYWdzICYgU0VR Tk8pKSB7Ci0JCWlmICh2ZXJib3NlKQotCQkJZnByaW50ZihzdGRlcnIsICJIZWFydGJlYXQgbmVl ZHMgYSBzZXFubyBiYXNlZCBiYWxhbmNlciFcbiIpOworCQl3c2ltX2VycigiSGVhcnRiZWF0IG5l ZWRzIGEgc2Vxbm8gYmFzZWQgYmFsYW5jZXIhXG4iKTsKIAkJcmV0dXJuIDE7CiAJfQogCiAJaWYg KChmbGFncyAmIFZDUzJSRU1BUCkgJiYgKGZsYWdzICYgSTkxNSkpIHsKLQkJaWYgKHZlcmJvc2Up Ci0JCQlmcHJpbnRmKHN0ZGVyciwgIlZDUyByZW1hcHBpbmcgbm90IHN1cHBvcnRlZCB3aXRoIGk5 MTUgYmFsYW5jaW5nIVxuIik7CisJCXdzaW1fZXJyKCJWQ1MgcmVtYXBwaW5nIG5vdCBzdXBwb3J0 ZWQgd2l0aCBpOTE1IGJhbGFuY2luZyFcbiIpOwogCQlyZXR1cm4gMTsKIAl9CiAKQEAgLTI1Mzcs MzEgKzI1MjksMjQgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCX0KIAogCWlm ICghbnJfd19hcmdzKSB7Ci0JCWlmICh2ZXJib3NlKQotCQkJZnByaW50ZihzdGRlcnIsICJObyB3 b3JrbG9hZCBkZXNjcmlwdG9yKHMpIVxuIik7CisJCXdzaW1fZXJyKCJObyB3b3JrbG9hZCBkZXNj cmlwdG9yKHMpIVxuIik7CiAJCXJldHVybiAxOwogCX0KIAogCWlmIChucl93X2FyZ3MgPiAxICYm IGNsaWVudHMgPiAxKSB7Ci0JCWlmICh2ZXJib3NlKQotCQkJZnByaW50ZihzdGRlcnIsCi0JCQkJ IkNsb25lZCBjbGllbnRzIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG11bHRpcGxlIHdvcmtsb2Fk cyFcbiIpOworCQl3c2ltX2VycigiQ2xvbmVkIGNsaWVudHMgY2Fubm90IGJlIGNvbWJpbmVkIHdp dGggbXVsdGlwbGUgd29ya2xvYWRzIVxuIik7CiAJCXJldHVybiAxOwogCX0KIAogCWlmICgoZmxh Z3MgJiBHTE9CQUxfQkFMQU5DRSkgJiYgIWJhbGFuY2VyKSB7Ci0JCWlmICh2ZXJib3NlKQotCQkJ ZnByaW50ZihzdGRlcnIsCi0JCQkJIkJhbGFuY2VyIG5vdCBzcGVjaWZpZWQgaW4gZ2xvYmFsIGJh bGFuY2luZyBtb2RlIVxuIik7CisJCXdzaW1fZXJyKCJCYWxhbmNlciBub3Qgc3BlY2lmaWVkIGlu IGdsb2JhbCBiYWxhbmNpbmcgbW9kZSFcbiIpOwogCQlyZXR1cm4gMTsKIAl9CiAKIAlpZiAoYXBw ZW5kX3dvcmtsb2FkX2FyZykgewogCQlhcHBlbmRfd29ya2xvYWRfYXJnID0gbG9hZF93b3JrbG9h ZF9kZXNjcmlwdG9yKGFwcGVuZF93b3JrbG9hZF9hcmcpOwogCQlpZiAoIWFwcGVuZF93b3JrbG9h ZF9hcmcpIHsKLQkJCWlmICh2ZXJib3NlKQotCQkJCWZwcmludGYoc3RkZXJyLAotCQkJCQkiRmFp bGVkIHRvIGxvYWQgYXBwZW5kIHdvcmtsb2FkIGRlc2NyaXB0b3IhXG4iKTsKKwkJCXdzaW1fZXJy KCJGYWlsZWQgdG8gbG9hZCBhcHBlbmQgd29ya2xvYWQgZGVzY3JpcHRvciFcbiIpOwogCQkJcmV0 dXJuIDE7CiAJCX0KIAl9CkBAIC0yNTcwLDkgKzI1NTUsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywg Y2hhciAqKmFyZ3YpCiAJCXN0cnVjdCB3X2FyZyBhcmcgPSB7IE5VTEwsIGFwcGVuZF93b3JrbG9h ZF9hcmcsIDAgfTsKIAkJYXBwX3cgPSBwYXJzZV93b3JrbG9hZCgmYXJnLCBmbGFncywgTlVMTCk7 CiAJCWlmICghYXBwX3cpIHsKLQkJCWlmICh2ZXJib3NlKQotCQkJCWZwcmludGYoc3RkZXJyLAot CQkJCQkiRmFpbGVkIHRvIHBhcnNlIGFwcGVuZCB3b3JrbG9hZCFcbiIpOworCQkJd3NpbV9lcnIo IkZhaWxlZCB0byBwYXJzZSBhcHBlbmQgd29ya2xvYWQhXG4iKTsKIAkJCXJldHVybiAxOwogCQl9 CiAJfQpAQCAtMjU4NCwxOCArMjU2NywxMyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFy Z3YpCiAJCXdfYXJnc1tpXS5kZXNjID0gbG9hZF93b3JrbG9hZF9kZXNjcmlwdG9yKHdfYXJnc1tp XS5maWxlbmFtZSk7CiAKIAkJaWYgKCF3X2FyZ3NbaV0uZGVzYykgewotCQkJaWYgKHZlcmJvc2Up Ci0JCQkJZnByaW50ZihzdGRlcnIsCi0JCQkJCSJGYWlsZWQgdG8gbG9hZCB3b3JrbG9hZCBkZXNj cmlwdG9yICV1IVxuIiwKLQkJCQkJaSk7CisJCQl3c2ltX2VycigiRmFpbGVkIHRvIGxvYWQgd29y a2xvYWQgZGVzY3JpcHRvciAldSFcbiIsIGkpOwogCQkJcmV0dXJuIDE7CiAJCX0KIAogCQl3cmtb aV0gPSBwYXJzZV93b3JrbG9hZCgmd19hcmdzW2ldLCBmbGFncywgYXBwX3cpOwogCQlpZiAoIXdy a1tpXSkgewotCQkJaWYgKHZlcmJvc2UpCi0JCQkJZnByaW50ZihzdGRlcnIsCi0JCQkJCSJGYWls ZWQgdG8gcGFyc2Ugd29ya2xvYWQgJXUhXG4iLCBpKTsKKwkJCXdzaW1fZXJyKCJGYWlsZWQgdG8g cGFyc2Ugd29ya2xvYWQgJXUhXG4iLCBpKTsKIAkJCXJldHVybiAxOwogCQl9CiAJfQpAQCAtMjY1 NSwxMCArMjYzMyw4IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIAkJaWYgKGJh bGFuY2VyICYmIGJhbGFuY2VyLT5pbml0KSB7CiAJCQlpbnQgcmV0ID0gYmFsYW5jZXItPmluaXQo YmFsYW5jZXIsIHdbaV0pOwogCQkJaWYgKHJldCkgewotCQkJCWlmICh2ZXJib3NlKQotCQkJCQlm cHJpbnRmKHN0ZGVyciwKLQkJCQkJCSJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBiYWxhbmNpbmchICgl dT0lZClcbiIsCi0JCQkJCQlpLCByZXQpOworCQkJCXdzaW1fZXJyKCJGYWlsZWQgdG8gaW5pdGlh bGl6ZSBiYWxhbmNpbmchICgldT0lZClcbiIsCisJCQkJCSBpLCByZXQpOwogCQkJCXJldHVybiAx OwogCQkJfQogCQl9Ci0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeA== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Tvrtko Ursulin Date: Fri, 17 May 2019 12:25:10 +0100 Message-Id: <20190517112526.6738-10-tvrtko.ursulin@linux.intel.com> In-Reply-To: <20190517112526.6738-1-tvrtko.ursulin@linux.intel.com> References: <20190517112526.6738-1-tvrtko.ursulin@linux.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 09/25] gem_wsim: More wsim_err 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 Cc: Intel-gfx@lists.freedesktop.org, Tvrtko Ursulin List-ID: RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkEgZmV3IG1v cmUgb3Bwb3J0dW5pdGllcyB0byBjb21wYWN0IHRoZSBjb2RlIGJ5IHVzaW5nIHRoZSBlcnJvciBs b2dnaW5nCmhlbHBlci4KClNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJz dWxpbkBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdp bHNvbi5jby51az4KLS0tCiBiZW5jaG1hcmtzL2dlbV93c2ltLmMgfCA1NCArKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTUgaW5zZXJ0 aW9ucygrKSwgMzkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYmVuY2htYXJrcy9nZW1fd3Np bS5jIGIvYmVuY2htYXJrcy9nZW1fd3NpbS5jCmluZGV4IGZjZWI4NTBkMGNhMC4uNmM5ZWIxZTIw ZWZjIDEwMDY0NAotLS0gYS9iZW5jaG1hcmtzL2dlbV93c2ltLmMKKysrIGIvYmVuY2htYXJrcy9n ZW1fd3NpbS5jCkBAIC0yNDE5LDkgKzI0MTksNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAq KmFyZ3YpCiAJCXN3aXRjaCAoYykgewogCQljYXNlICdXJzoKIAkJCWlmIChtYXN0ZXJfd29ya2xv YWQgPj0gMCkgewotCQkJCWlmICh2ZXJib3NlKQotCQkJCQlmcHJpbnRmKHN0ZGVyciwKLQkJCQkJ CSJPbmx5IG9uZSBtYXN0ZXIgd29ya2xvYWQgY2FuIGJlIGdpdmVuIVxuIik7CisJCQkJd3NpbV9l cnIoIk9ubHkgb25lIG1hc3RlciB3b3JrbG9hZCBjYW4gYmUgZ2l2ZW4hXG4iKTsKIAkJCQlyZXR1 cm4gMTsKIAkJCX0KIAkJCW1hc3Rlcl93b3JrbG9hZCA9IG5yX3dfYXJnczsKQEAgLTI0MzQsOSAr MjQzMiw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIAkJCWJyZWFrOwogCQlj YXNlICdhJzoKIAkJCWlmIChhcHBlbmRfd29ya2xvYWRfYXJnKSB7Ci0JCQkJaWYgKHZlcmJvc2Up Ci0JCQkJCWZwcmludGYoc3RkZXJyLAotCQkJCQkJIk9ubHkgb25lIGFwcGVuZCB3b3JrbG9hZCBj YW4gYmUgZ2l2ZW4hXG4iKTsKKwkJCQl3c2ltX2VycigiT25seSBvbmUgYXBwZW5kIHdvcmtsb2Fk IGNhbiBiZSBnaXZlbiFcbiIpOwogCQkJCXJldHVybiAxOwogCQkJfQogCQkJYXBwZW5kX3dvcmts b2FkX2FyZyA9IG9wdGFyZzsKQEAgLTI0OTcsMTAgKzI0OTMsOCBAQCBpbnQgbWFpbihpbnQgYXJn YywgY2hhciAqKmFyZ3YpCiAJCQl9CiAKIAkJCWlmICghYmFsYW5jZXIpIHsKLQkJCQlpZiAodmVy Ym9zZSkKLQkJCQkJZnByaW50ZihzdGRlcnIsCi0JCQkJCQkiVW5rbm93biBiYWxhbmNpbmcgbW9k ZSAnJXMnIVxuIiwKLQkJCQkJCW9wdGFyZyk7CisJCQkJd3NpbV9lcnIoIlVua25vd24gYmFsYW5j aW5nIG1vZGUgJyVzJyFcbiIsCisJCQkJCSBvcHRhcmcpOwogCQkJCXJldHVybiAxOwogCQkJfQog CQkJYnJlYWs7CkBAIC0yNTEzLDE0ICsyNTA3LDEyIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFy ICoqYXJndikKIAl9CiAKIAlpZiAoKGZsYWdzICYgSEVBUlRCRUFUKSAmJiAhKGZsYWdzICYgU0VR Tk8pKSB7Ci0JCWlmICh2ZXJib3NlKQotCQkJZnByaW50ZihzdGRlcnIsICJIZWFydGJlYXQgbmVl ZHMgYSBzZXFubyBiYXNlZCBiYWxhbmNlciFcbiIpOworCQl3c2ltX2VycigiSGVhcnRiZWF0IG5l ZWRzIGEgc2Vxbm8gYmFzZWQgYmFsYW5jZXIhXG4iKTsKIAkJcmV0dXJuIDE7CiAJfQogCiAJaWYg KChmbGFncyAmIFZDUzJSRU1BUCkgJiYgKGZsYWdzICYgSTkxNSkpIHsKLQkJaWYgKHZlcmJvc2Up Ci0JCQlmcHJpbnRmKHN0ZGVyciwgIlZDUyByZW1hcHBpbmcgbm90IHN1cHBvcnRlZCB3aXRoIGk5 MTUgYmFsYW5jaW5nIVxuIik7CisJCXdzaW1fZXJyKCJWQ1MgcmVtYXBwaW5nIG5vdCBzdXBwb3J0 ZWQgd2l0aCBpOTE1IGJhbGFuY2luZyFcbiIpOwogCQlyZXR1cm4gMTsKIAl9CiAKQEAgLTI1Mzcs MzEgKzI1MjksMjQgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCX0KIAogCWlm ICghbnJfd19hcmdzKSB7Ci0JCWlmICh2ZXJib3NlKQotCQkJZnByaW50ZihzdGRlcnIsICJObyB3 b3JrbG9hZCBkZXNjcmlwdG9yKHMpIVxuIik7CisJCXdzaW1fZXJyKCJObyB3b3JrbG9hZCBkZXNj cmlwdG9yKHMpIVxuIik7CiAJCXJldHVybiAxOwogCX0KIAogCWlmIChucl93X2FyZ3MgPiAxICYm IGNsaWVudHMgPiAxKSB7Ci0JCWlmICh2ZXJib3NlKQotCQkJZnByaW50ZihzdGRlcnIsCi0JCQkJ IkNsb25lZCBjbGllbnRzIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG11bHRpcGxlIHdvcmtsb2Fk cyFcbiIpOworCQl3c2ltX2VycigiQ2xvbmVkIGNsaWVudHMgY2Fubm90IGJlIGNvbWJpbmVkIHdp dGggbXVsdGlwbGUgd29ya2xvYWRzIVxuIik7CiAJCXJldHVybiAxOwogCX0KIAogCWlmICgoZmxh Z3MgJiBHTE9CQUxfQkFMQU5DRSkgJiYgIWJhbGFuY2VyKSB7Ci0JCWlmICh2ZXJib3NlKQotCQkJ ZnByaW50ZihzdGRlcnIsCi0JCQkJIkJhbGFuY2VyIG5vdCBzcGVjaWZpZWQgaW4gZ2xvYmFsIGJh bGFuY2luZyBtb2RlIVxuIik7CisJCXdzaW1fZXJyKCJCYWxhbmNlciBub3Qgc3BlY2lmaWVkIGlu IGdsb2JhbCBiYWxhbmNpbmcgbW9kZSFcbiIpOwogCQlyZXR1cm4gMTsKIAl9CiAKIAlpZiAoYXBw ZW5kX3dvcmtsb2FkX2FyZykgewogCQlhcHBlbmRfd29ya2xvYWRfYXJnID0gbG9hZF93b3JrbG9h ZF9kZXNjcmlwdG9yKGFwcGVuZF93b3JrbG9hZF9hcmcpOwogCQlpZiAoIWFwcGVuZF93b3JrbG9h ZF9hcmcpIHsKLQkJCWlmICh2ZXJib3NlKQotCQkJCWZwcmludGYoc3RkZXJyLAotCQkJCQkiRmFp bGVkIHRvIGxvYWQgYXBwZW5kIHdvcmtsb2FkIGRlc2NyaXB0b3IhXG4iKTsKKwkJCXdzaW1fZXJy KCJGYWlsZWQgdG8gbG9hZCBhcHBlbmQgd29ya2xvYWQgZGVzY3JpcHRvciFcbiIpOwogCQkJcmV0 dXJuIDE7CiAJCX0KIAl9CkBAIC0yNTcwLDkgKzI1NTUsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywg Y2hhciAqKmFyZ3YpCiAJCXN0cnVjdCB3X2FyZyBhcmcgPSB7IE5VTEwsIGFwcGVuZF93b3JrbG9h ZF9hcmcsIDAgfTsKIAkJYXBwX3cgPSBwYXJzZV93b3JrbG9hZCgmYXJnLCBmbGFncywgTlVMTCk7 CiAJCWlmICghYXBwX3cpIHsKLQkJCWlmICh2ZXJib3NlKQotCQkJCWZwcmludGYoc3RkZXJyLAot CQkJCQkiRmFpbGVkIHRvIHBhcnNlIGFwcGVuZCB3b3JrbG9hZCFcbiIpOworCQkJd3NpbV9lcnIo IkZhaWxlZCB0byBwYXJzZSBhcHBlbmQgd29ya2xvYWQhXG4iKTsKIAkJCXJldHVybiAxOwogCQl9 CiAJfQpAQCAtMjU4NCwxOCArMjU2NywxMyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFy Z3YpCiAJCXdfYXJnc1tpXS5kZXNjID0gbG9hZF93b3JrbG9hZF9kZXNjcmlwdG9yKHdfYXJnc1tp XS5maWxlbmFtZSk7CiAKIAkJaWYgKCF3X2FyZ3NbaV0uZGVzYykgewotCQkJaWYgKHZlcmJvc2Up Ci0JCQkJZnByaW50ZihzdGRlcnIsCi0JCQkJCSJGYWlsZWQgdG8gbG9hZCB3b3JrbG9hZCBkZXNj cmlwdG9yICV1IVxuIiwKLQkJCQkJaSk7CisJCQl3c2ltX2VycigiRmFpbGVkIHRvIGxvYWQgd29y a2xvYWQgZGVzY3JpcHRvciAldSFcbiIsIGkpOwogCQkJcmV0dXJuIDE7CiAJCX0KIAogCQl3cmtb aV0gPSBwYXJzZV93b3JrbG9hZCgmd19hcmdzW2ldLCBmbGFncywgYXBwX3cpOwogCQlpZiAoIXdy a1tpXSkgewotCQkJaWYgKHZlcmJvc2UpCi0JCQkJZnByaW50ZihzdGRlcnIsCi0JCQkJCSJGYWls ZWQgdG8gcGFyc2Ugd29ya2xvYWQgJXUhXG4iLCBpKTsKKwkJCXdzaW1fZXJyKCJGYWlsZWQgdG8g cGFyc2Ugd29ya2xvYWQgJXUhXG4iLCBpKTsKIAkJCXJldHVybiAxOwogCQl9CiAJfQpAQCAtMjY1 NSwxMCArMjYzMyw4IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIAkJaWYgKGJh bGFuY2VyICYmIGJhbGFuY2VyLT5pbml0KSB7CiAJCQlpbnQgcmV0ID0gYmFsYW5jZXItPmluaXQo YmFsYW5jZXIsIHdbaV0pOwogCQkJaWYgKHJldCkgewotCQkJCWlmICh2ZXJib3NlKQotCQkJCQlm cHJpbnRmKHN0ZGVyciwKLQkJCQkJCSJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBiYWxhbmNpbmchICgl dT0lZClcbiIsCi0JCQkJCQlpLCByZXQpOworCQkJCXdzaW1fZXJyKCJGYWlsZWQgdG8gaW5pdGlh bGl6ZSBiYWxhbmNpbmchICgldT0lZClcbiIsCisJCQkJCSBpLCByZXQpOwogCQkJCXJldHVybiAx OwogCQkJfQogCQl9Ci0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aWd0LWRldg==