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

From: shevegen@...
Date: 2016-05-10 07:40:14 UTC
List: ruby-core #75432
SXNzdWUgIzEyMzYxIGhhcyBiZWVuIHVwZGF0ZWQgYnkgUm9iZXJ0IEEuIEhlaWxlci4KCgpXb3Vs
ZCBpdCBhY3R1YWxseSBub3QgYmUgYmV0dGVyIHRvIGluc3RlYWQgYWRkIG9uZSBvciB0d28gbWV0
aG9kcyB0byB0aW1lLCBkYXRlIG9yIGRhdGV0aW1lPwoKSSBndWVzcyB5b3VyIHByb3Bvc2FsIHdv
dWxkIGFkZCBhIGRlZmF1bHQgbmV3IHRvcGxldmVsIG5hbWVzcGFjZSBHZW8sIHdoaWNoIEkgYW0g
bm90IHN1cmUKaXMgYSBnb29kIGlkZWEgcGVyIHNlIHNpbmNlIG90aGVyIHByb2plY3RzIG1heSB3
YW50IHRvIHVzZSBpdC4gVGltZS9EYXRlL0RhdGVUaW1lIG9uIHRoZQpvdGhlciBoYW5kIGFscmVh
ZHkgZXhpc3QgbW9yZSBvciBsZXNzIChhdCB0aGUgbGVhc3QgVGltZSkuCgotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkZlYXR1cmUgIzEyMzYxOiBQcm9wb3NhbDogYWRk
IEdlbzo6Q29vcmQgY2xhc3MgdG8gc3RhbmRhcmQgbGlicmFyeQpodHRwczovL2J1Z3MucnVieS1s
YW5nLm9yZy9pc3N1ZXMvMTIzNjEjY2hhbmdlLTU4NTQ5CgoqIEF1dGhvcjogVmljdG9yIFNoZXBl
bGV2CiogU3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5vcm1hbAoqIEFzc2lnbmVlOiAKLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIyBQcm9wb3NhbAoKQWRkIGBHZW86
OkNvb3JkYCBjbGFzcyB0byBSdWJ5IHN0YW5kYXJkIGxpYnJhcnksIHJlcHJlc2VudGluZyBgW2xh
dGl0dWRlLCBsb25naXR1ZGVdYCBwYWlyICsgY29udmVuaWVuY2UgbWV0aG9kcy4gQWRkIGBHZW9g
IHN0YW5kYXJkIGxpYnJhcnkgd2l0aCBhZGRpdGlvbmFsIGNhbGN1bGF0aW9ucyBhbmQgY29udmVu
aWVuY2UgbWV0aG9kcy4KCiMjIFJhdGlvbmFsZQoKSW4gbW9kZXJuIGFwcGxpY2F0aW9ucywgd29y
a2luZyB3aXRoIGdlb2dyYXBoaWNhbCBjb29yZGluYXRlcyBpcyBmcmVxdWVudC4gV2UgcHJvcG9z
ZSB0byB0aGluayBvZiBzdWNoIGNvb3JkaW5hdGVzIChuYW1lbHksIGBsYXRpdHVkZSwgbG9uZ2l0
dWRlYCBwYWlyKSBhcyBvZiAiYmFzaWMiIHR5cGUgdGhhdCBzaG91bGQgYmUgc3VwcG9ydGVkIGJ5
IHN0YW5kYXJkIGxpYnJhcnkgLSB0aGUgc2FtZSB3YXkgYXMgd2Ugc3VwcG9ydCBgVGltZWAvYERh
dGVgL2BEYXRlVGltZWAgaW5zdGVhZCBvZiBoYXZpbmcgaXQgZGVmaW5lZApieSB1c2VyL2dlbXMu
CgpUaGlzIHR5cGUgaXMgdG9vICJzbWFsbCIgdG8gYmUgZGVmaW5lZCBieSBzZXBhcmF0ZSBnZW0s
IHNvLCBhbGwgb2YgZXhpc3RpbmcgZ2VvIGdlbXMgKEdlb0tpdCwgUkdlbywgR2VvUnVieSwgR3Jh
dGljdWxlIGV0Yy4pIGRlZmluZSB0aGVpciBvd24gYExhdExuZ2AsIG9yIGBMb2NhdGlvbmAsIG9y
IGBQb2ludGAsIHdoYXRldmVyLgoKT24gb3RoZXIgaGFuZCwgQVBJIGRlc2lnbiBmb3IgdGhpcyAi
c21hbGwiIHR5cGUgaXMgdmFndWUgZW5vdWdoIGZvciBhbGwgdGhvc2Ugc2ltaWxhciB0eXBlcyB0
byBiZSBpbmNvbXBhdGlibGUgYW5kIGJyZWFrIHNtYWxsIGhhYml0cyBhbmQgY29udmVudGlvbnMg
d2hlbiB5b3UgY2hhbmdlIGZyb20gb25lIGdlbyBsaWJyYXJ5IHRvIGFub3RoZXIsIG9yIHRyeSB0
byB1c2Ugc2V2ZXJhbApzaW11bHRhbmVvdXNseS4KCkFkZGl0aW9uYWx5LCBtYW55IGdlbXMgc29t
ZWhvdyB3b3JraW5nIHdpdGggZ2VvIGNvb3JkaW5hdGVzIChmb3Igd2VhdGhlciwgb3IgdGltZXpv
bmUsIG9yIGFub3RoZXIgdGFza3MpIGdlbmVyYWxseSBwcmVmZXIgbm90IHRvIGludHJvZHVjZSB0
eXBlLCBhbmQganVzdCB3b3JrIHdpdGggYFtsYXQsIGxuZ11gIGFycmF5LCB3aGljaCBpcyBub3Qg
dmVyeSBjb252ZW5pZW50LCBmYWl0aGZ1bGx5LgoKU28sIGhhdmluZyAiZ2VvIGNvb3JkaW5hdGVz
IiBmdW5jdGlvbmFsaXR5IGluIHN0YW5kYXJkIGxpYnJhcnkgc2VlbXMgcmVhc29uYWJsZSBhbmQg
dmFsdWFibGUuCgojIyBFeGlzdGluZy9yZWZlcmVuY2Ugc29sdXRpb25zCgpSdWJ5OgoKKiBbR2Vv
S2l0OjpMYXRMbmddKGh0dHA6Ly93d3cucnVieWRvYy5pbmZvL2dpdGh1Yi9nZW9raXQvZ2Vva2l0
L21hc3Rlci9HZW9raXQvTGF0TG5nKTsKKiBbUkdlbzo6RmVhdHVyZTo6UG9pbnRdKGh0dHA6Ly93
d3cucnVieWRvYy5pbmZvL2dlbXMvcmdlby9SR2VvL0ZlYXR1cmUvUG9pbnQpICh3aXRoIHNldmVy
YWwgInByaXZhdGUiIGltcGxlbWVudGF0aW9uIGNsYXNzZXMpOyBSR2VvIGltcGxlbWVudHMgZnVs
bCBbT0dDIFNpbXBsZSBGZWF0dXJlc10oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvU2lt
cGxlX0ZlYXR1cmVzKSBzcGVjaWZpY2F0aW9uLCBzbywgaXRzIHBvaW50cyBoYXZlIGB6YCBhbmQg
YG1gIGNvb3JkaW5hdGVzLCBwcm9qZWN0aW9uIGFuZCBtdWNoIG1vcmU7CiogW0dyYXRpY3VsZTo6
TG9jYXRpb25dKGh0dHA6Ly93d3cucnVieWRvYy5pbmZvL2dpdGh1Yi9jb2xsZWN0aXZlaWRlYS9n
cmF0aWN1bGUvR3JhdGljdWxlL0xvY2F0aW9uKSAobm90IHN0cmljdGx5IGEgYFtsYXQsbG5nXWAg
d3JhcHBlcik7CiogW1Jvc2FtYXJ5OjpOb2RlXShodHRwOi8vd3d3LnJ1Ynlkb2MuaW5mby9nZW1z
L3Jvc2VtYXJ5LzAuNC40L1Jvc2VtYXJ5L05vZGUpIChmb2xsb3dzIG5hbWluZyBjb252ZW50aW9u
IG9mIHVuZGVybHlpbmcgT3BlblN0cmVldE1hcCBBUEkpOwoKT3RoZXIgc291cmNlczoKKiBQeXRo
b246IFtnZW9weS5Qb2ludF0oaHR0cDovL2dlb3B5LnJlYWR0aGVkb2NzLm9yZy9lbi9sYXRlc3Qv
I2dlb3B5LnBvaW50LlBvaW50KTsKKiBbRWxhc3RpY1NlYXJjaF0oaHR0cHM6Ly93d3cuZWxhc3Rp
Yy5jby9ibG9nL2dlby1sb2NhdGlvbi1hbmQtc2VhcmNoKSB1c2VzIGhhc2ggd2l0aCAibGF0IiBh
bmQgImxvbiIga2V5czsKKiBHb29nbGUgTWFwcyBbR2VvY29kaW5nIEFQSV0oaHR0cHM6Ly9kZXZl
bG9wZXJzLmdvb2dsZS5jb20vbWFwcy9kb2N1bWVudGF0aW9uL2dlb2NvZGluZy9pbnRybyNHZW9j
b2RpbmdSZXNwb25zZXMpIHVzZXMgaGFzaCB3aXRoICJsYXQiIGFuZCAibG5nIiBrZXlzOwoqIFBv
c3RHSVM6IFtwcmV0dHkgY29tcGxpY2F0ZWRdKGh0dHA6Ly9wb3N0Z2lzLm5ldC9kb2NzL21hbnVh
bC0yLjIvdXNpbmdfcG9zdGdpc19kYm1hbmFnZW1lbnQuaHRtbCNSZWZPYmplY3QpICBoYXMgX2dl
b21ldHJpY2FsXyAocHJvamVjdGVkKSBhbmQgX2dlb2dyYXBoaWNhbF8gKGxhdCwgbG5nKSBwb2lu
dHMgYW5kIHN0dWZmLgoKIyMgRGVzaWduIGRlY2lzaW9ucwoKV2hpbGUgZGVzaWduaW5nIGBHZW9g
IGxpYnJhcnksIG91ciByZWZlcmVuY2UgcG9pbnQgd2FzIHN0YW5kYXJkIGBUaW1lYCBjbGFzcyAo
YW5kLCB0byBsZXNzZXIgZXh0ZW50LCBgRGF0ZWAvYERhdGVUaW1lYCkuIEl0IGhhcyB0aGlzIHJl
c3BvbnNpYmlsaXRpZXM6Ciogc3RvcmVzIGRhdGEgaW4gc2ltcGxlIGludGVybmFsIGZvcm07Ciog
aGVscHMgdG8gcGFyc2UgYW5kIGZvcm1hdCBkYXRhIHRvIGFuZCBmcm9tIHN0cmluZ3M7CiogcHJv
dmlkZXMgZWFzeSBhY2Nlc3MgdG8gbG9naWNhbCBjb21wb25lbnRzIG9mIGRhdGE7CiogYWxsb3dz
IG1vc3Qgc2ltcGxlIGFuZCB1bmFtYmlndW91cyBjYWxjdWxhdGlvbnMuCgoqKk1haW4gdHlwZSBu
YW1lKio6IGFzIGZhciBhcyB3ZSBjYW4gc2VlLCB0aGVyZSdzIG5vIGdvb2Qgc2luZ3VsYXIgbmFt
ZSBmb3IgYChsYXQsIGxuZylgIHBhaXIgY29uY2VwdC4gQXMgbWVudGlvbmVkIGFib3ZlLCB0aGVy
ZSBjYW4gYmUgc2VlbiBuYW1lcyBsaWtlIGBMYXRMbmdgLCBvciBgTG9jYXRpb25gLCBvciBgUG9p
bnRgOyBhbmQgaW4gbmF0dXJhbCBsYW5ndWFnZQpqdXN0ICJjb29yZGluYXRlcyIgdXNlZCBmcmVx
dWVudGx5LiBXZSBwcm9wb3NlIHRoZSBuYW1lIGBDb29yZGAsIHdoaWNoIGlzIHByZXR0eSBzaG9y
dCwgZWFzeSB0byByZW1lbWJlciwgZGVtb25zdHJhdGVzIGludGVudGlvbnMgKGFuZCBsb29rcyBs
aWtlIHNpbmd1bGFyLCBzbyB5b3UgY2FuIGhhdmUgIm9uZSBjb29yZCBvYmplY3QiIGFuZCAiYXJy
YXkgb2YgY29vcmRzIiwKd2hpY2ggaXMgbm90IDEwMCUgbGluZ3Vpc3RpY2FsbHkgY29ycmVjdCwg
eWV0IGNvbnZlbmllbnQpLiBBbHRlcm5hdGl2ZSBgUG9pbnRgIG5hbWUgc2VlbXMgdG8gYmUgdG9v
IGFtYmlnb3VzLCBiZWluZyB1c2VkIGluIG1hbnkgY29udGV4dHMuCgpgR2VvOjpDb29yZGAgb2Jq
ZWN0IGlzICoqaW1tdXRhYmxlKiosIHRoZXJlJ3Mgbm8gc2VtYW50aWNhbCBzZW5zZSBpbiBgbG9j
YXRpb24ubGF0aXR1ZGUgPSAuLi5gIG9yIHNvbWV0aGluZyBsaWtlIHRoaXMuCgoqKlVuaXRzKio6
IGBHZW9gIGNhbGN1bGF0aW9ucyAoanVzdCBsaWtlIGBUaW1lYCBjYWxjdWxhdGlvbnMpIHByb3Zp
ZGUgbm8gdW5pdHMgb3B0aW9ucywganVzdCByZXR1cm5pbmcgbnVtYmVycyBtZWFzdXJlZCBpbiAi
ZGVmYXVsdCIgdW5pdHM6IG1ldHJlcyBmb3IgZGlzdGFuY2VzIChhcyB0aGV5IGFyZSBTSSB1bml0
KSBhbmQgZGVncmVlcyBmb3IgYXppbXV0aC4gTGF0aXR1ZGUgYW5kIGxvbmdpdHVkZSBhcmUgc3Rv
cmVkIGluIGRlZ3JlZXMsIGJ1dCByYWRpYW5zIHZhbHVlcyBhY2Nlc3NvcnMgYXJlIHByb3ZpZGVk
IChiZWluZyB3aWRlbHkgdXNlZCBpbiBnZW9kZXN5IG1hdGgpLgoKVGhlcmUncyBpbnRyb2R1Y2Vk
ICoqY29uY2VwdCBvZiBnbG9iZSoqIHVzZWQgaW50ZXJuYWxseSBmb3IgY2FsY3VsYXRpb25zLiBP
bmx5IGdlbmVyaWMgKHNwaGVyZSkgYW5kIEVhcnRoIGdsb2JlcyBhcmUgaW1wbGVtZW50ZWQsIGJ1
dCBmb3IgMjAxNiB3ZSBmZWVsIGxpa2UgY3VycmVudCBkZXNpZ24gb2YgYmFzaWMgdHlwZXMgc2hv
dWxkIHRha2UgaW4gY29uc2lkZXJhdGlvbgpwb3NzaWJpbGl0eSBvZiB3cml0aW5nIFJ1Ynkgc2Ny
aXB0cyBmb3IgTWFycyBtYXBzIGFuYWx5c2lzLiBPbmx5IG9uZSBnZW9kZXN5IGZvcm11bGEgaXMg
aW1wbGVtZW50ZWQgKFZpbmNlbnR5LCBnZW5lcmFsbHkgY29uc2lkZXJlZCBvbmUgb2YgdGhlIG1v
c3QgcHJlY2lzZSksIGFzIGZvciBzdGFuZGFyZCBsaWJyYXJ5IGNsYXNzIGl0IGNvbnNpZGVyZWQg
dW5uZWNlc3NhcnkgdG8gcHJvdmlkZSB1c2VyIHdpdGggZ2VvZGVzeSBmb3JtdWxhZSBvcHRpb25z
LgoKTm8gKiptYXAgcHJvamVjdGlvbioqIG1hdGggd2FzIGFkZGVkIGludG8gY3VycmVudCBwcm9w
b3NhbCwgYnV0IGl0IG1heSBiZSBhIGdvb2QgZGlyZWN0aW9uIGZvciBmdXJ0aGVyIHdvcmsuIE5v
ICoqZWxldmF0aW9uKiogZGF0YSBjb25zaWRlcmVkIGVpdGhlci4KCiMjIFByb3Bvc2FsIGRldGFp
bHMKCiMjIyBgR2VvOjpDb29yZGAgY2xhc3MKClJlcHJlc2VudHMgYFtsYXRpdHVkZSwgbG9uZ2l0
dWRlXWAgcGFpci4gTGF0aXR1ZGUgaXMgLTkwIHRvICs5MCAoZGVncmVlcykuIExvbmdpdHVkZSBp
cyAtMTgwIHRvICsxODAuCgpDbGFzcyBtZXRob2RzOgoqIGBuZXcobGF0LCBsbmcpYCBjcmVhdGVz
IGluc3RhbmNlIGZyb20gdHdvIE51bWVyaWNzIChpbiBkZWdyZWVzKTsKKiBgbmV3KGxhdDosIGxu
ZzopYCBrZXl3b3JkIGFyZ3VtZW50cyBmb3JtIG9mIGFib3ZlOwoqIGBuZXcobGF0ZDosIGxhdG06
LCBsYXRzOiwgbGF0aDosIGxuZ2Q6IGxuZ206LCBsbmdzOiBsbmdoOilgIGNyZWF0ZXMgaW5zdGFu
Y2UgZnJvbSBjb29yZGluYXRlcyBpbiAoZGVnLCBtaW4sIHNlYywgaGVtaXNwaGVyZSkgZm9ybTsg
aGVtaXNwaGVyZXMgYXJlICJOIi8iUyIgZm9yIGxhdGl0dWRlIGFuZCAiVyIvRSIgZm9yIGxvbmdp
dHVkZTsgYW55IGNvbXBvbmVudCBleGNlcHQgZm9yIGRlZ3JlZXMgY2FuIGJlIG9taXR0ZWQ7IGlm
IGhlbWlzcGhlcmUgaXMgb21pdHRlZCwgaXQgaXMgZGVjaWRlZCBieSBkZWdyZWVzIHNpZ24gKGxh
dDogcG9zaXRpdmUgaXMgIk4iLCBsbmc6IHBvc2l0aXZlIGlzICJFIik7CiogYGZyb21faChoYXNo
KWAgY3JlYXRlcyBpbnN0YW5jZSBmcm9tIGhhc2ggd2l0aCBgImxhdCJgIG9yIGAibGF0aXR1ZGUi
YCBrZXkgYW5kIGAibG9uImAgb3IgYCJsbmciYCBvciBgImxvbmdpdHVkZSJgIGtleSAoY2FzZS1p
bmRlcGVuZGVudCk7CiogYGZyb21fcmFkaWFucyhwaGksIGxhKWAgY3JlYXRlcyBpbnN0YW5jZSBm
cm9tIHJhZGlhbiB2YWx1ZXM7CiogYHN0cnBjb29yZGAgcGFyc2VzIHN0cmluZyBpbnRvIGNvb3Jk
aW5hdGVzIGJ5IHByb3ZpZGVkIHBhdHRlcm4gKHNlZSBiZWxvdyBmb3IgcGF0dGVybiBkZXNjcmlw
dGlvbik7CiogYHBhcnNlX2xsYCBwYXJzZXMgY29vcmRpbmF0ZXMgc3RyaW5nIGluIGAiZmxvYXQs
IGZsb2F0ImAgZm9ybTsKKiBgcGFyc2VfZG1zYCBwYXJzZXMgY29vcmRpbmF0ZXMgc3RyaW5nIGlu
IGBkIG0gcyBoLCBkIG0gcyBoYCBmb3JtYXQgKGNvbnNpZGVyaW5nIHNldmVyYWwgd2lkZWx5IHVz
ZWQgc3ltYm9scyBmb3IgZGVncmVlcywgbWludXRlcyBhbmQgc2Vjb25kcyk7CiogYHBhcnNlYCB0
cmllcyB0byBwYXJzZSBzdHJpbmcgaW50byBjb29yZGluYXRlcyBmcm9tIHZhcmlvdXMgZm9ybWF0
cy4KCkluc3RhbmNlIG1ldGhvZHM6CiogYGxhdGAgYW5kIGBsbmdgLCByZXR1cm5pbmcgYEZsb2F0
YHMsIHNpZ25lZDsKKiBgbGF0aXR1ZGVgIGFuZCBgbG9uZ2l0dWRlYCBhcyBhbiBhbGlhc2VzOyBg
bG9uYCBhcyBhbiBhZGRpdGlvbmFsIGFsaWFzZXMgZm9yIGxvbmdpdHVkZTsKKiBgbGF0ZGAsIGBs
YXRtYCwgYGxhdHNgLCBgbGF0aGA6IGRlZ3JlZSwgbWludXRlLCBzZWNvbmQsIGhlbWlzcGhlcmU7
IGBsYXRkYCBhbmQgYGxhdG1gIGFyZSBgRml4bnVtYCwgYGxhdHNgIGlzIGBGbG9hdGAsIGBsYXRo
YCBpcyAiTiIvIlMiOyBhbGwgbnVtYmVycyBhcmUgdW5zaWduZWQ7CiogYGxuZ2RgLCBgbG5nbWAs
IGBsbmdzYCwgYGxuZ2hgOiB0aGUgc2FtZSBmb3IgbG9uZ2l0dWRlIChoZW1pc3BoZXJlIGlzICJX
Ii8iRSIpOwoqIGBsYXRkbXMobm9oZW1pc3BoZXJlID0gZmFsc2UpYCByZXR1cm5zIGBbbGF0ZCwg
bGF0bSwgbGF0cywgbGF0aF1gIHdpdGggYG5vaGVtaXNwaGVyZWAgcGFyYW0gZXF1YWwgdG8gYGZh
bHNlYCwgYW5kIGBbwrFsYXRkLCBsYXRtLCBsYXRzXWAgd2l0aCBgdHJ1ZWA7IHNhbWUgd2l0aCBg
bG5nZG1zYCBmb3IgbG9uZ2l0dWRlOwoqIGBwaGlgIGFuZCBgz4ZgIGlzIGxhdGl0dWRlIGluIHJh
ZGlhbnMgKGhlbHBmdWwgZm9yIG1hdGgpLCBgbGFgIG9yIGDOu2AgaXMgbG9uZ2l0dWRlIGluIHJh
ZGlhbnMgKG5vdCBgbGFtYmRhYCB0byBub3QgY29uZnVzZSB3aXRoIEtlcm5lbCBtZXRob2QpOwoq
IGB0b19zYCByZXR1cm5pbmcgc3RyaW5nIGxpa2UgIjUwLjAwNDQ0NCwzNi4yMzEzODkiIChnb29k
IGZvciBtYXAgVVJMcyBjb25zdHJ1Y3Rpb24sIGZvciBleGFtcGxlKTsKKiBgdG9faChsYXQ6IDps
YXQsIGxuZzogOmxuZylgIGNvbnZlcnRzIGNvb3JkIHRvIGhhc2ggKHdpdGggZGVzaXJlZCBrZXkg
bmFtZXMpOwoqIGB0b19hYCBjb252ZXJ0cyBjb29yZCB0byBzaW1wbGUgYFtsYXQsIGxuZ11gIHBh
aXI7CiogYHN0cmZjb29yZChmb3JtYXRzdHIpYCBmb3IgY29tcGxleCBjb29yZGluYXRlIGZvcm1h
dHRpbmcgKHNlZSBiZWxvdyBmb3IgZm9ybWF0IHN0cmluZyBkZXNjcmlwdGlvbik7CiogYGRpc3Rh
bmNlKG90aGVyKWAgY2FsY3VsYXRlcyBkaXN0YW5jZSB0byBhbm90aGVyIHBvaW50IChpbiBtZXRy
ZXMpOwoqIGBhemltdXRoKG90aGVyKWAgY2FsY3VsYXRlcyBkaXJlY3Rpb24gdG8gdGFyZ2V0IChp
biBkZWdyZWVzKTsKKiBgZW5kcG9pbnQoZGlyZWN0aW9uLCBhemltdXRoKWAgY2FsY3VsYXRlcyBm
aW5hbCBwb2ludCBvZiB0aGUgbGluZSBvZiBgZGlzdGFuY2VgIG1ldHJlcyBnb2luZyBpbiBgYXpp
bXV0aGAgZGlyZWN0aW9uIGZyb20gY3VycmVudCBwb2ludC4KCiMjIyMgYHN0cnBjb29yZGAvYHN0
cmZjb29yZGAKCkV4YW1wbGU6Cgp+fn5ydWJ5CmtoYXJraXYuc3RyZmNvb3JkKCclbGF0ZHXCsCVs
YXRt4oCyJWxhdHPigLMgJWxhdGgsICVsbmdkdcKwJWxuZ23igLIlbG5nc+KAsyAlbG5naCcpCiMg
PT4gIjUwwrAw4oCyMTbigLMgTiwgMzbCsDEz4oCyNTPigLMgRSIKfn5+CgpEaXJlY3RpdmVzOgoq
IGAlbGF0YCAtIGZ1bGwgbGF0aXR1ZGUsIGZsb2F0OyBjYW4gYmUgZm9ybWF0dGVkIHdpdGggbW9y
ZSBjb250cm9sIGxpa2UgYCUuNGxhdGAgKGZvdXIgZGlnaXRzIGFmdGVyIHBvaW50KSBvciBgJSts
YXRgIChleHBsaWNpdCBwbHVzIHNpZ24gZm9yIHBvc2l0aXZlIGxhdGl0dWRlcyk7CiogYCVsYXRk
YCAtIGxhdGl0dWRlIGRlZ3JlZXMsIHVuc2lnbmVkLCBpbnRlZ2VyCiogYCVsYXRkc2AgLSBsYXRp
dHVkZSBkZWdyZWVzLCBzaWduZWQKKiBgJWxhdG1gIC0gbGF0aXR1ZGUgbWludXRlcywgdW5zaWdu
ZWQsIGludGVnZXIKKiBgJWxhdHNgIC0gbGF0aXR1ZGUgc2Vjb25kcywgdW5zaWduZWQsIGludGVn
ZXIsIGJ1dCBjYW4gYmUgZm9ybWF0dGVkIGFzIGZsb2F0OiBgJS4ybGF0c2AKKiBgJWxhdGhgIC0g
bGF0aXR1ZGUgaGVtaXNwaGVyZSwgb25lIGxldHRlciAoIk4iLyJTIikKKiBgJWxuZ2AsIGAlbG5n
ZGAsIGAlbG5nZHNgLCBgJWxuZ3NgLCBgJWxuZ2hgLCBgJWxuZ0hgIC0gc2FtZSBmb3IgbG9uZ2l0
dWRlCiogYCUlYCBsaXRlcmFsIGAlYCBzaWduCgojIyMgQ3VycmVudCBpbXBsZW1lbnRhdGlvbgoK
UHJvcG9zZWQgaW1wbGVtZW50YXRpb24gY2FuIGJlIGZvdW5kIGF0IGh0dHBzOi8vZ2l0aHViLmNv
bS96dmVyb2svZ2VvX2Nvb3JkLgoKSXQgd2FzIGNyZWF0ZWQgd2l0aCB0aG91Z2h0cyBvZiBzdGFu
ZGFyZCBsaWJyYXJ5LCBzbywgYWxsIGRvY3MgYXJlIGluIFJEb2MgZm9ybWF0LCBhbmQgdGVzdHMv
c3BlY3MgYXJlIGluIG1zcGVjLWNvbXBhdGlibGUgcnNwZWMgZmxhdm91ci4KCgoKCi0tIApodHRw
czovL2J1Z3MucnVieS1sYW5nLm9yZy8KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1y
ZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5y
dWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K

In This Thread

Prev Next