<?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>177111</bug_id>
          
          <creation_ts>2017-09-18 16:43:27 -0700</creation_ts>
          <short_desc>[Curl] improve the implementation of FormDataStream</short_desc>
          <delta_ts>2017-09-27 12:20: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>WebCore Misc.</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="Basuke Suzuki">basuke</reporter>
          <assigned_to name="Basuke Suzuki">basuke</assigned_to>
          <cc>achristensen</cc>
    
    <cc>basuke</cc>
    
    <cc>bfulgham</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>galpeter</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1350160</commentid>
    <comment_count>0</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2017-09-18 16:43:27 -0700</bug_when>
    <thetext>The implementation of FormDataStream in Curl port was old. Improve it using latest classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350173</commentid>
    <comment_count>1</comment_count>
      <attachid>321156</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2017-09-18 17:12:45 -0700</bug_when>
    <thetext>Created attachment 321156
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350240</commentid>
    <comment_count>2</comment_count>
      <attachid>321156</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-09-18 20:55:12 -0700</bug_when>
    <thetext>Comment on attachment 321156
Fix

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

&gt; Source/WebCore/platform/network/curl/ResourceHandleCurlDelegate.h:109
&gt; +    RefPtr&lt;FormDataStream&gt; m_formDataStream { nullptr };

nullptr initializer isn&apos;t needed for RefPtr.
Couldn&apos;t you just use a std::unique_ptr instead of making FormDataStream refcounted?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350472</commentid>
    <comment_count>3</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2017-09-19 13:29:11 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #2)
&gt; Comment on attachment 321156 [details]
&gt; Fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=321156&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/network/curl/ResourceHandleCurlDelegate.h:109
&gt; &gt; +    RefPtr&lt;FormDataStream&gt; m_formDataStream { nullptr };
&gt; 
&gt; nullptr initializer isn&apos;t needed for RefPtr.

right. Will do.

How do you think of integer value initialization? They are default to zero if empty braces are placed like pointers will be nullptr. For clarity { 0 } is much acceptable for me compared to { nullptr }, but either works for me. Sooner or later people get understand when they see:
   int foobar { };


&gt; Couldn&apos;t you just use a std::unique_ptr instead of making FormDataStream
&gt; refcounted?

Do you mean use std::unique_ptr even FormData is RefCounted object? If so I don&apos;t understand the point. If you mean changing the whole implementation, because it is shared among the ports, that won&apos;t be one day patch and had better to be separated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350474</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-09-19 13:31:17 -0700</bug_when>
    <thetext>FormDataStream is not refcounted, and might not need to be made refcounted like you did in this patch if you use std::unique_ptr instead of RefPtr.

int m_member { 0 }; is more explicit.  I&apos;m not sure what people prefer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350505</commentid>
    <comment_count>5</comment_count>
      <attachid>321156</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-09-19 14:21:38 -0700</bug_when>
    <thetext>Comment on attachment 321156
Fix

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

&gt; Source/WebCore/platform/network/curl/FormDataStreamCurl.cpp:8
&gt;   * All rights reserved.
&gt; + * Copyright (C) 2017 Sony Interactive Entertainment Inc.

Copyright should probably go above the All rights reserved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350517</commentid>
    <comment_count>6</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2017-09-19 14:39:01 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #4)
&gt; FormDataStream is not refcounted, and might not need to be made refcounted
&gt; like you did in this patch if you use std::unique_ptr instead of RefPtr.

My apology I misunderstood you mentioned FromData, not FormDataStream. 

&gt; int m_member { 0 }; is more explicit.  I&apos;m not sure what people prefer.

Okay for me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350670</commentid>
    <comment_count>7</comment_count>
      <attachid>321295</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2017-09-19 22:56:40 -0700</bug_when>
    <thetext>Created attachment 321295
fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350825</commentid>
    <comment_count>8</comment_count>
      <attachid>321295</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-20 10:31:10 -0700</bug_when>
    <thetext>Comment on attachment 321295
fix

Clearing flags on attachment: 321295

Committed r222269: &lt;http://trac.webkit.org/changeset/222269&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350826</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-20 10:31:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353310</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:20:33 -0700</bug_when>
    <thetext>&lt;rdar://problem/34693088&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321156</attachid>
            <date>2017-09-18 17:12:45 -0700</date>
            <delta_ts>2017-09-19 22:56:40 -0700</delta_ts>
            <desc>Fix</desc>
            <filename>177111-1.diff</filename>
            <type>text/plain</type>
            <size>8350</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4YWE1ZWUwMzg2YS4uMTQ0NTM4YmNlMzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAxNy0wOS0xOCAgQmFzdWtlIFN1enVraSAgPEJhc3VrZS5TdXp1a2lAc29u
eS5jb20+CisKKyAgICAgICAgW0N1cmxdIGltcHJvdmUgdGhlIGltcGxlbWVudGF0aW9uIG9mIEZv
cm1EYXRhU3RyZWFtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzcxMTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9Gb3JtRGF0YVN0cmVhbUN1cmwuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9ybURhdGFTdHJlYW06OnJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6
Rm9ybURhdGFTdHJlYW06Omhhc01vcmVFbGVtZW50cyBjb25zdCk6CisgICAgICAgICogcGxhdGZv
cm0vbmV0d29yay9jdXJsL0Zvcm1EYXRhU3RyZWFtQ3VybC5oOgorICAgICAgICAoV2ViQ29yZTo6
Rm9ybURhdGFTdHJlYW06OnNldEhUVFBCb2R5KToKKyAgICAgICAgKFdlYkNvcmU6OkZvcm1EYXRh
U3RyZWFtOjpGb3JtRGF0YVN0cmVhbSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vbmV0
d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybERlbGVnYXRlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlSGFuZGxlQ3VybERlbGVnYXRlOjpSZXNvdXJjZUhhbmRsZUN1cmxEZWxlZ2F0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZTo6cHJlcGFy
ZVNlbmREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlQ3VybERlbGVnYXRl
OjpkaWRGaW5pc2gpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVDdXJsRGVsZWdh
dGU6OmRpZEZhaWwpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVDdXJsRGVsZWdh
dGU6OnNldHVwRm9ybURhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNv
dXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZS5oOgorCiAyMDE3LTA5LTE4ICBSeWFuIEhhZGRhZCAgPHJ5
YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIy
MjIxNzAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwv
Rm9ybURhdGFTdHJlYW1DdXJsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y3VybC9Gb3JtRGF0YVN0cmVhbUN1cmwuY3BwCmluZGV4IDk4ZGQ0OTM1YWU2Li42NzZiNDhhZjAy
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0Zvcm1E
YXRhU3RyZWFtQ3VybC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
dXJsL0Zvcm1EYXRhU3RyZWFtQ3VybC5jcHAKQEAgLTUsNiArNSw3IEBACiAgKiBDb3B5cmlnaHQg
KEMpIDIwMDcgSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIKICAqIENvcHlyaWdodCAoQykgMjAw
OCBDb2xsYWJvcmEgTHRkLgogICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxNyBTb255IEludGVyYWN0aXZlIEVudGVydGFpbm1lbnQgSW5jLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSwxNCArMzAsMTEgQEAKICAqLwogCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiRm9ybURhdGFTdHJlYW1DdXJsLmgiCiAKICNpZiBVU0UoQ1VS
TCkKIAotI2luY2x1ZGUgIkZvcm1EYXRhU3RyZWFtQ3VybC5oIgotCiAjaW5jbHVkZSAiRm9ybURh
dGEuaCIKLSNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9D
U3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTMsOCArNTEsOCBAQCBzaXpl
X3QgRm9ybURhdGFTdHJlYW06OnJlYWQodm9pZCogcHRyLCBzaXplX3QgYmxvY2tTaXplLCBzaXpl
X3QgbnVtYmVyT2ZCbG9ja3MpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgVmVjdG9yPEZvcm1E
YXRhRWxlbWVudD4gZWxlbWVudHM7Ci0gICAgaWYgKG1fcmVzb3VyY2VIYW5kbGUtPmZpcnN0UmVx
dWVzdCgpLmh0dHBCb2R5KCkpCi0gICAgICAgIGVsZW1lbnRzID0gbV9yZXNvdXJjZUhhbmRsZS0+
Zmlyc3RSZXF1ZXN0KCkuaHR0cEJvZHkoKS0+ZWxlbWVudHMoKTsKKyAgICBpZiAobV9mb3JtRGF0
YSkKKyAgICAgICAgZWxlbWVudHMgPSBtX2Zvcm1EYXRhLT5lbGVtZW50cygpOwogCiAgICAgaWYg
KG1fZm9ybURhdGFFbGVtZW50SW5kZXggPj0gZWxlbWVudHMuc2l6ZSgpKQogICAgICAgICByZXR1
cm4gMDsKQEAgLTEwNyw4ICsxMDUsOCBAQCBzaXplX3QgRm9ybURhdGFTdHJlYW06OnJlYWQodm9p
ZCogcHRyLCBzaXplX3QgYmxvY2tTaXplLCBzaXplX3QgbnVtYmVyT2ZCbG9ja3MpCiBib29sIEZv
cm1EYXRhU3RyZWFtOjpoYXNNb3JlRWxlbWVudHMoKSBjb25zdAogewogICAgIFZlY3RvcjxGb3Jt
RGF0YUVsZW1lbnQ+IGVsZW1lbnRzOwotICAgIGlmIChtX3Jlc291cmNlSGFuZGxlLT5maXJzdFJl
cXVlc3QoKS5odHRwQm9keSgpKQotICAgICAgICBlbGVtZW50cyA9IG1fcmVzb3VyY2VIYW5kbGUt
PmZpcnN0UmVxdWVzdCgpLmh0dHBCb2R5KCktPmVsZW1lbnRzKCk7CisgICAgaWYgKG1fZm9ybURh
dGEpCisgICAgICAgIGVsZW1lbnRzID0gbV9mb3JtRGF0YS0+ZWxlbWVudHMoKTsKIAogICAgIHJl
dHVybiBtX2Zvcm1EYXRhRWxlbWVudEluZGV4IDwgZWxlbWVudHMuc2l6ZSgpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0Zvcm1EYXRhU3RyZWFt
Q3VybC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0Zvcm1EYXRhU3Ry
ZWFtQ3VybC5oCmluZGV4IDk2YWZiOTQ2ZDJlLi4wYzJkNmI5M2RiNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0Zvcm1EYXRhU3RyZWFtQ3VybC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9Gb3JtRGF0YVN0cmVhbUN1
cmwuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNyBTb255IEludGVy
YWN0aXZlIEVudGVydGFpbm1lbnQgSW5jLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yMiw0MiArMjMsMzMgQEAKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAq
LwotI2lmbmRlZiBGb3JtRGF0YVN0cmVhbUN1cmxfaAotI2RlZmluZSBGb3JtRGF0YVN0cmVhbUN1
cmxfaAogCi0jaW5jbHVkZSAiY29uZmlnLmgiCisjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkZp
bGVTeXN0ZW0uaCIKLSNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgPHN0ZGlv
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBGb3JtRGF0YVN0cmVhbSB7Ci1wdWJsaWM6Ci0gICAgRm9ybURhdGFTdHJlYW0oUmVz
b3VyY2VIYW5kbGUqIGhhbmRsZSkKLSAgICAgICAgOiBtX3Jlc291cmNlSGFuZGxlKGhhbmRsZSkK
LSAgICAgICAgLCBtX2ZpbGUoMCkKLSAgICAgICAgLCBtX2Zvcm1EYXRhRWxlbWVudEluZGV4KDAp
Ci0gICAgICAgICwgbV9mb3JtRGF0YUVsZW1lbnREYXRhT2Zmc2V0KDApCi0gICAgewotICAgIH0K
K2NsYXNzIEZvcm1EYXRhOwogCitjbGFzcyBGb3JtRGF0YVN0cmVhbSA6IHB1YmxpYyBSZWZDb3Vu
dGVkPEZvcm1EYXRhU3RyZWFtPiB7CitwdWJsaWM6CisgICAgRm9ybURhdGFTdHJlYW0oKSA9IGRl
ZmF1bHQ7CiAgICAgfkZvcm1EYXRhU3RyZWFtKCk7CiAKKyAgICB2b2lkIHNldEhUVFBCb2R5KEZv
cm1EYXRhKiBmb3JtRGF0YSkgeyBtX2Zvcm1EYXRhID0gZm9ybURhdGE7IH0KICAgICBzaXplX3Qg
cmVhZCh2b2lkKiBwdHIsIHNpemVfdCBibG9ja1NpemUsIHNpemVfdCBudW1iZXJPZkJsb2Nrcyk7
CiAgICAgYm9vbCBoYXNNb3JlRWxlbWVudHMoKSBjb25zdDsKIAogcHJpdmF0ZToKLSAgICAvLyBX
ZSBjYW4gaG9sZCBhIHdlYWsgcmVmZXJlbmNlIHRvIG91ciBSZXNvdXJjZUhhbmRsZSBhcyBpdCBo
b2xkcyBhIHN0cm9uZyByZWZlcmVuY2UKLSAgICAvLyB0byB1cyB0aHJvdWdoIGl0cyBSZXNvdXJj
ZUhhbmRsZUludGVybmFsLgotICAgIFJlc291cmNlSGFuZGxlKiBtX3Jlc291cmNlSGFuZGxlOwor
ICAgIC8vIFdlIGNhbiBob2xkIGEgd2VhayByZWZlcmVuY2UgdG8gb3VyIFJlc291cmNlUmVxdWVz
dCBhcyBpdCBob2xkcyBhIHN0cm9uZyByZWZlcmVuY2UKKyAgICAvLyB0byB1cyB0aHJvdWdoIGl0
cyBvd25lci4KKyAgICBGb3JtRGF0YSogbV9mb3JtRGF0YSB7IG51bGxwdHIgfTsKIAotICAgIEZJ
TEUqIG1fZmlsZTsKLSAgICBzaXplX3QgbV9mb3JtRGF0YUVsZW1lbnRJbmRleDsKLSAgICBzaXpl
X3QgbV9mb3JtRGF0YUVsZW1lbnREYXRhT2Zmc2V0OworICAgIEZJTEUqIG1fZmlsZSB7IG51bGxw
dHIgfTsKKyAgICBzaXplX3QgbV9mb3JtRGF0YUVsZW1lbnRJbmRleCB7IDAgfTsKKyAgICBzaXpl
X3QgbV9mb3JtRGF0YUVsZW1lbnREYXRhT2Zmc2V0IHsgMCB9OwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRm9ybURhdGFTdHJlYW1DdXJsX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZUN1cmxE
ZWxlZ2F0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3Vy
Y2VIYW5kbGVDdXJsRGVsZWdhdGUuY3BwCmluZGV4IDNkMjg2MTZkYWJjLi40MDBkZmVlYWNiOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNl
SGFuZGxlQ3VybERlbGVnYXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJsRGVsZWdhdGUuY3BwCkBAIC00OSw3ICs0OSw2IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUmVzb3VyY2VIYW5kbGVDdXJsRGVsZWdhdGU6OlJlc291
cmNlSGFuZGxlQ3VybERlbGVnYXRlKFJlc291cmNlSGFuZGxlKiBoYW5kbGUpCiAgICAgOiBtX2hh
bmRsZShoYW5kbGUpCi0gICAgLCBtX2Zvcm1EYXRhU3RyZWFtKGhhbmRsZSkKICAgICAsIG1fZmly
c3RSZXF1ZXN0KGhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBt
X2N1c3RvbUhUVFBIZWFkZXJGaWVsZHMobV9maXJzdFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygp
Lmlzb2xhdGVkQ29weSgpKQogICAgICwgbV9zaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZShoYW5k
bGUtPnNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKCkpCkBAIC00ODksMTMgKzQ4OCwxNiBAQCB2
b2lkIFJlc291cmNlSGFuZGxlQ3VybERlbGVnYXRlOjpwcmVwYXJlU2VuZERhdGEoY2hhciogYnVm
ZmVyLCBzaXplX3QgYmxvY2tTaXplLAogCiAgICAgc3RkOjp1bmlxdWVfbG9jazxMb2NrPiBsb2Nr
KG1fd29ya2VyVGhyZWFkTXV0ZXgpOwogCi0gICAgaWYgKCFtX2Zvcm1EYXRhU3RyZWFtLmhhc01v
cmVFbGVtZW50cygpKQorICAgIGlmICghbV9mb3JtRGF0YVN0cmVhbSB8fCAhbV9mb3JtRGF0YVN0
cmVhbS0+aGFzTW9yZUVsZW1lbnRzKCkpIHsKKyAgICAgICAgbV93b3JrZXJUaHJlYWRDb25kaXRp
b25WYXJpYWJsZS5ub3RpZnlPbmUoKTsKICAgICAgICAgcmV0dXJuOworICAgIH0KIAotICAgIHNp
emVfdCBzaXplID0gbV9mb3JtRGF0YVN0cmVhbS5yZWFkKGJ1ZmZlciwgYmxvY2tTaXplLCBudW1i
ZXJPZkJsb2Nrcyk7CisgICAgc2l6ZV90IHNpemUgPSBtX2Zvcm1EYXRhU3RyZWFtLT5yZWFkKGJ1
ZmZlciwgYmxvY2tTaXplLCBudW1iZXJPZkJsb2Nrcyk7CiAgICAgaWYgKCFzaXplKSB7CiAgICAg
ICAgIC8vIFNvbWV0aGluZyB3ZW50IHdyb25nIHNvIGNhbmNlbCB0aGUgam9iLgogICAgICAgICBt
X2hhbmRsZS0+Y2FuY2VsKCk7CisgICAgICAgIG1fd29ya2VyVGhyZWFkQ29uZGl0aW9uVmFyaWFi
bGUubm90aWZ5T25lKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTUwNyw2ICs1MDks
OCBAQCB2b2lkIFJlc291cmNlSGFuZGxlQ3VybERlbGVnYXRlOjpkaWRGaW5pc2goTmV0d29ya0xv
YWRNZXRyaWNzIG5ldHdvcmtMb2FkTWV0cmljcwogewogICAgIHJlc3BvbnNlKCkuc2V0RGVwcmVj
YXRlZE5ldHdvcmtMb2FkTWV0cmljcyhuZXR3b3JrTG9hZE1ldHJpY3MpOwogCisgICAgbV9mb3Jt
RGF0YVN0cmVhbSA9IG51bGxwdHI7CisKICAgICBpZiAoIW1faGFuZGxlKQogICAgICAgICByZXR1
cm47CiAKQEAgLTUyNyw2ICs1MzEsOCBAQCB2b2lkIFJlc291cmNlSGFuZGxlQ3VybERlbGVnYXRl
OjpkaWRGaW5pc2goTmV0d29ya0xvYWRNZXRyaWNzIG5ldHdvcmtMb2FkTWV0cmljcwogCiB2b2lk
IFJlc291cmNlSGFuZGxlQ3VybERlbGVnYXRlOjpkaWRGYWlsKGNvbnN0IFN0cmluZyYgZG9tYWlu
LCBpbnQgZXJyb3JDb2RlLCBjb25zdCBVUkwmIGZhaWxpbmdVUkwsIGNvbnN0IFN0cmluZyYgbG9j
YWxpemVkRGVzY3JpcHRpb24sIHVuc2lnbmVkIHNzbEVycm9ycykKIHsKKyAgICBtX2Zvcm1EYXRh
U3RyZWFtID0gbnVsbHB0cjsKKwogICAgIGlmICghbV9oYW5kbGUpCiAgICAgICAgIHJldHVybjsK
IApAQCAtNjgyLDYgKzY4OCw5IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGVDdXJsRGVsZWdhdGU6OnNl
dHVwRm9ybURhdGEoYm9vbCBpc1Bvc3RSZXF1ZXN0KQogICAgICAgICAgICAgbV9jdXJsSGFuZGxl
LnNldEluRmlsZVNpemVMYXJnZShzaXplKTsKICAgICB9CiAKKyAgICBtX2Zvcm1EYXRhU3RyZWFt
ID0gYWRvcHRSZWYobmV3IEZvcm1EYXRhU3RyZWFtKCkpOworICAgIG1fZm9ybURhdGFTdHJlYW0t
PnNldEhUVFBCb2R5KG1fZmlyc3RSZXF1ZXN0Lmh0dHBCb2R5KCkpOworCiAgICAgbV9jdXJsSGFu
ZGxlLnNldFJlYWRDYWxsYmFja0Z1bmN0aW9uKHdpbGxTZW5kRGF0YUNhbGxiYWNrLCB0aGlzKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jl
c291cmNlSGFuZGxlQ3VybERlbGVnYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJsRGVsZWdhdGUuaAppbmRleCA3ZmUyZTA5MDIwYi4u
MjdlNjg2NDhjYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y3VybC9SZXNvdXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZS5oCkBAIC00Miw2
ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTXVsdGlwYXJ0SGFuZGxlOwog
Y2xhc3MgUHJvdGVjdGlvblNwYWNlOworY2xhc3MgUmVzb3VyY2VFcnJvcjsKIGNsYXNzIFJlc291
cmNlSGFuZGxlOwogY2xhc3MgVGhyZWFkU2FmZURhdGFCdWZmZXI7CiAKQEAgLTEwNSw3ICsxMDYs
NyBAQCBwcml2YXRlOgogCiAgICAgLy8gVXNlZCBieSBtYWluIHRocmVhZC4KICAgICBSZXNvdXJj
ZUhhbmRsZSogbV9oYW5kbGU7Ci0gICAgRm9ybURhdGFTdHJlYW0gbV9mb3JtRGF0YVN0cmVhbTsK
KyAgICBSZWZQdHI8Rm9ybURhdGFTdHJlYW0+IG1fZm9ybURhdGFTdHJlYW0geyBudWxscHRyIH07
CiAgICAgc3RkOjp1bmlxdWVfcHRyPE11bHRpcGFydEhhbmRsZT4gbV9tdWx0aXBhcnRIYW5kbGU7
CiAgICAgdW5zaWduZWQgc2hvcnQgbV9hdXRoRmFpbHVyZUNvdW50IHsgMCB9OwogICAgIEN1cmxK
b2JUaWNrZXQgbV9qb2IgeyBudWxscHRyIH07Cg==
</data>
<flag name="review"
          id="341188"
          type_id="1"
          status="-"
          setter="achristensen"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321295</attachid>
            <date>2017-09-19 22:56:40 -0700</date>
            <delta_ts>2017-09-20 10:31:10 -0700</delta_ts>
            <desc>fix</desc>
            <filename>177111-2.diff</filename>
            <type>text/plain</type>
            <size>8161</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2NDQ2MzhlYzMxNy4uOTdkMjU5NjNlMTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAxNy0wOS0xOSAgQmFzdWtlIFN1enVraSAgPEJhc3VrZS5TdXp1a2lAc29u
eS5jb20+CisKKyAgICAgICAgW0N1cmxdIGltcHJvdmUgdGhlIGltcGxlbWVudGF0aW9uIG9mIEZv
cm1EYXRhU3RyZWFtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzcxMTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9Gb3JtRGF0YVN0cmVhbUN1cmwuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9ybURhdGFTdHJlYW06OnJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6
Rm9ybURhdGFTdHJlYW06Omhhc01vcmVFbGVtZW50cyBjb25zdCk6CisgICAgICAgICogcGxhdGZv
cm0vbmV0d29yay9jdXJsL0Zvcm1EYXRhU3RyZWFtQ3VybC5oOgorICAgICAgICAoV2ViQ29yZTo6
Rm9ybURhdGFTdHJlYW06OnNldEhUVFBCb2R5KToKKyAgICAgICAgKFdlYkNvcmU6OkZvcm1EYXRh
U3RyZWFtOjpGb3JtRGF0YVN0cmVhbSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vbmV0
d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybERlbGVnYXRlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlSGFuZGxlQ3VybERlbGVnYXRlOjpSZXNvdXJjZUhhbmRsZUN1cmxEZWxlZ2F0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZTo6cHJlcGFy
ZVNlbmREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlQ3VybERlbGVnYXRl
OjpkaWRGaW5pc2gpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVDdXJsRGVsZWdh
dGU6OmRpZEZhaWwpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVDdXJsRGVsZWdh
dGU6OnNldHVwRm9ybURhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNv
dXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZS5oOgorCiAyMDE3LTA5LTE5ICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIExheWVyaW5nIHZpb2xhdGlvbiBpbiBFZGl0
b3I6OmNyZWF0ZUZyYWdtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2N1cmwvRm9ybURhdGFTdHJlYW1DdXJsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY3VybC9Gb3JtRGF0YVN0cmVhbUN1cmwuY3BwCmluZGV4IDk4ZGQ0OTM1YWU2
Li44YzhkZDQyNmJjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jdXJsL0Zvcm1EYXRhU3RyZWFtQ3VybC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jdXJsL0Zvcm1EYXRhU3RyZWFtQ3VybC5jcHAKQEAgLTQsNiArNCw3IEBACiAg
KiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxwIFRva2VyIDxhbHAudG9rZXJAY29sbGFib3JhLmNvLnVr
PgogICogQ29weXJpZ2h0IChDKSAyMDA3IEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDggQ29sbGFib3JhIEx0ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNyBT
b255IEludGVyYWN0aXZlIEVudGVydGFpbm1lbnQgSW5jLgogICogQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTI5LDE0ICszMCwxMSBAQAogICovCiAKICNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJGb3JtRGF0YVN0cmVhbUN1cmwuaCIKIAogI2lmIFVTRShD
VVJMKQogCi0jaW5jbHVkZSAiRm9ybURhdGFTdHJlYW1DdXJsLmgiCi0KICNpbmNsdWRlICJGb3Jt
RGF0YS5oIgotI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0
L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01Myw4ICs1MSw4IEBAIHNp
emVfdCBGb3JtRGF0YVN0cmVhbTo6cmVhZCh2b2lkKiBwdHIsIHNpemVfdCBibG9ja1NpemUsIHNp
emVfdCBudW1iZXJPZkJsb2NrcykKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBWZWN0b3I8Rm9y
bURhdGFFbGVtZW50PiBlbGVtZW50czsKLSAgICBpZiAobV9yZXNvdXJjZUhhbmRsZS0+Zmlyc3RS
ZXF1ZXN0KCkuaHR0cEJvZHkoKSkKLSAgICAgICAgZWxlbWVudHMgPSBtX3Jlc291cmNlSGFuZGxl
LT5maXJzdFJlcXVlc3QoKS5odHRwQm9keSgpLT5lbGVtZW50cygpOworICAgIGlmIChtX2Zvcm1E
YXRhKQorICAgICAgICBlbGVtZW50cyA9IG1fZm9ybURhdGEtPmVsZW1lbnRzKCk7CiAKICAgICBp
ZiAobV9mb3JtRGF0YUVsZW1lbnRJbmRleCA+PSBlbGVtZW50cy5zaXplKCkpCiAgICAgICAgIHJl
dHVybiAwOwpAQCAtMTA3LDggKzEwNSw4IEBAIHNpemVfdCBGb3JtRGF0YVN0cmVhbTo6cmVhZCh2
b2lkKiBwdHIsIHNpemVfdCBibG9ja1NpemUsIHNpemVfdCBudW1iZXJPZkJsb2NrcykKIGJvb2wg
Rm9ybURhdGFTdHJlYW06Omhhc01vcmVFbGVtZW50cygpIGNvbnN0CiB7CiAgICAgVmVjdG9yPEZv
cm1EYXRhRWxlbWVudD4gZWxlbWVudHM7Ci0gICAgaWYgKG1fcmVzb3VyY2VIYW5kbGUtPmZpcnN0
UmVxdWVzdCgpLmh0dHBCb2R5KCkpCi0gICAgICAgIGVsZW1lbnRzID0gbV9yZXNvdXJjZUhhbmRs
ZS0+Zmlyc3RSZXF1ZXN0KCkuaHR0cEJvZHkoKS0+ZWxlbWVudHMoKTsKKyAgICBpZiAobV9mb3Jt
RGF0YSkKKyAgICAgICAgZWxlbWVudHMgPSBtX2Zvcm1EYXRhLT5lbGVtZW50cygpOwogCiAgICAg
cmV0dXJuIG1fZm9ybURhdGFFbGVtZW50SW5kZXggPCBlbGVtZW50cy5zaXplKCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvRm9ybURhdGFTdHJl
YW1DdXJsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvRm9ybURhdGFT
dHJlYW1DdXJsLmgKaW5kZXggOTZhZmI5NDZkMmUuLmJmZjRjOWIwMDUzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvRm9ybURhdGFTdHJlYW1DdXJsLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0Zvcm1EYXRhU3RyZWFt
Q3VybC5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3IFNvbnkgSW50
ZXJhY3RpdmUgRW50ZXJ0YWlubWVudCBJbmMuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTIyLDQyICsyMywzMiBAQAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
ICovCi0jaWZuZGVmIEZvcm1EYXRhU3RyZWFtQ3VybF9oCi0jZGVmaW5lIEZvcm1EYXRhU3RyZWFt
Q3VybF9oCiAKLSNpbmNsdWRlICJjb25maWcuaCIKKyNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAi
RmlsZVN5c3RlbS5oIgotI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSA8c3Rk
aW8uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBGb3JtRGF0YTsKKwogY2xhc3Mg
Rm9ybURhdGFTdHJlYW0gewogcHVibGljOgotICAgIEZvcm1EYXRhU3RyZWFtKFJlc291cmNlSGFu
ZGxlKiBoYW5kbGUpCi0gICAgICAgIDogbV9yZXNvdXJjZUhhbmRsZShoYW5kbGUpCi0gICAgICAg
ICwgbV9maWxlKDApCi0gICAgICAgICwgbV9mb3JtRGF0YUVsZW1lbnRJbmRleCgwKQotICAgICAg
ICAsIG1fZm9ybURhdGFFbGVtZW50RGF0YU9mZnNldCgwKQotICAgIHsKLSAgICB9Ci0KKyAgICBG
b3JtRGF0YVN0cmVhbSgpID0gZGVmYXVsdDsKICAgICB+Rm9ybURhdGFTdHJlYW0oKTsKIAorICAg
IHZvaWQgc2V0SFRUUEJvZHkoRm9ybURhdGEqIGZvcm1EYXRhKSB7IG1fZm9ybURhdGEgPSBmb3Jt
RGF0YTsgfQogICAgIHNpemVfdCByZWFkKHZvaWQqIHB0ciwgc2l6ZV90IGJsb2NrU2l6ZSwgc2l6
ZV90IG51bWJlck9mQmxvY2tzKTsKICAgICBib29sIGhhc01vcmVFbGVtZW50cygpIGNvbnN0Owog
CiBwcml2YXRlOgotICAgIC8vIFdlIGNhbiBob2xkIGEgd2VhayByZWZlcmVuY2UgdG8gb3VyIFJl
c291cmNlSGFuZGxlIGFzIGl0IGhvbGRzIGEgc3Ryb25nIHJlZmVyZW5jZQotICAgIC8vIHRvIHVz
IHRocm91Z2ggaXRzIFJlc291cmNlSGFuZGxlSW50ZXJuYWwuCi0gICAgUmVzb3VyY2VIYW5kbGUq
IG1fcmVzb3VyY2VIYW5kbGU7CisgICAgLy8gV2UgY2FuIGhvbGQgYSB3ZWFrIHJlZmVyZW5jZSB0
byBvdXIgUmVzb3VyY2VSZXF1ZXN0IGFzIGl0IGhvbGRzIGEgc3Ryb25nIHJlZmVyZW5jZQorICAg
IC8vIHRvIHVzIHRocm91Z2ggaXRzIG93bmVyLgorICAgIEZvcm1EYXRhKiBtX2Zvcm1EYXRhIHsg
fTsKIAotICAgIEZJTEUqIG1fZmlsZTsKLSAgICBzaXplX3QgbV9mb3JtRGF0YUVsZW1lbnRJbmRl
eDsKLSAgICBzaXplX3QgbV9mb3JtRGF0YUVsZW1lbnREYXRhT2Zmc2V0OworICAgIEZJTEUqIG1f
ZmlsZSB7IH07CisgICAgc2l6ZV90IG1fZm9ybURhdGFFbGVtZW50SW5kZXggeyAwIH07CisgICAg
c2l6ZV90IG1fZm9ybURhdGFFbGVtZW50RGF0YU9mZnNldCB7IDAgfTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEZvcm1EYXRhU3RyZWFtQ3VybF9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVD
dXJsRGVsZWdhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jl
c291cmNlSGFuZGxlQ3VybERlbGVnYXRlLmNwcAppbmRleCBlMWY0ZTYzMWUyMi4uNDkzYTkwNjM5
YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNv
dXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybERlbGVnYXRlLmNwcApAQCAtNDksNyArNDks
NiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFJlc291cmNlSGFuZGxlQ3VybERlbGVnYXRlOjpS
ZXNvdXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZShSZXNvdXJjZUhhbmRsZSogaGFuZGxlKQogICAgIDog
bV9oYW5kbGUoaGFuZGxlKQotICAgICwgbV9mb3JtRGF0YVN0cmVhbShoYW5kbGUpCiAgICAgLCBt
X2ZpcnN0UmVxdWVzdChoYW5kbGUtPmZpcnN0UmVxdWVzdCgpLmlzb2xhdGVkQ29weSgpKQogICAg
ICwgbV9jdXN0b21IVFRQSGVhZGVyRmllbGRzKG1fZmlyc3RSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVs
ZHMoKS5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2Uo
aGFuZGxlLT5zaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSgpKQpAQCAtNDI3LDEzICs0MjYsMTYg
QEAgdm9pZCBSZXNvdXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZTo6cHJlcGFyZVNlbmREYXRhKGNoYXIq
IGJ1ZmZlciwgc2l6ZV90IGJsb2NrU2l6ZSwKIAogICAgIHN0ZDo6dW5pcXVlX2xvY2s8TG9jaz4g
bG9jayhtX3dvcmtlclRocmVhZE11dGV4KTsKIAotICAgIGlmICghbV9mb3JtRGF0YVN0cmVhbS5o
YXNNb3JlRWxlbWVudHMoKSkKKyAgICBpZiAoIW1fZm9ybURhdGFTdHJlYW0gfHwgIW1fZm9ybURh
dGFTdHJlYW0tPmhhc01vcmVFbGVtZW50cygpKSB7CisgICAgICAgIG1fd29ya2VyVGhyZWFkQ29u
ZGl0aW9uVmFyaWFibGUubm90aWZ5T25lKCk7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKLSAg
ICBzaXplX3Qgc2l6ZSA9IG1fZm9ybURhdGFTdHJlYW0ucmVhZChidWZmZXIsIGJsb2NrU2l6ZSwg
bnVtYmVyT2ZCbG9ja3MpOworICAgIHNpemVfdCBzaXplID0gbV9mb3JtRGF0YVN0cmVhbS0+cmVh
ZChidWZmZXIsIGJsb2NrU2l6ZSwgbnVtYmVyT2ZCbG9ja3MpOwogICAgIGlmICghc2l6ZSkgewog
ICAgICAgICAvLyBTb21ldGhpbmcgd2VudCB3cm9uZyBzbyBjYW5jZWwgdGhlIGpvYi4KICAgICAg
ICAgbV9oYW5kbGUtPmNhbmNlbCgpOworICAgICAgICBtX3dvcmtlclRocmVhZENvbmRpdGlvblZh
cmlhYmxlLm5vdGlmeU9uZSgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC00NDUsNiAr
NDQ3LDggQEAgdm9pZCBSZXNvdXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZTo6ZGlkRmluaXNoKE5ldHdv
cmtMb2FkTWV0cmljcyBuZXR3b3JrTG9hZE1ldHJpY3MKIHsKICAgICByZXNwb25zZSgpLnNldERl
cHJlY2F0ZWROZXR3b3JrTG9hZE1ldHJpY3MobmV0d29ya0xvYWRNZXRyaWNzKTsKIAorICAgIG1f
Zm9ybURhdGFTdHJlYW0gPSBudWxscHRyOworCiAgICAgaWYgKCFtX2hhbmRsZSkKICAgICAgICAg
cmV0dXJuOwogCkBAIC00NjUsNiArNDY5LDggQEAgdm9pZCBSZXNvdXJjZUhhbmRsZUN1cmxEZWxl
Z2F0ZTo6ZGlkRmluaXNoKE5ldHdvcmtMb2FkTWV0cmljcyBuZXR3b3JrTG9hZE1ldHJpY3MKIAog
dm9pZCBSZXNvdXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZTo6ZGlkRmFpbChjb25zdCBSZXNvdXJjZUVy
cm9yJiByZXNvdXJjZUVycm9yKQogeworICAgIG1fZm9ybURhdGFTdHJlYW0gPSBudWxscHRyOwor
CiAgICAgaWYgKCFtX2hhbmRsZSkKICAgICAgICAgcmV0dXJuOwogCkBAIC02MjAsNiArNjI2LDkg
QEAgdm9pZCBSZXNvdXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZTo6c2V0dXBGb3JtRGF0YShib29sIGlz
UG9zdFJlcXVlc3QpCiAgICAgICAgICAgICBtX2N1cmxIYW5kbGUuc2V0SW5GaWxlU2l6ZUxhcmdl
KHNpemUpOwogICAgIH0KIAorICAgIG1fZm9ybURhdGFTdHJlYW0gPSBzdGQ6Om1ha2VfdW5pcXVl
PEZvcm1EYXRhU3RyZWFtPigpOworICAgIG1fZm9ybURhdGFTdHJlYW0tPnNldEhUVFBCb2R5KG1f
Zmlyc3RSZXF1ZXN0Lmh0dHBCb2R5KCkpOworCiAgICAgbV9jdXJsSGFuZGxlLnNldFJlYWRDYWxs
YmFja0Z1bmN0aW9uKHdpbGxTZW5kRGF0YUNhbGxiYWNrLCB0aGlzKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3Vy
bERlbGVnYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3Vy
Y2VIYW5kbGVDdXJsRGVsZWdhdGUuaAppbmRleCA5MTViMjM4YjM2Mi4uN2NmMTZjNjM5M2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhh
bmRsZUN1cmxEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y3VybC9SZXNvdXJjZUhhbmRsZUN1cmxEZWxlZ2F0ZS5oCkBAIC00Miw2ICs0Miw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTXVsdGlwYXJ0SGFuZGxlOwogY2xhc3MgUHJvdGVjdGlv
blNwYWNlOworY2xhc3MgUmVzb3VyY2VFcnJvcjsKIGNsYXNzIFJlc291cmNlSGFuZGxlOwogY2xh
c3MgVGhyZWFkU2FmZURhdGFCdWZmZXI7CiAKQEAgLTEwNCw3ICsxMDUsNyBAQCBwcml2YXRlOgog
CiAgICAgLy8gVXNlZCBieSBtYWluIHRocmVhZC4KICAgICBSZXNvdXJjZUhhbmRsZSogbV9oYW5k
bGU7Ci0gICAgRm9ybURhdGFTdHJlYW0gbV9mb3JtRGF0YVN0cmVhbTsKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8Rm9ybURhdGFTdHJlYW0+IG1fZm9ybURhdGFTdHJlYW07CiAgICAgc3RkOjp1bmlxdWVf
cHRyPE11bHRpcGFydEhhbmRsZT4gbV9tdWx0aXBhcnRIYW5kbGU7CiAgICAgdW5zaWduZWQgc2hv
cnQgbV9hdXRoRmFpbHVyZUNvdW50IHsgMCB9OwogICAgIEN1cmxKb2JUaWNrZXQgbV9qb2IgeyBu
dWxscHRyIH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>