<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>77392</bug_id>
          
          <creation_ts>2012-01-30 17:56:13 -0800</creation_ts>
          <short_desc>Python code in webkit-perf.appspot.com uses camelCase</short_desc>
          <delta_ts>2012-01-30 19:14:43 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Website</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>77037</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>545666</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-01-30 17:56:13 -0800</bug_when>
    <thetext>It should use PEP8 style naming convention with underscores instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545672</commentid>
    <comment_count>1</comment_count>
      <attachid>124645</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-01-30 18:00:51 -0800</bug_when>
    <thetext>Created attachment 124645
Renames variables and functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545690</commentid>
    <comment_count>2</comment_count>
      <attachid>124645</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-01-30 18:23:31 -0800</bug_when>
    <thetext>Comment on attachment 124645
Renames variables and functions

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545734</commentid>
    <comment_count>3</comment_count>
      <attachid>124645</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-30 19:14:37 -0800</bug_when>
    <thetext>Comment on attachment 124645
Renames variables and functions

Clearing flags on attachment: 124645

Committed r106321: &lt;http://trac.webkit.org/changeset/106321&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545735</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-30 19:14:43 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124645</attachid>
            <date>2012-01-30 18:00:51 -0800</date>
            <delta_ts>2012-01-30 19:14:37 -0800</delta_ts>
            <desc>Renames variables and functions</desc>
            <filename>bug-77392-20120130180049.patch</filename>
            <type>text/plain</type>
            <size>24300</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDEwNjMx
MCkKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTAx
LTMwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFB5dGhvbiBj
b2RlIGluIHdlYmtpdC1wZXJmLmFwcHNwb3QuY29tIHVzZXMgY2FtZWxDYXNlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM5MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBQRVA4IHN0eWxlIG5hbWlu
ZyBjb252ZW50aW9ucyBpbnN0ZWFkIG9mIGNhbWVsQ2FzZS4KKworICAgICAgICAqIFdlYnNpdGVz
L3dlYmtpdC1wZXJmLmFwcHNwb3QuY29tL2NyZWF0ZV9oYW5kbGVyLnB5OgorICAgICAgICAoQ3Jl
YXRlSGFuZGxlci5wb3N0KToKKyAgICAgICAgKENyZWF0ZUhhbmRsZXIuX2NyZWF0ZV9idWlsZGVy
KToKKyAgICAgICAgKENyZWF0ZUhhbmRsZXIuX2NyZWF0ZV9icmFuY2gpOgorICAgICAgICAoQ3Jl
YXRlSGFuZGxlci5fY3JlYXRlX3BsYXRmb3JtKToKKyAgICAgICAgKiBXZWJzaXRlcy93ZWJraXQt
cGVyZi5hcHBzcG90LmNvbS9kYXNoYm9hcmRfaGFuZGxlci5weToKKyAgICAgICAgKERhc2hib2Fy
ZEhhbmRsZXIuZ2V0KToKKyAgICAgICAgKiBXZWJzaXRlcy93ZWJraXQtcGVyZi5hcHBzcG90LmNv
bS9tYW5pZmVzdF9oYW5kbGVyLnB5OgorICAgICAgICAoTWFuaWZlc3RIYW5kbGVyLmdldCk6Cisg
ICAgICAgICogV2Vic2l0ZXMvd2Via2l0LXBlcmYuYXBwc3BvdC5jb20vbWVyZ2VfdGVzdHNfaGFu
ZGxlci5weToKKyAgICAgICAgKE1lcmdlVGVzdHNIYW5kbGVyLnBvc3QpOgorICAgICAgICAqIFdl
YnNpdGVzL3dlYmtpdC1wZXJmLmFwcHNwb3QuY29tL21vZGVscy5weToKKyAgICAgICAgKGNyZWF0
ZV9pbl90cmFuc2FjdGlvbl93aXRoX251bWVyaWNfaWRfaG9sZGVyKToKKyAgICAgICAgKGRlbGV0
ZV9tb2RlbF93aXRoX251bWVyaWNfaWRfaG9sZGVyKToKKyAgICAgICAgKG1vZGVsRnJvbU51bWVy
aWNJZCk6CisgICAgICAgIChCdWlsZGVyLmF1dGhlbnRpY2F0ZSk6CisgICAgICAgIChCdWlsZGVy
Lmhhc2hlZF9wYXNzd29yZCk6CisgICAgICAgIChUZXN0LmNhY2hlX2tleSk6CisgICAgICAgICog
V2Vic2l0ZXMvd2Via2l0LXBlcmYuYXBwc3BvdC5jb20vcmVwb3J0X2hhbmRsZXIucHk6CisgICAg
ICAgIChSZXBvcnRIYW5kbGVyLnBvc3QpOgorICAgICAgICAoUmVwb3J0SGFuZGxlci5fbW9kZWxf
Ynlfa2V5X25hbWVfaW5fYm9keV9vcl9lcnJvcik6CisgICAgICAgIChSZXBvcnRIYW5kbGVyLl9p
bnRlZ2VyX2luX2JvZHkpOgorICAgICAgICAoUmVwb3J0SGFuZGxlci5fdGltZXN0YW1wX2luX2Jv
ZHkpOgorICAgICAgICAoUmVwb3J0SGFuZGxlci5ieXBhc3NfYXV0aGVudGljYXRpb24pOgorICAg
ICAgICAoUmVwb3J0SGFuZGxlci5fcmVzdWx0c19hcmVfdmFsaWQpOgorICAgICAgICAoUmVwb3J0
SGFuZGxlci5fcmVzdWx0c19hcmVfdmFsaWQuX2lzX2Zsb2F0X2NvbnZlcnRpYmxlKToKKyAgICAg
ICAgKFJlcG9ydEhhbmRsZXIuX2NyZWF0ZV9idWlsZF9pZl9wb3NzaWJsZSk6CisgICAgICAgIChS
ZXBvcnRIYW5kbGVyLl9jcmVhdGVfYnVpbGRfaWZfcG9zc2libGUuZXhlY3V0ZSk6CisgICAgICAg
IChSZXBvcnRIYW5kbGVyLl9hZGRfdGVzdF9pZl9uZWVkZWQpOgorICAgICAgICAoUmVwb3J0SGFu
ZGxlci5fYWRkX3Rlc3RfaWZfbmVlZGVkLmV4ZWN1dGUpOgorICAgICAgICAoUmVwb3J0SGFuZGxl
cik6CisgICAgICAgIChBZG1pblJlcG9ydEhhbmRsZXIuYnlwYXNzX2F1dGhlbnRpY2F0aW9uKToK
KyAgICAgICAgKiBXZWJzaXRlcy93ZWJraXQtcGVyZi5hcHBzcG90LmNvbS9ydW5zX2hhbmRsZXIu
cHk6CisgICAgICAgIChSdW5zSGFuZGxlci5nZXQpOgorCiAyMDEyLTAxLTMwICBSeW9zdWtlIE5p
d2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEVuYWJsZSBtZW1jYWNoZSBvbiB3ZWJr
aXQtcGVyZi5hcHBzcG90LmNvbQpJbmRleDogV2Vic2l0ZXMvd2Via2l0LXBlcmYuYXBwc3BvdC5j
b20vY3JlYXRlX2hhbmRsZXIucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0LXBlcmYu
YXBwc3BvdC5jb20vY3JlYXRlX2hhbmRsZXIucHkJKHJldmlzaW9uIDEwNjMwOCkKKysrIFdlYnNp
dGVzL3dlYmtpdC1wZXJmLmFwcHNwb3QuY29tL2NyZWF0ZV9oYW5kbGVyLnB5CSh3b3JraW5nIGNv
cHkpCkBAIC0zNyw3ICszNyw3IEBAIGZyb20gbW9kZWxzIGltcG9ydCBCdWlsZGVyCiBmcm9tIG1v
ZGVscyBpbXBvcnQgQnJhbmNoCiBmcm9tIG1vZGVscyBpbXBvcnQgTnVtZXJpY0lkSG9sZGVyCiBm
cm9tIG1vZGVscyBpbXBvcnQgUGxhdGZvcm0KLWZyb20gbW9kZWxzIGltcG9ydCBjcmVhdGVJblRy
YW5zYWN0aW9uV2l0aE51bWVyaWNJZEhvbGRlcgorZnJvbSBtb2RlbHMgaW1wb3J0IGNyZWF0ZV9p
bl90cmFuc2FjdGlvbl93aXRoX251bWVyaWNfaWRfaG9sZGVyCiAKIAogY2xhc3MgQ3JlYXRlSGFu
ZGxlcih3ZWJhcHAyLlJlcXVlc3RIYW5kbGVyKToKQEAgLTU0LDExICs1NCwxMSBAQCBjbGFzcyBD
cmVhdGVIYW5kbGVyKHdlYmFwcDIuUmVxdWVzdEhhbmRsCiAgICAgICAgICAgICByZXR1cm4KIAog
ICAgICAgICBpZiBtb2RlbCA9PSAnYnVpbGRlcic6Ci0gICAgICAgICAgICBlcnJvciA9IHNlbGYu
X2NyZWF0ZUJ1aWxkZXIobmFtZSwgcGFzc3dvcmQpCisgICAgICAgICAgICBlcnJvciA9IHNlbGYu
X2NyZWF0ZV9idWlsZGVyKG5hbWUsIHBhc3N3b3JkKQogICAgICAgICBlbGlmIG1vZGVsID09ICdi
cmFuY2gnOgotICAgICAgICAgICAgZXJyb3IgPSBzZWxmLl9jcmVhdGVCcmFuY2goa2V5LCBuYW1l
KQorICAgICAgICAgICAgZXJyb3IgPSBzZWxmLl9jcmVhdGVfYnJhbmNoKGtleSwgbmFtZSkKICAg
ICAgICAgZWxpZiBtb2RlbCA9PSAncGxhdGZvcm0nOgotICAgICAgICAgICAgZXJyb3IgPSBzZWxm
Ll9jcmVhdGVQbGF0Zm9ybShrZXksIG5hbWUpCisgICAgICAgICAgICBlcnJvciA9IHNlbGYuX2Ny
ZWF0ZV9wbGF0Zm9ybShrZXksIG5hbWUpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBlcnJv
ciA9ICJVbmtub3duIG1vZGVsIHR5cGU6ICVzXG4iICUgbW9kZWwKIApAQCAtNjYsMTEgKzY2LDEx
IEBAIGNsYXNzIENyZWF0ZUhhbmRsZXIod2ViYXBwMi5SZXF1ZXN0SGFuZGwKICAgICAgICAgbWVt
Y2FjaGUuZGVsZXRlKCdkYXNoYm9hcmQnKQogICAgICAgICBzZWxmLnJlc3BvbnNlLm91dC53cml0
ZShlcnJvciArICdcbicgaWYgZXJyb3IgZWxzZSAnT0snKQogCi0gICAgZGVmIF9jcmVhdGVCdWls
ZGVyKHNlbGYsIG5hbWUsIHBhc3N3b3JkKToKKyAgICBkZWYgX2NyZWF0ZV9idWlsZGVyKHNlbGYs
IG5hbWUsIHBhc3N3b3JkKToKICAgICAgICAgaWYgbm90IG5hbWUgb3Igbm90IHBhc3N3b3JkOgog
ICAgICAgICAgICAgcmV0dXJuICdJbnZhbGlkIG5hbWUgb3IgcGFzc3dvcmQnCiAKLSAgICAgICAg
cGFzc3dvcmQgPSBCdWlsZGVyLmhhc2hlZFBhc3N3b3JkKHBhc3N3b3JkKQorICAgICAgICBwYXNz
d29yZCA9IEJ1aWxkZXIuaGFzaGVkX3Bhc3N3b3JkKHBhc3N3b3JkKQogCiAgICAgICAgIGRlZiBl
eGVjdXRlKCk6CiAgICAgICAgICAgICBtZXNzYWdlID0gTm9uZQpAQCAtODUsNyArODUsNyBAQCBj
bGFzcyBDcmVhdGVIYW5kbGVyKHdlYmFwcDIuUmVxdWVzdEhhbmRsCiAKICAgICAgICAgcmV0dXJu
IGRiLnJ1bl9pbl90cmFuc2FjdGlvbihleGVjdXRlKQogCi0gICAgZGVmIF9jcmVhdGVCcmFuY2go
c2VsZiwga2V5LCBuYW1lKToKKyAgICBkZWYgX2NyZWF0ZV9icmFuY2goc2VsZiwga2V5LCBuYW1l
KToKICAgICAgICAgaWYgbm90IGtleSBvciBub3QgbmFtZToKICAgICAgICAgICAgIHJldHVybiAn
SW52YWxpZCBrZXkgb3IgbmFtZScKIApAQCAtOTksMTAgKzk5LDEwIEBAIGNsYXNzIENyZWF0ZUhh
bmRsZXIod2ViYXBwMi5SZXF1ZXN0SGFuZGwKICAgICAgICAgICAgIGJyYW5jaC5wdXQoKQogICAg
ICAgICAgICAgcmV0dXJuIGJyYW5jaAogCi0gICAgICAgIGNyZWF0ZUluVHJhbnNhY3Rpb25XaXRo
TnVtZXJpY0lkSG9sZGVyKGV4ZWN1dGUpCisgICAgICAgIGNyZWF0ZV9pbl90cmFuc2FjdGlvbl93
aXRoX251bWVyaWNfaWRfaG9sZGVyKGV4ZWN1dGUpCiAgICAgICAgIHJldHVybiBlcnJvclswXQog
Ci0gICAgZGVmIF9jcmVhdGVQbGF0Zm9ybShzZWxmLCBrZXksIG5hbWUpOgorICAgIGRlZiBfY3Jl
YXRlX3BsYXRmb3JtKHNlbGYsIGtleSwgbmFtZSk6CiAgICAgICAgIGlmIG5vdCBrZXkgb3Igbm90
IG5hbWU6CiAgICAgICAgICAgICByZXR1cm4gJ0ludmFsaWQga2V5IG5hbWUnCiAKQEAgLTExNiw1
ICsxMTYsNSBAQCBjbGFzcyBDcmVhdGVIYW5kbGVyKHdlYmFwcDIuUmVxdWVzdEhhbmRsCiAgICAg
ICAgICAgICBwbGF0Zm9ybS5wdXQoKQogICAgICAgICAgICAgcmV0dXJuIHBsYXRmb3JtCiAKLSAg
ICAgICAgY3JlYXRlSW5UcmFuc2FjdGlvbldpdGhOdW1lcmljSWRIb2xkZXIoZXhlY3V0ZSkKKyAg
ICAgICAgY3JlYXRlX2luX3RyYW5zYWN0aW9uX3dpdGhfbnVtZXJpY19pZF9ob2xkZXIoZXhlY3V0
ZSkKICAgICAgICAgcmV0dXJuIGVycm9yWzBdCkluZGV4OiBXZWJzaXRlcy93ZWJraXQtcGVyZi5h
cHBzcG90LmNvbS9kYXNoYm9hcmRfaGFuZGxlci5weQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93
ZWJraXQtcGVyZi5hcHBzcG90LmNvbS9kYXNoYm9hcmRfaGFuZGxlci5weQkocmV2aXNpb24gMTA2
MzA4KQorKysgV2Vic2l0ZXMvd2Via2l0LXBlcmYuYXBwc3BvdC5jb20vZGFzaGJvYXJkX2hhbmRs
ZXIucHkJKHdvcmtpbmcgY29weSkKQEAgLTQxLDE4ICs0MSwxNyBAQCBmcm9tIG1vZGVscyBpbXBv
cnQgVGVzdAogY2xhc3MgRGFzaGJvYXJkSGFuZGxlcih3ZWJhcHAyLlJlcXVlc3RIYW5kbGVyKToK
ICAgICBkZWYgZ2V0KHNlbGYpOgogICAgICAgICBzZWxmLnJlc3BvbnNlLmhlYWRlcnNbJ0NvbnRl
bnQtVHlwZSddID0gJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLTgnOwotCiAgICAgICAg
IGNhY2hlID0gbWVtY2FjaGUuZ2V0KCdkYXNoYm9hcmQnKQogICAgICAgICBpZiBjYWNoZToKICAg
ICAgICAgICAgIHNlbGYucmVzcG9uc2Uub3V0LndyaXRlKGNhY2hlKQogICAgICAgICAgICAgcmV0
dXJuCiAKLSAgICAgICAgd2Via2l0VHJ1bmsgPSBCcmFuY2guZ2V0X2J5X2tleV9uYW1lKCd3ZWJr
aXQtdHJ1bmsnKQorICAgICAgICB3ZWJraXRfdHJ1bmsgPSBCcmFuY2guZ2V0X2J5X2tleV9uYW1l
KCd3ZWJraXQtdHJ1bmsnKQogCiAgICAgICAgICMgRklYTUU6IERldGVybWluZSBwb3B1bGFyIGJy
YW5jaGVzLCBwbGF0Zm9ybXMsIGFuZCB0ZXN0cwogICAgICAgICBkYXNoYm9hcmQgPSB7CiAgICAg
ICAgICAgICAnZGVmYXVsdEJyYW5jaCc6ICdXZWJLaXQgdHJ1bmsnLAotICAgICAgICAgICAgJ2Jy
YW5jaFRvSWQnOiB7d2Via2l0VHJ1bmsubmFtZTogd2Via2l0VHJ1bmsuaWR9LAorICAgICAgICAg
ICAgJ2JyYW5jaFRvSWQnOiB7d2Via2l0X3RydW5rLm5hbWU6IHdlYmtpdF90cnVuay5pZH0sCiAg
ICAgICAgICAgICAncGxhdGZvcm1Ub0lkJzoge30sCiAgICAgICAgICAgICAndGVzdFRvSWQnOiB7
fSwKICAgICAgICAgfQpJbmRleDogV2Vic2l0ZXMvd2Via2l0LXBlcmYuYXBwc3BvdC5jb20vbWFu
aWZlc3RfaGFuZGxlci5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQtcGVyZi5hcHBz
cG90LmNvbS9tYW5pZmVzdF9oYW5kbGVyLnB5CShyZXZpc2lvbiAxMDYzMDgpCisrKyBXZWJzaXRl
cy93ZWJraXQtcGVyZi5hcHBzcG90LmNvbS9tYW5pZmVzdF9oYW5kbGVyLnB5CSh3b3JraW5nIGNv
cHkpCkBAIC00Niw0OCArNDYsNDggQEAgY2xhc3MgTWFuaWZlc3RIYW5kbGVyKHdlYmFwcDIuUmVx
dWVzdEhhbgogICAgICAgICAgICAgc2VsZi5yZXNwb25zZS5vdXQud3JpdGUoY2FjaGUpCiAgICAg
ICAgICAgICByZXR1cm4KIAotICAgICAgICB0ZXN0TWFwID0ge30KLSAgICAgICAgcGxhdGZvcm1J
ZE1hcCA9IHt9Ci0gICAgICAgIGJyYW5jaElkTWFwID0ge30KKyAgICAgICAgdGVzdF9tYXAgPSB7
fQorICAgICAgICBwbGF0Zm9ybV9pZF9tYXAgPSB7fQorICAgICAgICBicmFuY2hfaWRfbWFwID0g
e30KICAgICAgICAgZm9yIHRlc3QgaW4gVGVzdC5hbGwoKToKLSAgICAgICAgICAgIGJyYW5jaElk
cyA9IFtCcmFuY2guZ2V0KGJyYW5jaEtleSkuaWQgZm9yIGJyYW5jaEtleSBpbiB0ZXN0LmJyYW5j
aGVzXQotICAgICAgICAgICAgcGxhdGZvcm1JZHMgPSBbUGxhdGZvcm0uZ2V0KHBsYXRmb3JtS2V5
KS5pZCBmb3IgcGxhdGZvcm1LZXkgaW4gdGVzdC5wbGF0Zm9ybXNdCi0gICAgICAgICAgICB0ZXN0
TWFwW3Rlc3QuaWRdID0geworICAgICAgICAgICAgYnJhbmNoX2lkcyA9IFtCcmFuY2guZ2V0KGJy
YW5jaF9rZXkpLmlkIGZvciBicmFuY2hfa2V5IGluIHRlc3QuYnJhbmNoZXNdCisgICAgICAgICAg
ICBwbGF0Zm9ybV9pZHMgPSBbUGxhdGZvcm0uZ2V0KHBsYXRmb3JtX2tleSkuaWQgZm9yIHBsYXRm
b3JtX2tleSBpbiB0ZXN0LnBsYXRmb3Jtc10KKyAgICAgICAgICAgIHRlc3RfbWFwW3Rlc3QuaWRd
ID0gewogICAgICAgICAgICAgICAgICduYW1lJzogdGVzdC5uYW1lLAotICAgICAgICAgICAgICAg
ICdicmFuY2hJZHMnOiBicmFuY2hJZHMsCi0gICAgICAgICAgICAgICAgJ3BsYXRmb3JtSWRzJzog
cGxhdGZvcm1JZHMsCisgICAgICAgICAgICAgICAgJ2JyYW5jaElkcyc6IGJyYW5jaF9pZHMsCisg
ICAgICAgICAgICAgICAgJ3BsYXRmb3JtSWRzJzogcGxhdGZvcm1faWRzLAogICAgICAgICAgICAg
fQogCi0gICAgICAgICAgICBmb3IgcGxhdGZvcm1JZCBpbiBwbGF0Zm9ybUlkczoKLSAgICAgICAg
ICAgICAgICBwbGF0Zm9ybUlkTWFwLnNldGRlZmF1bHQocGxhdGZvcm1JZCwgeyd0ZXN0cyc6IFtd
LCAnYnJhbmNoZXMnOiBbXX0pCi0gICAgICAgICAgICAgICAgcGxhdGZvcm1JZE1hcFtwbGF0Zm9y
bUlkXVsndGVzdHMnXS5hcHBlbmQodGVzdC5pZCkKLSAgICAgICAgICAgICAgICBwbGF0Zm9ybUlk
TWFwW3BsYXRmb3JtSWRdWydicmFuY2hlcyddICs9IGJyYW5jaElkcwotCi0gICAgICAgICAgICBm
b3IgYnJhbmNoSWQgaW4gYnJhbmNoSWRzOgotICAgICAgICAgICAgICAgIGJyYW5jaElkTWFwLnNl
dGRlZmF1bHQoYnJhbmNoSWQsIHsndGVzdHMnOiBbXSwgJ3BsYXRmb3Jtcyc6IFtdfSkKLSAgICAg
ICAgICAgICAgICBicmFuY2hJZE1hcFticmFuY2hJZF1bJ3Rlc3RzJ10uYXBwZW5kKHRlc3QuaWQp
Ci0gICAgICAgICAgICAgICAgYnJhbmNoSWRNYXBbYnJhbmNoSWRdWydwbGF0Zm9ybXMnXSArPSBw
bGF0Zm9ybUlkcworICAgICAgICAgICAgZm9yIHBsYXRmb3JtX2lkIGluIHBsYXRmb3JtX2lkczoK
KyAgICAgICAgICAgICAgICBwbGF0Zm9ybV9pZF9tYXAuc2V0ZGVmYXVsdChwbGF0Zm9ybUlkLCB7
J3Rlc3RzJzogW10sICdicmFuY2hlcyc6IFtdfSkKKyAgICAgICAgICAgICAgICBwbGF0Zm9ybV9p
ZF9tYXBbcGxhdGZvcm1faWRdWyd0ZXN0cyddLmFwcGVuZCh0ZXN0LmlkKQorICAgICAgICAgICAg
ICAgIHBsYXRmb3JtX2lkX21hcFtwbGF0Zm9ybV9pZF1bJ2JyYW5jaGVzJ10gKz0gYnJhbmNoX2lk
cworCisgICAgICAgICAgICBmb3IgYnJhbmNoX2lkIGluIGJyYW5jaF9pZHM6CisgICAgICAgICAg
ICAgICAgYnJhbmNoX2lkX21hcC5zZXRkZWZhdWx0KGJyYW5jaElkLCB7J3Rlc3RzJzogW10sICdw
bGF0Zm9ybXMnOiBbXX0pCisgICAgICAgICAgICAgICAgYnJhbmNoX2lkX21hcFticmFuY2hfaWRd
Wyd0ZXN0cyddLmFwcGVuZCh0ZXN0LmlkKQorICAgICAgICAgICAgICAgIGJyYW5jaF9pZF9tYXBb
YnJhbmNoX2lkXVsncGxhdGZvcm1zJ10gKz0gcGxhdGZvcm1faWRzCiAKLSAgICAgICAgcGxhdGZv
cm1NYXAgPSB7fQorICAgICAgICBwbGF0Zm9ybV9tYXAgPSB7fQogICAgICAgICBmb3IgcGxhdGZv
cm0gaW4gUGxhdGZvcm0uYWxsKCk6Ci0gICAgICAgICAgICBpZiBwbGF0Zm9ybS5pZCBub3QgaW4g
cGxhdGZvcm1JZE1hcDoKKyAgICAgICAgICAgIGlmIHBsYXRmb3JtLmlkIG5vdCBpbiBwbGF0Zm9y
bV9pZF9tYXA6CiAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIHBsYXRmb3Jt
TWFwW3BsYXRmb3JtLmlkXSA9IHsKKyAgICAgICAgICAgIHBsYXRmb3JtX21hcFtwbGF0Zm9ybS5p
ZF0gPSB7CiAgICAgICAgICAgICAgICAgJ25hbWUnOiBwbGF0Zm9ybS5uYW1lLAotICAgICAgICAg
ICAgICAgICd0ZXN0SWRzJzogbGlzdChzZXQocGxhdGZvcm1JZE1hcFtwbGF0Zm9ybS5pZF1bJ3Rl
c3RzJ10pKSwKLSAgICAgICAgICAgICAgICAnYnJhbmNoSWRzJzogbGlzdChzZXQocGxhdGZvcm1J
ZE1hcFtwbGF0Zm9ybS5pZF1bJ2JyYW5jaGVzJ10pKSwKKyAgICAgICAgICAgICAgICAndGVzdElk
cyc6IGxpc3Qoc2V0KHBsYXRmb3JtX2lkX21hcFtwbGF0Zm9ybS5pZF1bJ3Rlc3RzJ10pKSwKKyAg
ICAgICAgICAgICAgICAnYnJhbmNoSWRzJzogbGlzdChzZXQocGxhdGZvcm1faWRfbWFwW3BsYXRm
b3JtLmlkXVsnYnJhbmNoZXMnXSkpLAogICAgICAgICAgICAgfQogCi0gICAgICAgIGJyYW5jaE1h
cCA9IHt9CisgICAgICAgIGJyYW5jaF9tYXAgPSB7fQogICAgICAgICBmb3IgYnJhbmNoIGluIEJy
YW5jaC5hbGwoKToKLSAgICAgICAgICAgIGlmIGJyYW5jaC5pZCBub3QgaW4gYnJhbmNoSWRNYXA6
CisgICAgICAgICAgICBpZiBicmFuY2guaWQgbm90IGluIGJyYW5jaF9pZF9tYXA6CiAgICAgICAg
ICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIGJyYW5jaE1hcFticmFuY2guaWRdID0gewor
ICAgICAgICAgICAgYnJhbmNoX21hcFticmFuY2guaWRdID0gewogICAgICAgICAgICAgICAgICdu
YW1lJzogYnJhbmNoLm5hbWUsCi0gICAgICAgICAgICAgICAgJ3Rlc3RJZHMnOiBsaXN0KHNldChi
cmFuY2hJZE1hcFticmFuY2guaWRdWyd0ZXN0cyddKSksCi0gICAgICAgICAgICAgICAgJ3BsYXRm
b3JtSWRzJzogbGlzdChzZXQoYnJhbmNoSWRNYXBbYnJhbmNoLmlkXVsncGxhdGZvcm1zJ10pKSwK
KyAgICAgICAgICAgICAgICAndGVzdElkcyc6IGxpc3Qoc2V0KGJyYW5jaF9pZF9tYXBbYnJhbmNo
LmlkXVsndGVzdHMnXSkpLAorICAgICAgICAgICAgICAgICdwbGF0Zm9ybUlkcyc6IGxpc3Qoc2V0
KGJyYW5jaF9pZF9tYXBbYnJhbmNoLmlkXVsncGxhdGZvcm1zJ10pKSwKICAgICAgICAgICAgIH0K
IAotICAgICAgICByZXN1bHQgPSBqc29uLmR1bXBzKHsndGVzdE1hcCc6IHRlc3RNYXAsICdwbGF0
Zm9ybU1hcCc6IHBsYXRmb3JtTWFwLCAnYnJhbmNoTWFwJzogYnJhbmNoTWFwfSkKKyAgICAgICAg
cmVzdWx0ID0ganNvbi5kdW1wcyh7J3Rlc3RNYXAnOiB0ZXN0X21hcCwgJ3BsYXRmb3JtTWFwJzog
cGxhdGZvcm1fbWFwLCAnYnJhbmNoTWFwJzogYnJhbmNoX21hcH0pCiAgICAgICAgIHNlbGYucmVz
cG9uc2Uub3V0LndyaXRlKHJlc3VsdCkKICAgICAgICAgbWVtY2FjaGUuYWRkKCdtYW5pZmVzdCcs
IHJlc3VsdCkKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC1wZXJmLmFwcHNwb3QuY29tL21lcmdlX3Rl
c3RzX2hhbmRsZXIucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0LXBlcmYuYXBwc3Bv
dC5jb20vbWVyZ2VfdGVzdHNfaGFuZGxlci5weQkocmV2aXNpb24gMTA2MzA4KQorKysgV2Vic2l0
ZXMvd2Via2l0LXBlcmYuYXBwc3BvdC5jb20vbWVyZ2VfdGVzdHNfaGFuZGxlci5weQkod29ya2lu
ZyBjb3B5KQpAQCAtMzUsNyArMzUsNyBAQCBpbXBvcnQgb3MKIAogZnJvbSBtb2RlbHMgaW1wb3J0
IFRlc3QKIGZyb20gbW9kZWxzIGltcG9ydCBUZXN0UmVzdWx0Ci1mcm9tIG1vZGVscyBpbXBvcnQg
ZGVsZXRlTW9kZWxXaXRoTnVtZXJpY0lkSG9sZGVyCitmcm9tIG1vZGVscyBpbXBvcnQgZGVsZXRl
X21vZGVsX3dpdGhfbnVtZXJpY19pZF9ob2xkZXIKIAogCiBjbGFzcyBNZXJnZVRlc3RzSGFuZGxl
cih3ZWJhcHAyLlJlcXVlc3RIYW5kbGVyKToKQEAgLTUxLDkgKzUxLDkgQEAgY2xhc3MgTWVyZ2VU
ZXN0c0hhbmRsZXIod2ViYXBwMi5SZXF1ZXN0SAogICAgICAgICAgICAgc2VsZi5yZXNwb25zZS5v
dXQud3JpdGUoJ0ludmFsaWQgdGVzdCBuYW1lcycpCiAgICAgICAgICAgICByZXR1cm4KIAotICAg
ICAgICBtZXJnZWRSZXN1bHRzID0gVGVzdFJlc3VsdC5hbGwoKQotICAgICAgICBtZXJnZWRSZXN1
bHRzLmZpbHRlcignbmFtZSA9JywgbWVyZ2UubmFtZSkKLSAgICAgICAgZm9yIHJlc3VsdCBpbiBt
ZXJnZWRSZXN1bHRzOgorICAgICAgICBtZXJnZWRfcmVzdWx0cyA9IFRlc3RSZXN1bHQuYWxsKCkK
KyAgICAgICAgbWVyZ2VkX3Jlc3VsdHMuZmlsdGVyKCduYW1lID0nLCBtZXJnZS5uYW1lKQorICAg
ICAgICBmb3IgcmVzdWx0IGluIG1lcmdlZF9yZXN1bHRzOgogICAgICAgICAgICAgcmVzdWx0Lm5h
bWUgPSBpbnRvLm5hbWUKICAgICAgICAgICAgIHJlc3VsdC5wdXQoKQogCkBAIC02MSw2ICs2MSw2
IEBAIGNsYXNzIE1lcmdlVGVzdHNIYW5kbGVyKHdlYmFwcDIuUmVxdWVzdEgKICAgICAgICAgIyBk
YXNoYm9hcmQsIG1hbmlmZXN0LCBhbmQgYWxsIHJ1bnMgZm9yIHRoaXMgdGVzdCBoZXJlLgogICAg
ICAgICBtZW1jYWNoZS5mbHVzaF9hbGwoKQogCi0gICAgICAgIGRlbGV0ZU1vZGVsV2l0aE51bWVy
aWNJZEhvbGRlcihtZXJnZSkKKyAgICAgICAgZGVsZXRlX21vZGVsX3dpdGhfbnVtZXJpY19pZF9o
b2xkZXIobWVyZ2UpCiAKICAgICAgICAgc2VsZi5yZXNwb25zZS5vdXQud3JpdGUoJ09LJykKSW5k
ZXg6IFdlYnNpdGVzL3dlYmtpdC1wZXJmLmFwcHNwb3QuY29tL21vZGVscy5weQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJzaXRlcy93ZWJraXQtcGVyZi5hcHBzcG90LmNvbS9tb2RlbHMucHkJKHJldmlzaW9u
IDEwNjMwOCkKKysrIFdlYnNpdGVzL3dlYmtpdC1wZXJmLmFwcHNwb3QuY29tL21vZGVscy5weQko
d29ya2luZyBjb3B5KQpAQCAtMzgsMjcgKzM4LDI4IEBAIGNsYXNzIE51bWVyaWNJZEhvbGRlcihk
Yi5Nb2RlbCk6CiAgICAgIyBEdW1teSBjbGFzcyB3aG9zZSBzb2xlIHB1cnBvc2UgaXMgdG8gZ2Vu
ZXJhdGUga2V5KCkuaWQoKQogCiAKLWRlZiBjcmVhdGVJblRyYW5zYWN0aW9uV2l0aE51bWVyaWNJ
ZEhvbGRlcihjYWxsYmFjayk6Ci0gICAgaWRIb2xkZXIgPSBOdW1lcmljSWRIb2xkZXIoKQotICAg
IGlkSG9sZGVyLnB1dCgpCi0gICAgaWRIb2xkZXIgPSBOdW1lcmljSWRIb2xkZXIuZ2V0KGlkSG9s
ZGVyLmtleSgpKQotICAgIG93bmVyID0gZGIucnVuX2luX3RyYW5zYWN0aW9uKGNhbGxiYWNrLCBp
ZEhvbGRlci5rZXkoKS5pZCgpKQorZGVmIGNyZWF0ZV9pbl90cmFuc2FjdGlvbl93aXRoX251bWVy
aWNfaWRfaG9sZGVyKGNhbGxiYWNrKToKKyAgICBpZF9ob2xkZXIgPSBOdW1lcmljSWRIb2xkZXIo
KQorICAgIGlkX2hvbGRlci5wdXQoKQorICAgIGlkX2hvbGRlciA9IE51bWVyaWNJZEhvbGRlci5n
ZXQoaWRfaG9sZGVyLmtleSgpKQorICAgIG93bmVyID0gZGIucnVuX2luX3RyYW5zYWN0aW9uKGNh
bGxiYWNrLCBpZF9ob2xkZXIua2V5KCkuaWQoKSkKICAgICBpZiBvd25lcjoKLSAgICAgICAgaWRI
b2xkZXIub3duZXIgPSBvd25lcgotICAgICAgICBpZEhvbGRlci5wdXQoKQorICAgICAgICBpZF9o
b2xkZXIub3duZXIgPSBvd25lcgorICAgICAgICBpZF9ob2xkZXIucHV0KCkKICAgICBlbHNlOgot
ICAgICAgICBpZEhvbGRlci5kZWxldGUoKQorICAgICAgICBpZF9ob2xkZXIuZGVsZXRlKCkKICAg
ICByZXR1cm4gb3duZXIKIAotZGVmIGRlbGV0ZU1vZGVsV2l0aE51bWVyaWNJZEhvbGRlcihtb2Rl
bCk6Ci0gICAgaWRIb2xkZXIgPSBOdW1lcmljSWRIb2xkZXIuZ2V0X2J5X2lkKG1vZGVsLmlkKQor
CitkZWYgZGVsZXRlX21vZGVsX3dpdGhfbnVtZXJpY19pZF9ob2xkZXIobW9kZWwpOgorICAgIGlk
X2hvbGRlciA9IE51bWVyaWNJZEhvbGRlci5nZXRfYnlfaWQobW9kZWwuaWQpCiAgICAgbW9kZWwu
ZGVsZXRlKCkKLSAgICBpZEhvbGRlci5kZWxldGUoKQorICAgIGlkX2hvbGRlci5kZWxldGUoKQog
CiAKLWRlZiBtb2RlbEZyb21OdW1lcmljSWQoaWQsIGV4cGVjdGVkS2luZCk6Ci0gICAgaWRIb2xk
ZXIgPSBOdW1lcmljSWRIb2xkZXIuZ2V0X2J5X2lkKGlkKQotICAgIHJldHVybiBpZEhvbGRlci5v
d25lciBpZiBpZEhvbGRlciBhbmQgaWRIb2xkZXIub3duZXIgYW5kIGlzaW5zdGFuY2UoaWRIb2xk
ZXIub3duZXIsIGV4cGVjdGVkS2luZCkgZWxzZSBOb25lCitkZWYgbW9kZWxGcm9tTnVtZXJpY0lk
KGlkLCBleHBlY3RlZF9raW5kKToKKyAgICBpZF9ob2xkZXIgPSBOdW1lcmljSWRIb2xkZXIuZ2V0
X2J5X2lkKGlkKQorICAgIHJldHVybiBpZF9ob2xkZXIub3duZXIgaWYgaWRfaG9sZGVyIGFuZCBp
ZF9ob2xkZXIub3duZXIgYW5kIGlzaW5zdGFuY2UoaWRfaG9sZGVyLm93bmVyLCBleHBlY3RlZF9r
aW5kKSBlbHNlIE5vbmUKIAogCiBjbGFzcyBCcmFuY2goZGIuTW9kZWwpOgpAQCAtNzUsMTIgKzc2
LDEyIEBAIGNsYXNzIEJ1aWxkZXIoZGIuTW9kZWwpOgogICAgIG5hbWUgPSBkYi5TdHJpbmdQcm9w
ZXJ0eShyZXF1aXJlZD1UcnVlKQogICAgIHBhc3N3b3JkID0gZGIuU3RyaW5nUHJvcGVydHkocmVx
dWlyZWQ9VHJ1ZSkKIAotICAgIGRlZiBhdXRoZW50aWNhdGUoc2VsZiwgcmF3UGFzc3dvcmQpOgot
ICAgICAgICByZXR1cm4gc2VsZi5wYXNzd29yZCA9PSBoYXNobGliLnNoYTI1NihyYXdQYXNzd29y
ZCkuaGV4ZGlnZXN0KCkKKyAgICBkZWYgYXV0aGVudGljYXRlKHNlbGYsIHJhd19wYXNzd29yZCk6
CisgICAgICAgIHJldHVybiBzZWxmLnBhc3N3b3JkID09IGhhc2hsaWIuc2hhMjU2KHJhd19wYXNz
d29yZCkuaGV4ZGlnZXN0KCkKIAogICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgaGFzaGVkUGFz
c3dvcmQocmF3UGFzc3dvcmQpOgotICAgICAgICByZXR1cm4gaGFzaGxpYi5zaGEyNTYocmF3UGFz
c3dvcmQpLmhleGRpZ2VzdCgpCisgICAgZGVmIGhhc2hlZF9wYXNzd29yZChyYXdfcGFzc3dvcmQp
OgorICAgICAgICByZXR1cm4gaGFzaGxpYi5zaGEyNTYocmF3X3Bhc3N3b3JkKS5oZXhkaWdlc3Qo
KQogCiAKIGNsYXNzIEJ1aWxkKGRiLk1vZGVsKToKQEAgLTEwMCw4ICsxMDEsOCBAQCBjbGFzcyBU
ZXN0KGRiLk1vZGVsKToKICAgICBwbGF0Zm9ybXMgPSBkYi5MaXN0UHJvcGVydHkoZGIuS2V5KQog
CiAgICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBjYWNoZUtleSh0ZXN0SWQsIGJyYW5jaElkLCBw
bGF0Zm9ybUlkKToKLSAgICAgICAgcmV0dXJuICdydW5zOiVkLCVkLCVkJyAlICh0ZXN0SWQsIGJy
YW5jaElkLCBwbGF0Zm9ybUlkKQorICAgIGRlZiBjYWNoZV9rZXkodGVzdF9pZCwgYnJhbmNoX2lk
LCBwbGF0Zm9ybV9pZCk6CisgICAgICAgIHJldHVybiAncnVuczolZCwlZCwlZCcgJSAodGVzdF9p
ZCwgYnJhbmNoX2lkLCBwbGF0Zm9ybV9pZCkKIAogCiBjbGFzcyBUZXN0UmVzdWx0KGRiLk1vZGVs
KToKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC1wZXJmLmFwcHNwb3QuY29tL3JlcG9ydF9oYW5kbGVy
LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC1wZXJmLmFwcHNwb3QuY29tL3JlcG9y
dF9oYW5kbGVyLnB5CShyZXZpc2lvbiAxMDYzMDgpCisrKyBXZWJzaXRlcy93ZWJraXQtcGVyZi5h
cHBzcG90LmNvbS9yZXBvcnRfaGFuZGxlci5weQkod29ya2luZyBjb3B5KQpAQCAtNDQsNyArNDQs
NyBAQCBmcm9tIG1vZGVscyBpbXBvcnQgUGxhdGZvcm0KIGZyb20gbW9kZWxzIGltcG9ydCBSZXBv
cnRMb2cKIGZyb20gbW9kZWxzIGltcG9ydCBUZXN0CiBmcm9tIG1vZGVscyBpbXBvcnQgVGVzdFJl
c3VsdAotZnJvbSBtb2RlbHMgaW1wb3J0IGNyZWF0ZUluVHJhbnNhY3Rpb25XaXRoTnVtZXJpY0lk
SG9sZGVyCitmcm9tIG1vZGVscyBpbXBvcnQgY3JlYXRlX2luX3RyYW5zYWN0aW9uX3dpdGhfbnVt
ZXJpY19pZF9ob2xkZXIKIAogCiBjbGFzcyBSZXBvcnRIYW5kbGVyKHdlYmFwcDIuUmVxdWVzdEhh
bmRsZXIpOgpAQCAtNjMsMzcgKzYzLDM3IEBAIGNsYXNzIFJlcG9ydEhhbmRsZXIod2ViYXBwMi5S
ZXF1ZXN0SGFuZGwKICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgICAgICByZXR1
cm4gc2VsZi5fb3V0cHV0KCdGYWlsZWQgdG8gcGFyc2UgdGhlIHBheWxvYWQgYXMgYSBqc29uLiBS
ZXBvcnQga2V5OiAlZCcgJSBsb2cua2V5KCkuaWQoKSkKIAotICAgICAgICBidWlsZGVyID0gc2Vs
Zi5fbW9kZWxCeUtleU5hbWVJbkJvZHlPckVycm9yKEJ1aWxkZXIsICdidWlsZGVyLW5hbWUnKQot
ICAgICAgICBicmFuY2ggPSBzZWxmLl9tb2RlbEJ5S2V5TmFtZUluQm9keU9yRXJyb3IoQnJhbmNo
LCAnYnJhbmNoJykKLSAgICAgICAgcGxhdGZvcm0gPSBzZWxmLl9tb2RlbEJ5S2V5TmFtZUluQm9k
eU9yRXJyb3IoUGxhdGZvcm0sICdwbGF0Zm9ybScpCi0gICAgICAgIGJ1aWxkTnVtYmVyID0gc2Vs
Zi5faW50ZWdlckluQm9keSgnYnVpbGQtbnVtYmVyJykKLSAgICAgICAgcmV2aXNpb24gPSBzZWxm
Ll9pbnRlZ2VySW5Cb2R5KCdyZXZpc2lvbicpCi0gICAgICAgIHRpbWVzdGFtcCA9IHNlbGYuX3Rp
bWVzdGFtcEluQm9keSgpCisgICAgICAgIGJ1aWxkZXIgPSBzZWxmLl9tb2RlbF9ieV9rZXlfbmFt
ZV9pbl9ib2R5X29yX2Vycm9yKEJ1aWxkZXIsICdidWlsZGVyLW5hbWUnKQorICAgICAgICBicmFu
Y2ggPSBzZWxmLl9tb2RlbF9ieV9rZXlfbmFtZV9pbl9ib2R5X29yX2Vycm9yKEJyYW5jaCwgJ2Jy
YW5jaCcpCisgICAgICAgIHBsYXRmb3JtID0gc2VsZi5fbW9kZWxfYnlfa2V5X25hbWVfaW5fYm9k
eV9vcl9lcnJvcihQbGF0Zm9ybSwgJ3BsYXRmb3JtJykKKyAgICAgICAgYnVpbGRfbnVtYmVyID0g
c2VsZi5faW50ZWdlcl9pbl9ib2R5KCdidWlsZC1udW1iZXInKQorICAgICAgICByZXZpc2lvbiA9
IHNlbGYuX2ludGVnZXJfaW5fYm9keSgncmV2aXNpb24nKQorICAgICAgICB0aW1lc3RhbXAgPSBz
ZWxmLl90aW1lc3RhbXBfaW5fYm9keSgpCiAKICAgICAgICAgZmFpbGVkID0gRmFsc2UKLSAgICAg
ICAgaWYgYnVpbGRlciBhbmQgbm90IChzZWxmLmJ5cGFzc0F1dGhlbnRpY2F0aW9uKCkgb3IgYnVp
bGRlci5hdXRoZW50aWNhdGUoc2VsZi5fYm9keS5nZXQoJ3Bhc3N3b3JkJywgJycpKSk6CisgICAg
ICAgIGlmIGJ1aWxkZXIgYW5kIG5vdCAoc2VsZi5ieXBhc3NfYXV0aGVudGljYXRpb24oKSBvciBi
dWlsZGVyLmF1dGhlbnRpY2F0ZShzZWxmLl9ib2R5LmdldCgncGFzc3dvcmQnLCAnJykpKToKICAg
ICAgICAgICAgIHNlbGYuX291dHB1dCgnQXV0aGVudGljYXRpb24gZmFpbGVkJykKICAgICAgICAg
ICAgIGZhaWxlZCA9IFRydWUKIAotICAgICAgICBpZiBub3Qgc2VsZi5fcmVzdWx0c0FyZVZhbGlk
KCk6CisgICAgICAgIGlmIG5vdCBzZWxmLl9yZXN1bHRzX2FyZV92YWxpZCgpOgogICAgICAgICAg
ICAgc2VsZi5fb3V0cHV0KCJUaGUgcGF5bG9hZCBkb2Vzbid0IGNvbnRhaW4gcmVzdWx0cyBvciBy
ZXN1bHRzIGFyZSBtYWxmb3JtZWQiKQogICAgICAgICAgICAgZmFpbGVkID0gVHJ1ZQogCi0gICAg
ICAgIGlmIG5vdCAoYnVpbGRlciBhbmQgYnJhbmNoIGFuZCBwbGF0Zm9ybSBhbmQgYnVpbGROdW1i
ZXIgYW5kIHJldmlzaW9uIGFuZCB0aW1lc3RhbXApIG9yIGZhaWxlZDoKKyAgICAgICAgaWYgbm90
IChidWlsZGVyIGFuZCBicmFuY2ggYW5kIHBsYXRmb3JtIGFuZCBidWlsZF9udW1iZXIgYW5kIHJl
dmlzaW9uIGFuZCB0aW1lc3RhbXApIG9yIGZhaWxlZDoKICAgICAgICAgICAgIHJldHVybgogCi0g
ICAgICAgIGJ1aWxkID0gc2VsZi5fY3JlYXRlQnVpbGRJZlBvc3NpYmxlKGJ1aWxkZXIsIGJ1aWxk
TnVtYmVyLCBicmFuY2gsIHBsYXRmb3JtLCByZXZpc2lvbiwgdGltZXN0YW1wKQorICAgICAgICBi
dWlsZCA9IHNlbGYuX2NyZWF0ZV9idWlsZF9pZl9wb3NzaWJsZShidWlsZGVyLCBidWlsZF9udW1i
ZXIsIGJyYW5jaCwgcGxhdGZvcm0sIHJldmlzaW9uLCB0aW1lc3RhbXApCiAgICAgICAgIGlmIG5v
dCBidWlsZDoKICAgICAgICAgICAgIHJldHVybgogCi0gICAgICAgIGZvciB0ZXN0TmFtZSwgcmVz
dWx0IGluIHNlbGYuX2JvZHlbJ3Jlc3VsdHMnXS5pdGVyaXRlbXMoKToKLSAgICAgICAgICAgIHRl
c3QgPSBzZWxmLl9hZGRUZXN0SWZOZWVkZWQodGVzdE5hbWUsIGJyYW5jaCwgcGxhdGZvcm0pCi0g
ICAgICAgICAgICBtZW1jYWNoZS5kZWxldGUoVGVzdC5jYWNoZUtleSh0ZXN0LmlkLCBicmFuY2gu
aWQsIHBsYXRmb3JtLmlkKSkKKyAgICAgICAgZm9yIHRlc3RfbmFtZSwgcmVzdWx0IGluIHNlbGYu
X2JvZHlbJ3Jlc3VsdHMnXS5pdGVyaXRlbXMoKToKKyAgICAgICAgICAgIHRlc3QgPSBzZWxmLl9h
ZGRfdGVzdF9pZl9uZWVkZWQodGVzdF9uYW1lLCBicmFuY2gsIHBsYXRmb3JtKQorICAgICAgICAg
ICAgbWVtY2FjaGUuZGVsZXRlKFRlc3QuY2FjaGVfa2V5KHRlc3QuaWQsIGJyYW5jaC5pZCwgcGxh
dGZvcm0uaWQpKQogICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShyZXN1bHQsIGRpY3QpOgotICAg
ICAgICAgICAgICAgIFRlc3RSZXN1bHQobmFtZT10ZXN0TmFtZSwgYnVpbGQ9YnVpbGQsIHZhbHVl
PWZsb2F0KHJlc3VsdC5nZXQoJ2F2ZycsIDApKSwgdmFsdWVNZWRpYW49ZmxvYXQocmVzdWx0Lmdl
dCgnbWVkaWFuJywgMCkpLAorICAgICAgICAgICAgICAgIFRlc3RSZXN1bHQobmFtZT10ZXN0X25h
bWUsIGJ1aWxkPWJ1aWxkLCB2YWx1ZT1mbG9hdChyZXN1bHQuZ2V0KCdhdmcnLCAwKSksIHZhbHVl
TWVkaWFuPWZsb2F0KHJlc3VsdC5nZXQoJ21lZGlhbicsIDApKSwKICAgICAgICAgICAgICAgICAg
ICAgdmFsdWVTdGRldj1mbG9hdChyZXN1bHQuZ2V0KCdzdGRldicsIDApKSwgdmFsdWVNaW49Zmxv
YXQocmVzdWx0LmdldCgnbWluJywgMCkpLCB2YWx1ZU1heD1mbG9hdChyZXN1bHQuZ2V0KCdtYXgn
LCAwKSkpLnB1dCgpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIFRlc3RSZXN1
bHQobmFtZT10ZXN0TmFtZSwgYnVpbGQ9YnVpbGQsIHZhbHVlPWZsb2F0KHJlc3VsdCkpLnB1dCgp
CisgICAgICAgICAgICAgICAgVGVzdFJlc3VsdChuYW1lPXRlc3RfbmFtZSwgYnVpbGQ9YnVpbGQs
IHZhbHVlPWZsb2F0KHJlc3VsdCkpLnB1dCgpCiAKICAgICAgICAgbG9nID0gUmVwb3J0TG9nLmdl
dChsb2cua2V5KCkpCiAgICAgICAgIGxvZy5kZWxldGUoKQpAQCAtMTA0LDIxICsxMDQsMjEgQEAg
Y2xhc3MgUmVwb3J0SGFuZGxlcih3ZWJhcHAyLlJlcXVlc3RIYW5kbAogCiAgICAgICAgIHJldHVy
biBzZWxmLl9vdXRwdXQoJ09LJykKIAotICAgIGRlZiBfbW9kZWxCeUtleU5hbWVJbkJvZHlPckVy
cm9yKHNlbGYsIG1vZGVsLCBrZXlOYW1lKToKKyAgICBkZWYgX21vZGVsX2J5X2tleV9uYW1lX2lu
X2JvZHlfb3JfZXJyb3Ioc2VsZiwgbW9kZWwsIGtleU5hbWUpOgogICAgICAgICBrZXkgPSBzZWxm
Ll9ib2R5LmdldChrZXlOYW1lLCAnJykKICAgICAgICAgaW5zdGFuY2UgPSBrZXkgYW5kIG1vZGVs
LmdldF9ieV9rZXlfbmFtZShrZXkpCiAgICAgICAgIGlmIG5vdCBpbnN0YW5jZToKICAgICAgICAg
ICAgIHNlbGYuX291dHB1dCgnVGhlcmUgYXJlIG5vICVzIG5hbWVkICIlcyInICUgKG1vZGVsLl9f
bmFtZV9fLmxvd2VyKCksIGtleSkpCiAgICAgICAgIHJldHVybiBpbnN0YW5jZQogCi0gICAgZGVm
IF9pbnRlZ2VySW5Cb2R5KHNlbGYsIGtleSk6CisgICAgZGVmIF9pbnRlZ2VyX2luX2JvZHkoc2Vs
Ziwga2V5KToKICAgICAgICAgdmFsdWUgPSBzZWxmLl9ib2R5LmdldChrZXksICcnKQogICAgICAg
ICB0cnk6CiAgICAgICAgICAgICByZXR1cm4gaW50KHZhbHVlKQogICAgICAgICBleGNlcHQ6CiAg
ICAgICAgICAgICByZXR1cm4gc2VsZi5fb3V0cHV0KCdJbnZhbGlkICVzOiAiJXMiJyAlIChrZXku
cmVwbGFjZSgnLScsICcgJyksIHZhbHVlKSkKIAotICAgIGRlZiBfdGltZXN0YW1wSW5Cb2R5KHNl
bGYpOgorICAgIGRlZiBfdGltZXN0YW1wX2luX2JvZHkoc2VsZik6CiAgICAgICAgIHZhbHVlID0g
c2VsZi5fYm9keS5nZXQoJ3RpbWVzdGFtcCcsICcnKQogICAgICAgICB0cnk6CiAgICAgICAgICAg
ICByZXR1cm4gZGF0ZXRpbWUuZnJvbXRpbWVzdGFtcChpbnQodmFsdWUpKQpAQCAtMTI4LDEyICsx
MjgsMTIgQEAgY2xhc3MgUmVwb3J0SGFuZGxlcih3ZWJhcHAyLlJlcXVlc3RIYW5kbAogICAgIGRl
ZiBfb3V0cHV0KHNlbGYsIG1lc3NhZ2UpOgogICAgICAgICBzZWxmLnJlc3BvbnNlLm91dC53cml0
ZShtZXNzYWdlICsgJ1xuJykKIAotICAgIGRlZiBieXBhc3NBdXRoZW50aWNhdGlvbihzZWxmKToK
KyAgICBkZWYgYnlwYXNzX2F1dGhlbnRpY2F0aW9uKHNlbGYpOgogICAgICAgICByZXR1cm4gRmFs
c2UKIAotICAgIGRlZiBfcmVzdWx0c0FyZVZhbGlkKHNlbGYpOgorICAgIGRlZiBfcmVzdWx0c19h
cmVfdmFsaWQoc2VsZik6CiAKLSAgICAgICAgZGVmIF9pc0Zsb2F0Q29udmVydGlibGUodmFsdWUp
OgorICAgICAgICBkZWYgX2lzX2Zsb2F0X2NvbnZlcnRpYmxlKHZhbHVlKToKICAgICAgICAgICAg
IHRyeToKICAgICAgICAgICAgICAgICBmbG9hdCh2YWx1ZSkKICAgICAgICAgICAgICAgICByZXR1
cm4gVHJ1ZQpAQCAtMTQ2LDE3ICsxNDYsMTcgQEAgY2xhc3MgUmVwb3J0SGFuZGxlcih3ZWJhcHAy
LlJlcXVlc3RIYW5kbAogICAgICAgICBmb3IgdGVzdFJlc3VsdCBpbiBzZWxmLl9ib2R5WydyZXN1
bHRzJ10udmFsdWVzKCk6CiAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHRlc3RSZXN1bHQsIGRp
Y3QpOgogICAgICAgICAgICAgICAgIGZvciB2YWx1ZSBpbiB0ZXN0UmVzdWx0LnZhbHVlcygpOgot
ICAgICAgICAgICAgICAgICAgICBpZiBub3QgX2lzRmxvYXRDb252ZXJ0aWJsZSh2YWx1ZSk6Cisg
ICAgICAgICAgICAgICAgICAgIGlmIG5vdCBfaXNfZmxvYXRfY29udmVydGlibGUodmFsdWUpOgog
ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgICAgICAgICAgaWYg
J2F2Zycgbm90IGluIHRlc3RSZXN1bHQ6CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBGYWxz
ZQogICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICBpZiBub3QgX2lzRmxvYXRD
b252ZXJ0aWJsZSh0ZXN0UmVzdWx0KToKKyAgICAgICAgICAgIGlmIG5vdCBfaXNfZmxvYXRfY29u
dmVydGlibGUodGVzdFJlc3VsdCk6CiAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKICAg
ICAgICAgcmV0dXJuIFRydWUKIAotICAgIGRlZiBfY3JlYXRlQnVpbGRJZlBvc3NpYmxlKHNlbGYs
IGJ1aWxkZXIsIGJ1aWxkTnVtYmVyLCBicmFuY2gsIHBsYXRmb3JtLCByZXZpc2lvbiwgdGltZXN0
YW1wKToKKyAgICBkZWYgX2NyZWF0ZV9idWlsZF9pZl9wb3NzaWJsZShzZWxmLCBidWlsZGVyLCBi
dWlsZF9udW1iZXIsIGJyYW5jaCwgcGxhdGZvcm0sIHJldmlzaW9uLCB0aW1lc3RhbXApOgogICAg
ICAgICBrZXlfbmFtZSA9IGJ1aWxkZXIubmFtZSArICc6JyArIHN0cihpbnQodGltZS5ta3RpbWUo
dGltZXN0YW1wLnRpbWV0dXBsZSgpKSkpCiAKICAgICAgICAgZGVmIGV4ZWN1dGUoKToKQEAgLTE2
NCwxNyArMTY0LDE3IEBAIGNsYXNzIFJlcG9ydEhhbmRsZXIod2ViYXBwMi5SZXF1ZXN0SGFuZGwK
ICAgICAgICAgICAgIGlmIGJ1aWxkOgogICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9vdXRw
dXQoJ1RoZSBidWlsZCBhdCAlcyBhbHJlYWR5IGV4aXN0cyBmb3IgJXMnICUgKHN0cih0aW1lc3Rh
bXApLCBidWlsZGVyLm5hbWUpKQogCi0gICAgICAgICAgICByZXR1cm4gQnVpbGQoYnJhbmNoPWJy
YW5jaCwgcGxhdGZvcm09cGxhdGZvcm0sIGJ1aWxkZXI9YnVpbGRlciwgYnVpbGROdW1iZXI9YnVp
bGROdW1iZXIsCi0gICAgICAgICAgICAgICAgdGltZXN0YW1wPXRpbWVzdGFtcCwgcmV2aXNpb249
cmV2aXNpb24sIGtleV9uYW1lPWtleV9uYW1lKS5wdXQoKQorICAgICAgICAgICAgcmV0dXJuIEJ1
aWxkKGJyYW5jaD1icmFuY2gsIHBsYXRmb3JtPXBsYXRmb3JtLCBidWlsZGVyPWJ1aWxkZXIsIGJ1
aWxkTnVtYmVyPWJ1aWxkX251bWJlciwKKyAgICAgICAgICAgICAgICB0aW1lc3RhbXA9dGltZXN0
YW1wLCByZXZpc2lvbj1yZXZpc2lvbiwga2V5TmFtZT1rZXlfbmFtZSkucHV0KCkKICAgICAgICAg
cmV0dXJuIGRiLnJ1bl9pbl90cmFuc2FjdGlvbihleGVjdXRlKQogCi0gICAgZGVmIF9hZGRUZXN0
SWZOZWVkZWQoc2VsZiwgdGVzdE5hbWUsIGJyYW5jaCwgcGxhdGZvcm0pOgorICAgIGRlZiBfYWRk
X3Rlc3RfaWZfbmVlZGVkKHNlbGYsIHRlc3RfbmFtZSwgYnJhbmNoLCBwbGF0Zm9ybSk6CiAKICAg
ICAgICAgZGVmIGV4ZWN1dGUoaWQpOgotICAgICAgICAgICAgdGVzdCA9IFRlc3QuZ2V0X2J5X2tl
eV9uYW1lKHRlc3ROYW1lKQorICAgICAgICAgICAgdGVzdCA9IFRlc3QuZ2V0X2J5X2tleV9uYW1l
KHRlc3RfbmFtZSkKICAgICAgICAgICAgIHJldHVyblZhbHVlID0gTm9uZQogICAgICAgICAgICAg
aWYgbm90IHRlc3Q6Ci0gICAgICAgICAgICAgICAgdGVzdCA9IFRlc3QoaWQ9aWQsIG5hbWU9dGVz
dE5hbWUsIGtleV9uYW1lPXRlc3ROYW1lKQorICAgICAgICAgICAgICAgIHRlc3QgPSBUZXN0KGlk
PWlkLCBuYW1lPXRlc3RfbmFtZSwga2V5X25hbWU9dGVzdF9uYW1lKQogICAgICAgICAgICAgICAg
IHJldHVyblZhbHVlID0gdGVzdAogICAgICAgICAgICAgaWYgYnJhbmNoLmtleSgpIG5vdCBpbiB0
ZXN0LmJyYW5jaGVzOgogICAgICAgICAgICAgICAgIHRlc3QuYnJhbmNoZXMuYXBwZW5kKGJyYW5j
aC5rZXkoKSkKQEAgLTE4Miw5ICsxODIsOSBAQCBjbGFzcyBSZXBvcnRIYW5kbGVyKHdlYmFwcDIu
UmVxdWVzdEhhbmRsCiAgICAgICAgICAgICAgICAgdGVzdC5wbGF0Zm9ybXMuYXBwZW5kKHBsYXRm
b3JtLmtleSgpKQogICAgICAgICAgICAgdGVzdC5wdXQoKQogICAgICAgICAgICAgcmV0dXJuIHJl
dHVyblZhbHVlCi0gICAgICAgIHJldHVybiBjcmVhdGVJblRyYW5zYWN0aW9uV2l0aE51bWVyaWNJ
ZEhvbGRlcihleGVjdXRlKSBvciBUZXN0LmdldF9ieV9rZXlfbmFtZSh0ZXN0TmFtZSkKKyAgICAg
ICAgcmV0dXJuIGNyZWF0ZV9pbl90cmFuc2FjdGlvbl93aXRoX251bWVyaWNfaWRfaG9sZGVyKGV4
ZWN1dGUpIG9yIFRlc3QuZ2V0X2J5X2tleV9uYW1lKHRlc3RfbmFtZSkKIAogCiBjbGFzcyBBZG1p
blJlcG9ydEhhbmRsZXIoUmVwb3J0SGFuZGxlcik6Ci0gICAgZGVmIGJ5cGFzc0F1dGhlbnRpY2F0
aW9uKHNlbGYpOgorICAgIGRlZiBieXBhc3NfYXV0aGVudGljYXRpb24oc2VsZik6CiAgICAgICAg
IHJldHVybiBUcnVlCkluZGV4OiBXZWJzaXRlcy93ZWJraXQtcGVyZi5hcHBzcG90LmNvbS9ydW5z
X2hhbmRsZXIucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0LXBlcmYuYXBwc3BvdC5j
b20vcnVuc19oYW5kbGVyLnB5CShyZXZpc2lvbiAxMDYzMDgpCisrKyBXZWJzaXRlcy93ZWJraXQt
cGVyZi5hcHBzcG90LmNvbS9ydW5zX2hhbmRsZXIucHkJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDMw
ICs0OSwzMCBAQCBjbGFzcyBSdW5zSGFuZGxlcih3ZWJhcHAyLlJlcXVlc3RIYW5kbGVyCiAgICAg
ICAgIHNlbGYucmVzcG9uc2UuaGVhZGVyc1snQ29udGVudC1UeXBlJ10gPSAnYXBwbGljYXRpb24v
anNvbjsgY2hhcnNldD11dGYtOCcKIAogICAgICAgICB0cnk6Ci0gICAgICAgICAgICB0ZXN0SWQg
PSBpbnQoc2VsZi5yZXF1ZXN0LmdldCgnaWQnLCAwKSkKLSAgICAgICAgICAgIGJyYW5jaElkID0g
aW50KHNlbGYucmVxdWVzdC5nZXQoJ2JyYW5jaGlkJywgMCkpCi0gICAgICAgICAgICBwbGF0Zm9y
bUlkID0gaW50KHNlbGYucmVxdWVzdC5nZXQoJ3BsYXRmb3JtaWQnLCAwKSkKKyAgICAgICAgICAg
IHRlc3RfaWQgPSBpbnQoc2VsZi5yZXF1ZXN0LmdldCgnaWQnLCAwKSkKKyAgICAgICAgICAgIGJy
YW5jaF9pZCA9IGludChzZWxmLnJlcXVlc3QuZ2V0KCdicmFuY2hpZCcsIDApKQorICAgICAgICAg
ICAgcGxhdGZvcm1faWQgPSBpbnQoc2VsZi5yZXF1ZXN0LmdldCgncGxhdGZvcm1pZCcsIDApKQog
ICAgICAgICBleGNlcHQgVHlwZUVycm9yOgogICAgICAgICAgICAgIyBGSVhNRTogT3V0cHV0IGFu
IGVycm9yIGhlcmUKLSAgICAgICAgICAgIHRlc3RJZCA9IDAKLSAgICAgICAgICAgIGJyYW5jaElk
ID0gMAotICAgICAgICAgICAgcGxhdGZvcm1JZCA9IDAKKyAgICAgICAgICAgIHRlc3RfaWQgPSAw
CisgICAgICAgICAgICBicmFuY2hfaWQgPSAwCisgICAgICAgICAgICBwbGF0Zm9ybV9pZCA9IDAK
IAogICAgICAgICAjIEZJWE1FOiBKdXN0IGZldGNoIGJ1aWxkcyBzcGVjaWZpZWQgYnkgImRheXMi
CiAgICAgICAgICMgZGF5cyA9IHNlbGYucmVxdWVzdC5nZXQoJ2RheXMnLCAzNjUpCiAKLSAgICAg
ICAgY2FjaGVLZXkgPSBUZXN0LmNhY2hlS2V5KHRlc3RJZCwgYnJhbmNoSWQsIHBsYXRmb3JtSWQp
Ci0gICAgICAgIGNhY2hlID0gbWVtY2FjaGUuZ2V0KGNhY2hlS2V5KQorICAgICAgICBjYWNoZV9r
ZXkgPSBUZXN0LmNhY2hlX2tleSh0ZXN0X2lkLCBicmFuY2hfaWQsIHBsYXRmb3JtX2lkKQorICAg
ICAgICBjYWNoZSA9IG1lbWNhY2hlLmdldChjYWNoZV9rZXkpCiAgICAgICAgIGlmIGNhY2hlOgog
ICAgICAgICAgICAgc2VsZi5yZXNwb25zZS5vdXQud3JpdGUoY2FjaGUpCiAgICAgICAgICAgICBy
ZXR1cm4KIAogICAgICAgICBidWlsZHMgPSBCdWlsZC5hbGwoKQotICAgICAgICBidWlsZHMuZmls
dGVyKCdicmFuY2ggPScsIG1vZGVsRnJvbU51bWVyaWNJZChicmFuY2hJZCwgQnJhbmNoKSkKLSAg
ICAgICAgYnVpbGRzLmZpbHRlcigncGxhdGZvcm0gPScsIG1vZGVsRnJvbU51bWVyaWNJZChwbGF0
Zm9ybUlkLCBQbGF0Zm9ybSkpCisgICAgICAgIGJ1aWxkcy5maWx0ZXIoJ2JyYW5jaCA9JywgbW9k
ZWxGcm9tTnVtZXJpY0lkKGJyYW5jaF9pZCwgQnJhbmNoKSkKKyAgICAgICAgYnVpbGRzLmZpbHRl
cigncGxhdGZvcm0gPScsIG1vZGVsRnJvbU51bWVyaWNJZChwbGF0Zm9ybV9pZCwgUGxhdGZvcm0p
KQogCi0gICAgICAgIHRlc3QgPSBtb2RlbEZyb21OdW1lcmljSWQodGVzdElkLCBUZXN0KQotICAg
ICAgICB0ZXN0TmFtZSA9IHRlc3QubmFtZSBpZiB0ZXN0IGVsc2UgTm9uZQorICAgICAgICB0ZXN0
ID0gbW9kZWxGcm9tTnVtZXJpY0lkKHRlc3RfaWQsIFRlc3QpCisgICAgICAgIHRlc3RfbmFtZSA9
IHRlc3QubmFtZSBpZiB0ZXN0IGVsc2UgTm9uZQogICAgICAgICB0ZXN0X3J1bnMgPSBbXQogICAg
ICAgICBhdmVyYWdlcyA9IHt9CiAgICAgICAgIHZhbHVlcyA9IFtdCkBAIC04MCw3ICs4MCw3IEBA
IGNsYXNzIFJ1bnNIYW5kbGVyKHdlYmFwcDIuUmVxdWVzdEhhbmRsZXIKIAogICAgICAgICBmb3Ig
YnVpbGQgaW4gYnVpbGRzOgogICAgICAgICAgICAgcmVzdWx0cyA9IFRlc3RSZXN1bHQuYWxsKCkK
LSAgICAgICAgICAgIHJlc3VsdHMuZmlsdGVyKCduYW1lID0nLCB0ZXN0TmFtZSkKKyAgICAgICAg
ICAgIHJlc3VsdHMuZmlsdGVyKCduYW1lID0nLCB0ZXN0X25hbWUpCiAgICAgICAgICAgICByZXN1
bHRzLmZpbHRlcignYnVpbGQgPScsIGJ1aWxkKQogICAgICAgICAgICAgZm9yIHJlc3VsdCBpbiBy
ZXN1bHRzOgogICAgICAgICAgICAgICAgIGJ1aWxkZXJJZCA9IGJ1aWxkLmJ1aWxkZXIua2V5KCku
aWQoKQpAQCAtMTAxLDQgKzEwMSw0IEBAIGNsYXNzIFJ1bnNIYW5kbGVyKHdlYmFwcDIuUmVxdWVz
dEhhbmRsZXIKICAgICAgICAgICAgICdkYXRlX3JhbmdlJzogW21pbih0aW1lc3RhbXBzKSwgbWF4
KHRpbWVzdGFtcHMpXSBpZiB0aW1lc3RhbXBzIGVsc2UgTm9uZSwKICAgICAgICAgICAgICdzdGF0
JzogJ29rJ30pCiAgICAgICAgIHNlbGYucmVzcG9uc2Uub3V0LndyaXRlKHJlc3VsdCkKLSAgICAg
ICAgbWVtY2FjaGUuYWRkKGNhY2hlS2V5LCByZXN1bHQpCisgICAgICAgIG1lbWNhY2hlLmFkZChj
YWNoZV9rZXksIHJlc3VsdCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>