From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 31367 invoked from network); 27 May 2020 18:17:31 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 27 May 2020 18:17:31 -0000 Content-Type: multipart/mixed; boundary="===============4346169474475170412==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_mariadb=3A_update_to_10=2E1=2E45=2E?= To: ml@inbox.vuxu.org From: rmccask Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Wed, 27 May 2020 20:17:30 +0200 List-Id: Message-ID: <20200527181730.m7ldlhXmuI2lEwhFXcaNNpE9OLCY8GuTsS3EfWe_NBI@z> GitHub notification mails are now in MIME to allow UTF8. --===============4346169474475170412== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgcm1jY2FzayBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vcm1j Y2Fzay92b2lkLXBhY2thZ2VzIG1hcmlhZGItMTAuMS40NQpodHRwczovL2dpdGh1Yi5jb20vdm9p ZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMjIzNDgKCm1hcmlhZGI6IHVwZGF0ZSB0byAxMC4x LjQ1LgoKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3Zv aWQtcGFja2FnZXMvcHVsbC8yMjM0OC5wYXRjaCBpcyBhdHRhY2hlZA== --===============4346169474475170412== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-mariadb-10.1.45-22348.patch" RnJvbSAyZDVhNWRhODlkYzIzMzg2MWYwOGE4MjM2Zjk4ZTExMmYyZmRlZGJlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSYW5keSBNY0Nhc2tpbGwgPHJhbmR5QG1jY2Fza2lsbC51cz4K RGF0ZTogV2VkLCAyNyBNYXkgMjAyMCAwMjoyMjoyNCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIG1h cmlhZGI6IHVwZGF0ZSB0byAxMC4xLjQ1LgoKW2NpIHNraXBdCi0tLQogLi4uL3BhdGNoZXMvYXJt aGZfbXJvb25nYV9zdG9yYWdlX2ZhaWwucGF0Y2ggIHwgIDIyICsrCiBzcmNwa2dzL21hcmlhZGIv cGF0Y2hlcy9jMTFfYXRvbWljcy5wYXRjaCAgICAgfCAxMjggKysrKysrKysKIC4uLi9tYXJpYWRi L3BhdGNoZXMvZml4LXB0aHJlYWQtZGV0YWNoLnBhdGNoICB8ICAzNCAtLQogLi4uL21hcmlhZGIv cGF0Y2hlcy9mb3JjZS1jMTEtYXRvbWljcy5wYXRjaCAgIHwgMjk0IC0tLS0tLS0tLS0tLS0tLS0t LQogc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvbGliYXRvbWljLnBhdGNoICAgICAgIHwgMTAzIC0t LS0tLQogLi4uL3BhdGNoZXMvbWlwcy1jb25uZWN0LXVuYWxpZ25lZC5wYXRjaCAgICAgIHwgMjU3 ICsrKysrKysrKysrKysrKwogLi4uL21hcmlhZGIvcGF0Y2hlcy9taXBzLWdyb29uZ2EtYXRvbWlj LnBhdGNoIHwgIDM0ICsrCiAuLi4vcGF0Y2hlcy9taXBzLWlubm9iYXNlLWF0b21pYy5wYXRjaCAg ICAgICAgfCAgMjAgKysKIHNyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL21pcHMtbWFjaGluZS5wYXRj aCAgICB8ICAyMyArKwogc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvbXVzbC1wcGMucGF0Y2ggICAg ICAgIHwgIDExICstCiBzcmNwa2dzL21hcmlhZGIvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAg ICAgfCAgMTAgKy0KIDExIGZpbGVzIGNoYW5nZWQsIDQ5NiBpbnNlcnRpb25zKCspLCA0NDAgZGVs ZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvYXJt aGZfbXJvb25nYV9zdG9yYWdlX2ZhaWwucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L21hcmlhZGIvcGF0Y2hlcy9jMTFfYXRvbWljcy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvbWFyaWFkYi9wYXRjaGVzL2ZpeC1wdGhyZWFkLWRldGFjaC5wYXRjaAogZGVsZXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL2ZvcmNlLWMxMS1hdG9taWNzLnBhdGNo CiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvbGliYXRvbWljLnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvbWlwcy1jb25u ZWN0LXVuYWxpZ25lZC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbWFyaWFkYi9w YXRjaGVzL21pcHMtZ3Jvb25nYS1hdG9taWMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL21hcmlhZGIvcGF0Y2hlcy9taXBzLWlubm9iYXNlLWF0b21pYy5wYXRjaAogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL21pcHMtbWFjaGluZS5wYXRjaAoKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL2FybWhmX21yb29uZ2Ffc3RvcmFnZV9m YWlsLnBhdGNoIGIvc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvYXJtaGZfbXJvb25nYV9zdG9yYWdl X2ZhaWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjIyOGQ2 YjdkZjI2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvYXJtaGZf bXJvb25nYV9zdG9yYWdlX2ZhaWwucGF0Y2gKQEAgLTAsMCArMSwyMiBAQAorRnJvbTogRGViaWFu IE15U1FMIE1haW50YWluZXJzIDxwa2ctbXlzcWwtbWFpbnRAbGlzdHMuYWxpb3RoLmRlYmlhbi5v cmc+CitEYXRlOiBUaHUsIDEwIEF1ZyAyMDE3IDIwOjQwOjI5ICswMjAwCitTdWJqZWN0OiBhcm1o Zl9tcm9vbmdhX3N0b3JhZ2VfZmFpbAorCistLS0KKyBzdG9yYWdlL21yb29uZ2EvbGliL21ybl9t dWx0aXBsZV9jb2x1bW5fa2V5X2NvZGVjLmNwcCB8IDMgKystCisgMSBmaWxlIGNoYW5nZWQsIDIg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCistLS0gc3RvcmFnZS9tcm9vbmdhL2xpYi9t cm5fbXVsdGlwbGVfY29sdW1uX2tleV9jb2RlYy5jcHAKKysrKyBzdG9yYWdlL21yb29uZ2EvbGli L21ybl9tdWx0aXBsZV9jb2x1bW5fa2V5X2NvZGVjLmNwcAorQEAgLTYyMyw5ICs2MjMsMTAgQEAg bmFtZXNwYWNlIG1ybiB7CisgICAgIGxvbmcgbG9uZyBpbnQgbG9uZ19sb25nX3ZhbHVlOworICAg ICBtcm5fYnl0ZV9vcmRlcl9uZXR3b3JrX3RvX2hvc3QoJmxvbmdfbG9uZ192YWx1ZSwgZ3JuX2tl eSwgZ3JuX2tleV9zaXplKTsKKyAgICAgaW50IG1heF9iaXQgPSAoZ3JuX2tleV9zaXplICogOCAt IDEpOworLSAgICAqKChsb25nIGxvbmcgaW50ICopbXlzcWxfa2V5KSA9CisrICAgIGxvbmdfbG9u Z192YWx1ZSA9CisgICAgICAgbG9uZ19sb25nX3ZhbHVlIF4gKCgobG9uZ19sb25nX3ZhbHVlIF4g KDFMTCA8PCBtYXhfYml0KSkgPj4gbWF4X2JpdCkgfAorICAgICAgICAgICAgICAgICAgICAgICAg ICAoMUxMIDw8IG1heF9iaXQpKTsKKysgICAgbWVtY3B5KG15c3FsX2tleSwgJmxvbmdfbG9uZ192 YWx1ZSwgc2l6ZW9mKGxvbmdfbG9uZ192YWx1ZSkpOworICAgICBEQlVHX1ZPSURfUkVUVVJOOwor ICAgfQorIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvYzExX2F0b21pY3Mu cGF0Y2ggYi9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9jMTFfYXRvbWljcy5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZGE4NGMxMmEwZTEKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9jMTFfYXRvbWljcy5wYXRjaApAQCAtMCww ICsxLDEyOCBAQAorRnJvbTogRGViaWFuIE15U1FMIE1haW50YWluZXJzIDxwa2ctbXlzcWwtbWFp bnRAbGlzdHMuYWxpb3RoLmRlYmlhbi5vcmc+CitEYXRlOiBUaHUsIDEwIEF1ZyAyMDE3IDIwOjQw OjI5ICswMjAwCitTdWJqZWN0OiBjMTFfYXRvbWljcworCistLS0KKyBjb25maWd1cmUuY21ha2Ug ICAgICAgICAgICAgICB8IDIzICsrKysrKysrKysrKysrKysrKysrKy0tCisgaW5jbHVkZS9hdG9t aWMvZ2NjX2J1aWx0aW5zLmggfCAxNSArKysrKysrKysrKysrKysKKyBpbmNsdWRlL2F0b21pYy9u b2xvY2suaCAgICAgICB8ICA0ICsrLS0KKyBteXN5cy9DTWFrZUxpc3RzLnR4dCAgICAgICAgICB8 ICA0ICsrKysKKyBzcWwvQ01ha2VMaXN0cy50eHQgICAgICAgICAgICB8ICA0ICsrKysKKyA1IGZp bGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKKy0tLSBjb25m aWd1cmUuY21ha2UKKysrKyBjb25maWd1cmUuY21ha2UKK0BAIC0xMjgsNyArMTI4LDcgQEAgSUYo VU5JWCkKKyAgIEVORElGKCkKKyAgIEZJTkRfUEFDS0FHRShUaHJlYWRzKQorIAorLSAgU0VUKENN QUtFX1JFUVVJUkVEX0xJQlJBUklFUyAKKysgIExJU1QoQVBQRU5EIENNQUtFX1JFUVVJUkVEX0xJ QlJBUklFUworICAgICAke0xJQk19ICR7TElCTlNMfSAke0xJQkJJTkR9ICR7TElCQ1JZUFR9ICR7 TElCU09DS0VUfSAke0xJQkRMfSAke0NNQUtFX1RIUkVBRF9MSUJTX0lOSVR9ICR7TElCUlR9ICR7 TElCRVhFQ0lORk99KQorICAgIyBOZWVkIGV4cGxpY2l0IHB0aHJlYWQgZm9yIGdjYyAtZnNhbml0 aXplPWFkZHJlc3MKKyAgIElGKENNQUtFX1VTRV9QVEhSRUFEU19JTklUIEFORCBDTUFLRV9DX0ZM QUdTIE1BVENIRVMgIi1mc2FuaXRpemU9IikKK0BAIC0xMDM4LDcgKzEwMzgsMjYgQEAgRUxTRUlG KE5PVCBXSVRIX0FUT01JQ19PUFMpCisgICAgIGxvbmcgbG9uZyBpbnQgKnB0cj0gJnZhcjsKKyAg ICAgcmV0dXJuIChpbnQpX19hdG9taWNfbG9hZF9uKHB0ciwgX19BVE9NSUNfU0VRX0NTVCk7Cisg ICB9IgorLSAgSEFWRV9HQ0NfQzExX0FUT01JQ1MpCisrICBIQVZFX0dDQ19DMTFfQVRPTUlDU19X SVRIT1VUX0xJQkFUT01JQykKKysgIElGKEhBVkVfR0NDX0MxMV9BVE9NSUNTX1dJVEhPVVRfTElC QVRPTUlDKQorKyAgICBTRVQoSEFWRV9HQ0NfQzExX0FUT01JQ1MgVHJ1ZSkKKysgIEVMU0UoKQor KyAgICBTRVQoT0xEX0NNQUtFX1JFUVVJUkVEX0xJQlJBUklFUyAke0NNQUtFX1JFUVVJUkVEX0xJ QlJBUklFU30pCisrICAgIExJU1QoQVBQRU5EIENNQUtFX1JFUVVJUkVEX0xJQlJBUklFUyAiYXRv bWljIikKKysgICAgQ0hFQ0tfQ1hYX1NPVVJDRV9DT01QSUxFUygiCisrICAgIGludCBtYWluKCkK KysgICAgeworKyAgICAgIGxvbmcgbG9uZyBpbnQgdmFyPSAxOworKyAgICAgIGxvbmcgbG9uZyBp bnQgKnB0cj0gJnZhcjsKKysgICAgICByZXR1cm4gKGludClfX2F0b21pY19sb2FkX24ocHRyLCBf X0FUT01JQ19TRVFfQ1NUKTsKKysgICAgfSIKKysgICAgSEFWRV9HQ0NfQzExX0FUT01JQ1NfV0lU SF9MSUJBVE9NSUMpCisrICAgIElGKEhBVkVfR0NDX0MxMV9BVE9NSUNTX1dJVEhfTElCQVRPTUlD KQorKyAgICAgIFNFVChIQVZFX0dDQ19DMTFfQVRPTUlDUyBUcnVlKQorKyAgICBFTFNFKCkKKysg ICAgICBTRVQoQ01BS0VfUkVRVUlSRURfTElCUkFSSUVTICR7T0xEX0NNQUtFX1JFUVVJUkVEX0xJ QlJBUklFU30pCisrICAgIEVORElGKCkKKysgIEVORElGKCkKKyBFTFNFKCkKKyAgIE1FU1NBR0Uo RkFUQUxfRVJST1IgIiR7V0lUSF9BVE9NSUNfT1BTfSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3Ig V0lUSF9BVE9NSUNfT1BTISIpCisgRU5ESUYoKQorLS0tIGluY2x1ZGUvYXRvbWljL2djY19idWls dGlucy5oCisrKysgaW5jbHVkZS9hdG9taWMvZ2NjX2J1aWx0aW5zLmgKK0BAIC0xNiw2ICsxNiw3 IEBACisgICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZy ZWUgU29mdHdhcmUKKyAgICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGgg Rmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMzNSAgVVNBICovCisgCisrI2lmIGRlZmluZWQgKEhB VkVfR0NDX0FUT01JQ19CVUlMVElOUykKKyAjZGVmaW5lIG1ha2VfYXRvbWljX2FkZF9ib2R5KFMp ICAgICAgICAgICAgICAgICAgICAgXAorICAgdj0gX19zeW5jX2ZldGNoX2FuZF9hZGQoYSwgdik7 CisgI2RlZmluZSBtYWtlX2F0b21pY19mYXNfYm9keShTKSAgICAgICAgICAgICAgICAgICAgIFwK K0BAIC0yNiw2ICsyNywyMCBAQAorICAgc2F2PSBfX3N5bmNfdmFsX2NvbXBhcmVfYW5kX3N3YXAo YSwgY21wX3ZhbCwgc2V0KTtcCisgICBpZiAoIShyZXQ9IChzYXYgPT0gY21wX3ZhbCkpKSAqY21w PSBzYXYKKyAKKysjZWxpZiBkZWZpbmVkKEhBVkVfR0NDX0MxMV9BVE9NSUNTKQorKworKyNkZWZp bmUgbWFrZV9hdG9taWNfYWRkX2JvZHkoUykgICAgICAgICAgICAgICAgICAgICBcCisrICB2PSBf X2F0b21pY19mZXRjaF9hZGQoYSwgdiwgX19BVE9NSUNfU0VRX0NTVCkKKysjZGVmaW5lIG1ha2Vf YXRvbWljX2Zhc19ib2R5KFMpICAgICAgICAgICAgICAgICAgICAgXAorKyAgdj0gX19hdG9taWNf ZXhjaGFuZ2VfbihhLCB2LCBfX0FUT01JQ19TRVFfQ1NUKQorKyNkZWZpbmUgbWFrZV9hdG9taWNf Y2FzX2JvZHkoUykgICAgICAgICAgICAgICAgICAgICBcCisrICBpbnQgIyMgUyBzYXY7ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgIHJldD0gX19hdG9taWNfY29tcGFy ZV9leGNoYW5nZV9uKGEsIGNtcCwgc2V0LCAgICAgXAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMCwgICAgICAgICAgICAgICBcCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBfX0FUT01JQ19TRVFfQ1NULFwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF9fQVRPTUlDX1NFUV9DU1QpOworKyNlbmRpZgorKworICNpZmRlZiBNWV9BVE9N SUNfTU9ERV9EVU1NWQorICNkZWZpbmUgbWFrZV9hdG9taWNfbG9hZF9ib2R5KFMpICAgcmV0PSAq YQorICNkZWZpbmUgbWFrZV9hdG9taWNfc3RvcmVfYm9keShTKSAgKmE9IHYKKy0tLSBpbmNsdWRl L2F0b21pYy9ub2xvY2suaAorKysrIGluY2x1ZGUvYXRvbWljL25vbG9jay5oCitAQCAtMTcsNyAr MTcsNyBAQAorICAgIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9v ciwgQm9zdG9uLCBNQSAwMjExMC0xMzM1ICBVU0EgKi8KKyAKKyAjaWYgZGVmaW5lZChfX2kzODZf XykgfHwgZGVmaW5lZChfTVNDX1ZFUikgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSAgIFwKKy0gICAg fHwgZGVmaW5lZChIQVZFX0dDQ19BVE9NSUNfQlVJTFRJTlMpIFwKKysgICAgfHwgZGVmaW5lZChI QVZFX0dDQ19BVE9NSUNfQlVJTFRJTlMpIHx8IGRlZmluZWQoSEFWRV9HQ0NfQzExX0FUT01JQ1Mp IFwKKyAgICAgfHwgZGVmaW5lZChIQVZFX1NPTEFSSVNfQVRPTUlDKQorIAorICMgIGlmZGVmIE1Z X0FUT01JQ19NT0RFX0RVTU1ZCitAQCAtNDEsNyArNDEsNyBAQAorICMgIGVsaWYgX19HTlVDX18K KyAjICAgIGlmIGRlZmluZWQoSEFWRV9TT0xBUklTX0FUT01JQykKKyAjICAgICAgaW5jbHVkZSAi c29sYXJpcy5oIgorLSMgICAgZWxpZiBkZWZpbmVkKEhBVkVfR0NDX0FUT01JQ19CVUlMVElOUykK KysjICAgIGVsaWYgZGVmaW5lZChIQVZFX0dDQ19BVE9NSUNfQlVJTFRJTlMpIHx8IGRlZmluZWQo SEFWRV9HQ0NfQzExX0FUT01JQ1MpCisgIyAgICAgIGluY2x1ZGUgImdjY19idWlsdGlucy5oIgor ICMgICAgZWxpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCisgIyAg ICAgIGluY2x1ZGUgIng4Ni1nY2MuaCIKKy0tLSBteXN5cy9DTWFrZUxpc3RzLnR4dAorKysrIG15 c3lzL0NNYWtlTGlzdHMudHh0CitAQCAtNzksNiArNzksMTAgQEAgSUYoSEFWRV9CRkRfSCkKKyAg IFRBUkdFVF9MSU5LX0xJQlJBUklFUyhteXN5cyBiZmQpICAKKyBFTkRJRihIQVZFX0JGRF9IKQor IAorK0lGKEhBVkVfR0NDX0MxMV9BVE9NSUNTX1dJVEhfTElCQVRPTUlDKQorKyAgVEFSR0VUX0xJ TktfTElCUkFSSUVTKG15c3lzIGF0b21pYykKKytFTkRJRigpCisrCisgSUYgKFdJTjMyKQorICAg VEFSR0VUX0xJTktfTElCUkFSSUVTKG15c3lzIElQSExQQVBJKSAgCisgRU5ESUYoV0lOMzIpCist LS0gc3FsL0NNYWtlTGlzdHMudHh0CisrKysgc3FsL0NNYWtlTGlzdHMudHh0CitAQCAtMTY1LDYg KzE2NSwxMCBAQCBUQVJHRVRfTElOS19MSUJSQVJJRVMoc3FsICR7TVlTUUxEX1NUQVRJCisgICAk e1NTTF9MSUJSQVJJRVN9CisgICAke0xJQlNZU1RFTUR9KQorIAorK0lGKEhBVkVfR0NDX0MxMV9B VE9NSUNTX1dJVEhfTElCQVRPTUlDKQorKyAgVEFSR0VUX0xJTktfTElCUkFSSUVTKHNxbCBhdG9t aWMpCisrRU5ESUYoKQorKworIElGKFdJTjMyKQorICAgU0VUKE1ZU1FMRF9TT1VSQ0UgbWFpbi5j YyBudF9zZXJ2Yy5jYyBtZXNzYWdlLnJjKQorICAgVEFSR0VUX0xJTktfTElCUkFSSUVTKHNxbCBw c2FwaSkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL2ZpeC1wdGhyZWFkLWRl dGFjaC5wYXRjaCBiL3NyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL2ZpeC1wdGhyZWFkLWRldGFjaC5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTUzYzA1YjEzMjAuLjAwMDAwMDAw MDAwCi0tLSBhL3NyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL2ZpeC1wdGhyZWFkLWRldGFjaC5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLUZyb20gYzQ1YjRhNzc0YjZkMTQwNGEw ODBhMWMxNzU5Zjc4MGZhNzhmMjIzYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFNl cmdleSBWb2p0b3ZpY2ggPHN2b2pAbWFyaWFkYi5vcmc+Ci1EYXRlOiBGcmksIDIxIFNlcCAyMDE4 IDE2OjA0OjE2ICswNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIE1ERVYtMTcyMDAgLSBwdGhyZWFkX2Rl dGFjaCBjYWxsZWQgZm9yIGFscmVhZHkgZGV0YWNoZWQKLSB0aHJlYWRzCi0KLXB0aHJlYWRfZGV0 YWNoX3RoaXNfdGhyZWFkKCkgd2FzIGludGVuZGVkIHRvIGJlIGRlZmluZWQgdG8gc29tZXRoaW5n Ci1tZWFuaW5nZnVsIG9ubHkgb24gc29tZSBhbmNpZW50IHVuaXhlcywgd2hpY2ggZG9uJ3QgaGF2 ZQotcHRocmVhZF9hdHRyX3NldGRldGFjaHN0YXRlKCkgZGVmaW5lZC4gT3RoZXJ3aXNlLCBvbiBu b3JtYWwgdW5peGVzLAotdGhyZWFkcyBhcmUgY3JlYXRlZCBkZXRhY2hlZCBpbiB0aGUgZmlyc3Qg cGxhY2UuCi0KLVRoaXMgd2FzIGJyb2tlbiBpbiAwZjAxYmYyNjc2ODAyNDRlYzQ4OGFkYWY2NWE0 MjgzODc1NmVkNDhlIHNvIHRoYXQKLXdlIHN0YXJ0ZWQgY2FsbGluZyBwdGhyZWFkX2RldGFjaCgp IGZvciBhbHJlYWR5IGRldGFjaGVkIHRocmVhZHMuCi1JbnRlbnRpb24gd2FzIHRvIGRldGFjaCBh cmlhIGNoZWNrcG9pbnQgdGhyZWFkLgotCi1Ib3dldmVyIGluIDg3MDA3ZGMyZjcxNjM0Y2M0NjAy NzFlYjI3N2FkODUxZWM2OWMwNGIgYXJpYSBzZXJ2aWNlIHRocmVhZHMKLXdlcmUgbWFkZSBqb2lu YWJsZSB3aXRoIGFwcHJvcHJpYXRlIGhhbmRsaW5nLCB3aGljaCBtYWtlcyBicmVha2luZwotcmV2 aXNpb24gdW5uZWNjZXNzYXJ5LgotCi1SZXZlcnQgcmVtbmFudHMgb2YgMGYwMWJmMjY3NjgwMjQ0 ZWM0ODhhZGFmNjVhNDI4Mzg3NTZlZDQ4ZSwgc28gdGhhdAotcHRocmVhZF9kZXRhY2hfdGhpc190 aHJlYWQoKSBpcyBtZWFuaW5nZnVsIG9ubHkgb24gc29tZSBhbmNpZW50IHVuaXhlcwotYWdhaW4u Ci0KLS0tLSBpbmNsdWRlL215X3B0aHJlYWQuaAotKysrIGluY2x1ZGUvbXlfcHRocmVhZC5oCi1A QCAtMTg0LDcgKzE4NCw3IEBAIGludCBwdGhyZWFkX2NhbmNlbChwdGhyZWFkX3QgdGhyZWFkKTsK LSAjZGVmaW5lIHB0aHJlYWRfa2V5KFQsVikgcHRocmVhZF9rZXlfdCBWCi0gI2RlZmluZSBteV9w dGhyZWFkX2dldHNwZWNpZmljX3B0cihULFYpIG15X3B0aHJlYWRfZ2V0c3BlY2lmaWMoVCwoVikp Ci0gI2RlZmluZSBteV9wdGhyZWFkX3NldHNwZWNpZmljX3B0cihULFYpIHB0aHJlYWRfc2V0c3Bl Y2lmaWMoVCwodm9pZCopIChWKSkKLS0jZGVmaW5lIHB0aHJlYWRfZGV0YWNoX3RoaXNfdGhyZWFk KCkgeyBwdGhyZWFkX3QgdG1wPXB0aHJlYWRfc2VsZigpIDsgcHRocmVhZF9kZXRhY2godG1wKTsg fQotKyNkZWZpbmUgcHRocmVhZF9kZXRhY2hfdGhpc190aHJlYWQoKQotICNkZWZpbmUgcHRocmVh ZF9oYW5kbGVyX3QgRVhURVJOQyB2b2lkICoKLSB0eXBlZGVmIHZvaWQgKigqIHB0aHJlYWRfaGFu ZGxlcikodm9pZCAqKTsKLSAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL2Zv cmNlLWMxMS1hdG9taWNzLnBhdGNoIGIvc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvZm9yY2UtYzEx LWF0b21pY3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk1NDY3OThiZjk3 Li4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9mb3JjZS1jMTEtYXRv bWljcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5NCArMCwwIEBACi0tLS0gaW5jbHVkZS9t eV9hdG9taWMuaAotKysrIGluY2x1ZGUvbXlfYXRvbWljLmgKLUBAIC0xMDQsMjE3ICsxMDQsNiBA QAotICAgYnV0IGNhbiBiZSBhZGRlZCwgaWYgbmVjZXNzYXJ5LgotICovCi0gCi0tI2RlZmluZSBp bnRwdHIgICAgICAgICB2b2lkICoKLS0vKioKLS0gIEN1cnJlbnRseSB3ZSBkb24ndCBzdXBwb3J0 IDgtYml0IGFuZCAxNi1iaXQgb3BlcmF0aW9ucy4KLS0gIEl0IGNhbiBiZSBhZGRlZCBsYXRlciBp ZiBuZWVkZWQuCi0tKi8KLS0jdW5kZWYgTVlfQVRPTUlDX0hBU184XzE2Ci0tCi0tLyoKLS0gKiBB dHRlbXB0IHRvIGRvIGF0b21pYyBvcHMgd2l0aG91dCBsb2NrcwotLSAqLwotLSNpbmNsdWRlICJh dG9taWMvbm9sb2NrLmgiCi0tCi0tI2lmbmRlZiBtYWtlX2F0b21pY19jYXNfYm9keQotLS8qIG5v bG9jay5oIHdhcyBub3QgYWJsZSB0byBnZW5lcmF0ZSBldmVuIGEgQ0FTIGZ1bmN0aW9uLCBmYWxs IGJhY2sgKi8KLS0jZXJyb3IgYXRvbWljIG9wcyBmb3IgdGhpcyBwbGF0Zm9ybSBhcmUgbm90IGlt cGxlbWVudGVkCi0tI2VuZGlmCi0tCi0tLyogZGVmaW5lIG1pc3NpbmcgZnVuY3Rpb25zIGJ5IHVz aW5nIHRoZSBhbHJlYWR5IGdlbmVyYXRlZCBvbmVzICovCi0tI2lmbmRlZiBtYWtlX2F0b21pY19h ZGRfYm9keQotLSNkZWZpbmUgbWFrZV9hdG9taWNfYWRkX2JvZHkoUykgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCi0tICBpbnQgIyMgUyB0bXA9KmE7ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHdoaWxlICghbXlfYXRvbWljX2NhcyAj IyBTKGEsICZ0bXAsIHRtcCt2KSkgOyAgICAgICAgICAgICAgICAgXAotLSAgdj10bXA7Ci0tI2Vu ZGlmCi0tI2lmbmRlZiBtYWtlX2F0b21pY19mYXNfYm9keQotLSNkZWZpbmUgbWFrZV9hdG9taWNf ZmFzX2JvZHkoUykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBpbnQgIyMg UyB0bXA9KmE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK LS0gIHdoaWxlICghbXlfYXRvbWljX2NhcyAjIyBTKGEsICZ0bXAsIHYpKSA7ICAgICAgICAgICAg ICAgICAgICAgXAotLSAgdj10bXA7Ci0tI2VuZGlmCi0tI2lmbmRlZiBtYWtlX2F0b21pY19sb2Fk X2JvZHkKLS0jZGVmaW5lIG1ha2VfYXRvbWljX2xvYWRfYm9keShTKSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXAotLSAgcmV0PSAwOyAvKiBhdm9pZCBjb21waWxlciB3YXJuaW5nICov ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAodm9pZCkobXlfYXRvbWljX2NhcyAjIyBT KGEsICZyZXQsIHJldCkpOwotLSNlbmRpZgotLSNpZm5kZWYgbWFrZV9hdG9taWNfc3RvcmVfYm9k eQotLSNkZWZpbmUgbWFrZV9hdG9taWNfc3RvcmVfYm9keShTKSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcCi0tICAodm9pZCkobXlfYXRvbWljX2ZhcyAjIyBTIChhLCB2KSk7Ci0tI2Vu ZGlmCi0tCi0tLyoKLS0gIHRyYW5zcGFyZW50X3VuaW9uIGRvZXNuJ3Qgd29yayBpbiBnKysKLS0g IEJ1ZyA/Ci0tCi0tICBEYXJ3aW4ncyBnY2MgZG9lc24ndCB3YW50IHRvIHB1dCBwb2ludGVycyBp biBhIHRyYW5zcGFyZW50X3VuaW9uCi0tICB3aGVuIGJ1aWx0IHdpdGggLWFyY2ggcHBjNjQuIENv bXBsYWluczoKLS0gIHdhcm5pbmc6ICd0cmFuc3BhcmVudF91bmlvbicgYXR0cmlidXRlIGlnbm9y ZWQKLS0qLwotLSNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiAhZGVmaW5lZChfX2NwbHVzcGx1cykg JiYgXAotLSAgICAgICEgKGRlZmluZWQoX19BUFBMRV9fKSAmJiAoZGVmaW5lZChfQVJDSF9QUEM2 NCkgfHxkZWZpbmVkIChfQVJDSF9QUEMpKSkKLS0vKgotLSAgd2Ugd2FudCB0byBiZSBhYmxlIHRv IHVzZSBteV9hdG9taWNfeHh4IGZ1bmN0aW9ucyB3aXRoCi0tICBib3RoIHNpZ25lZCBhbmQgdW5z aWduZWQgaW50ZWdlcnMuIEJ1dCBnY2Mgd2lsbCBpc3N1ZSBhIHdhcm5pbmcKLS0gICJwYXNzaW5n IGFyZyBOIG9mIGBteV9hdG9taWNfWFhYJyBhcyBbdW5dc2lnbmVkIGR1ZSB0byBwcm90b3R5cGUi Ci0tICBpZiB0aGUgc2lnbmVkbmVzcyBvZiB0aGUgYXJndW1lbnQgZG9lc24ndCBtYXRjaCB0aGUg cHJvdG90eXBlLCBvcgotLSAgInBvaW50ZXIgdGFyZ2V0cyBpbiBwYXNzaW5nIGFyZ3VtZW50IE4g b2YgbXlfYXRvbWljX1hYWCBkaWZmZXIgaW4gc2lnbmVkbmVzcyIKLS0gIGlmIGludCogaXMgdXNl ZCB3aGVyZSB1aW50KiBpcyBleHBlY3RlZCAob3IgdmljZSB2ZXJzYSkuCi0tICBMZXQncyBzaHV0 IHRoZXNlIHdhcm5pbmdzIHVwCi0tKi8KLS0jZGVmaW5lIG1ha2VfdHJhbnNwYXJlbnRfdW5pb25z KFMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgdHlwZWRlZiB1bmlv biB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAg IGludCAgIyMgUyAgaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK LS0gICAgICAgICAgdWludCAjIyBTICB1OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAotLSAgICAgICAgfSBVXyAjIyBTICAgX19hdHRyaWJ1dGVfXyAoKHRyYW5zcGFy ZW50X3VuaW9uKSk7ICAgICAgICBcCi0tICAgICAgICB0eXBlZGVmIHVuaW9uIHsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgaW50ICAjIyBTIHZv bGF0aWxlICppOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICB1 aW50ICMjIFMgdm9sYXRpbGUgKnU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0t ICAgICAgICB9IFV2XyAjIyBTICAgX19hdHRyaWJ1dGVfXyAoKHRyYW5zcGFyZW50X3VuaW9uKSk7 Ci0tI2RlZmluZSB1aW50cHRyIGludHB0cgotLW1ha2VfdHJhbnNwYXJlbnRfdW5pb25zKDgpCi0t bWFrZV90cmFuc3BhcmVudF91bmlvbnMoMTYpCi0tbWFrZV90cmFuc3BhcmVudF91bmlvbnMoMzIp Ci0tbWFrZV90cmFuc3BhcmVudF91bmlvbnMoNjQpCi0tbWFrZV90cmFuc3BhcmVudF91bmlvbnMo cHRyKQotLSN1bmRlZiB1aW50cHRyCi0tI3VuZGVmIG1ha2VfdHJhbnNwYXJlbnRfdW5pb25zCi0t I2RlZmluZSBhICAgICAgIFVfYS5pCi0tI2RlZmluZSBjbXAgICAgIFVfY21wLmkKLS0jZGVmaW5l IHYgICAgICAgVV92LmkKLS0jZGVmaW5lIHNldCAgICAgVV9zZXQuaQotLSNlbHNlCi0tI2RlZmlu ZSBVXzggICAgaW50OAotLSNkZWZpbmUgVV8xNiAgIGludDE2Ci0tI2RlZmluZSBVXzMyICAgaW50 MzIKLS0jZGVmaW5lIFVfNjQgICBpbnQ2NAotLSNkZWZpbmUgVV9wdHIgIGludHB0cgotLSNkZWZp bmUgVXZfOCAgIGludDgKLS0jZGVmaW5lIFV2XzE2ICBpbnQxNgotLSNkZWZpbmUgVXZfMzIgIGlu dDMyCi0tI2RlZmluZSBVdl82NCAgaW50NjQKLS0jZGVmaW5lIFV2X3B0ciBpbnRwdHIKLS0jZGVm aW5lIFVfYSAgICB2b2xhdGlsZSAqYQotLSNkZWZpbmUgVV9jbXAgICpjbXAKLS0jZGVmaW5lIFVf diAgICB2Ci0tI2RlZmluZSBVX3NldCAgc2V0Ci0tI2VuZGlmIC8qIF9fR0NDX18gdHJhbnNwYXJl bnRfdW5pb24gbWFnaWMgKi8KLS0KLS0jZGVmaW5lIG1ha2VfYXRvbWljX2NhcyhTKSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLXN0YXRpYyBpbmxpbmUgaW50IG15X2F0 b21pY19jYXMgIyMgUyhVdl8gIyMgUyBVX2EsICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFV2XyAjIyBTIFVfY21wLCBVXyAjIyBTIFVfc2V0KSAgICAgIFwKLS17 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAotLSAgaW50OCByZXQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCi0tICBtYWtlX2F0b21pY19jYXNfYm9keShTKTsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHJldHVybiByZXQ7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0KLS0KLS0jZGVmaW5l IG1ha2VfYXRvbWljX2FkZChTKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAotLXN0YXRpYyBpbmxpbmUgaW50ICMjIFMgbXlfYXRvbWljX2FkZCAjIyBTKCAgICAgICAgICAg ICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgVXZfICMjIFMgVV9hLCBVXyAj IyBTIFVfdikgICAgICAgICAgICAgIFwKLS17ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgbWFrZV9hdG9taWNfYWRkX2Jv ZHkoUyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICByZXR1cm4g djsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK LS19Ci0tCi0tI2RlZmluZSBtYWtlX2F0b21pY19mYXMoUykgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKLS1zdGF0aWMgaW5saW5lIGludCAjIyBTIG15X2F0b21pY19mYXMg IyMgUyggICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgICBV dl8gIyMgUyBVX2EsIFVfICMjIFMgVV92KSAgICAgICAgICAgICBcCi0teyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIG1h a2VfYXRvbWljX2Zhc19ib2R5KFMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAotLSAgcmV0dXJuIHY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCi0tfQotLQotLSNkZWZpbmUgbWFrZV9hdG9taWNfbG9hZChTKSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tc3RhdGljIGlubGluZSBpbnQgIyMg UyBteV9hdG9taWNfbG9hZCAjIyBTKFV2XyAjIyBTIFVfYSkgICAgICAgIFwKLS17ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot LSAgaW50ICMjIFMgcmV0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCi0tICBtYWtlX2F0b21pY19sb2FkX2JvZHkoUyk7ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKLS0gIHJldHVybiByZXQ7ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0KLS0KLS0jZGVmaW5lIG1ha2VfYXRv bWljX3N0b3JlKFMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLXN0YXRp YyBpbmxpbmUgdm9pZCBteV9hdG9taWNfc3RvcmUgIyMgUyggICAgICAgICAgICAgICAgICAgICAg ICBcCi0tICAgICAgICAgICAgICAgICAgICAgVXZfICMjIFMgVV9hLCBVXyAjIyBTIFVfdikgICAg ICAgICAgICAgICAgIFwKLS17ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgbWFrZV9hdG9taWNfc3RvcmVfYm9keShTKTsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfQotLQotLSNpZmRlZiBNWV9B VE9NSUNfSEFTXzhfMTYKLS1tYWtlX2F0b21pY19jYXMoOCkKLS1tYWtlX2F0b21pY19jYXMoMTYp Ci0tI2VuZGlmCi0tbWFrZV9hdG9taWNfY2FzKDMyKQotLW1ha2VfYXRvbWljX2Nhcyg2NCkKLS1t YWtlX2F0b21pY19jYXMocHRyKQotLQotLSNpZmRlZiBNWV9BVE9NSUNfSEFTXzhfMTYKLS1tYWtl X2F0b21pY19hZGQoOCkKLS1tYWtlX2F0b21pY19hZGQoMTYpCi0tI2VuZGlmCi0tbWFrZV9hdG9t aWNfYWRkKDMyKQotLW1ha2VfYXRvbWljX2FkZCg2NCkKLS0KLS0jaWZkZWYgTVlfQVRPTUlDX0hB U184XzE2Ci0tbWFrZV9hdG9taWNfbG9hZCg4KQotLW1ha2VfYXRvbWljX2xvYWQoMTYpCi0tI2Vu ZGlmCi0tbWFrZV9hdG9taWNfbG9hZCgzMikKLS1tYWtlX2F0b21pY19sb2FkKDY0KQotLW1ha2Vf YXRvbWljX2xvYWQocHRyKQotLQotLSNpZmRlZiBNWV9BVE9NSUNfSEFTXzhfMTYKLS1tYWtlX2F0 b21pY19mYXMoOCkKLS1tYWtlX2F0b21pY19mYXMoMTYpCi0tI2VuZGlmCi0tbWFrZV9hdG9taWNf ZmFzKDMyKQotLW1ha2VfYXRvbWljX2Zhcyg2NCkKLS1tYWtlX2F0b21pY19mYXMocHRyKQotLQot LSNpZmRlZiBNWV9BVE9NSUNfSEFTXzhfMTYKLS1tYWtlX2F0b21pY19zdG9yZSg4KQotLW1ha2Vf YXRvbWljX3N0b3JlKDE2KQotLSNlbmRpZgotLW1ha2VfYXRvbWljX3N0b3JlKDMyKQotLW1ha2Vf YXRvbWljX3N0b3JlKDY0KQotLW1ha2VfYXRvbWljX3N0b3JlKHB0cikKLS0KLS0jaWZkZWYgX2F0 b21pY19oX2NsZWFudXBfCi0tI2luY2x1ZGUgX2F0b21pY19oX2NsZWFudXBfCi0tI3VuZGVmIF9h dG9taWNfaF9jbGVhbnVwXwotLSNlbmRpZgotLQotLSN1bmRlZiBVXzgKLS0jdW5kZWYgVV8xNgot LSN1bmRlZiBVXzMyCi0tI3VuZGVmIFVfNjQKLS0jdW5kZWYgVV9wdHIKLS0jdW5kZWYgVXZfOAot LSN1bmRlZiBVdl8xNgotLSN1bmRlZiBVdl8zMgotLSN1bmRlZiBVdl82NAotLSN1bmRlZiBVdl9w dHIKLS0jdW5kZWYgYQotLSN1bmRlZiBjbXAKLS0jdW5kZWYgdgotLSN1bmRlZiBzZXQKLS0jdW5k ZWYgVV9hCi0tI3VuZGVmIFVfY21wCi0tI3VuZGVmIFVfdgotLSN1bmRlZiBVX3NldAotLSN1bmRl ZiBtYWtlX2F0b21pY19hZGQKLS0jdW5kZWYgbWFrZV9hdG9taWNfY2FzCi0tI3VuZGVmIG1ha2Vf YXRvbWljX2xvYWQKLS0jdW5kZWYgbWFrZV9hdG9taWNfc3RvcmUKLS0jdW5kZWYgbWFrZV9hdG9t aWNfZmFzCi0tI3VuZGVmIG1ha2VfYXRvbWljX2FkZF9ib2R5Ci0tI3VuZGVmIG1ha2VfYXRvbWlj X2Nhc19ib2R5Ci0tI3VuZGVmIG1ha2VfYXRvbWljX2xvYWRfYm9keQotLSN1bmRlZiBtYWtlX2F0 b21pY19zdG9yZV9ib2R5Ci0tI3VuZGVmIG1ha2VfYXRvbWljX2Zhc19ib2R5Ci0tI3VuZGVmIGlu dHB0cgotLQotIC8qCi0gICB0aGUgbWFjcm8gYmVsb3cgZGVmaW5lcyAoYXMgYW4gZXhwcmVzc2lv bikgdGhlIGNvZGUgdGhhdAotICAgd2lsbCBiZSBydW4gaW4gc3Bpbi1sb29wcy4gSW50ZWwgbWFu dWFscyByZWN1bW1lbmQgdG8gaGF2ZSBQQVVTRSB0aGVyZS4KLUBAIC0zMjgsNyArMTE3LDggQEAg bWFrZV9hdG9taWNfc3RvcmUocHRyKQotICNkZWZpbmUgTVlfQVRPTUlDX05PVF8xQ1BVIDEKLSBl eHRlcm4gaW50IG15X2F0b21pY19pbml0aWFsaXplKCk7Ci0gCi0tI2lmZGVmIF9fQVRPTUlDX1NF UV9DU1QKLSsjZGVmaW5lIE1ZX0FUT01JQ19NT0RFICJnY2MtYXRvbWljcy1zbXAiCi0rCi0gI2Rl ZmluZSBNWV9NRU1PUllfT1JERVJfUkVMQVhFRCBfX0FUT01JQ19SRUxBWEVECi0gI2RlZmluZSBN WV9NRU1PUllfT1JERVJfQ09OU1VNRSBfX0FUT01JQ19DT05TVU1FCi0gI2RlZmluZSBNWV9NRU1P UllfT1JERVJfQUNRVUlSRSBfX0FUT01JQ19BQ1FVSVJFCi1AQCAtMzY0LDQzICsxNTQsMjcgQEAg ZXh0ZXJuIGludCBteV9hdG9taWNfaW5pdGlhbGl6ZSgpOwotICAgX19hdG9taWNfY29tcGFyZV9l eGNoYW5nZV9uKChQKSwgKEUpLCAoRCksIGZhbHNlLCAoUyksIChGKSkKLSAjZGVmaW5lIG15X2F0 b21pY19jYXNwdHJfc3Ryb25nX2V4cGxpY2l0KFAsIEUsIEQsIFMsIEYpIFwKLSAgIF9fYXRvbWlj X2NvbXBhcmVfZXhjaGFuZ2VfbigoUCksIChFKSwgKEQpLCBmYWxzZSwgKFMpLCAoRikpCi0tI2Vs c2UKLS0jZGVmaW5lIE1ZX01FTU9SWV9PUkRFUl9SRUxBWEVECi0tI2RlZmluZSBNWV9NRU1PUllf T1JERVJfQ09OU1VNRQotLSNkZWZpbmUgTVlfTUVNT1JZX09SREVSX0FDUVVJUkUKLS0jZGVmaW5l IE1ZX01FTU9SWV9PUkRFUl9SRUxFQVNFCi0tI2RlZmluZSBNWV9NRU1PUllfT1JERVJfQUNRX1JF TAotLSNkZWZpbmUgTVlfTUVNT1JZX09SREVSX1NFUV9DU1QKLS0KLS0jZGVmaW5lIG15X2F0b21p Y19zdG9yZTMyX2V4cGxpY2l0KFAsIEQsIE8pIG15X2F0b21pY19zdG9yZTMyKChQKSwgKEQpKQot LSNkZWZpbmUgbXlfYXRvbWljX3N0b3JlNjRfZXhwbGljaXQoUCwgRCwgTykgbXlfYXRvbWljX3N0 b3JlNjQoKFApLCAoRCkpCi0tI2RlZmluZSBteV9hdG9taWNfc3RvcmVwdHJfZXhwbGljaXQoUCwg RCwgTykgbXlfYXRvbWljX3N0b3JlcHRyKChQKSwgKEQpKQotLQotLSNkZWZpbmUgbXlfYXRvbWlj X2xvYWQzMl9leHBsaWNpdChQLCBPKSBteV9hdG9taWNfbG9hZDMyKChQKSkKLS0jZGVmaW5lIG15 X2F0b21pY19sb2FkNjRfZXhwbGljaXQoUCwgTykgbXlfYXRvbWljX2xvYWQ2NCgoUCkpCi0tI2Rl ZmluZSBteV9hdG9taWNfbG9hZHB0cl9leHBsaWNpdChQLCBPKSBteV9hdG9taWNfbG9hZHB0cigo UCkpCi0tCi0tI2RlZmluZSBteV9hdG9taWNfZmFzMzJfZXhwbGljaXQoUCwgRCwgTykgbXlfYXRv bWljX2ZhczMyKChQKSwgKEQpKQotLSNkZWZpbmUgbXlfYXRvbWljX2ZhczY0X2V4cGxpY2l0KFAs IEQsIE8pIG15X2F0b21pY19mYXM2NCgoUCksIChEKSkKLS0jZGVmaW5lIG15X2F0b21pY19mYXNw dHJfZXhwbGljaXQoUCwgRCwgTykgbXlfYXRvbWljX2Zhc3B0cigoUCksIChEKSkKLS0KLS0jZGVm aW5lIG15X2F0b21pY19hZGQzMl9leHBsaWNpdChQLCBBLCBPKSBteV9hdG9taWNfYWRkMzIoKFAp LCAoQSkpCi0tI2RlZmluZSBteV9hdG9taWNfYWRkNjRfZXhwbGljaXQoUCwgQSwgTykgbXlfYXRv bWljX2FkZDY0KChQKSwgKEEpKQotLSNkZWZpbmUgbXlfYXRvbWljX2FkZHB0cl9leHBsaWNpdChQ LCBBLCBPKSBteV9hdG9taWNfYWRkcHRyKChQKSwgKEEpKQotIAotLSNkZWZpbmUgbXlfYXRvbWlj X2NhczMyX3dlYWtfZXhwbGljaXQoUCwgRSwgRCwgUywgRikgXAotLSAgbXlfYXRvbWljX2NhczMy KChQKSwgKEUpLCAoRCkpCi0tI2RlZmluZSBteV9hdG9taWNfY2FzNjRfd2Vha19leHBsaWNpdChQ LCBFLCBELCBTLCBGKSBcCi0tICBteV9hdG9taWNfY2FzNjQoKFApLCAoRSksIChEKSkKLS0jZGVm aW5lIG15X2F0b21pY19jYXNwdHJfd2Vha19leHBsaWNpdChQLCBFLCBELCBTLCBGKSBcCi0tICBt eV9hdG9taWNfY2FzcHRyKChQKSwgKEUpLCAoRCkpCi0rI2RlZmluZSBteV9hdG9taWNfc3RvcmUz MihQLCBEKSBfX2F0b21pY19zdG9yZV9uKChQKSwgKEQpLCBfX0FUT01JQ19TRVFfQ1NUKQotKyNk ZWZpbmUgbXlfYXRvbWljX3N0b3JlNjQoUCwgRCkgX19hdG9taWNfc3RvcmVfbigoUCksIChEKSwg X19BVE9NSUNfU0VRX0NTVCkKLSsjZGVmaW5lIG15X2F0b21pY19zdG9yZXB0cihQLCBEKSBfX2F0 b21pY19zdG9yZV9uKChQKSwgKEQpLCBfX0FUT01JQ19TRVFfQ1NUKQotIAotLSNkZWZpbmUgbXlf YXRvbWljX2NhczMyX3N0cm9uZ19leHBsaWNpdChQLCBFLCBELCBTLCBGKSBcCi0tICBteV9hdG9t aWNfY2FzMzIoKFApLCAoRSksIChEKSkKLS0jZGVmaW5lIG15X2F0b21pY19jYXM2NF9zdHJvbmdf ZXhwbGljaXQoUCwgRSwgRCwgUywgRikgXAotLSAgbXlfYXRvbWljX2NhczY0KChQKSwgKEUpLCAo RCkpCi0tI2RlZmluZSBteV9hdG9taWNfY2FzcHRyX3N0cm9uZ19leHBsaWNpdChQLCBFLCBELCBT LCBGKSBcCi0tICBteV9hdG9taWNfY2FzcHRyKChQKSwgKEUpLCAoRCkpCi0tI2VuZGlmCi0rI2Rl ZmluZSBteV9hdG9taWNfbG9hZDMyKFApIF9fYXRvbWljX2xvYWRfbigoUCksIF9fQVRPTUlDX1NF UV9DU1QpCi0rI2RlZmluZSBteV9hdG9taWNfbG9hZDY0KFApIF9fYXRvbWljX2xvYWRfbigoUCks IF9fQVRPTUlDX1NFUV9DU1QpCi0rI2RlZmluZSBteV9hdG9taWNfbG9hZHB0cihQKSBfX2F0b21p Y19sb2FkX24oKFApLCBfX0FUT01JQ19TRVFfQ1NUKQotKwotKyNkZWZpbmUgbXlfYXRvbWljX2Zh czMyKFAsIEQpIF9fYXRvbWljX2V4Y2hhbmdlX24oKFApLCAoRCksIF9fQVRPTUlDX1NFUV9DU1Qp Ci0rI2RlZmluZSBteV9hdG9taWNfZmFzNjQoUCwgRCkgX19hdG9taWNfZXhjaGFuZ2VfbigoUCks IChEKSwgX19BVE9NSUNfU0VRX0NTVCkKLSsjZGVmaW5lIG15X2F0b21pY19mYXNwdHIoUCwgRCkg X19hdG9taWNfZXhjaGFuZ2VfbigoUCksIChEKSwgX19BVE9NSUNfU0VRX0NTVCkKLSsKLSsjZGVm aW5lIG15X2F0b21pY19hZGQzMihQLCBBKSBfX2F0b21pY19mZXRjaF9hZGQoKFApLCAoQSksIF9f QVRPTUlDX1NFUV9DU1QpCi0rI2RlZmluZSBteV9hdG9taWNfYWRkNjQoUCwgQSkgX19hdG9taWNf ZmV0Y2hfYWRkKChQKSwgKEEpLCBfX0FUT01JQ19TRVFfQ1NUKQotKwotKyNkZWZpbmUgbXlfYXRv bWljX2NhczMyKFAsIEUsIEQpIFwKLSsgIF9fYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2VfbigoUCks IChFKSwgKEQpLCAwLCBfX0FUT01JQ19TRVFfQ1NULCBfX0FUT01JQ19TRVFfQ1NUKQotKyNkZWZp bmUgbXlfYXRvbWljX2NhczY0KFAsIEUsIEQpIFwKLSsgIF9fYXRvbWljX2NvbXBhcmVfZXhjaGFu Z2VfbigoUCksIChFKSwgKEQpLCAwLCBfX0FUT01JQ19TRVFfQ1NULCBfX0FUT01JQ19TRVFfQ1NU KQotKyNkZWZpbmUgbXlfYXRvbWljX2Nhc3B0cihQLCBFLCBEKSBcCi0rICBfX2F0b21pY19jb21w YXJlX2V4Y2hhbmdlX24oKFApLCAoRSksIChEKSwgMCwgX19BVE9NSUNfU0VRX0NTVCwgX19BVE9N SUNfU0VRX0NTVCkKLSAKLSAjZW5kaWYgLyogTVlfQVRPTUlDX0lOQ0xVREVEICovCmRpZmYgLS1n aXQgYS9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9saWJhdG9taWMucGF0Y2ggYi9zcmNwa2dzL21h cmlhZGIvcGF0Y2hlcy9saWJhdG9taWMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDBlOGU4NzJkOWMyLi4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL21hcmlhZGIvcGF0Y2hl cy9saWJhdG9taWMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDMgKzAsMCBAQAotU291cmNl OiBEZWJpYW4sIHE2NgotCi1UaGlzIGVuc3VyZXMgYXJjaGVzIHRoYXQgbmVlZCBsaWJhdG9taWMg cHJvcGVybHkgZ2V0IGl0IHdoZXJlIG5lY2Vzc2FyeS4KLUl0IGFsc28gcmVtb3ZlcyB0aGUgc3lu YyBidWlsdGluIGNoZWNrcyB0aGF0IGFyZSBub3QgbmVjZXNzYXJ5IHdoZW4KLXVzaW5nIEMxMSBh dG9taWNzIChsaWtlIHdlIGFsd2F5cyBhcmUgYmVjYXVzZSB3ZSdyZSBvbiBhIG1vZGVybiBnY2Mp Ci10aGF0IGJyZWFrIGJ1aWxkIG9uIGUuZy4gcHBjMzIgYW5kIG1pcHMuCi0KLS0tLSBjb25maWd1 cmUuY21ha2UKLSsrKyBjb25maWd1cmUuY21ha2UKLUBAIC05OTIsMzUgKzk5MiwxOSBAQCBTRVQo U0lHTkFMX1dJVEhfVklPX0NMT1NFIDEpCi0gCi0gTUFSS19BU19BRFZBTkNFRChOT19BTEFSTSkK LSAKLS0KLS1JRihXSVRIX0FUT01JQ19PUFMgU1RSRVFVQUwgInVwIikKLS0gIFNFVChNWV9BVE9N SUNfTU9ERV9EVU1NWSAxIENBQ0hFIEJPT0wgIkFzc3VtZSBzaW5nbGUtQ1BVIG1vZGUsIG5vIGNv bmN1cnJlbmN5IikKLS1FTFNFSUYoV0lUSF9BVE9NSUNfT1BTIFNUUkVRVUFMICJzbXAiKQotLUVM U0VJRihOT1QgV0lUSF9BVE9NSUNfT1BTKQotLSAgQ0hFQ0tfQ1hYX1NPVVJDRV9DT01QSUxFUygi Ci0tICBpbnQgbWFpbigpCi0tICB7Ci0tICAgIGludCBmb289IC0xMDsgaW50IGJhcj0gMTA7Ci0t ICAgIGxvbmcgbG9uZyBpbnQgZm9vNjQ9IC0xMDsgbG9uZyBsb25nIGludCBiYXI2ND0gMTA7Ci0t ICAgIGlmICghX19zeW5jX2ZldGNoX2FuZF9hZGQoJmZvbywgYmFyKSB8fCBmb28pCi0tICAgICAg cmV0dXJuIC0xOwotLSAgICBiYXI9IF9fc3luY19sb2NrX3Rlc3RfYW5kX3NldCgmZm9vLCBiYXIp OwotLSAgICBpZiAoYmFyIHx8IGZvbyAhPSAxMCkKLS0gICAgICByZXR1cm4gLTE7Ci0tICAgIGJh cj0gX19zeW5jX3ZhbF9jb21wYXJlX2FuZF9zd2FwKCZiYXIsIGZvbywgMTUpOwotLSAgICBpZiAo YmFyKQotLSAgICAgIHJldHVybiAtMTsKLS0gICAgaWYgKCFfX3N5bmNfZmV0Y2hfYW5kX2FkZCgm Zm9vNjQsIGJhcjY0KSB8fCBmb282NCkKLS0gICAgICByZXR1cm4gLTE7Ci0tICAgIGJhcjY0PSBf X3N5bmNfbG9ja190ZXN0X2FuZF9zZXQoJmZvbzY0LCBiYXI2NCk7Ci0tICAgIGlmIChiYXI2NCB8 fCBmb282NCAhPSAxMCkKLS0gICAgICByZXR1cm4gLTE7Ci0tICAgIGJhcjY0PSBfX3N5bmNfdmFs X2NvbXBhcmVfYW5kX3N3YXAoJmJhcjY0LCBmb28sIDE1KTsKLS0gICAgaWYgKGJhcjY0KQotLSAg ICAgIHJldHVybiAtMTsKLS0gICAgcmV0dXJuIDA7Ci0tICB9IgotLSAgSEFWRV9HQ0NfQVRPTUlD X0JVSUxUSU5TKQotK0NIRUNLX0NYWF9TT1VSQ0VfQ09NUElMRVMoIgotK2ludCBtYWluKCkKLSt7 Ci0rICBsb25nIGxvbmcgaW50IHZhcj0gMTsKLSsgIGxvbmcgbG9uZyBpbnQgKnB0cj0gJnZhcjsK LSsgIHJldHVybiAoaW50KV9fYXRvbWljX2xvYWRfbihwdHIsIF9fQVRPTUlDX1NFUV9DU1QpOwot K30iCi0rSEFWRV9HQ0NfQzExX0FUT01JQ1NfV0lUSE9VVF9MSUJBVE9NSUMpCi0rSUYgKEhBVkVf R0NDX0MxMV9BVE9NSUNTX1dJVEhPVVRfTElCQVRPTUlDKQotKyAgU0VUKEhBVkVfR0NDX0MxMV9B VE9NSUNTIFRydWUpCi0rRUxTRSgpCi0rICBTRVQoT0xEX0NNQUtFX1JFUVVJUkVEX0xJQlJBUklF UyAke0NNQUtFX1JFUVVJUkVEX0xJQlJBUklFU30pCi0rICBMSVNUKEFQUEVORCBDTUFLRV9SRVFV SVJFRF9MSUJSQVJJRVMgImF0b21pYyIpCi0gICBDSEVDS19DWFhfU09VUkNFX0NPTVBJTEVTKCIK LSAgIGludCBtYWluKCkKLSAgIHsKLUBAIC0xMDI4LDE0ICsxMDEyLDEzIEBAIEVMU0VJRihOT1Qg V0lUSF9BVE9NSUNfT1BTKQotICAgICBsb25nIGxvbmcgaW50ICpwdHI9ICZ2YXI7Ci0gICAgIHJl dHVybiAoaW50KV9fYXRvbWljX2xvYWRfbihwdHIsIF9fQVRPTUlDX1NFUV9DU1QpOwotICAgfSIK LS0gIEhBVkVfR0NDX0MxMV9BVE9NSUNTKQotLUVMU0UoKQotLSAgTUVTU0FHRShGQVRBTF9FUlJP UiAiJHtXSVRIX0FUT01JQ19PUFN9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBXSVRIX0FUT01J Q19PUFMhIikKLSsgIEhBVkVfR0NDX0MxMV9BVE9NSUNTX1dJVEhfTElCQVRPTUlDKQotKyAgSUYo SEFWRV9HQ0NfQzExX0FUT01JQ1NfV0lUSF9MSUJBVE9NSUMpCi0rICAgIFNFVChIQVZFX0dDQ19D MTFfQVRPTUlDUyBUcnVlKQotKyAgRU5ESUYoKQotKyAgU0VUKENNQUtFX1JFUVVJUkVEX0xJQlJB UklFUyAke09MRF9DTUFLRV9SRVFVSVJFRF9MSUJSQVJJRVN9KQotIEVORElGKCkKLSAKLS1TRVQo V0lUSF9BVE9NSUNfT1BTICIke1dJVEhfQVRPTUlDX09QU30iIENBQ0hFIFNUUklORyAiSW1wbGVt ZW50IGF0b21pYyBvcGVyYXRpb25zIHVzaW5nIGF0b21pYyBDUFUgaW5zdHJ1Y3Rpb25zIGZvciBt dWx0aS1wcm9jZXNzb3IgKHNtcCkgb3IgdW5pcHJvY2Vzc29yICh1cCkgY29uZmlndXJhdGlvbi4g QnkgZGVmYXVsdCBnY2MgYnVpbHQtaW4gc3luYyBmdW5jdGlvbnMgYXJlIHVzZWQsIGlmIGF2YWls YWJsZSBhbmQgJ3NtcCcgY29uZmlndXJhdGlvbiBvdGhlcndpc2UuIikKLS1NQVJLX0FTX0FEVkFO Q0VEKFdJVEhfQVRPTUlDX09QUyBNWV9BVE9NSUNfTU9ERV9EVU1NWSkKLS0KLSBJRihXSVRIX1ZB TEdSSU5EKQotICAgU0VUKEhBVkVfdmFsZ3JpbmQgMSkKLSBFTkRJRigpCi0tLS0gbXlzeXMvQ01h a2VMaXN0cy50eHQKLSsrKyBteXN5cy9DTWFrZUxpc3RzLnR4dAotQEAgLTc0LDYgKzc0LDEwIEBA IFRBUkdFVF9MSU5LX0xJQlJBUklFUyhteXN5cyBkYnVnIHN0cmluZ3MgbXlzeXNfc3NsICR7WkxJ Ql9MSUJSQVJZfQotICAke0xJQk5TTH0gJHtMSUJNfSAke0xJQlJUfSAke0xJQkRMfSAke0xJQlNP Q0tFVH0gJHtMSUJFWEVDSU5GT30pCi0gRFRSQUNFX0lOU1RSVU1FTlQobXlzeXMpCi0gCi0rSUYg KEhBVkVfR0NDX0MxMV9BVE9NSUNTX1dJVEhfTElCQVRPTUlDKQotKyAgVEFSR0VUX0xJTktfTElC UkFSSUVTKG15c3lzIGF0b21pYykKLStFTkRJRigpCi0rCi0gSUYoSEFWRV9CRkRfSCkKLSAgIFRB UkdFVF9MSU5LX0xJQlJBUklFUyhteXN5cyBiZmQpICAKLSBFTkRJRihIQVZFX0JGRF9IKQotLS0t IHNxbC9DTWFrZUxpc3RzLnR4dAotKysrIHNxbC9DTWFrZUxpc3RzLnR4dAotQEAgLTE3Miw2ICsx NzIsOSBAQCBFTFNFKCkKLSAgIFNFVChNWVNRTERfU09VUkNFIG1haW4uY2MgJHtEVFJBQ0VfUFJP QkVTX0FMTH0pCi0gRU5ESUYoKQotIAotK0lGIChIQVZFX0dDQ19DMTFfQVRPTUlDU19XSVRIX0xJ QkFUT01JQykKLSsgIFRBUkdFVF9MSU5LX0xJQlJBUklFUyhzcWwgYXRvbWljKQotK0VORElGKCkK LSAKLSBJRihNU1ZDIEFORCBOT1QgV0lUSE9VVF9EWU5BTUlDX1BMVUdJTlMpCi0gCmRpZmYgLS1n aXQgYS9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9taXBzLWNvbm5lY3QtdW5hbGlnbmVkLnBhdGNo IGIvc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvbWlwcy1jb25uZWN0LXVuYWxpZ25lZC5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYWUyZjZlMDNkMmUKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9taXBzLWNvbm5lY3QtdW5hbGln bmVkLnBhdGNoCkBAIC0wLDAgKzEsMjU3IEBACitGcm9tOiBEZWJpYW4gTXlTUUwgTWFpbnRhaW5l cnMgPHBrZy1teXNxbC1tYWludEBsaXN0cy5hbGlvdGguZGViaWFuLm9yZz4KK0RhdGU6IFRodSwg MTAgQXVnIDIwMTcgMjA6NDA6MjggKzAyMDAKK1N1YmplY3Q6IG1pcHMtY29ubmVjdC11bmFsaWdu ZWQKKworLS0tCisgc3RvcmFnZS9jb25uZWN0L3ZhbGJsay5jcHAgfCA0MSArKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0tLS0tCisgc3RvcmFnZS9jb25uZWN0L3ZhbGJsay5oICAgfCA1 MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCisgMiBmaWxl cyBjaGFuZ2VkLCA1MiBpbnNlcnRpb25zKCspLCA0MCBkZWxldGlvbnMoLSkKKworLS0tIHN0b3Jh Z2UvY29ubmVjdC92YWxibGsuY3BwCisrKysgc3RvcmFnZS9jb25uZWN0L3ZhbGJsay5jcHAKK0BA IC0yNjgsMTQgKzI2OCwxNCBAQCBib29sIFRZUEJMSzxUWVBFPjo6SW5pdChQR0xPQkFMIGcsIGJv b2wKKyB0ZW1wbGF0ZSA8Y2xhc3MgVFlQRT4KKyBjaGFyICpUWVBCTEs8VFlQRT46OkdldENoYXJT dHJpbmcoY2hhciAqcCwgaW50IG4pCisgICB7CistICBzcHJpbnRmKHAsIEZtdCwgVHlwcFtuXSk7 CisrICBzcHJpbnRmKHAsIEZtdCwgVW5hbGlnbmVkUmVhZChuKSk7CisgICByZXR1cm4gcDsKKyAg IH0gLy8gZW5kIG9mIEdldENoYXJTdHJpbmcKKyAKKyB0ZW1wbGF0ZSA8PgorIGNoYXIgKlRZUEJM Szxkb3VibGU+OjpHZXRDaGFyU3RyaW5nKGNoYXIgKnAsIGludCBuKQorICAgeworLSAgc3ByaW50 ZihwLCBGbXQsIFByZWMsIFR5cHBbbl0pOworKyAgc3ByaW50ZihwLCBGbXQsIFByZWMsIFVuYWxp Z25lZFJlYWQobikpOworICAgcmV0dXJuIHA7CisgICB9IC8vIGVuZCBvZiBHZXRDaGFyU3RyaW5n CisgCitAQCAtMjkxLDcgKzI5MSw3IEBAIHZvaWQgVFlQQkxLPFRZUEU+OjpTZXRWYWx1ZShQVkFM IHZhbHAsIGkKKyAgIENoa1R5cCh2YWxwKTsKKyAKKyAgIGlmICghKGIgPSB2YWxwLT5Jc051bGwo KSkpCistICAgIFR5cHBbbl0gPSBHZXRUeXBlZFZhbHVlKHZhbHApOworKyAgICBVbmFsaWduZWRX cml0ZShuLCBHZXRUeXBlZFZhbHVlKHZhbHApKTsKKyAgIGVsc2UKKyAgICAgUmVzZXQobik7Cisg CitAQCAtMzUzLDkgKzM1Myw5IEBAIHZvaWQgVFlQQkxLPFRZUEU+OjpTZXRWYWx1ZShQQ1NaIHAs IGludAorICAgdWxvbmdsb25nIHZhbCA9IENoYXJUb051bWJlcihwLCBzdHJsZW4ocCksIG1heHZh bCwgVW5zaWduZWQsICZtaW51cyk7IAorICAgICAKKyAgIGlmIChtaW51cyAmJiB2YWwgPCBtYXh2 YWwpCistICAgIFR5cHBbbl0gPSAoVFlQRSkoLShzaWduZWQpdmFsKTsKKysgICAgVW5hbGlnbmVk V3JpdGUobiwgKFRZUEUpKC0oc2lnbmVkKXZhbCkpOworICAgZWxzZQorLSAgICBUeXBwW25dID0g KFRZUEUpdmFsOworKyAgICBVbmFsaWduZWRXcml0ZShuLCAoVFlQRSl2YWwpOworIAorICAgU2V0 TnVsbChuLCBmYWxzZSk7CisgICB9IC8vIGVuZCBvZiBTZXRWYWx1ZQorQEAgLTM5OCw3ICszOTgs NyBAQCB2b2lkIFRZUEJMSzxkb3VibGU+OjpTZXRWYWx1ZShQQ1NaIHAsIGluCisgCQl0aHJvdyBU eXBlOworIAl9IC8vIGVuZGlmIENoZWNrCisgCistICBUeXBwW25dID0gYXRvZihwKTsKKysgIFVu YWxpZ25lZFdyaXRlKG4sIGF0b2YocCkpOworICAgU2V0TnVsbChuLCBmYWxzZSk7CisgICB9IC8v IGVuZCBvZiBTZXRWYWx1ZQorIAorQEAgLTQzMCw3ICs0MzAsNyBAQCB2b2lkIFRZUEJMSzxUWVBF Pjo6U2V0VmFsdWUoUFZCTEsgcHYsIGluCisgICBDaGtUeXAocHYpOworIAorICAgaWYgKCEoYiA9 IHB2LT5Jc051bGwobjIpICYmIE51bGxhYmxlKSkKKy0gICAgVHlwcFtuMV0gPSBHZXRUeXBlZFZh bHVlKHB2LCBuMik7CisrICAgIFVuYWxpZ25lZFdyaXRlKG4xLCBHZXRUeXBlZFZhbHVlKHB2LCBu MikpOworICAgZWxzZQorICAgICBSZXNldChuMSk7CisgCitAQCAtNDgxLDEwICs0ODEsMTAgQEAg dm9pZCBUWVBCTEs8VFlQRT46OlNldE1pbihQVkFMIHZhbHAsIGludAorICAgeworICAgQ2hlY2tQ YXJtcyh2YWxwLCBuKQorICAgVFlQRSAgdHZhbCA9IEdldFR5cGVkVmFsdWUodmFscCk7CistICBU WVBFJiB0bWluID0gVHlwcFtuXTsKKysgIFRZUEUgIHRtaW4gPSBVbmFsaWduZWRSZWFkKG4pOwor IAorICAgaWYgKHR2YWwgPCB0bWluKQorLSAgICB0bWluID0gdHZhbDsKKysgICAgVW5hbGlnbmVk V3JpdGUobiwgdHZhbCk7CisgCisgICB9IC8vIGVuZCBvZiBTZXRNaW4KKyAKK0BAIC00OTYsMTAg KzQ5NiwxMCBAQCB2b2lkIFRZUEJMSzxUWVBFPjo6U2V0TWF4KFBWQUwgdmFscCwgaW50CisgICB7 CisgICBDaGVja1Bhcm1zKHZhbHAsIG4pCisgICBUWVBFICB0dmFsID0gR2V0VHlwZWRWYWx1ZSh2 YWxwKTsKKy0gIFRZUEUmIHRtaW4gPSBUeXBwW25dOworKyAgVFlQRSAgdG1pbiA9IFVuYWxpZ25l ZFJlYWQobik7CisgCisgICBpZiAodHZhbCA+IHRtaW4pCistICAgIHRtaW4gPSB0dmFsOworKyAg ICBVbmFsaWduZWRXcml0ZShuLCB0dmFsKTsKKyAKKyAgIH0gLy8gZW5kIG9mIFNldE1heAorIAor QEAgLTUxMyw4ICs1MTMsNyBAQCB2b2lkIFRZUEJMSzxUWVBFPjo6U2V0VmFsdWVzKFBWQkxLIHB2 LCBpCisgICBDaGVja1R5cGUocHYpCisgICBUWVBFICpscCA9ICgoVFlQQkxLKilwdiktPlR5cHA7 CisgCistICBmb3IgKGludCBpID0gazsgaSA8IG47IGkrKykgICAgICAgICAgLy8gVE9ETworLSAg ICBUeXBwW2ldID0gbHBbaV07CisrICBtZW1jcHkoVHlwcCArIGssIGxwICsgaywgc2l6ZW9mKFRZ UEUpICogbik7CisgCisgICB9IC8vIGVuZCBvZiBTZXRWYWx1ZXMKKyAjZW5kaWYgLy8gMAorQEAg LTUyNSw3ICs1MjQsNyBAQCB2b2lkIFRZUEJMSzxUWVBFPjo6U2V0VmFsdWVzKFBWQkxLIHB2LCBp CisgdGVtcGxhdGUgPGNsYXNzIFRZUEU+Cisgdm9pZCBUWVBCTEs8VFlQRT46Ok1vdmUoaW50IGks IGludCBqKQorICAgeworLSAgVHlwcFtqXSA9IFR5cHBbaV07CisrICBVbmFsaWduZWRXcml0ZShq LCBVbmFsaWduZWRSZWFkKGkpKTsKKyAgIE1vdmVOdWxsKGksIGopOworICAgfSAvLyBlbmQgb2Yg TW92ZQorIAorQEAgLTUzOSw3ICs1MzgsNyBAQCBpbnQgVFlQQkxLPFRZUEU+OjpDb21wVmFsKFBW QUwgdnAsIGludCBuCisgICBDaGtJbmR4KG4pOworICAgQ2hrVHlwKHZwKTsKKyAjZW5kaWYgICAv LyBfREVCVUcKKy0gIFRZUEUgbWx2ID0gVHlwcFtuXTsKKysgIFRZUEUgbWx2ID0gVW5hbGlnbmVk UmVhZChuKTsKKyAgIFRZUEUgdmx2ID0gR2V0VHlwZWRWYWx1ZSh2cCk7CisgCisgICByZXR1cm4g KHZsdiA+IG1sdikgPyAxIDogKHZsdiA8IG1sdikgPyAoLTEpIDogMDsKK0BAIC01NTEsOCArNTUw LDggQEAgaW50IFRZUEJMSzxUWVBFPjo6Q29tcFZhbChQVkFMIHZwLCBpbnQgbgorIHRlbXBsYXRl IDxjbGFzcyBUWVBFPgorIGludCBUWVBCTEs8VFlQRT46OkNvbXBWYWwoaW50IGkxLCBpbnQgaTIp CisgICB7CistICBUWVBFIGx2MSA9IFR5cHBbaTFdOworLSAgVFlQRSBsdjIgPSBUeXBwW2kyXTsK KysgIFRZUEUgbHYxID0gVW5hbGlnbmVkUmVhZChpMSk7CisrICBUWVBFIGx2MiA9IFVuYWxpZ25l ZFJlYWQoaTIpOworIAorICAgcmV0dXJuIChsdjEgPiBsdjIpID8gMSA6IChsdjEgPCBsdjIpID8g KC0xKSA6IDA7CisgICB9IC8vIGVuZCBvZiBDb21wVmFsCitAQCAtNTg5LDcgKzU4OCw3IEBAIGlu dCBUWVBCTEs8VFlQRT46OkZpbmQoUFZBTCB2cCkKKyAgIFRZUEUgbiA9IEdldFR5cGVkVmFsdWUo dnApOworIAorICAgZm9yIChpID0gMDsgaSA8IE52YWw7IGkrKykKKy0gICAgaWYgKG4gPT0gVHlw cFtpXSkKKysgICAgaWYgKG4gPT0gVW5hbGlnbmVkUmVhZChpKSkKKyAgICAgICBicmVhazsKKyAK KyAgIHJldHVybiAoaSA8IE52YWwpID8gaSA6ICgtMSk7CitAQCAtNjA1LDcgKzYwNCw3IEBAIGlu dCBUWVBCTEs8VFlQRT46OkdldE1heExlbmd0aCh2b2lkKQorICAgaW50IGksIG4sIG07CisgCisg ICBmb3IgKGkgPSBuID0gMDsgaSA8IE52YWw7IGkrKykgeworLSAgICBtID0gc3ByaW50ZihidWYs IEZtdCwgVHlwcFtpXSk7CisrICAgIG0gPSBzcHJpbnRmKGJ1ZiwgRm10LCBVbmFsaWduZWRSZWFk KGkpKTsKKyAgICAgbiA9IE1ZX01BWChuLCBtKTsKKyAgICAgfSAvLyBlbmRmb3IgaQorIAorQEAg LTEzMzUsNyArMTMzNCw3IEBAIGNoYXIgKkRBVEJMSzo6R2V0Q2hhclN0cmluZyhjaGFyICpwLCBp bnQKKyAgIGNoYXIgKnZwOworIAorICAgaWYgKER2YWxwKSB7CistICAgIER2YWxwLT5TZXRWYWx1 ZShUeXBwW25dKTsKKysgICAgRHZhbHAtPlNldFZhbHVlKFVuYWxpZ25lZFJlYWQobikpOworICAg ICB2cCA9IER2YWxwLT5HZXRDaGFyU3RyaW5nKHApOworICAgfSBlbHNlCisgICAgIHZwID0gVFlQ QkxLPGludD46OkdldENoYXJTdHJpbmcocCwgbik7CitAQCAtMTM1MSw3ICsxMzUwLDcgQEAgdm9p ZCBEQVRCTEs6OlNldFZhbHVlKFBDU1ogcCwgaW50IG4pCisgICBpZiAoRHZhbHApIHsKKyAgICAg Ly8gRGVjb2RlIHRoZSBzdHJpbmcgYWNjb3JkaW5nIHRvIGZvcm1hdAorICAgICBEdmFscC0+U2V0 VmFsdWVfcHN6KHApOworLSAgICBUeXBwW25dID0gRHZhbHAtPkdldEludFZhbHVlKCk7CisrICAg IFVuYWxpZ25lZFdyaXRlKG4sIER2YWxwLT5HZXRJbnRWYWx1ZSgpKTsKKyAgIH0gZWxzZQorICAg ICBUWVBCTEs8aW50Pjo6U2V0VmFsdWUocCwgbik7CisgCistLS0gc3RvcmFnZS9jb25uZWN0L3Zh bGJsay5oCisrKysgc3RvcmFnZS9jb25uZWN0L3ZhbGJsay5oCitAQCAtMTM5LDYgKzEzOSw3IEBA IGNsYXNzIFZBTEJMSyA6IHB1YmxpYyBCTE9DSyB7CisgICBpbnQgICAgIFByZWM7ICAgICAgICAg ICAgIC8vIFByZWNpc2lvbiBvZiBmbG9hdCB2YWx1ZXMKKyAgIH07IC8vIGVuZCBvZiBjbGFzcyBW QUxCTEsKKyAKKysKKyAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgLyogIENsYXNzIFRZUEJMSzogcmVwcmVz ZW50cyBhIGJsb2NrIG9mIHR5cGVkIHZhbHVlcy4gICAgICAgICAgICAgICAgICAqLworIC8qKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKi8KK0BAIC0xNTEsNDAgKzE1Miw0MSBAQCBjbGFzcyBUWVBCTEsgOiBwdWJsaWMg VkFMQkxLIHsKKyAgIC8vIEltcGxlbWVudGF0aW9uCisgICB2aXJ0dWFsIGJvb2wgICBJbml0KFBH TE9CQUwgZywgYm9vbCBjaGVjayk7CisgICB2aXJ0dWFsIGludCAgICBHZXRWbGVuKHZvaWQpIHty ZXR1cm4gc2l6ZW9mKFRZUEUpO30KKy0gIHZpcnR1YWwgY2hhciAgIEdldFRpbnlWYWx1ZShpbnQg bikge3JldHVybiAoY2hhcilUeXBwW25dO30KKy0gIHZpcnR1YWwgdWNoYXIgIEdldFVUaW55VmFs dWUoaW50IG4pIHtyZXR1cm4gKHVjaGFyKVR5cHBbbl07fQorLSAgdmlydHVhbCBzaG9ydCAgR2V0 U2hvcnRWYWx1ZShpbnQgbikge3JldHVybiAoc2hvcnQpVHlwcFtuXTt9CistICB2aXJ0dWFsIHVz aG9ydCBHZXRVU2hvcnRWYWx1ZShpbnQgbikge3JldHVybiAodXNob3J0KVR5cHBbbl07fQorLSAg dmlydHVhbCBpbnQgICAgR2V0SW50VmFsdWUoaW50IG4pIHtyZXR1cm4gKGludClUeXBwW25dO30K Ky0gIHZpcnR1YWwgdWludCAgIEdldFVJbnRWYWx1ZShpbnQgbikge3JldHVybiAodWludClUeXBw W25dO30KKy0gIHZpcnR1YWwgbG9uZ2xvbmcgR2V0QmlnaW50VmFsdWUoaW50IG4pIHtyZXR1cm4g KGxvbmdsb25nKVR5cHBbbl07fQorLSAgdmlydHVhbCB1bG9uZ2xvbmcgR2V0VUJpZ2ludFZhbHVl KGludCBuKSB7cmV0dXJuICh1bG9uZ2xvbmcpVHlwcFtuXTt9CistICB2aXJ0dWFsIGRvdWJsZSBH ZXRGbG9hdFZhbHVlKGludCBuKSB7cmV0dXJuIChkb3VibGUpVHlwcFtuXTt9CisrCisrICB2aXJ0 dWFsIGNoYXIgICBHZXRUaW55VmFsdWUoaW50IG4pIHtyZXR1cm4gKGNoYXIpVW5hbGlnbmVkUmVh ZChuKTt9CisrICB2aXJ0dWFsIHVjaGFyICBHZXRVVGlueVZhbHVlKGludCBuKSB7cmV0dXJuICh1 Y2hhcilVbmFsaWduZWRSZWFkKG4pO30KKysgIHZpcnR1YWwgc2hvcnQgIEdldFNob3J0VmFsdWUo aW50IG4pIHtyZXR1cm4gKHNob3J0KVVuYWxpZ25lZFJlYWQobik7fQorKyAgdmlydHVhbCB1c2hv cnQgR2V0VVNob3J0VmFsdWUoaW50IG4pIHtyZXR1cm4gKHVzaG9ydClVbmFsaWduZWRSZWFkKG4p O30KKysgIHZpcnR1YWwgaW50ICAgIEdldEludFZhbHVlKGludCBuKSB7cmV0dXJuIChpbnQpVW5h bGlnbmVkUmVhZChuKTt9CisrICB2aXJ0dWFsIHVpbnQgICBHZXRVSW50VmFsdWUoaW50IG4pIHty ZXR1cm4gKHVpbnQpVW5hbGlnbmVkUmVhZChuKTt9CisrICB2aXJ0dWFsIGxvbmdsb25nIEdldEJp Z2ludFZhbHVlKGludCBuKSB7cmV0dXJuIChsb25nbG9uZylVbmFsaWduZWRSZWFkKG4pO30KKysg IHZpcnR1YWwgdWxvbmdsb25nIEdldFVCaWdpbnRWYWx1ZShpbnQgbikge3JldHVybiAodWxvbmds b25nKVVuYWxpZ25lZFJlYWQobik7fQorKyAgdmlydHVhbCBkb3VibGUgR2V0RmxvYXRWYWx1ZShp bnQgbikge3JldHVybiAoZG91YmxlKVVuYWxpZ25lZFJlYWQobik7fQorICAgdmlydHVhbCBjaGFy ICAqR2V0Q2hhclN0cmluZyhjaGFyICpwLCBpbnQgbik7CistICB2aXJ0dWFsIHZvaWQgICBSZXNl dChpbnQgbikge1R5cHBbbl0gPSAwO30KKysgIHZpcnR1YWwgdm9pZCAgIFJlc2V0KGludCBuKSB7 VW5hbGlnbmVkV3JpdGUobiwgMCk7fQorIAorICAgLy8gTWV0aG9kcworICAgdXNpbmcgVkFMQkxL OjpTZXRWYWx1ZTsKKyAgIHZpcnR1YWwgdm9pZCAgIFNldFZhbHVlKFBDU1ogc3AsIGludCBuKTsK KyAgIHZpcnR1YWwgdm9pZCAgIFNldFZhbHVlKGNvbnN0IGNoYXIgKnNwLCB1aW50IGxlbiwgaW50 IG4pOworICAgdmlydHVhbCB2b2lkICAgU2V0VmFsdWUoc2hvcnQgc3ZhbCwgaW50IG4pCistICAg ICAgICAgICAgICAgICAge1R5cHBbbl0gPSAoVFlQRSlzdmFsOyBTZXROdWxsKG4sIGZhbHNlKTt9 CisrICAgICAgICAgICAgICAgICAge1VuYWxpZ25lZFdyaXRlKG4sIChUWVBFKXN2YWwpOyBTZXRO dWxsKG4sIGZhbHNlKTt9CisgICB2aXJ0dWFsIHZvaWQgICBTZXRWYWx1ZSh1c2hvcnQgc3ZhbCwg aW50IG4pCistICAgICAgICAgICAgICAgICAge1R5cHBbbl0gPSAoVFlQRSlzdmFsOyBTZXROdWxs KG4sIGZhbHNlKTt9CisrICAgICAgICAgICAgICAgICAge1VuYWxpZ25lZFdyaXRlKG4sIChUWVBF KXN2YWwpOyBTZXROdWxsKG4sIGZhbHNlKTt9CisgICB2aXJ0dWFsIHZvaWQgICBTZXRWYWx1ZShp bnQgbHZhbCwgaW50IG4pCistICAgICAgICAgICAgICAgICAge1R5cHBbbl0gPSAoVFlQRSlsdmFs OyBTZXROdWxsKG4sIGZhbHNlKTt9CisrICAgICAgICAgICAgICAgICAge1VuYWxpZ25lZFdyaXRl KG4sIChUWVBFKWx2YWwpOyBTZXROdWxsKG4sIGZhbHNlKTt9CisgICB2aXJ0dWFsIHZvaWQgICBT ZXRWYWx1ZSh1aW50IGx2YWwsIGludCBuKQorLSAgICAgICAgICAgICAgICAgIHtUeXBwW25dID0g KFRZUEUpbHZhbDsgU2V0TnVsbChuLCBmYWxzZSk7fQorKyAgICAgICAgICAgICAgICAgIHtVbmFs aWduZWRXcml0ZShuLCAoVFlQRSlsdmFsKTsgU2V0TnVsbChuLCBmYWxzZSk7fQorICAgdmlydHVh bCB2b2lkICAgU2V0VmFsdWUobG9uZ2xvbmcgbHZhbCwgaW50IG4pCistICAgICAgICAgICAgICAg ICAge1R5cHBbbl0gPSAoVFlQRSlsdmFsOyBTZXROdWxsKG4sIGZhbHNlKTt9CisrICAgICAgICAg ICAgICAgICAge1VuYWxpZ25lZFdyaXRlKG4sIChUWVBFKWx2YWwpOyBTZXROdWxsKG4sIGZhbHNl KTt9CisgICB2aXJ0dWFsIHZvaWQgICBTZXRWYWx1ZSh1bG9uZ2xvbmcgbHZhbCwgaW50IG4pCist ICAgICAgICAgICAgICAgICAge1R5cHBbbl0gPSAoVFlQRSlsdmFsOyBTZXROdWxsKG4sIGZhbHNl KTt9CisrICAgICAgICAgICAgICAgICAge1VuYWxpZ25lZFdyaXRlKG4sIChUWVBFKWx2YWwpOyBT ZXROdWxsKG4sIGZhbHNlKTt9CisgICB2aXJ0dWFsIHZvaWQgICBTZXRWYWx1ZShkb3VibGUgZnZh bCwgaW50IG4pCistICAgICAgICAgICAgICAgICAge1R5cHBbbl0gPSAoVFlQRSlmdmFsOyBTZXRO dWxsKG4sIGZhbHNlKTt9CisrICAgICAgICAgICAgICAgICAge1VuYWxpZ25lZFdyaXRlKG4sIChU WVBFKWZ2YWwpOyBTZXROdWxsKG4sIGZhbHNlKTt9CisgICB2aXJ0dWFsIHZvaWQgICBTZXRWYWx1 ZShjaGFyIGN2YWwsIGludCBuKQorLSAgICAgICAgICAgICAgICAgIHtUeXBwW25dID0gKFRZUEUp Y3ZhbDsgU2V0TnVsbChuLCBmYWxzZSk7fQorKyAgICAgICAgICAgICAgICAgIHtVbmFsaWduZWRX cml0ZShuLCAoVFlQRSljdmFsKTsgU2V0TnVsbChuLCBmYWxzZSk7fQorICAgdmlydHVhbCB2b2lk ICAgU2V0VmFsdWUodWNoYXIgY3ZhbCwgaW50IG4pCistICAgICAgICAgICAgICAgICAge1R5cHBb bl0gPSAoVFlQRSljdmFsOyBTZXROdWxsKG4sIGZhbHNlKTt9CisrICAgICAgICAgICAgICAgICAg e1VuYWxpZ25lZFdyaXRlKG4sIChUWVBFKWN2YWwpOyBTZXROdWxsKG4sIGZhbHNlKTt9CisgICB2 aXJ0dWFsIHZvaWQgICBTZXRWYWx1ZShQVkFMIHZhbHAsIGludCBuKTsKKyAgIHZpcnR1YWwgdm9p ZCAgIFNldFZhbHVlKFBWQkxLIHB2LCBpbnQgbjEsIGludCBuMik7CisgICB2aXJ0dWFsIHZvaWQg ICBTZXRNaW4oUFZBTCB2YWxwLCBpbnQgbik7CitAQCAtMjA2LDYgKzIwOCwxNyBAQCBjbGFzcyBU WVBCTEsgOiBwdWJsaWMgVkFMQkxLIHsKKyAgIC8vIE1lbWJlcnMKKyAgIFRZUEUqIGNvbnN0ICZU eXBwOworICAgY29uc3QgY2hhciAgKkZtdDsKKysKKysgIC8vIFVuYWxpZ25lZCBhY2Nlc3MKKysg IFRZUEUgVW5hbGlnbmVkUmVhZChpbnQgbikgY29uc3QgeworKyAgICBUWVBFIHJlc3VsdDsKKysg ICAgbWVtY3B5KCZyZXN1bHQsIFR5cHAgKyBuLCBzaXplb2YoVFlQRSkpOworKyAgICByZXR1cm4g cmVzdWx0OworKyAgfQorKworKyAgdm9pZCBVbmFsaWduZWRXcml0ZShpbnQgbiwgVFlQRSB2YWx1 ZSkgeworKyAgICBtZW1jcHkoVHlwcCArIG4sICZ2YWx1ZSwgc2l6ZW9mKFRZUEUpKTsKKysgIH0K KyAgIH07IC8vIGVuZCBvZiBjbGFzcyBUWVBCTEsKKyAKKyAvKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYg LS1naXQgYS9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9taXBzLWdyb29uZ2EtYXRvbWljLnBhdGNo IGIvc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvbWlwcy1ncm9vbmdhLWF0b21pYy5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOWM5OWNjMWIwMjYKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9taXBzLWdyb29uZ2EtYXRvbWljLnBh dGNoCkBAIC0wLDAgKzEsMzQgQEAKK0Zyb206IERlYmlhbiBNeVNRTCBNYWludGFpbmVycyA8cGtn LW15c3FsLW1haW50QGxpc3RzLmFsaW90aC5kZWJpYW4ub3JnPgorRGF0ZTogVGh1LCAxMCBBdWcg MjAxNyAyMDo0MDoyOCArMDIwMAorU3ViamVjdDogbWlwcy1ncm9vbmdhLWF0b21pYworCistLS0K KyBzdG9yYWdlL21yb29uZ2EvdmVuZG9yL2dyb29uZ2EvQ01ha2VMaXN0cy50eHQgICAgIHwgMiAr KworIHN0b3JhZ2UvbXJvb25nYS92ZW5kb3IvZ3Jvb25nYS9saWIvQ01ha2VMaXN0cy50eHQgfCAx ICsKKyAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IHN0b3Jh Z2UvbXJvb25nYS92ZW5kb3IvZ3Jvb25nYS9DTWFrZUxpc3RzLnR4dCBzdG9yYWdlL21yb29uZ2Ev dmVuZG9yL2dyb29uZ2EvQ01ha2VMaXN0cy50eHQKK2luZGV4IGUyNzA3MGYuLjdmMTg5OWMgMTAw NjQ0CistLS0gc3RvcmFnZS9tcm9vbmdhL3ZlbmRvci9ncm9vbmdhL0NNYWtlTGlzdHMudHh0Cisr Kysgc3RvcmFnZS9tcm9vbmdhL3ZlbmRvci9ncm9vbmdhL0NNYWtlTGlzdHMudHh0CitAQCAtMjM4 LDYgKzIzOCw4IEBAIGVuZG1hY3JvKCkKKyBpbmNsdWRlKGJ1aWxkL2FjX21hY3Jvcy9jaGVja19o ZWFkZXJzLm00KQorIGluY2x1ZGUoYnVpbGQvYWNfbWFjcm9zL2NoZWNrX2Z1bmN0aW9ucy5tNCkK KyAKKythY19jaGVja19saWIoYXRvbWljIF9fYXRvbWljX3N0b3JlXzgpCisrCisgYWNfY2hlY2tf c3ltYm9scyhmcGNsYXNzaWZ5IG1hdGguaCkKKyBhY19jaGVja19saWIobSBmcGNsYXNzaWZ5KQor IAorZGlmZiAtLWdpdCBzdG9yYWdlL21yb29uZ2EvdmVuZG9yL2dyb29uZ2EvbGliL0NNYWtlTGlz dHMudHh0IHN0b3JhZ2UvbXJvb25nYS92ZW5kb3IvZ3Jvb25nYS9saWIvQ01ha2VMaXN0cy50eHQK K2luZGV4IDY3NjUyNjEuLjZjMTM3MzcgMTAwNjQ0CistLS0gc3RvcmFnZS9tcm9vbmdhL3ZlbmRv ci9ncm9vbmdhL2xpYi9DTWFrZUxpc3RzLnR4dAorKysrIHN0b3JhZ2UvbXJvb25nYS92ZW5kb3Iv Z3Jvb25nYS9saWIvQ01ha2VMaXN0cy50eHQKK0BAIC05MCw2ICs5MCw3IEBAIGVuZGlmKCkKKyBz ZXRfdGFyZ2V0X3Byb3BlcnRpZXMobGliZ3Jvb25nYSBQUk9QRVJUSUVTIE9VVFBVVF9OQU1FICJn cm9vbmdhIikKKyAKKyBzZXQoR1JOX0FMTF9MSUJSQVJJRVMKKysgICAgJHtBVE9NSUNfTElCU30K KyAgICAgJHtFWEVDSU5GT19MSUJTfQorICAgICAke1JUX0xJQlN9CisgICAgICR7UFRIUkVBRF9M SUJTfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvbWlwcy1pbm5vYmFzZS1h dG9taWMucGF0Y2ggYi9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9taXBzLWlubm9iYXNlLWF0b21p Yy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMTk1ZmU0MWE0 MjIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9taXBzLWlubm9i YXNlLWF0b21pYy5wYXRjaApAQCAtMCwwICsxLDIwIEBACitGcm9tOiBEZWJpYW4gTXlTUUwgTWFp bnRhaW5lcnMgPHBrZy1teXNxbC1tYWludEBsaXN0cy5hbGlvdGguZGViaWFuLm9yZz4KK0RhdGU6 IFRodSwgMTAgQXVnIDIwMTcgMjA6NDA6MjkgKzAyMDAKK1N1YmplY3Q6IG1pcHMtaW5ub2Jhc2Ut YXRvbWljCisKKy0tLQorIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9vczBzeW5jLmggfCAxICsK KyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBzdG9yYWdlL2lu bm9iYXNlL2luY2x1ZGUvb3Mwc3luYy5oIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9vczBzeW5j LmgKK2luZGV4IGJiMjI1YzUuLjY1MjAyMzcgMTAwNjQ0CistLS0gc3RvcmFnZS9pbm5vYmFzZS9p bmNsdWRlL29zMHN5bmMuaAorKysrIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9vczBzeW5jLmgK K0BAIC0zNyw2ICszNyw3IEBAIENyZWF0ZWQgOS82LzE5OTUgSGVpa2tpIFR1dXJpCisgCisgI2lu Y2x1ZGUgInVuaXYuaSIKKyAjaW5jbHVkZSAidXQwbHN0LmgiCisrI2luY2x1ZGUgInN5bmMwdHlw ZXMuaCIKKyAKKyAvKiogQ1BVIGNhY2hlIGxpbmUgc2l6ZSAqLworICNpZmRlZiBfX3Bvd2VycGNf XwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvbWlwcy1tYWNoaW5lLnBhdGNo IGIvc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvbWlwcy1tYWNoaW5lLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zZGJiYmFhYTUzOAotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL21pcHMtbWFjaGluZS5wYXRjaApAQCAtMCwwICsx LDIzIEBACitGcm9tOiBEZWJpYW4gTXlTUUwgTWFpbnRhaW5lcnMgPHBrZy1teXNxbC1tYWludEBs aXN0cy5hbGlvdGguZGViaWFuLm9yZz4KK0RhdGU6IFRodSwgMTAgQXVnIDIwMTcgMjA6NDA6Mjkg KzAyMDAKK1N1YmplY3Q6IG1pcHMtbWFjaGluZQorCistLS0KKyBjbWFrZS9wYWNrYWdlX25hbWUu Y21ha2UgfCA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKK2RpZmYg LS1naXQgY21ha2UvcGFja2FnZV9uYW1lLmNtYWtlIGNtYWtlL3BhY2thZ2VfbmFtZS5jbWFrZQor aW5kZXggNDkzMGE2Yi4uNzY4MWY3OCAxMDA2NDQKKy0tLSBjbWFrZS9wYWNrYWdlX25hbWUuY21h a2UKKysrKyBjbWFrZS9wYWNrYWdlX25hbWUuY21ha2UKK0BAIC0zNCw2ICszNCwxMCBAQCBJRihO T1QgVkVSU0lPTikKKyAgICAgICBTRVQoREVGQVVMVF9NQUNISU5FICJtaXBzIikKKyAgICAgRU5E SUYoKQorIAorKyAgICBJRihOT1QgNjRCSVQgQU5EIENNQUtFX1NZU1RFTV9QUk9DRVNTT1IgTUFU Q0hFUyAiXm1pcHM2NCIpCisrICAgICAgU0VUKERFRkFVTFRfTUFDSElORSAibWlwcyIpCisrICAg IEVORElGKCkKKysKKyAgICAgSUYoQ01BS0VfU1lTVEVNX05BTUUgTUFUQ0hFUyAiV2luZG93cyIp CisgICAgICAgU0VUKE5FRURfREFTSF9CRVRXRUVOX1BMQVRGT1JNX0FORF9NQUNISU5FIDApCisg ICAgICAgU0VUKERFRkFVTFRfUExBVEZPUk0gIndpbiIpCmRpZmYgLS1naXQgYS9zcmNwa2dzL21h cmlhZGIvcGF0Y2hlcy9tdXNsLXBwYy5wYXRjaCBiL3NyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL211 c2wtcHBjLnBhdGNoCmluZGV4IDE2Y2JhYzcxYTk0Li41N2M3ZjRiZjE1YiAxMDA2NDQKLS0tIGEv c3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvbXVzbC1wcGMucGF0Y2gKKysrIGIvc3JjcGtncy9tYXJp YWRiL3BhdGNoZXMvbXVzbC1wcGMucGF0Y2gKQEAgLTE1LDEyICsxNSwxMSBAQCBidWlsdGluIGZv ciB0aGlzIGluIGdjYyBmb3IgYWdlcywgc28ganVzdCB1c2UgdGhhdCBpbnN0ZWFkLgogICMgZW5k aWYKIC0tLSBzdG9yYWdlL3h0cmFkYi9pbmNsdWRlL3V0MHV0LmgKICsrKyBzdG9yYWdlL3h0cmFk Yi9pbmNsdWRlL3V0MHV0LmgKLUBAIC04Niw4ICs4Niw3IEBAIHN0cnVjdCB1dF93aGVuX2R0b3Ig ewotICAgIGluZGVwZW5kZW50IHdheSBieSB1c2luZyBZaWVsZFByb2Nlc3Nvci4gKi8KLSAjICBk ZWZpbmUgVVRfUkVMQVhfQ1BVKCkgWWllbGRQcm9jZXNzb3IoKQotICMgZWxpZiBkZWZpbmVkKF9f cG93ZXJwY19fKQotLSNpbmNsdWRlIDxzeXMvcGxhdGZvcm0vcHBjLmg+Ci0tIyAgZGVmaW5lIFVU X1JFTEFYX0NQVSgpIF9fcHBjX2dldF90aW1lYmFzZSgpCitAQCAtODYsNiArODYsOCBAQAorICMg ZWxpZiBkZWZpbmVkKF9fcG93ZXJwY19fKSAmJiBkZWZpbmVkIF9fR0xJQkNfXworICNpbmNsdWRl IDxzeXMvcGxhdGZvcm0vcHBjLmg+CisgIyAgZGVmaW5lIFVUX1JFTEFYX0NQVSgpIF9fcHBjX2dl dF90aW1lYmFzZSgpCisrIyBlbGlmIGRlZmluZWQoX19wb3dlcnBjX18pCiArIyAgZGVmaW5lIFVU X1JFTEFYX0NQVSgpIF9fYnVpbHRpbl9wcGNfZ2V0X3RpbWViYXNlKCkKICAjIGVsc2UKICAjICBk ZWZpbmUgVVRfUkVMQVhfQ1BVKCkgKCh2b2lkKTApIC8qIGF2b2lkIHdhcm5pbmcgZm9yIGFuIGVt cHR5IHN0YXRlbWVudCAqLwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tYXJpYWRiL3RlbXBsYXRlIGIv c3JjcGtncy9tYXJpYWRiL3RlbXBsYXRlCmluZGV4IDg4NjExNDM4YTk5Li44YmE0YzVlODY0MiAx MDA2NDQKLS0tIGEvc3JjcGtncy9tYXJpYWRiL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbWFyaWFk Yi90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ21hcmlhZGIn CiBwa2duYW1lPW1hcmlhZGIKLXZlcnNpb249MTAuMS4zMAotcmV2aXNpb249OAordmVyc2lvbj0x MC4xLjQ1CityZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1E TVlTUUxfREFUQURJUj0vdmFyL2xpYi9teXNxbAogIC1ETVlTUUxfVU5JWF9BRERSPS9ydW4vbXlz cWxkL215c3FsZC5zb2NrIC1EREVGQVVMVF9DSEFSU0VUPXV0ZjgKQEAgLTI3LDcgKzI3LDcgQEAg bWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkdQ TC0yLjAtb25seSIKIGhvbWVwYWdlPSJodHRwczovL21hcmlhZGIub3JnLyIKIGRpc3RmaWxlcz0i aHR0cDovL2FyY2hpdmUubWFyaWFkYi5vcmcvJHBrZ25hbWUtJHZlcnNpb24vc291cmNlLyRwa2du YW1lLSR2ZXJzaW9uLnRhci5neiIKLWNoZWNrc3VtPTE3M2E1ZTVhMjQ4MTllMGE0NjljM2JkMDli NWM5ODQ5MTY3NmMzN2M2MDk1ODgyYTJlYTM0YzVhZjA5OTZjODgKK2NoZWNrc3VtPTlkOGYwZjcx Zjk2MTNiMjAyOGZmYzVjNWJlOGI5ODk0OGVjOTU1ZWIwZDg5NjAwZDE4ZWQ3Y2MwNDgwN2RhZDUK IGxpYjMyZGlzYWJsZWQ9eWVzCiBwcm92aWRlcz0ibXlzcWwtJHt2ZXJzaW9ufV8ke3JldmlzaW9u fSIKIHJlcGxhY2VzPSJteXNxbD49MCIKQEAgLTM2LDYgKzM2LDEwIEBAIHN5c3RlbV9hY2NvdW50 cz0ibXlzcWwiCiBteXNxbF9ob21lZGlyPSIvdmFyL2xpYi9teXNxbCIKIENGTEFHUz0iLXciCiAK K2lmIFsgIiRYQlBTX1RBUkdFVF9OT19BVE9NSUM4IiBdOyB0aGVuCisJbWFrZWRlcGVuZHMrPSIg bGliYXRvbWljLWRldmVsIgorZmkKKwogcHJlX2NvbmZpZ3VyZSgpIHsKIAkjIFdlIG5lZWQgc29t ZSBob3N0IGJpbmFyaWVzIGJlZm9yZSBzdGFydGluZyBjcm9zcyBjb21waWxhdGlvbi4KIAlpZiBb ICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4K --===============4346169474475170412==--