From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Kiper Subject: =?utf-8?q?=5BPATCH_v6_13/15=5D_x86=3A_make_Xen_early_?= =?utf-8?q?boot_code_relocatable?= Date: Mon, 12 Sep 2016 22:18:28 +0200 Message-ID: <1473711511-11931-14-git-send-email-daniel.kiper@oracle.com> References: <1473711511-11931-1-git-send-email-daniel.kiper@oracle.com> 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 1bjXjq-0006UR-5t for xen-devel@lists.xenproject.org; Mon, 12 Sep 2016 20:21:58 +0000 In-Reply-To: <1473711511-11931-1-git-send-email-daniel.kiper@oracle.com> 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: jgross@suse.com, sstabellini@kernel.org, andrew.cooper3@citrix.com, cardoe@cardoe.com, pgnet.dev@gmail.com, ning.sun@intel.com, david.vrabel@citrix.com, jbeulich@suse.com, qiaowei.ren@intel.com, gang.wei@intel.com, fu.wei@linaro.org List-Id: xen-devel@lists.xenproject.org RXZlcnkgbXVsdGlib290IHByb3RvY29sIChyZWdhcmRsZXNzIG9mIHZlcnNpb24pIGNvbXBhdGli bGUgaW1hZ2UgbXVzdApzcGVjaWZ5IGl0cyBsb2FkIGFkZHJlc3MgKGluIEVMRiBvciBtdWx0aWJv b3QgaGVhZGVyKS4gTXVsdGlib290IHByb3RvY29sCmNvbXBhdGlibGUgbG9hZGVyIGhhdmUgdG8g bG9hZCBpbWFnZSBhdCBzcGVjaWZpZWQgYWRkcmVzcy4gSG93ZXZlciwgdGhlcmUKaXMgbm8gZ3Vh cmFudGVlIHRoYXQgdGhlIHJlcXVlc3RlZCBtZW1vcnkgcmVnaW9uIChpbiBjYXNlIG9mIFhlbiBp dCBzdGFydHMKYXQgMiBNaUIgYW5kIGVuZHMgYXQgfjUgTWlCKSB3aGVyZSBpbWFnZSBzaG91bGQg YmUgbG9hZGVkIGluaXRpYWxseSBpcyBhIFJBTQphbmQgaXQgaXMgZnJlZSAobGVnYWN5IEJJT1Mg cGxhdGZvcm1zIGFyZSBtZXJjaWZ1bCBmb3IgWGVuIGJ1dCBJIGZvdW5kIGF0CmxlYXN0IG9uZSBF RkkgcGxhdGZvcm0gb24gd2hpY2ggWGVuIGxvYWQgYWRkcmVzcyBjb25mbGljdHMgd2l0aCBFRkkg Ym9vdApzZXJ2aWNlczsgaXQgaXMgRGVsbCBQb3dlckVkZ2UgUjgyMCB3aXRoIGxhdGVzdCBmaXJt d2FyZSkuIFRvIGNvcGUgd2l0aCB0aGF0CnByb2JsZW0gd2UgbXVzdCBtYWtlIFhlbiBlYXJseSBi b290IGNvZGUgcmVsb2NhdGFibGUgYW5kIGhlbHAgYm9vdCBsb2FkZXIgdG8KcmVsb2NhdGUgaW1h Z2UgaW4gcHJvcGVyIHdheSBieSBzdWdnZXN0aW5nLCBub3QgcmVxdWVzdGluZyBzcGVjaWZpYyBs b2FkCmFkZHJlc3NlcyBhcyBpdCBpcyByaWdodCBub3csIGFsbG93ZWQgYWRkcmVzcyByYW5nZXMu IFRoaXMgcGF0Y2ggZG9lcyBmb3JtZXIuCkl0IGRvZXMgbm90IGFkZCBtdWx0aWJvb3QyIHByb3Rv Y29sIGludGVyZmFjZSB3aGljaCBpcyBkb25lIGluICJ4ODY6IGFkZAptdWx0aWJvb3QyIHByb3Rv Y29sIHN1cHBvcnQgZm9yIHJlbG9jYXRhYmxlIGltYWdlcyIgcGF0Y2guCgpUaGlzIHBhdGNoIGNo YW5nZXMgZm9sbG93aW5nIHRoaW5nczoKICAtICVlc2kgYW5kICVyMTVkIHJlZ2lzdGVycyBhcmUg dXNlZCBhcyBhIHN0b3JhZ2UgZm9yIFhlbiBpbWFnZSBsb2FkIGJhc2UKICAgIGFkZHJlc3MgKCVy MTVkIHNob3J0bHkgYmVjYXVzZSAlcnNpIGlzIHVzZWQgZm9yIEVGSSBTeXN0ZW1UYWJsZSBhZGRy ZXNzCiAgICBpbiA2NC1iaXQgY29kZSk7IGJvdGggcmVnaXN0ZXJzIGFyZSAoJWVzaSBpcyBtb3N0 bHkpIHVudXNlZCBpbiBlYXJseQogICAgYm9vdCBjb2RlIGFuZCBwcmVzZXJ2ZWQgZHVyaW5nIEMg ZnVuY3Rpb25zIGNhbGxzICglZXNpIGluIDMyLWJpdCBjb2RlCiAgICBhbmQgJXIxNWQgaW4gNjQt Yml0IGNvZGUpLAogIC0gJWZzIGlzIHVzZWQgYXMgYmFzZSBmb3IgWGVuIGRhdGEgcmVsYXRpdmUg YWRkcmVzc2luZyBpbiAzMi1iaXQgY29kZQogICAgaWYgaXQgaXMgcG9zc2libGU7ICVlc2kgaXMg dXNlZCBmb3IgdGhhdCB0aGluZyBkdXJpbmcgZXJyb3IgcHJpbnRpbmcKICAgIGJlY2F1c2UgaXQg aXMgbm90IGFsd2F5cyBwb3NzaWJsZSB0byBwcm9wZXJseSBhbmQgZWZmaWNpZW50bHkKICAgIGlu aXRpYWxpemUgJWZzLgoKU2lnbmVkLW9mZi1ieTogRGFuaWVsIEtpcGVyIDxkYW5pZWwua2lwZXJA b3JhY2xlLmNvbT4KLS0tCnY2IC0gc3VnZ2VzdGlvbnMvZml4ZXM6CiAgIC0gbGVhdmUgc3RhdGlj IG1hcHBpbmcgb2YgZmlyc3QKICAgICAxNiBNaUIgaW4gbDJfaWRlbnRtYXAgYXMgaXMKICAgICAo c3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKSwKICAgLSB1c2UgeGVuX3BoeXNfc3RhcnQgaW5zdGVh ZCBvZiB4ZW5faW1nX2xvYWRfYmFzZV9hZGRyCiAgICAgKHN1Z2dlc3RlZCBieSBEYW5pZWwgS2lw ZXIgYW5kIEphbiBCZXVsaWNoKSwKICAgLSBzaW1wbGlmeSBCT09UX0ZTIHNlZ21lbnQgZGVzY3Jp cHRvcgogICAgIGJhc2UgYWRkcmVzcyBpbml0aWFsaXphdGlvbgogICAgIChzdWdnZXN0ZWQgYnkg SmFuIEJldWxpY2gpLAogICAtIGZpeCBCT09UX0ZTIHNlZ21lbnQgbGltaXQKICAgICAoc3VnZ2Vz dGVkIGJ5IEphbiBCZXVsaWNoKSwKICAgLSBkbyBub3QgcmVuYW1lIHN5bV9waHlzIGluIHRoaXMg cGF0Y2gKICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKSwKICAgLSByZW5hbWUgZXNpX29m ZnNldC9mc19vZmZzZXQgdG8KICAgICBzeW1fZXNpL3N5bV9mcyByZXNwZWN0aXZlbHkKICAgICAo c3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKSwKICAgLSB1c2UgYWRkIGluc3RlYWQgb2YgbGVhIGlu IGFzc2VtYmx5CiAgICAgZXJyb3IgcHJpbnRpbmcgY29kZQogICAgIChzdWdnZXN0ZWQgYnkgSmFu IEJldWxpY2gpLAogICAtIGltcHJvdmUgY29tbWVudHMKICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBC ZXVsaWNoKSwKICAgLSBpbXByb3ZlIGNvbW1pdCBtZXNzYWdlCiAgICAgKHN1Z2dlc3RlZCBieSBK YW4gQmV1bGljaCksCiAgIC0gdmFyaW91cyBtaW5vciBjbGVhbnVwcyBhbmQgZml4ZXMKICAgICAo c3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKS4KCnY0IC0gc3VnZ2VzdGlvbnMvZml4ZXM6CiAgIC0g ZG8gbm90IHJlbG9jYXRlIFhlbiBpbWFnZSBpZiBib290IGxvYWRlciBkaWQgd29yayBmb3IgdXMK ICAgICAoc3VnZ2VzdGVkIGJ5IEFuZHJldyBDb29wZXIgYW5kIEphbiBCZXVsaWNoKSwKICAgLSBp bml0aWFsaXplIHhlbl9pbWdfbG9hZF9iYXNlX2FkZHIgaW4gRUZJIGJvb3QgY29kZSB0b28sCiAg IC0gcHJvcGVybHkgaW5pdGlhbGl6ZSB0cmFtcG9saW5lX3hlbl9waHlzX3N0YXJ0LAogICAtIGNh bGN1bGF0ZSBYZW4gaW1hZ2UgbG9hZCBiYXNlIGFkZHJlc3MgaW4KICAgICB4ODZfNjQgY29kZSBv dXJzZWx2ZXMsCiAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCksCiAgIC0gY2hhbmdlIGhv dyBhbmQgd2hlbiBYZW4gaW1hZ2UgYmFzZSBhZGRyZXNzIGlzIHByaW50ZWQsCiAgIC0gdXNlICVm cyBpbnN0ZWFkIG9mICVlc2kgZm9yIHJlbGF0aXZlIGFkZHJlc3NpbmcKICAgICAoc3VnZ2VzdGVk IGJ5IEFuZHJldyBDb29wZXIgYW5kIEphbiBCZXVsaWNoKSwKICAgLSBjcmVhdGUgZXNpX29mZnNl dCBhbmQgZnNfb2Zmc2V0KCkgbWFjcm9zIGluIGFzc2VtYmx5LAogICAtIGNhbGN1bGF0ZSA8Zmlu YWwtZXhlYy1hZGRyPiBta2VsZjMyIGFyZ3VtZW50IGF1dG9tYXRpY2FsbHksCiAgIC0gb3B0aW1p emUgYW5kIGNsZWFudXAgY29kZSwKICAgLSBpbXByb3ZlIGNvbW1lbnRzLAogICAtIGltcHJvdmUg Y29tbWl0IG1lc3NhZ2UuCgp2MyAtIHN1Z2dlc3Rpb25zL2ZpeGVzOgogICAtIGltcHJvdmUgc2Vn bWVudCByZWdpc3RlcnMgaW5pdGlhbGl6YXRpb24KICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVs aWNoKSwKICAgLSBzaW1wbGlmeSBYZW4gaW1hZ2UgbG9hZCBiYXNlIGFkZHJlc3MgY2FsY3VsYXRp b24KICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKSwKICAgLSB1c2UgJWVzaSBhbmQgJXIx NWQgaW5zdGVhZCBvZiAlZWJwIHRvIHN0b3JlCiAgICAgWGVuIGltYWdlIGxvYWQgYmFzZSBhZGRy ZXNzLAogICAtIHVzZSAlZXNpIGluc3RlYWQgb2YgJWZzIGZvciByZWxhdGl2ZSBhZGRyZXNzaW5n OwogICAgIHRoaXMgd2F5IHdlIGdldCBzaG9ydGVyIGFuZCBzaW1wbGVyIGNvZGUsCiAgIC0gcmVu YW1lIHNvbWUgdmFyaWFibGVzIGFuZCBjb25zdGFudHMKICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBC ZXVsaWNoKSwKICAgLSBpbXByb3ZlIGNvbW1lbnRzCiAgICAgKHN1Z2dlc3RlZCBieSBLb25yYWQg Unplc3p1dGVrIFdpbGspLAogICAtIGltcHJvdmUgY29tbWl0IG1lc3NhZ2UKICAgICAoc3VnZ2Vz dGVkIGJ5IEphbiBCZXVsaWNoKS4KLS0tCiB4ZW4vYXJjaC94ODYvYm9vdC9oZWFkLlMgICAgICAg ICAgfCAgMTYzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KIHhlbi9hcmNo L3g4Ni9ib290L3RyYW1wb2xpbmUuUyAgICB8ICAgIDUgKysKIHhlbi9hcmNoL3g4Ni9ib290L3g4 Nl82NC5TICAgICAgICB8ICAgMjYgKysrLS0tCiB4ZW4vYXJjaC94ODYvc2V0dXAuYyAgICAgICAg ICAgICAgfCAgIDE0ICsrLS0KIHhlbi9hcmNoL3g4Ni94ODZfNjQvYXNtLW9mZnNldHMuYyB8ICAg IDMgKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdlLmggICAgICAgIHwgICAgMiArLQogNiBmaWxl cyBjaGFuZ2VkLCAxNTcgaW5zZXJ0aW9ucygrKSwgNTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEveGVuL2FyY2gveDg2L2Jvb3QvaGVhZC5TIGIveGVuL2FyY2gveDg2L2Jvb3QvaGVhZC5TCmlu ZGV4IDEyYmJkOGUuLmQ3NDdmNGEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9ib290L2hlYWQu UworKysgYi94ZW4vYXJjaC94ODYvYm9vdC9oZWFkLlMKQEAgLTEzLDEyICsxMywxNSBAQAogICAg ICAgICAuY29kZTMyCiAKICNkZWZpbmUgc3ltX3BoeXMoc3ltKSAgICAgKChzeW0pIC0gX19YRU5f VklSVF9TVEFSVCkKKyNkZWZpbmUgc3ltX2VzaShzeW0pICAgICAgc3ltX3BoeXMoc3ltKSglZXNp KQorI2RlZmluZSBzeW1fZnMoc3ltKSAgICAgICAlZnM6c3ltX3BoeXMoc3ltKQogCiAjZGVmaW5l IEJPT1RfQ1MzMiAgICAgICAgMHgwMDA4CiAjZGVmaW5lIEJPT1RfQ1M2NCAgICAgICAgMHgwMDEw CiAjZGVmaW5lIEJPT1RfRFMgICAgICAgICAgMHgwMDE4CiAjZGVmaW5lIEJPT1RfUFNFVURPUk1f Q1MgMHgwMDIwCiAjZGVmaW5lIEJPT1RfUFNFVURPUk1fRFMgMHgwMDI4CisjZGVmaW5lIEJPT1Rf RlMgICAgICAgICAgMHgwMDMwCiAKICNkZWZpbmUgTUIyX0hUKG5hbWUpICAgICAgKE1VTFRJQk9P VDJfSEVBREVSX1RBR18jI25hbWUpCiAjZGVmaW5lIE1CMl9UVChuYW1lKSAgICAgIChNVUxUSUJP T1QyX1RBR19UWVBFXyMjbmFtZSkKQEAgLTEwNSw3ICsxMDgsOCBAQCBtdWx0aWJvb3QyX2hlYWRl cl9zdGFydDoKIAogICAgICAgICAud29yZCAgIDAKIGdkdF9ib290X2Rlc2NyOgotICAgICAgICAu d29yZCAgIDYqOC0xCisgICAgICAgIC53b3JkICAgNyo4LTEKK2dkdF9ib290X2Jhc2U6CiAgICAg ICAgIC5sb25nICAgc3ltX3BoeXModHJhbXBvbGluZV9nZHQpCiAgICAgICAgIC5sb25nICAgMCAv KiBOZWVkZWQgZm9yIDY0LWJpdCBsZ2R0ICovCiAKQEAgLTEyNywyNyArMTMxLDI3IEBAIHZnYV90 ZXh0X2J1ZmZlcjoKICAgICAgICAgLnNlY3Rpb24gLmluaXQudGV4dCwgImF4IiwgQHByb2diaXRz CiAKIGJhZF9jcHU6Ci0gICAgICAgIG1vdiAgICAgJChzeW1fcGh5cyguTGJhZF9jcHVfbXNnKSks JWVzaSAjIEVycm9yIG1lc3NhZ2UKKyAgICAgICAgYWRkICAgICAkc3ltX3BoeXMoLkxiYWRfY3B1 X21zZyksJWVzaSAgICMgRXJyb3IgbWVzc2FnZQogICAgICAgICBqbXAgICAgIC5MZ2V0X3Z0Ygog bm90X211bHRpYm9vdDoKLSAgICAgICAgbW92ICAgICAkKHN5bV9waHlzKC5MYmFkX2xkcl9tc2cp KSwlZXNpICMgRXJyb3IgbWVzc2FnZQorICAgICAgICBhZGQgICAgICRzeW1fcGh5cyguTGJhZF9s ZHJfbXNnKSwlZXNpICAgIyBFcnJvciBtZXNzYWdlCiAgICAgICAgIGptcCAgICAgLkxnZXRfdnRi CiAuTG1iMl9ub19zdDoKLSAgICAgICAgbW92ICAgICAkKHN5bV9waHlzKC5MYmFkX2xkcl9uc3Qp KSwlZXNpICMgRXJyb3IgbWVzc2FnZQorICAgICAgICBhZGQgICAgICRzeW1fcGh5cyguTGJhZF9s ZHJfbnN0KSwlZXNpICAgIyBFcnJvciBtZXNzYWdlCiAgICAgICAgIGptcCAgICAgLkxnZXRfdnRi CiAuTG1iMl9ub19paDoKLSAgICAgICAgbW92ICAgICAkKHN5bV9waHlzKC5MYmFkX2xkcl9uaWgp KSwlZXNpICMgRXJyb3IgbWVzc2FnZQorICAgICAgICBhZGQgICAgICRzeW1fcGh5cyguTGJhZF9s ZHJfbmloKSwlZXNpICAgIyBFcnJvciBtZXNzYWdlCiAgICAgICAgIGptcCAgICAgLkxnZXRfdnRi CiAuTG1iMl9ub19iczoKLSAgICAgICAgbW92ICAgICAkKHN5bV9waHlzKC5MYmFkX2xkcl9uYnMp KSwlZXNpICMgRXJyb3IgbWVzc2FnZQorICAgICAgICBhZGQgICAgICRzeW1fcGh5cyguTGJhZF9s ZHJfbmJzKSwlZXNpICAgIyBFcnJvciBtZXNzYWdlCiAgICAgICAgIHhvciAgICAgJWVkaSwlZWRp ICAgICAgICAgICAgICAgICAgICAgICAjIE5vIFZHQSB0ZXh0IGJ1ZmZlcgogICAgICAgICBqbXAg ICAgIC5Mc2VuZF9jaHIKIC5MbWIyX2VmaV9pYV8zMjoKLSAgICAgICAgbW92ICAgICAkKHN5bV9w aHlzKC5MYmFkX2VmaV9tc2cpKSwlZXNpICMgRXJyb3IgbWVzc2FnZQorICAgICAgICBhZGQgICAg ICRzeW1fcGh5cyguTGJhZF9lZmlfbXNnKSwlZXNpICAgIyBFcnJvciBtZXNzYWdlCiAgICAgICAg IHhvciAgICAgJWVkaSwlZWRpICAgICAgICAgICAgICAgICAgICAgICAjIE5vIFZHQSB0ZXh0IGJ1 ZmZlcgogICAgICAgICBqbXAgICAgIC5Mc2VuZF9jaHIKIC5MZ2V0X3Z0YjoKLSAgICAgICAgbW92 ICAgICBzeW1fcGh5cyh2Z2FfdGV4dF9idWZmZXIpLCVlZGkKKyAgICAgICAgbW92ICAgICBzeW1f ZXNpKHZnYV90ZXh0X2J1ZmZlciksJWVkaQogLkxzZW5kX2NocjoKICAgICAgICAgbW92ICAgICAo JWVzaSksJWJsCiAgICAgICAgIHRlc3QgICAgJWJsLCVibCAgICAgICAgIyBUZXJtaW5hdGUgb24g J1wwJyBzZW50aW5lbApAQCAtMTc2LDYgKzE4MCw5IEBAIF9fZWZpNjRfc3RhcnQ6CiAgICAgICAg IC8qIFZHQSBpcyBub3QgYXZhaWxhYmxlIG9uIEVGSSBwbGF0Zm9ybXMuICovCiAgICAgICAgIG1v dmwgICAkMCx2Z2FfdGV4dF9idWZmZXIoJXJpcCkKIAorICAgICAgICAvKiBMb2FkIFhlbiBpbWFn ZSBsb2FkIGJhc2UgYWRkcmVzcy4gKi8KKyAgICAgICAgbGVhICAgICBfX2ltYWdlX2Jhc2VfXygl cmlwKSwlcjE1ZAorCiAgICAgICAgIC8qIENoZWNrIGZvciBNdWx0aWJvb3QyIGJvb3Rsb2FkZXIu ICovCiAgICAgICAgIGNtcCAgICAgJE1VTFRJQk9PVDJfQk9PVExPQURFUl9NQUdJQywlZWF4CiAg ICAgICAgIGplICAgICAgLkxlZmlfbXVsdGlib290Ml9wcm90bwpAQCAtMjk4LDYgKzMwNSw5IEBA IHJ1bl9iczoKIAogICAgICAgICBwb3AgICAgICVyYXgKIAorICAgICAgICAvKiBTdG9yZSBYZW4g aW1hZ2UgbG9hZCBiYXNlIGFkZHJlc3MgaW4gcGxhY2UgYWNjZXNzaWJsZSBmb3IgMzItYml0IGNv ZGUuICovCisgICAgICAgIG1vdiAgICAgJXIxNWQsJWVzaQorCiAgICAgICAgIC8qIEp1bXAgdG8g dHJhbXBvbGluZV9zZXR1cCBhZnRlciBzd2l0Y2hpbmcgQ1BVIHRvIHg4Nl8zMiBtb2RlLiAqLwog ICAgICAgICBsZWEgICAgIHRyYW1wb2xpbmVfc2V0dXAoJXJpcCksJWVkaQogCkBAIC0zMDUsOSAr MzE1LDExIEBAIHg4Nl8zMl9zd2l0Y2g6CiAgICAgICAgIGNsaQogCiAgICAgICAgIC8qIEluaXRp YWxpemUgR0RUUi4gKi8KKyAgICAgICAgYWRkICAgICAlZXNpLGdkdF9ib290X2Jhc2UoJXJpcCkK ICAgICAgICAgbGdkdCAgICBnZHRfYm9vdF9kZXNjciglcmlwKQogCiAgICAgICAgIC8qIFJlbG9h ZCBjb2RlIHNlbGVjdG9yLiAqLworICAgICAgICBhZGQgICAgICVlc2ksY3MzMl9zd2l0Y2hfYWRk ciglcmlwKQogICAgICAgICBsam1wbCAgICpjczMyX3N3aXRjaF9hZGRyKCVyaXApCiAKICAgICAg ICAgLmNvZGUzMgpAQCAtMzM3LDEyICszNDksOCBAQCBfX3N0YXJ0OgogICAgICAgICBjbGQKICAg ICAgICAgY2xpCiAKLSAgICAgICAgLyogSW5pdGlhbGlzZSBHRFQgYW5kIGJhc2ljIGRhdGEgc2Vn bWVudHMuICovCi0gICAgICAgIGxnZHQgICAgJWNzOnN5bV9waHlzKGdkdF9ib290X2Rlc2NyKQot ICAgICAgICBtb3YgICAgICRCT09UX0RTLCVlY3gKLSAgICAgICAgbW92ICAgICAlZWN4LCVkcwot ICAgICAgICBtb3YgICAgICVlY3gsJWVzCi0gICAgICAgIG1vdiAgICAgJWVjeCwlc3MKKyAgICAg ICAgLyogTG9hZCBkZWZhdWx0IFhlbiBpbWFnZSBsb2FkIGJhc2UgYWRkcmVzcy4gKi8KKyAgICAg ICAgbW92ICAgICAkc3ltX3BoeXMoX19pbWFnZV9iYXNlX18pLCVlc2kKIAogICAgICAgICAvKiBC b290bG9hZGVycyBtYXkgc2V0IG11bHRpYm9vdHsxLDJ9Lm1lbV9sb3dlciB0byBhIG5vbnplcm8g dmFsdWUuICovCiAgICAgICAgIHhvciAgICAgJWVkeCwlZWR4CkBAIC0zOTgsNiArNDA2LDI1IEBA IF9fc3RhcnQ6CiAgICAgICAgIGptcCAgICAgMGIKIAogdHJhbXBvbGluZV9iaW9zX3NldHVwOgor ICAgICAgICAvKgorICAgICAgICAgKiBDYWxsZWQgb24gbGVnYWN5IEJJT1MgcGxhdGZvcm1zIG9u bHkuCisgICAgICAgICAqCisgICAgICAgICAqIEluaXRpYWxpemUgR0RUUiBhbmQgYmFzaWMgZGF0 YSBzZWdtZW50cy4KKyAgICAgICAgICovCisgICAgICAgIGFkZCAgICAgJWVzaSxzeW1fZXNpKGdk dF9ib290X2Jhc2UpCisgICAgICAgIGxnZHQgICAgc3ltX2VzaShnZHRfYm9vdF9kZXNjcikKKwor ICAgICAgICBtb3YgICAgICRCT09UX0RTLCVlY3gKKyAgICAgICAgbW92ICAgICAlZWN4LCVkcwor ICAgICAgICBtb3YgICAgICVlY3gsJWVzCisgICAgICAgIG1vdiAgICAgJWVjeCwlc3MKKyAgICAg ICAgLyogJWVzcCBpcyBpbml0aWFsaXplZCBsYXRlci4gKi8KKworICAgICAgICAvKiBMb2FkIG51 bGwgZGVzY3JpcHRvciB0byB1bnVzZWQgc2VnbWVudCByZWdpc3RlcnMuICovCisgICAgICAgIHhv ciAgICAgJWVjeCwlZWN4CisgICAgICAgIG1vdiAgICAgJWVjeCwlZnMKKyAgICAgICAgbW92ICAg ICAlZWN4LCVncworCiAgICAgICAgIC8qIFNldCB1cCB0cmFtcG9saW5lIHNlZ21lbnQgNjRrIGJl bG93IEVCREEgKi8KICAgICAgICAgbW92endsICAweDQwZSwlZWN4ICAgICAgICAgIC8qIEVCREEg c2VnbWVudCAqLwogICAgICAgICBjbXAgICAgICQweGEwMDAsJWVjeCAgICAgICAgLyogc2FuaXR5 IGNoZWNrIChoaWdoKSAqLwpAQCAtNDE5LDM2ICs0NDYsNjkgQEAgdHJhbXBvbGluZV9iaW9zX3Nl dHVwOgogICAgICAgICBjbW92YiAgICVlZHgsJWVjeCAgICAgICAgICAgLyogYW5kIHVzZSB0aGUg c21hbGxlciAqLwogCiB0cmFtcG9saW5lX3NldHVwOgorICAgICAgICAvKgorICAgICAgICAgKiBD YWxsZWQgb24gbGVnYWN5IEJJT1MgYW5kIEVGSSBwbGF0Zm9ybXMuCisgICAgICAgICAqCisgICAg ICAgICAqIEluaXRpYWxpemUgMC0xNSBiaXRzIG9mIEJPT1RfRlMgc2VnbWVudCBkZXNjcmlwdG9y IGJhc2UgYWRkcmVzcy4KKyAgICAgICAgICovCisgICAgICAgIG1vdiAgICAgJXNpLEJPT1RfRlMr MitzeW1fZXNpKHRyYW1wb2xpbmVfZ2R0KQorCisgICAgICAgIC8qIEluaXRpYWxpemUgMTYtMjMg Yml0cyBvZiBCT09UX0ZTIHNlZ21lbnQgZGVzY3JpcHRvciBiYXNlIGFkZHJlc3MuICovCisgICAg ICAgIG1vdiAgICAgJWVzaSwlZWR4CisgICAgICAgIHNociAgICAgJDE2LCVlZHgKKyAgICAgICAg bW92ICAgICAlZGwsQk9PVF9GUys0K3N5bV9lc2kodHJhbXBvbGluZV9nZHQpCisKKyAgICAgICAg LyogSW5pdGlhbGl6ZSAyNC0zMSBiaXRzIG9mIEJPT1RfRlMgc2VnbWVudCBkZXNjcmlwdG9yIGJh c2UgYWRkcmVzcy4gKi8KKyAgICAgICAgbW92ICAgICAlZGgsQk9PVF9GUys3K3N5bV9lc2kodHJh bXBvbGluZV9nZHQpCisKKyAgICAgICAgLyoKKyAgICAgICAgICogSW5pdGlhbGl6ZSAlZnMgYW5k IGxhdGVyIHVzZSBpdCB0byBhY2Nlc3MgWGVuIGRhdGEgaWYgcG9zc2libGUuCisgICAgICAgICAq IEFjY29yZGluZyB0byBJbnRlbCA2NCBhbmQgSUEtMzIgQXJjaGl0ZWN0dXJlcyBTb2Z0d2FyZSBE ZXZlbG9wZXLigJlzCisgICAgICAgICAqIE1hbnVhbCBpdCBpcyBzYWZlIHRvIGRvIHRoYXQgd2l0 aG91dCByZWxvYWRpbmcgR0RUUiBiZWZvcmUuCisgICAgICAgICAqLworICAgICAgICBtb3YgICAg ICRCT09UX0ZTLCVlZHgKKyAgICAgICAgbW92ICAgICAlZWR4LCVmcworCiAgICAgICAgIC8qIFJl c2VydmUgNjRrYiBmb3IgdGhlIHRyYW1wb2xpbmUuICovCiAgICAgICAgIHN1YiAgICAgJDB4MTAw MCwlZWN4CiAKICAgICAgICAgLyogRnJvbSBhcmNoL3g4Ni9zbXBib290LmM6IHN0YXJ0X2VpcCBo YWQgYmV0dGVyIGJlIHBhZ2UtYWxpZ25lZCEgKi8KICAgICAgICAgeG9yICAgICAlY2wsICVjbAog ICAgICAgICBzaGwgICAgICQ0LCAlZWN4Ci0gICAgICAgIG1vdiAgICAgJWVjeCxzeW1fcGh5cyh0 cmFtcG9saW5lX3BoeXMpCisgICAgICAgIG1vdiAgICAgJWVjeCxzeW1fZnModHJhbXBvbGluZV9w aHlzKQorCisgICAgICAgIC8qIFNhdmUgWGVuIGltYWdlIGxvYWQgYmFzZSBhZGRyZXNzIGZvciBs YXRlciB1c2UuICovCisgICAgICAgIG1vdiAgICAgJWVzaSxzeW1fZnMoeGVuX3BoeXNfc3RhcnQp CisgICAgICAgIG1vdiAgICAgJWVzaSxzeW1fZnModHJhbXBvbGluZV94ZW5fcGh5c19zdGFydCkK KworICAgICAgICAvKiBTZXR1cCBzdGFjay4gJXNzIHdhcyBpbml0aWFsaXplZCBlYXJsaWVyLiAq LworICAgICAgICBsZWEgICAgIDEwMjQrc3ltX2VzaShjcHUwX3N0YWNrKSwlZXNwCiAKICAgICAg ICAgLyogU2F2ZSB0aGUgTXVsdGlib290IGluZm8gc3RydWN0IChhZnRlciByZWxvY2F0aW9uKSBm b3IgbGF0ZXIgdXNlLiAqLwotICAgICAgICBtb3YgICAgICRzeW1fcGh5cyhjcHUwX3N0YWNrKSsx MDI0LCVlc3AKICAgICAgICAgcHVzaCAgICAlZWN4ICAgICAgICAgICAgICAgIC8qIEJvb3QgdHJh bXBvbGluZSBhZGRyZXNzLiAqLwogICAgICAgICBwdXNoICAgICVlYnggICAgICAgICAgICAgICAg LyogTXVsdGlib290IGluZm9ybWF0aW9uIGFkZHJlc3MuICovCiAgICAgICAgIHB1c2ggICAgJWVh eCAgICAgICAgICAgICAgICAvKiBNdWx0aWJvb3QgbWFnaWMuICovCiAgICAgICAgIGNhbGwgICAg cmVsb2MKLSAgICAgICAgbW92ICAgICAlZWF4LHN5bV9waHlzKG11bHRpYm9vdF9wdHIpCisgICAg ICAgIG1vdiAgICAgJWVheCxzeW1fZnMobXVsdGlib290X3B0cikKIAogICAgICAgICAvKgogICAg ICAgICAgKiBEbyBub3QgemVybyBCU1Mgb24gRUZJIHBsYXRmb3JtIGhlcmUuCiAgICAgICAgICAq IEl0IHdhcyBpbml0aWFsaXplZCBlYXJsaWVyLgogICAgICAgICAgKi8KLSAgICAgICAgY21wYiAg ICAkMCxzeW1fcGh5cyhza2lwX3JlYWxtb2RlKQorICAgICAgICBjbXBiICAgICQwLHN5bV9mcyhz a2lwX3JlYWxtb2RlKQogICAgICAgICBqbnogICAgIDFmCiAKICAgICAgICAgLyogSW5pdGlhbGl6 ZSBCU1MgKG5vIG5hc3R5IHN1cnByaXNlcyEpLiAqLwogICAgICAgICBtb3YgICAgICRzeW1fcGh5 cyhfX2Jzc19zdGFydCksJWVkaQogICAgICAgICBtb3YgICAgICRzeW1fcGh5cyhfX2Jzc19lbmQp LCVlY3gKKyAgICAgICAgcHVzaCAgICAlZnMKKyAgICAgICAgcG9wICAgICAlZXMKICAgICAgICAg c3ViICAgICAlZWRpLCVlY3gKICAgICAgICAgeG9yICAgICAlZWF4LCVlYXgKICAgICAgICAgc2hy ICAgICAkMiwlZWN4CiAgICAgICAgIHJlcCBzdG9zbAorICAgICAgICBwdXNoICAgICVkcworICAg ICAgICBwb3AgICAgICVlcwogCiAxOgogICAgICAgICAvKiBJbnRlcnJvZ2F0ZSBDUFUgZXh0ZW5k ZWQgZmVhdHVyZXMgdmlhIENQVUlELiAqLwpAQCAtNDYyLDggKzUyMiw4IEBAIHRyYW1wb2xpbmVf c2V0dXA6CiAgICAgICAgIGpiZSAgICAgMWYKICAgICAgICAgbW92ICAgICAkMHg4MDAwMDAwMSwl ZWF4CiAgICAgICAgIGNwdWlkCi0xOiAgICAgIG1vdiAgICAgJWVkeCxzeW1fcGh5cyhjcHVpZF9l eHRfZmVhdHVyZXMpCi0gICAgICAgIG1vdiAgICAgJWVkeCxzeW1fcGh5cyhib290X2NwdV9kYXRh KStDUFVJTkZPX0ZFQVRVUkVfT0ZGU0VUKFg4Nl9GRUFUVVJFX0xNKQorMTogICAgICBtb3YgICAg ICVlZHgsc3ltX2ZzKGNwdWlkX2V4dF9mZWF0dXJlcykKKyAgICAgICAgbW92ICAgICAlZWR4LHN5 bV9mcyhib290X2NwdV9kYXRhKStDUFVJTkZPX0ZFQVRVUkVfT0ZGU0VUKFg4Nl9GRUFUVVJFX0xN KQogCiAgICAgICAgIC8qIENoZWNrIGZvciBhdmFpbGFiaWxpdHkgb2YgbG9uZyBtb2RlLiAqLwog ICAgICAgICBidCAgICAgICRjcHVmZWF0X2JpdChYODZfRkVBVFVSRV9MTSksJWVkeApAQCAtNDcx LDIzICs1MzEsNTMgQEAgdHJhbXBvbGluZV9zZXR1cDoKIAogICAgICAgICAvKiBTdGFzaCBUU0Mg dG8gY2FsY3VsYXRlIGEgZ29vZCBhcHByb3hpbWF0aW9uIG9mIHRpbWUtc2luY2UtYm9vdCAqLwog ICAgICAgICByZHRzYwotICAgICAgICBtb3YgICAgICVlYXgsc3ltX3BoeXMoYm9vdF90c2Nfc3Rh bXApCi0gICAgICAgIG1vdiAgICAgJWVkeCxzeW1fcGh5cyhib290X3RzY19zdGFtcCs0KQorICAg ICAgICBtb3YgICAgICVlYXgsc3ltX2ZzKGJvb3RfdHNjX3N0YW1wKQorICAgICAgICBtb3YgICAg ICVlZHgsc3ltX2ZzKGJvb3RfdHNjX3N0YW1wKSs0CisKKyAgICAgICAgLyoKKyAgICAgICAgICog VXBkYXRlIGZyYW1lIGFkZHJlc3NlcyBpbiBwYWdlIHRhYmxlcyBleGNsdWRpbmcgbDJfaWRlbnRt YXAKKyAgICAgICAgICogd2l0aG91dCBpdHMgZmlyc3QgZW50cnkgd2hpY2ggcG9pbnRzIHRvIGwx X2lkZW50bWFwLgorICAgICAgICAgKi8KKyAgICAgICAgbW92ICAgICAkKChfX3BhZ2VfdGFibGVz X2VuZC1fX3BhZ2VfdGFibGVzX3N0YXJ0KS84KSwlZWN4CisgICAgICAgIG1vdiAgICAgJCgoKGwy X2lkZW50bWFwLV9fcGFnZV90YWJsZXNfc3RhcnQpLzgpKzIpLCVlZHgKKzE6ICAgICAgY21wICAg ICAkKChsMl9pZGVudG1hcCtsMl9pZGVudG1hcF9zaXplb2YtX19wYWdlX3RhYmxlc19zdGFydCkv OCksJWVjeAorICAgICAgICBjbW92ZSAgICVlZHgsJWVjeAorICAgICAgICBqZSAgICAgIDJmCisg ICAgICAgIHRlc3RsICAgJF9QQUdFX1BSRVNFTlQsc3ltX2ZzKF9fcGFnZV90YWJsZXNfc3RhcnQp LTgoLCVlY3gsOCkKKyAgICAgICAganogICAgICAyZgorICAgICAgICBhZGQgICAgICVlc2ksc3lt X2ZzKF9fcGFnZV90YWJsZXNfc3RhcnQpLTgoLCVlY3gsOCkKKzI6ICAgICAgbG9vcCAgICAxYgor CisgICAgICAgIC8qIEluaXRpYWxpemUgTDIgYm9vdC1tYXAvZGlyZWN0IG1hcCBwYWdlIHRhYmxl IGVudHJpZXMgKDE0TUIpLiAqLworICAgICAgICBsZWEgICAgIHN5bV9lc2koc3RhcnQpLCVlYngK KyAgICAgICAgbGVhICAgICAoMTw8TDJfUEFHRVRBQkxFX1NISUZUKSo3KyhQQUdFX0hZUEVSVklT T1J8X1BBR0VfUFNFKSglZWJ4KSwlZWF4CisgICAgICAgIHNociAgICAgJChMMl9QQUdFVEFCTEVf U0hJRlQtMyksJWVieAorICAgICAgICBtb3YgICAgICQ4LCVlY3gKKzE6ICAgICAgbW92ICAgICAl ZWF4LHN5bV9mcyhsMl9ib290bWFwKS04KCVlYngsJWVjeCw4KQorICAgICAgICBtb3YgICAgICVl YXgsc3ltX2ZzKGwyX2lkZW50bWFwKS04KCVlYngsJWVjeCw4KQorICAgICAgICBzdWIgICAgICQo MTw8TDJfUEFHRVRBQkxFX1NISUZUKSwlZWF4CisgICAgICAgIGxvb3AgICAgMWIKKworICAgICAg ICAvKiBJbml0aWFsaXplIEwzIGJvb3QtbWFwIHBhZ2UgZGlyZWN0b3J5IGVudHJ5LiAqLworICAg ICAgICBsZWEgICAgIF9fUEFHRV9IWVBFUlZJU09SKyhMMl9QQUdFVEFCTEVfRU5UUklFUyo4KSoz K3N5bV9lc2kobDJfYm9vdG1hcCksJWVheAorICAgICAgICBtb3YgICAgICQ0LCVlY3gKKzE6ICAg ICAgbW92ICAgICAlZWF4LHN5bV9mcyhsM19ib290bWFwKS04KCwlZWN4LDgpCisgICAgICAgIHN1 YiAgICAgJChMMl9QQUdFVEFCTEVfRU5UUklFUyo4KSwlZWF4CisgICAgICAgIGxvb3AgICAgMWIK IAogICAgICAgICAvKgogICAgICAgICAgKiBEdXJpbmcgYm9vdCwgaG9vayA0a0IgbWFwcGluZ3Mg b2YgZmlyc3QgMk1CIG9mIG1lbW9yeSBpbnRvIEwyLgotICAgICAgICAgKiBUaGlzIGF2b2lkcyBt aXhpbmcgY2FjaGFiaWxpdHkgZm9yIHRoZSBsZWdhY3kgVkdBIHJlZ2lvbiwgYW5kIGlzCi0gICAg ICAgICAqIGNvcnJlY3RlZCB3aGVuIFhlbiByZWxvY2F0ZXMgaXRzZWxmLgorICAgICAgICAgKiBU aGlzIGF2b2lkcyBtaXhpbmcgY2FjaGFiaWxpdHkgZm9yIHRoZSBsZWdhY3kgVkdBIHJlZ2lvbi4K ICAgICAgICAgICovCi0gICAgICAgIG1vdiAgICAgJHN5bV9waHlzKGwxX2lkZW50bWFwKStfX1BB R0VfSFlQRVJWSVNPUiwlZWRpCi0gICAgICAgIG1vdiAgICAgJWVkaSxzeW1fcGh5cyhsMl94ZW5t YXApCisgICAgICAgIGxlYSAgICAgX19QQUdFX0hZUEVSVklTT1Irc3ltX2VzaShsMV9pZGVudG1h cCksJWVkaQorICAgICAgICBtb3YgICAgICVlZGksc3ltX2ZzKGwyX2Jvb3RtYXApCiAKICAgICAg ICAgLyogQXBwbHkgcmVsb2NhdGlvbnMgdG8gYm9vdHN0cmFwIHRyYW1wb2xpbmUuICovCi0gICAg ICAgIG1vdiAgICAgc3ltX3BoeXModHJhbXBvbGluZV9waHlzKSwlZWR4CisgICAgICAgIG1vdiAg ICAgc3ltX2ZzKHRyYW1wb2xpbmVfcGh5cyksJWVkeAogICAgICAgICBtb3YgICAgICRzeW1fcGh5 cyhfX3RyYW1wb2xpbmVfcmVsX3N0YXJ0KSwlZWRpCiAxOgotICAgICAgICBtb3YgICAgICglZWRp KSwlZWF4Ci0gICAgICAgIGFkZCAgICAgJWVkeCwoJWVkaSwlZWF4KQorICAgICAgICBtb3YgICAg ICVmczooJWVkaSksJWVheAorICAgICAgICBhZGQgICAgICVlZHgsJWZzOiglZWRpLCVlYXgpCiAg ICAgICAgIGFkZCAgICAgJDQsJWVkaQogICAgICAgICBjbXAgICAgICRzeW1fcGh5cyhfX3RyYW1w b2xpbmVfcmVsX3N0b3ApLCVlZGkKICAgICAgICAgamIgICAgICAxYgpAQCAtNDk2LDI4ICs1ODYs MjkgQEAgdHJhbXBvbGluZV9zZXR1cDoKICAgICAgICAgc2hyICAgICAkNCwlZWR4CiAgICAgICAg IG1vdiAgICAgJHN5bV9waHlzKF9fdHJhbXBvbGluZV9zZWdfc3RhcnQpLCVlZGkKIDE6Ci0gICAg ICAgIG1vdiAgICAgKCVlZGkpLCVlYXgKLSAgICAgICAgbW92ICAgICAlZHgsKCVlZGksJWVheCkK KyAgICAgICAgbW92ICAgICAlZnM6KCVlZGkpLCVlYXgKKyAgICAgICAgbW92ICAgICAlZHgsJWZz OiglZWRpLCVlYXgpCiAgICAgICAgIGFkZCAgICAgJDQsJWVkaQogICAgICAgICBjbXAgICAgICRz eW1fcGh5cyhfX3RyYW1wb2xpbmVfc2VnX3N0b3ApLCVlZGkKICAgICAgICAgamIgICAgICAxYgog CiAgICAgICAgIC8qIERvIG5vdCBwYXJzZSBjb21tYW5kIGxpbmUgb24gRUZJIHBsYXRmb3JtIGhl cmUuICovCi0gICAgICAgIGNtcGIgICAgJDAsc3ltX3BoeXMoc2tpcF9yZWFsbW9kZSkKKyAgICAg ICAgY21wYiAgICAkMCxzeW1fZnMoc2tpcF9yZWFsbW9kZSkKICAgICAgICAgam56ICAgICAxZgog CiAgICAgICAgIC8qIEJhaWwgaWYgdGhlcmUgaXMgbm8gY29tbWFuZCBsaW5lIHRvIHBhcnNlLiAq LwotICAgICAgICBtb3YgICAgIHN5bV9waHlzKG11bHRpYm9vdF9wdHIpLCVlYngKKyAgICAgICAg bW92ICAgICBzeW1fZnMobXVsdGlib290X3B0ciksJWVieAogICAgICAgICB0ZXN0bCAgICRNQklf Q01ETElORSxNQl9mbGFncyglZWJ4KQogICAgICAgICBqeiAgICAgIDFmCiAKLSAgICAgICAgcHVz aGwgICAkc3ltX3BoeXMoZWFybHlfYm9vdF9vcHRzKQorICAgICAgICBsZWEgICAgIHN5bV9lc2ko ZWFybHlfYm9vdF9vcHRzKSwlZWF4CisgICAgICAgIHB1c2ggICAgJWVheAogICAgICAgICBwdXNo bCAgIE1CX2NtZGxpbmUoJWVieCkKICAgICAgICAgY2FsbCAgICBjbWRsaW5lX3BhcnNlX2Vhcmx5 CiAKIDE6CiAgICAgICAgIC8qIFN3aXRjaCB0byBsb3ctbWVtb3J5IHN0YWNrLiAgKi8KLSAgICAg ICAgbW92ICAgICBzeW1fcGh5cyh0cmFtcG9saW5lX3BoeXMpLCVlZGkKKyAgICAgICAgbW92ICAg ICBzeW1fZnModHJhbXBvbGluZV9waHlzKSwlZWRpCiAgICAgICAgIGxlYSAgICAgMHgxMDAwMCgl ZWRpKSwlZXNwCiAgICAgICAgIGxlYSAgICAgdHJhbXBvbGluZV9ib290X2NwdV9lbnRyeS10cmFt cG9saW5lX3N0YXJ0KCVlZGkpLCVlYXgKICAgICAgICAgcHVzaGwgICAkQk9PVF9DUzMyCkBAIC01 MjYsNyArNjE3LDcgQEAgdHJhbXBvbGluZV9zZXR1cDoKICAgICAgICAgLyogQ29weSBib290c3Ry YXAgdHJhbXBvbGluZSB0byBsb3cgbWVtb3J5LCBiZWxvdyAxTUIuICovCiAgICAgICAgIG1vdiAg ICAgJHN5bV9waHlzKHRyYW1wb2xpbmVfc3RhcnQpLCVlc2kKICAgICAgICAgbW92ICAgICAkKCh0 cmFtcG9saW5lX2VuZCAtIHRyYW1wb2xpbmVfc3RhcnQpIC8gNCksJWVjeAotICAgICAgICByZXAg bW92c2wKKyAgICAgICAgcmVwIG1vdnNsICVmczooJWVzaSksJWVzOiglZWRpKQogCiAgICAgICAg IC8qIEp1bXAgaW50byB0aGUgcmVsb2NhdGVkIHRyYW1wb2xpbmUuICovCiAgICAgICAgIGxyZXQK ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9ib290L3RyYW1wb2xpbmUuUyBiL3hlbi9hcmNoL3g4 Ni9ib290L3RyYW1wb2xpbmUuUwppbmRleCA5ZjA0YjJjLi4xZWJiMmE0IDEwMDY0NAotLS0gYS94 ZW4vYXJjaC94ODYvYm9vdC90cmFtcG9saW5lLlMKKysrIGIveGVuL2FyY2gveDg2L2Jvb3QvdHJh bXBvbGluZS5TCkBAIC01NCw2ICs1NCwxMSBAQCB0cmFtcG9saW5lX2dkdDoKICAgICAgICAgLyog MHgwMDI4OiByZWFsLW1vZGUgZGF0YSBAIEJPT1RfVFJBTVBPTElORSAqLwogICAgICAgICAubG9u ZyAgIDB4MDAwMGZmZmYKICAgICAgICAgLmxvbmcgICAweDAwMDA5MjAwCisgICAgICAgIC8qCisg ICAgICAgICAqIDB4MDAzMDogcmluZyAwIFhlbiBkYXRhLCAxNiBNaUIgc2l6ZSwgYmFzZQorICAg ICAgICAgKiBhZGRyZXNzIGlzIGNvbXB1dGVkIGR1cmluZyBydW50aW1lLgorICAgICAgICAgKi8K KyAgICAgICAgLnF1YWQgICAweDAwYzA5MjAwMDAwMDBmZmYKIAogICAgICAgICAucHVzaHNlY3Rp b24gLnRyYW1wb2xpbmVfcmVsLCAiYSIKICAgICAgICAgLmxvbmcgICB0cmFtcG9saW5lX2dkdCAr IEJPT1RfUFNFVURPUk1fQ1MgKyAyIC0gLgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2Jvb3Qv eDg2XzY0LlMgYi94ZW4vYXJjaC94ODYvYm9vdC94ODZfNjQuUwppbmRleCAxMzliMmNhLi43Mzky MDA0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvYm9vdC94ODZfNjQuUworKysgYi94ZW4vYXJj aC94ODYvYm9vdC94ODZfNjQuUwpAQCAtODEsNyArODEsNiBAQCBHTE9CQUwoYm9vdF9jcHVfY29t cGF0X2dkdF90YWJsZSkKICAgICAgICAgLnF1YWQgMHgwMDAwOTEwMDAwMDAwMDAwICAgICAvKiBw ZXItQ1BVIGVudHJ5IChsaW1pdCA9PSBjcHUpICAgICAgKi8KICAgICAgICAgLmFsaWduIFBBR0Vf U0laRSwgMAogCi1HTE9CQUwoX19wYWdlX3RhYmxlc19zdGFydCkKIC8qCiAgKiBNYXBwaW5nIG9m IGZpcnN0IDIgbWVnYWJ5dGVzIG9mIG1lbW9yeS4gVGhpcyBpcyBtYXBwZWQgd2l0aCA0a0IgbWFw cGluZ3MKICAqIHRvIGF2b2lkIHR5cGUgY29uZmxpY3RzIHdpdGggZml4ZWQtcmFuZ2UgTVRSUnMg Y292ZXJpbmcgdGhlIGxvd2VzdCBtZWdhYnl0ZQpAQCAtMTAyLDYgKzEwMSwxMyBAQCBsMV9pZGVu dG1hcDoKICAgICAgICAgLnNpemUgbDFfaWRlbnRtYXAsIC4gLSBsMV9pZGVudG1hcAogCiAvKgor ICogX19wYWdlX3RhYmxlc19zdGFydCBkb2VzIG5vdCBjb3ZlciBsMV9pZGVudG1hcCBiZWNhdXNl IGl0IChsMV9pZGVudG1hcCkKKyAqIGNvbnRhaW5zIDEtMSBtYXBwaW5ncy4gVGhpcyBtZWFucyB0 aGF0IGZyYW1lIGFkZHJlc3NlcyBvZiB0aGVzZSBtYXBwaW5ncworICogYXJlIHN0YXRpYyBhbmQg c2hvdWxkIG5vdCBiZSB1cGRhdGVkIGR1cmluZyBydW50aW1lLgorICovCitHTE9CQUwoX19wYWdl X3RhYmxlc19zdGFydCkKKworLyoKICAqIFNwYWNlIGZvciBtYXBwaW5nIHRoZSBmaXJzdCA0R0Ig b2YgbWVtb3J5LCB3aXRoIHRoZSBmaXJzdCAxNiBtZWdhYnl0ZXMKICAqIGFjdHVhbHkgbWFwcGVk IChtb3N0bHkgdXNpbmcgc3VwZXJwYWdlcykuICBVc2VzIDR4IDRrIHBhZ2VzLgogICovCkBAIC0x MjEsOCArMTI3LDkgQEAgR0xPQkFMKGwyX2lkZW50bWFwKQogICogcGFnZS4KICAqLwogR0xPQkFM KGwyX3hlbm1hcCkKLSAgICAgICAgaWR4ID0gMAotICAgICAgICAucmVwdCA4CisgICAgICAgIC5x dWFkIDAKKyAgICAgICAgaWR4ID0gMQorICAgICAgICAucmVwdCA3CiAgICAgICAgIC5xdWFkIHN5 bV9waHlzKF9faW1hZ2VfYmFzZV9fKSArIChpZHggPDwgTDJfUEFHRVRBQkxFX1NISUZUKSArIChQ QUdFX0hZUEVSVklTT1IgfCBfUEFHRV9QU0UpCiAgICAgICAgIGlkeCA9IGlkeCArIDEKICAgICAg ICAgLmVuZHIKQEAgLTE4NSwyMSArMTkyLDE0IEBAIEdMT0JBTChpZGxlX3BnX3RhYmxlKQogCiBH TE9CQUwoX19wYWdlX3RhYmxlc19lbmQpCiAKLS8qIEluaXQgcGFnZXRhYmxlcy4gIEVub3VnaCBw YWdlIGRpcmVjdG9yaWVzIHRvIG1hcCBpbnRvIHRoZSBib3R0b20gMUdCLiAqLworLyogSW5pdCBw YWdldGFibGVzLiBFbm91Z2ggcGFnZSBkaXJlY3RvcmllcyB0byBtYXAgaW50byA0R0IuICovCiAg ICAgICAgIC5zZWN0aW9uIC5pbml0LmRhdGEsICJhIiwgQHByb2diaXRzCiAgICAgICAgIC5hbGln biBQQUdFX1NJWkUsIDAKIAogR0xPQkFMKGwyX2Jvb3RtYXApCi0gICAgICAgIC5xdWFkIHN5bV9w aHlzKGwxX2lkZW50bWFwKSArIF9fUEFHRV9IWVBFUlZJU09SCi0gICAgICAgIGlkeCA9IDEKLSAg ICAgICAgLnJlcHQgNwotICAgICAgICAucXVhZCAoaWR4IDw8IEwyX1BBR0VUQUJMRV9TSElGVCkg fCBfX1BBR0VfSFlQRVJWSVNPUiB8IF9QQUdFX1BTRQotICAgICAgICBpZHggPSBpZHggKyAxCi0g ICAgICAgIC5lbmRyCi0gICAgICAgIC5maWxsIEwyX1BBR0VUQUJMRV9FTlRSSUVTIC0gOCwgOCwg MAorICAgICAgICAuZmlsbCA0ICogTDJfUEFHRVRBQkxFX0VOVFJJRVMsIDgsIDAKICAgICAgICAg LnNpemUgbDJfYm9vdG1hcCwgLiAtIGwyX2Jvb3RtYXAKIAogR0xPQkFMKGwzX2Jvb3RtYXApCi0g ICAgICAgIC5xdWFkIHN5bV9waHlzKGwyX2Jvb3RtYXApICsgX19QQUdFX0hZUEVSVklTT1IKLSAg ICAgICAgLmZpbGwgTDNfUEFHRVRBQkxFX0VOVFJJRVMgLSAxLCA4LCAwCisgICAgICAgIC5maWxs IEwzX1BBR0VUQUJMRV9FTlRSSUVTLCA4LCAwCiAgICAgICAgIC5zaXplIGwzX2Jvb3RtYXAsIC4g LSBsM19ib290bWFwCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvc2V0dXAuYyBiL3hlbi9hcmNo L3g4Ni9zZXR1cC5jCmluZGV4IGNhMWE5N2EuLmU2ZTA1ZjkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L3g4Ni9zZXR1cC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCkBAIC0yODYsOSArMjg2LDYg QEAgc3RhdGljIHZvaWQgKl9faW5pdCBib290c3RyYXBfbWFwKGNvbnN0IG1vZHVsZV90ICptb2Qp CiAgICAgaWYgKCBzdGFydCA+PSBlbmQgKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIGlm ICggZW5kIDw9IEJPT1RTVFJBUF9NQVBfQkFTRSApCi0gICAgICAgIHJldHVybiAodm9pZCAqKSh1 bnNpZ25lZCBsb25nKXN0YXJ0OwotCiAgICAgcmV0ID0gKHZvaWQgKikobWFwX2N1ciArICh1bnNp Z25lZCBsb25nKShzdGFydCAmIG1hc2spKTsKICAgICBzdGFydCAmPSB+bWFzazsKICAgICBlbmQg PSAoZW5kICsgbWFzaykgJiB+bWFzazsKQEAgLTY3NCw2ICs2NzEsOCBAQCB2b2lkIF9faW5pdCBu b3JldHVybiBfX3N0YXJ0X3hlbih1bnNpZ25lZCBsb25nIG1iaV9wKQogCiAgICAgcHJpbnRrKCJD b21tYW5kIGxpbmU6ICVzXG4iLCBjbWRsaW5lKTsKIAorICAgIHByaW50aygiWGVuIGltYWdlIGxv YWQgYmFzZSBhZGRyZXNzOiAweCUwOGx4XG4iLCB4ZW5fcGh5c19zdGFydCk7CisKICAgICBwcmlu dGsoIlZpZGVvIGluZm9ybWF0aW9uOlxuIik7CiAKICAgICAvKiBQcmludCBWR0EgZGlzcGxheSBt b2RlIGluZm9ybWF0aW9uLiAqLwpAQCAtOTMxLDcgKzkzMCw3IEBAIHZvaWQgX19pbml0IG5vcmV0 dXJuIF9fc3RhcnRfeGVuKHVuc2lnbmVkIGxvbmcgbWJpX3ApCiAgICAgICAgICAgICAgICAgICAg IC8qIE5vdCBwcmVzZW50LCAxR0IgbWFwcGluZywgb3IgYWxyZWFkeSByZWxvY2F0ZWQ/ICovCiAg ICAgICAgICAgICAgICAgICAgIGlmICggIShsM2VfZ2V0X2ZsYWdzKCpwbDNlKSAmIF9QQUdFX1BS RVNFTlQpIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgKGwzZV9nZXRfZmxhZ3MoKnBsM2Up ICYgX1BBR0VfUFNFKSB8fAotICAgICAgICAgICAgICAgICAgICAgICAgIChsM2VfZ2V0X3Bmbigq cGwzZSkgPiAweDEwMDApICkKKyAgICAgICAgICAgICAgICAgICAgICAgICAobDNlX2dldF9wZm4o KnBsM2UpID4gUEZOX0RPV04oeGVuX3BoeXNfc3RhcnQpKSApCiAgICAgICAgICAgICAgICAgICAg ICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICAgKnBsM2UgPSBsM2VfZnJvbV9pbnRw dGUobDNlX2dldF9pbnRwdGUoKnBsM2UpICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgeGVuX3BoeXNfc3RhcnQpOwpAQCAtOTQxLDcgKzk0MCw3IEBAIHZvaWQg X19pbml0IG5vcmV0dXJuIF9fc3RhcnRfeGVuKHVuc2lnbmVkIGxvbmcgbWJpX3ApCiAgICAgICAg ICAgICAgICAgICAgICAgICAvKiBOb3QgcHJlc2VudCwgUFNFLCBvciBhbHJlYWR5IHJlbG9jYXRl ZD8gKi8KICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggIShsMmVfZ2V0X2ZsYWdzKCpwbDJl KSAmIF9QQUdFX1BSRVNFTlQpIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsMmVf Z2V0X2ZsYWdzKCpwbDJlKSAmIF9QQUdFX1BTRSkgfHwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGwyZV9nZXRfcGZuKCpwbDJlKSA+IDB4MTAwMCkgKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAobDJlX2dldF9wZm4oKnBsMmUpID4gUEZOX0RPV04oeGVuX3BoeXNfc3RhcnQp KSApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAg ICAgICAgICAgICAqcGwyZSA9IGwyZV9mcm9tX2ludHB0ZShsMmVfZ2V0X2ludHB0ZSgqcGwyZSkg KwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeGVuX3Bo eXNfc3RhcnQpOwpAQCAtOTY0LDcgKzk2Myw4IEBAIHZvaWQgX19pbml0IG5vcmV0dXJuIF9fc3Rh cnRfeGVuKHVuc2lnbmVkIGxvbmcgbWJpX3ApCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgdW5zaWduZWQgaW50IGZsYWdzOwogCi0gICAgICAgICAgICAgICAgaWYgKCAhKGwyZV9nZXRf ZmxhZ3MoKnBsMmUpICYgX1BBR0VfUFJFU0VOVCkgKQorICAgICAgICAgICAgICAgIGlmICggIShs MmVfZ2V0X2ZsYWdzKCpwbDJlKSAmIF9QQUdFX1BSRVNFTlQpIHx8CisgICAgICAgICAgICAgICAg ICAgICAobDJlX2dldF9wZm4oKnBsMmUpID4gUEZOX0RPV04oeGVuX3BoeXNfc3RhcnQpKSApCiAg ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgICAgICAgICAgaWYgKCAhdXNp bmdfMk1fbWFwcGluZygpICkKQEAgLTEwMTgsNiArMTAxOCw4IEBAIHZvaWQgX19pbml0IG5vcmV0 dXJuIF9fc3RhcnRfeGVuKHVuc2lnbmVkIGxvbmcgbWJpX3ApCiAgICAgICAgICAgICAgICAgOiAi bWVtb3J5IiApOwogCiAgICAgICAgICAgICBib290c3RyYXBfbWFwKE5VTEwpOworCisgICAgICAg ICAgICBwcmludGsoIk5ldyBYZW4gaW1hZ2UgYmFzZSBhZGRyZXNzOiAlIzA4bHhcbiIsIHhlbl9w aHlzX3N0YXJ0KTsKICAgICAgICAgfQogCiAgICAgICAgIC8qIElzIHRoZSByZWdpb24gc3VpdGFi bGUgZm9yIHJlbG9jYXRpbmcgdGhlIG11bHRpYm9vdCBtb2R1bGVzPyAqLwpkaWZmIC0tZ2l0IGEv eGVuL2FyY2gveDg2L3g4Nl82NC9hc20tb2Zmc2V0cy5jIGIveGVuL2FyY2gveDg2L3g4Nl82NC9h c20tb2Zmc2V0cy5jCmluZGV4IDJhMjI2NTkuLjVkN2E4ZTUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L3g4Ni94ODZfNjQvYXNtLW9mZnNldHMuYworKysgYi94ZW4vYXJjaC94ODYveDg2XzY0L2FzbS1v ZmZzZXRzLmMKQEAgLTE3OSw1ICsxNzksOCBAQCB2b2lkIF9fZHVtbXlfXyh2b2lkKQogICAgIE9G RlNFVChNQjJfZWZpNjRfaWgsIG11bHRpYm9vdDJfdGFnX2VmaTY0X2loX3QsIHBvaW50ZXIpOwog ICAgIEJMQU5LKCk7CiAKKyAgICBERUZJTkUobDJfaWRlbnRtYXBfc2l6ZW9mLCBzaXplb2YobDJf aWRlbnRtYXApKTsKKyAgICBCTEFOSygpOworCiAgICAgT0ZGU0VUKERPTUFJTl92bV9hc3Npc3Qs IHN0cnVjdCBkb21haW4sIHZtX2Fzc2lzdCk7CiB9CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9h c20teDg2L3BhZ2UuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcGFnZS5oCmluZGV4IGFmN2QzZTgu LmE1NGZkZDEgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcGFnZS5oCisrKyBiL3hl bi9pbmNsdWRlL2FzbS14ODYvcGFnZS5oCkBAIC0yODgsNyArMjg4LDcgQEAgZXh0ZXJuIHJvb3Rf cGdlbnRyeV90IGlkbGVfcGdfdGFibGVbUk9PVF9QQUdFVEFCTEVfRU5UUklFU107CiBleHRlcm4g bDJfcGdlbnRyeV90ICAqY29tcGF0X2lkbGVfcGdfdGFibGVfbDI7CiBleHRlcm4gdW5zaWduZWQg aW50ICAgbTJwX2NvbXBhdF92c3RhcnQ7CiBleHRlcm4gbDJfcGdlbnRyeV90IGwyX3hlbm1hcFtM Ml9QQUdFVEFCTEVfRU5UUklFU10sCi0gICAgbDJfYm9vdG1hcFtMMl9QQUdFVEFCTEVfRU5UUklF U107CisgICAgbDJfYm9vdG1hcFs0KkwyX1BBR0VUQUJMRV9FTlRSSUVTXTsKIGV4dGVybiBsM19w Z2VudHJ5X3QgbDNfYm9vdG1hcFtMM19QQUdFVEFCTEVfRU5UUklFU107CiBleHRlcm4gbDJfcGdl bnRyeV90IGwyX2lkZW50bWFwWzQqTDJfUEFHRVRBQkxFX0VOVFJJRVNdOwogZXh0ZXJuIGwxX3Bn ZW50cnlfdCBsMV9maXhtYXBbTDFfUEFHRVRBQkxFX0VOVFJJRVNdOwotLSAKMS43LjEwLjQKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwg bWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9y Zy94ZW4tZGV2ZWwK