From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olaf Hering Subject: [PATCH v12 0/2] libxl: add support for pvscsi, iteration 12 Date: Wed, 13 Apr 2016 08:56:58 +0000 Message-ID: <1460537820-15398-1-git-send-email-olaf@aepfle.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Olaf Hering List-Id: xen-devel@lists.xenproject.org UG9ydCB2c2NzaT1bXSBhbmQgc2NzaS17YXR0YWNoLGRldGFjaCxsaXN0fSBjb21tYW5kcyBmcm9t IHhlbmQgdG8gbGlieGwuCgpsaWJ2aXJ0IHVzZXMgaXRzIGV4aXN0aW5nIFNDU0kgc3VwcG9ydDoK aHR0cDovL2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMTUt MDQvbXNnMDI5NjMuaHRtbAoKdGFyZ2V0Y2xpL3J0c2xpYiBoYXMgdG8gYmUgYXdhcmUgb2YgeGVu LXNjc2liYWNrICh1cHN0cmVhbSB1bnJlc3BvbnNpdmUpOgpodHRwOi8vYXJ0aWNsZS5nbWFuZS5v cmcvZ21hbmUubGludXguc2NzaS50YXJnZXQuZGV2ZWwvODE0NgoKVE9ETzoKIC0gZG9jdW1lbnQg cHZzY3NpIGluIHhlbiB3aWtpCiAtIGZpbmQgYSB3YXkgdG8gY2FycnkgdnNjc2kgZGV2aWNlcyBk dXJpbmcgbGl2ZSBtaWdyYXRpb24gdG8gcmVtb3RlIGhvc3QKCkNoYW5nZXMgYmV0d2VlbiB2MTEg YW5kIHYxMjoKIC0gcmViYXNlIHRvICdzdGFnaW5nJyAoM2RhYzQyZi4uOGIyN2QyYikKIC0gcmVi YXNlIHRvICdzdGFnaW5nJyAoYTM1ZGM2Yy4uM2RhYzQyZikKIC0gUmV3b3JrIEFQSSBvZiB4bHVf dnNjc2lfZ2V0X2N0cmwKIC0gU2FuaXRpemUgaW5wdXQgZnJvbSBmcm9udGVuZCBpbiB2c2NzaV9m aWxsX2N0cmwKIC0gVXNlIG1hY3JvIGZvciBsaWJ4bF9jdHJsX2luZGV4CgpDaGFuZ2VzIGJldHdl ZW4gdjEwIGFuZCB2MTE6CiAtIHJlYmFzZSB0byAnc3RhZ2luZycgKGQ4ODdjMTkuLmEzNWRjNmMp CiAtIHJlYmFzZSB0byAnc3RhZ2luZycgKDgyOWUwM2MuLmQ4ODdjMTkpCiAtIFJlbW92ZSBldnRj aCBhbmQgcnJlZiBmcm9tIHZzY3NpaW5mbwogLSBSZW1vdmUgQ09NUEFSRV9WU0NTSSwgdXNlIENP TVBBUkVfREVWSUQKIC0gUmVtb3ZlIHZzY3NpX3d3bl92YWxpZCBoZWxwZXJzLCB1c2Ugc3NjYW5m IGluc3RlYWQKaHR0cDovL2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRl dmVsLzIwMTYtMDQvbXNnMDExMjAuaHRtbAoKQ2hhbmdlcyBiZXR3ZWVuIHY5IGFuZCB2MTA6CiAt IHJlYmFzZSB0byAnc3RhZ2luZycgKDNiOTcxZGUuLjgyOWUwM2MpCmh0dHA6Ly9saXN0cy54ZW5w cm9qZWN0Lm9yZy9hcmNoaXZlcy9odG1sL3hlbi1kZXZlbC8yMDE2LTAzL21zZzAyNzczLmh0bWwK CkNoYW5nZXMgYmV0d2VlbiB2OCBhbmQgdjk6CiAtIE1lbnRpb24gbGlieGxfY3RybF9pbmRleCBp biB2c2NzaWlmLmgKIC0gUmVuYW1lIGlkeCB0byBsaWJ4bF9jdHJsX2luZGV4CiAtIEZpeCBkZXZp Y2UgYXNzaWdubWVudCBpbiB2c2NzaWRldl9yZW1vdmUKIC0gQWRkIHZzY3NpY3RybHMgdG8gbXVs dGlkZXYgY2FsbGNoYWluCiAtIFJlb3JkZXIgc29tZSBmdW5jdGlvbnMKIC0gTW92ZSBhbmQgcmVu YW1lIHZzY3NpZGV2X3JtCiAtIFJlbW92ZSBsaWJ4bCBwcmVmaXggZnJvbSBzdGF0aWMgZnVuY3Rp b25zCiAtIFJlb3JkZXIgZnVuY3Rpb25zIGluIGxpYnhsX3ZzY3NpLmMKIC0gQWRkIGNvbW1lbnQg dG8gbGlieGxfdnNjc2lkZXZfYW9kZXZfY2IKIC0gTW92ZSBsaWJ4bF9kZXZpY2VfdnNjc2ljdHJs X3JlbW92ZSBpbnRvIGxpYnhsX3ZzY3NpLmMKIC0gRW5jbG9zZSBsaWJ4bF9fZGV2aWNlIGluc3Rl YWQgb2YgYW9kZXYgaW4gbGlieGxfX3ZzY3NpZGV2X3JtCiAtIFVwZGF0ZSB0eXBlZGVmIG9mIGxp YnhsX192c2NzaWRldl9ybQogLSBBc3NpZ24gZGV2aWQgZWFybGllciBpbiBsaWJ4bF9fZGV2aWNl X3ZzY3NpY3RybF9hZGQKIC0gUmV3b3JrIHhsdV92c2NzaV9nZXRfY3RybCBhbmQgbWFpbl92c2Nz aWF0dGFjaAogLSBBZGQgY29uZmlnIGlkeCBhbHNvIHRvIGxpYnhsX3ZzY3NpaW5mbwogLSBNYWtl IGxpYnhsX192c2NzaV9jb2xsZWN0X2N0cmxzIHN0YXRpYwogLSBJbXBsZW1lbnQgbGlieGxfZGV2 aWNlX3ZzY3NpZGV2X2FkZAogLSBNb3ZlIHZzY3NpY3RybCBhZGQgZnJvbSBsaWJ4bC5jIHRvIGxp YnhsX3ZzY3NpLmMKIC0gRXhwb3J0IGxpYnhsX19kZXZpY2VfbmV4dGlkIGZvciBpbnRlcm5hbCB1 c2UKIC0gUmVtb3ZlIHNvbWUgY2hlY2tzIGZvciBlbXB0eSBjb250cm9sbGVycwogLSBJbnRyb2R1 Y2UgYW4gaWR4IGZpbGUgdG8gcHJlc2VudCB0aGUgY29uZmlnIGluZGV4IGluIGVtcHR5IHZzY3Np Y3RybHMKIC0gVXNlIGxpYnhsX19ldl9kZXZzdGF0ZV93YWl0IGluIGxpYnhsX19kZXZpY2VfdnNj c2ljdHJsX3JlY29uZmlndXJlX2FkZAogLSBSZXdvcmsgZXJyb3IgaGFuZGxpbmcgaW4gbGlieGxf X3ZzY3NpX2ZpbGxfY3RybAogLSBSZW1vdmUgc3RhdGUgY2hlY2tpbmcgZnJvbSBsaWJ4bF9fdnNj c2lfZmlsbF9kZXYKIC0gV3JhcCBsb25nIGxpbmVzIGluIGxpYnhsX19kZXZpY2VfdnNjc2ljdHJs X25ld19iYWNrZW5kCiAtIFVzZSBMSUJYTF9ERVNUUk9ZX1RJTUVPVVQgaW4gbGlieGxfX2Rldmlj ZV92c2NzaWRldl9ybQogLSBSZW1vdmUgdGFiIGZyb20gbGlieGxfX3ZzY3NpX2NvbGxlY3RfY3Ry bHMKIC0gR290byBvdXQgaWYgbGlieGxfX2RldmljZV92c2NzaWRldl9iYWNrZW5kX3NldF9hZGQg ZmFpbHMKIC0gQWRkIGZhbGx0aHJvdWdoIHRvIGxpYnhsX19kZXZpY2VfdnNjc2lkZXZfYmFja2Vu ZF9zZXRfYWRkCiAtIEZpeCB0eXBvIGluIHhsLmNmZy5wb2Q6IG5hYS4KIC0gV3JhcCBsb25nIGxp bmUgaW4geGwuY2ZnLnBvZC41CiAtIFVzZSBtZW1tb3ZlIGluIGxpYnhsX2RldmljZV92c2NzaWN0 cmxfcmVtb3ZlX3ZzY3NpZGV2CiAtIEFkanVzdCBjb2RlIGluIG1haW5fdnNjc2lsaXN0IHRvIGZp dCBpbiA4MCBjaGFycwogLSBBbGlnbiBzd2l0Y2ggYW5kIGNhc2UgdG8gZ2FpbiA0IGNvbHVtbnMK IC0gV3JhcCBsb25nIGxpbmUgaW4gbGlieGxfX2RldmljZV92c2NzaV9yZWNvbmZpZ3VyZV9ybQog LSBXcmFwIGxvbmcgbGluZSBpbiBsaWJ4bF9fZGV2aWNlX3ZzY3NpZGV2X3JtX2JlCiAtIEFkanVz dCBmbGV4YXJyYXkgc2l6ZSBpbiBsaWJ4bF9fZGV2aWNlX3ZzY3NpX3JlY29uZmlndXJlX3JtCiAt IFJld29yayBsaWJ4bF9kZXZpY2VfdnNjc2lkZXZfcmVtb3ZlCiAtIEludHJvZHVjZSBsaWJ4bF9k ZXZpY2VfdnNjc2ljdHJsX3JlbW92ZV92c2NzaWRldgogLSBVc2Ugc3RhY2sgdmFyaWFibGVzIGlu IHhsdV92c2NzaV9nZXRfY3RybAogLSBSZW5hbWUgZnVuY3Rpb24gbmFtZXMgdG8gcmVmZXIgdG8g dnNjc2ljdHJsCiAtIFJlbmFtZSBsb2NhbCB2YXJpYWJsZXMgdG8gcmVmZXIgdG8gdnNjc2ljdHJs CiAtIFVzZSBnZW5lcmljIHZzY3NpY3RybC0+ZGV2aWQKaHR0cDovL2xpc3RzLnhlbnByb2plY3Qu b3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMTYtMDIvbXNnMDMxOTYuaHRtbAoKQ2hhbmdl cyBiZXR3ZWVuIHY3IGFuZCB2ODoKIC0gTWFrZSBiZV9wYXRoIGNvbnN0IGluIGxpYnhsX19kZXZp Y2VfdnNjc2ljdHJsX2FkZAogLSBBZGp1c3QgeWVhcnMgaW4gQ29weXJpZ2h0CiAtIFdoaXRlc3Bh Y2UgaW4gbGlieGxfZGV2aWNlX3ZzY3NpY3RybCBpZGwKIC0gSW1wbGVtZW50IGxpYnhsX2Rldmlj ZV92c2NzaWN0cmxfZGVzdHJveQogLSBTZXQgYmFja2VuZF9kZXZpZAogLSBSZW9yZGVyIGFzc2ln bm1lbnRzIGluIGxpYnhsX19kZXZpY2VfdnNjc2ljdHJsX2FkZAogLSBXaGl0ZXNwYWNlIGNoYW5n ZXMgZm9yIGxpYnhsX19kZXZpY2VfdnNjc2lfcmVjb25maWd1cmVfYWRkCiAtIFJlZ2lzdGVyIHdh dGNoIHVuY29uZGl0aW9uYWxseSBpbiBsaWJ4bF9fZGV2aWNlX3ZzY3NpZGV2X3JtCiAtIFdhaXQg Zm9yIFN0YXRlQ2xvc2luZyBmb3IgdW5jb25uZWN0ZWQgZnJvbnRlbmRzIGluIGRldGFjaAogLSBB ZGp1c3QgbG9naWMgaW4gbGlieGxfX3ZzY3NpX2ZpbGxfZGV2CiAtIFJld29yayBzY3NpLWRldGFj aAogLSBJbmNyZWFzZSBzd2FwIHBhcnRpdGlvbiBmcm9tIDEyIHRvIDk2IGJsb2NrcyBmb3IgbWtz d2FwCiAtIFVwZGF0ZSBNRVJHRSBtYWNybyBmb3IgdnNjc2ljdHJscwpodHRwOi8vbGlzdHMueGVu cHJvamVjdC5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAxNi0wMi9tc2cwMTY2Mi5odG1s CgpDaGFuZ2VzIGJldHdlZW4gdjYgYW5kIHY3OgogLSByZWJhc2UgdG8gJ3N0YWdpbmcnICgzYjk3 MWRlKQogLSBJbnRyb2R1Y2UgbGlieGxfZGV2aWNlX3ZzY3NpY3RybF9hcHBlbmRfdnNjc2lkZXYK IC0gQWRkIGxpYnhsX192c2NzaV9jb2xsZWN0X2N0cmxzIGFuZCB1c2VkIGl0IGluIGxpYnhsX2Rl dmljZV92c2NzaWN0cmxfbGlzdAogLSBDb252ZXJ0IHR5cGUgb2YgbHVuIGZyb20gdTMyIHRvIHU2 NCBwZXIgU0NTSSBzcGVjCiAtIFVzZSB2c2NzaV9zYXZlZCBpbiBsaWJ4bF9fZGV2aWNlX3ZzY3Np Y3RybF9hZGQKIC0gQXNzaWduIHVuaXF1ZSB2c2NzaWRldl9pZCBwZXIgdnNjc2ljdHJsCiAtIFJl bmFtZSB2c2NzaV9kZXYgdG8gdnNjc2lkZXYgaW4gZnVuY3Rpb24gbmFtZXMKIC0gUmVuYW1lIHZh cmlhYmxlcyBpbiBsaWJ4bF92c2NzaWluZm8KIC0gUmVuYW1lIGxvY2FscyB0byByZWZlciB0byBj dHJsL2RldgogLSBSZW5hbWUgdmFyaW91cyBzdHJpbmdzIGZyb20gaG9zdCB0byBjdHJsCiAtIFJl bmFtZSBsb2NhbCB2YXJpYWJsZXMgdnNjc2lfY3RybCB0byB2c2NzaWN0cmwKIC0gUmVuYW1lIGxp YnhsX2RldmljZV92c2NzaWN0cmwtPnZzY3NpX2RldnMgdG8gdnNjc2lkZXZzCiAtIFJlbW92ZSBs aWJ4bF9kZXZpY2VfdnNjc2lkZXYtPnJlbW92ZSwgcmV3b3JrIGRldGFjaAogLSBSZW5hbWUgbGli eGxfZGV2aWNlX3ZzY3NpZGV2LT52c2NzaV9kZXZfaWQgdG8gdnNjc2lkZXZfaWQKIC0gUmVuYW1l IGxvY2FsIHZhcmlhYmxlcyB2c2NzaV9ob3N0IHRvIHZzY3NpX2N0cmwKIC0gUmVuYW1lIGxvY2Fs IHZhcmlhYmxlcyB2X2hzdCB0byB2X2N0cmwKIC0gUmVtb3ZlIGxpYnhsX2RldmljZV92c2NzaWN0 cmwtPnZfaHN0CiAtIFJlbmFtZSBsaWJ4bF92c2NzaV9kZXYgdG8gbGlieGxfZGV2aWNlX3ZzY3Np ZGV2CiAtIFJlbmFtZSBsaWJ4bF9kZXZpY2VfdnNjc2kgdG8gbGlieGxfZGV2aWNlX3ZzY3NpY3Ry bApodHRwOi8vbGlzdHMueGVucHJvamVjdC5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAx Ni0wMi9tc2cwMDg4NC5odG1sCgpDaGFuZ2VzIGJldHdlZW4gdjUgYW5kIHY2OgogLSByZWJhc2Ug dG8gJ3N0YWdpbmcnIChhN2IzOWM4IGFuZCBiN2U3YWQ4KQogLSBGaXggb2ZmLWJ5LW9uZSBpbiB4 bHVfX3ZzY3NpX2NvbXBhcmVfdWRldgogLSB4bC5jZmc6IHVzZSBvcHRpb25zIGluc3RlYWQgb2Yg b3B0aW9uCiAtIHhsLmNmZzogZml4IGdyYW1tYXIgZm9yIHBkZXYvb3B0aW9ucwogLSB4bC5jZmc6 IGZpeCBVc3VhbGx5IHR5cG8KIC0gUmVtb3ZlIG5leHRfdnNjc2lfZGV2X2lkIGZyb20gbGlieGxf ZGV2aWNlX3ZzY3NpCiAtIFVzZSBYTFVfV1dOX0xFTiBhbHNvIGluIGxpYnhsX3ZzY3NpLmMKaHR0 cDovL2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMTUtMTEv bXNnMDE0NDYuaHRtbAoKQ2hhbmdlcyBiZXR3ZWVuIHY0IGFuZCB2NToKIC0gdnNjc2lpZi5oOiBy ZWZlciB0byBiYWNrZW5kX2RvbWlkCiAtIFNldCB1cGRhdGVfanNvbiBpbiBsaWJ4bF9kZXZpY2Vf dnNjc2lfcmVtb3ZlCiAtIFJlbW92ZSBjb21tZW50IGZyb20gbGlieGxfX2RldmljZV92c2NzaV9h ZGQKIC0gUmVtb3ZlIGRlYnVnIExPRyBmcm9tIGxpYnhsX19kZXZpY2VfdnNjc2lfcmVjb25maWd1 cmUKIC0gTW92ZSBsb2NhbCBuYiB2YXJpYWJsZSBpbiBsaWJ4bF9fZGV2aWNlX3ZzY3NpX3JlY29u ZmlndXJlCiAtIE1ha2UgYmVfcGF0aCBjb25zdCBpbiBsaWJ4bF9fZGV2aWNlX3ZzY3NpX3JlY29u ZmlndXJlCiAtIEFkanVzdCBsaWJ4bF9fZGV2aWNlX3ZzY3NpX2Rldl9iYWNrZW5kX3NldCB0byBh dm9pZCBsb25nIGxpbmVzCiAtIEFkanVzdCBsaWJ4bF9fZGV2aWNlX3ZzY3NpX2Rldl9iYWNrZW5k X3JtIHRvIGF2b2lkIGxvbmcgbGluZXMKIC0gVXNlIENUWCBpbiBsaWJ4bF9fZGV2aWNlX3ZzY3Np X2Rldl9iYWNrZW5kX3JtCiAtIE1ha2UgYmVfcGF0aCBjb25zdCBpbiBsaWJ4bF9fZGV2aWNlX3Zz Y3NpX2Rldl9iYWNrZW5kX3JtCiAtIHhsLmNmZzogSXRzIHR5cG8KIC0geGwuY2ZnOiBVc2UgcGVy c2lzdGVudCBpbnN0ZWFkIG9mIHBlcnNpc3RhbnQKIC0gUmVuYW1lIGZlYXR1cmVfaG9zdCB0byBz Y3NpX3Jhd19jbWRzCiAtIHRhcmdldC1jcmVhdGUteGVuLXNjc2liYWNrLnNoOiBkZXRlY3QgcHZv cHMgYW5kIHhlbmxpbnV4CiAtIFdyYXAgbG9uZyBsaW5lcyBpbiBtYWluX3ZzY3NpbGlzdAogLSBD YWxsIGxpYnhsX3ZzY3NpaW5mb19kaXNwb3NlIHVuY29uZGl0aW9uYWwKIC0gTGV0IHNjc2ktbGlz dCBwcmludCBwLWRldiBpbnN0ZWFkIG9mIHAtZGV2bmFtZQogLSBIYW5kbGUgYnJva2VuIHZzY3Np IGRldmljZSBlbnRyeSBpbiB4ZW5zdG9yZQogLSBTcGxpdCBsaWJ4bF9fdnNjc2lfZmlsbF9ob3N0 IGZyb20gbGlieGxfZGV2aWNlX3ZzY3NpX2xpc3QKIC0gTWFrZSB4bHVfdnNjc2lfYXBwZW5kX2Rl diBzdGF0aWMKIC0gUmVtb3ZlIHJlZmVyZW5jZSB0byBwdnNjc2kudHh0IGZyb20geGVuc3RvcmUt cGF0aHMubWFya2Rvd24KIC0geGwuY2ZnOiB1cGRhdGUgTGludXggYW5kIHhlbmxpbnV4CiAtIHhs LmNmZzogcmVmZXIgdG8gYmFja2VuZCBkb21haW4gaW5zdGVhZCBvZiBkb20wCiAtIHhsLmNmZzog YmUgbW9yZSB2ZXJib3NlIHdoYXQgcGVyc2lzdGFudCBmb3JtYXQgaXMKIC0gcmV0dXJuIGlmIGxp YnhsX19kZXZpY2VfdnNjc2lfZGV2X2JhY2tlbmRfc2V0IGZhaWxzIGluIGxpYnhsX19kZXZpY2Vf dnNjc2lfbmV3X2JhY2tlbmQKIC0gdGFyZ2V0LWNyZWF0ZS14ZW4tc2NzaWJhY2suc2g6IHNldCBh bHNvIGFsaWFzIGZvciBsaWJ2aXJ0Cmh0dHA6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9hcmNoaXZl cy9odG1sL3hlbi1kZXZlbC8yMDE1LTA1L21zZzAwNTIzLmh0bWwKCkNoYW5nZXMgYmV0d2VlbiB2 MyBhbmQgdjQ6CiAtIFVzZSBsaWJ4bF9fZGV2aWNlX25leHRpZCBpbiBsaWJ4bF9fZGV2aWNlX3Zz Y3NpX2FkZAogLSBSZW1vdmUgY2hlY2sgZm9yIGR1cGxpY2F0ZSBwZGV2IGFzc2lnbm1lbnQgZnJv bSBsaWJ4bF9kZXZpY2VfdnNjc2lfZ2V0X2hvc3QKIC0gQ2FsbGVyIHByb3ZpZGVzIGxpYnhsX2Rl dmljZV92c2NzaSB0byBsaWJ4bF9kZXZpY2VfdnNjc2lfZ2V0X2hvc3QKIC0gRGVmaW5lIExJQlhM X0hBVkVfVlNDU0kKIC0gUmVtb3ZlIGluaXRfdmFsIGZyb20gbGlieGxfdnNjc2lfcGRldl90eXBl CiAtIE1vdmUgc29tZSBmdW5jdGlvbnMgZnJvbSBsaWJ4bCB0byBsaWJ4bHUKIC0gSW50cm9kdWNl IGxpYnhsX2RldmljZV92c2NzaS0+bmV4dF92c2NzaV9kZXZfaWQgdG8gaGFuZGxlIGhvbGVzCiAt IFVzZSBTdHJ1Y3QgaW4gS2V5ZWRVbmlvbiBmb3Igb2NhbWwgaWRsCiAtIGRvY3M6IE1lbnRpb24g cHZzY3NpIGluIHhsIGFuZCB4bC5jZmcKIC0gVHVybiBmZWF0dXJlX2hvc3QgaW50byBhIGRlZmJv b2wgYW5kIGFkZCBjaGVja2luZwogLSBTdXBwb3J0IHB2b3BzIGFuZCAvZGV2LyBub2RlcyBpbiBj b25maWcKIC0gV3JhcCBlbnRpcmUgbGlieGx1X3ZzY3NpLmMgd2l0aCBpZmRlZiBsaW51eAogLSBT ZXQgcmVtb3ZlIGZsYWcgaW4gbGlieGxfZGV2aWNlX3ZzY3NpX2xpc3QKIC0gRml4IHZzY3NpaWYg cGF0aCBpbiB4ZW5zdG9yZS1wYXRocy5tYXJrZG93bgogLSB2c2NzaWlmLmg6IGFkZCBzb21lIG5v dGVzIGFib3V0IHhlbnN0b3JlIGxheW91dAogLSBBZGQgY29weXJpZ2h0IHRvIGxpYnhsdV92c2Nz aS5jIGFuZCBsaWJ4bF92c2NzaS5jCiAtIFNjcmlwdHMgdG8gY3JlYXRlIGFuZCBkZWxldGUgeGVu LXNjc2liYWNrIG5vZGVzIGluIExpbnV4IHRhcmdldCBmcmFtZXdvcmsKIC0gUmVtb3ZlIHB2c2Nz aS50eHQKaHR0cDovL2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVs LzIwMTUtMDQvbXNnMDE5NDkuaHRtbAoKQ2hhbmdlcyBiZXR3ZWVuIHYyIGFuZCB2MzoKIC0gQWRq dXN0IGNoYW5nZSBmb3IgdnNjc2lpZi5oCiAtIFN1cHBvcnQgIm5hYS53d246bHVuIiBub3RhdGlv biBpbiBwdm9wcyBrZXJuZWwKIC0gQWRkIGV4YW1wbGUgZm9yIHB2b3BzIGtlcm5lbCB1c2luZyB0 YXJnZXRjbGkKICAgcGF0Y2ggcmVxdWlyZWQgZm9yIHB5dGhvbi1ydHNsaWI6CiAgIGh0dHA6Ly9h cnRpY2xlLmdtYW5lLm9yZy9nbWFuZS5saW51eC5zY3NpLnRhcmdldC5kZXZlbC84MTQ2CiAtIFVz ZSB2ZGV2IHZhcmlhYmxlIGluIGxpYnhsX2RldmljZV92c2NzaV9wYXJzZQpodHRwOi8vbGlzdHMu eGVucHJvamVjdC5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAxNS0wMy9tc2cwMDczNC5o dG1sCgpDaGFuZ2VzIGJldHdlZW4gdjEgYW5kIHYyOgogLSBwb3J0ZWQgdG8gY3VycmVudCBzdGFn aW5nCmh0dHA6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9hcmNoaXZlcy9odG1sL3hlbi1kZXZlbC8y MDE1LTAzL21zZzAwMDMwLmh0bWwKCkluaXRpYWwgYXR0ZW1wdCB3YXMgc2VudCBhIHllYXIgYWdv OgpodHRwOi8vbGlzdHMueGVucHJvamVjdC5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAx NC0wNC9tc2cwMzk1OC5odG1sCk1vc3QgY29tbWVudHMgYXJlIGFkZHJlc3NlZC4KClRoaXMgdmVy c2lvbiBoYXMgYmVlbiB0ZXN0ZWQgd2l0aCBTTEVTIGFzIGJhY2tlbmQgYW5kIGZyb250ZW5kLgpU aGlzIHZlcnNpb24gaGFzIGJlZW4gdGVzdGVkIHdpdGggcHZvcHMgYXMgYmFja2VuZCBhbmQgU0xF UyBhcyBmcm9udGVuZC4KCgpPbGFmIEhlcmluZyAoMik6CiAgbGlieGw6IGFkZCBzdXBwb3J0IGZv ciB2c2NzaQogIFNjcmlwdHMgdG8gY3JlYXRlIGFuZCBkZWxldGUgeGVuLXNjc2liYWNrIG5vZGVz IGluIExpbnV4IHRhcmdldAogICAgZnJhbWV3b3JrCgogZG9jcy9tYW4veGwuY2ZnLnBvZC41ICAg ICAgICAgICAgICAgICAgICB8ICAgNTYgKysKIGRvY3MvbWFuL3hsLnBvZC4xICAgICAgICAgICAg ICAgICAgICAgICAgfCAgIDE4ICsKIHRvb2xzL2xpYnhsL01ha2VmaWxlICAgICAgICAgICAgICAg ICAgICAgfCAgICAyICsKIHRvb2xzL2xpYnhsL2xpYnhsLmMgICAgICAgICAgICAgICAgICAgICAg fCAgICA5ICsKIHRvb2xzL2xpYnhsL2xpYnhsLmggICAgICAgICAgICAgICAgICAgICAgfCAgIDQy ICsrCiB0b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYyAgICAgICAgICAgICAgIHwgICA0MSArLQog dG9vbHMvbGlieGwvbGlieGxfZGV2aWNlLmMgICAgICAgICAgICAgICB8ICAgIDIgKwogdG9vbHMv bGlieGwvbGlieGxfaW50ZXJuYWwuaCAgICAgICAgICAgICB8ICAgIDggKwogdG9vbHMvbGlieGwv bGlieGxfdHlwZXMuaWRsICAgICAgICAgICAgICB8ICAgNTMgKysKIHRvb2xzL2xpYnhsL2xpYnhs X3R5cGVzX2ludGVybmFsLmlkbCAgICAgfCAgICAxICsKIHRvb2xzL2xpYnhsL2xpYnhsX3ZzY3Np LmMgICAgICAgICAgICAgICAgfCAxMTY5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog dG9vbHMvbGlieGwvbGlieGx1X3ZzY3NpLmMgICAgICAgICAgICAgICB8ICA2NjcgKysrKysrKysr KysrKysrKysKIHRvb2xzL2xpYnhsL2xpYnhsdXRpbC5oICAgICAgICAgICAgICAgICAgfCAgIDE5 ICsKIHRvb2xzL2xpYnhsL3hsLmggICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAzICsKIHRv b2xzL2xpYnhsL3hsX2NtZGltcGwuYyAgICAgICAgICAgICAgICAgfCAgMjI1ICsrKysrLQogdG9v bHMvbGlieGwveGxfY21kdGFibGUuYyAgICAgICAgICAgICAgICB8ICAgMTUgKwogdG9vbHMvbWlz Yy9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKwogdG9vbHMvbWlzYy90YXJn ZXQtY3JlYXRlLXhlbi1zY3NpYmFjay5zaCB8ICAxMzUgKysrKwogdG9vbHMvbWlzYy90YXJnZXQt ZGVsZXRlLXhlbi1zY3NpYmFjay5zaCB8ICAgNDEgKysKIDE5IGZpbGVzIGNoYW5nZWQsIDI1MDYg aW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy9s aWJ4bC9saWJ4bF92c2NzaS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvbGlieGwvbGlieGx1 X3ZzY3NpLmMKIGNyZWF0ZSBtb2RlIDEwMDc1NSB0b29scy9taXNjL3RhcmdldC1jcmVhdGUteGVu LXNjc2liYWNrLnNoCiBjcmVhdGUgbW9kZSAxMDA3NTUgdG9vbHMvbWlzYy90YXJnZXQtZGVsZXRl LXhlbi1zY3NpYmFjay5zaAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK aHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==