<?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>84196</bug_id>
          
          <creation_ts>2012-04-17 14:49:49 -0700</creation_ts>
          <short_desc>run-webkit-tests picked up an old crash log</short_desc>
          <delta_ts>2012-06-08 15:44:44 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://build.webkit.org/results/Lion%20Debug%20(WebKit2%20Tests)/r114380%20(6092)/fast/loader/form-state-restore-with-locked-back-forward-list-crash-log.txt</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>lforschler</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>604367</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-04-17 14:49:49 -0700</bug_when>
    <thetext>http://build.webkit.org/results/Lion%20Debug%20(WebKit2%20Tests)/r114380%20(6092)/fast/loader/form-state-restore-with-locked-back-forward-list-crash-log.txt is a crash log from:

Date/Time:       2012-04-02 03:32:12.508 -0700

yet the tests ran on 4/17. I guess the bot has accumulated a lot of crash logs, and the scripts picked up an old one because the PIDs have wrapped around.

The scripts should probably delete old crash logs from the machines at some point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604369</commentid>
    <comment_count>1</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-17 14:51:22 -0700</bug_when>
    <thetext>Good point. It should be easy enough to change the code to notice when run-webkit-tests starts and not pick up any crash logs older than that start time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604932</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-04-18 11:33:11 -0700</bug_when>
    <thetext>Another one:
http://build.webkit.org/results/Lion%20Debug%20(WebKit2%20Tests)/r114521%20(6121)/fast/dom/htmlcollection-detectability-crash-log.txt

Date/Time:       2012-04-11 00:07:16.193 -0700</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605131</commentid>
    <comment_count>3</comment_count>
      <attachid>137778</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-18 15:00:58 -0700</bug_when>
    <thetext>Created attachment 137778
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605133</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-18 15:01:51 -0700</bug_when>
    <thetext>I think this patch should fix things, although I haven&apos;t tested this against a real-world instance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605139</commentid>
    <comment_count>5</comment_count>
      <attachid>137778</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-04-18 15:04:41 -0700</bug_when>
    <thetext>Comment on attachment 137778
Patch

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

&gt; Tools/Scripts/webkitpy/common/system/crashlogs.py:38
&gt; +    def find_newest_log(self, process_name, pid=None, include_errors=False, newer_than=None):

I&apos;m not sure if newer_than makes sense as the variable name. I think start_time would be semantically clearer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605143</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-18 15:12:07 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 137778 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=137778&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/system/crashlogs.py:38
&gt; &gt; +    def find_newest_log(self, process_name, pid=None, include_errors=False, newer_than=None):
&gt; 
&gt; I&apos;m not sure if newer_than makes sense as the variable name. I think start_time would be semantically clearer.

Interesting, newer_than seems clear to me (show me crash logs newer than X), but start_time not at all (logs don&apos;t have a start time) ... why do you think the opposite? Are you thinking that you&apos;re looking for processes started after X? The process doesn&apos;t have to have started after X, though, just crashed after X.

Maybe &quot;created_after&quot; would be better, or &quot;crashed_after&quot;, or just &quot;after&quot;?

Note that there is a minor correctness issue in that you actually want ctime &gt; X, not mtime &gt; X, but there is no filesystem.ctime() routine. I could add one, but it seemed unnecessary since ctime will presumably equal mtime nearly all of the time ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605151</commentid>
    <comment_count>7</comment_count>
      <attachid>137778</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-04-18 15:25:50 -0700</bug_when>
    <thetext>Comment on attachment 137778
Patch

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

&gt;&gt;&gt; Tools/Scripts/webkitpy/common/system/crashlogs.py:38
&gt;&gt;&gt; +    def find_newest_log(self, process_name, pid=None, include_errors=False, newer_than=None):
&gt;&gt; 
&gt;&gt; I&apos;m not sure if newer_than makes sense as the variable name. I think start_time would be semantically clearer.
&gt; 
&gt; Interesting, newer_than seems clear to me (show me crash logs newer than X), but start_time not at all (logs don&apos;t have a start time) ... why do you think the opposite? Are you thinking that you&apos;re looking for processes started after X? The process doesn&apos;t have to have started after X, though, just crashed after X.
&gt; 
&gt; Maybe &quot;created_after&quot; would be better, or &quot;crashed_after&quot;, or just &quot;after&quot;?
&gt; 
&gt; Note that there is a minor correctness issue in that you actually want ctime &gt; X, not mtime &gt; X, but there is no filesystem.ctime() routine. I could add one, but it seemed unnecessary since ctime will presumably equal mtime nearly all of the time ...

Ah, I see what you&apos;re saying. Okay.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605207</commentid>
    <comment_count>8</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-18 16:19:36 -0700</bug_when>
    <thetext>Committed r114577: &lt;http://trac.webkit.org/changeset/114577&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645079</commentid>
    <comment_count>9</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-08 15:44:44 -0700</bug_when>
    <thetext>*** Bug 85267 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137778</attachid>
            <date>2012-04-18 15:00:58 -0700</date>
            <delta_ts>2012-04-18 15:25:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84196-20120418150057.patch</filename>
            <type>text/plain</type>
            <size>14934</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0NDYzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzMxNzM2NWI3ZjBkZDhlZTdmZTE0OWQxMmQ4MDNmYzU5
ZWY1OWQzZi4uODY2OTBjYTJjNDAxMWE0YmYzMGEzMjBiNjY5OTAzOTE1YjJjZDFlOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5
IEBACisyMDEyLTA0LTE4ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIHJ1bi13ZWJraXQtdGVzdHMgcGlja2VkIHVwIGFuIG9sZCBjcmFzaCBsb2cKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0MTk2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW9kaWZ5IHRoZSBjcmFz
aCBsb2ctZmluZGluZyBjb2RlIHNvIHRoYXQgd2UgY2FuCisgICAgICAgIGxpbWl0IG91ciBzZWFy
Y2ggdG8gbG9ncyBuZXdlciB0aGFuIFggLSB0aGlzIHByZXZlbnRzCisgICAgICAgIHVzIGZyb20g
ZmluZGluZyBvbGQgY3Jhc2ggbG9ncyBmb3IgYSBnaXZlbiBwcm9jZXNzL3BpZAorICAgICAgICBj
b21iaW5hdGlvbiBldmVuIHdoZW4gdGhlIFBJRHMgbWlnaHQndmUgd3JhcHBlZC4KKyAKKyAgICAg
ICAgQWxzbyBmaXggYSBidWcgaW4gZmlsZXN5c3RlbV9tb2NrIHdoZXJlIGZpbGVzX3VuZGVyKCkg
d291bGQKKyAgICAgICAgcmV0dXJuIHBhdGhzIHRoYXQgZGlkbid0IGV4aXN0LgorCisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2NyYXNobG9ncy5weToKKyAgICAgICAg
KENyYXNoTG9ncy5maW5kX25ld2VzdF9sb2cpOgorICAgICAgICAoQ3Jhc2hMb2dzLl9maW5kX25l
d2VzdF9sb2dfZGFyd2luKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0
ZW0vY3Jhc2hsb2dzX3VuaXR0ZXN0LnB5OgorICAgICAgICAoQ3Jhc2hMb2dzVGVzdC50ZXN0X2Zp
bmRfbG9nX2Rhcndpbik6CisgICAgICAgIChDcmFzaExvZ3NUZXN0LnRlc3RfZmluZF9sb2dfZGFy
d2luLmJhZF9yZWFkKToKKyAgICAgICAgKENyYXNoTG9nc1Rlc3QpOgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9maWxlc3lzdGVtX21vY2sucHk6CisgICAgICAgIChN
b2NrRmlsZVN5c3RlbS5maWxlc191bmRlcik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5OgorICAgICAgICAoUG9ydC5fZ2V0X2NyYXNoX2xvZyk6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9ndGsucHk6Cisg
ICAgICAgIChHdGtQb3J0Ll9nZXRfY3Jhc2hfbG9nKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L2d0a191bml0dGVzdC5weToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L21hYy5weToKKyAgICAgICAgKE1hY1BvcnQuX2dl
dF9jcmFzaF9sb2cpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvcG9ydF90ZXN0Y2FzZS5weToKKyAgICAgICAgKFBvcnRUZXN0Q2FzZS50ZXN0X2dldF9jcmFz
aF9sb2cpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Vi
a2l0LnB5OgorICAgICAgICAoV2ViS2l0RHJpdmVyLnJ1bl90ZXN0KToKKwogMjAxMi0wNC0xNyAg
T2phbiBWYWZhaSAgPG9qYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBjYWNoaW5nIHRv
IHRoZSBmbGFraW5lc3MgZGFzaGJvYXJkIGpzb24gZmlsZXMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9jcmFzaGxvZ3MucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vY3Jhc2hsb2dzLnB5CmluZGV4IGM2NDcyZDZhMDk5OWFm
ZmI3YjdjZmIzM2ExZjgwYzcyMzA3MDYxMjguLmEyYTJlZDM1ZWJmYmEwOTJhZTE2YzE4ZWM0ODg2
NDYzMGQ0YTA2MDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5
c3RlbS9jcmFzaGxvZ3MucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lz
dGVtL2NyYXNobG9ncy5weQpAQCAtMzUsOSArMzUsOSBAQCBjbGFzcyBDcmFzaExvZ3Mob2JqZWN0
KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZXN5c3RlbSk6CiAgICAgICAgIHNlbGYuX2Zp
bGVzeXN0ZW0gPSBmaWxlc3lzdGVtCiAKLSAgICBkZWYgZmluZF9uZXdlc3RfbG9nKHNlbGYsIHBy
b2Nlc3NfbmFtZSwgcGlkPU5vbmUsIGluY2x1ZGVfZXJyb3JzPUZhbHNlKToKKyAgICBkZWYgZmlu
ZF9uZXdlc3RfbG9nKHNlbGYsIHByb2Nlc3NfbmFtZSwgcGlkPU5vbmUsIGluY2x1ZGVfZXJyb3Jz
PUZhbHNlLCBuZXdlcl90aGFuPU5vbmUpOgogICAgICAgICBpZiBzeXMucGxhdGZvcm0gPT0gImRh
cndpbiI6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fZmluZF9uZXdlc3RfbG9nX2Rhcndpbihw
cm9jZXNzX25hbWUsIHBpZCwgaW5jbHVkZV9lcnJvcnMpCisgICAgICAgICAgICByZXR1cm4gc2Vs
Zi5fZmluZF9uZXdlc3RfbG9nX2Rhcndpbihwcm9jZXNzX25hbWUsIHBpZCwgaW5jbHVkZV9lcnJv
cnMsIG5ld2VyX3RoYW4pCiAgICAgICAgIHJldHVybiBOb25lCiAKICAgICBkZWYgX2xvZ19kaXJl
Y3RvcnlfZGFyd2luKHNlbGYpOgpAQCAtNDksNyArNDksNyBAQCBjbGFzcyBDcmFzaExvZ3Mob2Jq
ZWN0KToKICAgICAgICAgICAgIGxvZ19kaXJlY3RvcnkgPSBzZWxmLl9maWxlc3lzdGVtLmpvaW4o
bG9nX2RpcmVjdG9yeSwgIkNyYXNoUmVwb3J0ZXIiKQogICAgICAgICByZXR1cm4gbG9nX2RpcmVj
dG9yeQogCi0gICAgZGVmIF9maW5kX25ld2VzdF9sb2dfZGFyd2luKHNlbGYsIHByb2Nlc3NfbmFt
ZSwgcGlkLCBpbmNsdWRlX2Vycm9ycyk6CisgICAgZGVmIF9maW5kX25ld2VzdF9sb2dfZGFyd2lu
KHNlbGYsIHByb2Nlc3NfbmFtZSwgcGlkLCBpbmNsdWRlX2Vycm9ycywgbmV3ZXJfdGhhbik6CiAg
ICAgICAgIGRlZiBpc19jcmFzaF9sb2coZnMsIGRpcnBhdGgsIGJhc2VuYW1lKToKICAgICAgICAg
ICAgIHJldHVybiBiYXNlbmFtZS5zdGFydHN3aXRoKHByb2Nlc3NfbmFtZSArICJfIikgYW5kIGJh
c2VuYW1lLmVuZHN3aXRoKCIuY3Jhc2giKQogCkBAIC01OCwxNCArNTgsMTUgQEAgY2xhc3MgQ3Jh
c2hMb2dzKG9iamVjdCk6CiAgICAgICAgIGZpcnN0X2xpbmVfcmVnZXggPSByZS5jb21waWxlKHIn
XlByb2Nlc3M6XHMrKD9QPHByb2Nlc3NfbmFtZT4uKikgXFsoP1A8cGlkPlxkKylcXSQnKQogICAg
ICAgICBlcnJvcnMgPSAnJwogICAgICAgICBmb3IgcGF0aCBpbiByZXZlcnNlZChzb3J0ZWQobG9n
cykpOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIGYgPSBzZWxmLl9maWxlc3lz
dGVtLnJlYWRfdGV4dF9maWxlKHBhdGgpCi0gICAgICAgICAgICAgICAgbWF0Y2ggPSBmaXJzdF9s
aW5lX3JlZ2V4Lm1hdGNoKGZbMDpmLmZpbmQoJ1xuJyldKQotICAgICAgICAgICAgICAgIGlmIG1h
dGNoIGFuZCBtYXRjaC5ncm91cCgncHJvY2Vzc19uYW1lJykgPT0gcHJvY2Vzc19uYW1lIGFuZCAo
cGlkIGlzIE5vbmUgb3IgaW50KG1hdGNoLmdyb3VwKCdwaWQnKSkgPT0gcGlkKToKLSAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGVycm9ycyArIGYKLSAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9y
LCBlOgotICAgICAgICAgICAgICAgIGlmIGluY2x1ZGVfZXJyb3JzOgotICAgICAgICAgICAgICAg
ICAgICBlcnJvcnMgKz0gIkVSUk9SOiBGYWlsZWQgdG8gcmVhZCAnJXMnOiAlc1xuIiAlIChwYXRo
LCBzdHIoZSkpCisgICAgICAgICAgICBpZiBub3QgbmV3ZXJfdGhhbiBvciBzZWxmLl9maWxlc3lz
dGVtLm10aW1lKHBhdGgpID4gbmV3ZXJfdGhhbjoKKyAgICAgICAgICAgICAgICB0cnk6CisgICAg
ICAgICAgICAgICAgICAgIGYgPSBzZWxmLl9maWxlc3lzdGVtLnJlYWRfdGV4dF9maWxlKHBhdGgp
CisgICAgICAgICAgICAgICAgICAgIG1hdGNoID0gZmlyc3RfbGluZV9yZWdleC5tYXRjaChmWzA6
Zi5maW5kKCdcbicpXSkKKyAgICAgICAgICAgICAgICAgICAgaWYgbWF0Y2ggYW5kIG1hdGNoLmdy
b3VwKCdwcm9jZXNzX25hbWUnKSA9PSBwcm9jZXNzX25hbWUgYW5kIChwaWQgaXMgTm9uZSBvciBp
bnQobWF0Y2guZ3JvdXAoJ3BpZCcpKSA9PSBwaWQpOgorICAgICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIGVycm9ycyArIGYKKyAgICAgICAgICAgICAgICBleGNlcHQgSU9FcnJvciwgZToKKyAg
ICAgICAgICAgICAgICAgICAgaWYgaW5jbHVkZV9lcnJvcnM6CisgICAgICAgICAgICAgICAgICAg
ICAgICBlcnJvcnMgKz0gIkVSUk9SOiBGYWlsZWQgdG8gcmVhZCAnJXMnOiAlc1xuIiAlIChwYXRo
LCBzdHIoZSkpCiAKICAgICAgICAgaWYgaW5jbHVkZV9lcnJvcnMgYW5kIGVycm9yczoKICAgICAg
ICAgICAgIHJldHVybiBlcnJvcnMKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL3N5c3RlbS9jcmFzaGxvZ3NfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9zeXN0ZW0vY3Jhc2hsb2dzX3VuaXR0ZXN0LnB5CmluZGV4IGUxMmIyMGRkNmJj
N2Y4MjQxZDFlMmY0ZmQ3ZTE5MDU3YTg5MDBmY2UuLjI5NTg3ZTg2YTYxYTAxNDA2ZjEzZmUzNDY1
NzVjNjQ5ODVlZTJhMzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L3N5c3RlbS9jcmFzaGxvZ3NfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vc3lzdGVtL2NyYXNobG9nc191bml0dGVzdC5weQpAQCAtMTAwLDkgKzEwMCwxMiBA
QCBjbGFzcyBDcmFzaExvZ3NUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5h
c3NlcnRMaW5lc0VxdWFsKGxvZywgbW9ja19jcmFzaF9yZXBvcnQpCiAgICAgICAgIGxvZyA9IGNy
YXNoX2xvZ3MuZmluZF9uZXdlc3RfbG9nKCJEdW1wUmVuZGVyVHJlZSIsIDI4NTMxKQogICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKGxvZywgTm9uZSkKKyAgICAgICAgbG9nID0gY3Jhc2hfbG9ncy5m
aW5kX25ld2VzdF9sb2coIkR1bXBSZW5kZXJUcmVlIiwgbmV3ZXJfdGhhbj0xLjApCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwobG9nLCBOb25lKQorCisgICAgICAgIGRlZiBiYWRfcmVhZChwYXRo
KToKKyAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoJ05vIHN1Y2ggZmlsZSBvciBkaXJlY3Rvcnkn
KQogCi0gICAgICAgIGVycm9ycyA9ICJFUlJPUjogRmFpbGVkIHRvIHJlYWQgJy9Vc2Vycy9tb2Nr
L0xpYnJhcnkvTG9ncy9EaWFnbm9zdGljUmVwb3J0cy9EdW1wUmVuZGVyVHJlZV8yMDExLTA2LTEz
LTE1MDcyMV9xdWFkemVuLmNyYXNoJzogW0Vycm5vIDJdIC9Vc2Vycy9tb2NrL0xpYnJhcnkvTG9n
cy9EaWFnbm9zdGljUmVwb3J0cy9EdW1wUmVuZGVyVHJlZV8yMDExLTA2LTEzLTE1MDcyMV9xdWFk
emVuLmNyYXNoOiAnTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeSdcbiIKLSAgICAgICAgbG9nID0g
Y3Jhc2hfbG9ncy5maW5kX25ld2VzdF9sb2coIkR1bXBSZW5kZXJUcmVlIiwgMjg1MzAsIGluY2x1
ZGVfZXJyb3JzPVRydWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0TGluZXNFcXVhbChsb2csIGVycm9y
cyArIG1vY2tfY3Jhc2hfcmVwb3J0KQorICAgICAgICBmaWxlc3lzdGVtLnJlYWRfdGV4dF9maWxl
ID0gYmFkX3JlYWQKICAgICAgICAgbG9nID0gY3Jhc2hfbG9ncy5maW5kX25ld2VzdF9sb2coIkR1
bXBSZW5kZXJUcmVlIiwgMjg1MzEsIGluY2x1ZGVfZXJyb3JzPVRydWUpCi0gICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwobG9nLCBlcnJvcnMpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgnTm8gc3Vj
aCBmaWxlIG9yIGRpcmVjdG9yeScgaW4gbG9nKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vc3lzdGVtL2ZpbGVzeXN0ZW1fbW9jay5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL3N5c3RlbS9maWxlc3lzdGVtX21vY2sucHkKaW5kZXggNGY1Njc3ZGY4
MmRhZTI5MTQ0MGFmYmRlNTVkMmJkNDRkYmI0N2Q3MC4uZDRhOTU1MDgwZjg2YTY2MGFhMTYyNDZi
MTg2NTljMDk3NzI1ZmZiNyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vc3lzdGVtL2ZpbGVzeXN0ZW1fbW9jay5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9zeXN0ZW0vZmlsZXN5c3RlbV9tb2NrLnB5CkBAIC0xMzIsNyArMTMyLDcgQEAgY2xh
c3MgTW9ja0ZpbGVTeXN0ZW0ob2JqZWN0KToKICAgICAgICAgZmlsZV9maWx0ZXIgPSBmaWxlX2Zp
bHRlciBvciBmaWx0ZXJfYWxsCiAgICAgICAgIGZpbGVzID0gW10KICAgICAgICAgaWYgc2VsZi5p
c2ZpbGUocGF0aCk6Ci0gICAgICAgICAgICBpZiBmaWxlX2ZpbHRlcihzZWxmLCBzZWxmLmRpcm5h
bWUocGF0aCksIHNlbGYuYmFzZW5hbWUocGF0aCkpOgorICAgICAgICAgICAgaWYgZmlsZV9maWx0
ZXIoc2VsZiwgc2VsZi5kaXJuYW1lKHBhdGgpLCBzZWxmLmJhc2VuYW1lKHBhdGgpKSBhbmQgc2Vs
Zi5maWxlc1twYXRoXSBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICBmaWxlcy5hcHBlbmQo
cGF0aCkKICAgICAgICAgICAgIHJldHVybiBmaWxlcwogCkBAIC0xNTIsNyArMTUyLDcgQEAgY2xh
c3MgTW9ja0ZpbGVTeXN0ZW0ob2JqZWN0KToKICAgICAgICAgICAgICAgICBjb250aW51ZQogCiAg
ICAgICAgICAgICBkaXJwYXRoLCBiYXNlbmFtZSA9IHNlbGYuX3NwbGl0KGZpbGVuYW1lKQotICAg
ICAgICAgICAgaWYgZmlsZV9maWx0ZXIoc2VsZiwgZGlycGF0aCwgYmFzZW5hbWUpOgorICAgICAg
ICAgICAgaWYgZmlsZV9maWx0ZXIoc2VsZiwgZGlycGF0aCwgYmFzZW5hbWUpIGFuZCBzZWxmLmZp
bGVzW2ZpbGVuYW1lXSBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICBmaWxlcy5hcHBlbmQo
ZmlsZW5hbWUpCiAKICAgICAgICAgcmV0dXJuIGZpbGVzCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKaW5kZXggMTQ5NDgzMDBhZGIwMjYwNWY5
Mzc1ZDI4ZTk1MDkzZDlmNzJhZjI4OC4uOTdjZDg5Mjg2NTYyNzBmMDc2ZGRkN2RhZTEzOTVjYmU1
OGMxNTE0NiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvYmFzZS5weQpAQCAtMTA2Niw3ICsxMDY2LDcgQEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAg
ICAgICAiIiJSZXR1cm5zIHRoZSBwb3J0J3MgZHJpdmVyIGltcGxlbWVudGF0aW9uLiIiIgogICAg
ICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCdQb3J0Ll9kcml2ZXJfY2xhc3MnKQogCi0g
ICAgZGVmIF9nZXRfY3Jhc2hfbG9nKHNlbGYsIG5hbWUsIHBpZCwgc3Rkb3V0LCBzdGRlcnIpOgor
ICAgIGRlZiBfZ2V0X2NyYXNoX2xvZyhzZWxmLCBuYW1lLCBwaWQsIHN0ZG91dCwgc3RkZXJyLCBu
ZXdlcl90aGFuKToKICAgICAgICAgbmFtZV9zdHIgPSBuYW1lIG9yICc8dW5rbm93biBwcm9jZXNz
IG5hbWU+JwogICAgICAgICBwaWRfc3RyID0gc3RyKHBpZCBvciAnPHVua25vd24+JykKICAgICAg
ICAgc3Rkb3V0X2xpbmVzID0gKHN0ZG91dCBvciAnPGVtcHR5PicpLmRlY29kZSgndXRmOCcsICdy
ZXBsYWNlJykuc3BsaXRsaW5lcygpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2d0ay5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvZ3RrLnB5CmluZGV4IDcxZTVhM2I3OTIwNzFjNmM5NTM1MzNjYzg4MDg0M2Ew
NjRjMmRmMzguLmFiMTE2YmNjODI1MDE5Mjg4NjRlOGRlMTgyNGMzZGFiNzdmODFjNzQgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZ3RrLnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZ3RrLnB5CkBAIC0y
MDUsNyArMjA1LDcgQEAgY2xhc3MgR3RrUG9ydChXZWJLaXRQb3J0KToKICAgICAgICAgZXJyb3Jz
ID0gW2wuc3RyaXAoKSBmb3IgbCBpbiBwcm9jLnN0ZGVyci5yZWFkbGluZXMoKV0KICAgICAgICAg
cmV0dXJuIChwcm9jLnN0ZG91dC5yZWFkKCksIGVycm9ycykKIAotICAgIGRlZiBfZ2V0X2NyYXNo
X2xvZyhzZWxmLCBuYW1lLCBwaWQsIHN0ZG91dCwgc3RkZXJyKToKKyAgICBkZWYgX2dldF9jcmFz
aF9sb2coc2VsZiwgbmFtZSwgcGlkLCBzdGRvdXQsIHN0ZGVyciwgbmV3ZXJfdGhhbik6CiAgICAg
ICAgIHBpZF9yZXByZXNlbnRhdGlvbiA9IHN0cihwaWQgb3IgJzx1bmtub3duPicpCiAgICAgICAg
IGxvZ19kaXJlY3RvcnkgPSBvcy5lbnZpcm9uLmdldCgiV0VCS0lUX0NPUkVfRFVNUFNfRElSRUNU
T1JZIikKICAgICAgICAgZXJyb3JzID0gW10KQEAgLTIyMiw3ICsyMjIsOCBAQCBjbGFzcyBHdGtQ
b3J0KFdlYktpdFBvcnQpOgogICAgICAgICAgICAgaWYgZHVtcHM6CiAgICAgICAgICAgICAgICAg
IyBHZXQgdGhlIG1vc3QgcmVjZW50IGNvcmVkdW1wIG1hdGNoaW5nIHRoZSBwaWQgYW5kL29yIHBy
b2Nlc3MgbmFtZS4KICAgICAgICAgICAgICAgICBjb3JlZHVtcF9wYXRoID0gbGlzdChyZXZlcnNl
ZChzb3J0ZWQoZHVtcHMpKSlbMF0KLSAgICAgICAgICAgICAgICBjcmFzaF9sb2csIGVycm9ycyA9
IHNlbGYuX2dldF9nZGJfb3V0cHV0KGNvcmVkdW1wX3BhdGgpCisgICAgICAgICAgICAgICAgaWYg
bm90IG5ld2VyX3RoYW4gb3Igc2VsZi5fZmlsZXN5c3RlbS5tdGltZShjb3JlZHVtcF9wYXRoKSA+
IG5ld2VyX3RoYW46CisgICAgICAgICAgICAgICAgICAgIGNyYXNoX2xvZywgZXJyb3JzID0gc2Vs
Zi5fZ2V0X2dkYl9vdXRwdXQoY29yZWR1bXBfcGF0aCkKIAogICAgICAgICBzdGRlcnJfbGluZXMg
PSBlcnJvcnMgKyAoc3RkZXJyIG9yICc8ZW1wdHk+JykuZGVjb2RlKCd1dGY4JywgJ2lnbm9yZScp
LnNwbGl0bGluZXMoKQogICAgICAgICBlcnJvcnNfc3RyID0gJ1xuJy5qb2luKCgnU1RERVJSOiAn
ICsgbCkgZm9yIGwgaW4gc3RkZXJyX2xpbmVzKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9ndGtfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2d0a191bml0dGVzdC5weQppbmRleCBmZGRjMmFm
Yzg4NzUxZTdiMDc2MTZhM2M2ZDRjZGRjZDhmNDU4YWFkLi4yYjVjMWE0NjQ2MDNhMmI0NzI4MTIw
ZTVjNjUxNDIxNzQ0MzEyM2VmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2d0a191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L2d0a191bml0dGVzdC5weQpAQCAtNzUsNSArNzUsOCBAQCBT
VERFUlI6IDxlbXB0eT4iIiIgJSBsb2NhbHMoKQogCiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2Vf
cG9ydCgpCiAgICAgICAgIHBvcnQuX2dldF9nZGJfb3V0cHV0ID0gbW9ja19lbXB0eV9jcmFzaF9s
b2cKLSAgICAgICAgbG9nID0gcG9ydC5fZ2V0X2NyYXNoX2xvZygiRHVtcFJlbmRlclRyZWUiLCAy
ODUyOSwgIiIsICIiKQorICAgICAgICBsb2cgPSBwb3J0Ll9nZXRfY3Jhc2hfbG9nKCJEdW1wUmVu
ZGVyVHJlZSIsIDI4NTI5LCAiIiwgIiIsIG5ld2VyX3RoYW49Tm9uZSkKKyAgICAgICAgc2VsZi5h
c3NlcnRMaW5lc0VxdWFsKGxvZywgbW9ja19lbXB0eV9jcmFzaF9sb2cpCisKKyAgICAgICAgbG9n
ID0gcG9ydC5fZ2V0X2NyYXNoX2xvZygiRHVtcFJlbmRlclRyZWUiLCAyODUyOSwgIiIsICIiLCBu
ZXdlcl90aGFuPTAuMCkKICAgICAgICAgc2VsZi5hc3NlcnRMaW5lc0VxdWFsKGxvZywgbW9ja19l
bXB0eV9jcmFzaF9sb2cpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L21hYy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvbWFjLnB5CmluZGV4IDk0ZjcwMTdhMmEzNDhkODc1OGU5YTU2NGY4YTI3ZDY4YjVjY2E5
NWUuLmMwYWNkMjc3N2E2MTM5ODhhMzk1NGJjYjE3NzJkZjliNDE1ZjBmNTcgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbWFjLnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbWFjLnB5CkBAIC0xNzUsNyAr
MTc1LDcgQEAgY2xhc3MgTWFjUG9ydChBcHBsZVBvcnQpOgogICAgIGRlZiByZWxlYXNlX2h0dHBf
bG9jayhzZWxmKToKICAgICAgICAgcGFzcwogCi0gICAgZGVmIF9nZXRfY3Jhc2hfbG9nKHNlbGYs
IG5hbWUsIHBpZCwgc3Rkb3V0LCBzdGRlcnIpOgorICAgIGRlZiBfZ2V0X2NyYXNoX2xvZyhzZWxm
LCBuYW1lLCBwaWQsIHN0ZG91dCwgc3RkZXJyLCBuZXdlcl90aGFuKToKICAgICAgICAgIyBOb3Rl
IHRoYXQgd2UgZG8gc2xvdy1zcGluIGhlcmUgYW5kIHdhaXQsIHNpbmNlIGl0IGFwcGVhcnMgdGhl
IHRpbWUKICAgICAgICAgIyBSZXBvcnRDcmFzaCB0YWtlcyB0byBhY3R1YWxseSB3cml0ZSBhbmQg
Zmx1c2ggdGhlIGZpbGUgdmFyaWVzIHdoZW4gdGhlcmUgYXJlCiAgICAgICAgICMgbG90cyBvZiBz
aW11bHRhbmVvdXMgY3Jhc2hlcyBnb2luZyBvbi4KQEAgLTE4Nyw3ICsxODcsNyBAQCBjbGFzcyBN
YWNQb3J0KEFwcGxlUG9ydCk6CiAgICAgICAgIF9sb2cuZGVidWcoJ2xvb2tpbmcgZm9yIGNyYXNo
IGxvZyBmb3IgJXM6JXMnICUgKG5hbWUsIHN0cihwaWQpKSkKICAgICAgICAgZGVhZGxpbmUgPSBu
b3cgKyA1ICogaW50KHNlbGYuZ2V0X29wdGlvbignY2hpbGRfcHJvY2Vzc2VzJykpCiAgICAgICAg
IHdoaWxlIG5vdCBjcmFzaF9sb2cgYW5kIG5vdyA8PSBkZWFkbGluZToKLSAgICAgICAgICAgIGNy
YXNoX2xvZyA9IGNyYXNoX2xvZ3MuZmluZF9uZXdlc3RfbG9nKG5hbWUsIHBpZCwgaW5jbHVkZV9l
cnJvcnM9VHJ1ZSkKKyAgICAgICAgICAgIGNyYXNoX2xvZyA9IGNyYXNoX2xvZ3MuZmluZF9uZXdl
c3RfbG9nKG5hbWUsIHBpZCwgaW5jbHVkZV9lcnJvcnM9VHJ1ZSwgbmV3ZXJfdGhhbj1uZXdlcl90
aGFuKQogICAgICAgICAgICAgaWYgbm90IGNyYXNoX2xvZyBvciBub3QgW2xpbmUgZm9yIGxpbmUg
aW4gY3Jhc2hfbG9nLnNwbGl0bGluZXMoKSBpZiBub3QgbGluZS5zdGFydHN3aXRoKCdFUlJPUicp
XToKICAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICAgICAgICAgICBub3cg
PSB0aW1lLnRpbWUoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5CmluZGV4IDMyYzQ2YjVlM2Y2MTE1ODY5YTI1
MGNmNzAwMTFkYmEyNTIyMzk2M2EuLjRiZGMzZWQxMzg3MDZiNDkzZTExNDg3ZTM4Yjg4ZDdlYjEx
OTcxNmQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvcG9ydF90ZXN0Y2FzZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L3BvcnRfdGVzdGNhc2UucHkKQEAgLTMxMSwyMyArMzExLDI3IEBAIGNsYXNzIFBv
cnRUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9nZXRfY3Jhc2hf
bG9nKHNlbGYpOgogICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQotICAgICAgICBzZWxm
LmFzc2VydEVxdWFscyhwb3J0Ll9nZXRfY3Jhc2hfbG9nKE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUp
LAorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwb3J0Ll9nZXRfY3Jhc2hfbG9nKE5vbmUsIE5v
bmUsIE5vbmUsIE5vbmUsIG5ld2VyX3RoYW49Tm9uZSksCiAgICAgICAgICAgICgnY3Jhc2ggbG9n
IGZvciA8dW5rbm93biBwcm9jZXNzIG5hbWU+IChwaWQgPHVua25vd24+KTpcbicKICAgICAgICAg
ICAgICdTVERPVVQ6IDxlbXB0eT5cbicKICAgICAgICAgICAgICdTVERFUlI6IDxlbXB0eT5cbicp
KQogCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHBvcnQuX2dldF9jcmFzaF9sb2coJ2Zvbycs
IDEyMzQsICdvdXQgYmFyXG5vdXQgYmF6JywgJ2VyciBiYXJcbmVyciBiYXpcbicpLAorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscyhwb3J0Ll9nZXRfY3Jhc2hfbG9nKCdmb28nLCAxMjM0LCAnb3V0
IGJhclxub3V0IGJheicsICdlcnIgYmFyXG5lcnIgYmF6XG4nLCBuZXdlcl90aGFuPU5vbmUpLAog
ICAgICAgICAgICAgKCdjcmFzaCBsb2cgZm9yIGZvbyAocGlkIDEyMzQpOlxuJwogICAgICAgICAg
ICAgICdTVERPVVQ6IG91dCBiYXJcbicKICAgICAgICAgICAgICAnU1RET1VUOiBvdXQgYmF6XG4n
CiAgICAgICAgICAgICAgJ1NUREVSUjogZXJyIGJhclxuJwogICAgICAgICAgICAgICdTVERFUlI6
IGVyciBiYXpcbicpKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHBvcnQuX2dldF9jcmFz
aF9sb2coJ2ZvbycsIDEyMzQsICdmb29ceGE2YmFyJywgJ2Zvb1x4YTZiYXInKSwKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbHMocG9ydC5fZ2V0X2NyYXNoX2xvZygnZm9vJywgMTIzNCwgJ2Zvb1x4
YTZiYXInLCAnZm9vXHhhNmJhcicsIG5ld2VyX3RoYW49Tm9uZSksCiAgICAgICAgICAgICAodSdj
cmFzaCBsb2cgZm9yIGZvbyAocGlkIDEyMzQpOlxuJwogICAgICAgICAgICAgIHUnU1RET1VUOiBm
b29cdWZmZmRiYXJcbicKICAgICAgICAgICAgICB1J1NUREVSUjogZm9vXHVmZmZkYmFyXG4nKSkK
IAorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwb3J0Ll9nZXRfY3Jhc2hfbG9nKCdmb28nLCAx
MjM0LCAnZm9vXHhhNmJhcicsICdmb29ceGE2YmFyJywgbmV3ZXJfdGhhbj0xLjApLAorICAgICAg
ICAgICAgKHUnY3Jhc2ggbG9nIGZvciBmb28gKHBpZCAxMjM0KTpcbicKKyAgICAgICAgICAgICB1
J1NURE9VVDogZm9vXHVmZmZkYmFyXG4nCisgICAgICAgICAgICAgdSdTVERFUlI6IGZvb1x1ZmZm
ZGJhclxuJykpCiAKICMgRklYTUU6IFRoaXMgY2xhc3MgYW5kIG1haW4oKSBzaG91bGQgYmUgbWVy
Z2VkIGludG8gdGVzdC13ZWJraXRweS4KIGNsYXNzIEVuaGFuY2VkVGVzdExvYWRlcih1bml0dGVz
dC5UZXN0TG9hZGVyKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvd2Via2l0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC93ZWJraXQucHkKaW5kZXggNTExMDFlYzM0MTJhNzY0OTFlNjlmZWZkYWNiMmYyMmYx
Mzk3ZDkwNS4uMzdiZjUyYTQxNWEwMzBhYmU4NTBkZDk0NWI3ZDgxNWVkMmYxM2I0MSAxMDA2NDQK
LS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkK
QEAgLTU0MywxNCArNTQzLDE0IEBAIGNsYXNzIFdlYktpdERyaXZlcihEcml2ZXIpOgogICAgICAg
ICByZXR1cm4gKE5vbmUsIGJsb2NrLmNvbnRlbnRfaGFzaCkKIAogICAgIGRlZiBydW5fdGVzdChz
ZWxmLCBkcml2ZXJfaW5wdXQpOgorICAgICAgICBzdGFydF90aW1lID0gdGltZS50aW1lKCkKICAg
ICAgICAgaWYgbm90IHNlbGYuX3NlcnZlcl9wcm9jZXNzOgogICAgICAgICAgICAgc2VsZi5fc3Rh
cnQoZHJpdmVyX2lucHV0LmlzX3JlZnRlc3Qgb3Igc2VsZi5fcGl4ZWxfdGVzdHMsIFtdKQogICAg
ICAgICBzZWxmLmVycm9yX2Zyb21fdGVzdCA9IHN0cigpCiAgICAgICAgIHNlbGYuZXJyX3NlZW5f
ZW9mID0gRmFsc2UKIAogICAgICAgICBjb21tYW5kID0gc2VsZi5fY29tbWFuZF9mcm9tX2RyaXZl
cl9pbnB1dChkcml2ZXJfaW5wdXQpCi0gICAgICAgIHN0YXJ0X3RpbWUgPSB0aW1lLnRpbWUoKQot
ICAgICAgICBkZWFkbGluZSA9IHRpbWUudGltZSgpICsgaW50KGRyaXZlcl9pbnB1dC50aW1lb3V0
KSAvIDEwMDAuMAorICAgICAgICBkZWFkbGluZSA9IHN0YXJ0X3RpbWUgKyBpbnQoZHJpdmVyX2lu
cHV0LnRpbWVvdXQpIC8gMTAwMC4wCiAKICAgICAgICAgc2VsZi5fc2VydmVyX3Byb2Nlc3Mud3Jp
dGUoY29tbWFuZCkKICAgICAgICAgdGV4dCwgYXVkaW8gPSBzZWxmLl9yZWFkX2ZpcnN0X2Jsb2Nr
KGRlYWRsaW5lKSAgIyBGaXJzdCBibG9jayBpcyBlaXRoZXIgdGV4dCBvciBhdWRpbwpAQCAtNTY0
LDcgKzU2NCw4IEBAIGNsYXNzIFdlYktpdERyaXZlcihEcml2ZXIpOgogCiAgICAgICAgIGNyYXNo
X2xvZyA9ICcnCiAgICAgICAgIGlmIHNlbGYuaGFzX2NyYXNoZWQoKToKLSAgICAgICAgICAgIGNy
YXNoX2xvZyA9IHNlbGYuX3BvcnQuX2dldF9jcmFzaF9sb2coc2VsZi5fY3Jhc2hlZF9wcm9jZXNz
X25hbWUsIHNlbGYuX2NyYXNoZWRfcGlkLCB0ZXh0LCBzZWxmLmVycm9yX2Zyb21fdGVzdCkKKyAg
ICAgICAgICAgIGNyYXNoX2xvZyA9IHNlbGYuX3BvcnQuX2dldF9jcmFzaF9sb2coc2VsZi5fY3Jh
c2hlZF9wcm9jZXNzX25hbWUsIHNlbGYuX2NyYXNoZWRfcGlkLCB0ZXh0LCBzZWxmLmVycm9yX2Zy
b21fdGVzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbmV3ZXJfdGhhbj1zdGFydF90aW1lKQogCiAgICAgICAgIHJldHVybiBEcml2ZXJPdXRwdXQo
dGV4dCwgaW1hZ2UsIGFjdHVhbF9pbWFnZV9oYXNoLCBhdWRpbywKICAgICAgICAgICAgIGNyYXNo
PXNlbGYuaGFzX2NyYXNoZWQoKSwgdGVzdF90aW1lPXRpbWUudGltZSgpIC0gc3RhcnRfdGltZSwK
</data>
<flag name="review"
          id="142946"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>