From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v3] libxl: add "xl qemu-monitor-command" Date: Tue, 6 Sep 2016 12:51:06 +0200 Message-ID: <1473159066-26227-1-git-send-email-jgross@suse.com> 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: Juergen Gross , wei.liu2@citrix.com, ian.jackson@eu.citrix.com List-Id: xen-devel@lists.xenproject.org QWRkIGEgbmV3IHhsIGNvbW1hbmQgInFlbXUtbW9uaXRvci1jb21tYW5kIiB0byBpc3N1ZSBhcmJp dHJhcnkgY29tbWFuZHMKdG8gYSBkb21haW4ncyBkZXZpY2UgbW9kZWwuIFN5bnRheCBpczoKCnhs IHFlbXUtbW9uaXRvci1jb21tYW5kIDxkb21haW4+IDxjb21tYW5kPgoKVGhlIGNvbW1hbmQgaXMg aXNzdWVkIHZpYSBxbXAgaHVtYW4tbW9uaXRvci1jb21tYW5kIGNvbW1hbmQuIEFueQppbmZvcm1h dGlvbiByZXR1cm5lZCBieSB0aGUgY29tbWFuZCBpcyBwcmludGVkIHRvIHN0ZG91dC4KClNpZ25l ZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KLS0tClYzOiAtIGFkZCBH Q19GUkVFIGFzIHJlcXVlc3RlZCBieSBEYXJpbyBGYWdnaW9saQogICAgLSByZXR1cm4gd2l0aCBF WElUX0ZBSUxVUkUvU1VDQ0VTUyBhcyByZXF1ZXN0ZWQgYnkgRGFyaW8gRmFnZ2lvbGkKICAgIC0g ZG9uJ3QgaW5pdGlhbGl6ZSByYyBzdGF0aWNhbGx5IGFzIHJlcXVlc3RlZCBieSBEYXJpbyBGYWdn aW9saQoKVjI6IC0gYWRkIHdhcm5pbmcgdG8gbWFuIHBhZ2UgYXMgcmVxdWVzdGVkIGJ5IElhbiBK YWNrc29uCi0tLQogZG9jcy9tYW4veGwucG9kLjEuaW4gICAgICAgICAgIHwgMzYgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwogdG9vbHMvbGlieGwvbGlieGwuaCAgICAgICAgICAg IHwgMTQgKysrKysrKysrKysrKysKIHRvb2xzL2xpYnhsL2xpYnhsX2NvbG9fcWRpc2suYyB8ICAy ICstCiB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oICAgfCAgMyArKy0KIHRvb2xzL2xpYnhs L2xpYnhsX3FtcC5jICAgICAgICB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLQogdG9vbHMvbGlieGwveGwuaCAgICAgICAgICAgICAgIHwgIDEgKwogdG9vbHMv bGlieGwveGxfY21kaW1wbC5jICAgICAgIHwgMjkgKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogdG9vbHMvbGlieGwveGxfY21kdGFibGUuYyAgICAgIHwgIDUgKysrKysKIDggZmlsZXMgY2hh bmdlZCwgMTMwIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9j cy9tYW4veGwucG9kLjEuaW4gYi9kb2NzL21hbi94bC5wb2QuMS5pbgppbmRleCAxYWRmMzIyLi5h MmJlNTQxIDEwMDY0NAotLS0gYS9kb2NzL21hbi94bC5wb2QuMS5pbgorKysgYi9kb2NzL21hbi94 bC5wb2QuMS5pbgpAQCAtMTUxNiw2ICsxNTE2LDQyIEBAIExpc3QgcGFzcy10aHJvdWdoIHVzYiBk ZXZpY2VzIGZvciBhIGRvbWFpbi4KIAogPWJhY2sKIAorPWhlYWQxIERFVklDRS1NT0RFTCBDT05U Uk9MCisKKz1vdmVyIDQKKworPWl0ZW0gQjxxZW11LW1vbml0b3ItY29tbWFuZD4gSTxkb21haW4t aWQ+IEk8Y29tbWFuZD4KKworSXNzdWUgYSBtb25pdG9yIGNvbW1hbmQgdG8gdGhlIGRldmljZSBt b2RlbCBvZiB0aGUgZG9tYWluIHNwZWNpZmllZCBieQorSTxkb21haW4taWQ+LiBJPGNvbW1hbmQ+ IGNhbiBiZSBhbnkgdmFsaWQgY29tbWFuZCBxZW11IHVuZGVyc3RhbmRzLiBUaGlzCitjYW4gYmUg ZS5nLiB1c2VkIHRvIGFkZCBub24tc3RhbmRhcmQgZGV2aWNlcyBvciBkZXZpY2VzIHdpdGggbm9u LXN0YW5kYXJkCitwYXJhbWV0ZXJzIHRvIGEgZG9tYWluLiBUaGUgb3V0cHV0IG9mIHRoZSBjb21t YW5kIGlzIHByaW50ZWQgdG8gc3Rkb3V0LgorCitCPFdhcm5pbmc6PiBUaGlzIHFlbXUgbW9uaXRv ciBhY2Nlc3MgaXMgcHJvdmlkZWQgZm9yIGNvbnZlbmllbmNlIHdoZW4KK2RlYnVnZ2luZywgdHJv dWJsZXNob290aW5nLCBhbmQgZXhwZXJpbWVudGluZy4gIEl0cyB1c2UgaXMgbm90CitzdXBwb3J0 ZWQgYnkgdGhlIFhlbiBQcm9qZWN0LgorCitTcGVjaWZpY2FsbHksIG5vdCBhbGwgaW5mb3JtYXRp b24gcHJpbnRlZCBieSB0aGUgcWVtdSBtb25pdG9yIHdpbGwKK25lY2Vzc2FyaWx5IGJlIGFjY3Vy YXRlIG9yIGNvbXBsZXRlLCBiZWNhdXNlIGluIGEgWGVuIHN5c3RlbSBxZW11Citkb2VzIG5vdCBo YXZlIGEgY29tcGxldGUgdmlldyBvZiB0aGUgZ3Vlc3QuCisKK0Z1cnRoZXJtb3JlLCBtb2RpZnlp bmcgdGhlIGd1ZXN0J3Mgc2V0dXAgdmlhIHRoZSBxZW11IG1vbml0b3IgbWF5Citjb25mbGljdCB3 aXRoIHRoZSBYZW4gdG9vbHN0YWNrJ3MgYXNzdW1wdGlvbnMuICBSZXN1bHRpbmcgcHJvYmxlbXMK K21heSBpbmNsdWRlLCBidXQgYXJlIG5vdCBsaW1pdGVkIHRvOiBndWVzdCBjcmFzaGVzOyB0b29s c3RhY2sgZXJyb3IKK21lc3NhZ2VzOyBpbmFiaWxpdHkgdG8gbWlncmF0ZSB0aGUgZ3Vlc3Q7IGFu ZCBzZWN1cml0eQordnVsbmVyYWJpbGl0aWVzIHdoaWNoIGFyZSBub3QgY292ZXJlZCBieSB0aGUg WGVuIFByb2plY3Qgc2VjdXJpdHkKK3Jlc3BvbnNlIHBvbGljeS4KKworQjxFWEFNUExFPgorCitP YnRhaW4gaW5mb3JtYXRpb24gb2YgVVNCIGRldmljZXMgY29ubmVjdGVkIGFzIHN1Y2ggdmlhIHRo ZSBkZXZpY2UgbW9kZWwKKyhvbmx5ISkgdG8gYSBkb21haW46CisKKyB4bCBxZW11LW1vbml0b3It Y29tbWFuZCB2bTEgJ2luZm8gdXNiJworICBEZXZpY2UgMC4yLCBQb3J0IDUsIFNwZWVkIDQ4MCBN Yi9zLCBQcm9kdWN0IE1hc3MgU3RvcmFnZQorCis9YmFjaworCiA9aGVhZDEgVE1FTQogCiA9b3Zl ciA0CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bC5oIGIvdG9vbHMvbGlieGwvbGlieGwu aAppbmRleCBlNGMyNWM0Li43Y2ZhNTQwIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bC5o CisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmgKQEAgLTI3NSw2ICsyNzUsMTIgQEAKICNkZWZpbmUg TElCWExfSEFWRV9CVUlMRF9JRCAxCiAKIC8qCisgKiBMSUJYTF9IQVZFX1FFTVVfTU9OSVRPUl9D T01NQU5EIGluZGlhY3RlcyB0aGUgYXZhaWxhYmlsaXR5IG9mIHRoZQorICogbGlieGxfcWVtdV9t b25pdG9yX2NvbW1hbmQoKSBmdW5jdGlvbi4KKyAqLworI2RlZmluZSBMSUJYTF9IQVZFX1FFTVVf TU9OSVRPUl9DT01NQU5EIDEKKworLyoKICAqIGxpYnhsIEFCSSBjb21wYXRpYmlsaXR5CiAgKgog ICogVGhlIG9ubHkgZ3VhcmFudGVlIHdoaWNoIGxpYnhsIG1ha2VzIHJlZ2FyZGluZyBBQkkgY29t cGF0aWJpbGl0eQpAQCAtMjE1Miw2ICsyMTU4LDE0IEBAIHZvaWQgbGlieGxfcHNyX2NhdF9pbmZv X2xpc3RfZnJlZShsaWJ4bF9wc3JfY2F0X2luZm8gKmxpc3QsIGludCBucik7CiBpbnQgbGlieGxf ZmRfc2V0X2Nsb2V4ZWMobGlieGxfY3R4ICpjdHgsIGludCBmZCwgaW50IGNsb2V4ZWMpOwogaW50 IGxpYnhsX2ZkX3NldF9ub25ibG9jayhsaWJ4bF9jdHggKmN0eCwgaW50IGZkLCBpbnQgbm9uYmxv Y2spOwogCisvKgorICogSXNzdWUgYSBxbXAgbW9uaXRvciBjb21tYW5kIHRvIHRoZSBkZXZpY2Ug bW9kZWwgb2YgdGhlIHNwZWNpZmllZCBkb21haW4uCisgKiBUaGUgZnVuY3Rpb24gcmV0dXJucyB0 aGUgb3V0cHV0IG9mIHRoZSBjb21tYW5kIGluIGEgbmV3IGFsbG9jYXRlZCBidWZmZXIKKyAqIHZp YSBvdXRwdXQuCisgKi8KK2ludCBsaWJ4bF9xZW11X21vbml0b3JfY29tbWFuZChsaWJ4bF9jdHgg KmN0eCwgdWludDMyX3QgZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgY2hhciAqY29tbWFuZF9saW5lLCBjaGFyICoqb3V0cHV0KTsKKwogI2luY2x1ZGUgPGxpYnhs X2V2ZW50Lmg+CiAKICNlbmRpZiAvKiBMSUJYTF9IICovCmRpZmYgLS1naXQgYS90b29scy9saWJ4 bC9saWJ4bF9jb2xvX3FkaXNrLmMgYi90b29scy9saWJ4bC9saWJ4bF9jb2xvX3FkaXNrLmMKaW5k ZXggYzIzYjgxYi4uZDI3MWQxZiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfY29sb19x ZGlzay5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NvbG9fcWRpc2suYwpAQCAtMTczLDcgKzE3 Myw3IEBAIHN0YXRpYyB2b2lkIGNvbG9fcWRpc2tfc2F2ZV9wcmVyZXN1bWUobGlieGxfX2VnYyAq ZWdjLAogICAgICAgICAgICAgICAgICAgICAiZmlsZS5kcml2ZXI9bmJkLGZpbGUuaG9zdD0lcyxm aWxlLnBvcnQ9JWQsIgogICAgICAgICAgICAgICAgICAgICAiZmlsZS5leHBvcnQ9JXMsbm9kZS1u YW1lPSVzLGlmPW5vbmUiLAogICAgICAgICAgICAgICAgICAgICBob3N0LCBwb3J0LCBleHBvcnRf bmFtZSwgbm9kZSk7Ci0gICAgcmV0ID0gbGlieGxfX3FtcF9obXAoZ2MsIGRvbWlkLCBjbWQpOwor ICAgIHJldCA9IGxpYnhsX19xbXBfaG1wKGdjLCBkb21pZCwgY21kLCBOVUxMKTsKICAgICBpZiAo cmV0KQogICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhs L2xpYnhsX2ludGVybmFsLmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCmluZGV4IGNl OGUxN2EuLjlmNTM0YzQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgK KysrIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaApAQCAtMTgxOCw3ICsxODE4LDggQEAg X2hpZGRlbiBpbnQgbGlieGxfX3FtcF94X2Jsb2NrZGV2X2NoYW5nZShsaWJ4bF9fZ2MgKmdjLCBp bnQgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGNoYXIgKnBhcmFudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgY2hhciAqY2hpbGQsIGNvbnN0IGNoYXIgKm5vZGUpOwogLyogcnVuIGEgaG1wIGNvbW1h bmQgaW4gcW1wIG1vZGUgKi8KLV9oaWRkZW4gaW50IGxpYnhsX19xbXBfaG1wKGxpYnhsX19nYyAq Z2MsIGludCBkb21pZCwgY29uc3QgY2hhciAqY29tbWFuZF9saW5lKTsKK19oaWRkZW4gaW50IGxp YnhsX19xbXBfaG1wKGxpYnhsX19nYyAqZ2MsIGludCBkb21pZCwgY29uc3QgY2hhciAqY29tbWFu ZF9saW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqKm91dCk7CiAvKiBjbG9z ZSBhbmQgZnJlZSB0aGUgUU1QIGhhbmRsZXIgKi8KIF9oaWRkZW4gdm9pZCBsaWJ4bF9fcW1wX2Ns b3NlKGxpYnhsX19xbXBfaGFuZGxlciAqcW1wKTsKIC8qIHJlbW92ZSB0aGUgc29ja2V0IGZpbGUs IGlmIHRoZSBmaWxlIGhhcyBhbHJlYWR5IGJlZW4gcmVtb3ZlZCwKZGlmZiAtLWdpdCBhL3Rvb2xz L2xpYnhsL2xpYnhsX3FtcC5jIGIvdG9vbHMvbGlieGwvbGlieGxfcW1wLmMKaW5kZXggNjNjNDlj NS4uMGQ4ZDVmNCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfcW1wLmMKKysrIGIvdG9v bHMvbGlieGwvbGlieGxfcW1wLmMKQEAgLTExMDMsMTQgKzExMDMsNTQgQEAgaW50IGxpYnhsX19x bXBfeF9ibG9ja2Rldl9jaGFuZ2UobGlieGxfX2djICpnYywgaW50IGRvbWlkLCBjb25zdCBjaGFy ICpwYXJlbnQsCiAgICAgcmV0dXJuIHFtcF9ydW5fY29tbWFuZChnYywgZG9taWQsICJ4LWJsb2Nr ZGV2LWNoYW5nZSIsIGFyZ3MsIE5VTEwsIE5VTEwpOwogfQogCi1pbnQgbGlieGxfX3FtcF9obXAo bGlieGxfX2djICpnYywgaW50IGRvbWlkLCBjb25zdCBjaGFyICpjb21tYW5kX2xpbmUpCitzdGF0 aWMgaW50IGhtcF9jYWxsYmFjayhsaWJ4bF9fcW1wX2hhbmRsZXIgKnFtcCwKKyAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAqcmVzcG9uc2UsCisgICAgICAg ICAgICAgICAgICAgICAgICB2b2lkICpvcGFxdWUpCit7CisgICAgY2hhciAqKm91dHB1dCA9IG9w YXF1ZTsKKyAgICBHQ19JTklUKHFtcC0+Y3R4KTsKKyAgICBpbnQgcmM7CisKKyAgICByYyA9IDA7 CisgICAgaWYgKCFvdXRwdXQpCisgICAgICAgIGdvdG8gb3V0OworCisgICAgKm91dHB1dCA9IE5V TEw7CisKKyAgICBpZiAobGlieGxfX2pzb25fb2JqZWN0X2lzX3N0cmluZyhyZXNwb25zZSkpIHsK KyAgICAgICAgKm91dHB1dCA9IGxpYnhsX19zdHJkdXAoTk9HQywgbGlieGxfX2pzb25fb2JqZWN0 X2dldF9zdHJpbmcocmVzcG9uc2UpKTsKKyAgICAgICAgZ290byBvdXQ7CisgICAgfQorCisgICAg TE9HKEVSUk9SLCAiUmVzcG9uc2UgaGFzIHVuZXhwZWN0ZWQgZm9ybWF0Iik7CisgICAgcmMgPSBF UlJPUl9GQUlMOworCitvdXQ6CisgICAgR0NfRlJFRTsKKyAgICByZXR1cm4gcmM7Cit9CisKK2lu dCBsaWJ4bF9fcW1wX2htcChsaWJ4bF9fZ2MgKmdjLCBpbnQgZG9taWQsIGNvbnN0IGNoYXIgKmNv bW1hbmRfbGluZSwKKyAgICAgICAgICAgICAgICAgICBjaGFyICoqb3V0cHV0KQogewogICAgIGxp YnhsX19qc29uX29iamVjdCAqYXJncyA9IE5VTEw7CiAKICAgICBxbXBfcGFyYW1ldGVyc19hZGRf c3RyaW5nKGdjLCAmYXJncywgImNvbW1hbmQtbGluZSIsIGNvbW1hbmRfbGluZSk7CiAKICAgICBy ZXR1cm4gcW1wX3J1bl9jb21tYW5kKGdjLCBkb21pZCwgImh1bWFuLW1vbml0b3ItY29tbWFuZCIs IGFyZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMKTsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIGhtcF9jYWxsYmFjaywgb3V0cHV0KTsKK30KKworaW50IGxpYnhs X3FlbXVfbW9uaXRvcl9jb21tYW5kKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpjb21tYW5kX2xpbmUsIGNo YXIgKipvdXRwdXQpCit7CisgICAgR0NfSU5JVChjdHgpOworICAgIGludCByYzsKKworICAgIHJj ID0gbGlieGxfX3FtcF9obXAoZ2MsIGRvbWlkLCBjb21tYW5kX2xpbmUsIG91dHB1dCk7CisKKyAg ICBHQ19GUkVFOworICAgIHJldHVybiByYzsKIH0KIAogaW50IGxpYnhsX19xbXBfaW5pdGlhbGl6 YXRpb25zKGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLApkaWZmIC0tZ2l0IGEvdG9vbHMv bGlieGwveGwuaCBiL3Rvb2xzL2xpYnhsL3hsLmgKaW5kZXggZTYwMWNhMS4uMGE4YzgxMyAxMDA2 NDQKLS0tIGEvdG9vbHMvbGlieGwveGwuaAorKysgYi90b29scy9saWJ4bC94bC5oCkBAIC0xMzMs NiArMTMzLDcgQEAgaW50IG1haW5fcHNyX2NtdF9zaG93KGludCBhcmdjLCBjaGFyICoqYXJndik7 CiBpbnQgbWFpbl9wc3JfY2F0X2NibV9zZXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KTsKIGludCBt YWluX3Bzcl9jYXRfc2hvdyhpbnQgYXJnYywgY2hhciAqKmFyZ3YpOwogI2VuZGlmCitpbnQgbWFp bl9xZW11X21vbml0b3JfY29tbWFuZChpbnQgYXJnYywgY2hhciAqKmFyZ3YpOwogCiB2b2lkIGhl bHAoY29uc3QgY2hhciAqY29tbWFuZCk7CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL3hsX2Nt ZGltcGwuYyBiL3Rvb2xzL2xpYnhsL3hsX2NtZGltcGwuYwppbmRleCA3NTQwZmIxLi5kMWEyYTE0 IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC94bF9jbWRpbXBsLmMKKysrIGIvdG9vbHMvbGlieGwv eGxfY21kaW1wbC5jCkBAIC05NTM2LDYgKzk1MzYsMzUgQEAgaW50IG1haW5fcHNyX2h3aW5mbyhp bnQgYXJnYywgY2hhciAqKmFyZ3YpCiAKICNlbmRpZgogCitpbnQgbWFpbl9xZW11X21vbml0b3Jf Y29tbWFuZChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisgICAgaW50IG9wdDsKKyAgICB1aW50 MzJfdCBkb21pZDsKKyAgICBjaGFyICpjbWQ7CisgICAgY2hhciAqb3V0cHV0OworICAgIGludCBy ZXQ7CisKKyAgICBTV0lUQ0hfRk9SRUFDSF9PUFQob3B0LCAiIiwgTlVMTCwgInFlbXUtbW9uaXRv ci1jb21tYW5kIiwgMikgeworICAgICAgICAvKiBObyBvcHRpb25zICovCisgICAgfQorCisgICAg ZG9taWQgPSBmaW5kX2RvbWFpbihhcmd2W29wdGluZF0pOworICAgIGNtZCA9IGFyZ3Zbb3B0aW5k ICsgMV07CisKKyAgICBpZiAoYXJnYyAtIG9wdGluZCA+IDIpIHsKKyAgICAgICAgZnByaW50Zihz dGRlcnIsICJJbnZhbGlkIGFyZ3VtZW50cy5cbiIpOworICAgICAgICByZXR1cm4gMTsKKyAgICB9 CisKKyAgICByZXQgPSBsaWJ4bF9xZW11X21vbml0b3JfY29tbWFuZChjdHgsIGRvbWlkLCBjbWQs ICZvdXRwdXQpOworICAgIGlmICghcmV0ICYmIG91dHB1dCkgeworICAgICAgICBwcmludGYoIiVz XG4iLCBvdXRwdXQpOworICAgICAgICBmcmVlKG91dHB1dCk7CisgICAgfQorCisgICAgcmV0dXJu IHJldCA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUzsKK30KKwogLyoKICAqIExvY2FsIHZh cmlhYmxlczoKICAqIG1vZGU6IEMKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL3hsX2NtZHRhYmxl LmMgYi90b29scy9saWJ4bC94bF9jbWR0YWJsZS5jCmluZGV4IDg1YzFlMGYuLjc4Nzg2ZmUgMTAw NjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL3hsX2NtZHRhYmxlLmMKKysrIGIvdG9vbHMvbGlieGwveGxf Y21kdGFibGUuYwpAQCAtNTg0LDYgKzU4NCwxMSBAQCBzdHJ1Y3QgY21kX3NwZWMgY21kX3RhYmxl W10gPSB7CiAgICAgICAiTGlzdCBpbmZvcm1hdGlvbiBhYm91dCBhbGwgVVNCIGNvbnRyb2xsZXJz IGFuZCBkZXZpY2VzIGZvciBhIGRvbWFpbiIsCiAgICAgICAiPERvbWFpbj4iLAogICAgIH0sCisg ICAgeyAicWVtdS1tb25pdG9yLWNvbW1hbmQiLAorICAgICAgJm1haW5fcWVtdV9tb25pdG9yX2Nv bW1hbmQsIDAsIDEsCisgICAgICAiSXNzdWUgYSBxZW11IG1vbml0b3IgY29tbWFuZCB0byB0aGUg ZGV2aWNlIG1vZGVsIG9mIGEgZG9tYWluIiwKKyAgICAgICI8RG9tYWluPiA8Q29tbWFuZD4iLAor ICAgIH0sCiB9OwogCiBpbnQgY21kdGFibGVfbGVuID0gc2l6ZW9mKGNtZF90YWJsZSkvc2l6ZW9m KHN0cnVjdCBjbWRfc3BlYyk7Ci0tIAoyLjYuNgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxp c3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=