<?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>64407</bug_id>
          
          <creation_ts>2011-07-12 16:16:31 -0700</creation_ts>
          <short_desc>garden-o-matic should display regression ranges</short_desc>
          <delta_ts>2011-07-12 16:36:47 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>436048</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-12 16:16:31 -0700</bug_when>
    <thetext>garden-o-matic should display regression ranges</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>436051</commentid>
    <comment_count>1</comment_count>
      <attachid>100581</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-12 16:18:22 -0700</bug_when>
    <thetext>Created attachment 100581
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>436058</commentid>
    <comment_count>2</comment_count>
      <attachid>100581</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-12 16:26:17 -0700</bug_when>
    <thetext>Comment on attachment 100581
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=100581&amp;action=review

&gt; Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/base.js:47
&gt; +    return keys;

Could use Object.keys if available :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>436061</commentid>
    <comment_count>3</comment_count>
      <attachid>100584</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-12 16:29:29 -0700</bug_when>
    <thetext>Created attachment 100584
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>436062</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-12 16:30:28 -0700</bug_when>
    <thetext>&gt; Could use Object.keys if available :)

Yeah, I&apos;m not sure which browser&apos;s we targeting.  :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>436064</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-12 16:31:09 -0700</bug_when>
    <thetext>Committed r90866: &lt;http://trac.webkit.org/changeset/90866&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100581</attachid>
            <date>2011-07-12 16:18:22 -0700</date>
            <delta_ts>2011-07-12 16:29:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64407-20110712161821.patch</filename>
            <type>text/plain</type>
            <size>14608</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDkwODY1KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMjYgQEAKKzIwMTEtMDctMTIgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBnYXJkZW4tby1tYXRpYyBzaG91bGQgZGlzcGxheSByZWdyZXNzaW9uIHJhbmdlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0MDcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNo
IGNvbXB1dGVzIGEgcmVncmVzc2lvbiByYW5nZSBmb3IgYSBmYWlsdXJlIGJ5IGludGVyc2VjdGlu
ZworICAgICAgICB0aGUgcmVncmVzc2lvbiByYW5nZXMgc2VlbiBieSB0aGUgdmFyaW91cyBib3Rz
LiAgV2UgbWFrZSB0aGUgdW5kZXJseWluZworICAgICAgICBhc3N1bXB0aW9uIHRoYXQgYSB0ZXN0
IGlzIG9ubHkgZmFpbGluZyBkdWUgdG8gb25lIHJldmlzaW9uIGF0IGFueSBnaXZlbgorICAgICAg
ICBtb21lbnQuICBJZiB0aGF0J3Mgbm90IHRydWUsIHRoaXMgY29kZSBwcm9iYWJseSBleHBsb2Rl
cy4KKworICAgICAgICBUaGUgcmVncmVzc2lvbiByYW5nZXMgYXBwZWFyIGFzeW5jaHJvbm91c2x5
LCB3aGljaCBtaWdodCBiZSBhIGphcnJpbmcKKyAgICAgICAgVUkuICBXZSdsbCBoYXZlIHRvIGV4
cGVyaW1lbnQgdG8gc2VlLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZl
cnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvYmFzZS5qczoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRlbmluZ3NlcnZlci9iYXNlX3VuaXR0ZXN0cy5qczoK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRlbmluZ3Nl
cnZlci9tYWluLmpzOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL2Rh
dGEvZ2FyZGVuaW5nc2VydmVyL3Jlc3VsdHMuanM6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvcmVzdWx0c191bml0dGVzdHMuanM6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdz
ZXJ2ZXIvdWkuanM6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0
YS9nYXJkZW5pbmdzZXJ2ZXIvdWlfdW5pdHRlc3RzLmpzOgorCiAyMDExLTA3LTEyICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgY3ItbGludXgtZXdzIHNob3VsZCBy
dW4gcGl4ZWwgdGVzdHMKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJz
L2RhdGEvZ2FyZGVuaW5nc2VydmVyL2Jhc2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvYmFzZS5qcwkocmV2
aXNpb24gOTA4NTYpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9kYXRh
L2dhcmRlbmluZ3NlcnZlci9iYXNlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCwxNSBA
QCBiYXNlLnVuaXF1aWZ5QXJyYXkgPSBmdW5jdGlvbihhcnJheSkKICAgICByZXR1cm4gcmVzdWx0
OwogfTsKIAorYmFzZS5rZXlzID0gZnVuY3Rpb24oZGljdGlvbmFyeSkKK3sKKyAgICB2YXIga2V5
cyA9IFtdOworICAgICQuZWFjaChkaWN0aW9uYXJ5LCBmdW5jdGlvbihrZXksIHZhbHVlKSB7Cisg
ICAgICAgIGtleXMucHVzaChrZXkpOworICAgIH0pOworICAgIHJldHVybiBrZXlzOworfTsKKwog
YmFzZS5maWx0ZXJUcmVlID0gZnVuY3Rpb24odHJlZSwgaXNMZWFmLCBwcmVkaWNhdGUpCiB7CiAg
ICAgdmFyIGZpbHRlcmVkVHJlZSA9IHt9OwpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvYmFzZV91bml0dGVzdHMuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5p
bmdzZXJ2ZXIvYmFzZV91bml0dGVzdHMuanMJKHJldmlzaW9uIDkwODU2KQorKysgVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvYmFzZV91bml0
dGVzdHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDEzIEBAIHRlc3QoInVuaXF1aWZ5
QXJyYXkiLCA1LCBmdW5jdGlvbigpIHsKICAgICBkZWVwRXF1YWwoYmFzZS51bmlxdWlmeUFycmF5
KFsiYSIsICJiIiwgImIiLCAiYSJdKSwgWyJhIiwgImIiXSk7CiB9KTsKIAordGVzdCgia2V5cyIs
IDQsIGZ1bmN0aW9uKCkgeworICAgIGRlZXBFcXVhbChiYXNlLmtleXMoe30pLCBbXSk7CisgICAg
ZGVlcEVxdWFsKGJhc2Uua2V5cyh7ImEiOiAxfSksIFsiYSJdKTsKKyAgICBkZWVwRXF1YWwoYmFz
ZS5rZXlzKHsiYSI6IDEsICJiIjogMH0pLCBbImEiLCAiYiJdKTsKKyAgICBkZWVwRXF1YWwoYmFz
ZS5rZXlzKHsiYSI6IDEsICJiIjogeyAiYyIgOiAxfX0pLCBbImEiLCAiYiJdKTsKK30pOworCiB0
ZXN0KCJmaWx0ZXJUcmVlIiwgMiwgZnVuY3Rpb24oKSB7CiAgICAgdmFyIHRyZWUgPSB7CiAgICAg
ICAgICdwYXRoJzogewpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMv
ZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvbWFpbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRlbmluZ3NlcnZlci9tYWluLmpzCShyZXZp
c2lvbiA5MDg1NikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL2RhdGEv
Z2FyZGVuaW5nc2VydmVyL21haW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTIyLDggKzIyLDE3IEBA
IGZ1bmN0aW9uIGZldGNoUmVzdWx0cyhvbnN1Y2Nlc3MpCiAgICAgICAgICAgICAkKCcucmVzdWx0
cycpLmFwcGVuZChwYXJ0eVRpbWUpOwogICAgICAgICAgICAgcGFydHlUaW1lLmZhZGVJbigxMjAw
KS5kZWxheSg3MDAwKS5mYWRlT3V0KCk7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB2
YXIgcmVzdWx0c1N1bW1hcnkgPSB1aS5zdW1tYXJpemVSZXN1bHRzQnlUZXN0KHVuZXhwZWN0ZWRG
YWlsdXJlcyk7Ci0gICAgICAgICAgICAkKCcucmVzdWx0cycpLmFwcGVuZCgkKHJlc3VsdHNTdW1t
YXJ5KS5hZGRDbGFzcygncmVncmVzc2lvbicpKTsKKyAgICAgICAgICAgIHZhciByZWdyZXNzaW9u
cyA9ICQoJzxkaXYgY2xhc3M9InJlc3VsdHMtc3VtbWFyeSByZWdyZXNzaW9uIj48L2Rpdj4nKTsK
KyAgICAgICAgICAgICQuZWFjaChyZXN1bHRzQnlUZXN0LCBmdW5jdGlvbih0ZXN0TmFtZSwgcmVz
dWx0Tm9kZXNCeUJ1aWxkZXIpIHsKKyAgICAgICAgICAgICAgICB2YXIgdGVzdFN1bW1hcnkgPSB1
aS5zdW1tYXJpemVUZXN0KHRlc3ROYW1lLCByZXN1bHROb2Rlc0J5QnVpbGRlcik7CisgICAgICAg
ICAgICAgICAgcmVncmVzc2lvbnMuYXBwZW5kKHRlc3RTdW1tYXJ5KTsKKworICAgICAgICAgICAg
ICAgIHZhciBidWlsZGVyTmFtZUxpc3QgPSBiYXNlLmtleXMocmVzdWx0Tm9kZXNCeUJ1aWxkZXIp
OworICAgICAgICAgICAgICAgIHJlc3VsdHMudW5pZnlSZWdyZXNzaW9uUmFuZ2VzKGJ1aWxkZXJO
YW1lTGlzdCwgdGVzdE5hbWUsIGZ1bmN0aW9uKG9sZGVzdEZhaWxpbmdSZXZpc2lvbiwgbmV3ZXN0
UGFzc2luZ1JldmlzaW9uKSB7CisgICAgICAgICAgICAgICAgICAgICQoJy53aGVuJywgcmVncmVz
c2lvbnMpLmFwcGVuZCh1aS5zdW1tYXJpemVSZWdyZXNzaW9uUmFuZ2Uob2xkZXN0RmFpbGluZ1Jl
dmlzaW9uLCBuZXdlc3RQYXNzaW5nUmV2aXNpb24pKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgJCgnLnJlc3VsdHMnKS5hcHBlbmQocmVncmVzc2lv
bnMpOwogICAgICAgICB9CiAgICAgICAgIHNldEljb25TdGF0ZShoYXNGYWlsdXJlcyk7CiAgICAg
ICAgIG9uc3VjY2VzcygpOwpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZl
cnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvcmVzdWx0cy5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRlbmluZ3NlcnZlci9yZXN1bHRz
LmpzCShyZXZpc2lvbiA5MDg1NikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2
ZXJzL2RhdGEvZ2FyZGVuaW5nc2VydmVyL3Jlc3VsdHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTI1
Nyw2ICsyNTcsNTAgQEAgcmVzdWx0cy5yZWdyZXNzaW9uUmFuZ2VGb3JGYWlsdXJlID0gZnVuYwog
ICAgIH0pOwogfTsKIAorZnVuY3Rpb24gbWVyZ2VSZWdyZXNzaW9uUmFuZ2VzKHJlZ3Jlc3Npb25S
YW5nZXMpCit7CisgICAgbWVyZ2VkUmFuZ2UgPSB7fTsKKworICAgIG1lcmdlZFJhbmdlLm9sZGVz
dEZhaWxpbmdSZXZpc2lvbiA9IDA7CisgICAgbWVyZ2VkUmFuZ2UubmV3ZXN0UGFzc2luZ1Jldmlz
aW9uID0gMDsKKworICAgICQuZWFjaChyZWdyZXNzaW9uUmFuZ2VzLCBmdW5jdGlvbihidWlsZGVy
TmFtZSwgcmFuZ2UpIHsKKyAgICAgICAgaWYgKCFtZXJnZWRSYW5nZS5vbGRlc3RGYWlsaW5nUmV2
aXNpb24pCisgICAgICAgICAgICBtZXJnZWRSYW5nZS5vbGRlc3RGYWlsaW5nUmV2aXNpb24gPSBy
YW5nZS5vbGRlc3RGYWlsaW5nUmV2aXNpb247CisgICAgICAgIGlmICghbWVyZ2VkUmFuZ2UubmV3
ZXN0UGFzc2luZ1JldmlzaW9uKQorICAgICAgICAgICAgbWVyZ2VkUmFuZ2UubmV3ZXN0UGFzc2lu
Z1JldmlzaW9uID0gcmFuZ2UubmV3ZXN0UGFzc2luZ1JldmlzaW9uOworCisgICAgICAgIGlmIChy
YW5nZS5vbGRlc3RGYWlsaW5nUmV2aXNpb24gPCBtZXJnZWRSYW5nZS5vbGRlc3RGYWlsaW5nUmV2
aXNpb24pCisgICAgICAgICAgICBtZXJnZWRSYW5nZS5vbGRlc3RGYWlsaW5nUmV2aXNpb24gPSBy
YW5nZS5vbGRlc3RGYWlsaW5nUmV2aXNpb247CisgICAgICAgIGlmIChyYW5nZS5uZXdlc3RQYXNz
aW5nUmV2aXNpb24gPiBtZXJnZWRSYW5nZS5uZXdlc3RQYXNzaW5nUmV2aXNpb24pCisgICAgICAg
ICAgICBtZXJnZWRSYW5nZS5uZXdlc3RQYXNzaW5nUmV2aXNpb24gPSByYW5nZS5uZXdlc3RQYXNz
aW5nUmV2aXNpb247CisgICAgfSk7CisgICAgcmV0dXJuIG1lcmdlZFJhbmdlOworfQorCityZXN1
bHRzLnVuaWZ5UmVncmVzc2lvblJhbmdlcyA9IGZ1bmN0aW9uKGJ1aWxkZXJOYW1lTGlzdCwgdGVz
dE5hbWUsIGNhbGxiYWNrKQoreworICAgIHZhciBxdWVyaWVzSW5GbGlnaHQgPSBidWlsZGVyTmFt
ZUxpc3QubGVuZ3RoOworICAgIGlmICghcXVlcmllc0luRmxpZ2h0KQorICAgICAgICBjYWxsYmFj
aygwLCAwKTsKKworICAgIHZhciByZWdyZXNzaW9uUmFuZ2VzID0ge307CisgICAgJC5lYWNoKGJ1
aWxkZXJOYW1lTGlzdCwgZnVuY3Rpb24oaW5kZXgsIGJ1aWxkZXJOYW1lKSB7CisgICAgICAgIHJl
c3VsdHMucmVncmVzc2lvblJhbmdlRm9yRmFpbHVyZShidWlsZGVyTmFtZSwgdGVzdE5hbWUsIGZ1
bmN0aW9uKG9sZGVzdEZhaWxpbmdSZXZpc2lvbiwgbmV3ZXN0UGFzc2luZ1JldmlzaW9uKSB7Cisg
ICAgICAgICAgICB2YXIgcmFuZ2UgPSB7fTsKKyAgICAgICAgICAgIHJhbmdlLm9sZGVzdEZhaWxp
bmdSZXZpc2lvbiA9IG9sZGVzdEZhaWxpbmdSZXZpc2lvbjsKKyAgICAgICAgICAgIHJhbmdlLm5l
d2VzdFBhc3NpbmdSZXZpc2lvbiA9IG5ld2VzdFBhc3NpbmdSZXZpc2lvbjsKKyAgICAgICAgICAg
IHJlZ3Jlc3Npb25SYW5nZXNbYnVpbGRlck5hbWVdID0gcmFuZ2U7CisKKyAgICAgICAgICAgIC0t
cXVlcmllc0luRmxpZ2h0OworICAgICAgICAgICAgaWYgKCFxdWVyaWVzSW5GbGlnaHQpIHsKKyAg
ICAgICAgICAgICAgICB2YXIgbWVyZ2VkUmFuZ2UgPSBtZXJnZVJlZ3Jlc3Npb25SYW5nZXMocmVn
cmVzc2lvblJhbmdlcyk7CisgICAgICAgICAgICAgICAgY2FsbGJhY2sobWVyZ2VkUmFuZ2Uub2xk
ZXN0RmFpbGluZ1JldmlzaW9uLCBtZXJnZWRSYW5nZS5uZXdlc3RQYXNzaW5nUmV2aXNpb24pOwor
ICAgICAgICAgICAgfQorICAgICAgICB9KTsKKyAgICB9KTsKK307CisKIHJlc3VsdHMucmVzdWx0
Tm9kZUZvclRlc3QgPSBmdW5jdGlvbihyZXN1bHRzVHJlZSwgdGVzdE5hbWUpCiB7CiAgICAgdmFy
IHRlc3ROYW1lUGF0aCA9IHRlc3ROYW1lLnNwbGl0KCcvJyk7CkluZGV4OiBUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRlbmluZ3NlcnZlci9yZXN1bHRzX3VuaXR0
ZXN0cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVy
cy9kYXRhL2dhcmRlbmluZ3NlcnZlci9yZXN1bHRzX3VuaXR0ZXN0cy5qcwkocmV2aXNpb24gOTA4
NTYpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRlbmlu
Z3NlcnZlci9yZXN1bHRzX3VuaXR0ZXN0cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMTM3LDcgKzEz
Nyw3IEBAIE5ldHdvcmtTaW11bGF0b3IucHJvdG90eXBlLnJ1blRlc3QgPSBmdW4KICAgICBlcXVh
bCh3aW5kb3cuYmFzZSwgcmVhbEJhc2UsICJGYWlsZWQgdG8gcmVzdG9yZSByZWFsIGJhc2UhIik7
CiB9CiAKLXRlc3QoInJlZ3Jlc3Npb25SYW5nZUZvckZhaWx1cmUiLCAzLCBmdW5jdGlvbigpIHsK
K3Rlc3QoInJlZ3Jlc3Npb25SYW5nZUZvckZhaWx1cmUiLCA1LCBmdW5jdGlvbigpIHsKICAgICB2
YXIgc2ltdWxhdG9yID0gbmV3IE5ldHdvcmtTaW11bGF0b3IoKTsKIAogICAgIHZhciBrZXlNYXAg
PSB7CkBAIC0xODgsMjIgKzE4OCw0NyBAQCB0ZXN0KCJyZWdyZXNzaW9uUmFuZ2VGb3JGYWlsdXJl
IiwgMywgZnVuCiAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgIH0sCiAgICAgICAgICAg
ICAicmV2aXNpb24iOiAiOTA0MjQiCisgICAgICAgIH0sCisgICAgICAgICJhYmMiOnsKKyAgICAg
ICAgICAgICJ0ZXN0cyI6IHsKKyAgICAgICAgICAgICAgICAidXNlcnNjcmlwdHMiOiB7CisgICAg
ICAgICAgICAgICAgICAgICJhbm90aGVyLXRlc3QuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJleHBlY3RlZCI6ICJQQVNTIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJhY3R1
YWwiOiAiVEVYVCIKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0sCisg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgInJldmlzaW9uIjogIjkwNDI2IgorICAgICAgICB9
LAorICAgICAgICAieHl6Ijp7CisgICAgICAgICAgICAidGVzdHMiOiB7CisgICAgICAgICAgICB9
LAorICAgICAgICAgICAgInJldmlzaW9uIjogIjkwNDI1IgogICAgICAgICB9CiAgICAgfTsKIAog
ICAgIHNpbXVsYXRvci5qc29ucEhvb2sgPSBmdW5jdGlvbih1cmwsIGNhbGxiYWNrKSB7CiAgICAg
ICAgIHNpbXVsYXRvci5zY2hlZHVsZUNhbGxiYWNrKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAg
aWYgKC9kaXI9MS8udGVzdCh1cmwpKSB7Ci0gICAgICAgICAgICAgICAgY2FsbGJhY2soWwotICAg
ICAgICAgICAgICAgICAgICB7ICJrZXkiOiAiYWd4MFpYTjBMWEpsYzNWc2RITnlFQXNTQ0ZSbGMz
UkdhV3hsR0xuY1VBdyIgfSwKLSAgICAgICAgICAgICAgICAgICAgeyAia2V5IjogImFneDBaWE4w
TFhKbGMzVnNkSE55RUFzU0NGUmxjM1JHYVd4bEdOZlRVQXciIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsgImtleSI6ICJhZ3gwWlhOMExYSmxjM1ZzZEhOeUVBc1NDRlJsYzNSR2FXeGxHSldDVVF3
IiB9LAotICAgICAgICAgICAgICAgICAgICB7ICJrZXkiOiAiYWd4MFpYTjBMWEpsYzNWc2RITnlF
QXNTQ0ZSbGMzUkdhV3hsR0tiTFVBdyIgfSwKLSAgICAgICAgICAgICAgICAgICAgeyAia2V5Ijog
ImFneDBaWE4wTFhKbGMzVnNkSE55RUFzU0NGUmxjM1JHYVd4bEdPajVVQXciIH0sCi0gICAgICAg
ICAgICAgICAgICAgIHsgImtleSI6ICJhZ3gwWlhOMExYSmxjM1ZzZEhOeUVBc1NDRlJsYzNSR2FX
eGxHUC1BVVF3IiB9LAotICAgICAgICAgICAgICAgICAgICB7ICJrZXkiOiAiYWd4MFpYTjBMWEps
YzNWc2RITnlFQXNTQ0ZSbGMzUkdhV3hsR1BMM1VBdyIgfSwKLSAgICAgICAgICAgICAgICAgICAg
eyAia2V5IjogImFneDBaWE4wTFhKbGMzVnNkSE55RUFzU0NGUmxjM1JHYVd4bEdOSEpRQXciIH0s
Ci0gICAgICAgICAgICAgICAgXSk7CisgICAgICAgICAgICAgICAgaWYgKC9idWlsZGVyPU1vY2sv
LnRlc3QodXJsKSkgeworICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhbCisgICAgICAgICAg
ICAgICAgICAgICAgICB7ICJrZXkiOiAiYWd4MFpYTjBMWEpsYzNWc2RITnlFQXNTQ0ZSbGMzUkdh
V3hsR0xuY1VBdyIgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgImtleSI6ICJhZ3gwWlhO
MExYSmxjM1ZzZEhOeUVBc1NDRlJsYzNSR2FXeGxHTmZUVUF3IiB9LAorICAgICAgICAgICAgICAg
ICAgICAgICAgeyAia2V5IjogImFneDBaWE4wTFhKbGMzVnNkSE55RUFzU0NGUmxjM1JHYVd4bEdK
V0NVUXciIH0sCisgICAgICAgICAgICAgICAgICAgICAgICB7ICJrZXkiOiAiYWd4MFpYTjBMWEps
YzNWc2RITnlFQXNTQ0ZSbGMzUkdhV3hsR0tiTFVBdyIgfSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHsgImtleSI6ICJhZ3gwWlhOMExYSmxjM1ZzZEhOeUVBc1NDRlJsYzNSR2FXeGxHT2o1VUF3
IiB9LAorICAgICAgICAgICAgICAgICAgICAgICAgeyAia2V5IjogImFneDBaWE4wTFhKbGMzVnNk
SE55RUFzU0NGUmxjM1JHYVd4bEdQLUFVUXciIH0sCisgICAgICAgICAgICAgICAgICAgICAgICB7
ICJrZXkiOiAiYWd4MFpYTjBMWEpsYzNWc2RITnlFQXNTQ0ZSbGMzUkdhV3hsR1BMM1VBdyIgfSwK
KyAgICAgICAgICAgICAgICAgICAgICAgIHsgImtleSI6ICJhZ3gwWlhOMExYSmxjM1ZzZEhOeUVB
c1NDRlJsYzNSR2FXeGxHTkhKUUF3IiB9LAorICAgICAgICAgICAgICAgICAgICBdKTsKKyAgICAg
ICAgICAgICAgICB9IGVsc2UgaWYgKC9idWlsZGVyPUFub3RoZXIvLnRlc3QodXJsKSkgeworICAg
ICAgICAgICAgICAgICAgICBjYWxsYmFjayhbCisgICAgICAgICAgICAgICAgICAgICAgICB7ICJr
ZXkiOiAiYWJjIiB9LAorICAgICAgICAgICAgICAgICAgICAgICAgeyAia2V5IjogInh5eiIgfSwK
KyAgICAgICAgICAgICAgICAgICAgXSk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAgICAgb2soZmFsc2UsICdVbmV4cGVjdGVkIFVSTDogJyArIHVybCk7CisgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICB2YXIg
a2V5ID0gdXJsLm1hdGNoKC9rZXk9KFteJl0rKS8pWzFdOwogICAgICAgICAgICAgICAgIGNhbGxi
YWNrKGtleU1hcFtrZXldKTsKQEAgLTIxNSw2ICsyNDAsMTEgQEAgdGVzdCgicmVncmVzc2lvblJh
bmdlRm9yRmFpbHVyZSIsIDMsIGZ1bgogICAgICAgICAgICAgZXF1YWxzKG9sZGVzdEZhaWxpbmdS
ZXZpc2lvbiwgOTA0MjYpOwogICAgICAgICAgICAgZXF1YWxzKG5ld2VzdFBhc3NpbmdSZXZpc2lv
biwgOTA0MjQpOwogICAgICAgICB9KTsKKworICAgICAgICByZXN1bHRzLnVuaWZ5UmVncmVzc2lv
blJhbmdlcyhbIk1vY2sgQnVpbGRlciIsICJBbm90aGVyIEJ1aWxkZXIiXSwgInVzZXJzY3JpcHRz
L2Fub3RoZXItdGVzdC5odG1sIiwgZnVuY3Rpb24ob2xkZXN0RmFpbGluZ1JldmlzaW9uLCBuZXdl
c3RQYXNzaW5nUmV2aXNpb24pIHsKKyAgICAgICAgICAgIGVxdWFscyhvbGRlc3RGYWlsaW5nUmV2
aXNpb24sIDkwNDI2KTsKKyAgICAgICAgICAgIGVxdWFscyhuZXdlc3RQYXNzaW5nUmV2aXNpb24s
IDkwNDI1KTsKKyAgICAgICAgfSk7CiAgICAgfSk7CiB9KTsKIApJbmRleDogVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvdWkuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5p
bmdzZXJ2ZXIvdWkuanMJKHJldmlzaW9uIDkwODU2KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvdWkuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEyLDYgKzEyLDEzIEBAIHVpLnVybEZvclRlc3QgPSBmdW5jdGlvbih0ZXN0TmFtZSkKICAg
ICByZXR1cm4gJ2h0dHA6Ly90cmFjLndlYmtpdC5vcmcvYnJvd3Nlci90cnVuay9MYXlvdXRUZXN0
cy8nICsgdGVzdE5hbWU7CiB9CiAKK3VpLnVybEZvclJldmlzaW9uUmFuZ2UgPSBmdW5jdGlvbihm
aXJzdFJldmlzaW9uLCBsYXN0UmV2aXNpb24pCit7CisgICAgaWYgKGZpcnN0UmV2aXNpb24gIT0g
bGFzdFJldmlzaW9uKQorICAgICAgICByZXR1cm4gJ2h0dHA6Ly90cmFjLndlYmtpdC5vcmcvbG9n
L3RydW5rLz9yZXY9JyArIGZpcnN0UmV2aXNpb24gKyAnJnN0b3BfcmV2PScgKyBsYXN0UmV2aXNp
b24gKyAnJmxpbWl0PTEwMCZ2ZXJib3NlPW9uJzsKKyAgICByZXR1cm4gJ2h0dHA6Ly90cmFjLndl
YmtpdC5vcmcvY2hhbmdlc2V0LycgKyBmaXJzdFJldmlzaW9uOworfTsKKwogdWkuc3VtbWFyaXpl
VGVzdCA9IGZ1bmN0aW9uKHRlc3ROYW1lLCByZXN1bHROb2Rlc0J5QnVpbGRlcikKIHsKICAgICB2
YXIgdW5leHBlY3RlZFJlc3VsdHMgPSByZXN1bHRzLmNvbGxlY3RVbmV4cGVjdGVkUmVzdWx0cyhy
ZXN1bHROb2Rlc0J5QnVpbGRlcik7CkBAIC0yMCw2ICsyNyw3IEBAIHVpLnN1bW1hcml6ZVRlc3Qg
PSBmdW5jdGlvbih0ZXN0TmFtZSwgcmUKICAgICAgICAgICAnPHNwYW4gY2xhc3M9IndoYXQiPjxh
IGRyYWdnYWJsZT48L2E+PC9zcGFuPicgKwogICAgICAgICAgICc8c3Bhbj5mYWlscyBvbjwvc3Bh
bj4nICsKICAgICAgICAgICAnPHVsIGNsYXNzPSJ3aGVyZSI+PC91bD4nICsKKyAgICAgICAgICAn
PGRpdiBjbGFzcz0id2hlbiI+PC9kaXY+JyArCiAgICAgICAgICc8L2Rpdj4nKTsKICAgICAkKCcu
d2hhdCBhJywgYmxvY2spLnRleHQodGVzdE5hbWUpLmF0dHIoJ2hyZWYnLCB1aS51cmxGb3JUZXN0
KHRlc3ROYW1lKSkuYXR0cignY2xhc3MnLCB1bmV4cGVjdGVkUmVzdWx0cy5qb2luKCcgJykpOwog
CkBAIC0zMSwxMyArMzksMTggQEAgdWkuc3VtbWFyaXplVGVzdCA9IGZ1bmN0aW9uKHRlc3ROYW1l
LCByZQogICAgIHJldHVybiBibG9jazsKIH07CiAKLXVpLnN1bW1hcml6ZVJlc3VsdHNCeVRlc3Qg
PSBmdW5jdGlvbihyZXN1bHRzQnlUZXN0KQordWkuc3VtbWFyaXplUmVncmVzc2lvblJhbmdlID0g
ZnVuY3Rpb24ob2xkZXN0RmFpbGluZ1JldmlzaW9uLCBuZXdlc3RQYXNzaW5nUmV2aXNpb24pCiB7
Ci0gICAgdmFyIGJsb2NrID0gJCgnPGRpdiBjbGFzcz0icmVzdWx0cy1zdW1tYXJ5Ij48L2Rpdj4n
KTsKLSAgICAkLmVhY2gocmVzdWx0c0J5VGVzdCwgZnVuY3Rpb24odGVzdE5hbWUsIHJlc3VsdE5v
ZGVzQnlCdWlsZGVyKSB7Ci0gICAgICAgIGJsb2NrLmFwcGVuZCh1aS5zdW1tYXJpemVUZXN0KHRl
c3ROYW1lLCByZXN1bHROb2Rlc0J5QnVpbGRlcikpOwotICAgIH0pOwotICAgIHJldHVybiBibG9j
azsKKyAgICBpZiAoIW9sZGVzdEZhaWxpbmdSZXZpc2lvbiB8fCAhbmV3ZXN0UGFzc2luZ1Jldmlz
aW9uKQorICAgICAgICByZXR1cm4gJCgpOworCisgICAgdmFyIGltcGxpZWRGaXJzdEZhaWxpbmdS
ZXZpc2lvbiA9IG5ld2VzdFBhc3NpbmdSZXZpc2lvbiArIDE7CisKKyAgICB2YXIgaHJlZiA9IHVp
LnVybEZvclJldmlzaW9uUmFuZ2UoaW1wbGllZEZpcnN0RmFpbGluZ1JldmlzaW9uLCBvbGRlc3RG
YWlsaW5nUmV2aXNpb24pOworICAgIHZhciB0ZXh0Rm9yUmV2aXNpb25SYW5nZSA9IGltcGxpZWRG
aXJzdEZhaWxpbmdSZXZpc2lvbiA9PSBvbGRlc3RGYWlsaW5nUmV2aXNpb24gPyBpbXBsaWVkRmly
c3RGYWlsaW5nUmV2aXNpb24gOiBpbXBsaWVkRmlyc3RGYWlsaW5nUmV2aXNpb24gKyAnOicgKyBv
bGRlc3RGYWlsaW5nUmV2aXNpb247CisgICAgdmFyIHRleHQgPSAnUmVncmVzc2lvbiAnICsgdGV4
dEZvclJldmlzaW9uUmFuZ2U7CisKKyAgICByZXR1cm4gJCgnPGEgY2xhc3M9InJlZ3Jlc3Npb24t
cmFuZ2UiPjwvYT4nKS5hdHRyKCdocmVmJywgaHJlZikudGV4dCh0ZXh0KTsKIH07CiAKIHVpLnJl
c3VsdHMgPSBmdW5jdGlvbihyZXN1bHRzVVJMcykKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvdG9vbC9zZXJ2ZXJzL2RhdGEvZ2FyZGVuaW5nc2VydmVyL3VpX3VuaXR0ZXN0cy5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRl
bmluZ3NlcnZlci91aV91bml0dGVzdHMuanMJKHJldmlzaW9uIDkwODU2KQorKysgVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvdWlfdW5pdHRl
c3RzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xOSwxMiArMTksMjMgQEAgdmFyIGtFeGFtcGxlUmVz
dWx0c0J5VGVzdCA9IHsKICAgICB9CiB9CiAKLXRlc3QoInN1bW1hcml6ZVJlc3VsdHNCeVRlc3Qi
LCAzLCBmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzdWx0c1N1bW1hcnkgPSB1aS5zdW1tYXJpemVS
ZXN1bHRzQnlUZXN0KGtFeGFtcGxlUmVzdWx0c0J5VGVzdCk7Ci0gICAgdmFyIHJlc3VsdHNTdW1t
YXJ5SFRNTCA9IHJlc3VsdHNTdW1tYXJ5Lmh0bWwoKTsKLSAgICBvayhyZXN1bHRzU3VtbWFyeUhU
TUwuaW5kZXhPZignc2Nyb2xsYmFycy9jdXN0b20tc2Nyb2xsYmFyLXdpdGgtaW5jb21wbGV0ZS1z
dHlsZS5odG1sJykgIT0gLTEpOwotICAgIG9rKHJlc3VsdHNTdW1tYXJ5SFRNTC5pbmRleE9mKCd1
c2Vyc2NyaXB0cy9hbm90aGVyLXRlc3QuaHRtbCcpICE9IC0xKTsKLSAgICBvayhyZXN1bHRzU3Vt
bWFyeUhUTUwuaW5kZXhPZignTW9jayBCdWlsZGVyJykgIT0gLTEpOwordGVzdCgic3VtbWFyaXpl
VGVzdCIsIDMsIGZ1bmN0aW9uKCkgeworICAgIHZhciB0ZXN0TmFtZSA9ICd1c2Vyc2NyaXB0cy9h
bm90aGVyLXRlc3QuaHRtbCc7CisgICAgdmFyIHN1bW1hcnkgPSB1aS5zdW1tYXJpemVUZXN0KHRl
c3ROYW1lLCBrRXhhbXBsZVJlc3VsdHNCeVRlc3RbdGVzdE5hbWVdKTsKKyAgICB2YXIgc3VtbWFy
eUhUTUwgPSBzdW1tYXJ5Lmh0bWwoKTsKKyAgICBvayhzdW1tYXJ5SFRNTC5pbmRleE9mKCdzY3Jv
bGxiYXJzL2N1c3RvbS1zY3JvbGxiYXItd2l0aC1pbmNvbXBsZXRlLXN0eWxlLmh0bWwnKSA9PSAt
MSk7CisgICAgb2soc3VtbWFyeUhUTUwuaW5kZXhPZigndXNlcnNjcmlwdHMvYW5vdGhlci10ZXN0
Lmh0bWwnKSAhPSAtMSk7CisgICAgb2soc3VtbWFyeUhUTUwuaW5kZXhPZignTW9jayBCdWlsZGVy
JykgIT0gLTEpOworfSk7CisKK3Rlc3QoInN1bW1hcml6ZVJlZ3Jlc3Npb25SYW5nZSIsIDIsIGZ1
bmN0aW9uKCkgeworICAgIHZhciBzdW1tYXJ5V2l0aE11bHRpcGxlUmV2aXNpb25zID0gdWkuc3Vt
bWFyaXplUmVncmVzc2lvblJhbmdlKDkwNDI0LCA5MDQyNik7CisgICAgc3VtbWFyeVdpdGhNdWx0
aXBsZVJldmlzaW9ucy53cmFwKCc8d3JhcHBlcj48L3dyYXBwZXI+Jyk7CisgICAgZXF1YWwoc3Vt
bWFyeVdpdGhNdWx0aXBsZVJldmlzaW9ucy5wYXJlbnQoKS5odG1sKCksICc8YSBjbGFzcz0icmVn
cmVzc2lvbi1yYW5nZSIgaHJlZj0iaHR0cDovL3RyYWMud2Via2l0Lm9yZy9sb2cvdHJ1bmsvP3Jl
dj05MDQyNyZhbXA7c3RvcF9yZXY9OTA0MjQmYW1wO2xpbWl0PTEwMCZhbXA7dmVyYm9zZT1vbiI+
UmVncmVzc2lvbiA5MDQyNzo5MDQyNDwvYT4nKTsKKworICAgIHZhciBzdW1tYXJ5V2l0aE9uZVJl
dmlzaW9uID0gdWkuc3VtbWFyaXplUmVncmVzc2lvblJhbmdlKDkwNDI1LCA5MDQyNik7CisgICAg
c3VtbWFyeVdpdGhPbmVSZXZpc2lvbi53cmFwKCc8d3JhcHBlcj48L3dyYXBwZXI+Jyk7CisgICAg
ZXF1YWwoc3VtbWFyeVdpdGhPbmVSZXZpc2lvbi5wYXJlbnQoKS5odG1sKCksICc8YSBjbGFzcz0i
cmVncmVzc2lvbi1yYW5nZSIgaHJlZj0iaHR0cDovL3RyYWMud2Via2l0Lm9yZy9sb2cvdHJ1bmsv
P3Jldj05MDQyNyZhbXA7c3RvcF9yZXY9OTA0MjUmYW1wO2xpbWl0PTEwMCZhbXA7dmVyYm9zZT1v
biI+UmVncmVzc2lvbiA5MDQyNzo5MDQyNTwvYT4nKTsKIH0pOwogCiB0ZXN0KCJyZXN1bHRzIiwg
MSwgZnVuY3Rpb24oKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100584</attachid>
            <date>2011-07-12 16:29:29 -0700</date>
            <delta_ts>2011-07-12 16:36:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64407-20110712162927.patch</filename>
            <type>text/plain</type>
            <size>14612</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDkwODY1KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMjYgQEAKKzIwMTEtMDctMTIgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBnYXJkZW4tby1tYXRpYyBzaG91bGQgZGlzcGxheSByZWdyZXNzaW9uIHJhbmdlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0MDcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNo
IGNvbXB1dGVzIGEgcmVncmVzc2lvbiByYW5nZSBmb3IgYSBmYWlsdXJlIGJ5IGludGVyc2VjdGlu
ZworICAgICAgICB0aGUgcmVncmVzc2lvbiByYW5nZXMgc2VlbiBieSB0aGUgdmFyaW91cyBib3Rz
LiAgV2UgbWFrZSB0aGUgdW5kZXJseWluZworICAgICAgICBhc3N1bXB0aW9uIHRoYXQgYSB0ZXN0
IGlzIG9ubHkgZmFpbGluZyBkdWUgdG8gb25lIHJldmlzaW9uIGF0IGFueSBnaXZlbgorICAgICAg
ICBtb21lbnQuICBJZiB0aGF0J3Mgbm90IHRydWUsIHRoaXMgY29kZSBwcm9iYWJseSBleHBsb2Rl
cy4KKworICAgICAgICBUaGUgcmVncmVzc2lvbiByYW5nZXMgYXBwZWFyIGFzeW5jaHJvbm91c2x5
LCB3aGljaCBtaWdodCBiZSBhIGphcnJpbmcKKyAgICAgICAgVUkuICBXZSdsbCBoYXZlIHRvIGV4
cGVyaW1lbnQgdG8gc2VlLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZl
cnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvYmFzZS5qczoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRlbmluZ3NlcnZlci9iYXNlX3VuaXR0ZXN0cy5qczoK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRlbmluZ3Nl
cnZlci9tYWluLmpzOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL2Rh
dGEvZ2FyZGVuaW5nc2VydmVyL3Jlc3VsdHMuanM6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvcmVzdWx0c191bml0dGVzdHMuanM6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdz
ZXJ2ZXIvdWkuanM6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0
YS9nYXJkZW5pbmdzZXJ2ZXIvdWlfdW5pdHRlc3RzLmpzOgorCiAyMDExLTA3LTEyICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgY3ItbGludXgtZXdzIHNob3VsZCBy
dW4gcGl4ZWwgdGVzdHMKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJz
L2RhdGEvZ2FyZGVuaW5nc2VydmVyL2Jhc2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvYmFzZS5qcwkocmV2
aXNpb24gOTA4NTYpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9kYXRh
L2dhcmRlbmluZ3NlcnZlci9iYXNlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCwxNSBA
QCBiYXNlLnVuaXF1aWZ5QXJyYXkgPSBmdW5jdGlvbihhcnJheSkKICAgICByZXR1cm4gcmVzdWx0
OwogfTsKIAorYmFzZS5rZXlzID0gZnVuY3Rpb24oZGljdGlvbmFyeSkKK3sKKyAgICB2YXIga2V5
cyA9IFtdOworICAgICQuZWFjaChkaWN0aW9uYXJ5LCBmdW5jdGlvbihrZXksIHZhbHVlKSB7Cisg
ICAgICAgIGtleXMucHVzaChrZXkpOworICAgIH0pOworICAgIHJldHVybiBrZXlzOworfTsKKwog
YmFzZS5maWx0ZXJUcmVlID0gZnVuY3Rpb24odHJlZSwgaXNMZWFmLCBwcmVkaWNhdGUpCiB7CiAg
ICAgdmFyIGZpbHRlcmVkVHJlZSA9IHt9OwpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvYmFzZV91bml0dGVzdHMuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5p
bmdzZXJ2ZXIvYmFzZV91bml0dGVzdHMuanMJKHJldmlzaW9uIDkwODU2KQorKysgVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvYmFzZV91bml0
dGVzdHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDEzIEBAIHRlc3QoInVuaXF1aWZ5
QXJyYXkiLCA1LCBmdW5jdGlvbigpIHsKICAgICBkZWVwRXF1YWwoYmFzZS51bmlxdWlmeUFycmF5
KFsiYSIsICJiIiwgImIiLCAiYSJdKSwgWyJhIiwgImIiXSk7CiB9KTsKIAordGVzdCgia2V5cyIs
IDQsIGZ1bmN0aW9uKCkgeworICAgIGRlZXBFcXVhbChiYXNlLmtleXMoe30pLCBbXSk7CisgICAg
ZGVlcEVxdWFsKGJhc2Uua2V5cyh7ImEiOiAxfSksIFsiYSJdKTsKKyAgICBkZWVwRXF1YWwoYmFz
ZS5rZXlzKHsiYSI6IDEsICJiIjogMH0pLCBbImEiLCAiYiJdKTsKKyAgICBkZWVwRXF1YWwoYmFz
ZS5rZXlzKHsiYSI6IDEsICJiIjogeyAiYyIgOiAxfX0pLCBbImEiLCAiYiJdKTsKK30pOworCiB0
ZXN0KCJmaWx0ZXJUcmVlIiwgMiwgZnVuY3Rpb24oKSB7CiAgICAgdmFyIHRyZWUgPSB7CiAgICAg
ICAgICdwYXRoJzogewpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMv
ZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvbWFpbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRlbmluZ3NlcnZlci9tYWluLmpzCShyZXZp
c2lvbiA5MDg1NikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL2RhdGEv
Z2FyZGVuaW5nc2VydmVyL21haW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTIyLDggKzIyLDE3IEBA
IGZ1bmN0aW9uIGZldGNoUmVzdWx0cyhvbnN1Y2Nlc3MpCiAgICAgICAgICAgICAkKCcucmVzdWx0
cycpLmFwcGVuZChwYXJ0eVRpbWUpOwogICAgICAgICAgICAgcGFydHlUaW1lLmZhZGVJbigxMjAw
KS5kZWxheSg3MDAwKS5mYWRlT3V0KCk7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB2
YXIgcmVzdWx0c1N1bW1hcnkgPSB1aS5zdW1tYXJpemVSZXN1bHRzQnlUZXN0KHVuZXhwZWN0ZWRG
YWlsdXJlcyk7Ci0gICAgICAgICAgICAkKCcucmVzdWx0cycpLmFwcGVuZCgkKHJlc3VsdHNTdW1t
YXJ5KS5hZGRDbGFzcygncmVncmVzc2lvbicpKTsKKyAgICAgICAgICAgIHZhciByZWdyZXNzaW9u
cyA9ICQoJzxkaXYgY2xhc3M9InJlc3VsdHMtc3VtbWFyeSByZWdyZXNzaW9uIj48L2Rpdj4nKTsK
KyAgICAgICAgICAgICQuZWFjaChyZXN1bHRzQnlUZXN0LCBmdW5jdGlvbih0ZXN0TmFtZSwgcmVz
dWx0Tm9kZXNCeUJ1aWxkZXIpIHsKKyAgICAgICAgICAgICAgICB2YXIgdGVzdFN1bW1hcnkgPSB1
aS5zdW1tYXJpemVUZXN0KHRlc3ROYW1lLCByZXN1bHROb2Rlc0J5QnVpbGRlcik7CisgICAgICAg
ICAgICAgICAgcmVncmVzc2lvbnMuYXBwZW5kKHRlc3RTdW1tYXJ5KTsKKworICAgICAgICAgICAg
ICAgIHZhciBidWlsZGVyTmFtZUxpc3QgPSBiYXNlLmtleXMocmVzdWx0Tm9kZXNCeUJ1aWxkZXIp
OworICAgICAgICAgICAgICAgIHJlc3VsdHMudW5pZnlSZWdyZXNzaW9uUmFuZ2VzKGJ1aWxkZXJO
YW1lTGlzdCwgdGVzdE5hbWUsIGZ1bmN0aW9uKG9sZGVzdEZhaWxpbmdSZXZpc2lvbiwgbmV3ZXN0
UGFzc2luZ1JldmlzaW9uKSB7CisgICAgICAgICAgICAgICAgICAgICQoJy53aGVuJywgcmVncmVz
c2lvbnMpLmFwcGVuZCh1aS5zdW1tYXJpemVSZWdyZXNzaW9uUmFuZ2Uob2xkZXN0RmFpbGluZ1Jl
dmlzaW9uLCBuZXdlc3RQYXNzaW5nUmV2aXNpb24pKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgJCgnLnJlc3VsdHMnKS5hcHBlbmQocmVncmVzc2lv
bnMpOwogICAgICAgICB9CiAgICAgICAgIHNldEljb25TdGF0ZShoYXNGYWlsdXJlcyk7CiAgICAg
ICAgIG9uc3VjY2VzcygpOwpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZl
cnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvcmVzdWx0cy5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRlbmluZ3NlcnZlci9yZXN1bHRz
LmpzCShyZXZpc2lvbiA5MDg1NikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2
ZXJzL2RhdGEvZ2FyZGVuaW5nc2VydmVyL3Jlc3VsdHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTI1
Nyw2ICsyNTcsNTAgQEAgcmVzdWx0cy5yZWdyZXNzaW9uUmFuZ2VGb3JGYWlsdXJlID0gZnVuYwog
ICAgIH0pOwogfTsKIAorZnVuY3Rpb24gbWVyZ2VSZWdyZXNzaW9uUmFuZ2VzKHJlZ3Jlc3Npb25S
YW5nZXMpCit7CisgICAgdmFyIG1lcmdlZFJhbmdlID0ge307CisKKyAgICBtZXJnZWRSYW5nZS5v
bGRlc3RGYWlsaW5nUmV2aXNpb24gPSAwOworICAgIG1lcmdlZFJhbmdlLm5ld2VzdFBhc3NpbmdS
ZXZpc2lvbiA9IDA7CisKKyAgICAkLmVhY2gocmVncmVzc2lvblJhbmdlcywgZnVuY3Rpb24oYnVp
bGRlck5hbWUsIHJhbmdlKSB7CisgICAgICAgIGlmICghbWVyZ2VkUmFuZ2Uub2xkZXN0RmFpbGlu
Z1JldmlzaW9uKQorICAgICAgICAgICAgbWVyZ2VkUmFuZ2Uub2xkZXN0RmFpbGluZ1JldmlzaW9u
ID0gcmFuZ2Uub2xkZXN0RmFpbGluZ1JldmlzaW9uOworICAgICAgICBpZiAoIW1lcmdlZFJhbmdl
Lm5ld2VzdFBhc3NpbmdSZXZpc2lvbikKKyAgICAgICAgICAgIG1lcmdlZFJhbmdlLm5ld2VzdFBh
c3NpbmdSZXZpc2lvbiA9IHJhbmdlLm5ld2VzdFBhc3NpbmdSZXZpc2lvbjsKKworICAgICAgICBp
ZiAocmFuZ2Uub2xkZXN0RmFpbGluZ1JldmlzaW9uIDwgbWVyZ2VkUmFuZ2Uub2xkZXN0RmFpbGlu
Z1JldmlzaW9uKQorICAgICAgICAgICAgbWVyZ2VkUmFuZ2Uub2xkZXN0RmFpbGluZ1JldmlzaW9u
ID0gcmFuZ2Uub2xkZXN0RmFpbGluZ1JldmlzaW9uOworICAgICAgICBpZiAocmFuZ2UubmV3ZXN0
UGFzc2luZ1JldmlzaW9uID4gbWVyZ2VkUmFuZ2UubmV3ZXN0UGFzc2luZ1JldmlzaW9uKQorICAg
ICAgICAgICAgbWVyZ2VkUmFuZ2UubmV3ZXN0UGFzc2luZ1JldmlzaW9uID0gcmFuZ2UubmV3ZXN0
UGFzc2luZ1JldmlzaW9uOworICAgIH0pOworICAgIHJldHVybiBtZXJnZWRSYW5nZTsKK30KKwor
cmVzdWx0cy51bmlmeVJlZ3Jlc3Npb25SYW5nZXMgPSBmdW5jdGlvbihidWlsZGVyTmFtZUxpc3Qs
IHRlc3ROYW1lLCBjYWxsYmFjaykKK3sKKyAgICB2YXIgcXVlcmllc0luRmxpZ2h0ID0gYnVpbGRl
ck5hbWVMaXN0Lmxlbmd0aDsKKyAgICBpZiAoIXF1ZXJpZXNJbkZsaWdodCkKKyAgICAgICAgY2Fs
bGJhY2soMCwgMCk7CisKKyAgICB2YXIgcmVncmVzc2lvblJhbmdlcyA9IHt9OworICAgICQuZWFj
aChidWlsZGVyTmFtZUxpc3QsIGZ1bmN0aW9uKGluZGV4LCBidWlsZGVyTmFtZSkgeworICAgICAg
ICByZXN1bHRzLnJlZ3Jlc3Npb25SYW5nZUZvckZhaWx1cmUoYnVpbGRlck5hbWUsIHRlc3ROYW1l
LCBmdW5jdGlvbihvbGRlc3RGYWlsaW5nUmV2aXNpb24sIG5ld2VzdFBhc3NpbmdSZXZpc2lvbikg
eworICAgICAgICAgICAgdmFyIHJhbmdlID0ge307CisgICAgICAgICAgICByYW5nZS5vbGRlc3RG
YWlsaW5nUmV2aXNpb24gPSBvbGRlc3RGYWlsaW5nUmV2aXNpb247CisgICAgICAgICAgICByYW5n
ZS5uZXdlc3RQYXNzaW5nUmV2aXNpb24gPSBuZXdlc3RQYXNzaW5nUmV2aXNpb247CisgICAgICAg
ICAgICByZWdyZXNzaW9uUmFuZ2VzW2J1aWxkZXJOYW1lXSA9IHJhbmdlOworCisgICAgICAgICAg
ICAtLXF1ZXJpZXNJbkZsaWdodDsKKyAgICAgICAgICAgIGlmICghcXVlcmllc0luRmxpZ2h0KSB7
CisgICAgICAgICAgICAgICAgdmFyIG1lcmdlZFJhbmdlID0gbWVyZ2VSZWdyZXNzaW9uUmFuZ2Vz
KHJlZ3Jlc3Npb25SYW5nZXMpOworICAgICAgICAgICAgICAgIGNhbGxiYWNrKG1lcmdlZFJhbmdl
Lm9sZGVzdEZhaWxpbmdSZXZpc2lvbiwgbWVyZ2VkUmFuZ2UubmV3ZXN0UGFzc2luZ1JldmlzaW9u
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSk7CisgICAgfSk7Cit9OworCiByZXN1bHRzLnJl
c3VsdE5vZGVGb3JUZXN0ID0gZnVuY3Rpb24ocmVzdWx0c1RyZWUsIHRlc3ROYW1lKQogewogICAg
IHZhciB0ZXN0TmFtZVBhdGggPSB0ZXN0TmFtZS5zcGxpdCgnLycpOwpJbmRleDogVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvcmVzdWx0c191
bml0dGVzdHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3Nl
cnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvcmVzdWx0c191bml0dGVzdHMuanMJKHJldmlzaW9u
IDkwODU2KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJk
ZW5pbmdzZXJ2ZXIvcmVzdWx0c191bml0dGVzdHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEzNyw3
ICsxMzcsNyBAQCBOZXR3b3JrU2ltdWxhdG9yLnByb3RvdHlwZS5ydW5UZXN0ID0gZnVuCiAgICAg
ZXF1YWwod2luZG93LmJhc2UsIHJlYWxCYXNlLCAiRmFpbGVkIHRvIHJlc3RvcmUgcmVhbCBiYXNl
ISIpOwogfQogCi10ZXN0KCJyZWdyZXNzaW9uUmFuZ2VGb3JGYWlsdXJlIiwgMywgZnVuY3Rpb24o
KSB7Cit0ZXN0KCJyZWdyZXNzaW9uUmFuZ2VGb3JGYWlsdXJlIiwgNSwgZnVuY3Rpb24oKSB7CiAg
ICAgdmFyIHNpbXVsYXRvciA9IG5ldyBOZXR3b3JrU2ltdWxhdG9yKCk7CiAKICAgICB2YXIga2V5
TWFwID0gewpAQCAtMTg4LDIyICsxODgsNDcgQEAgdGVzdCgicmVncmVzc2lvblJhbmdlRm9yRmFp
bHVyZSIsIDMsIGZ1bgogICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB9LAogICAgICAg
ICAgICAgInJldmlzaW9uIjogIjkwNDI0IgorICAgICAgICB9LAorICAgICAgICAiYWJjIjp7Cisg
ICAgICAgICAgICAidGVzdHMiOiB7CisgICAgICAgICAgICAgICAgInVzZXJzY3JpcHRzIjogewor
ICAgICAgICAgICAgICAgICAgICAiYW5vdGhlci10ZXN0Lmh0bWwiOiB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAiZXhwZWN0ZWQiOiAiUEFTUyIsCisgICAgICAgICAgICAgICAgICAgICAgICAi
YWN0dWFsIjogIlRFWFQiCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9
LAorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJyZXZpc2lvbiI6ICI5MDQyNiIKKyAgICAg
ICAgfSwKKyAgICAgICAgInh5eiI6eworICAgICAgICAgICAgInRlc3RzIjogeworICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgICJyZXZpc2lvbiI6ICI5MDQyNSIKICAgICAgICAgfQogICAgIH07
CiAKICAgICBzaW11bGF0b3IuanNvbnBIb29rID0gZnVuY3Rpb24odXJsLCBjYWxsYmFjaykgewog
ICAgICAgICBzaW11bGF0b3Iuc2NoZWR1bGVDYWxsYmFjayhmdW5jdGlvbigpIHsKICAgICAgICAg
ICAgIGlmICgvZGlyPTEvLnRlc3QodXJsKSkgewotICAgICAgICAgICAgICAgIGNhbGxiYWNrKFsK
LSAgICAgICAgICAgICAgICAgICAgeyAia2V5IjogImFneDBaWE4wTFhKbGMzVnNkSE55RUFzU0NG
UmxjM1JHYVd4bEdMbmNVQXciIH0sCi0gICAgICAgICAgICAgICAgICAgIHsgImtleSI6ICJhZ3gw
WlhOMExYSmxjM1ZzZEhOeUVBc1NDRlJsYzNSR2FXeGxHTmZUVUF3IiB9LAotICAgICAgICAgICAg
ICAgICAgICB7ICJrZXkiOiAiYWd4MFpYTjBMWEpsYzNWc2RITnlFQXNTQ0ZSbGMzUkdhV3hsR0pX
Q1VRdyIgfSwKLSAgICAgICAgICAgICAgICAgICAgeyAia2V5IjogImFneDBaWE4wTFhKbGMzVnNk
SE55RUFzU0NGUmxjM1JHYVd4bEdLYkxVQXciIH0sCi0gICAgICAgICAgICAgICAgICAgIHsgImtl
eSI6ICJhZ3gwWlhOMExYSmxjM1ZzZEhOeUVBc1NDRlJsYzNSR2FXeGxHT2o1VUF3IiB9LAotICAg
ICAgICAgICAgICAgICAgICB7ICJrZXkiOiAiYWd4MFpYTjBMWEpsYzNWc2RITnlFQXNTQ0ZSbGMz
UkdhV3hsR1AtQVVRdyIgfSwKLSAgICAgICAgICAgICAgICAgICAgeyAia2V5IjogImFneDBaWE4w
TFhKbGMzVnNkSE55RUFzU0NGUmxjM1JHYVd4bEdQTDNVQXciIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsgImtleSI6ICJhZ3gwWlhOMExYSmxjM1ZzZEhOeUVBc1NDRlJsYzNSR2FXeGxHTkhKUUF3
IiB9LAotICAgICAgICAgICAgICAgIF0pOworICAgICAgICAgICAgICAgIGlmICgvYnVpbGRlcj1N
b2NrLy50ZXN0KHVybCkpIHsKKyAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soWworICAgICAg
ICAgICAgICAgICAgICAgICAgeyAia2V5IjogImFneDBaWE4wTFhKbGMzVnNkSE55RUFzU0NGUmxj
M1JHYVd4bEdMbmNVQXciIH0sCisgICAgICAgICAgICAgICAgICAgICAgICB7ICJrZXkiOiAiYWd4
MFpYTjBMWEpsYzNWc2RITnlFQXNTQ0ZSbGMzUkdhV3hsR05mVFVBdyIgfSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHsgImtleSI6ICJhZ3gwWlhOMExYSmxjM1ZzZEhOeUVBc1NDRlJsYzNSR2FX
eGxHSldDVVF3IiB9LAorICAgICAgICAgICAgICAgICAgICAgICAgeyAia2V5IjogImFneDBaWE4w
TFhKbGMzVnNkSE55RUFzU0NGUmxjM1JHYVd4bEdLYkxVQXciIH0sCisgICAgICAgICAgICAgICAg
ICAgICAgICB7ICJrZXkiOiAiYWd4MFpYTjBMWEpsYzNWc2RITnlFQXNTQ0ZSbGMzUkdhV3hsR09q
NVVBdyIgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgImtleSI6ICJhZ3gwWlhOMExYSmxj
M1ZzZEhOeUVBc1NDRlJsYzNSR2FXeGxHUC1BVVF3IiB9LAorICAgICAgICAgICAgICAgICAgICAg
ICAgeyAia2V5IjogImFneDBaWE4wTFhKbGMzVnNkSE55RUFzU0NGUmxjM1JHYVd4bEdQTDNVQXci
IH0sCisgICAgICAgICAgICAgICAgICAgICAgICB7ICJrZXkiOiAiYWd4MFpYTjBMWEpsYzNWc2RI
TnlFQXNTQ0ZSbGMzUkdhV3hsR05ISlFBdyIgfSwKKyAgICAgICAgICAgICAgICAgICAgXSk7Cisg
ICAgICAgICAgICAgICAgfSBlbHNlIGlmICgvYnVpbGRlcj1Bbm90aGVyLy50ZXN0KHVybCkpIHsK
KyAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soWworICAgICAgICAgICAgICAgICAgICAgICAg
eyAia2V5IjogImFiYyIgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgImtleSI6ICJ4eXoi
IH0sCisgICAgICAgICAgICAgICAgICAgIF0pOworICAgICAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgICAgIG9rKGZhbHNlLCAnVW5leHBlY3RlZCBVUkw6ICcgKyB1cmwpOwor
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAg
dmFyIGtleSA9IHVybC5tYXRjaCgva2V5PShbXiZdKykvKVsxXTsKICAgICAgICAgICAgICAgICBj
YWxsYmFjayhrZXlNYXBba2V5XSk7CkBAIC0yMTUsNiArMjQwLDExIEBAIHRlc3QoInJlZ3Jlc3Np
b25SYW5nZUZvckZhaWx1cmUiLCAzLCBmdW4KICAgICAgICAgICAgIGVxdWFscyhvbGRlc3RGYWls
aW5nUmV2aXNpb24sIDkwNDI2KTsKICAgICAgICAgICAgIGVxdWFscyhuZXdlc3RQYXNzaW5nUmV2
aXNpb24sIDkwNDI0KTsKICAgICAgICAgfSk7CisKKyAgICAgICAgcmVzdWx0cy51bmlmeVJlZ3Jl
c3Npb25SYW5nZXMoWyJNb2NrIEJ1aWxkZXIiLCAiQW5vdGhlciBCdWlsZGVyIl0sICJ1c2Vyc2Ny
aXB0cy9hbm90aGVyLXRlc3QuaHRtbCIsIGZ1bmN0aW9uKG9sZGVzdEZhaWxpbmdSZXZpc2lvbiwg
bmV3ZXN0UGFzc2luZ1JldmlzaW9uKSB7CisgICAgICAgICAgICBlcXVhbHMob2xkZXN0RmFpbGlu
Z1JldmlzaW9uLCA5MDQyNik7CisgICAgICAgICAgICBlcXVhbHMobmV3ZXN0UGFzc2luZ1Jldmlz
aW9uLCA5MDQyNSk7CisgICAgICAgIH0pOwogICAgIH0pOwogfSk7CiAKSW5kZXg6IFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL2RhdGEvZ2FyZGVuaW5nc2VydmVyL3VpLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL2RhdGEvZ2Fy
ZGVuaW5nc2VydmVyL3VpLmpzCShyZXZpc2lvbiA5MDg1NikKKysrIFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9zZXJ2ZXJzL2RhdGEvZ2FyZGVuaW5nc2VydmVyL3VpLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xMiw2ICsxMiwxMyBAQCB1aS51cmxGb3JUZXN0ID0gZnVuY3Rpb24odGVzdE5hbWUp
CiAgICAgcmV0dXJuICdodHRwOi8vdHJhYy53ZWJraXQub3JnL2Jyb3dzZXIvdHJ1bmsvTGF5b3V0
VGVzdHMvJyArIHRlc3ROYW1lOwogfQogCit1aS51cmxGb3JSZXZpc2lvblJhbmdlID0gZnVuY3Rp
b24oZmlyc3RSZXZpc2lvbiwgbGFzdFJldmlzaW9uKQoreworICAgIGlmIChmaXJzdFJldmlzaW9u
ICE9IGxhc3RSZXZpc2lvbikKKyAgICAgICAgcmV0dXJuICdodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2xvZy90cnVuay8/cmV2PScgKyBmaXJzdFJldmlzaW9uICsgJyZzdG9wX3Jldj0nICsgbGFzdFJl
dmlzaW9uICsgJyZsaW1pdD0xMDAmdmVyYm9zZT1vbic7CisgICAgcmV0dXJuICdodHRwOi8vdHJh
Yy53ZWJraXQub3JnL2NoYW5nZXNldC8nICsgZmlyc3RSZXZpc2lvbjsKK307CisKIHVpLnN1bW1h
cml6ZVRlc3QgPSBmdW5jdGlvbih0ZXN0TmFtZSwgcmVzdWx0Tm9kZXNCeUJ1aWxkZXIpCiB7CiAg
ICAgdmFyIHVuZXhwZWN0ZWRSZXN1bHRzID0gcmVzdWx0cy5jb2xsZWN0VW5leHBlY3RlZFJlc3Vs
dHMocmVzdWx0Tm9kZXNCeUJ1aWxkZXIpOwpAQCAtMjAsNiArMjcsNyBAQCB1aS5zdW1tYXJpemVU
ZXN0ID0gZnVuY3Rpb24odGVzdE5hbWUsIHJlCiAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJ3aGF0
Ij48YSBkcmFnZ2FibGU+PC9hPjwvc3Bhbj4nICsKICAgICAgICAgICAnPHNwYW4+ZmFpbHMgb248
L3NwYW4+JyArCiAgICAgICAgICAgJzx1bCBjbGFzcz0id2hlcmUiPjwvdWw+JyArCisgICAgICAg
ICAgJzxkaXYgY2xhc3M9IndoZW4iPjwvZGl2PicgKwogICAgICAgICAnPC9kaXY+Jyk7CiAgICAg
JCgnLndoYXQgYScsIGJsb2NrKS50ZXh0KHRlc3ROYW1lKS5hdHRyKCdocmVmJywgdWkudXJsRm9y
VGVzdCh0ZXN0TmFtZSkpLmF0dHIoJ2NsYXNzJywgdW5leHBlY3RlZFJlc3VsdHMuam9pbignICcp
KTsKIApAQCAtMzEsMTMgKzM5LDE4IEBAIHVpLnN1bW1hcml6ZVRlc3QgPSBmdW5jdGlvbih0ZXN0
TmFtZSwgcmUKICAgICByZXR1cm4gYmxvY2s7CiB9OwogCi11aS5zdW1tYXJpemVSZXN1bHRzQnlU
ZXN0ID0gZnVuY3Rpb24ocmVzdWx0c0J5VGVzdCkKK3VpLnN1bW1hcml6ZVJlZ3Jlc3Npb25SYW5n
ZSA9IGZ1bmN0aW9uKG9sZGVzdEZhaWxpbmdSZXZpc2lvbiwgbmV3ZXN0UGFzc2luZ1JldmlzaW9u
KQogewotICAgIHZhciBibG9jayA9ICQoJzxkaXYgY2xhc3M9InJlc3VsdHMtc3VtbWFyeSI+PC9k
aXY+Jyk7Ci0gICAgJC5lYWNoKHJlc3VsdHNCeVRlc3QsIGZ1bmN0aW9uKHRlc3ROYW1lLCByZXN1
bHROb2Rlc0J5QnVpbGRlcikgewotICAgICAgICBibG9jay5hcHBlbmQodWkuc3VtbWFyaXplVGVz
dCh0ZXN0TmFtZSwgcmVzdWx0Tm9kZXNCeUJ1aWxkZXIpKTsKLSAgICB9KTsKLSAgICByZXR1cm4g
YmxvY2s7CisgICAgaWYgKCFvbGRlc3RGYWlsaW5nUmV2aXNpb24gfHwgIW5ld2VzdFBhc3NpbmdS
ZXZpc2lvbikKKyAgICAgICAgcmV0dXJuICQoKTsKKworICAgIHZhciBpbXBsaWVkRmlyc3RGYWls
aW5nUmV2aXNpb24gPSBuZXdlc3RQYXNzaW5nUmV2aXNpb24gKyAxOworCisgICAgdmFyIGhyZWYg
PSB1aS51cmxGb3JSZXZpc2lvblJhbmdlKGltcGxpZWRGaXJzdEZhaWxpbmdSZXZpc2lvbiwgb2xk
ZXN0RmFpbGluZ1JldmlzaW9uKTsKKyAgICB2YXIgdGV4dEZvclJldmlzaW9uUmFuZ2UgPSBpbXBs
aWVkRmlyc3RGYWlsaW5nUmV2aXNpb24gPT0gb2xkZXN0RmFpbGluZ1JldmlzaW9uID8gaW1wbGll
ZEZpcnN0RmFpbGluZ1JldmlzaW9uIDogaW1wbGllZEZpcnN0RmFpbGluZ1JldmlzaW9uICsgJzon
ICsgb2xkZXN0RmFpbGluZ1JldmlzaW9uOworICAgIHZhciB0ZXh0ID0gJ1JlZ3Jlc3Npb24gJyAr
IHRleHRGb3JSZXZpc2lvblJhbmdlOworCisgICAgcmV0dXJuICQoJzxhIGNsYXNzPSJyZWdyZXNz
aW9uLXJhbmdlIj48L2E+JykuYXR0cignaHJlZicsIGhyZWYpLnRleHQodGV4dCk7CiB9OwogCiB1
aS5yZXN1bHRzID0gZnVuY3Rpb24ocmVzdWx0c1VSTHMpCkluZGV4OiBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRlbmluZ3NlcnZlci91aV91bml0dGVzdHMuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9n
YXJkZW5pbmdzZXJ2ZXIvdWlfdW5pdHRlc3RzLmpzCShyZXZpc2lvbiA5MDg1NikKKysrIFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL2RhdGEvZ2FyZGVuaW5nc2VydmVyL3VpX3Vu
aXR0ZXN0cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMTksMTIgKzE5LDIzIEBAIHZhciBrRXhhbXBs
ZVJlc3VsdHNCeVRlc3QgPSB7CiAgICAgfQogfQogCi10ZXN0KCJzdW1tYXJpemVSZXN1bHRzQnlU
ZXN0IiwgMywgZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJlc3VsdHNTdW1tYXJ5ID0gdWkuc3VtbWFy
aXplUmVzdWx0c0J5VGVzdChrRXhhbXBsZVJlc3VsdHNCeVRlc3QpOwotICAgIHZhciByZXN1bHRz
U3VtbWFyeUhUTUwgPSByZXN1bHRzU3VtbWFyeS5odG1sKCk7Ci0gICAgb2socmVzdWx0c1N1bW1h
cnlIVE1MLmluZGV4T2YoJ3Njcm9sbGJhcnMvY3VzdG9tLXNjcm9sbGJhci13aXRoLWluY29tcGxl
dGUtc3R5bGUuaHRtbCcpICE9IC0xKTsKLSAgICBvayhyZXN1bHRzU3VtbWFyeUhUTUwuaW5kZXhP
ZigndXNlcnNjcmlwdHMvYW5vdGhlci10ZXN0Lmh0bWwnKSAhPSAtMSk7Ci0gICAgb2socmVzdWx0
c1N1bW1hcnlIVE1MLmluZGV4T2YoJ01vY2sgQnVpbGRlcicpICE9IC0xKTsKK3Rlc3QoInN1bW1h
cml6ZVRlc3QiLCAzLCBmdW5jdGlvbigpIHsKKyAgICB2YXIgdGVzdE5hbWUgPSAndXNlcnNjcmlw
dHMvYW5vdGhlci10ZXN0Lmh0bWwnOworICAgIHZhciBzdW1tYXJ5ID0gdWkuc3VtbWFyaXplVGVz
dCh0ZXN0TmFtZSwga0V4YW1wbGVSZXN1bHRzQnlUZXN0W3Rlc3ROYW1lXSk7CisgICAgdmFyIHN1
bW1hcnlIVE1MID0gc3VtbWFyeS5odG1sKCk7CisgICAgb2soc3VtbWFyeUhUTUwuaW5kZXhPZign
c2Nyb2xsYmFycy9jdXN0b20tc2Nyb2xsYmFyLXdpdGgtaW5jb21wbGV0ZS1zdHlsZS5odG1sJykg
PT0gLTEpOworICAgIG9rKHN1bW1hcnlIVE1MLmluZGV4T2YoJ3VzZXJzY3JpcHRzL2Fub3RoZXIt
dGVzdC5odG1sJykgIT0gLTEpOworICAgIG9rKHN1bW1hcnlIVE1MLmluZGV4T2YoJ01vY2sgQnVp
bGRlcicpICE9IC0xKTsKK30pOworCit0ZXN0KCJzdW1tYXJpemVSZWdyZXNzaW9uUmFuZ2UiLCAy
LCBmdW5jdGlvbigpIHsKKyAgICB2YXIgc3VtbWFyeVdpdGhNdWx0aXBsZVJldmlzaW9ucyA9IHVp
LnN1bW1hcml6ZVJlZ3Jlc3Npb25SYW5nZSg5MDQyNCwgOTA0MjYpOworICAgIHN1bW1hcnlXaXRo
TXVsdGlwbGVSZXZpc2lvbnMud3JhcCgnPHdyYXBwZXI+PC93cmFwcGVyPicpOworICAgIGVxdWFs
KHN1bW1hcnlXaXRoTXVsdGlwbGVSZXZpc2lvbnMucGFyZW50KCkuaHRtbCgpLCAnPGEgY2xhc3M9
InJlZ3Jlc3Npb24tcmFuZ2UiIGhyZWY9Imh0dHA6Ly90cmFjLndlYmtpdC5vcmcvbG9nL3RydW5r
Lz9yZXY9OTA0MjcmYW1wO3N0b3BfcmV2PTkwNDI0JmFtcDtsaW1pdD0xMDAmYW1wO3ZlcmJvc2U9
b24iPlJlZ3Jlc3Npb24gOTA0Mjc6OTA0MjQ8L2E+Jyk7CisKKyAgICB2YXIgc3VtbWFyeVdpdGhP
bmVSZXZpc2lvbiA9IHVpLnN1bW1hcml6ZVJlZ3Jlc3Npb25SYW5nZSg5MDQyNSwgOTA0MjYpOwor
ICAgIHN1bW1hcnlXaXRoT25lUmV2aXNpb24ud3JhcCgnPHdyYXBwZXI+PC93cmFwcGVyPicpOwor
ICAgIGVxdWFsKHN1bW1hcnlXaXRoT25lUmV2aXNpb24ucGFyZW50KCkuaHRtbCgpLCAnPGEgY2xh
c3M9InJlZ3Jlc3Npb24tcmFuZ2UiIGhyZWY9Imh0dHA6Ly90cmFjLndlYmtpdC5vcmcvbG9nL3Ry
dW5rLz9yZXY9OTA0MjcmYW1wO3N0b3BfcmV2PTkwNDI1JmFtcDtsaW1pdD0xMDAmYW1wO3ZlcmJv
c2U9b24iPlJlZ3Jlc3Npb24gOTA0Mjc6OTA0MjU8L2E+Jyk7CiB9KTsKIAogdGVzdCgicmVzdWx0
cyIsIDEsIGZ1bmN0aW9uKCkgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>