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 13807 invoked from network); 25 Jun 2022 02:50:00 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 25 Jun 2022 02:50:00 -0000 Content-Type: multipart/mixed; boundary="===============2561953231248457910==" 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:49:59 +0200 List-Id: Message-ID: <20220625024959.rsgGNoPLc4ZoYJ7i4cDpM5P5zT505US9T3FYGxfm2V8@z> GitHub notification mails are now in MIME to allow UTF8. --===============2561953231248457910== 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= --===============2561953231248457910== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-musl-37646.patch" RnJvbSAxYjRjZjdiZGY4NzcyOGMzNTM4YTIwYWY5NDMxZDRjZjcxNTZkZTJiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDwzMTkxNjM3OStPcmVvNjM5QHVzZXJzLm5vcmVw bHkuZ2l0aHViLmNvbT4KRGF0ZTogV2VkLCAyMiBKdW4gMjAyMiAxNToxMjoxMiAtMDcwMApTdWJq ZWN0OiBbUEFUQ0hdIG11c2w6IHVwZGF0ZSByZWFscGF0aC9yZWFkbGluayBhbmQgYWRkIGdldHRp ZAoKSW4gc29tZSBjYXNlcyBwYWNrYWdlcyBsaWtlIGJ1YmJsZXdyYXAgY2FsbCByZWFscGF0aCgp IHdpdGhvdXQgL3Byb2MgYmVpbmcgYXZhaWxpYWJsZS4gVGhpcyBiZWhhdmlvciB3YXMgZml4ZWQg aW4gbGF0ZXIgdmVyc2lvbnMgb2YgbXVzbCBzbyB3ZSBpbXBvcnQgdGhvc2UgY2hhbmdlcyBoZXJl LgpUaGlzIGFsc28gYWRkcyBnZXR0aWQoKS4gVGhpcyBmdW5jdGlvbiB3YXMgYWRkZWQgdG8gbGF0 ZXIgdmVyc2lvbnMgb2YgbXVzbCBhbmQgcmVtb3ZlcyB0aGUgbmVlZCB0byBwYXRjaCBvdXQgY2Fs bHMgdG8gZ2V0dGlkKCkgaW4gdmFyaW91cyBwYWNrYWdlcyBsaWtlLCBmb3IgZXhhbXBsZSwgbXV0 dGVyLgotLS0KIHNyY3BrZ3MvbXVzbC9wYXRjaGVzL2dldHRpZC5wYXRjaCAgICAgICAgICAgICB8 ICA0OSArKysrCiAuLi50bHlfaW5zdGVhZF9vZl91c2luZ19wcm9jZnNfcmVhZGxpbmsucGF0Y2gg fCAyMTkgKysrKysrKysrKysrKysrKysrCiAuLi5pbl9yZWFkbGlua19zeXNjYWxsX3dpdGhfemVy b19idWZmZXIucGF0Y2ggfCAgNTkgKysrKysKIHNyY3BrZ3MvbXVzbC90ZW1wbGF0ZSAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMiArLQogNCBmaWxlcyBjaGFuZ2VkLCAzMjggaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9wYXRj aGVzL2dldHRpZC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9wYXRjaGVz L2ltcGxlbWVudF9yZWFscGF0aF9kaXJlY3RseV9pbnN0ZWFkX29mX3VzaW5nX3Byb2Nmc19yZWFk bGluay5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9wYXRjaGVzL3dvcmtf YXJvdW5kX2xpbnV4X2J1Z19pbl9yZWFkbGlua19zeXNjYWxsX3dpdGhfemVyb19idWZmZXIucGF0 Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL211c2wvcGF0Y2hlcy9nZXR0aWQucGF0Y2ggYi9zcmNw a2dzL211c2wvcGF0Y2hlcy9nZXR0aWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi5iYjhiZjU5MDViODgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL211 c2wvcGF0Y2hlcy9nZXR0aWQucGF0Y2gKQEAgLTAsMCArMSw0OSBAQAorRnJvbSBkNDljZjA3NTQx YmI1NGE1YWM3YWVjMWZlZWM4NTE0ZGIzM2RiOGVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbTogUmljaCBGZWxrZXIgPGRhbGlhc0BhZXJpZmFsLmN4PgorRGF0ZTogTW9uLCAxNyBBdWcg MjAyMCAyMDoxMjo1MyAtMDQwMAorU3ViamVjdDogW1BBVENIXSBhZGQgZ2V0dGlkIGZ1bmN0aW9u CisKK3RoaXMgaXMgYSBwcmVyZXF1aXNpdGUgZm9yIGFkZGl0aW9uIG9mIG90aGVyIGludGVyZmFj ZXMgdGhhdCB1c2UKK2tlcm5lbCB0aWRzLCBpbmNsdWRpbmcgZnV0ZXggYW5kIFNJR0VWX1RIUkVB RF9JRC4KKwordGhlcmUgaXMgc29tZSBhbWJpZ3VpdHkgYXMgdG8gd2hldGhlciB0aGUgc2VtYW50 aWMgcmV0dXJuIHR5cGUgc2hvdWxkCitiZSBpbnQgb3IgcGlkX3QuIGVpdGhlciB3YXksIGZ1dGV4 IEFQSSBpbXBvc2VzIGEgY29udHJhY3QgdGhhdCB0aGUKK3ZhbHVlcyBmaXQgaW4gaW50IChleGNs dWRpbmcgc29tZSB1cHBlciByZXNlcnZlZCBiaXRzKS4gZ2xpYmMgdXNlZAorcGlkX3QsIHNvIGlu IHRoZSBpbnRlcmVzdCBvZiBub3QgaGF2aW5nIGdyYXR1aXRvdXMgbWlzbWF0Y2ggKHRoZQordW5k ZXJseWluZyB0eXBlcyBhcmUgdGhlIHNhbWUgYW55d2F5KSwgcGlkX3QgaXMgdXNlZCBoZXJlIGFz IHdlbGwuCisKK3doaWxlIGNvbmNlcHR1YWxseSB0aGlzIGlzIGEgc3lzY2FsbCwgdGhlIGNvcHkg c3RvcmVkIGluIHRoZSB0aHJlYWQKK3N0cnVjdHVyZSBpcyBhbHdheXMgdmFsaWQgaW4gYWxsIGNv bnRleHRzIHdoZXJlIGl0J3MgdmFsaWQgdG8gY2FsbAorbGliYyBmdW5jdGlvbnMsIHNvIGl0J3Mg dXNlZCB0byBhdm9pZCB0aGUgc3lzY2FsbC4KKy0tLQorIGluY2x1ZGUvdW5pc3RkLmggICB8IDEg KworIHNyYy9saW51eC9nZXR0aWQuYyB8IDggKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDkg aW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvbGludXgvZ2V0dGlkLmMKKwor ZGlmZiAtLWdpdCBhL2luY2x1ZGUvdW5pc3RkLmggYi9pbmNsdWRlL3VuaXN0ZC5oCitpbmRleCA3 YmNiZmY5NDMuLjA3NTg0YTIzZSAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvdW5pc3RkLmgKKysrKyBi L2luY2x1ZGUvdW5pc3RkLmgKK0BAIC0xOTAsNiArMTkwLDcgQEAgaW50IHN5bmNmcyhpbnQpOwor IGludCBldWlkYWNjZXNzKGNvbnN0IGNoYXIgKiwgaW50KTsKKyBpbnQgZWFjY2Vzcyhjb25zdCBj aGFyICosIGludCk7Cisgc3NpemVfdCBjb3B5X2ZpbGVfcmFuZ2UoaW50LCBvZmZfdCAqLCBpbnQs IG9mZl90ICosIHNpemVfdCwgdW5zaWduZWQpOworK3BpZF90IGdldHRpZCh2b2lkKTsKKyAjZW5k aWYKKyAKKyAjaWYgZGVmaW5lZChfTEFSR0VGSUxFNjRfU09VUkNFKSB8fCBkZWZpbmVkKF9HTlVf U09VUkNFKQorZGlmZiAtLWdpdCBhL3NyYy9saW51eC9nZXR0aWQuYyBiL3NyYy9saW51eC9nZXR0 aWQuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMC4uNzA3NjcxMzdlCist LS0gL2Rldi9udWxsCisrKysgYi9zcmMvbGludXgvZ2V0dGlkLmMKK0BAIC0wLDAgKzEsOCBAQAor KyNkZWZpbmUgX0dOVV9TT1VSQ0UKKysjaW5jbHVkZSA8dW5pc3RkLmg+CisrI2luY2x1ZGUgInB0 aHJlYWRfaW1wbC5oIgorKworK3BpZF90IGdldHRpZCh2b2lkKQorK3sKKysJcmV0dXJuIF9fcHRo cmVhZF9zZWxmKCktPnRpZDsKKyt9CmRpZmYgLS1naXQgYS9zcmNwa2dzL211c2wvcGF0Y2hlcy9p bXBsZW1lbnRfcmVhbHBhdGhfZGlyZWN0bHlfaW5zdGVhZF9vZl91c2luZ19wcm9jZnNfcmVhZGxp bmsucGF0Y2ggYi9zcmNwa2dzL211c2wvcGF0Y2hlcy9pbXBsZW1lbnRfcmVhbHBhdGhfZGlyZWN0 bHlfaW5zdGVhZF9vZl91c2luZ19wcm9jZnNfcmVhZGxpbmsucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi41NjlhMWY1MmM3Y2QKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL211c2wvcGF0Y2hlcy9pbXBsZW1lbnRfcmVhbHBhdGhfZGlyZWN0bHlfaW5zdGVh ZF9vZl91c2luZ19wcm9jZnNfcmVhZGxpbmsucGF0Y2gKQEAgLTAsMCArMSwyMTkgQEAKK0Zyb20g MjlmZjc1OTlhNDQ4MjMyZjI1Mjc4NDFjMjM2MjY0M2QyNDZjZWUzNiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IFJpY2ggRmVsa2VyIDxkYWxpYXNAYWVyaWZhbC5jeD4KK0RhdGU6IE1v biwgMzAgTm92IDIwMjAgMTI6MTQ6NDcgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gaW1wbGVtZW50 IHJlYWxwYXRoIGRpcmVjdGx5IGluc3RlYWQgb2YgdXNpbmcgcHJvY2ZzIHJlYWRsaW5rCisKK2lu YWJpbGl0eSB0byB1c2UgcmVhbHBhdGggaW4gY2hyb290L2NvbnRhaW5lciB3aXRob3V0IHByb2Nm cyBhY2Nlc3MKK2FuZCBhdCBlYXJseSBib290IHByaW9yIHRvIG1vdW50IG9mIC9wcm9jIGhhcyBi ZWVuIGFuIG9uZ29pbmcgaXNzdWUsCithbmQgaXQgdHVybnMgb3V0IHJlYWxwYXRoIHdhcyBvbmUg b2YgdGhlIGxhc3QgcmVtYWluaW5nIGludGVyZmFjZXMKK3RoYXQgbmVlZGVkIHByb2NmcyBmb3Ig aXRzIGNvcmUgZnVuY3Rpb25hbGl0eS4gZHVyaW5nIGludmVzdGlnYXRpb24KK3doaWxlIHJlaW1w bGVtZW50aW5nLCBpdCB3YXMgZGV0ZXJtaW5lZCB0aGF0IHRoZXJlIHdlcmUgYWxzbyBzZXJpb3Vz Citwcm9ibGVtcyB3aXRoIHRoZSBwcm9jZnMtYmFzZWQgaW1wbGVtZW50YXRpb24uIG1vc3Qgc2Vy aW91c2x5IGl0IHdhcwordW5zYWZlIG9uIHByZS1PX1BBVEgga2VybmVscywgYW5kIHVubGlrZSBv dGhlciBwbGFjZXMgd2hlcmUgT19QQVRIIHdhcwordXNlZCwgdGhlIHVuc2FmZXR5IHdhcyBoYXJk IG9yIGltcG9zc2libGUgdG8gZml4IGJlY2F1c2UgT19OT0ZPTExPVworY2FuJ3QgYmUgdXNlZCAo c2luY2UgdGhlIHdob2xlIHB1cnBvc2Ugd2FzIHRvIGZvbGxvdyBzeW1saW5rcykuCisKK3RoZSBu ZXcgaW1wbGVtZW50YXRpb24gaXMgYSBkaXJlY3Qgb25lLCBwZXJmb3JtaW5nIHJlYWRsaW5rIG9u IGVhY2gKK3BhdGggY29tcG9uZW50IHRvIHJlc29sdmUgaXQuIGFuIGV4cGxpY2l0IHN0YWNrLCBh cyBvcHBvc2VkIHRvCityZWN1cnNpb24sIGlzIHVzZWQgdG8gcmVwcmVzZW50IHRoZSByZW1haW5p bmcgY29tcG9uZW50cyB0byBiZQorcHJvY2Vzc2VkLiB0aGUgc3RhY2sgc3RhcnRzIG91dCBob2xk aW5nIGp1c3QgdGhlIGlucHV0IHN0cmluZywgYW5kCityZWFkaW5nIGEgbGluayBwdXNoZXMgdGhl IGxpbmsgY29udGVudHMgb250byB0aGUgc3RhY2suCisKK3VubGlrZSBtYW55IG90aGVyIGltcGxl bWVudGF0aW9ucywgdGhpcyBvbmUgZG9lcyBub3QgY2FsbCBnZXRjd2QKK2luaXRpYWxseSBmb3Ig cmVsYXRpdmUgcGF0aG5hbWVzLiBpbnN0ZWFkIGl0IGFjY3VtdWxhdGVzIGluaXRpYWwgLi4KK2Nv bXBvbmVudHMgdG8gYmUgYXBwbGllZCB0byB0aGUgd29ya2luZyBkaXJlY3RvcnkgaWYgdGhlIHJl c3VsdCBpcworc3RpbGwgYSByZWxhdGl2ZSBwYXRoLiB0aGlzIGF2b2lkcyBjYWxsaW5nIGdldGN3 ZCAod2hpY2ggbWF5IGZhaWwpIGF0CithbGwgd2hlbiBzeW1saW5rIHRyYXZlcnNhbCB3aWxsIGV2 ZW50dWFsbHkgeWllbGQgYW4gYWJzb2x1dGUgcGF0aC4gaXQKK2Fsc28gZG9lc24ndCB1c2UgYW55 IGZvcm0gb2Ygc3RhdCBvcGVyYXRpb247IGluc3RlYWQgaXQgYXJyYW5nZXMgZm9yCityZWFkbGlu ayB0byB0ZWxsIGl0IHdoZW4gYSBub24tZGlyZWN0b3J5IGlzIHVzZWQgaW4gYSBjb250ZXh0IHdo ZXJlIGEKK2RpcmVjdG9yeSBpcyBuZWVkZWQuIHRoaXMgbWluaW1pemVzIHRoZSBudW1iZXIgb2Yg c3lzY2FsbHMgbmVlZGVkLAorYXZvaWRzIGFjY2Vzc2luZyBpbm9kZXMgd2hlbiB0aGUgZGlyZWN0 b3J5IHRhYmxlIHN1ZmZpY2VzLCBhbmQgcmVkdWNlcwordGhlIGFtb3VudCBvZiBjb2RlIHB1bGxl ZCBpbiBmb3Igc3RhdGljIGxpbmtpbmcuCistLS0KKyBzcmMvbWlzYy9yZWFscGF0aC5jIHwgMTU5 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCisgMSBmaWxlIGNo YW5nZWQsIDEzNiBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBh L3NyYy9taXNjL3JlYWxwYXRoLmMgYi9zcmMvbWlzYy9yZWFscGF0aC5jCitpbmRleCBkMjcwOGU1 OWQuLmRiOGI3NGRjOCAxMDA2NDQKKy0tLSBhL3NyYy9taXNjL3JlYWxwYXRoLmMKKysrKyBiL3Ny Yy9taXNjL3JlYWxwYXRoLmMKK0BAIC0xLDQzICsxLDE1NiBAQAorICNpbmNsdWRlIDxzdGRsaWIu aD4KKyAjaW5jbHVkZSA8bGltaXRzLmg+CistI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CistI2luY2x1 ZGUgPGZjbnRsLmg+CisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgor ICNpbmNsdWRlIDxzdHJpbmcuaD4KKy0jaW5jbHVkZSAic3lzY2FsbC5oIgorKworK3N0YXRpYyBz aXplX3Qgc2xhc2hfbGVuKGNvbnN0IGNoYXIgKnMpCisreworKwljb25zdCBjaGFyICpzMCA9IHM7 CisrCXdoaWxlICgqcyA9PSAnLycpIHMrKzsKKysJcmV0dXJuIHMtczA7CisrfQorIAorIGNoYXIg KnJlYWxwYXRoKGNvbnN0IGNoYXIgKnJlc3RyaWN0IGZpbGVuYW1lLCBjaGFyICpyZXN0cmljdCBy ZXNvbHZlZCkKKyB7CistCWludCBmZDsKKy0Jc3NpemVfdCByOworLQlzdHJ1Y3Qgc3RhdCBzdDEs IHN0MjsKKy0JY2hhciBidWZbMTUrMypzaXplb2YoaW50KV07CistCWNoYXIgdG1wW1BBVEhfTUFY XTsKKysJY2hhciBzdGFja1tQQVRIX01BWCsxXTsKKysJY2hhciBvdXRwdXRbUEFUSF9NQVhdOwor KwlzaXplX3QgcCwgcSwgbCwgbDAsIGNudD0wLCBudXA9MDsKKysJaW50IGNoZWNrX2Rpcj0wOwor IAorIAlpZiAoIWZpbGVuYW1lKSB7CisgCQllcnJubyA9IEVJTlZBTDsKKyAJCXJldHVybiAwOwor IAl9CisrCWwgPSBzdHJubGVuKGZpbGVuYW1lLCBzaXplb2Ygc3RhY2spOworKwlpZiAoIWwpIHsK KysJCWVycm5vID0gRU5PRU5UOworKwkJcmV0dXJuIDA7CisrCX0KKysJaWYgKGwgPj0gUEFUSF9N QVgpIGdvdG8gdG9vbG9uZzsKKysJcCA9IHNpemVvZiBzdGFjayAtIGwgLSAxOworKwlxID0gMDsK KysJbWVtY3B5KHN0YWNrK3AsIGZpbGVuYW1lLCBsKzEpOworKworKwkvKiBNYWluIGxvb3AuIEVh Y2ggaXRlcmF0aW9uIHBvcHMgdGhlIG5leHQgcGFydCBmcm9tIHN0YWNrIG9mCisrCSAqIHJlbWFp bmluZyBwYXRoIGNvbXBvbmVudHMgYW5kIGNvbnN1bWVzIGFueSBzbGFzaGVzIHRoYXQgZm9sbG93 LgorKwkgKiBJZiBub3QgYSBsaW5rLCBpdCdzIG1vdmVkIHRvIG91dHB1dDsgaWYgYSBsaW5rLCBj b250ZW50cyBhcmUKKysJICogcHVzaGVkIHRvIHRoZSBzdGFjay4gKi8KKytyZXN0YXJ0OgorKwlm b3IgKDsgOyBwKz1zbGFzaF9sZW4oc3RhY2srcCkpIHsKKysJCS8qIElmIHN0YWNrIHN0YXJ0cyB3 aXRoIC8sIHRoZSB3aG9sZSBjb21wb25lbnQgaXMgLyBvciAvLworKwkJICogYW5kIHRoZSBvdXRw dXQgc3RhdGUgbXVzdCBiZSByZXNldC4gKi8KKysJCWlmIChzdGFja1twXSA9PSAnLycpIHsKKysJ CQljaGVja19kaXI9MDsKKysJCQludXA9MDsKKysJCQlxPTA7CisrCQkJb3V0cHV0W3ErK10gPSAn Lyc7CisrCQkJcCsrOworKwkJCS8qIEluaXRpYWwgLy8gaXMgc3BlY2lhbC4gKi8KKysJCQlpZiAo c3RhY2tbcF0gPT0gJy8nICYmIHN0YWNrW3ArMV0gIT0gJy8nKQorKwkJCQlvdXRwdXRbcSsrXSA9 ICcvJzsKKysJCQljb250aW51ZTsKKysJCX0KKysKKysJCWNoYXIgKnogPSBfX3N0cmNocm51bChz dGFjaytwLCAnLycpOworKwkJbDAgPSBsID0gei0oc3RhY2srcCk7CisgCistCWZkID0gc3lzX29w ZW4oZmlsZW5hbWUsIE9fUEFUSHxPX05PTkJMT0NLfE9fQ0xPRVhFQyk7CistCWlmIChmZCA8IDAp IHJldHVybiAwOworLQlfX3Byb2NmZG5hbWUoYnVmLCBmZCk7CisrCQlpZiAoIWwgJiYgIWNoZWNr X2RpcikgYnJlYWs7CisgCistCXIgPSByZWFkbGluayhidWYsIHRtcCwgc2l6ZW9mIHRtcCAtIDEp OworLQlpZiAociA8IDApIGdvdG8gZXJyOworLQl0bXBbcl0gPSAwOworKwkJLyogU2tpcCBhbnkg LiBjb21wb25lbnQgYnV0IHByZXNlcnZlIGNoZWNrX2RpciBzdGF0dXMuICovCisrCQlpZiAobD09 MSAmJiBzdGFja1twXT09Jy4nKSB7CisrCQkJcCArPSBsOworKwkJCWNvbnRpbnVlOworKwkJfQor IAorLQlmc3RhdChmZCwgJnN0MSk7CistCXIgPSBzdGF0KHRtcCwgJnN0Mik7CistCWlmIChyPDAg fHwgc3QxLnN0X2RldiAhPSBzdDIuc3RfZGV2IHx8IHN0MS5zdF9pbm8gIT0gc3QyLnN0X2lubykg eworLQkJaWYgKCFyKSBlcnJubyA9IEVMT09QOworLQkJZ290byBlcnI7CisrCQkvKiBDb3B5IG5l eHQgY29tcG9uZW50IG9udG8gb3V0cHV0IGF0IGxlYXN0IHRlbXBvcmFyaWx5LCB0bworKwkJICog Y2FsbCByZWFkbGluaywgYnV0IHdhaXQgdG8gYWR2YW5jZSBvdXRwdXQgcG9zaXRpb24gdW50aWwK KysJCSAqIGRldGVybWluaW5nIGl0J3Mgbm90IGEgbGluay4gKi8KKysJCWlmIChxICYmIG91dHB1 dFtxLTFdICE9ICcvJykgeworKwkJCWlmICghcCkgZ290byB0b29sb25nOworKwkJCXN0YWNrWy0t cF0gPSAnLyc7CisrCQkJbCsrOworKwkJfQorKwkJaWYgKHErbCA+PSBQQVRIX01BWCkgZ290byB0 b29sb25nOworKwkJbWVtY3B5KG91dHB1dCtxLCBzdGFjaytwLCBsKTsKKysJCW91dHB1dFtxK2xd ID0gMDsKKysJCXAgKz0gbDsKKysKKysJCWludCB1cCA9IDA7CisrCQlpZiAobDA9PTIgJiYgc3Rh Y2tbcC0yXT09Jy4nICYmIHN0YWNrW3AtMV09PScuJykgeworKwkJCXVwID0gMTsKKysJCQkvKiBB bnkgbm9uLS4uIHBhdGggY29tcG9uZW50cyB3ZSBjb3VsZCBjYW5jZWwgc3RhcnQKKysJCQkgKiBh ZnRlciBudXAgcmVwZXRpdGlvbnMgb2YgdGhlIDMtYnl0ZSBzdHJpbmcgIi4uLyI7CisrCQkJICog aWYgdGhlcmUgYXJlIG5vbmUsIGFjY3VtdWxhdGUgLi4gY29tcG9uZW50cyB0bworKwkJCSAqIGxh dGVyIGFwcGx5IHRvIGN3ZCwgaWYgbmVlZGVkLiAqLworKwkJCWlmIChxIDw9IDMqbnVwKSB7Cisr CQkJCW51cCsrOworKwkJCQlxICs9IGw7CisrCQkJCWNvbnRpbnVlOworKwkJCX0KKysJCQkvKiBX aGVuIHByZXZpb3VzIGNvbXBvbmVudHMgYXJlIGFscmVhZHkga25vd24gdG8gYmUKKysJCQkgKiBk aXJlY3RvcmllcywgcHJvY2Vzc2luZyAuLiBjYW4gc2tpcCByZWFkbGluay4gKi8KKysJCQlpZiAo IWNoZWNrX2RpcikgZ290byBza2lwX3JlYWRsaW5rOworKwkJfQorKwkJc3NpemVfdCBrID0gcmVh ZGxpbmsob3V0cHV0LCBzdGFjaywgcCk7CisrCQlpZiAoaz09cCkgZ290byB0b29sb25nOworKwkJ aWYgKCFrKSB7CisrCQkJZXJybm8gPSBFTk9FTlQ7CisrCQkJcmV0dXJuIDA7CisrCQl9CisrCQlp ZiAoazwwKSB7CisrCQkJaWYgKGVycm5vICE9IEVJTlZBTCkgcmV0dXJuIDA7Cisrc2tpcF9yZWFk bGluazoKKysJCQljaGVja19kaXIgPSAwOworKwkJCWlmICh1cCkgeworKwkJCQl3aGlsZShxICYm IG91dHB1dFtxLTFdIT0nLycpIHEtLTsKKysJCQkJaWYgKHE+MSAmJiAocT4yIHx8IG91dHB1dFsw XSE9Jy8nKSkgcS0tOworKwkJCQljb250aW51ZTsKKysJCQl9CisrCQkJaWYgKGwwKSBxICs9IGw7 CisrCQkJY2hlY2tfZGlyID0gc3RhY2tbcF07CisrCQkJY29udGludWU7CisrCQl9CisrCQlpZiAo KytjbnQgPT0gU1lNTE9PUF9NQVgpIHsKKysJCQllcnJubyA9IEVMT09QOworKwkJCXJldHVybiAw OworKwkJfQorKworKwkJLyogSWYgbGluayBjb250ZW50cyBlbmQgaW4gLywgc3RyaXAgYW55IHNs YXNoZXMgYWxyZWFkeSBvbgorKwkJICogc3RhY2sgdG8gYXZvaWQgLy0+Ly8gb3IgLy8tPi8vLyBv ciBzcHVyaW91cyB0b29sb25nLiAqLworKwkJaWYgKHN0YWNrW2stMV09PScvJykgd2hpbGUgKHN0 YWNrW3BdPT0nLycpIHArKzsKKysJCXAgLT0gazsKKysJCW1lbW1vdmUoc3RhY2srcCwgc3RhY2ss IGspOworKworKwkJLyogU2tpcCB0aGUgc3RhY2sgYWR2YW5jZW1lbnQgaW4gY2FzZSB3ZSBoYXZl IGEgbmV3CisrCQkgKiBhYnNvbHV0ZSBiYXNlIHBhdGguICovCisrCQlnb3RvIHJlc3RhcnQ7Cisg CX0KKyAKKy0JX19zeXNjYWxsKFNZU19jbG9zZSwgZmQpOworLQlyZXR1cm4gcmVzb2x2ZWQgPyBz dHJjcHkocmVzb2x2ZWQsIHRtcCkgOiBzdHJkdXAodG1wKTsKKy1lcnI6CistCV9fc3lzY2FsbChT WVNfY2xvc2UsIGZkKTsKKysgCW91dHB1dFtxXSA9IDA7CisrCisrCWlmIChvdXRwdXRbMF0gIT0g Jy8nKSB7CisrCQlpZiAoIWdldGN3ZChzdGFjaywgc2l6ZW9mIHN0YWNrKSkgcmV0dXJuIDA7Cisr CQlsID0gc3RybGVuKHN0YWNrKTsKKysJCS8qIENhbmNlbCBhbnkgaW5pdGlhbCAuLiBjb21wb25l bnRzLiAqLworKwkJcCA9IDA7CisrCQl3aGlsZSAobnVwLS0pIHsKKysJCQl3aGlsZShsPjEgJiYg c3RhY2tbbC0xXSE9Jy8nKSBsLS07CisrCQkJaWYgKGw+MSkgbC0tOworKwkJCXAgKz0gMjsKKysJ CQlpZiAocDxxKSBwKys7CisrCQl9CisrCQlpZiAocS1wICYmIHN0YWNrW2wtMV0hPScvJykgc3Rh Y2tbbCsrXSA9ICcvJzsKKysJCWlmIChsICsgKHEtcCkgKyAxID49IFBBVEhfTUFYKSBnb3RvIHRv b2xvbmc7CisrCQltZW1tb3ZlKG91dHB1dCArIGwsIG91dHB1dCArIHAsIHEgLSBwICsgMSk7Cisr CQltZW1jcHkob3V0cHV0LCBzdGFjaywgbCk7CisrCQlxID0gbCArIHEtcDsKKysJfQorKworKwlp ZiAocmVzb2x2ZWQpIHJldHVybiBtZW1jcHkocmVzb2x2ZWQsIG91dHB1dCwgcSsxKTsKKysJZWxz ZSByZXR1cm4gc3RyZHVwKG91dHB1dCk7CisrCisrdG9vbG9uZzoKKysJZXJybm8gPSBFTkFNRVRP T0xPTkc7CisgCXJldHVybiAwOworIH0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXVzbC9wYXRjaGVz L3dvcmtfYXJvdW5kX2xpbnV4X2J1Z19pbl9yZWFkbGlua19zeXNjYWxsX3dpdGhfemVyb19idWZm ZXIucGF0Y2ggYi9zcmNwa2dzL211c2wvcGF0Y2hlcy93b3JrX2Fyb3VuZF9saW51eF9idWdfaW5f cmVhZGxpbmtfc3lzY2FsbF93aXRoX3plcm9fYnVmZmVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMzI4NjQzMmViZWEyCi0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9tdXNsL3BhdGNoZXMvd29ya19hcm91bmRfbGludXhfYnVnX2luX3JlYWRsaW5rX3N5 c2NhbGxfd2l0aF96ZXJvX2J1ZmZlci5wYXRjaApAQCAtMCwwICsxLDU5IEBACitGcm9tIGUyZmE3 MjBiZTcwMjRjY2U0ZmM0ODlmMzg3NzQ3NmQzNWRhNDhlZTIgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBSaWNoIEZlbGtlciA8ZGFsaWFzQGFlcmlmYWwuY3g+CitEYXRlOiBNb24sIDIz IE5vdiAyMDIwIDE5OjQ0OjE5IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIHdvcmsgYXJvdW5kIGxp bnV4IGJ1ZyBpbiByZWFkbGluayBzeXNjYWxsIHdpdGggemVybyBidWZmZXIKKyBzaXplCisKK2xp bnV4IGZhaWxzIHdpdGggRUlOVkFMIHdoZW4gYSB6ZXJvIGJ1ZmZlciBzaXplIGlzIHBhc3NlZCB0 byB0aGUKK3N5c2NhbGwuIHRoaXMgaXMgbm9uLWNvbmZvcm1pbmcgYmVjYXVzZSBQT1NJWCBhbHJl YWR5IGRlZmluZXMgRUlOVkFMCit3aXRoIGEgc2lnbmlmaWNhbnRseSBkaWZmZXJlbnQgbWVhbmlu ZzogdGhlIHRhcmdldCBpcyBub3QgYSBzeW1saW5rLgorCitzaW5jZSB0aGUgcmVxdWVzdCBpcyBz ZW1hbnRpY2FsbHkgdmFsaWQsIHBhdGNoIGl0IHVwIGJ5IHVzaW5nIGEgZHVtbXkKK2J1ZmZlciBv ZiBsZW5ndGggb25lLCBhbmQgdHJ1bmNhdGluZyB0aGUgcmV0dXJuIHZhbHVlIHRvIHplcm8gaWYg aXQKK3N1Y2NlZWRzLgorLS0tCisgc3JjL3VuaXN0ZC9yZWFkbGluay5jICAgfCAxMSArKysrKysr KystLQorIHNyYy91bmlzdGQvcmVhZGxpbmthdC5jIHwgIDkgKysrKysrKystCisgMiBmaWxlcyBj aGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEv c3JjL3VuaXN0ZC9yZWFkbGluay5jIGIvc3JjL3VuaXN0ZC9yZWFkbGluay5jCitpbmRleCBhMTUy ZDUyNDkuLjMyZjQ1MzdmOSAxMDA2NDQKKy0tLSBhL3NyYy91bmlzdGQvcmVhZGxpbmsuYworKysr IGIvc3JjL3VuaXN0ZC9yZWFkbGluay5jCitAQCAtNCw5ICs0LDE2IEBACisgCisgc3NpemVfdCBy ZWFkbGluayhjb25zdCBjaGFyICpyZXN0cmljdCBwYXRoLCBjaGFyICpyZXN0cmljdCBidWYsIHNp emVfdCBidWZzaXplKQorIHsKKysJY2hhciBkdW1teVsxXTsKKysJaWYgKCFidWZzaXplKSB7Cisr CQlidWYgPSBkdW1teTsKKysJCWJ1ZnNpemUgPSAxOworKwl9CisgI2lmZGVmIFNZU19yZWFkbGlu aworLQlyZXR1cm4gc3lzY2FsbChTWVNfcmVhZGxpbmssIHBhdGgsIGJ1ZiwgYnVmc2l6ZSk7Cisr CWludCByID0gX19zeXNjYWxsKFNZU19yZWFkbGluaywgcGF0aCwgYnVmLCBidWZzaXplKTsKKyAj ZWxzZQorLQlyZXR1cm4gc3lzY2FsbChTWVNfcmVhZGxpbmthdCwgQVRfRkRDV0QsIHBhdGgsIGJ1 ZiwgYnVmc2l6ZSk7CisrCWludCByID0gX19zeXNjYWxsKFNZU19yZWFkbGlua2F0LCBBVF9GRENX RCwgcGF0aCwgYnVmLCBidWZzaXplKTsKKyAjZW5kaWYKKysJaWYgKGJ1ZiA9PSBkdW1teSAmJiBy ID4gMCkgciA9IDA7CisrCXJldHVybiBfX3N5c2NhbGxfcmV0KHIpOworIH0KK2RpZmYgLS1naXQg YS9zcmMvdW5pc3RkL3JlYWRsaW5rYXQuYyBiL3NyYy91bmlzdGQvcmVhZGxpbmthdC5jCitpbmRl eCA5YWY0NWNkNWEuLmY3OWQzZDE0MiAxMDA2NDQKKy0tLSBhL3NyYy91bmlzdGQvcmVhZGxpbmth dC5jCisrKysgYi9zcmMvdW5pc3RkL3JlYWRsaW5rYXQuYworQEAgLTMsNSArMywxMiBAQAorIAor IHNzaXplX3QgcmVhZGxpbmthdChpbnQgZmQsIGNvbnN0IGNoYXIgKnJlc3RyaWN0IHBhdGgsIGNo YXIgKnJlc3RyaWN0IGJ1Ziwgc2l6ZV90IGJ1ZnNpemUpCisgeworLQlyZXR1cm4gc3lzY2FsbChT WVNfcmVhZGxpbmthdCwgZmQsIHBhdGgsIGJ1ZiwgYnVmc2l6ZSk7CisrCWNoYXIgZHVtbXlbMV07 CisrCWlmICghYnVmc2l6ZSkgeworKwkJYnVmID0gZHVtbXk7CisrCQlidWZzaXplID0gMTsKKysJ fQorKwlpbnQgciA9IF9fc3lzY2FsbChTWVNfcmVhZGxpbmthdCwgZmQsIHBhdGgsIGJ1ZiwgYnVm c2l6ZSk7CisrCWlmIChidWYgPT0gZHVtbXkgJiYgciA+IDApIHIgPSAwOworKwlyZXR1cm4gX19z eXNjYWxsX3JldChyKTsKKyB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL211c2wvdGVtcGxhdGUgYi9z cmNwa2dzL211c2wvdGVtcGxhdGUKaW5kZXggZDMwYzk5YTU2M2EwLi41YmRjNWM0OGU2MjMgMTAw NjQ0Ci0tLSBhL3NyY3BrZ3MvbXVzbC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL211c2wvdGVtcGxh dGUKQEAgLTIsNyArMiw3IEBACiBwa2duYW1lPW11c2wKIHJldmVydHM9IjEuMi4wXzEiCiB2ZXJz aW9uPTEuMS4yNAotcmV2aXNpb249OQorcmV2aXNpb249MTAKIGFyY2hzPSIqLW11c2wiCiBib290 c3RyYXA9eWVzCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCg== --===============2561953231248457910==--