[#110736] Can't sign in to bugs.ruby-lang.org — Daniel Berger <djberg96@...>
Hi,
4 messages
2022/11/13
[ruby-core:110677] [Ruby master Bug#18796] GC compaction gets stuck on Mac OS when a debugger is attached
From:
"kjtsanaktsidis (KJ Tsanaktsidis)" <noreply@...>
Date:
2022-11-10 09:27:05 UTC
List:
ruby-core #110677
SXNzdWUgIzE4Nzk2IGhhcyBiZWVuIHVwZGF0ZWQgYnkga2p0c2FuYWt0c2lkaXMgKEtKIFRzYW5h a3RzaWRpcykuCgoKVGhlIGZpeCBmb3IgdGhpcyB3YXMgbWVyZ2VkLgoKLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpCdWcgIzE4Nzk2OiBHQyBjb21wYWN0aW9uIGdldHMg c3R1Y2sgb24gTWFjIE9TIHdoZW4gYSBkZWJ1Z2dlciBpcyBhdHRhY2hlZApodHRwczovL2J1Z3Mu cnVieS1sYW5nLm9yZy9pc3N1ZXMvMTg3OTYjY2hhbmdlLTEwMDAyMAoKKiBBdXRob3I6IGtqdHNh bmFrdHNpZGlzIChLSiBUc2FuYWt0c2lkaXMpCiogU3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5v cm1hbAoqIHJ1YnkgLXY6IHJ1YnkgMy4yLjBkZXYgKDIwMjItMDUtMThUMDU6MzM6MDBaIGt0c2Fu YWt0c2lkaXMvc2tpcC4uIDk3YzEyYzVmNjkpIFthcm02NC1kYXJ3aW4yMV0KKiBCYWNrcG9ydDog Mi43OiBVTktOT1dOLCAzLjA6IFVOS05PV04sIDMuMTogVU5LTk9XTgotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClRoZSBHQyBjb21wYWN0aW9uIG1lY2hhbmlzbSB1c2Vz IGEga2luZCBvZiByZWFkIGJhcnJpZXIgdG8gZGV0ZWN0IGF0dGVtcHRzIHRvIHJlYWQgb2JqZWN0 cyBmcm9tIHBhZ2VzIHRoYXQgaGF2ZSBhbHJlYWR5IGJlZW4gbW92ZWQgZnJvbSAob3IsIGF0IGxl YXN0LCBJIF90aGlua18gdGhhdCdzIHdoYXQgaXQgZG9lcykuIFRoaXMgaXMgaW1wbGVtZW50ZWQg YnkgbWFya2luZyB0aGUgT1MgcGFnZXMgYXMgdW5yZWFkYWJsZSB1c2luZyBtcHJvdGVjdCwgYW5k IGluc3RhbGxpbmcgYSBTSUdCVVMvU0lHU0VHViBoYW5kbGVyIHRvIGRldGVjdCBhdHRlbXB0cyB0 byBhY2Nlc3MgdGhlbS4gV2hlbiB0aGV5IGFyZSBhY2Nlc3NlZCwgdGhlIHBhZ2UgbW92ZSBpcyBp bnZhbGlkYXRlZCBhbmQgdGhlIHBhZ2UgaXMgbWFya2VkIGFzIGFjY2Vzc2libGUgYWdhaW4sIGFs bG93aW5nIHRoZSBmYXVsdGVkIGFjY2VzcyB0byBwcm9jZWVkLgoKVGhpcyB3YXMgYWRkZWQgaW4g WzY3YjJjMjFjMzI3Yzk2ZDgwYjhhMGZlMDJhOTZkNDE3ZTg1MjkzZThdKGh0dHBzOi8vZ2l0aHVi LmNvbS9ydWJ5L3J1YnkvY29tbWl0LzY3YjJjMjFjMzI3Yzk2ZDgwYjhhMGZlMDJhOTZkNDE3ZTg1 MjkzZTgpIChpc3N1ZSBodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTcxNzYpLgoK VW5mb3J0dW5hdGVseSwgd2hlbiBhIGRlYnVnZ2VyIGlzIGF0dGFjaGVkIHRvIHRoZSBSdWJ5IGlu dGVycHJldGVyIG9uIE1hYyBPUywgdGhlIGRlYnVnZ2VyIHdpbGwgdHJhcCB0aGUgRVhDX0JBRF9B Q0NFU1MgbWFjaCBleGNlcHRpb24gYmVmb3JlIHRoZSBydW50aW1lIGNhbiB0cmFuc2Zvcm0gdGhh dCBpbnRvIGEgU0lHQlVTIHNpZ25hbCBhbmQgZGlzcGF0Y2ggaXQuIFRodXMsIGV4ZWN1dGlvbiBn ZXRzIHN0dWNrOyBhbnkgYXR0ZW1wdCB0byBjb250aW51ZSBmcm9tIHRoZSBkZWJ1Z2dlciByZS1l eGVjdXRlcyB0aGUgbGluZSB0aGF0IGNhdXNlZCB0aGUgZXhjZXB0aW9uIHdpdGhvdXQgaW52b2tp bmcgdGhlIFNJR0JVUyBzaWduYWwgaGFuZGxlciBhbmQgbm8gZm9yd2FyZCBwcm9ncmVzcyBjYW4g YmUgbWFkZS4KClRoaXMgbWFrZXMgaXQgaW1wb3NzaWJsZSB0byBkZWJ1ZyBlaXRoZXIgdGhlIHJ1 YnkgaW50ZXJwcmV0ZXIgb3IgYSBDIGV4dGVuc2lvbiB3aGlsc3QgY29tcGFjdGlvbiBpcyBpbiB1 c2UuCgpJIGRvbid0IF9yZWFsbHlfIHVuZGVyc3RhbmQgbWFjaCBzdHVmZiBpbiBNYWNPUyB0aGF0 IHdlbGwsIGJ1dCBJIGhhdmUgYXR0YWNoZWQgYSBwYXRjaCB3aGljaCBzZWVtcyB0byBmaXggdGhl IGlzc3VlLiBJdCBkaXNhYmxlcyB0aGUgRVhDX0JBRF9BQ0NFU1MgZXhjZXB0aW9uIGhhbmRsZXIg d2hlbiBpbnN0YWxsaW5nIHRoZSBTSUdCVVMvU0lHU0VHViBoYW5kbGVycywgYW5kIHJlLWVuYWJs ZXMgaXQgd2hlbiBjb21wYWN0aW9uIGlzIGRvbmUuIFRoZSBkZWJ1Z2dlciB3aWxsIHN0aWxsIHRy YXAgb24gdGhlIGF0dGVtcHQgdG8gcmVhZCB0aGUgcHJvdGVjdGVkIHBhZ2UsIGJ1dCBpdCB3aWxs IGJlIHRyYXBwaW5nIHRoZSBTSUdCVVMgc2lnbmFsLCByYXRoZXIgdGhhbiB0aGUgRVhDX0JBRF9B Q0NFU1MgbWFjaCBleGNlcHRpb24uIEl0J3MgcG9zc2libGUgdG8gY29udGludWUgZnJvbSB0aGlz IGluIHRoZSBkZWJndWdnZXIsIHdoaWNoIGludm9rZXMgdGhlIFNJR0JVUyBzaWduYWwgaGFuZGxl ciBhbmQgdGh1cyBhbGxvd3MgZm9yd2FyZCBwcm9ncmVzcyB0byBiZSBtYWRlLgoKRm9yIGV4YW1w bGUsIHRoaXMgaXMgd2hhdCBoYXBwZW5zIGJlZm9yZSBhcHBseWluZyB0aGlzIHBhdGNoOgoKYGBg ClByb2Nlc3MgOTY1NTUgc3RvcHBlZAoqIHRocmVhZCAjOSwgbmFtZSA9ICdyZXByb19yYWNrLnJi OjQzJywgc3RvcCByZWFzb24gPSBFWENfQkFEX0FDQ0VTUyAoY29kZT0yLCBhZGRyZXNzPTB4MTA3 ZGJiZmMwKQogICAgZnJhbWUgIzA6IDB4MDAwMDAwMDEwMDBhZjgzNCBydWJ5YHZtX2Njc19mcmVl IGF0IGltZW1vLmg6MTcwOjQ5CiAgIDE2NyAJICAgICAgICBjb25zdCBWQUxVRSBtYXNrID0gKElN RU1PX01BU0sgPDwgRkxfVVNISUZUKSB8IFJVQllfVF9NQVNLOwogICAxNjggCSAgICAgICAgY29u c3QgVkFMVUUgZXhwZWN0ZWRfdHlwZSA9IChpbWVtb190eXBlIDw8IEZMX1VTSElGVCkgfCBUX0lN RU1POwogICAxNjkgCSAgICAgICAgLyogZml4ZWQgYXQgcnVudGltZS4gKi8KLT4gMTcwIAkgICAg ICAgIHJldHVybiBleHBlY3RlZF90eXBlID09IChSQkFTSUMoaW1lbW8pLT5mbGFncyAmIG1hc2sp OwogICAxNzEgCSAgICB9CiAgIDE3MiAJICAgIGVsc2UgewogICAxNzMgCSAgICAgICAgcmV0dXJu IDA7ClRhcmdldCAwOiAocnVieSkgc3RvcHBlZC4KKGxsZGIpIGJ0CiogdGhyZWFkICM5LCBuYW1l ID0gJ3JlcHJvX3JhY2sucmI6NDMnLCBzdG9wIHJlYXNvbiA9IEVYQ19CQURfQUNDRVNTIChjb2Rl PTIsIGFkZHJlc3M9MHgxMDdkYmJmYzApCiAgKiBmcmFtZSAjMDogMHgwMDAwMDAwMTAwMGFmODM0 IHJ1Ynlgdm1fY2NzX2ZyZWUgYXQgaW1lbW8uaDoxNzA6NDkKICAgIGZyYW1lICMxOiAweDAwMDAw MDAxMDAwYWY4MjAgcnVieWB2bV9jY3NfZnJlZShjY3M9MHgwMDAwNjAwMDAwMzIyMmMwLCBhbGl2 ZT08dW5hdmFpbGFibGU+LCBvYmpzcGFjZT0weDAwMDAwMDAxMDEwMDhjMDAsIGtsYXNzPTQzODM2 NDY4MDApIGF0IGdjLmM6MzEwMjoyMQogICAgZnJhbWUgIzI6IDB4MDAwMDAwMDEwMDBjM2E1YyBy dWJ5YGNjX3RhYmxlX2ZyZWVfaShjY3NfcHRyPTx1bmF2YWlsYWJsZT4sIGRhdGFfcHRyPTx1bmF2 YWlsYWJsZT4pIGF0IGdjLmM6MzE4MTo1CiAgICBmcmFtZSAjMzogMHgwMDAwMDAwMTAwMWYzMzM0 IHJ1YnlgcmJfaWRfdGFibGVfZm9yZWFjaF92YWx1ZXModGJsPTB4MDAwMDYwMDAwMDJmNmZjMCwg ZnVuYz0ocnVieWBjY190YWJsZV9mcmVlX2kgYXQgZ2MuYzozMTc3KSwgZGF0YT0weDAwMDAwMDAx NzBiZDllMjApIGF0IGlkX3RhYmxlLmM6Mjk2OjQ1CiAgICBmcmFtZSAjNDogMHgwMDAwMDAwMTAw MGMwMzU0IHJ1Ynlgb2JqX2ZyZWUgYXQgZ2MuYzozMTk2OjkKICAgIGZyYW1lICM1OiAweDAwMDAw MDAxMDAwYzAzMzAgcnVieWBvYmpfZnJlZShvYmpzcGFjZT0weDAwMDAwMDAxMDEwMDhjMDAsIG9i aj00MzgzNjQ2ODAwKSBhdCBnYy5jOjMzMTI6OQogICAgZnJhbWUgIzY6IDB4MDAwMDAwMDEwMDBj MDBiOCBydWJ5YGdjX3N3ZWVwX3BhZ2UgYXQgZ2MuYzo1MzcxOjI1CiAgICBmcmFtZSAjNzogMHgw MDAwMDAwMTAwMGMwMDJjIHJ1YnlgZ2Nfc3dlZXBfcGFnZShvYmpzcGFjZT0weDAwMDAwMDAxMDEw MDhjMDAsIGhlYXA9MHgwMDAwMDAwMTAxMDA4ZGYwLCBjdHg9MHgwMDAwMDAwMTcwYmQ5ZjYwKSBh dCBnYy5jOjU0NTU6MTMKICAgIGZyYW1lICM4OiAweDAwMDAwMDAxMDAwYmZjZDAgcnVieWBnY19j b21wYWN0X21vdmUob2Jqc3BhY2U9MHgwMDAwMDAwMTAxMDA4YzAwLCBoZWFwPTB4MDAwMDAwMDEw MTAwOGRmMCwgc3JjPTQ0MjMxNTEwMDApIGF0IGdjLmM6ODE5Nzo5CiAgICBmcmFtZSAjOTogMHgw MDAwMDAwMTAwMGJkZjQwIHJ1YnlgZ2Nfc3dlZXAgYXQgZ2MuYzo4MjIzOjE4CiAgICBmcmFtZSAj MTA6IDB4MDAwMDAwMDEwMDBiZGVlYyBydWJ5YGdjX3N3ZWVwIGF0IGdjLmM6ODI2MDoxOAogICAg ZnJhbWUgIzExOiAweDAwMDAwMDAxMDAwYmRlMTQgcnVieWBnY19zd2VlcCBhdCBnYy5jOjgzMDM6 MTgKICAgIGZyYW1lICMxMjogMHgwMDAwMDAwMTAwMGJkYWYwIHJ1YnlgZ2Nfc3dlZXAob2Jqc3Bh Y2U9PHVuYXZhaWxhYmxlPikgYXQgZ2MuYzo1OTQ5OjkKICAgIGZyYW1lICMxMzogMHgwMDAwMDAw MTAwMGMzNTI0IHJ1YnlgZ2Nfc3RhcnQgW2lubGluZWRdIGdjX21hcmtzKG9ianNwYWNlPTB4MDAw MDAwMDEwMTAwOGMwMCwgZnVsbF9tYXJrPTx1bmF2YWlsYWJsZT4pIGF0IGdjLmM6ODM4MDo5CiAg ICBmcmFtZSAjMTQ6IDB4MDAwMDAwMDEwMDBjMmM4NCBydWJ5YGdjX3N0YXJ0KG9ianNwYWNlPTB4 MDAwMDAwMDEwMTAwOGMwMCwgcmVhc29uPTx1bmF2YWlsYWJsZT4pIGF0IGdjLmM6OTIwNToyCiAg ICBmcmFtZSAjMTU6IDB4MDAwMDAwMDEwMDBiOWMxNCBydWJ5YGdjX2NvbXBhY3QgYXQgZ2MuYzo5 MDg2OjE1CiAgICBmcmFtZSAjMTY6IDB4MDAwMDAwMDEwMDBiOWJlNCBydWJ5YGdjX2NvbXBhY3Qg W2lubGluZWRdIGdjX3N0YXJ0X2ludGVybmFsKGVjPTx1bmF2YWlsYWJsZT4sIHNlbGY9PHVuYXZh aWxhYmxlPiwgZnVsbF9tYXJrPTIwLCBpbW1lZGlhdGVfbWFyaz0yMCwgaW1tZWRpYXRlX3N3ZWVw PTIwLCBjb21wYWN0PTIwKSBhdCBnYy5jOjk1MTk6NQogICAgZnJhbWUgIzE3OiAweDAwMDAwMDAx MDAwYjliZDAgcnVieWBnY19jb21wYWN0KGVjPTB4MDAwMDAwMDEwNjliOTQ4MCwgc2VsZj00MzU0 OTkzNzIwKSBhdCBnYy5jOjEwNDkxOjUKICAgIGZyYW1lICMxODogMHgwMDAwMDAwMTAwMjMzNjc0 IHJ1Ynlgdm1fZXhlY19jb3JlIFtpbmxpbmVkXSBidWlsdGluX2ludm9rZXIwKGVjPTB4MDAwMDAw MDEwNjliOTQ4MCwgc2VsZj08dW5hdmFpbGFibGU+LCBhcmd2PTB4MDAwMDAwMDAwMDAwMDAwMCwg ZnVuY3B0cj08dW5hdmFpbGFibGU+KSBhdCB2bV9pbnNuaGVscGVyLmM6NTgyNjoxMgogICAgZnJh bWUgIzE5OiAweDAwMDAwMDAxMDAyMzM2NmMgcnVieWB2bV9leGVjX2NvcmUgW2lubGluZWRdIGlu dm9rZV9iZihlYz0weDAwMDAwMDAxMDY5Yjk0ODAsIHJlZ19jZnA9PHVuYXZhaWxhYmxlPiwgYXJn dj0weDAwMDAwMDAwMDAwMDAwMDApIGF0IHZtX2luc25oZWxwZXIuYzo1OTY2OjE3CiAgICBmcmFt ZSAjMjA6IDB4MDAwMDAwMDEwMDIzMzY2OCBydWJ5YHZtX2V4ZWNfY29yZSBbaW5saW5lZF0gdm1f aW52b2tlX2J1aWx0aW5fZGVsZWdhdGUoZWM9MHgwMDAwMDAwMTA2OWI5NDgwLCBiZj08dW5hdmFp bGFibGU+LCBzdGFydF9pbmRleD08dW5hdmFpbGFibGU+KSBhdCB2bV9pbnNuaGVscGVyLmM6NTk4 OToxNgogICAgZnJhbWUgIzIxOiAweDAwMDAwMDAxMDAyMzM2MjQgcnVieWB2bV9leGVjX2NvcmUo ZWM9PHVuYXZhaWxhYmxlPiwgaW5pdGlhbD08dW5hdmFpbGFibGU+KSBhdCBpbnNucy5kZWY6MTUx MDoxMQogICAgZnJhbWUgIzIyOiAweDAwMDAwMDAxMDAyNDMzODQgcnVieWByYl92bV9leGVjKGVj PTB4MDAwMDAwMDEwNjliOTQ4MCwgbWppdF9lbmFibGVfcD08dW5hdmFpbGFibGU+KSBhdCB2bS5j OjA6MjEKICAgIGZyYW1lICMyMzogMHgwMDAwMDAwMTAwMjUyODU0IHJ1YnlgaW52b2tlX2Jsb2Nr X2Zyb21fY19iaCBbaW5saW5lZF0gaW52b2tlX2Jsb2NrKGVjPTB4MDAwMDAwMDEwNjliOTQ4MCwg aXNlcT0weDAwMDAwMDAxMDRmM2IxYTAsIHNlbGY9NDMwMjE2MzQwMCwgY2FwdHVyZWQ9MHgwMDAw MDAwMTcwY2RhY2Q4LCBjcmVmPTB4MDAwMDAwMDAwMDAwMDAwMCwgdHlwZT08dW5hdmFpbGFibGU+ LCBvcHRfcGM9PHVuYXZhaWxhYmxlPikgYXQgdm0uYzoxMzE5OjEyCiAgICBmcmFtZSAjMjQ6IDB4 MDAwMDAwMDEwMDI1MjdiNCBydWJ5YGludm9rZV9ibG9ja19mcm9tX2NfYmggW2lubGluZWRdIGlu dm9rZV9pc2VxX2Jsb2NrX2Zyb21fYyhlYz0weDAwMDAwMDAxMDY5Yjk0ODAsIGNhcHR1cmVkPTB4 MDAwMDAwMDE3MGNkYWNkOCwgc2VsZj00MzAyMTYzNDAwLCBhcmdjPTx1bmF2YWlsYWJsZT4sIGFy Z3Y9PHVuYXZhaWxhYmxlPiwga3dfc3BsYXQ9PHVuYXZhaWxhYmxlPiwgcGFzc2VkX2Jsb2NrX2hh bmRsZXI9PHVuYXZhaWxhYmxlPiwgY3JlZj0weDAwMDAwMDAwMDAwMDAwMDAsIGlzX2xhbWJkYT08 dW5hdmFpbGFibGU+LCBtZT0weDAwMDAwMDAwMDAwMDAwMDApIGF0IHZtLmM6MTM3NTo5CiAgICBm cmFtZSAjMjU6IDB4MDAwMDAwMDEwMDI1MjY4NCBydWJ5YGludm9rZV9ibG9ja19mcm9tX2NfYmgo ZWM9MHgwMDAwMDAwMTA2OWI5NDgwLCBibG9ja19oYW5kbGVyPTx1bmF2YWlsYWJsZT4sIGFyZ2M9 PHVuYXZhaWxhYmxlPiwgYXJndj08dW5hdmFpbGFibGU+LCBrd19zcGxhdD08dW5hdmFpbGFibGU+ LCBwYXNzZWRfYmxvY2tfaGFuZGxlcj08dW5hdmFpbGFibGU+LCBjcmVmPTx1bmF2YWlsYWJsZT4s IGlzX2xhbWJkYT08dW5hdmFpbGFibGU+LCBmb3JjZV9ibG9ja2FyZz0wKSBhdCB2bS5jOjEzOTM6 MTMKICAgIGZyYW1lICMyNjogMHgwMDAwMDAwMTAwMjUxZmYwIHJ1YnlgbG9vcF9pIFtpbmxpbmVk XSB2bV95aWVsZF93aXRoX2NyZWYoZWM9PHVuYXZhaWxhYmxlPiwgYXJnYz0wLCBhcmd2PTB4MDAw MDAwMDAwMDAwMDAwMCwga3dfc3BsYXQ9MCwgY3JlZj0weDAwMDAwMDAwMDAwMDAwMDAsIGlzX2xh bWJkYT0wKSBhdCB2bS5jOjE0MzA6MTIKICAgIGZyYW1lICMyNzogMHgwMDAwMDAwMTAwMjUxZmE4 IHJ1YnlgbG9vcF9pIFtpbmxpbmVkXSB2bV95aWVsZChlYz08dW5hdmFpbGFibGU+LCBhcmdjPTAs IGFyZ3Y9MHgwMDAwMDAwMDAwMDAwMDAwLCBrd19zcGxhdD0wKSBhdCB2bS5jOjE0Mzg6MTIKICAg IGZyYW1lICMyODogMHgwMDAwMDAwMTAwMjUxZmE4IHJ1YnlgbG9vcF9pIFtpbmxpbmVkXSByYl95 aWVsZF8wKGFyZ2M9MCwgYXJndj0weDAwMDAwMDAwMDAwMDAwMDApIGF0IHZtX2V2YWwuYzoxMzQ3 OjEyCiAgICBmcmFtZSAjMjk6IDB4MDAwMDAwMDEwMDI1MWY5YyBydWJ5YGxvb3BfaShfPTx1bmF2 YWlsYWJsZT4pIGF0IHZtX2V2YWwuYzoxNDQ2OjIKICAgIGZyYW1lICMzMDogMHgwMDAwMDAwMTAw MDlmNTU0IHJ1YnlgcmJfdnJlc2N1ZTIoYl9wcm9jPShydWJ5YGxvb3BfaSBhdCB2bV9ldmFsLmM6 MTQ0NCksIGRhdGExPTAsIHJfcHJvYz0ocnVieWBsb29wX3N0b3AgYXQgdm1fZXZhbC5jOjE0NTMp LCBkYXRhMj0wLCBhcmdzPTx1bmF2YWlsYWJsZT4pIGF0IGV2YWwuYzo5MDQ6MTEKICAgIGZyYW1l ICMzMTogMHgwMDAwMDAwMTAwMDlmM2NjIHJ1YnlgcmJfcmVzY3VlMihiX3Byb2M9PHVuYXZhaWxh YmxlPiwgZGF0YTE9PHVuYXZhaWxhYmxlPiwgcl9wcm9jPTx1bmF2YWlsYWJsZT4sIGRhdGEyPTx1 bmF2YWlsYWJsZT4pIGF0IGV2YWwuYzo4ODU6MTcKICAgIGZyYW1lICMzMjogMHgwMDAwMDAwMTAw MjNlYjk0IHJ1YnlgcmJfZl9sb29wKHNlbGY9NDMwMjE2MzQwMCkgYXQgdm1fZXZhbC5jOjE0OTc6 MTIKICAgIGZyYW1lICMzMzogMHgwMDAwMDAwMTAwMjRiZjZjIHJ1Ynlgdm1fY2FsbF9jZnVuY193 aXRoX2ZyYW1lKGVjPTB4MDAwMDAwMDEwNjliOTQ4MCwgcmVnX2NmcD0weDAwMDAwMDAxNzBjZGFj YzAsIGNhbGxpbmc9PHVuYXZhaWxhYmxlPikgYXQgdm1faW5zbmhlbHBlci5jOjMwMzc6MTEKICAg IGZyYW1lICMzNDogMHgwMDAwMDAwMTAwMjRlNTYwIHJ1Ynlgdm1fc2VuZGlzaChlYz0weDAwMDAw MDAxMDY5Yjk0ODAsIHJlZ19jZnA9MHgwMDAwMDAwMTcwY2RhY2MwLCBjZD0weDAwMDA2MDAwMDAw MGFjNDAsIGJsb2NrX2hhbmRsZXI9PHVuYXZhaWxhYmxlPiwgbWV0aG9kX2V4cGxvcmVyPTx1bmF2 YWlsYWJsZT4pIGF0IHZtX2luc25oZWxwZXIuYzowCiAgICBmcmFtZSAjMzU6IDB4MDAwMDAwMDEw MDIyZjY1OCBydWJ5YHZtX2V4ZWNfY29yZShlYz08dW5hdmFpbGFibGU+LCBpbml0aWFsPTx1bmF2 YWlsYWJsZT4pIGF0IGluc25zLmRlZjo3NTk6MTEKICAgIGZyYW1lICMzNjogMHgwMDAwMDAwMTAw MjQzMzg0IHJ1YnlgcmJfdm1fZXhlYyhlYz0weDAwMDAwMDAxMDY5Yjk0ODAsIG1qaXRfZW5hYmxl X3A9PHVuYXZhaWxhYmxlPikgYXQgdm0uYzowOjIxCiAgICBmcmFtZSAjMzc6IDB4MDAwMDAwMDEw MDI0MTA1YyBydWJ5YHJiX3ZtX2ludm9rZV9wcm9jKGVjPTB4MDAwMDAwMDEwNjliOTQ4MCwgcHJv Yz08dW5hdmFpbGFibGU+LCBhcmdjPTx1bmF2YWlsYWJsZT4sIGFyZ3Y9PHVuYXZhaWxhYmxlPiwg a3dfc3BsYXQ9PHVuYXZhaWxhYmxlPiwgcGFzc2VkX2Jsb2NrX2hhbmRsZXI9PHVuYXZhaWxhYmxl PikgYXQgdm0uYzowCiAgICBmcmFtZSAjMzg6IDB4MDAwMDAwMDEwMDFmZjM1OCBydWJ5YHRocmVh ZF9kb19zdGFydF9wcm9jKHRoPTB4MDAwMDAwMDEwNjliOTJkMCkgYXQgdGhyZWFkLmM6NzEyOjE2 CiAgICBmcmFtZSAjMzk6IDB4MDAwMDAwMDEwMDFmZWI2MCBydWJ5YHRocmVhZF9zdGFydF9mdW5j XzIgW2lubGluZWRdIHRocmVhZF9kb19zdGFydCh0aD0weDAwMDAwMDAxMDY5YjkyZDApIGF0IHRo cmVhZC5jOjczMToxOAogICAgZnJhbWUgIzQwOiAweDAwMDAwMDAxMDAxZmVhMzggcnVieWB0aHJl YWRfc3RhcnRfZnVuY18yKHRoPTB4MDAwMDAwMDEwNjliOTJkMCwgc3RhY2tfc3RhcnQ9PHVuYXZh aWxhYmxlPikgYXQgdGhyZWFkLmM6ODA2OjkKICAgIGZyYW1lICM0MTogMHgwMDAwMDAwMTAwMWZl NTU4IHJ1YnlgdGhyZWFkX3N0YXJ0X2Z1bmNfMSh0aF9wdHI9PHVuYXZhaWxhYmxlPikgYXQgdGhy ZWFkX3B0aHJlYWQuYzoxMDc3OjkKICAgIGZyYW1lICM0MjogMHgwMDAwMDAwMTkxNjA2MjZjIGxp YnN5c3RlbV9wdGhyZWFkLmR5bGliYF9wdGhyZWFkX3N0YXJ0ICsgMTQ4CihsbGRiKSBjb250ClBy b2Nlc3MgOTY1NTUgcmVzdW1pbmcKUHJvY2VzcyA5NjU1NSBzdG9wcGVkCiogdGhyZWFkICM5LCBu YW1lID0gJ3JlcHJvX3JhY2sucmI6NDMnLCBzdG9wIHJlYXNvbiA9IEVYQ19CQURfQUNDRVNTIChj b2RlPTIsIGFkZHJlc3M9MHgxMDdkYmJmYzApCiAgICBmcmFtZSAjMDogMHgwMDAwMDAwMTAwMGFm ODM0IHJ1Ynlgdm1fY2NzX2ZyZWUgYXQgaW1lbW8uaDoxNzA6NDkKICAgMTY3IAkgICAgICAgIGNv bnN0IFZBTFVFIG1hc2sgPSAoSU1FTU9fTUFTSyA8PCBGTF9VU0hJRlQpIHwgUlVCWV9UX01BU0s7 CiAgIDE2OCAJICAgICAgICBjb25zdCBWQUxVRSBleHBlY3RlZF90eXBlID0gKGltZW1vX3R5cGUg PDwgRkxfVVNISUZUKSB8IFRfSU1FTU87CiAgIDE2OSAJICAgICAgICAvKiBmaXhlZCBhdCBydW50 aW1lLiAqLwotPiAxNzAgCSAgICAgICAgcmV0dXJuIGV4cGVjdGVkX3R5cGUgPT0gKFJCQVNJQyhp bWVtbyktPmZsYWdzICYgbWFzayk7CiAgIDE3MSAJICAgIH0KICAgMTcyIAkgICAgZWxzZSB7CiAg IDE3MyAJICAgICAgICByZXR1cm4gMDsKVGFyZ2V0IDA6IChydWJ5KSBzdG9wcGVkLgoobGxkYikg Y29udApQcm9jZXNzIDk2NTU1IHJlc3VtaW5nClByb2Nlc3MgOTY1NTUgc3RvcHBlZAoqIHRocmVh ZCAjOSwgbmFtZSA9ICdyZXByb19yYWNrLnJiOjQzJywgc3RvcCByZWFzb24gPSBFWENfQkFEX0FD Q0VTUyAoY29kZT0yLCBhZGRyZXNzPTB4MTA3ZGJiZmMwKQogICAgZnJhbWUgIzA6IDB4MDAwMDAw MDEwMDBhZjgzNCBydWJ5YHZtX2Njc19mcmVlIGF0IGltZW1vLmg6MTcwOjQ5CiAgIDE2NyAJICAg ICAgICBjb25zdCBWQUxVRSBtYXNrID0gKElNRU1PX01BU0sgPDwgRkxfVVNISUZUKSB8IFJVQllf VF9NQVNLOwogICAxNjggCSAgICAgICAgY29uc3QgVkFMVUUgZXhwZWN0ZWRfdHlwZSA9IChpbWVt b190eXBlIDw8IEZMX1VTSElGVCkgfCBUX0lNRU1POwogICAxNjkgCSAgICAgICAgLyogZml4ZWQg YXQgcnVudGltZS4gKi8KLT4gMTcwIAkgICAgICAgIHJldHVybiBleHBlY3RlZF90eXBlID09IChS QkFTSUMoaW1lbW8pLT5mbGFncyAmIG1hc2spOwogICAxNzEgCSAgICB9CiAgIDE3MiAJICAgIGVs c2UgewogICAxNzMgCSAgICAgICAgcmV0dXJuIDA7ClRhcmdldCAwOiAocnVieSkgc3RvcHBlZC4K KGxsZGIpIGNvbnQKUHJvY2VzcyA5NjU1NSByZXN1bWluZwpQcm9jZXNzIDk2NTU1IHN0b3BwZWQK KiB0aHJlYWQgIzksIG5hbWUgPSAncmVwcm9fcmFjay5yYjo0MycsIHN0b3AgcmVhc29uID0gRVhD X0JBRF9BQ0NFU1MgKGNvZGU9MiwgYWRkcmVzcz0weDEwN2RiYmZjMCkKICAgIGZyYW1lICMwOiAw eDAwMDAwMDAxMDAwYWY4MzQgcnVieWB2bV9jY3NfZnJlZSBhdCBpbWVtby5oOjE3MDo0OQogICAx NjcgCSAgICAgICAgY29uc3QgVkFMVUUgbWFzayA9IChJTUVNT19NQVNLIDw8IEZMX1VTSElGVCkg fCBSVUJZX1RfTUFTSzsKICAgMTY4IAkgICAgICAgIGNvbnN0IFZBTFVFIGV4cGVjdGVkX3R5cGUg PSAoaW1lbW9fdHlwZSA8PCBGTF9VU0hJRlQpIHwgVF9JTUVNTzsKICAgMTY5IAkgICAgICAgIC8q IGZpeGVkIGF0IHJ1bnRpbWUuICovCi0+IDE3MCAJICAgICAgICByZXR1cm4gZXhwZWN0ZWRfdHlw ZSA9PSAoUkJBU0lDKGltZW1vKS0+ZmxhZ3MgJiBtYXNrKTsKICAgMTcxIAkgICAgfQogICAxNzIg CSAgICBlbHNlIHsKICAgMTczIAkgICAgICAgIHJldHVybiAwOwpUYXJnZXQgMDogKHJ1YnkpIHN0 b3BwZWQuCmBgYAoKTm90ZSB0aGF0IHdoZW4gY29udGludWluZywgaXQga2VlcHMgdHJhcHBpbmcg dGhlIHNhbWUgYWNjZXNzIHRvIDB4MTA3ZGJiZmMwLgoKQWZ0ZXIgYXBwbHlpbmcgdGhpcyBwYXRj aCwgaW5zdGVhZCBvZiBicmVha2luZyBmb3IgYEVYQ19CQURfQUNDRVNTYCwgaXQgYnJlYWtzIGZv ciBgU0lHQlVTYDoKCmBgYApQcm9jZXNzIDE4NzM2IHN0b3BwZWQKKiB0aHJlYWQgIzksIG5hbWUg PSAncmVwcm9fcmFjay5yYjo0MycsIHN0b3AgcmVhc29uID0gc2lnbmFsIFNJR0JVUwogICAgZnJh bWUgIzA6IDB4MDAwMDAwMDEwMDBhZjZjNCBydWJ5YHZtX2Njc19mcmVlIGF0IGltZW1vLmg6MTcw OjQ5CiAgIDE2NyAJICAgICAgICBjb25zdCBWQUxVRSBtYXNrID0gKElNRU1PX01BU0sgPDwgRkxf VVNISUZUKSB8IFJVQllfVF9NQVNLOwogICAxNjggCSAgICAgICAgY29uc3QgVkFMVUUgZXhwZWN0 ZWRfdHlwZSA9IChpbWVtb190eXBlIDw8IEZMX1VTSElGVCkgfCBUX0lNRU1POwogICAxNjkgCSAg ICAgICAgLyogZml4ZWQgYXQgcnVudGltZS4gKi8KLT4gMTcwIAkgICAgICAgIHJldHVybiBleHBl Y3RlZF90eXBlID09IChSQkFTSUMoaW1lbW8pLT5mbGFncyAmIG1hc2spOwogICAxNzEgCSAgICB9 CiAgIDE3MiAJICAgIGVsc2UgewogICAxNzMgCSAgICAgICAgcmV0dXJuIDA7ClRhcmdldCAwOiAo cnVieSkgc3RvcHBlZC4KKGxsZGIpIGNvbnQKUHJvY2VzcyAxODczNiByZXN1bWluZwpQcm9jZXNz IDE4NzM2IHN0b3BwZWQKKiB0aHJlYWQgIzksIG5hbWUgPSAncmVwcm9fcmFjay5yYjo0MycsIHN0 b3AgcmVhc29uID0gc2lnbmFsIFNJR0JVUwogICAgZnJhbWUgIzA6IDB4MDAwMDAwMDEwMDBhZjZj NCBydWJ5YHZtX2Njc19mcmVlIGF0IGltZW1vLmg6MTcwOjQ5CiAgIDE2NyAJICAgICAgICBjb25z dCBWQUxVRSBtYXNrID0gKElNRU1PX01BU0sgPDwgRkxfVVNISUZUKSB8IFJVQllfVF9NQVNLOwog ICAxNjggCSAgICAgICAgY29uc3QgVkFMVUUgZXhwZWN0ZWRfdHlwZSA9IChpbWVtb190eXBlIDw8 IEZMX1VTSElGVCkgfCBUX0lNRU1POwogICAxNjkgCSAgICAgICAgLyogZml4ZWQgYXQgcnVudGlt ZS4gKi8KLT4gMTcwIAkgICAgICAgIHJldHVybiBleHBlY3RlZF90eXBlID09IChSQkFTSUMoaW1l bW8pLT5mbGFncyAmIG1hc2spOwogICAxNzEgCSAgICB9CiAgIDE3MiAJICAgIGVsc2UgewogICAx NzMgCSAgICAgICAgcmV0dXJuIDA7ClRhcmdldCAwOiAocnVieSkgc3RvcHBlZC4KKGxsZGIpIGNv bnQKUHJvY2VzcyAxODczNiByZXN1bWluZwpQcm9jZXNzIDE4NzM2IHN0b3BwZWQKKiB0aHJlYWQg IzksIG5hbWUgPSAncmVwcm9fcmFjay5yYjo0MycsIHN0b3AgcmVhc29uID0gc2lnbmFsIFNJR0JV UwogICAgZnJhbWUgIzA6IDB4MDAwMDAwMDEwMDBhZjZjNCBydWJ5YHZtX2Njc19mcmVlIGF0IGlt ZW1vLmg6MTcwOjQ5CiAgIDE2NyAJICAgICAgICBjb25zdCBWQUxVRSBtYXNrID0gKElNRU1PX01B U0sgPDwgRkxfVVNISUZUKSB8IFJVQllfVF9NQVNLOwogICAxNjggCSAgICAgICAgY29uc3QgVkFM VUUgZXhwZWN0ZWRfdHlwZSA9IChpbWVtb190eXBlIDw8IEZMX1VTSElGVCkgfCBUX0lNRU1POwog ICAxNjkgCSAgICAgICAgLyogZml4ZWQgYXQgcnVudGltZS4gKi8KLT4gMTcwIAkgICAgICAgIHJl dHVybiBleHBlY3RlZF90eXBlID09IChSQkFTSUMoaW1lbW8pLT5mbGFncyAmIG1hc2spOwogICAx NzEgCSAgICB9CiAgIDE3MiAJICAgIGVsc2UgewogICAxNzMgCSAgICAgICAgcmV0dXJuIDA7ClRh cmdldCAwOiAocnVieSkgc3RvcHBlZC4KKGxsZGIpIGNvbnQKUHJvY2VzcyAxODczNiByZXN1bWlu ZwpQcm9jZXNzIDE4NzM2IHN0b3BwZWQKKiB0aHJlYWQgIzksIG5hbWUgPSAncmVwcm9fcmFjay5y Yjo0MycsIHN0b3AgcmVhc29uID0gc2lnbmFsIFNJR0JVUwogICAgZnJhbWUgIzA6IDB4MDAwMDAw MDEwMDBhZjZjNCBydWJ5YHZtX2Njc19mcmVlIGF0IGltZW1vLmg6MTcwOjQ5CiAgIDE2NyAJICAg ICAgICBjb25zdCBWQUxVRSBtYXNrID0gKElNRU1PX01BU0sgPDwgRkxfVVNISUZUKSB8IFJVQllf VF9NQVNLOwogICAxNjggCSAgICAgICAgY29uc3QgVkFMVUUgZXhwZWN0ZWRfdHlwZSA9IChpbWVt b190eXBlIDw8IEZMX1VTSElGVCkgfCBUX0lNRU1POwogICAxNjkgCSAgICAgICAgLyogZml4ZWQg YXQgcnVudGltZS4gKi8KLT4gMTcwIAkgICAgICAgIHJldHVybiBleHBlY3RlZF90eXBlID09IChS QkFTSUMoaW1lbW8pLT5mbGFncyAmIG1hc2spOwogICAxNzEgCSAgICB9CiAgIDE3MiAJICAgIGVs c2UgewogICAxNzMgCSAgICAgICAgcmV0dXJuIDA7ClRhcmdldCAwOiAocnVieSkgc3RvcHBlZC4K KGxsZGIpIGNvbnQKUHJvY2VzcyAxODczNiByZXN1bWluZwpgYGAKCkFuZCBjb250aW51aW5nIHBh c3QgdGhlIHRyYXBwZWQgc2lnbmFscyBub3cgYWxsb3dzIGV4ZWN1dGlvbiB0byBjb250aW51ZS4g SW4gZmFjdCwgaXQncyBjb252ZW5pZW50IHRvIHNraXAgdGhyb3VnaCBhbGwgU0lHQlVTIHNpZ25h bHMgYXV0b21hdGljYWxseSwgYnkgcnVubmluZyBzb21ldGhpbmcgbGlrZSBgcHJvY2VzcyBoYW5k bGUgLXAgdHJ1ZSAtcyBmYWxzZSBTSUdCVVNgIGluIGxsZGIgKGFzc3VtaW5nLCBvZiBjb3Vyc2Us IHRoYXQgdGhlIGJ1ZyB5b3UncmUgdHJ5aW5nIHRvIGRlYnVnIGlzbid0IGl0c2VsZiBjYXVzaW5n IGEgU0lHQlVTISkuCgpBbnl3YXksIEknZCBsaWtlIHRvIHNvbHZlIHRoaXMgcHJvYmxlbSBzb21l aG93IGJlY2F1c2UgSSdtIGRldmVsb3BpbmcgYSBDIGV4dGVuc2lvbiBhbmQgdHJ5aW5nIHRvIGVu c3VyZSBpdCdzIGhhbmRsaW5nIEdDIG1vdmVzIHByb3Blcmx5OyBteSBleHRlbnNpb24gZG9lcyBo YXZlIHNvbWUga2luZCBvZiBjcmFzaCBjYXVzZWQgYnkgbW92ZXMsIGJ1dCBJIGNvdWxkbid0IGRl YnVnIGl0IHdpdGhvdXQgdGhpcyBwYXRjaCBiZWNhdXNlIEkgd291bGQgZ2V0IHN0dWNrIGluIHRo aXMgZXhwZWN0ZWQgdHJhcCBpbnNpZGUgdGhlIGNvbXBhY3Rpb24gcmVhZCBiYXJyaWVyIGluc3Rl YWQuIFRoYW5rcyEKCi0tLUZpbGVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KMDAw MS1EaXNhYmxlLU1hY2gtZXhjZXB0aW9uLWhhbmRsZXJzLXdoZW4tcmVhZC1iYXJyaWVycy1pLnBh dGNoICg0LjkzIEtCKQoKCi0tIApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8KClVuc3Vic2Ny aWJlOiA8bWFpbHRvOnJ1YnktY29yZS1yZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1 YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5ydWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRp b25zL3J1YnktY29yZT4K