Veritas-bu

[Veritas-bu] Sharing a throughput script for Netbackup

2003-11-19 12:47:57
Subject: [Veritas-bu] Sharing a throughput script for Netbackup
From: mlin AT fxcm DOT com (FXCM - Mark Lin)
Date: Wed, 19 Nov 2003 12:47:57 -0500
This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part9DC314DD.0__=
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Hi list,
    After failure on searching the net for a script that reports total =
daily backup, I wrote one myself.  Just thought maybe some of you will =
find it useful too.  Perhaps Advance Reporter already has this function, =
but with no budget in the department and little knowledge of perl, a =
cheezy script is born.  If you have question or problem running it, I'll =
be glad to help out however I can.


p.s.  Please read the top part of the script to see what needs to be =
changed for your environment.

Mark

___________________________________________________________________________=
__________________________________________________
FXCM, L.L.C.=AE assumes no responsibility for errors, inaccuracies or =
omissions in these materials. FXCM, L.L.C.=AE does not warrant the =
accuracy or completeness of the information, text, graphics, links or =
other items contained within these materials. FXCM, L.L.C.=AE shall not be =
liable for any special, indirect, incidental, or consequential damages, =
including without limitation losses, lost revenues, or lost profits that =
may result from these materials. All information contained in this e-mail =
is strictly confidential and is only intended for use by the recipient.


--=__Part9DC314DD.0__=
Content-Type: application/x-perl; name="bp_report.pl"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="bp_report.pl"

IyEvdXNyL2Jpbi9wZXJsDQoNCiMgYnBfcmVwb3J0LnBsDQojIENyZWF0ZWQgYnkgTWFyayBMaW4g
IDExLzEyLzIwMDMNCg0KIyBQYXJzZSAvdXNyL29wZW52L25ldGJhY2t1cC9iaW4vYWRtaW5jbWQv
YnBpbWFnZWxpc3Qgb3V0cHV0Lg0KIyBPdXRwdXRzIEkgd291bGQgbGlrZSB0byBoYXZlOg0KIyAx
LiBFYWNoIGhvc3QncyBiYWNrdXAgc2l6ZSArIHNwZWVkDQojIDIuIFRvdGFsIGJhY2t1cCBmaWxl
cyArIHNpemUNCiMgMy4gR3Jvd2luZyByYXRlIChoYWxmIGRvbmUsIG9ubHkgd29yayB3aXRoIGRp
ZmZlcmVudGlhbCBpbmNyZW1lbnRhbCBiYWNrdXApDQojIDQuIFRhcGVzIHVzZWQgZm9yIHRoZSBk
dXJpbmcgb2YgcGVyaW9kIHNwZWNpZnkuIChub3QgZG9uZSkNCg0KIyBQYXJhbWV0ZXJzOg0KIyAt
ZCA6IFN0YXJ0aW5nIGRhdGUgZm9yIGJwaW1hZ2UNCiMgLWUgOiBFbmRpbmcgZGF0ZSBmb3IgYnBp
bWFnZQ0KIyAtcSA6IERheSBpbnRlcnZhbCBmcm9tIHRvZGF5DQojIC1jIDogU2luZ2xlIGNsaWVu
dA0KIyAtdiA6IFZlcmJvc2UgKCBKdXN0IG1vcmUgbWVzc3kgb3V0cHV0IGJ1dCBnb29kIHN0dWZm
IGlmIHlvdSB3YW50IHRvIHNlZSBob3cgbXVjaCBlYWNoIGNsaWVudCBpcyBiYWNraW5nIHVwIGVh
Y2ggZGF5IGFuZCB0b3RhbCB0aHJvdWdocHV0IG9mIHRoZSBtZWRpYSBzZXJ2ZXIgd2l0aCBjbGll
bnQncyBwcm9wb3J0aW9uICkuDQojIC1oIDogSGVscA0KDQp1c2UgR2V0b3B0OjpTdGQ7DQp1c2Ug
VGltZTo6bG9jYWx0aW1lOw0KDQojIHBhcmFtZW50ZXIgZGVjbGFydGlvbg0KDQojIFNlcnZlciB0
aGF0IGhhcyB0aGUgYmFja3VwIGNhdGFsb2d1ZXMNCiMgTW9kaWZ5IHRoaXMgZm9yIHlvdXIgb3du
IHNlcnZlcg0KJHNlcnZlciA9ICdhYmMuZm9vLmJhcic7DQoNCiMgYnBpbWFnZWxpc3QgY29tbWFu
ZCBsb2NhdGlvbg0KJGJwaW1hZ2VsaXN0ID0gJy91c3Ivb3BlbnYvbmV0YmFja3VwL2Jpbi9hZG1p
bmNtZC9icGltYWdlbGlzdCc7DQoNCiMgR2V0IHNjcmlwdCBuYW1lDQoobXkgJHJvdXRpbmUgPSAk
MCkgPX4gcyNeLiooXFx8XC8pIyM7ICNyb3V0aW5lIG5hbWUsIG1pbnVzIHBhdGgNCg0KDQojIEJ5
IGRlZmF1bHQgNyBkYXlzIGJhY2sgd2l0aG91dCAtcTsNCiRkZWZhdWx0X2RheXMgPSA3Ow0KDQoj
IGRlZmF1bHQgdGltZTsNCiRzdGFydF90aW1lID0gJzAwOjAwOjAwJzsNCiRlbmRfdGltZT0gJzAw
OjAwOjAwJzsNCg0KIyBHZXQgdGhlIG9wdGlvbnMsIGFuZCBpZiB3cm9uZyBzZXQsIG91dHB1dCBo
ZWxwIHNjcmVlbg0KZ2V0b3B0cygnZDplOnE6Yzp2aCcsIFwlb3B0cyk7DQoNCmlmIChkZWZpbmVk
KCRvcHRzeydxJ30pICYmIGV4aXN0cygkb3B0c3snZCd9KSkgew0KICAgcHJpbnQgInEgaXMgJG9w
dHN7J3EnfVxuIjsNCn0NCmlmICggKCRvcHRzeydkJ30gbmUgJycgfHwgZXhpc3RzKCRvcHRzeydk
J30pICkgJiYgKCRvcHRzeydlJ30gZXEgJycgfHwgIWV4aXN0cygkb3B0c3snZSd9KSApIA0KICB8
fCAoJG9wdHN7J2UnfSBuZSAnJyB8fCBleGlzdHMoJG9wdHN7J2UnfSkgKSAmJiAoJG9wdHN7J2Qn
fSBlcSAnJyB8fCAhZXhpc3RzKCRvcHRzeydkJ30pICkNCiAgfHwgKCBkZWZpbmVkKCRvcHRzeydx
J30pICYmIGV4aXN0cygkb3B0c3snZCd9KSApDQogIHx8ICggZGVmaW5lZCgkb3B0c3sncSd9KSAm
JiBleGlzdHMoJG9wdHN7J2UnfSkgKQ0KICB8fCBkZWZpbmVkKCRvcHRzeydoJ30pICkgew0KICAm
dXNhZ2U7DQp9DQoNCg0Kc3ViIHVzYWdlKCkgew0KDQogIHByaW50IDw8RU9GOw0KDQp1c2FnZTog
JHJvdXRpbmUgLVtkZXFjdmhdIA0KR2VuZXJhdGUgYSBkYWlseSB1c2FnZSByZXBvcnQgZnJvbSBu
ZXRiYWNrdXAgdm9sdW1lIGltYWdlLg0KDQoNClJ1biBpdCB3aXRob3V0IHBhcmFtZXRlciB0byBy
ZXRyaWV2ZSBhbGwgY2xpZW50cycgaW5mbyBmb3IgdGhlIHBhc3Qgc2V2ZW4gZGF5cy4gDQoqKipS
ZW1lYmVyIHRvIGNoYW5nZSAnc2VydmVyJyBwYXJhbWV0ZXIgaW4gdGhlIHNjcmlwdC4NCg0KUGFy
YW1ldGVycyBFeHBsYWluYXRpb246IA0KLWQgJiAtZSA6DQpJZiB5b3Ugd2FudCB0byBzcGVjaWZ5
IGRhdGUgYm91bmRyeSwgeW91IGhhdmUgdG8gc3BlY2lmeSBib3RoIG9mIHRoZW0uICAtZCBpcyBz
dGFydGluZyBkYXRlIGFuZCAtZSBpcyB0aGUgZW5kaW5nIGRhdGUuDQpUaGV5IGFyZSBzaW1pbGFy
IHRvIE5ldGJhY2t1cCdzIGJwaW1hZ2UgcGFyYW1ldGVycyBleGNlcHQgaXQgb25seSB0YWtlcyB0
aGUgZGF0ZSBhbmQgbm90IHRoZSB0aW1lLg0KRXg6IGJwX3JlcG9ydCAtZCAxMS8wMS8yMDAzIC1l
IDExLzA4LzIwMDMNCkdlbmVyYXRlIHJlcG9ydHMgZnJvbSAxMS8wMS8yMDAzIHRvIDExLzA4LzIw
MDMNCg0KLXEgOg0KU3BlY2lmeSBob3cgbWFueSBkYXlzIGJhY2sgZnJvbSB0b2RheS4gIENhbiBO
T1QgY29tYmluZSB3aXRoIC1kICYgLWUuDQpFeDogYnBfcmVwb3J0IC1xIDcNCkl0IHdpbGwgZ2Vu
ZXJhdGUgcmVwb3J0IGZyb20gdGhlIHBhc3Qgd2Vlay4NCg0KLWMgOg0KU3BlY2lmeSBzaW5nbGUg
Y2xpZW50cyBmb3IgcmVwb3J0Lg0KRXg6IGJwX3JlcG9ydCAtYyBhYmMuZm9vLmNvbQ0KR2VuZXJh
dGUgcmVwb3J0IG9mIHRoZSBob3N0IGFiYy5mb28uY29tIGZvciB0aGUgcGFzdCBzZXZlbiBkYXlz
Lg0KDQotdiA6DQpTaG93IHZlcmJvc2Ugb3V0cHV0DQoNCi1oIDoNClNob3cgdGhpcyBoZWxwIHNj
cmVlbg0KDQpFT0YNCg0KICBleGl0KDEpOw0KfQ0KDQoNCiMgU2V0dGluZyB1cCBwYXJhbWV0ZXJz
DQoNCiMgU2luZ2xlIGNsaWVudCBvcHRpb24NCmlmICggZGVmaW5lZCgkb3B0c3snYyd9KSApIHsN
CiAgJHNpbmdsZV9jbGllbnQgPSAiLWNsaWVudCAkb3B0c3snYyd9IjsNCn0NCg0KIyBJZiBubyBk
YXRlIGlzIHNwZWNpZnksIHVzZSAkZGVlZmF1bHRfZGF5cyBpbnRlcnZhbCBmcm9tIHRvZGF5DQpp
ZiAoIGRlZmluZWQoJG9wdHN7J2QnfSkgJiYgZGVmaW5lZCgkb3B0c3snZSd9KSApIHsNCiAgJHN0
YXJ0X2RhdGUgPSAkb3B0c3snZCd9Ow0KICAkZW5kX2RhdGUgPSAkb3B0c3snZSd9Ow0KfQ0KZWxz
ZSB7DQogIGlmICggISBkZWZpbmVkKCRvcHRzeydxJ30pICkgew0KICAgICRkYXlzID0gJGRlZmF1
bHRfZGF5czsNCiAgfSANCiAgZWxzZSB7DQogICAgJGRheXMgPSAkb3B0c3sncSd9Ow0KICB9DQog
ICMgU2V0dXAgZGVmYXVsdCBkYXRlIGFuZCB0aW1lIHdoZW4gLWQgJiAtZSBhcmUgbm90IHNwZWNp
ZnkuDQogICR0bSA9IGxvY2FsdGltZTsNCiAgJG1vbnRoID0gJHRtLT5tb24gKyAxOw0KICAkZW5k
X2RhdGUgPSAkbW9udGggLiAiLyIgLiAkdG0tPm1kYXkgLiAiLyIgLiAoJHRtLT55ZWFyICsgMTkw
MCk7DQoNCiAgIyBBIGRheSBpcyA4NjQwMCA9IDYwICogNjAgKiAyNDsNCiAgJG90aGVydGltZSA9
IHRpbWUgLSAoODY0MDAgKiAkZGF5cyk7DQogICR0bSA9IGxvY2FsdGltZSgkb3RoZXJ0aW1lKTsN
CiAgJG1vbnRoID0gJHRtLT5tb24gKyAxOw0KICAkc3RhcnRfZGF0ZSA9ICRtb250aCAuICIvIiAu
ICR0bS0+bWRheSAuIi8iLiAoJHRtLT55ZWFyKzE5MDApOw0KfQ0KDQokY29tbWFuZCA9ICIkYnBp
bWFnZWxpc3QgLUwgLU0gJHNlcnZlciAtZCAkc3RhcnRfZGF0ZSAkc3RhcnRfdGltZSAtZSAkZW5k
X2RhdGUgJGVuZF90aW1lICRzaW5nbGVfY2xpZW50IjsNCg0KaWYgKCBkZWZpbmVkKCRvcHRzeyd2
J30pICkgew0KICBwcmludCAiJGNvbW1hbmRcbiI7DQp9DQoNCkBCUElNQUdFID0gYCRjb21tYW5k
YDsNCg0KaWYgKCQ/KSB7DQogIHByaW50ICJicGltYWdlIGNvbW1hbmQgcmV0dXJucyB3aXRoIGVy
cm9yXG4iOw0KICBwcmludCAiQ2hlY2sgdGhlIHNjcmlwdCBmb3IgbmVjZXNzYXJ5IHBhcmFtZXRl
ciBtb2RpZmljYXRpb25cbiI7DQogIGV4aXQoMSk7DQp9DQoNCiMgRGF0YSBIYXNoZXMNCiV0bXBI
b2xkZXIgPSAoKTsNCiVkYXRhSG9sZGVyID0gKCk7DQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMNCiMgLS0gUHJvZ3JhbSBTdGFycyBIRVJFIC0tICMNCiMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMNCg0KJGkgPSAwOyAjIENvdW50ZXIgZm9yIGxpbmUNCg0KIyBBZGQgYW4gZXh0cmEg
IlxuIiBzbyB0aGUgbGFzdCB0b2tlbiBjYW4gYmUgcGFyc2VkDQpwdXNoKEBCUElNQUdFLCJcbiIp
Ow0KDQojIFN0YXJ0IHRoZSBwYXJzaW5nLg0KZm9yZWFjaCAoQEJQSU1BR0UpIHsNCiAgIyBmaXJz
dCBsaW5lIGlzIGFsd2F5cyBlbXB0eSBsaW5lLCBzbyB3ZSBkaXRjaCBpdC4NCiAgaWYgKCRpID09
IDApIHsNCiAgICAkaSsrOw0KICAgIG5leHQ7DQogIH0NCiAgIyBsb29rIGF0IHRoZSBicGltYWdl
IG91dHB1dCBpZiB5b3UgZG9udCBrbm93IGhvdyB0aGlzIHJlZ2V4IHdvcmtzDQogIGlmICggJF8g
PX4gbS9eKC4rKTpccysoLispJC8gKSB7DQogICAgJHR0ID0gJDI7DQogICAgJHRtcEhvbGRlcnsk
MX0gPSAkdHQ7DQoNCiMgICAgcHJpbnQgIiQxIGlzICR0dFxuIjsNCg0KICB9DQoNCiAgIyBpZiBp
dCdzIGFuIGVtcHR5IGxpbmUsIHN0YXJ0IHRvIHByb2NlZWQuDQogIGlmICggJF8gPX4gbS9eXG4k
LyApIHsNCiAgICAjIEF0IHRoaXMgcG9pbnQsIG9uZSBiYWNrdXAgdG9rZW4gaXMgZG9uZS4gIFdl
IHdpbGwgZG8gb3VyIG5lY2Vzc2FyeSBwYXJzaW5nLg0KICAgICMgR2V0IHRoZSBkYXRlIHNvIHdl
IGNhbiBkaWZmZXJlbnRpYXRlIGRhaWx5IHRyYWZmaWMuDQogICAgKCRkYXksJG1vbnRoLCRkYXRl
LCR5ZWFyLCR0aW1lLCRzZXJpYWwpID0gc3BsaXQoL1xzLywkdG1wSG9sZGVyeydCYWNrdXAgVGlt
ZSd9KTsNCiAgICAkYmFja3VwX2RhdGUgPSAkbW9udGggLiAiLSIgLiAkZGF0ZSAuICItIiAuICR5
ZWFyOw0KICAgIA0KICAgICMgR2V0IGVsYXNwZWQgdGltZSBpbiBTZWNvbmRzDQogICAgKCR0b3Rh
bF9lbGFwc2VkLCRnYXJiYWdlMSkgPSBzcGxpdCgvXHMvLCR0bXBIb2xkZXJ7J0VsYXBzZWQgVGlt
ZSd9KTsNCg0KDQogICAgIyBEaXN0aW5ndWlzaCBDdW11bGF0aXZlIGFuZCBGdWxsIGJhY2t1cCBh
bmQgc2VwYXJhdGUgdGhlbSBieSBkYXRlDQogICAgaWYgKCAkdG1wSG9sZGVyeydTY2hlZHVsZSBU
eXBlJ30gZXEgJ0NJTkMgKDQpJyApIHsNCiAgICAgICRkYXRhSG9sZGVyeyR0bXBIb2xkZXJ7J0Ns
aWVudCd9fXskYmFja3VwX2RhdGV9eydjdW11bGF0aXZlX3NpemVfdG90YWwnfSArPSAkdG1wSG9s
ZGVyeydLaWxvYnl0ZXMnfTsNCiAgICAgICRkYXRhSG9sZGVyeyR0bXBIb2xkZXJ7J0NsaWVudCd9
fXskYmFja3VwX2RhdGV9eydjdW11bGF0aXZlX3RpbWVfdG90YWwnfSArPSAkdG90YWxfZWxhcHNl
ZDsNCg0KICAgICAgIyBHZXQgYSB0b3RhbCBmb3IgZWFjaCBtZWRpYSBzZXJ2ZXIgYW5kIHJlY29y
ZCB3aGljaCBob3N0DQogICAgICAkc2VydmVyX3RvdGFseyR0bXBIb2xkZXJ7JyBIb3N0J319eyRi
YWNrdXBfZGF0ZX17J2N1bXVsYXRpdmVfc2l6ZV90b3RhbCd9ICs9ICR0bXBIb2xkZXJ7J0tpbG9i
eXRlcyd9Ow0KICAgICAgJHNlcnZlcl90b3RhbHskdG1wSG9sZGVyeycgSG9zdCd9fXskYmFja3Vw
X2RhdGV9eydjdW11bGF0aXZlX2hvc3RzJ317JHRtcEhvbGRlcnsnQ2xpZW50J319ICs9ICR0bXBI
b2xkZXJ7J0tpbG9ieXRlcyd9Ow0KICAgIH0NCg0KICAgIGlmICggJHRtcEhvbGRlcnsnU2NoZWR1
bGUgVHlwZSd9IGVxICdGVUxMICgwKScgKSB7DQogICAgICAkZGF0YUhvbGRlcnskdG1wSG9sZGVy
eydDbGllbnQnfX17JGJhY2t1cF9kYXRlfXsnZnVsbF9zaXplX3RvdGFsJ30gKz0gJHRtcEhvbGRl
cnsnS2lsb2J5dGVzJ307DQogICAgICAkZGF0YUhvbGRlcnskdG1wSG9sZGVyeydDbGllbnQnfX17
JGJhY2t1cF9kYXRlfXsnZnVsbF90aW1lX3RvdGFsJ30gKz0gJHRvdGFsX2VsYXBzZWQ7DQogICAg
ICAkc2VydmVyX3RvdGFseyR0bXBIb2xkZXJ7JyBIb3N0J319eyRiYWNrdXBfZGF0ZX17J2Z1bGxf
c2l6ZV90b3RhbCd9ICs9ICR0bXBIb2xkZXJ7J0tpbG9ieXRlcyd9Ow0KICAgICAgJHNlcnZlcl90
b3RhbHskdG1wSG9sZGVyeycgSG9zdCd9fXskYmFja3VwX2RhdGV9eydmdWxsX2hvc3RzJ317JHRt
cEhvbGRlcnsnQ2xpZW50J319ICs9ICR0bXBIb2xkZXJ7J0tpbG9ieXRlcyd9Ow0KICAgIH0NCg0K
ICAgICV0bXBIb2xkZXIgPSAoKTsNCiAgICAkcHJvY2VlZCA9IDA7DQogIH0NCn0NCg0KIyBOb3cg
d2UgZ290IGEgaGFzaCBuYW1lZCAkZGF0YUhvbGRlciB0aGF0IGhvbGRzIHRoZSBkYXRhIHdlIGp1
c3QgcGFyc2VkLiAgTm93IGl0J3MgdGltZSB0byBvdXRwdXQgdGhlbS4NCiMgV2UgYXJlIGdvaW5n
IHRvIGRvIHNvbWUgbWFzc2l2ZSBvdXRwdXR0aW5nLCB5b3UgcmVhZHk/DQoNCiMgVGhpcyBoYXNo
IGlzIHVzZWQgdG8gY2FsY3VsYXRlIHJhdGUgb2YgZ3Jvd3RoDQolcmF0ZXMgPSAoKTsNCiMgT3V0
cHV0IGJ1ZmZlcg0KJG1lb3V0ID0gJyc7DQoNCiMgRWFjaCBIb3N0DQpmb3IgbXkgJGtleSAoc29y
dCBrZXlzICVkYXRhSG9sZGVyKSAgew0KDQogICRtZW91dCAuPSAiXG5Ib3N0OiAka2V5XG4iOw0K
DQogICMgJGtleTIgPSBkYXRlDQogIGZvciBteSAka2V5MiAoc29ydCBrZXlzICV7JGRhdGFIb2xk
ZXJ7JGtleX19KSB7DQogICAgJG1lb3V0IC49ICJbJGtleTJdXG4iOw0KDQogICAgIyBFYWNoIHRh
ZyBhbmQgaXRzIHZhbHVlDQogICAgZm9yIG15ICRrZXkzICggc29ydCBrZXlzICV7JGRhdGFIb2xk
ZXJ7JGtleX17JGtleTJ9fSApIHsNCg0KICAgICAgJHZhbHVlMyA9ICRkYXRhSG9sZGVyeyRrZXl9
eyRrZXkyfXska2V5M307DQogICAgICAjIG91dHB1dHMgYmFja3VwIHNpemUNCiAgICAgIGlmICgk
a2V5MyBlcSAnZnVsbF9zaXplX3RvdGFsJyB8fCAka2V5MyBlcSAnY3VtdWxhdGl2ZV9zaXplX3Rv
dGFsJykgew0KICAgICAgICAkdmEzID0gc3ByaW50ZiAiJS4yZiIsICgkdmFsdWUzIC8gMTAyNCk7
DQogICAgICAgICRtZW91dCAuPSAiJGtleTMgPT4gJHZhMyBNZWdhYnl0ZXNcbiI7DQoNCiAgICAg
ICAgIyBDYWxjdWxhdGUgZ3Jvd3RoIHJhdGUgY3VtdWxhdGl2ZQ0KICAgICAgICBpZiAoISBleGlz
dHMoICRyYXRlc3ska2V5fXska2V5M30gKSApIHsNCiAgICAgICAgICAkcmF0ZXN7JGtleX17JGtl
eTN9ID0gJHZhbHVlMzsNCiAgICAgICAgICAkZ3Jvd3RoX3RleHQgPSAiTm8gR3Jvd3RoIFJhdGUo
TGFjayBvZiBwcmV2aW91cyBkYXRhKS5cbiI7DQogICAgICAgIH0NCiAgICAgICAgZWxzZSB7DQog
ICAgICAgICAgI3ByaW50ICIoICgkdmFsdWUzIC0gJHJhdGVzeyRrZXl9eyRrZXkzfSkgLyAkcmF0
ZXN7JGtleX17JGtleTN9IClcbiI7DQogICAgICAgICAgaWYgKCAkcmF0ZXN7JGtleX17JGtleTN9
ICE9IDAgKSB7DQogICAgICAgICAgICAkZ3Jvd3RoID0gKCAoJHZhbHVlMyAtICRyYXRlc3ska2V5
fXska2V5M30pIC8gJHJhdGVzeyRrZXl9eyRrZXkzfSApICogMTAwOw0KICAgICAgICAgICAgJGdy
b3d0aCA9IHNwcmludGYgIiUuMmYiLCAkZ3Jvd3RoOw0KICAgICAgICAgICAgJGdyb3d0aF90ZXh0
ID0gIiRrZXkzIEdyb3d0aCBSYXRlOiAkZ3Jvd3RoIHBlcmNlbnRcbiI7DQogICAgICAgICAgfQ0K
ICAgICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgJGdyb3d0aF90ZXh0ID0gIiRrZXkzIGlzIDBc
biI7DQogICAgICAgICAgfQ0KICAgICAgICAgIA0KICAgICAgICAgICRyYXRlc3ska2V5fXska2V5
M30gPSAkdmFsdWUzOw0KDQogICAgICAgIH0NCiAgICAgIH0NCg0KICAgICAgIyBPdXRwdXRzIFRp
bWUgYW5kIGF2ZXJhZ2UgYmFja3VwIHNwZWVkDQogICAgICBpZiAoJGtleTMgZXEgJ2Z1bGxfdGlt
ZV90b3RhbCcgfHwgJGtleTMgZXEgJ2N1bXVsYXRpdmVfdGltZV90b3RhbCcpIHsNCiAgICAgICAg
JG1lb3V0IC49ICIka2V5MyA9PiAkdmFsdWUzIFNlY29uZHNcbiI7DQogICAgICAgIGlmICggJGtl
eTMgZXEgJ2Z1bGxfdGltZV90b3RhbCcgKSB7DQogICAgICAgICAgICRrID0gJ2Z1bGxfc2l6ZV90
b3RhbCc7DQogICAgICAgIH0NCiAgICAgICAgaWYgKCAka2V5MyBlcSAnY3VtdWxhdGl2ZV90aW1l
X3RvdGFsJyApIHsNCiAgICAgICAgICAgJGsgPSAnY3VtdWxhdGl2ZV9zaXplX3RvdGFsJzsNCiAg
ICAgICAgfQ0KDQogICAgICAgICMgU3BlZWQgb2YgdGhlIGJhY2t1cA0KICAgICAgICAkc3BlZWQg
PSBzcHJpbnRmICIlLjJmIiwgKCRyYXRlc3ska2V5fXska30gLyAkdmFsdWUzKTsNCiAgICAgICAg
JHNwZWVkMiA9IHNwcmludGYgIiUuMmYiLCAoJHJhdGVzeyRrZXl9eyRrfSAvICR2YWx1ZTMgKiA2
MCAvIDEwMjQpOw0KICAgICAgICANCiAgICAgICAgIyBVbmNvbW1lbnQgdGhpcyBpZiB5b3UgcnVu
IGRpZmZlcmVudGlhbCBpbmNyZW1lbnRhbCBiYWNrdXAuICBJdCBkb2VzIG5vdCB3b3JrIHJpZ2h0
IGZvciBjdW11bGF0aXZlIGJhY2t1cC4NCiAgICAgICAgI3ByaW50ICRncm93dGhfdGV4dDsNCg0K
ICAgICAgICAkbWVvdXQgLj0gIlNwZWVkID0+ICRzcGVlZCBLaWxvYnl0ZXMvU2Vjb25kLCAkc3Bl
ZWQyIE1lZ2FieXRlcy9NaW51dGVcbiI7DQogICAgICAgIA0KICAgICAgfQ0KICAgIH0gIyBFYWNo
IGZpZWxkDQogICRtZW91dCAuPSAiXG4iOw0KICB9ICMgRWFjaCBEYXRlDQogICRtZW91dCAuPSAi
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxu
IjsNCiAgJGNvcnBiYWNrdXAxID0gMDsNCiAgJG1kY2JhY2t1cDEgPSAwOw0KfQ0KDQoNCiMgSG9z
dCBJbmZvcm1hdGlvbg0KaWYgKCBkZWZpbmVkKCRvcHRzeyd2J30pIHx8IGRlZmluZWQoJG9wdHN7
J2MnfSkgKSB7DQogIHByaW50ICRtZW91dDsNCn0NCg0KIyBpZiBzaW5nbGUgY2xpZW50IG9wdGlv
biBpcyBub3QgZGVmaW5lLCB0aGVuIHByaW50IHRvdGFsIHNlcnZlciBiYWNrdXAuDQppZiAoISBk
ZWZpbmVkKCRvcHRzeydjJ30pICkgew0KDQogICMgUHJpbnQgb3V0IHRoZSB0b3RhbCBzdG9yYWdl
IGVhY2ggZGF5DQogICMgVGhlcmUgYXJlIG9ubHkgdHdvIHR5cGVzIG9mIGJhY2t1cCB0aGF0IGNh
biBoYXBwZW4gZm9yIHVzIGV2ZXJ5ZGF5LA0KICAjIGEgY3VtdWxhdGl2ZSBiYWNrIG9yIGZ1bGwg
YmFja3VwLiAgQ2xpZW50cyBkb2VzIHRoZWlyIGZ1bGwgYmFja3VwDQogICMgYWNjb3JkaW5nIHRv
IHRoZWlyIG93biBzY2hlZHVsZS4gIFRoYXQncyB3aHkgeW91IHNlZSBmdWxsIGJhY2t1cCBldmVy
eWRheS4NCiAgcHJpbnQgIiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuIjsNCiAgcHJpbnQgIiMg
TWVkaWEgU2VydmVyIFN1bW1hcnkgI1xuIjsNCiAgcHJpbnQgIiMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjI1xuIjsNCiAgDQogIGZvciBteSAka2V5IChzb3J0IGtleXMgJXNlcnZlcl90b3RhbCkgIHsN
Cg0KICAgICMgU2VydmVyIE5hbWUNCiAgICBwcmludCAiKioqICRrZXkgKioqXG4iOw0KICAgICMg
RWFjaCBEYXRlDQogICAgZm9yIG15ICRrZXkyIChzb3J0IGtleXMgJXskc2VydmVyX3RvdGFseyRr
ZXl9fSkgew0KICAgICAgcHJpbnQgIlska2V5Ml1cbiI7DQogICAgICAkc2l6ZSA9IHNwcmludGYg
IiUuMmYiLCAoJHNlcnZlcl90b3RhbHska2V5fXska2V5Mn17J2N1bXVsYXRpdmVfc2l6ZV90b3Rh
bCd9IC8gMTAyNCk7DQogICAgICBmb3IgbXkgJGhvc3QgKHNvcnQga2V5cyAleyRzZXJ2ZXJfdG90
YWx7JGtleX17JGtleTJ9eydjdW11bGF0aXZlX2hvc3RzJ319KSB7DQoJJHZhbHVlID0gJHNlcnZl
cl90b3RhbHska2V5fXska2V5Mn17J2N1bXVsYXRpdmVfaG9zdHMnfXskaG9zdH0gLyAxMDI0Ow0K
CSR2YWx1ZSA9IHNwcmludGYgIiUuMmYiLCAkdmFsdWU7DQogICAgICAgICRob3N0cyAuPSAkaG9z
dCAuICIgLSAiIC4gJHZhbHVlIC4gIiBNZWdzXG4iOw0KICAgICAgfQ0KICAgICAgcHJpbnQgIkN1
bXVsYXRpdmUgVG90YWw6ICRzaXplIE1lZ2FieXRlcy4gXG4iOyANCiAgICAgIGlmICggZGVmaW5l
ZCgkb3B0c3sndid9KSApIHsNCiAgICAgICAgcHJpbnQgIkhvc3RzOiBcbiRob3N0c1xuIjsNCiAg
ICAgIH0NCiAgICAgICRob3N0cyA9ICcnOw0KDQogICAgICAkc2l6ZSA9IHNwcmludGYgIiUuMmYi
LCAoJHNlcnZlcl90b3RhbHska2V5fXska2V5Mn17J2Z1bGxfc2l6ZV90b3RhbCd9IC8gMTAyNCk7
DQogICAgICBmb3IgbXkgJGhvc3QgKHNvcnQga2V5cyAleyRzZXJ2ZXJfdG90YWx7JGtleX17JGtl
eTJ9eydmdWxsX2hvc3RzJ319KSB7DQoJJHZhbHVlID0gJHNlcnZlcl90b3RhbHska2V5fXska2V5
Mn17J2Z1bGxfaG9zdHMnfXskaG9zdH0gLyAxMDI0Ow0KCSR2YWx1ZSA9IHNwcmludGYgIiUuMmYi
LCAkdmFsdWU7DQogICAgICAgICRob3N0cyAuPSAkaG9zdCAuICIgLSAiIC4gJHZhbHVlIC4gIiBN
ZWdzXG4iOw0KICAgICAgfQ0KICAgICAgcHJpbnQgIkZ1bGwgVG90YWw6ICRzaXplIE1lZ2FieXRl
c1xuIjsNCiAgICAgIGlmICggZGVmaW5lZCgkb3B0c3sndid9KSApIHsNCiAgICAgICAgcHJpbnQg
Ikhvc3RzOiBcbiRob3N0c1xuIjsNCiAgICAgIH0NCiAgICAgICRob3N0cyA9ICcnOw0KICAgICAg
cHJpbnQgIlxuIjsNCiAgICB9DQogICAgcHJpbnQgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiI7DQogICAgcHJpbnQgIlxuIjsNCiAgfQ0K
ICANCn0NCg==

--=__Part9DC314DD.0__=--

<Prev in Thread] Current Thread [Next in Thread>