From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 5/8] drm/i915/selftests: Add tests for GT and engine workaround verification Date: Fri, 30 Nov 2018 15:15:28 +0000 Message-ID: <74d5a9e9-7d97-459c-7847-2a07306abd32@linux.intel.com> References: <20181130113201.13007-1-tvrtko.ursulin@linux.intel.com> <20181130113201.13007-6-tvrtko.ursulin@linux.intel.com> <154357820159.20153.322062941893499959@skylake-alporthouse-com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 060C46E55D for ; Fri, 30 Nov 2018 15:15:29 +0000 (UTC) In-Reply-To: <154357820159.20153.322062941893499959@skylake-alporthouse-com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDMwLzExLzIwMTggMTE6NDMsIENocmlzIFdpbHNvbiB3cm90ZToKPiBRdW90aW5nIFR2cnRr byBVcnN1bGluICgyMDE4LTExLTMwIDExOjMxOjU4KQo+PiBGcm9tOiBUdnJ0a28gVXJzdWxpbiA8 dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+Pgo+PiBUd28gc2ltcGxlIHNlbGZ0ZXN0cyB3aGlj aCB0ZXN0IHRoYXQgYm90aCBHVCBhbmQgZW5naW5lIHdvcmthcm91bmRzIGFyZQo+PiBub3QgbG9z dCBhZnRlciBlaXRoZXIgYSBmdWxsIEdQVSByZXNldCwgb3IgYWZ0ZXIgdGhlIHBlci1lbmdpbmUg b25lcy4KPj4KPj4gKEluY2x1ZGluZyBjaGVja3MgdGhhdCBvbmUgZW5naW5lIHJlc2V0IGlzIG5v dCBhZmZlY3Rpbmcgd29ya2Fyb3VuZHMgbm90Cj4+IGJlbG9uZ2luZyB0byBpdHNlbGYuKQo+Pgo+ PiBTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29t Pgo+PiAtLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF93b3JrYXJvdW5kcy5jICAg ICAgfCAyMSArKystLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3dvcmthcm91bmRz LmggICAgICB8ICA0ICstCj4+ICAgLi4uL2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF93b3JrYXJv dW5kcy5jICAgIHwgOTAgKysrKysrKysrKysrKysrKysrKwo+PiAgIDMgZmlsZXMgY2hhbmdlZCwg MTA1IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfd29ya2Fyb3VuZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3dvcmthcm91bmRzLmMKPj4gaW5kZXggMmQxN2Q4YTM2YTU3Li5hMjFhMjE4NTVl NmEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3dvcmthcm91bmRz LmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfd29ya2Fyb3VuZHMuYwo+PiBA QCAtOTkwLDcgKzk5MCw3IEBAIHdhX2ZhaWwoY29uc3Qgc3RydWN0IGk5MTVfd2EgKndhLCB1MzIg Y3VyLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpmcm9tKQo+PiAgICAgICAgICAgICAg ICAgICAgY3VyLCBjdXIgJiB3YS0+bWFzaywgd2EtPnZhbCwgd2EtPm1hc2spOwo+PiAgIH0KPj4g ICAKPj4gLXN0YXRpYyB2b2lkCj4+ICtzdGF0aWMgYm9vbAo+PiAgIHdhX3ZlcmlmeV9iaXRzKGNv bnN0IHN0cnVjdCBpOTE1X3dhICp3YSwgdTMyIGN1ciwgY29uc3QgY2hhciAqbmFtZSwKPj4gICAg ICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZyb20pCj4+ICAgewo+PiBAQCAtMTAwMSwzMCArMTAw MSwzNSBAQCB3YV92ZXJpZnlfYml0cyhjb25zdCBzdHJ1Y3QgaTkxNV93YSAqd2EsIHUzMiBjdXIs IGNvbnN0IGNoYXIgKm5hbWUsCj4+ICAgICAgICAgIHdoaWxlIChiaXRzKSB7Cj4+ICAgICAgICAg ICAgICAgICAgaWYgKChiaXRzICYgMSkgJiYgKChjdXJfICYgMSkgIT0gKHZhbF8gJiAxKSkpIHsK Pj4gICAgICAgICAgICAgICAgICAgICAgICAgIHdhX2ZhaWwod2EsIGN1ciwgbmFtZSwgZnJvbSk7 Cj4+IC0gICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+PiArICAgICAgICAgICAgICAgICAg ICAgICByZXR1cm4gZmFsc2U7Cj4+ICAgICAgICAgICAgICAgICAgfQo+PiAgIAo+PiAgICAgICAg ICAgICAgICAgIGJpdHMgPj49IDE7Cj4+ICAgICAgICAgICAgICAgICAgY3VyXyA+Pj0gMTsKPj4g ICAgICAgICAgICAgICAgICB2YWxfID4+PSAxOwo+PiAgICAgICAgICB9Cj4+ICsKPj4gKyAgICAg ICByZXR1cm4gdHJ1ZTsKPj4gICB9Cj4+ICAgCj4+IC1zdGF0aWMgdm9pZCB3YV9saXN0X3Zlcmlm eShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+ICtzdGF0aWMgYm9vbCB3YV9s aXN0X3ZlcmlmeShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgaTkxNV93YV9saXN0ICp3YWwsCj4+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmcm9tKQo+PiAgIHsKPj4gICAg ICAgICAgc3RydWN0IGk5MTVfd2EgKndhOwo+PiAgICAgICAgICB1bnNpZ25lZCBpbnQgaTsKPj4g KyAgICAgICBib29sIHJlcyA9IHRydWU7Cj4+ICAgCj4+ICAgICAgICAgIGZvciAoaSA9IDAsIHdh ID0gd2FsLT5saXN0OyBpIDwgd2FsLT5jb3VudDsgaSsrLCB3YSsrKQo+PiAtICAgICAgICAgICAg ICAgd2FfdmVyaWZ5X2JpdHMod2EsIEk5MTVfUkVBRCh3YS0+cmVnKSwgd2FsLT5uYW1lLCBmcm9t KTsKPj4gKyAgICAgICAgICAgICAgIHJlcyAmPSB3YV92ZXJpZnlfYml0cyh3YSwgSTkxNV9SRUFE KHdhLT5yZWcpLCB3YWwtPm5hbWUsIGZyb20pOwo+PiArCj4+ICsgICAgICAgcmV0dXJuIHJlczsK Pj4gICB9Cj4+ICAgCj4+IC12b2lkIGludGVsX2d0X3dvcmthcm91bmRzX3ZlcmlmeShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+ICtib29sIGludGVsX2d0X3dvcmthcm91bmRz X3ZlcmlmeShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmcm9tKQo+PiAgIHsKPj4gLSAgICAg ICB3YV9saXN0X3ZlcmlmeShkZXZfcHJpdiwgJmRldl9wcml2LT5ndF93YV9saXN0LCBmcm9tKTsK Pj4gKyAgICAgICByZXR1cm4gd2FfbGlzdF92ZXJpZnkoZGV2X3ByaXYsICZkZXZfcHJpdi0+Z3Rf d2FfbGlzdCwgZnJvbSk7Cj4+ICAgfQo+PiAgIAo+PiAgIHN0cnVjdCB3aGl0ZWxpc3Qgewo+PiBA QCAtMTMxMywxMCArMTMxOCwxMCBAQCB2b2lkIGludGVsX2VuZ2luZV93b3JrYXJvdW5kc19hcHBs eShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4+ICAgICAgICAgIHdhX2xpc3RfYXBw bHkoZW5naW5lLT5pOTE1LCAmZW5naW5lLT53YV9saXN0KTsKPj4gICB9Cj4+ICAgCj4+IC12b2lk IGludGVsX2VuZ2luZV93b3JrYXJvdW5kc192ZXJpZnkoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lLAo+PiArYm9vbCBpbnRlbF9lbmdpbmVfd29ya2Fyb3VuZHNfdmVyaWZ5KHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCBjaGFyICpmcm9tKQo+PiAgIHsKPj4gLSAgICAgICB3YV9saXN0X3Zlcmlm eShlbmdpbmUtPmk5MTUsICZlbmdpbmUtPndhX2xpc3QsIGZyb20pOwo+PiArICAgICAgIHJldHVy biB3YV9saXN0X3ZlcmlmeShlbmdpbmUtPmk5MTUsICZlbmdpbmUtPndhX2xpc3QsIGZyb20pOwo+ PiAgIH0KPj4gICAKPj4gICAjaWYgSVNfRU5BQkxFRChDT05GSUdfRFJNX0k5MTVfU0VMRlRFU1Qp Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF93b3JrYXJvdW5kcy5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfd29ya2Fyb3VuZHMuaAo+PiBpbmRleCBmNzJj ZmRhMzJkNjguLjhmNjY0ZDhiOWUwOCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfd29ya2Fyb3VuZHMuaAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF93b3JrYXJvdW5kcy5oCj4+IEBAIC0zMywxNCArMzMsMTQgQEAgaW50IGludGVsX2N0eF93b3Jr YXJvdW5kc19lbWl0KHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxKTsKPj4gICAKPj4gICB2b2lkIGlu dGVsX2d0X3dvcmthcm91bmRzX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KTsKPj4gICB2b2lkIGludGVsX2d0X3dvcmthcm91bmRzX2FwcGx5KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdik7Cj4+IC12b2lkIGludGVsX2d0X3dvcmthcm91bmRzX3ZlcmlmeShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+ICtib29sIGludGVsX2d0X3dvcmth cm91bmRzX3ZlcmlmeShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmcm9tKTsKPj4gICAKPj4g ICB2b2lkIGludGVsX3doaXRlbGlzdF93b3JrYXJvdW5kc19hcHBseShzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUpOwo+PiAgIAo+PiAgIHZvaWQgaW50ZWxfZW5naW5lX3dvcmthcm91bmRz X2luaXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKPj4gICB2b2lkIGludGVsX2Vu Z2luZV93b3JrYXJvdW5kc19hcHBseShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpOwo+ PiAtdm9pZCBpbnRlbF9lbmdpbmVfd29ya2Fyb3VuZHNfdmVyaWZ5KHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSwKPj4gK2Jvb2wgaW50ZWxfZW5naW5lX3dvcmthcm91bmRzX3ZlcmlmeShz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCj4+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZnJvbSk7Cj4+ICAgCj4+ICAgI2VuZGlmCj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfd29ya2Fyb3Vu ZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF93b3JrYXJvdW5kcy5j Cj4+IGluZGV4IDgwMzk2YjM1OTJmNS4uYzAwOWViMmFmN2ZjIDEwMDY0NAo+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfd29ya2Fyb3VuZHMuYwo+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfd29ya2Fyb3VuZHMuYwo+PiBAQCAt MzI3LDEwICszMjcsMTAwIEBAIHN0YXRpYyBpbnQgbGl2ZV9yZXNldF93aGl0ZWxpc3Qodm9pZCAq YXJnKQo+PiAgICAgICAgICByZXR1cm4gZXJyOwo+PiAgIH0KPj4gICAKPj4gK3N0YXRpYyBib29s IHZlcmlmeV9ndF9lbmdpbmVfd2Eoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIGNvbnN0 IGNoYXIgKnN0cikKPj4gK3sKPj4gKyAgICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmU7Cj4+ICsgICAgICAgZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQ7Cj4+ICsgICAgICAgYm9vbCBv ayA9IHRydWU7Cj4+ICsKPj4gKyAgICAgICBvayAmPSBpbnRlbF9ndF93b3JrYXJvdW5kc192ZXJp ZnkoaTkxNSwgc3RyKTsKPj4gKwo+PiArICAgICAgIGZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGk5 MTUsIGlkKQo+PiArICAgICAgICAgICAgICAgb2sgJj0gaW50ZWxfZW5naW5lX3dvcmthcm91bmRz X3ZlcmlmeShlbmdpbmUsIHN0cik7Cj4gCj4gT2ssIG9rLgo+IAo+PiArCj4+ICsgICAgICAgcmV0 dXJuIG9rOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgaW50Cj4+ICtsaXZlX2dwdV9yZXNldF9ndF9l bmdpbmVfd29ya2Fyb3VuZHModm9pZCAqYXJnKQo+PiArewo+PiArICAgICAgIHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1ID0gYXJnOwo+PiArICAgICAgIHN0cnVjdCBpOTE1X2dwdV9lcnJv ciAqZXJyb3IgPSAmaTkxNS0+Z3B1X2Vycm9yOwo+PiArICAgICAgIGJvb2wgb2s7Cj4+ICsKPj4g KyAgICAgICBpZiAoIWludGVsX2hhc19ncHVfcmVzZXQoaTkxNSkpCj4+ICsgICAgICAgICAgICAg ICByZXR1cm4gMDsKPj4gKwo+PiArICAgICAgIHByX2luZm8oIlZlcmlmeWluZyBhZnRlciBHUFUg cmVzZXQuLi5cbiIpOwo+PiArCj4+ICsgICAgICAgc2V0X2JpdChJOTE1X1JFU0VUX0JBQ0tPRkYs ICZlcnJvci0+ZmxhZ3MpOwo+PiArICAgICAgIHNldF9iaXQoSTkxNV9SRVNFVF9IQU5ET0ZGLCAm ZXJyb3ItPmZsYWdzKTsKPj4gKwo+PiArICAgICAgIG9rID0gdmVyaWZ5X2d0X2VuZ2luZV93YShp OTE1LCAiYmVmb3JlIHJlc2V0Iik7Cj4+ICsgICAgICAgaWYgKCFvaykKPj4gKyAgICAgICAgICAg ICAgIGdvdG8gb3V0Owo+PiArCj4+ICsgICAgICAgaW50ZWxfcnVudGltZV9wbV9nZXQoaTkxNSk7 Cj4gCj4gTW92ZSBSRVNFVF9IQU5ET0ZGIGhlcmUgdG8gYXZvaWQgYW55IHJlcGV0aXRpb24gb2Yg ZWFybGllciBwcm9ibGVtcyB3ZQo+IGhhZCB3aXRoIHRoZSByZXNldCBiZWluZyBhcHBsaWVkIHRv byBlYXJseS4KClRoZXJlIGFyZSBub3QgcmVxdWVzdHMgaW4gdGhpcyB0ZXN0IGJ1dCBPSywgSSBn dWVzcyBpdCBtYWtlcyBpdCBtb3JlIApmdXR1cmUgcHJvb2YgaWYgb25lIGRheSBzb21ldGhpbmcg Z2V0cyBhZGRlZC4KCj4gCj4+ICsgICAgICAgaTkxNV9yZXNldChpOTE1LCB+MCwgImxpdmVfd29y a2Fyb3VuZHMiKTsKPj4gKyAgICAgICBpbnRlbF9ydW50aW1lX3BtX3B1dChpOTE1KTsKPj4gKwo+ PiArICAgICAgIG9rID0gdmVyaWZ5X2d0X2VuZ2luZV93YShpOTE1LCAiYWZ0ZXIgcmVzZXQiKTsK Pj4gKwo+PiArb3V0Ogo+PiArICAgICAgIGNsZWFyX2JpdChJOTE1X1JFU0VUX0JBQ0tPRkYsICZl cnJvci0+ZmxhZ3MpOwo+PiArCj4+ICsgICAgICAgcmV0dXJuIG9rID8gMCA6IC1FU1JDSDsKPj4g K30KPj4gKwo+PiArc3RhdGljIGludAo+PiArbGl2ZV9lbmdpbmVfcmVzZXRfZ3RfZW5naW5lX3dv cmthcm91bmRzKHZvaWQgKmFyZykKPj4gK3sKPj4gKyAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSA9IGFyZzsKPj4gKyAgICAgICBzdHJ1Y3QgaTkxNV9ncHVfZXJyb3IgKmVycm9y ID0gJmk5MTUtPmdwdV9lcnJvcjsKPj4gKyAgICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmU7Cj4+ICsgICAgICAgZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQ7Cj4+ICsgICAgICAgYm9v bCBvazsKPj4gKwo+PiArICAgICAgIGlmICghaW50ZWxfaGFzX3Jlc2V0X2VuZ2luZShpOTE1KSkK Pj4gKyAgICAgICAgICAgICAgIHJldHVybiAwOwo+IAo+IE1heSBiZSBlYXNpZXIgdG8gdGFrZSBn bG9iYWxfcmVzZXRfbG9jay91bmxvY2sgZnJvbQo+IHNlbGZ0ZXN0cy9pbnRlbF9oYW5naGNlY2su CgpJIGxvb2tlZCBpbnNpZGUgYW5kIGRpZCBub3QgZmluZCBhbnl0aGluZyB3aXRoIHRoaXMgbmFt ZSBzbyBJIGRvbid0IGtub3cgCndoYXQgeW91IG1lYW4/Cgo+PiArCj4+ICsgICAgICAgZm9yX2Vh Y2hfZW5naW5lKGVuZ2luZSwgaTkxNSwgaWQpIHsKPj4gKyAgICAgICAgICAgICAgIHByX2luZm8o IlZlcmlmeWluZyBhZnRlciAlcyByZXNldC4uLlxuIiwgZW5naW5lLT5uYW1lKTsKPj4gKwo+PiAr ICAgICAgICAgICAgICAgc2V0X2JpdChJOTE1X1JFU0VUX0JBQ0tPRkYsICZlcnJvci0+ZmxhZ3Mp Owo+PiArICAgICAgICAgICAgICAgc2V0X2JpdChJOTE1X1JFU0VUX0VOR0lORSArIGVuZ2luZS0+ aWQsICZlcnJvci0+ZmxhZ3MpOwo+PiArCj4+ICsgICAgICAgICAgICAgICBvayA9IHZlcmlmeV9n dF9lbmdpbmVfd2EoaTkxNSwgImJlZm9yZSByZXNldCIpOwo+PiArICAgICAgICAgICAgICAgaWYg KCFvaykKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgZ290byBvdXQ7Cj4+ICsKPj4gKyAgICAg ICAgICAgICAgIGludGVsX3J1bnRpbWVfcG1fZ2V0KGk5MTUpOwo+PiArICAgICAgICAgICAgICAg aTkxNV9yZXNldF9lbmdpbmUoZW5naW5lLCAibGl2ZV93b3JrYXJvdW5kcyIpOwo+PiArICAgICAg ICAgICAgICAgaW50ZWxfcnVudGltZV9wbV9wdXQoaTkxNSk7Cj4gCj4gT25jZSBpZGxlLCBhbmQg b25jZSB3aXRoIGEgc3Bpbm5lcj8KCklmIGlkbGUgdGhlbiBlbmdpbmUgcmVzZXQgZG9lcyBub3Ro aW5nLCBzbyBtYXliZSBJIGFtIGFnYWluIG5vdCAKZm9sbG93aW5nIHlvdS4KClJlZ2FyZHMsCgpU dnJ0a28KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=