--- Forwarded mail from [EMAIL PROTECTED]

Date: Thu, 15 Jun 2000 02:10:22 +1000 (EST)
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: BOUNCE [EMAIL PROTECTED]:    Non-member submission from [David
Lloyd <[EMAIL PROTECTED]>]

>From mikem  Thu Jun 15 02:10:16 2000
Received: by oscar.open.com.au (8.9.0/8.9.0) id CAA29612
        for [EMAIL PROTECTED]; Thu, 15 Jun 2000 02:10:14 +1000 (EST)
>Received: from saruman.ws.inxpress.net (saruman.ws.inxpress.net [208.16.4.20])
by perki.connect.com.au with ESMTP id BAA27832
  (8.8.8/IDA-1.7 for <[EMAIL PROTECTED]>); Thu, 15 Jun 2000 01:43:52 +1000
(EST)
Received: from saruman.ws.inxpress.net (saruman.ws.inxpress.net [208.16.4.20])
by perki.connect.com.au with ESMTP id BAA27832
  (8.8.8/IDA-1.7 for <[EMAIL PROTECTED]>); Thu, 15 Jun 2000 01:43:52 +1000
(EST)
Received: from saruman.ws.inxpress.net (IDENT:[EMAIL PROTECTED]
[208.16.4.20])
        by saruman.ws.inxpress.net (8.9.3/8.9.3) with ESMTP id KAA22825
        for <[EMAIL PROTECTED]>; Wed, 14 Jun 2000 10:45:24 -0500
Date: Wed, 14 Jun 2000 10:45:21 -0500 (CDT)
From: David Lloyd <[EMAIL PROTECTED]>
X-Sender: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: AcctRewriteUsername
In-Reply-To: <001a01bfc000$46591740$[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="282072068-1086035839-960997521=:22812"

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to [EMAIL PROTECTED] for more info.

--282072068-1086035839-960997521=:22812
Content-Type: TEXT/PLAIN; charset=US-ASCII

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi... I modified my Handler.pm (from Radiator 2.16.1) to add a directive
called 'AcctRewriteUserName', which works just like 'RewriteUserName' but
it works on accounting requests.  If you are interested, here it is.

- - D
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.1 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE5R6iTd4tMtDcLg/8RAhKrAJ9n8R+UkyQKid13gd8Pnpcfd5kUZgCdG4zF
yUv/yGbyv4zUWFvpNTFcXGo=
=2w1H
-----END PGP SIGNATURE-----

--282072068-1086035839-960997521=:22812
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="Handler.pm"
Content-Transfer-Encoding: BASE64
Content-ID: <[EMAIL PROTECTED]>
Content-Description:
Content-Disposition: attachment; filename="Handler.pm"

IyBIYW5kbGVyLnBtDQojDQojIE9iamVjdCBmb3IgaGFuZGxpbmcgcmVxdWVz
dHMgYmFzZWQgb24gYWxtb3N0IGFueSANCiMgYXR0cmlidXRlIGluIGEgcGFj
a2V0DQojIFdlIG1haW50YWluIGEgbGlzdCBvZiBoYW5kbGVycyBpbiB0aGUg
c2FtZSBvcmRlciB0aGV5IA0KIyBhcHBlYXIgaW4gdGhlIGNvbmZpZyBmaWxl
DQojDQojIEF1dGhvcjogTWlrZSBNY0NhdWxleSAobWlrZW1Ab3Blbi5jb20u
YXUpDQojIENvcHlyaWdodCAoQykgMTk5NyBPcGVuIFN5c3RlbSBDb25zdWx0
YW50cw0KIyAkSWQ6IEhhbmRsZXIucG0sdiAxLjEyIDIwMDAvMDYvMTIgMjI6
NDY6MTIgbWlrZW0gRXhwICQNCg0KcGFja2FnZSBSYWRpdXM6OkhhbmRsZXI7
DQp1c2UgUmFkaXVzOjpBdXRoR2VuZXJpYzsNCnVzZSBTb2NrZXQ7DQp1c2Ug
RmlsZTo6UGF0aDsNCnVzZSBGaWxlOjpCYXNlbmFtZTsNCnVzZSBzdHJpY3Q7
DQoNCnVzZSB2YXJzIHF3KCRWRVJTSU9OIEBJU0EpOw0KQkVHSU4gDQp7DQog
ICAgQElTQSA9IHF3KFJhZGl1czo6Q29uZmlndXJhYmxlKTsNCn0NCg0KIyBN
YWtlIHN1cmUgd2UgZ2V0IHJlaW5pdGlhbGl6ZWQgb24gc2lnaHVwDQpwdXNo
KEBtYWluOjpyZWluaXRGbnMsIFwmcmVpbml0aWFsaXplKTsNCiMgVGVsbCBD
bGllbnQucG0gaG93IHRvIGdldCB0byBvdXIgZmluZCBmdW5jdGlvbg0KcHVz
aChAUmFkaXVzOjpDbGllbnQ6OmhhbmRsZXJGaW5kRm4sIFwmZmluZCk7DQoN
CiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBOYW1lIGlzIGEgaGFuZGxl
ciBzZWxlY3Rpb24gZXhwcmVzc2lvbg0Kc3ViIG5ldw0Kew0KICAgIG15ICgk
Y2xhc3MsICRuYW1lLCAkZmlsZSkgPSBAXzsNCg0KICAgIG15ICRzZWxmID0g
JGNsYXNzLT5TVVBFUjo6bmV3KCRmaWxlKTsNCiAgICAkc2VsZi0+e05hbWV9
ID0gJG5hbWU7DQogICAgDQogICAgIyBQYXJzZSB0aGUgaGFuZGxlciBzZWxl
Y3Rpb24gZXhwcmVzc2lvbiBpbnRvDQogICAgIyBhbiBBdHRyVmFsIGZvciBs
YXRlciBldmFsdWF0aW9uDQogICAgJHNlbGYtPntDaGVja30gPSBSYWRpdXM6
OkF0dHJWYWwtPm5ldygpOw0KICAgICRzZWxmLT57Q2hlY2t9LT5wYXJzZSgk
bmFtZSk7DQoNCiAgICAjIFJldGFpbiB0aGUgb3JkZXIgdGhleSBhcHBlYXIg
aW4gdGhlIGNvbmZpZyBmaWxlDQogICAgcHVzaChAeyRSYWRpdXM6OkhhbmRs
ZXI6OmhhbmRsZXJzfSwgJHNlbGYpOw0KICAgIHJldHVybiAkc2VsZjsNCn0N
Cg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojIERvIHBlci1pbnN0YW5j
ZSBkZWZhdWx0IGluaXRpYWxpemF0aW9uDQpzdWIgaW5pdGlhbGl6ZQ0Kew0K
ICAgIG15ICgkc2VsZikgPSBAXzsNCg0KICAgICRzZWxmLT5TVVBFUjo6aW5p
dGlhbGl6ZTsNCiAgICAkc2VsZi0+e0F1dGhCeVBvbGljeX0gPSAnQ29udGlu
dWVXaGlsZUlnbm9yZSc7DQp9DQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
Iw0KIyBPdmVycmlkZSB0aGUgb2JqZWN0IGZ1bmN0aW9uIGluIENvbmZpZ3Vy
YWJsZQ0Kc3ViIG9iamVjdA0Kew0KICAgIG15ICgkc2VsZiwgJGZpbGUsICRr
ZXl3b3JkLCAkYXJncykgPSBAXzsNCg0KICAgIGlmICgka2V5d29yZCBlcSAn
QXV0aEJ5JykNCiAgICB7DQoJbXkgJGZpbGVuYW1lID0gIlJhZGl1cy9BdXRo
JGFyZ3MucG0iOw0KCWlmIChldmFsKCJyZXF1aXJlIFwiJGZpbGVuYW1lXCIi
KSkNCgl7DQoJICAgIG15ICRjbGFzcyA9ICJSYWRpdXM6OkF1dGgkYXJncyI7
DQoJICAgICMgVGhpcyB3aWxsIGFic29yYiB0aGUgY29uZmlnIGZpbGUgdXAg
dW50aWwgdGhlIA0KCSAgICAjIG5leHQgPC9BdXRoQnk+DQoJICAgIG15ICRo
YW5kbGVyID0gJGNsYXNzLT5uZXcoJGZpbGUsICRhcmdzKTsNCgkgICAgcHVz
aChAeyRzZWxmLT57QXV0aEJ5fX0sICRoYW5kbGVyKTsNCgl9DQoJZWxzZQ0K
CXsNCgkgICAgJm1haW46OmxvZygkbWFpbjo6TE9HX0VSUiwgIkNvdWxkIG5v
dCBsb2FkIGF1dGhlbnRpY2F0aW9uIG1vZHVsZSAkZmlsZW5hbWU6ICRAIik7
DQoJfQ0KICAgIH0NCiAgICBlbHNlDQogICAgew0KCXJldHVybiAwOw0KICAg
IH0NCiAgICByZXR1cm4gMTsNCn0NCg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjDQojIE92ZXJyaWRlIHRoZSBrZXl3b3JkIGZ1bmN0aW9uIGluIENvbmZp
Z3VyYWJsZQ0Kc3ViIGtleXdvcmQNCnsNCiAgICBteSAoJHNlbGYsICRmaWxl
LCAka2V5d29yZCwgJHZhbHVlKSA9IEBfOw0KDQogICAgaWYgKCRrZXl3b3Jk
IGVxICdBY2N0TG9nRmlsZU5hbWUnKQ0KICAgIHsNCglwdXNoIChAeyRzZWxm
LT57QWNjdExvZ0ZpbGVOYW1lfX0sICR2YWx1ZSk7DQogICAgfQ0KICAgIGVs
c2lmICgka2V5d29yZCBlcSAnQWNjdExvZ0ZpbGVGb3JtYXQnKQ0KICAgIHsN
Cgkkc2VsZi0+e0FjY3RMb2dGaWxlRm9ybWF0fSA9ICR2YWx1ZTsNCiAgICB9
DQogICAgZWxzaWYgKCRrZXl3b3JkIGVxICdXdG1wRmlsZU5hbWUnKQ0KICAg
IHsNCgkkc2VsZi0+e1d0bXBGaWxlTmFtZX0gPSAkdmFsdWU7DQogICAgfQ0K
ICAgIGVsc2lmICgka2V5d29yZCBlcSAnUGFzc3dvcmRMb2dGaWxlTmFtZScp
DQogICAgew0KCSRzZWxmLT57UGFzc3dvcmRMb2dGaWxlTmFtZX0gPSAkdmFs
dWU7DQogICAgfQ0KICAgIGVsc2lmICgka2V5d29yZCBlcSAnRXhjbHVkZUZy
b21QYXNzd29yZExvZycpDQogICAgew0KCXB1c2ggQHskc2VsZi0+e0V4Y2x1
ZGVGcm9tUGFzc3dvcmRMb2d9fSwgc3BsaXQoL1xzKy8sICR2YWx1ZSk7DQog
ICAgfQ0KICAgIGVsc2lmICgka2V5d29yZCBlcSAnRXhjbHVkZVJlZ2V4RnJv
bVBhc3N3b3JkTG9nJykNCiAgICB7DQoJJHNlbGYtPntFeGNsdWRlUmVnZXhG
cm9tUGFzc3dvcmRMb2d9ID0gJHZhbHVlOw0KICAgIH0NCiAgICBlbHNpZiAo
JGtleXdvcmQgZXEgJ1Jld3JpdGVVc2VybmFtZScpDQogICAgew0KCSMgYWxs
b3cgbW9yZSB0aGFuIDEgcmV3cml0ZQ0KCXB1c2ggQHskc2VsZi0+e1Jld3Jp
dGVVc2VybmFtZX19LCAkdmFsdWU7DQogICAgfQ0KICAgIGVsc2lmICgka2V5
d29yZCBlcSAnQWNjdFJld3JpdGVVc2VybmFtZScpDQogICAgew0KICAgICAg
ICAjIGFsbG93IG1vcmUgdGhhbiAxIHJld3JpdGUNCiAgICAgICAgcHVzaCBA
eyRzZWxmLT57QWNjdFJld3JpdGVVc2VybmFtZX19LCAkdmFsdWU7DQogICAg
fQ0KICAgIGVsc2lmICgka2V5d29yZCBlcSAnTWF4U2Vzc2lvbnMnKQ0KICAg
IHsNCgkkc2VsZi0+e01heFNlc3Npb25zfSA9IGludCAkdmFsdWU7DQogICAg
fQ0KICAgIGVsc2lmICgka2V5d29yZCBlcSAnUmV3cml0ZUZ1bmN0aW9uJykN
CiAgICB7DQoJJHNlbGYtPntSZXdyaXRlRnVuY3Rpb259ID0gZXZhbCAoIiR2
YWx1ZSIpOw0KICAgIH0NCiAgICBlbHNpZiAoJGtleXdvcmQgZXEgJ0FjY291
bnRpbmdIYW5kbGVkJykNCiAgICB7DQogCSRzZWxmLT57QWNjb3VudGluZ0hh
bmRsZWR9Kys7DQogICAgfQ0KICAgIGVsc2lmICgka2V5d29yZCBlcSAnQXV0
aEJ5UG9saWN5JykNCiAgICB7DQogCSRzZWxmLT57QXV0aEJ5UG9saWN5fSA9
ICR2YWx1ZTsNCiAgICB9DQogICAgZWxzaWYgKCRrZXl3b3JkIGVxICdSZWpl
Y3RIYXNSZWFzb24nKQ0KICAgIHsNCiAJJHNlbGYtPntSZWplY3RIYXNSZWFz
b259Kys7DQogICAgfQ0KICAgIGVsc2lmICgka2V5d29yZCBlcSAnU2Vzc2lv
bkRhdGFiYXNlJykNCiAgICB7DQogCSRzZWxmLT57U2Vzc2lvbkRhdGFiYXNl
fSA9ICR2YWx1ZTsNCiAgICB9DQogICAgZWxzaWYgKCRrZXl3b3JkIGVxICdQ
cmVQcm9jZXNzaW5nSG9vaycpDQogICAgew0KIAkjIEdldCBhIHJlZmVyZW5j
ZSB0byB0aGUgY29kZSBibG9jaw0KIAkkc2VsZi0+e1ByZVByb2Nlc3NpbmdI
b29rfSA9IGV2YWwoJHZhbHVlKTsNCiAJJm1haW46OmxvZygkbWFpbjo6TE9H
X0VSUiwgDQogCQkgICAiQ29tcGlsYXRpb24gZXJyb3IgaW4gUHJlUHJvY2Vz
c2luZ0hvb2soKTogJEAiKQ0KIAkgICAgaWYgJEA7DQogICAgfQ0KICAgIGVs
c2lmICgka2V5d29yZCBlcSAnUHJlQXV0aEhvb2snKQ0KICAgIHsNCgkjIEdl
dCBhIHJlZmVyZW5jZSB0byB0aGUgY29kZSBibG9jaw0KCSRzZWxmLT57UHJl
QXV0aEhvb2t9ID0gZXZhbCgkdmFsdWUpOw0KCSZtYWluOjpsb2coJG1haW46
OkxPR19FUlIsIA0KCQkgICAiQ29tcGlsYXRpb24gZXJyb3IgaW4gUHJlQXV0
aEhvb2soKTogJEAiKQ0KCSAgICBpZiAkQDsNCiAgICB9DQogICAgZWxzaWYg
KCRrZXl3b3JkIGVxICdQb3N0QXV0aEhvb2snKQ0KICAgIHsNCgkjIEdldCBh
IHJlZmVyZW5jZSB0byB0aGUgY29kZSBibG9jaw0KCSRzZWxmLT57UG9zdEF1
dGhIb29rfSA9IGV2YWwoJHZhbHVlKTsNCgkmbWFpbjo6bG9nKCRtYWluOjpM
T0dfRVJSLCANCgkJICAgIkNvbXBpbGF0aW9uIGVycm9yIGluIFBvc3RBdXRo
SG9vaygpOiAkQCIpDQoJICAgIGlmICRAOw0KICAgIH0NCiAgICBlbHNpZiAo
JGtleXdvcmQgZXEgJ0F1dGhCeScpDQogICAgew0KCW15ICRhdXRoX29iamVj
dDsNCglpZiAoJGF1dGhfb2JqZWN0ID0gJlJhZGl1czo6QXV0aEdlbmVyaWM6
OmZpbmQoJHZhbHVlKSkNCgl7DQoJICAgIHB1c2goQHskc2VsZi0+e0F1dGhC
eX19LCAkYXV0aF9vYmplY3QpOw0KCX0NCgllbHNlDQoJew0KCSAgICAmbWFp
bjo6bG9nKCRtYWluOjpMT0dfV0FSTklORywgDQoJCSAgICAgICAiQ291bGQg
bm90IGZpbmQgYW4gPEF1dGhCeT4gY2xhdXNlIHdpdGggSWRlbnRpZmllciBm
b3IgQXV0aEJ5ICR2YWx1ZSIpOw0KCX0NCiAgICB9DQogICAgZWxzaWYgKCRr
ZXl3b3JkIGVxICdIYW5kbGVBc2NlbmRBY2Nlc3NFdmVudFJlcXVlc3QnKQ0K
ICAgIHsNCiAJJHNlbGYtPntIYW5kbGVBc2NlbmRBY2Nlc3NFdmVudFJlcXVl
c3R9Kys7DQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQoJcmV0dXJuICRzZWxm
LT5TVVBFUjo6a2V5d29yZCgkZmlsZSwgJGtleXdvcmQsICR2YWx1ZSk7DQog
ICAgfQ0KICAgIHJldHVybiAxOw0KfQ0KDQojIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMNCiMgRmluZCBhIEhhbmRsZXIgdGhhdCBjYW4gaGFuZGxlIHRoaXMg
cGFja2V0DQojIFRoaXMgaXMgYSBsaW5lYXIgc2VhcmNoLCBhbmQgbWlnaHQg
YmUgc2xvdw0KIyBJZiB5b3UgbmVlZCB0byBzcGVlZCBpdCB1cCwgY29uc2lk
ZXIgYSBjdXN0b20gc3ViY2xhc3Mgb2YgSGFuZGxlcg0Kc3ViIGZpbmQNCnsN
CiAgICBteSAoJHAsICR1c2VybmFtZSwgJHJlYWxtKSA9IEBfOw0KICAgIG15
ICRoOw0KICAgIGZvcmVhY2ggJGggKEB7JFJhZGl1czo6SGFuZGxlcjo6aGFu
ZGxlcnN9KQ0KICAgIHsNCgkjIFNlZSBpZiB0aGUgc2VsZWN0aW9uIGV4cHJl
c3Npb24gZm9yIHRoZSBoYW5kbGVyIHRydWUNCgkmbWFpbjo6bG9nKCRtYWlu
OjpMT0dfREVCVUcsICJDaGVjayBpZiBIYW5kbGVyICRoLT57TmFtZX0gc2hv
dWxkIGJlIHVzZWQgdG8gaGFuZGxlIHRoaXMgcmVxdWVzdCIpOw0KCW15ICgk
cmVzdWx0LCAkcmVhc29uKSA9IFJhZGl1czo6QXV0aEdlbmVyaWM6OmNoZWNr
QXR0cmlidXRlcw0KCQkodW5kZWYsICRoLT57Q2hlY2t9LCAkcCk7DQoJcmV0
dXJuICRoIGlmICRyZXN1bHQgPT0gJG1haW46OkFDQ0VQVDsNCiAgICB9DQog
ICAgcmV0dXJuIHVuZGVmOw0KfQ0KDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMNCiMgSGFuZGxlIGEgcmVxdWVzdCBmb3IgYSBIYW5kbGVyDQpzdWIgaGFu
ZGxlX3JlcXVlc3QNCnsNCiAgICBteSAoJHNlbGYsICRwKSA9IEBfOw0KDQog
ICAgIyBSZW1lbWJlciB3aGljaCBIYW5kbGVyIHByb2Nlc3NlZCB0aGUgcGFj
a2V0DQogICAgJHAtPntIYW5kbGVyfSA9ICRzZWxmOw0KDQogICAgJm1haW46
OmxvZygkbWFpbjo6TE9HX0RFQlVHLCANCgkgICAgICAgIkhhbmRsaW5nIHJl
cXVlc3Qgd2l0aCBIYW5kbGVyICckc2VsZi0+e05hbWV9JyIpOw0KDQogICAg
IyBQcmVwYXJlIGEgcmVwbHkgcGFja2V0DQogICAgbXkgJHJwID0gbmV3IFJh
ZGl1czo6UmFkaXVzICRtYWluOjpkaWN0aW9uYXJ5Ow0KICAgICRycC0+c2V0
X2lkZW50aWZpZXIoJHAtPmlkZW50aWZpZXIpOw0KICAgICRycC0+c2V0X2F1
dGhlbnRpY2F0b3IoJHAtPmF1dGhlbnRpY2F0b3IpOw0KDQogICAgIyBDYWxs
IHRoZSBQcmVQcm9jZXNzaW5nSG9vaywgaWYgdGhlcmUgaXMgb25lDQogICAg
aWYgKGRlZmluZWQgJHNlbGYtPntQcmVQcm9jZXNzaW5nSG9va30pDQogICAg
ew0KIAkjIFdlIHVzZSBhbiBldmFsIHNvIGFuIGVycm9yIGluIHRoZSBob29r
IHdvbnQgDQogCSMga2lsbCB1cy4NCiAJZXZhbHsgJnskc2VsZi0+e1ByZVBy
b2Nlc3NpbmdIb29rfX0oXCRwLCBcJHJwKTsgfTsNCiAJJm1haW46OmxvZygk
bWFpbjo6TE9HX0VSUiwgDQogCQkgICAiRXJyb3IgaW4gUHJlUHJvY2Vzc2lu
Z0hvb2soKTogJEAiKQ0KIAkgICAgaWYgJEA7DQogICAgfQ0KDQogICAgIyBS
ZXdyaXRlIHRoZSB1c2VyIG5hbWUgaWYgcmVxdWlyZWQNCiAgICBteSAkbmFt
ZSA9ICRwLT5nZXRVc2VyTmFtZTsNCiAgICBpZiAoZGVmaW5lZCAkc2VsZi0+
e1Jld3JpdGVGdW5jdGlvbn0pDQogICAgew0KCSMgQ29udHJpYnV0ZWQgYnkg
c2hhd25pQHRlbGVwb3J0LmNvbSwgYnV0IHVuZG9jdW1lbnRlZC4NCgkjIFJl
d3JpdGVGdW5jdGlvbiBpcyBhIHBlcmwgc3ViIGRlY2xhcmF0aW9uLiBUaGUg
c3ViDQoJIyB3aWxsIGJlIGNhbGxlZCB0byByZXdyaXRlIHRoZSB1c2VybmFt
ZQ0KCSMgVXNhZ2UgZXhhbXBsZToNCgkjIFJld3JpdGVGdW5jdGlvbiBzdWIg
eyBteSgkYSkgPSBzaGlmdDsgJGEgPX4gcy9bXDAwMF0vL2c7ICRhID1+IHMv
XihbXkBdKykuKi8kMS87ICRhID1+IHRyL1tBLVpdL1thLXpdLzsgJGEgPX4g
cy8nLy9nOyAkYTsgfQ0KCSMgV2UgdXNlIGFuIGV2YWwgc28gYW4gZXJyb3Ig
aW4gdGhlIHBhdHRlcm4gd29udCBraWxsIHVzLg0KCWV2YWwoIlwkbmFtZSA9
ICZ7XCRzZWxmLT57UmV3cml0ZUZ1bmN0aW9ufX0oXCRuYW1lKTsiKTsNCgkm
bWFpbjo6bG9nKCRtYWluOjpMT0dfRVJSLCAiRXJyb3IgaW4gUmV3cml0ZUZ1
bmN0aW9uKCRuYW1lKTogJEAiKSBpZiAkQDsNCgkkcC0+Y2hhbmdlVXNlck5h
bWUoJG5hbWUpOw0KIA0KCSZtYWluOjpsb2coJG1haW46OkxPR19ERUJVRywg
IlJld3JvdGUgdXNlciBuYW1lIHRvICRuYW1lIik7DQogICAgfSANCiAgICBl
bHNpZiAoZGVmaW5lZCAkc2VsZi0+e1Jld3JpdGVVc2VybmFtZX0pDQogICAg
ew0KCSRuYW1lID0gJHAtPnJld3JpdGVVc2VybmFtZSgkc2VsZi0+e1Jld3Jp
dGVVc2VybmFtZX0pOw0KICAgIH0NCg0KICAgICMgR2V0IHRoZSB1c2VybmFt
ZSBiZWZvcmUgYW55IHJld3JpdGluZy4gTmVlZCB0aGlzIHRvIA0KICAgICMg
bWF0Y2ggdXNlcnMgaW4gdGhlIHNlc3Npb24gZGF0YWJhc2UNCiAgICBteSAk
b3JpZ2luYWxfdXNlcm5hbWUgPSAkcC0+e09yaWdpbmFsVXNlck5hbWV9OyAN
Cg0KICAgICMgV2Uga2VlcCBzb21lIGludGVyZXN0aW5nIGF0dHJpYnV0ZXMg
ZnJvbSB0aGUgcmVxdWVzdA0KICAgICMgdGhhdCB3aWxsIHByb2JhYmx5IGJl
IG5lZWRlZA0KICAgIG15ICRuYXNfaWQgPSAkcC0+Z2V0TmFzSWQoKTsNCiAg
ICBteSAkbmFzX3BvcnQgPSAkcC0+Z2V0QXR0ckJ5TnVtKCRSYWRpdXM6OlJh
ZGl1czo6TkFTX1BPUlQpOw0KICAgICMgM2NvbSBIaVBlckFyYyBkb2VzIG5v
dCBzZW5kIE5BUy1JZGVudGlmaWVyIEVWRVIsIGFuZCBkb2Vzbid0DQogICAg
IyBzZW5kIE5BUy1JUC1BZGRyZXNzIHcvQWNjb3VudGluZy1PTi4gIFRoaXMg
aXMgZ29pbmcgdG8gYmUNCiAgICAjIGEgcHJvYmxlbSBpcyB0aGV5IHN0YXJ0
IHNlbmRpbmcgTkFTLUlkZW50aWZpZXIncyB3aXRoDQogICAgIyBBY2NvdW50
aW5nLVN0YXJ0cyBhbmQgbm90IEFjY291bnRpbmctT04ncy4NCiAgICBpZiAo
IWRlZmluZWQgJG5hc19pZCkNCiAgICB7DQoJbXkgKCRwb3J0LCAkYWRkcikN
CgkgICAgPSBTb2NrZXQ6OnVucGFja19zb2NrYWRkcl9pbigkcC0+e1JlY3ZG
cm9tfSk7DQoJJG5hc19pZCA9IFNvY2tldDo6aW5ldF9udG9hKCRhZGRyKTsN
CiAgICB9DQoJDQogICAgbXkgJHNlc3NkYiA9IFJhZGl1czo6U2Vzc0dlbmVy
aWM6OmZpbmQNCgkoJHNlbGYtPntTZXNzaW9uRGF0YWJhc2V9KTsNCiAgICAj
IFNlZSBpZiB0aGUgdXNlciB3aWxsIGV4Y2VlZCB0aGUgbWF4IG51bWJlciBv
ZiBzZXNzaW9ucw0KICAgIGlmICgkcC0+Y29kZSBlcSAnQWNjZXNzLVJlcXVl
c3QnKQ0KICAgIHsNCgkjIElmIHdlIGxvc3QgYSBTdG9wIGZvciB0aGlzIHBv
cnQsIGNsZWFuIHVwIHRoZSBzZXNzaW9uIGRhdGFiYXNlDQoJJHNlc3NkYi0+
ZGVsZXRlKCRvcmlnaW5hbF91c2VybmFtZSwgJG5hc19pZCwgJG5hc19wb3J0
LCAkcCk7DQoNCglpZiAoZGVmaW5lZCAkc2VsZi0+e01heFNlc3Npb25zfQ0K
CSAgICAmJiAkc2Vzc2RiLT5leGNlZWRlZCgkc2VsZi0+e01heFNlc3Npb25z
fSwgJG9yaWdpbmFsX3VzZXJuYW1lLCAkcCkpDQoJew0KCSAgICAjIElzc3Vl
IGEgZGVuaWFsIGFuZCBib21iIG91dA0KCSAgICBteSAkcmVhc29uID0gIk1h
eFNlc3Npb25zIGV4Y2VlZGVkIjsNCgkgICAgJm1haW46OmxvZygkbWFpbjo6
TE9HX0lORk8sICJBY2Nlc3MgcmVqZWN0ZWQgZm9yICRuYW1lOiAkcmVhc29u
Iik7DQoJICAgICRycC0+c2V0X2NvZGUoJ0FjY2Vzcy1SZWplY3QnKTsNCgkg
ICAgJHJwLT5hZGRBdHRyQnlOdW0oJFJhZGl1czo6UmFkaXVzOjpSRVBMWV9N
RVNTQUdFLCANCgkJCSAgICAgICdSZXF1ZXN0IERlbmllZCcpOw0KCSAgICAk
cnAtPmFkZEF0dHJCeU51bSgkUmFkaXVzOjpSYWRpdXM6OlJFUExZX01FU1NB
R0UsICRyZWFzb24pDQoJCWlmICRzZWxmLT57UmVqZWN0SGFzUmVhc29ufTsN
CgkgICAgJHAtPntDbGllbnR9LT5yZXBseVRvKCRycCwgJHApOw0KCSAgICBy
ZXR1cm47DQoJfQ0KICAgIH0NCiAgICBlbHNpZiAoJHAtPmNvZGUgZXEgJ0Fj
Y291bnRpbmctUmVxdWVzdCcpDQogICAgew0KCSMgUmV3cml0ZSBVc2VybmFt
ZSBmb3IgQWNjb3VudGluZw0KCWlmIChkZWZpbmVkICRzZWxmLT57QWNjdFJl
d3JpdGVVc2VybmFtZX0pDQoJew0KCSAgICAkbmFtZSA9ICRwLT5yZXdyaXRl
VXNlcm5hbWUoJHNlbGYtPntBY2N0UmV3cml0ZVVzZXJuYW1lfSk7DQoJfQ0K
CSMgQWRkIGEgcHNldWRvIGF0dHJpYnV0ZSBmb3IgdGhlIFRpbWVzdGFtcCAN
CgkjIChhZGp1c3RlZCBieSBEZWxheS1UaW1lKQ0KCSMgU29tZSBtb2R1bGVz
IChBdXRoU1FMKSBhbmQgbG9nZmlsZSBzY3JpcHRzIHJlbHkgb24gaXQNCgkk
cC0+YWRkX2F0dHIoJ1RpbWVzdGFtcCcsIA0KCQkgICAgICRwLT57UmVjdlRp
bWV9IA0KCQkgICAgIC0gaW50ICRwLT5nZXRBdHRyQnlOdW0oJFJhZGl1czo6
UmFkaXVzOjpBQ0NUX0RFTEFZX1RJTUUpKTsNCg0KCSMgTG9nIHRoZSBwYWNr
ZXQNCgkNCglteSAkc3RhdHVzX3R5cGUgPSAkcC0+Z2V0QXR0ckJ5TnVtKCRS
YWRpdXM6OlJhZGl1czo6QUNDVF9TVEFUVVNfVFlQRSk7DQoJbXkgJHNlc3Np
b25faWQgPSAkcC0+Z2V0QXR0ckJ5TnVtKCRSYWRpdXM6OlJhZGl1czo6QUND
VF9TRVNTSU9OX0lEKTsNCglteSAkY3VycmVudF90aW1lID0gdGltZTsNCgkg
DQoJIyBIYW5kbGUgbXVsdGlwbGUgYWNjb3VudGluZyBsb2cgZmlsZXMNCglt
eSAkYWNjdEZpbGVOYW1lOw0KCWZvcmVhY2ggJGFjY3RGaWxlTmFtZSAoQHsk
c2VsZi0+e0FjY3RMb2dGaWxlTmFtZX19KQ0KCXsNCgkgICAgbXkgJGZpbGVu
YW1lID0gJlJhZGl1czo6VXRpbDo6Zm9ybWF0X3NwZWNpYWwoJGFjY3RGaWxl
TmFtZSwgJHAsICRycCk7DQoJICAgICMgTWFrZSBzdXJlIHRoZSBsb2cgZmls
ZSBkaXJlY3RvcnkgZXhpc3RzLg0KCSAgICBpZiAoISAtZCBkaXJuYW1lKCRm
aWxlbmFtZSkpIA0KCSAgICB7DQoJCW1rcGF0aChkaXJuYW1lKCRmaWxlbmFt
ZSksIDAsIDA3NTUpOw0KCSAgICB9DQoJICAgIG9wZW4oTE9HLCAiPj4kZmls
ZW5hbWUiKQ0KCQl8fCAmbWFpbjo6bG9nKCRtYWluOjpMT0dfRVJSLCAiQ291
bGQgbm90IG9wZW4gYWNjb3VudGluZyBsb2cgZmlsZSAnJGZpbGVuYW1lJzog
JCEiKTsNCgkgICAgDQoJICAgICMgVGhpcyBpcyB3aGVyZSB0aGUgcGFja2V0
IGlzIGZvcm1hdHRlZCBpbnRvIHRoZSBsb2cgZmlsZS4NCgkgICAgIyBJZiB5
b3Ugd2FudCBhIGRpZmZlcmVudCBhY2NvdW50aW5nIGxvZyBmaWxlIGZvcm1h
dCwgeW91IGNhbg0KCSAgICAjIGNoYW5nZSB0aGlzIGJpdA0KCSAgICBpZiAo
ZGVmaW5lZCAkc2VsZi0+e0FjY3RMb2dGaWxlRm9ybWF0fSkNCgkgICAgew0K
CQkjIEZvcm1hdCBmb3IgYWNjb3VudGluZyBsb2cgZmlsZQ0KCQlwcmludCBM
T0cgJlJhZGl1czo6VXRpbDo6Zm9ybWF0X3NwZWNpYWwNCgkJICAgICgkc2Vs
Zi0+e0FjY3RMb2dGaWxlRm9ybWF0fSwNCgkJICAgICAkcCwgJHJwKSwgIlxu
IjsNCgkgICAgfQ0KCSAgICBlbHNlDQoJICAgIHsNCgkJIyBObyBzcGVjaWFs
IGZvcm1hdCwgZG8gaXQgdGhlIHN0YW5kYXJkIHJhZGl1cyB3YXkNCgkJcHJp
bnQgTE9HIHNjYWxhciBsb2NhbHRpbWUoJGN1cnJlbnRfdGltZSkgLiAiXG4i
IC4gJHAtPmZvcm1hdCAuICJcbiI7DQoJICAgIH0NCgkgICAgDQoJICAgIGNs
b3NlKExPRykNCgkJfHwgJm1haW46OmxvZygkbWFpbjo6TE9HX0VSUiwgIkNv
dWxkIG5vdCBjbG9zZSBhY2NvdW50aW5nIGxvZyBmaWxlICckZmlsZW5hbWUn
OiAkISIpOw0KCX0NCgkNCglpZiAoJHNlbGYtPntXdG1wRmlsZU5hbWV9IG5l
ICcnKQ0KCXsNCgkgICAgbXkgJGZpbGVuYW1lID0gJlJhZGl1czo6VXRpbDo6
Zm9ybWF0X3NwZWNpYWwoJHNlbGYtPntXdG1wRmlsZU5hbWV9LCAkcCwgJHJw
KTsNCgkgICAgb3BlbihMT0csICI+PiRmaWxlbmFtZSIpDQoJCXx8ICZtYWlu
Ojpsb2coJG1haW46OkxPR19FUlIsICJDb3VsZCBub3Qgb3BlbiB3dG1wIGZp
bGUgJyRmaWxlbmFtZSc6ICQhIik7DQoJICAgIA0KCSAgICAjIFRoaXMgaXMg
d2hlcmUgdGhlIHBhY2tldCBpcyBmb3JtYXR0ZWQgaW50byB0aGUgd3RtcCBm
aWxlLg0KCSAgICAjIElmIHlvdSB3YW50IGEgZGlmZmVyZW50IHd0bXAgZmls
ZSBmb3JtYXQsIHlvdSBjYW4NCgkgICAgIyBjaGFuZ2UgdGhpcyBiaXQNCgkg
ICAgIyBXcml0ZSB0byBhIHd0bXAgY29tcGF0aWJsZSBmaWxlDQoJICAgICMg
SWYgaXRzIGEgU3RhcnQsIG1ha2UgYSBVU0VSX1BST0NFU1MgKDcpIGVudHJ5
IGVsc2UgYQ0KCSAgICAjIERFQURfUFJPQ0VTUyAoOCkgZW50cnkNCgkgICAg
aWYgKCReTyBlcSAnbGludXgnKQ0KCSAgICB7DQoJCXByaW50IExPRyBwYWNr
ICdzIHggeCBpIGExMiBhMiB4IHhMIGE4IGExNiBsJywNCgkJJHN0YXR1c190
eXBlIGVxICdTdGFydCcgPyA3IDogOCwgJCQsIA0KCQkkbmFzX3BvcnQsICc/
JywNCgkJJGN1cnJlbnRfdGltZSwgJG5hbWUsICdSQURJVVMnLCANCgkJJHAt
PmdldEF0dHJCeU51bSgkUmFkaXVzOjpSYWRpdXM6OkZSQU1FRF9JUF9BRERS
RVNTKTsNCgkgICAgfQkJDQoJICAgIGVsc2lmICgkXk8gZXEgJ2ZyZWVic2Qn
KQ0KCSAgICB7DQoJCXByaW50IExPRyBwYWNrICdhOCBhMTYgYTE2IEwnLA0K
CQkkbmFzX3BvcnQsDQoJCSMgRnJlZUJTRCB1c2VzIE5VTEwgdXNlcm5hbWUg
YXMgYSBERUFEX1BST0NFU1MNCgkJIyBob3BlIHRoaXMgaXMgb2suIEphc29u
IC0gJ2dvZHNleUBmaWRhbGdvLm5ldCcNCgkJJHN0YXR1c190eXBlIGVxICdT
dGFydCcgPyAkbmFtZSA6ICcnLA0KCQkkcC0+Z2V0QXR0ckJ5TnVtKCRSYWRp
dXM6OlJhZGl1czo6RlJBTUVEX0lQX0FERFJFU1MpLA0KCQkkY3VycmVudF90
aW1lOw0KCSAgICB9DQoJICAgIGVsc2UNCgkgICAgew0KCQlwcmludCBMT0cg
cGFjayAnYTggYTQgYTEyIHMgcyBzIHMgTCcsDQoJCSRuYW1lLCAnPycsICRu
YXNfcG9ydCwgJCQsIA0KCQkkc3RhdHVzX3R5cGUgZXEgJ1N0YXJ0JyA/IDcg
OiA4LCAwLCAwLCAkY3VycmVudF90aW1lOw0KCSAgICB9DQoJICAgIGNsb3Nl
KExPRykNCgkJfHwgJm1haW46OmxvZygkbWFpbjo6TE9HX0VSUiwgIkNvdWxk
IG5vdCBjbG9zZSBhY2NvdW50aW5nIGxvZyBmaWxlICckZmlsZW5hbWUnOiAk
ISIpOw0KCX0NCgkNCgkjIEFkanVzdCB0aGUgc2Vzc2lvbiBkZXRhaWxzIGlm
IHdlIGFyZSBpbiB0aGUgcGFyZW50DQoJIyBGb3IgZWFjaCB1c2VyLCB3ZSBr
ZWVwIGEgaGFzaCBvZiBzZXNzaW9uIGRldGFpbHMNCgkjIHdpdGggYSBrZXkg
b2YgJG5hc19pZDokbmFzX3BvcnQNCgkjIEJVRyBBTEVSVDogc2hvdWxkIHdl
IHJlYWxseSBkbyB0aGlzIGV2ZXJ5IHRpbWUuIFdoYXQNCgkjIGlmIGl0cyBJ
R05PUkVkLiBXaGF0IGlmIHRoZSBoYW5kbGVyIGZvcmtlZCBldGMuDQoJaWYg
KCRzdGF0dXNfdHlwZSBlcSAnU3RhcnQnIHx8ICRzdGF0dXNfdHlwZSBlcSAn
QWxpdmUnKQ0KCXsNCgkgICAgIyBTb21lIENpc2NvcyBkb250IHNlbmQgYWNj
b3VudGluZy1vbiwgc28gd2Ugd2lsbA0KCSAgICAjIGRldGVjdCBhIHJlYm9v
dCB3aXRoIHRoZSBmaXJzdCBzZXNzaW9uIChJRCAwMDAwMDAwMSkNCgkgICAg
JHNlc3NkYi0+Y2xlYXJOYXMoJG5hc19pZCwgJHApDQoJCWlmICRzZXNzaW9u
X2lkIGVxICcwMDAwMDAwMSc7DQoJICAgIA0KCSAgICAjIENpc2NvcyBzb21l
dGltZXMgc2VuZHMgQWxpdmUuIFVzZSB0aGVtIHRvIG1ha2UgX3N1cmVfDQoJ
ICAgICMgdGhlcmUgaXMgYW4gZW50cnkgaW4gdGhlIGRhdGFiYXNlDQoJICAg
ICRzZXNzZGItPmFkZCgkb3JpZ2luYWxfdXNlcm5hbWUsICRuYXNfaWQsICRu
YXNfcG9ydCwgJHApOw0KCX0NCgllbHNpZiAoJHN0YXR1c190eXBlIGVxICdT
dG9wJykNCgl7DQoJICAgICRzZXNzZGItPmRlbGV0ZSgkb3JpZ2luYWxfdXNl
cm5hbWUsICRuYXNfaWQsICRuYXNfcG9ydCwgJHApOw0KCX0NCgkNCgkjIERl
dGVjdCB0aGUgdmFyaW91cyBraW5kcyBvZiBOQVMgcmVib290cw0KCWlmICgk
c3RhdHVzX3R5cGUgZXEgJ0FjY291bnRpbmctT24nIA0KCSAgICB8fCAkc3Rh
dHVzX3R5cGUgZXEgJ0FjY291bnRpbmctT2ZmJw0KCSAgICB8fCAoICAgKCRz
dGF0dXNfdHlwZSBlcSAnU3RhcnQnIHx8ICRzdGF0dXNfdHlwZSBlcSAnU3Rv
cCcgKQ0KCQkgICAmJiAkc2Vzc2lvbl9pZCBlcSAnMDAwMDAwMDAnKSkNCgl7
DQoJICAgICMgUmVtb3ZlIGFsbCBzZXNzaW9uIGVudHJpZXMgZm9yIGEgZ2l2
ZW4gTkFTLg0KCSAgICAkc2Vzc2RiLT5jbGVhck5hcygkbmFzX2lkLCAkcCk7
DQoJfQ0KICAgIH0NCiAgICBlbHNpZiAoJHNlbGYtPntIYW5kbGVBc2NlbmRB
Y2Nlc3NFdmVudFJlcXVlc3R9DQoJICAgJiYgJHAtPmNvZGUgZXEgJ0FzY2Vu
ZC1BY2Nlc3MtRXZlbnQtUmVxdWVzdCcpDQogICAgew0KCSMgQXNjZW5kLUFj
Y2Vzcy1FdmVudC1SZXF1ZXN0IGhhcyBhIGNvdW50IG9mIHRoZSBudW1iZXIN
CgkjIG9mIHNlc3Npb25zIHRoZSBOQVMgdGhpbmtzIGl0IGhhcyBpbiBlYWNo
IENsYXNzLiBXZSBjYW4gdXNlDQoJIyB0aGlzIHRvIGNoZWNrIHdoZXRoZXIg
b3V0IGxvY2FsIHNlc3Npb24gZGF0YWJhc2UgaXMgY29ycmVjdA0KCSMgcHJv
dmlkZWQgaXRzIGFuIFNRTCBzZXNzaW9uIGRhdGFiYXNlLg0KCSMgU3VtIHRo
ZSB0b3RhbCBudW1iZXIgb2Ygc2Vzc2lvbnMgdGhhdCB0aGlzIE5BUyB0aGlu
a3MgaXQgaGFzDQoJIyBhbmQgY29tcGFyZSBpdCB0byBob3cgbWFueSBpbiB0
aGUgU2Vzc2lvbkRhdGFiYXNlLg0KCSMgSWYgdGhlcmUgaXMgYSBkaXNjcmVw
YW5jeSBkZWxldGUgYW55IA0KCSMgZGVhZCBzZXNzaW9ucyBmcm9tIFNlc3Np
b25EYXRhYmFzZS4gTm90ZSB0aGF0IHdlIG5ldmVyDQoJIyBhZGQgc2Vzc2lv
bnMgdG8gdGhlIHNlc3Npb24gZGF0YWJhc2UsIHNvIHRoaXMgc3RyYXRlZ3kN
CgkjIG9ubHkgY29ycmVjdHMgZm9yIGxvc3QgU3RvcHMsIG5vdCBsb3N0IFN0
YXJ0cy4NCg0KCSMgQWRkIHVwIGFsbCB0aGUgc2Vzc2lvbnMgZm9yIGFsbCBj
bGFzc2VzDQoJbXkgKCRuYXNjb3VudCwgJGRldGFpbCk7DQoJZm9yZWFjaCAk
ZGV0YWlsICgkcC0+Z2V0X2F0dHIoJ0FzY2VuZC1OdW1iZXItU2Vzc2lvbnMn
KSkNCgl7DQoJICAgICMgY291bnRzIGFyZSBpbiB0aGUgZm9ybWF0OiANCgkg
ICAgIyBBc2NlbmQtTnVtYmVyLVNlc3Npb25zID0gIjwwPjwwPjwwPjwxPmNs
YXNzbmFtZSINCgkgICAgbXkgKCRjb3VudCwgJGNsYXNzKSA9IHVucGFjaygn
TGEqJywgJGRldGFpbCk7DQoJICAgICRuYXNjb3VudCArPSAkY291bnQ7DQoJ
fQ0KCSZtYWluOjpsb2coJG1haW46OkxPR19ERUJVRywgIkdvdCBhIGN1cnJl
bnQgc2Vzc2lvbiBjb3VudCBvZiAkbmFzY291bnQgZm9yIE5BUyAkbmFzX2lk
Iik7DQoNCgkjIE1ha2Ugc3VyZSBpdHMgcmVhbGx5IGFuIFNRTCBTZXNzaW9u
RGF0YWJhc2UNCglpZiAocmVmKCRzZXNzZGIpIGVxICdSYWRpdXM6OlNlc3NT
UUwnKQ0KCXsNCgkgICAgIyBOb3cgZmluZCBvdXQgaG93IG1hbnkgc2Vzc2lv
bnMgdGhlIFNlc3Npb25EYXRhYmFzZSANCgkgICAgIyB0aGlua3Mgd2UgaGF2
ZSBmb3IgdGhpcyBOQVMNCgkgICAgbXkgKCRyZXN1bHQsIEBzZXNzaW9ucykN
CgkJPSAkc2Vzc2RiLT5zZXNzaW9uc09uTkFTKCRuYXNfaWQsICRwKTsNCgkg
ICAgJm1haW46OmxvZygkbWFpbjo6TE9HX0RFQlVHLCAic2Vzc2lvbnNPbk5B
UyByZXBvcnRzICRyZXN1bHQsIEBzZXNzaW9ucyBmb3IgTkFTICRuYXNfaWQi
KTsNCgkgICAgDQoJICAgIGlmICgkcmVzdWx0ICYmIEBzZXNzaW9ucyA+ICRu
YXNjb3VudCkNCgkgICAgew0KCQkjIFRoZSBjb3VudHMgZG9udCBhZ3JlZSwg
c28gcG9sbCB0aGUgTkFTIGZvciBpdHMgbGlzdCANCgkJIyBvZiBjdXJyZW50
IHNlc3Npb25zLCBhbmQgcmVtb3ZlIGRlYWQgb25lcyBmcm9tIHRoZSANCgkJ
IyBzZXNzaW9uIGRhdGFiYXNlDQoJCSZtYWluOjpsb2coJG1haW46OkxPR19X
QVJOSU5HLCAiUE9SVExJTUlUQ0hFQ0sgU2Vzc2lvbkRhdGFiYXNlIGNvdW50
IGRvZXMgbm90IGFncmVlIHdpdGggTkFTIik7DQoJCQ0KCQlteSAoJHNlc3Ny
ZXN1bHQsIEBuYXNzZXNzaW9ucykgPSANCgkJICBSYWRpdXM6Ok5hczo6YWN0
aXZlU2Vzc2lvbnMNCgkJICAgICAgKCRwLT57Q2xpZW50fS0+e05hc1R5cGV9
LCAkbmFzX2lkLCAkcC0+e0NsaWVudH0pOw0KDQoJCWlmICgkc2Vzc3Jlc3Vs
dCkNCgkJew0KCQkgICAgIyBOb3cgZmluZCBzZXNzaW9ucyBpbiBvdXIgc2Vz
c2lvbiBkYXRhYmFzZSB0aGF0IGFyZQ0KCQkgICAgIyBub3QgaW4gdGhlIE5B
UydzIGxpc3QsIGFuZCBkZWxldGUgdGhlbQ0KCQkgICAgbXkgJHNlc3Npb247
DQoJCSAgICBteSAlbmFzc2Vzc2lvbmhhc2g7DQoJCSAgICAjIE1ha2UgYSBo
YXNoIGZvciBlYXN5IGxvb2t1cCBvZiB0aGUgZXhpc3RlbmNlIG9mIA0KCQkg
ICAgIyBhIHNlc3Npb24NCgkJICAgIG1hcCB7ICRuYXNzZXNzaW9uaGFzaHsk
X30rKyB9IEBuYXNzZXNzaW9uczsNCgkJICAgIGZvcmVhY2ggJHNlc3Npb24g
KEBzZXNzaW9ucykNCgkJICAgIHsNCgkJCWlmICghZXhpc3RzICRuYXNzZXNz
aW9uaGFzaHskc2Vzc2lvbn0pDQoJCQl7DQoJCQkgICAgIyBUaGUgc2Vzc2lv
biBpcyBpbiBvdXIgc2Vzc2lvbiBkYXRhYmFzZQ0KCQkJICAgICMgYnV0IG5v
dCBpbiB0aGUgTkFTDQoJCQkgICAgIyBEZWxldGUgdGhlIHNlc3Npb24gZGly
ZWN0bHkgZnJvbSB0aGUNCgkJCSAgICAjIHNlc3Npb24gZGF0YWJhc2UuIFRo
aXMgaXMgcHJldHR5IGdyb3NzLg0KCQkJICAgIG15ICRxID0gImRlbGV0ZSBm
cm9tIFJBRE9OTElORSB3aGVyZSBOQVNJREVOVElGSUVSPSckbmFzX2lkJyBh
bmQgQUNDVFNFU1NJT05JRCA9ICckc2Vzc2lvbiciOw0KCQkJICAgICRzZXNz
ZGItPmRvKCRxKTsNCgkJCX0NCgkJICAgIH0NCgkJfQ0KCSAgICB9DQoJfQ0K
CWVsc2UNCgl7DQoJICAgICZtYWluOjpsb2coJG1haW46OkxPR19FUlIsICdO
byBTUUwgU2Vzc2lvbkRhdGFiYXNlIHRvIHVzZS4gSWdub3JpbmcnKTsNCgl9
DQoNCgkjIFNlbmQgYSByZXBseSwgbm8gbWF0dGVyIHdoYXQgaGFwcGVuZWQN
CgkkcnAtPnNldF9jb2RlKCdBY2NvdW50aW5nLVJlc3BvbnNlJyk7DQoJJHAt
PntDbGllbnR9LT5yZXBseVRvKCRycCwgJHApOw0KCXJldHVybjsNCiAgICB9
DQoNCiAgICAjICRoYW5kbGVkIGNhbiBiZSBJR05PUkUsIEFDQ0VQVCBvciBS
RUpFQ1QNCiAgICBteSAkaGFuZGxlZCA9ICRtYWluOjpSRUpFQ1Q7ICMgSWYg
dGhlcmUgaXMgbm8gaGFuZGxlcnMNCiAgICAkaGFuZGxlZCA9ICRtYWluOjpJ
R05PUkUgaWYgKCRwLT5jb2RlIGVxICdBY2NvdW50aW5nLVJlcXVlc3QnKTsN
Cg0KICAgICMgTWFrZSBzdXJlIHdlIGFsd2F5cyBjb3B5IHRoZSBQcm94eS1T
dGF0ZQ0KICAgIG15ICRwcyA9ICRwLT5nZXRBdHRyQnlOdW0oJFJhZGl1czo6
UmFkaXVzOjpQUk9YWV9TVEFURSk7DQogICAgJHJwLT5jaGFuZ2VBdHRyQnlO
dW0oJFJhZGl1czo6UmFkaXVzOjpQUk9YWV9TVEFURSwgJHBzKQ0KCWlmIGRl
ZmluZWQgJHBzOw0KICAgICMgQWxzbyBjb3B5IFByb3h5LUFjdGlvbiwgaW4g
Y2FzZSBpdHMgbWVyaXQgYXNraW5nIHVzDQogICAgbXkgJHBhID0gJHAtPmdl
dEF0dHJCeU51bSgkUmFkaXVzOjpSYWRpdXM6OlBST1hZX0FDVElPTik7DQog
ICAgJHJwLT5jaGFuZ2VBdHRyQnlOdW0oJFJhZGl1czo6UmFkaXVzOjpQUk9Y
WV9BQ1RJT04sICRwYSkNCglpZiBkZWZpbmVkICRwYTsNCg0KICAgICMgQ2Fs
bCB0aGUgUHJlQXV0aEhvb2ssIGlmIHRoZXJlIGlzIG9uZQ0KICAgIGlmIChk
ZWZpbmVkICRzZWxmLT57UHJlQXV0aEhvb2t9KQ0KICAgIHsNCgkjIFdlIHVz
ZSBhbiBldmFsIHNvIGFuIGVycm9yIGluIHRoZSBob29rIHdvbnQgDQoJIyBr
aWxsIHVzLg0KCWV2YWx7ICZ7JHNlbGYtPntQcmVBdXRoSG9va319KFwkcCwg
XCRycCk7IH07DQoJJm1haW46OmxvZygkbWFpbjo6TE9HX0VSUiwgDQoJCSAg
ICJFcnJvciBpbiBQcmVBdXRoSG9vaygpOiAkQCIpDQoJICAgIGlmICRAOw0K
ICAgIH0NCg0KICAgICMgVHJ5IGFsbCB0aGUgaGFuZGxlcnMgaW4gc2VxdWVu
Y2UgdW50aWwgdGhlIEF1dGhCeVBvbGljeQ0KICAgICMgaXMgc2F0aXNmaWVk
DQogICAgIyBDQVVUSU9OOiBUaGUgaGFuZGxlciBtaWdodCBmb3JrDQogICAg
bXkgKCRoYW5kbGVyLCAkcmVhc29uKTsNCiAgICBmb3JlYWNoICRoYW5kbGVy
IChAeyRzZWxmLT57QXV0aEJ5fX0pDQogICAgew0KCSgkaGFuZGxlZCwgJHJl
YXNvbikgPSAkaGFuZGxlci0+aGFuZGxlX3JlcXVlc3QoJHAsICRycCk7DQoJ
bXkgJHN0b3AgPSAwOw0KDQoJIyBJcyB0aGVyZSBhIGJldHRlciB3YXkgdG8g
ZXhwcmVzcyB0aGlzPw0KCWlmICgkc2VsZi0+e0F1dGhCeVBvbGljeX0gZXEg
J0NvbnRpbnVlV2hpbGVJZ25vcmUnKQ0KCXsNCgkgICAgJHN0b3AgPSAoJGhh
bmRsZWQgIT0gJG1haW46OklHTk9SRSk7DQoJfQ0KCWVsc2lmICgkc2VsZi0+
e0F1dGhCeVBvbGljeX0gZXEgJ0NvbnRpbnVlVW50aWxJZ25vcmUnKQ0KCXsN
CgkgICAgJHN0b3AgPSAoJGhhbmRsZWQgPT0gJG1haW46OklHTk9SRSk7DQoJ
fQ0KCWVsc2lmICgkc2VsZi0+e0F1dGhCeVBvbGljeX0gZXEgJ0NvbnRpbnVl
V2hpbGVBY2NlcHQnKQ0KCXsNCgkgICAgJHN0b3AgPSAoJGhhbmRsZWQgIT0g
JG1haW46OkFDQ0VQVCk7DQoJfQ0KCWVsc2lmICgkc2VsZi0+e0F1dGhCeVBv
bGljeX0gZXEgJ0NvbnRpbnVlVW50aWxBY2NlcHQnKQ0KCXsNCgkgICAgJHN0
b3AgPSAoJGhhbmRsZWQgPT0gJG1haW46OkFDQ0VQVCk7DQoJfQ0KCWVsc2lm
ICgkc2VsZi0+e0F1dGhCeVBvbGljeX0gZXEgJ0NvbnRpbnVlV2hpbGVSZWpl
Y3QnKQ0KCXsNCgkgICAgJHN0b3AgPSAoJGhhbmRsZWQgIT0gJG1haW46OlJF
SkVDVCANCgkJICAgICAmJiAkaGFuZGxlZCAhPSAkbWFpbjo6UkVKRUNUX0lN
TUVESUFURSk7DQoJfQ0KCWVsc2lmICgkc2VsZi0+e0F1dGhCeVBvbGljeX0g
ZXEgJ0NvbnRpbnVlVW50aWxSZWplY3QnKQ0KCXsNCgkgICAgJHN0b3AgPSAo
JGhhbmRsZWQgPT0gJG1haW46OlJFSkVDVA0KCQkgICAgIHx8ICRoYW5kbGVk
ID09ICRtYWluOjpSRUpFQ1RfSU1NRURJQVRFKTsNCgl9DQoJbGFzdCBpZiAk
c3RvcDsNCiAgICB9DQoNCiAgICAjIENhbGwgdGhlIFBvc3RBdXRoSG9vaywg
aWYgdGhlcmUgaXMgb25lDQogICAgaWYgKGRlZmluZWQgJHNlbGYtPntQb3N0
QXV0aEhvb2t9KQ0KICAgIHsNCgkjIFdlIHVzZSBhbiBldmFsIHNvIGFuIGVy
cm9yIGluIHRoZSBob29rIHdvbnQgDQoJIyBraWxsIHVzLg0KCWV2YWx7ICZ7
JHNlbGYtPntQb3N0QXV0aEhvb2t9fShcJHAsIFwkcnAsIFwkaGFuZGxlZCk7
IH07DQoJJm1haW46OmxvZygkbWFpbjo6TE9HX0VSUiwgIkVycm9yIGluIFBv
c3RBdXRoSG9vaygpOiAkQCIpDQoJICAgIGlmICRAOw0KICAgIH0NCg0KICAg
IGlmICgkcC0+Y29kZSBlcSAnQWNjZXNzLVJlcXVlc3QnKQ0KICAgIHsNCglp
ZiAoJGhhbmRsZWQgPT0gJG1haW46OkFDQ0VQVCkNCgl7DQoJICAgICZtYWlu
Ojpsb2coJG1haW46OkxPR19ERUJVRywgIkFjY2VzcyBhY2NlcHRlZCBmb3Ig
JG5hbWUiKTsNCgkgICAgJHJwLT5zZXRfY29kZSgnQWNjZXNzLUFjY2VwdCcp
Ow0KCSAgICAkcC0+e0NsaWVudH0tPnJlcGx5VG8oJHJwLCAkcCk7DQoJfQ0K
CWVsc2lmICgkaGFuZGxlZCA9PSAkbWFpbjo6UkVKRUNUDQoJICAgICAgIHx8
ICRoYW5kbGVkID09ICRtYWluOjpSRUpFQ1RfSU1NRURJQVRFKQ0KCXsNCgkg
ICAgJm1haW46OmxvZygkbWFpbjo6TE9HX0lORk8sICJBY2Nlc3MgcmVqZWN0
ZWQgZm9yICRuYW1lOiAkcmVhc29uIik7DQoJICAgICRycC0+c2V0X2NvZGUo
J0FjY2Vzcy1SZWplY3QnKTsNCgkgICAgJHJwLT5hZGRBdHRyQnlOdW0oJFJh
ZGl1czo6UmFkaXVzOjpSRVBMWV9NRVNTQUdFLCANCgkJCSAgICAgICdSZXF1
ZXN0IERlbmllZCcpOw0KCSAgICAkcnAtPmFkZEF0dHJCeU51bSgkUmFkaXVz
OjpSYWRpdXM6OlJFUExZX01FU1NBR0UsICRyZWFzb24pDQoJCWlmICRzZWxm
LT57UmVqZWN0SGFzUmVhc29ufTsNCg0KCSAgICAkcC0+e0NsaWVudH0tPnJl
cGx5VG8oJHJwLCAkcCk7DQoJfQ0KCWVsc2lmICgkaGFuZGxlZCA9PSAkbWFp
bjo6Q0hBTExFTkdFKQ0KCXsNCgkgICAgJm1haW46OmxvZygkbWFpbjo6TE9H
X0RFQlVHLCAiQWNjZXNzIGNoYWxsZW5nZWQgZm9yICRuYW1lOiAkcmVhc29u
Iik7DQoJICAgICRycC0+c2V0X2NvZGUoJ0FjY2Vzcy1DaGFsbGVuZ2UnKTsN
CgkgICAgJHAtPntDbGllbnR9LT5yZXBseVRvKCRycCwgJHApOw0KCX0NCgkj
IElHTk9SRSBtZWFucyBubyByZXBseQ0KICAgIH0NCiAgICBlbHNpZiAoJHAt
PmNvZGUgZXEgJ0FjY291bnRpbmctUmVxdWVzdCcpDQogICAgew0KIAkjDQog
CSMgQWNjb3VudGluZ0hhbmRsZWQgUGF0Y2ggPHNoYXduaUB0ZWxlcG9ydC5j
b20+DQogCSMNCiAJIyBTb21ldGltZXMgd2Ugd2FudCB0byBsaWUgdG8gdGhl
IHRlcm1pbmFsIHNlcnZlciBhbmQgdGVsbA0KIAkjIGl0IHRoZSBhY2NvdW50
aW5nLXJlcXVlc3Qgd2FzIGhhbmRsZWQsIHJlZ2FyZGxlc3Mgb2YNCiAJIyB3
aGF0IHRoZSBBdXRoQnkgaGFuZGxlcnMgc2FpZC4NCiAJIw0KIAlpZiAoJHNl
bGYtPntBY2NvdW50aW5nSGFuZGxlZH0NCgkgICAgJiYgJGhhbmRsZWQgPT0g
JG1haW46OklHTk9SRSkNCgl7DQoJICAgICRoYW5kbGVkID0gJG1haW46OkFD
Q0VQVDsNCiAJfQ0KDQoJaWYgKCRoYW5kbGVkID09ICRtYWluOjpBQ0NFUFQp
DQoJew0KCSAgICAmbWFpbjo6bG9nKCRtYWluOjpMT0dfREVCVUcsICJBY2Nv
dW50aW5nIGFjY2VwdGVkIik7DQoJICAgICRycC0+c2V0X2NvZGUoJ0FjY291
bnRpbmctUmVzcG9uc2UnKTsNCgkgICAgJHAtPntDbGllbnR9LT5yZXBseVRv
KCRycCwgJHApOw0KCX0NCiAgICB9DQp9DQoNCiMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIw0KIyBSZWluaXRpYWxpemUgdGhpcyBtb2R1bGUNCnN1YiByZWlu
aXRpYWxpemUNCnsNCiAgICAjIFRoaXMgd2lsbCBERVNUUk9ZIGFueSBvYmpl
Y3RzIGxlZnQgZnJvbSBhIHByZXZpb3VzIGluaXRpYWxpemF0aW9uDQogICAg
JFJhZGl1czo6SGFuZGxlcjo6aGFuZGxlcnMgPSAoKTsNCiAgICAjIFRoaXMg
c2hvdWxkIGJlIGltcGxlbWVudGVkIG1vcmUgY2xlYW5seSwgYnV0IHdlIG5l
ZWQgdGhpcw0KICAgICMgc28gdGhhdCB0aGUgcmFkaXVzIHJlcGx5IHNvY2tl
dCBpcyByZXJlZ2lzdGVyZWQNCiAgICAkQXV0aFJBRElVUzo6aW5pdGlhbGl6
ZWQgPSAwOw0KfQ0KDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiMgTWF5
YmUgbG9nIHN1Y2Nlc3Mgb3IgZmFpbCBvZiBwYXNzd29yZCBjaGVja2luZw0K
c3ViIGxvZ1Bhc3N3b3JkDQp7DQogICAgbXkgKCRzZWxmLCAkdXNlciwgJHN1
Ym1pdHRlZF9wdywgJGNvcnJlY3RfcHcsICRyZXN1bHQsICRwKSA9IEBfOw0K
DQoNCiAgICBpZiAoZGVmaW5lZCAkc2VsZi0+e1Bhc3N3b3JkTG9nRmlsZU5h
bWV9KQ0KICAgIHsNCgkjIERvbnQgbG9nIGZvciBhbnkgb2YgdGhlIG5hbWVz
IGluIEV4Y2x1ZGVGcm9tUGFzc3dvcmRMb2cNCglyZXR1cm4gDQoJICAgIGlm
IGRlZmluZWQgJHNlbGYtPntFeGNsdWRlRnJvbVBhc3N3b3JkTG9nfQ0KCSAg
ICAgICAmJiBncmVwIHskXyBlcSAkdXNlcn0gQHskc2VsZi0+e0V4Y2x1ZGVG
cm9tUGFzc3dvcmRMb2d9fTsNCg0KICAJIyBEb250IGxvZyBmb3IgYW55IG9m
IHRoZSBuYW1lcyB0aGF0IG1hdGNoIEV4Y2x1ZGVSZWdleCBGcm9tUGFzc3dv
cmRMb2cNCiAgCXJldHVybiANCiAgCSAgICBpZiBkZWZpbmVkICRzZWxmLT57
RXhjbHVkZVJlZ2V4RnJvbVBhc3N3b3JkTG9nfQ0KIAkJJiYgJHVzZXIgPX4g
LyRzZWxmLT57RXhjbHVkZXJlZ2V4RnJvbVBhc3N3b3JkTG9nfS87DQogIA0K
CW15ICRmaWxlbmFtZSA9ICZSYWRpdXM6OlV0aWw6OmZvcm1hdF9zcGVjaWFs
KCRzZWxmLT57UGFzc3dvcmRMb2dGaWxlTmFtZX0sICRwKTsNCglteSAkdGlt
ZSA9IHRpbWU7DQoJbXkgJGN0aW1lID0gbG9jYWx0aW1lKCR0aW1lKTsNCglt
eSAkciA9ICRyZXN1bHQgPyAnUEFTUycgOiAnRkFJTCc7DQoJb3BlbihMT0cs
ICI+PiRmaWxlbmFtZSIpDQoJICAgIHx8ICZtYWluOjpsb2coJG1haW46OkxP
R19FUlIsICJDb3VsZCBub3Qgb3BlbiBwYXNzd29yZCBsb2cgZmlsZSAnJGZp
bGVuYW1lJzogJCEiKTsNCglwcmludCBMT0cgIiRjdGltZTokdGltZTokdXNl
cjokc3VibWl0dGVkX3B3OiRjb3JyZWN0X3B3OiRyXG4iOw0KCWNsb3NlKExP
RykNCgkgICAgfHwgJm1haW46OmxvZygkbWFpbjo6TE9HX0VSUiwgIkNvdWxk
IG5vdCBjbG9zZSBwYXNzd29yZCBsb2cgZmlsZSAnJGZpbGVuYW1lJzogJCEi
KTsNCgkNCiAgICB9DQp9DQoNCg0KMTsNCg0K
--282072068-1086035839-960997521=:22812--



---End of forwarded mail from [EMAIL PROTECTED]

-- 
Mike McCauley                               [EMAIL PROTECTED]
Open System Consultants Pty. Ltd            Unix, Perl, Motif, C++, WWW
24 Bateman St Hampton, VIC 3188 Australia   http://www.open.com.au
Phone +61 3 9598-0985                       Fax   +61 3 9598-0955

Radiator: the most portable, flexible and configurable RADIUS server 
anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald, 
Platypus, Freeside, TACACS+, PAM, external, Active Directory etc etc 
on Unix, Win95/8, 2000, NT, MacOS X
===
Archive at http://www.starport.net/~radiator/
Announcements on [EMAIL PROTECTED]
To unsubscribe, email '[EMAIL PROTECTED]' with
'unsubscribe radiator' in the body of the message.

Reply via email to