From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH v2 5/6] drm/i915: add query uAPI Date: Fri, 12 Jan 2018 12:06:42 +0000 Message-ID: <80020676-7643-e3bd-ba84-0c55df00ecc2@linux.intel.com> References: <20180111195352.27193-1-lionel.g.landwerlin@intel.com> <20180111195352.27193-6-lionel.g.landwerlin@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 54F036E931 for ; Fri, 12 Jan 2018 13:26:05 +0000 (UTC) In-Reply-To: <20180111195352.27193-6-lionel.g.landwerlin@intel.com> Content-Language: en-GB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Lionel Landwerlin , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDExLzAxLzIwMTggMTk6NTMsIExpb25lbCBMYW5kd2VybGluIHdyb3RlOgo+IFRoZXJlIGFy ZSBhIG51bWJlciBvZiBpbmZvcm1hdGlvbiB0aGF0IGFyZSByZWFkYWJsZSBmcm9tIGhhcmR3YXJl Cj4gcmVnaXN0ZXJzIGFuZCB0aGF0IHdlIHdvdWxkIGxpa2UgdG8gbWFrZSBhY2Nlc3NpYmxlIHRv IHVzZXJzcGFjZS4gT25lCj4gcGFydGljdWxhciBleGFtcGxlIGlzIHRoZSB0b3BvbG9neSBvZiB0 aGUgZXhlY3V0aW9uIHVuaXRzIChob3cgYXJlCj4gZXhlY3V0aW9uIHVuaXRzIGdyb3VwZWQgaW4g c3Vic2xpY2VzIGFuZCBzbGljZXMgYW5kIGFsc28gd2hpY2ggb25lcwo+IGhhdmUgYmVlbiBmdXNl ZCBvZmYgZm9yIGRpZSByZWNvdmVyeSkuCj4gCj4gQXQgdGhlIG1vbWVudCB0aGUgR0VUX1BBUkFN IGlvY3RsIGNvdmVycyBzb21lIGJhc2ljIG5lZWRzLCBidXQKPiBnZW5lcmFsbHkgaXMgb25seSBh YmxlIHRvIHJldHVybiBhIHNpbmdsZSB2YWx1ZSBmb3IgZWFjaCBkZWZpbmVkCj4gcGFyYW1ldGVy LiBUaGlzIGlzIGEgYml0IHByb2JsZW1hdGljIHdpdGggdG9wb2xvZ3kgZGVzY3JpcHRpb25zIHdo aWNoCj4gYXJlIGFycmF5L21hcHMgb2YgYXZhaWxhYmxlIHVuaXRzLgo+IAo+IFRoaXMgY2hhbmdl IGludHJvZHVjZXMgYSBuZXcgaW9jdGwgdGhhdCBjYW4gZGVhbCB3aXRoIHJlcXVlc3RzIHRvIGZp bGwKPiBzdHJ1Y3R1cmVzIG9mIHBvdGVudGlhbGx5IHZhcmlhYmxlIGxlbmd0aHMuIFRoZSB1c2Vy IGlzIGV4cGVjdGVkIGZpbGwKPiBhIHF1ZXJ5IHdpdGggbGVuZ3RoIGZpZWxkcyBzZXQgYXQgMCBv biB0aGUgZmlyc3QgY2FsbCwgdGhlIGtlcm5lbCB0aGVuCj4gc2V0cyB0aGUgbGVuZ3RoIGZpZWxk cyB0byB0aGUgdGhlaXIgZXhwZWN0ZWQgdmFsdWVzLiBBIHNlY29uZCBjYWxsIHRvCj4gdGhlIGtl cm5lbCB3aXRoIGxlbmd0aCBmaWVsZHMgYXQgdGhlaXIgZXhwZWN0ZWQgdmFsdWVzIHdpbGwgdHJp Z2dlciBhCj4gY29weSBvZiB0aGUgZGF0YSB0byB0aGUgcG9pbnRlZCBtZW1vcnkgbG9jYXRpb25z Lgo+IAo+IFRoZSBzY29wZSBvZiB0aGlzIHVBUEkgaXMgb25seSB0byBwcm92aWRlIGluZm9ybWF0 aW9uIHRvIHVzZXJzcGFjZSwKPiBub3QgdG8gYWxsb3cgY29uZmlndXJhdGlvbiBvZiB0aGUgZGV2 aWNlLgo+IAo+IHYyOiBTaW1wbGlmeSBkaXNwYXRjaGVyIGNvZGUgaXRlcmF0aW9uIChUdnJ0a28p Cj4gICAgICBUd2VhayB1YXBpIGRybV9pOTE1X3F1ZXJ5X2l0ZW0gc3RydWN0dXJlIChUdnJ0a28p Cj4gCj4gU2lnbmVkLW9mZi1ieTogTGlvbmVsIExhbmR3ZXJsaW4gPGxpb25lbC5nLmxhbmR3ZXJs aW5AaW50ZWwuY29tPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgICAg IHwgIDEgKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyAgIHwgIDEgKwo+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgIHwgIDMgKysrCj4gICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3F1ZXJ5LmMgfCA1MSArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKPiAgIGluY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCAgICAgICB8IDMxICsr KysrKysrKysrKysrKysrKysrKysrKwo+ICAgNSBmaWxlcyBjaGFuZ2VkLCA4NyBpbnNlcnRpb25z KCspCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9xdWVy eS5jCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKPiBpbmRleCAzYmRkZDhhMDY4MDYuLmIwNDE1YTNl MmQ1OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCj4gQEAgLTY5LDYgKzY5LDcgQEAgaTkxNS15 ICs9IGk5MTVfY21kX3BhcnNlci5vIFwKPiAgIAkgIGk5MTVfZ2VtX3RpbWVsaW5lLm8gXAo+ICAg CSAgaTkxNV9nZW1fdXNlcnB0ci5vIFwKPiAgIAkgIGk5MTVfZ2VtZnMubyBcCj4gKwkgIGk5MTVf cXVlcnkubyBcCj4gICAJICBpOTE1X3RyYWNlX3BvaW50cy5vIFwKPiAgIAkgIGk5MTVfdm1hLm8g XAo+ICAgCSAgaW50ZWxfYnJlYWRjcnVtYnMubyBcCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4g aW5kZXggOTY5ODM1ZDNjYmNkLi5kOTJlMWI3MjM2ZmMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmMKPiBAQCAtMjgyNCw2ICsyODI0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1faW9j dGxfZGVzYyBpOTE1X2lvY3Rsc1tdID0gewo+ICAgCURSTV9JT0NUTF9ERUZfRFJWKEk5MTVfUEVS Rl9PUEVOLCBpOTE1X3BlcmZfb3Blbl9pb2N0bCwgRFJNX1JFTkRFUl9BTExPVyksCj4gICAJRFJN X0lPQ1RMX0RFRl9EUlYoSTkxNV9QRVJGX0FERF9DT05GSUcsIGk5MTVfcGVyZl9hZGRfY29uZmln X2lvY3RsLCBEUk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9BTExPVyksCj4gICAJRFJNX0lPQ1RMX0RF Rl9EUlYoSTkxNV9QRVJGX1JFTU9WRV9DT05GSUcsIGk5MTVfcGVyZl9yZW1vdmVfY29uZmlnX2lv Y3RsLCBEUk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9BTExPVyksCj4gKwlEUk1fSU9DVExfREVGX0RS VihJOTE1X1FVRVJZLCBpOTE1X3F1ZXJ5X2lvY3RsLCBEUk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9B TExPVyksCj4gICB9Owo+ICAgCj4gICBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgZHJpdmVyID0g ewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IGE2ODkzOTZkMGZmNi4uZGUwZWI2Y2Uy ZmNkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTM2MjMsNiArMzYyMyw5IEBA IGV4dGVybiB2b2lkIGk5MTVfcGVyZl9maW5pKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdik7Cj4gICBleHRlcm4gdm9pZCBpOTE1X3BlcmZfcmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KTsKPiAgIGV4dGVybiB2b2lkIGk5MTVfcGVyZl91bnJlZ2lzdGVy KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gICAKPiArLyogaTkxNV9xdWVy eS5jICovCj4gK2ludCBpOTE1X3F1ZXJ5X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZv aWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSk7Cj4gKwo+ICAgLyogaTkxNV9zdXNwZW5k LmMgKi8KPiAgIGV4dGVybiBpbnQgaTkxNV9zYXZlX3N0YXRlKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdik7Cj4gICBleHRlcm4gaW50IGk5MTVfcmVzdG9yZV9zdGF0ZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3F1ZXJ5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3F1ZXJ5LmMK PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4uNTY5NGNmZWE0NTUz Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcXVlcnku Ywo+IEBAIC0wLDAgKzEsNTEgQEAKPiArLyoKPiArICogQ29weXJpZ2h0IMKpIDIwMTcgSW50ZWwg Q29ycG9yYXRpb24KPiArICoKPiArICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKPiArICogY29weSBvZiB0aGlz IHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdh cmUiKSwKPiArICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwg aW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgo+ICsgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKPiArICog YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25z IHRvIHdob20gdGhlCj4gKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVj dCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cj4gKyAqCj4gKyAqIFRoZSBhYm92ZSBjb3B5 cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5l eHQKPiArICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1 YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQo+ICsgKiBTb2Z0d2FyZS4KPiArICoKPiArICogVEhF IFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ TkQsIEVYUFJFU1MgT1IKPiArICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU TyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCj4gKyAqIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFM TAo+ICsgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFO WSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgo+ICsgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g QUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORwo+ICsgKiBGUk9N LCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9S IE9USEVSIERFQUxJTkdTCj4gKyAqIElOIFRIRSBTT0ZUV0FSRS4KPiArICoKPiArICovCj4gKwo+ ICsjaW5jbHVkZSAiaTkxNV9kcnYuaCIKPiArI2luY2x1ZGUgPHVhcGkvZHJtL2k5MTVfZHJtLmg+ Cj4gKwo+ICtpbnQgaTkxNV9xdWVyeV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lk ICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCj4gK3sKPiArCXN0cnVjdCBkcm1faTkxNV9x dWVyeSAqYXJncyA9IGRhdGE7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfaXRlbSBfX3VzZXIg KnVzZXJfaXRlbV9wdHIgPQo+ICsJCXU2NF90b191c2VyX3B0cihhcmdzLT5pdGVtc19wdHIpOwo+ ICsJdTMyIGk7Cj4gKwo+ICsJZm9yIChpID0gMDsgaSA8IGFyZ3MtPm51bV9pdGVtczsgaSsrLCB1 c2VyX2l0ZW1fcHRyKyspIHsKPiArCQlzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfaXRlbSBpdGVtOwo+ ICsKPiArCQlpZiAoY29weV9mcm9tX3VzZXIoJml0ZW0sIHVzZXJfaXRlbV9wdHIsIHNpemVvZihp dGVtKSkpCj4gKwkJCXJldHVybiAtRUZBVUxUOwo+ICsKPiArCQlzd2l0Y2ggKGl0ZW0ucXVlcnlf aWQpIHsKPiArCQlkZWZhdWx0Ogo+ICsJCQlyZXR1cm4gLUVJTlZBTDsKPiArCQl9Cj4gKwo+ICsJ CWlmIChjb3B5X3RvX3VzZXIodXNlcl9pdGVtX3B0ciwgJml0ZW0sIHNpemVvZihpdGVtKSkpCj4g KwkJCXJldHVybiAtRUZBVUxUOwo+ICsJfQo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gZGlmZiAt LWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vaTkx NV9kcm0uaAo+IGluZGV4IDUzNmVlNGZlYmQ3NC4uMzllOTNmMTBmMmNkIDEwMDY0NAo+IC0tLSBh L2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAo+ICsrKyBiL2luY2x1ZGUvdWFwaS9kcm0vaTkx NV9kcm0uaAo+IEBAIC0zMTgsNiArMzE4LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX2RybV9pOTE1X3Nh cmVhIHsKPiAgICNkZWZpbmUgRFJNX0k5MTVfUEVSRl9PUEVOCQkweDM2Cj4gICAjZGVmaW5lIERS TV9JOTE1X1BFUkZfQUREX0NPTkZJRwkweDM3Cj4gICAjZGVmaW5lIERSTV9JOTE1X1BFUkZfUkVN T1ZFX0NPTkZJRwkweDM4Cj4gKyNkZWZpbmUgRFJNX0k5MTVfUVVFUlkJCQkweDM5Cj4gICAKPiAg ICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfSU5JVAkJRFJNX0lPVyggRFJNX0NPTU1BTkRfQkFTRSAr IERSTV9JOTE1X0lOSVQsIGRybV9pOTE1X2luaXRfdCkKPiAgICNkZWZpbmUgRFJNX0lPQ1RMX0k5 MTVfRkxVU0gJCURSTV9JTyAoIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9GTFVTSCkKPiBA QCAtMzc1LDYgKzM3Niw3IEBAIHR5cGVkZWYgc3RydWN0IF9kcm1faTkxNV9zYXJlYSB7Cj4gICAj ZGVmaW5lIERSTV9JT0NUTF9JOTE1X1BFUkZfT1BFTglEUk1fSU9XKERSTV9DT01NQU5EX0JBU0Ug KyBEUk1fSTkxNV9QRVJGX09QRU4sIHN0cnVjdCBkcm1faTkxNV9wZXJmX29wZW5fcGFyYW0pCj4g ICAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X1BFUkZfQUREX0NPTkZJRwlEUk1fSU9XKERSTV9DT01N QU5EX0JBU0UgKyBEUk1fSTkxNV9QRVJGX0FERF9DT05GSUcsIHN0cnVjdCBkcm1faTkxNV9wZXJm X29hX2NvbmZpZykKPiAgICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfUEVSRl9SRU1PVkVfQ09ORklH CURSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X1BFUkZfUkVNT1ZFX0NPTkZJRywg X191NjQpCj4gKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfUVVFUlkJCQlEUk1fSU9XUihEUk1fQ09N TUFORF9CQVNFICsgRFJNX0k5MTVfUVVFUlksIHN0cnVjdCBkcm1faTkxNV9xdWVyeSkKPiAgIAo+ ICAgLyogQWxsb3cgZHJpdmVycyB0byBzdWJtaXQgYmF0Y2hidWZmZXJzIGRpcmVjdGx5IHRvIGhh cmR3YXJlLCByZWx5aW5nCj4gICAgKiBvbiB0aGUgc2VjdXJpdHkgbWVjaGFuaXNtcyBwcm92aWRl ZCBieSBoYXJkd2FyZS4KPiBAQCAtMTYxMyw2ICsxNjE1LDM1IEBAIHN0cnVjdCBkcm1faTkxNV9w ZXJmX29hX2NvbmZpZyB7Cj4gICAJX191NjQgZmxleF9yZWdzX3B0cjsKPiAgIH07Cj4gICAKPiAr Cj4gK3N0cnVjdCBkcm1faTkxNV9xdWVyeV9pdGVtIHsKPiArCV9fdTY0IHF1ZXJ5X2lkOwo+ICsK PiArCS8qCj4gKwkgKiBXaGVuIHNldCB0byB6ZXJvIGJ5IHVzZXJzcGFjZSwgdGhpcyBpcyBmaWxs ZWQgd2l0aCB0aGUgc2l6ZSBvZiB0aGUKPiArCSAqIGRhdGEgdG8gYmUgd3JpdHRlbiBhdCB0aGUg ZGF0YV9wdHIgcG9pbnRlci4KPiArCSAqLwo+ICsJX191MzIgbGVuZ3RoOwo+ICsJX191MzIgcGFk Owo+ICsKPiArCS8qCj4gKwkgKiBEYXRhIHdpbGwgYmUgd3JpdHRlbiBhdCB0aGUgbG9jYXRpb24g cG9pbnRlZCBieSBkYXRhX3B0ciB3aGVuIHRoZQo+ICsJICogdmFsdWUgb2YgbGVuZ3RoIG1hdGNo ZXMgdGhlIGxlbmd0aCBvZiB0aGUgZGF0YSB0byBiZSB3cml0dGVuIGJ5IHRoZQo+ICsJICoga2Vy bmVsLgo+ICsJICovCj4gKwlfX3U2NCBkYXRhX3B0cjsKPiArfTsKPiArCj4gK3N0cnVjdCBkcm1f aTkxNV9xdWVyeSB7Cj4gKwlfX3UzMiBudW1faXRlbXM7Cj4gKwlfX3UzMiBfcGFkOwo+ICsKPiAr CS8qCj4gKwkgKiBUaGlzIHBvaW50IHRvIGFuIGFycmF5IG9mIG51bV9pdGVtcyBkcm1faTkxNV9x dWVyeV9pdGVtIHN0cnVjdHVyZXMuCj4gKwkgKi8KPiArCV9fdTY0IGl0ZW1zX3B0cjsKPiArfTsK PiArCj4gICAjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKPiAgIH0KPiAgICNlbmRpZgo+IAoKTG9v a3MgZ29vZCB0byBtZSBhbmQgSSB3aWxsIGJlIGFibGUgdG8gdXNlIGl0IGZvciB0aGUgZW5naW5l IGluZm8gc3R1ZmYgCkkgbmVlZC4KClJldmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtv LnVyc3VsaW5AaW50ZWwuY29tPgoKWW91J2xsIG5lZWQgdG8gcGluZyBzb21lIG1vcmUgcGVvcGxl IHRvIGdldCBtb3JlIGFwcHJvdmFscyB0aG91Z2guCgpSZWdhcmRzLAoKVHZydGtvCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=