From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0185B8994D for ; Mon, 13 May 2019 09:04:38 +0000 (UTC) References: <20190513004508.8042-1-andi@etezian.org> From: Tvrtko Ursulin Message-ID: <5830e242-b8dd-2d2b-a0cb-4e6eb0c11348@linux.intel.com> Date: Mon, 13 May 2019 10:04:20 +0100 MIME-Version: 1.0 In-Reply-To: <20190513004508.8042-1-andi@etezian.org> Content-Language: en-US Subject: Re: [igt-dev] [PATCH v23 00/14] new engine discovery interface List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Andi Shyti , IGT dev List-ID: Ck9uIDEzLzA1LzIwMTkgMDE6NDQsIEFuZGkgU2h5dGkgd3JvdGU6Cj4gRnJvbTogQW5kaSBTaHl0 aSA8YW5kaS5zaHl0aUBpbnRlbC5jb20+Cj4gCj4gSGksCj4gCj4gSW4gdGhpcyBwYXRjaHNldCBJ IHByb3Bvc2UgYW4gYWx0ZXJuYXRpdmUgd2F5IG9mIGVuZ2luZSBkaXNjb3ZlcnkKPiB0aGFua3Mg dG8gdGhlIG5ldyBpbnRlcmZhY2VzIGRldmVsb3BlZCBieSBUdnJ0a28gYW5kIENocmlzWzRdLgo+ IAo+IFRoYW5rcyBUdnJ0a28sIENocmlzLCBBbnRvbmlvIGFuZCBQZXRyaSBmb3IgeW91ciBjb21t ZW50cyBpbiB0aGUKPiBwcmV2aW91cyBSRkNzLgo+IAo+IEFuZGkKPiAKPiB2MjIgLS0+IHYyMwo+ ID09PT09PT09PT09Cj4gdXBkYXRlZCB0aGUgZm9sbG93aW5nIHRlc3RzIHRvIHRoZSBuZXcgQVBJ czoKPiAKPiBnZW1fYnVzeQo+IGdlbV9jc190bGIKPiBnZW1fY3R4X2V4ZWMKPiBnZW1fZXhlY19i YXNpYwo+IGdlbV9leGVjX3BhcmFsbGVsCj4gZ2VtX2V4ZWNfc3RvcmUKPiBnZW1fd2FpdAo+IGk5 MTVfaGFuZ21hbgoKU28gdGhlcmUgYXJlIG5vIGNoYW5nZXMgaW4gIm9sZCIgcGF0Y2hlcywganVz dCBuZXcgcGF0Y2hlcyBpbiBzZXJpZXMgCihwYXRjaGVzIDcgdG8gMTQpPwoKUmVnYXJkcywKClR2 cnRrbwoKCj4gdjIxIC0tPiB2MjIKPiA9PT09PT09PT09PQo+ICAgLSBqdXN0IHJlbW92ZWQgY29u dGV4dCBjcmVhdGlvbiBhbmQgZGVsZXRpb24gZnJvbQo+ICAgICBlbmdpbmVfdG9wb2xvZ3kgYW5k IGZpeGVkIHBlcmZfcG11IGFjY29yZGluZ2x5Lgo+IAo+IHYyMCAtLT4gdjIxCj4gPT09PT09PT09 PT0KPiAgIC0gcmVtb3ZlZCBUdnJ0a28ncyBkZWJ1ZyBtZXNzYWdlcwo+ICAgLSBmZXcgZml4ZXMg ZnJvbSBDaHJpcyBsYXN0IHJldmlldwo+IAo+IHYxOSAtLT4gdjIwCj4gPT09PT09PT09PT0KPiAg IC0gYWRkZWQgc29tZSBkZWJ1Z3MgZnJvbSBUdnJ0a28gdG8gZ2V0IG1vcmUgaW5mbyBhYm91dCBn ZW1fd2FpdAo+ICAgICBmYWlsdXJlLgo+ICAgLSBmZXcgZml4ZXMgaW4gZ2VtX2VuZ2luZV90b3Bv bG9neS5jIGZyb20gVHZydGtvJ3MgY29tbWVudHMsCj4gICAgIGluY2x1ZGluZyBhIGJpZ2dlciBm aXggYWJvdXQgYW4gdW5jb250cm9sbGVkIHZhcmlhYmxlCj4gICAgIGluY3JlbWVudCBpbiB0aGUg X25leHQgZnVuY3Rpb24KPiAKPiB2MTggLS0+IHYxOQo+ID09PT09PT09PT09Cj4gICAtIGludGVn cmF0ZWQgVHZydGtvJ3MgZml4dXAgcGF0Y2ggWzE3XS4gRnJvbSB0aGlzIHBhdGNoIHNvbWUKPiAg ICAgY2hhbmdlcyBoYXZlIGJlZW4gbW92ZWQgdG8gZ2VtX2VuZ2luZV90b3BvbG9neSBhcyBhIG5l dyBoZWxwZXIKPiAgICAgZm9yIGdldHRpbmcgdGhlIGVuZ2luZSdzIHByb3BlcnRpZXMuCj4gCj4g djE3IC0tPiB2MTgKPiA9PT09PT09PT09PQo+ICAgLSB0aHJlZSBwYXRjaGVzIGhhdmUgYmVlbiBh cHBsaWVkICh0aGUgb25lcyB0aGF0IGFkZAo+ICAgICBnZW1fY29udGV4dF9oYXNfZW5naW5lKCkg ZnVuY3Rpb24pCj4gICAtIGZldyBjb3NtZXRpYyBmaXhlcwo+ICAgLSBhbmQgc29tZSBjaGFuZ2Vz IGNvbWluZyBmcm9tIFR2cnRrbydzIHJldmlldyBvbiB2MTcKPiAKPiB2MTYgLS0+IHYxNwo+ID09 PT09PT09PT09Cj4gYW1vbmdzdCBtYW55IGxpdHRsZSB0aGluZ3MsIHRocmVlIG1haW4gY2hhbmdl czoKPiAgIC0gaW1wcm92ZWQgcGVyZl9wbXUgYWRhcHRhdGlvbiB0byBnZW1fZW5naW5lX3RvcG9s b2d5Cj4gICAtIHJlbW92ZWQgdGhlIGV4ZWMtY3R4IHRlc3QsIHBlcmZfcG11IHdpbGwgYmUgdGhl IGZsYWcgdGVzdAo+ICAgLSB3aGVuIGNyZWF0aW5nIHRoZSBlbmdpbmUgbGlzdCwgbm93IHRoZQo+ ICAgICBmb3JfZWFjaF9lbmdpbmVfcGh5c2ljYWwgY2FuIGJlIGV4ZWN1dGVkIHNhZmVseSBkdXJp bmcgc3VidGVzdAo+ICAgICBsaXN0aW5nCj4gCj4gdjE1IC0tPiB2MTYKPiA9PT09PT09PT09PQo+ ICAgLSBmZXcgY2hhbmdlcyB0byB0aGUgZ2VtX2VuZ2luZV90b3BvbG9neSBzdHVmZgo+ICAgLSBh ZGRlZCB1bmUgbW9yZSBkdW1teSB0ZXN0IHdoaWNoIGxvb3BzIHRocm91Z2ggdGhlIHBoeXNpY2Fs Cj4gICAgIGVuZ2luZXMsIGFzIHdlbGwuCj4gICAtIGNoYW5nZXMgdG8gdGVzdC9wZXJmX3BtdSBy ZXF1aXJlZCBzb21lIG1vcmUgY2hhbmdlcyB0aGFuCj4gICAgIGV4cGVjdGVkICh0aGUgMyBsYXN0 IHBhdGNoZXMpCj4gCj4gdjE0IC0tPiB2MTUKPiA9PT09PT09PT09PQo+IFBBVENIIHYxNDogWzE2 XQo+IAo+ICAgLSB2aXJ0dWFsIGVuZ2luZXMgd2lsbCBiZSBjYWxsZWQgInZpcnR1YWwiIGxpa2Ug dW5yZWNvZ25pc2VkCj4gICAgIGVuZ2luZXMgd2lsbCBiZSBjYWxsZWQgInVua25vd24iCj4gCj4g ICAtIHJlbmFtZWQgdGhlIGZvcl9lYWNoIGxvb3BzIHRvIG1vcmUgbWVhbmluZ2Z1bCBuYW1lcwo+ ICAgICAoX19mb3JfZWFjaF9zdGF0aWNfZW5naW5lIGFuZCBmb3JfZWFjaF9jb250ZXh0X2VuZ2lu ZSkgYW5kCj4gICAgIG1vdmVkIGludG8gZ2VtX2VuZ2luZV90b3BvbG9neS5oCj4gCj4gICAtIG1p bm9yIGNoYW5nZXMgYWJvdXQgZGF0YSB0eXBlcy4KPiAKPiB2MTMgLS0+IHYxNAo+ID09PT09PT09 PT09Cj4gUEFUQ0ggdjEzOiBbMTVdCj4gbWlub3IgY2hhbmdlcyB0aGlzIHRpbWU6Cj4gICAtIHNx dWFzaGVkIHBhdGNoIDIgYW5kIDMgKGZyb20gdjEzKSB3aXRoIGEgbGl0dGxlIHJlbmFtZSBhbmQK PiAgICAgYWRkZWQgQ2hyaXMgci1iCj4gCj4gICAtIGZpeGVkIHNvbWUgaW5kZXggaXNzdWVzIGFu ZCBzdHJpbmcgYXNzaWduZW1lbnQgbGVha3MKPiAKPiAgIC0gc3F1YXNoZWQgcGF0Y2hlcyA1LCA2 LCA3IGFuZCA4IGZyb20gdjEzCj4gCj4gdjEyIC0tPiB2MTMKPiA9PT09PT09PT09PQo+IFBBVENI IHYxMjogWzE0XQo+IFRoaXMgcGF0Y2ggaXMgYWxzbyB2ZXJ5IGRpZmZlcmVudCBmcm9tIHRoZSBw cmV2aW91cyBvdGhlciB0aGFuCj4gc29tZSByZW9yZ2FuaXphdGlvbiBvZiB0aGUgY29kZSB0aGVz ZSBhcmUgdGhlIG1haW4gY2hhbmdlczoKPiAKPiAgIC0gdGhlIHByZXZpb3VzIHZlcnNpb24gbGFj a2VkIHRoZSBjYXNlIHdoZW4gdGhlIGNvbnRleHQgaGFkIGl0cwo+ICAgICBlbmdpbmVzIG1hcHBl ZC4gY2hlY2tzIGluIHRoZSBmb2xsb3dpbmcgb3JkZXIKPiAKPiAgIGlmIHRoZSBkcml2ZXIgZG9l c24ndCBoYXZlIHRoZSBuZXcgQVBJCj4gICAgLT4gZ2V0IHRoZSBlbmdpbmVzIGZyb20gdGhlIHN0 YXRpYyBsaXN0Cj4gICBpZiB0aGUgZHJpdmVyIGhhcyB0aGUgQVBJIGJ1dCB0aGUgY29udGV4dCBo YXMgbm90aGluZyBtYXBwZWQKPiAgICAtPiBnZXQgdGhlIGVuZ2luZXMgZnJvbSAicXVlcnkiIGFu ZCBtYXAgdGhlbQo+ICAgaWYgdGhlIGRyaXZlciBoYXMgdGhlIEFQSSBhbmQgdGhlIGNvbnRleHQg aGFzIGVuZ2luZXMgbWFwcGVkCj4gICAgLT4gZ2V0IHRoZSBlbmdpbmVzIGZyb20gdGhlIGNvbnRl eHQKPiAKPiAgIC0gdGhlIGhlbHBlciBmdW5jdGlvbnMgaGF2ZSBiZWVuIHJlbW92ZWQgYXMgdGhl eSB3ZXJlIG9mIG5vIHVzZS4KPiAKPiB2MTEgLS0+IHYxMgo+ID09PT09PT09PT09Cj4gUEFUQ0gg djExOiBbMTNdCj4gVGhpcyAxMnRoIHZlcnNpb24gc3RhcnRzIGZyb20gYSBjb21wbGV0ZWx5IGRp ZmZlcmVudCB0aG91Z2h0Lgo+IEhlcmUncyB0aGUgbWFpbiBkaWZmZXJlbmNlczoKPiAKPiAgIC0g VGhlIGxpc3Qgb2YgZW5naW5lcyBpcyBwcm92aWRlZCBpbiBhbiBlbmdpbmVfZGF0YSBzdHJ1Y3R1 cmUKPiAgICAgd2hpY2ggY29udGFpbnMgYW4gaW5kZXggKHVzZWZ1bCBmb3IgbG9vcGluZyB0aHJv dWdoIGFuZCBmb3IKPiAgICAgZW5naW5lL2NvbnRleHQgaW5kZXggbWFwcGluZykgaW5zdGVhZCBv ZiBhbiBhcnJheSBvZiBlbmdpbmVzLgo+IAo+ICAgLSBUaGUgbGlzdCBvZiBlbmdpbmVzIGlzIGdl bmVyYXRlZCBldmVyeSB0aW1lIHRoZSBpbml0IGZ1bmN0aW9uCj4gICAgIGlzIGNhbGxlZCBhbmQg bm90aGluZyBpcyBhbGxvY2F0ZWQgaW4gaGVhcCBtZW1vcnkuCj4gCj4gICAtIFRoZSBpb2N0bCBj aGVjayBpcyBkb25lIGFscmVhZHkgZHVyaW5nIHRoZSBpbml0aWFsaXphdGlvbiBwYXJ0Cj4gICAg IGFuZCBpZiB0aGUgbmV3IGlvY3RscyBhcmUgbm90IGltcGxlbWVudGVkLCB0aGVuIHRoZSBpbml0 Cj4gICAgIGZ1bmN0aW9uIHN0aWxsIHN0b3JlcyBvbmx5IHRob3NlIHByZXNlbnQgaW4gdGhlIEdQ VS4KPiAKPiAgIC0gVGhlIGZvcl9lYWNoIGxvb3AgaXMgaW1wbGVtZW50ZWQgYnkgcmUtdXNpbmcg dGhlIHByZXZpb3VzCj4gICAgICdmb3JfZWFjaF9lbmdpbmVfY2xhc3NfaW5zdGFuY2UoKScgaW1w bGVtZW50ZWQgYnkgVHZydGtvLgo+IAo+ICAgLSBUaGUgZ2VtX3RvcG9sb2d5IGxpYnJhcnkgb2Zm ZXJzIGZldyBoZWxwZXIgZnVuY3Rpb25zIGZvcgo+ICAgICBjaGVja2luZyB0aGUgZW5naW5lIHBy ZXNlbmNlLCBjaGVja2luZyB0aGUgaW1wbGVtZW50YXRpb24gb2YKPiAgICAgdGhlIGlvY3RscyBh bmQgZXhlY3V0aW5nIHRoZSBidWZmZXIsIGluIG9yZGVyIHRvIGJlIGNvbXBsZXRlbHkKPiAgICAg dW5hd2FyZSBvZiB0aGUgZHJpdmVyIGltcGxlbWVudGF0aW9uLgo+IAo+IFRoYW5rcyBUdnJ0a28g Zm9yIGFsbCB5b3VyIGlucHV0cy4KPiAKPiB2MTAgLS0+IHYxMQo+ID09PT09PT09PT09Cj4gUkZD IHYxMDogWzEyXQo+IGZldyBjb3NtZXRpYyBjaGFuZ2VzIGluIHYxMSBhbmQgbWlub3IgYXJjaGl0 ZWN0dXJhbCBkZXRhaWxzLgo+IFRoYW5rcyBUdnJ0a28uCj4gCj4gLSB0aGUgJ3F1ZXJ5X2VuZ2lu ZXMoKScgZnVuY3Rpb25zIGFyZSBzdGF0aWMgYXMgbm8gb25lIGlzIHVzaW5nCj4gICAgdGhlbSB5 ZXQuCj4gCj4gLSByZW1vdmVkIHRoZSAnZ2VtX2hhc19lbmdpbmVfdG9wb2xvZ3koKScgZnVuY3Rp b24gYmVjYXVzZSBpdCdzCj4gICAgdmVyeSBsaXR0bGUgdXNlZCwgJ2dldF9hY3RpdmVfZW5naW5l cygpJyBjYW4gYmUgdXNlZCBpbnN0ZWFkLgo+IAo+IC0gYSBtaW5vciByaW5nIC0+IGVuZ2luZSBy ZW5hbWluZyBjb21pbmcgZnJvbSBDaHJpcy4KPiAKPiB2OSAtLT4gdjEwCj4gPT09PT09PT09PQo+ IFJGQyB2OTogWzExXQo+IGFsc28gdGhpcyB0aW1lIHF1aXRlIG1hbnkgY2hhbmdlcywgdGhhbmtz IENocmlzIGZvciB0aGUgcmV2aWV3cywKPiBoZXJlIHRoZSBtb3N0IHJlbGV2YW50IG9mIHRoZW0u Cj4gCj4gLSBnZW1fcXVlcnkuW2NoXSBoYXZlIGJlZW4gcmVuYW1lZCB0byBnZW1fZW5naW5lX3Rv cG9sb2d5LltjaF0KPiAgICBhbmQgYWxsIHRoZSBmdW5jdGlvbnMgZW5kZWQgdXAgdGhlcmUgYXMg dGhleSBhcmUgcmVmZXJyaW5nIHRvCj4gICAgdGhlIHRvcG9sb2d5IG9mIHRoZSBlbmdpbmVzLgo+ IAo+IC0gdGhlIGZ1bmN0aW9ucyAnZ2V0X2FjdGl2ZV9lbmdpbmVzKCknLAo+ICAgICdnZW1fc2V0 X2NvbnRleHRfZ2V0X2VuZ2luZXMoKScgYW5kCj4gICAgJ2lndF9yZXF1aXJlX2dlbV9lbmdpbmVf bGlzdCgpJyB3aWxsIGJlIHRoZSBtYWluIGludGVyZmFjZSB0bwo+ICAgIHRoZSBnZW1fZW5naW5l X3RvcG9sb2d5IGxpYnJhcnksIHJlZmVyIHRvIHBhdGNoIDIgZm9yIGRldGFpbHMuCj4gCj4gLSB0 aGUgZGVmaW5lICdmb3JfZWFjaF9lbmdpbmUyKCknIGRvZXNuJ3QgZXhwb3NlIGFueW1vcmUgdGhl Cj4gICAgaXRlcmF0b3IuCj4gCj4gLSAnZ2VtX2NvbnRleHRfaGFzX2VuZ2luZSgpJyBoYXMgYmVl biBtb3ZlZCBmcm9tIGlvY3RsX3dyYXBwZXJzLmMKPiAgICB0byBnZW1fY29udGV4dC5jLgo+IAo+ IC0gdGhlIGdlbV9leGVjX2Jhc2ljIGV4ZWMtY3R4IHN1YnRlc3QgZG9lcyBub3QgYWJvcnQgaWYg dGhlIG5ldwo+ICAgIGdldHBhcmFtL3NldHBhcmFtIGFuZCBxdWVyeSBhcGlzIGFyZSBub3QgaW1w bGVtZW50ZWQgYXMgaXQgY2FuCj4gICAgd29yayB3aXRoIGJvdGggKGFzIGl0IHdhcyBkb25lIGF0 IHRoZSBiZWdpbm5pbmcpLgo+IAo+IHY4IC0tPiB2OQo+ID09PT09PT09PQo+IFJGQyB2ODogWzEw XQo+IHF1aXRlIG1hbnkgY2hhbmdlcywgcGxlYXNlIHJlZmVyIHRvIHRoZSByZXZpZXcgaW4gWzEw XS4gVGhhbmtzCj4gQ2hyaXMgZm9yIHRoZSByZXZpZXcuIFRoZXNlIGFyZSB0aGUgbW9zdCByZWxl dmFudDoKPiAKPiAtIGFsbCB0aGUgYWxsb2NhdGlvbiBpbiBnZW1fcXVlcnkgaGF2ZSBiZWVuIG1h ZGUgaW4gc3RhY2ssIG5vdAo+ICAgIGFueW1vcmUgYWxsb2NhdGVkIGR5bmFtaWNhbGx5Lgo+IAo+ IC0gcmVtb3ZlZCBnZXQvc2V0X2NvbnRleHQgYXMgaXQgd2FzIGFscmVhZHkgaW1wbGVtZW50ZWQg YW5kIEkKPiAgICBkaWRuJ3Qga25vdy4KPiAKPiAtIHJlbmFtZWQgc29tZSBmdW5jdGlvbnMgYW5k IHZhcmlhYmxlcyB0byBob3BlZnVsbHkgbW9yZQo+ICAgIG1lYW5pbmdmdWwgbmFtZXMuCj4gCj4g VjcgLS0+IHY4Cj4gPT09PT09PT09Cj4gUkZDIHY3OiBbOV0KPiAKPiAtIGFsbCBmdW5jdGlvbnMg aGF2ZSBiZWVuIG1vdmVkIGZyb20gbGliL2lndF9ndC57YyxofSBhbmQKPiAgICBsaWIvaW9jdGxf d3JhcHBlcnMue2MsaH0gdG8gbGliL2k5MTYvZ2VtX3F1ZXJ5LntjLGh9LiAodGhhbmtzCj4gICAg Q2hyaXMpCj4gCj4gLSAnZm9yX2VhY2hfZW5naW5lX2N0eCcgaGFzIGJlZW4gcmVuYW1lZCB0byAn Zm9yX2VhY2hfZW5naW5lMicgdG8KPiAgICBiZSBjb25zaXN0ZW50IHdpdGggdGhlICcyJyB0aGF0 IGluZGljYXRlcyB0aGUgbmV3ICdzdHJ1Y3QKPiAgICBpbnRlbF9leGVjdXRpb25fZW5naW5lMicg ZGF0YSBzdHJ1Y3R1cmUuCj4gCj4gVjYgLS0+IFY3Cj4gPT09PT09PT09Cj4gUkZDIHY2OiBbOF0K PiAKPiAtIGEgbmV3IHBhdGNoIGhhcyBiZWVuIGFkZGVkIChwYXRjaCAzKSB3aGljaCBhZGRzIGEg bmV3Cj4gICAgcmVxdWlyZW1lbnQgY2hlY2sgdGhyb3VnaCB0aGUgaWd0X3JlcXVpcmVfZ2VtX2Vu Z2luZV9saXN0KCkKPiAgICBmdW5jdGlvbi4gKHRoYW5rcyBDaHJpcykgVGhpcyBmdW5jdGlvbiB3 aWxsIGluaXRpYWxpemUgdGhlCj4gICAgZW5naW5lIGxpc3QgaW5zdGVhZCBvZiB0aGUgaW5zdGVh ZCBvZiBpZ3RfcmVxdWlyZV9nZW0oKSBhcyBpdAo+ICAgIHdhcyBpbiB2Ngo+IAo+IC0gYWxsIHRo ZSBpb2N0bHMgaGF2ZSBiZWVuIHdyYXBwZWQgKHRoYW5rcyBDaHJpcyBhbmQgQW50b25pbykgYW5k Cj4gICAgbmV3IGxpYnJhcnkgZnVuY3Rpb25zIGhhdmUgYmVlbiBhZGRlZCBhbmQgYXNzZXJ0IHRo ZSBpb2N0bHMKPiAKPiAtIGdlbV9pbml0X2VuZ2luZV9saXN0KCkgZnVuY3Rpb24gcmV0dXJucyB0 aGUgZXJybm8gZnJvbSB0aGUKPiAgICBHRVRQQVJBTSBpb2N0bCBpbiBvcmRlciB0byBiZSB1c2Vk IGFzIGEgcmVxdWlyZW1lbnQuICh0aGFua3MKPiAgICBDaHJpcykKPiAKPiAtIGZpeGVkIGZldyBy ZXF1aXJlcy9hc3NlcnRzCj4gCj4gLSBUaGUgZW5naW5lIGxpc3QgImludGVsX2FjdGl2ZV9lbmdp bmVzMiIgaXMgYWxsb2NhdGVkIG9mIHRoZQo+ICAgIG51bWJlciBvZiBlbmdpbmVzIGluc3RlYWQg b2YgYSBwb2xpdGljYWwgNjQgKHRoYW5rcyBBbnRvbmlvKS4KPiAKPiAtIHNvbWUgcGFyYW1ldGVy IHJlbmFtaW5nIGluIGdlbV9oYXNfcmluZ19ieV9pZHgoKS4gKHRoYW5rcwo+ICAgIENocmlzKS4K PiAKPiAtIHRoZSBvcmlnaW5hbCAiaW50ZWxfZXhlY3V0aW9uX2VuZ2luZXMyIiBoYXMgbm90IGJl ZW4gcmVuYW1lZCwKPiAgICBiZWNhdXNlIGl0IGlzIHVzZWQgdG8gY3JlYXRlIHN1YnRlc3RzIGJl Zm9yZSBldmVuIGV4ZWN1dGluZyBhbnkKPiAgICB0ZXN0L2lvY3RsLiBCeSByZW5hbWluZyBpdCwg c29tZSBzdWJ0ZXN0IGdlbmVyYXRpb25zIGZhaWxlZC4KPiAgICAodGhhbmtzIFBldHJpKQo+IAo+ IFY1IC0tPiBWNgo+ID09PT09PT09PQo+IFJGQyB2NTogWzddCj4gLSBDaHJpcyBpbXBsZW1lbnRl ZCB0aGUgZ2V0cGFyYW0gaW9jdGwgd2hpY2ggYWxsb3dzIHRvIHRoZSB0ZXN0Cj4gICAgdG8gZmln dXJlIG90dSB3aGV0aGVyIHRoZSBuZXcgaW50ZXJmYWNlIGhhcyBiZWVuIGltcGxlbWVudGVkLgo+ ICAgIFRoaXMgd2F5IHRoZSBmb3JfZWFjaF9lbmdpbmVfY3R4KCkgaXMgYWJsZSB0byB3b3JrIHdp dGggbmV3IGFuZAo+ICAgIG9sZCBrZXJuZWwgdWFwaSAodGhhbmtzIENocmlzKQo+IAo+IFY0IC0t PiBWNQo+ID09PT09PT09PQo+IFJGQyB2NDogWzZdCj4gCj4gLSB0aGUgZW5naW5lIGxpc3QgaXMg bm93IGJ1aWx0IGluICdpZ3RfcmVxdWlyZV9nZW0oKScgaW5zdGVhZCBvZgo+ICAgICdfX29wZW5f ZHJpdmVyKCknIHNvIHRoYXQgd2Uga2VlcCB0aGlzIGRpc2NvdmVyeSBtZXRob2QKPiAgICBzcGVj aWZpYyB0byB0aGUgaTkxNSBkcml2ZXIgKHRoYW5rcyBDaHJpcykuCj4gCj4gLSBBbGwgdGhlIHF1 ZXJ5L3NldHBhcmFtIHN0cnVjdHVyZXMgZHluYW1pYyBhbGxvY2F0aW9uIGJhc2VkIG9uCj4gICAg dGhlIG51bWJlciBvZiBlbmdpbmVzLCBub3cgYXJlIHBvbGl0aWNhbGx5IGFsbG9jYXRlZCA2NCB0 aW1lcywKPiAgICB0byBhdm9pZCBleHRyYSBpb2N0bCBjYWxscyB0aGF0IHJldHJpZXZlIHRoZSBl bmdpbmUgbnVtYmVyCj4gICAgKHRoYW5rcyBDaHJpcykKPiAKPiAtIHVzZSBpZ3RfaW9jdGwgaW5z dGVhZCBvZiBpb2N0bCAodGhhbmtzIENocmlzKQo+IAo+IC0gYWxsb2NhdGUgaW50ZWxfZXhlY3V0 aW9uX2VuZ2luZXMyIGR5bmFtaWNhbGx5IGluc3RlYWQgb2YKPiAgICBzdGF0aWNhbGx5ICh0aGFu a3MgVHZydGtvKQo+IAo+IC0gc2ltcGxpZnkgdGhlIHRlc3QgaW4gJ2dlbV9leGVjX2Jhc2ljKCkn IHNvIHRoYXQgc2ltcGx5IGNoZWNrcwo+ICAgIHRoZSBwcmVzZW5jZSBvZiB0aGUgZW5naW5lIGlu c3RlYWQgb2YgZXhlY3V0aW5nIGEgYnVmZmVyCj4gICAgKHRoYW5rIENocmlzKQo+IAo+IC0gYSBu ZXcgcGF0Y2ggaGFzIGJlZW4gYWRkZWQgKHBhdGNoIDMpIHRoYXQgZXh0ZW5kcyB0aGUKPiAgICAn Z2VtX2hhc19yaW5nKCknIGJvb2xlYW4gZnVuY3Rpb24uIFRoZSBuZXcgdmVyc2lvbiBzZXRzIHRo ZQo+ICAgIGluZGV4IGFzIGl0J3MgbWFwcGVkIGluIHRoZSBrZXJuZWwuVGhlIHByZXZpb3VzIGZ1 bmN0aW9uIGlzIG5vdwo+ICAgIGEgd3JhcHBlciB0byB0aGUgbmV3IGZ1bmN0aW9uLgo+IAo+IFYz IC0tPiBWNAo+ID09PT09PT09PQo+IFBBVENIIHYzOiBbM10KPiAKPiAtIHJlLWFyY2hpdGVjdHVy ZWQgdGhlIGRpc2NvdmVyeSBtZWNoYW5pc20gYmFzZWQgb24gVHZydGtvJ3MKPiAgICBzdWdlc3Rp b24gYW5kIHJldmlld3MuLiBJbiB0aGlzIHZlcnNpb24gdGhlIGRpc2NvdmVyeSBpcyBkb25lCj4g ICAgZHVyaW5nIHRoZSBkZXZpY2Ugb3BlbmluZyBhbmQgc3RvcmVkIGluIGEgTlVMTCB0ZXJtaW5h dGVkCj4gICAgYXJyYXksIHdoaWNoIHJlcGxhY2VzIHRoZSBleGlzdGluZyBpbnRlbF9leGVjdXRp b25fZW5naW5lczIKPiAgICB0aGF0IGlzIG1haW5seSB1c2VkIGFzIGEgcmVmZXJlbmNlLgo+IAo+ IFYyIC0tPiBWMwo+ID09PT09PT09PQo+IFJGQyB2MjogWzJdCj4gCj4gLSByZW1vdmVkIGEgc3Rh bmRhbG9uZSBnZW1fcXVlcnlfZW5naW5lc19kZW1vIHRlc3QgYW5kIGFkZGVkIHRoZQo+ICAgIGV4 ZWMtY3R4IHN1YnRlc3QgaW5zaWRlIGdlbV9leGVjX2Jhc2ljICh0aGFua3MgVHZydGtvKS4KPiAK PiAtIGZpeGVkIG1vc3Qgb2YgVHZydGtvJ3MgY29tbWVudHMgaW4gWzVdLCB3aGljaCBjb25zaXN0 IGluCj4gICAgcHV0dGluZyB0aGUgbWFsbG9jcyBpZ3RfYXNzZXJ0IGFuZCBpY3RscyBpbiBpZ3Rf cmVxdWlyZSBhbmQgZmV3Cj4gICAgcmVmYWN0b3JpbmcgKHRoYW5rcyBUdnJ0a28pLgo+IAo+IFYx IC0tPiBWMgo+ID09PT09PT09PQo+IFJGQyB2MTogWzFdCj4gCj4gLSBhZGRlZCBhIGRlbW8gdGVz dCB0aGF0IHNpbXBseSBxdWVyaWVzIHRoZSBkcml2ZXIgYWJvdXQgdGhlCj4gICAgZW5naW5lcyBh bmQgZXhlY3V0ZXMgYSBidWZmZXIgKHRoYW5rcyBUdnJ0a28pCj4gCj4gLSByZWZhY3RvcmVkIHRo ZSBmb3JfZWFjaF9lbmdpbmVfY3R4KCkgbWFjcm8gc28gdGhhdCB3aGF0IGluIHRoZQo+ICAgIHBy ZXZpb3VzIHZlcnNpb24gd2FzIGRvbmUgYnkgdGhlICJiaW5kIiBmdW5jdGlvbiwgbm93IGl0J3Mg ZG9uZQo+ICAgIGluIHRoZSBmaXJzdCBpdGVyYXRpb24uIChUaGFua3MgQ3JoaXMpCj4gCj4gLSBy ZW1vdmVkIHRoZSAiZ2VtX2hhc19yaW5nX2N0eCgpIiBiZWNhdXNlIGl0IHdhcyBvdXQgb2YgdGhl Cj4gICAgc2NvcGUuCj4gCj4gLSByZW5hbWUgZnVuY3Rpb25zIHRvIG1vcmUgbWVhbmluZ2Z1bCBu YW1lcwo+IAo+IFsxXSBSRkMgdjE6IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hp dmVzL2lndC1kZXYvMjAxOC1Ob3ZlbWJlci8wMDcwMjUuaHRtbAo+IFsyXSBSRkMgdjI6IGh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYvMjAxOC1Ob3ZlbWJlci8w MDcwNzkuaHRtbAo+IFszXSBQQVRDSCB2MzogaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv YXJjaGl2ZXMvaWd0LWRldi8yMDE4LU5vdmVtYmVyLzAwNzE0OC5odG1sCj4gWzRdIGh0dHBzOi8v Y2dpdC5mcmVlZGVza3RvcC5vcmcvfnR1cnN1bGluL2RybS1pbnRlbC9sb2cvP2g9bWVkaWEKPiBb NV0gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvaWd0LWRldi8yMDE4LU5v dmVtYmVyLzAwNzEwMC5odG1sCj4gWzZdIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2Fy Y2hpdmVzL2lndC1kZXYvMjAxOS1KYW51YXJ5LzAwODAyOS5odG1sCj4gWzddIGh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYvMjAxOS1KYW51YXJ5LzAwODE2NS5o dG1sCj4gWzhdIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYv MjAxOS1GZWJydWFyeS8wMDg5MDIuaHRtbAo+IFs5XSBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9hcmNoaXZlcy9pZ3QtZGV2LzIwMTktRmVicnVhcnkvMDA5MTg1Lmh0bWwKPiBbMTBdIGh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYvMjAxOS1GZWJydWFy eS8wMDkyMDUuaHRtbAo+IFsxMV0gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2 ZXMvaWd0LWRldi8yMDE5LUZlYnJ1YXJ5LzAwOTI3Ny5odG1sCj4gWzEyXSBodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9pZ3QtZGV2LzIwMTktTWFyY2gvMDEwMTk3Lmh0bWwK PiBbMTNdIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYvMjAx OS1NYXJjaC8wMTA0NjcuaHRtbAo+IFsxNF0gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv YXJjaGl2ZXMvaWd0LWRldi8yMDE5LU1hcmNoLzAxMDc3Ni5odG1sCj4gWzE1XSBodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9pZ3QtZGV2LzIwMTktTWFyY2gvMDEwODI3Lmh0 bWwKPiBbMTZdIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYv MjAxOS1NYXJjaC8wMTA5MTYuaHRtbAo+IFsxN10gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvYXJjaGl2ZXMvaWd0LWRldi8yMDE5LUFwcmlsLzAxMTgyMS5odG1sCj4gCj4gQW5kaSBTaHl0 aSAoMTQpOgo+ICAgIGluY2x1ZGUvZHJtLXVhcGk6IGltcG9ydCBpOTE1X2RybS5oIGhlYWRlciBm aWxlCj4gICAgbGliL2k5MTU6IGFkZCBnZW1fZW5naW5lX3RvcG9sb2d5IGxpYnJhcnkgYW5kIGZv cl9lYWNoIGxvb3AgZGVmaW5pdGlvbgo+ICAgIGxpYjogaWd0X2d0OiBhZGQgZXhlY3V0aW9uIGJ1 ZmZlciBmbGFncyB0byBjbGFzcyBoZWxwZXIKPiAgICBsaWI6IGlndF9ndDogbWFrZSBnZW1fZW5n aW5lX2Nhbl9zdG9yZV9kd29yZCgpIGNoZWNrIGVuZ2luZSBjbGFzcwo+ICAgIGxpYjogaWd0X2R1 bW15bG9hZDogdXNlIGZvcl9lYWNoX2NvbnRleHRfZW5naW5lKCkKPiAgICB0ZXN0OiBwZXJmX3Bt dTogdXNlIHRoZSBnZW1fZW5naW5lX3RvcG9sb2d5IGxpYnJhcnkKPiAgICB0ZXN0L2k5MTU6IGdl bV9idXN5OiB1c2UgdGhlIGdlbV9lbmdpbmVfdG9wb2xvZ3kgbGlicmFyeQo+ICAgIHRlc3QvaTkx NTogZ2VtX2NzX3RsYjogdXNlIHRoZSBnZW1fZW5naW5lX3RvcG9sb2d5IGxpYnJhcnkKPiAgICB0 ZXN0L2k5MTU6IGdlbV9jdHhfZXhlYzogdXNlIHRoZSBnZW1fZW5naW5lX3RvcG9sb2d5IGxpYnJh cnkKPiAgICB0ZXN0L2k5MTU6IGdlbV9leGVjX2Jhc2ljOiB1c2UgdGhlIGdlbV9lbmdpbmVfdG9w b2xvZ3kgbGlicmFyeQo+ICAgIHRlc3QvaTkxNTogZ2VtX2V4ZWNfcGFyYWxsZWw6IHVzZSB0aGUg Z2VtX2VuZ2luZV90b3BvbG9neSBsaWJyYXJ5Cj4gICAgdGVzdC9pOTE1OiBnZW1fZXhlY19zdG9y ZTogdXNlIHRoZSBnZW1fZW5naW5lX3RvcG9sb2d5IGxpYnJhcnkKPiAgICB0ZXN0L2k5MTU6IGdl bV93YWl0OiB1c2UgdGhlIGdlbV9lbmdpbmVfdG9wb2xvZ3kgbGlicmFyeQo+ICAgIHRlc3QvaTkx NTogaTkxNV9oYW5nbWFuOiB1c2UgdGhlIGdlbV9lbmdpbmVfdG9wb2xvZ3kgbGlicmFyeQo+IAo+ ICAgaW5jbHVkZS9kcm0tdWFwaS9pOTE1X2RybS5oICAgIHwgMjA5ICsrKysrKysrKysrKysrKysr KysrKysrLQo+ICAgbGliL01ha2VmaWxlLnNvdXJjZXMgICAgICAgICAgIHwgICAyICsKPiAgIGxp Yi9pOTE1L2dlbV9lbmdpbmVfdG9wb2xvZ3kuYyB8IDI4MiArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKPiAgIGxpYi9pOTE1L2dlbV9lbmdpbmVfdG9wb2xvZ3kuaCB8ICA3OSArKysr KysrKysKPiAgIGxpYi9pZ3QuaCAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCj4gICBsaWIv aWd0X2R1bW15bG9hZC5jICAgICAgICAgICAgfCAgMjkgKystLQo+ICAgbGliL2lndF9ndC5jICAg ICAgICAgICAgICAgICAgIHwgIDMwICsrKy0KPiAgIGxpYi9pZ3RfZ3QuaCAgICAgICAgICAgICAg ICAgICB8ICAxMiArLQo+ICAgbGliL21lc29uLmJ1aWxkICAgICAgICAgICAgICAgIHwgICAxICsK PiAgIHRlc3RzL2k5MTUvZ2VtX2J1c3kuYyAgICAgICAgICB8IDEzMyArKysrKystLS0tLS0tLS0t Cj4gICB0ZXN0cy9pOTE1L2dlbV9jc190bGIuYyAgICAgICAgfCAgIDggKy0KPiAgIHRlc3RzL2k5 MTUvZ2VtX2N0eF9leGVjLmMgICAgICB8ICAxNSArLQo+ICAgdGVzdHMvaTkxNS9nZW1fZXhlY19i YXNpYy5jICAgIHwgIDI4ICsrLS0KPiAgIHRlc3RzL2k5MTUvZ2VtX2V4ZWNfcGFyYWxsZWwuYyB8 ICAgNyArLQo+ICAgdGVzdHMvaTkxNS9nZW1fZXhlY19zdG9yZS5jICAgIHwgIDI1ICsrLQo+ICAg dGVzdHMvaTkxNS9nZW1fd2FpdC5jICAgICAgICAgIHwgIDI0ICstLQo+ICAgdGVzdHMvaTkxNS9p OTE1X2hhbmdtYW4uYyAgICAgIHwgIDE1ICstCj4gICB0ZXN0cy9wZXJmX3BtdS5jICAgICAgICAg ICAgICAgfCAxNTEgKysrKysrKysrKystLS0tLS0tCj4gICAxOCBmaWxlcyBjaGFuZ2VkLCA4MjIg aW5zZXJ0aW9ucygrKSwgMjI5IGRlbGV0aW9ucygtKQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGxp Yi9pOTE1L2dlbV9lbmdpbmVfdG9wb2xvZ3kuYwo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi9p OTE1L2dlbV9lbmdpbmVfdG9wb2xvZ3kuaAo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2lndC1kZXY=