<?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>190761</bug_id>
          
          <creation_ts>2018-10-19 13:53:49 -0700</creation_ts>
          <short_desc>[Win] Add function call name information to stack traces</short_desc>
          <delta_ts>2018-10-24 18:12:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>WebKit 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="Christopher Reid">chris.reid</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>chris.reid</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>pvollan</cc>
    
    <cc>stephan.szabo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1470982</commentid>
    <comment_count>0</comment_count>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2018-10-19 13:53:49 -0700</bug_when>
    <thetext>Currently CRASH and ASSERT only prints out the stack frame addresses. It would be nice to also show the associated function names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470992</commentid>
    <comment_count>1</comment_count>
      <attachid>352824</attachid>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2018-10-19 14:35:58 -0700</bug_when>
    <thetext>Created attachment 352824
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470995</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-10-19 14:40:07 -0700</bug_when>
    <thetext>Attachment 352824 did not pass style-queue:


ERROR: Source/WTF/wtf/win/DbgHelperWin.cpp:26:  Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
ERROR: Source/WTF/wtf/win/DbgHelperWin.cpp:27:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WTF/wtf/win/DbgHelperWin.h:30:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 3 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471171</commentid>
    <comment_count>3</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-10-21 20:37:37 -0700</bug_when>
    <thetext>I support Michael Catanzaro&apos;s opinion.

[webkit-dev] WTFCrash()
https://lists.webkit.org/pipermail/webkit-dev/2018-March/029903.html

&gt; Next, the low-quality backtrace. Does anyone think this is useful?

Backtrace is shown only in case of intentional crash (abort), mostly in assertion failure.
In assertion failure, the failed condition and the function name are shown.
No backtrace is shown in case of unintentional crash.

Anyway, there is StackTrace::dump in WebKit. I don&apos;t object to add Windows implementation for it if you like.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471172</commentid>
    <comment_count>4</comment_count>
      <attachid>352824</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-10-21 20:51:29 -0700</bug_when>
    <thetext>Comment on attachment 352824
Patch

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

&gt; Source/WTF/wtf/StackTrace.cpp:116
&gt; +    SYMBOL_INFO* symbol = static_cast&lt;SYMBOL_INFO*&gt;(fastZeroedMalloc(sizeof(SYMBOL_INFO) + MAX_SYM_NAME * sizeof(TCHAR)));

SYMBOL_INFO* symbol = static_cast&lt;SYMBOL_INFO*&gt;(..)
This is redundant.
auto symbol = static_cast&lt;SYMBOL_INFO*&gt;(..)

I think you don&apos;t need to allocate by using fastZeroedMalloc because it is not so big.

This is not a symbol. The variable name &apos;symbol&apos; should be renamed. For example, &apos;symbolInfo&apos; or &apos;buffer&apos;.

&gt; Source/WTF/wtf/win/DbgHelperWin.cpp:35
&gt; +// It&apos;s possible for external code to call the library at the same time as webkit and cause memory corruption.

Nit: webkit → WebKit

&gt; Source/WTF/wtf/win/DbgHelperWin.cpp:61
&gt; +bool DbgHelper::SymFromAddress(HANDLE hProc, DWORD64 address, PDWORD64 displacement, PSYMBOL_INFO symbol)

Remove variable names instead of using UNUSED_PARAM.
bool DbgHelper::SymFromAddress(HANDLE, DWORD64, PDWORD64, PSYMBOL_INFO)

&gt; Source/WTF/wtf/win/DbgHelperWin.h:35
&gt; +class DbgHelper {

I think you should define a namespace instead of a class.

&gt; Source/WTF/wtf/win/DbgHelperWin.h:39
&gt; +    static bool SymFromAddress(HANDLE hProc, DWORD64 address, PDWORD64 displacement, PSYMBOL_INFO);

I prefer SYMBOL_INFO*, DWORD64* to PSYMBOL_INFO, PDWORD64 in WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471173</commentid>
    <comment_count>5</comment_count>
      <attachid>352824</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-10-21 21:02:23 -0700</bug_when>
    <thetext>Comment on attachment 352824
Patch

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

&gt; Source/WTF/wtf/StackTrace.cpp:136
&gt; +        if (DbgHelper::SymFromAddress(hProc, (DWORD64)stack[i], 0, symbol))

I think you should use reinterpret_caset&lt;DWORD64&gt;(...) instead of C-style cast.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471690</commentid>
    <comment_count>6</comment_count>
      <attachid>353002</attachid>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2018-10-23 16:32:49 -0700</bug_when>
    <thetext>Created attachment 353002
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471691</commentid>
    <comment_count>7</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-10-23 16:35:06 -0700</bug_when>
    <thetext>Attachment 353002 did not pass style-queue:


ERROR: Source/WTF/wtf/win/DbgHelperWin.cpp:26:  Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
ERROR: Source/WTF/wtf/win/DbgHelperWin.cpp:27:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WTF/wtf/win/DbgHelperWin.cpp:44:  Missing space before {  [whitespace/braces] [5]
ERROR: Source/WTF/wtf/win/DbgHelperWin.cpp:45:  Use nullptr instead of NULL.  [readability/null] [5]
ERROR: Source/WTF/wtf/win/DbgHelperWin.h:29:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WTF/wtf/win/DbgHelperWin.h:30:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WTF/wtf/win/DbgHelperWin.h:37:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/win/DbgHelperWin.h:37:  The parameter name &quot;symbolInfo&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 8 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471694</commentid>
    <comment_count>8</comment_count>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2018-10-23 16:44:08 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #4)
&gt; Comment on attachment 352824 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=352824&amp;action=review
&gt; 
&gt; &gt; Source/WTF/wtf/StackTrace.cpp:116
&gt; &gt; +    SYMBOL_INFO* symbol = static_cast&lt;SYMBOL_INFO*&gt;(fastZeroedMalloc(sizeof(SYMBOL_INFO) + MAX_SYM_NAME * sizeof(TCHAR)));
&gt; 
&gt; SYMBOL_INFO* symbol = static_cast&lt;SYMBOL_INFO*&gt;(..)
&gt; This is redundant.
&gt; auto symbol = static_cast&lt;SYMBOL_INFO*&gt;(..)
&gt; 
&gt; I think you don&apos;t need to allocate by using fastZeroedMalloc because it is
&gt; not so big.

I was using fastMalloc as this struct is a bit odd to allocate on the stack.
The structure&apos;s Name property is defined as CHAR Name[1]; I changed it to use a buffer similar to the example on https://docs.microsoft.com/en-us/windows/desktop/debug/retrieving-symbol-information-by-address. I&apos;m not sure which method is preferred.


Also, FWIW I have found this type stack trace useful for getting a stack trace when a debugger cannot easily be attached. e.g. with asserts inconsistently seen in layout tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471696</commentid>
    <comment_count>9</comment_count>
      <attachid>353003</attachid>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2018-10-23 16:46:32 -0700</bug_when>
    <thetext>Created attachment 353003
Updated Patch

Fixing some style issues</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471698</commentid>
    <comment_count>10</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-10-23 16:49:20 -0700</bug_when>
    <thetext>Attachment 353003 did not pass style-queue:


ERROR: Source/WTF/wtf/win/DbgHelperWin.cpp:26:  Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
ERROR: Source/WTF/wtf/win/DbgHelperWin.cpp:27:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WTF/wtf/win/DbgHelperWin.h:30:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 3 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471730</commentid>
    <comment_count>11</comment_count>
      <attachid>353003</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-10-23 18:23:24 -0700</bug_when>
    <thetext>Comment on attachment 353003
Updated Patch

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

Looks good to me.

&gt; Source/WTF/ChangeLog:10
&gt; +            - application&apos;s working directory

It soulds like it means BuildBot Layout Tests can&apos;t show the function names by this patch because it is executed from top directory while the build artifact is placed in &apos;build&apos; dir.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471776</commentid>
    <comment_count>12</comment_count>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2018-10-23 23:08:44 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #11)
&gt; Comment on attachment 353003 [details]
&gt; Updated Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=353003&amp;action=review
&gt; 
&gt; Looks good to me.
&gt; 
&gt; &gt; Source/WTF/ChangeLog:10
&gt; &gt; +            - application&apos;s working directory
&gt; 
&gt; It soulds like it means BuildBot Layout Tests can&apos;t show the function names
&gt; by this patch because it is executed from top directory while the build
&gt; artifact is placed in &apos;build&apos; dir.

I just verified it locally, SymInitialize will search for symbol files in both the current working directory and the directory containing the application executable. I&apos;ll clarify the ChangeLog before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471778</commentid>
    <comment_count>13</comment_count>
      <attachid>353023</attachid>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2018-10-23 23:35:59 -0700</bug_when>
    <thetext>Created attachment 353023
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471822</commentid>
    <comment_count>14</comment_count>
      <attachid>353023</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-24 07:27:22 -0700</bug_when>
    <thetext>Comment on attachment 353023
Patch for landing

Clearing flags on attachment: 353023

Committed r237382: &lt;https://trac.webkit.org/changeset/237382&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471823</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-24 07:27:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471824</commentid>
    <comment_count>16</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-10-24 07:28:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/45519578&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471983</commentid>
    <comment_count>17</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-10-24 18:12:31 -0700</bug_when>
    <thetext>It works.

https://build.webkit.org/results/WinCairo%2064-bit%20WKL%20Debug%20(Tests)/r237400%20(986)/results.html
https://build.webkit.org/results/WinCairo%2064-bit%20WKL%20Debug%20(Tests)/r237400%20(986)/http/tests/xmlhttprequest/response-access-on-error-stderr.txt
https://build.webkit.org/results/WinCairo%2064-bit%20WKL%20Debug%20(Tests)/r237400%20(986)/js/mozilla/strict/regress-532041-stderr.txt</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352824</attachid>
            <date>2018-10-19 14:35:58 -0700</date>
            <delta_ts>2018-10-23 16:32:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>190761.diff</filename>
            <type>text/plain</type>
            <size>8446</size>
            <attacher name="Christopher Reid">chris.reid</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggZDQ1MDFiZWRlMDYuLmMyMmJjNzI3ZWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE4
LTEwLTE5ICBDaHJpc3RvcGhlciBSZWlkICA8Y2hyaXMucmVpZEBzb255LmNvbT4KKworICAgICAg
ICBbV2luXSBBZGQgZnVuY3Rpb24gY2FsbCBuYW1lIGluZm9ybWF0aW9uIHRvIHN0YWNrIHRyYWNl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNzYx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN5
bWJvbCBpbmZvcm1hdGlvbiB0byBzdGFjayB0cmFjZXMgdXNpbmcgZGJnaGVscC5kbGwKKyAgICAg
ICAgVGhpcyBsaWJyYXJ5IHdpbGwgdXNlIHN5bWJvbHMgZmlsZXMgZnJvbSB0aGVzZSBzb3VyY2Vz
OgorICAgICAgICAgICAgLSBhcHBsaWNhdGlvbidzIHdvcmtpbmcgZGlyZWN0b3J5CisgICAgICAg
ICAgICAtIF9OVF9TWU1CT0xfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZQorICAgICAgICAgICAg
LSBfTlRfQUxURVJOQVRFX1NZTUJPTF9QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlCisKKyAgICAg
ICAgVGhpcyBmdW5jdGlvbmFsaXR5IGlzIGN1cnJlbnRseSBvbmx5IGVuYWJsZWQgaW4gZGVidWcg
bW9kZSBzaW5jZSBkYmdoZWxwIGlzIG5vdCB0aHJlYWRzYWZlLgorICAgICAgICBUaGUgRGJnSGVs
cGVyIGNsYXNzIGF0dGVtcHRzIHRvIHN5bmNocm9uaXplIGNhbGxzIHRvIGRiZ2hlbHAuZGxsIGJ1
dCBleHRlcm5hbCBjb2RlCisgICAgICAgIGNhbiBzdGlsbCBhdHRlbXB0IHRvIGNhbGwgdGhlIGxp
YnJhcnkgYXQgdGhlIHNhbWUgdGltZSBhcyB3ZWJraXQuCisKKyAgICAgICAgKiB3dGYvQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogd3RmL1BsYXRmb3JtV2luLmNtYWtlOgorICAgICAgICAqIHd0
Zi9TdGFja1RyYWNlLmNwcDoKKyAgICAgICAgKiB3dGYvd2luL0RiZ0hlbHBlcldpbi5jcHA6IEFk
ZGVkLgorICAgICAgICAqIHd0Zi93aW4vRGJnSGVscGVyV2luLmg6IEFkZGVkLgorCiAyMDE4LTEw
LTE1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgVXNlIHByYWdtYSBvbmNlIGluIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ01h
a2VMaXN0cy50eHQgYi9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAppbmRleCAzZWU1YzQ4
ZWJiNS4uNmQzY2ViOTQ0NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMu
dHh0CisrKyBiL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CkBAIC00OTksNiArNDk5LDcg
QEAgaWYgKFdJTjMyKQogICAgICAgICBUaHJlYWRpbmdXaW4uY3BwCiAgICAgKQogICAgIGxpc3Qo
QVBQRU5EIFdURl9MSUJSQVJJRVMKKyAgICAgICAgRGJnSGVscAogICAgICAgICB3aW5tbQogICAg
ICkKIGVsc2UgKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV2luLmNtYWtl
IGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1XaW4uY21ha2UKaW5kZXggNDY4NTE5NmNlYTYuLjVm
MjI3NWE1YmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFrZQor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFrZQpAQCAtMSw2ICsxLDcgQEAKIGxp
c3QoQVBQRU5EIFdURl9QVUJMSUNfSEVBREVSUwogICAgIHRleHQvd2luL1dDaGFyU3RyaW5nRXh0
cmFzLmgKIAorICAgIHdpbi9EYmdIZWxwZXJXaW4uaAogICAgIHdpbi9HRElPYmplY3QuaAogICAg
IHdpbi9Tb2Z0TGlua2luZy5oCiAgICAgd2luL1dpbjMySGFuZGxlLmgKQEAgLTEwLDYgKzExLDcg
QEAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKICAgICB0ZXh0L3dpbi9UZXh0QnJlYWtJdGVyYXRv
ckludGVybmFsSUNVV2luLmNwcAogCiAgICAgd2luL0NQVVRpbWVXaW4uY3BwCisgICAgd2luL0Ri
Z0hlbHBlcldpbi5jcHAKICAgICB3aW4vTGFuZ3VhZ2VXaW4uY3BwCiAgICAgd2luL01haW5UaHJl
YWRXaW4uY3BwCiAgICAgd2luL01lbW9yeUZvb3RwcmludFdpbi5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL1N0YWNrVHJhY2UuY3BwIGIvU291cmNlL1dURi93dGYvU3RhY2tUcmFjZS5j
cHAKaW5kZXggN2EwZDk5Yzc5MmUuLjFmMWQzYjMxOWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9TdGFja1RyYWNlLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9TdGFja1RyYWNlLmNwcApA
QCAtNDEsNiArNDEsNyBAQAogCiAjaWYgT1MoV0lORE9XUykKICNpbmNsdWRlIDx3aW5kb3dzLmg+
CisjaW5jbHVkZSA8d3RmL3dpbi9EYmdIZWxwZXJXaW4uaD4KICNlbmRpZgogCiB2b2lkIFdURkdl
dEJhY2t0cmFjZSh2b2lkKiogc3RhY2ssIGludCogc2l6ZSkKQEAgLTExMCw2ICsxMTEsMTIgQEAg
dm9pZCBTdGFja1RyYWNlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0IGNoYXIqIGluZGVu
dFN0cmluZykgY29uc3QKICAgICBjaGFyKiogc3ltYm9scyA9IGJhY2t0cmFjZV9zeW1ib2xzKHN0
YWNrLCBtX3NpemUpOwogICAgIGlmICghc3ltYm9scykKICAgICAgICAgcmV0dXJuOworI2VsaWYg
T1MoV0lORE9XUykKKyAgICBIQU5ETEUgaFByb2MgPSBHZXRDdXJyZW50UHJvY2VzcygpOworICAg
IFNZTUJPTF9JTkZPKiBzeW1ib2wgPSBzdGF0aWNfY2FzdDxTWU1CT0xfSU5GTyo+KGZhc3RaZXJv
ZWRNYWxsb2Moc2l6ZW9mKFNZTUJPTF9JTkZPKSArIE1BWF9TWU1fTkFNRSAqIHNpemVvZihUQ0hB
UikpKTsKKworICAgIHN5bWJvbC0+U2l6ZU9mU3RydWN0ID0gc2l6ZW9mKFNZTUJPTF9JTkZPKTsK
KyAgICBzeW1ib2wtPk1heE5hbWVMZW4gPSBNQVhfU1lNX05BTUU7CiAjZW5kaWYKIAogICAgIGlm
ICghaW5kZW50U3RyaW5nKQpAQCAtMTI1LDYgKzEzMiw5IEBAIHZvaWQgU3RhY2tUcmFjZTo6ZHVt
cChQcmludFN0cmVhbSYgb3V0LCBjb25zdCBjaGFyKiBpbmRlbnRTdHJpbmcpIGNvbnN0CiAgICAg
ICAgICAgICBtYW5nbGVkTmFtZSA9IGRlbWFuZ2xlZC0+bWFuZ2xlZE5hbWUoKTsKICAgICAgICAg
ICAgIGN4YURlbWFuZ2xlZCA9IGRlbWFuZ2xlZC0+ZGVtYW5nbGVkTmFtZSgpOwogICAgICAgICB9
CisjZWxpZiBPUyhXSU5ET1dTKQorICAgICAgICBpZiAoRGJnSGVscGVyOjpTeW1Gcm9tQWRkcmVz
cyhoUHJvYywgKERXT1JENjQpc3RhY2tbaV0sIDAsIHN5bWJvbCkpCisgICAgICAgICAgICBtYW5n
bGVkTmFtZSA9IHN5bWJvbC0+TmFtZTsKICNlbmRpZgogICAgICAgICBjb25zdCBpbnQgZnJhbWVO
dW1iZXIgPSBpICsgMTsKICAgICAgICAgaWYgKG1hbmdsZWROYW1lIHx8IGN4YURlbWFuZ2xlZCkK
QEAgLTEzNSw2ICsxNDUsOCBAQCB2b2lkIFN0YWNrVHJhY2U6OmR1bXAoUHJpbnRTdHJlYW0mIG91
dCwgY29uc3QgY2hhciogaW5kZW50U3RyaW5nKSBjb25zdAogCiAjaWYgSEFWRShCQUNLVFJBQ0Vf
U1lNQk9MUykKICAgICBmcmVlKHN5bWJvbHMpOworI2VsaWYgT1MoV0lORE9XUykKKyAgICBmYXN0
RnJlZShzeW1ib2wpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3dp
bi9EYmdIZWxwZXJXaW4uY3BwIGIvU291cmNlL1dURi93dGYvd2luL0RiZ0hlbHBlcldpbi5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmEwY2MyNDI5Mjg5Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvd2luL0RiZ0hlbHBlcldpbi5jcHAKQEAgLTAs
MCArMSw3MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBTb255IEludGVyYWN0aXZlIEVu
dGVydGFpbm1lbnQgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlIDx3dGYvd2luL0RiZ0hl
bHBlcldpbi5oPgorCisjaW5jbHVkZSA8bXV0ZXg+CisKK25hbWVzcGFjZSBXVEYgeworCitMb2Nr
IERiZ0hlbHBlcjo6Y2FsbE11dGV4OworCisvLyBXZSBhcmUgb25seSBjYWxsaW5nIHRoZXNlIERi
Z0hlbHAuZGxsIGZ1bmN0aW9ucyBpbiBkZWJ1ZyBtb2RlIHNpbmNlIHRoZSBsaWJyYXJ5IGlzIG5v
dCB0aHJlYWRzYWZlLgorLy8gSXQncyBwb3NzaWJsZSBmb3IgZXh0ZXJuYWwgY29kZSB0byBjYWxs
IHRoZSBsaWJyYXJ5IGF0IHRoZSBzYW1lIHRpbWUgYXMgd2Via2l0IGFuZCBjYXVzZSBtZW1vcnkg
Y29ycnVwdGlvbi4KKworI2lmICFkZWZpbmVkKE5ERUJVRykKKworc3RhdGljIHZvaWQgaW5pdGlh
bGl6ZVN5bWJvbHMoSEFORExFIGhQcm9jKQoreworICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBv
bmNlRmxhZzsKKyAgICBzdGQ6OmNhbGxfb25jZShvbmNlRmxhZywgWyZdKCkgeworICAgICAgICBp
ZiAoIVN5bUluaXRpYWxpemUoaFByb2MsIG51bGxwdHIsIFRSVUUpKQorICAgICAgICAgICAgTE9H
X0VSUk9SKCJGYWlsZWQgdG8gaW5pdGlhbHplIHN5bWJvbCBpbmZvcm1hdGlvbiAlZCIsIEdldExh
c3RFcnJvcigpKTsKKyAgICB9KTsKK30KKworYm9vbCBEYmdIZWxwZXI6OlN5bUZyb21BZGRyZXNz
KEhBTkRMRSBoUHJvYywgRFdPUkQ2NCBhZGRyZXNzLCBQRFdPUkQ2NCBkaXNwbGFjZW1lbnQsIFBT
WU1CT0xfSU5GTyBzeW1ib2wpCit7CisgICAgTG9ja0hvbGRlciBsb2NrKERiZ0hlbHBlcjo6Y2Fs
bE11dGV4KTsKKyAgICBpbml0aWFsaXplU3ltYm9scyhoUHJvYyk7CisKKyAgICBib29sIHN1Y2Nl
c3MgPSA6OlN5bUZyb21BZGRyKGhQcm9jLCBhZGRyZXNzLCBkaXNwbGFjZW1lbnQsIHN5bWJvbCk7
CisgICAgaWYgKHN1Y2Nlc3MpCisgICAgICAgIHN5bWJvbC0+TmFtZVtzeW1ib2wtPk5hbWVMZW5d
ID0gJ1wwJzsKKyAgICByZXR1cm4gc3VjY2VzczsKK30KKworI2Vsc2UKKworYm9vbCBEYmdIZWxw
ZXI6OlN5bUZyb21BZGRyZXNzKEhBTkRMRSBoUHJvYywgRFdPUkQ2NCBhZGRyZXNzLCBQRFdPUkQ2
NCBkaXNwbGFjZW1lbnQsIFBTWU1CT0xfSU5GTyBzeW1ib2wpCit7CisgICAgVU5VU0VEX1BBUkFN
KGhQcm9jKTsKKyAgICBVTlVTRURfUEFSQU0oYWRkcmVzcyk7CisgICAgVU5VU0VEX1BBUkFNKGRp
c3BsYWNlbWVudCk7CisgICAgVU5VU0VEX1BBUkFNKHN5bWJvbCk7CisgICAgcmV0dXJuIGZhbHNl
OworfQorCisjZW5kaWYgLy8gIWRlZmluZWQoTkRFQlVHKQorCit9IC8vIG5hbWVzcGFjZSBXVEYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3dpbi9EYmdIZWxwZXJXaW4uaCBiL1NvdXJjZS9X
VEYvd3RmL3dpbi9EYmdIZWxwZXJXaW4uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMC4uNzU4ZjdiMjkyNGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0Zi93
aW4vRGJnSGVscGVyV2luLmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxOCBTb255IEludGVyYWN0aXZlIEVudGVydGFpbm1lbnQgSW5jLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisg
KiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5j
bHVkZSA8d2luZG93cy5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CisjaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CisKKyNpbmNsdWRlIDxkYmdoZWxwLmg+CisKK25hbWVzcGFjZSBXVEYgewor
CitjbGFzcyBEYmdIZWxwZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERiZ0hlbHBlcik7
CisKK3B1YmxpYzoKKyAgICBzdGF0aWMgYm9vbCBTeW1Gcm9tQWRkcmVzcyhIQU5ETEUgaFByb2Ms
IERXT1JENjQgYWRkcmVzcywgUERXT1JENjQgZGlzcGxhY2VtZW50LCBQU1lNQk9MX0lORk8pOwor
Citwcml2YXRlOgorICAgIHN0YXRpYyBMb2NrIGNhbGxNdXRleDsKKworfTsKKworfSAvLyBuYW1l
c3BhY2UgV1RGCg==
</data>
<flag name="review"
          id="370066"
          type_id="1"
          status="-"
          setter="fujii"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353002</attachid>
            <date>2018-10-23 16:32:49 -0700</date>
            <delta_ts>2018-10-23 16:46:32 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>190761.diff</filename>
            <type>text/plain</type>
            <size>8111</size>
            <attacher name="Christopher Reid">chris.reid</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggZDQ1MDFiZWRlMDYuLjM3NmQyNDRmYzM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE4
LTEwLTIzICBDaHJpc3RvcGhlciBSZWlkICA8Y2hyaXMucmVpZEBzb255LmNvbT4KKworICAgICAg
ICBbV2luXSBBZGQgZnVuY3Rpb24gY2FsbCBuYW1lIGluZm9ybWF0aW9uIHRvIHN0YWNrIHRyYWNl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNzYx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN5
bWJvbCBpbmZvcm1hdGlvbiB0byBzdGFjayB0cmFjZXMgdXNpbmcgZGJnaGVscC5kbGwKKyAgICAg
ICAgVGhpcyBsaWJyYXJ5IHdpbGwgdXNlIHN5bWJvbHMgZmlsZXMgZnJvbSB0aGVzZSBzb3VyY2Vz
OgorICAgICAgICAgICAgLSBhcHBsaWNhdGlvbidzIHdvcmtpbmcgZGlyZWN0b3J5CisgICAgICAg
ICAgICAtIF9OVF9TWU1CT0xfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZQorICAgICAgICAgICAg
LSBfTlRfQUxURVJOQVRFX1NZTUJPTF9QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlCisKKyAgICAg
ICAgVGhpcyBmdW5jdGlvbmFsaXR5IGlzIGN1cnJlbnRseSBvbmx5IGVuYWJsZWQgaW4gZGVidWcg
bW9kZSBzaW5jZSBkYmdoZWxwIGlzIG5vdCB0aHJlYWRzYWZlLgorICAgICAgICBUaGUgRGJnSGVs
cGVyIGNsYXNzIGF0dGVtcHRzIHRvIHN5bmNocm9uaXplIGNhbGxzIHRvIGRiZ2hlbHAuZGxsIGJ1
dCBleHRlcm5hbCBjb2RlCisgICAgICAgIGNhbiBzdGlsbCBhdHRlbXB0IHRvIGNhbGwgdGhlIGxp
YnJhcnkgYXQgdGhlIHNhbWUgdGltZSBhcyB3ZWJraXQuCisKKyAgICAgICAgKiB3dGYvQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogd3RmL1BsYXRmb3JtV2luLmNtYWtlOgorICAgICAgICAqIHd0
Zi9TdGFja1RyYWNlLmNwcDoKKyAgICAgICAgKiB3dGYvd2luL0RiZ0hlbHBlcldpbi5jcHA6IEFk
ZGVkLgorICAgICAgICAqIHd0Zi93aW4vRGJnSGVscGVyV2luLmg6IEFkZGVkLgorCiAyMDE4LTEw
LTE1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgVXNlIHByYWdtYSBvbmNlIGluIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ01h
a2VMaXN0cy50eHQgYi9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAppbmRleCAzZWU1YzQ4
ZWJiNS4uNmQzY2ViOTQ0NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMu
dHh0CisrKyBiL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CkBAIC00OTksNiArNDk5LDcg
QEAgaWYgKFdJTjMyKQogICAgICAgICBUaHJlYWRpbmdXaW4uY3BwCiAgICAgKQogICAgIGxpc3Qo
QVBQRU5EIFdURl9MSUJSQVJJRVMKKyAgICAgICAgRGJnSGVscAogICAgICAgICB3aW5tbQogICAg
ICkKIGVsc2UgKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV2luLmNtYWtl
IGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1XaW4uY21ha2UKaW5kZXggNDY4NTE5NmNlYTYuLjVm
MjI3NWE1YmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFrZQor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFrZQpAQCAtMSw2ICsxLDcgQEAKIGxp
c3QoQVBQRU5EIFdURl9QVUJMSUNfSEVBREVSUwogICAgIHRleHQvd2luL1dDaGFyU3RyaW5nRXh0
cmFzLmgKIAorICAgIHdpbi9EYmdIZWxwZXJXaW4uaAogICAgIHdpbi9HRElPYmplY3QuaAogICAg
IHdpbi9Tb2Z0TGlua2luZy5oCiAgICAgd2luL1dpbjMySGFuZGxlLmgKQEAgLTEwLDYgKzExLDcg
QEAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKICAgICB0ZXh0L3dpbi9UZXh0QnJlYWtJdGVyYXRv
ckludGVybmFsSUNVV2luLmNwcAogCiAgICAgd2luL0NQVVRpbWVXaW4uY3BwCisgICAgd2luL0Ri
Z0hlbHBlcldpbi5jcHAKICAgICB3aW4vTGFuZ3VhZ2VXaW4uY3BwCiAgICAgd2luL01haW5UaHJl
YWRXaW4uY3BwCiAgICAgd2luL01lbW9yeUZvb3RwcmludFdpbi5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL1N0YWNrVHJhY2UuY3BwIGIvU291cmNlL1dURi93dGYvU3RhY2tUcmFjZS5j
cHAKaW5kZXggN2EwZDk5Yzc5MmUuLmJlY2YyMmFlMGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9TdGFja1RyYWNlLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9TdGFja1RyYWNlLmNwcApA
QCAtNDEsNiArNDEsNyBAQAogCiAjaWYgT1MoV0lORE9XUykKICNpbmNsdWRlIDx3aW5kb3dzLmg+
CisjaW5jbHVkZSA8d3RmL3dpbi9EYmdIZWxwZXJXaW4uaD4KICNlbmRpZgogCiB2b2lkIFdURkdl
dEJhY2t0cmFjZSh2b2lkKiogc3RhY2ssIGludCogc2l6ZSkKQEAgLTExMCw2ICsxMTEsMTMgQEAg
dm9pZCBTdGFja1RyYWNlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0IGNoYXIqIGluZGVu
dFN0cmluZykgY29uc3QKICAgICBjaGFyKiogc3ltYm9scyA9IGJhY2t0cmFjZV9zeW1ib2xzKHN0
YWNrLCBtX3NpemUpOwogICAgIGlmICghc3ltYm9scykKICAgICAgICAgcmV0dXJuOworI2VsaWYg
T1MoV0lORE9XUykKKyAgICBIQU5ETEUgaFByb2MgPSBHZXRDdXJyZW50UHJvY2VzcygpOworICAg
IHVpbnQ4X3Qgc3ltYm9sRGF0YVtzaXplb2YoU1lNQk9MX0lORk8pICsgTUFYX1NZTV9OQU1FICog
c2l6ZW9mKFRDSEFSKV0gPSB7IDAgfTsKKyAgICBhdXRvIHN5bWJvbEluZm8gPSByZWludGVycHJl
dF9jYXN0PFNZTUJPTF9JTkZPKj4oc3ltYm9sRGF0YSk7CisKKyAgICBzeW1ib2xJbmZvLT5TaXpl
T2ZTdHJ1Y3QgPSBzaXplb2YoU1lNQk9MX0lORk8pOworICAgIHN5bWJvbEluZm8tPk1heE5hbWVM
ZW4gPSBNQVhfU1lNX05BTUU7CiAjZW5kaWYKIAogICAgIGlmICghaW5kZW50U3RyaW5nKQpAQCAt
MTI1LDYgKzEzMyw5IEBAIHZvaWQgU3RhY2tUcmFjZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0LCBj
b25zdCBjaGFyKiBpbmRlbnRTdHJpbmcpIGNvbnN0CiAgICAgICAgICAgICBtYW5nbGVkTmFtZSA9
IGRlbWFuZ2xlZC0+bWFuZ2xlZE5hbWUoKTsKICAgICAgICAgICAgIGN4YURlbWFuZ2xlZCA9IGRl
bWFuZ2xlZC0+ZGVtYW5nbGVkTmFtZSgpOwogICAgICAgICB9CisjZWxpZiBPUyhXSU5ET1dTKQor
ICAgICAgICBpZiAoRGJnSGVscGVyOjpTeW1Gcm9tQWRkcmVzcyhoUHJvYywgcmVpbnRlcnByZXRf
Y2FzdDxEV09SRDY0PihzdGFja1tpXSksIDAsIHN5bWJvbEluZm8pKQorICAgICAgICAgICAgbWFu
Z2xlZE5hbWUgPSBzeW1ib2xJbmZvLT5OYW1lOwogI2VuZGlmCiAgICAgICAgIGNvbnN0IGludCBm
cmFtZU51bWJlciA9IGkgKyAxOwogICAgICAgICBpZiAobWFuZ2xlZE5hbWUgfHwgY3hhRGVtYW5n
bGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvd2luL0RiZ0hlbHBlcldpbi5jcHAgYi9T
b3VyY2UvV1RGL3d0Zi93aW4vRGJnSGVscGVyV2luLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMC4uOGJkYTExYmY5ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi93aW4vRGJnSGVscGVyV2luLmNwcApAQCAtMCwwICsxLDcyIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE4IFNvbnkgSW50ZXJhY3RpdmUgRW50ZXJ0YWlubWVudCBJbmMuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgPHd0Zi93aW4vRGJnSGVscGVyV2luLmg+CisKKyNpbmNsdWRl
IDxtdXRleD4KKworbmFtZXNwYWNlIFdURiB7CisKK25hbWVzcGFjZSBEYmdIZWxwZXIgeworCisv
LyBXZSBhcmUgb25seSBjYWxsaW5nIHRoZXNlIERiZ0hlbHAuZGxsIGZ1bmN0aW9ucyBpbiBkZWJ1
ZyBtb2RlIHNpbmNlIHRoZSBsaWJyYXJ5IGlzIG5vdCB0aHJlYWRzYWZlLgorLy8gSXQncyBwb3Nz
aWJsZSBmb3IgZXh0ZXJuYWwgY29kZSB0byBjYWxsIHRoZSBsaWJyYXJ5IGF0IHRoZSBzYW1lIHRp
bWUgYXMgV2ViS2l0IGFuZCBjYXVzZSBtZW1vcnkgY29ycnVwdGlvbi4KKworI2lmICFkZWZpbmVk
KE5ERUJVRykKKworc3RhdGljIExvY2sgY2FsbE11dGV4OworCitzdGF0aWMgdm9pZCBpbml0aWFs
aXplU3ltYm9scyhIQU5ETEUgaFByb2MpCit7CisgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9u
Y2VGbGFnOworICAgIHN0ZDo6Y2FsbF9vbmNlKG9uY2VGbGFnLCBbJl0oKXsKKyAgICAgICAgaWYg
KCFTeW1Jbml0aWFsaXplKGhQcm9jLCBOVUxMLCBUUlVFKSkKKyAgICAgICAgICAgIExPR19FUlJP
UigiRmFpbGVkIHRvIGluaXRpYWx6ZSBzeW1ib2wgaW5mb3JtYXRpb24gJWQiLCBHZXRMYXN0RXJy
b3IoKSk7CisgICAgfSk7Cit9CisKK2Jvb2wgU3ltRnJvbUFkZHJlc3MoSEFORExFIGhQcm9jLCBE
V09SRDY0IGFkZHJlc3MsIERXT1JENjQqIGRpc3BsYWNlbWVudCwgU1lNQk9MX0lORk8qIHN5bWJv
bEluZm8pCit7CisgICAgTG9ja0hvbGRlciBsb2NrKGNhbGxNdXRleCk7CisgICAgaW5pdGlhbGl6
ZVN5bWJvbHMoaFByb2MpOworCisgICAgYm9vbCBzdWNjZXNzID0gOjpTeW1Gcm9tQWRkcihoUHJv
YywgYWRkcmVzcywgZGlzcGxhY2VtZW50LCBzeW1ib2xJbmZvKTsKKyAgICBpZiAoc3VjY2VzcykK
KyAgICAgICAgc3ltYm9sSW5mby0+TmFtZVtzeW1ib2xJbmZvLT5OYW1lTGVuXSA9ICdcMCc7Cisg
ICAgcmV0dXJuIHN1Y2Nlc3M7Cit9CisKKyNlbHNlCisKK2Jvb2wgU3ltRnJvbUFkZHJlc3MoSEFO
RExFLCBEV09SRDY0LCBEV09SRDY0KiwgU1lNQk9MX0lORk8qKQoreworICAgIHJldHVybiBmYWxz
ZTsKK30KKworI2VuZGlmIC8vICFkZWZpbmVkKE5ERUJVRykKKworfSAvLyBuYW1lc3BhY2UgRGJn
SGVscGVyCisKK30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
d2luL0RiZ0hlbHBlcldpbi5oIGIvU291cmNlL1dURi93dGYvd2luL0RiZ0hlbHBlcldpbi5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5kNGFkOGU5ZmEzZQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL3dpbi9EYmdIZWxwZXJXaW4uaApAQCAtMCwwICsx
LDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IFNvbnkgSW50ZXJhY3RpdmUgRW50ZXJ0
YWlubWVudCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvTG9jay5oPgorI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgorCisjaW5jbHVkZSA8d2luZG93cy5oPgorI2luY2x1ZGUgPGRi
Z2hlbHAuaD4KKworbmFtZXNwYWNlIFdURiB7CisKK25hbWVzcGFjZSBEYmdIZWxwZXIgeworCisg
ICAgYm9vbCBTeW1Gcm9tQWRkcmVzcyhIQU5ETEUgaFByb2MsIERXT1JENjQgYWRkcmVzcywgRFdP
UkQ2NCogZGlzcGxhY2VtZW50LCBTWU1CT0xfSU5GTyogc3ltYm9sSW5mbyk7CisKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdURgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353003</attachid>
            <date>2018-10-23 16:46:32 -0700</date>
            <delta_ts>2018-10-23 23:35:56 -0700</delta_ts>
            <desc>Updated Patch</desc>
            <filename>190761.diff</filename>
            <type>text/plain</type>
            <size>8100</size>
            <attacher name="Christopher Reid">chris.reid</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggZDQ1MDFiZWRlMDYuLjM3NmQyNDRmYzM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE4
LTEwLTIzICBDaHJpc3RvcGhlciBSZWlkICA8Y2hyaXMucmVpZEBzb255LmNvbT4KKworICAgICAg
ICBbV2luXSBBZGQgZnVuY3Rpb24gY2FsbCBuYW1lIGluZm9ybWF0aW9uIHRvIHN0YWNrIHRyYWNl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNzYx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN5
bWJvbCBpbmZvcm1hdGlvbiB0byBzdGFjayB0cmFjZXMgdXNpbmcgZGJnaGVscC5kbGwKKyAgICAg
ICAgVGhpcyBsaWJyYXJ5IHdpbGwgdXNlIHN5bWJvbHMgZmlsZXMgZnJvbSB0aGVzZSBzb3VyY2Vz
OgorICAgICAgICAgICAgLSBhcHBsaWNhdGlvbidzIHdvcmtpbmcgZGlyZWN0b3J5CisgICAgICAg
ICAgICAtIF9OVF9TWU1CT0xfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZQorICAgICAgICAgICAg
LSBfTlRfQUxURVJOQVRFX1NZTUJPTF9QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlCisKKyAgICAg
ICAgVGhpcyBmdW5jdGlvbmFsaXR5IGlzIGN1cnJlbnRseSBvbmx5IGVuYWJsZWQgaW4gZGVidWcg
bW9kZSBzaW5jZSBkYmdoZWxwIGlzIG5vdCB0aHJlYWRzYWZlLgorICAgICAgICBUaGUgRGJnSGVs
cGVyIGNsYXNzIGF0dGVtcHRzIHRvIHN5bmNocm9uaXplIGNhbGxzIHRvIGRiZ2hlbHAuZGxsIGJ1
dCBleHRlcm5hbCBjb2RlCisgICAgICAgIGNhbiBzdGlsbCBhdHRlbXB0IHRvIGNhbGwgdGhlIGxp
YnJhcnkgYXQgdGhlIHNhbWUgdGltZSBhcyB3ZWJraXQuCisKKyAgICAgICAgKiB3dGYvQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogd3RmL1BsYXRmb3JtV2luLmNtYWtlOgorICAgICAgICAqIHd0
Zi9TdGFja1RyYWNlLmNwcDoKKyAgICAgICAgKiB3dGYvd2luL0RiZ0hlbHBlcldpbi5jcHA6IEFk
ZGVkLgorICAgICAgICAqIHd0Zi93aW4vRGJnSGVscGVyV2luLmg6IEFkZGVkLgorCiAyMDE4LTEw
LTE1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgVXNlIHByYWdtYSBvbmNlIGluIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ01h
a2VMaXN0cy50eHQgYi9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAppbmRleCAzZWU1YzQ4
ZWJiNS4uNmQzY2ViOTQ0NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMu
dHh0CisrKyBiL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CkBAIC00OTksNiArNDk5LDcg
QEAgaWYgKFdJTjMyKQogICAgICAgICBUaHJlYWRpbmdXaW4uY3BwCiAgICAgKQogICAgIGxpc3Qo
QVBQRU5EIFdURl9MSUJSQVJJRVMKKyAgICAgICAgRGJnSGVscAogICAgICAgICB3aW5tbQogICAg
ICkKIGVsc2UgKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV2luLmNtYWtl
IGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1XaW4uY21ha2UKaW5kZXggNDY4NTE5NmNlYTYuLjVm
MjI3NWE1YmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFrZQor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFrZQpAQCAtMSw2ICsxLDcgQEAKIGxp
c3QoQVBQRU5EIFdURl9QVUJMSUNfSEVBREVSUwogICAgIHRleHQvd2luL1dDaGFyU3RyaW5nRXh0
cmFzLmgKIAorICAgIHdpbi9EYmdIZWxwZXJXaW4uaAogICAgIHdpbi9HRElPYmplY3QuaAogICAg
IHdpbi9Tb2Z0TGlua2luZy5oCiAgICAgd2luL1dpbjMySGFuZGxlLmgKQEAgLTEwLDYgKzExLDcg
QEAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKICAgICB0ZXh0L3dpbi9UZXh0QnJlYWtJdGVyYXRv
ckludGVybmFsSUNVV2luLmNwcAogCiAgICAgd2luL0NQVVRpbWVXaW4uY3BwCisgICAgd2luL0Ri
Z0hlbHBlcldpbi5jcHAKICAgICB3aW4vTGFuZ3VhZ2VXaW4uY3BwCiAgICAgd2luL01haW5UaHJl
YWRXaW4uY3BwCiAgICAgd2luL01lbW9yeUZvb3RwcmludFdpbi5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL1N0YWNrVHJhY2UuY3BwIGIvU291cmNlL1dURi93dGYvU3RhY2tUcmFjZS5j
cHAKaW5kZXggN2EwZDk5Yzc5MmUuLmJlY2YyMmFlMGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9TdGFja1RyYWNlLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9TdGFja1RyYWNlLmNwcApA
QCAtNDEsNiArNDEsNyBAQAogCiAjaWYgT1MoV0lORE9XUykKICNpbmNsdWRlIDx3aW5kb3dzLmg+
CisjaW5jbHVkZSA8d3RmL3dpbi9EYmdIZWxwZXJXaW4uaD4KICNlbmRpZgogCiB2b2lkIFdURkdl
dEJhY2t0cmFjZSh2b2lkKiogc3RhY2ssIGludCogc2l6ZSkKQEAgLTExMCw2ICsxMTEsMTMgQEAg
dm9pZCBTdGFja1RyYWNlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0IGNoYXIqIGluZGVu
dFN0cmluZykgY29uc3QKICAgICBjaGFyKiogc3ltYm9scyA9IGJhY2t0cmFjZV9zeW1ib2xzKHN0
YWNrLCBtX3NpemUpOwogICAgIGlmICghc3ltYm9scykKICAgICAgICAgcmV0dXJuOworI2VsaWYg
T1MoV0lORE9XUykKKyAgICBIQU5ETEUgaFByb2MgPSBHZXRDdXJyZW50UHJvY2VzcygpOworICAg
IHVpbnQ4X3Qgc3ltYm9sRGF0YVtzaXplb2YoU1lNQk9MX0lORk8pICsgTUFYX1NZTV9OQU1FICog
c2l6ZW9mKFRDSEFSKV0gPSB7IDAgfTsKKyAgICBhdXRvIHN5bWJvbEluZm8gPSByZWludGVycHJl
dF9jYXN0PFNZTUJPTF9JTkZPKj4oc3ltYm9sRGF0YSk7CisKKyAgICBzeW1ib2xJbmZvLT5TaXpl
T2ZTdHJ1Y3QgPSBzaXplb2YoU1lNQk9MX0lORk8pOworICAgIHN5bWJvbEluZm8tPk1heE5hbWVM
ZW4gPSBNQVhfU1lNX05BTUU7CiAjZW5kaWYKIAogICAgIGlmICghaW5kZW50U3RyaW5nKQpAQCAt
MTI1LDYgKzEzMyw5IEBAIHZvaWQgU3RhY2tUcmFjZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0LCBj
b25zdCBjaGFyKiBpbmRlbnRTdHJpbmcpIGNvbnN0CiAgICAgICAgICAgICBtYW5nbGVkTmFtZSA9
IGRlbWFuZ2xlZC0+bWFuZ2xlZE5hbWUoKTsKICAgICAgICAgICAgIGN4YURlbWFuZ2xlZCA9IGRl
bWFuZ2xlZC0+ZGVtYW5nbGVkTmFtZSgpOwogICAgICAgICB9CisjZWxpZiBPUyhXSU5ET1dTKQor
ICAgICAgICBpZiAoRGJnSGVscGVyOjpTeW1Gcm9tQWRkcmVzcyhoUHJvYywgcmVpbnRlcnByZXRf
Y2FzdDxEV09SRDY0PihzdGFja1tpXSksIDAsIHN5bWJvbEluZm8pKQorICAgICAgICAgICAgbWFu
Z2xlZE5hbWUgPSBzeW1ib2xJbmZvLT5OYW1lOwogI2VuZGlmCiAgICAgICAgIGNvbnN0IGludCBm
cmFtZU51bWJlciA9IGkgKyAxOwogICAgICAgICBpZiAobWFuZ2xlZE5hbWUgfHwgY3hhRGVtYW5n
bGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvd2luL0RiZ0hlbHBlcldpbi5jcHAgYi9T
b3VyY2UvV1RGL3d0Zi93aW4vRGJnSGVscGVyV2luLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMC4uNTU5ZGFhYjJhNGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi93aW4vRGJnSGVscGVyV2luLmNwcApAQCAtMCwwICsxLDcyIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE4IFNvbnkgSW50ZXJhY3RpdmUgRW50ZXJ0YWlubWVudCBJbmMuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgPHd0Zi93aW4vRGJnSGVscGVyV2luLmg+CisKKyNpbmNsdWRl
IDxtdXRleD4KKworbmFtZXNwYWNlIFdURiB7CisKK25hbWVzcGFjZSBEYmdIZWxwZXIgeworCisv
LyBXZSBhcmUgb25seSBjYWxsaW5nIHRoZXNlIERiZ0hlbHAuZGxsIGZ1bmN0aW9ucyBpbiBkZWJ1
ZyBtb2RlIHNpbmNlIHRoZSBsaWJyYXJ5IGlzIG5vdCB0aHJlYWRzYWZlLgorLy8gSXQncyBwb3Nz
aWJsZSBmb3IgZXh0ZXJuYWwgY29kZSB0byBjYWxsIHRoZSBsaWJyYXJ5IGF0IHRoZSBzYW1lIHRp
bWUgYXMgV2ViS2l0IGFuZCBjYXVzZSBtZW1vcnkgY29ycnVwdGlvbi4KKworI2lmICFkZWZpbmVk
KE5ERUJVRykKKworc3RhdGljIExvY2sgY2FsbE11dGV4OworCitzdGF0aWMgdm9pZCBpbml0aWFs
aXplU3ltYm9scyhIQU5ETEUgaFByb2MpCit7CisgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9u
Y2VGbGFnOworICAgIHN0ZDo6Y2FsbF9vbmNlKG9uY2VGbGFnLCBbJl0oKSB7CisgICAgICAgIGlm
ICghU3ltSW5pdGlhbGl6ZShoUHJvYywgbnVsbHB0ciwgVFJVRSkpCisgICAgICAgICAgICBMT0df
RVJST1IoIkZhaWxlZCB0byBpbml0aWFsemUgc3ltYm9sIGluZm9ybWF0aW9uICVkIiwgR2V0TGFz
dEVycm9yKCkpOworICAgIH0pOworfQorCitib29sIFN5bUZyb21BZGRyZXNzKEhBTkRMRSBoUHJv
YywgRFdPUkQ2NCBhZGRyZXNzLCBEV09SRDY0KiBkaXNwbGFjZW1lbnQsIFNZTUJPTF9JTkZPKiBz
eW1ib2xJbmZvKQoreworICAgIExvY2tIb2xkZXIgbG9jayhjYWxsTXV0ZXgpOworICAgIGluaXRp
YWxpemVTeW1ib2xzKGhQcm9jKTsKKworICAgIGJvb2wgc3VjY2VzcyA9IDo6U3ltRnJvbUFkZHIo
aFByb2MsIGFkZHJlc3MsIGRpc3BsYWNlbWVudCwgc3ltYm9sSW5mbyk7CisgICAgaWYgKHN1Y2Nl
c3MpCisgICAgICAgIHN5bWJvbEluZm8tPk5hbWVbc3ltYm9sSW5mby0+TmFtZUxlbl0gPSAnXDAn
OworICAgIHJldHVybiBzdWNjZXNzOworfQorCisjZWxzZQorCitib29sIFN5bUZyb21BZGRyZXNz
KEhBTkRMRSwgRFdPUkQ2NCwgRFdPUkQ2NCosIFNZTUJPTF9JTkZPKikKK3sKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKKyNlbmRpZiAvLyAhZGVmaW5lZChOREVCVUcpCisKK30gLy8gbmFtZXNwYWNl
IERiZ0hlbHBlcgorCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL3dpbi9EYmdIZWxwZXJXaW4uaCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9EYmdIZWxwZXJXaW4u
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMTJkMDEzNDBhZGUKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0Zi93aW4vRGJnSGVscGVyV2luLmgKQEAgLTAs
MCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBTb255IEludGVyYWN0aXZlIEVu
dGVydGFpbm1lbnQgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d2luZG93cy5oPgorI2luY2x1
ZGUgPHd0Zi9Mb2NrLmg+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisKKyNpbmNsdWRl
IDxkYmdoZWxwLmg+CisKK25hbWVzcGFjZSBXVEYgeworCituYW1lc3BhY2UgRGJnSGVscGVyIHsK
KworYm9vbCBTeW1Gcm9tQWRkcmVzcyhIQU5ETEUgaFByb2MsIERXT1JENjQgYWRkcmVzcywgRFdP
UkQ2NCogZGlzcGxhY2VtZW50LCBTWU1CT0xfSU5GTyopOworCit9OworCit9IC8vIG5hbWVzcGFj
ZSBXVEYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353023</attachid>
            <date>2018-10-23 23:35:59 -0700</date>
            <delta_ts>2018-10-24 07:27:22 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-190761-20181023233559.patch</filename>
            <type>text/plain</type>
            <size>8543</size>
            <attacher name="Christopher Reid">chris.reid</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MDk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGQ0NTAxYmVkZTA2MWZmODIwMjk0Njgw
ZjVjMzBmMmIxMjY5ODQ4ZWQuLjY1ZTY2MjliYWFmMDRkYzJlYzE4ZWMwZWEzNWQ3YjVjYmQ1MDdl
ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTgtMTAtMjMgIENocmlzdG9waGVyIFJlaWQgIDxj
aHJpcy5yZWlkQHNvbnkuY29tPgorCisgICAgICAgIFtXaW5dIEFkZCBmdW5jdGlvbiBjYWxsIG5h
bWUgaW5mb3JtYXRpb24gdG8gc3RhY2sgdHJhY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA3NjEKKworICAgICAgICBSZXZpZXdlZCBieSBGdWpp
aSBIaXJvbm9yaS4KKworICAgICAgICBBZGQgc3ltYm9sIGluZm9ybWF0aW9uIHRvIHN0YWNrIHRy
YWNlcyB1c2luZyBkYmdoZWxwLmRsbAorICAgICAgICBUaGlzIGxpYnJhcnkgd2lsbCB1c2Ugc3lt
Ym9scyBmaWxlcyBmcm9tIHRoZXNlIHNvdXJjZXM6CisgICAgICAgICAgICAtIFRoZSBjdXJyZW50
IHdvcmtpbmcgZGlyZWN0b3J5CisgICAgICAgICAgICAtIFRoZSBkaXJlY3RvcnkgY29udGFpbmlu
ZyB0aGUgYXBwbGljYXRpb24ncyBleGVjdXRhYmxlCisgICAgICAgICAgICAtIF9OVF9TWU1CT0xf
UEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZQorICAgICAgICAgICAgLSBfTlRfQUxURVJOQVRFX1NZ
TUJPTF9QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlCisKKyAgICAgICAgVGhpcyBmdW5jdGlvbmFs
aXR5IGlzIGN1cnJlbnRseSBvbmx5IGVuYWJsZWQgaW4gZGVidWcgbW9kZSBzaW5jZSBkYmdoZWxw
IGlzIG5vdCB0aHJlYWRzYWZlLgorICAgICAgICBUaGUgRGJnSGVscGVyIGNsYXNzIGF0dGVtcHRz
IHRvIHN5bmNocm9uaXplIGNhbGxzIHRvIGRiZ2hlbHAuZGxsIGJ1dCBleHRlcm5hbCBjb2RlCisg
ICAgICAgIGNhbiBzdGlsbCBhdHRlbXB0IHRvIGNhbGwgdGhlIGxpYnJhcnkgYXQgdGhlIHNhbWUg
dGltZSBhcyBXZWJLaXQuCisKKyAgICAgICAgKiB3dGYvQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogd3RmL1BsYXRmb3JtV2luLmNtYWtlOgorICAgICAgICAqIHd0Zi9TdGFja1RyYWNlLmNwcDoK
KyAgICAgICAgKiB3dGYvd2luL0RiZ0hlbHBlcldpbi5jcHA6IEFkZGVkLgorICAgICAgICAqIHd0
Zi93aW4vRGJnSGVscGVyV2luLmg6IEFkZGVkLgorCiAyMDE4LTEwLTE1ICBBbGV4IENocmlzdGVu
c2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVXNlIHByYWdtYSBvbmNl
IGluIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAppbmRleCAzZWU1YzQ4ZWJiNTBiZDRkZjZiMzA3OGNk
MzY4ZTQwYTU4YWYzZTQ1Li42ZDNjZWI5NDQ2YjYxYzk0ZGUxNzMzMjAxNWUwMGRkYmZiMjgwNzlh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9DTWFrZUxpc3RzLnR4dApAQCAtNDk5LDYgKzQ5OSw3IEBAIGlmIChXSU4zMikKICAg
ICAgICAgVGhyZWFkaW5nV2luLmNwcAogICAgICkKICAgICBsaXN0KEFQUEVORCBXVEZfTElCUkFS
SUVTCisgICAgICAgIERiZ0hlbHAKICAgICAgICAgd2lubW0KICAgICApCiBlbHNlICgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFrZSBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtV2luLmNtYWtlCmluZGV4IDQ2ODUxOTZjZWE2MmRjMDZkNWJhNjMwMDIxMmMyNzg5
MDkxZTlhZDcuLjVmMjI3NWE1YmRmZjRlOGExZTEzZTZiNzQ2NzhkZDY2NjQ0ZjI5ZjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV2luLmNtYWtlCisrKyBiL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtV2luLmNtYWtlCkBAIC0xLDYgKzEsNyBAQAogbGlzdChBUFBFTkQgV1RGX1BV
QkxJQ19IRUFERVJTCiAgICAgdGV4dC93aW4vV0NoYXJTdHJpbmdFeHRyYXMuaAogCisgICAgd2lu
L0RiZ0hlbHBlcldpbi5oCiAgICAgd2luL0dESU9iamVjdC5oCiAgICAgd2luL1NvZnRMaW5raW5n
LmgKICAgICB3aW4vV2luMzJIYW5kbGUuaApAQCAtMTAsNiArMTEsNyBAQCBsaXN0KEFQUEVORCBX
VEZfU09VUkNFUwogICAgIHRleHQvd2luL1RleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VXaW4u
Y3BwCiAKICAgICB3aW4vQ1BVVGltZVdpbi5jcHAKKyAgICB3aW4vRGJnSGVscGVyV2luLmNwcAog
ICAgIHdpbi9MYW5ndWFnZVdpbi5jcHAKICAgICB3aW4vTWFpblRocmVhZFdpbi5jcHAKICAgICB3
aW4vTWVtb3J5Rm9vdHByaW50V2luLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvU3Rh
Y2tUcmFjZS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9TdGFja1RyYWNlLmNwcAppbmRleCA3YTBkOTlj
NzkyZTUzNDg1ODU5N2FjMzgxNzEyMzgxM2NlYmIyYzYxLi5iZWNmMjJhZTBhYWE1NmE5OWIxMzZh
OTA3M2RkM2NhODAzNDUyNzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9TdGFja1RyYWNl
LmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9TdGFja1RyYWNlLmNwcApAQCAtNDEsNiArNDEsNyBA
QAogCiAjaWYgT1MoV0lORE9XUykKICNpbmNsdWRlIDx3aW5kb3dzLmg+CisjaW5jbHVkZSA8d3Rm
L3dpbi9EYmdIZWxwZXJXaW4uaD4KICNlbmRpZgogCiB2b2lkIFdURkdldEJhY2t0cmFjZSh2b2lk
Kiogc3RhY2ssIGludCogc2l6ZSkKQEAgLTExMCw2ICsxMTEsMTMgQEAgdm9pZCBTdGFja1RyYWNl
OjpkdW1wKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0IGNoYXIqIGluZGVudFN0cmluZykgY29uc3QK
ICAgICBjaGFyKiogc3ltYm9scyA9IGJhY2t0cmFjZV9zeW1ib2xzKHN0YWNrLCBtX3NpemUpOwog
ICAgIGlmICghc3ltYm9scykKICAgICAgICAgcmV0dXJuOworI2VsaWYgT1MoV0lORE9XUykKKyAg
ICBIQU5ETEUgaFByb2MgPSBHZXRDdXJyZW50UHJvY2VzcygpOworICAgIHVpbnQ4X3Qgc3ltYm9s
RGF0YVtzaXplb2YoU1lNQk9MX0lORk8pICsgTUFYX1NZTV9OQU1FICogc2l6ZW9mKFRDSEFSKV0g
PSB7IDAgfTsKKyAgICBhdXRvIHN5bWJvbEluZm8gPSByZWludGVycHJldF9jYXN0PFNZTUJPTF9J
TkZPKj4oc3ltYm9sRGF0YSk7CisKKyAgICBzeW1ib2xJbmZvLT5TaXplT2ZTdHJ1Y3QgPSBzaXpl
b2YoU1lNQk9MX0lORk8pOworICAgIHN5bWJvbEluZm8tPk1heE5hbWVMZW4gPSBNQVhfU1lNX05B
TUU7CiAjZW5kaWYKIAogICAgIGlmICghaW5kZW50U3RyaW5nKQpAQCAtMTI1LDYgKzEzMyw5IEBA
IHZvaWQgU3RhY2tUcmFjZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0LCBjb25zdCBjaGFyKiBpbmRl
bnRTdHJpbmcpIGNvbnN0CiAgICAgICAgICAgICBtYW5nbGVkTmFtZSA9IGRlbWFuZ2xlZC0+bWFu
Z2xlZE5hbWUoKTsKICAgICAgICAgICAgIGN4YURlbWFuZ2xlZCA9IGRlbWFuZ2xlZC0+ZGVtYW5n
bGVkTmFtZSgpOwogICAgICAgICB9CisjZWxpZiBPUyhXSU5ET1dTKQorICAgICAgICBpZiAoRGJn
SGVscGVyOjpTeW1Gcm9tQWRkcmVzcyhoUHJvYywgcmVpbnRlcnByZXRfY2FzdDxEV09SRDY0Pihz
dGFja1tpXSksIDAsIHN5bWJvbEluZm8pKQorICAgICAgICAgICAgbWFuZ2xlZE5hbWUgPSBzeW1i
b2xJbmZvLT5OYW1lOwogI2VuZGlmCiAgICAgICAgIGNvbnN0IGludCBmcmFtZU51bWJlciA9IGkg
KyAxOwogICAgICAgICBpZiAobWFuZ2xlZE5hbWUgfHwgY3hhRGVtYW5nbGVkKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvd2luL0RiZ0hlbHBlcldpbi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi93
aW4vRGJnSGVscGVyV2luLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NTlkYWFiMmE0YWI0ODU1YjNjNjRiOGZk
MmQ2ZTBlN2YwZWIzMDNmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvd2luL0Ri
Z0hlbHBlcldpbi5jcHAKQEAgLTAsMCArMSw3MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
OCBTb255IEludGVyYWN0aXZlIEVudGVydGFpbm1lbnQgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlIDx3dGYvd2luL0RiZ0hlbHBlcldpbi5oPgorCisjaW5jbHVkZSA8bXV0ZXg+CisKK25h
bWVzcGFjZSBXVEYgeworCituYW1lc3BhY2UgRGJnSGVscGVyIHsKKworLy8gV2UgYXJlIG9ubHkg
Y2FsbGluZyB0aGVzZSBEYmdIZWxwLmRsbCBmdW5jdGlvbnMgaW4gZGVidWcgbW9kZSBzaW5jZSB0
aGUgbGlicmFyeSBpcyBub3QgdGhyZWFkc2FmZS4KKy8vIEl0J3MgcG9zc2libGUgZm9yIGV4dGVy
bmFsIGNvZGUgdG8gY2FsbCB0aGUgbGlicmFyeSBhdCB0aGUgc2FtZSB0aW1lIGFzIFdlYktpdCBh
bmQgY2F1c2UgbWVtb3J5IGNvcnJ1cHRpb24uCisKKyNpZiAhZGVmaW5lZChOREVCVUcpCisKK3N0
YXRpYyBMb2NrIGNhbGxNdXRleDsKKworc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVN5bWJvbHMoSEFO
RExFIGhQcm9jKQoreworICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNlRmxhZzsKKyAgICBz
dGQ6OmNhbGxfb25jZShvbmNlRmxhZywgWyZdKCkgeworICAgICAgICBpZiAoIVN5bUluaXRpYWxp
emUoaFByb2MsIG51bGxwdHIsIFRSVUUpKQorICAgICAgICAgICAgTE9HX0VSUk9SKCJGYWlsZWQg
dG8gaW5pdGlhbHplIHN5bWJvbCBpbmZvcm1hdGlvbiAlZCIsIEdldExhc3RFcnJvcigpKTsKKyAg
ICB9KTsKK30KKworYm9vbCBTeW1Gcm9tQWRkcmVzcyhIQU5ETEUgaFByb2MsIERXT1JENjQgYWRk
cmVzcywgRFdPUkQ2NCogZGlzcGxhY2VtZW50LCBTWU1CT0xfSU5GTyogc3ltYm9sSW5mbykKK3sK
KyAgICBMb2NrSG9sZGVyIGxvY2soY2FsbE11dGV4KTsKKyAgICBpbml0aWFsaXplU3ltYm9scyho
UHJvYyk7CisKKyAgICBib29sIHN1Y2Nlc3MgPSA6OlN5bUZyb21BZGRyKGhQcm9jLCBhZGRyZXNz
LCBkaXNwbGFjZW1lbnQsIHN5bWJvbEluZm8pOworICAgIGlmIChzdWNjZXNzKQorICAgICAgICBz
eW1ib2xJbmZvLT5OYW1lW3N5bWJvbEluZm8tPk5hbWVMZW5dID0gJ1wwJzsKKyAgICByZXR1cm4g
c3VjY2VzczsKK30KKworI2Vsc2UKKworYm9vbCBTeW1Gcm9tQWRkcmVzcyhIQU5ETEUsIERXT1JE
NjQsIERXT1JENjQqLCBTWU1CT0xfSU5GTyopCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCisj
ZW5kaWYgLy8gIWRlZmluZWQoTkRFQlVHKQorCit9IC8vIG5hbWVzcGFjZSBEYmdIZWxwZXIKKwor
fSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi93aW4vRGJnSGVs
cGVyV2luLmggYi9Tb3VyY2UvV1RGL3d0Zi93aW4vRGJnSGVscGVyV2luLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTJkMDEzNDBhZGUxOWY5NmZjZmUwOTk5MTg4OGZlZjg0NjQ5Y2I4YwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XVEYvd3RmL3dpbi9EYmdIZWxwZXJXaW4uaApAQCAtMCwwICsxLDQxIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE4IFNvbnkgSW50ZXJhY3RpdmUgRW50ZXJ0YWlubWVudCBJ
bmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBB
TkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
KyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3aW5kb3dzLmg+CisjaW5jbHVkZSA8d3RmL0xvY2su
aD4KKyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKworI2luY2x1ZGUgPGRiZ2hlbHAuaD4K
KworbmFtZXNwYWNlIFdURiB7CisKK25hbWVzcGFjZSBEYmdIZWxwZXIgeworCitib29sIFN5bUZy
b21BZGRyZXNzKEhBTkRMRSBoUHJvYywgRFdPUkQ2NCBhZGRyZXNzLCBEV09SRDY0KiBkaXNwbGFj
ZW1lbnQsIFNZTUJPTF9JTkZPKik7CisKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>