From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH i-g-t v4] lib/igt_core: Add kmsg capture and dumping Date: Fri, 27 Nov 2015 11:31:52 +0100 Message-ID: <20151127103152.GX17050@phenom.ffwll.local> References: <1448019977.4983.8.camel@linux.intel.com> <1448540273-19233-1-git-send-email-joonas.lahtinen@linux.intel.com> <20151126143459.GP17050@phenom.ffwll.local> <1448550014.6560.18.camel@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-f50.google.com (mail-wm0-f50.google.com [74.125.82.50]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8ACC16E7E1 for ; Fri, 27 Nov 2015 02:31:56 -0800 (PST) Received: by wmww144 with SMTP id w144so50098797wmw.1 for ; Fri, 27 Nov 2015 02:31:55 -0800 (PST) Content-Disposition: inline In-Reply-To: <1448550014.6560.18.camel@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: Joonas Lahtinen Cc: Daniel Vetter , Intel graphics driver community testing & development , Thomas Wood List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBOb3YgMjYsIDIwMTUgYXQgMDU6MDA6MTRQTSArMDIwMCwgSm9vbmFzIExhaHRpbmVu IHdyb3RlOgo+IE9uIHRvLCAyMDE1LTExLTI2IGF0IDE1OjM0ICswMTAwLCBEYW5pZWwgVmV0dGVy IHdyb3RlOgo+ID4gT24gVGh1LCBOb3YgMjYsIDIwMTUgYXQgMDI6MTc6NTNQTSArMDIwMCwgSm9v bmFzIExhaHRpbmVuIHdyb3RlOgo+ID4gPiBDYXB0dXJlIHRoZSBvdXRwdXQgZnJvbSAvZGV2L2tt c2cgZHVyaW5nIHRlc3QgZXhlY3V0aW9uCj4gPiA+IGluZGVwZW5kYW50bHkKPiA+ID4gb2Ygb3Ro ZXIgY29uY3VycmVudCB3YXRjaGVycyBsaWtlIFBpZ2xpdCB0ZXN0IHJ1bm5lci4KPiA+ID4gCj4g PiA+IFRoZSBjYXB0dXJlZCBvdXRwdXQgaXMgYW5hbHl6ZWQgYW5kIHRoZSB3aG9sZSBvdXRwdXQg ZHVtcGVkIGlmCj4gPiA+IG1lc3NhZ2UKPiA+ID4gd2l0aCBwcmlvcml0eSBMT0dfV0FSTklORyBv ciBoaWdoZXIgaXMgZW1pdHRlZCBmcm9tIGFueSBkb21haW4uCj4gPiA+IAo+ID4gPiBBbHNvIGFk ZGluZyBpZ3RfY2FwdHVyZSB0byBsaWIvdGVzdHMgd2hpY2ggd2lsbCBmYWlsIHN1YnRlc3RzIGFu ZAo+ID4gPiBwcm9kdWNlIGttc2cgb3V0cHV0IHdoaWNoIHNob3VsZCBiZSBjYXB0dXJlZCBieSB0 aGUgbmV3IGNvZGUuCj4gPiA+IAo+ID4gPiB2NDoKPiA+ID4gLSBEbyBub3QgZWZmZWN0IHJldHVy biB2YWx1ZSBvZiB0ZXN0LCBqdXN0IGR1bXAgKERhbmllbCkKPiA+ID4gCj4gPiA+IHYzOgo+ID4g PiAtIFVzZSBPX0NMT0VYRUMgYW5kIGNsYXJpZnkgaGV4IGRlY29kaW5nIChDaHJpcykKPiA+ID4g Cj4gPiA+IHYyOgo+ID4gPiAtIFJlb3Blbi9jbG9zZSB0aGUga21zZyBGRCBwZXIgZWFjaCB0ZXN0 IChDaHJpcykKPiA+ID4gLSBCZXR0ZXIgY29tbWl0IG1lc2FnZSAoRGFuaWVsKQo+ID4gPiAtIERp c3BsYXkgZmFpbHVyZSBkdWUgdG8ga21zZyBvbmx5IGFzIEZBSUwgKEtNU0cpCj4gPiA+IAo+ID4g PiBDYzogVGhvbWFzIFdvb2QgPHRob21hcy53b29kQGludGVsLmNvbT4KPiA+ID4gQ2M6IENocmlz IFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+ID4gPiBDYzogRGFtaWVuIExlc3Bp YXUgPGRhbWllbi5sZXNwaWF1QGludGVsLmNvbT4KPiA+ID4gQ2M6IERhbmllbCBWZXR0ZXIgPGRh bmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4gPiA+IEFja2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5p ZWwudmV0dGVyQGZmd2xsLmNoPgo+ID4gCj4gPiBIbSBJIGd1ZXNzIHdlIG5lZWQgdG8gc3RyaWtl IHRoYXQgYWNrIGFnYWluLCBtb3JlIGNvbW1lbnRzIGJlbG93Lgo+ID4gCj4gPiA+IFNpZ25lZC1v ZmYtYnk6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4K PiA+ID4gLS0tCj4gPiA+ICBsaWIvaWd0X2NvcmUuYyAgICAgICAgICAgICB8IDEyOQo+ID4gPiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KPiA+ID4gIGxpYi90 ZXN0cy8uZ2l0aWdub3JlICAgICAgIHwgICAxICsKPiA+ID4gIGxpYi90ZXN0cy9NYWtlZmlsZS5z b3VyY2VzIHwgICAyICsKPiA+ID4gIGxpYi90ZXN0cy9pZ3RfY2FwdHVyZS5jICAgIHwgIDg5ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiA+ID4gIDQgZmlsZXMgY2hhbmdlZCwgMjE4 IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCj4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQg bGliL3Rlc3RzL2lndF9jYXB0dXJlLmMKPiA+ID4gCj4gPiA+IGRpZmYgLS1naXQgYS9saWIvaWd0 X2NvcmUuYyBiL2xpYi9pZ3RfY29yZS5jCj4gPiA+IGluZGV4IDg0Y2Y4ZDIuLmIxYWE3NTAgMTAw NjQ0Cj4gPiA+IC0tLSBhL2xpYi9pZ3RfY29yZS5jCj4gPiA+ICsrKyBiL2xpYi9pZ3RfY29yZS5j Cj4gPiA+IEBAIC00Myw2ICs0Myw3IEBACj4gPiA+ICAjaW5jbHVkZSA8Z2V0b3B0Lmg+Cj4gPiA+ ICAjaW5jbHVkZSA8c3RkbGliLmg+Cj4gPiA+ICAjaW5jbHVkZSA8dW5pc3RkLmg+Cj4gPiA+ICsj aW5jbHVkZSA8c3lzbG9nLmg+Cj4gPiA+ICAjaW5jbHVkZSA8c3lzL3dhaXQuaD4KPiA+ID4gICNp bmNsdWRlIDxzeXMvdHlwZXMuaD4KPiA+ID4gICNpZmRlZiBfX2xpbnV4X18KPiA+ID4gQEAgLTIx MSw2ICsyMTIsOCBAQAo+ID4gPiAgICogIi0taGVscCIgY29tbWFuZCBsaW5lIG9wdGlvbi4KPiA+ ID4gICAqLwo+ID4gPiAgCj4gPiA+ICsjZGVmaW5lIElHVF9LTVNHX0RVTVBfQlVGX1NJWkUJCTQw OTYKPiA+ID4gKwo+ID4gPiAgc3RhdGljIHVuc2lnbmVkIGludCBleGl0X2hhbmRsZXJfY291bnQ7 Cj4gPiA+ICBjb25zdCBjaGFyICppZ3RfaW50ZXJhY3RpdmVfZGVidWc7Cj4gPiA+ICAKPiA+ID4g QEAgLTI0OCw2ICsyNTEsMTAgQEAgZW51bSB7Cj4gPiA+ICBzdGF0aWMgaW50IGlndF9leGl0Y29k ZSA9IElHVF9FWElUX1NVQ0NFU1M7Cj4gPiA+ICBzdGF0aWMgY29uc3QgY2hhciAqY29tbWFuZF9z dHI7Cj4gPiA+ICAKPiA+ID4gK3N0YXRpYyBpbnQgaWd0X2ttc2dfY2FwdHVyZV9mZCA9IC0xOwo+ ID4gPiArc3RhdGljIGludCBpZ3Rfa21zZ19jaGVja19mZCA9IC0xOwo+ID4gPiArc3RhdGljIGNo YXIqIGlndF9rbXNnX2R1bXBfYnVmID0gTlVMTDsKPiA+ID4gKwo+ID4gPiAgc3RhdGljIGNoYXIq IGlndF9sb2dfZG9tYWluX2ZpbHRlcjsKPiA+ID4gIHN0YXRpYyBzdHJ1Y3Qgewo+ID4gPiAgCWNo YXIgKmVudHJpZXNbMjU2XTsKPiA+ID4gQEAgLTMxMyw2ICszMjAsMTEyIEBAIHN0YXRpYyB2b2lk IF9pZ3RfbG9nX2J1ZmZlcl9kdW1wKHZvaWQpCj4gPiA+ICAJcHRocmVhZF9tdXRleF91bmxvY2so JmxvZ19idWZmZXJfbXV0ZXgpOwo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+ICtzdGF0aWMgdm9pZCBf aWd0X2ttc2dfcmVzZXQodm9pZCkKPiA+ID4gK3sKPiA+ID4gKwlpZiAoaWd0X2ttc2dfZHVtcF9i dWYgPT0gTlVMTCkKPiA+ID4gKwkJaWd0X2ttc2dfZHVtcF9idWYgPQo+ID4gPiBtYWxsb2MoSUdU X0tNU0dfRFVNUF9CVUZfU0laRSk7Cj4gPiA+ICsKPiA+ID4gKwlpZiAoaWd0X2ttc2dfZHVtcF9i dWYgPT0gTlVMTCkgewo+ID4gPiArCQlpZ3Rfd2FybigiVW5hYmxlIHRvIGFsbG9jYXRlIG1lbW9y eSwgIgo+ID4gPiArCQkJICJjYW4gbm90IGR1bXAga21zZy5cbiIpOwo+ID4gPiArCQlyZXR1cm47 Cj4gPiA+ICsJfQo+ID4gPiArCj4gPiA+ICsJaWYgKGlndF9rbXNnX2NhcHR1cmVfZmQgPT0gLTEp Cj4gPiA+ICsJCWlndF9rbXNnX2NhcHR1cmVfZmQgPSBvcGVuKCIvZGV2L2ttc2ciLAo+ID4gPiAr CQkJCQkgICBPX1JET05MWSB8IE9fTk9OQkxPQ0sgfAo+ID4gPiBPX0NMT0VYRUMpOwo+ID4gPiAr Cj4gPiA+ICsJaWYgKGlndF9rbXNnX2NhcHR1cmVfZmQgPT0gLTEpCj4gPiA+ICsJCWdvdG8gZXJy X2NhcHR1cmU7Cj4gPiA+ICsKPiA+ID4gKwlpZiAoaWd0X2ttc2dfY2hlY2tfZmQgPT0gLTEpCj4g PiA+ICsJCWlndF9rbXNnX2NoZWNrX2ZkID0gb3BlbigiL2Rldi9rbXNnIiwKPiA+ID4gKwkJCQkJ IE9fUkRPTkxZIHwgT19OT05CTE9DSyB8Cj4gPiA+IE9fQ0xPRVhFQyk7Cj4gPiA+ICsKPiA+ID4g KwlpZiAoaWd0X2ttc2dfY2hlY2tfZmQgPT0gLTEpCj4gPiA+ICsJCWdvdG8gZXJyX2NoZWNrOwo+ ID4gPiArCj4gPiA+ICsJbHNlZWsoaWd0X2ttc2dfY2FwdHVyZV9mZCwgMCwgU0VFS19FTkQpOwo+ ID4gPiArCWxzZWVrKGlndF9rbXNnX2NoZWNrX2ZkLCAwLCBTRUVLX0VORCk7Cj4gPiA+ICsJcmV0 dXJuOwo+ID4gPiArCj4gPiA+ICtlcnJfY2hlY2s6Cj4gPiA+ICsJY2xvc2UoaWd0X2ttc2dfY2Fw dHVyZV9mZCk7Cj4gPiA+ICsJaWd0X2ttc2dfY2FwdHVyZV9mZCA9IC0xOwo+ID4gPiArZXJyX2Nh cHR1cmU6Cj4gPiA+ICsJZnJlZShpZ3Rfa21zZ19kdW1wX2J1Zik7Cj4gPiA+ICsJaWd0X2ttc2df ZHVtcF9idWYgPSBOVUxMOwo+ID4gPiArCXJldHVybjsKPiA+ID4gK30KPiA+ID4gKwo+ID4gPiAr c3RhdGljIGludCBfaWd0X2ttc2dfZHVtcChib29sIHByaW50LCBpbnQgZmlsdGVyX3ByaW9yaXR5 KQo+ID4gPiArewo+ID4gPiArCXNpemVfdCBuYnl0ZXM7Cj4gPiA+ICsJaW50IG5saW5lczsKPiA+ ID4gKwlpbnQgcHJlZml4Owo+ID4gPiArCWludCBwcmlvcml0eTsKPiA+ID4gKwljaGFyICpwOwo+ ID4gPiArCWludCBmZDsKPiA+ID4gKwo+ID4gPiArCWZkID0gcHJpbnQgPyBpZ3Rfa21zZ19jYXB0 dXJlX2ZkIDogaWd0X2ttc2dfY2hlY2tfZmQ7Cj4gPiA+ICsJaWYgKGZkID09IC0xKQo+ID4gPiAr CQlyZXR1cm4gMDsKPiA+ID4gKwo+ID4gPiArCW5saW5lcyA9IDA7Cj4gPiA+ICsJZG8gewo+ID4g PiArCQllcnJubyA9IDA7Cj4gPiA+ICsJCW5ieXRlcyA9IHJlYWQoZmQsIGlndF9rbXNnX2R1bXBf YnVmLAo+ID4gPiBJR1RfS01TR19EVU1QX0JVRl9TSVpFKTsKPiA+ID4gKwo+ID4gPiArCQlpZiAo bmJ5dGVzID09IC0xKQo+ID4gPiArCQkJY29udGludWU7Cj4gPiA+ICsKPiA+ID4gKwkJc3NjYW5m KGlndF9rbXNnX2R1bXBfYnVmLCAiJWQ7IiwgJnByZWZpeCk7Cj4gPiA+ICsJCXByaW9yaXR5ID0g cHJlZml4ICYgMHg3Owo+ID4gPiArCj4gPiA+ICsJCWlmIChwcmlvcml0eSA+IGZpbHRlcl9wcmlv cml0eSkKPiA+ID4gKwkJCWNvbnRpbnVlOwo+ID4gPiArCj4gPiA+ICsJCW5saW5lcysrOwo+ID4g PiArCj4gPiA+ICsJCWlmICghcHJpbnQpCj4gPiA+ICsJCQljb250aW51ZTsKPiA+ID4gKwo+ID4g PiArCQlpZiAobmxpbmVzID09IDEpCj4gPiA+ICsJCQlmcHJpbnRmKHN0ZGVyciwgIioqKiogS01T RyAqKioqXG4iKTsKPiA+IAo+ID4gUGxlYXNlIHVzZSB0aGUgaWd0IGxvZ2dpbmcgZnVuY3Rpb25z IHdlIGhhdmUuIFRoaXMgaG9sZHMgaW4gZ2VuZXJhbCwKPiA+IHBsZWFzZSBkb24ndCB1c2UgYW55 IG9mIHRoZSByYXcgb3V0cHV0IGZ1bmN0aW9ucyBhbmQgaW5zdGVhZCB1c2UgdGhlCj4gPiBpZ3Rf d2Fybi9pbmZvL2RlYnVnIHN0dWZmIGluIHlvdXIgZW50aXJlIHBhdGNoIGZvciBsb2dnaW5nLgo+ ID4gCj4gCj4gQWN0dWFsbHksIGlmIHlvdSBsb29rIGF0IHRoZSBjb2RlIEkgY29waWVkOwo+IAo+ IGZwcmludGYoc3RkZXJyLCAiKioqKiBERUJVRyAqKioqXG4iKTsKPiAKPiBTbywgSSB3YXMganVz dCB0cnlpbmcgdG8gbWFrZSBpdCBjb25zaXN0ZW50IHdpdGggdGhlIGV4aXN0aW5nIG91dHB1dC4K PiAKPiBXb3VsZCB5b3UgbGlrZSBib3RoIGNvbnZlcnRlZCB0byB1c2UgaWd0X3dhcm4gb3IgaWd0 X2RlYnVnPwoKSG0gcmlnaHQsIHdlIGRvIHJhdyBwcmludGluZyB0aGVyZSBzaW5jZSB0aGF0IGR1 bXBzIHRoZSBpZ3QgbG9nIC0gd291bGQKcmVjdXJzZSBvdGhlcndpc2UuCgo+ID4gQWxzbyB0aGUg cHJvYmxlbSB3aXRoIGR1bXBpbmcgaW50byBzdGRlcnIgaXMgdGhhdCB0aGlzIGlzIGF0IHRoZQo+ ID4gaWd0X3dhcm4KPiA+IGxldmVsLCB3aGljaCBtZWFucyBpZiB0aGlzIGhhcHBlbnMgeW91ciB0 ZXN0IHdpbGwgYmUgY29uc2lkZXJlZCBhCj4gPiBmYWlsdXJlCj4gPiBpbiBDSS4KPiA+IAo+ID4g QW5kIHRoZXJlJ3MgcGxlbnR5IG9mIGRyaXZlcnMgYW5kIG90aGVyIHN0dWZmIHRoYXQgZHVtcCBy YW5kb20gY3JhcAo+ID4gYXQKPiA+IHRoaXMgbGV2ZWwgaW50byBkbWVzZywgZXNwZWNpYWxseSBv dmVyIHN5c3RlbSBzdXNwZW5kIHJlc3VtZS4gV2hpY2gKPiA+IG1lYW5zCj4gPiB5b3VyIHBhdGNo IHdpbGwgcmVncmVzcyBhIHBpbGUgb2YgQkFUIGlndHMuCj4gPiAKPiA+IFdlIHJlYWxseSwgcmVh bGx5IG5lZWQgdG8gZmlsdGVyIGRtZXNnIHRoZSBzYW1lIHdheSBhcyBwaWdsaXQgZG9lcy4KPiA+ IEFuZCBJCj4gPiBtZWFuIF9leGFjdGx5XyB0aGUgc2FtZSB3YXkuIE90aGVyd2lzZSB0aGVyZSdz IGRpZmZlcmVuY2VzIGluIHRlc3QKPiA+IHN0YXR1cywKPiA+IGFuZCB0aGF0IG1lYW5zIG5vaXNl IGluIENJIGFuZCBmcnVzdHJhdGlvbiBhbGwgYXJvdW5kLgo+ID4gCj4gPiBPdGhlciBvcHRpb24g aXMgdG8gZHVtcCBhdCBpZ3RfaW5mbyBvciBpZ3RfZGVidWcgbGV2ZWwuCj4gPiAKPiAKPiBTaG91 bGQgSSBqdXN0IG1ha2UgaXQgb3B0aW9uYWwgcnVudGltZSBmbGFnIC0tZG1lc2cgZm9yIHRoZSB0 aW1lIGJlaW5nPwoKT25lIG9wdGlvbiB3b3VsZCBiZSB0byBkdW1wIGl0IGFsbCB3aXRoIGlndF9k ZWJ1ZygpIHdpdGggYW4gSUdUX0xPR19ET01BSU4Kb2YgImRtZXNnIiByaWdodCBiZWZvcmUgdGhl IChzdWIpdGVzdCBzdG9wcywgYW5kIGJlZm9yZSB3ZSBkbyB0aGUgbG9nZmlsZQpyZWNvcmQgZHVt cGluZyAoaW4gY2FzZSBvZiBmYWlsdXJlKS4gV2l0aCB0aGF0Ci0gWW91IGNvdWxkIHNlZSBpdCB3 aGVuIGVuYWJsaW5nIGZ1bGwgZGVidWcgKGZhbmN5IHZlcnNpb24gY291bGQgZXZlbiBkdW1wCiAg ZG1lc2cgaW4gcmVhbHRpbWUgaW4gYSBzZXBhcmF0ZSB0aHJlYWQgc28gdGhhdCBkbWVzZyBhbmQg aWd0IGxvZwogIGludGVybGVhdmUsIHRoYXQgd291bGQgYmUgcmVhbGx5IHVzZWZ1bCkuCi0gSWYg dGhlIHRlc3QgZmFpbHMgd2UnbGwgYWxzbyBkdW1wIGRtZXNnLgoKT25seSBwcm9ibGVtIGlzIHRo YXQgaWYgdGhlcmUncyBsb3RzIG9mIGRtZXNnIHNwZXcgdGhlIGRtZXNnIG1pZ2h0IGZsdXNoCm91 dCBhbGwgdGhlIHVzZWZ1bCBsb2cgbWVzc2FnZXMgZnJvbSBpZ3QgaXRzZWxmLiBXZSBtaWdodCBu ZWVkIHRvIGRvIHRoZQppbnRlcmxlYXZpbmcgcmlnaHQgYXdheS4KCkFzaWRlOiBJR1RfTE9HX0RP TUFJTiBpcyBraW5kYSBtZWFudCBmb3IgdGVzdGNhc2VzLCBmb3IgdGhlIGxpYnJhcnkgaXQKbWln aHQgYmUgYmV0dGVyIHRvIHVzZSB0aGUgbG93LWxldmVsIGZ1bmN0aW9uOgoKCWlndF9sb2coImRt ZXNnIiwgSUdUX0xPR19ERUJVRywgLi4uKTsKCj4gCj4gPiA+IGRpZmYgLS1naXQgYS9saWIvdGVz dHMvTWFrZWZpbGUuc291cmNlcwo+ID4gPiBiL2xpYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCj4g PiA+IGluZGV4IDc3N2I5YzEuLjY1MDZiYWYgMTAwNjQ0Cj4gPiA+IC0tLSBhL2xpYi90ZXN0cy9N YWtlZmlsZS5zb3VyY2VzCj4gPiA+ICsrKyBiL2xpYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCj4g PiA+IEBAIC0xLDQgKzEsNSBAQAo+ID4gPiAgY2hlY2tfUFJPR1JBTVMgPSBcCj4gPiA+ICsJaWd0 X2NhcHR1cmUgXAo+ID4gPiAgCWlndF9ub19leGl0IFwKPiA+ID4gIAlpZ3Rfbm9fZXhpdF9saXN0 X29ubHkgXAo+ID4gPiAgCWlndF9mb3JrX2hlbHBlciBcCj4gPiA+IEBAIC0zMiw0ICszMyw1IEBA IFhGQUlMX1RFU1RTID0gXAo+ID4gPiAgCWlndF9zaW1wbGVfdGVzdF9zdWJ0ZXN0cyBcCj4gPiA+ ICAJaWd0X3RpbWVvdXQgXAo+ID4gPiAgCWlndF9pbnZhbGlkX3N1YnRlc3RfbmFtZSBcCj4gPiA+ ICsJaWd0X2NhcHR1cmUgXAo+ID4gPiAgCSQoTlVMTCkKPiA+ID4gZGlmZiAtLWdpdCBhL2xpYi90 ZXN0cy9pZ3RfY2FwdHVyZS5jIGIvbGliL3Rlc3RzL2lndF9jYXB0dXJlLmMKPiA+ID4gbmV3IGZp bGUgbW9kZSAxMDA2NDQKPiA+ID4gaW5kZXggMDAwMDAwMC4uMjhmZmNlMQo+ID4gPiAtLS0gL2Rl di9udWxsCj4gPiA+ICsrKyBiL2xpYi90ZXN0cy9pZ3RfY2FwdHVyZS5jCj4gPiAKPiA+IGlndF9k bWVzZ19jYXB0dXJlPwo+ID4gCj4gCj4gSXQgYWN0dWFsbHkgdGVzdHMgdGhlIGlndF93YXJuIGFu ZCBpZ3RfZGVidWcgdG9vLCBzbyBmaWd1cmVkIGl0IGNvdWxkCj4gYmUgYSBnZW5lcmljIG5hbWUu CgpPaCwgdG90YWxseSBtaXNzZWQgdGhhdCwgc29ycnkuIEJ1dCB0aGVuIGxvb2tpbmcgYXQgdGhl IHRlc3RjYXNlIGl0CmRvZXNuJ3Qgc2VlbSB0byBkbyBhbGwgdGhhdCBtdWNoIHJlYWxseSAtIHRo ZXJlJ3Mgbm8gdGVzdHMgdGhhdCBlLmcuCmlndF93YXJuIGRvZXMgd2hhdCB3ZSBleHBlY3QgaXQg dG9vLiBBbmQgd2UgaGF2ZSBsb3RzIG9mIGlndF93YXJuIGFuZApzaW1pbGFyIGFsbCBvdmVyIHRo ZSBwbGFjZS4KClJlYWwgZnVuY3Rpb25hbCB0ZXN0Y2FzZSBmb3IgZG1lc2cgd291bGQgYmUgdG8g aW5qZWN0IHNvbWV0aGluZyBpbnRvIGttcwphbmQgbWFrZSBzdXJlIHdlIGxvZyBpdC4gQnV0IHRo YXQgdW5mb3J0dW5hdGVseSByZXF1aXJlcyByb290IHRvIHJ1biwgc28Kbm90IHN1aXRhYmxlIGFz IGEgbGlicmFyeSB1bml0IHRlc3QuCi1EYW5pZWwKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUg RW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==