<?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>217606</bug_id>
          
          <creation_ts>2020-10-12 06:15:41 -0700</creation_ts>
          <short_desc>Web Audio broken on iOS 14 after switching app</short_desc>
          <delta_ts>2020-10-28 19:40:37 -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>Web Audio</component>
          <version>Safari 13</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>218210</dependson>
    
    <dependson>218235</dependson>
    
    <dependson>218251</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ashley Gullen">ashley</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1696828</commentid>
    <comment_count>0</comment_count>
    <who name="Ashley Gullen">ashley</who>
    <bug_when>2020-10-12 06:15:41 -0700</bug_when>
    <thetext>Demo URL: https://downloads.scirra.com/labs/ios14audio/standard/index.html

Steps to reproduce:
1. Press button and verify a sound can be heard
2. Go to the home screen
3. Switch back to Safari so the page is showing again
4. Press the button again

Observed result:
Audio no longer plays.

Expected result:
Audio to continue playing.

It looks like all our JavaScript code is running as expected, and the AudioContext state is still &quot;running&quot; after switching back to the app, but no audio playback happens. So it appears to be a regression in iOS 14. This affects all web content made in Construct 3 (www.construct.net).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1696829</commentid>
    <comment_count>1</comment_count>
    <who name="Ashley Gullen">ashley</who>
    <bug_when>2020-10-12 06:17:40 -0700</bug_when>
    <thetext>Note it also works correctly in Safari 14 on macOS, and in Chrome on Android, so it looks like this only affects iOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1697125</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-12 17:39:39 -0700</bug_when>
    <thetext>&lt;rdar://problem/70231769&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701490</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-26 09:57:53 -0700</bug_when>
    <thetext>I see an exception showing in the console on homing out:
Unhandled Promise Rejection: undefined

		_SetSuspended(e)
		{
			const isSuspended = e[&quot;isSuspended&quot;];

			console.log(&quot;[Construct 3] Setting audio suspended: &quot;, isSuspended);
			
			// Upon resume: first resume the whole context
			if (!isSuspended &amp;&amp; this._audioContext[&quot;resume&quot;])
				this._audioContext[&quot;resume&quot;]();
			
			// Suspend or resume all audio instances
			for (const ai of this._audioInstances)
				ai.SetSuspended(isSuspended);
				
			// After suspend: also suspend the whole context
			if (isSuspended &amp;&amp; this._audioContext[&quot;suspend&quot;])
				this._audioContext[&quot;suspend&quot;](); // On this line.
		}

Looks like the script is not dealing with this promise rejection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701502</commentid>
    <comment_count>4</comment_count>
    <who name="Ashley Gullen">ashley</who>
    <bug_when>2020-10-26 10:18:03 -0700</bug_when>
    <thetext>Why would that promise reject? It didn&apos;t before, so this seems to be new.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701526</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-26 10:48:30 -0700</bug_when>
    <thetext>(In reply to Ashley Gullen from comment #4)
&gt; Why would that promise reject? It didn&apos;t before, so this seems to be new.

I will investigate. It is possible it is new behavior since we&apos;ve been working on aligning our WebAudio implementation with the W3C specification.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701528</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-26 10:48:53 -0700</bug_when>
    <thetext>Still reproduces on with WebKit trunk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701535</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-26 10:57:22 -0700</bug_when>
    <thetext>suspend() throws because the audio context&apos;s state is &quot;interrupted&quot;, likely because the view is not longer visible and we interrupt audio in this case.

It seems wrong to reject the promise in this case. Seems like we should set the &quot;suspendedByUser&quot; flag and resolve the promise in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701560</commentid>
    <comment_count>8</comment_count>
    <who name="Ashley Gullen">ashley</who>
    <bug_when>2020-10-26 12:12:16 -0700</bug_when>
    <thetext>This may be off topic but the spec says the only valid AudioContext states are &quot;running&quot;, &quot;suspended&quot; and &quot;closed&quot;. Since &quot;interrupted&quot; isn&apos;t a specified state we haven&apos;t written any code to try to handle that. Separately, this has caused us problems in the past in WKWebView, since some things (in our case showing an AdMob ad) seemed to cause the AudioContext to end up in this non-standard state, causing audio playback to fail in that case as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701562</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-26 12:16:45 -0700</bug_when>
    <thetext>(In reply to Ashley Gullen from comment #8)
&gt; This may be off topic but the spec says the only valid AudioContext states
&gt; are &quot;running&quot;, &quot;suspended&quot; and &quot;closed&quot;. Since &quot;interrupted&quot; isn&apos;t a
&gt; specified state we haven&apos;t written any code to try to handle that.
&gt; Separately, this has caused us problems in the past in WKWebView, since some
&gt; things (in our case showing an AdMob ad) seemed to cause the AudioContext to
&gt; end up in this non-standard state, causing audio playback to fail in that
&gt; case as well.

Yes, &quot;interrupted&quot; is not a standard state and I agree we should stop exposing to the Web this internal implementation detail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701624</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-26 14:25:16 -0700</bug_when>
    <thetext>Even after I stop rejecting the suspend() promise and get rid of the &quot;interrupted&quot; state, clicking the button still does not play audio sometimes (it is flaky). I am not sure why (The JS is pretty complicated) and there is no longer any exception/error in the console.

When the button does not cause audio playback, I see that the AudioContext&apos;s state is &quot;running&quot;, as expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701637</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-26 14:38:00 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #10)
&gt; Even after I stop rejecting the suspend() promise and get rid of the
&gt; &quot;interrupted&quot; state, clicking the button still does not play audio sometimes
&gt; (it is flaky). I am not sure why (The JS is pretty complicated) and there is
&gt; no longer any exception/error in the console.
&gt; 
&gt; When the button does not cause audio playback, I see that the AudioContext&apos;s
&gt; state is &quot;running&quot;, as expected.

Could you point me to the code that actually plays the audio when I click the button? I tried to follow in Web Inspector but could not easily find the logic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701641</commentid>
    <comment_count>12</comment_count>
      <attachid>412355</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-26 14:43:47 -0700</bug_when>
    <thetext>Created attachment 412355
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701650</commentid>
    <comment_count>13</comment_count>
    <who name="Ashley Gullen">ashley</who>
    <bug_when>2020-10-26 14:54:39 -0700</bug_when>
    <thetext>If you beautify the source and search for createBufferSource, there is one in a method named Play. That is where the actual playback is done and the call to start() made.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701657</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-26 15:23:19 -0700</bug_when>
    <thetext>(In reply to Ashley Gullen from comment #13)
&gt; If you beautify the source and search for createBufferSource, there is one
&gt; in a method named Play. That is where the actual playback is done and the
&gt; call to start() made.

Thanks, will debug further.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701676</commentid>
    <comment_count>15</comment_count>
      <attachid>412364</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-26 16:34:38 -0700</bug_when>
    <thetext>Created attachment 412364
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701883</commentid>
    <comment_count>16</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-27 08:31:05 -0700</bug_when>
    <thetext>I landed this first patch via Bug 218235 and am keeping this bug open because it is still very flaky. There seems to be a remaining issue where when going back to Safari, we try to resume the AudioContext and fail due to a permission error. The call to AudioOutputUnitStart() fails with an AVAudioSessionErrorCodeCannotStartPlaying error code and we still move the AudioContext&apos;s state to &quot;running&quot; and resolve the resume() promise. There are several issues here:
1. If the attempt to start the AudioDestination fails, we should probably reject the resume() promise and not set the state to &quot;running&quot;.
2. Why are we getting a AVAudioSessionErrorCodeCannotStartPlaying error when trying to start the AudioDestination when going back to Safari. This is flaky so I assume we attempt to start the destination slightly before AVFoundation realizes we are allowed to play.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702121</commentid>
    <comment_count>17</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-27 15:01:12 -0700</bug_when>
    <thetext>After the fixes from Bug 218235 &amp; Bug 218251, this test page provided actually works reliably how. That said, it only works reliably because the test page keeps trying to resume the context until context.state becomes &quot;running&quot;.

As a result, I am keeping this bug open for now. We still have a race when coming back to Safari causing us to fail to resume rendering in some cases. Without the retry logic on the JS side, it would fail which is bad. I am looking into why this race is happening and if we can resolve it. If not, I guess we could implement a retry logic on WebKit side to avoid relying on the page&apos;s JS to do so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702427</commentid>
    <comment_count>18</comment_count>
      <attachid>412556</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-28 11:51:50 -0700</bug_when>
    <thetext>Created attachment 412556
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702430</commentid>
    <comment_count>19</comment_count>
      <attachid>412558</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-28 11:57:55 -0700</bug_when>
    <thetext>Created attachment 412558
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702470</commentid>
    <comment_count>20</comment_count>
      <attachid>412567</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-28 13:27:08 -0700</bug_when>
    <thetext>Created attachment 412567
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702496</commentid>
    <comment_count>21</comment_count>
      <attachid>412567</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-10-28 14:28:47 -0700</bug_when>
    <thetext>Comment on attachment 412567
Patch

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

r=me once the bots are happy

&gt; Source/WebCore/platform/audio/cocoa/AudioDestinationCocoa.cpp:108
&gt; +            weakThis-&gt;setIsPlaying(true);

Why not call `setIsPlaying` when success is false?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702509</commentid>
    <comment_count>22</comment_count>
      <attachid>412567</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-28 15:02:26 -0700</bug_when>
    <thetext>Comment on attachment 412567
Patch

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

&gt;&gt; Source/WebCore/platform/audio/cocoa/AudioDestinationCocoa.cpp:108
&gt;&gt; +            weakThis-&gt;setIsPlaying(true);
&gt; 
&gt; Why not call `setIsPlaying` when success is false?

I am maintaining pre-existing behavior here.

If you try to start and starting fails, presumably there is nothing to do since you did not start playing. isPlaying should already be false?
Either way, seems out of scope of this patch no? I am not changing behavior here AFAICT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702519</commentid>
    <comment_count>23</comment_count>
      <attachid>412577</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-28 15:24:47 -0700</bug_when>
    <thetext>Created attachment 412577
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702538</commentid>
    <comment_count>24</comment_count>
      <attachid>412583</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-28 16:06:13 -0700</bug_when>
    <thetext>Created attachment 412583
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702580</commentid>
    <comment_count>25</comment_count>
      <attachid>412595</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-28 17:47:10 -0700</bug_when>
    <thetext>Created attachment 412595
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702586</commentid>
    <comment_count>26</comment_count>
      <attachid>412595</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-10-28 18:12:04 -0700</bug_when>
    <thetext>Comment on attachment 412595
Patch

r=me once the bots can deal with it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702587</commentid>
    <comment_count>27</comment_count>
      <attachid>412599</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-28 18:19:51 -0700</bug_when>
    <thetext>Created attachment 412599
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702605</commentid>
    <comment_count>28</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-28 19:40:36 -0700</bug_when>
    <thetext>Committed r269134: &lt;https://trac.webkit.org/changeset/269134&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 412599.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412355</attachid>
            <date>2020-10-26 14:43:47 -0700</date>
            <delta_ts>2020-10-26 16:59:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217606-20201026144345.patch</filename>
            <type>text/plain</type>
            <size>20045</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4OTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGMxNzk1ZmM4YzEyZDNm
OWI4NjQ2MzYyZGQxNzY3OGEyZWQ5YTQ3Yy4uY2VhNjkxYjY3ZmI4MzVkODQ1YzE4NmUyNGU0MTc3
NjMxODM1ZDUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDIwLTEwLTI2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1ZGlvIGJyb2tlbiBv
biBpT1MgMTQgYWZ0ZXIgc3dpdGNoaW5nIGFwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3NjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MDIz
MTc2OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGUgaXNzdWUgd2FzIGNhdXNlZCBieSB0aGUgZmFjdCB0aGF0IHRoZSBBdWRpb0NvbnRleHQncyBz
dGF0ZSB3b3VsZCBiZWNvbWUgImludGVycnVwdGVkIgorICAgICAgICB3aGVuIHRoZSB2aWV3IGlz
IG5vIGxvbmdlciB2aXNpYmxlLiBUaGVuIHRoZSBzY3JpcHQgd291bGQgY2FsbCBjb250ZXh0LnN1
c3BlbmQoKSBhbmQgdGhpcworICAgICAgICB3b3VsZCB1bmV4cGVjdGVkbHkgcmVqZWN0IHRoZSBw
cm9taXNlIGFuZCBnZXQgdGhlIHNjcmlwdCBpbiBhIGJhZCBzdGF0ZS4KKworICAgICAgICBUaGlz
IHBhdGNoIGdldHMgcmlkIG9mIHRoZSAiaW50ZXJydXB0ZWQiIHN0YXRlIHNpbmNlIGl0IGlzIGEg
V2ViS2l0IGltcGxlbWVudGF0aW9uIGRldGFpbAorICAgICAgICBhbmQgbm90IHBhcnQgb2YgdGhl
IHNwZWNpZmljYXRpb246CisgICAgICAgIC0gaHR0cHM6Ly93d3cudzMub3JnL1RSL3dlYmF1ZGlv
LyNlbnVtZGVmLWF1ZGlvY29udGV4dHN0YXRlCisKKyAgICAgICAgV2hlbiBpbnRlcnJ1cHRlZCwg
Y29udGV4dC5zdGF0ZSBub3cgcmV0dXJucyAic3VzcGVuZGVkIi4gSWYgY29udGV4dC5zdXNwZW5k
KCkgYW5kIHRoZSBjb250ZXh0CisgICAgICAgIGlzIHN1c3BlbmRlZC9pbnRlcnJ1cHRlZCwgd2Ug
bm93IHJlc29sdmUgdGhlIHByb21pc2UgaW5zdGVhZCBvZiByZWplY3RpbmcgaXQuIFRoaXMgaXMK
KyAgICAgICAgY29uc2lzdGVudCB3aXRoIEJsaW5rJ3MgYmVoYXZpb3IgYW5kIHRoZSBzcGVjaWZp
Y2F0aW9uOgorICAgICAgICAtIGh0dHBzOi8vd3d3LnczLm9yZy9UUi93ZWJhdWRpby8jZG9tLWF1
ZGlvY29udGV4dC1zdXNwZW5kCisKKyAgICAgICAgVGVzdDogd2ViYXVkaW8vc3VzcGVuZC1jb250
ZXh0LXdoaWxlLWludGVycnVwdGVkLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8v
QXVkaW9Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ29udGV4dDo6c3VzcGVu
ZFJlbmRlcmluZyk6CisgICAgICAgIC0gSW1wcm92ZSBleGNlcHRpb24gbWVzc2FnZXMgd2hlbiBy
ZWplY3RpbmcgcHJvbWlzZXMKKyAgICAgICAgLSBEbyBub3QgcmVqZWN0IHRoZSBwcm9taXNlIGlm
IHRoZSBjb250ZXh0IGlzIGludGVycnVwdGVkLCBpbnN0ZWFkIHJlc29sdmUgdGhlIHByb21pc2Ug
cmlnaHQKKyAgICAgICAgICBhd2F5CisgICAgICAgIC0gU2ltaWxhcmx5LCBpZiB0aGUgY29udGV4
dCBpcyBhbHJlYWR5IHN1c3BlbmRlZCwgcmVzb2x2ZSB0aGUgcHJvbWlzZSByaWdodCBhd2F5Lgor
CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0NvbnRleHQ6OnJlc3VtZVJlbmRlcmluZyk6CisgICAg
ICAgIE1pbm9yIHJlZmFjdG9yaW5nLCBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKFdl
YkNvcmU6OkF1ZGlvQ29udGV4dDo6bWF5UmVzdW1lUGxheWJhY2spOgorICAgICAgICBUaGlzIGZ1
bmN0aW9uIGdldHMgY2FsbGVkIHdoZW4gdGhlIG1lZGlhIHNlc3Npb24gaXMgbm8gbG9uZ2VyIGlu
dGVycnVwdGVkLCB0byByZXN1bWUgcGxheWJhY2sKKyAgICAgICAgaWYgbmVjZXNzYXJ5LiBXZSBu
b3cgc3RvcCByZXR1cm5pbmcgZWFybHkgaWYgdGhlIGNvbnRleHQncyBzdGF0ZSBpcyBydW5uaW5n
LiBUaGlzIHdhcyBub3QKKyAgICAgICAgY29ycmVjdCBzaW5jZSB0aGUgY29udGV4dCdzIHN0YXRl
IGdldHMgc2V0IGFzeW5jaHJvbm91c2x5LiBSZXR1cm4gZWFybHkgaWYgdGhlIG1fd2FzU3VzcGVu
ZGVkQnlTY3JpcHQKKyAgICAgICAgZmxhZyB3YXMgc2V0IHRob3VnaCwgc2luY2UgdGhpcyBmbGFn
IGdldHMgc2V0IHN5bmNocm9ub3VzbHkgd2hlbiB0aGUgc2NyaXB0IGNhbGxzIHN1c3BlbmQoKS4K
KworICAgICAgICAoV2ViQ29yZTo6QXVkaW9Db250ZXh0Ojp2aXNpYmlsaXR5U3RhdGVDaGFuZ2Vk
KToKKyAgICAgICAgU3RvcCBjaGVja2luZyB0aGUgQXVkaW9Db250ZXh0J3Mgc3RhdGUgd2hlbiB0
aGUgdmlzaWJpbGl0eSBjaGFuZ2VzLiBUaGlzIHdhcyBub3QgY29ycmVjdCBzaW5jZQorICAgICAg
ICB0aGUgY29udGV4dCdzIHN0YXRlIGdldHMgc2V0IGFzeW5jaHJvbm91c2x5LgorCisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0NvbnRleHQ6OnN1c3BlbmRQbGF5YmFjayk6CisgICAgICAgIEFsd2F5
cyBzZXQgc3RhdGUgdG8gc3VzcGVuZGVkLCBldmVuIGlmIHRoZSBtZWRpYSBzZXNzaW9uIGlzIGFj
dHVhbGx5IGludGVycnVwdGVkLgorCisgICAgICAgIChXZWJDb3JlOjpBdWRpb0NvbnRleHQ6Omlz
TWVkaWFTZXNzaW9uSW50ZXJydXB0ZWQgY29uc3QpOgorICAgICAgICBBZGQgbmV3IGNvbnZlbmll
bmNlIGZ1bmN0aW9uIHRvIGNoZWNrIGlmIHRoZSBtZWRpYSBzZXNzaW9uIGlzIGludGVycnVwdGVk
LgorCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaDoKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dFN0YXRlLmg6CisgICAgICAgICogTW9kdWxl
cy93ZWJhdWRpby9BdWRpb0NvbnRleHRTdGF0ZS5pZGw6CisgICAgICAgIERyb3AgdGhlICJpbnRl
cnJ1cHRlZCIgc3RhdGUgb24gQXVkaW9Db250ZXh0LgorCiAyMDIwLTEwLTI2ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgYSBXZWFrSGFzaFNldCBmb3Ig
RG9jdW1lbnQ6Om1fY2FwdGlvblByZWZlcmVuY2VzQ2hhbmdlZEVsZW1lbnRzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKaW5kZXggMTc2Mzhj
ZWM1ZjYzZTg4MTQxZDIwNzA1NmE2MzNmMmViNjRhZDQwOC4uMzIyNzhmNTJiZWJhMTZhNmIzNzFj
YTBkNzQyNWYyYTFhNWE0NTE4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9Db250ZXh0LmNwcApAQCAtMjA0LDM4ICsyMDQsNDEgQEAgRGVmYXVsdEF1ZGlv
RGVzdGluYXRpb25Ob2RlKiBBdWRpb0NvbnRleHQ6OmRlc3RpbmF0aW9uKCkKIAogdm9pZCBBdWRp
b0NvbnRleHQ6OnN1c3BlbmRSZW5kZXJpbmcoRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJv
bWlzZSkKIHsKLSAgICBpZiAoaXNPZmZsaW5lQ29udGV4dCgpIHx8IGlzU3RvcHBlZCgpKSB7Ci0g
ICAgICAgIHByb21pc2UucmVqZWN0KEludmFsaWRTdGF0ZUVycm9yKTsKKyAgICBpZiAoaXNPZmZs
aW5lQ29udGV4dCgpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEludmFs
aWRTdGF0ZUVycm9yLCAiQ2Fubm90IGNhbGwgc3VzcGVuZCgpIG9uIGFuIE9mZmxpbmVBdWRpb0Nv
bnRleHQiX3MgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAoc3RhdGUoKSA9
PSBTdGF0ZTo6Q2xvc2VkIHx8IHN0YXRlKCkgPT0gU3RhdGU6OkludGVycnVwdGVkIHx8ICFkZXN0
aW5hdGlvbk5vZGUoKSkgewotICAgICAgICBwcm9taXNlLnJlamVjdCgpOworICAgIGlmIChpc1N0
b3BwZWQoKSB8fCBzdGF0ZSgpID09IFN0YXRlOjpDbG9zZWQgfHwgIWRlc3RpbmF0aW9uTm9kZSgp
KSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9y
LCAiQ29udGV4dCBpcyBjbG9zZWQiX3MgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAg
ICBhZGRSZWFjdGlvbihTdGF0ZTo6U3VzcGVuZGVkLCBXVEZNb3ZlKHByb21pc2UpKTsKICAgICBt
X3dhc1N1c3BlbmRlZEJ5U2NyaXB0ID0gdHJ1ZTsKIAotICAgIGlmICghd2lsbFBhdXNlUGxheWJh
Y2soKSkKKyAgICBpZiAoIXdpbGxQYXVzZVBsYXliYWNrKCkpIHsKKyAgICAgICAgLy8gVGhlIG1l
ZGlhIHNlc3Npb24gaXMgaW50ZXJydXB0ZWQuCisgICAgICAgIHByb21pc2UucmVzb2x2ZSgpOwog
ICAgICAgICByZXR1cm47CisgICAgfQogCiAgICAgbGF6eUluaXRpYWxpemUoKTsKIAotICAgIGRl
c3RpbmF0aW9uTm9kZSgpLT5zdXNwZW5kKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigq
dGhpcyldIHsKKyAgICBkZXN0aW5hdGlvbk5vZGUoKS0+c3VzcGVuZChbdGhpcywgcHJvdGVjdGVk
VGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRh
YmxlIHsKICAgICAgICAgc2V0U3RhdGUoU3RhdGU6OlN1c3BlbmRlZCk7CisgICAgICAgIHByb21p
c2UucmVzb2x2ZSgpOwogICAgIH0pOwogfQogCiB2b2lkIEF1ZGlvQ29udGV4dDo6cmVzdW1lUmVu
ZGVyaW5nKERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCiB7Ci0gICAgaWYgKGlz
T2ZmbGluZUNvbnRleHQoKSB8fCBpc1N0b3BwZWQoKSkgewotICAgICAgICBwcm9taXNlLnJlamVj
dChJbnZhbGlkU3RhdGVFcnJvcik7CisgICAgaWYgKGlzT2ZmbGluZUNvbnRleHQoKSkgeworICAg
ICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIkNhbm5v
dCBjYWxsIHJlc3VtZSgpIG9uIGFuIE9mZmxpbmVBdWRpb0NvbnRleHQiX3MgfSk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKLSAgICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6Q2xvc2VkIHx8ICFk
ZXN0aW5hdGlvbk5vZGUoKSkgewotICAgICAgICBwcm9taXNlLnJlamVjdCgpOworICAgIGlmIChp
c1N0b3BwZWQoKSB8fCBzdGF0ZSgpID09IFN0YXRlOjpDbG9zZWQgfHwgIWRlc3RpbmF0aW9uTm9k
ZSgpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVy
cm9yLCAiQ29udGV4dCBpcyBjbG9zZWQiX3MgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
QEAgLTI1MSw4ICsyNTQsNyBAQCB2b2lkIEF1ZGlvQ29udGV4dDo6cmVzdW1lUmVuZGVyaW5nKERP
TVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCiAgICAgICAgIC8vIFNpbmNlIHdlIHVw
ZGF0ZSB0aGUgc3RhdGUgYXN5bmNocm9ub3VzbHksIHdlIG1heSBoYXZlIGJlZW4gaW50ZXJydXB0
ZWQgYWZ0ZXIgdGhlCiAgICAgICAgIC8vIGNhbGwgdG8gcmVzdW1lKCkgYW5kIGJlZm9yZSB0aGlz
IGxhbWJkYSBydW5zLiBJbiB0aGlzIGNhc2UsIHdlIGRvbid0IHdhbnQgdG8KICAgICAgICAgLy8g
cmVzZXQgdGhlIHN0YXRlIHRvIHJ1bm5pbmcuCi0gICAgICAgIGJvb2wgaW50ZXJydXB0ZWQgPSBt
X21lZGlhU2Vzc2lvbi0+c3RhdGUoKSA9PSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6SW50ZXJydXB0
ZWQ7Ci0gICAgICAgIHNldFN0YXRlKGludGVycnVwdGVkID8gU3RhdGU6OkludGVycnVwdGVkIDog
U3RhdGU6OlJ1bm5pbmcpOworICAgICAgICBzZXRTdGF0ZShpc01lZGlhU2Vzc2lvbkludGVycnVw
dGVkKCkgPyBTdGF0ZTo6U3VzcGVuZGVkIDogU3RhdGU6OlJ1bm5pbmcpOwogICAgIH0pOwogfQog
CkBAIC0zMzcsNyArMzM5LDcgQEAgTWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzIEF1ZGlv
Q29udGV4dDo6bWVkaWFTdGF0ZSgpIGNvbnN0CiAKIHZvaWQgQXVkaW9Db250ZXh0OjptYXlSZXN1
bWVQbGF5YmFjayhib29sIHNob3VsZFJlc3VtZSkKIHsKLSAgICBpZiAoIWRlc3RpbmF0aW9uTm9k
ZSgpIHx8IHN0YXRlKCkgPT0gU3RhdGU6OkNsb3NlZCB8fCBzdGF0ZSgpID09IFN0YXRlOjpSdW5u
aW5nKQorICAgIGlmICghZGVzdGluYXRpb25Ob2RlKCkgfHwgc3RhdGUoKSA9PSBTdGF0ZTo6Q2xv
c2VkIHx8IG1fd2FzU3VzcGVuZGVkQnlTY3JpcHQpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlm
ICghc2hvdWxkUmVzdW1lKSB7CkBAIC0zOTIsMTUgKzM5NCwxMSBAQCB2b2lkIEF1ZGlvQ29udGV4
dDo6dmlzaWJpbGl0eVN0YXRlQ2hhbmdlZCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChk
b2N1bWVudCgpLT5oaWRkZW4oKSkgewotICAgICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6UnVu
bmluZykgewotICAgICAgICAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAiU3VzcGVuZGlu
ZyBwbGF5YmFjayBhZnRlciBnb2luZyB0byB0aGUgYmFja2dyb3VuZCIpOwotICAgICAgICAgICAg
bV9tZWRpYVNlc3Npb24tPmJlZ2luSW50ZXJydXB0aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpF
bnRlcmluZ0JhY2tncm91bmQpOwotICAgICAgICB9CisgICAgICAgIEFMV0FZU19MT0coTE9HSURF
TlRJRklFUiwgIlN1c3BlbmRpbmcgcGxheWJhY2sgYWZ0ZXIgZ29pbmcgdG8gdGhlIGJhY2tncm91
bmQiKTsKKyAgICAgICAgbV9tZWRpYVNlc3Npb24tPmJlZ2luSW50ZXJydXB0aW9uKFBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpFbnRlcmluZ0JhY2tncm91bmQpOwogICAgIH0gZWxzZSB7Ci0gICAgICAg
IGlmIChzdGF0ZSgpID09IFN0YXRlOjpJbnRlcnJ1cHRlZCkgewotICAgICAgICAgICAgQUxXQVlT
X0xPRyhMT0dJREVOVElGSUVSLCAiUmVzdW1pbmcgcGxheWJhY2sgYWZ0ZXIgZW50ZXJpbmcgZm9y
ZWdyb3VuZCIpOwotICAgICAgICAgICAgbV9tZWRpYVNlc3Npb24tPmVuZEludGVycnVwdGlvbihQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6TWF5UmVzdW1lUGxheWluZyk7Ci0gICAgICAgIH0KKyAgICAg
ICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAiUmVzdW1pbmcgcGxheWJhY2sgYWZ0ZXIgZW50
ZXJpbmcgZm9yZWdyb3VuZCIpOworICAgICAgICBtX21lZGlhU2Vzc2lvbi0+ZW5kSW50ZXJydXB0
aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpNYXlSZXN1bWVQbGF5aW5nKTsKICAgICB9CiB9CiAK
QEAgLTQzMCw4ICs0MjgsNyBAQCB2b2lkIEF1ZGlvQ29udGV4dDo6c3VzcGVuZFBsYXliYWNrKCkK
ICAgICBsYXp5SW5pdGlhbGl6ZSgpOwogCiAgICAgZGVzdGluYXRpb25Ob2RlKCktPnN1c3BlbmQo
W3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0gewotICAgICAgICBib29sIGlu
dGVycnVwdGVkID0gbV9tZWRpYVNlc3Npb24tPnN0YXRlKCkgPT0gUGxhdGZvcm1NZWRpYVNlc3Np
b246OkludGVycnVwdGVkOwotICAgICAgICBzZXRTdGF0ZShpbnRlcnJ1cHRlZCA/IFN0YXRlOjpJ
bnRlcnJ1cHRlZCA6IFN0YXRlOjpTdXNwZW5kZWQpOworICAgICAgICBzZXRTdGF0ZShTdGF0ZTo6
U3VzcGVuZGVkKTsKICAgICB9KTsKIH0KIApAQCAtNDU5LDYgKzQ1NiwxMSBAQCB2b2lkIEF1ZGlv
Q29udGV4dDo6bWVkaWFDYW5TdGFydChEb2N1bWVudCYgZG9jdW1lbnQpCiAgICAgbWF5UmVzdW1l
UGxheWJhY2sodHJ1ZSk7CiB9CiAKK2Jvb2wgQXVkaW9Db250ZXh0Ojppc01lZGlhU2Vzc2lvbklu
dGVycnVwdGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9tZWRpYVNlc3Npb24tPnN0YXRlKCkg
PT0gUGxhdGZvcm1NZWRpYVNlc3Npb246OkludGVycnVwdGVkOworfQorCiAjaWYgIVJFTEVBU0Vf
TE9HX0RJU0FCTEVECiBjb25zdCBMb2dnZXImIEF1ZGlvQ29udGV4dDo6bG9nZ2VyKCkgY29uc3QK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250
ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCmlu
ZGV4IDQxMzdhYTA2MjZjYzM0MTJlZWZlMzk5Mzc4ZmQwMGVhYTFhNmM3NDQuLmRlZGQxZjMwNmYy
OTg4MjI0Y2E0ODdmYzQ3OTNiYjM1M2I3ZjYxNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaApAQCAtMTA1LDYgKzEwNSw4IEBAIHByaXZhdGU6
CiAKICAgICBib29sIHdpbGxQYXVzZVBsYXliYWNrKCk7CiAKKyAgICBib29sIGlzTWVkaWFTZXNz
aW9uSW50ZXJydXB0ZWQoKSBjb25zdDsKKwogICAgIC8vIE1lZGlhUHJvZHVjZXIKICAgICBNZWRp
YVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3MgbWVkaWFTdGF0ZSgpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIHZvaWQgcGFnZU11dGVkU3RhdGVEaWRDaGFuZ2UoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0U3RhdGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0U3RhdGUuaAppbmRleCAx
NjAxMzExMDhmYTZhNGMxNGE5YWQ2MTdiOTJjYTIxNDc0NDg3ODBiLi42M2Y1Mjc3YTI4N2VhNDcz
NWUxYzQ0YjY4MTI2ODVhMmI1Njg5MTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dFN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHRTdGF0ZS5oCkBAIC0yNyw2ICsyNyw2IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBjbGFzcyBBdWRpb0NvbnRleHRTdGF0ZSB7IFN1c3Bl
bmRlZCwgUnVubmluZywgSW50ZXJydXB0ZWQsIENsb3NlZCB9OworZW51bSBjbGFzcyBBdWRpb0Nv
bnRleHRTdGF0ZSB7IFN1c3BlbmRlZCwgUnVubmluZywgQ2xvc2VkIH07CiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0U3RhdGUuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHRTdGF0ZS5pZGwK
aW5kZXggYzhkMDhiZDJiNTYzY2Q4MjZlY2NhN2Y5Nzk0NGM3MTNhOGE3ZWY0Yi4uNDExMzk1ZWJh
MGE5ZTgzNzFjZjFiMTJkZjZlMzUwMzM2ZmU2ZTFiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHRTdGF0ZS5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHRTdGF0ZS5pZGwKQEAgLTI2LDYgKzI2
LDUgQEAKIGVudW0gQXVkaW9Db250ZXh0U3RhdGUgewogICAgICJzdXNwZW5kZWQiLAogICAgICJy
dW5uaW5nIiwKLSAgICAiaW50ZXJydXB0ZWQiLAogICAgICJjbG9zZWQiCiB9OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDkx
M2ExMTZkZDRkZDk0MDhjMTk4MTI2YzFkNDYyZDQ4MjY4MGY4YjIuLjU0M2I4NDhkY2YyYzIzNzkx
ZjkyNjkxZTIyMGJjNWIxN2M3NTNiYjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMC0xMC0y
NiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBBdWRpbyBi
cm9rZW4gb24gaU9TIDE0IGFmdGVyIHN3aXRjaGluZyBhcHAKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNzYwNgorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNzAyMzE3Njk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiB3ZWJhdWRpby9hdWRpb2NvbnRleHQtc3RhdGUtaW50ZXJydXB0ZWQtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYmF1ZGlvL2F1ZGlvY29udGV4dC1zdGF0ZS1pbnRlcnJ1cHRlZC5o
dG1sOgorICAgICAgICBVcGRhdGUgdGhlIHRlc3QgdG8gc3RvcCBleHBlY3RpbmcgYSBzdGF0ZWNo
YW5nZSBldmVudCB3aGVuIGdvaW5nIGZyb20gInN1c3BlbmRlZCIKKyAgICAgICAgdG8gImludGVy
cnVwdGVkIiBhbmQgdmljZS12ZXJzYSwgc2luY2UgdGhleSBhcmUgdGhlIHNhbWUgc3RhdGUgbm93
LgorCisgICAgICAgICogd2ViYXVkaW8vY29uc3RydWN0LW5vZGUtd2l0aC1jbG9zZWQtY29udGV4
dC1leHBlY3RlZC50eHQ6CisgICAgICAgIFJlYmFzZWxpbmUgbm93IHRoYXQgZXhjZXB0aW9uIG1l
c3NhZ2UgaGFzIGNoYW5nZWQuCisKKyAgICAgICAgKiB3ZWJhdWRpby9zdXNwZW5kLWNvbnRleHQt
d2hpbGUtaW50ZXJydXB0ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRp
by9zdXNwZW5kLWNvbnRleHQtd2hpbGUtaW50ZXJydXB0ZWQuaHRtbDogQWRkZWQuCisgICAgICAg
IEFkZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZS4KKwogMjAyMC0xMC0yNiAgWmFsYW4gQnVqdGFzICA8
emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1bm5lZWRlZCB3aGl0ZXNwYWNlIGJl
dHdlZW4gY29udGVudCBhbmQgPGJyPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8v
YXVkaW9jb250ZXh0LXN0YXRlLWludGVycnVwdGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmF1ZGlvL2F1ZGlvY29udGV4dC1zdGF0ZS1pbnRlcnJ1cHRlZC1leHBlY3RlZC50eHQKaW5k
ZXggOGU0MTQ3ZmQwZWQ4ZjAwMjM0ZDEzMTlkMDg3MGQwOTViZDE4OTQ2Yi4uNTRhOTE5N2M2YjQ2
YTJhYTM1NWY0OGNmODJmNjgxZTk3MjRhNWVlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2Vi
YXVkaW8vYXVkaW9jb250ZXh0LXN0YXRlLWludGVycnVwdGVkLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb2NvbnRleHQtc3RhdGUtaW50ZXJydXB0ZWQtZXhwZWN0
ZWQudHh0CkBAIC0xMCwxMSArMTAsMTEgQEAgUEFTUyBjb250ZXh0LnN0YXRlIGlzICJydW5uaW5n
IgogVGVzdCAxOiByZXN1bWUoKSB3aGlsZSBpbnRlcnJ1cHRlZCBpcyByZXNvbHZlZCBhZnRlciB0
aGUgaW50ZXJydXB0aW9uIGVuZHMuCiBpbnRlcm5hbHMuYmVnaW5NZWRpYVNlc3Npb25JbnRlcnJ1
cHRpb24oIlN5c3RlbSIpCiBFVkVOVCBzdGF0ZWNoYW5nZQotUEFTUyBjb250ZXh0LnN0YXRlIGlz
ICJpbnRlcnJ1cHRlZCIKK1BBU1MgY29udGV4dC5zdGF0ZSBpcyAic3VzcGVuZGVkIgogaW50ZXJu
YWxzLnNldE1lZGlhU2Vzc2lvblJlc3RyaWN0aW9ucygiV2ViQXVkaW8iLCAiSW50ZXJydXB0ZWRQ
bGF5YmFja05vdFBlcm1pdHRlZCIpCiBDYWxsaW5nIGNvbnRleHQucmVzdW1lKCkKIERlbGF5aW5n
IDEwMG1zCi1QQVNTIGNvbnRleHQuc3RhdGUgaXMgImludGVycnVwdGVkIgorUEFTUyBjb250ZXh0
LnN0YXRlIGlzICJzdXNwZW5kZWQiCiBpbnRlcm5hbHMuZW5kTWVkaWFTZXNzaW9uSW50ZXJydXB0
aW9uKCJNYXlSZXN1bWVQbGF5aW5nIikKIFBBU1MgY29udGV4dC5yZXN1bWUoKSBwcm9taXNlIHJl
c29sdmVkCiBQQVNTIGNvbnRleHQuc3RhdGUgaXMgInJ1bm5pbmciCkBAIC0yMiw3ICsyMiw3IEBA
IFBBU1MgY29udGV4dC5zdGF0ZSBpcyAicnVubmluZyIKIFRlc3QgMjogcmVzdW1lKCkgd2hpbGUg
aW50ZXJydXB0ZWQgd2lsbCBjYXVzZSBpbnRlcnJ1cHRpb24gdG8gZW5kLgogaW50ZXJuYWxzLmJl
Z2luTWVkaWFTZXNzaW9uSW50ZXJydXB0aW9uKCJTeXN0ZW0iKQogRVZFTlQgc3RhdGVjaGFuZ2UK
LVBBU1MgY29udGV4dC5zdGF0ZSBpcyAiaW50ZXJydXB0ZWQiCitQQVNTIGNvbnRleHQuc3RhdGUg
aXMgInN1c3BlbmRlZCIKIGludGVybmFscy5zZXRNZWRpYVNlc3Npb25SZXN0cmljdGlvbnMoIldl
YkF1ZGlvIiwgIiIpCiBDYWxsaW5nIGNvbnRleHQucmVzdW1lKCkKIFBBU1MgY29udGV4dC5yZXN1
bWUoKSBwcm9taXNlIHJlc29sdmVkCkBAIC0zMSwxOSArMzEsMTYgQEAgUEFTUyBjb250ZXh0LnN0
YXRlIGlzICJydW5uaW5nIgogVGVzdCAzOiBydW5uaW5nIEF1ZGlvQ29udGV4dHMgd2lsbCBub3Qg
cmVzdW1lIGFmdGVyIGFuIGludGVycnVwdGlvbiBlbmRzLgogaW50ZXJuYWxzLmJlZ2luTWVkaWFT
ZXNzaW9uSW50ZXJydXB0aW9uKCJTeXN0ZW0iKQogRVZFTlQgc3RhdGVjaGFuZ2UKLVBBU1MgY29u
dGV4dC5zdGF0ZSBpcyAiaW50ZXJydXB0ZWQiCitQQVNTIGNvbnRleHQuc3RhdGUgaXMgInN1c3Bl
bmRlZCIKIGludGVybmFscy5lbmRNZWRpYVNlc3Npb25JbnRlcnJ1cHRpb24oIiIpCi1FVkVOVCBz
dGF0ZWNoYW5nZQogUEFTUyBjb250ZXh0LnN0YXRlIGlzICJzdXNwZW5kZWQiCiAKIFRlc3QgNDog
cmVzdW1lKCkgd2hpbGUgaW50ZXJydXB0ZWQgd2lsbCBub3QgcmVzdW1lIHBsYXliYWNrIGFmdGVy
IGFuIGludGVycnVwdGlvbi4KIGludGVybmFscy5zZXRNZWRpYVNlc3Npb25SZXN0cmljdGlvbnMo
IldlYkF1ZGlvIiwgIkludGVycnVwdGVkUGxheWJhY2tOb3RQZXJtaXR0ZWQiKQogaW50ZXJuYWxz
LmJlZ2luTWVkaWFTZXNzaW9uSW50ZXJydXB0aW9uKCJTeXN0ZW0iKQotRVZFTlQgc3RhdGVjaGFu
Z2UKLVBBU1MgY29udGV4dC5zdGF0ZSBpcyAiaW50ZXJydXB0ZWQiCitQQVNTIGNvbnRleHQuc3Rh
dGUgaXMgInN1c3BlbmRlZCIKIENhbGxpbmcgY29udGV4dC5yZXN1bWUoKQogaW50ZXJuYWxzLmVu
ZE1lZGlhU2Vzc2lvbkludGVycnVwdGlvbigiIikKLUVWRU5UIHN0YXRlY2hhbmdlCiBQQVNTIGNv
bnRleHQuc3RhdGUgaXMgInN1c3BlbmRlZCIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9jb250ZXh0LXN0YXRl
LWludGVycnVwdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb2NvbnRleHQtc3Rh
dGUtaW50ZXJydXB0ZWQuaHRtbAppbmRleCBmNzdjN2Q4OWNiMjBmYjFjMGEyMGU2MDNjN2ZjNjg3
N2IzOTBlZDk0Li5mMTRhZDFmM2I1OGRhMDBkZDFiOTUzMzQxN2NjYzEyOGY5ZmI4MWYxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb2NvbnRleHQtc3RhdGUtaW50ZXJydXB0
ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb2NvbnRleHQtc3RhdGUtaW50
ZXJydXB0ZWQuaHRtbApAQCAtNDQsNyArNDQsNyBAQCBmdW5jdGlvbiBiZWdhblJ1bm5pbmcoZSkg
ewogCiBmdW5jdGlvbiBmaXJzdEludGVycnVwdGlvblN0YXJ0ZWQoZSkgewogICAgIGRlYnVnKCdF
VkVOVCAnICsgZXZlbnQudHlwZSk7Ci0gICAgc2hvdWxkQmUoJ2NvbnRleHQuc3RhdGUnLCAnImlu
dGVycnVwdGVkIicpOworICAgIHNob3VsZEJlKCdjb250ZXh0LnN0YXRlJywgJyJzdXNwZW5kZWQi
Jyk7CiAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgICAgIGV2YWxBbmRMb2coJ2ludGVy
bmFscy5zZXRNZWRpYVNlc3Npb25SZXN0cmljdGlvbnMoIldlYkF1ZGlvIiwgIkludGVycnVwdGVk
UGxheWJhY2tOb3RQZXJtaXR0ZWQiKScpOwogCkBAIC01NCw3ICs1NCw3IEBAIGZ1bmN0aW9uIGZp
cnN0SW50ZXJydXB0aW9uU3RhcnRlZChlKSB7CiAgICAgY29udGV4dC5yZXN1bWUoKS50aGVuKGZp
cnN0UmVzdW1lU3VjY2VlZGVkKTsKICAgICBkZWJ1ZygnRGVsYXlpbmcgMTAwbXMnKTsKICAgICBz
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICBzaG91bGRCZSgnY29udGV4dC5zdGF0ZScs
ICciaW50ZXJydXB0ZWQiJyk7CisgICAgICAgIHNob3VsZEJlKCdjb250ZXh0LnN0YXRlJywgJyJz
dXNwZW5kZWQiJyk7CiAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgICAgICAgICAg
ZXZhbEFuZExvZygnaW50ZXJuYWxzLmVuZE1lZGlhU2Vzc2lvbkludGVycnVwdGlvbigiTWF5UmVz
dW1lUGxheWluZyIpJyk7CiAgICAgfSwgMTAwKTsKQEAgLTc2LDcgKzc2LDcgQEAgZnVuY3Rpb24g
Zmlyc3RSZXN1bWVTdWNjZWVkZWQoKSB7CiAKIGZ1bmN0aW9uIHNlY29uZEludGVycnVwdGlvblN0
YXJ0ZWQoZSkgewogICAgIGRlYnVnKCdFVkVOVCAnICsgZXZlbnQudHlwZSk7Ci0gICAgc2hvdWxk
QmUoJ2NvbnRleHQuc3RhdGUnLCAnImludGVycnVwdGVkIicpOworICAgIHNob3VsZEJlKCdjb250
ZXh0LnN0YXRlJywgJyJzdXNwZW5kZWQiJyk7CiAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAg
ICAgICAgIGV2YWxBbmRMb2coJ2ludGVybmFscy5zZXRNZWRpYVNlc3Npb25SZXN0cmljdGlvbnMo
IldlYkF1ZGlvIiwgIiIpJyk7CiAKQEAgLTEwMiwxNSArMTAyLDE1IEBAIGZ1bmN0aW9uIHNlY29u
ZFJlc3VtZVN1Y2NlZWRlZCgpIHsKIAogZnVuY3Rpb24gdGhpcmRJbnRlcnJ1cHRpb25TdGFydGVk
KCkgewogICAgIGRlYnVnKCdFVkVOVCAnICsgZXZlbnQudHlwZSk7Ci0gICAgc2hvdWxkQmUoJ2Nv
bnRleHQuc3RhdGUnLCAnImludGVycnVwdGVkIicpOworICAgIHNob3VsZEJlKCdjb250ZXh0LnN0
YXRlJywgJyJzdXNwZW5kZWQiJyk7CiAKLSAgICBjb250ZXh0Lm9uc3RhdGVjaGFuZ2UgPSB0aGly
ZEludGVycnVwdGlvbkVuZGVkOworICAgIGNvbnRleHQub25zdGF0ZWNoYW5nZSA9IG51bGw7CiAg
ICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgICAgIGV2YWxBbmRMb2coJ2ludGVybmFscy5l
bmRNZWRpYVNlc3Npb25JbnRlcnJ1cHRpb24oIiIpJyk7CisgICBzZXRUaW1lb3V0KHRoaXJkSW50
ZXJydXB0aW9uRW5kZWQsIDApOwogfQogCiBmdW5jdGlvbiB0aGlyZEludGVycnVwdGlvbkVuZGVk
KCkgewotICAgIGRlYnVnKCdFVkVOVCAnICsgZXZlbnQudHlwZSk7CiAgICAgc2hvdWxkQmUoJ2Nv
bnRleHQuc3RhdGUnLCAnInN1c3BlbmRlZCInKTsKIAogICAgIGRlYnVnKCcnKTsKQEAgLTExOSwy
NiArMTE5LDI2IEBAIGZ1bmN0aW9uIHRoaXJkSW50ZXJydXB0aW9uRW5kZWQoKSB7CiAgICAgaWYg
KHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgICAgIGV2YWxBbmRMb2coJ2ludGVybmFscy5zZXRNZWRp
YVNlc3Npb25SZXN0cmljdGlvbnMoIldlYkF1ZGlvIiwgIkludGVycnVwdGVkUGxheWJhY2tOb3RQ
ZXJtaXR0ZWQiKScpOwogCi0gICAgY29udGV4dC5vbnN0YXRlY2hhbmdlID0gZm91cnRoSW50ZXJy
dXB0aW9uU3RhcnRlZDsKKyAgICBjb250ZXh0Lm9uc3RhdGVjaGFuZ2UgPSBudWxsOwogICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKQogICAgICAgICBldmFsQW5kTG9nKCdpbnRlcm5hbHMuYmVnaW5N
ZWRpYVNlc3Npb25JbnRlcnJ1cHRpb24oIlN5c3RlbSIpJyk7CisgICAgc2V0VGltZW91dChmb3Vy
dGhJbnRlcnJ1cHRpb25TdGFydGVkLCAwKTsKIH0KIAogZnVuY3Rpb24gZm91cnRoSW50ZXJydXB0
aW9uU3RhcnRlZCgpIHsKLSAgICBkZWJ1ZygnRVZFTlQgJyArIGV2ZW50LnR5cGUpOwotICAgIHNo
b3VsZEJlKCdjb250ZXh0LnN0YXRlJywgJyJpbnRlcnJ1cHRlZCInKTsKKyAgICBzaG91bGRCZSgn
Y29udGV4dC5zdGF0ZScsICcic3VzcGVuZGVkIicpOwogCi0gICAgY29udGV4dC5vbnN0YXRlY2hh
bmdlID0gZm91cnRoSW50ZXJydXB0aW9uRW5kZWQ7CisgICAgY29udGV4dC5vbnN0YXRlY2hhbmdl
ID0gbnVsbDsKIAogICAgIGRlYnVnKCdDYWxsaW5nIGNvbnRleHQucmVzdW1lKCknKTsKICAgICBj
b250ZXh0LnJlc3VtZSgpOwogCiAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgICAgIGV2
YWxBbmRMb2coJ2ludGVybmFscy5lbmRNZWRpYVNlc3Npb25JbnRlcnJ1cHRpb24oIiIpJyk7Cisg
ICAgc2V0VGltZW91dChmb3VydGhJbnRlcnJ1cHRpb25FbmRlZCwgMCk7CiB9CiAKIGZ1bmN0aW9u
IGZvdXJ0aEludGVycnVwdGlvbkVuZGVkKCkgewotICAgIGRlYnVnKCdFVkVOVCAnICsgZXZlbnQu
dHlwZSk7CiAgICAgc2hvdWxkQmUoJ2NvbnRleHQuc3RhdGUnLCAnInN1c3BlbmRlZCInKTsKICAg
ICBmaW5pc2hKU1Rlc3QoKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2Nv
bnN0cnVjdC1ub2RlLXdpdGgtY2xvc2VkLWNvbnRleHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvd2ViYXVkaW8vY29uc3RydWN0LW5vZGUtd2l0aC1jbG9zZWQtY29udGV4dC1leHBlY3RlZC50
eHQKaW5kZXggNDI2NTI2OWIyYTgxZGE5MTk4YTQ2ZjJmMjg3MmU1N2JmMGI2Y2Q3NS4uMGI2YWI4
OGZjZWUzNDU4MTYxYmJjYzdlZGVhNjZkNThmMWRjYmVkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvd2ViYXVkaW8vY29uc3RydWN0LW5vZGUtd2l0aC1jbG9zZWQtY29udGV4dC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vY29uc3RydWN0LW5vZGUtd2l0aC1jbG9zZWQt
Y29udGV4dC1leHBlY3RlZC50eHQKQEAgLTQwLDcgKzQwLDcgQEAgUEFTUyBjb250ZXh0LmNyZWF0
ZVBlcmlvZGljV2F2ZShbMSwgMl0sIFsxLCAyXSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCiBQ
QVNTIGNvbnRleHQuY3JlYXRlU3RlcmVvUGFubmVyKCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24u
CiBQQVNTIGNvbnRleHQuY3JlYXRlV2F2ZVNoYXBlcigpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgogUEFTUyBjb250ZXh0LmNyZWF0ZVNjcmlwdFByb2Nlc3NvcigpIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgotUEFTUyBjb250ZXh0LnN1c3BlbmQoKSByZWplY3RlZCBwcm9taXNlICB3aXRoIElu
dmFsaWRTdGF0ZUVycm9yOiBUaGUgb2JqZWN0IGlzIGluIGFuIGludmFsaWQgc3RhdGUuLgorUEFT
UyBjb250ZXh0LnN1c3BlbmQoKSByZWplY3RlZCBwcm9taXNlICB3aXRoIEludmFsaWRTdGF0ZUVy
cm9yOiBDb250ZXh0IGlzIGNsb3NlZC4KIFBBU1MgY29udGV4dC5yZXN1bWUoKSByZWplY3RlZCBw
cm9taXNlICB3aXRoIEludmFsaWRTdGF0ZUVycm9yOiBUaGUgb2JqZWN0IGlzIGluIGFuIGludmFs
aWQgc3RhdGUuLgogUEFTUyBjb250ZXh0LmNsb3NlKCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBJ
bnZhbGlkU3RhdGVFcnJvcjogVGhlIG9iamVjdCBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLi4KIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmF1ZGlvL3N1c3BlbmQtY29udGV4dC13aGlsZS1pbnRlcnJ1cHRlZC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy93ZWJhdWRpby9zdXNwZW5kLWNvbnRleHQtd2hpbGUtaW50ZXJydXB0ZWQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlYWVmY2IzYWVmZDRkYWUzMzhmNDIyY2M5OTBiMDNlMzAz
MTVkMzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9zdXNwZW5kLWNv
bnRleHQtd2hpbGUtaW50ZXJydXB0ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1Rl
c3RzIHRoYXQgbWVkaWEgc2Vzc2lvbiBpbnRlcnJ1cHRpb24gZG9lcyBub3QgY2F1c2UgQXVkaW9D
b250ZXh0LnN1c3BlbmQoKSB0byB0aHJvdworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBDb250ZXh0IHN0YXJ0ZWQgcmVuZGVyaW5nCitQQVNTIGNvbnRleHQuc3RhdGUgaXMg
InJ1bm5pbmciCitpbnRlcm5hbHMuYmVnaW5NZWRpYVNlc3Npb25JbnRlcnJ1cHRpb24oJ2VudGVy
aW5nYmFja2dyb3VuZCcpCitQQVNTIGNvbnRleHQuc3RhdGUgaXMgInN1c3BlbmRlZCIKK1BBU1Mg
Y29udGV4dC5zdGF0ZSBpcyAic3VzcGVuZGVkIgoraW50ZXJuYWxzLmVuZE1lZGlhU2Vzc2lvbklu
dGVycnVwdGlvbignbWF5cmVzdW1lcGxheWluZycpCitQQVNTIGNvbnRleHQuc3RhdGUgaXMgInN1
c3BlbmRlZCIKK1BBU1MgY29udGV4dC5zdGF0ZSBpcyAicnVubmluZyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJhdWRpby9zdXNwZW5kLWNvbnRleHQtd2hpbGUtaW50ZXJydXB0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmF1ZGlvL3N1c3BlbmQtY29udGV4dC13aGlsZS1pbnRlcnJ1cHRlZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjMxODRmMTc2N2YwOTljZWU3NzcxYmE5YjQ0MDRjNzA1NjY4MjdlYmEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9zdXNwZW5kLWNvbnRleHQtd2hp
bGUtaW50ZXJydXB0ZWQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IG1lZGlhIHNlc3Npb24gaW50
ZXJydXB0aW9uIGRvZXMgbm90IGNhdXNlIEF1ZGlvQ29udGV4dC5zdXNwZW5kKCkgdG8gdGhyb3ci
KTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitsZXQgY29udGV4dCA9IG5ldyBBdWRpb0NvbnRl
eHQ7Cit2YXIgc291cmNlID0gY29udGV4dC5jcmVhdGVDb25zdGFudFNvdXJjZSgpOworc291cmNl
LmNvbm5lY3QoY29udGV4dC5kZXN0aW5hdGlvbik7Citzb3VyY2Uuc3RhcnQoKTsKK2NvbnRleHQu
cmVzdW1lKCkudGhlbigoKSA9PiB7CisgICAgdGVzdFBhc3NlZCgiQ29udGV4dCBzdGFydGVkIHJl
bmRlcmluZyIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY29udGV4dC5zdGF0ZSIsICJy
dW5uaW5nIik7CisKKyAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgZXZhbEFuZExv
ZygiaW50ZXJuYWxzLmJlZ2luTWVkaWFTZXNzaW9uSW50ZXJydXB0aW9uKCdlbnRlcmluZ2JhY2tn
cm91bmQnKSIpOworCisgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiY29udGV4dC5zdGF0ZSIsICJzdXNwZW5kZWQiKTsKKyAgICAgICAgY29udGV4
dC5zdXNwZW5kKCkudGhlbigoKSA9PiB7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImNvbnRleHQuc3RhdGUiLCAic3VzcGVuZGVkIik7CisgICAgICAgICAgICBpZiAod2luZG93
LmludGVybmFscykKKyAgICAgICAgICAgICAgICBldmFsQW5kTG9nKCJpbnRlcm5hbHMuZW5kTWVk
aWFTZXNzaW9uSW50ZXJydXB0aW9uKCdtYXlyZXN1bWVwbGF5aW5nJykiKTsKKyAgICAgICAgICAg
IHNldFRpbWVvdXQoKCkgPT4geworICAgICAgICAgICAgICAgIC8vIFdlIHNob3VsZCBzdGlsbCBi
ZSBzdXNwZW5kZWQgZXZlbiB0aG91Z2ggdGhlIHNlc3Npb24gaXMgbm8gbG9uZ2VyIGludGVycnVw
dGVkLCBzaW5jZSB0aGUKKyAgICAgICAgICAgICAgICAvLyBKUyBleHBsaWNpdGx5IGNhbGxlZCBz
dXNwZW5kKCkuCisgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjb250ZXh0
LnN0YXRlIiwgInN1c3BlbmRlZCIpOworCisgICAgICAgICAgICAgICAgY29udGV4dC5yZXN1bWUo
KS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJjb250ZXh0LnN0YXRlIiwgInJ1bm5pbmciKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfSwgKGUpID0+IHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZCgiY29udGV4dC5yZXN1bWUoKSBjYWxsIGFmdGVyIHVuaW50ZXJydXB0ZWQg
dGhyZXcgYW4gdW5leHBlY3RlZCBleGNlcHRpb246ICIgKyBlKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCAx
MCk7CisgICAgICAgIH0sIChlKSA9PiB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJjb250ZXh0
LnN1c3BlbmQoKSBjYWxsIHdoaWxlIGludGVycnVwdGVkIHRocmV3IGFuIHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAiICsgZSk7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfSk7
CisgICAgfSwgMCk7Cit9KTsKKzwvc2NyaXB0PgorPC9odG1sPgo=
</data>
<flag name="commit-queue"
          id="428805"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412364</attachid>
            <date>2020-10-26 16:34:38 -0700</date>
            <delta_ts>2020-10-27 08:26:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217606-20201026163437.patch</filename>
            <type>text/plain</type>
            <size>7077</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4OTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg4NWFmMTk3NmYzMTQ2
NTY3ODU2ZjE1ZjdhODNlZWYyNWM2OGZmYy4uZDhjNTBkMGU4OGFlN2FlZGExNmI4N2YzMzkwZTQ2
YTFlZmY0Mzg4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTEwLTI2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1ZGlvIGJyb2tlbiBv
biBpT1MgMTQgYWZ0ZXIgc3dpdGNoaW5nIGFwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3NjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MDIz
MTc2OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGUgaXNzdWUgd2FzIGNhdXNlZCBieSB0aGUgZmFjdCB0aGF0IHRoZSBBdWRpb0NvbnRleHQncyBz
dGF0ZSB3b3VsZCBiZWNvbWUgImludGVycnVwdGVkIgorICAgICAgICB3aGVuIHRoZSB2aWV3IGlz
IG5vIGxvbmdlciB2aXNpYmxlLiBUaGVuIHRoZSBzY3JpcHQgd291bGQgY2FsbCBjb250ZXh0LnN1
c3BlbmQoKSBhbmQgdGhpcworICAgICAgICB3b3VsZCB1bmV4cGVjdGVkbHkgcmVqZWN0IHRoZSBw
cm9taXNlIGFuZCBnZXQgdGhlIHNjcmlwdCBpbiBhIGJhZCBzdGF0ZS4KKworICAgICAgICBUbyBh
ZGRyZXNzIHRoZSBpc3N1ZSwgd2Ugbm93IG5vIGxvbmdlciB0aHJvdyB3aGVuIEF1ZGlvQ29udGV4
dC5zdXNwZW5kKCkgaXMgY2FsbGVkIHdoaWxlCisgICAgICAgIGludGVycnVwdGVkLiBJbnN0ZWFk
LCB3ZSBzZXQgdGhlICd3YXNTdXNwZW5kZWRCeUphdmFzY3JpcHQnIGZsYWcgYW5kIHJlZ2lzdGVy
IGEgc3RhdGUKKyAgICAgICAgY2hhbmdlIGxpc3RlbmVyIHRvIHJlc29sdmUgdGhlIHByb21pc2Ug
d2hlbiB0aGUgc3RhdGUgY2hhbmdlcyB0byAic3VzcGVuZGVkIi4KKworICAgICAgICBXaGVuIHRo
ZSBpbnRlcnJ1cHRpb24gZW5kcywgQXVkaW9Db250ZXh0OjptYXlSZXN1bWVQbGF5YmFjaygpIGdl
dHMgY2FsbGVkIHdpdGgKKyAgICAgICAgc2hvdWxkUmVzdW1lPWZhbHNlLCBjYXVzaW5nIHVzIHRv
IHVwZGF0ZSB0aGUgc3RhdGUgZnJvbSAiaW50ZXJydXB0ZWQiIHRvICJzdXNwZW5kZWQiLAorICAg
ICAgICB3aGljaCByZXNvbHZlcyB0aGUgc3VzcGVuZCBwcm9taXNlLgorCisgICAgICAgIFRlc3Q6
IHdlYmF1ZGlvL3N1c3BlbmQtY29udGV4dC13aGlsZS1pbnRlcnJ1cHRlZC5odG1sCisKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpBdWRpb0NvbnRleHQ6OnN1c3BlbmRSZW5kZXJpbmcpOgorCiAyMDIwLTEwLTI2ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wcm92ZSBleGNlcHRpb24gbWVz
c2FnZXMgd2hlbiBBdWRpb0NvbnRleHQuc3VzcGVuZCgpIC8gcmVzdW1lKCkgcHJvbWlzZXMgYXJl
IHJlamVjdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1
ZGlvQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29u
dGV4dC5jcHAKaW5kZXggMWEzODYyNGFkY2NkMmY3ZDg3YTJmZTQ4ZmZhNmJmYzA4Y2M5NGU1ZC4u
MjVlMmYyOWFlMGUzYTI1NDI2YTNkNDNjZDc2ODI2MzI5MWRkZTk3MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcApAQCAtMjA5LDcgKzIw
OSw3IEBAIHZvaWQgQXVkaW9Db250ZXh0OjpzdXNwZW5kUmVuZGVyaW5nKERPTVByb21pc2VEZWZl
cnJlZDx2b2lkPiYmIHByb21pc2UpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAo
aXNTdG9wcGVkKCkgfHwgc3RhdGUoKSA9PSBTdGF0ZTo6Q2xvc2VkIHx8IHN0YXRlKCkgPT0gU3Rh
dGU6OkludGVycnVwdGVkIHx8ICFkZXN0aW5hdGlvbk5vZGUoKSkgeworICAgIGlmIChpc1N0b3Bw
ZWQoKSB8fCBzdGF0ZSgpID09IFN0YXRlOjpDbG9zZWQgfHwgIWRlc3RpbmF0aW9uTm9kZSgpKSB7
CiAgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yLCAi
Q29udGV4dCBpcyBjbG9zZWQiX3MgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
YWNkZTdkM2VkZTEwYTE1MmEwZjZkMTJhOTBmZDEzNGQ5MWFjOTRlNy4uYTdkZDcyYWFhZjliYTk0
ZGI4MzQzZmQ0MmZjNmRiOTRmZmQ5OTI1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTEw
LTI2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1ZGlv
IGJyb2tlbiBvbiBpT1MgMTQgYWZ0ZXIgc3dpdGNoaW5nIGFwcAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3NjA2CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS83MDIzMTc2OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgbGF5b3V0IHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAgKiB3ZWJhdWRpby9z
dXNwZW5kLWNvbnRleHQtd2hpbGUtaW50ZXJydXB0ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJhdWRpby9zdXNwZW5kLWNvbnRleHQtd2hpbGUtaW50ZXJydXB0ZWQuaHRtbDog
QWRkZWQuCisKIDIwMjAtMTAtMjYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAog
ICAgICAgICBJbXByb3ZlIGV4Y2VwdGlvbiBtZXNzYWdlcyB3aGVuIEF1ZGlvQ29udGV4dC5zdXNw
ZW5kKCkgLyByZXN1bWUoKSBwcm9taXNlcyBhcmUgcmVqZWN0ZWQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmF1ZGlvL3N1c3BlbmQtY29udGV4dC13aGlsZS1pbnRlcnJ1cHRlZC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9zdXNwZW5kLWNvbnRleHQtd2hpbGUtaW50ZXJy
dXB0ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2YmU3Y2EyZDMzOWQ5NDZiOWQ1MmNkNDNi
MjUzMDBiYmQwM2E4OTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9z
dXNwZW5kLWNvbnRleHQtd2hpbGUtaW50ZXJydXB0ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MjUgQEAKK1Rlc3RzIHRoYXQgbWVkaWEgc2Vzc2lvbiBpbnRlcnJ1cHRpb24gZG9lcyBub3QgY2F1
c2UgQXVkaW9Db250ZXh0LnN1c3BlbmQoKSB0byB0aHJvdworCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworUEFTUyBEaWQgc3RhcnQgcmVuZGVyaW5nCitpbnRlcm5hbHMuYmVnaW5NZWRp
YVNlc3Npb25JbnRlcnJ1cHRpb24oJ2VudGVyaW5nYmFja2dyb3VuZCcpCitQQVNTIERpZCBiZWdp
biBpbnRlcnJ1cHRpb24KK1BBU1MgY29udGV4dC5zdGF0ZSBpcyAiaW50ZXJydXB0ZWQiCitQQVNT
IGNvbnRleHQuc3RhdGUgaXMgImludGVycnVwdGVkIgorUEFTUyBkaWRSZXNvbHZlU3VzcGVuZFBy
b21pc2UgaXMgZmFsc2UKK1BBU1MgY29udGV4dC5zdGF0ZSBpcyAiaW50ZXJydXB0ZWQiCitQQVNT
IGRpZFJlc29sdmVTdXNwZW5kUHJvbWlzZSBpcyBmYWxzZQoraW50ZXJuYWxzLmVuZE1lZGlhU2Vz
c2lvbkludGVycnVwdGlvbignbWF5cmVzdW1lcGxheWluZycpCitQQVNTIGNvbnRleHQuc3VzcGVu
ZCgpIHByb21pc2Ugd2FzIHJlc29sdmVkCitQQVNTIERpZCBlbmQgaW50ZXJydXB0aW9uCitQQVNT
IGNvbnRleHQuc3RhdGUgaXMgInN1c3BlbmRlZCIKK1BBU1MgZGlkUmVzb2x2ZVN1c3BlbmRQcm9t
aXNlIGlzIHRydWUKK1BBU1MgY29udGV4dC5zdGF0ZSBpcyAic3VzcGVuZGVkIgorUEFTUyByZXN1
bWUoKSBwcm9taXNlIHdhcyByZXNvbHZlZAorUEFTUyBjb250ZXh0LnN0YXRlIGlzICJydW5uaW5n
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL3N1c3BlbmQtY29udGV4dC13aGlsZS1pbnRl
cnJ1cHRlZC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vc3VzcGVuZC1jb250ZXh0LXdoaWxl
LWludGVycnVwdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDY3ZDVjNDM5ODViNmU0MDQ0NTA0MzAwYzdi
ZjEwMmY0NDA0ZjE5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL3N1
c3BlbmQtY29udGV4dC13aGlsZS1pbnRlcnJ1cHRlZC5odG1sCkBAIC0wLDAgKzEsNzQgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQg
bWVkaWEgc2Vzc2lvbiBpbnRlcnJ1cHRpb24gZG9lcyBub3QgY2F1c2UgQXVkaW9Db250ZXh0LnN1
c3BlbmQoKSB0byB0aHJvdyIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2xldCBkaWRSZXNv
bHZlU3VzcGVuZFByb21pc2UgPSBmYWxzZTsKKworZnVuY3Rpb24gZGlkRW5kSW50ZXJydXB0aW9u
KCkKK3sKKyAgICB0ZXN0UGFzc2VkKCJEaWQgZW5kIGludGVycnVwdGlvbiIpOworICAgIGNvbnRl
eHQub25zdGF0ZWNoYW5nZSA9IG51bGw7CisgICAgLy8gSW50ZXJydXB0aW9uIGhhcyBlbmRlZCBi
dXQgdGhlIHNjcmlwdCBoYXMgY2FsbGVkIHN1c3BlbmQoKSBzbyB3ZSBzaG91bGQgbW92ZSB0byAi
c3VzcGVuZGVkIgorICAgIC8vIHN0YXRlLgorICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY29u
dGV4dC5zdGF0ZSIsICJzdXNwZW5kZWQiKTsKKyAgICBzaG91bGRCZVRydWUoImRpZFJlc29sdmVT
dXNwZW5kUHJvbWlzZSIpOworCisgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiY29udGV4dC5zdGF0ZSIsICJzdXNwZW5kZWQiKTsKKworICAgICAg
ICBjb250ZXh0LnJlc3VtZSgpLnRoZW4oKCkgPT4geworICAgICAgICAgICAgdGVzdFBhc3NlZCgi
cmVzdW1lKCkgcHJvbWlzZSB3YXMgcmVzb2x2ZWQiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiY29udGV4dC5zdGF0ZSIsICJydW5uaW5nIik7CisgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgfSwgKGUpID0+IHsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQo
ImNvbnRleHQucmVzdW1lKCkgY2FsbCBhZnRlciB1bmludGVycnVwdGVkIHRocmV3IGFuIHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAiICsgZSk7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgfSk7CisgICAgfSwgMTApOworfQorCitmdW5jdGlvbiBkaWRCZWdpbkludGVycnVwdGlv
bigpCit7CisgICAgdGVzdFBhc3NlZCgiRGlkIGJlZ2luIGludGVycnVwdGlvbiIpOworICAgIGNv
bnRleHQub25zdGF0ZWNoYW5nZSA9IG51bGw7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJj
b250ZXh0LnN0YXRlIiwgImludGVycnVwdGVkIik7CisgICAgY29udGV4dC5zdXNwZW5kKCkudGhl
bigoKSA9PiB7CisgICAgICAgIHRlc3RQYXNzZWQoImNvbnRleHQuc3VzcGVuZCgpIHByb21pc2Ug
d2FzIHJlc29sdmVkIik7CisgICAgICAgIGRpZFJlc29sdmVTdXNwZW5kUHJvbWlzZSA9IHRydWU7
CisgICAgfSwgKGUpID0+IHsKKyAgICAgICAgdGVzdEZhaWxlZCgiY29udGV4dC5zdXNwZW5kKCkg
Y2FsbCB3aGlsZSBpbnRlcnJ1cHRlZCB0aHJldyBhbiB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogIiAr
IGUpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9KTsKKworICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiY29udGV4dC5zdGF0ZSIsICJpbnRlcnJ1cHRlZCIpOworICAgIHNob3VsZEJl
RmFsc2UoImRpZFJlc29sdmVTdXNwZW5kUHJvbWlzZSIpOworICAgIHNldFRpbWVvdXQoKCkgPT4g
eworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNvbnRleHQuc3RhdGUiLCAiaW50ZXJy
dXB0ZWQiKTsKKyAgICAgICAgc2hvdWxkQmVGYWxzZSgiZGlkUmVzb2x2ZVN1c3BlbmRQcm9taXNl
Iik7CisKKyAgICAgICAgY29udGV4dC5vbnN0YXRlY2hhbmdlID0gZGlkRW5kSW50ZXJydXB0aW9u
OworICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIGV2YWxBbmRMb2co
ImludGVybmFscy5lbmRNZWRpYVNlc3Npb25JbnRlcnJ1cHRpb24oJ21heXJlc3VtZXBsYXlpbmcn
KSIpOworICAgIH0sIDEwKTsKK30KKworZnVuY3Rpb24gZGlkU3RhcnRSZW5kZXJpbmcoKQorewor
ICAgIHRlc3RQYXNzZWQoIkRpZCBzdGFydCByZW5kZXJpbmciKTsKKyAgICBjb250ZXh0Lm9uc3Rh
dGVjaGFuZ2UgPSBkaWRCZWdpbkludGVycnVwdGlvbjsKKyAgICBpZiAod2luZG93LmludGVybmFs
cykKKyAgICAgICAgZXZhbEFuZExvZygiaW50ZXJuYWxzLmJlZ2luTWVkaWFTZXNzaW9uSW50ZXJy
dXB0aW9uKCdlbnRlcmluZ2JhY2tncm91bmQnKSIpOworfQorCitsZXQgY29udGV4dCA9IG5ldyBB
dWRpb0NvbnRleHQ7Cit2YXIgc291cmNlID0gY29udGV4dC5jcmVhdGVDb25zdGFudFNvdXJjZSgp
Oworc291cmNlLmNvbm5lY3QoY29udGV4dC5kZXN0aW5hdGlvbik7CisKK2NvbnRleHQub25zdGF0
ZWNoYW5nZSA9IGRpZFN0YXJ0UmVuZGVyaW5nOworc291cmNlLnN0YXJ0KCk7Cis8L3NjcmlwdD4K
KzwvaHRtbD4K
</data>
<flag name="review"
          id="428799"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412556</attachid>
            <date>2020-10-28 11:51:50 -0700</date>
            <delta_ts>2020-10-28 12:00:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217606-20201028115149.patch</filename>
            <type>text/plain</type>
            <size>9618</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M1N2IzZTZlMDJmMDcy
MzEwMDQzNTdmMjg2ZGVkNGI0YjgyNmQ4Zi4uMTA2OWE0ZGJjYzViNzUwZjRjMGU1YzdiMmY0OWY5
YTVmYjc2MzYzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTEwLTI4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1ZGlvIGJyb2tlbiBv
biBpT1MgMTQgYWZ0ZXIgc3dpdGNoaW5nIGFwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3NjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MDIz
MTc2OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
aGVuIHN3aXRjaGluZyBiYWNrIHRvIFNhZmFyaSBvbiBpT1MsIHdlIHJlc3VtZSBwbGF5YmFjayBp
ZiBuZWNlc3NhcnkuIEFWRm91bmRhdGlvbgorICAgICAgICBjaGVja3MgaWYgb3VyIHBhcmVudCBh
cHBsaWNhdGlvbiBpcyBmb3JlZ3JvdW5kLXJ1bm5pbmcgdG8gZGV0ZXJtaW5lIGlmIHdlIGFyZSBh
bGxvd2VkCisgICAgICAgIHRvIHN0YXJ0IHBsYXliYWNrLiBUaGVyZSBzZWVtcyB0byBiZSBhIHJh
Y2UgYmV0d2VlbiB0aGUgVUlTY2VuZSBmb3JlZ3JvdW5kIG5vdGlmaWNhdGlvbgorICAgICAgICBh
bmQgUnVubmluZ0JvYXJkIGFjdHVhbGx5IHRoaW5raW5nIHRoZSBhcHBsaWNhdGlvbiBpcyBmb3Jl
Z3JvdW5kLXJ1bm5pbmcsIGNhdXNpbmcgdGhlCisgICAgICAgIGNhbGwgdG8gQXVkaW9PdXRwdXRV
bml0U3RhcnQoKSB0byBzb21ldGltZXMgZmFpbCAocmRhcjovL3Byb2JsZW0vNzAyMzE3NjkpLgor
ICAgICAgICAKKyAgICAgICAgVG8gaGFuZGxlIHRoaXMsIHdlIG5vdyByZXRyeSBvbmNlIGFmdGVy
IGEgMTAwbXMgZGVsYXkgYmVmb3JlIGdpdmluZyB1cC4gSSBoYXZlIHZlcmlmaWVkCisgICAgICAg
IHRoYXQgdGhlIHRlc3QgY2FzZSBmb3IgPHJkYXI6Ly9wcm9ibGVtLzcwMjMxNzY5PiByZWxpYWJs
eSByZXN0YXJ0cyBwbGF5YmFjayB3aGVuIGhvbWluZworICAgICAgICBiYWNrIGludG8gTW9iaWxl
U2FmYXJpIHdpdGggdGhpcyBjaGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2Nv
YS9BdWRpb0Rlc3RpbmF0aW9uQ29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9EZXN0
aW5hdGlvbkNvY29hOjpzdGFydCk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVk
aW9PdXRwdXRVbml0QWRhcHRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb091dHB1dFVu
aXRBZGFwdG9yOjpBdWRpb091dHB1dFVuaXRBZGFwdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvT3V0cHV0VW5pdEFkYXB0b3I6On5BdWRpb091dHB1dFVuaXRBZGFwdG9yKToKKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNv
cmU6OkF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OnJldHJ5U3RhcnRUaW1lckZpcmVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OmNhbGxQZW5kaW5nU3RhcnRDb21w
bGV0aW9uSGFuZGxlcnMpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9PdXRwdXRVbml0QWRhcHRv
cjo6c3RvcCk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9PdXRwdXRVbml0
QWRhcHRvci5oOgorCiAyMDIwLTEwLTI4ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVyXSBNdWx0aS1jaGFubmVsICg+Mikgc3VwcG9y
dCBmb3IgdGhlIEF1ZGlvRmlsZVJlYWRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA5MzIzMGM4YzMzNGUyMzdhNTZl
MzJmY2RmYzNlNTViMDY5M2YzMjhmLi5hODJiNDM5OTFiMGY0NDMzMzE2ZmExNzU3OGMzOGZiNWIx
ZjJkYjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTEwLTI4ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1ZGlvIGJyb2tlbiBvbiBpT1Mg
MTQgYWZ0ZXIgc3dpdGNoaW5nIGFwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE3NjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MDIzMTc2OT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuY3BwOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyOjpzdGFydEF1ZGlvRGVzdGluYXRpb24pOgor
CiAyMDIwLTEwLTI4ICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0dUSzRdIEJ1aWxkIGJyb2tlbiB3aXRoIEdUSyAzLjk5LjMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25D
b2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0Rlc3Rp
bmF0aW9uQ29jb2EuY3BwCmluZGV4IDFlMDNlMDI0ZGZmZmEwMWU3YzE2OGMxZDJiYjlhZTVhMzQx
MjEwNzMuLjFkYmEwZTI4ZGJmMjlhZWMzNTQ0YTNkZDJiMGU0NDc5MTRkOGFkYmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25D
b2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9E
ZXN0aW5hdGlvbkNvY29hLmNwcApAQCAtMTAzLDExICsxMDMsOSBAQCB2b2lkIEF1ZGlvRGVzdGlu
YXRpb25Db2NvYTo6c3RhcnQoRnVuY3Rpb248dm9pZChGdW5jdGlvbjx2b2lkKCk+JiYpPiYmIGRp
c3BhdGNoVAogewogICAgIExPRyhNZWRpYSwgIkF1ZGlvRGVzdGluYXRpb25Db2NvYTo6c3RhcnQi
KTsKICAgICBtX2Rpc3BhdGNoVG9SZW5kZXJUaHJlYWQgPSBXVEZNb3ZlKGRpc3BhdGNoVG9SZW5k
ZXJUaHJlYWQpOwotICAgIGF1dG8gc3VjY2VzcyA9IG1fYXVkaW9PdXRwdXRVbml0QWRhcHRvci5z
dGFydCgpID09IG5vRXJyOwotICAgIGlmIChzdWNjZXNzKQotICAgICAgICBzZXRJc1BsYXlpbmco
dHJ1ZSk7Ci0KLSAgICBjYWxsT25NYWluVGhyZWFkKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpLCBzdWNjZXNzXSgpIG11dGFibGUgeworICAgIG1fYXVkaW9P
dXRwdXRVbml0QWRhcHRvci5zdGFydChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRo
aXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShib29s
IHN1Y2Nlc3MpIG11dGFibGUgeworICAgICAgICBpZiAoc3VjY2VzcykKKyAgICAgICAgICAgIHNl
dElzUGxheWluZyh0cnVlKTsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoc3VjY2Vzcyk7CiAg
ICAgfSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2Nv
YS9BdWRpb091dHB1dFVuaXRBZGFwdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL2NvY29hL0F1ZGlvT3V0cHV0VW5pdEFkYXB0b3IuY3BwCmluZGV4IDMzZGQ5M2NiOWRmZDI1
NDQ3N2ZlMmJiZjEzMjc0Y2Y4Mjg4MmQxZmQuLmVmNzIyYzM1ZDQwMTI4Yjk1ZTgzNmNjZDZhZmRm
YzA3YjU4NmE4NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2Nv
Y29hL0F1ZGlvT3V0cHV0VW5pdEFkYXB0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvT3V0cHV0VW5pdEFkYXB0b3IuY3BwCkBAIC0zMCw5ICszMCwx
MiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRpYyBjb25zdGV4cHIgU2Vjb25kcyBy
ZXRyeVN0YXJ0RGVsYXkgPSAxMDBfbXM7CisKIEF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OkF1ZGlv
T3V0cHV0VW5pdEFkYXB0b3IoQXVkaW9Vbml0UmVuZGVyZXImIHJlbmRlcmVyKQogICAgIDogbV9v
dXRwdXRVbml0KDApCiAgICAgLCBtX2F1ZGlvVW5pdFJlbmRlcmVyKHJlbmRlcmVyKQorICAgICwg
bV9yZXRyeVN0YXJ0VGltZXIoKnRoaXMsICZBdWRpb091dHB1dFVuaXRBZGFwdG9yOjpyZXRyeVN0
YXJ0VGltZXJGaXJlZCkKIHsKIH0KIApAQCAtNDAsMTUgKzQzLDUxIEBAIEF1ZGlvT3V0cHV0VW5p
dEFkYXB0b3I6On5BdWRpb091dHB1dFVuaXRBZGFwdG9yKCkKIHsKICAgICBpZiAobV9vdXRwdXRV
bml0KQogICAgICAgICBBdWRpb0NvbXBvbmVudEluc3RhbmNlRGlzcG9zZShtX291dHB1dFVuaXQp
OworICAgIGNhbGxQZW5kaW5nU3RhcnRDb21wbGV0aW9uSGFuZGxlcnMoZmFsc2UpOworfQorCit2
b2lkIEF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OnN0YXJ0KENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Ym9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgaWYgKG1fcmV0cnlTdGFydFRpbWVy
LmlzQWN0aXZlKCkpIHsKKyAgICAgICAgbV9wZW5kaW5nU3RhcnRDb21wbGV0aW9uSGFuZGxlcnMu
YXBwZW5kKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGF1dG8gcmVzdWx0ID0gQXVkaW9PdXRwdXRVbml0U3RhcnQobV9vdXRwdXRVbml0
KTsKKyAgICBpZiAocmVzdWx0ID09IG5vRXJyKSB7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQo
W2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJs
ZSB7CisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcih0cnVlKTsKKyAgICAgICAgfSk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyBXaGVuIHN3aXRjaGluZyBiYWNrIHRvIFNh
ZmFyaSBvbiBpT1MsIHdlIHJlc3VtZSBwbGF5YmFjayBpZiBuZWNlc3NhcnkuIEFWRm91bmRhdGlv
bgorICAgIC8vIGNoZWNrcyBpZiBvdXIgcGFyZW50IGFwcGxpY2F0aW9uIGlzIGZvcmVncm91bmQt
cnVubmluZyB0byBkZXRlcm1pbmUgaWYgd2UgYXJlIGFsbG93ZWQKKyAgICAvLyB0byBzdGFydCBw
bGF5YmFjay4gVGhlcmUgc2VlbXMgdG8gYmUgYSByYWNlIGJldHdlZW4gdGhlIFVJU2NlbmUgZm9y
ZWdyb3VuZCBub3RpZmljYXRpb24KKyAgICAvLyBhbmQgUnVubmluZ0JvYXJkIGFjdHVhbGx5IHRo
aW5raW5nIHRoZSBhcHBsaWNhdGlvbiBpcyBmb3JlZ3JvdW5kLXJ1bm5pbmcsIGNhdXNpbmcgdGhl
CisgICAgLy8gY2FsbCB0byBBdWRpb091dHB1dFVuaXRTdGFydCgpIHRvIHNvbWV0aW1lcyBmYWls
IChyZGFyOi8vcHJvYmxlbS83MDIzMTc2OSkuCisgICAgLy8gVG8gaGFuZGxlIHRoaXMsIHdlIHJl
dHJ5IG9uY2UgYWZ0ZXIgYSAxMDBtcyBkZWxheSBiZWZvcmUgZ2l2aW5nIHVwLgorICAgIG1fcGVu
ZGluZ1N0YXJ0Q29tcGxldGlvbkhhbmRsZXJzLmFwcGVuZChXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSk7CisgICAgaWYgKCFtX3JldHJ5U3RhcnRUaW1lci5pc0FjdGl2ZSgpKQorICAgICAgICBt
X3JldHJ5U3RhcnRUaW1lci5zdGFydE9uZVNob3QocmV0cnlTdGFydERlbGF5KTsKK30KKwordm9p
ZCBBdWRpb091dHB1dFVuaXRBZGFwdG9yOjpyZXRyeVN0YXJ0VGltZXJGaXJlZCgpCit7CisgICAg
Y2FsbFBlbmRpbmdTdGFydENvbXBsZXRpb25IYW5kbGVycyhBdWRpb091dHB1dFVuaXRTdGFydCht
X291dHB1dFVuaXQpID09IG5vRXJyKTsKIH0KIAotT1NTdGF0dXMgQXVkaW9PdXRwdXRVbml0QWRh
cHRvcjo6c3RhcnQoKQordm9pZCBBdWRpb091dHB1dFVuaXRBZGFwdG9yOjpjYWxsUGVuZGluZ1N0
YXJ0Q29tcGxldGlvbkhhbmRsZXJzKGJvb2wgc3VjY2VzcykKIHsKLSAgICByZXR1cm4gQXVkaW9P
dXRwdXRVbml0U3RhcnQobV9vdXRwdXRVbml0KTsKKyAgICBhdXRvIHBlbmRpbmdTdGFydENvbXBs
ZXRpb25IYW5kbGVycyA9IHN0ZDo6ZXhjaGFuZ2UobV9wZW5kaW5nU3RhcnRDb21wbGV0aW9uSGFu
ZGxlcnMsIHsgfSk7CisgICAgZm9yIChhdXRvJiBwZW5kaW5nU3RhcnRDb21wbGV0aW9uSGFuZGxl
ciA6IHBlbmRpbmdTdGFydENvbXBsZXRpb25IYW5kbGVycykKKyAgICAgICAgcGVuZGluZ1N0YXJ0
Q29tcGxldGlvbkhhbmRsZXIoc3VjY2Vzcyk7CiB9CiAKIE9TU3RhdHVzIEF1ZGlvT3V0cHV0VW5p
dEFkYXB0b3I6OnN0b3AoKQogeworICAgIG1fcmV0cnlTdGFydFRpbWVyLnN0b3AoKTsKKyAgICBj
YWxsUGVuZGluZ1N0YXJ0Q29tcGxldGlvbkhhbmRsZXJzKGZhbHNlKTsKICAgICByZXR1cm4gQXVk
aW9PdXRwdXRVbml0U3RvcChtX291dHB1dFVuaXQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb091dHB1dFVuaXRBZGFwdG9yLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb091dHB1dFVuaXRBZGFwdG9y
LmgKaW5kZXggZDhkZGJkZDY2YjZjYTQ5M2YxY2RhYzhlNjIwNWRhMGI0OGRlYjAwMy4uNDJjNGFi
NTBkZmNmMDhkZmNlNTI4Mjg0ZWQxMTIzZGU2Y2IxNDJlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9PdXRwdXRVbml0QWRhcHRvci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvT3V0cHV0VW5pdEFkYXB0
b3IuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKFdFQl9BVURJTykKIAorI2luY2x1
ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8QXVkaW9Vbml0L0F1ZGlvVW5pdC5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC00MywxNCArNDQsMTggQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQ
T1JUIH5BdWRpb091dHB1dFVuaXRBZGFwdG9yKCk7CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IGNvbmZpZ3VyZShmbG9hdCBoYXJkd2FyZVNhbXBsZVJhdGUsIHVuc2lnbmVkIG51bWJlck9mT3V0
cHV0Q2hhbm5lbHMpOwotICAgIFdFQkNPUkVfRVhQT1JUIE9TU3RhdHVzIHN0YXJ0KCk7CisgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzdGFydChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYm
KTsKICAgICBXRUJDT1JFX0VYUE9SVCBPU1N0YXR1cyBzdG9wKCk7CiAKIHByaXZhdGU6CiAgICAg
c3RhdGljIE9TU3RhdHVzIGlucHV0UHJvYyh2b2lkKiB1c2VyRGF0YSwgQXVkaW9Vbml0UmVuZGVy
QWN0aW9uRmxhZ3MqLCBjb25zdCBBdWRpb1RpbWVTdGFtcCosIFVJbnQzMiBidXNOdW1iZXIsIFVJ
bnQzMiBudW1iZXJPZkZyYW1lcywgQXVkaW9CdWZmZXJMaXN0KiBpb0RhdGEpOworICAgIHZvaWQg
cmV0cnlTdGFydFRpbWVyRmlyZWQoKTsKKyAgICB2b2lkIGNhbGxQZW5kaW5nU3RhcnRDb21wbGV0
aW9uSGFuZGxlcnMoYm9vbCBzdWNjZXNzKTsKIAogICAgIEF1ZGlvVW5pdCBtX291dHB1dFVuaXQ7
CiAgICAgQXVkaW9Vbml0UmVuZGVyZXImIG1fYXVkaW9Vbml0UmVuZGVyZXI7CisgICAgVGltZXIg
bV9yZXRyeVN0YXJ0VGltZXI7CisgICAgVmVjdG9yPENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9v
bCk+PiBtX3BlbmRpbmdTdGFydENvbXBsZXRpb25IYW5kbGVyczsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuY3BwCmluZGV4IDk1ODVmZGZh
NzlkMDI4ZjU0OGVhZTAzYjI0NjU4NDA5ZDk0NTM4NTEuLjQ4NTZiZjg3NWE2MDAwZjI4ZTE2MzAw
ZmM5MWQzNmEyMjBiNjUzM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyLmNwcApAQCAt
ODYsMTMgKzg2LDE2IEBAIHB1YmxpYzoKICAgICB9CiAjZW5kaWYKIAotICAgIHZvaWQgc3RhcnQo
KQorICAgIHZvaWQgc3RhcnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sIGlzUGxheWluZyk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiAgICAgewogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgICAg
ICBpZiAobV9hdWRpb091dHB1dFVuaXRBZGFwdG9yLnN0YXJ0KCkpCi0gICAgICAgICAgICByZXR1
cm47Ci0KLSAgICAgICAgbV9pc1BsYXlpbmcgPSB0cnVlOworICAgICAgICBtX2F1ZGlvT3V0cHV0
VW5pdEFkYXB0b3Iuc3RhcnQoW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwg
Y29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oYm9vbCBzdWNj
ZXNzKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmIChzdWNjZXNzKQorICAgICAgICAgICAgICAg
IG1faXNQbGF5aW5nID0gdHJ1ZTsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG1faXNQ
bGF5aW5nKTsKKyAgICAgICAgfSk7CisjZWxzZQorICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigp
OwogI2VuZGlmCiAgICAgfQogCkBAIC0yMDMsMTIgKzIwNiw5IEBAIHZvaWQgUmVtb3RlQXVkaW9E
ZXN0aW5hdGlvbk1hbmFnZXI6OmRlbGV0ZUF1ZGlvRGVzdGluYXRpb24oUmVtb3RlQXVkaW9EZXN0
aW5hdGlvCiAKIHZvaWQgUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXI6OnN0YXJ0QXVkaW9E
ZXN0aW5hdGlvbihSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAg
IGJvb2wgaXNQbGF5aW5nID0gZmFsc2U7Ci0gICAgaWYgKGF1dG8qIGl0ZW0gPSBtX2F1ZGlvRGVz
dGluYXRpb25zLmdldChpZGVudGlmaWVyKSkgewotICAgICAgICBpdGVtLT5zdGFydCgpOwotICAg
ICAgICBpc1BsYXlpbmcgPSBpdGVtLT5pc1BsYXlpbmcoKTsKLSAgICB9Ci0gICAgY29tcGxldGlv
bkhhbmRsZXIoaXNQbGF5aW5nKTsKKyAgICBpZiAoYXV0byogaXRlbSA9IG1fYXVkaW9EZXN0aW5h
dGlvbnMuZ2V0KGlkZW50aWZpZXIpKQorICAgICAgICByZXR1cm4gaXRlbS0+c3RhcnQoV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcikpOworICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKIH0K
IAogdm9pZCBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlcjo6c3RvcEF1ZGlvRGVzdGluYXRp
b24oUmVtb3RlQXVkaW9EZXN0aW5hdGlvbklkZW50aWZpZXIgaWRlbnRpZmllciwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
</data>
<flag name="commit-queue"
          id="429037"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412558</attachid>
            <date>2020-10-28 11:57:55 -0700</date>
            <delta_ts>2020-10-28 13:27:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217606-20201028115754.patch</filename>
            <type>text/plain</type>
            <size>9629</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M1N2IzZTZlMDJmMDcy
MzEwMDQzNTdmMjg2ZGVkNGI0YjgyNmQ4Zi4uMTA2OWE0ZGJjYzViNzUwZjRjMGU1YzdiMmY0OWY5
YTVmYjc2MzYzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTEwLTI4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1ZGlvIGJyb2tlbiBv
biBpT1MgMTQgYWZ0ZXIgc3dpdGNoaW5nIGFwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3NjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MDIz
MTc2OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
aGVuIHN3aXRjaGluZyBiYWNrIHRvIFNhZmFyaSBvbiBpT1MsIHdlIHJlc3VtZSBwbGF5YmFjayBp
ZiBuZWNlc3NhcnkuIEFWRm91bmRhdGlvbgorICAgICAgICBjaGVja3MgaWYgb3VyIHBhcmVudCBh
cHBsaWNhdGlvbiBpcyBmb3JlZ3JvdW5kLXJ1bm5pbmcgdG8gZGV0ZXJtaW5lIGlmIHdlIGFyZSBh
bGxvd2VkCisgICAgICAgIHRvIHN0YXJ0IHBsYXliYWNrLiBUaGVyZSBzZWVtcyB0byBiZSBhIHJh
Y2UgYmV0d2VlbiB0aGUgVUlTY2VuZSBmb3JlZ3JvdW5kIG5vdGlmaWNhdGlvbgorICAgICAgICBh
bmQgUnVubmluZ0JvYXJkIGFjdHVhbGx5IHRoaW5raW5nIHRoZSBhcHBsaWNhdGlvbiBpcyBmb3Jl
Z3JvdW5kLXJ1bm5pbmcsIGNhdXNpbmcgdGhlCisgICAgICAgIGNhbGwgdG8gQXVkaW9PdXRwdXRV
bml0U3RhcnQoKSB0byBzb21ldGltZXMgZmFpbCAocmRhcjovL3Byb2JsZW0vNzAyMzE3NjkpLgor
ICAgICAgICAKKyAgICAgICAgVG8gaGFuZGxlIHRoaXMsIHdlIG5vdyByZXRyeSBvbmNlIGFmdGVy
IGEgMTAwbXMgZGVsYXkgYmVmb3JlIGdpdmluZyB1cC4gSSBoYXZlIHZlcmlmaWVkCisgICAgICAg
IHRoYXQgdGhlIHRlc3QgY2FzZSBmb3IgPHJkYXI6Ly9wcm9ibGVtLzcwMjMxNzY5PiByZWxpYWJs
eSByZXN0YXJ0cyBwbGF5YmFjayB3aGVuIGhvbWluZworICAgICAgICBiYWNrIGludG8gTW9iaWxl
U2FmYXJpIHdpdGggdGhpcyBjaGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2Nv
YS9BdWRpb0Rlc3RpbmF0aW9uQ29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9EZXN0
aW5hdGlvbkNvY29hOjpzdGFydCk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVk
aW9PdXRwdXRVbml0QWRhcHRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb091dHB1dFVu
aXRBZGFwdG9yOjpBdWRpb091dHB1dFVuaXRBZGFwdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvT3V0cHV0VW5pdEFkYXB0b3I6On5BdWRpb091dHB1dFVuaXRBZGFwdG9yKToKKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNv
cmU6OkF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OnJldHJ5U3RhcnRUaW1lckZpcmVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OmNhbGxQZW5kaW5nU3RhcnRDb21w
bGV0aW9uSGFuZGxlcnMpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9PdXRwdXRVbml0QWRhcHRv
cjo6c3RvcCk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9PdXRwdXRVbml0
QWRhcHRvci5oOgorCiAyMDIwLTEwLTI4ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVyXSBNdWx0aS1jaGFubmVsICg+Mikgc3VwcG9y
dCBmb3IgdGhlIEF1ZGlvRmlsZVJlYWRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA5MzIzMGM4YzMzNGUyMzdhNTZl
MzJmY2RmYzNlNTViMDY5M2YzMjhmLi5hODJiNDM5OTFiMGY0NDMzMzE2ZmExNzU3OGMzOGZiNWIx
ZjJkYjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTEwLTI4ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1ZGlvIGJyb2tlbiBvbiBpT1Mg
MTQgYWZ0ZXIgc3dpdGNoaW5nIGFwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE3NjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MDIzMTc2OT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuY3BwOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyOjpzdGFydEF1ZGlvRGVzdGluYXRpb24pOgor
CiAyMDIwLTEwLTI4ICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0dUSzRdIEJ1aWxkIGJyb2tlbiB3aXRoIEdUSyAzLjk5LjMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25D
b2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0Rlc3Rp
bmF0aW9uQ29jb2EuY3BwCmluZGV4IDFlMDNlMDI0ZGZmZmEwMWU3YzE2OGMxZDJiYjlhZTVhMzQx
MjEwNzMuLjFkYmEwZTI4ZGJmMjlhZWMzNTQ0YTNkZDJiMGU0NDc5MTRkOGFkYmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25D
b2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9E
ZXN0aW5hdGlvbkNvY29hLmNwcApAQCAtMTAzLDExICsxMDMsOSBAQCB2b2lkIEF1ZGlvRGVzdGlu
YXRpb25Db2NvYTo6c3RhcnQoRnVuY3Rpb248dm9pZChGdW5jdGlvbjx2b2lkKCk+JiYpPiYmIGRp
c3BhdGNoVAogewogICAgIExPRyhNZWRpYSwgIkF1ZGlvRGVzdGluYXRpb25Db2NvYTo6c3RhcnQi
KTsKICAgICBtX2Rpc3BhdGNoVG9SZW5kZXJUaHJlYWQgPSBXVEZNb3ZlKGRpc3BhdGNoVG9SZW5k
ZXJUaHJlYWQpOwotICAgIGF1dG8gc3VjY2VzcyA9IG1fYXVkaW9PdXRwdXRVbml0QWRhcHRvci5z
dGFydCgpID09IG5vRXJyOwotICAgIGlmIChzdWNjZXNzKQotICAgICAgICBzZXRJc1BsYXlpbmco
dHJ1ZSk7Ci0KLSAgICBjYWxsT25NYWluVGhyZWFkKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpLCBzdWNjZXNzXSgpIG11dGFibGUgeworICAgIG1fYXVkaW9P
dXRwdXRVbml0QWRhcHRvci5zdGFydChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRo
aXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShib29s
IHN1Y2Nlc3MpIG11dGFibGUgeworICAgICAgICBpZiAoc3VjY2VzcykKKyAgICAgICAgICAgIHNl
dElzUGxheWluZyh0cnVlKTsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoc3VjY2Vzcyk7CiAg
ICAgfSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2Nv
YS9BdWRpb091dHB1dFVuaXRBZGFwdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL2NvY29hL0F1ZGlvT3V0cHV0VW5pdEFkYXB0b3IuY3BwCmluZGV4IDMzZGQ5M2NiOWRmZDI1
NDQ3N2ZlMmJiZjEzMjc0Y2Y4Mjg4MmQxZmQuLmVmNzIyYzM1ZDQwMTI4Yjk1ZTgzNmNjZDZhZmRm
YzA3YjU4NmE4NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2Nv
Y29hL0F1ZGlvT3V0cHV0VW5pdEFkYXB0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvT3V0cHV0VW5pdEFkYXB0b3IuY3BwCkBAIC0zMCw5ICszMCwx
MiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRpYyBjb25zdGV4cHIgU2Vjb25kcyBy
ZXRyeVN0YXJ0RGVsYXkgPSAxMDBfbXM7CisKIEF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OkF1ZGlv
T3V0cHV0VW5pdEFkYXB0b3IoQXVkaW9Vbml0UmVuZGVyZXImIHJlbmRlcmVyKQogICAgIDogbV9v
dXRwdXRVbml0KDApCiAgICAgLCBtX2F1ZGlvVW5pdFJlbmRlcmVyKHJlbmRlcmVyKQorICAgICwg
bV9yZXRyeVN0YXJ0VGltZXIoKnRoaXMsICZBdWRpb091dHB1dFVuaXRBZGFwdG9yOjpyZXRyeVN0
YXJ0VGltZXJGaXJlZCkKIHsKIH0KIApAQCAtNDAsMTUgKzQzLDUxIEBAIEF1ZGlvT3V0cHV0VW5p
dEFkYXB0b3I6On5BdWRpb091dHB1dFVuaXRBZGFwdG9yKCkKIHsKICAgICBpZiAobV9vdXRwdXRV
bml0KQogICAgICAgICBBdWRpb0NvbXBvbmVudEluc3RhbmNlRGlzcG9zZShtX291dHB1dFVuaXQp
OworICAgIGNhbGxQZW5kaW5nU3RhcnRDb21wbGV0aW9uSGFuZGxlcnMoZmFsc2UpOworfQorCit2
b2lkIEF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OnN0YXJ0KENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Ym9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgaWYgKG1fcmV0cnlTdGFydFRpbWVy
LmlzQWN0aXZlKCkpIHsKKyAgICAgICAgbV9wZW5kaW5nU3RhcnRDb21wbGV0aW9uSGFuZGxlcnMu
YXBwZW5kKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGF1dG8gcmVzdWx0ID0gQXVkaW9PdXRwdXRVbml0U3RhcnQobV9vdXRwdXRVbml0
KTsKKyAgICBpZiAocmVzdWx0ID09IG5vRXJyKSB7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQo
W2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJs
ZSB7CisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcih0cnVlKTsKKyAgICAgICAgfSk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyBXaGVuIHN3aXRjaGluZyBiYWNrIHRvIFNh
ZmFyaSBvbiBpT1MsIHdlIHJlc3VtZSBwbGF5YmFjayBpZiBuZWNlc3NhcnkuIEFWRm91bmRhdGlv
bgorICAgIC8vIGNoZWNrcyBpZiBvdXIgcGFyZW50IGFwcGxpY2F0aW9uIGlzIGZvcmVncm91bmQt
cnVubmluZyB0byBkZXRlcm1pbmUgaWYgd2UgYXJlIGFsbG93ZWQKKyAgICAvLyB0byBzdGFydCBw
bGF5YmFjay4gVGhlcmUgc2VlbXMgdG8gYmUgYSByYWNlIGJldHdlZW4gdGhlIFVJU2NlbmUgZm9y
ZWdyb3VuZCBub3RpZmljYXRpb24KKyAgICAvLyBhbmQgUnVubmluZ0JvYXJkIGFjdHVhbGx5IHRo
aW5raW5nIHRoZSBhcHBsaWNhdGlvbiBpcyBmb3JlZ3JvdW5kLXJ1bm5pbmcsIGNhdXNpbmcgdGhl
CisgICAgLy8gY2FsbCB0byBBdWRpb091dHB1dFVuaXRTdGFydCgpIHRvIHNvbWV0aW1lcyBmYWls
IChyZGFyOi8vcHJvYmxlbS83MDIzMTc2OSkuCisgICAgLy8gVG8gaGFuZGxlIHRoaXMsIHdlIHJl
dHJ5IG9uY2UgYWZ0ZXIgYSAxMDBtcyBkZWxheSBiZWZvcmUgZ2l2aW5nIHVwLgorICAgIG1fcGVu
ZGluZ1N0YXJ0Q29tcGxldGlvbkhhbmRsZXJzLmFwcGVuZChXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSk7CisgICAgaWYgKCFtX3JldHJ5U3RhcnRUaW1lci5pc0FjdGl2ZSgpKQorICAgICAgICBt
X3JldHJ5U3RhcnRUaW1lci5zdGFydE9uZVNob3QocmV0cnlTdGFydERlbGF5KTsKK30KKwordm9p
ZCBBdWRpb091dHB1dFVuaXRBZGFwdG9yOjpyZXRyeVN0YXJ0VGltZXJGaXJlZCgpCit7CisgICAg
Y2FsbFBlbmRpbmdTdGFydENvbXBsZXRpb25IYW5kbGVycyhBdWRpb091dHB1dFVuaXRTdGFydCht
X291dHB1dFVuaXQpID09IG5vRXJyKTsKIH0KIAotT1NTdGF0dXMgQXVkaW9PdXRwdXRVbml0QWRh
cHRvcjo6c3RhcnQoKQordm9pZCBBdWRpb091dHB1dFVuaXRBZGFwdG9yOjpjYWxsUGVuZGluZ1N0
YXJ0Q29tcGxldGlvbkhhbmRsZXJzKGJvb2wgc3VjY2VzcykKIHsKLSAgICByZXR1cm4gQXVkaW9P
dXRwdXRVbml0U3RhcnQobV9vdXRwdXRVbml0KTsKKyAgICBhdXRvIHBlbmRpbmdTdGFydENvbXBs
ZXRpb25IYW5kbGVycyA9IHN0ZDo6ZXhjaGFuZ2UobV9wZW5kaW5nU3RhcnRDb21wbGV0aW9uSGFu
ZGxlcnMsIHsgfSk7CisgICAgZm9yIChhdXRvJiBwZW5kaW5nU3RhcnRDb21wbGV0aW9uSGFuZGxl
ciA6IHBlbmRpbmdTdGFydENvbXBsZXRpb25IYW5kbGVycykKKyAgICAgICAgcGVuZGluZ1N0YXJ0
Q29tcGxldGlvbkhhbmRsZXIoc3VjY2Vzcyk7CiB9CiAKIE9TU3RhdHVzIEF1ZGlvT3V0cHV0VW5p
dEFkYXB0b3I6OnN0b3AoKQogeworICAgIG1fcmV0cnlTdGFydFRpbWVyLnN0b3AoKTsKKyAgICBj
YWxsUGVuZGluZ1N0YXJ0Q29tcGxldGlvbkhhbmRsZXJzKGZhbHNlKTsKICAgICByZXR1cm4gQXVk
aW9PdXRwdXRVbml0U3RvcChtX291dHB1dFVuaXQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb091dHB1dFVuaXRBZGFwdG9yLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb091dHB1dFVuaXRBZGFwdG9y
LmgKaW5kZXggZDhkZGJkZDY2YjZjYTQ5M2YxY2RhYzhlNjIwNWRhMGI0OGRlYjAwMy4uNDJjNGFi
NTBkZmNmMDhkZmNlNTI4Mjg0ZWQxMTIzZGU2Y2IxNDJlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9PdXRwdXRVbml0QWRhcHRvci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvT3V0cHV0VW5pdEFkYXB0
b3IuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKFdFQl9BVURJTykKIAorI2luY2x1
ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8QXVkaW9Vbml0L0F1ZGlvVW5pdC5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC00MywxNCArNDQsMTggQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQ
T1JUIH5BdWRpb091dHB1dFVuaXRBZGFwdG9yKCk7CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IGNvbmZpZ3VyZShmbG9hdCBoYXJkd2FyZVNhbXBsZVJhdGUsIHVuc2lnbmVkIG51bWJlck9mT3V0
cHV0Q2hhbm5lbHMpOwotICAgIFdFQkNPUkVfRVhQT1JUIE9TU3RhdHVzIHN0YXJ0KCk7CisgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzdGFydChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYm
KTsKICAgICBXRUJDT1JFX0VYUE9SVCBPU1N0YXR1cyBzdG9wKCk7CiAKIHByaXZhdGU6CiAgICAg
c3RhdGljIE9TU3RhdHVzIGlucHV0UHJvYyh2b2lkKiB1c2VyRGF0YSwgQXVkaW9Vbml0UmVuZGVy
QWN0aW9uRmxhZ3MqLCBjb25zdCBBdWRpb1RpbWVTdGFtcCosIFVJbnQzMiBidXNOdW1iZXIsIFVJ
bnQzMiBudW1iZXJPZkZyYW1lcywgQXVkaW9CdWZmZXJMaXN0KiBpb0RhdGEpOworICAgIHZvaWQg
cmV0cnlTdGFydFRpbWVyRmlyZWQoKTsKKyAgICB2b2lkIGNhbGxQZW5kaW5nU3RhcnRDb21wbGV0
aW9uSGFuZGxlcnMoYm9vbCBzdWNjZXNzKTsKIAogICAgIEF1ZGlvVW5pdCBtX291dHB1dFVuaXQ7
CiAgICAgQXVkaW9Vbml0UmVuZGVyZXImIG1fYXVkaW9Vbml0UmVuZGVyZXI7CisgICAgVGltZXIg
bV9yZXRyeVN0YXJ0VGltZXI7CisgICAgVmVjdG9yPENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9v
bCk+PiBtX3BlbmRpbmdTdGFydENvbXBsZXRpb25IYW5kbGVyczsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuY3BwCmluZGV4IDk1ODVmZGZh
NzlkMDI4ZjU0OGVhZTAzYjI0NjU4NDA5ZDk0NTM4NTEuLjU5ODU0YTgxMjc0MmY5MTE1MWQwNDBl
ODFhOTg3N2QwZmEyOTdmNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyLmNwcApAQCAt
ODYsMTMgKzg2LDE2IEBAIHB1YmxpYzoKICAgICB9CiAjZW5kaWYKIAotICAgIHZvaWQgc3RhcnQo
KQorICAgIHZvaWQgc3RhcnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sIGlzUGxheWluZyk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiAgICAgewogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgICAg
ICBpZiAobV9hdWRpb091dHB1dFVuaXRBZGFwdG9yLnN0YXJ0KCkpCi0gICAgICAgICAgICByZXR1
cm47Ci0KLSAgICAgICAgbV9pc1BsYXlpbmcgPSB0cnVlOworICAgICAgICBtX2F1ZGlvT3V0cHV0
VW5pdEFkYXB0b3Iuc3RhcnQoW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwg
Y29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oYm9vbCBzdWNj
ZXNzKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmIChzdWNjZXNzKQorICAgICAgICAgICAgICAg
IG1faXNQbGF5aW5nID0gdHJ1ZTsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG1faXNQ
bGF5aW5nKTsKKyAgICAgICAgfSk7CisjZWxzZQorICAgICAgICBjb21wbGV0aW9uSGFuZGxlciht
X2lzUGxheWluZyk7CiAjZW5kaWYKICAgICB9CiAKQEAgLTIwMywxMiArMjA2LDkgQEAgdm9pZCBS
ZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlcjo6ZGVsZXRlQXVkaW9EZXN0aW5hdGlvbihSZW1v
dGVBdWRpb0Rlc3RpbmF0aW8KIAogdm9pZCBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlcjo6
c3RhcnRBdWRpb0Rlc3RpbmF0aW9uKFJlbW90ZUF1ZGlvRGVzdGluYXRpb25JZGVudGlmaWVyIGlk
ZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCiB7Ci0gICAgYm9vbCBpc1BsYXlpbmcgPSBmYWxzZTsKLSAgICBpZiAoYXV0byogaXRlbSA9
IG1fYXVkaW9EZXN0aW5hdGlvbnMuZ2V0KGlkZW50aWZpZXIpKSB7Ci0gICAgICAgIGl0ZW0tPnN0
YXJ0KCk7Ci0gICAgICAgIGlzUGxheWluZyA9IGl0ZW0tPmlzUGxheWluZygpOwotICAgIH0KLSAg
ICBjb21wbGV0aW9uSGFuZGxlcihpc1BsYXlpbmcpOworICAgIGlmIChhdXRvKiBpdGVtID0gbV9h
dWRpb0Rlc3RpbmF0aW9ucy5nZXQoaWRlbnRpZmllcikpCisgICAgICAgIHJldHVybiBpdGVtLT5z
dGFydChXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CisgICAgY29tcGxldGlvbkhhbmRsZXIo
ZmFsc2UpOwogfQogCiB2b2lkIFJlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyOjpzdG9wQXVk
aW9EZXN0aW5hdGlvbihSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVy
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412567</attachid>
            <date>2020-10-28 13:27:08 -0700</date>
            <delta_ts>2020-10-28 16:06:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217606-20201028132707.patch</filename>
            <type>text/plain</type>
            <size>10858</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M1N2IzZTZlMDJmMDcy
MzEwMDQzNTdmMjg2ZGVkNGI0YjgyNmQ4Zi4uMTA2OWE0ZGJjYzViNzUwZjRjMGU1YzdiMmY0OWY5
YTVmYjc2MzYzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTEwLTI4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1ZGlvIGJyb2tlbiBv
biBpT1MgMTQgYWZ0ZXIgc3dpdGNoaW5nIGFwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3NjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MDIz
MTc2OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
aGVuIHN3aXRjaGluZyBiYWNrIHRvIFNhZmFyaSBvbiBpT1MsIHdlIHJlc3VtZSBwbGF5YmFjayBp
ZiBuZWNlc3NhcnkuIEFWRm91bmRhdGlvbgorICAgICAgICBjaGVja3MgaWYgb3VyIHBhcmVudCBh
cHBsaWNhdGlvbiBpcyBmb3JlZ3JvdW5kLXJ1bm5pbmcgdG8gZGV0ZXJtaW5lIGlmIHdlIGFyZSBh
bGxvd2VkCisgICAgICAgIHRvIHN0YXJ0IHBsYXliYWNrLiBUaGVyZSBzZWVtcyB0byBiZSBhIHJh
Y2UgYmV0d2VlbiB0aGUgVUlTY2VuZSBmb3JlZ3JvdW5kIG5vdGlmaWNhdGlvbgorICAgICAgICBh
bmQgUnVubmluZ0JvYXJkIGFjdHVhbGx5IHRoaW5raW5nIHRoZSBhcHBsaWNhdGlvbiBpcyBmb3Jl
Z3JvdW5kLXJ1bm5pbmcsIGNhdXNpbmcgdGhlCisgICAgICAgIGNhbGwgdG8gQXVkaW9PdXRwdXRV
bml0U3RhcnQoKSB0byBzb21ldGltZXMgZmFpbCAocmRhcjovL3Byb2JsZW0vNzAyMzE3NjkpLgor
ICAgICAgICAKKyAgICAgICAgVG8gaGFuZGxlIHRoaXMsIHdlIG5vdyByZXRyeSBvbmNlIGFmdGVy
IGEgMTAwbXMgZGVsYXkgYmVmb3JlIGdpdmluZyB1cC4gSSBoYXZlIHZlcmlmaWVkCisgICAgICAg
IHRoYXQgdGhlIHRlc3QgY2FzZSBmb3IgPHJkYXI6Ly9wcm9ibGVtLzcwMjMxNzY5PiByZWxpYWJs
eSByZXN0YXJ0cyBwbGF5YmFjayB3aGVuIGhvbWluZworICAgICAgICBiYWNrIGludG8gTW9iaWxl
U2FmYXJpIHdpdGggdGhpcyBjaGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2Nv
YS9BdWRpb0Rlc3RpbmF0aW9uQ29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9EZXN0
aW5hdGlvbkNvY29hOjpzdGFydCk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVk
aW9PdXRwdXRVbml0QWRhcHRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb091dHB1dFVu
aXRBZGFwdG9yOjpBdWRpb091dHB1dFVuaXRBZGFwdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvT3V0cHV0VW5pdEFkYXB0b3I6On5BdWRpb091dHB1dFVuaXRBZGFwdG9yKToKKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNv
cmU6OkF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OnJldHJ5U3RhcnRUaW1lckZpcmVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OmNhbGxQZW5kaW5nU3RhcnRDb21w
bGV0aW9uSGFuZGxlcnMpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9PdXRwdXRVbml0QWRhcHRv
cjo6c3RvcCk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9PdXRwdXRVbml0
QWRhcHRvci5oOgorCiAyMDIwLTEwLTI4ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVyXSBNdWx0aS1jaGFubmVsICg+Mikgc3VwcG9y
dCBmb3IgdGhlIEF1ZGlvRmlsZVJlYWRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA5MzIzMGM4YzMzNGUyMzdhNTZl
MzJmY2RmYzNlNTViMDY5M2YzMjhmLi5hODJiNDM5OTFiMGY0NDMzMzE2ZmExNzU3OGMzOGZiNWIx
ZjJkYjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTEwLTI4ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1ZGlvIGJyb2tlbiBvbiBpT1Mg
MTQgYWZ0ZXIgc3dpdGNoaW5nIGFwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE3NjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MDIzMTc2OT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuY3BwOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyOjpzdGFydEF1ZGlvRGVzdGluYXRpb24pOgor
CiAyMDIwLTEwLTI4ICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0dUSzRdIEJ1aWxkIGJyb2tlbiB3aXRoIEdUSyAzLjk5LjMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25D
b2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0Rlc3Rp
bmF0aW9uQ29jb2EuY3BwCmluZGV4IDFlMDNlMDI0ZGZmZmEwMWU3YzE2OGMxZDJiYjlhZTVhMzQx
MjEwNzMuLjgxMTUwNzg2ZjI4MjQ0Y2UyNDUyYjVlMTFlY2QzYzYxOTg4ZmIyNzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25D
b2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9E
ZXN0aW5hdGlvbkNvY29hLmNwcApAQCAtMTAzLDExICsxMDMsOSBAQCB2b2lkIEF1ZGlvRGVzdGlu
YXRpb25Db2NvYTo6c3RhcnQoRnVuY3Rpb248dm9pZChGdW5jdGlvbjx2b2lkKCk+JiYpPiYmIGRp
c3BhdGNoVAogewogICAgIExPRyhNZWRpYSwgIkF1ZGlvRGVzdGluYXRpb25Db2NvYTo6c3RhcnQi
KTsKICAgICBtX2Rpc3BhdGNoVG9SZW5kZXJUaHJlYWQgPSBXVEZNb3ZlKGRpc3BhdGNoVG9SZW5k
ZXJUaHJlYWQpOwotICAgIGF1dG8gc3VjY2VzcyA9IG1fYXVkaW9PdXRwdXRVbml0QWRhcHRvci5z
dGFydCgpID09IG5vRXJyOwotICAgIGlmIChzdWNjZXNzKQotICAgICAgICBzZXRJc1BsYXlpbmco
dHJ1ZSk7Ci0KLSAgICBjYWxsT25NYWluVGhyZWFkKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpLCBzdWNjZXNzXSgpIG11dGFibGUgeworICAgIG1fYXVkaW9P
dXRwdXRVbml0QWRhcHRvci5zdGFydChbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIGNv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKGJvb2wgc3VjY2Vz
cykgbXV0YWJsZSB7CisgICAgICAgIGlmICh3ZWFrVGhpcyAmJiBzdWNjZXNzKQorICAgICAgICAg
ICAgd2Vha1RoaXMtPnNldElzUGxheWluZyh0cnVlKTsKICAgICAgICAgY29tcGxldGlvbkhhbmRs
ZXIoc3VjY2Vzcyk7CiAgICAgfSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0Rlc3RpbmF0aW9uQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25Db2NvYS5oCmluZGV4IDJkYzI4
ZmEzZjFlZmE3ZWMyMzIwNzhhOWRjZTZlMzIzNTJlZDNkOWQuLmFlM2QzNjQwYjY3YzdmYWVmNDdj
OTJhZTZjOTczODI2NWI5Mjk2M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25Db2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25Db2NvYS5oCkBAIC0zNCw2ICsz
NCw3IEBACiAjaW5jbHVkZSA8QXVkaW9Vbml0L0F1ZGlvVW5pdC5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVW5pcXVlUmVmLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00NCw3ICs0NSw3IEBAIGNsYXNzIFB1
c2hQdWxsRklGTzsKIHVzaW5nIENyZWF0ZUF1ZGlvRGVzdGluYXRpb25Db2NvYU92ZXJyaWRlID0g
UmVmPEF1ZGlvRGVzdGluYXRpb24+KCopKEF1ZGlvSU9DYWxsYmFjayYsIGZsb2F0IHNhbXBsZVJh
dGUpOwogCiAvLyBBbiBBdWRpb0Rlc3RpbmF0aW9uIHVzaW5nIENvcmVBdWRpbydzIGRlZmF1bHQg
b3V0cHV0IEF1ZGlvVW5pdAotY2xhc3MgQXVkaW9EZXN0aW5hdGlvbkNvY29hIDogcHVibGljIEF1
ZGlvRGVzdGluYXRpb24sIHB1YmxpYyBBdWRpb1VuaXRSZW5kZXJlciwgcHVibGljIEF1ZGlvU291
cmNlUHJvdmlkZXIgeworY2xhc3MgQXVkaW9EZXN0aW5hdGlvbkNvY29hIDogcHVibGljIEF1ZGlv
RGVzdGluYXRpb24sIHB1YmxpYyBBdWRpb1VuaXRSZW5kZXJlciwgcHVibGljIEF1ZGlvU291cmNl
UHJvdmlkZXIsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxBdWRpb0Rlc3RpbmF0aW9uQ29jb2E+IHsK
IHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBBdWRpb0Rlc3RpbmF0aW9uQ29jb2EoQXVkaW9J
T0NhbGxiYWNrJiwgdW5zaWduZWQgbnVtYmVyT2ZPdXRwdXRDaGFubmVscywgZmxvYXQgc2FtcGxl
UmF0ZSwgYm9vbCBjb25maWd1cmVBdWRpb091dHB1dFVuaXQgPSB0cnVlKTsKICAgICBXRUJDT1JF
X0VYUE9SVCB2aXJ0dWFsIH5BdWRpb0Rlc3RpbmF0aW9uQ29jb2EoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvT3V0cHV0VW5pdEFkYXB0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9PdXRwdXRVbml0
QWRhcHRvci5jcHAKaW5kZXggMzNkZDkzY2I5ZGZkMjU0NDc3ZmUyYmJmMTMyNzRjZjgyODgyZDFm
ZC4uZWY3MjJjMzVkNDAxMjhiOTVlODM2Y2NkNmFmZGZjMDdiNTg2YTg3NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9PdXRwdXRVbml0QWRhcHRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9PdXRw
dXRVbml0QWRhcHRvci5jcHAKQEAgLTMwLDkgKzMwLDEyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAorc3RhdGljIGNvbnN0ZXhwciBTZWNvbmRzIHJldHJ5U3RhcnREZWxheSA9IDEwMF9tczsK
KwogQXVkaW9PdXRwdXRVbml0QWRhcHRvcjo6QXVkaW9PdXRwdXRVbml0QWRhcHRvcihBdWRpb1Vu
aXRSZW5kZXJlciYgcmVuZGVyZXIpCiAgICAgOiBtX291dHB1dFVuaXQoMCkKICAgICAsIG1fYXVk
aW9Vbml0UmVuZGVyZXIocmVuZGVyZXIpCisgICAgLCBtX3JldHJ5U3RhcnRUaW1lcigqdGhpcywg
JkF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OnJldHJ5U3RhcnRUaW1lckZpcmVkKQogewogfQogCkBA
IC00MCwxNSArNDMsNTEgQEAgQXVkaW9PdXRwdXRVbml0QWRhcHRvcjo6fkF1ZGlvT3V0cHV0VW5p
dEFkYXB0b3IoKQogewogICAgIGlmIChtX291dHB1dFVuaXQpCiAgICAgICAgIEF1ZGlvQ29tcG9u
ZW50SW5zdGFuY2VEaXNwb3NlKG1fb3V0cHV0VW5pdCk7CisgICAgY2FsbFBlbmRpbmdTdGFydENv
bXBsZXRpb25IYW5kbGVycyhmYWxzZSk7Cit9CisKK3ZvaWQgQXVkaW9PdXRwdXRVbml0QWRhcHRv
cjo6c3RhcnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKK3sKKyAgICBpZiAobV9yZXRyeVN0YXJ0VGltZXIuaXNBY3RpdmUoKSkgeworICAgICAgICBt
X3BlbmRpbmdTdGFydENvbXBsZXRpb25IYW5kbGVycy5hcHBlbmQoV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlcikpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byByZXN1bHQgPSBB
dWRpb091dHB1dFVuaXRTdGFydChtX291dHB1dFVuaXQpOworICAgIGlmIChyZXN1bHQgPT0gbm9F
cnIpIHsKKyAgICAgICAgY2FsbE9uTWFpblRocmVhZChbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZN
b3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGNvbXBsZXRp
b25IYW5kbGVyKHRydWUpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIC8vIFdoZW4gc3dpdGNoaW5nIGJhY2sgdG8gU2FmYXJpIG9uIGlPUywgd2UgcmVzdW1lIHBs
YXliYWNrIGlmIG5lY2Vzc2FyeS4gQVZGb3VuZGF0aW9uCisgICAgLy8gY2hlY2tzIGlmIG91ciBw
YXJlbnQgYXBwbGljYXRpb24gaXMgZm9yZWdyb3VuZC1ydW5uaW5nIHRvIGRldGVybWluZSBpZiB3
ZSBhcmUgYWxsb3dlZAorICAgIC8vIHRvIHN0YXJ0IHBsYXliYWNrLiBUaGVyZSBzZWVtcyB0byBi
ZSBhIHJhY2UgYmV0d2VlbiB0aGUgVUlTY2VuZSBmb3JlZ3JvdW5kIG5vdGlmaWNhdGlvbgorICAg
IC8vIGFuZCBSdW5uaW5nQm9hcmQgYWN0dWFsbHkgdGhpbmtpbmcgdGhlIGFwcGxpY2F0aW9uIGlz
IGZvcmVncm91bmQtcnVubmluZywgY2F1c2luZyB0aGUKKyAgICAvLyBjYWxsIHRvIEF1ZGlvT3V0
cHV0VW5pdFN0YXJ0KCkgdG8gc29tZXRpbWVzIGZhaWwgKHJkYXI6Ly9wcm9ibGVtLzcwMjMxNzY5
KS4KKyAgICAvLyBUbyBoYW5kbGUgdGhpcywgd2UgcmV0cnkgb25jZSBhZnRlciBhIDEwMG1zIGRl
bGF5IGJlZm9yZSBnaXZpbmcgdXAuCisgICAgbV9wZW5kaW5nU3RhcnRDb21wbGV0aW9uSGFuZGxl
cnMuYXBwZW5kKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICBpZiAoIW1fcmV0cnlT
dGFydFRpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgIG1fcmV0cnlTdGFydFRpbWVyLnN0YXJ0T25l
U2hvdChyZXRyeVN0YXJ0RGVsYXkpOworfQorCit2b2lkIEF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6
OnJldHJ5U3RhcnRUaW1lckZpcmVkKCkKK3sKKyAgICBjYWxsUGVuZGluZ1N0YXJ0Q29tcGxldGlv
bkhhbmRsZXJzKEF1ZGlvT3V0cHV0VW5pdFN0YXJ0KG1fb3V0cHV0VW5pdCkgPT0gbm9FcnIpOwog
fQogCi1PU1N0YXR1cyBBdWRpb091dHB1dFVuaXRBZGFwdG9yOjpzdGFydCgpCit2b2lkIEF1ZGlv
T3V0cHV0VW5pdEFkYXB0b3I6OmNhbGxQZW5kaW5nU3RhcnRDb21wbGV0aW9uSGFuZGxlcnMoYm9v
bCBzdWNjZXNzKQogewotICAgIHJldHVybiBBdWRpb091dHB1dFVuaXRTdGFydChtX291dHB1dFVu
aXQpOworICAgIGF1dG8gcGVuZGluZ1N0YXJ0Q29tcGxldGlvbkhhbmRsZXJzID0gc3RkOjpleGNo
YW5nZShtX3BlbmRpbmdTdGFydENvbXBsZXRpb25IYW5kbGVycywgeyB9KTsKKyAgICBmb3IgKGF1
dG8mIHBlbmRpbmdTdGFydENvbXBsZXRpb25IYW5kbGVyIDogcGVuZGluZ1N0YXJ0Q29tcGxldGlv
bkhhbmRsZXJzKQorICAgICAgICBwZW5kaW5nU3RhcnRDb21wbGV0aW9uSGFuZGxlcihzdWNjZXNz
KTsKIH0KIAogT1NTdGF0dXMgQXVkaW9PdXRwdXRVbml0QWRhcHRvcjo6c3RvcCgpCiB7CisgICAg
bV9yZXRyeVN0YXJ0VGltZXIuc3RvcCgpOworICAgIGNhbGxQZW5kaW5nU3RhcnRDb21wbGV0aW9u
SGFuZGxlcnMoZmFsc2UpOwogICAgIHJldHVybiBBdWRpb091dHB1dFVuaXRTdG9wKG1fb3V0cHV0
VW5pdCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2Nv
Y29hL0F1ZGlvT3V0cHV0VW5pdEFkYXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL2NvY29hL0F1ZGlvT3V0cHV0VW5pdEFkYXB0b3IuaAppbmRleCBkOGRkYmRkNjZiNmNhNDkz
ZjFjZGFjOGU2MjA1ZGEwYjQ4ZGViMDAzLi40MmM0YWI1MGRmY2YwOGRmY2U1MjgyODRlZDExMjNk
ZTZjYjE0MmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2Nv
YS9BdWRpb091dHB1dFVuaXRBZGFwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vY29jb2EvQXVkaW9PdXRwdXRVbml0QWRhcHRvci5oCkBAIC0yNyw2ICsyNyw3IEBACiAK
ICNpZiBFTkFCTEUoV0VCX0FVRElPKQogCisjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDxB
dWRpb1VuaXQvQXVkaW9Vbml0Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDE0ICs0
NCwxOCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgfkF1ZGlvT3V0cHV0VW5pdEFkYXB0
b3IoKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgY29uZmlndXJlKGZsb2F0IGhhcmR3YXJl
U2FtcGxlUmF0ZSwgdW5zaWduZWQgbnVtYmVyT2ZPdXRwdXRDaGFubmVscyk7Ci0gICAgV0VCQ09S
RV9FWFBPUlQgT1NTdGF0dXMgc3RhcnQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogICAgIFdFQkNPUkVfRVhQT1JUIE9T
U3RhdHVzIHN0b3AoKTsKIAogcHJpdmF0ZToKICAgICBzdGF0aWMgT1NTdGF0dXMgaW5wdXRQcm9j
KHZvaWQqIHVzZXJEYXRhLCBBdWRpb1VuaXRSZW5kZXJBY3Rpb25GbGFncyosIGNvbnN0IEF1ZGlv
VGltZVN0YW1wKiwgVUludDMyIGJ1c051bWJlciwgVUludDMyIG51bWJlck9mRnJhbWVzLCBBdWRp
b0J1ZmZlckxpc3QqIGlvRGF0YSk7CisgICAgdm9pZCByZXRyeVN0YXJ0VGltZXJGaXJlZCgpOwor
ICAgIHZvaWQgY2FsbFBlbmRpbmdTdGFydENvbXBsZXRpb25IYW5kbGVycyhib29sIHN1Y2Nlc3Mp
OwogCiAgICAgQXVkaW9Vbml0IG1fb3V0cHV0VW5pdDsKICAgICBBdWRpb1VuaXRSZW5kZXJlciYg
bV9hdWRpb1VuaXRSZW5kZXJlcjsKKyAgICBUaW1lciBtX3JldHJ5U3RhcnRUaW1lcjsKKyAgICBW
ZWN0b3I8Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4+IG1fcGVuZGluZ1N0YXJ0Q29tcGxl
dGlvbkhhbmRsZXJzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5h
Z2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb0Rlc3Rp
bmF0aW9uTWFuYWdlci5jcHAKaW5kZXggOTU4NWZkZmE3OWQwMjhmNTQ4ZWFlMDNiMjQ2NTg0MDlk
OTQ1Mzg1MS4uNTk4NTRhODEyNzQyZjkxMTUxZDA0MGU4MWE5ODc3ZDBmYTI5N2Y0NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRp
b25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
QXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuY3BwCkBAIC04NiwxMyArODYsMTYgQEAgcHVibGljOgog
ICAgIH0KICNlbmRpZgogCi0gICAgdm9pZCBzdGFydCgpCisgICAgdm9pZCBzdGFydChDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKGJvb2wgaXNQbGF5aW5nKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKICAg
ICB7CiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgICAgIGlmIChtX2F1ZGlvT3V0cHV0VW5pdEFk
YXB0b3Iuc3RhcnQoKSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBtX2lzUGxheWlu
ZyA9IHRydWU7CisgICAgICAgIG1fYXVkaW9PdXRwdXRVbml0QWRhcHRvci5zdGFydChbdGhpcywg
cHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpXShib29sIHN1Y2Nlc3MpIG11dGFibGUgeworICAgICAgICAg
ICAgaWYgKHN1Y2Nlc3MpCisgICAgICAgICAgICAgICAgbV9pc1BsYXlpbmcgPSB0cnVlOworICAg
ICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobV9pc1BsYXlpbmcpOworICAgICAgICB9KTsKKyNl
bHNlCisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG1faXNQbGF5aW5nKTsKICNlbmRpZgogICAg
IH0KIApAQCAtMjAzLDEyICsyMDYsOSBAQCB2b2lkIFJlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5h
Z2VyOjpkZWxldGVBdWRpb0Rlc3RpbmF0aW9uKFJlbW90ZUF1ZGlvRGVzdGluYXRpbwogCiB2b2lk
IFJlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyOjpzdGFydEF1ZGlvRGVzdGluYXRpb24oUmVt
b3RlQXVkaW9EZXN0aW5hdGlvbklkZW50aWZpZXIgaWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBib29sIGlzUGxheWlu
ZyA9IGZhbHNlOwotICAgIGlmIChhdXRvKiBpdGVtID0gbV9hdWRpb0Rlc3RpbmF0aW9ucy5nZXQo
aWRlbnRpZmllcikpIHsKLSAgICAgICAgaXRlbS0+c3RhcnQoKTsKLSAgICAgICAgaXNQbGF5aW5n
ID0gaXRlbS0+aXNQbGF5aW5nKCk7Ci0gICAgfQotICAgIGNvbXBsZXRpb25IYW5kbGVyKGlzUGxh
eWluZyk7CisgICAgaWYgKGF1dG8qIGl0ZW0gPSBtX2F1ZGlvRGVzdGluYXRpb25zLmdldChpZGVu
dGlmaWVyKSkKKyAgICAgICAgcmV0dXJuIGl0ZW0tPnN0YXJ0KFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpKTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiB9CiAKIHZvaWQgUmVtb3Rl
QXVkaW9EZXN0aW5hdGlvbk1hbmFnZXI6OnN0b3BBdWRpb0Rlc3RpbmF0aW9uKFJlbW90ZUF1ZGlv
RGVzdGluYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Ym9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412577</attachid>
            <date>2020-10-28 15:24:47 -0700</date>
            <delta_ts>2020-10-28 15:53:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217606-20201028152447.patch</filename>
            <type>text/plain</type>
            <size>12532</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWQ4OWVlMzRlY2RiMzJl
OTAwOGNjMmY4OTEwOTFhYjhlMWZjYjE3Mi4uMzljMzlmYmIzMmFkNTU2NDM4NzViZDMzZDJmNjQz
YTVkOWUxMjI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTEwLTI4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1ZGlvIGJyb2tlbiBv
biBpT1MgMTQgYWZ0ZXIgc3dpdGNoaW5nIGFwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3NjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MDIz
MTc2OT4KKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgV2hl
biBzd2l0Y2hpbmcgYmFjayB0byBTYWZhcmkgb24gaU9TLCB3ZSByZXN1bWUgcGxheWJhY2sgaWYg
bmVjZXNzYXJ5LiBBVkZvdW5kYXRpb24KKyAgICAgICAgY2hlY2tzIGlmIG91ciBwYXJlbnQgYXBw
bGljYXRpb24gaXMgZm9yZWdyb3VuZC1ydW5uaW5nIHRvIGRldGVybWluZSBpZiB3ZSBhcmUgYWxs
b3dlZAorICAgICAgICB0byBzdGFydCBwbGF5YmFjay4gVGhlcmUgc2VlbXMgdG8gYmUgYSByYWNl
IGJldHdlZW4gdGhlIFVJU2NlbmUgZm9yZWdyb3VuZCBub3RpZmljYXRpb24KKyAgICAgICAgYW5k
IFJ1bm5pbmdCb2FyZCBhY3R1YWxseSB0aGlua2luZyB0aGUgYXBwbGljYXRpb24gaXMgZm9yZWdy
b3VuZC1ydW5uaW5nLCBjYXVzaW5nIHRoZQorICAgICAgICBjYWxsIHRvIEF1ZGlvT3V0cHV0VW5p
dFN0YXJ0KCkgdG8gc29tZXRpbWVzIGZhaWwgKHJkYXI6Ly9wcm9ibGVtLzcwMjMxNzY5KS4KKyAg
ICAgICAgCisgICAgICAgIFRvIGhhbmRsZSB0aGlzLCB3ZSBub3cgcmV0cnkgb25jZSBhZnRlciBh
IDEwMG1zIGRlbGF5IGJlZm9yZSBnaXZpbmcgdXAuIEkgaGF2ZSB2ZXJpZmllZAorICAgICAgICB0
aGF0IHRoZSB0ZXN0IGNhc2UgZm9yIDxyZGFyOi8vcHJvYmxlbS83MDIzMTc2OT4gcmVsaWFibHkg
cmVzdGFydHMgcGxheWJhY2sgd2hlbiBob21pbmcKKyAgICAgICAgYmFjayBpbnRvIE1vYmlsZVNh
ZmFyaSB3aXRoIHRoaXMgY2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2Ev
QXVkaW9EZXN0aW5hdGlvbkNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRGVzdGlu
YXRpb25Db2NvYTo6c3RhcnQpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlv
T3V0cHV0VW5pdEFkYXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9PdXRwdXRVbml0
QWRhcHRvcjo6QXVkaW9PdXRwdXRVbml0QWRhcHRvcik6CisgICAgICAgIChXZWJDb3JlOjpBdWRp
b091dHB1dFVuaXRBZGFwdG9yOjp+QXVkaW9PdXRwdXRVbml0QWRhcHRvcik6CisgICAgICAgIChX
ZWJDb3JlOjpBdWRpb091dHB1dFVuaXRBZGFwdG9yOjpzdGFydCk6CisgICAgICAgIChXZWJDb3Jl
OjpBdWRpb091dHB1dFVuaXRBZGFwdG9yOjpyZXRyeVN0YXJ0VGltZXJGaXJlZCk6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb091dHB1dFVuaXRBZGFwdG9yOjpjYWxsUGVuZGluZ1N0YXJ0Q29tcGxl
dGlvbkhhbmRsZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6
OnN0b3ApOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvT3V0cHV0VW5pdEFk
YXB0b3IuaDoKKwogMjAyMC0xMC0yOCAgQ29ucmFkIFNodWx0eiAgPGNvbnJhZF9zaHVsdHpAYXBw
bGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBkaWFnbm9zdGljIGxvZ2dpbmcgZm9yIHBsdWctaW5z
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBkYTE0NzYwMWI0MDJiMWM5ZWRiODQ1MzdkYjE4
ZmY1MGMyYjNiYWE5Li45YWIyOWFmNzc5MTNhZjBjNmNiMWZlZDk3ZmViYTI1ZjczMjE3Y2JhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0xMC0yOCAgRmVk
ZXJpY28gQnVjY2hpICA8ZmJ1Y2NoaUBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogTmV0d29yazogYmFja2dyb3VuZCBjb2xvciBvZiByb3dzIGZyb20gcHJldmlvdXMgc2Vzc2lv
biBpcyB3cm9uZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjE4MDU4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MDU1MDQ1OT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdz
L05ldHdvcmtUYWJsZUNvbnRlbnRWaWV3LmNzczoKKyAgICAgICAgKC5uZXR3b3JrLXRhYmxlID4g
LnRhYmxlIGxpOm5vdCguZmlsbGVyLCAuc2VsZWN0ZWQpIC5jZWxsOm5vdCgubmFtZSwgLmN1cnJl
bnQtc2Vzc2lvbiksKToKKyAgICAgICAgKC5uZXR3b3JrLXRhYmxlID4gLnRhYmxlIGxpOm5vdCgu
ZmlsbGVyLCAuc2VsZWN0ZWQpIC5jZWxsOm5vdCguY3VycmVudC1zZXNzaW9uKSk6IERlbGV0ZWQu
CisKIDIwMjAtMTAtMjcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IHRydW5jYXRlIGRhdGEgVVJMcyBpbiB0aGUgUmVzb3VyY2VzIHNp
ZGViYXIgYW5kIEhlYWRlcnMgcGFuZWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYWQ2N2E2N2ExNjM5ZTc4MjllZDAw
MzVlN2NmN2EzYWI2MWE5M2JjMi4uZDVhMTc4OWNiMDVjZmM5ZDJlMTliMjc2YjU4ODg5MzNmZjU2
ZGFlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0xMC0yOCAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBBdWRpbyBicm9rZW4gb24gaU9TIDE0
IGFmdGVyIHN3aXRjaGluZyBhcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNzYwNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzAyMzE3Njk+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgICogR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZUF1ZGlvRGVzdGluYXRpb246OnN0YXJ0KToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXI6OnN0YXJ0QXVkaW9EZXN0aW5hdGlvbik6CisKIDIw
MjAtMTAtMjggIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CiAKICAgICAgICAg
W0dQVSBQcm9jZXNzXSBFYWdlcmx5IGZsdXNoIHRoZSBQdXRJbWFnZURhdGEgaXRlbSB0byB0aGUg
R1BVIFByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2Nv
Y29hL0F1ZGlvRGVzdGluYXRpb25Db2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9jb2NvYS9BdWRpb0Rlc3RpbmF0aW9uQ29jb2EuY3BwCmluZGV4IDFlMDNlMDI0ZGZmZmEw
MWU3YzE2OGMxZDJiYjlhZTVhMzQxMjEwNzMuLjgxMTUwNzg2ZjI4MjQ0Y2UyNDUyYjVlMTFlY2Qz
YzYxOTg4ZmIyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2Nv
Y29hL0F1ZGlvRGVzdGluYXRpb25Db2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vY29jb2EvQXVkaW9EZXN0aW5hdGlvbkNvY29hLmNwcApAQCAtMTAzLDExICsxMDMs
OSBAQCB2b2lkIEF1ZGlvRGVzdGluYXRpb25Db2NvYTo6c3RhcnQoRnVuY3Rpb248dm9pZChGdW5j
dGlvbjx2b2lkKCk+JiYpPiYmIGRpc3BhdGNoVAogewogICAgIExPRyhNZWRpYSwgIkF1ZGlvRGVz
dGluYXRpb25Db2NvYTo6c3RhcnQiKTsKICAgICBtX2Rpc3BhdGNoVG9SZW5kZXJUaHJlYWQgPSBX
VEZNb3ZlKGRpc3BhdGNoVG9SZW5kZXJUaHJlYWQpOwotICAgIGF1dG8gc3VjY2VzcyA9IG1fYXVk
aW9PdXRwdXRVbml0QWRhcHRvci5zdGFydCgpID09IG5vRXJyOwotICAgIGlmIChzdWNjZXNzKQot
ICAgICAgICBzZXRJc1BsYXlpbmcodHJ1ZSk7Ci0KLSAgICBjYWxsT25NYWluVGhyZWFkKFtjb21w
bGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBzdWNjZXNzXSgpIG11
dGFibGUgeworICAgIG1fYXVkaW9PdXRwdXRVbml0QWRhcHRvci5zdGFydChbd2Vha1RoaXMgPSBt
YWtlV2Vha1B0cigqdGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlcildKGJvb2wgc3VjY2VzcykgbXV0YWJsZSB7CisgICAgICAgIGlmICh3ZWFrVGhpcyAm
JiBzdWNjZXNzKQorICAgICAgICAgICAgd2Vha1RoaXMtPnNldElzUGxheWluZyh0cnVlKTsKICAg
ICAgICAgY29tcGxldGlvbkhhbmRsZXIoc3VjY2Vzcyk7CiAgICAgfSk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0Rlc3RpbmF0aW9uQ29j
b2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRp
b25Db2NvYS5oCmluZGV4IDJkYzI4ZmEzZjFlZmE3ZWMyMzIwNzhhOWRjZTZlMzIzNTJlZDNkOWQu
LmFlM2QzNjQwYjY3YzdmYWVmNDdjOTJhZTZjOTczODI2NWI5Mjk2M2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25Db2NvYS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRp
b25Db2NvYS5oCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8QXVkaW9Vbml0L0F1ZGlvVW5p
dC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVW5pcXVlUmVmLmg+
CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00
NCw3ICs0NSw3IEBAIGNsYXNzIFB1c2hQdWxsRklGTzsKIHVzaW5nIENyZWF0ZUF1ZGlvRGVzdGlu
YXRpb25Db2NvYU92ZXJyaWRlID0gUmVmPEF1ZGlvRGVzdGluYXRpb24+KCopKEF1ZGlvSU9DYWxs
YmFjayYsIGZsb2F0IHNhbXBsZVJhdGUpOwogCiAvLyBBbiBBdWRpb0Rlc3RpbmF0aW9uIHVzaW5n
IENvcmVBdWRpbydzIGRlZmF1bHQgb3V0cHV0IEF1ZGlvVW5pdAotY2xhc3MgQXVkaW9EZXN0aW5h
dGlvbkNvY29hIDogcHVibGljIEF1ZGlvRGVzdGluYXRpb24sIHB1YmxpYyBBdWRpb1VuaXRSZW5k
ZXJlciwgcHVibGljIEF1ZGlvU291cmNlUHJvdmlkZXIgeworY2xhc3MgQXVkaW9EZXN0aW5hdGlv
bkNvY29hIDogcHVibGljIEF1ZGlvRGVzdGluYXRpb24sIHB1YmxpYyBBdWRpb1VuaXRSZW5kZXJl
ciwgcHVibGljIEF1ZGlvU291cmNlUHJvdmlkZXIsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxBdWRp
b0Rlc3RpbmF0aW9uQ29jb2E+IHsKIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBBdWRpb0Rl
c3RpbmF0aW9uQ29jb2EoQXVkaW9JT0NhbGxiYWNrJiwgdW5zaWduZWQgbnVtYmVyT2ZPdXRwdXRD
aGFubmVscywgZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBjb25maWd1cmVBdWRpb091dHB1dFVuaXQg
PSB0cnVlKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIH5BdWRpb0Rlc3RpbmF0aW9uQ29j
b2EoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1
ZGlvT3V0cHV0VW5pdEFkYXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
Y29jb2EvQXVkaW9PdXRwdXRVbml0QWRhcHRvci5jcHAKaW5kZXggMzNkZDkzY2I5ZGZkMjU0NDc3
ZmUyYmJmMTMyNzRjZjgyODgyZDFmZC4uZWY3MjJjMzVkNDAxMjhiOTVlODM2Y2NkNmFmZGZjMDdi
NTg2YTg3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2Ev
QXVkaW9PdXRwdXRVbml0QWRhcHRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vY29jb2EvQXVkaW9PdXRwdXRVbml0QWRhcHRvci5jcHAKQEAgLTMwLDkgKzMwLDEyIEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIGNvbnN0ZXhwciBTZWNvbmRzIHJldHJ5
U3RhcnREZWxheSA9IDEwMF9tczsKKwogQXVkaW9PdXRwdXRVbml0QWRhcHRvcjo6QXVkaW9PdXRw
dXRVbml0QWRhcHRvcihBdWRpb1VuaXRSZW5kZXJlciYgcmVuZGVyZXIpCiAgICAgOiBtX291dHB1
dFVuaXQoMCkKICAgICAsIG1fYXVkaW9Vbml0UmVuZGVyZXIocmVuZGVyZXIpCisgICAgLCBtX3Jl
dHJ5U3RhcnRUaW1lcigqdGhpcywgJkF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OnJldHJ5U3RhcnRU
aW1lckZpcmVkKQogewogfQogCkBAIC00MCwxNSArNDMsNTEgQEAgQXVkaW9PdXRwdXRVbml0QWRh
cHRvcjo6fkF1ZGlvT3V0cHV0VW5pdEFkYXB0b3IoKQogewogICAgIGlmIChtX291dHB1dFVuaXQp
CiAgICAgICAgIEF1ZGlvQ29tcG9uZW50SW5zdGFuY2VEaXNwb3NlKG1fb3V0cHV0VW5pdCk7Cisg
ICAgY2FsbFBlbmRpbmdTdGFydENvbXBsZXRpb25IYW5kbGVycyhmYWxzZSk7Cit9CisKK3ZvaWQg
QXVkaW9PdXRwdXRVbml0QWRhcHRvcjo6c3RhcnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29s
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBpZiAobV9yZXRyeVN0YXJ0VGltZXIuaXNB
Y3RpdmUoKSkgeworICAgICAgICBtX3BlbmRpbmdTdGFydENvbXBsZXRpb25IYW5kbGVycy5hcHBl
bmQoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgYXV0byByZXN1bHQgPSBBdWRpb091dHB1dFVuaXRTdGFydChtX291dHB1dFVuaXQpOwor
ICAgIGlmIChyZXN1bHQgPT0gbm9FcnIpIHsKKyAgICAgICAgY2FsbE9uTWFpblRocmVhZChbY29t
cGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oKSBtdXRhYmxlIHsK
KyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHRydWUpOworICAgICAgICB9KTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIFdoZW4gc3dpdGNoaW5nIGJhY2sgdG8gU2FmYXJp
IG9uIGlPUywgd2UgcmVzdW1lIHBsYXliYWNrIGlmIG5lY2Vzc2FyeS4gQVZGb3VuZGF0aW9uCisg
ICAgLy8gY2hlY2tzIGlmIG91ciBwYXJlbnQgYXBwbGljYXRpb24gaXMgZm9yZWdyb3VuZC1ydW5u
aW5nIHRvIGRldGVybWluZSBpZiB3ZSBhcmUgYWxsb3dlZAorICAgIC8vIHRvIHN0YXJ0IHBsYXli
YWNrLiBUaGVyZSBzZWVtcyB0byBiZSBhIHJhY2UgYmV0d2VlbiB0aGUgVUlTY2VuZSBmb3JlZ3Jv
dW5kIG5vdGlmaWNhdGlvbgorICAgIC8vIGFuZCBSdW5uaW5nQm9hcmQgYWN0dWFsbHkgdGhpbmtp
bmcgdGhlIGFwcGxpY2F0aW9uIGlzIGZvcmVncm91bmQtcnVubmluZywgY2F1c2luZyB0aGUKKyAg
ICAvLyBjYWxsIHRvIEF1ZGlvT3V0cHV0VW5pdFN0YXJ0KCkgdG8gc29tZXRpbWVzIGZhaWwgKHJk
YXI6Ly9wcm9ibGVtLzcwMjMxNzY5KS4KKyAgICAvLyBUbyBoYW5kbGUgdGhpcywgd2UgcmV0cnkg
b25jZSBhZnRlciBhIDEwMG1zIGRlbGF5IGJlZm9yZSBnaXZpbmcgdXAuCisgICAgbV9wZW5kaW5n
U3RhcnRDb21wbGV0aW9uSGFuZGxlcnMuYXBwZW5kKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
KTsKKyAgICBpZiAoIW1fcmV0cnlTdGFydFRpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgIG1fcmV0
cnlTdGFydFRpbWVyLnN0YXJ0T25lU2hvdChyZXRyeVN0YXJ0RGVsYXkpOworfQorCit2b2lkIEF1
ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OnJldHJ5U3RhcnRUaW1lckZpcmVkKCkKK3sKKyAgICBjYWxs
UGVuZGluZ1N0YXJ0Q29tcGxldGlvbkhhbmRsZXJzKEF1ZGlvT3V0cHV0VW5pdFN0YXJ0KG1fb3V0
cHV0VW5pdCkgPT0gbm9FcnIpOwogfQogCi1PU1N0YXR1cyBBdWRpb091dHB1dFVuaXRBZGFwdG9y
OjpzdGFydCgpCit2b2lkIEF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OmNhbGxQZW5kaW5nU3RhcnRD
b21wbGV0aW9uSGFuZGxlcnMoYm9vbCBzdWNjZXNzKQogewotICAgIHJldHVybiBBdWRpb091dHB1
dFVuaXRTdGFydChtX291dHB1dFVuaXQpOworICAgIGF1dG8gcGVuZGluZ1N0YXJ0Q29tcGxldGlv
bkhhbmRsZXJzID0gc3RkOjpleGNoYW5nZShtX3BlbmRpbmdTdGFydENvbXBsZXRpb25IYW5kbGVy
cywgeyB9KTsKKyAgICBmb3IgKGF1dG8mIHBlbmRpbmdTdGFydENvbXBsZXRpb25IYW5kbGVyIDog
cGVuZGluZ1N0YXJ0Q29tcGxldGlvbkhhbmRsZXJzKQorICAgICAgICBwZW5kaW5nU3RhcnRDb21w
bGV0aW9uSGFuZGxlcihzdWNjZXNzKTsKIH0KIAogT1NTdGF0dXMgQXVkaW9PdXRwdXRVbml0QWRh
cHRvcjo6c3RvcCgpCiB7CisgICAgbV9yZXRyeVN0YXJ0VGltZXIuc3RvcCgpOworICAgIGNhbGxQ
ZW5kaW5nU3RhcnRDb21wbGV0aW9uSGFuZGxlcnMoZmFsc2UpOwogICAgIHJldHVybiBBdWRpb091
dHB1dFVuaXRTdG9wKG1fb3V0cHV0VW5pdCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvT3V0cHV0VW5pdEFkYXB0b3IuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvT3V0cHV0VW5pdEFkYXB0b3IuaApp
bmRleCBkOGRkYmRkNjZiNmNhNDkzZjFjZGFjOGU2MjA1ZGEwYjQ4ZGViMDAzLi40MmM0YWI1MGRm
Y2YwOGRmY2U1MjgyODRlZDExMjNkZTZjYjE0MmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb091dHB1dFVuaXRBZGFwdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9PdXRwdXRVbml0QWRhcHRvci5o
CkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoV0VCX0FVRElPKQogCisjaW5jbHVkZSAi
VGltZXIuaCIKICNpbmNsdWRlIDxBdWRpb1VuaXQvQXVkaW9Vbml0Lmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTQzLDE0ICs0NCwxOCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQg
fkF1ZGlvT3V0cHV0VW5pdEFkYXB0b3IoKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgY29u
ZmlndXJlKGZsb2F0IGhhcmR3YXJlU2FtcGxlUmF0ZSwgdW5zaWduZWQgbnVtYmVyT2ZPdXRwdXRD
aGFubmVscyk7Ci0gICAgV0VCQ09SRV9FWFBPUlQgT1NTdGF0dXMgc3RhcnQoKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHN0YXJ0KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIE9TU3RhdHVzIHN0b3AoKTsKIAogcHJpdmF0ZToKICAgICBzdGF0
aWMgT1NTdGF0dXMgaW5wdXRQcm9jKHZvaWQqIHVzZXJEYXRhLCBBdWRpb1VuaXRSZW5kZXJBY3Rp
b25GbGFncyosIGNvbnN0IEF1ZGlvVGltZVN0YW1wKiwgVUludDMyIGJ1c051bWJlciwgVUludDMy
IG51bWJlck9mRnJhbWVzLCBBdWRpb0J1ZmZlckxpc3QqIGlvRGF0YSk7CisgICAgdm9pZCByZXRy
eVN0YXJ0VGltZXJGaXJlZCgpOworICAgIHZvaWQgY2FsbFBlbmRpbmdTdGFydENvbXBsZXRpb25I
YW5kbGVycyhib29sIHN1Y2Nlc3MpOwogCiAgICAgQXVkaW9Vbml0IG1fb3V0cHV0VW5pdDsKICAg
ICBBdWRpb1VuaXRSZW5kZXJlciYgbV9hdWRpb1VuaXRSZW5kZXJlcjsKKyAgICBUaW1lciBtX3Jl
dHJ5U3RhcnRUaW1lcjsKKyAgICBWZWN0b3I8Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4+
IG1fcGVuZGluZ1N0YXJ0Q29tcGxldGlvbkhhbmRsZXJzOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvTmV0d29ya1RhYmxlQ29udGVudFZpZXcuY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RhYmxlQ29udGVudFZpZXcuY3NzCmluZGV4IDNi
NTA2NWZlYWY4MWFjNGE2ZjVlNDdhZDc0NDBhNmZhYjQzNmVjZGIuLmVmZjBiMzk4ZGFkMWI2MjFi
YjI0OTc3YThiMzZjODY3NTU1Y2M5NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUYWJsZUNvbnRlbnRWaWV3LmNzcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFibGVDb250
ZW50Vmlldy5jc3MKQEAgLTUwLDcgKzUwLDggQEAKICAgICAtd2Via2l0LW1hcmdpbi1lbmQ6IDRw
eDsKIH0KIAotLm5ldHdvcmstdGFibGUgPiAudGFibGUgbGk6bm90KC5maWxsZXIsIC5zZWxlY3Rl
ZCkgLmNlbGw6bm90KC5jdXJyZW50LXNlc3Npb24pIHsKKy5uZXR3b3JrLXRhYmxlID4gLnRhYmxl
IGxpOm5vdCguZmlsbGVyLCAuc2VsZWN0ZWQpIC5jZWxsOm5vdCgubmFtZSwgLmN1cnJlbnQtc2Vz
c2lvbiksCisubmV0d29yay10YWJsZSA+IC50YWJsZSBsaTpub3QoLmZpbGxlciwgLnNlbGVjdGVk
KSAuY2VsbC5uYW1lOm5vdCguY3VycmVudC1zZXNzaW9uKSA+ICogewogICAgIG9wYWNpdHk6IDAu
NTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlci5jcHAKaW5kZXggOTU4NWZkZmE3OWQw
MjhmNTQ4ZWFlMDNiMjQ2NTg0MDlkOTQ1Mzg1MS4uNTk4NTRhODEyNzQyZjkxMTUxZDA0MGU4MWE5
ODc3ZDBmYTI5N2Y0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuY3BwCkBAIC04Niwx
MyArODYsMTYgQEAgcHVibGljOgogICAgIH0KICNlbmRpZgogCi0gICAgdm9pZCBzdGFydCgpCisg
ICAgdm9pZCBzdGFydChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wgaXNQbGF5aW5nKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKICAgICB7CiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgICAgIGlm
IChtX2F1ZGlvT3V0cHV0VW5pdEFkYXB0b3Iuc3RhcnQoKSkKLSAgICAgICAgICAgIHJldHVybjsK
LQotICAgICAgICBtX2lzUGxheWluZyA9IHRydWU7CisgICAgICAgIG1fYXVkaW9PdXRwdXRVbml0
QWRhcHRvci5zdGFydChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBjb21w
bGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShib29sIHN1Y2Nlc3Mp
IG11dGFibGUgeworICAgICAgICAgICAgaWYgKHN1Y2Nlc3MpCisgICAgICAgICAgICAgICAgbV9p
c1BsYXlpbmcgPSB0cnVlOworICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobV9pc1BsYXlp
bmcpOworICAgICAgICB9KTsKKyNlbHNlCisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG1faXNQ
bGF5aW5nKTsKICNlbmRpZgogICAgIH0KIApAQCAtMjAzLDEyICsyMDYsOSBAQCB2b2lkIFJlbW90
ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyOjpkZWxldGVBdWRpb0Rlc3RpbmF0aW9uKFJlbW90ZUF1
ZGlvRGVzdGluYXRpbwogCiB2b2lkIFJlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyOjpzdGFy
dEF1ZGlvRGVzdGluYXRpb24oUmVtb3RlQXVkaW9EZXN0aW5hdGlvbklkZW50aWZpZXIgaWRlbnRp
ZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
IHsKLSAgICBib29sIGlzUGxheWluZyA9IGZhbHNlOwotICAgIGlmIChhdXRvKiBpdGVtID0gbV9h
dWRpb0Rlc3RpbmF0aW9ucy5nZXQoaWRlbnRpZmllcikpIHsKLSAgICAgICAgaXRlbS0+c3RhcnQo
KTsKLSAgICAgICAgaXNQbGF5aW5nID0gaXRlbS0+aXNQbGF5aW5nKCk7Ci0gICAgfQotICAgIGNv
bXBsZXRpb25IYW5kbGVyKGlzUGxheWluZyk7CisgICAgaWYgKGF1dG8qIGl0ZW0gPSBtX2F1ZGlv
RGVzdGluYXRpb25zLmdldChpZGVudGlmaWVyKSkKKyAgICAgICAgcmV0dXJuIGl0ZW0tPnN0YXJ0
KFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxz
ZSk7CiB9CiAKIHZvaWQgUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXI6OnN0b3BBdWRpb0Rl
c3RpbmF0aW9uKFJlbW90ZUF1ZGlvRGVzdGluYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412583</attachid>
            <date>2020-10-28 16:06:13 -0700</date>
            <delta_ts>2020-10-28 17:47:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217606-20201028160612.patch</filename>
            <type>text/plain</type>
            <size>10856</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWQ4OWVlMzRlY2RiMzJl
OTAwOGNjMmY4OTEwOTFhYjhlMWZjYjE3Mi4uMzljMzlmYmIzMmFkNTU2NDM4NzViZDMzZDJmNjQz
YTVkOWUxMjI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTEwLTI4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1ZGlvIGJyb2tlbiBv
biBpT1MgMTQgYWZ0ZXIgc3dpdGNoaW5nIGFwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3NjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MDIz
MTc2OT4KKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgV2hl
biBzd2l0Y2hpbmcgYmFjayB0byBTYWZhcmkgb24gaU9TLCB3ZSByZXN1bWUgcGxheWJhY2sgaWYg
bmVjZXNzYXJ5LiBBVkZvdW5kYXRpb24KKyAgICAgICAgY2hlY2tzIGlmIG91ciBwYXJlbnQgYXBw
bGljYXRpb24gaXMgZm9yZWdyb3VuZC1ydW5uaW5nIHRvIGRldGVybWluZSBpZiB3ZSBhcmUgYWxs
b3dlZAorICAgICAgICB0byBzdGFydCBwbGF5YmFjay4gVGhlcmUgc2VlbXMgdG8gYmUgYSByYWNl
IGJldHdlZW4gdGhlIFVJU2NlbmUgZm9yZWdyb3VuZCBub3RpZmljYXRpb24KKyAgICAgICAgYW5k
IFJ1bm5pbmdCb2FyZCBhY3R1YWxseSB0aGlua2luZyB0aGUgYXBwbGljYXRpb24gaXMgZm9yZWdy
b3VuZC1ydW5uaW5nLCBjYXVzaW5nIHRoZQorICAgICAgICBjYWxsIHRvIEF1ZGlvT3V0cHV0VW5p
dFN0YXJ0KCkgdG8gc29tZXRpbWVzIGZhaWwgKHJkYXI6Ly9wcm9ibGVtLzcwMjMxNzY5KS4KKyAg
ICAgICAgCisgICAgICAgIFRvIGhhbmRsZSB0aGlzLCB3ZSBub3cgcmV0cnkgb25jZSBhZnRlciBh
IDEwMG1zIGRlbGF5IGJlZm9yZSBnaXZpbmcgdXAuIEkgaGF2ZSB2ZXJpZmllZAorICAgICAgICB0
aGF0IHRoZSB0ZXN0IGNhc2UgZm9yIDxyZGFyOi8vcHJvYmxlbS83MDIzMTc2OT4gcmVsaWFibHkg
cmVzdGFydHMgcGxheWJhY2sgd2hlbiBob21pbmcKKyAgICAgICAgYmFjayBpbnRvIE1vYmlsZVNh
ZmFyaSB3aXRoIHRoaXMgY2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2Ev
QXVkaW9EZXN0aW5hdGlvbkNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRGVzdGlu
YXRpb25Db2NvYTo6c3RhcnQpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlv
T3V0cHV0VW5pdEFkYXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9PdXRwdXRVbml0
QWRhcHRvcjo6QXVkaW9PdXRwdXRVbml0QWRhcHRvcik6CisgICAgICAgIChXZWJDb3JlOjpBdWRp
b091dHB1dFVuaXRBZGFwdG9yOjp+QXVkaW9PdXRwdXRVbml0QWRhcHRvcik6CisgICAgICAgIChX
ZWJDb3JlOjpBdWRpb091dHB1dFVuaXRBZGFwdG9yOjpzdGFydCk6CisgICAgICAgIChXZWJDb3Jl
OjpBdWRpb091dHB1dFVuaXRBZGFwdG9yOjpyZXRyeVN0YXJ0VGltZXJGaXJlZCk6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb091dHB1dFVuaXRBZGFwdG9yOjpjYWxsUGVuZGluZ1N0YXJ0Q29tcGxl
dGlvbkhhbmRsZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6
OnN0b3ApOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvT3V0cHV0VW5pdEFk
YXB0b3IuaDoKKwogMjAyMC0xMC0yOCAgQ29ucmFkIFNodWx0eiAgPGNvbnJhZF9zaHVsdHpAYXBw
bGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBkaWFnbm9zdGljIGxvZ2dpbmcgZm9yIHBsdWctaW5z
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IGFkNjdhNjdhMTYzOWU3ODI5ZWQwMDM1ZTdjZjdhM2FiNjFhOTNiYzIuLmQ1
YTE3ODljYjA1Y2ZjOWQyZTE5YjI3NmI1ODg4OTMzZmY1NmRhZTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMjAtMTAtMjggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgQXVkaW8gYnJva2VuIG9uIGlPUyAxNCBhZnRlciBzd2l0Y2hpbmcgYXBwCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTc2MDYKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcwMjMxNzY5PgorCisgICAgICAgIFJldmlld2VkIGJ5IEVy
aWMgQ2FybHNvbi4KKworICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9EZXN0
aW5hdGlvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVBdWRpb0Rlc3RpbmF0
aW9uOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5h
Z2VyOjpzdGFydEF1ZGlvRGVzdGluYXRpb24pOgorCiAyMDIwLTEwLTI4ICBTYWlkIEFib3UtSGFs
bGF3YSAgPHNhaWRAYXBwbGUuY29tPgogCiAgICAgICAgIFtHUFUgUHJvY2Vzc10gRWFnZXJseSBm
bHVzaCB0aGUgUHV0SW1hZ2VEYXRhIGl0ZW0gdG8gdGhlIEdQVSBQcm9jZXNzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0Rlc3RpbmF0aW9uQ29j
b2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9EZXN0aW5h
dGlvbkNvY29hLmNwcAppbmRleCAxZTAzZTAyNGRmZmZhMDFlN2MxNjhjMWQyYmI5YWU1YTM0MTIx
MDczLi44MTE1MDc4NmYyODI0NGNlMjQ1MmI1ZTExZWNkM2M2MTk4OGZiMjcxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0Rlc3RpbmF0aW9uQ29j
b2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVz
dGluYXRpb25Db2NvYS5jcHAKQEAgLTEwMywxMSArMTAzLDkgQEAgdm9pZCBBdWRpb0Rlc3RpbmF0
aW9uQ29jb2E6OnN0YXJ0KEZ1bmN0aW9uPHZvaWQoRnVuY3Rpb248dm9pZCgpPiYmKT4mJiBkaXNw
YXRjaFQKIHsKICAgICBMT0coTWVkaWEsICJBdWRpb0Rlc3RpbmF0aW9uQ29jb2E6OnN0YXJ0Iik7
CiAgICAgbV9kaXNwYXRjaFRvUmVuZGVyVGhyZWFkID0gV1RGTW92ZShkaXNwYXRjaFRvUmVuZGVy
VGhyZWFkKTsKLSAgICBhdXRvIHN1Y2Nlc3MgPSBtX2F1ZGlvT3V0cHV0VW5pdEFkYXB0b3Iuc3Rh
cnQoKSA9PSBub0VycjsKLSAgICBpZiAoc3VjY2VzcykKLSAgICAgICAgc2V0SXNQbGF5aW5nKHRy
dWUpOwotCi0gICAgY2FsbE9uTWFpblRocmVhZChbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3Zl
KGNvbXBsZXRpb25IYW5kbGVyKSwgc3VjY2Vzc10oKSBtdXRhYmxlIHsKKyAgICBtX2F1ZGlvT3V0
cHV0VW5pdEFkYXB0b3Iuc3RhcnQoW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCBjb21w
bGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShib29sIHN1Y2Nlc3Mp
IG11dGFibGUgeworICAgICAgICBpZiAod2Vha1RoaXMgJiYgc3VjY2VzcykKKyAgICAgICAgICAg
IHdlYWtUaGlzLT5zZXRJc1BsYXlpbmcodHJ1ZSk7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KHN1Y2Nlc3MpOwogICAgIH0pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vY29jb2EvQXVkaW9EZXN0aW5hdGlvbkNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0Rlc3RpbmF0aW9uQ29jb2EuaAppbmRleCAyZGMyOGZh
M2YxZWZhN2VjMjMyMDc4YTlkY2U2ZTMyMzUyZWQzZDlkLi5hZTNkMzY0MGI2N2M3ZmFlZjQ3Yzky
YWU2Yzk3MzgyNjViOTI5NjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9jb2NvYS9BdWRpb0Rlc3RpbmF0aW9uQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0Rlc3RpbmF0aW9uQ29jb2EuaApAQCAtMzQsNiArMzQs
NyBAQAogI2luY2x1ZGUgPEF1ZGlvVW5pdC9BdWRpb1VuaXQuaD4KICNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1VuaXF1ZVJlZi5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDQsNyArNDUsNyBAQCBjbGFzcyBQdXNo
UHVsbEZJRk87CiB1c2luZyBDcmVhdGVBdWRpb0Rlc3RpbmF0aW9uQ29jb2FPdmVycmlkZSA9IFJl
ZjxBdWRpb0Rlc3RpbmF0aW9uPigqKShBdWRpb0lPQ2FsbGJhY2smLCBmbG9hdCBzYW1wbGVSYXRl
KTsKIAogLy8gQW4gQXVkaW9EZXN0aW5hdGlvbiB1c2luZyBDb3JlQXVkaW8ncyBkZWZhdWx0IG91
dHB1dCBBdWRpb1VuaXQKLWNsYXNzIEF1ZGlvRGVzdGluYXRpb25Db2NvYSA6IHB1YmxpYyBBdWRp
b0Rlc3RpbmF0aW9uLCBwdWJsaWMgQXVkaW9Vbml0UmVuZGVyZXIsIHB1YmxpYyBBdWRpb1NvdXJj
ZVByb3ZpZGVyIHsKK2NsYXNzIEF1ZGlvRGVzdGluYXRpb25Db2NvYSA6IHB1YmxpYyBBdWRpb0Rl
c3RpbmF0aW9uLCBwdWJsaWMgQXVkaW9Vbml0UmVuZGVyZXIsIHB1YmxpYyBBdWRpb1NvdXJjZVBy
b3ZpZGVyLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8QXVkaW9EZXN0aW5hdGlvbkNvY29hPiB7CiBw
dWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgQXVkaW9EZXN0aW5hdGlvbkNvY29hKEF1ZGlvSU9D
YWxsYmFjayYsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMsIGZsb2F0IHNhbXBsZVJh
dGUsIGJvb2wgY29uZmlndXJlQXVkaW9PdXRwdXRVbml0ID0gdHJ1ZSk7CiAgICAgV0VCQ09SRV9F
WFBPUlQgdmlydHVhbCB+QXVkaW9EZXN0aW5hdGlvbkNvY29hKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb091dHB1dFVuaXRBZGFwdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvT3V0cHV0VW5pdEFk
YXB0b3IuY3BwCmluZGV4IDMzZGQ5M2NiOWRmZDI1NDQ3N2ZlMmJiZjEzMjc0Y2Y4Mjg4MmQxZmQu
LmVmNzIyYzM1ZDQwMTI4Yjk1ZTgzNmNjZDZhZmRmYzA3YjU4NmE4NzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvT3V0cHV0VW5pdEFkYXB0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvT3V0cHV0
VW5pdEFkYXB0b3IuY3BwCkBAIC0zMCw5ICszMCwxMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKK3N0YXRpYyBjb25zdGV4cHIgU2Vjb25kcyByZXRyeVN0YXJ0RGVsYXkgPSAxMDBfbXM7CisK
IEF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OkF1ZGlvT3V0cHV0VW5pdEFkYXB0b3IoQXVkaW9Vbml0
UmVuZGVyZXImIHJlbmRlcmVyKQogICAgIDogbV9vdXRwdXRVbml0KDApCiAgICAgLCBtX2F1ZGlv
VW5pdFJlbmRlcmVyKHJlbmRlcmVyKQorICAgICwgbV9yZXRyeVN0YXJ0VGltZXIoKnRoaXMsICZB
dWRpb091dHB1dFVuaXRBZGFwdG9yOjpyZXRyeVN0YXJ0VGltZXJGaXJlZCkKIHsKIH0KIApAQCAt
NDAsMTUgKzQzLDUxIEBAIEF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6On5BdWRpb091dHB1dFVuaXRB
ZGFwdG9yKCkKIHsKICAgICBpZiAobV9vdXRwdXRVbml0KQogICAgICAgICBBdWRpb0NvbXBvbmVu
dEluc3RhbmNlRGlzcG9zZShtX291dHB1dFVuaXQpOworICAgIGNhbGxQZW5kaW5nU3RhcnRDb21w
bGV0aW9uSGFuZGxlcnMoZmFsc2UpOworfQorCit2b2lkIEF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6
OnN0YXJ0KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
Cit7CisgICAgaWYgKG1fcmV0cnlTdGFydFRpbWVyLmlzQWN0aXZlKCkpIHsKKyAgICAgICAgbV9w
ZW5kaW5nU3RhcnRDb21wbGV0aW9uSGFuZGxlcnMuYXBwZW5kKFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gcmVzdWx0ID0gQXVk
aW9PdXRwdXRVbml0U3RhcnQobV9vdXRwdXRVbml0KTsKKyAgICBpZiAocmVzdWx0ID09IG5vRXJy
KSB7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBjb21wbGV0aW9u
SGFuZGxlcih0cnVlKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICAvLyBXaGVuIHN3aXRjaGluZyBiYWNrIHRvIFNhZmFyaSBvbiBpT1MsIHdlIHJlc3VtZSBwbGF5
YmFjayBpZiBuZWNlc3NhcnkuIEFWRm91bmRhdGlvbgorICAgIC8vIGNoZWNrcyBpZiBvdXIgcGFy
ZW50IGFwcGxpY2F0aW9uIGlzIGZvcmVncm91bmQtcnVubmluZyB0byBkZXRlcm1pbmUgaWYgd2Ug
YXJlIGFsbG93ZWQKKyAgICAvLyB0byBzdGFydCBwbGF5YmFjay4gVGhlcmUgc2VlbXMgdG8gYmUg
YSByYWNlIGJldHdlZW4gdGhlIFVJU2NlbmUgZm9yZWdyb3VuZCBub3RpZmljYXRpb24KKyAgICAv
LyBhbmQgUnVubmluZ0JvYXJkIGFjdHVhbGx5IHRoaW5raW5nIHRoZSBhcHBsaWNhdGlvbiBpcyBm
b3JlZ3JvdW5kLXJ1bm5pbmcsIGNhdXNpbmcgdGhlCisgICAgLy8gY2FsbCB0byBBdWRpb091dHB1
dFVuaXRTdGFydCgpIHRvIHNvbWV0aW1lcyBmYWlsIChyZGFyOi8vcHJvYmxlbS83MDIzMTc2OSku
CisgICAgLy8gVG8gaGFuZGxlIHRoaXMsIHdlIHJldHJ5IG9uY2UgYWZ0ZXIgYSAxMDBtcyBkZWxh
eSBiZWZvcmUgZ2l2aW5nIHVwLgorICAgIG1fcGVuZGluZ1N0YXJ0Q29tcGxldGlvbkhhbmRsZXJz
LmFwcGVuZChXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CisgICAgaWYgKCFtX3JldHJ5U3Rh
cnRUaW1lci5pc0FjdGl2ZSgpKQorICAgICAgICBtX3JldHJ5U3RhcnRUaW1lci5zdGFydE9uZVNo
b3QocmV0cnlTdGFydERlbGF5KTsKK30KKwordm9pZCBBdWRpb091dHB1dFVuaXRBZGFwdG9yOjpy
ZXRyeVN0YXJ0VGltZXJGaXJlZCgpCit7CisgICAgY2FsbFBlbmRpbmdTdGFydENvbXBsZXRpb25I
YW5kbGVycyhBdWRpb091dHB1dFVuaXRTdGFydChtX291dHB1dFVuaXQpID09IG5vRXJyKTsKIH0K
IAotT1NTdGF0dXMgQXVkaW9PdXRwdXRVbml0QWRhcHRvcjo6c3RhcnQoKQordm9pZCBBdWRpb091
dHB1dFVuaXRBZGFwdG9yOjpjYWxsUGVuZGluZ1N0YXJ0Q29tcGxldGlvbkhhbmRsZXJzKGJvb2wg
c3VjY2VzcykKIHsKLSAgICByZXR1cm4gQXVkaW9PdXRwdXRVbml0U3RhcnQobV9vdXRwdXRVbml0
KTsKKyAgICBhdXRvIHBlbmRpbmdTdGFydENvbXBsZXRpb25IYW5kbGVycyA9IHN0ZDo6ZXhjaGFu
Z2UobV9wZW5kaW5nU3RhcnRDb21wbGV0aW9uSGFuZGxlcnMsIHsgfSk7CisgICAgZm9yIChhdXRv
JiBwZW5kaW5nU3RhcnRDb21wbGV0aW9uSGFuZGxlciA6IHBlbmRpbmdTdGFydENvbXBsZXRpb25I
YW5kbGVycykKKyAgICAgICAgcGVuZGluZ1N0YXJ0Q29tcGxldGlvbkhhbmRsZXIoc3VjY2Vzcyk7
CiB9CiAKIE9TU3RhdHVzIEF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OnN0b3AoKQogeworICAgIG1f
cmV0cnlTdGFydFRpbWVyLnN0b3AoKTsKKyAgICBjYWxsUGVuZGluZ1N0YXJ0Q29tcGxldGlvbkhh
bmRsZXJzKGZhbHNlKTsKICAgICByZXR1cm4gQXVkaW9PdXRwdXRVbml0U3RvcChtX291dHB1dFVu
aXQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2Nv
YS9BdWRpb091dHB1dFVuaXRBZGFwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9jb2NvYS9BdWRpb091dHB1dFVuaXRBZGFwdG9yLmgKaW5kZXggZDhkZGJkZDY2YjZjYTQ5M2Yx
Y2RhYzhlNjIwNWRhMGI0OGRlYjAwMy4uNDJjNGFiNTBkZmNmMDhkZmNlNTI4Mjg0ZWQxMTIzZGU2
Y2IxNDJlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2Ev
QXVkaW9PdXRwdXRVbml0QWRhcHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL2NvY29hL0F1ZGlvT3V0cHV0VW5pdEFkYXB0b3IuaApAQCAtMjcsNiArMjcsNyBAQAogCiAj
aWYgRU5BQkxFKFdFQl9BVURJTykKIAorI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8QXVk
aW9Vbml0L0F1ZGlvVW5pdC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MywxNCArNDQs
MTggQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIH5BdWRpb091dHB1dFVuaXRBZGFwdG9y
KCk7CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNvbmZpZ3VyZShmbG9hdCBoYXJkd2FyZVNh
bXBsZVJhdGUsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMpOwotICAgIFdFQkNPUkVf
RVhQT1JUIE9TU3RhdHVzIHN0YXJ0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdGFydChD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBPU1N0
YXR1cyBzdG9wKCk7CiAKIHByaXZhdGU6CiAgICAgc3RhdGljIE9TU3RhdHVzIGlucHV0UHJvYyh2
b2lkKiB1c2VyRGF0YSwgQXVkaW9Vbml0UmVuZGVyQWN0aW9uRmxhZ3MqLCBjb25zdCBBdWRpb1Rp
bWVTdGFtcCosIFVJbnQzMiBidXNOdW1iZXIsIFVJbnQzMiBudW1iZXJPZkZyYW1lcywgQXVkaW9C
dWZmZXJMaXN0KiBpb0RhdGEpOworICAgIHZvaWQgcmV0cnlTdGFydFRpbWVyRmlyZWQoKTsKKyAg
ICB2b2lkIGNhbGxQZW5kaW5nU3RhcnRDb21wbGV0aW9uSGFuZGxlcnMoYm9vbCBzdWNjZXNzKTsK
IAogICAgIEF1ZGlvVW5pdCBtX291dHB1dFVuaXQ7CiAgICAgQXVkaW9Vbml0UmVuZGVyZXImIG1f
YXVkaW9Vbml0UmVuZGVyZXI7CisgICAgVGltZXIgbV9yZXRyeVN0YXJ0VGltZXI7CisgICAgVmVj
dG9yPENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+PiBtX3BlbmRpbmdTdGFydENvbXBsZXRp
b25IYW5kbGVyczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5h
dGlvbk1hbmFnZXIuY3BwCmluZGV4IDk1ODVmZGZhNzlkMDI4ZjU0OGVhZTAzYjI0NjU4NDA5ZDk0
NTM4NTEuLjU5ODU0YTgxMjc0MmY5MTE1MWQwNDBlODFhOTg3N2QwZmEyOTdmNDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9u
TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1
ZGlvRGVzdGluYXRpb25NYW5hZ2VyLmNwcApAQCAtODYsMTMgKzg2LDE2IEBAIHB1YmxpYzoKICAg
ICB9CiAjZW5kaWYKIAotICAgIHZvaWQgc3RhcnQoKQorICAgIHZvaWQgc3RhcnQoQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChib29sIGlzUGxheWluZyk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiAgICAg
ewogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgICAgICBpZiAobV9hdWRpb091dHB1dFVuaXRBZGFw
dG9yLnN0YXJ0KCkpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgbV9pc1BsYXlpbmcg
PSB0cnVlOworICAgICAgICBtX2F1ZGlvT3V0cHV0VW5pdEFkYXB0b3Iuc3RhcnQoW3RoaXMsIHBy
b3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3Zl
KGNvbXBsZXRpb25IYW5kbGVyKV0oYm9vbCBzdWNjZXNzKSBtdXRhYmxlIHsKKyAgICAgICAgICAg
IGlmIChzdWNjZXNzKQorICAgICAgICAgICAgICAgIG1faXNQbGF5aW5nID0gdHJ1ZTsKKyAgICAg
ICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG1faXNQbGF5aW5nKTsKKyAgICAgICAgfSk7CisjZWxz
ZQorICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihtX2lzUGxheWluZyk7CiAjZW5kaWYKICAgICB9
CiAKQEAgLTIwMywxMiArMjA2LDkgQEAgdm9pZCBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdl
cjo6ZGVsZXRlQXVkaW9EZXN0aW5hdGlvbihSZW1vdGVBdWRpb0Rlc3RpbmF0aW8KIAogdm9pZCBS
ZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlcjo6c3RhcnRBdWRpb0Rlc3RpbmF0aW9uKFJlbW90
ZUF1ZGlvRGVzdGluYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgYm9vbCBpc1BsYXlpbmcg
PSBmYWxzZTsKLSAgICBpZiAoYXV0byogaXRlbSA9IG1fYXVkaW9EZXN0aW5hdGlvbnMuZ2V0KGlk
ZW50aWZpZXIpKSB7Ci0gICAgICAgIGl0ZW0tPnN0YXJ0KCk7Ci0gICAgICAgIGlzUGxheWluZyA9
IGl0ZW0tPmlzUGxheWluZygpOwotICAgIH0KLSAgICBjb21wbGV0aW9uSGFuZGxlcihpc1BsYXlp
bmcpOworICAgIGlmIChhdXRvKiBpdGVtID0gbV9hdWRpb0Rlc3RpbmF0aW9ucy5nZXQoaWRlbnRp
ZmllcikpCisgICAgICAgIHJldHVybiBpdGVtLT5zdGFydChXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSk7CisgICAgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOwogfQogCiB2b2lkIFJlbW90ZUF1
ZGlvRGVzdGluYXRpb25NYW5hZ2VyOjpzdG9wQXVkaW9EZXN0aW5hdGlvbihSZW1vdGVBdWRpb0Rl
c3RpbmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJv
b2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412595</attachid>
            <date>2020-10-28 17:47:10 -0700</date>
            <delta_ts>2020-10-28 18:19:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217606-20201028174709.patch</filename>
            <type>text/plain</type>
            <size>3949</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWQ4OWVlMzRlY2RiMzJl
OTAwOGNjMmY4OTEwOTFhYjhlMWZjYjE3Mi4uYTdlMTRlNmM3ZjhkMTRjYjI1ZTc1MWU1NjEyZDVk
MzI2ZDc2OWE0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIwLTEwLTI4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1ZGlvIGJyb2tlbiBv
biBpT1MgMTQgYWZ0ZXIgc3dpdGNoaW5nIGFwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3NjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MDIz
MTc2OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
aGVuIHdlIGNhbGwgQXVkaW9PdXRwdXRVbml0U3RhcnQoKSwgQVZGb3VuZGF0aW9uIGNoZWNrcyBp
ZiB3ZSBhcmUgYWxsb3dlZCB0byBwbGF5IGJ5CisgICAgICAgIG1ha2luZyBzdXJlIHRoYXQgb3Vy
IGFwcGxpY2F0aW9uIGlzIGZvcmVncm91bmQuIEluIG9yZGVyIHRvIGRvIHRoYXQsIEFWRm91bmRh
dGlvbgorICAgICAgICBuZWVkcyB0aGUgUElEIG9mIG91ciBob3N0aW5nIGFwcGxpY2F0aW9uLiBX
ZSBwcm92aWRlIHRoaXMgUElEIHdoZW5ldmVyIHRoZSBmb2xsb3dpbmcKKyAgICAgICAgZnVuY3Rp
b24gaXMgY2FsbGVkOgorICAgICAgICBNZWRpYVNlc3Npb25NYW5hZ2VyaU9TOjpwcm92aWRlUHJl
c2VudGluZ0FwcGxpY2F0aW9uUElESWZOZWNlc3NhcnkoKQorCisgICAgICAgIFRoZSBpc3N1ZSB3
YXMgdGhhdCB3ZSB3ZXJlIG5vdCBjYWxsaW5nIHByb3ZpZGVQcmVzZW50aW5nQXBwbGljYXRpb25Q
SURJZk5lY2Vzc2FyeSgpCisgICAgICAgIGJlZm9yZSBzdGFydGluZyBXZWJBdWRpbyBwbGF5YmFj
ay4gQXMgYSByZXN1bHQsIEFWRm91bmRhdGlvbiB3YXMgcmVseWluZyBvbiB0aGUKKyAgICAgICAg
dmlzaWJpbGl0eSBvZiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGl0c2VsZi4gVGhpcyB3YXMgY2F1
c2luZyBhIHJhY2UgYmVjYXVzZQorICAgICAgICBSdW5uaW5nQm9hcmQgZ2V0cyBub3RpZmllZCB0
aGF0IHRoZSBXZWJDb250ZW50IHByb2Nlc3MgaXMgdmlzaWJsZSBhIGxpdHRsZSBsYXRlcgorICAg
ICAgICB0aGFuIGZvciB0aGUgVUlQcm9jZXNzLiBXaGVuIHRoZSBVSVByb2Nlc3Mgd291bGQgYmVj
b21lIGZvcmVncm91bmQsIHdlIHdvdWxkIHNlbmQKKyAgICAgICAgdGhlIFNldEFwcGxpY2F0aW9u
U3RhdGUgSVBDIHRvIHRoZSBXZWJQcm9jZXNzLCB3aGljaCB3b3VsZCB1cGRhdGUgdGhlIHBhZ2Un
cworICAgICAgICB2aXNpYmlsaXR5IGFuZCBjYXVzZSB1cyB0byBzdG9wIHRoZSBtZWRpYSBzZXNz
aW9uIGludGVycnVwdGlvbi4gVGhpcyB3b3VsZCBjYXVzZQorICAgICAgICB1cyB0byBjYWxsIEF1
ZGlvT3V0cHV0VW5pdFN0YXJ0KCksIHdoaWNoIHdvdWxkIGZhaWwgYmVjYXVzZSBBVkZvdW5kYXRp
b24gd291bGQKKyAgICAgICAgYXNrIFJ1bm5pbmdCb2FyZCBpZiB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzIGlzIGZvcmVncm91bmQuIEF0IHRoaXMgcG9pbnQsCisgICAgICAgIFJ1bm5pbmdCb2FyZCB3
b3VsZCBub3QgbmVjZXNzYXJpbHkga25vdyB5ZXQgdGhhdCB0aGUgV2ViQ29udGVudCBwcm9jZXNz
IGlzCisgICAgICAgIHZpc2libGUuIEhvd2V2ZXIsIFJ1bm5pbmdCb2FyZCByZWxpYWJseSBrbm93
cyB0aGUgVUlQcm9jZXNzIGlzIHZpc2libGUgYXQgdGhpcworICAgICAgICBwb2ludC4KKworICAg
ICAgICBXZSBub3cgY2FsbCB0aGlzIGZ1bmN0aW9uIGluc2lkZSBNZWRpYVNlc3Npb25NYW5hZ2Vy
aU9TOjpzZXNzaW9uV2lsbEJlZ2luUGxheWJhY2soKQorICAgICAgICBzaW5jZSB0aGlzIGdldHMg
Y2FsbGVkIGJ5IFdlYkF1ZGlvIGNvZGUgYmVmb3JlIHN0YXJ0aW5nIHRoZSBwbGF5YmFjay4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvT3V0cHV0VW5pdEFkYXB0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9PdXRwdXRVbml0QWRhcHRvcjo6c3RhcnQpOgorICAg
ICAgICBBZGQgc29tZSBlcnJvciBsb2dnaW5nIHdoZW4gdGhlIGNhbGwgdG8gQXVkaW9PdXRwdXRV
bml0U3RhcnQoKSBmYWlscyB0byBmYWNpbGl0YXRlCisgICAgICAgIGRlYnVnZ2luZyBzdWNoIGlz
c3VlcyBpbiB0aGUgZnV0dXJlLgorCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlh
U2Vzc2lvbk1hbmFnZXJJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25NYW5h
Z2VyaU9TOjpzZXNzaW9uV2lsbEJlZ2luUGxheWJhY2spOgorCiAyMDIwLTEwLTI4ICBDb25yYWQg
U2h1bHR6ICA8Y29ucmFkX3NodWx0ekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGRpYWdu
b3N0aWMgbG9nZ2luZyBmb3IgcGx1Zy1pbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvT3V0cHV0VW5pdEFkYXB0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9PdXRwdXRVbml0QWRhcHRvci5jcHAKaW5k
ZXggMzNkZDkzY2I5ZGZkMjU0NDc3ZmUyYmJmMTMyNzRjZjgyODgyZDFmZC4uNTFlMzgyY2M4ZTc0
NGNkMjg5ODhiZTYxMTMzNTkyMzk4YzFiNjQ0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9PdXRwdXRVbml0QWRhcHRvci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9PdXRwdXRVbml0QWRhcHRvci5j
cHAKQEAgLTQ0LDcgKzQ0LDEwIEBAIEF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6On5BdWRpb091dHB1
dFVuaXRBZGFwdG9yKCkKIAogT1NTdGF0dXMgQXVkaW9PdXRwdXRVbml0QWRhcHRvcjo6c3RhcnQo
KQogewotICAgIHJldHVybiBBdWRpb091dHB1dFVuaXRTdGFydChtX291dHB1dFVuaXQpOworICAg
IGF1dG8gcmVzdWx0ID0gQXVkaW9PdXRwdXRVbml0U3RhcnQobV9vdXRwdXRVbml0KTsKKyAgICBp
ZiAocmVzdWx0ICE9IG5vRXJyKQorICAgICAgICBXVEZMb2dBbHdheXMoIkVSUk9SOiBBdWRpb091
dHB1dFVuaXRTdGFydCgpIGNhbGwgZmFpbGVkIHdpdGggZXJyb3IgY29kZTogJWQiLCByZXN1bHQp
OworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIE9TU3RhdHVzIEF1ZGlvT3V0cHV0VW5pdEFkYXB0
b3I6OnN0b3AoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9z
L01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5tbQppbmRleCBhYmRkNWY2YTA1MDRmYjllMGM0
M2EyMGQzNDY3MGI5M2Y3MDAwM2E3Li5iNWEyN2Q5ZmRhYjJiODM4MzVmZGIwODc1YWVmMDgzNmNl
ZmIwMGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVk
aWFTZXNzaW9uTWFuYWdlcklPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5tbQpAQCAtMTUyLDYgKzE1Miw4IEBAIGJvb2wg
TWVkaWFTZXNzaW9uTWFuYWdlcmlPUzo6c2Vzc2lvbldpbGxCZWdpblBsYXliYWNrKFBsYXRmb3Jt
TWVkaWFTZXNzaW9uJiBzZXNzCiAgICAgc2Vzc2lvbi5zZXRTaG91bGRQbGF5VG9QbGF5YmFja1Rh
cmdldChtX3BsYXliYWNrVGFyZ2V0U3VwcG9ydHNBaXJQbGF5VmlkZW8pOwogI2VuZGlmCiAKKyAg
ICBwcm92aWRlUHJlc2VudGluZ0FwcGxpY2F0aW9uUElESWZOZWNlc3NhcnkoKTsKKwogICAgIHJl
dHVybiB0cnVlOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412599</attachid>
            <date>2020-10-28 18:19:51 -0700</date>
            <delta_ts>2020-10-28 19:40:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217606-20201028181950.patch</filename>
            <type>text/plain</type>
            <size>3967</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWQ4OWVlMzRlY2RiMzJl
OTAwOGNjMmY4OTEwOTFhYjhlMWZjYjE3Mi4uMTdhMmE4NzJhZWY2YTBhMjYyODMwZmEyZGU4Njcz
MjEyNmRmYzFhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIwLTEwLTI4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1ZGlvIGJyb2tlbiBv
biBpT1MgMTQgYWZ0ZXIgc3dpdGNoaW5nIGFwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3NjA2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MDIz
MTc2OT4KKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgV2hl
biB3ZSBjYWxsIEF1ZGlvT3V0cHV0VW5pdFN0YXJ0KCksIEFWRm91bmRhdGlvbiBjaGVja3MgaWYg
d2UgYXJlIGFsbG93ZWQgdG8gcGxheSBieQorICAgICAgICBtYWtpbmcgc3VyZSB0aGF0IG91ciBh
cHBsaWNhdGlvbiBpcyBmb3JlZ3JvdW5kLiBJbiBvcmRlciB0byBkbyB0aGF0LCBBVkZvdW5kYXRp
b24KKyAgICAgICAgbmVlZHMgdGhlIFBJRCBvZiBvdXIgaG9zdGluZyBhcHBsaWNhdGlvbi4gV2Ug
cHJvdmlkZSB0aGlzIFBJRCB3aGVuZXZlciB0aGUgZm9sbG93aW5nCisgICAgICAgIGZ1bmN0aW9u
IGlzIGNhbGxlZDoKKyAgICAgICAgTWVkaWFTZXNzaW9uTWFuYWdlcmlPUzo6cHJvdmlkZVByZXNl
bnRpbmdBcHBsaWNhdGlvblBJRElmTmVjZXNzYXJ5KCkKKworICAgICAgICBUaGUgaXNzdWUgd2Fz
IHRoYXQgd2Ugd2VyZSBub3QgY2FsbGluZyBwcm92aWRlUHJlc2VudGluZ0FwcGxpY2F0aW9uUElE
SWZOZWNlc3NhcnkoKQorICAgICAgICBiZWZvcmUgc3RhcnRpbmcgV2ViQXVkaW8gcGxheWJhY2su
IEFzIGEgcmVzdWx0LCBBVkZvdW5kYXRpb24gd2FzIHJlbHlpbmcgb24gdGhlCisgICAgICAgIHZp
c2liaWxpdHkgb2YgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBpdHNlbGYuIFRoaXMgd2FzIGNhdXNp
bmcgYSByYWNlIGJlY2F1c2UKKyAgICAgICAgUnVubmluZ0JvYXJkIGdldHMgbm90aWZpZWQgdGhh
dCB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGlzIHZpc2libGUgYSBsaXR0bGUgbGF0ZXIKKyAgICAg
ICAgdGhhbiBmb3IgdGhlIFVJUHJvY2Vzcy4gV2hlbiB0aGUgVUlQcm9jZXNzIHdvdWxkIGJlY29t
ZSBmb3JlZ3JvdW5kLCB3ZSB3b3VsZCBzZW5kCisgICAgICAgIHRoZSBTZXRBcHBsaWNhdGlvblN0
YXRlIElQQyB0byB0aGUgV2ViUHJvY2Vzcywgd2hpY2ggd291bGQgdXBkYXRlIHRoZSBwYWdlJ3MK
KyAgICAgICAgdmlzaWJpbGl0eSBhbmQgY2F1c2UgdXMgdG8gc3RvcCB0aGUgbWVkaWEgc2Vzc2lv
biBpbnRlcnJ1cHRpb24uIFRoaXMgd291bGQgY2F1c2UKKyAgICAgICAgdXMgdG8gY2FsbCBBdWRp
b091dHB1dFVuaXRTdGFydCgpLCB3aGljaCB3b3VsZCBmYWlsIGJlY2F1c2UgQVZGb3VuZGF0aW9u
IHdvdWxkCisgICAgICAgIGFzayBSdW5uaW5nQm9hcmQgaWYgdGhlIFdlYkNvbnRlbnQgcHJvY2Vz
cyBpcyBmb3JlZ3JvdW5kLiBBdCB0aGlzIHBvaW50LAorICAgICAgICBSdW5uaW5nQm9hcmQgd291
bGQgbm90IG5lY2Vzc2FyaWx5IGtub3cgeWV0IHRoYXQgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBp
cworICAgICAgICB2aXNpYmxlLiBIb3dldmVyLCBSdW5uaW5nQm9hcmQgcmVsaWFibHkga25vd3Mg
dGhlIFVJUHJvY2VzcyBpcyB2aXNpYmxlIGF0IHRoaXMKKyAgICAgICAgcG9pbnQuCisKKyAgICAg
ICAgV2Ugbm93IGNhbGwgdGhpcyBmdW5jdGlvbiBpbnNpZGUgTWVkaWFTZXNzaW9uTWFuYWdlcmlP
Uzo6c2Vzc2lvbldpbGxCZWdpblBsYXliYWNrKCkKKyAgICAgICAgc2luY2UgdGhpcyBnZXRzIGNh
bGxlZCBieSBXZWJBdWRpbyBjb2RlIGJlZm9yZSBzdGFydGluZyB0aGUgcGxheWJhY2suCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb091dHB1dFVuaXRBZGFwdG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OnN0YXJ0KToKKyAgICAg
ICAgQWRkIHNvbWUgZXJyb3IgbG9nZ2luZyB3aGVuIHRoZSBjYWxsIHRvIEF1ZGlvT3V0cHV0VW5p
dFN0YXJ0KCkgZmFpbHMgdG8gZmFjaWxpdGF0ZQorICAgICAgICBkZWJ1Z2dpbmcgc3VjaCBpc3N1
ZXMgaW4gdGhlIGZ1dHVyZS4KKworICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNl
c3Npb25NYW5hZ2VySU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdl
cmlPUzo6c2Vzc2lvbldpbGxCZWdpblBsYXliYWNrKToKKwogMjAyMC0xMC0yOCAgQ29ucmFkIFNo
dWx0eiAgPGNvbnJhZF9zaHVsdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBkaWFnbm9z
dGljIGxvZ2dpbmcgZm9yIHBsdWctaW5zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9jb2NvYS9BdWRpb091dHB1dFVuaXRBZGFwdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvT3V0cHV0VW5pdEFkYXB0b3IuY3BwCmluZGV4
IDMzZGQ5M2NiOWRmZDI1NDQ3N2ZlMmJiZjEzMjc0Y2Y4Mjg4MmQxZmQuLjQ3ODc1MDcyYTc4NmVk
Njg2YzFkNDAxZTgyZTYyNTljYTIzYzU0YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvT3V0cHV0VW5pdEFkYXB0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvT3V0cHV0VW5pdEFkYXB0b3IuY3Bw
CkBAIC00NCw3ICs0NCwxMCBAQCBBdWRpb091dHB1dFVuaXRBZGFwdG9yOjp+QXVkaW9PdXRwdXRV
bml0QWRhcHRvcigpCiAKIE9TU3RhdHVzIEF1ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OnN0YXJ0KCkK
IHsKLSAgICByZXR1cm4gQXVkaW9PdXRwdXRVbml0U3RhcnQobV9vdXRwdXRVbml0KTsKKyAgICBh
dXRvIHJlc3VsdCA9IEF1ZGlvT3V0cHV0VW5pdFN0YXJ0KG1fb3V0cHV0VW5pdCk7CisgICAgaWYg
KHJlc3VsdCAhPSBub0VycikKKyAgICAgICAgV1RGTG9nQWx3YXlzKCJFUlJPUjogQXVkaW9PdXRw
dXRVbml0U3RhcnQoKSBjYWxsIGZhaWxlZCB3aXRoIGVycm9yIGNvZGU6ICVsZCIsIHN0YXRpY19j
YXN0PGxvbmc+KHJlc3VsdCkpOworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIE9TU3RhdHVzIEF1
ZGlvT3V0cHV0VW5pdEFkYXB0b3I6OnN0b3AoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5tbQppbmRleCBh
YmRkNWY2YTA1MDRmYjllMGM0M2EyMGQzNDY3MGI5M2Y3MDAwM2E3Li5iNWEyN2Q5ZmRhYjJiODM4
MzVmZGIwODc1YWVmMDgzNmNlZmIwMGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5tbQpAQCAtMTUy
LDYgKzE1Miw4IEBAIGJvb2wgTWVkaWFTZXNzaW9uTWFuYWdlcmlPUzo6c2Vzc2lvbldpbGxCZWdp
blBsYXliYWNrKFBsYXRmb3JtTWVkaWFTZXNzaW9uJiBzZXNzCiAgICAgc2Vzc2lvbi5zZXRTaG91
bGRQbGF5VG9QbGF5YmFja1RhcmdldChtX3BsYXliYWNrVGFyZ2V0U3VwcG9ydHNBaXJQbGF5Vmlk
ZW8pOwogI2VuZGlmCiAKKyAgICBwcm92aWRlUHJlc2VudGluZ0FwcGxpY2F0aW9uUElESWZOZWNl
c3NhcnkoKTsKKwogICAgIHJldHVybiB0cnVlOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>