<?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>187671</bug_id>
          
          <creation_ts>2018-07-13 16:33:56 -0700</creation_ts>
          <short_desc>Reduce size of NetworkLoadMetrics and therefore ResourceResponse</short_desc>
          <delta_ts>2018-07-16 13:24:24 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1442100</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-07-13 16:33:56 -0700</bug_when>
    <thetext>Reduce size of NetworkLoadMetrics and therefore ResourceResponse</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442101</commentid>
    <comment_count>1</comment_count>
      <attachid>345001</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-07-13 16:36:53 -0700</bug_when>
    <thetext>Created attachment 345001
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442121</commentid>
    <comment_count>2</comment_count>
      <attachid>345008</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-07-13 17:29:55 -0700</bug_when>
    <thetext>Created attachment 345008
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442206</commentid>
    <comment_count>3</comment_count>
      <attachid>345008</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-07-14 06:56:03 -0700</bug_when>
    <thetext>Comment on attachment 345008
Patch

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

Concept here is fine but std::numeric_limits&lt;unit64_t&gt;::max() is probably better than writing -1.

Also if we really want to optimize the size of this it seems strange we really need 64 bits for something like header size. There must be much smaller practical limits for the sizes of various things here. And we could store headers in a sorted vector instead of a map and save a *lot* more space.

I am also concerned that this leaves nothing behind to remind us to keep this small. I could easily imagine someone showing up soon with a “cleanup” patch to make this use std::optional and we are not even leaving a comment behind to prevent that.

&gt; Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp:246
&gt; +    if (networkLoadMetrics.requestHeaderBytesSent != -1ull)

-1ull does not make sense. -1 is not an unsigned number. Can we find a correct way to write this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442208</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-07-14 08:14:04 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 345008 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=345008&amp;action=review
&gt; 
&gt; Concept here is fine but std::numeric_limits&lt;unit64_t&gt;::max() is probably
&gt; better than writing -1.
&gt; 
&gt; Also if we really want to optimize the size of this it seems strange we
&gt; really need 64 bits for something like header size. There must be much
&gt; smaller practical limits for the sizes of various things here. And we could
&gt; store headers in a sorted vector instead of a map and save a *lot* more
&gt; space.

HTTPHeaderMap is based on Vector nowadays already, not HashMap.

&gt; 
&gt; I am also concerned that this leaves nothing behind to remind us to keep
&gt; this small. I could easily imagine someone showing up soon with a “cleanup”
&gt; patch to make this use std::optional and we are not even leaving a comment
&gt; behind to prevent that.
&gt; 
&gt; &gt; Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp:246
&gt; &gt; +    if (networkLoadMetrics.requestHeaderBytesSent != -1ull)
&gt; 
&gt; -1ull does not make sense. -1 is not an unsigned number. Can we find a
&gt; correct way to write this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442460</commentid>
    <comment_count>5</comment_count>
      <attachid>345105</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-07-16 12:10:05 -0700</bug_when>
    <thetext>Created attachment 345105
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442464</commentid>
    <comment_count>6</comment_count>
      <attachid>345107</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-07-16 12:19:12 -0700</bug_when>
    <thetext>Created attachment 345107
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442468</commentid>
    <comment_count>7</comment_count>
      <attachid>345109</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-07-16 12:26:23 -0700</bug_when>
    <thetext>Created attachment 345109
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442482</commentid>
    <comment_count>8</comment_count>
      <attachid>345109</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-07-16 12:55:46 -0700</bug_when>
    <thetext>Comment on attachment 345109
Patch

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

&gt; Source/WebCore/platform/network/NetworkLoadMetrics.h:171
&gt; +    uint32_t requestHeaderBytesSent;
&gt; +    uint32_t responseHeaderBytesReceived;

I used uint32_t for the header bytes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442500</commentid>
    <comment_count>9</comment_count>
      <attachid>345109</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-16 13:23:59 -0700</bug_when>
    <thetext>Comment on attachment 345109
Patch

Clearing flags on attachment: 345109

Committed r233863: &lt;https://trac.webkit.org/changeset/233863&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442501</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-16 13:24:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442502</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-07-16 13:24:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/42253400&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345001</attachid>
            <date>2018-07-13 16:36:53 -0700</date>
            <delta_ts>2018-07-13 17:29:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187671-20180713163652.patch</filename>
            <type>text/plain</type>
            <size>7971</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzMzgyNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE4LTA3LTEzICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVkdWNlIHNp
emUgb2YgTmV0d29ya0xvYWRNZXRyaWNzIGFuZCB0aGVyZWZvcmUgUmVzb3VyY2VSZXNwb25zZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3NjcxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvYWdlbnRzL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0
b1Byb3RvY29sKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2VudDo6YnVp
bGRPYmplY3RGb3JNZXRyaWNzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtM
b2FkTWV0cmljcy5oOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjppc29s
YXRlZENvcHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjpy
ZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6OmNsZWFyTm9uVGlt
aW5nRGF0YSk6CisKIDIwMTgtMDctMTMgIENocmlzdG9waGVyIFJlaWQgIDxjaHJpcy5yZWlkQHNv
bnkuY29tPgogCiAgICAgICAgIFtXaW5DYWlyb10gRW5hYmxlIFdlYkdMIHdoZW4gQWNjZWxlcmF0
ZWQgQ29tcG9zaXRpbmcgaXMgZGlzYWJsZWQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAJKHJldmlz
aW9uIDIzMzgwNykKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
TmV0d29ya0FnZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjIwLDYgKzIyMCw4IEBAIHN0YXRp
YyBJbnNwZWN0b3I6OlByb3RvY29sOjpOZXR3b3JrOjpNZXQKICAgICAgICAgcmV0dXJuIEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6Ok5ldHdvcms6Ok1ldHJpY3M6OlByaW9yaXR5OjpNZWRpdW07CiAgICAg
Y2FzZSBOZXR3b3JrTG9hZFByaW9yaXR5OjpIaWdoOgogICAgICAgICByZXR1cm4gSW5zcGVjdG9y
OjpQcm90b2NvbDo6TmV0d29yazo6TWV0cmljczo6UHJpb3JpdHk6OkhpZ2g7CisgICAgY2FzZSBO
ZXR3b3JrTG9hZFByaW9yaXR5OjpVbmtub3duOgorICAgICAgICBicmVhazsKICAgICB9CiAKICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTIzMiwyNSArMjM0LDI1IEBAIFJlZjxJbnNwZWN0
b3I6OlByb3RvY29sOjpOZXR3b3JrOjpNZXRyaWMKIAogICAgIGlmICghbmV0d29ya0xvYWRNZXRy
aWNzLnByb3RvY29sLmlzTnVsbCgpKQogICAgICAgICBtZXRyaWNzLT5zZXRQcm90b2NvbChuZXR3
b3JrTG9hZE1ldHJpY3MucHJvdG9jb2wpOwotICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucHJp
b3JpdHkpCi0gICAgICAgIG1ldHJpY3MtPnNldFByaW9yaXR5KHRvUHJvdG9jb2woKm5ldHdvcmtM
b2FkTWV0cmljcy5wcmlvcml0eSkpOwotICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucmVtb3Rl
QWRkcmVzcykKLSAgICAgICAgbWV0cmljcy0+c2V0UmVtb3RlQWRkcmVzcygqbmV0d29ya0xvYWRN
ZXRyaWNzLnJlbW90ZUFkZHJlc3MpOwotICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MuY29ubmVj
dGlvbklkZW50aWZpZXIpCi0gICAgICAgIG1ldHJpY3MtPnNldENvbm5lY3Rpb25JZGVudGlmaWVy
KCpuZXR3b3JrTG9hZE1ldHJpY3MuY29ubmVjdGlvbklkZW50aWZpZXIpOwotICAgIGlmIChuZXR3
b3JrTG9hZE1ldHJpY3MucmVxdWVzdEhlYWRlcnMpCi0gICAgICAgIG1ldHJpY3MtPnNldFJlcXVl
c3RIZWFkZXJzKGJ1aWxkT2JqZWN0Rm9ySGVhZGVycygqbmV0d29ya0xvYWRNZXRyaWNzLnJlcXVl
c3RIZWFkZXJzKSk7Ci0KLSAgICBpZiAobmV0d29ya0xvYWRNZXRyaWNzLnJlcXVlc3RIZWFkZXJC
eXRlc1NlbnQpCi0gICAgICAgIG1ldHJpY3MtPnNldFJlcXVlc3RIZWFkZXJCeXRlc1NlbnQoKm5l
dHdvcmtMb2FkTWV0cmljcy5yZXF1ZXN0SGVhZGVyQnl0ZXNTZW50KTsKLSAgICBpZiAobmV0d29y
a0xvYWRNZXRyaWNzLnJlcXVlc3RCb2R5Qnl0ZXNTZW50KQotICAgICAgICBtZXRyaWNzLT5zZXRS
ZXF1ZXN0Qm9keUJ5dGVzU2VudCgqbmV0d29ya0xvYWRNZXRyaWNzLnJlcXVlc3RCb2R5Qnl0ZXNT
ZW50KTsKLSAgICBpZiAobmV0d29ya0xvYWRNZXRyaWNzLnJlc3BvbnNlSGVhZGVyQnl0ZXNSZWNl
aXZlZCkKLSAgICAgICAgbWV0cmljcy0+c2V0UmVzcG9uc2VIZWFkZXJCeXRlc1JlY2VpdmVkKCpu
ZXR3b3JrTG9hZE1ldHJpY3MucmVzcG9uc2VIZWFkZXJCeXRlc1JlY2VpdmVkKTsKLSAgICBpZiAo
bmV0d29ya0xvYWRNZXRyaWNzLnJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQpCi0gICAgICAgIG1l
dHJpY3MtPnNldFJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQoKm5ldHdvcmtMb2FkTWV0cmljcy5y
ZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVkKTsKLSAgICBpZiAobmV0d29ya0xvYWRNZXRyaWNzLnJl
c3BvbnNlQm9keURlY29kZWRTaXplKQotICAgICAgICBtZXRyaWNzLT5zZXRSZXNwb25zZUJvZHlE
ZWNvZGVkU2l6ZSgqbmV0d29ya0xvYWRNZXRyaWNzLnJlc3BvbnNlQm9keURlY29kZWRTaXplKTsK
KyAgICBpZiAobmV0d29ya0xvYWRNZXRyaWNzLnByaW9yaXR5ICE9IE5ldHdvcmtMb2FkUHJpb3Jp
dHk6OlVua25vd24pCisgICAgICAgIG1ldHJpY3MtPnNldFByaW9yaXR5KHRvUHJvdG9jb2wobmV0
d29ya0xvYWRNZXRyaWNzLnByaW9yaXR5KSk7CisgICAgaWYgKCFuZXR3b3JrTG9hZE1ldHJpY3Mu
cmVtb3RlQWRkcmVzcy5pc051bGwoKSkKKyAgICAgICAgbWV0cmljcy0+c2V0UmVtb3RlQWRkcmVz
cyhuZXR3b3JrTG9hZE1ldHJpY3MucmVtb3RlQWRkcmVzcyk7CisgICAgaWYgKCFuZXR3b3JrTG9h
ZE1ldHJpY3MuY29ubmVjdGlvbklkZW50aWZpZXIuaXNOdWxsKCkpCisgICAgICAgIG1ldHJpY3Mt
PnNldENvbm5lY3Rpb25JZGVudGlmaWVyKG5ldHdvcmtMb2FkTWV0cmljcy5jb25uZWN0aW9uSWRl
bnRpZmllcik7CisgICAgaWYgKCFuZXR3b3JrTG9hZE1ldHJpY3MucmVxdWVzdEhlYWRlcnMuaXNF
bXB0eSgpKQorICAgICAgICBtZXRyaWNzLT5zZXRSZXF1ZXN0SGVhZGVycyhidWlsZE9iamVjdEZv
ckhlYWRlcnMobmV0d29ya0xvYWRNZXRyaWNzLnJlcXVlc3RIZWFkZXJzKSk7CisKKyAgICBpZiAo
bmV0d29ya0xvYWRNZXRyaWNzLnJlcXVlc3RIZWFkZXJCeXRlc1NlbnQgIT0gLTF1bGwpCisgICAg
ICAgIG1ldHJpY3MtPnNldFJlcXVlc3RIZWFkZXJCeXRlc1NlbnQobmV0d29ya0xvYWRNZXRyaWNz
LnJlcXVlc3RIZWFkZXJCeXRlc1NlbnQpOworICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucmVx
dWVzdEJvZHlCeXRlc1NlbnQgIT0gLTF1bGwpCisgICAgICAgIG1ldHJpY3MtPnNldFJlcXVlc3RC
b2R5Qnl0ZXNTZW50KG5ldHdvcmtMb2FkTWV0cmljcy5yZXF1ZXN0Qm9keUJ5dGVzU2VudCk7Cisg
ICAgaWYgKG5ldHdvcmtMb2FkTWV0cmljcy5yZXNwb25zZUhlYWRlckJ5dGVzUmVjZWl2ZWQgIT0g
LTF1bGwpCisgICAgICAgIG1ldHJpY3MtPnNldFJlc3BvbnNlSGVhZGVyQnl0ZXNSZWNlaXZlZChu
ZXR3b3JrTG9hZE1ldHJpY3MucmVzcG9uc2VIZWFkZXJCeXRlc1JlY2VpdmVkKTsKKyAgICBpZiAo
bmV0d29ya0xvYWRNZXRyaWNzLnJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQgIT0gLTF1bGwpCisg
ICAgICAgIG1ldHJpY3MtPnNldFJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQobmV0d29ya0xvYWRN
ZXRyaWNzLnJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQpOworICAgIGlmIChuZXR3b3JrTG9hZE1l
dHJpY3MucmVzcG9uc2VCb2R5RGVjb2RlZFNpemUgIT0gLTF1bGwpCisgICAgICAgIG1ldHJpY3Mt
PnNldFJlc3BvbnNlQm9keURlY29kZWRTaXplKG5ldHdvcmtMb2FkTWV0cmljcy5yZXNwb25zZUJv
ZHlEZWNvZGVkU2l6ZSk7CiAKICAgICByZXR1cm4gbWV0cmljczsKIH0KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrTG9hZE1ldHJpY3MuaAko
cmV2aXNpb24gMjMzODA3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3
b3JrTG9hZE1ldHJpY3MuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsNiArNDMsNyBAQCBlbnVtIGNs
YXNzIE5ldHdvcmtMb2FkUHJpb3JpdHkgewogICAgIExvdywKICAgICBNZWRpdW0sCiAgICAgSGln
aCwKKyAgICBVbmtub3duLAogfTsKIAogY2xhc3MgTmV0d29ya0xvYWRNZXRyaWNzIHsKQEAgLTY3
LDE0ICs2OCwxMCBAQCBwdWJsaWM6CiAgICAgICAgIGNvcHkuY29tcGxldGUgPSBjb21wbGV0ZTsK
ICAgICAgICAgY29weS5wcm90b2NvbCA9IHByb3RvY29sLmlzb2xhdGVkQ29weSgpOwogCi0gICAg
ICAgIGlmIChyZW1vdGVBZGRyZXNzKQotICAgICAgICAgICAgY29weS5yZW1vdGVBZGRyZXNzID0g
cmVtb3RlQWRkcmVzcy52YWx1ZSgpLmlzb2xhdGVkQ29weSgpOwotICAgICAgICBpZiAoY29ubmVj
dGlvbklkZW50aWZpZXIpCi0gICAgICAgICAgICBjb3B5LmNvbm5lY3Rpb25JZGVudGlmaWVyID0g
Y29ubmVjdGlvbklkZW50aWZpZXIudmFsdWUoKS5pc29sYXRlZENvcHkoKTsKLSAgICAgICAgaWYg
KHByaW9yaXR5KQotICAgICAgICAgICAgY29weS5wcmlvcml0eSA9ICpwcmlvcml0eTsKLSAgICAg
ICAgaWYgKHJlcXVlc3RIZWFkZXJzKQotICAgICAgICAgICAgY29weS5yZXF1ZXN0SGVhZGVycyA9
IHJlcXVlc3RIZWFkZXJzLnZhbHVlKCkuaXNvbGF0ZWRDb3B5KCk7CisgICAgICAgIGNvcHkucmVt
b3RlQWRkcmVzcyA9IHJlbW90ZUFkZHJlc3MuaXNvbGF0ZWRDb3B5KCk7CisgICAgICAgIGNvcHku
Y29ubmVjdGlvbklkZW50aWZpZXIgPSBjb25uZWN0aW9uSWRlbnRpZmllci5pc29sYXRlZENvcHko
KTsKKyAgICAgICAgY29weS5wcmlvcml0eSA9IHByaW9yaXR5OworICAgICAgICBjb3B5LnJlcXVl
c3RIZWFkZXJzID0gcmVxdWVzdEhlYWRlcnMuaXNvbGF0ZWRDb3B5KCk7CiAKICAgICAgICAgY29w
eS5yZXF1ZXN0SGVhZGVyQnl0ZXNTZW50ID0gcmVxdWVzdEhlYWRlckJ5dGVzU2VudDsKICAgICAg
ICAgY29weS5yZXF1ZXN0Qm9keUJ5dGVzU2VudCA9IHJlcXVlc3RCb2R5Qnl0ZXNTZW50OwpAQCAt
OTcsMjggKzk0LDIwIEBAIHB1YmxpYzoKICAgICAgICAgcmVzcG9uc2VFbmQgPSBTZWNvbmRzKDAp
OwogICAgICAgICBjb21wbGV0ZSA9IGZhbHNlOwogICAgICAgICBwcm90b2NvbCA9IFN0cmluZygp
OwotICAgICAgICByZW1vdGVBZGRyZXNzID0gc3RkOjpudWxsb3B0OwotICAgICAgICBjb25uZWN0
aW9uSWRlbnRpZmllciA9IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcHJpb3JpdHkgPSBzdGQ6Om51
bGxvcHQ7Ci0gICAgICAgIHJlcXVlc3RIZWFkZXJzID0gc3RkOjpudWxsb3B0OwotICAgICAgICBy
ZXF1ZXN0SGVhZGVyQnl0ZXNTZW50ID0gc3RkOjpudWxsb3B0OwotICAgICAgICByZXF1ZXN0Qm9k
eUJ5dGVzU2VudCA9IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmVzcG9uc2VIZWFkZXJCeXRlc1Jl
Y2VpdmVkID0gc3RkOjpudWxsb3B0OwotICAgICAgICByZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVk
ID0gc3RkOjpudWxsb3B0OwotICAgICAgICByZXNwb25zZUJvZHlEZWNvZGVkU2l6ZSA9IHN0ZDo6
bnVsbG9wdDsKKyAgICAgICAgY2xlYXJOb25UaW1pbmdEYXRhKCk7CiAgICAgfQogCiAgICAgdm9p
ZCBjbGVhck5vblRpbWluZ0RhdGEoKQogICAgIHsKLSAgICAgICAgcmVtb3RlQWRkcmVzcyA9IHN0
ZDo6bnVsbG9wdDsKLSAgICAgICAgY29ubmVjdGlvbklkZW50aWZpZXIgPSBzdGQ6Om51bGxvcHQ7
Ci0gICAgICAgIHByaW9yaXR5ID0gc3RkOjpudWxsb3B0OwotICAgICAgICByZXF1ZXN0SGVhZGVy
cyA9IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmVxdWVzdEhlYWRlckJ5dGVzU2VudCA9IHN0ZDo6
bnVsbG9wdDsKLSAgICAgICAgcmVxdWVzdEJvZHlCeXRlc1NlbnQgPSBzdGQ6Om51bGxvcHQ7Ci0g
ICAgICAgIHJlc3BvbnNlSGVhZGVyQnl0ZXNSZWNlaXZlZCA9IHN0ZDo6bnVsbG9wdDsKLSAgICAg
ICAgcmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZCA9IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmVz
cG9uc2VCb2R5RGVjb2RlZFNpemUgPSBzdGQ6Om51bGxvcHQ7CisgICAgICAgIHJlbW90ZUFkZHJl
c3MgPSBTdHJpbmcoKTsKKyAgICAgICAgY29ubmVjdGlvbklkZW50aWZpZXIgPSBTdHJpbmcoKTsK
KyAgICAgICAgcHJpb3JpdHkgPSBOZXR3b3JrTG9hZFByaW9yaXR5OjpVbmtub3duOworICAgICAg
ICByZXF1ZXN0SGVhZGVycy5jbGVhcigpOworICAgICAgICByZXF1ZXN0SGVhZGVyQnl0ZXNTZW50
ID0gLTE7CisgICAgICAgIHJlcXVlc3RCb2R5Qnl0ZXNTZW50ID0gLTE7CisgICAgICAgIHJlc3Bv
bnNlSGVhZGVyQnl0ZXNSZWNlaXZlZCA9IC0xOworICAgICAgICByZXNwb25zZUJvZHlCeXRlc1Jl
Y2VpdmVkID0gLTE7CisgICAgICAgIHJlc3BvbnNlQm9keURlY29kZWRTaXplID0gLTE7CiAgICAg
fQogCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYgb3RoZXIp
IGNvbnN0CkBAIC0xNzIsMTYgKzE2MSwxNiBAQCBwdWJsaWM6CiAgICAgLy8gQUxQTiBQcm90b2Nv
bCBJRDogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Jlc291cmNlLXRpbWluZy8jYmliLVJGQzczMDEK
ICAgICBTdHJpbmcgcHJvdG9jb2w7CiAKLSAgICBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gcmVtb3Rl
QWRkcmVzczsKLSAgICBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gY29ubmVjdGlvbklkZW50aWZpZXI7
Ci0gICAgc3RkOjpvcHRpb25hbDxOZXR3b3JrTG9hZFByaW9yaXR5PiBwcmlvcml0eTsKLSAgICBz
dGQ6Om9wdGlvbmFsPEhUVFBIZWFkZXJNYXA+IHJlcXVlc3RIZWFkZXJzOwotCi0gICAgc3RkOjpv
cHRpb25hbDx1aW50NjRfdD4gcmVxdWVzdEhlYWRlckJ5dGVzU2VudDsKLSAgICBzdGQ6Om9wdGlv
bmFsPHVpbnQ2NF90PiByZXF1ZXN0Qm9keUJ5dGVzU2VudDsKLSAgICBzdGQ6Om9wdGlvbmFsPHVp
bnQ2NF90PiByZXNwb25zZUhlYWRlckJ5dGVzUmVjZWl2ZWQ7Ci0gICAgc3RkOjpvcHRpb25hbDx1
aW50NjRfdD4gcmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZDsKLSAgICBzdGQ6Om9wdGlvbmFsPHVp
bnQ2NF90PiByZXNwb25zZUJvZHlEZWNvZGVkU2l6ZTsKKyAgICBTdHJpbmcgcmVtb3RlQWRkcmVz
czsKKyAgICBTdHJpbmcgY29ubmVjdGlvbklkZW50aWZpZXI7CisgICAgTmV0d29ya0xvYWRQcmlv
cml0eSBwcmlvcml0eTsKKyAgICBIVFRQSGVhZGVyTWFwIHJlcXVlc3RIZWFkZXJzOworCisgICAg
dWludDY0X3QgcmVxdWVzdEhlYWRlckJ5dGVzU2VudDsKKyAgICB1aW50NjRfdCByZXF1ZXN0Qm9k
eUJ5dGVzU2VudDsKKyAgICB1aW50NjRfdCByZXNwb25zZUhlYWRlckJ5dGVzUmVjZWl2ZWQ7Cisg
ICAgdWludDY0X3QgcmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZDsKKyAgICB1aW50NjRfdCByZXNw
b25zZUJvZHlEZWNvZGVkU2l6ZTsKIH07CiAKICNpZiBQTEFURk9STShDT0NPQSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345008</attachid>
            <date>2018-07-13 17:29:55 -0700</date>
            <delta_ts>2018-07-16 12:10:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187671-20180713172954.patch</filename>
            <type>text/plain</type>
            <size>10243</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzMzgyNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE4LTA3LTEzICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVkdWNlIHNp
emUgb2YgTmV0d29ya0xvYWRNZXRyaWNzIGFuZCB0aGVyZWZvcmUgUmVzb3VyY2VSZXNwb25zZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3NjcxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvYWdlbnRzL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0
b1Byb3RvY29sKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2VudDo6YnVp
bGRPYmplY3RGb3JNZXRyaWNzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtM
b2FkTWV0cmljcy5oOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjppc29s
YXRlZENvcHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjpy
ZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6OmNsZWFyTm9uVGlt
aW5nRGF0YSk6CisKIDIwMTgtMDctMTMgIENocmlzdG9waGVyIFJlaWQgIDxjaHJpcy5yZWlkQHNv
bnkuY29tPgogCiAgICAgICAgIFtXaW5DYWlyb10gRW5hYmxlIFdlYkdMIHdoZW4gQWNjZWxlcmF0
ZWQgQ29tcG9zaXRpbmcgaXMgZGlzYWJsZWQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAJKHJldmlz
aW9uIDIzMzgwNykKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
TmV0d29ya0FnZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjIwLDYgKzIyMCw4IEBAIHN0YXRp
YyBJbnNwZWN0b3I6OlByb3RvY29sOjpOZXR3b3JrOjpNZXQKICAgICAgICAgcmV0dXJuIEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6Ok5ldHdvcms6Ok1ldHJpY3M6OlByaW9yaXR5OjpNZWRpdW07CiAgICAg
Y2FzZSBOZXR3b3JrTG9hZFByaW9yaXR5OjpIaWdoOgogICAgICAgICByZXR1cm4gSW5zcGVjdG9y
OjpQcm90b2NvbDo6TmV0d29yazo6TWV0cmljczo6UHJpb3JpdHk6OkhpZ2g7CisgICAgY2FzZSBO
ZXR3b3JrTG9hZFByaW9yaXR5OjpVbmtub3duOgorICAgICAgICBicmVhazsKICAgICB9CiAKICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTIzMiwyNSArMjM0LDI1IEBAIFJlZjxJbnNwZWN0
b3I6OlByb3RvY29sOjpOZXR3b3JrOjpNZXRyaWMKIAogICAgIGlmICghbmV0d29ya0xvYWRNZXRy
aWNzLnByb3RvY29sLmlzTnVsbCgpKQogICAgICAgICBtZXRyaWNzLT5zZXRQcm90b2NvbChuZXR3
b3JrTG9hZE1ldHJpY3MucHJvdG9jb2wpOwotICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucHJp
b3JpdHkpCi0gICAgICAgIG1ldHJpY3MtPnNldFByaW9yaXR5KHRvUHJvdG9jb2woKm5ldHdvcmtM
b2FkTWV0cmljcy5wcmlvcml0eSkpOwotICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucmVtb3Rl
QWRkcmVzcykKLSAgICAgICAgbWV0cmljcy0+c2V0UmVtb3RlQWRkcmVzcygqbmV0d29ya0xvYWRN
ZXRyaWNzLnJlbW90ZUFkZHJlc3MpOwotICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MuY29ubmVj
dGlvbklkZW50aWZpZXIpCi0gICAgICAgIG1ldHJpY3MtPnNldENvbm5lY3Rpb25JZGVudGlmaWVy
KCpuZXR3b3JrTG9hZE1ldHJpY3MuY29ubmVjdGlvbklkZW50aWZpZXIpOwotICAgIGlmIChuZXR3
b3JrTG9hZE1ldHJpY3MucmVxdWVzdEhlYWRlcnMpCi0gICAgICAgIG1ldHJpY3MtPnNldFJlcXVl
c3RIZWFkZXJzKGJ1aWxkT2JqZWN0Rm9ySGVhZGVycygqbmV0d29ya0xvYWRNZXRyaWNzLnJlcXVl
c3RIZWFkZXJzKSk7Ci0KLSAgICBpZiAobmV0d29ya0xvYWRNZXRyaWNzLnJlcXVlc3RIZWFkZXJC
eXRlc1NlbnQpCi0gICAgICAgIG1ldHJpY3MtPnNldFJlcXVlc3RIZWFkZXJCeXRlc1NlbnQoKm5l
dHdvcmtMb2FkTWV0cmljcy5yZXF1ZXN0SGVhZGVyQnl0ZXNTZW50KTsKLSAgICBpZiAobmV0d29y
a0xvYWRNZXRyaWNzLnJlcXVlc3RCb2R5Qnl0ZXNTZW50KQotICAgICAgICBtZXRyaWNzLT5zZXRS
ZXF1ZXN0Qm9keUJ5dGVzU2VudCgqbmV0d29ya0xvYWRNZXRyaWNzLnJlcXVlc3RCb2R5Qnl0ZXNT
ZW50KTsKLSAgICBpZiAobmV0d29ya0xvYWRNZXRyaWNzLnJlc3BvbnNlSGVhZGVyQnl0ZXNSZWNl
aXZlZCkKLSAgICAgICAgbWV0cmljcy0+c2V0UmVzcG9uc2VIZWFkZXJCeXRlc1JlY2VpdmVkKCpu
ZXR3b3JrTG9hZE1ldHJpY3MucmVzcG9uc2VIZWFkZXJCeXRlc1JlY2VpdmVkKTsKLSAgICBpZiAo
bmV0d29ya0xvYWRNZXRyaWNzLnJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQpCi0gICAgICAgIG1l
dHJpY3MtPnNldFJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQoKm5ldHdvcmtMb2FkTWV0cmljcy5y
ZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVkKTsKLSAgICBpZiAobmV0d29ya0xvYWRNZXRyaWNzLnJl
c3BvbnNlQm9keURlY29kZWRTaXplKQotICAgICAgICBtZXRyaWNzLT5zZXRSZXNwb25zZUJvZHlE
ZWNvZGVkU2l6ZSgqbmV0d29ya0xvYWRNZXRyaWNzLnJlc3BvbnNlQm9keURlY29kZWRTaXplKTsK
KyAgICBpZiAobmV0d29ya0xvYWRNZXRyaWNzLnByaW9yaXR5ICE9IE5ldHdvcmtMb2FkUHJpb3Jp
dHk6OlVua25vd24pCisgICAgICAgIG1ldHJpY3MtPnNldFByaW9yaXR5KHRvUHJvdG9jb2wobmV0
d29ya0xvYWRNZXRyaWNzLnByaW9yaXR5KSk7CisgICAgaWYgKCFuZXR3b3JrTG9hZE1ldHJpY3Mu
cmVtb3RlQWRkcmVzcy5pc051bGwoKSkKKyAgICAgICAgbWV0cmljcy0+c2V0UmVtb3RlQWRkcmVz
cyhuZXR3b3JrTG9hZE1ldHJpY3MucmVtb3RlQWRkcmVzcyk7CisgICAgaWYgKCFuZXR3b3JrTG9h
ZE1ldHJpY3MuY29ubmVjdGlvbklkZW50aWZpZXIuaXNOdWxsKCkpCisgICAgICAgIG1ldHJpY3Mt
PnNldENvbm5lY3Rpb25JZGVudGlmaWVyKG5ldHdvcmtMb2FkTWV0cmljcy5jb25uZWN0aW9uSWRl
bnRpZmllcik7CisgICAgaWYgKCFuZXR3b3JrTG9hZE1ldHJpY3MucmVxdWVzdEhlYWRlcnMuaXNF
bXB0eSgpKQorICAgICAgICBtZXRyaWNzLT5zZXRSZXF1ZXN0SGVhZGVycyhidWlsZE9iamVjdEZv
ckhlYWRlcnMobmV0d29ya0xvYWRNZXRyaWNzLnJlcXVlc3RIZWFkZXJzKSk7CisKKyAgICBpZiAo
bmV0d29ya0xvYWRNZXRyaWNzLnJlcXVlc3RIZWFkZXJCeXRlc1NlbnQgIT0gLTF1bGwpCisgICAg
ICAgIG1ldHJpY3MtPnNldFJlcXVlc3RIZWFkZXJCeXRlc1NlbnQobmV0d29ya0xvYWRNZXRyaWNz
LnJlcXVlc3RIZWFkZXJCeXRlc1NlbnQpOworICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucmVx
dWVzdEJvZHlCeXRlc1NlbnQgIT0gLTF1bGwpCisgICAgICAgIG1ldHJpY3MtPnNldFJlcXVlc3RC
b2R5Qnl0ZXNTZW50KG5ldHdvcmtMb2FkTWV0cmljcy5yZXF1ZXN0Qm9keUJ5dGVzU2VudCk7Cisg
ICAgaWYgKG5ldHdvcmtMb2FkTWV0cmljcy5yZXNwb25zZUhlYWRlckJ5dGVzUmVjZWl2ZWQgIT0g
LTF1bGwpCisgICAgICAgIG1ldHJpY3MtPnNldFJlc3BvbnNlSGVhZGVyQnl0ZXNSZWNlaXZlZChu
ZXR3b3JrTG9hZE1ldHJpY3MucmVzcG9uc2VIZWFkZXJCeXRlc1JlY2VpdmVkKTsKKyAgICBpZiAo
bmV0d29ya0xvYWRNZXRyaWNzLnJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQgIT0gLTF1bGwpCisg
ICAgICAgIG1ldHJpY3MtPnNldFJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQobmV0d29ya0xvYWRN
ZXRyaWNzLnJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQpOworICAgIGlmIChuZXR3b3JrTG9hZE1l
dHJpY3MucmVzcG9uc2VCb2R5RGVjb2RlZFNpemUgIT0gLTF1bGwpCisgICAgICAgIG1ldHJpY3Mt
PnNldFJlc3BvbnNlQm9keURlY29kZWRTaXplKG5ldHdvcmtMb2FkTWV0cmljcy5yZXNwb25zZUJv
ZHlEZWNvZGVkU2l6ZSk7CiAKICAgICByZXR1cm4gbWV0cmljczsKIH0KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrTG9hZE1ldHJpY3MuaAko
cmV2aXNpb24gMjMzODA3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3
b3JrTG9hZE1ldHJpY3MuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsNiArNDMsNyBAQCBlbnVtIGNs
YXNzIE5ldHdvcmtMb2FkUHJpb3JpdHkgewogICAgIExvdywKICAgICBNZWRpdW0sCiAgICAgSGln
aCwKKyAgICBVbmtub3duLAogfTsKIAogY2xhc3MgTmV0d29ya0xvYWRNZXRyaWNzIHsKQEAgLTY3
LDE0ICs2OCwxMCBAQCBwdWJsaWM6CiAgICAgICAgIGNvcHkuY29tcGxldGUgPSBjb21wbGV0ZTsK
ICAgICAgICAgY29weS5wcm90b2NvbCA9IHByb3RvY29sLmlzb2xhdGVkQ29weSgpOwogCi0gICAg
ICAgIGlmIChyZW1vdGVBZGRyZXNzKQotICAgICAgICAgICAgY29weS5yZW1vdGVBZGRyZXNzID0g
cmVtb3RlQWRkcmVzcy52YWx1ZSgpLmlzb2xhdGVkQ29weSgpOwotICAgICAgICBpZiAoY29ubmVj
dGlvbklkZW50aWZpZXIpCi0gICAgICAgICAgICBjb3B5LmNvbm5lY3Rpb25JZGVudGlmaWVyID0g
Y29ubmVjdGlvbklkZW50aWZpZXIudmFsdWUoKS5pc29sYXRlZENvcHkoKTsKLSAgICAgICAgaWYg
KHByaW9yaXR5KQotICAgICAgICAgICAgY29weS5wcmlvcml0eSA9ICpwcmlvcml0eTsKLSAgICAg
ICAgaWYgKHJlcXVlc3RIZWFkZXJzKQotICAgICAgICAgICAgY29weS5yZXF1ZXN0SGVhZGVycyA9
IHJlcXVlc3RIZWFkZXJzLnZhbHVlKCkuaXNvbGF0ZWRDb3B5KCk7CisgICAgICAgIGNvcHkucmVt
b3RlQWRkcmVzcyA9IHJlbW90ZUFkZHJlc3MuaXNvbGF0ZWRDb3B5KCk7CisgICAgICAgIGNvcHku
Y29ubmVjdGlvbklkZW50aWZpZXIgPSBjb25uZWN0aW9uSWRlbnRpZmllci5pc29sYXRlZENvcHko
KTsKKyAgICAgICAgY29weS5wcmlvcml0eSA9IHByaW9yaXR5OworICAgICAgICBjb3B5LnJlcXVl
c3RIZWFkZXJzID0gcmVxdWVzdEhlYWRlcnMuaXNvbGF0ZWRDb3B5KCk7CiAKICAgICAgICAgY29w
eS5yZXF1ZXN0SGVhZGVyQnl0ZXNTZW50ID0gcmVxdWVzdEhlYWRlckJ5dGVzU2VudDsKICAgICAg
ICAgY29weS5yZXF1ZXN0Qm9keUJ5dGVzU2VudCA9IHJlcXVlc3RCb2R5Qnl0ZXNTZW50OwpAQCAt
OTcsMjggKzk0LDIwIEBAIHB1YmxpYzoKICAgICAgICAgcmVzcG9uc2VFbmQgPSBTZWNvbmRzKDAp
OwogICAgICAgICBjb21wbGV0ZSA9IGZhbHNlOwogICAgICAgICBwcm90b2NvbCA9IFN0cmluZygp
OwotICAgICAgICByZW1vdGVBZGRyZXNzID0gc3RkOjpudWxsb3B0OwotICAgICAgICBjb25uZWN0
aW9uSWRlbnRpZmllciA9IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcHJpb3JpdHkgPSBzdGQ6Om51
bGxvcHQ7Ci0gICAgICAgIHJlcXVlc3RIZWFkZXJzID0gc3RkOjpudWxsb3B0OwotICAgICAgICBy
ZXF1ZXN0SGVhZGVyQnl0ZXNTZW50ID0gc3RkOjpudWxsb3B0OwotICAgICAgICByZXF1ZXN0Qm9k
eUJ5dGVzU2VudCA9IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmVzcG9uc2VIZWFkZXJCeXRlc1Jl
Y2VpdmVkID0gc3RkOjpudWxsb3B0OwotICAgICAgICByZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVk
ID0gc3RkOjpudWxsb3B0OwotICAgICAgICByZXNwb25zZUJvZHlEZWNvZGVkU2l6ZSA9IHN0ZDo6
bnVsbG9wdDsKKyAgICAgICAgY2xlYXJOb25UaW1pbmdEYXRhKCk7CiAgICAgfQogCiAgICAgdm9p
ZCBjbGVhck5vblRpbWluZ0RhdGEoKQogICAgIHsKLSAgICAgICAgcmVtb3RlQWRkcmVzcyA9IHN0
ZDo6bnVsbG9wdDsKLSAgICAgICAgY29ubmVjdGlvbklkZW50aWZpZXIgPSBzdGQ6Om51bGxvcHQ7
Ci0gICAgICAgIHByaW9yaXR5ID0gc3RkOjpudWxsb3B0OwotICAgICAgICByZXF1ZXN0SGVhZGVy
cyA9IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmVxdWVzdEhlYWRlckJ5dGVzU2VudCA9IHN0ZDo6
bnVsbG9wdDsKLSAgICAgICAgcmVxdWVzdEJvZHlCeXRlc1NlbnQgPSBzdGQ6Om51bGxvcHQ7Ci0g
ICAgICAgIHJlc3BvbnNlSGVhZGVyQnl0ZXNSZWNlaXZlZCA9IHN0ZDo6bnVsbG9wdDsKLSAgICAg
ICAgcmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZCA9IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmVz
cG9uc2VCb2R5RGVjb2RlZFNpemUgPSBzdGQ6Om51bGxvcHQ7CisgICAgICAgIHJlbW90ZUFkZHJl
c3MgPSBTdHJpbmcoKTsKKyAgICAgICAgY29ubmVjdGlvbklkZW50aWZpZXIgPSBTdHJpbmcoKTsK
KyAgICAgICAgcHJpb3JpdHkgPSBOZXR3b3JrTG9hZFByaW9yaXR5OjpVbmtub3duOworICAgICAg
ICByZXF1ZXN0SGVhZGVycy5jbGVhcigpOworICAgICAgICByZXF1ZXN0SGVhZGVyQnl0ZXNTZW50
ID0gLTE7CisgICAgICAgIHJlcXVlc3RCb2R5Qnl0ZXNTZW50ID0gLTE7CisgICAgICAgIHJlc3Bv
bnNlSGVhZGVyQnl0ZXNSZWNlaXZlZCA9IC0xOworICAgICAgICByZXNwb25zZUJvZHlCeXRlc1Jl
Y2VpdmVkID0gLTE7CisgICAgICAgIHJlc3BvbnNlQm9keURlY29kZWRTaXplID0gLTE7CiAgICAg
fQogCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYgb3RoZXIp
IGNvbnN0CkBAIC0xNzIsMTYgKzE2MSwxNiBAQCBwdWJsaWM6CiAgICAgLy8gQUxQTiBQcm90b2Nv
bCBJRDogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Jlc291cmNlLXRpbWluZy8jYmliLVJGQzczMDEK
ICAgICBTdHJpbmcgcHJvdG9jb2w7CiAKLSAgICBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gcmVtb3Rl
QWRkcmVzczsKLSAgICBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gY29ubmVjdGlvbklkZW50aWZpZXI7
Ci0gICAgc3RkOjpvcHRpb25hbDxOZXR3b3JrTG9hZFByaW9yaXR5PiBwcmlvcml0eTsKLSAgICBz
dGQ6Om9wdGlvbmFsPEhUVFBIZWFkZXJNYXA+IHJlcXVlc3RIZWFkZXJzOwotCi0gICAgc3RkOjpv
cHRpb25hbDx1aW50NjRfdD4gcmVxdWVzdEhlYWRlckJ5dGVzU2VudDsKLSAgICBzdGQ6Om9wdGlv
bmFsPHVpbnQ2NF90PiByZXF1ZXN0Qm9keUJ5dGVzU2VudDsKLSAgICBzdGQ6Om9wdGlvbmFsPHVp
bnQ2NF90PiByZXNwb25zZUhlYWRlckJ5dGVzUmVjZWl2ZWQ7Ci0gICAgc3RkOjpvcHRpb25hbDx1
aW50NjRfdD4gcmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZDsKLSAgICBzdGQ6Om9wdGlvbmFsPHVp
bnQ2NF90PiByZXNwb25zZUJvZHlEZWNvZGVkU2l6ZTsKKyAgICBTdHJpbmcgcmVtb3RlQWRkcmVz
czsKKyAgICBTdHJpbmcgY29ubmVjdGlvbklkZW50aWZpZXI7CisgICAgTmV0d29ya0xvYWRQcmlv
cml0eSBwcmlvcml0eTsKKyAgICBIVFRQSGVhZGVyTWFwIHJlcXVlc3RIZWFkZXJzOworCisgICAg
dWludDY0X3QgcmVxdWVzdEhlYWRlckJ5dGVzU2VudDsKKyAgICB1aW50NjRfdCByZXF1ZXN0Qm9k
eUJ5dGVzU2VudDsKKyAgICB1aW50NjRfdCByZXNwb25zZUhlYWRlckJ5dGVzUmVjZWl2ZWQ7Cisg
ICAgdWludDY0X3QgcmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZDsKKyAgICB1aW50NjRfdCByZXNw
b25zZUJvZHlEZWNvZGVkU2l6ZTsKIH07CiAKICNpZiBQTEFURk9STShDT0NPQSkKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyMzM4MjkpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE4LTA3LTEzICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVkdWNlIHNpemUgb2YgTmV0d29y
a0xvYWRNZXRyaWNzIGFuZCB0aGVyZWZvcmUgUmVzb3VyY2VSZXNwb25zZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3NjcxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmg6CisKIDIwMTgtMDctMTMgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBw
bGUuY29tPgogCiAgICAgICAgIEFkZCBfZHJhd3NCYWNrZ3JvdW5kIHRvIFdLV2ViVmlld0NvbmZp
Z3VyYXRpb24uCkluZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hl
U3RvcmFnZUVuZ2luZUNhY2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlLmNwcAkocmV2aXNpb24gMjMz
ODA3KQorKysgU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VF
bmdpbmVDYWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRl
ICJOZXR3b3JrQ2FjaGVJT0NoYW5uZWwuaCIKICNpbmNsdWRlICJOZXR3b3JrQ2FjaGVLZXkuaCIK
ICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzcy5oIgorI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENv
ZGVycy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ2FjaGVRdWVyeU9wdGlvbnMuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0hUVFBQYXJzZXJzLmg+CiAjaW5jbHVkZSA8cGFsL1Nlc3Npb25JRC5oPgpJbmRl
eDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVFbnRyeS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVFbnRyeS5jcHAJKHJldmlzaW9uIDIzMzgwNykKKysrIFNvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRW50cnkuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtD
YWNoZUNvZGVycy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCisjaW5jbHVkZSAiV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3Qu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ0J1aWxkZXIuaD4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5oCShyZXZpc2lvbiAyMzM4MDcpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAkod29ya2luZyBjb3B5KQpAQCAtNzQ5LDcgKzc0OSw4
IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TmUKICAgICAgICAgV2Vi
Q29yZTo6TmV0d29ya0xvYWRQcmlvcml0eSwKICAgICAgICAgV2ViQ29yZTo6TmV0d29ya0xvYWRQ
cmlvcml0eTo6TG93LAogICAgICAgICBXZWJDb3JlOjpOZXR3b3JrTG9hZFByaW9yaXR5OjpNZWRp
dW0sCi0gICAgICAgIFdlYkNvcmU6Ok5ldHdvcmtMb2FkUHJpb3JpdHk6OkhpZ2gKKyAgICAgICAg
V2ViQ29yZTo6TmV0d29ya0xvYWRQcmlvcml0eTo6SGlnaCwKKyAgICAgICAgV2ViQ29yZTo6TmV0
d29ya0xvYWRQcmlvcml0eTo6VW5rbm93bgogICAgID47CiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345105</attachid>
            <date>2018-07-16 12:10:05 -0700</date>
            <delta_ts>2018-07-16 12:19:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187671-20180716121004.patch</filename>
            <type>text/plain</type>
            <size>10562</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzMzgyNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE4LTA3LTEzICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVkdWNlIHNp
emUgb2YgTmV0d29ya0xvYWRNZXRyaWNzIGFuZCB0aGVyZWZvcmUgUmVzb3VyY2VSZXNwb25zZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3NjcxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1By
b3RvY29sKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2VudDo6YnVpbGRP
YmplY3RGb3JNZXRyaWNzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtMb2Fk
TWV0cmljcy5oOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjppc29sYXRl
ZENvcHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjpyZXNl
dCk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6OmNsZWFyTm9uVGltaW5n
RGF0YSk6CisKIDIwMTgtMDctMTMgIENocmlzdG9waGVyIFJlaWQgIDxjaHJpcy5yZWlkQHNvbnku
Y29tPgogCiAgICAgICAgIFtXaW5DYWlyb10gRW5hYmxlIFdlYkdMIHdoZW4gQWNjZWxlcmF0ZWQg
Q29tcG9zaXRpbmcgaXMgZGlzYWJsZWQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAJKHJldmlzaW9u
IDIzMzgwNykKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yTmV0
d29ya0FnZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjIwLDYgKzIyMCw4IEBAIHN0YXRpYyBJ
bnNwZWN0b3I6OlByb3RvY29sOjpOZXR3b3JrOjpNZXQKICAgICAgICAgcmV0dXJuIEluc3BlY3Rv
cjo6UHJvdG9jb2w6Ok5ldHdvcms6Ok1ldHJpY3M6OlByaW9yaXR5OjpNZWRpdW07CiAgICAgY2Fz
ZSBOZXR3b3JrTG9hZFByaW9yaXR5OjpIaWdoOgogICAgICAgICByZXR1cm4gSW5zcGVjdG9yOjpQ
cm90b2NvbDo6TmV0d29yazo6TWV0cmljczo6UHJpb3JpdHk6OkhpZ2g7CisgICAgY2FzZSBOZXR3
b3JrTG9hZFByaW9yaXR5OjpVbmtub3duOgorICAgICAgICBicmVhazsKICAgICB9CiAKICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTIzMiwyNSArMjM0LDI1IEBAIFJlZjxJbnNwZWN0b3I6
OlByb3RvY29sOjpOZXR3b3JrOjpNZXRyaWMKIAogICAgIGlmICghbmV0d29ya0xvYWRNZXRyaWNz
LnByb3RvY29sLmlzTnVsbCgpKQogICAgICAgICBtZXRyaWNzLT5zZXRQcm90b2NvbChuZXR3b3Jr
TG9hZE1ldHJpY3MucHJvdG9jb2wpOwotICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucHJpb3Jp
dHkpCi0gICAgICAgIG1ldHJpY3MtPnNldFByaW9yaXR5KHRvUHJvdG9jb2woKm5ldHdvcmtMb2Fk
TWV0cmljcy5wcmlvcml0eSkpOwotICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucmVtb3RlQWRk
cmVzcykKLSAgICAgICAgbWV0cmljcy0+c2V0UmVtb3RlQWRkcmVzcygqbmV0d29ya0xvYWRNZXRy
aWNzLnJlbW90ZUFkZHJlc3MpOwotICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MuY29ubmVjdGlv
bklkZW50aWZpZXIpCi0gICAgICAgIG1ldHJpY3MtPnNldENvbm5lY3Rpb25JZGVudGlmaWVyKCpu
ZXR3b3JrTG9hZE1ldHJpY3MuY29ubmVjdGlvbklkZW50aWZpZXIpOwotICAgIGlmIChuZXR3b3Jr
TG9hZE1ldHJpY3MucmVxdWVzdEhlYWRlcnMpCi0gICAgICAgIG1ldHJpY3MtPnNldFJlcXVlc3RI
ZWFkZXJzKGJ1aWxkT2JqZWN0Rm9ySGVhZGVycygqbmV0d29ya0xvYWRNZXRyaWNzLnJlcXVlc3RI
ZWFkZXJzKSk7Ci0KLSAgICBpZiAobmV0d29ya0xvYWRNZXRyaWNzLnJlcXVlc3RIZWFkZXJCeXRl
c1NlbnQpCi0gICAgICAgIG1ldHJpY3MtPnNldFJlcXVlc3RIZWFkZXJCeXRlc1NlbnQoKm5ldHdv
cmtMb2FkTWV0cmljcy5yZXF1ZXN0SGVhZGVyQnl0ZXNTZW50KTsKLSAgICBpZiAobmV0d29ya0xv
YWRNZXRyaWNzLnJlcXVlc3RCb2R5Qnl0ZXNTZW50KQotICAgICAgICBtZXRyaWNzLT5zZXRSZXF1
ZXN0Qm9keUJ5dGVzU2VudCgqbmV0d29ya0xvYWRNZXRyaWNzLnJlcXVlc3RCb2R5Qnl0ZXNTZW50
KTsKLSAgICBpZiAobmV0d29ya0xvYWRNZXRyaWNzLnJlc3BvbnNlSGVhZGVyQnl0ZXNSZWNlaXZl
ZCkKLSAgICAgICAgbWV0cmljcy0+c2V0UmVzcG9uc2VIZWFkZXJCeXRlc1JlY2VpdmVkKCpuZXR3
b3JrTG9hZE1ldHJpY3MucmVzcG9uc2VIZWFkZXJCeXRlc1JlY2VpdmVkKTsKLSAgICBpZiAobmV0
d29ya0xvYWRNZXRyaWNzLnJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQpCi0gICAgICAgIG1ldHJp
Y3MtPnNldFJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQoKm5ldHdvcmtMb2FkTWV0cmljcy5yZXNw
b25zZUJvZHlCeXRlc1JlY2VpdmVkKTsKLSAgICBpZiAobmV0d29ya0xvYWRNZXRyaWNzLnJlc3Bv
bnNlQm9keURlY29kZWRTaXplKQotICAgICAgICBtZXRyaWNzLT5zZXRSZXNwb25zZUJvZHlEZWNv
ZGVkU2l6ZSgqbmV0d29ya0xvYWRNZXRyaWNzLnJlc3BvbnNlQm9keURlY29kZWRTaXplKTsKKyAg
ICBpZiAobmV0d29ya0xvYWRNZXRyaWNzLnByaW9yaXR5ICE9IE5ldHdvcmtMb2FkUHJpb3JpdHk6
OlVua25vd24pCisgICAgICAgIG1ldHJpY3MtPnNldFByaW9yaXR5KHRvUHJvdG9jb2wobmV0d29y
a0xvYWRNZXRyaWNzLnByaW9yaXR5KSk7CisgICAgaWYgKCFuZXR3b3JrTG9hZE1ldHJpY3MucmVt
b3RlQWRkcmVzcy5pc051bGwoKSkKKyAgICAgICAgbWV0cmljcy0+c2V0UmVtb3RlQWRkcmVzcyhu
ZXR3b3JrTG9hZE1ldHJpY3MucmVtb3RlQWRkcmVzcyk7CisgICAgaWYgKCFuZXR3b3JrTG9hZE1l
dHJpY3MuY29ubmVjdGlvbklkZW50aWZpZXIuaXNOdWxsKCkpCisgICAgICAgIG1ldHJpY3MtPnNl
dENvbm5lY3Rpb25JZGVudGlmaWVyKG5ldHdvcmtMb2FkTWV0cmljcy5jb25uZWN0aW9uSWRlbnRp
Zmllcik7CisgICAgaWYgKCFuZXR3b3JrTG9hZE1ldHJpY3MucmVxdWVzdEhlYWRlcnMuaXNFbXB0
eSgpKQorICAgICAgICBtZXRyaWNzLT5zZXRSZXF1ZXN0SGVhZGVycyhidWlsZE9iamVjdEZvckhl
YWRlcnMobmV0d29ya0xvYWRNZXRyaWNzLnJlcXVlc3RIZWFkZXJzKSk7CisKKyAgICBpZiAobmV0
d29ya0xvYWRNZXRyaWNzLnJlcXVlc3RIZWFkZXJCeXRlc1NlbnQgIT0gc3RkOjpudW1lcmljX2xp
bWl0czx1aW50MzJfdD46Om1heCgpKQorICAgICAgICBtZXRyaWNzLT5zZXRSZXF1ZXN0SGVhZGVy
Qnl0ZXNTZW50KG5ldHdvcmtMb2FkTWV0cmljcy5yZXF1ZXN0SGVhZGVyQnl0ZXNTZW50KTsKKyAg
ICBpZiAobmV0d29ya0xvYWRNZXRyaWNzLnJlcXVlc3RCb2R5Qnl0ZXNTZW50ICE9IHN0ZDo6bnVt
ZXJpY19saW1pdHM8dWludDY0X3Q+OjptYXgoKSkKKyAgICAgICAgbWV0cmljcy0+c2V0UmVxdWVz
dEJvZHlCeXRlc1NlbnQobmV0d29ya0xvYWRNZXRyaWNzLnJlcXVlc3RCb2R5Qnl0ZXNTZW50KTsK
KyAgICBpZiAobmV0d29ya0xvYWRNZXRyaWNzLnJlc3BvbnNlSGVhZGVyQnl0ZXNSZWNlaXZlZCAh
PSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6bWF4KCkpCisgICAgICAgIG1ldHJpY3Mt
PnNldFJlc3BvbnNlSGVhZGVyQnl0ZXNSZWNlaXZlZChuZXR3b3JrTG9hZE1ldHJpY3MucmVzcG9u
c2VIZWFkZXJCeXRlc1JlY2VpdmVkKTsKKyAgICBpZiAobmV0d29ya0xvYWRNZXRyaWNzLnJlc3Bv
bnNlQm9keUJ5dGVzUmVjZWl2ZWQgIT0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1h
eCgpKQorICAgICAgICBtZXRyaWNzLT5zZXRSZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVkKG5ldHdv
cmtMb2FkTWV0cmljcy5yZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVkKTsKKyAgICBpZiAobmV0d29y
a0xvYWRNZXRyaWNzLnJlc3BvbnNlQm9keURlY29kZWRTaXplICE9IHN0ZDo6bnVtZXJpY19saW1p
dHM8dWludDY0X3Q+OjptYXgoKSkKKyAgICAgICAgbWV0cmljcy0+c2V0UmVzcG9uc2VCb2R5RGVj
b2RlZFNpemUobmV0d29ya0xvYWRNZXRyaWNzLnJlc3BvbnNlQm9keURlY29kZWRTaXplKTsKIAog
ICAgIHJldHVybiBtZXRyaWNzOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9OZXR3b3JrTG9hZE1ldHJpY3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtMb2FkTWV0cmljcy5oCShyZXZpc2lvbiAyMzM4MDcpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtMb2FkTWV0cmljcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3IEBAIGVudW0gY2xhc3MgTmV0d29ya0xvYWRQcmlv
cml0eSB7CiAgICAgTG93LAogICAgIE1lZGl1bSwKICAgICBIaWdoLAorICAgIFVua25vd24sCiB9
OwogCiBjbGFzcyBOZXR3b3JrTG9hZE1ldHJpY3MgewpAQCAtNjcsMTQgKzY4LDEwIEBAIHB1Ymxp
YzoKICAgICAgICAgY29weS5jb21wbGV0ZSA9IGNvbXBsZXRlOwogICAgICAgICBjb3B5LnByb3Rv
Y29sID0gcHJvdG9jb2wuaXNvbGF0ZWRDb3B5KCk7CiAKLSAgICAgICAgaWYgKHJlbW90ZUFkZHJl
c3MpCi0gICAgICAgICAgICBjb3B5LnJlbW90ZUFkZHJlc3MgPSByZW1vdGVBZGRyZXNzLnZhbHVl
KCkuaXNvbGF0ZWRDb3B5KCk7Ci0gICAgICAgIGlmIChjb25uZWN0aW9uSWRlbnRpZmllcikKLSAg
ICAgICAgICAgIGNvcHkuY29ubmVjdGlvbklkZW50aWZpZXIgPSBjb25uZWN0aW9uSWRlbnRpZmll
ci52YWx1ZSgpLmlzb2xhdGVkQ29weSgpOwotICAgICAgICBpZiAocHJpb3JpdHkpCi0gICAgICAg
ICAgICBjb3B5LnByaW9yaXR5ID0gKnByaW9yaXR5OwotICAgICAgICBpZiAocmVxdWVzdEhlYWRl
cnMpCi0gICAgICAgICAgICBjb3B5LnJlcXVlc3RIZWFkZXJzID0gcmVxdWVzdEhlYWRlcnMudmFs
dWUoKS5pc29sYXRlZENvcHkoKTsKKyAgICAgICAgY29weS5yZW1vdGVBZGRyZXNzID0gcmVtb3Rl
QWRkcmVzcy5pc29sYXRlZENvcHkoKTsKKyAgICAgICAgY29weS5jb25uZWN0aW9uSWRlbnRpZmll
ciA9IGNvbm5lY3Rpb25JZGVudGlmaWVyLmlzb2xhdGVkQ29weSgpOworICAgICAgICBjb3B5LnBy
aW9yaXR5ID0gcHJpb3JpdHk7CisgICAgICAgIGNvcHkucmVxdWVzdEhlYWRlcnMgPSByZXF1ZXN0
SGVhZGVycy5pc29sYXRlZENvcHkoKTsKIAogICAgICAgICBjb3B5LnJlcXVlc3RIZWFkZXJCeXRl
c1NlbnQgPSByZXF1ZXN0SGVhZGVyQnl0ZXNTZW50OwogICAgICAgICBjb3B5LnJlcXVlc3RCb2R5
Qnl0ZXNTZW50ID0gcmVxdWVzdEJvZHlCeXRlc1NlbnQ7CkBAIC05NywyOCArOTQsMjAgQEAgcHVi
bGljOgogICAgICAgICByZXNwb25zZUVuZCA9IFNlY29uZHMoMCk7CiAgICAgICAgIGNvbXBsZXRl
ID0gZmFsc2U7CiAgICAgICAgIHByb3RvY29sID0gU3RyaW5nKCk7Ci0gICAgICAgIHJlbW90ZUFk
ZHJlc3MgPSBzdGQ6Om51bGxvcHQ7Ci0gICAgICAgIGNvbm5lY3Rpb25JZGVudGlmaWVyID0gc3Rk
OjpudWxsb3B0OwotICAgICAgICBwcmlvcml0eSA9IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmVx
dWVzdEhlYWRlcnMgPSBzdGQ6Om51bGxvcHQ7Ci0gICAgICAgIHJlcXVlc3RIZWFkZXJCeXRlc1Nl
bnQgPSBzdGQ6Om51bGxvcHQ7Ci0gICAgICAgIHJlcXVlc3RCb2R5Qnl0ZXNTZW50ID0gc3RkOjpu
dWxsb3B0OwotICAgICAgICByZXNwb25zZUhlYWRlckJ5dGVzUmVjZWl2ZWQgPSBzdGQ6Om51bGxv
cHQ7Ci0gICAgICAgIHJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQgPSBzdGQ6Om51bGxvcHQ7Ci0g
ICAgICAgIHJlc3BvbnNlQm9keURlY29kZWRTaXplID0gc3RkOjpudWxsb3B0OworICAgICAgICBj
bGVhck5vblRpbWluZ0RhdGEoKTsKICAgICB9CiAKICAgICB2b2lkIGNsZWFyTm9uVGltaW5nRGF0
YSgpCiAgICAgewotICAgICAgICByZW1vdGVBZGRyZXNzID0gc3RkOjpudWxsb3B0OwotICAgICAg
ICBjb25uZWN0aW9uSWRlbnRpZmllciA9IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcHJpb3JpdHkg
PSBzdGQ6Om51bGxvcHQ7Ci0gICAgICAgIHJlcXVlc3RIZWFkZXJzID0gc3RkOjpudWxsb3B0Owot
ICAgICAgICByZXF1ZXN0SGVhZGVyQnl0ZXNTZW50ID0gc3RkOjpudWxsb3B0OwotICAgICAgICBy
ZXF1ZXN0Qm9keUJ5dGVzU2VudCA9IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmVzcG9uc2VIZWFk
ZXJCeXRlc1JlY2VpdmVkID0gc3RkOjpudWxsb3B0OwotICAgICAgICByZXNwb25zZUJvZHlCeXRl
c1JlY2VpdmVkID0gc3RkOjpudWxsb3B0OwotICAgICAgICByZXNwb25zZUJvZHlEZWNvZGVkU2l6
ZSA9IHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgcmVtb3RlQWRkcmVzcyA9IFN0cmluZygpOworICAg
ICAgICBjb25uZWN0aW9uSWRlbnRpZmllciA9IFN0cmluZygpOworICAgICAgICBwcmlvcml0eSA9
IE5ldHdvcmtMb2FkUHJpb3JpdHk6OlVua25vd247CisgICAgICAgIHJlcXVlc3RIZWFkZXJzLmNs
ZWFyKCk7CisgICAgICAgIHJlcXVlc3RIZWFkZXJCeXRlc1NlbnQgPSBzdGQ6Om51bWVyaWNfbGlt
aXRzPHVpbnQzMl90Pjo6bWF4KCk7CisgICAgICAgIHJlcXVlc3RCb2R5Qnl0ZXNTZW50ID0gc3Rk
OjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpOworICAgICAgICByZXNwb25zZUhlYWRl
ckJ5dGVzUmVjZWl2ZWQgPSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6bWF4KCk7Cisg
ICAgICAgIHJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQgPSBzdGQ6Om51bWVyaWNfbGltaXRzPHVp
bnQ2NF90Pjo6bWF4KCk7CisgICAgICAgIHJlc3BvbnNlQm9keURlY29kZWRTaXplID0gc3RkOjpu
dW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpOwogICAgIH0KIAogICAgIGJvb2wgb3BlcmF0
b3I9PShjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG90aGVyKSBjb25zdApAQCAtMTcyLDE2ICsx
NjEsMTYgQEAgcHVibGljOgogICAgIC8vIEFMUE4gUHJvdG9jb2wgSUQ6IGh0dHBzOi8vdzNjLmdp
dGh1Yi5pby9yZXNvdXJjZS10aW1pbmcvI2JpYi1SRkM3MzAxCiAgICAgU3RyaW5nIHByb3RvY29s
OwogCi0gICAgc3RkOjpvcHRpb25hbDxTdHJpbmc+IHJlbW90ZUFkZHJlc3M7Ci0gICAgc3RkOjpv
cHRpb25hbDxTdHJpbmc+IGNvbm5lY3Rpb25JZGVudGlmaWVyOwotICAgIHN0ZDo6b3B0aW9uYWw8
TmV0d29ya0xvYWRQcmlvcml0eT4gcHJpb3JpdHk7Ci0gICAgc3RkOjpvcHRpb25hbDxIVFRQSGVh
ZGVyTWFwPiByZXF1ZXN0SGVhZGVyczsKLQotICAgIHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IHJl
cXVlc3RIZWFkZXJCeXRlc1NlbnQ7Ci0gICAgc3RkOjpvcHRpb25hbDx1aW50NjRfdD4gcmVxdWVz
dEJvZHlCeXRlc1NlbnQ7Ci0gICAgc3RkOjpvcHRpb25hbDx1aW50NjRfdD4gcmVzcG9uc2VIZWFk
ZXJCeXRlc1JlY2VpdmVkOwotICAgIHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IHJlc3BvbnNlQm9k
eUJ5dGVzUmVjZWl2ZWQ7Ci0gICAgc3RkOjpvcHRpb25hbDx1aW50NjRfdD4gcmVzcG9uc2VCb2R5
RGVjb2RlZFNpemU7CisgICAgU3RyaW5nIHJlbW90ZUFkZHJlc3M7CisgICAgU3RyaW5nIGNvbm5l
Y3Rpb25JZGVudGlmaWVyOworICAgIE5ldHdvcmtMb2FkUHJpb3JpdHkgcHJpb3JpdHk7CisgICAg
SFRUUEhlYWRlck1hcCByZXF1ZXN0SGVhZGVyczsKKworICAgIHVpbnQzMl90IHJlcXVlc3RIZWFk
ZXJCeXRlc1NlbnQ7CisgICAgdWludDMyX3QgcmVzcG9uc2VIZWFkZXJCeXRlc1JlY2VpdmVkOwor
ICAgIHVpbnQ2NF90IHJlcXVlc3RCb2R5Qnl0ZXNTZW50OworICAgIHVpbnQ2NF90IHJlc3BvbnNl
Qm9keUJ5dGVzUmVjZWl2ZWQ7CisgICAgdWludDY0X3QgcmVzcG9uc2VCb2R5RGVjb2RlZFNpemU7
CiB9OwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjMzODI5
KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
MiBAQAorMjAxOC0wNy0xMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJlZHVjZSBzaXplIG9mIE5ldHdvcmtMb2FkTWV0cmljcyBhbmQgdGhl
cmVmb3JlIFJlc291cmNlUmVzcG9uc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE4NzY3MQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorCisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oOgorCiAyMDE4LTA3
LTEzICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQg
X2RyYXdzQmFja2dyb3VuZCB0byBXS1dlYlZpZXdDb25maWd1cmF0aW9uLgpJbmRleDogU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0
b3JhZ2VFbmdpbmVDYWNoZS5jcHAJKHJldmlzaW9uIDIzMzgwNykKKysrIFNvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiTmV0d29ya0NhY2hlSU9DaGFubmVs
LmgiCiAjaW5jbHVkZSAiTmV0d29ya0NhY2hlS2V5LmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nl
c3MuaCIKKyNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlIDxXZWJD
b3JlL0NhY2hlUXVlcnlPcHRpb25zLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9IVFRQUGFyc2Vycy5o
PgogI2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQuaD4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRW50cnkuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRW50cnkuY3BwCShyZXZp
c2lvbiAyMzM4MDcpCisrKyBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZUVudHJ5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOZXR3b3JrQ2FjaGVDb2RlcnMuaCIKICNpbmNsdWRl
ICJOZXR3b3JrUHJvY2Vzcy5oIgorI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgog
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9T
aGFyZWRCdWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CkluZGV4
OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAkocmV2aXNp
b24gMjMzODA3KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTc0OSw3ICs3NDksOCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBF
bnVtVHJhaXRzPFdlYkNvcmU6Ok5lCiAgICAgICAgIFdlYkNvcmU6Ok5ldHdvcmtMb2FkUHJpb3Jp
dHksCiAgICAgICAgIFdlYkNvcmU6Ok5ldHdvcmtMb2FkUHJpb3JpdHk6OkxvdywKICAgICAgICAg
V2ViQ29yZTo6TmV0d29ya0xvYWRQcmlvcml0eTo6TWVkaXVtLAotICAgICAgICBXZWJDb3JlOjpO
ZXR3b3JrTG9hZFByaW9yaXR5OjpIaWdoCisgICAgICAgIFdlYkNvcmU6Ok5ldHdvcmtMb2FkUHJp
b3JpdHk6OkhpZ2gsCisgICAgICAgIFdlYkNvcmU6Ok5ldHdvcmtMb2FkUHJpb3JpdHk6OlVua25v
d24KICAgICA+OwogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345107</attachid>
            <date>2018-07-16 12:19:12 -0700</date>
            <delta_ts>2018-07-16 12:26:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187671-20180716121911.patch</filename>
            <type>text/plain</type>
            <size>10718</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzMzg1OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE4LTA3LTEzICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVkdWNlIHNp
emUgb2YgTmV0d29ya0xvYWRNZXRyaWNzIGFuZCB0aGVyZWZvcmUgUmVzb3VyY2VSZXNwb25zZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3NjcxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1By
b3RvY29sKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2VudDo6YnVpbGRP
YmplY3RGb3JNZXRyaWNzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtMb2Fk
TWV0cmljcy5oOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjppc29sYXRl
ZENvcHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjpyZXNl
dCk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6OmNsZWFyTm9uVGltaW5n
RGF0YSk6CisKIDIwMTgtMDctMTYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAog
ICAgICAgICBNYWtlIHN1cmUgTGliV2ViUlRDTWVkaWFFbmRwb2ludCBpcyBhbHdheXMgZGVzdHJv
eWVkIG9uIHRoZSBtYWluIHRocmVhZApJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JOZXR3b3JrQWdlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcAkocmV2aXNpb24g
MjMzODU5KQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JOZXR3
b3JrQWdlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjAsNiArMjIwLDggQEAgc3RhdGljIElu
c3BlY3Rvcjo6UHJvdG9jb2w6Ok5ldHdvcms6Ok1ldAogICAgICAgICByZXR1cm4gSW5zcGVjdG9y
OjpQcm90b2NvbDo6TmV0d29yazo6TWV0cmljczo6UHJpb3JpdHk6Ok1lZGl1bTsKICAgICBjYXNl
IE5ldHdvcmtMb2FkUHJpb3JpdHk6OkhpZ2g6CiAgICAgICAgIHJldHVybiBJbnNwZWN0b3I6OlBy
b3RvY29sOjpOZXR3b3JrOjpNZXRyaWNzOjpQcmlvcml0eTo6SGlnaDsKKyAgICBjYXNlIE5ldHdv
cmtMb2FkUHJpb3JpdHk6OlVua25vd246CisgICAgICAgIGJyZWFrOwogICAgIH0KIAogICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMjMyLDI1ICsyMzQsMjUgQEAgUmVmPEluc3BlY3Rvcjo6
UHJvdG9jb2w6Ok5ldHdvcms6Ok1ldHJpYwogCiAgICAgaWYgKCFuZXR3b3JrTG9hZE1ldHJpY3Mu
cHJvdG9jb2wuaXNOdWxsKCkpCiAgICAgICAgIG1ldHJpY3MtPnNldFByb3RvY29sKG5ldHdvcmtM
b2FkTWV0cmljcy5wcm90b2NvbCk7Ci0gICAgaWYgKG5ldHdvcmtMb2FkTWV0cmljcy5wcmlvcml0
eSkKLSAgICAgICAgbWV0cmljcy0+c2V0UHJpb3JpdHkodG9Qcm90b2NvbCgqbmV0d29ya0xvYWRN
ZXRyaWNzLnByaW9yaXR5KSk7Ci0gICAgaWYgKG5ldHdvcmtMb2FkTWV0cmljcy5yZW1vdGVBZGRy
ZXNzKQotICAgICAgICBtZXRyaWNzLT5zZXRSZW1vdGVBZGRyZXNzKCpuZXR3b3JrTG9hZE1ldHJp
Y3MucmVtb3RlQWRkcmVzcyk7Ci0gICAgaWYgKG5ldHdvcmtMb2FkTWV0cmljcy5jb25uZWN0aW9u
SWRlbnRpZmllcikKLSAgICAgICAgbWV0cmljcy0+c2V0Q29ubmVjdGlvbklkZW50aWZpZXIoKm5l
dHdvcmtMb2FkTWV0cmljcy5jb25uZWN0aW9uSWRlbnRpZmllcik7Ci0gICAgaWYgKG5ldHdvcmtM
b2FkTWV0cmljcy5yZXF1ZXN0SGVhZGVycykKLSAgICAgICAgbWV0cmljcy0+c2V0UmVxdWVzdEhl
YWRlcnMoYnVpbGRPYmplY3RGb3JIZWFkZXJzKCpuZXR3b3JrTG9hZE1ldHJpY3MucmVxdWVzdEhl
YWRlcnMpKTsKLQotICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucmVxdWVzdEhlYWRlckJ5dGVz
U2VudCkKLSAgICAgICAgbWV0cmljcy0+c2V0UmVxdWVzdEhlYWRlckJ5dGVzU2VudCgqbmV0d29y
a0xvYWRNZXRyaWNzLnJlcXVlc3RIZWFkZXJCeXRlc1NlbnQpOwotICAgIGlmIChuZXR3b3JrTG9h
ZE1ldHJpY3MucmVxdWVzdEJvZHlCeXRlc1NlbnQpCi0gICAgICAgIG1ldHJpY3MtPnNldFJlcXVl
c3RCb2R5Qnl0ZXNTZW50KCpuZXR3b3JrTG9hZE1ldHJpY3MucmVxdWVzdEJvZHlCeXRlc1NlbnQp
OwotICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucmVzcG9uc2VIZWFkZXJCeXRlc1JlY2VpdmVk
KQotICAgICAgICBtZXRyaWNzLT5zZXRSZXNwb25zZUhlYWRlckJ5dGVzUmVjZWl2ZWQoKm5ldHdv
cmtMb2FkTWV0cmljcy5yZXNwb25zZUhlYWRlckJ5dGVzUmVjZWl2ZWQpOwotICAgIGlmIChuZXR3
b3JrTG9hZE1ldHJpY3MucmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZCkKLSAgICAgICAgbWV0cmlj
cy0+c2V0UmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZCgqbmV0d29ya0xvYWRNZXRyaWNzLnJlc3Bv
bnNlQm9keUJ5dGVzUmVjZWl2ZWQpOwotICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucmVzcG9u
c2VCb2R5RGVjb2RlZFNpemUpCi0gICAgICAgIG1ldHJpY3MtPnNldFJlc3BvbnNlQm9keURlY29k
ZWRTaXplKCpuZXR3b3JrTG9hZE1ldHJpY3MucmVzcG9uc2VCb2R5RGVjb2RlZFNpemUpOworICAg
IGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucHJpb3JpdHkgIT0gTmV0d29ya0xvYWRQcmlvcml0eTo6
VW5rbm93bikKKyAgICAgICAgbWV0cmljcy0+c2V0UHJpb3JpdHkodG9Qcm90b2NvbChuZXR3b3Jr
TG9hZE1ldHJpY3MucHJpb3JpdHkpKTsKKyAgICBpZiAoIW5ldHdvcmtMb2FkTWV0cmljcy5yZW1v
dGVBZGRyZXNzLmlzTnVsbCgpKQorICAgICAgICBtZXRyaWNzLT5zZXRSZW1vdGVBZGRyZXNzKG5l
dHdvcmtMb2FkTWV0cmljcy5yZW1vdGVBZGRyZXNzKTsKKyAgICBpZiAoIW5ldHdvcmtMb2FkTWV0
cmljcy5jb25uZWN0aW9uSWRlbnRpZmllci5pc051bGwoKSkKKyAgICAgICAgbWV0cmljcy0+c2V0
Q29ubmVjdGlvbklkZW50aWZpZXIobmV0d29ya0xvYWRNZXRyaWNzLmNvbm5lY3Rpb25JZGVudGlm
aWVyKTsKKyAgICBpZiAoIW5ldHdvcmtMb2FkTWV0cmljcy5yZXF1ZXN0SGVhZGVycy5pc0VtcHR5
KCkpCisgICAgICAgIG1ldHJpY3MtPnNldFJlcXVlc3RIZWFkZXJzKGJ1aWxkT2JqZWN0Rm9ySGVh
ZGVycyhuZXR3b3JrTG9hZE1ldHJpY3MucmVxdWVzdEhlYWRlcnMpKTsKKworICAgIGlmIChuZXR3
b3JrTG9hZE1ldHJpY3MucmVxdWVzdEhlYWRlckJ5dGVzU2VudCAhPSBzdGQ6Om51bWVyaWNfbGlt
aXRzPHVpbnQzMl90Pjo6bWF4KCkpCisgICAgICAgIG1ldHJpY3MtPnNldFJlcXVlc3RIZWFkZXJC
eXRlc1NlbnQobmV0d29ya0xvYWRNZXRyaWNzLnJlcXVlc3RIZWFkZXJCeXRlc1NlbnQpOworICAg
IGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucmVxdWVzdEJvZHlCeXRlc1NlbnQgIT0gc3RkOjpudW1l
cmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpKQorICAgICAgICBtZXRyaWNzLT5zZXRSZXF1ZXN0
Qm9keUJ5dGVzU2VudChuZXR3b3JrTG9hZE1ldHJpY3MucmVxdWVzdEJvZHlCeXRlc1NlbnQpOwor
ICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucmVzcG9uc2VIZWFkZXJCeXRlc1JlY2VpdmVkICE9
IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDMyX3Q+OjptYXgoKSkKKyAgICAgICAgbWV0cmljcy0+
c2V0UmVzcG9uc2VIZWFkZXJCeXRlc1JlY2VpdmVkKG5ldHdvcmtMb2FkTWV0cmljcy5yZXNwb25z
ZUhlYWRlckJ5dGVzUmVjZWl2ZWQpOworICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucmVzcG9u
c2VCb2R5Qnl0ZXNSZWNlaXZlZCAhPSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ2NF90Pjo6bWF4
KCkpCisgICAgICAgIG1ldHJpY3MtPnNldFJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQobmV0d29y
a0xvYWRNZXRyaWNzLnJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQpOworICAgIGlmIChuZXR3b3Jr
TG9hZE1ldHJpY3MucmVzcG9uc2VCb2R5RGVjb2RlZFNpemUgIT0gc3RkOjpudW1lcmljX2xpbWl0
czx1aW50NjRfdD46Om1heCgpKQorICAgICAgICBtZXRyaWNzLT5zZXRSZXNwb25zZUJvZHlEZWNv
ZGVkU2l6ZShuZXR3b3JrTG9hZE1ldHJpY3MucmVzcG9uc2VCb2R5RGVjb2RlZFNpemUpOwogCiAg
ICAgcmV0dXJuIG1ldHJpY3M7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL05ldHdvcmtMb2FkTWV0cmljcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmgJKHJldmlzaW9uIDIzMzg1OSkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDcgQEAgZW51bSBjbGFzcyBOZXR3b3JrTG9hZFByaW9y
aXR5IDogdWludDhfdAogICAgIExvdywKICAgICBNZWRpdW0sCiAgICAgSGlnaCwKKyAgICBVbmtu
b3duLAogfTsKIAogY2xhc3MgTmV0d29ya0xvYWRNZXRyaWNzIHsKQEAgLTY3LDE0ICs2OCwxMCBA
QCBwdWJsaWM6CiAgICAgICAgIGNvcHkuY29tcGxldGUgPSBjb21wbGV0ZTsKICAgICAgICAgY29w
eS5wcm90b2NvbCA9IHByb3RvY29sLmlzb2xhdGVkQ29weSgpOwogCi0gICAgICAgIGlmIChyZW1v
dGVBZGRyZXNzKQotICAgICAgICAgICAgY29weS5yZW1vdGVBZGRyZXNzID0gcmVtb3RlQWRkcmVz
cy52YWx1ZSgpLmlzb2xhdGVkQ29weSgpOwotICAgICAgICBpZiAoY29ubmVjdGlvbklkZW50aWZp
ZXIpCi0gICAgICAgICAgICBjb3B5LmNvbm5lY3Rpb25JZGVudGlmaWVyID0gY29ubmVjdGlvbklk
ZW50aWZpZXIudmFsdWUoKS5pc29sYXRlZENvcHkoKTsKLSAgICAgICAgaWYgKHByaW9yaXR5KQot
ICAgICAgICAgICAgY29weS5wcmlvcml0eSA9ICpwcmlvcml0eTsKLSAgICAgICAgaWYgKHJlcXVl
c3RIZWFkZXJzKQotICAgICAgICAgICAgY29weS5yZXF1ZXN0SGVhZGVycyA9IHJlcXVlc3RIZWFk
ZXJzLnZhbHVlKCkuaXNvbGF0ZWRDb3B5KCk7CisgICAgICAgIGNvcHkucmVtb3RlQWRkcmVzcyA9
IHJlbW90ZUFkZHJlc3MuaXNvbGF0ZWRDb3B5KCk7CisgICAgICAgIGNvcHkuY29ubmVjdGlvbklk
ZW50aWZpZXIgPSBjb25uZWN0aW9uSWRlbnRpZmllci5pc29sYXRlZENvcHkoKTsKKyAgICAgICAg
Y29weS5wcmlvcml0eSA9ICpwcmlvcml0eTsKKyAgICAgICAgY29weS5yZXF1ZXN0SGVhZGVycyA9
IHJlcXVlc3RIZWFkZXJzLmlzb2xhdGVkQ29weSgpOwogCiAgICAgICAgIGNvcHkucmVxdWVzdEhl
YWRlckJ5dGVzU2VudCA9IHJlcXVlc3RIZWFkZXJCeXRlc1NlbnQ7CiAgICAgICAgIGNvcHkucmVx
dWVzdEJvZHlCeXRlc1NlbnQgPSByZXF1ZXN0Qm9keUJ5dGVzU2VudDsKQEAgLTk3LDI4ICs5NCwy
MCBAQCBwdWJsaWM6CiAgICAgICAgIHJlc3BvbnNlRW5kID0gU2Vjb25kcygwKTsKICAgICAgICAg
Y29tcGxldGUgPSBmYWxzZTsKICAgICAgICAgcHJvdG9jb2wgPSBTdHJpbmcoKTsKLSAgICAgICAg
cmVtb3RlQWRkcmVzcyA9IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgY29ubmVjdGlvbklkZW50aWZp
ZXIgPSBzdGQ6Om51bGxvcHQ7Ci0gICAgICAgIHByaW9yaXR5ID0gc3RkOjpudWxsb3B0OwotICAg
ICAgICByZXF1ZXN0SGVhZGVycyA9IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmVxdWVzdEhlYWRl
ckJ5dGVzU2VudCA9IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmVxdWVzdEJvZHlCeXRlc1NlbnQg
PSBzdGQ6Om51bGxvcHQ7Ci0gICAgICAgIHJlc3BvbnNlSGVhZGVyQnl0ZXNSZWNlaXZlZCA9IHN0
ZDo6bnVsbG9wdDsKLSAgICAgICAgcmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZCA9IHN0ZDo6bnVs
bG9wdDsKLSAgICAgICAgcmVzcG9uc2VCb2R5RGVjb2RlZFNpemUgPSBzdGQ6Om51bGxvcHQ7Cisg
ICAgICAgIGNsZWFyTm9uVGltaW5nRGF0YSgpOwogICAgIH0KIAogICAgIHZvaWQgY2xlYXJOb25U
aW1pbmdEYXRhKCkKICAgICB7Ci0gICAgICAgIHJlbW90ZUFkZHJlc3MgPSBzdGQ6Om51bGxvcHQ7
Ci0gICAgICAgIGNvbm5lY3Rpb25JZGVudGlmaWVyID0gc3RkOjpudWxsb3B0OwotICAgICAgICBw
cmlvcml0eSA9IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmVxdWVzdEhlYWRlcnMgPSBzdGQ6Om51
bGxvcHQ7Ci0gICAgICAgIHJlcXVlc3RIZWFkZXJCeXRlc1NlbnQgPSBzdGQ6Om51bGxvcHQ7Ci0g
ICAgICAgIHJlcXVlc3RCb2R5Qnl0ZXNTZW50ID0gc3RkOjpudWxsb3B0OwotICAgICAgICByZXNw
b25zZUhlYWRlckJ5dGVzUmVjZWl2ZWQgPSBzdGQ6Om51bGxvcHQ7Ci0gICAgICAgIHJlc3BvbnNl
Qm9keUJ5dGVzUmVjZWl2ZWQgPSBzdGQ6Om51bGxvcHQ7Ci0gICAgICAgIHJlc3BvbnNlQm9keURl
Y29kZWRTaXplID0gc3RkOjpudWxsb3B0OworICAgICAgICByZW1vdGVBZGRyZXNzID0gU3RyaW5n
KCk7CisgICAgICAgIGNvbm5lY3Rpb25JZGVudGlmaWVyID0gU3RyaW5nKCk7CisgICAgICAgIHBy
aW9yaXR5ID0gTmV0d29ya0xvYWRQcmlvcml0eTo6VW5rbm93bjsKKyAgICAgICAgcmVxdWVzdEhl
YWRlcnMuY2xlYXIoKTsKKyAgICAgICAgcmVxdWVzdEhlYWRlckJ5dGVzU2VudCA9IHN0ZDo6bnVt
ZXJpY19saW1pdHM8dWludDMyX3Q+OjptYXgoKTsKKyAgICAgICAgcmVxdWVzdEJvZHlCeXRlc1Nl
bnQgPSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ2NF90Pjo6bWF4KCk7CisgICAgICAgIHJlc3Bv
bnNlSGVhZGVyQnl0ZXNSZWNlaXZlZCA9IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDMyX3Q+Ojpt
YXgoKTsKKyAgICAgICAgcmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZCA9IHN0ZDo6bnVtZXJpY19s
aW1pdHM8dWludDY0X3Q+OjptYXgoKTsKKyAgICAgICAgcmVzcG9uc2VCb2R5RGVjb2RlZFNpemUg
PSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ2NF90Pjo6bWF4KCk7CiAgICAgfQogCiAgICAgYm9v
bCBvcGVyYXRvcj09KGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYgb3RoZXIpIGNvbnN0CkBAIC0x
NjksMjAgKzE1OCwyMCBAQCBwdWJsaWM6CiAgICAgLy8gQUxQTiBQcm90b2NvbCBJRDogaHR0cHM6
Ly93M2MuZ2l0aHViLmlvL3Jlc291cmNlLXRpbWluZy8jYmliLVJGQzczMDEKICAgICBTdHJpbmcg
cHJvdG9jb2w7CiAKLSAgICBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gcmVtb3RlQWRkcmVzczsKLSAg
ICBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gY29ubmVjdGlvbklkZW50aWZpZXI7Ci0gICAgc3RkOjpv
cHRpb25hbDxOZXR3b3JrTG9hZFByaW9yaXR5PiBwcmlvcml0eTsKKyAgICBTdHJpbmcgcmVtb3Rl
QWRkcmVzczsKKyAgICBTdHJpbmcgY29ubmVjdGlvbklkZW50aWZpZXI7CisgICAgTmV0d29ya0xv
YWRQcmlvcml0eSBwcmlvcml0eTsKIAogICAgIC8vIFdoZXRoZXIgb3Igbm90IGFsbCBvZiB0aGUg
cHJvcGVydGllcyAoMCBvciBvdGhlcndpc2UpIGhhdmUgYmVlbiBzZXQuCiAgICAgYm9vbCBjb21w
bGV0ZSB7IGZhbHNlIH07CiAKLSAgICBzdGQ6Om9wdGlvbmFsPEhUVFBIZWFkZXJNYXA+IHJlcXVl
c3RIZWFkZXJzOworICAgIEhUVFBIZWFkZXJNYXAgcmVxdWVzdEhlYWRlcnM7CiAKLSAgICBzdGQ6
Om9wdGlvbmFsPHVpbnQ2NF90PiByZXF1ZXN0SGVhZGVyQnl0ZXNTZW50OwotICAgIHN0ZDo6b3B0
aW9uYWw8dWludDY0X3Q+IHJlcXVlc3RCb2R5Qnl0ZXNTZW50OwotICAgIHN0ZDo6b3B0aW9uYWw8
dWludDY0X3Q+IHJlc3BvbnNlSGVhZGVyQnl0ZXNSZWNlaXZlZDsKLSAgICBzdGQ6Om9wdGlvbmFs
PHVpbnQ2NF90PiByZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVkOwotICAgIHN0ZDo6b3B0aW9uYWw8
dWludDY0X3Q+IHJlc3BvbnNlQm9keURlY29kZWRTaXplOworICAgIHVpbnQzMl90IHJlcXVlc3RI
ZWFkZXJCeXRlc1NlbnQ7CisgICAgdWludDMyX3QgcmVzcG9uc2VIZWFkZXJCeXRlc1JlY2VpdmVk
OworICAgIHVpbnQ2NF90IHJlcXVlc3RCb2R5Qnl0ZXNTZW50OworICAgIHVpbnQ2NF90IHJlc3Bv
bnNlQm9keUJ5dGVzUmVjZWl2ZWQ7CisgICAgdWludDY0X3QgcmVzcG9uc2VCb2R5RGVjb2RlZFNp
emU7CiB9OwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjMz
ODU5KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxMiBAQAorMjAxOC0wNy0xMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJlZHVjZSBzaXplIG9mIE5ldHdvcmtMb2FkTWV0cmljcyBhbmQg
dGhlcmVmb3JlIFJlc291cmNlUmVzcG9uc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4NzY3MQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFk
bGVyLgorCisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oOgorCiAyMDE4
LTA3LTE2ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIEluZGV4
ZWREQjogY2xvc2VBbmREZWxldGVEYXRhYmFzZXNGb3JPcmlnaW5zIHNob3VsZCByZW1vdmUgYWxs
IGRhdGFiYXNlcyBmb3IgdGhvc2Ugb3JpZ2lucwpJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNo
ZS5jcHAJKHJldmlzaW9uIDIzMzg1OSkKKysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2
ICszMSw3IEBACiAjaW5jbHVkZSAiTmV0d29ya0NhY2hlSU9DaGFubmVsLmgiCiAjaW5jbHVkZSAi
TmV0d29ya0NhY2hlS2V5LmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3MuaCIKKyNpbmNsdWRl
ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0NhY2hlUXVlcnlP
cHRpb25zLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9IVFRQUGFyc2Vycy5oPgogI2luY2x1ZGUgPHBh
bC9TZXNzaW9uSUQuaD4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlRW50cnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRW50cnkuY3BwCShyZXZpc2lvbiAyMzM4NTkpCisr
KyBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUVudHJ5LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIK
ICNpbmNsdWRlICJOZXR3b3JrQ2FjaGVDb2RlcnMuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vz
cy5oIgorI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CkluZGV4OiBTb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAkocmV2aXNpb24gMjMzODU5KQorKysg
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTc0OSw3ICs3NDksOCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNv
cmU6Ok5lCiAgICAgICAgIFdlYkNvcmU6Ok5ldHdvcmtMb2FkUHJpb3JpdHksCiAgICAgICAgIFdl
YkNvcmU6Ok5ldHdvcmtMb2FkUHJpb3JpdHk6OkxvdywKICAgICAgICAgV2ViQ29yZTo6TmV0d29y
a0xvYWRQcmlvcml0eTo6TWVkaXVtLAotICAgICAgICBXZWJDb3JlOjpOZXR3b3JrTG9hZFByaW9y
aXR5OjpIaWdoCisgICAgICAgIFdlYkNvcmU6Ok5ldHdvcmtMb2FkUHJpb3JpdHk6OkhpZ2gsCisg
ICAgICAgIFdlYkNvcmU6Ok5ldHdvcmtMb2FkUHJpb3JpdHk6OlVua25vd24KICAgICA+OwogfTsK
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345109</attachid>
            <date>2018-07-16 12:26:23 -0700</date>
            <delta_ts>2018-07-16 13:23:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187671-20180716122623.patch</filename>
            <type>text/plain</type>
            <size>10717</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzMzg1OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE4LTA3LTEzICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVkdWNlIHNp
emUgb2YgTmV0d29ya0xvYWRNZXRyaWNzIGFuZCB0aGVyZWZvcmUgUmVzb3VyY2VSZXNwb25zZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3NjcxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1By
b3RvY29sKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2VudDo6YnVpbGRP
YmplY3RGb3JNZXRyaWNzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtMb2Fk
TWV0cmljcy5oOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjppc29sYXRl
ZENvcHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjpyZXNl
dCk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6OmNsZWFyTm9uVGltaW5n
RGF0YSk6CisKIDIwMTgtMDctMTYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAog
ICAgICAgICBNYWtlIHN1cmUgTGliV2ViUlRDTWVkaWFFbmRwb2ludCBpcyBhbHdheXMgZGVzdHJv
eWVkIG9uIHRoZSBtYWluIHRocmVhZApJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JOZXR3b3JrQWdlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcAkocmV2aXNpb24g
MjMzODU5KQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JOZXR3
b3JrQWdlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjAsNiArMjIwLDggQEAgc3RhdGljIElu
c3BlY3Rvcjo6UHJvdG9jb2w6Ok5ldHdvcms6Ok1ldAogICAgICAgICByZXR1cm4gSW5zcGVjdG9y
OjpQcm90b2NvbDo6TmV0d29yazo6TWV0cmljczo6UHJpb3JpdHk6Ok1lZGl1bTsKICAgICBjYXNl
IE5ldHdvcmtMb2FkUHJpb3JpdHk6OkhpZ2g6CiAgICAgICAgIHJldHVybiBJbnNwZWN0b3I6OlBy
b3RvY29sOjpOZXR3b3JrOjpNZXRyaWNzOjpQcmlvcml0eTo6SGlnaDsKKyAgICBjYXNlIE5ldHdv
cmtMb2FkUHJpb3JpdHk6OlVua25vd246CisgICAgICAgIGJyZWFrOwogICAgIH0KIAogICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMjMyLDI1ICsyMzQsMjUgQEAgUmVmPEluc3BlY3Rvcjo6
UHJvdG9jb2w6Ok5ldHdvcms6Ok1ldHJpYwogCiAgICAgaWYgKCFuZXR3b3JrTG9hZE1ldHJpY3Mu
cHJvdG9jb2wuaXNOdWxsKCkpCiAgICAgICAgIG1ldHJpY3MtPnNldFByb3RvY29sKG5ldHdvcmtM
b2FkTWV0cmljcy5wcm90b2NvbCk7Ci0gICAgaWYgKG5ldHdvcmtMb2FkTWV0cmljcy5wcmlvcml0
eSkKLSAgICAgICAgbWV0cmljcy0+c2V0UHJpb3JpdHkodG9Qcm90b2NvbCgqbmV0d29ya0xvYWRN
ZXRyaWNzLnByaW9yaXR5KSk7Ci0gICAgaWYgKG5ldHdvcmtMb2FkTWV0cmljcy5yZW1vdGVBZGRy
ZXNzKQotICAgICAgICBtZXRyaWNzLT5zZXRSZW1vdGVBZGRyZXNzKCpuZXR3b3JrTG9hZE1ldHJp
Y3MucmVtb3RlQWRkcmVzcyk7Ci0gICAgaWYgKG5ldHdvcmtMb2FkTWV0cmljcy5jb25uZWN0aW9u
SWRlbnRpZmllcikKLSAgICAgICAgbWV0cmljcy0+c2V0Q29ubmVjdGlvbklkZW50aWZpZXIoKm5l
dHdvcmtMb2FkTWV0cmljcy5jb25uZWN0aW9uSWRlbnRpZmllcik7Ci0gICAgaWYgKG5ldHdvcmtM
b2FkTWV0cmljcy5yZXF1ZXN0SGVhZGVycykKLSAgICAgICAgbWV0cmljcy0+c2V0UmVxdWVzdEhl
YWRlcnMoYnVpbGRPYmplY3RGb3JIZWFkZXJzKCpuZXR3b3JrTG9hZE1ldHJpY3MucmVxdWVzdEhl
YWRlcnMpKTsKLQotICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucmVxdWVzdEhlYWRlckJ5dGVz
U2VudCkKLSAgICAgICAgbWV0cmljcy0+c2V0UmVxdWVzdEhlYWRlckJ5dGVzU2VudCgqbmV0d29y
a0xvYWRNZXRyaWNzLnJlcXVlc3RIZWFkZXJCeXRlc1NlbnQpOwotICAgIGlmIChuZXR3b3JrTG9h
ZE1ldHJpY3MucmVxdWVzdEJvZHlCeXRlc1NlbnQpCi0gICAgICAgIG1ldHJpY3MtPnNldFJlcXVl
c3RCb2R5Qnl0ZXNTZW50KCpuZXR3b3JrTG9hZE1ldHJpY3MucmVxdWVzdEJvZHlCeXRlc1NlbnQp
OwotICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucmVzcG9uc2VIZWFkZXJCeXRlc1JlY2VpdmVk
KQotICAgICAgICBtZXRyaWNzLT5zZXRSZXNwb25zZUhlYWRlckJ5dGVzUmVjZWl2ZWQoKm5ldHdv
cmtMb2FkTWV0cmljcy5yZXNwb25zZUhlYWRlckJ5dGVzUmVjZWl2ZWQpOwotICAgIGlmIChuZXR3
b3JrTG9hZE1ldHJpY3MucmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZCkKLSAgICAgICAgbWV0cmlj
cy0+c2V0UmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZCgqbmV0d29ya0xvYWRNZXRyaWNzLnJlc3Bv
bnNlQm9keUJ5dGVzUmVjZWl2ZWQpOwotICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucmVzcG9u
c2VCb2R5RGVjb2RlZFNpemUpCi0gICAgICAgIG1ldHJpY3MtPnNldFJlc3BvbnNlQm9keURlY29k
ZWRTaXplKCpuZXR3b3JrTG9hZE1ldHJpY3MucmVzcG9uc2VCb2R5RGVjb2RlZFNpemUpOworICAg
IGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucHJpb3JpdHkgIT0gTmV0d29ya0xvYWRQcmlvcml0eTo6
VW5rbm93bikKKyAgICAgICAgbWV0cmljcy0+c2V0UHJpb3JpdHkodG9Qcm90b2NvbChuZXR3b3Jr
TG9hZE1ldHJpY3MucHJpb3JpdHkpKTsKKyAgICBpZiAoIW5ldHdvcmtMb2FkTWV0cmljcy5yZW1v
dGVBZGRyZXNzLmlzTnVsbCgpKQorICAgICAgICBtZXRyaWNzLT5zZXRSZW1vdGVBZGRyZXNzKG5l
dHdvcmtMb2FkTWV0cmljcy5yZW1vdGVBZGRyZXNzKTsKKyAgICBpZiAoIW5ldHdvcmtMb2FkTWV0
cmljcy5jb25uZWN0aW9uSWRlbnRpZmllci5pc051bGwoKSkKKyAgICAgICAgbWV0cmljcy0+c2V0
Q29ubmVjdGlvbklkZW50aWZpZXIobmV0d29ya0xvYWRNZXRyaWNzLmNvbm5lY3Rpb25JZGVudGlm
aWVyKTsKKyAgICBpZiAoIW5ldHdvcmtMb2FkTWV0cmljcy5yZXF1ZXN0SGVhZGVycy5pc0VtcHR5
KCkpCisgICAgICAgIG1ldHJpY3MtPnNldFJlcXVlc3RIZWFkZXJzKGJ1aWxkT2JqZWN0Rm9ySGVh
ZGVycyhuZXR3b3JrTG9hZE1ldHJpY3MucmVxdWVzdEhlYWRlcnMpKTsKKworICAgIGlmIChuZXR3
b3JrTG9hZE1ldHJpY3MucmVxdWVzdEhlYWRlckJ5dGVzU2VudCAhPSBzdGQ6Om51bWVyaWNfbGlt
aXRzPHVpbnQzMl90Pjo6bWF4KCkpCisgICAgICAgIG1ldHJpY3MtPnNldFJlcXVlc3RIZWFkZXJC
eXRlc1NlbnQobmV0d29ya0xvYWRNZXRyaWNzLnJlcXVlc3RIZWFkZXJCeXRlc1NlbnQpOworICAg
IGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucmVxdWVzdEJvZHlCeXRlc1NlbnQgIT0gc3RkOjpudW1l
cmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpKQorICAgICAgICBtZXRyaWNzLT5zZXRSZXF1ZXN0
Qm9keUJ5dGVzU2VudChuZXR3b3JrTG9hZE1ldHJpY3MucmVxdWVzdEJvZHlCeXRlc1NlbnQpOwor
ICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucmVzcG9uc2VIZWFkZXJCeXRlc1JlY2VpdmVkICE9
IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDMyX3Q+OjptYXgoKSkKKyAgICAgICAgbWV0cmljcy0+
c2V0UmVzcG9uc2VIZWFkZXJCeXRlc1JlY2VpdmVkKG5ldHdvcmtMb2FkTWV0cmljcy5yZXNwb25z
ZUhlYWRlckJ5dGVzUmVjZWl2ZWQpOworICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MucmVzcG9u
c2VCb2R5Qnl0ZXNSZWNlaXZlZCAhPSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ2NF90Pjo6bWF4
KCkpCisgICAgICAgIG1ldHJpY3MtPnNldFJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQobmV0d29y
a0xvYWRNZXRyaWNzLnJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQpOworICAgIGlmIChuZXR3b3Jr
TG9hZE1ldHJpY3MucmVzcG9uc2VCb2R5RGVjb2RlZFNpemUgIT0gc3RkOjpudW1lcmljX2xpbWl0
czx1aW50NjRfdD46Om1heCgpKQorICAgICAgICBtZXRyaWNzLT5zZXRSZXNwb25zZUJvZHlEZWNv
ZGVkU2l6ZShuZXR3b3JrTG9hZE1ldHJpY3MucmVzcG9uc2VCb2R5RGVjb2RlZFNpemUpOwogCiAg
ICAgcmV0dXJuIG1ldHJpY3M7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL05ldHdvcmtMb2FkTWV0cmljcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmgJKHJldmlzaW9uIDIzMzg1OSkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDcgQEAgZW51bSBjbGFzcyBOZXR3b3JrTG9hZFByaW9y
aXR5IDogdWludDhfdAogICAgIExvdywKICAgICBNZWRpdW0sCiAgICAgSGlnaCwKKyAgICBVbmtu
b3duLAogfTsKIAogY2xhc3MgTmV0d29ya0xvYWRNZXRyaWNzIHsKQEAgLTY3LDE0ICs2OCwxMCBA
QCBwdWJsaWM6CiAgICAgICAgIGNvcHkuY29tcGxldGUgPSBjb21wbGV0ZTsKICAgICAgICAgY29w
eS5wcm90b2NvbCA9IHByb3RvY29sLmlzb2xhdGVkQ29weSgpOwogCi0gICAgICAgIGlmIChyZW1v
dGVBZGRyZXNzKQotICAgICAgICAgICAgY29weS5yZW1vdGVBZGRyZXNzID0gcmVtb3RlQWRkcmVz
cy52YWx1ZSgpLmlzb2xhdGVkQ29weSgpOwotICAgICAgICBpZiAoY29ubmVjdGlvbklkZW50aWZp
ZXIpCi0gICAgICAgICAgICBjb3B5LmNvbm5lY3Rpb25JZGVudGlmaWVyID0gY29ubmVjdGlvbklk
ZW50aWZpZXIudmFsdWUoKS5pc29sYXRlZENvcHkoKTsKLSAgICAgICAgaWYgKHByaW9yaXR5KQot
ICAgICAgICAgICAgY29weS5wcmlvcml0eSA9ICpwcmlvcml0eTsKLSAgICAgICAgaWYgKHJlcXVl
c3RIZWFkZXJzKQotICAgICAgICAgICAgY29weS5yZXF1ZXN0SGVhZGVycyA9IHJlcXVlc3RIZWFk
ZXJzLnZhbHVlKCkuaXNvbGF0ZWRDb3B5KCk7CisgICAgICAgIGNvcHkucmVtb3RlQWRkcmVzcyA9
IHJlbW90ZUFkZHJlc3MuaXNvbGF0ZWRDb3B5KCk7CisgICAgICAgIGNvcHkuY29ubmVjdGlvbklk
ZW50aWZpZXIgPSBjb25uZWN0aW9uSWRlbnRpZmllci5pc29sYXRlZENvcHkoKTsKKyAgICAgICAg
Y29weS5wcmlvcml0eSA9IHByaW9yaXR5OworICAgICAgICBjb3B5LnJlcXVlc3RIZWFkZXJzID0g
cmVxdWVzdEhlYWRlcnMuaXNvbGF0ZWRDb3B5KCk7CiAKICAgICAgICAgY29weS5yZXF1ZXN0SGVh
ZGVyQnl0ZXNTZW50ID0gcmVxdWVzdEhlYWRlckJ5dGVzU2VudDsKICAgICAgICAgY29weS5yZXF1
ZXN0Qm9keUJ5dGVzU2VudCA9IHJlcXVlc3RCb2R5Qnl0ZXNTZW50OwpAQCAtOTcsMjggKzk0LDIw
IEBAIHB1YmxpYzoKICAgICAgICAgcmVzcG9uc2VFbmQgPSBTZWNvbmRzKDApOwogICAgICAgICBj
b21wbGV0ZSA9IGZhbHNlOwogICAgICAgICBwcm90b2NvbCA9IFN0cmluZygpOwotICAgICAgICBy
ZW1vdGVBZGRyZXNzID0gc3RkOjpudWxsb3B0OwotICAgICAgICBjb25uZWN0aW9uSWRlbnRpZmll
ciA9IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcHJpb3JpdHkgPSBzdGQ6Om51bGxvcHQ7Ci0gICAg
ICAgIHJlcXVlc3RIZWFkZXJzID0gc3RkOjpudWxsb3B0OwotICAgICAgICByZXF1ZXN0SGVhZGVy
Qnl0ZXNTZW50ID0gc3RkOjpudWxsb3B0OwotICAgICAgICByZXF1ZXN0Qm9keUJ5dGVzU2VudCA9
IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmVzcG9uc2VIZWFkZXJCeXRlc1JlY2VpdmVkID0gc3Rk
OjpudWxsb3B0OwotICAgICAgICByZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVkID0gc3RkOjpudWxs
b3B0OwotICAgICAgICByZXNwb25zZUJvZHlEZWNvZGVkU2l6ZSA9IHN0ZDo6bnVsbG9wdDsKKyAg
ICAgICAgY2xlYXJOb25UaW1pbmdEYXRhKCk7CiAgICAgfQogCiAgICAgdm9pZCBjbGVhck5vblRp
bWluZ0RhdGEoKQogICAgIHsKLSAgICAgICAgcmVtb3RlQWRkcmVzcyA9IHN0ZDo6bnVsbG9wdDsK
LSAgICAgICAgY29ubmVjdGlvbklkZW50aWZpZXIgPSBzdGQ6Om51bGxvcHQ7Ci0gICAgICAgIHBy
aW9yaXR5ID0gc3RkOjpudWxsb3B0OwotICAgICAgICByZXF1ZXN0SGVhZGVycyA9IHN0ZDo6bnVs
bG9wdDsKLSAgICAgICAgcmVxdWVzdEhlYWRlckJ5dGVzU2VudCA9IHN0ZDo6bnVsbG9wdDsKLSAg
ICAgICAgcmVxdWVzdEJvZHlCeXRlc1NlbnQgPSBzdGQ6Om51bGxvcHQ7Ci0gICAgICAgIHJlc3Bv
bnNlSGVhZGVyQnl0ZXNSZWNlaXZlZCA9IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmVzcG9uc2VC
b2R5Qnl0ZXNSZWNlaXZlZCA9IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmVzcG9uc2VCb2R5RGVj
b2RlZFNpemUgPSBzdGQ6Om51bGxvcHQ7CisgICAgICAgIHJlbW90ZUFkZHJlc3MgPSBTdHJpbmco
KTsKKyAgICAgICAgY29ubmVjdGlvbklkZW50aWZpZXIgPSBTdHJpbmcoKTsKKyAgICAgICAgcHJp
b3JpdHkgPSBOZXR3b3JrTG9hZFByaW9yaXR5OjpVbmtub3duOworICAgICAgICByZXF1ZXN0SGVh
ZGVycy5jbGVhcigpOworICAgICAgICByZXF1ZXN0SGVhZGVyQnl0ZXNTZW50ID0gc3RkOjpudW1l
cmljX2xpbWl0czx1aW50MzJfdD46Om1heCgpOworICAgICAgICByZXF1ZXN0Qm9keUJ5dGVzU2Vu
dCA9IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDY0X3Q+OjptYXgoKTsKKyAgICAgICAgcmVzcG9u
c2VIZWFkZXJCeXRlc1JlY2VpdmVkID0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50MzJfdD46Om1h
eCgpOworICAgICAgICByZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVkID0gc3RkOjpudW1lcmljX2xp
bWl0czx1aW50NjRfdD46Om1heCgpOworICAgICAgICByZXNwb25zZUJvZHlEZWNvZGVkU2l6ZSA9
IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDY0X3Q+OjptYXgoKTsKICAgICB9CiAKICAgICBib29s
IG9wZXJhdG9yPT0oY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJiBvdGhlcikgY29uc3QKQEAgLTE2
OSwyMCArMTU4LDIwIEBAIHB1YmxpYzoKICAgICAvLyBBTFBOIFByb3RvY29sIElEOiBodHRwczov
L3czYy5naXRodWIuaW8vcmVzb3VyY2UtdGltaW5nLyNiaWItUkZDNzMwMQogICAgIFN0cmluZyBw
cm90b2NvbDsKIAotICAgIHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiByZW1vdGVBZGRyZXNzOwotICAg
IHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiBjb25uZWN0aW9uSWRlbnRpZmllcjsKLSAgICBzdGQ6Om9w
dGlvbmFsPE5ldHdvcmtMb2FkUHJpb3JpdHk+IHByaW9yaXR5OworICAgIFN0cmluZyByZW1vdGVB
ZGRyZXNzOworICAgIFN0cmluZyBjb25uZWN0aW9uSWRlbnRpZmllcjsKKyAgICBOZXR3b3JrTG9h
ZFByaW9yaXR5IHByaW9yaXR5OwogCiAgICAgLy8gV2hldGhlciBvciBub3QgYWxsIG9mIHRoZSBw
cm9wZXJ0aWVzICgwIG9yIG90aGVyd2lzZSkgaGF2ZSBiZWVuIHNldC4KICAgICBib29sIGNvbXBs
ZXRlIHsgZmFsc2UgfTsKIAotICAgIHN0ZDo6b3B0aW9uYWw8SFRUUEhlYWRlck1hcD4gcmVxdWVz
dEhlYWRlcnM7CisgICAgSFRUUEhlYWRlck1hcCByZXF1ZXN0SGVhZGVyczsKIAotICAgIHN0ZDo6
b3B0aW9uYWw8dWludDY0X3Q+IHJlcXVlc3RIZWFkZXJCeXRlc1NlbnQ7Ci0gICAgc3RkOjpvcHRp
b25hbDx1aW50NjRfdD4gcmVxdWVzdEJvZHlCeXRlc1NlbnQ7Ci0gICAgc3RkOjpvcHRpb25hbDx1
aW50NjRfdD4gcmVzcG9uc2VIZWFkZXJCeXRlc1JlY2VpdmVkOwotICAgIHN0ZDo6b3B0aW9uYWw8
dWludDY0X3Q+IHJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQ7Ci0gICAgc3RkOjpvcHRpb25hbDx1
aW50NjRfdD4gcmVzcG9uc2VCb2R5RGVjb2RlZFNpemU7CisgICAgdWludDMyX3QgcmVxdWVzdEhl
YWRlckJ5dGVzU2VudDsKKyAgICB1aW50MzJfdCByZXNwb25zZUhlYWRlckJ5dGVzUmVjZWl2ZWQ7
CisgICAgdWludDY0X3QgcmVxdWVzdEJvZHlCeXRlc1NlbnQ7CisgICAgdWludDY0X3QgcmVzcG9u
c2VCb2R5Qnl0ZXNSZWNlaXZlZDsKKyAgICB1aW50NjRfdCByZXNwb25zZUJvZHlEZWNvZGVkU2l6
ZTsKIH07CiAKICNpZiBQTEFURk9STShDT0NPQSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzM4
NTkpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDEyIEBACisyMDE4LTA3LTEzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmVkdWNlIHNpemUgb2YgTmV0d29ya0xvYWRNZXRyaWNzIGFuZCB0
aGVyZWZvcmUgUmVzb3VyY2VSZXNwb25zZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTg3NjcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRs
ZXIuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6CisKIDIwMTgt
MDctMTYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAgSW5kZXhl
ZERCOiBjbG9zZUFuZERlbGV0ZURhdGFiYXNlc0Zvck9yaWdpbnMgc2hvdWxkIHJlbW92ZSBhbGwg
ZGF0YWJhc2VzIGZvciB0aG9zZSBvcmlnaW5zCkluZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hl
LmNwcAkocmV2aXNpb24gMjMzODU5KQorKysgU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYg
KzMxLDcgQEAKICNpbmNsdWRlICJOZXR3b3JrQ2FjaGVJT0NoYW5uZWwuaCIKICNpbmNsdWRlICJO
ZXR3b3JrQ2FjaGVLZXkuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzcy5oIgorI2luY2x1ZGUg
IldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ2FjaGVRdWVyeU9w
dGlvbnMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hUVFBQYXJzZXJzLmg+CiAjaW5jbHVkZSA8cGFs
L1Nlc3Npb25JRC5oPgpJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGVFbnRyeS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVFbnRyeS5jcHAJKHJldmlzaW9uIDIzMzg1OSkKKysr
IFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRW50cnkuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiTG9nZ2luZy5oIgog
I2luY2x1ZGUgIk5ldHdvcmtDYWNoZUNvZGVycy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNz
LmgiCisjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSA8V2ViQ29y
ZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KSW5kZXg6IFNvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCShyZXZpc2lvbiAyMzM4NTkpCisrKyBT
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAkod29ya2luZyBjb3B5
KQpAQCAtNzQ5LDcgKzc0OSw4IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29y
ZTo6TmUKICAgICAgICAgV2ViQ29yZTo6TmV0d29ya0xvYWRQcmlvcml0eSwKICAgICAgICAgV2Vi
Q29yZTo6TmV0d29ya0xvYWRQcmlvcml0eTo6TG93LAogICAgICAgICBXZWJDb3JlOjpOZXR3b3Jr
TG9hZFByaW9yaXR5OjpNZWRpdW0sCi0gICAgICAgIFdlYkNvcmU6Ok5ldHdvcmtMb2FkUHJpb3Jp
dHk6OkhpZ2gKKyAgICAgICAgV2ViQ29yZTo6TmV0d29ya0xvYWRQcmlvcml0eTo6SGlnaCwKKyAg
ICAgICAgV2ViQ29yZTo6TmV0d29ya0xvYWRQcmlvcml0eTo6VW5rbm93bgogICAgID47CiB9Owog
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>