From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v2 0/7] Make GEN macros more similar Date: Tue, 27 Nov 2018 10:37:21 +0200 Message-ID: <87lg5ec3we.fsf@intel.com> References: <20181106215123.27568-1-lucas.demarchi@intel.com> <6d6d46ec-5f0f-78eb-295c-7926e4b068d2@linux.intel.com> <20181108005727.GB2885@ldmartin-desk.jf.intel.com> <20181119222054.GB9928@ldmartin-desk.jf.intel.com> <20181121221919.GF13148@intel.com> <92766e53-954c-9bd0-1736-2be115826c2b@linux.intel.com> <20181126184657.GD2683@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 606C56E011 for ; Tue, 27 Nov 2018 08:36:59 +0000 (UTC) In-Reply-To: <20181126184657.GD2683@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Rodrigo Vivi , Tvrtko Ursulin Cc: intel-gfx@lists.freedesktop.org, Lucas De Marchi List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCAyNiBOb3YgMjAxOCwgUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29t PiB3cm90ZToKPiBPbiBUaHUsIE5vdiAyMiwgMjAxOCBhdCAwODo1NDozMEFNICswMDAwLCBUdnJ0 a28gVXJzdWxpbiB3cm90ZToKPj4gCj4+IAo+PiBPbiAyMS8xMS8yMDE4IDIyOjE5LCBSb2RyaWdv IFZpdmkgd3JvdGU6Cj4+ID4gT24gTW9uLCBOb3YgMTksIDIwMTggYXQgMDI6MjA6NTVQTSAtMDgw MCwgTHVjYXMgRGUgTWFyY2hpIHdyb3RlOgo+PiA+ID4gT24gVGh1LCBOb3YgMDgsIDIwMTggYXQg MTE6MjM6NDZBTSArMDAwMCwgVHZydGtvIFVyc3VsaW4gd3JvdGU6Cj4+ID4gPiA+IAo+PiA+ID4g PiBPbiAwOC8xMS8yMDE4IDAwOjU3LCBMdWNhcyBEZSBNYXJjaGkgd3JvdGU6Cj4+ID4gPiA+ID4g T24gV2VkLCBOb3YgMDcsIDIwMTggYXQgMTA6MDU6MTlBTSArMDAwMCwgVHZydGtvIFVyc3VsaW4g d3JvdGU6Cj4+ID4gPiA+ID4gPiAKPj4gPiA+ID4gPiA+IE9uIDA2LzExLzIwMTggMjE6NTEsIEx1 Y2FzIERlIE1hcmNoaSB3cm90ZToKPj4gPiA+ID4gPiA+ID4gVGhpcyBpcyB0aGUgc2Vjb25kIHZl cnNpb24gb2YgdGhlIHNlcmllcyB0cnlpbmcgdG8gbWFrZSBHRU4gY2hlY2tzCj4+ID4gPiA+ID4g PiA+IG1vcmUgc2ltaWxhci4gVGhlc2Ugb3Igcm91Z2hseSB0aGUgY2hhbmdlcyBmcm9tIHYxOgo+ PiA+ID4gPiA+ID4gPiAKPj4gPiA+ID4gPiA+ID4gLSBXZSBkb24ndCBoYXZlIGEgc2luZ2xlIG1h Y3JvIHJlY2VpdmluZyAyIG9yIDMgcGFyYW1ldGVycy4gTm93IHRoZXJlCj4+ID4gPiA+ID4gPiA+ ICAgICAgaXMgR1RfR0VOX1JBTkdFKCksIGFuZCBHVF9HRU4oKS4gVGhlIGZpcnMgaXMgdGhlIGNv bnZlcnNpb24gZnJvbQo+PiA+ID4gPiA+ID4gPiAgICAgIElTX0dFTigpIHdoaWxlIHRoZSBzZWNv bmQgaXMgdGhlIGNvbnZlcnNpb24gZnJvbSBJU19HRU48Tj4oKQo+PiA+ID4gPiA+ID4gPiAtIEJy aW5nIEdFTl9GT1JFVkVSIGJhY2sgdG8gYmUgdXNlZCB3aXRoIGFib3ZlIG1hY3Jvcwo+PiA+ID4g PiA+ID4gPiAtIFBhdGNoIGNvbnZlcnRpbmcgPCwgPD0sID09LCA+LCA+PSAgY2hlY2tzIHVzaW5n IElOVEVMX0dFTigpIHRvCj4+ID4gPiA+ID4gPiA+ICAgICAgdXNlIHRoZSBtYWNyb3MgYWJvdmUg d2FzIGFkZGVkCj4+ID4gPiA+ID4gPiA+IC0gSU5URUxfR0VOKCkgaXMgcmVtb3ZlZCB0byBhdm9p ZCBpdCBiZWluZyB1c2VkIHdoZW4gd2Ugc2hvdWxkIHByZWZlcgo+PiA+ID4gPiA+ID4gPiAgICAg IHRoZSBuZXcgbWFjcm9zCj4+ID4gPiA+ID4gPiA+IAo+PiA+ID4gPiA+ID4gPiBUaGUgaWRlYSBv ZiB0aGUgbmFtZXMgaXMgdG8gcGF2ZSB0aGUgd2F5IGZvciBjaGVja3Mgb2YgdGhlIGRpc3BsYXkg dmVyc2lvbiwKPj4gPiA+ID4gPiA+ID4gd2hpY2ggd291bGQgYmUgbmFtZWQgRElTUExBWV9HRU4o KSwgRElTUExBWV9HRU5fUkFOR0UoKS4KPj4gPiA+ID4gPiA+ID4gCj4+ID4gPiA+ID4gPiA+IElu IHRoZSBjb21taXQgbWVzc2FnZXMgd2UgaGF2ZSB0aGUgc2NyaXB0cyB0byByZWdlbmVyYXRlIHRo ZSBwYXRjaCB0byBtYWtlCj4+ID4gPiA+ID4gPiA+IGl0IGVhc2llciB0byBhcHBseSBhZnRlciB0 aGUgZGlzY3Vzc2lvbnMgYW5kIGFsc28gdG8gYmUgYWJsZSB0byBjb252ZXJ0Cj4+ID4gPiA+ID4g PiA+IGluZmxpZ2h0IHBhdGNoZXMuCj4+ID4gPiA+ID4gPiA+IAo+PiA+ID4gPiA+ID4gPiBTb3Jy eSBpbiBhZHZhbmNlIGZvciB0aGUgbm9pc2UgdGhpcyBjYXVzZXMgaW4gdGhlIGNvZGViYXNlLCBi dXQgaG9wZWZ1bGx5Cj4+ID4gPiA+ID4gPiA+IGl0IGlzIGZvciB0aGUgZ3JlYXRlciBnb29kLgo+ PiA+ID4gPiA+ID4gPiAKPj4gPiA+ID4gPiA+ID4gCj4+ID4gPiA+ID4gPiA+IEx1Y2FzIERlIE1h cmNoaSAoNik6Cj4+ID4gPiA+ID4gPiA+ICAgICAgUmV2ZXJ0ICJkcm0vaTkxNTogS2lsbCBHRU5f Rk9SRVZFUiIKPj4gPiA+ID4gPiA+ID4gICAgICBkcm0vaTkxNTogcmVwbGFjZSBJU19HRU48Tj4g d2l0aCBHVF9HRU4oLi4uLCBOKQo+PiA+ID4gPiA+ID4gPiAgICAgIGRybS9pOTE1OiByZW5hbWUg SVNfR0VOOV8qIHRvIEdUX0dFTjlfKgo+PiA+ID4gPiA+ID4gPiAgICAgIGRybS9pOTE1OiByZXBs YWNlIGdlbiBjaGVja3MgdXNpbmcgb3BlcmF0b3JzIGJ5IEdUX0dFTi9HVF9HRU5fUkFOR0UKPj4g PiA+ID4gPiA+IAo+PiA+ID4gPiA+ID4gSSBoYXZlIHJlc2VydmF0aW9ucyBhYm91dCB0aGlzIHBh dGNoLCB3aGVyZSBJIHRoaW5rIGZvcmNpbmcgb25seSBvbmUgZmxhdm91cgo+PiA+ID4gPiA+ID4g bWF5YmUgaXMgbm90IHRoZSBiZXN0IHRoaW5nLiBCZWNhdXNlIGZvciBwbGFpbiBpZi1sYWRkZXIg Y2FzZXMgaXQgZmVlbHMgbW9yZQo+PiA+ID4gPiA+ID4gcmVhZGFibGUgdG8gc3RpY2sgd2l0aCB0 aGUgY3VycmVudCBzY2hlbWUgb2YgYXJpdGhtZXRpYyBjb21wYXJpc29ucy4gQW5kIGl0Cj4+ID4g PiA+ID4gPiBpcyBtb3JlIGVmZmljaWVudCBpbiBjb2RlIGFzIHdlbGwuCj4+ID4gPiA+ID4gPiAK Pj4gPiA+ID4gPiA+IFJhbmdlIGNoZWNrcyBhcmUgb24gdGhlIG90aGVyIGhhbmQgdXNlZnVsIGVp dGhlciB3aGVuIGNvbWJpbmVkIGluIHRoZSBzYW1lCj4+ID4gPiA+ID4gPiBjb25kaXRpb25hbCBh cyBzb21lIG90aGVyIGJpdG1hc2sgYmFzZWQgdGVzdCwgb3Igd2hlbiBib3RoIGVuZHMgb2YgdGhl Cj4+ID4gPiA+ID4gPiBjb21wYXJpc29uIGVkZ2UgYXJlIGJvdW5kLgo+PiA+ID4gPiA+IAo+PiA+ ID4gPiA+IFNvIGFyZSB5b3UgYWdhaW5zdCBjaGFuZ2luZyB0aGUgPT0gdG8gdXNlIHRoZSBtYWNy b3MsIGNoYW5naW5nIHRoZSA+PSwgPiwgPCwgPD0sCj4+ID4gPiA+ID4gb3IgYWxsIG9mIHRoZW0/ Cj4+ID4gPiA+IAo+PiA+ID4gPiBEZWZpbml0ZWx5IG5vdCBhbGwgb2YgdGhlbS4gSnVzdCBwbGFp biBpZiBsYWRkZXJzIEkgdGhpbmsgYXJlIGRlZmluaXRlbHkKPj4gPiA+ID4gbW9yZSByZWFkYWJs ZSBpbiBzb3VyY2UgYW5kIHJlc3VsdCBpbiBiZXR0ZXIgY29kZSBpbiB0aGUgbm9ybWFsIGZhc2hp b24gb2Y6Cj4+ID4gPiA+IAo+PiA+ID4gPiAgICAgaWYgKGdlbiA+PSAxMSkKPj4gPiA+ID4gICAg IGVsc2UgaWYgKGdlbiA+PSA5KQo+PiA+ID4gPiAgICAgZWxzZSBpZiAoZ2VuID49IDcpCj4+ID4g PiA+ICAgICAuLi4gZXRjIC4uLgo+PiA+ID4gPiAKPj4gPiA+ID4gV2hlcmUgSSB0aGluayBpdCBt YWtlcyBzZW5zZSBpcyB3aGVuIGVpdGhlciBib3RoIGVkZ2VzIGFyZSBib3VuZCwgbGlrZToKPj4g PiA+ID4gCj4+ID4gPiA+ICAgIGlmIChnZW4gPCAxMSB8fCBnZW4gPj0gOCkKPj4gPiA+ID4gICAg aWYgKGdlbiA+PSAxMCB8fCBnZW4gPT0gOCkKPj4gPiA+IAo+PiA+ID4gb2ssIEkgd2lsbCB0YWtl IGEgbG9vayBiZWZvcmUgcmVzcGlubmluZyB0aGlzLgo+PiA+ID4gCj4+ID4gPiA+IAo+PiA+ID4g PiBCdXQgbm90IHN1cmUgaG93IG1hbnkgb2YgdGhvc2UgdGhlcmUgYXJlLgo+PiA+ID4gPiAKPj4g PiA+ID4gV2hhdCBkZWZpbml0ZWx5IGV4aXN0cyBpbiBsYXJnZS1pc2ggbnVtYmVycyBhcmU6Cj4+ ID4gCj4+ID4gc3BlY2lhbGx5IG9uIGRpc3BsYXkgc2lkZS4uLgo+PiA+IAo+PiA+ID4gPiAKPj4g PiA+ID4gICAgIGlmIChnZW4gPj0gMTEgfHwgIElTX1BMQVRGT1JNKQo+PiA+IAo+PiA+IE15IGdv YWwgaXMgZXhhY3RseSB0byBvcmdhbml6ZSB0aGUgZ2VuIG51bWJlcnMgaW4gYSB3YXkgdGhhdAo+ PiA+IHdlIG1pbmltaXplIHRoaXMgbWl4IGFzIG11Y2ggYXMgcG9zc2libGUuCj4+ID4gCj4+ID4g PiA+IAo+PiA+ID4gPiBBdCBzb21lIHBvaW50IEkgaGFkIGEgcHJvdG90eXBlIHdoaWNoIHB1dHMg dGhlIGdlbiBhbmQgcGxhdGZvcm0gbWFza3MgaW50byBhCj4+ID4gPiA+IGJhZyBvZiBiaXRzIGFu ZCB0aGVuLCBkZXBlbmRpbmcgb24gYml0cyBsb2NhbGl0eSwgdGhpcyB0b28gY2FuIGJlIGNvbXBy ZXNzZWQKPj4gPiA+ID4gdG8gYSBzaW5nbGUgYml0bWFzayB0ZXN0LiBIb3dldmVyIEkgZmVsdCB0 aGF0IHdhcyBnb2luZyB0b28gZmFyLCBhbmQgdGhlCj4+ID4gPiA+IGlzc3VlIGlzIGFjaGlldmlu ZyBpbnRlcmVzdGluZyBiaXRzIGxvY2FsaXR5IGZvciBpdCB0b28gd29yay4gQnV0IEkgZGlncmVz cy4KPj4gPiA+ID4gCj4+ID4gPiA+ID4gTG9va2luZyBhdCB0aGUgY2hhbmdlcyB0byA9PSwgdGhl eSBzZWVtIHZlcnkgcmVhc29uYWJsZSBhbmQgaW4gYSBmZXcgY2FzZXMgaXQgYWxsb3dlZAo+PiA+ ID4gPiA+IHRoZSBuZXh0IHBhdGNoIHRvIG1lcmdlIHRoZW0gaW4gYSBHVF9HRU5fUkFOR0UoKSAt LSB5ZXMgdGhlIHBhdGNoIG9yZGVyaW5nIHdhcyBvbgo+PiA+ID4gPiA+IHB1cnBvc2UgdG8gYWxs b3cgdGhhdC4KPj4gPiA+ID4gCj4+ID4gPiA+IFllcCB0aG9zZSBhcmUgdGhlIGdvb2Qgb25lcy4K Pj4gPiA+ID4gCj4+ID4gPiA+ID4gVGhlIG90aGVycyBhcmUgaW5kZWVkIGRlYmF0YWJsZS4gSG93 ZXZlciBJTU8gZm9yIHRoZSBjYXNlcyBpdCBtYWtlcyBzZW5zZSwKPj4gPiA+ID4gPiB0aGVyZSdz IGFsd2F5cyB0aGUgZmFsbGJhY2sKPj4gPiA+ID4gPiAKPj4gPiA+ID4gPiBpZiAoZGV2X3ByaXYt PmluZm8uZ2VuID09IDEwKQo+PiA+ID4gPiA+ICAgICAgIC4uLgo+PiA+ID4gPiA+IGVsc2UgaWYg KGRldl9wcml2LT5pbmZvLmdlbiA9PSAxMSkKPj4gPiA+ID4gPiAgICAgICAuLi4KPj4gPiA+ID4g PiBlbHNlIGlmIChkZXZfcHJpdi0+aW5mby5nZW4gPCA1KQo+PiA+ID4gPiA+ICAgICAgIC4uLgo+ PiA+ID4gPiA+IAo+PiA+ID4gPiA+IFdlIGNhbiBnbyBvbiBhIGNhc2UgYnkgY2FzZSBtYW5uZXIg aW4gdGhpcyBwYXRjaCByYXRoZXIgdGhhbiB0aGUgbWFzcyBjb252ZXJzaW9uCj4+ID4gPiA+ID4g Zm9yIHRoZXNlLgo+PiA+ID4gPiA+IAo+PiA+ID4gPiA+ID4gCj4+ID4gPiA+ID4gPiA+ICAgICAg ZHJtL2k5MTU6IG1lcmdlIGdlbiBjaGVja3MgdG8gdXNlIHJhbmdlCj4+ID4gPiA+ID4gPiA+ICAg ICAgZHJtL2k5MTU6IHJlbW92ZSBJTlRFTF9HRU4gbWFjcm8KPj4gPiA+ID4gPiA+IAo+PiA+ID4g PiA+ID4gSSBoYXZlIHJlc2VydmF0aW9ucyBhYm91dCB0aGlzIGFzIGFzIHdlbGwsIGVzcGVjaWFs bHkgY29uc2lkZXJpbmcgdGhlCj4+ID4gPiA+ID4gPiBwcmV2aW91cyBwYXJhZ3JhcGguIEJ1dCBl dmVuIG9uIGl0J3Mgb3duIEkgYW0gbm90IHN1cmUgd2Ugd2FudCB0byBnbyBiYWNrIHRvCj4+ID4g PiA+ID4gPiBtb3JlIHZlcmJvc2UuCj4+ID4gPiA+ID4gCj4+ID4gPiA+ID4gc2VlIGFib3ZlLiBJ TU8gaXQncyBub3QgYWN0dWFsbHkgc28gdmVyYm9zZSBhcyBvbmUgd291bGQgdGhpbmsuCj4+ID4g PiA+ID4gCj4+ID4gPiA+ID4gICAgICAgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPT0gMTEpCj4+ ID4gPiA+ID4gICAgICAgdnMKPj4gPiA+ID4gPiAgICAgICBpZiAoZGV2X3ByaXYtPmluZm8uZ2Vu ID09IDExKQo+PiA+ID4gPiAKPj4gPiA+ID4gSSB0aGluayBpdCBzaG91bGQgYmU6Cj4+ID4gPiA+ IAo+PiA+ID4gPiAgICAgICAgIGlmIChJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuID09IDExKQo+ PiA+ID4gPiAKPj4gPiA+ID4gV2hpY2ggaXMgYSB0aW55IGJpdCBsb25nZXIuLgo+PiA+ID4gCj4+ ID4gPiBJZiBpdCdzIGxvbmdlciwgd2h5IGJvdGhlcj8gV2UgY291bGQganVzdCBhcyB3ZWxsIGRv IGZvciB0aGUgaWYgbGFkZGVyczoKPj4gPiA+IAo+PiA+ID4gZ2VuID0gZGV2X3ByaXYtPmluZm8u Z2VuOwo+PiA+ID4gb3IKPj4gPiA+IGdlbiA9IElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW4KPj4g PiA+IAo+PiA+ID4gSW4geW91ciBvdGhlciBzZXJpZXMgeW91IHdvdWxkIGJlIG1vdmluZyBnZW4g dG8gYSBydW50aW1lIGluZm8sIHNvIHRoaXMKPj4gPiA+IHdvdWxkIGNhdXNlIHRoZSBzYW1lIGFt b3VudCBvZiBjaHVybiAoYWx0aG91Z2ggSSBkaXNhZ3JlZSB3aXRoIG1vdmluZyBnZW4gdG8gYSBy dW50aW1lCj4+ID4gPiBpbmZvIGp1c3QgYmVjYXVzZSBvZiB0aGUgbW9jayBzdHJ1Y3QpLgo+PiA+ ID4gCj4+ID4gPiAKPj4gPiA+ID4gCj4+ID4gPiA+ID4gVGhlICJ2ZXJib3NlIiB2ZXJzaW9uIGlz IGFjdHVhbGx5IG9uZSBjaGFyYWN0ZXIgbGVzcyBhbmQgb25lIGxvb2t1cCBsZXNzCj4+ID4gPiA+ ID4gdG8gd2hhdCB0aGUgbWFjcm8gaXMgZG9pbmcgdW5kZXJuZWF0aC4gT2YgY291cnNlIHRoYXQg bWVhbnMgYSBsb3Qgb2YgY2h1cm4KPj4gPiA+ID4gPiB0byB0aGUgY29kZWJhc2Ugd2hlbi9pZiB3 ZSBjaGFuZ2Ugd2hlcmUgdGhlIGdlbiBudW1iZXIgaXMgbG9jYXRlZCwgYnV0IHRoYXQKPj4gPiA+ ID4gPiBudW1iZXIgaXMgYXQgdGhlIHNhbWUgcGxhY2Ugc2luY2UgaXRzIGludHJvZHVjdGlvbiBp biAyMDEwCj4+ID4gPiA+ID4gKGNvbW1pdCBjOTZjM2E4Y2I3ZmFkY2IzM2Q5YTVlYmUzNWZjZWU4 YjdkMGE3OTQ2KQo+PiA+ID4gPiAKPj4gPiA+ID4gSSBhbSBwcmV0dHkgc3VyZSB3ZSB3ZW50IHRo cm91Z2ggcGF0Y2hlcyB0byBhKSBtb3ZlIHRvd2FyZHMgSU5URUxfSU5GTyBhbmQKPj4gPiA+ID4g YikgcmVwbGFjZSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuIHdpdGggSU5URUxfR0VOLiBTbyBJ IGRvbid0IHNlZSBhbgo+PiA+ID4gPiBhZHZhbnRhZ2Ugb2YgcmV2ZXJ0aW5nIHRoYXQsIGp1c3Qg c28gdGhhdCB3ZSBjYW4gbG9zZSB0aGUgSVNfIHByZWZpeCBiZWxvdy4KPj4gPiA+ID4gCj4+ID4g PiA+ID4gPiBQZXJoYXBzIGluIHRoZSBuZXcgc2NoZW1lIG9mIHRoaW5ncyBpdCBzaG91bGQgYmUg cmVuYW1lZCB0byBJTlRFTF9HVF9HRU4/IEkKPj4gPiA+ID4gPiA+IGtub3cgaXQgZG9lc24ndCBm aXQgbmljZWx5IHdpdGggdGhlIG5hbWluZyBzY2hlbWUgb2YgR1QvRElTUExBWV9HRU4uLiBzbwo+ PiA+ID4gPiA+ID4gbWF5YmU6Cj4+ID4gPiA+ID4gPiAKPj4gPiA+ID4gPiA+IEdUX0dFTiAtPiBJ U19HVF9HRU4KPj4gPiA+ID4gPiA+IEdUX0dFTl9SQU5HRSAtPiBJU19HVF9HRU5fUkFOR0UKPj4g PiA+ID4gPiA+IElOVEVMX0dFTiAtPiBHVF9HRU4gKGJ1dCBjaHVybiE/KQo+PiA+ID4gPiA+IAo+ PiA+ID4gPiA+IEkgc3RpbGwgdGhpbmsgSU5URUxfR0VOKCkgaXMgbm90IGJyaW5naW5nIG11Y2gg Y2xhcml0eSBhbmQgZm9yY2luZwo+PiA+ID4gPiA+IHRoZSBvdGhlciBtYWNyb3MgdG8gaGF2ZSB0 aGUgSVNfIHByZWZpeC4KPj4gPiA+ID4gCj4+ID4gPiA+IElzIHRoZSBJU18gcHJlZml4IHRoYXQg YmFkPwo+PiA+IAo+PiA+IEkgcGVyc29uYWxseSBkb24ndCBsaWtlIGl0Li4uIGJ1dCBtYXliZSBp dCBpcyBqdXN0IG15IGJhZCBlbmdsaXNoPyEKPj4gPiAKPj4gPiAxLiBpZiBnZW4gOQo+PiA+IDIu IGlmIGlzIGdlbiA5Cj4+ID4gMy4gaWYgdGhpcyBpcyBhIGdlbiA5IHBsYXRmb3JtCj4+ID4gCj4+ ID4gSSBsaWtlIG1vcmUgdGhlIG9wdGlvbiAxLi4uCj4+ID4gCj4+ID4gPiA+IAo+PiA+ID4gPiBJ IGFncmVlIG15IGlkZWEgZG9lcyBub3QgZGVjcmVhc2UgdGhlIGFtb3VudCBvZiBjaHVybiwgc2lu Y2UgaXQgc2FpZCB0bwo+PiA+ID4gPiByZXBsYWNlIElOVEVMX0dFTiB3aXRoIElOVEVMX0dUX0dF Ti4gQnV0IGluIHRoZSBsaWdodCBvZiB0aGUgR1QvRElTUExBWQo+PiA+ID4gPiBzcGxpdCwgYW5k IGlmIHdlIGFncmVlIHRvIGxlYXZlIGEgbG90IG9mIHRoZSBhcml0aG1ldGljIGNvbXBhcmlzb24g aW4KPj4gPiA+ID4gKGRpYWxpbmcgZG93biBvZiAiZHJtL2k5MTU6IHJlcGxhY2UgZ2VuIGNoZWNr cyB1c2luZyBvcGVyYXRvcnMgYnkKPj4gPiA+ID4gR1RfR0VOL0dUX0dFTl9SQU5HRSIpLCB0aGVu IGl0IGZlZWxzIGdvaW5nIGJhY2sgdG8gSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbgo+PiA+ID4g PiB0aHJvdWdob3V0IHRoZSBjb2RlIGlzIHVuZG9pbmcgc29tZSB3b3JrLCBqdXN0IHNvIHlvdSBj YW4gcmVtb3ZlIHRoZQo+PiA+ID4gPiBJTlRFTF9HRU4gbWFjcm8gaW5zdGVhZCBvZiByZW5hbWlu ZyBpdCBJTlRFTF9HVF9HRU4uCj4+ID4gPiA+IAo+PiA+ID4gPiBEb24ndCBrbm93LCBpdCdzIG15 IG9waW5pb24gYXQgbGVhc3QgYW5kIG1vcmUgcGVvcGxlIGFyZSB3ZWxjb21lIHRvIGNoaW1lIGlu Cj4+ID4gPiA+IHdpdGggdGhlaXJzLgo+PiA+ID4gCj4+ID4gPiBBbnkgb3RoZXJzIHRvIGNoaW1l IGluIG9uIHRoaXM/IEphbmksIFZpbGxlLCBSb2RyaWdvPwo+PiA+IAo+PiA+IEkgZG9uJ3QgbGlr ZSBtaXhlZCBzdHlsZXMgbXVjaC4gSWYgd2UgZG9uJ3Qga2lsbCB0aGUgbWFjcm8gd2Ugd2lsbCBj b250aW51ZQo+PiA+IGhhdmluZyBtaXhlZCBjYXNlcy4KPj4gPiAKPj4gPiBTbyBJJ20gaW4gZmF2 b3Igb2YgdGhlIGFwcHJvYWNoIG9mIHRoaXMgc2VyaWVzIGhlcmUuCj4+IAo+PiBJbmNsdWRpbmcg dGhlIHJlbW92YWwgb2YgSU5URUxfR0VOIG1hY3JvPyBPciB3aGF0IGRvIHlvdSBwcm9wb3NlIGZv ciB0aGF0Cj4+IG9uZT8gQ2FuJ3QgYmUgY2FsbGVkIEdUX0dFTiBub3cgc2luY2UgdGhhdCBoYXMg YmVlbiB1c2VkIHVwLi4uCj4KPiBZZXMsIGluY2x1ZGluZyB0aGUgcmVtb3ZhbCBvZiBJTlRFTF9H RU4gbWFjcm8uCj4KPiBJIGRvbid0IGxpa2UgdGhlIG1peGVkIHN0eWxlcyBsaWtlIHVzaW5nIElO VEVMX0dFTihkKSA+IDcgaW4gb25lIHBsYWNlCj4gYW5kIElOVEVMX0dFTl9SQU5HRShkLCA3LCBG T1JFVkVSKSBpbiBhbm90aGVyIHBsYWNlLgo+Cj4gVGhlIG1lYW5pbmcgaXMgdGhlIHNhbWUgc28g d2Ugc2hvdWxkIHN0aWNrIHdpdGggb25lIG9mIHRoZSB1c2FnZXMuCj4KPiBJIHNlZSB0aGF0IHRo ZXJlIHdlcmUgbWFueSBjYXNlcyB3aGVyZSBoYXZpbmcgdGhlIGluZm8tPmdlbiBudW1iZXIKPiBk aXJlY3RseSBpcyB1c2VmdWwuIEJ1dCBJJ2QgcHJlZmVyIHRvIHVzZSB0aGF0IG9uIGEgZGlyZWN0 IGZhc2hpb24KPiByYXRoZXIgdGhhbiBrZWVwaW5nIHRoaXMgbWFjcm8uCj4KPiBCZWNhdXNlIGlm IHdlIGtlZXAgdGhlIG1hY3JvIGRldmVsb3BlcnMgd2lsbCBldmVudHVhbGx5IGVuZCB1cAo+IGFk ZGluZyB0aGUgbWl4ZWQgc3R5bGUgYmFjay4KPgo+IFVzaW5nIGRpcmVjdCBpbmZvLT5nZW4gYXMg THVjYXMgYWxyZWFkeSBzaG93ZWQgaGFzIGFsbW9zdCBzYW1lIG51bWJlcgo+IG9mIGNoYXJzIHRo YW4gdGhlIG1hY3JvLCBidXQgcmVxdWlyZXMgbW9yZSBhdHRlbnRpb24gd2hhdCBpcyBhIGdvb2QK PiB0aGluZy4KCkkgcHJlZmVyIHVzaW5nIElOVEVMX0dFTigpIGJlY2F1c2UgaXQgaGlkZXMgd2hl cmUgdGhlIGdlbiBjb21lcyBmcm9tLAphbmQgd2UgY2FuIGNoYW5nZSBpdCBvbiBhIHdoaW0uIElm IHdlIGtlZXAgdXNpbmcgZGV2X3ByaXYtPmluZm8uZ2VuCndlJ2xsIG5lZWQgdG8gY2hhbmdlIHRo YXQgYWxyZWFkeSB3aGVuIGluZm8gYmVjb21lcyBhIHBvaW50ZXIsCmkuZS4gZGV2X3ByaXYtPmlu Zm8tPmdlbi4gVGhyb3VnaG91dCB0aGUgY29kZWJhc2UuIFdpdGggSU5URUxfR0VOKCkgaXQncwpq dXN0IGEgY291cGxlIG9mIHBsYWNlcy4KCklmIG1peGVkIHVzZSBpcyBhIHByb2JsZW0sIHRoZW4g cmVuYW1lIGdlbiB0byBfX2dlbi4gSSBldmVuIHNlbnQgYSBwYXRjaApmb3IgaXQsIGJ1dCBkaWRu J3QgZ2V0IGl0IG1lcmdlZC4KCkJSLApKYW5pLgoKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3Bl biBTb3VyY2UgR3JhcGhpY3MgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=