[ruby-core:97019] [Ruby master Feature#16511] Staged warnings for keyword arguments

From: daniel@...42.com
Date: 2020-01-29 14:16:31 UTC
List: ruby-core #97019
SXNzdWUgIzE2NTExIGhhcyBiZWVuIHVwZGF0ZWQgYnkgRGFuMDA0MiAoRGFuaWVsIERlTG9ybWUp
Lg0KDQoNCj4gRldJVywgSSBhbHNvIGRpc2N1c3NlZCB0byBrZWVwIGAqKmVtcHR5X2hhc2hgIGlu
IHRoZSBjYXNlIGl0J3MgcGFzc2VkIGJ5IHRoZSB1c2VyIGluIGh0dHBzOi8vYnVncy5ydWJ5LWxh
bmcub3JnL2lzc3Vlcy8xNjUxOSNub3RlLTUNCg0KQWgsIEkgbWlzc2VkIHRoYXQgb25lLiBJIHdh
cyBhY3R1YWxseSBpbnNwaXJlZCB0byBrZWVwIHRoZSBiZWhhdmlvciBieSB5b3VyIFBSIGluICMx
NjQ2My4gSSBoYXZlbid0IHBvc3RlZCB0aGF0IG11Y2ggdGhlcmUgYnV0IHRoYXQncyBiZWNhdXNl
IEkgdmVyeSBtdWNoIGFncmVlIHdpdGggd2hhdCB5b3UncmUgc2F5aW5nLiBJIGNhbid0IHRoYW5r
IHlvdSBlbm91Z2ggZm9yIHRoZSBlZmZvcnRzIHlvdSd2ZSBiZWVuIHB1dHRpbmcgaW4gdGhpcy4N
Cg0KPiBKZXJlbXkgc2VlbXMgY2xlYXJseSBhZ2FpbnN0IGl0LCBhbmQgSSBnZXQgdGhhdCBgKipl
bXB0eV9oYXNoYCBhbHdheXMgcGFzc2luZyBub3RoaW5nIGlzIHNpbXBsZXIgdG8gdW5kZXJzdGFu
ZC4NCg0KTm93IHRoYXQgSSB1bmRlcnN0YW5kIHRoZSB2bV9hcmdzIGNvZGUgSSd2ZSBnYWluZWQg
YSBiZXR0ZXIgYXBwcmVjaWF0aW9uIGZvciBKZXJlbXkncyB2aWV3cG9pbnQuIFRoZSBzcGxhdHRp
bmcgb2YgYW4gZW1wdHkgaGFzaCBpbnRlcmFjdHMgaW4gYSByZWFsbHkgbmFzdHkgd2F5IHdpdGgg
YCpyZXN0YCBhbmQgYCoqa3dyZXN0YCBkZWxlZ2F0aW9uLiBCdXQgSSBkb24ndCB0aGluayB0aGF0
IGFsd2F5cyBwYXNzaW5nIG5vdGhpbmcgaXMgc2ltcGxlci4uLg0KDQpgYGBydWJ5DQpkZWYgZm9v
KG9wdHMpOyBwIG9wdHM7IGVuZA0Kb3B0cyA9IHt9DQpvcHRzWzprXSA9IDEgaWYgc29tZV9jb25k
aXRpb24NCmZvbygqKm9wdHMpDQpgYGANCg0KSW4gMi43IHRoaXMgcmVzdWx0cyBpbiBhIHdhcm5p
bmcgZGVwZW5kaW5nIG9uIGBzb21lX2NvbmRpdGlvbmAsIHRoYXQncyByZWFsbHkgbm90IHNpbXBs
ZSB0byB1bmRlcnN0YW5kLiAgOi0vDQoNCj4gSSdtIG5vdCBzdXJlIHdoYXQncyB0aGUgZGVzaWdu
IG9mIHlvdXIgcHJvcG9zYWwuDQo+IFdoYXQgZG8geW91IGNoYW5nZSB0byBrZWVwICphcmdzLWRl
bGVnYXRpb24gd29ya2luZz8NCg0KV2VsbCwgdGhlIGRlc2lnbiBpcyBkZXNjcmliZWQgaW4gZXh0
cmVtZWx5IHRob3JvdWdoIGRldGFpbCBhYm92ZSwgYWx0aG91Z2ggSSByZWFsaXplIGl0J3MgYSBt
YXNzaXZlIHdhbGwgb2YgdGV4dCB0byByZWFkLiBJIGd1ZXNzIHlvdSBjYW4gYm9pbCBpdCBkb3du
IHRvIGhhdmluZyB0aGUga2V5d29yZCBmbGFnIHNldCBvbiBfZXZlcnlfIHNwbGF0dGVkIGhhc2gg
aW5zdGVhZCBvZiBqdXN0IHdoZW4gYWNjZXB0aW5nIGEgYCpyZXN0YCBhcmd1bWVudC4gVGhhdCB3
YXkgaXMgbXVjaCBtb3JlIGxvZ2ljYWw7IGl0J3MgYSBjb2hlcmVudCBwYXJ0IG9mIHRoZSBkZXNp
Z24gaW5zdGVhZCBvZiBhIHNwZWNpYWwtY2FzZSBoYWNrIChhcyBleHBsYWluZWQgaW4gdGhlIHBy
b3Bvc2FsIGRlc2NyaXB0aW9uKS4NCg0KPiBJdCBzZWVtcyB1bmxpa2VseSBSdWJ5IGNvcmUgd291
bGQgYWNjZXB0IHRvIGJhY2twb3J0IGFueXRoaW5nIG1vcmUgY29tcGxpY2F0ZWQgdGhhbiAjMTY0
NjMgdG8gMi43Lg0KDQpEZXNwaXRlIGhhdmluZyBkZW1vbnN0cmFibGUgYmVuZWZpdHM/IFRoYXQg
d291bGQgbWFrZSBtZSBzYWQuIEVuYWJsaW5nIHJ1YnkyX2tleXdvcmRzIGJ5IGRlZmF1bHQgZ2V0
cyA5MCUgb2YgdGhlIGJlbmVmaXQgZm9yIDEwJSBvZiB0aGUgY29tcGxleGl0eSwgYnV0IEkgdGhp
bmsgaXQncyB3b3J0aCBnb2luZyB0byAxMDAlLCBhbmQgSSd2ZSBkb25lIGl0Lg0KDQotLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpGZWF0dXJlICMxNjUxMTogU3RhZ2Vk
IHdhcm5pbmdzIGZvciBrZXl3b3JkIGFyZ3VtZW50cw0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5v
cmcvaXNzdWVzLzE2NTExI2NoYW5nZS04NDEwOA0KDQoqIEF1dGhvcjogRGFuMDA0MiAoRGFuaWVs
IERlTG9ybWUpDQoqIFN0YXR1czogT3Blbg0KKiBQcmlvcml0eTogTm9ybWFsDQoqIEFzc2lnbmVl
OiANCiogVGFyZ2V0IHZlcnNpb246IA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQ0KQXMgYW4gYWx0ZXJuYXRpdmUgdG8gIzE2NDYzIGFuZCAjMTY0OTQgSSdkIGxpa2Ug
dG8gcHJvcG9zZSB0aGlzIGFwcHJvYWNoLCB3aGljaCBJIGJlbGlldmUgYWxsb3dzIGEgKiptdWNo
KiogbW9yZSBmbGV4aWJsZSBwYXRoIGZvciBtaWdyYXRpb24gb2Yga2V5d29yZCBhcmd1bWVudHMu
DQoNClRoZSBpZGVhIGlzIHRvIGluZGljYXRlIGZvciBldmVyeSBIYXNoIG9iamVjdCBpZiBpdCdz
IGludGVuZGVkIHRvIHJlcHJlc2VudCBhIF9rZXl3b3JkXyBoYXNoIG9yIGEgX2RhdGFfIGhhc2gu
IFRoaXMgZXh0cmEgaW5mb3JtYXRpb24gaXMgdGhlbiB1c2VkIHRvIGdlbmVyYXRlIG1vcmUgZ3Jh
bnVsYXIgd2FybmluZ3MgZGVwZW5kaW5nIG9uIGEgdXNlcidzIGNvbXBhdGliaWxpdHkgbmVlZHMu
DQoNClRoZSAia2V5d29yZG5lc3MiIG9mIGEgaGFzaCB3b3VsZCBiZSBpbmRpY2F0ZWQgYnkgYSAq
KmZsYWcqKiBvbiB0aGUgSGFzaCBvYmplY3Q7IHRoaXMgaXMgYWxyZWFkeSBpbXBsZW1lbnRlZCBp
biAyLjcgYW5kIGlzIHRoZSBhcHByb2FjaCBmYXZvcmVkIGJ5IE1hdHouIExldCdzIGNhbGwgdGhp
cyBmbGFnZ2VkIGhhc2ggYSAiS3dIYXNoIiwgYW5kIGEgbm9uLWZsYWdnZWQgaGFzaCBpcyBqdXN0
IGEgIkhhc2giLiBOb3RlOiB0aGlzIGNvdWxkIGFsc28gYmUgaW1wbGVtZW50ZWQgdmlhIGEgKipz
dWJjbGFzcyoqIG9mIEhhc2ggKEkgcGVyc29uYWxseSBmYXZvciB0aGlzIG9iamVjdC1vcmllbnRl
ZCBhcHByb2FjaCkgd2hpY2ggd2FzIHRoZSBvcmlnaW5hbCBpZGVhIGluIHRoaXMgcHJvcG9zYWwu
DQoNCkknbGwgdHJ5IHRvIGRlc2NyaWJlIHRoZSBpZGVhIGluIGRldGFpbCBieSBicmVha2luZyBp
dCBkb3duIGludG8gZmlndXJhdGl2ZSBzdGVwcy4gKFNraXAgdG8gIlB1dHRpbmcgaXQgYWxsIHRv
Z2V0aGVyIiBmb3IgdGhlIFRMO0RSIHZlcnNpb24uKSBJbWFnaW5lIHN0YXJ0aW5nIHdpdGggcnVi
eSAyLjYgYW5kIHRoZW46DQoNCiMjIyBTdGVwIDENCg0KV2hlbiBhIGRvdWJsZS1zcGxhdCBvciBh
IGJyYWNlLWxlc3MgaGFzaCBpcyB1c2VkLCBpbnN0ZWFkIG9mIGEgSGFzaCBpdCBjcmVhdGVzIGEg
S3dIYXNoLg0KDQpgYGBydWJ5DQpkZWYgZm9vKHgpIHggZW5kDQpmb28oazoxKS5jbGFzcyAgICAg
ICM9PiBLd0hhc2gNCmZvbygqKmhhc2gpLmNsYXNzICAgIz0+IEt3SGFzaA0KW2s6MV0ubGFzdC5j
bGFzcyAgICAjPT4gS3dIYXNoDQpbKipoYXNoXS5sYXN0LmNsYXNzICM9PiBLd0hhc2gNCnsqKmhh
c2h9LmNsYXNzICAgICAgIz0+IEhhc2gNCmBgYA0KDQpBdCB0aGlzIHBvaW50IHdlIGhhdmVuJ3Qg
aW50cm9kdWNlZCBhbnkgcmVhbCBjaGFuZ2UuIEV2ZXJ5dGhpbmcgdGhhdCB3b3JrZWQgYmVmb3Jl
IGlzIHN0aWxsIHdvcmtpbmcgdGhlIHNhbWUgd2F5Lg0KKFdpdGggYSBtaW5vciBleGNlcHRpb24g
aWYgdXNpbmcgdGhlIHN1YmNsYXNzIGFwcHJvYWNoOiB1bnVzdWFsIGNvZGUgbGlrZSBga3cuY2xh
c3MgPT0gSGFzaGAgd291bGQgbm93IHJldHVybiBmYWxzZS4pDQoNCiMjIyBTdGVwIDINCg0KV2hl
biB0aGVyZSBpcyBhbWJpZ3VpdHkgZHVlIHRvIG9wdGlvbmFsIHZzIGtleXdvcmQgYXJndW1lbnQs
IHdlIHJlbHkgb24gdGhlIGxhc3QgYXJndW1lbnQgYmVpbmcgSGFzaCBvciBLd0hhc2ggdG8gZGlz
YW1iaWd1YXRlLg0KDQpgYGBydWJ5DQpkZWYgZm9vKHg9bmlsLCAqKmt3KQ0KICBbeCxrd10NCmVu
ZA0KZm9vKHtrOjF9KSAjPT4gW3trOjF9LHt9XQ0KZm9vKGs6MSkgICAjPT4gW25pbCx7azoxfV0N
CmBgYA0KDQpUaGlzIGlzIHRoZSBfbWluaW11bV8gYW1vdW50IG9mIGluY29tcGF0aWJpbGl0eSBy
ZXF1aXJlZCB0byBzb2x2ZSBBTEwgYnVncyBwcmV2aW91c2x5IHJlcG9ydGVkIHdpdGgga2V5d29y
ZCBhcmd1bWVudHMuICgjODA0MCwgIzgzMTYsICM5ODk4LCAjMTA4NTYsICMxMTIzNiwgIzExOTY3
LCAjMTIxMDQsICMxMjcxNywgIzEyODIxLCAjMTMzMzYsICMxMzY0NywgIzE0MTMwLCBldGMuKSAN
Cg0KVGhlIHdhcm5pbmdzIGZvciB0aGlzIHdvdWxkIGJlIGFib3V0IGFuIGltcGVuZGluZyBfY2hh
bmdlIG9mIGJlaGF2aW9yXyBpbiB0aGUgX25leHQgcnVieSB2ZXJzaW9uXywgd2hlcmUgYGZvbyh7
azoxfSlgIGlzIG5vIGxvbmdlciBpbnRlcnByZXRlZCBhcyBrZXl3b3JkIGFyZ3VtZW50Lg0KDQoj
IyMgU3RlcCAzDQoNCkludHJvZHVjZSBhZGRpdGlvbmFsIGluY29tcGF0aWJpbGl0eSB0byBpbXBy
b3ZlIGNsYXJpdHkgb2YgZGVzaWduLiBIZXJlIHdlIGRlcHJlY2F0ZSB0aGUgYXV0b21hdGljIGNv
bnZlcnNpb24gb2YgSGFzaCB0byBrZXl3b3JkIGFyZ3VtZW50OyBvbmx5IEt3SGFzaCBpcyBhY2Nl
cHRlZC4gV2l0aCBhIGRlcHJlY2F0aW9uL3dhcm5pbmcgcGhhc2UsIG9mIGNvdXJzZS4gVGhlICJh
dXRvbWF0aWMiIHByb21vdGlvbiBvZiBhIEt3SGFzaCB0byBhIGtleXdvcmQgYXJndW1lbnQgZm9s
bG93cyB0aGUgc2FtZSBydWxlcyBhcyBhIEhhc2ggaW4gMi42OyBzaW5jZSB0aGUgS3dIYXNoIGlz
IGNvbmNlcHR1YWxseSBpbnRlbmRlZCB0byByZXByZXNlbnQga2V5d29yZCBhcmd1bWVudHMsIHRo
aXMgY29udmVyc2lvbiBtYWtlcyBzZW5zZSBpbiBhIHdheSB0aGF0IGEgbm9ybWFsIGRhdGEgSGFz
aCBkb2Vzbid0LiBXZSd2ZSB0YWtlbiB0aGUgImxhc3QgcG9zaXRpb25hbCBoYXNoIiBjb25jZXB0
IGFuZCBzcGxpdCBpdCBpbnRvICJjb25jZXB0dWFsbHkgYSBoYXNoIiBhbmQgImNvbmNlcHR1YWxs
eSBrZXl3b3JkIGFyZ3VtZW50cyIuIF9Nb3N0IGltcG9ydGFudGx5XywgYWxsIHRoZSBjaGFuZ2Vz
IHJlcXVpcmVkIHRvIHNpbGVuY2UgdGhlc2Ugd2FybmluZ3MgYXJlIF9jb21wYXRpYmxlIHdpdGgg
Mi42Xy4NCg0KYGBgcnVieQ0KZGVmIGZvbyh4LCAqKmt3KTsgZW5kDQpmb28oazoxKSAgICAgICMg
QXJndW1lbnRFcnJvciBiZWNhdXNlIHggbm90IHNwZWNpZmllZA0KZm9vKDEsIHtrOjF9KSAjIEFy
Z3VtZW50RXJyb3IgYmVjYXVzZSB0b28gbWFueSBhcmd1bWVudHM7IEhhc2ggY2Fubm90IGJlIGNv
bnZlcnRlZCB0byBLd0hhc2hzDQpvcHRzID0gW2s6MV0uZmlyc3QNCmZvbyhvcHRzKSAgICAgIyBv
cHRzIGlzIGEgS3dIYXNoIHRoZXJlZm9yZSB1c2VkIGFzIGtleXdvcmQgYXJndW1lbnQ7IEFyZ3Vt
ZW50RXJyb3IgYmVjYXVzZSB4IG5vdCBzcGVjaWZpZWQNCmZvbygxLCBvcHRzKSAgIyBvcHRzIGlz
IGEgS3dIYXNoIHRoZXJlZm9yZSB1c2VkIGFzIGtleXdvcmQgYXJndW1lbnQNCmBgYA0KDQpUaGUg
d2FybmluZ3MgZm9yIHRoaXMgd291bGQgYmUgYWJvdXQgdXBjb21pbmcgX2Vycm9yc18gZm9yIHBv
c2l0aW9uYWwgYXJndW1lbnRzOiBgZm9vKHg6MSlgIHdpbGwgYmUgImdpdmVuIDAsIGV4cGVjdGVk
IDEiIGFuZCBgZm9vKDEse3g6Mn0pYCB3aWxsIGJlICJnaXZlbiAyLCBleHBlY3RlZCAxIi4gU3Vj
aCBlcnJvcnMgYXJlIHVzZWZ1bCB3aGVuIGRldmVsb3BpbmcsIGJ1dCB0aGVyZSBpcyBubyBuZXcg
ZnVuY3Rpb25hbGl0eSBwZXIgc2UsIGp1c3QgYSBzdHJpY3RlciBzeW50YXguIFNvIGl0J3MgbGVz
cyBpbXBvcnRhbnQgdG8gZXNjYWxhdGUgdG8gYW4gZXJyb3IgYW5kIHdlIGNhbiBrZWVwIHRoZSB3
YXJuaW5ncyBmb3IgbG9uZ2VyIHRoYW4gU3RlcCAyLg0KDQpBdCB0aGlzIHBvaW50IHdlIGhhdmUg
YWNoaWV2ZWQgX2FsbW9zdC1mdWxsXyAqKmR5bmFtaWMqKiBrZXl3b3JkIHNlcGFyYXRpb24sIGFz
IG9wcG9zZWQgdG8gdGhlIGN1cnJlbnQgX2FsbW9zdC1mdWxsXyAqKnN0YXRpYyoqIGFwcHJvYWNo
LiBJIHdhbnQgdG8gbWFrZSB0aGUgcG9pbnQgaGVyZSB0aGF0LCB5ZXMsIGtleXdvcmQgYXJndW1l
bnRzICoqYXJlKiogc2VwYXJhdGVkLCBpdCdzIGp1c3QgYSBkaWZmZXJlbnQgcGFyYWRpZ20uIFdp
dGggc3RhdGljIHNlcGFyYXRpb24sIGEga2V5d29yZCBhcmd1bWVudCBpcyBkZWZpbmVkIGxleGlj
YWxseSBieSBhIGRvdWJsZS1zcGxhdC4gV2l0aCBkeW5hbWljIHNlcGFyYXRpb24sIGEga2V5d29y
ZCBhcmd1bWVudCBpcyB3aGVuIHRoZSBsYXN0IGFyZ3VtZW50IGlzIGEgS3dIYXNoLiB7e05vdGU6
IEknbSBzYXlpbmcgImFsbW9zdC1mdWxsIiBiZWNhdXNlIEt3SGFzaCBpcyBub3QgcHJvbW90ZWQg
dG8ga2V5d29yZHMgaW4gYGRlZiBmb28oYSwqKmt3KTtlbmQ7Zm9vKHg6MSlgIGFuZCBiZWNhdXNl
IHN0YXRpYyBrZXl3b3JkcyBhcmUgYXV0by1kZW1vdGVkIHRvIHBvc2l0aW9uYWwgaW4gYGRlZiBm
b28oYSk7ZW5kO2Zvbyh4OjEpYH19DQoNCkFueSBmb3JtIG9mIGRlbGVnYXRpb24gd29ya3Mgd2l0
aCBubyBjaGFuZ2UgcmVxdWlyZWQuIFRoaXMgcHJlc2VydmVzIHRoZSBiZWhhdmlvciBvZiAyLjYg
YnV0IG9ubHkgZm9yIEt3SGFzaCBvYmplY3RzLiBUaGlzIGlzIHNpbWlsYXIgdG8gaGF2aW5nIDIu
NyB3aXRoIGBydWJ5Ml9rZXl3b3Jkc2AgZW5hYmxlZCBieSBkZWZhdWx0LiBCdXQgYWxzbyBkaWZm
ZXJlbnQgaW4gc29tZSB3YXlzOyBtb3N0IG5vdGFibHkgaXQgYWxsb3dzIHRoZSBjYXNlIHNob3du
IGluICMxNjQ5NCB0byB3b3JrIGJ5IGRlZmF1bHQ6DQoNCmBgYHJ1YnkNCmFycmF5ID0gW3g6MV0N
CmFycmF5LnB1c2goeDoyKQ0KYXJyYXkubWFweyB8eDp8IHggfSAjPT4gWzEsMl0NClt7eDozfV0u
bWFweyB8eDp8IHggfSAjPT4gYnV0IHRoaXMgd2FybnMsIGFzIGl0IHNob3VsZA0KYGBgDQoNClRo
ZSBjdXJyZW50IGFwcHJvYWNoIGRvZXMgbm90IGFsbG93IHRoaXMgdG8gd29yayBhdCBhbGwuIFRo
ZSBzb2x1dGlvbiBwcm9wb3NlZCBpbiAjMTY0OTQgaGFzIGFsbCB0aGUgc2FtZSBmbGF3cyBhcyBI
YXNoLWJhc2VkIGtleXdvcmQgYXJndW1lbnRzOyB3aGF0IGhhcHBlbnMgdG8gYGVhY2h7IHx4PW5p
bCwqKmt3fCB9YCA/IFRoaXMgc29sdXRpb24gYWxsb3dzIGEgS3dIYXNoIHRvIGJlIGNvbnZlcnRl
ZCB0by4uLiBrZXl3b3Jkcy4gVmVyeSB1bnN1cnByaXNpbmcuDQoNCkdpdmVuIHRoYXQgcnVieSBp
cyBhIGR5bmFtaWNhbGx5LXR5cGVkIGxhbmd1YWdlIEkgZmVlbCB0aGF0IGR5bmFtaWMgdHlwaW5n
IG9mIGtleXdvcmRzIGlmIGEgbW9yZSBuYXR1cmFsIGZpdCB0aGFuIHN0YXRpYyB0eXBpbmcuIEJ1
dCBJIHJlYWxpemUgdGhhdCBtYW55IGRpc2FncmVlIHdpdGggdGhhdCwgd2hpY2ggaXMgd2h5IHdl
IGNvbnRpbnVlIHRvLi4uDQoNCiMjIyBTdGVwIDQNCg0KSW50cm9kdWNlIGFkZGl0aW9uYWwgaW5j
b21wYXRpYmlsaXR5IHRvIHJlYWNoIHN0YXRpYy9sZXhpY2FsIHNlcGFyYXRpb24gb2Yga2V5d29y
ZCBhcmd1bWVudHMuIEhlcmUgd2UgcmVxdWlyZSB0aGF0IGV2ZW4gYSBLd0hhc2ggc2hvdWxkIGJl
IHBhc3NlZCB3aXRoIGEgZG91YmxlLXNwbGF0IGluIG9yZGVyIHRvIHF1YWxpZnkgYXMgYSBrZXl3
b3JkIGFyZ3VtZW50Lg0KDQpgYGBydWJ5DQpkZWYgYmFyKCoqa3cpDQplbmQNCmRlZiBmb28oKipr
dykNCiAgYmFyKGt3KSAgICM9PiBlcnJvcjsgS3dIYXNoIHBhc3NlZCB3aXRob3V0ICoqDQogIGJh
cigqKmt3KSAjPT4gb2sNCmVuZA0KYGBgDQoNCkF0IHRoaXMgcG9pbnQgd2UndmUgcmVhY2hlZCB0
aGUgc2FtZSBiZWhhdmlvciBhcyAyLjcuIERlbGVnYXRpb24gbmVlZHMgdG8gYmUgZml4ZWQsIGJ1
dCBhcyB3ZSBrbm93IHRoZSBjaGFuZ2VzIHJlcXVpcmVkIHRvIHNpbGVuY2UgdGhlc2Ugd2Fybmlu
Z3MgYXJlICoqbm90KiogY29tcGF0aWJsZSB3aXRoIDIuNiBvciAyLjcuIFRoZSB3YXJuaW5ncyBm
b3IgdGhpcyBhcmUgX2Z1bmRhbWVudGFsbHkgbm90IGZpeGFibGVfIGFzIGxvbmcgYXMgU3RlcCAy
IGhhcyBub3QgYmVlbiBmaXhlZC4gVGhpcyBpcyB0aGUgY29yZSByZWFzb24gd2h5IGBydWJ5Ml9r
ZXl3b3Jkc2AgaXMgY3VycmVudGx5IG5lY2Vzc2FyeSBpbiAyLjcuIFNvIGluIHRoZSB2ZXJzaW9u
IGFmdGVyIDIuNyB3ZSBjYW4gZW5hYmxlIHRoZXNlIHdhcm5pbmdzIGJ5IGRlZmF1bHQgc2luY2Ug
aXQncyBub3cgcG9zc2libGUgdG8gZml4IGRlbGVnYXRpb24gdG8gdXNlIHN0YXRpYyBrZXl3b3Jk
cy4gRXhjZXB0IHRoYXQgZ2VtIGF1dGhvcnMgd2hvIG5lZWQgdG8gc3RheSBjb21wYXRpYmxlIHdp
dGgg4omkMi43IGNhbm5vdCB5ZXQgbWFrZSB0aGVzZSBjaGFuZ2VzLCBzbyB3ZSBpbnRyb2R1Y2Ug
YSB3YXkgdG8gX3NpbGVuY2UgKipvbmx5KiogdGhlc2UgIlN0ZXAgNCIgd2FybmluZ3NfLCBmb3Ig
cGVvcGxlIHdobyBuZWVkIHRvIHJlbWFpbiBjb21wYXRpYmxlIHdpdGgg4omkMi43LiBBbmQgd2Ug
a2VlcCB0aGVtIGFzIHdhcm5pbmdzIGluc3RlYWQgb2YgZXJyb3JzIHVudGlsIHJ1YnkgMi43IGlz
IEVPTC4NCg0KU28gaW5zdGVhZCBvZiBoYXZpbmcgdG8gdXBkYXRlIGEgYnVuY2ggb2YgcGxhY2Vz
IHdpdGggYHJ1YnkyX2tleXdvcmRzYCBqdXN0IHRvIHRlbXBvcmFyaWx5IHNpbGVuY2Ugd2Fybmlu
Z3MsIGl0J3MgYSBzaW5nbGUgZmxhZyBsaWtlIGBXYXJuaW5nWzpydWJ5M19rZXl3b3Jkc11gLiBP
bmNlIHJ1YnkgMi43IGlzIEVPTCB0aGVzZSBiZWNvbWUgY29udHJvbGxlZCBieSBgV2FybmluZ1s6
ZGVwcmVjYXRlZF1gIHdoaWNoIHRlbGxzIHBlb3BsZSB0aGV5ICoqaGF2ZSoqIHRvIGZpeCB0aGVp
ciBjb2RlLiBXaGljaCBpcyBqdXN0IGxpa2UgdGhlIGV2ZW50dWFsIGRlcHJlY2F0aW9uIG9mIGBy
dWJ5Ml9rZXl3b3Jkc2AsIGp1c3Qgd2l0aG91dCB0aGUgYnVzeSB3b3JrIG9mIGFkZGluZyBgcnVi
eTJfa2V5d29yZHNgIHN0YXRlbWVudHMgaW4gdGhlIGZpcnN0IHBsYWNlLiBCdXQgYWdhaW4sIHRo
aXMgaW50cm9kdWNlcyBubyBuZXcgZnVuY3Rpb25hbGl0eSwganVzdCBhIHN0cmljdGVyIHN5bnRh
eC4gU28gd2UgY2FuIHBsYXkgbmljZSBhbmQgbGVhdmUgdGhlIHdhcm5pbmdzIGZvciBhIGZldyB5
ZWFycyBiZWZvcmUgY2hhbmdpbmcgdG8gZXJyb3JzLg0KDQpUaGUgcXVlc3Rpb24gcmVtYWlucyBv
ZiBob3cgdG8gaGFuZGxlICMxNjQ5NCBoZXJlLiBFaXRoZXIgZGlzYWxsb3cgaXQgZW50aXJlbHks
IGJ1dCBJIHRoaW5rIHRoYXQgd291bGQgYmUgYSBzaGFtZS4gT3IganVzdCBsaWtlICMxNjQ5NCBz
dWdnZXN0cywgYWxsb3cgaGFzaCB1bnBhY2tpbmcgaW4gbm9uLWxhbWJkYSBQcm9jLiBFeGNlcHQg
dGhhdCBub3cgaXQgY2FuIGJlIGEgS3dIYXNoIGluc3RlYWQgb2YgYSBIYXNoLCB3aGljaCBhdCBs
ZWFzdCBwcmVzZXJ2ZXMgZHluYW1pYyBrZXl3b3JkIHNlcGFyYXRpb24uDQoNCiMjIFB1dHRpbmcg
aXQgYWxsIHRvZ2V0aGVyIChUTDtEUikNCg0KVGhlIGlkZWEgaXMgX25vdF8gdG8gcmVpbXBsZW1l
bnQga2V5d29yZCBhcmd1bWVudCBzZXBhcmF0aW9uOyBhbGwgdGhhdCBpcyBuZWVkZWQgaXMgdG8g
aW1wbGVtZW50IHRoZSB0aGluZ3MgYWJvdmUgdGhhdCBhcmUgbm90IGluIDIuNzoNCiogQ3JlYXRl
IGEgS3dIYXNoIG9iamVjdCBmb3IgYnJhY2UtbGVzcyBhbmQgZG91YmxlLXNwbGF0dGVkIGhhc2hl
cy4NCiogRGlmZmVyZW50aWF0ZSB0aGUgdmFyaW91cyB0eXBlcyBvZiB3YXJuaW5ncyBhbmQgYWxs
b3cgdG8gdG9nZ2xlIG9uL29mZiBzZXBhcmF0ZWx5DQogICogU3RlcCAyIHdhcm5pbmdzIF9tdXN0
XyBiZSBmaXhlZCBub3c7IGNhbm5vdCB0b2dnbGUgb2ZmDQogICogU3RlcCAzIHdhcm5pbmdzIF9z
aG91bGRfIGJlIGZpeGVkIG5vdyBidXQgeW91IGRvbid0IGFic29sdXRlbHkgbmVlZCB0byB1cGdy
YWRlIHlvdXIgZ2VtcyBqdXN0IGZvciB0aGF0DQogICogU3RlcCA0IHdhcm5pbmdzIF9zaG91bGRf
IGJlIGZpeGVkIGluIG5leHQgdmVyc2lvbiB1bmxlc3MgeW91IG5lZWQgdG8gc3VwcG9ydCDiiaQy
LjcNCg0KSSB0aGluayB0aGF0J3MgYWxsLCByZWFsbHkuLi4NCg0KIyMjIFByb3MNCiogQ2xlYW5l
ciB3YXkgdG8gc29sdmUgIzE2NDk0DQoqIEJldHRlciBjb21wYXRpYmlsaXR5IChhdCBsZWFzdCB1
bnRpbCAyLjYgaXMgRU9MKQ0KICAgKiBkZWxlZ2F0aW9uDQogICAqIHN0b3JpbmcgYW4gYXJndW1l
bnQgbGlzdCB0aGF0IGVuZHMgd2l0aCBhIEt3SGFzaA0KICAgKiBkZXN0cnVjdHVyaW5nIGl0ZXJh
dGlvbiAoIzE2NDk0KQ0KKiBXZSBjYW4gYXZvaWQgdGhlICJ1bmZvcnR1bmF0ZSBjb3JuZXIgY2Fz
ZSIgYXMgZGVzY3JpYmVkIGluIHRoZSBbcmVsZWFzZSBub3Rlc10oaHR0cHM6Ly93d3cucnVieS1s
YW5nLm9yZy9lbi9uZXdzLzIwMTkvMTIvMTIvc2VwYXJhdGlvbi1vZi1wb3NpdGlvbmFsLWFuZC1r
ZXl3b3JkLWFyZ3VtZW50cy1pbi1ydWJ5LTMtMC8pDQogICAqIGluIDIuNyBvbmx5IGRvIG5vdCBv
dXRwdXQgIlN0ZXAgNCIgd2FybmluZ3MsIGxlYXZlIGRlbGVnYXRpb24gbGlrZSBpdCB3YXMNCiAg
ICogaW4gMi44IHRoZSAiU3RlcCAzIiB3YXJuaW5ncyBoYXZlIGJlZW4gZml4ZWQgYW5kIGEgSGFz
aCB3aWxsIG5vdCBiZSBjb252ZXJ0ZWQgdG8ga2V5d29yZCBhcmd1bWVudHMNCiAgICogZGVsZWdh
dGlvbiBjYW4gbm93IHNhZmVseSBiZSBmaXhlZCB0byB1c2UgdGhlIGAqKmAgc3ludGF4DQoqIHJ1
YnkyX2tleXdvcmRzIGlzIG5vdCByZXF1aXJlZCwgd2hpY2ggaXMgZGVzaXJhYmxlIGJlY2F1c2UN
CiAgICogaXQncyBhIGhpZGRlbiBmbGFnIF9oYWNrXw0KICAgKiBpdCByZXF1aXJlcyB0byBjaGFu
Z2UgdGhlIGNvZGUgbm93LCBhbmQgY2hhbmdlIGl0IF9hZ2Fpbl8gd2hlbiBydWJ5Ml9rZXl3b3Jk
cyBpcyBkZXByZWNhdGVkOyB0d2ljZSB0aGUgd29yazsgdHdpY2UgdGhlIGdlbSB1cGdyYWRlcw0K
ICAgKiBpdCB3YXMgc3VwcG9zZWQgdG8gYmUgdXNlZCBvbmx5IGZvciBwZW9wbGUgd2hvIG5lZWQg
dG8gc3VwcG9ydCAyLjYgb3IgYmVsb3csIGJ1dCBpdCdzIGJlaW5nIG1pc3VuZGVyc3Rvb2QgYXMg
YW4gYWNjZXB0YWJsZSB3YXkgdG8gZml4IGRlbGVnYXRpb24gaW4gZ2VuZXJhbA0KICAgKiB0aGVy
ZSdzIHRoZSBub24temVybyByaXNrIHRoYXQgcnVieTJfa2V5d29yZHMgd2lsbCBuZXZlciBiZSBy
ZW1vdmVkLCBsZWF2aW5nIHVzIHdpdGggYSBwZXJtYW5lbnQgImhhY2sgbW9kZSINCiAgICAgICog
ZHluYW1pYyBrZXl3b3JkcyBhcmUgYnkgZmFyIHByZWZlcmFibGUgdG8gc3VwcG9ydGluZyBydWJ5
Ml9rZXl3b3JkcyBmb3JldmVyDQoqIExpa2VseSBfYmV0dGVyIHBlcmZvcm1hbmNlXywgYXMgdGhl
IEt3SGFzaCBjbGFzcyBjYW4gYmUgb3B0aW1pemVkIHNwZWNpZmljYWxseSBmb3IgdGhlIGNoYXJh
Y3RlcmlzdGljcyBvZiBrZXl3b3JkIGFyZ3VtZW50cy4NCiogTW9yZSBmbGV4aWJsZSBtaWdyYXRp
b24NCiAgICogQWxsb3cgbW9yZSB0aW1lIHRvIHVwZ3JhZGUgdGhlIGhhcmQgc3R1ZmYgaW4gU3Rl
cCA0DQogICAqIENhbiByZWFjaCB0aGUgX3NhbWVfIGdvYWwgYXMgdGhlIGN1cnJlbnQgc3RhdGlj
IGFwcHJvYWNoDQogICAqIExhcmdlciAic3VwcG9ydCB6b25lIiBodHRwczovL3hrY2QuY29tLzIy
MjQvDQogICAqIEluc3RlYWQgb2Ygd2lkZS1yYW5naW5nIGluY29tcGF0aWJpbGl0aWVzIGFsbCBh
dCBvbmNlLCB0aGVyZSdzIHRoZSBfcG9zc2liaWxpdHlfIG9mIG1ha2luZyBpdCBmaW5lci1ncmFp
bmVkIGFuZCBtb3JlIGdyYWR1YWwNCiAgICAgICogcnVieWlzdHMgY2FuIF9jaG9vc2VfIHRvIG1p
Z3JhdGUgYWxsIGF0IG9uY2Ugb3IgaW4gc21hbGxlciBjaHVua3MNCiAgICogSXQgaGVkZ2VzIHRo
ZSByaXNrcyBieSBrZWVwaW5nIG1vcmUgcG9zc2liaWxpdGllcyBvcGVuIGZvciBub3cuDQogICAq
IEl0IGFsbG93cyB0byBjb3Atb3V0IGF0IFN0ZXAgMyBpZiBTdGVwIDQgdHVybnMgb3V0IHRvbyBo
YXJkIGJlY2F1c2UgaXQgYnJlYWtzIHRvbyBtdWNoIHN0dWZmDQoNCiMjIyBDb25zDQoqIEl0IGFs
bG93cyB0byBjb3Atb3V0IGF0IFN0ZXAgMyBpZiBTdGVwIDQgdHVybnMgb3V0IHRvbyBoYXJkIGJl
Y2F1c2UgaXQgYnJlYWtzIHRvbyBtdWNoIHN0dWZmDQoNCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdz
LnJ1YnktbGFuZy5vcmcvDQoKVW5zdWJzY3JpYmU6IDxtYWlsdG86cnVieS1jb3JlLXJlcXVlc3RA
cnVieS1sYW5nLm9yZz9zdWJqZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1YnktbGFu
Zy5vcmcvY2dpLWJpbi9tYWlsbWFuL29wdGlvbnMvcnVieS1jb3JlPgo=

In This Thread

Prev Next