From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bhupinder Thakur Subject: [PATCH 05/12 v3] xen/arm: vpl011: Add new domctl APIs to initialize/de-initialize vpl011 Date: Wed, 10 May 2017 20:01:18 +0530 Message-ID: <1494426678-32639-1-git-send-email-bhupinder.thakur@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d8SgL-0004LS-2n for xen-devel@lists.xenproject.org; Wed, 10 May 2017 14:33:37 +0000 Received: by mail-pg0-f53.google.com with SMTP id 64so17644947pgb.3 for ; Wed, 10 May 2017 07:33:35 -0700 (PDT) List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Wei Liu , Julien Grall , Stefano Stabellini , Ian Jackson List-Id: xen-devel@lists.xenproject.org QWRkIHR3byBuZXcgZG9tY3RsIEFQSXMgdG8gaW5pdGlhbGl6ZSBhbmQgZGUtaW5pdGlhbGl6ZSB2 cGwwMTEuIEl0IHRha2VzIHRoZSBHRk4gYW5kIGNvbnNvbGUKYmFja2VuZCBkb21pZCBhcyBpbnB1 dCBhbmQgcmV0dXJucyBhbiBldmVudCBjaGFubmVsIHRvIGJlIHVzZWQgZm9yCnNlbmRpbmcgYW5k IHJlY2VpdmluZyBldmVudHMgZnJvbSBYZW4uCgpYZW4gd2lsbCBjb21tdW5pY2F0ZSB3aXRoIHhl bmNvbnNvbGUgdXNpbmcgR0ZOIGFzIHRoZSByaW5nIGJ1ZmZlciBhbmQKdGhlIGV2ZW50IGNoYW5u ZWwgdG8gdHJhbnNtaXQgYW5kIHJlY2VpdmUgcGwwMTEgZGF0YSBvbiBndWVzdCBkb21haW4ncyBi ZWhhbGYuCgpTaWduZWQtb2ZmLWJ5OiBCaHVwaW5kZXIgVGhha3VyIDxiaHVwaW5kZXIudGhha3Vy QGxpbmFyby5vcmc+Ci0tLQoKQ2hhbmdlcyBzaW5jZSB2MjoKCi0gUmVwbGFjZWQgdGhlIERPTUNU TCBBUElzIGRlZmluZWQgZm9yIGdldC9zZXQgb2YgZXZlbnQgY2hhbm5lbCBhbmQgR0ZOIHdpdGgg CiAgYSBzZXQgb2YgRE9NQ1RMIEFQSXMgZm9yIGluaXRpYWxpemluZyBhbmQgZGUtaW5pdGlhbGl6 aW5nIHZwbDAxMSBlbXVsYXRpb24uCgogdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmggfCAy NiArKysrKysrKysrKysrKysrKysrKysrKysrKwogdG9vbHMvbGlieGMveGNfZG9tYWluLmMgICAg ICAgfCAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogdG9vbHMvbGli eGwvbGlieGxfZG9tLmMgICAgICAgfCAxMCArKysrKysrKysrCiB0b29scy9saWJ4bC9saWJ4bF9k b21haW4uYyAgICB8ICAyICsrCiB4ZW4vYXJjaC9hcm0vZG9tY3RsLmMgICAgICAgICB8IDI3ICsr KysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oICAg fCAxMyArKysrKysrKysrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDExNiBpbnNlcnRpb25zKCspCgpk aWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmggYi90b29scy9saWJ4Yy9p bmNsdWRlL3hlbmN0cmwuaAppbmRleCAxNjI5ZjQxLi4xM2VmMjE1IDEwMDY0NAotLS0gYS90b29s cy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaAorKysgYi90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0 cmwuaApAQCAtODg0LDYgKzg4NCwzMiBAQCBpbnQgeGNfdmNwdV9nZXRjb250ZXh0KHhjX2ludGVy ZmFjZSAqeGNoLAogICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCwKICAgICAg ICAgICAgICAgICAgICAgICAgdWludDMyX3QgdmNwdSwKICAgICAgICAgICAgICAgICAgICAgICAg dmNwdV9ndWVzdF9jb250ZXh0X2FueV90ICpjdHh0KTsKKy8qKgorICogVGhpcyBmdW5jdGlvbiBp bnRpYWxpemVzIHRoZSB2cGwwMTEgZW11bGF0aW9uIGFuZCByZXR1cm5zCisgKiB0aGUgZXZlbnQg dG8gYmUgdXNlZCBieSB0aGUgYmFja2VuZCBmb3IgY29tbXVuaWNhdGluZyB3aXRoCisgKiB0aGUg ZW11bGF0aW9uIGNvZGUuCisgKgorICogQHBhcm0geGNoIGEgaGFuZGxlIHRvIGFuIG9wZW4gaHlw ZXJ2aXNvciBpbnRlcmZhY2UKKyAqIEBwYXJtIGRvbWlkIHRoZSBkb21haW4gdG8gZ2V0IGluZm9y bWF0aW9uIGZyb20KKyAqIEBwYXJtIGNvbnNvbGVfZG9taWQgdGhlIGRvbWlkIG9mIHRoZSBiYWNr ZW5kIGNvbnNvbGUKKyAqIEBwYXJtIGdmbiB0aGUgZ3Vlc3QgcGZuIHRvIGJlIHVzZWQgYXMgdGhl IHJpbmcgYnVmZmVyCisgKiBAcGFybSBldnRjaG4gdGhlIGV2ZW50IGNoYW5uZWwgdG8gYmUgdXNl ZCBmb3IgZXZlbnRzCisgKiBAcmV0dXJuIDAgb24gc3VjY2VzcywgbmVnYXRpdmUgZXJyb3Igb24g ZmFpbHVyZQorICovCitpbnQgeGNfZG9tX3ZwbDAxMV9pbml0KHhjX2ludGVyZmFjZSAqeGNoLAor ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCwKKyAgICAgICAgICAgICAgICAg ICAgICAgdWludDMyX3QgY29uc29sZV9kb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgeGVu X3Bmbl90IGdmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgZXZ0Y2huX3BvcnRfdCAqZXZ0Y2hu KTsKKworLyoqCisgKiBUaGlzIGZ1bmN0aW9uIGRlLWludGlhbGl6ZXMgdGhlIHZwbDAxMSBlbXVs YXRpb24uCisgKgorICogQHBhcm0geGNoIGEgaGFuZGxlIHRvIGFuIG9wZW4gaHlwZXJ2aXNvciBp bnRlcmZhY2UKKyAqIEBwYXJtIGRvbWlkIHRoZSBkb21haW4gdG8gZ2V0IGluZm9ybWF0aW9uIGZy b20KKyAqLworaW50IHhjX2RvbV92cGwwMTFfZGVpbml0KHhjX2ludGVyZmFjZSAqeGNoLAorICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkKTsKIAogLyoqCiAgKiBUaGlzIGZ1 bmN0aW9uIHJldHVybnMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIFhTQVZFIHN0YXRlIG9mIGEgcGFy dGljdWxhcgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfZG9tYWluLmMgYi90b29scy9saWJ4 Yy94Y19kb21haW4uYwppbmRleCAwMDkwOWFkNC4uZWM0OGI5YiAxMDA2NDQKLS0tIGEvdG9vbHMv bGlieGMveGNfZG9tYWluLmMKKysrIGIvdG9vbHMvbGlieGMveGNfZG9tYWluLmMKQEAgLTM0Myw2 ICszNDMsNDQgQEAgaW50IHhjX2RvbWFpbl9nZXRfZ3Vlc3Rfd2lkdGgoeGNfaW50ZXJmYWNlICp4 Y2gsIHVpbnQzMl90IGRvbWlkLAogICAgIHJldHVybiAwOwogfQogCitpbnQgeGNfZG9tX3ZwbDAx MV9pbml0KHhjX2ludGVyZmFjZSAqeGNoLAorICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf dCBkb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uc29sZV9kb21pZCwK KyAgICAgICAgICAgICAgICAgICAgICAgeGVuX3Bmbl90IGdmbiwKKyAgICAgICAgICAgICAgICAg ICAgICAgZXZ0Y2huX3BvcnRfdCAqZXZ0Y2huKQoreworICAgIERFQ0xBUkVfRE9NQ1RMOworICAg IGludCByYyA9IDA7CisKKyAgICBkb21jdGwuY21kID0gWEVOX0RPTUNUTF92dWFydF9vcDsKKyAg ICBkb21jdGwuZG9tYWluID0gKGRvbWlkX3QpZG9taWQ7CisgICAgZG9tY3RsLnUudnVhcnRfb3Au Y21kID0gWEVOX0RPTUNUTF9WVUFSVF9PUF9JTklUX1ZQTDAxMTsKKyAgICBkb21jdGwudS52dWFy dF9vcC5jb25zb2xlX2RvbWlkID0gY29uc29sZV9kb21pZDsKKyAgICBkb21jdGwudS52dWFydF9v cC5nZm4gPSBnZm47CisKKyAgICBpZiAoIChyYyA9IGRvX2RvbWN0bCh4Y2gsICZkb21jdGwpKSA8 IDAgKQorICAgICAgICByZXR1cm4gcmM7CisKKyAgICAqZXZ0Y2huID0gZG9tY3RsLnUudnVhcnRf b3AuZXZ0Y2huOworCisgICAgcmV0dXJuIHJjOworfQorCitpbnQgeGNfZG9tX3ZwbDAxMV9kZWlu aXQoeGNfaW50ZXJmYWNlICp4Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg ZG9taWQpCit7CisgICAgREVDTEFSRV9ET01DVEw7CisgICAgaW50IHJjID0gMDsKKworICAgIGRv bWN0bC5jbWQgPSBYRU5fRE9NQ1RMX3Z1YXJ0X29wOworICAgIGRvbWN0bC5kb21haW4gPSAoZG9t aWRfdClkb21pZDsKKyAgICBkb21jdGwudS52dWFydF9vcC5jbWQgPSBYRU5fRE9NQ1RMX1ZVQVJU X09QX0RFSU5JVF9WUEwwMTE7CisKKyAgICByYyA9IGRvX2RvbWN0bCh4Y2gsICZkb21jdGwpOwor CisgICAgcmV0dXJuIHJjOworfQorCiBpbnQgeGNfZG9tYWluX2dldGluZm8oeGNfaW50ZXJmYWNl ICp4Y2gsCiAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZmlyc3RfZG9taWQsCiAgICAg ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG1heF9kb21zLApkaWZmIC0tZ2l0IGEvdG9v bHMvbGlieGwvbGlieGxfZG9tLmMgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwppbmRleCA1ZDkx NGE1Li5lNzQ4OWQ5IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9kb20uYworKysgYi90 b29scy9saWJ4bC9saWJ4bF9kb20uYwpAQCAtNjg4LDYgKzY4OCwxNSBAQCBzdGF0aWMgaW50IGxp YnhsX19idWlsZF9kb20obGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCiAgICAgICAgIGdv dG8gb3V0OwogICAgIH0KIAorICAgIGlmICggaW5mby0+dnVhcnQgJiYKKyAgICAgICAgIChyZXQg PSB4Y19kb21fdnBsMDExX2luaXQoQ1RYLT54Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0 ZS0+Y29uc29sZV9kb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9t LT52dWFydF9nZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzdGF0ZS0+ dnVhcnRfcG9ydCkpICE9IDAgKSB7CisgICAgICAgIExPR0UoRVJST1IsICJ4Y19kb21fdnBsMDEx X2luaXQgZmFpbGVkIik7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0KIG91dDoKICAgICByZXR1 cm4gcmV0ICE9IDAgPyBFUlJPUl9GQUlMIDogMDsKIH0KQEAgLTc4OCw2ICs3OTcsNyBAQCBpbnQg bGlieGxfX2J1aWxkX3B2KGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAogICAgIGlmICh4 Y19kb21fdHJhbnNsYXRlZChkb20pKSB7CiAgICAgICAgIHN0YXRlLT5jb25zb2xlX21mbiA9IGRv bS0+Y29uc29sZV9wZm47CiAgICAgICAgIHN0YXRlLT5zdG9yZV9tZm4gPSBkb20tPnhlbnN0b3Jl X3BmbjsKKyAgICAgICAgc3RhdGUtPnZ1YXJ0X2dmbiA9IGRvbS0+dnVhcnRfZ2ZuOwogICAgIH0g ZWxzZSB7CiAgICAgICAgIHN0YXRlLT5jb25zb2xlX21mbiA9IHhjX2RvbV9wMm0oZG9tLCBkb20t PmNvbnNvbGVfcGZuKTsKICAgICAgICAgc3RhdGUtPnN0b3JlX21mbiA9IHhjX2RvbV9wMm0oZG9t LCBkb20tPnhlbnN0b3JlX3Bmbik7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kb21h aW4uYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbWFpbi5jCmluZGV4IDA4ZWNjZDAuLjFkMmM2NWEg MTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbWFpbi5jCisrKyBiL3Rvb2xzL2xpYnhs L2xpYnhsX2RvbWFpbi5jCkBAIC0xMDI4LDYgKzEwMjgsOCBAQCB2b2lkIGxpYnhsX19kZXN0cm95 X2RvbWlkKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2Rlc3Ryb3lfZG9taWRfc3RhdGUgKmRpcykK ICAgICAgICAgZ290byBvdXQ7CiAgICAgfQogCisgICAgeGNfZG9tX3ZwbDAxMV9kZWluaXQoY3R4 LT54Y2gsIGRvbWlkKTsKKwogICAgIGlmIChsaWJ4bF9fZGV2aWNlX3BjaV9kZXN0cm95X2FsbChn YywgZG9taWQpIDwgMCkKICAgICAgICAgTE9HRChFUlJPUiwgZG9taWQsICJQY2kgc2h1dGRvd24g ZmFpbGVkIik7CiAgICAgcmMgPSB4Y19kb21haW5fcGF1c2UoY3R4LT54Y2gsIGRvbWlkKTsKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9kb21jdGwuYyBiL3hlbi9hcmNoL2FybS9kb21jdGwuYwpp bmRleCA5NzFjYWVjLi4xMTcwN2RiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZG9tY3RsLmMK KysrIGIveGVuL2FyY2gvYXJtL2RvbWN0bC5jCkBAIC0xMCw2ICsxMCw3IEBACiAjaW5jbHVkZSA8 eGVuL3NjaGVkLmg+CiAjaW5jbHVkZSA8eGVuL2h5cGVyY2FsbC5oPgogI2luY2x1ZGUgPHhlbi9p b2NhcC5oPgorI2luY2x1ZGUgPHhlbi9ndWVzdF9hY2Nlc3MuaD4KICNpbmNsdWRlIDx4c20veHNt Lmg+CiAjaW5jbHVkZSA8cHVibGljL2RvbWN0bC5oPgogCkBAIC0xMTksNiArMTIwLDMyIEBAIGxv bmcgYXJjaF9kb19kb21jdGwoc3RydWN0IHhlbl9kb21jdGwgKmRvbWN0bCwgc3RydWN0IGRvbWFp biAqZCwKICAgICAgICAgZC0+ZGlzYWJsZV9taWdyYXRlID0gZG9tY3RsLT51LmRpc2FibGVfbWln cmF0ZS5kaXNhYmxlOwogICAgICAgICByZXR1cm4gMDsKIAorICAgIGNhc2UgWEVOX0RPTUNUTF92 dWFydF9vcDoKKyAgICB7CisgICAgICAgIGludCByYzsKKyAgICAgICAgc3RydWN0IHhlbl9kb21j dGxfdnVhcnRfb3AgKnZ1YXJ0X29wID0gJmRvbWN0bC0+dS52dWFydF9vcDsKKworICAgICAgICBz d2l0Y2godnVhcnRfb3AtPmNtZCkKKyAgICAgICAgeworICAgICAgICBjYXNlIFhFTl9ET01DVExf VlVBUlRfT1BfSU5JVF9WUEwwMTE6CisgICAgICAgICAgICByYyA9IGRvbWFpbl92cGwwMTFfaW5p dChkLCB2dWFydF9vcC0+Y29uc29sZV9kb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHZ1YXJ0X29wLT5nZm4sICZ2dWFydF9vcC0+ZXZ0Y2huKTsKKyAgICAgICAgICAg IGlmICggIXJjICkKKyAgICAgICAgICAgICAgICByYyA9IF9fY29weV90b19ndWVzdCh1X2RvbWN0 bCwgZG9tY3RsLCAxKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgWEVOX0RP TUNUTF9WVUFSVF9PUF9ERUlOSVRfVlBMMDExOgorICAgICAgICAgICAgZG9tYWluX3ZwbDAxMV9k ZWluaXQoZCk7CisgICAgICAgICAgICByYyA9IDA7CisgICAgICAgICAgICBicmVhazsKKworICAg ICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmMgPSAtRUlOVkFMOworICAgICAgICAgICAgYnJl YWs7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gcmM7CisgICAgfQogICAgIGRlZmF1bHQ6 CiAgICAgewogICAgICAgICBpbnQgcmM7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMv ZG9tY3RsLmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKaW5kZXggZTZjZjIxMS4uYmZh NTZjYiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oCisrKyBiL3hlbi9p bmNsdWRlL3B1YmxpYy9kb21jdGwuaApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgImdyYW50 X3RhYmxlLmgiCiAjaW5jbHVkZSAiaHZtL3NhdmUuaCIKICNpbmNsdWRlICJtZW1vcnkuaCIKKyNp bmNsdWRlICJldmVudF9jaGFubmVsLmgiCiAKICNkZWZpbmUgWEVOX0RPTUNUTF9JTlRFUkZBQ0Vf VkVSU0lPTiAweDAwMDAwMDBkCiAKQEAgLTExMzgsNiArMTEzOSwxNiBAQCBzdHJ1Y3QgeGVuX2Rv bWN0bF9wc3JfY2F0X29wIHsKICAgICB1aW50MzJfdCB0YXJnZXQ7ICAgIC8qIElOICovCiAgICAg dWludDY0X3QgZGF0YTsgICAgICAvKiBJTi9PVVQgKi8KIH07CisKK3N0cnVjdCB4ZW5fZG9tY3Rs X3Z1YXJ0X29wIHsKKyNkZWZpbmUgWEVOX0RPTUNUTF9WVUFSVF9PUF9JTklUX1ZQTDAxMSAgMAor I2RlZmluZSBYRU5fRE9NQ1RMX1ZVQVJUX09QX0RFSU5JVF9WUEwwMTEgIDEKKyAgICAgICAgdWlu dDMyX3QgY21kOyAgICAgICAgICAgLyogWEVOX0RPTUNUTF9WVUFSVF9PUF8qICovCisgICAgICAg IHVpbnQzMl90IGNvbnNvbGVfZG9taWQ7IC8qIElOICovCisgICAgICAgIHhlbl9wZm5fdCBnZm47 ICAgICAgICAgIC8qIElOICovCisgICAgICAgIGV2dGNobl9wb3J0X3QgZXZ0Y2huOyAgIC8qIE9V VCAqLworfTsKKwogdHlwZWRlZiBzdHJ1Y3QgeGVuX2RvbWN0bF9wc3JfY2F0X29wIHhlbl9kb21j dGxfcHNyX2NhdF9vcF90OwogREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoeGVuX2RvbWN0bF9wc3Jf Y2F0X29wX3QpOwogCkBAIC0xMjE4LDYgKzEyMjksNyBAQCBzdHJ1Y3QgeGVuX2RvbWN0bCB7CiAj ZGVmaW5lIFhFTl9ET01DVExfbW9uaXRvcl9vcCAgICAgICAgICAgICAgICAgICAgNzcKICNkZWZp bmUgWEVOX0RPTUNUTF9wc3JfY2F0X29wICAgICAgICAgICAgICAgICAgICA3OAogI2RlZmluZSBY RU5fRE9NQ1RMX3NvZnRfcmVzZXQgICAgICAgICAgICAgICAgICAgIDc5CisjZGVmaW5lIFhFTl9E T01DVExfdnVhcnRfb3AgICAgICAgICAgICAgICAgICAgICAgODAKICNkZWZpbmUgWEVOX0RPTUNU TF9nZGJzeF9ndWVzdG1lbWlvICAgICAgICAgICAgMTAwMAogI2RlZmluZSBYRU5fRE9NQ1RMX2dk YnN4X3BhdXNldmNwdSAgICAgICAgICAgICAxMDAxCiAjZGVmaW5lIFhFTl9ET01DVExfZ2Ric3hf dW5wYXVzZXZjcHUgICAgICAgICAgIDEwMDIKQEAgLTEyODAsNiArMTI5Miw3IEBAIHN0cnVjdCB4 ZW5fZG9tY3RsIHsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfcHNyX2NtdF9vcCAgICAgICAg cHNyX2NtdF9vcDsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfbW9uaXRvcl9vcCAgICAgICAg bW9uaXRvcl9vcDsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfcHNyX2NhdF9vcCAgICAgICAg cHNyX2NhdF9vcDsKKyAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfdnVhcnRfb3AgICAgICAgICAg dnVhcnRfb3A7CiAgICAgICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBh ZFsxMjhdOwogICAgIH0gdTsKIH07Ci0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVs QGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=