<?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>126975</bug_id>
          
          <creation_ts>2014-01-14 03:24:08 -0800</creation_ts>
          <short_desc>[XHR] Abort method execution when m_loader-&gt;cancel() in internalAbort() caused reentry</short_desc>
          <delta_ts>2014-10-14 10:10:33 -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>XML</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BlinkMergeCandidate</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>967746</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-01-14 03:24:08 -0800</bug_when>
    <thetext>Consider merging https://chromium.googlesource.com/chromium/blink/+/0d75daf2053631518606ae15daaece701a25b2c4

Calling cancel() on DocumentThreadableLoader may results in calling
window.onload synchronously. If open(), send(), etc. are called on the same
XMLHttpRequest object, it&apos;ll be hard to resolve conflict of states without
losing spec conformance. This CL avoids that by just aborting execution of
code for the outer method that calls internalAbort() if it returns false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967747</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-01-14 03:26:30 -0800</bug_when>
    <thetext>Note also that Blink test case LayoutTests/http/tests/xmlhttprequest/reentrant-cancel-abort.html added in https://codereview.chromium.org/76133002/ is currently crashing in WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967789</commentid>
    <comment_count>2</comment_count>
      <attachid>221153</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-01-14 05:57:39 -0800</bug_when>
    <thetext>Created attachment 221153
First patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972470</commentid>
    <comment_count>3</comment_count>
      <attachid>221153</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-01-27 10:56:45 -0800</bug_when>
    <thetext>Comment on attachment 221153
First patch

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

&gt; Source/WebCore/ChangeLog:2
&gt; +2014-01-14  Youenn Fablet  &lt;youennf@gmail.com&gt;
&gt; +        [XHR] Abort method execution when m_loader-&gt;cancel() in internalAbort() caused reentry

There should be a blank line here.

&gt; Source/WebCore/xml/XMLHttpRequest.cpp:888
&gt; +    // If window.onload contains open() and send(), m_loader will be set to non 0 value.
&gt; +    // So, we cannot continue the outer open(). In such case, just abort the outer open() by returning false.
&gt; +    // Save this information to a local variable since we are going to drop protection.

It&apos;s not clear to me what this &quot;outer open&quot; is, or why returning false from this function will abort anything. In fact, returning false just causes early returns.

&gt; Source/WebCore/xml/XMLHttpRequest.h:199
&gt; -    void internalAbort();
&gt; +    bool internalAbort();

It&apos;s not clear what the boolean result means. This should have a comment.

&gt; LayoutTests/ChangeLog:2
&gt; +2014-01-14  Youenn Fablet  &lt;youennf@gmail.com&gt;
&gt; +        [XHR] Abort method execution when m_loader-&gt;cancel() in internalAbort() caused reentry

Blank line.

&gt; LayoutTests/ChangeLog:9
&gt; +        Merged reentrant-cancel.html test and changed corresponding expected file
&gt; +        to cope with exception that is now hit in initSend function 

Could you please explain why this exception is being hit? Is this a good thing?

&gt; LayoutTests/http/tests/xmlhttprequest/reentrant-cancel-expected.txt:1
&gt; +CONSOLE MESSAGE: line 26: InvalidStateError: DOM Exception 11: An attempt was made to use an object that is not, or is no longer, usable.

If this exception is now expected, we should probably catch it, and print normally, not leave it unhandled.

&gt; LayoutTests/http/tests/xmlhttprequest/reentrant-cancel-expected.txt:3
&gt; +This tests that when we re-entrantly create and cancel XHRs, we don&apos;t try to disconnect the same CachedResourceClient multiple times from its CachedResource. We pass if we don&apos;t crash.

Does this test actually test it now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976749</commentid>
    <comment_count>4</comment_count>
      <attachid>223241</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-02-05 08:44:35 -0800</bug_when>
    <thetext>Created attachment 223241
Improved comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977095</commentid>
    <comment_count>5</comment_count>
      <attachid>223241</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-02-05 15:14:09 -0800</bug_when>
    <thetext>Comment on attachment 223241
Improved comments

This patch didn&apos;t have r? flag, but I believe it was meant to.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041306</commentid>
    <comment_count>6</comment_count>
      <attachid>223241</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-13 10:53:02 -0700</bug_when>
    <thetext>Comment on attachment 223241
Improved comments

Rejecting attachment 223241 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 223241, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

/Volumes/Data/EWS/WebKit/LayoutTests/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://webkit-queues.appspot.com/results/4643625384280064</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041489</commentid>
    <comment_count>7</comment_count>
      <attachid>239784</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-10-14 00:54:38 -0700</bug_when>
    <thetext>Created attachment 239784
Updated for commit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041579</commentid>
    <comment_count>8</comment_count>
      <attachid>239784</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-14 10:10:30 -0700</bug_when>
    <thetext>Comment on attachment 239784
Updated for commit

Clearing flags on attachment: 239784

Committed r174684: &lt;http://trac.webkit.org/changeset/174684&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041580</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-14 10:10:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221153</attachid>
            <date>2014-01-14 05:57:39 -0800</date>
            <delta_ts>2014-02-05 08:44:08 -0800</delta_ts>
            <desc>First patch</desc>
            <filename>bug-126975-20140114145735.patch</filename>
            <type>text/plain</type>
            <size>10021</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxODYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTM1MmUyOWVlYjEzYjM4
ODJhZmI3NjVmZGViNGVhMjIzNDIzMjJiZC4uODIwODgxNWM0NTU5MzEwNmU1NDhkZWQwNmQwZmMx
NWMxN2JmOGI1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE0LTAxLTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uZkBnbWFpbC5jb20+CisgICAgICAgIFtYSFJdIEFib3J0IG1ldGhv
ZCBleGVjdXRpb24gd2hlbiBtX2xvYWRlci0+Y2FuY2VsKCkgaW4gaW50ZXJuYWxBYm9ydCgpIGNh
dXNlZCByZWVudHJ5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjY5NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAg
ICAgCisgICAgICAgIG1lcmdpbmcgaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2No
cm9taXVtL2JsaW5rLysvMGQ3NWRhZjIwNTM2MzE1MTg2MDZhZTE1ZGFhZWNlNzAxYTI1YjJjNAor
ICAgICAgICBlbnN1cmluZyBuZXcgdGVzdCBmcm9tIGh0dHBzOi8vY29kZXJldmlldy5jaHJvbWl1
bS5vcmcvNzYxMzMwMDIvIGlzIHBhc3NpbmcuCisgICAgICAgIAorICAgICAgICBUZXN0OiBodHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L3JlZW50cmFudC1jYW5jZWwtYWJvcnQuaHRtbAorCisgICAg
ICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBS
ZXF1ZXN0OjpvcGVuKTogZXhpdCBlYXJseSBpZiBpbnRlcm5hbEFib3J0IGFza3Mgc28KKyAgICAg
ICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjphYm9ydCk6IGV4aXQgZWFybHkgaWYgaW50ZXJu
YWxBYm9ydCBhc2tzIHNvCisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6aW50ZXJu
YWxBYm9ydCk6IGFzayBvdXRlciBmdW5jdGlvbiB0byBleGl0IGVhcmx5IGlmIGR1cmluZyBjYW5j
ZWxsYXRpb24gb2YgbG9hZGVyLCBhIG5ldyBsb2FkZXIgaXMgY3JlYXRlZCAocmVlbnRyYW50IGNh
c2UpCisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6ZGlkVGltZW91dCk6IGV4aXQg
ZWFybHkgaWYgaW50ZXJuYWxBYm9ydCBhc2tzIHNvCisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1
ZXN0Lmg6CisKIDIwMTQtMDEtMTIgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNjE4NDMuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCAxMDAyOWVlNDY2M2Q0MDBiYzRiYmQ1MDVm
MGZmYWRkYjQ1OWQ2MjZmLi4wYThiNmQyZWFiMWUzMTI5YzM3NTU4MjBiZWMwNmJhZTQ5YTMzYTVk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKQEAgLTQ4NCw3ICs0ODQsOSBA
QCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpvcGVuKGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBV
UkwmIHVybCwgRXhjZXB0aW9uQ29kZSYgZQogCiB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpvcGVuKGNv
bnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBVUkwmIHVybCwgYm9vbCBhc3luYywgRXhjZXB0aW9u
Q29kZSYgZWMpCiB7Ci0gICAgaW50ZXJuYWxBYm9ydCgpOworICAgIGlmICghaW50ZXJuYWxBYm9y
dCgpKQorICAgICAgICByZXR1cm47CisKICAgICBTdGF0ZSBwcmV2aW91c1N0YXRlID0gbV9zdGF0
ZTsKICAgICBtX3N0YXRlID0gVU5TRU5UOwogICAgIG1fZXJyb3IgPSBmYWxzZTsKQEAgLTg0Miw3
ICs4NDQsOCBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjphYm9ydCgpCiAKICAgICBib29sIHNlbmRG
bGFnID0gbV9sb2FkZXI7CiAKLSAgICBpbnRlcm5hbEFib3J0KCk7CisgICAgaWYgKCFpbnRlcm5h
bEFib3J0KCkpCisgICAgICAgIHJldHVybjsKIAogICAgIGNsZWFyUmVzcG9uc2VCdWZmZXJzKCk7
CiAKQEAgLTg2MCwyNiArODYzLDM0IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmFib3J0KCkKICAg
ICBkaXNwYXRjaEVycm9yRXZlbnRzKGV2ZW50TmFtZXMoKS5hYm9ydEV2ZW50KTsKIH0KIAotdm9p
ZCBYTUxIdHRwUmVxdWVzdDo6aW50ZXJuYWxBYm9ydCgpCitib29sIFhNTEh0dHBSZXF1ZXN0Ojpp
bnRlcm5hbEFib3J0KCkKIHsKLSAgICBib29sIGhhZExvYWRlciA9IG1fbG9hZGVyOwotCiAgICAg
bV9lcnJvciA9IHRydWU7CiAKICAgICAvLyBGSVhNRTogd2hlbiB3ZSBhZGQgdGhlIHN1cHBvcnQg
Zm9yIG11bHRpLXBhcnQgWEhSLCB3ZSB3aWxsIGhhdmUgdG8gdGhpbmsgYmUgY2FyZWZ1bCB3aXRo
IHRoaXMgaW5pdGlhbGl6YXRpb24uCiAgICAgbV9yZWNlaXZlZExlbmd0aCA9IDA7CiAKLSAgICBp
ZiAoaGFkTG9hZGVyKSB7Ci0gICAgICAgIG1fbG9hZGVyLT5jYW5jZWwoKTsKLSAgICAgICAgbV9s
b2FkZXIgPSAwOwotICAgIH0KLQogICAgIG1fZGVjb2RlciA9IDA7CiAKICAgICBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZEZhaWxYSFJMb2FkaW5nKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSwgdGhpcyk7CiAKLSAgICBpZiAoaGFkTG9hZGVyKQotICAgICAgICBkcm9wUHJvdGVjdGlvbigp
OworICAgIGlmICghbV9sb2FkZXIpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgLy8gQ2Fu
Y2VsbGluZyBtX2xvYWRlciBtYXkgdHJpZ2dlciBhIHdpbmRvdy5vbmxvYWQgY2FsbGJhY2sgd2hp
Y2ggY2FuIGNhbGwgb3BlbigpIG9uIHRoZSBzYW1lIHhoci4KKyAgICAvLyBUaGlzIHdvdWxkIGNy
ZWF0ZSBpbnRlcm5hbEFib3J0IHJlZW50cmFudCBjYWxsLiBUbyBwcmV2ZW50IHRoYXQsCisgICAg
Ly8gbV9sb2FkZXIgaXMgc2V0IHRvIG51bGwgYmVmb3JlIGJlaW5nIGNhbmNlbGxlZCB0byBleGl0
IGVhcmx5IGluIGludGVybmFsQWJvcnQoKSBhbmQgb3BlbigpLgorICAgIFJlZlB0cjxUaHJlYWRh
YmxlTG9hZGVyPiBsb2FkZXIgPSBtX2xvYWRlci5yZWxlYXNlKCk7CisgICAgbG9hZGVyLT5jYW5j
ZWwoKTsKKworICAgIC8vIElmIHdpbmRvdy5vbmxvYWQgY29udGFpbnMgb3BlbigpIGFuZCBzZW5k
KCksIG1fbG9hZGVyIHdpbGwgYmUgc2V0IHRvIG5vbiAwIHZhbHVlLgorICAgIC8vIFNvLCB3ZSBj
YW5ub3QgY29udGludWUgdGhlIG91dGVyIG9wZW4oKS4gSW4gc3VjaCBjYXNlLCBqdXN0IGFib3J0
IHRoZSBvdXRlciBvcGVuKCkgYnkgcmV0dXJuaW5nIGZhbHNlLgorICAgIC8vIFNhdmUgdGhpcyBp
bmZvcm1hdGlvbiB0byBhIGxvY2FsIHZhcmlhYmxlIHNpbmNlIHdlIGFyZSBnb2luZyB0byBkcm9w
IHByb3RlY3Rpb24uCisgICAgYm9vbCBuZXdMb2FkU3RhcnRlZCA9IG1fbG9hZGVyOworCisgICAg
ZHJvcFByb3RlY3Rpb24oKTsKKworICAgIHJldHVybiAhbmV3TG9hZFN0YXJ0ZWQ7CiB9CiAKIHZv
aWQgWE1MSHR0cFJlcXVlc3Q6OmNsZWFyUmVzcG9uc2UoKQpAQCAtMTI1OCw3ICsxMjY5LDggQEAg
dm9pZCBYTUxIdHRwUmVxdWVzdDo6ZGlkVGltZW91dCgpCiB7CiAgICAgLy8gaW50ZXJuYWxBYm9y
dCgpIGNhbGxzIGRyb3BQcm90ZWN0aW9uKCksIHdoaWNoIG1heSByZWxlYXNlIHRoZSBsYXN0IHJl
ZmVyZW5jZS4KICAgICBSZWY8WE1MSHR0cFJlcXVlc3Q+IHByb3RlY3QoKnRoaXMpOwotICAgIGlu
dGVybmFsQWJvcnQoKTsKKyAgICBpZiAoIWludGVybmFsQWJvcnQoKSkKKyAgICAgICAgcmV0dXJu
OwogCiAgICAgY2xlYXJSZXNwb25zZSgpOwogICAgIGNsZWFyUmVxdWVzdCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuaAppbmRleCA5MzI1YWQ3MjY0ZGVkNmYwOGYwYjU0NGI4MDA1Yzc3
NGY3MDk4ZWRhLi4wMzVlNTQ2M2IzOThjODY5YTM5ZDkzNWIwYmVjMzJkZThiNzc3NTA5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtNzUsNiArNzUsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIFJlc3BvbnNlVHlwZUJsb2IsCiAgICAgICAgIFJlc3BvbnNlVHlwZUFycmF5QnVmZmVy
CiAgICAgfTsKKwogICAgIHN0YXRpYyBjb25zdCBSZXNwb25zZVR5cGVDb2RlIEZpcnN0QmluYXJ5
UmVzcG9uc2VUeXBlID0gUmVzcG9uc2VUeXBlQmxvYjsKIAogI2lmIEVOQUJMRShYSFJfVElNRU9V
VCkKQEAgLTE5NSw3ICsxOTYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY2hhbmdlU3RhdGUoU3Rh
dGUgbmV3U3RhdGUpOwogICAgIHZvaWQgY2FsbFJlYWR5U3RhdGVDaGFuZ2VMaXN0ZW5lcigpOwog
ICAgIHZvaWQgZHJvcFByb3RlY3Rpb24oKTsKLSAgICB2b2lkIGludGVybmFsQWJvcnQoKTsKKyAg
ICBib29sIGludGVybmFsQWJvcnQoKTsKICAgICB2b2lkIGNsZWFyUmVzcG9uc2UoKTsKICAgICB2
b2lkIGNsZWFyUmVzcG9uc2VCdWZmZXJzKCk7CiAgICAgdm9pZCBjbGVhclJlcXVlc3QoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBkNzExMDA5MWEyZjJhZTk3ZjE4YmNkMDVlNzU2ODY4ZGE5NTdjN2Q1Li5lZTBhNGU3ZjE4
M2Q4NzdmOTlhY2UwMjBjOTFkYzg0ZWFhNzllYmI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIw
MTQtMDEtMTQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5mQGdtYWlsLmNvbT4KKyAgICAgICAgW1hI
Ul0gQWJvcnQgbWV0aG9kIGV4ZWN1dGlvbiB3aGVuIG1fbG9hZGVyLT5jYW5jZWwoKSBpbiBpbnRl
cm5hbEFib3J0KCkgY2F1c2VkIHJlZW50cnkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyNjk3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGluZyByZWVudHJhbnQtY2FuY2VsLWFib3J0Lmh0bWwgdGhh
dCBjcmFzaGVzIHdpdGhvdXQgdGhlIHBhdGNoCisgICAgICAgIE1lcmdlZCByZWVudHJhbnQtY2Fu
Y2VsLmh0bWwgdGVzdCBhbmQgY2hhbmdlZCBjb3JyZXNwb25kaW5nIGV4cGVjdGVkIGZpbGUKKyAg
ICAgICAgdG8gY29wZSB3aXRoIGV4Y2VwdGlvbiB0aGF0IGlzIG5vdyBoaXQgaW4gaW5pdFNlbmQg
ZnVuY3Rpb24gCisgICAgICAgIAorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qv
cmVlbnRyYW50LWNhbmNlbC1hYm9ydC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVlbnRyYW50LWNhbmNlbC1hYm9ydC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3JlZW50cmFudC1jYW5jZWwt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVlbnRy
YW50LWNhbmNlbC5odG1sOgorCiAyMDE0LTAxLTEyICBDb21taXQgUXVldWUgIDxjb21taXQtcXVl
dWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTYxODQz
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZWVu
dHJhbnQtY2FuY2VsLWFib3J0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3QvcmVlbnRyYW50LWNhbmNlbC1hYm9ydC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMWRjN2VjNTU0MDU0YzYyMzFkZWRlM2VhMTZmODNiOWVjZmE1Y2QyOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVlbnRyYW50
LWNhbmNlbC1hYm9ydC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitpbnNlcnRlZFRleHQK
K1JlZW50cmFuY3ksIGNhbmNlbGxhdGlvbiBhbmQgZXhwbGljaXQgYWJvcnQuIENoZWNrIHRoYXQg
d2UgZG9uJ3QgY3Jhc2ggYW5kIHJlcG9ydCB0aGUgZXhwZWN0ZWQgYWJvcnQgZXZlbnQuCitET01D
b250ZW50TG9hZGVkCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3QvcmVlbnRyYW50LWNhbmNlbC1hYm9ydC5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZWVudHJhbnQtY2FuY2VsLWFib3J0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYWU4Y2Q1NWRiZTVmNTQ0ZWY5NWVmY2FiMDQ0YjZkODFlNzVkY2Y0NQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVlbnRy
YW50LWNhbmNlbC1hYm9ydC5odG1sCkBAIC0wLDAgKzEsNTIgQEAKKzwhZG9jdHlwZSBodG1sPgor
PGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
K30KKworZnVuY3Rpb24gbG9nKHN0cikKK3sKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHN0cikpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnIiKSk7Cit9CisKK2Z1bmN0aW9uIGFkZEVs
ZW1lbnQoZSkKK3sKKyAgICB2YXIgdHh0ID0gKGUgJiYgZS50eXBlKSB8fCAiaW5zZXJ0ZWRUZXh0
IjsKKyAgICBsb2codHh0KTsKK30KK2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRl
bnRMb2FkZWQiLCBhZGRFbGVtZW50LCBmYWxzZSk7CisKK3ZhciBhYm9ydERpc3BhdGNoZWQgPSBm
YWxzZTsKK2Z1bmN0aW9uIHJlcG9ydFJlc3VsdCgpCit7CisgICAgbG9nKGFib3J0RGlzcGF0Y2hl
ZCA/ICJQQVNTIiA6ICJGQUlMIik7CisgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9CisK
K3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CisgICAgeGhyLm9wZW4oIkdFVCIsICIiLCB0
cnVlKTsKKyAgICBzZXRUaW1lb3V0KHJlcG9ydFJlc3VsdCwgMTAwKTsKK307CisKK3ZhciB4aHIg
PSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKK3hoci5vbmFib3J0ID0gZnVuY3Rpb24gKCkgeworICAg
IGFib3J0RGlzcGF0Y2hlZCA9IHRydWU7Cit9OworCitmdW5jdGlvbiBzZW5kQW5kQWJvcnQoKQor
eworICAgIHhoci5vcGVuKCJHRVQiLCAiIiwgdHJ1ZSk7CisgICAgeGhyLnNlbmQoKTsKKyAgICB4
aHIuYWJvcnQoKTsKK30KK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJET01TdWJ0cmVlTW9kaWZp
ZWQiLCBzZW5kQW5kQWJvcnQpOworYWRkRWxlbWVudCgpOworPC9zY3JpcHQ+CitSZWVudHJhbmN5
LCBjYW5jZWxsYXRpb24gYW5kIGV4cGxpY2l0IGFib3J0LiBDaGVjayB0aGF0IHdlIGRvbid0IGNy
YXNoCithbmQgcmVwb3J0IHRoZSBleHBlY3RlZCBhYm9ydCBldmVudC48YnIvPgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9yZWVudHJhbnQtY2FuY2VsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3QvcmVlbnRyYW50LWNhbmNlbC1leHBlY3RlZC50eHQKaW5kZXggNTNhODA2
ODBiODY3NWFjYTMwN2JhYWY1OWI4NWRhYTZmZDJiYTBiZC4uNTU5ODk3MTU5MzYwM2E3ZGY4ZWYw
OGE0ZjM1N2RlOWU3NDA1ZjVlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC9yZWVudHJhbnQtY2FuY2VsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3JlZW50cmFudC1jYW5jZWwtZXhwZWN0ZWQu
dHh0CkBAIC0xICsxLDYgQEAKLVhUaGlzIHRlc3RzIHRoYXQgd2hlbiB3ZSByZS1lbnRyYW50bHkg
Y3JlYXRlIGFuZCBjYW5jZWwgWEhScywgd2UgZG9uJ3QgdHJ5IHRvIGRpc2Nvbm5lY3QgdGhlIHNh
bWUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgbXVsdGlwbGUgdGltZXMgZnJvbSBpdHMgQ2FjaGVkUmVz
b3VyY2UuIFdlIHBhc3MgaWYgd2UgZG9uJ3QgY3Jhc2guIFhYCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMjY6IEludmFsaWRTdGF0ZUVycm9yOiBET00gRXhjZXB0aW9uIDExOiBBbiBhdHRlbXB0IHdh
cyBtYWRlIHRvIHVzZSBhbiBvYmplY3QgdGhhdCBpcyBub3QsIG9yIGlzIG5vIGxvbmdlciwgdXNh
YmxlLgoraW5zZXJ0ZWRUZXh0CitUaGlzIHRlc3RzIHRoYXQgd2hlbiB3ZSByZS1lbnRyYW50bHkg
Y3JlYXRlIGFuZCBjYW5jZWwgWEhScywgd2UgZG9uJ3QgdHJ5IHRvIGRpc2Nvbm5lY3QgdGhlIHNh
bWUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgbXVsdGlwbGUgdGltZXMgZnJvbSBpdHMgQ2FjaGVkUmVz
b3VyY2UuIFdlIHBhc3MgaWYgd2UgZG9uJ3QgY3Jhc2guCitET01Db250ZW50TG9hZGVkbG9hZAor
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVl
bnRyYW50LWNhbmNlbC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9yZWVudHJhbnQtY2FuY2VsLmh0bWwKaW5kZXggYWI5ZTdhYTBlNTZkM2I5NDExOTY1YTZiOGE0
Y2Q5ZjZkZDBiODRkNi4uMjkxNmFlNmExYjE5OTJjODM5NTYwZWQzM2ZkNWZkNzc1MjNjNjQyNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZWVudHJh
bnQtY2FuY2VsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9yZWVudHJhbnQtY2FuY2VsLmh0bWwKQEAgLTEsOSArMSwyMCBAQAorPCFkb2N0eXBlIGh0bWw+
Cis8aHRtbD4KKzxib2R5PgogPHNjcmlwdD4KIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAotZnVuY3Rpb24gYWRkRWxlbWVudCgpIHsKLSAgICBk
b2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5v
ZGUoJ1gnKSk7CitmdW5jdGlvbiBsb2coc3RyKQoreworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc3RyKSk7CisgICAgZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIpKTsKK30KKworZnVuY3Rpb24g
YWRkRWxlbWVudChlKQoreworICAgIHZhciB0eHQgPSAoZSAmJiBlLnR5cGUpIHx8ICJpbnNlcnRl
ZFRleHQiOworICAgIGxvZyh0eHQpOwogfQogZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9N
Q29udGVudExvYWRlZCIsIGFkZEVsZW1lbnQsIGZhbHNlKTsKIHdpbmRvdy5vbmxvYWQgPSBhZGRF
bGVtZW50OwpAQCAtMTgsNCArMjksNyBAQCB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NU3Vi
dHJlZU1vZGlmaWVkIiwgc2VuZFhIUik7CiBhZGRFbGVtZW50KCk7CiA8L3NjcmlwdD4KIFRoaXMg
dGVzdHMgdGhhdCB3aGVuIHdlIHJlLWVudHJhbnRseSBjcmVhdGUgYW5kIGNhbmNlbCBYSFJzLCB3
ZSBkb24ndCB0cnkgdG8gZGlzY29ubmVjdCB0aGUgc2FtZSBDYWNoZWRSZXNvdXJjZUNsaWVudAot
bXVsdGlwbGUgdGltZXMgZnJvbSBpdHMgQ2FjaGVkUmVzb3VyY2UuIFdlIHBhc3MgaWYgd2UgZG9u
J3QgY3Jhc2guCittdWx0aXBsZSB0aW1lcyBmcm9tIGl0cyBDYWNoZWRSZXNvdXJjZS4gV2UgcGFz
cyBpZiB3ZSBkb24ndCBjcmFzaC48YnIvPgorPC9ib2R5PgorPC9odG1sPgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223241</attachid>
            <date>2014-02-05 08:44:35 -0800</date>
            <delta_ts>2014-10-14 00:54:33 -0700</delta_ts>
            <desc>Improved comments</desc>
            <filename>bug-126975-20140205174411.patch</filename>
            <type>text/plain</type>
            <size>9120</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyNDUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWE5ODA0MmI0M2Q2NDE0
Y2YzZGI0ZTlmNWUwMDZmMWU5MmE2ZDYxNy4uYjJlNzM5NDljYzFlZmZiZWVmZGIyMDhiODlkY2Nk
MjIwMDRmN2JlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE0LTAyLTA1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uZkBnbWFpbC5jb20+CisKKyAgICAgICAgW1hIUl0gQWJvcnQgbWV0
aG9kIGV4ZWN1dGlvbiB3aGVuIG1fbG9hZGVyLT5jYW5jZWwoKSBpbiBpbnRlcm5hbEFib3J0KCkg
Y2F1c2VkIHJlZW50cnkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyNjk3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1lcmdpbmcgaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVt
L2JsaW5rLysvMGQ3NWRhZjIwNTM2MzE1MTg2MDZhZTE1ZGFhZWNlNzAxYTI1YjJjNAorICAgICAg
ICBFbnN1cmluZyBuZXcgdGVzdCBmcm9tIGh0dHBzOi8vY29kZXJldmlldy5jaHJvbWl1bS5vcmcv
NzYxMzMwMDIvIGlzIHBhc3NpbmcuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC9yZWVudHJhbnQtY2FuY2VsLWFib3J0Lmh0bWwKKworICAgICAgICAqIHhtbC9YTUxI
dHRwUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6b3Blbik6
IGV4aXQgZWFybHkgaWYgaW50ZXJuYWxBYm9ydCBhc2tzIHNvCisgICAgICAgIChXZWJDb3JlOjpY
TUxIdHRwUmVxdWVzdDo6YWJvcnQpOiBleGl0IGVhcmx5IGlmIGludGVybmFsQWJvcnQgYXNrcyBz
bworICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmludGVybmFsQWJvcnQpOiBhc2sg
Y2FsbGluZyBmdW5jdGlvbiB0byBleGl0IGVhcmx5IGlmIGEgbmV3IGxvYWRlciBpcyBjcmVhdGVk
IGR1cmluZyB0aGUgY2FuY2VsbGF0aW9uIG9mIHRoZSBsb2FkZXIgKHBvdGVudGlhbCByZWVudHJh
bnQgY2FzZSB0aHJvdWdoIHdpbmRvdy5vbmxvYWQgY2FsbGJhY2spICAgCisgICAgICAgIChXZWJD
b3JlOjpYTUxIdHRwUmVxdWVzdDo6ZGlkVGltZW91dCk6IGV4aXQgZWFybHkgaWYgaW50ZXJuYWxB
Ym9ydCBhc2tzIHNvCisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0Lmg6CisKIDIwMTQtMDEt
MjEgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgS2Vl
cCBDQUxheWVyIGltcGxpY2l0IGFuaW1hdGlvbiBkaXNhYmxpbmcgY29kZSBpbiBhIHNpbmdsZSBw
bGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKaW5kZXggZjAxNDRlNmNjYzc1
OTM3NWIyOTUzZWQwNzA4NzNmZTYyMjFlNWM0NC4uNzY5YzI4ZGIxM2I3ZTU4NmVkMjY0NjExM2Fm
ZTA3N2RlYTZkNzNlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1
ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC00
ODQsNyArNDg0LDkgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6b3Blbihjb25zdCBTdHJpbmcmIG1l
dGhvZCwgY29uc3QgVVJMJiB1cmwsIEV4Y2VwdGlvbkNvZGUmIGUKIAogdm9pZCBYTUxIdHRwUmVx
dWVzdDo6b3Blbihjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29uc3QgVVJMJiB1cmwsIGJvb2wgYXN5
bmMsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIGludGVybmFsQWJvcnQoKTsKKyAgICBpZiAo
IWludGVybmFsQWJvcnQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgU3RhdGUgcHJldmlvdXNT
dGF0ZSA9IG1fc3RhdGU7CiAgICAgbV9zdGF0ZSA9IFVOU0VOVDsKICAgICBtX2Vycm9yID0gZmFs
c2U7CkBAIC04NDIsNyArODQ0LDggQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6YWJvcnQoKQogCiAg
ICAgYm9vbCBzZW5kRmxhZyA9IG1fbG9hZGVyOwogCi0gICAgaW50ZXJuYWxBYm9ydCgpOworICAg
IGlmICghaW50ZXJuYWxBYm9ydCgpKQorICAgICAgICByZXR1cm47CiAKICAgICBjbGVhclJlc3Bv
bnNlQnVmZmVycygpOwogCkBAIC04NjAsMjYgKzg2MywzNSBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0
OjphYm9ydCgpCiAgICAgZGlzcGF0Y2hFcnJvckV2ZW50cyhldmVudE5hbWVzKCkuYWJvcnRFdmVu
dCk7CiB9CiAKLXZvaWQgWE1MSHR0cFJlcXVlc3Q6OmludGVybmFsQWJvcnQoKQorYm9vbCBYTUxI
dHRwUmVxdWVzdDo6aW50ZXJuYWxBYm9ydCgpCiB7Ci0gICAgYm9vbCBoYWRMb2FkZXIgPSBtX2xv
YWRlcjsKLQogICAgIG1fZXJyb3IgPSB0cnVlOwogCiAgICAgLy8gRklYTUU6IHdoZW4gd2UgYWRk
IHRoZSBzdXBwb3J0IGZvciBtdWx0aS1wYXJ0IFhIUiwgd2Ugd2lsbCBoYXZlIHRvIHRoaW5rIGJl
IGNhcmVmdWwgd2l0aCB0aGlzIGluaXRpYWxpemF0aW9uLgogICAgIG1fcmVjZWl2ZWRMZW5ndGgg
PSAwOwogCi0gICAgaWYgKGhhZExvYWRlcikgewotICAgICAgICBtX2xvYWRlci0+Y2FuY2VsKCk7
Ci0gICAgICAgIG1fbG9hZGVyID0gMDsKLSAgICB9Ci0KICAgICBtX2RlY29kZXIgPSAwOwogCiAg
ICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGYWlsWEhSTG9hZGluZyhzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCksIHRoaXMpOwogCi0gICAgaWYgKGhhZExvYWRlcikKLSAgICAgICAgZHJv
cFByb3RlY3Rpb24oKTsKKyAgICBpZiAoIW1fbG9hZGVyKQorICAgICAgICByZXR1cm4gdHJ1ZTsK
KworICAgIC8vIENhbmNlbGxpbmcgbV9sb2FkZXIgbWF5IHRyaWdnZXIgYSB3aW5kb3cub25sb2Fk
IGNhbGxiYWNrIHdoaWNoIGNhbiBjYWxsIG9wZW4oKSBvbiB0aGUgc2FtZSB4aHIuCisgICAgLy8g
VGhpcyB3b3VsZCBjcmVhdGUgaW50ZXJuYWxBYm9ydCByZWVudHJhbnQgY2FsbC4KKyAgICAvLyBt
X2xvYWRlciBpcyBzZXQgdG8gbnVsbCBiZWZvcmUgYmVpbmcgY2FuY2VsbGVkIHRvIGV4aXQgZWFy
bHkgaW4gYW55IHJlZW50cmFudCBpbnRlcm5hbEFib3J0KCkgY2FsbC4KKyAgICBSZWZQdHI8VGhy
ZWFkYWJsZUxvYWRlcj4gbG9hZGVyID0gbV9sb2FkZXIucmVsZWFzZSgpOworICAgIGxvYWRlci0+
Y2FuY2VsKCk7CisKKyAgICAvLyBJZiB3aW5kb3cub25sb2FkIGNhbGxiYWNrIGNhbGxzIG9wZW4o
KSBhbmQgc2VuZCgpIG9uIHRoZSBzYW1lIHhociwgbV9sb2FkZXIgaXMgbm93IHNldCB0byBhIG5l
dyB2YWx1ZS4KKyAgICAvLyBUaGUgZnVuY3Rpb24gY2FsbGluZyBpbnRlcm5hbEFib3J0KCkgc2hv
dWxkIGFib3J0IHRvIGxldCB0aGUgb3BlbigpIGFuZCBzZW5kKCkgY2FsbHMgY29udGludWUgcHJv
cGVybHkuCisgICAgLy8gV2UgYXNrIHRoZSBmdW5jdGlvbiBjYWxsaW5nIGludGVybmFsQWJvcnQo
KSB0byBleGl0IGJ5IHJldHVybmluZyBmYWxzZS4KKyAgICAvLyBTYXZlIHRoaXMgaW5mb3JtYXRp
b24gdG8gYSBsb2NhbCB2YXJpYWJsZSBzaW5jZSB3ZSBhcmUgZ29pbmcgdG8gZHJvcCBwcm90ZWN0
aW9uLgorICAgIGJvb2wgbmV3TG9hZFN0YXJ0ZWQgPSBtX2xvYWRlcjsKKworICAgIGRyb3BQcm90
ZWN0aW9uKCk7CisKKyAgICByZXR1cm4gIW5ld0xvYWRTdGFydGVkOwogfQogCiB2b2lkIFhNTEh0
dHBSZXF1ZXN0OjpjbGVhclJlc3BvbnNlKCkKQEAgLTEyNjAsNyArMTI3Miw4IEBAIHZvaWQgWE1M
SHR0cFJlcXVlc3Q6OmRpZFRpbWVvdXQoKQogewogICAgIC8vIGludGVybmFsQWJvcnQoKSBjYWxs
cyBkcm9wUHJvdGVjdGlvbigpLCB3aGljaCBtYXkgcmVsZWFzZSB0aGUgbGFzdCByZWZlcmVuY2Uu
CiAgICAgUmVmPFhNTEh0dHBSZXF1ZXN0PiBwcm90ZWN0KCp0aGlzKTsKLSAgICBpbnRlcm5hbEFi
b3J0KCk7CisgICAgaWYgKCFpbnRlcm5hbEFib3J0KCkpCisgICAgICAgIHJldHVybjsKIAogICAg
IGNsZWFyUmVzcG9uc2UoKTsKICAgICBjbGVhclJlcXVlc3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0
dHBSZXF1ZXN0LmgKaW5kZXggNDNhNzhiNDcxNmM2MjkxNGQyZjFmMmEyZjhhZTYxNzU3OTI5Mzdh
NC4uNDhiOGIzMmUwMDJkOTk4MGFmN2IzN2U1YzkwMjU1ZmEyNzQwMzNmZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmgKQEAgLTE5NSw3ICsxOTUsMTEgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGNoYW5nZVN0YXRlKFN0YXRlIG5ld1N0YXRlKTsKICAgICB2b2lkIGNhbGxSZWFkeVN0YXRl
Q2hhbmdlTGlzdGVuZXIoKTsKICAgICB2b2lkIGRyb3BQcm90ZWN0aW9uKCk7Ci0gICAgdm9pZCBp
bnRlcm5hbEFib3J0KCk7CisKKyAgICAvLyBSZXR1cm5zIGZhbHNlIHdoZW4gY2FuY2VsbGluZyB0
aGUgbG9hZGVyIHdpdGhpbiBpbnRlcm5hbEFib3J0KCkgdHJpZ2dlcnMgYW4gZXZlbnQgd2hvc2Ug
Y2FsbGJhY2sgY3JlYXRlcyBhIG5ldyBsb2FkZXIuIAorICAgIC8vIEluIHRoYXQgY2FzZSwgdGhl
IGZ1bmN0aW9uIGNhbGxpbmcgaW50ZXJuYWxBYm9ydCBzaG91bGQgZXhpdC4KKyAgICBib29sIGlu
dGVybmFsQWJvcnQoKTsKKwogICAgIHZvaWQgY2xlYXJSZXNwb25zZSgpOwogICAgIHZvaWQgY2xl
YXJSZXNwb25zZUJ1ZmZlcnMoKTsKICAgICB2b2lkIGNsZWFyUmVxdWVzdCgpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGFi
NTc2NWUzZjkwMTMwNWFhOGMxZjFhYWFhODNiZjUyNTY4YjEyMmEuLjliZTdiNmI4ZmRlYTYyOWNi
ZDIxZDdlYzM2ZjA0M2EzOGQ5MTk1ODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNC0wMi0w
NSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubmZAZ21haWwuY29tPgorCisgICAgICAgIFtYSFJdIEFi
b3J0IG1ldGhvZCBleGVjdXRpb24gd2hlbiBtX2xvYWRlci0+Y2FuY2VsKCkgaW4gaW50ZXJuYWxB
Ym9ydCgpIGNhdXNlZCByZWVudHJ5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMjY5NzUKKworICAgICAgICBBZGRpbmcgcmVlbnRyYW50LWNhbmNlbC1h
Ym9ydC5odG1sIChmcm9tIGh0dHBzOi8vY29kZXJldmlldy5jaHJvbWl1bS5vcmcvNzYxMzMwMDIv
KSAKKyAgICAgICAgdGhhdCBjcmFzaGVzIHdpdGhvdXQgdGhlIHBhdGNoCisgICAgICAgIFVwZGF0
ZWQgcmVlbnRyYW50LWNhbmNlbC5odG1sIHRlc3QgdG8gZXhwZWN0IHRoZSBleGNlcHRpb24gCisg
ICAgICAgIHRoYXQgaXMgbm93IGhpdCBpbiBpbml0U2VuZCBmdW5jdGlvbiAoc2luY2UgYSBYSFIg
b3BlbigpIGNhbGwgaXMgYWJvcnRlZCkKKworICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJl
cXVlc3QvcmVlbnRyYW50LWNhbmNlbC1hYm9ydC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVlbnRyYW50LWNhbmNlbC1hYm9ydC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3JlZW50cmFudC1j
YW5jZWwuaHRtbDoKKwogMjAxNC0wMS0yMSAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFw
cGxlLmNvbT4KIAogICAgICAgICBBZGQgJmxybTsgJnJsbTsgYW5kICZuYnNwOyB0byBXZWJWVFQg
cGFyc2VyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L3JlZW50cmFudC1jYW5jZWwtYWJvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy94bWxodHRwcmVxdWVzdC9yZWVudHJhbnQtY2FuY2VsLWFib3J0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xZGM3ZWM1NTQwNTRjNjIzMWRlZGUzZWExNmY4M2I5ZWNmYTVjZDI4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZWVu
dHJhbnQtY2FuY2VsLWFib3J0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK2luc2VydGVk
VGV4dAorUmVlbnRyYW5jeSwgY2FuY2VsbGF0aW9uIGFuZCBleHBsaWNpdCBhYm9ydC4gQ2hlY2sg
dGhhdCB3ZSBkb24ndCBjcmFzaCBhbmQgcmVwb3J0IHRoZSBleHBlY3RlZCBhYm9ydCBldmVudC4K
K0RPTUNvbnRlbnRMb2FkZWQKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy94bWxodHRwcmVxdWVzdC9yZWVudHJhbnQtY2FuY2VsLWFib3J0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3JlZW50cmFudC1jYW5jZWwtYWJvcnQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hZThjZDU1ZGJlNWY1NDRlZjk1ZWZjYWIwNDRiNmQ4MWU3NWRjZjQ1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9y
ZWVudHJhbnQtY2FuY2VsLWFib3J0Lmh0bWwKQEAgLTAsMCArMSw1MiBAQAorPCFkb2N0eXBlIGh0
bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgewor
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOworfQorCitmdW5jdGlvbiBsb2coc3RyKQoreworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc3RyKSk7CisgICAgZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIpKTsKK30KKworZnVuY3Rpb24g
YWRkRWxlbWVudChlKQoreworICAgIHZhciB0eHQgPSAoZSAmJiBlLnR5cGUpIHx8ICJpbnNlcnRl
ZFRleHQiOworICAgIGxvZyh0eHQpOworfQorZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9N
Q29udGVudExvYWRlZCIsIGFkZEVsZW1lbnQsIGZhbHNlKTsKKwordmFyIGFib3J0RGlzcGF0Y2hl
ZCA9IGZhbHNlOworZnVuY3Rpb24gcmVwb3J0UmVzdWx0KCkKK3sKKyAgICBsb2coYWJvcnREaXNw
YXRjaGVkID8gIlBBU1MiIDogIkZBSUwiKTsKKyAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
K30KKword2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICB4aHIub3BlbigiR0VUIiwg
IiIsIHRydWUpOworICAgIHNldFRpbWVvdXQocmVwb3J0UmVzdWx0LCAxMDApOworfTsKKwordmFy
IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworeGhyLm9uYWJvcnQgPSBmdW5jdGlvbiAoKSB7
CisgICAgYWJvcnREaXNwYXRjaGVkID0gdHJ1ZTsKK307CisKK2Z1bmN0aW9uIHNlbmRBbmRBYm9y
dCgpCit7CisgICAgeGhyLm9wZW4oIkdFVCIsICIiLCB0cnVlKTsKKyAgICB4aHIuc2VuZCgpOwor
ICAgIHhoci5hYm9ydCgpOworfQord2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIkRPTVN1YnRyZWVN
b2RpZmllZCIsIHNlbmRBbmRBYm9ydCk7CithZGRFbGVtZW50KCk7Cis8L3NjcmlwdD4KK1JlZW50
cmFuY3ksIGNhbmNlbGxhdGlvbiBhbmQgZXhwbGljaXQgYWJvcnQuIENoZWNrIHRoYXQgd2UgZG9u
J3QgY3Jhc2gKK2FuZCByZXBvcnQgdGhlIGV4cGVjdGVkIGFib3J0IGV2ZW50Ljxici8+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHBy
ZXF1ZXN0L3JlZW50cmFudC1jYW5jZWwuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1s
aHR0cHJlcXVlc3QvcmVlbnRyYW50LWNhbmNlbC5odG1sCmluZGV4IGFiOWU3YWEwZTU2ZDNiOTQx
MTk2NWE2YjhhNGNkOWY2ZGQwYjg0ZDYuLjczZjU1YzFjYmJiNmJiYTI1YWRjNzNlYTE4N2ZkODY3
ZGQ2ZmNmYzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3QvcmVlbnRyYW50LWNhbmNlbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1s
aHR0cHJlcXVlc3QvcmVlbnRyYW50LWNhbmNlbC5odG1sCkBAIC0xLDYgKzEsOCBAQAogPHNjcmlw
dD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworfQogCiBmdW5jdGlvbiBhZGRFbGVtZW50KCkgewogICAgIGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnWCcpKTsKQEAgLTEyLDcg
KzE0LDE3IEBAIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7CiBmdW5jdGlvbiBzZW5kWEhS
KCkKIHsKICAgICB4aHIub3BlbigiR0VUIiwgIiIsIHRydWUpOwotICAgIHhoci5zZW5kKCk7Cisg
ICAgdHJ5IHsKKyAgICAgICAgeGhyLnNlbmQoKTsKKyAgICB9CisgICAgY2F0Y2goZSkgeworICAg
ICAgICAvLyBJbiBjYXNlIG9mIHJlZW50cmFudCBjYWxsLCB0aGUgY2FsbCB0byAib3BlbiIgd2ls
bCBiZSBhYm9ydGVkIGJ5IHJlZW50cmFudCBjYWxsLgorICAgICAgICAvLyBUaGUgY2FsbCB0byAi
c2VuZCIgZm9sbG93aW5nIHRoZSAib3BlbiIgYWJvcnRlZCBjYWxsIHdpbGwgdGhyb3cgYW4gZXhj
ZXB0aW9uIChYSFIgbm90IGluIG9wZW4gbW9kZSkKKyAgICAgICAgaWYgKGUubmFtZSAhPSAiSW52
YWxpZFN0YXRlRXJyb3IiKSB7CisgICAgICAgICAgICBjb25zb2xlLmxvZygiRkFJTEVEOiBXYXMg
ZXhwZWN0aW5nIGFuIEludmFsaWRTdGF0ZUVycm9yIGV4Y2VwdGlvbiIpOworICAgICAgICB9Cisg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KIH0KIHdpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCJET01TdWJ0cmVlTW9kaWZpZWQiLCBzZW5kWEhSKTsKIGFkZEVsZW1lbnQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239784</attachid>
            <date>2014-10-14 00:54:38 -0700</date>
            <delta_ts>2014-10-14 10:10:30 -0700</delta_ts>
            <desc>Updated for commit</desc>
            <filename>bug-126975-20141014095442.patch</filename>
            <type>text/plain</type>
            <size>9201</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MzQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjgyYmM4YTg0MDgyYzVh
NmM4NGQ0ZDYwOWNjMmUwMjNhYzIwMGZhMC4uZGQ3ZTFhNTg5NWY5NDFmMDhjOTNhOWMzMzQ2NWI4
YTI5NzJlYzc1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE0LTEwLTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uZkBnbWFpbC5jb20+CisKKyAgICAgICAgW1hIUl0gQWJvcnQgbWV0
aG9kIGV4ZWN1dGlvbiB3aGVuIG1fbG9hZGVyLT5jYW5jZWwoKSBpbiBpbnRlcm5hbEFib3J0KCkg
Y2F1c2VkIHJlZW50cnkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyNjk3NQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3Yu
CisKKyAgICAgICAgTWVyZ2luZyBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hy
b21pdW0vYmxpbmsvKy8wZDc1ZGFmMjA1MzYzMTUxODYwNmFlMTVkYWFlY2U3MDFhMjViMmM0Cisg
ICAgICAgIEVuc3VyaW5nIG5ldyB0ZXN0IGZyb20gaHR0cHM6Ly9jb2RlcmV2aWV3LmNocm9taXVt
Lm9yZy83NjEzMzAwMi8gaXMgcGFzc2luZy4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3ht
bGh0dHByZXF1ZXN0L3JlZW50cmFudC1jYW5jZWwtYWJvcnQuaHRtbAorCisgICAgICAgICogeG1s
L1hNTEh0dHBSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0Ojpv
cGVuKTogZXhpdCBlYXJseSBpZiBpbnRlcm5hbEFib3J0IGFza3Mgc28KKyAgICAgICAgKFdlYkNv
cmU6OlhNTEh0dHBSZXF1ZXN0OjphYm9ydCk6IGV4aXQgZWFybHkgaWYgaW50ZXJuYWxBYm9ydCBh
c2tzIHNvCisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6aW50ZXJuYWxBYm9ydCk6
IGFzayBjYWxsaW5nIGZ1bmN0aW9uIHRvIGV4aXQgZWFybHkgaWYgYSBuZXcgbG9hZGVyIGlzIGNy
ZWF0ZWQgZHVyaW5nIHRoZSBjYW5jZWxsYXRpb24gb2YgdGhlIGxvYWRlciAocG90ZW50aWFsIHJl
ZW50cmFudCBjYXNlIHRocm91Z2ggd2luZG93Lm9ubG9hZCBjYWxsYmFjaykgICAKKyAgICAgICAg
KFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpkaWRUaW1lb3V0KTogZXhpdCBlYXJseSBpZiBpbnRl
cm5hbEFib3J0IGFza3Mgc28KKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoKKwogMjAx
NC0xMC0wNSAgQ2hyaXN0b3BoZSBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
VXNlIGlzPD4oKSAvIGRvd25jYXN0PD4oKSBmb3IgU2Nyb2xsaW5nQ29vcmRpbmF0b3IgLyBTY3Jv
bGxpbmdTdGF0ZU5vZGUgc3ViY2xhc3NlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5j
cHAKaW5kZXggODMwMzFiOGRiYTI1NGUxNzdmODcxZmNjOGUzNTgyMTcxY2U5NjY5Ny4uNTU4ZmRl
MTNjNjNkMTgyNGFmYzdiY2YxYjAwZjNiZjQwN2I0ZDIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3QuY3BwCkBAIC00NjMsNyArNDYzLDkgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6
b3Blbihjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29uc3QgVVJMJiB1cmwsIEV4Y2VwdGlvbkNvZGUm
IGUKIAogdm9pZCBYTUxIdHRwUmVxdWVzdDo6b3Blbihjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29u
c3QgVVJMJiB1cmwsIGJvb2wgYXN5bmMsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIGludGVy
bmFsQWJvcnQoKTsKKyAgICBpZiAoIWludGVybmFsQWJvcnQoKSkKKyAgICAgICAgcmV0dXJuOwor
CiAgICAgU3RhdGUgcHJldmlvdXNTdGF0ZSA9IG1fc3RhdGU7CiAgICAgbV9zdGF0ZSA9IFVOU0VO
VDsKICAgICBtX2Vycm9yID0gZmFsc2U7CkBAIC04MDUsNyArODA3LDggQEAgdm9pZCBYTUxIdHRw
UmVxdWVzdDo6YWJvcnQoKQogCiAgICAgYm9vbCBzZW5kRmxhZyA9IG1fbG9hZGVyOwogCi0gICAg
aW50ZXJuYWxBYm9ydCgpOworICAgIGlmICghaW50ZXJuYWxBYm9ydCgpKQorICAgICAgICByZXR1
cm47CiAKICAgICBjbGVhclJlc3BvbnNlQnVmZmVycygpOwogCkBAIC04MjMsMjYgKzgyNiwzNSBA
QCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjphYm9ydCgpCiAgICAgZGlzcGF0Y2hFcnJvckV2ZW50cyhl
dmVudE5hbWVzKCkuYWJvcnRFdmVudCk7CiB9CiAKLXZvaWQgWE1MSHR0cFJlcXVlc3Q6OmludGVy
bmFsQWJvcnQoKQorYm9vbCBYTUxIdHRwUmVxdWVzdDo6aW50ZXJuYWxBYm9ydCgpCiB7Ci0gICAg
Ym9vbCBoYWRMb2FkZXIgPSBtX2xvYWRlcjsKLQogICAgIG1fZXJyb3IgPSB0cnVlOwogCiAgICAg
Ly8gRklYTUU6IHdoZW4gd2UgYWRkIHRoZSBzdXBwb3J0IGZvciBtdWx0aS1wYXJ0IFhIUiwgd2Ug
d2lsbCBoYXZlIHRvIHRoaW5rIGJlIGNhcmVmdWwgd2l0aCB0aGlzIGluaXRpYWxpemF0aW9uLgog
ICAgIG1fcmVjZWl2ZWRMZW5ndGggPSAwOwogCi0gICAgaWYgKGhhZExvYWRlcikgewotICAgICAg
ICBtX2xvYWRlci0+Y2FuY2VsKCk7Ci0gICAgICAgIG1fbG9hZGVyID0gMDsKLSAgICB9Ci0KICAg
ICBtX2RlY29kZXIgPSAwOwogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGYWls
WEhSTG9hZGluZyhzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHRoaXMpOwogCi0gICAgaWYgKGhh
ZExvYWRlcikKLSAgICAgICAgZHJvcFByb3RlY3Rpb24oKTsKKyAgICBpZiAoIW1fbG9hZGVyKQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIC8vIENhbmNlbGxpbmcgbV9sb2FkZXIgbWF5IHRy
aWdnZXIgYSB3aW5kb3cub25sb2FkIGNhbGxiYWNrIHdoaWNoIGNhbiBjYWxsIG9wZW4oKSBvbiB0
aGUgc2FtZSB4aHIuCisgICAgLy8gVGhpcyB3b3VsZCBjcmVhdGUgaW50ZXJuYWxBYm9ydCByZWVu
dHJhbnQgY2FsbC4KKyAgICAvLyBtX2xvYWRlciBpcyBzZXQgdG8gbnVsbCBiZWZvcmUgYmVpbmcg
Y2FuY2VsbGVkIHRvIGV4aXQgZWFybHkgaW4gYW55IHJlZW50cmFudCBpbnRlcm5hbEFib3J0KCkg
Y2FsbC4KKyAgICBSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gbG9hZGVyID0gbV9sb2FkZXIucmVs
ZWFzZSgpOworICAgIGxvYWRlci0+Y2FuY2VsKCk7CisKKyAgICAvLyBJZiB3aW5kb3cub25sb2Fk
IGNhbGxiYWNrIGNhbGxzIG9wZW4oKSBhbmQgc2VuZCgpIG9uIHRoZSBzYW1lIHhociwgbV9sb2Fk
ZXIgaXMgbm93IHNldCB0byBhIG5ldyB2YWx1ZS4KKyAgICAvLyBUaGUgZnVuY3Rpb24gY2FsbGlu
ZyBpbnRlcm5hbEFib3J0KCkgc2hvdWxkIGFib3J0IHRvIGxldCB0aGUgb3BlbigpIGFuZCBzZW5k
KCkgY2FsbHMgY29udGludWUgcHJvcGVybHkuCisgICAgLy8gV2UgYXNrIHRoZSBmdW5jdGlvbiBj
YWxsaW5nIGludGVybmFsQWJvcnQoKSB0byBleGl0IGJ5IHJldHVybmluZyBmYWxzZS4KKyAgICAv
LyBTYXZlIHRoaXMgaW5mb3JtYXRpb24gdG8gYSBsb2NhbCB2YXJpYWJsZSBzaW5jZSB3ZSBhcmUg
Z29pbmcgdG8gZHJvcCBwcm90ZWN0aW9uLgorICAgIGJvb2wgbmV3TG9hZFN0YXJ0ZWQgPSBtX2xv
YWRlcjsKKworICAgIGRyb3BQcm90ZWN0aW9uKCk7CisKKyAgICByZXR1cm4gIW5ld0xvYWRTdGFy
dGVkOwogfQogCiB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpjbGVhclJlc3BvbnNlKCkKQEAgLTEyMTgs
NyArMTIzMCw4IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmRpZFRpbWVvdXQoKQogewogICAgIC8v
IGludGVybmFsQWJvcnQoKSBjYWxscyBkcm9wUHJvdGVjdGlvbigpLCB3aGljaCBtYXkgcmVsZWFz
ZSB0aGUgbGFzdCByZWZlcmVuY2UuCiAgICAgUmVmPFhNTEh0dHBSZXF1ZXN0PiBwcm90ZWN0KCp0
aGlzKTsKLSAgICBpbnRlcm5hbEFib3J0KCk7CisgICAgaWYgKCFpbnRlcm5hbEFib3J0KCkpCisg
ICAgICAgIHJldHVybjsKIAogICAgIGNsZWFyUmVzcG9uc2UoKTsKICAgICBjbGVhclJlcXVlc3Qo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oIGIvU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKaW5kZXggOTUxYmQ0MDBiMjM1ZWMxMzhi
MGIzOGZkM2VjYzA5OTYzYTdkNjI3MS4uYzVlMTNkZTI2NDExMWQ1ZGE0Y2I1MDg1NzZiOWRhZTAw
MGQ2ODZlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKQEAgLTE5NCw3ICsxOTQs
MTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNoYW5nZVN0YXRlKFN0YXRlIG5ld1N0YXRlKTsKICAg
ICB2b2lkIGNhbGxSZWFkeVN0YXRlQ2hhbmdlTGlzdGVuZXIoKTsKICAgICB2b2lkIGRyb3BQcm90
ZWN0aW9uKCk7Ci0gICAgdm9pZCBpbnRlcm5hbEFib3J0KCk7CisKKyAgICAvLyBSZXR1cm5zIGZh
bHNlIHdoZW4gY2FuY2VsbGluZyB0aGUgbG9hZGVyIHdpdGhpbiBpbnRlcm5hbEFib3J0KCkgdHJp
Z2dlcnMgYW4gZXZlbnQgd2hvc2UgY2FsbGJhY2sgY3JlYXRlcyBhIG5ldyBsb2FkZXIuIAorICAg
IC8vIEluIHRoYXQgY2FzZSwgdGhlIGZ1bmN0aW9uIGNhbGxpbmcgaW50ZXJuYWxBYm9ydCBzaG91
bGQgZXhpdC4KKyAgICBib29sIGludGVybmFsQWJvcnQoKTsKKwogICAgIHZvaWQgY2xlYXJSZXNw
b25zZSgpOwogICAgIHZvaWQgY2xlYXJSZXNwb25zZUJ1ZmZlcnMoKTsKICAgICB2b2lkIGNsZWFy
UmVxdWVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGZhNGQyZWEyYmE2Njg0NDg0ZmE3MDIzN2EwYmZkYTMxNWI4NjY0
YmEuLmVjZWQ0ODNkMGNmZjg2NjRkZjliZWQ1MGY1NDdlNzY4NDY4YjJmOGMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNC0xMC0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubmZAZ21haWwuY29t
PgorCisgICAgICAgIFtYSFJdIEFib3J0IG1ldGhvZCBleGVjdXRpb24gd2hlbiBtX2xvYWRlci0+
Y2FuY2VsKCkgaW4gaW50ZXJuYWxBYm9ydCgpIGNhdXNlZCByZWVudHJ5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjY5NzUKKworICAgICAgICBSZXZp
ZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgorCisgICAgICAgIEFkZGluZyByZWVudHJhbnQt
Y2FuY2VsLWFib3J0Lmh0bWwgKGZyb20gaHR0cHM6Ly9jb2RlcmV2aWV3LmNocm9taXVtLm9yZy83
NjEzMzAwMi8pIAorICAgICAgICB0aGF0IGNyYXNoZXMgd2l0aG91dCB0aGUgcGF0Y2gKKyAgICAg
ICAgVXBkYXRlZCByZWVudHJhbnQtY2FuY2VsLmh0bWwgdGVzdCB0byBleHBlY3QgdGhlIGV4Y2Vw
dGlvbiAKKyAgICAgICAgdGhhdCBpcyBub3cgaGl0IGluIGluaXRTZW5kIGZ1bmN0aW9uIChzaW5j
ZSBhIFhIUiBvcGVuKCkgY2FsbCBpcyBhYm9ydGVkKQorCisgICAgICAgICogaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC9yZWVudHJhbnQtY2FuY2VsLWFib3J0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZWVudHJhbnQtY2FuY2VsLWFi
b3J0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVl
bnRyYW50LWNhbmNlbC5odG1sOgorCiAyMDE0LTEwLTA1ICBCZW5qYW1pbiBQb3VsYWluICA8YnBv
dWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIGRlcHJlY2F0aW9uIHdhcm5pbmcgZm9y
IEVsZW1lbnQud2Via2l0TWF0Y2hlc1NlbGVjdG9yCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3JlZW50cmFudC1jYW5jZWwtYWJvcnQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZWVudHJhbnQtY2Fu
Y2VsLWFib3J0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZGM3ZWM1NTQwNTRjNjIzMWRlZGUz
ZWExNmY4M2I5ZWNmYTVjZDI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy94bWxodHRwcmVxdWVzdC9yZWVudHJhbnQtY2FuY2VsLWFib3J0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK2luc2VydGVkVGV4dAorUmVlbnRyYW5jeSwgY2FuY2VsbGF0aW9uIGFu
ZCBleHBsaWNpdCBhYm9ydC4gQ2hlY2sgdGhhdCB3ZSBkb24ndCBjcmFzaCBhbmQgcmVwb3J0IHRo
ZSBleHBlY3RlZCBhYm9ydCBldmVudC4KK0RPTUNvbnRlbnRMb2FkZWQKK1BBU1MKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZWVudHJhbnQtY2Fu
Y2VsLWFib3J0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jl
ZW50cmFudC1jYW5jZWwtYWJvcnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZThjZDU1ZGJlNWY1NDRlZjk1
ZWZjYWIwNDRiNmQ4MWU3NWRjZjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZWVudHJhbnQtY2FuY2VsLWFib3J0Lmh0bWwKQEAgLTAs
MCArMSw1MiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdD4KK2lm
ICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQorCitmdW5jdGlvbiBsb2coc3RyKQorewor
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc3Ry
KSk7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJiciIpKTsKK30KKworZnVuY3Rpb24gYWRkRWxlbWVudChlKQoreworICAgIHZhciB0eHQgPSAo
ZSAmJiBlLnR5cGUpIHx8ICJpbnNlcnRlZFRleHQiOworICAgIGxvZyh0eHQpOworfQorZG9jdW1l
bnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGFkZEVsZW1lbnQsIGZhbHNl
KTsKKwordmFyIGFib3J0RGlzcGF0Y2hlZCA9IGZhbHNlOworZnVuY3Rpb24gcmVwb3J0UmVzdWx0
KCkKK3sKKyAgICBsb2coYWJvcnREaXNwYXRjaGVkID8gIlBBU1MiIDogIkZBSUwiKTsKKyAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30KKword2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgp
IHsKKyAgICB4aHIub3BlbigiR0VUIiwgIiIsIHRydWUpOworICAgIHNldFRpbWVvdXQocmVwb3J0
UmVzdWx0LCAxMDApOworfTsKKwordmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworeGhy
Lm9uYWJvcnQgPSBmdW5jdGlvbiAoKSB7CisgICAgYWJvcnREaXNwYXRjaGVkID0gdHJ1ZTsKK307
CisKK2Z1bmN0aW9uIHNlbmRBbmRBYm9ydCgpCit7CisgICAgeGhyLm9wZW4oIkdFVCIsICIiLCB0
cnVlKTsKKyAgICB4aHIuc2VuZCgpOworICAgIHhoci5hYm9ydCgpOworfQord2luZG93LmFkZEV2
ZW50TGlzdGVuZXIoIkRPTVN1YnRyZWVNb2RpZmllZCIsIHNlbmRBbmRBYm9ydCk7CithZGRFbGVt
ZW50KCk7Cis8L3NjcmlwdD4KK1JlZW50cmFuY3ksIGNhbmNlbGxhdGlvbiBhbmQgZXhwbGljaXQg
YWJvcnQuIENoZWNrIHRoYXQgd2UgZG9uJ3QgY3Jhc2gKK2FuZCByZXBvcnQgdGhlIGV4cGVjdGVk
IGFib3J0IGV2ZW50Ljxici8+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3JlZW50cmFudC1jYW5jZWwuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVlbnRyYW50LWNhbmNlbC5odG1s
CmluZGV4IGFiOWU3YWEwZTU2ZDNiOTQxMTk2NWE2YjhhNGNkOWY2ZGQwYjg0ZDYuLjczZjU1YzFj
YmJiNmJiYTI1YWRjNzNlYTE4N2ZkODY3ZGQ2ZmNmYzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVlbnRyYW50LWNhbmNlbC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVlbnRyYW50LWNhbmNlbC5odG1s
CkBAIC0xLDYgKzEsOCBAQAogPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKK2lmICh3
aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQogCiBmdW5jdGlvbiBhZGRFbGVtZW50KCkgewog
ICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZSgnWCcpKTsKQEAgLTEyLDcgKzE0LDE3IEBAIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJl
cXVlc3Q7CiBmdW5jdGlvbiBzZW5kWEhSKCkKIHsKICAgICB4aHIub3BlbigiR0VUIiwgIiIsIHRy
dWUpOwotICAgIHhoci5zZW5kKCk7CisgICAgdHJ5IHsKKyAgICAgICAgeGhyLnNlbmQoKTsKKyAg
ICB9CisgICAgY2F0Y2goZSkgeworICAgICAgICAvLyBJbiBjYXNlIG9mIHJlZW50cmFudCBjYWxs
LCB0aGUgY2FsbCB0byAib3BlbiIgd2lsbCBiZSBhYm9ydGVkIGJ5IHJlZW50cmFudCBjYWxsLgor
ICAgICAgICAvLyBUaGUgY2FsbCB0byAic2VuZCIgZm9sbG93aW5nIHRoZSAib3BlbiIgYWJvcnRl
ZCBjYWxsIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uIChYSFIgbm90IGluIG9wZW4gbW9kZSkKKyAg
ICAgICAgaWYgKGUubmFtZSAhPSAiSW52YWxpZFN0YXRlRXJyb3IiKSB7CisgICAgICAgICAgICBj
b25zb2xlLmxvZygiRkFJTEVEOiBXYXMgZXhwZWN0aW5nIGFuIEludmFsaWRTdGF0ZUVycm9yIGV4
Y2VwdGlvbiIpOworICAgICAgICB9CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwor
ICAgIH0KIH0KIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJET01TdWJ0cmVlTW9kaWZpZWQiLCBz
ZW5kWEhSKTsKIGFkZEVsZW1lbnQoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>