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 17479 invoked from network); 25 Jun 2022 03:16:58 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 25 Jun 2022 03:16:58 -0000 Content-Type: multipart/mixed; boundary="===============5154292495502809875==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_musl=3A_update_realpath/readlink_and_add_gettid?= To: ml@inbox.vuxu.org From: oreo639 Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sat, 25 Jun 2022 05:16:58 +0200 List-Id: Message-ID: <20220625031658.uHWfSDPIhiNEU1Iu1gBiwGnak6LsQDvYgjdF_28m_dk@z> GitHub notification mails are now in MIME to allow UTF8. --===============5154292495502809875== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgb3JlbzYzOSBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vb3Jl bzYzOS92b2lkLXBhY2thZ2VzIG11c2wKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9p ZC1wYWNrYWdlcy9wdWxsLzM3NjQ2CgptdXNsOiB1cGRhdGUgcmVhbHBhdGgvcmVhZGxpbmsgYW5k IGFkZCBnZXR0aWQKPCEtLSBVbmNvbW1lbnQgcmVsZXZhbnQgc2VjdGlvbnMgYW5kIGRlbGV0ZSBv cHRpb25zIHdoaWNoIGFyZSBub3QgYXBwbGljYWJsZSAtLT4NCg0KIyMjIyBUZXN0aW5nIHRoZSBj aGFuZ2VzDQotIEkgdGVzdGVkIHRoZSBjaGFuZ2VzIGluIHRoaXMgUFI6ICoqYnJpZWZseSoqDQoN CkV2ZXJ5dGhpbmcgYnVpbGRzLg0KVGhlIHJlYWxwYXRoL3JlYWRsaW5rIHBhdGNoZXMgd2VyZSBz dGF0ZWQgdG8gYmUgd29ya2luZyBoZXJlIChsZXQgbWUga25vdyBpZiB0aGVyZSBhcmUgYW55IGlz c3VlcyB0aG91Z2gpOg0KaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdl cy9wdWxsLzMzMzcyDQoNCkFmYWljdCwgbm90aGluZyBpbXBvcnRhbnQgcmVsYXRlZCB0byBob3cg IGBfX3B0aHJlYWRfc2VsZigpLT50aWRgIHdvcmtzIHdhcyBjaGFuZ2VkIGJldHdlZW4gb3VyIHZl cnNpb24gYW5kIHdoZW4gYGdldHRpZCgpYCB3YXMgaW50cm9kdWNlZCwgYnV0IGl0IHNob3VsZCBz dGlsbCBiZSB0ZXN0ZWQuDQoNCkknbSBub3QgcnVubmluZyBtdXNsIGF0bSB0aG91Z2ggc28gaXRz IGEgbGl0dGxlIGhhcmQgZm9yIG1lIHRvIHRlc3QgaXQgY3VycmVudGx5IHNvIGZlZWRiYWNrIHdv dWxkIGJlIGFwcHJlY2lhdGVkLg0KDQpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lk LXBhY2thZ2VzL3B1bGwvMzc2MjgjaXNzdWVjb21tZW50LTExNjM2MDc3MDINCg0KPCEtLQ0KIyMj IyBOZXcgcGFja2FnZQ0KLSBUaGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcXVhbGl0 eSByZXF1aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2Fn ZXMvYmxvYi9tYXN0ZXIvTWFudWFsLm1kI3F1YWxpdHktcmVxdWlyZW1lbnRzKTogKipZRVMqKnwq Kk5PKioNCi0tPg0KDQo8IS0tIE5vdGU6IElmIHRoZSBidWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBt b3JlIHRoYW4gMiBob3VycywgcGxlYXNlIGFkZCBjaSBza2lwIHRhZyBhcyBkZXNjcmliZWQgaW4N Cmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIv Q09OVFJJQlVUSU5HLm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRpb24NCmFuZCB0ZXN0IGF0IGxlYXN0 IG9uZSBuYXRpdmUgYnVpbGQgYW5kLCBpZiBzdXBwb3J0ZWQsIGF0IGxlYXN0IG9uZSBjcm9zcyBi dWlsZC4NCklnbm9yZSB0aGlzIHNlY3Rpb24gaWYgdGhpcyBQUiBpcyBub3Qgc2tpcHBpbmcgQ0ku DQotLT4NCjwhLS0NCiMjIyMgTG9jYWwgYnVpbGQgdGVzdGluZw0KLSBJIGJ1aWx0IHRoaXMgUFIg bG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKEFSQ0gtTElCQykNCi0gSSBidWls dCB0aGlzIFBSIGxvY2FsbHkgZm9yIHRoZXNlIGFyY2hpdGVjdHVyZXMgKGlmIHN1cHBvcnRlZC4g bWFyayBjcm9zc2J1aWxkcyk6DQogIC0gYWFyY2g2NC1tdXNsDQogIC0gYXJtdjdsDQogIC0gYXJt djZsLW11c2wNCi0tPg0KCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9p ZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzc2NDYucGF0Y2ggaXMgYXR0YWNoZWQ= --===============5154292495502809875== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-musl-37646.patch" RnJvbSBkMTMwNjY5MDg1Yjg5Njk4MjBiNjNmMGNkMTU5MzVjYmRiMzAyNWM0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDwzMTkxNjM3OStPcmVvNjM5QHVzZXJzLm5vcmVw bHkuZ2l0aHViLmNvbT4KRGF0ZTogV2VkLCAyMiBKdW4gMjAyMiAxNToxMjoxMiAtMDcwMApTdWJq ZWN0OiBbUEFUQ0hdIG11c2w6IHVwZGF0ZSByZWFscGF0aC9yZWFkbGluayBhbmQgYWRkIGdldHRp ZAoKSW4gc29tZSBjYXNlcyBwYWNrYWdlcyBsaWtlIGJ1YmJsZXdyYXAgY2FsbCByZWFscGF0aCgp IHdpdGhvdXQgL3Byb2MgYmVpbmcKIGF2YWlsaWFibGUsIGhvd2V2ZXIgbXVzbCdzIHJlYWxwYXRo IHVzZWQgdG8gcmVxdWlyZSAvcHJvYy4gVGhpcyB3YXMgY2hhbmdlZAogaW4gbGF0ZXIgdmVyc2lv bnMgb2YgbXVzbCBzbyB3ZSBpbXBvcnQgdGhvc2UgY2hhbmdlcyBoZXJlLgoKVGhpcyBhbHNvIGFk ZHMgZ2V0dGlkKCkuIFRoaXMgZnVuY3Rpb24gd2FzIGFkZGVkIHRvIGxhdGVyIHZlcnNpb25zIG9m IG11c2wgYW5kCiByZW1vdmVzIHRoZSBuZWVkIHRvIHBhdGNoIG91dCBjYWxscyB0byBnZXR0aWQo KSBpbiB2YXJpb3VzIHBhY2thZ2VzIGluY2x1ZGluZywKIGZvciBleGFtcGxlLCBtdXR0ZXIuCi0t LQogc3JjcGtncy9tdXNsL3BhdGNoZXMvZ2V0dGlkLnBhdGNoICAgICAgICAgICAgIHwgIDQ5ICsr KysKIC4uLnRseV9pbnN0ZWFkX29mX3VzaW5nX3Byb2Nmc19yZWFkbGluay5wYXRjaCB8IDIxOSAr KysrKysrKysrKysrKysrKysKIC4uLmluX3JlYWRsaW5rX3N5c2NhbGxfd2l0aF96ZXJvX2J1ZmZl ci5wYXRjaCB8ICA1OSArKysrKwogc3JjcGtncy9tdXNsL3RlbXBsYXRlICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAyICstCiA0IGZpbGVzIGNoYW5nZWQsIDMyOCBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tdXNsL3BhdGNoZXMvZ2V0 dGlkLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tdXNsL3BhdGNoZXMvaW1wbGVt ZW50X3JlYWxwYXRoX2RpcmVjdGx5X2luc3RlYWRfb2ZfdXNpbmdfcHJvY2ZzX3JlYWRsaW5rLnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tdXNsL3BhdGNoZXMvd29ya19hcm91bmRf bGludXhfYnVnX2luX3JlYWRsaW5rX3N5c2NhbGxfd2l0aF96ZXJvX2J1ZmZlci5wYXRjaAoKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2dldHRpZC5wYXRjaCBiL3NyY3BrZ3MvbXVz bC9wYXRjaGVzL2dldHRpZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLmJiOGJmNTkwNWI4OAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbXVzbC9wYXRj aGVzL2dldHRpZC5wYXRjaApAQCAtMCwwICsxLDQ5IEBACitGcm9tIGQ0OWNmMDc1NDFiYjU0YTVh YzdhZWMxZmVlYzg1MTRkYjMzZGI4ZWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBS aWNoIEZlbGtlciA8ZGFsaWFzQGFlcmlmYWwuY3g+CitEYXRlOiBNb24sIDE3IEF1ZyAyMDIwIDIw OjEyOjUzIC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIGFkZCBnZXR0aWQgZnVuY3Rpb24KKwordGhp cyBpcyBhIHByZXJlcXVpc2l0ZSBmb3IgYWRkaXRpb24gb2Ygb3RoZXIgaW50ZXJmYWNlcyB0aGF0 IHVzZQora2VybmVsIHRpZHMsIGluY2x1ZGluZyBmdXRleCBhbmQgU0lHRVZfVEhSRUFEX0lELgor Cit0aGVyZSBpcyBzb21lIGFtYmlndWl0eSBhcyB0byB3aGV0aGVyIHRoZSBzZW1hbnRpYyByZXR1 cm4gdHlwZSBzaG91bGQKK2JlIGludCBvciBwaWRfdC4gZWl0aGVyIHdheSwgZnV0ZXggQVBJIGlt cG9zZXMgYSBjb250cmFjdCB0aGF0IHRoZQordmFsdWVzIGZpdCBpbiBpbnQgKGV4Y2x1ZGluZyBz b21lIHVwcGVyIHJlc2VydmVkIGJpdHMpLiBnbGliYyB1c2VkCitwaWRfdCwgc28gaW4gdGhlIGlu dGVyZXN0IG9mIG5vdCBoYXZpbmcgZ3JhdHVpdG91cyBtaXNtYXRjaCAodGhlCit1bmRlcmx5aW5n IHR5cGVzIGFyZSB0aGUgc2FtZSBhbnl3YXkpLCBwaWRfdCBpcyB1c2VkIGhlcmUgYXMgd2VsbC4K Kword2hpbGUgY29uY2VwdHVhbGx5IHRoaXMgaXMgYSBzeXNjYWxsLCB0aGUgY29weSBzdG9yZWQg aW4gdGhlIHRocmVhZAorc3RydWN0dXJlIGlzIGFsd2F5cyB2YWxpZCBpbiBhbGwgY29udGV4dHMg d2hlcmUgaXQncyB2YWxpZCB0byBjYWxsCitsaWJjIGZ1bmN0aW9ucywgc28gaXQncyB1c2VkIHRv IGF2b2lkIHRoZSBzeXNjYWxsLgorLS0tCisgaW5jbHVkZS91bmlzdGQuaCAgIHwgMSArCisgc3Jj L2xpbnV4L2dldHRpZC5jIHwgOCArKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRp b25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9saW51eC9nZXR0aWQuYworCitkaWZmIC0t Z2l0IGEvaW5jbHVkZS91bmlzdGQuaCBiL2luY2x1ZGUvdW5pc3RkLmgKK2luZGV4IDdiY2JmZjk0 My4uMDc1ODRhMjNlIDEwMDY0NAorLS0tIGEvaW5jbHVkZS91bmlzdGQuaAorKysrIGIvaW5jbHVk ZS91bmlzdGQuaAorQEAgLTE5MCw2ICsxOTAsNyBAQCBpbnQgc3luY2ZzKGludCk7CisgaW50IGV1 aWRhY2Nlc3MoY29uc3QgY2hhciAqLCBpbnQpOworIGludCBlYWNjZXNzKGNvbnN0IGNoYXIgKiwg aW50KTsKKyBzc2l6ZV90IGNvcHlfZmlsZV9yYW5nZShpbnQsIG9mZl90ICosIGludCwgb2ZmX3Qg Kiwgc2l6ZV90LCB1bnNpZ25lZCk7CisrcGlkX3QgZ2V0dGlkKHZvaWQpOworICNlbmRpZgorIAor ICNpZiBkZWZpbmVkKF9MQVJHRUZJTEU2NF9TT1VSQ0UpIHx8IGRlZmluZWQoX0dOVV9TT1VSQ0Up CitkaWZmIC0tZ2l0IGEvc3JjL2xpbnV4L2dldHRpZC5jIGIvc3JjL2xpbnV4L2dldHRpZC5jCitu ZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwLi43MDc2NzEzN2UKKy0tLSAvZGV2 L251bGwKKysrKyBiL3NyYy9saW51eC9nZXR0aWQuYworQEAgLTAsMCArMSw4IEBACisrI2RlZmlu ZSBfR05VX1NPVVJDRQorKyNpbmNsdWRlIDx1bmlzdGQuaD4KKysjaW5jbHVkZSAicHRocmVhZF9p bXBsLmgiCisrCisrcGlkX3QgZ2V0dGlkKHZvaWQpCisreworKwlyZXR1cm4gX19wdGhyZWFkX3Nl bGYoKS0+dGlkOworK30KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2ltcGxlbWVu dF9yZWFscGF0aF9kaXJlY3RseV9pbnN0ZWFkX29mX3VzaW5nX3Byb2Nmc19yZWFkbGluay5wYXRj aCBiL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2ltcGxlbWVudF9yZWFscGF0aF9kaXJlY3RseV9pbnN0 ZWFkX29mX3VzaW5nX3Byb2Nmc19yZWFkbGluay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAuLjU2OWExZjUyYzdjZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvbXVzbC9wYXRjaGVzL2ltcGxlbWVudF9yZWFscGF0aF9kaXJlY3RseV9pbnN0ZWFkX29mX3Vz aW5nX3Byb2Nmc19yZWFkbGluay5wYXRjaApAQCAtMCwwICsxLDIxOSBAQAorRnJvbSAyOWZmNzU5 OWE0NDgyMzJmMjUyNzg0MWMyMzYyNjQzZDI0NmNlZTM2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogUmljaCBGZWxrZXIgPGRhbGlhc0BhZXJpZmFsLmN4PgorRGF0ZTogTW9uLCAzMCBO b3YgMjAyMCAxMjoxNDo0NyAtMDUwMAorU3ViamVjdDogW1BBVENIXSBpbXBsZW1lbnQgcmVhbHBh dGggZGlyZWN0bHkgaW5zdGVhZCBvZiB1c2luZyBwcm9jZnMgcmVhZGxpbmsKKworaW5hYmlsaXR5 IHRvIHVzZSByZWFscGF0aCBpbiBjaHJvb3QvY29udGFpbmVyIHdpdGhvdXQgcHJvY2ZzIGFjY2Vz cworYW5kIGF0IGVhcmx5IGJvb3QgcHJpb3IgdG8gbW91bnQgb2YgL3Byb2MgaGFzIGJlZW4gYW4g b25nb2luZyBpc3N1ZSwKK2FuZCBpdCB0dXJucyBvdXQgcmVhbHBhdGggd2FzIG9uZSBvZiB0aGUg bGFzdCByZW1haW5pbmcgaW50ZXJmYWNlcwordGhhdCBuZWVkZWQgcHJvY2ZzIGZvciBpdHMgY29y ZSBmdW5jdGlvbmFsaXR5LiBkdXJpbmcgaW52ZXN0aWdhdGlvbgord2hpbGUgcmVpbXBsZW1lbnRp bmcsIGl0IHdhcyBkZXRlcm1pbmVkIHRoYXQgdGhlcmUgd2VyZSBhbHNvIHNlcmlvdXMKK3Byb2Js ZW1zIHdpdGggdGhlIHByb2Nmcy1iYXNlZCBpbXBsZW1lbnRhdGlvbi4gbW9zdCBzZXJpb3VzbHkg aXQgd2FzCit1bnNhZmUgb24gcHJlLU9fUEFUSCBrZXJuZWxzLCBhbmQgdW5saWtlIG90aGVyIHBs YWNlcyB3aGVyZSBPX1BBVEggd2FzCit1c2VkLCB0aGUgdW5zYWZldHkgd2FzIGhhcmQgb3IgaW1w b3NzaWJsZSB0byBmaXggYmVjYXVzZSBPX05PRk9MTE9XCitjYW4ndCBiZSB1c2VkIChzaW5jZSB0 aGUgd2hvbGUgcHVycG9zZSB3YXMgdG8gZm9sbG93IHN5bWxpbmtzKS4KKwordGhlIG5ldyBpbXBs ZW1lbnRhdGlvbiBpcyBhIGRpcmVjdCBvbmUsIHBlcmZvcm1pbmcgcmVhZGxpbmsgb24gZWFjaAor cGF0aCBjb21wb25lbnQgdG8gcmVzb2x2ZSBpdC4gYW4gZXhwbGljaXQgc3RhY2ssIGFzIG9wcG9z ZWQgdG8KK3JlY3Vyc2lvbiwgaXMgdXNlZCB0byByZXByZXNlbnQgdGhlIHJlbWFpbmluZyBjb21w b25lbnRzIHRvIGJlCitwcm9jZXNzZWQuIHRoZSBzdGFjayBzdGFydHMgb3V0IGhvbGRpbmcganVz dCB0aGUgaW5wdXQgc3RyaW5nLCBhbmQKK3JlYWRpbmcgYSBsaW5rIHB1c2hlcyB0aGUgbGluayBj b250ZW50cyBvbnRvIHRoZSBzdGFjay4KKwordW5saWtlIG1hbnkgb3RoZXIgaW1wbGVtZW50YXRp b25zLCB0aGlzIG9uZSBkb2VzIG5vdCBjYWxsIGdldGN3ZAoraW5pdGlhbGx5IGZvciByZWxhdGl2 ZSBwYXRobmFtZXMuIGluc3RlYWQgaXQgYWNjdW11bGF0ZXMgaW5pdGlhbCAuLgorY29tcG9uZW50 cyB0byBiZSBhcHBsaWVkIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBpZiB0aGUgcmVzdWx0IGlz CitzdGlsbCBhIHJlbGF0aXZlIHBhdGguIHRoaXMgYXZvaWRzIGNhbGxpbmcgZ2V0Y3dkICh3aGlj aCBtYXkgZmFpbCkgYXQKK2FsbCB3aGVuIHN5bWxpbmsgdHJhdmVyc2FsIHdpbGwgZXZlbnR1YWxs eSB5aWVsZCBhbiBhYnNvbHV0ZSBwYXRoLiBpdAorYWxzbyBkb2Vzbid0IHVzZSBhbnkgZm9ybSBv ZiBzdGF0IG9wZXJhdGlvbjsgaW5zdGVhZCBpdCBhcnJhbmdlcyBmb3IKK3JlYWRsaW5rIHRvIHRl bGwgaXQgd2hlbiBhIG5vbi1kaXJlY3RvcnkgaXMgdXNlZCBpbiBhIGNvbnRleHQgd2hlcmUgYQor ZGlyZWN0b3J5IGlzIG5lZWRlZC4gdGhpcyBtaW5pbWl6ZXMgdGhlIG51bWJlciBvZiBzeXNjYWxs cyBuZWVkZWQsCithdm9pZHMgYWNjZXNzaW5nIGlub2RlcyB3aGVuIHRoZSBkaXJlY3RvcnkgdGFi bGUgc3VmZmljZXMsIGFuZCByZWR1Y2VzCit0aGUgYW1vdW50IG9mIGNvZGUgcHVsbGVkIGluIGZv ciBzdGF0aWMgbGlua2luZy4KKy0tLQorIHNyYy9taXNjL3JlYWxwYXRoLmMgfCAxNTkgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwg MTM2IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL21p c2MvcmVhbHBhdGguYyBiL3NyYy9taXNjL3JlYWxwYXRoLmMKK2luZGV4IGQyNzA4ZTU5ZC4uZGI4 Yjc0ZGM4IDEwMDY0NAorLS0tIGEvc3JjL21pc2MvcmVhbHBhdGguYworKysrIGIvc3JjL21pc2Mv cmVhbHBhdGguYworQEAgLTEsNDMgKzEsMTU2IEBACisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorICNp bmNsdWRlIDxsaW1pdHMuaD4KKy0jaW5jbHVkZSA8c3lzL3N0YXQuaD4KKy0jaW5jbHVkZSA8ZmNu dGwuaD4KKyAjaW5jbHVkZSA8ZXJybm8uaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CisgI2luY2x1 ZGUgPHN0cmluZy5oPgorLSNpbmNsdWRlICJzeXNjYWxsLmgiCisrCisrc3RhdGljIHNpemVfdCBz bGFzaF9sZW4oY29uc3QgY2hhciAqcykKKyt7CisrCWNvbnN0IGNoYXIgKnMwID0gczsKKysJd2hp bGUgKCpzID09ICcvJykgcysrOworKwlyZXR1cm4gcy1zMDsKKyt9CisgCisgY2hhciAqcmVhbHBh dGgoY29uc3QgY2hhciAqcmVzdHJpY3QgZmlsZW5hbWUsIGNoYXIgKnJlc3RyaWN0IHJlc29sdmVk KQorIHsKKy0JaW50IGZkOworLQlzc2l6ZV90IHI7CistCXN0cnVjdCBzdGF0IHN0MSwgc3QyOwor LQljaGFyIGJ1ZlsxNSszKnNpemVvZihpbnQpXTsKKy0JY2hhciB0bXBbUEFUSF9NQVhdOworKwlj aGFyIHN0YWNrW1BBVEhfTUFYKzFdOworKwljaGFyIG91dHB1dFtQQVRIX01BWF07CisrCXNpemVf dCBwLCBxLCBsLCBsMCwgY250PTAsIG51cD0wOworKwlpbnQgY2hlY2tfZGlyPTA7CisgCisgCWlm ICghZmlsZW5hbWUpIHsKKyAJCWVycm5vID0gRUlOVkFMOworIAkJcmV0dXJuIDA7CisgCX0KKysJ bCA9IHN0cm5sZW4oZmlsZW5hbWUsIHNpemVvZiBzdGFjayk7CisrCWlmICghbCkgeworKwkJZXJy bm8gPSBFTk9FTlQ7CisrCQlyZXR1cm4gMDsKKysJfQorKwlpZiAobCA+PSBQQVRIX01BWCkgZ290 byB0b29sb25nOworKwlwID0gc2l6ZW9mIHN0YWNrIC0gbCAtIDE7CisrCXEgPSAwOworKwltZW1j cHkoc3RhY2srcCwgZmlsZW5hbWUsIGwrMSk7CisrCisrCS8qIE1haW4gbG9vcC4gRWFjaCBpdGVy YXRpb24gcG9wcyB0aGUgbmV4dCBwYXJ0IGZyb20gc3RhY2sgb2YKKysJICogcmVtYWluaW5nIHBh dGggY29tcG9uZW50cyBhbmQgY29uc3VtZXMgYW55IHNsYXNoZXMgdGhhdCBmb2xsb3cuCisrCSAq IElmIG5vdCBhIGxpbmssIGl0J3MgbW92ZWQgdG8gb3V0cHV0OyBpZiBhIGxpbmssIGNvbnRlbnRz IGFyZQorKwkgKiBwdXNoZWQgdG8gdGhlIHN0YWNrLiAqLworK3Jlc3RhcnQ6CisrCWZvciAoOyA7 IHArPXNsYXNoX2xlbihzdGFjaytwKSkgeworKwkJLyogSWYgc3RhY2sgc3RhcnRzIHdpdGggLywg dGhlIHdob2xlIGNvbXBvbmVudCBpcyAvIG9yIC8vCisrCQkgKiBhbmQgdGhlIG91dHB1dCBzdGF0 ZSBtdXN0IGJlIHJlc2V0LiAqLworKwkJaWYgKHN0YWNrW3BdID09ICcvJykgeworKwkJCWNoZWNr X2Rpcj0wOworKwkJCW51cD0wOworKwkJCXE9MDsKKysJCQlvdXRwdXRbcSsrXSA9ICcvJzsKKysJ CQlwKys7CisrCQkJLyogSW5pdGlhbCAvLyBpcyBzcGVjaWFsLiAqLworKwkJCWlmIChzdGFja1tw XSA9PSAnLycgJiYgc3RhY2tbcCsxXSAhPSAnLycpCisrCQkJCW91dHB1dFtxKytdID0gJy8nOwor KwkJCWNvbnRpbnVlOworKwkJfQorKworKwkJY2hhciAqeiA9IF9fc3RyY2hybnVsKHN0YWNrK3As ICcvJyk7CisrCQlsMCA9IGwgPSB6LShzdGFjaytwKTsKKyAKKy0JZmQgPSBzeXNfb3BlbihmaWxl bmFtZSwgT19QQVRIfE9fTk9OQkxPQ0t8T19DTE9FWEVDKTsKKy0JaWYgKGZkIDwgMCkgcmV0dXJu IDA7CistCV9fcHJvY2ZkbmFtZShidWYsIGZkKTsKKysJCWlmICghbCAmJiAhY2hlY2tfZGlyKSBi cmVhazsKKyAKKy0JciA9IHJlYWRsaW5rKGJ1ZiwgdG1wLCBzaXplb2YgdG1wIC0gMSk7CistCWlm IChyIDwgMCkgZ290byBlcnI7CistCXRtcFtyXSA9IDA7CisrCQkvKiBTa2lwIGFueSAuIGNvbXBv bmVudCBidXQgcHJlc2VydmUgY2hlY2tfZGlyIHN0YXR1cy4gKi8KKysJCWlmIChsPT0xICYmIHN0 YWNrW3BdPT0nLicpIHsKKysJCQlwICs9IGw7CisrCQkJY29udGludWU7CisrCQl9CisgCistCWZz dGF0KGZkLCAmc3QxKTsKKy0JciA9IHN0YXQodG1wLCAmc3QyKTsKKy0JaWYgKHI8MCB8fCBzdDEu c3RfZGV2ICE9IHN0Mi5zdF9kZXYgfHwgc3QxLnN0X2lubyAhPSBzdDIuc3RfaW5vKSB7CistCQlp ZiAoIXIpIGVycm5vID0gRUxPT1A7CistCQlnb3RvIGVycjsKKysJCS8qIENvcHkgbmV4dCBjb21w b25lbnQgb250byBvdXRwdXQgYXQgbGVhc3QgdGVtcG9yYXJpbHksIHRvCisrCQkgKiBjYWxsIHJl YWRsaW5rLCBidXQgd2FpdCB0byBhZHZhbmNlIG91dHB1dCBwb3NpdGlvbiB1bnRpbAorKwkJICog ZGV0ZXJtaW5pbmcgaXQncyBub3QgYSBsaW5rLiAqLworKwkJaWYgKHEgJiYgb3V0cHV0W3EtMV0g IT0gJy8nKSB7CisrCQkJaWYgKCFwKSBnb3RvIHRvb2xvbmc7CisrCQkJc3RhY2tbLS1wXSA9ICcv JzsKKysJCQlsKys7CisrCQl9CisrCQlpZiAocStsID49IFBBVEhfTUFYKSBnb3RvIHRvb2xvbmc7 CisrCQltZW1jcHkob3V0cHV0K3EsIHN0YWNrK3AsIGwpOworKwkJb3V0cHV0W3ErbF0gPSAwOwor KwkJcCArPSBsOworKworKwkJaW50IHVwID0gMDsKKysJCWlmIChsMD09MiAmJiBzdGFja1twLTJd PT0nLicgJiYgc3RhY2tbcC0xXT09Jy4nKSB7CisrCQkJdXAgPSAxOworKwkJCS8qIEFueSBub24t Li4gcGF0aCBjb21wb25lbnRzIHdlIGNvdWxkIGNhbmNlbCBzdGFydAorKwkJCSAqIGFmdGVyIG51 cCByZXBldGl0aW9ucyBvZiB0aGUgMy1ieXRlIHN0cmluZyAiLi4vIjsKKysJCQkgKiBpZiB0aGVy ZSBhcmUgbm9uZSwgYWNjdW11bGF0ZSAuLiBjb21wb25lbnRzIHRvCisrCQkJICogbGF0ZXIgYXBw bHkgdG8gY3dkLCBpZiBuZWVkZWQuICovCisrCQkJaWYgKHEgPD0gMypudXApIHsKKysJCQkJbnVw Kys7CisrCQkJCXEgKz0gbDsKKysJCQkJY29udGludWU7CisrCQkJfQorKwkJCS8qIFdoZW4gcHJl dmlvdXMgY29tcG9uZW50cyBhcmUgYWxyZWFkeSBrbm93biB0byBiZQorKwkJCSAqIGRpcmVjdG9y aWVzLCBwcm9jZXNzaW5nIC4uIGNhbiBza2lwIHJlYWRsaW5rLiAqLworKwkJCWlmICghY2hlY2tf ZGlyKSBnb3RvIHNraXBfcmVhZGxpbms7CisrCQl9CisrCQlzc2l6ZV90IGsgPSByZWFkbGluayhv dXRwdXQsIHN0YWNrLCBwKTsKKysJCWlmIChrPT1wKSBnb3RvIHRvb2xvbmc7CisrCQlpZiAoIWsp IHsKKysJCQllcnJubyA9IEVOT0VOVDsKKysJCQlyZXR1cm4gMDsKKysJCX0KKysJCWlmIChrPDAp IHsKKysJCQlpZiAoZXJybm8gIT0gRUlOVkFMKSByZXR1cm4gMDsKKytza2lwX3JlYWRsaW5rOgor KwkJCWNoZWNrX2RpciA9IDA7CisrCQkJaWYgKHVwKSB7CisrCQkJCXdoaWxlKHEgJiYgb3V0cHV0 W3EtMV0hPScvJykgcS0tOworKwkJCQlpZiAocT4xICYmIChxPjIgfHwgb3V0cHV0WzBdIT0nLycp KSBxLS07CisrCQkJCWNvbnRpbnVlOworKwkJCX0KKysJCQlpZiAobDApIHEgKz0gbDsKKysJCQlj aGVja19kaXIgPSBzdGFja1twXTsKKysJCQljb250aW51ZTsKKysJCX0KKysJCWlmICgrK2NudCA9 PSBTWU1MT09QX01BWCkgeworKwkJCWVycm5vID0gRUxPT1A7CisrCQkJcmV0dXJuIDA7CisrCQl9 CisrCisrCQkvKiBJZiBsaW5rIGNvbnRlbnRzIGVuZCBpbiAvLCBzdHJpcCBhbnkgc2xhc2hlcyBh bHJlYWR5IG9uCisrCQkgKiBzdGFjayB0byBhdm9pZCAvLT4vLyBvciAvLy0+Ly8vIG9yIHNwdXJp b3VzIHRvb2xvbmcuICovCisrCQlpZiAoc3RhY2tbay0xXT09Jy8nKSB3aGlsZSAoc3RhY2tbcF09 PScvJykgcCsrOworKwkJcCAtPSBrOworKwkJbWVtbW92ZShzdGFjaytwLCBzdGFjaywgayk7Cisr CisrCQkvKiBTa2lwIHRoZSBzdGFjayBhZHZhbmNlbWVudCBpbiBjYXNlIHdlIGhhdmUgYSBuZXcK KysJCSAqIGFic29sdXRlIGJhc2UgcGF0aC4gKi8KKysJCWdvdG8gcmVzdGFydDsKKyAJfQorIAor LQlfX3N5c2NhbGwoU1lTX2Nsb3NlLCBmZCk7CistCXJldHVybiByZXNvbHZlZCA/IHN0cmNweShy ZXNvbHZlZCwgdG1wKSA6IHN0cmR1cCh0bXApOworLWVycjoKKy0JX19zeXNjYWxsKFNZU19jbG9z ZSwgZmQpOworKyAJb3V0cHV0W3FdID0gMDsKKysKKysJaWYgKG91dHB1dFswXSAhPSAnLycpIHsK KysJCWlmICghZ2V0Y3dkKHN0YWNrLCBzaXplb2Ygc3RhY2spKSByZXR1cm4gMDsKKysJCWwgPSBz dHJsZW4oc3RhY2spOworKwkJLyogQ2FuY2VsIGFueSBpbml0aWFsIC4uIGNvbXBvbmVudHMuICov CisrCQlwID0gMDsKKysJCXdoaWxlIChudXAtLSkgeworKwkJCXdoaWxlKGw+MSAmJiBzdGFja1ts LTFdIT0nLycpIGwtLTsKKysJCQlpZiAobD4xKSBsLS07CisrCQkJcCArPSAyOworKwkJCWlmIChw PHEpIHArKzsKKysJCX0KKysJCWlmIChxLXAgJiYgc3RhY2tbbC0xXSE9Jy8nKSBzdGFja1tsKytd ID0gJy8nOworKwkJaWYgKGwgKyAocS1wKSArIDEgPj0gUEFUSF9NQVgpIGdvdG8gdG9vbG9uZzsK KysJCW1lbW1vdmUob3V0cHV0ICsgbCwgb3V0cHV0ICsgcCwgcSAtIHAgKyAxKTsKKysJCW1lbWNw eShvdXRwdXQsIHN0YWNrLCBsKTsKKysJCXEgPSBsICsgcS1wOworKwl9CisrCisrCWlmIChyZXNv bHZlZCkgcmV0dXJuIG1lbWNweShyZXNvbHZlZCwgb3V0cHV0LCBxKzEpOworKwllbHNlIHJldHVy biBzdHJkdXAob3V0cHV0KTsKKysKKyt0b29sb25nOgorKwllcnJubyA9IEVOQU1FVE9PTE9ORzsK KyAJcmV0dXJuIDA7CisgfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvd29ya19h cm91bmRfbGludXhfYnVnX2luX3JlYWRsaW5rX3N5c2NhbGxfd2l0aF96ZXJvX2J1ZmZlci5wYXRj aCBiL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL3dvcmtfYXJvdW5kX2xpbnV4X2J1Z19pbl9yZWFkbGlu a19zeXNjYWxsX3dpdGhfemVyb19idWZmZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAwLi4zMjg2NDMyZWJlYTIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L211c2wvcGF0Y2hlcy93b3JrX2Fyb3VuZF9saW51eF9idWdfaW5fcmVhZGxpbmtfc3lzY2FsbF93 aXRoX3plcm9fYnVmZmVyLnBhdGNoCkBAIC0wLDAgKzEsNTkgQEAKK0Zyb20gZTJmYTcyMGJlNzAy NGNjZTRmYzQ4OWYzODc3NDc2ZDM1ZGE0OGVlMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zy b206IFJpY2ggRmVsa2VyIDxkYWxpYXNAYWVyaWZhbC5jeD4KK0RhdGU6IE1vbiwgMjMgTm92IDIw MjAgMTk6NDQ6MTkgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gd29yayBhcm91bmQgbGludXggYnVn IGluIHJlYWRsaW5rIHN5c2NhbGwgd2l0aCB6ZXJvIGJ1ZmZlcgorIHNpemUKKworbGludXggZmFp bHMgd2l0aCBFSU5WQUwgd2hlbiBhIHplcm8gYnVmZmVyIHNpemUgaXMgcGFzc2VkIHRvIHRoZQor c3lzY2FsbC4gdGhpcyBpcyBub24tY29uZm9ybWluZyBiZWNhdXNlIFBPU0lYIGFscmVhZHkgZGVm aW5lcyBFSU5WQUwKK3dpdGggYSBzaWduaWZpY2FudGx5IGRpZmZlcmVudCBtZWFuaW5nOiB0aGUg dGFyZ2V0IGlzIG5vdCBhIHN5bWxpbmsuCisKK3NpbmNlIHRoZSByZXF1ZXN0IGlzIHNlbWFudGlj YWxseSB2YWxpZCwgcGF0Y2ggaXQgdXAgYnkgdXNpbmcgYSBkdW1teQorYnVmZmVyIG9mIGxlbmd0 aCBvbmUsIGFuZCB0cnVuY2F0aW5nIHRoZSByZXR1cm4gdmFsdWUgdG8gemVybyBpZiBpdAorc3Vj Y2VlZHMuCistLS0KKyBzcmMvdW5pc3RkL3JlYWRsaW5rLmMgICB8IDExICsrKysrKysrKy0tCisg c3JjL3VuaXN0ZC9yZWFkbGlua2F0LmMgfCAgOSArKysrKysrKy0KKyAyIGZpbGVzIGNoYW5nZWQs IDE3IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvdW5p c3RkL3JlYWRsaW5rLmMgYi9zcmMvdW5pc3RkL3JlYWRsaW5rLmMKK2luZGV4IGExNTJkNTI0OS4u MzJmNDUzN2Y5IDEwMDY0NAorLS0tIGEvc3JjL3VuaXN0ZC9yZWFkbGluay5jCisrKysgYi9zcmMv dW5pc3RkL3JlYWRsaW5rLmMKK0BAIC00LDkgKzQsMTYgQEAKKyAKKyBzc2l6ZV90IHJlYWRsaW5r KGNvbnN0IGNoYXIgKnJlc3RyaWN0IHBhdGgsIGNoYXIgKnJlc3RyaWN0IGJ1Ziwgc2l6ZV90IGJ1 ZnNpemUpCisgeworKwljaGFyIGR1bW15WzFdOworKwlpZiAoIWJ1ZnNpemUpIHsKKysJCWJ1ZiA9 IGR1bW15OworKwkJYnVmc2l6ZSA9IDE7CisrCX0KKyAjaWZkZWYgU1lTX3JlYWRsaW5rCistCXJl dHVybiBzeXNjYWxsKFNZU19yZWFkbGluaywgcGF0aCwgYnVmLCBidWZzaXplKTsKKysJaW50IHIg PSBfX3N5c2NhbGwoU1lTX3JlYWRsaW5rLCBwYXRoLCBidWYsIGJ1ZnNpemUpOworICNlbHNlCist CXJldHVybiBzeXNjYWxsKFNZU19yZWFkbGlua2F0LCBBVF9GRENXRCwgcGF0aCwgYnVmLCBidWZz aXplKTsKKysJaW50IHIgPSBfX3N5c2NhbGwoU1lTX3JlYWRsaW5rYXQsIEFUX0ZEQ1dELCBwYXRo LCBidWYsIGJ1ZnNpemUpOworICNlbmRpZgorKwlpZiAoYnVmID09IGR1bW15ICYmIHIgPiAwKSBy ID0gMDsKKysJcmV0dXJuIF9fc3lzY2FsbF9yZXQocik7CisgfQorZGlmZiAtLWdpdCBhL3NyYy91 bmlzdGQvcmVhZGxpbmthdC5jIGIvc3JjL3VuaXN0ZC9yZWFkbGlua2F0LmMKK2luZGV4IDlhZjQ1 Y2Q1YS4uZjc5ZDNkMTQyIDEwMDY0NAorLS0tIGEvc3JjL3VuaXN0ZC9yZWFkbGlua2F0LmMKKysr KyBiL3NyYy91bmlzdGQvcmVhZGxpbmthdC5jCitAQCAtMyw1ICszLDEyIEBACisgCisgc3NpemVf dCByZWFkbGlua2F0KGludCBmZCwgY29uc3QgY2hhciAqcmVzdHJpY3QgcGF0aCwgY2hhciAqcmVz dHJpY3QgYnVmLCBzaXplX3QgYnVmc2l6ZSkKKyB7CistCXJldHVybiBzeXNjYWxsKFNZU19yZWFk bGlua2F0LCBmZCwgcGF0aCwgYnVmLCBidWZzaXplKTsKKysJY2hhciBkdW1teVsxXTsKKysJaWYg KCFidWZzaXplKSB7CisrCQlidWYgPSBkdW1teTsKKysJCWJ1ZnNpemUgPSAxOworKwl9CisrCWlu dCByID0gX19zeXNjYWxsKFNZU19yZWFkbGlua2F0LCBmZCwgcGF0aCwgYnVmLCBidWZzaXplKTsK KysJaWYgKGJ1ZiA9PSBkdW1teSAmJiByID4gMCkgciA9IDA7CisrCXJldHVybiBfX3N5c2NhbGxf cmV0KHIpOworIH0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXVzbC90ZW1wbGF0ZSBiL3NyY3BrZ3Mv bXVzbC90ZW1wbGF0ZQppbmRleCBkMzBjOTlhNTYzYTAuLjViZGM1YzQ4ZTYyMyAxMDA2NDQKLS0t IGEvc3JjcGtncy9tdXNsL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbXVzbC90ZW1wbGF0ZQpAQCAt Miw3ICsyLDcgQEAKIHBrZ25hbWU9bXVzbAogcmV2ZXJ0cz0iMS4yLjBfMSIKIHZlcnNpb249MS4x LjI0Ci1yZXZpc2lvbj05CityZXZpc2lvbj0xMAogYXJjaHM9IiotbXVzbCIKIGJvb3RzdHJhcD15 ZXMKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUK --===============5154292495502809875==--