summaryrefslogtreecommitdiff
path: root/c8/8319cd5b6bd76b0ee58d80ca8b022a808a6d1e
blob: b1e2f3784162161b4a6640befa74ba7a923022cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191]
	helo=mx.sourceforge.net)
	by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <jgarzik@bitpay.com>) id 1Vjxf5-00048C-Qo
	for bitcoin-development@lists.sourceforge.net;
	Fri, 22 Nov 2013 20:49:11 +0000
Received-SPF: pass (sog-mx-1.v43.ch3.sourceforge.com: domain of bitpay.com
	designates 209.85.212.174 as permitted sender)
	client-ip=209.85.212.174; envelope-from=jgarzik@bitpay.com;
	helo=mail-wi0-f174.google.com; 
Received: from mail-wi0-f174.google.com ([209.85.212.174])
	by sog-mx-1.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1Vjxf4-0001Zp-KJ
	for bitcoin-development@lists.sourceforge.net;
	Fri, 22 Nov 2013 20:49:11 +0000
Received: by mail-wi0-f174.google.com with SMTP id ez12so1305732wid.7
	for <bitcoin-development@lists.sourceforge.net>;
	Fri, 22 Nov 2013 12:49:04 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=1e100.net; s=20130820;
	h=x-gm-message-state:mime-version:date:message-id:subject:from:to
	:content-type;
	bh=2I0v07O7+8sRDVzaRbyUgAYRJypjbzA7ihvxJN/av/A=;
	b=dsn9JgPsNtZa4KcR9zGSaOMVlJgWsRtt7kSQ58afFinDdSvf0H8vB36RmKwhCxqWeA
	s2Cjlw5EEq7xgNsGTmXOUyZGeB4LWUmYiS21RwV2yxykrD1jsDuIu99L8g5P+iSzqcOl
	Z5NWBvZ253om46L4Xd3ouslwhHHTDmc/tXWVgw78r+a+9HcQZHbZRLoRyQzZ4CouQYve
	GtTgw7dgfmt02cS3ClKBrFwuye85Oo0qS1lM+9/IhQFeXEo0gfPkqAY/Qpl2tGbv29hd
	fv6tBZdKp3I2CuCzKwOzCoXxE7/yzcB87VwnUmF3YzOrCkHJdouzbTYisQ+sJbNkOwoU
	8Aeg==
X-Gm-Message-State: ALoCoQn2ni3HFwzfAGHzxrgXAGz1ggLXiZh0TQn5R/mJMwHeeOpomr80Rac0p1D0DlyEj1VOV023
MIME-Version: 1.0
X-Received: by 10.194.89.233 with SMTP id br9mr11939666wjb.15.1385153344423;
	Fri, 22 Nov 2013 12:49:04 -0800 (PST)
Received: by 10.194.164.164 with HTTP; Fri, 22 Nov 2013 12:49:04 -0800 (PST)
Date: Fri, 22 Nov 2013 15:49:04 -0500
Message-ID: <CAJHLa0NGQaMMFByzHhnuPHYhUSj6czqBcimwhaj-DyEM91PRZA@mail.gmail.com>
From: Jeff Garzik <jgarzik@bitpay.com>
To: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Content-Type: multipart/mixed; boundary=089e0102fb5c0e160c04ebca253c
X-Spam-Score: -1.6 (-)
X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
	See http://spamassassin.org/tag/ for more details.
	-1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for
	sender-domain
	-0.0 SPF_PASS               SPF: sender matches SPF record
	0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked.
	See
	http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
	for more information. [URIs: bitpay.com]
	-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
	author's domain
	0.1 DKIM_SIGNED            Message has a DKIM or DK signature,
	not necessarily valid
	-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
X-Headers-End: 1Vjxf4-0001Zp-KJ
Subject: [Bitcoin-development] [PATCH,
	try2] bitcoind: whitelist nodes against banning
X-BeenThere: bitcoin-development@lists.sourceforge.net
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <bitcoin-development.lists.sourceforge.net>
List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
X-List-Received-Date: Fri, 22 Nov 2013 20:49:12 -0000

--089e0102fb5c0e160c04ebca253c
Content-Type: text/plain; charset=ISO-8859-1

Whitelist nodes against banning.

-- 
Jeff Garzik
Bitcoin core developer and open source evangelist
BitPay, Inc.      https://bitpay.com/

--089e0102fb5c0e160c04ebca253c
Content-Type: text/plain; charset=US-ASCII; name="patch.txt"
Content-Disposition: attachment; filename="patch.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_hobwj2tc0

Y29tbWl0IGFmN2I2MjQ3NjNlNzkwMDc1ZjhiYjI5YTA4NDMwOWU2NTkxZTM0NjkKQXV0aG9yOiBK
ZWZmIEdhcnppayA8amdhcnppa0BiaXRwYXkuY29tPgpEYXRlOiAgIEZyaSBOb3YgMjIgMTU6NDM6
NTEgMjAxMyAtMDUwMAoKICAgIEFkZCB3aGl0ZWxpc3QsIHRvIHByZXZlbnQgd2hpdGVsaXN0ZWQg
bm9kZXMgZnJvbSBiZWluZyBiYW5uZWQuCiAgICAKICAgIEVudHJ5IHBvaW50IHZpYSBSUEMsIGNv
bmZpZ3VyYXRpb24gZmlsZSBvciBjb21tYW5kIGxpbmUuCgpkaWZmIC0tZ2l0IGEvc3JjL2JpdGNv
aW5ycGMuY3BwIGIvc3JjL2JpdGNvaW5ycGMuY3BwCmluZGV4IGExZTdkMTQuLjUwNmIzNzAgMTAw
NjQ0Ci0tLSBhL3NyYy9iaXRjb2lucnBjLmNwcAorKysgYi9zcmMvYml0Y29pbnJwYy5jcHAKQEAg
LTIzMyw2ICsyMzMsNyBAQCBzdGF0aWMgY29uc3QgQ1JQQ0NvbW1hbmQgdlJQQ0NvbW1hbmRzW10g
PQogICAgIHsgImdldHBlZXJpbmZvIiwgICAgICAgICAgICAmZ2V0cGVlcmluZm8sICAgICAgICAg
ICAgdHJ1ZSwgICAgICBmYWxzZSwgICAgICBmYWxzZSB9LAogICAgIHsgInBpbmciLCAgICAgICAg
ICAgICAgICAgICAmcGluZywgICAgICAgICAgICAgICAgICAgdHJ1ZSwgICAgICBmYWxzZSwgICAg
ICBmYWxzZSB9LAogICAgIHsgImFkZG5vZGUiLCAgICAgICAgICAgICAgICAmYWRkbm9kZSwgICAg
ICAgICAgICAgICAgdHJ1ZSwgICAgICB0cnVlLCAgICAgICBmYWxzZSB9LAorICAgIHsgImFkZHdo
aXRlIiwgICAgICAgICAgICAgICAmYWRkd2hpdGUsICAgICAgICAgICAgICAgdHJ1ZSwgICAgICB0
cnVlLCAgICAgICBmYWxzZSB9LAogICAgIHsgImdldGFkZGVkbm9kZWluZm8iLCAgICAgICAmZ2V0
YWRkZWRub2RlaW5mbywgICAgICAgdHJ1ZSwgICAgICB0cnVlLCAgICAgICBmYWxzZSB9LAogICAg
IHsgImdldG5ldHRvdGFscyIsICAgICAgICAgICAmZ2V0bmV0dG90YWxzLCAgICAgICAgICAgdHJ1
ZSwgICAgICB0cnVlLCAgICAgICBmYWxzZSB9LAogICAgIHsgImdldGRpZmZpY3VsdHkiLCAgICAg
ICAgICAmZ2V0ZGlmZmljdWx0eSwgICAgICAgICAgdHJ1ZSwgICAgICBmYWxzZSwgICAgICBmYWxz
ZSB9LApkaWZmIC0tZ2l0IGEvc3JjL2JpdGNvaW5ycGMuaCBiL3NyYy9iaXRjb2lucnBjLmgKaW5k
ZXggOTAyNWZmOS4uYTdjMmUyZCAxMDA2NDQKLS0tIGEvc3JjL2JpdGNvaW5ycGMuaAorKysgYi9z
cmMvYml0Y29pbnJwYy5oCkBAIC0xNjIsNiArMTYyLDcgQEAgZXh0ZXJuIGpzb25fc3Bpcml0OjpW
YWx1ZSBnZXRjb25uZWN0aW9uY291bnQoY29uc3QganNvbl9zcGlyaXQ6OkFycmF5JiBwYXJhbXMs
IGIKIGV4dGVybiBqc29uX3NwaXJpdDo6VmFsdWUgZ2V0cGVlcmluZm8oY29uc3QganNvbl9zcGly
aXQ6OkFycmF5JiBwYXJhbXMsIGJvb2wgZkhlbHApOwogZXh0ZXJuIGpzb25fc3Bpcml0OjpWYWx1
ZSBwaW5nKGNvbnN0IGpzb25fc3Bpcml0OjpBcnJheSYgcGFyYW1zLCBib29sIGZIZWxwKTsKIGV4
dGVybiBqc29uX3NwaXJpdDo6VmFsdWUgYWRkbm9kZShjb25zdCBqc29uX3NwaXJpdDo6QXJyYXkm
IHBhcmFtcywgYm9vbCBmSGVscCk7CitleHRlcm4ganNvbl9zcGlyaXQ6OlZhbHVlIGFkZHdoaXRl
KGNvbnN0IGpzb25fc3Bpcml0OjpBcnJheSYgcGFyYW1zLCBib29sIGZIZWxwKTsKIGV4dGVybiBq
c29uX3NwaXJpdDo6VmFsdWUgZ2V0YWRkZWRub2RlaW5mbyhjb25zdCBqc29uX3NwaXJpdDo6QXJy
YXkmIHBhcmFtcywgYm9vbCBmSGVscCk7CiBleHRlcm4ganNvbl9zcGlyaXQ6OlZhbHVlIGdldG5l
dHRvdGFscyhjb25zdCBqc29uX3NwaXJpdDo6QXJyYXkmIHBhcmFtcywgYm9vbCBmSGVscCk7CiAK
ZGlmZiAtLWdpdCBhL3NyYy9pbml0LmNwcCBiL3NyYy9pbml0LmNwcAppbmRleCBiMmU3ZGRmLi43
NWFhMzAxIDEwMDY0NAotLS0gYS9zcmMvaW5pdC5jcHAKKysrIGIvc3JjL2luaXQuY3BwCkBAIC01
NDgsNiArNTQ4LDggQEAgYm9vbCBBcHBJbml0Mihib29zdDo6dGhyZWFkX2dyb3VwJiB0aHJlYWRH
cm91cCwgYm9vbCBmRm9yY2VTZXJ2ZXIpCiAKICAgICBzdHJXYWxsZXRGaWxlID0gR2V0QXJnKCIt
d2FsbGV0IiwgIndhbGxldC5kYXQiKTsKIAorICAgIExvYWRXaGl0ZWxpc3QoKTsKKwogICAgIC8v
ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KiBTdGVwIDQ6IGFwcGxpY2F0aW9uIGluaXRpYWxpemF0aW9uOiBkaXIgbG9jaywgZGFlbW9uaXpl
LCBwaWRmaWxlLCBkZWJ1ZyBsb2cKIAogICAgIHN0ZDo6c3RyaW5nIHN0ckRhdGFEaXIgPSBHZXRE
YXRhRGlyKCkuc3RyaW5nKCk7CmRpZmYgLS1naXQgYS9zcmMvbmV0LmNwcCBiL3NyYy9uZXQuY3Bw
CmluZGV4IGM1NDdjZjMuLjk2OWJiMWIgMTAwNjQ0Ci0tLSBhL3NyYy9uZXQuY3BwCisrKyBiL3Ny
Yy9uZXQuY3BwCkBAIC01NSw2ICs1NSw4IEBAIGJvb2wgZkRpc2NvdmVyID0gdHJ1ZTsKIHVpbnQ2
NF90IG5Mb2NhbFNlcnZpY2VzID0gTk9ERV9ORVRXT1JLOwogc3RhdGljIENDcml0aWNhbFNlY3Rp
b24gY3NfbWFwTG9jYWxIb3N0Owogc3RhdGljIG1hcDxDTmV0QWRkciwgTG9jYWxTZXJ2aWNlSW5m
bz4gbWFwTG9jYWxIb3N0Oworc3RhdGljIENDcml0aWNhbFNlY3Rpb24gY3NfbWFwV2hpdGVsaXN0
Oworc3RhdGljIG1hcDxDTmV0QWRkciwgTG9jYWxTZXJ2aWNlSW5mbz4gbWFwV2hpdGVsaXN0Owog
c3RhdGljIGJvb2wgdmZSZWFjaGFibGVbTkVUX01BWF0gPSB7fTsKIHN0YXRpYyBib29sIHZmTGlt
aXRlZFtORVRfTUFYXSA9IHt9Owogc3RhdGljIENOb2RlKiBwbm9kZUxvY2FsSG9zdCA9IE5VTEw7
CkBAIC0yOTgsNiArMzAwLDQ1IEBAIGJvb2wgSXNSZWFjaGFibGUoY29uc3QgQ05ldEFkZHImIGFk
ZHIpCiAgICAgcmV0dXJuIHZmUmVhY2hhYmxlW25ldF0gJiYgIXZmTGltaXRlZFtuZXRdOwogfQog
CisvLyBsZWFybiBhIG5ldyB3aGl0ZWxpc3RlZCBhZGRyZXNzCitib29sIEFkZFdoaXRlbGlzdChj
b25zdCBDU2VydmljZSYgYWRkciwgaW50IG5TY29yZSkKK3sKKyAgICBMb2dQcmludGYoIkFkZFdo
aXRlbGlzdCglcywlaSlcbiIsIGFkZHIuVG9TdHJpbmcoKS5jX3N0cigpLCBuU2NvcmUpOworCisg
ICAgeworICAgICAgICBMT0NLKGNzX21hcFdoaXRlbGlzdCk7CisgICAgICAgIGJvb2wgZkFscmVh
ZHkgPSBtYXBXaGl0ZWxpc3QuY291bnQoYWRkcikgPiAwOworICAgICAgICBMb2NhbFNlcnZpY2VJ
bmZvICZpbmZvID0gbWFwV2hpdGVsaXN0W2FkZHJdOworICAgICAgICBpZiAoIWZBbHJlYWR5IHx8
IG5TY29yZSA+PSBpbmZvLm5TY29yZSkgeworICAgICAgICAgICAgaW5mby5uU2NvcmUgPSBuU2Nv
cmUgKyAoZkFscmVhZHkgPyAxIDogMCk7CisgICAgICAgICAgICBpbmZvLm5Qb3J0ID0gYWRkci5H
ZXRQb3J0KCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworLyoq
IGNoZWNrIHdoZXRoZXIgYSBnaXZlbiBhZGRyZXNzIGlzIHBvdGVudGlhbGx5IGxvY2FsICovCiti
b29sIElzV2hpdGVsaXN0ZWQoY29uc3QgQ1NlcnZpY2UmIGFkZHIpCit7CisgICAgTE9DSyhjc19t
YXBXaGl0ZWxpc3QpOworICAgIHJldHVybiBtYXBXaGl0ZWxpc3QuY291bnQoYWRkcikgPiAwOwor
fQorCit2b2lkIExvYWRXaGl0ZWxpc3QoKQoreworICAgIC8vIENvbm5lY3QgdG8gc3BlY2lmaWMg
YWRkcmVzc2VzCisgICAgaWYgKG1hcEFyZ3MuY291bnQoIi13aGl0ZWxpc3QiKSAmJiBtYXBNdWx0
aUFyZ3NbIi13aGl0ZWxpc3QiXS5zaXplKCkgPiAwKQorICAgIHsKKyAgICAgICAgQk9PU1RfRk9S
RUFDSChzdHJpbmcgc3RyQWRkciwgbWFwTXVsdGlBcmdzWyItd2hpdGVsaXN0Il0pCisgICAgICAg
IHsKKyAgICAgICAgICAgIENTZXJ2aWNlIHNlcnYoc3RyQWRkci5jX3N0cigpLCBQYXJhbXMoKS5H
ZXREZWZhdWx0UG9ydCgpLCB0cnVlKTsKKyAgICAgICAgICAgIGlmIChzZXJ2LklzVmFsaWQoKSkK
KyAgICAgICAgICAgICAgICBBZGRXaGl0ZWxpc3Qoc2VydiwgMCk7CisgICAgICAgIH0KKyAgICB9
Cit9CisKIGJvb2wgR2V0TXlFeHRlcm5hbElQMihjb25zdCBDU2VydmljZSYgYWRkckNvbm5lY3Qs
IGNvbnN0IGNoYXIqIHBzekdldCwgY29uc3QgY2hhciogcHN6S2V5d29yZCwgQ05ldEFkZHImIGlw
UmV0KQogewogICAgIFNPQ0tFVCBoU29ja2V0OwpAQCAtNTg4LDYgKzYyOSwxMSBAQCBib29sIENO
b2RlOjpNaXNiZWhhdmluZyhpbnQgaG93bXVjaCkKICAgICAgICAgTG9nUHJpbnRmKCJXYXJuaW5n
OiBMb2NhbCBub2RlICVzIG1pc2JlaGF2aW5nIChkZWx0YTogJWQpIVxuIiwgYWRkck5hbWUuY19z
dHIoKSwgaG93bXVjaCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CisgICAgaWYgKElz
V2hpdGVsaXN0ZWQoYWRkcikpCisgICAgeworICAgICAgICBMb2dQcmludGYoIldhcm5pbmc6IFdo
aXRlbGlzdGVkIG5vZGUgJXMgbWlzYmVoYXZpbmcgKGRlbHRhOiAlZCkhXG4iLCBhZGRyTmFtZS5j
X3N0cigpLCBob3dtdWNoKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KIAogICAgIG5N
aXNiZWhhdmlvciArPSBob3dtdWNoOwogICAgIGlmIChuTWlzYmVoYXZpb3IgPj0gR2V0QXJnKCIt
YmFuc2NvcmUiLCAxMDApKQpkaWZmIC0tZ2l0IGEvc3JjL25ldC5oIGIvc3JjL25ldC5oCmluZGV4
IDI3ODQ2MmEuLmUyMTUyNTUgMTAwNjQ0Ci0tLSBhL3NyYy9uZXQuaAorKysgYi9zcmMvbmV0LmgK
QEAgLTg3LDYgKzg3LDkgQEAgYm9vbCBBZGRMb2NhbChjb25zdCBDU2VydmljZSYgYWRkciwgaW50
IG5TY29yZSA9IExPQ0FMX05PTkUpOwogYm9vbCBBZGRMb2NhbChjb25zdCBDTmV0QWRkciYgYWRk
ciwgaW50IG5TY29yZSA9IExPQ0FMX05PTkUpOwogYm9vbCBTZWVuTG9jYWwoY29uc3QgQ1NlcnZp
Y2UmIGFkZHIpOwogYm9vbCBJc0xvY2FsKGNvbnN0IENTZXJ2aWNlJiBhZGRyKTsKK2Jvb2wgQWRk
V2hpdGVsaXN0KGNvbnN0IENTZXJ2aWNlJiBhZGRyLCBpbnQgblNjb3JlKTsKK2Jvb2wgSXNXaGl0
ZWxpc3RlZChjb25zdCBDU2VydmljZSYgYWRkcik7Cit2b2lkIExvYWRXaGl0ZWxpc3QoKTsKIGJv
b2wgR2V0TG9jYWwoQ1NlcnZpY2UgJmFkZHIsIGNvbnN0IENOZXRBZGRyICpwYWRkclBlZXIgPSBO
VUxMKTsKIGJvb2wgSXNSZWFjaGFibGUoY29uc3QgQ05ldEFkZHIgJmFkZHIpOwogdm9pZCBTZXRS
ZWFjaGFibGUoZW51bSBOZXR3b3JrIG5ldCwgYm9vbCBmRmxhZyA9IHRydWUpOwpkaWZmIC0tZ2l0
IGEvc3JjL3JwY25ldC5jcHAgYi9zcmMvcnBjbmV0LmNwcAppbmRleCA5ZjhkZWE4Li40N2FmMjFm
IDEwMDY0NAotLS0gYS9zcmMvcnBjbmV0LmNwcAorKysgYi9zcmMvcnBjbmV0LmNwcApAQCAtMTM5
LDYgKzEzOSwyNiBAQCBWYWx1ZSBnZXRwZWVyaW5mbyhjb25zdCBBcnJheSYgcGFyYW1zLCBib29s
IGZIZWxwKQogICAgIHJldHVybiByZXQ7CiB9CiAKK1ZhbHVlIGFkZHdoaXRlKGNvbnN0IEFycmF5
JiBwYXJhbXMsIGJvb2wgZkhlbHApCit7CisgICAgaWYgKGZIZWxwIHx8IHBhcmFtcy5zaXplKCkg
IT0gMSkKKyAgICAgICAgdGhyb3cgcnVudGltZV9lcnJvcigKKyAgICAgICAgICAgICJhZGR3aGl0
ZSBcIm5vZGVcIlxuIgorICAgICAgICAgICAgIlxuQXR0ZW1wdHMgYWRkIGEgbm9kZSB0byB0aGUg
d2hpdGVsaXN0LlxuIgorICAgICAgICAgICAgIlxuQXJndW1lbnRzOlxuIgorICAgICAgICAgICAg
IjEuIFwibm9kZVwiICAgICAoc3RyaW5nLCByZXF1aXJlZCkgVGhlIG5vZGUgKHNlZSBnZXRwZWVy
aW5mbyBmb3Igbm9kZXMpXG4iCisgICAgICAgICAgICAiXG5FeGFtcGxlczpcbiIKKyAgICAgICAg
ICAgICsgSGVscEV4YW1wbGVDbGkoImFkZHdoaXRlIiwgIlwiMTkyLjE2OC4wLjY6ODMzM1wiICIp
CisgICAgICAgICAgICArIEhlbHBFeGFtcGxlUnBjKCJhZGR3aGl0ZSIsICJcIjE5Mi4xNjguMC42
OjgzMzNcIiAiKQorICAgICAgICApOworCisgICAgc3RyaW5nIHN0ck5vZGUgPSBwYXJhbXNbMF0u
Z2V0X3N0cigpOworCisgICAgQ1NlcnZpY2Ugc2VydihzdHJOb2RlLmNfc3RyKCksIFBhcmFtcygp
LkdldERlZmF1bHRQb3J0KCksIHRydWUpOworCisgICAgcmV0dXJuIEFkZFdoaXRlbGlzdChzZXJ2
LCAwKTsKK30KKwogVmFsdWUgYWRkbm9kZShjb25zdCBBcnJheSYgcGFyYW1zLCBib29sIGZIZWxw
KQogewogICAgIHN0cmluZyBzdHJDb21tYW5kOwo=
--089e0102fb5c0e160c04ebca253c--