From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v2] drm/atomic: Use DRM_DEBUG_KMS instead of DRM_DEBUG_ATOMIC in error paths Date: Mon, 27 Nov 2017 11:14:36 +0100 Message-ID: <20171127101436.gzlselhzm6zhydps@phenom.ffwll.local> References: <1463152419-16554-1-git-send-email-ville.syrjala@linux.intel.com> <20171115183841.23436-1-ville.syrjala@linux.intel.com> <20171124161356.GN10981@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id D97A6899B0 for ; Mon, 27 Nov 2017 10:15:05 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id r68so33774348wmr.1 for ; Mon, 27 Nov 2017 02:15:05 -0800 (PST) Content-Disposition: inline In-Reply-To: <20171124161356.GN10981@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Cc: Jani Nikula , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBOb3YgMjQsIDIwMTcgYXQgMDY6MTM6NTZQTSArMDIwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFdlZCwgTm92IDE1LCAyMDE3IGF0IDA4OjM4OjQxUE0gKzAyMDAsIFZpbGxl IFN5cmphbGEgd3JvdGU6Cj4gPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFA bGludXguaW50ZWwuY29tPgo+ID4gCj4gPiBEUk1fREVCVUdfQVRPTUlDIGdlbmVyYXRlcyBhIGxv dCBvZiBub2lzZSB0aGF0IG5vIG9uZSBub3JtYWxseSBjYXJlcwo+ID4gYWJvdXQuIEhvd2V2ZXIg ZXJyb3IgcGF0aHMgZXZlcnlvbmUgY2FyZXMgYWJvdXQsIHNvIGhpZGluZyB0aGVhIGVycm9yCj4g PiBkZWJ1Z3MgdW5kZXIgRFJNX0RFQlVHX0FUT01JQyBpcyBhIGJhZCBpZGVhLiBMZXQncyB1c2Ug RFJNX0RFQlVHX0tNUwo+ID4gZm9yIHRob3NlIGluc3RlYWQuCj4gCj4gQWN0dWFsbHksIG9uZSBp ZGVhIHRoYXQgY2FtZSB0byBteSBtaW5kIHJpZ2h0IG5vdyBpcyB0aGF0IG1heWJlIHdlIHdhbnQK PiB0byBrZWVwIHVzaW5nIF9BVE9NSUMgd2l0aCBURVNUX09OTFksIGFuZCBvbmx5IHVzZSBfS01T IHcvbyBURVNUX09OTFk/CgpZZWFoIGEgRFJNX0RFQlVHX0FUT01JQ19DSEVDSyB3aGljaCBkb2Vz IHRoaXMgc291bmRzIGxpa2UgYSB2ZXJ5IGdvb2QKaWRlYS4gSSBldmVuIHRob3VnaHQgb2YgZW5j YXBzdWxhdGluZyB0aGUgcmV0dXJuIC1FSU5WQUwsIGJ1dCB0aGF0J3MgbWF5YmUKYSBiaXQgdG9v IG5hc3R5IGNvbnRyb2wgZmxvdyA6LSkgQnV0IG1heWJlIHNvbWV0aGluZyBsaWtlCgojZGVmaW5l IGF0b21pY19jaGVja19mYWlsdXJlX3JldHVybihyZWFzb24sIC4uKQoKd291bGRuJ3QgYmUgdG9v IGV5ZS1nYXVnaW5nIC4uLgotRGFuaWVsCj4gCj4gPiAKPiA+IHYyOiBSZWJhc2UgYW5kIGhhbmRs ZSBhIGZldyBuZXcgY2FzZXMKPiA+IAo+ID4gQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBp bnRlbC5jb20+Cj4gPiBSZXZpZXdlZC1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVs LmNvbT4gI3YxCj4gPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmph bGFAbGludXguaW50ZWwuY29tPgo+ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9t aWMuYyAgICAgICAgfCA2NCArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KPiA+ICBk cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyB8IDcwICsrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMo KyksIDY4IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiA+IGluZGV4IDM3 NDQ1ZDUwODE2YS4uNTk0YmRkNWMzM2NiIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWMuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ID4g QEAgLTU3Miw4ICs1NzIsOCBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfY3J0Y19jaGVjayhzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCj4gPiAgCSAqLwo+ID4gIAo+ID4gIAlpZiAoc3RhdGUtPmFjdGl2 ZSAmJiAhc3RhdGUtPmVuYWJsZSkgewo+ID4gLQkJRFJNX0RFQlVHX0FUT01JQygiW0NSVEM6JWQ6 JXNdIGFjdGl2ZSB3aXRob3V0IGVuYWJsZWRcbiIsCj4gPiAtCQkJCSBjcnRjLT5iYXNlLmlkLCBj cnRjLT5uYW1lKTsKPiA+ICsJCURSTV9ERUJVR19LTVMoIltDUlRDOiVkOiVzXSBhY3RpdmUgd2l0 aG91dCBlbmFibGVkXG4iLAo+ID4gKwkJCSAgICAgIGNydGMtPmJhc2UuaWQsIGNydGMtPm5hbWUp Owo+ID4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gPiAgCX0KPiA+ICAKPiA+IEBAIC01ODIsMTUgKzU4 MiwxNSBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfY3J0Y19jaGVjayhzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCj4gPiAgCSAqIGJlIGFibGUgdG8gdHJpZ2dlci4gKi8KPiA+ICAJaWYgKGRybV9jb3Jl X2NoZWNrX2ZlYXR1cmUoY3J0Yy0+ZGV2LCBEUklWRVJfQVRPTUlDKSAmJgo+ID4gIAkgICAgV0FS Tl9PTihzdGF0ZS0+ZW5hYmxlICYmICFzdGF0ZS0+bW9kZV9ibG9iKSkgewo+ID4gLQkJRFJNX0RF QlVHX0FUT01JQygiW0NSVEM6JWQ6JXNdIGVuYWJsZWQgd2l0aG91dCBtb2RlIGJsb2JcbiIsCj4g PiAtCQkJCSBjcnRjLT5iYXNlLmlkLCBjcnRjLT5uYW1lKTsKPiA+ICsJCURSTV9ERUJVR19LTVMo IltDUlRDOiVkOiVzXSBlbmFibGVkIHdpdGhvdXQgbW9kZSBibG9iXG4iLAo+ID4gKwkJCSAgICAg IGNydGMtPmJhc2UuaWQsIGNydGMtPm5hbWUpOwo+ID4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gPiAg CX0KPiA+ICAKPiA+ICAJaWYgKGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoY3J0Yy0+ZGV2LCBEUklW RVJfQVRPTUlDKSAmJgo+ID4gIAkgICAgV0FSTl9PTighc3RhdGUtPmVuYWJsZSAmJiBzdGF0ZS0+ bW9kZV9ibG9iKSkgewo+ID4gLQkJRFJNX0RFQlVHX0FUT01JQygiW0NSVEM6JWQ6JXNdIGRpc2Fi bGVkIHdpdGggbW9kZSBibG9iXG4iLAo+ID4gLQkJCQkgY3J0Yy0+YmFzZS5pZCwgY3J0Yy0+bmFt ZSk7Cj4gPiArCQlEUk1fREVCVUdfS01TKCJbQ1JUQzolZDolc10gZGlzYWJsZWQgd2l0aCBtb2Rl IGJsb2JcbiIsCj4gPiArCQkJICAgICAgY3J0Yy0+YmFzZS5pZCwgY3J0Yy0+bmFtZSk7Cj4gPiAg CQlyZXR1cm4gLUVJTlZBTDsKPiA+ICAJfQo+ID4gIAo+ID4gQEAgLTYwNSw4ICs2MDUsOCBAQCBz dGF0aWMgaW50IGRybV9hdG9taWNfY3J0Y19jaGVjayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4g PiAgCSAqIHBpcGUuCj4gPiAgCSAqLwo+ID4gIAlpZiAoc3RhdGUtPmV2ZW50ICYmICFzdGF0ZS0+ YWN0aXZlICYmICFjcnRjLT5zdGF0ZS0+YWN0aXZlKSB7Cj4gPiAtCQlEUk1fREVCVUdfQVRPTUlD KCJbQ1JUQzolZDolc10gcmVxdWVzdGluZyBldmVudCBidXQgb2ZmXG4iLAo+ID4gLQkJCQkgY3J0 Yy0+YmFzZS5pZCwgY3J0Yy0+bmFtZSk7Cj4gPiArCQlEUk1fREVCVUdfS01TKCJbQ1JUQzolZDol c10gcmVxdWVzdGluZyBldmVudCBidXQgb2ZmXG4iLAo+ID4gKwkJCSAgICAgIGNydGMtPmJhc2Uu aWQsIGNydGMtPm5hbWUpOwo+ID4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gPiAgCX0KPiA+ICAKPiA+ IEBAIC04NjEsMTAgKzg2MSwxMCBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfcGxhbmVfY2hlY2so c3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gPiAgCj4gPiAgCS8qIGVpdGhlciAqYm90aCogQ1JU QyBhbmQgRkIgbXVzdCBiZSBzZXQsIG9yIG5laXRoZXIgKi8KPiA+ICAJaWYgKFdBUk5fT04oc3Rh dGUtPmNydGMgJiYgIXN0YXRlLT5mYikpIHsKPiA+IC0JCURSTV9ERUJVR19BVE9NSUMoIkNSVEMg c2V0IGJ1dCBubyBGQlxuIik7Cj4gPiArCQlEUk1fREVCVUdfS01TKCJDUlRDIHNldCBidXQgbm8g RkJcbiIpOwo+ID4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gPiAgCX0gZWxzZSBpZiAoV0FSTl9PTihz dGF0ZS0+ZmIgJiYgIXN0YXRlLT5jcnRjKSkgewo+ID4gLQkJRFJNX0RFQlVHX0FUT01JQygiRkIg c2V0IGJ1dCBubyBDUlRDXG4iKTsKPiA+ICsJCURSTV9ERUJVR19LTVMoIkZCIHNldCBidXQgbm8g Q1JUQ1xuIik7Cj4gPiAgCQlyZXR1cm4gLUVJTlZBTDsKPiA+ICAJfQo+ID4gIAo+ID4gQEAgLTg3 NCw3ICs4NzQsNyBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfcGxhbmVfY2hlY2soc3RydWN0IGRy bV9wbGFuZSAqcGxhbmUsCj4gPiAgCj4gPiAgCS8qIENoZWNrIHdoZXRoZXIgdGhpcyBwbGFuZSBp cyB1c2FibGUgb24gdGhpcyBDUlRDICovCj4gPiAgCWlmICghKHBsYW5lLT5wb3NzaWJsZV9jcnRj cyAmIGRybV9jcnRjX21hc2soc3RhdGUtPmNydGMpKSkgewo+ID4gLQkJRFJNX0RFQlVHX0FUT01J QygiSW52YWxpZCBjcnRjIGZvciBwbGFuZVxuIik7Cj4gPiArCQlEUk1fREVCVUdfS01TKCJJbnZh bGlkIGNydGMgZm9yIHBsYW5lXG4iKTsKPiA+ICAJCXJldHVybiAtRUlOVkFMOwo+ID4gIAl9Cj4g PiAgCj4gPiBAQCAtODgyLDkgKzg4Miw5IEBAIHN0YXRpYyBpbnQgZHJtX2F0b21pY19wbGFuZV9j aGVjayhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiA+ICAJcmV0ID0gZHJtX3BsYW5lX2NoZWNr X3BpeGVsX2Zvcm1hdChwbGFuZSwgc3RhdGUtPmZiLT5mb3JtYXQtPmZvcm1hdCk7Cj4gPiAgCWlm IChyZXQpIHsKPiA+ICAJCXN0cnVjdCBkcm1fZm9ybWF0X25hbWVfYnVmIGZvcm1hdF9uYW1lOwo+ ID4gLQkJRFJNX0RFQlVHX0FUT01JQygiSW52YWxpZCBwaXhlbCBmb3JtYXQgJXNcbiIsCj4gPiAt CQkgICAgICAgICAgICAgICAgIGRybV9nZXRfZm9ybWF0X25hbWUoc3RhdGUtPmZiLT5mb3JtYXQt PmZvcm1hdCwKPiA+IC0JCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZm9y bWF0X25hbWUpKTsKPiA+ICsJCURSTV9ERUJVR19LTVMoIkludmFsaWQgcGl4ZWwgZm9ybWF0ICVz XG4iLAo+ID4gKwkJCSAgICAgIGRybV9nZXRfZm9ybWF0X25hbWUoc3RhdGUtPmZiLT5mb3JtYXQt PmZvcm1hdCwKPiA+ICsJCQkJCQkgICZmb3JtYXRfbmFtZSkpOwo+ID4gIAkJcmV0dXJuIHJldDsK PiA+ICAJfQo+ID4gIAo+ID4gQEAgLTg5Myw5ICs4OTMsOSBAQCBzdGF0aWMgaW50IGRybV9hdG9t aWNfcGxhbmVfY2hlY2soc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gPiAgCSAgICBzdGF0ZS0+ Y3J0Y194ID4gSU5UX01BWCAtIChpbnQzMl90KSBzdGF0ZS0+Y3J0Y193IHx8Cj4gPiAgCSAgICBz dGF0ZS0+Y3J0Y19oID4gSU5UX01BWCB8fAo+ID4gIAkgICAgc3RhdGUtPmNydGNfeSA+IElOVF9N QVggLSAoaW50MzJfdCkgc3RhdGUtPmNydGNfaCkgewo+ID4gLQkJRFJNX0RFQlVHX0FUT01JQygi SW52YWxpZCBDUlRDIGNvb3JkaW5hdGVzICV1eCV1KyVkKyVkXG4iLAo+ID4gLQkJCQkgc3RhdGUt PmNydGNfdywgc3RhdGUtPmNydGNfaCwKPiA+IC0JCQkJIHN0YXRlLT5jcnRjX3gsIHN0YXRlLT5j cnRjX3kpOwo+ID4gKwkJRFJNX0RFQlVHX0tNUygiSW52YWxpZCBDUlRDIGNvb3JkaW5hdGVzICV1 eCV1KyVkKyVkXG4iLAo+ID4gKwkJCSAgICAgIHN0YXRlLT5jcnRjX3csIHN0YXRlLT5jcnRjX2gs Cj4gPiArCQkJICAgICAgc3RhdGUtPmNydGNfeCwgc3RhdGUtPmNydGNfeSk7Cj4gPiAgCQlyZXR1 cm4gLUVSQU5HRTsKPiA+ICAJfQo+ID4gIAo+ID4gQEAgLTkwNywxOSArOTA3LDE5IEBAIHN0YXRp YyBpbnQgZHJtX2F0b21pY19wbGFuZV9jaGVjayhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiA+ ICAJICAgIHN0YXRlLT5zcmNfeCA+IGZiX3dpZHRoIC0gc3RhdGUtPnNyY193IHx8Cj4gPiAgCSAg ICBzdGF0ZS0+c3JjX2ggPiBmYl9oZWlnaHQgfHwKPiA+ICAJICAgIHN0YXRlLT5zcmNfeSA+IGZi X2hlaWdodCAtIHN0YXRlLT5zcmNfaCkgewo+ID4gLQkJRFJNX0RFQlVHX0FUT01JQygiSW52YWxp ZCBzb3VyY2UgY29vcmRpbmF0ZXMgIgo+ID4gLQkJCQkgIiV1LiUwNnV4JXUuJTA2dSsldS4lMDZ1 KyV1LiUwNnUgKGZiICV1eCV1KVxuIiwKPiA+IC0JCQkJIHN0YXRlLT5zcmNfdyA+PiAxNiwgKChz dGF0ZS0+c3JjX3cgJiAweGZmZmYpICogMTU2MjUpID4+IDEwLAo+ID4gLQkJCQkgc3RhdGUtPnNy Y19oID4+IDE2LCAoKHN0YXRlLT5zcmNfaCAmIDB4ZmZmZikgKiAxNTYyNSkgPj4gMTAsCj4gPiAt CQkJCSBzdGF0ZS0+c3JjX3ggPj4gMTYsICgoc3RhdGUtPnNyY194ICYgMHhmZmZmKSAqIDE1NjI1 KSA+PiAxMCwKPiA+IC0JCQkJIHN0YXRlLT5zcmNfeSA+PiAxNiwgKChzdGF0ZS0+c3JjX3kgJiAw eGZmZmYpICogMTU2MjUpID4+IDEwLAo+ID4gLQkJCQkgc3RhdGUtPmZiLT53aWR0aCwgc3RhdGUt PmZiLT5oZWlnaHQpOwo+ID4gKwkJRFJNX0RFQlVHX0tNUygiSW52YWxpZCBzb3VyY2UgY29vcmRp bmF0ZXMgIgo+ID4gKwkJCSAgICAgICIldS4lMDZ1eCV1LiUwNnUrJXUuJTA2dSsldS4lMDZ1IChm YiAldXgldSlcbiIsCj4gPiArCQkJICAgICAgc3RhdGUtPnNyY193ID4+IDE2LCAoKHN0YXRlLT5z cmNfdyAmIDB4ZmZmZikgKiAxNTYyNSkgPj4gMTAsCj4gPiArCQkJICAgICAgc3RhdGUtPnNyY19o ID4+IDE2LCAoKHN0YXRlLT5zcmNfaCAmIDB4ZmZmZikgKiAxNTYyNSkgPj4gMTAsCj4gPiArCQkJ ICAgICAgc3RhdGUtPnNyY194ID4+IDE2LCAoKHN0YXRlLT5zcmNfeCAmIDB4ZmZmZikgKiAxNTYy NSkgPj4gMTAsCj4gPiArCQkJICAgICAgc3RhdGUtPnNyY195ID4+IDE2LCAoKHN0YXRlLT5zcmNf eSAmIDB4ZmZmZikgKiAxNTYyNSkgPj4gMTAsCj4gPiArCQkJICAgICAgc3RhdGUtPmZiLT53aWR0 aCwgc3RhdGUtPmZiLT5oZWlnaHQpOwo+ID4gIAkJcmV0dXJuIC1FTk9TUEM7Cj4gPiAgCX0KPiA+ ICAKPiA+ICAJaWYgKHBsYW5lX3N3aXRjaGluZ19jcnRjKHN0YXRlLT5zdGF0ZSwgcGxhbmUsIHN0 YXRlKSkgewo+ID4gLQkJRFJNX0RFQlVHX0FUT01JQygiW1BMQU5FOiVkOiVzXSBzd2l0Y2hpbmcg Q1JUQyBkaXJlY3RseVxuIiwKPiA+IC0JCQkJIHBsYW5lLT5iYXNlLmlkLCBwbGFuZS0+bmFtZSk7 Cj4gPiArCQlEUk1fREVCVUdfS01TKCJbUExBTkU6JWQ6JXNdIHN3aXRjaGluZyBDUlRDIGRpcmVj dGx5XG4iLAo+ID4gKwkJCSAgICAgIHBsYW5lLT5iYXNlLmlkLCBwbGFuZS0+bmFtZSk7Cj4gPiAg CQlyZXR1cm4gLUVJTlZBTDsKPiA+ICAJfQo+ID4gIAo+ID4gQEAgLTE1OTYsOCArMTU5Niw4IEBA IGludCBkcm1fYXRvbWljX2NoZWNrX29ubHkoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRl KQo+ID4gIAlmb3JfZWFjaF9uZXdfcGxhbmVfaW5fc3RhdGUoc3RhdGUsIHBsYW5lLCBwbGFuZV9z dGF0ZSwgaSkgewo+ID4gIAkJcmV0ID0gZHJtX2F0b21pY19wbGFuZV9jaGVjayhwbGFuZSwgcGxh bmVfc3RhdGUpOwo+ID4gIAkJaWYgKHJldCkgewo+ID4gLQkJCURSTV9ERUJVR19BVE9NSUMoIltQ TEFORTolZDolc10gYXRvbWljIGNvcmUgY2hlY2sgZmFpbGVkXG4iLAo+ID4gLQkJCQkJIHBsYW5l LT5iYXNlLmlkLCBwbGFuZS0+bmFtZSk7Cj4gPiArCQkJRFJNX0RFQlVHX0tNUygiW1BMQU5FOiVk OiVzXSBhdG9taWMgY29yZSBjaGVjayBmYWlsZWRcbiIsCj4gPiArCQkJCSAgICAgIHBsYW5lLT5i YXNlLmlkLCBwbGFuZS0+bmFtZSk7Cj4gPiAgCQkJcmV0dXJuIHJldDsKPiA+ICAJCX0KPiA+ICAJ fQo+ID4gQEAgLTE2MDUsOCArMTYwNSw4IEBAIGludCBkcm1fYXRvbWljX2NoZWNrX29ubHkoc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ID4gIAlmb3JfZWFjaF9uZXdfY3J0Y19pbl9z dGF0ZShzdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwgaSkgewo+ID4gIAkJcmV0ID0gZHJtX2F0b21p Y19jcnRjX2NoZWNrKGNydGMsIGNydGNfc3RhdGUpOwo+ID4gIAkJaWYgKHJldCkgewo+ID4gLQkJ CURSTV9ERUJVR19BVE9NSUMoIltDUlRDOiVkOiVzXSBhdG9taWMgY29yZSBjaGVjayBmYWlsZWRc biIsCj4gPiAtCQkJCQkgY3J0Yy0+YmFzZS5pZCwgY3J0Yy0+bmFtZSk7Cj4gPiArCQkJRFJNX0RF QlVHX0tNUygiW0NSVEM6JWQ6JXNdIGF0b21pYyBjb3JlIGNoZWNrIGZhaWxlZFxuIiwKPiA+ICsJ CQkJICAgICAgY3J0Yy0+YmFzZS5pZCwgY3J0Yy0+bmFtZSk7Cj4gPiAgCQkJcmV0dXJuIHJldDsK PiA+ICAJCX0KPiA+ICAJfQo+ID4gQEAgLTE2MjAsOCArMTYyMCw4IEBAIGludCBkcm1fYXRvbWlj X2NoZWNrX29ubHkoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ID4gIAlpZiAoIXN0 YXRlLT5hbGxvd19tb2Rlc2V0KSB7Cj4gPiAgCQlmb3JfZWFjaF9uZXdfY3J0Y19pbl9zdGF0ZShz dGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwgaSkgewo+ID4gIAkJCWlmIChkcm1fYXRvbWljX2NydGNf bmVlZHNfbW9kZXNldChjcnRjX3N0YXRlKSkgewo+ID4gLQkJCQlEUk1fREVCVUdfQVRPTUlDKCJb Q1JUQzolZDolc10gcmVxdWlyZXMgZnVsbCBtb2Rlc2V0XG4iLAo+ID4gLQkJCQkJCSBjcnRjLT5i YXNlLmlkLCBjcnRjLT5uYW1lKTsKPiA+ICsJCQkJRFJNX0RFQlVHX0tNUygiW0NSVEM6JWQ6JXNd IHJlcXVpcmVzIGZ1bGwgbW9kZXNldFxuIiwKPiA+ICsJCQkJCSAgICAgIGNydGMtPmJhc2UuaWQs IGNydGMtPm5hbWUpOwo+ID4gIAkJCQlyZXR1cm4gLUVJTlZBTDsKPiA+ICAJCQl9Cj4gPiAgCQl9 Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ID4gaW5kZXggY2VkMWFjOGU2OGEw Li44NjI1YjE4MWY2YjYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Y19oZWxwZXIuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMK PiA+IEBAIC0xMjEsOSArMTIxLDkgQEAgc3RhdGljIGludCBoYW5kbGVfY29uZmxpY3RpbmdfZW5j b2RlcnMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ID4gIAo+ID4gIAkJaWYgKG5l d19lbmNvZGVyKSB7Cj4gPiAgCQkJaWYgKGVuY29kZXJfbWFzayAmICgxIDw8IGRybV9lbmNvZGVy X2luZGV4KG5ld19lbmNvZGVyKSkpIHsKPiA+IC0JCQkJRFJNX0RFQlVHX0FUT01JQygiW0VOQ09E RVI6JWQ6JXNdIG9uIFtDT05ORUNUT1I6JWQ6JXNdIGFscmVhZHkgYXNzaWduZWRcbiIsCj4gPiAt CQkJCQluZXdfZW5jb2Rlci0+YmFzZS5pZCwgbmV3X2VuY29kZXItPm5hbWUsCj4gPiAtCQkJCQlj b25uZWN0b3ItPmJhc2UuaWQsIGNvbm5lY3Rvci0+bmFtZSk7Cj4gPiArCQkJCURSTV9ERUJVR19L TVMoIltFTkNPREVSOiVkOiVzXSBvbiBbQ09OTkVDVE9SOiVkOiVzXSBhbHJlYWR5IGFzc2lnbmVk XG4iLAo+ID4gKwkJCQkJICAgICAgbmV3X2VuY29kZXItPmJhc2UuaWQsIG5ld19lbmNvZGVyLT5u YW1lLAo+ID4gKwkJCQkJICAgICAgY29ubmVjdG9yLT5iYXNlLmlkLCBjb25uZWN0b3ItPm5hbWUp Owo+ID4gIAo+ID4gIAkJCQlyZXR1cm4gLUVJTlZBTDsKPiA+ICAJCQl9Cj4gPiBAQCAtMTU4LDEx ICsxNTgsMTEgQEAgc3RhdGljIGludCBoYW5kbGVfY29uZmxpY3RpbmdfZW5jb2RlcnMoc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ID4gIAkJCWNvbnRpbnVlOwo+ID4gIAo+ID4gIAkJ aWYgKCFkaXNhYmxlX2NvbmZsaWN0aW5nX2VuY29kZXJzKSB7Cj4gPiAtCQkJRFJNX0RFQlVHX0FU T01JQygiW0VOQ09ERVI6JWQ6JXNdIGluIHVzZSBvbiBbQ1JUQzolZDolc10gYnkgW0NPTk5FQ1RP UjolZDolc11cbiIsCj4gPiAtCQkJCQkgZW5jb2Rlci0+YmFzZS5pZCwgZW5jb2Rlci0+bmFtZSwK PiA+IC0JCQkJCSBjb25uZWN0b3ItPnN0YXRlLT5jcnRjLT5iYXNlLmlkLAo+ID4gLQkJCQkJIGNv bm5lY3Rvci0+c3RhdGUtPmNydGMtPm5hbWUsCj4gPiAtCQkJCQkgY29ubmVjdG9yLT5iYXNlLmlk LCBjb25uZWN0b3ItPm5hbWUpOwo+ID4gKwkJCURSTV9ERUJVR19LTVMoIltFTkNPREVSOiVkOiVz XSBpbiB1c2Ugb24gW0NSVEM6JWQ6JXNdIGJ5IFtDT05ORUNUT1I6JWQ6JXNdXG4iLAo+ID4gKwkJ CQkgICAgICBlbmNvZGVyLT5iYXNlLmlkLCBlbmNvZGVyLT5uYW1lLAo+ID4gKwkJCQkgICAgICBj b25uZWN0b3ItPnN0YXRlLT5jcnRjLT5iYXNlLmlkLAo+ID4gKwkJCQkgICAgICBjb25uZWN0b3It PnN0YXRlLT5jcnRjLT5uYW1lLAo+ID4gKwkJCQkgICAgICBjb25uZWN0b3ItPmJhc2UuaWQsIGNv bm5lY3Rvci0+bmFtZSk7Cj4gPiAgCQkJcmV0ID0gLUVJTlZBTDsKPiA+ICAJCQlnb3RvIG91dDsK PiA+ICAJCX0KPiA+IEBAIC0zMTcsMTggKzMxNywxNiBAQCB1cGRhdGVfY29ubmVjdG9yX3JvdXRp bmcoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ID4gIAkJbmV3X2VuY29kZXIgPSBk cm1fYXRvbWljX2hlbHBlcl9iZXN0X2VuY29kZXIoY29ubmVjdG9yKTsKPiA+ICAKPiA+ICAJaWYg KCFuZXdfZW5jb2Rlcikgewo+ID4gLQkJRFJNX0RFQlVHX0FUT01JQygiTm8gc3VpdGFibGUgZW5j b2RlciBmb3VuZCBmb3IgW0NPTk5FQ1RPUjolZDolc11cbiIsCj4gPiAtCQkJCSBjb25uZWN0b3It PmJhc2UuaWQsCj4gPiAtCQkJCSBjb25uZWN0b3ItPm5hbWUpOwo+ID4gKwkJRFJNX0RFQlVHX0tN UygiTm8gc3VpdGFibGUgZW5jb2RlciBmb3VuZCBmb3IgW0NPTk5FQ1RPUjolZDolc11cbiIsCj4g PiArCQkJICAgICAgY29ubmVjdG9yLT5iYXNlLmlkLCBjb25uZWN0b3ItPm5hbWUpOwo+ID4gIAkJ cmV0dXJuIC1FSU5WQUw7Cj4gPiAgCX0KPiA+ICAKPiA+ICAJaWYgKCFkcm1fZW5jb2Rlcl9jcnRj X29rKG5ld19lbmNvZGVyLCBuZXdfY29ubmVjdG9yX3N0YXRlLT5jcnRjKSkgewo+ID4gLQkJRFJN X0RFQlVHX0FUT01JQygiW0VOQ09ERVI6JWQ6JXNdIGluY29tcGF0aWJsZSB3aXRoIFtDUlRDOiVk OiVzXVxuIiwKPiA+IC0JCQkJIG5ld19lbmNvZGVyLT5iYXNlLmlkLAo+ID4gLQkJCQkgbmV3X2Vu Y29kZXItPm5hbWUsCj4gPiAtCQkJCSBuZXdfY29ubmVjdG9yX3N0YXRlLT5jcnRjLT5iYXNlLmlk LAo+ID4gLQkJCQkgbmV3X2Nvbm5lY3Rvcl9zdGF0ZS0+Y3J0Yy0+bmFtZSk7Cj4gPiArCQlEUk1f REVCVUdfS01TKCJbRU5DT0RFUjolZDolc10gaW5jb21wYXRpYmxlIHdpdGggW0NSVEM6JWQ6JXNd XG4iLAo+ID4gKwkJCSAgICAgIG5ld19lbmNvZGVyLT5iYXNlLmlkLCBuZXdfZW5jb2Rlci0+bmFt ZSwKPiA+ICsJCQkgICAgICBuZXdfY29ubmVjdG9yX3N0YXRlLT5jcnRjLT5iYXNlLmlkLAo+ID4g KwkJCSAgICAgIG5ld19jb25uZWN0b3Jfc3RhdGUtPmNydGMtPm5hbWUpOwo+ID4gIAkJcmV0dXJu IC1FSU5WQUw7Cj4gPiAgCX0KPiA+ICAKPiA+IEBAIC00MDQsNyArNDAyLDcgQEAgbW9kZV9maXh1 cChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gPiAgCQlyZXQgPSBkcm1fYnJpZGdl X21vZGVfZml4dXAoZW5jb2Rlci0+YnJpZGdlLCAmbmV3X2NydGNfc3RhdGUtPm1vZGUsCj4gPiAg CQkJCSZuZXdfY3J0Y19zdGF0ZS0+YWRqdXN0ZWRfbW9kZSk7Cj4gPiAgCQlpZiAoIXJldCkgewo+ ID4gLQkJCURSTV9ERUJVR19BVE9NSUMoIkJyaWRnZSBmaXh1cCBmYWlsZWRcbiIpOwo+ID4gKwkJ CURSTV9ERUJVR19LTVMoIkJyaWRnZSBmaXh1cCBmYWlsZWRcbiIpOwo+ID4gIAkJCXJldHVybiAt RUlOVkFMOwo+ID4gIAkJfQo+ID4gIAo+ID4gQEAgLTQxMiwxNiArNDEwLDE2IEBAIG1vZGVfZml4 dXAoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ID4gIAkJCXJldCA9IGZ1bmNzLT5h dG9taWNfY2hlY2soZW5jb2RlciwgbmV3X2NydGNfc3RhdGUsCj4gPiAgCQkJCQkJICBuZXdfY29u bl9zdGF0ZSk7Cj4gPiAgCQkJaWYgKHJldCkgewo+ID4gLQkJCQlEUk1fREVCVUdfQVRPTUlDKCJb RU5DT0RFUjolZDolc10gY2hlY2sgZmFpbGVkXG4iLAo+ID4gLQkJCQkJCSBlbmNvZGVyLT5iYXNl LmlkLCBlbmNvZGVyLT5uYW1lKTsKPiA+ICsJCQkJRFJNX0RFQlVHX0tNUygiW0VOQ09ERVI6JWQ6 JXNdIGNoZWNrIGZhaWxlZFxuIiwKPiA+ICsJCQkJCSAgICAgIGVuY29kZXItPmJhc2UuaWQsIGVu Y29kZXItPm5hbWUpOwo+ID4gIAkJCQlyZXR1cm4gcmV0Owo+ID4gIAkJCX0KPiA+ICAJCX0gZWxz ZSBpZiAoZnVuY3MgJiYgZnVuY3MtPm1vZGVfZml4dXApIHsKPiA+ICAJCQlyZXQgPSBmdW5jcy0+ bW9kZV9maXh1cChlbmNvZGVyLCAmbmV3X2NydGNfc3RhdGUtPm1vZGUsCj4gPiAgCQkJCQkJJm5l d19jcnRjX3N0YXRlLT5hZGp1c3RlZF9tb2RlKTsKPiA+ICAJCQlpZiAoIXJldCkgewo+ID4gLQkJ CQlEUk1fREVCVUdfQVRPTUlDKCJbRU5DT0RFUjolZDolc10gZml4dXAgZmFpbGVkXG4iLAo+ID4g LQkJCQkJCSBlbmNvZGVyLT5iYXNlLmlkLCBlbmNvZGVyLT5uYW1lKTsKPiA+ICsJCQkJRFJNX0RF QlVHX0tNUygiW0VOQ09ERVI6JWQ6JXNdIGZpeHVwIGZhaWxlZFxuIiwKPiA+ICsJCQkJCSAgICAg IGVuY29kZXItPmJhc2UuaWQsIGVuY29kZXItPm5hbWUpOwo+ID4gIAkJCQlyZXR1cm4gLUVJTlZB TDsKPiA+ICAJCQl9Cj4gPiAgCQl9Cj4gPiBAQCAtNDQ0LDggKzQ0Miw4IEBAIG1vZGVfZml4dXAo c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ID4gIAkJcmV0ID0gZnVuY3MtPm1vZGVf Zml4dXAoY3J0YywgJm5ld19jcnRjX3N0YXRlLT5tb2RlLAo+ID4gIAkJCQkJJm5ld19jcnRjX3N0 YXRlLT5hZGp1c3RlZF9tb2RlKTsKPiA+ICAJCWlmICghcmV0KSB7Cj4gPiAtCQkJRFJNX0RFQlVH X0FUT01JQygiW0NSVEM6JWQ6JXNdIGZpeHVwIGZhaWxlZFxuIiwKPiA+IC0JCQkJCSBjcnRjLT5i YXNlLmlkLCBjcnRjLT5uYW1lKTsKPiA+ICsJCQlEUk1fREVCVUdfS01TKCJbQ1JUQzolZDolc10g Zml4dXAgZmFpbGVkXG4iLAo+ID4gKwkJCQkgICAgICBjcnRjLT5iYXNlLmlkLCBjcnRjLT5uYW1l KTsKPiA+ICAJCQlyZXR1cm4gLUVJTlZBTDsKPiA+ICAJCX0KPiA+ICAJfQo+ID4gQEAgLTQ2Miwy MSArNDYwLDIxIEBAIHN0YXRpYyBlbnVtIGRybV9tb2RlX3N0YXR1cyBtb2RlX3ZhbGlkX3BhdGgo c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+ICAKPiA+ICAJcmV0ID0gZHJtX2Vu Y29kZXJfbW9kZV92YWxpZChlbmNvZGVyLCBtb2RlKTsKPiA+ICAJaWYgKHJldCAhPSBNT0RFX09L KSB7Cj4gPiAtCQlEUk1fREVCVUdfQVRPTUlDKCJbRU5DT0RFUjolZDolc10gbW9kZV92YWxpZCgp IGZhaWxlZFxuIiwKPiA+IC0JCQkJZW5jb2Rlci0+YmFzZS5pZCwgZW5jb2Rlci0+bmFtZSk7Cj4g PiArCQlEUk1fREVCVUdfS01TKCJbRU5DT0RFUjolZDolc10gbW9kZV92YWxpZCgpIGZhaWxlZFxu IiwKPiA+ICsJCQkgICAgICBlbmNvZGVyLT5iYXNlLmlkLCBlbmNvZGVyLT5uYW1lKTsKPiA+ICAJ CXJldHVybiByZXQ7Cj4gPiAgCX0KPiA+ICAKPiA+ICAJcmV0ID0gZHJtX2JyaWRnZV9tb2RlX3Zh bGlkKGVuY29kZXItPmJyaWRnZSwgbW9kZSk7Cj4gPiAgCWlmIChyZXQgIT0gTU9ERV9PSykgewo+ ID4gLQkJRFJNX0RFQlVHX0FUT01JQygiW0JSSURHRV0gbW9kZV92YWxpZCgpIGZhaWxlZFxuIik7 Cj4gPiArCQlEUk1fREVCVUdfS01TKCJbQlJJREdFXSBtb2RlX3ZhbGlkKCkgZmFpbGVkXG4iKTsK PiA+ICAJCXJldHVybiByZXQ7Cj4gPiAgCX0KPiA+ICAKPiA+ICAJcmV0ID0gZHJtX2NydGNfbW9k ZV92YWxpZChjcnRjLCBtb2RlKTsKPiA+ICAJaWYgKHJldCAhPSBNT0RFX09LKSB7Cj4gPiAtCQlE Uk1fREVCVUdfQVRPTUlDKCJbQ1JUQzolZDolc10gbW9kZV92YWxpZCgpIGZhaWxlZFxuIiwKPiA+ IC0JCQkJY3J0Yy0+YmFzZS5pZCwgY3J0Yy0+bmFtZSk7Cj4gPiArCQlEUk1fREVCVUdfS01TKCJb Q1JUQzolZDolc10gbW9kZV92YWxpZCgpIGZhaWxlZFxuIiwKPiA+ICsJCQkgICAgICBjcnRjLT5i YXNlLmlkLCBjcnRjLT5uYW1lKTsKPiA+ICAJCXJldHVybiByZXQ7Cj4gPiAgCX0KPiA+ICAKPiA+ IEBAIC02MDUsOCArNjAzLDggQEAgZHJtX2F0b21pY19oZWxwZXJfY2hlY2tfbW9kZXNldChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gIAkJfQo+ID4gIAo+ID4gIAkJaWYgKG5ld19jcnRjX3N0 YXRlLT5lbmFibGUgIT0gaGFzX2Nvbm5lY3RvcnMpIHsKPiA+IC0JCQlEUk1fREVCVUdfQVRPTUlD KCJbQ1JUQzolZDolc10gZW5hYmxlZC9jb25uZWN0b3JzIG1pc21hdGNoXG4iLAo+ID4gLQkJCQkJ IGNydGMtPmJhc2UuaWQsIGNydGMtPm5hbWUpOwo+ID4gKwkJCURSTV9ERUJVR19LTVMoIltDUlRD OiVkOiVzXSBlbmFibGVkL2Nvbm5lY3RvcnMgbWlzbWF0Y2hcbiIsCj4gPiArCQkJCSAgICAgIGNy dGMtPmJhc2UuaWQsIGNydGMtPm5hbWUpOwo+ID4gIAo+ID4gIAkJCXJldHVybiAtRUlOVkFMOwo+ ID4gIAkJfQo+ID4gQEAgLTczNSw4ICs3MzMsOCBAQCBkcm1fYXRvbWljX2hlbHBlcl9jaGVja19w bGFuZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ICAKPiA+ICAJCXJldCA9IGZ1bmNzLT5h dG9taWNfY2hlY2socGxhbmUsIG5ld19wbGFuZV9zdGF0ZSk7Cj4gPiAgCQlpZiAocmV0KSB7Cj4g PiAtCQkJRFJNX0RFQlVHX0FUT01JQygiW1BMQU5FOiVkOiVzXSBhdG9taWMgZHJpdmVyIGNoZWNr IGZhaWxlZFxuIiwKPiA+IC0JCQkJCSBwbGFuZS0+YmFzZS5pZCwgcGxhbmUtPm5hbWUpOwo+ID4g KwkJCURSTV9ERUJVR19LTVMoIltQTEFORTolZDolc10gYXRvbWljIGRyaXZlciBjaGVjayBmYWls ZWRcbiIsCj4gPiArCQkJCSAgICAgIHBsYW5lLT5iYXNlLmlkLCBwbGFuZS0+bmFtZSk7Cj4gPiAg CQkJcmV0dXJuIHJldDsKPiA+ICAJCX0KPiA+ICAJfQo+ID4gQEAgLTc1MSw4ICs3NDksOCBAQCBk cm1fYXRvbWljX2hlbHBlcl9jaGVja19wbGFuZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ ICAKPiA+ICAJCXJldCA9IGZ1bmNzLT5hdG9taWNfY2hlY2soY3J0YywgbmV3X2NydGNfc3RhdGUp Owo+ID4gIAkJaWYgKHJldCkgewo+ID4gLQkJCURSTV9ERUJVR19BVE9NSUMoIltDUlRDOiVkOiVz XSBhdG9taWMgZHJpdmVyIGNoZWNrIGZhaWxlZFxuIiwKPiA+IC0JCQkJCSBjcnRjLT5iYXNlLmlk LCBjcnRjLT5uYW1lKTsKPiA+ICsJCQlEUk1fREVCVUdfS01TKCJbQ1JUQzolZDolc10gYXRvbWlj IGRyaXZlciBjaGVjayBmYWlsZWRcbiIsCj4gPiArCQkJCSAgICAgIGNydGMtPmJhc2UuaWQsIGNy dGMtPm5hbWUpOwo+ID4gIAkJCXJldHVybiByZXQ7Cj4gPiAgCQl9Cj4gPiAgCX0KPiA+IEBAIC0z MDk4LDggKzMwOTYsOCBAQCBzdGF0aWMgaW50IHBhZ2VfZmxpcF9jb21tb24oc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKnN0YXRlLAo+ID4gIAkvKiBNYWtlIHN1cmUgd2UgZG9uJ3QgYWNjaWRlbnRh bGx5IGRvIGEgZnVsbCBtb2Rlc2V0LiAqLwo+ID4gIAlzdGF0ZS0+YWxsb3dfbW9kZXNldCA9IGZh bHNlOwo+ID4gIAlpZiAoIWNydGNfc3RhdGUtPmFjdGl2ZSkgewo+ID4gLQkJRFJNX0RFQlVHX0FU T01JQygiW0NSVEM6JWQ6JXNdIGRpc2FibGVkLCByZWplY3RpbmcgbGVnYWN5IGZsaXBcbiIsCj4g PiAtCQkJCSBjcnRjLT5iYXNlLmlkLCBjcnRjLT5uYW1lKTsKPiA+ICsJCURSTV9ERUJVR19LTVMo IltDUlRDOiVkOiVzXSBkaXNhYmxlZCwgcmVqZWN0aW5nIGxlZ2FjeSBmbGlwXG4iLAo+ID4gKwkJ CSAgICAgIGNydGMtPmJhc2UuaWQsIGNydGMtPm5hbWUpOwo+ID4gIAkJcmV0dXJuIC1FSU5WQUw7 Cj4gPiAgCX0KPiA+ICAKPiA+IC0tIAo+ID4gMi4xMy42Cj4gCj4gLS0gCj4gVmlsbGUgU3lyasOk bMOkCj4gSW50ZWwgT1RDCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVsCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwg Q29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==