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, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 2433 invoked from network); 13 Jul 2022 18:40:40 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 13 Jul 2022 18:40:40 -0000 Content-Type: multipart/mixed; boundary="===============7435821452642654551==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_New_package=3A_7zip-22=2E00?= To: ml@inbox.vuxu.org From: r-ricci Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Wed, 13 Jul 2022 20:40:39 +0200 List-Id: Message-ID: <20220713184039.ewZuInXHUdP48sCZ2ULIxwtv-J6WRJDyxvOFHYnWpms@z> GitHub notification mails are now in MIME to allow UTF8. --===============7435821452642654551== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgci1yaWNjaSBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vci1y aWNjaS92b2lkLXBhY2thZ2VzIDd6aXAKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9p ZC1wYWNrYWdlcy9wdWxsLzM3OTQwCgpOZXcgcGFja2FnZTogN3ppcC0yMi4wMAo8IS0tIFVuY29t bWVudCByZWxldmFudCBzZWN0aW9ucyBhbmQgZGVsZXRlIG9wdGlvbnMgd2hpY2ggYXJlIG5vdCBh cHBsaWNhYmxlIC0tPg0KDQojIyMjIFRlc3RpbmcgdGhlIGNoYW5nZXMNCi0gSSB0ZXN0ZWQgdGhl IGNoYW5nZXMgaW4gdGhpcyBQUjogKipicmllZmx5KioNCg0KPCEtLQ0KIyMjIyBOZXcgcGFja2Fn ZQ0KLSBUaGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcXVhbGl0eSByZXF1aXJlbWVu dHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0 ZXIvTWFudWFsLm1kI3F1YWxpdHktcmVxdWlyZW1lbnRzKTogKipZRVMqKnwqKk5PKioNCi0tPg0K DQo8IS0tIE5vdGU6IElmIHRoZSBidWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBtb3JlIHRoYW4gMiBo b3VycywgcGxlYXNlIGFkZCBjaSBza2lwIHRhZyBhcyBkZXNjcmliZWQgaW4NCmh0dHBzOi8vZ2l0 aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5H Lm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRpb24NCmFuZCB0ZXN0IGF0IGxlYXN0IG9uZSBuYXRpdmUg YnVpbGQgYW5kLCBpZiBzdXBwb3J0ZWQsIGF0IGxlYXN0IG9uZSBjcm9zcyBidWlsZC4NCklnbm9y ZSB0aGlzIHNlY3Rpb24gaWYgdGhpcyBQUiBpcyBub3Qgc2tpcHBpbmcgQ0kuDQotLT4NCjwhLS0N CiMjIyMgTG9jYWwgYnVpbGQgdGVzdGluZw0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3Ig bXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKEFSQ0gtTElCQykNCi0gSSBidWlsdCB0aGlzIFBSIGxv Y2FsbHkgZm9yIHRoZXNlIGFyY2hpdGVjdHVyZXMgKGlmIHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1 aWxkcyk6DQogIC0gYWFyY2g2NC1tdXNsDQogIC0gYXJtdjdsDQogIC0gYXJtdjZsLW11c2wNCi0t Pg0KDQpJIGRvbid0IHRoaW5rIHRoZXJlJ3MgYW55IHJlYXNvbiB0byBzaGlwIHRoZSBmdWxsIGFu ZCB0aGUgcmVkdWNlZCB2ZXJzaW9ucyBpbiB0aGUgc2FtZSBwYWNrYWdlLCBzbyBJIGp1c3QgY29t cGlsZSB0aGUgZnVsbCBvbmUgYW5kIGNyZWF0ZSBzeW1saW5rcyBmb3IgY29tcGF0aWJpbGl0eS4N Cg0KIyMjIyBUT0RPOg0KDQotIFt4XSBmaXggbXVzbDogfn5pdCB1c2VzIHNvbWUgZnVuY3Rpb25z IHJlcXVpcmluZyBgX0dOVV9TT1VSQ0VgLCBidXQgb3RoZXIgcGFydHMgb2YgdGhlIHNvdXJjZSBk ZWZpbmUgaXQgd2l0aG91dCBjaGVja2luZyBpZiBpdCdzIGFscmVhZHkgZGVmaW5lZCwgc28gSSBn ZXQgY29tcGlsYXRpb24gZXJyb3JzIGlmIEkganVzdCBkZWZpbmUgaXQgZ2xvYmFsbHkufn4NCi0g WyBdIGJ1aWxkIHdpdGggYXNzZW1ibHkgd2hlcmUgcG9zc2libGU6IG9uIGk2ODYgYW5kIHg4Nl82 NCogaXQgcmVxdWlyZXMgYGFzbWNgIG9yIGBqd2FzbWAvYHVhc21gIGFzc2VtYmxlcnMsIG5vbmUg b2Ygd2hpY2ggYXJlIHBhY2thZ2VkDQotIFt4XSBidWlsZCBhIHZlcnNpb24gd2l0aCBSQVIgc3Vw cG9ydCAobm9uZnJlZSByZXBvKQ0KLSBbeF0gdXNlIG91ciBjb21waWxlIGFuZCBsaW5rIGZsYWdz DQotIFsgXSB3aGF0J3MgdGhlIG1vc3QgYXBwcm9wcmlhdGUgbmFtZSBmb3IgdGhlIHBhY2thZ2U/ IDd6aXAsIDctemlwIG9yIDd6Pw0KLSB0ZXN0IHBhY2thZ2VzIHRoYXQgZGVwZW5kIG9uIGBwN3pp cGAgYXQgcnVudGltZSBvciBidWlsZCB0aW1lOg0KICAgIC0gWyBdIGp1bGlhDQogICAgLSBbIF0g bHV0cmlzDQogICAgLSBbIF0gbXVsdGlib290dXNiDQogICAgLSBbIF0gcGxheW9ubGludXgNCiAg ICAtIFsgXSBTTEFERQ0KICAgIC0gWyBdIFo4MEV4cGxvcmVyDQogICAgLSBbIF0gYXJrDQogICAg LSBbIF0gY2JwMm1ha2UNCg0KY2xvc2VzICMzNzg3NQoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6 Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzM3OTQwLnBhdGNoIGlz IGF0dGFjaGVk --===============7435821452642654551== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-7zip-37940.patch" RnJvbSBjYjVkYmNhZDQ5YzIwZmZkZmU2ZTUxMzRiZTFkYmMyYWE1OTg1MDQ5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnRvIFJpY2NpIDxyaWNjaUBkaXNyb290Lm9yZz4KRGF0 ZTogU2F0LCA5IEp1bCAyMDIyIDEyOjA1OjIyICswMjAwClN1YmplY3Q6IFtQQVRDSF0gTmV3IHBh Y2thZ2U6IDd6aXAtMjIuMDAKCi0tLQogc3JjcGtncy83emlwLXVucmFyICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAxICsKIHNyY3BrZ3MvN3ppcC9maWxlcy83enouMSAgICAgICAgICAg ICAgICAgICAgICB8IDIxNSArKysrKysrKysrKysKIHNyY3BrZ3MvN3ppcC9wN3ppcC11bnJhci5J TlNUQUxMLm1zZyAgICAgICAgICB8ICAgNSArCiBzcmNwa2dzLzd6aXAvcGF0Y2hlcy9idWlsZF9m bGFncy5wYXRjaCAgICAgICAgfCAgMzAgKysKIHNyY3BrZ3MvN3ppcC90ZW1wbGF0ZSAgICAgICAg ICAgICAgICAgICAgICAgICB8ICA4NiArKysrKwogc3JjcGtncy83emlwL3VwZGF0ZSAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAyICsKIHNyY3BrZ3MvcDd6aXAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmNwa2dzL3A3emlwLXVucmFyICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8yMC1DVkUtMjAx OC01OTk2LnBhdGNoICB8IDIyMSAtLS0tLS0tLS0tLS0tCiBzcmNwa2dzL3A3emlwL3BhdGNoZXMv MzAtQ1ZFLTIwMTgtMTAxMTUucGF0Y2ggfCAzMTEgLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmNwa2dz L3A3emlwL3BhdGNoZXMvQ1ZFLTIwMTYtOTI5Ni5wYXRjaCAgICAgfCAgMTIgLQogc3JjcGtncy9w N3ppcC9wYXRjaGVzL0NWRS0yMDE3LTE3OTY5LnBhdGNoICAgIHwgIDI2IC0tCiBzcmNwa2dzL3A3 emlwL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgICAgfCAgNDcgLS0tCiBzcmNwa2dzL3A3 emlwL3VwZGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgLQogMTQgZmlsZXMgY2hh bmdlZCwgMzQxIGluc2VydGlvbnMoKyksIDYxOSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEy MDAwMCBzcmNwa2dzLzd6aXAtdW5yYXIKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzLzd6aXAv ZmlsZXMvN3p6LjEKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzLzd6aXAvcDd6aXAtdW5yYXIu SU5TVEFMTC5tc2cKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzLzd6aXAvcGF0Y2hlcy9idWls ZF9mbGFncy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvN3ppcC90ZW1wbGF0ZQog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvN3ppcC91cGRhdGUKIGNyZWF0ZSBtb2RlIDEyMDAw MCBzcmNwa2dzL3A3emlwCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9wN3ppcC9wYXRjaGVz LzIwLUNWRS0yMDE4LTU5OTYucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3A3emlw L3BhdGNoZXMvMzAtQ1ZFLTIwMTgtMTAxMTUucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3A3emlwL3BhdGNoZXMvQ1ZFLTIwMTYtOTI5Ni5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNy0xNzk2OS5wYXRjaAogZGVsZXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvcDd6aXAvdGVtcGxhdGUKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L3A3emlwL3VwZGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvN3ppcC11bnJhciBiL3NyY3BrZ3Mv N3ppcC11bnJhcgpuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLjI4NDMx MjU5NWE0YwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvN3ppcC11bnJhcgpAQCAtMCwwICsx IEBACis3emlwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtn cy83emlwL2ZpbGVzLzd6ei4xIGIvc3JjcGtncy83emlwL2ZpbGVzLzd6ei4xCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMmUxNTliZDk0YmI0Ci0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy83emlwL2ZpbGVzLzd6ei4xCkBAIC0wLDAgKzEsMjE1IEBACisuVEggN1pa ICIxIiAiRmVicnVhcnkgMTQsIDIwMjIiCisuU0ggTkFNRQorN3p6IFwtIFN0YW5kYWxvbmUgY29u c29sZSB2ZXJzaW9uIG9mIHRoZSA3LVppcCBmaWxlIGFyY2hpdmVyCisuU0ggU1lOT1BTSVMKKy5C IDd6egorLlwiIFxmSVwsPGNvbW1hbmQ+IFwvW1xmSVwsPHN3aXRjaD5cLy4uLl0gXGZJXCw8YXJj aGl2ZV9uYW1lPiBcL1tcZklcLDxmaWxlX25hbWVzPlwvLi4uXSBbXGZJXCxAbGlzdF9maWxlXC9d CisuQlIgPGNvbW1hbmQ+CisuQlIgWzxzd2l0Y2g+Li4uXQorLkJSIDxhcmNoaXZlX25hbWU+Cisu QlIgWzxmaWxlX25hbWVzPl0KKy5CUiBbQGxpc3RmaWxlXQorLlNIIERFU0NSSVBUSU9OCis3XC1a aXAgaXMgYSBmaWxlIGFyY2hpdmVyIHdpdGggYSBoaWdoIGNvbXByZXNzaW9uIHJhdGlvLiBTdXBw b3J0ZWQgZm9ybWF0czoKKy5JUAorUGFja2luZyBhbmQgdW5wYWNraW5nOiA3eiwgWFosIEJaSVAy LCBHWklQLCBUQVIsIFpJUCBhbmQgV0lNLgorLklQCitVbnBhY2tpbmcgb25seTogQVIsIEFSSiwg Q0FCLCBDSE0sIENQSU8sIENyYW1GUywgRE1HLCBFWFQsIEZBVCwgR1BULCBIRlMsIElIRVgsIElT TywgTFpILCBMWk1BLCBNQlIsIE1TSSwgTlNJUywgTlRGUywgUUNPVzIsIFJBUiwgUlBNLCBTcXVh c2hGUywgVURGLCBVRUZJLCBWREksIFZIRCwgVkhEWCwgVk1ESywgV0lNLCBYQVIgYW5kIFouCisu U0ggQ29tbWFuZHMKKy5UUAorLkJSIGEKK0FkZCBmaWxlcyB0byBhcmNoaXZlCisuVFAKKy5CUiBi CitCZW5jaG1hcmsKKy5UUAorLkJSIGQKK0RlbGV0ZSBmaWxlcyBmcm9tIGFyY2hpdmUKKy5UUAor LkJSIGUKK0V4dHJhY3QgZmlsZXMgZnJvbSBhcmNoaXZlICh3aXRob3V0IHVzaW5nIGRpcmVjdG9y eSBuYW1lcykKKy5UUAorLkJSIGgKK0NhbGN1bGF0ZSBoYXNoIHZhbHVlcyBmb3IgZmlsZXMKKy5U UAorLkJSIGkKK1Nob3cgaW5mb3JtYXRpb24gYWJvdXQgc3VwcG9ydGVkIGZvcm1hdHMKKy5UUAor LkJSIGwKK0xpc3QgY29udGVudHMgb2YgYXJjaGl2ZQorLlRQCisuQlIgcm4KK1JlbmFtZSBmaWxl cyBpbiBhcmNoaXZlCisuVFAKKy5CUiB0CitUZXN0IGludGVncml0eSBvZiBhcmNoaXZlCisuVFAK Ky5CUiB1CitVcGRhdGUgZmlsZXMgdG8gYXJjaGl2ZQorLlRQCisuQlIgeAorRXh0cmFjdCBmaWxl cyB3aXRoIGZ1bGwgcGF0aHMKKy5TSCBTd2l0Y2hlcworLlRQCisuQlIgXC1cLQorU3RvcCBzd2l0 Y2hlcyBhbmQgQGxpc3RmaWxlIHBhcnNpbmcKKy5UUAorLkJSIFwtYWlbcltcLXwwXV17QGxpc3Rm aWxlfCF3aWxkY2FyZH0KK0luY2x1ZGUgYXJjaGl2ZXMKKy5UUAorLkJSIFwtYXhbcltcLXwwXV17 QGxpc3RmaWxlfCF3aWxkY2FyZH0KK0V4Y2x1ZGUgYXJjaGl2ZXMKKy5UUAorLkJSIFwtYW97YXxz fHR8dX0KK1NldCBPdmVyd3JpdGUgbW9kZQorLlRQCisuQlIgXC1hbgorRGlzYWJsZSBhcmNoaXZl X25hbWUgZmllbGQKKy5UUAorLkJSIFwtYmJbMFwtM10KK1NldCBvdXRwdXQgbG9nIGxldmVsCisu VFAKKy5CUiBcLWJkCitEaXNhYmxlIHByb2dyZXNzIGluZGljYXRvcgorLlRQCisuQlIgXC1ic3tv fGV8cH17MHwxfDJ9CitTZXQgb3V0cHV0IHN0cmVhbSBmb3Igb3V0cHV0L2Vycm9yL3Byb2dyZXNz IGxpbmUKKy5UUAorLkJSIFwtYnQKK3Nob3cgZXhlY3V0aW9uIHRpbWUgc3RhdGlzdGljcworLlRQ CisuQlIgXC1pW3JbXC18MF1de0BsaXN0ZmlsZXwhd2lsZGNhcmR9CitJbmNsdWRlIGZpbGVuYW1l cworLlRQCisuQlIgXC1te1BhcmFtZXRlcnN9CitTZXQgY29tcHJlc3Npb24gTWV0aG9kCisuVFAK Ky5CUiBcLW1tdFtOXQorU2V0IG51bWJlciBvZiBDUFUgdGhyZWFkcworLlRQCisuQlIgXC1teFtO XQorU2V0IGNvbXByZXNzaW9uIGxldmVsOiBcLW14MSAoZmFzdGVzdCkgLi4uIFwtbXg5ICh1bHRy YSkKKy5UUAorLkJSIFwtb3tEaXJlY3Rvcnl9CitTZXQgT3V0cHV0IGRpcmVjdG9yeQorLlRQCisu QlIgXC1we1Bhc3N3b3JkfQorU2V0IFBhc3N3b3JkCisuVFAKKy5CUiBcLXJbXC18MF0KK1JlY3Vy c2Ugc3ViZGlyZWN0b3JpZXMgZm9yIG5hbWUgc2VhcmNoCisuVFAKKy5CUiBcLXNhe2F8ZXxzfQor U2V0IEFyY2hpdmUgbmFtZSBtb2RlCisuVFAKKy5CUiBcLXNjY3tVVEZcLTh8V0lOfERPU30KK1Nl dCBjaGFyc2V0IGZvciBmb3IgY29uc29sZSBpbnB1dC9vdXRwdXQKKy5UUAorLkJSIFwtc2Nze1VU RlwtOHxVVEZcLTE2TEV8VVRGXC0xNkJFfFdJTnxET1N8e2lkfX0KK1NldCBjaGFyc2V0IGZvciBs aXN0IGZpbGVzCisuVFAKKy5CUiBcLXNjcmNbQ1JDMzJ8Q1JDNjR8U0hBMXxTSEEyNTZ8Kl0KK1Nl dCBoYXNoIGZ1bmN0aW9uIGZvciB4LCBlLCBoIGNvbW1hbmRzCisuVFAKKy5CUiBcLXNkZWwKK0Rl bGV0ZSBmaWxlcyBhZnRlciBjb21wcmVzc2lvbgorLlRQCisuQlIgXC1zZW1sWy5dCitTZW5kIGFy Y2hpdmUgYnkgZW1haWwKKy5UUAorLkJSIFwtc2Z4W3tuYW1lfV0KK0NyZWF0ZSBTRlggYXJjaGl2 ZQorLlRQCisuQlIgXC1zaVt7bmFtZX1dCitSZWFkIGRhdGEgZnJvbSBzdGRpbgorLlRQCisuQlIg XC1zbHAKK1NldCBMYXJnZSBQYWdlcyBtb2RlCisuVFAKKy5CUiBcLXNsdAorU2hvdyB0ZWNobmlj YWwgaW5mb3JtYXRpb24gZm9yIGwgKExpc3QpIGNvbW1hbmQKKy5UUAorLkJSIFwtc25oCitTdG9y ZSBoYXJkIGxpbmtzIGFzIGxpbmtzCisuVFAKKy5CUiBcLXNubAorU3RvcmUgc3ltYm9saWMgbGlu a3MgYXMgbGlua3MKKy5UUAorLkJSIFwtc25pCitTdG9yZSBOVCBzZWN1cml0eSBpbmZvcm1hdGlv bgorLlRQCisuQlIgXC1zbnNbXC1dCitTdG9yZSBOVEZTIGFsdGVybmF0ZSBzdHJlYW1zCisuVFAK Ky5CUiBcLXNvCitXcml0ZSBkYXRhIHRvIHN0ZG91dAorLlRQCisuQlIgXC1zcGQKK0Rpc2FibGUg d2lsZGNhcmQgbWF0Y2hpbmcgZm9yIGZpbGUgbmFtZXMKKy5UUAorLkJSIFwtc3BlCitFbGltaW5h dGUgZHVwbGljYXRpb24gb2Ygcm9vdCBmb2xkZXIgZm9yIGV4dHJhY3QgY29tbWFuZAorLlRQCisu QlIgXC1zcGYKK1VzZSBmdWxseSBxdWFsaWZpZWQgZmlsZSBwYXRocworLlRQCisuQlIgXC1zc2Nb XC1dCitTZXQgc2Vuc2l0aXZlIGNhc2UgbW9kZQorLlRQCisuQlIgXC1zc2UKK1N0b3AgYXJjaGl2 ZSBjcmVhdGluZywgaWYgaXQgY2FuJ3Qgb3BlbiBzb21lIGlucHV0IGZpbGUKKy5UUAorLkJSIFwt c3NwCitEbyBub3QgY2hhbmdlIExhc3QgQWNjZXNzIFRpbWUgb2Ygc291cmNlIGZpbGVzIHdoaWxl IGFyY2hpdmluZworLlRQCisuQlIgXC1zc3cKK0NvbXByZXNzIHNoYXJlZCBmaWxlcworLlRQCisu QlIgXC1zdGwKK1NldCBhcmNoaXZlIHRpbWVzdGFtcCBmcm9tIHRoZSBtb3N0IHJlY2VudGx5IG1v ZGlmaWVkIGZpbGUKKy5UUAorLkJSIFwtc3Rte0hleE1hc2t9CitTZXQgQ1BVIHRocmVhZCBhZmZp bml0eSBtYXNrIChoZXhhZGVjaW1hbCBudW1iZXIpCisuVFAKKy5CUiBcLXN0eHtUeXBlfQorRXhj bHVkZSBhcmNoaXZlIHR5cGUKKy5UUAorLkJSIFwtdHtUeXBlfQorU2V0IHR5cGUgb2YgYXJjaGl2 ZQorLlRQCisuQlIgXC11W1wtXVtwI11bcSNdW3IjXVt4I11beSNdW3ojXVshbmV3QXJjaGl2ZU5h bWVdCitVcGRhdGUgb3B0aW9ucworLlRQCisuQlIgXC12e1NpemV9W2J8a3xtfGddCitDcmVhdGUg dm9sdW1lcworLlRQCisuQlIgXC13W3twYXRofV0KK1NldCB3b3JraW5nIGRpcmVjdG9yeS4gRW1w dHkgcGF0aCBtZWFucyBhIHRlbXBvcmFyeSBkaXJlY3RvcnkKKy5UUAorLkJSIFwteFtyW1wtfDBd XXtAbGlzdGZpbGV8IXdpbGRjYXJkfQorRXhjbHVkZSBmaWxlbmFtZXMKKy5UUAorLkJSIFwteQor QXNzdW1lIFllcyBvbiBhbGwgcXVlcmllcworLlNIIExpc3RmaWxlCitZb3UgY2FuIHN1cHBseSBv bmUgb3IgbW9yZSBmaWxlbmFtZXMgb3Igd2lsZGNhcmRzIGZvciBzcGVjaWFsIGxpc3QgZmlsZXMg KGZpbGVzIGNvbnRhaW5pbmcgbGlzdHMgb2YgZmlsZXMpLiBUaGUgZmlsZW5hbWVzIGluIHN1Y2gg bGlzdCBmaWxlIG11c3QgYmUgc2VwYXJhdGVkIGJ5IG5ldyBsaW5lIHN5bWJvbChzKS4gRm9yIGxp c3QgZmlsZXMsIDdcLVppcCB1c2VzIFVURlwtOCBlbmNvZGluZyBieSBkZWZhdWx0LiBZb3UgY2Fu IGNoYW5nZSBlbmNvZGluZyB1c2luZworLkJSIFwtc2NzCitzd2l0Y2guIE11bHRpcGxlIGxpc3Qg ZmlsZXMgYXJlIHN1cHBvcnRlZC4KKy5QUAorRm9yIGV4YW1wbGUsIGlmIHRoZSBmaWxlICJsaXN0 ZmlsZS50eHQiIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmc6CisuSVAKK015IHByb2dyYW1zXFwqLmNw cAorLmJyCitTcmNcXCouY3BwCisuUFAKK3RoZW4gdGhlIGNvbW1hbmQKKy5JUAorLkIgN3ogYSBc LXR6aXAgYXJjaGl2ZS56aXAgQGxpc3RmaWxlLnR4dAorLlBQCithZGRzIHRvIHRoZSBhcmNoaXZl ICJhcmNoaXZlLnppcCIgYWxsICIqLmNwcCIgZmlsZXMgZnJvbSBkaXJlY3RvcmllcyAiTXkgcHJv Z3JhbXMiIGFuZCAiU3JjIi4KKy5TSCAiU0VFIEFMU08iCisuQlIgeHogKDEpCisuYnIKK0ZyZXF1 ZW50bHkgQXNrZWQgUXVlc3Rpb25zOiA8aHR0cHM6Ly93d3cuNy16aXAub3JnL2ZhcS5odG1sPgor LmJyCitSZWNvdmVyIGNvcnJ1cHRlZCA3eiBhcmNoaXZlOiA8aHR0cHM6Ly93d3cuNy16aXAub3Jn L3JlY292ZXIuaHRtbD4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvN3ppcC9wN3ppcC11bnJhci5JTlNU QUxMLm1zZyBiL3NyY3BrZ3MvN3ppcC9wN3ppcC11bnJhci5JTlNUQUxMLm1zZwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjc3NWY5NDNjMGE1NgotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvN3ppcC9wN3ppcC11bnJhci5JTlNUQUxMLm1zZwpAQCAtMCwwICsxLDUg QEAKK1RoZSBwN3ppcC11bnJhciBwYWNrYWdlIGhhcyBiZWVuIHJlcGxhY2VkIGJ5IDd6aXAtdW5y YXIuCitUbyB1c2UgdGhlIFJBUi1lbmFibGVkIHZlcnNpb24gb2YgYDd6YCwgbWFrZSBzdXJlIHRo ZSBkZXNpcmVkCithbHRlcm5hdGl2ZSBpcyBjb25maWd1cmVkOgorCisJIyB4YnBzLWFsdGVybmF0 aXZlcyAtcyA3emlwLXVucmFyCmRpZmYgLS1naXQgYS9zcmNwa2dzLzd6aXAvcGF0Y2hlcy9idWls ZF9mbGFncy5wYXRjaCBiL3NyY3BrZ3MvN3ppcC9wYXRjaGVzL2J1aWxkX2ZsYWdzLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNGY3OTFmZjYzZGRmCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy83emlwL3BhdGNoZXMvYnVpbGRfZmxhZ3MucGF0Y2gKQEAg LTAsMCArMSwzMCBAQAorYXBwZW5kIChkb24ndCBwcmVmaXgpIHhicHMgYnVpbGQgZmxhZ3MgYW5k IGRvbid0IHN0cmlwIHRoZSBleGVjdXRhYmxlCistLS0gYS9DUFAvN3ppcC83emlwX2djYy5tYWsK KysrKyBiL0NQUC83emlwLzd6aXBfZ2NjLm1haworQEAgLTEyNiw3ICsxMjYsNyBAQCBlbmRpZgor IA0KKyANCisgDQorLUNGTEFHUyA9ICQoTVlfQVJDSF8yKSAkKExPQ0FMX0ZMQUdTKSAkKENGTEFH U19CQVNFMikgJChDRkxBR1NfQkFTRSkgJChDQ19TSEFSRUQpIC1vICRADQorK0NGTEFHUyA9ICQo TVlfQVJDSF8yKSAkKExPQ0FMX0ZMQUdTKSAkKENGTEFHU19CQVNFMikgJChDRkxBR1NfQkFTRSkg JChDQ19TSEFSRUQpICQoWEJQU19DRkxBR1MpIC1vICRADQorIA0KKyANCisgaWZkZWYgSVNfTUlO R1cNCitAQCAtMTU0LDcgKzE1NCw3IEBAIENYWF9XQVJOX0ZMQUdTID0KKyAjLVduby1pbnZhbGlk LW9mZnNldG9mDQorICMtV25vLXJlb3JkZXINCisgDQorLUNYWEZMQUdTID0gJChNWV9BUkNIXzIp ICQoTE9DQUxfRkxBR1MpICQoQ1hYRkxBR1NfQkFTRTIpICQoQ0ZMQUdTX0JBU0UpICQoQ1hYRkxB R1NfRVhUUkEpICQoQ0NfU0hBUkVEKSAtbyAkQCAkKENYWF9XQVJOX0ZMQUdTKQ0KKytDWFhGTEFH UyA9ICQoTVlfQVJDSF8yKSAkKExPQ0FMX0ZMQUdTKSAkKENYWEZMQUdTX0JBU0UyKSAkKENGTEFH U19CQVNFKSAkKENYWEZMQUdTX0VYVFJBKSAkKENDX1NIQVJFRCkgLW8gJEAgJChDWFhfV0FSTl9G TEFHUykgJChYQlBTX0NYWEZMQUdTKQ0KKyANCisgU1RBVElDX1RBUkdFVD0NCisgaWZkZWYgQ09N UExfU1RBVElDDQorQEAgLTE2Nyw3ICsxNjcsNyBAQCBhbGw6ICQoTykgJChQUk9HUEFUSCkgJChT VEFUSUNfVEFSR0VUKQorICQoTyk6DQorIAkkKE1ZX01LRElSKSAkKE8pDQorIA0KKy1MRkxBR1Nf QUxMID0gLXMgJChNWV9BUkNIXzIpICQoTERGTEFHUykgJChMRF9hcmNoKSAkKE9CSlMpICQoTVlf TElCUykgJChMSUIyKQ0KKytMRkxBR1NfQUxMID0gJChNWV9BUkNIXzIpICQoTERGTEFHUykgJChM RF9hcmNoKSAkKE9CSlMpICQoTVlfTElCUykgJChMSUIyKSAkKFhCUFNfTERGTEFHUykNCisgJChQ Uk9HUEFUSCk6ICQoT0JKUykNCisgCSQoQ1hYKSAtbyAkKFBST0dQQVRIKSAkKExGTEFHU19BTEwp DQorIA0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvN3ppcC90ZW1wbGF0ZSBiL3NyY3BrZ3MvN3ppcC90 ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmY2YzEzNjIz NTcyMwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvN3ppcC90ZW1wbGF0ZQpAQCAtMCwwICsx LDg2IEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICc3emlwJworcGtnbmFtZT03emlwCit2ZXJzaW9u PTIyLjAwCityZXZpc2lvbj0xCitjcmVhdGVfd3Jrc3JjPXllcworc2hvcnRfZGVzYz0iRmlsZSBh cmNoaXZlciB3aXRoIGEgaGlnaCBjb21wcmVzc2lvbiByYXRpbyIKK21haW50YWluZXI9IlJvYmVy dG8gUmljY2kgPHJpY2NpQGRpc3Jvb3Qub3JnPiIKK2xpY2Vuc2U9IkxHUEwtMi4xLW9yLWxhdGVy LCBCU0QtMy1DbGF1c2UiCitob21lcGFnZT0iaHR0cHM6Ly93d3cuNy16aXAub3JnIgorY2hhbmdl bG9nPSJodHRwczovL3d3dy43LXppcC5vcmcvaGlzdG9yeS50eHQiCitkaXN0ZmlsZXM9Imh0dHBz Oi8vd3d3LjctemlwLm9yZy9hLzd6JHt2ZXJzaW9uLy8uL30tc3JjLnRhci54eiIKK2NoZWNrc3Vt PTQwOTY5ZjYwMWU4NmFmZjQ5YWFhMGJhMGRmNWNlNmZkMzk3Y2Y3ZTI2ODNhODRiNTkxYjAwODFl NDYxZWY2NzUKK2FsdGVybmF0aXZlcz0iCisgN3o6N3o6L3Vzci9iaW4vN3otZnJlZQorIDd6Ojd6 YTovdXNyL2Jpbi83ei1mcmVlCisgN3o6N3pyOi91c3IvYmluLzd6LWZyZWUKKyA3ejo3ei4xOi91 c3Ivc2hhcmUvbWFuL21hbjEvN3otZnJlZS4xIgorCitpZiBbICIkWEJQU19UQVJHRVRfTElCQyIg PSBtdXNsIF07IHRoZW4KKwkjIG1pc3NpbmcgcHRocmVhZF9hdHRyX3NldGFmZmluaXR5X25wKCkK KwlDRkxBR1M9Ii1EXzdaSVBfQUZGSU5JVFlfRElTQUJMRSIKKwlDWFhGTEFHUz0iLURfN1pJUF9B RkZJTklUWV9ESVNBQkxFIgorZmkKKworZG9fYnVpbGQoKSB7CisJXzd6X2J1aWxkKCkgeworCQlj ZCAiJHdya3NyYyIvQ1BQLzd6aXAvQnVuZGxlcy9BbG9uZTIKKworCQljYXNlICIkWEJQU19UQVJH RVRfTUFDSElORSIgaW4KKwkJYWFyY2g2NCopIF83el9tYWtlZmlsZT0iLi4vLi4vY21wbF9nY2Nf YXJtNjQubWFrIjs7CisJCSopICAgICAgICBfN3pfbWFrZWZpbGU9Ii4uLy4uL2NtcGxfZ2NjLm1h ayI7OworCQllc2FjCisKKwkJbWFrZSAiJG1ha2Vqb2JzIiAtZiAiJF83el9tYWtlZmlsZSIgXAor CQkJQ0M9IiRDQyIgQ1hYPSIkQ1hYIiBYQlBTX0NGTEFHUz0iJENGTEFHUyIgXAorCQkJWEJQU19D WFhGTEFHUz0iJENYWEZMQUdTIiBYQlBTX0xERkxBR1M9IiRMREZMQUdTIiBcCisJCQkiJEAiCisJ fQorCV83el9idWlsZCBPPWIvbm9yYXIgRElTQUJMRV9SQVJfQ09NUFJFU1M9MQorCV83el9idWls ZCBPPWIvcmFyCit9CisKK183el9pbnN0YWxsKCkgeworCWJpbmRpcj0iJDEiCisJZGVzdD0iJDIi CisJc3VmZml4PSIkMyIKKworCXZiaW4gIiR7d3Jrc3JjfS9DUFAvN3ppcC9CdW5kbGVzL0Fsb25l Mi8ke2JpbmRpcn0vN3p6IiAiN3otJHtzdWZmaXh9IgorCisJdmxpY2Vuc2UgIiR7d3Jrc3JjfS9E T0MvTGljZW5zZS50eHQiCisKKwkjIGh0dHBzOi8vY2dpdC5mcmVlYnNkLm9yZy9wb3J0cy9wbGFp bi9hcmNoaXZlcnMvNy16aXAvZmlsZXMvN3p6LjEKKwl2bWFuICIke0ZJTEVTRElSfS83enouMSIg Ijd6LSR7c3VmZml4fS4xIgorfQorCitkb19pbnN0YWxsKCkgeworCV83el9pbnN0YWxsIGIvbm9y YXIgIiRERVNURElSIiBmcmVlCit9CisKKzd6aXAtdW5yYXJfcGFja2FnZSgpIHsKKwlsaWNlbnNl Kz0iLCBjdXN0b206ZnJlZXdhcmUiCisJcmVwb3NpdG9yeT1ub25mcmVlCisJc2hvcnRfZGVzYys9 IiAtIFJBUiBzdXBwb3J0IgorCWFsdGVybmF0aXZlcz0iCisJIDd6Ojd6Oi91c3IvYmluLzd6LXVu cmFyCisJIDd6Ojd6YTovdXNyL2Jpbi83ei11bnJhcgorCSA3ejo3enI6L3Vzci9iaW4vN3otdW5y YXIKKwkgN3o6N3ouMTovdXNyL3NoYXJlL21hbi9tYW4xLzd6LXVucmFyLjEiCisKKwlwa2dfaW5z dGFsbCgpIHsKKwkJXzd6X2luc3RhbGwgYi9yYXIgIiRQS0dERVNURElSIiB1bnJhcgorCX0KK30K KworcDd6aXBfcGFja2FnZSgpIHsKKwlidWlsZF9zdHlsZT1tZXRhCisJZGVwZW5kcz03emlwCisJ c2hvcnRfZGVzYz0iQ29tbWFuZC1saW5lIHZlcnNpb24gb2YgdGhlIDd6aXAgY29tcHJlc3NlZCBm aWxlIGFyY2hpdmUgKHRyYW5zaXRpb25hbCBkdW1teSBwYWNrYWdlKSIKK30KKworcDd6aXAtdW5y YXJfcGFja2FnZSgpIHsKKwlidWlsZF9zdHlsZT1tZXRhCisJcmVwb3NpdG9yeT1ub25mcmVlCisJ ZGVwZW5kcz03emlwLXVucmFyCisJc2hvcnRfZGVzYz0iQ29tbWFuZC1saW5lIHZlcnNpb24gb2Yg dGhlIDd6aXAgY29tcHJlc3NlZCBmaWxlIGFyY2hpdmUgLSBSQVIgc3VwcG9ydCAodHJhbnNpdGlv bmFsIGR1bW15IHBhY2thZ2UpIgorfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy83emlwL3VwZGF0ZSBi L3NyY3BrZ3MvN3ppcC91cGRhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwLi41NDYzZjE0OGU0ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzLzd6aXAvdXBkYXRl CkBAIC0wLDAgKzEsMiBAQAorc2l0ZT0naHR0cHM6Ly83LXppcC5vcmcvZG93bmxvYWQuaHRtbCcK K3BhdHRlcm49J0Rvd25sb2FkIDctWmlwIFxLW1xkLl0rJwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9w N3ppcCBiL3NyY3BrZ3MvcDd6aXAKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAw MDAwLi4yODQzMTI1OTVhNGMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3A3emlwCkBAIC0w LDAgKzEgQEAKKzd6aXAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9z cmNwa2dzL3A3emlwLXVucmFyIGIvc3JjcGtncy9wN3ppcC11bnJhcgppbmRleCBiZjUzNDllZTY2 NjYuLjI4NDMxMjU5NWE0YyAxMjAwMDAKLS0tIGEvc3JjcGtncy9wN3ppcC11bnJhcgorKysgYi9z cmNwa2dzL3A3emlwLXVucmFyCkBAIC0xICsxIEBACi1wN3ppcApcIE5vIG5ld2xpbmUgYXQgZW5k IG9mIGZpbGUKKzd6aXAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9z cmNwa2dzL3A3emlwL3BhdGNoZXMvMjAtQ1ZFLTIwMTgtNTk5Ni5wYXRjaCBiL3NyY3BrZ3MvcDd6 aXAvcGF0Y2hlcy8yMC1DVkUtMjAxOC01OTk2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCA2NzMzYmZmOTE4OTUuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3A3emlwL3Bh dGNoZXMvMjAtQ1ZFLTIwMTgtNTk5Ni5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIyMSArMCww IEBACi1Gcm9tOiBSb2JlcnQgTHViZXJkYSA8cm9iZXJ0QGRlYmlhbi5vcmc+Ci1EYXRlOiBTdW4s IDI4IEphbiAyMDE4IDIzOjQ3OjQwICswMTAwCi1TdWJqZWN0OiBDVkUtMjAxOC01OTk2Ci0KLUhv cGVmdWxseSBmaXggTWVtb3J5IENvcnJ1cHRpb25zIHZpYSBSQVIgUFBNZCAoQ1ZFLTIwMTgtNTk5 NikgYnkKLWFwcGx5aW5nIGEgZmV3IGNoYW5nZXMgZnJvbSA3WmlwIDE4LjAwLWJldGEuCi0KLUJ1 Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLyM4ODgzMTQKLS0tLQotIENQUC83emlw L0NvbXByZXNzL1JhcjFEZWNvZGVyLmNwcCB8IDEzICsrKysrKysrKy0tLS0KLSBDUFAvN3ppcC9D b21wcmVzcy9SYXIxRGVjb2Rlci5oICAgfCAgMSArCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRl Y29kZXIuY3BwIHwgMTAgKysrKysrKysrLQotIENQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVy LmggICB8ICAxICsKLSBDUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5jcHAgfCAyMyArKysr KysrKysrKysrKysrKysrKy0tLQotIENQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmggICB8 ICAyICsrCi0gNiBmaWxlcyBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygt KQotCi1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuY3BwIGIvQ1BQ Lzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuY3BwCi1pbmRleCAxYWFlZGNjLi42ODAzMGM3IDEw MDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuY3BwCi0rKysgYi9DUFAv N3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAKLUBAIC0yOSw3ICsyOSw3IEBAIHB1YmxpYzoK LSB9OwotICovCi0gCi0tQ0RlY29kZXI6OkNEZWNvZGVyKCk6IG1fSXNTb2xpZChmYWxzZSkgeyB9 Ci0rQ0RlY29kZXI6OkNEZWNvZGVyKCk6IG1fSXNTb2xpZChmYWxzZSksIF9lcnJvck1vZGUoZmFs c2UpIHsgfQotIAotIHZvaWQgQ0RlY29kZXI6OkluaXRTdHJ1Y3R1cmVzKCkKLSB7Ci1AQCAtNDA2 LDkgKzQwNiwxNCBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJU2VxdWVudGlhbEluU3Ry ZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0gKgotICAgSW5pdERhdGEoKTsKLSAg IGlmICghbV9Jc1NvbGlkKQotICAgewotKyAgICBfZXJyb3JNb2RlID0gZmFsc2U7Ci0gICAgIElu aXRTdHJ1Y3R1cmVzKCk7Ci0gICAgIEluaXRIdWZmKCk7Ci0gICB9Ci0rCi0rICBpZiAoX2Vycm9y TW9kZSkKLSsgICAgcmV0dXJuIFNfRkFMU0U7Ci0rCi0gICBpZiAobV9VbnBhY2tTaXplID4gMCkK LSAgIHsKLSAgICAgR2V0RmxhZ3NCdWYoKTsKLUBAIC00NzcsOSArNDgyLDkgQEAgU1RETUVUSE9E SU1QIENEZWNvZGVyOjpDb2RlKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVu dGlhbE91dFN0cmVhbQotICAgICBjb25zdCBVSW50NjQgKmluU2l6ZSwgY29uc3QgVUludDY0ICpv dXRTaXplLCBJQ29tcHJlc3NQcm9ncmVzc0luZm8gKnByb2dyZXNzKQotIHsKLSAgIHRyeSB7IHJl dHVybiBDb2RlUmVhbChpblN0cmVhbSwgb3V0U3RyZWFtLCBpblNpemUsIG91dFNpemUsIHByb2dy ZXNzKTsgfQotLSAgY2F0Y2goY29uc3QgQ0luQnVmZmVyRXhjZXB0aW9uICZlKSB7IHJldHVybiBl LkVycm9yQ29kZTsgfQotLSAgY2F0Y2goY29uc3QgQ0x6T3V0V2luZG93RXhjZXB0aW9uICZlKSB7 IHJldHVybiBlLkVycm9yQ29kZTsgfQotLSAgY2F0Y2goLi4uKSB7IHJldHVybiBTX0ZBTFNFOyB9 Ci0rICBjYXRjaChjb25zdCBDSW5CdWZmZXJFeGNlcHRpb24gJmUpIHsgX2Vycm9yTW9kZSA9IHRy dWU7IHJldHVybiBlLkVycm9yQ29kZTsgfQotKyAgY2F0Y2goY29uc3QgQ0x6T3V0V2luZG93RXhj ZXB0aW9uICZlKSB7IF9lcnJvck1vZGUgPSB0cnVlOyByZXR1cm4gZS5FcnJvckNvZGU7IH0KLSsg IGNhdGNoKC4uLikgeyBfZXJyb3JNb2RlID0gdHJ1ZTsgcmV0dXJuIFNfRkFMU0U7IH0KLSB9Ci0g Ci0gU1RETUVUSE9ESU1QIENEZWNvZGVyOjpTZXREZWNvZGVyUHJvcGVydGllczIoY29uc3QgQnl0 ZSAqZGF0YSwgVUludDMyIHNpemUpCi1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFy MURlY29kZXIuaCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmgKLWluZGV4IDYzMGYw ODkuLjAxYjYwNmIgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5o Ci0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5oCi1AQCAtMzksNiArMzksNyBA QCBwdWJsaWM6Ci0gCi0gICBJbnQ2NCBtX1VucGFja1NpemU7Ci0gICBib29sIG1fSXNTb2xpZDsK LSsgIGJvb2wgX2Vycm9yTW9kZTsKLSAKLSAgIFVJbnQzMiBSZWFkQml0cyhpbnQgbnVtQml0cyk7 Ci0gICBIUkVTVUxUIENvcHlCbG9jayhVSW50MzIgZGlzdGFuY2UsIFVJbnQzMiBsZW4pOwotZGlm ZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcCBiL0NQUC83emlwL0Nv bXByZXNzL1JhcjJEZWNvZGVyLmNwcAotaW5kZXggYjNmMmI0Yi4uMDU4MGM4ZCAxMDA2NDQKLS0t LSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29t cHJlc3MvUmFyMkRlY29kZXIuY3BwCi1AQCAtODAsNyArODAsOCBAQCBzdGF0aWMgY29uc3QgVUlu dDMyIGtIaXN0b3J5U2l6ZSA9IDEgPDwgMjA7Ci0gc3RhdGljIGNvbnN0IFVJbnQzMiBrV2luZG93 UmVzZXJ2U2l6ZSA9ICgxIDw8IDIyKSArIDI1NjsKLSAKLSBDRGVjb2Rlcjo6Q0RlY29kZXIoKToK LS0gIG1fSXNTb2xpZChmYWxzZSkKLSsgIG1fSXNTb2xpZChmYWxzZSksCi0rICBtX1RhYmxlc09L KGZhbHNlKQotIHsKLSB9Ci0gCi1AQCAtMTAwLDYgKzEwMSw4IEBAIFVJbnQzMiBDRGVjb2Rlcjo6 UmVhZEJpdHModW5zaWduZWQgbnVtQml0cykgeyByZXR1cm4gbV9JbkJpdFN0cmVhbS5SZWFkQml0 cyhudW1CCi0gCi0gYm9vbCBDRGVjb2Rlcjo6UmVhZFRhYmxlcyh2b2lkKQotIHsKLSsgIG1fVGFi bGVzT0sgPSBmYWxzZTsKLSsKLSAgIEJ5dGUgbGV2ZWxMZXZlbHNba0xldmVsVGFibGVTaXplXTsK LSAgIEJ5dGUgbmV3TGV2ZWxzW2tNYXhUYWJsZVNpemVdOwotICAgbV9BdWRpb01vZGUgPSAoUmVh ZEJpdHMoMSkgPT0gMSk7Ci1AQCAtMTcwLDYgKzE3Myw4IEBAIGJvb2wgQ0RlY29kZXI6OlJlYWRU YWJsZXModm9pZCkKLSAgIH0KLSAgIAotICAgbWVtY3B5KG1fTGFzdExldmVscywgbmV3TGV2ZWxz LCBrTWF4VGFibGVTaXplKTsKLSsgIG1fVGFibGVzT0sgPSB0cnVlOwotKwotICAgcmV0dXJuIHRy dWU7Ci0gfQotIAotQEAgLTM0NCw2ICszNDksOSBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVh bChJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0gKgot ICAgICAgIHJldHVybiBTX0ZBTFNFOwotICAgfQotIAotKyAgaWYgKCFtX1RhYmxlc09LKQotKyAg ICByZXR1cm4gU19GQUxTRTsKLSsKLSAgIFVJbnQ2NCBzdGFydFBvcyA9IG1fT3V0V2luZG93U3Ry ZWFtLkdldFByb2Nlc3NlZFNpemUoKTsKLSAgIHdoaWxlIChwb3MgPCB1blBhY2tTaXplKQotICAg ewotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmggYi9DUFAvN3pp cC9Db21wcmVzcy9SYXIyRGVjb2Rlci5oCi1pbmRleCAzYTA1MzVjLi4wZTkwMDVmIDEwMDY0NAot LS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaAotKysrIGIvQ1BQLzd6aXAvQ29t cHJlc3MvUmFyMkRlY29kZXIuaAotQEAgLTEzOSw2ICsxMzksNyBAQCBjbGFzcyBDRGVjb2RlciA6 Ci0gCi0gICBVSW50NjQgbV9QYWNrU2l6ZTsKLSAgIGJvb2wgbV9Jc1NvbGlkOwotKyAgYm9vbCBt X1RhYmxlc09LOwotIAotICAgdm9pZCBJbml0U3RydWN0dXJlcygpOwotICAgVUludDMyIFJlYWRC aXRzKHVuc2lnbmVkIG51bUJpdHMpOwotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1Jh cjNEZWNvZGVyLmNwcCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcAotaW5kZXgg M2JmMjUxMy4uNmNiOGE2YSAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNv ZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3BwCi1AQCAtOTIs NyArOTIsOCBAQCBDRGVjb2Rlcjo6Q0RlY29kZXIoKToKLSAgIF93cml0dGVuRmlsZVNpemUoMCks Ci0gICBfdm1EYXRhKDApLAotICAgX3ZtQ29kZSgwKSwKLS0gIG1fSXNTb2xpZChmYWxzZSkKLSsg IG1fSXNTb2xpZChmYWxzZSksCi0rICBfZXJyb3JNb2RlKGZhbHNlKQotIHsKLSAgIFBwbWQ3X0Nv bnN0cnVjdCgmX3BwbWQpOwotIH0KLUBAIC01NDUsNiArNTQ2LDkgQEAgSFJFU1VMVCBDRGVjb2Rl cjo6UmVhZFRhYmxlcyhib29sICZrZWVwRGVjb21wcmVzc2luZykKLSAgICAgcmV0dXJuIEluaXRQ UE0oKTsKLSAgIH0KLSAKLSsgIFRhYmxlc1JlYWQgPSBmYWxzZTsKLSsgIFRhYmxlc09LID0gZmFs c2U7Ci0rCi0gICBfbHpNb2RlID0gdHJ1ZTsKLSAgIFByZXZBbGlnbkJpdHMgPSAwOwotICAgUHJl dkFsaWduQ291bnQgPSAwOwotQEAgLTYwNiw2ICs2MTAsOSBAQCBIUkVTVUxUIENEZWNvZGVyOjpS ZWFkVGFibGVzKGJvb2wgJmtlZXBEZWNvbXByZXNzaW5nKQotICAgICAgIH0KLSAgICAgfQotICAg fQotKyAgaWYgKElucHV0RW9mRXJyb3IoKSkKLSsgICAgcmV0dXJuIFNfRkFMU0U7Ci0rCi0gICBU YWJsZXNSZWFkID0gdHJ1ZTsKLSAKLSAgIC8vIG9yaWdpbmFsIGNvZGUgaGFzIGNoZWNrIGhlcmU6 Ci1AQCAtNjIzLDYgKzYzMCw5IEBAIEhSRVNVTFQgQ0RlY29kZXI6OlJlYWRUYWJsZXMoYm9vbCAm a2VlcERlY29tcHJlc3NpbmcpCi0gICBSSUYobV9MZW5EZWNvZGVyLkJ1aWxkKCZuZXdMZXZlbHNb a01haW5UYWJsZVNpemUgKyBrRGlzdFRhYmxlU2l6ZSArIGtBbGlnblRhYmxlU2l6ZV0pKTsKLSAK LSAgIG1lbWNweShtX0xhc3RMZXZlbHMsIG5ld0xldmVscywga1RhYmxlc1NpemVzU3VtKTsKLSsK LSsgIFRhYmxlc09LID0gdHJ1ZTsKLSsKLSAgIHJldHVybiBTX09LOwotIH0KLSAKLUBAIC04MjQs NyArODM0LDEyIEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElDb21wcmVzc1Byb2dyZXNz SW5mbyAqcHJvZ3Jlc3MpCi0gICAgIFBwbUVzY0NoYXIgPSAyOwotICAgICBQcG1FcnJvciA9IHRy dWU7Ci0gICAgIEluaXRGaWx0ZXJzKCk7Ci0rICAgIF9lcnJvck1vZGUgPSBmYWxzZTsKLSAgIH0K LSsKLSsgIGlmIChfZXJyb3JNb2RlKQotKyAgICByZXR1cm4gU19GQUxTRTsKLSsKLSAgIGlmICgh bV9Jc1NvbGlkIHx8ICFUYWJsZXNSZWFkKQotICAgewotICAgICBib29sIGtlZXBEZWNvbXByZXNz aW5nOwotQEAgLTgzOCw2ICs4NTMsOCBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJQ29t cHJlc3NQcm9ncmVzc0luZm8gKnByb2dyZXNzKQotICAgICBib29sIGtlZXBEZWNvbXByZXNzaW5n OwotICAgICBpZiAoX2x6TW9kZSkKLSAgICAgewotKyAgICAgIGlmICghVGFibGVzT0spCi0rICAg ICAgICByZXR1cm4gU19GQUxTRTsKLSAgICAgICBSSU5PSyhEZWNvZGVMWihrZWVwRGVjb21wcmVz c2luZykpCi0gICAgIH0KLSAgICAgZWxzZQotQEAgLTkwMSw4ICs5MTgsOCBAQCBTVERNRVRIT0RJ TVAgQ0RlY29kZXI6OkNvZGUoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50 aWFsT3V0U3RyZWFtCi0gICAgIF91bnBhY2tTaXplID0gb3V0U2l6ZSA/ICpvdXRTaXplIDogKFVJ bnQ2NCkoSW50NjQpLTE7Ci0gICAgIHJldHVybiBDb2RlUmVhbChwcm9ncmVzcyk7Ci0gICB9Ci0t ICBjYXRjaChjb25zdCBDSW5CdWZmZXJFeGNlcHRpb24gJmUpICB7IHJldHVybiBlLkVycm9yQ29k ZTsgfQotLSAgY2F0Y2goLi4uKSB7IHJldHVybiBTX0ZBTFNFOyB9Ci0rICBjYXRjaChjb25zdCBD SW5CdWZmZXJFeGNlcHRpb24gJmUpICB7IF9lcnJvck1vZGUgPSB0cnVlOyByZXR1cm4gZS5FcnJv ckNvZGU7IH0KLSsgIGNhdGNoKC4uLikgeyBfZXJyb3JNb2RlID0gdHJ1ZTsgcmV0dXJuIFNfRkFM U0U7IH0KLSAgIC8vIENOZXdFeGNlcHRpb24gaXMgcG9zc2libGUgaGVyZS4gQnV0IHByb2JhYmx5 IENOZXdFeGNlcHRpb24gaXMgY2F1c2VkCi0gICAvLyBieSBlcnJvciBpbiBkYXRhIHN0cmVhbS4K LSB9Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuaCBiL0NQUC83 emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmgKLWluZGV4IGMxMzBjZWMuLjJmNzJkN2QgMTAwNjQ0 Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5oCi0rKysgYi9DUFAvN3ppcC9D b21wcmVzcy9SYXIzRGVjb2Rlci5oCi1AQCAtMTkyLDYgKzE5Miw3IEBAIGNsYXNzIENEZWNvZGVy OgotICAgVUludDMyIF9sYXN0RmlsdGVyOwotIAotICAgYm9vbCBtX0lzU29saWQ7Ci0rICBib29s IF9lcnJvck1vZGU7Ci0gCi0gICBib29sIF9sek1vZGU7Ci0gICBib29sIF91bnN1cHBvcnRlZEZp bHRlcjsKLUBAIC0yMDAsNiArMjAxLDcgQEAgY2xhc3MgQ0RlY29kZXI6Ci0gICBVSW50MzIgUHJl dkFsaWduQ291bnQ7Ci0gCi0gICBib29sIFRhYmxlc1JlYWQ7Ci0rICBib29sIFRhYmxlc09LOwot IAotICAgQ1BwbWQ3IF9wcG1kOwotICAgaW50IFBwbUVzY0NoYXI7CmRpZmYgLS1naXQgYS9zcmNw a2dzL3A3emlwL3BhdGNoZXMvMzAtQ1ZFLTIwMTgtMTAxMTUucGF0Y2ggYi9zcmNwa2dzL3A3emlw L3BhdGNoZXMvMzAtQ1ZFLTIwMTgtMTAxMTUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDdkOWM0YmY4MWYwMC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcDd6aXAvcGF0 Y2hlcy8zMC1DVkUtMjAxOC0xMDExNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMxMSArMCww IEBACi1Gcm9tOiBSb2JlcnQgTHViZXJkYSA8cm9iZXJ0QGRlYmlhbi5vcmc+Ci1EYXRlOiBUdWUs IDI5IE1heSAyMDE4IDIzOjU5OjA5ICswMjAwCi1TdWJqZWN0OiBGaXggQ1ZFLTIwMTgtMTAxMTUK LQotQXBwbHkgInBhdGNoIiB0YWtlbiBmcm9tIGh0dHBzOi8vbGFuZGF2ZS5pby9maWxlcy9wYXRj aF83emlwX0NWRS0yMDE4LTEwMTE1LnR4dAotCi0KLUJ1Z3MtRGViaWFuOiBodHRwczovL2J1Z3Mu ZGViaWFuLm9yZy84OTc2NzQKLS0tLQotIENQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmNw cCB8IDE2ICsrKysrKysrKysrLS0tLS0KLSBDUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5o ICAgfCAgMyArKy0KLSBDUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAgfCAxNyArKysr KysrKysrKysrLS0tLQotIENQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmggICB8ICAzICsr LQotIENQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcCB8IDE5ICsrKysrKysrKysrKysr Ky0tLS0KLSBDUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5oICAgfCAgMyArKy0KLSBDUFAv N3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5jcHAgfCAgOCArKysrKysrKwotIENQUC83emlwL0Nv bXByZXNzL1JhcjVEZWNvZGVyLmggICB8ICAxICsKLSA4IGZpbGVzIGNoYW5nZWQsIDU0IGluc2Vy dGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJl c3MvUmFyMURlY29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuY3BwCi1p bmRleCA2ODAzMGM3Li44Yzg5MGM4IDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFy MURlY29kZXIuY3BwCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAKLUBA IC0yOSw3ICsyOSw3IEBAIHB1YmxpYzoKLSB9OwotICovCi0gCi0tQ0RlY29kZXI6OkNEZWNvZGVy KCk6IG1fSXNTb2xpZChmYWxzZSksIF9lcnJvck1vZGUoZmFsc2UpIHsgfQotK0NEZWNvZGVyOjpD RGVjb2RlcigpOiBfaXNTb2xpZChmYWxzZSksIF9zb2xpZEFsbG93ZWQoZmFsc2UpLCBfZXJyb3JN b2RlKGZhbHNlKSB7IH0KLSAKLSB2b2lkIENEZWNvZGVyOjpJbml0U3RydWN0dXJlcygpCi0gewot QEAgLTM0NSw3ICszNDUsNyBAQCB2b2lkIENEZWNvZGVyOjpHZXRGbGFnc0J1ZigpCi0gCi0gdm9p ZCBDRGVjb2Rlcjo6SW5pdERhdGEoKQotIHsKLS0gIGlmICghbV9Jc1NvbGlkKQotKyAgaWYgKCFf aXNTb2xpZCkKLSAgIHsKLSAgICAgQXZyUGxjQiA9IEF2ckxuMSA9IEF2ckxuMiA9IEF2ckxuMyA9 IE51bUh1ZiA9IEJ1ZjYwID0gMDsKLSAgICAgQXZyUGxjID0gMHgzNTAwOwotQEAgLTM5MSw2ICsz OTEsMTEgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSVNlcXVlbnRpYWxJblN0cmVhbSAq aW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtICoKLSAgIGlmIChpblNpemUgPT0gTlVMTCB8 fCBvdXRTaXplID09IE5VTEwpCi0gICAgIHJldHVybiBFX0lOVkFMSURBUkc7Ci0gCi0rICBpZiAo X2lzU29saWQgJiYgIV9zb2xpZEFsbG93ZWQpCi0rICAgIHJldHVybiBTX0ZBTFNFOwotKwotKyAg X3NvbGlkQWxsb3dlZCA9IGZhbHNlOwotKwotICAgaWYgKCFtX091dFdpbmRvd1N0cmVhbS5DcmVh dGUoa0hpc3RvcnlTaXplKSkKLSAgICAgcmV0dXJuIEVfT1VUT0ZNRU1PUlk7Ci0gICBpZiAoIW1f SW5CaXRTdHJlYW0uQ3JlYXRlKDEgPDwgMjApKQotQEAgLTM5OCwxMyArNDAzLDEzIEBAIEhSRVNV TFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2Vx dWVudGlhbE91dFN0cmVhbSAqCi0gCi0gICBtX1VucGFja1NpemUgPSAoSW50NjQpKm91dFNpemU7 Ci0gICBtX091dFdpbmRvd1N0cmVhbS5TZXRTdHJlYW0ob3V0U3RyZWFtKTsKLS0gIG1fT3V0V2lu ZG93U3RyZWFtLkluaXQobV9Jc1NvbGlkKTsKLSsgIG1fT3V0V2luZG93U3RyZWFtLkluaXQoX2lz U29saWQpOwotICAgbV9JbkJpdFN0cmVhbS5TZXRTdHJlYW0oaW5TdHJlYW0pOwotICAgbV9JbkJp dFN0cmVhbS5Jbml0KCk7Ci0gCi0gICAvLyBDQ29kZXJSZWxlYXNlciBjb2RlclJlbGVhc2VyKHRo aXMpOwotICAgSW5pdERhdGEoKTsKLS0gIGlmICghbV9Jc1NvbGlkKQotKyAgaWYgKCFfaXNTb2xp ZCkKLSAgIHsKLSAgICAgX2Vycm9yTW9kZSA9IGZhbHNlOwotICAgICBJbml0U3RydWN0dXJlcygp OwotQEAgLTQ3NSw2ICs0ODAsNyBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJU2VxdWVu dGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0gKgotICAgfQotICAg aWYgKG1fVW5wYWNrU2l6ZSA8IDApCi0gICAgIHJldHVybiBTX0ZBTFNFOwotKyAgX3NvbGlkQWxs b3dlZCA9IHRydWU7Ci0gICByZXR1cm4gbV9PdXRXaW5kb3dTdHJlYW0uRmx1c2goKTsKLSB9Ci0g Ci1AQCAtNDkxLDcgKzQ5Nyw3IEBAIFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6U2V0RGVjb2RlclBy b3BlcnRpZXMyKGNvbnN0IEJ5dGUgKmRhdGEsIFVJbnQzMiBzaXplKQotIHsKLSAgIGlmIChzaXpl IDwgMSkKLSAgICAgcmV0dXJuIEVfSU5WQUxJREFSRzsKLS0gIG1fSXNTb2xpZCA9ICgoZGF0YVsw XSAmIDEpICE9IDApOwotKyAgX2lzU29saWQgPSAoKGRhdGFbMF0gJiAxKSAhPSAwKTsKLSAgIHJl dHVybiBTX09LOwotIH0KLSAKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVj b2Rlci5oIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuaAotaW5kZXggMDFiNjA2Yi4u OGFiYjNhMyAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmgKLSsr KyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmgKLUBAIC0zOCw3ICszOCw4IEBAIHB1 YmxpYzoKLSAgIFVJbnQzMiBMYXN0TGVuZ3RoOwotIAotICAgSW50NjQgbV9VbnBhY2tTaXplOwot LSAgYm9vbCBtX0lzU29saWQ7Ci0rICBib29sIF9pc1NvbGlkOwotKyAgYm9vbCBfc29saWRBbGxv d2VkOwotICAgYm9vbCBfZXJyb3JNb2RlOwotIAotICAgVUludDMyIFJlYWRCaXRzKGludCBudW1C aXRzKTsKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAgYi9D UFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAKLWluZGV4IDA1ODBjOGQuLmJlOGQ4NDIg MTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAKLSsrKyBiL0NQ UC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcAotQEAgLTgwLDcgKzgwLDggQEAgc3RhdGlj IGNvbnN0IFVJbnQzMiBrSGlzdG9yeVNpemUgPSAxIDw8IDIwOwotIHN0YXRpYyBjb25zdCBVSW50 MzIga1dpbmRvd1Jlc2VydlNpemUgPSAoMSA8PCAyMikgKyAyNTY7Ci0gCi0gQ0RlY29kZXI6OkNE ZWNvZGVyKCk6Ci0tICBtX0lzU29saWQoZmFsc2UpLAotKyAgX2lzU29saWQoZmFsc2UpLAotKyAg X3NvbGlkQWxsb3dlZChmYWxzZSksCi0gICBtX1RhYmxlc09LKGZhbHNlKQotIHsKLSB9Ci1AQCAt MzIwLDYgKzMyMSwxMCBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJU2VxdWVudGlhbElu U3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0gKgotICAgaWYgKGluU2l6ZSA9 PSBOVUxMIHx8IG91dFNpemUgPT0gTlVMTCkKLSAgICAgcmV0dXJuIEVfSU5WQUxJREFSRzsKLSAK LSsgIGlmIChfaXNTb2xpZCAmJiAhX3NvbGlkQWxsb3dlZCkKLSsgICAgcmV0dXJuIFNfRkFMU0U7 Ci0rICBfc29saWRBbGxvd2VkID0gZmFsc2U7Ci0rCi0gICBpZiAoIW1fT3V0V2luZG93U3RyZWFt LkNyZWF0ZShrSGlzdG9yeVNpemUpKQotICAgICByZXR1cm4gRV9PVVRPRk1FTU9SWTsKLSAgIGlm ICghbV9JbkJpdFN0cmVhbS5DcmVhdGUoMSA8PCAyMCkpCi1AQCAtMzMwLDEyICszMzUsMTIgQEAg SFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0s IElTZXF1ZW50aWFsT3V0U3RyZWFtICoKLSAgIFVJbnQ2NCBwb3MgPSAwLCB1blBhY2tTaXplID0g Km91dFNpemU7Ci0gICAKLSAgIG1fT3V0V2luZG93U3RyZWFtLlNldFN0cmVhbShvdXRTdHJlYW0p OwotLSAgbV9PdXRXaW5kb3dTdHJlYW0uSW5pdChtX0lzU29saWQpOwotKyAgbV9PdXRXaW5kb3dT dHJlYW0uSW5pdChfaXNTb2xpZCk7Ci0gICBtX0luQml0U3RyZWFtLlNldFN0cmVhbShpblN0cmVh bSk7Ci0gICBtX0luQml0U3RyZWFtLkluaXQoKTsKLSAKLSAgIC8vIENDb2RlclJlbGVhc2VyIGNv ZGVyUmVsZWFzZXIodGhpcyk7Ci0tICBpZiAoIW1fSXNTb2xpZCkKLSsgIGlmICghX2lzU29saWQp Ci0gICB7Ci0gICAgIEluaXRTdHJ1Y3R1cmVzKCk7Ci0gICAgIGlmICh1blBhY2tTaXplID09IDAp Ci1AQCAtMzQzLDYgKzM0OCw3IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50 aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gICAgICAgaWYg KG1fSW5CaXRTdHJlYW0uR2V0UHJvY2Vzc2VkU2l6ZSgpICsgMiA8PSBtX1BhY2tTaXplKSAvLyB0 ZXN0IGl0OiBwcm9iYWJseSBpbmNvcnJlY3Q7Ci0gICAgICAgICBpZiAoIVJlYWRUYWJsZXMoKSkK LSAgICAgICAgICAgcmV0dXJuIFNfRkFMU0U7Ci0rICAgICAgX3NvbGlkQWxsb3dlZCA9IHRydWU7 Ci0gICAgICAgcmV0dXJuIFNfT0s7Ci0gICAgIH0KLSAgICAgaWYgKCFSZWFkVGFibGVzKCkpCi1A QCAtMzg2LDYgKzM5Miw5IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFs SW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gCi0gICBpZiAoIVJl YWRMYXN0VGFibGVzKCkpCi0gICAgIHJldHVybiBTX0ZBTFNFOwotKwotKyAgX3NvbGlkQWxsb3dl ZCA9IHRydWU7Ci0rCi0gICByZXR1cm4gbV9PdXRXaW5kb3dTdHJlYW0uRmx1c2goKTsKLSB9Ci0g Ci1AQCAtNDAyLDcgKzQxMSw3IEBAIFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6U2V0RGVjb2RlclBy b3BlcnRpZXMyKGNvbnN0IEJ5dGUgKmRhdGEsIFVJbnQzMiBzaXplKQotIHsKLSAgIGlmIChzaXpl IDwgMSkKLSAgICAgcmV0dXJuIEVfSU5WQUxJREFSRzsKLS0gIG1fSXNTb2xpZCA9ICgoZGF0YVsw XSAmIDEpICE9IDApOwotKyAgX2lzU29saWQgPSAoKGRhdGFbMF0gJiAxKSAhPSAwKTsKLSAgIHJl dHVybiBTX09LOwotIH0KLSAKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVj b2Rlci5oIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaAotaW5kZXggMGU5MDA1Zi4u MzcwYmNlMiAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmgKLSsr KyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmgKLUBAIC0xMzgsNyArMTM4LDggQEAg Y2xhc3MgQ0RlY29kZXIgOgotICAgQnl0ZSBtX0xhc3RMZXZlbHNba01heFRhYmxlU2l6ZV07Ci0g Ci0gICBVSW50NjQgbV9QYWNrU2l6ZTsKLS0gIGJvb2wgbV9Jc1NvbGlkOwotKyAgYm9vbCBfaXNT b2xpZDsKLSsgIGJvb2wgX3NvbGlkQWxsb3dlZDsKLSAgIGJvb2wgbV9UYWJsZXNPSzsKLSAKLSAg IHZvaWQgSW5pdFN0cnVjdHVyZXMoKTsKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9S YXIzRGVjb2Rlci5jcHAgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5jcHAKLWluZGV4 IDZjYjhhNmEuLjdiODU4MzMgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVj b2Rlci5jcHAKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcAotQEAgLTky LDcgKzkyLDggQEAgQ0RlY29kZXI6OkNEZWNvZGVyKCk6Ci0gICBfd3JpdHRlbkZpbGVTaXplKDAp LAotICAgX3ZtRGF0YSgwKSwKLSAgIF92bUNvZGUoMCksCi0tICBtX0lzU29saWQoZmFsc2UpLAot KyAgX2lzU29saWQoZmFsc2UpLAotKyAgX3NvbGlkQWxsb3dlZChmYWxzZSksCi0gICBfZXJyb3JN b2RlKGZhbHNlKQotIHsKLSAgIFBwbWQ3X0NvbnN0cnVjdCgmX3BwbWQpOwotQEAgLTgyMSw3ICs4 MjIsNyBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJQ29tcHJlc3NQcm9ncmVzc0luZm8g KnByb2dyZXNzKQotIHsKLSAgIF93cml0dGVuRmlsZVNpemUgPSAwOwotICAgX3Vuc3VwcG9ydGVk RmlsdGVyID0gZmFsc2U7Ci0tICBpZiAoIW1fSXNTb2xpZCkKLSsgIGlmICghX2lzU29saWQpCi0g ICB7Ci0gICAgIF9selNpemUgPSAwOwotICAgICBfd2luUG9zID0gMDsKLUBAIC04NDAsMTIgKzg0 MSwxNSBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJQ29tcHJlc3NQcm9ncmVzc0luZm8g KnByb2dyZXNzKQotICAgaWYgKF9lcnJvck1vZGUpCi0gICAgIHJldHVybiBTX0ZBTFNFOwotIAot LSAgaWYgKCFtX0lzU29saWQgfHwgIVRhYmxlc1JlYWQpCi0rICBpZiAoIV9pc1NvbGlkIHx8ICFU YWJsZXNSZWFkKQotICAgewotICAgICBib29sIGtlZXBEZWNvbXByZXNzaW5nOwotICAgICBSSU5P SyhSZWFkVGFibGVzKGtlZXBEZWNvbXByZXNzaW5nKSk7Ci0gICAgIGlmICgha2VlcERlY29tcHJl c3NpbmcpCi0rICAgIHsKLSsgICAgICBfc29saWRBbGxvd2VkID0gdHJ1ZTsKLSAgICAgICByZXR1 cm4gU19PSzsKLSsgICAgfQotICAgfQotIAotICAgZm9yICg7OykKLUBAIC04NzAsNiArODc0LDkg QEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSUNvbXByZXNzUHJvZ3Jlc3NJbmZvICpwcm9n cmVzcykKLSAgICAgaWYgKCFrZWVwRGVjb21wcmVzc2luZykKLSAgICAgICBicmVhazsKLSAgIH0K LSsKLSsgIF9zb2xpZEFsbG93ZWQgPSB0cnVlOwotKwotICAgUklOT0soV3JpdGVCdWYoKSk7Ci0g ICBVSW50NjQgcGFja1NpemUgPSBtX0luQml0U3RyZWFtLkJpdERlY29kZXIuR2V0UHJvY2Vzc2Vk U2l6ZSgpOwotICAgUklOT0socHJvZ3Jlc3MtPlNldFJhdGlvSW5mbygmcGFja1NpemUsICZfd3Jp dHRlbkZpbGVTaXplKSk7Ci1AQCAtODkwLDYgKzg5NywxMCBAQCBTVERNRVRIT0RJTVAgQ0RlY29k ZXI6OkNvZGUoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3Ry ZWFtCi0gICAgIGlmICghaW5TaXplKQotICAgICAgIHJldHVybiBFX0lOVkFMSURBUkc7Ci0gCi0r ICAgIGlmIChfaXNTb2xpZCAmJiAhX3NvbGlkQWxsb3dlZCkKLSsgICAgICByZXR1cm4gU19GQUxT RTsKLSsgICAgX3NvbGlkQWxsb3dlZCA9IGZhbHNlOwotKwotICAgICBpZiAoIV92bURhdGEpCi0g ICAgIHsKLSAgICAgICBfdm1EYXRhID0gKEJ5dGUgKik6Ok1pZEFsbG9jKGtWbURhdGFTaXplTWF4 ICsga1ZtQ29kZVNpemVNYXgpOwotQEAgLTkyOCw3ICs5MzksNyBAQCBTVERNRVRIT0RJTVAgQ0Rl Y29kZXI6OlNldERlY29kZXJQcm9wZXJ0aWVzMihjb25zdCBCeXRlICpkYXRhLCBVSW50MzIgc2l6 ZSkKLSB7Ci0gICBpZiAoc2l6ZSA8IDEpCi0gICAgIHJldHVybiBFX0lOVkFMSURBUkc7Ci0tICBt X0lzU29saWQgPSAoKGRhdGFbMF0gJiAxKSAhPSAwKTsKLSsgIF9pc1NvbGlkID0gKChkYXRhWzBd ICYgMSkgIT0gMCk7Ci0gICByZXR1cm4gU19PSzsKLSB9Ci0gCi1kaWZmIC0tZ2l0IGEvQ1BQLzd6 aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuaCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVy LmgKLWluZGV4IDJmNzJkN2QuLjMyYzg5NDMgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVz cy9SYXIzRGVjb2Rlci5oCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5oCi1A QCAtMTkxLDcgKzE5MSw4IEBAIGNsYXNzIENEZWNvZGVyOgotICAgQ1JlY29yZFZlY3RvcjxDVGVt cEZpbHRlciAqPiAgX3RlbXBGaWx0ZXJzOwotICAgVUludDMyIF9sYXN0RmlsdGVyOwotIAotLSAg Ym9vbCBtX0lzU29saWQ7Ci0rICBib29sIF9pc1NvbGlkOwotKyAgYm9vbCBfc29saWRBbGxvd2Vk OwotICAgYm9vbCBfZXJyb3JNb2RlOwotIAotICAgYm9vbCBfbHpNb2RlOwotZGlmZiAtLWdpdCBh L0NQUC83emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmNwcCBiL0NQUC83emlwL0NvbXByZXNzL1Jh cjVEZWNvZGVyLmNwcAotaW5kZXggZGM4ODMwZi4uYTgyNmQ1YSAxMDA2NDQKLS0tLSBhL0NQUC83 emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFy NURlY29kZXIuY3BwCi1AQCAtNzIsNiArNzIsNyBAQCBDRGVjb2Rlcjo6Q0RlY29kZXIoKToKLSAg ICAgX3dyaXR0ZW5GaWxlU2l6ZSgwKSwKLSAgICAgX2RpY3RTaXplTG9nKDApLAotICAgICBfaXNT b2xpZChmYWxzZSksCi0rICAgIF9zb2xpZEFsbG93ZWQoZmFsc2UpLAotICAgICBfd2FzSW5pdChm YWxzZSksCi0gICAgIF9pbnB1dEJ1ZihOVUxMKQotIHsKLUBAIC04MDEsNyArODAyLDEwIEBAIEhS RVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKCkKLSAgICovCi0gCi0gICBpZiAocmVzID09IFNfT0sp Ci0rICB7Ci0rICAgIF9zb2xpZEFsbG93ZWQgPSB0cnVlOwotICAgICByZXMgPSByZXMyOwotKyAg fQotICAgICAgCi0gICBpZiAocmVzID09IFNfT0sgJiYgX3VucGFja1NpemVfRGVmaW5lZCAmJiBf d3JpdHRlbkZpbGVTaXplICE9IF91bnBhY2tTaXplKQotICAgICByZXR1cm4gU19GQUxTRTsKLUBA IC04MjEsNiArODI1LDEwIEBAIFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6Q29kZShJU2VxdWVudGlh bEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0KLSB7Ci0gICB0cnkKLSAg IHsKLSsgICAgaWYgKF9pc1NvbGlkICYmICFfc29saWRBbGxvd2VkKQotKyAgICAgIHJldHVybiBT X0ZBTFNFOwotKyAgICBfc29saWRBbGxvd2VkID0gZmFsc2U7Ci0rCi0gICAgIGlmIChfZGljdFNp emVMb2cgPj0gc2l6ZW9mKHNpemVfdCkgKiA4KQotICAgICAgIHJldHVybiBFX05PVElNUEw7Ci0g Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuaCBiL0NQUC83emlw L0NvbXByZXNzL1JhcjVEZWNvZGVyLmgKLWluZGV4IGIwYTRkZDEuLjNkYjUwMTggMTAwNjQ0Ci0t LS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5oCi0rKysgYi9DUFAvN3ppcC9Db21w cmVzcy9SYXI1RGVjb2Rlci5oCi1AQCAtMjcxLDYgKzI3MSw3IEBAIGNsYXNzIENEZWNvZGVyOgot ICAgQnl0ZSBfZGljdFNpemVMb2c7Ci0gICBib29sIF90YWJsZVdhc0ZpbGxlZDsKLSAgIGJvb2wg X2lzU29saWQ7Ci0rICBib29sIF9zb2xpZEFsbG93ZWQ7Ci0gICBib29sIF93YXNJbml0OwotIAot ICAgVUludDMyIF9yZXBzW2tOdW1SZXBzXTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAvcGF0 Y2hlcy9DVkUtMjAxNi05Mjk2LnBhdGNoIGIvc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE2 LTkyOTYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiYmIzMzc3MzdlNS4u MDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNi05Mjk2LnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLS0tIGEvQ1BQLzd6aXAvQXJjaGl2 ZS83ei83ekluLmNwcAlTdW4gTm92IDIwIDA5OjI5OjQxIDIwMTYKLSsrKyBiL0NQUC83emlwL0Fy Y2hpdmUvN3ovN3pJbi5jcHAJU3VuIE5vdiAyMCAwOTozMToyMiAyMDE2Ci1AQCAtMTA5Nyw3ICsx MDk3LDggQEAgSFJFU1VMVCBDSW5BcmNoaXZlOjpSZWFkQW5kRGVjb2RlUGFja2VkU3RyZWFtcygK LSAgICAgICBpZiAoQ3JjQ2FsYyhkYXRhLCB1bnBhY2tTaXplKSAhPSBmb2xkZXJzLkZvbGRlckNS Q3MuVmFsc1tpXSkKLSAgICAgICAgIFRocm93SW5jb3JyZWN0KCk7Ci0gICB9Ci0tICBIZWFkZXJz U2l6ZSArPSBmb2xkZXJzLlBhY2tQb3NpdGlvbnNbZm9sZGVycy5OdW1QYWNrU3RyZWFtc107Ci0r ICBpZiAoZm9sZGVycy5QYWNrUG9zaXRpb25zKQotKyAgICAgIEhlYWRlcnNTaXplICs9IGZvbGRl cnMuUGFja1Bvc2l0aW9uc1tmb2xkZXJzLk51bVBhY2tTdHJlYW1zXTsKLSAgIHJldHVybiBTX09L OwotIH0KLSAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNy0xNzk2 OS5wYXRjaCBiL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNy0xNzk2OS5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWE4MjBhZjczMDY3Li4wMDAwMDAwMDAwMDAKLS0t IGEvc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE3LTE3OTY5LnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMjYgKzAsMCBAQAotRnJvbTogPT91dGYtOD9xP0FudG9pbmVfQmVhdXByPUMzPUE5 Pz0gPGFuYXJjYXRAZGViaWFuLm9yZz4KLURhdGU6IFN1biwgMjggSmFuIDIwMTggMjE6MTk6NTAg KzAxMDAKLVN1YmplY3Q6IGJhY2twb3J0IG9mIHRoZSBDVkUtMjAxNy0xNzk2OSBmaXggZnJvbSA3 emlwIDE4LjAwLWJldGEKLQotLS0tCi0gQ1BQLzd6aXAvQ29tcHJlc3MvU2hyaW5rRGVjb2Rlci5j cHAgfCA3ICsrKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9TaHJpbmtEZWNvZGVyLmNw cCBiL0NQUC83emlwL0NvbXByZXNzL1Nocmlua0RlY29kZXIuY3BwCi1pbmRleCA4MGI3ZTY3Li40 YWNkY2U1IDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvU2hyaW5rRGVjb2Rlci5jcHAK LSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1Nocmlua0RlY29kZXIuY3BwCi1AQCAtMTIxLDcgKzEy MSwxMiBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJU2VxdWVudGlhbEluU3RyZWFtICpp blN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0gKgotICAgICB7Ci0gICAgICAgX3N0YWNrW2kr K10gPSBfc3VmZml4ZXNbY3VyXTsKLSAgICAgICBjdXIgPSBfcGFyZW50c1tjdXJdOwotLSAgICB9 Ci0rICAgICAgaWYgKGkgPj0ga051bUl0ZW1zKQotKyAgICAgICAgYnJlYWs7Ci0rICAgICB9Ci0r Ci0rICAgIGlmIChpID49IGtOdW1JdGVtcykKLSsgICAgICBicmVhazsKLSAgICAgCi0gICAgIF9z dGFja1tpKytdID0gKEJ5dGUpY3VyOwotICAgICBsYXN0Q2hhcjIgPSAoQnl0ZSljdXI7CmRpZmYg LS1naXQgYS9zcmNwa2dzL3A3emlwL3RlbXBsYXRlIGIvc3JjcGtncy9wN3ppcC90ZW1wbGF0ZQpk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjQyZTI0YWRhZjUyLi4wMDAwMDAwMDAwMDAK LS0tIGEvc3JjcGtncy9wN3ppcC90ZW1wbGF0ZQorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAg QEAKLSMgVGVtcGxhdGUgZmlsZSBmb3IgJ3A3emlwJwotcGtnbmFtZT1wN3ppcAotdmVyc2lvbj0x Ni4wMgotcmV2aXNpb249NQotd3Jrc3JjPSIke3BrZ25hbWV9XyR7dmVyc2lvbn0iCi1ob3N0bWFr ZWRlcGVuZHM9Inlhc20gbmFzbSIKLXNob3J0X2Rlc2M9IkNvbW1hbmQtbGluZSB2ZXJzaW9uIG9m IHRoZSA3emlwIGNvbXByZXNzZWQgZmlsZSBhcmNoaXZlIgotbWFpbnRhaW5lcj0iT3JwaGFuZWQg PG9ycGhhbkB2b2lkbGludXgub3JnPiIKLWxpY2Vuc2U9IkxHUEwtMi4xLW9yLWxhdGVyIgotaG9t ZXBhZ2U9Imh0dHA6Ly9wN3ppcC5zb3VyY2Vmb3JnZS5uZXQvIgotZGlzdGZpbGVzPSIke1NPVVJD RUZPUkdFX1NJVEV9LyR7cGtnbmFtZX0vJHtwa2duYW1lfV8ke3ZlcnNpb259X3NyY19hbGwudGFy LmJ6MiIKLWNoZWNrc3VtPTVlYjIwYWMwZTI5NDRmNmNiOWMyZDUxZGQ2YzQ1MTg5NDFjMTg1MzQ3 ZDQwODllYTg5MDg3ZmZkZDZlMjM0MWYKLQotQ1hYRkxBR1M9Ii1Xbm8tbmFycm93aW5nIgotCi1k b19jb25maWd1cmUoKSB7Ci0JY2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiIGluCi0JCWk2ODYq KSBjcCBtYWtlZmlsZS5saW51eF94ODZfYXNtX2djY180LlggbWFrZWZpbGUubWFjaGluZTs7Ci0J CXg4Nl82NCopIGNwIG1ha2VmaWxlLmxpbnV4X2FtZDY0X2FzbSBtYWtlZmlsZS5tYWNoaW5lOzsK LQkJKikgY3AgbWFrZWZpbGUubGludXhfYW55X2NwdV9nY2NfNC5YIG1ha2VmaWxlLm1hY2hpbmU7 OwotCWVzYWMKLQlzZWQgLWUgInMsZysrLCR7Q1hYfSwiIC1pIG1ha2VmaWxlLm1hY2hpbmUKLQlz ZWQgLWUgInMsZ2NjLCR7Q0N9LCIgLWkgbWFrZWZpbGUubWFjaGluZQotfQotZG9fYnVpbGQoKSB7 Ci0JbWFrZSBhbGwzIE9QVEZMQUdTPSIkQ1hYRkxBR1MiICR7bWFrZWpvYnN9Ci19Ci1kb19pbnN0 YWxsKCkgewotCW1ha2UgaW5zdGFsbCBERVNUX0RJUj0iJHtERVNURElSfSIgREVTVF9IT01FPSIv dXNyIiBcCi0JCURFU1RfTUFOPSIvdXNyL3NoYXJlL21hbiIgXAotCQlERVNUX1NIQVJFX0RPQz0i L3Vzci9zaGFyZS9kb2MvJHtwa2duYW1lfSIKLQlmaW5kICR7REVTVERJUn0vdXNyL3NoYXJlL2Rv Yy8kcGtnbmFtZSAtdHlwZSBkIC1leGVjIGNobW9kIDc1NSB7fSBcOwotCW1rZGlyIC1wICR7REVT VERJUn0vdXNyL3NoYXJlL2xpY2Vuc2VzL3A3emlwLwotCW12ICR7REVTVERJUn0vdXNyL3NoYXJl L2RvYy9wN3ppcC9ET0MvY29weWluZy50eHQgXAotCSAgICR7REVTVERJUn0vdXNyL3NoYXJlL2xp Y2Vuc2VzL3A3emlwL0xJQ0VOU0UKLX0KLQotcDd6aXAtdW5yYXJfcGFja2FnZSgpIHsKLQlzaG9y dF9kZXNjKz0iIC0gUkFSIHN1cHBvcnQiCi0JbGljZW5zZT0iY3VzdG9tOmZyZWV3YXJlIgotCWRl cGVuZHM9IiR7c291cmNlcGtnfS0ke3ZlcnNpb259XyR7cmV2aXNpb259IgotCXJlcG9zaXRvcnk9 bm9uZnJlZQotCXBrZ19pbnN0YWxsKCkgewotCQl2bW92ZSB1c3IvbGliL3A3emlwL0NvZGVjcy9S YXIuc28KLQkJdmxpY2Vuc2UgRE9DL3VuUmFyTGljZW5zZS50eHQgTElDRU5TRQotCX0KLX0KZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAvdXBkYXRlIGIvc3JjcGtncy9wN3ppcC91cGRhdGUKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg0ZWQ0NmQ3NGExYS4uMDAwMDAwMDAwMDAwCi0t LSBhL3NyY3BrZ3MvcDd6aXAvdXBkYXRlCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotcGF0 dGVybj0ncDd6aXBfXEtbLlxkXSsnCg== --===============7435821452642654551==--