From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id E68276E7FE for ; Thu, 28 Mar 2019 19:22:08 +0000 (UTC) From: Andi Shyti Date: Thu, 28 Mar 2019 21:21:58 +0200 Message-Id: <20190328192206.1591-1-andi.shyti@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [RFC v16 0/8] 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: SGksCgpJbiB0aGlzIHBhdGNoc2V0IEkgcHJvcG9zZSBhbiBhbHRlcm5hdGl2ZSB3YXkgb2YgZW5n aW5lIGRpc2NvdmVyeQp0aGFua3MgdG8gdGhlIG5ldyBpbnRlcmZhY2VzIGRldmVsb3BlZCBieSBU dnJ0a28gYW5kIENocmlzWzRdLgoKVGhlIGNoYW5nZXMgdG8gcGVyZl9wbXUgYXJlIGEgcHJvcG9z YWwsIG1vc3QgcHJvYmFibHkgdGhleSBkb24ndAp3b3JrIChpdCdzIGFueXdheSBhbiBSRkMpIGJl Y2F1c2UgdGhlIGRlcGVuZGVuY3kgdG8gbGVnYWN5IGNvZGUKaXMgc3RpbGwgdG9vIHN0cm9uZy4K ClRoYW5rcyBUdnJ0a28sIENocmlzLCBBbnRvbmlvIGFuZCBQZXRyaSBmb3IgeW91ciBjb21tZW50 cyBpbiB0aGUKcHJldmlvdXMgUkZDcy4KCkFuZGkKCnYxNSAtLT4gdjE2Cj09PT09PT09PT09CiAt IGZldyBjaGFuZ2VzIHRvIHRoZSBnZW1fZW5naW5lX3RvcG9sb2d5IHN0dWZmCiAtIGFkZGVkIHVu ZSBtb3JlIGR1bW15IHRlc3Qgd2hpY2ggbG9vcHMgdGhyb3VnaCB0aGUgcGh5c2ljYWwKICAgZW5n aW5lcywgYXMgd2VsbC4KIC0gY2hhbmdlcyB0byB0ZXN0L3BlcmZfcG11IHJlcXVpcmVkIHNvbWUg bW9yZSBjaGFuZ2VzIHRoYW4KICAgZXhwZWN0ZWQgKHRoZSAzIGxhc3QgcGF0Y2hlcykKCnYxNCAt LT4gdjE1Cj09PT09PT09PT09ClBBVENIIHYxNDogWzE2XQoKIC0gdmlydHVhbCBlbmdpbmVzIHdp bGwgYmUgY2FsbGVkICJ2aXJ0dWFsIiBsaWtlIHVucmVjb2duaXNlZAogICBlbmdpbmVzIHdpbGwg YmUgY2FsbGVkICJ1bmtub3duIgoKIC0gcmVuYW1lZCB0aGUgZm9yX2VhY2ggbG9vcHMgdG8gbW9y ZSBtZWFuaW5nZnVsIG5hbWVzCiAgIChfX2Zvcl9lYWNoX3N0YXRpY19lbmdpbmUgYW5kIGZvcl9l YWNoX2NvbnRleHRfZW5naW5lKSBhbmQKICAgbW92ZWQgaW50byBnZW1fZW5naW5lX3RvcG9sb2d5 LmgKCiAtIG1pbm9yIGNoYW5nZXMgYWJvdXQgZGF0YSB0eXBlcy4KCnYxMyAtLT4gdjE0Cj09PT09 PT09PT09ClBBVENIIHYxMzogWzE1XQptaW5vciBjaGFuZ2VzIHRoaXMgdGltZToKIC0gc3F1YXNo ZWQgcGF0Y2ggMiBhbmQgMyAoZnJvbSB2MTMpIHdpdGggYSBsaXR0bGUgcmVuYW1lIGFuZAogICBh ZGRlZCBDaHJpcyByLWIKCiAtIGZpeGVkIHNvbWUgaW5kZXggaXNzdWVzIGFuZCBzdHJpbmcgYXNz aWduZW1lbnQgbGVha3MKCiAtIHNxdWFzaGVkIHBhdGNoZXMgNSwgNiwgNyBhbmQgOCBmcm9tIHYx MwoKdjEyIC0tPiB2MTMKPT09PT09PT09PT0KUEFUQ0ggdjEyOiBbMTRdClRoaXMgcGF0Y2ggaXMg YWxzbyB2ZXJ5IGRpZmZlcmVudCBmcm9tIHRoZSBwcmV2aW91cyBvdGhlciB0aGFuCnNvbWUgcmVv cmdhbml6YXRpb24gb2YgdGhlIGNvZGUgdGhlc2UgYXJlIHRoZSBtYWluIGNoYW5nZXM6CgogLSB0 aGUgcHJldmlvdXMgdmVyc2lvbiBsYWNrZWQgdGhlIGNhc2Ugd2hlbiB0aGUgY29udGV4dCBoYWQg aXRzCiAgIGVuZ2luZXMgbWFwcGVkLiBjaGVja3MgaW4gdGhlIGZvbGxvd2luZyBvcmRlcgoKIGlm IHRoZSBkcml2ZXIgZG9lc24ndCBoYXZlIHRoZSBuZXcgQVBJCiAgLT4gZ2V0IHRoZSBlbmdpbmVz IGZyb20gdGhlIHN0YXRpYyBsaXN0CiBpZiB0aGUgZHJpdmVyIGhhcyB0aGUgQVBJIGJ1dCB0aGUg Y29udGV4dCBoYXMgbm90aGluZyBtYXBwZWQKICAtPiBnZXQgdGhlIGVuZ2luZXMgZnJvbSAicXVl cnkiIGFuZCBtYXAgdGhlbQogaWYgdGhlIGRyaXZlciBoYXMgdGhlIEFQSSBhbmQgdGhlIGNvbnRl eHQgaGFzIGVuZ2luZXMgbWFwcGVkCiAgLT4gZ2V0IHRoZSBlbmdpbmVzIGZyb20gdGhlIGNvbnRl eHQKCiAtIHRoZSBoZWxwZXIgZnVuY3Rpb25zIGhhdmUgYmVlbiByZW1vdmVkIGFzIHRoZXkgd2Vy ZSBvZiBubyB1c2UuCgp2MTEgLS0+IHYxMgo9PT09PT09PT09PQpQQVRDSCB2MTE6IFsxM10KVGhp cyAxMnRoIHZlcnNpb24gc3RhcnRzIGZyb20gYSBjb21wbGV0ZWx5IGRpZmZlcmVudCB0aG91Z2h0 LgpIZXJlJ3MgdGhlIG1haW4gZGlmZmVyZW5jZXM6CgogLSBUaGUgbGlzdCBvZiBlbmdpbmVzIGlz IHByb3ZpZGVkIGluIGFuIGVuZ2luZV9kYXRhIHN0cnVjdHVyZQogICB3aGljaCBjb250YWlucyBh biBpbmRleCAodXNlZnVsIGZvciBsb29waW5nIHRocm91Z2ggYW5kIGZvcgogICBlbmdpbmUvY29u dGV4dCBpbmRleCBtYXBwaW5nKSBpbnN0ZWFkIG9mIGFuIGFycmF5IG9mIGVuZ2luZXMuCgogLSBU aGUgbGlzdCBvZiBlbmdpbmVzIGlzIGdlbmVyYXRlZCBldmVyeSB0aW1lIHRoZSBpbml0IGZ1bmN0 aW9uCiAgIGlzIGNhbGxlZCBhbmQgbm90aGluZyBpcyBhbGxvY2F0ZWQgaW4gaGVhcCBtZW1vcnku CgogLSBUaGUgaW9jdGwgY2hlY2sgaXMgZG9uZSBhbHJlYWR5IGR1cmluZyB0aGUgaW5pdGlhbGl6 YXRpb24gcGFydAogICBhbmQgaWYgdGhlIG5ldyBpb2N0bHMgYXJlIG5vdCBpbXBsZW1lbnRlZCwg dGhlbiB0aGUgaW5pdAogICBmdW5jdGlvbiBzdGlsbCBzdG9yZXMgb25seSB0aG9zZSBwcmVzZW50 IGluIHRoZSBHUFUuCgogLSBUaGUgZm9yX2VhY2ggbG9vcCBpcyBpbXBsZW1lbnRlZCBieSByZS11 c2luZyB0aGUgcHJldmlvdXMKICAgJ2Zvcl9lYWNoX2VuZ2luZV9jbGFzc19pbnN0YW5jZSgpJyBp bXBsZW1lbnRlZCBieSBUdnJ0a28uCgogLSBUaGUgZ2VtX3RvcG9sb2d5IGxpYnJhcnkgb2ZmZXJz IGZldyBoZWxwZXIgZnVuY3Rpb25zIGZvcgogICBjaGVja2luZyB0aGUgZW5naW5lIHByZXNlbmNl LCBjaGVja2luZyB0aGUgaW1wbGVtZW50YXRpb24gb2YKICAgdGhlIGlvY3RscyBhbmQgZXhlY3V0 aW5nIHRoZSBidWZmZXIsIGluIG9yZGVyIHRvIGJlIGNvbXBsZXRlbHkKICAgdW5hd2FyZSBvZiB0 aGUgZHJpdmVyIGltcGxlbWVudGF0aW9uLgoKVGhhbmtzIFR2cnRrbyBmb3IgYWxsIHlvdXIgaW5w dXRzLgoKdjEwIC0tPiB2MTEKPT09PT09PT09PT0KUkZDIHYxMDogWzEyXQpmZXcgY29zbWV0aWMg Y2hhbmdlcyBpbiB2MTEgYW5kIG1pbm9yIGFyY2hpdGVjdHVyYWwgZGV0YWlscy4KVGhhbmtzIFR2 cnRrby4KCi0gdGhlICdxdWVyeV9lbmdpbmVzKCknIGZ1bmN0aW9ucyBhcmUgc3RhdGljIGFzIG5v IG9uZSBpcyB1c2luZwogIHRoZW0geWV0LgoKLSByZW1vdmVkIHRoZSAnZ2VtX2hhc19lbmdpbmVf dG9wb2xvZ3koKScgZnVuY3Rpb24gYmVjYXVzZSBpdCdzCiAgdmVyeSBsaXR0bGUgdXNlZCwgJ2dl dF9hY3RpdmVfZW5naW5lcygpJyBjYW4gYmUgdXNlZCBpbnN0ZWFkLgoKLSBhIG1pbm9yIHJpbmcg LT4gZW5naW5lIHJlbmFtaW5nIGNvbWluZyBmcm9tIENocmlzLiAKCnY5IC0tPiB2MTAKPT09PT09 PT09PQpSRkMgdjk6IFsxMV0KYWxzbyB0aGlzIHRpbWUgcXVpdGUgbWFueSBjaGFuZ2VzLCB0aGFu a3MgQ2hyaXMgZm9yIHRoZSByZXZpZXdzLApoZXJlIHRoZSBtb3N0IHJlbGV2YW50IG9mIHRoZW0u CgotIGdlbV9xdWVyeS5bY2hdIGhhdmUgYmVlbiByZW5hbWVkIHRvIGdlbV9lbmdpbmVfdG9wb2xv Z3kuW2NoXQogIGFuZCBhbGwgdGhlIGZ1bmN0aW9ucyBlbmRlZCB1cCB0aGVyZSBhcyB0aGV5IGFy ZSByZWZlcnJpbmcgdG8KICB0aGUgdG9wb2xvZ3kgb2YgdGhlIGVuZ2luZXMuCgotIHRoZSBmdW5j dGlvbnMgJ2dldF9hY3RpdmVfZW5naW5lcygpJywKICAnZ2VtX3NldF9jb250ZXh0X2dldF9lbmdp bmVzKCknIGFuZAogICdpZ3RfcmVxdWlyZV9nZW1fZW5naW5lX2xpc3QoKScgd2lsbCBiZSB0aGUg bWFpbiBpbnRlcmZhY2UgdG8KICB0aGUgZ2VtX2VuZ2luZV90b3BvbG9neSBsaWJyYXJ5LCByZWZl ciB0byBwYXRjaCAyIGZvciBkZXRhaWxzLgoKLSB0aGUgZGVmaW5lICdmb3JfZWFjaF9lbmdpbmUy KCknIGRvZXNuJ3QgZXhwb3NlIGFueW1vcmUgdGhlCiAgaXRlcmF0b3IuCgotICdnZW1fY29udGV4 dF9oYXNfZW5naW5lKCknIGhhcyBiZWVuIG1vdmVkIGZyb20gaW9jdGxfd3JhcHBlcnMuYwogIHRv IGdlbV9jb250ZXh0LmMuCgotIHRoZSBnZW1fZXhlY19iYXNpYyBleGVjLWN0eCBzdWJ0ZXN0IGRv ZXMgbm90IGFib3J0IGlmIHRoZSBuZXcKICBnZXRwYXJhbS9zZXRwYXJhbSBhbmQgcXVlcnkgYXBp cyBhcmUgbm90IGltcGxlbWVudGVkIGFzIGl0IGNhbgogIHdvcmsgd2l0aCBib3RoIChhcyBpdCB3 YXMgZG9uZSBhdCB0aGUgYmVnaW5uaW5nKS4KCnY4IC0tPiB2OQo9PT09PT09PT0KUkZDIHY4OiBb MTBdCnF1aXRlIG1hbnkgY2hhbmdlcywgcGxlYXNlIHJlZmVyIHRvIHRoZSByZXZpZXcgaW4gWzEw XS4gVGhhbmtzCkNocmlzIGZvciB0aGUgcmV2aWV3LiBUaGVzZSBhcmUgdGhlIG1vc3QgcmVsZXZh bnQ6CgotIGFsbCB0aGUgYWxsb2NhdGlvbiBpbiBnZW1fcXVlcnkgaGF2ZSBiZWVuIG1hZGUgaW4g c3RhY2ssIG5vdAogIGFueW1vcmUgYWxsb2NhdGVkIGR5bmFtaWNhbGx5LgoKLSByZW1vdmVkIGdl dC9zZXRfY29udGV4dCBhcyBpdCB3YXMgYWxyZWFkeSBpbXBsZW1lbnRlZCBhbmQgSQogIGRpZG4n dCBrbm93LgoKLSByZW5hbWVkIHNvbWUgZnVuY3Rpb25zIGFuZCB2YXJpYWJsZXMgdG8gaG9wZWZ1 bGx5IG1vcmUKICBtZWFuaW5nZnVsIG5hbWVzLgoKVjcgLS0+IHY4Cj09PT09PT09PQpSRkMgdjc6 IFs5XQoKLSBhbGwgZnVuY3Rpb25zIGhhdmUgYmVlbiBtb3ZlZCBmcm9tIGxpYi9pZ3RfZ3Que2Ms aH0gYW5kCiAgbGliL2lvY3RsX3dyYXBwZXJzLntjLGh9IHRvIGxpYi9pOTE2L2dlbV9xdWVyeS57 YyxofS4gKHRoYW5rcwogIENocmlzKQoKLSAnZm9yX2VhY2hfZW5naW5lX2N0eCcgaGFzIGJlZW4g cmVuYW1lZCB0byAnZm9yX2VhY2hfZW5naW5lMicgdG8KICBiZSBjb25zaXN0ZW50IHdpdGggdGhl ICcyJyB0aGF0IGluZGljYXRlcyB0aGUgbmV3ICdzdHJ1Y3QKICBpbnRlbF9leGVjdXRpb25fZW5n aW5lMicgZGF0YSBzdHJ1Y3R1cmUuCgpWNiAtLT4gVjcKPT09PT09PT09ClJGQyB2NjogWzhdCgot IGEgbmV3IHBhdGNoIGhhcyBiZWVuIGFkZGVkIChwYXRjaCAzKSB3aGljaCBhZGRzIGEgbmV3CiAg cmVxdWlyZW1lbnQgY2hlY2sgdGhyb3VnaCB0aGUgaWd0X3JlcXVpcmVfZ2VtX2VuZ2luZV9saXN0 KCkKICBmdW5jdGlvbi4gKHRoYW5rcyBDaHJpcykgVGhpcyBmdW5jdGlvbiB3aWxsIGluaXRpYWxp emUgdGhlCiAgZW5naW5lIGxpc3QgaW5zdGVhZCBvZiB0aGUgaW5zdGVhZCBvZiBpZ3RfcmVxdWly ZV9nZW0oKSBhcyBpdAogIHdhcyBpbiB2NgoKLSBhbGwgdGhlIGlvY3RscyBoYXZlIGJlZW4gd3Jh cHBlZCAodGhhbmtzIENocmlzIGFuZCBBbnRvbmlvKSBhbmQKICBuZXcgbGlicmFyeSBmdW5jdGlv bnMgaGF2ZSBiZWVuIGFkZGVkIGFuZCBhc3NlcnQgdGhlIGlvY3RscwoKLSBnZW1faW5pdF9lbmdp bmVfbGlzdCgpIGZ1bmN0aW9uIHJldHVybnMgdGhlIGVycm5vIGZyb20gdGhlCiAgR0VUUEFSQU0g aW9jdGwgaW4gb3JkZXIgdG8gYmUgdXNlZCBhcyBhIHJlcXVpcmVtZW50LiAodGhhbmtzCiAgQ2hy aXMpCgotIGZpeGVkIGZldyByZXF1aXJlcy9hc3NlcnRzCgotIFRoZSBlbmdpbmUgbGlzdCAiaW50 ZWxfYWN0aXZlX2VuZ2luZXMyIiBpcyBhbGxvY2F0ZWQgb2YgdGhlCiAgbnVtYmVyIG9mIGVuZ2lu ZXMgaW5zdGVhZCBvZiBhIHBvbGl0aWNhbCA2NCAodGhhbmtzIEFudG9uaW8pLgoKLSBzb21lIHBh cmFtZXRlciByZW5hbWluZyBpbiBnZW1faGFzX3JpbmdfYnlfaWR4KCkuICh0aGFua3MKICBDaHJp cykuCgotIHRoZSBvcmlnaW5hbCAiaW50ZWxfZXhlY3V0aW9uX2VuZ2luZXMyIiBoYXMgbm90IGJl ZW4gcmVuYW1lZCwKICBiZWNhdXNlIGl0IGlzIHVzZWQgdG8gY3JlYXRlIHN1YnRlc3RzIGJlZm9y ZSBldmVuIGV4ZWN1dGluZyBhbnkKICB0ZXN0L2lvY3RsLiBCeSByZW5hbWluZyBpdCwgc29tZSBz dWJ0ZXN0IGdlbmVyYXRpb25zIGZhaWxlZC4KICAodGhhbmtzIFBldHJpKQoKVjUgLS0+IFY2Cj09 PT09PT09PQpSRkMgdjU6IFs3XQotIENocmlzIGltcGxlbWVudGVkIHRoZSBnZXRwYXJhbSBpb2N0 bCB3aGljaCBhbGxvd3MgdG8gdGhlIHRlc3QKICB0byBmaWd1cmUgb3R1IHdoZXRoZXIgdGhlIG5l dyBpbnRlcmZhY2UgaGFzIGJlZW4gaW1wbGVtZW50ZWQuCiAgVGhpcyB3YXkgdGhlIGZvcl9lYWNo X2VuZ2luZV9jdHgoKSBpcyBhYmxlIHRvIHdvcmsgd2l0aCBuZXcgYW5kCiAgb2xkIGtlcm5lbCB1 YXBpICh0aGFua3MgQ2hyaXMpCgpWNCAtLT4gVjUKPT09PT09PT09ClJGQyB2NDogWzZdCgotIHRo ZSBlbmdpbmUgbGlzdCBpcyBub3cgYnVpbHQgaW4gJ2lndF9yZXF1aXJlX2dlbSgpJyBpbnN0ZWFk IG9mCiAgJ19fb3Blbl9kcml2ZXIoKScgc28gdGhhdCB3ZSBrZWVwIHRoaXMgZGlzY292ZXJ5IG1l dGhvZAogIHNwZWNpZmljIHRvIHRoZSBpOTE1IGRyaXZlciAodGhhbmtzIENocmlzKS4KCi0gQWxs IHRoZSBxdWVyeS9zZXRwYXJhbSBzdHJ1Y3R1cmVzIGR5bmFtaWMgYWxsb2NhdGlvbiBiYXNlZCBv bgogIHRoZSBudW1iZXIgb2YgZW5naW5lcywgbm93IGFyZSBwb2xpdGljYWxseSBhbGxvY2F0ZWQg NjQgdGltZXMsCiAgdG8gYXZvaWQgZXh0cmEgaW9jdGwgY2FsbHMgdGhhdCByZXRyaWV2ZSB0aGUg ZW5naW5lIG51bWJlcgogICh0aGFua3MgQ2hyaXMpCgotIHVzZSBpZ3RfaW9jdGwgaW5zdGVhZCBv ZiBpb2N0bCAodGhhbmtzIENocmlzKQoKLSBhbGxvY2F0ZSBpbnRlbF9leGVjdXRpb25fZW5naW5l czIgZHluYW1pY2FsbHkgaW5zdGVhZCBvZgogIHN0YXRpY2FsbHkgKHRoYW5rcyBUdnJ0a28pCgot IHNpbXBsaWZ5IHRoZSB0ZXN0IGluICdnZW1fZXhlY19iYXNpYygpJyBzbyB0aGF0IHNpbXBseSBj aGVja3MKICB0aGUgcHJlc2VuY2Ugb2YgdGhlIGVuZ2luZSBpbnN0ZWFkIG9mIGV4ZWN1dGluZyBh IGJ1ZmZlcgogICh0aGFuayBDaHJpcykKCi0gYSBuZXcgcGF0Y2ggaGFzIGJlZW4gYWRkZWQgKHBh dGNoIDMpIHRoYXQgZXh0ZW5kcyB0aGUKICAnZ2VtX2hhc19yaW5nKCknIGJvb2xlYW4gZnVuY3Rp b24uIFRoZSBuZXcgdmVyc2lvbiBzZXRzIHRoZQogIGluZGV4IGFzIGl0J3MgbWFwcGVkIGluIHRo ZSBrZXJuZWwuVGhlIHByZXZpb3VzIGZ1bmN0aW9uIGlzIG5vdwogIGEgd3JhcHBlciB0byB0aGUg bmV3IGZ1bmN0aW9uLgoKVjMgLS0+IFY0Cj09PT09PT09PQpQQVRDSCB2MzogWzNdCgotIHJlLWFy Y2hpdGVjdHVyZWQgdGhlIGRpc2NvdmVyeSBtZWNoYW5pc20gYmFzZWQgb24gVHZydGtvJ3MKICBz dWdlc3Rpb24gYW5kIHJldmlld3MuLiBJbiB0aGlzIHZlcnNpb24gdGhlIGRpc2NvdmVyeSBpcyBk b25lCiAgZHVyaW5nIHRoZSBkZXZpY2Ugb3BlbmluZyBhbmQgc3RvcmVkIGluIGEgTlVMTCB0ZXJt aW5hdGVkCiAgYXJyYXksIHdoaWNoIHJlcGxhY2VzIHRoZSBleGlzdGluZyBpbnRlbF9leGVjdXRp b25fZW5naW5lczIKICB0aGF0IGlzIG1haW5seSB1c2VkIGFzIGEgcmVmZXJlbmNlLgoKVjIgLS0+ IFYzCj09PT09PT09PQpSRkMgdjI6IFsyXQoKLSByZW1vdmVkIGEgc3RhbmRhbG9uZSBnZW1fcXVl cnlfZW5naW5lc19kZW1vIHRlc3QgYW5kIGFkZGVkIHRoZQogIGV4ZWMtY3R4IHN1YnRlc3QgaW5z aWRlIGdlbV9leGVjX2Jhc2ljICh0aGFua3MgVHZydGtvKS4KCi0gZml4ZWQgbW9zdCBvZiBUdnJ0 a28ncyBjb21tZW50cyBpbiBbNV0sIHdoaWNoIGNvbnNpc3QgaW4KICBwdXR0aW5nIHRoZSBtYWxs b2NzIGlndF9hc3NlcnQgYW5kIGljdGxzIGluIGlndF9yZXF1aXJlIGFuZCBmZXcKICByZWZhY3Rv cmluZyAodGhhbmtzIFR2cnRrbykuCgpWMSAtLT4gVjIKPT09PT09PT09ClJGQyB2MTogWzFdCgot IGFkZGVkIGEgZGVtbyB0ZXN0IHRoYXQgc2ltcGx5IHF1ZXJpZXMgdGhlIGRyaXZlciBhYm91dCB0 aGUKICBlbmdpbmVzIGFuZCBleGVjdXRlcyBhIGJ1ZmZlciAodGhhbmtzIFR2cnRrbykKCi0gcmVm YWN0b3JlZCB0aGUgZm9yX2VhY2hfZW5naW5lX2N0eCgpIG1hY3JvIHNvIHRoYXQgd2hhdCBpbiB0 aGUKICBwcmV2aW91cyB2ZXJzaW9uIHdhcyBkb25lIGJ5IHRoZSAiYmluZCIgZnVuY3Rpb24sIG5v dyBpdCdzIGRvbmUKICBpbiB0aGUgZmlyc3QgaXRlcmF0aW9uLiAoVGhhbmtzIENyaGlzKQoKLSBy ZW1vdmVkIHRoZSAiZ2VtX2hhc19yaW5nX2N0eCgpIiBiZWNhdXNlIGl0IHdhcyBvdXQgb2YgdGhl CiAgc2NvcGUuCgotIHJlbmFtZSBmdW5jdGlvbnMgdG8gbW9yZSBtZWFuaW5nZnVsIG5hbWVzCgpb MV0gUkZDIHYxOiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9pZ3QtZGV2 LzIwMTgtTm92ZW1iZXIvMDA3MDI1Lmh0bWwKWzJdIFJGQyB2MjogaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvYXJjaGl2ZXMvaWd0LWRldi8yMDE4LU5vdmVtYmVyLzAwNzA3OS5odG1sClsz XSBQQVRDSCB2MzogaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvaWd0LWRl di8yMDE4LU5vdmVtYmVyLzAwNzE0OC5odG1sCls0XSBodHRwczovL2NnaXQuZnJlZWRlc2t0b3Au b3JnL350dXJzdWxpbi9kcm0taW50ZWwvbG9nLz9oPW1lZGlhCls1XSBodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9pZ3QtZGV2LzIwMTgtTm92ZW1iZXIvMDA3MTAwLmh0bWwK WzZdIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYvMjAxOS1K YW51YXJ5LzAwODAyOS5odG1sCls3XSBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNo aXZlcy9pZ3QtZGV2LzIwMTktSmFudWFyeS8wMDgxNjUuaHRtbApbOF0gaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvaWd0LWRldi8yMDE5LUZlYnJ1YXJ5LzAwODkwMi5odG1s Cls5XSBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9pZ3QtZGV2LzIwMTkt RmVicnVhcnkvMDA5MTg1Lmh0bWwKWzEwXSBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9h cmNoaXZlcy9pZ3QtZGV2LzIwMTktRmVicnVhcnkvMDA5MjA1Lmh0bWwKWzExXSBodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9pZ3QtZGV2LzIwMTktRmVicnVhcnkvMDA5Mjc3 Lmh0bWwKWzEyXSBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9pZ3QtZGV2 LzIwMTktTWFyY2gvMDEwMTk3Lmh0bWwKWzEzXSBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9hcmNoaXZlcy9pZ3QtZGV2LzIwMTktTWFyY2gvMDEwNDY3Lmh0bWwKWzE0XSBodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9pZ3QtZGV2LzIwMTktTWFyY2gvMDEwNzc2Lmh0 bWwKWzE1XSBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9pZ3QtZGV2LzIw MTktTWFyY2gvMDEwODI3Lmh0bWwKWzE2XSBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9h cmNoaXZlcy9pZ3QtZGV2LzIwMTktTWFyY2gvMDEwOTE2Lmh0bWwKCioqKiBCTFVSQiBIRVJFICoq KgoKQW5kaSBTaHl0aSAoOCk6CiAgbGliL2lndF9ndDogcmVtb3ZlIHVubmVjZXNzYXJ5IGFyZ3Vt ZW50CiAgbGliOiBpb2N0bF93cmFwcGVyczogcmVhY2ggZW5naW5lcyBieSBpbmRleCBhcyB3ZWxs CiAgaW5jbHVkZS9kcm0tdWFwaTogaW1wb3J0IGk5MTVfZHJtLmggaGVhZGVyIGZpbGUKICBsaWIv aTkxNTogYWRkIGdlbV9lbmdpbmVfdG9wb2xvZ3kgbGlicmFyeSBhbmQgZm9yX2VhY2ggbG9vcCBk ZWZpbml0aW9uCiAgdGVzdHM6IGdlbV9leGVjX2Jhc2ljOiBhZGQgZW5naW5lIGRpc2NvdmVyeSB0 ZXN0CiAgbGliOiBpZ3RfZ3Q6IG1ha2UgZ2VtX2VuZ2luZV9jYW5fc3RvcmVfZHdvcmQoKSBjaGVj ayBlbmdpbmUgY2xhc3MKICBsaWI6IGlndF9kdW1teWxvYWQ6IHVzZSBmb3JfZWFjaF9jb250ZXh0 X2VuZ2luZSgpCiAgdGVzdDogcGVyZl9wbXU6IHVzZSB0aGUgZ2VtX2VuZ2luZV90b3BvbG9neSBs aWJyYXJ5CgogaW5jbHVkZS9kcm0tdWFwaS9pOTE1X2RybS5oICAgIHwgMzYxICsrKysrKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLQogbGliL01ha2VmaWxlLnNvdXJjZXMgICAgICAgICAgIHwg ICAyICsKIGxpYi9pOTE1L2dlbV9jb250ZXh0LmMgICAgICAgICB8ICAyOCArKysKIGxpYi9pOTE1 L2dlbV9jb250ZXh0LmggICAgICAgICB8ICAgMiArCiBsaWIvaTkxNS9nZW1fZW5naW5lX3RvcG9s b2d5LmMgfCAyNTIgKysrKysrKysrKysrKysrKysrKysrKysKIGxpYi9pOTE1L2dlbV9lbmdpbmVf dG9wb2xvZ3kuaCB8ICA2NSArKysrKysKIGxpYi9pZ3QuaCAgICAgICAgICAgICAgICAgICAgICB8 ICAgMSArCiBsaWIvaWd0X2R1bW15bG9hZC5jICAgICAgICAgICAgfCAgMjEgKy0KIGxpYi9pZ3Rf Z3QuYyAgICAgICAgICAgICAgICAgICB8ICA0NiArKysrLQogbGliL2lndF9ndC5oICAgICAgICAg ICAgICAgICAgIHwgIDE1ICstCiBsaWIvaW9jdGxfd3JhcHBlcnMuYyAgICAgICAgICAgfCAgMTkg LS0KIGxpYi9pb2N0bF93cmFwcGVycy5oICAgICAgICAgICB8ICAgMyArLQogbGliL21lc29uLmJ1 aWxkICAgICAgICAgICAgICAgIHwgICAxICsKIHRlc3RzL2k5MTUvZ2VtX2V4ZWNfYmFzaWMuYyAg ICB8ICAyNiArKysKIHRlc3RzL3BlcmZfcG11LmMgICAgICAgICAgICAgICB8ICAzNyArKy0tCiAx NSBmaWxlcyBjaGFuZ2VkLCA3NTkgaW5zZXJ0aW9ucygrKSwgMTIwIGRlbGV0aW9ucygtKQogY3Jl YXRlIG1vZGUgMTAwNjQ0IGxpYi9pOTE1L2dlbV9lbmdpbmVfdG9wb2xvZ3kuYwogY3JlYXRlIG1v ZGUgMTAwNjQ0IGxpYi9pOTE1L2dlbV9lbmdpbmVfdG9wb2xvZ3kuaAoKLS0gCjIuMjAuMQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWls aW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2