<?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>213214</bug_id>
          
          <creation_ts>2020-06-15 14:26:04 -0700</creation_ts>
          <short_desc>Stop calling userPreferredLanguages() in the UIProcess</short_desc>
          <delta_ts>2020-06-22 16:04:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=148671</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=213488</see_also>
          <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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pvollan</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1662822</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-15 14:26:04 -0700</bug_when>
    <thetext>Stop calling userPreferredLanguages() in the UIProcess since this can be slow and may keep the main thread busy. Nowadays, the WebProcess is able to call it by itself anyway. The sandbox is allowing it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662824</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-15 14:26:50 -0700</bug_when>
    <thetext>&lt;rdar://problem/64317593&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662825</commentid>
    <comment_count>2</comment_count>
      <attachid>401938</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-15 14:28:34 -0700</bug_when>
    <thetext>Created attachment 401938
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662838</commentid>
    <comment_count>3</comment_count>
      <attachid>401938</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-06-15 14:53:47 -0700</bug_when>
    <thetext>Comment on attachment 401938
Patch

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

&gt; Source/WTF/ChangeLog:3
&gt; +        Stop calling userPreferredLanguages() in the UIProcess

Does this work when the preference is not global? One can write NSUserDefaults for just the UI process bundle ID, or even from command line with -AppleLanguages option.

It&apos;s not visible in this patch whether that goes in overrideLanguages already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662843</commentid>
    <comment_count>4</comment_count>
      <attachid>401938</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-15 14:58:17 -0700</bug_when>
    <thetext>Comment on attachment 401938
Patch

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

&gt;&gt; Source/WTF/ChangeLog:3
&gt;&gt; +        Stop calling userPreferredLanguages() in the UIProcess
&gt; 
&gt; Does this work when the preference is not global? One can write NSUserDefaults for just the UI process bundle ID, or even from command line with -AppleLanguages option.
&gt; 
&gt; It&apos;s not visible in this patch whether that goes in overrideLanguages already.

I do not expect any behavior change here. We merely call userPreferredLanguages() from the WebProcess instead of calling it in the UIProcess and sending it over IPC. userPreferredLanguages() just returns the overrides if set otherwise ends up calling CFLocaleCopyPreferredLanguages() on Cocoa ports. Calling CFLocaleCopyPreferredLanguages() from the WebProcess works (As confirmed by Per and validated locally) so there is no reason we need to call it from the UIProcess.

I don&apos;t know what overrideLanguages is used for but my patch keeps getting them from the configuration and sending it over IPC. I did not change that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662865</commentid>
    <comment_count>5</comment_count>
      <attachid>401938</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-06-15 15:34:08 -0700</bug_when>
    <thetext>Comment on attachment 401938
Patch

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

&gt;&gt;&gt; Source/WTF/ChangeLog:3
&gt;&gt;&gt; +        Stop calling userPreferredLanguages() in the UIProcess
&gt;&gt; 
&gt;&gt; Does this work when the preference is not global? One can write NSUserDefaults for just the UI process bundle ID, or even from command line with -AppleLanguages option.
&gt;&gt; 
&gt;&gt; It&apos;s not visible in this patch whether that goes in overrideLanguages already.
&gt; 
&gt; I do not expect any behavior change here. We merely call userPreferredLanguages() from the WebProcess instead of calling it in the UIProcess and sending it over IPC. userPreferredLanguages() just returns the overrides if set otherwise ends up calling CFLocaleCopyPreferredLanguages() on Cocoa ports. Calling CFLocaleCopyPreferredLanguages() from the WebProcess works (As confirmed by Per and validated locally) so there is no reason we need to call it from the UIProcess.
&gt; 
&gt; I don&apos;t know what overrideLanguages is used for but my patch keeps getting them from the configuration and sending it over IPC. I did not change that.

We perform work to make CFLocale languages in WebProcess match UI process, but it&apos;s very much not obvious if they are going to return the same result always. I would object to landing this at the current level of understanding.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662873</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-15 15:59:13 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #5)
&gt; Comment on attachment 401938 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=401938&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WTF/ChangeLog:3
&gt; &gt;&gt;&gt; +        Stop calling userPreferredLanguages() in the UIProcess
&gt; &gt;&gt; 
&gt; &gt;&gt; Does this work when the preference is not global? One can write NSUserDefaults for just the UI process bundle ID, or even from command line with -AppleLanguages option.
&gt; &gt;&gt; 
&gt; &gt;&gt; It&apos;s not visible in this patch whether that goes in overrideLanguages already.
&gt; &gt; 
&gt; &gt; I do not expect any behavior change here. We merely call userPreferredLanguages() from the WebProcess instead of calling it in the UIProcess and sending it over IPC. userPreferredLanguages() just returns the overrides if set otherwise ends up calling CFLocaleCopyPreferredLanguages() on Cocoa ports. Calling CFLocaleCopyPreferredLanguages() from the WebProcess works (As confirmed by Per and validated locally) so there is no reason we need to call it from the UIProcess.
&gt; &gt; 
&gt; &gt; I don&apos;t know what overrideLanguages is used for but my patch keeps getting them from the configuration and sending it over IPC. I did not change that.
&gt; 
&gt; We perform work to make CFLocale languages in WebProcess match UI process,
&gt; but it&apos;s very much not obvious if they are going to return the same result
&gt; always. I would object to landing this at the current level of understanding.

I do not understand what you mean by &quot;We perform work to make CFLocale languages in WebProcess match UI process&quot;. All this patch does is call CFLocaleCopyPreferredLanguages() from the WebProcess instead of the UIProcess (like it used to a while back).

I change language in system Preferences on both macOS and iOS and navigator.languages returns the right languages.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662878</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-06-15 16:08:04 -0700</bug_when>
    <thetext>I explained it in the first comment why testing just the global defaults is insufficient. We need to make this work in all these situations:

1. AppleLanguages user default is different between WebContent and UI process. 

2. Available localizations are different between WebContent and UI process.

CFLocaleCopyPreferredLanguages takes both defaults and localizations into consideration. There is no &quot;just&quot; about moving it between processes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662882</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-06-15 16:17:12 -0700</bug_when>
    <thetext>&gt; like it used to a while back

I&apos;m not sure what exactly you mean by &quot;a while back&quot;. Was that a recent change? Do you know which one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662885</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-15 16:22:07 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #7)
&gt; I explained it in the first comment why testing just the global defaults is
&gt; insufficient. We need to make this work in all these situations:
&gt; 
&gt; 1. AppleLanguages user default is different between WebContent and UI
&gt; process. 
&gt; 
&gt; 2. Available localizations are different between WebContent and UI process.
&gt; 
&gt; CFLocaleCopyPreferredLanguages takes both defaults and localizations into
&gt; consideration. There is no &quot;just&quot; about moving it between processes.

Ok, I think I am able to reproduce the issue you were concerned about. I did:
dvdo defaults write com.apple.Safari AppleLanguages &apos;(&quot;en-US&quot;, &quot;fr-FR&quot;)&apos;

In the UIProcess, I see both but in the WebContent process I only see en-US. I did not know this was a supported mechanism to change the locale of Safari.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662888</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-15 16:26:48 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #9)
&gt; (In reply to Alexey Proskuryakov from comment #7)
&gt; &gt; I explained it in the first comment why testing just the global defaults is
&gt; &gt; insufficient. We need to make this work in all these situations:
&gt; &gt; 
&gt; &gt; 1. AppleLanguages user default is different between WebContent and UI
&gt; &gt; process. 
&gt; &gt; 
&gt; &gt; 2. Available localizations are different between WebContent and UI process.
&gt; &gt; 
&gt; &gt; CFLocaleCopyPreferredLanguages takes both defaults and localizations into
&gt; &gt; consideration. There is no &quot;just&quot; about moving it between processes.
&gt; 
&gt; Ok, I think I am able to reproduce the issue you were concerned about. I did:
&gt; dvdo defaults write com.apple.Safari AppleLanguages &apos;(&quot;en-US&quot;, &quot;fr-FR&quot;)&apos;
&gt; 
&gt; In the UIProcess, I see both but in the WebContent process I only see en-US.
&gt; I did not know this was a supported mechanism to change the locale of Safari.

There is code in XPCServiceMain.mm that tries to deal with AppleLanguages. Did not seem to work for me. Will try and figure out why.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662904</commentid>
    <comment_count>11</comment_count>
      <attachid>401958</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-15 17:06:23 -0700</bug_when>
    <thetext>Created attachment 401958
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662905</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-15 17:07:09 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #11)
&gt; Created attachment 401958 [details]
&gt; Patch

This iteration forwards AppleLanguages UserDefaults from the UIProcess to the WebContent process to keep it working.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662907</commentid>
    <comment_count>13</comment_count>
      <attachid>401959</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-15 17:10:27 -0700</bug_when>
    <thetext>Created attachment 401959
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662926</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-06-15 18:02:16 -0700</bug_when>
    <thetext>I won&apos;t have time to think about this deeply soon, but given that you made these scenarios work, the patch must be OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663094</commentid>
    <comment_count>15</comment_count>
      <attachid>401959</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-06-16 08:26:19 -0700</bug_when>
    <thetext>Comment on attachment 401959
Patch

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

R=me. After this patch, can the language related code in XPCServiceMain.mm be removed?

&gt; Source/WebKit/UIProcess/WebProcessPool.cpp:1085
&gt; +    userPreferredLanguages();

Is this call needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663095</commentid>
    <comment_count>16</comment_count>
      <attachid>401959</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-16 08:27:28 -0700</bug_when>
    <thetext>Comment on attachment 401959
Patch

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

&gt;&gt; Source/WebKit/UIProcess/WebProcessPool.cpp:1085
&gt;&gt; +    userPreferredLanguages();
&gt; 
&gt; Is this call needed?

Hahah lol, I had added it for debugging purposes :) Will drop. Thanks for catching.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663096</commentid>
    <comment_count>17</comment_count>
      <attachid>402006</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-16 08:29:25 -0700</bug_when>
    <thetext>Created attachment 402006
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663097</commentid>
    <comment_count>18</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-16 08:30:08 -0700</bug_when>
    <thetext>Committed r263094: &lt;https://trac.webkit.org/changeset/263094&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663100</commentid>
    <comment_count>19</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-16 08:32:59 -0700</bug_when>
    <thetext>(In reply to Per Arne Vollan from comment #15)
&gt; Comment on attachment 401959 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=401959&amp;action=review
&gt; 
&gt; R=me. After this patch, can the language related code in XPCServiceMain.mm
&gt; be removed?

No, my patch actually relies on the code in XPCServiceMain to forward the AppleLanguages UserDefaults from the UIProcess to the WebProcess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663124</commentid>
    <comment_count>20</comment_count>
      <attachid>401959</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-06-16 09:38:27 -0700</bug_when>
    <thetext>Comment on attachment 401959
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:261
&gt; +        Vector&lt;String&gt; overrideLanguages;
&gt; +        overrideLanguages.reserveInitialCapacity([languages count]);
&gt; +        for (NSString *language in languages)
&gt; +            overrideLanguages.uncheckedAppend(language);
&gt; +        return overrideLanguages;

The makeNSArray function in VectorCocoa.h does this for you; you don’t have to write it out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663134</commentid>
    <comment_count>21</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-16 10:08:15 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #20)
&gt; Comment on attachment 401959 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=401959&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:261
&gt; &gt; +        Vector&lt;String&gt; overrideLanguages;
&gt; &gt; +        overrideLanguages.reserveInitialCapacity([languages count]);
&gt; &gt; +        for (NSString *language in languages)
&gt; &gt; +            overrideLanguages.uncheckedAppend(language);
&gt; &gt; +        return overrideLanguages;
&gt; 
&gt; The makeNSArray function in VectorCocoa.h does this for you; you don’t have
&gt; to write it out.

I assume you mean makeVector&lt;String&gt;(). It looks great, I did not know it existed. I will fix shortly, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663135</commentid>
    <comment_count>22</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-16 10:10:50 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663136</commentid>
    <comment_count>23</comment_count>
      <attachid>402017</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-16 10:10:51 -0700</bug_when>
    <thetext>Created attachment 402017
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663137</commentid>
    <comment_count>24</comment_count>
      <attachid>402017</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-06-16 10:14:08 -0700</bug_when>
    <thetext>Comment on attachment 402017
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:253
&gt;      NeverDestroyed&lt;Vector&lt;String&gt;&gt; overrideLanguages = []() {

Just noticed that &quot;static&quot; is missing here, so we are probably leaking vectors.

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:255
&gt;          NSArray *languages = [[NSUserDefaults standardUserDefaults] valueForKey:@&quot;AppleLanguages&quot;];
&gt; -        if (!languages)
&gt; -            return Vector&lt;WTF::String&gt; { };
&gt; -
&gt; -        Vector&lt;String&gt; overrideLanguages;
&gt; -        overrideLanguages.reserveInitialCapacity([languages count]);
&gt; -        for (NSString *language in languages)
&gt; -            overrideLanguages.uncheckedAppend(language);
&gt; -        return overrideLanguages;
&gt; +        return makeVector&lt;String&gt;(languages);

Could go one step further and make this one line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663138</commentid>
    <comment_count>25</comment_count>
      <attachid>402017</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-06-16 10:16:11 -0700</bug_when>
    <thetext>Comment on attachment 402017
Patch

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

&gt;&gt; Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:253
&gt;&gt;      NeverDestroyed&lt;Vector&lt;String&gt;&gt; overrideLanguages = []() {
&gt; 
&gt; Just noticed that &quot;static&quot; is missing here, so we are probably leaking vectors.

Should probably be static const NeverDestroyed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663143</commentid>
    <comment_count>26</comment_count>
      <attachid>402018</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-16 10:22:44 -0700</bug_when>
    <thetext>Created attachment 402018
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663144</commentid>
    <comment_count>27</comment_count>
      <attachid>402019</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-16 10:24:01 -0700</bug_when>
    <thetext>Created attachment 402019
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663145</commentid>
    <comment_count>28</comment_count>
      <attachid>402019</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-06-16 10:34:23 -0700</bug_when>
    <thetext>Comment on attachment 402019
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:255
&gt; +    static const NeverDestroyed&lt;Vector&lt;String&gt;&gt; overrideLanguages = []() {
&gt; +        return makeVector&lt;String&gt;([[NSUserDefaults standardUserDefaults] valueForKey:@&quot;AppleLanguages&quot;]);
&gt;      }();

Oh, don’t even need a lambda now!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663148</commentid>
    <comment_count>29</comment_count>
      <attachid>402020</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-16 10:35:59 -0700</bug_when>
    <thetext>Created attachment 402020
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663149</commentid>
    <comment_count>30</comment_count>
      <attachid>402019</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-06-16 10:36:28 -0700</bug_when>
    <thetext>Comment on attachment 402019
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:256
&gt;      return overrideLanguages.get();

Not sure we need to write the get() here; I think it works without it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663150</commentid>
    <comment_count>31</comment_count>
      <attachid>402020</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-16 10:36:29 -0700</bug_when>
    <thetext>Comment on attachment 402020
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:253
&gt; +    static const NeverDestroyed&lt;Vector&lt;String&gt;&gt; overrideLanguages = makeVector&lt;String&gt;([[NSUserDefaults standardUserDefaults] valueForKey:@&quot;AppleLanguages&quot;]);

Well, that is much more concise :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663151</commentid>
    <comment_count>32</comment_count>
      <attachid>402021</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-16 10:37:36 -0700</bug_when>
    <thetext>Created attachment 402021
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663152</commentid>
    <comment_count>33</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-16 10:37:58 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #30)
&gt; Comment on attachment 402019 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=402019&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:256
&gt; &gt;      return overrideLanguages.get();
&gt; 
&gt; Not sure we need to write the get() here; I think it works without it.

It is indeed not needed, I dropped it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663169</commentid>
    <comment_count>34</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-16 11:10:05 -0700</bug_when>
    <thetext>Committed r263100: &lt;https://trac.webkit.org/changeset/263100&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 402021.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401938</attachid>
            <date>2020-06-15 14:28:34 -0700</date>
            <delta_ts>2020-06-15 17:06:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213214-20200615142833.patch</filename>
            <type>text/plain</type>
            <size>8861</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY0YTdmNDBkYmUzNTBiNTllNGNhZWI4
NmEyYmU1ZDU1YmVlMGViMmYuLjViZDNiMjJlOWQ0NzA5YjY1ODZhNmRiZjNkZmViZjM2YzJhZDhj
NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDYtMTUgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIGNhbGxpbmcgdXNlclByZWZlcnJlZExhbmd1YWdl
cygpIGluIHRoZSBVSVByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxMzIxNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjQzMTc1OTM+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3J0IFdU
Rjo6bGFuZ3VhZ2VEaWRDaGFuZ2UoKSBzbyB3ZSBjYW4gY2FsbCBpdCBmcm9tIFdlYktpdDIuCisK
KyAgICAgICAgKiB3dGYvTGFuZ3VhZ2UuaDoKKwogMjAyMC0wNi0xNSAgS2VpdGggTWlsbGVyICA8
a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBidWlsZCBmaXgg
Zm9yIGJ1aWxkIHdpdGhvdXQgbWFjaCBleGNlcHRpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBmY2U2NDUxMzY1
ODFhNGEwOGRkMGNmNDY2OWM4NjBkZmU0ZDlmNjAzLi5iZGNjMjE2NDdhNjNhN2QzZGMzNGQwZGQx
NTUyNjdjMzM2ZGYxMGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTA2LTE1ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3RvcCBjYWxsaW5nIHVz
ZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSBpbiB0aGUgVUlQcm9jZXNzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTMyMTQKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzY0MzE3NTkzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFN0b3AgY2FsbGluZyB1c2VyUHJlZmVycmVkTGFuZ3VhZ2VzKCkgaW4gdGhlIFVJ
UHJvY2VzcyBzaW5jZSB0aGlzIGNhbiBiZSBzbG93IGFuZCBtYXkga2VlcAorICAgICAgICB0aGUg
bWFpbiB0aHJlYWQgYnVzeS4gTm93YWRheXMsIHRoZSBXZWJQcm9jZXNzIGlzIGFibGUgdG8gY2Fs
bCBpdCBieSBpdHNlbGYgYW55d2F5LiBUaGUKKyAgICAgICAgc2FuZGJveCBpcyBhbGxvd2luZyBp
dC4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNv
bnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVj
b2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQb29sOjpsYW5ndWFnZUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxp
emVXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6dXNlclByZWZlcnJl
ZExhbmd1YWdlc0NoYW5nZWQgY29uc3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKwogMjAy
MC0wNi0xNSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBTaWduYWwgaGFuZGxlcnMgc2hvdWxkIGhhdmUgYSB0d28gcGhhc2UgaW5zdGFsbGF0aW9uLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTGFuZ3VhZ2UuaCBiL1NvdXJjZS9XVEYvd3RmL0xh
bmd1YWdlLmgKaW5kZXggNjliZjJmM2VlODg1NWNkZmRmYTA3ZjEyMWU0NDdlMzMwMjhjZTU5MC4u
YjhiOTA5NTZjZTgzNGY4NjdjMzE4NTg4NzExMjNlNmFhMjRhNjM4YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvTGFuZ3VhZ2UuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFnZS5oCkBA
IC00Miw3ICs0Miw3IEBAIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIG92ZXJyaWRlVXNlclByZWZl
cnJlZExhbmd1YWdlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYpOwogV1RGX0VYUE9SVF9QUklWQVRF
IHNpemVfdCBpbmRleE9mQmVzdE1hdGNoaW5nTGFuZ3VhZ2VJbkxpc3QoY29uc3QgU3RyaW5nJiBs
YW5ndWFnZSwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGxhbmd1YWdlTGlzdCwgYm9vbCYgZXhhY3RN
YXRjaCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgVmVjdG9yPFN0cmluZz4gcGxhdGZvcm1Vc2VyUHJl
ZmVycmVkTGFuZ3VhZ2VzKCk7CiAvLyBDYWxsZWQgZnJvbSBwbGF0Zm9ybSBzcGVjaWZpYyBjb2Rl
IHdoZW4gdGhlIHVzZXIncyBwcmVmZXJyZWQgbGFuZ3VhZ2UocykgY2hhbmdlLgotdm9pZCBsYW5n
dWFnZURpZENoYW5nZSgpOworV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgbGFuZ3VhZ2VEaWRDaGFu
Z2UoKTsKIAogLy8gVGhlIG9ic2VydmVyIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIHdoZW4gc3lz
dGVtIGxhbmd1YWdlIGNoYW5nZXMuCiB0eXBlZGVmIHZvaWQgKCpMYW5ndWFnZUNoYW5nZU9ic2Vy
dmVyRnVuY3Rpb24pKHZvaWQqIGNvbnRleHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAppbmRleCBjMDA5NTc4NzFlMjRi
OTQwZTdiNGQzN2M0OTkxYmE0OTg5NTE1ZDkxLi44MWNjOWY4ZDc1NWVjODExNmZiMWQ2NjkwZjdh
OGRiNzY0NmFkZWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtNzksNyArNzksNyBAQCB2b2lkIFdlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0
CiAgICAgZW5jb2RlciA8PCBzaG91bGRVc2VGb250U21vb3RoaW5nOwogICAgIGVuY29kZXIgPDwg
Zm9udFdoaXRlbGlzdDsKICAgICBlbmNvZGVyIDw8IHRlcm1pbmF0aW9uVGltZW91dDsKLSAgICBl
bmNvZGVyIDw8IGxhbmd1YWdlczsKKyAgICBlbmNvZGVyIDw8IG92ZXJyaWRlTGFuZ3VhZ2VzOwog
I2lmIFVTRShHU1RSRUFNRVIpCiAgICAgZW5jb2RlciA8PCBnc3RyZWFtZXJPcHRpb25zOwogI2Vu
ZGlmCkBAIC0yODQsNyArMjg0LDcgQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
OjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBXZWJQcm9jZXNzQ3JlYXQKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy50ZXJtaW5h
dGlvblRpbWVvdXQpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShwYXJhbWV0ZXJzLmxhbmd1YWdlcykpCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJh
bWV0ZXJzLm92ZXJyaWRlTGFuZ3VhZ2VzKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2lmIFVT
RShHU1RSRUFNRVIpCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLmdzdHJlYW1l
ck9wdGlvbnMpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oCmluZGV4IDc3OTAyYzFhZGE0NTg0ZGExYWY5MTBhZTMwNDJhYTMyMTYz
YTZhMmUuLjZhM2ViYTJmM2RiODhiYmFkMGM4ZjUyOWMxM2E1NjA3ZDExNjFjZmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgK
QEAgLTEwNyw3ICsxMDcsNyBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7
CiAgICAgVmVjdG9yPFN0cmluZz4gdXJsU2NoZW1lc1JlZ2lzdGVyZWRBc0NhbkRpc3BsYXlPbmx5
SWZDYW5SZXF1ZXN0OwogCiAgICAgVmVjdG9yPFN0cmluZz4gZm9udFdoaXRlbGlzdDsKLSAgICBW
ZWN0b3I8U3RyaW5nPiBsYW5ndWFnZXM7CisgICAgVmVjdG9yPFN0cmluZz4gb3ZlcnJpZGVMYW5n
dWFnZXM7CiAjaWYgVVNFKEdTVFJFQU1FUikKICAgICBWZWN0b3I8U3RyaW5nPiBnc3RyZWFtZXJP
cHRpb25zOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAKaW5kZXggZmMxZGM0MjI5YjI4ZTE4YzkxMWNiY2Q3NzMwZDNlNTJlYWRmNjNmZS4uYzQ5NWJj
OTM5MzA3MGRlNmM4ZjRhMDBlM2M4NmY3ZGU3NTc3ODRlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtNDQ0LDcgKzQ0NCw3IEBAIHZvaWQgV2ViUHJv
Y2Vzc1Bvb2w6Omxhbmd1YWdlQ2hhbmdlZCh2b2lkKiBjb250ZXh0KQogCiB2b2lkIFdlYlByb2Nl
c3NQb29sOjpsYW5ndWFnZUNoYW5nZWQoKQogewotICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNz
YWdlczo6V2ViUHJvY2Vzczo6VXNlclByZWZlcnJlZExhbmd1YWdlc0NoYW5nZWQodXNlclByZWZl
cnJlZExhbmd1YWdlcygpKSk7CisgICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQ
cm9jZXNzOjpVc2VyUHJlZmVycmVkTGFuZ3VhZ2VzQ2hhbmdlZCgpKTsKICNpZiBVU0UoU09VUCkK
ICAgICBpZiAobV9uZXR3b3JrUHJvY2VzcykKICAgICAgICAgbV9uZXR3b3JrUHJvY2Vzcy0+c2Vu
ZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OlVzZXJQcmVmZXJyZWRMYW5ndWFnZXNDaGFuZ2Vk
KHVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSksIDApOwpAQCAtMTAyOSw3ICsxMDI5LDcgQEAgdm9p
ZCBXZWJQcm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nlc3MoV2ViUHJvY2Vzc1Byb3h5
JiBwcm9jZXNzLCBXZWJzaXRlRGEKICNlbmRpZgogCiAgICAgcGFyYW1ldGVycy5jYWNoZU1vZGVs
ID0gTGVnYWN5R2xvYmFsU2V0dGluZ3M6OnNpbmdsZXRvbigpLmNhY2hlTW9kZWwoKTsKLSAgICBw
YXJhbWV0ZXJzLmxhbmd1YWdlcyA9IGNvbmZpZ3VyYXRpb24oKS5vdmVycmlkZUxhbmd1YWdlcygp
LmlzRW1wdHkoKSA/IHVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSA6IGNvbmZpZ3VyYXRpb24oKS5v
dmVycmlkZUxhbmd1YWdlcygpOworICAgIHBhcmFtZXRlcnMub3ZlcnJpZGVMYW5ndWFnZXMgPSBj
b25maWd1cmF0aW9uKCkub3ZlcnJpZGVMYW5ndWFnZXMoKTsKIAogICAgIHBhcmFtZXRlcnMudXJs
U2NoZW1lc1JlZ2lzdGVyZWRBc0VtcHR5RG9jdW1lbnQgPSBjb3B5VG9WZWN0b3IobV9zY2hlbWVz
VG9SZWdpc3RlckFzRW1wdHlEb2N1bWVudCk7CiAgICAgcGFyYW1ldGVycy51cmxTY2hlbWVzUmVn
aXN0ZXJlZEFzU2VjdXJlID0gY29weVRvVmVjdG9yKExlZ2FjeUdsb2JhbFNldHRpbmdzOjpzaW5n
bGV0b24oKS5zY2hlbWVzVG9SZWdpc3RlckFzU2VjdXJlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGFiOWNiYWQxOGUwMmY1ZGEzZTAzY2UwYzU4ZTQ2ZWU3
YTIyNzM5ZWQuLjdlN2U5MTIyZmUwNzU2MjQ3ZTY2ZWFhNzc1MmY5YzUwZjM3MjVkZjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTM5MSw4ICszOTEsOCBAQCB2
b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogCiAgICAgc2V0Q2FjaGVNb2RlbChwYXJhbWV0ZXJzLmNh
Y2hlTW9kZWwpOwogCi0gICAgaWYgKCFwYXJhbWV0ZXJzLmxhbmd1YWdlcy5pc0VtcHR5KCkpCi0g
ICAgICAgIG92ZXJyaWRlVXNlclByZWZlcnJlZExhbmd1YWdlcyhwYXJhbWV0ZXJzLmxhbmd1YWdl
cyk7CisgICAgaWYgKCFwYXJhbWV0ZXJzLm92ZXJyaWRlTGFuZ3VhZ2VzLmlzRW1wdHkoKSkKKyAg
ICAgICAgb3ZlcnJpZGVVc2VyUHJlZmVycmVkTGFuZ3VhZ2VzKHBhcmFtZXRlcnMub3ZlcnJpZGVM
YW5ndWFnZXMpOwogCiAgICAgbV90ZXh0Q2hlY2tlclN0YXRlID0gcGFyYW1ldGVycy50ZXh0Q2hl
Y2tlclN0YXRlOwogCkBAIC02NDUsOSArNjQ1LDkgQEAgdm9pZCBXZWJQcm9jZXNzOjpzZXRTaG91
bGRVc2VGb250U21vb3RoaW5nKGJvb2wgdXNlRm9udFNtb290aGluZykKICAgICBXZWJDb3JlOjpG
b250Q2FzY2FkZTo6c2V0U2hvdWxkVXNlU21vb3RoaW5nKHVzZUZvbnRTbW9vdGhpbmcpOwogfQog
Ci12b2lkIFdlYlByb2Nlc3M6OnVzZXJQcmVmZXJyZWRMYW5ndWFnZXNDaGFuZ2VkKGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBsYW5ndWFnZXMpIGNvbnN0Cit2b2lkIFdlYlByb2Nlc3M6OnVzZXJQcmVm
ZXJyZWRMYW5ndWFnZXNDaGFuZ2VkKCkgY29uc3QKIHsKLSAgICBvdmVycmlkZVVzZXJQcmVmZXJy
ZWRMYW5ndWFnZXMobGFuZ3VhZ2VzKTsKKyAgICBXVEY6Omxhbmd1YWdlRGlkQ2hhbmdlKCk7CiB9
CiAKIHZvaWQgV2ViUHJvY2Vzczo6ZnVsbEtleWJvYXJkQWNjZXNzTW9kZUNoYW5nZWQoYm9vbCBm
dWxsS2V5Ym9hcmRBY2Nlc3NFbmFibGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmgKaW5kZXggNWUyMGJhMGY4NjZlMjExYzQ5MjczZmU3ZTNlNmRhNGRiYjYwZDUyZC4uNThmZDEx
ZDYwYTkwOGRiYmRhYTBmMjEyYmZhZmNkMTU4OTE1ZmI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oCkBAIC0zNzcsNyArMzc3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNs
ZWFyUmVzb3VyY2VMb2FkU3RhdGlzdGljcygpOwogICAgIHZvaWQgZmx1c2hSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzKCk7CiAgICAgdm9pZCBzZWVkUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZvclRlc3Rp
bmcoY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mIGZpcnN0UGFydHlEb21haW4sIGNv
bnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiB0aGlyZFBhcnR5RG9tYWluLCBib29sIHNo
b3VsZFNjaGVkdWxlTm90aWZpY2F0aW9uLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwot
ICAgIHZvaWQgdXNlclByZWZlcnJlZExhbmd1YWdlc0NoYW5nZWQoY29uc3QgVmVjdG9yPFN0cmlu
Zz4mKSBjb25zdDsKKyAgICB2b2lkIHVzZXJQcmVmZXJyZWRMYW5ndWFnZXNDaGFuZ2VkKCkgY29u
c3Q7CiAgICAgdm9pZCBmdWxsS2V5Ym9hcmRBY2Nlc3NNb2RlQ2hhbmdlZChib29sIGZ1bGxLZXli
b2FyZEFjY2Vzc0VuYWJsZWQpOwogCiAgICAgYm9vbCBpc1BsdWdJbkF1dG9TdGFydE9yaWdpbkhh
c2godW5zaWduZWQgcGx1Z0luT3JpZ2luSGFzaCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDVlN2E3NzNjYTE2MTJjNTRmOWJmYTMy
ZTE5OWE1MzA1MDU2MDIwMmYuLmNmYTNlNGQwMDM3ZWFhNTczMzllNDMzNzFhZjEzZGFmNmIzZmMy
ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2Vz
LmluCkBAIC00OSw3ICs0OSw3IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVnYWN5UmVjZWl2
ZXIgTm90UmVmQ291bnRlZCB7CiAgICAgU2V0U2hvdWxkVXNlRm9udFNtb290aGluZyhib29sIHVz
ZUZvbnRTbW9vdGhpbmcpCiAgICAgU2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoYm9v
bCByZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCk7CiAgICAgQ2xlYXJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzKCk7Ci0gICAgVXNlclByZWZlcnJlZExhbmd1YWdlc0NoYW5nZWQoVmVjdG9yPFN0
cmluZz4gbGFuZ3VhZ2VzKQorICAgIFVzZXJQcmVmZXJyZWRMYW5ndWFnZXNDaGFuZ2VkKCkKICAg
ICBGdWxsS2V5Ym9hcmRBY2Nlc3NNb2RlQ2hhbmdlZChib29sIGZ1bGxLZXlib2FyZEFjY2Vzc0Vu
YWJsZWQpCiAKICAgICAjIFBsdWctaW5zLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401958</attachid>
            <date>2020-06-15 17:06:23 -0700</date>
            <delta_ts>2020-06-15 17:10:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213214-20200615170622.patch</filename>
            <type>text/plain</type>
            <size>11858</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY0YTdmNDBkYmUzNTBiNTllNGNhZWI4
NmEyYmU1ZDU1YmVlMGViMmYuLjViZDNiMjJlOWQ0NzA5YjY1ODZhNmRiZjNkZmViZjM2YzJhZDhj
NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDYtMTUgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIGNhbGxpbmcgdXNlclByZWZlcnJlZExhbmd1YWdl
cygpIGluIHRoZSBVSVByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxMzIxNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjQzMTc1OTM+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3J0IFdU
Rjo6bGFuZ3VhZ2VEaWRDaGFuZ2UoKSBzbyB3ZSBjYW4gY2FsbCBpdCBmcm9tIFdlYktpdDIuCisK
KyAgICAgICAgKiB3dGYvTGFuZ3VhZ2UuaDoKKwogMjAyMC0wNi0xNSAgS2VpdGggTWlsbGVyICA8
a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBidWlsZCBmaXgg
Zm9yIGJ1aWxkIHdpdGhvdXQgbWFjaCBleGNlcHRpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBmY2U2NDUxMzY1
ODFhNGEwOGRkMGNmNDY2OWM4NjBkZmU0ZDlmNjAzLi5iZGNjMjE2NDdhNjNhN2QzZGMzNGQwZGQx
NTUyNjdjMzM2ZGYxMGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTA2LTE1ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3RvcCBjYWxsaW5nIHVz
ZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSBpbiB0aGUgVUlQcm9jZXNzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTMyMTQKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzY0MzE3NTkzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFN0b3AgY2FsbGluZyB1c2VyUHJlZmVycmVkTGFuZ3VhZ2VzKCkgaW4gdGhlIFVJ
UHJvY2VzcyBzaW5jZSB0aGlzIGNhbiBiZSBzbG93IGFuZCBtYXkga2VlcAorICAgICAgICB0aGUg
bWFpbiB0aHJlYWQgYnVzeS4gTm93YWRheXMsIHRoZSBXZWJQcm9jZXNzIGlzIGFibGUgdG8gY2Fs
bCBpdCBieSBpdHNlbGYgYW55d2F5LiBUaGUKKyAgICAgICAgc2FuZGJveCBpcyBhbGxvd2luZyBp
dC4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNv
bnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVj
b2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQb29sOjpsYW5ndWFnZUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxp
emVXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6dXNlclByZWZlcnJl
ZExhbmd1YWdlc0NoYW5nZWQgY29uc3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKwogMjAy
MC0wNi0xNSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBTaWduYWwgaGFuZGxlcnMgc2hvdWxkIGhhdmUgYSB0d28gcGhhc2UgaW5zdGFsbGF0aW9uLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTGFuZ3VhZ2UuaCBiL1NvdXJjZS9XVEYvd3RmL0xh
bmd1YWdlLmgKaW5kZXggNjliZjJmM2VlODg1NWNkZmRmYTA3ZjEyMWU0NDdlMzMwMjhjZTU5MC4u
YjhiOTA5NTZjZTgzNGY4NjdjMzE4NTg4NzExMjNlNmFhMjRhNjM4YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvTGFuZ3VhZ2UuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFnZS5oCkBA
IC00Miw3ICs0Miw3IEBAIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIG92ZXJyaWRlVXNlclByZWZl
cnJlZExhbmd1YWdlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYpOwogV1RGX0VYUE9SVF9QUklWQVRF
IHNpemVfdCBpbmRleE9mQmVzdE1hdGNoaW5nTGFuZ3VhZ2VJbkxpc3QoY29uc3QgU3RyaW5nJiBs
YW5ndWFnZSwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGxhbmd1YWdlTGlzdCwgYm9vbCYgZXhhY3RN
YXRjaCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgVmVjdG9yPFN0cmluZz4gcGxhdGZvcm1Vc2VyUHJl
ZmVycmVkTGFuZ3VhZ2VzKCk7CiAvLyBDYWxsZWQgZnJvbSBwbGF0Zm9ybSBzcGVjaWZpYyBjb2Rl
IHdoZW4gdGhlIHVzZXIncyBwcmVmZXJyZWQgbGFuZ3VhZ2UocykgY2hhbmdlLgotdm9pZCBsYW5n
dWFnZURpZENoYW5nZSgpOworV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgbGFuZ3VhZ2VEaWRDaGFu
Z2UoKTsKIAogLy8gVGhlIG9ic2VydmVyIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIHdoZW4gc3lz
dGVtIGxhbmd1YWdlIGNoYW5nZXMuCiB0eXBlZGVmIHZvaWQgKCpMYW5ndWFnZUNoYW5nZU9ic2Vy
dmVyRnVuY3Rpb24pKHZvaWQqIGNvbnRleHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAppbmRleCBjMDA5NTc4NzFlMjRi
OTQwZTdiNGQzN2M0OTkxYmE0OTg5NTE1ZDkxLi44MWNjOWY4ZDc1NWVjODExNmZiMWQ2NjkwZjdh
OGRiNzY0NmFkZWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtNzksNyArNzksNyBAQCB2b2lkIFdlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0
CiAgICAgZW5jb2RlciA8PCBzaG91bGRVc2VGb250U21vb3RoaW5nOwogICAgIGVuY29kZXIgPDwg
Zm9udFdoaXRlbGlzdDsKICAgICBlbmNvZGVyIDw8IHRlcm1pbmF0aW9uVGltZW91dDsKLSAgICBl
bmNvZGVyIDw8IGxhbmd1YWdlczsKKyAgICBlbmNvZGVyIDw8IG92ZXJyaWRlTGFuZ3VhZ2VzOwog
I2lmIFVTRShHU1RSRUFNRVIpCiAgICAgZW5jb2RlciA8PCBnc3RyZWFtZXJPcHRpb25zOwogI2Vu
ZGlmCkBAIC0yODQsNyArMjg0LDcgQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
OjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBXZWJQcm9jZXNzQ3JlYXQKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy50ZXJtaW5h
dGlvblRpbWVvdXQpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShwYXJhbWV0ZXJzLmxhbmd1YWdlcykpCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJh
bWV0ZXJzLm92ZXJyaWRlTGFuZ3VhZ2VzKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2lmIFVT
RShHU1RSRUFNRVIpCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLmdzdHJlYW1l
ck9wdGlvbnMpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oCmluZGV4IDc3OTAyYzFhZGE0NTg0ZGExYWY5MTBhZTMwNDJhYTMyMTYz
YTZhMmUuLjZhM2ViYTJmM2RiODhiYmFkMGM4ZjUyOWMxM2E1NjA3ZDExNjFjZmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgK
QEAgLTEwNyw3ICsxMDcsNyBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7
CiAgICAgVmVjdG9yPFN0cmluZz4gdXJsU2NoZW1lc1JlZ2lzdGVyZWRBc0NhbkRpc3BsYXlPbmx5
SWZDYW5SZXF1ZXN0OwogCiAgICAgVmVjdG9yPFN0cmluZz4gZm9udFdoaXRlbGlzdDsKLSAgICBW
ZWN0b3I8U3RyaW5nPiBsYW5ndWFnZXM7CisgICAgVmVjdG9yPFN0cmluZz4gb3ZlcnJpZGVMYW5n
dWFnZXM7CiAjaWYgVVNFKEdTVFJFQU1FUikKICAgICBWZWN0b3I8U3RyaW5nPiBnc3RyZWFtZXJP
cHRpb25zOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCmluZGV4IGJhY2Q0ODM0MjliODVmNjBkMjE5MGVjOWY3
MDM5NmZkOWQ3MmI0ZDUuLmQwMWJlYzdhYzRlNjE1MWQ3ZDNjYzk5MTIzNjJiMDZkNmZmZWFlZjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94
eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQ
cm94eUNvY29hLm1tCkBAIC0yNDcsNCArMjQ3LDE5IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojp1
bmJsb2NrUHJlZmVyZW5jZVNlcnZpY2VJZk5lZWRlZCgpCiB9CiAjZW5kaWYKIAorVmVjdG9yPFN0
cmluZz4gV2ViUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybU92ZXJyaWRlTGFuZ3VhZ2VzKCkgY29uc3QK
K3sKKyAgICBOZXZlckRlc3Ryb3llZDxWZWN0b3I8U3RyaW5nPj4gb3ZlcnJpZGVMYW5ndWFnZXMg
PSBbXSgpIHsKKyAgICAgICAgTlNBcnJheSAqbGFuZ3VhZ2VzID0gW1tOU1VzZXJEZWZhdWx0cyBz
dGFuZGFyZFVzZXJEZWZhdWx0c10gdmFsdWVGb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOworICAg
ICAgICBpZiAoIWxhbmd1YWdlcykKKyAgICAgICAgICAgIHJldHVybiBWZWN0b3I8V1RGOjpTdHJp
bmc+IHsgfTsKKworICAgICAgICBWZWN0b3I8U3RyaW5nPiBvdmVycmlkZUxhbmd1YWdlczsKKyAg
ICAgICAgZm9yIChOU1N0cmluZyAqbGFuZ3VhZ2UgaW4gbGFuZ3VhZ2VzKQorICAgICAgICAgICAg
b3ZlcnJpZGVMYW5ndWFnZXMuYXBwZW5kKGxhbmd1YWdlKTsKKyAgICAgICAgcmV0dXJuIG92ZXJy
aWRlTGFuZ3VhZ2VzOworICAgIH0oKTsKKyAgICByZXR1cm4gb3ZlcnJpZGVMYW5ndWFnZXMuZ2V0
KCk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApp
bmRleCBmYzFkYzQyMjliMjhlMThjOTExY2JjZDc3MzBkM2U1MmVhZGY2M2ZlLi43MzRkYTBkNjU1
ODQwNTJkNWJiMzM2NTZlZDc0ZmUyMGUzZjRlNTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC00NDQsNyArNDQ0LDcgQEAgdm9pZCBXZWJQcm9jZXNz
UG9vbDo6bGFuZ3VhZ2VDaGFuZ2VkKHZvaWQqIGNvbnRleHQpCiAKIHZvaWQgV2ViUHJvY2Vzc1Bv
b2w6Omxhbmd1YWdlQ2hhbmdlZCgpCiB7Ci0gICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2Vz
OjpXZWJQcm9jZXNzOjpVc2VyUHJlZmVycmVkTGFuZ3VhZ2VzQ2hhbmdlZCh1c2VyUHJlZmVycmVk
TGFuZ3VhZ2VzKCkpKTsKKyAgICBzZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nl
c3M6OlVzZXJQcmVmZXJyZWRMYW5ndWFnZXNDaGFuZ2VkKCkpOwogI2lmIFVTRShTT1VQKQogICAg
IGlmIChtX25ldHdvcmtQcm9jZXNzKQogICAgICAgICBtX25ldHdvcmtQcm9jZXNzLT5zZW5kKE1l
c3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6VXNlclByZWZlcnJlZExhbmd1YWdlc0NoYW5nZWQodXNl
clByZWZlcnJlZExhbmd1YWdlcygpKSwgMCk7CkBAIC0xMDI5LDcgKzEwMjksNyBAQCB2b2lkIFdl
YlByb2Nlc3NQb29sOjppbml0aWFsaXplTmV3V2ViUHJvY2VzcyhXZWJQcm9jZXNzUHJveHkmIHBy
b2Nlc3MsIFdlYnNpdGVEYQogI2VuZGlmCiAKICAgICBwYXJhbWV0ZXJzLmNhY2hlTW9kZWwgPSBM
ZWdhY3lHbG9iYWxTZXR0aW5nczo6c2luZ2xldG9uKCkuY2FjaGVNb2RlbCgpOwotICAgIHBhcmFt
ZXRlcnMubGFuZ3VhZ2VzID0gY29uZmlndXJhdGlvbigpLm92ZXJyaWRlTGFuZ3VhZ2VzKCkuaXNF
bXB0eSgpID8gdXNlclByZWZlcnJlZExhbmd1YWdlcygpIDogY29uZmlndXJhdGlvbigpLm92ZXJy
aWRlTGFuZ3VhZ2VzKCk7CisgICAgcGFyYW1ldGVycy5vdmVycmlkZUxhbmd1YWdlcyA9IGNvbmZp
Z3VyYXRpb24oKS5vdmVycmlkZUxhbmd1YWdlcygpOwogCiAgICAgcGFyYW1ldGVycy51cmxTY2hl
bWVzUmVnaXN0ZXJlZEFzRW1wdHlEb2N1bWVudCA9IGNvcHlUb1ZlY3RvcihtX3NjaGVtZXNUb1Jl
Z2lzdGVyQXNFbXB0eURvY3VtZW50KTsKICAgICBwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3Rl
cmVkQXNTZWN1cmUgPSBjb3B5VG9WZWN0b3IoTGVnYWN5R2xvYmFsU2V0dGluZ3M6OnNpbmdsZXRv
bigpLnNjaGVtZXNUb1JlZ2lzdGVyQXNTZWN1cmUoKSk7CkBAIC0xMDgyLDYgKzEwODIsOCBAQCB2
b2lkIFdlYlByb2Nlc3NQb29sOjppbml0aWFsaXplTmV3V2ViUHJvY2VzcyhXZWJQcm9jZXNzUHJv
eHkmIHByb2Nlc3MsIFdlYnNpdGVEYQogICAgIHBhcmFtZXRlcnMuc2hvdWxkRW5hYmxlTWVtb3J5
UHJlc3N1cmVSZWxpZWZMb2dnaW5nID0gdHJ1ZTsKICNlbmRpZgogCisgICAgdXNlclByZWZlcnJl
ZExhbmd1YWdlcygpOworCiAgICAgcGFyYW1ldGVycy5wcmVzZW50aW5nQXBwbGljYXRpb25QSUQg
PSBtX2NvbmZpZ3VyYXRpb24tPnByZXNlbnRpbmdBcHBsaWNhdGlvblBJRCgpOwogCiAgICAgLy8g
QWRkIGFueSBwbGF0Zm9ybSBzcGVjaWZpYyBwYXJhbWV0ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA2NTlmNTgyMzg1NTY5ZDg5NzkwNGFkYjdi
MTYwYzY0Y2I4MWE3NmE5Li42OTkwNzI1NGM3ZGE3NjEwMThmMjkwYTk5YmRkYmUzOTk2OGU3OGY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKQEAgLTMx
Nyw3ICszMTcsOSBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6Z2V0TGF1bmNoT3B0aW9ucyhQcm9j
ZXNzTGF1bmNoZXI6OkxhdW5jaE9wdGlvbnMmIGxhdW5jaE9wdAogICAgICAgICBsYXVuY2hPcHRp
b25zLmV4dHJhSW5pdGlhbGl6YXRpb25EYXRhLmFkZCgiaW5zcGVjdG9yLXByb2Nlc3MiX3MsICIx
Il9zKTsKIAogICAgIGF1dG8gb3ZlcnJpZGVMYW5ndWFnZXMgPSBtX3Byb2Nlc3NQb29sLT5jb25m
aWd1cmF0aW9uKCkub3ZlcnJpZGVMYW5ndWFnZXMoKTsKLSAgICBpZiAob3ZlcnJpZGVMYW5ndWFn
ZXMuc2l6ZSgpKSB7CisgICAgaWYgKG92ZXJyaWRlTGFuZ3VhZ2VzLmlzRW1wdHkoKSkKKyAgICAg
ICAgb3ZlcnJpZGVMYW5ndWFnZXMgPSBwbGF0Zm9ybU92ZXJyaWRlTGFuZ3VhZ2VzKCk7CisgICAg
aWYgKCFvdmVycmlkZUxhbmd1YWdlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgU3RyaW5nQnVpbGRl
ciBsYW5ndWFnZVN0cmluZzsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBvdmVycmlk
ZUxhbmd1YWdlcy5zaXplKCk7ICsraSkgewogICAgICAgICAgICAgaWYgKGkpCkBAIC02NDgsNiAr
NjUwLDExIEBAIGJvb2wgV2ViUHJvY2Vzc1Byb3h5OjpmdWxsS2V5Ym9hcmRBY2Nlc3NFbmFibGVk
KCkKIHsKICAgICByZXR1cm4gZmFsc2U7CiB9CisKK1ZlY3RvcjxTdHJpbmc+IFdlYlByb2Nlc3NQ
cm94eTo6cGxhdGZvcm1PdmVycmlkZUxhbmd1YWdlcygpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsg
fTsKK30KICNlbmRpZgogCiBib29sIFdlYlByb2Nlc3NQcm94eTo6aGFzUHJvdmlzaW9uYWxQYWdl
V2l0aElEKFdlYlBhZ2VQcm94eUlkZW50aWZpZXIgcGFnZUlEKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAppbmRleCBiYjYyNDNhMGFiMjY4NzUzNjU5YmEy
YWRjMjViNDZjNWZjYTM1MmMyLi41MDdlMjEyN2Y5OWUzMjhkNDVkM2I0MjM2YTc0YWUyZDU0ZTcw
NmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaApAQCAtNDc3
LDYgKzQ3Nyw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZUZvclJl
c291cmNlTGltaXRUZXJtaW5hdGlvbihjb25zdCBTdHJpbmcmIGxpbWl0S2V5KTsKICAgICAKICAg
ICB2b2lkIHVwZGF0ZVJlZ2lzdHJhdGlvbldpdGhEYXRhU3RvcmUoKTsKKyAgICBWZWN0b3I8U3Ry
aW5nPiBwbGF0Zm9ybU92ZXJyaWRlTGFuZ3VhZ2VzKCkgY29uc3Q7CiAKICAgICB2b2lkIG1heWJl
U2h1dERvd24oKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4
IGFiOWNiYWQxOGUwMmY1ZGEzZTAzY2UwYzU4ZTQ2ZWU3YTIyNzM5ZWQuLjdlN2U5MTIyZmUwNzU2
MjQ3ZTY2ZWFhNzc1MmY5YzUwZjM3MjVkZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAKQEAgLTM5MSw4ICszOTEsOCBAQCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxp
emVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQog
CiAgICAgc2V0Q2FjaGVNb2RlbChwYXJhbWV0ZXJzLmNhY2hlTW9kZWwpOwogCi0gICAgaWYgKCFw
YXJhbWV0ZXJzLmxhbmd1YWdlcy5pc0VtcHR5KCkpCi0gICAgICAgIG92ZXJyaWRlVXNlclByZWZl
cnJlZExhbmd1YWdlcyhwYXJhbWV0ZXJzLmxhbmd1YWdlcyk7CisgICAgaWYgKCFwYXJhbWV0ZXJz
Lm92ZXJyaWRlTGFuZ3VhZ2VzLmlzRW1wdHkoKSkKKyAgICAgICAgb3ZlcnJpZGVVc2VyUHJlZmVy
cmVkTGFuZ3VhZ2VzKHBhcmFtZXRlcnMub3ZlcnJpZGVMYW5ndWFnZXMpOwogCiAgICAgbV90ZXh0
Q2hlY2tlclN0YXRlID0gcGFyYW1ldGVycy50ZXh0Q2hlY2tlclN0YXRlOwogCkBAIC02NDUsOSAr
NjQ1LDkgQEAgdm9pZCBXZWJQcm9jZXNzOjpzZXRTaG91bGRVc2VGb250U21vb3RoaW5nKGJvb2wg
dXNlRm9udFNtb290aGluZykKICAgICBXZWJDb3JlOjpGb250Q2FzY2FkZTo6c2V0U2hvdWxkVXNl
U21vb3RoaW5nKHVzZUZvbnRTbW9vdGhpbmcpOwogfQogCi12b2lkIFdlYlByb2Nlc3M6OnVzZXJQ
cmVmZXJyZWRMYW5ndWFnZXNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBsYW5ndWFnZXMp
IGNvbnN0Cit2b2lkIFdlYlByb2Nlc3M6OnVzZXJQcmVmZXJyZWRMYW5ndWFnZXNDaGFuZ2VkKCkg
Y29uc3QKIHsKLSAgICBvdmVycmlkZVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMobGFuZ3VhZ2VzKTsK
KyAgICBXVEY6Omxhbmd1YWdlRGlkQ2hhbmdlKCk7CiB9CiAKIHZvaWQgV2ViUHJvY2Vzczo6ZnVs
bEtleWJvYXJkQWNjZXNzTW9kZUNoYW5nZWQoYm9vbCBmdWxsS2V5Ym9hcmRBY2Nlc3NFbmFibGVk
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggNWUyMGJhMGY4NjZlMjEx
YzQ5MjczZmU3ZTNlNmRhNGRiYjYwZDUyZC4uNThmZDExZDYwYTkwOGRiYmRhYTBmMjEyYmZhZmNk
MTU4OTE1ZmI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0zNzcs
NyArMzc3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNsZWFyUmVzb3VyY2VMb2FkU3RhdGlzdGlj
cygpOwogICAgIHZvaWQgZmx1c2hSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKCk7CiAgICAgdm9pZCBz
ZWVkUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZvclRlc3RpbmcoY29uc3QgV2ViQ29yZTo6UmVnaXN0
cmFibGVEb21haW4mIGZpcnN0UGFydHlEb21haW4sIGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxl
RG9tYWluJiB0aGlyZFBhcnR5RG9tYWluLCBib29sIHNob3VsZFNjaGVkdWxlTm90aWZpY2F0aW9u
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwotICAgIHZvaWQgdXNlclByZWZlcnJlZExh
bmd1YWdlc0NoYW5nZWQoY29uc3QgVmVjdG9yPFN0cmluZz4mKSBjb25zdDsKKyAgICB2b2lkIHVz
ZXJQcmVmZXJyZWRMYW5ndWFnZXNDaGFuZ2VkKCkgY29uc3Q7CiAgICAgdm9pZCBmdWxsS2V5Ym9h
cmRBY2Nlc3NNb2RlQ2hhbmdlZChib29sIGZ1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQpOwogCiAg
ICAgYm9vbCBpc1BsdWdJbkF1dG9TdGFydE9yaWdpbkhhc2godW5zaWduZWQgcGx1Z0luT3JpZ2lu
SGFzaCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2Vz
LmluCmluZGV4IDVlN2E3NzNjYTE2MTJjNTRmOWJmYTMyZTE5OWE1MzA1MDU2MDIwMmYuLmNmYTNl
NGQwMDM3ZWFhNTczMzllNDMzNzFhZjEzZGFmNmIzZmMyZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC00OSw3ICs0OSw3IEBAIG1l
c3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgTm90UmVmQ291bnRlZCB7CiAgICAg
U2V0U2hvdWxkVXNlRm9udFNtb290aGluZyhib29sIHVzZUZvbnRTbW9vdGhpbmcpCiAgICAgU2V0
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoYm9vbCByZXNvdXJjZUxvYWRTdGF0aXN0aWNz
RW5hYmxlZCk7CiAgICAgQ2xlYXJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKCk7Ci0gICAgVXNlclBy
ZWZlcnJlZExhbmd1YWdlc0NoYW5nZWQoVmVjdG9yPFN0cmluZz4gbGFuZ3VhZ2VzKQorICAgIFVz
ZXJQcmVmZXJyZWRMYW5ndWFnZXNDaGFuZ2VkKCkKICAgICBGdWxsS2V5Ym9hcmRBY2Nlc3NNb2Rl
Q2hhbmdlZChib29sIGZ1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQpCiAKICAgICAjIFBsdWctaW5z
Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401959</attachid>
            <date>2020-06-15 17:10:27 -0700</date>
            <delta_ts>2020-06-16 08:29:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213214-20200615171026.patch</filename>
            <type>text/plain</type>
            <size>11937</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY0YTdmNDBkYmUzNTBiNTllNGNhZWI4
NmEyYmU1ZDU1YmVlMGViMmYuLjViZDNiMjJlOWQ0NzA5YjY1ODZhNmRiZjNkZmViZjM2YzJhZDhj
NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDYtMTUgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIGNhbGxpbmcgdXNlclByZWZlcnJlZExhbmd1YWdl
cygpIGluIHRoZSBVSVByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxMzIxNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjQzMTc1OTM+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3J0IFdU
Rjo6bGFuZ3VhZ2VEaWRDaGFuZ2UoKSBzbyB3ZSBjYW4gY2FsbCBpdCBmcm9tIFdlYktpdDIuCisK
KyAgICAgICAgKiB3dGYvTGFuZ3VhZ2UuaDoKKwogMjAyMC0wNi0xNSAgS2VpdGggTWlsbGVyICA8
a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBidWlsZCBmaXgg
Zm9yIGJ1aWxkIHdpdGhvdXQgbWFjaCBleGNlcHRpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBmY2U2NDUxMzY1
ODFhNGEwOGRkMGNmNDY2OWM4NjBkZmU0ZDlmNjAzLi5iZGNjMjE2NDdhNjNhN2QzZGMzNGQwZGQx
NTUyNjdjMzM2ZGYxMGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTA2LTE1ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3RvcCBjYWxsaW5nIHVz
ZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSBpbiB0aGUgVUlQcm9jZXNzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTMyMTQKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzY0MzE3NTkzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFN0b3AgY2FsbGluZyB1c2VyUHJlZmVycmVkTGFuZ3VhZ2VzKCkgaW4gdGhlIFVJ
UHJvY2VzcyBzaW5jZSB0aGlzIGNhbiBiZSBzbG93IGFuZCBtYXkga2VlcAorICAgICAgICB0aGUg
bWFpbiB0aHJlYWQgYnVzeS4gTm93YWRheXMsIHRoZSBXZWJQcm9jZXNzIGlzIGFibGUgdG8gY2Fs
bCBpdCBieSBpdHNlbGYgYW55d2F5LiBUaGUKKyAgICAgICAgc2FuZGJveCBpcyBhbGxvd2luZyBp
dC4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNv
bnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVj
b2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQb29sOjpsYW5ndWFnZUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxp
emVXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6dXNlclByZWZlcnJl
ZExhbmd1YWdlc0NoYW5nZWQgY29uc3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKwogMjAy
MC0wNi0xNSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBTaWduYWwgaGFuZGxlcnMgc2hvdWxkIGhhdmUgYSB0d28gcGhhc2UgaW5zdGFsbGF0aW9uLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTGFuZ3VhZ2UuaCBiL1NvdXJjZS9XVEYvd3RmL0xh
bmd1YWdlLmgKaW5kZXggNjliZjJmM2VlODg1NWNkZmRmYTA3ZjEyMWU0NDdlMzMwMjhjZTU5MC4u
YjhiOTA5NTZjZTgzNGY4NjdjMzE4NTg4NzExMjNlNmFhMjRhNjM4YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvTGFuZ3VhZ2UuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFnZS5oCkBA
IC00Miw3ICs0Miw3IEBAIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIG92ZXJyaWRlVXNlclByZWZl
cnJlZExhbmd1YWdlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYpOwogV1RGX0VYUE9SVF9QUklWQVRF
IHNpemVfdCBpbmRleE9mQmVzdE1hdGNoaW5nTGFuZ3VhZ2VJbkxpc3QoY29uc3QgU3RyaW5nJiBs
YW5ndWFnZSwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGxhbmd1YWdlTGlzdCwgYm9vbCYgZXhhY3RN
YXRjaCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgVmVjdG9yPFN0cmluZz4gcGxhdGZvcm1Vc2VyUHJl
ZmVycmVkTGFuZ3VhZ2VzKCk7CiAvLyBDYWxsZWQgZnJvbSBwbGF0Zm9ybSBzcGVjaWZpYyBjb2Rl
IHdoZW4gdGhlIHVzZXIncyBwcmVmZXJyZWQgbGFuZ3VhZ2UocykgY2hhbmdlLgotdm9pZCBsYW5n
dWFnZURpZENoYW5nZSgpOworV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgbGFuZ3VhZ2VEaWRDaGFu
Z2UoKTsKIAogLy8gVGhlIG9ic2VydmVyIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIHdoZW4gc3lz
dGVtIGxhbmd1YWdlIGNoYW5nZXMuCiB0eXBlZGVmIHZvaWQgKCpMYW5ndWFnZUNoYW5nZU9ic2Vy
dmVyRnVuY3Rpb24pKHZvaWQqIGNvbnRleHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAppbmRleCBjMDA5NTc4NzFlMjRi
OTQwZTdiNGQzN2M0OTkxYmE0OTg5NTE1ZDkxLi44MWNjOWY4ZDc1NWVjODExNmZiMWQ2NjkwZjdh
OGRiNzY0NmFkZWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtNzksNyArNzksNyBAQCB2b2lkIFdlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0
CiAgICAgZW5jb2RlciA8PCBzaG91bGRVc2VGb250U21vb3RoaW5nOwogICAgIGVuY29kZXIgPDwg
Zm9udFdoaXRlbGlzdDsKICAgICBlbmNvZGVyIDw8IHRlcm1pbmF0aW9uVGltZW91dDsKLSAgICBl
bmNvZGVyIDw8IGxhbmd1YWdlczsKKyAgICBlbmNvZGVyIDw8IG92ZXJyaWRlTGFuZ3VhZ2VzOwog
I2lmIFVTRShHU1RSRUFNRVIpCiAgICAgZW5jb2RlciA8PCBnc3RyZWFtZXJPcHRpb25zOwogI2Vu
ZGlmCkBAIC0yODQsNyArMjg0LDcgQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
OjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBXZWJQcm9jZXNzQ3JlYXQKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy50ZXJtaW5h
dGlvblRpbWVvdXQpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShwYXJhbWV0ZXJzLmxhbmd1YWdlcykpCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJh
bWV0ZXJzLm92ZXJyaWRlTGFuZ3VhZ2VzKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2lmIFVT
RShHU1RSRUFNRVIpCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLmdzdHJlYW1l
ck9wdGlvbnMpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oCmluZGV4IDc3OTAyYzFhZGE0NTg0ZGExYWY5MTBhZTMwNDJhYTMyMTYz
YTZhMmUuLjZhM2ViYTJmM2RiODhiYmFkMGM4ZjUyOWMxM2E1NjA3ZDExNjFjZmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgK
QEAgLTEwNyw3ICsxMDcsNyBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7
CiAgICAgVmVjdG9yPFN0cmluZz4gdXJsU2NoZW1lc1JlZ2lzdGVyZWRBc0NhbkRpc3BsYXlPbmx5
SWZDYW5SZXF1ZXN0OwogCiAgICAgVmVjdG9yPFN0cmluZz4gZm9udFdoaXRlbGlzdDsKLSAgICBW
ZWN0b3I8U3RyaW5nPiBsYW5ndWFnZXM7CisgICAgVmVjdG9yPFN0cmluZz4gb3ZlcnJpZGVMYW5n
dWFnZXM7CiAjaWYgVVNFKEdTVFJFQU1FUikKICAgICBWZWN0b3I8U3RyaW5nPiBnc3RyZWFtZXJP
cHRpb25zOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCmluZGV4IGJhY2Q0ODM0MjliODVmNjBkMjE5MGVjOWY3
MDM5NmZkOWQ3MmI0ZDUuLmMyYzBjOWU3ZmQ4ZGU4MjAxZWM5ZjIyNDU1YTFmMTZlM2MyZTkxOTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94
eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQ
cm94eUNvY29hLm1tCkBAIC0yNDcsNCArMjQ3LDIwIEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojp1
bmJsb2NrUHJlZmVyZW5jZVNlcnZpY2VJZk5lZWRlZCgpCiB9CiAjZW5kaWYKIAorVmVjdG9yPFN0
cmluZz4gV2ViUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybU92ZXJyaWRlTGFuZ3VhZ2VzKCkgY29uc3QK
K3sKKyAgICBOZXZlckRlc3Ryb3llZDxWZWN0b3I8U3RyaW5nPj4gb3ZlcnJpZGVMYW5ndWFnZXMg
PSBbXSgpIHsKKyAgICAgICAgTlNBcnJheSAqbGFuZ3VhZ2VzID0gW1tOU1VzZXJEZWZhdWx0cyBz
dGFuZGFyZFVzZXJEZWZhdWx0c10gdmFsdWVGb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOworICAg
ICAgICBpZiAoIWxhbmd1YWdlcykKKyAgICAgICAgICAgIHJldHVybiBWZWN0b3I8V1RGOjpTdHJp
bmc+IHsgfTsKKworICAgICAgICBWZWN0b3I8U3RyaW5nPiBvdmVycmlkZUxhbmd1YWdlczsKKyAg
ICAgICAgb3ZlcnJpZGVMYW5ndWFnZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShbbGFuZ3VhZ2Vz
IGNvdW50XSk7CisgICAgICAgIGZvciAoTlNTdHJpbmcgKmxhbmd1YWdlIGluIGxhbmd1YWdlcykK
KyAgICAgICAgICAgIG92ZXJyaWRlTGFuZ3VhZ2VzLnVuY2hlY2tlZEFwcGVuZChsYW5ndWFnZSk7
CisgICAgICAgIHJldHVybiBvdmVycmlkZUxhbmd1YWdlczsKKyAgICB9KCk7CisgICAgcmV0dXJu
IG92ZXJyaWRlTGFuZ3VhZ2VzLmdldCgpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggZmMxZGM0MjI5YjI4ZTE4YzkxMWNiY2Q3NzMwZDNl
NTJlYWRmNjNmZS4uNzM0ZGEwZDY1NTg0MDUyZDViYjMzNjU2ZWQ3NGZlMjBlM2Y0ZTUwMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtNDQ0LDcgKzQ0
NCw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6Omxhbmd1YWdlQ2hhbmdlZCh2b2lkKiBjb250ZXh0
KQogCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpsYW5ndWFnZUNoYW5nZWQoKQogewotICAgIHNlbmRU
b0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6VXNlclByZWZlcnJlZExhbmd1YWdl
c0NoYW5nZWQodXNlclByZWZlcnJlZExhbmd1YWdlcygpKSk7CisgICAgc2VuZFRvQWxsUHJvY2Vz
c2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpVc2VyUHJlZmVycmVkTGFuZ3VhZ2VzQ2hhbmdlZCgp
KTsKICNpZiBVU0UoU09VUCkKICAgICBpZiAobV9uZXR3b3JrUHJvY2VzcykKICAgICAgICAgbV9u
ZXR3b3JrUHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OlVzZXJQcmVmZXJy
ZWRMYW5ndWFnZXNDaGFuZ2VkKHVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSksIDApOwpAQCAtMTAy
OSw3ICsxMDI5LDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nl
c3MoV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXNzLCBXZWJzaXRlRGEKICNlbmRpZgogCiAgICAgcGFy
YW1ldGVycy5jYWNoZU1vZGVsID0gTGVnYWN5R2xvYmFsU2V0dGluZ3M6OnNpbmdsZXRvbigpLmNh
Y2hlTW9kZWwoKTsKLSAgICBwYXJhbWV0ZXJzLmxhbmd1YWdlcyA9IGNvbmZpZ3VyYXRpb24oKS5v
dmVycmlkZUxhbmd1YWdlcygpLmlzRW1wdHkoKSA/IHVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSA6
IGNvbmZpZ3VyYXRpb24oKS5vdmVycmlkZUxhbmd1YWdlcygpOworICAgIHBhcmFtZXRlcnMub3Zl
cnJpZGVMYW5ndWFnZXMgPSBjb25maWd1cmF0aW9uKCkub3ZlcnJpZGVMYW5ndWFnZXMoKTsKIAog
ICAgIHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZWRBc0VtcHR5RG9jdW1lbnQgPSBjb3B5
VG9WZWN0b3IobV9zY2hlbWVzVG9SZWdpc3RlckFzRW1wdHlEb2N1bWVudCk7CiAgICAgcGFyYW1l
dGVycy51cmxTY2hlbWVzUmVnaXN0ZXJlZEFzU2VjdXJlID0gY29weVRvVmVjdG9yKExlZ2FjeUds
b2JhbFNldHRpbmdzOjpzaW5nbGV0b24oKS5zY2hlbWVzVG9SZWdpc3RlckFzU2VjdXJlKCkpOwpA
QCAtMTA4Miw2ICsxMDgyLDggQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dl
YlByb2Nlc3MoV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXNzLCBXZWJzaXRlRGEKICAgICBwYXJhbWV0
ZXJzLnNob3VsZEVuYWJsZU1lbW9yeVByZXNzdXJlUmVsaWVmTG9nZ2luZyA9IHRydWU7CiAjZW5k
aWYKIAorICAgIHVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKTsKKwogICAgIHBhcmFtZXRlcnMucHJl
c2VudGluZ0FwcGxpY2F0aW9uUElEID0gbV9jb25maWd1cmF0aW9uLT5wcmVzZW50aW5nQXBwbGlj
YXRpb25QSUQoKTsKIAogICAgIC8vIEFkZCBhbnkgcGxhdGZvcm0gc3BlY2lmaWMgcGFyYW1ldGVy
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKaW5kZXggNjU5
ZjU4MjM4NTU2OWQ4OTc5MDRhZGI3YjE2MGM2NGNiODFhNzZhOS4uNjk5MDcyNTRjN2RhNzYxMDE4
ZjI5MGE5OWJkZGJlMzk5NjhlNzhmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkuY3BwCkBAIC0zMTcsNyArMzE3LDkgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6
OmdldExhdW5jaE9wdGlvbnMoUHJvY2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJiBsYXVuY2hP
cHQKICAgICAgICAgbGF1bmNoT3B0aW9ucy5leHRyYUluaXRpYWxpemF0aW9uRGF0YS5hZGQoImlu
c3BlY3Rvci1wcm9jZXNzIl9zLCAiMSJfcyk7CiAKICAgICBhdXRvIG92ZXJyaWRlTGFuZ3VhZ2Vz
ID0gbV9wcm9jZXNzUG9vbC0+Y29uZmlndXJhdGlvbigpLm92ZXJyaWRlTGFuZ3VhZ2VzKCk7Ci0g
ICAgaWYgKG92ZXJyaWRlTGFuZ3VhZ2VzLnNpemUoKSkgeworICAgIGlmIChvdmVycmlkZUxhbmd1
YWdlcy5pc0VtcHR5KCkpCisgICAgICAgIG92ZXJyaWRlTGFuZ3VhZ2VzID0gcGxhdGZvcm1PdmVy
cmlkZUxhbmd1YWdlcygpOworICAgIGlmICghb3ZlcnJpZGVMYW5ndWFnZXMuaXNFbXB0eSgpKSB7
CiAgICAgICAgIFN0cmluZ0J1aWxkZXIgbGFuZ3VhZ2VTdHJpbmc7CiAgICAgICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgb3ZlcnJpZGVMYW5ndWFnZXMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAg
ICAgIGlmIChpKQpAQCAtNjQ4LDYgKzY1MCwxMSBAQCBib29sIFdlYlByb2Nlc3NQcm94eTo6ZnVs
bEtleWJvYXJkQWNjZXNzRW5hYmxlZCgpCiB7CiAgICAgcmV0dXJuIGZhbHNlOwogfQorCitWZWN0
b3I8U3RyaW5nPiBXZWJQcm9jZXNzUHJveHk6OnBsYXRmb3JtT3ZlcnJpZGVMYW5ndWFnZXMoKSBj
b25zdAoreworICAgIHJldHVybiB7IH07Cit9CiAjZW5kaWYKIAogYm9vbCBXZWJQcm9jZXNzUHJv
eHk6Omhhc1Byb3Zpc2lvbmFsUGFnZVdpdGhJRChXZWJQYWdlUHJveHlJZGVudGlmaWVyIHBhZ2VJ
RCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKaW5kZXgg
YmI2MjQzYTBhYjI2ODc1MzY1OWJhMmFkYzI1YjQ2YzVmY2EzNTJjMi4uNTA3ZTIxMjdmOTllMzI4
ZDQ1ZDNiNDIzNmE3NGFlMmQ1NGU3MDZhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5LmgKQEAgLTQ3Nyw2ICs0NzcsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgbG9n
RGlhZ25vc3RpY01lc3NhZ2VGb3JSZXNvdXJjZUxpbWl0VGVybWluYXRpb24oY29uc3QgU3RyaW5n
JiBsaW1pdEtleSk7CiAgICAgCiAgICAgdm9pZCB1cGRhdGVSZWdpc3RyYXRpb25XaXRoRGF0YVN0
b3JlKCk7CisgICAgVmVjdG9yPFN0cmluZz4gcGxhdGZvcm1PdmVycmlkZUxhbmd1YWdlcygpIGNv
bnN0OwogCiAgICAgdm9pZCBtYXliZVNodXREb3duKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcAppbmRleCBhYjljYmFkMThlMDJmNWRhM2UwM2NlMGM1OGU0NmVlN2Ey
MjczOWVkLi43ZTdlOTEyMmZlMDc1NjI0N2U2NmVhYTc3NTJmOWM1MGYzNzI1ZGYwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0zOTEsOCArMzkxLDggQEAgdm9p
ZCBXZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzJiYgcGFyYW1ldGVycykKIAogICAgIHNldENhY2hlTW9kZWwocGFyYW1ldGVycy5jYWNo
ZU1vZGVsKTsKIAotICAgIGlmICghcGFyYW1ldGVycy5sYW5ndWFnZXMuaXNFbXB0eSgpKQotICAg
ICAgICBvdmVycmlkZVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMocGFyYW1ldGVycy5sYW5ndWFnZXMp
OworICAgIGlmICghcGFyYW1ldGVycy5vdmVycmlkZUxhbmd1YWdlcy5pc0VtcHR5KCkpCisgICAg
ICAgIG92ZXJyaWRlVXNlclByZWZlcnJlZExhbmd1YWdlcyhwYXJhbWV0ZXJzLm92ZXJyaWRlTGFu
Z3VhZ2VzKTsKIAogICAgIG1fdGV4dENoZWNrZXJTdGF0ZSA9IHBhcmFtZXRlcnMudGV4dENoZWNr
ZXJTdGF0ZTsKIApAQCAtNjQ1LDkgKzY0NSw5IEBAIHZvaWQgV2ViUHJvY2Vzczo6c2V0U2hvdWxk
VXNlRm9udFNtb290aGluZyhib29sIHVzZUZvbnRTbW9vdGhpbmcpCiAgICAgV2ViQ29yZTo6Rm9u
dENhc2NhZGU6OnNldFNob3VsZFVzZVNtb290aGluZyh1c2VGb250U21vb3RoaW5nKTsKIH0KIAot
dm9pZCBXZWJQcm9jZXNzOjp1c2VyUHJlZmVycmVkTGFuZ3VhZ2VzQ2hhbmdlZChjb25zdCBWZWN0
b3I8U3RyaW5nPiYgbGFuZ3VhZ2VzKSBjb25zdAordm9pZCBXZWJQcm9jZXNzOjp1c2VyUHJlZmVy
cmVkTGFuZ3VhZ2VzQ2hhbmdlZCgpIGNvbnN0CiB7Ci0gICAgb3ZlcnJpZGVVc2VyUHJlZmVycmVk
TGFuZ3VhZ2VzKGxhbmd1YWdlcyk7CisgICAgV1RGOjpsYW5ndWFnZURpZENoYW5nZSgpOwogfQog
CiB2b2lkIFdlYlByb2Nlc3M6OmZ1bGxLZXlib2FyZEFjY2Vzc01vZGVDaGFuZ2VkKGJvb2wgZnVs
bEtleWJvYXJkQWNjZXNzRW5hYmxlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5o
CmluZGV4IDVlMjBiYTBmODY2ZTIxMWM0OTI3M2ZlN2UzZTZkYTRkYmI2MGQ1MmQuLjU4ZmQxMWQ2
MGE5MDhkYmJkYWEwZjIxMmJmYWZjZDE1ODkxNWZiOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuaApAQCAtMzc3LDcgKzM3Nyw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjbGVh
clJlc291cmNlTG9hZFN0YXRpc3RpY3MoKTsKICAgICB2b2lkIGZsdXNoUmVzb3VyY2VMb2FkU3Rh
dGlzdGljcygpOwogICAgIHZvaWQgc2VlZFJlc291cmNlTG9hZFN0YXRpc3RpY3NGb3JUZXN0aW5n
KGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiBmaXJzdFBhcnR5RG9tYWluLCBjb25z
dCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYgdGhpcmRQYXJ0eURvbWFpbiwgYm9vbCBzaG91
bGRTY2hlZHVsZU5vdGlmaWNhdGlvbiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKLSAg
ICB2b2lkIHVzZXJQcmVmZXJyZWRMYW5ndWFnZXNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxTdHJpbmc+
JikgY29uc3Q7CisgICAgdm9pZCB1c2VyUHJlZmVycmVkTGFuZ3VhZ2VzQ2hhbmdlZCgpIGNvbnN0
OwogICAgIHZvaWQgZnVsbEtleWJvYXJkQWNjZXNzTW9kZUNoYW5nZWQoYm9vbCBmdWxsS2V5Ym9h
cmRBY2Nlc3NFbmFibGVkKTsKIAogICAgIGJvb2wgaXNQbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNo
KHVuc2lnbmVkIHBsdWdJbk9yaWdpbkhhc2gpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCA1ZTdhNzczY2ExNjEyYzU0ZjliZmEzMmUx
OTlhNTMwNTA1NjAyMDJmLi5jZmEzZTRkMDAzN2VhYTU3MzM5ZTQzMzcxYWYxM2RhZjZiM2ZjMmY1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bgpAQCAtNDksNyArNDksNyBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVy
IE5vdFJlZkNvdW50ZWQgewogICAgIFNldFNob3VsZFVzZUZvbnRTbW9vdGhpbmcoYm9vbCB1c2VG
b250U21vb3RoaW5nKQogICAgIFNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGJvb2wg
cmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQpOwogICAgIENsZWFyUmVzb3VyY2VMb2FkU3Rh
dGlzdGljcygpOwotICAgIFVzZXJQcmVmZXJyZWRMYW5ndWFnZXNDaGFuZ2VkKFZlY3RvcjxTdHJp
bmc+IGxhbmd1YWdlcykKKyAgICBVc2VyUHJlZmVycmVkTGFuZ3VhZ2VzQ2hhbmdlZCgpCiAgICAg
RnVsbEtleWJvYXJkQWNjZXNzTW9kZUNoYW5nZWQoYm9vbCBmdWxsS2V5Ym9hcmRBY2Nlc3NFbmFi
bGVkKQogCiAgICAgIyBQbHVnLWlucy4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402006</attachid>
            <date>2020-06-16 08:29:25 -0700</date>
            <delta_ts>2020-06-16 10:10:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213214-20200616082924.patch</filename>
            <type>text/plain</type>
            <size>11585</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGQ4MjMwZjdhNjJlOGMwZjkyMDg0ZjM4
MzVjZGUzN2M0Yzg2OWFlNjcuLjZkZDE0ODlhYmU0MTFlNGVjODEyOTZkOGZhMTM3MWM4NzczZWQ4
MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDYtMTYgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIGNhbGxpbmcgdXNlclByZWZlcnJlZExhbmd1YWdl
cygpIGluIHRoZSBVSVByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxMzIxNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjQzMTc1OTM+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgUGVyIEFybmUgVm9sbGFuLgorCisgICAgICAgIEV4cG9ydCBX
VEY6Omxhbmd1YWdlRGlkQ2hhbmdlKCkgc28gd2UgY2FuIGNhbGwgaXQgZnJvbSBXZWJLaXQyLgor
CisgICAgICAgICogd3RmL0xhbmd1YWdlLmg6CisKIDIwMjAtMDYtMTYgIE1hcmsgTGFtICA8bWFy
ay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBTSUdBQlJUIGhhbmRsZXIgZm9yIG5vbiBP
UyhEQVJXSU4pIGJ1aWxkcyB0byB0aGUganNjIHNoZWxsIHdpdGggdGhlIC1zIG9wdGlvbi4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggOWQ5NTgyZjQ1ZjZkYjY0MjhhMGY3ZTUzNGEzZGE0N2U5ZjE4YTgzYy4uM2I5MmY4
MmUxMTM1NmM1YjBlOTI3NTdiOTI2ODJlNGY2YzZiN2E0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
OCBAQAorMjAyMC0wNi0xNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAg
ICAgIFN0b3AgY2FsbGluZyB1c2VyUHJlZmVycmVkTGFuZ3VhZ2VzKCkgaW4gdGhlIFVJUHJvY2Vz
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMjE0
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NDMxNzU5Mz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBQZXIgQXJuZSBWb2xsYW4uCisKKyAgICAgICAgU3RvcCBjYWxsaW5nIHVzZXJQcmVmZXJyZWRM
YW5ndWFnZXMoKSBpbiB0aGUgVUlQcm9jZXNzIHNpbmNlIHRoaXMgY2FuIGJlIHNsb3cgYW5kIG1h
eSBrZWVwCisgICAgICAgIHRoZSBtYWluIHRocmVhZCBidXN5LiBOb3dhZGF5cywgdGhlIFdlYlBy
b2Nlc3MgaXMgYWJsZSB0byBjYWxsIGl0IGJ5IGl0c2VsZiBhbnl3YXkuIFRoZQorICAgICAgICBz
YW5kYm94IGlzIGFsbG93aW5nIGl0LgorCisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6Omxhbmd1YWdlQ2hhbmdlZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjppbml0aWFsaXplTmV3V2ViUHJvY2Vzcyk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzOjp1c2VyUHJlZmVycmVkTGFuZ3VhZ2VzQ2hhbmdlZCBjb25zdCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
Lm1lc3NhZ2VzLmluOgorCiAyMDIwLTA2LTE2ICBUcnVpdHQgU2F2ZWxsICA8dHNhdmVsbEBhcHBs
ZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjMwNzkuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFnZS5oIGIvU291cmNlL1dURi93dGYvTGFuZ3VhZ2Uu
aAppbmRleCA2OWJmMmYzZWU4ODU1Y2RmZGZhMDdmMTIxZTQ0N2UzMzAyOGNlNTkwLi5iOGI5MDk1
NmNlODM0Zjg2N2MzMTg1ODg3MTEyM2U2YWEyNGE2MzhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9MYW5ndWFnZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xhbmd1YWdlLmgKQEAgLTQyLDcg
KzQyLDcgQEAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgb3ZlcnJpZGVVc2VyUHJlZmVycmVkTGFu
Z3VhZ2VzKGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik7CiBXVEZfRVhQT1JUX1BSSVZBVEUgc2l6ZV90
IGluZGV4T2ZCZXN0TWF0Y2hpbmdMYW5ndWFnZUluTGlzdChjb25zdCBTdHJpbmcmIGxhbmd1YWdl
LCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbGFuZ3VhZ2VMaXN0LCBib29sJiBleGFjdE1hdGNoKTsK
IFdURl9FWFBPUlRfUFJJVkFURSBWZWN0b3I8U3RyaW5nPiBwbGF0Zm9ybVVzZXJQcmVmZXJyZWRM
YW5ndWFnZXMoKTsKIC8vIENhbGxlZCBmcm9tIHBsYXRmb3JtIHNwZWNpZmljIGNvZGUgd2hlbiB0
aGUgdXNlcidzIHByZWZlcnJlZCBsYW5ndWFnZShzKSBjaGFuZ2UuCi12b2lkIGxhbmd1YWdlRGlk
Q2hhbmdlKCk7CitXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBsYW5ndWFnZURpZENoYW5nZSgpOwog
CiAvLyBUaGUgb2JzZXJ2ZXIgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgd2hlbiBzeXN0ZW0gbGFu
Z3VhZ2UgY2hhbmdlcy4KIHR5cGVkZWYgdm9pZCAoKkxhbmd1YWdlQ2hhbmdlT2JzZXJ2ZXJGdW5j
dGlvbikodm9pZCogY29udGV4dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IGMwMDk1Nzg3MWUyNGI5NDBlN2I0
ZDM3YzQ5OTFiYTQ5ODk1MTVkOTEuLjgxY2M5ZjhkNzU1ZWM4MTE2ZmIxZDY2OTBmN2E4ZGI3NjQ2
YWRlZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuY3BwCkBAIC03OSw3ICs3OSw3IEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVyczo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBl
bmNvZGVyIDw8IHNob3VsZFVzZUZvbnRTbW9vdGhpbmc7CiAgICAgZW5jb2RlciA8PCBmb250V2hp
dGVsaXN0OwogICAgIGVuY29kZXIgPDwgdGVybWluYXRpb25UaW1lb3V0OwotICAgIGVuY29kZXIg
PDwgbGFuZ3VhZ2VzOworICAgIGVuY29kZXIgPDwgb3ZlcnJpZGVMYW5ndWFnZXM7CiAjaWYgVVNF
KEdTVFJFQU1FUikKICAgICBlbmNvZGVyIDw8IGdzdHJlYW1lck9wdGlvbnM7CiAjZW5kaWYKQEAg
LTI4NCw3ICsyODQsNyBAQCBib29sIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29k
ZShJUEM6OkRlY29kZXImIGRlY29kZXIsIFdlYlByb2Nlc3NDcmVhdAogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLnRlcm1pbmF0aW9uVGlt
ZW91dCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBh
cmFtZXRlcnMubGFuZ3VhZ2VzKSkKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMu
b3ZlcnJpZGVMYW5ndWFnZXMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAjaWYgVVNFKEdTVFJF
QU1FUikKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMuZ3N0cmVhbWVyT3B0aW9u
cykpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmgKaW5kZXggNzc5MDJjMWFkYTQ1ODRkYTFhZjkxMGFlMzA0MmFhMzIxNjNhNmEyZS4u
NmEzZWJhMmYzZGI4OGJiYWQwYzhmNTI5YzEzYTU2MDdkMTE2MWNmZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMTA3
LDcgKzEwNyw3IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBW
ZWN0b3I8U3RyaW5nPiB1cmxTY2hlbWVzUmVnaXN0ZXJlZEFzQ2FuRGlzcGxheU9ubHlJZkNhblJl
cXVlc3Q7CiAKICAgICBWZWN0b3I8U3RyaW5nPiBmb250V2hpdGVsaXN0OwotICAgIFZlY3RvcjxT
dHJpbmc+IGxhbmd1YWdlczsKKyAgICBWZWN0b3I8U3RyaW5nPiBvdmVycmlkZUxhbmd1YWdlczsK
ICNpZiBVU0UoR1NUUkVBTUVSKQogICAgIFZlY3RvcjxTdHJpbmc+IGdzdHJlYW1lck9wdGlvbnM7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBy
b2Nlc3NQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJv
Y2Vzc1Byb3h5Q29jb2EubW0KaW5kZXggYmFjZDQ4MzQyOWI4NWY2MGQyMTkwZWM5ZjcwMzk2ZmQ5
ZDcyYjRkNS4uYzJjMGM5ZTdmZDhkZTgyMDFlYzlmMjI0NTVhMWYxNmUzYzJlOTE5OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29j
b2EubW0KQEAgLTI0Nyw0ICsyNDcsMjAgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnVuYmxvY2tQ
cmVmZXJlbmNlU2VydmljZUlmTmVlZGVkKCkKIH0KICNlbmRpZgogCitWZWN0b3I8U3RyaW5nPiBX
ZWJQcm9jZXNzUHJveHk6OnBsYXRmb3JtT3ZlcnJpZGVMYW5ndWFnZXMoKSBjb25zdAoreworICAg
IE5ldmVyRGVzdHJveWVkPFZlY3RvcjxTdHJpbmc+PiBvdmVycmlkZUxhbmd1YWdlcyA9IFtdKCkg
eworICAgICAgICBOU0FycmF5ICpsYW5ndWFnZXMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJk
VXNlckRlZmF1bHRzXSB2YWx1ZUZvcktleTpAIkFwcGxlTGFuZ3VhZ2VzIl07CisgICAgICAgIGlm
ICghbGFuZ3VhZ2VzKQorICAgICAgICAgICAgcmV0dXJuIFZlY3RvcjxXVEY6OlN0cmluZz4geyB9
OworCisgICAgICAgIFZlY3RvcjxTdHJpbmc+IG92ZXJyaWRlTGFuZ3VhZ2VzOworICAgICAgICBv
dmVycmlkZUxhbmd1YWdlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KFtsYW5ndWFnZXMgY291bnRd
KTsKKyAgICAgICAgZm9yIChOU1N0cmluZyAqbGFuZ3VhZ2UgaW4gbGFuZ3VhZ2VzKQorICAgICAg
ICAgICAgb3ZlcnJpZGVMYW5ndWFnZXMudW5jaGVja2VkQXBwZW5kKGxhbmd1YWdlKTsKKyAgICAg
ICAgcmV0dXJuIG92ZXJyaWRlTGFuZ3VhZ2VzOworICAgIH0oKTsKKyAgICByZXR1cm4gb3ZlcnJp
ZGVMYW5ndWFnZXMuZ2V0KCk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcAppbmRleCAzNThiNDIwYzlmYTYxMmFlYzgyYWE5M2EyNTk0MGE0YmJlOTZl
Mjc1Li4zNDM3NmY5MGIxMDM3YTUwZGM4MjQwNTA4YWRhOTc5ZjI5MzY3MzMxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC00NDQsNyArNDQ0LDcgQEAg
dm9pZCBXZWJQcm9jZXNzUG9vbDo6bGFuZ3VhZ2VDaGFuZ2VkKHZvaWQqIGNvbnRleHQpCiAKIHZv
aWQgV2ViUHJvY2Vzc1Bvb2w6Omxhbmd1YWdlQ2hhbmdlZCgpCiB7Ci0gICAgc2VuZFRvQWxsUHJv
Y2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpVc2VyUHJlZmVycmVkTGFuZ3VhZ2VzQ2hhbmdl
ZCh1c2VyUHJlZmVycmVkTGFuZ3VhZ2VzKCkpKTsKKyAgICBzZW5kVG9BbGxQcm9jZXNzZXMoTWVz
c2FnZXM6OldlYlByb2Nlc3M6OlVzZXJQcmVmZXJyZWRMYW5ndWFnZXNDaGFuZ2VkKCkpOwogI2lm
IFVTRShTT1VQKQogICAgIGlmIChtX25ldHdvcmtQcm9jZXNzKQogICAgICAgICBtX25ldHdvcmtQ
cm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6VXNlclByZWZlcnJlZExhbmd1
YWdlc0NoYW5nZWQodXNlclByZWZlcnJlZExhbmd1YWdlcygpKSwgMCk7CkBAIC0xMDI5LDcgKzEw
MjksNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjppbml0aWFsaXplTmV3V2ViUHJvY2VzcyhXZWJQ
cm9jZXNzUHJveHkmIHByb2Nlc3MsIFdlYnNpdGVEYQogI2VuZGlmCiAKICAgICBwYXJhbWV0ZXJz
LmNhY2hlTW9kZWwgPSBMZWdhY3lHbG9iYWxTZXR0aW5nczo6c2luZ2xldG9uKCkuY2FjaGVNb2Rl
bCgpOwotICAgIHBhcmFtZXRlcnMubGFuZ3VhZ2VzID0gY29uZmlndXJhdGlvbigpLm92ZXJyaWRl
TGFuZ3VhZ2VzKCkuaXNFbXB0eSgpID8gdXNlclByZWZlcnJlZExhbmd1YWdlcygpIDogY29uZmln
dXJhdGlvbigpLm92ZXJyaWRlTGFuZ3VhZ2VzKCk7CisgICAgcGFyYW1ldGVycy5vdmVycmlkZUxh
bmd1YWdlcyA9IGNvbmZpZ3VyYXRpb24oKS5vdmVycmlkZUxhbmd1YWdlcygpOwogCiAgICAgcGFy
YW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJlZEFzRW1wdHlEb2N1bWVudCA9IGNvcHlUb1ZlY3Rv
cihtX3NjaGVtZXNUb1JlZ2lzdGVyQXNFbXB0eURvY3VtZW50KTsKICAgICBwYXJhbWV0ZXJzLnVy
bFNjaGVtZXNSZWdpc3RlcmVkQXNTZWN1cmUgPSBjb3B5VG9WZWN0b3IoTGVnYWN5R2xvYmFsU2V0
dGluZ3M6OnNpbmdsZXRvbigpLnNjaGVtZXNUb1JlZ2lzdGVyQXNTZWN1cmUoKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA2NTlmNTgyMzg1NTY5
ZDg5NzkwNGFkYjdiMTYwYzY0Y2I4MWE3NmE5Li42OTkwNzI1NGM3ZGE3NjEwMThmMjkwYTk5YmRk
YmUzOTk2OGU3OGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94
eS5jcHAKQEAgLTMxNyw3ICszMTcsOSBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6Z2V0TGF1bmNo
T3B0aW9ucyhQcm9jZXNzTGF1bmNoZXI6OkxhdW5jaE9wdGlvbnMmIGxhdW5jaE9wdAogICAgICAg
ICBsYXVuY2hPcHRpb25zLmV4dHJhSW5pdGlhbGl6YXRpb25EYXRhLmFkZCgiaW5zcGVjdG9yLXBy
b2Nlc3MiX3MsICIxIl9zKTsKIAogICAgIGF1dG8gb3ZlcnJpZGVMYW5ndWFnZXMgPSBtX3Byb2Nl
c3NQb29sLT5jb25maWd1cmF0aW9uKCkub3ZlcnJpZGVMYW5ndWFnZXMoKTsKLSAgICBpZiAob3Zl
cnJpZGVMYW5ndWFnZXMuc2l6ZSgpKSB7CisgICAgaWYgKG92ZXJyaWRlTGFuZ3VhZ2VzLmlzRW1w
dHkoKSkKKyAgICAgICAgb3ZlcnJpZGVMYW5ndWFnZXMgPSBwbGF0Zm9ybU92ZXJyaWRlTGFuZ3Vh
Z2VzKCk7CisgICAgaWYgKCFvdmVycmlkZUxhbmd1YWdlcy5pc0VtcHR5KCkpIHsKICAgICAgICAg
U3RyaW5nQnVpbGRlciBsYW5ndWFnZVN0cmluZzsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBvdmVycmlkZUxhbmd1YWdlcy5zaXplKCk7ICsraSkgewogICAgICAgICAgICAgaWYgKGkp
CkBAIC02NDgsNiArNjUwLDExIEBAIGJvb2wgV2ViUHJvY2Vzc1Byb3h5OjpmdWxsS2V5Ym9hcmRB
Y2Nlc3NFbmFibGVkKCkKIHsKICAgICByZXR1cm4gZmFsc2U7CiB9CisKK1ZlY3RvcjxTdHJpbmc+
IFdlYlByb2Nlc3NQcm94eTo6cGxhdGZvcm1PdmVycmlkZUxhbmd1YWdlcygpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIHsgfTsKK30KICNlbmRpZgogCiBib29sIFdlYlByb2Nlc3NQcm94eTo6aGFzUHJv
dmlzaW9uYWxQYWdlV2l0aElEKFdlYlBhZ2VQcm94eUlkZW50aWZpZXIgcGFnZUlEKSBjb25zdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAppbmRleCBiYjYyNDNhMGFi
MjY4NzUzNjU5YmEyYWRjMjViNDZjNWZjYTM1MmMyLi41MDdlMjEyN2Y5OWUzMjhkNDVkM2I0MjM2
YTc0YWUyZDU0ZTcwNmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuaApAQCAtNDc3LDYgKzQ3Nyw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBsb2dEaWFnbm9zdGlj
TWVzc2FnZUZvclJlc291cmNlTGltaXRUZXJtaW5hdGlvbihjb25zdCBTdHJpbmcmIGxpbWl0S2V5
KTsKICAgICAKICAgICB2b2lkIHVwZGF0ZVJlZ2lzdHJhdGlvbldpdGhEYXRhU3RvcmUoKTsKKyAg
ICBWZWN0b3I8U3RyaW5nPiBwbGF0Zm9ybU92ZXJyaWRlTGFuZ3VhZ2VzKCkgY29uc3Q7CiAKICAg
ICB2b2lkIG1heWJlU2h1dERvd24oKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwCmluZGV4IGFiOWNiYWQxOGUwMmY1ZGEzZTAzY2UwYzU4ZTQ2ZWU3YTIyNzM5ZWQuLjdl
N2U5MTIyZmUwNzU2MjQ3ZTY2ZWFhNzc1MmY5YzUwZjM3MjVkZjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTM5MSw4ICszOTEsOCBAQCB2b2lkIFdlYlByb2Nl
c3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmJiBw
YXJhbWV0ZXJzKQogCiAgICAgc2V0Q2FjaGVNb2RlbChwYXJhbWV0ZXJzLmNhY2hlTW9kZWwpOwog
Ci0gICAgaWYgKCFwYXJhbWV0ZXJzLmxhbmd1YWdlcy5pc0VtcHR5KCkpCi0gICAgICAgIG92ZXJy
aWRlVXNlclByZWZlcnJlZExhbmd1YWdlcyhwYXJhbWV0ZXJzLmxhbmd1YWdlcyk7CisgICAgaWYg
KCFwYXJhbWV0ZXJzLm92ZXJyaWRlTGFuZ3VhZ2VzLmlzRW1wdHkoKSkKKyAgICAgICAgb3ZlcnJp
ZGVVc2VyUHJlZmVycmVkTGFuZ3VhZ2VzKHBhcmFtZXRlcnMub3ZlcnJpZGVMYW5ndWFnZXMpOwog
CiAgICAgbV90ZXh0Q2hlY2tlclN0YXRlID0gcGFyYW1ldGVycy50ZXh0Q2hlY2tlclN0YXRlOwog
CkBAIC02NDUsOSArNjQ1LDkgQEAgdm9pZCBXZWJQcm9jZXNzOjpzZXRTaG91bGRVc2VGb250U21v
b3RoaW5nKGJvb2wgdXNlRm9udFNtb290aGluZykKICAgICBXZWJDb3JlOjpGb250Q2FzY2FkZTo6
c2V0U2hvdWxkVXNlU21vb3RoaW5nKHVzZUZvbnRTbW9vdGhpbmcpOwogfQogCi12b2lkIFdlYlBy
b2Nlc3M6OnVzZXJQcmVmZXJyZWRMYW5ndWFnZXNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiBsYW5ndWFnZXMpIGNvbnN0Cit2b2lkIFdlYlByb2Nlc3M6OnVzZXJQcmVmZXJyZWRMYW5ndWFn
ZXNDaGFuZ2VkKCkgY29uc3QKIHsKLSAgICBvdmVycmlkZVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMo
bGFuZ3VhZ2VzKTsKKyAgICBXVEY6Omxhbmd1YWdlRGlkQ2hhbmdlKCk7CiB9CiAKIHZvaWQgV2Vi
UHJvY2Vzczo6ZnVsbEtleWJvYXJkQWNjZXNzTW9kZUNoYW5nZWQoYm9vbCBmdWxsS2V5Ym9hcmRB
Y2Nlc3NFbmFibGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggNWUy
MGJhMGY4NjZlMjExYzQ5MjczZmU3ZTNlNmRhNGRiYjYwZDUyZC4uNThmZDExZDYwYTkwOGRiYmRh
YTBmMjEyYmZhZmNkMTU4OTE1ZmI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5oCkBAIC0zNzcsNyArMzc3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNsZWFyUmVzb3VyY2VM
b2FkU3RhdGlzdGljcygpOwogICAgIHZvaWQgZmx1c2hSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKCk7
CiAgICAgdm9pZCBzZWVkUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZvclRlc3RpbmcoY29uc3QgV2Vi
Q29yZTo6UmVnaXN0cmFibGVEb21haW4mIGZpcnN0UGFydHlEb21haW4sIGNvbnN0IFdlYkNvcmU6
OlJlZ2lzdHJhYmxlRG9tYWluJiB0aGlyZFBhcnR5RG9tYWluLCBib29sIHNob3VsZFNjaGVkdWxl
Tm90aWZpY2F0aW9uLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwotICAgIHZvaWQgdXNl
clByZWZlcnJlZExhbmd1YWdlc0NoYW5nZWQoY29uc3QgVmVjdG9yPFN0cmluZz4mKSBjb25zdDsK
KyAgICB2b2lkIHVzZXJQcmVmZXJyZWRMYW5ndWFnZXNDaGFuZ2VkKCkgY29uc3Q7CiAgICAgdm9p
ZCBmdWxsS2V5Ym9hcmRBY2Nlc3NNb2RlQ2hhbmdlZChib29sIGZ1bGxLZXlib2FyZEFjY2Vzc0Vu
YWJsZWQpOwogCiAgICAgYm9vbCBpc1BsdWdJbkF1dG9TdGFydE9yaWdpbkhhc2godW5zaWduZWQg
cGx1Z0luT3JpZ2luSGFzaCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLm1lc3NhZ2VzLmluCmluZGV4IDVlN2E3NzNjYTE2MTJjNTRmOWJmYTMyZTE5OWE1MzA1MDU2
MDIwMmYuLmNmYTNlNGQwMDM3ZWFhNTczMzllNDMzNzFhZjEzZGFmNmIzZmMyZjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC00OSw3
ICs0OSw3IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgTm90UmVmQ291
bnRlZCB7CiAgICAgU2V0U2hvdWxkVXNlRm9udFNtb290aGluZyhib29sIHVzZUZvbnRTbW9vdGhp
bmcpCiAgICAgU2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoYm9vbCByZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRW5hYmxlZCk7CiAgICAgQ2xlYXJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKCk7
Ci0gICAgVXNlclByZWZlcnJlZExhbmd1YWdlc0NoYW5nZWQoVmVjdG9yPFN0cmluZz4gbGFuZ3Vh
Z2VzKQorICAgIFVzZXJQcmVmZXJyZWRMYW5ndWFnZXNDaGFuZ2VkKCkKICAgICBGdWxsS2V5Ym9h
cmRBY2Nlc3NNb2RlQ2hhbmdlZChib29sIGZ1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQpCiAKICAg
ICAjIFBsdWctaW5zLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402017</attachid>
            <date>2020-06-16 10:10:51 -0700</date>
            <delta_ts>2020-06-16 10:22:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213214-20200616101050.patch</filename>
            <type>text/plain</type>
            <size>2158</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNiOTJmODJlMTEzNTZjNWIw
ZTkyNzU3YjkyNjgyZTRmNmM2YjdhNDEuLmM4YTU4ZDkyYjM4Y2U2YjU3ZTAzMjFhYTIwZWI1N2Qx
YjllODUxNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjAtMDYtMTYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIGNhbGxpbmcgdXNlclByZWZl
cnJlZExhbmd1YWdlcygpIGluIHRoZSBVSVByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzIxNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NjQzMTc1OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgRm9sbG93LXVwIHRvIHIyNjMwOTQgdG8gYWRkcmVzcyBwb3N0LWxhbmRpbmcgZmVlZGJhY2sg
ZnJvbSBEYXJpbi4KKyAgICAgICAgVXNlIG1ha2VWZWN0b3IoKSBmdW5jdGlvbmFsaXR5IGluIFdU
RiB0byBjb252ZXJ0IHRoZSBOU0FycmF5IGludG8gYSBWZWN0b3IgaW5zdGVhZAorICAgICAgICBv
ZiBkb2luZyBpdCBieSBoYW5kLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nl
c3NQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OnBsYXRm
b3JtT3ZlcnJpZGVMYW5ndWFnZXMgY29uc3QpOgorCiAyMDIwLTA2LTE2ICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcCBjYWxsaW5nIHVzZXJQcmVmZXJyZWRM
YW5ndWFnZXMoKSBpbiB0aGUgVUlQcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCmluZGV4IGMyYzBjOWU3ZmQ4ZGU4
MjAxZWM5ZjIyNDU1YTFmMTZlM2MyZTkxOTguLmZiOTQyMWEzMDQxM2I4YjFkMzkxNzljM2EzZjBk
MzVkMGJkMDYxNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dl
YlByb2Nlc3NQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCkBAIC0zOCw2ICszOCw3IEBACiAjaW1wb3J0IDxzeXMv
c3lzY3RsLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9T
Y29wZS5oPgorI2ltcG9ydCA8d3RmL2NvY29hL1ZlY3RvckNvY29hLmg+CiAjaW1wb3J0IDx3dGYv
c3BpL2Rhcndpbi9TYW5kYm94U1BJLmg+CiAKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikK
QEAgLTI1MSwxNCArMjUyLDcgQEAgVmVjdG9yPFN0cmluZz4gV2ViUHJvY2Vzc1Byb3h5OjpwbGF0
Zm9ybU92ZXJyaWRlTGFuZ3VhZ2VzKCkgY29uc3QKIHsKICAgICBOZXZlckRlc3Ryb3llZDxWZWN0
b3I8U3RyaW5nPj4gb3ZlcnJpZGVMYW5ndWFnZXMgPSBbXSgpIHsKICAgICAgICAgTlNBcnJheSAq
bGFuZ3VhZ2VzID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gdmFsdWVG
b3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOwotICAgICAgICBpZiAoIWxhbmd1YWdlcykKLSAgICAg
ICAgICAgIHJldHVybiBWZWN0b3I8V1RGOjpTdHJpbmc+IHsgfTsKLQotICAgICAgICBWZWN0b3I8
U3RyaW5nPiBvdmVycmlkZUxhbmd1YWdlczsKLSAgICAgICAgb3ZlcnJpZGVMYW5ndWFnZXMucmVz
ZXJ2ZUluaXRpYWxDYXBhY2l0eShbbGFuZ3VhZ2VzIGNvdW50XSk7Ci0gICAgICAgIGZvciAoTlNT
dHJpbmcgKmxhbmd1YWdlIGluIGxhbmd1YWdlcykKLSAgICAgICAgICAgIG92ZXJyaWRlTGFuZ3Vh
Z2VzLnVuY2hlY2tlZEFwcGVuZChsYW5ndWFnZSk7Ci0gICAgICAgIHJldHVybiBvdmVycmlkZUxh
bmd1YWdlczsKKyAgICAgICAgcmV0dXJuIG1ha2VWZWN0b3I8U3RyaW5nPihsYW5ndWFnZXMpOwog
ICAgIH0oKTsKICAgICByZXR1cm4gb3ZlcnJpZGVMYW5ndWFnZXMuZ2V0KCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402018</attachid>
            <date>2020-06-16 10:22:44 -0700</date>
            <delta_ts>2020-06-16 10:23:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213214-20200616102243.patch</filename>
            <type>text/plain</type>
            <size>2375</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNiOTJmODJlMTEzNTZjNWIw
ZTkyNzU3YjkyNjgyZTRmNmM2YjdhNDEuLmMyNDkwNGE2MWQzNDc1Yzg0ZDFjM2ZlY2FiZDNlOGRj
NmE0N2QzZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDYtMTYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIGNhbGxpbmcgdXNlclByZWZl
cnJlZExhbmd1YWdlcygpIGluIHRoZSBVSVByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzIxNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NjQzMTc1OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgRm9sbG93LXVwIHRvIHIyNjMwOTQgdG8gYWRkcmVzcyBwb3N0LWxhbmRpbmcgZmVlZGJhY2sg
ZnJvbSBEYXJpbi4KKyAgICAgICAgVXNlIG1ha2VWZWN0b3IoKSBmdW5jdGlvbmFsaXR5IGluIFdU
RiB0byBjb252ZXJ0IHRoZSBOU0FycmF5IGludG8gYSBWZWN0b3IgaW5zdGVhZAorICAgICAgICBv
ZiBkb2luZyBpdCBieSBoYW5kLiBBbHNvIG1hcmsgdGhlIE5ldmVyRGVzdHJveWVkIHZhcmlhYmxl
IGFzIHN0YXRpYyBjb25zdCB0bworICAgICAgICBhdm9pZCBsZWFraW5nLgorCisgICAgICAgICog
VUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUHJveHk6OnBsYXRmb3JtT3ZlcnJpZGVMYW5ndWFnZXMgY29uc3QpOgorCiAy
MDIwLTA2LTE2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgU3Rv
cCBjYWxsaW5nIHVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSBpbiB0aGUgVUlQcm9jZXNzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2Nv
YS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29h
Lm1tCmluZGV4IGMyYzBjOWU3ZmQ4ZGU4MjAxZWM5ZjIyNDU1YTFmMTZlM2MyZTkxOTguLmRiOTI5
MWY5YWY1MzU5ZjI0ZDViYWQxYzJmYjE3ODQ3MjMzODAzYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCkBAIC0zOCw2
ICszOCw3IEBACiAjaW1wb3J0IDxzeXMvc3lzY3RsLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0
cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9TY29wZS5oPgorI2ltcG9ydCA8d3RmL2NvY29hL1ZlY3Rv
ckNvY29hLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJLmg+CiAKICNpZiBF
TkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKQEAgLTI0OSwxNiArMjUwLDkgQEAgdm9pZCBXZWJQcm9j
ZXNzUHJveHk6OnVuYmxvY2tQcmVmZXJlbmNlU2VydmljZUlmTmVlZGVkKCkKIAogVmVjdG9yPFN0
cmluZz4gV2ViUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybU92ZXJyaWRlTGFuZ3VhZ2VzKCkgY29uc3QK
IHsKLSAgICBOZXZlckRlc3Ryb3llZDxWZWN0b3I8U3RyaW5nPj4gb3ZlcnJpZGVMYW5ndWFnZXMg
PSBbXSgpIHsKKyAgICBzdGF0aWMgY29uc3QgTmV2ZXJEZXN0cm95ZWQ8VmVjdG9yPFN0cmluZz4+
IG92ZXJyaWRlTGFuZ3VhZ2VzID0gW10oKSB7CiAgICAgICAgIE5TQXJyYXkgKmxhbmd1YWdlcyA9
IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHZhbHVlRm9yS2V5OkAiQXBw
bGVMYW5ndWFnZXMiXTsKLSAgICAgICAgaWYgKCFsYW5ndWFnZXMpCi0gICAgICAgICAgICByZXR1
cm4gVmVjdG9yPFdURjo6U3RyaW5nPiB7IH07Ci0KLSAgICAgICAgVmVjdG9yPFN0cmluZz4gb3Zl
cnJpZGVMYW5ndWFnZXM7Ci0gICAgICAgIG92ZXJyaWRlTGFuZ3VhZ2VzLnJlc2VydmVJbml0aWFs
Q2FwYWNpdHkoW2xhbmd1YWdlcyBjb3VudF0pOwotICAgICAgICBmb3IgKE5TU3RyaW5nICpsYW5n
dWFnZSBpbiBsYW5ndWFnZXMpCi0gICAgICAgICAgICBvdmVycmlkZUxhbmd1YWdlcy51bmNoZWNr
ZWRBcHBlbmQobGFuZ3VhZ2UpOwotICAgICAgICByZXR1cm4gb3ZlcnJpZGVMYW5ndWFnZXM7Cisg
ICAgICAgIHJldHVybiBtYWtlVmVjdG9yPFN0cmluZz4obGFuZ3VhZ2VzKTsKICAgICB9KCk7CiAg
ICAgcmV0dXJuIG92ZXJyaWRlTGFuZ3VhZ2VzLmdldCgpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402019</attachid>
            <date>2020-06-16 10:24:01 -0700</date>
            <delta_ts>2020-06-16 10:37:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213214-20200616102400.patch</filename>
            <type>text/plain</type>
            <size>2435</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNiOTJmODJlMTEzNTZjNWIw
ZTkyNzU3YjkyNjgyZTRmNmM2YjdhNDEuLmMyNDkwNGE2MWQzNDc1Yzg0ZDFjM2ZlY2FiZDNlOGRj
NmE0N2QzZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDYtMTYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIGNhbGxpbmcgdXNlclByZWZl
cnJlZExhbmd1YWdlcygpIGluIHRoZSBVSVByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzIxNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NjQzMTc1OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgRm9sbG93LXVwIHRvIHIyNjMwOTQgdG8gYWRkcmVzcyBwb3N0LWxhbmRpbmcgZmVlZGJhY2sg
ZnJvbSBEYXJpbi4KKyAgICAgICAgVXNlIG1ha2VWZWN0b3IoKSBmdW5jdGlvbmFsaXR5IGluIFdU
RiB0byBjb252ZXJ0IHRoZSBOU0FycmF5IGludG8gYSBWZWN0b3IgaW5zdGVhZAorICAgICAgICBv
ZiBkb2luZyBpdCBieSBoYW5kLiBBbHNvIG1hcmsgdGhlIE5ldmVyRGVzdHJveWVkIHZhcmlhYmxl
IGFzIHN0YXRpYyBjb25zdCB0bworICAgICAgICBhdm9pZCBsZWFraW5nLgorCisgICAgICAgICog
VUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUHJveHk6OnBsYXRmb3JtT3ZlcnJpZGVMYW5ndWFnZXMgY29uc3QpOgorCiAy
MDIwLTA2LTE2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgU3Rv
cCBjYWxsaW5nIHVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSBpbiB0aGUgVUlQcm9jZXNzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2Nv
YS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29h
Lm1tCmluZGV4IGMyYzBjOWU3ZmQ4ZGU4MjAxZWM5ZjIyNDU1YTFmMTZlM2MyZTkxOTguLmJkZjI3
NzlhN2Q4ZjYwOTRhZGFmNjM5OGZlZjE5MzA4ZGY0MmMzMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCkBAIC0zOCw2
ICszOCw3IEBACiAjaW1wb3J0IDxzeXMvc3lzY3RsLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0
cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9TY29wZS5oPgorI2ltcG9ydCA8d3RmL2NvY29hL1ZlY3Rv
ckNvY29hLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJLmg+CiAKICNpZiBF
TkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKQEAgLTI0OSwxNiArMjUwLDggQEAgdm9pZCBXZWJQcm9j
ZXNzUHJveHk6OnVuYmxvY2tQcmVmZXJlbmNlU2VydmljZUlmTmVlZGVkKCkKIAogVmVjdG9yPFN0
cmluZz4gV2ViUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybU92ZXJyaWRlTGFuZ3VhZ2VzKCkgY29uc3QK
IHsKLSAgICBOZXZlckRlc3Ryb3llZDxWZWN0b3I8U3RyaW5nPj4gb3ZlcnJpZGVMYW5ndWFnZXMg
PSBbXSgpIHsKLSAgICAgICAgTlNBcnJheSAqbGFuZ3VhZ2VzID0gW1tOU1VzZXJEZWZhdWx0cyBz
dGFuZGFyZFVzZXJEZWZhdWx0c10gdmFsdWVGb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOwotICAg
ICAgICBpZiAoIWxhbmd1YWdlcykKLSAgICAgICAgICAgIHJldHVybiBWZWN0b3I8V1RGOjpTdHJp
bmc+IHsgfTsKLQotICAgICAgICBWZWN0b3I8U3RyaW5nPiBvdmVycmlkZUxhbmd1YWdlczsKLSAg
ICAgICAgb3ZlcnJpZGVMYW5ndWFnZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShbbGFuZ3VhZ2Vz
IGNvdW50XSk7Ci0gICAgICAgIGZvciAoTlNTdHJpbmcgKmxhbmd1YWdlIGluIGxhbmd1YWdlcykK
LSAgICAgICAgICAgIG92ZXJyaWRlTGFuZ3VhZ2VzLnVuY2hlY2tlZEFwcGVuZChsYW5ndWFnZSk7
Ci0gICAgICAgIHJldHVybiBvdmVycmlkZUxhbmd1YWdlczsKKyAgICBzdGF0aWMgY29uc3QgTmV2
ZXJEZXN0cm95ZWQ8VmVjdG9yPFN0cmluZz4+IG92ZXJyaWRlTGFuZ3VhZ2VzID0gW10oKSB7Cisg
ICAgICAgIHJldHVybiBtYWtlVmVjdG9yPFN0cmluZz4oW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFy
ZFVzZXJEZWZhdWx0c10gdmFsdWVGb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdKTsKICAgICB9KCk7
CiAgICAgcmV0dXJuIG92ZXJyaWRlTGFuZ3VhZ2VzLmdldCgpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402020</attachid>
            <date>2020-06-16 10:35:59 -0700</date>
            <delta_ts>2020-06-16 10:37:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213214-20200616103558.patch</filename>
            <type>text/plain</type>
            <size>2411</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNiOTJmODJlMTEzNTZjNWIw
ZTkyNzU3YjkyNjgyZTRmNmM2YjdhNDEuLjAzYjE0NTExMTQ1NjM5ZGUxY2VkYzFhMGJlMzAxOTNj
NWRiNmE3MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDYtMTYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIGNhbGxpbmcgdXNlclByZWZl
cnJlZExhbmd1YWdlcygpIGluIHRoZSBVSVByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzIxNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NjQzMTc1OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAg
Rm9sbG93LXVwIHRvIHIyNjMwOTQgdG8gYWRkcmVzcyBwb3N0LWxhbmRpbmcgZmVlZGJhY2sgZnJv
bSBEYXJpbi4KKyAgICAgICAgVXNlIG1ha2VWZWN0b3IoKSBmdW5jdGlvbmFsaXR5IGluIFdURiB0
byBjb252ZXJ0IHRoZSBOU0FycmF5IGludG8gYSBWZWN0b3IgaW5zdGVhZAorICAgICAgICBvZiBk
b2luZyBpdCBieSBoYW5kLiBBbHNvIG1hcmsgdGhlIE5ldmVyRGVzdHJveWVkIHZhcmlhYmxlIGFz
IHN0YXRpYyBjb25zdCB0bworICAgICAgICBhdm9pZCBsZWFraW5nLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzUHJveHk6OnBsYXRmb3JtT3ZlcnJpZGVMYW5ndWFnZXMgY29uc3QpOgorCiAyMDIw
LTA2LTE2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcCBj
YWxsaW5nIHVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSBpbiB0aGUgVUlQcm9jZXNzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1t
CmluZGV4IGMyYzBjOWU3ZmQ4ZGU4MjAxZWM5ZjIyNDU1YTFmMTZlM2MyZTkxOTguLmMyNjM4MTY4
NTI4NDViOTJhNjdiMDg3MzYxY2UyODdhOGMyMjZkZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCkBAIC0zOCw2ICsz
OCw3IEBACiAjaW1wb3J0IDxzeXMvc3lzY3RsLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95
ZWQuaD4KICNpbXBvcnQgPHd0Zi9TY29wZS5oPgorI2ltcG9ydCA8d3RmL2NvY29hL1ZlY3RvckNv
Y29hLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJLmg+CiAKICNpZiBFTkFC
TEUoUkVNT1RFX0lOU1BFQ1RPUikKQEAgLTI0OSwxNyArMjUwLDcgQEAgdm9pZCBXZWJQcm9jZXNz
UHJveHk6OnVuYmxvY2tQcmVmZXJlbmNlU2VydmljZUlmTmVlZGVkKCkKIAogVmVjdG9yPFN0cmlu
Zz4gV2ViUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybU92ZXJyaWRlTGFuZ3VhZ2VzKCkgY29uc3QKIHsK
LSAgICBOZXZlckRlc3Ryb3llZDxWZWN0b3I8U3RyaW5nPj4gb3ZlcnJpZGVMYW5ndWFnZXMgPSBb
XSgpIHsKLSAgICAgICAgTlNBcnJheSAqbGFuZ3VhZ2VzID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFu
ZGFyZFVzZXJEZWZhdWx0c10gdmFsdWVGb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOwotICAgICAg
ICBpZiAoIWxhbmd1YWdlcykKLSAgICAgICAgICAgIHJldHVybiBWZWN0b3I8V1RGOjpTdHJpbmc+
IHsgfTsKLQotICAgICAgICBWZWN0b3I8U3RyaW5nPiBvdmVycmlkZUxhbmd1YWdlczsKLSAgICAg
ICAgb3ZlcnJpZGVMYW5ndWFnZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShbbGFuZ3VhZ2VzIGNv
dW50XSk7Ci0gICAgICAgIGZvciAoTlNTdHJpbmcgKmxhbmd1YWdlIGluIGxhbmd1YWdlcykKLSAg
ICAgICAgICAgIG92ZXJyaWRlTGFuZ3VhZ2VzLnVuY2hlY2tlZEFwcGVuZChsYW5ndWFnZSk7Ci0g
ICAgICAgIHJldHVybiBvdmVycmlkZUxhbmd1YWdlczsKLSAgICB9KCk7CisgICAgc3RhdGljIGNv
bnN0IE5ldmVyRGVzdHJveWVkPFZlY3RvcjxTdHJpbmc+PiBvdmVycmlkZUxhbmd1YWdlcyA9IG1h
a2VWZWN0b3I8U3RyaW5nPihbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2
YWx1ZUZvcktleTpAIkFwcGxlTGFuZ3VhZ2VzIl0pOwogICAgIHJldHVybiBvdmVycmlkZUxhbmd1
YWdlcy5nZXQoKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402021</attachid>
            <date>2020-06-16 10:37:36 -0700</date>
            <delta_ts>2020-06-16 11:10:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213214-20200616103735.patch</filename>
            <type>text/plain</type>
            <size>2445</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNiOTJmODJlMTEzNTZjNWIw
ZTkyNzU3YjkyNjgyZTRmNmM2YjdhNDEuLjAzYjE0NTExMTQ1NjM5ZGUxY2VkYzFhMGJlMzAxOTNj
NWRiNmE3MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDYtMTYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIGNhbGxpbmcgdXNlclByZWZl
cnJlZExhbmd1YWdlcygpIGluIHRoZSBVSVByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzIxNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NjQzMTc1OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAg
Rm9sbG93LXVwIHRvIHIyNjMwOTQgdG8gYWRkcmVzcyBwb3N0LWxhbmRpbmcgZmVlZGJhY2sgZnJv
bSBEYXJpbi4KKyAgICAgICAgVXNlIG1ha2VWZWN0b3IoKSBmdW5jdGlvbmFsaXR5IGluIFdURiB0
byBjb252ZXJ0IHRoZSBOU0FycmF5IGludG8gYSBWZWN0b3IgaW5zdGVhZAorICAgICAgICBvZiBk
b2luZyBpdCBieSBoYW5kLiBBbHNvIG1hcmsgdGhlIE5ldmVyRGVzdHJveWVkIHZhcmlhYmxlIGFz
IHN0YXRpYyBjb25zdCB0bworICAgICAgICBhdm9pZCBsZWFraW5nLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzUHJveHk6OnBsYXRmb3JtT3ZlcnJpZGVMYW5ndWFnZXMgY29uc3QpOgorCiAyMDIw
LTA2LTE2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcCBj
YWxsaW5nIHVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSBpbiB0aGUgVUlQcm9jZXNzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1t
CmluZGV4IGMyYzBjOWU3ZmQ4ZGU4MjAxZWM5ZjIyNDU1YTFmMTZlM2MyZTkxOTguLmI4MmViMjZj
NTU5MzVjMTU3ZGYzNzgzYmE2ZWQyMTA2MDJiYWM3ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCkBAIC0zOCw2ICsz
OCw3IEBACiAjaW1wb3J0IDxzeXMvc3lzY3RsLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95
ZWQuaD4KICNpbXBvcnQgPHd0Zi9TY29wZS5oPgorI2ltcG9ydCA8d3RmL2NvY29hL1ZlY3RvckNv
Y29hLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJLmg+CiAKICNpZiBFTkFC
TEUoUkVNT1RFX0lOU1BFQ1RPUikKQEAgLTI0OSwxOCArMjUwLDggQEAgdm9pZCBXZWJQcm9jZXNz
UHJveHk6OnVuYmxvY2tQcmVmZXJlbmNlU2VydmljZUlmTmVlZGVkKCkKIAogVmVjdG9yPFN0cmlu
Zz4gV2ViUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybU92ZXJyaWRlTGFuZ3VhZ2VzKCkgY29uc3QKIHsK
LSAgICBOZXZlckRlc3Ryb3llZDxWZWN0b3I8U3RyaW5nPj4gb3ZlcnJpZGVMYW5ndWFnZXMgPSBb
XSgpIHsKLSAgICAgICAgTlNBcnJheSAqbGFuZ3VhZ2VzID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFu
ZGFyZFVzZXJEZWZhdWx0c10gdmFsdWVGb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOwotICAgICAg
ICBpZiAoIWxhbmd1YWdlcykKLSAgICAgICAgICAgIHJldHVybiBWZWN0b3I8V1RGOjpTdHJpbmc+
IHsgfTsKLQotICAgICAgICBWZWN0b3I8U3RyaW5nPiBvdmVycmlkZUxhbmd1YWdlczsKLSAgICAg
ICAgb3ZlcnJpZGVMYW5ndWFnZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShbbGFuZ3VhZ2VzIGNv
dW50XSk7Ci0gICAgICAgIGZvciAoTlNTdHJpbmcgKmxhbmd1YWdlIGluIGxhbmd1YWdlcykKLSAg
ICAgICAgICAgIG92ZXJyaWRlTGFuZ3VhZ2VzLnVuY2hlY2tlZEFwcGVuZChsYW5ndWFnZSk7Ci0g
ICAgICAgIHJldHVybiBvdmVycmlkZUxhbmd1YWdlczsKLSAgICB9KCk7Ci0gICAgcmV0dXJuIG92
ZXJyaWRlTGFuZ3VhZ2VzLmdldCgpOworICAgIHN0YXRpYyBjb25zdCBOZXZlckRlc3Ryb3llZDxW
ZWN0b3I8U3RyaW5nPj4gb3ZlcnJpZGVMYW5ndWFnZXMgPSBtYWtlVmVjdG9yPFN0cmluZz4oW1tO
U1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gdmFsdWVGb3JLZXk6QCJBcHBsZUxh
bmd1YWdlcyJdKTsKKyAgICByZXR1cm4gb3ZlcnJpZGVMYW5ndWFnZXM7CiB9CiAKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>