Issue #4100 has been updated by Eric Hodel.

File net.http.rb.doc.2.patch added

I see you changed the proxy example, I agree.

I have fixed the examples to use #value instead of #error!

Attached is an updated patch that applies atop the existing changes and r=
emoves the rejected chunks.

Also, the usage documentation in lib/net/https.rb is removed as it has be=
en moved to lib/net/http.rb.  (Also, it was inaccessible to ri.)
----------------------------------------
http://redmine.ruby-lang.org/issues/show/4100

----------------------------------------
http://redmine.ruby-lang.org
SW5kZXg6IGxpYi9uZXQvaHR0cC5yYgo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBsaWIvbmV0L2h0dHAucmIJKHJldmlzaW9uIDI5OTgzKQorKysgbGli
L25ldC9odHRwLnJiCSh3b3JraW5nIGNvcHkpCkBAIC0zMiwzMTQgKzMyLDM1
MCBAQCBtb2R1bGUgTmV0ICAgIzpub2RvYzoKIAogICAjID09IEFuIEhUVFAg
Y2xpZW50IEFQSSBmb3IgUnVieS4KICAgIwotICAjIEZvciBtb3JlIGRldGFp
bHMgYWJvdXQgSFRUUCwgc2VlIFtSRkMyNjE2XShodHRwOi8vd3d3LmlldGYu
b3JnL3JmYy9yZmMyNjE2LnR4dCkuCisgICMgTmV0OjpIVFRQIHByb3ZpZGVz
IGEgcmljaCBsaWJyYXJ5IHdoaWNoIGNhbiBiZSB1c2VkIHRvIGJ1aWxkIEhU
VFAKKyAgIyB1c2VyLWFnZW50cy4gIEZvciBtb3JlIGRldGFpbHMgYWJvdXQg
SFRUUCBzZWUKKyAgIyBbUkZDMjYxNl0oaHR0cDovL3d3dy5pZXRmLm9yZy9y
ZmMvcmZjMjYxNi50eHQpCiAgICMKLSAgIyA9PSBFeGFtcGxlcworICAjIE5l
dDo6SFRUUCBpcyBkZXNpZ25lZCB0byB3b3JrIGNsb3NlbHkgd2l0aCBVUkku
ICBVUkk6OkhUVFAjaG9zdCwKKyAgIyBVUkk6OkhUVFAjcG9ydCBhbmQgVVJJ
OjpIVFRQI3JlcXVlc3RfdXJpIGFyZSBkZXNpZ25lZCB0byB3b3JrIHdpdGgK
KyAgIyBOZXQ6OkhUVFAuCiAgICMKLSAgIyA9PT0gRmV0Y2hpbmcgRG9jdW1l
bnRzCisgICMgSWYgeW91IGFyZSBvbmx5IHBlcmZvcm1pbmcgYSBmZXcgR0VU
IHJlcXVlc3RzIHlvdSBzaG91bGQgdHJ5IE9wZW5VUkkuCiAgICMKLSAgIyBT
aW1wbGUgR0VUCisgICMgPT0gSG93IHRvIHVzZSBOZXQ6OkhUVFAKICAgIwot
ICAjICAgICByZXF1aXJlICduZXQvaHR0cCcKLSAgIyAgICAgTmV0OjpIVFRQ
LmdldCgnd3d3LmV4YW1wbGUuY29tJywgJy9pbmRleC5odG1sJykgPT4gU3Ry
aW5nCisgICMgTmV0OjpIVFRQIHByb3ZpZGVzIHNldmVyYWwgY29udmVuaWVu
Y2UgbWV0aG9kcyBmb3IgcGVyZm9ybWluZyBhIEdFVCBvbiBhCisgICMgd2Vi
IHNlcnZlciB3aGljaCBhcmUgZGVzY3JpYmVkIGJlbG93LgogICAjCi0gICMg
U2ltcGxlIEdFVCBieSBVUkkgb2JqZWN0CisgICMgQWxsIGV4YW1wbGVzIGFz
c3VtZSB5b3UgaGF2ZSBsb2FkZWQgTmV0OjpIVFRQIHdpdGg6CiAgICMKLSAg
IyAgICAgcmVxdWlyZSAnbmV0L2h0dHAnCi0gICMgICAgIHJlcXVpcmUgJ3Vy
aScKLSAgIyAgICAgTmV0OjpIVFRQLmdldChVUkkucGFyc2UoJ2h0dHA6Ly93
d3cuZXhhbXBsZS5jb20vaW5kZXguaHRtbD9jb3VudD0xMCcpKSA9PiBTdHJp
bmcKKyAgIyAgIHJlcXVpcmUgJ25ldC9odHRwJwogICAjCi0gICMgTW9yZSBn
ZW5lcmljIEdFVCB3aXRoIGR5bmFtaWMgcGFyYW1ldGVycworICAjIFRoaXMg
d2lsbCBhbHNvIHJlcXVpcmUgJ3VyaScgc28geW91IGRvbid0IG5lZWQgdG8g
cmVxdWlyZSBpdCBzZXBhcmF0ZWx5LgogICAjCi0gICMgICAgcmVxdWlyZSAn
bmV0L2h0dHAnCi0gICMgICAgcmVxdWlyZSAndXJpJworICAjIFRoZSBmb2xs
b3dpbmcgZXhhbXBsZSBjb2RlIGNhbiBiZSB1c2VkIGFzIHRoZSBiYXNpcyBv
ZiBhIEhUVFAgdXNlci1hZ2VudAorICAjIHdoaWNoIHdpbGwgcGVyZm9ybSBh
IHZhcmlldHkgb2YgcmVxdWVzdCB0eXBlcy4KICAgIwotICAjICAgIHVyaSA9
IFVSSS5wYXJzZSgnaHR0cDovL3d3dy5leGFtcGxlLmNvbS9pbmRleC5odG1s
JykKLSAgIyAgICBwYXJhbXMgPSB7IDpsaW1pdCA9PiAxMCwgOnBhZ2UgPT4g
MyB9Ci0gICMgICAgdXJpLnF1ZXJ5ID0gVVJJLmVuY29kZV93d3dfZm9ybShw
YXJhbXMpCi0gICMgICAgcmVzID0gTmV0OjpIVFRQLmdldF9yZXNwb25zZSh1
cmkpCi0gICMgICAgcHV0cyByZXMuYm9keSBpZiByZXMuaXNfYT8oTmV0OjpI
VFRQU3VjY2VzcykKKyAgIyAgIHVyaSA9IFVSSS5wYXJzZSAnaHR0cDovL2V4
YW1wbGUuY29tL3NvbWVfcGF0aD9xdWVyeT1zdHJpbmcnCiAgICMKLSAgIyBF
dmVuIG1vcmUgZ2VuZXJpYyBHRVQgd2l0aCBCYXNpYyBBdXRoIGFuZCBjdXN0
b20gaGVhZGVyCisgICMgICBOZXQ6OkhUVFAuc3RhcnQgdXJpLmhvc3QsIHVy
aS5wb3J0IGRvIHxodHRwfAorICAjICAgICByZXF1ZXN0ID0gTmV0OjpIVFRQ
OjpHZXQubmV3IHVyaS5yZXF1ZXN0X3VyaQogICAjCi0gICMgICAgcmVxdWly
ZSAnbmV0L2h0dHAnCisgICMgICAgIHJlc3BvbnNlID0gaHR0cC5yZXF1ZXN0
IHJlcXVlc3QgIyBOZXQ6OkhUVFBSZXNwb25zZSBvYmplY3QKKyAgIyAgIGVu
ZAogICAjCi0gICMgICAgdXJpID0gVVJJLnBhcnNlKCdodHRwOi8vd3d3LmV4
YW1wbGUuY29tL2luZGV4Lmh0bWw/a2V5PXZhbHVlJykKLSAgIyAgICByZXEg
PSBOZXQ6OkhUVFA6OkdldC5uZXcodXJpLnJlcXVlc3RfdXJpKQotICAjICAg
IHJlcS5iYXNpY19hdXRoICd1c2VyJywgJ3Bhc3MnCi0gICMgICAgcmVxWydY
LUN1c3RvbS1IZWFkZXInXSA9IFRpbWUubm93LnRvX2kKLSAgIyAgICByZXMg
PSBOZXQ6OkhUVFAuc3RhcnQodXJpLmhvc3RuYW1lLCB1cmkucG9ydCkge3xo
dHRwfAotICAjICAgICAgaHR0cC5yZXF1ZXN0KHJlcSkKLSAgIyAgICB9Ci0g
ICMgICAgcHV0cyByZXMuYm9keQorICAjIE5ldDo6SFRUUDo6c3RhcnQgaW1t
ZWRpYXRlbHkgY3JlYXRlcyBhIGNvbm5lY3Rpb24gdG8gYW4gSFRUUCBzZXJ2
ZXIgd2hpY2gKKyAgIyBpcyBrZXB0IG9wZW4gZm9yIHRoZSBkdXJhdGlvbiBv
ZiB0aGUgYmxvY2suICBUaGUgY29ubmVjdGlvbiB3aWxsIHJlbWFpbgorICAj
IG9wZW4gZm9yIG11bHRpcGxlIHJlcXVlc3RzIGluIHRoZSBibG9jayBpZiB0
aGUgc2VydmVyIGluZGljYXRlcyBpdAorICAjIHN1cHBvcnRzIHBlcnNpc3Rl
bnQgY29ubmVjdGlvbnMuCiAgICMKLSAgIyBBY2Nlc3NpbmcgUmVzcG9uc2Ug
ZGF0YToKKyAgIyBUaGUgcmVxdWVzdCB0eXBlcyBOZXQ6OkhUVFAgc3VwcG9y
dHMgYXJlIGxpc3RlZCBiZWxvdyBpbiB0aGUgc2VjdGlvbiAiSFRUUAorICAj
IFJlcXVlc3QgQ2xhc3NlcyIuCiAgICMKLSAgIyAgICAgcmVzID0gTmV0OjpI
VFRQLmdldF9yZXNwb25zZShVUkkucGFyc2UoJ2h0dHA6Ly93d3cuZXhhbXBs
ZS5jb20vaW5kZXguaHRtbCcpKQotICAjICAgICAjIEhlYWRlcnMKLSAgIyAg
ICAgcmVzWydTZXQtQ29va2llJ10gICAgICAgICAgICA9PiBTdHJpbmcKLSAg
IyAgICAgcmVzLmdldF9maWVsZHMoJ3NldC1jb29raWUnKSA9PiBBcnJheQot
ICAjICAgICByZXMudG9faGFzaFsnc2V0LWNvb2tpZSddICAgID0+IEFycmF5
Ci0gICMgICAgIHB1dHMgIkhlYWRlcnM6ICN7cmVzLnRvX2hhc2guaW5zcGVj
dH0iCi0gICMgICAgICMgU3RhdHVzCi0gICMgICAgIHB1dHMgcmVzLmNvZGUg
PT4gJzIwMCcKLSAgIyAgICAgcHV0cyByZXMubWVzc2FnZSA9PiAnT0snCi0g
ICMgICAgIHB1dHMgcmVzLmNsYXNzLm5hbWUgPT4gJ0hUVFBPSycKLSAgIyAg
ICAgcHV0cyByZXMuYm9keQorICAjIElmIHlvdSB3aXNoIHRvIHJlLXVzZSBh
IGNvbm5lY3Rpb24gYWNyb3NzIG11bHRpcGxlIEhUVFAgcmVxdWVzdHMgd2l0
aG91dAorICAjIGF1dG9tYXRpY2FsbHkgY2xvc2luZyBpdCB5b3UgY2FuIHVz
ZSA6Om5ldyBpbnN0ZWFkIG9mIDo6c3RhcnQuICAjcmVxdWVzdAorICAjIHdp
bGwgYXV0b21hdGljYWxseSBvcGVuIGEgY29ubmVjdGlvbiB0byB0aGUgc2Vy
dmVyIGlmIG9uZSBpcyBub3QgY3VycmVudGx5CisgICMgb3Blbi4gIFlvdSBj
YW4gbWFudWFsbHkgY2xvc2UgdGhlIGNvbm5lY3Rpb24gd2l0aCAjY2xvc2Uu
CiAgICMKLSAgIyA9PT0gUG9zdGluZyBGb3JtIERhdGEKKyAgIyA9PT0gUmVz
cG9uc2UgRGF0YQogICAjCi0gICMgICAgIHJlcXVpcmUgJ25ldC9odHRwJwot
ICAjICAgICByZXF1aXJlICd1cmknCisgICMgICB1cmkgPSBVUkkucGFyc2Uo
J2h0dHA6Ly9leGFtcGxlLmNvbS9pbmRleC5odG1sJykKKyAgIyAgIHJlcyA9
IE5ldDo6SFRUUC5nZXRfcmVzcG9uc2UodXJpKQogICAjCi0gICMgICAgICMx
OiBTaW1wbGUgUE9TVAotICAjICAgICByZXMgPSBOZXQ6OkhUVFAucG9zdF9m
b3JtKFVSSS5wYXJzZSgnaHR0cDovL3d3dy5leGFtcGxlLmNvbS9zZWFyY2gu
Y2dpJyksCi0gICMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeydx
JyA9PiAncnVieScsICdtYXgnID0+ICc1MCd9KQotICAjICAgICBwdXRzIHJl
cy5ib2R5CisgICMgICAjIEhlYWRlcnMKKyAgIyAgIHJlc1snU2V0LUNvb2tp
ZSddICAgICAgICAgICAgIyA9PiBTdHJpbmcKKyAgIyAgIHJlcy5nZXRfZmll
bGRzKCdzZXQtY29va2llJykgIyA9PiBBcnJheQorICAjICAgcmVzLnRvX2hh
c2hbJ3NldC1jb29raWUnXSAgICAjID0+IEFycmF5CisgICMgICBwdXRzICJI
ZWFkZXJzOiAje3Jlcy50b19oYXNoLmluc3BlY3R9IgogICAjCi0gICMgICAg
ICMyOiBEZXRhaWxlZCBjb250cm9sIG9mIFBPU1Qgd2l0aCBhdXRoZW50aWNh
dGlvbgorICAjICAgIyBTdGF0dXMKKyAgIyAgIHB1dHMgcmVzLmNvZGUgICAg
ICAgIyA9PiAnMjAwJworICAjICAgcHV0cyByZXMubWVzc2FnZSAgICAjID0+
ICdPSycKKyAgIyAgIHB1dHMgcmVzLmNsYXNzLm5hbWUgIyA9PiAnSFRUUE9L
JwogICAjCi0gICMgICAgIHVyaSA9IFVSSS5wYXJzZSgnaHR0cDovL3d3dy5l
eGFtcGxlLmNvbS90b2RvLmNnaScpCi0gICMgICAgIHJlcSA9IE5ldDo6SFRU
UDo6UG9zdC5uZXcodXJpLnBhdGgpCi0gICMgICAgIHJlcS5iYXNpY19hdXRo
ICdqYWNrJywgJ3Bhc3MnCi0gICMgICAgIHJlcS5zZXRfZm9ybV9kYXRhKHsn
ZnJvbScgPT4gJzIwMDUtMDEtMDEnLCAndG8nID0+ICcyMDA1LTAzLTMxJ30s
ICc7JykKLSAgIyAgICAgcmVzID0gTmV0OjpIVFRQLm5ldyh1cmkuaG9zdG5h
bWUsIHVyaS5wb3J0KS5zdGFydCB7fGh0dHB8IGh0dHAucmVxdWVzdChyZXEp
IH0KLSAgIyAgICAgY2FzZSByZXMKLSAgIyAgICAgd2hlbiBOZXQ6OkhUVFBT
dWNjZXNzLCBOZXQ6OkhUVFBSZWRpcmVjdGlvbgotICAjICAgICAgICMgT0sK
KyAgIyAgICMgQm9keQorICAjICAgcHV0cyByZXMuYm9keSBpZiByZXMucmVz
cG9uc2VfYm9keV9wZXJtaXR0ZWQ/CisgICMKKyAgIyA9PT0gRm9sbG93aW5n
IFJlZGlyZWN0aW9uCisgICMKKyAgIyBFYWNoIE5ldDo6SFRUUFJlc3BvbnNl
IG9iamVjdCBiZWxvbmdzIHRvIGEgY2xhc3MgZm9yIGl0cyByZXNwb25zZSBj
b2RlLgorICAjCisgICMgRm9yIGV4YW1wbGUsIGFsbCAyWFggcmVzcG9uc2Vz
IGFyZSBpbnN0YW5jZXMgb2YgYSBOZXQ6OkhUVFBTdWNjZXNzCisgICMgc3Vi
Y2xhc3MsIGEgM1hYIHJlc3BvbnNlIGlzIGFuIGluc3RhbmNlIG9mIGEgTmV0
OjpIVFRQUmVkaXJlY3Rpb24KKyAgIyBzdWJjbGFzcyBhbmQgYSAyMDAgcmVz
cG9uc2UgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIE5ldDo6SFRUUE9LIGNsYXNz
LiAgRm9yCisgICMgZGV0YWlscyBvZiByZXNwb25zZSBjbGFzc2VzLCBzZWUg
dGhlIHNlY3Rpb24gIkhUVFAgUmVzcG9uc2UgQ2xhc3NlcyIKKyAgIyBiZWxv
dy4KKyAgIworICAjIFVzaW5nIGEgY2FzZSBzdGF0ZW1lbnQgeW91IGNhbiBo
YW5kbGUgdmFyaW91cyB0eXBlcyBvZiByZXNwb25zZXMgcHJvcGVybHk6Cisg
ICMKKyAgIyAgIGRlZiBmZXRjaCh1cmlfc3RyLCBsaW1pdCA9IDEwKQorICAj
ICAgICAjIFlvdSBzaG91bGQgY2hvb3NlIGEgYmV0dGVyIGV4Y2VwdGlvbi4K
KyAgIyAgICAgcmFpc2UgQXJndW1lbnRFcnJvciwgJ3RvbyBtYW55IEhUVFAg
cmVkaXJlY3RzJyBpZiBsaW1pdCA9PSAwCisgICMKKyAgIyAgICAgcmVzcG9u
c2UgPSBOZXQ6OkhUVFAuZ2V0X3Jlc3BvbnNlKFVSSS5wYXJzZSh1cmlfc3Ry
KSkKKyAgIworICAjICAgICBjYXNlIHJlc3BvbnNlCisgICMgICAgIHdoZW4g
TmV0OjpIVFRQU3VjY2VzcyB0aGVuCisgICMgICAgICAgcmVzcG9uc2UKKyAg
IyAgICAgd2hlbiBOZXQ6OkhUVFBSZWRpcmVjdGlvbiB0aGVuCisgICMgICAg
ICAgbG9jYXRpb24gPSByZXNwb25zZVsnbG9jYXRpb24nXQorICAjICAgICAg
IHdhcm4gInJlZGlyZWN0ZWQgdG8gI3tsb2NhdGlvbn0iCisgICMgICAgICAg
ZmV0Y2gobG9jYXRpb24sIGxpbWl0IC0gMSkKICAgIyAgICAgZWxzZQotICAj
ICAgICAgIHJlcy5lcnJvciEKKyAgIyAgICAgICByZXNwb25zZS52YWx1ZQog
ICAjICAgICBlbmQKKyAgIyAgIGVuZAogICAjCi0gICMgICAgICMzOiBNdWx0
aXBsZSB2YWx1ZXMKLSAgIyAgICAgcmVzID0gTmV0OjpIVFRQLnBvc3RfZm9y
bShVUkkucGFyc2UoJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vc2VhcmNoLmNn
aScpLAotICAjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsncScg
PT4gWydydWJ5JywgJ3BlcmwnXSwgJ21heCcgPT4gJzUwJ30pCi0gICMgICAg
IHB1dHMgcmVzLmJvZHkKLSAgIwotICAjID09PSBBY2Nlc3NpbmcgdmlhIFBy
b3h5Ci0gICMKLSAgIyBOZXQ6OkhUVFAuUHJveHkgaXMgYW4gaHR0cCBwcm94
eSBjbGFzcy4gSXQgaGFzIHRoZSBzYW1lCi0gICMgbWV0aG9kcyBhcyBOZXQ6
OkhUVFAsIGJ1dCBpdHMgaW5zdGFuY2VzIGFsd2F5cyBjb25uZWN0IHZpYSBh
IHByb3h5LAotICAjIGluc3RlYWQgb2YgZGlyZWN0bHkgdG8gdGhlIGdpdmVu
IGhvc3QuCi0gICMKLSAgIyAgICAgcmVxdWlyZSAnbmV0L2h0dHAnCi0gICMK
LSAgIyAgICAgcHJveHlfYWRkciA9ICd5b3VyLnByb3h5Lmhvc3QnCi0gICMg
ICAgIHByb3h5X3BvcnQgPSA4MDgwCi0gICMgICAgICAgICAgICAgOgotICAj
ICAgICBOZXQ6OkhUVFA6OlByb3h5KHByb3h5X2FkZHIsIHByb3h5X3BvcnQp
LnN0YXJ0KCd3d3cuZXhhbXBsZS5jb20nKSB7fGh0dHB8Ci0gICMgICAgICAg
IyBhbHdheXMgY29ubmVjdCB0byB5b3VyLnByb3h5LmFkZHI6ODA4MAotICAj
ICAgICAgICAgICAgIDoKLSAgIyAgICAgfQotICAjCi0gICMgVGhlIHRvcC1s
ZXZlbCBOZXQ6OkhUVFAgY2xhc3MgY3JlYXRlcyBvYmplY3RzIHdoaWNoIHJl
cHJlc2VudAotICAjIEhUVFAgc2Vzc2lvbnMuCi0gICMKLSAgIyBTaW5jZSBO
ZXQ6OkhUVFAuUHJveHkgcmV0dXJucyBOZXQ6OkhUVFAgaXRzZWxmIHdoZW4g
K3Byb3h5X2FkZHIrIGlzIG5pbCwKLSAgIyB0aGVyZSdzIG5vIG5lZWQgdG8g
Y2hhbmdlIHlvdXIgY29kZSBkZXBlbmRpbmcgb24gd2hldGhlciB0aGVyZSdz
IGEgcHJveHkKLSAgIyBvciBub3QuCi0gICMKLSAgIyBUaGVyZSBhcmUgdHdv
IGFkZGl0aW9uYWwgcGFyYW1ldGVycyBpbiBOZXQ6OkhUVFAuUHJveHkgd2hp
Y2ggYWxsb3cgeW91IHRvCi0gICMgc3BlY2lmeSBhIHVzZXIgbmFtZSBhbmQg
cGFzc3dvcmQgZm9yIHRoZSBwcm94eToKLSAgIwotICAjICAgICBOZXQ6OkhU
VFA6OlByb3h5KHByb3h5X2FkZHIsIHByb3h5X3BvcnQsIHByb3h5X3VzZXIg
PSBuaWwsIHByb3h5X3Bhc3MgPSBuaWwpCi0gICMKLSAgIyBZb3UgY2FuIHVz
ZSB0aGVtIHRvIHdvcmsgd2l0aCBhdXRob3JpemF0aW9uLWVuYWJsZWQgcHJv
eGllczoKLSAgIwotICAjICAgICByZXF1aXJlICduZXQvaHR0cCcKLSAgIyAg
ICAgcmVxdWlyZSAndXJpJwotICAjCi0gICMgICAgIHByb3h5X2hvc3QgPSAn
eW91ci5wcm94eS5ob3N0JwotICAjICAgICBwcm94eV9wb3J0ID0gODA4MAot
ICAjICAgICB1cmkgPSBVUkkucGFyc2UoRU5WWydodHRwX3Byb3h5J10pCi0g
ICMgICAgIHByb3h5X3VzZXIsIHByb3h5X3Bhc3MgPSB1cmkudXNlcmluZm8u
c3BsaXQoLzovKSBpZiB1cmkudXNlcmluZm8KLSAgIyAgICAgTmV0OjpIVFRQ
OjpQcm94eShwcm94eV9ob3N0LCBwcm94eV9wb3J0LAotICAjICAgICAgICAg
ICAgICAgICAgICAgIHByb3h5X3VzZXIsIHByb3h5X3Bhc3MpLnN0YXJ0KCd3
d3cuZXhhbXBsZS5jb20nKSB7fGh0dHB8Ci0gICMgICAgICAgIyBhbHdheXMg
Y29ubmVjdCB0byB5b3VyLnByb3h5LmFkZHI6ODA4MCB1c2luZyBzcGVjaWZp
ZWQgdXNlcm5hbWUgYW5kIHBhc3N3b3JkCi0gICMgICAgICAgICAgICAgOgot
ICAjICAgICB9CisgICMgICBwcmludCBmZXRjaCgnaHR0cDovL3d3dy5ydWJ5
LWxhbmcub3JnJykKICAgIwotICAjIE5vdGUgdGhhdCBuZXQvaHR0cCBkb2Vz
IG5vdCB1c2UgdGhlIEhUVFBfUFJPWFkgZW52aXJvbm1lbnQgdmFyaWFibGUu
Ci0gICMgSWYgeW91IHdhbnQgdG8gdXNlIGEgcHJveHksIHlvdSBtdXN0IGRv
IHNvIGV4cGxpY2l0bHkuCisgICMgPT09IFBPU1QKICAgIwotICAjID09PSBG
b2xsb3dpbmcgUmVkaXJlY3Rpb24KKyAgIyBBIFBPU1QgY2FuIGJlIG1hZGUg
dXNpbmcgdGhlIE5ldDo6SFRUUDo6UG9zdCByZXF1ZXN0IGNsYXNzLiAgVGhp
cyBleGFtcGxlCisgICMgY3JlYXRlcyBhIHVybGVuY29kZWQgUE9TVCBib2R5
OgogICAjCi0gICMgICAgIHJlcXVpcmUgJ25ldC9odHRwJwotICAjICAgICBy
ZXF1aXJlICd1cmknCisgICMgICB1cmkgPSBVUkkucGFyc2UoJ2h0dHA6Ly93
d3cuZXhhbXBsZS5jb20vdG9kby5jZ2knKQorICAjICAgcmVxID0gTmV0OjpI
VFRQOjpQb3N0Lm5ldyh1cmkucGF0aCkKKyAgIyAgIHJlcS5zZXRfZm9ybV9k
YXRhKCdmcm9tJyA9PiAnMjAwNS0wMS0wMScsICd0bycgPT4gJzIwMDUtMDMt
MzEnKQogICAjCi0gICMgICAgIGRlZiBmZXRjaCh1cmlfc3RyLCBsaW1pdCA9
IDEwKQotICAjICAgICAgICMgWW91IHNob3VsZCBjaG9vc2UgYmV0dGVyIGV4
Y2VwdGlvbi4KLSAgIyAgICAgICByYWlzZSBBcmd1bWVudEVycm9yLCAnSFRU
UCByZWRpcmVjdCB0b28gZGVlcCcgaWYgbGltaXQgPT0gMAotICAjCi0gICMg
ICAgICAgcmVzcG9uc2UgPSBOZXQ6OkhUVFAuZ2V0X3Jlc3BvbnNlKFVSSS5w
YXJzZSh1cmlfc3RyKSkKLSAgIyAgICAgICBjYXNlIHJlc3BvbnNlCi0gICMg
ICAgICAgd2hlbiBOZXQ6OkhUVFBTdWNjZXNzICAgICB0aGVuIHJlc3BvbnNl
Ci0gICMgICAgICAgd2hlbiBOZXQ6OkhUVFBSZWRpcmVjdGlvbiB0aGVuIGZl
dGNoKHJlc3BvbnNlWydsb2NhdGlvbiddLCBsaW1pdCAtIDEpCi0gICMgICAg
ICAgZWxzZQotICAjICAgICAgICAgcmVzcG9uc2UuZXJyb3IhCi0gICMgICAg
ICAgZW5kCi0gICMgICAgIGVuZAorICAjICAgcmVzID0gTmV0OjpIVFRQLm5l
dyh1cmkuaG9zdG5hbWUsIHVyaS5wb3J0KS5zdGFydCBkbyB8aHR0cHwKKyAg
IyAgICAgaHR0cC5yZXF1ZXN0KHJlcSkKKyAgIyAgIGVuZAogICAjCi0gICMg
ICAgIHByaW50IGZldGNoKCdodHRwOi8vd3d3LnJ1YnktbGFuZy5vcmcnKQor
ICAjICAgY2FzZSByZXMKKyAgIyAgIHdoZW4gTmV0OjpIVFRQU3VjY2Vzcywg
TmV0OjpIVFRQUmVkaXJlY3Rpb24KKyAgIyAgICAgIyBPSworICAjICAgZWxz
ZQorICAjICAgICByZXMudmFsdWUKKyAgIyAgIGVuZAogICAjCi0gICMgTmV0
OjpIVFRQU3VjY2VzcyBhbmQgTmV0OjpIVFRQUmVkaXJlY3Rpb24gYXJlIEhU
VFBSZXNwb25zZSBzdWJjbGFzc2VzLgotICAjIEFsbCBIVFRQUmVzcG9uc2Ug
b2JqZWN0cyBiZWxvbmcgdG8gdGhlaXIgb3duIHJlc3BvbnNlIGNsYXNzLCB3
aGljaAotICAjIGluZGljYXRlcyB0aGUgSFRUUCByZXN1bHQgc3RhdHVzLiBG
b3IgZGV0YWlscyBvZiB0aGUgcmVzcG9uc2UgY2xhc3NlcywKLSAgIyBzZWUg
dGhlIHNlY3Rpb24gIkhUVFAgUmVzcG9uc2UgQ2xhc3NlcyIuCisgICMgQXQg
dGhpcyB0aW1lIE5ldDo6SFRUUCBkb2VzIG5vdCBzdXBwb3J0IG11bHRpcGFy
dC9mb3JtLWRhdGEuICBUbyBzZW5kCisgICMgbXVsdGlwYXJ0L2Zvcm0tZGF0
YSB1c2UgTmV0OjpIVFRQUmVxdWVzdCNib2R5PSBhbmQKKyAgIyBOZXQ6OkhU
VFBSZXF1ZXN0I2NvbnRlbnRfdHlwZT06CiAgICMKLSAgIyA9PT0gRnVsbCBl
eGFtcGxlIHdpdGggcmV0cnlpbmcgYW5kIGVycm9yIHJlcG9ydGluZworICAj
ICAgcmVxID0gTmV0OjpIVFRQOjpQb3N0Lm5ldyh1cmkucGF0aCkKKyAgIyAg
IHJlcS5ib2R5ID0gbXVsdGlwYXJ0X2RhdGEKKyAgIyAgIHJlcS5jb250ZW50
X3R5cGUgPSAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScKICAgIwotICAjICAgICBy
ZXF1aXJlICd1cmknCi0gICMgICAgIHJlcXVpcmUgJ25ldC9odHRwJworICAj
IE90aGVyIHJlcXVlc3RzIHRoYXQgY2FuIGNvbnRhaW4gYSBib2R5IHN1Y2gg
YXMgUFVUIGNhbiBiZSBjcmVhdGVkIGluIHRoZQorICAjIHNhbWUgd2F5IHVz
aW5nIHRoZSBjb3JyZXNwb25kaW5nIHJlcXVlc3QgY2xhc3MgKE5ldDo6SFRU
UDo6UHV0KS4KICAgIwotICAjICAgICB1cmwgPSAiaHR0cDovL3d3dy5leGFt
cGxlLmNvbS8iCisgICMgPT09IFNldHRpbmcgSGVhZGVycwogICAjCi0gICMg
ICAgICMgQnJlYWsgYXBhcnQgdGhlIFVSTAotICAjICAgICB1cmkgPSBVUkku
cGFyc2UodXJsKQotICAjICAgICAjIFJlYXNzZW1ibGUgdGhlIHBhdGggZm9y
IHRoZSBIVFRQIHJlcXVlc3QKLSAgIyAgICAgaWYgdXJpLnF1ZXJ5Ci0gICMg
ICAgICAgcGF0aCA9IHVyaS5wYXRoICsgJz8nICsgdXJpLnF1ZXJ5Ci0gICMg
ICAgIGVsc2UKLSAgIyAgICAgICBwYXRoID0gdXJpLnBhdGgKLSAgIyAgICAg
ZW5kCisgICMgVGhlIGZvbGxvd2luZyBleGFtcGxlIHBlcmZvcm1zIGEgY29u
ZGl0aW9uYWwgR0VUIHVzaW5nIHRoZQorICAjIElmLU1vZGlmaWVkLVNpbmNl
IGhlYWRlci4gIElmIHRoZSBmaWxlcyBoYXMgbm90IGJlZW4gbW9kaWZpZWQg
c2luY2UgdGhlCisgICMgdGltZSBpbiB0aGUgaGVhZGVyIGEgTm90IE1vZGlm
aWVkIHJlc3BvbnNlIHdpbGwgYmUgcmV0dXJuZWQuICBTZWUgUkZDIDI2MTYK
KyAgIyBzZWN0aW9uIDkuMyBmb3IgZnVydGhlciBkZXRhaWxzLgogICAjCi0g
ICMgICAgICMgQ3JlYXRlIGEgcmVxdWVzdCBvYmplY3QKLSAgIyAgICAgcmVx
dWVzdCA9IE5ldDo6SFRUUDo6R2V0Lm5ldyhwYXRoKQorICAjICAgdXJpID0g
VVJJLnBhcnNlKCdodHRwOi8vZXhhbXBsZS5jb20vY2FjaGVkX3Jlc3BvbnNl
JykKKyAgIyAgIGZpbGUgPSBGaWxlLnN0YXQgJ2NhY2hlZF9yZXNwb25zZScK
ICAgIwotICAjICAgICAjIFByZXBhcmUgYW4gSFRUUCBjb25uZWN0aW9uIG9i
amVjdAotICAjICAgICBodHRwID0gTmV0OjpIVFRQLm5ldyh1cmkuaG9zdCwg
dXJpLnBvcnQpCisgICMgICByZXEgPSBOZXQ6OkhUVFA6OkdldC5uZXcodXJp
LnJlcXVlc3RfdXJpKQorICAjICAgcmVxWydJZi1Nb2RpZmllZC1TaW5jZSdd
ID0gZmlsZS5tdGltZS5yZmMyODIyCiAgICMKLSAgIyAgICAgIyBPcGVuIHRo
ZSBjb25uZWN0aW9uIGFuZCBpc3N1ZSB0aGUgcmVxdWVzdCwgcmV0cnlpbmcg
dXAgdG8gMyB0aW1lcyBpZiB0aGVyZQotICAjICAgICAjIGlzIGEgdGltZW91
dAotICAjICAgICBhdHRlbXB0cyA9IDEKLSAgIyAgICAgYmVnaW4KLSAgIyAg
ICAgICByZXNwb25zZSA9IGh0dHAucmVxdWVzdChyZXF1ZXN0KQotICAjICAg
ICByZXNjdWUgRXhjZXB0aW9uID0+IGUKLSAgIyAgICAgICBwdXRzIGUKLSAg
IyAgICAgICBwdXRzICJbUmV0cnlpbmddIgotICAjICAgICAgIGF0dGVtcHRz
ICs9IDEKLSAgIyAgICAgICByZXRyeSBpZiBhdHRlbXB0cyA8PSAzCi0gICMg
ICAgIGVuZAorICAjICAgcmVzID0gTmV0OjpIVFRQLnN0YXJ0KHVyaS5ob3N0
bmFtZSwgdXJpLnBvcnQpIHt8aHR0cHwKKyAgIyAgICAgaHR0cC5yZXF1ZXN0
KHJlcSkKKyAgIyAgIH0KICAgIwotICAjICAgICAjIFJlcG9ydCB0aGUgcmVz
dWx0Ci0gICMgICAgIGlmIHJlc3BvbnNlLmtpbmRfb2Y/IE5ldDo6SFRUUFN1
Y2Nlc3MKLSAgIyAgICAgICBwdXRzIHJlc3BvbnNlLmJvZHkKLSAgIyAgICAg
ZWxzZQotICAjICAgICAgIHJhaXNlICJFcnJvciBmZXRjaGluZyAje3VybH06
ICN7cmVzcG9uc2UuY29kZX0gI3tyZXNwb25zZS5tZXNzYWdlfSIKLSAgIyAg
ICAgZW5kCisgICMgICBvcGVuICdjYWNoZWRfcmVzcG9uc2UnLCAndycgZG8g
fGlvfAorICAjICAgICBpby53cml0ZSByZXMuYm9keQorICAjICAgZW5kIGlm
IHJlcy5pc19hPyhOZXQ6OkhUVFBTdWNjZXNzKQogICAjCi0gICMgPT09IEhU
VFAgUmVxdWVzdCBDbGFzc2VzCisgICMgPT09IEJhc2ljIEF1dGhlbnRpY2F0
aW9uCiAgICMKLSAgIyBIZXJlIGlzIEhUVFAgcmVxdWVzdCBjbGFzcyBoaWVy
YXJjaHkuCisgICMgQmFzaWMgYXV0aGVudGljYXRpb24gaXMgcGVyZm9ybWVk
IGFjY29yZGluZyB0bworICAjIFtSRkMyNjE3XShodHRwOi8vd3d3LmlldGYu
b3JnL3JmYy9yZmMyNjE3LnR4dCkKICAgIwotICAjICAgTmV0OjpIVFRQUmVx
dWVzdAotICAjICAgICAgIE5ldDo6SFRUUDo6R2V0Ci0gICMgICAgICAgTmV0
OjpIVFRQOjpIZWFkCi0gICMgICAgICAgTmV0OjpIVFRQOjpQb3N0Ci0gICMg
ICAgICAgTmV0OjpIVFRQOjpQdXQKLSAgIyAgICAgICBOZXQ6OkhUVFA6OlBy
b3BwYXRjaAotICAjICAgICAgIE5ldDo6SFRUUDo6TG9jawotICAjICAgICAg
IE5ldDo6SFRUUDo6VW5sb2NrCi0gICMgICAgICAgTmV0OjpIVFRQOjpPcHRp
b25zCi0gICMgICAgICAgTmV0OjpIVFRQOjpQcm9wZmluZAotICAjICAgICAg
IE5ldDo6SFRUUDo6RGVsZXRlCi0gICMgICAgICAgTmV0OjpIVFRQOjpNb3Zl
Ci0gICMgICAgICAgTmV0OjpIVFRQOjpDb3B5Ci0gICMgICAgICAgTmV0OjpI
VFRQOjpNa2NvbAotICAjICAgICAgIE5ldDo6SFRUUDo6VHJhY2UKKyAgIyAg
IHVyaSA9IFVSSS5wYXJzZSgnaHR0cDovL2V4YW1wbGUuY29tL2luZGV4Lmh0
bWw/a2V5PXZhbHVlJykKICAgIwotICAjID09PSBIVFRQIFJlc3BvbnNlIENs
YXNzZXMKKyAgIyAgIHJlcSA9IE5ldDo6SFRUUDo6R2V0Lm5ldyh1cmkucmVx
dWVzdF91cmkpCisgICMgICByZXEuYmFzaWNfYXV0aCAndXNlcicsICdwYXNz
JwogICAjCi0gICMgVGhlIHJlcXVlc3QoKSBtZXRob2QgcmV0dXJucyBhIHJl
c3BvbnNlIG9mIGEgc3BlY2lmaWMgY2xhc3MsIGRlcGVuZGluZwotICAjIG9u
IHRoZSByZXN1bHQgb2YgdGhlIEhUVFAgcmVxdWVzdC4KKyAgIyAgIHJlcyA9
IE5ldDo6SFRUUC5zdGFydCh1cmkuaG9zdG5hbWUsIHVyaS5wb3J0KSB7fGh0
dHB8CisgICMgICAgIGh0dHAucmVxdWVzdChyZXEpCisgICMgICB9CisgICMg
ICBwdXRzIHJlcy5ib2R5CiAgICMKLSAgIyBUbyBoYW5kbGUgdGhlIHJlc3Vs
dCwgeW91IGNhbiB1c2UgY2FzZS93aGVuIHN0YXRlbWVudHMuIEV4YW1wbGU6
CisgICMgPT09IFN0cmVhbWluZyBSZXNwb25zZSBCb2RpZXMKICAgIwotICAj
ICAgICByZXNwb25zZSA9IGh0dHAucmVxdWVzdChyZXEpCi0gICMgICAgIGNh
c2UgcmVzcG9uc2UKLSAgIyAgICAgICB3aGVuIE5ldDo6SFRUUFN1Y2Nlc3MK
LSAgIyAgICAgICAgICMgU3VjY2VlZGVkCi0gICMgICAgICAgd2hlbiBOZXQ6
OkhUVFBJbmZvcm1hdGlvbgotICAjICAgICAgICAgIyBDb250aW51aW5nIHBy
b2Nlc3MKLSAgIyAgICAgICB3aGVuIE5ldDo6SFRUUFJlZGlyZWN0aW9uCi0g
ICMgICAgICAgICAjIFBhZ2UgaGFzIG1vdmVkLCBoYW5kbGUgcmVkaXJlY3QK
LSAgIyAgICAgICB3aGVuIE5ldDo6SFRUUENsaWVudEVycm9yCi0gICMgICAg
ICAgICAjIENsaWVudCBpcyB3cm9uZwotICAjICAgICAgIHdoZW4gTmV0OjpI
VFRQU2VydmVyRXJyb3IKLSAgIyAgICAgICAgICMgU2l0ZSBpcyBicm9rZW4K
LSAgIyAgICAgICBlbHNlCi0gICMgICAgICAgICAjIFVua25vd24KKyAgIyBC
eSBkZWZhdWx0IE5ldDo6SFRUUCByZWFkcyBhbiBlbnRpcmUgcmVzcG9uc2Ug
aW50byBtZW1vcnkuICBJZiB5b3UgYXJlCisgICMgaGFuZGxpbmcgbGFyZ2Ug
ZmlsZXMgb3Igd2lzaCB0byBpbXBsZW1lbnQgYSBwcm9ncmVzcyBiYXIgeW91
IGNhbiBpbnN0ZWFkCisgICMgc3RyZWFtIHRoZSBib2R5IGRpcmVjdGx5IHRv
IGFuIElPLgorICAjCisgICMgICB1cmkgPSBVUkkucGFyc2UgJ2h0dHA6Ly9l
eGFtcGxlLmNvbS9sYXJnZV9maWxlJworICAjCisgICMgICBOZXQ6OkhUVFAu
c3RhcnQgdXJpLmhvc3QsIHVyaS5wb3J0IGRvIHxodHRwfAorICAjICAgICBy
ZXF1ZXN0ID0gTmV0OjpIVFRQOjpHZXQubmV3IHVyaS5yZXF1ZXN0X3VyaQor
ICAjCisgICMgICAgIGh0dHAucmVxdWVzdCByZXF1ZXN0IGRvIHxyZXNwb25z
ZXwKKyAgIyAgICAgICBvcGVuICdsYXJnZV9maWxlJywgJ3cnIGRvIHxpb3wK
KyAgIyAgICAgICAgIHJlc3BvbnNlLnJlYWRfYm9keSBkbyB8Y2h1bmt8Cisg
ICMgICAgICAgICAgIGlvLndyaXRlIGNodW5rCisgICMgICAgICAgICBlbmQK
KyAgIyAgICAgICBlbmQKICAgIyAgICAgZW5kCisgICMgICBlbmQKKyAgIwor
ICAjID09PSBIVFRQUworICAjCisgICMgSFRUUFMgaXMgZW5hYmxlZCBmb3Ig
YW4gSFRUUCBjb25uZWN0aW9uIGJ5IE5ldDo6SFRUUCN1c2Vfc3NsPS4KKyAg
IworICAjICAgdXJpID0gVVJJLnBhcnNlICdodHRwczovL3NlY3VyZS5leGFt
cGxlLmNvbS9zb21lX3BhdGg/cXVlcnk9c3RyaW5nJworICAjCisgICMgICBO
ZXQ6OkhUVFAubmV3IHVyaS5ob3N0LCB1cmkucG9ydAorICAjICAgaHR0cC51
c2Vfc3NsID0gdXJpLnNjaGVtZSA9PSAnaHR0cHMnCisgICMKKyAgIyAgIGh0
dHAuc3RhcnQgZG8KKyAgIyAgICAgcmVxdWVzdCA9IE5ldDo6SFRUUDo6R2V0
Lm5ldyB1cmkucmVxdWVzdF91cmkKKyAgIworICAjICAgICByZXNwb25zZSA9
IGh0dHAucmVxdWVzdCByZXF1ZXN0ICMgTmV0OjpIVFRQUmVzcG9uc2Ugb2Jq
ZWN0CisgICMgICBlbmQKKyAgIworICAjIEluIHByZXZpb3VzIHZlcnNpb25z
IG9mIHJ1YnkgeW91IHdvdWxkIG5lZWQgdG8gcmVxdWlyZSAnbmV0L2h0dHBz
JyB0byB1c2UKKyAgIyBIVFRQUy4gIFRoaXMgaXMgbm8gbG9uZ2VyIHRydWUu
CisgICMKKyAgIyA9PT0gUHJveGllcworICAjCisgICMgTmV0OjpIVFRQOjpQ
cm94eSBoYXMgdGhlIHNhbWUgbWV0aG9kcyBhcyBOZXQ6OkhUVFAgYnV0IGl0
cyBpbnN0YW5jZXMgYWx3YXlzCisgICMgY29ubmVjdCB2aWEgdGhlIHByb3h5
IGluc3RlYWQgb2YgZGlyZWN0bHkgdG8gdGhlIGdpdmVuIGhvc3QuCisgICMK
KyAgIyAgIHByb3h5X2FkZHIgPSAneW91ci5wcm94eS5ob3N0JworICAjICAg
cHJveHlfcG9ydCA9IDgwODAKKyAgIworICAjICAgTmV0OjpIVFRQOjpQcm94
eShwcm94eV9hZGRyLCBwcm94eV9wb3J0KS5zdGFydCgnd3d3LmV4YW1wbGUu
Y29tJykge3xodHRwfAorICAjICAgICAjIGFsd2F5cyBjb25uZWN0IHRvIHlv
dXIucHJveHkuYWRkcjo4MDgwCisgICMgICB9CisgICMKKyAgIyBOZXQ6OkhU
VFA6OlByb3h5IHJldHVybnMgYSBOZXQ6OkhUVFAgaW5zdGFuY2Ugd2hlbiBw
cm94eV9hZGRyIGlzIG5pbCBzbworICAjIHRoZXJlIGlzIG5vIG5lZWQgZm9y
IGNvbmRpdGlvbmFsIGNvZGUuCisgICMKKyAgIyBTZWUgTmV0OjpIVFRQOjpQ
cm94eSBmb3IgZnVydGhlciBkZXRhaWxzIGFuZCBleGFtcGxlcyBzdWNoIGFz
IHByb3hpZXMgdGhhdAorICAjIHJlcXVpcmUgYSB1c2VybmFtZSBhbmQgcGFz
c3dvcmQuCisgICMKKyAgIyA9PSBTaW1wbGUgRXhhbXBsZXMKKyAgIworICAj
IFRoZSBOZXQ6OkhUVFAgbWV0aG9kcyBpbiB0aGUgZm9sbG93aW5nIGV4YW1w
bGVzIGRvIG5vdCBwZXJzaXN0CisgICMgY29ubmVjdGlvbnMuICBUaGV5IGFy
ZSBub3QgcmVjb21tZW5kZWQgaWYgeW91IGFyZSBwZXJmb3JtaW5nIG1hbnkg
SFRUUAorICAjIHJlcXVlc3RzLgorICAjCisgICMgPT09IEdFVAorICAjCisg
ICMgICBOZXQ6OkhUVFAuZ2V0KCdleGFtcGxlLmNvbScsICcvaW5kZXguaHRt
bCcpICMgPT4gU3RyaW5nCisgICMKKyAgIyA9PT0gR0VUIGJ5IFVSSQorICAj
CisgICMgICB1cmkgPSBVUkkucGFyc2UoJ2h0dHA6Ly9leGFtcGxlLmNvbS9p
bmRleC5odG1sP2NvdW50PTEwJykKKyAgIyAgIE5ldDo6SFRUUC5nZXQodXJp
KSAjID0+IFN0cmluZworICAjCisgICMgPT09IEdFVCB3aXRoIER5bmFtaWMg
UGFyYW1ldGVycworICAjCisgICMgICB1cmkgPSBVUkkucGFyc2UoJ2h0dHA6
Ly9leGFtcGxlLmNvbS9pbmRleC5odG1sJykKKyAgIyAgIHBhcmFtcyA9IHsg
OmxpbWl0ID0+IDEwLCA6cGFnZSA9PiAzIH0KKyAgIyAgIHVyaS5xdWVyeSA9
IFVSSS5lbmNvZGVfd3d3X2Zvcm0ocGFyYW1zKQorICAjCisgICMgICByZXMg
PSBOZXQ6OkhUVFAuZ2V0X3Jlc3BvbnNlKHVyaSkKKyAgIyAgIHB1dHMgcmVz
LmJvZHkgaWYgcmVzLmlzX2E/KE5ldDo6SFRUUFN1Y2Nlc3MpCisgICMKKyAg
IyA9PT0gUE9TVAorICAjCisgICMgICB1cmkgPSBVUkkucGFyc2UoJ2h0dHA6
Ly93d3cuZXhhbXBsZS5jb20vc2VhcmNoLmNnaScpCisgICMgICByZXMgPSBO
ZXQ6OkhUVFAucG9zdF9mb3JtKHVyaSwgJ3EnID0+ICdydWJ5JywgJ21heCcg
PT4gJzUwJykKKyAgIyAgIHB1dHMgcmVzLmJvZHkKKyAgIworICAjID09PSBQ
T1NUIHdpdGggTXVsdGlwbGUgVmFsdWVzCisgICMKKyAgIyAgIHVyaSA9IFVS
SS5wYXJzZSgnaHR0cDovL3d3dy5leGFtcGxlLmNvbS9zZWFyY2guY2dpJykK
KyAgIyAgIHJlcyA9IE5ldDo6SFRUUC5wb3N0X2Zvcm0odXJpLCAncScgPT4g
WydydWJ5JywgJ3BlcmwnXSwgJ21heCcgPT4gJzUwJykKKyAgIyAgIHB1dHMg
cmVzLmJvZHkKKyAgIworICAjID09IEhUVFAgUmVxdWVzdCBDbGFzc2VzCisg
ICMKKyAgIyBIZXJlIGlzIHRoZSBIVFRQIHJlcXVlc3QgY2xhc3MgaGllcmFy
Y2h5LgorICAjCisgICMgKiBOZXQ6OkhUVFBSZXF1ZXN0CisgICMgICAqIE5l
dDo6SFRUUDo6R2V0CisgICMgICAqIE5ldDo6SFRUUDo6SGVhZAorICAjICAg
KiBOZXQ6OkhUVFA6OlBvc3QKKyAgIyAgICogTmV0OjpIVFRQOjpQdXQKKyAg
IyAgICogTmV0OjpIVFRQOjpQcm9wcGF0Y2gKKyAgIyAgICogTmV0OjpIVFRQ
OjpMb2NrCisgICMgICAqIE5ldDo6SFRUUDo6VW5sb2NrCisgICMgICAqIE5l
dDo6SFRUUDo6T3B0aW9ucworICAjICAgKiBOZXQ6OkhUVFA6OlByb3BmaW5k
CisgICMgICAqIE5ldDo6SFRUUDo6RGVsZXRlCisgICMgICAqIE5ldDo6SFRU
UDo6TW92ZQorICAjICAgKiBOZXQ6OkhUVFA6OkNvcHkKKyAgIyAgICogTmV0
OjpIVFRQOjpNa2NvbAorICAjICAgKiBOZXQ6OkhUVFA6OlRyYWNlCisgICMK
KyAgIyA9PSBIVFRQIFJlc3BvbnNlIENsYXNzZXMKKyAgIworICAjIEhlcmUg
aXMgSFRUUCByZXNwb25zZSBjbGFzcyBoaWVyYXJjaHkuICBBbGwgY2xhc3Nl
cyBhcmUgZGVmaW5lZCBpbiBOZXQKKyAgIyBtb2R1bGUgYW5kIGFyZSBzdWJj
bGFzc2VzIG9mIE5ldDo6SFRUUFJlc3BvbnNlLgorICAjCisgICMgSFRUUFVu
a25vd25SZXNwb25zZTo6IEZvciB1bmhhbmRsZWQgSFRUUCBleHRlbmVuc2lv
bnMKKyAgIyBIVFRQSW5mb3JtYXRpb246OiAgICAgICAgICAgICAgICAgICAg
MXh4CisgICMgICBIVFRQQ29udGludWU6OiAgICAgICAgICAgICAgICAgICAg
ICAgIDEwMAorICAjICAgSFRUUFN3aXRjaFByb3RvY29sOjogICAgICAgICAg
ICAgICAgICAxMDEKKyAgIyBIVFRQU3VjY2Vzczo6ICAgICAgICAgICAgICAg
ICAgICAgICAgMnh4CisgICMgICBIVFRQT0s6OiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDIwMAorICAjICAgSFRUUENyZWF0ZWQ6OiAgICAgICAg
ICAgICAgICAgICAgICAgICAyMDEKKyAgIyAgIEhUVFBBY2NlcHRlZDo6ICAg
ICAgICAgICAgICAgICAgICAgICAgMjAyCisgICMgICBIVFRQTm9uQXV0aG9y
aXRhdGl2ZUluZm9ybWF0aW9uOjogICAgIDIwMworICAjICAgSFRUUE5vQ29u
dGVudDo6ICAgICAgICAgICAgICAgICAgICAgICAyMDQKKyAgIyAgIEhUVFBS
ZXNldENvbnRlbnQ6OiAgICAgICAgICAgICAgICAgICAgMjA1CisgICMgICBI
VFRQUGFydGlhbENvbnRlbnQ6OiAgICAgICAgICAgICAgICAgIDIwNgorICAj
IEhUVFBSZWRpcmVjdGlvbjo6ICAgICAgICAgICAgICAgICAgICAzeHgKKyAg
IyAgIEhUVFBNdWx0aXBsZUNob2ljZTo6ICAgICAgICAgICAgICAgICAgMzAw
CisgICMgICBIVFRQTW92ZWRQZXJtYW5lbnRseTo6ICAgICAgICAgICAgICAg
IDMwMQorICAjICAgSFRUUEZvdW5kOjogICAgICAgICAgICAgICAgICAgICAg
ICAgICAzMDIKKyAgIyAgIEhUVFBTZWVPdGhlcjo6ICAgICAgICAgICAgICAg
ICAgICAgICAgMzAzCisgICMgICBIVFRQTm90TW9kaWZpZWQ6OiAgICAgICAg
ICAgICAgICAgICAgIDMwNAorICAjICAgSFRUUFVzZVByb3h5OjogICAgICAg
ICAgICAgICAgICAgICAgICAzMDUKKyAgIyAgIEhUVFBUZW1wb3JhcnlSZWRp
cmVjdDo6ICAgICAgICAgICAgICAgMzA3CisgICMgSFRUUENsaWVudEVycm9y
OjogICAgICAgICAgICAgICAgICAgIDR4eAorICAjICAgSFRUUEJhZFJlcXVl
c3Q6OiAgICAgICAgICAgICAgICAgICAgICA0MDAKKyAgIyAgIEhUVFBVbmF1
dGhvcml6ZWQ6OiAgICAgICAgICAgICAgICAgICAgNDAxCisgICMgICBIVFRQ
UGF5bWVudFJlcXVpcmVkOjogICAgICAgICAgICAgICAgIDQwMgorICAjICAg
SFRUUEZvcmJpZGRlbjo6ICAgICAgICAgICAgICAgICAgICAgICA0MDMKKyAg
IyAgIEhUVFBOb3RGb3VuZDo6ICAgICAgICAgICAgICAgICAgICAgICAgNDA0
CisgICMgICBIVFRQTWV0aG9kTm90QWxsb3dlZDo6ICAgICAgICAgICAgICAg
IDQwNQorICAjICAgSFRUUE5vdEFjY2VwdGFibGU6OiAgICAgICAgICAgICAg
ICAgICA0MDYKKyAgIyAgIEhUVFBQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWly
ZWQ6OiAgICAgNDA3CisgICMgICBIVFRQUmVxdWVzdFRpbWVPdXQ6OiAgICAg
ICAgICAgICAgICAgIDQwOAorICAjICAgSFRUUENvbmZsaWN0OjogICAgICAg
ICAgICAgICAgICAgICAgICA0MDkKKyAgIyAgIEhUVFBHb25lOjogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgNDEwCisgICMgICBIVFRQTGVuZ3RoUmVx
dWlyZWQ6OiAgICAgICAgICAgICAgICAgIDQxMQorICAjICAgSFRUUFByZWNv
bmRpdGlvbkZhaWxlZDo6ICAgICAgICAgICAgICA0MTIKKyAgIyAgIEhUVFBS
ZXF1ZXN0RW50aXR5VG9vTGFyZ2U6OiAgICAgICAgICAgNDEzCisgICMgICBI
VFRQUmVxdWVzdFVSSVRvb0xvbmc6OiAgICAgICAgICAgICAgIDQxNAorICAj
ICAgSFRUUFVuc3VwcG9ydGVkTWVkaWFUeXBlOjogICAgICAgICAgICA0MTUK
KyAgIyAgIEhUVFBSZXF1ZXN0ZWRSYW5nZU5vdFNhdGlzZmlhYmxlOjogICAg
NDE2CisgICMgICBIVFRQRXhwZWN0YXRpb25GYWlsZWQ6OiAgICAgICAgICAg
ICAgIDQxNworICAjIEhUVFBTZXJ2ZXJFcnJvcjo6ICAgICAgICAgICAgICAg
ICAgICA1eHgKKyAgIyAgIEhUVFBJbnRlcm5hbFNlcnZlckVycm9yOjogICAg
ICAgICAgICAgNTAwCisgICMgICBIVFRQTm90SW1wbGVtZW50ZWQ6OiAgICAg
ICAgICAgICAgICAgIDUwMQorICAjICAgSFRUUEJhZEdhdGV3YXk6OiAgICAg
ICAgICAgICAgICAgICAgICA1MDIKKyAgIyAgIEhUVFBTZXJ2aWNlVW5hdmFp
bGFibGU6OiAgICAgICAgICAgICAgNTAzCisgICMgICBIVFRQR2F0ZXdheVRp
bWVPdXQ6OiAgICAgICAgICAgICAgICAgIDUwNAorICAjICAgSFRUUFZlcnNp
b25Ob3RTdXBwb3J0ZWQ6OiAgICAgICAgICAgICA1MDUKICAgIwotICAjIFRo
ZSBIVFRQUmVzcG9uc2UgY2xhc3NlcyBhbGwgcHJvdmlkZSArY29kZSsgYW5k
ICttZXNzYWdlKyBhY2Nlc3NvcnMgdG8KLSAgIyBvYnRhaW4gdGhlIDMtZGln
aXQgSFRUUCByZXN1bHQgY29kZSBhbmQgdGhlIEhUVFAgcmVzdWx0IG1lc3Nh
Z2Ugc2VudCBieQotICAjIHRoZSBzZXJ2ZXIuCi0gICMKLSAgIyBIZXJlIGlz
IEhUVFAgcmVzcG9uc2UgY2xhc3MgaGllcmFyY2h5LgotICAjIEFsbCBjbGFz
c2VzIGFyZSBkZWZpbmVkIGluIE5ldCBtb2R1bGUuCi0gICMKLSAgIyAgIEhU
VFBSZXNwb25zZQotICAjICAgICAgIEhUVFBVbmtub3duUmVzcG9uc2UKLSAg
IyAgICAgICBIVFRQSW5mb3JtYXRpb24gICAgICAgICAgICAgICAgICAgICMg
MXh4Ci0gICMgICAgICAgICAgIEhUVFBDb250aW51ZSAgICAgICAgICAgICAg
ICAgICAgICAgIyAxMDAKLSAgIyAgICAgICAgICAgSFRUUFN3aXRjaFByb3Rv
Y29sICAgICAgICAgICAgICAgICAjIDEwMQotICAjICAgICAgIEhUVFBTdWNj
ZXNzICAgICAgICAgICAgICAgICAgICAgICAgIyAyeHgKLSAgIyAgICAgICAg
ICAgSFRUUE9LICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIDIwMAot
ICAjICAgICAgICAgICBIVFRQQ3JlYXRlZCAgICAgICAgICAgICAgICAgICAg
ICAgICMgMjAxCi0gICMgICAgICAgICAgIEhUVFBBY2NlcHRlZCAgICAgICAg
ICAgICAgICAgICAgICAgIyAyMDIKLSAgIyAgICAgICAgICAgSFRUUE5vbkF1
dGhvcml0YXRpdmVJbmZvcm1hdGlvbiAgICAjIDIwMwotICAjICAgICAgICAg
ICBIVFRQTm9Db250ZW50ICAgICAgICAgICAgICAgICAgICAgICMgMjA0Ci0g
ICMgICAgICAgICAgIEhUVFBSZXNldENvbnRlbnQgICAgICAgICAgICAgICAg
ICAgIyAyMDUKLSAgIyAgICAgICAgICAgSFRUUFBhcnRpYWxDb250ZW50ICAg
ICAgICAgICAgICAgICAjIDIwNgotICAjICAgICAgIEhUVFBSZWRpcmVjdGlv
biAgICAgICAgICAgICAgICAgICAgIyAzeHgKLSAgIyAgICAgICAgICAgSFRU
UE11bHRpcGxlQ2hvaWNlICAgICAgICAgICAgICAgICAjIDMwMAotICAjICAg
ICAgICAgICBIVFRQTW92ZWRQZXJtYW5lbnRseSAgICAgICAgICAgICAgICMg
MzAxCi0gICMgICAgICAgICAgIEhUVFBGb3VuZCAgICAgICAgICAgICAgICAg
ICAgICAgICAgIyAzMDIKLSAgIyAgICAgICAgICAgSFRUUFNlZU90aGVyICAg
ICAgICAgICAgICAgICAgICAgICAjIDMwMwotICAjICAgICAgICAgICBIVFRQ
Tm90TW9kaWZpZWQgICAgICAgICAgICAgICAgICAgICMgMzA0Ci0gICMgICAg
ICAgICAgIEhUVFBVc2VQcm94eSAgICAgICAgICAgICAgICAgICAgICAgIyAz
MDUKLSAgIyAgICAgICAgICAgSFRUUFRlbXBvcmFyeVJlZGlyZWN0ICAgICAg
ICAgICAgICAjIDMwNwotICAjICAgICAgIEhUVFBDbGllbnRFcnJvciAgICAg
ICAgICAgICAgICAgICAgIyA0eHgKLSAgIyAgICAgICAgICAgSFRUUEJhZFJl
cXVlc3QgICAgICAgICAgICAgICAgICAgICAjIDQwMAotICAjICAgICAgICAg
ICBIVFRQVW5hdXRob3JpemVkICAgICAgICAgICAgICAgICAgICMgNDAxCi0g
ICMgICAgICAgICAgIEhUVFBQYXltZW50UmVxdWlyZWQgICAgICAgICAgICAg
ICAgIyA0MDIKLSAgIyAgICAgICAgICAgSFRUUEZvcmJpZGRlbiAgICAgICAg
ICAgICAgICAgICAgICAjIDQwMwotICAjICAgICAgICAgICBIVFRQTm90Rm91
bmQgICAgICAgICAgICAgICAgICAgICAgICMgNDA0Ci0gICMgICAgICAgICAg
IEhUVFBNZXRob2ROb3RBbGxvd2VkICAgICAgICAgICAgICAgIyA0MDUKLSAg
IyAgICAgICAgICAgSFRUUE5vdEFjY2VwdGFibGUgICAgICAgICAgICAgICAg
ICAjIDQwNgotICAjICAgICAgICAgICBIVFRQUHJveHlBdXRoZW50aWNhdGlv
blJlcXVpcmVkICAgICMgNDA3Ci0gICMgICAgICAgICAgIEhUVFBSZXF1ZXN0
VGltZU91dCAgICAgICAgICAgICAgICAgIyA0MDgKLSAgIyAgICAgICAgICAg
SFRUUENvbmZsaWN0ICAgICAgICAgICAgICAgICAgICAgICAjIDQwOQotICAj
ICAgICAgICAgICBIVFRQR29uZSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICMgNDEwCi0gICMgICAgICAgICAgIEhUVFBMZW5ndGhSZXF1aXJlZCAgICAg
ICAgICAgICAgICAgIyA0MTEKLSAgIyAgICAgICAgICAgSFRUUFByZWNvbmRp
dGlvbkZhaWxlZCAgICAgICAgICAgICAjIDQxMgotICAjICAgICAgICAgICBI
VFRQUmVxdWVzdEVudGl0eVRvb0xhcmdlICAgICAgICAgICMgNDEzCi0gICMg
ICAgICAgICAgIEhUVFBSZXF1ZXN0VVJJVG9vTG9uZyAgICAgICAgICAgICAg
IyA0MTQKLSAgIyAgICAgICAgICAgSFRUUFVuc3VwcG9ydGVkTWVkaWFUeXBl
ICAgICAgICAgICAjIDQxNQotICAjICAgICAgICAgICBIVFRQUmVxdWVzdGVk
UmFuZ2VOb3RTYXRpc2ZpYWJsZSAgICMgNDE2Ci0gICMgICAgICAgICAgIEhU
VFBFeHBlY3RhdGlvbkZhaWxlZCAgICAgICAgICAgICAgIyA0MTcKLSAgIyAg
ICAgICBIVFRQU2VydmVyRXJyb3IgICAgICAgICAgICAgICAgICAgICMgNXh4
Ci0gICMgICAgICAgICAgIEhUVFBJbnRlcm5hbFNlcnZlckVycm9yICAgICAg
ICAgICAgIyA1MDAKLSAgIyAgICAgICAgICAgSFRUUE5vdEltcGxlbWVudGVk
ICAgICAgICAgICAgICAgICAjIDUwMQotICAjICAgICAgICAgICBIVFRQQmFk
R2F0ZXdheSAgICAgICAgICAgICAgICAgICAgICMgNTAyCi0gICMgICAgICAg
ICAgIEhUVFBTZXJ2aWNlVW5hdmFpbGFibGUgICAgICAgICAgICAgIyA1MDMK
LSAgIyAgICAgICAgICAgSFRUUEdhdGV3YXlUaW1lT3V0ICAgICAgICAgICAg
ICAgICAjIDUwNAotICAjICAgICAgICAgICBIVFRQVmVyc2lvbk5vdFN1cHBv
cnRlZCAgICAgICAgICAgICMgNTA1CisgICMgVGhlcmUgaXMgYWxzbyB0aGUg
TmV0OjpIVFRQQmFkUmVzcG9uc2UgZXhjZXB0aW9uIHdoaWNoIGlzIHJhaXNl
ZCB3aGVuCisgICMgdGhlcmUgaXMgYSBwcm90b2NvbCBlcnJvci4KICAgIwog
ICAjID09IFN3aXRjaGluZyBOZXQ6OkhUVFAgdmVyc2lvbnMKICAgIwotICAj
IFlvdSBjYW4gdXNlIG5ldC9odHRwLnJiIDEuMSBmZWF0dXJlcyAoYnVuZGxl
ZCB3aXRoIFJ1YnkgMS42KQotICAjIGJ5IGNhbGxpbmcgSFRUUC52ZXJzaW9u
XzFfMS4gQ2FsbGluZyBOZXQ6OkhUVFAudmVyc2lvbl8xXzIKLSAgIyBhbGxv
d3MgeW91IHRvIHVzZSAxLjIgZmVhdHVyZXMgYWdhaW4uCisgICMgWW91IGNh
biB1c2UgbmV0L2h0dHAucmIgMS4xIGZlYXR1cmVzIChidW5kbGVkIHdpdGgg
UnVieSAxLjYpIGJ5IGNhbGxpbmcKKyAgIyBIVFRQLnZlcnNpb25fMV8xLiBD
YWxsaW5nIE5ldDo6SFRUUC52ZXJzaW9uXzFfMiBhbGxvd3MgeW91IHRvIHVz
ZSAxLjIKKyAgIyBmZWF0dXJlcyBhZ2Fpbi4gIERvIG5vdCBjb25mdXNlIHRo
aXMgd2l0aCBIVFRQIHByb3RvY29sIGZlYXR1cmVzLgogICAjCi0gICMgICAg
ICMgZXhhbXBsZQotICAjICAgICBOZXQ6OkhUVFAuc3RhcnQge3xodHRwMXwg
Li4uKGh0dHAxIGhhcyAxLjIgZmVhdHVyZXMpLi4uIH0KKyAgIyAgICMgZXhh
bXBsZQorICAjICAgTmV0OjpIVFRQLnN0YXJ0IHt8aHR0cDF8IC4uLihodHRw
MSBoYXMgMS4yIGZlYXR1cmVzKS4uLiB9CiAgICMKLSAgIyAgICAgTmV0OjpI
VFRQLnZlcnNpb25fMV8xCi0gICMgICAgIE5ldDo6SFRUUC5zdGFydCB7fGh0
dHAyfCAuLi4oaHR0cDIgaGFzIDEuMSBmZWF0dXJlcykuLi4gfQorICAjICAg
TmV0OjpIVFRQLnZlcnNpb25fMV8xCisgICMgICBOZXQ6OkhUVFAuc3RhcnQg
e3xodHRwMnwgLi4uKGh0dHAyIGhhcyAxLjEgZmVhdHVyZXMpLi4uIH0KICAg
IwotICAjICAgICBOZXQ6OkhUVFAudmVyc2lvbl8xXzIKLSAgIyAgICAgTmV0
OjpIVFRQLnN0YXJ0IHt8aHR0cDN8IC4uLihodHRwMyBoYXMgMS4yIGZlYXR1
cmVzKS4uLiB9CisgICMgICBOZXQ6OkhUVFAudmVyc2lvbl8xXzIKKyAgIyAg
IE5ldDo6SFRUUC5zdGFydCB7fGh0dHAzfCAuLi4oaHR0cDMgaGFzIDEuMiBm
ZWF0dXJlcykuLi4gfQogICAjCiAgICMgU3dpdGNoaW5nIHZlcnNpb25zIGlz
IE5PVCB0aHJlYWQtc2FmZS4KICAgIwpJbmRleDogbGliL25ldC9odHRwcy5y
Ygo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBsaWIvbmV0L2h0dHBzLnJi
CShyZXZpc2lvbiAyOTk4MykKKysrIGxpYi9uZXQvaHR0cHMucmIJKHdvcmtp
bmcgY29weSkKQEAgLTIsNiArMiwxMSBAQAogCiA9IG5ldC9odHRwcyAtLSBT
U0wvVExTIGVuaGFuY2VtZW50IGZvciBOZXQ6OkhUVFAuCiAKKyAgVGhpcyBm
aWxlIGhhcyBiZWVuIG1lcmdlZCB3aXRoIG5ldC9odHRwLiAgVGhlcmUgaXMg
bm8gbG9uZ2VyIGFueSBuZWVkIHRvCisgIHJlcXVpcmUgJ25ldC9odHRwcycg
dG8gdXNlIEhUVFBTLgorCisgIFNlZSBOZXQ6OkhUVFAgZm9yIGRldGFpbHMg
b24gaG93IHRvIG1ha2UgSFRUUFMgY29ubmVjdGlvbnMuCisKID09IEluZm8K
ICAgJ09wZW5TU0wgZm9yIFJ1YnkgMicgcHJvamVjdAogICBDb3B5cmlnaHQg
KEMpIDIwMDEgR09UT1UgWXV1em91IDxnb3RveXV6b0Bub3R3b3JrLm9yZz4K
QEAgLTExLDgxICsxNiw2IEBACiAgIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbmNl
ZCB1bmRlciB0aGUgc2FtZSBsaWNlbmNlIGFzIFJ1YnkuCiAgIChTZWUgdGhl
IGZpbGUgJ0xJQ0VOQ0UnLikKIAotPT0gRXhhbXBsZQotCi1IZXJlIGlzIGEg
c2ltcGxlIEhUVFAgY2xpZW50OgotCi0gICAgcmVxdWlyZSAnbmV0L2h0dHAn
Ci0gICAgcmVxdWlyZSAndXJpJwotCi0gICAgdXJpID0gVVJJLnBhcnNlKEFS
R1ZbMF0gfHwgJ2h0dHA6Ly9sb2NhbGhvc3QvJykKLSAgICBodHRwID0gTmV0
OjpIVFRQLm5ldyh1cmkuaG9zdCwgdXJpLnBvcnQpCi0gICAgaHR0cC5zdGFy
dCB7Ci0gICAgICBodHRwLnJlcXVlc3RfZ2V0KHVyaS5wYXRoKSB7fHJlc3wK
LSAgICAgICAgcHJpbnQgcmVzLmJvZHkKLSAgICAgIH0KLSAgICB9Ci0KLUl0
IGNhbiBiZSByZXBsYWNlZCBieSB0aGUgZm9sbG93aW5nIGNvZGU6Ci0KLSAg
ICByZXF1aXJlICduZXQvaHR0cHMnCi0gICAgcmVxdWlyZSAndXJpJwotCi0g
ICAgdXJpID0gVVJJLnBhcnNlKEFSR1ZbMF0gfHwgJ2h0dHBzOi8vbG9jYWxo
b3N0LycpCi0gICAgaHR0cCA9IE5ldDo6SFRUUC5uZXcodXJpLmhvc3QsIHVy
aS5wb3J0KQotICAgIGh0dHAudXNlX3NzbCA9IHRydWUgaWYgdXJpLnNjaGVt
ZSA9PSAiaHR0cHMiICAjIGVuYWJsZSBTU0wvVExTCi0gICAgaHR0cC5zdGFy
dCB7Ci0gICAgICBodHRwLnJlcXVlc3RfZ2V0KHVyaS5wYXRoKSB7fHJlc3wK
LSAgICAgICAgcHJpbnQgcmVzLmJvZHkKLSAgICAgIH0KLSAgICB9Ci0KLT09
IGNsYXNzIE5ldDo6SFRUUAotCi09PT0gSW5zdGFuY2UgTWV0aG9kcwotCi06
IHVzZV9zc2w/Ci0gICAgcmV0dXJucyB0cnVlIGlmIHVzZSBTU0wvVExTIHdp
dGggSFRUUC4KLQotOiB1c2Vfc3NsPSgofHRydWVfb3JfZmFsc2V8KSkKLSAg
ICBzZXRzIHVzZV9zc2wuCi0KLTogcGVlcl9jZXJ0Ci0gICAgcmV0dXJuIHRo
ZSBYLjUwOSBjZXJ0aWZpY2F0ZXMgdGhlIHNlcnZlciBwcmVzZW50ZWQuCi0K
LToga2V5LCBrZXk9KCh8a2V5fCkpCi0gICAgU2V0cyBhbiBPcGVuU1NMOjpQ
S2V5OjpSU0Egb3IgT3BlblNTTDo6UEtleTo6RFNBIG9iamVjdC4KLSAgICAo
VGhpcyBtZXRob2QgaXMgYXBwZWFyZWQgaW4gTWljaGFsIFJva29zJ3MgT3Bl
blNTTCBleHRlbnNpb24uKQotCi06IGNlcnQsIGNlcnQ9KCh8Y2VydHwpKQot
ICAgIFNldHMgYW4gT3BlblNTTDo6WDUwOTo6Q2VydGlmaWNhdGUgb2JqZWN0
IGFzIGNsaWVudCBjZXJ0aWZpY2F0ZQotICAgIChUaGlzIG1ldGhvZCBpcyBh
cHBlYXJlZCBpbiBNaWNoYWwgUm9rb3MncyBPcGVuU1NMIGV4dGVuc2lvbiku
Ci0KLTogY2FfZmlsZSwgY2FfZmlsZT0oKHxwYXRofCkpCi0gICAgU2V0cyBw
YXRoIG9mIGEgQ0EgY2VydGlmaWNhdGlvbiBmaWxlIGluIFBFTSBmb3JtYXQu
Ci0gICAgVGhlIGZpbGUgY2FuIGNvbnRyYWluIHNldmVyYWwgQ0EgY2VydGlm
aWNhdGVzLgotCi06IGNhX3BhdGgsIGNhX3BhdGg9KCh8cGF0aHwpKQotICAg
IFNldHMgcGF0aCBvZiBhIENBIGNlcnRpZmljYXRpb24gZGlyZWN0b3J5IGNv
bnRhaW5pbmcgY2VydGlmaWNhdGlvbnMKLSAgICBpbiBQRU0gZm9ybWF0Lgot
Ci06IHZlcmlmeV9tb2RlLCB2ZXJpZnlfbW9kZT0oKHxtb2RlfCkpCi0gICAg
U2V0cyB0aGUgZmxhZ3MgZm9yIHNlcnZlciB0aGUgY2VydGlmaWNhdGlvbiB2
ZXJpZmljYXRpb24gYXQKLSAgICBiZWdpbm5pbmcgb2YgU1NML1RMUyBzZXNz
aW9uLgotICAgIE9wZW5TU0w6OlNTTDo6VkVSSUZZX05PTkUgb3IgT3BlblNT
TDo6U1NMOjpWRVJJRllfUEVFUiBpcyBhY2NlcHRhYmxlLgotCi06IHZlcmlm
eV9jYWxsYmFjaywgdmVyaWZ5X2NhbGxiYWNrPSgofHByb2N8KSkKLSAgICBT
ZXRzIHRoZSB2ZXJpZnkgY2FsbGJhY2sgZm9yIHRoZSBzZXJ2ZXIgY2VydGlm
aWNhdGlvbiB2ZXJpZmljYXRpb24uCi0KLTogdmVyaWZ5X2RlcHRoLCB2ZXJp
ZnlfZGVwdGg9KCh8bnVtfCkpCi0gICAgU2V0cyB0aGUgbWF4aW11bSBkZXB0
aCBmb3IgdGhlIGNlcnRpZmljYXRlIGNoYWluIHZlcmlmaWNhdGlvbi4KLQot
OiBjZXJ0X3N0b3JlLCBjZXJ0X3N0b3JlPSgofHN0b3JlfCkpCi0gICAgU2V0
cyB0aGUgWDUwOTo6U3RvcmUgdG8gdmVyaWZ5IHBlZXIgY2VydGlmaWNhdGUu
Ci0KLTogc3NsX3RpbWVvdXQsIHNzbF90aW1lb3V0PSgofHNlY3wpKQotICAg
IFNldHMgdGhlIFNTTCB0aW1lb3V0IHNlY29uZHMuCi0KID1lbmQKIAogcmVx
dWlyZSAnbmV0L2h0dHAnCg==