From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 027786E45B for ; Tue, 20 Nov 2018 23:31:58 +0000 (UTC) From: Manasi Navare Date: Tue, 20 Nov 2018 15:34:37 -0800 Message-Id: <20181120233437.5352-1-manasi.d.navare@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v2] test/kms_dp_dsc: Basic KMS test to validate VESA DSC on DP/eDP 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: Anusha Srivatsa , Petri Latvala , Manasi Navare , Dhinakaran Pandiyan List-ID: VGhpcyBwYXRjaCBhZGRzIGEgYmFzaWMga21zIHRlc3QgdG8gdmFsaWRhdGUgdGhlIGRpc3BsYXkg c3RyZWFtCmNvbXByZXNzaW9uIGZ1bmN0aW9uYWxpdHkgaWYgc3VwcG9ydGVkIG9uIERQL2VEUCBj b25uZWN0b3IuCkN1cnJlbnRseSB0aGlzIGhhcyBvbmx5IHR3byBzdWJ0ZXN0cyB0byBmb3JjZSB0 aGUgRFNDIG9uIGFsbAp0aGUgZURQIGFuZCBEUCBjb25uZWN0b3JzIHRoYXQgc3VwcG9ydCBpdCB3 aXRoIGRlZmF1bHQgcGFyYW1ldGVycy4KVGhpcyB3aWxsIGJlIGV4cGFuZGVkIHRvIGFkZCBtb3Jl IHN1YnRlc3RzIHRvIHR3ZWFrIERTQyBwYXJhbWV0ZXJzLgoKVGhpcyB1c2VzIHRoZSBkZWJ1Z2Zz IG5vZGVzIGFkZGVkIGluIHRoZSBwYXRjaDoKaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Au b3JnL3BhdGNoLzI2MTc0Mi8KCnYyOgoqIFVzZSBJR1Qgd3JhcHBlcnMgZm9yIGFsbCAoREssIEFu dG9uaW8pCiogU3BsaXQgaW50byB0d28gc3VidGVzdHMgZm9yIGVEUCBhbmQgRFAgdHlwZXMgKFBl dHJpKQoKQ2M6IFBldHJpIExhdHZhbGEgPHBldHJpLmxhdHZhbGFAaW50ZWwuY29tPgpDYzogQW50 b25pbyBBcmdlbnppYW5vIDxhbnRvbmlvLmFyZ2Vuemlhbm9AaW50ZWwuY29tPgpDYzogRGhpbmFr YXJhbiBQYW5kaXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+CkNjOiBWaWxsZSBT eXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpDYzogQW51c2hhIFNyaXZh dHNhIDxhbnVzaGEuc3JpdmF0c2FAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBNYW5hc2kgTmF2 YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgotLS0KIHRlc3RzL01ha2VmaWxlLnNvdXJj ZXMgfCAgIDEgKwogdGVzdHMva21zX2RwX2RzYy5jICAgICB8IDI1MyArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwogdGVzdHMvbWVzb24uYnVpbGQgICAgICB8ICAgMSAr CiAzIGZpbGVzIGNoYW5nZWQsIDI1NSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQg dGVzdHMva21zX2RwX2RzYy5jCgpkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUuc291cmNlcyBi L3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMKaW5kZXggZDAwN2ViYzcuLjJhNWIxYzdmIDEwMDY0NAot LS0gYS90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCisrKyBiL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMK QEAgLTg4LDYgKzg4LDcgQEAgVEVTVFNfcHJvZ3MgPSBcCiAJa21zX3VuaXZlcnNhbF9wbGFuZSBc CiAJa21zX3ZibGFuayBcCiAJa21zX3NlcXVlbmNlIFwKKwlrbXNfZHBfZHNjIFwKIAltZXRhX3Rl c3QgXAogCXBlcmYgXAogCXBlcmZfcG11IFwKZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19kcF9kc2Mu YyBiL3Rlc3RzL2ttc19kcF9kc2MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MC4uNTM4MWQ1NzUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9rbXNfZHBfZHNjLmMKQEAgLTAs MCArMSwyNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgwqkgMjAxOCBJbnRlbCBDb3Jwb3JhdGlvbgor ICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh bnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29j aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBp biB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGlt aXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxp c2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhl IFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJl IGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlv bnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lv biBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAorICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNs dWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQorICogU29m dHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg V0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBC VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICog RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElO IE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM SUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICogTElBQklMSVRZLCBXSEVU SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcK KyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRI RSBVU0UgT1IgT1RIRVIgREVBTElOR1MKKyAqIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBEaXNw bGF5cG9ydCBEaXNwbGF5IFN0cmVhbSBDb21wcmVzc2lvbiB0ZXN0CisgKiBVbnRpbCB0aGUgQ1JD IHN1cHBvcnQgaXMgYWRkZWQgdGhpcyBuZWVkcyB0byBiZSBpbnZva2VkIHdpdGggLS1pbnRlcmFj dGl2ZQorICogdG8gbWFudWFsbHkgdmVyaWZ5IGlmIHRoZSB0ZXN0IHBhdHRlcm4gaXMgc2VlbiB3 aXRob3V0IGNvcnJ1cHRpb24gZm9yIGVhY2gKKyAqIHN1YnRlc3QuCisgKgorICogQXV0aG9yczoK KyAqIE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+CisgKgorICovCisj aW5jbHVkZSAiaWd0LmgiCisjaW5jbHVkZSAiaWd0X3N5c2ZzLmgiCisjaW5jbHVkZSA8ZXJybm8u aD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxtYXRoLmg+CisjaW5jbHVkZSA8c3Rk aW50Lmg+CisjaW5jbHVkZSA8c3RkYm9vbC5oPgorI2luY2x1ZGUgPHN0cmluZ3MuaD4KKyNpbmNs dWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4K KyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDx0ZXJtaW9z Lmg+CisKK2VudW0gZHNjX3Rlc3RfdHlwZQoreworCXRlc3RfYmFzaWNfZHNjX2VuYWJsZQorfTsK KwordHlwZWRlZiBzdHJ1Y3QgeworCWludCBkcm1fZmQ7CisJaW50IGRlYnVnZnNfZmQ7CisJdWlu dDMyX3QgaWQ7CisJaWd0X2Rpc3BsYXlfdCBkaXNwbGF5OworCXN0cnVjdCBpZ3RfZmIgZmJfdGVz dF9wYXR0ZXJuOworCWlndF9vdXRwdXRfdCAqb3V0cHV0OworCWludCBtb2RlX3ZhbGlkOworCWRy bU1vZGVNb2RlSW5mbyAqbW9kZTsKKwlkcm1Nb2RlQ29ubmVjdG9yICpjb25uZWN0b3I7CisJZHJt TW9kZUVuY29kZXIgKmVuY29kZXI7CisJaW50IGNydGM7CisJZW51bSBwaXBlIHBpcGU7CisJaW50 IHRlc3RfY29ubl9jbnQ7Cit9IGRhdGFfdDsKKworc3RhdGljIGlubGluZSB2b2lkIG1hbnVhbChj b25zdCBjaGFyICpleHBlY3RlZCkKK3sKKwlpZ3RfZGVidWdfbWFudWFsX2NoZWNrKCJhbGwiLCBl eHBlY3RlZCk7Cit9CisKK3N0YXRpYyBib29sIGlzX2RwX2RzY19zdXBwb3J0ZWQoZGF0YV90ICpk YXRhLCBjaGFyICp0ZXN0X2Nvbm5lY3Rvcl9uYW1lKQoreworCWNoYXIgZmlsZV9uYW1lWzEyOF0g PSB7MH07CisJY2hhciBidWZbNTEyXTsKKworCXN0cmNweShmaWxlX25hbWUsIHRlc3RfY29ubmVj dG9yX25hbWUpOworCXN0cmNhdChmaWxlX25hbWUsICIvaTkxNV9kc2Nfc3VwcG9ydCIpOworCWln dF9kZWJ1Z2ZzX3JlYWQoZGF0YS0+ZHJtX2ZkLCBmaWxlX25hbWUsIGJ1Zik7CisKKwlyZXR1cm4g c3Ryc3RyKGJ1ZiwgIlN1cHBvcnRlZDogeWVzIik7CisKK30KKworc3RhdGljIGJvb2wgaXNfZHBf ZHNjX2VuYWJsZWQoZGF0YV90ICpkYXRhLCBjaGFyICp0ZXN0X2Nvbm5lY3Rvcl9uYW1lKQorewor CWNoYXIgZmlsZV9uYW1lWzEyOF0gPSB7MH07CisJY2hhciBidWZbNTEyXTsKKworCXN0cmNweShm aWxlX25hbWUsIHRlc3RfY29ubmVjdG9yX25hbWUpOworCXN0cmNhdChmaWxlX25hbWUsICIvaTkx NV9kc2Nfc3VwcG9ydCIpOworCWlndF9kZWJ1Z2ZzX3JlYWQoZGF0YS0+ZHJtX2ZkLCBmaWxlX25h bWUsIGJ1Zik7CisKKwlyZXR1cm4gc3Ryc3RyKGJ1ZiwgIkVuYWJsZWQ6IHllcyIpOworCit9CisK K3N0YXRpYyB2b2lkIGZvcmNlX2RwX2RzY19lbmFibGUoZGF0YV90ICpkYXRhLCBjaGFyICp0ZXN0 X2Nvbm5lY3Rvcl9uYW1lKQoreworCWNoYXIgZmlsZV9uYW1lWzEyOF0gPSB7MH07CisJaW50IHJl dDsKKworCXN0cmNweShmaWxlX25hbWUsIHRlc3RfY29ubmVjdG9yX25hbWUpOworCXN0cmNhdChm aWxlX25hbWUsICIvaTkxNV9kc2Nfc3VwcG9ydCIpOworCWlndF9kZWJ1ZyAoIkZvcmNpbmcgRFND IGVuYWJsZSBvbiAlc1xuIiwgdGVzdF9jb25uZWN0b3JfbmFtZSk7CisJcmV0ID0gaWd0X3N5c2Zz X3dyaXRlKGRhdGEtPmRlYnVnZnNfZmQsIGZpbGVfbmFtZSwgIjEiLCAxKTsKKwlpZ3RfYXNzZXJ0 X2YocmV0ID4gMCwgImRlYnVnZnNfd3JpdGUgZmFpbGVkIik7Cit9CisKK3N0YXRpYyB2b2lkIGNs ZWFyX2RwX2RzY19lbmFibGUoZGF0YV90ICpkYXRhLCBjaGFyICp0ZXN0X2Nvbm5lY3Rvcl9uYW1l KQoreworCWNoYXIgZmlsZV9uYW1lWzEyOF0gPSB7MH07CisJaW50IHJldDsKKworCXN0cmNweShm aWxlX25hbWUsIHRlc3RfY29ubmVjdG9yX25hbWUpOworCXN0cmNhdChmaWxlX25hbWUsICIvaTkx NV9kc2Nfc3VwcG9ydCIpOworCWlndF9kZWJ1ZyAoIkNsZWFyaW5nIERTQyBlbmFibGUgb24gJXNc biIsIHRlc3RfY29ubmVjdG9yX25hbWUpOworCXJldCA9IGlndF9zeXNmc193cml0ZShkYXRhLT5k ZWJ1Z2ZzX2ZkLCBmaWxlX25hbWUsICIwIiwgMSk7CisJaWd0X2Fzc2VydF9mKHJldCA+IDAsICJk ZWJ1Z2ZzX3dyaXRlIGZhaWxlZCIpOworfQorCitzdGF0aWMgdm9pZCB0ZXN0X2NsZWFudXAoZGF0 YV90ICpkYXRhKSB7CisJaWd0X3BsYW5lX3QgKnByaW1hcnk7CisKKwlwcmltYXJ5ID0gaWd0X291 dHB1dF9nZXRfcGxhbmVfdHlwZShkYXRhLT5vdXRwdXQsCisJCQkJCSAgICBEUk1fUExBTkVfVFlQ RV9QUklNQVJZKTsKKwlpZ3RfcGxhbmVfc2V0X2ZiKHByaW1hcnksIE5VTEwpOworCWlndF9kaXNw bGF5X2NvbW1pdCgmZGF0YS0+ZGlzcGxheSk7CisKKwlpZ3RfcmVtb3ZlX2ZiKGRhdGEtPmRybV9m ZCwgJmRhdGEtPmZiX3Rlc3RfcGF0dGVybik7Cit9CisKKworLyoKKyAqIFJlLXByb2JlIGNvbm5l Y3RvcnMgYW5kIGRvIGEgbW9kZXNldCB3aXRoIERTQworICoKKyAqLworc3RhdGljIHZvaWQgdXBk YXRlX2Rpc3BsYXkoZGF0YV90ICpkYXRhLCBlbnVtIGRzY190ZXN0X3R5cGUgdGVzdF90eXBlKQor eworCWlndF9wbGFuZV90ICpwcmltYXJ5OworCWNoYXIgY29ubl9idWZbMTI4XTsKKwlkYXRhLT5t b2RlID0gaWd0X291dHB1dF9nZXRfbW9kZShkYXRhLT5vdXRwdXQpOworCWRhdGEtPmNvbm5lY3Rv ciA9IGRhdGEtPm91dHB1dC0+Y29uZmlnLmNvbm5lY3RvcjsKKworCXNwcmludGYoY29ubl9idWYs ICIlcy0lZCIsCisJCWttc3Rlc3RfY29ubmVjdG9yX3R5cGVfc3RyKGRhdGEtPmNvbm5lY3Rvci0+ Y29ubmVjdG9yX3R5cGUpLAorCQlkYXRhLT50ZXN0X2Nvbm5fY250KTsKKwlpZiAoIWlzX2RwX2Rz Y19zdXBwb3J0ZWQoZGF0YSwgY29ubl9idWYpKSB7CisJCWlndF9kZWJ1ZygiRFNDIG5vdCBzdXBw b3J0ZWQgb24gY29ubmVjdG9yICVzIG9uICVzXG4iLAorCQkJICBjb25uX2J1ZiwKKwkJCSAga21z dGVzdF9waXBlX25hbWUoZGF0YS0+cGlwZSkpOworCQlyZXR1cm47CisJfQorCisJaWYgKHRlc3Rf dHlwZSA9PSB0ZXN0X2Jhc2ljX2RzY19lbmFibGUpIHsKKwkJaWd0X2RlYnVnICgiRFNDIGlzIHN1 cHBvcnRlZCBvbiAlc1xuIiwKKwkJCSAgIGNvbm5fYnVmKTsKKwkJZm9yY2VfZHBfZHNjX2VuYWJs ZShkYXRhLCBjb25uX2J1Zik7CisJCWlndF9jcmVhdGVfcGF0dGVybl9mYihkYXRhLT5kcm1fZmQs IGRhdGEtPm1vZGUtPmhkaXNwbGF5LAorCQkJCSAgICAgIGRhdGEtPm1vZGUtPnZkaXNwbGF5LAor CQkJCSAgICAgIERSTV9GT1JNQVRfWFJHQjg4ODgsCisJCQkJICAgICAgTE9DQUxfRFJNX0ZPUk1B VF9NT0RfTk9ORSwKKwkJCQkgICAgICAmZGF0YS0+ZmJfdGVzdF9wYXR0ZXJuKTsKKwkJcHJpbWFy eSA9IGlndF9vdXRwdXRfZ2V0X3BsYW5lX3R5cGUoZGF0YS0+b3V0cHV0LAorCQkJCQkJICAgIERS TV9QTEFORV9UWVBFX1BSSU1BUlkpOworCQlpZ3RfcGxhbmVfc2V0X2ZiKHByaW1hcnksICZkYXRh LT5mYl90ZXN0X3BhdHRlcm4pOworCQlpZ3RfZGlzcGxheV9jb21taXQoJmRhdGEtPmRpc3BsYXkp OworCQkvKiBVbnRpbCB3ZSBoYXZlIENSQyBjaGVjayBzdXBwb3J0LCBtYW51YWxseSBjaGVjayBp ZiBSR0IgdGVzdCBwYXR0ZXJuIGhhcyBubyBjb3JydXB0aW9uICovCisJCW1hbnVhbCAoIlJHQiB0 ZXN0IHBhdHRlcm4gd2l0aG91dCBjb3JydXB0aW9uIik7CisJCWlndF9hc3NlcnRfZihpc19kcF9k c2NfZW5hYmxlZChkYXRhLCBjb25uX2J1ZiksCisJCQkgICAgICJEZWZhdWx0IERTQyBlbmFibGUg ZmFpbGVkIG9uIENvbm5lY3RvcjogJXMgUGlwZTogJXMiLAorCQkJICAgICBjb25uX2J1ZiwKKwkJ CSAgICAga21zdGVzdF9waXBlX25hbWUoZGF0YS0+cGlwZSkpOworCQljbGVhcl9kcF9kc2NfZW5h YmxlKGRhdGEsIGNvbm5fYnVmKTsKKwl9CisKK30KKworc3RhdGljIHZvaWQgcnVuX3Rlc3QoZGF0 YV90ICpkYXRhLCBpZ3Rfb3V0cHV0X3QgKm91dHB1dCwKKwkJICAgICBlbnVtIGRzY190ZXN0X3R5 cGUgdGVzdF90eXBlKQoreworCWVudW0gcGlwZSBwaXBlOworCisJZm9yX2VhY2hfcGlwZV93aXRo X3ZhbGlkX291dHB1dCgmZGF0YS0+ZGlzcGxheSwgcGlwZSwgb3V0cHV0KSB7CisJCWlndF9vdXRw dXRfc2V0X3BpcGUob3V0cHV0LCBwaXBlKTsKKwkJZGF0YS0+cGlwZSA9IHBpcGU7CisJCWRhdGEt Pm91dHB1dCA9IG91dHB1dDsKKwkJdXBkYXRlX2Rpc3BsYXkoZGF0YSwgdGVzdF9iYXNpY19kc2Nf ZW5hYmxlKTsKKwl9Cit9CisKK2lndF9tYWluCit7CisJZGF0YV90IGRhdGEgPSB7fTsKKwlpZ3Rf b3V0cHV0X3QgKm91dHB1dDsKKwlkcm1Nb2RlUmVzICpyZXM7CisJZHJtTW9kZUNvbm5lY3RvciAq Y29ubmVjdG9yOworCWludCBpLCB0ZXN0X2Nvbm5fY250LCBkZXZpZDsKKworCWlndF9maXh0dXJl IHsKKwkJaWd0X3NraXBfb25fc2ltdWxhdGlvbigpOworCQlkYXRhLmRybV9mZCA9IGRybV9vcGVu X2RyaXZlcl9tYXN0ZXIoRFJJVkVSX0FOWSk7CisJCWRhdGEuZGVidWdmc19mZCA9IGlndF9kZWJ1 Z2ZzX2RpcihkYXRhLmRybV9mZCk7CisJCWRldmlkID0gaW50ZWxfZ2V0X2RybV9kZXZpZChkYXRh LmRybV9mZCk7CisJCWlndF9yZXF1aXJlKEFUX0xFQVNUX0dFTihkZXZpZCwgMTApKTsKKwkJa21z dGVzdF9zZXRfdnRfZ3JhcGhpY3NfbW9kZSgpOworCQlpZ3RfZGlzcGxheV9pbml0KCZkYXRhLmRp c3BsYXksIGRhdGEuZHJtX2ZkKTsKKwkJaWd0X2Rpc3BsYXlfcmVxdWlyZV9vdXRwdXQoJmRhdGEu ZGlzcGxheSk7CisJCWlndF9yZXF1aXJlKHJlcyA9IGRybU1vZGVHZXRSZXNvdXJjZXMoZGF0YS5k cm1fZmQpKTsKKwl9CisKKwlpZ3Rfc3VidGVzdCgiYmFzaWMtZHNjLWVuYWJsZS1lRFAiKSB7CisJ CXRlc3RfY29ubl9jbnQgPSAwOworCQlmb3IgKGkgPSAwOyBpIDwgcmVzLT5jb3VudF9jb25uZWN0 b3JzOyBpKyspIHsKKwkJCWNvbm5lY3RvciA9IGRybU1vZGVHZXRDb25uZWN0b3JDdXJyZW50KGRh dGEuZHJtX2ZkLAorCQkJCQkJCSAgICAgICByZXMtPmNvbm5lY3RvcnNbaV0pOworCQkJaWYgKGNv bm5lY3Rvci0+Y29ubmVjdGlvbiAhPSBEUk1fTU9ERV9DT05ORUNURUQgfHwKKwkJCSAgICBjb25u ZWN0b3ItPmNvbm5lY3Rvcl90eXBlICE9IERSTV9NT0RFX0NPTk5FQ1RPUl9lRFApCisJCQkJY29u dGludWU7CisJCQlkYXRhLnRlc3RfY29ubl9jbnQgPSArK3Rlc3RfY29ubl9jbnQ7CisJCQlvdXRw dXQgPSBpZ3Rfb3V0cHV0X2Zyb21fY29ubmVjdG9yKCZkYXRhLmRpc3BsYXksIGNvbm5lY3Rvcik7 CisJCQlydW5fdGVzdCgmZGF0YSwgb3V0cHV0LCB0ZXN0X2Jhc2ljX2RzY19lbmFibGUpOworCQl9 CisJCXRlc3RfY2xlYW51cCgmZGF0YSk7CisJCWlndF9za2lwX29uKHRlc3RfY29ubl9jbnQgPT0g MCk7CisJfQorCisJaWd0X3N1YnRlc3QoImJhc2ljLWRzYy1lbmFibGUtRFAiKSB7CisJCXRlc3Rf Y29ubl9jbnQgPSAwOworCQlmb3IgKGkgPSAwOyBpIDwgcmVzLT5jb3VudF9jb25uZWN0b3JzOyBp KyspIHsKKwkJCWNvbm5lY3RvciA9IGRybU1vZGVHZXRDb25uZWN0b3JDdXJyZW50KGRhdGEuZHJt X2ZkLAorCQkJCQkJCSAgICAgICByZXMtPmNvbm5lY3RvcnNbaV0pOworCQkJaWYgKGNvbm5lY3Rv ci0+Y29ubmVjdGlvbiAhPSBEUk1fTU9ERV9DT05ORUNURUQgfHwKKwkJCSAgICBjb25uZWN0b3It PmNvbm5lY3Rvcl90eXBlICE9IERSTV9NT0RFX0NPTk5FQ1RPUl9EaXNwbGF5UG9ydCkKKwkJCQlj b250aW51ZTsKKwkJCWRhdGEudGVzdF9jb25uX2NudCA9IHRlc3RfY29ubl9jbnQrKzsKKwkJCW91 dHB1dCA9IGlndF9vdXRwdXRfZnJvbV9jb25uZWN0b3IoJmRhdGEuZGlzcGxheSwgY29ubmVjdG9y KTsKKwkJCXJ1bl90ZXN0KCZkYXRhLCBvdXRwdXQsIHRlc3RfYmFzaWNfZHNjX2VuYWJsZSk7CisJ CX0KKwkJdGVzdF9jbGVhbnVwKCZkYXRhKTsKKwkJaWd0X3NraXBfb24odGVzdF9jb25uX2NudCA9 PSAwKTsKKwl9CisKKwlpZ3RfZml4dHVyZSB7CisJCWRybU1vZGVGcmVlQ29ubmVjdG9yKGNvbm5l Y3Rvcik7CisJCWRybU1vZGVGcmVlUmVzb3VyY2VzKHJlcyk7CisJCWNsb3NlKGRhdGEuZGVidWdm c19mZCk7CisJCWNsb3NlKGRhdGEuZHJtX2ZkKTsKKwkJaWd0X2Rpc3BsYXlfZmluaSgmZGF0YS5k aXNwbGF5KTsKKwl9CisJaWd0X2V4aXQoKTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL21lc29uLmJ1 aWxkIGIvdGVzdHMvbWVzb24uYnVpbGQKaW5kZXggMzAyMGY3OTguLmRkZTQyNzBjIDEwMDY0NAot LS0gYS90ZXN0cy9tZXNvbi5idWlsZAorKysgYi90ZXN0cy9tZXNvbi5idWlsZApAQCAtMzIsNiAr MzIsNyBAQCB0ZXN0X3Byb2dzID0gWwogCSdrbXNfY3Vyc29yX2NyYycsCiAJJ2ttc19jdXJzb3Jf bGVnYWN5JywKIAkna21zX2RyYXdfY3JjJywKKwkna21zX2RwX2RzYycsCiAJJ2ttc19mYmNvbl9m YnQnLAogCSdrbXNfZmVuY2VfcGluX2xlYWsnLAogCSdrbXNfZmxpcCcsCi0tIAoyLjE5LjEKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFp bGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=