<?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>59977</bug_id>
          
          <creation_ts>2011-05-02 16:29:58 -0700</creation_ts>
          <short_desc>new-run-webkit-tests: fix http server startup/shutdown</short_desc>
          <delta_ts>2011-06-06 15:32:26 -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>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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>59985</blocked>
    
    <blocked>59993</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>aroben</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>396774</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-05-02 16:29:58 -0700</bug_when>
    <thetext>new-run-webkit-tests: fix http server startup/shutdown</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396790</commentid>
    <comment_count>1</comment_count>
      <attachid>92004</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-05-02 16:53:50 -0700</bug_when>
    <thetext>Created attachment 92004
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396791</commentid>
    <comment_count>2</comment_count>
      <attachid>92005</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-05-02 16:55:44 -0700</bug_when>
    <thetext>Created attachment 92005
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396857</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-05-02 18:12:51 -0700</bug_when>
    <thetext>*** Bug 50596 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396879</commentid>
    <comment_count>4</comment_count>
      <attachid>92005</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-05-02 18:40:49 -0700</bug_when>
    <thetext>Comment on attachment 92005
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/http_server_base.py:72
&gt; +            _log.debug(&quot;Server isn&apos;t running at all&quot;)

Maybe something like &quot;Server process could not be started.&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397137</commentid>
    <comment_count>5</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-05-03 09:50:37 -0700</bug_when>
    <thetext>This patch is fine, but it&apos;s on the large side.  Seems like the three fixes you mention in the ChangeLog could have been three separate patches (or maybe two patches since fix 1 &amp; 2 are relatively small).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397386</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-05-03 14:18:51 -0700</bug_when>
    <thetext>Committed r85659: &lt;http://trac.webkit.org/changeset/85659&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397409</commentid>
    <comment_count>7</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-05-03 14:51:42 -0700</bug_when>
    <thetext>Reverted r85659 for reason:

restarting isn&apos;t working correctly

Committed r85665: &lt;http://trac.webkit.org/changeset/85665&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416070</commentid>
    <comment_count>8</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-06-06 15:32:26 -0700</bug_when>
    <thetext>I&apos;m going to split this up into smaller changes and re-land them individually to simplify things. Closing.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92004</attachid>
            <date>2011-05-02 16:53:50 -0700</date>
            <delta_ts>2011-05-02 16:55:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59977-20110502165349.patch</filename>
            <type>text/plain</type>
            <size>17752</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODU1NDEKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3ZThmYjE4ODc4ZmMwZjUwMGU0ZTczMDIxOTA5Y2M4OGJk
OGRkZmE3Li5hNmJjYjk1NzM1NTQyMTllYTM5NWVhOTQyMzEwMjE5ZTUzYzY4YTJlIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEg
QEAKKzIwMTEtMDUtMDIgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgbmV3LXJ1bi13ZWJr
aXQtdGVzdHM6IGZpeCBodHRwIHNlcnZlciBzdGFydHVwL3NodXRkb3duCisKKyAgICAgICAgUHJl
dmlvdXMgdmVyc2lvbnMgb2YgdGhlIGNvZGUgaGFkIHRocmVlIHByb2JsZW1zIHRoYXQgbWFkZSBz
dGFydHVwCisgICAgICAgIGFuZCBzaHV0ZG93biBmbGFreS4gVGhlIGZpcnN0IGlzIHRoYXQgaXQg
d291bGQgdGhyb3cgZXhjZXB0aW9ucworICAgICAgICBpZiBpdCBjb3VsZG4ndCBkZWxldGUgc3Rh
bGUgbG9nIGZpbGVzLCB3aGljaCB3YXMgb3Zlcmx5CisgICAgICAgIHBhcmFub2lkLiBUaGUgc2Vj
b25kIGlzIHRoYXQgc29tZSBvZiB0aGUgZXhjZXB0aW9ucyB3ZXJlbid0CisgICAgICAgIGRlZmlu
ZWQgcHJvcGVybHkuIFRoZSB0aGlyZCwgYW5kIG1vc3QgaW1wb3J0YW50LCBpcyB0aGF0IGl0IHdh
cworICAgICAgICB1c2luZyB1cmxsaWIgdG8gY2hlY2sgaWYgcG9ydHMgd2VyZSBhdmFpbGFibGUs
IHdoaWNoIHdhcyBsZWF2aW5nCisgICAgICAgIHNvY2tldHMgaW4gYSBoYWxmLWNsb3NlZCBzdGF0
ZSwgYW5kIGtlZXBpbmcgcG9ydHMgZnJvbSBiZWluZworICAgICAgICByZXVzZWQuIEJ5IHN3aXRj
aGluZyB0byByYXcgc29ja2V0cywgd2UgYXJlIGFibGUgdG8gbm93IHJlbGlhYmx5CisgICAgICAg
IHJlc3RhcnQuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgYWxzbyBzd2l0Y2hlcyB0aGUgY29kZSB0
byB1c2luZyBFeGVjdXRpdmVzIHRvIHN0b3AKKyAgICAgICAgcHJvY2Vzc2VzLCB3aGljaCB3aWxs
IGxldCB1cyBkZWxldGUgYSBidW5jaCBvZiBjb2RlIGluIHRoZQorICAgICAgICBwb3J0LyogaW1w
bGVtZW50YXRpb25zIGFuZCBmaXggYSB3ZWlyZCBsYXllcmluZyBwcm9ibGVtIGluIGEKKyAgICAg
ICAgc3Vic2VxdWVudCBwYXRjaC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTk5NzcKKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvYXBhY2hlX2h0dHBfc2VydmVyLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvaHR0cF9zZXJ2ZXIucHk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9odHRwX3NlcnZlcl9iYXNlLnB5OgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Vic29ja2V0X3NlcnZlci5w
eToKKwogMjAxMS0wNS0wMiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAg
ICAgIENoYW5nZSB0aGUgdGVzdGluZyBFV1MgdG8gbG9nIGZhaWx1cmVzIGV4cGxpY2l0bHkgdG8g
YXZvaWQgYW4gaW5maW5pdGUgbG9vcC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYXBhY2hlX2h0dHBfc2VydmVyLnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9hcGFjaGVfaHR0cF9zZXJ2ZXIucHkKaW5kZXgg
MDVhMjMzODI0NTBkZWNkODBjNDAzNDU5NjQ3YjU4ZjEyMTU0NzBiMS4uYzFmYzhkYmU2YzY2N2Rl
YWMyY2Q5OWU1ZTkxNTFlYjZlNGQ4ZGFkZCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9hcGFjaGVfaHR0cF9zZXJ2ZXIucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9hcGFjaGVfaHR0cF9zZXJ2ZXIucHkK
QEAgLTE5NywxMCArMTk3LDggQEAgY2xhc3MgTGF5b3V0VGVzdEFwYWNoZUh0dHBkKGh0dHBfc2Vy
dmVyX2Jhc2UuSHR0cFNlcnZlckJhc2UpOgogICAgICAgICAjIHNoZWxsPVRydWUgaXMgYSB0cmFp
bCBvZiB0ZWFycy4KICAgICAgICAgIyBOb3RlOiBOb3QgdGhyZWFkIHNhZmU6IGh0dHA6Ly9idWdz
LnB5dGhvbi5vcmcvaXNzdWUyMzIwCiAgICAgICAgIF9sb2cuZGVidWcoJ1N0YXJ0aW5nIGh0dHAg
c2VydmVyLCBjbWQ9IiVzIicgJSBzdHIoc2VsZi5fc3RhcnRfY21kKSkKLSAgICAgICAgc2VsZi5f
aHR0cGRfcHJvYyA9IHN1YnByb2Nlc3MuUG9wZW4oc2VsZi5fc3RhcnRfY21kLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5QSVBF
LAotICAgICAgICAgICAgc2hlbGw9VHJ1ZSkKLSAgICAgICAgZXJyID0gc2VsZi5faHR0cGRfcHJv
Yy5zdGRlcnIucmVhZCgpCisgICAgICAgIHNlbGYuX3Byb2Nlc3MgPSBzdWJwcm9jZXNzLlBvcGVu
KHNlbGYuX3N0YXJ0X2NtZCwgc3RkZXJyPXN1YnByb2Nlc3MuUElQRSwgc2hlbGw9VHJ1ZSkKKyAg
ICAgICAgZXJyID0gc2VsZi5fcHJvY2Vzcy5zdGRlcnIucmVhZCgpCiAgICAgICAgIGlmIGxlbihl
cnIpOgogICAgICAgICAgICAgX2xvZy5kZWJ1ZyhlcnIpCiAgICAgICAgICAgICByZXR1cm4gRmFs
c2UKQEAgLTIwOCw4ICsyMDYsMTAgQEAgY2xhc3MgTGF5b3V0VGVzdEFwYWNoZUh0dHBkKGh0dHBf
c2VydmVyX2Jhc2UuSHR0cFNlcnZlckJhc2UpOgogCiAgICAgZGVmIHN0YXJ0KHNlbGYpOgogICAg
ICAgICAiIiJTdGFydHMgdGhlIGFwYWNoZSBodHRwIHNlcnZlci4iIiIKLSAgICAgICAgIyBTdG9w
IGFueSBjdXJyZW50bHkgcnVubmluZyBzZXJ2ZXJzLgotICAgICAgICBzZWxmLnN0b3AoKQorICAg
ICAgICBpZiBzZWxmLl9wcm9jZXNzOgorICAgICAgICAgICAgcmFpc2UgaHR0cF9zZXJ2ZXJfYmFz
ZS5BbHJlYWR5UnVubmluZygnaHR0cGQgYWxyZWFkeSBydW5uaW5nJykKKworICAgICAgICBzZWxm
LmNoZWNrX3RoYXRfYWxsX3BvcnRzX2FyZV9hdmFpbGFibGUoKQogCiAgICAgICAgIF9sb2cuZGVi
dWcoIlN0YXJ0aW5nIGFwYWNoZSBodHRwIHNlcnZlciIpCiAgICAgICAgIHNlcnZlcl9zdGFydGVk
ID0gc2VsZi53YWl0X2Zvcl9hY3Rpb24oc2VsZi5fc3RhcnRfaHR0cGRfcHJvY2VzcykKQEAgLTIy
MSwxMyArMjIxLDI0IEBAIGNsYXNzIExheW91dFRlc3RBcGFjaGVIdHRwZChodHRwX3NlcnZlcl9i
YXNlLkh0dHBTZXJ2ZXJCYXNlKToKICAgICAgICAgaWYgc2VydmVyX3N0YXJ0ZWQ6CiAgICAgICAg
ICAgICBfbG9nLmRlYnVnKCJTZXJ2ZXIgc3VjY2Vzc2Z1bGx5IHN0YXJ0ZWQiKQogICAgICAgICBl
bHNlOgotICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdGYWlsZWQgdG8gc3RhcnQgaHR0cCBz
ZXJ2ZXInKQorICAgICAgICAgICAgcmFpc2UgaHR0cF9zZXJ2ZXJfYmFzZS5Ob3RTdGFydGVkKCdG
YWlsZWQgdG8gc3RhcnQgaHR0cCBzZXJ2ZXInKQogCiAgICAgZGVmIHN0b3Aoc2VsZik6CiAgICAg
ICAgICIiIlN0b3BzIHRoZSBhcGFjaGUgaHR0cCBzZXJ2ZXIuIiIiCiAgICAgICAgIF9sb2cuZGVi
dWcoIlNodXR0aW5nIGRvd24gYW55IHJ1bm5pbmcgaHR0cCBzZXJ2ZXJzIikKICAgICAgICAgaHR0
cGRfcGlkID0gTm9uZQotICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhzZWxmLl9waWRfZmlsZSk6
CisgICAgICAgIGlmIHNlbGYuX3Byb2Nlc3M6CisgICAgICAgICAgICBodHRwZF9waWQgPSBzZWxm
Ll9wcm9jZXNzLnBpZAorICAgICAgICBlbGlmIG9zLnBhdGguZXhpc3RzKHNlbGYuX3BpZF9maWxl
KToKICAgICAgICAgICAgIGh0dHBkX3BpZCA9IGludChvcGVuKHNlbGYuX3BpZF9maWxlKS5yZWFk
bGluZSgpKQotICAgICAgICAjIEZJWE1FOiBXZSBzaG91bGRuJ3QgYmUgY2FsbGluZyBhIHByb3Rl
Y3RlZCBtZXRob2Qgb2YgX3BvcnRfb2JqIQotICAgICAgICBzZWxmLl9wb3J0X29iai5fc2h1dF9k
b3duX2h0dHBfc2VydmVyKGh0dHBkX3BpZCkKKworICAgICAgICBpZiBub3QgaHR0cGRfcGlkOgor
ICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgc2VsZi5fcG9ydF9vYmouX2V4ZWN1dGl2ZS5r
aWxsX3Byb2Nlc3MoaHR0cGRfcGlkKQorCisgICAgICAgIGlmIHNlbGYuX3Byb2Nlc3M6CisgICAg
ICAgICAgICBzZWxmLl9wcm9jZXNzLndhaXQoKQorICAgICAgICAgICAgc2VsZi5fcHJvY2VzcyA9
IE5vbmUKKyAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc2VsZi5fcGlkX2ZpbGUpOgorICAgICAg
ICAgICAgb3MucmVtb3ZlKHNlbGYuX3BpZF9maWxlKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9odHRwX3NlcnZlci5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvaHR0cF9zZXJ2ZXIucHkKaW5kZXggZTUyNWVl
MGU0OTEyZmUwOTUzOGY3Y2RmZGYzYTFiNjM0ODEyNDMyZC4uZGMyZDhiN2RkMjE1M2MzNjJkMjUw
MjQwNzgxYTk1YzM2NzYwNTRkZSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9odHRwX3NlcnZlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L2h0dHBfc2VydmVyLnB5CkBAIC01OCw3ICs1OCw2IEBAIGNs
YXNzIExpZ2h0dHBkKGh0dHBfc2VydmVyX2Jhc2UuSHR0cFNlcnZlckJhc2UpOgogICAgICAgICAj
IFdlYmtpdCB0ZXN0cwogICAgICAgICBodHRwX3NlcnZlcl9iYXNlLkh0dHBTZXJ2ZXJCYXNlLl9f
aW5pdF9fKHNlbGYsIHBvcnRfb2JqKQogICAgICAgICBzZWxmLl9vdXRwdXRfZGlyID0gb3V0cHV0
X2RpcgotICAgICAgICBzZWxmLl9wcm9jZXNzID0gTm9uZQogICAgICAgICBzZWxmLl9wb3J0ID0g
cG9ydAogICAgICAgICBzZWxmLl9yb290ID0gcm9vdAogICAgICAgICBzZWxmLl9ydW5fYmFja2dy
b3VuZCA9IHJ1bl9iYWNrZ3JvdW5kCkBAIC05OSwxMiArOTgsOSBAQCBjbGFzcyBMaWdodHRwZCho
dHRwX3NlcnZlcl9iYXNlLkh0dHBTZXJ2ZXJCYXNlKToKICAgICAgICAgICAgICAgICB7J3BvcnQn
OiA4NDQzLCAnZG9jcm9vdCc6IHNlbGYuX3dlYmtpdF90ZXN0cywKICAgICAgICAgICAgICAgICAg
J3NzbGNlcnQnOiBzZWxmLl9wZW1fZmlsZX1dKQogCi0gICAgZGVmIGlzX3J1bm5pbmcoc2VsZik6
Ci0gICAgICAgIHJldHVybiBzZWxmLl9wcm9jZXNzICE9IE5vbmUKLQogICAgIGRlZiBzdGFydChz
ZWxmKToKICAgICAgICAgaWYgc2VsZi5pc19ydW5uaW5nKCk6Ci0gICAgICAgICAgICByYWlzZSAn
TGlnaHR0cGQgYWxyZWFkeSBydW5uaW5nJworICAgICAgICAgICAgcmFpc2UgaHR0cF9zZXJ2ZXJf
YmFzZS5TZXJ2ZXJFcnJvcignTGlnaHR0cGQgYWxyZWFkeSBydW5uaW5nJykKIAogICAgICAgICBi
YXNlX2NvbmZfZmlsZSA9IHNlbGYuX3BvcnRfb2JqLnBhdGhfZnJvbV93ZWJraXRfYmFzZSgnVG9v
bHMnLAogICAgICAgICAgICAgJ1NjcmlwdHMnLCAnd2Via2l0cHknLCAnbGF5b3V0X3Rlc3RzJywg
J3BvcnQnLCAnbGlnaHR0cGQuY29uZicpCkBAIC0xMTYsOCArMTEyLDE0IEBAIGNsYXNzIExpZ2h0
dHBkKGh0dHBfc2VydmVyX2Jhc2UuSHR0cFNlcnZlckJhc2UpOgogICAgICAgICBlcnJvcl9sb2cg
PSBvcy5wYXRoLmpvaW4oc2VsZi5fb3V0cHV0X2RpciwgbG9nX2ZpbGVfbmFtZSkKIAogICAgICAg
ICAjIFJlbW92ZSBvbGQgbG9nIGZpbGVzLiBXZSBvbmx5IG5lZWQgdG8ga2VlcCB0aGUgbGFzdCBv
bmVzLgotICAgICAgICBzZWxmLnJlbW92ZV9sb2dfZmlsZXMoc2VsZi5fb3V0cHV0X2RpciwgImFj
Y2Vzcy5sb2ctIikKLSAgICAgICAgc2VsZi5yZW1vdmVfbG9nX2ZpbGVzKHNlbGYuX291dHB1dF9k
aXIsICJlcnJvci5sb2ctIikKKyAgICAgICAgIyBEb24ndCB3b3JyeSB0b28gbXVjaCBpZiB3ZSBj
YW4ndCByZW1vdmUgdGhlIG9sZCBvbmVzLiBTb21ldGltZXMKKyAgICAgICAgIyB0aGV5IGFyZSBs
b2NrZWQgYnkgb3RoZXIgcHJvY2Vzc2VzIGJ1dCB0aGlzIGNsZWFycyBldmVudHVhbGx5LgorICAg
ICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLnJlbW92ZV9sb2dfZmlsZXMoc2VsZi5fb3V0cHV0
X2RpciwgImFjY2Vzcy5sb2ctIikKKyAgICAgICAgICAgIHNlbGYucmVtb3ZlX2xvZ19maWxlcyhz
ZWxmLl9vdXRwdXRfZGlyLCAiZXJyb3IubG9nLSIpCisgICAgICAgIGV4Y2VwdCBPU0Vycm9yLCBl
OgorICAgICAgICAgICAgX2xvZy53YXJuaW5nKCdGYWlsZWQgdG8gcmVtb3ZlIG9sZCBodHRwIHNl
cnZlciBsb2cgZmlsZXMnKQorICAgICAgICAgICAgcGFzcwogCiAgICAgICAgICMgV3JpdGUgb3V0
IHRoZSBjb25maWcKICAgICAgICAgd2l0aCBjb2RlY3Mub3BlbihiYXNlX2NvbmZfZmlsZSwgInIi
LCAidXRmLTgiKSBhcyBmaWxlOgpAQCAtMjA4LDM1ICsyMTAsMjggQEAgY2xhc3MgTGlnaHR0cGQo
aHR0cF9zZXJ2ZXJfYmFzZS5IdHRwU2VydmVyQmFzZSk6CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgb3MucGF0aC5qb2luKHRtcF9tb2R1bGVfcGF0aCwgbGliX2ZpbGUpKQogCiAgICAgICAg
IGVudiA9IHNlbGYuX3BvcnRfb2JqLnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcigpCi0gICAgICAg
IF9sb2cuZGVidWcoJ1N0YXJ0aW5nIGh0dHAgc2VydmVyLCBjbWQ9IiVzIicgJSBzdHIoc3RhcnRf
Y21kKSkKLSAgICAgICAgIyBGSVhNRTogU2hvdWxkIHVzZSBFeGVjdXRpdmUucnVuX2NvbW1hbmQK
LSAgICAgICAgc2VsZi5fcHJvY2VzcyA9IHN1YnByb2Nlc3MuUG9wZW4oc3RhcnRfY21kLCBlbnY9
ZW52LCBzdGRpbj1zdWJwcm9jZXNzLlBJUEUpCiAKLSAgICAgICAgIyBXYWl0IGZvciBzZXJ2ZXIg
dG8gc3RhcnQuCiAgICAgICAgIHNlbGYubWFwcGluZ3MgPSBtYXBwaW5ncwotICAgICAgICBzZXJ2
ZXJfc3RhcnRlZCA9IHNlbGYud2FpdF9mb3JfYWN0aW9uKAotICAgICAgICAgICAgc2VsZi5pc19z
ZXJ2ZXJfcnVubmluZ19vbl9hbGxfcG9ydHMpCisgICAgICAgIHNlbGYuY2hlY2tfdGhhdF9hbGxf
cG9ydHNfYXJlX2F2YWlsYWJsZSgpCiAKLSAgICAgICAgIyBPdXIgcHJvY2VzcyB0ZXJtaW5hdGVk
IGFscmVhZHkKKyAgICAgICAgX2xvZy5kZWJ1ZygnU3RhcnRpbmcgaHR0cCBzZXJ2ZXIsIGNtZD0i
JXMiJyAlIHN0cihzdGFydF9jbWQpKQorICAgICAgICAjIEZJWE1FOiBTaG91bGQgdXNlIEV4ZWN1
dGl2ZS5ydW5fY29tbWFuZAorICAgICAgICBzZWxmLl9wcm9jZXNzID0gc3VicHJvY2Vzcy5Qb3Bl
bihzdGFydF9jbWQsIGVudj1lbnYsIHN0ZGluPXN1YnByb2Nlc3MuUElQRSkKKyAgICAgICAgc2Vy
dmVyX3N0YXJ0ZWQgPSBzZWxmLndhaXRfZm9yX2FjdGlvbihzZWxmLmlzX3NlcnZlcl9ydW5uaW5n
X29uX2FsbF9wb3J0cykKICAgICAgICAgaWYgbm90IHNlcnZlcl9zdGFydGVkIG9yIHNlbGYuX3By
b2Nlc3MucmV0dXJuY29kZSAhPSBOb25lOgotICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdG
YWlsZWQgdG8gc3RhcnQgaHR0cGQuJykKKyAgICAgICAgICAgIHJhaXNlIGh0dHBfc2VydmVyX2Jh
c2UuU2VydmVyRXJyb3IoJ0ZhaWxlZCB0byBzdGFydCBodHRwZC4nKQogCiAgICAgICAgIF9sb2cu
ZGVidWcoIlNlcnZlciBzdWNjZXNzZnVsbHkgc3RhcnRlZCIpCiAKLSAgICAjIFRPRE8oZGVhbm0p
OiBGaW5kIGEgbmljZXIgd2F5IHRvIHNodXRkb3duIGNsZWFubHkuICBPdXIgbG9nIGZpbGVzIGFy
ZQotICAgICMgcHJvYmFibHkgbm90IGJlaW5nIGZsdXNoZWQsIGV0Yy4uLiB3aHkgZG9lc24ndCBv
dXIgcHl0aG9uIGhhdmUgb3Mua2lsbCA/Ci0KLSAgICBkZWYgc3RvcChzZWxmLCBmb3JjZT1GYWxz
ZSk6Ci0gICAgICAgIGlmIG5vdCBmb3JjZSBhbmQgbm90IHNlbGYuaXNfcnVubmluZygpOgorICAg
ICMgRklYTUU6IEl0IHdvdWxkIGJlIG5pY2UgaWYgd2UgY291bGQgc2h1dCB0aGUgc2VydmVyIGRv
d24gY2xlYW5seS4KKyAgICBkZWYgc3RvcChzZWxmKToKKyAgICAgICAgaWYgbm90IHNlbGYuaXNf
cnVubmluZygpOgogICAgICAgICAgICAgcmV0dXJuCiAKLSAgICAgICAgaHR0cGRfcGlkID0gTm9u
ZQotICAgICAgICBpZiBzZWxmLl9wcm9jZXNzOgotICAgICAgICAgICAgaHR0cGRfcGlkID0gc2Vs
Zi5fcHJvY2Vzcy5waWQKLSAgICAgICAgc2VsZi5fcG9ydF9vYmouX3NodXRfZG93bl9odHRwX3Nl
cnZlcihodHRwZF9waWQpCisgICAgICAgIGh0dHBkX3BpZCA9IHNlbGYuX3Byb2Nlc3MucGlkCisg
ICAgICAgIHNlbGYuX2V4ZWN1dGl2ZS5raWxsX3Byb2Nlc3MoaHR0cGRfcGlkKQogCi0gICAgICAg
IGlmIHNlbGYuX3Byb2Nlc3M6Ci0gICAgICAgICAgICAjIHdhaXQoKSBpcyBub3QgdGhyZWFkc2Fm
ZSBhbmQgY2FuIHRocm93IE9TRXJyb3IgZHVlIHRvOgotICAgICAgICAgICAgIyBodHRwOi8vYnVn
cy5weXRob24ub3JnL2lzc3VlMTczMTcxNwotICAgICAgICAgICAgc2VsZi5fcHJvY2Vzcy53YWl0
KCkKLSAgICAgICAgICAgIHNlbGYuX3Byb2Nlc3MgPSBOb25lCisgICAgICAgICMgd2FpdCgpIGlz
IG5vdCB0aHJlYWRzYWZlIGFuZCBjYW4gdGhyb3cgT1NFcnJvciBkdWUgdG86CisgICAgICAgICMg
aHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTE3MzE3MTcKKyAgICAgICAgc2VsZi5fcHJvY2Vz
cy53YWl0KCkKKyAgICAgICAgc2VsZi5fcHJvY2VzcyA9IE5vbmUKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvaHR0cF9zZXJ2ZXJfYmFzZS5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvaHR0cF9zZXJ2ZXJfYmFz
ZS5weQppbmRleCAyYTQzZTgxOTc4YjkyYzZjYTY4MWE4YTRjMjhmOTliODNiODc2ZWJiLi4yNzcy
ZWVjYThiNmVjMzdkY2NjNjQ1ZWQ5YzRiNDljNGZjMmQyNjNjIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2h0dHBfc2VydmVyX2Jhc2UucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9odHRwX3NlcnZlcl9i
YXNlLnB5CkBAIC0yOSwyMCArMjksMjcgQEAKIAogIiIiQmFzZSBjbGFzcyB3aXRoIGNvbW1vbiBy
b3V0aW5lcyBiZXR3ZWVuIHRoZSBBcGFjaGUgYW5kIExpZ2h0dHBkIHNlcnZlcnMuIiIiCiAKK2lt
cG9ydCBlcnJubwogaW1wb3J0IGxvZ2dpbmcKLWltcG9ydCBvcworaW1wb3J0IHNvY2tldAogaW1w
b3J0IHRpbWUKLWltcG9ydCB1cmxsaWIKIAogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtIGlt
cG9ydCBmaWxlc3lzdGVtCiAKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcigid2Via2l0cHkubGF5
b3V0X3Rlc3RzLnBvcnQuaHR0cF9zZXJ2ZXJfYmFzZSIpCiAKIAorY2xhc3MgU2VydmVyRXJyb3Io
RXhjZXB0aW9uKToKKyAgICBwYXNzCisKKwogY2xhc3MgSHR0cFNlcnZlckJhc2Uob2JqZWN0KToK
IAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0X29iaik6CiAgICAgICAgIHNlbGYuX3BvcnRf
b2JqID0gcG9ydF9vYmoKKyAgICAgICAgc2VsZi5fZXhlY3V0aXZlID0gcG9ydF9vYmouX2V4ZWN1
dGl2ZQorICAgICAgICBzZWxmLl9maWxlc3lzdGVtID0gcG9ydF9vYmouX2ZpbGVzeXN0ZW0KKyAg
ICAgICAgc2VsZi5fcHJvY2VzcyA9IE5vbmUKIAogICAgIGRlZiB3YWl0X2Zvcl9hY3Rpb24oc2Vs
ZiwgYWN0aW9uKToKICAgICAgICAgIiIiUmVwZWF0IHRoZSBhY3Rpb24gZm9yIDIwIHNlY29uZHMg
b3IgdW50aWwgaXQgc3VjY2VlZHMuIFJldHVybnMKQEAgLTU2LDI4ICs2Myw0NyBAQCBjbGFzcyBI
dHRwU2VydmVyQmFzZShvYmplY3QpOgogCiAgICAgICAgIHJldHVybiBGYWxzZQogCisgICAgZGVm
IGlzX3J1bm5pbmcoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLl9wcm9jZXNzIGFuZCBzZWxm
Ll9wcm9jZXNzLnJldHVybmNvZGUgaXMgTm9uZQorCiAgICAgZGVmIGlzX3NlcnZlcl9ydW5uaW5n
X29uX2FsbF9wb3J0cyhzZWxmKToKICAgICAgICAgIiIiUmV0dXJucyB3aGV0aGVyIHRoZSBzZXJ2
ZXIgaXMgcnVubmluZyBvbiBhbGwgdGhlIGRlc2lyZWQgcG9ydHMuIiIiCi0gICAgICAgIGZvciBt
YXBwaW5nIGluIHNlbGYubWFwcGluZ3M6Ci0gICAgICAgICAgICBpZiAnc3NsY2VydCcgaW4gbWFw
cGluZzoKLSAgICAgICAgICAgICAgICBodHRwX3N1ZmZpeCA9ICdzJwotICAgICAgICAgICAgZWxz
ZToKLSAgICAgICAgICAgICAgICBodHRwX3N1ZmZpeCA9ICcnCi0KLSAgICAgICAgICAgIHVybCA9
ICdodHRwJXM6Ly8xMjcuMC4wLjE6JWQvJyAlIChodHRwX3N1ZmZpeCwgbWFwcGluZ1sncG9ydCdd
KQorICAgICAgICBpZiBub3Qgc2VsZi5fZXhlY3V0aXZlLmNoZWNrX3J1bm5pbmdfcGlkKHNlbGYu
X3Byb2Nlc3MucGlkKToKKyAgICAgICAgICAgIF9sb2cuZGVidWcoIlNlcnZlciBpc24ndCBydW5u
aW5nIGF0IGFsbCIpCisgICAgICAgICAgICByYWlzZSBTZXJ2ZXJFcnJvcigiU2VydmVyIGV4aXRl
ZCIpCiAKKyAgICAgICAgZm9yIG1hcHBpbmcgaW4gc2VsZi5tYXBwaW5nczoKKyAgICAgICAgICAg
IHMgPSBzb2NrZXQuc29ja2V0KCkKKyAgICAgICAgICAgIHBvcnQgPSBtYXBwaW5nWydwb3J0J10K
ICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICByZXNwb25zZSA9IHVybGxpYi51cmxv
cGVuKHVybCwgcHJveGllcz17fSkKLSAgICAgICAgICAgICAgICBfbG9nLmRlYnVnKCJTZXJ2ZXIg
cnVubmluZyBhdCAlcyIgJSB1cmwpCisgICAgICAgICAgICAgICAgcy5jb25uZWN0KCgnbG9jYWxo
b3N0JywgcG9ydCkpCisgICAgICAgICAgICAgICAgX2xvZy5kZWJ1ZygiU2VydmVyIHJ1bm5pbmcg
b24gJWQiICUgcG9ydCkKICAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yLCBlOgotICAgICAgICAg
ICAgICAgIF9sb2cuZGVidWcoIlNlcnZlciBOT1QgcnVubmluZyBhdCAlczogJXMiICUgKHVybCwg
ZSkpCisgICAgICAgICAgICAgICAgaWYgZS5lcnJubyBub3QgaW4gKGVycm5vLkVDT05OUkVGVVNF
RCwgZXJybm8uRUNPTk5SRVNFVCk6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAg
ICAgICAgICAgX2xvZy5kZWJ1ZygiU2VydmVyIE5PVCBydW5uaW5nIG9uICVkOiAlcyIgJSAocG9y
dCwgZSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0KKyAgICAgICAgICAgIGZpbmFs
bHk6CisgICAgICAgICAgICAgICAgcy5jbG9zZSgpCiAgICAgICAgIHJldHVybiBUcnVlCiAKKyAg
ICBkZWYgY2hlY2tfdGhhdF9hbGxfcG9ydHNfYXJlX2F2YWlsYWJsZShzZWxmKToKKyAgICAgICAg
Zm9yIG1hcHBpbmcgaW4gc2VsZi5tYXBwaW5nczoKKyAgICAgICAgICAgIHMgPSBzb2NrZXQuc29j
a2V0KCkKKyAgICAgICAgICAgIHBvcnQgPSBtYXBwaW5nWydwb3J0J10KKyAgICAgICAgICAgIHRy
eToKKyAgICAgICAgICAgICAgICBzLmJpbmQoKCdsb2NhbGhvc3QnLCBwb3J0KSkKKyAgICAgICAg
ICAgIGV4Y2VwdCBJT0Vycm9yLCBlOgorICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gaW4gKGVy
cm5vLkVBTFJFQURZLCBlcnJuby5FQUREUklOVVNFKToKKyAgICAgICAgICAgICAgICAgICAgcmFp
c2UgU2VydmVyRXJyb3IoJ1BvcnQgJWQgaXMgYWxyZWFkeSBpbiB1c2UuJyAlIHBvcnQpCisgICAg
ICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgU2VydmVyRXJyb3Io
J1VuZXhwZWN0ZWQgZXJyb3I6ICVzLicgJSBzdHIoZSkpCisgICAgICAgICAgICBmaW5hbGx5Ogor
ICAgICAgICAgICAgICAgIHMuY2xvc2UoKQorCiAgICAgZGVmIHJlbW92ZV9sb2dfZmlsZXMoc2Vs
ZiwgZm9sZGVyLCBzdGFydHNfd2l0aCk6Ci0gICAgICAgIGZpbGVzID0gb3MubGlzdGRpcihmb2xk
ZXIpCisgICAgICAgIGZpbGVzID0gc2VsZi5fZmlsZXN5c3RlbS5saXN0ZGlyKGZvbGRlcikKICAg
ICAgICAgZm9yIGZpbGUgaW4gZmlsZXM6CiAgICAgICAgICAgICBpZiBmaWxlLnN0YXJ0c3dpdGgo
c3RhcnRzX3dpdGgpOgotICAgICAgICAgICAgICAgIGZ1bGxfcGF0aCA9IG9zLnBhdGguam9pbihm
b2xkZXIsIGZpbGUpCi0gICAgICAgICAgICAgICAgZmlsZXN5c3RlbS5GaWxlU3lzdGVtKCkucmVt
b3ZlKGZ1bGxfcGF0aCkKKyAgICAgICAgICAgICAgICBmdWxsX3BhdGggPSBzZWxmLl9maWxlc3lz
dGVtLmpvaW4oZm9sZGVyLCBmaWxlKQorICAgICAgICAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0u
cmVtb3ZlKGZ1bGxfcGF0aCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvd2Vic29ja2V0X3NlcnZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Vic29ja2V0X3NlcnZlci5weQppbmRleCBhNTljYjFmYWRi
OGM4Nzc2NzVkMDIxMTQzMTMxYjY4MzYxOWUwZTJlLi5hYWM0ZTJhZDc0YWE1YjdjOGIwZjAwMTA2
ZTdkN2VlYmFjNjY2YmZhIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L3dlYnNvY2tldF9zZXJ2ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJzb2NrZXRfc2VydmVyLnB5CkBAIC00MCwxMCArNDAs
OSBAQCBpbXBvcnQgc3VicHJvY2VzcwogaW1wb3J0IHN5cwogaW1wb3J0IHRlbXBmaWxlCiBpbXBv
cnQgdGltZQotaW1wb3J0IHVybGxpYgogCi1pbXBvcnQgZmFjdG9yeQogaW1wb3J0IGh0dHBfc2Vy
dmVyCitpbXBvcnQgaHR0cF9zZXJ2ZXJfYmFzZQogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0
ZW0uZXhlY3V0aXZlIGltcG9ydCBFeGVjdXRpdmUKIApAQCAtNTcsNDEgKzU2LDYgQEAgX0RFRkFV
TFRfV1NfUE9SVCA9IDg4ODAKIF9ERUZBVUxUX1dTU19QT1JUID0gOTMyMwogCiAKLWRlZiB1cmxf
aXNfYWxpdmUodXJsKToKLSAgICAiIiJDaGVja3MgdG8gc2VlIGlmIHdlIGdldCBhbiBodHRwIHJl
c3BvbnNlIGZyb20gfHVybHwuCi0gICAgV2UgcG9sbCB0aGUgdXJsIDIwIHRpbWVzIHdpdGggYSAw
LjUgc2Vjb25kIGRlbGF5LiAgSWYgd2UgZG9uJ3QKLSAgICBnZXQgYSByZXBseSBpbiB0aGF0IHRp
bWUsIHdlIGdpdmUgdXAgYW5kIGFzc3VtZSB0aGUgaHR0cGQKLSAgICBkaWRuJ3Qgc3RhcnQgcHJv
cGVybHkuCi0KLSAgICBBcmdzOgotICAgICAgdXJsOiBUaGUgVVJMIHRvIGNoZWNrLgotICAgIFJl
dHVybjoKLSAgICAgIFRydWUgaWYgdGhlIHVybCBpcyBhbGl2ZS4KLSAgICAiIiIKLSAgICBzbGVl
cF90aW1lID0gMC41Ci0gICAgd2FpdF90aW1lID0gMTAKLSAgICB3aGlsZSB3YWl0X3RpbWUgPiAw
OgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXNwb25zZSA9IHVybGxpYi51cmxvcGVuKHVy
bCwgcHJveGllcz17fSkKLSAgICAgICAgICAgICMgU2VydmVyIGlzIHVwIGFuZCByZXNwb25kaW5n
LgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgZXhjZXB0IElPRXJyb3I6Ci0gICAg
ICAgICAgICBwYXNzCi0gICAgICAgICMgV2FpdCBmb3Igc2xlZXBfdGltZSBiZWZvcmUgdHJ5aW5n
IGFnYWluLgotICAgICAgICB3YWl0X3RpbWUgLT0gc2xlZXBfdGltZQotICAgICAgICB0aW1lLnNs
ZWVwKHNsZWVwX3RpbWUpCi0KLSAgICByZXR1cm4gRmFsc2UKLQotCi1jbGFzcyBQeVdlYlNvY2tl
dE5vdFN0YXJ0ZWQoRXhjZXB0aW9uKToKLSAgICBwYXNzCi0KLQotY2xhc3MgUHlXZWJTb2NrZXRO
b3RGb3VuZChFeGNlcHRpb24pOgotICAgIHBhc3MKLQotCiBjbGFzcyBQeVdlYlNvY2tldChodHRw
X3NlcnZlci5MaWdodHRwZCk6CiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgcG9ydF9vYmosIG91
dHB1dF9kaXIsIHBvcnQ9X0RFRkFVTFRfV1NfUE9SVCwKQEAgLTExOCw2ICs4Miw3IEBAIGNsYXNz
IFB5V2ViU29ja2V0KGh0dHBfc2VydmVyLkxpZ2h0dHBkKToKICAgICAgICAgICAgIHNlbGYuX3Nl
cnZlcl9uYW1lID0gJ1B5V2ViU29ja2V0JwogICAgICAgICBzZWxmLl9waWRmaWxlID0gcGlkZmls
ZQogICAgICAgICBzZWxmLl93c291dCA9IE5vbmUKKyAgICAgICAgc2VsZi5tYXBwaW5ncyA9IFtd
CiAKICAgICAgICAgIyBXZWJraXQgdGVzdHMKICAgICAgICAgaWYgc2VsZi5fcm9vdDoKQEAgLTEz
OCw4ICsxMDMsNyBAQCBjbGFzcyBQeVdlYlNvY2tldChodHRwX3NlcnZlci5MaWdodHRwZCk6CiAg
ICAgICAgICAgICBfbG9nLmluZm8oJ05vIG5lZWQgdG8gc3RhcnQgJXMgc2VydmVyLicgJSBzZWxm
Ll9zZXJ2ZXJfbmFtZSkKICAgICAgICAgICAgIHJldHVybgogICAgICAgICBpZiBzZWxmLmlzX3J1
bm5pbmcoKToKLSAgICAgICAgICAgIHJhaXNlIFB5V2ViU29ja2V0Tm90U3RhcnRlZCgnJXMgaXMg
YWxyZWFkeSBydW5uaW5nLicgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNlbGYuX3NlcnZlcl9uYW1lKQorICAgICAgICAgICAgcmFpc2UgaHR0cF9zZXJ2ZXJfYmFz
ZS5TZXJ2ZXJFcnJvcignJXMgaXMgYWxyZWFkeSBydW5uaW5nLicgJSBzZWxmLl9zZXJ2ZXJfbmFt
ZSkKIAogICAgICAgICB0aW1lX3N0ciA9IHRpbWUuc3RyZnRpbWUoJyVkJWIlWS0lSCVNJVMnKQog
ICAgICAgICBpZiBzZWxmLl91c2VfdGxzOgpAQCAtMTQ5LDcgKzExMywxMiBAQCBjbGFzcyBQeVdl
YlNvY2tldChodHRwX3NlcnZlci5MaWdodHRwZCk6CiAgICAgICAgIGxvZ19maWxlX25hbWUgPSBs
b2dfcHJlZml4ICsgdGltZV9zdHIKIAogICAgICAgICAjIFJlbW92ZSBvbGQgbG9nIGZpbGVzLiBX
ZSBvbmx5IG5lZWQgdG8ga2VlcCB0aGUgbGFzdCBvbmVzLgotICAgICAgICBzZWxmLnJlbW92ZV9s
b2dfZmlsZXMoc2VsZi5fb3V0cHV0X2RpciwgbG9nX3ByZWZpeCkKKyAgICAgICAgIyBEb24ndCB3
b3JyeSB0b28gbXVjaCBpZiB0aGlzIGZhaWxzLgorICAgICAgICB0cnk6CisgICAgICAgICAgICBz
ZWxmLnJlbW92ZV9sb2dfZmlsZXMoc2VsZi5fb3V0cHV0X2RpciwgbG9nX3ByZWZpeCkKKyAgICAg
ICAgZXhjZXB0IE9TRXJyb3IsIGU6CisgICAgICAgICAgICBfbG9nLndhcm5pbmcoJ0ZhaWxlZCB0
byByZW1vdmUgb2xkIHdlYnNvY2tldCBzZXJ2ZXIgbG9nIGZpbGVzJykKKyAgICAgICAgICAgIHBh
c3MKIAogICAgICAgICBlcnJvcl9sb2cgPSBvcy5wYXRoLmpvaW4oc2VsZi5fb3V0cHV0X2Rpciwg
bG9nX2ZpbGVfbmFtZSArICItZXJyLnR4dCIpCiAKQEAgLTE5MSw2ICsxNjAsOSBAQCBjbGFzcyBQ
eVdlYlNvY2tldChodHRwX3NlcnZlci5MaWdodHRwZCk6CiAgICAgICAgIGVudlsnUFlUSE9OUEFU
SCddID0gKHB5d2Vic29ja2V0X2Jhc2UgKyBvcy5wYXRoLnBhdGhzZXAgKwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBlbnYuZ2V0KCdQWVRIT05QQVRIJywgJycpKQogCisgICAgICAgIHNl
bGYubWFwcGluZ3MgPSBbeydwb3J0Jzogc2VsZi5fcG9ydH1dCisgICAgICAgIHNlbGYuY2hlY2tf
dGhhdF9hbGxfcG9ydHNfYXJlX2F2YWlsYWJsZSgpCisKICAgICAgICAgX2xvZy5kZWJ1ZygnU3Rh
cnRpbmcgJXMgc2VydmVyIG9uICVkLicgJSAoCiAgICAgICAgICAgICAgICAgICAgc2VsZi5fc2Vy
dmVyX25hbWUsIHNlbGYuX3BvcnQpKQogICAgICAgICBfbG9nLmRlYnVnKCdjbWRsaW5lOiAlcycg
JSAnICcuam9pbihzdGFydF9jbWQpKQpAQCAtMjAyLDI3ICsxNzQsOSBAQCBjbGFzcyBQeVdlYlNv
Y2tldChodHRwX3NlcnZlci5MaWdodHRwZCk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZW52PWVudikKIAotICAgICAgICBpZiBzZWxmLl91c2Vf
dGxzOgotICAgICAgICAgICAgdXJsID0gJ2h0dHBzJwotICAgICAgICBlbHNlOgotICAgICAgICAg
ICAgdXJsID0gJ2h0dHAnCi0gICAgICAgIHVybCA9IHVybCArICc6Ly8xMjcuMC4wLjE6JWQvJyAl
IHNlbGYuX3BvcnQKLSAgICAgICAgaWYgbm90IHVybF9pc19hbGl2ZSh1cmwpOgotICAgICAgICAg
ICAgaWYgc2VsZi5fcHJvY2Vzcy5yZXR1cm5jb2RlID09IE5vbmU6Ci0gICAgICAgICAgICAgICAg
IyBGSVhNRTogV2Ugc2hvdWxkIHVzZSBhIG5vbi1zdGF0aWMgRXhlY3V0aXZlIGZvciBlYXNpZXIK
LSAgICAgICAgICAgICAgICAjIHRlc3RpbmcuCi0gICAgICAgICAgICAgICAgRXhlY3V0aXZlKCku
a2lsbF9wcm9jZXNzKHNlbGYuX3Byb2Nlc3MucGlkKQotICAgICAgICAgICAgd2l0aCBjb2RlY3Mu
b3BlbihvdXRwdXRfbG9nLCAiciIsICJ1dGYtOCIpIGFzIGZwOgotICAgICAgICAgICAgICAgIGZv
ciBsaW5lIGluIGZwOgotICAgICAgICAgICAgICAgICAgICBfbG9nLmVycm9yKGxpbmUpCi0gICAg
ICAgICAgICByYWlzZSBQeVdlYlNvY2tldE5vdFN0YXJ0ZWQoCi0gICAgICAgICAgICAgICAgJ0Zh
aWxlZCB0byBzdGFydCAlcyBzZXJ2ZXIgb24gcG9ydCAlcy4nICUKLSAgICAgICAgICAgICAgICAg
ICAgKHNlbGYuX3NlcnZlcl9uYW1lLCBzZWxmLl9wb3J0KSkKLQotICAgICAgICAjIE91ciBwcm9j
ZXNzIHRlcm1pbmF0ZWQgYWxyZWFkeQotICAgICAgICBpZiBzZWxmLl9wcm9jZXNzLnJldHVybmNv
ZGUgIT0gTm9uZToKLSAgICAgICAgICAgIHJhaXNlIFB5V2ViU29ja2V0Tm90U3RhcnRlZCgKLSAg
ICAgICAgICAgICAgICAnRmFpbGVkIHRvIHN0YXJ0ICVzIHNlcnZlci4nICUgc2VsZi5fc2VydmVy
X25hbWUpCisgICAgICAgIHNlcnZlcl9zdGFydGVkID0gc2VsZi53YWl0X2Zvcl9hY3Rpb24oc2Vs
Zi5pc19zZXJ2ZXJfcnVubmluZ19vbl9hbGxfcG9ydHMpCisgICAgICAgIGlmIG5vdCBzZXJ2ZXJf
c3RhcnRlZCBvciBzZWxmLl9wcm9jZXNzLnJldHVybmNvZGUgIT0gTm9uZToKKyAgICAgICAgICAg
IHJhaXNlIGh0dHBfc2VydmVyX2Jhc2UuU2VydmVyRXJyb3IoJ0ZhaWxlZCB0byBzdGFydCB3ZWJz
b2NrZXQgc2VydmVyIG9uIHBvcnQgJWQuJyAlIHNlbGYuX3BvcnQpCiAgICAgICAgIGlmIHNlbGYu
X3BpZGZpbGU6CiAgICAgICAgICAgICB3aXRoIGNvZGVjcy5vcGVuKHNlbGYuX3BpZGZpbGUsICJ3
IiwgImFzY2lpIikgYXMgZmlsZToKICAgICAgICAgICAgICAgICBmaWxlLndyaXRlKCIlZCIgJSBz
ZWxmLl9wcm9jZXNzLnBpZCkKQEAgLTIzOSwxMiArMTkzLDEwIEBAIGNsYXNzIFB5V2ViU29ja2V0
KGh0dHBfc2VydmVyLkxpZ2h0dHBkKToKICAgICAgICAgICAgICAgICBwaWQgPSBpbnQoZmlsZS5y
ZWFkKCkuc3RyaXAoKSkKIAogICAgICAgICBpZiBub3QgcGlkOgotICAgICAgICAgICAgcmFpc2Ug
UHlXZWJTb2NrZXROb3RGb3VuZCgKLSAgICAgICAgICAgICAgICAnRmFpbGVkIHRvIGZpbmQgJXMg
c2VydmVyIHBpZC4nICUgc2VsZi5fc2VydmVyX25hbWUpCisgICAgICAgICAgICByYWlzZSBodHRw
X3NlcnZlcl9iYXNlLlNlcnZlckVycm9yKCdGYWlsZWQgdG8gZmluZCAlcyBzZXJ2ZXIgcGlkLicg
JSBzZWxmLl9zZXJ2ZXJfbmFtZSkKIAogICAgICAgICBfbG9nLmRlYnVnKCdTaHV0dGluZyBkb3du
ICVzIHNlcnZlciAlZC4nICUgKHNlbGYuX3NlcnZlcl9uYW1lLCBwaWQpKQotICAgICAgICAjIEZJ
WE1FOiBXZSBzaG91bGQgdXNlIGEgbm9uLXN0YXRpYyBFeGVjdXRpdmUgZm9yIGVhc2llciB0ZXN0
aW5nLgotICAgICAgICBFeGVjdXRpdmUoKS5raWxsX3Byb2Nlc3MocGlkKQorICAgICAgICBzZWxm
Ll9wb3J0X29iai5fZXhlY3V0aXZlLmtpbGxfcHJvY2VzcyhwaWQpCiAKICAgICAgICAgaWYgc2Vs
Zi5fcHJvY2VzczoKICAgICAgICAgICAgICMgd2FpdCgpIGlzIG5vdCB0aHJlYWRzYWZlIGFuZCBj
YW4gdGhyb3cgT1NFcnJvciBkdWUgdG86Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92005</attachid>
            <date>2011-05-02 16:55:44 -0700</date>
            <delta_ts>2011-05-02 18:40:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59977-20110502165543.patch</filename>
            <type>text/plain</type>
            <size>17750</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODU1NDEKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3ZThmYjE4ODc4ZmMwZjUwMGU0ZTczMDIxOTA5Y2M4OGJk
OGRkZmE3Li5hNmJjYjk1NzM1NTQyMTllYTM5NWVhOTQyMzEwMjE5ZTUzYzY4YTJlIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEg
QEAKKzIwMTEtMDUtMDIgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgbmV3LXJ1bi13ZWJr
aXQtdGVzdHM6IGZpeCBodHRwIHNlcnZlciBzdGFydHVwL3NodXRkb3duCisKKyAgICAgICAgUHJl
dmlvdXMgdmVyc2lvbnMgb2YgdGhlIGNvZGUgaGFkIHRocmVlIHByb2JsZW1zIHRoYXQgbWFkZSBz
dGFydHVwCisgICAgICAgIGFuZCBzaHV0ZG93biBmbGFreS4gVGhlIGZpcnN0IGlzIHRoYXQgaXQg
d291bGQgdGhyb3cgZXhjZXB0aW9ucworICAgICAgICBpZiBpdCBjb3VsZG4ndCBkZWxldGUgc3Rh
bGUgbG9nIGZpbGVzLCB3aGljaCB3YXMgb3Zlcmx5CisgICAgICAgIHBhcmFub2lkLiBUaGUgc2Vj
b25kIGlzIHRoYXQgc29tZSBvZiB0aGUgZXhjZXB0aW9ucyB3ZXJlbid0CisgICAgICAgIGRlZmlu
ZWQgcHJvcGVybHkuIFRoZSB0aGlyZCwgYW5kIG1vc3QgaW1wb3J0YW50LCBpcyB0aGF0IGl0IHdh
cworICAgICAgICB1c2luZyB1cmxsaWIgdG8gY2hlY2sgaWYgcG9ydHMgd2VyZSBhdmFpbGFibGUs
IHdoaWNoIHdhcyBsZWF2aW5nCisgICAgICAgIHNvY2tldHMgaW4gYSBoYWxmLWNsb3NlZCBzdGF0
ZSwgYW5kIGtlZXBpbmcgcG9ydHMgZnJvbSBiZWluZworICAgICAgICByZXVzZWQuIEJ5IHN3aXRj
aGluZyB0byByYXcgc29ja2V0cywgd2UgYXJlIGFibGUgdG8gbm93IHJlbGlhYmx5CisgICAgICAg
IHJlc3RhcnQuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgYWxzbyBzd2l0Y2hlcyB0aGUgY29kZSB0
byB1c2luZyBFeGVjdXRpdmVzIHRvIHN0b3AKKyAgICAgICAgcHJvY2Vzc2VzLCB3aGljaCB3aWxs
IGxldCB1cyBkZWxldGUgYSBidW5jaCBvZiBjb2RlIGluIHRoZQorICAgICAgICBwb3J0LyogaW1w
bGVtZW50YXRpb25zIGFuZCBmaXggYSB3ZWlyZCBsYXllcmluZyBwcm9ibGVtIGluIGEKKyAgICAg
ICAgc3Vic2VxdWVudCBwYXRjaC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTk5NzcKKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvYXBhY2hlX2h0dHBfc2VydmVyLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvaHR0cF9zZXJ2ZXIucHk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9odHRwX3NlcnZlcl9iYXNlLnB5OgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Vic29ja2V0X3NlcnZlci5w
eToKKwogMjAxMS0wNS0wMiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAg
ICAgIENoYW5nZSB0aGUgdGVzdGluZyBFV1MgdG8gbG9nIGZhaWx1cmVzIGV4cGxpY2l0bHkgdG8g
YXZvaWQgYW4gaW5maW5pdGUgbG9vcC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYXBhY2hlX2h0dHBfc2VydmVyLnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9hcGFjaGVfaHR0cF9zZXJ2ZXIucHkKaW5kZXgg
MDVhMjMzODI0NTBkZWNkODBjNDAzNDU5NjQ3YjU4ZjEyMTU0NzBiMS4uMDJhZDljZjA3MTk0YzYy
ZDA5ZmNkM2U5YjEzOTYzNDkwNjQzNjZmOCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9hcGFjaGVfaHR0cF9zZXJ2ZXIucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9hcGFjaGVfaHR0cF9zZXJ2ZXIucHkK
QEAgLTE5NywxMCArMTk3LDggQEAgY2xhc3MgTGF5b3V0VGVzdEFwYWNoZUh0dHBkKGh0dHBfc2Vy
dmVyX2Jhc2UuSHR0cFNlcnZlckJhc2UpOgogICAgICAgICAjIHNoZWxsPVRydWUgaXMgYSB0cmFp
bCBvZiB0ZWFycy4KICAgICAgICAgIyBOb3RlOiBOb3QgdGhyZWFkIHNhZmU6IGh0dHA6Ly9idWdz
LnB5dGhvbi5vcmcvaXNzdWUyMzIwCiAgICAgICAgIF9sb2cuZGVidWcoJ1N0YXJ0aW5nIGh0dHAg
c2VydmVyLCBjbWQ9IiVzIicgJSBzdHIoc2VsZi5fc3RhcnRfY21kKSkKLSAgICAgICAgc2VsZi5f
aHR0cGRfcHJvYyA9IHN1YnByb2Nlc3MuUG9wZW4oc2VsZi5fc3RhcnRfY21kLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5QSVBF
LAotICAgICAgICAgICAgc2hlbGw9VHJ1ZSkKLSAgICAgICAgZXJyID0gc2VsZi5faHR0cGRfcHJv
Yy5zdGRlcnIucmVhZCgpCisgICAgICAgIHNlbGYuX3Byb2Nlc3MgPSBzdWJwcm9jZXNzLlBvcGVu
KHNlbGYuX3N0YXJ0X2NtZCwgc3RkZXJyPXN1YnByb2Nlc3MuUElQRSwgc2hlbGw9VHJ1ZSkKKyAg
ICAgICAgZXJyID0gc2VsZi5fcHJvY2Vzcy5zdGRlcnIucmVhZCgpCiAgICAgICAgIGlmIGxlbihl
cnIpOgogICAgICAgICAgICAgX2xvZy5kZWJ1ZyhlcnIpCiAgICAgICAgICAgICByZXR1cm4gRmFs
c2UKQEAgLTIwOCw4ICsyMDYsMTAgQEAgY2xhc3MgTGF5b3V0VGVzdEFwYWNoZUh0dHBkKGh0dHBf
c2VydmVyX2Jhc2UuSHR0cFNlcnZlckJhc2UpOgogCiAgICAgZGVmIHN0YXJ0KHNlbGYpOgogICAg
ICAgICAiIiJTdGFydHMgdGhlIGFwYWNoZSBodHRwIHNlcnZlci4iIiIKLSAgICAgICAgIyBTdG9w
IGFueSBjdXJyZW50bHkgcnVubmluZyBzZXJ2ZXJzLgotICAgICAgICBzZWxmLnN0b3AoKQorICAg
ICAgICBpZiBzZWxmLl9wcm9jZXNzOgorICAgICAgICAgICAgcmFpc2UgaHR0cF9zZXJ2ZXJfYmFz
ZS5TZXJ2ZXJFcnJvcignaHR0cGQgYWxyZWFkeSBydW5uaW5nJykKKworICAgICAgICBzZWxmLmNo
ZWNrX3RoYXRfYWxsX3BvcnRzX2FyZV9hdmFpbGFibGUoKQogCiAgICAgICAgIF9sb2cuZGVidWco
IlN0YXJ0aW5nIGFwYWNoZSBodHRwIHNlcnZlciIpCiAgICAgICAgIHNlcnZlcl9zdGFydGVkID0g
c2VsZi53YWl0X2Zvcl9hY3Rpb24oc2VsZi5fc3RhcnRfaHR0cGRfcHJvY2VzcykKQEAgLTIyMSwx
MyArMjIxLDI0IEBAIGNsYXNzIExheW91dFRlc3RBcGFjaGVIdHRwZChodHRwX3NlcnZlcl9iYXNl
Lkh0dHBTZXJ2ZXJCYXNlKToKICAgICAgICAgaWYgc2VydmVyX3N0YXJ0ZWQ6CiAgICAgICAgICAg
ICBfbG9nLmRlYnVnKCJTZXJ2ZXIgc3VjY2Vzc2Z1bGx5IHN0YXJ0ZWQiKQogICAgICAgICBlbHNl
OgotICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdGYWlsZWQgdG8gc3RhcnQgaHR0cCBzZXJ2
ZXInKQorICAgICAgICAgICAgcmFpc2UgaHR0cF9zZXJ2ZXJfYmFzZS5TZXJ2ZXJFcnJvcignRmFp
bGVkIHRvIHN0YXJ0IGh0dHAgc2VydmVyJykKIAogICAgIGRlZiBzdG9wKHNlbGYpOgogICAgICAg
ICAiIiJTdG9wcyB0aGUgYXBhY2hlIGh0dHAgc2VydmVyLiIiIgogICAgICAgICBfbG9nLmRlYnVn
KCJTaHV0dGluZyBkb3duIGFueSBydW5uaW5nIGh0dHAgc2VydmVycyIpCiAgICAgICAgIGh0dHBk
X3BpZCA9IE5vbmUKLSAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc2VsZi5fcGlkX2ZpbGUpOgor
ICAgICAgICBpZiBzZWxmLl9wcm9jZXNzOgorICAgICAgICAgICAgaHR0cGRfcGlkID0gc2VsZi5f
cHJvY2Vzcy5waWQKKyAgICAgICAgZWxpZiBvcy5wYXRoLmV4aXN0cyhzZWxmLl9waWRfZmlsZSk6
CiAgICAgICAgICAgICBodHRwZF9waWQgPSBpbnQob3BlbihzZWxmLl9waWRfZmlsZSkucmVhZGxp
bmUoKSkKLSAgICAgICAgIyBGSVhNRTogV2Ugc2hvdWxkbid0IGJlIGNhbGxpbmcgYSBwcm90ZWN0
ZWQgbWV0aG9kIG9mIF9wb3J0X29iaiEKLSAgICAgICAgc2VsZi5fcG9ydF9vYmouX3NodXRfZG93
bl9odHRwX3NlcnZlcihodHRwZF9waWQpCisKKyAgICAgICAgaWYgbm90IGh0dHBkX3BpZDoKKyAg
ICAgICAgICAgIHJldHVybgorCisgICAgICAgIHNlbGYuX3BvcnRfb2JqLl9leGVjdXRpdmUua2ls
bF9wcm9jZXNzKGh0dHBkX3BpZCkKKworICAgICAgICBpZiBzZWxmLl9wcm9jZXNzOgorICAgICAg
ICAgICAgc2VsZi5fcHJvY2Vzcy53YWl0KCkKKyAgICAgICAgICAgIHNlbGYuX3Byb2Nlc3MgPSBO
b25lCisgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHNlbGYuX3BpZF9maWxlKToKKyAgICAgICAg
ICAgIG9zLnJlbW92ZShzZWxmLl9waWRfZmlsZSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvaHR0cF9zZXJ2ZXIucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2h0dHBfc2VydmVyLnB5CmluZGV4IGU1MjVlZTBl
NDkxMmZlMDk1MzhmN2NkZmRmM2ExYjYzNDgxMjQzMmQuLmRjMmQ4YjdkZDIxNTNjMzYyZDI1MDI0
MDc4MWE5NWMzNjc2MDU0ZGUgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvaHR0cF9zZXJ2ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9odHRwX3NlcnZlci5weQpAQCAtNTgsNyArNTgsNiBAQCBjbGFz
cyBMaWdodHRwZChodHRwX3NlcnZlcl9iYXNlLkh0dHBTZXJ2ZXJCYXNlKToKICAgICAgICAgIyBX
ZWJraXQgdGVzdHMKICAgICAgICAgaHR0cF9zZXJ2ZXJfYmFzZS5IdHRwU2VydmVyQmFzZS5fX2lu
aXRfXyhzZWxmLCBwb3J0X29iaikKICAgICAgICAgc2VsZi5fb3V0cHV0X2RpciA9IG91dHB1dF9k
aXIKLSAgICAgICAgc2VsZi5fcHJvY2VzcyA9IE5vbmUKICAgICAgICAgc2VsZi5fcG9ydCA9IHBv
cnQKICAgICAgICAgc2VsZi5fcm9vdCA9IHJvb3QKICAgICAgICAgc2VsZi5fcnVuX2JhY2tncm91
bmQgPSBydW5fYmFja2dyb3VuZApAQCAtOTksMTIgKzk4LDkgQEAgY2xhc3MgTGlnaHR0cGQoaHR0
cF9zZXJ2ZXJfYmFzZS5IdHRwU2VydmVyQmFzZSk6CiAgICAgICAgICAgICAgICAgeydwb3J0Jzog
ODQ0MywgJ2RvY3Jvb3QnOiBzZWxmLl93ZWJraXRfdGVzdHMsCiAgICAgICAgICAgICAgICAgICdz
c2xjZXJ0Jzogc2VsZi5fcGVtX2ZpbGV9XSkKIAotICAgIGRlZiBpc19ydW5uaW5nKHNlbGYpOgot
ICAgICAgICByZXR1cm4gc2VsZi5fcHJvY2VzcyAhPSBOb25lCi0KICAgICBkZWYgc3RhcnQoc2Vs
Zik6CiAgICAgICAgIGlmIHNlbGYuaXNfcnVubmluZygpOgotICAgICAgICAgICAgcmFpc2UgJ0xp
Z2h0dHBkIGFscmVhZHkgcnVubmluZycKKyAgICAgICAgICAgIHJhaXNlIGh0dHBfc2VydmVyX2Jh
c2UuU2VydmVyRXJyb3IoJ0xpZ2h0dHBkIGFscmVhZHkgcnVubmluZycpCiAKICAgICAgICAgYmFz
ZV9jb25mX2ZpbGUgPSBzZWxmLl9wb3J0X29iai5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1Rvb2xz
JywKICAgICAgICAgICAgICdTY3JpcHRzJywgJ3dlYmtpdHB5JywgJ2xheW91dF90ZXN0cycsICdw
b3J0JywgJ2xpZ2h0dHBkLmNvbmYnKQpAQCAtMTE2LDggKzExMiwxNCBAQCBjbGFzcyBMaWdodHRw
ZChodHRwX3NlcnZlcl9iYXNlLkh0dHBTZXJ2ZXJCYXNlKToKICAgICAgICAgZXJyb3JfbG9nID0g
b3MucGF0aC5qb2luKHNlbGYuX291dHB1dF9kaXIsIGxvZ19maWxlX25hbWUpCiAKICAgICAgICAg
IyBSZW1vdmUgb2xkIGxvZyBmaWxlcy4gV2Ugb25seSBuZWVkIHRvIGtlZXAgdGhlIGxhc3Qgb25l
cy4KLSAgICAgICAgc2VsZi5yZW1vdmVfbG9nX2ZpbGVzKHNlbGYuX291dHB1dF9kaXIsICJhY2Nl
c3MubG9nLSIpCi0gICAgICAgIHNlbGYucmVtb3ZlX2xvZ19maWxlcyhzZWxmLl9vdXRwdXRfZGly
LCAiZXJyb3IubG9nLSIpCisgICAgICAgICMgRG9uJ3Qgd29ycnkgdG9vIG11Y2ggaWYgd2UgY2Fu
J3QgcmVtb3ZlIHRoZSBvbGQgb25lcy4gU29tZXRpbWVzCisgICAgICAgICMgdGhleSBhcmUgbG9j
a2VkIGJ5IG90aGVyIHByb2Nlc3NlcyBidXQgdGhpcyBjbGVhcnMgZXZlbnR1YWxseS4KKyAgICAg
ICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5yZW1vdmVfbG9nX2ZpbGVzKHNlbGYuX291dHB1dF9k
aXIsICJhY2Nlc3MubG9nLSIpCisgICAgICAgICAgICBzZWxmLnJlbW92ZV9sb2dfZmlsZXMoc2Vs
Zi5fb3V0cHV0X2RpciwgImVycm9yLmxvZy0iKQorICAgICAgICBleGNlcHQgT1NFcnJvciwgZToK
KyAgICAgICAgICAgIF9sb2cud2FybmluZygnRmFpbGVkIHRvIHJlbW92ZSBvbGQgaHR0cCBzZXJ2
ZXIgbG9nIGZpbGVzJykKKyAgICAgICAgICAgIHBhc3MKIAogICAgICAgICAjIFdyaXRlIG91dCB0
aGUgY29uZmlnCiAgICAgICAgIHdpdGggY29kZWNzLm9wZW4oYmFzZV9jb25mX2ZpbGUsICJyIiwg
InV0Zi04IikgYXMgZmlsZToKQEAgLTIwOCwzNSArMjEwLDI4IEBAIGNsYXNzIExpZ2h0dHBkKGh0
dHBfc2VydmVyX2Jhc2UuSHR0cFNlcnZlckJhc2UpOgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG9zLnBhdGguam9pbih0bXBfbW9kdWxlX3BhdGgsIGxpYl9maWxlKSkKIAogICAgICAgICBl
bnYgPSBzZWxmLl9wb3J0X29iai5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIoKQotICAgICAgICBf
bG9nLmRlYnVnKCdTdGFydGluZyBodHRwIHNlcnZlciwgY21kPSIlcyInICUgc3RyKHN0YXJ0X2Nt
ZCkpCi0gICAgICAgICMgRklYTUU6IFNob3VsZCB1c2UgRXhlY3V0aXZlLnJ1bl9jb21tYW5kCi0g
ICAgICAgIHNlbGYuX3Byb2Nlc3MgPSBzdWJwcm9jZXNzLlBvcGVuKHN0YXJ0X2NtZCwgZW52PWVu
diwgc3RkaW49c3VicHJvY2Vzcy5QSVBFKQogCi0gICAgICAgICMgV2FpdCBmb3Igc2VydmVyIHRv
IHN0YXJ0LgogICAgICAgICBzZWxmLm1hcHBpbmdzID0gbWFwcGluZ3MKLSAgICAgICAgc2VydmVy
X3N0YXJ0ZWQgPSBzZWxmLndhaXRfZm9yX2FjdGlvbigKLSAgICAgICAgICAgIHNlbGYuaXNfc2Vy
dmVyX3J1bm5pbmdfb25fYWxsX3BvcnRzKQorICAgICAgICBzZWxmLmNoZWNrX3RoYXRfYWxsX3Bv
cnRzX2FyZV9hdmFpbGFibGUoKQogCi0gICAgICAgICMgT3VyIHByb2Nlc3MgdGVybWluYXRlZCBh
bHJlYWR5CisgICAgICAgIF9sb2cuZGVidWcoJ1N0YXJ0aW5nIGh0dHAgc2VydmVyLCBjbWQ9IiVz
IicgJSBzdHIoc3RhcnRfY21kKSkKKyAgICAgICAgIyBGSVhNRTogU2hvdWxkIHVzZSBFeGVjdXRp
dmUucnVuX2NvbW1hbmQKKyAgICAgICAgc2VsZi5fcHJvY2VzcyA9IHN1YnByb2Nlc3MuUG9wZW4o
c3RhcnRfY21kLCBlbnY9ZW52LCBzdGRpbj1zdWJwcm9jZXNzLlBJUEUpCisgICAgICAgIHNlcnZl
cl9zdGFydGVkID0gc2VsZi53YWl0X2Zvcl9hY3Rpb24oc2VsZi5pc19zZXJ2ZXJfcnVubmluZ19v
bl9hbGxfcG9ydHMpCiAgICAgICAgIGlmIG5vdCBzZXJ2ZXJfc3RhcnRlZCBvciBzZWxmLl9wcm9j
ZXNzLnJldHVybmNvZGUgIT0gTm9uZToKLSAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignRmFp
bGVkIHRvIHN0YXJ0IGh0dHBkLicpCisgICAgICAgICAgICByYWlzZSBodHRwX3NlcnZlcl9iYXNl
LlNlcnZlckVycm9yKCdGYWlsZWQgdG8gc3RhcnQgaHR0cGQuJykKIAogICAgICAgICBfbG9nLmRl
YnVnKCJTZXJ2ZXIgc3VjY2Vzc2Z1bGx5IHN0YXJ0ZWQiKQogCi0gICAgIyBUT0RPKGRlYW5tKTog
RmluZCBhIG5pY2VyIHdheSB0byBzaHV0ZG93biBjbGVhbmx5LiAgT3VyIGxvZyBmaWxlcyBhcmUK
LSAgICAjIHByb2JhYmx5IG5vdCBiZWluZyBmbHVzaGVkLCBldGMuLi4gd2h5IGRvZXNuJ3Qgb3Vy
IHB5dGhvbiBoYXZlIG9zLmtpbGwgPwotCi0gICAgZGVmIHN0b3Aoc2VsZiwgZm9yY2U9RmFsc2Up
OgotICAgICAgICBpZiBub3QgZm9yY2UgYW5kIG5vdCBzZWxmLmlzX3J1bm5pbmcoKToKKyAgICAj
IEZJWE1FOiBJdCB3b3VsZCBiZSBuaWNlIGlmIHdlIGNvdWxkIHNodXQgdGhlIHNlcnZlciBkb3du
IGNsZWFubHkuCisgICAgZGVmIHN0b3Aoc2VsZik6CisgICAgICAgIGlmIG5vdCBzZWxmLmlzX3J1
bm5pbmcoKToKICAgICAgICAgICAgIHJldHVybgogCi0gICAgICAgIGh0dHBkX3BpZCA9IE5vbmUK
LSAgICAgICAgaWYgc2VsZi5fcHJvY2VzczoKLSAgICAgICAgICAgIGh0dHBkX3BpZCA9IHNlbGYu
X3Byb2Nlc3MucGlkCi0gICAgICAgIHNlbGYuX3BvcnRfb2JqLl9zaHV0X2Rvd25faHR0cF9zZXJ2
ZXIoaHR0cGRfcGlkKQorICAgICAgICBodHRwZF9waWQgPSBzZWxmLl9wcm9jZXNzLnBpZAorICAg
ICAgICBzZWxmLl9leGVjdXRpdmUua2lsbF9wcm9jZXNzKGh0dHBkX3BpZCkKIAotICAgICAgICBp
ZiBzZWxmLl9wcm9jZXNzOgotICAgICAgICAgICAgIyB3YWl0KCkgaXMgbm90IHRocmVhZHNhZmUg
YW5kIGNhbiB0aHJvdyBPU0Vycm9yIGR1ZSB0bzoKLSAgICAgICAgICAgICMgaHR0cDovL2J1Z3Mu
cHl0aG9uLm9yZy9pc3N1ZTE3MzE3MTcKLSAgICAgICAgICAgIHNlbGYuX3Byb2Nlc3Mud2FpdCgp
Ci0gICAgICAgICAgICBzZWxmLl9wcm9jZXNzID0gTm9uZQorICAgICAgICAjIHdhaXQoKSBpcyBu
b3QgdGhyZWFkc2FmZSBhbmQgY2FuIHRocm93IE9TRXJyb3IgZHVlIHRvOgorICAgICAgICAjIGh0
dHA6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUxNzMxNzE3CisgICAgICAgIHNlbGYuX3Byb2Nlc3Mu
d2FpdCgpCisgICAgICAgIHNlbGYuX3Byb2Nlc3MgPSBOb25lCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2h0dHBfc2VydmVyX2Jhc2UucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2h0dHBfc2VydmVyX2Jhc2Uu
cHkKaW5kZXggMmE0M2U4MTk3OGI5MmM2Y2E2ODFhOGE0YzI4Zjk5YjgzYjg3NmViYi4uMjc3MmVl
Y2E4YjZlYzM3ZGNjYzY0NWVkOWM0YjQ5YzRmYzJkMjYzYyAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9odHRwX3NlcnZlcl9iYXNlLnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvaHR0cF9zZXJ2ZXJfYmFz
ZS5weQpAQCAtMjksMjAgKzI5LDI3IEBACiAKICIiIkJhc2UgY2xhc3Mgd2l0aCBjb21tb24gcm91
dGluZXMgYmV0d2VlbiB0aGUgQXBhY2hlIGFuZCBMaWdodHRwZCBzZXJ2ZXJzLiIiIgogCitpbXBv
cnQgZXJybm8KIGltcG9ydCBsb2dnaW5nCi1pbXBvcnQgb3MKK2ltcG9ydCBzb2NrZXQKIGltcG9y
dCB0aW1lCi1pbXBvcnQgdXJsbGliCiAKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbSBpbXBv
cnQgZmlsZXN5c3RlbQogCiBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoIndlYmtpdHB5LmxheW91
dF90ZXN0cy5wb3J0Lmh0dHBfc2VydmVyX2Jhc2UiKQogCiAKK2NsYXNzIFNlcnZlckVycm9yKEV4
Y2VwdGlvbik6CisgICAgcGFzcworCisKIGNsYXNzIEh0dHBTZXJ2ZXJCYXNlKG9iamVjdCk6CiAK
ICAgICBkZWYgX19pbml0X18oc2VsZiwgcG9ydF9vYmopOgogICAgICAgICBzZWxmLl9wb3J0X29i
aiA9IHBvcnRfb2JqCisgICAgICAgIHNlbGYuX2V4ZWN1dGl2ZSA9IHBvcnRfb2JqLl9leGVjdXRp
dmUKKyAgICAgICAgc2VsZi5fZmlsZXN5c3RlbSA9IHBvcnRfb2JqLl9maWxlc3lzdGVtCisgICAg
ICAgIHNlbGYuX3Byb2Nlc3MgPSBOb25lCiAKICAgICBkZWYgd2FpdF9mb3JfYWN0aW9uKHNlbGYs
IGFjdGlvbik6CiAgICAgICAgICIiIlJlcGVhdCB0aGUgYWN0aW9uIGZvciAyMCBzZWNvbmRzIG9y
IHVudGlsIGl0IHN1Y2NlZWRzLiBSZXR1cm5zCkBAIC01NiwyOCArNjMsNDcgQEAgY2xhc3MgSHR0
cFNlcnZlckJhc2Uob2JqZWN0KToKIAogICAgICAgICByZXR1cm4gRmFsc2UKIAorICAgIGRlZiBp
c19ydW5uaW5nKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fcHJvY2VzcyBhbmQgc2VsZi5f
cHJvY2Vzcy5yZXR1cm5jb2RlIGlzIE5vbmUKKwogICAgIGRlZiBpc19zZXJ2ZXJfcnVubmluZ19v
bl9hbGxfcG9ydHMoc2VsZik6CiAgICAgICAgICIiIlJldHVybnMgd2hldGhlciB0aGUgc2VydmVy
IGlzIHJ1bm5pbmcgb24gYWxsIHRoZSBkZXNpcmVkIHBvcnRzLiIiIgotICAgICAgICBmb3IgbWFw
cGluZyBpbiBzZWxmLm1hcHBpbmdzOgotICAgICAgICAgICAgaWYgJ3NzbGNlcnQnIGluIG1hcHBp
bmc6Ci0gICAgICAgICAgICAgICAgaHR0cF9zdWZmaXggPSAncycKLSAgICAgICAgICAgIGVsc2U6
Ci0gICAgICAgICAgICAgICAgaHR0cF9zdWZmaXggPSAnJwotCi0gICAgICAgICAgICB1cmwgPSAn
aHR0cCVzOi8vMTI3LjAuMC4xOiVkLycgJSAoaHR0cF9zdWZmaXgsIG1hcHBpbmdbJ3BvcnQnXSkK
KyAgICAgICAgaWYgbm90IHNlbGYuX2V4ZWN1dGl2ZS5jaGVja19ydW5uaW5nX3BpZChzZWxmLl9w
cm9jZXNzLnBpZCk6CisgICAgICAgICAgICBfbG9nLmRlYnVnKCJTZXJ2ZXIgaXNuJ3QgcnVubmlu
ZyBhdCBhbGwiKQorICAgICAgICAgICAgcmFpc2UgU2VydmVyRXJyb3IoIlNlcnZlciBleGl0ZWQi
KQogCisgICAgICAgIGZvciBtYXBwaW5nIGluIHNlbGYubWFwcGluZ3M6CisgICAgICAgICAgICBz
ID0gc29ja2V0LnNvY2tldCgpCisgICAgICAgICAgICBwb3J0ID0gbWFwcGluZ1sncG9ydCddCiAg
ICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgcmVzcG9uc2UgPSB1cmxsaWIudXJsb3Bl
bih1cmwsIHByb3hpZXM9e30pCi0gICAgICAgICAgICAgICAgX2xvZy5kZWJ1ZygiU2VydmVyIHJ1
bm5pbmcgYXQgJXMiICUgdXJsKQorICAgICAgICAgICAgICAgIHMuY29ubmVjdCgoJ2xvY2FsaG9z
dCcsIHBvcnQpKQorICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoIlNlcnZlciBydW5uaW5nIG9u
ICVkIiAlIHBvcnQpCiAgICAgICAgICAgICBleGNlcHQgSU9FcnJvciwgZToKLSAgICAgICAgICAg
ICAgICBfbG9nLmRlYnVnKCJTZXJ2ZXIgTk9UIHJ1bm5pbmcgYXQgJXM6ICVzIiAlICh1cmwsIGUp
KQorICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gbm90IGluIChlcnJuby5FQ09OTlJFRlVTRUQs
IGVycm5vLkVDT05OUkVTRVQpOgorICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAg
ICAgICAgIF9sb2cuZGVidWcoIlNlcnZlciBOT1QgcnVubmluZyBvbiAlZDogJXMiICUgKHBvcnQs
IGUpKQogICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQotCisgICAgICAgICAgICBmaW5hbGx5
OgorICAgICAgICAgICAgICAgIHMuY2xvc2UoKQogICAgICAgICByZXR1cm4gVHJ1ZQogCisgICAg
ZGVmIGNoZWNrX3RoYXRfYWxsX3BvcnRzX2FyZV9hdmFpbGFibGUoc2VsZik6CisgICAgICAgIGZv
ciBtYXBwaW5nIGluIHNlbGYubWFwcGluZ3M6CisgICAgICAgICAgICBzID0gc29ja2V0LnNvY2tl
dCgpCisgICAgICAgICAgICBwb3J0ID0gbWFwcGluZ1sncG9ydCddCisgICAgICAgICAgICB0cnk6
CisgICAgICAgICAgICAgICAgcy5iaW5kKCgnbG9jYWxob3N0JywgcG9ydCkpCisgICAgICAgICAg
ICBleGNlcHQgSU9FcnJvciwgZToKKyAgICAgICAgICAgICAgICBpZiBlLmVycm5vIGluIChlcnJu
by5FQUxSRUFEWSwgZXJybm8uRUFERFJJTlVTRSk6CisgICAgICAgICAgICAgICAgICAgIHJhaXNl
IFNlcnZlckVycm9yKCdQb3J0ICVkIGlzIGFscmVhZHkgaW4gdXNlLicgJSBwb3J0KQorICAgICAg
ICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIFNlcnZlckVycm9yKCdV
bmV4cGVjdGVkIGVycm9yOiAlcy4nICUgc3RyKGUpKQorICAgICAgICAgICAgZmluYWxseToKKyAg
ICAgICAgICAgICAgICBzLmNsb3NlKCkKKwogICAgIGRlZiByZW1vdmVfbG9nX2ZpbGVzKHNlbGYs
IGZvbGRlciwgc3RhcnRzX3dpdGgpOgotICAgICAgICBmaWxlcyA9IG9zLmxpc3RkaXIoZm9sZGVy
KQorICAgICAgICBmaWxlcyA9IHNlbGYuX2ZpbGVzeXN0ZW0ubGlzdGRpcihmb2xkZXIpCiAgICAg
ICAgIGZvciBmaWxlIGluIGZpbGVzOgogICAgICAgICAgICAgaWYgZmlsZS5zdGFydHN3aXRoKHN0
YXJ0c193aXRoKToKLSAgICAgICAgICAgICAgICBmdWxsX3BhdGggPSBvcy5wYXRoLmpvaW4oZm9s
ZGVyLCBmaWxlKQotICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW0uRmlsZVN5c3RlbSgpLnJlbW92
ZShmdWxsX3BhdGgpCisgICAgICAgICAgICAgICAgZnVsbF9wYXRoID0gc2VsZi5fZmlsZXN5c3Rl
bS5qb2luKGZvbGRlciwgZmlsZSkKKyAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLnJl
bW92ZShmdWxsX3BhdGgpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L3dlYnNvY2tldF9zZXJ2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L3dlYnNvY2tldF9zZXJ2ZXIucHkKaW5kZXggYTU5Y2IxZmFkYjhj
ODc3Njc1ZDAyMTE0MzEzMWI2ODM2MTllMGUyZS4uYWFjNGUyYWQ3NGFhNWI3YzhiMGYwMDEwNmU3
ZDdlZWJhYzY2NmJmYSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC93ZWJzb2NrZXRfc2VydmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Vic29ja2V0X3NlcnZlci5weQpAQCAtNDAsMTAgKzQwLDkg
QEAgaW1wb3J0IHN1YnByb2Nlc3MKIGltcG9ydCBzeXMKIGltcG9ydCB0ZW1wZmlsZQogaW1wb3J0
IHRpbWUKLWltcG9ydCB1cmxsaWIKIAotaW1wb3J0IGZhY3RvcnkKIGltcG9ydCBodHRwX3NlcnZl
cgoraW1wb3J0IGh0dHBfc2VydmVyX2Jhc2UKIAogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVt
LmV4ZWN1dGl2ZSBpbXBvcnQgRXhlY3V0aXZlCiAKQEAgLTU3LDQxICs1Niw2IEBAIF9ERUZBVUxU
X1dTX1BPUlQgPSA4ODgwCiBfREVGQVVMVF9XU1NfUE9SVCA9IDkzMjMKIAogCi1kZWYgdXJsX2lz
X2FsaXZlKHVybCk6Ci0gICAgIiIiQ2hlY2tzIHRvIHNlZSBpZiB3ZSBnZXQgYW4gaHR0cCByZXNw
b25zZSBmcm9tIHx1cmx8LgotICAgIFdlIHBvbGwgdGhlIHVybCAyMCB0aW1lcyB3aXRoIGEgMC41
IHNlY29uZCBkZWxheS4gIElmIHdlIGRvbid0Ci0gICAgZ2V0IGEgcmVwbHkgaW4gdGhhdCB0aW1l
LCB3ZSBnaXZlIHVwIGFuZCBhc3N1bWUgdGhlIGh0dHBkCi0gICAgZGlkbid0IHN0YXJ0IHByb3Bl
cmx5LgotCi0gICAgQXJnczoKLSAgICAgIHVybDogVGhlIFVSTCB0byBjaGVjay4KLSAgICBSZXR1
cm46Ci0gICAgICBUcnVlIGlmIHRoZSB1cmwgaXMgYWxpdmUuCi0gICAgIiIiCi0gICAgc2xlZXBf
dGltZSA9IDAuNQotICAgIHdhaXRfdGltZSA9IDEwCi0gICAgd2hpbGUgd2FpdF90aW1lID4gMDoK
LSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmVzcG9uc2UgPSB1cmxsaWIudXJsb3Blbih1cmws
IHByb3hpZXM9e30pCi0gICAgICAgICAgICAjIFNlcnZlciBpcyB1cCBhbmQgcmVzcG9uZGluZy4K
LSAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yOgotICAgICAg
ICAgICAgcGFzcwotICAgICAgICAjIFdhaXQgZm9yIHNsZWVwX3RpbWUgYmVmb3JlIHRyeWluZyBh
Z2Fpbi4KLSAgICAgICAgd2FpdF90aW1lIC09IHNsZWVwX3RpbWUKLSAgICAgICAgdGltZS5zbGVl
cChzbGVlcF90aW1lKQotCi0gICAgcmV0dXJuIEZhbHNlCi0KLQotY2xhc3MgUHlXZWJTb2NrZXRO
b3RTdGFydGVkKEV4Y2VwdGlvbik6Ci0gICAgcGFzcwotCi0KLWNsYXNzIFB5V2ViU29ja2V0Tm90
Rm91bmQoRXhjZXB0aW9uKToKLSAgICBwYXNzCi0KLQogY2xhc3MgUHlXZWJTb2NrZXQoaHR0cF9z
ZXJ2ZXIuTGlnaHR0cGQpOgogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBvcnRfb2JqLCBvdXRw
dXRfZGlyLCBwb3J0PV9ERUZBVUxUX1dTX1BPUlQsCkBAIC0xMTgsNiArODIsNyBAQCBjbGFzcyBQ
eVdlYlNvY2tldChodHRwX3NlcnZlci5MaWdodHRwZCk6CiAgICAgICAgICAgICBzZWxmLl9zZXJ2
ZXJfbmFtZSA9ICdQeVdlYlNvY2tldCcKICAgICAgICAgc2VsZi5fcGlkZmlsZSA9IHBpZGZpbGUK
ICAgICAgICAgc2VsZi5fd3NvdXQgPSBOb25lCisgICAgICAgIHNlbGYubWFwcGluZ3MgPSBbXQog
CiAgICAgICAgICMgV2Via2l0IHRlc3RzCiAgICAgICAgIGlmIHNlbGYuX3Jvb3Q6CkBAIC0xMzgs
OCArMTAzLDcgQEAgY2xhc3MgUHlXZWJTb2NrZXQoaHR0cF9zZXJ2ZXIuTGlnaHR0cGQpOgogICAg
ICAgICAgICAgX2xvZy5pbmZvKCdObyBuZWVkIHRvIHN0YXJ0ICVzIHNlcnZlci4nICUgc2VsZi5f
c2VydmVyX25hbWUpCiAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgaWYgc2VsZi5pc19ydW5u
aW5nKCk6Ci0gICAgICAgICAgICByYWlzZSBQeVdlYlNvY2tldE5vdFN0YXJ0ZWQoJyVzIGlzIGFs
cmVhZHkgcnVubmluZy4nICUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzZWxmLl9zZXJ2ZXJfbmFtZSkKKyAgICAgICAgICAgIHJhaXNlIGh0dHBfc2VydmVyX2Jhc2Uu
U2VydmVyRXJyb3IoJyVzIGlzIGFscmVhZHkgcnVubmluZy4nICUgc2VsZi5fc2VydmVyX25hbWUp
CiAKICAgICAgICAgdGltZV9zdHIgPSB0aW1lLnN0cmZ0aW1lKCclZCViJVktJUglTSVTJykKICAg
ICAgICAgaWYgc2VsZi5fdXNlX3RsczoKQEAgLTE0OSw3ICsxMTMsMTIgQEAgY2xhc3MgUHlXZWJT
b2NrZXQoaHR0cF9zZXJ2ZXIuTGlnaHR0cGQpOgogICAgICAgICBsb2dfZmlsZV9uYW1lID0gbG9n
X3ByZWZpeCArIHRpbWVfc3RyCiAKICAgICAgICAgIyBSZW1vdmUgb2xkIGxvZyBmaWxlcy4gV2Ug
b25seSBuZWVkIHRvIGtlZXAgdGhlIGxhc3Qgb25lcy4KLSAgICAgICAgc2VsZi5yZW1vdmVfbG9n
X2ZpbGVzKHNlbGYuX291dHB1dF9kaXIsIGxvZ19wcmVmaXgpCisgICAgICAgICMgRG9uJ3Qgd29y
cnkgdG9vIG11Y2ggaWYgdGhpcyBmYWlscy4KKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2Vs
Zi5yZW1vdmVfbG9nX2ZpbGVzKHNlbGYuX291dHB1dF9kaXIsIGxvZ19wcmVmaXgpCisgICAgICAg
IGV4Y2VwdCBPU0Vycm9yLCBlOgorICAgICAgICAgICAgX2xvZy53YXJuaW5nKCdGYWlsZWQgdG8g
cmVtb3ZlIG9sZCB3ZWJzb2NrZXQgc2VydmVyIGxvZyBmaWxlcycpCisgICAgICAgICAgICBwYXNz
CiAKICAgICAgICAgZXJyb3JfbG9nID0gb3MucGF0aC5qb2luKHNlbGYuX291dHB1dF9kaXIsIGxv
Z19maWxlX25hbWUgKyAiLWVyci50eHQiKQogCkBAIC0xOTEsNiArMTYwLDkgQEAgY2xhc3MgUHlX
ZWJTb2NrZXQoaHR0cF9zZXJ2ZXIuTGlnaHR0cGQpOgogICAgICAgICBlbnZbJ1BZVEhPTlBBVEgn
XSA9IChweXdlYnNvY2tldF9iYXNlICsgb3MucGF0aC5wYXRoc2VwICsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZW52LmdldCgnUFlUSE9OUEFUSCcsICcnKSkKIAorICAgICAgICBzZWxm
Lm1hcHBpbmdzID0gW3sncG9ydCc6IHNlbGYuX3BvcnR9XQorICAgICAgICBzZWxmLmNoZWNrX3Ro
YXRfYWxsX3BvcnRzX2FyZV9hdmFpbGFibGUoKQorCiAgICAgICAgIF9sb2cuZGVidWcoJ1N0YXJ0
aW5nICVzIHNlcnZlciBvbiAlZC4nICUgKAogICAgICAgICAgICAgICAgICAgIHNlbGYuX3NlcnZl
cl9uYW1lLCBzZWxmLl9wb3J0KSkKICAgICAgICAgX2xvZy5kZWJ1ZygnY21kbGluZTogJXMnICUg
JyAnLmpvaW4oc3RhcnRfY21kKSkKQEAgLTIwMiwyNyArMTc0LDkgQEAgY2xhc3MgUHlXZWJTb2Nr
ZXQoaHR0cF9zZXJ2ZXIuTGlnaHR0cGQpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGVudj1lbnYpCiAKLSAgICAgICAgaWYgc2VsZi5fdXNlX3Rs
czoKLSAgICAgICAgICAgIHVybCA9ICdodHRwcycKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAg
IHVybCA9ICdodHRwJwotICAgICAgICB1cmwgPSB1cmwgKyAnOi8vMTI3LjAuMC4xOiVkLycgJSBz
ZWxmLl9wb3J0Ci0gICAgICAgIGlmIG5vdCB1cmxfaXNfYWxpdmUodXJsKToKLSAgICAgICAgICAg
IGlmIHNlbGYuX3Byb2Nlc3MucmV0dXJuY29kZSA9PSBOb25lOgotICAgICAgICAgICAgICAgICMg
RklYTUU6IFdlIHNob3VsZCB1c2UgYSBub24tc3RhdGljIEV4ZWN1dGl2ZSBmb3IgZWFzaWVyCi0g
ICAgICAgICAgICAgICAgIyB0ZXN0aW5nLgotICAgICAgICAgICAgICAgIEV4ZWN1dGl2ZSgpLmtp
bGxfcHJvY2VzcyhzZWxmLl9wcm9jZXNzLnBpZCkKLSAgICAgICAgICAgIHdpdGggY29kZWNzLm9w
ZW4ob3V0cHV0X2xvZywgInIiLCAidXRmLTgiKSBhcyBmcDoKLSAgICAgICAgICAgICAgICBmb3Ig
bGluZSBpbiBmcDoKLSAgICAgICAgICAgICAgICAgICAgX2xvZy5lcnJvcihsaW5lKQotICAgICAg
ICAgICAgcmFpc2UgUHlXZWJTb2NrZXROb3RTdGFydGVkKAotICAgICAgICAgICAgICAgICdGYWls
ZWQgdG8gc3RhcnQgJXMgc2VydmVyIG9uIHBvcnQgJXMuJyAlCi0gICAgICAgICAgICAgICAgICAg
IChzZWxmLl9zZXJ2ZXJfbmFtZSwgc2VsZi5fcG9ydCkpCi0KLSAgICAgICAgIyBPdXIgcHJvY2Vz
cyB0ZXJtaW5hdGVkIGFscmVhZHkKLSAgICAgICAgaWYgc2VsZi5fcHJvY2Vzcy5yZXR1cm5jb2Rl
ICE9IE5vbmU6Ci0gICAgICAgICAgICByYWlzZSBQeVdlYlNvY2tldE5vdFN0YXJ0ZWQoCi0gICAg
ICAgICAgICAgICAgJ0ZhaWxlZCB0byBzdGFydCAlcyBzZXJ2ZXIuJyAlIHNlbGYuX3NlcnZlcl9u
YW1lKQorICAgICAgICBzZXJ2ZXJfc3RhcnRlZCA9IHNlbGYud2FpdF9mb3JfYWN0aW9uKHNlbGYu
aXNfc2VydmVyX3J1bm5pbmdfb25fYWxsX3BvcnRzKQorICAgICAgICBpZiBub3Qgc2VydmVyX3N0
YXJ0ZWQgb3Igc2VsZi5fcHJvY2Vzcy5yZXR1cm5jb2RlICE9IE5vbmU6CisgICAgICAgICAgICBy
YWlzZSBodHRwX3NlcnZlcl9iYXNlLlNlcnZlckVycm9yKCdGYWlsZWQgdG8gc3RhcnQgd2Vic29j
a2V0IHNlcnZlciBvbiBwb3J0ICVkLicgJSBzZWxmLl9wb3J0KQogICAgICAgICBpZiBzZWxmLl9w
aWRmaWxlOgogICAgICAgICAgICAgd2l0aCBjb2RlY3Mub3BlbihzZWxmLl9waWRmaWxlLCAidyIs
ICJhc2NpaSIpIGFzIGZpbGU6CiAgICAgICAgICAgICAgICAgZmlsZS53cml0ZSgiJWQiICUgc2Vs
Zi5fcHJvY2Vzcy5waWQpCkBAIC0yMzksMTIgKzE5MywxMCBAQCBjbGFzcyBQeVdlYlNvY2tldCho
dHRwX3NlcnZlci5MaWdodHRwZCk6CiAgICAgICAgICAgICAgICAgcGlkID0gaW50KGZpbGUucmVh
ZCgpLnN0cmlwKCkpCiAKICAgICAgICAgaWYgbm90IHBpZDoKLSAgICAgICAgICAgIHJhaXNlIFB5
V2ViU29ja2V0Tm90Rm91bmQoCi0gICAgICAgICAgICAgICAgJ0ZhaWxlZCB0byBmaW5kICVzIHNl
cnZlciBwaWQuJyAlIHNlbGYuX3NlcnZlcl9uYW1lKQorICAgICAgICAgICAgcmFpc2UgaHR0cF9z
ZXJ2ZXJfYmFzZS5TZXJ2ZXJFcnJvcignRmFpbGVkIHRvIGZpbmQgJXMgc2VydmVyIHBpZC4nICUg
c2VsZi5fc2VydmVyX25hbWUpCiAKICAgICAgICAgX2xvZy5kZWJ1ZygnU2h1dHRpbmcgZG93biAl
cyBzZXJ2ZXIgJWQuJyAlIChzZWxmLl9zZXJ2ZXJfbmFtZSwgcGlkKSkKLSAgICAgICAgIyBGSVhN
RTogV2Ugc2hvdWxkIHVzZSBhIG5vbi1zdGF0aWMgRXhlY3V0aXZlIGZvciBlYXNpZXIgdGVzdGlu
Zy4KLSAgICAgICAgRXhlY3V0aXZlKCkua2lsbF9wcm9jZXNzKHBpZCkKKyAgICAgICAgc2VsZi5f
cG9ydF9vYmouX2V4ZWN1dGl2ZS5raWxsX3Byb2Nlc3MocGlkKQogCiAgICAgICAgIGlmIHNlbGYu
X3Byb2Nlc3M6CiAgICAgICAgICAgICAjIHdhaXQoKSBpcyBub3QgdGhyZWFkc2FmZSBhbmQgY2Fu
IHRocm93IE9TRXJyb3IgZHVlIHRvOgo=
</data>
<flag name="review"
          id="84938"
          type_id="1"
          status="+"
          setter="ojan"
    />
          </attachment>
      

    </bug>

</bugzilla>