From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [PATCH v2 07/12] drm/i915: Get rid of dpms handling. Date: Fri, 31 Jul 2015 12:40:37 +0300 Message-ID: <1438335637.2676.6.camel@gmail.com> References: <1438000541-3219-1-git-send-email-maarten.lankhorst@linux.intel.com> <1438000541-3219-8-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pd0-f171.google.com (mail-pd0-f171.google.com [209.85.192.171]) by gabe.freedesktop.org (Postfix) with ESMTPS id 599336ED3D for ; Fri, 31 Jul 2015 02:40:43 -0700 (PDT) Received: by pdrg1 with SMTP id g1so40004372pdr.2 for ; Fri, 31 Jul 2015 02:40:42 -0700 (PDT) In-Reply-To: <1438000541-3219-8-git-send-email-maarten.lankhorst@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: Maarten Lankhorst , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org UmV2aWV3ZWQtYnk6IEFuZGVyIENvbnNlbHZhbiBkZSBPbGl2ZWlyYSA8Y29uc2VsdmFuMkBnbWFp bC5jb20+CgpPbiBNb24sIDIwMTUtMDctMjcgYXQgMTQ6MzUgKzAyMDAsIE1hYXJ0ZW4gTGFua2hv cnN0IHdyb3RlOgo+IFRoaXMgaXMgbm93IGRvbmUgY29tcGxldGVseSBhdG9taWNhbGx5Lgo+IEtl ZXAgY29ubmVjdG9yc19hY3RpdmUgZm9yIG5vdywgYnV0IG1ha2UgaXQgbWlycm9yIGNydGNfc3Rh dGUtPmFjdGl2ZS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRl bi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9jcnQuYyAgICAgfCA0OSArLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgOTkgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgICB8ICAyICst Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jICB8ICAyICstCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAzIC0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RzaS5jICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2R2by5jICAgICB8IDQ2ICstLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2hkbWkuYyAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2x2ZHMuYyAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYyAg ICB8IDQ3ICstLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3R2 LmMgICAgICB8ICAyICstCj4gIDExIGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDI0 NSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfY3J0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYwo+IGluZGV4IDllYmEz ZGQ1YjQzNC4uYWY1ZTQzYmVmNGE0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2NydC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMKPiBA QCAtMjM2LDUzICsyMzYsNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lbmFibGVfY3J0KHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICAJaW50ZWxfY3J0X3NldF9kcG1zKGVuY29kZXIsIGNy dC0+Y29ubmVjdG9yLT5iYXNlLmRwbXMpOwo+ICB9Cj4gIAo+IC0vKiBTcGVjaWFsIGRwbXMgZnVu Y3Rpb24gdG8gc3VwcG9ydCBjbG9uaW5nIGJldHdlZW4gZHZvL3Nkdm8vY3J0LiAqLwo+IC1zdGF0 aWMgaW50IGludGVsX2NydF9kcG1zKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGlu dCBtb2RlKQo+IC17Cj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7 Cj4gLQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9IGludGVsX2F0dGFjaGVkX2VuY29k ZXIoY29ubmVjdG9yKTsKPiAtCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKPiAtCWludCBvbGRfZHBt czsKPiAtCj4gLQkvKiBQQ0ggcGxhdGZvcm1zIGFuZCBWTFYgb25seSBzdXBwb3J0IG9uL29mZi4g Ki8KPiAtCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA1ICYmIG1vZGUgIT0gRFJNX01PREVf RFBNU19PTikKPiAtCQltb2RlID0gRFJNX01PREVfRFBNU19PRkY7Cj4gLQo+IC0JaWYgKG1vZGUg PT0gY29ubmVjdG9yLT5kcG1zKQo+IC0JCXJldHVybiAwOwo+IC0KPiAtCW9sZF9kcG1zID0gY29u bmVjdG9yLT5kcG1zOwo+IC0JY29ubmVjdG9yLT5kcG1zID0gbW9kZTsKPiAtCj4gLQkvKiBPbmx5 IG5lZWQgdG8gY2hhbmdlIGh3IHN0YXRlIHdoZW4gYWN0dWFsbHkgZW5hYmxlZCAqLwo+IC0JY3J0 YyA9IGVuY29kZXItPmJhc2UuY3J0YzsKPiAtCWlmICghY3J0Yykgewo+IC0JCWVuY29kZXItPmNv bm5lY3RvcnNfYWN0aXZlID0gZmFsc2U7Cj4gLQkJcmV0dXJuIDA7Cj4gLQl9Cj4gLQo+IC0JLyog V2UgbmVlZCB0aGUgcGlwZSB0byBydW4gZm9yIGFueXRoaW5nIGJ1dCBPRkYuICovCj4gLQlpZiAo bW9kZSA9PSBEUk1fTU9ERV9EUE1TX09GRikKPiAtCQllbmNvZGVyLT5jb25uZWN0b3JzX2FjdGl2 ZSA9IGZhbHNlOwo+IC0JZWxzZQo+IC0JCWVuY29kZXItPmNvbm5lY3RvcnNfYWN0aXZlID0gdHJ1 ZTsKPiAtCj4gLQkvKiBXZSBjYWxsIGNvbm5lY3RvciBkcG1zIG1hbnVhbGx5IGJlbG93IGluIGNh c2UgcGlwZSBkcG1zIGRvZXNuJ3QKPiAtCSAqIGNoYW5nZSBkdWUgdG8gY2xvbmluZy4gKi8KPiAt CWlmIChtb2RlIDwgb2xkX2RwbXMpIHsKPiAtCQkvKiBGcm9tIG9mZiB0byBvbiwgZW5hYmxlIHRo ZSBwaXBlIGZpcnN0LiAqLwo+IC0JCWludGVsX2NydGNfdXBkYXRlX2RwbXMoY3J0Yyk7Cj4gLQo+ IC0JCWludGVsX2NydF9zZXRfZHBtcyhlbmNvZGVyLCBtb2RlKTsKPiAtCX0gZWxzZSB7Cj4gLQkJ aW50ZWxfY3J0X3NldF9kcG1zKGVuY29kZXIsIG1vZGUpOwo+IC0KPiAtCQlpbnRlbF9jcnRjX3Vw ZGF0ZV9kcG1zKGNydGMpOwo+IC0JfQo+IC0KPiAtCXJldHVybiAwOwo+IC19Cj4gLQo+ICBzdGF0 aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMKPiAgaW50ZWxfY3J0X21vZGVfdmFsaWQoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCQkgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptb2RlKQo+IEBAIC03OTgsNyArNzUxLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfY3J0X3Jlc2V0 KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAo+ICBzdGF0aWMgY29uc3Qgc3Ry dWN0IGRybV9jb25uZWN0b3JfZnVuY3MgaW50ZWxfY3J0X2Nvbm5lY3Rvcl9mdW5jcyA9IHsKPiAg CS5yZXNldCA9IGludGVsX2NydF9yZXNldCwKPiAtCS5kcG1zID0gaW50ZWxfY3J0X2RwbXMsCj4g KwkuZHBtcyA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kcG1zLAo+ICAJLmRldGVjdCA9 IGludGVsX2NydF9kZXRlY3QsCj4gIAkuZmlsbF9tb2RlcyA9IGRybV9oZWxwZXJfcHJvYmVfc2lu Z2xlX2Nvbm5lY3Rvcl9tb2RlcywKPiAgCS5kZXN0cm95ID0gaW50ZWxfY3J0X2Rlc3Ryb3ksCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IGUzYWZlNjExYTc4Yy4uZWQ5 ZWJhMjY2NmUyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC02 MjcxLDY3ICs2MjcxLDYgQEAgZnJlZToKPiAgCXJldHVybiByZXQ7Cj4gIH0KPiAgCj4gLS8qIE1h c3RlciBmdW5jdGlvbiB0byBlbmFibGUvZGlzYWJsZSBDUlRDIGFuZCBjb3JyZXNwb25kaW5nIHBv d2VyIHdlbGxzICovCj4gLWludCBpbnRlbF9jcnRjX2NvbnRyb2woc3RydWN0IGRybV9jcnRjICpj cnRjLCBib29sIGVuYWJsZSkKPiAtewo+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMt PmRldjsKPiAtCXN0cnVjdCBkcm1fbW9kZV9jb25maWcgKmNvbmZpZyA9ICZkZXYtPm1vZGVfY29u ZmlnOwo+IC0Jc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4ICpjdHggPSBjb25maWctPmFj cXVpcmVfY3R4Owo+IC0Jc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9j cnRjKGNydGMpOwo+IC0Jc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnOwo+IC0J c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlOwo+IC0JaW50IHJldDsKPiAtCj4gLQlpZiAo ZW5hYmxlID09IGludGVsX2NydGMtPmFjdGl2ZSkKPiAtCQlyZXR1cm4gMDsKPiAtCj4gLQlpZiAo ZW5hYmxlICYmICFjcnRjLT5zdGF0ZS0+ZW5hYmxlKQo+IC0JCXJldHVybiAwOwo+IC0KPiAtCS8q IHRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCB3aXRoIGRybV9tb2Rlc2V0X2xvY2tfYWxs IGZvciBub3cgKi8KPiAtCWlmIChXQVJOX09OKCFjdHgpKQo+IC0JCXJldHVybiAtRUlPOwo+IC0J bG9ja2RlcF9hc3NlcnRfaGVsZCgmY3R4LT53d19jdHgpOwo+IC0KPiAtCXN0YXRlID0gZHJtX2F0 b21pY19zdGF0ZV9hbGxvYyhkZXYpOwo+IC0JaWYgKFdBUk5fT04oIXN0YXRlKSkKPiAtCQlyZXR1 cm4gLUVOT01FTTsKPiAtCj4gLQlzdGF0ZS0+YWNxdWlyZV9jdHggPSBjdHg7Cj4gLQlzdGF0ZS0+ YWxsb3dfbW9kZXNldCA9IHRydWU7Cj4gLQo+IC0JcGlwZV9jb25maWcgPSBpbnRlbF9hdG9taWNf Z2V0X2NydGNfc3RhdGUoc3RhdGUsIGludGVsX2NydGMpOwo+IC0JaWYgKElTX0VSUihwaXBlX2Nv bmZpZykpIHsKPiAtCQlyZXQgPSBQVFJfRVJSKHBpcGVfY29uZmlnKTsKPiAtCQlnb3RvIGVycjsK PiAtCX0KPiAtCXBpcGVfY29uZmlnLT5iYXNlLmFjdGl2ZSA9IGVuYWJsZTsKPiAtCj4gLQlyZXQg PSBkcm1fYXRvbWljX2NvbW1pdChzdGF0ZSk7Cj4gLQlpZiAoIXJldCkKPiAtCQlyZXR1cm4gcmV0 Owo+IC0KPiAtZXJyOgo+IC0JRFJNX0VSUk9SKCJVcGRhdGluZyBjcnRjIGFjdGl2ZSBmYWlsZWQg d2l0aCAlaVxuIiwgcmV0KTsKPiAtCWRybV9hdG9taWNfc3RhdGVfZnJlZShzdGF0ZSk7Cj4gLQly ZXR1cm4gcmV0Owo+IC19Cj4gLQo+IC0vKioKPiAtICogU2V0cyB0aGUgcG93ZXIgbWFuYWdlbWVu dCBtb2RlIG9mIHRoZSBwaXBlIGFuZCBwbGFuZS4KPiAtICovCj4gLXZvaWQgaW50ZWxfY3J0Y191 cGRhdGVfZHBtcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gLXsKPiAtCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBjcnRjLT5kZXY7Cj4gLQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5j b2RlcjsKPiAtCWJvb2wgZW5hYmxlID0gZmFsc2U7Cj4gLQo+IC0JZm9yX2VhY2hfZW5jb2Rlcl9v bl9jcnRjKGRldiwgY3J0YywgaW50ZWxfZW5jb2RlcikKPiAtCQllbmFibGUgfD0gaW50ZWxfZW5j b2Rlci0+Y29ubmVjdG9yc19hY3RpdmU7Cj4gLQo+IC0JaW50ZWxfY3J0Y19jb250cm9sKGNydGMs IGVuYWJsZSk7Cj4gLX0KPiAtCj4gIHZvaWQgaW50ZWxfZW5jb2Rlcl9kZXN0cm95KHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlcikKPiAgewo+ICAJc3RydWN0IGludGVsX2VuY29kZXIgKmludGVs X2VuY29kZXIgPSB0b19pbnRlbF9lbmNvZGVyKGVuY29kZXIpOwo+IEBAIC02MzQwLDIyICs2Mjc5 LDYgQEAgdm9pZCBpbnRlbF9lbmNvZGVyX2Rlc3Ryb3koc3RydWN0IGRybV9lbmNvZGVyICplbmNv ZGVyKQo+ICAJa2ZyZWUoaW50ZWxfZW5jb2Rlcik7Cj4gIH0KPiAgCj4gLS8qIFNpbXBsZSBkcG1z IGhlbHBlciBmb3IgZW5jb2RlcnMgd2l0aCBqdXN0IG9uZSBjb25uZWN0b3IsIG5vIGNsb25pbmcg YW5kIG9ubHkKPiAtICogb25lIGtpbmQgb2Ygb2ZmIHN0YXRlLiBJdCBjbGFtcHMgYWxsICFPTiBt b2RlcyB0byBmdWxseSBPRkYgYW5kIGNoYW5nZXMgdGhlCj4gLSAqIHN0YXRlIG9mIHRoZSBlbnRp cmUgb3V0cHV0IHBpcGUuICovCj4gLXN0YXRpYyB2b2lkIGludGVsX2VuY29kZXJfZHBtcyhzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwgaW50IG1vZGUpCj4gLXsKPiAtCWlmIChtb2RlID09 IERSTV9NT0RFX0RQTVNfT04pIHsKPiAtCQllbmNvZGVyLT5jb25uZWN0b3JzX2FjdGl2ZSA9IHRy dWU7Cj4gLQo+IC0JCWludGVsX2NydGNfdXBkYXRlX2RwbXMoZW5jb2Rlci0+YmFzZS5jcnRjKTsK PiAtCX0gZWxzZSB7Cj4gLQkJZW5jb2Rlci0+Y29ubmVjdG9yc19hY3RpdmUgPSBmYWxzZTsKPiAt Cj4gLQkJaW50ZWxfY3J0Y191cGRhdGVfZHBtcyhlbmNvZGVyLT5iYXNlLmNydGMpOwo+IC0JfQo+ IC19Cj4gLQo+ICAvKiBDcm9zcyBjaGVjayB0aGUgYWN0dWFsIGh3IHN0YXRlIHdpdGggb3VyIG93 biBtb2Rlc2V0IHN0YXRlIHRyYWNraW5nIChhbmQgaXQncwo+ICAgKiBpbnRlcm5hbCBjb25zaXN0 ZW5jeSkuICovCj4gIHN0YXRpYyB2b2lkIGludGVsX2Nvbm5lY3Rvcl9jaGVja19zdGF0ZShzdHJ1 Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4gQEAgLTYzODUsNiArNjMwOCw4IEBAIHN0 YXRpYyB2b2lkIGludGVsX2Nvbm5lY3Rvcl9jaGVja19zdGF0ZShzdHJ1Y3QgaW50ZWxfY29ubmVj dG9yICpjb25uZWN0b3IpCj4gIAkJSTkxNV9TVEFURV9XQVJOKGNvbm5fc3RhdGUtPmNydGMgIT0g ZW5jb2Rlci0+Y3J0YywKPiAgCQkJImF0dGFjaGVkIGVuY29kZXIgY3J0YyBkaWZmZXJzIGZyb20g Y29ubmVjdG9yIGNydGNcbiIpOwo+ICAJfSBlbHNlIHsKPiArCQlJOTE1X1NUQVRFX1dBUk4oY3J0 YyAmJiBjcnRjLT5zdGF0ZS0+YWN0aXZlLAo+ICsJCQkiYXR0YWNoZWQgY3J0YyBpcyBhY3RpdmUs IGJ1dCBjb25uZWN0b3IgaXNuJ3RcbiIpOwo+ICAJCUk5MTVfU1RBVEVfV0FSTighY3J0YyAmJiBj b25uZWN0b3ItPmJhc2Uuc3RhdGUtPmJlc3RfZW5jb2RlciwKPiAgCQkJImJlc3QgZW5jb2RlciBz ZXQgd2l0aG91dCBjcnRjIVxuIik7Cj4gIAl9Cj4gQEAgLTY0MTgsMjYgKzYzNDMsNiBAQCBzdHJ1 Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3JfYWxsb2Modm9pZCkKPiAgCXJldHVy biBjb25uZWN0b3I7Cj4gIH0KPiAgCj4gLS8qIEV2ZW4gc2ltcGxlciBkZWZhdWx0IGltcGxlbWVu dGF0aW9uLCBpZiB0aGVyZSdzIHJlYWxseSBubyBzcGVjaWFsIGNhc2UgdG8KPiAtICogY29uc2lk ZXIuICovCj4gLWludCBpbnRlbF9jb25uZWN0b3JfZHBtcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yLCBpbnQgbW9kZSkKPiAtewo+IC0JLyogQWxsIHRoZSBzaW1wbGUgY2FzZXMgb25s eSBzdXBwb3J0IHR3byBkcG1zIHN0YXRlcy4gKi8KPiAtCWlmIChtb2RlICE9IERSTV9NT0RFX0RQ TVNfT04pCj4gLQkJbW9kZSA9IERSTV9NT0RFX0RQTVNfT0ZGOwo+IC0KPiAtCWlmIChtb2RlID09 IGNvbm5lY3Rvci0+ZHBtcykKPiAtCQlyZXR1cm4gMDsKPiAtCj4gLQljb25uZWN0b3ItPmRwbXMg PSBtb2RlOwo+IC0KPiAtCS8qIE9ubHkgbmVlZCB0byBjaGFuZ2UgaHcgc3RhdGUgd2hlbiBhY3R1 YWxseSBlbmFibGVkICovCj4gLQlpZiAoY29ubmVjdG9yLT5lbmNvZGVyKQo+IC0JCWludGVsX2Vu Y29kZXJfZHBtcyh0b19pbnRlbF9lbmNvZGVyKGNvbm5lY3Rvci0+ZW5jb2RlciksIG1vZGUpOwo+ IC0KPiAtCXJldHVybiAwOwo+IC19Cj4gLQo+ICAvKiBTaW1wbGUgY29ubmVjdG9yLT5nZXRfaHdf c3RhdGUgaW1wbGVtZW50YXRpb24gZm9yIGVuY29kZXJzIHRoYXQgc3VwcG9ydCBvbmx5Cj4gICAq IG9uZSBjb25uZWN0b3IgYW5kIG5vIGNsb25pbmcgYW5kIGhlbmNlIHRoZSBlbmNvZGVyIHN0YXRl IGRldGVybWluZXMgdGhlIHN0YXRlCj4gICAqIG9mIHRoZSBjb25uZWN0b3IuICovCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcC5jCj4gaW5kZXggZjFiOWY5MzliNDM1Li5jZWE3ZDE3ODVkMTMgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiBAQCAtNDgyNCw3ICs0ODI0LDcgQEAgc3RhdGljIHZv aWQgaW50ZWxfZHBfZW5jb2Rlcl9yZXNldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4g IH0KPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5jcyBpbnRlbF9k cF9jb25uZWN0b3JfZnVuY3MgPSB7Cj4gLQkuZHBtcyA9IGludGVsX2Nvbm5lY3Rvcl9kcG1zLAo+ ICsJLmRwbXMgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZHBtcywKPiAgCS5kZXRlY3Qg PSBpbnRlbF9kcF9kZXRlY3QsCj4gIAkuZm9yY2UgPSBpbnRlbF9kcF9mb3JjZSwKPiAgCS5maWxs X21vZGVzID0gZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21vZGVzLAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCj4gaW5kZXggMzVmMmViNTk4MThhLi40YmMzNzFkMTli OTEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwo+IEBAIC0zMjgsNyArMzI4 LDcgQEAgaW50ZWxfZHBfbXN0X2Nvbm5lY3Rvcl9kZXN0cm95KHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IpCj4gIH0KPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rv cl9mdW5jcyBpbnRlbF9kcF9tc3RfY29ubmVjdG9yX2Z1bmNzID0gewo+IC0JLmRwbXMgPSBpbnRl bF9jb25uZWN0b3JfZHBtcywKPiArCS5kcG1zID0gZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9y X2RwbXMsCj4gIAkuZGV0ZWN0ID0gaW50ZWxfZHBfbXN0X2RldGVjdCwKPiAgCS5maWxsX21vZGVz ID0gZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21vZGVzLAo+ICAJLnNldF9wcm9w ZXJ0eSA9IGludGVsX2RwX21zdF9zZXRfcHJvcGVydHksCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKPiBpbmRleCAwZGE0MjM2ZGM4NWEuLjYyMDczZDJmODNmYSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCj4gQEAgLTk5MiwxMiArOTkyLDkgQEAgdm9pZCBpbnRlbF9tYXJrX2J1c3ko c3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gIHZvaWQgaW50ZWxfbWFya19pZGxlKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpOwo+ICB2b2lkIGludGVsX2NydGNfcmVzdG9yZV9tb2RlKHN0cnVjdCBk cm1fY3J0YyAqY3J0Yyk7Cj4gIGludCBpbnRlbF9kaXNwbGF5X3N1c3BlbmQoc3RydWN0IGRybV9k ZXZpY2UgKmRldik7Cj4gLWludCBpbnRlbF9jcnRjX2NvbnRyb2woc3RydWN0IGRybV9jcnRjICpj cnRjLCBib29sIGVuYWJsZSk7Cj4gLXZvaWQgaW50ZWxfY3J0Y191cGRhdGVfZHBtcyhzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMpOwo+ICB2b2lkIGludGVsX2VuY29kZXJfZGVzdHJveShzdHJ1Y3QgZHJt X2VuY29kZXIgKmVuY29kZXIpOwo+ICBpbnQgaW50ZWxfY29ubmVjdG9yX2luaXQoc3RydWN0IGlu dGVsX2Nvbm5lY3RvciAqKTsKPiAgc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVj dG9yX2FsbG9jKHZvaWQpOwo+IC1pbnQgaW50ZWxfY29ubmVjdG9yX2RwbXMoc3RydWN0IGRybV9j b25uZWN0b3IgKiwgaW50IG1vZGUpOwo+ICBib29sIGludGVsX2Nvbm5lY3Rvcl9nZXRfaHdfc3Rh dGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiAgYm9vbCBpYnhfZGlnaXRh bF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJ CQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpwb3J0KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k c2kuYwo+IGluZGV4IDE4ZGQ3ZDczNjBhMC4uNGE2MDFjZjkwZjE2IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHNpLmMKPiBAQCAtOTgyLDcgKzk4Miw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MgCj4gaW50ZWxfZHNpX2Nvbm5lY3Rvcl9oZWxwZXJf ZnVuY3MKPiAgfTsKPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5j cyBpbnRlbF9kc2lfY29ubmVjdG9yX2Z1bmNzID0gewo+IC0JLmRwbXMgPSBpbnRlbF9jb25uZWN0 b3JfZHBtcywKPiArCS5kcG1zID0gZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2RwbXMsCj4g IAkuZGV0ZWN0ID0gaW50ZWxfZHNpX2RldGVjdCwKPiAgCS5kZXN0cm95ID0gaW50ZWxfZHNpX2Nv bm5lY3Rvcl9kZXN0cm95LAo+ICAJLmZpbGxfbW9kZXMgPSBkcm1faGVscGVyX3Byb2JlX3Npbmds ZV9jb25uZWN0b3JfbW9kZXMsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2R2by5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHZvLmMKPiBpbmRleCA2MDBm N2ZiODU1ZDguLmRjNTMyYmI2MWQyMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kdm8uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jCj4g QEAgLTE5Niw1MCArMTk2LDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX2R2byhzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiAgCWludGVsX2R2by0+ZGV2LmRldl9vcHMtPmRwbXMo JmludGVsX2R2by0+ZGV2LCB0cnVlKTsKPiAgfQo+ICAKPiAtLyogU3BlY2lhbCBkcG1zIGZ1bmN0 aW9uIHRvIHN1cHBvcnQgY2xvbmluZyBiZXR3ZWVuIGR2by9zZHZvL2NydC4gKi8KPiAtc3RhdGlj IGludCBpbnRlbF9kdm9fZHBtcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBpbnQg bW9kZSkKPiAtewo+IC0Jc3RydWN0IGludGVsX2R2byAqaW50ZWxfZHZvID0gaW50ZWxfYXR0YWNo ZWRfZHZvKGNvbm5lY3Rvcik7Cj4gLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4gLQlzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY29uZmlnOwo+IC0KPiAtCS8qIGR2byBzdXBwb3J0cyBvbmx5IDIg ZHBtcyBzdGF0ZXMuICovCj4gLQlpZiAobW9kZSAhPSBEUk1fTU9ERV9EUE1TX09OKQo+IC0JCW1v ZGUgPSBEUk1fTU9ERV9EUE1TX09GRjsKPiAtCj4gLQlpZiAobW9kZSA9PSBjb25uZWN0b3ItPmRw bXMpCj4gLQkJcmV0dXJuIDA7Cj4gLQo+IC0JY29ubmVjdG9yLT5kcG1zID0gbW9kZTsKPiAtCj4g LQkvKiBPbmx5IG5lZWQgdG8gY2hhbmdlIGh3IHN0YXRlIHdoZW4gYWN0dWFsbHkgZW5hYmxlZCAq Lwo+IC0JY3J0YyA9IGludGVsX2R2by0+YmFzZS5iYXNlLmNydGM7Cj4gLQlpZiAoIWNydGMpIHsK PiAtCQlpbnRlbF9kdm8tPmJhc2UuY29ubmVjdG9yc19hY3RpdmUgPSBmYWxzZTsKPiAtCQlyZXR1 cm4gMDsKPiAtCX0KPiAtCj4gLQkvKiBXZSBjYWxsIGNvbm5lY3RvciBkcG1zIG1hbnVhbGx5IGJl bG93IGluIGNhc2UgcGlwZSBkcG1zIGRvZXNuJ3QKPiAtCSAqIGNoYW5nZSBkdWUgdG8gY2xvbmlu Zy4gKi8KPiAtCWlmIChtb2RlID09IERSTV9NT0RFX0RQTVNfT04pIHsKPiAtCQljb25maWcgPSB0 b19pbnRlbF9jcnRjKGNydGMpLT5jb25maWc7Cj4gLQo+IC0JCWludGVsX2R2by0+YmFzZS5jb25u ZWN0b3JzX2FjdGl2ZSA9IHRydWU7Cj4gLQo+IC0JCWludGVsX2NydGNfdXBkYXRlX2RwbXMoY3J0 Yyk7Cj4gLQo+IC0JCWludGVsX2R2by0+ZGV2LmRldl9vcHMtPmRwbXMoJmludGVsX2R2by0+ZGV2 LCB0cnVlKTsKPiAtCX0gZWxzZSB7Cj4gLQkJaW50ZWxfZHZvLT5kZXYuZGV2X29wcy0+ZHBtcygm aW50ZWxfZHZvLT5kZXYsIGZhbHNlKTsKPiAtCj4gLQkJaW50ZWxfZHZvLT5iYXNlLmNvbm5lY3Rv cnNfYWN0aXZlID0gZmFsc2U7Cj4gLQo+IC0JCWludGVsX2NydGNfdXBkYXRlX2RwbXMoY3J0Yyk7 Cj4gLQl9Cj4gLQo+IC0JcmV0dXJuIDA7Cj4gLX0KPiAtCj4gIHN0YXRpYyBlbnVtIGRybV9tb2Rl X3N0YXR1cwo+ICBpbnRlbF9kdm9fbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yLAo+ICAJCSAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gQEAgLTM4 Nyw3ICszNDMsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kdm9fZGVzdHJveShzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yKQo+ICB9Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9j b25uZWN0b3JfZnVuY3MgaW50ZWxfZHZvX2Nvbm5lY3Rvcl9mdW5jcyA9IHsKPiAtCS5kcG1zID0g aW50ZWxfZHZvX2RwbXMsCj4gKwkuZHBtcyA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9k cG1zLAo+ICAJLmRldGVjdCA9IGludGVsX2R2b19kZXRlY3QsCj4gIAkuZGVzdHJveSA9IGludGVs X2R2b19kZXN0cm95LAo+ICAJLmZpbGxfbW9kZXMgPSBkcm1faGVscGVyX3Byb2JlX3NpbmdsZV9j b25uZWN0b3JfbW9kZXMsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+IGluZGV4IDcwYmFk NWJmMWQ0OC4uNTFjYmVhODI0N2ZlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+ IEBAIC0xOTA5LDcgKzE5MDksNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX2Rlc3Ryb3koc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgfQo+ICAKPiAgc3RhdGljIGNvbnN0IHN0 cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNzIGludGVsX2hkbWlfY29ubmVjdG9yX2Z1bmNzID0gewo+ IC0JLmRwbXMgPSBpbnRlbF9jb25uZWN0b3JfZHBtcywKPiArCS5kcG1zID0gZHJtX2F0b21pY19o ZWxwZXJfY29ubmVjdG9yX2RwbXMsCj4gIAkuZGV0ZWN0ID0gaW50ZWxfaGRtaV9kZXRlY3QsCj4g IAkuZm9yY2UgPSBpbnRlbF9oZG1pX2ZvcmNlLAo+ICAJLmZpbGxfbW9kZXMgPSBkcm1faGVscGVy X3Byb2JlX3NpbmdsZV9jb25uZWN0b3JfbW9kZXMsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2x2ZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMu Ywo+IGluZGV4IGNiNjM0ZjQ4ZTdkOS4uODgxYjVkMTM1OTJlIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2x2ZHMuYwo+IEBAIC01NDksNyArNTQ5LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBk cm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcyAKPiBpbnRlbF9sdmRzX2Nvbm5lY3Rvcl9oZWxwZXJf ZnVuY3MKPiAgfTsKPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5j cyBpbnRlbF9sdmRzX2Nvbm5lY3Rvcl9mdW5jcyA9IHsKPiAtCS5kcG1zID0gaW50ZWxfY29ubmVj dG9yX2RwbXMsCj4gKwkuZHBtcyA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kcG1zLAo+ ICAJLmRldGVjdCA9IGludGVsX2x2ZHNfZGV0ZWN0LAo+ICAJLmZpbGxfbW9kZXMgPSBkcm1faGVs cGVyX3Byb2JlX3NpbmdsZV9jb25uZWN0b3JfbW9kZXMsCj4gIAkuc2V0X3Byb3BlcnR5ID0gaW50 ZWxfbHZkc19zZXRfcHJvcGVydHksCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3Nkdm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYwo+IGluZGV4 IDg5MTFlMGU0MTdlZS4uYzk4MDk4ZTg4NGNjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3Nkdm8uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nk dm8uYwo+IEBAIC0xNTA4LDUxICsxNTA4LDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX3Nk dm8oc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gIAlpbnRlbF9zZHZvX3NldF9hY3Rp dmVfb3V0cHV0cyhpbnRlbF9zZHZvLCBpbnRlbF9zZHZvLT5hdHRhY2hlZF9vdXRwdXQpOwo+ICB9 Cj4gIAo+IC0vKiBTcGVjaWFsIGRwbXMgZnVuY3Rpb24gdG8gc3VwcG9ydCBjbG9uaW5nIGJldHdl ZW4gZHZvL3Nkdm8vY3J0LiAqLwo+IC1zdGF0aWMgaW50IGludGVsX3Nkdm9fZHBtcyhzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBpbnQgbW9kZSkKPiAtewo+IC0Jc3RydWN0IGRybV9j cnRjICpjcnRjOwo+IC0Jc3RydWN0IGludGVsX3Nkdm8gKmludGVsX3Nkdm8gPSBpbnRlbF9hdHRh Y2hlZF9zZHZvKGNvbm5lY3Rvcik7Cj4gLQo+IC0JLyogZHZvIHN1cHBvcnRzIG9ubHkgMiBkcG1z IHN0YXRlcy4gKi8KPiAtCWlmIChtb2RlICE9IERSTV9NT0RFX0RQTVNfT04pCj4gLQkJbW9kZSA9 IERSTV9NT0RFX0RQTVNfT0ZGOwo+IC0KPiAtCWlmIChtb2RlID09IGNvbm5lY3Rvci0+ZHBtcykK PiAtCQlyZXR1cm4gMDsKPiAtCj4gLQljb25uZWN0b3ItPmRwbXMgPSBtb2RlOwo+IC0KPiAtCS8q IE9ubHkgbmVlZCB0byBjaGFuZ2UgaHcgc3RhdGUgd2hlbiBhY3R1YWxseSBlbmFibGVkICovCj4g LQljcnRjID0gaW50ZWxfc2R2by0+YmFzZS5iYXNlLmNydGM7Cj4gLQlpZiAoIWNydGMpIHsKPiAt CQlpbnRlbF9zZHZvLT5iYXNlLmNvbm5lY3RvcnNfYWN0aXZlID0gZmFsc2U7Cj4gLQkJcmV0dXJu IDA7Cj4gLQl9Cj4gLQo+IC0JLyogV2Ugc2V0IGFjdGl2ZSBvdXRwdXRzIG1hbnVhbGx5IGJlbG93 IGluIGNhc2UgcGlwZSBkcG1zIGRvZXNuJ3QgY2hhbmdlCj4gLQkgKiBkdWUgdG8gY2xvbmluZy4g Ki8KPiAtCWlmIChtb2RlICE9IERSTV9NT0RFX0RQTVNfT04pIHsKPiAtCQlpbnRlbF9zZHZvX3Nl dF9hY3RpdmVfb3V0cHV0cyhpbnRlbF9zZHZvLCAwKTsKPiAtCQlpZiAoMCkKPiAtCQkJaW50ZWxf c2R2b19zZXRfZW5jb2Rlcl9wb3dlcl9zdGF0ZShpbnRlbF9zZHZvLCBtb2RlKTsKPiAtCj4gLQkJ aW50ZWxfc2R2by0+YmFzZS5jb25uZWN0b3JzX2FjdGl2ZSA9IGZhbHNlOwo+IC0KPiAtCQlpbnRl bF9jcnRjX3VwZGF0ZV9kcG1zKGNydGMpOwo+IC0JfSBlbHNlIHsKPiAtCQlpbnRlbF9zZHZvLT5i YXNlLmNvbm5lY3RvcnNfYWN0aXZlID0gdHJ1ZTsKPiAtCj4gLQkJaW50ZWxfY3J0Y191cGRhdGVf ZHBtcyhjcnRjKTsKPiAtCj4gLQkJaWYgKDApCj4gLQkJCWludGVsX3Nkdm9fc2V0X2VuY29kZXJf cG93ZXJfc3RhdGUoaW50ZWxfc2R2bywgbW9kZSk7Cj4gLQkJaW50ZWxfc2R2b19zZXRfYWN0aXZl X291dHB1dHMoaW50ZWxfc2R2bywgaW50ZWxfc2R2by0+YXR0YWNoZWRfb3V0cHV0KTsKPiAtCX0K PiAtCj4gLQlyZXR1cm4gMDsKPiAtfQo+IC0KPiAgc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVz Cj4gIGludGVsX3Nkdm9fbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAo+ICAJCSAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+IEBAIC0yMTkwLDcg KzIxNDUsNyBAQCBkb25lOgo+ICB9Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25u ZWN0b3JfZnVuY3MgaW50ZWxfc2R2b19jb25uZWN0b3JfZnVuY3MgPSB7Cj4gLQkuZHBtcyA9IGlu dGVsX3Nkdm9fZHBtcywKPiArCS5kcG1zID0gZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2Rw bXMsCj4gIAkuZGV0ZWN0ID0gaW50ZWxfc2R2b19kZXRlY3QsCj4gIAkuZmlsbF9tb2RlcyA9IGRy bV9oZWxwZXJfcHJvYmVfc2luZ2xlX2Nvbm5lY3Rvcl9tb2RlcywKPiAgCS5zZXRfcHJvcGVydHkg PSBpbnRlbF9zZHZvX3NldF9wcm9wZXJ0eSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfdHYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3R2LmMKPiBpbmRl eCA4YjlkMzI1YmRhM2MuLjA1NjhhZTZlYzlkZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF90di5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdHYu Ywo+IEBAIC0xNTA5LDcgKzE1MDksNyBAQCBvdXQ6Cj4gIH0KPiAgCj4gIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5jcyBpbnRlbF90dl9jb25uZWN0b3JfZnVuY3MgPSB7Cj4g LQkuZHBtcyA9IGludGVsX2Nvbm5lY3Rvcl9kcG1zLAo+ICsJLmRwbXMgPSBkcm1fYXRvbWljX2hl bHBlcl9jb25uZWN0b3JfZHBtcywKPiAgCS5kZXRlY3QgPSBpbnRlbF90dl9kZXRlY3QsCj4gIAku ZGVzdHJveSA9IGludGVsX3R2X2Rlc3Ryb3ksCj4gIAkuc2V0X3Byb3BlcnR5ID0gaW50ZWxfdHZf c2V0X3Byb3BlcnR5LApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=