[#111472] [Ruby master Bug#19274] Error installing ruby 3.2.0 on RH 8 — "aalllop (Alberto Allegue) via ruby-core" <ruby-core@...>
Issue #19274 has been reported by aalllop (Alberto Allegue).
5 messages
2022/12/28
[#111508] Data support for versions before 3.2.0 — Eustáquio Rangel via ruby-core <ruby-core@...>
I was wondering that every piece of code (gems, etc) that use the new Data =
3 messages
2022/12/29
[ruby-core:111253] [Ruby master Feature#19104] Introduce the cache-based optimization for Regexp matching
From:
"mame (Yusuke Endoh)" <noreply@...>
Date:
2022-12-10 19:25:17 UTC
List:
ruby-core #111253
SXNzdWUgIzE5MTA0IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWFtZSAoWXVzdWtlIEVuZG9oKS4NDQoN DQoNDQptbWl6dXRhbmkgKE1pbm9ydSBNaXp1dGFuaSkgd3JvdGUgaW4gI25vdGUtNzoNDQo+IFJl Z2V4IGZ1enppbmcgZW5jb3VudGVyZWQgYW4gZWRnZS1jYXNlIHJlZ3Jlc3Npb246DQ0KDQ0KVGhh bmtzLiBUaGlzIGhhcyBub3RoaW5nIHRvIGRvIHdpdGggdGhpcyB0aWNrZXQuIEl0J3MgYSBkaWZm ZXJlbnQgaXNzdWUgY2F1c2VkIGJ5IG15IGNoYW5nZSBjb21taXQ6MWQyZDI1ZGNhZGRhMDc2NGYz MDMxODNhYzA5MWQwYzg3YjQzMjU2NiAuIA0NCg0NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NDQpGZWF0dXJlICMxOTEwNDogSW50cm9kdWNlIHRoZSBjYWNoZS1iYXNl ZCBvcHRpbWl6YXRpb24gZm9yIFJlZ2V4cCBtYXRjaGluZw0NCmh0dHBzOi8vYnVncy5ydWJ5LWxh bmcub3JnL2lzc3Vlcy8xOTEwNCNjaGFuZ2UtMTAwNTQ2DQ0KDQ0KKiBBdXRob3I6IG1ha2Vfbm93 X2p1c3QgKEhpcm95YSBGdWppbmFtaSkNDQoqIFN0YXR1czogT3Blbg0NCiogUHJpb3JpdHk6IE5v cm1hbA0NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NDQpSZWdleHAg bWF0Y2hpbmcgY2F1c2VzIGEgdGltZS1jb21wbGV4aXR5IGV4cGxvc2lvbiBwcm9ibGVtIGFzIGtu b3duIGFzIFJlRG9TIChbaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUmVEb1NdKGh0dHBz Oi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1JlRG9TKSkuIFJlRG9TIGhhcyBiZWNvbWUgc2VyaW91 cyB2dWxuZXJhYmlsaXR5IGluIG1hbnkgcGxhY2VzIGluIHJlY2VudCB5ZWFycywgYW5kIFJ1Ynkg aXMgbm8gZXhjZXB0aW9uLiBUaGUgZm9sbG93aW5nIGlzIHRoZSBpbmNvbXBsZXRlIGxpc3Qgb2Yg c3VjaCB2dWxuZXJhYmlsaXR5IHJlcG9ydHM6DQ0KDQ0KLSBbaHR0cHM6Ly9naXRodWIuY29tL3Np bmF0cmEvc2luYXRyYS9wdWxsLzE4MjNdKGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5hdHJhL3NpbmF0 cmEvcHVsbC8xODIzKQ0NCi0gW2h0dHBzOi8vZ2l0aHViLmNvbS9sb3N0aXNsYW5kL2ZhcmFkYXkt bmV0X2h0dHAvcHVsbC8yN10oaHR0cHM6Ly9naXRodWIuY29tL2xvc3Rpc2xhbmQvZmFyYWRheS1u ZXRfaHR0cC9wdWxsLzI3KQ0NCg0NClRoZXNlIHJlcG9ydHMgaGF2ZSBiZWVuIGFkZHJlc3NlZCBi eSBmaXhpbmcgdGhlIGxpYnJhcnkvc29mdHdhcmUgaW1wbGVtZW50YXRpb24uIEJ1dCwgaWYgdGhl IGxhbmd1YWdl4oCZcyBSZWdleHAgaW1wbGVtZW50YXRpb24gYmVjb21lcyBzYWZlLCB0aGUgdnVs bmVyYWJpbGl0eSBpcyBmdW5kYW1lbnRhbGx5IGFyY2hpdmVkLg0NCg0NCkZvciBhIGZldyBtb250 aHMsIFJ1YnkgaGFzIGltcGxlbWVudGVkIGEgUmVnZXhwIG1hdGNoaW5nIHRpbWVvdXQgKFtodHRw czovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTc4MzddKGh0dHBzOi8vYnVncy5ydWJ5LWxh bmcub3JnL2lzc3Vlcy8xNzgzNykpLiBJdCBpcyBvbmUgb2YgdGhlIHVzZWZ1bCBtZXRob2RzIGZv ciBwcmV2ZW50aW5nIFJlRG9TIHZ1bG5lcmFiaWxpdHksIGJ1dCBpdCBpcyBhIHByb2JsZW0gdGhh dCBzZXR0aW5nIGEgY29ycmVjdCB0aW1lb3V0IHZhbHVlIGlzIGhhcmQuIFRoaXMgdmFsdWUgaXMg ZGVwZW5kaW5nIG9uIGlucHV0IGxlbmd0aCwgZW52aXJvbm1lbnQsIG5ldHdvcmsgc3RhdHVzLCBz eXN0ZW0gbG9hZCwgZXRjLiBXaGVuIHRoZSB2YWx1ZSBpcyB0b28gc21hbGwsIGEgc3lzdGVtIG1h eSBiZSBicm9rZW4sIGJ1dCB3aGVuIHRoZSB2YWx1ZSBpcyB0b28gbGFyZ2UsIGl0IGlzIG5vdCB1 c2VmdWwgZm9yIHByZXZlbnRpbmcgUmVEb1MuDQ0KDQ0KVGhlcmVmb3JlLCBhcyBhIG5ldyB3YXkg dG8gcHJldmVudCBSZURvUywgd2UgcHJvcG9zZSB0byBpbnRyb2R1Y2UgY2FjaGUtYmFzZWQgb3B0 aW1pemF0aW9uIGZvciBSZWdleHAgbWF0Y2hpbmcuIEFzIENTIGZ1bmRhbWVudGFsIGtub3dsZWRn ZSwgYXV0b21hdG9uIG1hdGNoaW5nIHJlc3VsdCBkZXBlbmRzIG9uIHRoZSBwb3NpdGlvbiBvZiBp bnB1dCBhbmQgc3RhdGUuIEluIGFkZGl0aW9uLCBtYXRjaGluZyB0aW1lIGV4cGxvc2lvbiBpcyBj YXVzZWQgZm9yIHJlcGVhdGluZyB0byBhcnJpdmUgYXQgdGhlIHNhbWUgcG9zaXRpb24gYW5kIHN0 YXRlIG1hbnkgdGltZXMuIFRoZW4sIFJlRG9TIGNhbiBiZSBwcmV2ZW50ZWQgd2hlbiBwYWlycyBv ZiBwb3NpdGlvbiwgYW5kIHN0YXRlIGFycml2ZWQgb25jZSBpcyByZWNvcmRlZCAoY2FjaGVkKS4g SW4gZmFjdCwgdW5kZXIgc3VjaCBhbiBvcHRpbWl6YXRpb24sIGl0IGlzIGtub3duIGFzIHRoZSBt YXRjaGluZyB0aW1lIGNvbXBsZXhpdHkgaXMgbGluZWFyIGFnYWluc3QgaW5wdXQgc2l6ZSBbMV0u DQ0KDQ0KWzFdOiBEYXZpcywgSmFtZXMgQy4sIEZyYW5jaXNjbyBTZXJ2YW50LCBhbmQgRG9uZ3lv b24gTGVlLiAiVXNpbmcgc2VsZWN0aXZlIG1lbW9pemF0aW9uIHRvIGRlZmVhdCByZWd1bGFyIGV4 cHJlc3Npb24gZGVuaWFsIG9mIHNlcnZpY2UgKFJlRG9TKS4iICoyMDIxIElFRUUgc3ltcG9zaXVt IG9uIHNlY3VyaXR5IGFuZCBwcml2YWN5IChTUCkqLiBJRUVFLCAyMDIxLiBbaHR0cHM6Ly93d3cu Y29tcHV0ZXIub3JnL2NzZGwvcHJvY2VlZGluZ3MtYXJ0aWNsZS9zcC8yMDIxLzg5MzQwMGE1NDMv MW9hazk4OFRodk9dKGh0dHBzOi8vd3d3LmNvbXB1dGVyLm9yZy9jc2RsL3Byb2NlZWRpbmdzLWFy dGljbGUvc3AvMjAyMS84OTM0MDBhNTQzLzFvYWs5ODhUaHZPKQ0NCg0NClNlZSB0aGUgZm9sbG93 aW5nIGV4YW1wbGUuDQ0KDQ0KYGBgYmFzaA0NCiQgcnVieSAtLXZlcnNpb24NDQpydWJ5IDMuMi4w cHJldmlldzIgKDIwMjItMDktMDkgbWFzdGVyIDM1Y2ZjOWEzYmIpIFthcm02NC1kYXJ3aW4yMV0N DQoNDQokIHRpbWUgcnVieSAtZSAnL14oYXxhKSokLyA9fiAiYSIgKiAyOCArICJiIicNDQpydWJ5 IC1lICcvXihhfGEpKiQvID1+ICJhIiAqIDI4ICsgImIiJyAgOC40OXMgdXNlciAwLjA0cyBzeXN0 ZW0gOTglIGNwdSA4LjY2MyB0b3RhbA0NCg0NCiQgLi9taW5pcnVieSAtLXZlcnNpb24NDQpydWJ5 IDMuMi4wZGV2ICgyMDIyLTEwLTI3VDEzOjM5OjU2WiByZWNhY2hlIGJjNTliN2NjMWUpIFthcm02 NC1kYXJ3aW4yMV0NDQoNDQokIHRpbWUgLi9taW5pcnVieSAtZSAnL14oYXxhKSokLyA9fiAiYSIg KiAyOCArICJiIicNDQouL21pbmlydWJ5IC1lICcvXihhfGEpKiQvID1+ICJhIiAqIDI4ICsgImIi JyAgMC4wMXMgdXNlciAwLjAxcyBzeXN0ZW0gOCUgY3B1IDAuMzEwIHRvdGFsDQ0KYGBgDQ0KDQ0K SW4gdGhpcyBleGFtcGxlLCB1c2luZyBydWJ5IHYzLjIuMC1wcmV2aWV3MiwgbWF0Y2hpbmcgYC9e KGF8YSkqJC9gIGFnYWluc3QgYCJhIiAqIDI4ICsgImIiYCB0YWtlcyA4LjYgc2Vjb25kcyBiZWNh dXNlIG1hdGNoaW5nIHRpbWUgb2YgdGhpcyBSZWdleHAgdGFrZXMgZXhwb25lbnRpYWxseSBhZ2Fp bnN0IGAiYSIgKiBOICsgImIiYCBmb3JtIHN0cmluZy4gQnV0LCB1c2luZyB0aGUgcGF0Y2hlZCB2 ZXJzaW9uIG9mIHJ1YnksIGl0IHRha2VzIDAuMDEgc2Vjb25kcy4gSW5jcmVkaWJseSBpdCBpcyA4 NjAgdGltZXMgZmFzdGVyIGJlY2F1c2UgbWF0Y2hpbmcgaXMgZG9uZSBpbiBsaW5lYXIgdGltZS4N DQoNDQpCeSB0aGlzIG9wdGltaXphdGlvbiwgdGhlIG1hdGNoaW5nIHRpbWUgaXMgbGluZWFyIHRv IHRoZSBpbnB1dCBzaXplLiBJdCBzb3VuZHMgc2VjdXJlIGFuZCBnb29kLiBVbmZvcnR1bmF0ZWx5 LCB3aGVuIFJlZ2V4cCB1c2VzIHNvbWUgZXh0ZW5zaW9uIChlLmcuIGxvb2stYXJvdW5kLCBiYWNr LXJlZmVyZW5jZSwgc3ViZXhwcmVzc2lvbiBjYWxsKSwgdGhlIG9wdGltaXphdGlvbiBpcyBub3Qg YXBwbGllZC4gQWxzbywgdGhlIG9wdGltaXphdGlvbiBuZWVkcyBhIGJpdCBtb3JlIG1lbW9yeSBm b3IgY2FjaGluZy4gSG93ZXZlciwgd2UgaGF2ZSBhbHJlYWR5IGludmVzdGlnYXRlZCB0aGF0IHRo ZXkgYXJlIG5vdCBzbyB0aGUgbWFqb3IgcHJvYmxlbXMgKFNlZSB0aGUgIkxpbWl0YXRpb24iIHNl Y3Rpb24pLg0NCg0NCiMjIEltcGxlbWVudGF0aW9uDQ0KDQ0KVGhlIGJhc2ljIGNhY2hlIGltcGxl bWVudGF0aW9uIGlzIGNvbXBsZXRlIGF0IHRoaXMgdGltZSBhbmQgY2FuIGJlIGZvdW5kIGluIHRo ZSBmb2xsb3dpbmcgUHVsbCBSZXF1ZXN0Lg0NCg0NCltodHRwczovL2dpdGh1Yi5jb20vcnVieS9y dWJ5L3B1bGwvNjQ4Nl0oaHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9wdWxsLzY0ODYpDQ0K DQ0KU29tZSB0ZXN0cyBzZWVtIHRvIGJlIGZhaWxlZCwgYnV0IGl0IGlzIG5vIHByb2JsZW0hIEJl Y2F1c2UgdGhlIGZhaWxlZCB0ZXN0cyBhcmUgZm9yIFJlZ2V4cCB0aW1lb3V0LCBvcHRpbWl6YXRp b24gd29ya3MgY29ycmVjdGx5IGFuZCBzbyB0aGV5IGZhaWxlZCBhcyBleHBlY3RlZC4gT2YgY291 cnNlLCB3ZSBuZWVkIHRvIGZpeCB0aGVzZSB0ZXN0cyBiZWZvcmUgbWVyZ2luZy4NDQoNDQpJbXBs ZW1lbnRhdGlvbiBub3RlczoNDQoNDQotIEEgbnVsbC1jaGVjayBvbiBsb29wIGNhdXNlcyBub24t bGluZWFyIGJlaGF2aW9yLCBzbyB0aGUgZmllbGQgdG8gaW5kZXggdGhlIGxhdGVzdCBudWxsLWNo ZWNrIGl0ZW0gb24gdGhlIHN0YWNrIGlzIGFkZGVkIHRvIE9uaWdTdGFja1R5cGUuIChbaHR0cHM6 Ly9naXRodWIuY29tL3J1YnkvcnVieS9wdWxsLzY0ODYvZmlsZXMjZGlmZi00MzQ3NDYwZTM3OWNk OTcwYmEwYjg4YjRhY2IyMTVlYTYwY2JhZTMwODEyNDY3NWRlODgxMWVlZDM3NzM2N2FhUjgzMV0o aHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9wdWxsLzY0ODYvZmlsZXMjZGlmZi00MzQ3NDYw ZTM3OWNkOTcwYmEwYjg4YjRhY2IyMTVlYTYwY2JhZTMwODEyNDY3NWRlODgxMWVlZDM3NzM2N2Fh UjgzMSkpDQ0KLSBXaGVuIHRoZSBsb29wIGlzIG51bGwgYW5kIHRoaXMgbG9vcCBoYXMgYSBjYXB0 dXJlLCBtYXRjaGluZyBiZWhhdmVzIGFzIGEgbW9ub21hbmlhYy4gVG8gcmVwcm9kdWNlIHRoaXMg YmVoYXZpb3IsIGNhY2hlcyBpbiB0aGUgbG9vcCBpcyBjbGVhcmVkIGFzIG5lY2Vzc2FyeS4gKFto dHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L3B1bGwvNjQ4Ni9maWxlcyNkaWZmLWMzY2ZlMTll ZmZmMGNjNTE4MTM4NDc0MTM4NjA2N2I4MWVhZGIyNTA1YjhiOWIzZjk4MGQxMGY4MTUwMzczOTVS MzQzM10oaHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9wdWxsLzY0ODYvZmlsZXMjZGlmZi1j M2NmZTE5ZWZmZjBjYzUxODEzODQ3NDEzODYwNjdiODFlYWRiMjUwNWI4YjliM2Y5ODBkMTBmODE1 MDM3Mzk1UjM0MzMpKQ0NCkxpa2UgYSBmbGlwLWZsb3Agb3BlcmF0b3IsIHdlIGhvcGUgdG8gZHJv cCB0aGlzIGlmIHBvc3NpYmxlLiBCdXQgaXQgc3RpbGwgcmVtYWlucyBiYWNrd2FyZCBjb21wYXRp YmlsaXR5Lg0NCg0NCiMjIyBMaW1pdGF0aW9uDQ0KDQ0KQ2FjaGUtYmFzZWQgb3B0aW1pemF0aW9u IGlzIG5vdCBhcHBsaWVkIGluIHRoZSBmb2xsb3dpbmcgY2FzZXM6DQ0KDQ0KMS4gUmVnZXhwIHVz aW5nIHNvbWUgZXh0ZW5zaW9ucyAoYmFjay1yZWZlcmVuY2UgYW5kIHN1YmV4cHJlc3Npb24gY2Fs bCwgbG9vay1hcm91bmQsIGF0b21pYywgYWJzZW50IG9wZXJhdG9ycykgaXMgbm90IG9wdGltaXpl ZCBiZWNhdXNlIGl0IGlzIGltcG9zc2libGUgb3IgaGFyZC4gSG93ZXZlciwgaXQgbWF5IGJlIHBv c3NpYmxlIGZvciBsb29rLWFyb3VuZCBvcGVyYXRvcnMuDQ0KMi4gQSBib3VuZGVkIG9yIGZpeGVk IHRpbWVzIHJlcGV0aXRpb24gbmVzdGluZyBpbiBhbm90aGVyIHJlcGV0aXRpb24gKGUuZy4gYC8o YXsyLDN9KSovYCkuIEl0IGlzIGFuIGltcGxlbWVudGF0aW9uIGlzc3VlIGVudGlyZWx5LCBidXQg d2UgYmVsaWV2ZSBpdCBpcyBoYXJkIHRvIHN1cHBvcnQgdGhpcyBjYXNlIGNvcnJlY3RseS4NDQoz LiBCb3VuZGVkIG9yIGZpeGVkIHRpbWVzIHJlcGV0aXRpb24gaXMgdG9vIGxhcmdlIChlLmcuIGAv KGF8Yil7MTAwMDAwLDIwMDAwMH0vYCkuIFRoZSBjYWNoZSB0YWJsZSBzaXplIGlzIHByb3BvcnRp b25hbCB0byB0aGUgcHJvZHVjdCBvZiB0aGUgbnVtYmVyIG9mIGNhY2hlIHBvaW50cyBvZiByZWdl eCBhbmQgaW5wdXQgc2l6ZS4gSW4gdGhpcyBjYXNlLCBzaW5jZSB0aGUgbnVtYmVyIG9mIGNhY2hl IHBvaW50cyBiZWNvbWVzIHRvbyBsYXJnZSwgdGhlIG9wdGltaXphdGlvbiBjYW5ub3QgYmUgYXBw bGllZC4NDQoNDQpFeHBlcmltZW50cyB3ZXJlIGNvbmR1Y3RlZCB0byBpbnZlc3RpZ2F0ZSBob3cg dGhlc2UgbGltaXRhdGlvbnMgYXJlIHByb2JsZW1hdGljIGluIHByYWN0aWNlLiBXZSB1c2VkIE9i amVjdFNwYWNlIHRvIGNvbGxlY3QgUmVnZXhwcyBhbmQgaW52ZXN0aWdhdGUgd2hldGhlciB0aGV5 IGNvdWxkIGJlIG9wdGltaXplZCBhbmQgdGhlIG51bWJlciBvZiBjYWNoZSBwb2ludHMuIFJlZ2V4 cHMgd2VyZSBjb2xsZWN0ZWQgZnJvbSB0aGUgc3RhbmRhcmQgbGlicmFyeSwgV2VicmljaywgYW5k IFJhaWxzLiBTZWUgdGhlIGZvbGxvd2luZyBnaXN0IGZvciB0aGUgZGV0YWlscyAoW2h0dHBzOi8v Z2lzdC5naXRodWIuY29tL21ha2Vub3dqdXN0LzgzZTFlNzVhMmQ3ZGU4Yjk1NmU5M2JkYWMwMDRh MDZiXShodHRwczovL2dpc3QuZ2l0aHViLmNvbS9tYWtlbm93anVzdC84M2UxZTc1YTJkN2RlOGI5 NTZlOTNiZGFjMDA0YTA2YikpLg0NCg0NClRoZSBleHBlcmltZW50cyByZXN1bHQgaXMgc2hvd24g aW4gdGhlIGZvbGxvd2luZyB0YWJsZS4NDQoNDQp8IENvbGxlY3RlZCBmcm9tIHwgIyBSZWdleHAg fCAjIG5vbi1vcHRpbWl6YWJsZSB8IE1heGltdW0gbnVtYmVyIG9mIGNhY2hlIHBvaW50cyB8DQ0K fCAtLS0gfCAtLS0gfCAtLS0gfCAtLS0gfA0NCnwgc3RkbGliIHwgMTAwOSB8IDg2ICg4LjUyJSkg fCA4MSB8DQ0KfCBXZWJyaWNrIHwgMzU2IHwgNDQgKDEyLjM2JSkgfCAyMCB8DQ0KfCBSYWlscyB8 IDc1OSB8IDc0ICg3Ljc1JSkgfCAyNyB8DQ0KfCBUb3RhbCA8YnI+IChEdXBsaWNhdGlvbnMgYXJl IHJlZHVjZWQpIHwgMTUwNiB8IDExOCAoNy44NCUpIHwgODEgfA0NCg0NClRoaXMgcmVzdWx0IHNo b3dzIHRoYXQgdGhlIHBlcmNlbnRhZ2Ugb2Ygbm9uLW9wdGltaXphYmxlIFJlZ2V4cCBpcyBsZXNz IHRoYW4gMTAlLCBhbmQgdGhlIGFtb3VudCBvZiBtZW1vcnkgdXNlZCBmb3Igb3B0aW1pemF0aW9u IGlzIGFib3V0IDEwIHRpbWVzIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyAoODEvOCwgZm9yIGEg Yml0IGFycmF5KSBhdCB3b3JzdCBpbiB0aGlzIGNhc2UuIEl0IGlzIGNvbnNpZGVyZWQgdGhhdCBh IHN1ZmZpY2llbnQgbnVtYmVyIG9mIFJlZ2V4cCBjYW4gYmUgb3B0aW1pemVkIGluIHByYWN0aWNl Lg0NCg0NCiMjIFNwZWNpZmljYXRpb24NDQoNDQpUaGUgZGV0YWlsZWQgc3BlY2lmaWNhdGlvbiBo YXMgYmVlbiBmaXhlZCB5ZXQuIFdlIGhhdmUgc29tZSBpZGVhcyBhbmQgd2Ugd291bGQgbGlrZSB0 byBkaXNjdXNzIHRoZW0uDQ0KDQ0KLSBXaGVuIGlzIG9wdGltaXphdGlvbiBlbmFibGVkPyBDdXJy ZW50bHksIGl0IHR1cm5zIG9uIHdoZW4gdGhlIGJhY2t0cmFjayBjYXVzZXMgYXMgbWFueSBhcyB0 aGUgaW5wdXQgbGVuZ3RoLg0NCi0gSG93IHRoZSBudW1iZXIgb2YgY2FjaGUgcG9pbnRzIGlzIGFs bG93ZWQsIGFuZCBob3cgbWVtb3J5IGNhbiBiZSBhbGxvY2F0ZWQ/IEl0IGlzIG5vdCBkZXRlcm1p bmVkIGZvciBub3cuDQ0KLSBJZiB0aGUgYWJvdmUgcGFyYW1ldGVycyBjYW4gYmUgc3BlY2lmaWVk IGJ5IHVzZXJzLCBob3cgYXJlIHRoZXkgc3BlY2lmaWVkPyAodmlhIGNvbW1hbmQtbGluZSBmbGFn cywgb3Igc3RhdGljIC8gaW5zdGFuY2UgcGFyYW1ldGVycyBsaWtlIGBSZWdleHAjLnRpbWVvdXQ9 YCBhbmQgYFJlZ2V4cCN0aW1lb3V0PWApDQ0KLSBVbmxlc3MgdGhlIGlucHV0IHNpemUgaXMgdG9v IGxhcmdlLCB0aGUgYXZhaWxhYmlsaXR5IG9mIG9wdGltaXphdGlvbiBjYW4gYmUgZGV0ZXJtaW5l ZCBvbiBjb21waWxlLXRpbWUuIFNvLCB3ZSB3b3VsZCBsaWtlIHRvIGFkZCBhIG5ldyBmbGFnIHRv IFJlZ2V4cCB0byBkZXRlcm1pbmUgd2hldGhlciBhIGNhY2hlIGlzIGF2YWlsYWJsZS4gSXQgYmVj b21lcyBvbmUgb2YgdGhlIGNyaXRlcmlhIGZvciB3aGV0aGVyIFJlZ2V4cCBpcyBlZmZpY2llbnRs eSBleGVjdXRhYmxlIG9yIG5vdC4gV2UgYmVsaWV2ZSBpdCBoZWxwcyB1c2Vycy4gVGh1cywgd2hp Y2ggbGV0dGVyIGlzIHByZWZlcnJlZCBmb3IgdGhpcyBwdXJwb3NlPyBgbGAgKGxpbmVhcikgb3Ig YHJgIChyZWd1bGFyKSBzb3VuZHMgZ29vZCwgYnV0IEkgYW0gbm90IHN1cmUgd2hpY2ggaXMgdGhl IGJlc3QuDQ0KDQ0KVGhhbmsgeW91Lg0NCg0NCg0NCg0NCi0tIA0NCmh0dHBzOi8vYnVncy5ydWJ5 LWxhbmcub3JnLw0NCiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCiBydWJ5LWNvcmUgbWFpbGluZyBsaXN0IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3Jn CiBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5 LWxhbmcub3JnCiBydWJ5LWNvcmUgaW5mbyAtLSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFp bG1hbjMvcG9zdG9yaXVzL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLw==