<?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>137322</bug_id>
          
          <creation_ts>2014-10-01 16:25:27 -0700</creation_ts>
          <short_desc>WKDownloadCopyRequest() returns 0 until the download starts</short_desc>
          <delta_ts>2014-10-02 14:01: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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</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="Jeff Miller">jeffm</reporter>
          <assigned_to name="Jeff Miller">jeffm</assigned_to>
          <cc>andersca</cc>
    
    <cc>conrad_shultz</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1038709</commentid>
    <comment_count>0</comment_count>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2014-10-01 16:25:27 -0700</bug_when>
    <thetext>If a client creates a download using WKContextDownloadURLRequest(), WKDownloadCopyRequest() won&apos;t return the request until the download starts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1038710</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-10-01 16:25:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/18521011&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1038711</commentid>
    <comment_count>2</comment_count>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2014-10-01 16:26:47 -0700</bug_when>
    <thetext>The actual Radar bug is &lt;rdar://problem/10046884&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1038902</commentid>
    <comment_count>3</comment_count>
      <attachid>239119</attachid>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2014-10-02 11:03:42 -0700</bug_when>
    <thetext>Created attachment 239119
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1038909</commentid>
    <comment_count>4</comment_count>
      <attachid>239119</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-10-02 11:32:19 -0700</bug_when>
    <thetext>Comment on attachment 239119
Patch

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

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:1791
&gt; +        ASSERT(m_decidePolicyForResponseRequest);

I don&apos;t think this is guaranteed to not be null.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1038913</commentid>
    <comment_count>5</comment_count>
      <attachid>239119</attachid>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2014-10-02 11:36:45 -0700</bug_when>
    <thetext>Comment on attachment 239119
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:1791
&gt;&gt; +        ASSERT(m_decidePolicyForResponseRequest);
&gt; 
&gt; I don&apos;t think this is guaranteed to not be null.

I wasn&apos;t 100% sure about this, either. I&apos;ll update the patch to pass a reference to ResourceRequest() if it is null.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1038916</commentid>
    <comment_count>6</comment_count>
      <attachid>239123</attachid>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2014-10-02 11:42:20 -0700</bug_when>
    <thetext>Created attachment 239123
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1038962</commentid>
    <comment_count>7</comment_count>
      <attachid>239123</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-10-02 13:48:54 -0700</bug_when>
    <thetext>Comment on attachment 239123
Patch

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

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:1792
&gt; +        const ResourceRequest&amp; downloadRequest = m_decidePolicyForResponseRequest ? *m_decidePolicyForResponseRequest : ResourceRequest();
&gt; +        DownloadProxy* download = m_process-&gt;context().createDownloadProxy(downloadRequest);

I&apos;d add a FIXME about ensuring that this ResourceRequest is never empty.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1038968</commentid>
    <comment_count>8</comment_count>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2014-10-02 14:01:33 -0700</bug_when>
    <thetext>Committed r174230: &lt;http://trac.webkit.org/changeset/174230&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239119</attachid>
            <date>2014-10-02 11:03:42 -0700</date>
            <delta_ts>2014-10-02 11:42:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137322-20141002110343.patch</filename>
            <type>text/plain</type>
            <size>13962</size>
            <attacher name="Jeff Miller">jeffm</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWRjMTMyZTAyNzI2MjVm
ZTlkN2ZkYzBjMThiNjE1YmJlOWFkYzg5ZC4uYWZmYjJlYTE5NGM2ZTJiYzM5ZTdhNzFmMDRkYWI3
MWIyZWMyODY5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDE0LTEwLTAyICBKZWZm
IE1pbGxlciAgPGplZmZtQGFwcGxlLmNvbT4KKworICAgICAgICBXS0Rvd25sb2FkQ29weVJlcXVl
c3QoKSByZXR1cm5zIDAgdW50aWwgdGhlIGRvd25sb2FkIHN0YXJ0cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MzIyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIG1fcmVxdWVzdCBpdmFyIGluIERv
d25sb2FkUHJveHkgd2FzIG9ubHkgYmVpbmcgaW5pdGlhbGl6ZWQgd2hlbiBkaWRTdGFydCgpIHdh
cyBjYWxsZWQgYWZ0ZXIgdGhlCisgICAgICAgIGRvd25sb2FkIHN0YXJ0cy4gU2luY2UgY2xpZW50
cyBoYXZlIGFjY2VzcyB0byB0aGUgUmVzb3VyY2VSZXF1ZXN0IHdoZW4gdGhlIERvd25sb2FkUHJv
eHkgaXMgY3JlYXRlZCwKKyAgICAgICAgdGhlcmUncyBubyByZWFzb24gbm90IHRvIHBhc3MgdGhh
dCBhbG9uZyB0byBEb3dubG9hZFByb3h5OjpjcmVhdGUoKSBzbyBpdCBjYW4gYmUgcmV0dXJuZWQg
aWYKKyAgICAgICAgV0tEb3dubG9hZENvcHlSZXF1ZXN0KCkgaXMgY2FsbGVkIGJlZm9yZSBkaWRT
dGFydCgpLgorCisgICAgICAgICogVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6RG93bmxvYWRQcm94eTo6Y3JlYXRlKToKKyAgICAgICAgQWRk
IFJlc291cmNlUmVxdWVzdCBwYXJhbWV0ZXIsIGFuZCBwYXNzIGl0IHRvIERvd25sb2FkUHJveHkg
Y29uc3RydWN0b3IuCisKKyAgICAgICAgKFdlYktpdDo6RG93bmxvYWRQcm94eTo6RG93bmxvYWRQ
cm94eSk6CisgICAgICAgIEluaXRpYWxpemUgbV9yZXF1ZXN0LgorCisgICAgICAgICogVUlQcm9j
ZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5Lmg6CisgICAgICAgIEFkZCBSZXNvdXJjZVJlcXVl
c3QgcGFyYW1ldGVyIHRvIGNyZWF0ZSgpIGFuZCBjb25zdHJ1Y3Rvci4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eU1hcC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkRvd25sb2FkUHJveHlNYXA6OmNyZWF0ZURvd25sb2FkUHJveHkpOgorICAgICAgICBBZGQgUmVz
b3VyY2VSZXF1ZXN0IHBhcmFtZXRlciBhbmQgcGFzcyBpdCB0byBEb3dubG9hZFByb3h5OjpjcmVh
dGUoKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eU1hcC5o
OgorICAgICAgICBBZGQgUmVzb3VyY2VSZXF1ZXN0IHBhcmFtZXRlciB0byBjcmVhdGVEb3dubG9h
ZFByb3h5KCkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1By
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6Y3JlYXRlRG93
bmxvYWRQcm94eSk6CisgICAgICAgIEFkZCBSZXNvdXJjZVJlcXVlc3QgcGFyYW1ldGVyIGFuZCBw
YXNzIGl0IHRvIERvd25sb2FkUHJveHk6OmNyZWF0ZSgpLgorCisgICAgICAgICogVUlQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oOgorICAgICAgICBBZGQgUmVzb3VyY2VSZXF1
ZXN0IHBhcmFtZXRlciB0byBjcmVhdGVEb3dubG9hZFByb3h5KCkuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OmRvd25s
b2FkKToKKyAgICAgICAgUGFzcyBSZXNvdXJjZVJlcXVlc3QgdG8gY3JlYXRlRG93bmxvYWRQcm94
eSgpLgorCisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OmNyZWF0ZURvd25sb2FkUHJveHkp
OgorICAgICAgICBBZGQgUmVzb3VyY2VSZXF1ZXN0IHBhcmFtZXRlciBhbmQgcGFzcyBpdCB0byBj
cmVhdGVEb3dubG9hZFByb3h5KCkgZnVuY3Rpb25zLgorCisgICAgICAgICogVUlQcm9jZXNzL1dl
YkNvbnRleHQuaDoKKyAgICAgICAgQWRkIFJlc291cmNlUmVxdWVzdCBwYXJhbWV0ZXIgdG8gY3Jl
YXRlRG93bmxvYWRQcm94eSgpLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVjZWl2ZWRQb2xpY3lEZWNpc2lv
bik6CisgICAgICAgIFBhc3MgbV9kZWNpZGVQb2xpY3lGb3JSZXNwb25zZVJlcXVlc3QgdG8gV2Vi
Q29udGV4dDo6Y3JlYXRlRG93bmxvYWRQcm94eSgpLgorCisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6Y3Jl
YXRlRG93bmxvYWRQcm94eSk6CisgICAgICAgIEFkZCBSZXNvdXJjZVJlcXVlc3QgcGFyYW1ldGVy
IGFuZCBwYXNzIGl0IHRvIERvd25sb2FkUHJveHlNYXA6OmNyZWF0ZSgpLgorCisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICBBZGQgUmVzb3VyY2VSZXF1ZXN0
IHBhcmFtZXRlciB0byBjcmVhdGVEb3dubG9hZFByb3h5KCkuCisKIDIwMTQtMTAtMDIgIERhbmll
bCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwOiBNb3ZlIFhQ
QyBmb3J3YXJkIGRlY2xhcmF0aW9ucyBpbiBKYXZhU2NyaXB0Q29yZSB0byBXVEYgU1BJIHdyYXBw
ZXIgaGVhZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRG93bmxvYWRz
L0Rvd25sb2FkUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Rvd25sb2Fkcy9E
b3dubG9hZFByb3h5LmNwcAppbmRleCAxZDI5MjYxYjRiOTFmYmFhNjg0Zjk3OTAxZWRhNzdkM2Jm
OTQxYzliLi5mN2ZmZGM1Yjc5MTZkZDMyYzJiYzI1YWYzNzRhNTgxYzYwOTExOWQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5j
cHAKQEAgLTUxLDE1ICs1MSwxNiBAQCBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVEb3dubG9hZElE
KCkKICAgICByZXR1cm4gKyt1bmlxdWVEb3dubG9hZElEOwogfQogICAgIAotUGFzc1JlZlB0cjxE
b3dubG9hZFByb3h5PiBEb3dubG9hZFByb3h5OjpjcmVhdGUoRG93bmxvYWRQcm94eU1hcCYgZG93
bmxvYWRQcm94eU1hcCwgV2ViQ29udGV4dCYgd2ViQ29udGV4dCkKK1Bhc3NSZWZQdHI8RG93bmxv
YWRQcm94eT4gRG93bmxvYWRQcm94eTo6Y3JlYXRlKERvd25sb2FkUHJveHlNYXAmIGRvd25sb2Fk
UHJveHlNYXAsIFdlYkNvbnRleHQmIHdlYkNvbnRleHQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYg
cmVzb3VyY2VSZXF1ZXN0KQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgRG93bmxvYWRQcm94
eShkb3dubG9hZFByb3h5TWFwLCB3ZWJDb250ZXh0KSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBEb3dubG9hZFByb3h5KGRvd25sb2FkUHJveHlNYXAsIHdlYkNvbnRleHQsIHJlc291cmNlUmVx
dWVzdCkpOwogfQogCi1Eb3dubG9hZFByb3h5OjpEb3dubG9hZFByb3h5KERvd25sb2FkUHJveHlN
YXAmIGRvd25sb2FkUHJveHlNYXAsIFdlYkNvbnRleHQmIHdlYkNvbnRleHQpCitEb3dubG9hZFBy
b3h5OjpEb3dubG9hZFByb3h5KERvd25sb2FkUHJveHlNYXAmIGRvd25sb2FkUHJveHlNYXAsIFdl
YkNvbnRleHQmIHdlYkNvbnRleHQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1
ZXN0KQogICAgIDogbV9kb3dubG9hZFByb3h5TWFwKGRvd25sb2FkUHJveHlNYXApCiAgICAgLCBt
X3dlYkNvbnRleHQoJndlYkNvbnRleHQpCiAgICAgLCBtX2Rvd25sb2FkSUQoZ2VuZXJhdGVEb3du
bG9hZElEKCkpCisgICAgLCBtX3JlcXVlc3QocmVzb3VyY2VSZXF1ZXN0KQogewogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5oCmlu
ZGV4IDZmODUzNjE0NmMzYzFjOGIwMzI3ODRkMzIwNmFhNmVjY2FmOWVjOWUuLjZkOGY5YWE3MGNm
NGQ3YjcyZDFiNmYxMDQ1NDMwMWQ5MjQ2YTVlM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5oCkBAIC01MSw3ICs1MSw3IEBAIGNs
YXNzIFdlYlBhZ2VQcm94eTsKIAogY2xhc3MgRG93bmxvYWRQcm94eSA6IHB1YmxpYyBBUEk6Ok9i
amVjdEltcGw8QVBJOjpPYmplY3Q6OlR5cGU6OkRvd25sb2FkPiwgcHVibGljIElQQzo6TWVzc2Fn
ZVJlY2VpdmVyIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxEb3dubG9hZFByb3h5
PiBjcmVhdGUoRG93bmxvYWRQcm94eU1hcCYsIFdlYkNvbnRleHQmKTsKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxEb3dubG9hZFByb3h5PiBjcmVhdGUoRG93bmxvYWRQcm94eU1hcCYsIFdlYkNvbnRl
eHQmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKTsKICAgICB+RG93bmxvYWRQcm94
eSgpOwogCiAgICAgdWludDY0X3QgZG93bmxvYWRJRCgpIGNvbnN0IHsgcmV0dXJuIG1fZG93bmxv
YWRJRDsgfQpAQCAtNjcsNyArNjcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRSZWNlaXZlU3lu
Y0Rvd25sb2FkUHJveHlNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29k
ZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mKTsKIAogcHJpdmF0ZToK
LSAgICBleHBsaWNpdCBEb3dubG9hZFByb3h5KERvd25sb2FkUHJveHlNYXAmLCBXZWJDb250ZXh0
Jik7CisgICAgZXhwbGljaXQgRG93bmxvYWRQcm94eShEb3dubG9hZFByb3h5TWFwJiwgV2ViQ29u
dGV4dCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogCiAgICAgLy8gSVBDOjpN
ZXNzYWdlUmVjZWl2ZXIKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5TWFwLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eU1hcC5jcHAK
aW5kZXggZTYyNDZiMmEzNWIwNTRhNzQ4ODBiNTEyYTAyMDRiYjFjMzQwYjViMC4uODY5NTJkOGNj
NGM4YjMyNmQ1MmY5ZjgzYjhiMDkwMjc3ZTRmMzNiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5TWFwLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHlNYXAuY3BwCkBAIC00NCw5
ICs0NCw5IEBAIERvd25sb2FkUHJveHlNYXA6On5Eb3dubG9hZFByb3h5TWFwKCkKICAgICBBU1NF
UlQobV9kb3dubG9hZHMuaXNFbXB0eSgpKTsKIH0KIAotRG93bmxvYWRQcm94eSogRG93bmxvYWRQ
cm94eU1hcDo6Y3JlYXRlRG93bmxvYWRQcm94eShXZWJDb250ZXh0JiB3ZWJDb250ZXh0KQorRG93
bmxvYWRQcm94eSogRG93bmxvYWRQcm94eU1hcDo6Y3JlYXRlRG93bmxvYWRQcm94eShXZWJDb250
ZXh0JiB3ZWJDb250ZXh0LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNl
UmVxdWVzdCkKIHsKLSAgICBSZWZQdHI8RG93bmxvYWRQcm94eT4gZG93bmxvYWRQcm94eSA9IERv
d25sb2FkUHJveHk6OmNyZWF0ZSgqdGhpcywgd2ViQ29udGV4dCk7CisgICAgUmVmUHRyPERvd25s
b2FkUHJveHk+IGRvd25sb2FkUHJveHkgPSBEb3dubG9hZFByb3h5OjpjcmVhdGUoKnRoaXMsIHdl
YkNvbnRleHQsIHJlc291cmNlUmVxdWVzdCk7CiAgICAgbV9kb3dubG9hZHMuc2V0KGRvd25sb2Fk
UHJveHktPmRvd25sb2FkSUQoKSwgZG93bmxvYWRQcm94eSk7CiAKICAgICBtX3Byb2Nlc3MtPmFk
ZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6RG93bmxvYWRQcm94eTo6bWVzc2FnZVJlY2VpdmVy
TmFtZSgpLCBkb3dubG9hZFByb3h5LT5kb3dubG9hZElEKCksICpkb3dubG9hZFByb3h5KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94
eU1hcC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5
TWFwLmgKaW5kZXggNjZmNWY0MWQ4OTZjMDU4NTNlOGNlMTFhMjM0MGJjZTdiNDQ4Nzg1Yy4uYTUw
Yjk4MTIwMzY1ZTNmN2M2ODlkZWIxM2E2MDcwZWU1MzRkOTg3YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5TWFwLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5TWFwLmgKQEAgLTMw
LDYgKzMwLDEwIEBACiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KIAorbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgUmVzb3VyY2VSZXF1
ZXN0OworfQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgQ2hpbGRQcm9jZXNzUHJveHk7
CkBAIC00Myw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBEb3dubG9hZFByb3h5TWFw
KENoaWxkUHJvY2Vzc1Byb3h5Kik7CiAgICAgfkRvd25sb2FkUHJveHlNYXAoKTsKIAotICAgIERv
d25sb2FkUHJveHkqIGNyZWF0ZURvd25sb2FkUHJveHkoV2ViQ29udGV4dCYpOworICAgIERvd25s
b2FkUHJveHkqIGNyZWF0ZURvd25sb2FkUHJveHkoV2ViQ29udGV4dCYsIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYpOwogICAgIHZvaWQgZG93bmxvYWRGaW5pc2hlZChEb3dubG9hZFBy
b3h5Kik7CiAKICAgICBib29sIGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiBtX2Rvd25sb2Fkcy5p
c0VtcHR5KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3Jr
L05ldHdvcmtQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdv
cmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKaW5kZXggZTZkMDY5ZDk5NWI3OTA2NjBhYmI3MWQ1
ZWZjNjhmMjM5ZWY0NjMyOS4uNDk2NjdiOTUyNDAyNzAzN2I4YjMzMGIzMTE2OWU1NWI5N2YxMTg2
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1By
b2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvTmV0
d29ya1Byb2Nlc3NQcm94eS5jcHAKQEAgLTk3LDEyICs5NywxMiBAQCB2b2lkIE5ldHdvcmtQcm9j
ZXNzUHJveHk6OmdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbihQYXNzUmVmUHRyPE1lc3NhZ2Vz
OjpXZWJQcgogICAgIGNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6
OkNyZWF0ZU5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKCksIDAsIElQQzo6RGlzcGF0Y2hN
ZXNzYWdlRXZlbldoZW5XYWl0aW5nRm9yU3luY1JlcGx5KTsKIH0KIAotRG93bmxvYWRQcm94eSog
TmV0d29ya1Byb2Nlc3NQcm94eTo6Y3JlYXRlRG93bmxvYWRQcm94eSgpCitEb3dubG9hZFByb3h5
KiBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpjcmVhdGVEb3dubG9hZFByb3h5KGNvbnN0IFJlc291cmNl
UmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0KQogewogICAgIGlmICghbV9kb3dubG9hZFByb3h5TWFw
KQogICAgICAgICBtX2Rvd25sb2FkUHJveHlNYXAgPSBzdGQ6Om1ha2VfdW5pcXVlPERvd25sb2Fk
UHJveHlNYXA+KHRoaXMpOwogCi0gICAgcmV0dXJuIG1fZG93bmxvYWRQcm94eU1hcC0+Y3JlYXRl
RG93bmxvYWRQcm94eShtX3dlYkNvbnRleHQpOworICAgIHJldHVybiBtX2Rvd25sb2FkUHJveHlN
YXAtPmNyZWF0ZURvd25sb2FkUHJveHkobV93ZWJDb250ZXh0LCByZXNvdXJjZVJlcXVlc3QpOwog
fQogCiB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6Om5ldHdvcmtQcm9jZXNzQ3Jhc2hlZE9yRmFp
bGVkVG9MYXVuY2goKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdv
cmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdv
cmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCmluZGV4IGQyMGQzYmIwNDM0NmQ1ODA4MGU5ZTk4NmIx
M2JlZDgwYTk1YTMzMjQuLmM5MmI5OGZjY2JjZGJlOGQ2NmM2ZmZjNmQwMjU5MjUzNDlkYjFlOTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9j
ZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3Jr
UHJvY2Vzc1Byb3h5LmgKQEAgLTQ0LDYgKzQ0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CitjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiB9
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNjAsNyArNjEsNyBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIGdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbihQYXNzUmVmUHRyPE1lc3NhZ2VzOjpXZWJQ
cm9jZXNzUHJveHk6OkdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6RGVsYXllZFJlcGx5Pik7
CiAKLSAgICBEb3dubG9hZFByb3h5KiBjcmVhdGVEb3dubG9hZFByb3h5KCk7CisgICAgRG93bmxv
YWRQcm94eSogY3JlYXRlRG93bmxvYWRQcm94eShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZvaWQgc2V0UHJvY2Vzc1N1cHByZXNz
aW9uRW5hYmxlZChib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcApp
bmRleCA2YTI0M2M3YmE4MDg4MTkwY2MyZTdhNDg4NzA3OTAxOGU4ZDkwNjQwLi5hZDVmZGExMzUw
N2IxY2Q0NjMzMjY5N2IxMWJkNTUxN2Y5MjJkN2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkNvbnRleHQuY3BwCkBAIC04ODMsNyArODgzLDcgQEAgUGFzc1JlZlB0cjxXZWJQYWdlUHJv
eHk+IFdlYkNvbnRleHQ6OmNyZWF0ZVdlYlBhZ2UoUGFnZUNsaWVudCYgcGFnZUNsaWVudCwgV2Vi
UGEKIAogRG93bmxvYWRQcm94eSogV2ViQ29udGV4dDo6ZG93bmxvYWQoV2ViUGFnZVByb3h5KiBp
bml0aWF0aW5nUGFnZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogewotICAgIERv
d25sb2FkUHJveHkqIGRvd25sb2FkUHJveHkgPSBjcmVhdGVEb3dubG9hZFByb3h5KCk7CisgICAg
RG93bmxvYWRQcm94eSogZG93bmxvYWRQcm94eSA9IGNyZWF0ZURvd25sb2FkUHJveHkocmVxdWVz
dCk7CiAgICAgdWludDY0X3QgaW5pdGlhdGluZ1BhZ2VJRCA9IGluaXRpYXRpbmdQYWdlID8gaW5p
dGlhdGluZ1BhZ2UtPnBhZ2VJRCgpIDogMDsKIAogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1Mp
CkBAIC0xMDU1LDE3ICsxMDU1LDE3IEBAIHZvaWQgV2ViQ29udGV4dDo6c2V0RGVmYXVsdFJlcXVl
c3RUaW1lb3V0SW50ZXJ2YWwoZG91YmxlIHRpbWVvdXRJbnRlcnZhbCkKICAgICBzZW5kVG9BbGxQ
cm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlNldERlZmF1bHRSZXF1ZXN0VGltZW91dElu
dGVydmFsKHRpbWVvdXRJbnRlcnZhbCkpOwogfQogCi1Eb3dubG9hZFByb3h5KiBXZWJDb250ZXh0
OjpjcmVhdGVEb3dubG9hZFByb3h5KCkKK0Rvd25sb2FkUHJveHkqIFdlYkNvbnRleHQ6OmNyZWF0
ZURvd25sb2FkUHJveHkoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogewogI2lmIEVO
QUJMRShORVRXT1JLX1BST0NFU1MpCiAgICAgaWYgKHVzZXNOZXR3b3JrUHJvY2VzcygpKSB7CiAg
ICAgICAgIGVuc3VyZU5ldHdvcmtQcm9jZXNzKCk7CiAgICAgICAgIEFTU0VSVChtX25ldHdvcmtQ
cm9jZXNzKTsKLSAgICAgICAgcmV0dXJuIG1fbmV0d29ya1Byb2Nlc3MtPmNyZWF0ZURvd25sb2Fk
UHJveHkoKTsKKyAgICAgICAgcmV0dXJuIG1fbmV0d29ya1Byb2Nlc3MtPmNyZWF0ZURvd25sb2Fk
UHJveHkocmVxdWVzdCk7CiAgICAgfQogI2VuZGlmCiAKLSAgICByZXR1cm4gZW5zdXJlU2hhcmVk
V2ViUHJvY2VzcygpLmNyZWF0ZURvd25sb2FkUHJveHkoKTsKKyAgICByZXR1cm4gZW5zdXJlU2hh
cmVkV2ViUHJvY2VzcygpLmNyZWF0ZURvd25sb2FkUHJveHkocmVxdWVzdCk7CiB9CiAKIHZvaWQg
V2ViQ29udGV4dDo6YWRkTWVzc2FnZVJlY2VpdmVyKElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3Nh
Z2VSZWNlaXZlck5hbWUsIElQQzo6TWVzc2FnZVJlY2VpdmVyJiBtZXNzYWdlUmVjZWl2ZXIpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAppbmRleCA0MjRhNjViYzUxNTQ3MjAwN2Ey
Yzk3NWVlZDRkZWEyNjVjOWY1YTEzLi42NjE5NjU3YzYxMTUyNWMzOTIxN2NjOTNjZDA0ZjczYjJk
MTQ4NDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKQEAgLTIzMCw3ICsy
MzAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRFbmhhbmNlZEFjY2Vzc2liaWxpdHkoYm9vbCk7
CiAgICAgCiAgICAgLy8gRG93bmxvYWRzLgotICAgIERvd25sb2FkUHJveHkqIGNyZWF0ZURvd25s
b2FkUHJveHkoKTsKKyAgICBEb3dubG9hZFByb3h5KiBjcmVhdGVEb3dubG9hZFByb3h5KGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogICAgIEFQSTo6RG93bmxvYWRDbGllbnQmIGRv
d25sb2FkQ2xpZW50KCkgeyByZXR1cm4gKm1fZG93bmxvYWRDbGllbnQ7IH0KIAogICAgIEFQSTo6
SGlzdG9yeUNsaWVudCYgaGlzdG9yeUNsaWVudCgpIHsgcmV0dXJuICptX2hpc3RvcnlDbGllbnQ7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggM2FjYTRl
YzdmY2JhMzY3YjU5YTg2ZDZhMTc2MDUxZWNkY2Q0N2ZmNy4uOWZhNTEwMTY0YTJiNmNlZWZkOTMy
OGNmM2VjODE0ZWY4YjQ3OGZlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKQEAgLTE3ODgsNyArMTc4OCw4IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZWNlaXZl
ZFBvbGljeURlY2lzaW9uKFBvbGljeUFjdGlvbiBhY3Rpb24sIFdlYkZyYW1lUHJveHkqIGZyCiAg
ICAgdWludDY0X3QgZG93bmxvYWRJRCA9IDA7CiAgICAgaWYgKGFjdGlvbiA9PSBQb2xpY3lEb3du
bG9hZCkgewogICAgICAgICAvLyBDcmVhdGUgYSBkb3dubG9hZCBwcm94eS4KLSAgICAgICAgRG93
bmxvYWRQcm94eSogZG93bmxvYWQgPSBtX3Byb2Nlc3MtPmNvbnRleHQoKS5jcmVhdGVEb3dubG9h
ZFByb3h5KCk7CisgICAgICAgIEFTU0VSVChtX2RlY2lkZVBvbGljeUZvclJlc3BvbnNlUmVxdWVz
dCk7CisgICAgICAgIERvd25sb2FkUHJveHkqIGRvd25sb2FkID0gbV9wcm9jZXNzLT5jb250ZXh0
KCkuY3JlYXRlRG93bmxvYWRQcm94eSgqbV9kZWNpZGVQb2xpY3lGb3JSZXNwb25zZVJlcXVlc3Qp
OwogICAgICAgICBkb3dubG9hZElEID0gZG93bmxvYWQtPmRvd25sb2FkSUQoKTsKICAgICAgICAg
aGFuZGxlRG93bmxvYWRSZXF1ZXN0KGRvd25sb2FkKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCmluZGV4IGU3OWRlNDZmYWNjZTA2YzgwNmEy
NDk1MjM1ZmEwMDkxZTMwNTFjZWQuLjhhNmI1ODMxZGIxOTE0M2QxMjQwZmYxODIyYzFkYmI0ZmM2
MjcyYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
CkBAIC02MDksNyArNjA5LDcgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnVwZGF0ZVRleHRDaGVj
a2VyU3RhdGUoKQogICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpTZXRUZXh0Q2hl
Y2tlclN0YXRlKFRleHRDaGVja2VyOjpzdGF0ZSgpKSwgMCk7CiB9CiAKLURvd25sb2FkUHJveHkq
IFdlYlByb2Nlc3NQcm94eTo6Y3JlYXRlRG93bmxvYWRQcm94eSgpCitEb3dubG9hZFByb3h5KiBX
ZWJQcm9jZXNzUHJveHk6OmNyZWF0ZURvd25sb2FkUHJveHkoY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0KQogewogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCiAgICAgQVNTRVJUKCFt
X2NvbnRleHQtPnVzZXNOZXR3b3JrUHJvY2VzcygpKTsKQEAgLTYxOCw3ICs2MTgsNyBAQCBEb3du
bG9hZFByb3h5KiBXZWJQcm9jZXNzUHJveHk6OmNyZWF0ZURvd25sb2FkUHJveHkoKQogICAgIGlm
ICghbV9kb3dubG9hZFByb3h5TWFwKQogICAgICAgICBtX2Rvd25sb2FkUHJveHlNYXAgPSBzdGQ6
Om1ha2VfdW5pcXVlPERvd25sb2FkUHJveHlNYXA+KHRoaXMpOwogCi0gICAgcmV0dXJuIG1fZG93
bmxvYWRQcm94eU1hcC0+Y3JlYXRlRG93bmxvYWRQcm94eShtX2NvbnRleHQuZ2V0KCkpOworICAg
IHJldHVybiBtX2Rvd25sb2FkUHJveHlNYXAtPmNyZWF0ZURvd25sb2FkUHJveHkobV9jb250ZXh0
LmdldCgpLCByZXF1ZXN0KTsKIH0KIAogdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZE5hdmlnYXRl
V2l0aE5hdmlnYXRpb25EYXRhKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViTmF2aWdhdGlvbkRh
dGFTdG9yZSYgc3RvcmUsIHVpbnQ2NF90IGZyYW1lSUQpIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IGI0MGNkZjNjN2IzN2M1OTBlMDJjNzZiNjI3Y2Y1
MmFiZDFhOWI3YTEuLmVhMzQ4MGE0N2JjZDQwMTY1ZThjZTJhZTk0MzZkODE2MGYxZTZlM2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKQEAgLTUyLDYgKzUy
LDcgQEAKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBSZXNvdXJjZVJlcXVl
c3Q7CiBjbGFzcyBVUkw7CiBzdHJ1Y3QgUGx1Z2luSW5mbzsKIH07CkBAIC0xMTgsNyArMTE5LDcg
QEAgcHVibGljOgogCiAgICAgc3RhdGljIGJvb2wgZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZCgp
OwogCi0gICAgRG93bmxvYWRQcm94eSogY3JlYXRlRG93bmxvYWRQcm94eSgpOworICAgIERvd25s
b2FkUHJveHkqIGNyZWF0ZURvd25sb2FkUHJveHkoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0Jik7CiAKICAgICB2b2lkIHBhZ2VTdXBwcmVzc2liaWxpdHlDaGFuZ2VkKFdlYlBhZ2VQcm94
eSopOwogICAgIHZvaWQgcGFnZVByZWZlcmVuY2VzQ2hhbmdlZChXZWJQYWdlUHJveHkqKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239123</attachid>
            <date>2014-10-02 11:42:20 -0700</date>
            <delta_ts>2014-10-02 13:48:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137322-20141002114221.patch</filename>
            <type>text/plain</type>
            <size>14033</size>
            <attacher name="Jeff Miller">jeffm</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWRjMTMyZTAyNzI2MjVm
ZTlkN2ZkYzBjMThiNjE1YmJlOWFkYzg5ZC4uYWZmYjJlYTE5NGM2ZTJiYzM5ZTdhNzFmMDRkYWI3
MWIyZWMyODY5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDE0LTEwLTAyICBKZWZm
IE1pbGxlciAgPGplZmZtQGFwcGxlLmNvbT4KKworICAgICAgICBXS0Rvd25sb2FkQ29weVJlcXVl
c3QoKSByZXR1cm5zIDAgdW50aWwgdGhlIGRvd25sb2FkIHN0YXJ0cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MzIyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIG1fcmVxdWVzdCBpdmFyIGluIERv
d25sb2FkUHJveHkgd2FzIG9ubHkgYmVpbmcgaW5pdGlhbGl6ZWQgd2hlbiBkaWRTdGFydCgpIHdh
cyBjYWxsZWQgYWZ0ZXIgdGhlCisgICAgICAgIGRvd25sb2FkIHN0YXJ0cy4gU2luY2UgY2xpZW50
cyBoYXZlIGFjY2VzcyB0byB0aGUgUmVzb3VyY2VSZXF1ZXN0IHdoZW4gdGhlIERvd25sb2FkUHJv
eHkgaXMgY3JlYXRlZCwKKyAgICAgICAgdGhlcmUncyBubyByZWFzb24gbm90IHRvIHBhc3MgdGhh
dCBhbG9uZyB0byBEb3dubG9hZFByb3h5OjpjcmVhdGUoKSBzbyBpdCBjYW4gYmUgcmV0dXJuZWQg
aWYKKyAgICAgICAgV0tEb3dubG9hZENvcHlSZXF1ZXN0KCkgaXMgY2FsbGVkIGJlZm9yZSBkaWRT
dGFydCgpLgorCisgICAgICAgICogVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6RG93bmxvYWRQcm94eTo6Y3JlYXRlKToKKyAgICAgICAgQWRk
IFJlc291cmNlUmVxdWVzdCBwYXJhbWV0ZXIsIGFuZCBwYXNzIGl0IHRvIERvd25sb2FkUHJveHkg
Y29uc3RydWN0b3IuCisKKyAgICAgICAgKFdlYktpdDo6RG93bmxvYWRQcm94eTo6RG93bmxvYWRQ
cm94eSk6CisgICAgICAgIEluaXRpYWxpemUgbV9yZXF1ZXN0LgorCisgICAgICAgICogVUlQcm9j
ZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5Lmg6CisgICAgICAgIEFkZCBSZXNvdXJjZVJlcXVl
c3QgcGFyYW1ldGVyIHRvIGNyZWF0ZSgpIGFuZCBjb25zdHJ1Y3Rvci4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eU1hcC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkRvd25sb2FkUHJveHlNYXA6OmNyZWF0ZURvd25sb2FkUHJveHkpOgorICAgICAgICBBZGQgUmVz
b3VyY2VSZXF1ZXN0IHBhcmFtZXRlciBhbmQgcGFzcyBpdCB0byBEb3dubG9hZFByb3h5OjpjcmVh
dGUoKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eU1hcC5o
OgorICAgICAgICBBZGQgUmVzb3VyY2VSZXF1ZXN0IHBhcmFtZXRlciB0byBjcmVhdGVEb3dubG9h
ZFByb3h5KCkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1By
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6Y3JlYXRlRG93
bmxvYWRQcm94eSk6CisgICAgICAgIEFkZCBSZXNvdXJjZVJlcXVlc3QgcGFyYW1ldGVyIGFuZCBw
YXNzIGl0IHRvIERvd25sb2FkUHJveHk6OmNyZWF0ZSgpLgorCisgICAgICAgICogVUlQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oOgorICAgICAgICBBZGQgUmVzb3VyY2VSZXF1
ZXN0IHBhcmFtZXRlciB0byBjcmVhdGVEb3dubG9hZFByb3h5KCkuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OmRvd25s
b2FkKToKKyAgICAgICAgUGFzcyBSZXNvdXJjZVJlcXVlc3QgdG8gY3JlYXRlRG93bmxvYWRQcm94
eSgpLgorCisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OmNyZWF0ZURvd25sb2FkUHJveHkp
OgorICAgICAgICBBZGQgUmVzb3VyY2VSZXF1ZXN0IHBhcmFtZXRlciBhbmQgcGFzcyBpdCB0byBj
cmVhdGVEb3dubG9hZFByb3h5KCkgZnVuY3Rpb25zLgorCisgICAgICAgICogVUlQcm9jZXNzL1dl
YkNvbnRleHQuaDoKKyAgICAgICAgQWRkIFJlc291cmNlUmVxdWVzdCBwYXJhbWV0ZXIgdG8gY3Jl
YXRlRG93bmxvYWRQcm94eSgpLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVjZWl2ZWRQb2xpY3lEZWNpc2lv
bik6CisgICAgICAgIFBhc3MgbV9kZWNpZGVQb2xpY3lGb3JSZXNwb25zZVJlcXVlc3QgdG8gV2Vi
Q29udGV4dDo6Y3JlYXRlRG93bmxvYWRQcm94eSgpLgorCisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6Y3Jl
YXRlRG93bmxvYWRQcm94eSk6CisgICAgICAgIEFkZCBSZXNvdXJjZVJlcXVlc3QgcGFyYW1ldGVy
IGFuZCBwYXNzIGl0IHRvIERvd25sb2FkUHJveHlNYXA6OmNyZWF0ZSgpLgorCisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICBBZGQgUmVzb3VyY2VSZXF1ZXN0
IHBhcmFtZXRlciB0byBjcmVhdGVEb3dubG9hZFByb3h5KCkuCisKIDIwMTQtMTAtMDIgIERhbmll
bCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwOiBNb3ZlIFhQ
QyBmb3J3YXJkIGRlY2xhcmF0aW9ucyBpbiBKYXZhU2NyaXB0Q29yZSB0byBXVEYgU1BJIHdyYXBw
ZXIgaGVhZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRG93bmxvYWRz
L0Rvd25sb2FkUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Rvd25sb2Fkcy9E
b3dubG9hZFByb3h5LmNwcAppbmRleCAxZDI5MjYxYjRiOTFmYmFhNjg0Zjk3OTAxZWRhNzdkM2Jm
OTQxYzliLi5mN2ZmZGM1Yjc5MTZkZDMyYzJiYzI1YWYzNzRhNTgxYzYwOTExOWQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5j
cHAKQEAgLTUxLDE1ICs1MSwxNiBAQCBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVEb3dubG9hZElE
KCkKICAgICByZXR1cm4gKyt1bmlxdWVEb3dubG9hZElEOwogfQogICAgIAotUGFzc1JlZlB0cjxE
b3dubG9hZFByb3h5PiBEb3dubG9hZFByb3h5OjpjcmVhdGUoRG93bmxvYWRQcm94eU1hcCYgZG93
bmxvYWRQcm94eU1hcCwgV2ViQ29udGV4dCYgd2ViQ29udGV4dCkKK1Bhc3NSZWZQdHI8RG93bmxv
YWRQcm94eT4gRG93bmxvYWRQcm94eTo6Y3JlYXRlKERvd25sb2FkUHJveHlNYXAmIGRvd25sb2Fk
UHJveHlNYXAsIFdlYkNvbnRleHQmIHdlYkNvbnRleHQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYg
cmVzb3VyY2VSZXF1ZXN0KQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgRG93bmxvYWRQcm94
eShkb3dubG9hZFByb3h5TWFwLCB3ZWJDb250ZXh0KSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBEb3dubG9hZFByb3h5KGRvd25sb2FkUHJveHlNYXAsIHdlYkNvbnRleHQsIHJlc291cmNlUmVx
dWVzdCkpOwogfQogCi1Eb3dubG9hZFByb3h5OjpEb3dubG9hZFByb3h5KERvd25sb2FkUHJveHlN
YXAmIGRvd25sb2FkUHJveHlNYXAsIFdlYkNvbnRleHQmIHdlYkNvbnRleHQpCitEb3dubG9hZFBy
b3h5OjpEb3dubG9hZFByb3h5KERvd25sb2FkUHJveHlNYXAmIGRvd25sb2FkUHJveHlNYXAsIFdl
YkNvbnRleHQmIHdlYkNvbnRleHQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1
ZXN0KQogICAgIDogbV9kb3dubG9hZFByb3h5TWFwKGRvd25sb2FkUHJveHlNYXApCiAgICAgLCBt
X3dlYkNvbnRleHQoJndlYkNvbnRleHQpCiAgICAgLCBtX2Rvd25sb2FkSUQoZ2VuZXJhdGVEb3du
bG9hZElEKCkpCisgICAgLCBtX3JlcXVlc3QocmVzb3VyY2VSZXF1ZXN0KQogewogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5oCmlu
ZGV4IDZmODUzNjE0NmMzYzFjOGIwMzI3ODRkMzIwNmFhNmVjY2FmOWVjOWUuLjZkOGY5YWE3MGNm
NGQ3YjcyZDFiNmYxMDQ1NDMwMWQ5MjQ2YTVlM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5oCkBAIC01MSw3ICs1MSw3IEBAIGNs
YXNzIFdlYlBhZ2VQcm94eTsKIAogY2xhc3MgRG93bmxvYWRQcm94eSA6IHB1YmxpYyBBUEk6Ok9i
amVjdEltcGw8QVBJOjpPYmplY3Q6OlR5cGU6OkRvd25sb2FkPiwgcHVibGljIElQQzo6TWVzc2Fn
ZVJlY2VpdmVyIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxEb3dubG9hZFByb3h5
PiBjcmVhdGUoRG93bmxvYWRQcm94eU1hcCYsIFdlYkNvbnRleHQmKTsKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxEb3dubG9hZFByb3h5PiBjcmVhdGUoRG93bmxvYWRQcm94eU1hcCYsIFdlYkNvbnRl
eHQmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKTsKICAgICB+RG93bmxvYWRQcm94
eSgpOwogCiAgICAgdWludDY0X3QgZG93bmxvYWRJRCgpIGNvbnN0IHsgcmV0dXJuIG1fZG93bmxv
YWRJRDsgfQpAQCAtNjcsNyArNjcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRSZWNlaXZlU3lu
Y0Rvd25sb2FkUHJveHlNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29k
ZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mKTsKIAogcHJpdmF0ZToK
LSAgICBleHBsaWNpdCBEb3dubG9hZFByb3h5KERvd25sb2FkUHJveHlNYXAmLCBXZWJDb250ZXh0
Jik7CisgICAgZXhwbGljaXQgRG93bmxvYWRQcm94eShEb3dubG9hZFByb3h5TWFwJiwgV2ViQ29u
dGV4dCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogCiAgICAgLy8gSVBDOjpN
ZXNzYWdlUmVjZWl2ZXIKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5TWFwLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eU1hcC5jcHAK
aW5kZXggZTYyNDZiMmEzNWIwNTRhNzQ4ODBiNTEyYTAyMDRiYjFjMzQwYjViMC4uODY5NTJkOGNj
NGM4YjMyNmQ1MmY5ZjgzYjhiMDkwMjc3ZTRmMzNiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5TWFwLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHlNYXAuY3BwCkBAIC00NCw5
ICs0NCw5IEBAIERvd25sb2FkUHJveHlNYXA6On5Eb3dubG9hZFByb3h5TWFwKCkKICAgICBBU1NF
UlQobV9kb3dubG9hZHMuaXNFbXB0eSgpKTsKIH0KIAotRG93bmxvYWRQcm94eSogRG93bmxvYWRQ
cm94eU1hcDo6Y3JlYXRlRG93bmxvYWRQcm94eShXZWJDb250ZXh0JiB3ZWJDb250ZXh0KQorRG93
bmxvYWRQcm94eSogRG93bmxvYWRQcm94eU1hcDo6Y3JlYXRlRG93bmxvYWRQcm94eShXZWJDb250
ZXh0JiB3ZWJDb250ZXh0LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNl
UmVxdWVzdCkKIHsKLSAgICBSZWZQdHI8RG93bmxvYWRQcm94eT4gZG93bmxvYWRQcm94eSA9IERv
d25sb2FkUHJveHk6OmNyZWF0ZSgqdGhpcywgd2ViQ29udGV4dCk7CisgICAgUmVmUHRyPERvd25s
b2FkUHJveHk+IGRvd25sb2FkUHJveHkgPSBEb3dubG9hZFByb3h5OjpjcmVhdGUoKnRoaXMsIHdl
YkNvbnRleHQsIHJlc291cmNlUmVxdWVzdCk7CiAgICAgbV9kb3dubG9hZHMuc2V0KGRvd25sb2Fk
UHJveHktPmRvd25sb2FkSUQoKSwgZG93bmxvYWRQcm94eSk7CiAKICAgICBtX3Byb2Nlc3MtPmFk
ZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6RG93bmxvYWRQcm94eTo6bWVzc2FnZVJlY2VpdmVy
TmFtZSgpLCBkb3dubG9hZFByb3h5LT5kb3dubG9hZElEKCksICpkb3dubG9hZFByb3h5KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94
eU1hcC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5
TWFwLmgKaW5kZXggNjZmNWY0MWQ4OTZjMDU4NTNlOGNlMTFhMjM0MGJjZTdiNDQ4Nzg1Yy4uYTUw
Yjk4MTIwMzY1ZTNmN2M2ODlkZWIxM2E2MDcwZWU1MzRkOTg3YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5TWFwLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5TWFwLmgKQEAgLTMw
LDYgKzMwLDEwIEBACiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KIAorbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgUmVzb3VyY2VSZXF1
ZXN0OworfQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgQ2hpbGRQcm9jZXNzUHJveHk7
CkBAIC00Myw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBEb3dubG9hZFByb3h5TWFw
KENoaWxkUHJvY2Vzc1Byb3h5Kik7CiAgICAgfkRvd25sb2FkUHJveHlNYXAoKTsKIAotICAgIERv
d25sb2FkUHJveHkqIGNyZWF0ZURvd25sb2FkUHJveHkoV2ViQ29udGV4dCYpOworICAgIERvd25s
b2FkUHJveHkqIGNyZWF0ZURvd25sb2FkUHJveHkoV2ViQ29udGV4dCYsIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYpOwogICAgIHZvaWQgZG93bmxvYWRGaW5pc2hlZChEb3dubG9hZFBy
b3h5Kik7CiAKICAgICBib29sIGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiBtX2Rvd25sb2Fkcy5p
c0VtcHR5KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3Jr
L05ldHdvcmtQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdv
cmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKaW5kZXggZTZkMDY5ZDk5NWI3OTA2NjBhYmI3MWQ1
ZWZjNjhmMjM5ZWY0NjMyOS4uNDk2NjdiOTUyNDAyNzAzN2I4YjMzMGIzMTE2OWU1NWI5N2YxMTg2
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1By
b2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvTmV0
d29ya1Byb2Nlc3NQcm94eS5jcHAKQEAgLTk3LDEyICs5NywxMiBAQCB2b2lkIE5ldHdvcmtQcm9j
ZXNzUHJveHk6OmdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbihQYXNzUmVmUHRyPE1lc3NhZ2Vz
OjpXZWJQcgogICAgIGNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6
OkNyZWF0ZU5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKCksIDAsIElQQzo6RGlzcGF0Y2hN
ZXNzYWdlRXZlbldoZW5XYWl0aW5nRm9yU3luY1JlcGx5KTsKIH0KIAotRG93bmxvYWRQcm94eSog
TmV0d29ya1Byb2Nlc3NQcm94eTo6Y3JlYXRlRG93bmxvYWRQcm94eSgpCitEb3dubG9hZFByb3h5
KiBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpjcmVhdGVEb3dubG9hZFByb3h5KGNvbnN0IFJlc291cmNl
UmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0KQogewogICAgIGlmICghbV9kb3dubG9hZFByb3h5TWFw
KQogICAgICAgICBtX2Rvd25sb2FkUHJveHlNYXAgPSBzdGQ6Om1ha2VfdW5pcXVlPERvd25sb2Fk
UHJveHlNYXA+KHRoaXMpOwogCi0gICAgcmV0dXJuIG1fZG93bmxvYWRQcm94eU1hcC0+Y3JlYXRl
RG93bmxvYWRQcm94eShtX3dlYkNvbnRleHQpOworICAgIHJldHVybiBtX2Rvd25sb2FkUHJveHlN
YXAtPmNyZWF0ZURvd25sb2FkUHJveHkobV93ZWJDb250ZXh0LCByZXNvdXJjZVJlcXVlc3QpOwog
fQogCiB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6Om5ldHdvcmtQcm9jZXNzQ3Jhc2hlZE9yRmFp
bGVkVG9MYXVuY2goKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdv
cmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdv
cmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCmluZGV4IGQyMGQzYmIwNDM0NmQ1ODA4MGU5ZTk4NmIx
M2JlZDgwYTk1YTMzMjQuLmM5MmI5OGZjY2JjZGJlOGQ2NmM2ZmZjNmQwMjU5MjUzNDlkYjFlOTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9j
ZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3Jr
UHJvY2Vzc1Byb3h5LmgKQEAgLTQ0LDYgKzQ0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CitjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiB9
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNjAsNyArNjEsNyBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIGdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbihQYXNzUmVmUHRyPE1lc3NhZ2VzOjpXZWJQ
cm9jZXNzUHJveHk6OkdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6RGVsYXllZFJlcGx5Pik7
CiAKLSAgICBEb3dubG9hZFByb3h5KiBjcmVhdGVEb3dubG9hZFByb3h5KCk7CisgICAgRG93bmxv
YWRQcm94eSogY3JlYXRlRG93bmxvYWRQcm94eShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZvaWQgc2V0UHJvY2Vzc1N1cHByZXNz
aW9uRW5hYmxlZChib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcApp
bmRleCA2YTI0M2M3YmE4MDg4MTkwY2MyZTdhNDg4NzA3OTAxOGU4ZDkwNjQwLi5hZDVmZGExMzUw
N2IxY2Q0NjMzMjY5N2IxMWJkNTUxN2Y5MjJkN2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkNvbnRleHQuY3BwCkBAIC04ODMsNyArODgzLDcgQEAgUGFzc1JlZlB0cjxXZWJQYWdlUHJv
eHk+IFdlYkNvbnRleHQ6OmNyZWF0ZVdlYlBhZ2UoUGFnZUNsaWVudCYgcGFnZUNsaWVudCwgV2Vi
UGEKIAogRG93bmxvYWRQcm94eSogV2ViQ29udGV4dDo6ZG93bmxvYWQoV2ViUGFnZVByb3h5KiBp
bml0aWF0aW5nUGFnZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogewotICAgIERv
d25sb2FkUHJveHkqIGRvd25sb2FkUHJveHkgPSBjcmVhdGVEb3dubG9hZFByb3h5KCk7CisgICAg
RG93bmxvYWRQcm94eSogZG93bmxvYWRQcm94eSA9IGNyZWF0ZURvd25sb2FkUHJveHkocmVxdWVz
dCk7CiAgICAgdWludDY0X3QgaW5pdGlhdGluZ1BhZ2VJRCA9IGluaXRpYXRpbmdQYWdlID8gaW5p
dGlhdGluZ1BhZ2UtPnBhZ2VJRCgpIDogMDsKIAogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1Mp
CkBAIC0xMDU1LDE3ICsxMDU1LDE3IEBAIHZvaWQgV2ViQ29udGV4dDo6c2V0RGVmYXVsdFJlcXVl
c3RUaW1lb3V0SW50ZXJ2YWwoZG91YmxlIHRpbWVvdXRJbnRlcnZhbCkKICAgICBzZW5kVG9BbGxQ
cm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlNldERlZmF1bHRSZXF1ZXN0VGltZW91dElu
dGVydmFsKHRpbWVvdXRJbnRlcnZhbCkpOwogfQogCi1Eb3dubG9hZFByb3h5KiBXZWJDb250ZXh0
OjpjcmVhdGVEb3dubG9hZFByb3h5KCkKK0Rvd25sb2FkUHJveHkqIFdlYkNvbnRleHQ6OmNyZWF0
ZURvd25sb2FkUHJveHkoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogewogI2lmIEVO
QUJMRShORVRXT1JLX1BST0NFU1MpCiAgICAgaWYgKHVzZXNOZXR3b3JrUHJvY2VzcygpKSB7CiAg
ICAgICAgIGVuc3VyZU5ldHdvcmtQcm9jZXNzKCk7CiAgICAgICAgIEFTU0VSVChtX25ldHdvcmtQ
cm9jZXNzKTsKLSAgICAgICAgcmV0dXJuIG1fbmV0d29ya1Byb2Nlc3MtPmNyZWF0ZURvd25sb2Fk
UHJveHkoKTsKKyAgICAgICAgcmV0dXJuIG1fbmV0d29ya1Byb2Nlc3MtPmNyZWF0ZURvd25sb2Fk
UHJveHkocmVxdWVzdCk7CiAgICAgfQogI2VuZGlmCiAKLSAgICByZXR1cm4gZW5zdXJlU2hhcmVk
V2ViUHJvY2VzcygpLmNyZWF0ZURvd25sb2FkUHJveHkoKTsKKyAgICByZXR1cm4gZW5zdXJlU2hh
cmVkV2ViUHJvY2VzcygpLmNyZWF0ZURvd25sb2FkUHJveHkocmVxdWVzdCk7CiB9CiAKIHZvaWQg
V2ViQ29udGV4dDo6YWRkTWVzc2FnZVJlY2VpdmVyKElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3Nh
Z2VSZWNlaXZlck5hbWUsIElQQzo6TWVzc2FnZVJlY2VpdmVyJiBtZXNzYWdlUmVjZWl2ZXIpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAppbmRleCA0MjRhNjViYzUxNTQ3MjAwN2Ey
Yzk3NWVlZDRkZWEyNjVjOWY1YTEzLi42NjE5NjU3YzYxMTUyNWMzOTIxN2NjOTNjZDA0ZjczYjJk
MTQ4NDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKQEAgLTIzMCw3ICsy
MzAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRFbmhhbmNlZEFjY2Vzc2liaWxpdHkoYm9vbCk7
CiAgICAgCiAgICAgLy8gRG93bmxvYWRzLgotICAgIERvd25sb2FkUHJveHkqIGNyZWF0ZURvd25s
b2FkUHJveHkoKTsKKyAgICBEb3dubG9hZFByb3h5KiBjcmVhdGVEb3dubG9hZFByb3h5KGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogICAgIEFQSTo6RG93bmxvYWRDbGllbnQmIGRv
d25sb2FkQ2xpZW50KCkgeyByZXR1cm4gKm1fZG93bmxvYWRDbGllbnQ7IH0KIAogICAgIEFQSTo6
SGlzdG9yeUNsaWVudCYgaGlzdG9yeUNsaWVudCgpIHsgcmV0dXJuICptX2hpc3RvcnlDbGllbnQ7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggM2FjYTRl
YzdmY2JhMzY3YjU5YTg2ZDZhMTc2MDUxZWNkY2Q0N2ZmNy4uNzFhOGZlODAzZDA0MjUwNmIzMGY1
YTkwZjU5YzMzNDJhYmY5YTliNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKQEAgLTE3ODgsNyArMTc4OCw4IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZWNlaXZl
ZFBvbGljeURlY2lzaW9uKFBvbGljeUFjdGlvbiBhY3Rpb24sIFdlYkZyYW1lUHJveHkqIGZyCiAg
ICAgdWludDY0X3QgZG93bmxvYWRJRCA9IDA7CiAgICAgaWYgKGFjdGlvbiA9PSBQb2xpY3lEb3du
bG9hZCkgewogICAgICAgICAvLyBDcmVhdGUgYSBkb3dubG9hZCBwcm94eS4KLSAgICAgICAgRG93
bmxvYWRQcm94eSogZG93bmxvYWQgPSBtX3Byb2Nlc3MtPmNvbnRleHQoKS5jcmVhdGVEb3dubG9h
ZFByb3h5KCk7CisgICAgICAgIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgZG93bmxvYWRSZXF1ZXN0
ID0gbV9kZWNpZGVQb2xpY3lGb3JSZXNwb25zZVJlcXVlc3QgPyAqbV9kZWNpZGVQb2xpY3lGb3JS
ZXNwb25zZVJlcXVlc3QgOiBSZXNvdXJjZVJlcXVlc3QoKTsKKyAgICAgICAgRG93bmxvYWRQcm94
eSogZG93bmxvYWQgPSBtX3Byb2Nlc3MtPmNvbnRleHQoKS5jcmVhdGVEb3dubG9hZFByb3h5KGRv
d25sb2FkUmVxdWVzdCk7CiAgICAgICAgIGRvd25sb2FkSUQgPSBkb3dubG9hZC0+ZG93bmxvYWRJ
RCgpOwogICAgICAgICBoYW5kbGVEb3dubG9hZFJlcXVlc3QoZG93bmxvYWQpOwogICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKaW5kZXggZTc5ZGU0
NmZhY2NlMDZjODA2YTI0OTUyMzVmYTAwOTFlMzA1MWNlZC4uOGE2YjU4MzFkYjE5MTQzZDEyNDBm
ZjE4MjJjMWRiYjRmYzYyNzJhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5jcHAKQEAgLTYwOSw3ICs2MDksNyBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6
dXBkYXRlVGV4dENoZWNrZXJTdGF0ZSgpCiAgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlByb2Nl
c3M6OlNldFRleHRDaGVja2VyU3RhdGUoVGV4dENoZWNrZXI6OnN0YXRlKCkpLCAwKTsKIH0KIAot
RG93bmxvYWRQcm94eSogV2ViUHJvY2Vzc1Byb3h5OjpjcmVhdGVEb3dubG9hZFByb3h5KCkKK0Rv
d25sb2FkUHJveHkqIFdlYlByb2Nlc3NQcm94eTo6Y3JlYXRlRG93bmxvYWRQcm94eShjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCiB7CiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykK
ICAgICBBU1NFUlQoIW1fY29udGV4dC0+dXNlc05ldHdvcmtQcm9jZXNzKCkpOwpAQCAtNjE4LDcg
KzYxOCw3IEBAIERvd25sb2FkUHJveHkqIFdlYlByb2Nlc3NQcm94eTo6Y3JlYXRlRG93bmxvYWRQ
cm94eSgpCiAgICAgaWYgKCFtX2Rvd25sb2FkUHJveHlNYXApCiAgICAgICAgIG1fZG93bmxvYWRQ
cm94eU1hcCA9IHN0ZDo6bWFrZV91bmlxdWU8RG93bmxvYWRQcm94eU1hcD4odGhpcyk7CiAKLSAg
ICByZXR1cm4gbV9kb3dubG9hZFByb3h5TWFwLT5jcmVhdGVEb3dubG9hZFByb3h5KG1fY29udGV4
dC5nZXQoKSk7CisgICAgcmV0dXJuIG1fZG93bmxvYWRQcm94eU1hcC0+Y3JlYXRlRG93bmxvYWRQ
cm94eShtX2NvbnRleHQuZ2V0KCksIHJlcXVlc3QpOwogfQogCiB2b2lkIFdlYlByb2Nlc3NQcm94
eTo6ZGlkTmF2aWdhdGVXaXRoTmF2aWdhdGlvbkRhdGEodWludDY0X3QgcGFnZUlELCBjb25zdCBX
ZWJOYXZpZ2F0aW9uRGF0YVN0b3JlJiBzdG9yZSwgdWludDY0X3QgZnJhbWVJRCkgCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKaW5kZXggYjQwY2RmM2M3YjM3YzU5
MGUwMmM3NmI2MjdjZjUyYWJkMWE5YjdhMS4uZWEzNDgwYTQ3YmNkNDAxNjVlOGNlMmFlOTQzNmQ4
MTYwZjFlNmUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
aApAQCAtNTIsNiArNTIsNyBAQAogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNz
IFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFVSTDsKIHN0cnVjdCBQbHVnaW5JbmZvOwogfTsKQEAg
LTExOCw3ICsxMTksNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgYm9vbCBmdWxsS2V5Ym9hcmRB
Y2Nlc3NFbmFibGVkKCk7CiAKLSAgICBEb3dubG9hZFByb3h5KiBjcmVhdGVEb3dubG9hZFByb3h5
KCk7CisgICAgRG93bmxvYWRQcm94eSogY3JlYXRlRG93bmxvYWRQcm94eShjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QmKTsKIAogICAgIHZvaWQgcGFnZVN1cHByZXNzaWJpbGl0eUNoYW5n
ZWQoV2ViUGFnZVByb3h5Kik7CiAgICAgdm9pZCBwYWdlUHJlZmVyZW5jZXNDaGFuZ2VkKFdlYlBh
Z2VQcm94eSopOwo=
</data>
<flag name="review"
          id="263832"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>