[ruby-core:75441] [Ruby trunk Feature#12361] Proposal: add Geo::Coord class to standard library

From: zverok.offline@...
Date: 2016-05-10 09:43:14 UTC
List: ruby-core #75441
SXNzdWUgIzEyMzYxIGhhcyBiZWVuIHVwZGF0ZWQgYnkgVmljdG9yIFNoZXBlbGV2LgoKCllvdSBz
ZWUsIG15IHBvaW50IHdhcyBub3QgIkkgY3JlYXRlZCBhIGNvb2wgY29kZSwgbGV0cyBhZGQgaXQg
dG8gc3RkbGliISIKTXkgcG9pbnQgd2FzICJXZSBuZWVkIHN0YW5kYXJkIEdlbyBDb29yZGluYXRl
cyB0eXBlIGluIHN0ZGxpYiIgKGJlY2F1c2Ugb2YgPHJlYXNvbnM+KS4KSSd2ZSBqdXN0IHRob3Vn
aHQgaXQgd291bGQgYmUgZWFzaWVyIHRvIGRpc2N1c3Mgd2l0aCBzb21lIHNhbXBsZSBjb2RlIChi
dXQgSSBjYW4gdGhyb3VnaCBpdCBhd2F5LCBpZiBpdCBhZmZlY3RzIHRoZSBkaXNjdXNzaW9uKS4K
CkxldCdzIHNheSBpdCB0aGlzIHdheToKCioqUHJvcG9zYWw6KiogV2UgbmVlZCAiZ2VvIGNvb3Jk
aW5hdGVzIiB0eXBlIGluIHN0YW5kYXJkIGxpYnJhcnkuCgoqKlJlYXNvbjoqKgogCiogaW4gbW9k
ZXJuIGFwcGxpY2F0aW9ucyAod2ViLCBtb2JpbGUsIHNjaWVudGlmaWMgYW5kIHNvIG9uKSBpdCBp
cyBwcmV0dHkgY29tbW9uIHR5cGU7CiogdGhlcmUgYXJlIG1hbnkgaW5jb21wYXRpYmxlIGltcGxl
bWVudGF0aW9ucyBpbiBzZXZlcmFsIHBvcHVsYXIgbGlicmFyaWVzOwoqIGZvciBzdWNoIGEgYmFz
aWMgdHlwZSwgbm8gImV4dGVybmFsIGxpYnJhcnkiIHdvdWxkIGJlIG5ldmVyIHdpZGVseSBhY2Nl
cHRlZCAodGhpbmsgIm9rLCBjcmVhdGUgeW91ciBvd24gQysrIHN0cmluZyBjbGFzcyBhbmQgbWFr
ZSBpdCB3aWRlbHkgYWNjZXB0ZWQhIGJ1dCBpbiB0aGUgbWVhbnRpbWUsIGp1c3QgdXNlIGBjaGFy
KmAiIC0tIGBzdGQ6OnN0cmluZ2AgaGFkIHRvIGZpZ2h0IGZvciB5ZWFycyB0byBiZSB1c2VkIGlu
IHNvbWUgb2YgdGhlIGxpYnJhcmllcyk7CiogdGhlIGVhcmxpZXIgbmV3IHR5cGUgYmVjYW1lICJz
dGFuZGFyZCIsIHRoZSBiZXR0ZXIuCgpXaGV0aGVyIG15IGRlc2luZyBhbmQgaW1wbGVtZW50YXRp
b24gaXMgZ29vZCBvciBub3QsIGlzIG5vdCBleGFjdGx5IHJlbGV2YW50IHRvIHByb3Bvc2FsIC0t
IGl0IG1lYW50IHRvIGJlIHN0YXJ0aW5nIHBvaW50IGZvciBkaXNjdXNzaW9uLgoKQW5kIHRoYXQn
cyBpdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRmVhdHVyZSAj
MTIzNjE6IFByb3Bvc2FsOiBhZGQgR2VvOjpDb29yZCBjbGFzcyB0byBzdGFuZGFyZCBsaWJyYXJ5
Cmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xMjM2MSNjaGFuZ2UtNTg1NjAKCiog
QXV0aG9yOiBWaWN0b3IgU2hlcGVsZXYKKiBTdGF0dXM6IE9wZW4KKiBQcmlvcml0eTogTm9ybWFs
CiogQXNzaWduZWU6IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMj
IFByb3Bvc2FsCgpBZGQgYEdlbzo6Q29vcmRgIGNsYXNzIHRvIFJ1Ynkgc3RhbmRhcmQgbGlicmFy
eSwgcmVwcmVzZW50aW5nIGBbbGF0aXR1ZGUsIGxvbmdpdHVkZV1gIHBhaXIgKyBjb252ZW5pZW5j
ZSBtZXRob2RzLiBBZGQgYEdlb2Agc3RhbmRhcmQgbGlicmFyeSB3aXRoIGFkZGl0aW9uYWwgY2Fs
Y3VsYXRpb25zIGFuZCBjb252ZW5pZW5jZSBtZXRob2RzLgoKIyMgUmF0aW9uYWxlCgpJbiBtb2Rl
cm4gYXBwbGljYXRpb25zLCB3b3JraW5nIHdpdGggZ2VvZ3JhcGhpY2FsIGNvb3JkaW5hdGVzIGlz
IGZyZXF1ZW50LiBXZSBwcm9wb3NlIHRvIHRoaW5rIG9mIHN1Y2ggY29vcmRpbmF0ZXMgKG5hbWVs
eSwgYGxhdGl0dWRlLCBsb25naXR1ZGVgIHBhaXIpIGFzIG9mICJiYXNpYyIgdHlwZSB0aGF0IHNo
b3VsZCBiZSBzdXBwb3J0ZWQgYnkgc3RhbmRhcmQgbGlicmFyeSAtIHRoZSBzYW1lIHdheSBhcyB3
ZSBzdXBwb3J0IGBUaW1lYC9gRGF0ZWAvYERhdGVUaW1lYCBpbnN0ZWFkIG9mIGhhdmluZyBpdCBk
ZWZpbmVkCmJ5IHVzZXIvZ2Vtcy4KClRoaXMgdHlwZSBpcyB0b28gInNtYWxsIiB0byBiZSBkZWZp
bmVkIGJ5IHNlcGFyYXRlIGdlbSwgc28sIGFsbCBvZiBleGlzdGluZyBnZW8gZ2VtcyAoR2VvS2l0
LCBSR2VvLCBHZW9SdWJ5LCBHcmF0aWN1bGUgZXRjLikgZGVmaW5lIHRoZWlyIG93biBgTGF0TG5n
YCwgb3IgYExvY2F0aW9uYCwgb3IgYFBvaW50YCwgd2hhdGV2ZXIuCgpPbiBvdGhlciBoYW5kLCBB
UEkgZGVzaWduIGZvciB0aGlzICJzbWFsbCIgdHlwZSBpcyB2YWd1ZSBlbm91Z2ggZm9yIGFsbCB0
aG9zZSBzaW1pbGFyIHR5cGVzIHRvIGJlIGluY29tcGF0aWJsZSBhbmQgYnJlYWsgc21hbGwgaGFi
aXRzIGFuZCBjb252ZW50aW9ucyB3aGVuIHlvdSBjaGFuZ2UgZnJvbSBvbmUgZ2VvIGxpYnJhcnkg
dG8gYW5vdGhlciwgb3IgdHJ5IHRvIHVzZSBzZXZlcmFsCnNpbXVsdGFuZW91c2x5LgoKQWRkaXRp
b25hbHksIG1hbnkgZ2VtcyBzb21laG93IHdvcmtpbmcgd2l0aCBnZW8gY29vcmRpbmF0ZXMgKGZv
ciB3ZWF0aGVyLCBvciB0aW1lem9uZSwgb3IgYW5vdGhlciB0YXNrcykgZ2VuZXJhbGx5IHByZWZl
ciBub3QgdG8gaW50cm9kdWNlIHR5cGUsIGFuZCBqdXN0IHdvcmsgd2l0aCBgW2xhdCwgbG5nXWAg
YXJyYXksIHdoaWNoIGlzIG5vdCB2ZXJ5IGNvbnZlbmllbnQsIGZhaXRoZnVsbHkuCgpTbywgaGF2
aW5nICJnZW8gY29vcmRpbmF0ZXMiIGZ1bmN0aW9uYWxpdHkgaW4gc3RhbmRhcmQgbGlicmFyeSBz
ZWVtcyByZWFzb25hYmxlIGFuZCB2YWx1YWJsZS4KCiMjIEV4aXN0aW5nL3JlZmVyZW5jZSBzb2x1
dGlvbnMKClJ1Ynk6CgoqIFtHZW9LaXQ6OkxhdExuZ10oaHR0cDovL3d3dy5ydWJ5ZG9jLmluZm8v
Z2l0aHViL2dlb2tpdC9nZW9raXQvbWFzdGVyL0dlb2tpdC9MYXRMbmcpOwoqIFtSR2VvOjpGZWF0
dXJlOjpQb2ludF0oaHR0cDovL3d3dy5ydWJ5ZG9jLmluZm8vZ2Vtcy9yZ2VvL1JHZW8vRmVhdHVy
ZS9Qb2ludCkgKHdpdGggc2V2ZXJhbCAicHJpdmF0ZSIgaW1wbGVtZW50YXRpb24gY2xhc3Nlcyk7
IFJHZW8gaW1wbGVtZW50cyBmdWxsIFtPR0MgU2ltcGxlIEZlYXR1cmVzXShodHRwczovL2VuLndp
a2lwZWRpYS5vcmcvd2lraS9TaW1wbGVfRmVhdHVyZXMpIHNwZWNpZmljYXRpb24sIHNvLCBpdHMg
cG9pbnRzIGhhdmUgYHpgIGFuZCBgbWAgY29vcmRpbmF0ZXMsIHByb2plY3Rpb24gYW5kIG11Y2gg
bW9yZTsKKiBbR3JhdGljdWxlOjpMb2NhdGlvbl0oaHR0cDovL3d3dy5ydWJ5ZG9jLmluZm8vZ2l0
aHViL2NvbGxlY3RpdmVpZGVhL2dyYXRpY3VsZS9HcmF0aWN1bGUvTG9jYXRpb24pIChub3Qgc3Ry
aWN0bHkgYSBgW2xhdCxsbmddYCB3cmFwcGVyKTsKKiBbUm9zYW1hcnk6Ok5vZGVdKGh0dHA6Ly93
d3cucnVieWRvYy5pbmZvL2dlbXMvcm9zZW1hcnkvMC40LjQvUm9zZW1hcnkvTm9kZSkgKGZvbGxv
d3MgbmFtaW5nIGNvbnZlbnRpb24gb2YgdW5kZXJseWluZyBPcGVuU3RyZWV0TWFwIEFQSSk7CgpP
dGhlciBzb3VyY2VzOgoKKiBQeXRob246IFtnZW9weS5Qb2ludF0oaHR0cDovL2dlb3B5LnJlYWR0
aGVkb2NzLm9yZy9lbi9sYXRlc3QvI2dlb3B5LnBvaW50LlBvaW50KTsKKiBbRWxhc3RpY1NlYXJj
aF0oaHR0cHM6Ly93d3cuZWxhc3RpYy5jby9ibG9nL2dlby1sb2NhdGlvbi1hbmQtc2VhcmNoKSB1
c2VzIGhhc2ggd2l0aCAibGF0IiBhbmQgImxvbiIga2V5czsKKiBHb29nbGUgTWFwcyBbR2VvY29k
aW5nIEFQSV0oaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vbWFwcy9kb2N1bWVudGF0aW9u
L2dlb2NvZGluZy9pbnRybyNHZW9jb2RpbmdSZXNwb25zZXMpIHVzZXMgaGFzaCB3aXRoICJsYXQi
IGFuZCAibG5nIiBrZXlzOwoqIFBvc3RHSVM6IFtwcmV0dHkgY29tcGxpY2F0ZWRdKGh0dHA6Ly9w
b3N0Z2lzLm5ldC9kb2NzL21hbnVhbC0yLjIvdXNpbmdfcG9zdGdpc19kYm1hbmFnZW1lbnQuaHRt
bCNSZWZPYmplY3QpICBoYXMgX2dlb21ldHJpY2FsXyAocHJvamVjdGVkKSBhbmQgX2dlb2dyYXBo
aWNhbF8gKGxhdCwgbG5nKSBwb2ludHMgYW5kIHN0dWZmLgoKIyMgRGVzaWduIGRlY2lzaW9ucwoK
V2hpbGUgZGVzaWduaW5nIGBHZW9gIGxpYnJhcnksIG91ciByZWZlcmVuY2UgcG9pbnQgd2FzIHN0
YW5kYXJkIGBUaW1lYCBjbGFzcyAoYW5kLCB0byBsZXNzZXIgZXh0ZW50LCBgRGF0ZWAvYERhdGVU
aW1lYCkuIEl0IGhhcyB0aGlzIHJlc3BvbnNpYmlsaXRpZXM6CgoqIHN0b3JlcyBkYXRhIGluIHNp
bXBsZSBpbnRlcm5hbCBmb3JtOwoqIGhlbHBzIHRvIHBhcnNlIGFuZCBmb3JtYXQgZGF0YSB0byBh
bmQgZnJvbSBzdHJpbmdzOwoqIHByb3ZpZGVzIGVhc3kgYWNjZXNzIHRvIGxvZ2ljYWwgY29tcG9u
ZW50cyBvZiBkYXRhOwoqIGFsbG93cyBtb3N0IHNpbXBsZSBhbmQgdW5hbWJpZ3VvdXMgY2FsY3Vs
YXRpb25zLgoKKipNYWluIHR5cGUgbmFtZSoqOiBhcyBmYXIgYXMgd2UgY2FuIHNlZSwgdGhlcmUn
cyBubyBnb29kIHNpbmd1bGFyIG5hbWUgZm9yIGAobGF0LCBsbmcpYCBwYWlyIGNvbmNlcHQuIEFz
IG1lbnRpb25lZCBhYm92ZSwgdGhlcmUgY2FuIGJlIHNlZW4gbmFtZXMgbGlrZSBgTGF0TG5nYCwg
b3IgYExvY2F0aW9uYCwgb3IgYFBvaW50YDsgYW5kIGluIG5hdHVyYWwgbGFuZ3VhZ2UKanVzdCAi
Y29vcmRpbmF0ZXMiIHVzZWQgZnJlcXVlbnRseS4gV2UgcHJvcG9zZSB0aGUgbmFtZSBgQ29vcmRg
LCB3aGljaCBpcyBwcmV0dHkgc2hvcnQsIGVhc3kgdG8gcmVtZW1iZXIsIGRlbW9uc3RyYXRlcyBp
bnRlbnRpb25zIChhbmQgbG9va3MgbGlrZSBzaW5ndWxhciwgc28geW91IGNhbiBoYXZlICJvbmUg
Y29vcmQgb2JqZWN0IiBhbmQgImFycmF5IG9mIGNvb3JkcyIsCndoaWNoIGlzIG5vdCAxMDAlIGxp
bmd1aXN0aWNhbGx5IGNvcnJlY3QsIHlldCBjb252ZW5pZW50KS4gQWx0ZXJuYXRpdmUgYFBvaW50
YCBuYW1lIHNlZW1zIHRvIGJlIHRvbyBhbWJpZ291cywgYmVpbmcgdXNlZCBpbiBtYW55IGNvbnRl
eHRzLgoKYEdlbzo6Q29vcmRgIG9iamVjdCBpcyAqKmltbXV0YWJsZSoqLCB0aGVyZSdzIG5vIHNl
bWFudGljYWwgc2Vuc2UgaW4gYGxvY2F0aW9uLmxhdGl0dWRlID0gLi4uYCBvciBzb21ldGhpbmcg
bGlrZSB0aGlzLgoKKipVbml0cyoqOiBgR2VvYCBjYWxjdWxhdGlvbnMgKGp1c3QgbGlrZSBgVGlt
ZWAgY2FsY3VsYXRpb25zKSBwcm92aWRlIG5vIHVuaXRzIG9wdGlvbnMsIGp1c3QgcmV0dXJuaW5n
IG51bWJlcnMgbWVhc3VyZWQgaW4gImRlZmF1bHQiIHVuaXRzOiBtZXRyZXMgZm9yIGRpc3RhbmNl
cyAoYXMgdGhleSBhcmUgU0kgdW5pdCkgYW5kIGRlZ3JlZXMgZm9yIGF6aW11dGguIExhdGl0dWRl
IGFuZCBsb25naXR1ZGUgYXJlIHN0b3JlZCBpbiBkZWdyZWVzLCBidXQgcmFkaWFucyB2YWx1ZXMg
YWNjZXNzb3JzIGFyZSBwcm92aWRlZCAoYmVpbmcgd2lkZWx5IHVzZWQgaW4gZ2VvZGVzeSBtYXRo
KS4KCkFsbCBjb29yZGluYXRlcyBhbmQgY2FsY3VsYXRpb25zIGFyZSB0aG91Z2h0IHRvIGJlIGlu
IFdHUyA4NCBjb29yZGluYXRlcyByZWZlcmVuY2Ugc3lzdGVtLCBiZWluZyBjdXJyZW50IHN0YW5k
YXJkIGZvciBtYXBzIGFuZCBHUFMuCgpUaGVyZSdzIGludHJvZHVjZWQgKipjb25jZXB0IG9mIGds
b2JlKiogdXNlZCBpbnRlcm5hbGx5IGZvciBjYWxjdWxhdGlvbnMuIE9ubHkgZ2VuZXJpYyAoc3Bo
ZXJlKSBhbmQgRWFydGggZ2xvYmVzIGFyZSBpbXBsZW1lbnRlZCwgYnV0IGZvciAyMDE2IHdlIGZl
ZWwgbGlrZSBjdXJyZW50IGRlc2lnbiBvZiBiYXNpYyB0eXBlcyBzaG91bGQgdGFrZSBpbiBjb25z
aWRlcmF0aW9uCnBvc3NpYmlsaXR5IG9mIHdyaXRpbmcgUnVieSBzY3JpcHRzIGZvciBNYXJzIG1h
cHMgYW5hbHlzaXMuIE9ubHkgb25lIGdlb2Rlc3kgZm9ybXVsYSBpcyBpbXBsZW1lbnRlZCAoVmlu
Y2VudHksIGdlbmVyYWxseSBjb25zaWRlcmVkIG9uZSBvZiB0aGUgbW9zdCBwcmVjaXNlKSwgYXMg
Zm9yIHN0YW5kYXJkIGxpYnJhcnkgY2xhc3MgaXQgY29uc2lkZXJlZCB1bm5lY2Vzc2FyeSB0byBw
cm92aWRlIHVzZXIgd2l0aCBnZW9kZXN5IGZvcm11bGFlIG9wdGlvbnMuCgpObyAqKm1hcCBwcm9q
ZWN0aW9uKiogbWF0aCB3YXMgYWRkZWQgaW50byBjdXJyZW50IHByb3Bvc2FsLCBidXQgaXQgbWF5
IGJlIGEgZ29vZCBkaXJlY3Rpb24gZm9yIGZ1cnRoZXIgd29yay4gTm8gKiplbGV2YXRpb24qKiBk
YXRhIGNvbnNpZGVyZWQgZWl0aGVyLgoKIyMgUHJvcG9zYWwgZGV0YWlscwoKIyMjIGBHZW86OkNv
b3JkYCBjbGFzcwoKUmVwcmVzZW50cyBgW2xhdGl0dWRlLCBsb25naXR1ZGVdYCBwYWlyLiBMYXRp
dHVkZSBpcyAtOTAgdG8gKzkwIChkZWdyZWVzKS4gTG9uZ2l0dWRlIGlzIC0xODAgdG8gKzE4MC4K
CkNsYXNzIG1ldGhvZHM6CgoqIGBuZXcobGF0LCBsbmcpYCBjcmVhdGVzIGluc3RhbmNlIGZyb20g
dHdvIE51bWVyaWNzIChpbiBkZWdyZWVzKTsKKiBgbmV3KGxhdDosIGxuZzopYCBrZXl3b3JkIGFy
Z3VtZW50cyBmb3JtIG9mIGFib3ZlOwoqIGBuZXcobGF0ZDosIGxhdG06LCBsYXRzOiwgbGF0aDos
IGxuZ2Q6IGxuZ206LCBsbmdzOiBsbmdoOilgIGNyZWF0ZXMgaW5zdGFuY2UgZnJvbSBjb29yZGlu
YXRlcyBpbiAoZGVnLCBtaW4sIHNlYywgaGVtaXNwaGVyZSkgZm9ybTsgaGVtaXNwaGVyZXMgYXJl
ICJOIi8iUyIgZm9yIGxhdGl0dWRlIGFuZCAiVyIvRSIgZm9yIGxvbmdpdHVkZTsgYW55IGNvbXBv
bmVudCBleGNlcHQgZm9yIGRlZ3JlZXMgY2FuIGJlIG9taXR0ZWQ7IGlmIGhlbWlzcGhlcmUgaXMg
b21pdHRlZCwgaXQgaXMgZGVjaWRlZCBieSBkZWdyZWVzIHNpZ24gKGxhdDogcG9zaXRpdmUgaXMg
Ik4iLCBsbmc6IHBvc2l0aXZlIGlzICJFIik7CiogYGZyb21faChoYXNoKWAgY3JlYXRlcyBpbnN0
YW5jZSBmcm9tIGhhc2ggd2l0aCBgImxhdCJgIG9yIGAibGF0aXR1ZGUiYCBrZXkgYW5kIGAibG9u
ImAgb3IgYCJsbmciYCBvciBgImxvbmdpdHVkZSJgIGtleSAoY2FzZS1pbmRlcGVuZGVudCk7Ciog
YGZyb21fcmFkaWFucyhwaGksIGxhKWAgY3JlYXRlcyBpbnN0YW5jZSBmcm9tIHJhZGlhbiB2YWx1
ZXM7CiogYHN0cnBjb29yZGAgcGFyc2VzIHN0cmluZyBpbnRvIGNvb3JkaW5hdGVzIGJ5IHByb3Zp
ZGVkIHBhdHRlcm4gKHNlZSBiZWxvdyBmb3IgcGF0dGVybiBkZXNjcmlwdGlvbik7CiogYHBhcnNl
X2xsYCBwYXJzZXMgY29vcmRpbmF0ZXMgc3RyaW5nIGluIGAiZmxvYXQsIGZsb2F0ImAgZm9ybTsK
KiBgcGFyc2VfZG1zYCBwYXJzZXMgY29vcmRpbmF0ZXMgc3RyaW5nIGluIGBkIG0gcyBoLCBkIG0g
cyBoYCBmb3JtYXQgKGNvbnNpZGVyaW5nIHNldmVyYWwgd2lkZWx5IHVzZWQgc3ltYm9scyBmb3Ig
ZGVncmVlcywgbWludXRlcyBhbmQgc2Vjb25kcyk7CiogYHBhcnNlYCB0cmllcyB0byBwYXJzZSBz
dHJpbmcgaW50byBjb29yZGluYXRlcyBmcm9tIHZhcmlvdXMgZm9ybWF0cy4KCkluc3RhbmNlIG1l
dGhvZHM6CgoqIGBsYXRgIGFuZCBgbG5nYCwgcmV0dXJuaW5nIGBGbG9hdGBzLCBzaWduZWQ7Ciog
YGxhdGl0dWRlYCBhbmQgYGxvbmdpdHVkZWAgYXMgYW4gYWxpYXNlczsgYGxvbmAgYXMgYW4gYWRk
aXRpb25hbCBhbGlhc2VzIGZvciBsb25naXR1ZGU7CiogYGxhdGRgLCBgbGF0bWAsIGBsYXRzYCwg
YGxhdGhgOiBkZWdyZWUsIG1pbnV0ZSwgc2Vjb25kLCBoZW1pc3BoZXJlOyBgbGF0ZGAgYW5kIGBs
YXRtYCBhcmUgYEZpeG51bWAsIGBsYXRzYCBpcyBgRmxvYXRgLCBgbGF0aGAgaXMgIk4iLyJTIjsg
YWxsIG51bWJlcnMgYXJlIHVuc2lnbmVkOwoqIGBsbmdkYCwgYGxuZ21gLCBgbG5nc2AsIGBsbmdo
YDogdGhlIHNhbWUgZm9yIGxvbmdpdHVkZSAoaGVtaXNwaGVyZSBpcyAiVyIvIkUiKTsKKiBgbGF0
ZG1zKG5vaGVtaXNwaGVyZSA9IGZhbHNlKWAgcmV0dXJucyBgW2xhdGQsIGxhdG0sIGxhdHMsIGxh
dGhdYCB3aXRoIGBub2hlbWlzcGhlcmVgIHBhcmFtIGVxdWFsIHRvIGBmYWxzZWAsIGFuZCBgW8Kx
bGF0ZCwgbGF0bSwgbGF0c11gIHdpdGggYHRydWVgOyBzYW1lIHdpdGggYGxuZ2Rtc2AgZm9yIGxv
bmdpdHVkZTsKKiBgcGhpYCBhbmQgYM+GYCBpcyBsYXRpdHVkZSBpbiByYWRpYW5zIChoZWxwZnVs
IGZvciBtYXRoKSwgYGxhYCBvciBgzrtgIGlzIGxvbmdpdHVkZSBpbiByYWRpYW5zIChub3QgYGxh
bWJkYWAgdG8gbm90IGNvbmZ1c2Ugd2l0aCBLZXJuZWwgbWV0aG9kKTsKKiBgdG9fc2AgcmV0dXJu
aW5nIHN0cmluZyBsaWtlICI1MC4wMDQ0NDQsMzYuMjMxMzg5IiAoZ29vZCBmb3IgbWFwIFVSTHMg
Y29uc3RydWN0aW9uLCBmb3IgZXhhbXBsZSk7CiogYHRvX2gobGF0OiA6bGF0LCBsbmc6IDpsbmcp
YCBjb252ZXJ0cyBjb29yZCB0byBoYXNoICh3aXRoIGRlc2lyZWQga2V5IG5hbWVzKTsKKiBgdG9f
YWAgY29udmVydHMgY29vcmQgdG8gc2ltcGxlIGBbbGF0LCBsbmddYCBwYWlyOwoqIGBzdHJmY29v
cmQoZm9ybWF0c3RyKWAgZm9yIGNvbXBsZXggY29vcmRpbmF0ZSBmb3JtYXR0aW5nIChzZWUgYmVs
b3cgZm9yIGZvcm1hdCBzdHJpbmcgZGVzY3JpcHRpb24pOwoqIGBkaXN0YW5jZShvdGhlcilgIGNh
bGN1bGF0ZXMgZGlzdGFuY2UgdG8gYW5vdGhlciBwb2ludCAoaW4gbWV0cmVzKTsKKiBgYXppbXV0
aChvdGhlcilgIGNhbGN1bGF0ZXMgZGlyZWN0aW9uIHRvIHRhcmdldCAoaW4gZGVncmVlcyk7Ciog
YGVuZHBvaW50KGRpcmVjdGlvbiwgYXppbXV0aClgIGNhbGN1bGF0ZXMgZmluYWwgcG9pbnQgb2Yg
dGhlIGxpbmUgb2YgYGRpc3RhbmNlYCBtZXRyZXMgZ29pbmcgaW4gYGF6aW11dGhgIGRpcmVjdGlv
biBmcm9tIGN1cnJlbnQgcG9pbnQuCgojIyMjIGBzdHJwY29vcmRgL2BzdHJmY29vcmRgCgpFeGFt
cGxlOgoKfn5+cnVieQpraGFya2l2LnN0cmZjb29yZCgnJWxhdGR1wrAlbGF0beKAsiVsYXRz4oCz
ICVsYXRoLCAlbG5nZHXCsCVsbmdt4oCyJWxuZ3PigLMgJWxuZ2gnKQojID0+ICI1MMKwMOKAsjE2
4oCzIE4sIDM2wrAxM+KAsjUz4oCzIEUiCn5+fgoKRGlyZWN0aXZlczoKCiogYCVsYXRgIC0gZnVs
bCBsYXRpdHVkZSwgZmxvYXQ7IGNhbiBiZSBmb3JtYXR0ZWQgd2l0aCBtb3JlIGNvbnRyb2wgbGlr
ZSBgJS40bGF0YCAoZm91ciBkaWdpdHMgYWZ0ZXIgcG9pbnQpIG9yIGAlK2xhdGAgKGV4cGxpY2l0
IHBsdXMgc2lnbiBmb3IgcG9zaXRpdmUgbGF0aXR1ZGVzKTsKKiBgJWxhdGRgIC0gbGF0aXR1ZGUg
ZGVncmVlcywgdW5zaWduZWQsIGludGVnZXIKKiBgJWxhdGRzYCAtIGxhdGl0dWRlIGRlZ3JlZXMs
IHNpZ25lZAoqIGAlbGF0bWAgLSBsYXRpdHVkZSBtaW51dGVzLCB1bnNpZ25lZCwgaW50ZWdlcgoq
IGAlbGF0c2AgLSBsYXRpdHVkZSBzZWNvbmRzLCB1bnNpZ25lZCwgaW50ZWdlciwgYnV0IGNhbiBi
ZSBmb3JtYXR0ZWQgYXMgZmxvYXQ6IGAlLjJsYXRzYAoqIGAlbGF0aGAgLSBsYXRpdHVkZSBoZW1p
c3BoZXJlLCBvbmUgbGV0dGVyICgiTiIvIlMiKQoqIGAlbG5nYCwgYCVsbmdkYCwgYCVsbmdkc2As
IGAlbG5nc2AsIGAlbG5naGAsIGAlbG5nSGAgLSBzYW1lIGZvciBsb25naXR1ZGUKKiBgJSVgIGxp
dGVyYWwgYCVgIHNpZ24KCiMjIyBDdXJyZW50IGltcGxlbWVudGF0aW9uCgpQcm9wb3NlZCBpbXBs
ZW1lbnRhdGlvbiBjYW4gYmUgZm91bmQgYXQgaHR0cHM6Ly9naXRodWIuY29tL3p2ZXJvay9nZW9f
Y29vcmQuCgpJdCB3YXMgY3JlYXRlZCB3aXRoIHRob3VnaHRzIG9mIHN0YW5kYXJkIGxpYnJhcnks
IHNvLCBhbGwgZG9jcyBhcmUgaW4gUkRvYyBmb3JtYXQsIGFuZCB0ZXN0cy9zcGVjcyBhcmUgaW4g
bXNwZWMtY29tcGF0aWJsZSByc3BlYyBmbGF2b3VyLgoKCgoKLS0gCmh0dHBzOi8vYnVncy5ydWJ5
LWxhbmcub3JnLwoKVW5zdWJzY3JpYmU6IDxtYWlsdG86cnVieS1jb3JlLXJlcXVlc3RAcnVieS1s
YW5nLm9yZz9zdWJqZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5vcmcv
Y2dpLWJpbi9tYWlsbWFuL29wdGlvbnMvcnVieS1jb3JlPgo=

In This Thread

Prev Next