From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm/dp: add DPCD logging Date: Tue, 13 Oct 2015 18:00:13 +0300 Message-ID: <87mvvm3jb6.fsf@intel.com> References: <1444745609-27304-1-git-send-email-robdclark@gmail.com> <1444745609-27304-2-git-send-email-robdclark@gmail.com> <87wpuq3kog.fsf@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 ESMTP id 965946EB81 for ; Tue, 13 Oct 2015 07:56:47 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Rob Clark Cc: "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCAxMyBPY3QgMjAxNSwgUm9iIENsYXJrIDxyb2JkY2xhcmtAZ21haWwuY29tPiB3cm90 ZToKPiBPbiBUdWUsIE9jdCAxMywgMjAxNSBhdCAxMDozMCBBTSwgSmFuaSBOaWt1bGEKPiA8amFu aS5uaWt1bGFAbGludXguaW50ZWwuY29tPiB3cm90ZToKPj4gT24gVHVlLCAxMyBPY3QgMjAxNSwg Um9iIENsYXJrIDxyb2JkY2xhcmtAZ21haWwuY29tPiB3cm90ZToKPj4+IEFkZCBhIG5ldyBkcm1f ZGVidWcgYml0IGZvciB0dXJuaW5nIG9uIERQQ0QgbG9nZ2luZywgdG8gYWlkIGRlYnVnZ2luZwo+ Pj4gd2l0aCB0cm91Ymxlc29tZSBtb25pdG9ycy4KPj4KPj4gSSB3aXNoIHlvdSBjb3VsZCBmaW5k IHNvbWUgYmFsYW5jZSBiZXR3ZWVuIGhhdmluZyB0aGUgZXJyb3IgY2FzZXMgbG9nZ2VkCj4+IHdp dGggbm9ybWFsIGttcyBkZWJ1Z2dpbmcgdnMuIGhhdmluZyB0byBoYXZlIGZ1bGwgYmxvd24gYXV4 IHRyYWZmaWMKPj4gZGVidWdnaW5nIHRvIG5vdGljZSBldmVyeXRoaW5nIGZhaWxlZC4uLgo+Pgo+ PiBBdCB0aGUgdmVyeSBsZWFzdCB0aGUgInRvbyBtYW55IHJldHJpZXMsIGdpdmluZyB1cCIgc2hv dWxkIGJlIGluY2x1ZGVkCj4+IGluIEtNUyBkZWJ1Z2dpbmcsIG1heWJlIG1vcmUuCj4KPiBtYXli ZSB0aGF0IHNob3VsZCBiZSBEUk1fRVJST1IoKT8gIE5vdCBzdXJlLi4KCkknZCBiZSBmaW5lIHdp dGggdGhhdCwgZXNwZWNpYWxseSBpZiB5b3UgY2FuIGJlYXQgc29tZSBzZW5zZSBpbnRvIGFsbAp0 aGUgY29uZnVzaW9uIGJldHdlZW4gZG9pbmcgYW4gZXJyb3IgYW5kIGRlYnVnIGxvZ2dpbmcuCgpG b3IgYWRkZWQgY29tcGxleGl0eSwgdGhlcmUncyBzb21lIERSTV9FUlJPUnMgYW5kIERSTV9ERUJV R19LTVNzIGhpZGRlbgppbiB0aGUgLT50cmFuc2ZlciBmdW5jdGlvbnMgdG9vLiBTZWUgZS5nLiBp bnRlbF9kcF9hdXhfY2goKSB0aGF0IGdldHMKY2FsbGVkIGJ5IG91ciAtPnRyYW5zZmVyIGZ1bmN0 aW9uIGludGVsX2RwX2F1eF90cmFuc2ZlcigpLCBib3RoIGluCmk5MTUvaW50ZWxfZHAuYy4uLgoK QlIsCkphbmkuCgoKCj4KPiBGb3Igd2hhdCBJIHdhcyBkZWJ1Z2dpbmcgSSBhY3R1YWxseSB3YW50 ZWQgdG8gYmUgYWJsZSB0byB0dXJuIG9uIGp1c3QKPiB0aGUgRFBDRCBsb2dnaW5nIHdpdGhvdXQg aGF2aW5nIHRvIHR1cm4gb24gYWxsIHRoZSBLTVMgZGVidWdnaW5nLi4gYnV0Cj4gSSBjYW4gdW5k ZXJzdGFuZCB0aGUgaW52ZXJzZS4uCj4KPiBCUiwKPiAtUgo+Cj4+IEJSLAo+PiBKYW5pLgo+Pgo+ Pgo+Pj4KPj4+IFNpZ25lZC1vZmYtYnk6IFJvYiBDbGFyayA8cm9iZGNsYXJrQGdtYWlsLmNvbT4K Pj4+IC0tLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMgfCA2NiArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQo+Pj4gIGluY2x1ZGUvZHJtL2RybVAu aCAgICAgICAgICAgICAgfCAgNiArKysrCj4+PiAgMiBmaWxlcyBjaGFuZ2VkLCA1OCBpbnNlcnRp b25zKCspLCAxNCBkZWxldGlvbnMoLSkKPj4+Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2RybV9kcF9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMKPj4+ IGluZGV4IDI5MTczNGUuLjhlMTdmNTUgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2RwX2hlbHBlci5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBlci5j Cj4+PiBAQCAtMTU5LDYgKzE1OSw0NiBAQCBpbnQgZHJtX2RwX2J3X2NvZGVfdG9fbGlua19yYXRl KHU4IGxpbmtfYncpCj4+PiAgfQo+Pj4gIEVYUE9SVF9TWU1CT0woZHJtX2RwX2J3X2NvZGVfdG9f bGlua19yYXRlKTsKPj4+Cj4+PiArc3RhdGljIHNzaXplX3QgYXV4X3RyYW5zZmVyKHN0cnVjdCBk cm1fZHBfYXV4ICphdXgsIHN0cnVjdCBkcm1fZHBfYXV4X21zZyAqbXNnKQo+Pj4gK3sKPj4+ICsg ICAgIHNpemVfdCByZXQ7Cj4+PiArCj4+PiArICAgICBtdXRleF9sb2NrKCZhdXgtPmh3X211dGV4 KTsKPj4+ICsKPj4+ICsgICAgIERSTV9ERUJVR19EUENEKCIlczogcmVxPTB4JTAyeCwgYWRkcmVz cz0weCUwNXgsIHNpemU9JXp1XG4iLCBhdXgtPm5hbWUsCj4+PiArICAgICAgICAgICAgICAgICAg ICAgbXNnLT5yZXF1ZXN0LCBtc2ctPmFkZHJlc3MsIG1zZy0+c2l6ZSk7Cj4+PiArICAgICBpZiAo dW5saWtlbHkoZHJtX2RlYnVnICYgRFJNX1VUX0RQQ0QpKSB7Cj4+PiArICAgICAgICAgICAgIHN3 aXRjaCAobXNnLT5yZXF1ZXN0ICYgfkRQX0FVWF9JMkNfTU9UKSB7Cj4+PiArICAgICAgICAgICAg IGNhc2UgRFBfQVVYX05BVElWRV9XUklURToKPj4+ICsgICAgICAgICAgICAgY2FzZSBEUF9BVVhf STJDX1dSSVRFOgo+Pj4gKyAgICAgICAgICAgICAgICAgICAgIHByaW50X2hleF9kdW1wKEtFUk5f REVCVUcsICJEUENEOiAiLCBEVU1QX1BSRUZJWF9PRkZTRVQsCj4+PiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDE2LCAxLCBtc2ctPmJ1ZmZlciwgbXNnLT5zaXplLCBmYWxz ZSk7Cj4+PiArICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4+PiArICAgICAgICAgICAgIGRl ZmF1bHQ6Cj4+PiArICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4+PiArICAgICAgICAgICAg IH0KPj4+ICsgICAgIH0KPj4+ICsKPj4+ICsgICAgIHJldCA9IGF1eC0+dHJhbnNmZXIoYXV4LCBt c2cpOwo+Pj4gKwo+Pj4gKyAgICAgRFJNX0RFQlVHX0RQQ0QoIiVzOiByZXBseT0weCUwMngsIHNp emU9JXp1XG4iLCBhdXgtPm5hbWUsIG1zZy0+cmVwbHksIHJldCk7Cj4+PiArICAgICBpZiAodW5s aWtlbHkoZHJtX2RlYnVnICYgRFJNX1VUX0RQQ0QpKSB7Cj4+PiArICAgICAgICAgICAgIHN3aXRj aCAobXNnLT5yZXF1ZXN0ICYgfkRQX0FVWF9JMkNfTU9UKSB7Cj4+PiArICAgICAgICAgICAgIGNh c2UgRFBfQVVYX05BVElWRV9SRUFEOgo+Pj4gKyAgICAgICAgICAgICBjYXNlIERQX0FVWF9JMkNf UkVBRDoKPj4+ICsgICAgICAgICAgICAgICAgICAgICBwcmludF9oZXhfZHVtcChLRVJOX0RFQlVH LCAiRFBDRDogIiwgRFVNUF9QUkVGSVhfT0ZGU0VULAo+Pj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAxNiwgMSwgbXNnLT5idWZmZXIsIHJldCwgZmFsc2UpOwo+Pj4gKyAg ICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+Pj4gKyAgICAgICAgICAgICBkZWZhdWx0Ogo+Pj4g KyAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+Pj4gKyAgICAgICAgICAgICB9Cj4+PiArICAg ICB9Cj4+PiArCj4+PiArICAgICBtdXRleF91bmxvY2soJmF1eC0+aHdfbXV0ZXgpOwo+Pj4gKwo+ Pj4gKyAgICAgcmV0dXJuIHJldDsKPj4+ICt9Cj4+PiArCj4+PiAgI2RlZmluZSBBVVhfUkVUUllf SU5URVJWQUwgNTAwIC8qIHVzICovCj4+Pgo+Pj4gIC8qKgo+Pj4gQEAgLTE5NCw5ICsyMzQsNyBA QCBzdGF0aWMgaW50IGRybV9kcF9kcGNkX2FjY2VzcyhzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4LCB1 OCByZXF1ZXN0LAo+Pj4gICAgICAgICovCj4+PiAgICAgICBmb3IgKHJldHJ5ID0gMDsgcmV0cnkg PCAzMjsgcmV0cnkrKykgewo+Pj4KPj4+IC0gICAgICAgICAgICAgbXV0ZXhfbG9jaygmYXV4LT5o d19tdXRleCk7Cj4+PiAtICAgICAgICAgICAgIGVyciA9IGF1eC0+dHJhbnNmZXIoYXV4LCAmbXNn KTsKPj4+IC0gICAgICAgICAgICAgbXV0ZXhfdW5sb2NrKCZhdXgtPmh3X211dGV4KTsKPj4+ICsg ICAgICAgICAgICAgZXJyID0gYXV4X3RyYW5zZmVyKGF1eCwgJm1zZyk7Cj4+PiAgICAgICAgICAg ICAgIGlmIChlcnIgPCAwKSB7Cj4+PiAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVyciA9PSAt RUJVU1kpCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKPj4+IEBA IC0yMTIsMTUgKzI1MCwxNyBAQCBzdGF0aWMgaW50IGRybV9kcF9kcGNkX2FjY2VzcyhzdHJ1Y3Qg ZHJtX2RwX2F1eCAqYXV4LCB1OCByZXF1ZXN0LAo+Pj4gICAgICAgICAgICAgICAgICAgICAgIHJl dHVybiBlcnI7Cj4+Pgo+Pj4gICAgICAgICAgICAgICBjYXNlIERQX0FVWF9OQVRJVkVfUkVQTFlf TkFDSzoKPj4+ICsgICAgICAgICAgICAgICAgICAgICBEUk1fREVCVUdfRFBDRCgibmF0aXZlIG5h Y2sgKHJlc3VsdD0lZCwgc2l6ZT0lenUpXG4iLCBlcnIsIG1zZy5zaXplKTsKPj4+ICAgICAgICAg ICAgICAgICAgICAgICByZXR1cm4gLUVJTzsKPj4+Cj4+PiAgICAgICAgICAgICAgIGNhc2UgRFBf QVVYX05BVElWRV9SRVBMWV9ERUZFUjoKPj4+ICsgICAgICAgICAgICAgICAgICAgICBEUk1fREVC VUdfRFBDRCgibmF0aXZlIGRlZmVyXG4iKTsKPj4+ICAgICAgICAgICAgICAgICAgICAgICB1c2xl ZXBfcmFuZ2UoQVVYX1JFVFJZX0lOVEVSVkFMLCBBVVhfUkVUUllfSU5URVJWQUwgKyAxMDApOwo+ Pj4gICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+Pj4gICAgICAgICAgICAgICB9Cj4+PiAg ICAgICB9Cj4+Pgo+Pj4gLSAgICAgRFJNX0RFQlVHX0tNUygidG9vIG1hbnkgcmV0cmllcywgZ2l2 aW5nIHVwXG4iKTsKPj4+ICsgICAgIERSTV9ERUJVR19EUENEKCJ0b28gbWFueSByZXRyaWVzLCBn aXZpbmcgdXBcbiIpOwo+Pj4gICAgICAgcmV0dXJuIC1FSU87Cj4+PiAgfQo+Pj4KPj4+IEBAIC01 MzAsMTQgKzU3MCwxMiBAQCBzdGF0aWMgaW50IGRybV9kcF9pMmNfZG9fbXNnKHN0cnVjdCBkcm1f ZHBfYXV4ICphdXgsIHN0cnVjdCBkcm1fZHBfYXV4X21zZyAqbXNnKQo+Pj4gICAgICAgaW50IG1h eF9yZXRyaWVzID0gbWF4KDcsIGRybV9kcF9pMmNfcmV0cnlfY291bnQobXNnLCBkcF9hdXhfaTJj X3NwZWVkX2toeikpOwo+Pj4KPj4+ICAgICAgIGZvciAocmV0cnkgPSAwLCBkZWZlcl9pMmMgPSAw OyByZXRyeSA8IChtYXhfcmV0cmllcyArIGRlZmVyX2kyYyk7IHJldHJ5KyspIHsKPj4+IC0gICAg ICAgICAgICAgbXV0ZXhfbG9jaygmYXV4LT5od19tdXRleCk7Cj4+PiAtICAgICAgICAgICAgIHJl dCA9IGF1eC0+dHJhbnNmZXIoYXV4LCBtc2cpOwo+Pj4gLSAgICAgICAgICAgICBtdXRleF91bmxv Y2soJmF1eC0+aHdfbXV0ZXgpOwo+Pj4gKyAgICAgICAgICAgICByZXQgPSBhdXhfdHJhbnNmZXIo YXV4LCBtc2cpOwo+Pj4gICAgICAgICAgICAgICBpZiAocmV0IDwgMCkgewo+Pj4gICAgICAgICAg ICAgICAgICAgICAgIGlmIChyZXQgPT0gLUVCVVNZKQo+Pj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29udGludWU7Cj4+Pgo+Pj4gLSAgICAgICAgICAgICAgICAgICAgIERSTV9ERUJV R19LTVMoInRyYW5zYWN0aW9uIGZhaWxlZDogJWRcbiIsIHJldCk7Cj4+PiArICAgICAgICAgICAg ICAgICAgICAgRFJNX0RFQlVHX0RQQ0QoInRyYW5zYWN0aW9uIGZhaWxlZDogJWRcbiIsIHJldCk7 Cj4+PiAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPj4+ICAgICAgICAgICAgICAg fQo+Pj4KPj4+IEBAIC01NTEsMTEgKzU4OSwxMSBAQCBzdGF0aWMgaW50IGRybV9kcF9pMmNfZG9f bXNnKHN0cnVjdCBkcm1fZHBfYXV4ICphdXgsIHN0cnVjdCBkcm1fZHBfYXV4X21zZyAqbXNnKQo+ Pj4gICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+Pj4KPj4+ICAgICAgICAgICAgICAgY2Fz ZSBEUF9BVVhfTkFUSVZFX1JFUExZX05BQ0s6Cj4+PiAtICAgICAgICAgICAgICAgICAgICAgRFJN X0RFQlVHX0tNUygibmF0aXZlIG5hY2sgKHJlc3VsdD0lZCwgc2l6ZT0lenUpXG4iLCByZXQsIG1z Zy0+c2l6ZSk7Cj4+PiArICAgICAgICAgICAgICAgICAgICAgRFJNX0RFQlVHX0RQQ0QoIm5hdGl2 ZSBuYWNrIChyZXN1bHQ9JWQsIHNpemU9JXp1KVxuIiwgcmV0LCBtc2ctPnNpemUpOwo+Pj4gICAg ICAgICAgICAgICAgICAgICAgIHJldHVybiAtRVJFTU9URUlPOwo+Pj4KPj4+ICAgICAgICAgICAg ICAgY2FzZSBEUF9BVVhfTkFUSVZFX1JFUExZX0RFRkVSOgo+Pj4gLSAgICAgICAgICAgICAgICAg ICAgIERSTV9ERUJVR19LTVMoIm5hdGl2ZSBkZWZlclxuIik7Cj4+PiArICAgICAgICAgICAgICAg ICAgICAgRFJNX0RFQlVHX0RQQ0QoIm5hdGl2ZSBkZWZlclxuIik7Cj4+PiAgICAgICAgICAgICAg ICAgICAgICAgLyoKPj4+ICAgICAgICAgICAgICAgICAgICAgICAgKiBXZSBjb3VsZCBjaGVjayBm b3IgSTJDIGJpdCByYXRlIGNhcGFiaWxpdGllcyBhbmQgaWYKPj4+ICAgICAgICAgICAgICAgICAg ICAgICAgKiBhdmFpbGFibGUgYWRqdXN0IHRoaXMgaW50ZXJ2YWwuIFdlIGNvdWxkIGFsc28gYmUK Pj4+IEBAIC01ODIsMTIgKzYyMCwxMiBAQCBzdGF0aWMgaW50IGRybV9kcF9pMmNfZG9fbXNnKHN0 cnVjdCBkcm1fZHBfYXV4ICphdXgsIHN0cnVjdCBkcm1fZHBfYXV4X21zZyAqbXNnKQo+Pj4gICAg ICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4+Pgo+Pj4gICAgICAgICAgICAgICBjYXNl IERQX0FVWF9JMkNfUkVQTFlfTkFDSzoKPj4+IC0gICAgICAgICAgICAgICAgICAgICBEUk1fREVC VUdfS01TKCJJMkMgbmFjayAocmVzdWx0PSVkLCBzaXplPSV6dVxuIiwgcmV0LCBtc2ctPnNpemUp Owo+Pj4gKyAgICAgICAgICAgICAgICAgICAgIERSTV9ERUJVR19EUENEKCJJMkMgbmFjayAocmVz dWx0PSVkLCBzaXplPSV6dVxuIiwgcmV0LCBtc2ctPnNpemUpOwo+Pj4gICAgICAgICAgICAgICAg ICAgICAgIGF1eC0+aTJjX25hY2tfY291bnQrKzsKPj4+ICAgICAgICAgICAgICAgICAgICAgICBy ZXR1cm4gLUVSRU1PVEVJTzsKPj4+Cj4+PiAgICAgICAgICAgICAgIGNhc2UgRFBfQVVYX0kyQ19S RVBMWV9ERUZFUjoKPj4+IC0gICAgICAgICAgICAgICAgICAgICBEUk1fREVCVUdfS01TKCJJMkMg ZGVmZXJcbiIpOwo+Pj4gKyAgICAgICAgICAgICAgICAgICAgIERSTV9ERUJVR19EUENEKCJJMkMg ZGVmZXJcbiIpOwo+Pj4gICAgICAgICAgICAgICAgICAgICAgIC8qIERQIENvbXBsaWFuY2UgVGVz dCA0LjIuMi41IFJlcXVpcmVtZW50Ogo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAqIE11c3Qg aGF2ZSBhdCBsZWFzdCA3IHJldHJpZXMgZm9yIEkyQyBkZWZlcnMgb24gdGhlCj4+PiAgICAgICAg ICAgICAgICAgICAgICAgICogdHJhbnNhY3Rpb24gdG8gcGFzcyB0aGlzIHRlc3QKPj4+IEBAIC02 MDQsNyArNjQyLDcgQEAgc3RhdGljIGludCBkcm1fZHBfaTJjX2RvX21zZyhzdHJ1Y3QgZHJtX2Rw X2F1eCAqYXV4LCBzdHJ1Y3QgZHJtX2RwX2F1eF9tc2cgKm1zZykKPj4+ICAgICAgICAgICAgICAg fQo+Pj4gICAgICAgfQo+Pj4KPj4+IC0gICAgIERSTV9ERUJVR19LTVMoInRvbyBtYW55IHJldHJp ZXMsIGdpdmluZyB1cFxuIik7Cj4+PiArICAgICBEUk1fREVCVUdfRFBDRCgidG9vIG1hbnkgcmV0 cmllcywgZ2l2aW5nIHVwXG4iKTsKPj4+ICAgICAgIHJldHVybiAtRVJFTU9URUlPOwo+Pj4gIH0K Pj4+Cj4+PiBAQCAtNjI0LDcgKzY2Miw3IEBAIHN0YXRpYyBpbnQgZHJtX2RwX2kyY19kcmFpbl9t c2coc3RydWN0IGRybV9kcF9hdXggKmF1eCwgc3RydWN0IGRybV9kcF9hdXhfbXNnICpvCj4+PiAg ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVyciA9PSAwID8gLUVQUk9UTyA6IGVycjsKPj4+ Cj4+PiAgICAgICAgICAgICAgIGlmIChlcnIgPCBtc2cuc2l6ZSAmJiBlcnIgPCByZXQpIHsKPj4+ IC0gICAgICAgICAgICAgICAgICAgICBEUk1fREVCVUdfS01TKCJQYXJ0aWFsIEkyQyByZXBseTog cmVxdWVzdGVkICV6dSBieXRlcyBnb3QgJWQgYnl0ZXNcbiIsCj4+PiArICAgICAgICAgICAgICAg ICAgICAgRFJNX0RFQlVHX0RQQ0QoIlBhcnRpYWwgSTJDIHJlcGx5OiByZXF1ZXN0ZWQgJXp1IGJ5 dGVzIGdvdCAlZCBieXRlc1xuIiwKPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG1zZy5zaXplLCBlcnIpOwo+Pj4gICAgICAgICAgICAgICAgICAgICAgIHJldCA9IGVycjsK Pj4+ICAgICAgICAgICAgICAgfQo+Pj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybVAuaCBi L2luY2x1ZGUvZHJtL2RybVAuaAo+Pj4gaW5kZXggOGI1Y2U3Yy4uZjZjMjVjYyAxMDA2NDQKPj4+ IC0tLSBhL2luY2x1ZGUvZHJtL2RybVAuaAo+Pj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtUC5oCj4+ PiBAQCAtMTI1LDYgKzEyNSw3IEBAIHN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQ7Cj4+PiAgI2Rl ZmluZSBEUk1fVVRfS01TICAgICAgICAgICAweDA0Cj4+PiAgI2RlZmluZSBEUk1fVVRfUFJJTUUg ICAgICAgICAweDA4Cj4+PiAgI2RlZmluZSBEUk1fVVRfQVRPTUlDICAgICAgICAgICAgICAgIDB4 MTAKPj4+ICsjZGVmaW5lIERSTV9VVF9EUENEICAgICAgICAgIDB4MjAKPj4+Cj4+PiAgZXh0ZXJu IF9fcHJpbnRmKDIsIDMpCj4+PiAgdm9pZCBkcm1fdXRfZGVidWdfcHJpbnRrKGNvbnN0IGNoYXIg KmZ1bmN0aW9uX25hbWUsCj4+PiBAQCAtMjE3LDYgKzIxOCwxMSBAQCB2b2lkIGRybV9lcnIoY29u c3QgY2hhciAqZm9ybWF0LCAuLi4pOwo+Pj4gICAgICAgICAgICAgICBpZiAodW5saWtlbHkoZHJt X2RlYnVnICYgRFJNX1VUX0FUT01JQykpICAgICAgICAgICAgICAgIFwKPj4+ICAgICAgICAgICAg ICAgICAgICAgICBkcm1fdXRfZGVidWdfcHJpbnRrKF9fZnVuY19fLCBmbXQsICMjYXJncyk7ICAg ICBcCj4+PiAgICAgICB9IHdoaWxlICgwKQo+Pj4gKyNkZWZpbmUgRFJNX0RFQlVHX0RQQ0QoZm10 LCBhcmdzLi4uKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPj4+ICsgICAgIGRv IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCj4+PiArICAgICAgICAgICAgIGlmICh1bmxpa2VseShkcm1fZGVidWcgJiBEUk1fVVRf RFBDRCkpICAgICAgICAgICAgICAgICAgXAo+Pj4gKyAgICAgICAgICAgICAgICAgICAgIGRybV91 dF9kZWJ1Z19wcmludGsoX19mdW5jX18sIGZtdCwgIyNhcmdzKTsgICAgIFwKPj4+ICsgICAgIH0g d2hpbGUgKDApCj4+Pgo+Pj4gIC8qQH0qLwo+Pj4KPj4+IC0tCj4+PiAyLjEuMAo+Pj4KPj4+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+PiBkcmktZGV2 ZWwgbWFpbGluZyBsaXN0Cj4+PiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+PiBo dHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCj4+ Cj4+IC0tCj4+IEphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRl cgoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwg bWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=