<?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>188391</bug_id>
          
          <creation_ts>2018-08-07 14:57:40 -0700</creation_ts>
          <short_desc>[Curl] Surface additional NetworkLoadMetrics</short_desc>
          <delta_ts>2018-08-08 18:13: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>Platform</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Don Olmstead">don.olmstead</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>basuke</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>galpeter</cc>
    
    <cc>joepeck</cc>
    
    <cc>pvollan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1448597</commentid>
    <comment_count>0</comment_count>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2018-08-07 14:57:40 -0700</bug_when>
    <thetext>Currently a few network load metrics are missing in the curl port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448602</commentid>
    <comment_count>1</comment_count>
      <attachid>346737</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2018-08-07 15:17:05 -0700</bug_when>
    <thetext>Created attachment 346737
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448605</commentid>
    <comment_count>2</comment_count>
      <attachid>346738</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2018-08-07 15:19:19 -0700</bug_when>
    <thetext>Created attachment 346738
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448609</commentid>
    <comment_count>3</comment_count>
      <attachid>346738</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-08-07 15:40:06 -0700</bug_when>
    <thetext>Comment on attachment 346738
Patch

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

Nice! r=me

You may be able to enable a few of the Inspector LayoutTests. Namely:
LayoutTests/http/tests/inspector/network/resource-sizes-network.html

&gt; Source/WebCore/platform/network/curl/CurlContext.cpp:739
&gt; +    long protocol;

This appears to be unused and can be removed.

&gt; Source/WebCore/platform/network/curl/CurlContext.cpp:761
&gt; +    errorCode = curl_easy_getinfo(m_handle, CURLINFO_REQUEST_SIZE, &amp;requestHeaderSize);

Can you subtract out the requestBodySize to get requestHeaderSize closer to the actual value? You&apos;d want to do some sanity checking to see if that makes sense.

&gt; Source/WebCore/platform/network/curl/CurlContext.cpp:773
&gt; +    errorCode = curl_easy_getinfo(m_handle, CURLINFO_SIZE_DOWNLOAD_T, &amp;responseBodySize);

Same here, does this include the Header Size or not? The curl docs did not seem clear to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448882</commentid>
    <comment_count>4</comment_count>
      <attachid>346738</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-08-08 17:02:54 -0700</bug_when>
    <thetext>Comment on attachment 346738
Patch

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

&gt; Source/WebCore/platform/network/curl/CurlContext.cpp:82
&gt; +static const ASCIILiteral http20Protocol { &quot;h2&quot;_s };

constant should be named like kHttpProtocol10, kHttpProtocol11, kHttpProtocol2. Also version number of HTTP/2 is just 2, not 2.0. https://http2.github.io/faq/#is-it-http20-or-http2

&gt;&gt; Source/WebCore/platform/network/curl/CurlContext.cpp:761
&gt;&gt; +    errorCode = curl_easy_getinfo(m_handle, CURLINFO_REQUEST_SIZE, &amp;requestHeaderSize);
&gt; 
&gt; Can you subtract out the requestBodySize to get requestHeaderSize closer to the actual value? You&apos;d want to do some sanity checking to see if that makes sense.

Write. Request size includes entire size (header + body). I confirmed that by reading code for libcurl.

&gt;&gt; Source/WebCore/platform/network/curl/CurlContext.cpp:773
&gt;&gt; +    errorCode = curl_easy_getinfo(m_handle, CURLINFO_SIZE_DOWNLOAD_T, &amp;responseBodySize);
&gt; 
&gt; Same here, does this include the Header Size or not? The curl docs did not seem clear to me.

This doesn&apos;t include the header size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448883</commentid>
    <comment_count>5</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-08-08 17:03:34 -0700</bug_when>
    <thetext>&gt; Write.

I mean &quot;Right&quot;. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448885</commentid>
    <comment_count>6</comment_count>
      <attachid>346805</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2018-08-08 17:27:55 -0700</bug_when>
    <thetext>Created attachment 346805
Patch

Updated based on review feedback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448891</commentid>
    <comment_count>7</comment_count>
      <attachid>346805</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-08 18:12:12 -0700</bug_when>
    <thetext>Comment on attachment 346805
Patch

Clearing flags on attachment: 346805

Committed r234715: &lt;https://trac.webkit.org/changeset/234715&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448892</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-08 18:12:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448893</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-08-08 18:13:33 -0700</bug_when>
    <thetext>&lt;rdar://problem/43073623&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346737</attachid>
            <date>2018-08-07 15:17:05 -0700</date>
            <delta_ts>2018-08-07 15:19:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188391.diff</filename>
            <type>text/plain</type>
            <size>6444</size>
            <attacher name="Don Olmstead">don.olmstead</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlYzM4ZDc0ZDVlOC4uYmUxY2ZmOGU4OTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxOC0wOC0wNyAgRG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnku
Y29tPgorCisgICAgICAgIFtDdXJsXSBTdXJmYWNlIGFkZGl0aW9uYWwgTmV0d29ya0xvYWRNZXRy
aWNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODgz
OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
dXJsSGFuZGxlOjpnZXROZXR3b3JrTG9hZE1ldHJpY3MpOgorCiAyMDE4LTA4LTA3ICBSeWFuIEhh
ZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHN1cHBy
ZXNzIHdhcm5pbmdzIHRvIGZpeCB0aGUgYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxDb250ZXh0LmNwcAppbmRleCAxNjZlZTM4ZjViZS4u
NGQxOTUzMzI3MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y3VybC9DdXJsQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jdXJsL0N1cmxDb250ZXh0LmNwcApAQCAtNzcsNiArNzcsMTAgQEAgY29uc3RleHByIGNvbnN0
IGNoYXIqIEVudmlyb25tZW50VmFyaWFibGVSZWFkZXI6OnNzY2FuVGVtcGxhdGU8c2lnbmVkPigp
IHsgcmV0dXIKIHRlbXBsYXRlPD4KIGNvbnN0ZXhwciBjb25zdCBjaGFyKiBFbnZpcm9ubWVudFZh
cmlhYmxlUmVhZGVyOjpzc2NhblRlbXBsYXRlPHVuc2lnbmVkPigpIHsgcmV0dXJuICIldSI7IH0K
IAorc3RhdGljIGNvbnN0IEFTQ0lJTGl0ZXJhbCBodHRwMTBQcm90b2NvbCB7ICJodHRwLzEuMCJf
cyB9Oworc3RhdGljIGNvbnN0IEFTQ0lJTGl0ZXJhbCBodHRwMTFQcm90b2NvbCB7ICJodHRwLzEu
MSJfcyB9Oworc3RhdGljIGNvbnN0IEFTQ0lJTGl0ZXJhbCBodHRwMjBQcm90b2NvbCB7ICJoMiJf
cyB9OworCiAvLyBDdXJsQ29udGV4dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIEN1cmxDb250ZXh0JiBDdXJsQ29u
dGV4dDo6c2luZ2xldG9uKCkKQEAgLTcyNSw2ICs3MjksMTQgQEAgc3RkOjpvcHRpb25hbDxOZXR3
b3JrTG9hZE1ldHJpY3M+IEN1cmxIYW5kbGU6OmdldE5ldHdvcmtMb2FkTWV0cmljcygpCiAgICAg
ZG91YmxlIGNvbm5lY3QgPSAwLjA7CiAgICAgZG91YmxlIGFwcENvbm5lY3QgPSAwLjA7CiAgICAg
ZG91YmxlIHN0YXJ0VHJhbnNmZXIgPSAwLjA7CisgICAgbG9uZyByZXF1ZXN0SGVhZGVyU2l6ZSA9
IDA7CisgICAgY3VybF9vZmZfdCByZXF1ZXN0Qm9keVNpemUgPSAwOworICAgIGxvbmcgcmVzcG9u
c2VIZWFkZXJTaXplID0gMDsKKyAgICBjdXJsX29mZl90IHJlc3BvbnNlQm9keVNpemUgPSAwOwor
ICAgIGxvbmcgdmVyc2lvbiA9IDA7CisgICAgY2hhciogaXAgPSBudWxscHRyOworICAgIGxvbmcg
cG9ydCA9IDA7CisgICAgbG9uZyBwcm90b2NvbDsKIAogICAgIGlmICghbV9oYW5kbGUpCiAgICAg
ICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CkBAIC03NDUsNiArNzU3LDM1IEBAIHN0ZDo6b3B0aW9u
YWw8TmV0d29ya0xvYWRNZXRyaWNzPiBDdXJsSGFuZGxlOjpnZXROZXR3b3JrTG9hZE1ldHJpY3Mo
KQogICAgIGlmIChlcnJvckNvZGUgIT0gQ1VSTEVfT0spCiAgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CiAKKyAgICAvLyBGSVhNRTogR2V0cyB0b3RhbCByZXF1ZXN0IHNpemUgbm90IGp1c3Qg
aGVhZGVycyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg4MzYzCisg
ICAgZXJyb3JDb2RlID0gY3VybF9lYXN5X2dldGluZm8obV9oYW5kbGUsIENVUkxJTkZPX1JFUVVF
U1RfU0laRSwgJnJlcXVlc3RIZWFkZXJTaXplKTsKKyAgICBpZiAoZXJyb3JDb2RlICE9IENVUkxF
X09LKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgZXJyb3JDb2RlID0gY3Vy
bF9lYXN5X2dldGluZm8obV9oYW5kbGUsIENVUkxJTkZPX1NJWkVfVVBMT0FEX1QsICZyZXF1ZXN0
Qm9keVNpemUpOworICAgIGlmIChlcnJvckNvZGUgIT0gQ1VSTEVfT0spCisgICAgICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7CisKKyAgICBlcnJvckNvZGUgPSBjdXJsX2Vhc3lfZ2V0aW5mbyhtX2hh
bmRsZSwgQ1VSTElORk9fSEVBREVSX1NJWkUsICZyZXNwb25zZUhlYWRlclNpemUpOworICAgIGlm
IChlcnJvckNvZGUgIT0gQ1VSTEVfT0spCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisK
KyAgICBlcnJvckNvZGUgPSBjdXJsX2Vhc3lfZ2V0aW5mbyhtX2hhbmRsZSwgQ1VSTElORk9fU0la
RV9ET1dOTE9BRF9ULCAmcmVzcG9uc2VCb2R5U2l6ZSk7CisgICAgaWYgKGVycm9yQ29kZSAhPSBD
VVJMRV9PSykKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIGVycm9yQ29kZSA9
IGN1cmxfZWFzeV9nZXRpbmZvKG1faGFuZGxlLCBDVVJMSU5GT19QUklNQVJZX0lQLCAmaXApOwor
ICAgIGlmIChlcnJvckNvZGUgIT0gQ1VSTEVfT0spCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CisKKyAgICBlcnJvckNvZGUgPSBjdXJsX2Vhc3lfZ2V0aW5mbyhtX2hhbmRsZSwgQ1VSTElO
Rk9fUFJJTUFSWV9QT1JULCAmcG9ydCk7CisgICAgaWYgKGVycm9yQ29kZSAhPSBDVVJMRV9PSykK
KyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIGVycm9yQ29kZSA9IGN1cmxfZWFz
eV9nZXRpbmZvKG1faGFuZGxlLCBDVVJMSU5GT19IVFRQX1ZFUlNJT04sICZ2ZXJzaW9uKTsKKyAg
ICBpZiAoZXJyb3JDb2RlICE9IENVUkxFX09LKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OworCiAgICAgTmV0d29ya0xvYWRNZXRyaWNzIG5ldHdvcmtMb2FkTWV0cmljczsKIAogICAgIG5l
dHdvcmtMb2FkTWV0cmljcy5kb21haW5Mb29rdXBTdGFydCA9IFNlY29uZHMoMCk7CkBAIC03NjAs
NiArODAxLDI0IEBAIHN0ZDo6b3B0aW9uYWw8TmV0d29ya0xvYWRNZXRyaWNzPiBDdXJsSGFuZGxl
OjpnZXROZXR3b3JrTG9hZE1ldHJpY3MoKQogICAgIG5ldHdvcmtMb2FkTWV0cmljcy5yZXF1ZXN0
U3RhcnQgPSBuZXR3b3JrTG9hZE1ldHJpY3MuY29ubmVjdEVuZDsKICAgICBuZXR3b3JrTG9hZE1l
dHJpY3MucmVzcG9uc2VTdGFydCA9IFNlY29uZHMoc3RhcnRUcmFuc2Zlcik7CiAKKyAgICBuZXR3
b3JrTG9hZE1ldHJpY3MucmVxdWVzdEhlYWRlckJ5dGVzU2VudCA9IHJlcXVlc3RIZWFkZXJTaXpl
OworICAgIG5ldHdvcmtMb2FkTWV0cmljcy5yZXF1ZXN0Qm9keUJ5dGVzU2VudCA9IHJlcXVlc3RC
b2R5U2l6ZTsKKyAgICBuZXR3b3JrTG9hZE1ldHJpY3MucmVzcG9uc2VIZWFkZXJCeXRlc1JlY2Vp
dmVkID0gcmVzcG9uc2VIZWFkZXJTaXplOworICAgIG5ldHdvcmtMb2FkTWV0cmljcy5yZXNwb25z
ZUJvZHlCeXRlc1JlY2VpdmVkID0gcmVzcG9uc2VCb2R5U2l6ZTsKKworICAgIGlmIChpcCkgewor
ICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3MucmVtb3RlQWRkcmVzcyA9IFN0cmluZyhpcCk7Cisg
ICAgICAgIGlmIChwb3J0KQorICAgICAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLnJlbW90ZUFk
ZHJlc3MuYXBwZW5kKCI6IiArIFN0cmluZzo6bnVtYmVyKHBvcnQpKTsKKyAgICB9CisKKyAgICBp
ZiAodmVyc2lvbiA9PSBDVVJMX0hUVFBfVkVSU0lPTl8xXzApCisgICAgICAgIG5ldHdvcmtMb2Fk
TWV0cmljcy5wcm90b2NvbCA9IGh0dHAxMFByb3RvY29sOworICAgIGVsc2UgaWYgKHZlcnNpb24g
PT0gQ1VSTF9IVFRQX1ZFUlNJT05fMV8xKQorICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3MucHJv
dG9jb2wgPSBodHRwMTFQcm90b2NvbDsKKyAgICBlbHNlIGlmICh2ZXJzaW9uID09IENVUkxfSFRU
UF9WRVJTSU9OXzJfMCkKKyAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLnByb3RvY29sID0gaHR0
cDIwUHJvdG9jb2w7CisKICAgICByZXR1cm4gbmV0d29ya0xvYWRNZXRyaWNzOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGQ0NWIzOWRhOTkwLi5hZDFlNmMwNmJlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAxOC0wOC0wNyAgRG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgorCisg
ICAgICAgIFtDdXJsXSBTdXJmYWNlIGFkZGl0aW9uYWwgTmV0d29ya0xvYWRNZXRyaWNzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODgzOTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtEYXRhVGFza0N1cmw6OmN1cmxEaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrRGF0YVRhc2tDdXJsOjpjdXJsRGlkQ29tcGxldGUpOgorCiAyMDE4LTA4LTA3ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcmFnZU1hbmFnZXIg
c2hvdWxkIHN0b3AgcmVmJ2luZyBJUEM6OkNvbm5lY3Rpb25zIGFzIHRoaXMgaXMgbGVhay1wcm9u
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtE
YXRhVGFza0N1cmwuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdv
cmtEYXRhVGFza0N1cmwuY3BwCmluZGV4IGZiYzg5ZGYwYzdhLi4xMzA5ZTg5Y2JjMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtEYXRhVGFza0N1
cmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrRGF0
YVRhc2tDdXJsLmNwcApAQCAtMTQ3LDEzICsxNDcsMTQgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tD
dXJsOjpjdXJsRGlkU2VuZERhdGEoQ3VybFJlcXVlc3QmLCB1bnNpZ25lZCBsb25nIGxvbmcgdG90
YWwKICAgICBtX2NsaWVudC0+ZGlkU2VuZERhdGEodG90YWxCeXRlc1NlbnQsIHRvdGFsQnl0ZXNF
eHBlY3RlZFRvU2VuZCk7CiB9CiAKLXZvaWQgTmV0d29ya0RhdGFUYXNrQ3VybDo6Y3VybERpZFJl
Y2VpdmVSZXNwb25zZShDdXJsUmVxdWVzdCYsIGNvbnN0IEN1cmxSZXNwb25zZSYgcmVjZWl2ZWRS
ZXNwb25zZSkKK3ZvaWQgTmV0d29ya0RhdGFUYXNrQ3VybDo6Y3VybERpZFJlY2VpdmVSZXNwb25z
ZShDdXJsUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgQ3VybFJlc3BvbnNlJiByZWNlaXZlZFJlc3Bv
bnNlKQogewogICAgIGF1dG8gcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpOwogICAgIGlm
IChzdGF0ZSgpID09IFN0YXRlOjpDYW5jZWxpbmcgfHwgc3RhdGUoKSA9PSBTdGF0ZTo6Q29tcGxl
dGVkIHx8ICFtX2NsaWVudCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9yZXNwb25zZSA9IFJl
c291cmNlUmVzcG9uc2UocmVjZWl2ZWRSZXNwb25zZSk7CisgICAgbV9yZXNwb25zZS5zZXREZXBy
ZWNhdGVkTmV0d29ya0xvYWRNZXRyaWNzKHJlcXVlc3QubmV0d29ya0xvYWRNZXRyaWNzKCkuaXNv
bGF0ZWRDb3B5KCkpOwogCiAgICAgaGFuZGxlQ29va2llSGVhZGVycyhyZWNlaXZlZFJlc3BvbnNl
KTsKIApAQCAtMjAyLDcgKzIwMyw3IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNrQ3VybDo6Y3VybERp
ZENvbXBsZXRlKEN1cmxSZXF1ZXN0JiByZXF1ZXN0KQogCiAgICAgbV9yZXNwb25zZS5zZXREZXBy
ZWNhdGVkTmV0d29ya0xvYWRNZXRyaWNzKHJlcXVlc3QubmV0d29ya0xvYWRNZXRyaWNzKCkuaXNv
bGF0ZWRDb3B5KCkpOwogCi0gICAgbV9jbGllbnQtPmRpZENvbXBsZXRlV2l0aEVycm9yKHsgfSwg
bV9yZXNwb25zZS5kZXByZWNhdGVkTmV0d29ya0xvYWRNZXRyaWNzKCkpOworICAgIG1fY2xpZW50
LT5kaWRDb21wbGV0ZVdpdGhFcnJvcih7fSwgbV9yZXNwb25zZS5kZXByZWNhdGVkTmV0d29ya0xv
YWRNZXRyaWNzKCkpOwogfQogCiB2b2lkIE5ldHdvcmtEYXRhVGFza0N1cmw6OmN1cmxEaWRGYWls
V2l0aEVycm9yKEN1cmxSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJv
cikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346738</attachid>
            <date>2018-08-07 15:19:19 -0700</date>
            <delta_ts>2018-08-08 17:27:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188391.diff</filename>
            <type>text/plain</type>
            <size>5933</size>
            <attacher name="Don Olmstead">don.olmstead</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlYzM4ZDc0ZDVlOC4uYmUxY2ZmOGU4OTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxOC0wOC0wNyAgRG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnku
Y29tPgorCisgICAgICAgIFtDdXJsXSBTdXJmYWNlIGFkZGl0aW9uYWwgTmV0d29ya0xvYWRNZXRy
aWNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODgz
OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
dXJsSGFuZGxlOjpnZXROZXR3b3JrTG9hZE1ldHJpY3MpOgorCiAyMDE4LTA4LTA3ICBSeWFuIEhh
ZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHN1cHBy
ZXNzIHdhcm5pbmdzIHRvIGZpeCB0aGUgYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxDb250ZXh0LmNwcAppbmRleCAxNjZlZTM4ZjViZS4u
NGQxOTUzMzI3MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y3VybC9DdXJsQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jdXJsL0N1cmxDb250ZXh0LmNwcApAQCAtNzcsNiArNzcsMTAgQEAgY29uc3RleHByIGNvbnN0
IGNoYXIqIEVudmlyb25tZW50VmFyaWFibGVSZWFkZXI6OnNzY2FuVGVtcGxhdGU8c2lnbmVkPigp
IHsgcmV0dXIKIHRlbXBsYXRlPD4KIGNvbnN0ZXhwciBjb25zdCBjaGFyKiBFbnZpcm9ubWVudFZh
cmlhYmxlUmVhZGVyOjpzc2NhblRlbXBsYXRlPHVuc2lnbmVkPigpIHsgcmV0dXJuICIldSI7IH0K
IAorc3RhdGljIGNvbnN0IEFTQ0lJTGl0ZXJhbCBodHRwMTBQcm90b2NvbCB7ICJodHRwLzEuMCJf
cyB9Oworc3RhdGljIGNvbnN0IEFTQ0lJTGl0ZXJhbCBodHRwMTFQcm90b2NvbCB7ICJodHRwLzEu
MSJfcyB9Oworc3RhdGljIGNvbnN0IEFTQ0lJTGl0ZXJhbCBodHRwMjBQcm90b2NvbCB7ICJoMiJf
cyB9OworCiAvLyBDdXJsQ29udGV4dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIEN1cmxDb250ZXh0JiBDdXJsQ29u
dGV4dDo6c2luZ2xldG9uKCkKQEAgLTcyNSw2ICs3MjksMTQgQEAgc3RkOjpvcHRpb25hbDxOZXR3
b3JrTG9hZE1ldHJpY3M+IEN1cmxIYW5kbGU6OmdldE5ldHdvcmtMb2FkTWV0cmljcygpCiAgICAg
ZG91YmxlIGNvbm5lY3QgPSAwLjA7CiAgICAgZG91YmxlIGFwcENvbm5lY3QgPSAwLjA7CiAgICAg
ZG91YmxlIHN0YXJ0VHJhbnNmZXIgPSAwLjA7CisgICAgbG9uZyByZXF1ZXN0SGVhZGVyU2l6ZSA9
IDA7CisgICAgY3VybF9vZmZfdCByZXF1ZXN0Qm9keVNpemUgPSAwOworICAgIGxvbmcgcmVzcG9u
c2VIZWFkZXJTaXplID0gMDsKKyAgICBjdXJsX29mZl90IHJlc3BvbnNlQm9keVNpemUgPSAwOwor
ICAgIGxvbmcgdmVyc2lvbiA9IDA7CisgICAgY2hhciogaXAgPSBudWxscHRyOworICAgIGxvbmcg
cG9ydCA9IDA7CisgICAgbG9uZyBwcm90b2NvbDsKIAogICAgIGlmICghbV9oYW5kbGUpCiAgICAg
ICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CkBAIC03NDUsNiArNzU3LDM1IEBAIHN0ZDo6b3B0aW9u
YWw8TmV0d29ya0xvYWRNZXRyaWNzPiBDdXJsSGFuZGxlOjpnZXROZXR3b3JrTG9hZE1ldHJpY3Mo
KQogICAgIGlmIChlcnJvckNvZGUgIT0gQ1VSTEVfT0spCiAgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CiAKKyAgICAvLyBGSVhNRTogR2V0cyB0b3RhbCByZXF1ZXN0IHNpemUgbm90IGp1c3Qg
aGVhZGVycyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg4MzYzCisg
ICAgZXJyb3JDb2RlID0gY3VybF9lYXN5X2dldGluZm8obV9oYW5kbGUsIENVUkxJTkZPX1JFUVVF
U1RfU0laRSwgJnJlcXVlc3RIZWFkZXJTaXplKTsKKyAgICBpZiAoZXJyb3JDb2RlICE9IENVUkxF
X09LKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgZXJyb3JDb2RlID0gY3Vy
bF9lYXN5X2dldGluZm8obV9oYW5kbGUsIENVUkxJTkZPX1NJWkVfVVBMT0FEX1QsICZyZXF1ZXN0
Qm9keVNpemUpOworICAgIGlmIChlcnJvckNvZGUgIT0gQ1VSTEVfT0spCisgICAgICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7CisKKyAgICBlcnJvckNvZGUgPSBjdXJsX2Vhc3lfZ2V0aW5mbyhtX2hh
bmRsZSwgQ1VSTElORk9fSEVBREVSX1NJWkUsICZyZXNwb25zZUhlYWRlclNpemUpOworICAgIGlm
IChlcnJvckNvZGUgIT0gQ1VSTEVfT0spCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisK
KyAgICBlcnJvckNvZGUgPSBjdXJsX2Vhc3lfZ2V0aW5mbyhtX2hhbmRsZSwgQ1VSTElORk9fU0la
RV9ET1dOTE9BRF9ULCAmcmVzcG9uc2VCb2R5U2l6ZSk7CisgICAgaWYgKGVycm9yQ29kZSAhPSBD
VVJMRV9PSykKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIGVycm9yQ29kZSA9
IGN1cmxfZWFzeV9nZXRpbmZvKG1faGFuZGxlLCBDVVJMSU5GT19QUklNQVJZX0lQLCAmaXApOwor
ICAgIGlmIChlcnJvckNvZGUgIT0gQ1VSTEVfT0spCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CisKKyAgICBlcnJvckNvZGUgPSBjdXJsX2Vhc3lfZ2V0aW5mbyhtX2hhbmRsZSwgQ1VSTElO
Rk9fUFJJTUFSWV9QT1JULCAmcG9ydCk7CisgICAgaWYgKGVycm9yQ29kZSAhPSBDVVJMRV9PSykK
KyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIGVycm9yQ29kZSA9IGN1cmxfZWFz
eV9nZXRpbmZvKG1faGFuZGxlLCBDVVJMSU5GT19IVFRQX1ZFUlNJT04sICZ2ZXJzaW9uKTsKKyAg
ICBpZiAoZXJyb3JDb2RlICE9IENVUkxFX09LKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OworCiAgICAgTmV0d29ya0xvYWRNZXRyaWNzIG5ldHdvcmtMb2FkTWV0cmljczsKIAogICAgIG5l
dHdvcmtMb2FkTWV0cmljcy5kb21haW5Mb29rdXBTdGFydCA9IFNlY29uZHMoMCk7CkBAIC03NjAs
NiArODAxLDI0IEBAIHN0ZDo6b3B0aW9uYWw8TmV0d29ya0xvYWRNZXRyaWNzPiBDdXJsSGFuZGxl
OjpnZXROZXR3b3JrTG9hZE1ldHJpY3MoKQogICAgIG5ldHdvcmtMb2FkTWV0cmljcy5yZXF1ZXN0
U3RhcnQgPSBuZXR3b3JrTG9hZE1ldHJpY3MuY29ubmVjdEVuZDsKICAgICBuZXR3b3JrTG9hZE1l
dHJpY3MucmVzcG9uc2VTdGFydCA9IFNlY29uZHMoc3RhcnRUcmFuc2Zlcik7CiAKKyAgICBuZXR3
b3JrTG9hZE1ldHJpY3MucmVxdWVzdEhlYWRlckJ5dGVzU2VudCA9IHJlcXVlc3RIZWFkZXJTaXpl
OworICAgIG5ldHdvcmtMb2FkTWV0cmljcy5yZXF1ZXN0Qm9keUJ5dGVzU2VudCA9IHJlcXVlc3RC
b2R5U2l6ZTsKKyAgICBuZXR3b3JrTG9hZE1ldHJpY3MucmVzcG9uc2VIZWFkZXJCeXRlc1JlY2Vp
dmVkID0gcmVzcG9uc2VIZWFkZXJTaXplOworICAgIG5ldHdvcmtMb2FkTWV0cmljcy5yZXNwb25z
ZUJvZHlCeXRlc1JlY2VpdmVkID0gcmVzcG9uc2VCb2R5U2l6ZTsKKworICAgIGlmIChpcCkgewor
ICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3MucmVtb3RlQWRkcmVzcyA9IFN0cmluZyhpcCk7Cisg
ICAgICAgIGlmIChwb3J0KQorICAgICAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLnJlbW90ZUFk
ZHJlc3MuYXBwZW5kKCI6IiArIFN0cmluZzo6bnVtYmVyKHBvcnQpKTsKKyAgICB9CisKKyAgICBp
ZiAodmVyc2lvbiA9PSBDVVJMX0hUVFBfVkVSU0lPTl8xXzApCisgICAgICAgIG5ldHdvcmtMb2Fk
TWV0cmljcy5wcm90b2NvbCA9IGh0dHAxMFByb3RvY29sOworICAgIGVsc2UgaWYgKHZlcnNpb24g
PT0gQ1VSTF9IVFRQX1ZFUlNJT05fMV8xKQorICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3MucHJv
dG9jb2wgPSBodHRwMTFQcm90b2NvbDsKKyAgICBlbHNlIGlmICh2ZXJzaW9uID09IENVUkxfSFRU
UF9WRVJTSU9OXzJfMCkKKyAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLnByb3RvY29sID0gaHR0
cDIwUHJvdG9jb2w7CisKICAgICByZXR1cm4gbmV0d29ya0xvYWRNZXRyaWNzOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGQ0NWIzOWRhOTkwLi5mYzAxZTcwNmEyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAxOC0wOC0wNyAgRG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgorCisg
ICAgICAgIFtDdXJsXSBTdXJmYWNlIGFkZGl0aW9uYWwgTmV0d29ya0xvYWRNZXRyaWNzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODgzOTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtEYXRhVGFza0N1cmw6OmN1cmxEaWRSZWNlaXZlUmVzcG9uc2UpOgorCiAyMDE4LTA4LTA3ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcmFnZU1hbmFnZXIg
c2hvdWxkIHN0b3AgcmVmJ2luZyBJUEM6OkNvbm5lY3Rpb25zIGFzIHRoaXMgaXMgbGVhay1wcm9u
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtE
YXRhVGFza0N1cmwuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdv
cmtEYXRhVGFza0N1cmwuY3BwCmluZGV4IGZiYzg5ZGYwYzdhLi5lN2M0ODdmNWVlNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtEYXRhVGFza0N1
cmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrRGF0
YVRhc2tDdXJsLmNwcApAQCAtMTQ3LDEzICsxNDcsMTQgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tD
dXJsOjpjdXJsRGlkU2VuZERhdGEoQ3VybFJlcXVlc3QmLCB1bnNpZ25lZCBsb25nIGxvbmcgdG90
YWwKICAgICBtX2NsaWVudC0+ZGlkU2VuZERhdGEodG90YWxCeXRlc1NlbnQsIHRvdGFsQnl0ZXNF
eHBlY3RlZFRvU2VuZCk7CiB9CiAKLXZvaWQgTmV0d29ya0RhdGFUYXNrQ3VybDo6Y3VybERpZFJl
Y2VpdmVSZXNwb25zZShDdXJsUmVxdWVzdCYsIGNvbnN0IEN1cmxSZXNwb25zZSYgcmVjZWl2ZWRS
ZXNwb25zZSkKK3ZvaWQgTmV0d29ya0RhdGFUYXNrQ3VybDo6Y3VybERpZFJlY2VpdmVSZXNwb25z
ZShDdXJsUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgQ3VybFJlc3BvbnNlJiByZWNlaXZlZFJlc3Bv
bnNlKQogewogICAgIGF1dG8gcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpOwogICAgIGlm
IChzdGF0ZSgpID09IFN0YXRlOjpDYW5jZWxpbmcgfHwgc3RhdGUoKSA9PSBTdGF0ZTo6Q29tcGxl
dGVkIHx8ICFtX2NsaWVudCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9yZXNwb25zZSA9IFJl
c291cmNlUmVzcG9uc2UocmVjZWl2ZWRSZXNwb25zZSk7CisgICAgbV9yZXNwb25zZS5zZXREZXBy
ZWNhdGVkTmV0d29ya0xvYWRNZXRyaWNzKHJlcXVlc3QubmV0d29ya0xvYWRNZXRyaWNzKCkuaXNv
bGF0ZWRDb3B5KCkpOwogCiAgICAgaGFuZGxlQ29va2llSGVhZGVycyhyZWNlaXZlZFJlc3BvbnNl
KTsKIAo=
</data>
<flag name="review"
          id="364571"
          type_id="1"
          status="+"
          setter="joepeck"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346805</attachid>
            <date>2018-08-08 17:27:55 -0700</date>
            <delta_ts>2018-08-08 18:12:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188391.diff</filename>
            <type>text/plain</type>
            <size>5975</size>
            <attacher name="Don Olmstead">don.olmstead</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxYTdkZTY1ZWYxMS4uZTMzZGIxYmY4YzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxOC0wOC0wOCAgRG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnku
Y29tPgorCisgICAgICAgIFtDdXJsXSBTdXJmYWNlIGFkZGl0aW9uYWwgTmV0d29ya0xvYWRNZXRy
aWNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODgz
OTEKKworICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q3VybEhhbmRsZTo6Z2V0TmV0d29ya0xvYWRNZXRyaWNzKToKKwogMjAxOC0wOC0wOCAgRG9uIE9s
bXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgogCiAgICAgICAgIFtOaWNvc2lhXSBBZGQg
dGhlIE5pY29zaWEtc3BlY2lmaWMgUGxhdGZvcm1MYXllciB0eXBlIGFsaWFzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENvbnRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxDb250ZXh0LmNwcAppbmRl
eCAxNjZlZTM4ZjViZS4uMmMyOGI2MjM2OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxDb250ZXh0LmNwcApAQCAtNzcsNiArNzcsMTEgQEAg
Y29uc3RleHByIGNvbnN0IGNoYXIqIEVudmlyb25tZW50VmFyaWFibGVSZWFkZXI6OnNzY2FuVGVt
cGxhdGU8c2lnbmVkPigpIHsgcmV0dXIKIHRlbXBsYXRlPD4KIGNvbnN0ZXhwciBjb25zdCBjaGFy
KiBFbnZpcm9ubWVudFZhcmlhYmxlUmVhZGVyOjpzc2NhblRlbXBsYXRlPHVuc2lnbmVkPigpIHsg
cmV0dXJuICIldSI7IH0KIAorLy8gQUxQTiBQcm90b2NvbCBJRCAoUkZDNzMwMSkgaHR0cHM6Ly90
b29scy5pZXRmLm9yZy9odG1sL3JmYzczMDEKK3N0YXRpYyBjb25zdCBBU0NJSUxpdGVyYWwgaHR0
cFZlcnNpb24xMCB7ICJodHRwLzEuMCJfcyB9Oworc3RhdGljIGNvbnN0IEFTQ0lJTGl0ZXJhbCBo
dHRwVmVyc2lvbjExIHsgImh0dHAvMS4xIl9zIH07CitzdGF0aWMgY29uc3QgQVNDSUlMaXRlcmFs
IGh0dHBWZXJzaW9uMiB7ICJoMiJfcyB9OworCiAvLyBDdXJsQ29udGV4dCAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAK
IEN1cmxDb250ZXh0JiBDdXJsQ29udGV4dDo6c2luZ2xldG9uKCkKQEAgLTcyNSw2ICs3MzAsMTMg
QEAgc3RkOjpvcHRpb25hbDxOZXR3b3JrTG9hZE1ldHJpY3M+IEN1cmxIYW5kbGU6OmdldE5ldHdv
cmtMb2FkTWV0cmljcygpCiAgICAgZG91YmxlIGNvbm5lY3QgPSAwLjA7CiAgICAgZG91YmxlIGFw
cENvbm5lY3QgPSAwLjA7CiAgICAgZG91YmxlIHN0YXJ0VHJhbnNmZXIgPSAwLjA7CisgICAgbG9u
ZyByZXF1ZXN0SGVhZGVyU2l6ZSA9IDA7CisgICAgY3VybF9vZmZfdCByZXF1ZXN0Qm9keVNpemUg
PSAwOworICAgIGxvbmcgcmVzcG9uc2VIZWFkZXJTaXplID0gMDsKKyAgICBjdXJsX29mZl90IHJl
c3BvbnNlQm9keVNpemUgPSAwOworICAgIGxvbmcgdmVyc2lvbiA9IDA7CisgICAgY2hhciogaXAg
PSBudWxscHRyOworICAgIGxvbmcgcG9ydCA9IDA7CiAKICAgICBpZiAoIW1faGFuZGxlKQogICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpAQCAtNzQ1LDYgKzc1NywzNSBAQCBzdGQ6Om9wdGlv
bmFsPE5ldHdvcmtMb2FkTWV0cmljcz4gQ3VybEhhbmRsZTo6Z2V0TmV0d29ya0xvYWRNZXRyaWNz
KCkKICAgICBpZiAoZXJyb3JDb2RlICE9IENVUkxFX09LKQogICAgICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OwogCisgICAgLy8gRklYTUU6IEdldHMgdG90YWwgcmVxdWVzdCBzaXplIG5vdCBqdXN0
IGhlYWRlcnMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODM2Mwor
ICAgIGVycm9yQ29kZSA9IGN1cmxfZWFzeV9nZXRpbmZvKG1faGFuZGxlLCBDVVJMSU5GT19SRVFV
RVNUX1NJWkUsICZyZXF1ZXN0SGVhZGVyU2l6ZSk7CisgICAgaWYgKGVycm9yQ29kZSAhPSBDVVJM
RV9PSykKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIGVycm9yQ29kZSA9IGN1
cmxfZWFzeV9nZXRpbmZvKG1faGFuZGxlLCBDVVJMSU5GT19TSVpFX1VQTE9BRF9ULCAmcmVxdWVz
dEJvZHlTaXplKTsKKyAgICBpZiAoZXJyb3JDb2RlICE9IENVUkxFX09LKQorICAgICAgICByZXR1
cm4gc3RkOjpudWxsb3B0OworCisgICAgZXJyb3JDb2RlID0gY3VybF9lYXN5X2dldGluZm8obV9o
YW5kbGUsIENVUkxJTkZPX0hFQURFUl9TSVpFLCAmcmVzcG9uc2VIZWFkZXJTaXplKTsKKyAgICBp
ZiAoZXJyb3JDb2RlICE9IENVUkxFX09LKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owor
CisgICAgZXJyb3JDb2RlID0gY3VybF9lYXN5X2dldGluZm8obV9oYW5kbGUsIENVUkxJTkZPX1NJ
WkVfRE9XTkxPQURfVCwgJnJlc3BvbnNlQm9keVNpemUpOworICAgIGlmIChlcnJvckNvZGUgIT0g
Q1VSTEVfT0spCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBlcnJvckNvZGUg
PSBjdXJsX2Vhc3lfZ2V0aW5mbyhtX2hhbmRsZSwgQ1VSTElORk9fUFJJTUFSWV9JUCwgJmlwKTsK
KyAgICBpZiAoZXJyb3JDb2RlICE9IENVUkxFX09LKQorICAgICAgICByZXR1cm4gc3RkOjpudWxs
b3B0OworCisgICAgZXJyb3JDb2RlID0gY3VybF9lYXN5X2dldGluZm8obV9oYW5kbGUsIENVUkxJ
TkZPX1BSSU1BUllfUE9SVCwgJnBvcnQpOworICAgIGlmIChlcnJvckNvZGUgIT0gQ1VSTEVfT0sp
CisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBlcnJvckNvZGUgPSBjdXJsX2Vh
c3lfZ2V0aW5mbyhtX2hhbmRsZSwgQ1VSTElORk9fSFRUUF9WRVJTSU9OLCAmdmVyc2lvbik7Cisg
ICAgaWYgKGVycm9yQ29kZSAhPSBDVVJMRV9PSykKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsKKwogICAgIE5ldHdvcmtMb2FkTWV0cmljcyBuZXR3b3JrTG9hZE1ldHJpY3M7CiAKICAgICBu
ZXR3b3JrTG9hZE1ldHJpY3MuZG9tYWluTG9va3VwU3RhcnQgPSBTZWNvbmRzKDApOwpAQCAtNzYw
LDYgKzgwMSwyNCBAQCBzdGQ6Om9wdGlvbmFsPE5ldHdvcmtMb2FkTWV0cmljcz4gQ3VybEhhbmRs
ZTo6Z2V0TmV0d29ya0xvYWRNZXRyaWNzKCkKICAgICBuZXR3b3JrTG9hZE1ldHJpY3MucmVxdWVz
dFN0YXJ0ID0gbmV0d29ya0xvYWRNZXRyaWNzLmNvbm5lY3RFbmQ7CiAgICAgbmV0d29ya0xvYWRN
ZXRyaWNzLnJlc3BvbnNlU3RhcnQgPSBTZWNvbmRzKHN0YXJ0VHJhbnNmZXIpOwogCisgICAgbmV0
d29ya0xvYWRNZXRyaWNzLnJlcXVlc3RIZWFkZXJCeXRlc1NlbnQgPSByZXF1ZXN0SGVhZGVyU2l6
ZTsKKyAgICBuZXR3b3JrTG9hZE1ldHJpY3MucmVxdWVzdEJvZHlCeXRlc1NlbnQgPSByZXF1ZXN0
Qm9keVNpemU7CisgICAgbmV0d29ya0xvYWRNZXRyaWNzLnJlc3BvbnNlSGVhZGVyQnl0ZXNSZWNl
aXZlZCA9IHJlc3BvbnNlSGVhZGVyU2l6ZTsKKyAgICBuZXR3b3JrTG9hZE1ldHJpY3MucmVzcG9u
c2VCb2R5Qnl0ZXNSZWNlaXZlZCA9IHJlc3BvbnNlQm9keVNpemU7CisKKyAgICBpZiAoaXApIHsK
KyAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLnJlbW90ZUFkZHJlc3MgPSBTdHJpbmcoaXApOwor
ICAgICAgICBpZiAocG9ydCkKKyAgICAgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcy5yZW1vdGVB
ZGRyZXNzLmFwcGVuZCgiOiIgKyBTdHJpbmc6Om51bWJlcihwb3J0KSk7CisgICAgfQorCisgICAg
aWYgKHZlcnNpb24gPT0gQ1VSTF9IVFRQX1ZFUlNJT05fMV8wKQorICAgICAgICBuZXR3b3JrTG9h
ZE1ldHJpY3MucHJvdG9jb2wgPSBodHRwVmVyc2lvbjEwOworICAgIGVsc2UgaWYgKHZlcnNpb24g
PT0gQ1VSTF9IVFRQX1ZFUlNJT05fMV8xKQorICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3MucHJv
dG9jb2wgPSBodHRwVmVyc2lvbjExOworICAgIGVsc2UgaWYgKHZlcnNpb24gPT0gQ1VSTF9IVFRQ
X1ZFUlNJT05fMikKKyAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLnByb3RvY29sID0gaHR0cFZl
cnNpb24yOworCiAgICAgcmV0dXJuIG5ldHdvcmtMb2FkTWV0cmljczsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCBiODU0YzYwMTUyNi4uODQ2YmUwN2ZiYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTgtMDgtMDggIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KKworICAgICAg
ICBbQ3VybF0gU3VyZmFjZSBhZGRpdGlvbmFsIE5ldHdvcmtMb2FkTWV0cmljcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg4MzkxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Y3VybC9OZXR3b3JrRGF0YVRhc2tDdXJsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Rh
dGFUYXNrQ3VybDo6Y3VybERpZFJlY2VpdmVSZXNwb25zZSk6CisKIDIwMTgtMDgtMDggIENvbW1p
dCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHIyMzQzMTQsIHIyMzQzMjAsIGFuZCByMjM0MzIxLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtEYXRhVGFza0N1cmwuY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtEYXRhVGFza0N1cmwu
Y3BwCmluZGV4IGZiYzg5ZGYwYzdhLi5lN2M0ODdmNWVlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtEYXRhVGFza0N1cmwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrRGF0YVRhc2tDdXJsLmNwcApA
QCAtMTQ3LDEzICsxNDcsMTQgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tDdXJsOjpjdXJsRGlkU2Vu
ZERhdGEoQ3VybFJlcXVlc3QmLCB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWwKICAgICBtX2NsaWVu
dC0+ZGlkU2VuZERhdGEodG90YWxCeXRlc1NlbnQsIHRvdGFsQnl0ZXNFeHBlY3RlZFRvU2VuZCk7
CiB9CiAKLXZvaWQgTmV0d29ya0RhdGFUYXNrQ3VybDo6Y3VybERpZFJlY2VpdmVSZXNwb25zZShD
dXJsUmVxdWVzdCYsIGNvbnN0IEN1cmxSZXNwb25zZSYgcmVjZWl2ZWRSZXNwb25zZSkKK3ZvaWQg
TmV0d29ya0RhdGFUYXNrQ3VybDo6Y3VybERpZFJlY2VpdmVSZXNwb25zZShDdXJsUmVxdWVzdCYg
cmVxdWVzdCwgY29uc3QgQ3VybFJlc3BvbnNlJiByZWNlaXZlZFJlc3BvbnNlKQogewogICAgIGF1
dG8gcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpOwogICAgIGlmIChzdGF0ZSgpID09IFN0
YXRlOjpDYW5jZWxpbmcgfHwgc3RhdGUoKSA9PSBTdGF0ZTo6Q29tcGxldGVkIHx8ICFtX2NsaWVu
dCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9yZXNwb25zZSA9IFJlc291cmNlUmVzcG9uc2Uo
cmVjZWl2ZWRSZXNwb25zZSk7CisgICAgbV9yZXNwb25zZS5zZXREZXByZWNhdGVkTmV0d29ya0xv
YWRNZXRyaWNzKHJlcXVlc3QubmV0d29ya0xvYWRNZXRyaWNzKCkuaXNvbGF0ZWRDb3B5KCkpOwog
CiAgICAgaGFuZGxlQ29va2llSGVhZGVycyhyZWNlaXZlZFJlc3BvbnNlKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>