From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 4/7] drm/i915/perf: lock powergating configuration to default when active Date: Fri, 7 Sep 2018 10:39:46 +0100 Message-ID: <6c567d44-6edd-0bc4-ccd7-dc678b6e5006@linux.intel.com> References: <20180905142222.3251-1-tvrtko.ursulin@linux.intel.com> <20180905142222.3251-5-tvrtko.ursulin@linux.intel.com> <9450ba2c-0f62-88d9-de26-a82dc61cf0f8@intel.com> <153622864574.3050.17378497295783267410@skylake-alporthouse-com> <153622933425.3050.656484604120089123@skylake-alporthouse-com> <3f14bd57-3a23-7208-6072-6d51892994ca@intel.com> <4bfe6648-203f-fbc8-9bcd-7b4e28279d02@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7E3E96E8A7 for ; Fri, 7 Sep 2018 09:40:14 +0000 (UTC) In-Reply-To: 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 , Chris Wilson , Intel-gfx@lists.freedesktop.org, Tvrtko Ursulin List-Id: intel-gfx@lists.freedesktop.org Ck9uIDA3LzA5LzIwMTggMTA6MjMsIExpb25lbCBMYW5kd2VybGluIHdyb3RlOgo+IE9uIDA3LzA5 LzIwMTggMDk6MjYsIFR2cnRrbyBVcnN1bGluIHdyb3RlOgo+Pgo+PiBPbiAwNi8wOS8yMDE4IDEx OjM2LCBMaW9uZWwgTGFuZHdlcmxpbiB3cm90ZToKPj4+IE9uIDA2LzA5LzIwMTggMTE6MjIsIENo cmlzIFdpbHNvbiB3cm90ZToKPj4+PiBRdW90aW5nIExpb25lbCBMYW5kd2VybGluICgyMDE4LTA5 LTA2IDExOjE4OjAxKQo+Pj4+PiBPbiAwNi8wOS8yMDE4IDExOjEwLCBDaHJpcyBXaWxzb24gd3Jv dGU6Cj4+Pj4+PiBRdW90aW5nIExpb25lbCBMYW5kd2VybGluICgyMDE4LTA5LTA2IDEwOjU3OjQ3 KQo+Pj4+Pj4+IE9uIDA1LzA5LzIwMTggMTU6MjIsIFR2cnRrbyBVcnN1bGluIHdyb3RlOgo+Pj4+ Pj4+PiBGcm9tOiBMaW9uZWwgTGFuZHdlcmxpbiA8bGlvbmVsLmcubGFuZHdlcmxpbkBpbnRlbC5j b20+Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+IElmIHNvbWUgb2YgdGhlIGNvbnRleHRzIHN1Ym1pdHRpbmcg d29ya2xvYWRzIHRvIHRoZSBHUFUgaGF2ZSBiZWVuCj4+Pj4+Pj4+IGNvbmZpZ3VyZWQgdG8gc2h1 dGRvd24gc2xpY2VzL3N1YnNsaWNlcywgd2UgbWlnaHQgbG9vc2UgdGhlIE5PQQo+Pj4+Pj4+PiBj b25maWd1cmF0aW9ucyB3cml0dGVuIGluIHRoZSBOT0EgbXV4ZXMuCj4+Pj4+Pj4+Cj4+Pj4+Pj4+ IE9uZSBwb3NzaWJsZSBzb2x1dGlvbiB0byB0aGlzIHByb2JsZW0gaXMgdG8gcmVwcm9ncmFtIHRo ZSBOT0EgbXV4ZXMKPj4+Pj4+Pj4gd2hlbiB3ZSBzd2l0Y2ggdG8gYSBuZXcgY29udGV4dC4gV2Ug aW5pdGlhbGx5IHRyaWVkIHRoaXMgaW4gdGhlCj4+Pj4+Pj4+IHdvcmthcm91bmQgYmF0Y2hidWZm ZXIgYnV0IHNvbWUgY29uY2VybnMgd2hlcmUgcmFpc2VkIGFib3V0IHRoZSAKPj4+Pj4+Pj4gY29z dAo+Pj4+Pj4+PiBvZiByZXByb2dyYW1taW5nIGF0IGV2ZXJ5IGNvbnRleHQgc3dpdGNoLiBUaGlz IHNvbHV0aW9uIGlzIGFsc28gbm90Cj4+Pj4+Pj4+IHdpdGhvdXQgY29uc2VxdWVuY2VzIGZyb20g dGhlIHVzZXJzcGFjZSBwb2ludCBvZiB2aWV3LiAKPj4+Pj4+Pj4gUmVwcm9ncmFtbWluZwo+Pj4+ Pj4+PiBvZiB0aGUgbXV4ZXMgY2FuIG9ubHkgaGFwcGVuIG9uY2UgdGhlIHBvd2VyZ2F0aW5nIGNv bmZpZ3VyYXRpb24gaGFzCj4+Pj4+Pj4+IGNoYW5nZWQgKHdoaWNoIGhhcHBlbnMgYWZ0ZXIgY29u dGV4dCBzd2l0Y2gpLiBUaGlzIG1lYW5zIGZvciBhIAo+Pj4+Pj4+PiB3aW5kb3cKPj4+Pj4+Pj4g b2YgdGltZSBkdXJpbmcgdGhlIHJlY29yZGluZywgY291bnRlcnMgcmVjb3JkZWQgYnkgdGhlIE9B IHVuaXQgCj4+Pj4+Pj4+IG1pZ2h0Cj4+Pj4+Pj4+IGJlIGludmFsaWQuIFRoaXMgcmVxdWlyZXMg dXNlcnNwYWNlIGRlYWxpbmcgd2l0aCBPQSByZXBvcnRzIHRvIAo+Pj4+Pj4+PiBkaXNjYXJkCj4+ Pj4+Pj4+IHRoZSBpbnZhbGlkIHZhbHVlcy4KPj4+Pj4+Pj4KPj4+Pj4+Pj4gTWluaW1pemluZyB0 aGUgcmVwcm9ncmFtbWluZyBjb3VsZCBiZSBpbXBsZW1lbnRlZCBieSB0cmFja2luZyBvZiAKPj4+ Pj4+Pj4gdGhlCj4+Pj4+Pj4+IGxhc3QgcHJvZ3JhbW1lZCBjb25maWd1cmF0aW9uIHNvbWV3aGVy ZSBpbiBHR1RUIGFuZCB1c2UgCj4+Pj4+Pj4+IE1JX1BSRURJQ0FURQo+Pj4+Pj4+PiB0byBkaXNj YXJkIHNvbWUgb2YgdGhlIHByb2dyYW1taW5nIGNvbW1hbmRzLCBidXQgdGhlIGNvbW1hbmQgCj4+ Pj4+Pj4+IHN0cmVhbWVyCj4+Pj4+Pj4+IHdvdWxkIHN0aWxsIGhhdmUgdG8gcGFyc2UgYWxsIHRo ZSBNSV9MUkkgaW5zdHJ1Y3Rpb25zIGluIHRoZQo+Pj4+Pj4+PiB3b3JrYXJvdW5kIGJhdGNoYnVm ZmVyLgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBBbm90aGVyIHNvbHV0aW9uLCB3aGljaCB0aGlzIGNoYW5n ZSBpbXBsZW1lbnRzLCBpcyB0byBzaW1wbHkgCj4+Pj4+Pj4+IGRpc3JlZ2FyZAo+Pj4+Pj4+PiB0 aGUgdXNlciByZXF1ZXN0ZWQgY29uZmlndXJhdGlvbiBmb3IgdGhlIHBlcmlvZCBvZiB0aW1lIHdo ZW4gCj4+Pj4+Pj4+IGk5MTUvcGVyZgo+Pj4+Pj4+PiBpcyBhY3RpdmUuIFRoZXJlIGlzIG5vIGtu b3duIGlzc3VlIHdpdGggdGhpcyBhcGFydCBmcm9tIGEgCj4+Pj4+Pj4+IHBlcmZvcm1hbmNlCj4+ Pj4+Pj4+IHBlbmFsaXR5IGZvciBzb21lIG1lZGlhIHdvcmtsb2FkcyB0aGF0IGJlbmVmaXQgZnJv bSBydW5uaW5nIG9uIGEKPj4+Pj4+Pj4gcGFydGlhbGx5IHBvd2VyZ2F0ZWQgR1BVLiBXZSBhbHJl YWR5IHByZXZlbnQgUkM2IGZyb20gYWZmZWN0aW5nIHRoZQo+Pj4+Pj4+PiBwcm9ncmFtbWluZyBz byBpdCBkb2Vzbid0IHNvdW5kIGNvbXBsZXRlbHkgdW5yZWFzb25hYmxlIHRvIGhvbGQgb24KPj4+ Pj4+Pj4gcG93ZXJnYXRpbmcgZm9yIHRoZSBzYW1lIHJlYXNvbi4KPj4+Pj4+Pj4KPj4+Pj4+Pj4g djI6IExlYXZlIFJQQ1MgcHJvZ3JhbW1pbmcgaW4gaW50ZWxfbHJjLmMgKExpb25lbCkKPj4+Pj4+ Pj4KPj4+Pj4+Pj4gdjM6IFVwZGF0ZSBmb3Igcy91bmlvbiBpbnRlbF9zc2V1L3N0cnVjdCBpbnRl bF9zc2V1LyAoTGlvbmVsKQo+Pj4+Pj4+PiDCoMKgwqDCoMKgwqAgTW9yZSB0b19pbnRlbF9jb250 ZXh0KCkgKFR2cnRrbykKPj4+Pj4+Pj4gwqDCoMKgwqDCoMKgIHMvZGV2X3ByaXYvaTkxNS8gKFR2 cnRrbykKPj4+Pj4+Pj4KPj4+Pj4+Pj4gVHZydGtvIFVyc3VsaW46Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+ IHY0Ogo+Pj4+Pj4+PiDCoMKgwqAgKiBSZWJhc2UgZm9yIG1ha2VfcnBjcyBjaGFuZ2VzLgo+Pj4+ Pj4+Pgo+Pj4+Pj4+PiB2NToKPj4+Pj4+Pj4gwqDCoMKgICogQXBwbHkgT0EgcmVzdHJpY3Rpb24g ZnJvbSBtYWtlX3JwY3MgZGlyZWN0bHkuCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IHY2Ogo+Pj4+Pj4+PiDC oMKgwqAgKiBSZWJhc2UgZm9yIGNvbnRleHQgaW1hZ2Ugc2V0dXAgY2hhbmdlcy4KPj4+Pj4+Pj4K Pj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogTGlvbmVsIExhbmR3ZXJsaW4gPGxpb25lbC5nLmxhbmR3 ZXJsaW5AaW50ZWwuY29tPgo+Pj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8 dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+Pj4+Pj4+PiAtLS0KPj4+Pj4+Pj4gwqDCoMKgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jIHzCoCA1ICsrKysrCj4+Pj4+Pj4+IMKgwqDC oCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyB8IDMwIAo+Pj4+Pj4+PiArKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0KPj4+Pj4+Pj4gwqDCoMKgIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2xyYy5oIHzCoCAzICsrKwo+Pj4+Pj4+PiDCoMKgwqAgMyBmaWxlcyBjaGFuZ2Vk LCAyOCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKPj4+Pj4+Pj4KPj4+Pj4+Pj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jIAo+Pj4+Pj4+PiBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jCj4+Pj4+Pj4+IGluZGV4IGNjYjIwMjMwZGYy Yy4uZGQ2NWI3MmJkZGQ0IDEwMDY0NAo+Pj4+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3BlcmYuYwo+Pj4+Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Bl cmYuYwo+Pj4+Pj4+PiBAQCAtMTY3Nyw2ICsxNjc3LDExIEBAIHN0YXRpYyB2b2lkIAo+Pj4+Pj4+ PiBnZW44X3VwZGF0ZV9yZWdfc3RhdGVfdW5sb2NrZWQoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQg KmN0eCwKPj4+Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIENUWF9SRUcocmVn X3N0YXRlLCBzdGF0ZV9vZmZzZXQsIGZsZXhfcmVnc1tpXSwgCj4+Pj4+Pj4+IHZhbHVlKTsKPj4+ Pj4+Pj4gwqDCoMKgwqDCoMKgwqAgfQo+Pj4+Pj4+PiArCj4+Pj4+Pj4+ICvCoMKgwqDCoCBDVFhf UkVHKHJlZ19zdGF0ZSwgQ1RYX1JfUFdSX0NMS19TVEFURSwgR0VOOF9SX1BXUl9DTEtfU1RBVEUs Cj4+Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZ2VuOF9tYWtlX3JwY3MoZGV2X3By aXYsCj4+Pj4+Pj4+ICsgJnRvX2ludGVsX2NvbnRleHQoY3R4LAo+Pj4+Pj4+PiArIGRldl9wcml2 LT5lbmdpbmVbUkNTXSktPnNzZXUpKTsKPj4+Pj4+PiBJIHRoaW5rIHRoZXJlIGlzIG9uZSBpc3N1 ZSBJIG1pc3NlZCBvbiB0aGUgcHJldmlvdXMgaXRlcmF0aW9ucyBvZiAKPj4+Pj4+PiB0aGlzCj4+ Pj4+Pj4gcGF0Y2guCj4+Pj4+Pj4KPj4+Pj4+PiBUaGlzIGdlbjhfdXBkYXRlX3JlZ19zdGF0ZV91 bmxvY2tlZCgpIGlzIGNhbGxlZCB3aGVuIHRoZSBHUFUgaXMgCj4+Pj4+Pj4gcGFya2VkCj4+Pj4+ Pj4gb24gdGhlIGtlcm5lbCBjb250ZXh0Lgo+Pj4+Pj4+Cj4+Pj4+Pj4gSXQncyBzdXBwb3NlZCB0 byB1cGRhdGUgYWxsIGNvbnRleHRzLCBidXQgSSB0aGluayB3ZSBtaWdodCBub3QgYmUgCj4+Pj4+ Pj4gYWJsZQo+Pj4+Pj4+IHRvIHVwZGF0ZSB0aGUga2VybmVsIGNvbnRleHQgaW1hZ2Ugd2hpbGUg dGhlIEdQVSBpcyB1c2luZyBpdC4KPj4+Pj4+IFRoZSBrZXJuZWwgY29udGV4dCBpcyBvbmx5IGV2 ZXIgdGFrZW4gaW4gZXh0cmVtaXMgKHlvdSBhcmUgZWl0aGVyCj4+Pj4+PiBwYXJraW5nIG9yIHN0 YWxsaW5nIHVzZXJzcGFjZSkgc28gSSBkb24ndCBjYXJlLgo+Pj4+Pgo+Pj4+PiBUaGUgcGF0Y2gg ZXhwb3NpbmcgdGhlIFJQQ1MgY29uZmlndXJhdGlvbiB0byB1c2Vyc3BhY2Ugd2lsbCBtYWtlIAo+ Pj4+PiB1c2Ugb2YKPj4+Pj4gdGhlIGtlcm5lbCBjb250ZXh0IHdoaWxlIE9BL3BlcmYgaXMgZW5h YmxlZC4gRXZlbiBpZiBpdCByZXByb2dyYW1zIHRoZQo+Pj4+PiBsb2NrZWQgdmFsdWUgdGhhdCB3 aWxsIGJyZWFrIHRoZSBwb3dlciBjb25maWd1cmF0aW9uIHN0YWJpbGl0eSBvbiAKPj4+Pj4gR2Vu MTEKPj4+Pj4gKGJlY2F1c2UgdGhlIGxvY2tlZCBjb25maWd1cmF0aW9uIHdpbGwgYmUgZGlmZmVy ZW50IGZyb20gdGhlIGtlcm5lbAo+Pj4+PiBjb250ZXh0IGNvbmZpZ3VyYXRpb24pLgo+Pj4+IFN1 cmUsIGJ1dCBhcyB5b3UgcG9pbnQgb3V0IHRoYXQncyBvbmx5IG9uIGNoYW5naW5nIGNvbmZpZ3Vy YXRpb24uCj4+Pj4KPj4+PiBXaGF0J3MgbWlzc2luZyBpbiB0aGUgcGF0Y2ggaXMgdGhhdCB3ZSBv bmx5IGJhaWwgZWFybHkgaWYgdGhlIG5ldyBzc2V1Cj4+Pj4gbWF0Y2hlcyB0aGUgY2UtPnNzZXUs IGJ1dCB0aGF0IGRvZXNuJ3QgbmVjZXNzYXJpbHkgbWF0Y2ggd2hhdHMgaW4gdGhlCj4+Pj4gY29u dGV4dCBkdWUgdG8gT0EuIChPciBtYXliZSBJIG1pc3NlZCB0aGUgY29udmVyc2lvbiB0byBycGNz IHZhbHVlIGFuZAo+Pj4+IGNoZWNraW5nLikKPj4+PiAtQ2hyaXMKPj4+Pgo+Pj4KPj4+IFllcCwg YmVjYXVzZSB0aGUgZ2VuOF9tYWtlX3JwY3MoKSBwb3N0IHByb2Nlc3NlcyB0aGUgdmFsdWVzIHN0 b3JlIGF0IAo+Pj4gdGhlIGdlbSBjb250ZXh0IGxldmVsLCB3ZSByaXNrIHJlcnVubmluZyB0aGUg a2VybmVsIGNvbnRleHQgdG8gd3JpdGUgCj4+PiB0aGUgZXhpdGluZyB2YWx1ZS4KPj4+IFNvcnJ5 IHRoaXMgaXMgYWxsIHNvIG1lc3N5IDooCj4+Cj4+IExldHMgc2VlIGlmIEkgbWFuYWdlZCB0byBm b2xsb3cgaGVyZS4KPj4KPj4gVGhlIGN1cnJlbnQgY29kZSBpbmRlZWQgYmFpbHMgb3V0IGF0IHRo ZSBzZXQgY3R4IHBhcmFtIGxldmVsIGlmIHRoZSAKPj4gcmVxdWVzdGVkIHN0YXRlIG1hdGNoZXMg dGhlIGNlLT5zdGF0ZS4gTXkgdGhpbmtpbmcgd2FzIHRoYXQgY2UtPnN0YXRlIAo+PiBpcyB0aGUg bWFzdGVyIHN0YXRlIGFuZCB3aGF0ZXZlciBoYXBwZW5zIGluICJwb3N0IHByb2Nlc3NpbmciIHZp YSAKPj4gZ2VuOF9tYWtlX3JwY3Mgc2hvdWxkIGJlIGhpZGRlbiBmcm9tIGl0IHNpbmNlIHRoZSBk ZXNpZ24gaXMgdGhhdCB0aGUgCj4+IGk5MTVfcGVyZi5jIHdpbGwgcmUtY29uZmlndXJlIGFsbCBj b250ZXh0cyB3aGVuIHRoZSBPQSBhY3RpdmUgc3RhdHVzIAo+PiBjaGFuZ2VzICh0byBlaXRoZXIg ZGlyZWN0aW9uKS4KPj4KPj4gU28gSSBkb24ndCBzZWUgYSBwcm9ibGVtIGluIHRob3NlIHR3byBp bnRlcmFjdGlvbnMuCj4gCj4gCj4gTGV0J3Mgc2F5IHlvdSBoYXZlIGNvbnRleHRBIHdpdGggc3Nl dShzbGljZSxzdWJzbGljZSk9KDB4MS8weGZmKSBmb3IgSUNMLgo+IAo+IFlvdSB0aGVuIGVuYWJs ZSBPQSB3aGljaCBsb2NrcyB0aGUgY29uZmlndXJhdGlvbiBhdCAoMHgxLDB4ZikuCj4gCj4gVGhl IGtlcm5lbCBjb250ZXh0IGhhcyByZXRhaW5lZCBpdHMgKDB4MS8weGZmKSBjb25maWd1cmF0aW9u Lgo+IAo+IAo+IEFuZCBhZnRlciB5b3UgY2hhbmdlIHRoZSBjb25maWcgb2YgY29udGV4dEEgdG8g KDB4MSwweDcpLgo+IAo+IAo+IFRoaXMgd291bGQgbGVhZCB0byB0aGUga2VybmVsIGNvbnRleHQg c2NoZWR1bGVkIHdpdGggKDB4MSwweGZmKSB3aGlsZSBPQSAKPiBpcyBhY3RpdmUuCgpPa2F5IHRo YXQncyBhIHByb2JsZW0gZGlzY3Vzc2VkIGluIHRoZSBwYXJhZ3JhcGggYmVsb3cgLSB0aGF0IHRo ZSBrZXJuZWwgCmNvbnRleHQgaXMgbm90IHVwZGF0ZWQgYXQgYWxsLiBCdXQgaXMgaXQgYSBwcm9i bGVtIGZvciBPQT8gV2lsbCBpdCBtZXNzIAp1cCBzb21lIGNvdW50ZXJzIGV2ZW4gaWYga2VybmVs IGNvbnRleHQgaXNuJ3QgZXhlY3V0aW5nIGFueXRoaW5nIAppbnRlcmFjdGluZyB3aXRoIHRoZW0/ IE9yIGlzIGl0PwoKPiAKPj4KPj4gQXBhcnQgZnJvbSBvbmUsIGdldF9wYXJhbV9zc2V1IHdpbGwg bGllIGEgYml0IC0gd2UgY2FuIGRpc2N1c3MgYWJvdXQgCj4+IHRoaXMgb25lIG1vcmUuIEF0IG9u ZSBwb2ludCBJIHN1Z2dlc3RlZCB3ZSBoYXZlIHR3byBzZXRzIG9mIG1hc2tzIGluIAo+PiB0aGUg dUFQSSwgcmVxdWVzdGVkIGFuZCBhY3RpdmUgaW4gYSB3YXkuIFNvIHVzZXJzcGFjZSBjb3VsZCBx dWVyeSB3aGF0IAo+PiBpdCBzZXQgYW5kIHdoYXQgaXMgYWN0dWFsbHkgYWN0aXZlLgo+Pgo+PiBO b3cgc2Vjb25kIGlzc3VlIGlzIGlmIGk5MTVfcGVyZi5jIGlzIGFibGUgdG8gcmVwcm9ncmFtIHRo ZSBrZXJuZWwgCj4+IGNvbmZpZy4KPj4KPj4gSGVyZSBpdHMgdHJ1ZSwgaXQgd2lsbCB3cml0ZSB0 byB0aGUgY29udGV4dCBpbWFnZSBhbmQgdGhhdCB3aWxsIGdldCAKPj4gb3ZlcndyaXR0ZW4gYnkg Y29udGV4dCBzYXZlLgo+Pgo+PiBJZiB0aGF0IGlzIGEgcHJvYmxlbSBmb3IgT0EsIEkgd2FzIGlu aXRpYWxseSBpZiBhIHRocm93LWF3YXkgc2Vjb25kIAo+PiAia2VybmVsIiBjb250ZXh0IGNvdWxk IGJlIHVzZSB0byByZS1wcm9ncmFtIHRoZSByZWFsIG9uZSwgYnV0IHBlcmhhcHMgCj4+IGV2ZW4g c2ltcGxlciAtIHdoYXQgYWJvdXQgYSBtbWlvIHdyaXRlIHRvIHByb2dyYW0gdGhlIFJQQ1Mgd2hp bGUgCj4+IGtlcm5lbCBjb250ZXh0IGlzIGFjdGl2ZT8KPiAKPiAKPiBEb2N1bWVudGF0aW9uIHNh eXMgOiAiVGhpcyByZWdpc3RlciBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIGRpcmVjdGx5IAo+IHRo cm91Z2ggQ1BVIE1NSU8gY3ljbGUuIgo+IAo+IAo+IFNvcnJ5IDooCgpVZ2guLiBva2F5LCBoZWxw IG1lIHVuZGVyc3RhbmQgaWYga2VybmVsIGNvbnRleHQgYWJzb2x1dGVseSBuZWVkcyB0byAKZm9s bG93IHRoZSAibG9jayIgZm9yIE9BIHRvIHdvcmsgYW5kIHRoZW4gd2UnbGwgc2VlIHdoYXQgdG8g ZG8uCgpSZWdhcmRzLAoKVHZydGtvCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=