From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 15/18] drm/i915: Add a new "remapped" gtt_view Date: Thu, 19 Jul 2018 22:33:57 +0300 Message-ID: <20180719193357.GG5565@intel.com> References: <20180719182214.4323-1-ville.syrjala@linux.intel.com> <20180719182214.4323-16-ville.syrjala@linux.intel.com> <153202677353.4229.17891989978796323710@skylake-alporthouse-com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 72BA36E0D0 for ; Thu, 19 Jul 2018 19:34:08 +0000 (UTC) Content-Disposition: inline In-Reply-To: <153202677353.4229.17891989978796323710@skylake-alporthouse-com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBKdWwgMTksIDIwMTggYXQgMDc6NTk6MzNQTSArMDEwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IFF1b3RpbmcgVmlsbGUgU3lyamFsYSAoMjAxOC0wNy0xOSAxOToyMjoxMSkKPiA+ICtz dGF0aWMgc3RydWN0IHNjYXR0ZXJsaXN0ICoKPiA+ICtyZW1hcF9wYWdlcyhjb25zdCBkbWFfYWRk cl90ICppbiwgdW5zaWduZWQgaW50IG9mZnNldCwKPiA+ICsgICAgICAgICAgIHVuc2lnbmVkIGlu dCB3aWR0aCwgdW5zaWduZWQgaW50IGhlaWdodCwKPiA+ICsgICAgICAgICAgIHVuc2lnbmVkIGlu dCBzdHJpZGUsCj4gPiArICAgICAgICAgICBzdHJ1Y3Qgc2dfdGFibGUgKnN0LCBzdHJ1Y3Qgc2Nh dHRlcmxpc3QgKnNnKQo+ID4gK3sKPiA+ICsgICAgICAgdW5zaWduZWQgaW50IGNvbHVtbiwgcm93 Owo+ID4gKwo+ID4gKyAgICAgICBmb3IgKHJvdyA9IDA7IHJvdyA8IGhlaWdodDsgcm93KyspIHsK PiA+ICsgICAgICAgICAgICAgICBmb3IgKGNvbHVtbiA9IDA7IGNvbHVtbiA8IHdpZHRoOyBjb2x1 bW4rKykgewo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgc3QtPm5lbnRzKys7Cj4gPiArICAg ICAgICAgICAgICAgICAgICAgICAvKiBXZSBkb24ndCBuZWVkIHRoZSBwYWdlcywgYnV0IG5lZWQg dG8gaW5pdGlhbGl6ZQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICogdGhlIGVudHJpZXMg c28gdGhlIHNnIGxpc3QgY2FuIGJlIGhhcHBpbHkgdHJhdmVyc2VkLgo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICogVGhlIG9ubHkgdGhpbmcgd2UgbmVlZCBhcmUgRE1BIGFkZHJlc3Nlcy4K PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAqLwo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgc2dfc2V0X3BhZ2Uoc2csIE5VTEwsIFBBR0VfU0laRSwgMCk7Cj4gPiArICAgICAgICAgICAg ICAgICAgICAgICBzZ19kbWFfYWRkcmVzcyhzZykgPSBpbltvZmZzZXQgKyBjb2x1bW5dOwo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgc2dfZG1hX2xlbihzZykgPSBQQUdFX1NJWkU7Cj4gPiAr ICAgICAgICAgICAgICAgICAgICAgICBzZyA9IHNnX25leHQoc2cpOwo+IAo+IE9rLiBCdXQgc2hv dWxkIGJlIEk5MTVfR1RUX1BBR0VfU0laRT8KCkkgc3VwcG9zZS4gQW5kIG5vdyBJIHdvbmRlciB3 aGF0IHdvdWxkIGhhcHBlbiBvbiBnZW4yIHdpdGggaXRzCjJLaUIgZ3R0IHBhZ2VzLiBQcm9iYWJs eSBub3RoaW5nIGdvb2QuCgo+IAo+IEFuZCB5ZXMsIGZvbGxvd2luZyB0aGF0IGFyZ3VtZW50IGxv b2tzIGxpa2Ugcm90YXRpb24gc2hvdWxkIGJlIGNvbnZlcnRlZC4KPiAKPiA+ICsgICAgICAgICAg ICAgICB9Cj4gPiArICAgICAgICAgICAgICAgb2Zmc2V0ICs9IHN0cmlkZTsKPiA+ICsgICAgICAg fQo+ID4gKwo+ID4gKyAgICAgICByZXR1cm4gc2c7Cj4gPiArfQo+ID4gKwo+ID4gK3N0YXRpYyBu b2lubGluZSBzdHJ1Y3Qgc2dfdGFibGUgKgo+ID4gK2ludGVsX3JlbWFwX3BhZ2VzKHN0cnVjdCBp bnRlbF9yZW1hcHBlZF9pbmZvICpyZW1faW5mbywKPiA+ICsgICAgICAgICAgICAgICAgIHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gPiArewo+ID4gKyAgICAgICBjb25zdCB1bnNp Z25lZCBsb25nIG5fcGFnZXMgPSBvYmotPmJhc2Uuc2l6ZSAvIFBBR0VfU0laRTsKPiA+ICsgICAg ICAgdW5zaWduZWQgaW50IHNpemUgPSBpbnRlbF9yZW1hcHBlZF9pbmZvX3NpemUocmVtX2luZm8p Owo+ID4gKyAgICAgICBzdHJ1Y3Qgc2d0X2l0ZXIgc2d0X2l0ZXI7Cj4gPiArICAgICAgIGRtYV9h ZGRyX3QgZG1hX2FkZHI7Cj4gPiArICAgICAgIHVuc2lnbmVkIGxvbmcgaTsKPiA+ICsgICAgICAg ZG1hX2FkZHJfdCAqcGFnZV9hZGRyX2xpc3Q7Cj4gPiArICAgICAgIHN0cnVjdCBzZ190YWJsZSAq c3Q7Cj4gPiArICAgICAgIHN0cnVjdCBzY2F0dGVybGlzdCAqc2c7Cj4gPiArICAgICAgIGludCBy ZXQgPSAtRU5PTUVNOwo+ID4gKwo+ID4gKyAgICAgICAvKiBBbGxvY2F0ZSBhIHRlbXBvcmFyeSBs aXN0IG9mIHNvdXJjZSBwYWdlcyBmb3IgcmFuZG9tIGFjY2Vzcy4gKi8KPiA+ICsgICAgICAgcGFn ZV9hZGRyX2xpc3QgPSBrdm1hbGxvY19hcnJheShuX3BhZ2VzLAo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihkbWFfYWRkcl90KSwKPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRlBfS0VSTkVMKTsKPiA+ICsgICAgICAg aWYgKCFwYWdlX2FkZHJfbGlzdCkKPiA+ICsgICAgICAgICAgICAgICByZXR1cm4gRVJSX1BUUihy ZXQpOwo+ID4gKwo+ID4gKyAgICAgICAvKiBBbGxvY2F0ZSB0YXJnZXQgU0cgbGlzdC4gKi8KPiA+ ICsgICAgICAgc3QgPSBrbWFsbG9jKHNpemVvZigqc3QpLCBHRlBfS0VSTkVMKTsKPiA+ICsgICAg ICAgaWYgKCFzdCkKPiA+ICsgICAgICAgICAgICAgICBnb3RvIGVycl9zdF9hbGxvYzsKPiA+ICsK PiA+ICsgICAgICAgcmV0ID0gc2dfYWxsb2NfdGFibGUoc3QsIHNpemUsIEdGUF9LRVJORUwpOwo+ ID4gKyAgICAgICBpZiAocmV0KQo+ID4gKyAgICAgICAgICAgICAgIGdvdG8gZXJyX3NnX2FsbG9j Owo+ID4gKwo+ID4gKyAgICAgICAvKiBQb3B1bGF0ZSBzb3VyY2UgcGFnZSBsaXN0IGZyb20gdGhl IG9iamVjdC4gKi8KPiA+ICsgICAgICAgaSA9IDA7Cj4gPiArICAgICAgIGZvcl9lYWNoX3NndF9k bWEoZG1hX2FkZHIsIHNndF9pdGVyLCBvYmotPm1tLnBhZ2VzKQo+ID4gKyAgICAgICAgICAgICAg IHBhZ2VfYWRkcl9saXN0W2krK10gPSBkbWFfYWRkcjsKPiAKPiBZb3UgY291bGQgdXNlIHRoZSBp OTE1X2dlbV9vYmplY3RfZ2V0X2RtYV9hZGRyZXNzKCkgZm9yIHRoaXMuIFdlCj4gZGVmaW5pdGVs eSB3aWxsIHJldXNlIHRoZSBpbmRleCAoYXMgdGhlIG9uZSBvYmplY3Qgd2lsbCBsaWtlbHkgYmUK PiByZW1hcHBlZCBpbnRvIGVhY2ggQ1JUQykuIChBdm9pZHMgaGF2aW5nIGEgdGVtcG9yYXJ5IHZt YWxsb2MgaGVyZS4pCj4gCj4gPiArCj4gPiArICAgICAgIEdFTV9CVUdfT04oaSAhPSBuX3BhZ2Vz KTsKPiA+ICsgICAgICAgc3QtPm5lbnRzID0gMDsKPiA+ICsgICAgICAgc2cgPSBzdC0+c2dsOwo+ ID4gKwo+ID4gKyAgICAgICBmb3IgKGkgPSAwIDsgaSA8IEFSUkFZX1NJWkUocmVtX2luZm8tPnBs YW5lKTsgaSsrKSB7Cj4gPiArICAgICAgICAgICAgICAgc2cgPSByZW1hcF9wYWdlcyhwYWdlX2Fk ZHJfbGlzdCwgcmVtX2luZm8tPnBsYW5lW2ldLm9mZnNldCwKPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJlbV9pbmZvLT5wbGFuZVtpXS53aWR0aCwgcmVtX2luZm8tPnBsYW5l W2ldLmhlaWdodCwKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbV9pbmZv LT5wbGFuZVtpXS5zdHJpZGUsIHN0LCBzZyk7Cj4gPiArICAgICAgIH0KPiAKPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2d0dC5oCj4gPiBpbmRleCAyYTExNmE5MTQyMGIuLmUxNWFjOWY2NGMz NiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCj4g PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAo+ID4gQEAgLTE2MCw2 ICsxNjAsMTkgQEAgdHlwZWRlZiB1NjQgZ2VuOF9wcGd0dF9wbWw0ZV90Owo+ID4gIAo+ID4gIHN0 cnVjdCBzZ190YWJsZTsKPiA+ICAKPiA+ICtzdHJ1Y3QgaW50ZWxfcmVtYXBwZWRfaW5mbyB7Cj4g PiArICAgICAgIHN0cnVjdCBpbnRlbF9yZW1hcHBlZF9wbGFuZV9pbmZvIHsKPiA+ICsgICAgICAg ICAgICAgICAvKiB0aWxlcyAqLwo+ID4gKyAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCB3aWR0 aCwgaGVpZ2h0LCBzdHJpZGUsIG9mZnNldDsKPiA+ICsgICAgICAgfSBwbGFuZVsyXTsKPiA+ICsg ICAgICAgdW5zaWduZWQgaW50IHVudXNlZDsKPiAKPiBUYWcgaXQgYXMgbWJ6LCBzaW5jZSB3ZSBk byB1c2UgaXQgaW5zaWRlIHRoZSBjb21wYXJlLiBIbW0sIEkgd29uZGVyIGlmCj4gaXQgYWN0dWFs bHkgaXMgYmV0dGVyIGlmIGl0IGRvZXNuJ3QgZXhpc3QgaWYgaXQgaXNuJ3QgdXNlZCwgdGhlbiBp dAo+IHNob3VsZCBiZSB6ZXJvLi4gSG1tLCBub3Qgc3VyZSBpZiB0aGF0J3MgZGVmaW5lZCBhdCBh bGwsIG1pZ2h0IGhhdmUgdG8KPiBzYXkgbWVtc2V0IGFuZCBkb24ndCByZWx5IG9uIHt9IHplcm9p bmc/Cj4gCj4gU2hvdWxkIHdvcmsgZmluZSBhcyBhIG1lbWNtcCBrZXkgZm9yIHRoZSByYnRyZWUu CgpUaGlzIHdob2xlIHRoaW5nIGlzIGEgYml0IHF1ZXN0aW9uYWxlIHRoZSB3YXkgSSBkaWQgaXQu IFdoZW4gcG9wdWxhdGluZwp0aGUgZ3R0X3ZpZXcgSSBqdXN0IHBva2UgYXQgdmlldy0+cm90YXRl ZCBhbmQgcmVseSBvbiBtYXRjaGluZyBsYXlvdXQKZm9yIHZpZXctPnJlbWFwcGVkLiBUbyBtYWtl IGl0IGxlc3MgbWFnaWMgbWF5YmUgSSBzaG91bGQgZW1iZWQgb25lCmluc2lkZSB0aGUgb3RoZXI/ Cgo+IAo+ID4gK30gX19wYWNrZWQ7Cj4gPiArCj4gPiArc3RhdGljIGlubGluZSB2b2lkIGFzc2Vy dF9pbnRlbF9yZW1hcHBlZF9pbmZvX2lzX3BhY2tlZCh2b2lkKQo+ID4gK3sKPiA+ICsgICAgICAg QlVJTERfQlVHX09OKHNpemVvZihzdHJ1Y3QgaW50ZWxfcmVtYXBwZWRfaW5mbykgIT0gMTAqc2l6 ZW9mKHVuc2lnbmVkIGludCkpOwo+ID4gK30KPiA+ICsKPiA+ICBzdHJ1Y3QgaW50ZWxfcm90YXRp b25faW5mbyB7Cj4gPiAgICAgICAgIHN0cnVjdCBpbnRlbF9yb3RhdGlvbl9wbGFuZV9pbmZvIHsK PiA+ICAgICAgICAgICAgICAgICAvKiB0aWxlcyAqLwo+ID4gQEAgLTE4Niw2ICsxOTksNyBAQCBl bnVtIGk5MTVfZ2d0dF92aWV3X3R5cGUgewo+ID4gICAgICAgICBJOTE1X0dHVFRfVklFV19OT1JN QUwgPSAwLAo+ID4gICAgICAgICBJOTE1X0dHVFRfVklFV19ST1RBVEVEID0gc2l6ZW9mKHN0cnVj dCBpbnRlbF9yb3RhdGlvbl9pbmZvKSwKPiA+ICAgICAgICAgSTkxNV9HR1RUX1ZJRVdfUEFSVElB TCA9IHNpemVvZihzdHJ1Y3QgaW50ZWxfcGFydGlhbF9pbmZvKSwKPiA+ICsgICAgICAgSTkxNV9H R1RUX1ZJRVdfUkVNQVBQRUQgPSBzaXplb2Yoc3RydWN0IGludGVsX3JlbWFwcGVkX2luZm8pLAo+ ID4gIH07Cj4gPiAgCj4gPiAgc3RhdGljIGlubGluZSB2b2lkIGFzc2VydF9pOTE1X2dndHRfdmll d190eXBlX2lzX3VuaXF1ZSh2b2lkKQo+ID4gQEAgLTE5Nyw2ICsyMTEsNyBAQCBzdGF0aWMgaW5s aW5lIHZvaWQgYXNzZXJ0X2k5MTVfZ2d0dF92aWV3X3R5cGVfaXNfdW5pcXVlKHZvaWQpCj4gPiAg ICAgICAgIGNhc2UgSTkxNV9HR1RUX1ZJRVdfTk9STUFMOgo+ID4gICAgICAgICBjYXNlIEk5MTVf R0dUVF9WSUVXX1BBUlRJQUw6Cj4gPiAgICAgICAgIGNhc2UgSTkxNV9HR1RUX1ZJRVdfUk9UQVRF RDoKPiA+ICsgICAgICAgY2FzZSBJOTE1X0dHVFRfVklFV19SRU1BUFBFRDoKPiA+ICAgICAgICAg ICAgICAgICAvKiBnY2MgY29tcGxhaW5zIGlmIHRoZXNlIGFyZSBpZGVudGljYWwgY2FzZXMgKi8K PiA+ICAgICAgICAgICAgICAgICBicmVhazsKPiA+ICAgICAgICAgfQo+ID4gQEAgLTIwOCw2ICsy MjMsNyBAQCBzdHJ1Y3QgaTkxNV9nZ3R0X3ZpZXcgewo+ID4gICAgICAgICAgICAgICAgIC8qIE1l bWJlcnMgbmVlZCB0byBjb250YWluIG5vIGhvbGVzL3BhZGRpbmcgKi8KPiA+ICAgICAgICAgICAg ICAgICBzdHJ1Y3QgaW50ZWxfcGFydGlhbF9pbmZvIHBhcnRpYWw7Cj4gPiAgICAgICAgICAgICAg ICAgc3RydWN0IGludGVsX3JvdGF0aW9uX2luZm8gcm90YXRlZDsKPiA+ICsgICAgICAgICAgICAg ICBzdHJ1Y3QgaW50ZWxfcmVtYXBwZWRfaW5mbyByZW1hcHBlZDsKPiA+ICAgICAgICAgfTsKPiA+ ICB9Owo+ID4gIAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1h LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jCj4gPiBpbmRleCAxMWQ4MzRmOTQy MjAuLmViNTQ3NTVlYzI1YiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfdm1hLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMKPiA+IEBA IC0xNjQsNiArMTY0LDkgQEAgdm1hX2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq b2JqLAo+ID4gICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodmlldy0+dHlwZSA9PSBJOTE1X0dH VFRfVklFV19ST1RBVEVEKSB7Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgICB2bWEtPnNpemUg PSBpbnRlbF9yb3RhdGlvbl9pbmZvX3NpemUoJnZpZXctPnJvdGF0ZWQpOwo+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgdm1hLT5zaXplIDw8PSBQQUdFX1NISUZUOwo+ID4gKyAgICAgICAgICAg ICAgIH0gZWxzZSBpZiAodmlldy0+dHlwZSA9PSBJOTE1X0dHVFRfVklFV19SRU1BUFBFRCkgewo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgdm1hLT5zaXplID0gaW50ZWxfcmVtYXBwZWRfaW5m b19zaXplKCZ2aWV3LT5yZW1hcHBlZCk7Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICB2bWEt PnNpemUgPDw9IFBBR0VfU0hJRlQ7Cj4gPiAgICAgICAgICAgICAgICAgfQo+ID4gICAgICAgICB9 Cj4gPiAgCj4gPiBAQCAtNDYyLDcgKzQ2NSw4IEBAIHZvaWQgX19pOTE1X3ZtYV9zZXRfbWFwX2Fu ZF9mZW5jZWFibGUoc3RydWN0IGk5MTVfdm1hICp2bWEpCj4gPiAgICAgICAgICAqIEV4cGxpY2l0 bHkgZGlzYWJsZSBmb3Igcm90YXRlZCBWTUEgc2luY2UgdGhlIGRpc3BsYXkgZG9lcyBub3QKPiA+ ICAgICAgICAgICogbmVlZCB0aGUgZmVuY2UgYW5kIHRoZSBWTUEgaXMgbm90IGFjY2Vzc2libGUg dG8gb3RoZXIgdXNlcnMuCj4gPiAgICAgICAgICAqLwo+ID4gLSAgICAgICBpZiAodm1hLT5nZ3R0 X3ZpZXcudHlwZSA9PSBJOTE1X0dHVFRfVklFV19ST1RBVEVEKQo+ID4gKyAgICAgICBpZiAodm1h LT5nZ3R0X3ZpZXcudHlwZSA9PSBJOTE1X0dHVFRfVklFV19ST1RBVEVEIHx8Cj4gPiArICAgICAg ICAgICB2bWEtPmdndHRfdmlldy50eXBlID09IEk5MTVfR0dUVF9WSUVXX1JFTUFQUEVEKQo+ID4g ICAgICAgICAgICAgICAgIHJldHVybjsKPiAKPiBOb3QgZmVuY2VhYmxlPyBJIHN1cHBvc2UsIHlv dSBvbmx5IHdhbnQgdGhlIGZlbmNlIHRyYWNraW5nIGZyb20gR0dUVAo+IG1tYXBzLiBEbyB3ZSBu ZWVkIHRvIG1ha2Ugc3VyZSBGQkMgZmluYWxseSB3b3JrcyBvbiB1bmZlbmNlZCB2bWE/IEkKPiBn dWVzcyB3ZSBkby4KCk1pZ2h0IGJlIGEgbmljZSBib251cy4gSSBrZWVwIHB1dHRpbmcgb2ZmIHRv dWNoaW5nIEZCQyBpbiBhIHNpZ25pZmljYW50CndheSB0aG91Z2ggYmVjYXVzZSBJIGtub3cgaXQg d29uJ3Qgc3RvcCB3aXRoIHRoZSBmaXJzdCBwYXRjaC4KCj4gCj4gPiAgICAgICAgIGZlbmNlYWJs ZSA9ICh2bWEtPm5vZGUuc2l6ZSA+PSB2bWEtPmZlbmNlX3NpemUgJiYKPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV92bWEuaAo+ID4gaW5kZXggZjA2ZDY2Mzc3MTA3Li4xOWJiMzExNTIyNmMgMTAwNjQ0Cj4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5oCj4gPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5oCj4gPiBAQCAtMjU3LDggKzI1NywxMSBAQCBpOTE1X3Zt YV9jb21wYXJlKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAo+ID4gICAgICAgICAgKi8KPiA+ICAgICAg ICAgQlVJTERfQlVHX09OKEk5MTVfR0dUVF9WSUVXX05PUk1BTCA+PSBJOTE1X0dHVFRfVklFV19Q QVJUSUFMKTsKPiA+ICAgICAgICAgQlVJTERfQlVHX09OKEk5MTVfR0dUVF9WSUVXX1BBUlRJQUwg Pj0gSTkxNV9HR1RUX1ZJRVdfUk9UQVRFRCk7Cj4gPiArICAgICAgIEJVSUxEX0JVR19PTihJOTE1 X0dHVFRfVklFV19ST1RBVEVEID49IEk5MTVfR0dUVF9WSUVXX1JFTUFQUEVEKTsKPiA+ICAgICAg ICAgQlVJTERfQlVHX09OKG9mZnNldG9mKHR5cGVvZigqdmlldyksIHJvdGF0ZWQpICE9Cj4gPiAt ICAgICAgICAgICAgICAgICAgICBvZmZzZXRvZih0eXBlb2YoKnZpZXcpLCBwYXJ0aWFsKSk7Cj4g PiArICAgICAgICAgICAgICAgICAgICBvZmZzZXRvZih0eXBlb2YoKnZpZXcpLCBwYXJ0aWFsKSB8 fAo+ID4gKyAgICAgICAgICAgICAgICAgICAgb2Zmc2V0b2YodHlwZW9mKCp2aWV3KSwgcm90YXRl ZCkgIT0KPiA+ICsgICAgICAgICAgICAgICAgICAgIG9mZnNldG9mKHR5cGVvZigqdmlldyksIHJl bWFwcGVkKSk7Cj4gCj4gVHdvIHNlcGFyYXRlIEJVSUxEX0JVR19PTigpIEkgdGhpbmssIG9uZSBw YWlyIG9mIG9mZnNldG9mKCkgd2lsbCBiZQo+IGhhcmRlciB0byBpbnRlcnByZXQgc2hvdWxkIGlm IGZhaWw7IHR3byBwYWlycyBuZXZlciEKCmFjawoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbApf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK