From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v2 2/2] tools: add new xl command get-hypervisor-config Date: Thu, 14 Mar 2019 12:59:37 +0100 Message-ID: <20190314115937.26394-3-jgross@suse.com> References: <20190314115937.26394-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1h4P1T-0003XR-69 for xen-devel@lists.xenproject.org; Thu, 14 Mar 2019 11:59:43 +0000 In-Reply-To: <20190314115937.26394-1-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Wei Liu , Ian Jackson List-Id: xen-devel@lists.xenproject.org QWRkICAgbmV3IHN1YmNvbW1hbmQgImdldC1oeXBlcnZpc29yLWNvbmZpZyIgdG8geGwgY29uZmln IHRvIHByaW50IHRoZQpoeXBlcnZpc29yIC5jb25maWcgZmlsZS4KClRvIGJlIGFibGUgdG8gcmV1 c2UgYWxyZWFkeSBleGlzdGluZyBkZWNvbXByZXNzaW5nIGNvZGUgaW4gbGlieGVuZ3Vlc3QKeGNf aW5mbGF0ZV9idWZmZXIoKSBoYXMgdG8gYmUgbW92ZWQgdG8gbGlieGVuZ3Vlc3QuaC4KClNpZ25l ZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KLS0tClYyOgotIHJlbmFt ZSBzdWJjb21tYW5kIHRvIGdldC1oeXBlcnZpc29yLWNvbmZpZyAoV2VpIExpdSkKLSB1c2UgZ290 byBzdHlsZSBlcnJvciBoYW5kbGluZyAoV2VpIExpdSkKLS0tCiBkb2NzL21hbi94bC4xLnBvZC5p biAgICAgICAgICAgfCAgNSArKysrKwogdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmggIHwg IDggKysrKysrKysKIHRvb2xzL2xpYnhjL2luY2x1ZGUveGVuZ3Vlc3QuaCB8IDEzICsrKysrKysr KysrKysKIHRvb2xzL2xpYnhjL3hjX21pc2MuYyAgICAgICAgICB8IDQyICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogdG9vbHMvbGlieGMveGdfcHJpdmF0ZS5oICAg ICAgIHwgIDQgLS0tLQogdG9vbHMvbGlieGwvbGlieGwuYyAgICAgICAgICAgIHwgMzQgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogdG9vbHMvbGlieGwvbGlieGwuaCAgICAgICAg ICAgIHwgIDggKysrKysrKysKIHRvb2xzL3hsL3hsLmggICAgICAgICAgICAgICAgICB8ICAxICsK IHRvb2xzL3hsL3hsX2NtZHRhYmxlLmMgICAgICAgICB8ICA1ICsrKysrCiB0b29scy94bC94bF9t aXNjLmMgICAgICAgICAgICAgfCAyMCArKysrKysrKysrKysrKysrKysrKwogMTAgZmlsZXMgY2hh bmdlZCwgMTM2IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9j cy9tYW4veGwuMS5wb2QuaW4gYi9kb2NzL21hbi94bC4xLnBvZC5pbgppbmRleCA0MzEwZmNkODE4 Li45ZDIwOTU4ZTkxIDEwMDY0NAotLS0gYS9kb2NzL21hbi94bC4xLnBvZC5pbgorKysgYi9kb2Nz L21hbi94bC4xLnBvZC5pbgpAQCAtODQ0LDYgKzg0NCwxMSBAQCBDbGVhcnMgWGVuJ3MgbWVzc2Fn ZSBidWZmZXIuCiAKID1iYWNrCiAKKz1pdGVtIEI8Z2V0LWh5cGVydmlzb3ItY29uZmlnPgorCitQ cmludCB0aGUgc29mdHdhcmUgY29uZmlndXJhdGlvbiBmaWxlICguY29uZmlnKSB1c2VkIHRvIGJ1 aWxkIHRoZQoraHlwZXJ2aXNvci4KKwogPWl0ZW0gQjxpbmZvPiBbSTxPUFRJT05TPl0KIAogUHJp bnQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIFhlbiBob3N0IGluIEk8bmFtZSA6IHZhbHVlPiBmb3Jt YXQuICBXaGVuCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaCBiL3Rv b2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCmluZGV4IGEzNjI4ZTU2YmIuLmM2YTIwM2UxYTQg MTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCisrKyBiL3Rvb2xzL2xp YnhjL2luY2x1ZGUveGVuY3RybC5oCkBAIC0yNjMyLDYgKzI2MzIsMTQgQEAgaW50IHhjX2xpdmVw YXRjaF9yZXBsYWNlKHhjX2ludGVyZmFjZSAqeGNoLCBjaGFyICpuYW1lLCB1aW50MzJfdCB0aW1l b3V0KTsKIGludCB4Y19kb21haW5fY2FjaGVmbHVzaCh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMy X3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgeGVuX3Bmbl90IHN0YXJ0X3Bmbiwg eGVuX3Bmbl90IG5yX3BmbnMpOwogCisvKgorICogR2V0IGd6aXAtZWQgLmNvbmZpZyBmcm9tIGh5 cGVydmlzb3IuCisgKiAqYnVmZmVyIG11c3QgYmUgZnJlZSgpLWVkIGJ5IGNhbGxlci4KKyAqIGRh dGEgc2l6ZSBpcyByZXR1cm5lZCBpbiBgc2l6ZWAuCisgKiBSZXR1cm5zIDAgb24gc3VjY2Vzcy4K KyAqLworaW50IHhjX2dldF9jb25maWcoeGNfaW50ZXJmYWNlICp4Y2gsIGNoYXIgKipidWZmZXIs IHVuc2lnbmVkIGxvbmcgKnNpemUpOworCiAvKiBDb21wYXQgc2hpbXMgKi8KICNpbmNsdWRlICJ4 ZW5jdHJsX2NvbXBhdC5oIgogCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmd1 ZXN0LmggYi90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmd1ZXN0LmgKaW5kZXggYjRiMmUxOTYxOS4u NzZlODdlYTk3YyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5ndWVzdC5oCisr KyBiL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuZ3Vlc3QuaApAQCAtMzEwLDQgKzMxMCwxNyBAQCB4 ZW5fcGZuX3QgKnhjX21hcF9tMnAoeGNfaW50ZXJmYWNlICp4Y2gsCiAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgbG9uZyBtYXhfbWZuLAogICAgICAgICAgICAgICAgICAgICAgIGludCBw cm90LAogICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgKm1mbjApOworCisvKioK KyAqIERlY29tcHJlc3MgYSBnemlwLWVkIHN0cmVhbS4KKyAqIEBwYXJtIHhjaCBhIGhhbmRsZSB0 byBhbiBvcGVuIGh5cGVydmlzb3IgaW50ZXJmYWNlCisgKiBAcGFybSBpbl9idWYgYnVmZmVyIGhv bGRpbmcgdGhlIGd6aXAtZWQgZGF0YQorICogQHBhcm0gaW5fc2l6ZSBzaXplIGluIGJ5dGVzIG9m IHRoZSBnemlwLWVkIGRhdGEKKyAqIEBwYXJtIG91dF9zaXplIHdoZXJlIHRvIHN0b3JlIHRoZSBn dW56aXAtZWQgZGF0YSBsZW5ndGgKKyAqIEByZXR1cm4gbmV3IGFsbG9jYXRlZCBidWZmZXIgaG9s ZGluZyB0aGUgZ3VuemlwLWVkIGRhdGEKKyAqLworY2hhciAqeGNfaW5mbGF0ZV9idWZmZXIoeGNf aW50ZXJmYWNlICp4Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICppbl9i dWYsCisgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGluX3NpemUsCisgICAg ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nICpvdXRfc2l6ZSk7CiAjZW5kaWYgLyog WEVOR1VFU1RfSCAqLwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfbWlzYy5jIGIvdG9vbHMv bGlieGMveGNfbWlzYy5jCmluZGV4IDVlNjcxNGFlMmIuLjgzZDI1OWU0NmUgMTAwNjQ0Ci0tLSBh L3Rvb2xzL2xpYnhjL3hjX21pc2MuYworKysgYi90b29scy9saWJ4Yy94Y19taXNjLmMKQEAgLTg4 OCw2ICs4ODgsNDggQEAgaW50IHhjX2xpdmVwYXRjaF9yZXBsYWNlKHhjX2ludGVyZmFjZSAqeGNo LCBjaGFyICpuYW1lLCB1aW50MzJfdCB0aW1lb3V0KQogICAgIHJldHVybiBfeGNfbGl2ZXBhdGNo X2FjdGlvbih4Y2gsIG5hbWUsIExJVkVQQVRDSF9BQ1RJT05fUkVQTEFDRSwgdGltZW91dCk7CiB9 CiAKK2ludCB4Y19nZXRfY29uZmlnKHhjX2ludGVyZmFjZSAqeGNoLCBjaGFyICoqYnVmZmVyLCB1 bnNpZ25lZCBsb25nICpzaXplKQoreworICAgIGludCByYzsKKyAgICBERUNMQVJFX1NZU0NUTDsK KyAgICBERUNMQVJFX0hZUEVSQ0FMTF9CVUZGRVIoY2hhciwgYnVmKTsKKworICAgIHN5c2N0bC5j bWQgPSBYRU5fU1lTQ1RMX2dldF9jb25maWc7CisgICAgc3lzY3RsLnUuZ2V0X2NvbmZpZy5zaXpl ID0gMDsKKyAgICBzZXRfeGVuX2d1ZXN0X2hhbmRsZShzeXNjdGwudS5nZXRfY29uZmlnLmJ1ZmZl ciwgSFlQRVJDQUxMX0JVRkZFUl9OVUxMKTsKKyAgICByYyA9IGRvX3N5c2N0bCh4Y2gsICZzeXNj dGwpOworICAgIGlmICggcmMgKQorICAgICAgICByZXR1cm4gcmM7CisKKyAgICAqc2l6ZSA9IHN5 c2N0bC51LmdldF9jb25maWcuc2l6ZTsKKyAgICBidWYgPSB4Y19oeXBlcmNhbGxfYnVmZmVyX2Fs bG9jKHhjaCwgYnVmLCAqc2l6ZSk7CisgICAgaWYgKCAhYnVmICkKKyAgICB7CisgICAgICAgIGVy cm5vID0gRU5PTUVNOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgc3lzY3RsLmNt ZCA9IFhFTl9TWVNDVExfZ2V0X2NvbmZpZzsKKyAgICBzeXNjdGwudS5nZXRfY29uZmlnLnNpemUg PSAqc2l6ZTsKKyAgICBzZXRfeGVuX2d1ZXN0X2hhbmRsZShzeXNjdGwudS5nZXRfY29uZmlnLmJ1 ZmZlciwgYnVmKTsKKyAgICByYyA9IGRvX3N5c2N0bCh4Y2gsICZzeXNjdGwpOworCisgICAgaWYg KCByYyApCisgICAgICAgIGdvdG8gb3V0OworCisgICAgKmJ1ZmZlciA9IGNhbGxvYygxLCAqc2l6 ZSk7CisgICAgaWYgKCAhKmJ1ZmZlciApCisgICAgeworICAgICAgICBlcnJubyA9IEVOT01FTTsK KyAgICAgICAgZ290byBvdXQ7CisgICAgfQorICAgIG1lbW1vdmUoKmJ1ZmZlciwgYnVmLCAqc2l6 ZSk7CisKK291dDoKKyAgICB4Y19oeXBlcmNhbGxfYnVmZmVyX2ZyZWUoeGNoLCBidWYpOworICAg IHJldHVybiByYzsKK30KKwogLyoKICAqIExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6IEMKZGlm ZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hnX3ByaXZhdGUuaCBiL3Rvb2xzL2xpYnhjL3hnX3ByaXZh dGUuaAppbmRleCBmMGE0YjJjNjE2Li5jYTg1ZTEwNzM3IDEwMDY0NAotLS0gYS90b29scy9saWJ4 Yy94Z19wcml2YXRlLmgKKysrIGIvdG9vbHMvbGlieGMveGdfcHJpdmF0ZS5oCkBAIC00MywxMCAr NDMsNiBAQAogCiBjaGFyICp4Y19yZWFkX2ltYWdlKHhjX2ludGVyZmFjZSAqeGNoLAogICAgICAg ICAgICAgICAgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSwgdW5zaWduZWQgbG9uZyAqc2l6ZSk7 Ci1jaGFyICp4Y19pbmZsYXRlX2J1ZmZlcih4Y19pbnRlcmZhY2UgKnhjaCwKLSAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmluX2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGxvbmcgaW5fc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGxvbmcgKm91dF9zaXplKTsKIAogdW5zaWduZWQgbG9uZyBjc3VtX3BhZ2UgKHZvaWQgKiBwYWdl KTsKIApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuYyBiL3Rvb2xzL2xpYnhsL2xpYnhs LmMKaW5kZXggZWM3MTU3NGU5OS4uZTM2MzM3MTgxMSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwv bGlieGwuYworKysgYi90b29scy9saWJ4bC9saWJ4bC5jCkBAIC02NjksNiArNjY5LDQwIEBAIGlu dCBsaWJ4bF9zZXRfcGFyYW1ldGVycyhsaWJ4bF9jdHggKmN0eCwgY2hhciAqcGFyYW1zKQogICAg IHJldHVybiAwOwogfQogCitpbnQgbGlieGxfZ2V0X2h5cGVydmlzb3JfY29uZmlnKGxpYnhsX2N0 eCAqY3R4LCBjaGFyICoqYnVmZmVyKQoreworICAgIGludCByZXQ7CisgICAgdW5zaWduZWQgbG9u ZyBnel9zaXplLCBvdXRfc2l6ZTsKKyAgICBjaGFyICpnel9idWZmZXI7CisgICAgR0NfSU5JVChj dHgpOworCisgICAgcmV0ID0geGNfZ2V0X2NvbmZpZyhjdHgtPnhjaCwgJmd6X2J1ZmZlciwgJmd6 X3NpemUpOworICAgIGlmIChyZXQgPCAwKSB7CisgICAgICAgIExPR0VWKEVSUk9SLCByZXQsICJn ZXR0aW5nIGNvbmZpZyIpOworICAgICAgICByZXQgPSBFUlJPUl9GQUlMOworICAgICAgICBnb3Rv IG91dDsKKyAgICB9CisKKyAgICAqYnVmZmVyID0geGNfaW5mbGF0ZV9idWZmZXIoY3R4LT54Y2gs IGd6X2J1ZmZlciwgZ3pfc2l6ZSwgJm91dF9zaXplKTsKKworICAgIGZyZWUoZ3pfYnVmZmVyKTsK KworICAgIGlmICghKmJ1ZmZlcikgeworICAgICAgICBMT0dFKEVSUk9SLCAiZGVjb21wcmVzc2lu ZyBjb25maWcgZGF0YSBmYWlsZWQiKTsKKyAgICAgICAgcmV0ID0gRVJST1JfRkFJTDsKKyAgICAg ICAgZ290byBvdXQ7CisgICAgfQorCisgICAgKmJ1ZmZlciA9IGxpYnhsX19yZWFsbG9jKE5PR0Ms ICpidWZmZXIsIG91dF9zaXplICsgMSk7CisgICAgKCpidWZmZXIpW291dF9zaXplXSA9IDA7CisK KyAgICByZXQgPSAwOworCitvdXQ6CisgICAgR0NfRlJFRTsKKyAgICByZXR1cm4gcmV0OworfQor CiBzdGF0aWMgaW50IGZkX3NldF9mbGFncyhsaWJ4bF9jdHggKmN0eCwgaW50IGZkLAogICAgICAg ICAgICAgICAgICAgICAgICAgaW50IGZjbnRsZ2V0b3AsIGludCBmY250bHNldG9wLCBjb25zdCBj aGFyICpmbCwKICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmbGFnbWFzaywgaW50IHNldF9w KQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsLmgK aW5kZXggYTM4ZTVjZGJhMi4uMGQ0OGFjMGFlMyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGli eGwuaAorKysgYi90b29scy9saWJ4bC9saWJ4bC5oCkBAIC0xMTQ5LDYgKzExNDksMTMgQEAgdm9p ZCBsaWJ4bF9tYWNfY29weShsaWJ4bF9jdHggKmN0eCwgbGlieGxfbWFjICpkc3QsIGNvbnN0IGxp YnhsX21hYyAqc3JjKTsKICAqLwogI2RlZmluZSBMSUJYTF9IQVZFX1NFVF9QQVJBTUVURVJTIDEK IAorLyoKKyAqIExJQlhMX0hBVkVfR0VUX0hZUEVSVklTT1JfQ09ORklHCisgKgorICogSWYgdGhp cyBpcyBkZWZpbmVkIGdldHRpbmcgaHlwZXJ2aXNvciBjb25maWcgaXMgc3VwcG9ydGVkLgorICov CisjZGVmaW5lIExJQlhMX0hBVkVfR0VUX0hZUEVSVklTT1JfQ09ORklHIDEKKwogLyoKICAqIExJ QlhMX0hBVkVfUFZfU0hJTQogICoKQEAgLTIzMDcsNiArMjMxNCw3IEBAIGludCBsaWJ4bF9zZW5k X3RyaWdnZXIobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLAogaW50IGxpYnhsX3NlbmRf c3lzcnEobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLCBjaGFyIHN5c3JxKTsKIGludCBs aWJ4bF9zZW5kX2RlYnVnX2tleXMobGlieGxfY3R4ICpjdHgsIGNoYXIgKmtleXMpOwogaW50IGxp YnhsX3NldF9wYXJhbWV0ZXJzKGxpYnhsX2N0eCAqY3R4LCBjaGFyICpwYXJhbXMpOworaW50IGxp YnhsX2dldF9oeXBlcnZpc29yX2NvbmZpZyhsaWJ4bF9jdHggKmN0eCwgY2hhciAqKmJ1ZmZlcik7 CiAKIHR5cGVkZWYgc3RydWN0IGxpYnhsX194ZW5fY29uc29sZV9yZWFkZXIgbGlieGxfeGVuX2Nv bnNvbGVfcmVhZGVyOwogCmRpZmYgLS1naXQgYS90b29scy94bC94bC5oIGIvdG9vbHMveGwveGwu aAppbmRleCBjZjQyMDJiYzg5Li5jYzUzN2IwN2I5IDEwMDY0NAotLS0gYS90b29scy94bC94bC5o CisrKyBiL3Rvb2xzL3hsL3hsLmgKQEAgLTE1Niw2ICsxNTYsNyBAQCBpbnQgbWFpbl90cmlnZ2Vy KGludCBhcmdjLCBjaGFyICoqYXJndik7CiBpbnQgbWFpbl9zeXNycShpbnQgYXJnYywgY2hhciAq KmFyZ3YpOwogaW50IG1haW5fZGVidWdfa2V5cyhpbnQgYXJnYywgY2hhciAqKmFyZ3YpOwogaW50 IG1haW5fc2V0X3BhcmFtZXRlcnMoaW50IGFyZ2MsIGNoYXIgKiphcmd2KTsKK2ludCBtYWluX2dl dF9oeXBlcnZpc29yX2NvbmZpZyhpbnQgYXJnYywgY2hhciAqKmFyZ3YpOwogaW50IG1haW5fZG1l c2coaW50IGFyZ2MsIGNoYXIgKiphcmd2KTsKIGludCBtYWluX3RvcChpbnQgYXJnYywgY2hhciAq KmFyZ3YpOwogaW50IG1haW5fbmV0d29ya2F0dGFjaChpbnQgYXJnYywgY2hhciAqKmFyZ3YpOwpk aWZmIC0tZ2l0IGEvdG9vbHMveGwveGxfY21kdGFibGUuYyBiL3Rvb2xzL3hsL3hsX2NtZHRhYmxl LmMKaW5kZXggODk3MTZiYWRjYi4uNTNiMWYxZjkyMiAxMDA2NDQKLS0tIGEvdG9vbHMveGwveGxf Y21kdGFibGUuYworKysgYi90b29scy94bC94bF9jbWR0YWJsZS5jCkBAIC0zMjAsNiArMzIwLDEx IEBAIHN0cnVjdCBjbWRfc3BlYyBjbWRfdGFibGVbXSA9IHsKICAgICAgICJTZXQgaHlwZXJ2aXNv ciBwYXJhbWV0ZXJzIiwKICAgICAgICI8UGFyYW1zPiIsCiAgICAgfSwKKyAgICB7ICJnZXQtaHlw ZXJ2aXNvci1jb25maWciLAorICAgICAgJm1haW5fZ2V0X2h5cGVydmlzb3JfY29uZmlnLCAwLCAw LAorICAgICAgIkdldCBoeXBlcnZpc29yIGJ1aWxkIGNvbmZpZyIsCisgICAgICAiIiwKKyAgICB9 LAogICAgIHsgImRtZXNnIiwKICAgICAgICZtYWluX2RtZXNnLCAwLCAwLAogICAgICAgIlJlYWQg YW5kL29yIGNsZWFyIGRtZXNnIGJ1ZmZlciIsCmRpZmYgLS1naXQgYS90b29scy94bC94bF9taXNj LmMgYi90b29scy94bC94bF9taXNjLmMKaW5kZXggZGNmOTQwYTZkNC4uMDBkZDUxZTkzNSAxMDA2 NDQKLS0tIGEvdG9vbHMveGwveGxfbWlzYy5jCisrKyBiL3Rvb2xzL3hsL3hsX21pc2MuYwpAQCAt MTc1LDYgKzE3NSwyNiBAQCBpbnQgbWFpbl9zZXRfcGFyYW1ldGVycyhpbnQgYXJnYywgY2hhciAq KmFyZ3YpCiAgICAgcmV0dXJuIEVYSVRfU1VDQ0VTUzsKIH0KIAoraW50IG1haW5fZ2V0X2h5cGVy dmlzb3JfY29uZmlnKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKyAgICBpbnQgb3B0OworICAg IGNoYXIgKmNvbmY7CisKKyAgICBTV0lUQ0hfRk9SRUFDSF9PUFQob3B0LCAiIiwgTlVMTCwgImdl dC1oeXBlcnZpc29yLWNvbmZpZyIsIDApIHsKKyAgICAgICAgLyogTm8gb3B0aW9ucyAqLworICAg IH0KKworICAgIGlmIChsaWJ4bF9nZXRfaHlwZXJ2aXNvcl9jb25maWcoY3R4LCAmY29uZikpIHsK KyAgICAgICAgZnByaW50ZihzdGRlcnIsICJjYW5ub3QgZ2V0IGNvbmZpZ1xuIik7CisgICAgICAg IHJldHVybiBFWElUX0ZBSUxVUkU7CisgICAgfQorCisgICAgcHJpbnRmKCIlc1xuIiwgY29uZik7 CisgICAgZnJlZShjb25mKTsKKworICAgIHJldHVybiBFWElUX1NVQ0NFU1M7Cit9CisKIGludCBt YWluX2RldmQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogewogICAgIGludCByZXQgPSAwLCBvcHQg PSAwLCBkYWVtb25pemUgPSAxOwotLSAKMi4xNi40CgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu L2xpc3RpbmZvL3hlbi1kZXZlbA==