1995-12-05 - Re: bulk RC4 brute forcing

Header Data

From: Lyal Collins <lyalc@ozemail.com.au>
To: Andy Brown <a.brown@nexor.co.uk>
Message Hash: b91476e226ff8c025de68f81dd1734243b4c0beb812ae7906f87548beecc9bbc
Message ID: <30C51EF5.5FBB@ozemail.com.au>
Reply To: <199512030356.OAA17497@oznet02.ozemail.com.au>
UTC Datetime: 1995-12-05 10:52:00 UTC
Raw Date: Tue, 5 Dec 95 02:52:00 PST

Raw message

From: Lyal Collins <lyalc@ozemail.com.au>
Date: Tue, 5 Dec 95 02:52:00 PST
To: Andy Brown <a.brown@nexor.co.uk>
Subject: Re: bulk RC4 brute forcing
In-Reply-To: <199512030356.OAA17497@oznet02.ozemail.com.au>
Message-ID: <30C51EF5.5FBB@ozemail.com.au>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="Boundary..3936.1071713528.multipart/mixed"

--Boundary..3936.1071713528.multipart/mixed
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

following requests for this test code, the attached should compile and 
run the tests I desciribed earlier.
It is messy - sorry.
lyal
-- All mistakes in this message belong to me - you should not use 
them!


--Boundary..3936.1071713528.multipart/mixed
Content-Type: application/octet-stream; name="bin00000.bin"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="bin00000.bin"
Content-Description: "RC4M.C"

LyogcmM0IHRlc3QgYmVkDQogYmFzZWQgb24gUkM0IGNvZGUgZGV2ZWxvcGVk
IGJ5IEUgQSBZb3VuZywgYXBwYXJlbnRseSBmcm9tIGNvZGUNCiBjaXJjdWxh
dGVkIG9uIHRoZSBJbnRlcm5ldCBpbiAxOTk0LzUuIFBhcnQgb2YgRUFZJ3Mg
U1NMRUFZIGNvZGUgaXMgdXNlZCBoZXJlLg0KDQogSWRlYSBoZXJlIGlzIHRv
IGNvbXBhcmUgc2luZ2xla2V5L3BsYWluL2NpcGhlciB0ZXN0IHRpbWUgYWdh
aW5zdA0KIHNpbmdsZSBrZXksIG11bHRpcGxlIHBsYWluL2NpcGhlciBwYWly
cw0KIElzIHRoaXMgYXBwcm9hY2ggbW9yZSBlZmZpY2llbnQgPz8/Pw0KDQog
Ki8NCg0KI2RlZmluZSBQUk9UTw0KDQojaW5jbHVkZSA8c3RkaW8uaD4NCiNp
bmNsdWRlIDxzdGRsaWIuaD4NCiNpbmNsdWRlIDxzdHJpbmcuaD4NCiNpbmNs
dWRlICJ0aW1lLmgiDQojaW5jbHVkZSAicmM0LmgiDQoNCnN0YXRpYyBjaGFy
ICp2ZXJzaW9uPSJcMFJDNCBwYXJ0IG9mIFNTTGVheSB2IDAuNC4zIDE1LzA2
Lzk1IjsNCg0KdHlwZWRlZiAgdW5zaWduZWQgY2hhciBVQ0hBUjsNCg0KdHlw
ZWRlZiBzdHJ1Y3QgcmM0X3Rlc3RfcGFpcjENCgl7DQogICAgY2hhciBwbGFp
bls4XTsNCiAgICBjaGFyIGNpcGhlcls4XTsNCiAgICBpbnQgZm91bmQ7DQog
ICAgY2hhciBrZXlfZm91bmRbOF07ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLw0KCX0gcmM0X3Rlc3RfcGFpcjsNCg0KdW5zaWduZWQgaW50
IGtleV9idWZmWzI1Nl07ICAgICAgICAgICAgICAgICAvL3VzZWQgdG8gc3Bl
ZWQga2V5IHNjaGVkdWxpbmcNCg0KUkM0X0tFWSBrZXk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvL21hc3RlciBrZXkgaXMgbWFkZSBoZXJl
DQoNClJDNF9LRVkga2V5dGVzdDsNCg0KI2RlZmluZSBOT19PRl9URVNUUyAg
MTI2DQpyYzRfdGVzdF9wYWlyIG1hc3Rlcl9wbGFpbl9jaXBoZXJbTk9fT0Zf
VEVTVFNdOyAgICAgLy9tYXN0ZXIgcGxhaW4vY2lwaGVyIHRlc3QgcGFpcnMN
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly9hY3F1aXNpdGlvbiAwZiB0aGVzZSBpcw0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvL2Fub3RoZXIgcXVlc3Rpb24N
ClJDNF9LRVkgbWFzdGVyX2tleXNbTk9fT0ZfVEVTVFNdOyAgICAgICAgICAg
ICAgICAgICAvL21hc3RlciBrZXkgYXJyYXkNCg0KdW5zaWduZWQgY2hhciBi
dWZmZXJbXSA9ICAiMTIzNDU2NzgiOw0KdW5zaWduZWQgY2hhciBrZXk0W10g
PSB7MHgwLCAweDAsIDB4MCwgMHgwMSwgMHgwMiwgMHgwLCAweDAsIDB4MH07
DQp1bnNpZ25lZCBjaGFyIGtleTVbXSA9IHsweDAsIDB4MCwgMHgwLCAweDAx
LCAweDAyLCAweDAsIDB4MCwgMHgwfTsNCg0KdW5zaWduZWQgaW50IGtleV9z
dGFydCA9IDB4MDsgICAgICAgICAvL3N0YXJ0LCBlbmRwb2ludCBmb3Iga2V5
IHRlc3Qgcm91dGluZQ0KdW5zaWduZWQgaW50IGtleV9lbmQgICA9IDB4ZmY7
DQoNCnVuc2lnbmVkIGNoYXIgYSxiLGMsZCxlOw0KDQpjbG9ja190IHN0YXJ0
LCBlbmQ7ICAgICAgICAgICAgICAgICAgICAgLy90aW1lciB2YWx1ZXMNCmNs
b2NrX3QgY2xvY2soKTsNCg0KdW5zaWduZWQgbG9uZyBibG9ja3MgPSA0MDk2
OyAgICAgICAgICAgIC8vZGVmYXVsdCBibG9jayBjb3VudA0KbG9uZyBrOw0K
dW5zaWduZWQgbG9uZyBsb29wczsNCg0KDQoNCmZsb2F0IHR6Ow0KaW50IHo7
DQppbnQga2V5X2RhdGFfbGVuID0gODsNCmludCBidWZmZXJfbGVuID0gODsN
Cg0KDQovL2RlY2xhcmF0aW9ucw0Kdm9pZCByYzQodW5zaWduZWQgY2hhciAq
YnVmZmVyX3B0ciwgaW50IGJ1ZmZlcl9sZW4sIFJDNF9LRVkgKmtleSk7DQpz
dGF0aWMgdm9pZCBzd2FwX2J5dGUoIHVuc2lnbmVkIGNoYXIgKmEsIHVuc2ln
bmVkIGNoYXIgKmIpOw0Kdm9pZCByYzRfa2V5X3Rlc3Qodm9pZCk7DQoNCi8v
PT09PT09PT09PT09PT09DQoNCnZvaWQgbWFpbihpbnQgYXJnYywgY2hhciAq
YXJndltdKQ0Kew0KaWYgKGFyZ2MgIT0gMikgCQkgIC8qIGdldCBudW1iZXIg
b2YgYmxvY2tzICovDQogcHJpbnRmKCJcbk5vIGJsb2NrIHNpemUgc3BlY2lm
aWVkLCB1c2luZyAlZCBhcyBudW1iZXIgb2YgYmxvY2tzLlxuIiwgYmxvY2tz
KTsNCmVsc2UNCiBzc2NhbmYoYXJndlsxXSwiJUkiLCZibG9ja3MpOwkgICAg
Ly9nZXQgY291bnQNCg0KIGZvciAoej0wOyB6PDI1NjsgeisrKQ0KCWtleV9i
dWZmW3pdPXo7ICAgICAgICAgICAgICAgICAgLy9pbml0IGtleV9idWZmDQoN
CiAgICAvL21lYXN1cmUgcmF3IHNwZWVkDQoNCiBmb3IgKGE9MDsgYTxOT19P
Rl9URVNUUzsgYSsrKSAgICAgIC8vbWFrZSB0ZXN0IGRhdGENCiAgew0KICBr
ZXk1WzRdID0gYTsNCiAgUkM0X3NldF9rZXkoJmtleSwga2V5X2RhdGFfbGVu
LCAma2V5NSk7DQogIG1lbWNweSgmbWFzdGVyX3BsYWluX2NpcGhlclthXS5w
bGFpbiwgJmJ1ZmZlciwgYnVmZmVyX2xlbik7IC8vY29weSBwbGFpbiB0ZXh0
DQogIFJDNCgma2V5LCBidWZmZXJfbGVuLCBtYXN0ZXJfcGxhaW5fY2lwaGVy
W2FdLnBsYWluLCBtYXN0ZXJfcGxhaW5fY2lwaGVyW2FdLmNpcGhlcik7DQog
IH0NCg0KcmM0X2tleV90ZXN0KCk7ICAgICAgICAgLy9tZWFzdXJlIGtleSB0
ZXN0aW5nIHNwZWVkDQp9OyAgICAgICAgICAgICAgICAgICAgICAvL2VuZCBt
YWluDQovLyAgPT09PT09PT09PT09PQ0KDQovKiAgaWRlYSBpcyBiYXNlZCBv
biBtYWtpbmcgYSBtYXN0ZXIgcmM0X2tleSwgY29weWluZyB0aGF0IHRvIE5P
X09GX1RFU1RTIGtleSBzcGFjZXMNCiAgICBUaGVuLCBlYWNoIGNvcHkgb2Yg
dGhlIGtleSBpcyB0ZXN0ZWQgYWdhaW5zdCBhIHBsYWluL2NpcGhlcnRlY3Qg
cGFpci4NCiAgICBJZiBhIG1hdGNoIGZvdW5kLCBhIGZsYWcgaXMgc2V0IGZv
ciB0aGF0IHBsYWluL2NpcGhlcnRlY3QgcGFpciwgYW5kIHRoZQ0KICAgIGtl
eSBzdG9yZWQgd2l0aCBpdC4NCiAgICB0aGlzIHNob3VsZCByZWR1Y2Ugb3Zl
cmhlYWRzIGFzc29jaWF0ZWQgd2l0aCBrZXkgc2NoZWR1bGluZyAtIEkgaG9w
ZS4NCiovDQoNCnZvaWQgcmM0X2tleV90ZXN0KHZvaWQpDQp7DQppbnQgaTsN
CmludCBqPU5PX09GX1RFU1RTOw0KcHJpbnRmKCJcbk1lYXN1cmluZyB0aGUg
c3BlZWQgd2l0aCB3aGljaCB0aGlzIENQVSBjYW4gdGVzdCBmb3IgdmFsaWQg
a2V5cy4iKTsNCmxvb3BzPTA7DQplbmQgPSBjbG9jaygpOw0Kc3RhcnQgPSBj
bG9jaygpOw0Kd2hpbGUgKGVuZCA9PSBzdGFydCkNCiBzdGFydCA9IGNsb2Nr
KCk7ICAgICAgIC8vZmluZCBwb2ludCBpbW1lZGlhdGVseSBhZnRlciBjbG9j
ayB0aWNrIGhhcyBoYXBwZW5lZA0KDQpmb3IoIGEgPSBrZXlfc3RhcnQ7IGE8
a2V5X2VuZDsgYSsrKQ0Kew0KIGtleTRbN10gPWE7DQogZm9yKGI9a2V5X3N0
YXJ0OyBiPGtleV9lbmQ7IGIrKykNCiB7DQogIGtleTRbNl09YjsNCiAgZm9y
KGM9a2V5X3N0YXJ0OyBjPGtleV9lbmQ7IGMrKykNCiAgew0KICAga2V5NFs1
XT1jOw0KDQogICBmb3IoZD1rZXlfc3RhcnQ7IGQ8a2V5X2VuZDsgZCsrKQ0K
ICAgew0KICAgIGtleTRbNF09ZDsNCi8vICAgIHByaW50ZigiXG4gbnVtYmVy
IG9mIGtleXMgZm91bmQgZm9yIHBsYWluL2NpcGhlciBwYWlyID0gJWQiLCBq
KTsNCi8vICAgaWYoZCkNCi8vICAgIHsNCi8vICAgICBlbmQgPSBjbG9jaygp
LXN0YXJ0Ow0KLy8JIHR6ID0gIChlbmQvQ0xLX1RDSyk7DQovLwkgcHJpbnRm
KCJcblRpbWUgdGFrZW4gPSAlNi4xZiBzZWNvbmRzLCBudW1iZXIgb2Yga2V5
cyB0ZXN0ZWQgPSAlbGQuXG4iLCB0eiwgbG9vcHMpOw0KLy8JIHByaW50Zigi
JTYuMWYgIiwgKGZsb2F0KShsb29wcy90eikpOw0KLy8gICAgfQ0KLy9wcmlu
dGYoIlxuIG51bWJlciBvZiBrZXlzIGZvdW5kIGZvciBwbGFpbi9jaXBoZXIg
cGFpciA9ICVkIiwgTk9fT0ZfVEVTVFMtaik7DQogICAgZm9yKGU9a2V5X3N0
YXJ0OyBlPGtleV9lbmQ7IGUrKykNCiAgICB7DQogICAga2V5NFszXT1lOw0K
ICAgIFJDNF9zZXRfa2V5X3Rlc3QoJmtleSwga2V5X2RhdGFfbGVuLCAma2V5
NCk7ICAgIC8vbWFrZSBtYXN0ZXIga2V5DQogICAgZm9yIChpPTA7IGk8Tk9f
T0ZfVEVTVFM7IGkrKykgICAgICAgICAgICAgICAgICAgICAgICAgLy9tb3Zl
IG1hc3RlciBrZXkgdG8gYXJyYXkNCiAgICAgIG1lbWNweShtYXN0ZXJfa2V5
c1tpXS5kYXRhLCAma2V5LCBzaXplb2Yoa2V5KSk7DQoNCiAgICAgIGZvciAo
aT0wOyBpPE5PX09GX1RFU1RTOyBpKyspDQogICAgICAgew0KICAgICAgICBp
ZiAoIW1hc3Rlcl9wbGFpbl9jaXBoZXJbaV0uZm91bmQpDQogICAgICAgIHsN
CiAgICAgICAgbG9vcHMrKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vaW5jcmVtZW50IHRoaXMgYXMgYSBjb3VudGVyDQogICAgICAgICBpZihS
QzRfdGVzdChtYXN0ZXJfa2V5c1tpXS5kYXRhLCBidWZmZXJfbGVuLCBtYXN0
ZXJfcGxhaW5fY2lwaGVyW2ldLnBsYWluLCBtYXN0ZXJfcGxhaW5fY2lwaGVy
W2ldLmNpcGhlcikpDQogICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy90aWxsIGtleSBtYXRj
aGVzDQogICAgICAgICAgbWFzdGVyX3BsYWluX2NpcGhlcltpXS5mb3VuZCA9
IDE7DQogICAgICAgICAgbWVtY3B5KG1hc3Rlcl9wbGFpbl9jaXBoZXJbaV0u
a2V5X2ZvdW5kLCBrZXk0LCA4KTsNCiAgICAgICAgICBqLS07DQovLyAgICAg
ICAgICBwcmludGYoIlxuIG51bWJlciBvZiBrZXlzIGZvdW5kIGZvciBwbGFp
bi9jaXBoZXIgcGFpciA9ICVkIiwgTk9fT0ZfVEVTVFMtaik7DQogICAgICAg
ICAgaWYgKCFqKQ0KICAgICAgICAgICB7DQogICAgICAgICAgIGVuZCA9IGNs
b2NrKCktc3RhcnQ7DQoJICAgICAgIHR6ID0gIChlbmQvQ0xLX1RDSyk7DQoJ
ICAgICAgIHByaW50ZigiXG5UaW1lIHRha2VuID0gJTYuMWYgc2Vjb25kcyIs
IHR6KTsNCgkgICAgICAgcHJpbnRmKCJcblNwZWVkID0gJTYuMWYgdGVzdHMg
cGVyIHNlY29uZC4iLCAoZmxvYXQpKGxvb3BzL3R6KSk7DQogICAgICAgICAg
IHByaW50ZigiXG5vdXQgb2YgYSB0b3RhbCBvZiAlZCBwbGFpbi9jaXBoZXIg
cGFpcnMuXG4iLCBOT19PRl9URVNUUyk7DQogICAgICAgICAgIHJldHVybjsN
CiAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAg
IH0gICAgICAgIC8vZW5kIGZvciBpDQogICAgIH0gICAgICAgICAgICAgICAv
L2UNCiAgICB9ICAgICAgICAgICAgICAgIC8vZA0KICAgfSAgICAgICAgICAg
ICAgICAgLy9jDQogIH0gICAgICAgICAgICAgICAgICAvL2INCiB9ICAgICAg
ICAgICAgICAgICAgIC8vYQ0KfTsNCi8vICA9PT09PT09PT09PT09DQoNCi8q
IFJDNCBhcyBpbXBsZW1lbnRlZCBmcm9tIGEgcG9zdGluZyBmcm9tDQogKiBO
ZXdzZ3JvdXBzOiBzY2kuY3J5cHQNCiAqIEZyb206IHN0ZXJuZGFya0BuZXRj
b20uY29tIChEYXZpZCBTdGVybmRhcmspDQogKiBTdWJqZWN0OiBSQzQgQWxn
b3JpdGhtIHJldmVhbGVkLg0KICogTWVzc2FnZS1JRDogPHN0ZXJuQ3ZLTDRC
Lkh5eUBuZXRjb20uY29tPg0KICovDQoNCnZvaWQgUkM0X3NldF9rZXkoa2V5
LCBsZW4sIGRhdGEpDQpSQzRfS0VZICprZXk7DQppbnQgbGVuOw0KcmVnaXN0
ZXIgdW5zaWduZWQgY2hhciAqZGF0YTsNCgl7DQogICAgICAgIHJlZ2lzdGVy
IFJDNF9JTlQgdG1wOw0KICAgICAgICByZWdpc3RlciB1bnNpZ25lZCBpbnQg
aWQxLGlkMjsNCiAgICAgICAgcmVnaXN0ZXIgUkM0X0lOVCAqZDsNCiAgICAg
ICAgaW50IGk7DQoNCiAgICAgICAgZD0mKGtleS0+ZGF0YVswXSk7DQoJZm9y
IChpPTA7IGk8MjU2OyBpKyspDQoJCWRbaV09aTsNCg0KICAgICAgICBrZXkt
PnggPSAwOw0KICAgICAgICBrZXktPnkgPSAwOw0KICAgICAgICBpZDE9aWQy
PTA7DQogICAgICAgIGZvciAoaT0wOyBpIDwgMjU2OyBpKyspDQoJCXsNCgkJ
aWQyID0gKGRhdGFbaWQxXSArIGRbaV0gKyBpZDIpICYgMHhmZjsNCgkJdG1w
PWRbaV07IGRbaV09ZFtpZDJdOyBkW2lkMl09dG1wOw0KCQlpZDE9KGlkMSsx
KSVsZW47DQoJCX0NCgl9Ow0KLy8gID09PT09PT09PT09PT0NCnZvaWQgUkM0
KGtleSwgbGVuLCBpbmRhdGEsIG91dGRhdGEpDQpSQzRfS0VZICprZXk7DQp1
bnNpZ25lZCBpbnQgbGVuOw0KdW5zaWduZWQgY2hhciAqaW5kYXRhOw0KdW5z
aWduZWQgY2hhciAqb3V0ZGF0YTsNCgl7DQogICAgICAgIHJlZ2lzdGVyIFJD
NF9JTlQgKmQsdG1wOw0KICAgICAgICByZWdpc3RlciB1bnNpZ25lZCBpbnQg
eCx5Ow0KCXVuc2lnbmVkIGludCBpOw0KDQogICAgICAgIHg9a2V5LT54Ow0K
ICAgICAgICB5PWtleS0+eTsNCg0KICAgICAgICBkPWtleS0+ZGF0YTsNCg0K
ICAgICAgICBmb3IgKGk9MDsgaTxsZW47IGkrKykNCgkJew0KCQl4PSgoeCsx
KSYweGZmKTsNCgkJdG1wPWRbeF07DQoJCXk9KHRtcCt5KSYweGZmOw0KCQlk
W3hdPWRbeV07DQoJCWRbeV09dG1wOw0KCQlvdXRkYXRhW2ldPWluZGF0YVtp
XV5kWyhkW3hdK3RtcCkmMHhmZl07DQoJCX0NCglrZXktPng9eDsNCglrZXkt
Pnk9eTsNCgl9DQovLyAgPT09PT09PT09PT09PQ0KaW50IFJDNF90ZXN0KGtl
eSwgbGVuLCBpbmRhdGEsIG91dGRhdGEpDQpSQzRfS0VZICprZXk7DQp1bnNp
Z25lZCBpbnQgbGVuOw0KdW5zaWduZWQgY2hhciAqaW5kYXRhOw0KdW5zaWdu
ZWQgY2hhciAqb3V0ZGF0YTsNCgl7DQogICAgICAgIHJlZ2lzdGVyIFJDNF9J
TlQgKmQsdG1wOw0KICAgICAgICByZWdpc3RlciB1bnNpZ25lZCBpbnQgeCx5
Ow0KCXVuc2lnbmVkIGludCBpOw0KICAgIGNoYXIgdGVtcDsNCg0KICAgICAg
ICB4PWtleS0+eDsNCiAgICAgICAgeT1rZXktPnk7DQogICAgICAgIGQ9a2V5
LT5kYXRhOw0KICAgICAgICBmb3IgKGk9MDsgaTxsZW47IGkrKykNCgkJew0K
CQl4PSgoeCsxKSYweGZmKTsNCgkJdG1wPWRbeF07DQoJCXk9KHRtcCt5KSYw
eGZmOw0KCQlkW3hdPWRbeV07DQoJCWRbeV09dG1wOw0KLy8JCW91dGRhdGFb
aV09Ow0KICAgICAgICB0ZW1wID0gaW5kYXRhW2ldXmRbKGRbeF0rdG1wKSYw
eGZmXTsNCiAgICAgICAgaWYgKHRlbXAgIT0gb3V0ZGF0YVtpXSkgICAgICAg
ICAgICAvL3NtYWxsIHNwZWVkIHVwIGltcHJvdmVtZW50DQogICAgICAgICBy
ZXR1cm4oMCk7ICAgICAgICAgICAgICAgICAgICAgICAgLy9maXJzdCBieXRl
IG5vdCByaWdodCwgbmV4dCBrZXkNCgkJfQ0KCWtleS0+eD14Ow0KCWtleS0+
eT15Ow0KICAgIHJldHVybigxKTsNCgl9Ow0KLy8gID09PT09PT09PT09PT0N
CnZvaWQgUkM0X3NldF9rZXlfdGVzdChrZXksIGxlbiwgZGF0YSkNClJDNF9L
RVkgKmtleTsNCmludCBsZW47DQpyZWdpc3RlciB1bnNpZ25lZCBjaGFyICpk
YXRhOw0KCXsNCiAgICAgICAgcmVnaXN0ZXIgUkM0X0lOVCB0bXA7DQogICAg
ICAgIHJlZ2lzdGVyIHVuc2lnbmVkIGludCBpZDEsaWQyOw0KICAgICAgICBy
ZWdpc3RlciBSQzRfSU5UICpkOw0KICAgICAgICBpbnQgaTsNCiAgICAgICAg
ZD0mKGtleS0+ZGF0YVswXSk7DQogICAgICAgIG1lbWNweShkLCAma2V5X2J1
ZmYsIHNpemVvZihrZXlfYnVmZikpOyAgLy9zbWFsbCBzcGVlZCBpbXByb3Zl
bWVudA0KDQogICAgICAgIGtleS0+eCA9IDA7DQogICAgICAgIGtleS0+eSA9
IDA7DQogICAgICAgIGlkMT1pZDI9MDsNCiAgICAgICAgZm9yIChpPTA7IGkg
PCAyNTY7IGkrKykNCgkJew0KCQlpZDIgPSAoZGF0YVtpZDFdICsgZFtpXSAr
IGlkMikgJiAweGZmOw0KCQl0bXA9ZFtpXTsgZFtpXT1kW2lkMl07IGRbaWQy
XT10bXA7DQoJCWlkMT0oaWQxKzEpJWxlbjsNCgkJfQ0KCX07DQoNCi8vICA9
PT09PT09PT09PT09AAo=
--Boundary..3936.1071713528.multipart/mixed--




Thread