<?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>217316</bug_id>
          
          <creation_ts>2020-10-05 08:33:14 -0700</creation_ts>
          <short_desc>Make sure to fire the correct set of events in case MediaRecorder stream has track changes</short_desc>
          <delta_ts>2020-10-07 02:23:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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://github.com/web-platform-tests/wpt/pull/26006</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>cdumez</cc>
    
    <cc>clopez</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>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1694697</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-10-05 08:33:14 -0700</bug_when>
    <thetext>WebKit MediaRecorderPrivate::startRecording callback should not set audio/video tracks if recorder is stopped</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694700</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-10-05 08:35:03 -0700</bug_when>
    <thetext>Or maybe add a clean method for MediaRecorderPrivate and call it in MediaRecorder::fetchData fetchDataCallback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695070</commentid>
    <comment_count>2</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-10-06 02:12:57 -0700</bug_when>
    <thetext>Make sure to fire the correct set of events in case MediaRecorder stream has track changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695075</commentid>
    <comment_count>3</comment_count>
      <attachid>410620</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-10-06 02:39:52 -0700</bug_when>
    <thetext>Created attachment 410620
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695076</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-10-06 02:40:35 -0700</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695077</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-10-06 02:44:12 -0700</bug_when>
    <thetext>Submitted web-platform-tests pull request: https://github.com/web-platform-tests/wpt/pull/26006</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695127</commentid>
    <comment_count>6</comment_count>
      <attachid>410631</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-10-06 06:50:34 -0700</bug_when>
    <thetext>Created attachment 410631
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695160</commentid>
    <comment_count>7</comment_count>
      <attachid>410631</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-10-06 08:38:23 -0700</bug_when>
    <thetext>Comment on attachment 410631
Patch

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

&gt; Source/WebCore/Modules/mediarecorder/MediaRecorder.cpp:71
&gt;      if (result.hasException())
&gt;          return result.releaseException();
&gt;  
&gt; +    result.releaseReturnValue()-&gt;stop();
&gt; +

As we discussed, I think it would be helpful to have a comment explaining why the private recorder is allocated and abandoned immediately.

&gt; Source/WebCore/Modules/mediarecorder/MediaRecorder.cpp:283
&gt; +        dispatchError(Exception { InvalidModificationError, &quot;Track cannot be added to or removed from the MediaStream while recording is happening&quot;_s });

s/while recording is happening/while recording/

&gt; LayoutTests/imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-error.html:41
&gt; +            assert_equals(mediaRecorderErrorEvent.error.name, &apos;InvalidModificationError&apos;, &apos;the type of error should be UnknownError when track has been added or removed&apos;);

s/should be UnknownError when/should be InvalidModificationError when/

&gt; LayoutTests/imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-error.html:60
&gt; +            assert_equals(mediaRecorderErrorEvent.error.name, &apos;InvalidModificationError&apos;, &apos;the type of error should be UnknownError when track has been added or removed&apos;);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695162</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-10-06 08:44:57 -0700</bug_when>
    <thetext>(In reply to Eric Carlson from comment #7)
&gt; Comment on attachment 410631 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=410631&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/mediarecorder/MediaRecorder.cpp:71
&gt; &gt;      if (result.hasException())
&gt; &gt;          return result.releaseException();
&gt; &gt;  
&gt; &gt; +    result.releaseReturnValue()-&gt;stop();
&gt; &gt; +
&gt; 
&gt; As we discussed, I think it would be helpful to have a comment explaining
&gt; why the private recorder is allocated and abandoned immediately.

I filed https://bugs.webkit.org/show_bug.cgi?id=217387 to keep track of this refactoring.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695170</commentid>
    <comment_count>9</comment_count>
      <attachid>410643</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-10-06 08:52:14 -0700</bug_when>
    <thetext>Created attachment 410643
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695483</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-07 02:22:53 -0700</bug_when>
    <thetext>Committed r268119: &lt;https://trac.webkit.org/changeset/268119&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 410643.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695484</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-07 02:23:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/70038607&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410620</attachid>
            <date>2020-10-06 02:39:52 -0700</date>
            <delta_ts>2020-10-06 06:50:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217316-20201006113950.patch</filename>
            <type>text/plain</type>
            <size>19021</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3OTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjUyZGIyOWUwNTBhMTI5
Yjc5M2Y3YzhjYzUyMDhlMWM5OGJmN2MwMC4uZTYyMjYzZGUxODRhNjRkNTczNzk2ODVlYTAwYjZl
MDI5YmI2NDM5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTEwLTA2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHN1cmUgdG8gZmly
ZSB0aGUgY29ycmVjdCBzZXQgb2YgZXZlbnRzIGluIGNhc2UgTWVkaWFSZWNvcmRlciBzdHJlYW0g
aGFzIHRyYWNrIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNzMxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEludHJvZHVjZSBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6c3RvcCB3aGljaCBtYWtl
cyBzdXJlIHRvIHVucmVnaXN0ZXIgZnJvbSBtZWRpYSBzb3VyY2VzIGJlZm9yZSBzdG9wcGluZy4K
KyAgICAgICAgVXBkYXRlIGZpcmluZyBldmVudHMgYWNjb3JkaW5nIGh0dHBzOi8vdzNjLmdpdGh1
Yi5pby9tZWRpYWNhcHR1cmUtcmVjb3JkLyNkb20tbWVkaWFyZWNvcmRlci1zdGFydCB3aGVuIHRy
YWNrIHNldCBpcyBjaGFuZ2VkLgorICAgICAgICBDb3ZlcmVkIGJ5IHVwZGF0ZWQgdGVzdC4KKwor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVJlY29yZGVyOjpzdG9wUmVjb3JkaW5nSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFSZWNvcmRlcjo6aGFuZGxlVHJhY2tDaGFuZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFSZWNvcmRlclByaXZhdGU6OnN0b3ApOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhcmVj
b3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJl
Y29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6On5NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRklt
cGwpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjpzdG9w
UmVjb3JkaW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3Jk
ZXJQcml2YXRlTW9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0
ZU1vY2s6On5NZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2spOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFSZWNvcmRlclByaXZhdGVNb2NrOjpzdG9wUmVjb3JkaW5nKToKKwogMjAyMC0xMC0wNSAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWVkaWFSZWNvcmRlciBz
aG91bGQgcmVzcGVjdCBlbmFibGVkIGFuZCBtdXRlZCB0cmFja3MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOTAyNGU3
ZDRjNDRmOWI3YjAyYTMyNjVkOTE3ZGFjNzMzZDkyNTEzYS4uMDg2YmNkNjUwYjk4OWQ3NDJjZTQz
Mzc5MDkyZTlkNDY1OTIzMWQyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0xMC0w
NiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzdXJl
IHRvIGZpcmUgdGhlIGNvcnJlY3Qgc2V0IG9mIGV2ZW50cyBpbiBjYXNlIE1lZGlhUmVjb3JkZXIg
c3RyZWFtIGhhcyB0cmFjayBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTczMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBNYWtlIHN1cmUgdG8gbm90IHNldCBhdWRpby92aWRlbyB0cmFja3Mg
aWYgdGhlIHJlY29yZGVyIHdhcyBzdG9wcGVkLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
d2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TWVkaWFS
ZWNvcmRlclByaXZhdGU6OnN0YXJ0UmVjb3JkaW5nKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFS
ZWNvcmRlclByaXZhdGU6On5NZWRpYVJlY29yZGVyUHJpdmF0ZSk6CisgICAgICAgIChXZWJLaXQ6
Ok1lZGlhUmVjb3JkZXJQcml2YXRlOjpzdG9wUmVjb3JkaW5nKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuaDoKKwogMjAyMC0xMC0wMiAgQ2Fy
bG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgV2ViRHJp
dmVyOiBhZGQgc3VwcG9ydCBmb3Igc2FtZSBzaXRlIGNvb2tpZXMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmNwcAppbmRleCBh
ODNjMDlhYjUyMTU4NTc3YjdhOTAzZmY1YmFmOTcwODIxNTVlYjI5Li44ZGY5ZDRlYmJmYTI4ZGE3
MGY1YWZhYmYyN2RiNjAyNTllMzA1OTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuY3BwCkBAIC02Nyw2ICs2Nyw4IEBA
IEV4Y2VwdGlvbk9yPFJlZjxNZWRpYVJlY29yZGVyPj4gTWVkaWFSZWNvcmRlcjo6Y3JlYXRlKERv
Y3VtZW50JiBkb2N1bWVudCwgUmVmPE1lCiAgICAgaWYgKHJlc3VsdC5oYXNFeGNlcHRpb24oKSkK
ICAgICAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CiAKKyAgICByZXN1bHQu
cmVsZWFzZVJldHVyblZhbHVlKCktPnN0b3AoKTsKKwogICAgIGF1dG8gcmVjb3JkZXIgPSBhZG9w
dFJlZigqbmV3IE1lZGlhUmVjb3JkZXIoZG9jdW1lbnQsIFdURk1vdmUoc3RyZWFtKSwgV1RGTW92
ZShvcHRpb25zKSkpOwogICAgIHJlY29yZGVyLT5zdXNwZW5kSWZOZWVkZWQoKTsKICAgICByZXR1
cm4gcmVjb3JkZXI7CkBAIC0yNjksNyArMjcxLDcgQEAgdm9pZCBNZWRpYVJlY29yZGVyOjpzdG9w
UmVjb3JkaW5nSW50ZXJuYWwoKQogICAgICAgICB0cmFjay0+cmVtb3ZlT2JzZXJ2ZXIoKnRoaXMp
OwogCiAgICAgbV9zdGF0ZSA9IFJlY29yZGluZ1N0YXRlOjpJbmFjdGl2ZTsKLSAgICBtX3ByaXZh
dGUtPnN0b3BSZWNvcmRpbmcoKTsKKyAgICBtX3ByaXZhdGUtPnN0b3AoKTsKIH0KIAogdm9pZCBN
ZWRpYVJlY29yZGVyOjpoYW5kbGVUcmFja0NoYW5nZSgpCkBAIC0yNzgsNyArMjgwLDEzIEBAIHZv
aWQgTWVkaWFSZWNvcmRlcjo6aGFuZGxlVHJhY2tDaGFuZ2UoKQogICAgICAgICBpZiAoIW1faXNB
Y3RpdmUgfHwgc3RhdGUoKSA9PSBSZWNvcmRpbmdTdGF0ZTo6SW5hY3RpdmUpCiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIHN0b3BSZWNvcmRpbmdJbnRlcm5hbCgpOwotICAgICAgICBkaXNw
YXRjaEVycm9yKEV4Y2VwdGlvbiB7IFVua25vd25FcnJvciwgIlRyYWNrIGNhbm5vdCBiZSBhZGRl
ZCB0byBvciByZW1vdmVkIGZyb20gdGhlIE1lZGlhU3RyZWFtIHdoaWxlIHJlY29yZGluZyBpcyBo
YXBwZW5pbmciX3MgfSk7CisgICAgICAgIGRpc3BhdGNoRXJyb3IoRXhjZXB0aW9uIHsgSW52YWxp
ZE1vZGlmaWNhdGlvbkVycm9yLCAiVHJhY2sgY2Fubm90IGJlIGFkZGVkIHRvIG9yIHJlbW92ZWQg
ZnJvbSB0aGUgTWVkaWFTdHJlYW0gd2hpbGUgcmVjb3JkaW5nIGlzIGhhcHBlbmluZyJfcyB9KTsK
KyAgICAgICAgaWYgKCFtX2lzQWN0aXZlKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBk
aXNwYXRjaEV2ZW50KEJsb2JFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5kYXRhYXZhaWxhYmxl
RXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObywgQmxv
Yjo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpKTsKKyAgICAgICAgaWYgKCFtX2lz
QWN0aXZlKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50
OjpjcmVhdGUoZXZlbnROYW1lcygpLnN0b3BFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2
ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmlkbAppbmRleCA4
MmQyYjAxNjcyY2E4N2MxNjdiZDVmZGVlOWUyYTcyMjcxNGEwYTVjLi5hMWJmNzE3NjEzZjgwZjFm
NmJmNDNhNjBjZDE4M2QyMTk2ZmUwMjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaWRsCkBAIC00OCwxMCArNDgsMTAg
QEAgZW51bSBSZWNvcmRpbmdTdGF0ZSB7ICJpbmFjdGl2ZSIsICJyZWNvcmRpbmciLCAicGF1c2Vk
IiB9OwogICAgIC8vIHJlYWRvbmx5IGF0dHJpYnV0ZSBCaXRyYXRlTW9kZSBhdWRpb0JpdHJhdGVN
b2RlOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPXN0YXJ0UmVjb3Jk
aW5nXSB1bmRlZmluZWQgc3RhcnQob3B0aW9uYWwgdW5zaWduZWQgbG9uZyB0aW1lc2xpY2UpOwot
ICAgIFtJbXBsZW1lbnRlZEFzPXN0b3BSZWNvcmRpbmddIHVuZGVmaW5lZCBzdG9wKCk7CisgICAg
W01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPXN0b3BSZWNvcmRpbmddIHVuZGVmaW5l
ZCBzdG9wKCk7CiAgICAgLy8gdW5kZWZpbmVkIHBhdXNlKCk7CiAgICAgLy8gdW5kZWZpbmVkIHJl
c3VtZSgpOwotICAgIHVuZGVmaW5lZCByZXF1ZXN0RGF0YSgpOworICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5kZWZpbmVkIHJlcXVlc3REYXRhKCk7CiAKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnRd
IHN0YXRpYyBib29sZWFuIGlzVHlwZVN1cHBvcnRlZChET01TdHJpbmcgdHlwZSk7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29y
ZGVyUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01l
ZGlhUmVjb3JkZXJQcml2YXRlLmNwcAppbmRleCBjMGJmYjEyYzU4M2Y5ZjVhNjQ0YWUzZjA0ZDhm
NjgyZWVmYzg0YmQ4Li40MjRhZGZjOTQzNTZmMTM4N2NlODQ0YzA4ODY0MWNkOTIzNmNlNDcxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVj
b3JkZXJQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcApAQCAtNjYsNiArNjYsMTMgQEAgdm9pZCBNZWRp
YVJlY29yZGVyUHJpdmF0ZTo6Y2hlY2tUcmFja1N0YXRlKGNvbnN0IE1lZGlhU3RyZWFtVHJhY2tQ
cml2YXRlJiB0cmFjaykKICAgICAgICAgbV9zaG91bGRNdXRlVmlkZW8gPSB0cmFjay5tdXRlZCgp
IHx8ICF0cmFjay5lbmFibGVkKCk7CiB9CiAKK3ZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGU6OnN0
b3AoKQoreworICAgIHNldEF1ZGlvU291cmNlKG51bGxwdHIpOworICAgIHNldFZpZGVvU291cmNl
KG51bGxwdHIpOworICAgIHN0b3BSZWNvcmRpbmcoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZh
dGUuaAppbmRleCA4NjYzYTZmNzZjNzBlNjY1ZDMzNDdkOTdiODJhZWVhYjM2ZWUzMjFjLi5jYjk3
ZWNiMDU3NTk4MjI3ZjIxMmZjZTQ0NjNlOWI0MGQ0MGZkYjYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJp
dmF0ZS5oCkBAIC01OSw5ICs1OSwxMCBAQCBwdWJsaWM6CiAKICAgICB1c2luZyBGZXRjaERhdGFD
YWxsYmFjayA9IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPFNoYXJlZEJ1ZmZlcj4mJiwg
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSk+OwogICAgIHZpcnR1YWwgdm9pZCBmZXRjaERhdGEoRmV0
Y2hEYXRhQ2FsbGJhY2smJikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzdG9wUmVjb3JkaW5nKCkg
PSAwOwogICAgIHZpcnR1YWwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSgpIGNvbnN0ID0gMDsKIAor
ICAgIHZvaWQgc3RvcCgpOworCiAgICAgdXNpbmcgU3RhcnRSZWNvcmRpbmdDYWxsYmFjayA9IENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoRXhjZXB0aW9uT3I8U3RyaW5nPiYmKT47CiAgICAgdmlydHVh
bCB2b2lkIHN0YXJ0UmVjb3JkaW5nKFN0YXJ0UmVjb3JkaW5nQ2FsbGJhY2smJiBjYWxsYmFjaykg
eyBjYWxsYmFjayhTdHJpbmcobWltZVR5cGUoKSkpOyB9CiAKQEAgLTc3LDYgKzc4LDkgQEAgcHJv
dGVjdGVkOgogICAgIGJvb2wgc2hvdWxkTXV0ZUF1ZGlvKCkgY29uc3QgeyByZXR1cm4gbV9zaG91
bGRNdXRlQXVkaW87IH0KICAgICBib29sIHNob3VsZE11dGVWaWRlbygpIGNvbnN0IHsgcmV0dXJu
IG1fc2hvdWxkTXV0ZVZpZGVvOyB9CiAKK3ByaXZhdGU6CisgICAgdmlydHVhbCB2b2lkIHN0b3BS
ZWNvcmRpbmcoKSA9IDA7CisKIHByaXZhdGU6CiAgICAgYm9vbCBtX3Nob3VsZE11dGVBdWRpbyB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX3Nob3VsZE11dGVWaWRlbyB7IGZhbHNlIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQ
cml2YXRlQVZGSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVy
L01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5jcHAKaW5kZXggNmE4ZTU0MWEwOGM1ODIyOWFi
ZDU2ZjFlNTYxMjBhZmJlMGMxZTBiMS4uZTIzNTE3YWU3YmRiN2Y1YWY0OTg3ODZhZDJlNGZiMzg4
ODhjZjFlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRl
ci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNwcApAQCAt
NzUsOCArNzUsNiBAQCBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6Ok1lZGlhUmVjb3JkZXJQ
cml2YXRlQVZGSW1wbChSZWY8TWVkaWFSZWNvcmRlclByaXZhdAogCiBNZWRpYVJlY29yZGVyUHJp
dmF0ZUFWRkltcGw6On5NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwoKQogewotICAgIHNldEF1
ZGlvU291cmNlKG51bGxwdHIpOwotICAgIHNldFZpZGVvU291cmNlKG51bGxwdHIpOwogfQogCiB2
b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVk
aWFTYW1wbGUmIHNhbXBsZUJ1ZmZlcikKQEAgLTEzNiw4ICsxMzQsNiBAQCB2b2lkIE1lZGlhUmVj
b3JkZXJQcml2YXRlQVZGSW1wbDo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IFdURjo6TWVk
aWFUaW1lJiBtZQogCiB2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6c3RvcFJlY29y
ZGluZygpCiB7Ci0gICAgc2V0QXVkaW9Tb3VyY2UobnVsbHB0cik7Ci0gICAgc2V0VmlkZW9Tb3Vy
Y2UobnVsbHB0cik7CiAgICAgbV93cml0ZXItPnN0b3BSZWNvcmRpbmcoKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
UHJpdmF0ZU1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9N
ZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2suY3BwCmluZGV4IDEyM2U5Y2ZmMmIxNjg3ODg3MmNiYTI4
YmRiNTgyYWQyNzliNTZjYjIuLmNlMmEyYTVmOGU3YzM3OGFjNTRiMzFjOGM3YWVmZmMwNjVjMTMw
ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVk
aWFSZWNvcmRlclByaXZhdGVNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlTW9jay5jcHAKQEAgLTQ5LDE0ICs0OSwx
MCBAQCBNZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2s6Ok1lZGlhUmVjb3JkZXJQcml2YXRlTW9jayhN
ZWRpYVN0cmVhbVByaXZhdGUmIHN0cmVhbSkKIAogTWVkaWFSZWNvcmRlclByaXZhdGVNb2NrOjp+
TWVkaWFSZWNvcmRlclByaXZhdGVNb2NrKCkKIHsKLSAgICBzZXRBdWRpb1NvdXJjZShudWxscHRy
KTsKLSAgICBzZXRWaWRlb1NvdXJjZShudWxscHRyKTsKIH0KIAogdm9pZCBNZWRpYVJlY29yZGVy
UHJpdmF0ZU1vY2s6OnN0b3BSZWNvcmRpbmcoKQogewotICAgIHNldEF1ZGlvU291cmNlKG51bGxw
dHIpOwotICAgIHNldFZpZGVvU291cmNlKG51bGxwdHIpOwogfQogCiB2b2lkIE1lZGlhUmVjb3Jk
ZXJQcml2YXRlTW9jazo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclBy
aXZhdGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNv
cmRlclByaXZhdGUuY3BwCmluZGV4IGQ0NWU4ODdjZjExOTBhNDQ3ODBjZDUzYjdjZGE3MGNjNzNi
YzNlYzAuLjhjM2YwMjBlYWUxYWI3NTU1Yzk4MjY1YzIwOTRjN2MzZTZlMzg4NDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2
YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJl
Y29yZGVyUHJpdmF0ZS5jcHAKQEAgLTcwLDE4ICs3MCwxOCBAQCB2b2lkIE1lZGlhUmVjb3JkZXJQ
cml2YXRlOjpzdGFydFJlY29yZGluZyhTdGFydFJlY29yZGluZ0NhbGxiYWNrJiYgY2FsbGJhY2sp
CiAgICAgICAgICAgICBjYWxsYmFjayhFeGNlcHRpb24geyBleGNlcHRpb24tPmNvZGUsIFdURk1v
dmUoZXhjZXB0aW9uLT5tZXNzYWdlKSB9KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQotICAgICAgICBpZiAoYXVkaW9UcmFjaykKLSAgICAgICAgICAgIHNldEF1ZGlvU291cmNlKCZh
dWRpb1RyYWNrLT5zb3VyY2UoKSk7Ci0gICAgICAgIGlmICh2aWRlb1RyYWNrKQotICAgICAgICAg
ICAgc2V0VmlkZW9Tb3VyY2UoJnZpZGVvVHJhY2stPnNvdXJjZSgpKTsKKyAgICAgICAgaWYgKCFt
X2lzU3RvcHBlZCkgeworICAgICAgICAgICAgaWYgKGF1ZGlvVHJhY2spCisgICAgICAgICAgICAg
ICAgc2V0QXVkaW9Tb3VyY2UoJmF1ZGlvVHJhY2stPnNvdXJjZSgpKTsKKyAgICAgICAgICAgIGlm
ICh2aWRlb1RyYWNrKQorICAgICAgICAgICAgICAgIHNldFZpZGVvU291cmNlKCZ2aWRlb1RyYWNr
LT5zb3VyY2UoKSk7CisgICAgICAgIH0KICAgICAgICAgY2FsbGJhY2soV1RGTW92ZShtaW1lVHlw
ZSkpOwogICAgIH0sIDApOwogfQogCiBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6fk1lZGlhUmVjb3Jk
ZXJQcml2YXRlKCkKIHsKLSAgICBzZXRBdWRpb1NvdXJjZShudWxscHRyKTsKLSAgICBzZXRWaWRl
b1NvdXJjZShudWxscHRyKTsKICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90
ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOjpSZWxlYXNlUmVjb3JkZXIgeyBtX2lkZW50aWZpZXIgfSwg
MCk7CiB9CiAKQEAgLTEzNyw4ICsxMzcsNyBAQCB2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlOjpm
ZXRjaERhdGEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8V2ViQ29yZTo6U2hhcgogCiB2
b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlOjpzdG9wUmVjb3JkaW5nKCkKIHsKLSAgICBzZXRBdWRp
b1NvdXJjZShudWxscHRyKTsKLSAgICBzZXRWaWRlb1NvdXJjZShudWxscHRyKTsKKyAgICBtX2lz
U3RvcHBlZCA9IHRydWU7CiAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVN
ZWRpYVJlY29yZGVyOjpTdG9wUmVjb3JkaW5nIHsgfSwgbV9pZGVudGlmaWVyKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRl
clByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVj
b3JkZXJQcml2YXRlLmgKaW5kZXggNTdiYmVkMzkwZDBlNjQ1MGI5NzI1MDZkYjgxMzdhODcyZDQw
YTZhZi4uYzQyMTdmOWVjOTJmZjRlNWI4NDk2Yjc2ZmVmNTlhZDU0MzNkMDIzNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29y
ZGVyUHJpdmF0ZS5oCkBAIC03NCw2ICs3NCw3IEBAIHByaXZhdGU6CiAgICAgaW50NjRfdCBtX251
bWJlck9mRnJhbWVzIHsgMCB9OwogICAgIFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlT3B0
aW9ucyBtX29wdGlvbnM7CiAgICAgYm9vbCBtX2hhc1ZpZGVvIHsgZmFsc2UgfTsKKyAgICBib29s
IG1faXNTdG9wcGVkIHsgZmFsc2UgfTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwNzg5N2QxNTI5N2NiYzFj
YzhjNWViYjM0ZDk3NDY1OWEwMTU3ZjM1Li4xOGY0YTU2NWY5YzU3NTMyMGYzYWNmYWVlN2Q4ODA4
MDM0NDgxZjJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMTAtMDYgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBmaXJlIHRoZSBj
b3JyZWN0IHNldCBvZiBldmVudHMgaW4gY2FzZSBNZWRpYVJlY29yZGVyIHN0cmVhbSBoYXMgdHJh
Y2sgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjE3MzE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMTAtMDUgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIE1lZGlhUmVjb3JkZXIg
c2hvdWxkIHJlc3BlY3QgZW5hYmxlZCBhbmQgbXV0ZWQgdHJhY2tzCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwppbmRleCA0ZDE0NzI5Y2FlZmU4ODM1ZDMxZWIyZTUyNzg2MTk3YjEyNWJhZTYx
Li4zNjdlMDQyZDdkNjQ0ZDc3NDJkNzBjODAxMWE4ZmE3NjFlZDlkNDBjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0xMC0wNiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzdXJlIHRvIGZpcmUgdGhl
IGNvcnJlY3Qgc2V0IG9mIGV2ZW50cyBpbiBjYXNlIE1lZGlhUmVjb3JkZXIgc3RyZWFtIGhhcyB0
cmFjayBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTczMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3Jk
ZXItZXJyb3IuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJl
LXJlY29yZC9NZWRpYVJlY29yZGVyLXN0b3AtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItc3RvcC5odG1s
OgorCiAyMDIwLTEwLTAyICBUcnVpdHQgU2F2ZWxsICA8dHNhdmVsbEBhcHBsZS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjc4ODcuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQv
TWVkaWFSZWNvcmRlci1lcnJvci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItZXJyb3IuaHRt
bAppbmRleCA0ZGFmMmQ5Y2QxYTZkZTgyMTY1MTUyZmFjZjg4YzQ3NDJlYjAwNTM2Li42ODE2NmMy
OGU2M2Y3NjQ3NTE2YTEyYWZmMTkzY2M0NGE4OGRmZjFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVk
aWFSZWNvcmRlci1lcnJvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLWVycm9yLmh0
bWwKQEAgLTM4LDcgKzM4LDcgQEAKICAgICAgICAgbGV0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVj
b3JkZXIodmlkZW8pOwogICAgICAgICByZWNvcmRlci5vbmVycm9yID0gdC5zdGVwX2Z1bmMobWVk
aWFSZWNvcmRlckVycm9yRXZlbnQgPT4gewogICAgICAgICAgICAgYXNzZXJ0X3RydWUobWVkaWFS
ZWNvcmRlckVycm9yRXZlbnQgaW5zdGFuY2VvZiBNZWRpYVJlY29yZGVyRXJyb3JFdmVudCwgJ3Ro
ZSB0eXBlIG9mIGV2ZW50IHNob3VsZCBiZSBNZWRpYVJlY29yZGVyRXJyb3JFdmVudCcpOwotICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZWRpYVJlY29yZGVyRXJyb3JFdmVudC5lcnJvci5uYW1l
LCAnVW5rbm93bkVycm9yJywgJ3RoZSB0eXBlIG9mIGVycm9yIHNob3VsZCBiZSBVbmtub3duRXJy
b3Igd2hlbiB0cmFjayBoYXMgYmVlbiBhZGRlZCBvciByZW1vdmVkJyk7CisgICAgICAgICAgICBh
c3NlcnRfZXF1YWxzKG1lZGlhUmVjb3JkZXJFcnJvckV2ZW50LmVycm9yLm5hbWUsICdJbnZhbGlk
TW9kaWZpY2F0aW9uRXJyb3InLCAndGhlIHR5cGUgb2YgZXJyb3Igc2hvdWxkIGJlIFVua25vd25F
cnJvciB3aGVuIHRyYWNrIGhhcyBiZWVuIGFkZGVkIG9yIHJlbW92ZWQnKTsKICAgICAgICAgICAg
IGFzc2VydF90cnVlKG1lZGlhUmVjb3JkZXJFcnJvckV2ZW50LmlzVHJ1c3RlZCwgJ2lzVHJ1c3Rl
ZCBzaG91bGQgYmUgdHJ1ZSB3aGVuIHRoZSBldmVudCBpcyBjcmVhdGVkIGJ5IEMrKycpOwogICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5zdGF0ZSwgImluYWN0aXZlIiwgIk1lZGlh
UmVjb3JkZXIgaGFzIGJlZW4gc3RvcHBlZCBhZnRlciBhZGRpbmcgYSB0cmFjayB0byBzdHJlYW0i
KTsKICAgICAgICAgICAgIHQuZG9uZSgpOwpAQCAtNTcsNyArNTcsNyBAQAogICAgICAgICBsZXQg
cmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRlcih2aWRlbyk7CiAgICAgICAgIHJlY29yZGVyLm9u
ZXJyb3IgPSB0LnN0ZXBfZnVuYyhtZWRpYVJlY29yZGVyRXJyb3JFdmVudCA9PiB7CiAgICAgICAg
ICAgICBhc3NlcnRfdHJ1ZShtZWRpYVJlY29yZGVyRXJyb3JFdmVudCBpbnN0YW5jZW9mIE1lZGlh
UmVjb3JkZXJFcnJvckV2ZW50LCAndGhlIHR5cGUgb2YgZXZlbnQgc2hvdWxkIGJlIE1lZGlhUmVj
b3JkZXJFcnJvckV2ZW50Jyk7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lZGlhUmVjb3Jk
ZXJFcnJvckV2ZW50LmVycm9yLm5hbWUsICdVbmtub3duRXJyb3InLCAndGhlIHR5cGUgb2YgZXJy
b3Igc2hvdWxkIGJlIFVua25vd25FcnJvciB3aGVuIHRyYWNrIGhhcyBiZWVuIGFkZGVkIG9yIHJl
bW92ZWQnKTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVkaWFSZWNvcmRlckVycm9yRXZl
bnQuZXJyb3IubmFtZSwgJ0ludmFsaWRNb2RpZmljYXRpb25FcnJvcicsICd0aGUgdHlwZSBvZiBl
cnJvciBzaG91bGQgYmUgVW5rbm93bkVycm9yIHdoZW4gdHJhY2sgaGFzIGJlZW4gYWRkZWQgb3Ig
cmVtb3ZlZCcpOwogICAgICAgICAgICAgYXNzZXJ0X3RydWUobWVkaWFSZWNvcmRlckVycm9yRXZl
bnQuaXNUcnVzdGVkLCAnaXNUcnVzdGVkIHNob3VsZCBiZSB0cnVlIHdoZW4gdGhlIGV2ZW50IGlz
IGNyZWF0ZWQgYnkgQysrJyk7CiAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVyLnN0
YXRlLCAiaW5hY3RpdmUiLCAiTWVkaWFSZWNvcmRlciBoYXMgYmVlbiBzdG9wcGVkIGFmdGVyIHJl
bW92aW5nIGEgdHJhY2sgZnJvbSBzdHJlYW0iKTsKICAgICAgICAgICAgIHQuZG9uZSgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItc3RvcC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQv
TWVkaWFSZWNvcmRlci1zdG9wLWV4cGVjdGVkLnR4dAppbmRleCAyYzhlZjUxYzUwY2NlMGNjZDgz
YjIwOWU4ZDE5NjBjNjhmOWY2OTJhLi45YjU1ODliN2YwMTBkN2E0ODBiNWZmMmM5ZjAzYzgxYmVl
NjZkZjY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1zdG9wLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
Y2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1zdG9wLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsx
LDkgQEAKIAogRkFJTCBNZWRpYVJlY29yZGVyIHdpbGwgc3RvcCByZWNvcmRpbmcgYW5kIGZpcmUg
YSBzdG9wIGV2ZW50IHdoZW4gYWxsIHRyYWNrcyBhcmUgZW5kZWQgYXNzZXJ0X2VxdWFsczogTWVk
aWFSZWNvcmRlciBzdGF0ZSBzaG91bGQgYmUgcmVjb3JkaW5nIGltbWVkaWF0ZWx5IGZvbGxvd2lu
ZyBsYXN0IHRyYWNrIGVuZGluZyBleHBlY3RlZCAicmVjb3JkaW5nIiBidXQgZ290ICJpbmFjdGl2
ZSIKIFBBU1MgTWVkaWFSZWNvcmRlciB3aWxsIHN0b3AgcmVjb3JkaW5nIGFuZCBmaXJlIGEgc3Rv
cCBldmVudCB3aGVuIHN0b3AoKSBpcyBjYWxsZWQKLUZBSUwgTWVkaWFSZWNvcmRlciB3aWxsIGZp
cmUgYW4gZXhjZXB0aW9uIHdoZW4gc3RvcHBlZCBhZnRlciBjcmVhdGlvbiBhc3NlcnRfdGhyb3dz
X2RvbTogZnVuY3Rpb24gIigpID0+IHsgcmVjb3JkZXIuc3RvcCgpOyB9IiBkaWQgbm90IHRocm93
Ci1GQUlMIE1lZGlhUmVjb3JkZXIgd2lsbCBmaXJlIGFuIGV4Y2VwdGlvbiB3aGVuIHN0b3BwZWQg
YWZ0ZXIgaGF2aW5nIGp1c3QgYmVlbiBzdG9wcGVkIGFzc2VydF90aHJvd3NfZG9tOiBmdW5jdGlv
biAiKCkgPT4geyByZWNvcmRlci5zdG9wKCk7IH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgTWVkaWFS
ZWNvcmRlciB3aWxsIGZpcmUgYW4gZXhjZXB0aW9uIHdoZW4gc3RvcHBlZCBhZnRlciBoYXZpbmcg
anVzdCBiZWVuIHNwb250YW5lb3VzbHkgc3RvcHBlZCBhc3NlcnRfdGhyb3dzX2RvbTogZnVuY3Rp
b24gIigpID0+IHsgcmVjb3JkZXIuc3RvcCgpOyB9IiBkaWQgbm90IHRocm93CitQQVNTIE1lZGlh
UmVjb3JkZXIgd2lsbCBmaXJlIGFuIGV4Y2VwdGlvbiB3aGVuIHN0b3BwZWQgYWZ0ZXIgY3JlYXRp
b24KK1BBU1MgTWVkaWFSZWNvcmRlciB3aWxsIGZpcmUgYW4gZXhjZXB0aW9uIHdoZW4gc3RvcHBl
ZCBhZnRlciBoYXZpbmcganVzdCBiZWVuIHN0b3BwZWQKK1BBU1MgTWVkaWFSZWNvcmRlciB3aWxs
IGZpcmUgYW4gZXhjZXB0aW9uIHdoZW4gc3RvcHBlZCBhZnRlciBoYXZpbmcganVzdCBiZWVuIHNw
b250YW5lb3VzbHkgc3RvcHBlZAorUEFTUyBNZWRpYVJlY29yZGVyIHdpbGwgZmlyZSBzdGFydCBl
dmVudCBldmVuIGlmIHN0b3BwZWQgc3luY2hyb25vdXNseQorUEFTUyBNZWRpYVJlY29yZGVyIHdp
bGwgZmlyZSBzdGFydCBldmVudCBldmVuIGlmIGEgdHJhY2sgaXMgcmVtb3ZlZCBzeW5jaHJvbm91
c2x5CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLXN0b3AuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29y
ZC9NZWRpYVJlY29yZGVyLXN0b3AuaHRtbAppbmRleCBiYjM5YjAyN2YwZmNhYzBhNGFhNjM5MThk
NTZkNjIyOTY2MDdiNWU5Li45ZDEyOTkyYTg1YTkwMDdiYzA4MzlhNjMyZGVlMjQxNmY4MDA1ODdl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1zdG9wLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3Jk
L01lZGlhUmVjb3JkZXItc3RvcC5odG1sCkBAIC0xMTUsNiArMTE1LDQ0IEBACiAgICAgICAgICAg
ICBuZXcgUHJvbWlzZShyID0+IHQuc3RlcF90aW1lb3V0KHIsIDApKV0pOwogICAgIH0sICJNZWRp
YVJlY29yZGVyIHdpbGwgZmlyZSBhbiBleGNlcHRpb24gd2hlbiBzdG9wcGVkIGFmdGVyIGhhdmlu
ZyBqdXN0IGJlZW4gc3BvbnRhbmVvdXNseSBzdG9wcGVkIik7CiAKKyAgICBwcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7CisgICAgICAgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRp
YURldmljZXMuZ2V0VXNlck1lZGlhKHsgYXVkaW86IHRydWUsIHZpZGVvOiB0cnVlIH0pOworICAg
ICAgICBjb25zdCByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKHN0cmVhbSk7CisgICAgICAg
IGxldCBldmVudHMgPSBbXTsKKyAgICAgICAgY29uc3Qgc3RhcnRQcm9taXNlID0gbmV3IFByb21p
c2UocmVzb2x2ZSA9PiByZWNvcmRlci5vbnN0YXJ0ID0gcmVzb2x2ZSk7CisgICAgICAgIGNvbnN0
IHN0b3BQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiByZWNvcmRlci5vbnN0b3AgPSBy
ZXNvbHZlKTsKKworICAgICAgICBzdGFydFByb21pc2UudGhlbigoKSA9PiBldmVudHMucHVzaCgi
c3RhcnQiKSk7CisgICAgICAgIHN0b3BQcm9taXNlLnRoZW4oKCkgPT4gZXZlbnRzLnB1c2goInN0
b3AiKSk7CisKKyAgICAgICAgcmVjb3JkZXIuc3RhcnQoKTsKKyAgICAgICAgcmVjb3JkZXIuc3Rv
cCgpOworCisgICAgICAgIGF3YWl0IHN0b3BQcm9taXNlOworICAgICAgICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKGV2ZW50cywgWyJzdGFydCIsICJzdG9wIl0pOworICAgIH0sICJNZWRpYVJlY29yZGVy
IHdpbGwgZmlyZSBzdGFydCBldmVudCBldmVuIGlmIHN0b3BwZWQgc3luY2hyb25vdXNseSIpOwor
CisgICAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgICBjb25zdCBzdHJlYW0gPSBh
d2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7IGF1ZGlvOiB0cnVlLCB2
aWRlbzogdHJ1ZSB9KTsKKyAgICAgICAgY29uc3QgcmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRl
cihzdHJlYW0pOworICAgICAgICBsZXQgZXZlbnRzID0gW107CisgICAgICAgIGNvbnN0IHN0YXJ0
UHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVjb3JkZXIub25zdGFydCA9IHJlc29s
dmUpOworCWNvbnN0IHN0b3BQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiByZWNvcmRl
ci5vbnN0b3AgPSByZXNvbHZlKTsKKyAgICAgICAgY29uc3QgZXJyb3JQcm9taXNlID0gbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiByZWNvcmRlci5vbmVycm9yID0gcmVzb2x2ZSk7CisgICAgICAgIGNv
bnN0IGRhdGFQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiByZWNvcmRlci5vbmRhdGFh
dmFpbGFibGUgPSByZXNvbHZlKTsKKworICAgICAgICBzdGFydFByb21pc2UudGhlbigoKSA9PiBl
dmVudHMucHVzaCgic3RhcnQiKSk7CisgICAgICAgIHN0b3BQcm9taXNlLnRoZW4oKCkgPT4gZXZl
bnRzLnB1c2goInN0b3AiKSk7CisgICAgICAgIGVycm9yUHJvbWlzZS50aGVuKCgpID0+IGV2ZW50
cy5wdXNoKCJlcnJvciIpKTsKKyAgICAgICAgZGF0YVByb21pc2UudGhlbigoKSA9PiBldmVudHMu
cHVzaCgiZGF0YSIpKTsKKworICAgICAgICByZWNvcmRlci5zdGFydCgpOworICAgICAgICBzdHJl
YW0ucmVtb3ZlVHJhY2soc3RyZWFtLmdldEF1ZGlvVHJhY2tzKClbMF0pOworCisgICAgICAgIGF3
YWl0IHN0b3BQcm9taXNlOworICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGV2ZW50cywgWyJz
dGFydCIsICJlcnJvciIsICJkYXRhIiwgInN0b3AiXSk7CisgICAgfSwgIk1lZGlhUmVjb3JkZXIg
d2lsbCBmaXJlIHN0YXJ0IGV2ZW50IGV2ZW4gaWYgYSB0cmFjayBpcyByZW1vdmVkIHN5bmNocm9u
b3VzbHkiKTsKKwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410631</attachid>
            <date>2020-10-06 06:50:34 -0700</date>
            <delta_ts>2020-10-06 08:52:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217316-20201006155033.patch</filename>
            <type>text/plain</type>
            <size>19028</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3OTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjUyZGIyOWUwNTBhMTI5
Yjc5M2Y3YzhjYzUyMDhlMWM5OGJmN2MwMC4uZTYyMjYzZGUxODRhNjRkNTczNzk2ODVlYTAwYjZl
MDI5YmI2NDM5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTEwLTA2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHN1cmUgdG8gZmly
ZSB0aGUgY29ycmVjdCBzZXQgb2YgZXZlbnRzIGluIGNhc2UgTWVkaWFSZWNvcmRlciBzdHJlYW0g
aGFzIHRyYWNrIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNzMxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEludHJvZHVjZSBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6c3RvcCB3aGljaCBtYWtl
cyBzdXJlIHRvIHVucmVnaXN0ZXIgZnJvbSBtZWRpYSBzb3VyY2VzIGJlZm9yZSBzdG9wcGluZy4K
KyAgICAgICAgVXBkYXRlIGZpcmluZyBldmVudHMgYWNjb3JkaW5nIGh0dHBzOi8vdzNjLmdpdGh1
Yi5pby9tZWRpYWNhcHR1cmUtcmVjb3JkLyNkb20tbWVkaWFyZWNvcmRlci1zdGFydCB3aGVuIHRy
YWNrIHNldCBpcyBjaGFuZ2VkLgorICAgICAgICBDb3ZlcmVkIGJ5IHVwZGF0ZWQgdGVzdC4KKwor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVJlY29yZGVyOjpzdG9wUmVjb3JkaW5nSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFSZWNvcmRlcjo6aGFuZGxlVHJhY2tDaGFuZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFSZWNvcmRlclByaXZhdGU6OnN0b3ApOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhcmVj
b3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJl
Y29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6On5NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRklt
cGwpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjpzdG9w
UmVjb3JkaW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3Jk
ZXJQcml2YXRlTW9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0
ZU1vY2s6On5NZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2spOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFSZWNvcmRlclByaXZhdGVNb2NrOjpzdG9wUmVjb3JkaW5nKToKKwogMjAyMC0xMC0wNSAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWVkaWFSZWNvcmRlciBz
aG91bGQgcmVzcGVjdCBlbmFibGVkIGFuZCBtdXRlZCB0cmFja3MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOTAyNGU3
ZDRjNDRmOWI3YjAyYTMyNjVkOTE3ZGFjNzMzZDkyNTEzYS4uMDg2YmNkNjUwYjk4OWQ3NDJjZTQz
Mzc5MDkyZTlkNDY1OTIzMWQyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0xMC0w
NiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzdXJl
IHRvIGZpcmUgdGhlIGNvcnJlY3Qgc2V0IG9mIGV2ZW50cyBpbiBjYXNlIE1lZGlhUmVjb3JkZXIg
c3RyZWFtIGhhcyB0cmFjayBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTczMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBNYWtlIHN1cmUgdG8gbm90IHNldCBhdWRpby92aWRlbyB0cmFja3Mg
aWYgdGhlIHJlY29yZGVyIHdhcyBzdG9wcGVkLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
d2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TWVkaWFS
ZWNvcmRlclByaXZhdGU6OnN0YXJ0UmVjb3JkaW5nKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFS
ZWNvcmRlclByaXZhdGU6On5NZWRpYVJlY29yZGVyUHJpdmF0ZSk6CisgICAgICAgIChXZWJLaXQ6
Ok1lZGlhUmVjb3JkZXJQcml2YXRlOjpzdG9wUmVjb3JkaW5nKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuaDoKKwogMjAyMC0xMC0wMiAgQ2Fy
bG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgV2ViRHJp
dmVyOiBhZGQgc3VwcG9ydCBmb3Igc2FtZSBzaXRlIGNvb2tpZXMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmNwcAppbmRleCBh
ODNjMDlhYjUyMTU4NTc3YjdhOTAzZmY1YmFmOTcwODIxNTVlYjI5Li44ZGY5ZDRlYmJmYTI4ZGE3
MGY1YWZhYmYyN2RiNjAyNTllMzA1OTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuY3BwCkBAIC02Nyw2ICs2Nyw4IEBA
IEV4Y2VwdGlvbk9yPFJlZjxNZWRpYVJlY29yZGVyPj4gTWVkaWFSZWNvcmRlcjo6Y3JlYXRlKERv
Y3VtZW50JiBkb2N1bWVudCwgUmVmPE1lCiAgICAgaWYgKHJlc3VsdC5oYXNFeGNlcHRpb24oKSkK
ICAgICAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CiAKKyAgICByZXN1bHQu
cmVsZWFzZVJldHVyblZhbHVlKCktPnN0b3AoKTsKKwogICAgIGF1dG8gcmVjb3JkZXIgPSBhZG9w
dFJlZigqbmV3IE1lZGlhUmVjb3JkZXIoZG9jdW1lbnQsIFdURk1vdmUoc3RyZWFtKSwgV1RGTW92
ZShvcHRpb25zKSkpOwogICAgIHJlY29yZGVyLT5zdXNwZW5kSWZOZWVkZWQoKTsKICAgICByZXR1
cm4gcmVjb3JkZXI7CkBAIC0yNjksNyArMjcxLDcgQEAgdm9pZCBNZWRpYVJlY29yZGVyOjpzdG9w
UmVjb3JkaW5nSW50ZXJuYWwoKQogICAgICAgICB0cmFjay0+cmVtb3ZlT2JzZXJ2ZXIoKnRoaXMp
OwogCiAgICAgbV9zdGF0ZSA9IFJlY29yZGluZ1N0YXRlOjpJbmFjdGl2ZTsKLSAgICBtX3ByaXZh
dGUtPnN0b3BSZWNvcmRpbmcoKTsKKyAgICBtX3ByaXZhdGUtPnN0b3AoKTsKIH0KIAogdm9pZCBN
ZWRpYVJlY29yZGVyOjpoYW5kbGVUcmFja0NoYW5nZSgpCkBAIC0yNzgsNyArMjgwLDEzIEBAIHZv
aWQgTWVkaWFSZWNvcmRlcjo6aGFuZGxlVHJhY2tDaGFuZ2UoKQogICAgICAgICBpZiAoIW1faXNB
Y3RpdmUgfHwgc3RhdGUoKSA9PSBSZWNvcmRpbmdTdGF0ZTo6SW5hY3RpdmUpCiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIHN0b3BSZWNvcmRpbmdJbnRlcm5hbCgpOwotICAgICAgICBkaXNw
YXRjaEVycm9yKEV4Y2VwdGlvbiB7IFVua25vd25FcnJvciwgIlRyYWNrIGNhbm5vdCBiZSBhZGRl
ZCB0byBvciByZW1vdmVkIGZyb20gdGhlIE1lZGlhU3RyZWFtIHdoaWxlIHJlY29yZGluZyBpcyBo
YXBwZW5pbmciX3MgfSk7CisgICAgICAgIGRpc3BhdGNoRXJyb3IoRXhjZXB0aW9uIHsgSW52YWxp
ZE1vZGlmaWNhdGlvbkVycm9yLCAiVHJhY2sgY2Fubm90IGJlIGFkZGVkIHRvIG9yIHJlbW92ZWQg
ZnJvbSB0aGUgTWVkaWFTdHJlYW0gd2hpbGUgcmVjb3JkaW5nIGlzIGhhcHBlbmluZyJfcyB9KTsK
KyAgICAgICAgaWYgKCFtX2lzQWN0aXZlKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBk
aXNwYXRjaEV2ZW50KEJsb2JFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5kYXRhYXZhaWxhYmxl
RXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObywgQmxv
Yjo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpKTsKKyAgICAgICAgaWYgKCFtX2lz
QWN0aXZlKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50
OjpjcmVhdGUoZXZlbnROYW1lcygpLnN0b3BFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2
ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmlkbAppbmRleCA4
MmQyYjAxNjcyY2E4N2MxNjdiZDVmZGVlOWUyYTcyMjcxNGEwYTVjLi5hMWJmNzE3NjEzZjgwZjFm
NmJmNDNhNjBjZDE4M2QyMTk2ZmUwMjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaWRsCkBAIC00OCwxMCArNDgsMTAg
QEAgZW51bSBSZWNvcmRpbmdTdGF0ZSB7ICJpbmFjdGl2ZSIsICJyZWNvcmRpbmciLCAicGF1c2Vk
IiB9OwogICAgIC8vIHJlYWRvbmx5IGF0dHJpYnV0ZSBCaXRyYXRlTW9kZSBhdWRpb0JpdHJhdGVN
b2RlOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPXN0YXJ0UmVjb3Jk
aW5nXSB1bmRlZmluZWQgc3RhcnQob3B0aW9uYWwgdW5zaWduZWQgbG9uZyB0aW1lc2xpY2UpOwot
ICAgIFtJbXBsZW1lbnRlZEFzPXN0b3BSZWNvcmRpbmddIHVuZGVmaW5lZCBzdG9wKCk7CisgICAg
W01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPXN0b3BSZWNvcmRpbmddIHVuZGVmaW5l
ZCBzdG9wKCk7CiAgICAgLy8gdW5kZWZpbmVkIHBhdXNlKCk7CiAgICAgLy8gdW5kZWZpbmVkIHJl
c3VtZSgpOwotICAgIHVuZGVmaW5lZCByZXF1ZXN0RGF0YSgpOworICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5kZWZpbmVkIHJlcXVlc3REYXRhKCk7CiAKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnRd
IHN0YXRpYyBib29sZWFuIGlzVHlwZVN1cHBvcnRlZChET01TdHJpbmcgdHlwZSk7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29y
ZGVyUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01l
ZGlhUmVjb3JkZXJQcml2YXRlLmNwcAppbmRleCBjMGJmYjEyYzU4M2Y5ZjVhNjQ0YWUzZjA0ZDhm
NjgyZWVmYzg0YmQ4Li40MjRhZGZjOTQzNTZmMTM4N2NlODQ0YzA4ODY0MWNkOTIzNmNlNDcxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVj
b3JkZXJQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcApAQCAtNjYsNiArNjYsMTMgQEAgdm9pZCBNZWRp
YVJlY29yZGVyUHJpdmF0ZTo6Y2hlY2tUcmFja1N0YXRlKGNvbnN0IE1lZGlhU3RyZWFtVHJhY2tQ
cml2YXRlJiB0cmFjaykKICAgICAgICAgbV9zaG91bGRNdXRlVmlkZW8gPSB0cmFjay5tdXRlZCgp
IHx8ICF0cmFjay5lbmFibGVkKCk7CiB9CiAKK3ZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGU6OnN0
b3AoKQoreworICAgIHNldEF1ZGlvU291cmNlKG51bGxwdHIpOworICAgIHNldFZpZGVvU291cmNl
KG51bGxwdHIpOworICAgIHN0b3BSZWNvcmRpbmcoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZh
dGUuaAppbmRleCA4NjYzYTZmNzZjNzBlNjY1ZDMzNDdkOTdiODJhZWVhYjM2ZWUzMjFjLi5jYjk3
ZWNiMDU3NTk4MjI3ZjIxMmZjZTQ0NjNlOWI0MGQ0MGZkYjYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJp
dmF0ZS5oCkBAIC01OSw5ICs1OSwxMCBAQCBwdWJsaWM6CiAKICAgICB1c2luZyBGZXRjaERhdGFD
YWxsYmFjayA9IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPFNoYXJlZEJ1ZmZlcj4mJiwg
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSk+OwogICAgIHZpcnR1YWwgdm9pZCBmZXRjaERhdGEoRmV0
Y2hEYXRhQ2FsbGJhY2smJikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzdG9wUmVjb3JkaW5nKCkg
PSAwOwogICAgIHZpcnR1YWwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSgpIGNvbnN0ID0gMDsKIAor
ICAgIHZvaWQgc3RvcCgpOworCiAgICAgdXNpbmcgU3RhcnRSZWNvcmRpbmdDYWxsYmFjayA9IENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoRXhjZXB0aW9uT3I8U3RyaW5nPiYmKT47CiAgICAgdmlydHVh
bCB2b2lkIHN0YXJ0UmVjb3JkaW5nKFN0YXJ0UmVjb3JkaW5nQ2FsbGJhY2smJiBjYWxsYmFjaykg
eyBjYWxsYmFjayhTdHJpbmcobWltZVR5cGUoKSkpOyB9CiAKQEAgLTc3LDYgKzc4LDkgQEAgcHJv
dGVjdGVkOgogICAgIGJvb2wgc2hvdWxkTXV0ZUF1ZGlvKCkgY29uc3QgeyByZXR1cm4gbV9zaG91
bGRNdXRlQXVkaW87IH0KICAgICBib29sIHNob3VsZE11dGVWaWRlbygpIGNvbnN0IHsgcmV0dXJu
IG1fc2hvdWxkTXV0ZVZpZGVvOyB9CiAKK3ByaXZhdGU6CisgICAgdmlydHVhbCB2b2lkIHN0b3BS
ZWNvcmRpbmcoKSA9IDA7CisKIHByaXZhdGU6CiAgICAgYm9vbCBtX3Nob3VsZE11dGVBdWRpbyB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX3Nob3VsZE11dGVWaWRlbyB7IGZhbHNlIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQ
cml2YXRlQVZGSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVy
L01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5jcHAKaW5kZXggNmE4ZTU0MWEwOGM1ODIyOWFi
ZDU2ZjFlNTYxMjBhZmJlMGMxZTBiMS4uZTIzNTE3YWU3YmRiN2Y1YWY0OTg3ODZhZDJlNGZiMzg4
ODhjZjFlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRl
ci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNwcApAQCAt
NzUsOCArNzUsNiBAQCBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6Ok1lZGlhUmVjb3JkZXJQ
cml2YXRlQVZGSW1wbChSZWY8TWVkaWFSZWNvcmRlclByaXZhdAogCiBNZWRpYVJlY29yZGVyUHJp
dmF0ZUFWRkltcGw6On5NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwoKQogewotICAgIHNldEF1
ZGlvU291cmNlKG51bGxwdHIpOwotICAgIHNldFZpZGVvU291cmNlKG51bGxwdHIpOwogfQogCiB2
b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVk
aWFTYW1wbGUmIHNhbXBsZUJ1ZmZlcikKQEAgLTEzNiw4ICsxMzQsNiBAQCB2b2lkIE1lZGlhUmVj
b3JkZXJQcml2YXRlQVZGSW1wbDo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IFdURjo6TWVk
aWFUaW1lJiBtZQogCiB2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6c3RvcFJlY29y
ZGluZygpCiB7Ci0gICAgc2V0QXVkaW9Tb3VyY2UobnVsbHB0cik7Ci0gICAgc2V0VmlkZW9Tb3Vy
Y2UobnVsbHB0cik7CiAgICAgbV93cml0ZXItPnN0b3BSZWNvcmRpbmcoKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
UHJpdmF0ZU1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9N
ZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2suY3BwCmluZGV4IDEyM2U5Y2ZmMmIxNjg3ODg3MmNiYTI4
YmRiNTgyYWQyNzliNTZjYjIuLmNlMmEyYTVmOGU3YzM3OGFjNTRiMzFjOGM3YWVmZmMwNjVjMTMw
ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVk
aWFSZWNvcmRlclByaXZhdGVNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlTW9jay5jcHAKQEAgLTQ5LDE0ICs0OSwx
MCBAQCBNZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2s6Ok1lZGlhUmVjb3JkZXJQcml2YXRlTW9jayhN
ZWRpYVN0cmVhbVByaXZhdGUmIHN0cmVhbSkKIAogTWVkaWFSZWNvcmRlclByaXZhdGVNb2NrOjp+
TWVkaWFSZWNvcmRlclByaXZhdGVNb2NrKCkKIHsKLSAgICBzZXRBdWRpb1NvdXJjZShudWxscHRy
KTsKLSAgICBzZXRWaWRlb1NvdXJjZShudWxscHRyKTsKIH0KIAogdm9pZCBNZWRpYVJlY29yZGVy
UHJpdmF0ZU1vY2s6OnN0b3BSZWNvcmRpbmcoKQogewotICAgIHNldEF1ZGlvU291cmNlKG51bGxw
dHIpOwotICAgIHNldFZpZGVvU291cmNlKG51bGxwdHIpOwogfQogCiB2b2lkIE1lZGlhUmVjb3Jk
ZXJQcml2YXRlTW9jazo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclBy
aXZhdGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNv
cmRlclByaXZhdGUuY3BwCmluZGV4IGQ0NWU4ODdjZjExOTBhNDQ3ODBjZDUzYjdjZGE3MGNjNzNi
YzNlYzAuLjhjM2YwMjBlYWUxYWI3NTU1Yzk4MjY1YzIwOTRjN2MzZTZlMzg4NDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2
YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJl
Y29yZGVyUHJpdmF0ZS5jcHAKQEAgLTcwLDE4ICs3MCwxOCBAQCB2b2lkIE1lZGlhUmVjb3JkZXJQ
cml2YXRlOjpzdGFydFJlY29yZGluZyhTdGFydFJlY29yZGluZ0NhbGxiYWNrJiYgY2FsbGJhY2sp
CiAgICAgICAgICAgICBjYWxsYmFjayhFeGNlcHRpb24geyBleGNlcHRpb24tPmNvZGUsIFdURk1v
dmUoZXhjZXB0aW9uLT5tZXNzYWdlKSB9KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQotICAgICAgICBpZiAoYXVkaW9UcmFjaykKLSAgICAgICAgICAgIHNldEF1ZGlvU291cmNlKCZh
dWRpb1RyYWNrLT5zb3VyY2UoKSk7Ci0gICAgICAgIGlmICh2aWRlb1RyYWNrKQotICAgICAgICAg
ICAgc2V0VmlkZW9Tb3VyY2UoJnZpZGVvVHJhY2stPnNvdXJjZSgpKTsKKyAgICAgICAgaWYgKCFt
X2lzU3RvcHBlZCkgeworICAgICAgICAgICAgaWYgKGF1ZGlvVHJhY2spCisgICAgICAgICAgICAg
ICAgc2V0QXVkaW9Tb3VyY2UoJmF1ZGlvVHJhY2stPnNvdXJjZSgpKTsKKyAgICAgICAgICAgIGlm
ICh2aWRlb1RyYWNrKQorICAgICAgICAgICAgICAgIHNldFZpZGVvU291cmNlKCZ2aWRlb1RyYWNr
LT5zb3VyY2UoKSk7CisgICAgICAgIH0KICAgICAgICAgY2FsbGJhY2soV1RGTW92ZShtaW1lVHlw
ZSkpOwogICAgIH0sIDApOwogfQogCiBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6fk1lZGlhUmVjb3Jk
ZXJQcml2YXRlKCkKIHsKLSAgICBzZXRBdWRpb1NvdXJjZShudWxscHRyKTsKLSAgICBzZXRWaWRl
b1NvdXJjZShudWxscHRyKTsKICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90
ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOjpSZWxlYXNlUmVjb3JkZXIgeyBtX2lkZW50aWZpZXIgfSwg
MCk7CiB9CiAKQEAgLTEzNyw4ICsxMzcsNyBAQCB2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlOjpm
ZXRjaERhdGEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8V2ViQ29yZTo6U2hhcgogCiB2
b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlOjpzdG9wUmVjb3JkaW5nKCkKIHsKLSAgICBzZXRBdWRp
b1NvdXJjZShudWxscHRyKTsKLSAgICBzZXRWaWRlb1NvdXJjZShudWxscHRyKTsKKyAgICBtX2lz
U3RvcHBlZCA9IHRydWU7CiAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVN
ZWRpYVJlY29yZGVyOjpTdG9wUmVjb3JkaW5nIHsgfSwgbV9pZGVudGlmaWVyKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRl
clByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVj
b3JkZXJQcml2YXRlLmgKaW5kZXggNTdiYmVkMzkwZDBlNjQ1MGI5NzI1MDZkYjgxMzdhODcyZDQw
YTZhZi4uYzQyMTdmOWVjOTJmZjRlNWI4NDk2Yjc2ZmVmNTlhZDU0MzNkMDIzNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29y
ZGVyUHJpdmF0ZS5oCkBAIC03NCw2ICs3NCw3IEBAIHByaXZhdGU6CiAgICAgaW50NjRfdCBtX251
bWJlck9mRnJhbWVzIHsgMCB9OwogICAgIFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlT3B0
aW9ucyBtX29wdGlvbnM7CiAgICAgYm9vbCBtX2hhc1ZpZGVvIHsgZmFsc2UgfTsKKyAgICBib29s
IG1faXNTdG9wcGVkIHsgZmFsc2UgfTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwNzg5N2QxNTI5N2NiYzFj
YzhjNWViYjM0ZDk3NDY1OWEwMTU3ZjM1Li4xOGY0YTU2NWY5YzU3NTMyMGYzYWNmYWVlN2Q4ODA4
MDM0NDgxZjJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMTAtMDYgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBmaXJlIHRoZSBj
b3JyZWN0IHNldCBvZiBldmVudHMgaW4gY2FzZSBNZWRpYVJlY29yZGVyIHN0cmVhbSBoYXMgdHJh
Y2sgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjE3MzE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMTAtMDUgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIE1lZGlhUmVjb3JkZXIg
c2hvdWxkIHJlc3BlY3QgZW5hYmxlZCBhbmQgbXV0ZWQgdHJhY2tzCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwppbmRleCA0ZDE0NzI5Y2FlZmU4ODM1ZDMxZWIyZTUyNzg2MTk3YjEyNWJhZTYx
Li4zNjdlMDQyZDdkNjQ0ZDc3NDJkNzBjODAxMWE4ZmE3NjFlZDlkNDBjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0xMC0wNiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzdXJlIHRvIGZpcmUgdGhl
IGNvcnJlY3Qgc2V0IG9mIGV2ZW50cyBpbiBjYXNlIE1lZGlhUmVjb3JkZXIgc3RyZWFtIGhhcyB0
cmFjayBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTczMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3Jk
ZXItZXJyb3IuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJl
LXJlY29yZC9NZWRpYVJlY29yZGVyLXN0b3AtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItc3RvcC5odG1s
OgorCiAyMDIwLTEwLTAyICBUcnVpdHQgU2F2ZWxsICA8dHNhdmVsbEBhcHBsZS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjc4ODcuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQv
TWVkaWFSZWNvcmRlci1lcnJvci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItZXJyb3IuaHRt
bAppbmRleCA0ZGFmMmQ5Y2QxYTZkZTgyMTY1MTUyZmFjZjg4YzQ3NDJlYjAwNTM2Li42ODE2NmMy
OGU2M2Y3NjQ3NTE2YTEyYWZmMTkzY2M0NGE4OGRmZjFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVk
aWFSZWNvcmRlci1lcnJvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLWVycm9yLmh0
bWwKQEAgLTM4LDcgKzM4LDcgQEAKICAgICAgICAgbGV0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVj
b3JkZXIodmlkZW8pOwogICAgICAgICByZWNvcmRlci5vbmVycm9yID0gdC5zdGVwX2Z1bmMobWVk
aWFSZWNvcmRlckVycm9yRXZlbnQgPT4gewogICAgICAgICAgICAgYXNzZXJ0X3RydWUobWVkaWFS
ZWNvcmRlckVycm9yRXZlbnQgaW5zdGFuY2VvZiBNZWRpYVJlY29yZGVyRXJyb3JFdmVudCwgJ3Ro
ZSB0eXBlIG9mIGV2ZW50IHNob3VsZCBiZSBNZWRpYVJlY29yZGVyRXJyb3JFdmVudCcpOwotICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZWRpYVJlY29yZGVyRXJyb3JFdmVudC5lcnJvci5uYW1l
LCAnVW5rbm93bkVycm9yJywgJ3RoZSB0eXBlIG9mIGVycm9yIHNob3VsZCBiZSBVbmtub3duRXJy
b3Igd2hlbiB0cmFjayBoYXMgYmVlbiBhZGRlZCBvciByZW1vdmVkJyk7CisgICAgICAgICAgICBh
c3NlcnRfZXF1YWxzKG1lZGlhUmVjb3JkZXJFcnJvckV2ZW50LmVycm9yLm5hbWUsICdJbnZhbGlk
TW9kaWZpY2F0aW9uRXJyb3InLCAndGhlIHR5cGUgb2YgZXJyb3Igc2hvdWxkIGJlIFVua25vd25F
cnJvciB3aGVuIHRyYWNrIGhhcyBiZWVuIGFkZGVkIG9yIHJlbW92ZWQnKTsKICAgICAgICAgICAg
IGFzc2VydF90cnVlKG1lZGlhUmVjb3JkZXJFcnJvckV2ZW50LmlzVHJ1c3RlZCwgJ2lzVHJ1c3Rl
ZCBzaG91bGQgYmUgdHJ1ZSB3aGVuIHRoZSBldmVudCBpcyBjcmVhdGVkIGJ5IEMrKycpOwogICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5zdGF0ZSwgImluYWN0aXZlIiwgIk1lZGlh
UmVjb3JkZXIgaGFzIGJlZW4gc3RvcHBlZCBhZnRlciBhZGRpbmcgYSB0cmFjayB0byBzdHJlYW0i
KTsKICAgICAgICAgICAgIHQuZG9uZSgpOwpAQCAtNTcsNyArNTcsNyBAQAogICAgICAgICBsZXQg
cmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRlcih2aWRlbyk7CiAgICAgICAgIHJlY29yZGVyLm9u
ZXJyb3IgPSB0LnN0ZXBfZnVuYyhtZWRpYVJlY29yZGVyRXJyb3JFdmVudCA9PiB7CiAgICAgICAg
ICAgICBhc3NlcnRfdHJ1ZShtZWRpYVJlY29yZGVyRXJyb3JFdmVudCBpbnN0YW5jZW9mIE1lZGlh
UmVjb3JkZXJFcnJvckV2ZW50LCAndGhlIHR5cGUgb2YgZXZlbnQgc2hvdWxkIGJlIE1lZGlhUmVj
b3JkZXJFcnJvckV2ZW50Jyk7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lZGlhUmVjb3Jk
ZXJFcnJvckV2ZW50LmVycm9yLm5hbWUsICdVbmtub3duRXJyb3InLCAndGhlIHR5cGUgb2YgZXJy
b3Igc2hvdWxkIGJlIFVua25vd25FcnJvciB3aGVuIHRyYWNrIGhhcyBiZWVuIGFkZGVkIG9yIHJl
bW92ZWQnKTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVkaWFSZWNvcmRlckVycm9yRXZl
bnQuZXJyb3IubmFtZSwgJ0ludmFsaWRNb2RpZmljYXRpb25FcnJvcicsICd0aGUgdHlwZSBvZiBl
cnJvciBzaG91bGQgYmUgVW5rbm93bkVycm9yIHdoZW4gdHJhY2sgaGFzIGJlZW4gYWRkZWQgb3Ig
cmVtb3ZlZCcpOwogICAgICAgICAgICAgYXNzZXJ0X3RydWUobWVkaWFSZWNvcmRlckVycm9yRXZl
bnQuaXNUcnVzdGVkLCAnaXNUcnVzdGVkIHNob3VsZCBiZSB0cnVlIHdoZW4gdGhlIGV2ZW50IGlz
IGNyZWF0ZWQgYnkgQysrJyk7CiAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVyLnN0
YXRlLCAiaW5hY3RpdmUiLCAiTWVkaWFSZWNvcmRlciBoYXMgYmVlbiBzdG9wcGVkIGFmdGVyIHJl
bW92aW5nIGEgdHJhY2sgZnJvbSBzdHJlYW0iKTsKICAgICAgICAgICAgIHQuZG9uZSgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItc3RvcC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQv
TWVkaWFSZWNvcmRlci1zdG9wLWV4cGVjdGVkLnR4dAppbmRleCAyYzhlZjUxYzUwY2NlMGNjZDgz
YjIwOWU4ZDE5NjBjNjhmOWY2OTJhLi45YjU1ODliN2YwMTBkN2E0ODBiNWZmMmM5ZjAzYzgxYmVl
NjZkZjY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1zdG9wLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
Y2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1zdG9wLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsx
LDkgQEAKIAogRkFJTCBNZWRpYVJlY29yZGVyIHdpbGwgc3RvcCByZWNvcmRpbmcgYW5kIGZpcmUg
YSBzdG9wIGV2ZW50IHdoZW4gYWxsIHRyYWNrcyBhcmUgZW5kZWQgYXNzZXJ0X2VxdWFsczogTWVk
aWFSZWNvcmRlciBzdGF0ZSBzaG91bGQgYmUgcmVjb3JkaW5nIGltbWVkaWF0ZWx5IGZvbGxvd2lu
ZyBsYXN0IHRyYWNrIGVuZGluZyBleHBlY3RlZCAicmVjb3JkaW5nIiBidXQgZ290ICJpbmFjdGl2
ZSIKIFBBU1MgTWVkaWFSZWNvcmRlciB3aWxsIHN0b3AgcmVjb3JkaW5nIGFuZCBmaXJlIGEgc3Rv
cCBldmVudCB3aGVuIHN0b3AoKSBpcyBjYWxsZWQKLUZBSUwgTWVkaWFSZWNvcmRlciB3aWxsIGZp
cmUgYW4gZXhjZXB0aW9uIHdoZW4gc3RvcHBlZCBhZnRlciBjcmVhdGlvbiBhc3NlcnRfdGhyb3dz
X2RvbTogZnVuY3Rpb24gIigpID0+IHsgcmVjb3JkZXIuc3RvcCgpOyB9IiBkaWQgbm90IHRocm93
Ci1GQUlMIE1lZGlhUmVjb3JkZXIgd2lsbCBmaXJlIGFuIGV4Y2VwdGlvbiB3aGVuIHN0b3BwZWQg
YWZ0ZXIgaGF2aW5nIGp1c3QgYmVlbiBzdG9wcGVkIGFzc2VydF90aHJvd3NfZG9tOiBmdW5jdGlv
biAiKCkgPT4geyByZWNvcmRlci5zdG9wKCk7IH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgTWVkaWFS
ZWNvcmRlciB3aWxsIGZpcmUgYW4gZXhjZXB0aW9uIHdoZW4gc3RvcHBlZCBhZnRlciBoYXZpbmcg
anVzdCBiZWVuIHNwb250YW5lb3VzbHkgc3RvcHBlZCBhc3NlcnRfdGhyb3dzX2RvbTogZnVuY3Rp
b24gIigpID0+IHsgcmVjb3JkZXIuc3RvcCgpOyB9IiBkaWQgbm90IHRocm93CitQQVNTIE1lZGlh
UmVjb3JkZXIgd2lsbCBmaXJlIGFuIGV4Y2VwdGlvbiB3aGVuIHN0b3BwZWQgYWZ0ZXIgY3JlYXRp
b24KK1BBU1MgTWVkaWFSZWNvcmRlciB3aWxsIGZpcmUgYW4gZXhjZXB0aW9uIHdoZW4gc3RvcHBl
ZCBhZnRlciBoYXZpbmcganVzdCBiZWVuIHN0b3BwZWQKK1BBU1MgTWVkaWFSZWNvcmRlciB3aWxs
IGZpcmUgYW4gZXhjZXB0aW9uIHdoZW4gc3RvcHBlZCBhZnRlciBoYXZpbmcganVzdCBiZWVuIHNw
b250YW5lb3VzbHkgc3RvcHBlZAorUEFTUyBNZWRpYVJlY29yZGVyIHdpbGwgZmlyZSBzdGFydCBl
dmVudCBldmVuIGlmIHN0b3BwZWQgc3luY2hyb25vdXNseQorUEFTUyBNZWRpYVJlY29yZGVyIHdp
bGwgZmlyZSBzdGFydCBldmVudCBldmVuIGlmIGEgdHJhY2sgaXMgcmVtb3ZlZCBzeW5jaHJvbm91
c2x5CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLXN0b3AuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29y
ZC9NZWRpYVJlY29yZGVyLXN0b3AuaHRtbAppbmRleCBiYjM5YjAyN2YwZmNhYzBhNGFhNjM5MThk
NTZkNjIyOTY2MDdiNWU5Li5hZDZmYTg4MDlmNmFkM2FmMjY5NjliYmNiNmE3NjEyODBlNWQ3MDVj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1zdG9wLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3Jk
L01lZGlhUmVjb3JkZXItc3RvcC5odG1sCkBAIC0xMTUsNiArMTE1LDQ0IEBACiAgICAgICAgICAg
ICBuZXcgUHJvbWlzZShyID0+IHQuc3RlcF90aW1lb3V0KHIsIDApKV0pOwogICAgIH0sICJNZWRp
YVJlY29yZGVyIHdpbGwgZmlyZSBhbiBleGNlcHRpb24gd2hlbiBzdG9wcGVkIGFmdGVyIGhhdmlu
ZyBqdXN0IGJlZW4gc3BvbnRhbmVvdXNseSBzdG9wcGVkIik7CiAKKyAgICBwcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7CisgICAgICAgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRp
YURldmljZXMuZ2V0VXNlck1lZGlhKHsgYXVkaW86IHRydWUsIHZpZGVvOiB0cnVlIH0pOworICAg
ICAgICBjb25zdCByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKHN0cmVhbSk7CisgICAgICAg
IGxldCBldmVudHMgPSBbXTsKKyAgICAgICAgY29uc3Qgc3RhcnRQcm9taXNlID0gbmV3IFByb21p
c2UocmVzb2x2ZSA9PiByZWNvcmRlci5vbnN0YXJ0ID0gcmVzb2x2ZSk7CisgICAgICAgIGNvbnN0
IHN0b3BQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiByZWNvcmRlci5vbnN0b3AgPSBy
ZXNvbHZlKTsKKworICAgICAgICBzdGFydFByb21pc2UudGhlbigoKSA9PiBldmVudHMucHVzaCgi
c3RhcnQiKSk7CisgICAgICAgIHN0b3BQcm9taXNlLnRoZW4oKCkgPT4gZXZlbnRzLnB1c2goInN0
b3AiKSk7CisKKyAgICAgICAgcmVjb3JkZXIuc3RhcnQoKTsKKyAgICAgICAgcmVjb3JkZXIuc3Rv
cCgpOworCisgICAgICAgIGF3YWl0IHN0b3BQcm9taXNlOworICAgICAgICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKGV2ZW50cywgWyJzdGFydCIsICJzdG9wIl0pOworICAgIH0sICJNZWRpYVJlY29yZGVy
IHdpbGwgZmlyZSBzdGFydCBldmVudCBldmVuIGlmIHN0b3BwZWQgc3luY2hyb25vdXNseSIpOwor
CisgICAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgICBjb25zdCBzdHJlYW0gPSBh
d2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7IGF1ZGlvOiB0cnVlLCB2
aWRlbzogdHJ1ZSB9KTsKKyAgICAgICAgY29uc3QgcmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRl
cihzdHJlYW0pOworICAgICAgICBsZXQgZXZlbnRzID0gW107CisgICAgICAgIGNvbnN0IHN0YXJ0
UHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVjb3JkZXIub25zdGFydCA9IHJlc29s
dmUpOworICAgICAgICBjb25zdCBzdG9wUHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4g
cmVjb3JkZXIub25zdG9wID0gcmVzb2x2ZSk7CisgICAgICAgIGNvbnN0IGVycm9yUHJvbWlzZSA9
IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVjb3JkZXIub25lcnJvciA9IHJlc29sdmUpOworICAg
ICAgICBjb25zdCBkYXRhUHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVjb3JkZXIu
b25kYXRhYXZhaWxhYmxlID0gcmVzb2x2ZSk7CisKKyAgICAgICAgc3RhcnRQcm9taXNlLnRoZW4o
KCkgPT4gZXZlbnRzLnB1c2goInN0YXJ0IikpOworICAgICAgICBzdG9wUHJvbWlzZS50aGVuKCgp
ID0+IGV2ZW50cy5wdXNoKCJzdG9wIikpOworICAgICAgICBlcnJvclByb21pc2UudGhlbigoKSA9
PiBldmVudHMucHVzaCgiZXJyb3IiKSk7CisgICAgICAgIGRhdGFQcm9taXNlLnRoZW4oKCkgPT4g
ZXZlbnRzLnB1c2goImRhdGEiKSk7CisKKyAgICAgICAgcmVjb3JkZXIuc3RhcnQoKTsKKyAgICAg
ICAgc3RyZWFtLnJlbW92ZVRyYWNrKHN0cmVhbS5nZXRBdWRpb1RyYWNrcygpWzBdKTsKKworICAg
ICAgICBhd2FpdCBzdG9wUHJvbWlzZTsKKyAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhldmVu
dHMsIFsic3RhcnQiLCAiZXJyb3IiLCAiZGF0YSIsICJzdG9wIl0pOworICAgIH0sICJNZWRpYVJl
Y29yZGVyIHdpbGwgZmlyZSBzdGFydCBldmVudCBldmVuIGlmIGEgdHJhY2sgaXMgcmVtb3ZlZCBz
eW5jaHJvbm91c2x5Iik7CisKIDwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410643</attachid>
            <date>2020-10-06 08:52:14 -0700</date>
            <delta_ts>2020-10-07 02:22:54 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-217316-20201006175212.patch</filename>
            <type>text/plain</type>
            <size>19027</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4MDQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTRkODAxMzU1NGNiNGUx
N2Y4MzNiNDMxYzg4MmY4OGE1ZmQ2NTcxZi4uODViMTY3MjUwMWZlOWZkZThhYjQ5MTU4MTEyMzhm
MTUyMzI3MThhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTEwLTA2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHN1cmUgdG8gZmly
ZSB0aGUgY29ycmVjdCBzZXQgb2YgZXZlbnRzIGluIGNhc2UgTWVkaWFSZWNvcmRlciBzdHJlYW0g
aGFzIHRyYWNrIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNzMxNgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKwor
ICAgICAgICBJbnRyb2R1Y2UgTWVkaWFSZWNvcmRlclByaXZhdGU6OnN0b3Agd2hpY2ggbWFrZXMg
c3VyZSB0byB1bnJlZ2lzdGVyIGZyb20gbWVkaWEgc291cmNlcyBiZWZvcmUgc3RvcHBpbmcuCisg
ICAgICAgIFVwZGF0ZSBmaXJpbmcgZXZlbnRzIGFjY29yZGluZyBodHRwczovL3czYy5naXRodWIu
aW8vbWVkaWFjYXB0dXJlLXJlY29yZC8jZG9tLW1lZGlhcmVjb3JkZXItc3RhcnQgd2hlbiB0cmFj
ayBzZXQgaXMgY2hhbmdlZC4KKyAgICAgICAgQ292ZXJlZCBieSB1cGRhdGVkIHRlc3QuCisKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVJlY29yZGVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFSZWNvcmRlcjo6c3RvcFJlY29yZGluZ0ludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUmVjb3JkZXI6OmhhbmRsZVRyYWNrQ2hhbmdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRp
YXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUmVjb3JkZXJQcml2YXRlOjpzdG9wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNv
cmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjp+TWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBs
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6c3RvcFJl
Y29yZGluZyk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
UHJpdmF0ZU1vY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGVN
b2NrOjp+TWVkaWFSZWNvcmRlclByaXZhdGVNb2NrKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UmVjb3JkZXJQcml2YXRlTW9jazo6c3RvcFJlY29yZGluZyk6CisKIDIwMjAtMTAtMDYgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEluIGNhc2UgYWxsIHRyYWNr
cyBhcmUgZW5kZWQsIGVucXVldWUgYSB0YXNrIHRvIHN0b3AgcmVjb3JkaW5nIGluc3RlYWQgb2Yg
c3RvcHBpbmcgcmVjb3JkaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM1ZDk3YjNiNmI2NGY3ZmQyZmY3MzE4OGU5
MDA2MjVhMDIwYTQ0OWMuLjNiMmU1YTRmZWY3ZmM5NDUwNDU2MDlkMTI1N2JlZTk4Yjc2YmE4MDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjAtMTAtMDYgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBmaXJlIHRoZSBjb3JyZWN0
IHNldCBvZiBldmVudHMgaW4gY2FzZSBNZWRpYVJlY29yZGVyIHN0cmVhbSBoYXMgdHJhY2sgY2hh
bmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3
MzE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIE1ha2Ug
c3VyZSB0byBub3Qgc2V0IGF1ZGlvL3ZpZGVvIHRyYWNrcyBpZiB0aGUgcmVjb3JkZXIgd2FzIHN0
b3BwZWQuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclBy
aXZhdGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVJlY29yZGVyUHJpdmF0ZTo6c3RhcnRS
ZWNvcmRpbmcpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVJlY29yZGVyUHJpdmF0ZTo6fk1lZGlh
UmVjb3JkZXJQcml2YXRlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFSZWNvcmRlclByaXZhdGU6
OnN0b3BSZWNvcmRpbmcpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJl
Y29yZGVyUHJpdmF0ZS5oOgorCiAyMDIwLTEwLTA2ICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8
YXBlcmV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjY3Mzk5KTogW1dQRV0g
QnVpbGQgYnJva2VuIHdpdGggRU5BQkxFX0FDQ0VTU0lCSUxJVFk9T0ZGCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5jcHAKaW5k
ZXggYzdiNGQ0OWRmZGM1NGIyN2QzNGEyNDcwM2EzYTkzMDg4Y2MxOGMxNi4uOWNkZGY4YTc2MzBk
N2ZiNDE4ZGRiNzdmZjE5MWM1ZWU0YWU4MjhkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmNwcApAQCAtNjcsNiArNjcs
OCBAQCBFeGNlcHRpb25PcjxSZWY8TWVkaWFSZWNvcmRlcj4+IE1lZGlhUmVjb3JkZXI6OmNyZWF0
ZShEb2N1bWVudCYgZG9jdW1lbnQsIFJlZjxNZQogICAgIGlmIChyZXN1bHQuaGFzRXhjZXB0aW9u
KCkpCiAgICAgICAgIHJldHVybiByZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigpOwogCisgICAgcmVz
dWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpLT5zdG9wKCk7CisKICAgICBhdXRvIHJlY29yZGVyID0g
YWRvcHRSZWYoKm5ldyBNZWRpYVJlY29yZGVyKGRvY3VtZW50LCBXVEZNb3ZlKHN0cmVhbSksIFdU
Rk1vdmUob3B0aW9ucykpKTsKICAgICByZWNvcmRlci0+c3VzcGVuZElmTmVlZGVkKCk7CiAgICAg
cmV0dXJuIHJlY29yZGVyOwpAQCAtMjY5LDcgKzI3MSw3IEBAIHZvaWQgTWVkaWFSZWNvcmRlcjo6
c3RvcFJlY29yZGluZ0ludGVybmFsKCkKICAgICAgICAgdHJhY2stPnJlbW92ZU9ic2VydmVyKCp0
aGlzKTsKIAogICAgIG1fc3RhdGUgPSBSZWNvcmRpbmdTdGF0ZTo6SW5hY3RpdmU7Ci0gICAgbV9w
cml2YXRlLT5zdG9wUmVjb3JkaW5nKCk7CisgICAgbV9wcml2YXRlLT5zdG9wKCk7CiB9CiAKIHZv
aWQgTWVkaWFSZWNvcmRlcjo6aGFuZGxlVHJhY2tDaGFuZ2UoKQpAQCAtMjc4LDcgKzI4MCwxMyBA
QCB2b2lkIE1lZGlhUmVjb3JkZXI6OmhhbmRsZVRyYWNrQ2hhbmdlKCkKICAgICAgICAgaWYgKCFt
X2lzQWN0aXZlIHx8IHN0YXRlKCkgPT0gUmVjb3JkaW5nU3RhdGU6OkluYWN0aXZlKQogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICBzdG9wUmVjb3JkaW5nSW50ZXJuYWwoKTsKLSAgICAgICAg
ZGlzcGF0Y2hFcnJvcihFeGNlcHRpb24geyBVbmtub3duRXJyb3IsICJUcmFjayBjYW5ub3QgYmUg
YWRkZWQgdG8gb3IgcmVtb3ZlZCBmcm9tIHRoZSBNZWRpYVN0cmVhbSB3aGlsZSByZWNvcmRpbmcg
aXMgaGFwcGVuaW5nIl9zIH0pOworICAgICAgICBkaXNwYXRjaEVycm9yKEV4Y2VwdGlvbiB7IElu
dmFsaWRNb2RpZmljYXRpb25FcnJvciwgIlRyYWNrIGNhbm5vdCBiZSBhZGRlZCB0byBvciByZW1v
dmVkIGZyb20gdGhlIE1lZGlhU3RyZWFtIHdoaWxlIHJlY29yZGluZyJfcyB9KTsKKyAgICAgICAg
aWYgKCFtX2lzQWN0aXZlKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBkaXNwYXRjaEV2
ZW50KEJsb2JFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5kYXRhYXZhaWxhYmxlRXZlbnQsIEV2
ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObywgQmxvYjo6Y3JlYXRl
KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpKTsKKyAgICAgICAgaWYgKCFtX2lzQWN0aXZlKQor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUo
ZXZlbnROYW1lcygpLnN0b3BFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0Nh
bmNlbGFibGU6Ok5vKSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmlkbAppbmRleCA4MmQyYjAxNjcy
Y2E4N2MxNjdiZDVmZGVlOWUyYTcyMjcxNGEwYTVjLi5hMWJmNzE3NjEzZjgwZjFmNmJmNDNhNjBj
ZDE4M2QyMTk2ZmUwMjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
cmVjb3JkZXIvTWVkaWFSZWNvcmRlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaWRsCkBAIC00OCwxMCArNDgsMTAgQEAgZW51bSBS
ZWNvcmRpbmdTdGF0ZSB7ICJpbmFjdGl2ZSIsICJyZWNvcmRpbmciLCAicGF1c2VkIiB9OwogICAg
IC8vIHJlYWRvbmx5IGF0dHJpYnV0ZSBCaXRyYXRlTW9kZSBhdWRpb0JpdHJhdGVNb2RlOwogCiAg
ICAgW01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPXN0YXJ0UmVjb3JkaW5nXSB1bmRl
ZmluZWQgc3RhcnQob3B0aW9uYWwgdW5zaWduZWQgbG9uZyB0aW1lc2xpY2UpOwotICAgIFtJbXBs
ZW1lbnRlZEFzPXN0b3BSZWNvcmRpbmddIHVuZGVmaW5lZCBzdG9wKCk7CisgICAgW01heVRocm93
RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPXN0b3BSZWNvcmRpbmddIHVuZGVmaW5lZCBzdG9wKCk7
CiAgICAgLy8gdW5kZWZpbmVkIHBhdXNlKCk7CiAgICAgLy8gdW5kZWZpbmVkIHJlc3VtZSgpOwot
ICAgIHVuZGVmaW5lZCByZXF1ZXN0RGF0YSgpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5k
ZWZpbmVkIHJlcXVlc3REYXRhKCk7CiAKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIHN0YXRpYyBi
b29sZWFuIGlzVHlwZVN1cHBvcnRlZChET01TdHJpbmcgdHlwZSk7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3Jk
ZXJQcml2YXRlLmNwcAppbmRleCBjMGJmYjEyYzU4M2Y5ZjVhNjQ0YWUzZjA0ZDhmNjgyZWVmYzg0
YmQ4Li40MjRhZGZjOTQzNTZmMTM4N2NlODQ0YzA4ODY0MWNkOTIzNmNlNDcxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2
YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlh
UmVjb3JkZXJQcml2YXRlLmNwcApAQCAtNjYsNiArNjYsMTMgQEAgdm9pZCBNZWRpYVJlY29yZGVy
UHJpdmF0ZTo6Y2hlY2tUcmFja1N0YXRlKGNvbnN0IE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiB0
cmFjaykKICAgICAgICAgbV9zaG91bGRNdXRlVmlkZW8gPSB0cmFjay5tdXRlZCgpIHx8ICF0cmFj
ay5lbmFibGVkKCk7CiB9CiAKK3ZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGU6OnN0b3AoKQorewor
ICAgIHNldEF1ZGlvU291cmNlKG51bGxwdHIpOworICAgIHNldFZpZGVvU291cmNlKG51bGxwdHIp
OworICAgIHN0b3BSZWNvcmRpbmcoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAj
ZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuaAppbmRl
eCA4NjYzYTZmNzZjNzBlNjY1ZDMzNDdkOTdiODJhZWVhYjM2ZWUzMjFjLi5jYjk3ZWNiMDU3NTk4
MjI3ZjIxMmZjZTQ0NjNlOWI0MGQ0MGZkYjYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5oCkBA
IC01OSw5ICs1OSwxMCBAQCBwdWJsaWM6CiAKICAgICB1c2luZyBGZXRjaERhdGFDYWxsYmFjayA9
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPFNoYXJlZEJ1ZmZlcj4mJiwgY29uc3QgU3Ry
aW5nJiBtaW1lVHlwZSk+OwogICAgIHZpcnR1YWwgdm9pZCBmZXRjaERhdGEoRmV0Y2hEYXRhQ2Fs
bGJhY2smJikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzdG9wUmVjb3JkaW5nKCkgPSAwOwogICAg
IHZpcnR1YWwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSgpIGNvbnN0ID0gMDsKIAorICAgIHZvaWQg
c3RvcCgpOworCiAgICAgdXNpbmcgU3RhcnRSZWNvcmRpbmdDYWxsYmFjayA9IENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoRXhjZXB0aW9uT3I8U3RyaW5nPiYmKT47CiAgICAgdmlydHVhbCB2b2lkIHN0
YXJ0UmVjb3JkaW5nKFN0YXJ0UmVjb3JkaW5nQ2FsbGJhY2smJiBjYWxsYmFjaykgeyBjYWxsYmFj
ayhTdHJpbmcobWltZVR5cGUoKSkpOyB9CiAKQEAgLTc3LDYgKzc4LDkgQEAgcHJvdGVjdGVkOgog
ICAgIGJvb2wgc2hvdWxkTXV0ZUF1ZGlvKCkgY29uc3QgeyByZXR1cm4gbV9zaG91bGRNdXRlQXVk
aW87IH0KICAgICBib29sIHNob3VsZE11dGVWaWRlbygpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxk
TXV0ZVZpZGVvOyB9CiAKK3ByaXZhdGU6CisgICAgdmlydHVhbCB2b2lkIHN0b3BSZWNvcmRpbmco
KSA9IDA7CisKIHByaXZhdGU6CiAgICAgYm9vbCBtX3Nob3VsZE11dGVBdWRpbyB7IGZhbHNlIH07
CiAgICAgYm9vbCBtX3Nob3VsZE11dGVWaWRlbyB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZG
SW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVj
b3JkZXJQcml2YXRlQVZGSW1wbC5jcHAKaW5kZXggNmE4ZTU0MWEwOGM1ODIyOWFiZDU2ZjFlNTYx
MjBhZmJlMGMxZTBiMS4uZTIzNTE3YWU3YmRiN2Y1YWY0OTg3ODZhZDJlNGZiMzg4ODhjZjFlNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJl
Y29yZGVyUHJpdmF0ZUFWRkltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNwcApAQCAtNzUsOCArNzUs
NiBAQCBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6Ok1lZGlhUmVjb3JkZXJQcml2YXRlQVZG
SW1wbChSZWY8TWVkaWFSZWNvcmRlclByaXZhdAogCiBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRklt
cGw6On5NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwoKQogewotICAgIHNldEF1ZGlvU291cmNl
KG51bGxwdHIpOwotICAgIHNldFZpZGVvU291cmNlKG51bGxwdHIpOwogfQogCiB2b2lkIE1lZGlh
UmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUm
IHNhbXBsZUJ1ZmZlcikKQEAgLTEzNiw4ICsxMzQsNiBAQCB2b2lkIE1lZGlhUmVjb3JkZXJQcml2
YXRlQVZGSW1wbDo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IFdURjo6TWVkaWFUaW1lJiBt
ZQogCiB2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6c3RvcFJlY29yZGluZygpCiB7
Ci0gICAgc2V0QXVkaW9Tb3VyY2UobnVsbHB0cik7Ci0gICAgc2V0VmlkZW9Tb3VyY2UobnVsbHB0
cik7CiAgICAgbV93cml0ZXItPnN0b3BSZWNvcmRpbmcoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZU1v
Y2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29y
ZGVyUHJpdmF0ZU1vY2suY3BwCmluZGV4IDEyM2U5Y2ZmMmIxNjg3ODg3MmNiYTI4YmRiNTgyYWQy
NzliNTZjYjIuLmNlMmEyYTVmOGU3YzM3OGFjNTRiMzFjOGM3YWVmZmMwNjVjMTMwZmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRl
clByaXZhdGVNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlTW9jay5jcHAKQEAgLTQ5LDE0ICs0OSwxMCBAQCBNZWRp
YVJlY29yZGVyUHJpdmF0ZU1vY2s6Ok1lZGlhUmVjb3JkZXJQcml2YXRlTW9jayhNZWRpYVN0cmVh
bVByaXZhdGUmIHN0cmVhbSkKIAogTWVkaWFSZWNvcmRlclByaXZhdGVNb2NrOjp+TWVkaWFSZWNv
cmRlclByaXZhdGVNb2NrKCkKIHsKLSAgICBzZXRBdWRpb1NvdXJjZShudWxscHRyKTsKLSAgICBz
ZXRWaWRlb1NvdXJjZShudWxscHRyKTsKIH0KIAogdm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZU1v
Y2s6OnN0b3BSZWNvcmRpbmcoKQogewotICAgIHNldEF1ZGlvU291cmNlKG51bGxwdHIpOwotICAg
IHNldFZpZGVvU291cmNlKG51bGxwdHIpOwogfQogCiB2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRl
TW9jazo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZh
dGUuY3BwCmluZGV4IGQ0NWU4ODdjZjExOTBhNDQ3ODBjZDUzYjdjZGE3MGNjNzNiYzNlYzAuLjhj
M2YwMjBlYWUxYWI3NTU1Yzk4MjY1YzIwOTRjN2MzZTZlMzg4NDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJp
dmF0ZS5jcHAKQEAgLTcwLDE4ICs3MCwxOCBAQCB2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlOjpz
dGFydFJlY29yZGluZyhTdGFydFJlY29yZGluZ0NhbGxiYWNrJiYgY2FsbGJhY2spCiAgICAgICAg
ICAgICBjYWxsYmFjayhFeGNlcHRpb24geyBleGNlcHRpb24tPmNvZGUsIFdURk1vdmUoZXhjZXB0
aW9uLT5tZXNzYWdlKSB9KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgICAg
ICBpZiAoYXVkaW9UcmFjaykKLSAgICAgICAgICAgIHNldEF1ZGlvU291cmNlKCZhdWRpb1RyYWNr
LT5zb3VyY2UoKSk7Ci0gICAgICAgIGlmICh2aWRlb1RyYWNrKQotICAgICAgICAgICAgc2V0Vmlk
ZW9Tb3VyY2UoJnZpZGVvVHJhY2stPnNvdXJjZSgpKTsKKyAgICAgICAgaWYgKCFtX2lzU3RvcHBl
ZCkgeworICAgICAgICAgICAgaWYgKGF1ZGlvVHJhY2spCisgICAgICAgICAgICAgICAgc2V0QXVk
aW9Tb3VyY2UoJmF1ZGlvVHJhY2stPnNvdXJjZSgpKTsKKyAgICAgICAgICAgIGlmICh2aWRlb1Ry
YWNrKQorICAgICAgICAgICAgICAgIHNldFZpZGVvU291cmNlKCZ2aWRlb1RyYWNrLT5zb3VyY2Uo
KSk7CisgICAgICAgIH0KICAgICAgICAgY2FsbGJhY2soV1RGTW92ZShtaW1lVHlwZSkpOwogICAg
IH0sIDApOwogfQogCiBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6fk1lZGlhUmVjb3JkZXJQcml2YXRl
KCkKIHsKLSAgICBzZXRBdWRpb1NvdXJjZShudWxscHRyKTsKLSAgICBzZXRWaWRlb1NvdXJjZShu
dWxscHRyKTsKICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUmVj
b3JkZXJNYW5hZ2VyOjpSZWxlYXNlUmVjb3JkZXIgeyBtX2lkZW50aWZpZXIgfSwgMCk7CiB9CiAK
QEAgLTEzNyw4ICsxMzcsNyBAQCB2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlOjpmZXRjaERhdGEo
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8V2ViQ29yZTo6U2hhcgogCiB2b2lkIE1lZGlh
UmVjb3JkZXJQcml2YXRlOjpzdG9wUmVjb3JkaW5nKCkKIHsKLSAgICBzZXRBdWRpb1NvdXJjZShu
dWxscHRyKTsKLSAgICBzZXRWaWRlb1NvdXJjZShudWxscHRyKTsKKyAgICBtX2lzU3RvcHBlZCA9
IHRydWU7CiAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVJlY29y
ZGVyOjpTdG9wUmVjb3JkaW5nIHsgfSwgbV9pZGVudGlmaWVyKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2
YXRlLmgKaW5kZXggNTdiYmVkMzkwZDBlNjQ1MGI5NzI1MDZkYjgxMzdhODcyZDQwYTZhZi4uYzQy
MTdmOWVjOTJmZjRlNWI4NDk2Yjc2ZmVmNTlhZDU0MzNkMDIzNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0
ZS5oCkBAIC03NCw2ICs3NCw3IEBAIHByaXZhdGU6CiAgICAgaW50NjRfdCBtX251bWJlck9mRnJh
bWVzIHsgMCB9OwogICAgIFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlT3B0aW9ucyBtX29w
dGlvbnM7CiAgICAgYm9vbCBtX2hhc1ZpZGVvIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNTdG9w
cGVkIHsgZmFsc2UgfTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxNDcyYWMzYTVjYzIzZGYwNWE0MGQ5MDcy
NjFhMWE2MjRjZGZmOWNiLi5mMzU0MmMxY2Y1NTFjMDRkNGI0ZjVkZmYzOWEwNmJjODk3MjJkMGVh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMTAtMDYgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBmaXJlIHRoZSBjb3JyZWN0IHNl
dCBvZiBldmVudHMgaW4gY2FzZSBNZWRpYVJlY29yZGVyIHN0cmVhbSBoYXMgdHJhY2sgY2hhbmdl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3MzE2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgICogcGxhdGZv
cm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIwLTEwLTA2ICBEaWVnbyBQaW5vIEdh
cmNpYSAgPGRwaW5vQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gVW5yZXZpZXdlZCB0ZXN0
IGdhcmRlbmluZy4gUmVtb3ZlIHRlc3RzIHBhc3NpbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwppbmRleCBkNjU0MDQzMmVhMGY3MDFlNmQwYzg1ZmU2ZDg2YWYzNTc3NzhmOGQ5Li5hOWM0
Zjc0NzI3ZDUwMmRjNzRmMDk1NTEwYTNkYTVhYTZhYjQ2ZTYzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0xMC0wNiAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzdXJlIHRvIGZpcmUgdGhlIGNvcnJl
Y3Qgc2V0IG9mIGV2ZW50cyBpbiBjYXNlIE1lZGlhUmVjb3JkZXIgc3RyZWFtIGhhcyB0cmFjayBj
aGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTczMTYKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLWVycm9y
Lmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQv
TWVkaWFSZWNvcmRlci1zdG9wLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLXN0b3AuaHRtbDoKKwogMjAy
MC0xMC0wNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgSW4g
Y2FzZSBhbGwgdHJhY2tzIGFyZSBlbmRlZCwgZW5xdWV1ZSBhIHRhc2sgdG8gc3RvcCByZWNvcmRp
bmcgaW5zdGVhZCBvZiBzdG9wcGluZyByZWNvcmRpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRp
YVJlY29yZGVyLWVycm9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1lcnJvci5odG1sCmlu
ZGV4IDRkYWYyZDljZDFhNmRlODIxNjUxNTJmYWNmODhjNDc0MmViMDA1MzYuLjFjOTNlZDNlM2E2
YWI4MjUwNGU5MjY0ODZlNGVkYjc0MWNjMmU0YjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJl
Y29yZGVyLWVycm9yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItZXJyb3IuaHRtbApA
QCAtMzgsNyArMzgsNyBAQAogICAgICAgICBsZXQgcmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRl
cih2aWRlbyk7CiAgICAgICAgIHJlY29yZGVyLm9uZXJyb3IgPSB0LnN0ZXBfZnVuYyhtZWRpYVJl
Y29yZGVyRXJyb3JFdmVudCA9PiB7CiAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShtZWRpYVJlY29y
ZGVyRXJyb3JFdmVudCBpbnN0YW5jZW9mIE1lZGlhUmVjb3JkZXJFcnJvckV2ZW50LCAndGhlIHR5
cGUgb2YgZXZlbnQgc2hvdWxkIGJlIE1lZGlhUmVjb3JkZXJFcnJvckV2ZW50Jyk7Ci0gICAgICAg
ICAgICBhc3NlcnRfZXF1YWxzKG1lZGlhUmVjb3JkZXJFcnJvckV2ZW50LmVycm9yLm5hbWUsICdV
bmtub3duRXJyb3InLCAndGhlIHR5cGUgb2YgZXJyb3Igc2hvdWxkIGJlIFVua25vd25FcnJvciB3
aGVuIHRyYWNrIGhhcyBiZWVuIGFkZGVkIG9yIHJlbW92ZWQnKTsKKyAgICAgICAgICAgIGFzc2Vy
dF9lcXVhbHMobWVkaWFSZWNvcmRlckVycm9yRXZlbnQuZXJyb3IubmFtZSwgJ0ludmFsaWRNb2Rp
ZmljYXRpb25FcnJvcicsICd0aGUgdHlwZSBvZiBlcnJvciBzaG91bGQgYmUgSW52YWxpZE1vZGlm
aWNhdGlvbkVycm9yIHdoZW4gdHJhY2sgaGFzIGJlZW4gYWRkZWQgb3IgcmVtb3ZlZCcpOwogICAg
ICAgICAgICAgYXNzZXJ0X3RydWUobWVkaWFSZWNvcmRlckVycm9yRXZlbnQuaXNUcnVzdGVkLCAn
aXNUcnVzdGVkIHNob3VsZCBiZSB0cnVlIHdoZW4gdGhlIGV2ZW50IGlzIGNyZWF0ZWQgYnkgQysr
Jyk7CiAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVyLnN0YXRlLCAiaW5hY3RpdmUi
LCAiTWVkaWFSZWNvcmRlciBoYXMgYmVlbiBzdG9wcGVkIGFmdGVyIGFkZGluZyBhIHRyYWNrIHRv
IHN0cmVhbSIpOwogICAgICAgICAgICAgdC5kb25lKCk7CkBAIC01Nyw3ICs1Nyw3IEBACiAgICAg
ICAgIGxldCByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKHZpZGVvKTsKICAgICAgICAgcmVj
b3JkZXIub25lcnJvciA9IHQuc3RlcF9mdW5jKG1lZGlhUmVjb3JkZXJFcnJvckV2ZW50ID0+IHsK
ICAgICAgICAgICAgIGFzc2VydF90cnVlKG1lZGlhUmVjb3JkZXJFcnJvckV2ZW50IGluc3RhbmNl
b2YgTWVkaWFSZWNvcmRlckVycm9yRXZlbnQsICd0aGUgdHlwZSBvZiBldmVudCBzaG91bGQgYmUg
TWVkaWFSZWNvcmRlckVycm9yRXZlbnQnKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVk
aWFSZWNvcmRlckVycm9yRXZlbnQuZXJyb3IubmFtZSwgJ1Vua25vd25FcnJvcicsICd0aGUgdHlw
ZSBvZiBlcnJvciBzaG91bGQgYmUgVW5rbm93bkVycm9yIHdoZW4gdHJhY2sgaGFzIGJlZW4gYWRk
ZWQgb3IgcmVtb3ZlZCcpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZWRpYVJlY29yZGVy
RXJyb3JFdmVudC5lcnJvci5uYW1lLCAnSW52YWxpZE1vZGlmaWNhdGlvbkVycm9yJywgJ3RoZSB0
eXBlIG9mIGVycm9yIHNob3VsZCBiZSBJbnZhbGlkTW9kaWZpY2F0aW9uRXJyb3Igd2hlbiB0cmFj
ayBoYXMgYmVlbiBhZGRlZCBvciByZW1vdmVkJyk7CiAgICAgICAgICAgICBhc3NlcnRfdHJ1ZSht
ZWRpYVJlY29yZGVyRXJyb3JFdmVudC5pc1RydXN0ZWQsICdpc1RydXN0ZWQgc2hvdWxkIGJlIHRy
dWUgd2hlbiB0aGUgZXZlbnQgaXMgY3JlYXRlZCBieSBDKysnKTsKICAgICAgICAgICAgIGFzc2Vy
dF9lcXVhbHMocmVjb3JkZXIuc3RhdGUsICJpbmFjdGl2ZSIsICJNZWRpYVJlY29yZGVyIGhhcyBi
ZWVuIHN0b3BwZWQgYWZ0ZXIgcmVtb3ZpbmcgYSB0cmFjayBmcm9tIHN0cmVhbSIpOwogICAgICAg
ICAgICAgdC5kb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1zdG9wLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLXN0b3AtZXhwZWN0ZWQudHh0CmluZGV4
IGQxZmNkYzg5YzMzNTZjNTk1NWIxM2VhOWIwNWRlZDJjYjJjZjBjNmYuLmUwMzRlMmMyNGFhNTZk
MzYzN2FjM2M4NGIzODgyZWFiZTQ5NmJlNTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29y
ZGVyLXN0b3AtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLXN0b3AtZXhw
ZWN0ZWQudHh0CkBAIC0xLDcgKzEsOSBAQAogCiBQQVNTIE1lZGlhUmVjb3JkZXIgd2lsbCBzdG9w
IHJlY29yZGluZyBhbmQgZmlyZSBhIHN0b3AgZXZlbnQgd2hlbiBhbGwgdHJhY2tzIGFyZSBlbmRl
ZAogUEFTUyBNZWRpYVJlY29yZGVyIHdpbGwgc3RvcCByZWNvcmRpbmcgYW5kIGZpcmUgYSBzdG9w
IGV2ZW50IHdoZW4gc3RvcCgpIGlzIGNhbGxlZAotRkFJTCBNZWRpYVJlY29yZGVyIHdpbGwgZmly
ZSBhbiBleGNlcHRpb24gd2hlbiBzdG9wcGVkIGFmdGVyIGNyZWF0aW9uIGFzc2VydF90aHJvd3Nf
ZG9tOiBmdW5jdGlvbiAiKCkgPT4geyByZWNvcmRlci5zdG9wKCk7IH0iIGRpZCBub3QgdGhyb3cK
LUZBSUwgTWVkaWFSZWNvcmRlciB3aWxsIGZpcmUgYW4gZXhjZXB0aW9uIHdoZW4gc3RvcHBlZCBh
ZnRlciBoYXZpbmcganVzdCBiZWVuIHN0b3BwZWQgYXNzZXJ0X3Rocm93c19kb206IGZ1bmN0aW9u
ICIoKSA9PiB7IHJlY29yZGVyLnN0b3AoKTsgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBNZWRpYVJl
Y29yZGVyIHdpbGwgZmlyZSBhbiBleGNlcHRpb24gd2hlbiBzdG9wcGVkIGFmdGVyIGhhdmluZyBq
dXN0IGJlZW4gc3BvbnRhbmVvdXNseSBzdG9wcGVkIGFzc2VydF90aHJvd3NfZG9tOiBmdW5jdGlv
biAiKCkgPT4geyByZWNvcmRlci5zdG9wKCk7IH0iIGRpZCBub3QgdGhyb3cKK1BBU1MgTWVkaWFS
ZWNvcmRlciB3aWxsIGZpcmUgYW4gZXhjZXB0aW9uIHdoZW4gc3RvcHBlZCBhZnRlciBjcmVhdGlv
bgorUEFTUyBNZWRpYVJlY29yZGVyIHdpbGwgZmlyZSBhbiBleGNlcHRpb24gd2hlbiBzdG9wcGVk
IGFmdGVyIGhhdmluZyBqdXN0IGJlZW4gc3RvcHBlZAorUEFTUyBNZWRpYVJlY29yZGVyIHdpbGwg
ZmlyZSBhbiBleGNlcHRpb24gd2hlbiBzdG9wcGVkIGFmdGVyIGhhdmluZyBqdXN0IGJlZW4gc3Bv
bnRhbmVvdXNseSBzdG9wcGVkCitQQVNTIE1lZGlhUmVjb3JkZXIgd2lsbCBmaXJlIHN0YXJ0IGV2
ZW50IGV2ZW4gaWYgc3RvcHBlZCBzeW5jaHJvbm91c2x5CitQQVNTIE1lZGlhUmVjb3JkZXIgd2ls
bCBmaXJlIHN0YXJ0IGV2ZW50IGV2ZW4gaWYgYSB0cmFjayBpcyByZW1vdmVkIHN5bmNocm9ub3Vz
bHkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItc3RvcC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3Jk
L01lZGlhUmVjb3JkZXItc3RvcC5odG1sCmluZGV4IGJiMzliMDI3ZjBmY2FjMGE0YWE2MzkxOGQ1
NmQ2MjI5NjYwN2I1ZTkuLmFkNmZhODgwOWY2YWQzYWYyNjk2OWJiY2I2YTc2MTI4MGU1ZDcwNWMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLXN0b3AuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQv
TWVkaWFSZWNvcmRlci1zdG9wLmh0bWwKQEAgLTExNSw2ICsxMTUsNDQgQEAKICAgICAgICAgICAg
IG5ldyBQcm9taXNlKHIgPT4gdC5zdGVwX3RpbWVvdXQociwgMCkpXSk7CiAgICAgfSwgIk1lZGlh
UmVjb3JkZXIgd2lsbCBmaXJlIGFuIGV4Y2VwdGlvbiB3aGVuIHN0b3BwZWQgYWZ0ZXIgaGF2aW5n
IGp1c3QgYmVlbiBzcG9udGFuZW91c2x5IHN0b3BwZWQiKTsKIAorICAgIHByb21pc2VfdGVzdChh
c3luYyB0ID0+IHsKKyAgICAgICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlh
RGV2aWNlcy5nZXRVc2VyTWVkaWEoeyBhdWRpbzogdHJ1ZSwgdmlkZW86IHRydWUgfSk7CisgICAg
ICAgIGNvbnN0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIoc3RyZWFtKTsKKyAgICAgICAg
bGV0IGV2ZW50cyA9IFtdOworICAgICAgICBjb25zdCBzdGFydFByb21pc2UgPSBuZXcgUHJvbWlz
ZShyZXNvbHZlID0+IHJlY29yZGVyLm9uc3RhcnQgPSByZXNvbHZlKTsKKyAgICAgICAgY29uc3Qg
c3RvcFByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHJlY29yZGVyLm9uc3RvcCA9IHJl
c29sdmUpOworCisgICAgICAgIHN0YXJ0UHJvbWlzZS50aGVuKCgpID0+IGV2ZW50cy5wdXNoKCJz
dGFydCIpKTsKKyAgICAgICAgc3RvcFByb21pc2UudGhlbigoKSA9PiBldmVudHMucHVzaCgic3Rv
cCIpKTsKKworICAgICAgICByZWNvcmRlci5zdGFydCgpOworICAgICAgICByZWNvcmRlci5zdG9w
KCk7CisKKyAgICAgICAgYXdhaXQgc3RvcFByb21pc2U7CisgICAgICAgIGFzc2VydF9hcnJheV9l
cXVhbHMoZXZlbnRzLCBbInN0YXJ0IiwgInN0b3AiXSk7CisgICAgfSwgIk1lZGlhUmVjb3JkZXIg
d2lsbCBmaXJlIHN0YXJ0IGV2ZW50IGV2ZW4gaWYgc3RvcHBlZCBzeW5jaHJvbm91c2x5Iik7CisK
KyAgICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICAgIGNvbnN0IHN0cmVhbSA9IGF3
YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHsgYXVkaW86IHRydWUsIHZp
ZGVvOiB0cnVlIH0pOworICAgICAgICBjb25zdCByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVy
KHN0cmVhbSk7CisgICAgICAgIGxldCBldmVudHMgPSBbXTsKKyAgICAgICAgY29uc3Qgc3RhcnRQ
cm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiByZWNvcmRlci5vbnN0YXJ0ID0gcmVzb2x2
ZSk7CisgICAgICAgIGNvbnN0IHN0b3BQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBy
ZWNvcmRlci5vbnN0b3AgPSByZXNvbHZlKTsKKyAgICAgICAgY29uc3QgZXJyb3JQcm9taXNlID0g
bmV3IFByb21pc2UocmVzb2x2ZSA9PiByZWNvcmRlci5vbmVycm9yID0gcmVzb2x2ZSk7CisgICAg
ICAgIGNvbnN0IGRhdGFQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiByZWNvcmRlci5v
bmRhdGFhdmFpbGFibGUgPSByZXNvbHZlKTsKKworICAgICAgICBzdGFydFByb21pc2UudGhlbigo
KSA9PiBldmVudHMucHVzaCgic3RhcnQiKSk7CisgICAgICAgIHN0b3BQcm9taXNlLnRoZW4oKCkg
PT4gZXZlbnRzLnB1c2goInN0b3AiKSk7CisgICAgICAgIGVycm9yUHJvbWlzZS50aGVuKCgpID0+
IGV2ZW50cy5wdXNoKCJlcnJvciIpKTsKKyAgICAgICAgZGF0YVByb21pc2UudGhlbigoKSA9PiBl
dmVudHMucHVzaCgiZGF0YSIpKTsKKworICAgICAgICByZWNvcmRlci5zdGFydCgpOworICAgICAg
ICBzdHJlYW0ucmVtb3ZlVHJhY2soc3RyZWFtLmdldEF1ZGlvVHJhY2tzKClbMF0pOworCisgICAg
ICAgIGF3YWl0IHN0b3BQcm9taXNlOworICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGV2ZW50
cywgWyJzdGFydCIsICJlcnJvciIsICJkYXRhIiwgInN0b3AiXSk7CisgICAgfSwgIk1lZGlhUmVj
b3JkZXIgd2lsbCBmaXJlIHN0YXJ0IGV2ZW50IGV2ZW4gaWYgYSB0cmFjayBpcyByZW1vdmVkIHN5
bmNocm9ub3VzbHkiKTsKKwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>