From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v2 1/5] drm/i915: Move all the DP compliance data to a separate struct Date: Tue, 13 Dec 2016 16:53:29 +0200 Message-ID: <87oa0fswwm.fsf@intel.com> References: <1481250200-30621-2-git-send-email-manasi.d.navare@intel.com> <1481329371-16306-1-git-send-email-manasi.d.navare@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 474056E149 for ; Tue, 13 Dec 2016 14:53:34 +0000 (UTC) In-Reply-To: <1481329371-16306-1-git-send-email-manasi.d.navare@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Manasi Navare , intel-gfx@lists.freedesktop.org Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org T24gU2F0LCAxMCBEZWMgMjAxNiwgTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVs LmNvbT4gd3JvdGU6Cj4gVGhpcyBwYXRjaCBkb2VzIG5vdCBjaGFuZ2UgYW55dGhpbmcgZnVuY3Rp b25hbGx5LCBqdXN0IGNsZWFucyB1cAo+IHRoZSBEUCBjb21wbGlhbmNlIHJlbGF0ZWQgdmFyaWFi bGVzIGFuZCBzdG9yZXMgdGhlbSBhbGwgdG9nZXRoZXIKPiBpbiBhIHNlcGFyYXRlIHN0cnVjdCBp bnRlbF9kcF9jb21wbGlhbmNlLiBUaGVyZSBpcyBhbm90aGVyIHN0cnVjdAo+IGludGVsX2RwX2Nv bXBsaWFuY2VfZGF0YSB0byBzdG9yZSBhbGwgdGhlIHRlc3QgZGF0YS4gVGhpcyBtYWtlcyBpdCBl YXN5IHRvCj4gcmVzZXQgdGhlIGNvbXBsaWFuY2UgdmFyaWFibGVzIHRocm91Z2ggYSBtZW1zZXQg aW5zdGVhZCBvZgo+IGluZGl2aWR1YWwgcmVzZXR0aW5nLgo+Cj4gdjI6Cj4gKiBSZW1vdmVkIGZ1 bmN0aW9uYWwgY2hhbmdlcyBmb3IgRURJRCAoSmFuaSBOaWt1bGEpCj4KPiBSZXZpZXdlZC1ieTog SmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5 OiBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+IENjOiBKYW5pIE5p a3VsYSA8amFuaS5uaWt1bGFAbGludXguaW50ZWwuY29tPgo+IENjOiBEYW5pZWwgVmV0dGVyIDxk YW5pZWwudmV0dGVyQGZmd2wuY2g+CgpQdXNoZWQgdG8gZGlucSwgdGhhbmtzIGZvciB0aGUgcGF0 Y2guCgpCUiwKSmFuaS4KCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdm cy5jIHwgMTAgKysrKystLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAg ICB8IDI0ICsrKysrKysrKystLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaCAgICB8IDE0ICsrKysrKysrKysrLS0tCj4gIDMgZmlsZXMgY2hhbmdlZCwgMjYg aW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rl YnVnZnMuYwo+IGluZGV4IGE3NDYxMzAuLjJjOWIwNTYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2RlYnVnZnMuYwo+IEBAIC00NDYzLDkgKzQ0NjMsOSBAQCBzdGF0aWMgc3NpemVfdCBpOTE1 X2Rpc3BsYXlwb3J0X3Rlc3RfYWN0aXZlX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLAo+ICAJCQkg KiB0ZXN0aW5nIGNvZGUsIG9ubHkgYWNjZXB0IGFuIGFjdHVhbCB2YWx1ZSBvZiAxIGhlcmUKPiAg CQkJICovCj4gIAkJCWlmICh2YWwgPT0gMSkKPiAtCQkJCWludGVsX2RwLT5jb21wbGlhbmNlX3Rl c3RfYWN0aXZlID0gMTsKPiArCQkJCWludGVsX2RwLT5jb21wbGlhbmNlLnRlc3RfYWN0aXZlID0g MTsKPiAgCQkJZWxzZQo+IC0JCQkJaW50ZWxfZHAtPmNvbXBsaWFuY2VfdGVzdF9hY3RpdmUgPSAw Owo+ICsJCQkJaW50ZWxfZHAtPmNvbXBsaWFuY2UudGVzdF9hY3RpdmUgPSAwOwo+ICAJCX0KPiAg CX0KPiAgb3V0Ogo+IEBAIC00NDkyLDcgKzQ0OTIsNyBAQCBzdGF0aWMgaW50IGk5MTVfZGlzcGxh eXBvcnRfdGVzdF9hY3RpdmVfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCj4g IAkJaWYgKGNvbm5lY3Rvci0+c3RhdHVzID09IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkICYm Cj4gIAkJICAgIGNvbm5lY3Rvci0+ZW5jb2RlciAhPSBOVUxMKSB7Cj4gIAkJCWludGVsX2RwID0g ZW5jX3RvX2ludGVsX2RwKGNvbm5lY3Rvci0+ZW5jb2Rlcik7Cj4gLQkJCWlmIChpbnRlbF9kcC0+ Y29tcGxpYW5jZV90ZXN0X2FjdGl2ZSkKPiArCQkJaWYgKGludGVsX2RwLT5jb21wbGlhbmNlLnRl c3RfYWN0aXZlKQo+ICAJCQkJc2VxX3B1dHMobSwgIjEiKTsKPiAgCQkJZWxzZQo+ICAJCQkJc2Vx X3B1dHMobSwgIjAiKTsKPiBAQCAtNDUzNiw3ICs0NTM2LDcgQEAgc3RhdGljIGludCBpOTE1X2Rp c3BsYXlwb3J0X3Rlc3RfZGF0YV9zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkK PiAgCQlpZiAoY29ubmVjdG9yLT5zdGF0dXMgPT0gY29ubmVjdG9yX3N0YXR1c19jb25uZWN0ZWQg JiYKPiAgCQkgICAgY29ubmVjdG9yLT5lbmNvZGVyICE9IE5VTEwpIHsKPiAgCQkJaW50ZWxfZHAg PSBlbmNfdG9faW50ZWxfZHAoY29ubmVjdG9yLT5lbmNvZGVyKTsKPiAtCQkJc2VxX3ByaW50Ziht LCAiJWx4IiwgaW50ZWxfZHAtPmNvbXBsaWFuY2VfdGVzdF9kYXRhKTsKPiArCQkJc2VxX3ByaW50 ZihtLCAiJWx4IiwgaW50ZWxfZHAtPmNvbXBsaWFuY2UudGVzdF9kYXRhLmVkaWQpOwo+ICAJCX0g ZWxzZQo+ICAJCQlzZXFfcHV0cyhtLCAiMCIpOwo+ICAJfQo+IEBAIC00NTc1LDcgKzQ1NzUsNyBA QCBzdGF0aWMgaW50IGk5MTVfZGlzcGxheXBvcnRfdGVzdF90eXBlX3Nob3coc3RydWN0IHNlcV9m aWxlICptLCB2b2lkICpkYXRhKQo+ICAJCWlmIChjb25uZWN0b3ItPnN0YXR1cyA9PSBjb25uZWN0 b3Jfc3RhdHVzX2Nvbm5lY3RlZCAmJgo+ICAJCSAgICBjb25uZWN0b3ItPmVuY29kZXIgIT0gTlVM TCkgewo+ICAJCQlpbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcChjb25uZWN0b3ItPmVuY29kZXIp Owo+IC0JCQlzZXFfcHJpbnRmKG0sICIlMDJseCIsIGludGVsX2RwLT5jb21wbGlhbmNlX3Rlc3Rf dHlwZSk7Cj4gKwkJCXNlcV9wcmludGYobSwgIiUwMmx4IiwgaW50ZWxfZHAtPmNvbXBsaWFuY2Uu dGVzdF90eXBlKTsKPiAgCQl9IGVsc2UKPiAgCQkJc2VxX3B1dHMobSwgIjAiKTsKPiAgCX0KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwLmMKPiBpbmRleCBkYjc1YmI5Li5jMWUxMDdjIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcC5jCj4gQEAgLTM4MzQsNyArMzgzNCw3IEBAIHN0YXRpYyB1aW50OF90 IGludGVsX2RwX2F1dG90ZXN0X2VkaWQoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCQkJ RFJNX0RFQlVHX0tNUygiRURJRCByZWFkIGhhZCAlZCBOQUNLcywgJWQgREVGRVJzXG4iLAo+ICAJ CQkJICAgICAgaW50ZWxfZHAtPmF1eC5pMmNfbmFja19jb3VudCwKPiAgCQkJCSAgICAgIGludGVs X2RwLT5hdXguaTJjX2RlZmVyX2NvdW50KTsKPiAtCQlpbnRlbF9kcC0+Y29tcGxpYW5jZV90ZXN0 X2RhdGEgPSBJTlRFTF9EUF9SRVNPTFVUSU9OX0ZBSUxTQUZFOwo+ICsJCWludGVsX2RwLT5jb21w bGlhbmNlLnRlc3RfZGF0YS5lZGlkID0gSU5URUxfRFBfUkVTT0xVVElPTl9GQUlMU0FGRTsKPiAg CX0gZWxzZSB7Cj4gIAkJc3RydWN0IGVkaWQgKmJsb2NrID0gaW50ZWxfY29ubmVjdG9yLT5kZXRl Y3RfZWRpZDsKPiAgCj4gQEAgLTM4NTAsMTEgKzM4NTAsMTEgQEAgc3RhdGljIHVpbnQ4X3QgaW50 ZWxfZHBfYXV0b3Rlc3RfZWRpZChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICAJCQlEUk1f REVCVUdfS01TKCJGYWlsZWQgdG8gd3JpdGUgRURJRCBjaGVja3N1bVxuIik7Cj4gIAo+ICAJCXRl c3RfcmVzdWx0ID0gRFBfVEVTVF9BQ0sgfCBEUF9URVNUX0VESURfQ0hFQ0tTVU1fV1JJVEU7Cj4g LQkJaW50ZWxfZHAtPmNvbXBsaWFuY2VfdGVzdF9kYXRhID0gSU5URUxfRFBfUkVTT0xVVElPTl9T VEFOREFSRDsKPiArCQlpbnRlbF9kcC0+Y29tcGxpYW5jZS50ZXN0X2RhdGEuZWRpZCA9IElOVEVM X0RQX1JFU09MVVRJT05fU1RBTkRBUkQ7Cj4gIAl9Cj4gIAo+ICAJLyogU2V0IHRlc3QgYWN0aXZl IGZsYWcgaGVyZSBzbyB1c2Vyc3BhY2UgZG9lc24ndCBpbnRlcnJ1cHQgdGhpbmdzICovCj4gLQlp bnRlbF9kcC0+Y29tcGxpYW5jZV90ZXN0X2FjdGl2ZSA9IDE7Cj4gKwlpbnRlbF9kcC0+Y29tcGxp YW5jZS50ZXN0X2FjdGl2ZSA9IDE7Cj4gIAo+ICAJcmV0dXJuIHRlc3RfcmVzdWx0Owo+ICB9Cj4g QEAgLTM4ODAsMjIgKzM4ODAsMjIgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHBfaGFuZGxlX3Rlc3Rf cmVxdWVzdChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICAJc3dpdGNoIChyeGRhdGEpIHsK PiAgCWNhc2UgRFBfVEVTVF9MSU5LX1RSQUlOSU5HOgo+ICAJCURSTV9ERUJVR19LTVMoIkxJTktf VFJBSU5JTkcgdGVzdCByZXF1ZXN0ZWRcbiIpOwo+IC0JCWludGVsX2RwLT5jb21wbGlhbmNlX3Rl c3RfdHlwZSA9IERQX1RFU1RfTElOS19UUkFJTklORzsKPiArCQlpbnRlbF9kcC0+Y29tcGxpYW5j ZS50ZXN0X3R5cGUgPSBEUF9URVNUX0xJTktfVFJBSU5JTkc7Cj4gIAkJcmVzcG9uc2UgPSBpbnRl bF9kcF9hdXRvdGVzdF9saW5rX3RyYWluaW5nKGludGVsX2RwKTsKPiAgCQlicmVhazsKPiAgCWNh c2UgRFBfVEVTVF9MSU5LX1ZJREVPX1BBVFRFUk46Cj4gIAkJRFJNX0RFQlVHX0tNUygiVEVTVF9Q QVRURVJOIHRlc3QgcmVxdWVzdGVkXG4iKTsKPiAtCQlpbnRlbF9kcC0+Y29tcGxpYW5jZV90ZXN0 X3R5cGUgPSBEUF9URVNUX0xJTktfVklERU9fUEFUVEVSTjsKPiArCQlpbnRlbF9kcC0+Y29tcGxp YW5jZS50ZXN0X3R5cGUgPSBEUF9URVNUX0xJTktfVklERU9fUEFUVEVSTjsKPiAgCQlyZXNwb25z ZSA9IGludGVsX2RwX2F1dG90ZXN0X3ZpZGVvX3BhdHRlcm4oaW50ZWxfZHApOwo+ICAJCWJyZWFr Owo+ICAJY2FzZSBEUF9URVNUX0xJTktfRURJRF9SRUFEOgo+ICAJCURSTV9ERUJVR19LTVMoIkVE SUQgdGVzdCByZXF1ZXN0ZWRcbiIpOwo+IC0JCWludGVsX2RwLT5jb21wbGlhbmNlX3Rlc3RfdHlw ZSA9IERQX1RFU1RfTElOS19FRElEX1JFQUQ7Cj4gKwkJaW50ZWxfZHAtPmNvbXBsaWFuY2UudGVz dF90eXBlID0gRFBfVEVTVF9MSU5LX0VESURfUkVBRDsKPiAgCQlyZXNwb25zZSA9IGludGVsX2Rw X2F1dG90ZXN0X2VkaWQoaW50ZWxfZHApOwo+ICAJCWJyZWFrOwo+ICAJY2FzZSBEUF9URVNUX0xJ TktfUEhZX1RFU1RfUEFUVEVSTjoKPiAgCQlEUk1fREVCVUdfS01TKCJQSFlfUEFUVEVSTiB0ZXN0 IHJlcXVlc3RlZFxuIik7Cj4gLQkJaW50ZWxfZHAtPmNvbXBsaWFuY2VfdGVzdF90eXBlID0gRFBf VEVTVF9MSU5LX1BIWV9URVNUX1BBVFRFUk47Cj4gKwkJaW50ZWxfZHAtPmNvbXBsaWFuY2UudGVz dF90eXBlID0gRFBfVEVTVF9MSU5LX1BIWV9URVNUX1BBVFRFUk47Cj4gIAkJcmVzcG9uc2UgPSBp bnRlbF9kcF9hdXRvdGVzdF9waHlfcGF0dGVybihpbnRlbF9kcCk7Cj4gIAkJYnJlYWs7Cj4gIAlk ZWZhdWx0Ogo+IEBAIC00MDE5LDcgKzQwMTksNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kcF9oYW5k bGVfdGVzdF9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gIAkJcmV0dXJuOwo+ ICAKPiAgCS8qIGlmIGxpbmsgdHJhaW5pbmcgaXMgcmVxdWVzdGVkIHdlIHNob3VsZCBwZXJmb3Jt IGl0IGFsd2F5cyAqLwo+IC0JaWYgKChpbnRlbF9kcC0+Y29tcGxpYW5jZV90ZXN0X3R5cGUgPT0g RFBfVEVTVF9MSU5LX1RSQUlOSU5HKSB8fAo+ICsJaWYgKChpbnRlbF9kcC0+Y29tcGxpYW5jZS50 ZXN0X3R5cGUgPT0gRFBfVEVTVF9MSU5LX1RSQUlOSU5HKSB8fAo+ICAJICAgICghZHJtX2RwX2No YW5uZWxfZXFfb2sobGlua19zdGF0dXMsIGludGVsX2RwLT5sYW5lX2NvdW50KSkpIHsKPiAgCQlE Uk1fREVCVUdfS01TKCIlczogY2hhbm5lbCBFUSBub3Qgb2ssIHJldHJhaW5pbmdcbiIsCj4gIAkJ CSAgICAgIGludGVsX2VuY29kZXItPmJhc2UubmFtZSk7Cj4gQEAgLTQwNTMsOSArNDA1Myw3IEBA IHN0YXRpYyB2b2lkIGludGVsX2RwX2hhbmRsZV90ZXN0X3JlcXVlc3Qoc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCkKPiAgCSAqIENsZWFyaW5nIGNvbXBsaWFuY2UgdGVzdCB2YXJpYWJsZXMgdG8g YWxsb3cgY2FwdHVyaW5nCj4gIAkgKiBvZiB2YWx1ZXMgZm9yIG5leHQgYXV0b21hdGVkIHRlc3Qg cmVxdWVzdC4KPiAgCSAqLwo+IC0JaW50ZWxfZHAtPmNvbXBsaWFuY2VfdGVzdF9hY3RpdmUgPSAw Owo+IC0JaW50ZWxfZHAtPmNvbXBsaWFuY2VfdGVzdF90eXBlID0gMDsKPiAtCWludGVsX2RwLT5j b21wbGlhbmNlX3Rlc3RfZGF0YSA9IDA7Cj4gKwltZW1zZXQoJmludGVsX2RwLT5jb21wbGlhbmNl LCAwLCBzaXplb2YoaW50ZWxfZHAtPmNvbXBsaWFuY2UpKTsKPiAgCj4gIAkvKgo+ICAJICogTm93 IHJlYWQgdGhlIERQQ0QgdG8gc2VlIGlmIGl0J3MgYWN0dWFsbHkgcnVubmluZwo+IEBAIC00Mzcy LDkgKzQzNzAsNyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQlzdGF0dXMgPSBjb25uZWN0b3Jf c3RhdHVzX2Rpc2Nvbm5lY3RlZDsKPiAgCj4gIAlpZiAoc3RhdHVzID09IGNvbm5lY3Rvcl9zdGF0 dXNfZGlzY29ubmVjdGVkKSB7Cj4gLQkJaW50ZWxfZHAtPmNvbXBsaWFuY2VfdGVzdF9hY3RpdmUg PSAwOwo+IC0JCWludGVsX2RwLT5jb21wbGlhbmNlX3Rlc3RfdHlwZSA9IDA7Cj4gLQkJaW50ZWxf ZHAtPmNvbXBsaWFuY2VfdGVzdF9kYXRhID0gMDsKPiArCQltZW1zZXQoJmludGVsX2RwLT5jb21w bGlhbmNlLCAwLCBzaXplb2YoaW50ZWxfZHAtPmNvbXBsaWFuY2UpKTsKPiAgCj4gIAkJaWYgKGlu dGVsX2RwLT5pc19tc3QpIHsKPiAgCQkJRFJNX0RFQlVHX0tNUygiTVNUIGRldmljZSBtYXkgaGF2 ZSBkaXNhcHBlYXJlZCAlZCB2cyAlZFxuIiwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGlu ZGV4IDhmNGRkY2EuLmY4YzcwNDYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBA IC04ODQsNiArODg0LDE2IEBAIHN0cnVjdCBpbnRlbF9kcF9kZXNjIHsKPiAgCXU4IHN3X21pbm9y X3JldjsKPiAgfSBfX3BhY2tlZDsKPiAgCj4gK3N0cnVjdCBpbnRlbF9kcF9jb21wbGlhbmNlX2Rh dGEgewo+ICsJdW5zaWduZWQgbG9uZyBlZGlkOwo+ICt9Owo+ICsKPiArc3RydWN0IGludGVsX2Rw X2NvbXBsaWFuY2Ugewo+ICsJdW5zaWduZWQgbG9uZyB0ZXN0X3R5cGU7Cj4gKwlzdHJ1Y3QgaW50 ZWxfZHBfY29tcGxpYW5jZV9kYXRhIHRlc3RfZGF0YTsKPiArCWJvb2wgdGVzdF9hY3RpdmU7Cj4g K307Cj4gKwo+ICBzdHJ1Y3QgaW50ZWxfZHAgewo+ICAJaTkxNV9yZWdfdCBvdXRwdXRfcmVnOwo+ ICAJaTkxNV9yZWdfdCBhdXhfY2hfY3RsX3JlZzsKPiBAQCAtOTU5LDkgKzk2OSw3IEBAIHN0cnVj dCBpbnRlbF9kcCB7Cj4gIAl2b2lkICgqcHJlcGFyZV9saW5rX3JldHJhaW4pKHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHApOwo+ICAKPiAgCS8qIERpc3BsYXlwb3J0IGNvbXBsaWFuY2UgdGVzdGlu ZyAqLwo+IC0JdW5zaWduZWQgbG9uZyBjb21wbGlhbmNlX3Rlc3RfdHlwZTsKPiAtCXVuc2lnbmVk IGxvbmcgY29tcGxpYW5jZV90ZXN0X2RhdGE7Cj4gLQlib29sIGNvbXBsaWFuY2VfdGVzdF9hY3Rp dmU7Cj4gKwlzdHJ1Y3QgaW50ZWxfZHBfY29tcGxpYW5jZSBjb21wbGlhbmNlOwo+ICB9Owo+ICAK PiAgc3RydWN0IGludGVsX2xzcGNvbiB7CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291 cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=