<?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>162891</bug_id>
          
          <creation_ts>2016-10-04 00:55:04 -0700</creation_ts>
          <short_desc>[SOUP] Move request HTTP body handling to ResourceRequestSoup and simplify it</short_desc>
          <delta_ts>2016-10-05 00:11:16 -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 Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, Soup</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>commit-queue</cc>
    
    <cc>danw</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1236089</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-10-04 00:55:04 -0700</bug_when>
    <thetext>We are currently adding the HTTP body to the message in ResourceHandleSoup, but we could do it as part of the ResourceRequest::updateSoupMessage() method, since the HTTP body is indeed part of the request.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236097</commentid>
    <comment_count>1</comment_count>
      <attachid>290577</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-10-04 01:04:30 -0700</bug_when>
    <thetext>Created attachment 290577
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236183</commentid>
    <comment_count>2</comment_count>
      <attachid>290577</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-10-04 08:06:38 -0700</bug_when>
    <thetext>Comment on attachment 290577
Patch

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

&gt; Source/WebCore/platform/soup/SharedBufferSoup.cpp:43
&gt; +    if (m_soupBuffer &amp;&amp; !offset &amp;&amp; !size) {

!size? Is this correct?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236189</commentid>
    <comment_count>3</comment_count>
      <attachid>290577</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-10-04 08:33:31 -0700</bug_when>
    <thetext>Comment on attachment 290577
Patch

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

&gt;&gt; Source/WebCore/platform/soup/SharedBufferSoup.cpp:43
&gt;&gt; +    if (m_soupBuffer &amp;&amp; !offset &amp;&amp; !size) {
&gt; 
&gt; !size? Is this correct?

Yes, it means this was called with no arguments, and then we just take a return a reference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236556</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-10-05 00:11:16 -0700</bug_when>
    <thetext>Committed r206805: &lt;http://trac.webkit.org/changeset/206805&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290577</attachid>
            <date>2016-10-04 01:04:30 -0700</date>
            <delta_ts>2016-10-04 14:18:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wcore-http-body.diff</filename>
            <type>text/plain</type>
            <size>14686</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiYTU5MGEzLi5jNzI0NmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMg
QEAKKzIwMTYtMTAtMDQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtTT1VQXSBNb3ZlIHJlcXVlc3QgSFRUUCBib2R5IGhhbmRsaW5nIHRvIFJl
c291cmNlUmVxdWVzdFNvdXAgYW5kIHNpbXBsaWZ5IGl0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI4OTEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBhcmUgY3VycmVudGx5IGFkZGluZyB0aGUgSFRU
UCBib2R5IHRvIHRoZSBtZXNzYWdlIGluIFJlc291cmNlSGFuZGxlU291cCwgYnV0IHdlIGNvdWxk
IGRvIGl0IGFzIHBhcnQgb2YgdGhlCisgICAgICAgIFJlc291cmNlUmVxdWVzdDo6dXBkYXRlU291
cE1lc3NhZ2UoKSBtZXRob2QsIHNpbmNlIHRoZSBIVFRQIGJvZHkgaXMgaW5kZWVkIHBhcnQgb2Yg
dGhlIHJlcXVlc3QuIFRoZSBjb2RlIGNhbiBiZQorICAgICAgICBhbHNvIHNpbXBsaWZpZWQsIGVz
cGVjaWFsbHkgdGhlIGhhbmRsaW5nIG9mIGZpbGVzLCBieSB1c2luZyBTaGFyZWRCdWZmZXIgdGhh
dCBhbHJlYWR5IG1tYXBzIHRoZSBmaWxlIHdoZW4KKyAgICAgICAgcG9zc2libGUsIGluc3RlYWQg
b2YgdXNpbmcgR01hcHBlZEZpbGUgQVBJLgorCisgICAgICAgICogcGxhdGZvcm0vU2hhcmVkQnVm
ZmVyLmg6IEFkZCBjcmVhdGVTb3VwQnVmZmVyKCkgbWV0aG9kLgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Y3JlYXRlU291cE1lc3NhZ2VGb3JIYW5kbGVBbmRSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6
Om1pbGlzZWNvbmRzU2luY2VSZXF1ZXN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJl
c291cmNlSGFuZGxlOjpkaWRTdGFydFJlcXVlc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6c3RhcnRpbmdDYWxsYmFjayk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpuZXR3b3Jr
RXZlbnRDYWxsYmFjayk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRs
ZTo6c3RhcnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnJl
bGVhc2VGb3JEb3dubG9hZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhh
bmRsZTo6dGltZW91dEZpcmVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUmVzb3VyY2VSZXF1ZXN0Lmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1Jlc291cmNlUmVxdWVzdFNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YXBwZW5kRW5jb2Rl
ZEJsb2JJdGVtVG9Tb3VwTWVzc2FnZUJvZHkpOiBIZWxwZXIgbWV0aG9kIHRvIGFwcGVuZCB0aGUg
YmxvYiB0byB0aGUgcmVxdWVzdCBtZXNzYWdlIGJvZHkuCisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3Q6OnVwZGF0ZVNvdXBNZXNzYWdlQm9keSk6IEFkZCBIVFRQQm9keSB0byB0aGUg
cmVxdWVzdCBtZXNzYWdlIGJvZHkuCisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6
OnVwZGF0ZVNvdXBNZXNzYWdlKTogQ2FsbCB1cGRhdGVTb3VwTWVzc2FnZUJvZHkoKSB0byBhbHNv
IHVwZGF0ZSB0aGUgYm9keS4KKyAgICAgICAgKiBwbGF0Zm9ybS9zb3VwL1NoYXJlZEJ1ZmZlclNv
dXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpjcmVhdGVTb3VwQnVmZmVy
KTogUmV0dXJucyBhIG5ldyBTb3VwQnVmZmVyIGZvciB0aGUgU2hhcmVkQnVmZmVyLgorCiAyMDE2
LTEwLTAzICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbU09VUF0gUmVtb3ZlIHVudXNlZCBtZXRob2RzIHRvU291cE1lc3NhZ2UgZnJvbSBSZXNv
dXJjZVJlcXVlc3QvUmVzcG9uc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1NoYXJlZEJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmgK
aW5kZXggNDg5OTg5YS4uZDkyZTNhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2hhcmVkQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVm
ZmVyLmgKQEAgLTczLDYgKzczLDcgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBVU0UoU09VUCkK
KyAgICBHVW5pcXVlUHRyPFNvdXBCdWZmZXI+IGNyZWF0ZVNvdXBCdWZmZXIodW5zaWduZWQgb2Zm
c2V0ID0gMCwgdW5zaWduZWQgc2l6ZSA9IDApOwogICAgIHN0YXRpYyBSZWY8U2hhcmVkQnVmZmVy
PiB3cmFwU291cEJ1ZmZlcihTb3VwQnVmZmVyKik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3Vw
LmNwcAppbmRleCBiY2Q3NzU5Li4xODQ4YWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApAQCAt
NjMsOSArNjMsNiBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L0Jhc2U2NC5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L0NTdHJpbmcuaD4KIAotI2luY2x1ZGUgIkJsb2JEYXRhLmgiCi0jaW5jbHVkZSAiQmxv
YlJlZ2lzdHJ5SW1wbC5oIgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBz
aXplX3QgZ0RlZmF1bHRSZWFkQnVmZmVyU2l6ZSA9IDgxOTI7CkBAIC02MTQsOTYgKzYxMSw2IEBA
IHN0YXRpYyB2b2lkIGNvbnRpbnVlQWZ0ZXJEaWRSZWNlaXZlUmVzcG9uc2UoUmVzb3VyY2VIYW5k
bGUqIGhhbmRsZSkKICAgICAgICAgR19QUklPUklUWV9ERUZBVUxULCBkLT5tX2NhbmNlbGxhYmxl
LmdldCgpLCByZWFkQ2FsbGJhY2ssIGhhbmRsZSk7CiB9CiAKLXN0YXRpYyBib29sIGFkZEZpbGVU
b1NvdXBNZXNzYWdlQm9keShTb3VwTWVzc2FnZSogbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBmaWxl
TmFtZVN0cmluZywgc2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aFRvU2VuZCwgdW5zaWduZWQg
bG9uZyYgdG90YWxCb2R5U2l6ZSkKLXsKLSAgICBHVW5pcXVlT3V0UHRyPEdFcnJvcj4gZXJyb3I7
Ci0gICAgQ1N0cmluZyBmaWxlTmFtZSA9IGZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbihmaWxlTmFt
ZVN0cmluZyk7Ci0gICAgR01hcHBlZEZpbGUqIGZpbGVNYXBwaW5nID0gZ19tYXBwZWRfZmlsZV9u
ZXcoZmlsZU5hbWUuZGF0YSgpLCBmYWxzZSwgJmVycm9yLm91dFB0cigpKTsKLSAgICBpZiAoZXJy
b3IpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGdzaXplIGJ1ZmZlckxlbmd0aCA9IGxl
bmd0aFRvU2VuZDsKLSAgICBpZiAoIWxlbmd0aFRvU2VuZCkKLSAgICAgICAgYnVmZmVyTGVuZ3Ro
ID0gZ19tYXBwZWRfZmlsZV9nZXRfbGVuZ3RoKGZpbGVNYXBwaW5nKTsKLSAgICB0b3RhbEJvZHlT
aXplICs9IGJ1ZmZlckxlbmd0aDsKLQotICAgIFNvdXBCdWZmZXIqIHNvdXBCdWZmZXIgPSBzb3Vw
X2J1ZmZlcl9uZXdfd2l0aF9vd25lcihnX21hcHBlZF9maWxlX2dldF9jb250ZW50cyhmaWxlTWFw
cGluZykgKyBvZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJ1ZmZlckxlbmd0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZU1hcHBpbmcsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nh
c3Q8R0Rlc3Ryb3lOb3RpZnk+KGdfbWFwcGVkX2ZpbGVfdW5yZWYpKTsKLSAgICBzb3VwX21lc3Nh
Z2VfYm9keV9hcHBlbmRfYnVmZmVyKG1lc3NhZ2UtPnJlcXVlc3RfYm9keSwgc291cEJ1ZmZlcik7
Ci0gICAgc291cF9idWZmZXJfZnJlZShzb3VwQnVmZmVyKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0K
LQotc3RhdGljIGJvb2wgYmxvYklzT3V0T2ZEYXRlKGNvbnN0IEJsb2JEYXRhSXRlbSYgYmxvYkl0
ZW0pCi17Ci0gICAgQVNTRVJUKGJsb2JJdGVtLnR5cGUoKSA9PSBCbG9iRGF0YUl0ZW06OlR5cGU6
OkZpbGUpOwotICAgIGlmICghaXNWYWxpZEZpbGVUaW1lKGJsb2JJdGVtLmZpbGUoKS0+ZXhwZWN0
ZWRNb2RpZmljYXRpb25UaW1lKCkpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICB0aW1l
X3QgZmlsZU1vZGlmaWNhdGlvblRpbWU7Ci0gICAgaWYgKCFnZXRGaWxlTW9kaWZpY2F0aW9uVGlt
ZShibG9iSXRlbS5maWxlKCktPnBhdGgoKSwgZmlsZU1vZGlmaWNhdGlvblRpbWUpKQotICAgICAg
ICByZXR1cm4gdHJ1ZTsKLQotICAgIHJldHVybiBmaWxlTW9kaWZpY2F0aW9uVGltZSAhPSBzdGF0
aWNfY2FzdDx0aW1lX3Q+KGJsb2JJdGVtLmZpbGUoKS0+ZXhwZWN0ZWRNb2RpZmljYXRpb25UaW1l
KCkpOwotfQotCi1zdGF0aWMgdm9pZCBhZGRFbmNvZGVkQmxvYkl0ZW1Ub1NvdXBNZXNzYWdlQm9k
eShTb3VwTWVzc2FnZSogbWVzc2FnZSwgY29uc3QgQmxvYkRhdGFJdGVtJiBibG9iSXRlbSwgdW5z
aWduZWQgbG9uZyYgdG90YWxCb2R5U2l6ZSkKLXsKLSAgICBpZiAoYmxvYkl0ZW0udHlwZSgpID09
IEJsb2JEYXRhSXRlbTo6VHlwZTo6RGF0YSkgewotICAgICAgICB0b3RhbEJvZHlTaXplICs9IGJs
b2JJdGVtLmxlbmd0aCgpOwotICAgICAgICBzb3VwX21lc3NhZ2VfYm9keV9hcHBlbmQobWVzc2Fn
ZS0+cmVxdWVzdF9ib2R5LCBTT1VQX01FTU9SWV9URU1QT1JBUlksIGJsb2JJdGVtLmRhdGEoKS5k
YXRhKCktPmRhdGEoKSArIGJsb2JJdGVtLm9mZnNldCgpLCBibG9iSXRlbS5sZW5ndGgoKSk7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBBU1NFUlQoYmxvYkl0ZW0udHlwZSgpID09IEJs
b2JEYXRhSXRlbTo6VHlwZTo6RmlsZSk7Ci0gICAgaWYgKGJsb2JJc091dE9mRGF0ZShibG9iSXRl
bSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGFkZEZpbGVUb1NvdXBNZXNzYWdlQm9keShtZXNz
YWdlLCBibG9iSXRlbS5maWxlKCktPnBhdGgoKSwgYmxvYkl0ZW0ub2Zmc2V0KCksIGJsb2JJdGVt
Lmxlbmd0aCgpID09IEJsb2JEYXRhSXRlbTo6dG9FbmRPZkZpbGUgPyAwIDogYmxvYkl0ZW0ubGVu
Z3RoKCksICB0b3RhbEJvZHlTaXplKTsKLX0KLQotc3RhdGljIHZvaWQgYWRkRW5jb2RlZEJsb2JU
b1NvdXBNZXNzYWdlQm9keShTb3VwTWVzc2FnZSogbWVzc2FnZSwgY29uc3QgRm9ybURhdGFFbGVt
ZW50JiBlbGVtZW50LCB1bnNpZ25lZCBsb25nJiB0b3RhbEJvZHlTaXplKQotewotICAgIFJlZlB0
cjxCbG9iRGF0YT4gYmxvYkRhdGEgPSBzdGF0aWNfY2FzdDxCbG9iUmVnaXN0cnlJbXBsJj4oYmxv
YlJlZ2lzdHJ5KCkpLmdldEJsb2JEYXRhRnJvbVVSTChVUkwoUGFyc2VkVVJMU3RyaW5nLCBlbGVt
ZW50Lm1fdXJsKSk7Ci0gICAgaWYgKCFibG9iRGF0YSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBibG9iRGF0YS0+aXRlbXMoKS5zaXplKCk7ICsraSkKLSAg
ICAgICAgYWRkRW5jb2RlZEJsb2JJdGVtVG9Tb3VwTWVzc2FnZUJvZHkobWVzc2FnZSwgYmxvYkRh
dGEtPml0ZW1zKClbaV0sIHRvdGFsQm9keVNpemUpOwotfQotCi1zdGF0aWMgYm9vbCBhZGRGb3Jt
RWxlbWVudHNUb1NvdXBNZXNzYWdlKFNvdXBNZXNzYWdlKiBtZXNzYWdlLCBjb25zdCBjaGFyKiwg
Rm9ybURhdGEqIGh0dHBCb2R5LCB1bnNpZ25lZCBsb25nJiB0b3RhbEJvZHlTaXplKQotewotICAg
IHNvdXBfbWVzc2FnZV9ib2R5X3NldF9hY2N1bXVsYXRlKG1lc3NhZ2UtPnJlcXVlc3RfYm9keSwg
RkFMU0UpOwotICAgIHNpemVfdCBudW1FbGVtZW50cyA9IGh0dHBCb2R5LT5lbGVtZW50cygpLnNp
emUoKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bUVsZW1lbnRzOyBpKyspIHsKLSAg
ICAgICAgY29uc3QgRm9ybURhdGFFbGVtZW50JiBlbGVtZW50ID0gaHR0cEJvZHktPmVsZW1lbnRz
KClbaV07Ci0KLSAgICAgICAgaWYgKGVsZW1lbnQubV90eXBlID09IEZvcm1EYXRhRWxlbWVudDo6
VHlwZTo6RGF0YSkgewotICAgICAgICAgICAgdG90YWxCb2R5U2l6ZSArPSBlbGVtZW50Lm1fZGF0
YS5zaXplKCk7Ci0gICAgICAgICAgICBzb3VwX21lc3NhZ2VfYm9keV9hcHBlbmQobWVzc2FnZS0+
cmVxdWVzdF9ib2R5LCBTT1VQX01FTU9SWV9URU1QT1JBUlksCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZWxlbWVudC5tX2RhdGEuZGF0YSgpLCBlbGVtZW50Lm1fZGF0YS5z
aXplKCkpOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAo
ZWxlbWVudC5tX3R5cGUgPT0gRm9ybURhdGFFbGVtZW50OjpUeXBlOjpFbmNvZGVkRmlsZSkgewot
ICAgICAgICAgICAgaWYgKCFhZGRGaWxlVG9Tb3VwTWVzc2FnZUJvZHkobWVzc2FnZSAsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQubV9maWxlbmFtZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCAvKiBvZmZzZXQgKi8s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAgLyogbGVuZ3RoVG9T
ZW5kICovLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbEJv
ZHlTaXplKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBjb250
aW51ZTsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVChlbGVtZW50Lm1fdHlwZSA9PSBGb3Jt
RGF0YUVsZW1lbnQ6OlR5cGU6OkVuY29kZWRCbG9iKTsKLSAgICAgICAgYWRkRW5jb2RlZEJsb2JU
b1NvdXBNZXNzYWdlQm9keShtZXNzYWdlLCBlbGVtZW50LCB0b3RhbEJvZHlTaXplKTsKLSAgICB9
Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KICNpZiBFTkFCTEUoV0VCX1RJTUlORykKIHN0YXRpYyBk
b3VibGUgbWlsaXNlY29uZHNTaW5jZVJlcXVlc3QoZG91YmxlIHJlcXVlc3RUaW1lKQogewpAQCAt
Nzg4LDYgKzY5NSw3IEBAIHN0YXRpYyBib29sIGNyZWF0ZVNvdXBNZXNzYWdlRm9ySGFuZGxlQW5k
UmVxdWVzdChSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSCiAKICAgICBTb3VwTWVzc2Fn
ZSogc291cE1lc3NhZ2UgPSBkLT5tX3NvdXBNZXNzYWdlLmdldCgpOwogICAgIHJlcXVlc3QudXBk
YXRlU291cE1lc3NhZ2Uoc291cE1lc3NhZ2UpOworICAgIGQtPm1fYm9keVNpemUgPSBzb3VwTWVz
c2FnZS0+cmVxdWVzdF9ib2R5LT5sZW5ndGg7CiAKICAgICBnX29iamVjdF9zZXRfZGF0YShHX09C
SkVDVChzb3VwTWVzc2FnZSksICJoYW5kbGUiLCBoYW5kbGUpOwogICAgIGlmICghaGFuZGxlLT5z
aG91bGRDb250ZW50U25pZmYoKSkKQEAgLTc5NSwxNCArNzAzLDYgQEAgc3RhdGljIGJvb2wgY3Jl
YXRlU291cE1lc3NhZ2VGb3JIYW5kbGVBbmRSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiBoYW5kbGUs
IGNvbnN0IFIKICAgICBpZiAoIWQtPm1fdXNlQXV0aGVudGljYXRpb25NYW5hZ2VyKQogICAgICAg
ICBzb3VwX21lc3NhZ2VfZGlzYWJsZV9mZWF0dXJlKHNvdXBNZXNzYWdlLCBTT1VQX1RZUEVfQVVU
SF9NQU5BR0VSKTsKIAotICAgIEZvcm1EYXRhKiBodHRwQm9keSA9IHJlcXVlc3QuaHR0cEJvZHko
KTsKLSAgICBDU3RyaW5nIGNvbnRlbnRUeXBlID0gcmVxdWVzdC5odHRwQ29udGVudFR5cGUoKS51
dGY4KCkuZGF0YSgpOwotICAgIGlmIChodHRwQm9keSAmJiAhaHR0cEJvZHktPmlzRW1wdHkoKSAm
JiAhYWRkRm9ybUVsZW1lbnRzVG9Tb3VwTWVzc2FnZShzb3VwTWVzc2FnZSwgY29udGVudFR5cGUu
ZGF0YSgpLCBodHRwQm9keSwgZC0+bV9ib2R5U2l6ZSkpIHsKLSAgICAgICAgLy8gV2UgZmFpbGVk
IHRvIHByZXBhcmUgdGhlIGJvZHkgZGF0YSwgc28ganVzdCBmYWlsIHRoaXMgbG9hZC4KLSAgICAg
ICAgZC0+bV9zb3VwTWVzc2FnZS5jbGVhcigpOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
fQotCiAgICAgLy8gTWFrZSBzdXJlIHdlIGhhdmUgYW4gQWNjZXB0IGhlYWRlciBmb3Igc3VicmVz
b3VyY2VzOyBzb21lIHNpdGVzCiAgICAgLy8gd2FudCB0aGlzIHRvIHNlcnZlIHNvbWUgb2YgdGhl
aXIgc3VicmVzb3VyY2VzCiAgICAgaWYgKCFzb3VwX21lc3NhZ2VfaGVhZGVyc19nZXRfb25lKHNv
dXBNZXNzYWdlLT5yZXF1ZXN0X2hlYWRlcnMsICJBY2NlcHQiKSkKQEAgLTgxMiw4ICs3MTIsNyBA
QCBzdGF0aWMgYm9vbCBjcmVhdGVTb3VwTWVzc2FnZUZvckhhbmRsZUFuZFJlcXVlc3QoUmVzb3Vy
Y2VIYW5kbGUqIGhhbmRsZSwgY29uc3QgUgogICAgIC8vIGZvciBjb25zaXN0ZW5jeSB3aXRoIG90
aGVyIGJhY2tlbmRzIChlLmcuIENocm9taXVtJ3MpIGFuZCBvdGhlciBVQSBpbXBsZW1lbnRhdGlv
bnMgbGlrZSBGRi4gSXQncyBkb25lCiAgICAgLy8gaW4gdGhlIGJhY2tlbmQgaGVyZSBpbnN0ZWFk
IG9mIGluIFhIUiBjb2RlIHNpbmNlIGluIFhIUiBDT1JTIGNoZWNraW5nIHByZXZlbnRzIHVzIGZy
b20gdGhpcyBraW5kIG9mCiAgICAgLy8gbGF0ZSBoZWFkZXIgbWFuaXB1bGF0aW9uLgotICAgIGlm
ICgocmVxdWVzdC5odHRwTWV0aG9kKCkgPT0gIlBPU1QiIHx8IHJlcXVlc3QuaHR0cE1ldGhvZCgp
ID09ICJQVVQiKQotICAgICAgICAmJiAoIXJlcXVlc3QuaHR0cEJvZHkoKSB8fCByZXF1ZXN0Lmh0
dHBCb2R5KCktPmlzRW1wdHkoKSkpCisgICAgaWYgKChyZXF1ZXN0Lmh0dHBNZXRob2QoKSA9PSAi
UE9TVCIgfHwgcmVxdWVzdC5odHRwTWV0aG9kKCkgPT0gIlBVVCIpICYmICFkLT5tX2JvZHlTaXpl
KQogICAgICAgICBzb3VwX21lc3NhZ2VfaGVhZGVyc19zZXRfY29udGVudF9sZW5ndGgoc291cE1l
c3NhZ2UtPnJlcXVlc3RfaGVhZGVycywgMCk7CiAKICAgICBnX3NpZ25hbF9jb25uZWN0KGQtPm1f
c291cE1lc3NhZ2UuZ2V0KCksICJub3RpZnk6OnRscy1lcnJvcnMiLCBHX0NBTExCQUNLKHRsc0Vy
cm9yc0NoYW5nZWRDYWxsYmFjayksIGhhbmRsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0LmgKaW5kZXggOWU4NWE5Ni4u
YTdlMmJhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1Jlc291cmNlUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9SZXNvdXJjZVJlcXVlc3QuaApAQCAtMTE0LDYgKzExNCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgdWludDY0X3QgbV9pbml0aWF0aW5nUGFnZUlEOwogCiAgICAgICAgIHZv
aWQgdXBkYXRlU291cE1lc3NhZ2VNZW1iZXJzKFNvdXBNZXNzYWdlKikgY29uc3Q7CisgICAgICAg
IHZvaWQgdXBkYXRlU291cE1lc3NhZ2VCb2R5KFNvdXBNZXNzYWdlKikgY29uc3Q7CiAgICAgICAg
IHZvaWQgZG9VcGRhdGVQbGF0Zm9ybVJlcXVlc3QoKSB7IH0KICAgICAgICAgdm9pZCBkb1VwZGF0
ZVJlc291cmNlUmVxdWVzdCgpIHsgfQogICAgICAgICB2b2lkIGRvVXBkYXRlUGxhdGZvcm1IVFRQ
Qm9keSgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1Jlc291cmNlUmVxdWVzdFNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlUmVxdWVzdFNvdXAuY3BwCmluZGV4IDkyYjhjMWQuLjc1NWU0YzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJj
ZVJlcXVlc3RTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvUmVzb3VyY2VSZXF1ZXN0U291cC5jcHAKQEAgLTIwLDE4ICsyMCw4MCBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogCiAjaWYgVVNFKFNPVVApCi0KICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3Qu
aCIKIAorI2luY2x1ZGUgIkJsb2JEYXRhLmgiCisjaW5jbHVkZSAiQmxvYlJlZ2lzdHJ5SW1wbC5o
IgogI2luY2x1ZGUgIkdVbmlxdWVQdHJTb3VwLmgiCiAjaW5jbHVkZSAiSFRUUFBhcnNlcnMuaCIK
ICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCisjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgi
CiAjaW5jbHVkZSAiV2ViS2l0U291cFJlcXVlc3RHZW5lcmljLmgiCiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKK3N0YXRpYyB1aW50NjRfdCBhcHBlbmRFbmNvZGVkQmxvYkl0ZW1Ub1Nv
dXBNZXNzYWdlQm9keShTb3VwTWVzc2FnZSogc291cE1lc3NhZ2UsIGNvbnN0IEJsb2JEYXRhSXRl
bSYgYmxvYkl0ZW0pCit7CisgICAgc3dpdGNoIChibG9iSXRlbS50eXBlKCkpIHsKKyAgICBjYXNl
IEJsb2JEYXRhSXRlbTo6VHlwZTo6RGF0YToKKyAgICAgICAgc291cF9tZXNzYWdlX2JvZHlfYXBw
ZW5kKHNvdXBNZXNzYWdlLT5yZXF1ZXN0X2JvZHksIFNPVVBfTUVNT1JZX1RFTVBPUkFSWSwgYmxv
Ykl0ZW0uZGF0YSgpLmRhdGEoKS0+ZGF0YSgpICsgYmxvYkl0ZW0ub2Zmc2V0KCksIGJsb2JJdGVt
Lmxlbmd0aCgpKTsKKyAgICAgICAgcmV0dXJuIGJsb2JJdGVtLmxlbmd0aCgpOworICAgIGNhc2Ug
QmxvYkRhdGFJdGVtOjpUeXBlOjpGaWxlOiB7CisgICAgICAgIGlmICghaXNWYWxpZEZpbGVUaW1l
KGJsb2JJdGVtLmZpbGUoKS0+ZXhwZWN0ZWRNb2RpZmljYXRpb25UaW1lKCkpKQorICAgICAgICAg
ICAgcmV0dXJuIDA7CisKKyAgICAgICAgdGltZV90IGZpbGVNb2RpZmljYXRpb25UaW1lOworICAg
ICAgICBpZiAoIWdldEZpbGVNb2RpZmljYXRpb25UaW1lKGJsb2JJdGVtLmZpbGUoKS0+cGF0aCgp
LCBmaWxlTW9kaWZpY2F0aW9uVGltZSkKKyAgICAgICAgICAgIHx8IGZpbGVNb2RpZmljYXRpb25U
aW1lICE9IHN0YXRpY19jYXN0PHRpbWVfdD4oYmxvYkl0ZW0uZmlsZSgpLT5leHBlY3RlZE1vZGlm
aWNhdGlvblRpbWUoKSkpCisgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICBpZiAoUmVm
UHRyPFNoYXJlZEJ1ZmZlcj4gYnVmZmVyID0gU2hhcmVkQnVmZmVyOjpjcmVhdGVXaXRoQ29udGVu
dHNPZkZpbGUoYmxvYkl0ZW0uZmlsZSgpLT5wYXRoKCkpKSB7CisgICAgICAgICAgICBHVW5pcXVl
UHRyPFNvdXBCdWZmZXI+IHNvdXBCdWZmZXIoYnVmZmVyLT5jcmVhdGVTb3VwQnVmZmVyKGJsb2JJ
dGVtLm9mZnNldCgpLCBibG9iSXRlbS5sZW5ndGgoKSA9PSBCbG9iRGF0YUl0ZW06OnRvRW5kT2ZG
aWxlID8gMCA6IGJsb2JJdGVtLmxlbmd0aCgpKSk7CisgICAgICAgICAgICBzb3VwX21lc3NhZ2Vf
Ym9keV9hcHBlbmRfYnVmZmVyKHNvdXBNZXNzYWdlLT5yZXF1ZXN0X2JvZHksIHNvdXBCdWZmZXIu
Z2V0KCkpOworICAgICAgICAgICAgcmV0dXJuIHNvdXBCdWZmZXItPmxlbmd0aDsKKyAgICAgICAg
fQorICAgICAgICBicmVhazsKKyAgICB9CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisKK3Zv
aWQgUmVzb3VyY2VSZXF1ZXN0Ojp1cGRhdGVTb3VwTWVzc2FnZUJvZHkoU291cE1lc3NhZ2UqIHNv
dXBNZXNzYWdlKSBjb25zdAoreworICAgIGF1dG8qIGZvcm1EYXRhID0gaHR0cEJvZHkoKTsKKyAg
ICBpZiAoIWZvcm1EYXRhIHx8IGZvcm1EYXRhLT5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsK
KworICAgIHNvdXBfbWVzc2FnZV9ib2R5X3NldF9hY2N1bXVsYXRlKHNvdXBNZXNzYWdlLT5yZXF1
ZXN0X2JvZHksIEZBTFNFKTsKKyAgICB1aW50NjRfdCBib2R5U2l6ZSA9IDA7CisgICAgZm9yIChj
b25zdCBhdXRvJiBlbGVtZW50IDogZm9ybURhdGEtPmVsZW1lbnRzKCkpIHsKKyAgICAgICAgc3dp
dGNoIChlbGVtZW50Lm1fdHlwZSkgeworICAgICAgICBjYXNlIEZvcm1EYXRhRWxlbWVudDo6VHlw
ZTo6RGF0YToKKyAgICAgICAgICAgIGJvZHlTaXplICs9IGVsZW1lbnQubV9kYXRhLnNpemUoKTsK
KyAgICAgICAgICAgIHNvdXBfbWVzc2FnZV9ib2R5X2FwcGVuZChzb3VwTWVzc2FnZS0+cmVxdWVz
dF9ib2R5LCBTT1VQX01FTU9SWV9URU1QT1JBUlksIGVsZW1lbnQubV9kYXRhLmRhdGEoKSwgZWxl
bWVudC5tX2RhdGEuc2l6ZSgpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEZv
cm1EYXRhRWxlbWVudDo6VHlwZTo6RW5jb2RlZEZpbGU6CisgICAgICAgICAgICBpZiAoUmVmUHRy
PFNoYXJlZEJ1ZmZlcj4gYnVmZmVyID0gU2hhcmVkQnVmZmVyOjpjcmVhdGVXaXRoQ29udGVudHNP
ZkZpbGUoZWxlbWVudC5tX2ZpbGVuYW1lKSkgeworICAgICAgICAgICAgICAgIEdVbmlxdWVQdHI8
U291cEJ1ZmZlcj4gc291cEJ1ZmZlcihidWZmZXItPmNyZWF0ZVNvdXBCdWZmZXIoKSk7CisgICAg
ICAgICAgICAgICAgYm9keVNpemUgKz0gYnVmZmVyLT5zaXplKCk7CisgICAgICAgICAgICAgICAg
c291cF9tZXNzYWdlX2JvZHlfYXBwZW5kX2J1ZmZlcihzb3VwTWVzc2FnZS0+cmVxdWVzdF9ib2R5
LCBzb3VwQnVmZmVyLmdldCgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjYXNlIEZvcm1EYXRhRWxlbWVudDo6VHlwZTo6RW5jb2RlZEJsb2I6CisgICAgICAg
ICAgICBpZiAoYXV0byogYmxvYkRhdGEgPSBzdGF0aWNfY2FzdDxCbG9iUmVnaXN0cnlJbXBsJj4o
YmxvYlJlZ2lzdHJ5KCkpLmdldEJsb2JEYXRhRnJvbVVSTChlbGVtZW50Lm1fdXJsKSkgeworICAg
ICAgICAgICAgICAgIGZvciAoY29uc3QgYXV0byYgaXRlbSA6IGJsb2JEYXRhLT5pdGVtcygpKQor
ICAgICAgICAgICAgICAgICAgICBib2R5U2l6ZSArPSBhcHBlbmRFbmNvZGVkQmxvYkl0ZW1Ub1Nv
dXBNZXNzYWdlQm9keShzb3VwTWVzc2FnZSwgaXRlbSk7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIEFTU0VSVChib2R5U2l6ZSA9PSBz
dGF0aWNfY2FzdDx1aW50NjRfdD4oc291cE1lc3NhZ2UtPnJlcXVlc3RfYm9keS0+bGVuZ3RoKSk7
Cit9CisKIHZvaWQgUmVzb3VyY2VSZXF1ZXN0Ojp1cGRhdGVTb3VwTWVzc2FnZU1lbWJlcnMoU291
cE1lc3NhZ2UqIHNvdXBNZXNzYWdlKSBjb25zdAogewogICAgIHVwZGF0ZVNvdXBNZXNzYWdlSGVh
ZGVycyhzb3VwTWVzc2FnZS0+cmVxdWVzdF9oZWFkZXJzKTsKQEAgLTc3LDYgKzEzOSw3IEBAIHZv
aWQgUmVzb3VyY2VSZXF1ZXN0Ojp1cGRhdGVTb3VwTWVzc2FnZShTb3VwTWVzc2FnZSogc291cE1l
c3NhZ2UpIGNvbnN0CiAgICAgc291cF9tZXNzYWdlX3NldF91cmkoc291cE1lc3NhZ2UsIHVyaS5n
ZXQoKSk7CiAKICAgICB1cGRhdGVTb3VwTWVzc2FnZU1lbWJlcnMoc291cE1lc3NhZ2UpOworICAg
IHVwZGF0ZVNvdXBNZXNzYWdlQm9keShzb3VwTWVzc2FnZSk7CiB9CiAKIHZvaWQgUmVzb3VyY2VS
ZXF1ZXN0Ojp1cGRhdGVGcm9tU291cE1lc3NhZ2UoU291cE1lc3NhZ2UqIHNvdXBNZXNzYWdlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc291cC9TaGFyZWRCdWZmZXJTb3Vw
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NvdXAvU2hhcmVkQnVmZmVyU291cC5jcHAK
aW5kZXggZjYzZDY5Ni4uM2I0YjYxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc291cC9TaGFyZWRCdWZmZXJTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zb3VwL1NoYXJlZEJ1ZmZlclNvdXAuY3BwCkBAIC0zOCw2ICszOCwyMCBAQCBSZWY8U2hhcmVk
QnVmZmVyPiBTaGFyZWRCdWZmZXI6OndyYXBTb3VwQnVmZmVyKFNvdXBCdWZmZXIqIHNvdXBCdWZm
ZXIpCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2hhcmVkQnVmZmVyKHNvdXBCdWZmZXIpKTsK
IH0KIAorR1VuaXF1ZVB0cjxTb3VwQnVmZmVyPiBTaGFyZWRCdWZmZXI6OmNyZWF0ZVNvdXBCdWZm
ZXIodW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBzaXplKQoreworICAgIGlmIChtX3NvdXBCdWZm
ZXIgJiYgIW9mZnNldCAmJiAhc2l6ZSkgeworICAgICAgICBHVW5pcXVlUHRyPFNvdXBCdWZmZXI+
IGJ1ZmZlcihzb3VwX2J1ZmZlcl9jb3B5KG1fc291cEJ1ZmZlci5nZXQoKSkpOworICAgICAgICBy
ZXR1cm4gYnVmZmVyOworICAgIH0KKworICAgIHJlZigpOworICAgIEdVbmlxdWVQdHI8U291cEJ1
ZmZlcj4gYnVmZmVyKHNvdXBfYnVmZmVyX25ld193aXRoX293bmVyKGRhdGEoKSArIG9mZnNldCwg
c2l6ZSA/IHNpemUgOiB0aGlzLT5zaXplKCksIHRoaXMsIFtdKHZvaWQqIGRhdGEpIHsKKyAgICAg
ICAgc3RhdGljX2Nhc3Q8U2hhcmVkQnVmZmVyKj4oZGF0YSktPmRlcmVmKCk7CisgICAgfSkpOwor
ICAgIHJldHVybiBidWZmZXI7Cit9CisKIHZvaWQgU2hhcmVkQnVmZmVyOjpjbGVhclBsYXRmb3Jt
RGF0YSgpCiB7CiAgICAgbV9zb3VwQnVmZmVyLnJlc2V0KCk7Cg==
</data>
<flag name="review"
          id="313737"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>