From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm/i915/guc: Move wait for GuC out of spinlock/unlock Date: Tue, 24 Nov 2015 19:08:13 +0100 Message-ID: <20151124180813.GC17050@phenom.ffwll.local> References: <20151120084542.GU17050@phenom.ffwll.local> <1448319778-29282-1-git-send-email-yu.dai@intel.com> <20151124130410.GW17050@phenom.ffwll.local> <1448371593.32235.17.camel@intel.com> <565497B5.8070103@intel.com> <1448384747.32235.27.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-f54.google.com (mail-wm0-f54.google.com [74.125.82.54]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6797C721B1 for ; Tue, 24 Nov 2015 10:08:17 -0800 (PST) Received: by wmec201 with SMTP id c201so221801747wme.0 for ; Tue, 24 Nov 2015 10:08:16 -0800 (PST) Content-Disposition: inline In-Reply-To: <1448384747.32235.27.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Imre Deak Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBOb3YgMjQsIDIwMTUgYXQgMDc6MDU6NDdQTSArMDIwMCwgSW1yZSBEZWFrIHdyb3Rl Ogo+IE9uIHRpLCAyMDE1LTExLTI0IGF0IDA5OjAwIC0wODAwLCBZdSBEYWkgd3JvdGU6Cj4gPiAK PiA+IE9uIDExLzI0LzIwMTUgMDU6MjYgQU0sIEltcmUgRGVhayB3cm90ZToKPiA+ID4gT24gdGks IDIwMTUtMTEtMjQgYXQgMTQ6MDQgKzAxMDAsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiA+ID4g T24gTW9uLCBOb3YgMjMsIDIwMTUgYXQgMDM6MDI6NThQTSAtMDgwMCwgeXUuZGFpQGludGVsLmNv bSB3cm90ZToKPiA+ID4gPiA+IEZyb206IEFsZXggRGFpIDx5dS5kYWlAaW50ZWwuY29tPgo+ID4g PiA+ID4gCj4gPiA+ID4gPiBXaGVuIEd1QyBXb3JrIFF1ZXVlIGlzIGZ1bGwsIGRyaXZlciB3aWxs IHdhaXQgR3VDIGZvciBhdmFsaWFibGUKPiA+ID4gPiA+IHNwYWNlIGJ5IGRlbGF5aW5nIDFtcy4g VGhlIHdhaXQgbmVlZHMgdG8gYmUgb3V0IG9mIHNwaW5sb2NraXJxCj4gPiA+ID4gPiAvCj4gPiA+ ID4gPiB1bmxvY2suIE90aGVyd2lzZSwgbG9ja3VwIGhhcHBlbnMgYmVjYXVzZSBqaWZmaWVzIHdv bid0IGJlCj4gPiA+ID4gPiB1cGRhdGVkCj4gPiA+ID4gPiBkdXIgdG8gaXJxIGlzIGRpc2FibGVk Lgo+ID4gPiA+ID4gCj4gPiA+ID4gPiBJc3N1ZSBpcyBmb3VuZCBpbiBpZ3QvZ2VtX2Nsb3NlX3Jh Y2UuCj4gPiA+ID4gPiAKPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IEFsZXggRGFpIDx5dS5kYWlA aW50ZWwuY29tPgo+ID4gPiA+ID4gLS0tCj4gPiA+ID4gPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyB8IDI3Cj4gPiA+ID4gPiArKysrKysrKysrKysrKysrKy0K PiA+ID4gPiA+IC0tLS0tLS0tLQo+ID4gPiA+ID4gwqAxIGZpbGUgY2hhbmdlZCwgMTcgaW5zZXJ0 aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCj4gPiA+ID4gPiAKPiA+ID4gPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKPiA+ID4gPiA+IGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gPiA+ID4gPiBpbmRl eCAwYTZiMDA3Li4xNDE4Mzk3IDEwMDY0NAo+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKPiA+ID4gPiA+IEBAIC0yMDEsMTAgKzIwMSwx MyBAQCBzdGF0aWMgaW50IGd1Y19yaW5nX2Rvb3JiZWxsKHN0cnVjdAo+ID4gPiA+ID4gaTkxNV9n dWNfY2xpZW50ICpnYykKPiA+ID4gPiA+IMKgCXVuaW9uIGd1Y19kb29yYmVsbF9xdyAqZGI7Cj4g PiA+ID4gPiDCoAl2b2lkICpiYXNlOwo+ID4gPiA+ID4gwqAJaW50IGF0dGVtcHQgPSAyLCByZXQg PSAtRUFHQUlOOwo+ID4gPiA+ID4gKwl1bnNpZ25lZCBsb25nIGZsYWdzOwo+ID4gPiA+ID4gCj4g PiA+ID4gPiDCoAliYXNlID0ga21hcF9hdG9taWMoaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlKGdj LQo+ID4gPiA+ID4gPiBjbGllbnRfb2JqLCAwKSk7Cj4gPiA+ID4gCj4gPiA+ID4gV2UgZG9uJ3Qg bmVlZCBrbWFwX2F0b21pYyBhbnltb3JlIGhlcmUgbm93LCBzaW5jZSBpdCdzIG91dHNpZGUgb2YK PiA+ID4gPiB0aGUKPiA+ID4gPiBzcGlubG9jay4KPiA+ID4gPiAKPiA+ID4gPiA+IMKgCWRlc2Mg PSBiYXNlICsgZ2MtPnByb2NfZGVzY19vZmZzZXQ7Cj4gPiA+ID4gPiAKPiA+ID4gPiA+ICsJc3Bp bl9sb2NrX2lycXNhdmUoJmdjLT53cV9sb2NrLCBmbGFncyk7Cj4gPiA+ID4gCj4gPiA+ID4gUGxl YXNlIGRvbid0IHVzZSB0aGUgc3VwZXItZ2VuZXJpYyBfaXJxc2F2ZS4gSXQncyBleHBlbnNpdmUg YW5kCj4gPiA+ID4gcmVzdWx0cyBpbgo+ID4gPiA+IGZyYWdpbGUgY29kZSB3aGVuIHNvbWVvbmUg YWNjaWRlbnRhbGx5IHJldXNlcyBzb21ldGhpbmcgaW4gYW4KPiA+ID4gPiBpbnRlcnJ1cHQKPiA+ ID4gPiBoYW5kbGVyIHRoYXQgd2FzIG5ldmVyIG1lYW50IHRvIHJ1biBpbiB0aGF0IGNvbnRleHQu Cj4gPiA+ID4gCj4gPiA+ID4gSW5zdGVhZCBwbGVhc2UgdXNlIHRoZSBtb3N0IHNwZWNpZmljIGZ1 bnRpb246Cj4gPiA+ID4gLSBzcGluX2xvY2sgaWYgeW91IGtub3cgeW91IGFyZSBpbiBpcnEgY29u dGV4dC4KPiA+ID4gPiAtIHNpcG5fbG9ja19pcnEgaWYgeW91IGtub3cgeW91IGFyZSBub3QuCj4g PiA+IAo+ID4gPiBSaWdodCwgYW5kIHNpbXBseSBzcGluX2xvY2soKSBpZiB0aGUgbG9jayBpcyBu b3QgdGFrZW4gaW4gSVJRCj4gPiA+IGNvbnRleHQKPiA+ID4gZXZlci4KPiA+IAo+ID4gVGhpcyBp cyBub3QgaW4gSVJRIGNvbnRleHQuIFNvIEkgd2lsbCB1c2Ugc3Bpbl9sb2NrX2lycSBpbnN0ZWFk Lgo+IAo+IFlvdSBjYW4ganVzdCB1c2Ugc3Bpbl9sb2NrKCkuIHNwaW5fbG9ja19pcnEoKSBtYWtl cyBvbmx5IHNlbnNlIGlmIHlvdQo+IHRha2UgdGhlIGxvY2sgaW4gSVJRIGNvbnRleHQgdG9vLCB3 aGljaCBpcyBub3QgdGhlIGNhc2UuCgpJbW8ganVzdCBkcm9wIGJvdGggc3BpbmxvY2tzLCBhZGRp bmcgbG9ja3MgZm9yIGRlYnVnZnMgaXMgb3ZlcmtpbGwgaW1vLgotRGFuaWVsCgo+IAo+ID4gPiA+ IC0gc3Bpbl9sb2NrX2lycXNhdmUgc2hvdWxkIGJlIGEgYmlnIHdhcm5pbmcgc2lnbiB0aGF0IHlv dXIgY29kZQo+ID4gPiA+IGhhcwo+ID4gPiA+IMKgIGxheWVyaW5nIGlzc3Vlcy4KPiA+ID4gPiAK PiA+ID4gPiBQbGVhc2UgYXVkaXQgdGhlIGVudGlyZSBndWMgY29kZSBmb3IgdGhlIGFib3ZlIHR3 byBpc3N1ZXMuCj4gPiA+IAo+ID4gPiBBZ3JlZWQsIGl0IGxvb2tzIGluY29uc2lzdGVudCBhdG06 IHdlIGRvIHNwaW5fbG9jayh3cV9sb2NrKSBmcm9tCj4gPiA+IGRlYnVnZnMgYW5kIHNwaW5fbG9j a19pcnEod3FfbG9jaykgZnJvbSBpOTE1X2d1Y19zdWJtaXQoKS4gTmVpdGhlcgo+ID4gPiBvZgo+ ID4gPiB0aGVtIGFyZSBjYWxsZWQgZnJvbSBJUlEgY29udGV4dCBBRkFJQ1MsIGluIHdoaWNoIGNh c2UgYSBzaW1wbGUKPiA+ID4gc3Bpbl9sb2NrKCkgd291bGQgZG8uCj4gPiA+IAo+ID4gPiAtLUlt cmUKPiA+ID4gCj4gPiA+ID4gPiArCj4gPiA+ID4gPiDCoAkvKiBVcGRhdGUgdGhlIHRhaWwgc28g aXQgaXMgdmlzaWJsZSB0byBHdUMgKi8KPiA+ID4gPiA+IMKgCWRlc2MtPnRhaWwgPSBnYy0+d3Ff dGFpbDsKPiA+ID4gPiA+IAo+ID4gPiA+ID4gQEAgLTI0OCw3ICsyNTEsMTAgQEAgc3RhdGljIGlu dCBndWNfcmluZ19kb29yYmVsbChzdHJ1Y3QKPiA+ID4gPiA+IGk5MTVfZ3VjX2NsaWVudCAqZ2Mp Cj4gPiA+ID4gPiDCoAkJCWRiX2V4Yy5jb29raWUgPSAxOwo+ID4gPiA+ID4gwqAJfQo+ID4gPiA+ ID4gCj4gPiA+ID4gPiArCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmdjLT53cV9sb2NrLCBmbGFn cyk7Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiDCoAlrdW5tYXBfYXRvbWljKGJhc2UpOwo+ID4gPiA+ ID4gKwo+ID4gPiA+ID4gwqAJcmV0dXJuIHJldDsKPiA+ID4gPiA+IMKgfQo+ID4gPiA+ID4gCj4g PiA+ID4gPiBAQCAtNDg3LDE2ICs0OTMsMTYgQEAgc3RhdGljIGludCBndWNfZ2V0X3dvcmtxdWV1 ZV9zcGFjZShzdHJ1Y3QKPiA+ID4gPiA+IGk5MTVfZ3VjX2NsaWVudCAqZ2MsIHUzMiAqb2Zmc2V0 KQo+ID4gPiA+ID4gwqAJc3RydWN0IGd1Y19wcm9jZXNzX2Rlc2MgKmRlc2M7Cj4gPiA+ID4gPiDC oAl2b2lkICpiYXNlOwo+ID4gPiA+ID4gwqAJdTMyIHNpemUgPSBzaXplb2Yoc3RydWN0IGd1Y193 cV9pdGVtKTsKPiA+ID4gPiA+IC0JaW50IHJldCA9IDAsIHRpbWVvdXRfY291bnRlciA9IDIwMDsK PiA+ID4gPiA+ICsJaW50IHJldCA9IC1FVElNRURPVVQsIHRpbWVvdXRfY291bnRlciA9IDIwMDsK PiA+ID4gPiA+ICsJdW5zaWduZWQgbG9uZyBmbGFnczsKPiA+ID4gPiA+IAo+ID4gPiA+ID4gwqAJ YmFzZSA9IGttYXBfYXRvbWljKGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZShnYy0KPiA+ID4gPiA+ ID4gY2xpZW50X29iaiwgMCkpOwo+ID4gPiA+ID4gwqAJZGVzYyA9IGJhc2UgKyBnYy0+cHJvY19k ZXNjX29mZnNldDsKPiA+ID4gPiA+IAo+ID4gPiA+ID4gwqAJd2hpbGUgKHRpbWVvdXRfY291bnRl ci0tID4gMCkgewo+ID4gPiA+ID4gLQkJcmV0ID0gd2FpdF9mb3JfYXRvbWljKENJUkNfU1BBQ0Uo Z2MtPndxX3RhaWwsCj4gPiA+ID4gPiBkZXNjLT5oZWFkLAo+ID4gPiA+ID4gLQkJCQlnYy0+d3Ff c2l6ZSkgPj0gc2l6ZSwgMSk7Cj4gPiA+ID4gPiArCQlzcGluX2xvY2tfaXJxc2F2ZSgmZ2MtPndx X2xvY2ssIGZsYWdzKTsKPiA+ID4gPiA+IAo+ID4gPiA+ID4gLQkJaWYgKCFyZXQpIHsKPiA+ID4g PiA+ICsJCWlmIChDSVJDX1NQQUNFKGdjLT53cV90YWlsLCBkZXNjLT5oZWFkLCBnYy0KPiA+ID4g PiA+ID4gd3Ffc2l6ZSkgPj0gc2l6ZSkgewo+ID4gPiA+ID4gwqAJCQkqb2Zmc2V0ID0gZ2MtPndx X3RhaWw7Cj4gPiA+ID4gPiAKPiA+ID4gPiA+IMKgCQkJLyogYWR2YW5jZSB0aGUgdGFpbCBmb3Ig bmV4dCB3b3JrcXVldWUKPiA+ID4gPiA+IGl0ZW0gKi8KPiA+ID4gPiA+IEBAIC01MDUsNyArNTEx LDEzIEBAIHN0YXRpYyBpbnQgZ3VjX2dldF93b3JrcXVldWVfc3BhY2Uoc3RydWN0Cj4gPiA+ID4g PiBpOTE1X2d1Y19jbGllbnQgKmdjLCB1MzIgKm9mZnNldCkKPiA+ID4gPiA+IAo+ID4gPiA+ID4g wqAJCQkvKiB0aGlzIHdpbGwgYnJlYWsgdGhlIGxvb3AgKi8KPiA+ID4gPiA+IMKgCQkJdGltZW91 dF9jb3VudGVyID0gMDsKPiA+ID4gPiA+ICsJCQlyZXQgPSAwOwo+ID4gPiA+ID4gwqAJCX0KPiA+ ID4gPiA+ICsKPiA+ID4gPiA+ICsJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmdjLT53cV9sb2Nr LCBmbGFncyk7Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiArCQlpZiAodGltZW91dF9jb3VudGVyKQo+ ID4gPiA+ID4gKwkJCXVzbGVlcF9yYW5nZSgxMDAwLCAyMDAwKTsKPiA+ID4gPiAKPiA+ID4gPiBE byB3ZSByZWFsbHkgbm90IGhhdmUgYSBpbnRlcnJ1cHQvc2lnbmFsIGZyb20gdGhlIGd1YyB3aGVu IGl0IGhhcwo+ID4gPiA+IGNsZWFyZWQKPiA+ID4gPiB1cCBzb21lIHNwYWNlPwo+ID4gPiA+IAo+ ID4gCj4gPiBUaGlzIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiBmdyBhbHRob3VnaCBJIHRoaW5rIGl0 IGNvdWxkIGJlIGRvbmUKPiA+IHRocm91Z2ggCj4gPiB0aGUgZ3VjIHRvIGhvc3QgaW50ZXJydXB0 LiBJIGFtIHdvcnJ5IGFib3V0IHRoYXQgaWYgd2UgaW1wbGVtZW50Cj4gPiB0aGlzLCAKPiA+IGl0 IHdpbGwgZW5kIHVwIHdpdGggZHJpdmVyIGhhbmRsZXMgdG9vIG1hbnkgaW50ZXJydXB0cyAobWF5 YmUgc2FtZSAKPiA+IGFtb3VudCBvZiBjb250ZXh0IHN3aXRjaCkuIEhvd2V2ZXIsIGlkZWFsbHkg d2UgZG9uJ3Qgd2FudCB0byBoYW5kbGUgCj4gPiBpbnRlcnJ1cHRzIGF0IGFsbC4KPiA+ID4gPiA+ IMKgCX07Cj4gPiA+ID4gPiAKPiA+ID4gPiA+IMKgCWt1bm1hcF9hdG9taWMoYmFzZSk7Cj4gPiA+ ID4gPiBAQCAtNTk3LDE5ICs2MDksMTcgQEAgaW50IGk5MTVfZ3VjX3N1Ym1pdChzdHJ1Y3QKPiA+ ID4gPiA+IGk5MTVfZ3VjX2NsaWVudAo+ID4gPiA+ID4gKmNsaWVudCwKPiA+ID4gPiA+IMKgewo+ ID4gPiA+ID4gwqAJc3RydWN0IGludGVsX2d1YyAqZ3VjID0gY2xpZW50LT5ndWM7Cj4gPiA+ID4g PiDCoAllbnVtIGludGVsX3JpbmdfaWQgcmluZ19pZCA9IHJxLT5yaW5nLT5pZDsKPiA+ID4gPiA+ IC0JdW5zaWduZWQgbG9uZyBmbGFnczsKPiA+ID4gPiA+IMKgCWludCBxX3JldCwgYl9yZXQ7Cj4g PiA+ID4gPiAKPiA+ID4gPiA+IMKgCS8qIE5lZWQgdGhpcyBiZWNhdXNlIG9mIHRoZSBkZWZlcnJl ZCBwaW4gY3R4IGFuZCByaW5nCj4gPiA+ID4gPiAqLwo+ID4gPiA+ID4gwqAJLyogU2hhbGwgd2Ug bW92ZSB0aGlzIHJpZ2h0IGFmdGVyIHJpbmcgaXMgcGlubmVkPyAqLwo+ID4gPiA+ID4gwqAJbHJf Y29udGV4dF91cGRhdGUocnEpOwo+ID4gPiA+ID4gCj4gPiA+ID4gPiAtCXNwaW5fbG9ja19pcnFz YXZlKCZjbGllbnQtPndxX2xvY2ssIGZsYWdzKTsKPiA+ID4gPiA+IC0KPiA+ID4gPiA+IMKgCXFf cmV0ID0gZ3VjX2FkZF93b3JrcXVldWVfaXRlbShjbGllbnQsIHJxKTsKPiA+ID4gPiA+IMKgCWlm IChxX3JldCA9PSAwKQo+ID4gPiA+ID4gwqAJCWJfcmV0ID0gZ3VjX3JpbmdfZG9vcmJlbGwoY2xp ZW50KTsKPiA+ID4gPiA+IAo+ID4gPiA+ID4gKwlzcGluX2xvY2soJmd1Yy0+aG9zdDJndWNfbG9j ayk7Cj4gPiA+ID4gCj4gPiA+ID4gU28gYXQgZmlyc3QgSSB0aG91Z2h0IHRoZXJlJ3MgYSByYWNl IG5vdywgYnV0IHRoZW4gSSBsb29rZWQgYXQKPiA+ID4gPiB3aGF0Cj4gPiA+ID4gaG9zdDJndWMg YW5kIHdxX2xvY2sgcHJvdGVjdC4gSXQgc2VlbXMgbGlrZSB0aGUgb25seSB0aGluZyB0aGV5Cj4g PiA+ID4gZG8gaXMKPiA+ID4gPiBwcm90ZWN0IGFnYWluc3QgZGVidWdmcywgYWxsIHRoZSByZWFs IHByb3RlY3Rpb24gYWdhaW5zdAo+ID4gPiA+IGluY29uc2lzdGVudAo+ID4gPiA+IHN0YXRlIGlz IGRvbmUgdGhyb3VnaCBkZXYtPnN0cnVjdF9tdXRleC4KPiA+ID4gPiAKPiA+ID4gPiBDYW4ndCB3 ZSBqdXN0IHJpcCBvdXQgYWxsIHRoaXMgc3BpbmxvY2sgYnVzaW5lc3MgZnJvbSB0aGUgZ3VjCj4g PiA+ID4gY29kZT8KPiA+ID4gPiBJdCB3b3VsZCBiZSBlYXNpZXIgdGhhbiBmaXhpbmcgdXAgdGhl IHJhY2VzIGluIGhlcmUuCj4gPiA+IAo+ID4gPiAKPiA+IAo+ID4gWWVzLCBob3N0Mmd1YyBsb2Nr IGNhbiBiZSBkb25lIHRocm91Z2ggZGV2LT5zdHJ1Y3RfbXV0ZXguIEJ1dAo+ID4gZGVmaW5pdGVs eSAKPiA+IHdlIGRvbid0IHdhbnQgdG8gaW50ZXJydXB0IHRoZSBwcm9jZXNzIHdoZW4gZHJpdmVy IHByb2dyYW0gZ3VjIHdvcmsgCj4gPiBxdWV1ZSBhbmQgcmluZyB0aGUgZG9vciBiZWxsLgo+ID4g PiA+IC1EYW5pZWwKPiA+ID4gPiAKPiA+ID4gPiA+IMKgCWNsaWVudC0+c3VibWlzc2lvbnNbcmlu Z19pZF0gKz0gMTsKPiA+ID4gPiA+IMKgCWlmIChxX3JldCkgewo+ID4gPiA+ID4gwqAJCWNsaWVu dC0+cV9mYWlsICs9IDE7Cj4gPiA+ID4gPiBAQCAtNjIwLDkgKzYzMCw2IEBAIGludCBpOTE1X2d1 Y19zdWJtaXQoc3RydWN0IGk5MTVfZ3VjX2NsaWVudAo+ID4gPiA+ID4gKmNsaWVudCwKPiA+ID4g PiA+IMKgCX0gZWxzZSB7Cj4gPiA+ID4gPiDCoAkJY2xpZW50LT5yZXRjb2RlID0gMDsKPiA+ID4g PiA+IMKgCX0KPiA+ID4gPiA+IC0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2xpZW50LT53cV9s b2NrLCBmbGFncyk7Cj4gPiA+ID4gPiAtCj4gPiA+ID4gPiAtCXNwaW5fbG9jaygmZ3VjLT5ob3N0 Mmd1Y19sb2NrKTsKPiA+ID4gPiA+IMKgCWd1Yy0+c3VibWlzc2lvbnNbcmluZ19pZF0gKz0gMTsK PiA+ID4gPiA+IMKgCWd1Yy0+bGFzdF9zZXFub1tyaW5nX2lkXSA9IHJxLT5zZXFubzsKPiA+ID4g PiA+IMKgCXNwaW5fdW5sb2NrKCZndWMtPmhvc3QyZ3VjX2xvY2spOwo+ID4gPiA+ID4gLS0KPiA+ ID4gPiA+IDIuNS4wCj4gPiA+ID4gPiAKPiA+ID4gPiAKPiA+IAoKLS0gCkRhbmllbCBWZXR0ZXIK U29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNo Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==