From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [PATCH v4] xSplice v1 design and implementation. Date: Tue, 15 Mar 2016 13:56:22 -0400 Message-ID: <1458064616-23101-1-git-send-email-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aftDb-0000NY-0q for xen-devel@lists.xenproject.org; Tue, 15 Mar 2016 17:57:19 +0000 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, ross.lagerwall@citrix.com, konrad@kernel.org, andrew.cooper3@citrix.com, mpohlack@amazon.de, sasha.levin@oracle.com List-Id: xen-devel@lists.xenproject.org SGV5IQoKQ2hhbmdlbG9nOgp2MzogaHR0cDovL3d3dy5nb3NzYW1lci10aHJlYWRzLmNvbS9saXN0 cy94ZW4vZGV2ZWwvNDE4MjYyCiAgICBhbmQgCiAgICBodHRwOi8vbGlzdHMueGVucHJvamVjdC5v cmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAxNi0wMi9tc2cwNDEwNi5odG1sCiAtIEFjdCBv biBhbGwgcmV2aWV3cy4KIC0gUmVkbyB0aGUgZmxvdyBvZiBwYXRjaGVzCnYyOiBodHRwOi8vbGlz dHMueGVuLm9yZy9hcmNoaXZlcy9odG1sL3hlbi1kZXZlbC8yMDE2LTAxL21zZzAxNTk3Lmh0bWwK IC0gVXBkYXRlZCBjb2RlL2RvY3MvZGVzaWduIHdpdGggcmV2aWV3IGNvbW1lbnRzLgogLSBNYWtl IHhlbiBhbHNvIGhhdmUgYW4gUFRfTk9URQogLSBBZGRlZCBtb3JlIG9mIFJvc3MncyBwYXRjaGVz CiAtIENvbWJpbmVkIGJ1aWxkLWlkIHBhdGNoc2V0IHdpdGggdGhpcy4KKHNpbmNlIHRoZSBSRkMg YW5kIHRoZSBTZWF0dGxlIFhlbiBwcmVzZW50YXRpb24pCiAtIEZpbmlzaGVkIG9mZiBzb21lIG9m IHRoZSB3b3JrIGFyb3VuZCB0aGUgYnVpbGQtaWQuCiAtIFNldHRsZWQgb24gdGhlIHByZWVtcHRp b24gbWVjaGFuaXNtLgogLSBDbGVhbmVkIHRoZSBwYXRjaGVzIGEgbG90IHVwLCBicm9rZSB0aGVt IHVwIHRvIGVhc3kKICAgcmV2aWV3IGZvciBtYWludGFpbmVycy4KdjE6IGh0dHA6Ly9saXN0cy54 ZW5wcm9qZWN0Lm9yZy9hcmNoaXZlcy9odG1sL3hlbi1kZXZlbC8yMDE1LTA5L21zZzAyMTE2Lmh0 bWwKICAtIFB1dCBhbGwgdGhlIGRlc2lnbiBjb21tZW50cyBpbiB0aGUgY29kZQpQcm90b3R5cGU6 IGh0dHA6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9hcmNoaXZlcy9odG1sL3hlbi1kZXZlbC8yMDE1 LTEwL21zZzAyNTk1Lmh0bWwKW1Bvc3RpbmcgYnkgUm9zc10KIC0gVG9vayBhbGwgcmV2aWV3cyBp bnRvIGFjY291bnQuCiAtIFJlZGlkIHRoZSBwYXRjaGVzCgoKKkZsb3cgb2YgcGF0Y2hlcyoKClRo ZSBmaXJzdCBmaXZlIHBhdGNoZXMgYWRkIHRoZSBuZWNjZXNzYXJ5IGNvbXBvbmVudHMgdGhhdCBo YXZlIGJlZW4KcmVxdWVzdGVkIGJ5IEFuZHJldy4gVGhlcmUgYXJlIGFsc28gZm91ciBmaXhlcyBJ J3ZlIGluY2x1ZGVkLgoKSSB3YXMgbm90IHN1cmUgaWYgaXQgbWFkZSBzZW5zZSB0byBzcGxpdCBp dCBvZiBhcyBhIHN0YW5kYWxvbmUKcGF0Y2hzZXQgKHNpbWlsYXIgdG8gaG93IEkgZGlkIGl0IGlu IHYzKSBvciBqdXN0IGluY2x1ZGUgaXQgaW4gdGhpcyBwYXRjaHNldC4KVG8gbWFrZSBpdCBlYXNp ZXIgZm9yIGZvbGtzIHRvIHNlZSB0aGUgd2hvbGUgdGhpbmcgSSd2ZSBqdXN0IGluY2x1ZGVkCnRo ZW0gaW4gdGhpcyBnaWFudCBwYXRjaHNldDoKCiBjb21wYXQveDg2OiBSZW1vdmUgdW5uY2Vzc2Fy eSAjZGVmaW5lLgogbGlieGM6IFJlbW92ZSBkZWFkIGNvZGUgKFhFTlZFUl9jYXBhYmlsaXRpZXMp CiB4c20veGVuX3ZlcnNpb246IEFkZCBYU00gZm9yIHRoZSB4ZW5fdmVyc2lvbiBoeXBlcmNhbGwK IEhZUEVSQ0FMTF92ZXJzaW9uX29wLiBOZXcgaHlwZXJjYWxsIG1pcnJvcmluZyBYRU5WRVJfIGJ1 dCBzYW5lLgogbGlieGMvbGlieGwvcHl0aG9uL3hlbnN0YXQ6IFVzZSBuZXcgWEVOX1ZFUlNJT05f T1AgaHlwZXJjYWxsCiB4ODYvYXJtOiBBZGQgQlVHRlJBTUVfTlIgZGVmaW5lIGFuZCBCVUlMRCBj aGVja3MuCiBhcm0veDg2OiBVc2Ugc3RydWN0IHZpcnR1YWxfcmVnaW9uIHRvIGRvIGJ1Zywgc3lt Ym9sLCBhbmQgKHg4NikgZXhjZXB0aW9uIHRhYmxlcwogdm1hcDogTWFrZSB0aGUgd2hpbGUgbG9v cCBsZXNzIGZpc2h5Lgogdm1hcDogQVNTRVJUIG9uIE5VTEwuCiB2bWFwOiBBZGQgdm1hbGxvY19j YiBhbmQgdmZyZWVfY2IKClNpbmNlIHRoZXkgYXJlIGdlbmVyaWMgYW5kIHRvdWNoIEFSTSBhbmQg eDg2IHRoZXkgaGF2ZSBiZWVuIHRlc3RlZApvbiB4ODYgKGxlZ2FjeSBhbmQgRUZJKSBhbmQgb24g QVJNIChDdWJpZVRydWNrKS4gQWN0dWFsbHkgdGhlIHdob2xlCmJyYW5jaCBoYXMgYmVlbiB0ZXN0 ZWQgb24gdGhvc2UgdGhyZWUgcGxhdGZvcm1zLgoKKldoYXQgaXMgeFNwbGljZT8qCgpBIG1lY2hh bmlzbSB0byBiaW5hcmlseSBwYXRjaCB0aGUgcnVubmluZyBoeXBlcnZpc29yIHdpdGggbmV3Cm9w Y29kZXMgdGhhdCBoYXZlIGNvbWUgYWJvdXQgZHVlIHRvIHByaW1hcmlseSBzZWN1cml0eSB1cGRh dGVzLgoKKldoYXQgd2lsbCB0aGlzIHBhdGNoc2V0IGRvIG9uY2UgSSd2ZSBpdCoKClBhdGNoIHRo ZSBoeXBlcnZpc29yLgoKKldoeSBhcmUgeW91IGVtYWlsaW5nIG1lPyoKClBsZWFzZSBwbGVhc2Ug cmV2aWV3IGFzIG1hbnkgcGF0Y2hlcyBhcyBwb3NzaWJsZS4KCipPSywgd2hhdCBkbyB5b3UgaGF2 ZT8qCgpUaGV5IGFyZSBsb2NhdGVkIGF0IGEgZ2l0IHRyZWU6CiAgZ2l0Oi8veGVuYml0cy54ZW4u b3JnL3Blb3BsZS9rb25yYWR3aWxrL3hlbi5naXQgeHNwbGljZS52NAoKKENvcHlpbmcgZnJvbSBS b3NzJ3MgZW1haWwpOgoKTXVjaCBvZiB0aGUgd29yayBpcyBpbXBsZW1lbnRpbmcgYSBiYXNpYyB2 ZXJzaW9uIG9mIHRoZSBMaW51eCBrZXJuZWwgbW9kdWxlCmxvYWRlci4gVGhlIGNvZGU6CiogTG9h ZGluZyBvZiB4U3BsaWNlIEVMRiBwYXlsb2Fkcy4KKiBDb3B5aW5nIGFsbG9jYXRlZCBzZWN0aW9u cyBpbnRvIGEgbmV3IGV4ZWN1dGFibGUgcmVnaW9uIG9mIG1lbW9yeS4KKiBSZXNvbHZpbmcgc3lt Ym9scy4KKiBBcHBseWluZyByZWxvY2F0aW9ucy4KKiBQYXRjaGluZyBvZiBhbHRpbnN0cnVjdGlv bnMuCiogU3BlY2lhbCBoYW5kbGluZyBvZiBidWcgZnJhbWVzIGFuZCBleGNlcHRpb24gdGFibGVz LgoqIFVubG9hZGluZyBvZiB4U3BsaWNlIEVMRiBwYXlsb2Fkcy4KKiBDb21waWxpbmcgYSBzYW1w bGUgeFNwbGljZSBFTEYgcGF5bG9hZAoqIFJlc29sdmluZyBzeW1ib2xzCiogVXNpbmcgYnVpbGQt aWQgZGVwZW5kZW5jaWVzCiogU3VwcG9ydCBmb3Igc2hhZG93IHZhcmlhYmxlIGZyYW1ld29yawoq IFN1cHBvcnQgZm9yIGV4ZWN1dGluZyBFTEYgcGF5bG9hZCBmdW5jdGlvbnMgb24gbG9hZC91bmxv YWQuCgpUaGUgb3RoZXIgbWFpbiBiaXQgb2YgdGhpcyB3b3JrIGlzIGFwcGx5aW5nIGFuZCByZXZl cnRpbmcgdGhlIHBhdGNoZXMgc2FmZWx5LgpBcyBpbXBsZW1lbnRlZCwgdGhlIGNvZGUgaXMgcGF0 Y2hlZCB3aXRoIGVhY2ggQ1BVIHdhaXRpbmcgaW4gdGhlCnJldHVybi10by1ndWVzdCBwYXRoIChp LmUuIHdpdGggbm8gc3RhY2spIG9yIG9uIHRoZSBjcHUtaWRsZSBwYXRoCndoaWNoIGFwcGVhcnMg dG8gYmUgdGhlIHNhZmVzdCB3YXkgb2YgcGF0Y2hpbmcuIFdoaWxlIGl0IGlzIHNhZmUgd2Ugc2hv dWxkCnN0aWxsIChpbiB0aGUgbmV4dCB3YXZlIG9mIHBhdGNoZXMpIHRvIHZlcmlmeSB0byBub3Qg cGF0Y2ggY2V0YWluIGNyaXRpY2FsCnNlY3Rpb25zIChzYXkgdGhlIGNvZGUgZG9pbmcgdGhlIHBh dGNoaW5nKQoKQWxsIG9mIHRoZSBmb2xsb3dpbmcgc2hvdWxkIHdvcms6CiogQXBwbHlpbmcgcGF0 Y2hlcyBzYWZlbHkuCiogUmV2ZXJ0aW5nIHBhdGNoZXMgc2FmZWx5LgoqIFJlcGxhY2luZyBwYXRj aGVzIHNhZmVseSAoZS5nLiByZXZlcnRpbmcgYW55IGFwcGxpZWQgcGF0Y2hlcyBhbmQgYXBwbHlp bmcKICAgYSBuZXcgcGF0Y2gpLgoqIEJ1ZyBmcmFtZXMgYXMgcGFydCBvZiBtb2R1bGVzLiBUaGlz IG1lYW5zIGFkZGluZyBvcgogIGNoYW5naW5nIFdBUk4sIEFTU0VSVCwgQlVHLCBhbmQgcnVuX2lu X2V4Y2VwdGlvbl9oYW5kbGVyIHdvcmtzIGNvcnJlY3RseS4KICBMaW5lIG51bWJlciBvbmx5IGNo YW5nZXMgX2FyZSBpZ25vcmVkXy4KKiBFeGNlcHRpb24gdGFibGVzIGFzIHBhcnQgb2YgbW9kdWxl cy4gRS5nLiB3cm1zcl9zYWZlIGFuZCBjb3B5X3RvX3VzZXIgd29yawogIGNvcnJlY3RseSB3aGVu IHVzZWQgaW4gYSBwYXRjaCBtb2R1bGUuCiogU3RhY2tpbmcgb2YgcGF0Y2hlcyBvbiB0b3Agb2Yg ZWFjaCBvdGhlcgoqIFJlc29sdmluZyBzeW1ib2xzIChldmVuIG9mIHBhdGNoZXMpCgoqTGltaXRh dGlvbnMqCgpUaGUgYWJvdmUgaXMgZW5vdWdoIHRvIGZ1bGx5IGltcGxlbWVudCBhbiB1cGRhdGUg c3lzdGVtIHdoZXJlIG11bHRpcGxlIHNvdXJjZQpwYXRjaGVzIGFyZSBjb21iaW5lZCAodXNpbmcg Y29tYmluZWRpZmYpIGFuZCBidWlsdCBpbnRvIGEgc2luZ2xlIGJpbmFyeQp3aGljaCB0aGVuIGF0 b21pY2FsbHkgcmVwbGFjZXMgYW55IGV4aXN0aW5nIGxvYWRlZCBwYXRjaGVzCih0aGlzIGlzIHdo eSBSb3NzIGFkZGVkIGEgUkVQTEFDRSBvcGVyYXRpb24pLiBUaGlzIGlzIHRoZSBhcHByb2FjaCB1 c2VkCmJ5IGtQYXRjaCBhbmQga0dyYWZ0LgoKTXVsdGlwbGUgY29tcGxldGVseSBpbmRlcGVuZGVu dCBwYXRjaGVzIGNhbiBhbHNvIGJlIGxvYWRlZCBidXQgdW5leHBlY3RlZAppbnRlcmFjdGlvbnMg bWF5IG9jY3VyLgoKQXMgaXQgc3RhbmRzLCB0aGUgcGF0Y2hlcyBhcmUgc3RhdGljYWxseSBsaW5r ZWQgd2hpY2ggbWVhbnMgdGhhdCBpbmRlcGVuZGVudApwYXRjaGVzIGNhbm5vdCBiZSBsaW5rZWQg YWdhaW5zdCBvbmUgYW5vdGhlciAoZS5nLiBpZiBvbmUgaW50cm9kdWNlcyBhCm5ldyBzeW1ib2wp LiBVc2luZyB0aGUgY29tYmluZWRpZmYgYXBwcm9hY2ggYWJvdmUgZml4ZXMgdGhpcy4KCkJhY2t0 cmFjZXMgY29udGFpbmluZyBmdW5jdGlvbnMgZnJvbSBhIHBhdGNoIG1vZHVsZSBkbyBub3Qgc2hv dyB0aGUgc3ltYm9sIG5hbWUuCgpUaGVyZSBpcyBubyBjaGVja2luZyB0aGF0IGEgcGF0Y2ggd2hp Y2ggaXMgbG9hZGVkIGlzIGJ1aWx0IGZvciB0aGUKY29ycmVjdCBoeXBlcnZpc29yIChuZWVkIHRv IHVzZSBidWlsZC1pZCkuCgpCaW5hcnkgcGF0Y2hpbmcgd29ya3MgYXQgdGhlIGZ1bmN0aW9uIGxl dmVsLgoKKlRlc3RpbmcqCgpZb3UgY2FuIHVzZSB0aGUgZXhhbXBsZSBjb2RlIGluY2x1ZGVkIGlu IHRoaXMgcGF0Y2hzZXQ6CgojIHhsIGluZm8gfCBncmVwIGV4dHJhCnhlbl9leHRyYSAgICAgICAg ICAgICAgOiAtdW5zdGFibGUKIyB4ZW4teHNwbGljZSBsb2FkIC91c3IvbGliL2RlYnVnL3hlbl9o ZWxsb193b3JsZC54c3BsaWNlClVwbG9hZGluZyAvdXNyL2xpYi9kZWJ1Zy94ZW5faGVsbG9fd29y bGQueHNwbGljZSAoMjA3MSBieXRlcykKUGVyZm9ybWluZyBjaGVjazogY29tcGxldGVkClBlcmZv cm1pbmcgYXBwbHk6LiBjb21wbGV0ZWQKIyB4bCBpbmZvIHwgZ3JlcCBleHRyYQp4ZW5fZXh0cmEg ICAgICAgICAgICAgIDogSGVsbG8gV29ybGQKIyB4ZW4teHNwbGljZSByZXZlcnQgeGVuX2hlbGxv X3dvcmxkClBlcmZvcm1pbmcgcmV2ZXJ0Oi4gY29tcGxldGVkCiMgeGVuLXhzcGxpY2UgdW5sb2Fk IHhlbl9oZWxsb193b3JsZApQZXJmb3JtaW5nIHVubG9hZDogY29tcGxldGVkCiMgeGwgaW5mbyB8 IGdyZXAgZXh0cmEKeGVuX2V4dHJhICAgICAgICAgICAgICA6IC11bnN0YWJsZQoKT3IgeW91IGNh biB1c2UgZ2l0Oi8veGVuYml0cy54ZW4ub3JnL3Blb3BsZS9rb25yYWR3aWxrL3hzcGxpY2UtYnVp bGQtdG9vbHMuZ2l0CndoaWNoIGdlbmVyYXRlcyB0aGUgRUxGIHBheWxvYWRzLgoKVGhpcyBsaW5r IGhhcyBhIG5pY2UgZGVzY3JpcHRpb24gb2YgaG93IHRvIHVzZSB0aGUgdG9vbDoKaHR0cDovL2xp c3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMTUtMTAvbXNnMDI1 OTUuaHRtbAoKCiAuZ2l0aWdub3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgIDMgKwogQ29uZmlnLm1rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg IDEyICsKIE1BSU5UQUlORVJTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAx MCArCiBkb2NzL21pc2MveHNwbGljZS5tYXJrZG93biAgICAgICAgICAgICAgICAgICB8IDExMTUg KysrKysrKysrKysrKysrKysrKwogdG9vbHMvZmxhc2svcG9saWN5L3BvbGljeS9tb2R1bGVzL3hl bi94ZW4udGUgfCAgIDIxICsKIHRvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oICAgICAgICAg ICAgICAgIHwgICA4NiArLQogdG9vbHMvbGlieGMveGNfY29yZS5jICAgICAgICAgICAgICAgICAg ICAgICAgfCAgIDM1ICstCiB0b29scy9saWJ4Yy94Y19kb21fYm9vdC5jICAgICAgICAgICAgICAg ICAgICB8ICAgMTIgKy0KIHRvb2xzL2xpYnhjL3hjX2RvbV94ODYuYyAgICAgICAgICAgICAgICAg ICAgIHwgICAgNyAtCiB0b29scy9saWJ4Yy94Y19kb21haW4uYyAgICAgICAgICAgICAgICAgICAg ICB8ICAgIDMgKy0KIHRvb2xzL2xpYnhjL3hjX21pc2MuYyAgICAgICAgICAgICAgICAgICAgICAg IHwgIDMzNyArKysrKysKIHRvb2xzL2xpYnhjL3hjX3ByaXZhdGUuYyAgICAgICAgICAgICAgICAg ICAgIHwgICA1MyArLQogdG9vbHMvbGlieGMveGNfcHJpdmF0ZS5oICAgICAgICAgICAgICAgICAg ICAgfCAgICA3ICstCiB0b29scy9saWJ4Yy94Y19yZXN1bWUuYyAgICAgICAgICAgICAgICAgICAg ICB8ICAgIDMgKy0KIHRvb2xzL2xpYnhjL3hjX3NyX3NhdmUuYyAgICAgICAgICAgICAgICAgICAg IHwgICAgOSArLQogdG9vbHMvbGlieGMveGdfc2F2ZV9yZXN0b3JlLmggICAgICAgICAgICAgICAg fCAgICA2ICstCiB0b29scy9saWJ4bC9saWJ4bC5jICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgOTQgKy0KIHRvb2xzL2xpYnhsL2xpYnhsLmggICAgICAgICAgICAgICAgICAgICAgICAgIHwg ICAgNSArCiB0b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgICAgICAgICAgICAgICAgICB8ICAg IDEgKwogdG9vbHMvbGlieGwveGxfY21kaW1wbC5jICAgICAgICAgICAgICAgICAgICAgfCAgICAx ICsKIHRvb2xzL21pc2MvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNCAr CiB0b29scy9taXNjL3hlbi14c3BsaWNlLmMgICAgICAgICAgICAgICAgICAgICB8ICA0NjMgKysr KysrKysKIHRvb2xzL29jYW1sL2xpYnMveGMveGVuY3RybF9zdHVicy5jICAgICAgICAgIHwgICAz OSArLQogdG9vbHMvcHl0aG9uL3hlbi9sb3dsZXZlbC94Yy94Yy5jICAgICAgICAgICAgfCAgIDMw ICstCiB0b29scy94ZW5zdGF0L2xpYnhlbnN0YXQvc3JjL3hlbnN0YXQuYyAgICAgICB8ICAgMTIg Ky0KIHRvb2xzL3hlbnRyYWNlL3hlbmN0eC5jICAgICAgICAgICAgICAgICAgICAgIHwgICAgMyAr LQogeGVuL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICsK IHhlbi9hcmNoL2FybS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNyArLQog eGVuL2FyY2gvYXJtL3RyYXBzLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQ2ICstCiB4 ZW4vYXJjaC9hcm0veGVuLmxkcy5TICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjAgKy0KIHhl bi9hcmNoL2FybS94c3BsaWNlLmMgICAgICAgICAgICAgICAgICAgICAgIHwgICA3NiArKwogeGVu L2FyY2gveDg2L01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQ1ICstCiB4ZW4v YXJjaC94ODYvYWx0ZXJuYXRpdmUuYyAgICAgICAgICAgICAgICAgICB8ICAgMjAgKy0KIHhlbi9h cmNoL3g4Ni9ib290L21rZWxmMzIuYyAgICAgICAgICAgICAgICAgIHwgIDEzNyArKy0KIHhlbi9h cmNoL3g4Ni9kb21haW4uYyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNCArCiB4ZW4vYXJj aC94ODYvZXh0YWJsZS5jICAgICAgICAgICAgICAgICAgICAgICB8ICAgNDQgKy0KIHhlbi9hcmNo L3g4Ni9odm0vaHZtLmMgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiB4ZW4vYXJjaC94 ODYvaHZtL3N2bS9zdm0uYyAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwogeGVuL2FyY2gveDg2 L2h2bS92bXgvdm1jcy5jICAgICAgICAgICAgICAgICAgfCAgICAyICsKIHhlbi9hcmNoL3g4Ni9z ZXR1cC5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMCArLQogeGVuL2FyY2gveDg2L3Rl c3QvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgfCAgIDg3ICsrCiB4ZW4vYXJjaC94ODYvdGVz dC94ZW5fYnllX3dvcmxkLmMgICAgICAgICAgICB8ICAgMzUgKwogeGVuL2FyY2gveDg2L3Rlc3Qv eGVuX2J5ZV93b3JsZF9mdW5jLmMgICAgICAgfCAgIDI1ICsKIHhlbi9hcmNoL3g4Ni90ZXN0L3hl bl9oZWxsb193b3JsZC5jICAgICAgICAgIHwgICA1NCArCiB4ZW4vYXJjaC94ODYvdGVzdC94ZW5f aGVsbG9fd29ybGRfZnVuYy5jICAgICB8ICAgMjYgKwogeGVuL2FyY2gveDg2L3Rlc3QveGVuX3Jl cGxhY2Vfd29ybGQuYyAgICAgICAgfCAgIDM1ICsKIHhlbi9hcmNoL3g4Ni90ZXN0L3hlbl9yZXBs YWNlX3dvcmxkX2Z1bmMuYyAgIHwgICAyNSArCiB4ZW4vYXJjaC94ODYvdHJhcHMuYyAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgNTEgKy0KIHhlbi9hcmNoL3g4Ni94ODZfNjQvY29tcGF0L2Vu dHJ5LlMgICAgICAgICAgIHwgICAgMiArCiB4ZW4vYXJjaC94ODYveDg2XzY0L2VudHJ5LlMgICAg ICAgICAgICAgICAgICB8ICAgIDIgKwogeGVuL2FyY2gveDg2L3hlbi5sZHMuUyAgICAgICAgICAg ICAgICAgICAgICAgfCAgIDIzICsKIHhlbi9hcmNoL3g4Ni94c3BsaWNlLmMgICAgICAgICAgICAg ICAgICAgICAgIHwgIDI5NSArKysrKwogeGVuL2NvbW1vbi9LY29uZmlnICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgIDE2ICsKIHhlbi9jb21tb24vTWFrZWZpbGUgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAgNCArCiB4ZW4vY29tbW9uL2J1Z19leF9zeW1ib2xzLmMgICAgICAgICAg ICAgICAgICB8ICAxMTkgKysrCiB4ZW4vY29tbW9uL2NvbXBhdC9rZXJuZWwuYyAgICAgICAgICAg ICAgICAgICB8ICAgIDQgKy0KIHhlbi9jb21tb24va2VybmVsLmMgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDMyOCArKysrKy0KIHhlbi9jb21tb24vc3ltYm9scy5jICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICA2MiArLQogeGVuL2NvbW1vbi9zeXNjdGwuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgICA3ICsKIHhlbi9jb21tb24vdmVyc2lvbi5jICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICA4MiArKwogeGVuL2NvbW1vbi92bWFwLmMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgIDQ1ICstCiB4ZW4vY29tbW9uL3ZzcHJpbnRmLmMgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgMTUgKy0KIHhlbi9jb21tb24veHNwbGljZS5jICAgICAgICAgICAgICAgICAgICAg ICAgIHwgMTQ3NiArKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2NvbW1vbi94c3BsaWNl X2VsZi5jICAgICAgICAgICAgICAgICAgICAgfCAgMzg1ICsrKysrKysKIHhlbi9jb21tb24veHNw bGljZV9zaGFkb3cuYyAgICAgICAgICAgICAgICAgIHwgIDEwOSArKwogeGVuL2luY2x1ZGUvYXNt LWFybS9idWcuaCAgICAgICAgICAgICAgICAgICAgfCAgICAyICsKIHhlbi9pbmNsdWRlL2FzbS1h cm0vbm1pLmggICAgICAgICAgICAgICAgICAgIHwgICAxMyArCiB4ZW4vaW5jbHVkZS9hc20teDg2 L2FsdGVybmF0aXZlLmggICAgICAgICAgICB8ICAgIDYgKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9i dWcuaCAgICAgICAgICAgICAgICAgICAgfCAgICAzICstCiB4ZW4vaW5jbHVkZS9hc20teDg2L3Vh Y2Nlc3MuaCAgICAgICAgICAgICAgICB8ICAgIDUgKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni94ODZf NjQvcGFnZS5oICAgICAgICAgICAgfCAgICAyICsKIHhlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLWFy bS5oICAgICAgICAgICAgICAgIHwgICAgMyArCiB4ZW4vaW5jbHVkZS9wdWJsaWMvc3lzY3RsLmgg ICAgICAgICAgICAgICAgICB8ICAxNjkgKysrCiB4ZW4vaW5jbHVkZS9wdWJsaWMvdmVyc2lvbi5o ICAgICAgICAgICAgICAgICB8ICAgNzUgKy0KIHhlbi9pbmNsdWRlL3B1YmxpYy94ZW4uaCAgICAg ICAgICAgICAgICAgICAgIHwgICAgMSArCiB4ZW4vaW5jbHVkZS94ZW4vYnVnX2V4X3N5bWJvbHMu aCAgICAgICAgICAgICB8ICAgNzQgKysKIHhlbi9pbmNsdWRlL3hlbi9oeXBlcmNhbGwuaCAgICAg ICAgICAgICAgICAgIHwgICAgNCArCiB4ZW4vaW5jbHVkZS94ZW4va2VybmVsLmggICAgICAgICAg ICAgICAgICAgICB8ICAgIDIgKwogeGVuL2luY2x1ZGUveGVuL3N5bWJvbHMuaCAgICAgICAgICAg ICAgICAgICAgfCAgIDExICsKIHhlbi9pbmNsdWRlL3hlbi92ZXJzaW9uLmggICAgICAgICAgICAg ICAgICAgIHwgICAgNiArCiB4ZW4vaW5jbHVkZS94ZW4vdm1hcC5oICAgICAgICAgICAgICAgICAg ICAgICB8ICAgMTQgKwogeGVuL2luY2x1ZGUveGVuL3hzcGxpY2UuaCAgICAgICAgICAgICAgICAg ICAgfCAgMTI5ICsrKwogeGVuL2luY2x1ZGUveGVuL3hzcGxpY2VfZWxmLmggICAgICAgICAgICAg ICAgfCAgIDU2ICsKIHhlbi9pbmNsdWRlL3hlbi94c3BsaWNlX3BhdGNoLmggICAgICAgICAgICAg IHwgICA5NSArKwogeGVuL2luY2x1ZGUveHNtL2R1bW15LmggICAgICAgICAgICAgICAgICAgICAg fCAgIDQxICsKIHhlbi9pbmNsdWRlL3hzbS94c20uaCAgICAgICAgICAgICAgICAgICAgICAgIHwg ICAxMiArCiB4ZW4veHNtL2R1bW15LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg IDIgKwogeGVuL3hzbS9mbGFzay9ob29rcy5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDkx ICsrCiB4ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycyAgICAgICAgICB8ICAgNTIg KwogeGVuL3hzbS9mbGFzay9wb2xpY3kvc2VjdXJpdHlfY2xhc3NlcyAgICAgICAgfCAgICAxICsK IDkwIGZpbGVzIGNoYW5nZWQsIDY2NjEgaW5zZXJ0aW9ucygrKSwgMzA3IGRlbGV0aW9ucygtKQoK S29ucmFkIFJ6ZXN6dXRlayBXaWxrICgyNCk6CiAgICAgIGNvbXBhdC94ODY6IFJlbW92ZSB1bm5j ZXNzYXJ5ICNkZWZpbmUuCiAgICAgIGxpYnhjOiBSZW1vdmUgZGVhZCBjb2RlIChYRU5WRVJfY2Fw YWJpbGl0aWVzKQogICAgICB4c20veGVuX3ZlcnNpb246IEFkZCBYU00gZm9yIHRoZSB4ZW5fdmVy c2lvbiBoeXBlcmNhbGwKICAgICAgSFlQRVJDQUxMX3ZlcnNpb25fb3AuIE5ldyBoeXBlcmNhbGwg bWlycm9yaW5nIFhFTlZFUl8gYnV0IHNhbmUuCiAgICAgIGxpYnhjL2xpYnhsL3B5dGhvbi94ZW5z dGF0OiBVc2UgbmV3IFhFTl9WRVJTSU9OX09QIGh5cGVyY2FsbAogICAgICB4ODYvYXJtOiBBZGQg QlVHRlJBTUVfTlIgZGVmaW5lIGFuZCBCVUlMRCBjaGVja3MuCiAgICAgIGFybS94ODY6IFVzZSBz dHJ1Y3QgdmlydHVhbF9yZWdpb24gdG8gZG8gYnVnLCBzeW1ib2wsIGFuZCAoeDg2KSBleGNlcHRp b24gdGFibGVzCiAgICAgIHZtYXA6IE1ha2UgdGhlIHdoaWxlIGxvb3AgbGVzcyBmaXNoeS4KICAg ICAgdm1hcDogQVNTRVJUIG9uIE5VTEwuCiAgICAgIHZtYXA6IEFkZCB2bWFsbG9jX2NiIGFuZCB2 ZnJlZV9jYgogICAgICB4c3BsaWNlOiBEZXNpZ24gZG9jdW1lbnQKICAgICAgeGVuL3hzcGxpY2U6 IEh5cGVydmlzb3IgaW1wbGVtZW50YXRpb24gb2YgWEVOX1hTUExJQ0Vfb3AKICAgICAgbGlieGM6 IEltcGxlbWVudGF0aW9uIG9mIFhFTl9YU1BMSUNFX29wIGluIGxpYnhjCiAgICAgIHhlbi14c3Bs aWNlOiBUb29sIHRvIG1hbmlwdWxhdGUgeHNwbGljZSBwYXlsb2FkcwogICAgICB4ODYveGVuX2hl bGxvX3dvcmxkLnhzcGxpY2U6IFRlc3QgcGF5bG9hZCBmb3IgcGF0Y2hpbmcgJ3hlbl9leHRyYV92 ZXJzaW9uJy4KICAgICAgeHNwbGljZSxzeW1ib2xzOiBJbXBsZW1lbnQgc3ltYm9sIG5hbWUgcmVz b2x1dGlvbiBvbiBhZGRyZXNzLgogICAgICBidWlsZF9pZDogUHJvdmlkZSBsZC1lbWJlZGRlZCBi dWlsZC1pZHMKICAgICAgSFlQRVJDQUxMX3ZlcnNpb25fb3A6IEFkZCBWRVJTSU9OX09QX2J1aWxk X2lkIHRvIHJldHJpZXZlIGJ1aWxkLWlkLgogICAgICBsaWJ4bDogaW5mbzogRGlzcGxheSBidWls ZF9pZCBvZiB0aGUgaHlwZXJ2aXNvciB1c2luZyBYRU5fVkVSU0lPTl9PUF9idWlsZF9pZAogICAg ICB4c3BsaWNlOiBQcmludCBidWlsZF9pZCBpbiBrZXloYW5kbGVyIGFuZCBvbiBib290dXAuCiAg ICAgIHhzcGxpY2U6IFN0YWNraW5nIGJ1aWxkLWlkIGRlcGVuZGVuY3kgY2hlY2tpbmcuCiAgICAg IHhzcGxpY2UveGVuX3JlcGxhY2Vfd29ybGQ6IFRlc3QtY2FzZSBmb3IgWFNQTElDRV9BQ1RJT05f UkVQTEFDRQogICAgICB4c3BsaWNlOiBQcmludCBkZXBlbmRlbmN5IGFuZCBwYXlsb2FkcyBidWls ZF9pZCBpbiB0aGUga2V5aGFuZGxlci4KICAgICAgTUFJTlRBSU5FUlMveHNwbGljZTogQWRkIG15 c2VsZiBhbmQgUm9zcyBhcyB0aGUgbWFpbnRhaW5lcnMuCgpSb3NzIExhZ2Vyd2FsbCAoMTApOgog ICAgICB4c3BsaWNlOiBBZGQgaGVscGVyIGVsZiByb3V0aW5lcwogICAgICB4c3BsaWNlOiBJbXBs ZW1lbnQgcGF5bG9hZCBsb2FkaW5nCiAgICAgIHhzcGxpY2U6IEltcGxlbWVudCBzdXBwb3J0IGZv ciBhcHBseWluZy9yZXZlcnRpbmcvcmVwbGFjaW5nIHBhdGNoZXMuCiAgICAgIHg4NiwgeHNwbGlj ZTogUHJpbnQgcGF5bG9hZCdzIHN5bWJvbCBuYW1lIGFuZCBwYXlsb2FkIG5hbWUgaW4gYmFja3Ry YWNlcwogICAgICB4c3BsaWNlOiBBZGQgLnhzcGxpY2UuaG9va3MgZnVuY3Rpb25zIGFuZCB0ZXN0 LWNhc2UKICAgICAgeHNwbGljZTogQWRkIHN1cHBvcnQgZm9yIGJ1ZyBmcmFtZXMuCiAgICAgIHhz cGxpY2U6IEFkZCBzdXBwb3J0IGZvciBleGNlcHRpb24gdGFibGVzLgogICAgICB4c3BsaWNlOiBB ZGQgc3VwcG9ydCBmb3IgYWx0ZXJuYXRpdmVzCiAgICAgIHhzcGxpY2U6IFByZXZlbnQgZHVwbGlj YXRlIHBheWxvYWRzIHRvIGJlIGxvYWRlZC4KICAgICAgeHNwbGljZTogQWRkIHN1cHBvcnQgZm9y IHNoYWRvdyB2YXJpYWJsZXMuCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9y ZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK