From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from 2.mo4.mail-out.ovh.net (2.mo4.mail-out.ovh.net [46.105.72.36]) by gabe.freedesktop.org (Postfix) with ESMTPS id E642989801 for ; Fri, 12 Apr 2019 00:37:34 +0000 (UTC) Received: from player732.ha.ovh.net (unknown [10.109.143.220]) by mo4.mail-out.ovh.net (Postfix) with ESMTP id CA6FD1E3663 for ; Fri, 12 Apr 2019 02:32:18 +0200 (CEST) From: Andi Shyti Date: Fri, 12 Apr 2019 03:32:04 +0300 Message-Id: <20190412003210.18762-1-andi@etezian.org> MIME-Version: 1.0 Subject: [igt-dev] [PATCH v20 0/6] new engine discovery interface List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: IGT dev Cc: Andi Shyti List-ID: RnJvbTogQW5kaSBTaHl0aSA8YW5kaS5zaHl0aUBpbnRlbC5jb20+CgpIaSwKCkluIHRoaXMgcGF0 Y2hzZXQgSSBwcm9wb3NlIGFuIGFsdGVybmF0aXZlIHdheSBvZiBlbmdpbmUgZGlzY292ZXJ5CnRo YW5rcyB0byB0aGUgbmV3IGludGVyZmFjZXMgZGV2ZWxvcGVkIGJ5IFR2cnRrbyBhbmQgQ2hyaXNb NF0uCgpUaGUgY2hhbmdlcyB0byBwZXJmX3BtdSBhcmUgYSBwcm9wb3NhbCwgbW9zdCBwcm9iYWJs eSB0aGV5IGRvbid0CndvcmsgKGl0J3MgYW55d2F5IGFuIFJGQykgYmVjYXVzZSB0aGUgZGVwZW5k ZW5jeSB0byBsZWdhY3kgY29kZQppcyBzdGlsbCB0b28gc3Ryb25nLgoKVGhhbmtzIFR2cnRrbywg Q2hyaXMsIEFudG9uaW8gYW5kIFBldHJpIGZvciB5b3VyIGNvbW1lbnRzIGluIHRoZQpwcmV2aW91 cyBSRkNzLgoKQW5kaQoKdjE5IC0tPiB2MjAKPT09PT09PT09PT0KIC0gYWRkZWQgc29tZSBkZWJ1 Z3MgZnJvbSBUdnJ0a28gdG8gZ2V0IG1vcmUgaW5mbyBhYm91dCBnZW1fd2FpdAogICBmYWlsdXJl LgogLSBmZXcgZml4ZXMgaW4gZ2VtX2VuZ2luZV90b3BvbG9neS5jIGZyb20gVHZydGtvJ3MgY29t bWVudHMsCiAgIGluY2x1ZGluZyBhIGJpZ2dlciBmaXggYWJvdXQgYW4gdW5jb250cm9sbGVkIHZh cmlhYmxlCiAgIGluY3JlbWVudCBpbiB0aGUgX25leHQgZnVuY3Rpb24KCnYxOCAtLT4gdjE5Cj09 PT09PT09PT09CiAtIGludGVncmF0ZWQgVHZydGtvJ3MgZml4dXAgcGF0Y2ggWzE3XS4gRnJvbSB0 aGlzIHBhdGNoIHNvbWUKICAgY2hhbmdlcyBoYXZlIGJlZW4gbW92ZWQgdG8gZ2VtX2VuZ2luZV90 b3BvbG9neSBhcyBhIG5ldyBoZWxwZXIKICAgZm9yIGdldHRpbmcgdGhlIGVuZ2luZSdzIHByb3Bl cnRpZXMuCgp2MTcgLS0+IHYxOAo9PT09PT09PT09PQogLSB0aHJlZSBwYXRjaGVzIGhhdmUgYmVl biBhcHBsaWVkICh0aGUgb25lcyB0aGF0IGFkZAogICBnZW1fY29udGV4dF9oYXNfZW5naW5lKCkg ZnVuY3Rpb24pCiAtIGZldyBjb3NtZXRpYyBmaXhlcwogLSBhbmQgc29tZSBjaGFuZ2VzIGNvbWlu ZyBmcm9tIFR2cnRrbydzIHJldmlldyBvbiB2MTcKCnYxNiAtLT4gdjE3Cj09PT09PT09PT09CmFt b25nc3QgbWFueSBsaXR0bGUgdGhpbmdzLCB0aHJlZSBtYWluIGNoYW5nZXM6CiAtIGltcHJvdmVk IHBlcmZfcG11IGFkYXB0YXRpb24gdG8gZ2VtX2VuZ2luZV90b3BvbG9neQogLSByZW1vdmVkIHRo ZSBleGVjLWN0eCB0ZXN0LCBwZXJmX3BtdSB3aWxsIGJlIHRoZSBmbGFnIHRlc3QKIC0gd2hlbiBj cmVhdGluZyB0aGUgZW5naW5lIGxpc3QsIG5vdyB0aGUKICAgZm9yX2VhY2hfZW5naW5lX3BoeXNp Y2FsIGNhbiBiZSBleGVjdXRlZCBzYWZlbHkgZHVyaW5nIHN1YnRlc3QKICAgbGlzdGluZwoKdjE1 IC0tPiB2MTYKPT09PT09PT09PT0KIC0gZmV3IGNoYW5nZXMgdG8gdGhlIGdlbV9lbmdpbmVfdG9w b2xvZ3kgc3R1ZmYKIC0gYWRkZWQgdW5lIG1vcmUgZHVtbXkgdGVzdCB3aGljaCBsb29wcyB0aHJv dWdoIHRoZSBwaHlzaWNhbAogICBlbmdpbmVzLCBhcyB3ZWxsLgogLSBjaGFuZ2VzIHRvIHRlc3Qv cGVyZl9wbXUgcmVxdWlyZWQgc29tZSBtb3JlIGNoYW5nZXMgdGhhbgogICBleHBlY3RlZCAodGhl IDMgbGFzdCBwYXRjaGVzKQoKdjE0IC0tPiB2MTUKPT09PT09PT09PT0KUEFUQ0ggdjE0OiBbMTZd CgogLSB2aXJ0dWFsIGVuZ2luZXMgd2lsbCBiZSBjYWxsZWQgInZpcnR1YWwiIGxpa2UgdW5yZWNv Z25pc2VkCiAgIGVuZ2luZXMgd2lsbCBiZSBjYWxsZWQgInVua25vd24iCgogLSByZW5hbWVkIHRo ZSBmb3JfZWFjaCBsb29wcyB0byBtb3JlIG1lYW5pbmdmdWwgbmFtZXMKICAgKF9fZm9yX2VhY2hf c3RhdGljX2VuZ2luZSBhbmQgZm9yX2VhY2hfY29udGV4dF9lbmdpbmUpIGFuZAogICBtb3ZlZCBp bnRvIGdlbV9lbmdpbmVfdG9wb2xvZ3kuaAoKIC0gbWlub3IgY2hhbmdlcyBhYm91dCBkYXRhIHR5 cGVzLgoKdjEzIC0tPiB2MTQKPT09PT09PT09PT0KUEFUQ0ggdjEzOiBbMTVdCm1pbm9yIGNoYW5n ZXMgdGhpcyB0aW1lOgogLSBzcXVhc2hlZCBwYXRjaCAyIGFuZCAzIChmcm9tIHYxMykgd2l0aCBh IGxpdHRsZSByZW5hbWUgYW5kCiAgIGFkZGVkIENocmlzIHItYgoKIC0gZml4ZWQgc29tZSBpbmRl eCBpc3N1ZXMgYW5kIHN0cmluZyBhc3NpZ25lbWVudCBsZWFrcwoKIC0gc3F1YXNoZWQgcGF0Y2hl cyA1LCA2LCA3IGFuZCA4IGZyb20gdjEzCgp2MTIgLS0+IHYxMwo9PT09PT09PT09PQpQQVRDSCB2 MTI6IFsxNF0KVGhpcyBwYXRjaCBpcyBhbHNvIHZlcnkgZGlmZmVyZW50IGZyb20gdGhlIHByZXZp b3VzIG90aGVyIHRoYW4Kc29tZSByZW9yZ2FuaXphdGlvbiBvZiB0aGUgY29kZSB0aGVzZSBhcmUg dGhlIG1haW4gY2hhbmdlczoKCiAtIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGxhY2tlZCB0aGUgY2Fz ZSB3aGVuIHRoZSBjb250ZXh0IGhhZCBpdHMKICAgZW5naW5lcyBtYXBwZWQuIGNoZWNrcyBpbiB0 aGUgZm9sbG93aW5nIG9yZGVyCgogaWYgdGhlIGRyaXZlciBkb2Vzbid0IGhhdmUgdGhlIG5ldyBB UEkKICAtPiBnZXQgdGhlIGVuZ2luZXMgZnJvbSB0aGUgc3RhdGljIGxpc3QKIGlmIHRoZSBkcml2 ZXIgaGFzIHRoZSBBUEkgYnV0IHRoZSBjb250ZXh0IGhhcyBub3RoaW5nIG1hcHBlZAogIC0+IGdl dCB0aGUgZW5naW5lcyBmcm9tICJxdWVyeSIgYW5kIG1hcCB0aGVtCiBpZiB0aGUgZHJpdmVyIGhh cyB0aGUgQVBJIGFuZCB0aGUgY29udGV4dCBoYXMgZW5naW5lcyBtYXBwZWQKICAtPiBnZXQgdGhl IGVuZ2luZXMgZnJvbSB0aGUgY29udGV4dAoKIC0gdGhlIGhlbHBlciBmdW5jdGlvbnMgaGF2ZSBi ZWVuIHJlbW92ZWQgYXMgdGhleSB3ZXJlIG9mIG5vIHVzZS4KCnYxMSAtLT4gdjEyCj09PT09PT09 PT09ClBBVENIIHYxMTogWzEzXQpUaGlzIDEydGggdmVyc2lvbiBzdGFydHMgZnJvbSBhIGNvbXBs ZXRlbHkgZGlmZmVyZW50IHRob3VnaHQuCkhlcmUncyB0aGUgbWFpbiBkaWZmZXJlbmNlczoKCiAt IFRoZSBsaXN0IG9mIGVuZ2luZXMgaXMgcHJvdmlkZWQgaW4gYW4gZW5naW5lX2RhdGEgc3RydWN0 dXJlCiAgIHdoaWNoIGNvbnRhaW5zIGFuIGluZGV4ICh1c2VmdWwgZm9yIGxvb3BpbmcgdGhyb3Vn aCBhbmQgZm9yCiAgIGVuZ2luZS9jb250ZXh0IGluZGV4IG1hcHBpbmcpIGluc3RlYWQgb2YgYW4g YXJyYXkgb2YgZW5naW5lcy4KCiAtIFRoZSBsaXN0IG9mIGVuZ2luZXMgaXMgZ2VuZXJhdGVkIGV2 ZXJ5IHRpbWUgdGhlIGluaXQgZnVuY3Rpb24KICAgaXMgY2FsbGVkIGFuZCBub3RoaW5nIGlzIGFs bG9jYXRlZCBpbiBoZWFwIG1lbW9yeS4KCiAtIFRoZSBpb2N0bCBjaGVjayBpcyBkb25lIGFscmVh ZHkgZHVyaW5nIHRoZSBpbml0aWFsaXphdGlvbiBwYXJ0CiAgIGFuZCBpZiB0aGUgbmV3IGlvY3Rs cyBhcmUgbm90IGltcGxlbWVudGVkLCB0aGVuIHRoZSBpbml0CiAgIGZ1bmN0aW9uIHN0aWxsIHN0 b3JlcyBvbmx5IHRob3NlIHByZXNlbnQgaW4gdGhlIEdQVS4KCiAtIFRoZSBmb3JfZWFjaCBsb29w IGlzIGltcGxlbWVudGVkIGJ5IHJlLXVzaW5nIHRoZSBwcmV2aW91cwogICAnZm9yX2VhY2hfZW5n aW5lX2NsYXNzX2luc3RhbmNlKCknIGltcGxlbWVudGVkIGJ5IFR2cnRrby4KCiAtIFRoZSBnZW1f dG9wb2xvZ3kgbGlicmFyeSBvZmZlcnMgZmV3IGhlbHBlciBmdW5jdGlvbnMgZm9yCiAgIGNoZWNr aW5nIHRoZSBlbmdpbmUgcHJlc2VuY2UsIGNoZWNraW5nIHRoZSBpbXBsZW1lbnRhdGlvbiBvZgog ICB0aGUgaW9jdGxzIGFuZCBleGVjdXRpbmcgdGhlIGJ1ZmZlciwgaW4gb3JkZXIgdG8gYmUgY29t cGxldGVseQogICB1bmF3YXJlIG9mIHRoZSBkcml2ZXIgaW1wbGVtZW50YXRpb24uCgpUaGFua3Mg VHZydGtvIGZvciBhbGwgeW91ciBpbnB1dHMuCgp2MTAgLS0+IHYxMQo9PT09PT09PT09PQpSRkMg djEwOiBbMTJdCmZldyBjb3NtZXRpYyBjaGFuZ2VzIGluIHYxMSBhbmQgbWlub3IgYXJjaGl0ZWN0 dXJhbCBkZXRhaWxzLgpUaGFua3MgVHZydGtvLgoKLSB0aGUgJ3F1ZXJ5X2VuZ2luZXMoKScgZnVu Y3Rpb25zIGFyZSBzdGF0aWMgYXMgbm8gb25lIGlzIHVzaW5nCiAgdGhlbSB5ZXQuCgotIHJlbW92 ZWQgdGhlICdnZW1faGFzX2VuZ2luZV90b3BvbG9neSgpJyBmdW5jdGlvbiBiZWNhdXNlIGl0J3MK ICB2ZXJ5IGxpdHRsZSB1c2VkLCAnZ2V0X2FjdGl2ZV9lbmdpbmVzKCknIGNhbiBiZSB1c2VkIGlu c3RlYWQuCgotIGEgbWlub3IgcmluZyAtPiBlbmdpbmUgcmVuYW1pbmcgY29taW5nIGZyb20gQ2hy aXMuIAoKdjkgLS0+IHYxMAo9PT09PT09PT09ClJGQyB2OTogWzExXQphbHNvIHRoaXMgdGltZSBx dWl0ZSBtYW55IGNoYW5nZXMsIHRoYW5rcyBDaHJpcyBmb3IgdGhlIHJldmlld3MsCmhlcmUgdGhl IG1vc3QgcmVsZXZhbnQgb2YgdGhlbS4KCi0gZ2VtX3F1ZXJ5LltjaF0gaGF2ZSBiZWVuIHJlbmFt ZWQgdG8gZ2VtX2VuZ2luZV90b3BvbG9neS5bY2hdCiAgYW5kIGFsbCB0aGUgZnVuY3Rpb25zIGVu ZGVkIHVwIHRoZXJlIGFzIHRoZXkgYXJlIHJlZmVycmluZyB0bwogIHRoZSB0b3BvbG9neSBvZiB0 aGUgZW5naW5lcy4KCi0gdGhlIGZ1bmN0aW9ucyAnZ2V0X2FjdGl2ZV9lbmdpbmVzKCknLAogICdn ZW1fc2V0X2NvbnRleHRfZ2V0X2VuZ2luZXMoKScgYW5kCiAgJ2lndF9yZXF1aXJlX2dlbV9lbmdp bmVfbGlzdCgpJyB3aWxsIGJlIHRoZSBtYWluIGludGVyZmFjZSB0bwogIHRoZSBnZW1fZW5naW5l X3RvcG9sb2d5IGxpYnJhcnksIHJlZmVyIHRvIHBhdGNoIDIgZm9yIGRldGFpbHMuCgotIHRoZSBk ZWZpbmUgJ2Zvcl9lYWNoX2VuZ2luZTIoKScgZG9lc24ndCBleHBvc2UgYW55bW9yZSB0aGUKICBp dGVyYXRvci4KCi0gJ2dlbV9jb250ZXh0X2hhc19lbmdpbmUoKScgaGFzIGJlZW4gbW92ZWQgZnJv bSBpb2N0bF93cmFwcGVycy5jCiAgdG8gZ2VtX2NvbnRleHQuYy4KCi0gdGhlIGdlbV9leGVjX2Jh c2ljIGV4ZWMtY3R4IHN1YnRlc3QgZG9lcyBub3QgYWJvcnQgaWYgdGhlIG5ldwogIGdldHBhcmFt L3NldHBhcmFtIGFuZCBxdWVyeSBhcGlzIGFyZSBub3QgaW1wbGVtZW50ZWQgYXMgaXQgY2FuCiAg d29yayB3aXRoIGJvdGggKGFzIGl0IHdhcyBkb25lIGF0IHRoZSBiZWdpbm5pbmcpLgoKdjggLS0+ IHY5Cj09PT09PT09PQpSRkMgdjg6IFsxMF0KcXVpdGUgbWFueSBjaGFuZ2VzLCBwbGVhc2UgcmVm ZXIgdG8gdGhlIHJldmlldyBpbiBbMTBdLiBUaGFua3MKQ2hyaXMgZm9yIHRoZSByZXZpZXcuIFRo ZXNlIGFyZSB0aGUgbW9zdCByZWxldmFudDoKCi0gYWxsIHRoZSBhbGxvY2F0aW9uIGluIGdlbV9x dWVyeSBoYXZlIGJlZW4gbWFkZSBpbiBzdGFjaywgbm90CiAgYW55bW9yZSBhbGxvY2F0ZWQgZHlu YW1pY2FsbHkuCgotIHJlbW92ZWQgZ2V0L3NldF9jb250ZXh0IGFzIGl0IHdhcyBhbHJlYWR5IGlt cGxlbWVudGVkIGFuZCBJCiAgZGlkbid0IGtub3cuCgotIHJlbmFtZWQgc29tZSBmdW5jdGlvbnMg YW5kIHZhcmlhYmxlcyB0byBob3BlZnVsbHkgbW9yZQogIG1lYW5pbmdmdWwgbmFtZXMuCgpWNyAt LT4gdjgKPT09PT09PT09ClJGQyB2NzogWzldCgotIGFsbCBmdW5jdGlvbnMgaGF2ZSBiZWVuIG1v dmVkIGZyb20gbGliL2lndF9ndC57YyxofSBhbmQKICBsaWIvaW9jdGxfd3JhcHBlcnMue2MsaH0g dG8gbGliL2k5MTYvZ2VtX3F1ZXJ5LntjLGh9LiAodGhhbmtzCiAgQ2hyaXMpCgotICdmb3JfZWFj aF9lbmdpbmVfY3R4JyBoYXMgYmVlbiByZW5hbWVkIHRvICdmb3JfZWFjaF9lbmdpbmUyJyB0bwog IGJlIGNvbnNpc3RlbnQgd2l0aCB0aGUgJzInIHRoYXQgaW5kaWNhdGVzIHRoZSBuZXcgJ3N0cnVj dAogIGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyJyBkYXRhIHN0cnVjdHVyZS4KClY2IC0tPiBWNwo9 PT09PT09PT0KUkZDIHY2OiBbOF0KCi0gYSBuZXcgcGF0Y2ggaGFzIGJlZW4gYWRkZWQgKHBhdGNo IDMpIHdoaWNoIGFkZHMgYSBuZXcKICByZXF1aXJlbWVudCBjaGVjayB0aHJvdWdoIHRoZSBpZ3Rf cmVxdWlyZV9nZW1fZW5naW5lX2xpc3QoKQogIGZ1bmN0aW9uLiAodGhhbmtzIENocmlzKSBUaGlz IGZ1bmN0aW9uIHdpbGwgaW5pdGlhbGl6ZSB0aGUKICBlbmdpbmUgbGlzdCBpbnN0ZWFkIG9mIHRo ZSBpbnN0ZWFkIG9mIGlndF9yZXF1aXJlX2dlbSgpIGFzIGl0CiAgd2FzIGluIHY2CgotIGFsbCB0 aGUgaW9jdGxzIGhhdmUgYmVlbiB3cmFwcGVkICh0aGFua3MgQ2hyaXMgYW5kIEFudG9uaW8pIGFu ZAogIG5ldyBsaWJyYXJ5IGZ1bmN0aW9ucyBoYXZlIGJlZW4gYWRkZWQgYW5kIGFzc2VydCB0aGUg aW9jdGxzCgotIGdlbV9pbml0X2VuZ2luZV9saXN0KCkgZnVuY3Rpb24gcmV0dXJucyB0aGUgZXJy bm8gZnJvbSB0aGUKICBHRVRQQVJBTSBpb2N0bCBpbiBvcmRlciB0byBiZSB1c2VkIGFzIGEgcmVx dWlyZW1lbnQuICh0aGFua3MKICBDaHJpcykKCi0gZml4ZWQgZmV3IHJlcXVpcmVzL2Fzc2VydHMK Ci0gVGhlIGVuZ2luZSBsaXN0ICJpbnRlbF9hY3RpdmVfZW5naW5lczIiIGlzIGFsbG9jYXRlZCBv ZiB0aGUKICBudW1iZXIgb2YgZW5naW5lcyBpbnN0ZWFkIG9mIGEgcG9saXRpY2FsIDY0ICh0aGFu a3MgQW50b25pbykuCgotIHNvbWUgcGFyYW1ldGVyIHJlbmFtaW5nIGluIGdlbV9oYXNfcmluZ19i eV9pZHgoKS4gKHRoYW5rcwogIENocmlzKS4KCi0gdGhlIG9yaWdpbmFsICJpbnRlbF9leGVjdXRp b25fZW5naW5lczIiIGhhcyBub3QgYmVlbiByZW5hbWVkLAogIGJlY2F1c2UgaXQgaXMgdXNlZCB0 byBjcmVhdGUgc3VidGVzdHMgYmVmb3JlIGV2ZW4gZXhlY3V0aW5nIGFueQogIHRlc3QvaW9jdGwu IEJ5IHJlbmFtaW5nIGl0LCBzb21lIHN1YnRlc3QgZ2VuZXJhdGlvbnMgZmFpbGVkLgogICh0aGFu a3MgUGV0cmkpCgpWNSAtLT4gVjYKPT09PT09PT09ClJGQyB2NTogWzddCi0gQ2hyaXMgaW1wbGVt ZW50ZWQgdGhlIGdldHBhcmFtIGlvY3RsIHdoaWNoIGFsbG93cyB0byB0aGUgdGVzdAogIHRvIGZp Z3VyZSBvdHUgd2hldGhlciB0aGUgbmV3IGludGVyZmFjZSBoYXMgYmVlbiBpbXBsZW1lbnRlZC4K ICBUaGlzIHdheSB0aGUgZm9yX2VhY2hfZW5naW5lX2N0eCgpIGlzIGFibGUgdG8gd29yayB3aXRo IG5ldyBhbmQKICBvbGQga2VybmVsIHVhcGkgKHRoYW5rcyBDaHJpcykKClY0IC0tPiBWNQo9PT09 PT09PT0KUkZDIHY0OiBbNl0KCi0gdGhlIGVuZ2luZSBsaXN0IGlzIG5vdyBidWlsdCBpbiAnaWd0 X3JlcXVpcmVfZ2VtKCknIGluc3RlYWQgb2YKICAnX19vcGVuX2RyaXZlcigpJyBzbyB0aGF0IHdl IGtlZXAgdGhpcyBkaXNjb3ZlcnkgbWV0aG9kCiAgc3BlY2lmaWMgdG8gdGhlIGk5MTUgZHJpdmVy ICh0aGFua3MgQ2hyaXMpLgoKLSBBbGwgdGhlIHF1ZXJ5L3NldHBhcmFtIHN0cnVjdHVyZXMgZHlu YW1pYyBhbGxvY2F0aW9uIGJhc2VkIG9uCiAgdGhlIG51bWJlciBvZiBlbmdpbmVzLCBub3cgYXJl IHBvbGl0aWNhbGx5IGFsbG9jYXRlZCA2NCB0aW1lcywKICB0byBhdm9pZCBleHRyYSBpb2N0bCBj YWxscyB0aGF0IHJldHJpZXZlIHRoZSBlbmdpbmUgbnVtYmVyCiAgKHRoYW5rcyBDaHJpcykKCi0g dXNlIGlndF9pb2N0bCBpbnN0ZWFkIG9mIGlvY3RsICh0aGFua3MgQ2hyaXMpCgotIGFsbG9jYXRl IGludGVsX2V4ZWN1dGlvbl9lbmdpbmVzMiBkeW5hbWljYWxseSBpbnN0ZWFkIG9mCiAgc3RhdGlj YWxseSAodGhhbmtzIFR2cnRrbykKCi0gc2ltcGxpZnkgdGhlIHRlc3QgaW4gJ2dlbV9leGVjX2Jh c2ljKCknIHNvIHRoYXQgc2ltcGx5IGNoZWNrcwogIHRoZSBwcmVzZW5jZSBvZiB0aGUgZW5naW5l IGluc3RlYWQgb2YgZXhlY3V0aW5nIGEgYnVmZmVyCiAgKHRoYW5rIENocmlzKQoKLSBhIG5ldyBw YXRjaCBoYXMgYmVlbiBhZGRlZCAocGF0Y2ggMykgdGhhdCBleHRlbmRzIHRoZQogICdnZW1faGFz X3JpbmcoKScgYm9vbGVhbiBmdW5jdGlvbi4gVGhlIG5ldyB2ZXJzaW9uIHNldHMgdGhlCiAgaW5k ZXggYXMgaXQncyBtYXBwZWQgaW4gdGhlIGtlcm5lbC5UaGUgcHJldmlvdXMgZnVuY3Rpb24gaXMg bm93CiAgYSB3cmFwcGVyIHRvIHRoZSBuZXcgZnVuY3Rpb24uCgpWMyAtLT4gVjQKPT09PT09PT09 ClBBVENIIHYzOiBbM10KCi0gcmUtYXJjaGl0ZWN0dXJlZCB0aGUgZGlzY292ZXJ5IG1lY2hhbmlz bSBiYXNlZCBvbiBUdnJ0a28ncwogIHN1Z2VzdGlvbiBhbmQgcmV2aWV3cy4uIEluIHRoaXMgdmVy c2lvbiB0aGUgZGlzY292ZXJ5IGlzIGRvbmUKICBkdXJpbmcgdGhlIGRldmljZSBvcGVuaW5nIGFu ZCBzdG9yZWQgaW4gYSBOVUxMIHRlcm1pbmF0ZWQKICBhcnJheSwgd2hpY2ggcmVwbGFjZXMgdGhl IGV4aXN0aW5nIGludGVsX2V4ZWN1dGlvbl9lbmdpbmVzMgogIHRoYXQgaXMgbWFpbmx5IHVzZWQg YXMgYSByZWZlcmVuY2UuCgpWMiAtLT4gVjMKPT09PT09PT09ClJGQyB2MjogWzJdCgotIHJlbW92 ZWQgYSBzdGFuZGFsb25lIGdlbV9xdWVyeV9lbmdpbmVzX2RlbW8gdGVzdCBhbmQgYWRkZWQgdGhl CiAgZXhlYy1jdHggc3VidGVzdCBpbnNpZGUgZ2VtX2V4ZWNfYmFzaWMgKHRoYW5rcyBUdnJ0a28p LgoKLSBmaXhlZCBtb3N0IG9mIFR2cnRrbydzIGNvbW1lbnRzIGluIFs1XSwgd2hpY2ggY29uc2lz dCBpbgogIHB1dHRpbmcgdGhlIG1hbGxvY3MgaWd0X2Fzc2VydCBhbmQgaWN0bHMgaW4gaWd0X3Jl cXVpcmUgYW5kIGZldwogIHJlZmFjdG9yaW5nICh0aGFua3MgVHZydGtvKS4KClYxIC0tPiBWMgo9 PT09PT09PT0KUkZDIHYxOiBbMV0KCi0gYWRkZWQgYSBkZW1vIHRlc3QgdGhhdCBzaW1wbHkgcXVl cmllcyB0aGUgZHJpdmVyIGFib3V0IHRoZQogIGVuZ2luZXMgYW5kIGV4ZWN1dGVzIGEgYnVmZmVy ICh0aGFua3MgVHZydGtvKQoKLSByZWZhY3RvcmVkIHRoZSBmb3JfZWFjaF9lbmdpbmVfY3R4KCkg bWFjcm8gc28gdGhhdCB3aGF0IGluIHRoZQogIHByZXZpb3VzIHZlcnNpb24gd2FzIGRvbmUgYnkg dGhlICJiaW5kIiBmdW5jdGlvbiwgbm93IGl0J3MgZG9uZQogIGluIHRoZSBmaXJzdCBpdGVyYXRp b24uIChUaGFua3MgQ3JoaXMpCgotIHJlbW92ZWQgdGhlICJnZW1faGFzX3JpbmdfY3R4KCkiIGJl Y2F1c2UgaXQgd2FzIG91dCBvZiB0aGUKICBzY29wZS4KCi0gcmVuYW1lIGZ1bmN0aW9ucyB0byBt b3JlIG1lYW5pbmdmdWwgbmFtZXMKClsxXSBSRkMgdjE6IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYvMjAxOC1Ob3ZlbWJlci8wMDcwMjUuaHRtbApbMl0gUkZD IHYyOiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9pZ3QtZGV2LzIwMTgt Tm92ZW1iZXIvMDA3MDc5Lmh0bWwKWzNdIFBBVENIIHYzOiBodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9hcmNoaXZlcy9pZ3QtZGV2LzIwMTgtTm92ZW1iZXIvMDA3MTQ4Lmh0bWwKWzRdIGh0 dHBzOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcvfnR1cnN1bGluL2RybS1pbnRlbC9sb2cvP2g9bWVk aWEKWzVdIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYvMjAx OC1Ob3ZlbWJlci8wMDcxMDAuaHRtbApbNl0gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv YXJjaGl2ZXMvaWd0LWRldi8yMDE5LUphbnVhcnkvMDA4MDI5Lmh0bWwKWzddIGh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYvMjAxOS1KYW51YXJ5LzAwODE2NS5o dG1sCls4XSBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9pZ3QtZGV2LzIw MTktRmVicnVhcnkvMDA4OTAyLmh0bWwKWzldIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L2FyY2hpdmVzL2lndC1kZXYvMjAxOS1GZWJydWFyeS8wMDkxODUuaHRtbApbMTBdIGh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYvMjAxOS1GZWJydWFyeS8wMDky MDUuaHRtbApbMTFdIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1k ZXYvMjAxOS1GZWJydWFyeS8wMDkyNzcuaHRtbApbMTJdIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYvMjAxOS1NYXJjaC8wMTAxOTcuaHRtbApbMTNdIGh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYvMjAxOS1NYXJjaC8wMTA0 NjcuaHRtbApbMTRdIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1k ZXYvMjAxOS1NYXJjaC8wMTA3NzYuaHRtbApbMTVdIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL2FyY2hpdmVzL2lndC1kZXYvMjAxOS1NYXJjaC8wMTA4MjcuaHRtbApbMTZdIGh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYvMjAxOS1NYXJjaC8wMTA5MTYu aHRtbApbMTddIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYv MjAxOS1BcHJpbC8wMTE4MjEuaHRtbAoKQW5kaSBTaHl0aSAoNik6CiAgaW5jbHVkZS9kcm0tdWFw aTogaW1wb3J0IGk5MTVfZHJtLmggaGVhZGVyIGZpbGUKICBsaWIvaTkxNTogYWRkIGdlbV9lbmdp bmVfdG9wb2xvZ3kgbGlicmFyeSBhbmQgZm9yX2VhY2ggbG9vcCBkZWZpbml0aW9uCiAgbGliOiBp Z3RfZ3Q6IGFkZCBlYiBmbGFncyB0byBjbGFzcyBoZWxwZXIKICBsaWI6IGlndF9ndDogbWFrZSBn ZW1fZW5naW5lX2Nhbl9zdG9yZV9kd29yZCgpIGNoZWNrIGVuZ2luZSBjbGFzcwogIGxpYjogaWd0 X2R1bW15bG9hZDogdXNlIGZvcl9lYWNoX2NvbnRleHRfZW5naW5lKCkKICB0ZXN0OiBwZXJmX3Bt dTogdXNlIHRoZSBnZW1fZW5naW5lX3RvcG9sb2d5IGxpYnJhcnkKCiBpbmNsdWRlL2RybS11YXBp L2k5MTVfZHJtLmggICAgfCAzNjEgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCiBs aWIvTWFrZWZpbGUuc291cmNlcyAgICAgICAgICAgfCAgIDIgKwogbGliL2k5MTUvZ2VtX2VuZ2lu ZV90b3BvbG9neS5jIHwgMjk4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwogbGliL2k5MTUv Z2VtX2VuZ2luZV90b3BvbG9neS5oIHwgIDgwICsrKysrKysrCiBsaWIvaWd0LmggICAgICAgICAg ICAgICAgICAgICAgfCAgIDEgKwogbGliL2lndF9kdW1teWxvYWQuYyAgICAgICAgICAgIHwgIDMz ICsrLQogbGliL2lndF9ndC5jICAgICAgICAgICAgICAgICAgIHwgIDI5ICsrLQogbGliL2lndF9n dC5oICAgICAgICAgICAgICAgICAgIHwgIDEyICstCiBsaWIvbWVzb24uYnVpbGQgICAgICAgICAg ICAgICAgfCAgIDEgKwogdGVzdHMvcGVyZl9wbXUuYyAgICAgICAgICAgICAgIHwgMTQ2ICsrKysr KystLS0tLS0KIDEwIGZpbGVzIGNoYW5nZWQsIDgzMCBpbnNlcnRpb25zKCspLCAxMzMgZGVsZXRp b25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL2k5MTUvZ2VtX2VuZ2luZV90b3BvbG9neS5j CiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL2k5MTUvZ2VtX2VuZ2luZV90b3BvbG9neS5oCgotLSAK Mi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpp Z3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=