<?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>216131</bug_id>
          
          <creation_ts>2020-09-03 10:59:53 -0700</creation_ts>
          <short_desc>Webpages flash when getting closed</short_desc>
          <delta_ts>2020-09-18 10:53:04 -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="Sihui Liu">sihui_liu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1685350</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-09-03 10:59:53 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685375</commentid>
    <comment_count>1</comment_count>
      <attachid>407904</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-09-03 11:42:40 -0700</bug_when>
    <thetext>Created attachment 407904
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685451</commentid>
    <comment_count>2</comment_count>
      <attachid>407918</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-09-03 14:54:48 -0700</bug_when>
    <thetext>Created attachment 407918
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685712</commentid>
    <comment_count>3</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-09-04 09:44:09 -0700</bug_when>
    <thetext>Looks like the bots are Okay, not sure if this would cause other issues. Put it up for review to collect some feedbacks on this approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685763</commentid>
    <comment_count>4</comment_count>
      <attachid>407918</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-09-04 11:09:58 -0700</bug_when>
    <thetext>Comment on attachment 407918
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:490
&gt; +void WebPageProxy::deferSendingCloseMessage()

Gonna need Chris or someone to weigh in on the actual change, but...

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1126
&gt; +#if PLATFORM(COCOA)

...I don&apos;t think this is the kind of behavior that should differ between platforms. Can we just do it globally?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685764</commentid>
    <comment_count>5</comment_count>
      <attachid>407918</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-09-04 11:10:15 -0700</bug_when>
    <thetext>Comment on attachment 407918
Patch

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

&gt; Source/WebKit/ChangeLog:8
&gt; +        Defer sending close message to next runloop cycle.

Also, this needs way more words :D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685827</commentid>
    <comment_count>6</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-09-04 13:15:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/62264106&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685828</commentid>
    <comment_count>7</comment_count>
      <attachid>408012</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-09-04 13:16:06 -0700</bug_when>
    <thetext>Created attachment 408012
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685834</commentid>
    <comment_count>8</comment_count>
      <attachid>408014</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-09-04 13:24:38 -0700</bug_when>
    <thetext>Created attachment 408014
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685841</commentid>
    <comment_count>9</comment_count>
      <attachid>408014</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-09-04 13:39:05 -0700</bug_when>
    <thetext>Comment on attachment 408014
Patch

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

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1070
&gt; +void WebPageProxy::deferSendingCloseMessage()

I would name this &quot;sendCloseMessageSoon&quot;. But also -- let&apos;s just inline this into the caller, since it&apos;s only a little code, and it has only one use.

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1072
&gt; +    RunLoop::current().dispatch([destinationID = messageSenderDestinationID(), protectedProcess = m_process.copyRef()] {

I think it&apos;s worth a comment here. Something like: &quot;Delay the close message until after the UI process has a chance to commit the current RunLoop&apos;s CA transaction; otherwise, the WebContent process can race and commit a flash of white, even after the application has removed the WebView from the view hierarchy.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685852</commentid>
    <comment_count>10</comment_count>
      <attachid>408023</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-09-04 14:15:06 -0700</bug_when>
    <thetext>Created attachment 408023
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686553</commentid>
    <comment_count>11</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-09-08 07:53:07 -0700</bug_when>
    <thetext>Delaying one runloop cycle may not be enough, ideally the page should be closed after transaction is committed, which can be many cycles later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686594</commentid>
    <comment_count>12</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-09-08 09:51:25 -0700</bug_when>
    <thetext>(In reply to Sihui Liu from comment #11)
&gt; Delaying one runloop cycle may not be enough, ideally the page should be
&gt; closed after transaction is committed, which can be many cycles later.

How‽ It can be at most the next runloop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686608</commentid>
    <comment_count>13</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-09-08 10:15:15 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #12)
&gt; (In reply to Sihui Liu from comment #11)
&gt; &gt; Delaying one runloop cycle may not be enough, ideally the page should be
&gt; &gt; closed after transaction is committed, which can be many cycles later.
&gt; 
&gt; How‽ It can be at most the next runloop.

Discovered this when debugging https://bugs.webkit.org/show_bug.cgi?id=216258. The transaction is not committed until a few cycles later. IIUC, AppKit can disable the CA commit observer and uses their own commit observer, which is time-based. I am not sure if it is at most one cycle if the page close is caused by object getting released though :|</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686754</commentid>
    <comment_count>14</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-09-08 14:47:18 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #12)
&gt; (In reply to Sihui Liu from comment #11)
&gt; &gt; Delaying one runloop cycle may not be enough, ideally the page should be
&gt; &gt; closed after transaction is committed, which can be many cycles later.
&gt; 
&gt; How‽ It can be at most the next runloop.

Amazing. I (incorrectly) thought the same!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686760</commentid>
    <comment_count>15</comment_count>
      <attachid>408023</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-09-08 15:03:36 -0700</bug_when>
    <thetext>Comment on attachment 408023
Patch

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

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1128
&gt; +    // WebView from the view hierachy.

s/hierachy/hierarchy/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687423</commentid>
    <comment_count>16</comment_count>
      <attachid>408023</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-10 10:07:27 -0700</bug_when>
    <thetext>Comment on attachment 408023
Patch

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

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1133
&gt;      m_process-&gt;removeWebPage(*this, WebProcessProxy::EndsUsingDataStore::Yes);

As soon as this code run, the process will either:
1. Shutdown because no other page is using the process
2. Keep running because other pages are using the process
3. Keep running but enter the process cache, if the process is cacheable and the cache is enabled (default on macOS).

In case 2, your code likely works as expected. In case 3, which is probably the common case, your code likely works too but it is new behavior to have a process in the process cache that may still have a WebPage inside it.
In case 1 though (which you can likely reproduce by disabling the process cache and making sure the process is only used by your current page), the process would exit right away. Wouldn&apos;t this mean that you fix does nothing in this case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687431</commentid>
    <comment_count>17</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-09-10 10:18:46 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #16)
&gt; Comment on attachment 408023 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=408023&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1133
&gt; &gt;      m_process-&gt;removeWebPage(*this, WebProcessProxy::EndsUsingDataStore::Yes);
&gt; 
&gt; As soon as this code run, the process will either:
&gt; 1. Shutdown because no other page is using the process
&gt; 2. Keep running because other pages are using the process
&gt; 3. Keep running but enter the process cache, if the process is cacheable and
&gt; the cache is enabled (default on macOS).
&gt; 
&gt; In case 2, your code likely works as expected. In case 3, which is probably
&gt; the common case, your code likely works too but it is new behavior to have a
&gt; process in the process cache that may still have a WebPage inside it.
&gt; In case 1 though (which you can likely reproduce by disabling the process
&gt; cache and making sure the process is only used by your current page), the
&gt; process would exit right away. Wouldn&apos;t this mean that you fix does nothing
&gt; in this case?

You mean web process will exit after receiving this message or after sending this message? Either seems Okay because we just need UI process to commit view hierarchy change before this. 

Our current issue is transaction is committed in UI process at the end of a runloop cycle (or even later), and this message can be received by web process before UI process reaches to the commit point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687434</commentid>
    <comment_count>18</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-10 10:25:56 -0700</bug_when>
    <thetext>(In reply to Sihui Liu from comment #17)
&gt; (In reply to Chris Dumez from comment #16)
&gt; &gt; Comment on attachment 408023 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=408023&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1133
&gt; &gt; &gt;      m_process-&gt;removeWebPage(*this, WebProcessProxy::EndsUsingDataStore::Yes);
&gt; &gt; 
&gt; &gt; As soon as this code run, the process will either:
&gt; &gt; 1. Shutdown because no other page is using the process
&gt; &gt; 2. Keep running because other pages are using the process
&gt; &gt; 3. Keep running but enter the process cache, if the process is cacheable and
&gt; &gt; the cache is enabled (default on macOS).
&gt; &gt; 
&gt; &gt; In case 2, your code likely works as expected. In case 3, which is probably
&gt; &gt; the common case, your code likely works too but it is new behavior to have a
&gt; &gt; process in the process cache that may still have a WebPage inside it.
&gt; &gt; In case 1 though (which you can likely reproduce by disabling the process
&gt; &gt; cache and making sure the process is only used by your current page), the
&gt; &gt; process would exit right away. Wouldn&apos;t this mean that you fix does nothing
&gt; &gt; in this case?
&gt; 
&gt; You mean web process will exit after receiving this message or after sending
&gt; this message? Either seems Okay because we just need UI process to commit
&gt; view hierarchy change before this. 
&gt; 
&gt; Our current issue is transaction is committed in UI process at the end of a
&gt; runloop cycle (or even later), and this message can be received by web
&gt; process before UI process reaches to the commit point.

You are saying that it is not OK for the WebProcess to receive the Close IPC *before* the next event loop iteration. But WHY is it OK for the WebProcess to terminate before the next loop iteration?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687445</commentid>
    <comment_count>19</comment_count>
      <attachid>408023</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-09-10 10:32:37 -0700</bug_when>
    <thetext>Comment on attachment 408023
Patch

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

&gt;&gt;&gt;&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1133
&gt;&gt;&gt;&gt;      m_process-&gt;removeWebPage(*this, WebProcessProxy::EndsUsingDataStore::Yes);
&gt;&gt;&gt; 
&gt;&gt;&gt; As soon as this code run, the process will either:
&gt;&gt;&gt; 1. Shutdown because no other page is using the process
&gt;&gt;&gt; 2. Keep running because other pages are using the process
&gt;&gt;&gt; 3. Keep running but enter the process cache, if the process is cacheable and the cache is enabled (default on macOS).
&gt;&gt;&gt; 
&gt;&gt;&gt; In case 2, your code likely works as expected. In case 3, which is probably the common case, your code likely works too but it is new behavior to have a process in the process cache that may still have a WebPage inside it.
&gt;&gt;&gt; In case 1 though (which you can likely reproduce by disabling the process cache and making sure the process is only used by your current page), the process would exit right away. Wouldn&apos;t this mean that you fix does nothing in this case?
&gt;&gt; 
&gt;&gt; You mean web process will exit after receiving this message or after sending this message? Either seems Okay because we just need UI process to commit view hierarchy change before this. 
&gt;&gt; 
&gt;&gt; Our current issue is transaction is committed in UI process at the end of a runloop cycle (or even later), and this message can be received by web process before UI process reaches to the commit point.
&gt; 
&gt; You are saying that it is not OK for the WebProcess to receive the Close IPC *before* the next event loop iteration. But WHY is it OK for the WebProcess to terminate before the next loop iteration?

oh I looked at the wrong line! You were talking about the removePage line and WebProcess maybeShutDown(). Does it sound reasonable to extend the lifetime of web process by asking for no shutdown until the the message is sent?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687450</commentid>
    <comment_count>20</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-10 10:39:10 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #18)
&gt; (In reply to Sihui Liu from comment #17)
&gt; &gt; (In reply to Chris Dumez from comment #16)
&gt; &gt; &gt; Comment on attachment 408023 [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; View in context:
&gt; &gt; &gt; https://bugs.webkit.org/attachment.cgi?id=408023&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1133
&gt; &gt; &gt; &gt;      m_process-&gt;removeWebPage(*this, WebProcessProxy::EndsUsingDataStore::Yes);
&gt; &gt; &gt; 
&gt; &gt; &gt; As soon as this code run, the process will either:
&gt; &gt; &gt; 1. Shutdown because no other page is using the process
&gt; &gt; &gt; 2. Keep running because other pages are using the process
&gt; &gt; &gt; 3. Keep running but enter the process cache, if the process is cacheable and
&gt; &gt; &gt; the cache is enabled (default on macOS).
&gt; &gt; &gt; 
&gt; &gt; &gt; In case 2, your code likely works as expected. In case 3, which is probably
&gt; &gt; &gt; the common case, your code likely works too but it is new behavior to have a
&gt; &gt; &gt; process in the process cache that may still have a WebPage inside it.
&gt; &gt; &gt; In case 1 though (which you can likely reproduce by disabling the process
&gt; &gt; &gt; cache and making sure the process is only used by your current page), the
&gt; &gt; &gt; process would exit right away. Wouldn&apos;t this mean that you fix does nothing
&gt; &gt; &gt; in this case?
&gt; &gt; 
&gt; &gt; You mean web process will exit after receiving this message or after sending
&gt; &gt; this message? Either seems Okay because we just need UI process to commit
&gt; &gt; view hierarchy change before this. 
&gt; &gt; 
&gt; &gt; Our current issue is transaction is committed in UI process at the end of a
&gt; &gt; runloop cycle (or even later), and this message can be received by web
&gt; &gt; process before UI process reaches to the commit point.
&gt; 
&gt; You are saying that it is not OK for the WebProcess to receive the Close IPC
&gt; *before* the next event loop iteration. But WHY is it OK for the WebProcess
&gt; to terminate before the next loop iteration?

Note that you can delay the process exit by relying WebProcessProxy::makeScopePreventingShutdown() but it will likely need some modifications so that it can be captured in a lambda.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687462</commentid>
    <comment_count>21</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-09-10 10:55:13 -0700</bug_when>
    <thetext>&gt; Does it sound reasonable to extend the
&gt; lifetime of web process by asking for no shutdown until the the message is
&gt; sent?

Yes, I think it&apos;s reasonable. Or at least, equivalent behavior is reasonable. We are asking the web process not to shutdown because we are still using its tiles to render our view. At least in our current architecture, where tiles are owned by the web process, I can&apos;t think of any other way to express the behavior we want.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687473</commentid>
    <comment_count>22</comment_count>
      <attachid>408463</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-09-10 11:22:47 -0700</bug_when>
    <thetext>Created attachment 408463
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687477</commentid>
    <comment_count>23</comment_count>
      <attachid>408463</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-10 11:27:51 -0700</bug_when>
    <thetext>Comment on attachment 408463
Patch

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

&gt; Source/WebKit/UIProcess/WebProcessProxy.h:297
&gt; +    class ScopePreventingShutdown : public RefCounted&lt;ScopePreventingShutdown&gt; {

I this point, I would recommend replacing WebProcessProxy::m_shutdownPreventingScopeCount with a RefCounter (see existing code for examples), then we would not need this ScopePreventingShutdown class at all.

&gt; Source/WebKit/UIProcess/WebProcessProxy.h:-316
&gt; -    ScopePreventingShutdown makeScopePreventingShutdown() { return ScopePreventingShutdown { *this }; }

I think it looks nicer with a convenience getter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687489</commentid>
    <comment_count>24</comment_count>
      <attachid>408466</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-09-10 12:06:59 -0700</bug_when>
    <thetext>Created attachment 408466
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687491</commentid>
    <comment_count>25</comment_count>
      <attachid>408466</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-10 12:13:28 -0700</bug_when>
    <thetext>Comment on attachment 408466
Patch

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

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1160
&gt; +    RunLoop::current().dispatch([destinationID = messageSenderDestinationID(), protectedProcess = m_process.copyRef(), token = m_process-&gt;shutdownPreventingScopeCount()] {

token is too generic. Maybe preventShutdownScope?

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:3322
&gt; +            auto preventNavigationProcessShutdownToken = processForNavigation-&gt;shutdownPreventingScopeCount();

I don&apos;t think we need to add this Token suffix.

&gt; Source/WebKit/UIProcess/WebProcessProxy.cpp:204
&gt; +    , m_shutdownPreventingScopeCounter([this](RefCounterEvent) { maybeShutDown(); })

if (event == RefCounterEvent::decrement) maybeShutDown();

&gt; Source/WebKit/UIProcess/WebProcessProxy.h:298
&gt; +    typedef RefCounter&lt;ShutdownPreventingScopeType&gt; ShutdownPreventingScopeCounter;

using ShutdownPreventingScopeCounter = RefCounter&lt;ShutdownPreventingScopeType&gt;;

&gt; Source/WebKit/UIProcess/WebProcessProxy.h:299
&gt; +    ShutdownPreventingScopeCounter::Token shutdownPreventingScopeCount() { return m_shutdownPreventingScopeCounter.count(); }

I would call this shutdownPreventingScope(), I don&apos;t think &quot;count&quot; is helpful here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687503</commentid>
    <comment_count>26</comment_count>
      <attachid>408468</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-09-10 12:38:34 -0700</bug_when>
    <thetext>Created attachment 408468
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689846</commentid>
    <comment_count>27</comment_count>
      <attachid>409142</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-09-18 10:24:47 -0700</bug_when>
    <thetext>Created attachment 409142
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689865</commentid>
    <comment_count>28</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-18 10:53:03 -0700</bug_when>
    <thetext>Committed r267250: &lt;https://trac.webkit.org/changeset/267250&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 409142.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407904</attachid>
            <date>2020-09-03 11:42:40 -0700</date>
            <delta_ts>2020-09-03 14:54:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216131-20200903114239.patch</filename>
            <type>text/plain</type>
            <size>4583</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDczYTcwZTExMWEzZjBlMmRl
NDYwNTU0MjQ4MWI4ZjdiYTlhNjFmZTUuLjViZDdjYjMwNGVhNWM2YjVkNDRmZjAzNzUyMzBmZjA4
OTQxZGE1M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjAtMDktMDMgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgV2VicGFnZXMgZmxhc2ggd2hlbiBn
ZXR0aW5nIGNsb3NlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE2MTMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRGVmZXIgc2VuZGluZyBjbG9zZSBtZXNzYWdlIHRvIG5leHQgcnVubG9vcCBjeWNsZS4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAo
LVtXS1dlYlZpZXcgZGVhbGxvY10pOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdl
UHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkZWZlclNlbmRp
bmdDbG9zZU1lc3NhZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5t
bToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6On5XZWJWaWV3SW1wbCk6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6Y2xvc2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKwogMjAy
MC0wOS0wMiAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZW1vdmUgY3VzdG9tIGRvbWFpbiBmcm9tIFNhbWVTaXRlPXN0cmljdCBqYWlsIHByb3RlY3Rpb24K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4
IGNlNTE0YjkyMTFjNDhhNjI4YmE3YzZiNmNmZDU1MjBlNTk4YTYyZWYuLmY2MTg5NGVjZmY1YThk
MjI0OTM3NzAwMjZhYjQ4MTc3YWZmYzU5N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtNTkwLDkgKzU5MCw2IEBAIHN0YXRpYyB2b2lk
IGhhcmR3YXJlS2V5Ym9hcmRBdmFpbGFiaWxpdHlDaGFuZ2VkQ2FsbGJhY2soQ0ZOb3RpZmljYXRp
b25DZW50ZXJSZWYsCiAgICAgICAgIF9wYWdlLT5wcm9jZXNzKCkucHJvY2Vzc1Bvb2woKS5yZW1v
dmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZU9iamVjdFJlZ2lzdHJ5OjptZXNzYWdl
UmVjZWl2ZXJOYW1lKCksIF9wYWdlLT5pZGVudGlmaWVyKCkpOwogI2VuZGlmCiAKLSAgICBpZiAo
X3BhZ2UpCi0gICAgICAgIF9wYWdlLT5jbG9zZSgpOwotCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKICAgICBbX3JlbW90ZU9iamVjdFJlZ2lzdHJ5IF9pbnZhbGlkYXRlXTsKICAgICBbW19jb25m
aWd1cmF0aW9uIF9jb250ZW50UHJvdmlkZXJSZWdpc3RyeV0gcmVtb3ZlUGFnZToqX3BhZ2VdOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29j
b2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5t
bQppbmRleCA0ZDRmODg3ZWRjOTViMWVkNTc1NzQwZjE5OGJiZTYyYmM2MzNjZWE1Li4yZDM1ODA2
ZGMxM2VmZjRjNzU4NjQzNGI5MWNjOWMzODVlZmM0YThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpAQCAtNDg3LDYgKzQ4Nywx
MyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFRodW1ibmFpbFdpdGhQYXRoKGNvbnN0IFN0
cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaQogCiAjZW5kaWYgLy8gSEFWRShRVUlDS0xPT0tf
VEhVTUJOQUlMSU5HKQogCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGVmZXJTZW5kaW5nQ2xvc2VNZXNz
YWdlKCkKK3sKKyAgICBSdW5Mb29wOjpjdXJyZW50KCkuZGlzcGF0Y2goW2Rlc3RpbmF0aW9uSUQg
PSBtZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpLCBwcm90ZWN0ZWRQcm9jZXNzID0gbV9wcm9j
ZXNzLmNvcHlSZWYoKV0geworICAgICAgICBwcm90ZWN0ZWRQcm9jZXNzLT5zZW5kKE1lc3NhZ2Vz
OjpXZWJQYWdlOjpDbG9zZSgpLCBkZXN0aW5hdGlvbklEKTsKKyAgICB9KTsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KaW5kZXggYmMwOTUxNjg5
YTk3ZDNhN2IwYWM0NDEwMDdhN2ZlNmZhZGFlNDhlYy4uZWI5NDJjMWQxNmU5MTU0NDUzZDAyOWYy
NzJhMzY0ZGVlMDk3YmExNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViVmlld0ltcGwubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
Vmlld0ltcGwubW0KQEAgLTE0NzcsOCArMTQ3Nyw2IEBAIFdlYlZpZXdJbXBsOjp+V2ViVmlld0lt
cGwoKQogICAgICAgICBtX3RhcmdldFdpbmRvd0Zvck1vdmVQcmVwYXJhdGlvbiA9IG5pbDsKICAg
ICB9CiAKLSAgICBtX3BhZ2UtPmNsb3NlKCk7Ci0KICAgICBXZWJQcm9jZXNzUG9vbDo6c3RhdGlz
dGljcygpLndrVmlld0NvdW50LS07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCmluZGV4IDVlMDI0MzJiNDc5ZTZjMjY5YmMwN2VmODYwODM1MTMxZDgwZmUxN2Eu
Ljk1ZDY3MjVhM2FmYTVlMzUyN2Y0NDA0OTk2YjNhNGEzY2MyZjQ5MDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTEyMyw3ICsxMTIzLDEyIEBAIHZvaWQg
V2ViUGFnZVByb3h5OjpjbG9zZSgpCiAKICAgICBtX3Byb2Nlc3MtPnByb2Nlc3NQb29sKCkuYmFj
a0ZvcndhcmRDYWNoZSgpLnJlbW92ZUVudHJpZXNGb3JQYWdlKCp0aGlzKTsKIAorI2lmIFBMQVRG
T1JNKENPQ09BKQorICAgIGRlZmVyU2VuZGluZ0Nsb3NlTWVzc2FnZSgpOworI2Vsc2UKICAgICBz
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpDbG9zZSgpKTsKKyNlbmRpZgorCiAgICAgbV9wcm9jZXNz
LT5yZW1vdmVXZWJQYWdlKCp0aGlzLCBXZWJQcm9jZXNzUHJveHk6OkVuZHNVc2luZ0RhdGFTdG9y
ZTo6WWVzKTsKICAgICBtX3Byb2Nlc3MtPnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6
V2ViUGFnZVByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFnZUlEKTsKICAgICBt
X3Byb2Nlc3MtPnByb2Nlc3NQb29sKCkuc3VwcGxlbWVudDxXZWJOb3RpZmljYXRpb25NYW5hZ2Vy
UHJveHk+KCktPmNsZWFyTm90aWZpY2F0aW9ucyh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKaW5kZXggZjNkM2NiMmIyNDNhNTZjMDg0NjkwZDBlOGNlOTA1ZDQ4OTg0
YTA4My4uZGRkODJjODkzZDllMjJjNjQxZTY2NzkzMzMyOTFiMDQ4Y2Q5MzQ0MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTg5OCw2ICs4OTgsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXRTY3JvbGxQZXJmb3JtYW5jZURhdGFDb2xsZWN0aW9uRW5hYmxlZChib29s
KTsKICAgICBib29sIHNjcm9sbFBlcmZvcm1hbmNlRGF0YUNvbGxlY3Rpb25FbmFibGVkKCkgY29u
c3QgeyByZXR1cm4gbV9zY3JvbGxQZXJmb3JtYW5jZURhdGFDb2xsZWN0aW9uRW5hYmxlZDsgfQog
ICAgIFJlbW90ZUxheWVyVHJlZVNjcm9sbGluZ1BlcmZvcm1hbmNlRGF0YSogc2Nyb2xsaW5nUGVy
Zm9ybWFuY2VEYXRhKCkgeyByZXR1cm4gbV9zY3JvbGxpbmdQZXJmb3JtYW5jZURhdGEuZ2V0KCk7
IH0KKworICAgIHZvaWQgZGVmZXJTZW5kaW5nQ2xvc2VNZXNzYWdlKCk7CiAjZW5kaWYgLy8gUExB
VEZPUk0oQ09DT0EpCiAKICAgICB2b2lkIGNoYW5nZUZvbnRBdHRyaWJ1dGVzKFdlYkNvcmU6OkZv
bnRBdHRyaWJ1dGVDaGFuZ2VzJiYpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407918</attachid>
            <date>2020-09-03 14:54:48 -0700</date>
            <delta_ts>2020-09-04 13:16:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216131-20200903145447.patch</filename>
            <type>text/plain</type>
            <size>3187</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDczYTcwZTExMWEzZjBlMmRl
NDYwNTU0MjQ4MWI4ZjdiYTlhNjFmZTUuLjNmNzJhNzhlMDcxNGQxZjQ2NGY4YjU3NmQ4MGMzM2E5
ZmUzYTI1ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjAtMDktMDMgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgV2VicGFnZXMgZmxhc2ggd2hlbiBn
ZXR0aW5nIGNsb3NlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE2MTMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRGVmZXIgc2VuZGluZyBjbG9zZSBtZXNzYWdlIHRvIG5leHQgcnVubG9vcCBjeWNsZS4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkZWZlclNlbmRpbmdDbG9zZU1lc3NhZ2UpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlUHJveHk6OmNsb3NlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisK
IDIwMjAtMDktMDIgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmVtb3ZlIGN1c3RvbSBkb21haW4gZnJvbSBTYW1lU2l0ZT1zdHJpY3QgamFpbCBwcm90ZWN0
aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJv
eHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNv
Y29hLm1tCmluZGV4IDRkNGY4ODdlZGM5NWIxZWQ1NzU3NDBmMTk4YmJlNjJiYzYzM2NlYTUuLjJk
MzU4MDZkYzEzZWZmNGM3NTg2NDM0YjkxY2M5YzM4NWVmYzRhOGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCkBAIC00ODcsNiAr
NDg3LDEzIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0VGh1bWJuYWlsV2l0aFBhdGgoY29u
c3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpCiAKICNlbmRpZiAvLyBIQVZFKFFVSUNL
TE9PS19USFVNQk5BSUxJTkcpCiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpkZWZlclNlbmRpbmdDbG9z
ZU1lc3NhZ2UoKQoreworICAgIFJ1bkxvb3A6OmN1cnJlbnQoKS5kaXNwYXRjaChbZGVzdGluYXRp
b25JRCA9IG1lc3NhZ2VTZW5kZXJEZXN0aW5hdGlvbklEKCksIHByb3RlY3RlZFByb2Nlc3MgPSBt
X3Byb2Nlc3MuY29weVJlZigpXSB7CisgICAgICAgIHByb3RlY3RlZFByb2Nlc3MtPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2U6OkNsb3NlKCksIGRlc3RpbmF0aW9uSUQpOworICAgIH0pOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNWUwMjQzMmI0Nzll
NmMyNjliYzA3ZWY4NjA4MzUxMzFkODBmZTE3YS4uOTVkNjcyNWEzYWZhNWUzNTI3ZjQ0MDQ5OTZi
M2E0YTNjYzJmNDkwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CkBAIC0xMTIzLDcgKzExMjMsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNsb3NlKCkKIAogICAg
IG1fcHJvY2Vzcy0+cHJvY2Vzc1Bvb2woKS5iYWNrRm9yd2FyZENhY2hlKCkucmVtb3ZlRW50cmll
c0ZvclBhZ2UoKnRoaXMpOwogCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgZGVmZXJTZW5kaW5n
Q2xvc2VNZXNzYWdlKCk7CisjZWxzZQogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNsb3Nl
KCkpOworI2VuZGlmCisKICAgICBtX3Byb2Nlc3MtPnJlbW92ZVdlYlBhZ2UoKnRoaXMsIFdlYlBy
b2Nlc3NQcm94eTo6RW5kc1VzaW5nRGF0YVN0b3JlOjpZZXMpOwogICAgIG1fcHJvY2Vzcy0+cmVt
b3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Om1lc3NhZ2VSZWNlaXZl
ck5hbWUoKSwgbV93ZWJQYWdlSUQpOwogICAgIG1fcHJvY2Vzcy0+cHJvY2Vzc1Bvb2woKS5zdXBw
bGVtZW50PFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eT4oKS0+Y2xlYXJOb3RpZmljYXRpb25z
KHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBmM2QzY2Iy
YjI0M2E1NmMwODQ2OTBkMGU4Y2U5MDVkNDg5ODRhMDgzLi5kZGQ4MmM4OTNkOWUyMmM2NDFlNjY3
OTMzMzI5MWIwNDhjZDkzNDQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aApAQCAtODk4LDYgKzg5OCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNjcm9sbFBlcmZvcm1h
bmNlRGF0YUNvbGxlY3Rpb25FbmFibGVkKGJvb2wpOwogICAgIGJvb2wgc2Nyb2xsUGVyZm9ybWFu
Y2VEYXRhQ29sbGVjdGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbFBlcmZvcm1h
bmNlRGF0YUNvbGxlY3Rpb25FbmFibGVkOyB9CiAgICAgUmVtb3RlTGF5ZXJUcmVlU2Nyb2xsaW5n
UGVyZm9ybWFuY2VEYXRhKiBzY3JvbGxpbmdQZXJmb3JtYW5jZURhdGEoKSB7IHJldHVybiBtX3Nj
cm9sbGluZ1BlcmZvcm1hbmNlRGF0YS5nZXQoKTsgfQorCisgICAgdm9pZCBkZWZlclNlbmRpbmdD
bG9zZU1lc3NhZ2UoKTsKICNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkKIAogICAgIHZvaWQgY2hh
bmdlRm9udEF0dHJpYnV0ZXMoV2ViQ29yZTo6Rm9udEF0dHJpYnV0ZUNoYW5nZXMmJik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408012</attachid>
            <date>2020-09-04 13:16:06 -0700</date>
            <delta_ts>2020-09-04 13:24:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216131-20200904131607.patch</filename>
            <type>text/plain</type>
            <size>3074</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NjE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk0OTExZDg5NjI1MWFlN2Nh
NjU4NTg3NGM1MjBhYjg4NmZhZWI5YjMuLjY4ZWQwNWJiZDY4NDk2ZDg3ZmI3YTk2OTg2ZTZiNjEz
ZTc4YjEyNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDktMDQgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgV2VicGFnZXMgZmxhc2ggd2hlbiBn
ZXR0aW5nIGNsb3NlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE2MTMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ2xvc2luZyBhIHBhZ2UgaW4gd2ViIHByb2Nlc3Mgd2lsbCBkZXRhY2ggcm9vdCBDQSBs
YXllciBhbmQgY2xlYXJzIGNvbnRlbnQgaW4gdmlldyBpbW1lZGlhdGVseS4gSWYgdGhpcyBoYXBw
ZW5zCisgICAgICAgIGluIHdlYiBwcm9jZXNzIGJlZm9yZSB0cmFuc2FjdGlvbiwgd2hpY2ggY29u
dGFpbnMgdmlldyBoaWVyYWNoeSBjaGFuZ2Ugb3IgbGF5ZXIgY2hhbmdlLCBpcyBjb21taXR0ZWQg
aW4gVUkgCisgICAgICAgIHByb2Nlc3MsIHdlIHdvdWxkIHNlZSBhIHdoaXRlIGZsYXNoLiBUbyB0
cnkgZml4aW5nIHRoaXMgaXNzdWUsIHdlIGV4cGxpY2l0bHkgZGVsYXkgc2VuZGluZyB0aGUgY2xv
c2UgbWVzc2FnZQorICAgICAgICB0byBuZXh0IHJ1bmxvb3AgY3ljbGUuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5
OjpkZWZlclNlbmRpbmdDbG9zZU1lc3NhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OmNsb3NlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisKIDIwMjAt
MDktMDQgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtt
YWNPU10gQWRkIGNsaWVudCBkZWNvZGVyIGVudGl0bGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA1ZTAyNDMyYjQ3OWU2YzI2OWJjMDdlZjg2MDgzNTEz
MWQ4MGZlMTdhLi42ZjZjYTk2M2M2NGZiMjNmYzlhM2Q5NTI2MmY1OWZjOTIzMDhiMWQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTEwNjcsNiArMTA2Nywx
MyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6aW5pdGlhbGl6ZVdlYlBhZ2UoKQogICAgIG1fcHJvY2Vz
cy0+YWRkVmlzaXRlZExpbmtTdG9yZVVzZXIodmlzaXRlZExpbmtTdG9yZSgpLCBtX2lkZW50aWZp
ZXIpOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGVmZXJTZW5kaW5nQ2xvc2VNZXNzYWdlKCkK
K3sKKyAgICBSdW5Mb29wOjpjdXJyZW50KCkuZGlzcGF0Y2goW2Rlc3RpbmF0aW9uSUQgPSBtZXNz
YWdlU2VuZGVyRGVzdGluYXRpb25JRCgpLCBwcm90ZWN0ZWRQcm9jZXNzID0gbV9wcm9jZXNzLmNv
cHlSZWYoKV0geworICAgICAgICBwcm90ZWN0ZWRQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpDbG9zZSgpLCBkZXN0aW5hdGlvbklEKTsKKyAgICB9KTsKK30KKwogdm9pZCBXZWJQYWdl
UHJveHk6OmNsb3NlKCkKIHsKICAgICBpZiAobV9pc0Nsb3NlZCkKQEAgLTExMjMsNyArMTEzMCw4
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpjbG9zZSgpCiAKICAgICBtX3Byb2Nlc3MtPnByb2Nlc3NQ
b29sKCkuYmFja0ZvcndhcmRDYWNoZSgpLnJlbW92ZUVudHJpZXNGb3JQYWdlKCp0aGlzKTsKIAot
ICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNsb3NlKCkpOworICAgIGRlZmVyU2VuZGluZ0Ns
b3NlTWVzc2FnZSgpOworCiAgICAgbV9wcm9jZXNzLT5yZW1vdmVXZWJQYWdlKCp0aGlzLCBXZWJQ
cm9jZXNzUHJveHk6OkVuZHNVc2luZ0RhdGFTdG9yZTo6WWVzKTsKICAgICBtX3Byb2Nlc3MtPnJl
bW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViUGFnZVByb3h5OjptZXNzYWdlUmVjZWl2
ZXJOYW1lKCksIG1fd2ViUGFnZUlEKTsKICAgICBtX3Byb2Nlc3MtPnByb2Nlc3NQb29sKCkuc3Vw
cGxlbWVudDxXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk+KCktPmNsZWFyTm90aWZpY2F0aW9u
cyh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNDYwNmJj
ZWFhNjBkZDk1MjE0N2IwZjJjM2VmMDA4ZDcwMTk1MTFlYi4uZTcwOTQzYmYyMmFiNzM2ZDAzNGJi
NjU0NjMzZDhjNDBlZGIzZjM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKQEAgLTg5OCw2ICs4OTgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTY3JvbGxQZXJmb3Jt
YW5jZURhdGFDb2xsZWN0aW9uRW5hYmxlZChib29sKTsKICAgICBib29sIHNjcm9sbFBlcmZvcm1h
bmNlRGF0YUNvbGxlY3Rpb25FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxQZXJmb3Jt
YW5jZURhdGFDb2xsZWN0aW9uRW5hYmxlZDsgfQogICAgIFJlbW90ZUxheWVyVHJlZVNjcm9sbGlu
Z1BlcmZvcm1hbmNlRGF0YSogc2Nyb2xsaW5nUGVyZm9ybWFuY2VEYXRhKCkgeyByZXR1cm4gbV9z
Y3JvbGxpbmdQZXJmb3JtYW5jZURhdGEuZ2V0KCk7IH0KKworICAgIHZvaWQgZGVmZXJTZW5kaW5n
Q2xvc2VNZXNzYWdlKCk7CiAjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpCiAKICAgICB2b2lkIGNo
YW5nZUZvbnRBdHRyaWJ1dGVzKFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVDaGFuZ2VzJiYpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408014</attachid>
            <date>2020-09-04 13:24:38 -0700</date>
            <delta_ts>2020-09-04 14:15:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216131-20200904132439.patch</filename>
            <type>text/plain</type>
            <size>2949</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NjE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk0OTExZDg5NjI1MWFlN2Nh
NjU4NTg3NGM1MjBhYjg4NmZhZWI5YjMuLjY4ZWQwNWJiZDY4NDk2ZDg3ZmI3YTk2OTg2ZTZiNjEz
ZTc4YjEyNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDktMDQgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgV2VicGFnZXMgZmxhc2ggd2hlbiBn
ZXR0aW5nIGNsb3NlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE2MTMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ2xvc2luZyBhIHBhZ2UgaW4gd2ViIHByb2Nlc3Mgd2lsbCBkZXRhY2ggcm9vdCBDQSBs
YXllciBhbmQgY2xlYXJzIGNvbnRlbnQgaW4gdmlldyBpbW1lZGlhdGVseS4gSWYgdGhpcyBoYXBw
ZW5zCisgICAgICAgIGluIHdlYiBwcm9jZXNzIGJlZm9yZSB0cmFuc2FjdGlvbiwgd2hpY2ggY29u
dGFpbnMgdmlldyBoaWVyYWNoeSBjaGFuZ2Ugb3IgbGF5ZXIgY2hhbmdlLCBpcyBjb21taXR0ZWQg
aW4gVUkgCisgICAgICAgIHByb2Nlc3MsIHdlIHdvdWxkIHNlZSBhIHdoaXRlIGZsYXNoLiBUbyB0
cnkgZml4aW5nIHRoaXMgaXNzdWUsIHdlIGV4cGxpY2l0bHkgZGVsYXkgc2VuZGluZyB0aGUgY2xv
c2UgbWVzc2FnZQorICAgICAgICB0byBuZXh0IHJ1bmxvb3AgY3ljbGUuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5
OjpkZWZlclNlbmRpbmdDbG9zZU1lc3NhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OmNsb3NlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisKIDIwMjAt
MDktMDQgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtt
YWNPU10gQWRkIGNsaWVudCBkZWNvZGVyIGVudGl0bGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA1ZTAyNDMyYjQ3OWU2YzI2OWJjMDdlZjg2MDgzNTEz
MWQ4MGZlMTdhLi42ZjZjYTk2M2M2NGZiMjNmYzlhM2Q5NTI2MmY1OWZjOTIzMDhiMWQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTEwNjcsNiArMTA2Nywx
MyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6aW5pdGlhbGl6ZVdlYlBhZ2UoKQogICAgIG1fcHJvY2Vz
cy0+YWRkVmlzaXRlZExpbmtTdG9yZVVzZXIodmlzaXRlZExpbmtTdG9yZSgpLCBtX2lkZW50aWZp
ZXIpOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGVmZXJTZW5kaW5nQ2xvc2VNZXNzYWdlKCkK
K3sKKyAgICBSdW5Mb29wOjpjdXJyZW50KCkuZGlzcGF0Y2goW2Rlc3RpbmF0aW9uSUQgPSBtZXNz
YWdlU2VuZGVyRGVzdGluYXRpb25JRCgpLCBwcm90ZWN0ZWRQcm9jZXNzID0gbV9wcm9jZXNzLmNv
cHlSZWYoKV0geworICAgICAgICBwcm90ZWN0ZWRQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpDbG9zZSgpLCBkZXN0aW5hdGlvbklEKTsKKyAgICB9KTsKK30KKwogdm9pZCBXZWJQYWdl
UHJveHk6OmNsb3NlKCkKIHsKICAgICBpZiAobV9pc0Nsb3NlZCkKQEAgLTExMjMsNyArMTEzMCw4
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpjbG9zZSgpCiAKICAgICBtX3Byb2Nlc3MtPnByb2Nlc3NQ
b29sKCkuYmFja0ZvcndhcmRDYWNoZSgpLnJlbW92ZUVudHJpZXNGb3JQYWdlKCp0aGlzKTsKIAot
ICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNsb3NlKCkpOworICAgIGRlZmVyU2VuZGluZ0Ns
b3NlTWVzc2FnZSgpOworCiAgICAgbV9wcm9jZXNzLT5yZW1vdmVXZWJQYWdlKCp0aGlzLCBXZWJQ
cm9jZXNzUHJveHk6OkVuZHNVc2luZ0RhdGFTdG9yZTo6WWVzKTsKICAgICBtX3Byb2Nlc3MtPnJl
bW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViUGFnZVByb3h5OjptZXNzYWdlUmVjZWl2
ZXJOYW1lKCksIG1fd2ViUGFnZUlEKTsKICAgICBtX3Byb2Nlc3MtPnByb2Nlc3NQb29sKCkuc3Vw
cGxlbWVudDxXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk+KCktPmNsZWFyTm90aWZpY2F0aW9u
cyh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNDYwNmJj
ZWFhNjBkZDk1MjE0N2IwZjJjM2VmMDA4ZDcwMTk1MTFlYi4uZDRjMjNjOTBhOTQ2YjZiNWRhMmEw
NjdjMTUzNDYwMmY2NjE5OTE2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKQEAgLTU5MSw3ICs1OTEsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXREcmF3aW5nQXJlYShz
dGQ6OnVuaXF1ZV9wdHI8RHJhd2luZ0FyZWFQcm94eT4mJik7CiAKICAgICBXZWFrUHRyPFNlY0tl
eVByb3h5U3RvcmU+IHNlY0tleVByb3h5U3RvcmUoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRp
b25DaGFsbGVuZ2UmKTsKLSAgICAgICAgCisKKyAgICB2b2lkIGRlZmVyU2VuZGluZ0Nsb3NlTWVz
c2FnZSgpOwogICAgIHZvaWQgY2xvc2UoKTsKICAgICBib29sIHRyeUNsb3NlKCk7CiAgICAgYm9v
bCBpc0Nsb3NlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNDbG9zZWQ7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408023</attachid>
            <date>2020-09-04 14:15:06 -0700</date>
            <delta_ts>2020-09-10 11:22:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216131-20200904141507.patch</filename>
            <type>text/plain</type>
            <size>2289</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDEzNzA2NDQ1NTY0YzMxMTIy
Y2JhNjRkODkxODdhNDgxYTRiYzQ3NGMuLmI2NDFjMzEyYmY1OGE5OWJmMWY2MjFlYzNlMDRlOTEw
NGU1YTE4YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDktMDQgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgV2VicGFnZXMgZmxhc2ggd2hlbiBn
ZXR0aW5nIGNsb3NlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE2MTMxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MjI2NDEwNj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDbG9zaW5nIGEgcGFnZSBp
biB3ZWIgcHJvY2VzcyB3aWxsIGRldGFjaCByb290IENBIGxheWVyIGFuZCBjbGVhcnMgY29udGVu
dCBpbiB2aWV3IGltbWVkaWF0ZWx5LiBJZiB0aGlzIGhhcHBlbnMKKyAgICAgICAgaW4gd2ViIHBy
b2Nlc3MgYmVmb3JlIHRyYW5zYWN0aW9uLCB3aGljaCBjb250YWlucyB2aWV3IGhpZXJhY2h5IGNo
YW5nZSBvciBsYXllciBjaGFuZ2UsIGlzIGNvbW1pdHRlZCBpbiBVSSAKKyAgICAgICAgcHJvY2Vz
cywgd2Ugd291bGQgc2VlIGEgd2hpdGUgZmxhc2guIFRvIHRyeSBmaXhpbmcgdGhpcyBpc3N1ZSwg
d2UgZXhwbGljaXRseSBkZWxheSBzZW5kaW5nIHRoZSBjbG9zZSBtZXNzYWdlCisgICAgICAgIHRv
IG5leHQgcnVubG9vcCBjeWNsZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNsb3NlKToKKwogMjAyMC0wOS0w
NCAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJwYWdlcyBm
bGFzaCB3aGVuIHN3aXRjaGluZyBiZXR3ZWVuIHdpbmRvd3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGU0NTAyZDFlYjQ4NmYyYjA3ZTFiMTE0MTQ4MjIxYzA4
OTI3ZjExZTcuLjdjOTFjYTFhZTllZmI1ZjA5NDU1ZmIyMDVmNTlhNmJlZjg0YjAzNTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTEyMyw3ICsxMTIzLDEz
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpjbG9zZSgpCiAKICAgICBtX3Byb2Nlc3MtPnByb2Nlc3NQ
b29sKCkuYmFja0ZvcndhcmRDYWNoZSgpLnJlbW92ZUVudHJpZXNGb3JQYWdlKCp0aGlzKTsKIAot
ICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNsb3NlKCkpOworICAgIC8vIERlbGF5IHRoZSBj
bG9zZSBtZXNzYWdlIHVudGlsIGFmdGVyIHRoZSBVSSBwcm9jZXNzIGhhcyBhIGNoYW5jZSB0byBj
b21taXQgQ0EgdHJhbnNhY3Rpb24gb2YgY3VycmVudCBydW5sb29wIGN5Y2xlLgorICAgIC8vIE90
aGVyd2lzZSwgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBjYW4gcmFjZSBhbmQgY29tbWl0IGEgZmxh
c2ggb2Ygd2hpdGUsIGV2ZW4gYWZ0ZXIgdGhlIGFwcGxpY2F0aW9uIGhhcyByZW1vdmVkCisgICAg
Ly8gV2ViVmlldyBmcm9tIHRoZSB2aWV3IGhpZXJhY2h5LgorICAgIFJ1bkxvb3A6OmN1cnJlbnQo
KS5kaXNwYXRjaChbZGVzdGluYXRpb25JRCA9IG1lc3NhZ2VTZW5kZXJEZXN0aW5hdGlvbklEKCks
IHByb3RlY3RlZFByb2Nlc3MgPSBtX3Byb2Nlc3MuY29weVJlZigpXSB7CisgICAgICAgIHByb3Rl
Y3RlZFByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNsb3NlKCksIGRlc3RpbmF0aW9u
SUQpOworICAgIH0pOworCiAgICAgbV9wcm9jZXNzLT5yZW1vdmVXZWJQYWdlKCp0aGlzLCBXZWJQ
cm9jZXNzUHJveHk6OkVuZHNVc2luZ0RhdGFTdG9yZTo6WWVzKTsKICAgICBtX3Byb2Nlc3MtPnJl
bW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViUGFnZVByb3h5OjptZXNzYWdlUmVjZWl2
ZXJOYW1lKCksIG1fd2ViUGFnZUlEKTsKICAgICBtX3Byb2Nlc3MtPnByb2Nlc3NQb29sKCkuc3Vw
cGxlbWVudDxXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk+KCktPmNsZWFyTm90aWZpY2F0aW9u
cyh0aGlzKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408463</attachid>
            <date>2020-09-10 11:22:47 -0700</date>
            <delta_ts>2020-09-10 12:06:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216131-20200910112246.patch</filename>
            <type>text/plain</type>
            <size>4248</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2ODI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDIzYmE5MzE4M2YzZDM5Y2Ni
NGUzYTcwODI3ZWEzNjhlZWVkYTliZjguLmZhNjU3ZDVjNzk2ZGQwNjRmZWY3YzQ0NjIyYTY4MzI3
MTJjZTY1ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDktMTAgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgV2VicGFnZXMgZmxhc2ggd2hlbiBn
ZXR0aW5nIGNsb3NlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE2MTMxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MjI2NDEwNj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDbG9zaW5nIGEgcGFnZSBp
biB3ZWIgcHJvY2VzcyB3aWxsIGRldGFjaCByb290IENBIGxheWVyIGFuZCBjbGVhcnMgY29udGVu
dCBpbiB2aWV3IGltbWVkaWF0ZWx5LiBJZiB0aGlzIGhhcHBlbnMKKyAgICAgICAgaW4gd2ViIHBy
b2Nlc3MgYmVmb3JlIHRyYW5zYWN0aW9uLCB3aGljaCBjb250YWlucyB2aWV3IGhpZXJhY2h5IGNo
YW5nZSBvciBsYXllciBjaGFuZ2UsIGlzIGNvbW1pdHRlZCBpbiBVSSAKKyAgICAgICAgcHJvY2Vz
cywgd2Ugd291bGQgc2VlIGEgd2hpdGUgZmxhc2guIFRvIHRyeSBmaXhpbmcgdGhpcyBpc3N1ZSwg
d2UgZXhwbGljaXRseSBkZWxheSBzZW5kaW5nIHRoZSBjbG9zZSBtZXNzYWdlCisgICAgICAgIHRv
IG5leHQgcnVubG9vcCBjeWNsZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNsb3NlKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpyZWNlaXZlZE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbik6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzUHJveHk6OlNjb3BlUHJldmVudGluZ1NodXRkb3duOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6Om1ha2VTY29wZVByZXZlbnRpbmdTaHV0ZG93bik6
IERlbGV0ZWQuCisKIDIwMjAtMDktMDkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgbWFjQ2F0YWx5c3Q6IEZvcm0gY29udHJvbHMgYmVoYXZlIHN0cmFu
Z2VseSAobGlrZSBpUGhvbmUpIGluIG1hY09TLWlkaW9tIGFwcHMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGYzM2YyYjAzZWZmZDM2NzFkYzUyYTI2OTM0MTBj
MTkzMjRmYjYxM2EuLmU4NTI3YTE4MDRhMGY2ZGUwYWIyNjUwMmRiNzBiYzU5NzQyNzY3YTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTE1Nyw3ICsxMTU3
LDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNsb3NlKCkKIAogICAgIG1fcHJvY2Vzcy0+cHJvY2Vz
c1Bvb2woKS5iYWNrRm9yd2FyZENhY2hlKCkucmVtb3ZlRW50cmllc0ZvclBhZ2UoKnRoaXMpOwog
Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6Q2xvc2UoKSk7CisgICAgUnVuTG9vcDo6Y3Vy
cmVudCgpLmRpc3BhdGNoKFtkZXN0aW5hdGlvbklEID0gbWVzc2FnZVNlbmRlckRlc3RpbmF0aW9u
SUQoKSwgcHJvY2VzcyA9IG1fcHJvY2Vzcy5wdHIoKSwgcHJldmVudFByb2Nlc3NTaHV0ZG93blNj
b3BlID0gV2ViUHJvY2Vzc1Byb3h5OjpTY29wZVByZXZlbnRpbmdTaHV0ZG93bjo6Y3JlYXRlKHBy
b2Nlc3MoKSldIHsKKyAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6Q2xv
c2UoKSwgZGVzdGluYXRpb25JRCk7CisgICAgfSk7CiAgICAgbV9wcm9jZXNzLT5yZW1vdmVXZWJQ
YWdlKCp0aGlzLCBXZWJQcm9jZXNzUHJveHk6OkVuZHNVc2luZ0RhdGFTdG9yZTo6WWVzKTsKICAg
ICBtX3Byb2Nlc3MtPnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFnZUlEKTsKICAgICBtX3Byb2Nlc3MtPnBy
b2Nlc3NQb29sKCkuc3VwcGxlbWVudDxXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk+KCktPmNs
ZWFyTm90aWZpY2F0aW9ucyh0aGlzKTsKQEAgLTMzMTcsNyArMzMxOSw3IEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpyZWNlaXZlZE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbihQb2xpY3lBY3Rpb24gcG9s
aWN5QWN0aW9uLCBBCiAgICAgICAgIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4g
b3B0aW9uYWxIYW5kbGU7CiAgICAgICAgIGlmIChzaG91bGRQcm9jZXNzU3dhcCkgewogICAgICAg
ICAgICAgLy8gTWFrZSBzdXJlIHRoZSBwcm9jZXNzIHRvIGJlIHVzZWQgZm9yIHRoZSBuYXZpZ2F0
aW9uIGRvZXMgbm90IGdldCBzaHV0RG93biBub3cgZHVlIHRvIGRlc3Ryb3lpbmcgU3VzcGVuZGVk
UGFnZVByb3h5IG9yIFByb3Zpc2lvbmFsUGFnZVByb3h5IG9iamVjdHMuCi0gICAgICAgICAgICBh
dXRvIHByZXZlbnROYXZpZ2F0aW9uUHJvY2Vzc1NodXRkb3duID0gcHJvY2Vzc0Zvck5hdmlnYXRp
b24tPm1ha2VTY29wZVByZXZlbnRpbmdTaHV0ZG93bigpOworICAgICAgICAgICAgYXV0byBwcmV2
ZW50TmF2aWdhdGlvblByb2Nlc3NTaHV0ZG93biA9IFdlYlByb2Nlc3NQcm94eTo6U2NvcGVQcmV2
ZW50aW5nU2h1dGRvd246OmNyZWF0ZShwcm9jZXNzRm9yTmF2aWdhdGlvbi5nZXQoKSk7CiAKICAg
ICAgICAgICAgIEFTU0VSVCghZGVzdGluYXRpb25TdXNwZW5kZWRQYWdlIHx8IG5hdmlnYXRpb24t
PnRhcmdldEl0ZW0oKSk7CiAgICAgICAgICAgICBhdXRvIHN1c3BlbmRlZFBhZ2UgPSBkZXN0aW5h
dGlvblN1c3BlbmRlZFBhZ2UgPyBiYWNrRm9yd2FyZENhY2hlKCkudGFrZVN1c3BlbmRlZFBhZ2Uo
Km5hdmlnYXRpb24tPnRhcmdldEl0ZW0oKSkgOiBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkuaAppbmRleCBlNGRhOTNkMzA2Yjk5OGY2MjE0NzM2MTRiNzdj
NjAyZTMwYWI0OTViLi4yODlhMzhkOTI4MWNhMDliNDY5YmNlNDkyNTI1NWZiOTc3NjQ1OGYyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaApAQCAtMjk0LDggKzI5
NCw5IEBAIHB1YmxpYzoKICAgICAvLyBXaWxsIHBvdGVudGlhbGx5IGNhdXNlIHRoZSBXZWJQcm9j
ZXNzUHJveHkgb2JqZWN0IHRvIGJlIGZyZWVkLgogICAgIHZvaWQgc2h1dERvd24oKTsKIAotICAg
IGNsYXNzIFNjb3BlUHJldmVudGluZ1NodXRkb3duIHsKKyAgICBjbGFzcyBTY29wZVByZXZlbnRp
bmdTaHV0ZG93biA6IHB1YmxpYyBSZWZDb3VudGVkPFNjb3BlUHJldmVudGluZ1NodXRkb3duPiB7
CiAgICAgcHVibGljOgorICAgICAgICBzdGF0aWMgUmVmPFNjb3BlUHJldmVudGluZ1NodXRkb3du
PiBjcmVhdGUoV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXNzKSB7IHJldHVybiBhZG9wdFJlZigqbmV3
IFNjb3BlUHJldmVudGluZ1NodXRkb3duKHByb2Nlc3MpKTsgfQogICAgICAgICBleHBsaWNpdCBT
Y29wZVByZXZlbnRpbmdTaHV0ZG93bihXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MpCiAgICAgICAg
ICAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQogICAgICAgICB7CkBAIC0zMTMsOCArMzE0LDYgQEAg
cHVibGljOgogICAgICAgICBSZWY8V2ViUHJvY2Vzc1Byb3h5PiBtX3Byb2Nlc3M7CiAgICAgfTsK
IAotICAgIFNjb3BlUHJldmVudGluZ1NodXRkb3duIG1ha2VTY29wZVByZXZlbnRpbmdTaHV0ZG93
bigpIHsgcmV0dXJuIFNjb3BlUHJldmVudGluZ1NodXRkb3duIHsgKnRoaXMgfTsgfQotCiAgICAg
dm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvck1haW5GcmFtZShjb25zdCBVUkwmKTsKIAog
ICAgIC8vIFByb2Nlc3NUaHJvdHRsZXJDbGllbnQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408466</attachid>
            <date>2020-09-10 12:06:59 -0700</date>
            <delta_ts>2020-09-10 12:38:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216131-20200910120658.patch</filename>
            <type>text/plain</type>
            <size>6673</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2ODI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDIzYmE5MzE4M2YzZDM5Y2Ni
NGUzYTcwODI3ZWEzNjhlZWVkYTliZjguLjlmZjJhODVlMmZiNjA3MjNlM2JiYjQxN2IyY2Y2YmIy
MTQxMGM0MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjAtMDktMTAgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgV2VicGFnZXMgZmxhc2ggd2hlbiBn
ZXR0aW5nIGNsb3NlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE2MTMxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MjI2NDEwNj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDbG9zaW5nIGEgcGFnZSBp
biB3ZWIgcHJvY2VzcyB3aWxsIGRldGFjaCByb290IENBIGxheWVyIGFuZCBjbGVhcnMgY29udGVu
dCBpbiB2aWV3IGltbWVkaWF0ZWx5LiBJZiB0aGlzIGhhcHBlbnMKKyAgICAgICAgaW4gd2ViIHBy
b2Nlc3MgYmVmb3JlIHRyYW5zYWN0aW9uLCB3aGljaCBjb250YWlucyB2aWV3IGhpZXJhY2h5IGNo
YW5nZSBvciBsYXllciBjaGFuZ2UsIGlzIGNvbW1pdHRlZCBpbiBVSSAKKyAgICAgICAgcHJvY2Vz
cywgd2Ugd291bGQgc2VlIGEgd2hpdGUgZmxhc2guIFRvIHRyeSBmaXhpbmcgdGhpcyBpc3N1ZSwg
d2UgZXhwbGljaXRseSBkZWxheSBzZW5kaW5nIHRoZSBjbG9zZSBtZXNzYWdlCisgICAgICAgIHRv
IG5leHQgcnVubG9vcCBjeWNsZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNsb3NlKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpyZWNlaXZlZE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbik6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
Om1fc2h1dGRvd25QcmV2ZW50aW5nU2NvcGVDb3VudGVyKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Byb3h5OjpjYW5UZXJtaW5hdGVBdXhpbGlhcnlQcm9jZXNzKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6IHJlbW92ZSBjbGFzcyBTY29wZVByZXZlbnRpbmdT
aHV0ZG93biBhbmQgdXNlIFJlZkNvdW50ZXIgdG8gcHJldmVudCBwcm9jZXNzIAorICAgICAgICBz
aHV0ZG93bi4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpzaHV0ZG93blByZXZl
bnRpbmdTY29wZUNvdW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpTY29w
ZVByZXZlbnRpbmdTaHV0ZG93bjo6U2NvcGVQcmV2ZW50aW5nU2h1dGRvd24pOiBEZWxldGVkLgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OlNjb3BlUHJldmVudGluZ1NodXRkb3du
Ojp+U2NvcGVQcmV2ZW50aW5nU2h1dGRvd24pOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzUHJveHk6Om1ha2VTY29wZVByZXZlbnRpbmdTaHV0ZG93bik6IERlbGV0ZWQuCisK
IDIwMjAtMDktMDkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgbWFjQ2F0YWx5c3Q6IEZvcm0gY29udHJvbHMgYmVoYXZlIHN0cmFuZ2VseSAobGlrZSBp
UGhvbmUpIGluIG1hY09TLWlkaW9tIGFwcHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCmluZGV4IGYzM2YyYjAzZWZmZDM2NzFkYzUyYTI2OTM0MTBjMTkzMjRmYjYxM2Eu
Ljg2Y2FmNGJlMGVhMGY3ZGMzNTc3MzA2MzY2NzUwOTUzMmMzMDViZDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTE1Nyw3ICsxMTU3LDkgQEAgdm9pZCBX
ZWJQYWdlUHJveHk6OmNsb3NlKCkKIAogICAgIG1fcHJvY2Vzcy0+cHJvY2Vzc1Bvb2woKS5iYWNr
Rm9yd2FyZENhY2hlKCkucmVtb3ZlRW50cmllc0ZvclBhZ2UoKnRoaXMpOwogCi0gICAgc2VuZChN
ZXNzYWdlczo6V2ViUGFnZTo6Q2xvc2UoKSk7CisgICAgUnVuTG9vcDo6Y3VycmVudCgpLmRpc3Bh
dGNoKFtkZXN0aW5hdGlvbklEID0gbWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQoKSwgcHJvdGVj
dGVkUHJvY2VzcyA9IG1fcHJvY2Vzcy5jb3B5UmVmKCksIHRva2VuID0gbV9wcm9jZXNzLT5zaHV0
ZG93blByZXZlbnRpbmdTY29wZUNvdW50KCldIHsKKyAgICAgICAgcHJvdGVjdGVkUHJvY2Vzcy0+
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6Q2xvc2UoKSwgZGVzdGluYXRpb25JRCk7CisgICAgfSk7
CiAgICAgbV9wcm9jZXNzLT5yZW1vdmVXZWJQYWdlKCp0aGlzLCBXZWJQcm9jZXNzUHJveHk6OkVu
ZHNVc2luZ0RhdGFTdG9yZTo6WWVzKTsKICAgICBtX3Byb2Nlc3MtPnJlbW92ZU1lc3NhZ2VSZWNl
aXZlcihNZXNzYWdlczo6V2ViUGFnZVByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fd2Vi
UGFnZUlEKTsKICAgICBtX3Byb2Nlc3MtPnByb2Nlc3NQb29sKCkuc3VwcGxlbWVudDxXZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyUHJveHk+KCktPmNsZWFyTm90aWZpY2F0aW9ucyh0aGlzKTsKQEAgLTMz
MTcsNyArMzMxOSw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZWNlaXZlZE5hdmlnYXRpb25Qb2xp
Y3lEZWNpc2lvbihQb2xpY3lBY3Rpb24gcG9saWN5QWN0aW9uLCBBCiAgICAgICAgIE9wdGlvbmFs
PFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4gb3B0aW9uYWxIYW5kbGU7CiAgICAgICAgIGlmIChz
aG91bGRQcm9jZXNzU3dhcCkgewogICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBwcm9jZXNz
IHRvIGJlIHVzZWQgZm9yIHRoZSBuYXZpZ2F0aW9uIGRvZXMgbm90IGdldCBzaHV0RG93biBub3cg
ZHVlIHRvIGRlc3Ryb3lpbmcgU3VzcGVuZGVkUGFnZVByb3h5IG9yIFByb3Zpc2lvbmFsUGFnZVBy
b3h5IG9iamVjdHMuCi0gICAgICAgICAgICBhdXRvIHByZXZlbnROYXZpZ2F0aW9uUHJvY2Vzc1No
dXRkb3duID0gcHJvY2Vzc0Zvck5hdmlnYXRpb24tPm1ha2VTY29wZVByZXZlbnRpbmdTaHV0ZG93
bigpOworICAgICAgICAgICAgYXV0byBwcmV2ZW50TmF2aWdhdGlvblByb2Nlc3NTaHV0ZG93blRv
a2VuID0gcHJvY2Vzc0Zvck5hdmlnYXRpb24tPnNodXRkb3duUHJldmVudGluZ1Njb3BlQ291bnQo
KTsKIAogICAgICAgICAgICAgQVNTRVJUKCFkZXN0aW5hdGlvblN1c3BlbmRlZFBhZ2UgfHwgbmF2
aWdhdGlvbi0+dGFyZ2V0SXRlbSgpKTsKICAgICAgICAgICAgIGF1dG8gc3VzcGVuZGVkUGFnZSA9
IGRlc3RpbmF0aW9uU3VzcGVuZGVkUGFnZSA/IGJhY2tGb3J3YXJkQ2FjaGUoKS50YWtlU3VzcGVu
ZGVkUGFnZSgqbmF2aWdhdGlvbi0+dGFyZ2V0SXRlbSgpKSA6IG51bGxwdHI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAppbmRleCAwODNhN2U3OWE2ZGViZjBm
Mjk4Y2FjMjk5MmUyNzIzMGFhYjViMWFlLi4zMjE2MzJlNjhjNmY4Mjc4NTI4OGI5OTlmYTk0MDZm
NzFlMGRiMTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5j
cHAKQEAgLTIwMSw2ICsyMDEsNyBAQCBXZWJQcm9jZXNzUHJveHk6OldlYlByb2Nlc3NQcm94eShX
ZWJQcm9jZXNzUG9vbCYgcHJvY2Vzc1Bvb2wsIFdlYnNpdGVEYXRhU3RvcmUqCiAgICAgLCBtX3Vz
ZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkobWFrZVVuaXF1ZTxVc2VyTWVkaWFDYXB0dXJlTWFu
YWdlclByb3h5PihtYWtlVW5pcXVlUmVmPFVJUHJveHlGb3JDYXB0dXJlPigqdGhpcykpKQogI2Vu
ZGlmCiAgICAgLCBtX2lzUHJld2FybWVkKGlzUHJld2FybWVkID09IElzUHJld2FybWVkOjpZZXMp
CisgICAgLCBtX3NodXRkb3duUHJldmVudGluZ1Njb3BlQ291bnRlcihbdGhpc10oUmVmQ291bnRl
ckV2ZW50KSB7IG1heWJlU2h1dERvd24oKTsgfSkKIHsKICAgICBSRUxFQVNFX0FTU0VSVChpc01h
aW5UaHJlYWRPckNoZWNrRGlzYWJsZWQoKSk7CiAKQEAgLTEwOTEsNyArMTA5Miw3IEBAIHZvaWQg
V2ViUHJvY2Vzc1Byb3h5OjptYXliZVNodXREb3duKCkKIAogYm9vbCBXZWJQcm9jZXNzUHJveHk6
OmNhblRlcm1pbmF0ZUF1eGlsaWFyeVByb2Nlc3MoKQogewotICAgIGlmICghbV9wYWdlTWFwLmlz
RW1wdHkoKSB8fCBtX3N1c3BlbmRlZFBhZ2VDb3VudCB8fCAhbV9wcm92aXNpb25hbFBhZ2VzLmlz
RW1wdHkoKSB8fCBtX2lzSW5Qcm9jZXNzQ2FjaGUgfHwgbV9zaHV0ZG93blByZXZlbnRpbmdTY29w
ZUNvdW50KQorICAgIGlmICghbV9wYWdlTWFwLmlzRW1wdHkoKSB8fCBtX3N1c3BlbmRlZFBhZ2VD
b3VudCB8fCAhbV9wcm92aXNpb25hbFBhZ2VzLmlzRW1wdHkoKSB8fCBtX2lzSW5Qcm9jZXNzQ2Fj
aGUgfHwgbV9zaHV0ZG93blByZXZlbnRpbmdTY29wZUNvdW50ZXIudmFsdWUoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKGlzUnVubmluZ1NlcnZpY2VXb3JrZXJzKCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IGU0ZGE5M2QzMDZiOTk4
ZjYyMTQ3MzYxNGI3N2M2MDJlMzBhYjQ5NWIuLjRmNTRlODViNzNhNGNhNGMyNzI3NjhlYzAzMTcw
YWYxNjc0ZWM2NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5o
CkBAIC0yOTQsMjYgKzI5NCw5IEBAIHB1YmxpYzoKICAgICAvLyBXaWxsIHBvdGVudGlhbGx5IGNh
dXNlIHRoZSBXZWJQcm9jZXNzUHJveHkgb2JqZWN0IHRvIGJlIGZyZWVkLgogICAgIHZvaWQgc2h1
dERvd24oKTsKIAotICAgIGNsYXNzIFNjb3BlUHJldmVudGluZ1NodXRkb3duIHsKLSAgICBwdWJs
aWM6Ci0gICAgICAgIGV4cGxpY2l0IFNjb3BlUHJldmVudGluZ1NodXRkb3duKFdlYlByb2Nlc3NQ
cm94eSYgcHJvY2VzcykKLSAgICAgICAgICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCi0gICAgICAg
IHsKLSAgICAgICAgICAgICsrKG1fcHJvY2Vzcy0+bV9zaHV0ZG93blByZXZlbnRpbmdTY29wZUNv
dW50KTsKLSAgICAgICAgfQotCi0gICAgICAgIH5TY29wZVByZXZlbnRpbmdTaHV0ZG93bigpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIEFTU0VSVChtX3Byb2Nlc3MtPm1fc2h1dGRvd25QcmV2ZW50
aW5nU2NvcGVDb3VudCk7Ci0gICAgICAgICAgICBpZiAoIS0tKG1fcHJvY2Vzcy0+bV9zaHV0ZG93
blByZXZlbnRpbmdTY29wZUNvdW50KSkKLSAgICAgICAgICAgICAgICBtX3Byb2Nlc3MtPm1heWJl
U2h1dERvd24oKTsKLSAgICAgICAgfQotCi0gICAgcHJpdmF0ZToKLSAgICAgICAgUmVmPFdlYlBy
b2Nlc3NQcm94eT4gbV9wcm9jZXNzOwotICAgIH07Ci0KLSAgICBTY29wZVByZXZlbnRpbmdTaHV0
ZG93biBtYWtlU2NvcGVQcmV2ZW50aW5nU2h1dGRvd24oKSB7IHJldHVybiBTY29wZVByZXZlbnRp
bmdTaHV0ZG93biB7ICp0aGlzIH07IH0KKyAgICBlbnVtIFNodXRkb3duUHJldmVudGluZ1Njb3Bl
VHlwZSB7IH07CisgICAgdHlwZWRlZiBSZWZDb3VudGVyPFNodXRkb3duUHJldmVudGluZ1Njb3Bl
VHlwZT4gU2h1dGRvd25QcmV2ZW50aW5nU2NvcGVDb3VudGVyOworICAgIFNodXRkb3duUHJldmVu
dGluZ1Njb3BlQ291bnRlcjo6VG9rZW4gc2h1dGRvd25QcmV2ZW50aW5nU2NvcGVDb3VudCgpIHsg
cmV0dXJuIG1fc2h1dGRvd25QcmV2ZW50aW5nU2NvcGVDb3VudGVyLmNvdW50KCk7IH0KIAogICAg
IHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JNYWluRnJhbWUoY29uc3QgVVJMJik7CiAK
QEAgLTU4Niw3ICs1NjksNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICB1bnNpZ25lZCBtX3N1
c3BlbmRlZFBhZ2VDb3VudCB7IDAgfTsKLSAgICB1bnNpZ25lZCBtX3NodXRkb3duUHJldmVudGlu
Z1Njb3BlQ291bnQgeyAwIH07CisKICAgICBib29sIG1faGFzQ29tbWl0dGVkQW55UHJvdmlzaW9u
YWxMb2FkcyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzUHJld2FybWVkOwogI2lmIEVOQUJMRShB
VFRBQ0hNRU5UX0VMRU1FTlQpICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC02MjUsNiArNjA4
LDggQEAgcHJpdmF0ZToKICAgICAgICAgV2ViUHJvY2Vzc1dpdGhBdWRpYmxlTWVkaWFUb2tlbiB0
b2tlbjsKICAgICB9OwogICAgIE9wdGlvbmFsPEF1ZGlibGVNZWRpYUFjdGl2aXR5PiBtX2F1ZGli
bGVNZWRpYUFjdGl2aXR5OworCisgICAgU2h1dGRvd25QcmV2ZW50aW5nU2NvcGVDb3VudGVyIG1f
c2h1dGRvd25QcmV2ZW50aW5nU2NvcGVDb3VudGVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408468</attachid>
            <date>2020-09-10 12:38:34 -0700</date>
            <delta_ts>2020-09-18 10:24:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216131-20200910123833.patch</filename>
            <type>text/plain</type>
            <size>6714</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2ODI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDIzYmE5MzE4M2YzZDM5Y2Ni
NGUzYTcwODI3ZWEzNjhlZWVkYTliZjguLmY2YzNlNGZhZjc4MmU4NzFiN2FhZGY5MmI4OWM0YWU0
NWZlNTJmMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjAtMDktMTAgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgV2VicGFnZXMgZmxhc2ggd2hlbiBn
ZXR0aW5nIGNsb3NlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE2MTMxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MjI2NDEwNj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICBDbG9zaW5nIGEgcGFnZSBpbiB3
ZWIgcHJvY2VzcyB3aWxsIGRldGFjaCByb290IENBIGxheWVyIGFuZCBjbGVhcnMgY29udGVudCBp
biB2aWV3IGltbWVkaWF0ZWx5LiBJZiB0aGlzIGhhcHBlbnMKKyAgICAgICAgaW4gd2ViIHByb2Nl
c3MgYmVmb3JlIHRyYW5zYWN0aW9uLCB3aGljaCBjb250YWlucyB2aWV3IGhpZXJhY2h5IGNoYW5n
ZSBvciBsYXllciBjaGFuZ2UsIGlzIGNvbW1pdHRlZCBpbiBVSSAKKyAgICAgICAgcHJvY2Vzcywg
d2Ugd291bGQgc2VlIGEgd2hpdGUgZmxhc2guIFRvIHRyeSBmaXhpbmcgdGhpcyBpc3N1ZSwgd2Ug
ZXhwbGljaXRseSBkZWxheSBzZW5kaW5nIHRoZSBjbG9zZSBtZXNzYWdlCisgICAgICAgIHRvIG5l
eHQgcnVubG9vcCBjeWNsZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNsb3NlKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5OjpyZWNlaXZlZE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbik6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1f
c2h1dGRvd25QcmV2ZW50aW5nU2NvcGVDb3VudGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc1Byb3h5OjpjYW5UZXJtaW5hdGVBdXhpbGlhcnlQcm9jZXNzKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6IHJlbW92ZSBjbGFzcyBTY29wZVByZXZlbnRpbmdTaHV0
ZG93biBhbmQgdXNlIFJlZkNvdW50ZXIgdG8gcHJldmVudCBwcm9jZXNzIAorICAgICAgICBzaHV0
ZG93bi4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpzaHV0ZG93blByZXZlbnRp
bmdTY29wZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6U2NvcGVQcmV2ZW50
aW5nU2h1dGRvd246OlNjb3BlUHJldmVudGluZ1NodXRkb3duKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpTY29wZVByZXZlbnRpbmdTaHV0ZG93bjo6flNjb3Bl
UHJldmVudGluZ1NodXRkb3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c1Byb3h5OjptYWtlU2NvcGVQcmV2ZW50aW5nU2h1dGRvd24pOiBEZWxldGVkLgorCiAyMDIwLTA5
LTA5ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIG1h
Y0NhdGFseXN0OiBGb3JtIGNvbnRyb2xzIGJlaGF2ZSBzdHJhbmdlbHkgKGxpa2UgaVBob25lKSBp
biBtYWNPUy1pZGlvbSBhcHBzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAppbmRleCBmMzNmMmIwM2VmZmQzNjcxZGM1MmEyNjkzNDEwYzE5MzI0ZmI2MTNhLi5lMDI2MzY1
ZGYxMmU0YTllYWY3MWJjNDRhNTU3OTUwMmZiNDQxYTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTExNTcsNyArMTE1Nyw5IEBAIHZvaWQgV2ViUGFnZVBy
b3h5OjpjbG9zZSgpCiAKICAgICBtX3Byb2Nlc3MtPnByb2Nlc3NQb29sKCkuYmFja0ZvcndhcmRD
YWNoZSgpLnJlbW92ZUVudHJpZXNGb3JQYWdlKCp0aGlzKTsKIAotICAgIHNlbmQoTWVzc2FnZXM6
OldlYlBhZ2U6OkNsb3NlKCkpOworICAgIFJ1bkxvb3A6OmN1cnJlbnQoKS5kaXNwYXRjaChbZGVz
dGluYXRpb25JRCA9IG1lc3NhZ2VTZW5kZXJEZXN0aW5hdGlvbklEKCksIHByb3RlY3RlZFByb2Nl
c3MgPSBtX3Byb2Nlc3MuY29weVJlZigpLCBwcmV2ZW50UHJvY2Vzc1NodXRkb3duU2NvcGUgPSBt
X3Byb2Nlc3MtPnNodXRkb3duUHJldmVudGluZ1Njb3BlKCldIHsKKyAgICAgICAgcHJvdGVjdGVk
UHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6Q2xvc2UoKSwgZGVzdGluYXRpb25JRCk7
CisgICAgfSk7CiAgICAgbV9wcm9jZXNzLT5yZW1vdmVXZWJQYWdlKCp0aGlzLCBXZWJQcm9jZXNz
UHJveHk6OkVuZHNVc2luZ0RhdGFTdG9yZTo6WWVzKTsKICAgICBtX3Byb2Nlc3MtPnJlbW92ZU1l
c3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViUGFnZVByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1l
KCksIG1fd2ViUGFnZUlEKTsKICAgICBtX3Byb2Nlc3MtPnByb2Nlc3NQb29sKCkuc3VwcGxlbWVu
dDxXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk+KCktPmNsZWFyTm90aWZpY2F0aW9ucyh0aGlz
KTsKQEAgLTMzMTcsNyArMzMxOSw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZWNlaXZlZE5hdmln
YXRpb25Qb2xpY3lEZWNpc2lvbihQb2xpY3lBY3Rpb24gcG9saWN5QWN0aW9uLCBBCiAgICAgICAg
IE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4gb3B0aW9uYWxIYW5kbGU7CiAgICAg
ICAgIGlmIChzaG91bGRQcm9jZXNzU3dhcCkgewogICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRo
ZSBwcm9jZXNzIHRvIGJlIHVzZWQgZm9yIHRoZSBuYXZpZ2F0aW9uIGRvZXMgbm90IGdldCBzaHV0
RG93biBub3cgZHVlIHRvIGRlc3Ryb3lpbmcgU3VzcGVuZGVkUGFnZVByb3h5IG9yIFByb3Zpc2lv
bmFsUGFnZVByb3h5IG9iamVjdHMuCi0gICAgICAgICAgICBhdXRvIHByZXZlbnROYXZpZ2F0aW9u
UHJvY2Vzc1NodXRkb3duID0gcHJvY2Vzc0Zvck5hdmlnYXRpb24tPm1ha2VTY29wZVByZXZlbnRp
bmdTaHV0ZG93bigpOworICAgICAgICAgICAgYXV0byBwcmV2ZW50TmF2aWdhdGlvblByb2Nlc3NT
aHV0ZG93biA9IHByb2Nlc3NGb3JOYXZpZ2F0aW9uLT5zaHV0ZG93blByZXZlbnRpbmdTY29wZSgp
OwogCiAgICAgICAgICAgICBBU1NFUlQoIWRlc3RpbmF0aW9uU3VzcGVuZGVkUGFnZSB8fCBuYXZp
Z2F0aW9uLT50YXJnZXRJdGVtKCkpOwogICAgICAgICAgICAgYXV0byBzdXNwZW5kZWRQYWdlID0g
ZGVzdGluYXRpb25TdXNwZW5kZWRQYWdlID8gYmFja0ZvcndhcmRDYWNoZSgpLnRha2VTdXNwZW5k
ZWRQYWdlKCpuYXZpZ2F0aW9uLT50YXJnZXRJdGVtKCkpIDogbnVsbHB0cjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCmluZGV4IDA4M2E3ZTc5YTZkZWJmMGYy
OThjYWMyOTkyZTI3MjMwYWFiNWIxYWUuLmQ2NjEwMzM4YjZjZjYwYTI3YTZmNzVkYWVjMzQ5YThm
NzJhYjNiODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNw
cApAQCAtMjAxLDYgKzIwMSw3IEBAIFdlYlByb2Nlc3NQcm94eTo6V2ViUHJvY2Vzc1Byb3h5KFdl
YlByb2Nlc3NQb29sJiBwcm9jZXNzUG9vbCwgV2Vic2l0ZURhdGFTdG9yZSoKICAgICAsIG1fdXNl
ck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eShtYWtlVW5pcXVlPFVzZXJNZWRpYUNhcHR1cmVNYW5h
Z2VyUHJveHk+KG1ha2VVbmlxdWVSZWY8VUlQcm94eUZvckNhcHR1cmU+KCp0aGlzKSkpCiAjZW5k
aWYKICAgICAsIG1faXNQcmV3YXJtZWQoaXNQcmV3YXJtZWQgPT0gSXNQcmV3YXJtZWQ6OlllcykK
KyAgICAsIG1fc2h1dGRvd25QcmV2ZW50aW5nU2NvcGVDb3VudGVyKFt0aGlzXShSZWZDb3VudGVy
RXZlbnQgZXZlbnQpIHsgaWYgKGV2ZW50ID09IFJlZkNvdW50ZXJFdmVudDo6RGVjcmVtZW50KSBt
YXliZVNodXREb3duKCk7IH0pCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQoaXNNYWluVGhyZWFkT3JD
aGVja0Rpc2FibGVkKCkpOwogCkBAIC0xMDkxLDcgKzEwOTIsNyBAQCB2b2lkIFdlYlByb2Nlc3NQ
cm94eTo6bWF5YmVTaHV0RG93bigpCiAKIGJvb2wgV2ViUHJvY2Vzc1Byb3h5OjpjYW5UZXJtaW5h
dGVBdXhpbGlhcnlQcm9jZXNzKCkKIHsKLSAgICBpZiAoIW1fcGFnZU1hcC5pc0VtcHR5KCkgfHwg
bV9zdXNwZW5kZWRQYWdlQ291bnQgfHwgIW1fcHJvdmlzaW9uYWxQYWdlcy5pc0VtcHR5KCkgfHwg
bV9pc0luUHJvY2Vzc0NhY2hlIHx8IG1fc2h1dGRvd25QcmV2ZW50aW5nU2NvcGVDb3VudCkKKyAg
ICBpZiAoIW1fcGFnZU1hcC5pc0VtcHR5KCkgfHwgbV9zdXNwZW5kZWRQYWdlQ291bnQgfHwgIW1f
cHJvdmlzaW9uYWxQYWdlcy5pc0VtcHR5KCkgfHwgbV9pc0luUHJvY2Vzc0NhY2hlIHx8IG1fc2h1
dGRvd25QcmV2ZW50aW5nU2NvcGVDb3VudGVyLnZhbHVlKCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgIGlmIChpc1J1bm5pbmdTZXJ2aWNlV29ya2VycygpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAppbmRleCBlNGRhOTNkMzA2Yjk5OGY2MjE0NzM2MTRi
NzdjNjAyZTMwYWI0OTViLi5lMGU4ZGMwYWM3MDhiMTI0OGIxY2M4MGFkY2IxOWQxODQxMjM5Yzcz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaApAQCAtMjk0LDI2
ICsyOTQsOSBAQCBwdWJsaWM6CiAgICAgLy8gV2lsbCBwb3RlbnRpYWxseSBjYXVzZSB0aGUgV2Vi
UHJvY2Vzc1Byb3h5IG9iamVjdCB0byBiZSBmcmVlZC4KICAgICB2b2lkIHNodXREb3duKCk7CiAK
LSAgICBjbGFzcyBTY29wZVByZXZlbnRpbmdTaHV0ZG93biB7Ci0gICAgcHVibGljOgotICAgICAg
ICBleHBsaWNpdCBTY29wZVByZXZlbnRpbmdTaHV0ZG93bihXZWJQcm9jZXNzUHJveHkmIHByb2Nl
c3MpCi0gICAgICAgICAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQotICAgICAgICB7Ci0gICAgICAg
ICAgICArKyhtX3Byb2Nlc3MtPm1fc2h1dGRvd25QcmV2ZW50aW5nU2NvcGVDb3VudCk7Ci0gICAg
ICAgIH0KLQotICAgICAgICB+U2NvcGVQcmV2ZW50aW5nU2h1dGRvd24oKQotICAgICAgICB7Ci0g
ICAgICAgICAgICBBU1NFUlQobV9wcm9jZXNzLT5tX3NodXRkb3duUHJldmVudGluZ1Njb3BlQ291
bnQpOwotICAgICAgICAgICAgaWYgKCEtLShtX3Byb2Nlc3MtPm1fc2h1dGRvd25QcmV2ZW50aW5n
U2NvcGVDb3VudCkpCi0gICAgICAgICAgICAgICAgbV9wcm9jZXNzLT5tYXliZVNodXREb3duKCk7
Ci0gICAgICAgIH0KLQotICAgIHByaXZhdGU6Ci0gICAgICAgIFJlZjxXZWJQcm9jZXNzUHJveHk+
IG1fcHJvY2VzczsKLSAgICB9OwotCi0gICAgU2NvcGVQcmV2ZW50aW5nU2h1dGRvd24gbWFrZVNj
b3BlUHJldmVudGluZ1NodXRkb3duKCkgeyByZXR1cm4gU2NvcGVQcmV2ZW50aW5nU2h1dGRvd24g
eyAqdGhpcyB9OyB9CisgICAgZW51bSBTaHV0ZG93blByZXZlbnRpbmdTY29wZVR5cGUgeyB9Owor
ICAgIHVzaW5nIFNodXRkb3duUHJldmVudGluZ1Njb3BlQ291bnRlciA9IFJlZkNvdW50ZXI8U2h1
dGRvd25QcmV2ZW50aW5nU2NvcGVUeXBlPjsKKyAgICBTaHV0ZG93blByZXZlbnRpbmdTY29wZUNv
dW50ZXI6OlRva2VuIHNodXRkb3duUHJldmVudGluZ1Njb3BlKCkgeyByZXR1cm4gbV9zaHV0ZG93
blByZXZlbnRpbmdTY29wZUNvdW50ZXIuY291bnQoKTsgfQogCiAgICAgdm9pZCBkaWRTdGFydFBy
b3Zpc2lvbmFsTG9hZEZvck1haW5GcmFtZShjb25zdCBVUkwmKTsKIApAQCAtNTg2LDcgKzU2OSw3
IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIHVuc2lnbmVkIG1fc3VzcGVuZGVkUGFnZUNvdW50
IHsgMCB9OwotICAgIHVuc2lnbmVkIG1fc2h1dGRvd25QcmV2ZW50aW5nU2NvcGVDb3VudCB7IDAg
fTsKKwogICAgIGJvb2wgbV9oYXNDb21taXR0ZWRBbnlQcm92aXNpb25hbExvYWRzIHsgZmFsc2Ug
fTsKICAgICBib29sIG1faXNQcmV3YXJtZWQ7CiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVO
VCkgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTYyNSw2ICs2MDgsOCBAQCBwcml2YXRlOgog
ICAgICAgICBXZWJQcm9jZXNzV2l0aEF1ZGlibGVNZWRpYVRva2VuIHRva2VuOwogICAgIH07CiAg
ICAgT3B0aW9uYWw8QXVkaWJsZU1lZGlhQWN0aXZpdHk+IG1fYXVkaWJsZU1lZGlhQWN0aXZpdHk7
CisKKyAgICBTaHV0ZG93blByZXZlbnRpbmdTY29wZUNvdW50ZXIgbV9zaHV0ZG93blByZXZlbnRp
bmdTY29wZUNvdW50ZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409142</attachid>
            <date>2020-09-18 10:24:47 -0700</date>
            <delta_ts>2020-09-18 10:53:04 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-216131-20200918102446.patch</filename>
            <type>text/plain</type>
            <size>6728</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MjQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDBlZDBjYTBiMjEyNTRhOGIw
YWMyMjA2NmZmOWZmZjk3MDc3MzNhMmUuLmQzNjllZTJmMjVkN2RjNGFjYWMxMDRiMTI0ODM2N2M2
MGVhZTcwYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjAtMDktMTggIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgV2VicGFnZXMgZmxhc2ggd2hlbiBn
ZXR0aW5nIGNsb3NlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE2MTMxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MjI2NDEwNj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICBDbG9zaW5nIGEgcGFnZSBpbiB3
ZWIgcHJvY2VzcyB3aWxsIGRldGFjaCByb290IENBIGxheWVyIGFuZCBjbGVhcnMgY29udGVudCBp
biB2aWV3IGltbWVkaWF0ZWx5LiBJZiB0aGlzIGhhcHBlbnMKKyAgICAgICAgaW4gd2ViIHByb2Nl
c3MgYmVmb3JlIHRyYW5zYWN0aW9uLCB3aGljaCBjb250YWlucyB2aWV3IGhpZXJhY2h5IGNoYW5n
ZSBvciBsYXllciBjaGFuZ2UsIGlzIGNvbW1pdHRlZCBpbiBVSSAKKyAgICAgICAgcHJvY2Vzcywg
d2Ugd291bGQgc2VlIGEgd2hpdGUgZmxhc2guIFRvIHRyeSBmaXhpbmcgdGhpcyBpc3N1ZSwgd2Ug
ZXhwbGljaXRseSBkZWxheSBzZW5kaW5nIHRoZSBjbG9zZSBtZXNzYWdlCisgICAgICAgIHRvIG5l
eHQgcnVubG9vcCBjeWNsZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNsb3NlKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5OjpyZWNlaXZlZE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbik6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1f
c2h1dGRvd25QcmV2ZW50aW5nU2NvcGVDb3VudGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc1Byb3h5OjpjYW5UZXJtaW5hdGVBdXhpbGlhcnlQcm9jZXNzKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6IHJlbW92ZSBjbGFzcyBTY29wZVByZXZlbnRpbmdTaHV0
ZG93biBhbmQgdXNlIFJlZkNvdW50ZXIgdG8gcHJldmVudCBwcm9jZXNzIAorICAgICAgICBzaHV0
ZG93bi4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpzaHV0ZG93blByZXZlbnRp
bmdTY29wZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6U2NvcGVQcmV2ZW50
aW5nU2h1dGRvd246OlNjb3BlUHJldmVudGluZ1NodXRkb3duKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpTY29wZVByZXZlbnRpbmdTaHV0ZG93bjo6flNjb3Bl
UHJldmVudGluZ1NodXRkb3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c1Byb3h5OjptYWtlU2NvcGVQcmV2ZW50aW5nU2h1dGRvd24pOiBEZWxldGVkLgorCiAyMDIwLTA5
LTE4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBIYXNoIGRl
dmljZUlkcyBpbiBXZWJQcm9jZXNzIGluc3RlYWQgb2YgVUlQcm9jZXNzIHRvIGFsbG93IGF1ZGlv
IG91dHB1dCBkZXZpY2UgSURzIGluIFdlYlByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCmluZGV4IGRlMjNlNGI3OGJjZDBjMjg1NzE3M2FjNjNkYTQ4MzM0ZmRl
ZTJjZjMuLjExNjViYjJiNDI0YmVjYjIwNmFiZmYzYjE4NzNlZDFjZGI0ZDg3YmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTE0NSw3ICsxMTQ1LDkgQEAg
dm9pZCBXZWJQYWdlUHJveHk6OmNsb3NlKCkKIAogICAgIG1fcHJvY2Vzcy0+cHJvY2Vzc1Bvb2wo
KS5iYWNrRm9yd2FyZENhY2hlKCkucmVtb3ZlRW50cmllc0ZvclBhZ2UoKnRoaXMpOwogCi0gICAg
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6Q2xvc2UoKSk7CisgICAgUnVuTG9vcDo6Y3VycmVudCgp
LmRpc3BhdGNoKFtkZXN0aW5hdGlvbklEID0gbWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQoKSwg
cHJvdGVjdGVkUHJvY2VzcyA9IG1fcHJvY2Vzcy5jb3B5UmVmKCksIHByZXZlbnRQcm9jZXNzU2h1
dGRvd25TY29wZSA9IG1fcHJvY2Vzcy0+c2h1dGRvd25QcmV2ZW50aW5nU2NvcGUoKV0geworICAg
ICAgICBwcm90ZWN0ZWRQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpDbG9zZSgpLCBk
ZXN0aW5hdGlvbklEKTsKKyAgICB9KTsKICAgICBtX3Byb2Nlc3MtPnJlbW92ZVdlYlBhZ2UoKnRo
aXMsIFdlYlByb2Nlc3NQcm94eTo6RW5kc1VzaW5nRGF0YVN0b3JlOjpZZXMpOwogICAgIG1fcHJv
Y2Vzcy0+cmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Om1lc3Nh
Z2VSZWNlaXZlck5hbWUoKSwgbV93ZWJQYWdlSUQpOwogICAgIG1fcHJvY2Vzcy0+cHJvY2Vzc1Bv
b2woKS5zdXBwbGVtZW50PFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eT4oKS0+Y2xlYXJOb3Rp
ZmljYXRpb25zKHRoaXMpOwpAQCAtMzMwNSw3ICszMzA3LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OnJlY2VpdmVkTmF2aWdhdGlvblBvbGljeURlY2lzaW9uKFBvbGljeUFjdGlvbiBwb2xpY3lBY3Rp
b24sIEEKICAgICAgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiBvcHRpb25h
bEhhbmRsZTsKICAgICAgICAgaWYgKHNob3VsZFByb2Nlc3NTd2FwKSB7CiAgICAgICAgICAgICAv
LyBNYWtlIHN1cmUgdGhlIHByb2Nlc3MgdG8gYmUgdXNlZCBmb3IgdGhlIG5hdmlnYXRpb24gZG9l
cyBub3QgZ2V0IHNodXREb3duIG5vdyBkdWUgdG8gZGVzdHJveWluZyBTdXNwZW5kZWRQYWdlUHJv
eHkgb3IgUHJvdmlzaW9uYWxQYWdlUHJveHkgb2JqZWN0cy4KLSAgICAgICAgICAgIGF1dG8gcHJl
dmVudE5hdmlnYXRpb25Qcm9jZXNzU2h1dGRvd24gPSBwcm9jZXNzRm9yTmF2aWdhdGlvbi0+bWFr
ZVNjb3BlUHJldmVudGluZ1NodXRkb3duKCk7CisgICAgICAgICAgICBhdXRvIHByZXZlbnROYXZp
Z2F0aW9uUHJvY2Vzc1NodXRkb3duID0gcHJvY2Vzc0Zvck5hdmlnYXRpb24tPnNodXRkb3duUHJl
dmVudGluZ1Njb3BlKCk7CiAKICAgICAgICAgICAgIEFTU0VSVCghZGVzdGluYXRpb25TdXNwZW5k
ZWRQYWdlIHx8IG5hdmlnYXRpb24tPnRhcmdldEl0ZW0oKSk7CiAgICAgICAgICAgICBhdXRvIHN1
c3BlbmRlZFBhZ2UgPSBkZXN0aW5hdGlvblN1c3BlbmRlZFBhZ2UgPyBiYWNrRm9yd2FyZENhY2hl
KCkudGFrZVN1c3BlbmRlZFBhZ2UoKm5hdmlnYXRpb24tPnRhcmdldEl0ZW0oKSkgOiBudWxscHRy
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKaW5kZXggMDgz
YTdlNzlhNmRlYmYwZjI5OGNhYzI5OTJlMjcyMzBhYWI1YjFhZS4uZDY2MTAzMzhiNmNmNjBhMjdh
NmY3NWRhZWMzNDlhOGY3MmFiM2I4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkuY3BwCkBAIC0yMDEsNiArMjAxLDcgQEAgV2ViUHJvY2Vzc1Byb3h5OjpXZWJQ
cm9jZXNzUHJveHkoV2ViUHJvY2Vzc1Bvb2wmIHByb2Nlc3NQb29sLCBXZWJzaXRlRGF0YVN0b3Jl
KgogICAgICwgbV91c2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5KG1ha2VVbmlxdWU8VXNlck1l
ZGlhQ2FwdHVyZU1hbmFnZXJQcm94eT4obWFrZVVuaXF1ZVJlZjxVSVByb3h5Rm9yQ2FwdHVyZT4o
KnRoaXMpKSkKICNlbmRpZgogICAgICwgbV9pc1ByZXdhcm1lZChpc1ByZXdhcm1lZCA9PSBJc1By
ZXdhcm1lZDo6WWVzKQorICAgICwgbV9zaHV0ZG93blByZXZlbnRpbmdTY29wZUNvdW50ZXIoW3Ro
aXNdKFJlZkNvdW50ZXJFdmVudCBldmVudCkgeyBpZiAoZXZlbnQgPT0gUmVmQ291bnRlckV2ZW50
OjpEZWNyZW1lbnQpIG1heWJlU2h1dERvd24oKTsgfSkKIHsKICAgICBSRUxFQVNFX0FTU0VSVChp
c01haW5UaHJlYWRPckNoZWNrRGlzYWJsZWQoKSk7CiAKQEAgLTEwOTEsNyArMTA5Miw3IEBAIHZv
aWQgV2ViUHJvY2Vzc1Byb3h5OjptYXliZVNodXREb3duKCkKIAogYm9vbCBXZWJQcm9jZXNzUHJv
eHk6OmNhblRlcm1pbmF0ZUF1eGlsaWFyeVByb2Nlc3MoKQogewotICAgIGlmICghbV9wYWdlTWFw
LmlzRW1wdHkoKSB8fCBtX3N1c3BlbmRlZFBhZ2VDb3VudCB8fCAhbV9wcm92aXNpb25hbFBhZ2Vz
LmlzRW1wdHkoKSB8fCBtX2lzSW5Qcm9jZXNzQ2FjaGUgfHwgbV9zaHV0ZG93blByZXZlbnRpbmdT
Y29wZUNvdW50KQorICAgIGlmICghbV9wYWdlTWFwLmlzRW1wdHkoKSB8fCBtX3N1c3BlbmRlZFBh
Z2VDb3VudCB8fCAhbV9wcm92aXNpb25hbFBhZ2VzLmlzRW1wdHkoKSB8fCBtX2lzSW5Qcm9jZXNz
Q2FjaGUgfHwgbV9zaHV0ZG93blByZXZlbnRpbmdTY29wZUNvdW50ZXIudmFsdWUoKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKGlzUnVubmluZ1NlcnZpY2VXb3JrZXJzKCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IGU0ZGE5M2QzMDZi
OTk4ZjYyMTQ3MzYxNGI3N2M2MDJlMzBhYjQ5NWIuLmUwZThkYzBhYzcwOGIxMjQ4YjFjYzgwYWRj
YjE5ZDE4NDEyMzljNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94
eS5oCkBAIC0yOTQsMjYgKzI5NCw5IEBAIHB1YmxpYzoKICAgICAvLyBXaWxsIHBvdGVudGlhbGx5
IGNhdXNlIHRoZSBXZWJQcm9jZXNzUHJveHkgb2JqZWN0IHRvIGJlIGZyZWVkLgogICAgIHZvaWQg
c2h1dERvd24oKTsKIAotICAgIGNsYXNzIFNjb3BlUHJldmVudGluZ1NodXRkb3duIHsKLSAgICBw
dWJsaWM6Ci0gICAgICAgIGV4cGxpY2l0IFNjb3BlUHJldmVudGluZ1NodXRkb3duKFdlYlByb2Nl
c3NQcm94eSYgcHJvY2VzcykKLSAgICAgICAgICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgICsrKG1fcHJvY2Vzcy0+bV9zaHV0ZG93blByZXZlbnRpbmdTY29w
ZUNvdW50KTsKLSAgICAgICAgfQotCi0gICAgICAgIH5TY29wZVByZXZlbnRpbmdTaHV0ZG93bigp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIEFTU0VSVChtX3Byb2Nlc3MtPm1fc2h1dGRvd25QcmV2
ZW50aW5nU2NvcGVDb3VudCk7Ci0gICAgICAgICAgICBpZiAoIS0tKG1fcHJvY2Vzcy0+bV9zaHV0
ZG93blByZXZlbnRpbmdTY29wZUNvdW50KSkKLSAgICAgICAgICAgICAgICBtX3Byb2Nlc3MtPm1h
eWJlU2h1dERvd24oKTsKLSAgICAgICAgfQotCi0gICAgcHJpdmF0ZToKLSAgICAgICAgUmVmPFdl
YlByb2Nlc3NQcm94eT4gbV9wcm9jZXNzOwotICAgIH07Ci0KLSAgICBTY29wZVByZXZlbnRpbmdT
aHV0ZG93biBtYWtlU2NvcGVQcmV2ZW50aW5nU2h1dGRvd24oKSB7IHJldHVybiBTY29wZVByZXZl
bnRpbmdTaHV0ZG93biB7ICp0aGlzIH07IH0KKyAgICBlbnVtIFNodXRkb3duUHJldmVudGluZ1Nj
b3BlVHlwZSB7IH07CisgICAgdXNpbmcgU2h1dGRvd25QcmV2ZW50aW5nU2NvcGVDb3VudGVyID0g
UmVmQ291bnRlcjxTaHV0ZG93blByZXZlbnRpbmdTY29wZVR5cGU+OworICAgIFNodXRkb3duUHJl
dmVudGluZ1Njb3BlQ291bnRlcjo6VG9rZW4gc2h1dGRvd25QcmV2ZW50aW5nU2NvcGUoKSB7IHJl
dHVybiBtX3NodXRkb3duUHJldmVudGluZ1Njb3BlQ291bnRlci5jb3VudCgpOyB9CiAKICAgICB2
b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yTWFpbkZyYW1lKGNvbnN0IFVSTCYpOwogCkBA
IC01ODYsNyArNTY5LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgdW5zaWduZWQgbV9zdXNw
ZW5kZWRQYWdlQ291bnQgeyAwIH07Ci0gICAgdW5zaWduZWQgbV9zaHV0ZG93blByZXZlbnRpbmdT
Y29wZUNvdW50IHsgMCB9OworCiAgICAgYm9vbCBtX2hhc0NvbW1pdHRlZEFueVByb3Zpc2lvbmFs
TG9hZHMgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1ByZXdhcm1lZDsKICNpZiBFTkFCTEUoQVRU
QUNITUVOVF9FTEVNRU5UKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtNjI1LDYgKzYwOCw4
IEBAIHByaXZhdGU6CiAgICAgICAgIFdlYlByb2Nlc3NXaXRoQXVkaWJsZU1lZGlhVG9rZW4gdG9r
ZW47CiAgICAgfTsKICAgICBPcHRpb25hbDxBdWRpYmxlTWVkaWFBY3Rpdml0eT4gbV9hdWRpYmxl
TWVkaWFBY3Rpdml0eTsKKworICAgIFNodXRkb3duUHJldmVudGluZ1Njb3BlQ291bnRlciBtX3No
dXRkb3duUHJldmVudGluZ1Njb3BlQ291bnRlcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>