From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 786606E235 for ; Tue, 4 Dec 2018 11:07:26 +0000 (UTC) Date: Tue, 4 Dec 2018 13:07:23 +0200 From: Petri Latvala Message-ID: <20181204110723.GK17124@platvala-desk.ger.corp.intel.com> References: <20181204031051.29182-1-manasi.d.navare@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20181204031051.29182-1-manasi.d.navare@intel.com> Subject: Re: [igt-dev] [PATCH i-g-t v3] 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: Manasi Navare Cc: igt-dev@lists.freedesktop.org, Anusha Srivatsa , Dhinakaran Pandiyan List-ID: T24gTW9uLCBEZWMgMDMsIDIwMTggYXQgMDc6MTA6NTFQTSAtMDgwMCwgTWFuYXNpIE5hdmFyZSB3 cm90ZToKPiBUaGlzIHBhdGNoIGFkZHMgYSBiYXNpYyBrbXMgdGVzdCB0byB2YWxpZGF0ZSB0aGUg ZGlzcGxheSBzdHJlYW0KPiBjb21wcmVzc2lvbiBmdW5jdGlvbmFsaXR5IGlmIHN1cHBvcnRlZCBv biBEUC9lRFAgY29ubmVjdG9yLgo+IEN1cnJlbnRseSB0aGlzIGhhcyBvbmx5IHR3byBzdWJ0ZXN0 cyB0byBmb3JjZSB0aGUgRFNDIG9uIGFsbAo+IHRoZSBlRFAgYW5kIERQIGNvbm5lY3RvcnMgdGhh dCBzdXBwb3J0IGl0IHdpdGggZGVmYXVsdCBwYXJhbWV0ZXJzLgo+IFRoaXMgd2lsbCBiZSBleHBh bmRlZCB0byBhZGQgbW9yZSBzdWJ0ZXN0cyB0byB0d2VhayBEU0MgcGFyYW1ldGVycy4KPiAKPiBU aGlzIHVzZXMgdGhlIGRlYnVnZnMgbm9kZXMgYWRkZWQgaW4gdGhlIHBhdGNoOgo+IGh0dHBzOi8v cGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9zZXJpZXMvNTM0NDkvCj4gCj4gdjM6Cj4gKiBVc2Ug YXJyYXkgb2YgY29ubmVjdG9ycyBhbmQgbG9vcCB0aHJvdWdoIChQZXRyaSkKPiAqIEFsc28gY2hl Y2sgZm9yIEZFQyBvbiBEUCBjb25uZWN0b3JzIChNYW5hc2kpCj4gKiBBZGQgYSBQaXBlX0EgcmVz dHJpY3Rpb24gb24gRFAgKFZpbGxlKQo+IHYyOgo+ICogVXNlIElHVCB3cmFwcGVycyBmb3IgYWxs IChESywgQW50b25pbykKPiAqIFNwbGl0IGludG8gdHdvIHN1YnRlc3RzIGZvciBlRFAgYW5kIERQ IHR5cGVzIChQZXRyaSkKPiAKPiBDYzogUGV0cmkgTGF0dmFsYSA8cGV0cmkubGF0dmFsYUBpbnRl bC5jb20+Cj4gQ2M6IEFudG9uaW8gQXJnZW56aWFubyA8YW50b25pby5hcmdlbnppYW5vQGludGVs LmNvbT4KPiBDYzogRGhpbmFrYXJhbiBQYW5kaXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRl bC5jb20+Cj4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5j b20+Cj4gQ2M6IEFudXNoYSBTcml2YXRzYSA8YW51c2hhLnNyaXZhdHNhQGludGVsLmNvbT4KPiBT aWduZWQtb2ZmLWJ5OiBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+ IC0tLQo+ICB0ZXN0cy9NYWtlZmlsZS5zb3VyY2VzIHwgICAxICsKPiAgdGVzdHMva21zX2RwX2Rz Yy5jICAgICB8IDI2MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ ICB0ZXN0cy9tZXNvbi5idWlsZCAgICAgIHwgICAxICsKPiAgMyBmaWxlcyBjaGFuZ2VkLCAyNjMg aW5zZXJ0aW9ucygrKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMva21zX2RwX2RzYy5jCj4g Cj4gZGlmZiAtLWdpdCBhL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMgYi90ZXN0cy9NYWtlZmlsZS5z b3VyY2VzCj4gaW5kZXggZDAwN2ViYzcuLjJhNWIxYzdmIDEwMDY0NAo+IC0tLSBhL3Rlc3RzL01h a2VmaWxlLnNvdXJjZXMKPiArKysgYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCj4gQEAgLTg4LDYg Kzg4LDcgQEAgVEVTVFNfcHJvZ3MgPSBcCj4gIAlrbXNfdW5pdmVyc2FsX3BsYW5lIFwKPiAgCWtt c192YmxhbmsgXAo+ICAJa21zX3NlcXVlbmNlIFwKPiArCWttc19kcF9kc2MgXAo+ICAJbWV0YV90 ZXN0IFwKPiAgCXBlcmYgXAo+ICAJcGVyZl9wbXUgXAoKQWxwaGFiZXRpY2FsbHkgb3JkZXJlZCBw bGVhc2UuCgoKPiBkaWZmIC0tZ2l0IGEvdGVzdHMva21zX2RwX2RzYy5jIGIvdGVzdHMva21zX2Rw X2RzYy5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMC4uZDI3MTBkZGUK PiAtLS0gL2Rldi9udWxsCj4gKysrIGIvdGVzdHMva21zX2RwX2RzYy5jCj4gQEAgLTAsMCArMSwy NjEgQEAKPiArLyoKPiArICogQ29weXJpZ2h0IMKpIDIwMTggSW50ZWwgQ29ycG9yYXRpb24KPiAr ICoKPiArICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRv IGFueSBwZXJzb24gb2J0YWluaW5nIGEKPiArICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBh c3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKPiArICogdG8g ZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhv dXQgbGltaXRhdGlvbgo+ICsgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJn ZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKPiArICogYW5kL29yIHNlbGwgY29w aWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCj4g KyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93 aW5nIGNvbmRpdGlvbnM6Cj4gKyAqCj4gKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFu ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKPiArICogcGFyYWdy YXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRp b25zIG9mIHRoZQo+ICsgKiBTb2Z0d2FyZS4KPiArICoKPiArICogVEhFIFNPRlRXQVJFIElTIFBS T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IK PiArICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElF UyBPRiBNRVJDSEFOVEFCSUxJVFksCj4gKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAo+ICsgKiBUSEUgQVVU SE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdF UyBPUiBPVEhFUgo+ICsgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRS QUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORwo+ICsgKiBGUk9NLCBPVVQgT0YgT1IgSU4g Q09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdT Cj4gKyAqIElOIFRIRSBTT0ZUV0FSRS4KPiArICoKPiArICogRGlzcGxheXBvcnQgRGlzcGxheSBT dHJlYW0gQ29tcHJlc3Npb24gdGVzdAo+ICsgKiBVbnRpbCB0aGUgQ1JDIHN1cHBvcnQgaXMgYWRk ZWQgdGhpcyBuZWVkcyB0byBiZSBpbnZva2VkIHdpdGggLS1pbnRlcmFjdGl2ZQo+ICsgKiB0byBt YW51YWxseSB2ZXJpZnkgaWYgdGhlIHRlc3QgcGF0dGVybiBpcyBzZWVuIHdpdGhvdXQgY29ycnVw dGlvbiBmb3IgZWFjaAo+ICsgKiBzdWJ0ZXN0Lgo+ICsgKgo+ICsgKiBBdXRob3JzOgo+ICsgKiBN YW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+ICsgKgo+ICsgKi8KPiAr I2luY2x1ZGUgImlndC5oIgo+ICsjaW5jbHVkZSAiaWd0X3N5c2ZzLmgiCj4gKyNpbmNsdWRlIDxl cnJuby5oPgo+ICsjaW5jbHVkZSA8Z2V0b3B0Lmg+Cj4gKyNpbmNsdWRlIDxtYXRoLmg+Cj4gKyNp bmNsdWRlIDxzdGRpbnQuaD4KPiArI2luY2x1ZGUgPHN0ZGJvb2wuaD4KPiArI2luY2x1ZGUgPHN0 cmluZ3MuaD4KPiArI2luY2x1ZGUgPHVuaXN0ZC5oPgo+ICsjaW5jbHVkZSA8c3RkbGliLmg+Cj4g KyNpbmNsdWRlIDxzaWduYWwuaD4KPiArI2luY2x1ZGUgPHRpbWUuaD4KPiArI2luY2x1ZGUgPGZj bnRsLmg+Cj4gKyNpbmNsdWRlIDx0ZXJtaW9zLmg+Cj4gKwo+ICtlbnVtIGRzY190ZXN0X3R5cGUK PiArewo+ICsJdGVzdF9iYXNpY19kc2NfZW5hYmxlCj4gK307Cj4gKwo+ICt0eXBlZGVmIHN0cnVj dCB7Cj4gKwlpbnQgZHJtX2ZkOwo+ICsJaW50IGRlYnVnZnNfZmQ7Cj4gKwl1aW50MzJfdCBpZDsK PiArCWlndF9kaXNwbGF5X3QgZGlzcGxheTsKPiArCXN0cnVjdCBpZ3RfZmIgZmJfdGVzdF9wYXR0 ZXJuOwo+ICsJaWd0X291dHB1dF90ICpvdXRwdXQ7Cj4gKwlpbnQgbW9kZV92YWxpZDsKPiArCWRy bU1vZGVNb2RlSW5mbyAqbW9kZTsKPiArCWRybU1vZGVDb25uZWN0b3IgKmNvbm5lY3RvcjsKPiAr CWRybU1vZGVFbmNvZGVyICplbmNvZGVyOwo+ICsJaW50IGNydGM7Cj4gKwllbnVtIHBpcGUgcGlw ZTsKPiArCWNoYXIgY29ubl9uYW1lWzEyOF07Cj4gK30gZGF0YV90Owo+ICsKPiArc3RhdGljIGlu bGluZSB2b2lkIG1hbnVhbChjb25zdCBjaGFyICpleHBlY3RlZCkKPiArewo+ICsJaWd0X2RlYnVn X21hbnVhbF9jaGVjaygiYWxsIiwgZXhwZWN0ZWQpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgYm9vbCBp c19kcF9kc2Nfc3VwcG9ydGVkKGRhdGFfdCAqZGF0YSkKPiArewo+ICsJY2hhciBmaWxlX25hbWVb MTI4XSA9IHswfTsKPiArCWNoYXIgYnVmWzUxMl07Cj4gKwo+ICsJc3RyY3B5KGZpbGVfbmFtZSwg ZGF0YS0+Y29ubl9uYW1lKTsKPiArCXN0cmNhdChmaWxlX25hbWUsICIvaTkxNV9kc2NfZmVjX3N1 cHBvcnQiKTsKPiArCWlndF9yZXF1aXJlKGlndF9kZWJ1Z2ZzX3NpbXBsZV9yZWFkKGRhdGEtPmRl YnVnZnNfZmQsIGZpbGVfbmFtZSwgYnVmLAo+ICsJCQkJCSAgICBzaXplb2YoYnVmKSkgPiAwKTsK PiArCWlndF9kZWJ1Z2ZzX3JlYWQoZGF0YS0+ZHJtX2ZkLCBmaWxlX25hbWUsIGJ1Zik7Cj4gKwo+ ICsJcmV0dXJuIHN0cnN0cihidWYsICJEU0NfU2lua19TdXBwb3J0OiB5ZXMiKTsKPiArCj4gK30K PiArCj4gK3N0YXRpYyBib29sIGlzX2RwX2ZlY19zdXBwb3J0ZWQoZGF0YV90ICpkYXRhKQo+ICt7 Cj4gKwljaGFyIGZpbGVfbmFtZVsxMjhdID0gezB9Owo+ICsJY2hhciBidWZbNTEyXTsKPiArCj4g KwlzdHJjcHkoZmlsZV9uYW1lLCBkYXRhLT5jb25uX25hbWUpOwo+ICsJc3RyY2F0KGZpbGVfbmFt ZSwgIi9pOTE1X2RzY19mZWNfc3VwcG9ydCIpOwo+ICsJaWd0X2RlYnVnZnNfcmVhZChkYXRhLT5k cm1fZmQsIGZpbGVfbmFtZSwgYnVmKTsKPiArCj4gKwlyZXR1cm4gc3Ryc3RyKGJ1ZiwgIkZFQ19T aW5rX1N1cHBvcnQ6IHllcyIpOwo+ICsKPiArfQo+ICsKPiArc3RhdGljIGJvb2wgaXNfZHBfZHNj X2VuYWJsZWQoZGF0YV90ICpkYXRhKQo+ICt7Cj4gKwljaGFyIGZpbGVfbmFtZVsxMjhdID0gezB9 Owo+ICsJY2hhciBidWZbNTEyXTsKPiArCj4gKwlzdHJjcHkoZmlsZV9uYW1lLCBkYXRhLT5jb25u X25hbWUpOwo+ICsJc3RyY2F0KGZpbGVfbmFtZSwgIi9pOTE1X2RzY19mZWNfc3VwcG9ydCIpOwo+ ICsJaWd0X2RlYnVnZnNfcmVhZChkYXRhLT5kcm1fZmQsIGZpbGVfbmFtZSwgYnVmKTsKPiArCj4g KwlyZXR1cm4gc3Ryc3RyKGJ1ZiwgIkRTQ19FbmFibGVkOiB5ZXMiKTsKPiArCj4gK30KClJlbW92 ZSBleHRyYSBlbXB0eSBsaW5lcyBhZnRlciByZXR1cm4gc3RhdGVtZW50cyBpbiB0aGUgYWJvdmUg dGhyZWUKZnVuY3Rpb25zLgoKCj4gKwo+ICtzdGF0aWMgdm9pZCBmb3JjZV9kcF9kc2NfZW5hYmxl KGRhdGFfdCAqZGF0YSkKPiArewo+ICsJY2hhciBmaWxlX25hbWVbMTI4XSA9IHswfTsKPiArCWlu dCByZXQ7Cj4gKwo+ICsJc3RyY3B5KGZpbGVfbmFtZSwgZGF0YS0+Y29ubl9uYW1lKTsKPiArCXN0 cmNhdChmaWxlX25hbWUsICIvaTkxNV9kc2NfZmVjX3N1cHBvcnQiKTsKPiArCWlndF9kZWJ1ZyAo IkZvcmNpbmcgRFNDIGVuYWJsZSBvbiAlc1xuIiwgZGF0YS0+Y29ubl9uYW1lKTsKPiArCXJldCA9 IGlndF9zeXNmc193cml0ZShkYXRhLT5kZWJ1Z2ZzX2ZkLCBmaWxlX25hbWUsICIxIiwgMSk7Cj4g KwlpZ3RfYXNzZXJ0X2YocmV0ID4gMCwgImRlYnVnZnNfd3JpdGUgZmFpbGVkIik7Cj4gK30KPiAr Cj4gK3N0YXRpYyB2b2lkIGNsZWFyX2RwX2RzY19lbmFibGUoZGF0YV90ICpkYXRhKQo+ICt7Cj4g KwljaGFyIGZpbGVfbmFtZVsxMjhdID0gezB9Owo+ICsJaW50IHJldDsKPiArCj4gKwlzdHJjcHko ZmlsZV9uYW1lLCBkYXRhLT5jb25uX25hbWUpOwo+ICsJc3RyY2F0KGZpbGVfbmFtZSwgIi9pOTE1 X2RzY19mZWNfc3VwcG9ydCIpOwo+ICsJaWd0X2RlYnVnICgiQ2xlYXJpbmcgRFNDIGVuYWJsZSBv biAlc1xuIiwgZGF0YS0+Y29ubl9uYW1lKTsKPiArCXJldCA9IGlndF9zeXNmc193cml0ZShkYXRh LT5kZWJ1Z2ZzX2ZkLCBmaWxlX25hbWUsICIwIiwgMSk7Cj4gKwlpZ3RfYXNzZXJ0X2YocmV0ID4g MCwgImRlYnVnZnNfd3JpdGUgZmFpbGVkIik7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHRlc3Rf Y2xlYW51cChkYXRhX3QgKmRhdGEpIHsKPiArCWlndF9wbGFuZV90ICpwcmltYXJ5Owo+ICsKPiAr CXByaW1hcnkgPSBpZ3Rfb3V0cHV0X2dldF9wbGFuZV90eXBlKGRhdGEtPm91dHB1dCwKPiArCQkJ CQkgICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSk7Cj4gKwlpZ3RfcGxhbmVfc2V0X2ZiKHByaW1h cnksIE5VTEwpOwo+ICsJaWd0X2Rpc3BsYXlfY29tbWl0KCZkYXRhLT5kaXNwbGF5KTsKPiArCj4g KwlpZ3RfcmVtb3ZlX2ZiKGRhdGEtPmRybV9mZCwgJmRhdGEtPmZiX3Rlc3RfcGF0dGVybik7Cj4g K30KPiArCj4gKwo+ICsvKgo+ICsgKiBSZS1wcm9iZSBjb25uZWN0b3JzIGFuZCBkbyBhIG1vZGVz ZXQgd2l0aCBEU0MKPiArICoKPiArICovCj4gK3N0YXRpYyB2b2lkIHVwZGF0ZV9kaXNwbGF5KGRh dGFfdCAqZGF0YSwgZW51bSBkc2NfdGVzdF90eXBlIHRlc3RfdHlwZSkKPiArewo+ICsJaWd0X3Bs YW5lX3QgKnByaW1hcnk7Cj4gKwlkYXRhLT5tb2RlID0gaWd0X291dHB1dF9nZXRfbW9kZShkYXRh LT5vdXRwdXQpOwo+ICsJZGF0YS0+Y29ubmVjdG9yID0gZGF0YS0+b3V0cHV0LT5jb25maWcuY29u bmVjdG9yOwo+ICsKPiArCWlmIChkYXRhLT5jb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlID09IERS TV9NT0RFX0NPTk5FQ1RPUl9EaXNwbGF5UG9ydCAmJgo+ICsJICAgIGRhdGEtPnBpcGUgPT0gUElQ RV9BKSB7Cj4gKwkJaWd0X2RlYnVnICgiRFNDIG5vdCBzdXBwb3J0ZWQgb24gUGlwZSBBIG9uIGV4 dGVybmFsIERQXG4iKTsKPiArCQlyZXR1cm47Cj4gKwl9Cj4gKwo+ICsJaWYgKHRlc3RfdHlwZSA9 PSB0ZXN0X2Jhc2ljX2RzY19lbmFibGUpIHsKPiArCQlpZ3RfZGVidWcgKCJEU0MgaXMgc3VwcG9y dGVkIG9uICVzXG4iLAo+ICsJCQkgICBkYXRhLT5jb25uX25hbWUpOwo+ICsJCWZvcmNlX2RwX2Rz Y19lbmFibGUoZGF0YSk7Cj4gKwkJaWd0X2NyZWF0ZV9wYXR0ZXJuX2ZiKGRhdGEtPmRybV9mZCwg ZGF0YS0+bW9kZS0+aGRpc3BsYXksCj4gKwkJCQkgICAgICBkYXRhLT5tb2RlLT52ZGlzcGxheSwK PiArCQkJCSAgICAgIERSTV9GT1JNQVRfWFJHQjg4ODgsCj4gKwkJCQkgICAgICBMT0NBTF9EUk1f Rk9STUFUX01PRF9OT05FLAo+ICsJCQkJICAgICAgJmRhdGEtPmZiX3Rlc3RfcGF0dGVybik7Cj4g KwkJcHJpbWFyeSA9IGlndF9vdXRwdXRfZ2V0X3BsYW5lX3R5cGUoZGF0YS0+b3V0cHV0LAo+ICsJ CQkJCQkgICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSk7Cj4gKwkJaWd0X3BsYW5lX3NldF9mYihw cmltYXJ5LCAmZGF0YS0+ZmJfdGVzdF9wYXR0ZXJuKTsKPiArCQlpZ3RfZGlzcGxheV9jb21taXQo JmRhdGEtPmRpc3BsYXkpOwo+ICsJCS8qIFVudGlsIHdlIGhhdmUgQ1JDIGNoZWNrIHN1cHBvcnQs IG1hbnVhbGx5IGNoZWNrIGlmIFJHQiB0ZXN0IHBhdHRlcm4gaGFzIG5vIGNvcnJ1cHRpb24gKi8K PiArCQltYW51YWwgKCJSR0IgdGVzdCBwYXR0ZXJuIHdpdGhvdXQgY29ycnVwdGlvbiIpOwo+ICsJ CWlndF9hc3NlcnRfZihpc19kcF9kc2NfZW5hYmxlZChkYXRhKSwKPiArCQkJICAgICAiRGVmYXVs dCBEU0MgZW5hYmxlIGZhaWxlZCBvbiBDb25uZWN0b3I6ICVzIFBpcGU6ICVzIiwKPiArCQkJICAg ICBkYXRhLT5jb25uX25hbWUsCj4gKwkJCSAgICAga21zdGVzdF9waXBlX25hbWUoZGF0YS0+cGlw ZSkpOwo+ICsJCWNsZWFyX2RwX2RzY19lbmFibGUoZGF0YSk7Cj4gKwl9CgpDYW4gd2UgZnV0dXJl LXByb29mIHRoaXMgd2l0aCBhbgoKfSBlbHNlIHsKIGlndF9hc3NlcnQoISJVbmtub3duIHRlc3Qg dHlwZSIpOwp9CgoKPiArCj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHJ1bl90ZXN0KGRhdGFfdCAq ZGF0YSwgaWd0X291dHB1dF90ICpvdXRwdXQsCj4gKwkJICAgICBlbnVtIGRzY190ZXN0X3R5cGUg dGVzdF90eXBlKQo+ICt7Cj4gKwllbnVtIHBpcGUgcGlwZTsKPiArCj4gKwlmb3JfZWFjaF9waXBl X3dpdGhfdmFsaWRfb3V0cHV0KCZkYXRhLT5kaXNwbGF5LCBwaXBlLCBvdXRwdXQpIHsKPiArCQlp Z3Rfb3V0cHV0X3NldF9waXBlKG91dHB1dCwgcGlwZSk7Cj4gKwkJZGF0YS0+cGlwZSA9IHBpcGU7 Cj4gKwkJZGF0YS0+b3V0cHV0ID0gb3V0cHV0Owo+ICsJCXVwZGF0ZV9kaXNwbGF5KGRhdGEsIHRl c3RfYmFzaWNfZHNjX2VuYWJsZSk7CgpTaG91bGQgdGhpcyBiZSBwYXNzaW5nIHRoZSB0ZXN0X3R5 cGUgcGFyYW1ldGVyIGluc3RlYWQgb2YgaGFyZGNvZGluZwp0ZXN0X2Jhc2ljX2RzY19lbmFibGU/ CgoKPiArCX0KPiArfQo+ICsKPiAraWd0X21haW4KPiArewo+ICsJZGF0YV90IGRhdGEgPSB7fTsK PiArCWlndF9vdXRwdXRfdCAqb3V0cHV0Owo+ICsJZHJtTW9kZVJlcyAqcmVzOwo+ICsJZHJtTW9k ZUNvbm5lY3RvciAqY29ubmVjdG9yOwo+ICsJaW50IGksIHRlc3RfY29ubl9jbnQsIHRlc3RfY250 Owo+ICsJaW50IHRlc3RzW10gPSB7RFJNX01PREVfQ09OTkVDVE9SX2VEUCwgRFJNX01PREVfQ09O TkVDVE9SX0Rpc3BsYXlQb3J0fTsKPiArCj4gKwlpZ3RfZml4dHVyZSB7Cj4gKwkJaWd0X3NraXBf b25fc2ltdWxhdGlvbigpOwoKUmVtb3ZlIGlndF9za2lwX29uX3NpbXVsYXRpb24gaWYgdGhlcmUn cyBub3QgYSBnb29kIHJlYXNvbiBmb3IKaXQuIFdoZW4gaW4gZG91YnQsIHRoZXJlIGlzbid0LgoK Cj4gKwkJZGF0YS5kcm1fZmQgPSBkcm1fb3Blbl9kcml2ZXJfbWFzdGVyKERSSVZFUl9BTlkpOwo+ ICsJCWRhdGEuZGVidWdmc19mZCA9IGlndF9kZWJ1Z2ZzX2RpcihkYXRhLmRybV9mZCk7Cj4gKwkJ a21zdGVzdF9zZXRfdnRfZ3JhcGhpY3NfbW9kZSgpOwo+ICsJCWlndF9kaXNwbGF5X2luaXQoJmRh dGEuZGlzcGxheSwgZGF0YS5kcm1fZmQpOwoKY29tbWl0IDUxMDVmMDY4ZjY1MjVmNGQ4NjM3MTlh Y2Y3NTQ4OTE0NDJlZWQyNTQKQXV0aG9yOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZm d2xsLmNoPgpEYXRlOiAgIFRodSBOb3YgMjIgMTA6MzY6NTggMjAxOCArMDEwMAoKICAgIGxpYi9r bXM6IERyb3AgaWd0X2Rpc3BsYXlfaW5pdAoKCllvdSBuZWVkIHRvIGNoYW5nZSB0aGlzIGNhbGwg dG8gaWd0X2Rpc3BsYXlfcmVxdWlyZS4KCgoKPiArCQlpZ3RfZGlzcGxheV9yZXF1aXJlX291dHB1 dCgmZGF0YS5kaXNwbGF5KTsKPiArCQlpZ3RfcmVxdWlyZShyZXMgPSBkcm1Nb2RlR2V0UmVzb3Vy Y2VzKGRhdGEuZHJtX2ZkKSk7Cj4gKwl9Cj4gKwo+ICsJZm9yICh0ZXN0X2NudCA9IDA7IHRlc3Rf Y250IDwgQVJSQVlfU0laRSh0ZXN0cyk7IHRlc3RfY250KyspIHsKPiArCj4gKwkJaWd0X3N1YnRl c3RfZigiYmFzaWMtZHNjLWVuYWJsZS0lcyIsCj4gKwkJCSAgICAgIGttc3Rlc3RfY29ubmVjdG9y X3R5cGVfc3RyKHRlc3RzW3Rlc3RfY250XSkpIHsKPiArCQkJdGVzdF9jb25uX2NudCA9IDA7Cj4g KwkJCWZvciAoaSA9IDA7IGkgPCByZXMtPmNvdW50X2Nvbm5lY3RvcnM7IGkrKykgewo+ICsJCQkJ Y29ubmVjdG9yID0gZHJtTW9kZUdldENvbm5lY3RvckN1cnJlbnQoZGF0YS5kcm1fZmQsCj4gKwkJ CQkJCQkJICAgICAgIHJlcy0+Y29ubmVjdG9yc1tpXSk7Cj4gKwkJCQlpZiAoY29ubmVjdG9yLT5j b25uZWN0aW9uICE9IERSTV9NT0RFX0NPTk5FQ1RFRCB8fAo+ICsJCQkJICAgIGNvbm5lY3Rvci0+ Y29ubmVjdG9yX3R5cGUgIT0KPiArCQkJCSAgICB0ZXN0c1t0ZXN0X2NudF0pCj4gKwkJCQkJY29u dGludWU7Cj4gKwkJCQl0ZXN0X2Nvbm5fY250Kys7Cj4gKwkJCQlvdXRwdXQgPSBpZ3Rfb3V0cHV0 X2Zyb21fY29ubmVjdG9yKCZkYXRhLmRpc3BsYXksIGNvbm5lY3Rvcik7Cj4gKwkJCQlzcHJpbnRm KGRhdGEuY29ubl9uYW1lLCAiJXMtJWQiLAo+ICsJCQkJCWttc3Rlc3RfY29ubmVjdG9yX3R5cGVf c3RyKGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUpLAo+ICsJCQkJCXRlc3RfY29ubl9jbnQpOwo+ ICsJCQkJaWd0X3JlcXVpcmVfZihpc19kcF9kc2Nfc3VwcG9ydGVkKCZkYXRhKSwKPiArCQkJCQkg ICAgICAiRFNDIG5vdCBzdXBwb3J0ZWQgb24gY29ubmVjdG9yICVzIFxuIiwKPiArCQkJCQkgICAg ICBkYXRhLmNvbm5fbmFtZSk7Cj4gKwkJCQlpZiAoY29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZSA9 PSBEUk1fTU9ERV9DT05ORUNUT1JfRGlzcGxheVBvcnQpCj4gKwkJCQkJaWd0X3JlcXVpcmVfZihp c19kcF9mZWNfc3VwcG9ydGVkKCZkYXRhKSwKPiArCQkJCQkJICAgICAgIkRTQyBjYW5ub3QgYmUg ZW5hYmxlZCB3aXRob3V0IEZFQyBvbiAlc1xuIiwKPiArCQkJCQkJICAgICAgZGF0YS5jb25uX25h bWUpOwo+ICsJCQkJcnVuX3Rlc3QoJmRhdGEsIG91dHB1dCwgdGVzdF9iYXNpY19kc2NfZW5hYmxl KTsKPiArCQkJfQo+ICsJCQl0ZXN0X2NsZWFudXAoJmRhdGEpOwo+ICsJCQlpZ3Rfc2tpcF9vbih0 ZXN0X2Nvbm5fY250ID09IDApOwo+ICsJCX0KPiArCX0KPiArCj4gKwlpZ3RfZml4dHVyZSB7Cj4g KwkJZHJtTW9kZUZyZWVDb25uZWN0b3IoY29ubmVjdG9yKTsKPiArCQlkcm1Nb2RlRnJlZVJlc291 cmNlcyhyZXMpOwo+ICsJCWNsb3NlKGRhdGEuZGVidWdmc19mZCk7Cj4gKwkJY2xvc2UoZGF0YS5k cm1fZmQpOwo+ICsJCWlndF9kaXNwbGF5X2ZpbmkoJmRhdGEuZGlzcGxheSk7Cj4gKwl9Cj4gKwlp Z3RfZXhpdCgpOwo+ICt9Cj4gZGlmZiAtLWdpdCBhL3Rlc3RzL21lc29uLmJ1aWxkIGIvdGVzdHMv bWVzb24uYnVpbGQKPiBpbmRleCAzMDIwZjc5OC4uZGRlNDI3MGMgMTAwNjQ0Cj4gLS0tIGEvdGVz dHMvbWVzb24uYnVpbGQKPiArKysgYi90ZXN0cy9tZXNvbi5idWlsZAo+IEBAIC0zMiw2ICszMiw3 IEBAIHRlc3RfcHJvZ3MgPSBbCj4gIAkna21zX2N1cnNvcl9jcmMnLAo+ICAJJ2ttc19jdXJzb3Jf bGVnYWN5JywKPiAgCSdrbXNfZHJhd19jcmMnLAo+ICsJJ2ttc19kcF9kc2MnLAo+ICAJJ2ttc19m YmNvbl9mYnQnLAoKQWxwaGFiZXRpY2FsIG9yZGVyaW5nIG9mZi1ieS1vbmUuCgoKCgotLSAKUGV0 cmkgTGF0dmFsYQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK