<?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>137367</bug_id>
          
          <creation_ts>2014-10-02 16:22:04 -0700</creation_ts>
          <short_desc>[Mac] We are spending too much time serializing ProtectionSpace objects</short_desc>
          <delta_ts>2014-10-06 15:07:32 -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>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.9</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>barraclough</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1039028</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-02 16:22:04 -0700</bug_when>
    <thetext>When profiling the load of nytimes.com, I noticed that we were spending a lot of cpu time serializing ProtectionSpace objects (in particular the NSURLProtectionSpace platform data):
- 5.6% of CPU time for Network Process
- 2.5% of CPU time for WebProcess

Serializing an NSURLProtectionSpace seems to be costly due to server trust verification. We do this for every sub-resource load over HTTPS due to the canAuthenticateAgainstProtectionSpace() callback for server trust validation, from the NetworkProcess to the WebProcess and then to the UIProcess:

After discussing with Dan, a possibility for the short-term would be to add a &quot;LetPlatformHandleServerTrustValidation&quot; setting so that we can let CFNetwork handle the server trust validation (this is what ends up happening anyway currently), to avoid doing all the IPC (and thus serialization) unnecessarily for server trust validation, if the client does not handle it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039037</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-02 16:37:36 -0700</bug_when>
    <thetext>I was thinking &quot;setShouldHandleHTTPSServerTrustEvaluationAtNetworkLevel(bool)&quot; for the (private) setting. Any thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039056</commentid>
    <comment_count>2</comment_count>
      <attachid>239158</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-02 17:06:58 -0700</bug_when>
    <thetext>Created attachment 239158
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039057</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-02 17:09:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/18516890&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039058</commentid>
    <comment_count>4</comment_count>
      <attachid>239159</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-02 17:10:56 -0700</bug_when>
    <thetext>Created attachment 239159
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039251</commentid>
    <comment_count>5</comment_count>
      <attachid>239210</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-03 10:37:35 -0700</bug_when>
    <thetext>Created attachment 239210
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039262</commentid>
    <comment_count>6</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-10-03 10:56:36 -0700</bug_when>
    <thetext>Just a couple of comments:
1. If a Networking process crashes and the WebContext launches a new one to replace it, it will lose this state. To fix this, the WebContext needs to keep the flag and include it in the initialization parameters to the Networking process.
2. This should also be exposed as WKProcessPool SPI so that it can be used by clients of that API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039274</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-03 11:05:16 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Just a couple of comments:
&gt; 1. If a Networking process crashes and the WebContext launches a new one to replace it, it will lose this state. To fix this, the WebContext needs to keep the flag and include it in the initialization parameters to the Networking process.
&gt; 2. This should also be exposed as WKProcessPool SPI so that it can be used by clients of that API.

Thanks for the feedback, this is very helpful. I will address these issues soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039286</commentid>
    <comment_count>8</comment_count>
      <attachid>239218</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-03 11:52:47 -0700</bug_when>
    <thetext>Created attachment 239218
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039295</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-03 12:32:33 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Just a couple of comments:
&gt; 1. If a Networking process crashes and the WebContext launches a new one to replace it, it will lose this state. To fix this, the WebContext needs to keep the flag and include it in the initialization parameters to the Networking process.
&gt; 2. This should also be exposed as WKProcessPool SPI so that it can be used by clients of that API.

All done in the latest patch iteration, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039791</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-06 12:34:46 -0700</bug_when>
    <thetext>Ping review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039824</commentid>
    <comment_count>11</comment_count>
      <attachid>239218</attachid>
    <who name="">mitz</who>
    <bug_when>2014-10-06 14:26:30 -0700</bug_when>
    <thetext>Comment on attachment 239218
Patch

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

&gt; Source/WebKit2/ChangeLog:9
&gt; +        a lot of cpu time serializing ProtectionSpace objects (in particular

CPU

&gt; Source/WebKit2/ChangeLog:46
&gt; +

You need to update the change log to include the WKProcessPool changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039827</commentid>
    <comment_count>12</comment_count>
      <attachid>239356</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-06 14:30:57 -0700</bug_when>
    <thetext>Created attachment 239356
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039850</commentid>
    <comment_count>13</comment_count>
      <attachid>239356</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-06 15:07:26 -0700</bug_when>
    <thetext>Comment on attachment 239356
Patch

Clearing flags on attachment: 239356

Committed r174369: &lt;http://trac.webkit.org/changeset/174369&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039851</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-06 15:07:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239158</attachid>
            <date>2014-10-02 17:06:58 -0700</date>
            <delta_ts>2014-10-02 17:10:56 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>137367_server_trust_perf.patch</filename>
            <type>text/plain</type>
            <size>7571</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApp
bmRleCBlMTJmOGE1Li45NTM3Mzg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCkBAIC02Nyw2ICs2Nyw3IEBAIE5ldHdvcmtQcm9jZXNz
JiBOZXR3b3JrUHJvY2Vzczo6c2hhcmVkKCkKIE5ldHdvcmtQcm9jZXNzOjpOZXR3b3JrUHJvY2Vz
cygpCiAgICAgOiBtX2hhc1NldENhY2hlTW9kZWwoZmFsc2UpCiAgICAgLCBtX2NhY2hlTW9kZWwo
Q2FjaGVNb2RlbERvY3VtZW50Vmlld2VyKQorICAgICwgbV9oYW5kbGVIVFRQU1NlcnZlclRydXN0
RXZhbHVhdGlvbkF0TmV0d29ya0xldmVsKGZhbHNlKQogI2lmIFBMQVRGT1JNKENPQ09BKQogICAg
ICwgbV9jbGVhckNhY2hlRGlzcGF0Y2hHcm91cCgwKQogI2VuZGlmCkBAIC0yNTIsNiArMjUzLDEx
IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldENhY2hlTW9kZWwodWludDMyX3QgY20pCiAgICAg
fQogfQogCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpzZXRTaG91bGRIYW5kbGVIVFRQU1NlcnZlclRy
dXN0RXZhbHVhdGlvbkF0TmV0d29ya0xldmVsKGJvb2wgaGFuZGxlQXROZXR3b3JrTGV2ZWwpCit7
CisgICAgbV9oYW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbkF0TmV0d29ya0xldmVsID0g
aGFuZGxlQXROZXR3b3JrTGV2ZWw7Cit9CisKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmdldE5ldHdv
cmtQcm9jZXNzU3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lEKQogewogICAgIE5ldHdvcmtS
ZXNvdXJjZUxvYWRTY2hlZHVsZXImIHNjaGVkdWxlciA9IE5ldHdvcmtQcm9jZXNzOjpzaGFyZWQo
KS5uZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCA3OWQ0NjQ0Li5mZTdkZTMyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTcz
LDYgKzczLDcgQEAgcHVibGljOgogCiAgICAgQXV0aGVudGljYXRpb25NYW5hZ2VyJiBhdXRoZW50
aWNhdGlvbk1hbmFnZXIoKTsKICAgICBEb3dubG9hZE1hbmFnZXImIGRvd25sb2FkTWFuYWdlcigp
OworICAgIGJvb2wgc2hvdWxkSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb25BdE5ldHdv
cmtMZXZlbCgpIGNvbnN0IHsgcmV0dXJuIG1faGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRp
b25BdE5ldHdvcmtMZXZlbDsgfQogCiBwcml2YXRlOgogICAgIE5ldHdvcmtQcm9jZXNzKCk7CkBA
IC0xMTUsNiArMTE2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNhbmNlbERvd25sb2FkKHVpbnQ2
NF90IGRvd25sb2FkSUQpOwogICAgIHZvaWQgc2V0Q2FjaGVNb2RlbCh1aW50MzJfdCk7CiAgICAg
dm9pZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ29yZTo6
Q2VydGlmaWNhdGVJbmZvJiwgY29uc3QgU3RyaW5nJiBob3N0KTsKKyAgICB2b2lkIHNldFNob3Vs
ZEhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uQXROZXR3b3JrTGV2ZWwoYm9vbCk7CiAg
ICAgdm9pZCBnZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0X3QgY2FsbGJhY2tJRCk7
CiAgICAgdm9pZCBjbGVhckNhY2hlRm9yQWxsT3JpZ2lucyh1aW50MzJfdCBjYWNoZXNUb0NsZWFy
KTsKIApAQCAtMTM0LDYgKzEzNiw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fZGlza0NhY2hl
RGlyZWN0b3J5OwogICAgIGJvb2wgbV9oYXNTZXRDYWNoZU1vZGVsOwogICAgIENhY2hlTW9kZWwg
bV9jYWNoZU1vZGVsOworICAgIGJvb2wgbV9oYW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlv
bkF0TmV0d29ya0xldmVsOwogCiAgICAgdHlwZWRlZiBIYXNoTWFwPGNvbnN0IGNoYXIqLCBzdGQ6
OnVuaXF1ZV9wdHI8TmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50PiwgUHRySGFzaDxjb25zdCBjaGFy
Kj4+IE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudE1hcDsKICAgICBOZXR3b3JrUHJvY2Vzc1N1cHBs
ZW1lbnRNYXAgbV9zdXBwbGVtZW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggNzQ5OTQ0OS4uNmJl
YzZlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTQ2LDYgKzQ2LDcgQEAgbWVzc2FnZXMgLT4gTmV0
d29ya1Byb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogI2VuZGlmCiAKICAgICBBbGxvd1NwZWNpZmlj
SFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmlj
YXRlLCBTdHJpbmcgaG9zdCkKKyAgICBTZXRTaG91bGRIYW5kbGVIVFRQU1NlcnZlclRydXN0RXZh
bHVhdGlvbkF0TmV0d29ya0xldmVsKGJvb2wgaGFuZGxlQXROZXR3b3JrTGV2ZWwpCiAgICAgCiAg
ICAgR2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAgICAg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZGVyLmNwcAppbmRleCAyZWRiZGY5Li45NDc4MDI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAg
LTQ3NSw2ICs0NzUsMTMgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmNhbkF1dGhlbnRp
Y2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2VBc3luYyhSZXNvdXJjZUgKICAgICBBU1NFUlQoUnVu
TG9vcDo6aXNNYWluKCkpOwogICAgIEFTU0VSVF9VTlVTRUQoaGFuZGxlLCBoYW5kbGUgPT0gbV9o
YW5kbGUpOwogCisgICAgLy8gSGFuZGxlIHNlcnZlciB0cnVzdCBldmFsdWF0aW9uIGF0IHBsYXRm
b3JtLWxldmVsIGlmIHJlcXVlc3RlZCwgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMuCisgICAgaWYg
KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgpID09IFByb3RlY3Rpb25TcGFj
ZUF1dGhlbnRpY2F0aW9uU2NoZW1lU2VydmVyVHJ1c3RFdmFsdWF0aW9uUmVxdWVzdGVkCisgICAg
ICAgICYmIE5ldHdvcmtQcm9jZXNzOjpzaGFyZWQoKS5zaG91bGRIYW5kbGVIVFRQU1NlcnZlclRy
dXN0RXZhbHVhdGlvbkF0TmV0d29ya0xldmVsKCkpIHsKKyAgICAgICAgY29udGludWVDYW5BdXRo
ZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKGZhbHNlKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKwogICAgIGlmIChpc1N5bmNocm9ub3VzKCkpIHsKICAgICAgICAgLy8gRklYTUU6IFdl
IHNob3VsZCBhc2sgdGhlIFdlYlByb2Nlc3MgbGlrZSB0aGUgYXN5bmNocm9ub3VzIGNhc2UgYmVs
b3cgZG9lcy4KICAgICAgICAgLy8gVGhpcyBpcyBjdXJyZW50bHkgaW1wb3NzaWJsZSBhcyB0aGUg
V2ViUHJvY2VzcyBpcyBibG9ja2VkIHdhaXRpbmcgb24gdGhpcyBzeW5jaHJvbm91cyBsb2FkLgpA
QCAtNDgyLDYgKzQ4OSw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpjYW5BdXRoZW50
aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlQXN5bmMoUmVzb3VyY2VICiAgICAgICAgIGNvbnRp
bnVlQ2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZSh0cnVlKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KKwogICAgIHNlbmRBYm9ydGluZ09uRmFpbHVyZShNZXNzYWdlczo6V2Vi
UmVzb3VyY2VMb2FkZXI6OkNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UocHJv
dGVjdGlvblNwYWNlKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS0NvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
Q29udGV4dC5jcHAKaW5kZXggOWViZWI1My4uMTkyOGVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAKQEAgLTM4NSw2ICszODUsMTEgQEAgdm9pZCBX
S0NvbnRleHRTZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKFdLQ29udGV4
dFJlZiBjb250ZXh0UmVmLAogICAgIHRvSW1wbChjb250ZXh0UmVmKS0+c2V0RG9tYWluUmVsYXhh
dGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZSh0b0ltcGwodXJsU2NoZW1lKS0+c3RyaW5nKCkpOwog
fQogCit2b2lkIFdLQ29udGV4dFNldFNob3VsZEhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0
aW9uQXROZXR3b3JrTGV2ZWwoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIGJvb2wgaGFuZGxlQXRO
ZXR3b3JrTGV2ZWwpCit7CisgICAgdG9JbXBsKGNvbnRleHRSZWYpLT5zZXRTaG91bGRIYW5kbGVI
VFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbkF0TmV0d29ya0xldmVsKGhhbmRsZUF0TmV0d29ya0xl
dmVsKTsKK30KKwogV0tDb29raWVNYW5hZ2VyUmVmIFdLQ29udGV4dEdldENvb2tpZU1hbmFnZXIo
V0tDb250ZXh0UmVmIGNvbnRleHRSZWYpCiB7CiAgICAgcmV0dXJuIHRvQVBJKHRvSW1wbChjb250
ZXh0UmVmKS0+c3VwcGxlbWVudDxXZWJDb29raWVNYW5hZ2VyUHJveHk+KCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmgKaW5kZXggNmE4
YjBjZC4uMmVlZmU5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLQ29udGV4dFByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tDb250ZXh0UHJpdmF0ZS5oCkBAIC01Niw2ICs1Niw4IEBAIFdLX0VYUE9SVCB2b2lkIFdLQ29u
dGV4dFJlZ2lzdGVyVVJMU2NoZW1lQXNDYWNoZVBhcnRpdGlvbmVkKFdLQ29udGV4dFJlZiBjb250
ZXh0CiAKIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRk
ZW5Gb3JVUkxTY2hlbWUoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLU3RyaW5nUmVmIHVybFNjaGVt
ZSk7CiAKK1dLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldFNob3VsZEhhbmRsZUhUVFBTU2VydmVy
VHJ1c3RFdmFsdWF0aW9uQXROZXR3b3JrTGV2ZWwoV0tDb250ZXh0UmVmIGNvbnRleHQsIGJvb2wg
aGFuZGxlQXROZXR3b3JrTGV2ZWwpOworCiBXS19FWFBPUlQgdm9pZCBXS0NvbnRleHRTZXRJY29u
RGF0YWJhc2VQYXRoKFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS1N0cmluZ1JlZiBpY29uRGF0YWJh
c2VQYXRoKTsKIAogV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0QWxsb3dTcGVjaWZpY0hUVFBTQ2Vy
dGlmaWNhdGVGb3JIb3N0KFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS0NlcnRpZmljYXRlSW5mb1Jl
ZiBjZXJ0aWZpY2F0ZSwgV0tTdHJpbmdSZWYgaG9zdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViQ29udGV4dC5jcHAKaW5kZXggYWQ1ZmRhMS4uNTdhODZmMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJDb250ZXh0LmNwcApAQCAtOTgwLDYgKzk4MCwxOCBAQCB2b2lkIFdlYkNvbnRl
eHQ6OnNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUoY29uc3QgU3RyaW5n
JiB1cmxTY2hlbQogICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6
U2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZSh1cmxTY2hlbWUpKTsKIH0K
IAordm9pZCBXZWJDb250ZXh0OjpzZXRTaG91bGRIYW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVh
dGlvbkF0TmV0d29ya0xldmVsKGJvb2wgaGFuZGxlQXROZXR3b3JrTGV2ZWwpCit7CisjaWYgRU5B
QkxFKE5FVFdPUktfUFJPQ0VTUykKKyAgICBpZiAobV91c2VzTmV0d29ya1Byb2Nlc3MgJiYgbV9u
ZXR3b3JrUHJvY2VzcykgeworICAgICAgICBtX25ldHdvcmtQcm9jZXNzLT5zZW5kKE1lc3NhZ2Vz
OjpOZXR3b3JrUHJvY2Vzczo6U2V0U2hvdWxkSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRp
b25BdE5ldHdvcmtMZXZlbChoYW5kbGVBdE5ldHdvcmtMZXZlbCksIDApOworICAgICAgICByZXR1
cm47CisgICAgfQorI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oaGFuZGxlQXROZXR3b3JrTGV2ZWwp
OworI2VuZGlmCit9CisKIHZvaWQgV2ViQ29udGV4dDo6cmVnaXN0ZXJVUkxTY2hlbWVBc0xvY2Fs
KGNvbnN0IFN0cmluZyYgdXJsU2NoZW1lKQogewogICAgIG1fc2NoZW1lc1RvUmVnaXN0ZXJBc0xv
Y2FsLmFkZCh1cmxTY2hlbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkNvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKaW5k
ZXggNjYxOTY1Ny4uMDZkNjlmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5o
CkBAIC0yMDIsNiArMjAyLDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVnaXN0ZXJVUkxTY2hlbWVB
c0VtcHR5RG9jdW1lbnQoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCByZWdpc3RlclVSTFNjaGVt
ZUFzU2VjdXJlKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgc2V0RG9tYWluUmVsYXhhdGlvbkZv
cmJpZGRlbkZvclVSTFNjaGVtZShjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldFNob3VsZEhh
bmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uQXROZXR3b3JrTGV2ZWwoYm9vbCk7CiAgICAg
dm9pZCByZWdpc3RlclVSTFNjaGVtZUFzTG9jYWwoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBy
ZWdpc3RlclVSTFNjaGVtZUFzTm9BY2Nlc3MoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCByZWdp
c3RlclVSTFNjaGVtZUFzRGlzcGxheUlzb2xhdGVkKGNvbnN0IFN0cmluZyYpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239159</attachid>
            <date>2014-10-02 17:10:56 -0700</date>
            <delta_ts>2014-10-03 10:37:30 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>137367_server_trust_perf.patch</filename>
            <type>text/plain</type>
            <size>7264</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApp
bmRleCBlMTJmOGE1Li45NTM3Mzg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCkBAIC02Nyw2ICs2Nyw3IEBAIE5ldHdvcmtQcm9jZXNz
JiBOZXR3b3JrUHJvY2Vzczo6c2hhcmVkKCkKIE5ldHdvcmtQcm9jZXNzOjpOZXR3b3JrUHJvY2Vz
cygpCiAgICAgOiBtX2hhc1NldENhY2hlTW9kZWwoZmFsc2UpCiAgICAgLCBtX2NhY2hlTW9kZWwo
Q2FjaGVNb2RlbERvY3VtZW50Vmlld2VyKQorICAgICwgbV9oYW5kbGVIVFRQU1NlcnZlclRydXN0
RXZhbHVhdGlvbkF0TmV0d29ya0xldmVsKGZhbHNlKQogI2lmIFBMQVRGT1JNKENPQ09BKQogICAg
ICwgbV9jbGVhckNhY2hlRGlzcGF0Y2hHcm91cCgwKQogI2VuZGlmCkBAIC0yNTIsNiArMjUzLDEx
IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldENhY2hlTW9kZWwodWludDMyX3QgY20pCiAgICAg
fQogfQogCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpzZXRTaG91bGRIYW5kbGVIVFRQU1NlcnZlclRy
dXN0RXZhbHVhdGlvbkF0TmV0d29ya0xldmVsKGJvb2wgaGFuZGxlQXROZXR3b3JrTGV2ZWwpCit7
CisgICAgbV9oYW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbkF0TmV0d29ya0xldmVsID0g
aGFuZGxlQXROZXR3b3JrTGV2ZWw7Cit9CisKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmdldE5ldHdv
cmtQcm9jZXNzU3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lEKQogewogICAgIE5ldHdvcmtS
ZXNvdXJjZUxvYWRTY2hlZHVsZXImIHNjaGVkdWxlciA9IE5ldHdvcmtQcm9jZXNzOjpzaGFyZWQo
KS5uZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCA3OWQ0NjQ0Li5mZTdkZTMyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTcz
LDYgKzczLDcgQEAgcHVibGljOgogCiAgICAgQXV0aGVudGljYXRpb25NYW5hZ2VyJiBhdXRoZW50
aWNhdGlvbk1hbmFnZXIoKTsKICAgICBEb3dubG9hZE1hbmFnZXImIGRvd25sb2FkTWFuYWdlcigp
OworICAgIGJvb2wgc2hvdWxkSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb25BdE5ldHdv
cmtMZXZlbCgpIGNvbnN0IHsgcmV0dXJuIG1faGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRp
b25BdE5ldHdvcmtMZXZlbDsgfQogCiBwcml2YXRlOgogICAgIE5ldHdvcmtQcm9jZXNzKCk7CkBA
IC0xMTUsNiArMTE2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNhbmNlbERvd25sb2FkKHVpbnQ2
NF90IGRvd25sb2FkSUQpOwogICAgIHZvaWQgc2V0Q2FjaGVNb2RlbCh1aW50MzJfdCk7CiAgICAg
dm9pZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ29yZTo6
Q2VydGlmaWNhdGVJbmZvJiwgY29uc3QgU3RyaW5nJiBob3N0KTsKKyAgICB2b2lkIHNldFNob3Vs
ZEhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uQXROZXR3b3JrTGV2ZWwoYm9vbCk7CiAg
ICAgdm9pZCBnZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0X3QgY2FsbGJhY2tJRCk7
CiAgICAgdm9pZCBjbGVhckNhY2hlRm9yQWxsT3JpZ2lucyh1aW50MzJfdCBjYWNoZXNUb0NsZWFy
KTsKIApAQCAtMTM0LDYgKzEzNiw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fZGlza0NhY2hl
RGlyZWN0b3J5OwogICAgIGJvb2wgbV9oYXNTZXRDYWNoZU1vZGVsOwogICAgIENhY2hlTW9kZWwg
bV9jYWNoZU1vZGVsOworICAgIGJvb2wgbV9oYW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlv
bkF0TmV0d29ya0xldmVsOwogCiAgICAgdHlwZWRlZiBIYXNoTWFwPGNvbnN0IGNoYXIqLCBzdGQ6
OnVuaXF1ZV9wdHI8TmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50PiwgUHRySGFzaDxjb25zdCBjaGFy
Kj4+IE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudE1hcDsKICAgICBOZXR3b3JrUHJvY2Vzc1N1cHBs
ZW1lbnRNYXAgbV9zdXBwbGVtZW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggNzQ5OTQ0OS4uNmJl
YzZlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTQ2LDYgKzQ2LDcgQEAgbWVzc2FnZXMgLT4gTmV0
d29ya1Byb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogI2VuZGlmCiAKICAgICBBbGxvd1NwZWNpZmlj
SFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmlj
YXRlLCBTdHJpbmcgaG9zdCkKKyAgICBTZXRTaG91bGRIYW5kbGVIVFRQU1NlcnZlclRydXN0RXZh
bHVhdGlvbkF0TmV0d29ya0xldmVsKGJvb2wgaGFuZGxlQXROZXR3b3JrTGV2ZWwpCiAgICAgCiAg
ICAgR2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAgICAg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZGVyLmNwcAppbmRleCAyZWRiZGY5Li4xYTY3MmJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAg
LTQ3NSw2ICs0NzUsMTMgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmNhbkF1dGhlbnRp
Y2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2VBc3luYyhSZXNvdXJjZUgKICAgICBBU1NFUlQoUnVu
TG9vcDo6aXNNYWluKCkpOwogICAgIEFTU0VSVF9VTlVTRUQoaGFuZGxlLCBoYW5kbGUgPT0gbV9o
YW5kbGUpOwogCisgICAgLy8gSGFuZGxlIHNlcnZlciB0cnVzdCBldmFsdWF0aW9uIGF0IHBsYXRm
b3JtLWxldmVsIGlmIHJlcXVlc3RlZCwgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMuCisgICAgaWYg
KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgpID09IFByb3RlY3Rpb25TcGFj
ZUF1dGhlbnRpY2F0aW9uU2NoZW1lU2VydmVyVHJ1c3RFdmFsdWF0aW9uUmVxdWVzdGVkCisgICAg
ICAgICYmIE5ldHdvcmtQcm9jZXNzOjpzaGFyZWQoKS5zaG91bGRIYW5kbGVIVFRQU1NlcnZlclRy
dXN0RXZhbHVhdGlvbkF0TmV0d29ya0xldmVsKCkpIHsKKyAgICAgICAgY29udGludWVDYW5BdXRo
ZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKGZhbHNlKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKwogICAgIGlmIChpc1N5bmNocm9ub3VzKCkpIHsKICAgICAgICAgLy8gRklYTUU6IFdl
IHNob3VsZCBhc2sgdGhlIFdlYlByb2Nlc3MgbGlrZSB0aGUgYXN5bmNocm9ub3VzIGNhc2UgYmVs
b3cgZG9lcy4KICAgICAgICAgLy8gVGhpcyBpcyBjdXJyZW50bHkgaW1wb3NzaWJsZSBhcyB0aGUg
V2ViUHJvY2VzcyBpcyBibG9ja2VkIHdhaXRpbmcgb24gdGhpcyBzeW5jaHJvbm91cyBsb2FkLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcAppbmRleCA5ZWJl
YjUzLi4xOTI4ZWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250
ZXh0LmNwcApAQCAtMzg1LDYgKzM4NSwxMSBAQCB2b2lkIFdLQ29udGV4dFNldERvbWFpblJlbGF4
YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsCiAgICAg
dG9JbXBsKGNvbnRleHRSZWYpLT5zZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2No
ZW1lKHRvSW1wbCh1cmxTY2hlbWUpLT5zdHJpbmcoKSk7CiB9CiAKK3ZvaWQgV0tDb250ZXh0U2V0
U2hvdWxkSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb25BdE5ldHdvcmtMZXZlbChXS0Nv
bnRleHRSZWYgY29udGV4dFJlZiwgYm9vbCBoYW5kbGVBdE5ldHdvcmtMZXZlbCkKK3sKKyAgICB0
b0ltcGwoY29udGV4dFJlZiktPnNldFNob3VsZEhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0
aW9uQXROZXR3b3JrTGV2ZWwoaGFuZGxlQXROZXR3b3JrTGV2ZWwpOworfQorCiBXS0Nvb2tpZU1h
bmFnZXJSZWYgV0tDb250ZXh0R2V0Q29va2llTWFuYWdlcihXS0NvbnRleHRSZWYgY29udGV4dFJl
ZikKIHsKICAgICByZXR1cm4gdG9BUEkodG9JbXBsKGNvbnRleHRSZWYpLT5zdXBwbGVtZW50PFdl
YkNvb2tpZU1hbmFnZXJQcm94eT4oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaAppbmRleCA2YThiMGNkLi4yZWVmZTliIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmgKQEAg
LTU2LDYgKzU2LDggQEAgV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0UmVnaXN0ZXJVUkxTY2hlbWVB
c0NhY2hlUGFydGl0aW9uZWQoV0tDb250ZXh0UmVmIGNvbnRleHQKIAogV0tfRVhQT1JUIHZvaWQg
V0tDb250ZXh0U2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShXS0NvbnRl
eHRSZWYgY29udGV4dCwgV0tTdHJpbmdSZWYgdXJsU2NoZW1lKTsKIAorV0tfRVhQT1JUIHZvaWQg
V0tDb250ZXh0U2V0U2hvdWxkSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb25BdE5ldHdv
cmtMZXZlbChXS0NvbnRleHRSZWYgY29udGV4dCwgYm9vbCBoYW5kbGVBdE5ldHdvcmtMZXZlbCk7
CisKIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldEljb25EYXRhYmFzZVBhdGgoV0tDb250ZXh0
UmVmIGNvbnRleHQsIFdLU3RyaW5nUmVmIGljb25EYXRhYmFzZVBhdGgpOwogCiBXS19FWFBPUlQg
dm9pZCBXS0NvbnRleHRBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV0tDb250
ZXh0UmVmIGNvbnRleHQsIFdLQ2VydGlmaWNhdGVJbmZvUmVmIGNlcnRpZmljYXRlLCBXS1N0cmlu
Z1JlZiBob3N0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250
ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAppbmRleCBh
ZDVmZGExLi41N2E4NmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3Bw
CkBAIC05ODAsNiArOTgwLDE4IEBAIHZvaWQgV2ViQ29udGV4dDo6c2V0RG9tYWluUmVsYXhhdGlv
bkZvcmJpZGRlbkZvclVSTFNjaGVtZShjb25zdCBTdHJpbmcmIHVybFNjaGVtCiAgICAgc2VuZFRv
QWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpTZXREb21haW5SZWxheGF0aW9uRm9y
YmlkZGVuRm9yVVJMU2NoZW1lKHVybFNjaGVtZSkpOwogfQogCit2b2lkIFdlYkNvbnRleHQ6OnNl
dFNob3VsZEhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uQXROZXR3b3JrTGV2ZWwoYm9v
bCBoYW5kbGVBdE5ldHdvcmtMZXZlbCkKK3sKKyNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQor
ICAgIGlmIChtX3VzZXNOZXR3b3JrUHJvY2VzcyAmJiBtX25ldHdvcmtQcm9jZXNzKSB7CisgICAg
ICAgIG1fbmV0d29ya1Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpTZXRT
aG91bGRIYW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbkF0TmV0d29ya0xldmVsKGhhbmRs
ZUF0TmV0d29ya0xldmVsKSwgMCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZWxzZQorICAg
IFVOVVNFRF9QQVJBTShoYW5kbGVBdE5ldHdvcmtMZXZlbCk7CisjZW5kaWYKK30KKwogdm9pZCBX
ZWJDb250ZXh0OjpyZWdpc3RlclVSTFNjaGVtZUFzTG9jYWwoY29uc3QgU3RyaW5nJiB1cmxTY2hl
bWUpCiB7CiAgICAgbV9zY2hlbWVzVG9SZWdpc3RlckFzTG9jYWwuYWRkKHVybFNjaGVtZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAppbmRleCA2NjE5NjU3Li4wNmQ2OWY4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKQEAgLTIwMiw2ICsyMDIsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCByZWdpc3RlclVSTFNjaGVtZUFzRW1wdHlEb2N1bWVudChjb25zdCBT
dHJpbmcmKTsKICAgICB2b2lkIHJlZ2lzdGVyVVJMU2NoZW1lQXNTZWN1cmUoY29uc3QgU3RyaW5n
Jik7CiAgICAgdm9pZCBzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKGNv
bnN0IFN0cmluZyYpOworICAgIHZvaWQgc2V0U2hvdWxkSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2
YWx1YXRpb25BdE5ldHdvcmtMZXZlbChib29sKTsKICAgICB2b2lkIHJlZ2lzdGVyVVJMU2NoZW1l
QXNMb2NhbChjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHJlZ2lzdGVyVVJMU2NoZW1lQXNOb0Fj
Y2Vzcyhjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHJlZ2lzdGVyVVJMU2NoZW1lQXNEaXNwbGF5
SXNvbGF0ZWQoY29uc3QgU3RyaW5nJik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239210</attachid>
            <date>2014-10-03 10:37:35 -0700</date>
            <delta_ts>2014-10-03 11:52:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137367-20141003103736.patch</filename>
            <type>text/plain</type>
            <size>10131</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MjY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWUwNTJhYmUxODM3YmI0
MmVmNmFjMThjZmI4OGM4ODBmMjcyODEwZi4uYjI5Yzg5ZWYyZDkzY2Q4ZWQ1ODc2YTFiMmEzYjZj
YmY3MzJhNjI3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDE0LTEwLTAzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW01hY10gV2UgYXJlIHNwZW5k
aW5nIHRvbyBtdWNoIHRpbWUgc2VyaWFsaXppbmcgUHJvdGVjdGlvblNwYWNlIG9iamVjdHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzM2NworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gcHJvZmls
aW5nIHRoZSBsb2FkIG9mIG55dGltZXMuY29tLCBJIG5vdGljZWQgdGhhdCB3ZSB3ZXJlIHNwZW5k
aW5nCisgICAgICAgIGEgbG90IG9mIGNwdSB0aW1lIHNlcmlhbGl6aW5nIFByb3RlY3Rpb25TcGFj
ZSBvYmplY3RzIChpbiBwYXJ0aWN1bGFyCisgICAgICAgIHRoZSBOU1VSTFByb3RlY3Rpb25TcGFj
ZSBwbGF0Zm9ybSBkYXRhKToKKyAgICAgICAgLSA1LjYlIG9mIENQVSB0aW1lIGZvciBOZXR3b3Jr
IFByb2Nlc3MKKyAgICAgICAgLSAyLjUlIG9mIENQVSB0aW1lIGZvciBXZWJQcm9jZXNzCisKKyAg
ICAgICAgU2VyaWFsaXppbmcgYW4gTlNVUkxQcm90ZWN0aW9uU3BhY2Ugc2VlbXMgdG8gYmUgY29z
dGx5IGR1ZSB0byBzZXJ2ZXIKKyAgICAgICAgdHJ1c3QgdmVyaWZpY2F0aW9uLiBXZSBkbyB0aGlz
IGZvciBldmVyeSBzdWItcmVzb3VyY2UgbG9hZCBvdmVyIEhUVFBTCisgICAgICAgIGR1ZSB0byB0
aGUgY2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZSgpIGNhbGxiYWNrIGZvciBz
ZXJ2ZXIKKyAgICAgICAgdHJ1c3QgdmFsaWRhdGlvbiwgZnJvbSB0aGUgTmV0d29ya1Byb2Nlc3Mg
dG8gdGhlIFdlYlByb2Nlc3MgYW5kIHRoZW4gdG8KKyAgICAgICAgdGhlIFVJUHJvY2Vzcy4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGFkZHMgYSBXS0NvbnRleHRTZXRDYW5IYW5kbGVIVFRQU1NlcnZl
clRydXN0RXZhbHVhdGlvbihib29sKQorICAgICAgICBXSzIgcHJpdmF0ZSBBUEkgdGhhdCB0aGUg
Y2xpZW50IGNhbiBjYWxsIHRvIGluZGljYXRlIHRoYXQgaXQgY2Fubm90CisgICAgICAgIGhhbmRs
ZSBIVFRQUyBzZXJ2ZXIgdHJ1c3QgZXZhbHVhdGlvbiBhbmQgdGhhdCBpdCBpcyB0aHVzIHVubmVj
ZXNzYXJ5IHRvCisgICAgICAgIGNhbGwgdGhlIGNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0
aW9uU3BhY2UoKSBjYWxsYmFjayBmb3Igc3VjaAorICAgICAgICBldmFsdWF0aW9ucy4gVGhpcyBy
ZWR1Y2VzIHRoZSBhbW91bnQgb2YgSVBDIGJldHdlZW4gdGhlIHByb2Nlc3MgYW5kCisgICAgICAg
IHRodXMgdGhlIG51bWJlciBvZiB0aW1lcyB3ZSBoYXZlIHRvIHNlcmlhbGl6ZSB0aGUgUHJvdGVj
dGlvblNwYWNlLgorCisgICAgICAgIEluIHRoZSBjYXNlIG9mIHRoZSBueXRpbWVzLmNvbSBsb2Fk
LCB0aGVyZSBpcyBubyBsb25nZXIgYW55CisgICAgICAgIFByb3RlY3Rpb25TcGFjZSBzZXJpYWxp
emF0aW9uIGhhcHBlbmluZyBhcworICAgICAgICBjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVj
dGlvblNwYWNlKCkgd2FzIG9ubHkgY2FsbGVkIGZvciBIVFRQUworICAgICAgICBzZXJ2ZXIgdHJ1
c3QgZXZhbHVhdGlvbi4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6Ok5ldHdvcmtQcm9jZXNzKToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnNldENhbkhhbmRsZUhUVFBTU2VydmVy
VHJ1c3RFdmFsdWF0aW9uKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5oOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6Y2FuSGFuZGxlSFRUUFNTZXJ2
ZXJUcnVzdEV2YWx1YXRpb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Y2Fu
QXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZUFzeW5jKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcDoKKyAgICAgICAgKFdLQ29udGV4dFNldENhbkhhbmRs
ZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
V0tDb250ZXh0UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6c2V0Q2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVz
dEV2YWx1YXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0Lmg6CisKIDIwMTQt
MTAtMDMgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBb
R1RLXSBVUlRCRiBhZnRlciByMTc0MjMxLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IGUxMmY4YTVmZTAwYjRlNjI3N2U1NzE1NjRk
NjBmYjY0ODg1YmZiZjEuLjQ5NWZlZTU2MmFiYWUwNTY2ZGQ4ZDQ5ZGI1M2RiMGMyNDE3ODFjY2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5j
cHAKQEAgLTY3LDYgKzY3LDcgQEAgTmV0d29ya1Byb2Nlc3MmIE5ldHdvcmtQcm9jZXNzOjpzaGFy
ZWQoKQogTmV0d29ya1Byb2Nlc3M6Ok5ldHdvcmtQcm9jZXNzKCkKICAgICA6IG1faGFzU2V0Q2Fj
aGVNb2RlbChmYWxzZSkKICAgICAsIG1fY2FjaGVNb2RlbChDYWNoZU1vZGVsRG9jdW1lbnRWaWV3
ZXIpCisgICAgLCBtX2NhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uKHRydWUpCiAj
aWYgUExBVEZPUk0oQ09DT0EpCiAgICAgLCBtX2NsZWFyQ2FjaGVEaXNwYXRjaEdyb3VwKDApCiAj
ZW5kaWYKQEAgLTI1Miw2ICsyNTMsMTEgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6c2V0Q2FjaGVN
b2RlbCh1aW50MzJfdCBjbSkKICAgICB9CiB9CiAKK3ZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldENh
bkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uKGJvb2wgdmFsdWUpCit7CisgICAgbV9j
YW5IYW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbiA9IHZhbHVlOworfQorCiB2b2lkIE5l
dHdvcmtQcm9jZXNzOjpnZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0X3QgY2FsbGJh
Y2tJRCkKIHsKICAgICBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyJiBzY2hlZHVsZXIgPSBO
ZXR3b3JrUHJvY2Vzczo6c2hhcmVkKCkubmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlcigpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXgg
NzlkNDY0NDQyMjY5YjY2MzM5NmVmYTdjYjlkYmRmYjIzODA2NjkzZi4uMTE1OTk5OTZkMDlmMWVk
OGI3MjdlYjlkYThjYWJhMTU1MmNjZmY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC03Myw2ICs3Myw3IEBAIHB1YmxpYzoKIAogICAg
IEF1dGhlbnRpY2F0aW9uTWFuYWdlciYgYXV0aGVudGljYXRpb25NYW5hZ2VyKCk7CiAgICAgRG93
bmxvYWRNYW5hZ2VyJiBkb3dubG9hZE1hbmFnZXIoKTsKKyAgICBib29sIGNhbkhhbmRsZUhUVFBT
U2VydmVyVHJ1c3RFdmFsdWF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jYW5IYW5kbGVIVFRQU1Nl
cnZlclRydXN0RXZhbHVhdGlvbjsgfQogCiBwcml2YXRlOgogICAgIE5ldHdvcmtQcm9jZXNzKCk7
CkBAIC0xMTUsNiArMTE2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNhbmNlbERvd25sb2FkKHVp
bnQ2NF90IGRvd25sb2FkSUQpOwogICAgIHZvaWQgc2V0Q2FjaGVNb2RlbCh1aW50MzJfdCk7CiAg
ICAgdm9pZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ29y
ZTo6Q2VydGlmaWNhdGVJbmZvJiwgY29uc3QgU3RyaW5nJiBob3N0KTsKKyAgICB2b2lkIHNldENh
bkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uKGJvb2wpOwogICAgIHZvaWQgZ2V0TmV0
d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90IGNhbGxiYWNrSUQpOwogICAgIHZvaWQgY2xl
YXJDYWNoZUZvckFsbE9yaWdpbnModWludDMyX3QgY2FjaGVzVG9DbGVhcik7CiAKQEAgLTEzNCw2
ICsxMzYsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX2Rpc2tDYWNoZURpcmVjdG9yeTsKICAg
ICBib29sIG1faGFzU2V0Q2FjaGVNb2RlbDsKICAgICBDYWNoZU1vZGVsIG1fY2FjaGVNb2RlbDsK
KyAgICBib29sIG1fY2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb247CiAKICAgICB0
eXBlZGVmIEhhc2hNYXA8Y29uc3QgY2hhciosIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUHJvY2Vz
c1N1cHBsZW1lbnQ+LCBQdHJIYXNoPGNvbnN0IGNoYXIqPj4gTmV0d29ya1Byb2Nlc3NTdXBwbGVt
ZW50TWFwOwogICAgIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudE1hcCBtX3N1cHBsZW1lbnRzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5tZXNzYWdlcy5pbgppbmRleCA3NDk5NDQ5Yjk5MzRkYjdkMDliMTdjYzJiZGRmYmNiZTkwMTI3
NmM4Li4xYzI2YzNhMTNlZmFkNDFkOTE4OTM5YTg1OTk4Yjk4NmJhOTE5ODUyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNz
YWdlcy5pbgpAQCAtNDYsNiArNDYsNyBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdh
Y3lSZWNlaXZlciB7CiAjZW5kaWYKIAogICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRl
Rm9ySG9zdChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFN0cmluZyBob3N0
KQorICAgIFNldENhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uKGJvb2wgdmFsdWUp
CiAgICAgCiAgICAgR2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90IGNhbGxiYWNr
SUQpCiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCAyZWRiZGY5YmE4OTU1OWEwODZjNGE1MjljZjIz
ZWQ5ZjY1NDFhNzBiLi45NTRiYmE0NzQxOTkyMzNmYTg0NTZjOTAxNzFmY2I5YjY4MGU4OTk1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAKQEAgLTQ3NSw2ICs0NzUsMTMgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VM
b2FkZXI6OmNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2VBc3luYyhSZXNvdXJj
ZUgKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogICAgIEFTU0VSVF9VTlVTRUQoaGFu
ZGxlLCBoYW5kbGUgPT0gbV9oYW5kbGUpOwogCisgICAgLy8gSGFuZGxlIHNlcnZlciB0cnVzdCBl
dmFsdWF0aW9uIGF0IHBsYXRmb3JtLWxldmVsIGlmIHJlcXVlc3RlZCwgZm9yIHBlcmZvcm1hbmNl
IHJlYXNvbnMuCisgICAgaWYgKHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgp
ID09IFByb3RlY3Rpb25TcGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lU2VydmVyVHJ1c3RFdmFsdWF0
aW9uUmVxdWVzdGVkCisgICAgICAgICYmICFOZXR3b3JrUHJvY2Vzczo6c2hhcmVkKCkuY2FuSGFu
ZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb24oKSkgeworICAgICAgICBjb250aW51ZUNhbkF1
dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UoZmFsc2UpOworICAgICAgICByZXR1cm47
CisgICAgfQorCiAgICAgaWYgKGlzU3luY2hyb25vdXMoKSkgewogICAgICAgICAvLyBGSVhNRTog
V2Ugc2hvdWxkIGFzayB0aGUgV2ViUHJvY2VzcyBsaWtlIHRoZSBhc3luY2hyb25vdXMgY2FzZSBi
ZWxvdyBkb2VzLgogICAgICAgICAvLyBUaGlzIGlzIGN1cnJlbnRseSBpbXBvc3NpYmxlIGFzIHRo
ZSBXZWJQcm9jZXNzIGlzIGJsb2NrZWQgd2FpdGluZyBvbiB0aGlzIHN5bmNocm9ub3VzIGxvYWQu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCmluZGV4IDll
YmViNTM4NDE2Y2U2ZDYwMTQ0NGM0OWUyMGJhN2U1M2Y1MThhZmIuLjc0MzExMDk3MGExZTNhNzFm
OGUyOTgwOWM3NTAwMDhmNjUyOWQwYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0NvbnRleHQuY3BwCkBAIC0zODUsNiArMzg1LDExIEBAIHZvaWQgV0tDb250ZXh0U2V0
RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShXS0NvbnRleHRSZWYgY29udGV4
dFJlZiwKICAgICB0b0ltcGwoY29udGV4dFJlZiktPnNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRk
ZW5Gb3JVUkxTY2hlbWUodG9JbXBsKHVybFNjaGVtZSktPnN0cmluZygpKTsKIH0KIAordm9pZCBX
S0NvbnRleHRTZXRDYW5IYW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbihXS0NvbnRleHRS
ZWYgY29udGV4dFJlZiwgYm9vbCB2YWx1ZSkKK3sKKyAgICB0b0ltcGwoY29udGV4dFJlZiktPnNl
dENhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uKHZhbHVlKTsKK30KKwogV0tDb29r
aWVNYW5hZ2VyUmVmIFdLQ29udGV4dEdldENvb2tpZU1hbmFnZXIoV0tDb250ZXh0UmVmIGNvbnRl
eHRSZWYpCiB7CiAgICAgcmV0dXJuIHRvQVBJKHRvSW1wbChjb250ZXh0UmVmKS0+c3VwcGxlbWVu
dDxXZWJDb29raWVNYW5hZ2VyUHJveHk+KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmgKaW5kZXggNmE4YjBjZGE3YjJiZDJmMGE5ZWMz
MWQ1ZDMzODdjY2E4NGVjOWQ4OS4uNzZkODVkM2ZkOWY0ZTVjYTM4YTkyODM0MmVhZTc3ZDM2MGZj
NzNlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4
dFByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0
UHJpdmF0ZS5oCkBAIC01Niw2ICs1Niw4IEBAIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFJlZ2lz
dGVyVVJMU2NoZW1lQXNDYWNoZVBhcnRpdGlvbmVkKFdLQ29udGV4dFJlZiBjb250ZXh0CiAKIFdL
X0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxT
Y2hlbWUoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLU3RyaW5nUmVmIHVybFNjaGVtZSk7CiAKK1dL
X0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldENhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0
aW9uKFdLQ29udGV4dFJlZiBjb250ZXh0LCBib29sIHZhbHVlKTsKKwogV0tfRVhQT1JUIHZvaWQg
V0tDb250ZXh0U2V0SWNvbkRhdGFiYXNlUGF0aChXS0NvbnRleHRSZWYgY29udGV4dCwgV0tTdHJp
bmdSZWYgaWNvbkRhdGFiYXNlUGF0aCk7CiAKIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dEFsbG93
U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXS0NvbnRleHRSZWYgY29udGV4dCwgV0tD
ZXJ0aWZpY2F0ZUluZm9SZWYgY2VydGlmaWNhdGUsIFdLU3RyaW5nUmVmIGhvc3QpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCmluZGV4IGFkNWZkYTEzNTA3YjFjZDQ2MzMy
Njk3YjExYmQ1NTE3ZjkyMmQ3YjEuLjMzNWZjNTMwZWRkZDhlZmM4ZDM0OGU3NzZlZmJhYzA5NTg4
NjA3OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKQEAgLTk4MCw2
ICs5ODAsMTggQEAgdm9pZCBXZWJDb250ZXh0OjpzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVu
Rm9yVVJMU2NoZW1lKGNvbnN0IFN0cmluZyYgdXJsU2NoZW0KICAgICBzZW5kVG9BbGxQcm9jZXNz
ZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JV
UkxTY2hlbWUodXJsU2NoZW1lKSk7CiB9CiAKK3ZvaWQgV2ViQ29udGV4dDo6c2V0Q2FuSGFuZGxl
SFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb24oYm9vbCB2YWx1ZSkKK3sKKyNpZiBFTkFCTEUoTkVU
V09SS19QUk9DRVNTKQorICAgIGlmIChtX3VzZXNOZXR3b3JrUHJvY2VzcyAmJiBtX25ldHdvcmtQ
cm9jZXNzKSB7CisgICAgICAgIG1fbmV0d29ya1Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6Ok5ldHdv
cmtQcm9jZXNzOjpTZXRDYW5IYW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbih2YWx1ZSks
IDApOworICAgICAgICByZXR1cm47CisgICAgfQorI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0odmFs
dWUpOworI2VuZGlmCit9CisKIHZvaWQgV2ViQ29udGV4dDo6cmVnaXN0ZXJVUkxTY2hlbWVBc0xv
Y2FsKGNvbnN0IFN0cmluZyYgdXJsU2NoZW1lKQogewogICAgIG1fc2NoZW1lc1RvUmVnaXN0ZXJB
c0xvY2FsLmFkZCh1cmxTY2hlbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkNvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgK
aW5kZXggNjYxOTY1N2M2MTE1MjVjMzkyMTdjYzkzY2QwNGY3M2IyZDE0ODQ4Yy4uY2IxNWVlOWI1
M2U4MTM2MGMwZmFhYmU4N2VlZTAwMmU2N2I3ZGZlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViQ29udGV4dC5oCkBAIC0yMDIsNiArMjAyLDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVnaXN0
ZXJVUkxTY2hlbWVBc0VtcHR5RG9jdW1lbnQoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCByZWdp
c3RlclVSTFNjaGVtZUFzU2VjdXJlKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgc2V0RG9tYWlu
UmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lk
IHNldENhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uKGJvb2wpOwogICAgIHZvaWQg
cmVnaXN0ZXJVUkxTY2hlbWVBc0xvY2FsKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcmVnaXN0
ZXJVUkxTY2hlbWVBc05vQWNjZXNzKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcmVnaXN0ZXJV
UkxTY2hlbWVBc0Rpc3BsYXlJc29sYXRlZChjb25zdCBTdHJpbmcmKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239218</attachid>
            <date>2014-10-03 11:52:47 -0700</date>
            <delta_ts>2014-10-06 14:30:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137367-20141003115249.patch</filename>
            <type>text/plain</type>
            <size>15011</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MjY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWUwNTJhYmUxODM3YmI0
MmVmNmFjMThjZmI4OGM4ODBmMjcyODEwZi4uYjI5Yzg5ZWYyZDkzY2Q4ZWQ1ODc2YTFiMmEzYjZj
YmY3MzJhNjI3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDE0LTEwLTAzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW01hY10gV2UgYXJlIHNwZW5k
aW5nIHRvbyBtdWNoIHRpbWUgc2VyaWFsaXppbmcgUHJvdGVjdGlvblNwYWNlIG9iamVjdHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzM2NworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gcHJvZmls
aW5nIHRoZSBsb2FkIG9mIG55dGltZXMuY29tLCBJIG5vdGljZWQgdGhhdCB3ZSB3ZXJlIHNwZW5k
aW5nCisgICAgICAgIGEgbG90IG9mIGNwdSB0aW1lIHNlcmlhbGl6aW5nIFByb3RlY3Rpb25TcGFj
ZSBvYmplY3RzIChpbiBwYXJ0aWN1bGFyCisgICAgICAgIHRoZSBOU1VSTFByb3RlY3Rpb25TcGFj
ZSBwbGF0Zm9ybSBkYXRhKToKKyAgICAgICAgLSA1LjYlIG9mIENQVSB0aW1lIGZvciBOZXR3b3Jr
IFByb2Nlc3MKKyAgICAgICAgLSAyLjUlIG9mIENQVSB0aW1lIGZvciBXZWJQcm9jZXNzCisKKyAg
ICAgICAgU2VyaWFsaXppbmcgYW4gTlNVUkxQcm90ZWN0aW9uU3BhY2Ugc2VlbXMgdG8gYmUgY29z
dGx5IGR1ZSB0byBzZXJ2ZXIKKyAgICAgICAgdHJ1c3QgdmVyaWZpY2F0aW9uLiBXZSBkbyB0aGlz
IGZvciBldmVyeSBzdWItcmVzb3VyY2UgbG9hZCBvdmVyIEhUVFBTCisgICAgICAgIGR1ZSB0byB0
aGUgY2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZSgpIGNhbGxiYWNrIGZvciBz
ZXJ2ZXIKKyAgICAgICAgdHJ1c3QgdmFsaWRhdGlvbiwgZnJvbSB0aGUgTmV0d29ya1Byb2Nlc3Mg
dG8gdGhlIFdlYlByb2Nlc3MgYW5kIHRoZW4gdG8KKyAgICAgICAgdGhlIFVJUHJvY2Vzcy4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGFkZHMgYSBXS0NvbnRleHRTZXRDYW5IYW5kbGVIVFRQU1NlcnZl
clRydXN0RXZhbHVhdGlvbihib29sKQorICAgICAgICBXSzIgcHJpdmF0ZSBBUEkgdGhhdCB0aGUg
Y2xpZW50IGNhbiBjYWxsIHRvIGluZGljYXRlIHRoYXQgaXQgY2Fubm90CisgICAgICAgIGhhbmRs
ZSBIVFRQUyBzZXJ2ZXIgdHJ1c3QgZXZhbHVhdGlvbiBhbmQgdGhhdCBpdCBpcyB0aHVzIHVubmVj
ZXNzYXJ5IHRvCisgICAgICAgIGNhbGwgdGhlIGNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0
aW9uU3BhY2UoKSBjYWxsYmFjayBmb3Igc3VjaAorICAgICAgICBldmFsdWF0aW9ucy4gVGhpcyBy
ZWR1Y2VzIHRoZSBhbW91bnQgb2YgSVBDIGJldHdlZW4gdGhlIHByb2Nlc3MgYW5kCisgICAgICAg
IHRodXMgdGhlIG51bWJlciBvZiB0aW1lcyB3ZSBoYXZlIHRvIHNlcmlhbGl6ZSB0aGUgUHJvdGVj
dGlvblNwYWNlLgorCisgICAgICAgIEluIHRoZSBjYXNlIG9mIHRoZSBueXRpbWVzLmNvbSBsb2Fk
LCB0aGVyZSBpcyBubyBsb25nZXIgYW55CisgICAgICAgIFByb3RlY3Rpb25TcGFjZSBzZXJpYWxp
emF0aW9uIGhhcHBlbmluZyBhcworICAgICAgICBjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVj
dGlvblNwYWNlKCkgd2FzIG9ubHkgY2FsbGVkIGZvciBIVFRQUworICAgICAgICBzZXJ2ZXIgdHJ1
c3QgZXZhbHVhdGlvbi4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6Ok5ldHdvcmtQcm9jZXNzKToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnNldENhbkhhbmRsZUhUVFBTU2VydmVy
VHJ1c3RFdmFsdWF0aW9uKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5oOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6Y2FuSGFuZGxlSFRUUFNTZXJ2
ZXJUcnVzdEV2YWx1YXRpb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Y2Fu
QXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZUFzeW5jKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcDoKKyAgICAgICAgKFdLQ29udGV4dFNldENhbkhhbmRs
ZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
V0tDb250ZXh0UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6c2V0Q2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVz
dEV2YWx1YXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0Lmg6CisKIDIwMTQt
MTAtMDMgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBb
R1RLXSBVUlRCRiBhZnRlciByMTc0MjMxLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IGUxMmY4YTVmZTAwYjRlNjI3N2U1NzE1NjRk
NjBmYjY0ODg1YmZiZjEuLjEzZTY0YzU2NjAwZjFiZTUwY2QxNDJlMTIyYjkxMTY4MzAxMGQ2YjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5j
cHAKQEAgLTY3LDYgKzY3LDcgQEAgTmV0d29ya1Byb2Nlc3MmIE5ldHdvcmtQcm9jZXNzOjpzaGFy
ZWQoKQogTmV0d29ya1Byb2Nlc3M6Ok5ldHdvcmtQcm9jZXNzKCkKICAgICA6IG1faGFzU2V0Q2Fj
aGVNb2RlbChmYWxzZSkKICAgICAsIG1fY2FjaGVNb2RlbChDYWNoZU1vZGVsRG9jdW1lbnRWaWV3
ZXIpCisgICAgLCBtX2NhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uKHRydWUpCiAj
aWYgUExBVEZPUk0oQ09DT0EpCiAgICAgLCBtX2NsZWFyQ2FjaGVEaXNwYXRjaEdyb3VwKDApCiAj
ZW5kaWYKQEAgLTE2Myw2ICsxNjQsNyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjppbml0aWFsaXpl
TmV0d29ya1Byb2Nlc3MoY29uc3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZQogICAgIG1l
bW9yeVByZXNzdXJlSGFuZGxlcigpLmluc3RhbGwoKTsKIAogICAgIHNldENhY2hlTW9kZWwoc3Rh
dGljX2Nhc3Q8dWludDMyX3Q+KHBhcmFtZXRlcnMuY2FjaGVNb2RlbCkpOworICAgIHNldENhbkhh
bmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uKHBhcmFtZXRlcnMuY2FuSGFuZGxlSFRUUFNT
ZXJ2ZXJUcnVzdEV2YWx1YXRpb24pOwogCiAjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRX
T1JLKQogICAgIFNlc3Npb25UcmFja2VyOjpzZXRJZGVudGlmaWVyQmFzZShwYXJhbWV0ZXJzLnVp
UHJvY2Vzc0J1bmRsZUlkZW50aWZpZXIpOwpAQCAtMjUyLDYgKzI1NCwxMSBAQCB2b2lkIE5ldHdv
cmtQcm9jZXNzOjpzZXRDYWNoZU1vZGVsKHVpbnQzMl90IGNtKQogICAgIH0KIH0KIAordm9pZCBO
ZXR3b3JrUHJvY2Vzczo6c2V0Q2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb24oYm9v
bCB2YWx1ZSkKK3sKKyAgICBtX2NhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uID0g
dmFsdWU7Cit9CisKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmdldE5ldHdvcmtQcm9jZXNzU3RhdGlz
dGljcyh1aW50NjRfdCBjYWxsYmFja0lEKQogewogICAgIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hl
ZHVsZXImIHNjaGVkdWxlciA9IE5ldHdvcmtQcm9jZXNzOjpzaGFyZWQoKS5uZXR3b3JrUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MuaAppbmRleCA3OWQ0NjQ0NDIyNjliNjYzMzk2ZWZhN2NiOWRiZGZiMjM4MDY2
OTNmLi4xMTU5OTk5NmQwOWYxZWQ4YjcyN2ViOWRhOGNhYmExNTUyY2NmZjkzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTczLDYgKzcz
LDcgQEAgcHVibGljOgogCiAgICAgQXV0aGVudGljYXRpb25NYW5hZ2VyJiBhdXRoZW50aWNhdGlv
bk1hbmFnZXIoKTsKICAgICBEb3dubG9hZE1hbmFnZXImIGRvd25sb2FkTWFuYWdlcigpOworICAg
IGJvb2wgY2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb24oKSBjb25zdCB7IHJldHVy
biBtX2NhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uOyB9CiAKIHByaXZhdGU6CiAg
ICAgTmV0d29ya1Byb2Nlc3MoKTsKQEAgLTExNSw2ICsxMTYsNyBAQCBwcml2YXRlOgogICAgIHZv
aWQgY2FuY2VsRG93bmxvYWQodWludDY0X3QgZG93bmxvYWRJRCk7CiAgICAgdm9pZCBzZXRDYWNo
ZU1vZGVsKHVpbnQzMl90KTsKICAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRl
Rm9ySG9zdChjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mLCBjb25zdCBTdHJpbmcmIGhv
c3QpOworICAgIHZvaWQgc2V0Q2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb24oYm9v
bCk7CiAgICAgdm9pZCBnZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0X3QgY2FsbGJh
Y2tJRCk7CiAgICAgdm9pZCBjbGVhckNhY2hlRm9yQWxsT3JpZ2lucyh1aW50MzJfdCBjYWNoZXNU
b0NsZWFyKTsKIApAQCAtMTM0LDYgKzEzNiw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fZGlz
a0NhY2hlRGlyZWN0b3J5OwogICAgIGJvb2wgbV9oYXNTZXRDYWNoZU1vZGVsOwogICAgIENhY2hl
TW9kZWwgbV9jYWNoZU1vZGVsOworICAgIGJvb2wgbV9jYW5IYW5kbGVIVFRQU1NlcnZlclRydXN0
RXZhbHVhdGlvbjsKIAogICAgIHR5cGVkZWYgSGFzaE1hcDxjb25zdCBjaGFyKiwgc3RkOjp1bmlx
dWVfcHRyPE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+PiBO
ZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnRNYXA7CiAgICAgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50
TWFwIG1fc3VwcGxlbWVudHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDc0OTk0NDliOTkzNGRiN2Qw
OWIxN2NjMmJkZGZiY2JlOTAxMjc2YzguLjFjMjZjM2ExM2VmYWQ0MWQ5MTg5MzlhODU5OThiOTg2
YmE5MTk4NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC00Niw2ICs0Niw3IEBAIG1lc3NhZ2VzIC0+
IE5ldHdvcmtQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICNlbmRpZgogCiAgICAgQWxsb3dTcGVj
aWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0
aWZpY2F0ZSwgU3RyaW5nIGhvc3QpCisgICAgU2V0Q2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2
YWx1YXRpb24oYm9vbCB2YWx1ZSkKICAgICAKICAgICBHZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3Rp
Y3ModWludDY0X3QgY2FsbGJhY2tJRCkKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDJlZGJkZjli
YTg5NTU5YTA4NmM0YTUyOWNmMjNlZDlmNjU0MWE3MGIuLjk1NGJiYTQ3NDE5OTIzM2ZhODQ1NmM5
MDE3MWZjYjliNjgwZTg5OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtNDc1LDYgKzQ3NSwxMyBAQCB2
b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Y2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rp
b25TcGFjZUFzeW5jKFJlc291cmNlSAogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAg
ICAgQVNTRVJUX1VOVVNFRChoYW5kbGUsIGhhbmRsZSA9PSBtX2hhbmRsZSk7CiAKKyAgICAvLyBI
YW5kbGUgc2VydmVyIHRydXN0IGV2YWx1YXRpb24gYXQgcGxhdGZvcm0tbGV2ZWwgaWYgcmVxdWVz
dGVkLCBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy4KKyAgICBpZiAocHJvdGVjdGlvblNwYWNlLmF1
dGhlbnRpY2F0aW9uU2NoZW1lKCkgPT0gUHJvdGVjdGlvblNwYWNlQXV0aGVudGljYXRpb25TY2hl
bWVTZXJ2ZXJUcnVzdEV2YWx1YXRpb25SZXF1ZXN0ZWQKKyAgICAgICAgJiYgIU5ldHdvcmtQcm9j
ZXNzOjpzaGFyZWQoKS5jYW5IYW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbigpKSB7Cisg
ICAgICAgIGNvbnRpbnVlQ2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShmYWxz
ZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAoaXNTeW5jaHJvbm91cygpKSB7
CiAgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgYXNrIHRoZSBXZWJQcm9jZXNzIGxpa2UgdGhl
IGFzeW5jaHJvbm91cyBjYXNlIGJlbG93IGRvZXMuCiAgICAgICAgIC8vIFRoaXMgaXMgY3VycmVu
dGx5IGltcG9zc2libGUgYXMgdGhlIFdlYlByb2Nlc3MgaXMgYmxvY2tlZCB3YWl0aW5nIG9uIHRo
aXMgc3luY2hyb25vdXMgbG9hZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9O
ZXR3b3JrL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApp
bmRleCA4YjI2OTFjNGZhNTQxMTM4ZGFkYjNmZWQ2MDViMDVkNTI4OGE2ZjU4Li41ZmEzMDMyOTE3
YTlmMDRiODA5ZTllNmU5N2ZjNDFjNmRhZjg0MzM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuY3BwCkBAIC00MCw2ICs0MCw3IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnM6OmVuY29kZShJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uCiB7
CiAgICAgZW5jb2RlciA8PCBwcml2YXRlQnJvd3NpbmdFbmFibGVkOwogICAgIGVuY29kZXIuZW5j
b2RlRW51bShjYWNoZU1vZGVsKTsKKyAgICBlbmNvZGVyIDw8IGNhbkhhbmRsZUhUVFBTU2VydmVy
VHJ1c3RFdmFsdWF0aW9uOwogICAgIGVuY29kZXIgPDwgZGlza0NhY2hlRGlyZWN0b3J5OwogICAg
IGVuY29kZXIgPDwgZGlza0NhY2hlRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlOwogICAgIGVuY29k
ZXIgPDwgY29va2llU3RvcmFnZURpcmVjdG9yeTsKQEAgLTc1LDYgKzc2LDggQEAgYm9vbCBOZXR3
b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6QXJndW1lbnREZWNvZGVy
JiBkZWNvZGVyLCBOZXQKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5k
ZWNvZGVFbnVtKHJlc3VsdC5jYWNoZU1vZGVsKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmNhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFs
dWF0aW9uKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
cmVzdWx0LmRpc2tDYWNoZURpcmVjdG9yeSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5kaXNrQ2FjaGVEaXJlY3RvcnlFeHRlbnNpb25IYW5k
bGUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL05ldHdvcmsvTmV0d29ya1By
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9OZXR3b3Jr
L05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggODg1ZWE2Y2ZmODFhY2Fl
Mzk2NmQ1YjA0NTJmZDdmMzFhY2NlYmIxYi4uM2EwZjRjZDE5Y2Q2YmRlYjg1MzVjMjlkM2I1ZWJi
OWIzMDVkNWQ4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL05ldHdvcmsvTmV0
d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC01Miw2ICs1
Miw3IEBAIHN0cnVjdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAKICAgICBi
b29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQ7CiAgICAgQ2FjaGVNb2RlbCBjYWNoZU1vZGVsOwor
ICAgIGJvb2wgY2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb247CiAKICAgICBTdHJp
bmcgZGlza0NhY2hlRGlyZWN0b3J5OwogICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBkaXNr
Q2FjaGVEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS0NvbnRleHQuY3BwCmluZGV4IDllYmViNTM4NDE2Y2U2ZDYwMTQ0NGM0OWUyMGJh
N2U1M2Y1MThhZmIuLjc0MzExMDk3MGExZTNhNzFmOGUyOTgwOWM3NTAwMDhmNjUyOWQwYjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCkBAIC0zODUs
NiArMzg1LDExIEBAIHZvaWQgV0tDb250ZXh0U2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZv
clVSTFNjaGVtZShXS0NvbnRleHRSZWYgY29udGV4dFJlZiwKICAgICB0b0ltcGwoY29udGV4dFJl
ZiktPnNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUodG9JbXBsKHVybFNj
aGVtZSktPnN0cmluZygpKTsKIH0KIAordm9pZCBXS0NvbnRleHRTZXRDYW5IYW5kbGVIVFRQU1Nl
cnZlclRydXN0RXZhbHVhdGlvbihXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgYm9vbCB2YWx1ZSkK
K3sKKyAgICB0b0ltcGwoY29udGV4dFJlZiktPnNldENhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RF
dmFsdWF0aW9uKHZhbHVlKTsKK30KKwogV0tDb29raWVNYW5hZ2VyUmVmIFdLQ29udGV4dEdldENv
b2tpZU1hbmFnZXIoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYpCiB7CiAgICAgcmV0dXJuIHRvQVBJ
KHRvSW1wbChjb250ZXh0UmVmKS0+c3VwcGxlbWVudDxXZWJDb29raWVNYW5hZ2VyUHJveHk+KCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFBy
aXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRl
LmgKaW5kZXggNmE4YjBjZGE3YjJiZDJmMGE5ZWMzMWQ1ZDMzODdjY2E4NGVjOWQ4OS4uNzZkODVk
M2ZkOWY0ZTVjYTM4YTkyODM0MmVhZTc3ZDM2MGZjNzNlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oCkBAIC01Niw2ICs1Niw4IEBA
IFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFJlZ2lzdGVyVVJMU2NoZW1lQXNDYWNoZVBhcnRpdGlv
bmVkKFdLQ29udGV4dFJlZiBjb250ZXh0CiAKIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldERv
bWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUoV0tDb250ZXh0UmVmIGNvbnRleHQs
IFdLU3RyaW5nUmVmIHVybFNjaGVtZSk7CiAKK1dLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldENh
bkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uKFdLQ29udGV4dFJlZiBjb250ZXh0LCBi
b29sIHZhbHVlKTsKKwogV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0U2V0SWNvbkRhdGFiYXNlUGF0
aChXS0NvbnRleHRSZWYgY29udGV4dCwgV0tTdHJpbmdSZWYgaWNvbkRhdGFiYXNlUGF0aCk7CiAK
IFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9y
SG9zdChXS0NvbnRleHRSZWYgY29udGV4dCwgV0tDZXJ0aWZpY2F0ZUluZm9SZWYgY2VydGlmaWNh
dGUsIFdLU3RyaW5nUmVmIGhvc3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sLm1tCmluZGV4IDVlMjc3ZjliZDE1NzY4ZTg1ZmZkMjFh
MjdjNTQ0ZjE5ODcxODEyMGYuLmNjNzFhMWFmZDhkOTk5ODJjOGNhZmEwYzYyNTFkNDA1YmFmOGM3
ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9j
ZXNzUG9vbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJv
Y2Vzc1Bvb2wubW0KQEAgLTE5Nyw2ICsxOTcsMTEgQEAgc3RhdGljIE5TVVJMICp3ZWJzaXRlRGF0
YURpcmVjdG9yeVVSTChOU1N0cmluZyAqZGlyZWN0b3J5TmFtZSkKICAgICBfY29udGV4dC0+YWxs
b3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJ
bmZvOjpjcmVhdGUoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvKChDRkFycmF5UmVmKWNlcnRpZmlj
YXRlQ2hhaW4pKS5nZXQoKSwgaG9zdCk7CiB9CiAKKy0gKHZvaWQpX3NldENhbkhhbmRsZUhUVFBT
U2VydmVyVHJ1c3RFdmFsdWF0aW9uOihCT09MKXZhbHVlCit7CisgICAgX2NvbnRleHQtPnNldENh
bkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uKHZhbHVlKTsKK30KKwogc3RhdGljIFdl
YktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeSB0b0hUVFBDb29raWVBY2NlcHRQb2xpY3koTlNI
VFRQQ29va2llQWNjZXB0UG9saWN5IHBvbGljeSkKIHsKICAgICBzd2l0Y2ggKHN0YXRpY19jYXN0
PE5TVUludGVnZXI+KHBvbGljeSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaAppbmRleCAxMDMwNGRlYzRl
YmIwNDM2ZjM1ODQ4MTdmMjgxYmZlYjBmNjcwMWM2Li5lNGJhZmJmY2JlZmNjN2Y2NDZmZTBiYTQ1
NzVjNjE5MTk1NjYyMWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLUHJvY2Vzc1Bvb2xQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sUHJpdmF0ZS5oCkBAIC0zNyw2ICszNyw3IEBACiBA
cHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIF9XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlv
biAqX2NvbmZpZ3VyYXRpb247CiAKIC0gKHZvaWQpX3NldEFsbG93c1NwZWNpZmljSFRUUFNDZXJ0
aWZpY2F0ZTooTlNBcnJheSAqKWNlcnRpZmljYXRlQ2hhaW4gZm9ySG9zdDooTlNTdHJpbmcgKilo
b3N0OworLSAodm9pZClfc2V0Q2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb246KEJP
T0wpdmFsdWU7CiAtICh2b2lkKV9zZXRDb29raWVBY2NlcHRQb2xpY3k6KE5TSFRUUENvb2tpZUFj
Y2VwdFBvbGljeSlwb2xpY3k7CiAKIC0gKGlkKV9vYmplY3RGb3JCdW5kbGVQYXJhbWV0ZXI6KE5T
U3RyaW5nICopcGFyYW1ldGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkNvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3Bw
CmluZGV4IGFkNWZkYTEzNTA3YjFjZDQ2MzMyNjk3YjExYmQ1NTE3ZjkyMmQ3YjEuLmI0ZDVjNzg3
MzNlNWQxNGE3NTdlOGJlM2M5MjgwNDhjODdmYTU0ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViQ29udGV4dC5jcHAKQEAgLTE4MCw2ICsxODAsNyBAQCBXZWJDb250ZXh0OjpXZWJDb250
ZXh0KFdlYkNvbnRleHRDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pCiAgICAgLCBtX3Nob3Vs
ZFVzZVRlc3RpbmdOZXR3b3JrU2Vzc2lvbihmYWxzZSkKICAgICAsIG1fcHJvY2Vzc1Rlcm1pbmF0
aW9uRW5hYmxlZCh0cnVlKQogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCisgICAgLCBtX2Nh
bkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uKHRydWUpCiAgICAgLCBtX3VzZXNOZXR3
b3JrUHJvY2VzcyhmYWxzZSkKICNlbmRpZgogI2lmIFVTRShTT1VQKQpAQCAtNDE1LDYgKzQxNiw3
IEBAIHZvaWQgV2ViQ29udGV4dDo6ZW5zdXJlTmV0d29ya1Byb2Nlc3MoKQogICAgIHBhcmFtZXRl
cnMucHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCA9IFdlYlByZWZlcmVuY2VzOjphbnlQYWdlc0FyZVVz
aW5nUHJpdmF0ZUJyb3dzaW5nKCk7CiAKICAgICBwYXJhbWV0ZXJzLmNhY2hlTW9kZWwgPSBtX2Nh
Y2hlTW9kZWw7CisgICAgcGFyYW1ldGVycy5jYW5IYW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVh
dGlvbiA9IG1fY2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb247CiAKICAgICBwYXJh
bWV0ZXJzLmRpc2tDYWNoZURpcmVjdG9yeSA9IHN0cmluZ0J5UmVzb2x2aW5nU3ltbGlua3NJblBh
dGgoZGlza0NhY2hlRGlyZWN0b3J5KCkpOwogICAgIGlmICghcGFyYW1ldGVycy5kaXNrQ2FjaGVE
aXJlY3RvcnkuaXNFbXB0eSgpKQpAQCAtOTgwLDYgKzk4MiwxOSBAQCB2b2lkIFdlYkNvbnRleHQ6
OnNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUoY29uc3QgU3RyaW5nJiB1
cmxTY2hlbQogICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6U2V0
RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZSh1cmxTY2hlbWUpKTsKIH0KIAor
dm9pZCBXZWJDb250ZXh0OjpzZXRDYW5IYW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbihi
b29sIHZhbHVlKQoreworI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCisgICAgbV9jYW5IYW5k
bGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbiA9IHZhbHVlOworICAgIGlmIChtX3VzZXNOZXR3
b3JrUHJvY2VzcyAmJiBtX25ldHdvcmtQcm9jZXNzKSB7CisgICAgICAgIG1fbmV0d29ya1Byb2Nl
c3MtPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpTZXRDYW5IYW5kbGVIVFRQU1NlcnZl
clRydXN0RXZhbHVhdGlvbih2YWx1ZSksIDApOworICAgICAgICByZXR1cm47CisgICAgfQorI2Vs
c2UKKyAgICBVTlVTRURfUEFSQU0odmFsdWUpOworI2VuZGlmCit9CisKIHZvaWQgV2ViQ29udGV4
dDo6cmVnaXN0ZXJVUkxTY2hlbWVBc0xvY2FsKGNvbnN0IFN0cmluZyYgdXJsU2NoZW1lKQogewog
ICAgIG1fc2NoZW1lc1RvUmVnaXN0ZXJBc0xvY2FsLmFkZCh1cmxTY2hlbWUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKaW5kZXggNjYxOTY1N2M2MTE1MjVjMzkyMTdjYzkzY2Qw
NGY3M2IyZDE0ODQ4Yy4uOWUyMzQwYWJmODU0NGNiMWY5ZWIxZmMxNGQzYWNlYzgzZTA0Y2U2YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCkBAIC0yMDIsNiArMjAyLDcgQEAg
cHVibGljOgogICAgIHZvaWQgcmVnaXN0ZXJVUkxTY2hlbWVBc0VtcHR5RG9jdW1lbnQoY29uc3Qg
U3RyaW5nJik7CiAgICAgdm9pZCByZWdpc3RlclVSTFNjaGVtZUFzU2VjdXJlKGNvbnN0IFN0cmlu
ZyYpOwogICAgIHZvaWQgc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShj
b25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldENhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFs
dWF0aW9uKGJvb2wpOwogICAgIHZvaWQgcmVnaXN0ZXJVUkxTY2hlbWVBc0xvY2FsKGNvbnN0IFN0
cmluZyYpOwogICAgIHZvaWQgcmVnaXN0ZXJVUkxTY2hlbWVBc05vQWNjZXNzKGNvbnN0IFN0cmlu
ZyYpOwogICAgIHZvaWQgcmVnaXN0ZXJVUkxTY2hlbWVBc0Rpc3BsYXlJc29sYXRlZChjb25zdCBT
dHJpbmcmKTsKQEAgLTUzNSw2ICs1MzYsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9wcm9jZXNz
VGVybWluYXRpb25FbmFibGVkOwogCiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKKyAgICBi
b29sIG1fY2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb247CiAgICAgYm9vbCBtX3Vz
ZXNOZXR3b3JrUHJvY2VzczsKICAgICBSZWZQdHI8TmV0d29ya1Byb2Nlc3NQcm94eT4gbV9uZXR3
b3JrUHJvY2VzczsKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239356</attachid>
            <date>2014-10-06 14:30:57 -0700</date>
            <delta_ts>2014-10-06 15:07:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137367-20141006143059.patch</filename>
            <type>text/plain</type>
            <size>15616</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMTIyNjQyM2JhM2I3YTJm
M2FjMmYxZmQzYzU5MDI0NWY2OTA0ZDg0YS4uMjY2ZTRlMWMyZDlkYzBjZjk1NTJiMjc3OWYxZjM0
OWQ2MjdkYTRlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDE0LTEwLTA2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW01hY10gV2UgYXJlIHNwZW5k
aW5nIHRvbyBtdWNoIHRpbWUgc2VyaWFsaXppbmcgUHJvdGVjdGlvblNwYWNlIG9iamVjdHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzM2NworCisg
ICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCisKKyAgICAgICAgV2hlbiBwcm9maWxp
bmcgdGhlIGxvYWQgb2Ygbnl0aW1lcy5jb20sIEkgbm90aWNlZCB0aGF0IHdlIHdlcmUgc3BlbmRp
bmcKKyAgICAgICAgYSBsb3Qgb2YgQ1BVIHRpbWUgc2VyaWFsaXppbmcgUHJvdGVjdGlvblNwYWNl
IG9iamVjdHMgKGluIHBhcnRpY3VsYXIKKyAgICAgICAgdGhlIE5TVVJMUHJvdGVjdGlvblNwYWNl
IHBsYXRmb3JtIGRhdGEpOgorICAgICAgICAtIDUuNiUgb2YgQ1BVIHRpbWUgZm9yIE5ldHdvcmsg
UHJvY2VzcworICAgICAgICAtIDIuNSUgb2YgQ1BVIHRpbWUgZm9yIFdlYlByb2Nlc3MKKworICAg
ICAgICBTZXJpYWxpemluZyBhbiBOU1VSTFByb3RlY3Rpb25TcGFjZSBzZWVtcyB0byBiZSBjb3N0
bHkgZHVlIHRvIHNlcnZlcgorICAgICAgICB0cnVzdCB2ZXJpZmljYXRpb24uIFdlIGRvIHRoaXMg
Zm9yIGV2ZXJ5IHN1Yi1yZXNvdXJjZSBsb2FkIG92ZXIgSFRUUFMKKyAgICAgICAgZHVlIHRvIHRo
ZSBjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKCkgY2FsbGJhY2sgZm9yIHNl
cnZlcgorICAgICAgICB0cnVzdCB2YWxpZGF0aW9uLCBmcm9tIHRoZSBOZXR3b3JrUHJvY2VzcyB0
byB0aGUgV2ViUHJvY2VzcyBhbmQgdGhlbiB0bworICAgICAgICB0aGUgVUlQcm9jZXNzLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhIFdLQ29udGV4dFNldENhbkhhbmRsZUhUVFBTU2VydmVy
VHJ1c3RFdmFsdWF0aW9uKGJvb2wpCisgICAgICAgIFdLMiBwcml2YXRlIEFQSSB0aGF0IHRoZSBj
bGllbnQgY2FuIGNhbGwgdG8gaW5kaWNhdGUgdGhhdCBpdCBjYW5ub3QKKyAgICAgICAgaGFuZGxl
IEhUVFBTIHNlcnZlciB0cnVzdCBldmFsdWF0aW9uIGFuZCB0aGF0IGl0IGlzIHRodXMgdW5uZWNl
c3NhcnkgdG8KKyAgICAgICAgY2FsbCB0aGUgY2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rp
b25TcGFjZSgpIGNhbGxiYWNrIGZvciBzdWNoCisgICAgICAgIGV2YWx1YXRpb25zLiBUaGlzIHJl
ZHVjZXMgdGhlIGFtb3VudCBvZiBJUEMgYmV0d2VlbiB0aGUgcHJvY2VzcyBhbmQKKyAgICAgICAg
dGh1cyB0aGUgbnVtYmVyIG9mIHRpbWVzIHdlIGhhdmUgdG8gc2VyaWFsaXplIHRoZSBQcm90ZWN0
aW9uU3BhY2UuCisKKyAgICAgICAgSW4gdGhlIGNhc2Ugb2YgdGhlIG55dGltZXMuY29tIGxvYWQs
IHRoZXJlIGlzIG5vIGxvbmdlciBhbnkKKyAgICAgICAgUHJvdGVjdGlvblNwYWNlIHNlcmlhbGl6
YXRpb24gaGFwcGVuaW5nIGFzCisgICAgICAgIGNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0
aW9uU3BhY2UoKSB3YXMgb25seSBjYWxsZWQgZm9yIEhUVFBTCisgICAgICAgIHNlcnZlciB0cnVz
dCBldmFsdWF0aW9uLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6TmV0d29ya1Byb2Nlc3MpOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6aW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNz
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnNldENhbkhhbmRsZUhUVFBTU2Vy
dmVyVHJ1c3RFdmFsdWF0aW9uKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6Y2FuSGFuZGxlSFRUUFNT
ZXJ2ZXJUcnVzdEV2YWx1YXRpb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6
Y2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZUFzeW5jKToKKyAgICAgICAgKiBT
aGFyZWQvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUpOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2Rl
KToKKyAgICAgICAgKiBTaGFyZWQvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwOgorICAgICAg
ICAoV0tDb250ZXh0U2V0Q2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb24pOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sLm1tOgorICAgICAgICAoLVtXS1Byb2Nlc3NQ
b29sIF9zZXRDYW5IYW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbjpdKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2xQcml2YXRlLmg6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpX
ZWJDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6ZW5zdXJlTmV0d29ya1By
b2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpzZXRDYW5IYW5kbGVIVFRQU1Nl
cnZlclRydXN0RXZhbHVhdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuaDoK
KwogMjAxNC0xMC0wNiAgQ2hyaXN0b3BoZSBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAg
ICAgICAgVXNlIGlzPD4oKSAvIGRvd25jYXN0PD4oKSBmb3IgU2Nyb2xsaW5nVHJlZSBzdWJjbGFz
c2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5j
cHAKaW5kZXggZTEyZjhhNWZlMDBiNGU2Mjc3ZTU3MTU2NGQ2MGZiNjQ4ODViZmJmMS4uMTNlNjRj
NTY2MDBmMWJlNTBjZDE0MmUxMjJiOTExNjgzMDEwZDZiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtNjcsNiArNjcsNyBAQCBO
ZXR3b3JrUHJvY2VzcyYgTmV0d29ya1Byb2Nlc3M6OnNoYXJlZCgpCiBOZXR3b3JrUHJvY2Vzczo6
TmV0d29ya1Byb2Nlc3MoKQogICAgIDogbV9oYXNTZXRDYWNoZU1vZGVsKGZhbHNlKQogICAgICwg
bV9jYWNoZU1vZGVsKENhY2hlTW9kZWxEb2N1bWVudFZpZXdlcikKKyAgICAsIG1fY2FuSGFuZGxl
SFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb24odHJ1ZSkKICNpZiBQTEFURk9STShDT0NPQSkKICAg
ICAsIG1fY2xlYXJDYWNoZURpc3BhdGNoR3JvdXAoMCkKICNlbmRpZgpAQCAtMTYzLDYgKzE2NCw3
IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmluaXRpYWxpemVOZXR3b3JrUHJvY2Vzcyhjb25zdCBO
ZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1lCiAgICAgbWVtb3J5UHJlc3N1cmVIYW5kbGVyKCku
aW5zdGFsbCgpOwogCiAgICAgc2V0Q2FjaGVNb2RlbChzdGF0aWNfY2FzdDx1aW50MzJfdD4ocGFy
YW1ldGVycy5jYWNoZU1vZGVsKSk7CisgICAgc2V0Q2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2
YWx1YXRpb24ocGFyYW1ldGVycy5jYW5IYW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbik7
CiAKICNpZiBQTEFURk9STShNQUMpIHx8IFVTRShDRk5FVFdPUkspCiAgICAgU2Vzc2lvblRyYWNr
ZXI6OnNldElkZW50aWZpZXJCYXNlKHBhcmFtZXRlcnMudWlQcm9jZXNzQnVuZGxlSWRlbnRpZmll
cik7CkBAIC0yNTIsNiArMjU0LDExIEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldENhY2hlTW9k
ZWwodWludDMyX3QgY20pCiAgICAgfQogfQogCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpzZXRDYW5I
YW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbihib29sIHZhbHVlKQoreworICAgIG1fY2Fu
SGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb24gPSB2YWx1ZTsKK30KKwogdm9pZCBOZXR3
b3JrUHJvY2Vzczo6Z2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90IGNhbGxiYWNr
SUQpCiB7CiAgICAgTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlciYgc2NoZWR1bGVyID0gTmV0
d29ya1Byb2Nlc3M6OnNoYXJlZCgpLm5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IDc5
ZDQ2NDQ0MjI2OWI2NjMzOTZlZmE3Y2I5ZGJkZmIyMzgwNjY5M2YuLjExNTk5OTk2ZDA5ZjFlZDhi
NzI3ZWI5ZGE4Y2FiYTE1NTJjY2ZmOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtNzMsNiArNzMsNyBAQCBwdWJsaWM6CiAKICAgICBB
dXRoZW50aWNhdGlvbk1hbmFnZXImIGF1dGhlbnRpY2F0aW9uTWFuYWdlcigpOwogICAgIERvd25s
b2FkTWFuYWdlciYgZG93bmxvYWRNYW5hZ2VyKCk7CisgICAgYm9vbCBjYW5IYW5kbGVIVFRQU1Nl
cnZlclRydXN0RXZhbHVhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY2FuSGFuZGxlSFRUUFNTZXJ2
ZXJUcnVzdEV2YWx1YXRpb247IH0KIAogcHJpdmF0ZToKICAgICBOZXR3b3JrUHJvY2VzcygpOwpA
QCAtMTE1LDYgKzExNiw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjYW5jZWxEb3dubG9hZCh1aW50
NjRfdCBkb3dubG9hZElEKTsKICAgICB2b2lkIHNldENhY2hlTW9kZWwodWludDMyX3QpOwogICAg
IHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNvcmU6
OkNlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9zdCk7CisgICAgdm9pZCBzZXRDYW5I
YW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbihib29sKTsKICAgICB2b2lkIGdldE5ldHdv
cmtQcm9jZXNzU3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2b2lkIGNsZWFy
Q2FjaGVGb3JBbGxPcmlnaW5zKHVpbnQzMl90IGNhY2hlc1RvQ2xlYXIpOwogCkBAIC0xMzQsNiAr
MTM2LDcgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9kaXNrQ2FjaGVEaXJlY3Rvcnk7CiAgICAg
Ym9vbCBtX2hhc1NldENhY2hlTW9kZWw7CiAgICAgQ2FjaGVNb2RlbCBtX2NhY2hlTW9kZWw7Cisg
ICAgYm9vbCBtX2NhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uOwogCiAgICAgdHlw
ZWRlZiBIYXNoTWFwPGNvbnN0IGNoYXIqLCBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya1Byb2Nlc3NT
dXBwbGVtZW50PiwgUHRySGFzaDxjb25zdCBjaGFyKj4+IE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVu
dE1hcDsKICAgICBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnRNYXAgbV9zdXBwbGVtZW50czsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1l
c3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
bWVzc2FnZXMuaW4KaW5kZXggNzQ5OTQ0OWI5OTM0ZGI3ZDA5YjE3Y2MyYmRkZmJjYmU5MDEyNzZj
OC4uMWMyNmMzYTEzZWZhZDQxZDkxODkzOWE4NTk5OGI5ODZiYTkxOTg1MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2Fn
ZXMuaW4KQEAgLTQ2LDYgKzQ2LDcgQEAgbWVzc2FnZXMgLT4gTmV0d29ya1Byb2Nlc3MgTGVnYWN5
UmVjZWl2ZXIgewogI2VuZGlmCiAKICAgICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZv
ckhvc3QoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlLCBTdHJpbmcgaG9zdCkK
KyAgICBTZXRDYW5IYW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbihib29sIHZhbHVlKQog
ICAgIAogICAgIEdldE5ldHdvcmtQcm9jZXNzU3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lE
KQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggMmVkYmRmOWJhODk1NTlhMDg2YzRhNTI5Y2YyM2Vk
OWY2NTQxYTcwYi4uOTU0YmJhNDc0MTk5MjMzZmE4NDU2YzkwMTcxZmNiOWI2ODBlODk5NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9h
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIuY3BwCkBAIC00NzUsNiArNDc1LDEzIEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9h
ZGVyOjpjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlQXN5bmMoUmVzb3VyY2VI
CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKICAgICBBU1NFUlRfVU5VU0VEKGhhbmRs
ZSwgaGFuZGxlID09IG1faGFuZGxlKTsKIAorICAgIC8vIEhhbmRsZSBzZXJ2ZXIgdHJ1c3QgZXZh
bHVhdGlvbiBhdCBwbGF0Zm9ybS1sZXZlbCBpZiByZXF1ZXN0ZWQsIGZvciBwZXJmb3JtYW5jZSBy
ZWFzb25zLgorICAgIGlmIChwcm90ZWN0aW9uU3BhY2UuYXV0aGVudGljYXRpb25TY2hlbWUoKSA9
PSBQcm90ZWN0aW9uU3BhY2VBdXRoZW50aWNhdGlvblNjaGVtZVNlcnZlclRydXN0RXZhbHVhdGlv
blJlcXVlc3RlZAorICAgICAgICAmJiAhTmV0d29ya1Byb2Nlc3M6OnNoYXJlZCgpLmNhbkhhbmRs
ZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uKCkpIHsKKyAgICAgICAgY29udGludWVDYW5BdXRo
ZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKGZhbHNlKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKwogICAgIGlmIChpc1N5bmNocm9ub3VzKCkpIHsKICAgICAgICAgLy8gRklYTUU6IFdl
IHNob3VsZCBhc2sgdGhlIFdlYlByb2Nlc3MgbGlrZSB0aGUgYXN5bmNocm9ub3VzIGNhc2UgYmVs
b3cgZG9lcy4KICAgICAgICAgLy8gVGhpcyBpcyBjdXJyZW50bHkgaW1wb3NzaWJsZSBhcyB0aGUg
V2ViUHJvY2VzcyBpcyBibG9ja2VkIHdhaXRpbmcgb24gdGhpcyBzeW5jaHJvbm91cyBsb2FkLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL05ldHdvcmsvTmV0d29ya1Byb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL05ldHdvcmsvTmV0
d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IDhiMjY5MWM0ZmE1NDExMzhk
YWRiM2ZlZDYwNWIwNWQ1Mjg4YTZmNTguLjVmYTMwMzI5MTdhOWYwNGI4MDllOWU2ZTk3ZmM0MWM2
ZGFmODQzMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9OZXR3b3JrL05ldHdv
cmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTQwLDYg
KzQwLDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKElQ
Qzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb24KIHsKICAgICBlbmNvZGVyIDw8IHByaXZh
dGVCcm93c2luZ0VuYWJsZWQ7CiAgICAgZW5jb2Rlci5lbmNvZGVFbnVtKGNhY2hlTW9kZWwpOwor
ICAgIGVuY29kZXIgPDwgY2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb247CiAgICAg
ZW5jb2RlciA8PCBkaXNrQ2FjaGVEaXJlY3Rvcnk7CiAgICAgZW5jb2RlciA8PCBkaXNrQ2FjaGVE
aXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAgICAgZW5jb2RlciA8PCBjb29raWVTdG9yYWdlRGly
ZWN0b3J5OwpAQCAtNzUsNiArNzYsOCBAQCBib29sIE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzOjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIE5ldAogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0ocmVzdWx0LmNhY2hl
TW9kZWwpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShy
ZXN1bHQuY2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb24pKQorICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuZGlza0NhY2hlRGlyZWN0
b3J5KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVz
dWx0LmRpc2tDYWNoZURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuaAppbmRleCA4ODVlYTZjZmY4MWFjYWUzOTY2ZDViMDQ1MmZkN2YzMWFjY2Vi
YjFiLi4zYTBmNGNkMTljZDZiZGViODUzNWMyOWQzYjVlYmI5YjMwNWQ1ZDg1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9OZXR3b3JrL05ldHdvcmtQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTUyLDYgKzUyLDcgQEAgc3RydWN0IE5ldHdvcmtQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKIAogICAgIGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5h
YmxlZDsKICAgICBDYWNoZU1vZGVsIGNhY2hlTW9kZWw7CisgICAgYm9vbCBjYW5IYW5kbGVIVFRQ
U1NlcnZlclRydXN0RXZhbHVhdGlvbjsKIAogICAgIFN0cmluZyBkaXNrQ2FjaGVEaXJlY3Rvcnk7
CiAgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGRpc2tDYWNoZURpcmVjdG9yeUV4dGVuc2lv
bkhhbmRsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Nv
bnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAK
aW5kZXggOWViZWI1Mzg0MTZjZTZkNjAxNDQ0YzQ5ZTIwYmE3ZTUzZjUxOGFmYi4uNzQzMTEwOTcw
YTFlM2E3MWY4ZTI5ODA5Yzc1MDAwOGY2NTI5ZDBiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAKQEAgLTM4NSw2ICszODUsMTEgQEAgdm9pZCBXS0Nv
bnRleHRTZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKFdLQ29udGV4dFJl
ZiBjb250ZXh0UmVmLAogICAgIHRvSW1wbChjb250ZXh0UmVmKS0+c2V0RG9tYWluUmVsYXhhdGlv
bkZvcmJpZGRlbkZvclVSTFNjaGVtZSh0b0ltcGwodXJsU2NoZW1lKS0+c3RyaW5nKCkpOwogfQog
Cit2b2lkIFdLQ29udGV4dFNldENhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uKFdL
Q29udGV4dFJlZiBjb250ZXh0UmVmLCBib29sIHZhbHVlKQoreworICAgIHRvSW1wbChjb250ZXh0
UmVmKS0+c2V0Q2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb24odmFsdWUpOworfQor
CiBXS0Nvb2tpZU1hbmFnZXJSZWYgV0tDb250ZXh0R2V0Q29va2llTWFuYWdlcihXS0NvbnRleHRS
ZWYgY29udGV4dFJlZikKIHsKICAgICByZXR1cm4gdG9BUEkodG9JbXBsKGNvbnRleHRSZWYpLT5z
dXBwbGVtZW50PFdlYkNvb2tpZU1hbmFnZXJQcm94eT4oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaAppbmRleCA2YThiMGNkYTdiMmJk
MmYwYTllYzMxZDVkMzM4N2NjYTg0ZWM5ZDg5Li43NmQ4NWQzZmQ5ZjRlNWNhMzhhOTI4MzQyZWFl
NzdkMzYwZmM3M2UwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tDb250ZXh0UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S0NvbnRleHRQcml2YXRlLmgKQEAgLTU2LDYgKzU2LDggQEAgV0tfRVhQT1JUIHZvaWQgV0tDb250
ZXh0UmVnaXN0ZXJVUkxTY2hlbWVBc0NhY2hlUGFydGl0aW9uZWQoV0tDb250ZXh0UmVmIGNvbnRl
eHQKIAogV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0U2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRl
bkZvclVSTFNjaGVtZShXS0NvbnRleHRSZWYgY29udGV4dCwgV0tTdHJpbmdSZWYgdXJsU2NoZW1l
KTsKIAorV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0U2V0Q2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVz
dEV2YWx1YXRpb24oV0tDb250ZXh0UmVmIGNvbnRleHQsIGJvb2wgdmFsdWUpOworCiBXS19FWFBP
UlQgdm9pZCBXS0NvbnRleHRTZXRJY29uRGF0YWJhc2VQYXRoKFdLQ29udGV4dFJlZiBjb250ZXh0
LCBXS1N0cmluZ1JlZiBpY29uRGF0YWJhc2VQYXRoKTsKIAogV0tfRVhQT1JUIHZvaWQgV0tDb250
ZXh0QWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdLQ29udGV4dFJlZiBjb250
ZXh0LCBXS0NlcnRpZmljYXRlSW5mb1JlZiBjZXJ0aWZpY2F0ZSwgV0tTdHJpbmdSZWYgaG9zdCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vz
c1Bvb2wubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bv
b2wubW0KaW5kZXggNWUyNzdmOWJkMTU3NjhlODVmZmQyMWEyN2M1NDRmMTk4NzE4MTIwZi4uY2M3
MWExYWZkOGQ5OTk4MmM4Y2FmYTBjNjI1MWQ0MDViYWY4YzdkYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbC5tbQpAQCAtMTk3LDYg
KzE5NywxMSBAQCBzdGF0aWMgTlNVUkwgKndlYnNpdGVEYXRhRGlyZWN0b3J5VVJMKE5TU3RyaW5n
ICpkaXJlY3RvcnlOYW1lKQogICAgIF9jb250ZXh0LT5hbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZp
Y2F0ZUZvckhvc3QoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShXZWJDb3JlOjpD
ZXJ0aWZpY2F0ZUluZm8oKENGQXJyYXlSZWYpY2VydGlmaWNhdGVDaGFpbikpLmdldCgpLCBob3N0
KTsKIH0KIAorLSAodm9pZClfc2V0Q2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb246
KEJPT0wpdmFsdWUKK3sKKyAgICBfY29udGV4dC0+c2V0Q2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVz
dEV2YWx1YXRpb24odmFsdWUpOworfQorCiBzdGF0aWMgV2ViS2l0OjpIVFRQQ29va2llQWNjZXB0
UG9saWN5IHRvSFRUUENvb2tpZUFjY2VwdFBvbGljeShOU0hUVFBDb29raWVBY2NlcHRQb2xpY3kg
cG9saWN5KQogewogICAgIHN3aXRjaCAoc3RhdGljX2Nhc3Q8TlNVSW50ZWdlcj4ocG9saWN5KSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nl
c3NQb29sUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1By
b2Nlc3NQb29sUHJpdmF0ZS5oCmluZGV4IDEwMzA0ZGVjNGViYjA0MzZmMzU4NDgxN2YyODFiZmVi
MGY2NzAxYzYuLmU0YmFmYmZjYmVmY2M3ZjY0NmZlMGJhNDU3NWM2MTkxOTU2NjIxZDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFBy
aXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vz
c1Bvb2xQcml2YXRlLmgKQEAgLTM3LDYgKzM3LDcgQEAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBy
ZWFkb25seSkgX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uICpfY29uZmlndXJhdGlvbjsKIAog
LSAodm9pZClfc2V0QWxsb3dzU3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlOihOU0FycmF5ICopY2Vy
dGlmaWNhdGVDaGFpbiBmb3JIb3N0OihOU1N0cmluZyAqKWhvc3Q7CistICh2b2lkKV9zZXRDYW5I
YW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbjooQk9PTCl2YWx1ZTsKIC0gKHZvaWQpX3Nl
dENvb2tpZUFjY2VwdFBvbGljeTooTlNIVFRQQ29va2llQWNjZXB0UG9saWN5KXBvbGljeTsKIAog
LSAoaWQpX29iamVjdEZvckJ1bmRsZVBhcmFtZXRlcjooTlNTdHJpbmcgKilwYXJhbWV0ZXI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKaW5kZXggYWQ1ZmRhMTM1MDdiMWNk
NDYzMzI2OTdiMTFiZDU1MTdmOTIyZDdiMS4uYjRkNWM3ODczM2U1ZDE0YTc1N2U4YmUzYzkyODA0
OGM4N2ZhNTRkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcApAQCAt
MTgwLDYgKzE4MCw3IEBAIFdlYkNvbnRleHQ6OldlYkNvbnRleHQoV2ViQ29udGV4dENvbmZpZ3Vy
YXRpb24gY29uZmlndXJhdGlvbikKICAgICAsIG1fc2hvdWxkVXNlVGVzdGluZ05ldHdvcmtTZXNz
aW9uKGZhbHNlKQogICAgICwgbV9wcm9jZXNzVGVybWluYXRpb25FbmFibGVkKHRydWUpCiAjaWYg
RU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKKyAgICAsIG1fY2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVz
dEV2YWx1YXRpb24odHJ1ZSkKICAgICAsIG1fdXNlc05ldHdvcmtQcm9jZXNzKGZhbHNlKQogI2Vu
ZGlmCiAjaWYgVVNFKFNPVVApCkBAIC00MTUsNiArNDE2LDcgQEAgdm9pZCBXZWJDb250ZXh0Ojpl
bnN1cmVOZXR3b3JrUHJvY2VzcygpCiAgICAgcGFyYW1ldGVycy5wcml2YXRlQnJvd3NpbmdFbmFi
bGVkID0gV2ViUHJlZmVyZW5jZXM6OmFueVBhZ2VzQXJlVXNpbmdQcml2YXRlQnJvd3NpbmcoKTsK
IAogICAgIHBhcmFtZXRlcnMuY2FjaGVNb2RlbCA9IG1fY2FjaGVNb2RlbDsKKyAgICBwYXJhbWV0
ZXJzLmNhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uID0gbV9jYW5IYW5kbGVIVFRQ
U1NlcnZlclRydXN0RXZhbHVhdGlvbjsKIAogICAgIHBhcmFtZXRlcnMuZGlza0NhY2hlRGlyZWN0
b3J5ID0gc3RyaW5nQnlSZXNvbHZpbmdTeW1saW5rc0luUGF0aChkaXNrQ2FjaGVEaXJlY3Rvcnko
KSk7CiAgICAgaWYgKCFwYXJhbWV0ZXJzLmRpc2tDYWNoZURpcmVjdG9yeS5pc0VtcHR5KCkpCkBA
IC05ODAsNiArOTgyLDE5IEBAIHZvaWQgV2ViQ29udGV4dDo6c2V0RG9tYWluUmVsYXhhdGlvbkZv
cmJpZGRlbkZvclVSTFNjaGVtZShjb25zdCBTdHJpbmcmIHVybFNjaGVtCiAgICAgc2VuZFRvQWxs
UHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpTZXREb21haW5SZWxheGF0aW9uRm9yYmlk
ZGVuRm9yVVJMU2NoZW1lKHVybFNjaGVtZSkpOwogfQogCit2b2lkIFdlYkNvbnRleHQ6OnNldENh
bkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uKGJvb2wgdmFsdWUpCit7CisjaWYgRU5B
QkxFKE5FVFdPUktfUFJPQ0VTUykKKyAgICBtX2NhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFs
dWF0aW9uID0gdmFsdWU7CisgICAgaWYgKG1fdXNlc05ldHdvcmtQcm9jZXNzICYmIG1fbmV0d29y
a1Byb2Nlc3MpIHsKKyAgICAgICAgbV9uZXR3b3JrUHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6TmV0
d29ya1Byb2Nlc3M6OlNldENhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uKHZhbHVl
KSwgMCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTSh2
YWx1ZSk7CisjZW5kaWYKK30KKwogdm9pZCBXZWJDb250ZXh0OjpyZWdpc3RlclVSTFNjaGVtZUFz
TG9jYWwoY29uc3QgU3RyaW5nJiB1cmxTY2hlbWUpCiB7CiAgICAgbV9zY2hlbWVzVG9SZWdpc3Rl
ckFzTG9jYWwuYWRkKHVybFNjaGVtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29udGV4dC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQu
aAppbmRleCA2NjE5NjU3YzYxMTUyNWMzOTIxN2NjOTNjZDA0ZjczYjJkMTQ4NDhjLi45ZTIzNDBh
YmY4NTQ0Y2IxZjllYjFmYzE0ZDNhY2VjODNlMDRjZTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJDb250ZXh0LmgKQEAgLTIwMiw2ICsyMDIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZWdp
c3RlclVSTFNjaGVtZUFzRW1wdHlEb2N1bWVudChjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHJl
Z2lzdGVyVVJMU2NoZW1lQXNTZWN1cmUoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBzZXREb21h
aW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKGNvbnN0IFN0cmluZyYpOworICAgIHZv
aWQgc2V0Q2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb24oYm9vbCk7CiAgICAgdm9p
ZCByZWdpc3RlclVSTFNjaGVtZUFzTG9jYWwoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCByZWdp
c3RlclVSTFNjaGVtZUFzTm9BY2Nlc3MoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCByZWdpc3Rl
clVSTFNjaGVtZUFzRGlzcGxheUlzb2xhdGVkKGNvbnN0IFN0cmluZyYpOwpAQCAtNTM1LDYgKzUz
Niw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3Byb2Nlc3NUZXJtaW5hdGlvbkVuYWJsZWQ7CiAK
ICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQorICAgIGJvb2wgbV9jYW5IYW5kbGVIVFRQU1Nl
cnZlclRydXN0RXZhbHVhdGlvbjsKICAgICBib29sIG1fdXNlc05ldHdvcmtQcm9jZXNzOwogICAg
IFJlZlB0cjxOZXR3b3JrUHJvY2Vzc1Byb3h5PiBtX25ldHdvcmtQcm9jZXNzOwogI2VuZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>