<?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>22358</bug_id>
          
          <creation_ts>2008-11-19 11:13:56 -0800</creation_ts>
          <short_desc>Add a test for &quot;Copy&quot; after showing a tooltip</short_desc>
          <delta_ts>2008-12-01 12:48:56 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Pam Greene (IRC:pamg)">pam</reporter>
          <assigned_to name="Pam Greene (IRC:pamg)">pam</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>99343</commentid>
    <comment_count>0</comment_count>
    <who name="Pam Greene (IRC:pamg)">pam</who>
    <bug_when>2008-11-19 11:13:56 -0800</bug_when>
    <thetext>This is a test for bug 18506: &quot;Crash when Ctrl C (copy) is pressed after a series of specific mouse events&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99344</commentid>
    <comment_count>1</comment_count>
      <attachid>25281</attachid>
    <who name="Pam Greene (IRC:pamg)">pam</who>
    <bug_when>2008-11-19 11:17:02 -0800</bug_when>
    <thetext>Created attachment 25281
New test + result

This is the test created by Rahul in bug 18506 and described in more detail there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99347</commentid>
    <comment_count>2</comment_count>
      <attachid>25281</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-11-19 11:29:07 -0800</bug_when>
    <thetext>Comment on attachment 25281
New test + result

How long does this test take to run?

A test that intentionally takes multiple seconds to run is not compatible with the original WebKit regression test philosophy. Anything we can do to avoid having actual 1-second delays in the test would be worthwhile.

With 8000+ tests we really want them all to run as quickly as possible and avoid requiring any real time delays. For example, EventSender has a &quot;leap time forward&quot; feature that we&apos;ve used in the past to avoid this for some tests.

I&apos;m going to say review+, but I am quite concerned about making our tests take a long time to run, one test at a time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99497</commentid>
    <comment_count>3</comment_count>
    <who name="Pam Greene (IRC:pamg)">pam</who>
    <bug_when>2008-11-20 10:05:06 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; I&apos;m going to say review+, but I am quite concerned about making our tests take
&gt; a long time to run, one test at a time.

I was also concerned about the timeouts, but Rahul&apos;s comment in bug 18506 that &quot;making even any small
changes renders the test useless,&quot; combined with the fact that the bug was fixed back in April and is hard to test for failure now, made me wary of shortening them.  I&apos;ve asked Rahul whether that was one of the things he tried specifically back then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99554</commentid>
    <comment_count>4</comment_count>
      <attachid>25281</attachid>
    <who name="Pam Greene (IRC:pamg)">pam</who>
    <bug_when>2008-11-20 15:53:28 -0800</bug_when>
    <thetext>Comment on attachment 25281
New test + result

Removing Darin&apos;s r+ pending further investigation of the setTimeout() calls to speed this up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100858</commentid>
    <comment_count>5</comment_count>
      <attachid>25634</attachid>
    <who name="Pam Greene (IRC:pamg)">pam</who>
    <bug_when>2008-12-01 12:47:25 -0800</bug_when>
    <thetext>Created attachment 25634
Patch as committed, with shorter timeouts

Reduced the timeouts to 400 and 200, respectively, from 1000 and 1000.  Thanks to Rahul for running tests and determining that these are the smallest numbers that still produce the crash on an unpatched version of Chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100859</commentid>
    <comment_count>6</comment_count>
    <who name="Pam Greene (IRC:pamg)">pam</who>
    <bug_when>2008-12-01 12:48:56 -0800</bug_when>
    <thetext>Landed in r38863.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25281</attachid>
            <date>2008-11-19 11:17:02 -0800</date>
            <delta_ts>2008-12-01 12:47:25 -0800</delta_ts>
            <desc>New test + result</desc>
            <filename>22358a.txt</filename>
            <type>text/plain</type>
            <size>12619</size>
            <attacher name="Pam Greene (IRC:pamg)">pam</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM4NTk5
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDgtMTEt
MTkgIFBhbWVsYSBHcmVlbmUgIDxwYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjM1OAorICAgICAgICBBZGQgYSB0ZXN0IGZvciBjcmFzaCBvbiAiQ29w
eSIgYWZ0ZXIgc2hvd2luZyBhIHRvb2x0aXAuCisKKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvY29weS1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9jb3B5LWNyYXNoLmh0bWw6IEFkZGVkLgorCiAyMDA4LTExLTE5ICBBbGV4ZXkgUHJv
c2t1cnlha292ICA8YXBAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBB
ZGxlci4KSW5kZXg6IGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LWNyYXNoLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1jcmFzaC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1jcmFzaC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNyBAQAorTW91c2UgT3ZlcgorCitUaGlzIHRlc3Qg
Y2hlY2tzIHRoZSBmaXggZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODUwNi4gVG8gdGVzdCBpdCBtYW51YWxseToKKyBIb3ZlciBtb3VzZSBvdmVyICJNb3VzZSBP
dmVyIiBsaW5rCisgUXVpY2tseSBqdW1wIHRvIHRoZSB5ZWxsb3cgYm94IHRoYXQgcG9wcyB1cCBh
bmQgc2VsZWN0ICJTZWxlY3QiIGxpbmsKKyBNb3ZlIG1vdXNlIGF3YXkgc28gdGhhdCBwb3AgdXAg
ZGlzYXBwZWFycworIFByZXNzIHRoZSAiQ29weSIga2V5Ym9hcmQgYWNjZWxlcmF0b3IgLSB0aGlz
IHNob3VsZCBub3QgY2F1c2UgYW55IGNyYXNoCkluZGV4OiBlZGl0aW5nL3Bhc3RlYm9hcmQvY29w
eS1jcmFzaC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LWNyYXNo
Lmh0bWwJKHJldmlzaW9uIDApCisrKyBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1jcmFzaC5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM1OCBAQAorPGh0bWw+CisgIDxoZWFkPgorICAgIDxz
Y3JpcHQgc3JjPSIuLi9lZGl0aW5nLmpzIiBsYW5ndWFnZT0iSmF2YVNjcmlwdCIgdHlwZT0idGV4
dC9KYXZhU2NyaXB0IiA+PC9zY3JpcHQ+CisgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAg
ICAgIGRpdi5wb3B1cCB7CisgICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OworICAgICAg
ICBiYWNrZ3JvdW5kOiB5ZWxsb3cgIWltcG9ydGFudDsKKyAgICAgICAgcGFkZGluZzogMC41ZW0g
IWltcG9ydGFudDsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7CisgICAg
ICAgIHotaW5kZXg6IDIwMDAwICFpbXBvcnRhbnQ7CisgICAgICAgIGRpc3BsYXk6IG5vbmU7Cisg
ICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
CisgICAgICBmdW5jdGlvbiBnZXRBYnNvbHV0ZVBvc2l0aW9uKGVsZW1lbnQpIHsKKyAgICAgICAg
dmFyIHIgPSB7IHg6IGVsZW1lbnQub2Zmc2V0TGVmdCwgeTogZWxlbWVudC5vZmZzZXRUb3AgfTsK
KyAgICAgICAgaWYgKGVsZW1lbnQub2Zmc2V0UGFyZW50KSB7CisgICAgICAgICAgdmFyIHRtcCA9
IGdldEFic29sdXRlUG9zaXRpb24oZWxlbWVudC5vZmZzZXRQYXJlbnQpOworICAgICAgICAgIHIu
eCArPSB0bXAueDsKKyAgICAgICAgICByLnkgKz0gdG1wLnk7CisgICAgICAgIH0KKyAgICAgICAg
cmV0dXJuIHI7CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHJ1blRlc3QxKCkgeworICAgICAg
ICBpZiAoIXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisgICAgICAgIGUgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgibW91c2VfdGFyZ2V0Iik7CisgICAgICAgIHIgPSBnZXRBYnNvbHV0ZVBv
c2l0aW9uKGUpOworICAgICAgICB4ID0gci54ICsgZS5vZmZzZXRMZWZ0ICsgZS5vZmZzZXRXaWR0
aCAvIDI7CisgICAgICAgIHkgPSByLnkgKyBlLm9mZnNldFRvcCArIGUub2Zmc2V0SGVpZ2h0IC8g
MjsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7CisgICAgICAgIHdpbmRv
dy5zZXRUaW1lb3V0KCJydW5UZXN0MigpIiwgMTAwMCk7CisgICAgICB9CisKKyAgICAgIGZ1bmN0
aW9uIHJ1blRlc3QyKCkgeworICAgICAgICBlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNl
bGVjdF90YXJnZXQiKTsKKyAgICAgICAgciA9IGdldEFic29sdXRlUG9zaXRpb24oZSk7CisKKyAg
ICAgICAgc2V0U2VsZWN0aW9uQ29tbWFuZChlLCAwLCBlLCAxKTsKKyAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VNb3ZlVG8oMCwgMCk7CisgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCJydW5UZXN0
MygpIiwgMTAwMCk7CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHJ1blRlc3QzKCkgeworICAg
ICAgICBjb3B5Q29tbWFuZCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIE1QUF9iaW5kKGZuLCBzZWxmLCB2YXJf
YXJncykgeworICAgICAgICB2YXIgYm91bmRhcmdzID0gZm4uYm91bmRBcmdzXyB8fCBbXTsKKyAg
ICAgICAgYm91bmRhcmdzID0gYm91bmRhcmdzLmNvbmNhdChBcnJheS5wcm90b3R5cGUuc2xpY2Uu
Y2FsbChhcmd1bWVudHMsIDIpKTsKKworICAgICAgICBpZiAodHlwZW9mIGZuLmJvdW5kU2VsZl8g
IT0gJ3VuZGVmaW5lZCcpIHsKKyAgICAgICAgICBzZWxmID0gZm4uYm91bmRTZWxmXzsKKyAgICAg
ICAgfQorCisgICAgICAgIGlmICh0eXBlb2YgZm4uZm91bmRGbl8gIT0gJ3VuZGVmaW5lZCcpIHsK
KyAgICAgICAgICBmbiA9IGZuLmJvdW5kRm5fOworICAgICAgICB9CisKKyAgICAgICAgdmFyIG5l
d2ZuID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgdmFyIGFyZ3MgPSBib3VuZGFyZ3MuY29uY2F0
KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cykpOworICAgICAgICAgIHJldHVy
biBmbi5hcHBseShzZWxmLCBhcmdzKTsKKyAgICAgICAgfQorCisgICAgICAgIG5ld2ZuLmJvdW5k
QXJnc18gPSBib3VuZGFyZ3M7CisgICAgICAgIG5ld2ZuLmJvdW5kU2VsZl8gPSBzZWxmOworICAg
ICAgICBuZXdmbi5ib3VuZEZuXyA9IGZuOworCisgICAgICAgIHJldHVybiBuZXdmbjsKKyAgICAg
IH07CisKKyAgICAgIGZ1bmN0aW9uIFBlcnNvblBvcHVwKCkgeworICAgICAgICB0aGlzLnBvaW50
ZXJQb3NYID0gMDsKKyAgICAgICAgdGhpcy5wb2ludGVyUG9zWSA9IDA7CisKKyAgICAgICAgdGhp
cy5wb2ludGVyT25UYXJnZXRFbGVtZW50ID0gZmFsc2U7CisKKyAgICAgICAgdGhpcy50YXJnZXRQ
b3NYID0gMDsKKyAgICAgICAgdGhpcy50YXJnZXRQb3NZID0gMDsKKyAgICAgICAgdGhpcy50YXJn
ZXRXaWR0aCA9IDA7CisgICAgICAgIHRoaXMudGFyZ2V0SGVpZ2h0ID0gMDsKKyAgICAgICAgdGhp
cy50YXJnZXRFbGVtZW50ID0gMDsKKworICAgICAgICB0aGlzLmRlbGF5ZWQgPSBmYWxzZTsKKyAg
ICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7CisgICAgICAgIHRoaXMucG9pbnRlck91dHNpZGVQ
b3B1cCA9IGZhbHNlOworCisgICAgICAgIHRoaXMuc2hvd1RpbWVySUQgPSAtMTsKKyAgICAgICAg
dGhpcy5oaWRlVGltZXJJRCA9IC0xOworCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCdsb2FkJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTVBQX2JpbmQodGhpcy5o
YW5kbGVPbkxvYWRfLCB0aGlzKSwgbnVsbCk7CisKKyAgICAgIH07CisKKyAgICAgIFBlcnNvblBv
cHVwLnByb3RvdHlwZS5nZXRQb2ludGVyWF8gPSBmdW5jdGlvbihlKSB7CisgICAgICAgIHZhciB4
LCBzY3JvbGxMZWZ0OworCisgICAgICAgIGlmIChlLnBhZ2VYKSB7CisgICAgICAgICAgeCA9IGUu
cGFnZVg7CisgICAgICAgIH0gZWxzZSBpZiAoZS5jbGllbnRYKSB7CisgICAgICAgICAgeCA9IGUu
Y2xpZW50WCArIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdDsKKyAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICB4ID0gMDsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4geDsKKyAgICAgIH07CisK
KyAgICAgIFBlcnNvblBvcHVwLnByb3RvdHlwZS5nZXRQb2ludGVyWV8gPSBmdW5jdGlvbihlKSB7
CisgICAgICAgIHZhciB5LCBzY3JvbGxUb3A7CisKKyAgICAgICAgaWYgKGUucGFnZVkpIHsKKyAg
ICAgICAgICB5ID0gZS5wYWdlWTsKKyAgICAgICAgfSBlbHNlIGlmIChlLmNsaWVudFkpIHsKKyAg
ICAgICAgICB5ID0gZS5jbGllbnRZICsgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7CisgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgeSA9IDA7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHk7
CisgICAgICB9OworCisgICAgICBQZXJzb25Qb3B1cC5wcm90b3R5cGUucG9pbnRlckNsb3NlRW5v
dWdoXyA9IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICAgICAgdmFyIFBPSU5URVJfVE9MRVJBTkNFID0g
NTsKKyAgICAgICAgaWYgKHRoaXMucG9pbnRlck91dHNpZGVQb3B1cCkgeworICAgICAgICAgIGlm
ICgoeCA+PSB0aGlzLnRhcmdldFBvc1gpICYmCisgICAgICAgICAgICAgICh4IDw9IHRoaXMudGFy
Z2V0UG9zWCArIHRoaXMudGFyZ2V0V2lkdGgpICYmCisgICAgICAgICAgICAgICh5ID49IHRoaXMu
dGFyZ2V0UG9zWSkgJiYKKyAgICAgICAgICAgICAgKHkgPD0gdGhpcy50YXJnZXRQb3NZICsgdGhp
cy50YXJnZXRIZWlnaHQpKSB7CisgICAgICAgICAgICB0aGlzLnBvaW50ZXJPdXRzaWRlUG9wdXAg
PSBmYWxzZTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgIH0KKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICBpZiAoKHggPj0gdGhpcy50YXJnZXRQb3NYIC0gUE9JTlRFUl9U
T0xFUkFOQ0UpICYmCisgICAgICAgICAgICAgICh4IDw9IHRoaXMudGFyZ2V0UG9zWCArIHRoaXMu
dGFyZ2V0V2lkdGggKworICAgICAgICAgICAgICAgICAgICBQT0lOVEVSX1RPTEVSQU5DRSkgJiYK
KyAgICAgICAgICAgICAgKHkgPj0gdGhpcy50YXJnZXRQb3NZIC0gUE9JTlRFUl9UT0xFUkFOQ0Up
ICYmCisgICAgICAgICAgICAgICh5IDw9IHRoaXMudGFyZ2V0UG9zWSArIHRoaXMudGFyZ2V0SGVp
Z2h0ICsKKyAgICAgICAgICAgICAgICAgICAgUE9JTlRFUl9UT0xFUkFOQ0UpKSB7CisgICAgICAg
ICAgICB0aGlzLnBvaW50ZXJPdXRzaWRlUG9wdXAgPSBmYWxzZTsKKyAgICAgICAgICAgIHJldHVy
biB0cnVlOworICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgIH07CisKKyAgICAgIFBlcnNvblBvcHVwLnByb3RvdHlwZS5oYW5kbGVNb3VzZU1vdmVf
ID0gZnVuY3Rpb24oZSkgeworICAgICAgICBpZiAoKHRoaXMuZGVsYXllZCkgfHwgKHRoaXMudmlz
aWJsZSkpIHsKKyAgICAgICAgICBlID0gZSB8fCB3aW5kb3cuZXZlbnQ7CisKKyAgICAgICAgICB2
YXIgeCA9IHRoaXMuZ2V0UG9pbnRlclhfKGUpOworICAgICAgICAgIHZhciB5ID0gdGhpcy5nZXRQ
b2ludGVyWV8oZSk7CisKKyAgICAgICAgICBpZiAodGhpcy5wb2ludGVyQ2xvc2VFbm91Z2hfKHgs
IHkpKSB7CisgICAgICAgICAgICBpZiAodGhpcy5oaWRlVGltZXJJRCkgeworICAgICAgICAgICAg
ICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuaGlkZVRpbWVySUQpOworICAgICAgICAgICAgICB0
aGlzLmhpZGVUaW1lcklEID0gLTE7CisgICAgICAgICAgICB9CisgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIGlmICh0aGlzLmhpZGVUaW1lcklEID09IC0xKSB7CisgICAgICAgICAgICAg
IHRoaXMuaGlkZVRpbWVySUQgPSB3aW5kb3cuc2V0VGltZW91dChNUFBfYmluZCh0aGlzLmhpZGVf
LCB0aGlzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDIwMCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9
OworCisgICAgICBQZXJzb25Qb3B1cC5wcm90b3R5cGUucmVzaXplRWxlbWVudF8gPSBmdW5jdGlv
bihlbCwgeCwgeSwgdywgaCkgeworICAgICAgICBpZiAoeCAhPSBmYWxzZSkgeworICAgICAgICAg
IGVsLnN0eWxlLmxlZnQgPSB4ICsgJ3B4JzsKKyAgICAgICAgfQorICAgICAgICBpZiAoeSAhPSBm
YWxzZSkgeworICAgICAgICAgIGVsLnN0eWxlLnRvcCA9IHkgKyAncHgnOworICAgICAgICB9Cisg
ICAgICAgIGlmICh3ICE9IGZhbHNlKSB7CisgICAgICAgICAgZWwuc3R5bGUud2lkdGggPSB3ICsg
J3B4JzsKKyAgICAgICAgfQorICAgICAgICBpZiAoaCAhPSBmYWxzZSkgeworICAgICAgICAgIGVs
LnN0eWxlLmhlaWdodCA9IGggKyAncHgnOworICAgICAgICB9CisgICAgICB9OworCisgICAgICBQ
ZXJzb25Qb3B1cC5wcm90b3R5cGUuc2hvd18gPSBmdW5jdGlvbigpIHsKKyAgICAgICAgdGhpcy5z
aG93VGltZXJJRCA9IC0xOworCisgICAgICAgIGlmICh0aGlzLmhpZGVUaW1lcklEICE9IC0xKSB7
CisgICAgICAgICAgdGhpcy5kZWxheWVkID0gZmFsc2U7CisgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisgICAgICAgIGlmICghdGhpcy5wb2ludGVyT25UYXJnZXRFbGVtZW50KSB7CisgICAg
ICAgICAgdGhpcy5kZWxheWVkID0gZmFsc2U7CisgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CisgICAgICAgIHRoaXMucmVzaXplRWxlbWVudF8odGhpcy5wb3B1cERldGFpbGVkRWxlbWVudCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhcmdldFBvc1gsIHRoaXMudGFyZ2V0
UG9zWSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhcmdldFdpZHRoLCBmYWxz
ZSk7CisgICAgICAgIHRoaXMucG9wdXBEZXRhaWxlZEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdi
bG9jayc7CisgICAgICAgIHRoaXMucG9wdXBEZXRhaWxlZEVsZW1lbnQuaW5uZXJIVE1MID0gIjxh
IGhyZWY9J2h0dHA6Ly9kbmVkZS5jb20nIGlkPSdzZWxlY3RfdGFyZ2V0Jz5TZWxlY3Q8L2E+IjsK
KyAgICAgICAgdGhpcy5wb3B1cERldGFpbGVkRWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ3Zp
c2libGUnOworICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlOworICAgICAgICB0aGlzLmRlbGF5
ZWQgPSBmYWxzZTsKKyAgICAgIH07CisKKyAgICAgIFBlcnNvblBvcHVwLnByb3RvdHlwZS5oaWRl
XyA9IGZ1bmN0aW9uKCkgeworICAgICAgICB0aGlzLmhpZGVUaW1lcklEID0gLTE7CisgICAgICAg
IHRoaXMucG9wdXBEZXRhaWxlZEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKKyAgICAg
ICAgdGhpcy52aXNpYmxlID0gZmFsc2U7CisgICAgICAgIHRoaXMuZGVsYXllZCA9IGZhbHNlOwor
ICAgICAgfTsKKworICAgICAgUGVyc29uUG9wdXAucHJvdG90eXBlLmhhbmRsZUFuY2hvck1vdXNl
TW92ZV8gPSBmdW5jdGlvbihlKSB7CisgICAgICAgIGUgPSBlIHx8IHdpbmRvdy5ldmVudDsKKwor
ICAgICAgICB2YXIgdGFyZ2V0RWxlbWVudCA9IChlLnRhcmdldCkgPyBlLnRhcmdldCA6IGUuc3Jj
RWxlbWVudDsKKworICAgICAgICB0aGlzLnBvaW50ZXJPblRhcmdldEVsZW1lbnQgPSB0cnVlOwor
CisgICAgICAgIGlmICh0YXJnZXRFbGVtZW50ID09IHRoaXMudGFyZ2V0RWxlbWVudCkgeworICAg
ICAgICAgIHRoaXMueCA9IHRoaXMuZ2V0UG9pbnRlclhfKGUpOworICAgICAgICAgIHRoaXMueSA9
IHRoaXMuZ2V0UG9pbnRlcllfKGUpOworCisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgdGhp
cy5oYW5kbGVBbmNob3JNb3VzZU92ZXJfKGUpOworICAgICAgICB9CisgICAgICB9OworCisgICAg
ICBQZXJzb25Qb3B1cC5wcm90b3R5cGUuaGFuZGxlQW5jaG9yTW91c2VPdmVyXyA9IGZ1bmN0aW9u
KGUpIHsKKyAgICAgICAgZSA9IGUgfHwgd2luZG93LmV2ZW50OworICAgICAgICB2YXIgdGFyZ2V0
RWxlbWVudCA9IChlLnRhcmdldCkgPyBlLnRhcmdldCA6IGUuc3JjRWxlbWVudDsKKworICAgICAg
ICBpZiAodGhpcy52aXNpYmxlICYmCisgICAgICAgICAgICAodGFyZ2V0RWxlbWVudCA9PSB0aGlz
LnRhcmdldEVsZW1lbnQpICYmCisgICAgICAgICAgICAodGhpcy5oaWRlVGltZXJJRCA9PSAtMSkp
IHsKKyAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICB0aGlzLnggPSB0aGlz
LmdldFBvaW50ZXJYXyhlKTsKKyAgICAgICAgdGhpcy55ID0gdGhpcy5nZXRQb2ludGVyWV8oZSk7
CisKKyAgICAgICAgaWYgKHRoaXMudmlzaWJsZSAmJgorICAgICAgICAgICAgKHRhcmdldEVsZW1l
bnQgIT0gdGhpcy50YXJnZXRFbGVtZW50KSAmJgorICAgICAgICAgICAgKHRoaXMucG9pbnRlckNs
b3NlRW5vdWdoXyh0aGlzLngsIHRoaXMueSkpKSB7CisgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CisKKyAgICAgICAgaWYgKHRoaXMuZGVsYXllZCAmJiAodGhpcy50YXJnZXRFbGVtZW50ID09
IHRhcmdldEVsZW1lbnQpKSB7CisgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAg
ICAgdGhpcy50YXJnZXRFbGVtZW50ID0gdGFyZ2V0RWxlbWVudDsKKyAgICAgICAgdmFyIHNjcmVl
bldpZHRoID0gc2VsZi5pbm5lcldpZHRoOworICAgICAgICB2YXIgc2NyZWVuSGVpZ2h0ID0gc2Vs
Zi5pbm5lckhlaWdodDsKKyAgICAgICAgdmFyIHNjcm9sbFRvcCA9IGRvY3VtZW50LmRvY3VtZW50
RWxlbWVudC5zY3JvbGxUb3A7CisgICAgICAgIHZhciBzY3JvbGxMZWZ0ID0gZG9jdW1lbnQuZG9j
dW1lbnRFbGVtZW50LnNjcm9sbExlZnQ7CisgICAgICAgIHRoaXMudGFyZ2V0V2lkdGggPSAxMi43
ICogMjY7CisgICAgICAgIHRoaXMudGFyZ2V0SGVpZ2h0ID0gMTIuNyAqIDEzOworICAgICAgICB0
aGlzLnRhcmdldFBvc1ggPSBNYXRoLmZsb29yKHRoaXMueCArIDE1KTsKKyAgICAgICAgdGhpcy50
YXJnZXRQb3NZID0gTWF0aC5mbG9vcih0aGlzLnkgKyAyMCk7CisKKyAgICAgICAgaWYgKHRoaXMu
c2hvd1RpbWVySUQgIT0gLTEpIHsKKyAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMu
c2hvd1RpbWVySUQpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkgewor
ICAgICAgICAgIHRoaXMucG9wdXBEZXRhaWxlZEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25l
JzsKKyAgICAgICAgICB0aGlzLnNob3dUaW1lcklEID0KKyAgICAgICAgICAgIHdpbmRvdy5zZXRU
aW1lb3V0KE1QUF9iaW5kKHRoaXMuc2hvd18sIHRoaXMpLCAyMDApOworICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgIHRoaXMuc2hvd1RpbWVySUQgPQorICAgICAgICAgICAgd2luZG93LnNldFRp
bWVvdXQoTVBQX2JpbmQodGhpcy5zaG93XywgdGhpcyksIDM1MCk7CisgICAgICAgIH0KKworICAg
ICAgICB0aGlzLmRlbGF5ZWQgPSB0cnVlOworICAgICAgICB0aGlzLnBvaW50ZXJPdXRzaWRlUG9w
dXAgPSB0cnVlOworICAgICAgfTsKKworICAgICAgUGVyc29uUG9wdXAucHJvdG90eXBlLmhhbmRs
ZU1vdXNlT3V0XyA9IGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgaWYgKCh0aGlzLmRlbGF5ZWQpIHx8
ICh0aGlzLnZpc2libGUpKSB7CisKKyAgICAgICAgICB0aGlzLnBvaW50ZXJPblRhcmdldEVsZW1l
bnQgPSBmYWxzZTsKKworICAgICAgICAgIGUgPSBlIHx8IHdpbmRvdy5ldmVudDsKKworICAgICAg
ICAgIGlmIChlKSB7CisgICAgICAgICAgICB2YXIgZnJvbSA9IG51bGw7CisKKyAgICAgICAgICAg
IGlmIChlLnJlbGF0ZWRUYXJnZXQpIHsKKyAgICAgICAgICAgICAgZnJvbSA9IGUucmVsYXRlZFRh
cmdldDsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoZS50b0VsZW1lbnQpIHsKKyAgICAgICAgICAg
ICAgZnJvbSA9IGUudG9FbGVtZW50OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB2YXIg
dGFyZ2V0RWxlbWVudCA9IChlLnRhcmdldCkgPyBlLnRhcmdldCA6IGUuc3JjRWxlbWVudDsKKwor
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgaWYgKChmcm9tID09IG51bGwpIHx8IChm
cm9tLnRhZ05hbWUgPT0gJ0hUTUwnKSB8fAorICAgICAgICAgICAgICAgICAgKGZyb20udGFnTmFt
ZS5zdWJzdHJpbmcoMCwgMykgPT0gJ3h1bCcpKSB7CisgICAgICAgICAgICAgICAgdGhpcy5oaWRl
VGltZXJJRCA9CisgICAgICAgICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dChNUFBfYmluZCh0
aGlzLmhpZGVfLCB0aGlzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIw
MCk7CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gY2F0Y2goZSkgeworCisgICAgICAg
ICAgICB9CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9OworCisgICAgICBQZXJzb25Q
b3B1cC5wcm90b3R5cGUuaGFuZGxlT25Mb2FkXyA9IGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgZSA9
IGUgfHwgd2luZG93LmV2ZW50OworICAgICAgICB0aGlzLnBvcHVwRGV0YWlsZWRFbGVtZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgIHRoaXMucG9wdXBEZXRhaWxl
ZEVsZW1lbnQuCisgICAgICAgICAgICBzZXRBdHRyaWJ1dGUoJ2lkJywncG9wdXBfZGV0YWlsZWQn
KTsKKyAgICAgICAgdGhpcy5wb3B1cERldGFpbGVkRWxlbWVudC5jbGFzc05hbWUgPSAncG9wdXAn
OworICAgICAgICB0aGlzLnBvcHVwRGV0YWlsZWRFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9u
ZSc7CisgICAgICAgIHRoaXMucG9wdXBEZXRhaWxlZEVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAn
YWJzb2x1dGUnOworICAgICAgICB0aGlzLnBvcHVwRGV0YWlsZWRFbGVtZW50LmlubmVySFRNTCA9
ICcmbmJzcDsnOworICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMucG9wdXBE
ZXRhaWxlZEVsZW1lbnQpOworCisgICAgICAgIGRvY3VtZW50LmJvZHkub25tb3VzZW1vdmUgPSBN
UFBfYmluZCh0aGlzLmhhbmRsZU1vdXNlTW92ZV8sIHRoaXMpOworICAgICAgICBkb2N1bWVudC5i
b2R5Lm9ubW91c2VvdXQgPSBNUFBfYmluZCh0aGlzLmhhbmRsZU1vdXNlT3V0XywgdGhpcyk7Cisg
ICAgICAgIHRoaXMuZW5hYmxlUG9wdXBzRm9yQ2hpbGRFbGVtZW50cyhkb2N1bWVudCk7CisgICAg
ICAgIAorICAgICAgICBydW5UZXN0MSgpOworICAgICAgfTsKKworICAgICAgUGVyc29uUG9wdXAu
cHJvdG90eXBlLmVuYWJsZVBvcHVwc0ZvckNoaWxkRWxlbWVudHMgPSBmdW5jdGlvbihlbCkgewor
ICAgICAgICB2YXIgZWxzID0gZWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJyonKTsKKworICAgICAg
ICBmb3IgKHZhciBpID0gMCwgaXRlbTsgaXRlbSA9IGVsc1tpXTsgaSsrKSB7CisgICAgICAgICAg
aWYgKGl0ZW0uY2xhc3NOYW1lLmluZGV4T2YoJ3Nob3dQZXJzb25Qb3B1cCcpICE9IC0xKSB7Cisg
ICAgICAgICAgICBpdGVtLm9ubW91c2VvdmVyID0gTVBQX2JpbmQodGhpcy5oYW5kbGVBbmNob3JN
b3VzZU92ZXJfLCB0aGlzKTsKKyAgICAgICAgICAgIGl0ZW0ub25tb3VzZW1vdmUgPSBNUFBfYmlu
ZCh0aGlzLmhhbmRsZUFuY2hvck1vdXNlTW92ZV8sIHRoaXMpOworICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgfTsKKyAgICAgIAorICAgICAgdmFyIHBlcnNvblBvcHVwID0gbmV3IFBlcnNv
blBvcHVwKCk7CisgICAgPC9zY3JpcHQ+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgPHAgY2xh
c3M9ImJ5bGluZSI+CisgICAgICAgIDxhIGNsYXNzPSJzaG93UGVyc29uUG9wdXAiIGlkPSJtb3Vz
ZV90YXJnZXQiIGhyZWY9ImR1bW15Ij5Nb3VzZSBPdmVyPC9hPgorICAgIDwvcD4KKyAgICA8ZGl2
IGlkPSJsb2dfZGl2Ij4KKyAgICAgIFRoaXMgdGVzdCBjaGVja3MgdGhlIGZpeCBmb3IgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NTA2LiBUbyB0ZXN0IGl0IG1hbnVh
bGx5OgorICAgICAgPGxpLz4gSG92ZXIgbW91c2Ugb3ZlciAiTW91c2UgT3ZlciIgbGluaworICAg
ICAgPGxpLz4gUXVpY2tseSBqdW1wIHRvIHRoZSB5ZWxsb3cgYm94IHRoYXQgcG9wcyB1cCBhbmQg
c2VsZWN0ICJTZWxlY3QiIGxpbmsKKyAgICAgIDxsaS8+IE1vdmUgbW91c2UgYXdheSBzbyB0aGF0
IHBvcCB1cCBkaXNhcHBlYXJzCisgICAgICA8bGkvPiBQcmVzcyB0aGUgIkNvcHkiIGtleWJvYXJk
IGFjY2VsZXJhdG9yIC0gdGhpcyBzaG91bGQgbm90IGNhdXNlIGFueSBjcmFzaAorICAgIDwvZGl2
PgorICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25634</attachid>
            <date>2008-12-01 12:47:25 -0800</date>
            <delta_ts>2008-12-01 12:47:25 -0800</delta_ts>
            <desc>Patch as committed, with shorter timeouts</desc>
            <filename>22358b.txt</filename>
            <type>text/plain</type>
            <size>12618</size>
            <attacher name="Pam Greene (IRC:pamg)">pam</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM4ODYy
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDgtMTIt
MDEgIFBhbWVsYSBHcmVlbmUgIDxwYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjM1OAorICAgICAgICBBZGQgYSB0ZXN0IGZvciBjcmFzaCBvbiAiQ29weSIg
YWZ0ZXIgc2hvd2luZyBhIHRvb2x0aXAuCisKKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
Y29weS1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9jb3B5LWNyYXNoLmh0bWw6IEFkZGVkLgorCiAyMDA4LTEyLTAxICBBbGV4ZXkgUHJvc2t1
cnlha292ICA8YXBAd2Via2l0Lm9yZz4KIAogICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBNYXJr
IFJvd2UuCkluZGV4OiBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1jcmFzaC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktY3Jhc2gtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktY3Jhc2gtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDcgQEAKK01vdXNlIE92ZXIKKworVGhpcyB0ZXN0
IGNoZWNrcyB0aGUgZml4IGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTg1MDYuIFRvIHRlc3QgaXQgbWFudWFsbHk6CisgSG92ZXIgbW91c2Ugb3ZlciAiTW91c2Ug
T3ZlciIgbGluaworIFF1aWNrbHkganVtcCB0byB0aGUgeWVsbG93IGJveCB0aGF0IHBvcHMgdXAg
YW5kIHNlbGVjdCAiU2VsZWN0IiBsaW5rCisgTW92ZSBtb3VzZSBhd2F5IHNvIHRoYXQgcG9wIHVw
IGRpc2FwcGVhcnMKKyBQcmVzcyB0aGUgIkNvcHkiIGtleWJvYXJkIGFjY2VsZXJhdG9yIC0gdGhp
cyBzaG91bGQgbm90IGNhdXNlIGFueSBjcmFzaApJbmRleDogZWRpdGluZy9wYXN0ZWJvYXJkL2Nv
cHktY3Jhc2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1jcmFz
aC5odG1sCShyZXZpc2lvbiAwKQorKysgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktY3Jhc2guaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNTggQEAKKzxodG1sPgorICA8aGVhZD4KKyAgICA8
c2NyaXB0IHNyYz0iLi4vZWRpdGluZy5qcyIgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRl
eHQvSmF2YVNjcmlwdCIgPjwvc2NyaXB0PgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cisg
ICAgICBkaXYucG9wdXAgeworICAgICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsKKyAgICAg
ICAgYmFja2dyb3VuZDogeWVsbG93ICFpbXBvcnRhbnQ7CisgICAgICAgIHBhZGRpbmc6IDAuNWVt
ICFpbXBvcnRhbnQ7CisgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OworICAg
ICAgICB6LWluZGV4OiAyMDAwMCAhaW1wb3J0YW50OworICAgICAgICBkaXNwbGF5OiBub25lOwor
ICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
PgorICAgICAgZnVuY3Rpb24gZ2V0QWJzb2x1dGVQb3NpdGlvbihlbGVtZW50KSB7CisgICAgICAg
IHZhciByID0geyB4OiBlbGVtZW50Lm9mZnNldExlZnQsIHk6IGVsZW1lbnQub2Zmc2V0VG9wIH07
CisgICAgICAgIGlmIChlbGVtZW50Lm9mZnNldFBhcmVudCkgeworICAgICAgICAgIHZhciB0bXAg
PSBnZXRBYnNvbHV0ZVBvc2l0aW9uKGVsZW1lbnQub2Zmc2V0UGFyZW50KTsKKyAgICAgICAgICBy
LnggKz0gdG1wLng7CisgICAgICAgICAgci55ICs9IHRtcC55OworICAgICAgICB9CisgICAgICAg
IHJldHVybiByOworICAgICAgfQorCisgICAgICBmdW5jdGlvbiBydW5UZXN0MSgpIHsKKyAgICAg
ICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgICAgICBlID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoIm1vdXNlX3RhcmdldCIpOworICAgICAgICByID0gZ2V0QWJzb2x1dGVQ
b3NpdGlvbihlKTsKKyAgICAgICAgeCA9IHIueCArIGUub2Zmc2V0TGVmdCArIGUub2Zmc2V0V2lk
dGggLyAyOworICAgICAgICB5ID0gci55ICsgZS5vZmZzZXRUb3AgKyBlLm9mZnNldEhlaWdodCAv
IDI7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOworICAgICAgICB3aW5k
b3cuc2V0VGltZW91dCgicnVuVGVzdDIoKSIsIDQwMCk7CisgICAgICB9CisKKyAgICAgIGZ1bmN0
aW9uIHJ1blRlc3QyKCkgeworICAgICAgICBlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNl
bGVjdF90YXJnZXQiKTsKKyAgICAgICAgciA9IGdldEFic29sdXRlUG9zaXRpb24oZSk7CisKKyAg
ICAgICAgc2V0U2VsZWN0aW9uQ29tbWFuZChlLCAwLCBlLCAxKTsKKyAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VNb3ZlVG8oMCwgMCk7CisgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCJydW5UZXN0
MygpIiwgMjAwKTsKKyAgICAgIH0KKworICAgICAgZnVuY3Rpb24gcnVuVGVzdDMoKSB7CisgICAg
ICAgIGNvcHlDb21tYW5kKCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURv
bmUoKTsKKyAgICAgIH0KKworICAgICAgZnVuY3Rpb24gTVBQX2JpbmQoZm4sIHNlbGYsIHZhcl9h
cmdzKSB7CisgICAgICAgIHZhciBib3VuZGFyZ3MgPSBmbi5ib3VuZEFyZ3NfIHx8IFtdOworICAg
ICAgICBib3VuZGFyZ3MgPSBib3VuZGFyZ3MuY29uY2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5j
YWxsKGFyZ3VtZW50cywgMikpOworCisgICAgICAgIGlmICh0eXBlb2YgZm4uYm91bmRTZWxmXyAh
PSAndW5kZWZpbmVkJykgeworICAgICAgICAgIHNlbGYgPSBmbi5ib3VuZFNlbGZfOworICAgICAg
ICB9CisKKyAgICAgICAgaWYgKHR5cGVvZiBmbi5mb3VuZEZuXyAhPSAndW5kZWZpbmVkJykgewor
ICAgICAgICAgIGZuID0gZm4uYm91bmRGbl87CisgICAgICAgIH0KKworICAgICAgICB2YXIgbmV3
Zm4gPSBmdW5jdGlvbigpIHsKKyAgICAgICAgICB2YXIgYXJncyA9IGJvdW5kYXJncy5jb25jYXQo
QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSk7CisgICAgICAgICAgcmV0dXJu
IGZuLmFwcGx5KHNlbGYsIGFyZ3MpOworICAgICAgICB9CisKKyAgICAgICAgbmV3Zm4uYm91bmRB
cmdzXyA9IGJvdW5kYXJnczsKKyAgICAgICAgbmV3Zm4uYm91bmRTZWxmXyA9IHNlbGY7CisgICAg
ICAgIG5ld2ZuLmJvdW5kRm5fID0gZm47CisKKyAgICAgICAgcmV0dXJuIG5ld2ZuOworICAgICAg
fTsKKworICAgICAgZnVuY3Rpb24gUGVyc29uUG9wdXAoKSB7CisgICAgICAgIHRoaXMucG9pbnRl
clBvc1ggPSAwOworICAgICAgICB0aGlzLnBvaW50ZXJQb3NZID0gMDsKKworICAgICAgICB0aGlz
LnBvaW50ZXJPblRhcmdldEVsZW1lbnQgPSBmYWxzZTsKKworICAgICAgICB0aGlzLnRhcmdldFBv
c1ggPSAwOworICAgICAgICB0aGlzLnRhcmdldFBvc1kgPSAwOworICAgICAgICB0aGlzLnRhcmdl
dFdpZHRoID0gMDsKKyAgICAgICAgdGhpcy50YXJnZXRIZWlnaHQgPSAwOworICAgICAgICB0aGlz
LnRhcmdldEVsZW1lbnQgPSAwOworCisgICAgICAgIHRoaXMuZGVsYXllZCA9IGZhbHNlOworICAg
ICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTsKKyAgICAgICAgdGhpcy5wb2ludGVyT3V0c2lkZVBv
cHVwID0gZmFsc2U7CisKKyAgICAgICAgdGhpcy5zaG93VGltZXJJRCA9IC0xOworICAgICAgICB0
aGlzLmhpZGVUaW1lcklEID0gLTE7CisKKyAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
J2xvYWQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNUFBfYmluZCh0aGlzLmhh
bmRsZU9uTG9hZF8sIHRoaXMpLCBudWxsKTsKKworICAgICAgfTsKKworICAgICAgUGVyc29uUG9w
dXAucHJvdG90eXBlLmdldFBvaW50ZXJYXyA9IGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgdmFyIHgs
IHNjcm9sbExlZnQ7CisKKyAgICAgICAgaWYgKGUucGFnZVgpIHsKKyAgICAgICAgICB4ID0gZS5w
YWdlWDsKKyAgICAgICAgfSBlbHNlIGlmIChlLmNsaWVudFgpIHsKKyAgICAgICAgICB4ID0gZS5j
bGllbnRYICsgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0OworICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgIHggPSAwOworICAgICAgICB9CisgICAgICAgIHJldHVybiB4OworICAgICAgfTsKKwor
ICAgICAgUGVyc29uUG9wdXAucHJvdG90eXBlLmdldFBvaW50ZXJZXyA9IGZ1bmN0aW9uKGUpIHsK
KyAgICAgICAgdmFyIHksIHNjcm9sbFRvcDsKKworICAgICAgICBpZiAoZS5wYWdlWSkgeworICAg
ICAgICAgIHkgPSBlLnBhZ2VZOworICAgICAgICB9IGVsc2UgaWYgKGUuY2xpZW50WSkgeworICAg
ICAgICAgIHkgPSBlLmNsaWVudFkgKyBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICB5ID0gMDsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4geTsK
KyAgICAgIH07CisKKyAgICAgIFBlcnNvblBvcHVwLnByb3RvdHlwZS5wb2ludGVyQ2xvc2VFbm91
Z2hfID0gZnVuY3Rpb24oeCwgeSkgeworICAgICAgICB2YXIgUE9JTlRFUl9UT0xFUkFOQ0UgPSA1
OworICAgICAgICBpZiAodGhpcy5wb2ludGVyT3V0c2lkZVBvcHVwKSB7CisgICAgICAgICAgaWYg
KCh4ID49IHRoaXMudGFyZ2V0UG9zWCkgJiYKKyAgICAgICAgICAgICAgKHggPD0gdGhpcy50YXJn
ZXRQb3NYICsgdGhpcy50YXJnZXRXaWR0aCkgJiYKKyAgICAgICAgICAgICAgKHkgPj0gdGhpcy50
YXJnZXRQb3NZKSAmJgorICAgICAgICAgICAgICAoeSA8PSB0aGlzLnRhcmdldFBvc1kgKyB0aGlz
LnRhcmdldEhlaWdodCkpIHsKKyAgICAgICAgICAgIHRoaXMucG9pbnRlck91dHNpZGVQb3B1cCA9
IGZhbHNlOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgfQorICAgICAgICB9
IGVsc2UgeworICAgICAgICAgIGlmICgoeCA+PSB0aGlzLnRhcmdldFBvc1ggLSBQT0lOVEVSX1RP
TEVSQU5DRSkgJiYKKyAgICAgICAgICAgICAgKHggPD0gdGhpcy50YXJnZXRQb3NYICsgdGhpcy50
YXJnZXRXaWR0aCArCisgICAgICAgICAgICAgICAgICAgIFBPSU5URVJfVE9MRVJBTkNFKSAmJgor
ICAgICAgICAgICAgICAoeSA+PSB0aGlzLnRhcmdldFBvc1kgLSBQT0lOVEVSX1RPTEVSQU5DRSkg
JiYKKyAgICAgICAgICAgICAgKHkgPD0gdGhpcy50YXJnZXRQb3NZICsgdGhpcy50YXJnZXRIZWln
aHQgKworICAgICAgICAgICAgICAgICAgICBQT0lOVEVSX1RPTEVSQU5DRSkpIHsKKyAgICAgICAg
ICAgIHRoaXMucG9pbnRlck91dHNpZGVQb3B1cCA9IGZhbHNlOworICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgfTsKKworICAgICAgUGVyc29uUG9wdXAucHJvdG90eXBlLmhhbmRsZU1vdXNlTW92ZV8g
PSBmdW5jdGlvbihlKSB7CisgICAgICAgIGlmICgodGhpcy5kZWxheWVkKSB8fCAodGhpcy52aXNp
YmxlKSkgeworICAgICAgICAgIGUgPSBlIHx8IHdpbmRvdy5ldmVudDsKKworICAgICAgICAgIHZh
ciB4ID0gdGhpcy5nZXRQb2ludGVyWF8oZSk7CisgICAgICAgICAgdmFyIHkgPSB0aGlzLmdldFBv
aW50ZXJZXyhlKTsKKworICAgICAgICAgIGlmICh0aGlzLnBvaW50ZXJDbG9zZUVub3VnaF8oeCwg
eSkpIHsKKyAgICAgICAgICAgIGlmICh0aGlzLmhpZGVUaW1lcklEKSB7CisgICAgICAgICAgICAg
IHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5oaWRlVGltZXJJRCk7CisgICAgICAgICAgICAgIHRo
aXMuaGlkZVRpbWVySUQgPSAtMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgaWYgKHRoaXMuaGlkZVRpbWVySUQgPT0gLTEpIHsKKyAgICAgICAgICAgICAg
dGhpcy5oaWRlVGltZXJJRCA9IHdpbmRvdy5zZXRUaW1lb3V0KE1QUF9iaW5kKHRoaXMuaGlkZV8s
IHRoaXMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgMjAwKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH07
CisKKyAgICAgIFBlcnNvblBvcHVwLnByb3RvdHlwZS5yZXNpemVFbGVtZW50XyA9IGZ1bmN0aW9u
KGVsLCB4LCB5LCB3LCBoKSB7CisgICAgICAgIGlmICh4ICE9IGZhbHNlKSB7CisgICAgICAgICAg
ZWwuc3R5bGUubGVmdCA9IHggKyAncHgnOworICAgICAgICB9CisgICAgICAgIGlmICh5ICE9IGZh
bHNlKSB7CisgICAgICAgICAgZWwuc3R5bGUudG9wID0geSArICdweCc7CisgICAgICAgIH0KKyAg
ICAgICAgaWYgKHcgIT0gZmFsc2UpIHsKKyAgICAgICAgICBlbC5zdHlsZS53aWR0aCA9IHcgKyAn
cHgnOworICAgICAgICB9CisgICAgICAgIGlmIChoICE9IGZhbHNlKSB7CisgICAgICAgICAgZWwu
c3R5bGUuaGVpZ2h0ID0gaCArICdweCc7CisgICAgICAgIH0KKyAgICAgIH07CisKKyAgICAgIFBl
cnNvblBvcHVwLnByb3RvdHlwZS5zaG93XyA9IGZ1bmN0aW9uKCkgeworICAgICAgICB0aGlzLnNo
b3dUaW1lcklEID0gLTE7CisKKyAgICAgICAgaWYgKHRoaXMuaGlkZVRpbWVySUQgIT0gLTEpIHsK
KyAgICAgICAgICB0aGlzLmRlbGF5ZWQgPSBmYWxzZTsKKyAgICAgICAgICByZXR1cm47CisgICAg
ICAgIH0KKyAgICAgICAgaWYgKCF0aGlzLnBvaW50ZXJPblRhcmdldEVsZW1lbnQpIHsKKyAgICAg
ICAgICB0aGlzLmRlbGF5ZWQgPSBmYWxzZTsKKyAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KyAgICAgICAgdGhpcy5yZXNpemVFbGVtZW50Xyh0aGlzLnBvcHVwRGV0YWlsZWRFbGVtZW50LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGFyZ2V0UG9zWCwgdGhpcy50YXJnZXRQ
b3NZLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGFyZ2V0V2lkdGgsIGZhbHNl
KTsKKyAgICAgICAgdGhpcy5wb3B1cERldGFpbGVkRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2Js
b2NrJzsKKyAgICAgICAgdGhpcy5wb3B1cERldGFpbGVkRWxlbWVudC5pbm5lckhUTUwgPSAiPGEg
aHJlZj0naHR0cDovL2RuZWRlLmNvbScgaWQ9J3NlbGVjdF90YXJnZXQnPlNlbGVjdDwvYT4iOwor
ICAgICAgICB0aGlzLnBvcHVwRGV0YWlsZWRFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAndmlz
aWJsZSc7CisgICAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7CisgICAgICAgIHRoaXMuZGVsYXll
ZCA9IGZhbHNlOworICAgICAgfTsKKworICAgICAgUGVyc29uUG9wdXAucHJvdG90eXBlLmhpZGVf
ID0gZnVuY3Rpb24oKSB7CisgICAgICAgIHRoaXMuaGlkZVRpbWVySUQgPSAtMTsKKyAgICAgICAg
dGhpcy5wb3B1cERldGFpbGVkRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOworICAgICAg
ICB0aGlzLnZpc2libGUgPSBmYWxzZTsKKyAgICAgICAgdGhpcy5kZWxheWVkID0gZmFsc2U7Cisg
ICAgICB9OworCisgICAgICBQZXJzb25Qb3B1cC5wcm90b3R5cGUuaGFuZGxlQW5jaG9yTW91c2VN
b3ZlXyA9IGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgZSA9IGUgfHwgd2luZG93LmV2ZW50OworCisg
ICAgICAgIHZhciB0YXJnZXRFbGVtZW50ID0gKGUudGFyZ2V0KSA/IGUudGFyZ2V0IDogZS5zcmNF
bGVtZW50OworCisgICAgICAgIHRoaXMucG9pbnRlck9uVGFyZ2V0RWxlbWVudCA9IHRydWU7CisK
KyAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQgPT0gdGhpcy50YXJnZXRFbGVtZW50KSB7CisgICAg
ICAgICAgdGhpcy54ID0gdGhpcy5nZXRQb2ludGVyWF8oZSk7CisgICAgICAgICAgdGhpcy55ID0g
dGhpcy5nZXRQb2ludGVyWV8oZSk7CisKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICB0aGlz
LmhhbmRsZUFuY2hvck1vdXNlT3Zlcl8oZSk7CisgICAgICAgIH0KKyAgICAgIH07CisKKyAgICAg
IFBlcnNvblBvcHVwLnByb3RvdHlwZS5oYW5kbGVBbmNob3JNb3VzZU92ZXJfID0gZnVuY3Rpb24o
ZSkgeworICAgICAgICBlID0gZSB8fCB3aW5kb3cuZXZlbnQ7CisgICAgICAgIHZhciB0YXJnZXRF
bGVtZW50ID0gKGUudGFyZ2V0KSA/IGUudGFyZ2V0IDogZS5zcmNFbGVtZW50OworCisgICAgICAg
IGlmICh0aGlzLnZpc2libGUgJiYKKyAgICAgICAgICAgICh0YXJnZXRFbGVtZW50ID09IHRoaXMu
dGFyZ2V0RWxlbWVudCkgJiYKKyAgICAgICAgICAgICh0aGlzLmhpZGVUaW1lcklEID09IC0xKSkg
eworICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHRoaXMueCA9IHRoaXMu
Z2V0UG9pbnRlclhfKGUpOworICAgICAgICB0aGlzLnkgPSB0aGlzLmdldFBvaW50ZXJZXyhlKTsK
KworICAgICAgICBpZiAodGhpcy52aXNpYmxlICYmCisgICAgICAgICAgICAodGFyZ2V0RWxlbWVu
dCAhPSB0aGlzLnRhcmdldEVsZW1lbnQpICYmCisgICAgICAgICAgICAodGhpcy5wb2ludGVyQ2xv
c2VFbm91Z2hfKHRoaXMueCwgdGhpcy55KSkpIHsKKyAgICAgICAgICByZXR1cm47CisgICAgICAg
IH0KKworICAgICAgICBpZiAodGhpcy5kZWxheWVkICYmICh0aGlzLnRhcmdldEVsZW1lbnQgPT0g
dGFyZ2V0RWxlbWVudCkpIHsKKyAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAg
ICB0aGlzLnRhcmdldEVsZW1lbnQgPSB0YXJnZXRFbGVtZW50OworICAgICAgICB2YXIgc2NyZWVu
V2lkdGggPSBzZWxmLmlubmVyV2lkdGg7CisgICAgICAgIHZhciBzY3JlZW5IZWlnaHQgPSBzZWxm
LmlubmVySGVpZ2h0OworICAgICAgICB2YXIgc2Nyb2xsVG9wID0gZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LnNjcm9sbFRvcDsKKyAgICAgICAgdmFyIHNjcm9sbExlZnQgPSBkb2N1bWVudC5kb2N1
bWVudEVsZW1lbnQuc2Nyb2xsTGVmdDsKKyAgICAgICAgdGhpcy50YXJnZXRXaWR0aCA9IDEyLjcg
KiAyNjsKKyAgICAgICAgdGhpcy50YXJnZXRIZWlnaHQgPSAxMi43ICogMTM7CisgICAgICAgIHRo
aXMudGFyZ2V0UG9zWCA9IE1hdGguZmxvb3IodGhpcy54ICsgMTUpOworICAgICAgICB0aGlzLnRh
cmdldFBvc1kgPSBNYXRoLmZsb29yKHRoaXMueSArIDIwKTsKKworICAgICAgICBpZiAodGhpcy5z
aG93VGltZXJJRCAhPSAtMSkgeworICAgICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5z
aG93VGltZXJJRCk7CisgICAgICAgIH0KKworICAgICAgICBpZiAodGhpcy52aXNpYmxlKSB7Cisg
ICAgICAgICAgdGhpcy5wb3B1cERldGFpbGVkRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUn
OworICAgICAgICAgIHRoaXMuc2hvd1RpbWVySUQgPQorICAgICAgICAgICAgd2luZG93LnNldFRp
bWVvdXQoTVBQX2JpbmQodGhpcy5zaG93XywgdGhpcyksIDIwMCk7CisgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgdGhpcy5zaG93VGltZXJJRCA9CisgICAgICAgICAgICB3aW5kb3cuc2V0VGlt
ZW91dChNUFBfYmluZCh0aGlzLnNob3dfLCB0aGlzKSwgMzUwKTsKKyAgICAgICAgfQorCisgICAg
ICAgIHRoaXMuZGVsYXllZCA9IHRydWU7CisgICAgICAgIHRoaXMucG9pbnRlck91dHNpZGVQb3B1
cCA9IHRydWU7CisgICAgICB9OworCisgICAgICBQZXJzb25Qb3B1cC5wcm90b3R5cGUuaGFuZGxl
TW91c2VPdXRfID0gZnVuY3Rpb24oZSkgeworICAgICAgICBpZiAoKHRoaXMuZGVsYXllZCkgfHwg
KHRoaXMudmlzaWJsZSkpIHsKKworICAgICAgICAgIHRoaXMucG9pbnRlck9uVGFyZ2V0RWxlbWVu
dCA9IGZhbHNlOworCisgICAgICAgICAgZSA9IGUgfHwgd2luZG93LmV2ZW50OworCisgICAgICAg
ICAgaWYgKGUpIHsKKyAgICAgICAgICAgIHZhciBmcm9tID0gbnVsbDsKKworICAgICAgICAgICAg
aWYgKGUucmVsYXRlZFRhcmdldCkgeworICAgICAgICAgICAgICBmcm9tID0gZS5yZWxhdGVkVGFy
Z2V0OworICAgICAgICAgICAgfSBlbHNlIGlmIChlLnRvRWxlbWVudCkgeworICAgICAgICAgICAg
ICBmcm9tID0gZS50b0VsZW1lbnQ7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHZhciB0
YXJnZXRFbGVtZW50ID0gKGUudGFyZ2V0KSA/IGUudGFyZ2V0IDogZS5zcmNFbGVtZW50OworCisg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICBpZiAoKGZyb20gPT0gbnVsbCkgfHwgKGZy
b20udGFnTmFtZSA9PSAnSFRNTCcpIHx8CisgICAgICAgICAgICAgICAgICAoZnJvbS50YWdOYW1l
LnN1YnN0cmluZygwLCAzKSA9PSAneHVsJykpIHsKKyAgICAgICAgICAgICAgICB0aGlzLmhpZGVU
aW1lcklEID0KKyAgICAgICAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KE1QUF9iaW5kKHRo
aXMuaGlkZV8sIHRoaXMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAw
KTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBjYXRjaChlKSB7CisKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH07CisKKyAgICAgIFBlcnNvblBv
cHVwLnByb3RvdHlwZS5oYW5kbGVPbkxvYWRfID0gZnVuY3Rpb24oZSkgeworICAgICAgICBlID0g
ZSB8fCB3aW5kb3cuZXZlbnQ7CisgICAgICAgIHRoaXMucG9wdXBEZXRhaWxlZEVsZW1lbnQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgdGhpcy5wb3B1cERldGFpbGVk
RWxlbWVudC4KKyAgICAgICAgICAgIHNldEF0dHJpYnV0ZSgnaWQnLCdwb3B1cF9kZXRhaWxlZCcp
OworICAgICAgICB0aGlzLnBvcHVwRGV0YWlsZWRFbGVtZW50LmNsYXNzTmFtZSA9ICdwb3B1cCc7
CisgICAgICAgIHRoaXMucG9wdXBEZXRhaWxlZEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25l
JzsKKyAgICAgICAgdGhpcy5wb3B1cERldGFpbGVkRWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICdh
YnNvbHV0ZSc7CisgICAgICAgIHRoaXMucG9wdXBEZXRhaWxlZEVsZW1lbnQuaW5uZXJIVE1MID0g
JyZuYnNwOyc7CisgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5wb3B1cERl
dGFpbGVkRWxlbWVudCk7CisKKyAgICAgICAgZG9jdW1lbnQuYm9keS5vbm1vdXNlbW92ZSA9IE1Q
UF9iaW5kKHRoaXMuaGFuZGxlTW91c2VNb3ZlXywgdGhpcyk7CisgICAgICAgIGRvY3VtZW50LmJv
ZHkub25tb3VzZW91dCA9IE1QUF9iaW5kKHRoaXMuaGFuZGxlTW91c2VPdXRfLCB0aGlzKTsKKyAg
ICAgICAgdGhpcy5lbmFibGVQb3B1cHNGb3JDaGlsZEVsZW1lbnRzKGRvY3VtZW50KTsKKyAgICAg
ICAgCisgICAgICAgIHJ1blRlc3QxKCk7CisgICAgICB9OworCisgICAgICBQZXJzb25Qb3B1cC5w
cm90b3R5cGUuZW5hYmxlUG9wdXBzRm9yQ2hpbGRFbGVtZW50cyA9IGZ1bmN0aW9uKGVsKSB7Cisg
ICAgICAgIHZhciBlbHMgPSBlbC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnKicpOworCisgICAgICAg
IGZvciAodmFyIGkgPSAwLCBpdGVtOyBpdGVtID0gZWxzW2ldOyBpKyspIHsKKyAgICAgICAgICBp
ZiAoaXRlbS5jbGFzc05hbWUuaW5kZXhPZignc2hvd1BlcnNvblBvcHVwJykgIT0gLTEpIHsKKyAg
ICAgICAgICAgIGl0ZW0ub25tb3VzZW92ZXIgPSBNUFBfYmluZCh0aGlzLmhhbmRsZUFuY2hvck1v
dXNlT3Zlcl8sIHRoaXMpOworICAgICAgICAgICAgaXRlbS5vbm1vdXNlbW92ZSA9IE1QUF9iaW5k
KHRoaXMuaGFuZGxlQW5jaG9yTW91c2VNb3ZlXywgdGhpcyk7CisgICAgICAgICAgfQorICAgICAg
ICB9CisgICAgICB9OworICAgICAgCisgICAgICB2YXIgcGVyc29uUG9wdXAgPSBuZXcgUGVyc29u
UG9wdXAoKTsKKyAgICA8L3NjcmlwdD4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8cCBjbGFz
cz0iYnlsaW5lIj4KKyAgICAgICAgPGEgY2xhc3M9InNob3dQZXJzb25Qb3B1cCIgaWQ9Im1vdXNl
X3RhcmdldCIgaHJlZj0iZHVtbXkiPk1vdXNlIE92ZXI8L2E+CisgICAgPC9wPgorICAgIDxkaXYg
aWQ9ImxvZ19kaXYiPgorICAgICAgVGhpcyB0ZXN0IGNoZWNrcyB0aGUgZml4IGZvciBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1MDYuIFRvIHRlc3QgaXQgbWFudWFs
bHk6CisgICAgICA8bGkvPiBIb3ZlciBtb3VzZSBvdmVyICJNb3VzZSBPdmVyIiBsaW5rCisgICAg
ICA8bGkvPiBRdWlja2x5IGp1bXAgdG8gdGhlIHllbGxvdyBib3ggdGhhdCBwb3BzIHVwIGFuZCBz
ZWxlY3QgIlNlbGVjdCIgbGluaworICAgICAgPGxpLz4gTW92ZSBtb3VzZSBhd2F5IHNvIHRoYXQg
cG9wIHVwIGRpc2FwcGVhcnMKKyAgICAgIDxsaS8+IFByZXNzIHRoZSAiQ29weSIga2V5Ym9hcmQg
YWNjZWxlcmF0b3IgLSB0aGlzIHNob3VsZCBub3QgY2F1c2UgYW55IGNyYXNoCisgICAgPC9kaXY+
CisgIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>