<?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>211287</bug_id>
          
          <creation_ts>2020-05-01 07:12:11 -0700</creation_ts>
          <short_desc>AudioMediaStreamTrackRendererCocoa should create/start/stop its remote unit on the main thread</short_desc>
          <delta_ts>2020-06-08 11:02:07 -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>WebRTC</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=198545</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>m.zdila</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1647832</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-05-01 07:12:11 -0700</bug_when>
    <thetext>AudioMediaStreamTrackRendererCocoa should create/start/stop its remote unit on the main thread</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647835</commentid>
    <comment_count>1</comment_count>
      <attachid>398180</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-05-01 07:20:42 -0700</bug_when>
    <thetext>Created attachment 398180
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647861</commentid>
    <comment_count>2</comment_count>
      <attachid>398187</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-05-01 08:58:57 -0700</bug_when>
    <thetext>Created attachment 398187
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647868</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-05-01 09:24:22 -0700</bug_when>
    <thetext>As discussed with Eric offline, I&apos;ll add a comment stating that the design is that pushSamples can only be called between start and stop which is enforced by AudioTrackPrivateMediaStream::startRenderer/stopRenderer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647873</commentid>
    <comment_count>4</comment_count>
      <attachid>398191</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-05-01 09:35:08 -0700</bug_when>
    <thetext>Created attachment 398191
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647875</commentid>
    <comment_count>5</comment_count>
      <attachid>398180</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-05-01 09:42:12 -0700</bug_when>
    <thetext>Comment on attachment 398180
Patch

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

&gt; Source/WebCore/platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.cpp:79
&gt;      if (m_remoteIOUnit) {
&gt;          AudioOutputUnitStop(m_remoteIOUnit);
&gt;          AudioComponentInstanceDispose(m_remoteIOUnit);

stop() does the same thing, you could call it here.

&gt; Source/WebCore/platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.cpp:159
&gt; +    if (!m_dataSource || !m_dataSource-&gt;inputDescription() || toCAAudioStreamDescription(*m_dataSource-&gt;inputDescription()) != description) {

You can use CAAudioStreamDescription&apos;s `operator==(const AudioStreamDescription&amp;)` instead of calling toCAAudioStreamDescription</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647882</commentid>
    <comment_count>6</comment_count>
      <attachid>398193</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-05-01 09:54:12 -0700</bug_when>
    <thetext>Created attachment 398193
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647883</commentid>
    <comment_count>7</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-05-01 09:54:43 -0700</bug_when>
    <thetext>(In reply to Eric Carlson from comment #5)
&gt; Comment on attachment 398180 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=398180&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.cpp:79
&gt; &gt;      if (m_remoteIOUnit) {
&gt; &gt;          AudioOutputUnitStop(m_remoteIOUnit);
&gt; &gt;          AudioComponentInstanceDispose(m_remoteIOUnit);
&gt; 
&gt; stop() does the same thing, you could call it here.

Will do.

&gt; 
&gt; &gt; Source/WebCore/platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.cpp:159
&gt; &gt; +    if (!m_dataSource || !m_dataSource-&gt;inputDescription() || toCAAudioStreamDescription(*m_dataSource-&gt;inputDescription()) != description) {
&gt; 
&gt; You can use CAAudioStreamDescription&apos;s `operator==(const
&gt; AudioStreamDescription&amp;)` instead of calling toCAAudioStreamDescription

Tried that but it failed so went this way.
I updated CAAudioStreamDescription to make it work, much nicer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648353</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-03 11:16:36 -0700</bug_when>
    <thetext>Committed r261063: &lt;https://trac.webkit.org/changeset/261063&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 398193.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648354</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-03 11:17:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/62811472&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660263</commentid>
    <comment_count>10</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-08 11:02:07 -0700</bug_when>
    <thetext>*** Bug 208134 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398180</attachid>
            <date>2020-05-01 07:20:42 -0700</date>
            <delta_ts>2020-05-01 08:58:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211287-20200501162040.patch</filename>
            <type>text/plain</type>
            <size>10634</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWVkMDM5YTE4YWNhZGYz
OGE4MzBlMWUwNzczNWVmYzE1ZDBiYWNkYy4uNmViNGVhYjI4MWM4MjZjNjg0ZDU0YTQ0ZjdmZDRm
NzBjOTI5OGFkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIwLTA1LTAxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBdWRpb01lZGlhU3RyZWFt
VHJhY2tSZW5kZXJlckNvY29hIHNob3VsZCBjcmVhdGUvc3RhcnQvc3RvcCBpdHMgcmVtb3RlIHVu
aXQgb24gdGhlIG1haW4gdGhyZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTEyODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDcmVhdGluZy9zdGFydGluZy9zdG9wcGluZyBhdWRpbyB1bml0cyBpbiBk
aWZmZXJlbnQgdGhyZWFkcyBpcyBlcnJvciBwcm9uZS4KKyAgICAgICAgTm93IHRoYXQgd2UgaGF2
ZSBhbiBvYnNlcnZlciBtb2RlbCB3aGVyZSB3ZSBoYXZlIG9ic2VydmVycyBmb3Igd2hlbiB0byBw
bGF5IGluIHRoZSBtYWluIHRocmVhZCBhbmQKKyAgICAgICAgYmFzZWQgb24gdGhhdCwgd2UgZGVj
aWRlIHRvIHJlY2VpdmUgYXVkaW8gc2FtcGxlcyBpbiBhIGJhY2tncm91bmQgdGhyZWFkLCB3ZSBj
YW4gc2ltcGxpZnkgdGhlIGxvZ2ljIG9mIEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29j
b2EuCisgICAgICAgIFdlIGRvIHRoaXMgYnkgY3JlYXRpbmcvc3RhcnRpbmcgdGhlIHVuaXQgaW4g
QXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6c3RhcnQuCisgICAgICAgIEF0IHRo
YXQgcG9pbnQsIEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EgaXMgbm90IGV4cGVj
dGVkIHRvIHJlY2VpdmUgYW55IHNhbXBsZS4KKyAgICAgICAgSnVzdCBhZnRlciBzdGFydGluZywg
QXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbSB3aWxsIHJlY2VpdmUgYXVkaW8gc2FtcGxlcyBh
bmQgZm9yd2FyZCB0aGVtIHRvIEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuCisg
ICAgICAgIEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2Egd2lsbCB0aGVuIGNyZWF0
ZSBpbiBhIGJhY2tncm91bmQgdGhyZWFkIHRoZSBBdWRpb1NhbXBsZURhdGFTb3VyY2UgdGhhdCBp
cyByZXNwb25zaWJsZSB0byBhZGFwdCB0aGUgcmVjZWl2ZWQgYXVkaW8gc2FtcGxlcyB0byB0aGUg
dW5pdC4KKworICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBsZURhdGFTb3Vy
Y2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6aW5wdXREZXNj
cmlwdGlvbiBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vQXVkaW9UcmFj
a1ByaXZhdGVNZWRpYVN0cmVhbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1RyYWNrUHJp
dmF0ZU1lZGlhU3RyZWFtOjpzdGFydFJlbmRlcmVyKToKKyAgICAgICAgRW5zdXJlIHRvIHN0YXJ0
IHRoZSB1bml0IGFuZCB0aGVuIHN0YXJ0IGdldHR0aW5nIGF1ZGlvIHNhbXBsZXMuCisgICAgICAg
ICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVy
Q29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVy
ZXJDb2NvYTo6c3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9NZWRpYVN0cmVhbVRyYWNr
UmVuZGVyZXJDb2NvYTo6c3RvcCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb01lZGlhU3RyZWFt
VHJhY2tSZW5kZXJlckNvY29hOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb01lZGlh
U3RyZWFtVHJhY2tSZW5kZXJlckNvY29hOjpwdXNoU2FtcGxlcyk6CisgICAgICAgIChXZWJDb3Jl
OjpBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hOjpyZW5kZXIpOgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNv
Y29hLmg6CisKIDIwMjAtMDQtMjIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgog
CiAgICAgICAgIGdldERpc3BsYXlNZWRpYSBpcyBub3QgcmVzcGVjdGluZyBhc3BlY3QgcmF0aW8g
d2l0aCBtYXggY29uc3RyYWludHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL21hYy9BdWRpb1NhbXBsZURhdGFTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBsZURhdGFTb3VyY2UuaAppbmRleCAzMjZjOWJjMmE5YThj
ZTA2NTQzNjM3NTBkZmIzZmJmNTBlYzU4ZmYzLi4wZjg5ZWY5MThmMDQ3MjFhMjhlMjdkMWM2YTk0
Mjg5NmY1MTczMGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9t
YWMvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vbWFjL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oCkBAIC03Myw2ICs3Myw4IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldE11dGVkKGJvb2wgbXV0ZWQpIHsgbV9tdXRlZCA9IG11dGVkOyB9CiAg
ICAgYm9vbCBtdXRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbXV0ZWQ7IH0KIAorICAgIGNvbnN0IENB
QXVkaW9TdHJlYW1EZXNjcmlwdGlvbiogaW5wdXREZXNjcmlwdGlvbigpIGNvbnN0IHsgcmV0dXJu
IG1faW5wdXREZXNjcmlwdGlvbi5nZXQoKTsgfQorCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVE
CiAgICAgY29uc3QgTG9nZ2VyJiBsb2dnZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ2dl
cjsgfQogICAgIGNvbnN0IHZvaWQqIGxvZ0lkZW50aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBtX2xvZ0lkZW50aWZpZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL0F1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW0uY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbS5j
cHAKaW5kZXggMDM1NTE0MDQ3MmJjZjM1ODA0MzlmNGVkYzAzYTdhZjYyYmU3ZjhlYy4uN2I0ZjU1
MjExOTdmMzYxODRmODdlMTAxODM3MTQ0OWNkODRjNTE0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vQXVkaW9UcmFja1By
aXZhdGVNZWRpYVN0cmVhbS5jcHAKQEAgLTEzOSw4ICsxMzksOCBAQCB2b2lkIEF1ZGlvVHJhY2tQ
cml2YXRlTWVkaWFTdHJlYW06OnN0YXJ0UmVuZGVyZXIoKQogICAgICAgICByZXR1cm47CiAKICAg
ICBtX2lzUGxheWluZyA9IHRydWU7Ci0gICAgbV9hdWRpb1NvdXJjZS0+YWRkQXVkaW9TYW1wbGVP
YnNlcnZlcigqdGhpcyk7CiAgICAgbV9yZW5kZXJlci0+c3RhcnQoKTsKKyAgICBtX2F1ZGlvU291
cmNlLT5hZGRBdWRpb1NhbXBsZU9ic2VydmVyKCp0aGlzKTsKIH0KIAogdm9pZCBBdWRpb1RyYWNr
UHJpdmF0ZU1lZGlhU3RyZWFtOjpzdG9wUmVuZGVyZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRl
cmVyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1
ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwCmluZGV4IDE5ZGM0YTlhZjc2MzFk
NTZmMmJhMGIyM2NhN2FkM2QxMjJkMDBiYWEuLjc0ZTVhNjRkMTllNDM4MzBkNWE2ZDE2MWQzMDYz
NGJlMDA4NDVjMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9NZWRpYVN0cmVhbVRyYWNr
UmVuZGVyZXJDb2NvYS5jcHAKQEAgLTQ3LDI3ICs0NywzMyBAQCB2b2lkIEF1ZGlvTWVkaWFTdHJl
YW1UcmFja1JlbmRlcmVyQ29jb2E6OnN0YXJ0KCkKIHsKICAgICBjbGVhcigpOwogCi0gICAgbV9z
aG91bGRQbGF5ID0gdHJ1ZTsKKyAgICBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24gb3V0cHV0RGVz
Y3JpcHRpb247CisgICAgYXV0byByZW1vdGVJT1VuaXQgPSBjcmVhdGVBdWRpb1VuaXQob3V0cHV0
RGVzY3JpcHRpb24pOworICAgIGlmICghcmVtb3RlSU9Vbml0KQorICAgICAgICByZXR1cm47CiAK
LSAgICBpZiAobV9kYXRhU291cmNlKQotICAgICAgICBtX2RhdGFTb3VyY2UtPnNldFBhdXNlZChm
YWxzZSk7CisgICAgaWYgKGF1dG8gZXJyb3IgPSBBdWRpb091dHB1dFVuaXRTdGFydChyZW1vdGVJ
T1VuaXQpKSB7CisgICAgICAgIEVSUk9SX0xPRyhMT0dJREVOVElGSUVSLCAiQXVkaW9PdXRwdXRV
bml0U3RhcnQgZmFpbGVkLCBlcnJvciA9ICIsIGVycm9yLCAiICgiLCAoY29uc3QgY2hhciopJmVy
cm9yLCAiKSIpOworICAgICAgICBBdWRpb0NvbXBvbmVudEluc3RhbmNlRGlzcG9zZShyZW1vdGVJ
T1VuaXQpOworICAgICAgICBtX2lucHV0RGVzY3JpcHRpb24gPSBudWxscHRyOworICAgICAgICBy
ZXR1cm47CisgICAgfQorICAgIG1fb3V0cHV0RGVzY3JpcHRpb24gPSBtYWtlVW5pcXVlPENBQXVk
aW9TdHJlYW1EZXNjcmlwdGlvbj4ob3V0cHV0RGVzY3JpcHRpb24pOworICAgIG1fcmVtb3RlSU9V
bml0ID0gcmVtb3RlSU9Vbml0OwogfQogCiB2b2lkIEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRl
cmVyQ29jb2E6OnN0b3AoKQogewotICAgIG1fc2hvdWxkUGxheSA9IGZhbHNlOworICAgIGlmICgh
bV9yZW1vdGVJT1VuaXQpCisgICAgICAgIHJldHVybjsKIAotICAgIGlmIChtX2RhdGFTb3VyY2Up
Ci0gICAgICAgIG1fZGF0YVNvdXJjZS0+c2V0UGF1c2VkKHRydWUpOworICAgIEF1ZGlvT3V0cHV0
VW5pdFN0b3AobV9yZW1vdGVJT1VuaXQpOworICAgIEF1ZGlvQ29tcG9uZW50SW5zdGFuY2VEaXNw
b3NlKG1fcmVtb3RlSU9Vbml0KTsKKyAgICBtX3JlbW90ZUlPVW5pdCA9IG51bGxwdHI7CiB9CiAK
IHZvaWQgQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6Y2xlYXIoKQogewotICAg
IG1fc2hvdWxkUGxheSA9IGZhbHNlOwotCi0gICAgaWYgKG1fZGF0YVNvdXJjZSkKLSAgICAgICAg
bV9kYXRhU291cmNlLT5zZXRQYXVzZWQodHJ1ZSk7Ci0KICAgICBpZiAobV9yZW1vdGVJT1VuaXQp
IHsKICAgICAgICAgQXVkaW9PdXRwdXRVbml0U3RvcChtX3JlbW90ZUlPVW5pdCk7CiAgICAgICAg
IEF1ZGlvQ29tcG9uZW50SW5zdGFuY2VEaXNwb3NlKG1fcmVtb3RlSU9Vbml0KTsKQEAgLTc3LDcg
KzgzLDYgQEAgdm9pZCBBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hOjpjbGVhcigp
CiAgICAgbV9kYXRhU291cmNlID0gbnVsbHB0cjsKICAgICBtX2lucHV0RGVzY3JpcHRpb24gPSBu
dWxscHRyOwogICAgIG1fb3V0cHV0RGVzY3JpcHRpb24gPSBudWxscHRyOwotICAgIG1faXNBdWRp
b1VuaXRTdGFydGVkID0gZmFsc2U7CiB9CiAKIEF1ZGlvQ29tcG9uZW50SW5zdGFuY2UgQXVkaW9N
ZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6Y3JlYXRlQXVkaW9Vbml0KENBQXVkaW9TdHJl
YW1EZXNjcmlwdGlvbiYgb3V0cHV0RGVzY3JpcHRpb24pCkBAIC0xNDgsNzEgKzE1MywzNCBAQCBB
dWRpb0NvbXBvbmVudEluc3RhbmNlIEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2E6
OmNyZWF0ZUF1ZGlvVW5pdChDQUF1ZAogdm9pZCBBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJl
ckNvY29hOjpwdXNoU2FtcGxlcyhjb25zdCBNZWRpYVRpbWUmIHNhbXBsZVRpbWUsIGNvbnN0IFBs
YXRmb3JtQXVkaW9EYXRhJiBhdWRpb0RhdGEsIGNvbnN0IEF1ZGlvU3RyZWFtRGVzY3JpcHRpb24m
IGRlc2NyaXB0aW9uLCBzaXplX3Qgc2FtcGxlQ291bnQpCiB7CiAgICAgQVNTRVJUKGRlc2NyaXB0
aW9uLnBsYXRmb3JtRGVzY3JpcHRpb24oKS50eXBlID09IFBsYXRmb3JtRGVzY3JpcHRpb246OkNB
QXVkaW9TdHJlYW1CYXNpY1R5cGUpOwotICAgIGlmICghbV9zaG91bGRQbGF5KSB7Ci0gICAgICAg
IGlmIChtX2lzQXVkaW9Vbml0U3RhcnRlZCkgewotICAgICAgICAgICAgaWYgKG1fcmVtb3RlSU9V
bml0KQotICAgICAgICAgICAgICAgIEF1ZGlvT3V0cHV0VW5pdFN0b3AobV9yZW1vdGVJT1VuaXQp
OwotICAgICAgICAgICAgbV9pc0F1ZGlvVW5pdFN0YXJ0ZWQgPSBmYWxzZTsKLSAgICAgICAgfQor
ICAgIGlmICghbV9yZW1vdGVJT1VuaXQpCiAgICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBp
ZiAoIW1faW5wdXREZXNjcmlwdGlvbiB8fCAqbV9pbnB1dERlc2NyaXB0aW9uICE9IGRlc2NyaXB0
aW9uKSB7Ci0gICAgICAgIG1faXNBdWRpb1VuaXRTdGFydGVkID0gZmFsc2U7Ci0KLSAgICAgICAg
aWYgKG1fcmVtb3RlSU9Vbml0KSB7Ci0gICAgICAgICAgICBBdWRpb091dHB1dFVuaXRTdG9wKG1f
cmVtb3RlSU9Vbml0KTsKLSAgICAgICAgICAgIEF1ZGlvQ29tcG9uZW50SW5zdGFuY2VEaXNwb3Nl
KG1fcmVtb3RlSU9Vbml0KTsKLSAgICAgICAgICAgIG1fcmVtb3RlSU9Vbml0ID0gbnVsbHB0cjsK
LSAgICAgICAgfQotCi0gICAgICAgIG1faW5wdXREZXNjcmlwdGlvbiA9IG51bGxwdHI7Ci0gICAg
ICAgIG1fb3V0cHV0RGVzY3JpcHRpb24gPSBudWxscHRyOwogCi0gICAgICAgIENBQXVkaW9TdHJl
YW1EZXNjcmlwdGlvbiBpbnB1dERlc2NyaXB0aW9uID0gdG9DQUF1ZGlvU3RyZWFtRGVzY3JpcHRp
b24oZGVzY3JpcHRpb24pOwotICAgICAgICBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24gb3V0cHV0
RGVzY3JpcHRpb247CisgICAgaWYgKCFtX2RhdGFTb3VyY2UgfHwgIW1fZGF0YVNvdXJjZS0+aW5w
dXREZXNjcmlwdGlvbigpIHx8IHRvQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uKCptX2RhdGFTb3Vy
Y2UtPmlucHV0RGVzY3JpcHRpb24oKSkgIT0gZGVzY3JpcHRpb24pIHsKKyAgICAgICAgYXV0byBk
YXRhU291cmNlID0gQXVkaW9TYW1wbGVEYXRhU291cmNlOjpjcmVhdGUoZGVzY3JpcHRpb24uc2Ft
cGxlUmF0ZSgpICogMiwgKnRoaXMpOwogCi0gICAgICAgIGF1dG8gcmVtb3RlSU9Vbml0ID0gY3Jl
YXRlQXVkaW9Vbml0KG91dHB1dERlc2NyaXB0aW9uKTsKLSAgICAgICAgaWYgKCFyZW1vdGVJT1Vu
aXQpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgbV9pbnB1dERlc2NyaXB0aW9uID0g
bWFrZVVuaXF1ZTxDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24+KGlucHV0RGVzY3JpcHRpb24pOwot
ICAgICAgICBtX291dHB1dERlc2NyaXB0aW9uID0gbWFrZVVuaXF1ZTxDQUF1ZGlvU3RyZWFtRGVz
Y3JpcHRpb24+KG91dHB1dERlc2NyaXB0aW9uKTsKLQotICAgICAgICBtX2RhdGFTb3VyY2UgPSBB
dWRpb1NhbXBsZURhdGFTb3VyY2U6OmNyZWF0ZShkZXNjcmlwdGlvbi5zYW1wbGVSYXRlKCkgKiAy
LCAqdGhpcyk7Ci0KLSAgICAgICAgaWYgKG1fZGF0YVNvdXJjZS0+c2V0SW5wdXRGb3JtYXQoaW5w
dXREZXNjcmlwdGlvbikgfHwgbV9kYXRhU291cmNlLT5zZXRPdXRwdXRGb3JtYXQob3V0cHV0RGVz
Y3JpcHRpb24pKSB7Ci0gICAgICAgICAgICBBdWRpb0NvbXBvbmVudEluc3RhbmNlRGlzcG9zZShy
ZW1vdGVJT1VuaXQpOworICAgICAgICBpZiAoZGF0YVNvdXJjZS0+c2V0SW5wdXRGb3JtYXQodG9D
QUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24oZGVzY3JpcHRpb24pKSkgeworICAgICAgICAgICAgRVJS
T1JfTE9HKExPR0lERU5USUZJRVIsICJVbmFibGUgdG8gc2V0IHRoZSBpbnB1dCBmb3JtYXQgb2Yg
ZGF0YSBzb3VyY2UiKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAg
IGlmIChhdXRvIGVycm9yID0gQXVkaW9PdXRwdXRVbml0U3RhcnQocmVtb3RlSU9Vbml0KSkgewot
ICAgICAgICAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsICJBdWRpb091dHB1dFVuaXRTdGFy
dCBmYWlsZWQsIGVycm9yID0gIiwgZXJyb3IsICIgKCIsIChjb25zdCBjaGFyKikmZXJyb3IsICIp
Iik7Ci0gICAgICAgICAgICBBdWRpb0NvbXBvbmVudEluc3RhbmNlRGlzcG9zZShyZW1vdGVJT1Vu
aXQpOwotICAgICAgICAgICAgbV9pbnB1dERlc2NyaXB0aW9uID0gbnVsbHB0cjsKKyAgICAgICAg
aWYgKGRhdGFTb3VyY2UtPnNldE91dHB1dEZvcm1hdCgqbV9vdXRwdXREZXNjcmlwdGlvbikpIHsK
KyAgICAgICAgICAgIEVSUk9SX0xPRyhMT0dJREVOVElGSUVSLCAiVW5hYmxlIHRvIHNldCB0aGUg
b3V0cHV0IGZvcm1hdCBvZiBkYXRhIHNvdXJjZSIpOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CiAKLSAgICAgICAgbV9pc0F1ZGlvVW5pdFN0YXJ0ZWQgPSB0cnVlOworICAgICAgICBk
YXRhU291cmNlLT5zZXRQYXVzZWQoZmFsc2UpOworICAgICAgICBkYXRhU291cmNlLT5zZXRWb2x1
bWUodm9sdW1lKCkpOwogCi0gICAgICAgIG1fZGF0YVNvdXJjZS0+c2V0Vm9sdW1lKHZvbHVtZSgp
KTsKLSAgICAgICAgbV9yZW1vdGVJT1VuaXQgPSByZW1vdGVJT1VuaXQ7CisgICAgICAgIG1fZGF0
YVNvdXJjZSA9IFdURk1vdmUoZGF0YVNvdXJjZSk7CiAgICAgfQogCiAgICAgbV9kYXRhU291cmNl
LT5wdXNoU2FtcGxlcyhzYW1wbGVUaW1lLCBhdWRpb0RhdGEsIHNhbXBsZUNvdW50KTsKLQotICAg
IGlmICghbV9pc0F1ZGlvVW5pdFN0YXJ0ZWQpIHsKLSAgICAgICAgaWYgKGF1dG8gZXJyb3IgPSBB
dWRpb091dHB1dFVuaXRTdGFydChtX3JlbW90ZUlPVW5pdCkpIHsKLSAgICAgICAgICAgIEVSUk9S
X0xPRyhMT0dJREVOVElGSUVSLCAiQXVkaW9PdXRwdXRVbml0U3RhcnQgZmFpbGVkLCBlcnJvciA9
ICIsIGVycm9yLCAiICgiLCAoY29uc3QgY2hhciopJmVycm9yLCAiKSIpOwotICAgICAgICAgICAg
cmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIG1faXNBdWRpb1VuaXRTdGFydGVkID0gdHJ1ZTsK
LSAgICB9CiB9CiAKIE9TU3RhdHVzIEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2E6
OnJlbmRlcihVSW50MzIgc2FtcGxlQ291bnQsIEF1ZGlvQnVmZmVyTGlzdCYgaW9EYXRhLCBVSW50
MzIgLyppbkJ1c051bWJlciovLCBjb25zdCBBdWRpb1RpbWVTdGFtcCYgdGltZVN0YW1wLCBBdWRp
b1VuaXRSZW5kZXJBY3Rpb25GbGFncyYgYWN0aW9uRmxhZ3MpCiB7Ci0gICAgaWYgKGlzTXV0ZWQo
KSB8fCAhbV9zaG91bGRQbGF5IHx8ICFtX2RhdGFTb3VyY2UpIHsKKyAgICBpZiAoIW1fZGF0YVNv
dXJjZSkgewogICAgICAgICBBdWRpb1NhbXBsZUJ1ZmZlckxpc3Q6Onplcm9BQkwoaW9EYXRhLCBz
dGF0aWNfY2FzdDxzaXplX3Q+KHNhbXBsZUNvdW50ICogbV9vdXRwdXREZXNjcmlwdGlvbi0+Ynl0
ZXNQZXJGcmFtZSgpKSk7CiAgICAgICAgIGFjdGlvbkZsYWdzID0ga0F1ZGlvVW5pdFJlbmRlckFj
dGlvbl9PdXRwdXRJc1NpbGVuY2U7CiAgICAgICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFj
a1JlbmRlcmVyQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21h
Yy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hLmgKaW5kZXggMTU0ZGZhOTU0Mjdl
ZjJiYmQwNTRhOWY1M2I0ZjZiNTA2MjFmMzk1Yy4uNmI2YTZkZmM4MDQyZTY2NTJkZjFhMGQ2Nzk3
MDY0OGM2ODdlMGE0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9NZWRpYVN0cmVhbVRyYWNr
UmVuZGVyZXJDb2NvYS5oCkBAIC01NywxNSArNTcsMTIgQEAgcHJpdmF0ZToKIAogICAgIEF1ZGlv
Q29tcG9uZW50SW5zdGFuY2UgY3JlYXRlQXVkaW9Vbml0KENBQXVkaW9TdHJlYW1EZXNjcmlwdGlv
biYpOwogCi0gICAgLy8gQXVkaW8gdGhyZWFkIG1lbWJlcnMKICAgICBBdWRpb0NvbXBvbmVudElu
c3RhbmNlIG1fcmVtb3RlSU9Vbml0IHsgbnVsbHB0ciB9OwotICAgIHN0ZDo6dW5pcXVlX3B0cjxD
QUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24+IG1faW5wdXREZXNjcmlwdGlvbjsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uPiBtX291dHB1dERlc2NyaXB0aW9uOwog
Ci0gICAgLy8gQ3Jvc3MgdGhyZWFkIG1lbWJlcnMKKyAgICAvLyBBdWRpbyB0aHJlYWQgbWVtYmVy
cworICAgIHN0ZDo6dW5pcXVlX3B0cjxDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24+IG1faW5wdXRE
ZXNjcmlwdGlvbjsKICAgICBSZWZQdHI8QXVkaW9TYW1wbGVEYXRhU291cmNlPiBtX2RhdGFTb3Vy
Y2U7Ci0gICAgYm9vbCBtX2lzQXVkaW9Vbml0U3RhcnRlZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBt
X3Nob3VsZFBsYXkgeyBmYWxzZSB9OwogfTsKIAogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398187</attachid>
            <date>2020-05-01 08:58:57 -0700</date>
            <delta_ts>2020-05-01 09:35:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211287-20200501175855.patch</filename>
            <type>text/plain</type>
            <size>10921</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwOTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTg4YjAyM2UxNzkzNzFk
MGEzMjQ1NjVmOGZkZDI0YzJhYmZmMTk5ZS4uOGU5YzNhOTkxZjFhODE4NmE1MWY2ZWM3ZTZkMGEy
Y2EwYTZmNTI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIwLTA1LTAxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBdWRpb01lZGlhU3RyZWFt
VHJhY2tSZW5kZXJlckNvY29hIHNob3VsZCBjcmVhdGUvc3RhcnQvc3RvcCBpdHMgcmVtb3RlIHVu
aXQgb24gdGhlIG1haW4gdGhyZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTEyODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDcmVhdGluZy9zdGFydGluZy9zdG9wcGluZyBhdWRpbyB1bml0cyBpbiBk
aWZmZXJlbnQgdGhyZWFkcyBpcyBlcnJvciBwcm9uZS4KKyAgICAgICAgTm93IHRoYXQgd2UgaGF2
ZSBhbiBvYnNlcnZlciBtb2RlbCB3aGVyZSB3ZSBoYXZlIG9ic2VydmVycyBmb3Igd2hlbiB0byBw
bGF5IGluIHRoZSBtYWluIHRocmVhZCBhbmQKKyAgICAgICAgYmFzZWQgb24gdGhhdCwgd2UgZGVj
aWRlIHRvIHJlY2VpdmUgYXVkaW8gc2FtcGxlcyBpbiBhIGJhY2tncm91bmQgdGhyZWFkLCB3ZSBj
YW4gc2ltcGxpZnkgdGhlIGxvZ2ljIG9mIEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29j
b2EuCisgICAgICAgIFdlIGRvIHRoaXMgYnkgY3JlYXRpbmcvc3RhcnRpbmcgdGhlIHVuaXQgaW4g
QXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6c3RhcnQuCisgICAgICAgIEF0IHRo
YXQgcG9pbnQsIEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EgaXMgbm90IGV4cGVj
dGVkIHRvIHJlY2VpdmUgYW55IHNhbXBsZS4KKyAgICAgICAgSnVzdCBhZnRlciBzdGFydGluZywg
QXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbSB3aWxsIHJlY2VpdmUgYXVkaW8gc2FtcGxlcyBh
bmQgZm9yd2FyZCB0aGVtIHRvIEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuCisg
ICAgICAgIEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2Egd2lsbCB0aGVuIGNyZWF0
ZSBpbiBhIGJhY2tncm91bmQgdGhyZWFkIHRoZSBBdWRpb1NhbXBsZURhdGFTb3VyY2UgdGhhdCBp
cyByZXNwb25zaWJsZSB0byBhZGFwdCB0aGUgcmVjZWl2ZWQgYXVkaW8gc2FtcGxlcyB0byB0aGUg
dW5pdC4KKworICAgICAgICBNYW51YWxseSB0ZXN0ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9h
dWRpby9tYWMvQXVkaW9TYW1wbGVEYXRhU291cmNlLmg6CisgICAgICAgIChXZWJDb3JlOjpBdWRp
b1NhbXBsZURhdGFTb3VyY2U6OmlucHV0RGVzY3JpcHRpb24gY29uc3QpOgorICAgICAgICAqIHBs
YXRmb3JtL21lZGlhc3RyZWFtL0F1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW0uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbTo6c3RhcnRSZW5kZXJl
cik6CisgICAgICAgIEVuc3VyZSB0byBzdGFydCB0aGUgdW5pdCBhbmQgdGhlbiBzdGFydCBnZXR0
dGluZyBhdWRpbyBzYW1wbGVzLgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9B
dWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2E6OnN0YXJ0KToKKyAgICAgICAgKFdl
YkNvcmU6OkF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2E6OnN0b3ApOgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6Y2xlYXIpOgor
ICAgICAgICAoV2ViQ29yZTo6QXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6cHVz
aFNhbXBsZXMpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVy
ZXJDb2NvYTo6cmVuZGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVk
aW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYS5oOgorCiAyMDIwLTA1LTAxICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBTcGVjaWZpYyBkb20gbm9kZSBv
cmRlciBvZiBTaGFkb3cgRE9NIChyZSlwcm9qZWN0aW9uIGNhdXNlcyBjcmFzaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2FtcGxlRGF0YVNvdXJj
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2FtcGxlRGF0YVNv
dXJjZS5oCmluZGV4IDMyNmM5YmMyYTlhOGNlMDY1NDM2Mzc1MGRmYjNmYmY1MGVjNThmZjMuLjBm
ODllZjkxOGYwNDcyMWEyOGUyN2QxYzZhOTQyODk2ZjUxNzMwYjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBsZURhdGFTb3VyY2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TYW1wbGVEYXRhU291cmNl
LmgKQEAgLTczLDYgKzczLDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0TXV0ZWQoYm9vbCBtdXRl
ZCkgeyBtX211dGVkID0gbXV0ZWQ7IH0KICAgICBib29sIG11dGVkKCkgY29uc3QgeyByZXR1cm4g
bV9tdXRlZDsgfQogCisgICAgY29uc3QgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uKiBpbnB1dERl
c2NyaXB0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9pbnB1dERlc2NyaXB0aW9uLmdldCgpOyB9CisK
ICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICBjb25zdCBMb2dnZXImIGxvZ2dlcigpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nZ2VyOyB9CiAgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRp
ZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nSWRlbnRpZmllcjsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vQXVkaW9UcmFja1ByaXZhdGVN
ZWRpYVN0cmVhbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9BdWRp
b1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtLmNwcAppbmRleCAwMzU1MTQwNDcyYmNmMzU4MDQzOWY0
ZWRjMDNhN2FmNjJiZTdmOGVjLi43YjRmNTUyMTE5N2YzNjE4NGY4N2UxMDE4MzcxNDQ5Y2Q4NGM1
MTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9BdWRp
b1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9BdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtLmNwcApAQCAtMTM5LDgg
KzEzOSw4IEBAIHZvaWQgQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbTo6c3RhcnRSZW5kZXJl
cigpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1faXNQbGF5aW5nID0gdHJ1ZTsKLSAgICBtX2F1
ZGlvU291cmNlLT5hZGRBdWRpb1NhbXBsZU9ic2VydmVyKCp0aGlzKTsKICAgICBtX3JlbmRlcmVy
LT5zdGFydCgpOworICAgIG1fYXVkaW9Tb3VyY2UtPmFkZEF1ZGlvU2FtcGxlT2JzZXJ2ZXIoKnRo
aXMpOwogfQogCiB2b2lkIEF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW06OnN0b3BSZW5kZXJl
cigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
QXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2Nv
YS5jcHAKaW5kZXggMTlkYzRhOWFmNzYzMWQ1NmYyYmEwYjIzY2E3YWQzZDEyMmQwMGJhYS4uMjUw
MzVmMWRiMzYzMWFhMDBiYTMxMDk5ZTU3OTVlZTM5YmJjODEwMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1Jl
bmRlcmVyQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hLmNwcApAQCAtNDcsMjcgKzQ3
LDMyIEBAIHZvaWQgQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6c3RhcnQoKQog
ewogICAgIGNsZWFyKCk7CiAKLSAgICBtX3Nob3VsZFBsYXkgPSB0cnVlOworICAgIENBQXVkaW9T
dHJlYW1EZXNjcmlwdGlvbiBvdXRwdXREZXNjcmlwdGlvbjsKKyAgICBhdXRvIHJlbW90ZUlPVW5p
dCA9IGNyZWF0ZUF1ZGlvVW5pdChvdXRwdXREZXNjcmlwdGlvbik7CisgICAgaWYgKCFyZW1vdGVJ
T1VuaXQpCisgICAgICAgIHJldHVybjsKIAotICAgIGlmIChtX2RhdGFTb3VyY2UpCi0gICAgICAg
IG1fZGF0YVNvdXJjZS0+c2V0UGF1c2VkKGZhbHNlKTsKKyAgICBpZiAoYXV0byBlcnJvciA9IEF1
ZGlvT3V0cHV0VW5pdFN0YXJ0KHJlbW90ZUlPVW5pdCkpIHsKKyAgICAgICAgRVJST1JfTE9HKExP
R0lERU5USUZJRVIsICJBdWRpb091dHB1dFVuaXRTdGFydCBmYWlsZWQsIGVycm9yID0gIiwgZXJy
b3IsICIgKCIsIChjb25zdCBjaGFyKikmZXJyb3IsICIpIik7CisgICAgICAgIEF1ZGlvQ29tcG9u
ZW50SW5zdGFuY2VEaXNwb3NlKHJlbW90ZUlPVW5pdCk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisgICAgbV9vdXRwdXREZXNjcmlwdGlvbiA9IG1ha2VVbmlxdWU8Q0FBdWRpb1N0cmVhbURlc2Ny
aXB0aW9uPihvdXRwdXREZXNjcmlwdGlvbik7CisgICAgbV9yZW1vdGVJT1VuaXQgPSByZW1vdGVJ
T1VuaXQ7CiB9CiAKIHZvaWQgQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6c3Rv
cCgpCiB7Ci0gICAgbV9zaG91bGRQbGF5ID0gZmFsc2U7CisgICAgaWYgKCFtX3JlbW90ZUlPVW5p
dCkKKyAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG1fZGF0YVNvdXJjZSkKLSAgICAgICAgbV9k
YXRhU291cmNlLT5zZXRQYXVzZWQodHJ1ZSk7CisgICAgQXVkaW9PdXRwdXRVbml0U3RvcChtX3Jl
bW90ZUlPVW5pdCk7CisgICAgQXVkaW9Db21wb25lbnRJbnN0YW5jZURpc3Bvc2UobV9yZW1vdGVJ
T1VuaXQpOworICAgIG1fcmVtb3RlSU9Vbml0ID0gbnVsbHB0cjsKIH0KIAogdm9pZCBBdWRpb01l
ZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hOjpjbGVhcigpCiB7Ci0gICAgbV9zaG91bGRQbGF5
ID0gZmFsc2U7Ci0KLSAgICBpZiAobV9kYXRhU291cmNlKQotICAgICAgICBtX2RhdGFTb3VyY2Ut
PnNldFBhdXNlZCh0cnVlKTsKLQogICAgIGlmIChtX3JlbW90ZUlPVW5pdCkgewogICAgICAgICBB
dWRpb091dHB1dFVuaXRTdG9wKG1fcmVtb3RlSU9Vbml0KTsKICAgICAgICAgQXVkaW9Db21wb25l
bnRJbnN0YW5jZURpc3Bvc2UobV9yZW1vdGVJT1VuaXQpOwpAQCAtNzUsOSArODAsNyBAQCB2b2lk
IEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2E6OmNsZWFyKCkKICAgICB9CiAKICAg
ICBtX2RhdGFTb3VyY2UgPSBudWxscHRyOwotICAgIG1faW5wdXREZXNjcmlwdGlvbiA9IG51bGxw
dHI7CiAgICAgbV9vdXRwdXREZXNjcmlwdGlvbiA9IG51bGxwdHI7Ci0gICAgbV9pc0F1ZGlvVW5p
dFN0YXJ0ZWQgPSBmYWxzZTsKIH0KIAogQXVkaW9Db21wb25lbnRJbnN0YW5jZSBBdWRpb01lZGlh
U3RyZWFtVHJhY2tSZW5kZXJlckNvY29hOjpjcmVhdGVBdWRpb1VuaXQoQ0FBdWRpb1N0cmVhbURl
c2NyaXB0aW9uJiBvdXRwdXREZXNjcmlwdGlvbikKQEAgLTE0OCw3OCArMTUxLDQxIEBAIEF1ZGlv
Q29tcG9uZW50SW5zdGFuY2UgQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6Y3Jl
YXRlQXVkaW9Vbml0KENBQXVkCiB2b2lkIEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29j
b2E6OnB1c2hTYW1wbGVzKGNvbnN0IE1lZGlhVGltZSYgc2FtcGxlVGltZSwgY29uc3QgUGxhdGZv
cm1BdWRpb0RhdGEmIGF1ZGlvRGF0YSwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZGVz
Y3JpcHRpb24sIHNpemVfdCBzYW1wbGVDb3VudCkKIHsKICAgICBBU1NFUlQoZGVzY3JpcHRpb24u
cGxhdGZvcm1EZXNjcmlwdGlvbigpLnR5cGUgPT0gUGxhdGZvcm1EZXNjcmlwdGlvbjo6Q0FBdWRp
b1N0cmVhbUJhc2ljVHlwZSk7Ci0gICAgaWYgKCFtX3Nob3VsZFBsYXkpIHsKLSAgICAgICAgaWYg
KG1faXNBdWRpb1VuaXRTdGFydGVkKSB7Ci0gICAgICAgICAgICBpZiAobV9yZW1vdGVJT1VuaXQp
Ci0gICAgICAgICAgICAgICAgQXVkaW9PdXRwdXRVbml0U3RvcChtX3JlbW90ZUlPVW5pdCk7Ci0g
ICAgICAgICAgICBtX2lzQXVkaW9Vbml0U3RhcnRlZCA9IGZhbHNlOwotICAgICAgICB9CisgICAg
aWYgKCFtX3JlbW90ZUlPVW5pdCkKICAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICgh
bV9pbnB1dERlc2NyaXB0aW9uIHx8ICptX2lucHV0RGVzY3JpcHRpb24gIT0gZGVzY3JpcHRpb24p
IHsKLSAgICAgICAgbV9pc0F1ZGlvVW5pdFN0YXJ0ZWQgPSBmYWxzZTsKLQotICAgICAgICBpZiAo
bV9yZW1vdGVJT1VuaXQpIHsKLSAgICAgICAgICAgIEF1ZGlvT3V0cHV0VW5pdFN0b3AobV9yZW1v
dGVJT1VuaXQpOwotICAgICAgICAgICAgQXVkaW9Db21wb25lbnRJbnN0YW5jZURpc3Bvc2UobV9y
ZW1vdGVJT1VuaXQpOwotICAgICAgICAgICAgbV9yZW1vdGVJT1VuaXQgPSBudWxscHRyOwotICAg
ICAgICB9CiAKLSAgICAgICAgbV9pbnB1dERlc2NyaXB0aW9uID0gbnVsbHB0cjsKLSAgICAgICAg
bV9vdXRwdXREZXNjcmlwdGlvbiA9IG51bGxwdHI7CisgICAgaWYgKCFtX2RhdGFTb3VyY2UgfHwg
IW1fZGF0YVNvdXJjZS0+aW5wdXREZXNjcmlwdGlvbigpIHx8IHRvQ0FBdWRpb1N0cmVhbURlc2Ny
aXB0aW9uKCptX2RhdGFTb3VyY2UtPmlucHV0RGVzY3JpcHRpb24oKSkgIT0gZGVzY3JpcHRpb24p
IHsKKyAgICAgICAgYXV0byBkYXRhU291cmNlID0gQXVkaW9TYW1wbGVEYXRhU291cmNlOjpjcmVh
dGUoZGVzY3JpcHRpb24uc2FtcGxlUmF0ZSgpICogMiwgKnRoaXMpOwogCi0gICAgICAgIENBQXVk
aW9TdHJlYW1EZXNjcmlwdGlvbiBpbnB1dERlc2NyaXB0aW9uID0gdG9DQUF1ZGlvU3RyZWFtRGVz
Y3JpcHRpb24oZGVzY3JpcHRpb24pOwotICAgICAgICBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24g
b3V0cHV0RGVzY3JpcHRpb247Ci0KLSAgICAgICAgYXV0byByZW1vdGVJT1VuaXQgPSBjcmVhdGVB
dWRpb1VuaXQob3V0cHV0RGVzY3JpcHRpb24pOwotICAgICAgICBpZiAoIXJlbW90ZUlPVW5pdCkK
LSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBtX2lucHV0RGVzY3JpcHRpb24gPSBtYWtl
VW5pcXVlPENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbj4oaW5wdXREZXNjcmlwdGlvbik7Ci0gICAg
ICAgIG1fb3V0cHV0RGVzY3JpcHRpb24gPSBtYWtlVW5pcXVlPENBQXVkaW9TdHJlYW1EZXNjcmlw
dGlvbj4ob3V0cHV0RGVzY3JpcHRpb24pOwotCi0gICAgICAgIG1fZGF0YVNvdXJjZSA9IEF1ZGlv
U2FtcGxlRGF0YVNvdXJjZTo6Y3JlYXRlKGRlc2NyaXB0aW9uLnNhbXBsZVJhdGUoKSAqIDIsICp0
aGlzKTsKLQotICAgICAgICBpZiAobV9kYXRhU291cmNlLT5zZXRJbnB1dEZvcm1hdChpbnB1dERl
c2NyaXB0aW9uKSB8fCBtX2RhdGFTb3VyY2UtPnNldE91dHB1dEZvcm1hdChvdXRwdXREZXNjcmlw
dGlvbikpIHsKLSAgICAgICAgICAgIEF1ZGlvQ29tcG9uZW50SW5zdGFuY2VEaXNwb3NlKHJlbW90
ZUlPVW5pdCk7CisgICAgICAgIGlmIChkYXRhU291cmNlLT5zZXRJbnB1dEZvcm1hdCh0b0NBQXVk
aW9TdHJlYW1EZXNjcmlwdGlvbihkZXNjcmlwdGlvbikpKSB7CisgICAgICAgICAgICBFUlJPUl9M
T0coTE9HSURFTlRJRklFUiwgIlVuYWJsZSB0byBzZXQgdGhlIGlucHV0IGZvcm1hdCBvZiBkYXRh
IHNvdXJjZSIpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgaWYg
KGF1dG8gZXJyb3IgPSBBdWRpb091dHB1dFVuaXRTdGFydChyZW1vdGVJT1VuaXQpKSB7Ci0gICAg
ICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwgIkF1ZGlvT3V0cHV0VW5pdFN0YXJ0IGZh
aWxlZCwgZXJyb3IgPSAiLCBlcnJvciwgIiAoIiwgKGNvbnN0IGNoYXIqKSZlcnJvciwgIikiKTsK
LSAgICAgICAgICAgIEF1ZGlvQ29tcG9uZW50SW5zdGFuY2VEaXNwb3NlKHJlbW90ZUlPVW5pdCk7
Ci0gICAgICAgICAgICBtX2lucHV0RGVzY3JpcHRpb24gPSBudWxscHRyOworICAgICAgICBpZiAo
ZGF0YVNvdXJjZS0+c2V0T3V0cHV0Rm9ybWF0KCptX291dHB1dERlc2NyaXB0aW9uKSkgeworICAg
ICAgICAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsICJVbmFibGUgdG8gc2V0IHRoZSBvdXRw
dXQgZm9ybWF0IG9mIGRhdGEgc291cmNlIik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KIAotICAgICAgICBtX2lzQXVkaW9Vbml0U3RhcnRlZCA9IHRydWU7CisgICAgICAgIGRhdGFT
b3VyY2UtPnNldFBhdXNlZChmYWxzZSk7CisgICAgICAgIGRhdGFTb3VyY2UtPnNldFZvbHVtZSh2
b2x1bWUoKSk7CiAKLSAgICAgICAgbV9kYXRhU291cmNlLT5zZXRWb2x1bWUodm9sdW1lKCkpOwot
ICAgICAgICBtX3JlbW90ZUlPVW5pdCA9IHJlbW90ZUlPVW5pdDsKKyAgICAgICAgbV9kYXRhU291
cmNlID0gV1RGTW92ZShkYXRhU291cmNlKTsKICAgICB9CiAKICAgICBtX2RhdGFTb3VyY2UtPnB1
c2hTYW1wbGVzKHNhbXBsZVRpbWUsIGF1ZGlvRGF0YSwgc2FtcGxlQ291bnQpOwotCi0gICAgaWYg
KCFtX2lzQXVkaW9Vbml0U3RhcnRlZCkgewotICAgICAgICBpZiAoYXV0byBlcnJvciA9IEF1ZGlv
T3V0cHV0VW5pdFN0YXJ0KG1fcmVtb3RlSU9Vbml0KSkgewotICAgICAgICAgICAgRVJST1JfTE9H
KExPR0lERU5USUZJRVIsICJBdWRpb091dHB1dFVuaXRTdGFydCBmYWlsZWQsIGVycm9yID0gIiwg
ZXJyb3IsICIgKCIsIChjb25zdCBjaGFyKikmZXJyb3IsICIpIik7Ci0gICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgIH0KLSAgICAgICAgbV9pc0F1ZGlvVW5pdFN0YXJ0ZWQgPSB0cnVlOwotICAg
IH0KIH0KIAogT1NTdGF0dXMgQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6cmVu
ZGVyKFVJbnQzMiBzYW1wbGVDb3VudCwgQXVkaW9CdWZmZXJMaXN0JiBpb0RhdGEsIFVJbnQzMiAv
KmluQnVzTnVtYmVyKi8sIGNvbnN0IEF1ZGlvVGltZVN0YW1wJiB0aW1lU3RhbXAsIEF1ZGlvVW5p
dFJlbmRlckFjdGlvbkZsYWdzJiBhY3Rpb25GbGFncykKIHsKLSAgICBpZiAoaXNNdXRlZCgpIHx8
ICFtX3Nob3VsZFBsYXkgfHwgIW1fZGF0YVNvdXJjZSkgeworICAgIGF1dG8gZGF0YVNvdXJjZSA9
IG1fZGF0YVNvdXJjZTsKKyAgICBpZiAoIWRhdGFTb3VyY2UpIHsKICAgICAgICAgQXVkaW9TYW1w
bGVCdWZmZXJMaXN0Ojp6ZXJvQUJMKGlvRGF0YSwgc3RhdGljX2Nhc3Q8c2l6ZV90PihzYW1wbGVD
b3VudCAqIG1fb3V0cHV0RGVzY3JpcHRpb24tPmJ5dGVzUGVyRnJhbWUoKSkpOwogICAgICAgICBh
Y3Rpb25GbGFncyA9IGtBdWRpb1VuaXRSZW5kZXJBY3Rpb25fT3V0cHV0SXNTaWxlbmNlOwogICAg
ICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBtX2RhdGFTb3VyY2UtPnB1bGxTYW1wbGVzKGlv
RGF0YSwgc3RhdGljX2Nhc3Q8c2l6ZV90PihzYW1wbGVDb3VudCksIHRpbWVTdGFtcC5tU2FtcGxl
VGltZSwgdGltZVN0YW1wLm1Ib3N0VGltZSwgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpDb3B5KTsK
LQorICAgIGRhdGFTb3VyY2UtPnB1bGxTYW1wbGVzKGlvRGF0YSwgc3RhdGljX2Nhc3Q8c2l6ZV90
PihzYW1wbGVDb3VudCksIHRpbWVTdGFtcC5tU2FtcGxlVGltZSwgdGltZVN0YW1wLm1Ib3N0VGlt
ZSwgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpDb3B5KTsKICAgICByZXR1cm4gMDsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVk
aWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hLmgKaW5kZXgg
MTU0ZGZhOTU0MjdlZjJiYmQwNTRhOWY1M2I0ZjZiNTA2MjFmMzk1Yy4uMjdjZmNhYjQ1OGY5MTRj
NGNiN2YyYTI4ZTZiOTQ5YTdhZjRlMmI1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2Eu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9NZWRp
YVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYS5oCkBAIC01NywxNSArNTcsMTEgQEAgcHJpdmF0ZToK
IAogICAgIEF1ZGlvQ29tcG9uZW50SW5zdGFuY2UgY3JlYXRlQXVkaW9Vbml0KENBQXVkaW9TdHJl
YW1EZXNjcmlwdGlvbiYpOwogCi0gICAgLy8gQXVkaW8gdGhyZWFkIG1lbWJlcnMKICAgICBBdWRp
b0NvbXBvbmVudEluc3RhbmNlIG1fcmVtb3RlSU9Vbml0IHsgbnVsbHB0ciB9OwotICAgIHN0ZDo6
dW5pcXVlX3B0cjxDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24+IG1faW5wdXREZXNjcmlwdGlvbjsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uPiBtX291dHB1dERl
c2NyaXB0aW9uOwogCi0gICAgLy8gQ3Jvc3MgdGhyZWFkIG1lbWJlcnMKKyAgICAvLyBBdWRpbyB0
aHJlYWRzIG1lbWJlcgogICAgIFJlZlB0cjxBdWRpb1NhbXBsZURhdGFTb3VyY2U+IG1fZGF0YVNv
dXJjZTsKLSAgICBib29sIG1faXNBdWRpb1VuaXRTdGFydGVkIHsgZmFsc2UgfTsKLSAgICBib29s
IG1fc2hvdWxkUGxheSB7IGZhbHNlIH07CiB9OwogCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398191</attachid>
            <date>2020-05-01 09:35:08 -0700</date>
            <delta_ts>2020-05-01 09:54:04 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-211287-20200501183506.patch</filename>
            <type>text/plain</type>
            <size>11743</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwOTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTg4YjAyM2UxNzkzNzFk
MGEzMjQ1NjVmOGZkZDI0YzJhYmZmMTk5ZS4uZDUwZjFiMzQ5OTdhNGIxZTFjNDg4N2RhZTJiZDI2
ZmE2OTRlMDU0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIwLTA1LTAxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBdWRpb01lZGlhU3RyZWFt
VHJhY2tSZW5kZXJlckNvY29hIHNob3VsZCBjcmVhdGUvc3RhcnQvc3RvcCBpdHMgcmVtb3RlIHVu
aXQgb24gdGhlIG1haW4gdGhyZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTEyODcKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24u
CisKKyAgICAgICAgQ3JlYXRpbmcvc3RhcnRpbmcvc3RvcHBpbmcgYXVkaW8gdW5pdHMgaW4gZGlm
ZmVyZW50IHRocmVhZHMgaXMgZXJyb3IgcHJvbmUuCisgICAgICAgIE5vdyB0aGF0IHdlIGhhdmUg
YW4gb2JzZXJ2ZXIgbW9kZWwgd2hlcmUgd2UgaGF2ZSBvYnNlcnZlcnMgZm9yIHdoZW4gdG8gcGxh
eSBpbiB0aGUgbWFpbiB0aHJlYWQgYW5kCisgICAgICAgIGJhc2VkIG9uIHRoYXQsIHdlIGRlY2lk
ZSB0byByZWNlaXZlIGF1ZGlvIHNhbXBsZXMgaW4gYSBiYWNrZ3JvdW5kIHRocmVhZCwgd2UgY2Fu
IHNpbXBsaWZ5IHRoZSBsb2dpYyBvZiBBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29h
LgorICAgICAgICBXZSBkbyB0aGlzIGJ5IGNyZWF0aW5nL3N0YXJ0aW5nIHRoZSB1bml0IGluIEF1
ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2E6OnN0YXJ0LgorICAgICAgICBBdCB0aGF0
IHBvaW50LCBBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hIGlzIG5vdCBleHBlY3Rl
ZCB0byByZWNlaXZlIGFueSBzYW1wbGUuCisgICAgICAgIEp1c3QgYWZ0ZXIgc3RhcnRpbmcsIEF1
ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW0gd2lsbCByZWNlaXZlIGF1ZGlvIHNhbXBsZXMgYW5k
IGZvcndhcmQgdGhlbSB0byBBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hLgorICAg
ICAgICBBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hIHdpbGwgdGhlbiBjcmVhdGUg
aW4gYSBiYWNrZ3JvdW5kIHRocmVhZCB0aGUgQXVkaW9TYW1wbGVEYXRhU291cmNlIHRoYXQgaXMg
cmVzcG9uc2libGUgdG8gYWRhcHQgdGhlIHJlY2VpdmVkIGF1ZGlvIHNhbXBsZXMgdG8gdGhlIHVu
aXQuCisKKyAgICAgICAgTWFudWFsbHkgdGVzdGVkLgorCisgICAgICAgICogcGxhdGZvcm0vYXVk
aW8vbWFjL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9T
YW1wbGVEYXRhU291cmNlOjppbnB1dERlc2NyaXB0aW9uIGNvbnN0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9BdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW06OnN0YXJ0UmVuZGVyZXIp
OgorICAgICAgICBFbnN1cmUgdG8gc3RhcnQgdGhlIHVuaXQgYW5kIHRoZW4gc3RhcnQgZ2V0dHRp
bmcgYXVkaW8gc2FtcGxlcy4KKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVk
aW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpB
dWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hOjpzdGFydCk6CisgICAgICAgIChXZWJD
b3JlOjpBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hOjpzdG9wKToKKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2E6OmNsZWFyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2E6OnB1c2hT
YW1wbGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVy
Q29jb2E6OnJlbmRlcik6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlv
TWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuaDoKKwogMjAyMC0wNS0wMSAgQW50dGkgS29p
dmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgU3BlY2lmaWMgZG9tIG5vZGUgb3Jk
ZXIgb2YgU2hhZG93IERPTSAocmUpcHJvamVjdGlvbiBjYXVzZXMgY3Jhc2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBsZURhdGFTb3VyY2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBsZURhdGFTb3Vy
Y2UuaAppbmRleCAzMjZjOWJjMmE5YThjZTA2NTQzNjM3NTBkZmIzZmJmNTBlYzU4ZmYzLi4wZjg5
ZWY5MThmMDQ3MjFhMjhlMjdkMWM2YTk0Mjg5NmY1MTczMGIwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5o
CkBAIC03Myw2ICs3Myw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE11dGVkKGJvb2wgbXV0ZWQp
IHsgbV9tdXRlZCA9IG11dGVkOyB9CiAgICAgYm9vbCBtdXRlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
bXV0ZWQ7IH0KIAorICAgIGNvbnN0IENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiogaW5wdXREZXNj
cmlwdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faW5wdXREZXNjcmlwdGlvbi5nZXQoKTsgfQorCiAj
aWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgY29uc3QgTG9nZ2VyJiBsb2dnZXIoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBtX2xvZ2dlcjsgfQogICAgIGNvbnN0IHZvaWQqIGxvZ0lkZW50aWZp
ZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ0lkZW50aWZpZXI7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL0F1ZGlvTWVkaWFTdHJlYW1UcmFj
a1JlbmRlcmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9BdWRpb01l
ZGlhU3RyZWFtVHJhY2tSZW5kZXJlci5oCmluZGV4IDE0NjJlMzIyZjllOTBhODhlY2E4ZTI4YTk5
ZTJkYTg2N2NhMmRhODQuLjA3MGU5ZjE3MmE0YTdhNzQyMjJlNmUzOTA0MjY2Yjg5MWU1NjdmYzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL0F1ZGlvTWVk
aWFTdHJlYW1UcmFja1JlbmRlcmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXIuaApAQCAtNDcsNyArNDcsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0KCkgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBzdG9wKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhcigpID0gMDsKLSAgICAvLyBNYXkg
YmUgY2FsbGVkIG9uIGEgYmFja2dyb3VuZCB0aHJlYWQuCisgICAgLy8gTWF5IGJlIGNhbGxlZCBv
biBhIGJhY2tncm91bmQgdGhyZWFkLiBJdCBzaG91bGQgb25seSBiZSBjYWxsZWQgYWZ0ZXIgc3Rh
cnQvYmVmb3JlIHN0b3AgaXMgY2FsbGVkLgogICAgIHZpcnR1YWwgdm9pZCBwdXNoU2FtcGxlcyhj
b25zdCBXVEY6Ok1lZGlhVGltZSYsIGNvbnN0IFBsYXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgQXVk
aW9TdHJlYW1EZXNjcmlwdGlvbiYsIHNpemVfdCkgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIHNl
dE11dGVkKGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9BdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtLmNwcAppbmRl
eCAwMzU1MTQwNDcyYmNmMzU4MDQzOWY0ZWRjMDNhN2FmNjJiZTdmOGVjLi43YjRmNTUyMTE5N2Yz
NjE4NGY4N2UxMDE4MzcxNDQ5Y2Q4NGM1MTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9BdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9BdWRpb1RyYWNrUHJpdmF0ZU1l
ZGlhU3RyZWFtLmNwcApAQCAtMTM5LDggKzEzOSw4IEBAIHZvaWQgQXVkaW9UcmFja1ByaXZhdGVN
ZWRpYVN0cmVhbTo6c3RhcnRSZW5kZXJlcigpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1faXNQ
bGF5aW5nID0gdHJ1ZTsKLSAgICBtX2F1ZGlvU291cmNlLT5hZGRBdWRpb1NhbXBsZU9ic2VydmVy
KCp0aGlzKTsKICAgICBtX3JlbmRlcmVyLT5zdGFydCgpOworICAgIG1fYXVkaW9Tb3VyY2UtPmFk
ZEF1ZGlvU2FtcGxlT2JzZXJ2ZXIoKnRoaXMpOwogfQogCiB2b2lkIEF1ZGlvVHJhY2tQcml2YXRl
TWVkaWFTdHJlYW06OnN0b3BSZW5kZXJlcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2Nv
YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9NZWRp
YVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYS5jcHAKaW5kZXggMTlkYzRhOWFmNzYzMWQ1NmYyYmEw
YjIzY2E3YWQzZDEyMmQwMGJhYS4uMjUwMzVmMWRiMzYzMWFhMDBiYTMxMDk5ZTU3OTVlZTM5YmJj
ODEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJl
ckNvY29hLmNwcApAQCAtNDcsMjcgKzQ3LDMyIEBAIHZvaWQgQXVkaW9NZWRpYVN0cmVhbVRyYWNr
UmVuZGVyZXJDb2NvYTo6c3RhcnQoKQogewogICAgIGNsZWFyKCk7CiAKLSAgICBtX3Nob3VsZFBs
YXkgPSB0cnVlOworICAgIENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiBvdXRwdXREZXNjcmlwdGlv
bjsKKyAgICBhdXRvIHJlbW90ZUlPVW5pdCA9IGNyZWF0ZUF1ZGlvVW5pdChvdXRwdXREZXNjcmlw
dGlvbik7CisgICAgaWYgKCFyZW1vdGVJT1VuaXQpCisgICAgICAgIHJldHVybjsKIAotICAgIGlm
IChtX2RhdGFTb3VyY2UpCi0gICAgICAgIG1fZGF0YVNvdXJjZS0+c2V0UGF1c2VkKGZhbHNlKTsK
KyAgICBpZiAoYXV0byBlcnJvciA9IEF1ZGlvT3V0cHV0VW5pdFN0YXJ0KHJlbW90ZUlPVW5pdCkp
IHsKKyAgICAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsICJBdWRpb091dHB1dFVuaXRTdGFy
dCBmYWlsZWQsIGVycm9yID0gIiwgZXJyb3IsICIgKCIsIChjb25zdCBjaGFyKikmZXJyb3IsICIp
Iik7CisgICAgICAgIEF1ZGlvQ29tcG9uZW50SW5zdGFuY2VEaXNwb3NlKHJlbW90ZUlPVW5pdCk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgbV9vdXRwdXREZXNjcmlwdGlvbiA9IG1ha2VV
bmlxdWU8Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uPihvdXRwdXREZXNjcmlwdGlvbik7CisgICAg
bV9yZW1vdGVJT1VuaXQgPSByZW1vdGVJT1VuaXQ7CiB9CiAKIHZvaWQgQXVkaW9NZWRpYVN0cmVh
bVRyYWNrUmVuZGVyZXJDb2NvYTo6c3RvcCgpCiB7Ci0gICAgbV9zaG91bGRQbGF5ID0gZmFsc2U7
CisgICAgaWYgKCFtX3JlbW90ZUlPVW5pdCkKKyAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG1f
ZGF0YVNvdXJjZSkKLSAgICAgICAgbV9kYXRhU291cmNlLT5zZXRQYXVzZWQodHJ1ZSk7CisgICAg
QXVkaW9PdXRwdXRVbml0U3RvcChtX3JlbW90ZUlPVW5pdCk7CisgICAgQXVkaW9Db21wb25lbnRJ
bnN0YW5jZURpc3Bvc2UobV9yZW1vdGVJT1VuaXQpOworICAgIG1fcmVtb3RlSU9Vbml0ID0gbnVs
bHB0cjsKIH0KIAogdm9pZCBBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hOjpjbGVh
cigpCiB7Ci0gICAgbV9zaG91bGRQbGF5ID0gZmFsc2U7Ci0KLSAgICBpZiAobV9kYXRhU291cmNl
KQotICAgICAgICBtX2RhdGFTb3VyY2UtPnNldFBhdXNlZCh0cnVlKTsKLQogICAgIGlmIChtX3Jl
bW90ZUlPVW5pdCkgewogICAgICAgICBBdWRpb091dHB1dFVuaXRTdG9wKG1fcmVtb3RlSU9Vbml0
KTsKICAgICAgICAgQXVkaW9Db21wb25lbnRJbnN0YW5jZURpc3Bvc2UobV9yZW1vdGVJT1VuaXQp
OwpAQCAtNzUsOSArODAsNyBAQCB2b2lkIEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29j
b2E6OmNsZWFyKCkKICAgICB9CiAKICAgICBtX2RhdGFTb3VyY2UgPSBudWxscHRyOwotICAgIG1f
aW5wdXREZXNjcmlwdGlvbiA9IG51bGxwdHI7CiAgICAgbV9vdXRwdXREZXNjcmlwdGlvbiA9IG51
bGxwdHI7Ci0gICAgbV9pc0F1ZGlvVW5pdFN0YXJ0ZWQgPSBmYWxzZTsKIH0KIAogQXVkaW9Db21w
b25lbnRJbnN0YW5jZSBBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hOjpjcmVhdGVB
dWRpb1VuaXQoQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBvdXRwdXREZXNjcmlwdGlvbikKQEAg
LTE0OCw3OCArMTUxLDQxIEBAIEF1ZGlvQ29tcG9uZW50SW5zdGFuY2UgQXVkaW9NZWRpYVN0cmVh
bVRyYWNrUmVuZGVyZXJDb2NvYTo6Y3JlYXRlQXVkaW9Vbml0KENBQXVkCiB2b2lkIEF1ZGlvTWVk
aWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2E6OnB1c2hTYW1wbGVzKGNvbnN0IE1lZGlhVGltZSYg
c2FtcGxlVGltZSwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmIGF1ZGlvRGF0YSwgY29uc3QgQXVk
aW9TdHJlYW1EZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIHNpemVfdCBzYW1wbGVDb3VudCkKIHsK
ICAgICBBU1NFUlQoZGVzY3JpcHRpb24ucGxhdGZvcm1EZXNjcmlwdGlvbigpLnR5cGUgPT0gUGxh
dGZvcm1EZXNjcmlwdGlvbjo6Q0FBdWRpb1N0cmVhbUJhc2ljVHlwZSk7Ci0gICAgaWYgKCFtX3No
b3VsZFBsYXkpIHsKLSAgICAgICAgaWYgKG1faXNBdWRpb1VuaXRTdGFydGVkKSB7Ci0gICAgICAg
ICAgICBpZiAobV9yZW1vdGVJT1VuaXQpCi0gICAgICAgICAgICAgICAgQXVkaW9PdXRwdXRVbml0
U3RvcChtX3JlbW90ZUlPVW5pdCk7Ci0gICAgICAgICAgICBtX2lzQXVkaW9Vbml0U3RhcnRlZCA9
IGZhbHNlOwotICAgICAgICB9CisgICAgaWYgKCFtX3JlbW90ZUlPVW5pdCkKICAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIGlmICghbV9pbnB1dERlc2NyaXB0aW9uIHx8ICptX2lucHV0RGVz
Y3JpcHRpb24gIT0gZGVzY3JpcHRpb24pIHsKLSAgICAgICAgbV9pc0F1ZGlvVW5pdFN0YXJ0ZWQg
PSBmYWxzZTsKLQotICAgICAgICBpZiAobV9yZW1vdGVJT1VuaXQpIHsKLSAgICAgICAgICAgIEF1
ZGlvT3V0cHV0VW5pdFN0b3AobV9yZW1vdGVJT1VuaXQpOwotICAgICAgICAgICAgQXVkaW9Db21w
b25lbnRJbnN0YW5jZURpc3Bvc2UobV9yZW1vdGVJT1VuaXQpOwotICAgICAgICAgICAgbV9yZW1v
dGVJT1VuaXQgPSBudWxscHRyOwotICAgICAgICB9CiAKLSAgICAgICAgbV9pbnB1dERlc2NyaXB0
aW9uID0gbnVsbHB0cjsKLSAgICAgICAgbV9vdXRwdXREZXNjcmlwdGlvbiA9IG51bGxwdHI7Cisg
ICAgaWYgKCFtX2RhdGFTb3VyY2UgfHwgIW1fZGF0YVNvdXJjZS0+aW5wdXREZXNjcmlwdGlvbigp
IHx8IHRvQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uKCptX2RhdGFTb3VyY2UtPmlucHV0RGVzY3Jp
cHRpb24oKSkgIT0gZGVzY3JpcHRpb24pIHsKKyAgICAgICAgYXV0byBkYXRhU291cmNlID0gQXVk
aW9TYW1wbGVEYXRhU291cmNlOjpjcmVhdGUoZGVzY3JpcHRpb24uc2FtcGxlUmF0ZSgpICogMiwg
KnRoaXMpOwogCi0gICAgICAgIENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiBpbnB1dERlc2NyaXB0
aW9uID0gdG9DQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24oZGVzY3JpcHRpb24pOwotICAgICAgICBD
QUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24gb3V0cHV0RGVzY3JpcHRpb247Ci0KLSAgICAgICAgYXV0
byByZW1vdGVJT1VuaXQgPSBjcmVhdGVBdWRpb1VuaXQob3V0cHV0RGVzY3JpcHRpb24pOwotICAg
ICAgICBpZiAoIXJlbW90ZUlPVW5pdCkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBt
X2lucHV0RGVzY3JpcHRpb24gPSBtYWtlVW5pcXVlPENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbj4o
aW5wdXREZXNjcmlwdGlvbik7Ci0gICAgICAgIG1fb3V0cHV0RGVzY3JpcHRpb24gPSBtYWtlVW5p
cXVlPENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbj4ob3V0cHV0RGVzY3JpcHRpb24pOwotCi0gICAg
ICAgIG1fZGF0YVNvdXJjZSA9IEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6Y3JlYXRlKGRlc2NyaXB0
aW9uLnNhbXBsZVJhdGUoKSAqIDIsICp0aGlzKTsKLQotICAgICAgICBpZiAobV9kYXRhU291cmNl
LT5zZXRJbnB1dEZvcm1hdChpbnB1dERlc2NyaXB0aW9uKSB8fCBtX2RhdGFTb3VyY2UtPnNldE91
dHB1dEZvcm1hdChvdXRwdXREZXNjcmlwdGlvbikpIHsKLSAgICAgICAgICAgIEF1ZGlvQ29tcG9u
ZW50SW5zdGFuY2VEaXNwb3NlKHJlbW90ZUlPVW5pdCk7CisgICAgICAgIGlmIChkYXRhU291cmNl
LT5zZXRJbnB1dEZvcm1hdCh0b0NBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbihkZXNjcmlwdGlvbikp
KSB7CisgICAgICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwgIlVuYWJsZSB0byBzZXQg
dGhlIGlucHV0IGZvcm1hdCBvZiBkYXRhIHNvdXJjZSIpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAKLSAgICAgICAgaWYgKGF1dG8gZXJyb3IgPSBBdWRpb091dHB1dFVuaXRTdGFy
dChyZW1vdGVJT1VuaXQpKSB7Ci0gICAgICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwg
IkF1ZGlvT3V0cHV0VW5pdFN0YXJ0IGZhaWxlZCwgZXJyb3IgPSAiLCBlcnJvciwgIiAoIiwgKGNv
bnN0IGNoYXIqKSZlcnJvciwgIikiKTsKLSAgICAgICAgICAgIEF1ZGlvQ29tcG9uZW50SW5zdGFu
Y2VEaXNwb3NlKHJlbW90ZUlPVW5pdCk7Ci0gICAgICAgICAgICBtX2lucHV0RGVzY3JpcHRpb24g
PSBudWxscHRyOworICAgICAgICBpZiAoZGF0YVNvdXJjZS0+c2V0T3V0cHV0Rm9ybWF0KCptX291
dHB1dERlc2NyaXB0aW9uKSkgeworICAgICAgICAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIs
ICJVbmFibGUgdG8gc2V0IHRoZSBvdXRwdXQgZm9ybWF0IG9mIGRhdGEgc291cmNlIik7CiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBtX2lzQXVkaW9Vbml0U3RhcnRl
ZCA9IHRydWU7CisgICAgICAgIGRhdGFTb3VyY2UtPnNldFBhdXNlZChmYWxzZSk7CisgICAgICAg
IGRhdGFTb3VyY2UtPnNldFZvbHVtZSh2b2x1bWUoKSk7CiAKLSAgICAgICAgbV9kYXRhU291cmNl
LT5zZXRWb2x1bWUodm9sdW1lKCkpOwotICAgICAgICBtX3JlbW90ZUlPVW5pdCA9IHJlbW90ZUlP
VW5pdDsKKyAgICAgICAgbV9kYXRhU291cmNlID0gV1RGTW92ZShkYXRhU291cmNlKTsKICAgICB9
CiAKICAgICBtX2RhdGFTb3VyY2UtPnB1c2hTYW1wbGVzKHNhbXBsZVRpbWUsIGF1ZGlvRGF0YSwg
c2FtcGxlQ291bnQpOwotCi0gICAgaWYgKCFtX2lzQXVkaW9Vbml0U3RhcnRlZCkgewotICAgICAg
ICBpZiAoYXV0byBlcnJvciA9IEF1ZGlvT3V0cHV0VW5pdFN0YXJ0KG1fcmVtb3RlSU9Vbml0KSkg
ewotICAgICAgICAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsICJBdWRpb091dHB1dFVuaXRT
dGFydCBmYWlsZWQsIGVycm9yID0gIiwgZXJyb3IsICIgKCIsIChjb25zdCBjaGFyKikmZXJyb3Is
ICIpIik7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgbV9pc0F1ZGlv
VW5pdFN0YXJ0ZWQgPSB0cnVlOwotICAgIH0KIH0KIAogT1NTdGF0dXMgQXVkaW9NZWRpYVN0cmVh
bVRyYWNrUmVuZGVyZXJDb2NvYTo6cmVuZGVyKFVJbnQzMiBzYW1wbGVDb3VudCwgQXVkaW9CdWZm
ZXJMaXN0JiBpb0RhdGEsIFVJbnQzMiAvKmluQnVzTnVtYmVyKi8sIGNvbnN0IEF1ZGlvVGltZVN0
YW1wJiB0aW1lU3RhbXAsIEF1ZGlvVW5pdFJlbmRlckFjdGlvbkZsYWdzJiBhY3Rpb25GbGFncykK
IHsKLSAgICBpZiAoaXNNdXRlZCgpIHx8ICFtX3Nob3VsZFBsYXkgfHwgIW1fZGF0YVNvdXJjZSkg
eworICAgIGF1dG8gZGF0YVNvdXJjZSA9IG1fZGF0YVNvdXJjZTsKKyAgICBpZiAoIWRhdGFTb3Vy
Y2UpIHsKICAgICAgICAgQXVkaW9TYW1wbGVCdWZmZXJMaXN0Ojp6ZXJvQUJMKGlvRGF0YSwgc3Rh
dGljX2Nhc3Q8c2l6ZV90PihzYW1wbGVDb3VudCAqIG1fb3V0cHV0RGVzY3JpcHRpb24tPmJ5dGVz
UGVyRnJhbWUoKSkpOwogICAgICAgICBhY3Rpb25GbGFncyA9IGtBdWRpb1VuaXRSZW5kZXJBY3Rp
b25fT3V0cHV0SXNTaWxlbmNlOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBtX2Rh
dGFTb3VyY2UtPnB1bGxTYW1wbGVzKGlvRGF0YSwgc3RhdGljX2Nhc3Q8c2l6ZV90PihzYW1wbGVD
b3VudCksIHRpbWVTdGFtcC5tU2FtcGxlVGltZSwgdGltZVN0YW1wLm1Ib3N0VGltZSwgQXVkaW9T
YW1wbGVEYXRhU291cmNlOjpDb3B5KTsKLQorICAgIGRhdGFTb3VyY2UtPnB1bGxTYW1wbGVzKGlv
RGF0YSwgc3RhdGljX2Nhc3Q8c2l6ZV90PihzYW1wbGVDb3VudCksIHRpbWVTdGFtcC5tU2FtcGxl
VGltZSwgdGltZVN0YW1wLm1Ib3N0VGltZSwgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpDb3B5KTsK
ICAgICByZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb01lZGlhU3RyZWFtVHJh
Y2tSZW5kZXJlckNvY29hLmgKaW5kZXggMTU0ZGZhOTU0MjdlZjJiYmQwNTRhOWY1M2I0ZjZiNTA2
MjFmMzk1Yy4uMjdjZmNhYjQ1OGY5MTRjNGNiN2YyYTI4ZTZiOTQ5YTdhZjRlMmI1OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFT
dHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYS5oCkBAIC01
NywxNSArNTcsMTEgQEAgcHJpdmF0ZToKIAogICAgIEF1ZGlvQ29tcG9uZW50SW5zdGFuY2UgY3Jl
YXRlQXVkaW9Vbml0KENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYpOwogCi0gICAgLy8gQXVkaW8g
dGhyZWFkIG1lbWJlcnMKICAgICBBdWRpb0NvbXBvbmVudEluc3RhbmNlIG1fcmVtb3RlSU9Vbml0
IHsgbnVsbHB0ciB9OwotICAgIHN0ZDo6dW5pcXVlX3B0cjxDQUF1ZGlvU3RyZWFtRGVzY3JpcHRp
b24+IG1faW5wdXREZXNjcmlwdGlvbjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q0FBdWRpb1N0cmVh
bURlc2NyaXB0aW9uPiBtX291dHB1dERlc2NyaXB0aW9uOwogCi0gICAgLy8gQ3Jvc3MgdGhyZWFk
IG1lbWJlcnMKKyAgICAvLyBBdWRpbyB0aHJlYWRzIG1lbWJlcgogICAgIFJlZlB0cjxBdWRpb1Nh
bXBsZURhdGFTb3VyY2U+IG1fZGF0YVNvdXJjZTsKLSAgICBib29sIG1faXNBdWRpb1VuaXRTdGFy
dGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1fc2hvdWxkUGxheSB7IGZhbHNlIH07CiB9OwogCiB9
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398193</attachid>
            <date>2020-05-01 09:54:12 -0700</date>
            <delta_ts>2020-05-03 11:16:36 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-211287-20200501185408.patch</filename>
            <type>text/plain</type>
            <size>13519</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwOTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTg4YjAyM2UxNzkzNzFk
MGEzMjQ1NjVmOGZkZDI0YzJhYmZmMTk5ZS4uMzAzNjdhNDAyN2Y5MDhhNmIxMmY3Mjc5ZTIzMmYz
MTQ1YjQ3OWYwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTA1LTAxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBdWRpb01lZGlhU3RyZWFt
VHJhY2tSZW5kZXJlckNvY29hIHNob3VsZCBjcmVhdGUvc3RhcnQvc3RvcCBpdHMgcmVtb3RlIHVu
aXQgb24gdGhlIG1haW4gdGhyZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTEyODcKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24u
CisKKyAgICAgICAgQ3JlYXRpbmcvc3RhcnRpbmcvc3RvcHBpbmcgYXVkaW8gdW5pdHMgaW4gZGlm
ZmVyZW50IHRocmVhZHMgaXMgZXJyb3IgcHJvbmUuCisgICAgICAgIE5vdyB0aGF0IHdlIGhhdmUg
YW4gb2JzZXJ2ZXIgbW9kZWwgd2hlcmUgd2UgaGF2ZSBvYnNlcnZlcnMgZm9yIHdoZW4gdG8gcGxh
eSBpbiB0aGUgbWFpbiB0aHJlYWQgYW5kCisgICAgICAgIGJhc2VkIG9uIHRoYXQsIHdlIGRlY2lk
ZSB0byByZWNlaXZlIGF1ZGlvIHNhbXBsZXMgaW4gYSBiYWNrZ3JvdW5kIHRocmVhZCwgd2UgY2Fu
IHNpbXBsaWZ5IHRoZSBsb2dpYyBvZiBBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29h
LgorICAgICAgICBXZSBkbyB0aGlzIGJ5IGNyZWF0aW5nL3N0YXJ0aW5nIHRoZSB1bml0IGluIEF1
ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2E6OnN0YXJ0LgorICAgICAgICBBdCB0aGF0
IHBvaW50LCBBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hIGlzIG5vdCBleHBlY3Rl
ZCB0byByZWNlaXZlIGFueSBzYW1wbGUuCisgICAgICAgIEp1c3QgYWZ0ZXIgc3RhcnRpbmcsIEF1
ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW0gd2lsbCByZWNlaXZlIGF1ZGlvIHNhbXBsZXMgYW5k
IGZvcndhcmQgdGhlbSB0byBBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hLgorICAg
ICAgICBBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hIHdpbGwgdGhlbiBjcmVhdGUg
aW4gYSBiYWNrZ3JvdW5kIHRocmVhZCB0aGUgQXVkaW9TYW1wbGVEYXRhU291cmNlIHRoYXQgaXMg
cmVzcG9uc2libGUgdG8gYWRhcHQgdGhlIHJlY2VpdmVkIGF1ZGlvIHNhbXBsZXMgdG8gdGhlIHVu
aXQuCisKKyAgICAgICAgTWFudWFsbHkgdGVzdGVkLgorCisgICAgICAgICogcGxhdGZvcm0vYXVk
aW8vbWFjL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9T
YW1wbGVEYXRhU291cmNlOjppbnB1dERlc2NyaXB0aW9uIGNvbnN0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9hdWRpby9tYWMvQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmg6CisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFzdHJlYW0vQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtOjpzdGFydFJlbmRlcmVy
KToKKyAgICAgICAgRW5zdXJlIHRvIHN0YXJ0IHRoZSB1bml0IGFuZCB0aGVuIHN0YXJ0IGdldHR0
aW5nIGF1ZGlvIHNhbXBsZXMuCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1
ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6c3RhcnQpOgorICAgICAgICAoV2Vi
Q29yZTo6QXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6c3RvcCk6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hOjpjbGVhcik6Cisg
ICAgICAgIChXZWJDb3JlOjpBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hOjpwdXNo
U2FtcGxlcyk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJl
ckNvY29hOjpyZW5kZXIpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRp
b01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hLmg6CisKIDIwMjAtMDUtMDEgIEFudHRpIEtv
aXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFNwZWNpZmljIGRvbSBub2RlIG9y
ZGVyIG9mIFNoYWRvdyBET00gKHJlKXByb2plY3Rpb24gY2F1c2VzIGNyYXNoCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TYW1wbGVEYXRhU291cmNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TYW1wbGVEYXRhU291
cmNlLmgKaW5kZXggMzI2YzliYzJhOWE4Y2UwNjU0MzYzNzUwZGZiM2ZiZjUwZWM1OGZmMy4uMGY4
OWVmOTE4ZjA0NzIxYTI4ZTI3ZDFjNmE5NDI4OTZmNTE3MzBiMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBsZURhdGFTb3VyY2Uu
aApAQCAtNzMsNiArNzMsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRNdXRlZChib29sIG11dGVk
KSB7IG1fbXV0ZWQgPSBtdXRlZDsgfQogICAgIGJvb2wgbXV0ZWQoKSBjb25zdCB7IHJldHVybiBt
X211dGVkOyB9CiAKKyAgICBjb25zdCBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24qIGlucHV0RGVz
Y3JpcHRpb24oKSBjb25zdCB7IHJldHVybiBtX2lucHV0RGVzY3JpcHRpb24uZ2V0KCk7IH0KKwog
I2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgIGNvbnN0IExvZ2dlciYgbG9nZ2VyKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gbV9sb2dnZXI7IH0KICAgICBjb25zdCB2b2lkKiBsb2dJZGVudGlm
aWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dJZGVudGlmaWVyOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQ0FBdWRpb1N0cmVhbURlc2NyaXB0
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQ0FBdWRpb1N0cmVhbURl
c2NyaXB0aW9uLmgKaW5kZXggNzc4MmJkZGVlNzdhMDkzOTMwNWMyZGNkNDYxYjAzY2JhYjE2MDVh
OC4uN2E3MzkyOWUxMzg0NzMyOWUwYzlmN2E1M2I3ZmYwN2JkZmQxNjQyYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0NBQXVkaW9TdHJlYW1EZXNjcmlwdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9DQUF1ZGlvU3RyZWFt
RGVzY3JpcHRpb24uaApAQCAtNjQsMTYgKzY0LDE2IEBAIHB1YmxpYzoKICAgICB1aW50MzJfdCBi
eXRlc1BlclBhY2tldCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RyZWFtRGVzY3JpcHRpb24ubUJ5dGVz
UGVyUGFja2V0OyB9CiAgICAgdWludDMyX3QgZm9ybWF0RmxhZ3MoKSBjb25zdCB7IHJldHVybiBt
X3N0cmVhbURlc2NyaXB0aW9uLm1Gb3JtYXRGbGFnczsgfQogCi0gICAgYm9vbCBvcGVyYXRvcj09
KGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgb3RoZXIpIHsgcmV0dXJuIG1fc3Ry
ZWFtRGVzY3JpcHRpb24gPT0gb3RoZXI7IH0KLSAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgQXVk
aW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBvdGhlcikgeyByZXR1cm4gIW9wZXJhdG9yID09IChv
dGhlcik7IH0KLSAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlv
biYgb3RoZXIpCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNj
cmlwdGlvbiYgb3RoZXIpIGNvbnN0IHsgcmV0dXJuIG1fc3RyZWFtRGVzY3JpcHRpb24gPT0gb3Ro
ZXI7IH0KKyAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0
aW9uJiBvdGhlcikgY29uc3QgeyByZXR1cm4gIW9wZXJhdG9yID09IChvdGhlcik7IH0KKyAgICBi
b29sIG9wZXJhdG9yPT0oY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgb3RoZXIpIGNvbnN0
CiAgICAgewogICAgICAgICBpZiAob3RoZXIucGxhdGZvcm1EZXNjcmlwdGlvbigpLnR5cGUgIT0g
UGxhdGZvcm1EZXNjcmlwdGlvbjo6Q0FBdWRpb1N0cmVhbUJhc2ljVHlwZSkKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKIAogICAgICAgICByZXR1cm4gb3BlcmF0b3I9PSgqV1RGOjpnZXQ8Y29u
c3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKj4ob3RoZXIucGxhdGZvcm1EZXNjcmlwdGlv
bigpLmRlc2NyaXB0aW9uKSk7CiAgICAgfQotICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBBdWRp
b1N0cmVhbURlc2NyaXB0aW9uJiBvdGhlcikgeyByZXR1cm4gIW9wZXJhdG9yID09IChvdGhlcik7
IH0KKyAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgb3Ro
ZXIpIGNvbnN0IHsgcmV0dXJuICFvcGVyYXRvciA9PSAob3RoZXIpOyB9CiAKICAgICBjb25zdCBB
dWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24mIHN0cmVhbURlc2NyaXB0aW9uKCkgY29uc3QgeyBy
ZXR1cm4gbV9zdHJlYW1EZXNjcmlwdGlvbjsgfQogICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlw
dGlvbiYgc3RyZWFtRGVzY3JpcHRpb24oKSB7IHJldHVybiBtX3N0cmVhbURlc2NyaXB0aW9uOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9BdWRpb01l
ZGlhU3RyZWFtVHJhY2tSZW5kZXJlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXIuaAppbmRleCAxNDYyZTMyMmY5ZTkw
YTg4ZWNhOGUyOGE5OWUyZGE4NjdjYTJkYTg0Li4wNzBlOWYxNzJhNGE3YTc0MjIyZTZlMzkwNDI2
NmI4OTFlNTY3ZmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyLmgKQEAg
LTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzdGFydCgpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgc3RvcCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXIoKSA9IDA7
Ci0gICAgLy8gTWF5IGJlIGNhbGxlZCBvbiBhIGJhY2tncm91bmQgdGhyZWFkLgorICAgIC8vIE1h
eSBiZSBjYWxsZWQgb24gYSBiYWNrZ3JvdW5kIHRocmVhZC4gSXQgc2hvdWxkIG9ubHkgYmUgY2Fs
bGVkIGFmdGVyIHN0YXJ0L2JlZm9yZSBzdG9wIGlzIGNhbGxlZC4KICAgICB2aXJ0dWFsIHZvaWQg
cHVzaFNhbXBsZXMoY29uc3QgV1RGOjpNZWRpYVRpbWUmLCBjb25zdCBQbGF0Zm9ybUF1ZGlvRGF0
YSYsIGNvbnN0IEF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mLCBzaXplX3QpID0gMDsKIAogICAgIHZp
cnR1YWwgdm9pZCBzZXRNdXRlZChib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL0F1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW0uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0
cmVhbS5jcHAKaW5kZXggMDM1NTE0MDQ3MmJjZjM1ODA0MzlmNGVkYzAzYTdhZjYyYmU3ZjhlYy4u
N2I0ZjU1MjExOTdmMzYxODRmODdlMTAxODM3MTQ0OWNkODRjNTE0NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0
cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vQXVkaW9U
cmFja1ByaXZhdGVNZWRpYVN0cmVhbS5jcHAKQEAgLTEzOSw4ICsxMzksOCBAQCB2b2lkIEF1ZGlv
VHJhY2tQcml2YXRlTWVkaWFTdHJlYW06OnN0YXJ0UmVuZGVyZXIoKQogICAgICAgICByZXR1cm47
CiAKICAgICBtX2lzUGxheWluZyA9IHRydWU7Ci0gICAgbV9hdWRpb1NvdXJjZS0+YWRkQXVkaW9T
YW1wbGVPYnNlcnZlcigqdGhpcyk7CiAgICAgbV9yZW5kZXJlci0+c3RhcnQoKTsKKyAgICBtX2F1
ZGlvU291cmNlLT5hZGRBdWRpb1NhbXBsZU9ic2VydmVyKCp0aGlzKTsKIH0KIAogdm9pZCBBdWRp
b1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtOjpzdG9wUmVuZGVyZXIoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFj
a1JlbmRlcmVyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwCmluZGV4IDE5ZGM0YTlh
Zjc2MzFkNTZmMmJhMGIyM2NhN2FkM2QxMjJkMDBiYWEuLjQxYzVhNzYyMmNmYWI1MzYzYjEzZmI5
ZjZkNmY4OTBmOGI4ZDhiMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9NZWRpYVN0cmVh
bVRyYWNrUmVuZGVyZXJDb2NvYS5jcHAKQEAgLTQ3LDM3ICs0NywzNiBAQCB2b2lkIEF1ZGlvTWVk
aWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2E6OnN0YXJ0KCkKIHsKICAgICBjbGVhcigpOwogCi0g
ICAgbV9zaG91bGRQbGF5ID0gdHJ1ZTsKKyAgICBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24gb3V0
cHV0RGVzY3JpcHRpb247CisgICAgYXV0byByZW1vdGVJT1VuaXQgPSBjcmVhdGVBdWRpb1VuaXQo
b3V0cHV0RGVzY3JpcHRpb24pOworICAgIGlmICghcmVtb3RlSU9Vbml0KQorICAgICAgICByZXR1
cm47CiAKLSAgICBpZiAobV9kYXRhU291cmNlKQotICAgICAgICBtX2RhdGFTb3VyY2UtPnNldFBh
dXNlZChmYWxzZSk7CisgICAgaWYgKGF1dG8gZXJyb3IgPSBBdWRpb091dHB1dFVuaXRTdGFydChy
ZW1vdGVJT1VuaXQpKSB7CisgICAgICAgIEVSUk9SX0xPRyhMT0dJREVOVElGSUVSLCAiQXVkaW9P
dXRwdXRVbml0U3RhcnQgZmFpbGVkLCBlcnJvciA9ICIsIGVycm9yLCAiICgiLCAoY29uc3QgY2hh
ciopJmVycm9yLCAiKSIpOworICAgICAgICBBdWRpb0NvbXBvbmVudEluc3RhbmNlRGlzcG9zZShy
ZW1vdGVJT1VuaXQpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIG1fb3V0cHV0RGVzY3Jp
cHRpb24gPSBtYWtlVW5pcXVlPENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbj4ob3V0cHV0RGVzY3Jp
cHRpb24pOworICAgIG1fcmVtb3RlSU9Vbml0ID0gcmVtb3RlSU9Vbml0OwogfQogCiB2b2lkIEF1
ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2E6OnN0b3AoKQogewotICAgIG1fc2hvdWxk
UGxheSA9IGZhbHNlOworICAgIGlmICghbV9yZW1vdGVJT1VuaXQpCisgICAgICAgIHJldHVybjsK
IAotICAgIGlmIChtX2RhdGFTb3VyY2UpCi0gICAgICAgIG1fZGF0YVNvdXJjZS0+c2V0UGF1c2Vk
KHRydWUpOworICAgIEF1ZGlvT3V0cHV0VW5pdFN0b3AobV9yZW1vdGVJT1VuaXQpOworICAgIEF1
ZGlvQ29tcG9uZW50SW5zdGFuY2VEaXNwb3NlKG1fcmVtb3RlSU9Vbml0KTsKKyAgICBtX3JlbW90
ZUlPVW5pdCA9IG51bGxwdHI7CiB9CiAKIHZvaWQgQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVy
ZXJDb2NvYTo6Y2xlYXIoKQogewotICAgIG1fc2hvdWxkUGxheSA9IGZhbHNlOwotCi0gICAgaWYg
KG1fZGF0YVNvdXJjZSkKLSAgICAgICAgbV9kYXRhU291cmNlLT5zZXRQYXVzZWQodHJ1ZSk7Ci0K
LSAgICBpZiAobV9yZW1vdGVJT1VuaXQpIHsKLSAgICAgICAgQXVkaW9PdXRwdXRVbml0U3RvcCht
X3JlbW90ZUlPVW5pdCk7Ci0gICAgICAgIEF1ZGlvQ29tcG9uZW50SW5zdGFuY2VEaXNwb3NlKG1f
cmVtb3RlSU9Vbml0KTsKLSAgICAgICAgbV9yZW1vdGVJT1VuaXQgPSBudWxscHRyOwotICAgIH0K
KyAgICBzdG9wKCk7CiAKICAgICBtX2RhdGFTb3VyY2UgPSBudWxscHRyOwotICAgIG1faW5wdXRE
ZXNjcmlwdGlvbiA9IG51bGxwdHI7CiAgICAgbV9vdXRwdXREZXNjcmlwdGlvbiA9IG51bGxwdHI7
Ci0gICAgbV9pc0F1ZGlvVW5pdFN0YXJ0ZWQgPSBmYWxzZTsKIH0KIAogQXVkaW9Db21wb25lbnRJ
bnN0YW5jZSBBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hOjpjcmVhdGVBdWRpb1Vu
aXQoQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBvdXRwdXREZXNjcmlwdGlvbikKQEAgLTE0OCw3
OCArMTQ3LDQyIEBAIEF1ZGlvQ29tcG9uZW50SW5zdGFuY2UgQXVkaW9NZWRpYVN0cmVhbVRyYWNr
UmVuZGVyZXJDb2NvYTo6Y3JlYXRlQXVkaW9Vbml0KENBQXVkCiB2b2lkIEF1ZGlvTWVkaWFTdHJl
YW1UcmFja1JlbmRlcmVyQ29jb2E6OnB1c2hTYW1wbGVzKGNvbnN0IE1lZGlhVGltZSYgc2FtcGxl
VGltZSwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmIGF1ZGlvRGF0YSwgY29uc3QgQXVkaW9TdHJl
YW1EZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIHNpemVfdCBzYW1wbGVDb3VudCkKIHsKICAgICBB
U1NFUlQoZGVzY3JpcHRpb24ucGxhdGZvcm1EZXNjcmlwdGlvbigpLnR5cGUgPT0gUGxhdGZvcm1E
ZXNjcmlwdGlvbjo6Q0FBdWRpb1N0cmVhbUJhc2ljVHlwZSk7Ci0gICAgaWYgKCFtX3Nob3VsZFBs
YXkpIHsKLSAgICAgICAgaWYgKG1faXNBdWRpb1VuaXRTdGFydGVkKSB7Ci0gICAgICAgICAgICBp
ZiAobV9yZW1vdGVJT1VuaXQpCi0gICAgICAgICAgICAgICAgQXVkaW9PdXRwdXRVbml0U3RvcCht
X3JlbW90ZUlPVW5pdCk7Ci0gICAgICAgICAgICBtX2lzQXVkaW9Vbml0U3RhcnRlZCA9IGZhbHNl
OwotICAgICAgICB9CisgICAgaWYgKCFtX3JlbW90ZUlPVW5pdCkKICAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIGlmICghbV9pbnB1dERlc2NyaXB0aW9uIHx8ICptX2lucHV0RGVzY3JpcHRp
b24gIT0gZGVzY3JpcHRpb24pIHsKLSAgICAgICAgbV9pc0F1ZGlvVW5pdFN0YXJ0ZWQgPSBmYWxz
ZTsKLQotICAgICAgICBpZiAobV9yZW1vdGVJT1VuaXQpIHsKLSAgICAgICAgICAgIEF1ZGlvT3V0
cHV0VW5pdFN0b3AobV9yZW1vdGVJT1VuaXQpOwotICAgICAgICAgICAgQXVkaW9Db21wb25lbnRJ
bnN0YW5jZURpc3Bvc2UobV9yZW1vdGVJT1VuaXQpOwotICAgICAgICAgICAgbV9yZW1vdGVJT1Vu
aXQgPSBudWxscHRyOwotICAgICAgICB9CiAKLSAgICAgICAgbV9pbnB1dERlc2NyaXB0aW9uID0g
bnVsbHB0cjsKLSAgICAgICAgbV9vdXRwdXREZXNjcmlwdGlvbiA9IG51bGxwdHI7CisgICAgaWYg
KCFtX2RhdGFTb3VyY2UgfHwgIW1fZGF0YVNvdXJjZS0+aW5wdXREZXNjcmlwdGlvbigpIHx8ICpt
X2RhdGFTb3VyY2UtPmlucHV0RGVzY3JpcHRpb24oKSAhPSBkZXNjcmlwdGlvbikgeworICAgICAg
ICBhdXRvIGRhdGFTb3VyY2UgPSBBdWRpb1NhbXBsZURhdGFTb3VyY2U6OmNyZWF0ZShkZXNjcmlw
dGlvbi5zYW1wbGVSYXRlKCkgKiAyLCAqdGhpcyk7CiAKLSAgICAgICAgQ0FBdWRpb1N0cmVhbURl
c2NyaXB0aW9uIGlucHV0RGVzY3JpcHRpb24gPSB0b0NBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbihk
ZXNjcmlwdGlvbik7Ci0gICAgICAgIENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiBvdXRwdXREZXNj
cmlwdGlvbjsKLQotICAgICAgICBhdXRvIHJlbW90ZUlPVW5pdCA9IGNyZWF0ZUF1ZGlvVW5pdChv
dXRwdXREZXNjcmlwdGlvbik7Ci0gICAgICAgIGlmICghcmVtb3RlSU9Vbml0KQotICAgICAgICAg
ICAgcmV0dXJuOwotCi0gICAgICAgIG1faW5wdXREZXNjcmlwdGlvbiA9IG1ha2VVbmlxdWU8Q0FB
dWRpb1N0cmVhbURlc2NyaXB0aW9uPihpbnB1dERlc2NyaXB0aW9uKTsKLSAgICAgICAgbV9vdXRw
dXREZXNjcmlwdGlvbiA9IG1ha2VVbmlxdWU8Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uPihvdXRw
dXREZXNjcmlwdGlvbik7Ci0KLSAgICAgICAgbV9kYXRhU291cmNlID0gQXVkaW9TYW1wbGVEYXRh
U291cmNlOjpjcmVhdGUoZGVzY3JpcHRpb24uc2FtcGxlUmF0ZSgpICogMiwgKnRoaXMpOwotCi0g
ICAgICAgIGlmIChtX2RhdGFTb3VyY2UtPnNldElucHV0Rm9ybWF0KGlucHV0RGVzY3JpcHRpb24p
IHx8IG1fZGF0YVNvdXJjZS0+c2V0T3V0cHV0Rm9ybWF0KG91dHB1dERlc2NyaXB0aW9uKSkgewot
ICAgICAgICAgICAgQXVkaW9Db21wb25lbnRJbnN0YW5jZURpc3Bvc2UocmVtb3RlSU9Vbml0KTsK
KyAgICAgICAgaWYgKGRhdGFTb3VyY2UtPnNldElucHV0Rm9ybWF0KHRvQ0FBdWRpb1N0cmVhbURl
c2NyaXB0aW9uKGRlc2NyaXB0aW9uKSkpIHsKKyAgICAgICAgICAgIEVSUk9SX0xPRyhMT0dJREVO
VElGSUVSLCAiVW5hYmxlIHRvIHNldCB0aGUgaW5wdXQgZm9ybWF0IG9mIGRhdGEgc291cmNlIik7
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoYXV0byBlcnJv
ciA9IEF1ZGlvT3V0cHV0VW5pdFN0YXJ0KHJlbW90ZUlPVW5pdCkpIHsKLSAgICAgICAgICAgIEVS
Uk9SX0xPRyhMT0dJREVOVElGSUVSLCAiQXVkaW9PdXRwdXRVbml0U3RhcnQgZmFpbGVkLCBlcnJv
ciA9ICIsIGVycm9yLCAiICgiLCAoY29uc3QgY2hhciopJmVycm9yLCAiKSIpOwotICAgICAgICAg
ICAgQXVkaW9Db21wb25lbnRJbnN0YW5jZURpc3Bvc2UocmVtb3RlSU9Vbml0KTsKLSAgICAgICAg
ICAgIG1faW5wdXREZXNjcmlwdGlvbiA9IG51bGxwdHI7CisgICAgICAgIGlmIChkYXRhU291cmNl
LT5zZXRPdXRwdXRGb3JtYXQoKm1fb3V0cHV0RGVzY3JpcHRpb24pKSB7CisgICAgICAgICAgICBF
UlJPUl9MT0coTE9HSURFTlRJRklFUiwgIlVuYWJsZSB0byBzZXQgdGhlIG91dHB1dCBmb3JtYXQg
b2YgZGF0YSBzb3VyY2UiKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAg
ICAgIG1faXNBdWRpb1VuaXRTdGFydGVkID0gdHJ1ZTsKKyAgICAgICAgZGF0YVNvdXJjZS0+c2V0
UGF1c2VkKGZhbHNlKTsKKyAgICAgICAgZGF0YVNvdXJjZS0+c2V0Vm9sdW1lKHZvbHVtZSgpKTsK
IAotICAgICAgICBtX2RhdGFTb3VyY2UtPnNldFZvbHVtZSh2b2x1bWUoKSk7Ci0gICAgICAgIG1f
cmVtb3RlSU9Vbml0ID0gcmVtb3RlSU9Vbml0OworICAgICAgICBtX2RhdGFTb3VyY2UgPSBXVEZN
b3ZlKGRhdGFTb3VyY2UpOwogICAgIH0KIAogICAgIG1fZGF0YVNvdXJjZS0+cHVzaFNhbXBsZXMo
c2FtcGxlVGltZSwgYXVkaW9EYXRhLCBzYW1wbGVDb3VudCk7Ci0KLSAgICBpZiAoIW1faXNBdWRp
b1VuaXRTdGFydGVkKSB7Ci0gICAgICAgIGlmIChhdXRvIGVycm9yID0gQXVkaW9PdXRwdXRVbml0
U3RhcnQobV9yZW1vdGVJT1VuaXQpKSB7Ci0gICAgICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJ
RklFUiwgIkF1ZGlvT3V0cHV0VW5pdFN0YXJ0IGZhaWxlZCwgZXJyb3IgPSAiLCBlcnJvciwgIiAo
IiwgKGNvbnN0IGNoYXIqKSZlcnJvciwgIikiKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgfQotICAgICAgICBtX2lzQXVkaW9Vbml0U3RhcnRlZCA9IHRydWU7Ci0gICAgfQogfQogCisv
LyBNYXkgZ2V0IGNhbGxlZCBvbiBhIGJhY2tncm91bmQgdGhyZWFkLgogT1NTdGF0dXMgQXVkaW9N
ZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6cmVuZGVyKFVJbnQzMiBzYW1wbGVDb3VudCwg
QXVkaW9CdWZmZXJMaXN0JiBpb0RhdGEsIFVJbnQzMiAvKmluQnVzTnVtYmVyKi8sIGNvbnN0IEF1
ZGlvVGltZVN0YW1wJiB0aW1lU3RhbXAsIEF1ZGlvVW5pdFJlbmRlckFjdGlvbkZsYWdzJiBhY3Rp
b25GbGFncykKIHsKLSAgICBpZiAoaXNNdXRlZCgpIHx8ICFtX3Nob3VsZFBsYXkgfHwgIW1fZGF0
YVNvdXJjZSkgeworICAgIGF1dG8gZGF0YVNvdXJjZSA9IG1fZGF0YVNvdXJjZTsKKyAgICBpZiAo
IWRhdGFTb3VyY2UpIHsKICAgICAgICAgQXVkaW9TYW1wbGVCdWZmZXJMaXN0Ojp6ZXJvQUJMKGlv
RGF0YSwgc3RhdGljX2Nhc3Q8c2l6ZV90PihzYW1wbGVDb3VudCAqIG1fb3V0cHV0RGVzY3JpcHRp
b24tPmJ5dGVzUGVyRnJhbWUoKSkpOwogICAgICAgICBhY3Rpb25GbGFncyA9IGtBdWRpb1VuaXRS
ZW5kZXJBY3Rpb25fT3V0cHV0SXNTaWxlbmNlOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAK
LSAgICBtX2RhdGFTb3VyY2UtPnB1bGxTYW1wbGVzKGlvRGF0YSwgc3RhdGljX2Nhc3Q8c2l6ZV90
PihzYW1wbGVDb3VudCksIHRpbWVTdGFtcC5tU2FtcGxlVGltZSwgdGltZVN0YW1wLm1Ib3N0VGlt
ZSwgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpDb3B5KTsKLQorICAgIGRhdGFTb3VyY2UtPnB1bGxT
YW1wbGVzKGlvRGF0YSwgc3RhdGljX2Nhc3Q8c2l6ZV90PihzYW1wbGVDb3VudCksIHRpbWVTdGFt
cC5tU2FtcGxlVGltZSwgdGltZVN0YW1wLm1Ib3N0VGltZSwgQXVkaW9TYW1wbGVEYXRhU291cmNl
OjpDb3B5KTsKICAgICByZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29j
b2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb01lZGlh
U3RyZWFtVHJhY2tSZW5kZXJlckNvY29hLmgKaW5kZXggMTU0ZGZhOTU0MjdlZjJiYmQwNTRhOWY1
M2I0ZjZiNTA2MjFmMzk1Yy4uMjdjZmNhYjQ1OGY5MTRjNGNiN2YyYTI4ZTZiOTQ5YTdhZjRlMmI1
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1
ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2Nv
YS5oCkBAIC01NywxNSArNTcsMTEgQEAgcHJpdmF0ZToKIAogICAgIEF1ZGlvQ29tcG9uZW50SW5z
dGFuY2UgY3JlYXRlQXVkaW9Vbml0KENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYpOwogCi0gICAg
Ly8gQXVkaW8gdGhyZWFkIG1lbWJlcnMKICAgICBBdWRpb0NvbXBvbmVudEluc3RhbmNlIG1fcmVt
b3RlSU9Vbml0IHsgbnVsbHB0ciB9OwotICAgIHN0ZDo6dW5pcXVlX3B0cjxDQUF1ZGlvU3RyZWFt
RGVzY3JpcHRpb24+IG1faW5wdXREZXNjcmlwdGlvbjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q0FB
dWRpb1N0cmVhbURlc2NyaXB0aW9uPiBtX291dHB1dERlc2NyaXB0aW9uOwogCi0gICAgLy8gQ3Jv
c3MgdGhyZWFkIG1lbWJlcnMKKyAgICAvLyBBdWRpbyB0aHJlYWRzIG1lbWJlcgogICAgIFJlZlB0
cjxBdWRpb1NhbXBsZURhdGFTb3VyY2U+IG1fZGF0YVNvdXJjZTsKLSAgICBib29sIG1faXNBdWRp
b1VuaXRTdGFydGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1fc2hvdWxkUGxheSB7IGZhbHNlIH07
CiB9OwogCiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>