From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH libdrm] amdgpu/test: Add illegal register and memory access test. Date: Fri, 2 Nov 2018 08:35:46 +0100 Message-ID: <2242a6e2-d160-391a-7dc6-0ed881915a09@gmail.com> References: <1541010808-1293-1-git-send-email-andrey.grodzovsky@amd.com> <05e62106-331f-adf8-4cc3-18da6a7e0a78@amd.com> Reply-To: christian.koenig-5C7GfCeVMHo@public.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Alex Deucher , Andrey Grodzovsky Cc: "Deucher, Alexander" , Maling list - DRI developers , amd-gfx list , Christian Koenig List-Id: dri-devel@lists.freedesktop.org QW0gMDEuMTEuMTggdW0gMDI6NDQgc2NocmllYiBBbGV4IERldWNoZXI6Cj4gT24gV2VkLCBPY3Qg MzEsIDIwMTggYXQgNDowNSBQTSBHcm9kem92c2t5LCBBbmRyZXkKPiA8QW5kcmV5Lkdyb2R6b3Zz a3lAYW1kLmNvbT4gd3JvdGU6Cj4+Cj4+Cj4+IE9uIDEwLzMxLzIwMTggMDM6NDkgUE0sIEFsZXgg RGV1Y2hlciB3cm90ZToKPj4+IE9uIFdlZCwgT2N0IDMxLCAyMDE4IGF0IDI6MzMgUE0gQW5kcmV5 IEdyb2R6b3Zza3kKPj4+IDxhbmRyZXkuZ3JvZHpvdnNreUBhbWQuY29tPiB3cm90ZToKPj4+PiBJ bGxlZ2FsIGFjY2VzcyB3aWxsIGNhdXNlIENQIGhhbmcgZm9sbG93ZWQgYnkgam9iIHRpbWVvdXQg YW5kCj4+Pj4gcmVjb3Zlcnkga2lja2luZyBpbi4KPj4+PiBBbHNvLCBkaXNhYmxlIHRoZSBzdWl0 ZSBmb3IgYWxsIEFQVSBBU0lDcyB1bnRpbCBHUFUKPj4+PiByZXNldCBpc3N1ZXMgZm9yIHRoZW0g d2lsbCBiZSByZXNvbHZlZCBhbmQgR1BVIHJlc2V0IHJlY292ZXJ5Cj4+Pj4gd2lsbCBiZSBlbmFi bGVkIGJ5IGRlZmF1bHQuCj4+Pj4KPj4+PiBTaWduZWQtb2ZmLWJ5OiBBbmRyZXkgR3JvZHpvdnNr eSA8YW5kcmV5Lmdyb2R6b3Zza3lAYW1kLmNvbT4KPj4+PiAtLS0KPj4+PiAgICB0ZXN0cy9hbWRn cHUvZGVhZGxvY2tfdGVzdHMuYyB8IDExOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0KPj4+PiAgICAxIGZpbGUgY2hhbmdlZCwgMTE3IGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKPj4+Pgo+Pj4+IGRpZmYgLS1naXQgYS90ZXN0cy9hbWRncHUvZGVhZGxvY2tf dGVzdHMuYyBiL3Rlc3RzL2FtZGdwdS9kZWFkbG9ja190ZXN0cy5jCj4+Pj4gaW5kZXggMjkyZWM0 ZS4uYzU2NWY3YSAxMDA2NDQKPj4+PiAtLS0gYS90ZXN0cy9hbWRncHUvZGVhZGxvY2tfdGVzdHMu Ywo+Pj4+ICsrKyBiL3Rlc3RzL2FtZGdwdS9kZWFkbG9ja190ZXN0cy5jCj4+Pj4gQEAgLTczLDYg KzczLDI5IEBACj4+Pj4gICAgICAgICAgICAgICAgICAgICogMSAtIHBmcAo+Pj4+ICAgICAgICAg ICAgICAgICAgICAqLwo+Pj4+Cj4+Pj4gKyNkZWZpbmUgICAgICAgIFBBQ0tFVDNfV1JJVEVfREFU QSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzcKPj4+PiArI2RlZmluZSAgICAgICAg ICAgICAgICBXUklURV9EQVRBX0RTVF9TRUwoeCkgICAgICAgICAgICAgICAgICAgKCh4KSA8PCA4 KQo+Pj4+ICsgICAgICAgICAgICAgICAvKiAwIC0gcmVnaXN0ZXIKPj4+PiArICAgICAgICAgICAg ICAgICogMSAtIG1lbW9yeSAoc3luYyAtIHZpYSBHUkJNKQo+Pj4+ICsgICAgICAgICAgICAgICAg KiAyIC0gZ2wyCj4+Pj4gKyAgICAgICAgICAgICAgICAqIDMgLSBnZHMKPj4+PiArICAgICAgICAg ICAgICAgICogNCAtIHJlc2VydmVkCj4+Pj4gKyAgICAgICAgICAgICAgICAqIDUgLSBtZW1vcnkg KGFzeW5jIC0gZGlyZWN0KQo+Pj4+ICsgICAgICAgICAgICAgICAgKi8KPj4+PiArI2RlZmluZSAg ICAgICAgICAgICAgICBXUl9PTkVfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEg PDwgMTYpCj4+Pj4gKyNkZWZpbmUgICAgICAgICAgICAgICAgV1JfQ09ORklSTSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICgxIDw8IDIwKQo+Pj4+ICsjZGVmaW5lICAgICAgICAgICAgICAg IFdSSVRFX0RBVEFfQ0FDSEVfUE9MSUNZKHgpICAgICAgICAgICAgICAoKHgpIDw8IDI1KQo+Pj4+ ICsgICAgICAgICAgICAgICAvKiAwIC0gTFJVCj4+Pj4gKyAgICAgICAgICAgICAgICAqIDEgLSBT dHJlYW0KPj4+PiArICAgICAgICAgICAgICAgICovCj4+Pj4gKyNkZWZpbmUgICAgICAgICAgICAg ICAgV1JJVEVfREFUQV9FTkdJTkVfU0VMKHgpICAgICAgICAgICAgICAgICgoeCkgPDwgMzApCj4+ Pj4gKyAgICAgICAgICAgICAgIC8qIDAgLSBtZQo+Pj4+ICsgICAgICAgICAgICAgICAgKiAxIC0g cGZwCj4+Pj4gKyAgICAgICAgICAgICAgICAqIDIgLSBjZQo+Pj4+ICsgICAgICAgICAgICAgICAg Ki8KPj4+PiArCj4+Pj4gKyNkZWZpbmUgbW1WTV9DT05URVhUMF9QQUdFX1RBQkxFX0JBU0VfQURE UiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1NGYKPj4+PiArCj4+Pj4g ICAgc3RhdGljICBhbWRncHVfZGV2aWNlX2hhbmRsZSBkZXZpY2VfaGFuZGxlOwo+Pj4+ICAgIHN0 YXRpYyAgdWludDMyX3QgIG1ham9yX3ZlcnNpb247Cj4+Pj4gICAgc3RhdGljICB1aW50MzJfdCAg bWlub3JfdmVyc2lvbjsKPj4+PiBAQCAtODUsNiArMTA4LDggQEAgaW50IHVzZV91Y19tdHlwZSA9 IDA7Cj4+Pj4gICAgc3RhdGljIHZvaWQgYW1kZ3B1X2RlYWRsb2NrX2hlbHBlcih1bnNpZ25lZCBp cF90eXBlKTsKPj4+PiAgICBzdGF0aWMgdm9pZCBhbWRncHVfZGVhZGxvY2tfZ2Z4KHZvaWQpOwo+ Pj4+ICAgIHN0YXRpYyB2b2lkIGFtZGdwdV9kZWFkbG9ja19jb21wdXRlKHZvaWQpOwo+Pj4+ICtz dGF0aWMgdm9pZCBhbWRncHVfaWxsZWdhbF9yZWdfYWNjZXNzKCk7Cj4+Pj4gK3N0YXRpYyB2b2lk IGFtZGdwdV9pbGxlZ2FsX21lbV9hY2Nlc3MoKTsKPj4+Pgo+Pj4+ICAgIENVX0JPT0wgc3VpdGVf ZGVhZGxvY2tfdGVzdHNfZW5hYmxlKHZvaWQpCj4+Pj4gICAgewo+Pj4+IEBAIC05NCw3ICsxMTks OSBAQCBDVV9CT09MIHN1aXRlX2RlYWRsb2NrX3Rlc3RzX2VuYWJsZSh2b2lkKQo+Pj4+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm1pbm9yX3ZlcnNpb24s ICZkZXZpY2VfaGFuZGxlKSkKPj4+PiAgICAgICAgICAgICAgICAgICByZXR1cm4gQ1VfRkFMU0U7 Cj4+Pj4KPj4+PiAtICAgICAgIGlmIChkZXZpY2VfaGFuZGxlLT5pbmZvLmZhbWlseV9pZCA9PSBB TURHUFVfRkFNSUxZX1NJKSB7Cj4+Pj4gKyAgICAgICBpZiAoZGV2aWNlX2hhbmRsZS0+aW5mby5m YW1pbHlfaWQgPT0gQU1ER1BVX0ZBTUlMWV9TSSB8fAo+Pj4gQWRkIEFNREdQVV9GQU1JTFlfS1Yg Zm9yIENJIGJhc2VkIEFQVXMgYXMgd2VsbC4KPj4+Cj4+Pgo+Pj4+ICsgICAgICAgICAgICAgICAg ICAgICAgIGRldmljZV9oYW5kbGUtPmluZm8uZmFtaWx5X2lkID09IEFNREdQVV9GQU1JTFlfQ1og fHwKPj4+PiArICAgICAgICAgICAgICAgICAgICAgICBkZXZpY2VfaGFuZGxlLT5pbmZvLmZhbWls eV9pZCA9PSBBTURHUFVfRkFNSUxZX1JWKSB7Cj4+Pj4gICAgICAgICAgICAgICAgICAgcHJpbnRm KCJcblxuQ3VycmVudGx5IGhhbmdzIHRoZSBDUCBvbiB0aGlzIEFTSUMsIGRlYWRsb2NrIHN1aXRl IGRpc2FibGVkXG4iKTsKPj4+PiAgICAgICAgICAgICAgICAgICBlbmFibGUgPSBDVV9GQUxTRTsK Pj4+PiAgICAgICAgICAgfQo+Pj4+IEBAIC0xNDAsNiArMTY3LDggQEAgaW50IHN1aXRlX2RlYWRs b2NrX3Rlc3RzX2NsZWFuKHZvaWQpCj4+Pj4gICAgQ1VfVGVzdEluZm8gZGVhZGxvY2tfdGVzdHNb XSA9IHsKPj4+PiAgICAgICAgICAgeyAiZ2Z4IHJpbmcgYmxvY2sgdGVzdCIsICBhbWRncHVfZGVh ZGxvY2tfZ2Z4IH0sCj4+Pj4gICAgICAgICAgIHsgImNvbXB1dGUgcmluZyBibG9jayB0ZXN0Iiwg IGFtZGdwdV9kZWFkbG9ja19jb21wdXRlIH0sCj4+Pj4gKyAgICAgICB7ICJpbGxlZ2FsIHJlZyBh Y2Nlc3MgdGVzdCIsICBhbWRncHVfaWxsZWdhbF9yZWdfYWNjZXNzIH0sCj4+Pj4gKyAgICAgICB7 ICJpbGxlZ2FsIG1lbSBhY2Nlc3MgdGVzdCIsICBhbWRncHVfaWxsZWdhbF9tZW1fYWNjZXNzIH0s Cj4+PiBXb24ndCB0aGlzIGlsbGVnYWwgbWVtIGFjY2VzcyBqdXN0IHJlc3VsdCBpbiBhIHBhZ2Ug ZmF1bHQ/ICBJcyB0aGUKPj4+IGlkZWEgdG8gc2V0IHZtX2RlYnVnIHRvIGZvcmNlIGFuIE1DIGhh bHQgdG8gdGVzdCByZXNldD8KPj4+Cj4+PiBBbGV4Cj4+IEZvciB0aGlzIHRlc3QgdG8gaGFuZyB0 aGUgQ1AgYW1kZ3B1LnZtX2ZhdWx0X3N0b3A9MiBuZWVkcyB0byBiZSBzZXQuCj4gV2l0aCB0aGUg S1YgYWRkZWQgYWJvdmUgYW5kIGEgY29tbWVudCBhYm91dCB2bV9mYXVsdF9zdG9wIGFkZGVkLCB0 aGlzIHBhdGNoIGlzOgo+IFJldmlld2VkLWJ5OiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVj aGVyQGFtZC5jb20+CgpTZWNvbmRlZCwgcGF0Y2ggaXMgUmV2aWV3ZWQtYnk6IENocmlzdGlhbiBL w7ZuaWcgCjxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+IGFzIHdlbGwuCgpDaHJpc3RpYW4uCgo+ Cj4+IEFuZHJleQo+Pgo+Pj4+ICAgICAgICAgICBDVV9URVNUX0lORk9fTlVMTCwKPj4+PiAgICB9 Owo+Pj4+Cj4+Pj4gQEAgLTI1NywzICsyODYsOTAgQEAgc3RhdGljIHZvaWQgYW1kZ3B1X2RlYWRs b2NrX2hlbHBlcih1bnNpZ25lZCBpcF90eXBlKQo+Pj4+ICAgICAgICAgICByID0gYW1kZ3B1X2Nz X2N0eF9mcmVlKGNvbnRleHRfaGFuZGxlKTsKPj4+PiAgICAgICAgICAgQ1VfQVNTRVJUX0VRVUFM KHIsIDApOwo+Pj4+ICAgIH0KPj4+PiArCj4+Pj4gK3N0YXRpYyB2b2lkIGJhZF9hY2Nlc3NfaGVs cGVyKGludCByZWdfYWNjZXNzKQo+Pj4+ICt7Cj4+Pj4gKyAgICAgICBhbWRncHVfY29udGV4dF9o YW5kbGUgY29udGV4dF9oYW5kbGU7Cj4+Pj4gKyAgICAgICBhbWRncHVfYm9faGFuZGxlIGliX3Jl c3VsdF9oYW5kbGU7Cj4+Pj4gKyAgICAgICB2b2lkICppYl9yZXN1bHRfY3B1Owo+Pj4+ICsgICAg ICAgdWludDY0X3QgaWJfcmVzdWx0X21jX2FkZHJlc3M7Cj4+Pj4gKyAgICAgICBzdHJ1Y3QgYW1k Z3B1X2NzX3JlcXVlc3QgaWJzX3JlcXVlc3Q7Cj4+Pj4gKyAgICAgICBzdHJ1Y3QgYW1kZ3B1X2Nz X2liX2luZm8gaWJfaW5mbzsKPj4+PiArICAgICAgIHN0cnVjdCBhbWRncHVfY3NfZmVuY2UgZmVu Y2Vfc3RhdHVzOwo+Pj4+ICsgICAgICAgdWludDMyX3QgZXhwaXJlZDsKPj4+PiArICAgICAgIGlu dCBpLCByOwo+Pj4+ICsgICAgICAgYW1kZ3B1X2JvX2xpc3RfaGFuZGxlIGJvX2xpc3Q7Cj4+Pj4g KyAgICAgICBhbWRncHVfdmFfaGFuZGxlIHZhX2hhbmRsZTsKPj4+PiArCj4+Pj4gKyAgICAgICBy ID0gYW1kZ3B1X2NzX2N0eF9jcmVhdGUoZGV2aWNlX2hhbmRsZSwgJmNvbnRleHRfaGFuZGxlKTsK Pj4+PiArICAgICAgIENVX0FTU0VSVF9FUVVBTChyLCAwKTsKPj4+PiArCj4+Pj4gKyAgICAgICBy ID0gYW1kZ3B1X2JvX2FsbG9jX2FuZF9tYXBfcmF3KGRldmljZV9oYW5kbGUsIDQwOTYsIDQwOTYs Cj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgQU1ER1BVX0dFTV9ET01BSU5fR1RULCAwLCAw LAo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJmliX3Jlc3VsdF9oYW5kbGUsICZpYl9yZXN1bHRfY3B1LAo+Pj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmliX3Jlc3VsdF9t Y19hZGRyZXNzLCAmdmFfaGFuZGxlKTsKPj4+PiArICAgICAgIENVX0FTU0VSVF9FUVVBTChyLCAw KTsKPj4+PiArCj4+Pj4gKyAgICAgICByID0gYW1kZ3B1X2dldF9ib19saXN0KGRldmljZV9oYW5k bGUsIGliX3Jlc3VsdF9oYW5kbGUsIE5VTEwsCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmYm9fbGlzdCk7Cj4+Pj4gKyAgICAgICBDVV9BU1NFUlRfRVFVQUwociwgMCk7 Cj4+Pj4gKwo+Pj4+ICsgICAgICAgcHRyID0gaWJfcmVzdWx0X2NwdTsKPj4+PiArICAgICAgIGkg PSAwOwo+Pj4+ICsKPj4+PiArICAgICAgIHB0cltpKytdID0gUEFDS0VUMyhQQUNLRVQzX1dSSVRF X0RBVEEsIDMpOwo+Pj4+ICsgICAgICAgcHRyW2krK10gPSAocmVnX2FjY2VzcyA/IFdSSVRFX0RB VEFfRFNUX1NFTCgwKSA6IFdSSVRFX0RBVEFfRFNUX1NFTCg1KSl8IFdSX0NPTkZJUk07Cj4+Pj4g KyAgICAgICBwdHJbaSsrXSA9IHJlZ19hY2Nlc3MgPyBtbVZNX0NPTlRFWFQwX1BBR0VfVEFCTEVf QkFTRV9BRERSIDogMHhkZWFkYmVlMDsKPj4+PiArICAgICAgIHB0cltpKytdID0gMDsKPj4+PiAr ICAgICAgIHB0cltpKytdID0gMHhkZWFkYmVlZjsKPj4+PiArCj4+Pj4gKyAgICAgICBmb3IgKDsg aSA8IDE2OyArK2kpCj4+Pj4gKyAgICAgICAgICAgICAgIHB0cltpXSA9IDB4ZmZmZjEwMDA7Cj4+ Pj4gKwo+Pj4+ICsgICAgICAgbWVtc2V0KCZpYl9pbmZvLCAwLCBzaXplb2Yoc3RydWN0IGFtZGdw dV9jc19pYl9pbmZvKSk7Cj4+Pj4gKyAgICAgICBpYl9pbmZvLmliX21jX2FkZHJlc3MgPSBpYl9y ZXN1bHRfbWNfYWRkcmVzczsKPj4+PiArICAgICAgIGliX2luZm8uc2l6ZSA9IDE2Owo+Pj4+ICsK Pj4+PiArICAgICAgIG1lbXNldCgmaWJzX3JlcXVlc3QsIDAsIHNpemVvZihzdHJ1Y3QgYW1kZ3B1 X2NzX3JlcXVlc3QpKTsKPj4+PiArICAgICAgIGlic19yZXF1ZXN0LmlwX3R5cGUgPSBBTURHUFVf SFdfSVBfR0ZYOwo+Pj4+ICsgICAgICAgaWJzX3JlcXVlc3QucmluZyA9IDA7Cj4+Pj4gKyAgICAg ICBpYnNfcmVxdWVzdC5udW1iZXJfb2ZfaWJzID0gMTsKPj4+PiArICAgICAgIGlic19yZXF1ZXN0 LmlicyA9ICZpYl9pbmZvOwo+Pj4+ICsgICAgICAgaWJzX3JlcXVlc3QucmVzb3VyY2VzID0gYm9f bGlzdDsKPj4+PiArICAgICAgIGlic19yZXF1ZXN0LmZlbmNlX2luZm8uaGFuZGxlID0gTlVMTDsK Pj4+PiArCj4+Pj4gKyAgICAgICByID0gYW1kZ3B1X2NzX3N1Ym1pdChjb250ZXh0X2hhbmRsZSwg MCwmaWJzX3JlcXVlc3QsIDEpOwo+Pj4+ICsgICAgICAgQ1VfQVNTRVJUX0VRVUFMKChyID09IDAg fHwgciA9PSAtRUNBTkNFTEVEKSwgMSk7Cj4+Pj4gKwo+Pj4+ICsKPj4+PiArICAgICAgIG1lbXNl dCgmZmVuY2Vfc3RhdHVzLCAwLCBzaXplb2Yoc3RydWN0IGFtZGdwdV9jc19mZW5jZSkpOwo+Pj4+ ICsgICAgICAgZmVuY2Vfc3RhdHVzLmNvbnRleHQgPSBjb250ZXh0X2hhbmRsZTsKPj4+PiArICAg ICAgIGZlbmNlX3N0YXR1cy5pcF90eXBlID0gQU1ER1BVX0hXX0lQX0dGWDsKPj4+PiArICAgICAg IGZlbmNlX3N0YXR1cy5pcF9pbnN0YW5jZSA9IDA7Cj4+Pj4gKyAgICAgICBmZW5jZV9zdGF0dXMu cmluZyA9IDA7Cj4+Pj4gKyAgICAgICBmZW5jZV9zdGF0dXMuZmVuY2UgPSBpYnNfcmVxdWVzdC5z ZXFfbm87Cj4+Pj4gKwo+Pj4+ICsgICAgICAgciA9IGFtZGdwdV9jc19xdWVyeV9mZW5jZV9zdGF0 dXMoJmZlbmNlX3N0YXR1cywKPj4+PiArICAgICAgICAgICAgICAgICAgICAgICBBTURHUFVfVElN RU9VVF9JTkZJTklURSwwLCAmZXhwaXJlZCk7Cj4+Pj4gKyAgICAgICBDVV9BU1NFUlRfRVFVQUwo KHIgPT0gMCB8fCByID09IC1FQ0FOQ0VMRUQpLCAxKTsKPj4+PiArCj4+Pj4gKyAgICAgICByID0g YW1kZ3B1X2JvX2xpc3RfZGVzdHJveShib19saXN0KTsKPj4+PiArICAgICAgIENVX0FTU0VSVF9F UVVBTChyLCAwKTsKPj4+PiArCj4+Pj4gKyAgICAgICByID0gYW1kZ3B1X2JvX3VubWFwX2FuZF9m cmVlKGliX3Jlc3VsdF9oYW5kbGUsIHZhX2hhbmRsZSwKPj4+PiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGliX3Jlc3VsdF9tY19hZGRyZXNzLCA0MDk2KTsKPj4+PiAr ICAgICAgIENVX0FTU0VSVF9FUVVBTChyLCAwKTsKPj4+PiArCj4+Pj4gKyAgICAgICByID0gYW1k Z3B1X2NzX2N0eF9mcmVlKGNvbnRleHRfaGFuZGxlKTsKPj4+PiArICAgICAgIENVX0FTU0VSVF9F UVVBTChyLCAwKTsKPj4+PiArfQo+Pj4+ICsKPj4+PiArc3RhdGljIHZvaWQgYW1kZ3B1X2lsbGVn YWxfcmVnX2FjY2VzcygpCj4+Pj4gK3sKPj4+PiArICAgICAgIGJhZF9hY2Nlc3NfaGVscGVyKDEp Owo+Pj4+ICt9Cj4+Pj4gKwo+Pj4+ICtzdGF0aWMgdm9pZCBhbWRncHVfaWxsZWdhbF9tZW1fYWNj ZXNzKCkKPj4+PiArewo+Pj4+ICsgICAgICAgYmFkX2FjY2Vzc19oZWxwZXIoMCk7Cj4+Pj4gK30K Pj4+PiAtLQo+Pj4+IDIuNy40Cj4+Pj4KPj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwo+Pj4+IGFtZC1nZnggbWFpbGluZyBsaXN0Cj4+Pj4gYW1kLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngKPj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCj4+PiBhbWQtZ2Z4IG1haWxpbmcgbGlzdAo+Pj4gYW1kLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCj4gYW1kLWdmeCBtYWlsaW5nIGxpc3QKPiBhbWQtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vYW1kLWdmeAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4 Cg==