<?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>185209</bug_id>
          
          <creation_ts>2018-05-02 10:58:34 -0700</creation_ts>
          <short_desc>Cleanup NetworkResourceLoader::didReceiveResponse()</short_desc>
          <delta_ts>2018-05-02 15:24:23 -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>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1419738</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-05-02 10:58:34 -0700</bug_when>
    <thetext>Cleanup NetworkResourceLoader::didReceiveResponse().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419743</commentid>
    <comment_count>1</comment_count>
      <attachid>339319</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-05-02 11:15:45 -0700</bug_when>
    <thetext>Created attachment 339319
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419745</commentid>
    <comment_count>2</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-05-02 11:18:57 -0700</bug_when>
    <thetext>Will add a remark to the ChangeLog before landing that I removed all logging except for a single log message to indicate when the network process is waiting to receive message NetworkResourceLoader::ContinueDidReceiveResponse. This is the only interesting message to log because it indicates that the network process cannot make forward progress for the load on its own.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419746</commentid>
    <comment_count>3</comment_count>
      <attachid>339319</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-05-02 11:20:50 -0700</bug_when>
    <thetext>Comment on attachment 339319
Patch

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

&gt; Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:439
&gt; +    // For main resources the embedding client must decide whether to allow the load. Therefore we wait to receive message
&gt; +    // NetworkResourceLoader::ContinueDidReceiveResponse before continuing a load for a main resource.

Before landing I will change this comment to read:

We wait to receive message NetworkResourceLoader::ContinueDidReceiveResponse before continuing a load for a main resource because the embedding client must decide whether to allow the load.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419749</commentid>
    <comment_count>4</comment_count>
      <attachid>339321</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-05-02 11:32:21 -0700</bug_when>
    <thetext>Created attachment 339321
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419785</commentid>
    <comment_count>5</comment_count>
      <attachid>339321</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-05-02 12:37:07 -0700</bug_when>
    <thetext>Comment on attachment 339321
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419786</commentid>
    <comment_count>6</comment_count>
      <attachid>339321</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-05-02 12:38:00 -0700</bug_when>
    <thetext>Comment on attachment 339321
Patch

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

&gt; Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:-447
&gt; -        RELEASE_LOG_IF_ALLOWED(&quot;didReceiveResponse: Should not wait for message from WebContent process before continuing resource load (pageID = %&quot; PRIu64 &quot;, frameID = %&quot; PRIu64 &quot;, resourceID = %&quot; PRIu64 &quot;)&quot;, m_parameters.webPageID, m_parameters.webFrameID, m_parameters.identifier);

Note that we do lose some logging here. Not convinced it matters though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419787</commentid>
    <comment_count>7</comment_count>
      <attachid>339321</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-05-02 12:40:44 -0700</bug_when>
    <thetext>Comment on attachment 339321
Patch

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

&gt;&gt; Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:-447
&gt;&gt; -        RELEASE_LOG_IF_ALLOWED(&quot;didReceiveResponse: Should not wait for message from WebContent process before continuing resource load (pageID = %&quot; PRIu64 &quot;, frameID = %&quot; PRIu64 &quot;, resourceID = %&quot; PRIu64 &quot;)&quot;, m_parameters.webPageID, m_parameters.webFrameID, m_parameters.identifier);
&gt; 
&gt; Note that we do lose some logging here. Not convinced it matters though.

Just asked Keith (who added this logging) and he seems to think it is not a big deal to drop it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419791</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-05-02 12:43:35 -0700</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=339321&amp;action=review

&gt; Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:432
&gt; +        return ShouldContinueDidReceiveResponse::No;

I am not very clear what this FIXME is about.
Since we know we want to cancel this load, we say to the NetworkLoad to not continue automatically until further notice.
We could consider other alternatives but I am not sure what the benefit is.
NetworkLoad should anyway handle the case where it is being cancelled while waiting to continue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419883</commentid>
    <comment_count>9</comment_count>
      <attachid>339321</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-05-02 15:07:47 -0700</bug_when>
    <thetext>Comment on attachment 339321
Patch

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

&gt;&gt;&gt; Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:-447
&gt;&gt;&gt; -        RELEASE_LOG_IF_ALLOWED(&quot;didReceiveResponse: Should not wait for message from WebContent process before continuing resource load (pageID = %&quot; PRIu64 &quot;, frameID = %&quot; PRIu64 &quot;, resourceID = %&quot; PRIu64 &quot;)&quot;, m_parameters.webPageID, m_parameters.webFrameID, m_parameters.identifier);
&gt;&gt; 
&gt;&gt; Note that we do lose some logging here. Not convinced it matters though.
&gt; 
&gt; Just asked Keith (who added this logging) and he seems to think it is not a big deal to drop it.

Will remove all logging. Just to clarify, this logging you are referring here is in this patch. It was moved and its message was re-worded on line 446.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419884</commentid>
    <comment_count>10</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-05-02 15:11:33 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #8)
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=339321&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:432
&gt; &gt; +        return ShouldContinueDidReceiveResponse::No;
&gt; 
&gt; I am not very clear what this FIXME is about.
&gt; Since we know we want to cancel this load, we say to the NetworkLoad to not
&gt; continue automatically until further notice.
&gt; We could consider other alternatives but I am not sure what the benefit is.
&gt; NetworkLoad should anyway handle the case where it is being cancelled while
&gt; waiting to continue.

FIXME is describing that ShouldContinueDidReceiveResponse::No should not be used as a general-purpose mechanism for failing a load or cancelling a load. ShouldContinueDidReceiveResponse::No should only be used as described by its name: the network process wanting to wait to receive a message from the web content process before continuing the load. Scheduling a load failure and taking advantage of ShouldContinueDidReceiveResponse::No to tell the client (e.g. NetworkLoad) to defer calling its completion handler with a policy response is an anti-pattern. We should more directly (read synchronously) fail or cancel the load.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419891</commentid>
    <comment_count>11</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-05-02 15:22:36 -0700</bug_when>
    <thetext>Committed r231271: &lt;https://trac.webkit.org/changeset/231271&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419894</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-05-02 15:24:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/39921473&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339319</attachid>
            <date>2018-05-02 11:15:45 -0700</date>
            <delta_ts>2018-05-02 11:32:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185209-20180502111453.patch</filename>
            <type>text/plain</type>
            <size>6248</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMjAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGExNzA3NmQwYzRmZTE1NDQx
OWUzMGI4ZTE4NmU3NTVlMWNhNjcxN2UuLjhmZGFmOTI4YWU1MmM2YTQzNWVhMWUxMjc5YzdiYTIy
MDQ4NDg3NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDUtMDIgIERhbmllbCBC
YXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFudXAgTmV0d29ya1Jlc291
cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1MjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIGVhcmx5IHJldHVybnMgdG8gbWFrZSB0aGUgY29u
dHJvbCBmbG93IGVhc2llciB0byByZWFkIGFuZCByZWFzb24gYWJvdXQuIERpc3JlZ2FyZGluZyBh
CisgICAgICAgIEZyb20tT3JpZ2luIHZpb2xhdGlvbiwgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpk
aWRSZWNlaXZlUmVzcG9uc2UoKSBvbmx5IHJldHVybnMgTmV0d29ya0xvYWRDbGllbnQ6OlNob3Vs
ZENvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlOjpObworICAgICAgICB3aGVuIHRoZSBsb2FkIGlz
IGZvciBhIG1haW4gcmVzb3VyY2UgYW5kIGhlbmNlIGl0IG11c3Qgd2FpdCBmb3IgdGhlIGVtYmVk
ZGluZyBjbGllbnQgdG8gYWxsb3cKKyAgICAgICAgdGhlIGxvYWQgYmVmb3JlIGNvbnRpbnVpbmcg
d2l0aCBpdC4gV2l0aCByZWdhcmRzIHRvIGEgRnJvbS1PcmlnaW4gdmlvbGF0aW9uLCB0aGUgbmV0
d29yaworICAgICAgICBwcm9jZXNzIHNjaGVkdWxlcyB0byBmYWlsIHRoZSBsb2FkIGluIGEgc3Vi
c2VxdWVudCB0dXJuIG9mIHRoZSBldmVudCBsb29wIGJlZm9yZSByZXR1cm5pbmcKKyAgICAgICAg
TmV0d29ya0xvYWRDbGllbnQ6OlNob3VsZENvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlOjpOby4g
SXQgcmV0dXJuIE5ldHdvcmtMb2FkQ2xpZW50OjpTaG91bGRDb250aW51ZURpZFJlY2VpdmVSZXNw
b25zZTo6Tm8KKyAgICAgICAgc29sZWx5IHRvIHRlbGwgdGhlIE5ldHdvcmtMb2FkQ2xpZW50IHRv
IGRlZmVyIGFzc3VtaW5nIHRoZSBsb2FkIGlzIGFsbG93ZWQgKGJlY2F1c2Ugd2Ugd2lsbAorICAg
ICAgICBmYWlsIGl0IG9uIHRoZSBuZXh0IHR1cm4gb2YgdGhlIGV2ZW50IGxvb3ApLgorCisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorCiAy
MDE4LTA1LTAxICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBT
dWJzdGl0dXRlIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGU6OmNsZWFyKCkgZm9yIENy
b3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGU6OmVtcHR5KCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCAy
OTcwNTVhYWYzZTQ0N2MzZjc3MmIxYmUzZWVhMjBiNWNlYTUwMzRjLi45MzJhZTVmZGY4M2NhNjgw
ZDA4NDgzOGFkNTY2ZjU1NDU3YmQ3ODk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC00MTMsNDMgKzQxMywz
NyBAQCBhdXRvIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291
cmNlUmVzcG9uc2UmJiByZWNlaXZlZFJlc3BvbgogICAgICAgICB9IGVsc2UKICAgICAgICAgICAg
IG1fY2FjaGVFbnRyeUZvclZhbGlkYXRpb24gPSBudWxscHRyOwogICAgIH0KLSAgICBib29sIHNo
b3VsZFNlbmREaWRSZWNlaXZlUmVzcG9uc2UgPSAhbV9jYWNoZUVudHJ5Rm9yVmFsaWRhdGlvbjsK
LQotICAgIGJvb2wgc2hvdWxkV2FpdENvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlID0gaXNNYWlu
UmVzb3VyY2UoKTsKLSAgICBpZiAoc2hvdWxkU2VuZERpZFJlY2VpdmVSZXNwb25zZSkgewotCi0g
ICAgICAgIFJlc291cmNlRXJyb3IgZXJyb3I7Ci0gICAgICAgIGlmIChtX3BhcmFtZXRlcnMuc2hv
dWxkRW5hYmxlRnJvbU9yaWdpblJlc3BvbnNlSGVhZGVyICYmIHNob3VsZENhbmNlbENyb3NzT3Jp
Z2luTG9hZChtX3Jlc3BvbnNlLCBtX3BhcmFtZXRlcnMuZnJhbWVBbmNlc3Rvck9yaWdpbnMpKQot
ICAgICAgICAgICAgZXJyb3IgPSBmcm9tT3JpZ2luUmVzb3VyY2VFcnJvcihtX3Jlc3BvbnNlLnVy
bCgpKTsKLQotICAgICAgICBpZiAoZXJyb3IuaXNOdWxsKCkgJiYgbV9uZXR3b3JrTG9hZENoZWNr
ZXIpCi0gICAgICAgICAgICBlcnJvciA9IG1fbmV0d29ya0xvYWRDaGVja2VyLT52YWxpZGF0ZVJl
c3BvbnNlKG1fcmVzcG9uc2UpOwotCi0gICAgICAgIGlmICghZXJyb3IuaXNOdWxsKCkpIHsKLSAg
ICAgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWYoKnRoaXMpLCBlcnJvciA9IFdURk1vdmUoZXJyb3IpXSB7Ci0gICAgICAgICAgICAgICAgaWYg
KHByb3RlY3RlZFRoaXMtPm1fbmV0d29ya0xvYWQpCi0gICAgICAgICAgICAgICAgICAgIHByb3Rl
Y3RlZFRoaXMtPmRpZEZhaWxMb2FkaW5nKGVycm9yKTsKLSAgICAgICAgICAgIH0pOwotICAgICAg
ICAgICAgcmV0dXJuIFNob3VsZENvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlOjpObzsKLSAgICAg
ICAgfQorICAgIGlmIChtX2NhY2hlRW50cnlGb3JWYWxpZGF0aW9uKQorICAgICAgICByZXR1cm4g
U2hvdWxkQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2U6OlllczsKIAotICAgICAgICBhdXRvIHJl
c3BvbnNlID0gc2FuaXRpemVSZXNwb25zZUlmUG9zc2libGUoUmVzb3VyY2VSZXNwb25zZSB7IG1f
cmVzcG9uc2UgfSwgUmVzb3VyY2VSZXNwb25zZTo6U2FuaXRpemF0aW9uVHlwZTo6Q3Jvc3NPcmln
aW5TYWZlKTsKLSAgICAgICAgaWYgKGlzU3luY2hyb25vdXMoKSkKLSAgICAgICAgICAgIG1fc3lu
Y2hyb25vdXNMb2FkRGF0YS0+cmVzcG9uc2UgPSBXVEZNb3ZlKHJlc3BvbnNlKTsKLSAgICAgICAg
ZWxzZQotICAgICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUmVzb3VyY2VMb2FkZXI6OkRpZFJl
Y2VpdmVSZXNwb25zZSB7IHJlc3BvbnNlLCBzaG91bGRXYWl0Q29udGludWVEaWRSZWNlaXZlUmVz
cG9uc2UgfSk7CisgICAgUmVzb3VyY2VFcnJvciBlcnJvcjsKKyAgICBpZiAobV9wYXJhbWV0ZXJz
LnNob3VsZEVuYWJsZUZyb21PcmlnaW5SZXNwb25zZUhlYWRlciAmJiBzaG91bGRDYW5jZWxDcm9z
c09yaWdpbkxvYWQobV9yZXNwb25zZSwgbV9wYXJhbWV0ZXJzLmZyYW1lQW5jZXN0b3JPcmlnaW5z
KSkKKyAgICAgICAgZXJyb3IgPSBmcm9tT3JpZ2luUmVzb3VyY2VFcnJvcihtX3Jlc3BvbnNlLnVy
bCgpKTsKKyAgICBpZiAoZXJyb3IuaXNOdWxsKCkgJiYgbV9uZXR3b3JrTG9hZENoZWNrZXIpCisg
ICAgICAgIGVycm9yID0gbV9uZXR3b3JrTG9hZENoZWNrZXItPnZhbGlkYXRlUmVzcG9uc2UobV9y
ZXNwb25zZSk7CisgICAgaWYgKCFlcnJvci5pc051bGwoKSkgeworICAgICAgICBSdW5Mb29wOjpt
YWluKCkuZGlzcGF0Y2goW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgZXJyb3IgPSBX
VEZNb3ZlKGVycm9yKV0geworICAgICAgICAgICAgaWYgKHByb3RlY3RlZFRoaXMtPm1fbmV0d29y
a0xvYWQpCisgICAgICAgICAgICAgICAgcHJvdGVjdGVkVGhpcy0+ZGlkRmFpbExvYWRpbmcoZXJy
b3IpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIFNob3VsZENvbnRpbnVlRGlkUmVjZWl2
ZVJlc3BvbnNlOjpObzsKICAgICB9CiAKLSAgICAvLyBGb3IgbWFpbiByZXNvdXJjZXMsIHRoZSB3
ZWIgcHJvY2VzcyBpcyByZXNwb25zaWJsZSBmb3Igc2VuZGluZyBiYWNrIGEgTmV0d29ya1Jlc291
cmNlTG9hZGVyOjpDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZSBtZXNzYWdlLgotICAgIGJvb2wg
c2hvdWxkQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2UgPSAhc2hvdWxkV2FpdENvbnRpbnVlRGlk
UmVjZWl2ZVJlc3BvbnNlIHx8IG1fY2FjaGVFbnRyeUZvclZhbGlkYXRpb247Ci0KLSAgICBpZiAo
c2hvdWxkQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2UpIHsKLSAgICAgICAgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRCgiZGlkUmVjZWl2ZVJlc3BvbnNlOiBTaG91bGQgbm90IHdhaXQgZm9yIG1lc3Nh
Z2UgZnJvbSBXZWJDb250ZW50IHByb2Nlc3MgYmVmb3JlIGNvbnRpbnVpbmcgcmVzb3VyY2UgbG9h
ZCAocGFnZUlEID0gJSIgUFJJdTY0ICIsIGZyYW1lSUQgPSAlIiBQUkl1NjQgIiwgcmVzb3VyY2VJ
RCA9ICUiIFBSSXU2NCAiKSIsIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQsIG1fcGFyYW1ldGVycy53
ZWJGcmFtZUlELCBtX3BhcmFtZXRlcnMuaWRlbnRpZmllcik7CisgICAgYXV0byByZXNwb25zZSA9
IHNhbml0aXplUmVzcG9uc2VJZlBvc3NpYmxlKFJlc291cmNlUmVzcG9uc2UgeyBtX3Jlc3BvbnNl
IH0sIFJlc291cmNlUmVzcG9uc2U6OlNhbml0aXphdGlvblR5cGU6OkNyb3NzT3JpZ2luU2FmZSk7
CisgICAgaWYgKGlzU3luY2hyb25vdXMoKSkgeworICAgICAgICBtX3N5bmNocm9ub3VzTG9hZERh
dGEtPnJlc3BvbnNlID0gV1RGTW92ZShyZXNwb25zZSk7CiAgICAgICAgIHJldHVybiBTaG91bGRD
b250aW51ZURpZFJlY2VpdmVSZXNwb25zZTo6WWVzOwogICAgIH0KIAotICAgIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoImRpZFJlY2VpdmVSZXNwb25zZTogU2hvdWxkIHdhaXQgZm9yIG1lc3NhZ2Ug
ZnJvbSBXZWJDb250ZW50IHByb2Nlc3MgYmVmb3JlIGNvbnRpbnVpbmcgcmVzb3VyY2UgbG9hZCAo
cGFnZUlEID0gJSIgUFJJdTY0ICIsIGZyYW1lSUQgPSAlIiBQUkl1NjQgIiwgcmVzb3VyY2VJRCA9
ICUiIFBSSXU2NCAiKSIsIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQsIG1fcGFyYW1ldGVycy53ZWJG
cmFtZUlELCBtX3BhcmFtZXRlcnMuaWRlbnRpZmllcik7Ci0gICAgcmV0dXJuIFNob3VsZENvbnRp
bnVlRGlkUmVjZWl2ZVJlc3BvbnNlOjpObzsKKyAgICAvLyBGb3IgbWFpbiByZXNvdXJjZXMgdGhl
IGVtYmVkZGluZyBjbGllbnQgbXVzdCBkZWNpZGUgd2hldGhlciB0byBhbGxvdyB0aGUgbG9hZC4g
VGhlcmVmb3JlIHdlIHdhaXQgdG8gcmVjZWl2ZSBtZXNzYWdlCisgICAgLy8gTmV0d29ya1Jlc291
cmNlTG9hZGVyOjpDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZSBiZWZvcmUgY29udGludWluZyBh
IGxvYWQgZm9yIGEgbWFpbiByZXNvdXJjZS4KKyAgICBib29sIHdpbGxXYWl0Rm9yQ29udGludWVE
aWRSZWNlaXZlUmVzcG9uc2UgPSBpc01haW5SZXNvdXJjZSgpOworICAgIHNlbmQoTWVzc2FnZXM6
OldlYlJlc291cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVzcG9uc2UgeyByZXNwb25zZSwgd2lsbFdh
aXRGb3JDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZSB9KTsKKyAgICBpZiAod2lsbFdhaXRGb3JD
b250aW51ZURpZFJlY2VpdmVSZXNwb25zZSkgeworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKCJkaWRSZWNlaXZlUmVzcG9uc2U6IHdpbGwgbm90IGNvbnRpbnVlIGxvYWQgdW50aWwgcmVj
ZWl2ZSBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OkNvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlIG1l
c3NhZ2UgKHBhZ2VJRCA9ICUiIFBSSXU2NCAiLCBmcmFtZUlEID0gJSIgUFJJdTY0ICIsIHJlc291
cmNlSUQgPSAlIiBQUkl1NjQgIikiLCBtX3BhcmFtZXRlcnMud2ViUGFnZUlELCBtX3BhcmFtZXRl
cnMud2ViRnJhbWVJRCwgbV9wYXJhbWV0ZXJzLmlkZW50aWZpZXIpOworICAgICAgICByZXR1cm4g
U2hvdWxkQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2U6Ok5vOworICAgIH0KKyAgICByZXR1cm4g
U2hvdWxkQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2U6OlllczsKIH0KIAogdm9pZCBOZXR3b3Jr
UmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVCdWZmZXIoUmVmPFNoYXJlZEJ1ZmZlcj4mJiBidWZm
ZXIsIGludCByZXBvcnRlZEVuY29kZWREYXRhTGVuZ3RoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339321</attachid>
            <date>2018-05-02 11:32:21 -0700</date>
            <delta_ts>2018-05-02 12:37:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185209-20180502113129.patch</filename>
            <type>text/plain</type>
            <size>6912</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMjAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGExNzA3NmQwYzRmZTE1NDQx
OWUzMGI4ZTE4NmU3NTVlMWNhNjcxN2UuLjY4OTRkN2E0Y2QzNjgwNjhiMGFmNjU3MjYxNjgzNTA1
Y2YzYzM5NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTgtMDUtMDIgIERhbmllbCBC
YXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFudXAgTmV0d29ya1Jlc291
cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1MjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIGVhcmx5IHJldHVybnMgdG8gbWFrZSB0aGUgY29u
dHJvbCBmbG93IGVhc2llciB0byByZWFkIGFuZCByZWFzb24gYWJvdXQuIERpc3JlZ2FyZGluZyBh
CisgICAgICAgIEZyb20tT3JpZ2luIHZpb2xhdGlvbiwgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpk
aWRSZWNlaXZlUmVzcG9uc2UoKSBvbmx5IHJldHVybnMgTmV0d29ya0xvYWRDbGllbnQ6OlNob3Vs
ZENvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlOjpObworICAgICAgICB3aGVuIHRoZSBsb2FkIGlz
IGZvciBhIG1haW4gcmVzb3VyY2UgYW5kIGhlbmNlIGl0IG11c3Qgd2FpdCBmb3IgdGhlIGVtYmVk
ZGluZyBjbGllbnQgdG8gYWxsb3cKKyAgICAgICAgdGhlIGxvYWQgYmVmb3JlIGNvbnRpbnVpbmcg
d2l0aCBpdC4gV2l0aCByZWdhcmRzIHRvIGEgRnJvbS1PcmlnaW4gdmlvbGF0aW9uLCB0aGUgbmV0
d29yaworICAgICAgICBwcm9jZXNzIHNjaGVkdWxlcyB0byBmYWlsIHRoZSBsb2FkIGluIGEgc3Vi
c2VxdWVudCB0dXJuIG9mIHRoZSBldmVudCBsb29wIGJlZm9yZSByZXR1cm5pbmcKKyAgICAgICAg
TmV0d29ya0xvYWRDbGllbnQ6OlNob3VsZENvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlOjpOby4g
SXQgcmV0dXJuIE5ldHdvcmtMb2FkQ2xpZW50OjpTaG91bGRDb250aW51ZURpZFJlY2VpdmVSZXNw
b25zZTo6Tm8KKyAgICAgICAgc29sZWx5IHRvIHRlbGwgdGhlIE5ldHdvcmtMb2FkQ2xpZW50IHRv
IGRlZmVyIGFzc3VtaW5nIHRoZSBsb2FkIGlzIGFsbG93ZWQgKGJlY2F1c2Ugd2Ugd2lsbAorICAg
ICAgICBmYWlsIGl0IG9uIHRoZSBuZXh0IHR1cm4gb2YgdGhlIGV2ZW50IGxvb3ApLgorCisgICAg
ICAgIEFkZGl0aW9uYWxseSwga2VlcCBhIHNpbmdsZSBsb2cgbWVzc2FnZSBhbmQgcmVtb3ZlIGFs
bCBvdGhlcnMuIFRoZSBvbmx5IG1lYW5pbmdmdWwgbWVzc2FnZQorICAgICAgICB0byBsb2cgaXMg
d2hlbiB0aGUgbmV0d29yayBwcm9jZXNzIGlzIHdhaXRpbmcgb24gdGhlIGVtYmVkZGluZyBjbGll
bnQgKHZpYSB0aGUgV2ViQ29udGVudCBwcm9jZXNzKQorICAgICAgICB0byBhbGxvdyB0aGUgbG9h
ZCBiZWZvcmUgY29udGludWluZy4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtS
ZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRl
cjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKwogMjAxOC0wNS0wMSAgRGFuaWVsIEJhdGVzICA8ZGFi
YXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgU3Vic3RpdHV0ZSBDcm9zc09yaWdpblByZWZsaWdo
dFJlc3VsdENhY2hlOjpjbGVhcigpIGZvciBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
OjplbXB0eSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggMjk3MDU1YWFmM2U0NDdjM2Y3NzJiMWJlM2VlYTIw
YjVjZWE1MDM0Yy4uYWRmYTc1MTZlOTY2NDE4NzNlY2JjZDEzYzIxNWRkNWExYTQwZTNjYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNl
TG9hZGVyLmNwcApAQCAtNDEzLDQzICs0MTMsNDAgQEAgYXV0byBOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXI6OmRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZVJlc3BvbnNlJiYgcmVjZWl2ZWRSZXNwb24K
ICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBtX2NhY2hlRW50cnlGb3JWYWxpZGF0aW9uID0g
bnVsbHB0cjsKICAgICB9Ci0gICAgYm9vbCBzaG91bGRTZW5kRGlkUmVjZWl2ZVJlc3BvbnNlID0g
IW1fY2FjaGVFbnRyeUZvclZhbGlkYXRpb247Ci0KLSAgICBib29sIHNob3VsZFdhaXRDb250aW51
ZURpZFJlY2VpdmVSZXNwb25zZSA9IGlzTWFpblJlc291cmNlKCk7Ci0gICAgaWYgKHNob3VsZFNl
bmREaWRSZWNlaXZlUmVzcG9uc2UpIHsKLQotICAgICAgICBSZXNvdXJjZUVycm9yIGVycm9yOwot
ICAgICAgICBpZiAobV9wYXJhbWV0ZXJzLnNob3VsZEVuYWJsZUZyb21PcmlnaW5SZXNwb25zZUhl
YWRlciAmJiBzaG91bGRDYW5jZWxDcm9zc09yaWdpbkxvYWQobV9yZXNwb25zZSwgbV9wYXJhbWV0
ZXJzLmZyYW1lQW5jZXN0b3JPcmlnaW5zKSkKLSAgICAgICAgICAgIGVycm9yID0gZnJvbU9yaWdp
blJlc291cmNlRXJyb3IobV9yZXNwb25zZS51cmwoKSk7Ci0KLSAgICAgICAgaWYgKGVycm9yLmlz
TnVsbCgpICYmIG1fbmV0d29ya0xvYWRDaGVja2VyKQotICAgICAgICAgICAgZXJyb3IgPSBtX25l
dHdvcmtMb2FkQ2hlY2tlci0+dmFsaWRhdGVSZXNwb25zZShtX3Jlc3BvbnNlKTsKLQotICAgICAg
ICBpZiAoIWVycm9yLmlzTnVsbCgpKSB7Ci0gICAgICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlz
cGF0Y2goW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgZXJyb3IgPSBXVEZNb3ZlKGVy
cm9yKV0gewotICAgICAgICAgICAgICAgIGlmIChwcm90ZWN0ZWRUaGlzLT5tX25ldHdvcmtMb2Fk
KQotICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWRUaGlzLT5kaWRGYWlsTG9hZGluZyhlcnJv
cik7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIHJldHVybiBTaG91bGRDb250aW51ZURp
ZFJlY2VpdmVSZXNwb25zZTo6Tm87Ci0gICAgICAgIH0KKyAgICBpZiAobV9jYWNoZUVudHJ5Rm9y
VmFsaWRhdGlvbikKKyAgICAgICAgcmV0dXJuIFNob3VsZENvbnRpbnVlRGlkUmVjZWl2ZVJlc3Bv
bnNlOjpZZXM7CiAKLSAgICAgICAgYXV0byByZXNwb25zZSA9IHNhbml0aXplUmVzcG9uc2VJZlBv
c3NpYmxlKFJlc291cmNlUmVzcG9uc2UgeyBtX3Jlc3BvbnNlIH0sIFJlc291cmNlUmVzcG9uc2U6
OlNhbml0aXphdGlvblR5cGU6OkNyb3NzT3JpZ2luU2FmZSk7Ci0gICAgICAgIGlmIChpc1N5bmNo
cm9ub3VzKCkpCi0gICAgICAgICAgICBtX3N5bmNocm9ub3VzTG9hZERhdGEtPnJlc3BvbnNlID0g
V1RGTW92ZShyZXNwb25zZSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHNlbmQoTWVzc2Fn
ZXM6OldlYlJlc291cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVzcG9uc2UgeyByZXNwb25zZSwgc2hv
dWxkV2FpdENvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlIH0pOworICAgIFJlc291cmNlRXJyb3Ig
ZXJyb3I7CisgICAgaWYgKG1fcGFyYW1ldGVycy5zaG91bGRFbmFibGVGcm9tT3JpZ2luUmVzcG9u
c2VIZWFkZXIgJiYgc2hvdWxkQ2FuY2VsQ3Jvc3NPcmlnaW5Mb2FkKG1fcmVzcG9uc2UsIG1fcGFy
YW1ldGVycy5mcmFtZUFuY2VzdG9yT3JpZ2lucykpCisgICAgICAgIGVycm9yID0gZnJvbU9yaWdp
blJlc291cmNlRXJyb3IobV9yZXNwb25zZS51cmwoKSk7CisgICAgaWYgKGVycm9yLmlzTnVsbCgp
ICYmIG1fbmV0d29ya0xvYWRDaGVja2VyKQorICAgICAgICBlcnJvciA9IG1fbmV0d29ya0xvYWRD
aGVja2VyLT52YWxpZGF0ZVJlc3BvbnNlKG1fcmVzcG9uc2UpOworICAgIGlmICghZXJyb3IuaXNO
dWxsKCkpIHsKKyAgICAgICAgLy8gRklYTUU6IFdlIG5lZWQgdG8gbWFrZSBhIG1haW4gcmVzb3Vy
Y2UgbG9hZCBsb29rIHN1Y2Nlc3NmdWwgdG8gcHJldmVudCBsZWFraW5nIGl0cyBleGlzdGVuY2Uu
IFNlZSA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NTEyMD4uCisg
ICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYo
KnRoaXMpLCBlcnJvciA9IFdURk1vdmUoZXJyb3IpXSB7CisgICAgICAgICAgICBpZiAocHJvdGVj
dGVkVGhpcy0+bV9uZXR3b3JrTG9hZCkKKyAgICAgICAgICAgICAgICBwcm90ZWN0ZWRUaGlzLT5k
aWRGYWlsTG9hZGluZyhlcnJvcik7CisgICAgICAgIH0pOworICAgICAgICAvLyBGSVhNRTogV2Ug
a25vdyB0aGF0IHdlIGFyZSBub3QgZ29pbmcgdG8gY29udGludWUgdGhpcyBsb2FkLiBTaG91bGRD
b250aW51ZURpZFJlY2VpdmVSZXNwb25zZTo6Tm8gc2hvdWxkIG9ubHkgYmUgcmV0dXJuZWQgd2hl
bgorICAgICAgICAvLyB0aGUgbmV0d29yayBwcm9jZXNzIGlzIHdhaXRpbmcgdG8gcmVjZWl2ZSBt
ZXNzYWdlIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Q29udGludWVEaWRSZWNlaXZlUmVzcG9uc2Ug
dG8gY29udGludWUgYSBsb2FkLgorICAgICAgICByZXR1cm4gU2hvdWxkQ29udGludWVEaWRSZWNl
aXZlUmVzcG9uc2U6Ok5vOwogICAgIH0KIAotICAgIC8vIEZvciBtYWluIHJlc291cmNlcywgdGhl
IHdlYiBwcm9jZXNzIGlzIHJlc3BvbnNpYmxlIGZvciBzZW5kaW5nIGJhY2sgYSBOZXR3b3JrUmVz
b3VyY2VMb2FkZXI6OkNvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlIG1lc3NhZ2UuCi0gICAgYm9v
bCBzaG91bGRDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZSA9ICFzaG91bGRXYWl0Q29udGludWVE
aWRSZWNlaXZlUmVzcG9uc2UgfHwgbV9jYWNoZUVudHJ5Rm9yVmFsaWRhdGlvbjsKLQotICAgIGlm
IChzaG91bGRDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZSkgewotICAgICAgICBSRUxFQVNFX0xP
R19JRl9BTExPV0VEKCJkaWRSZWNlaXZlUmVzcG9uc2U6IFNob3VsZCBub3Qgd2FpdCBmb3IgbWVz
c2FnZSBmcm9tIFdlYkNvbnRlbnQgcHJvY2VzcyBiZWZvcmUgY29udGludWluZyByZXNvdXJjZSBs
b2FkIChwYWdlSUQgPSAlIiBQUkl1NjQgIiwgZnJhbWVJRCA9ICUiIFBSSXU2NCAiLCByZXNvdXJj
ZUlEID0gJSIgUFJJdTY0ICIpIiwgbV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJz
LndlYkZyYW1lSUQsIG1fcGFyYW1ldGVycy5pZGVudGlmaWVyKTsKKyAgICBhdXRvIHJlc3BvbnNl
ID0gc2FuaXRpemVSZXNwb25zZUlmUG9zc2libGUoUmVzb3VyY2VSZXNwb25zZSB7IG1fcmVzcG9u
c2UgfSwgUmVzb3VyY2VSZXNwb25zZTo6U2FuaXRpemF0aW9uVHlwZTo6Q3Jvc3NPcmlnaW5TYWZl
KTsKKyAgICBpZiAoaXNTeW5jaHJvbm91cygpKSB7CisgICAgICAgIG1fc3luY2hyb25vdXNMb2Fk
RGF0YS0+cmVzcG9uc2UgPSBXVEZNb3ZlKHJlc3BvbnNlKTsKICAgICAgICAgcmV0dXJuIFNob3Vs
ZENvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlOjpZZXM7CiAgICAgfQogCi0gICAgUkVMRUFTRV9M
T0dfSUZfQUxMT1dFRCgiZGlkUmVjZWl2ZVJlc3BvbnNlOiBTaG91bGQgd2FpdCBmb3IgbWVzc2Fn
ZSBmcm9tIFdlYkNvbnRlbnQgcHJvY2VzcyBiZWZvcmUgY29udGludWluZyByZXNvdXJjZSBsb2Fk
IChwYWdlSUQgPSAlIiBQUkl1NjQgIiwgZnJhbWVJRCA9ICUiIFBSSXU2NCAiLCByZXNvdXJjZUlE
ID0gJSIgUFJJdTY0ICIpIiwgbV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndl
YkZyYW1lSUQsIG1fcGFyYW1ldGVycy5pZGVudGlmaWVyKTsKLSAgICByZXR1cm4gU2hvdWxkQ29u
dGludWVEaWRSZWNlaXZlUmVzcG9uc2U6Ok5vOworICAgIC8vIFdlIHdhaXQgdG8gcmVjZWl2ZSBt
ZXNzYWdlIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Q29udGludWVEaWRSZWNlaXZlUmVzcG9uc2Ug
YmVmb3JlIGNvbnRpbnVpbmcgYSBsb2FkIGZvcgorICAgIC8vIGEgbWFpbiByZXNvdXJjZSBiZWNh
dXNlIHRoZSBlbWJlZGRpbmcgY2xpZW50IG11c3QgZGVjaWRlIHdoZXRoZXIgdG8gYWxsb3cgdGhl
IGxvYWQuCisgICAgYm9vbCB3aWxsV2FpdEZvckNvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlID0g
aXNNYWluUmVzb3VyY2UoKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6
RGlkUmVjZWl2ZVJlc3BvbnNlIHsgcmVzcG9uc2UsIHdpbGxXYWl0Rm9yQ29udGludWVEaWRSZWNl
aXZlUmVzcG9uc2UgfSk7CisgICAgaWYgKHdpbGxXYWl0Rm9yQ29udGludWVEaWRSZWNlaXZlUmVz
cG9uc2UpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkUmVjZWl2ZVJlc3Bv
bnNlOiB3aWxsIG5vdCBjb250aW51ZSBsb2FkIHVudGlsIHJlY2VpdmUgTmV0d29ya1Jlc291cmNl
TG9hZGVyOjpDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZSBtZXNzYWdlIChwYWdlSUQgPSAlIiBQ
Ukl1NjQgIiwgZnJhbWVJRCA9ICUiIFBSSXU2NCAiLCByZXNvdXJjZUlEID0gJSIgUFJJdTY0ICIp
IiwgbV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQsIG1fcGFy
YW1ldGVycy5pZGVudGlmaWVyKTsKKyAgICAgICAgcmV0dXJuIFNob3VsZENvbnRpbnVlRGlkUmVj
ZWl2ZVJlc3BvbnNlOjpObzsKKyAgICB9CisgICAgcmV0dXJuIFNob3VsZENvbnRpbnVlRGlkUmVj
ZWl2ZVJlc3BvbnNlOjpZZXM7CiB9CiAKIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRS
ZWNlaXZlQnVmZmVyKFJlZjxTaGFyZWRCdWZmZXI+JiYgYnVmZmVyLCBpbnQgcmVwb3J0ZWRFbmNv
ZGVkRGF0YUxlbmd0aCkK
</data>
<flag name="review"
          id="357566"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>