<?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>158256</bug_id>
          
          <creation_ts>2016-06-01 02:31:39 -0700</creation_ts>
          <short_desc>Speculative revalidated request returns 200 instead of 304</short_desc>
          <delta_ts>2018-04-20 13:12:36 -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>WebKit2</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cdumez</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1198112</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-06-01 02:31:39 -0700</bug_when>
    <thetext>I noticed that after enabling speculative revalidation in the GTk+ port the unit test /webkit2/WebKitWebResource/response started to fail in the bots:

  /webkit2/WebKitWebResource/response:                                 **

ERROR:../../Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:417:void testWebResourceResponse(SingleResourceLoadTest*, gconstpointer): assertion failed (webkit_uri_response_get_status_code(response) == SOUP_STATUS_NOT_MODIFIED): (200 == 304)

FAIL

We are simply doing a reload and checking that the response code we get for a subresource is 304, but now is 200, because the network process is using a preloaded entry. I would expect that in case of successful speculative revalidation, 304 was returned like a normal revalidation request, and the resource be loaded from the memory cache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198180</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-01 09:35:26 -0700</bug_when>
    <thetext>I am investigating but I will likely need help testing a fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198184</commentid>
    <comment_count>2</comment_count>
      <attachid>280244</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-01 09:52:02 -0700</bug_when>
    <thetext>Created attachment 280244
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198189</commentid>
    <comment_count>3</comment_count>
      <attachid>280245</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-01 10:10:33 -0700</bug_when>
    <thetext>Created attachment 280245
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198192</commentid>
    <comment_count>4</comment_count>
      <attachid>280245</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-01 10:11:00 -0700</bug_when>
    <thetext>Comment on attachment 280245
Patch

Carlos, could you confirm this fixes the GTK unit test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198376</commentid>
    <comment_count>5</comment_count>
      <attachid>280290</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-01 18:25:57 -0700</bug_when>
    <thetext>Created attachment 280290
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198480</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-06-02 00:39:53 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 280245 [details]
&gt; Patch
&gt; 
&gt; Carlos, could you confirm this fixes the GTK unit test?

/webkit2/WebKitWebResource/response: OK

Yes, thanks for the quick fix!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198481</commentid>
    <comment_count>7</comment_count>
      <attachid>280290</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-06-02 00:42:32 -0700</bug_when>
    <thetext>Comment on attachment 280290
Patch

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

Patch looks good to me. I&apos;m not wk2 owner so please, wait until an owner approves this before cq+ it. Thanks!

&gt; Source/WebKit2/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:278
&gt; -    static const HTTPHeaderName headersAllowedToMismatch[] = {
&gt; -        HTTPHeaderName::IfMatch,
&gt; -        HTTPHeaderName::IfModifiedSince,
&gt; -        HTTPHeaderName::IfNoneMatch,
&gt; -        HTTPHeaderName::IfRange,
&gt; -        HTTPHeaderName::IfUnmodifiedSince,
&gt; -        HTTPHeaderName::CacheControl
&gt; -    };
&gt; -
&gt; -    HTTPHeaderMap headersA = a.httpHeaderFields();
&gt; -    HTTPHeaderMap headersB = b.httpHeaderFields();
&gt; -    for (auto headerName : headersAllowedToMismatch) {
&gt; -        headersA.remove(headerName);
&gt; -        headersB.remove(headerName);
&gt; -    }
&gt; +    ASSERT(!actualRequest.isConditional());
&gt; +    ResourceRequest speculativeRequest = speculativeValidationRequest;
&gt; +    speculativeRequest.makeUnconditional();
&gt;  
&gt; -    if (headersA != headersB) {
&gt; +    if (speculativeRequest.httpHeaderFields() != actualRequest.httpHeaderFields()) {

Nice cleanup!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198499</commentid>
    <comment_count>8</comment_count>
      <attachid>280290</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-06-02 01:52:51 -0700</bug_when>
    <thetext>Comment on attachment 280290
Patch

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

Looks good

&gt; Source/WebKit2/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:-280
&gt; -        HTTPHeaderName::CacheControl

Why no allow CacheControl mismatch? Wouldn&apos;t that disallow some cases that would be fine to use?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198542</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-02 09:23:14 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Comment on attachment 280290 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=280290&amp;action=review
&gt; 
&gt; Looks good
&gt; 
&gt; &gt; Source/WebKit2/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:-280
&gt; &gt; -        HTTPHeaderName::CacheControl
&gt; 
&gt; Why no allow CacheControl mismatch? Wouldn&apos;t that disallow some cases that
&gt; would be fine to use?

CacheControl on requests is very rarely used. The only reason I had this code was for the reload case because WebCore sets a &quot;Cache-Control: max-age=0&quot; in some cases. Right now, there is no way WebCore sets &quot;Cache-Control: max-age=0&quot; without also setting conditional headers so keeping this code won&apos;t normally help. It could in theory be useful for XHR requests but I doubt Cache-Control is used a lot there. We can add it back if we see XHR requests using Cache-Control header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198550</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-02 09:38:47 -0700</bug_when>
    <thetext>Committed r201600: &lt;http://trac.webkit.org/changeset/201600&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280244</attachid>
            <date>2016-06-01 09:52:02 -0700</date>
            <delta_ts>2016-06-01 10:10:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158256-20160601095319.patch</filename>
            <type>text/plain</type>
            <size>4553</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxNTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjhmNmQ0ZWZjZTkxMjUx
ZWVhN2UxYjBkYzJmMTg1NjZjMmJjNmNkOS4uYmMyZTk5OWJhNDM0Nzc0NmYxNTEyMzMzOWIzMGRk
MzI1OTZhYzgyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE2LTA2LTAxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3BlY3VsYXRpdmUgcmV2YWxp
ZGF0ZWQgcmVxdWVzdCByZXR1cm5zIDIwMCBpbnN0ZWFkIG9mIDMwNAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MjU2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxyZWFkeSBjb25kaXRpb25hbCByZXF1
ZXN0cyBjb21pbmcgZnJvbSBXZWJDb3JlIHNob3VsZCBieXBhc3MgdGhlCisgICAgICAgIFNwZWN1
bGF0aXZlTG9hZE1hbmFnZXIuIFRoaXMgaXMgYmVjYXVzZSB0aGUgdmFsaWRhdGlvbiBpcyByZXF1
ZXN0ZWQKKyAgICAgICAgYnkgV2ViQ29yZSAodXN1YWxseSB0aGUgbWVtb3J5IGNhY2hlKSBhbmQg
bm90IG91ciBuZXR3b3JrIGNhY2hlLiBBcworICAgICAgICBhIHJlc3VsdCwgd2UgbmVlZCB0byBw
aXBlIHRoZSByZXZhbGlkYXRpb24gcmVzcG9uc2UgKGUuZy4gMzA0IHN0YXR1cworICAgICAgICBj
b2RlKSBiYWNrIHRvIFdlYkNvcmUgaW5zdGVhZCBvZiByZXNvbHZpbmcgaXQgYXMgZGlzayBjYWNo
ZSBsZXZlbC4KKworICAgICAgICBUaGlzIHNob3VsZCBmaXggdGhlIC93ZWJraXQyL1dlYktpdFdl
YlJlc291cmNlL3Jlc3BvbnNlIHVuaXQgdGVzdC4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6
Q2FjaGU6OnJldHJpZXZlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29y
a0NhY2hlOjpyZXF1ZXN0c0hlYWRlcnNNYXRjaCk6CisKIDIwMTYtMDUtMzEgIFl1c3VrZSBTdXp1
a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbCBv
dXQgcjIwMTQ4MSwgcjIwMTUyMzogMC4zJSByZWdyZXNzaW9uIGluIE9jdGFuZSBjb2RlLWxvYWQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGUuY3BwCmluZGV4IDFhYzRjYzllZTQ5ZTVkYzc0MjVkNzhlZjc0MjQ1MDFlNjM5MWJjZTAuLmZm
YzVmYWYwODkzZjM5MzhmMmJjNzVjYmNmMGE5YWU0NDRlZmI2YTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcApAQCAtMzU4
LDcgKzM1OCw4IEBAIHZvaWQgQ2FjaGU6OnJldHJpZXZlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgR2xvYmFsRnJhbWVJCiAgICAgS2V5IHN0b3JhZ2VLZXkg
PSBtYWtlQ2FjaGVLZXkocmVxdWVzdCk7CiAKICNpZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVD
VUxBVElWRV9SRVZBTElEQVRJT04pCi0gICAgaWYgKG1fc3BlY3VsYXRpdmVMb2FkTWFuYWdlcikK
KyAgICBib29sIGNhblVzZVNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uID0gbV9zcGVjdWxhdGl2ZUxv
YWRNYW5hZ2VyICYmICFyZXF1ZXN0LmlzQ29uZGl0aW9uYWwoKTsKKyAgICBpZiAoY2FuVXNlU3Bl
Y3VsYXRpdmVSZXZhbGlkYXRpb24pCiAgICAgICAgIG1fc3BlY3VsYXRpdmVMb2FkTWFuYWdlci0+
cmVnaXN0ZXJMb2FkKGZyYW1lSUQsIHJlcXVlc3QsIHN0b3JhZ2VLZXkpOwogI2VuZGlmCiAKQEAg
LTM3Miw3ICszNzMsNyBAQCB2b2lkIENhY2hlOjpyZXRyaWV2ZShjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEdsb2JhbEZyYW1lSQogICAgIH0KIAogI2lmIEVO
QUJMRShORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikKLSAgICBpZiAobV9z
cGVjdWxhdGl2ZUxvYWRNYW5hZ2VyICYmIG1fc3BlY3VsYXRpdmVMb2FkTWFuYWdlci0+cmV0cmll
dmUoZnJhbWVJRCwgc3RvcmFnZUtleSwgcmVxdWVzdCwgW3JlcXVlc3QsIGNvbXBsZXRpb25IYW5k
bGVyXShzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IGVudHJ5KSB7CisgICAgaWYgKGNhblVzZVNwZWN1
bGF0aXZlUmV2YWxpZGF0aW9uICYmIG1fc3BlY3VsYXRpdmVMb2FkTWFuYWdlci0+cmV0cmlldmUo
ZnJhbWVJRCwgc3RvcmFnZUtleSwgcmVxdWVzdCwgW3JlcXVlc3QsIGNvbXBsZXRpb25IYW5kbGVy
XShzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IGVudHJ5KSB7CiAgICAgICAgIGlmIChlbnRyeSAmJiB2
ZXJpZnlWYXJ5aW5nUmVxdWVzdEhlYWRlcnMoZW50cnktPnZhcnlpbmdSZXF1ZXN0SGVhZGVycygp
LCByZXF1ZXN0KSkKICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoZW50cnkp
KTsKICAgICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRN
YW5hZ2VyLmNwcAppbmRleCBkYzBmMWEwMTBmZWVlMjQ0YTg2OTIxZGEyY2VjMGFiZjYxMTY2OTk4
Li5hZGNiOWI5NGNhYTg4NzBiZjE5NTBlNGNhOTIyYWJmMmY3MmQyMjA1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2
ZUxvYWRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcApAQCAtMjY5LDI1ICsyNjks
MTMgQEAgc3RhdGljIHZvaWQgZHVtcEhUVFBIZWFkZXJzRGlmZihjb25zdCBIVFRQSGVhZGVyTWFw
JiBoZWFkZXJzQSwgY29uc3QgSFRUUEhlYWRlck0KIAogI2VuZGlmCiAKLXN0YXRpYyBib29sIHJl
cXVlc3RzSGVhZGVyc01hdGNoKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYSwgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiBiKQorc3RhdGljIGJvb2wgcmVxdWVzdHNIZWFkZXJzTWF0Y2goY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiBzcGVjdWxhdGl2ZVZhbGlkYXRpb25SZXF1ZXN0LCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmIGFjdHVhbFJlcXVlc3QpCiB7Ci0gICAgc3RhdGljIGNvbnN0IEhUVFBIZWFkZXJO
YW1lIGhlYWRlcnNBbGxvd2VkVG9NaXNtYXRjaFtdID0gewotICAgICAgICBIVFRQSGVhZGVyTmFt
ZTo6SWZNYXRjaCwKLSAgICAgICAgSFRUUEhlYWRlck5hbWU6OklmTW9kaWZpZWRTaW5jZSwKLSAg
ICAgICAgSFRUUEhlYWRlck5hbWU6OklmTm9uZU1hdGNoLAotICAgICAgICBIVFRQSGVhZGVyTmFt
ZTo6SWZSYW5nZSwKLSAgICAgICAgSFRUUEhlYWRlck5hbWU6OklmVW5tb2RpZmllZFNpbmNlLAot
ICAgICAgICBIVFRQSGVhZGVyTmFtZTo6Q2FjaGVDb250cm9sCi0gICAgfTsKLQotICAgIEhUVFBI
ZWFkZXJNYXAgaGVhZGVyc0EgPSBhLmh0dHBIZWFkZXJGaWVsZHMoKTsKLSAgICBIVFRQSGVhZGVy
TWFwIGhlYWRlcnNCID0gYi5odHRwSGVhZGVyRmllbGRzKCk7Ci0gICAgZm9yIChhdXRvIGhlYWRl
ck5hbWUgOiBoZWFkZXJzQWxsb3dlZFRvTWlzbWF0Y2gpIHsKLSAgICAgICAgaGVhZGVyc0EucmVt
b3ZlKGhlYWRlck5hbWUpOwotICAgICAgICBoZWFkZXJzQi5yZW1vdmUoaGVhZGVyTmFtZSk7Ci0g
ICAgfQorICAgIEFTU0VSVCghYWN0dWFsUmVxdWVzdC5pc0NvbmRpdGlvbmFsKCkpOworICAgIFJl
c291cmNlUmVxdWVzdCBzcGVjdWxhdGl2ZVJlcXVlc3QgPSBzcGVjdWxhdGl2ZVZhbGlkYXRpb25S
ZXF1ZXN0OworICAgIHNwZWN1bGF0aXZlUmVxdWVzdC5tYWtlVW5jb25kaXRpb25hbCgpOwogCi0g
ICAgaWYgKGhlYWRlcnNBICE9IGhlYWRlcnNCKSB7CisgICAgaWYgKHNwZWN1bGF0aXZlUmVxdWVz
dC5odHRwSGVhZGVyRmllbGRzKCkgIT0gYWN0dWFsUmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkp
IHsKICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIkNhbm5v
dCByZXVzZSBzcGVjdWxhdGl2ZWx5IHZhbGlkYXRlZCBlbnRyeSBiZWNhdXNlIEhUVFAgaGVhZGVy
cyB1c2VkIGZvciB2YWxpZGF0aW9uIGRvIG5vdCBtYXRjaCIpOwogI2lmICFMT0dfRElTQUJMRUQK
ICAgICAgICAgZHVtcEhUVFBIZWFkZXJzRGlmZihoZWFkZXJzQSwgaGVhZGVyc0IpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280245</attachid>
            <date>2016-06-01 10:10:33 -0700</date>
            <delta_ts>2016-06-01 18:25:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158256-20160601101151.patch</filename>
            <type>text/plain</type>
            <size>4693</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxNTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjhmNmQ0ZWZjZTkxMjUx
ZWVhN2UxYjBkYzJmMTg1NjZjMmJjNmNkOS4uYmMyZTk5OWJhNDM0Nzc0NmYxNTEyMzMzOWIzMGRk
MzI1OTZhYzgyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE2LTA2LTAxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3BlY3VsYXRpdmUgcmV2YWxp
ZGF0ZWQgcmVxdWVzdCByZXR1cm5zIDIwMCBpbnN0ZWFkIG9mIDMwNAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MjU2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxyZWFkeSBjb25kaXRpb25hbCByZXF1
ZXN0cyBjb21pbmcgZnJvbSBXZWJDb3JlIHNob3VsZCBieXBhc3MgdGhlCisgICAgICAgIFNwZWN1
bGF0aXZlTG9hZE1hbmFnZXIuIFRoaXMgaXMgYmVjYXVzZSB0aGUgdmFsaWRhdGlvbiBpcyByZXF1
ZXN0ZWQKKyAgICAgICAgYnkgV2ViQ29yZSAodXN1YWxseSB0aGUgbWVtb3J5IGNhY2hlKSBhbmQg
bm90IG91ciBuZXR3b3JrIGNhY2hlLiBBcworICAgICAgICBhIHJlc3VsdCwgd2UgbmVlZCB0byBw
aXBlIHRoZSByZXZhbGlkYXRpb24gcmVzcG9uc2UgKGUuZy4gMzA0IHN0YXR1cworICAgICAgICBj
b2RlKSBiYWNrIHRvIFdlYkNvcmUgaW5zdGVhZCBvZiByZXNvbHZpbmcgaXQgYXMgZGlzayBjYWNo
ZSBsZXZlbC4KKworICAgICAgICBUaGlzIHNob3VsZCBmaXggdGhlIC93ZWJraXQyL1dlYktpdFdl
YlJlc291cmNlL3Jlc3BvbnNlIHVuaXQgdGVzdC4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6
Q2FjaGU6OnJldHJpZXZlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29y
a0NhY2hlOjpyZXF1ZXN0c0hlYWRlcnNNYXRjaCk6CisKIDIwMTYtMDUtMzEgIFl1c3VrZSBTdXp1
a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbCBv
dXQgcjIwMTQ4MSwgcjIwMTUyMzogMC4zJSByZWdyZXNzaW9uIGluIE9jdGFuZSBjb2RlLWxvYWQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGUuY3BwCmluZGV4IDFhYzRjYzllZTQ5ZTVkYzc0MjVkNzhlZjc0MjQ1MDFlNjM5MWJjZTAuLmZm
YzVmYWYwODkzZjM5MzhmMmJjNzVjYmNmMGE5YWU0NDRlZmI2YTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcApAQCAtMzU4
LDcgKzM1OCw4IEBAIHZvaWQgQ2FjaGU6OnJldHJpZXZlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgR2xvYmFsRnJhbWVJCiAgICAgS2V5IHN0b3JhZ2VLZXkg
PSBtYWtlQ2FjaGVLZXkocmVxdWVzdCk7CiAKICNpZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVD
VUxBVElWRV9SRVZBTElEQVRJT04pCi0gICAgaWYgKG1fc3BlY3VsYXRpdmVMb2FkTWFuYWdlcikK
KyAgICBib29sIGNhblVzZVNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uID0gbV9zcGVjdWxhdGl2ZUxv
YWRNYW5hZ2VyICYmICFyZXF1ZXN0LmlzQ29uZGl0aW9uYWwoKTsKKyAgICBpZiAoY2FuVXNlU3Bl
Y3VsYXRpdmVSZXZhbGlkYXRpb24pCiAgICAgICAgIG1fc3BlY3VsYXRpdmVMb2FkTWFuYWdlci0+
cmVnaXN0ZXJMb2FkKGZyYW1lSUQsIHJlcXVlc3QsIHN0b3JhZ2VLZXkpOwogI2VuZGlmCiAKQEAg
LTM3Miw3ICszNzMsNyBAQCB2b2lkIENhY2hlOjpyZXRyaWV2ZShjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEdsb2JhbEZyYW1lSQogICAgIH0KIAogI2lmIEVO
QUJMRShORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikKLSAgICBpZiAobV9z
cGVjdWxhdGl2ZUxvYWRNYW5hZ2VyICYmIG1fc3BlY3VsYXRpdmVMb2FkTWFuYWdlci0+cmV0cmll
dmUoZnJhbWVJRCwgc3RvcmFnZUtleSwgcmVxdWVzdCwgW3JlcXVlc3QsIGNvbXBsZXRpb25IYW5k
bGVyXShzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IGVudHJ5KSB7CisgICAgaWYgKGNhblVzZVNwZWN1
bGF0aXZlUmV2YWxpZGF0aW9uICYmIG1fc3BlY3VsYXRpdmVMb2FkTWFuYWdlci0+cmV0cmlldmUo
ZnJhbWVJRCwgc3RvcmFnZUtleSwgcmVxdWVzdCwgW3JlcXVlc3QsIGNvbXBsZXRpb25IYW5kbGVy
XShzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IGVudHJ5KSB7CiAgICAgICAgIGlmIChlbnRyeSAmJiB2
ZXJpZnlWYXJ5aW5nUmVxdWVzdEhlYWRlcnMoZW50cnktPnZhcnlpbmdSZXF1ZXN0SGVhZGVycygp
LCByZXF1ZXN0KSkKICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoZW50cnkp
KTsKICAgICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRN
YW5hZ2VyLmNwcAppbmRleCBkYzBmMWEwMTBmZWVlMjQ0YTg2OTIxZGEyY2VjMGFiZjYxMTY2OTk4
Li40NjUyNWIzYjkyZjAwMGVlYTIxYzc1YjkxZjM3OTZlNGM2ZTllZmZjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2
ZUxvYWRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcApAQCAtMjY5LDI4ICsyNjks
MTYgQEAgc3RhdGljIHZvaWQgZHVtcEhUVFBIZWFkZXJzRGlmZihjb25zdCBIVFRQSGVhZGVyTWFw
JiBoZWFkZXJzQSwgY29uc3QgSFRUUEhlYWRlck0KIAogI2VuZGlmCiAKLXN0YXRpYyBib29sIHJl
cXVlc3RzSGVhZGVyc01hdGNoKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYSwgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiBiKQorc3RhdGljIGJvb2wgcmVxdWVzdHNIZWFkZXJzTWF0Y2goY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiBzcGVjdWxhdGl2ZVZhbGlkYXRpb25SZXF1ZXN0LCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmIGFjdHVhbFJlcXVlc3QpCiB7Ci0gICAgc3RhdGljIGNvbnN0IEhUVFBIZWFkZXJO
YW1lIGhlYWRlcnNBbGxvd2VkVG9NaXNtYXRjaFtdID0gewotICAgICAgICBIVFRQSGVhZGVyTmFt
ZTo6SWZNYXRjaCwKLSAgICAgICAgSFRUUEhlYWRlck5hbWU6OklmTW9kaWZpZWRTaW5jZSwKLSAg
ICAgICAgSFRUUEhlYWRlck5hbWU6OklmTm9uZU1hdGNoLAotICAgICAgICBIVFRQSGVhZGVyTmFt
ZTo6SWZSYW5nZSwKLSAgICAgICAgSFRUUEhlYWRlck5hbWU6OklmVW5tb2RpZmllZFNpbmNlLAot
ICAgICAgICBIVFRQSGVhZGVyTmFtZTo6Q2FjaGVDb250cm9sCi0gICAgfTsKLQotICAgIEhUVFBI
ZWFkZXJNYXAgaGVhZGVyc0EgPSBhLmh0dHBIZWFkZXJGaWVsZHMoKTsKLSAgICBIVFRQSGVhZGVy
TWFwIGhlYWRlcnNCID0gYi5odHRwSGVhZGVyRmllbGRzKCk7Ci0gICAgZm9yIChhdXRvIGhlYWRl
ck5hbWUgOiBoZWFkZXJzQWxsb3dlZFRvTWlzbWF0Y2gpIHsKLSAgICAgICAgaGVhZGVyc0EucmVt
b3ZlKGhlYWRlck5hbWUpOwotICAgICAgICBoZWFkZXJzQi5yZW1vdmUoaGVhZGVyTmFtZSk7Ci0g
ICAgfQorICAgIEFTU0VSVCghYWN0dWFsUmVxdWVzdC5pc0NvbmRpdGlvbmFsKCkpOworICAgIFJl
c291cmNlUmVxdWVzdCBzcGVjdWxhdGl2ZVJlcXVlc3QgPSBzcGVjdWxhdGl2ZVZhbGlkYXRpb25S
ZXF1ZXN0OworICAgIHNwZWN1bGF0aXZlUmVxdWVzdC5tYWtlVW5jb25kaXRpb25hbCgpOwogCi0g
ICAgaWYgKGhlYWRlcnNBICE9IGhlYWRlcnNCKSB7CisgICAgaWYgKHNwZWN1bGF0aXZlUmVxdWVz
dC5odHRwSGVhZGVyRmllbGRzKCkgIT0gYWN0dWFsUmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkp
IHsKICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIkNhbm5v
dCByZXVzZSBzcGVjdWxhdGl2ZWx5IHZhbGlkYXRlZCBlbnRyeSBiZWNhdXNlIEhUVFAgaGVhZGVy
cyB1c2VkIGZvciB2YWxpZGF0aW9uIGRvIG5vdCBtYXRjaCIpOwogI2lmICFMT0dfRElTQUJMRUQK
LSAgICAgICAgZHVtcEhUVFBIZWFkZXJzRGlmZihoZWFkZXJzQSwgaGVhZGVyc0IpOworICAgICAg
ICBkdW1wSFRUUEhlYWRlcnNEaWZmKHBlY3VsYXRpdmVSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMo
KSwgYWN0dWFsUmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkpOwogI2VuZGlmCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280290</attachid>
            <date>2016-06-01 18:25:57 -0700</date>
            <delta_ts>2018-04-20 13:12:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158256-20160601182715.patch</filename>
            <type>text/plain</type>
            <size>4794</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxNTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMGM4NGMyNGQ0ZDE2ZGVk
MTEyMWZkMmMwZTk1MzhmMTVmMTY0NDIwMS4uMTFjYjc2ZThkZWQxMzRjZmI1ZDU0M2ZlYTczNjY3
Yjg1M2FhMTE2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI1IEBACiAyMDE2LTA2LTAxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgU3BlY3VsYXRpdmUgcmV2YWxp
ZGF0ZWQgcmVxdWVzdCByZXR1cm5zIDIwMCBpbnN0ZWFkIG9mIDMwNAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MjU2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxyZWFkeSBjb25kaXRpb25hbCByZXF1
ZXN0cyBjb21pbmcgZnJvbSBXZWJDb3JlIHNob3VsZCBieXBhc3MgdGhlCisgICAgICAgIFNwZWN1
bGF0aXZlTG9hZE1hbmFnZXIuIFRoaXMgaXMgYmVjYXVzZSB0aGUgdmFsaWRhdGlvbiBpcyByZXF1
ZXN0ZWQKKyAgICAgICAgYnkgV2ViQ29yZSAodXN1YWxseSB0aGUgbWVtb3J5IGNhY2hlKSBhbmQg
bm90IG91ciBuZXR3b3JrIGNhY2hlLiBBcworICAgICAgICBhIHJlc3VsdCwgd2UgbmVlZCB0byBw
aXBlIHRoZSByZXZhbGlkYXRpb24gcmVzcG9uc2UgKGUuZy4gMzA0IHN0YXR1cworICAgICAgICBj
b2RlKSBiYWNrIHRvIFdlYkNvcmUgaW5zdGVhZCBvZiByZXNvbHZpbmcgaXQgYXMgZGlzayBjYWNo
ZSBsZXZlbC4KKworICAgICAgICBUaGlzIHNob3VsZCBmaXggdGhlIC93ZWJraXQyL1dlYktpdFdl
YlJlc291cmNlL3Jlc3BvbnNlIHVuaXQgdGVzdC4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6
Q2FjaGU6OnJldHJpZXZlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29y
a0NhY2hlOjpyZXF1ZXN0c0hlYWRlcnNNYXRjaCk6CisKKzIwMTYtMDYtMDEgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBbaU9TXSBSZWdyZXNzaW9uKHIyMDA5NzIp
OiBDcmFzaCB1bmRlciBXZWJLaXQ6OldlYlBhZ2U6OnNlbGVjdFRleHRXaXRoR3JhbnVsYXJpdHlB
dFBvaW50KCkKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE1ODI4NAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjY1NzM5NTQ+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAppbmRleCAx
YWM0Y2M5ZWU0OWU1ZGM3NDI1ZDc4ZWY3NDI0NTAxZTYzOTFiY2UwLi5mZmM1ZmFmMDg5M2YzOTM4
ZjJiYzc1Y2JjZjBhOWFlNDQ0ZWZiNmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKQEAgLTM1OCw3ICszNTgsOCBAQCB2
b2lkIENhY2hlOjpyZXRyaWV2ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIGNvbnN0IEdsb2JhbEZyYW1lSQogICAgIEtleSBzdG9yYWdlS2V5ID0gbWFrZUNhY2hlS2V5
KHJlcXVlc3QpOwogCiAjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJ
REFUSU9OKQotICAgIGlmIChtX3NwZWN1bGF0aXZlTG9hZE1hbmFnZXIpCisgICAgYm9vbCBjYW5V
c2VTcGVjdWxhdGl2ZVJldmFsaWRhdGlvbiA9IG1fc3BlY3VsYXRpdmVMb2FkTWFuYWdlciAmJiAh
cmVxdWVzdC5pc0NvbmRpdGlvbmFsKCk7CisgICAgaWYgKGNhblVzZVNwZWN1bGF0aXZlUmV2YWxp
ZGF0aW9uKQogICAgICAgICBtX3NwZWN1bGF0aXZlTG9hZE1hbmFnZXItPnJlZ2lzdGVyTG9hZChm
cmFtZUlELCByZXF1ZXN0LCBzdG9yYWdlS2V5KTsKICNlbmRpZgogCkBAIC0zNzIsNyArMzczLDcg
QEAgdm9pZCBDYWNoZTo6cmV0cmlldmUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0LCBjb25zdCBHbG9iYWxGcmFtZUkKICAgICB9CiAKICNpZiBFTkFCTEUoTkVUV09SS19D
QUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pCi0gICAgaWYgKG1fc3BlY3VsYXRpdmVMb2Fk
TWFuYWdlciAmJiBtX3NwZWN1bGF0aXZlTG9hZE1hbmFnZXItPnJldHJpZXZlKGZyYW1lSUQsIHN0
b3JhZ2VLZXksIHJlcXVlc3QsIFtyZXF1ZXN0LCBjb21wbGV0aW9uSGFuZGxlcl0oc3RkOjp1bmlx
dWVfcHRyPEVudHJ5PiBlbnRyeSkgeworICAgIGlmIChjYW5Vc2VTcGVjdWxhdGl2ZVJldmFsaWRh
dGlvbiAmJiBtX3NwZWN1bGF0aXZlTG9hZE1hbmFnZXItPnJldHJpZXZlKGZyYW1lSUQsIHN0b3Jh
Z2VLZXksIHJlcXVlc3QsIFtyZXF1ZXN0LCBjb21wbGV0aW9uSGFuZGxlcl0oc3RkOjp1bmlxdWVf
cHRyPEVudHJ5PiBlbnRyeSkgewogICAgICAgICBpZiAoZW50cnkgJiYgdmVyaWZ5VmFyeWluZ1Jl
cXVlc3RIZWFkZXJzKGVudHJ5LT52YXJ5aW5nUmVxdWVzdEhlYWRlcnMoKSwgcmVxdWVzdCkpCiAg
ICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGVudHJ5KSk7CiAgICAgICAgIGVs
c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAKaW5k
ZXggZGMwZjFhMDEwZmVlZTI0NGE4NjkyMWRhMmNlYzBhYmY2MTE2Njk5OC4uMTZkODU1NTc3MDI4
OGZiYmRjMmI4N2ZiZjNhMzJjM2MyNmM5YjVhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hl
U3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAKQEAgLTI2OSwyOCArMjY5LDE2IEBAIHN0YXRpYyB2
b2lkIGR1bXBIVFRQSGVhZGVyc0RpZmYoY29uc3QgSFRUUEhlYWRlck1hcCYgaGVhZGVyc0EsIGNv
bnN0IEhUVFBIZWFkZXJNCiAKICNlbmRpZgogCi1zdGF0aWMgYm9vbCByZXF1ZXN0c0hlYWRlcnNN
YXRjaChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGEsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYikK
K3N0YXRpYyBib29sIHJlcXVlc3RzSGVhZGVyc01hdGNoKGNvbnN0IFJlc291cmNlUmVxdWVzdCYg
c3BlY3VsYXRpdmVWYWxpZGF0aW9uUmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhY3R1
YWxSZXF1ZXN0KQogewotICAgIHN0YXRpYyBjb25zdCBIVFRQSGVhZGVyTmFtZSBoZWFkZXJzQWxs
b3dlZFRvTWlzbWF0Y2hbXSA9IHsKLSAgICAgICAgSFRUUEhlYWRlck5hbWU6OklmTWF0Y2gsCi0g
ICAgICAgIEhUVFBIZWFkZXJOYW1lOjpJZk1vZGlmaWVkU2luY2UsCi0gICAgICAgIEhUVFBIZWFk
ZXJOYW1lOjpJZk5vbmVNYXRjaCwKLSAgICAgICAgSFRUUEhlYWRlck5hbWU6OklmUmFuZ2UsCi0g
ICAgICAgIEhUVFBIZWFkZXJOYW1lOjpJZlVubW9kaWZpZWRTaW5jZSwKLSAgICAgICAgSFRUUEhl
YWRlck5hbWU6OkNhY2hlQ29udHJvbAotICAgIH07Ci0KLSAgICBIVFRQSGVhZGVyTWFwIGhlYWRl
cnNBID0gYS5odHRwSGVhZGVyRmllbGRzKCk7Ci0gICAgSFRUUEhlYWRlck1hcCBoZWFkZXJzQiA9
IGIuaHR0cEhlYWRlckZpZWxkcygpOwotICAgIGZvciAoYXV0byBoZWFkZXJOYW1lIDogaGVhZGVy
c0FsbG93ZWRUb01pc21hdGNoKSB7Ci0gICAgICAgIGhlYWRlcnNBLnJlbW92ZShoZWFkZXJOYW1l
KTsKLSAgICAgICAgaGVhZGVyc0IucmVtb3ZlKGhlYWRlck5hbWUpOwotICAgIH0KKyAgICBBU1NF
UlQoIWFjdHVhbFJlcXVlc3QuaXNDb25kaXRpb25hbCgpKTsKKyAgICBSZXNvdXJjZVJlcXVlc3Qg
c3BlY3VsYXRpdmVSZXF1ZXN0ID0gc3BlY3VsYXRpdmVWYWxpZGF0aW9uUmVxdWVzdDsKKyAgICBz
cGVjdWxhdGl2ZVJlcXVlc3QubWFrZVVuY29uZGl0aW9uYWwoKTsKIAotICAgIGlmIChoZWFkZXJz
QSAhPSBoZWFkZXJzQikgeworICAgIGlmIChzcGVjdWxhdGl2ZVJlcXVlc3QuaHR0cEhlYWRlckZp
ZWxkcygpICE9IGFjdHVhbFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpKSB7CiAgICAgICAgIExP
RyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICJDYW5ub3QgcmV1c2Ugc3BlY3Vs
YXRpdmVseSB2YWxpZGF0ZWQgZW50cnkgYmVjYXVzZSBIVFRQIGhlYWRlcnMgdXNlZCBmb3IgdmFs
aWRhdGlvbiBkbyBub3QgbWF0Y2giKTsKICNpZiAhTE9HX0RJU0FCTEVECi0gICAgICAgIGR1bXBI
VFRQSGVhZGVyc0RpZmYoaGVhZGVyc0EsIGhlYWRlcnNCKTsKKyAgICAgICAgZHVtcEhUVFBIZWFk
ZXJzRGlmZihzcGVjdWxhdGl2ZVJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpLCBhY3R1YWxSZXF1
ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSk7CiAjZW5kaWYKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIH0K
</data>
<flag name="review"
          id="304254"
          type_id="1"
          status="+"
          setter="cgarcia"
    />
          </attachment>
      

    </bug>

</bugzilla>