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 14003 invoked from network); 25 Jun 2022 02:50:45 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 25 Jun 2022 02:50:45 -0000 Content-Type: multipart/mixed; boundary="===============4439301224249302568==" 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 04:50:45 +0200 List-Id: Message-ID: <20220625025045.PETFgjFl-oZGERxDt-0-b4CzgR8VH1O_E79kXRAJFVs@z> GitHub notification mails are now in MIME to allow UTF8. --===============4439301224249302568== 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= --===============4439301224249302568== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-musl-37646.patch" RnJvbSBjYjQ3MTE4YzgwNjQ2ZmRjZmY5MTYzNDAwM2MzYmNkNmRkMjNhODZmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDwzMTkxNjM3OStPcmVvNjM5QHVzZXJzLm5vcmVw bHkuZ2l0aHViLmNvbT4KRGF0ZTogV2VkLCAyMiBKdW4gMjAyMiAxNToxMjoxMiAtMDcwMApTdWJq ZWN0OiBbUEFUQ0hdIG11c2w6IHVwZGF0ZSByZWFscGF0aC9yZWFkbGluayBhbmQgYWRkIGdldHRp ZAoKSW4gc29tZSBjYXNlcyBwYWNrYWdlcyBsaWtlIGJ1YmJsZXdyYXAgY2FsbCByZWFscGF0aCgp IHdpdGhvdXQgL3Byb2MgYmVpbmcgYXZhaWxpYWJsZS4gVGhpcyBiZWhhdmlvciB3YXMgZml4ZWQg aW4gbGF0ZXIgdmVyc2lvbnMgb2YgbXVzbCBzbyB3ZSBpbXBvcnQgdGhvc2UgY2hhbmdlcyBoZXJl LgpUaGlzIGFsc28gYWRkcyBnZXR0aWQoKS4gVGhpcyBmdW5jdGlvbiB3YXMgYWRkZWQgdG8gbGF0 ZXIgdmVyc2lvbnMgb2YgbXVzbCBhbmQgcmVtb3ZlcyB0aGUgbmVlZCB0byBwYXRjaCBvdXQgY2Fs bHMgdG8gZ2V0dGlkKCkgaW4gdmFyaW91cyBwYWNrYWdlcyBpbmNsdWRpbmcsIGZvciBleGFtcGxl LCBtdXR0ZXIuCi0tLQogc3JjcGtncy9tdXNsL3BhdGNoZXMvZ2V0dGlkLnBhdGNoICAgICAgICAg ICAgIHwgIDQ5ICsrKysKIC4uLnRseV9pbnN0ZWFkX29mX3VzaW5nX3Byb2Nmc19yZWFkbGluay5w YXRjaCB8IDIxOSArKysrKysrKysrKysrKysrKysKIC4uLmluX3JlYWRsaW5rX3N5c2NhbGxfd2l0 aF96ZXJvX2J1ZmZlci5wYXRjaCB8ICA1OSArKysrKwogc3JjcGtncy9tdXNsL3RlbXBsYXRlICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiA0IGZpbGVzIGNoYW5nZWQsIDMyOCBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tdXNs L3BhdGNoZXMvZ2V0dGlkLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tdXNsL3Bh dGNoZXMvaW1wbGVtZW50X3JlYWxwYXRoX2RpcmVjdGx5X2luc3RlYWRfb2ZfdXNpbmdfcHJvY2Zz X3JlYWRsaW5rLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tdXNsL3BhdGNoZXMv d29ya19hcm91bmRfbGludXhfYnVnX2luX3JlYWRsaW5rX3N5c2NhbGxfd2l0aF96ZXJvX2J1ZmZl ci5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2dldHRpZC5wYXRjaCBi L3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2dldHRpZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAuLmJiOGJmNTkwNWI4OAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvbXVzbC9wYXRjaGVzL2dldHRpZC5wYXRjaApAQCAtMCwwICsxLDQ5IEBACitGcm9tIGQ0OWNm MDc1NDFiYjU0YTVhYzdhZWMxZmVlYzg1MTRkYjMzZGI4ZWEgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBSaWNoIEZlbGtlciA8ZGFsaWFzQGFlcmlmYWwuY3g+CitEYXRlOiBNb24sIDE3 IEF1ZyAyMDIwIDIwOjEyOjUzIC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIGFkZCBnZXR0aWQgZnVu Y3Rpb24KKwordGhpcyBpcyBhIHByZXJlcXVpc2l0ZSBmb3IgYWRkaXRpb24gb2Ygb3RoZXIgaW50 ZXJmYWNlcyB0aGF0IHVzZQora2VybmVsIHRpZHMsIGluY2x1ZGluZyBmdXRleCBhbmQgU0lHRVZf VEhSRUFEX0lELgorCit0aGVyZSBpcyBzb21lIGFtYmlndWl0eSBhcyB0byB3aGV0aGVyIHRoZSBz ZW1hbnRpYyByZXR1cm4gdHlwZSBzaG91bGQKK2JlIGludCBvciBwaWRfdC4gZWl0aGVyIHdheSwg ZnV0ZXggQVBJIGltcG9zZXMgYSBjb250cmFjdCB0aGF0IHRoZQordmFsdWVzIGZpdCBpbiBpbnQg KGV4Y2x1ZGluZyBzb21lIHVwcGVyIHJlc2VydmVkIGJpdHMpLiBnbGliYyB1c2VkCitwaWRfdCwg c28gaW4gdGhlIGludGVyZXN0IG9mIG5vdCBoYXZpbmcgZ3JhdHVpdG91cyBtaXNtYXRjaCAodGhl Cit1bmRlcmx5aW5nIHR5cGVzIGFyZSB0aGUgc2FtZSBhbnl3YXkpLCBwaWRfdCBpcyB1c2VkIGhl cmUgYXMgd2VsbC4KKword2hpbGUgY29uY2VwdHVhbGx5IHRoaXMgaXMgYSBzeXNjYWxsLCB0aGUg Y29weSBzdG9yZWQgaW4gdGhlIHRocmVhZAorc3RydWN0dXJlIGlzIGFsd2F5cyB2YWxpZCBpbiBh bGwgY29udGV4dHMgd2hlcmUgaXQncyB2YWxpZCB0byBjYWxsCitsaWJjIGZ1bmN0aW9ucywgc28g aXQncyB1c2VkIHRvIGF2b2lkIHRoZSBzeXNjYWxsLgorLS0tCisgaW5jbHVkZS91bmlzdGQuaCAg IHwgMSArCisgc3JjL2xpbnV4L2dldHRpZC5jIHwgOCArKysrKysrKworIDIgZmlsZXMgY2hhbmdl ZCwgOSBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9saW51eC9nZXR0aWQu YworCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS91bmlzdGQuaCBiL2luY2x1ZGUvdW5pc3RkLmgKK2lu ZGV4IDdiY2JmZjk0My4uMDc1ODRhMjNlIDEwMDY0NAorLS0tIGEvaW5jbHVkZS91bmlzdGQuaAor KysrIGIvaW5jbHVkZS91bmlzdGQuaAorQEAgLTE5MCw2ICsxOTAsNyBAQCBpbnQgc3luY2ZzKGlu dCk7CisgaW50IGV1aWRhY2Nlc3MoY29uc3QgY2hhciAqLCBpbnQpOworIGludCBlYWNjZXNzKGNv bnN0IGNoYXIgKiwgaW50KTsKKyBzc2l6ZV90IGNvcHlfZmlsZV9yYW5nZShpbnQsIG9mZl90ICos IGludCwgb2ZmX3QgKiwgc2l6ZV90LCB1bnNpZ25lZCk7CisrcGlkX3QgZ2V0dGlkKHZvaWQpOwor ICNlbmRpZgorIAorICNpZiBkZWZpbmVkKF9MQVJHRUZJTEU2NF9TT1VSQ0UpIHx8IGRlZmluZWQo X0dOVV9TT1VSQ0UpCitkaWZmIC0tZ2l0IGEvc3JjL2xpbnV4L2dldHRpZC5jIGIvc3JjL2xpbnV4 L2dldHRpZC5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwLi43MDc2NzEz N2UKKy0tLSAvZGV2L251bGwKKysrKyBiL3NyYy9saW51eC9nZXR0aWQuYworQEAgLTAsMCArMSw4 IEBACisrI2RlZmluZSBfR05VX1NPVVJDRQorKyNpbmNsdWRlIDx1bmlzdGQuaD4KKysjaW5jbHVk ZSAicHRocmVhZF9pbXBsLmgiCisrCisrcGlkX3QgZ2V0dGlkKHZvaWQpCisreworKwlyZXR1cm4g X19wdGhyZWFkX3NlbGYoKS0+dGlkOworK30KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXVzbC9wYXRj aGVzL2ltcGxlbWVudF9yZWFscGF0aF9kaXJlY3RseV9pbnN0ZWFkX29mX3VzaW5nX3Byb2Nmc19y ZWFkbGluay5wYXRjaCBiL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2ltcGxlbWVudF9yZWFscGF0aF9k aXJlY3RseV9pbnN0ZWFkX29mX3VzaW5nX3Byb2Nmc19yZWFkbGluay5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjU2OWExZjUyYzdjZAotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2ltcGxlbWVudF9yZWFscGF0aF9kaXJlY3RseV9p bnN0ZWFkX29mX3VzaW5nX3Byb2Nmc19yZWFkbGluay5wYXRjaApAQCAtMCwwICsxLDIxOSBAQAor RnJvbSAyOWZmNzU5OWE0NDgyMzJmMjUyNzg0MWMyMzYyNjQzZDI0NmNlZTM2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogUmljaCBGZWxrZXIgPGRhbGlhc0BhZXJpZmFsLmN4PgorRGF0 ZTogTW9uLCAzMCBOb3YgMjAyMCAxMjoxNDo0NyAtMDUwMAorU3ViamVjdDogW1BBVENIXSBpbXBs ZW1lbnQgcmVhbHBhdGggZGlyZWN0bHkgaW5zdGVhZCBvZiB1c2luZyBwcm9jZnMgcmVhZGxpbmsK KworaW5hYmlsaXR5IHRvIHVzZSByZWFscGF0aCBpbiBjaHJvb3QvY29udGFpbmVyIHdpdGhvdXQg cHJvY2ZzIGFjY2VzcworYW5kIGF0IGVhcmx5IGJvb3QgcHJpb3IgdG8gbW91bnQgb2YgL3Byb2Mg aGFzIGJlZW4gYW4gb25nb2luZyBpc3N1ZSwKK2FuZCBpdCB0dXJucyBvdXQgcmVhbHBhdGggd2Fz IG9uZSBvZiB0aGUgbGFzdCByZW1haW5pbmcgaW50ZXJmYWNlcwordGhhdCBuZWVkZWQgcHJvY2Zz IGZvciBpdHMgY29yZSBmdW5jdGlvbmFsaXR5LiBkdXJpbmcgaW52ZXN0aWdhdGlvbgord2hpbGUg cmVpbXBsZW1lbnRpbmcsIGl0IHdhcyBkZXRlcm1pbmVkIHRoYXQgdGhlcmUgd2VyZSBhbHNvIHNl cmlvdXMKK3Byb2JsZW1zIHdpdGggdGhlIHByb2Nmcy1iYXNlZCBpbXBsZW1lbnRhdGlvbi4gbW9z dCBzZXJpb3VzbHkgaXQgd2FzCit1bnNhZmUgb24gcHJlLU9fUEFUSCBrZXJuZWxzLCBhbmQgdW5s aWtlIG90aGVyIHBsYWNlcyB3aGVyZSBPX1BBVEggd2FzCit1c2VkLCB0aGUgdW5zYWZldHkgd2Fz IGhhcmQgb3IgaW1wb3NzaWJsZSB0byBmaXggYmVjYXVzZSBPX05PRk9MTE9XCitjYW4ndCBiZSB1 c2VkIChzaW5jZSB0aGUgd2hvbGUgcHVycG9zZSB3YXMgdG8gZm9sbG93IHN5bWxpbmtzKS4KKwor dGhlIG5ldyBpbXBsZW1lbnRhdGlvbiBpcyBhIGRpcmVjdCBvbmUsIHBlcmZvcm1pbmcgcmVhZGxp bmsgb24gZWFjaAorcGF0aCBjb21wb25lbnQgdG8gcmVzb2x2ZSBpdC4gYW4gZXhwbGljaXQgc3Rh Y2ssIGFzIG9wcG9zZWQgdG8KK3JlY3Vyc2lvbiwgaXMgdXNlZCB0byByZXByZXNlbnQgdGhlIHJl bWFpbmluZyBjb21wb25lbnRzIHRvIGJlCitwcm9jZXNzZWQuIHRoZSBzdGFjayBzdGFydHMgb3V0 IGhvbGRpbmcganVzdCB0aGUgaW5wdXQgc3RyaW5nLCBhbmQKK3JlYWRpbmcgYSBsaW5rIHB1c2hl cyB0aGUgbGluayBjb250ZW50cyBvbnRvIHRoZSBzdGFjay4KKwordW5saWtlIG1hbnkgb3RoZXIg aW1wbGVtZW50YXRpb25zLCB0aGlzIG9uZSBkb2VzIG5vdCBjYWxsIGdldGN3ZAoraW5pdGlhbGx5 IGZvciByZWxhdGl2ZSBwYXRobmFtZXMuIGluc3RlYWQgaXQgYWNjdW11bGF0ZXMgaW5pdGlhbCAu LgorY29tcG9uZW50cyB0byBiZSBhcHBsaWVkIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBpZiB0 aGUgcmVzdWx0IGlzCitzdGlsbCBhIHJlbGF0aXZlIHBhdGguIHRoaXMgYXZvaWRzIGNhbGxpbmcg Z2V0Y3dkICh3aGljaCBtYXkgZmFpbCkgYXQKK2FsbCB3aGVuIHN5bWxpbmsgdHJhdmVyc2FsIHdp bGwgZXZlbnR1YWxseSB5aWVsZCBhbiBhYnNvbHV0ZSBwYXRoLiBpdAorYWxzbyBkb2Vzbid0IHVz ZSBhbnkgZm9ybSBvZiBzdGF0IG9wZXJhdGlvbjsgaW5zdGVhZCBpdCBhcnJhbmdlcyBmb3IKK3Jl YWRsaW5rIHRvIHRlbGwgaXQgd2hlbiBhIG5vbi1kaXJlY3RvcnkgaXMgdXNlZCBpbiBhIGNvbnRl eHQgd2hlcmUgYQorZGlyZWN0b3J5IGlzIG5lZWRlZC4gdGhpcyBtaW5pbWl6ZXMgdGhlIG51bWJl ciBvZiBzeXNjYWxscyBuZWVkZWQsCithdm9pZHMgYWNjZXNzaW5nIGlub2RlcyB3aGVuIHRoZSBk aXJlY3RvcnkgdGFibGUgc3VmZmljZXMsIGFuZCByZWR1Y2VzCit0aGUgYW1vdW50IG9mIGNvZGUg cHVsbGVkIGluIGZvciBzdGF0aWMgbGlua2luZy4KKy0tLQorIHNyYy9taXNjL3JlYWxwYXRoLmMg fCAxNTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KKyAxIGZp bGUgY2hhbmdlZCwgMTM2IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQorCitkaWZmIC0t Z2l0IGEvc3JjL21pc2MvcmVhbHBhdGguYyBiL3NyYy9taXNjL3JlYWxwYXRoLmMKK2luZGV4IGQy NzA4ZTU5ZC4uZGI4Yjc0ZGM4IDEwMDY0NAorLS0tIGEvc3JjL21pc2MvcmVhbHBhdGguYworKysr IGIvc3JjL21pc2MvcmVhbHBhdGguYworQEAgLTEsNDMgKzEsMTU2IEBACisgI2luY2x1ZGUgPHN0 ZGxpYi5oPgorICNpbmNsdWRlIDxsaW1pdHMuaD4KKy0jaW5jbHVkZSA8c3lzL3N0YXQuaD4KKy0j aW5jbHVkZSA8ZmNudGwuaD4KKyAjaW5jbHVkZSA8ZXJybm8uaD4KKyAjaW5jbHVkZSA8dW5pc3Rk Lmg+CisgI2luY2x1ZGUgPHN0cmluZy5oPgorLSNpbmNsdWRlICJzeXNjYWxsLmgiCisrCisrc3Rh dGljIHNpemVfdCBzbGFzaF9sZW4oY29uc3QgY2hhciAqcykKKyt7CisrCWNvbnN0IGNoYXIgKnMw ID0gczsKKysJd2hpbGUgKCpzID09ICcvJykgcysrOworKwlyZXR1cm4gcy1zMDsKKyt9CisgCisg Y2hhciAqcmVhbHBhdGgoY29uc3QgY2hhciAqcmVzdHJpY3QgZmlsZW5hbWUsIGNoYXIgKnJlc3Ry aWN0IHJlc29sdmVkKQorIHsKKy0JaW50IGZkOworLQlzc2l6ZV90IHI7CistCXN0cnVjdCBzdGF0 IHN0MSwgc3QyOworLQljaGFyIGJ1ZlsxNSszKnNpemVvZihpbnQpXTsKKy0JY2hhciB0bXBbUEFU SF9NQVhdOworKwljaGFyIHN0YWNrW1BBVEhfTUFYKzFdOworKwljaGFyIG91dHB1dFtQQVRIX01B WF07CisrCXNpemVfdCBwLCBxLCBsLCBsMCwgY250PTAsIG51cD0wOworKwlpbnQgY2hlY2tfZGly PTA7CisgCisgCWlmICghZmlsZW5hbWUpIHsKKyAJCWVycm5vID0gRUlOVkFMOworIAkJcmV0dXJu IDA7CisgCX0KKysJbCA9IHN0cm5sZW4oZmlsZW5hbWUsIHNpemVvZiBzdGFjayk7CisrCWlmICgh bCkgeworKwkJZXJybm8gPSBFTk9FTlQ7CisrCQlyZXR1cm4gMDsKKysJfQorKwlpZiAobCA+PSBQ QVRIX01BWCkgZ290byB0b29sb25nOworKwlwID0gc2l6ZW9mIHN0YWNrIC0gbCAtIDE7CisrCXEg PSAwOworKwltZW1jcHkoc3RhY2srcCwgZmlsZW5hbWUsIGwrMSk7CisrCisrCS8qIE1haW4gbG9v cC4gRWFjaCBpdGVyYXRpb24gcG9wcyB0aGUgbmV4dCBwYXJ0IGZyb20gc3RhY2sgb2YKKysJICog cmVtYWluaW5nIHBhdGggY29tcG9uZW50cyBhbmQgY29uc3VtZXMgYW55IHNsYXNoZXMgdGhhdCBm b2xsb3cuCisrCSAqIElmIG5vdCBhIGxpbmssIGl0J3MgbW92ZWQgdG8gb3V0cHV0OyBpZiBhIGxp bmssIGNvbnRlbnRzIGFyZQorKwkgKiBwdXNoZWQgdG8gdGhlIHN0YWNrLiAqLworK3Jlc3RhcnQ6 CisrCWZvciAoOyA7IHArPXNsYXNoX2xlbihzdGFjaytwKSkgeworKwkJLyogSWYgc3RhY2sgc3Rh cnRzIHdpdGggLywgdGhlIHdob2xlIGNvbXBvbmVudCBpcyAvIG9yIC8vCisrCQkgKiBhbmQgdGhl IG91dHB1dCBzdGF0ZSBtdXN0IGJlIHJlc2V0LiAqLworKwkJaWYgKHN0YWNrW3BdID09ICcvJykg eworKwkJCWNoZWNrX2Rpcj0wOworKwkJCW51cD0wOworKwkJCXE9MDsKKysJCQlvdXRwdXRbcSsr XSA9ICcvJzsKKysJCQlwKys7CisrCQkJLyogSW5pdGlhbCAvLyBpcyBzcGVjaWFsLiAqLworKwkJ CWlmIChzdGFja1twXSA9PSAnLycgJiYgc3RhY2tbcCsxXSAhPSAnLycpCisrCQkJCW91dHB1dFtx KytdID0gJy8nOworKwkJCWNvbnRpbnVlOworKwkJfQorKworKwkJY2hhciAqeiA9IF9fc3RyY2hy bnVsKHN0YWNrK3AsICcvJyk7CisrCQlsMCA9IGwgPSB6LShzdGFjaytwKTsKKyAKKy0JZmQgPSBz eXNfb3BlbihmaWxlbmFtZSwgT19QQVRIfE9fTk9OQkxPQ0t8T19DTE9FWEVDKTsKKy0JaWYgKGZk IDwgMCkgcmV0dXJuIDA7CistCV9fcHJvY2ZkbmFtZShidWYsIGZkKTsKKysJCWlmICghbCAmJiAh Y2hlY2tfZGlyKSBicmVhazsKKyAKKy0JciA9IHJlYWRsaW5rKGJ1ZiwgdG1wLCBzaXplb2YgdG1w IC0gMSk7CistCWlmIChyIDwgMCkgZ290byBlcnI7CistCXRtcFtyXSA9IDA7CisrCQkvKiBTa2lw IGFueSAuIGNvbXBvbmVudCBidXQgcHJlc2VydmUgY2hlY2tfZGlyIHN0YXR1cy4gKi8KKysJCWlm IChsPT0xICYmIHN0YWNrW3BdPT0nLicpIHsKKysJCQlwICs9IGw7CisrCQkJY29udGludWU7Cisr CQl9CisgCistCWZzdGF0KGZkLCAmc3QxKTsKKy0JciA9IHN0YXQodG1wLCAmc3QyKTsKKy0JaWYg KHI8MCB8fCBzdDEuc3RfZGV2ICE9IHN0Mi5zdF9kZXYgfHwgc3QxLnN0X2lubyAhPSBzdDIuc3Rf aW5vKSB7CistCQlpZiAoIXIpIGVycm5vID0gRUxPT1A7CistCQlnb3RvIGVycjsKKysJCS8qIENv cHkgbmV4dCBjb21wb25lbnQgb250byBvdXRwdXQgYXQgbGVhc3QgdGVtcG9yYXJpbHksIHRvCisr CQkgKiBjYWxsIHJlYWRsaW5rLCBidXQgd2FpdCB0byBhZHZhbmNlIG91dHB1dCBwb3NpdGlvbiB1 bnRpbAorKwkJICogZGV0ZXJtaW5pbmcgaXQncyBub3QgYSBsaW5rLiAqLworKwkJaWYgKHEgJiYg b3V0cHV0W3EtMV0gIT0gJy8nKSB7CisrCQkJaWYgKCFwKSBnb3RvIHRvb2xvbmc7CisrCQkJc3Rh Y2tbLS1wXSA9ICcvJzsKKysJCQlsKys7CisrCQl9CisrCQlpZiAocStsID49IFBBVEhfTUFYKSBn b3RvIHRvb2xvbmc7CisrCQltZW1jcHkob3V0cHV0K3EsIHN0YWNrK3AsIGwpOworKwkJb3V0cHV0 W3ErbF0gPSAwOworKwkJcCArPSBsOworKworKwkJaW50IHVwID0gMDsKKysJCWlmIChsMD09MiAm JiBzdGFja1twLTJdPT0nLicgJiYgc3RhY2tbcC0xXT09Jy4nKSB7CisrCQkJdXAgPSAxOworKwkJ CS8qIEFueSBub24tLi4gcGF0aCBjb21wb25lbnRzIHdlIGNvdWxkIGNhbmNlbCBzdGFydAorKwkJ CSAqIGFmdGVyIG51cCByZXBldGl0aW9ucyBvZiB0aGUgMy1ieXRlIHN0cmluZyAiLi4vIjsKKysJ CQkgKiBpZiB0aGVyZSBhcmUgbm9uZSwgYWNjdW11bGF0ZSAuLiBjb21wb25lbnRzIHRvCisrCQkJ ICogbGF0ZXIgYXBwbHkgdG8gY3dkLCBpZiBuZWVkZWQuICovCisrCQkJaWYgKHEgPD0gMypudXAp IHsKKysJCQkJbnVwKys7CisrCQkJCXEgKz0gbDsKKysJCQkJY29udGludWU7CisrCQkJfQorKwkJ CS8qIFdoZW4gcHJldmlvdXMgY29tcG9uZW50cyBhcmUgYWxyZWFkeSBrbm93biB0byBiZQorKwkJ CSAqIGRpcmVjdG9yaWVzLCBwcm9jZXNzaW5nIC4uIGNhbiBza2lwIHJlYWRsaW5rLiAqLworKwkJ CWlmICghY2hlY2tfZGlyKSBnb3RvIHNraXBfcmVhZGxpbms7CisrCQl9CisrCQlzc2l6ZV90IGsg PSByZWFkbGluayhvdXRwdXQsIHN0YWNrLCBwKTsKKysJCWlmIChrPT1wKSBnb3RvIHRvb2xvbmc7 CisrCQlpZiAoIWspIHsKKysJCQllcnJubyA9IEVOT0VOVDsKKysJCQlyZXR1cm4gMDsKKysJCX0K KysJCWlmIChrPDApIHsKKysJCQlpZiAoZXJybm8gIT0gRUlOVkFMKSByZXR1cm4gMDsKKytza2lw X3JlYWRsaW5rOgorKwkJCWNoZWNrX2RpciA9IDA7CisrCQkJaWYgKHVwKSB7CisrCQkJCXdoaWxl KHEgJiYgb3V0cHV0W3EtMV0hPScvJykgcS0tOworKwkJCQlpZiAocT4xICYmIChxPjIgfHwgb3V0 cHV0WzBdIT0nLycpKSBxLS07CisrCQkJCWNvbnRpbnVlOworKwkJCX0KKysJCQlpZiAobDApIHEg Kz0gbDsKKysJCQljaGVja19kaXIgPSBzdGFja1twXTsKKysJCQljb250aW51ZTsKKysJCX0KKysJ CWlmICgrK2NudCA9PSBTWU1MT09QX01BWCkgeworKwkJCWVycm5vID0gRUxPT1A7CisrCQkJcmV0 dXJuIDA7CisrCQl9CisrCisrCQkvKiBJZiBsaW5rIGNvbnRlbnRzIGVuZCBpbiAvLCBzdHJpcCBh bnkgc2xhc2hlcyBhbHJlYWR5IG9uCisrCQkgKiBzdGFjayB0byBhdm9pZCAvLT4vLyBvciAvLy0+ Ly8vIG9yIHNwdXJpb3VzIHRvb2xvbmcuICovCisrCQlpZiAoc3RhY2tbay0xXT09Jy8nKSB3aGls ZSAoc3RhY2tbcF09PScvJykgcCsrOworKwkJcCAtPSBrOworKwkJbWVtbW92ZShzdGFjaytwLCBz dGFjaywgayk7CisrCisrCQkvKiBTa2lwIHRoZSBzdGFjayBhZHZhbmNlbWVudCBpbiBjYXNlIHdl IGhhdmUgYSBuZXcKKysJCSAqIGFic29sdXRlIGJhc2UgcGF0aC4gKi8KKysJCWdvdG8gcmVzdGFy dDsKKyAJfQorIAorLQlfX3N5c2NhbGwoU1lTX2Nsb3NlLCBmZCk7CistCXJldHVybiByZXNvbHZl ZCA/IHN0cmNweShyZXNvbHZlZCwgdG1wKSA6IHN0cmR1cCh0bXApOworLWVycjoKKy0JX19zeXNj YWxsKFNZU19jbG9zZSwgZmQpOworKyAJb3V0cHV0W3FdID0gMDsKKysKKysJaWYgKG91dHB1dFsw XSAhPSAnLycpIHsKKysJCWlmICghZ2V0Y3dkKHN0YWNrLCBzaXplb2Ygc3RhY2spKSByZXR1cm4g MDsKKysJCWwgPSBzdHJsZW4oc3RhY2spOworKwkJLyogQ2FuY2VsIGFueSBpbml0aWFsIC4uIGNv bXBvbmVudHMuICovCisrCQlwID0gMDsKKysJCXdoaWxlIChudXAtLSkgeworKwkJCXdoaWxlKGw+ MSAmJiBzdGFja1tsLTFdIT0nLycpIGwtLTsKKysJCQlpZiAobD4xKSBsLS07CisrCQkJcCArPSAy OworKwkJCWlmIChwPHEpIHArKzsKKysJCX0KKysJCWlmIChxLXAgJiYgc3RhY2tbbC0xXSE9Jy8n KSBzdGFja1tsKytdID0gJy8nOworKwkJaWYgKGwgKyAocS1wKSArIDEgPj0gUEFUSF9NQVgpIGdv dG8gdG9vbG9uZzsKKysJCW1lbW1vdmUob3V0cHV0ICsgbCwgb3V0cHV0ICsgcCwgcSAtIHAgKyAx KTsKKysJCW1lbWNweShvdXRwdXQsIHN0YWNrLCBsKTsKKysJCXEgPSBsICsgcS1wOworKwl9Cisr CisrCWlmIChyZXNvbHZlZCkgcmV0dXJuIG1lbWNweShyZXNvbHZlZCwgb3V0cHV0LCBxKzEpOwor KwllbHNlIHJldHVybiBzdHJkdXAob3V0cHV0KTsKKysKKyt0b29sb25nOgorKwllcnJubyA9IEVO QU1FVE9PTE9ORzsKKyAJcmV0dXJuIDA7CisgfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNsL3Bh dGNoZXMvd29ya19hcm91bmRfbGludXhfYnVnX2luX3JlYWRsaW5rX3N5c2NhbGxfd2l0aF96ZXJv X2J1ZmZlci5wYXRjaCBiL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL3dvcmtfYXJvdW5kX2xpbnV4X2J1 Z19pbl9yZWFkbGlua19zeXNjYWxsX3dpdGhfemVyb19idWZmZXIucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4zMjg2NDMyZWJlYTIKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL211c2wvcGF0Y2hlcy93b3JrX2Fyb3VuZF9saW51eF9idWdfaW5fcmVhZGxp bmtfc3lzY2FsbF93aXRoX3plcm9fYnVmZmVyLnBhdGNoCkBAIC0wLDAgKzEsNTkgQEAKK0Zyb20g ZTJmYTcyMGJlNzAyNGNjZTRmYzQ4OWYzODc3NDc2ZDM1ZGE0OGVlMiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IFJpY2ggRmVsa2VyIDxkYWxpYXNAYWVyaWZhbC5jeD4KK0RhdGU6IE1v biwgMjMgTm92IDIwMjAgMTk6NDQ6MTkgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gd29yayBhcm91 bmQgbGludXggYnVnIGluIHJlYWRsaW5rIHN5c2NhbGwgd2l0aCB6ZXJvIGJ1ZmZlcgorIHNpemUK KworbGludXggZmFpbHMgd2l0aCBFSU5WQUwgd2hlbiBhIHplcm8gYnVmZmVyIHNpemUgaXMgcGFz c2VkIHRvIHRoZQorc3lzY2FsbC4gdGhpcyBpcyBub24tY29uZm9ybWluZyBiZWNhdXNlIFBPU0lY IGFscmVhZHkgZGVmaW5lcyBFSU5WQUwKK3dpdGggYSBzaWduaWZpY2FudGx5IGRpZmZlcmVudCBt ZWFuaW5nOiB0aGUgdGFyZ2V0IGlzIG5vdCBhIHN5bWxpbmsuCisKK3NpbmNlIHRoZSByZXF1ZXN0 IGlzIHNlbWFudGljYWxseSB2YWxpZCwgcGF0Y2ggaXQgdXAgYnkgdXNpbmcgYSBkdW1teQorYnVm ZmVyIG9mIGxlbmd0aCBvbmUsIGFuZCB0cnVuY2F0aW5nIHRoZSByZXR1cm4gdmFsdWUgdG8gemVy byBpZiBpdAorc3VjY2VlZHMuCistLS0KKyBzcmMvdW5pc3RkL3JlYWRsaW5rLmMgICB8IDExICsr KysrKysrKy0tCisgc3JjL3VuaXN0ZC9yZWFkbGlua2F0LmMgfCAgOSArKysrKysrKy0KKyAyIGZp bGVzIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1n aXQgYS9zcmMvdW5pc3RkL3JlYWRsaW5rLmMgYi9zcmMvdW5pc3RkL3JlYWRsaW5rLmMKK2luZGV4 IGExNTJkNTI0OS4uMzJmNDUzN2Y5IDEwMDY0NAorLS0tIGEvc3JjL3VuaXN0ZC9yZWFkbGluay5j CisrKysgYi9zcmMvdW5pc3RkL3JlYWRsaW5rLmMKK0BAIC00LDkgKzQsMTYgQEAKKyAKKyBzc2l6 ZV90IHJlYWRsaW5rKGNvbnN0IGNoYXIgKnJlc3RyaWN0IHBhdGgsIGNoYXIgKnJlc3RyaWN0IGJ1 Ziwgc2l6ZV90IGJ1ZnNpemUpCisgeworKwljaGFyIGR1bW15WzFdOworKwlpZiAoIWJ1ZnNpemUp IHsKKysJCWJ1ZiA9IGR1bW15OworKwkJYnVmc2l6ZSA9IDE7CisrCX0KKyAjaWZkZWYgU1lTX3Jl YWRsaW5rCistCXJldHVybiBzeXNjYWxsKFNZU19yZWFkbGluaywgcGF0aCwgYnVmLCBidWZzaXpl KTsKKysJaW50IHIgPSBfX3N5c2NhbGwoU1lTX3JlYWRsaW5rLCBwYXRoLCBidWYsIGJ1ZnNpemUp OworICNlbHNlCistCXJldHVybiBzeXNjYWxsKFNZU19yZWFkbGlua2F0LCBBVF9GRENXRCwgcGF0 aCwgYnVmLCBidWZzaXplKTsKKysJaW50IHIgPSBfX3N5c2NhbGwoU1lTX3JlYWRsaW5rYXQsIEFU X0ZEQ1dELCBwYXRoLCBidWYsIGJ1ZnNpemUpOworICNlbmRpZgorKwlpZiAoYnVmID09IGR1bW15 ICYmIHIgPiAwKSByID0gMDsKKysJcmV0dXJuIF9fc3lzY2FsbF9yZXQocik7CisgfQorZGlmZiAt LWdpdCBhL3NyYy91bmlzdGQvcmVhZGxpbmthdC5jIGIvc3JjL3VuaXN0ZC9yZWFkbGlua2F0LmMK K2luZGV4IDlhZjQ1Y2Q1YS4uZjc5ZDNkMTQyIDEwMDY0NAorLS0tIGEvc3JjL3VuaXN0ZC9yZWFk bGlua2F0LmMKKysrKyBiL3NyYy91bmlzdGQvcmVhZGxpbmthdC5jCitAQCAtMyw1ICszLDEyIEBA CisgCisgc3NpemVfdCByZWFkbGlua2F0KGludCBmZCwgY29uc3QgY2hhciAqcmVzdHJpY3QgcGF0 aCwgY2hhciAqcmVzdHJpY3QgYnVmLCBzaXplX3QgYnVmc2l6ZSkKKyB7CistCXJldHVybiBzeXNj YWxsKFNZU19yZWFkbGlua2F0LCBmZCwgcGF0aCwgYnVmLCBidWZzaXplKTsKKysJY2hhciBkdW1t eVsxXTsKKysJaWYgKCFidWZzaXplKSB7CisrCQlidWYgPSBkdW1teTsKKysJCWJ1ZnNpemUgPSAx OworKwl9CisrCWludCByID0gX19zeXNjYWxsKFNZU19yZWFkbGlua2F0LCBmZCwgcGF0aCwgYnVm LCBidWZzaXplKTsKKysJaWYgKGJ1ZiA9PSBkdW1teSAmJiByID4gMCkgciA9IDA7CisrCXJldHVy biBfX3N5c2NhbGxfcmV0KHIpOworIH0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXVzbC90ZW1wbGF0 ZSBiL3NyY3BrZ3MvbXVzbC90ZW1wbGF0ZQppbmRleCBkMzBjOTlhNTYzYTAuLjViZGM1YzQ4ZTYy MyAxMDA2NDQKLS0tIGEvc3JjcGtncy9tdXNsL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbXVzbC90 ZW1wbGF0ZQpAQCAtMiw3ICsyLDcgQEAKIHBrZ25hbWU9bXVzbAogcmV2ZXJ0cz0iMS4yLjBfMSIK IHZlcnNpb249MS4xLjI0Ci1yZXZpc2lvbj05CityZXZpc2lvbj0xMAogYXJjaHM9IiotbXVzbCIK IGJvb3RzdHJhcD15ZXMKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUK --===============4439301224249302568==--