<?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>218405</bug_id>
          
          <creation_ts>2020-10-30 15:04:46 -0700</creation_ts>
          <short_desc>[macOS] System sounds should be played in the UI process</short_desc>
          <delta_ts>2020-11-09 12:20:32 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>annulen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>jer.noble</cc>
    
    <cc>joepeck</cc>
    
    <cc>mifenton</cc>
    
    <cc>philipj</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1703223</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-10-30 15:04:46 -0700</bug_when>
    <thetext>In preparation of blocking the system sound server in the WebContent process, system sounds should be played in the UI process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703225</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-30 15:05:10 -0700</bug_when>
    <thetext>&lt;rdar://problem/70898846&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703232</commentid>
    <comment_count>2</comment_count>
      <attachid>412803</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-10-30 15:17:24 -0700</bug_when>
    <thetext>Created attachment 412803
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703532</commentid>
    <comment_count>3</comment_count>
      <attachid>412922</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-11-02 08:31:07 -0800</bug_when>
    <thetext>Created attachment 412922
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703534</commentid>
    <comment_count>4</comment_count>
      <attachid>412923</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-11-02 08:44:31 -0800</bug_when>
    <thetext>Created attachment 412923
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703551</commentid>
    <comment_count>5</comment_count>
      <attachid>412930</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-11-02 09:09:02 -0800</bug_when>
    <thetext>Created attachment 412930
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703555</commentid>
    <comment_count>6</comment_count>
      <attachid>412932</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-11-02 09:21:46 -0800</bug_when>
    <thetext>Created attachment 412932
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703559</commentid>
    <comment_count>7</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-11-02 09:31:12 -0800</bug_when>
    <thetext>As I mention in many reviews, please consider avoiding a singleton in WebCore as it constrains our options in the future for process sharing. Rather, please consider the standard Page level delegation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703564</commentid>
    <comment_count>8</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-11-02 09:49:07 -0800</bug_when>
    <thetext>(In reply to Sam Weinig from comment #7)
&gt; As I mention in many reviews, please consider avoiding a singleton in
&gt; WebCore as it constrains our options in the future for process sharing.
&gt; Rather, please consider the standard Page level delegation.

Ah, I see. I will look into that.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704101</commentid>
    <comment_count>9</comment_count>
      <attachid>412932</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-11-03 11:22:51 -0800</bug_when>
    <thetext>Comment on attachment 412932
Patch

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

I’m not sure that an object is the best way to pass a function pointer. Could have used WTF::Function instead.

&gt; Source/WebCore/Modules/mediarecorder/MediaRecorderProvider.h:28
&gt; +#include &lt;wtf/text/WTFString.h&gt;

I would think we’d include Forward.h here.

&gt; Source/WebKit/WebProcess/WebSystemSoundDelegate.h:32
&gt; +class WebSystemSoundDelegate : public WebCore::SystemSoundDelegate {

final

&gt; Source/WebKit/WebProcess/WebSystemSoundDelegate.h:35
&gt; +    void systemBeep() override;

final</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704862</commentid>
    <comment_count>10</comment_count>
      <attachid>413299</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-11-05 08:13:54 -0800</bug_when>
    <thetext>Created attachment 413299
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704864</commentid>
    <comment_count>11</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-11-05 08:18:11 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #9)
&gt; Comment on attachment 412932 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=412932&amp;action=review
&gt; 
&gt; I’m not sure that an object is the best way to pass a function pointer.
&gt; Could have used WTF::Function instead.
&gt; 

That&apos;s a good point. My initial thinking was to create a system sound manager that could support new system sounds in the future, although there&apos;s a chance that may not happen.

&gt; &gt; Source/WebCore/Modules/mediarecorder/MediaRecorderProvider.h:28
&gt; &gt; +#include &lt;wtf/text/WTFString.h&gt;
&gt; 
&gt; I would think we’d include Forward.h here.
&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebSystemSoundDelegate.h:32
&gt; &gt; +class WebSystemSoundDelegate : public WebCore::SystemSoundDelegate {
&gt; 
&gt; final
&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebSystemSoundDelegate.h:35
&gt; &gt; +    void systemBeep() override;
&gt; 
&gt; final

Fixed in latest patch.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704869</commentid>
    <comment_count>12</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-11-05 08:24:27 -0800</bug_when>
    <thetext>(In reply to Sam Weinig from comment #7)
&gt; As I mention in many reviews, please consider avoiding a singleton in
&gt; WebCore as it constrains our options in the future for process sharing.
&gt; Rather, please consider the standard Page level delegation.

Yes, I think this sounds good. I have filed https://bugs.webkit.org/show_bug.cgi?id=218616. Instead of using a singleton, I think this could be a member in the Page class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704871</commentid>
    <comment_count>13</comment_count>
      <attachid>413303</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-11-05 08:32:19 -0800</bug_when>
    <thetext>Created attachment 413303
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705726</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-09 09:01:01 -0800</bug_when>
    <thetext>Tools/Scripts/svn-apply failed to apply attachment 413303 to trunk.
Please resolve the conflicts and upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705778</commentid>
    <comment_count>15</comment_count>
      <attachid>413605</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-11-09 11:17:27 -0800</bug_when>
    <thetext>Created attachment 413605
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705784</commentid>
    <comment_count>16</comment_count>
      <attachid>413608</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-11-09 11:32:22 -0800</bug_when>
    <thetext>Created attachment 413608
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705787</commentid>
    <comment_count>17</comment_count>
      <attachid>413610</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-11-09 11:38:01 -0800</bug_when>
    <thetext>Created attachment 413610
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705819</commentid>
    <comment_count>18</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-09 12:20:30 -0800</bug_when>
    <thetext>Committed r269593: &lt;https://trac.webkit.org/changeset/269593&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413610.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412803</attachid>
            <date>2020-10-30 15:17:24 -0700</date>
            <delta_ts>2020-11-02 08:31:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218405-20201030151724.patch</filename>
            <type>text/plain</type>
            <size>32756</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTIwMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDIwLTEwLTMwICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFN5c3RlbSBz
b3VuZHMgc2hvdWxkIGJlIHBsYXllZCBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NDA1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gcHJlcGFyYXRpb24gb2YgYmxvY2tp
bmcgdGhlIHN5c3RlbSBzb3VuZCBzZXJ2ZXIgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2Vzcywgc3lz
dGVtIHNvdW5kcyBzaG91bGQgYmUgcGxheWVkIGluIHRoZSBVSSBwcm9jZXNzLgorICAgICAgICBU
aGlzIHBhdGNoIGNyZWF0ZXMgYSBzeXN0ZW0gc291bmQgbWFuYWdlciwgd2hpY2ggZGVsZWdhdGVz
IHRoZSBzb3VuZCByZXF1ZXN0IGlmIGEgZGVsZWdhdGUgaXMgcHJlc2VudCwgb3RoZXJ3aXNlIHRo
ZSBmdW5jdGlvbgorICAgICAgICBQQUw6OnN5c3RlbUJlZXAgd2lsbCBiZSBjYWxsZWQuCisKKyAg
ICAgICAgVGVzdCB3aWxsIGJlIGFkZGVkLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkVkaXRvcjo6Y3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6Y29weSk6
CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OnBlcmZvcm1EZWxldGUpOgorICAgICAgICAqIGVk
aXRpbmcvRWRpdG9yQ29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlU2VsZWN0
VG9NYXJrKToKKyAgICAgICAgKFdlYkNvcmU6OmV4ZWN1dGVTd2FwV2l0aE1hcmspOgorICAgICAg
ICAqIGVkaXRpbmcvY29jb2EvRWRpdG9yQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpFZGl0
b3I6OnRha2VGaW5kU3RyaW5nRnJvbVNlbGVjdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9u
dGVuZEhvc3Q6OmJlZXApOgorICAgICAgICAqIHBsYXRmb3JtL1N5c3RlbVNvdW5kRGVsZWdhdGUu
aDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTeXN0ZW1Tb3VuZERlbGVnYXRlOjp+U3lzdGVt
U291bmREZWxlZ2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTeXN0ZW1Tb3VuZERlbGVnYXRlOjpz
eXN0ZW1CZWVwKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKToK
KyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbVNvdW5kTWFuYWdlcjo6c2V0U3lzdGVtU291bmREZWxl
Z2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTeXN0ZW1Tb3VuZE1hbmFnZXI6OnN5c3RlbUJlZXAp
OgorICAgICAgICAqIHBsYXRmb3JtL1N5c3RlbVNvdW5kTWFuYWdlci5oOiBBZGRlZC4KKwogMjAy
MC0xMC0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgSW5j
cmVhc2UgY2FtZXJhIGZhaWxpbmcgdGltZXIgdG8gMzAgc2Vjb25kcwpJbmRleDogU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24g
MjY5MjAyKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC00OTkxLDYgKzQ5OTEsOSBAQAogCQlFM0IyRjBFRTFEN0Y0
Q0E5MDBCMEM5RDEgLyogTG9hZGFibGVTY3JpcHRDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQjJGMEU4MUQ3RjM1RUMwMEIwQzlEMSAvKiBM
b2FkYWJsZVNjcmlwdENsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUUzQjJGMEYwMUQ3RjRDQjUwMEIwQzlEMSAvKiBMb2FkYWJsZUNsYXNz
aWNTY3JpcHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUzQjJGMEU0MUQ3RjM1RUMwMEIwQzlEMSAvKiBMb2FkYWJsZUNsYXNzaWNTY3JpcHQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFM0JCQzI0NzIz
ODM1NTI2MDA2RUMzOUYgLyogQ1NTVmFsdWVLZXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQkJDMjQ1MjM4MzU1MUEwMDZFQzM5RiAvKiBDU1NWYWx1
ZUtleS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUUzQzA0MTJGMjU0Q0EyOUIwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFnZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQzA0MTJEMjU0Q0EyOUIw
MDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFnZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFM0MwNDEzMzI1NENBNzExMDAyMUQwRTYgLyogU3lz
dGVtU291bmRNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEUzQzA0MTMyMjU0Q0E3MTEwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFnZXIu
Y3BwICovOyB9OworCQlFM0MwNDEzODI1NENCMzBEMDAyMUQwRTYgLyogU3lzdGVtU291bmREZWxl
Z2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTND
MDQxMzEyNTRDQTY2NjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kRGVsZWdhdGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFM0M5OUEwOTFEQzNENDFD
MDA3OTRBRDMgLyogRE9NSklUQ2hlY2tET00uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUzQzk5QTA4MURDM0Q0MTcwMDc5NEFEMyAvKiBET01KSVRDaGVj
a0RPTS5oICovOyB9OwogCQlFM0M5QUVDQjIxMTMxNDk5MDA0MTlCOTIgLyogSlNNaWNyb3Rhc2tD
YWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTNDOUFFQzkyMTEzMTQ3NDAwNDE5QjkyIC8qIEpTTWljcm90YXNrQ2FsbGJhY2suaCAqLzsgfTsK
IAkJRTNFNEUyQTgxRTNCMTcxMDAwMjNCQjhBIC8qIFNjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRG
ZXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
M0U0RTJBNjFFM0IxNkZDMDAyM0JCOEEgLyogU2NyaXB0RWxlbWVudENhY2hlZFNjcmlwdEZldGNo
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAt
OTIyMiw2ICs5MjI1LDcgQEAKIAkJNTgyREUzMjIxQzMwQzg1NDAwQkUwMkE4IC8qIFRleHREZWNv
cmF0aW9uUGFpbnRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBU
ZXh0RGVjb3JhdGlvblBhaW50ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
ODJERTMyMzFDMzBDODU0MDBCRTAyQTggLyogVGV4dERlY29yYXRpb25QYWludGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRleHREZWNvcmF0aW9uUGFpbnRlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1ODY4QzdDNDI1MzlEQTMzMDBCRjlERjMgLyogSlNS
ZXNpemVPYnNlcnZlckN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU1Jlc2l6ZU9ic2VydmVyQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTg2OEM3RDUyNTQ2RTBCMzAwQkY5REYzIC8qIEpTSW50ZXJzZWN0aW9uT2JzZXJ2ZXJD
dXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJbnRlcnNl
Y3Rpb25PYnNlcnZlckN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU4
ODRGRTU2MjI4MTNFMkQwMDQwQUZGNiAvKiBKU1Jlc2l6ZU9ic2VydmVyRW50cnlDdXN0b20uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNSZXNpemVPYnNlcnZlckVu
dHJ5Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTg5NTU2RUMxOEQ0
QTQ0MDAwNzY0QjAzIC8qIEJvcmRlckVkZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQm9yZGVyRWRnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OEFFRTJG
MzE4RDRCQ0NGMDAyMkU3RkUgLyogQm9yZGVyRWRnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBCb3JkZXJFZGdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTEwMDEyLDcgKzEwMDE2LDYgQEAKIAkJNzdBMTdBQTMxMkYyOEIyQTAwNEUwMkY2IC8q
IEpTT0VTVmVydGV4QXJyYXlPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNPRVNWZXJ0ZXhBcnJheU9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk3N0FBRDY4MzFFQ0ZCNjYyMDBCRkEyRDEgLyogQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc3QUFENjg1MUVDRkJEMzkwMEJGQTJEMSAv
KiBDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyZWRlbnRpYWxD
cmVhdGlvbk9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTg2OEM3RDUy
NTQ2RTBCMzAwQkY5REYzIC8qIEpTSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJbnRlcnNlY3Rpb25PYnNlcnZlckN1
c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc3QzEzRjA0MjE2NTY1OEEw
MDJEOUM1RiAvKiBKU0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnlDdXN0b20uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5Q3VzdG9tLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzdDQUFBRUYxRjJGQzM1MDAwQ0I1QzhEIC8qIFZpc3Vh
bFZpZXdwb3J0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBWaXN1YWxWaWV3cG9ydC5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc3RDUwRkZBMUVENEVDNzgwMERBNEM4NyAv
KiBDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENy
ZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xNTk3OSw2ICsxNTk4Miw5IEBACiAJCUUzQkYxOUU1MjJBRjJGRjQwMDlDOTkyNiAvKiBCZWZv
cmVMb2FkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQmVmb3JlTG9hZEV2ZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNCRjE5RTYyMkFGMzAyQTAwOUM5OTI2IC8q
IEhhc2hDaGFuZ2VFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIYXNoQ2hhbmdlRXZlbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0JGMTlFNzIyQUYzMDlGMDA5Qzk5
MjYgLyogU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRTNDMDQxMkQyNTRDQTI5QjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTeXN0ZW1Tb3VuZE1hbmFnZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTNDMDQxMzEyNTRDQTY2NjAwMjFEMEU2IC8q
IFN5c3RlbVNvdW5kRGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3lzdGVtU291bmREZWxlZ2F0
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFM0MwNDEzMjI1NENBNzExMDAyMUQw
RTYgLyogU3lzdGVtU291bmRNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN5c3RlbVNv
dW5kTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzQzk5QTA4MURD
M0Q0MTcwMDc5NEFEMyAvKiBET01KSVRDaGVja0RPTS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBET01KSVRDaGVja0RPTS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFM0M5QUVDOTIxMTMxNDc0MDA0MTlCOTIgLyogSlNNaWNyb3Rhc2tDYWxsYmFjay5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01pY3JvdGFza0NhbGxiYWNrLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzRDA0OTkzMURBREMwNDUwMDcxOEYzQyAvKiBOb2Rl
Q29uc3RhbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5vZGVDb25zdGFu
dHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI3MzAyLDYgKzI3MzA4LDkgQEAK
IAkJCQlGNDMzRTkwMjFEQkJEQkEyMDBFRjBEMTQgLyogU3RhdGljUGFzdGVib2FyZC5oICovLAog
CQkJCTkzQjJEODE1MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oICovLAog
CQkJCTk3NjI3Qjk3MTRGQjU0MjQwMDJDRENBMSAvKiBTdXBwbGVtZW50YWJsZS5oICovLAorCQkJ
CUUzQzA0MTMxMjU0Q0E2NjYwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZERlbGVnYXRlLmggKi8sCisJ
CQkJRTNDMDQxMzIyNTRDQTcxMTAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdlci5jcHAgKi8s
CisJCQkJRTNDMDQxMkQyNTRDQTI5QjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdlci5oICov
LAogCQkJCTdDQzU2NEI2MThCQUJFQTYwMDFCOTY1MiAvKiBUZWxlcGhvbmVOdW1iZXJEZXRlY3Rv
ci5oICovLAogCQkJCUJDRTY1RDMxMEVBRDEyMTEwMDdFNDUzMyAvKiBUaGVtZS5jcHAgKi8sCiAJ
CQkJQkNFNjU4RkUwRUE5MjQ4QTAwN0U0NTMzIC8qIFRoZW1lLmggKi8sCkBAIC0zNDUyMyw2ICsz
NDUzMiw4IEBACiAJCQkJQzE2OTJERDUyM0QyM0UwODAwNkU4OEY3IC8qIFN5c3RlbUJhdHRlcnku
aCBpbiBIZWFkZXJzICovLAogCQkJCUU0RThCNEVDMjE2Qjc5RTUwMEI4ODM0RCAvKiBTeXN0ZW1G
b250RGF0YWJhc2VDb3JlVGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYwM0MwNzQxODg0Njk1
RTAwQTVGOENBIC8qIFN5c3RlbU1lbW9yeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTNDMDQxMzgy
NTRDQjMwRDAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovLAor
CQkJCUUzQzA0MTJGMjU0Q0EyOUIwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFnZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTVENTk3NUIzMTk2MzVGMTEwMEQwMDg3OCAvKiBTeXN0ZW1WZXJzaW9u
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOENGRjA1MTBBMTU0RjA5MDAwQTQyMzQgLyogVGFibGVM
YXlvdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTZGMTcyNjRGMjQ3MEM2MEIwMDUxOEM5NiAvKiBU
YWJsZVdyYXBwZXJCbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmggaW4gSGVhZGVycyAqLywKQEAgLTM1
NTYxLDYgKzM1NTcyLDcgQEAKIAkJCQlDREM4QjVBQTE4MDQ3RkYxMDAxNkU2ODUgLyogU291cmNl
QnVmZmVyUHJpdmF0ZUFWRk9iakMubW0gaW4gU291cmNlcyAqLywKIAkJCQlBODMzQzdDQTBBMkNG
MDZCMDBENTc2NjQgLyogU1ZHTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzE2OTJERDIy
M0QyM0FCRDAwNkU4OEY3IC8qIFN5c3RlbUJhdHRlcnkubW0gaW4gU291cmNlcyAqLywKKwkJCQlF
M0MwNDEzMzI1NENBNzExMDAyMUQwRTYgLyogU3lzdGVtU291bmRNYW5hZ2VyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTZFNzJGNTRGMjI5RENEMTMwMEIzRTE1MSAvKiBUZW1wb3JhcnlBTkdMRVNl
dHRpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0U4OEVFMjYyNDE0NDY3QjAwN0YyOUMyIC8q
IFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxREY2RDgw
MEI5MkExOEUwMEMyREM4NSAvKiBUaHJlYWRDaGVjay5tbSBpbiBTb3VyY2VzICovLApJbmRleDog
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAkocmV2aXNpb24gMjY5MjAyKQorKysgU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMsNiArMTAzLDcg
QEAKICNpbmNsdWRlICJTcGVsbGluZ0NvcnJlY3Rpb25Db21tYW5kLmgiCiAjaW5jbHVkZSAiU3Rh
dGljUGFzdGVib2FyZC5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydGllcy5oIgorI2luY2x1ZGUg
IlN5c3RlbVNvdW5kTWFuYWdlci5oIgogI2luY2x1ZGUgIlRlbGVwaG9uZU51bWJlckRldGVjdG9y
LmgiCiAjaW5jbHVkZSAiVGV4dC5oIgogI2luY2x1ZGUgIlRleHRDaGVja2VyQ2xpZW50LmgiCkBA
IC0xMTUsNyArMTE2LDYgQEAKICNpbmNsdWRlICJWaXNpYmxlVW5pdHMuaCIKICNpbmNsdWRlICJt
YXJrdXAuaCIKICNpbmNsdWRlIDxwYWwvRmlsZVNpemVGb3JtYXR0ZXIuaD4KLSNpbmNsdWRlIDxw
YWwvc3lzdGVtL1NvdW5kLmg+CiAjaW5jbHVkZSA8cGFsL3RleHQvS2lsbFJpbmcuaD4KICNpbmNs
dWRlIDx3dGYvU2V0Rm9yU2NvcGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9DaGFyYWN0ZXJO
YW1lcy5oPgpAQCAtMTM2Niw3ICsxMzY2LDcgQEAgdm9pZCBFZGl0b3I6OmN1dChGcm9tTWVudU9y
S2V5QmluZGluZyBmcgogICAgIGlmICh0cnlESFRNTEN1dCgpKQogICAgICAgICByZXR1cm47IC8v
IERIVE1MIGRpZCB0aGUgd2hvbGUgb3BlcmF0aW9uCiAgICAgaWYgKCFjYW5DdXQoKSkgewotICAg
ICAgICBQQUw6OnN5c3RlbUJlZXAoKTsKKyAgICAgICAgU3lzdGVtU291bmRNYW5hZ2VyOjpzaW5n
bGV0b24oKS5zeXN0ZW1CZWVwKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTEzNzks
NyArMTM3OSw3IEBAIHZvaWQgRWRpdG9yOjpjb3B5KEZyb21NZW51T3JLZXlCaW5kaW5nIGYKICAg
ICBpZiAodHJ5REhUTUxDb3B5KCkpCiAgICAgICAgIHJldHVybjsgLy8gREhUTUwgZGlkIHRoZSB3
aG9sZSBvcGVyYXRpb24KICAgICBpZiAoIWNhbkNvcHkoKSkgewotICAgICAgICBQQUw6OnN5c3Rl
bUJlZXAoKTsKKyAgICAgICAgU3lzdGVtU291bmRNYW5hZ2VyOjpzaW5nbGV0b24oKS5zeXN0ZW1C
ZWVwKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTE1MTYsNyArMTUxNiw3IEBAIHZv
aWQgRWRpdG9yOjpxdW90ZUZyYWdtZW50Rm9yUGFzdGluZyhEb2MKIHZvaWQgRWRpdG9yOjpwZXJm
b3JtRGVsZXRlKCkKIHsKICAgICBpZiAoIWNhbkRlbGV0ZSgpKSB7Ci0gICAgICAgIFBBTDo6c3lz
dGVtQmVlcCgpOworICAgICAgICBTeXN0ZW1Tb3VuZE1hbmFnZXI6OnNpbmdsZXRvbigpLnN5c3Rl
bUJlZXAoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCShyZXZpc2lvbiAyNjkyMDIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NiwxMiAr
NTYsMTIgQEAKICNpbmNsdWRlICJTY3JvbGxiYXIuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgog
I2luY2x1ZGUgIlN0eWxlUHJvcGVydGllcy5oIgorI2luY2x1ZGUgIlN5c3RlbVNvdW5kTWFuYWdl
ci5oIgogI2luY2x1ZGUgIlR5cGluZ0NvbW1hbmQuaCIKICNpbmNsdWRlICJVbmxpbmtDb21tYW5k
LmgiCiAjaW5jbHVkZSAiVXNlckdlc3R1cmVJbmRpY2F0b3IuaCIKICNpbmNsdWRlICJVc2VyVHlw
aW5nR2VzdHVyZUluZGljYXRvci5oIgogI2luY2x1ZGUgIm1hcmt1cC5oIgotI2luY2x1ZGUgPHBh
bC9zeXN0ZW0vU291bmQuaD4KICNpbmNsdWRlIDxwYWwvdGV4dC9LaWxsUmluZy5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4KIApAQCAtMTA0Myw3ICsxMDQzLDcgQEAgc3RhdGlj
IGJvb2wgZXhlY3V0ZVNlbGVjdFRvTWFyayhGcmFtZSYgZgogICAgIGF1dG8gbWFya1JhbmdlID0g
ZWRpdG9yLm1hcmsoKS50b05vcm1hbGl6ZWRSYW5nZSgpOwogICAgIGF1dG8gc2VsZWN0aW9uUmFu
Z2UgPSBzZWxlY3Rpb24uc2VsZWN0aW9uKCkudG9Ob3JtYWxpemVkUmFuZ2UoKTsKICAgICBpZiAo
IW1hcmtSYW5nZSB8fCAhc2VsZWN0aW9uUmFuZ2UpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1CZWVw
KCk7CisgICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgp
OwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIHNlbGVjdGlvbi5zZXRTZWxlY3Rl
ZFJhbmdlKHVuaW9uUmFuZ2UoKm1hcmtSYW5nZSwgKnNlbGVjdGlvblJhbmdlKSwgQWZmaW5pdHk6
OkRvd25zdHJlYW0sIEZyYW1lU2VsZWN0aW9uOjpTaG91bGRDbG9zZVR5cGluZzo6WWVzKTsKQEAg
LTExMDMsNyArMTEwMyw3IEBAIHN0YXRpYyBib29sIGV4ZWN1dGVTd2FwV2l0aE1hcmsoRnJhbWUm
IGYKICAgICBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBtYXJrID0gZnJhbWUuZWRpdG9yKCkubWFy
aygpOwogICAgIGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbiA9IGZyYW1lLnNlbGVj
dGlvbigpLnNlbGVjdGlvbigpOwogICAgIGlmIChtYXJrLmlzTm9uZSgpIHx8IHNlbGVjdGlvbi5p
c05vbmUoKSkgewotICAgICAgICBQQUw6OnN5c3RlbUJlZXAoKTsKKyAgICAgICAgU3lzdGVtU291
bmRNYW5hZ2VyOjpzaW5nbGV0b24oKS5zeXN0ZW1CZWVwKCk7CiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICB9CiAgICAgZnJhbWUuc2VsZWN0aW9uKCkuc2V0U2VsZWN0aW9uKG1hcmspOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0VkaXRvckNvY29hLm1tCShyZXZpc2lv
biAyNjkyMDIpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0VkaXRvckNvY29hLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC01MywxMiArNTMsMTIgQEAKICNpbXBvcnQgIlJlbmRlckVsZW1l
bnQuaCIKICNpbXBvcnQgIlJlbmRlclN0eWxlLmgiCiAjaW1wb3J0ICJTZXR0aW5ncy5oIgorI2lt
cG9ydCAiU3lzdGVtU291bmRNYW5hZ2VyLmgiCiAjaW1wb3J0ICJUZXh0LmgiCiAjaW1wb3J0ICJV
VElVdGlsaXRpZXMuaCIKICNpbXBvcnQgIldlYkNvbnRlbnRSZWFkZXIuaCIKICNpbXBvcnQgIm1h
cmt1cC5oIgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmdTUEkuaD4K
LSNpbXBvcnQgPHBhbC9zeXN0ZW0vU291bmQuaD4KICNpbXBvcnQgPHd0Zi9CbG9ja09iakNFeGNl
cHRpb25zLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvTlNVUkxFeHRyYXMuaD4KIApAQCAtMjM5LDcg
KzIzOSw3IEBAIFJlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBFZGl0b3I6OndlYkNvbnQKIHZvaWQg
RWRpdG9yOjp0YWtlRmluZFN0cmluZ0Zyb21TZWxlY3Rpb24oKQogewogICAgIGlmICghY2FuQ29w
eUV4Y2x1ZGluZ1N0YW5kYWxvbmVJbWFnZXMoKSkgewotICAgICAgICBQQUw6OnN5c3RlbUJlZXAo
KTsKKyAgICAgICAgU3lzdGVtU291bmRNYW5hZ2VyOjpzaW5nbGV0b24oKS5zeXN0ZW1CZWVwKCk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCShyZXZpc2lvbiAyNjkyMDIpCisr
KyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTYsNiArNTYsNyBAQAogI2luY2x1ZGUgIlBhc3RlYm9hcmQuaCIKICNp
bmNsdWRlICJTY3JpcHRTdGF0ZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVkZSAi
U3lzdGVtU291bmRNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiVXNlckdlc3R1cmVJbmRpY2F0b3IuaCIK
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRGdW5jdGlvbkNhbGwuaD4KICNpbmNsdWRl
IDxwYWwvc3lzdGVtL1NvdW5kLmg+CkBAIC01NTUsNyArNTU2LDcgQEAgdm9pZCBJbnNwZWN0b3JG
cm9udGVuZEhvc3Q6OnVuYnVmZmVyZWRMbwogCiB2b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6
YmVlcCgpCiB7Ci0gICAgUEFMOjpzeXN0ZW1CZWVwKCk7CisgICAgU3lzdGVtU291bmRNYW5hZ2Vy
OjpzaW5nbGV0b24oKS5zeXN0ZW1CZWVwKCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRI
b3N0OjppbnNwZWN0SW5zcGVjdG9yKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5
c3RlbVNvdW5kRGVsZWdhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TeXN0ZW1Tb3VuZERlbGVnYXRlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU3lzdGVtU291bmREZWxlZ2F0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MzcgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIs
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5D
LiBPUgorKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjcHJhZ21h
IG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTeXN0ZW1Tb3VuZERlbGVnYXRl
IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5TeXN0ZW1Tb3VuZERlbGVnYXRlKCkgeyB9CisKKyAg
ICB2aXJ0dWFsIHZvaWQgc3lzdGVtQmVlcCgpIHsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3lzdGVtU291bmRNYW5hZ2VyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFn
ZXIuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNv
dW5kTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NSBAQAorLyoKKyogQ29w
eXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJTeXN0ZW1Tb3VuZE1hbmFnZXIuaCIKKworI2luY2x1ZGUgIlN5c3RlbVNvdW5kRGVs
ZWdhdGUuaCIKKworI2luY2x1ZGUgPHBhbC9zeXN0ZW0vU291bmQuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitTeXN0ZW1Tb3VuZE1hbmFnZXImIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xl
dG9uKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3lzdGVtU291bmRNYW5hZ2VyPiBz
eXN0ZW1Tb3VuZE1hbmFnZXI7CisgICAgcmV0dXJuIHN5c3RlbVNvdW5kTWFuYWdlcjsKK30KKyAg
ICAKK3ZvaWQgU3lzdGVtU291bmRNYW5hZ2VyOjpzZXRTeXN0ZW1Tb3VuZERlbGVnYXRlKHN0ZDo6
dW5pcXVlX3B0cjxTeXN0ZW1Tb3VuZERlbGVnYXRlPiYmIGRlbGVnYXRlKQoreworICAgIG1fZGVs
ZWdhdGUgPSBXVEZNb3ZlKGRlbGVnYXRlKTsKK30KKyAgICAKK3ZvaWQgU3lzdGVtU291bmRNYW5h
Z2VyOjpzeXN0ZW1CZWVwKCkKK3sKKyAgICBpZiAobV9kZWxlZ2F0ZSkgeworICAgICAgICBtX2Rl
bGVnYXRlLT5zeXN0ZW1CZWVwKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgUEFMOjpz
eXN0ZW1CZWVwKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNvdW5kTWFuYWdlci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNvdW5kTWFuYWdlci5oCShub25leGlzdGVudCkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNvdW5kTWFuYWdlci5oCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJl
IG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBDT01QVVRFUiwgSU5DLiBPUgorKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFN5c3RlbVNvdW5kRGVsZWdhdGU7CisKK2Ns
YXNzIFN5c3RlbVNvdW5kTWFuYWdlciB7CisgICAgZnJpZW5kIE5ldmVyRGVzdHJveWVkPFN5c3Rl
bVNvdW5kTWFuYWdlcj47CitwdWJsaWM6CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFN5c3Rl
bVNvdW5kTWFuYWdlciYgc2luZ2xldG9uKCk7CisgICAgCisgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRTeXN0ZW1Tb3VuZERlbGVnYXRlKHN0ZDo6dW5pcXVlX3B0cjxTeXN0ZW1Tb3VuZERlbGVn
YXRlPiYmKTsKKyAgICAKKyAgICB2b2lkIHN5c3RlbUJlZXAoKTsKKyAgICAKK3ByaXZhdGU6Cisg
ICAgU3lzdGVtU291bmRNYW5hZ2VyKCkgPSBkZWZhdWx0OworCisgICAgc3RkOjp1bmlxdWVfcHRy
PFN5c3RlbVNvdW5kRGVsZWdhdGU+IG1fZGVsZWdhdGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjY5MjA2KQorKysgU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMSBAQAorMjAyMC0xMC0zMCAgUGVy
IEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBTeXN0
ZW0gc291bmRzIHNob3VsZCBiZSBwbGF5ZWQgaW4gdGhlIFVJIHByb2Nlc3MKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODQwNQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6c3lzdGVtQmVl
cCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
cm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5p
dGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViU3lzdGVt
U291bmREZWxlZ2F0ZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJTeXN0ZW1Tb3Vu
ZERlbGVnYXRlOjpzeXN0ZW1CZWVwKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlN5
c3RlbVNvdW5kRGVsZWdhdGUuaDogQWRkZWQuCisKIDIwMjAtMTAtMzAgIEJyZW50IEZ1bGdoYW0g
IDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgQ29ycmVjdCBzYW5kYm94IHZpb2xhdGlv
bnMgaW4gR1BVIFByb2Nlc3MKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5LmNwcAkocmV2aXNpb24gMjY5MjAyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjUsNiArNjUsNyBAQAog
I2luY2x1ZGUgPFdlYkNvcmUvUHJld2FybUluZm9ybWF0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9QdWJsaWNTdWZmaXguaD4KICNpbmNsdWRlIDxXZWJDb3JlL1N1ZGRlblRlcm1pbmF0aW9uLmg+
CisjaW5jbHVkZSA8cGFsL3N5c3RlbS9Tb3VuZC5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5j
bHVkZSA8d3RmL0FsZ29yaXRobXMuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4K
QEAgLTE4ODUsNiArMTg4NiwxMSBAQCBib29sIFdlYlByb2Nlc3NQcm94eTo6aGFzU2xlZXBEaXNh
YmxlcigpCiAgICAgcmV0dXJuICFtX3NsZWVwRGlzYWJsZXJzLmlzRW1wdHkoKTsKIH0KIAordm9p
ZCBXZWJQcm9jZXNzUHJveHk6OnN5c3RlbUJlZXAoKQoreworICAgIFBBTDo6c3lzdGVtQmVlcCgp
OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIE1FU1NBR0VfQ0hFQ0sKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCShyZXZpc2lvbiAy
NjkyMDIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkod29y
a2luZyBjb3B5KQpAQCAtNTA0LDYgKzUwNCw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRDcmVh
dGVTbGVlcERpc2FibGVyKFdlYkNvcmU6OlNsZWVwRGlzYWJsZXJJZGVudGlmaWVyLCBjb25zdCBT
dHJpbmcmIHJlYXNvbiwgYm9vbCBkaXNwbGF5KTsKICAgICB2b2lkIGRpZERlc3Ryb3lTbGVlcERp
c2FibGVyKFdlYkNvcmU6OlNsZWVwRGlzYWJsZXJJZGVudGlmaWVyKTsKIAorICAgIHZvaWQgc3lz
dGVtQmVlcCgpOworICAgIAogICAgIGVudW0gY2xhc3MgSXNXZWFrIHsgTm8sIFllcyB9OwogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtPclN0cm9uZ1B0ciB7CiAgICAgcHVibGlj
OgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2Vz
LmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94
eS5tZXNzYWdlcy5pbgkocmV2aXNpb24gMjY5MjAyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC04Nyw0ICs4
Nyw2IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3NQcm94eSBMZWdhY3lSZWNlaXYKIAogICAgIERp
ZENyZWF0ZVNsZWVwRGlzYWJsZXIoV2ViQ29yZTo6U2xlZXBEaXNhYmxlcklkZW50aWZpZXIgaWRl
bnRpZmllciwgU3RyaW5nIHJlYXNvbiwgYm9vbCBkaXNwbGF5KQogICAgIERpZERlc3Ryb3lTbGVl
cERpc2FibGVyKFdlYkNvcmU6OlNsZWVwRGlzYWJsZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpCisK
KyAgICBTeXN0ZW1CZWVwKCkKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjY5MjAyKQorKysgU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTgz
OSw2ICsxODM5LDcgQEAKIAkJRTM4QTFGQzAyM0E1NTFCRjAwRDIzNzRGIC8qIFVzZXJJbnRlcmZh
Y2VJZGlvbS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUzOEExRkJGMjNBNTUxQkYwMEQyMzc0RiAvKiBVc2VySW50ZXJmYWNlSWRpb20ubW0gKi87IH07
CiAJCUUzOTYyOEREMjM5NjBDQzYwMDY1OEVDRCAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0
ZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFMzk2MjhEQjIzOTYwQ0M1MDA2NThFQ0QgLyogV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQ
cm92aWRlci5oICovOyB9OwogCQlFMzk2MjhERTIzOTYwQ0M2MDA2NThFQ0QgLyogV2ViRGV2aWNl
T3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFMzk2MjhEQzIzOTYwQ0M2MDA2NThFQ0QgLyogV2ViRGV2aWNl
T3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5jcHAgKi87IH07CisJCUUzQzA0MTM5MjU0Q0I2NEEw
MDIxRDBFNiAvKiBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQzA0MTM2MjU0Q0IxRjYwMDIxRDBFNiAvKiBX
ZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcCAqLzsgfTsKIAkJRTNDODQ2N0MyNTI3RjlERTAwNTRG
RDlDIC8qIFdlYktpdEpJVE9wZXJhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1ODJDMjkyNTI3RjY5QjAwRDFCNzkwIC8qIFdlYktpdEpJ
VE9wZXJhdGlvbnMuY3BwICovOyB9OwogCQlFM0NBQUE0NDI0MTMyNzk5MDBDRUQyRTIgLyogQWNj
ZXNzaWJpbGl0eVN1cHBvcnRTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzQ0FBQTQzMjQxMzI3OEEwMENFRDJFMiAvKiBBY2Nlc3NpYmlsaXR5U3Vw
cG9ydFNQSS5oICovOyB9OwogCQlFNDEzRjU5RDFBQzFBREM0MDAzNDUzNjAgLyogTmV0d29ya0Nh
Y2hlRW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEU0MTNGNTlCMUFDMUFEQjYwMDM0NTM2MCAvKiBOZXR3b3JrQ2FjaGVFbnRyeS5oICovOyB9OwpA
QCAtNTM5MSw2ICs1MzkyLDggQEAKIAkJRTM5NjI4REIyMzk2MENDNTAwNjU4RUNEIC8qIFdlYkRl
dmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFMzk2MjhEQzIzOTYwQ0M2MDA2NThFQ0QgLyogV2ViRGV2aWNl
T3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM5NjI4RTQyMzk3MUYzNDAwNjU4RUNEIC8qIFdlYkRl
dmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5tZXNzYWdlcy5pbjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTNDMDQxMzUyNTRDQjE0QTAwMjFEMEU2IC8q
IFdlYlN5c3RlbVNvdW5kRGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViU3lzdGVtU291bmRE
ZWxlZ2F0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFM0MwNDEzNjI1NENCMUY2
MDAyMUQwRTYgLyogV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTNDQUFBNDMyNDEzMjc4QTAwQ0VEMkUyIC8qIEFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJ
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0MDQ5MDcwMjFERTY1RjcwMDM3RjBE
QiAvKiBTY3JvbGxlclBhaXJNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U2Nyb2xsZXJQYWlyTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0MDQ5MDcx
MjFERTY1RjcwMDM3RjBEQiAvKiBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3Rl
TWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVNYWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtODU3OSw2ICs4NTgyLDggQEAKIAkJCQk1MkQ1QTFCMzFDNTc0OUYyMDBERTM0QTMg
LyogVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tZXNzYWdlcy5pbiAqLywKIAkJCQk1MkQ1QTFCNDFD
NTc0OUYyMDBERTM0QTMgLyogVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbSAqLywKIAkJCQk3QzZF
NzBGOTE4QjJENEEwMDBGMjRFMkUgLyogV2ViUHJvY2Vzc0NvY29hLm1tICovLAorCQkJCUUzQzA0
MTM2MjU0Q0IxRjYwMDIxRDBFNiAvKiBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcCAqLywKKwkJ
CQlFM0MwNDEzNTI1NENCMTRBMDAyMUQwRTYgLyogV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oICov
LAogCQkJKTsKIAkJCXBhdGggPSBjb2NvYTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBA
IC0xMzM2Miw2ICsxMzM2Nyw3IEBACiAJCQkJNTE3QTUyRDgxRjQzQTlEQTAwRENEQzBBIC8qIFdl
YlNXU2VydmVyQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk5MzU2RjJFMDIxNTJCNzUyMDBFNkQ1REYgLyogV2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0
aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxNTI2MkJEMUZCOTUxNjEwMDcwRTU3OSAvKiBX
ZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJRTNDMDQxMzkyNTRDQjY0QTAwMjFEMEU2IC8qIFdlYlN5c3RlbVNvdW5kRGVs
ZWdhdGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MkE3OEUyMTJCNkFCMTAwRjQ5M0ZEIC8q
IFdlYlRvdWNoRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFBRjA4QjcxOTI2OUU2RDAw
QjYzOTBDIC8qIFdlYlVzZXJDb250ZW50Q29udHJvbGxlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk3QzM2MUQ3ODE5MjgwM0JEMDAzNkE1OUQgLyogV2ViVXNlckNvbnRl
bnRDb250cm9sbGVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW0JKHJldmlzaW9uIDI2OTIwMikKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbXBv
cnQgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViUHJvY2Vzc1Byb3h5TWVzc2Fn
ZXMuaCIKICNpbXBvcnQgIldlYlNsZWVwRGlzYWJsZXJDbGllbnQuaCIKKyNpbXBvcnQgIldlYlN5
c3RlbVNvdW5kRGVsZWdhdGUuaCIKICNpbXBvcnQgIldlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJz
LmgiCiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9Db25maWdGaWxlLmg+CiAjaW1wb3J0IDxKYXZh
U2NyaXB0Q29yZS9PcHRpb25zLmg+CkBAIC02Nyw2ICs2OCw3IEBACiAjaW1wb3J0IDxXZWJDb3Jl
L1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TV0NvbnRleHRN
YW5hZ2VyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1N5c3RlbUJhdHRlcnkuaD4KKyNpbXBvcnQgPFdl
YkNvcmUvU3lzdGVtU291bmRNYW5hZ2VyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1VUSVV0aWxpdGll
cy5oPgogI2ltcG9ydCA8V2ViQ29yZS9WZXJzaW9uQ2hlY2tzLmg+CiAjaW1wb3J0IDxhbGdvcml0
aG0+CkBAIC0zNjAsNiArMzYyLDggQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxp
emVXZWJQcgogI2VuZGlmCiAKICAgICB1cGRhdGVQcm9jZXNzTmFtZSgpOworICAgIAorICAgIFN5
c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc2V0U3lzdGVtU291bmREZWxlZ2F0ZShtYWtl
VW5pcXVlPFdlYlN5c3RlbVNvdW5kRGVsZWdhdGU+KCkpOwogfQogCiB2b2lkIFdlYlByb2Nlc3M6
OnBsYXRmb3JtU2V0V2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMoV2ViUHJvY2Vzc0RhdGFTdG9y
ZVBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvY29hL1dlYlN5c3RlbVNvdW5kRGVsZWdhdGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcAkobm9uZXhp
c3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViU3lzdGVtU291bmRE
ZWxlZ2F0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOSBAQAorLyoKKyogQ29weXJp
Z2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmgiCisKKyNpbmNsdWRlICJXZWJQcm9jZXNzLmgi
CisjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIKKworbmFtZXNwYWNlIFdlYktp
dCB7CisKK3ZvaWQgV2ViU3lzdGVtU291bmREZWxlZ2F0ZTo6c3lzdGVtQmVlcCgpCit7CisgICAg
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChN
ZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpTeXN0ZW1CZWVwKCksIDApOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJT
eXN0ZW1Tb3VuZERlbGVnYXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL1dlYlN5c3RlbVNvdW5kRGVsZWdhdGUuaAkobm9uZXhpc3RlbnQpCisrKyBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMzggQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPFdlYkNvcmUvU3lzdGVtU291
bmREZWxlZ2F0ZS5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViU3lzdGVtU291
bmREZWxlZ2F0ZSA6IHB1YmxpYyBXZWJDb3JlOjpTeXN0ZW1Tb3VuZERlbGVnYXRlIHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICB2b2lkIHN5c3RlbUJlZXAoKSBv
dmVycmlkZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412922</attachid>
            <date>2020-11-02 08:31:07 -0800</date>
            <delta_ts>2020-11-02 08:44:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218405-20201102083106.patch</filename>
            <type>text/plain</type>
            <size>38575</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTI0NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDIwLTEwLTMwICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFN5c3RlbSBz
b3VuZHMgc2hvdWxkIGJlIHBsYXllZCBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NDA1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gcHJlcGFyYXRpb24gb2YgYmxvY2tp
bmcgdGhlIHN5c3RlbSBzb3VuZCBzZXJ2ZXIgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2Vzcywgc3lz
dGVtIHNvdW5kcyBzaG91bGQgYmUgcGxheWVkIGluIHRoZSBVSSBwcm9jZXNzLgorICAgICAgICBU
aGlzIHBhdGNoIGNyZWF0ZXMgYSBzeXN0ZW0gc291bmQgbWFuYWdlciwgd2hpY2ggZGVsZWdhdGVz
IHRoZSBzb3VuZCByZXF1ZXN0IGlmIGEgZGVsZWdhdGUgaXMgcHJlc2VudCwgb3RoZXJ3aXNlIHRo
ZSBmdW5jdGlvbgorICAgICAgICBQQUw6OnN5c3RlbUJlZXAgd2lsbCBiZSBjYWxsZWQuCisKKyAg
ICAgICAgQVBJIHRlc3Q6IFdlYktpdC5TeXN0ZW1CZWVwCisKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpjdXQpOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9y
Ojpjb3B5KToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cGVyZm9ybURlbGV0ZSk6CisgICAg
ICAgICogZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmV4ZWN1
dGVTZWxlY3RUb01hcmspOgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZVN3YXBXaXRoTWFyayk6
CisgICAgICAgICogZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbToKKyAgICAgICAgKFdlYkNv
cmU6OkVkaXRvcjo6dGFrZUZpbmRTdHJpbmdGcm9tU2VsZWN0aW9uKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvckZyb250ZW5kSG9zdDo6YmVlcCk6CisgICAgICAgICogcGxhdGZvcm0vU3lzdGVtU291bmRE
ZWxlZ2F0ZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbVNvdW5kRGVsZWdhdGU6
On5TeXN0ZW1Tb3VuZERlbGVnYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbVNvdW5kRGVs
ZWdhdGU6OnN5c3RlbUJlZXApOgorICAgICAgICAqIHBsYXRmb3JtL1N5c3RlbVNvdW5kTWFuYWdl
ci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtU291bmRNYW5hZ2VyOjpzaW5n
bGV0b24pOgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtU291bmRNYW5hZ2VyOjpzZXRTeXN0ZW1T
b3VuZERlbGVnYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbVNvdW5kTWFuYWdlcjo6c3lz
dGVtQmVlcCk6CisgICAgICAgICogcGxhdGZvcm0vU3lzdGVtU291bmRNYW5hZ2VyLmg6IEFkZGVk
LgorCiAyMDIwLTExLTAyICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4K
IAogICAgICAgICBbR0xJQl0gUkVHUkVTU0lPTihyMjY5MTQ0KSBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbEludG9WaWV3LXNjcm9sbE1hcmdpbi5o
dG1sIGlzIGZhaWxpbmcKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNjkyNDYpCisrKyBT
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTgxNiw2ICsxODE2
LDcgQEAgcGxhdGZvcm0vU2hhcmVkQnVmZmVyQ2h1bmtSZWFkZXIuY3BwCiBwbGF0Zm9ybS9TaGFy
ZWRTdHJpbmdIYXNoLmNwcAogcGxhdGZvcm0vU2xlZXBEaXNhYmxlci5jcHAKIHBsYXRmb3JtL1Ns
ZWVwRGlzYWJsZXJDbGllbnQuY3BwCitwbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuY3BwCiBw
bGF0Zm9ybS9TdGF0aWNQYXN0ZWJvYXJkLmNwcAogcGxhdGZvcm0vVGhlbWUuY3BwCiBwbGF0Zm9y
bS9UaGVtZVR5cGVzLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXJQcm92aWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJvdmlkZXIuaAkocmV2aXNpb24g
MjY5MjQ2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVj
b3JkZXJQcm92aWRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw4IEBACiAKICNwcmFn
bWEgb25jZQogCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKwogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBNZWRpYVJlY29yZGVyUHJpdmF0ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI2OTI0NikK
KysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtNDk5NCw2ICs0OTk0LDggQEAKIAkJRTNCMkYwRUUxRDdGNENBOTAwQjBD
OUQxIC8qIExvYWRhYmxlU2NyaXB0Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFM0IyRjBFODFEN0YzNUVDMDBCMEM5RDEgLyogTG9hZGFibGVT
Y3JpcHRDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlFM0IyRjBGMDFEN0Y0Q0I1MDBCMEM5RDEgLyogTG9hZGFibGVDbGFzc2ljU2NyaXB0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0IyRjBF
NDFEN0YzNUVDMDBCMEM5RDEgLyogTG9hZGFibGVDbGFzc2ljU2NyaXB0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTNCQkMyNDcyMzgzNTUyNjAw
NkVDMzlGIC8qIENTU1ZhbHVlS2V5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFM0JCQzI0NTIzODM1NTFBMDA2RUMzOUYgLyogQ1NTVmFsdWVLZXkuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFM0MwNDEy
RjI1NENBMjlCMDAyMUQwRTYgLyogU3lzdGVtU291bmRNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0MwNDEyRDI1NENBMjlCMDAyMUQwRTYg
LyogU3lzdGVtU291bmRNYW5hZ2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJRTNDMDQxMzgyNTRDQjMwRDAwMjFEMEU2IC8qIFN5c3RlbVNvdW5k
RGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUzQzA0MTMxMjU0Q0E2NjYwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZERlbGVnYXRlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTNDOTlBMDkxREMz
RDQxQzAwNzk0QUQzIC8qIERPTUpJVENoZWNrRE9NLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0M5OUEwODFEQzNENDE3MDA3OTRBRDMgLyogRE9NSklU
Q2hlY2tET00uaCAqLzsgfTsKIAkJRTNDOUFFQ0IyMTEzMTQ5OTAwNDE5QjkyIC8qIEpTTWljcm90
YXNrQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUzQzlBRUM5MjExMzE0NzQwMDQxOUI5MiAvKiBKU01pY3JvdGFza0NhbGxiYWNrLmggKi87
IH07CiAJCUUzRTRFMkE4MUUzQjE3MTAwMDIzQkI4QSAvKiBTY3JpcHRFbGVtZW50Q2FjaGVkU2Ny
aXB0RmV0Y2hlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTNFNEUyQTYxRTNCMTZGQzAwMjNCQjhBIC8qIFNjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRG
ZXRjaGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
QEAgLTE1OTg4LDYgKzE1OTkwLDkgQEAKIAkJRTNCRjE5RTUyMkFGMkZGNDAwOUM5OTI2IC8qIEJl
Zm9yZUxvYWRFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCZWZvcmVMb2FkRXZlbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0JGMTlFNjIyQUYzMDJBMDA5Qzk5MjYg
LyogSGFzaENoYW5nZUV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhhc2hDaGFuZ2VFdmVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzQkYxOUU3MjJBRjMwOUYwMDlD
OTkyNiAvKiBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlFM0MwNDEyRDI1NENBMjlCMDAyMUQwRTYgLyogU3lzdGVtU291bmRNYW5hZ2Vy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN5c3RlbVNvdW5kTWFuYWdlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFM0MwNDEzMTI1NENBNjY2MDAyMUQwRTYg
LyogU3lzdGVtU291bmREZWxlZ2F0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTeXN0ZW1Tb3VuZERlbGVn
YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzQzA0MTMyMjU0Q0E3MTEwMDIx
RDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3lzdGVt
U291bmRNYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNDOTlBMDgx
REMzRDQxNzAwNzk0QUQzIC8qIERPTUpJVENoZWNrRE9NLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERPTUpJVENoZWNrRE9NLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUzQzlBRUM5MjExMzE0NzQwMDQxOUI5MiAvKiBKU01pY3JvdGFza0NhbGxiYWNrLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWljcm90YXNrQ2FsbGJhY2suaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNEMDQ5OTMxREFEQzA0NTAwNzE4RjNDIC8qIE5v
ZGVDb25zdGFudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTm9kZUNvbnN0
YW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjczMTcsNiArMjczMjIsOSBA
QAogCQkJCUY0MzNFOTAyMURCQkRCQTIwMEVGMEQxNCAvKiBTdGF0aWNQYXN0ZWJvYXJkLmggKi8s
CiAJCQkJOTNCMkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggKi8s
CiAJCQkJOTc2MjdCOTcxNEZCNTQyNDAwMkNEQ0ExIC8qIFN1cHBsZW1lbnRhYmxlLmggKi8sCisJ
CQkJRTNDMDQxMzEyNTRDQTY2NjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kRGVsZWdhdGUuaCAqLywK
KwkJCQlFM0MwNDEzMjI1NENBNzExMDAyMUQwRTYgLyogU3lzdGVtU291bmRNYW5hZ2VyLmNwcCAq
LywKKwkJCQlFM0MwNDEyRDI1NENBMjlCMDAyMUQwRTYgLyogU3lzdGVtU291bmRNYW5hZ2VyLmgg
Ki8sCiAJCQkJN0NDNTY0QjYxOEJBQkVBNjAwMUI5NjUyIC8qIFRlbGVwaG9uZU51bWJlckRldGVj
dG9yLmggKi8sCiAJCQkJQkNFNjVEMzEwRUFEMTIxMTAwN0U0NTMzIC8qIFRoZW1lLmNwcCAqLywK
IAkJCQlCQ0U2NThGRTBFQTkyNDhBMDA3RTQ1MzMgLyogVGhlbWUuaCAqLywKQEAgLTM0NTQwLDYg
KzM0NTQ4LDggQEAKIAkJCQlDMTY5MkRENTIzRDIzRTA4MDA2RTg4RjcgLyogU3lzdGVtQmF0dGVy
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTRFOEI0RUMyMTZCNzlFNTAwQjg4MzREIC8qIFN5c3Rl
bUZvbnREYXRhYmFzZUNvcmVUZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjAzQzA3NDE4ODQ2
OTVFMDBBNUY4Q0EgLyogU3lzdGVtTWVtb3J5LmggaW4gSGVhZGVycyAqLywKKwkJCQlFM0MwNDEz
ODI1NENCMzBEMDAyMUQwRTYgLyogU3lzdGVtU291bmREZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJRTNDMDQxMkYyNTRDQTI5QjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNUQ1OTc1QjMxOTYzNUYxMTAwRDAwODc4IC8qIFN5c3RlbVZlcnNp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCUE4Q0ZGMDUxMEExNTRGMDkwMDBBNDIzNCAvKiBUYWJs
ZUxheW91dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkYxNzI2NEYyNDcwQzYwQjAwNTE4Qzk2IC8q
IFRhYmxlV3JhcHBlckJsb2NrRm9ybWF0dGluZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovLApJbmRl
eDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAkocmV2aXNpb24gMjY5MjQ2KQorKysgU291cmNl
L1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMsNiArMTAz
LDcgQEAKICNpbmNsdWRlICJTcGVsbGluZ0NvcnJlY3Rpb25Db21tYW5kLmgiCiAjaW5jbHVkZSAi
U3RhdGljUGFzdGVib2FyZC5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydGllcy5oIgorI2luY2x1
ZGUgIlN5c3RlbVNvdW5kTWFuYWdlci5oIgogI2luY2x1ZGUgIlRlbGVwaG9uZU51bWJlckRldGVj
dG9yLmgiCiAjaW5jbHVkZSAiVGV4dC5oIgogI2luY2x1ZGUgIlRleHRDaGVja2VyQ2xpZW50Lmgi
CkBAIC0xMTUsNyArMTE2LDYgQEAKICNpbmNsdWRlICJWaXNpYmxlVW5pdHMuaCIKICNpbmNsdWRl
ICJtYXJrdXAuaCIKICNpbmNsdWRlIDxwYWwvRmlsZVNpemVGb3JtYXR0ZXIuaD4KLSNpbmNsdWRl
IDxwYWwvc3lzdGVtL1NvdW5kLmg+CiAjaW5jbHVkZSA8cGFsL3RleHQvS2lsbFJpbmcuaD4KICNp
bmNsdWRlIDx3dGYvU2V0Rm9yU2NvcGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9DaGFyYWN0
ZXJOYW1lcy5oPgpAQCAtMTM2Niw3ICsxMzY2LDcgQEAgdm9pZCBFZGl0b3I6OmN1dChGcm9tTWVu
dU9yS2V5QmluZGluZyBmcgogICAgIGlmICh0cnlESFRNTEN1dCgpKQogICAgICAgICByZXR1cm47
IC8vIERIVE1MIGRpZCB0aGUgd2hvbGUgb3BlcmF0aW9uCiAgICAgaWYgKCFjYW5DdXQoKSkgewot
ICAgICAgICBQQUw6OnN5c3RlbUJlZXAoKTsKKyAgICAgICAgU3lzdGVtU291bmRNYW5hZ2VyOjpz
aW5nbGV0b24oKS5zeXN0ZW1CZWVwKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTEz
NzksNyArMTM3OSw3IEBAIHZvaWQgRWRpdG9yOjpjb3B5KEZyb21NZW51T3JLZXlCaW5kaW5nIGYK
ICAgICBpZiAodHJ5REhUTUxDb3B5KCkpCiAgICAgICAgIHJldHVybjsgLy8gREhUTUwgZGlkIHRo
ZSB3aG9sZSBvcGVyYXRpb24KICAgICBpZiAoIWNhbkNvcHkoKSkgewotICAgICAgICBQQUw6OnN5
c3RlbUJlZXAoKTsKKyAgICAgICAgU3lzdGVtU291bmRNYW5hZ2VyOjpzaW5nbGV0b24oKS5zeXN0
ZW1CZWVwKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTE1MTYsNyArMTUxNiw3IEBA
IHZvaWQgRWRpdG9yOjpxdW90ZUZyYWdtZW50Rm9yUGFzdGluZyhEb2MKIHZvaWQgRWRpdG9yOjpw
ZXJmb3JtRGVsZXRlKCkKIHsKICAgICBpZiAoIWNhbkRlbGV0ZSgpKSB7Ci0gICAgICAgIFBBTDo6
c3lzdGVtQmVlcCgpOworICAgICAgICBTeXN0ZW1Tb3VuZE1hbmFnZXI6OnNpbmdsZXRvbigpLnN5
c3RlbUJlZXAoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCShyZXZpc2lvbiAyNjkyNDYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niwx
MiArNTYsMTIgQEAKICNpbmNsdWRlICJTY3JvbGxiYXIuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5o
IgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydGllcy5oIgorI2luY2x1ZGUgIlN5c3RlbVNvdW5kTWFu
YWdlci5oIgogI2luY2x1ZGUgIlR5cGluZ0NvbW1hbmQuaCIKICNpbmNsdWRlICJVbmxpbmtDb21t
YW5kLmgiCiAjaW5jbHVkZSAiVXNlckdlc3R1cmVJbmRpY2F0b3IuaCIKICNpbmNsdWRlICJVc2Vy
VHlwaW5nR2VzdHVyZUluZGljYXRvci5oIgogI2luY2x1ZGUgIm1hcmt1cC5oIgotI2luY2x1ZGUg
PHBhbC9zeXN0ZW0vU291bmQuaD4KICNpbmNsdWRlIDxwYWwvdGV4dC9LaWxsUmluZy5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4KIApAQCAtMTA0Myw3ICsxMDQzLDcgQEAgc3Rh
dGljIGJvb2wgZXhlY3V0ZVNlbGVjdFRvTWFyayhGcmFtZSYgZgogICAgIGF1dG8gbWFya1Jhbmdl
ID0gZWRpdG9yLm1hcmsoKS50b05vcm1hbGl6ZWRSYW5nZSgpOwogICAgIGF1dG8gc2VsZWN0aW9u
UmFuZ2UgPSBzZWxlY3Rpb24uc2VsZWN0aW9uKCkudG9Ob3JtYWxpemVkUmFuZ2UoKTsKICAgICBp
ZiAoIW1hcmtSYW5nZSB8fCAhc2VsZWN0aW9uUmFuZ2UpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1C
ZWVwKCk7CisgICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVl
cCgpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIHNlbGVjdGlvbi5zZXRTZWxl
Y3RlZFJhbmdlKHVuaW9uUmFuZ2UoKm1hcmtSYW5nZSwgKnNlbGVjdGlvblJhbmdlKSwgQWZmaW5p
dHk6OkRvd25zdHJlYW0sIEZyYW1lU2VsZWN0aW9uOjpTaG91bGRDbG9zZVR5cGluZzo6WWVzKTsK
QEAgLTExMDMsNyArMTEwMyw3IEBAIHN0YXRpYyBib29sIGV4ZWN1dGVTd2FwV2l0aE1hcmsoRnJh
bWUmIGYKICAgICBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBtYXJrID0gZnJhbWUuZWRpdG9yKCku
bWFyaygpOwogICAgIGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbiA9IGZyYW1lLnNl
bGVjdGlvbigpLnNlbGVjdGlvbigpOwogICAgIGlmIChtYXJrLmlzTm9uZSgpIHx8IHNlbGVjdGlv
bi5pc05vbmUoKSkgewotICAgICAgICBQQUw6OnN5c3RlbUJlZXAoKTsKKyAgICAgICAgU3lzdGVt
U291bmRNYW5hZ2VyOjpzaW5nbGV0b24oKS5zeXN0ZW1CZWVwKCk7CiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICB9CiAgICAgZnJhbWUuc2VsZWN0aW9uKCkuc2V0U2VsZWN0aW9uKG1hcmspOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0VkaXRvckNvY29hLm1tCShyZXZp
c2lvbiAyNjkyNDYpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0VkaXRvckNvY29h
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC01MywxMiArNTMsMTIgQEAKICNpbXBvcnQgIlJlbmRlckVs
ZW1lbnQuaCIKICNpbXBvcnQgIlJlbmRlclN0eWxlLmgiCiAjaW1wb3J0ICJTZXR0aW5ncy5oIgor
I2ltcG9ydCAiU3lzdGVtU291bmRNYW5hZ2VyLmgiCiAjaW1wb3J0ICJUZXh0LmgiCiAjaW1wb3J0
ICJVVElVdGlsaXRpZXMuaCIKICNpbXBvcnQgIldlYkNvbnRlbnRSZWFkZXIuaCIKICNpbXBvcnQg
Im1hcmt1cC5oIgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmdTUEku
aD4KLSNpbXBvcnQgPHBhbC9zeXN0ZW0vU291bmQuaD4KICNpbXBvcnQgPHd0Zi9CbG9ja09iakNF
eGNlcHRpb25zLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvTlNVUkxFeHRyYXMuaD4KIApAQCAtMjM5
LDcgKzIzOSw3IEBAIFJlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBFZGl0b3I6OndlYkNvbnQKIHZv
aWQgRWRpdG9yOjp0YWtlRmluZFN0cmluZ0Zyb21TZWxlY3Rpb24oKQogewogICAgIGlmICghY2Fu
Q29weUV4Y2x1ZGluZ1N0YW5kYWxvbmVJbWFnZXMoKSkgewotICAgICAgICBQQUw6OnN5c3RlbUJl
ZXAoKTsKKyAgICAgICAgU3lzdGVtU291bmRNYW5hZ2VyOjpzaW5nbGV0b24oKS5zeXN0ZW1CZWVw
KCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCShyZXZpc2lvbiAyNjkyNDYp
CisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTYsNiArNTYsNyBAQAogI2luY2x1ZGUgIlBhc3RlYm9hcmQuaCIK
ICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVk
ZSAiU3lzdGVtU291bmRNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiVXNlckdlc3R1cmVJbmRpY2F0b3Iu
aCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRGdW5jdGlvbkNhbGwuaD4KICNpbmNs
dWRlIDxwYWwvc3lzdGVtL1NvdW5kLmg+CkBAIC01NTUsNyArNTU2LDcgQEAgdm9pZCBJbnNwZWN0
b3JGcm9udGVuZEhvc3Q6OnVuYnVmZmVyZWRMbwogCiB2b2lkIEluc3BlY3RvckZyb250ZW5kSG9z
dDo6YmVlcCgpCiB7Ci0gICAgUEFMOjpzeXN0ZW1CZWVwKCk7CisgICAgU3lzdGVtU291bmRNYW5h
Z2VyOjpzaW5nbGV0b24oKS5zeXN0ZW1CZWVwKCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yRnJvbnRl
bmRIb3N0OjppbnNwZWN0SW5zcGVjdG9yKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1N5c3RlbVNvdW5kRGVsZWdhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TeXN0ZW1Tb3VuZERlbGVnYXRlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU3lzdGVtU291bmREZWxlZ2F0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMzcgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVU
RVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwg
SU5DLiBPUgorKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjcHJh
Z21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTeXN0ZW1Tb3VuZERlbGVn
YXRlIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5TeXN0ZW1Tb3VuZERlbGVnYXRlKCkgeyB9CisK
KyAgICB2aXJ0dWFsIHZvaWQgc3lzdGVtQmVlcCgpIHsgfQorfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3lzdGVtU291bmRNYW5hZ2Vy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1h
bmFnZXIuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3Rl
bVNvdW5kTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NSBAQAorLyoKKyog
Q29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJTeXN0ZW1Tb3VuZE1hbmFnZXIuaCIKKworI2luY2x1ZGUgIlN5c3RlbVNvdW5k
RGVsZWdhdGUuaCIKKworI2luY2x1ZGUgPHBhbC9zeXN0ZW0vU291bmQuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitTeXN0ZW1Tb3VuZE1hbmFnZXImIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2lu
Z2xldG9uKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3lzdGVtU291bmRNYW5hZ2Vy
PiBzeXN0ZW1Tb3VuZE1hbmFnZXI7CisgICAgcmV0dXJuIHN5c3RlbVNvdW5kTWFuYWdlcjsKK30K
KyAgICAKK3ZvaWQgU3lzdGVtU291bmRNYW5hZ2VyOjpzZXRTeXN0ZW1Tb3VuZERlbGVnYXRlKHN0
ZDo6dW5pcXVlX3B0cjxTeXN0ZW1Tb3VuZERlbGVnYXRlPiYmIGRlbGVnYXRlKQoreworICAgIG1f
ZGVsZWdhdGUgPSBXVEZNb3ZlKGRlbGVnYXRlKTsKK30KKyAgICAKK3ZvaWQgU3lzdGVtU291bmRN
YW5hZ2VyOjpzeXN0ZW1CZWVwKCkKK3sKKyAgICBpZiAobV9kZWxlZ2F0ZSkgeworICAgICAgICBt
X2RlbGVnYXRlLT5zeXN0ZW1CZWVwKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgUEFM
OjpzeXN0ZW1CZWVwKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNvdW5kTWFuYWdlci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNvdW5kTWFuYWdlci5oCShub25leGlzdGVudCkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNvdW5kTWFuYWdlci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyog
YXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBDT01QVVRFUiwgSU5DLiBPUgorKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFN5c3RlbVNvdW5kRGVsZWdhdGU7CisK
K2NsYXNzIFN5c3RlbVNvdW5kTWFuYWdlciB7CisgICAgZnJpZW5kIE5ldmVyRGVzdHJveWVkPFN5
c3RlbVNvdW5kTWFuYWdlcj47CitwdWJsaWM6CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFN5
c3RlbVNvdW5kTWFuYWdlciYgc2luZ2xldG9uKCk7CisgICAgCisgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBzZXRTeXN0ZW1Tb3VuZERlbGVnYXRlKHN0ZDo6dW5pcXVlX3B0cjxTeXN0ZW1Tb3VuZERl
bGVnYXRlPiYmKTsKKyAgICAKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN5c3RlbUJlZXAoKTsK
KyAgICAKK3ByaXZhdGU6CisgICAgU3lzdGVtU291bmRNYW5hZ2VyKCkgPSBkZWZhdWx0OworCisg
ICAgc3RkOjp1bmlxdWVfcHRyPFN5c3RlbVNvdW5kRGVsZWdhdGU+IG1fZGVsZWdhdGU7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCShyZXZpc2lvbiAyNjkyNDYpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5Miw2ICsxOTIsNyBAQAogI2luY2x1ZGUgIlN0
eWxlUnVsZS5oIgogI2luY2x1ZGUgIlN0eWxlU2NvcGUuaCIKICNpbmNsdWRlICJTdHlsZVNoZWV0
Q29udGVudHMuaCIKKyNpbmNsdWRlICJTeXN0ZW1Tb3VuZE1hbmFnZXIuaCIKICNpbmNsdWRlICJU
ZXh0SXRlcmF0b3IuaCIKICNpbmNsdWRlICJUZXh0UGxhY2Vob2xkZXJFbGVtZW50LmgiCiAjaW5j
bHVkZSAiVHJlZVNjb3BlLmgiCkBAIC02MDAxLDUgKzYwMDIsOSBAQCBFeGNlcHRpb25Pcjx2b2lk
PiBJbnRlcm5hbHM6OnNlbmRNZWRpYVNlCiB9CiAjZW5kaWYKIAordm9pZCBJbnRlcm5hbHM6OnN5
c3RlbUJlZXAoKQoreworICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVt
QmVlcCgpOworfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmgJKHJldmlzaW9uIDI2OTI0NikKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNjMsNiArMTA2Myw4IEBAIHB1Ymxp
YzoKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZW5kTWVkaWFTZXNzaW9uQWN0aW9uKE1lZGlhU2Vz
c2lvbiYsIGNvbnN0IE1lZGlhU2Vzc2lvbkFjdGlvbkRldGFpbHMmKTsKICNlbmRpZgogCisgICAg
dm9pZCBzeXN0ZW1CZWVwKCk7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxzKERv
Y3VtZW50Jik7CiAgICAgRG9jdW1lbnQqIGNvbnRleHREb2N1bWVudCgpIGNvbnN0OwpJbmRleDog
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAkocmV2aXNpb24gMjY5MjQ2KQorKysgU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC05NTgs
NCArOTU4LDYgQEAgZW51bSBDb250ZW50U2l6ZUNhdGVnb3J5IHsKIAogICAgIFtDb25kaXRpb25h
bD1NRURJQV9TRVNTSU9OLCBNYXlUaHJvd0V4Y2VwdGlvbl0gZG91YmxlIGN1cnJlbnRNZWRpYVNl
c3Npb25Qb3NpdGlvbihNZWRpYVNlc3Npb24gc2Vzc2lvbik7CiAgICAgW0NvbmRpdGlvbmFsPU1F
RElBX1NFU1NJT04sIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2VuZE1lZGlhU2Vzc2lv
bkFjdGlvbihNZWRpYVNlc3Npb24gc2Vzc2lvbiwgTWVkaWFTZXNzaW9uQWN0aW9uRGV0YWlscyBh
Y3Rpb25EZXRhaWxzKTsKKworICAgIHVuZGVmaW5lZCBzeXN0ZW1CZWVwKCk7CiB9OwpJbmRleDog
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cJKHJldmlzaW9uIDI2OTI0NikKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMTAtMzAgIFBlciBBcm5lIFZvbGxhbiAg
PHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gU3lzdGVtIHNvdW5kcyBzaG91
bGQgYmUgcGxheWVkIGluIHRoZSBVSSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg0MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBTdWJjbGFzcyBTeXN0ZW1Tb3VuZERlbGVnYXRlLCB3aGlj
aCB3aWxsIGZvcndhcmQgc3lzdGVtIHNvdW5kIHJlcXVlc3RzIHRvIHRoZSBVSSBwcm9jZXNzLgor
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3NQcm94eTo6c3lzdGVtQmVlcCk6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVz
c2FnZXMuaW46CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViS2l0OjpXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlOjpzeXN0ZW1CZWVwKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlN5c3RlbVNvdW5kRGVsZWdhdGUuaDogQWRkZWQu
CisKIDIwMjAtMTEtMDIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFN0b3Agc2VuZGluZyBvcmlnaW5zIGZyb20gV2ViUHJvY2VzcyB0byBVSVByb2Nlc3MgZm9y
IGdldFVzZXJNZWRpYSByZXF1ZXN0cwpJbmRleDogU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNjkyNDYp
CisrKyBTb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00ODgsNiAr
NDg4LDcgQEAgV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUAogV2ViUHJv
Y2Vzcy9XZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuY3BwCiBXZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwCiBXZWJQcm9jZXNzL1dlYlNsZWVwRGlzYWJsZXJDbGllbnQuY3BwCitXZWJQcm9jZXNzL1dl
YlN5c3RlbVNvdW5kRGVsZWdhdGUuY3BwCiAKIC8vIEZJWE1FKDIwNjI2Nik6IEF1dG9tYXRpb25Q
cm90b2NvbE9iamVjdHMuaCdzICJuYW1lc3BhY2UgUHJvdG9jb2wiIGNvbmZsaWN0cyB3aXRoIG9i
amMvcnVudGltZS5oJ3MgInR5cGVkZWYgc3RydWN0IG9iamNfb2JqZWN0IFByb3RvY29sIgogV2Vi
UHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuY3BwIEBuby11bmlm
eQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCShy
ZXZpc2lvbiAyNjkyNDYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NSw2ICs2NSw3IEBACiAjaW5jbHVkZSA8V2ViQ29y
ZS9QcmV3YXJtSW5mb3JtYXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1B1YmxpY1N1ZmZpeC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvU3VkZGVuVGVybWluYXRpb24uaD4KKyNpbmNsdWRlIDxwYWwv
c3lzdGVtL1NvdW5kLmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDx3dGYvQWxnb3Jp
dGhtcy5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpAQCAtMTg4NSw2ICsxODg2
LDExIEBAIGJvb2wgV2ViUHJvY2Vzc1Byb3h5OjpoYXNTbGVlcERpc2FibGVyKCkKICAgICByZXR1
cm4gIW1fc2xlZXBEaXNhYmxlcnMuaXNFbXB0eSgpOwogfQogCit2b2lkIFdlYlByb2Nlc3NQcm94
eTo6c3lzdGVtQmVlcCgpCit7CisgICAgUEFMOjpzeXN0ZW1CZWVwKCk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgTUVTU0FHRV9DSEVDSwpJbmRleDogU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgJKHJldmlzaW9uIDI2OTI0NikKKysrIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC01
MDQsNiArNTA0LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZENyZWF0ZVNsZWVwRGlzYWJsZXIo
V2ViQ29yZTo6U2xlZXBEaXNhYmxlcklkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgcmVhc29uLCBi
b29sIGRpc3BsYXkpOwogICAgIHZvaWQgZGlkRGVzdHJveVNsZWVwRGlzYWJsZXIoV2ViQ29yZTo6
U2xlZXBEaXNhYmxlcklkZW50aWZpZXIpOwogCisgICAgdm9pZCBzeXN0ZW1CZWVwKCk7CisgICAg
CiAgICAgZW51bSBjbGFzcyBJc1dlYWsgeyBObywgWWVzIH07CiAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVD4gY2xhc3MgV2Vha09yU3Ryb25nUHRyIHsKICAgICBwdWJsaWM6CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCShy
ZXZpc2lvbiAyNjkyNDYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkubWVzc2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTg3LDQgKzg3LDYgQEAgbWVzc2FnZXMg
LT4gV2ViUHJvY2Vzc1Byb3h5IExlZ2FjeVJlY2VpdgogCiAgICAgRGlkQ3JlYXRlU2xlZXBEaXNh
YmxlcihXZWJDb3JlOjpTbGVlcERpc2FibGVySWRlbnRpZmllciBpZGVudGlmaWVyLCBTdHJpbmcg
cmVhc29uLCBib29sIGRpc3BsYXkpCiAgICAgRGlkRGVzdHJveVNsZWVwRGlzYWJsZXIoV2ViQ29y
ZTo6U2xlZXBEaXNhYmxlcklkZW50aWZpZXIgaWRlbnRpZmllcikKKworICAgIFN5c3RlbUJlZXAo
KQogfQpJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCShyZXZpc2lvbiAyNjkyNDYpCisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC01Mzg5LDYgKzUzODksOCBAQAog
CQlFMzk2MjhEQzIzOTYwQ0M2MDA2NThFQ0QgLyogV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQ
cm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJEZXZp
Y2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTM5NjI4RTQyMzk3MUYzNDAwNjU4RUNEIC8qIFdlYkRldmljZU9yaWVudGF0aW9uVXBk
YXRlUHJvdmlkZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViRGV2aWNl
T3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTNDQUFBNDMyNDEzMjc4QTAwQ0VEMkUyIC8qIEFjY2Vzc2liaWxpdHlTdXBw
b3J0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlT
dXBwb3J0U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzRUZCMDJDMjU1MDYx
N0MwMDNDMkY5NiAvKiBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFdlYlN5c3RlbVNvdW5kRGVsZWdhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlFM0VGQjAyRDI1NTA2MTdDMDAzQzJGOTYgLyogV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUU0MDQ5MDcwMjFERTY1RjcwMDM3RjBEQiAvKiBTY3JvbGxlclBhaXJN
YWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xsZXJQYWlyTWFjLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0MDQ5MDcxMjFERTY1RjcwMDM3RjBEQiAv
KiBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlTWFjLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVSZW1vdGVNYWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDA0OTA3MjIx
REU2NUY3MDAzN0YwREIgLyogU2Nyb2xsZXJQYWlyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gU2Nyb2xsZXJQYWlyTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtODk3MCw2ICs4OTcyLDggQEAKIAkJCQlCQ0UwRTQyNDE2OEI3QTI4MDA1
N0U2NkEgLyogV2ViUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLywKIAkJCQlDMThGQjUxRDI0MkY5Rjc2
MDA3RTk4NzUgLyogV2ViU2xlZXBEaXNhYmxlckNsaWVudC5jcHAgKi8sCiAJCQkJQzE4RkI1MUUy
NDJGOUY3NzAwN0U5ODc1IC8qIFdlYlNsZWVwRGlzYWJsZXJDbGllbnQuaCAqLywKKwkJCQlFM0VG
QjAyQzI1NTA2MTdDMDAzQzJGOTYgLyogV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5jcHAgKi8sCisJ
CQkJRTNFRkIwMkQyNTUwNjE3QzAwM0MyRjk2IC8qIFdlYlN5c3RlbVNvdW5kRGVsZWdhdGUuaCAq
LywKIAkJCSk7CiAJCQlwYXRoID0gV2ViUHJvY2VzczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViU3lzdGVtU291bmREZWxlZ2F0
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlN5c3RlbVNv
dW5kRGVsZWdhdGUuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM5
IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4g
T1IKKyogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlN5c3RlbVNvdW5kRGVsZWdhdGUuaCIKKworI2luY2x1
ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgor
CituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlOjpzeXN0
ZW1CZWVwKCkKK3sKKyAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9jZXNzQ29u
bmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OlN5c3RlbUJlZXAoKSwg
MCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlN5c3RlbVNvdW5kRGVsZWdhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oCShub25leGlzdGVudCkKKysr
IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzOCBAQAorLyoKKyogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
KiBhcmUgbWV0OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8V2ViQ29yZS9TeXN0ZW1Tb3Vu
ZERlbGVnYXRlLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJTeXN0ZW1Tb3Vu
ZERlbGVnYXRlIDogcHVibGljIFdlYkNvcmU6OlN5c3RlbVNvdW5kRGVsZWdhdGUgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIHZvaWQgc3lzdGVtQmVlcCgpIG92
ZXJyaWRlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlc291cmNlQ2FjaGVQcm94eS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVS
ZXNvdXJjZUNhY2hlUHJveHkuY3BwCShyZXZpc2lvbiAyNjkyNDYpCisrKyBTb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlc291cmNlQ2FjaGVQcm94eS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDggQEAKIAogI2luY2x1ZGUgIlJlbW90ZVJlbmRlcmlu
Z0JhY2tlbmRQcm94eS5oIgogCisjaW5jbHVkZSA8V2ViQ29yZS9JbWFnZUJ1ZmZlci5oPgorCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVj
b3JkZXJQcml2YXRlLmgJKHJldmlzaW9uIDI2OTI0NikKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTY4LDcgKzY4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHN0b3JhZ2VDaGFuZ2VkKFNoYXJlZE1l
bW9yeSopOwogCiAgICAgTWVkaWFSZWNvcmRlcklkZW50aWZpZXIgbV9pZGVudGlmaWVyOwotICAg
IFJlZjxNZWRpYVN0cmVhbVByaXZhdGU+IG1fc3RyZWFtOworICAgIFJlZjxXZWJDb3JlOjpNZWRp
YVN0cmVhbVByaXZhdGU+IG1fc3RyZWFtOwogICAgIFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1fY29u
bmVjdGlvbjsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpDQVJpbmdCdWZmZXI+IG1f
cmluZ0J1ZmZlcjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9j
ZXNzQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1dlYlByb2Nlc3NDb2NvYS5tbQkocmV2aXNpb24gMjY5MjQ2KQorKysgU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNDYs
NiArNDYsNyBAQAogI2ltcG9ydCAiV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXZWJQ
cm9jZXNzUHJveHlNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViU2xlZXBEaXNhYmxlckNsaWVudC5o
IgorI2ltcG9ydCAiV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oIgogI2ltcG9ydCAiV2Vic2l0ZURh
dGFTdG9yZVBhcmFtZXRlcnMuaCIKICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0NvbmZpZ0ZpbGUu
aD4KICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL09wdGlvbnMuaD4KQEAgLTY3LDYgKzY4LDcgQEAK
ICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1NXQ29udGV4dE1hbmFnZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvU3lzdGVtQmF0dGVy
eS5oPgorI2ltcG9ydCA8V2ViQ29yZS9TeXN0ZW1Tb3VuZE1hbmFnZXIuaD4KICNpbXBvcnQgPFdl
YkNvcmUvVVRJVXRpbGl0aWVzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1ZlcnNpb25DaGVja3MuaD4K
ICNpbXBvcnQgPGFsZ29yaXRobT4KQEAgLTM2MCw2ICszNjIsOCBAQCB2b2lkIFdlYlByb2Nlc3M6
OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByCiAjZW5kaWYKIAogICAgIHVwZGF0ZVByb2Nlc3NOYW1l
KCk7CisgICAgCisgICAgU3lzdGVtU291bmRNYW5hZ2VyOjpzaW5nbGV0b24oKS5zZXRTeXN0ZW1T
b3VuZERlbGVnYXRlKG1ha2VVbmlxdWU8V2ViU3lzdGVtU291bmREZWxlZ2F0ZT4oKSk7CiB9CiAK
IHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1TZXRXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycyhX
ZWJQcm9jZXNzRGF0YVN0b3JlUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCkluZGV4OiBUb29scy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjkyNDcp
CisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAy
MC0xMS0wMiAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAg
W21hY09TXSBTeXN0ZW0gc291bmRzIHNob3VsZCBiZSBwbGF5ZWQgaW4gdGhlIFVJIHByb2Nlc3MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODQwNQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvU3lzdGVtQmVlcC5tbTogQWRkZWQuCisgICAg
ICAgIChURVNUKToKKwogMjAyMC0xMS0wMSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+
CiAKICAgICAgICAgUmVtb3ZlIHJlbWFpbmluZyBhbHRlcm5hdGl2ZSBwcmVmZXJlbmNlIHNldHRp
bmcgbWVjaGFuaXNtcyBmcm9tIExheW91dFRlc3RzCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agkocmV2aXNpb24gMjY5MjQ2KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEwODYsNiArMTA4
Niw3IEBACiAJCUUzQTFFNzg1MjFCMjVCOTEwMDhDNjAwNyAvKiBVUkxQYXJzZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNBMUU3ODQyMUIyNUI5
MTAwOEM2MDA3IC8qIFVSTFBhcnNlci5jcHAgKi87IH07CiAJCUUzQzIxQTdDMjFCMjVDQTIwMDNC
MzFBMyAvKiBVUkxFeHRyYXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFM0MyMUE3QjIxQjI1Q0EyMDAzQjMxQTMgLyogVVJMRXh0cmFzLm1tICovOyB9
OwogCQlFM0RFQTgxMTFGMEE1ODkwMDBDQkMyRTggLyogVGhyZWFkR3JvdXAuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNERUE4MTAxRjBBNTg4MDAw
Q0JDMkU4IC8qIFRocmVhZEdyb3VwLmNwcCAqLzsgfTsKKwkJRTNFRkIwMkYyNTUwNjUwMzAwM0My
Rjk2IC8qIFN5c3RlbUJlZXAubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFM0VGQjAyRTI1NTA2NTAzMDAzQzJGOTYgLyogU3lzdGVtQmVlcC5tbSAqLzsg
fTsKIAkJRTNGOEFCOTIyNDFBQjlDRTAwM0UyQTdFIC8qIEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFw
cC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRjhB
QjkxMjQxQUI5Q0UwMDNFMkE3RSAvKiBBY2Nlc3NpYmlsaXR5UmVtb3RlVUlBcHAubW0gKi87IH07
CiAJCUU1MDM2Rjc4MjExQkMyNTQwMEJGREJFMiAvKiBjb2xvci1kcm9wLmh0bWwgaW4gQ29weSBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTUwMzZGNzcyMTFC
QzIyODAwQkZEQkUyIC8qIGNvbG9yLWRyb3AuaHRtbCAqLzsgfTsKIAkJRTU4OTE4M0MyNTJCQzkw
QTAwNDFERUQ1IC8qIERhdGVUaW1lSW5wdXRzQWNjZXNzb3J5Vmlld1Rlc3RzLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTU4OTE4M0IyNTJCQzkwQTAw
NDFERUQ1IC8qIERhdGVUaW1lSW5wdXRzQWNjZXNzb3J5Vmlld1Rlc3RzLm1tICovOyB9OwpAQCAt
MjgwMyw2ICsyODA0LDcgQEAKIAkJRTNBMUU3ODQyMUIyNUI5MTAwOEM2MDA3IC8qIFVSTFBhcnNl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVUkxQYXJzZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0MyMUE3QjIxQjI1Q0EyMDAzQjMxQTMg
LyogVVJMRXh0cmFzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
VVJMRXh0cmFzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0RFQTgxMDFGMEE1
ODgwMDBDQkMyRTggLyogVGhyZWFkR3JvdXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gVGhyZWFkR3JvdXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlFM0VGQjAyRTI1NTA2NTAzMDAzQzJGOTYgLyogU3lzdGVtQmVlcC5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFN5c3RlbUJlZXAubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUz
RjhBQjkxMjQxQUI5Q0UwMDNFMkE3RSAvKiBBY2Nlc3NpYmlsaXR5UmVtb3RlVUlBcHAubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5UmVtb3RlVUlBcHAubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0MDAxOTMwMUFDRTlCNUMwMDFCMEEyQSAvKiBCbG9vbUZp
bHRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCbG9vbUZpbHRl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0OTAyOTY3MTRFMkUzQTQwMDJC
RUREMSAvKiBUeXBpbmdTdHlsZUNyYXNoLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gVHlwaW5nU3R5bGVDcmFzaC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTMxMzIsNiArMzEzNCw3IEBACiAJCQkJRTMyNUM5MDYyM0UzODcwMjAwQkM3RDNCIC8q
IFBpY3R1cmVJblBpY3R1cmVTdXBwb3J0Lm1tICovLAogCQkJCUMxNUNCQjNFMjNGQjE3N0EwMDMw
MENDNyAvKiBQcmVmZXJlbmNlQ2hhbmdlcy5tbSAqLywKIAkJCQlDMTQ5RDU0RjI0MkU5ODQ0MDAz
RUJCMTIgLyogU2xlZXBEaXNhYmxlci5tbSAqLywKKwkJCQlFM0VGQjAyRTI1NTA2NTAzMDAzQzJG
OTYgLyogU3lzdGVtQmVlcC5tbSAqLywKIAkJCQkwRjEzOUU3NTFBNDIzQTUzMDBGNTkwRjUgLyog
V2Vha09iakNQdHIubW0gKi8sCiAJCQkJQzFGRjlFREEyNDQ2NDRGMDAwODM5QUU0IC8qIFdlYkZp
bHRlci5tbSAqLywKIAkJCQlDMTREMzA0NTI0QjRDM0JBMDA0ODAzODcgLyogWFBDRW5kcG9pbnQu
bW0gKi8sCkBAIC01NDM0LDYgKzU0MzcsNyBAQAogCQkJCTUxRUIxMjY3MjRDQjg3NTMwMDBDQjAz
MCAvKiBTdW5MaWdodEFwcGxpY2F0aW9uR2VuZXJpY05FUy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTQ0MzNBMzk2MjA4MDQ0MTQwMDkxRUQ1NyAvKiBTeW5jaHJvbm91c1RpbWVvdXRUZXN0cy5tbSBp
biBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUE4MUE0MTFBMTkwMDQ0N0M0QyAvKiBTeW50aGV0aWNC
YWNraW5nU2NhbGVGYWN0b3JXaW5kb3cubSBpbiBTb3VyY2VzICovLAorCQkJCUUzRUZCMDJGMjU1
MDY1MDMwMDNDMkY5NiAvKiBTeXN0ZW1CZWVwLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUM3MzRC
NTMyMDc4OEM0ODAwRjQzMEVBIC8qIFN5c3RlbUNvbG9ycy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTMxQjc2RTQzMjMyOThFMkMwMDdGRUQyQyAvKiBTeXN0ZW1QcmV2aWV3Lm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkQ3MDA1OTYyMUVEQTBDNjAwMzQ2M0NCIC8qIFRhYk91dE9mV2ViVmlldy5tbSBp
biBTb3VyY2VzICovLApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvU3lz
dGVtQmVlcC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dC9TeXN0ZW1CZWVwLm1tCShub25leGlzdGVudCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L1N5c3RlbUJlZXAubW0JKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRp
ZXMuaCIKKyNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZp
ZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZh
dGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oPgorI2lt
cG9ydCA8d3RmL1RocmVhZGluZy5oPgorCisjaWYgV0tfSEFWRV9DX1NQSQorCitURVNUKFdlYktp
dCwgU3lzdGVtQmVlcCkKK3sKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIFdLUmV0YWluUHRyPFdLQ29u
dGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0soVGVzdFdlYktpdEFQSTo6VXRpbDo6Y3JlYXRlQ29u
dGV4dEZvckluamVjdGVkQnVuZGxlVGVzdCgiSW50ZXJuYWxzSW5qZWN0ZWRCdW5kbGVUZXN0Iikp
OworICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkucHJvY2Vzc1Bvb2wgPSAoV0tQcm9jZXNzUG9vbCAq
KWNvbnRleHQuZ2V0KCk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZp
ZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAzMDAsIDMwMCkgY29uZmln
dXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpIGFkZFRvV2luZG93OllFU10pOworCisgICAgW3dl
YlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAIndpbmRvdy5pbnRlcm5hbHMuc3lz
dGVtQmVlcCgpIl07Cit9CisKKyNlbmRpZiAvLyBXS19IQVZFX0NfU1BJCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412923</attachid>
            <date>2020-11-02 08:44:31 -0800</date>
            <delta_ts>2020-11-02 09:42:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218405-20201102084430.patch</filename>
            <type>text/plain</type>
            <size>38582</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTI0NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDIwLTEwLTMwICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFN5c3RlbSBz
b3VuZHMgc2hvdWxkIGJlIHBsYXllZCBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NDA1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gcHJlcGFyYXRpb24gb2YgYmxvY2tp
bmcgdGhlIHN5c3RlbSBzb3VuZCBzZXJ2ZXIgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2Vzcywgc3lz
dGVtIHNvdW5kcyBzaG91bGQgYmUgcGxheWVkIGluIHRoZSBVSSBwcm9jZXNzLgorICAgICAgICBU
aGlzIHBhdGNoIGNyZWF0ZXMgYSBzeXN0ZW0gc291bmQgbWFuYWdlciwgd2hpY2ggZGVsZWdhdGVz
IHRoZSBzb3VuZCByZXF1ZXN0IGlmIGEgZGVsZWdhdGUgaXMgcHJlc2VudCwgb3RoZXJ3aXNlIHRo
ZSBmdW5jdGlvbgorICAgICAgICBQQUw6OnN5c3RlbUJlZXAgd2lsbCBiZSBjYWxsZWQuCisKKyAg
ICAgICAgQVBJIHRlc3Q6IFdlYktpdC5TeXN0ZW1CZWVwCisKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpjdXQpOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9y
Ojpjb3B5KToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cGVyZm9ybURlbGV0ZSk6CisgICAg
ICAgICogZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmV4ZWN1
dGVTZWxlY3RUb01hcmspOgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZVN3YXBXaXRoTWFyayk6
CisgICAgICAgICogZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbToKKyAgICAgICAgKFdlYkNv
cmU6OkVkaXRvcjo6dGFrZUZpbmRTdHJpbmdGcm9tU2VsZWN0aW9uKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvckZyb250ZW5kSG9zdDo6YmVlcCk6CisgICAgICAgICogcGxhdGZvcm0vU3lzdGVtU291bmRE
ZWxlZ2F0ZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbVNvdW5kRGVsZWdhdGU6
On5TeXN0ZW1Tb3VuZERlbGVnYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbVNvdW5kRGVs
ZWdhdGU6OnN5c3RlbUJlZXApOgorICAgICAgICAqIHBsYXRmb3JtL1N5c3RlbVNvdW5kTWFuYWdl
ci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtU291bmRNYW5hZ2VyOjpzaW5n
bGV0b24pOgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtU291bmRNYW5hZ2VyOjpzZXRTeXN0ZW1T
b3VuZERlbGVnYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbVNvdW5kTWFuYWdlcjo6c3lz
dGVtQmVlcCk6CisgICAgICAgICogcGxhdGZvcm0vU3lzdGVtU291bmRNYW5hZ2VyLmg6IEFkZGVk
LgorCiAyMDIwLTExLTAyICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4K
IAogICAgICAgICBbR0xJQl0gUkVHUkVTU0lPTihyMjY5MTQ0KSBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbEludG9WaWV3LXNjcm9sbE1hcmdpbi5o
dG1sIGlzIGZhaWxpbmcKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNjkyNDYpCisrKyBT
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTgxNiw2ICsxODE2
LDcgQEAgcGxhdGZvcm0vU2hhcmVkQnVmZmVyQ2h1bmtSZWFkZXIuY3BwCiBwbGF0Zm9ybS9TaGFy
ZWRTdHJpbmdIYXNoLmNwcAogcGxhdGZvcm0vU2xlZXBEaXNhYmxlci5jcHAKIHBsYXRmb3JtL1Ns
ZWVwRGlzYWJsZXJDbGllbnQuY3BwCitwbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuY3BwCiBw
bGF0Zm9ybS9TdGF0aWNQYXN0ZWJvYXJkLmNwcAogcGxhdGZvcm0vVGhlbWUuY3BwCiBwbGF0Zm9y
bS9UaGVtZVR5cGVzLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXJQcm92aWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJvdmlkZXIuaAkocmV2aXNpb24g
MjY5MjQ2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVj
b3JkZXJQcm92aWRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw4IEBACiAKICNwcmFn
bWEgb25jZQogCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgTWVkaWFSZWNvcmRlclByaXZhdGU7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAy
NjkyNDYpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHdvcmtpbmcgY29weSkKQEAgLTQ5OTQsNiArNDk5NCw4IEBACiAJCUUzQjJGMEVFMUQ3RjRD
QTkwMEIwQzlEMSAvKiBMb2FkYWJsZVNjcmlwdENsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNCMkYwRTgxRDdGMzVFQzAwQjBDOUQxIC8qIExv
YWRhYmxlU2NyaXB0Q2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJRTNCMkYwRjAxRDdGNENCNTAwQjBDOUQxIC8qIExvYWRhYmxlQ2xhc3Np
Y1NjcmlwdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTNCMkYwRTQxRDdGMzVFQzAwQjBDOUQxIC8qIExvYWRhYmxlQ2xhc3NpY1NjcmlwdC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzQkJDMjQ3MjM4
MzU1MjYwMDZFQzM5RiAvKiBDU1NWYWx1ZUtleS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTNCQkMyNDUyMzgzNTUxQTAwNkVDMzlGIC8qIENTU1ZhbHVl
S2V5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
RTNDMDQxMkYyNTRDQTI5QjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDMDQxMkQyNTRDQTI5QjAw
MjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzQzA0MTM4MjU0Q0IzMEQwMDIxRDBFNiAvKiBTeXN0
ZW1Tb3VuZERlbGVnYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFM0MwNDEzMTI1NENBNjY2MDAyMUQwRTYgLyogU3lzdGVtU291bmREZWxlZ2F0ZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzQzk5
QTA5MURDM0Q0MUMwMDc5NEFEMyAvKiBET01KSVRDaGVja0RPTS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDOTlBMDgxREMzRDQxNzAwNzk0QUQzIC8q
IERPTUpJVENoZWNrRE9NLmggKi87IH07CiAJCUUzQzlBRUNCMjExMzE0OTkwMDQxOUI5MiAvKiBK
U01pY3JvdGFza0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFM0M5QUVDOTIxMTMxNDc0MDA0MTlCOTIgLyogSlNNaWNyb3Rhc2tDYWxsYmFj
ay5oICovOyB9OwogCQlFM0U0RTJBODFFM0IxNzEwMDAyM0JCOEEgLyogU2NyaXB0RWxlbWVudENh
Y2hlZFNjcmlwdEZldGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEUzRTRFMkE2MUUzQjE2RkMwMDIzQkI4QSAvKiBTY3JpcHRFbGVtZW50Q2FjaGVk
U2NyaXB0RmV0Y2hlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CkBAIC0xNTk4OCw2ICsxNTk5MCw5IEBACiAJCUUzQkYxOUU1MjJBRjJGRjQwMDlDOTky
NiAvKiBCZWZvcmVMb2FkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQmVmb3JlTG9hZEV2
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNCRjE5RTYyMkFGMzAyQTAw
OUM5OTI2IC8qIEhhc2hDaGFuZ2VFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIYXNoQ2hh
bmdlRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0JGMTlFNzIyQUYz
MDlGMDA5Qzk5MjYgLyogU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRTNDMDQxMkQyNTRDQTI5QjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5k
TWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTeXN0ZW1Tb3VuZE1h
bmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTNDMDQxMzEyNTRDQTY2NjAw
MjFEMEU2IC8qIFN5c3RlbVNvdW5kRGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3lzdGVtU291
bmREZWxlZ2F0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFM0MwNDEzMjI1NENB
NzExMDAyMUQwRTYgLyogU3lzdGVtU291bmRNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFN5c3RlbVNvdW5kTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUz
Qzk5QTA4MURDM0Q0MTcwMDc5NEFEMyAvKiBET01KSVRDaGVja0RPTS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBET01KSVRDaGVja0RPTS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFM0M5QUVDOTIxMTMxNDc0MDA0MTlCOTIgLyogSlNNaWNyb3Rhc2tDYWxsYmFj
ay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01pY3JvdGFza0NhbGxiYWNr
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzRDA0OTkzMURBREMwNDUwMDcxOEYz
QyAvKiBOb2RlQ29uc3RhbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5v
ZGVDb25zdGFudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI3MzE3LDYgKzI3
MzIyLDkgQEAKIAkJCQlGNDMzRTkwMjFEQkJEQkEyMDBFRjBEMTQgLyogU3RhdGljUGFzdGVib2Fy
ZC5oICovLAogCQkJCTkzQjJEODE1MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlv
bi5oICovLAogCQkJCTk3NjI3Qjk3MTRGQjU0MjQwMDJDRENBMSAvKiBTdXBwbGVtZW50YWJsZS5o
ICovLAorCQkJCUUzQzA0MTMxMjU0Q0E2NjYwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZERlbGVnYXRl
LmggKi8sCisJCQkJRTNDMDQxMzIyNTRDQTcxMTAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdl
ci5jcHAgKi8sCisJCQkJRTNDMDQxMkQyNTRDQTI5QjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFu
YWdlci5oICovLAogCQkJCTdDQzU2NEI2MThCQUJFQTYwMDFCOTY1MiAvKiBUZWxlcGhvbmVOdW1i
ZXJEZXRlY3Rvci5oICovLAogCQkJCUJDRTY1RDMxMEVBRDEyMTEwMDdFNDUzMyAvKiBUaGVtZS5j
cHAgKi8sCiAJCQkJQkNFNjU4RkUwRUE5MjQ4QTAwN0U0NTMzIC8qIFRoZW1lLmggKi8sCkBAIC0z
NDU0MCw2ICszNDU0OCw4IEBACiAJCQkJQzE2OTJERDUyM0QyM0UwODAwNkU4OEY3IC8qIFN5c3Rl
bUJhdHRlcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0RThCNEVDMjE2Qjc5RTUwMEI4ODM0RCAv
KiBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYwM0Mw
NzQxODg0Njk1RTAwQTVGOENBIC8qIFN5c3RlbU1lbW9yeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
RTNDMDQxMzgyNTRDQjMwRDAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kRGVsZWdhdGUuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUUzQzA0MTJGMjU0Q0EyOUIwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFn
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTVENTk3NUIzMTk2MzVGMTEwMEQwMDg3OCAvKiBTeXN0
ZW1WZXJzaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOENGRjA1MTBBMTU0RjA5MDAwQTQyMzQg
LyogVGFibGVMYXlvdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTZGMTcyNjRGMjQ3MEM2MEIwMDUx
OEM5NiAvKiBUYWJsZVdyYXBwZXJCbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmggaW4gSGVhZGVycyAq
LywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAJKHJldmlzaW9uIDI2OTI0NikKKysr
IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAz
LDYgKzEwMyw3IEBACiAjaW5jbHVkZSAiU3BlbGxpbmdDb3JyZWN0aW9uQ29tbWFuZC5oIgogI2lu
Y2x1ZGUgIlN0YXRpY1Bhc3RlYm9hcmQuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMuaCIK
KyNpbmNsdWRlICJTeXN0ZW1Tb3VuZE1hbmFnZXIuaCIKICNpbmNsdWRlICJUZWxlcGhvbmVOdW1i
ZXJEZXRlY3Rvci5oIgogI2luY2x1ZGUgIlRleHQuaCIKICNpbmNsdWRlICJUZXh0Q2hlY2tlckNs
aWVudC5oIgpAQCAtMTE1LDcgKzExNiw2IEBACiAjaW5jbHVkZSAiVmlzaWJsZVVuaXRzLmgiCiAj
aW5jbHVkZSAibWFya3VwLmgiCiAjaW5jbHVkZSA8cGFsL0ZpbGVTaXplRm9ybWF0dGVyLmg+Ci0j
aW5jbHVkZSA8cGFsL3N5c3RlbS9Tb3VuZC5oPgogI2luY2x1ZGUgPHBhbC90ZXh0L0tpbGxSaW5n
Lmg+CiAjaW5jbHVkZSA8d3RmL1NldEZvclNjb3BlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUv
Q2hhcmFjdGVyTmFtZXMuaD4KQEAgLTEzNjYsNyArMTM2Niw3IEBAIHZvaWQgRWRpdG9yOjpjdXQo
RnJvbU1lbnVPcktleUJpbmRpbmcgZnIKICAgICBpZiAodHJ5REhUTUxDdXQoKSkKICAgICAgICAg
cmV0dXJuOyAvLyBESFRNTCBkaWQgdGhlIHdob2xlIG9wZXJhdGlvbgogICAgIGlmICghY2FuQ3V0
KCkpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1CZWVwKCk7CisgICAgICAgIFN5c3RlbVNvdW5kTWFu
YWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
CkBAIC0xMzc5LDcgKzEzNzksNyBAQCB2b2lkIEVkaXRvcjo6Y29weShGcm9tTWVudU9yS2V5Qmlu
ZGluZyBmCiAgICAgaWYgKHRyeURIVE1MQ29weSgpKQogICAgICAgICByZXR1cm47IC8vIERIVE1M
IGRpZCB0aGUgd2hvbGUgb3BlcmF0aW9uCiAgICAgaWYgKCFjYW5Db3B5KCkpIHsKLSAgICAgICAg
UEFMOjpzeXN0ZW1CZWVwKCk7CisgICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9u
KCkuc3lzdGVtQmVlcCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xNTE2LDcgKzE1
MTYsNyBAQCB2b2lkIEVkaXRvcjo6cXVvdGVGcmFnbWVudEZvclBhc3RpbmcoRG9jCiB2b2lkIEVk
aXRvcjo6cGVyZm9ybURlbGV0ZSgpCiB7CiAgICAgaWYgKCFjYW5EZWxldGUoKSkgewotICAgICAg
ICBQQUw6OnN5c3RlbUJlZXAoKTsKKyAgICAgICAgU3lzdGVtU291bmRNYW5hZ2VyOjpzaW5nbGV0
b24oKS5zeXN0ZW1CZWVwKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAkocmV2aXNpb24gMjY5MjQ2KQorKysg
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTYsMTIgKzU2LDEyIEBACiAjaW5jbHVkZSAiU2Nyb2xsYmFyLmgiCiAjaW5jbHVkZSAiU2V0
dGluZ3MuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMuaCIKKyNpbmNsdWRlICJTeXN0ZW1T
b3VuZE1hbmFnZXIuaCIKICNpbmNsdWRlICJUeXBpbmdDb21tYW5kLmgiCiAjaW5jbHVkZSAiVW5s
aW5rQ29tbWFuZC5oIgogI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9yLmgiCiAjaW5jbHVk
ZSAiVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaCIKICNpbmNsdWRlICJtYXJrdXAuaCIKLSNp
bmNsdWRlIDxwYWwvc3lzdGVtL1NvdW5kLmg+CiAjaW5jbHVkZSA8cGFsL3RleHQvS2lsbFJpbmcu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CiAKQEAgLTEwNDMsNyArMTA0Myw3
IEBAIHN0YXRpYyBib29sIGV4ZWN1dGVTZWxlY3RUb01hcmsoRnJhbWUmIGYKICAgICBhdXRvIG1h
cmtSYW5nZSA9IGVkaXRvci5tYXJrKCkudG9Ob3JtYWxpemVkUmFuZ2UoKTsKICAgICBhdXRvIHNl
bGVjdGlvblJhbmdlID0gc2VsZWN0aW9uLnNlbGVjdGlvbigpLnRvTm9ybWFsaXplZFJhbmdlKCk7
CiAgICAgaWYgKCFtYXJrUmFuZ2UgfHwgIXNlbGVjdGlvblJhbmdlKSB7Ci0gICAgICAgIFBBTDo6
c3lzdGVtQmVlcCgpOworICAgICAgICBTeXN0ZW1Tb3VuZE1hbmFnZXI6OnNpbmdsZXRvbigpLnN5
c3RlbUJlZXAoKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBzZWxlY3Rpb24u
c2V0U2VsZWN0ZWRSYW5nZSh1bmlvblJhbmdlKCptYXJrUmFuZ2UsICpzZWxlY3Rpb25SYW5nZSks
IEFmZmluaXR5OjpEb3duc3RyZWFtLCBGcmFtZVNlbGVjdGlvbjo6U2hvdWxkQ2xvc2VUeXBpbmc6
Olllcyk7CkBAIC0xMTAzLDcgKzExMDMsNyBAQCBzdGF0aWMgYm9vbCBleGVjdXRlU3dhcFdpdGhN
YXJrKEZyYW1lJiBmCiAgICAgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgbWFyayA9IGZyYW1lLmVk
aXRvcigpLm1hcmsoKTsKICAgICBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24gPSBm
cmFtZS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKTsKICAgICBpZiAobWFyay5pc05vbmUoKSB8fCBz
ZWxlY3Rpb24uaXNOb25lKCkpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1CZWVwKCk7CisgICAgICAg
IFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIGZyYW1lLnNlbGVjdGlvbigpLnNldFNlbGVjdGlvbiht
YXJrKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRWRpdG9yQ29jb2EubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5t
bQkocmV2aXNpb24gMjY5MjQ2KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0
b3JDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNTMsMTIgKzUzLDEyIEBACiAjaW1wb3J0ICJS
ZW5kZXJFbGVtZW50LmgiCiAjaW1wb3J0ICJSZW5kZXJTdHlsZS5oIgogI2ltcG9ydCAiU2V0dGlu
Z3MuaCIKKyNpbXBvcnQgIlN5c3RlbVNvdW5kTWFuYWdlci5oIgogI2ltcG9ydCAiVGV4dC5oIgog
I2ltcG9ydCAiVVRJVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJXZWJDb250ZW50UmVhZGVyLmgiCiAj
aW1wb3J0ICJtYXJrdXAuaCIKICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvTlNBdHRyaWJ1dGVkU3Ry
aW5nU1BJLmg+Ci0jaW1wb3J0IDxwYWwvc3lzdGVtL1NvdW5kLmg+CiAjaW1wb3J0IDx3dGYvQmxv
Y2tPYmpDRXhjZXB0aW9ucy5oPgogI2ltcG9ydCA8d3RmL2NvY29hL05TVVJMRXh0cmFzLmg+CiAK
QEAgLTIzOSw3ICsyMzksNyBAQCBSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gRWRpdG9yOjp3ZWJD
b250CiB2b2lkIEVkaXRvcjo6dGFrZUZpbmRTdHJpbmdGcm9tU2VsZWN0aW9uKCkKIHsKICAgICBp
ZiAoIWNhbkNvcHlFeGNsdWRpbmdTdGFuZGFsb25lSW1hZ2VzKCkpIHsKLSAgICAgICAgUEFMOjpz
eXN0ZW1CZWVwKCk7CisgICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lz
dGVtQmVlcCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAkocmV2aXNpb24g
MjY5MjQ2KQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9z
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDcgQEAKICNpbmNsdWRlICJQYXN0ZWJv
YXJkLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgor
I2luY2x1ZGUgIlN5c3RlbVNvdW5kTWFuYWdlci5oIgogI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5k
aWNhdG9yLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0RnVuY3Rpb25DYWxsLmg+
CiAjaW5jbHVkZSA8cGFsL3N5c3RlbS9Tb3VuZC5oPgpAQCAtNTU1LDcgKzU1Niw3IEBAIHZvaWQg
SW5zcGVjdG9yRnJvbnRlbmRIb3N0Ojp1bmJ1ZmZlcmVkTG8KIAogdm9pZCBJbnNwZWN0b3JGcm9u
dGVuZEhvc3Q6OmJlZXAoKQogewotICAgIFBBTDo6c3lzdGVtQmVlcCgpOworICAgIFN5c3RlbVNv
dW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogfQogCiB2b2lkIEluc3BlY3Rv
ckZyb250ZW5kSG9zdDo6aW5zcGVjdEluc3BlY3RvcigpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TeXN0ZW1Tb3VuZERlbGVnYXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU3lzdGVtU291bmREZWxlZ2F0ZS5oCShub25leGlzdGVudCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNvdW5kRGVsZWdhdGUuaAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDM3IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6
CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09N
UFVURVIsIElOQy4gT1IKKyogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8K
KworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU3lzdGVtU291
bmREZWxlZ2F0ZSB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+U3lzdGVtU291bmREZWxlZ2F0ZSgp
IHsgfQorCisgICAgdmlydHVhbCB2b2lkIHN5c3RlbUJlZXAoKSB7IH0KK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNvdW5k
TWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3lzdGVt
U291bmRNYW5hZ2VyLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TeXN0ZW1Tb3VuZE1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTUgQEAK
Ky8qCisqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgor
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiU3lzdGVtU291bmRNYW5hZ2VyLmgiCisKKyNpbmNsdWRlICJTeXN0
ZW1Tb3VuZERlbGVnYXRlLmgiCisKKyNpbmNsdWRlIDxwYWwvc3lzdGVtL1NvdW5kLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworU3lzdGVtU291bmRNYW5hZ2VyJiBTeXN0ZW1Tb3VuZE1hbmFn
ZXI6OnNpbmdsZXRvbigpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFN5c3RlbVNvdW5k
TWFuYWdlcj4gc3lzdGVtU291bmRNYW5hZ2VyOworICAgIHJldHVybiBzeXN0ZW1Tb3VuZE1hbmFn
ZXI7Cit9CisgICAgCit2b2lkIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2V0U3lzdGVtU291bmREZWxl
Z2F0ZShzdGQ6OnVuaXF1ZV9wdHI8U3lzdGVtU291bmREZWxlZ2F0ZT4mJiBkZWxlZ2F0ZSkKK3sK
KyAgICBtX2RlbGVnYXRlID0gV1RGTW92ZShkZWxlZ2F0ZSk7Cit9CisgICAgCit2b2lkIFN5c3Rl
bVNvdW5kTWFuYWdlcjo6c3lzdGVtQmVlcCgpCit7CisgICAgaWYgKG1fZGVsZWdhdGUpIHsKKyAg
ICAgICAgbV9kZWxlZ2F0ZS0+c3lzdGVtQmVlcCgpOworICAgICAgICByZXR1cm47CisgICAgfQor
ICAgIFBBTDo6c3lzdGVtQmVlcCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuaAkobm9uZXhp
c3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ5IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMjAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisqIGFyZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0
cm95ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTeXN0ZW1Tb3VuZERlbGVn
YXRlOworCitjbGFzcyBTeXN0ZW1Tb3VuZE1hbmFnZXIgeworICAgIGZyaWVuZCBOZXZlckRlc3Ry
b3llZDxTeXN0ZW1Tb3VuZE1hbmFnZXI+OworcHVibGljOgorICAgIFdFQkNPUkVfRVhQT1JUIHN0
YXRpYyBTeXN0ZW1Tb3VuZE1hbmFnZXImIHNpbmdsZXRvbigpOworICAgIAorICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgc2V0U3lzdGVtU291bmREZWxlZ2F0ZShzdGQ6OnVuaXF1ZV9wdHI8U3lzdGVt
U291bmREZWxlZ2F0ZT4mJik7CisgICAgCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzeXN0ZW1C
ZWVwKCk7CisgICAgCitwcml2YXRlOgorICAgIFN5c3RlbVNvdW5kTWFuYWdlcigpID0gZGVmYXVs
dDsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxTeXN0ZW1Tb3VuZERlbGVnYXRlPiBtX2RlbGVnYXRl
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcAkocmV2aXNpb24gMjY5MjQ2KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTIsNiArMTkyLDcgQEAKICNpbmNs
dWRlICJTdHlsZVJ1bGUuaCIKICNpbmNsdWRlICJTdHlsZVNjb3BlLmgiCiAjaW5jbHVkZSAiU3R5
bGVTaGVldENvbnRlbnRzLmgiCisjaW5jbHVkZSAiU3lzdGVtU291bmRNYW5hZ2VyLmgiCiAjaW5j
bHVkZSAiVGV4dEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiVGV4dFBsYWNlaG9sZGVyRWxlbWVudC5o
IgogI2luY2x1ZGUgIlRyZWVTY29wZS5oIgpAQCAtNjAwMSw1ICs2MDAyLDkgQEAgRXhjZXB0aW9u
T3I8dm9pZD4gSW50ZXJuYWxzOjpzZW5kTWVkaWFTZQogfQogI2VuZGlmCiAKK3ZvaWQgSW50ZXJu
YWxzOjpzeXN0ZW1CZWVwKCkKK3sKKyAgICBTeXN0ZW1Tb3VuZE1hbmFnZXI6OnNpbmdsZXRvbigp
LnN5c3RlbUJlZXAoKTsKK30KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oCShyZXZpc2lvbiAyNjkyNDYpCisrKyBTb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYzLDYgKzEwNjMsOCBA
QCBwdWJsaWM6CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2VuZE1lZGlhU2Vzc2lvbkFjdGlvbihN
ZWRpYVNlc3Npb24mLCBjb25zdCBNZWRpYVNlc3Npb25BY3Rpb25EZXRhaWxzJik7CiAjZW5kaWYK
IAorICAgIHZvaWQgc3lzdGVtQmVlcCgpOworCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEludGVy
bmFscyhEb2N1bWVudCYpOwogICAgIERvY3VtZW50KiBjb250ZXh0RG9jdW1lbnQoKSBjb25zdDsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHJldmlzaW9uIDI2OTI0NikK
KysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtOTU4LDQgKzk1OCw2IEBAIGVudW0gQ29udGVudFNpemVDYXRlZ29yeSB7CiAKICAgICBbQ29u
ZGl0aW9uYWw9TUVESUFfU0VTU0lPTiwgTWF5VGhyb3dFeGNlcHRpb25dIGRvdWJsZSBjdXJyZW50
TWVkaWFTZXNzaW9uUG9zaXRpb24oTWVkaWFTZXNzaW9uIHNlc3Npb24pOwogICAgIFtDb25kaXRp
b25hbD1NRURJQV9TRVNTSU9OLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNlbmRNZWRp
YVNlc3Npb25BY3Rpb24oTWVkaWFTZXNzaW9uIHNlc3Npb24sIE1lZGlhU2Vzc2lvbkFjdGlvbkRl
dGFpbHMgYWN0aW9uRGV0YWlscyk7CisKKyAgICB1bmRlZmluZWQgc3lzdGVtQmVlcCgpOwogfTsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjkyNDYpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDIwLTEwLTMwICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFN5c3RlbSBzb3Vu
ZHMgc2hvdWxkIGJlIHBsYXllZCBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NDA1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3ViY2xhc3MgU3lzdGVtU291bmREZWxlZ2F0
ZSwgd2hpY2ggd2lsbCBmb3J3YXJkIHN5c3RlbSBzb3VuZCByZXF1ZXN0cyB0byB0aGUgVUkgcHJv
Y2Vzcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OnN5c3RlbUJlZXApOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlN5c3RlbVNvdW5kRGVsZWdhdGUuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViU3lzdGVtU291bmREZWxlZ2F0ZTo6c3lzdGVtQmVl
cCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmg6
IEFkZGVkLgorCiAyMDIwLTExLTAyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBTdG9wIHNlbmRpbmcgb3JpZ2lucyBmcm9tIFdlYlByb2Nlc3MgdG8gVUlQcm9j
ZXNzIGZvciBnZXRVc2VyTWVkaWEgcmVxdWVzdHMKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU291cmNl
cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAkocmV2aXNpb24g
MjY5MjQ2KQorKysgU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
NDg4LDYgKzQ4OCw3IEBAIFdlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3NDcmVhdGlvblAK
IFdlYlByb2Nlc3MvV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmNwcAogV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcAogV2ViUHJvY2Vzcy9XZWJTbGVlcERpc2FibGVyQ2xpZW50LmNwcAorV2ViUHJv
Y2Vzcy9XZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcAogCiAvLyBGSVhNRSgyMDYyNjYpOiBBdXRv
bWF0aW9uUHJvdG9jb2xPYmplY3RzLmgncyAibmFtZXNwYWNlIFByb3RvY29sIiBjb25mbGljdHMg
d2l0aCBvYmpjL3J1bnRpbWUuaCdzICJ0eXBlZGVmIHN0cnVjdCBvYmpjX29iamVjdCBQcm90b2Nv
bCIKIFdlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmNwcCBA
bm8tdW5pZnkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
LmNwcAkocmV2aXNpb24gMjY5MjQ2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjUsNiArNjUsNyBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvUHJld2FybUluZm9ybWF0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QdWJsaWNT
dWZmaXguaD4KICNpbmNsdWRlIDxXZWJDb3JlL1N1ZGRlblRlcm1pbmF0aW9uLmg+CisjaW5jbHVk
ZSA8cGFsL3N5c3RlbS9Tb3VuZC5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8d3Rm
L0FsZ29yaXRobXMuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KQEAgLTE4ODUs
NiArMTg4NiwxMSBAQCBib29sIFdlYlByb2Nlc3NQcm94eTo6aGFzU2xlZXBEaXNhYmxlcigpCiAg
ICAgcmV0dXJuICFtX3NsZWVwRGlzYWJsZXJzLmlzRW1wdHkoKTsKIH0KIAordm9pZCBXZWJQcm9j
ZXNzUHJveHk6OnN5c3RlbUJlZXAoKQoreworICAgIFBBTDo6c3lzdGVtQmVlcCgpOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIE1FU1NBR0VfQ0hFQ0sKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCShyZXZpc2lvbiAyNjkyNDYpCisr
KyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkod29ya2luZyBjb3B5
KQpAQCAtNTA0LDYgKzUwNCw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRDcmVhdGVTbGVlcERp
c2FibGVyKFdlYkNvcmU6OlNsZWVwRGlzYWJsZXJJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHJl
YXNvbiwgYm9vbCBkaXNwbGF5KTsKICAgICB2b2lkIGRpZERlc3Ryb3lTbGVlcERpc2FibGVyKFdl
YkNvcmU6OlNsZWVwRGlzYWJsZXJJZGVudGlmaWVyKTsKIAorICAgIHZvaWQgc3lzdGVtQmVlcCgp
OworICAgIAogICAgIGVudW0gY2xhc3MgSXNXZWFrIHsgTm8sIFllcyB9OwogICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtPclN0cm9uZ1B0ciB7CiAgICAgcHVibGljOgpJbmRleDog
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdl
cy5pbgkocmV2aXNpb24gMjY5MjQ2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC04Nyw0ICs4Nyw2IEBAIG1l
c3NhZ2VzIC0+IFdlYlByb2Nlc3NQcm94eSBMZWdhY3lSZWNlaXYKIAogICAgIERpZENyZWF0ZVNs
ZWVwRGlzYWJsZXIoV2ViQ29yZTo6U2xlZXBEaXNhYmxlcklkZW50aWZpZXIgaWRlbnRpZmllciwg
U3RyaW5nIHJlYXNvbiwgYm9vbCBkaXNwbGF5KQogICAgIERpZERlc3Ryb3lTbGVlcERpc2FibGVy
KFdlYkNvcmU6OlNsZWVwRGlzYWJsZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpCisKKyAgICBTeXN0
ZW1CZWVwKCkKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkocmV2aXNpb24gMjY5MjQ2KQorKysgU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNTM4OSw2ICs1Mzg5
LDggQEAKIAkJRTM5NjI4REMyMzk2MENDNjAwNjU4RUNEIC8qIFdlYkRldmljZU9yaWVudGF0aW9u
VXBkYXRlUHJvdmlkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUUzOTYyOEU0MjM5NzFGMzQwMDY1OEVDRCAvKiBXZWJEZXZpY2VPcmllbnRh
dGlvblVwZGF0ZVByb3ZpZGVyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdl
YkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUUzQ0FBQTQzMjQxMzI3OEEwMENFRDJFMiAvKiBBY2Nlc3NpYmls
aXR5U3VwcG9ydFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3Np
YmlsaXR5U3VwcG9ydFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFM0VGQjAy
QzI1NTA2MTdDMDAzQzJGOTYgLyogV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRTNFRkIwMkQyNTUwNjE3QzAwM0MyRjk2IC8qIFdlYlN5c3RlbVNvdW5kRGVs
ZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlFNDA0OTA3MDIxREU2NUY3MDAzN0YwREIgLyogU2Nyb2xs
ZXJQYWlyTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9sbGVyUGFp
ck1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDA0OTA3MTIxREU2NUY3MDAz
N0YwREIgLyogU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZU1hYy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxpbmdUcmVlRnJhbWVTY3Jv
bGxpbmdOb2RlUmVtb3RlTWFjLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQw
NDkwNzIyMURFNjVGNzAwMzdGMERCIC8qIFNjcm9sbGVyUGFpck1hYy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNjcm9sbGVyUGFpck1hYy5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTg5NzAsNiArODk3Miw4IEBACiAJCQkJQkNFMEU0MjQxNjhC
N0EyODAwNTdFNjZBIC8qIFdlYlByb2Nlc3NTdXBwbGVtZW50LmggKi8sCiAJCQkJQzE4RkI1MUQy
NDJGOUY3NjAwN0U5ODc1IC8qIFdlYlNsZWVwRGlzYWJsZXJDbGllbnQuY3BwICovLAogCQkJCUMx
OEZCNTFFMjQyRjlGNzcwMDdFOTg3NSAvKiBXZWJTbGVlcERpc2FibGVyQ2xpZW50LmggKi8sCisJ
CQkJRTNFRkIwMkMyNTUwNjE3QzAwM0MyRjk2IC8qIFdlYlN5c3RlbVNvdW5kRGVsZWdhdGUuY3Bw
ICovLAorCQkJCUUzRUZCMDJEMjU1MDYxN0MwMDNDMkY5NiAvKiBXZWJTeXN0ZW1Tb3VuZERlbGVn
YXRlLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IFdlYlByb2Nlc3M7CiAJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlN5c3RlbVNvdW5k
RGVsZWdhdGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJT
eXN0ZW1Tb3VuZERlbGVnYXRlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwzOSBAQAorLyoKKyogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0OgorKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVS
LCBJTkMuIE9SCisqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmgiCisK
KyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5TWVzc2Fn
ZXMuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgV2ViU3lzdGVtU291bmREZWxlZ2F0
ZTo6c3lzdGVtQmVlcCgpCit7CisgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJv
Y2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpTeXN0ZW1C
ZWVwKCksIDApOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlN5c3RlbVNvdW5kRGVsZWdhdGUuaAkobm9uZXhpc3Rl
bnQpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzggQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPFdlYkNvcmUvU3lz
dGVtU291bmREZWxlZ2F0ZS5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViU3lz
dGVtU291bmREZWxlZ2F0ZSA6IHB1YmxpYyBXZWJDb3JlOjpTeXN0ZW1Tb3VuZERlbGVnYXRlIHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICB2b2lkIHN5c3RlbUJl
ZXAoKSBvdmVycmlkZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZXNvdXJjZUNhY2hlUHJveHku
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3Mv
UmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5LmNwcAkocmV2aXNpb24gMjY5MjQ2KQorKysgU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZXNvdXJjZUNhY2hlUHJveHku
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw4IEBACiAKICNpbmNsdWRlICJSZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kUHJveHkuaCIKIAorI2luY2x1ZGUgPFdlYkNvcmUvSW1hZ2VCdWZmZXIu
aD4KKwogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApJbmRl
eDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZh
dGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9N
ZWRpYVJlY29yZGVyUHJpdmF0ZS5oCShyZXZpc2lvbiAyNjkyNDYpCisrKyBTb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC02OCw3ICs2OCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdG9yYWdlQ2hhbmdlZChT
aGFyZWRNZW1vcnkqKTsKIAogICAgIE1lZGlhUmVjb3JkZXJJZGVudGlmaWVyIG1faWRlbnRpZmll
cjsKLSAgICBSZWY8TWVkaWFTdHJlYW1Qcml2YXRlPiBtX3N0cmVhbTsKKyAgICBSZWY8V2ViQ29y
ZTo6TWVkaWFTdHJlYW1Qcml2YXRlPiBtX3N0cmVhbTsKICAgICBSZWY8SVBDOjpDb25uZWN0aW9u
PiBtX2Nvbm5lY3Rpb247CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6Q0FSaW5nQnVm
ZmVyPiBtX3JpbmdCdWZmZXI7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2Ev
V2ViUHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI2OTI0NikKKysrIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkK
QEAgLTQ2LDYgKzQ2LDcgQEAKICNpbXBvcnQgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2ltcG9y
dCAiV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIKICNpbXBvcnQgIldlYlNsZWVwRGlzYWJsZXJD
bGllbnQuaCIKKyNpbXBvcnQgIldlYlN5c3RlbVNvdW5kRGVsZWdhdGUuaCIKICNpbXBvcnQgIldl
YnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzLmgiCiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9Db25m
aWdGaWxlLmg+CiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9PcHRpb25zLmg+CkBAIC02Nyw2ICs2
OCw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2lt
cG9ydCA8V2ViQ29yZS9TV0NvbnRleHRNYW5hZ2VyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1N5c3Rl
bUJhdHRlcnkuaD4KKyNpbXBvcnQgPFdlYkNvcmUvU3lzdGVtU291bmRNYW5hZ2VyLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1VUSVV0aWxpdGllcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9WZXJzaW9uQ2hl
Y2tzLmg+CiAjaW1wb3J0IDxhbGdvcml0aG0+CkBAIC0zNjAsNiArMzYyLDggQEAgdm9pZCBXZWJQ
cm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcgogI2VuZGlmCiAKICAgICB1cGRhdGVQcm9j
ZXNzTmFtZSgpOworICAgIAorICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc2V0
U3lzdGVtU291bmREZWxlZ2F0ZShtYWtlVW5pcXVlPFdlYlN5c3RlbVNvdW5kRGVsZWdhdGU+KCkp
OwogfQogCiB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtU2V0V2Vic2l0ZURhdGFTdG9yZVBhcmFt
ZXRlcnMoV2ViUHJvY2Vzc0RhdGFTdG9yZVBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQpJbmRleDog
VG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24g
MjY5MjQ3KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMjAtMTEtMDIgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisg
ICAgICAgIFttYWNPU10gU3lzdGVtIHNvdW5kcyBzaG91bGQgYmUgcGxheWVkIGluIHRoZSBVSSBw
cm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTg0MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1N5c3RlbUJlZXAubW06IEFkZGVk
LgorICAgICAgICAoVEVTVCk6CisKIDIwMjAtMTEtMDEgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBw
bGUuY29tPgogCiAgICAgICAgIFJlbW92ZSByZW1haW5pbmcgYWx0ZXJuYXRpdmUgcHJlZmVyZW5j
ZSBzZXR0aW5nIG1lY2hhbmlzbXMgZnJvbSBMYXlvdXRUZXN0cwpJbmRleDogVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHJldmlzaW9uIDI2OTI0NikKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMDg2
LDYgKzEwODYsNyBAQAogCQlFM0ExRTc4NTIxQjI1QjkxMDA4QzYwMDcgLyogVVJMUGFyc2VyLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQTFFNzg0
MjFCMjVCOTEwMDhDNjAwNyAvKiBVUkxQYXJzZXIuY3BwICovOyB9OwogCQlFM0MyMUE3QzIxQjI1
Q0EyMDAzQjMxQTMgLyogVVJMRXh0cmFzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTNDMjFBN0IyMUIyNUNBMjAwM0IzMUEzIC8qIFVSTEV4dHJhcy5t
bSAqLzsgfTsKIAkJRTNERUE4MTExRjBBNTg5MDAwQ0JDMkU4IC8qIFRocmVhZEdyb3VwLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzREVBODEwMUYw
QTU4ODAwMENCQzJFOCAvKiBUaHJlYWRHcm91cC5jcHAgKi87IH07CisJCUUzRUZCMDJGMjU1MDY1
MDMwMDNDMkY5NiAvKiBTeXN0ZW1CZWVwLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTNFRkIwMkUyNTUwNjUwMzAwM0MyRjk2IC8qIFN5c3RlbUJlZXAu
bW0gKi87IH07CiAJCUUzRjhBQjkyMjQxQUI5Q0UwMDNFMkE3RSAvKiBBY2Nlc3NpYmlsaXR5UmVt
b3RlVUlBcHAubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFM0Y4QUI5MTI0MUFCOUNFMDAzRTJBN0UgLyogQWNjZXNzaWJpbGl0eVJlbW90ZVVJQXBwLm1t
ICovOyB9OwogCQlFNTAzNkY3ODIxMUJDMjU0MDBCRkRCRTIgLyogY29sb3ItZHJvcC5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU1MDM2
Rjc3MjExQkMyMjgwMEJGREJFMiAvKiBjb2xvci1kcm9wLmh0bWwgKi87IH07CiAJCUU1ODkxODND
MjUyQkM5MEEwMDQxREVENSAvKiBEYXRlVGltZUlucHV0c0FjY2Vzc29yeVZpZXdUZXN0cy5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU1ODkxODNCMjUy
QkM5MEEwMDQxREVENSAvKiBEYXRlVGltZUlucHV0c0FjY2Vzc29yeVZpZXdUZXN0cy5tbSAqLzsg
fTsKQEAgLTI4MDMsNiArMjgwNCw3IEBACiAJCUUzQTFFNzg0MjFCMjVCOTEwMDhDNjAwNyAvKiBV
UkxQYXJzZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVVJMUGFy
c2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNDMjFBN0IyMUIyNUNBMjAw
M0IzMUEzIC8qIFVSTEV4dHJhcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFVSTEV4dHJhcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNERUE4
MTAxRjBBNTg4MDAwQ0JDMkU4IC8qIFRocmVhZEdyb3VwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFRocmVhZEdyb3VwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRTNFRkIwMkUyNTUwNjUwMzAwM0MyRjk2IC8qIFN5c3RlbUJlZXAubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBTeXN0ZW1CZWVwLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFM0Y4QUI5MTI0MUFCOUNFMDAzRTJBN0UgLyogQWNjZXNzaWJpbGl0eVJlbW90ZVVJQXBw
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eVJlbW90ZVVJQXBwLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDAwMTkzMDFBQ0U5QjVDMDAxQjBBMkEgLyog
Qmxvb21GaWx0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQmxv
b21GaWx0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDkwMjk2NzE0RTJF
M0E0MDAyQkVERDEgLyogVHlwaW5nU3R5bGVDcmFzaC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFR5cGluZ1N0eWxlQ3Jhc2gubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0zMTMyLDYgKzMxMzQsNyBAQAogCQkJCUUzMjVDOTA2MjNFMzg3MDIwMEJD
N0QzQiAvKiBQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydC5tbSAqLywKIAkJCQlDMTVDQkIzRTIzRkIx
NzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gKi8sCiAJCQkJQzE0OUQ1NEYyNDJF
OTg0NDAwM0VCQjEyIC8qIFNsZWVwRGlzYWJsZXIubW0gKi8sCisJCQkJRTNFRkIwMkUyNTUwNjUw
MzAwM0MyRjk2IC8qIFN5c3RlbUJlZXAubW0gKi8sCiAJCQkJMEYxMzlFNzUxQTQyM0E1MzAwRjU5
MEY1IC8qIFdlYWtPYmpDUHRyLm1tICovLAogCQkJCUMxRkY5RURBMjQ0NjQ0RjAwMDgzOUFFNCAv
KiBXZWJGaWx0ZXIubW0gKi8sCiAJCQkJQzE0RDMwNDUyNEI0QzNCQTAwNDgwMzg3IC8qIFhQQ0Vu
ZHBvaW50Lm1tICovLApAQCAtNTQzNCw2ICs1NDM3LDcgQEAKIAkJCQk1MUVCMTI2NzI0Q0I4NzUz
MDAwQ0IwMzAgLyogU3VuTGlnaHRBcHBsaWNhdGlvbkdlbmVyaWNORVMubW0gaW4gU291cmNlcyAq
LywKIAkJCQk0NDMzQTM5NjIwODA0NDE0MDA5MUVENTcgLyogU3luY2hyb25vdXNUaW1lb3V0VGVz
dHMubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VBODFBNDExQTE5MDA0NDdDNEMgLyogU3lu
dGhldGljQmFja2luZ1NjYWxlRmFjdG9yV2luZG93Lm0gaW4gU291cmNlcyAqLywKKwkJCQlFM0VG
QjAyRjI1NTA2NTAzMDAzQzJGOTYgLyogU3lzdGVtQmVlcC5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTFDNzM0QjUzMjA3ODhDNDgwMEY0MzBFQSAvKiBTeXN0ZW1Db2xvcnMubW0gaW4gU291cmNlcyAq
LywKIAkJCQkzMUI3NkU0MzIzMjk4RTJDMDA3RkVEMkMgLyogU3lzdGVtUHJldmlldy5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTJENzAwNTk2MjFFREEwQzYwMDM0NjNDQiAvKiBUYWJPdXRPZldlYlZp
ZXcubW0gaW4gU291cmNlcyAqLywKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L1N5c3RlbUJlZXAubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQvU3lzdGVtQmVlcC5tbQkobm9uZXhpc3RlbnQpCisrKyBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9TeXN0ZW1CZWVwLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIlBsYXRmb3Jt
VXRpbGl0aWVzLmgiCisjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0IDxXZWJLaXQv
V0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZp
ZXdQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3Rpbmcu
aD4KKyNpbXBvcnQgPHd0Zi9UaHJlYWRpbmcuaD4KKworI2lmIFdLX0hBVkVfQ19TUEkKKworVEVT
VChXZWJLaXQsIFN5c3RlbUJlZXApCit7CisgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHRO
UyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBXS1JldGFpblB0
cjxXS0NvbnRleHRSZWY+IGNvbnRleHQgPSBhZG9wdFdLKFRlc3RXZWJLaXRBUEk6OlV0aWw6OmNy
ZWF0ZUNvbnRleHRGb3JJbmplY3RlZEJ1bmRsZVRlc3QoIkludGVybmFsc0luamVjdGVkQnVuZGxl
VGVzdCIpKTsKKyAgICBjb25maWd1cmF0aW9uLmdldCgpLnByb2Nlc3NQb29sID0gKFdLUHJvY2Vz
c1Bvb2wgKiljb250ZXh0LmdldCgpOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0
V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAwLCAzMDAp
IGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNdKTsKKwor
ICAgIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ3aW5kb3cuaW50ZXJu
YWxzLnN5c3RlbUJlZXAoKSJdOworfQorCisjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQo=
</data>
<flag name="commit-queue"
          id="429453"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412930</attachid>
            <date>2020-11-02 09:09:02 -0800</date>
            <delta_ts>2020-11-02 09:24:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218405-20201102090901.patch</filename>
            <type>text/plain</type>
            <size>38967</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTI0NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDIwLTEwLTMwICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFN5c3RlbSBz
b3VuZHMgc2hvdWxkIGJlIHBsYXllZCBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NDA1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gcHJlcGFyYXRpb24gb2YgYmxvY2tp
bmcgdGhlIHN5c3RlbSBzb3VuZCBzZXJ2ZXIgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2Vzcywgc3lz
dGVtIHNvdW5kcyBzaG91bGQgYmUgcGxheWVkIGluIHRoZSBVSSBwcm9jZXNzLgorICAgICAgICBU
aGlzIHBhdGNoIGNyZWF0ZXMgYSBzeXN0ZW0gc291bmQgbWFuYWdlciwgd2hpY2ggZGVsZWdhdGVz
IHRoZSBzb3VuZCByZXF1ZXN0IGlmIGEgZGVsZWdhdGUgaXMgcHJlc2VudCwgb3RoZXJ3aXNlIHRo
ZSBmdW5jdGlvbgorICAgICAgICBQQUw6OnN5c3RlbUJlZXAgd2lsbCBiZSBjYWxsZWQuCisKKyAg
ICAgICAgQVBJIHRlc3Q6IFdlYktpdC5TeXN0ZW1CZWVwCisKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpjdXQpOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9y
Ojpjb3B5KToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cGVyZm9ybURlbGV0ZSk6CisgICAg
ICAgICogZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmV4ZWN1
dGVTZWxlY3RUb01hcmspOgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZVN3YXBXaXRoTWFyayk6
CisgICAgICAgICogZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbToKKyAgICAgICAgKFdlYkNv
cmU6OkVkaXRvcjo6dGFrZUZpbmRTdHJpbmdGcm9tU2VsZWN0aW9uKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvckZyb250ZW5kSG9zdDo6YmVlcCk6CisgICAgICAgICogcGxhdGZvcm0vU3lzdGVtU291bmRE
ZWxlZ2F0ZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbVNvdW5kRGVsZWdhdGU6
On5TeXN0ZW1Tb3VuZERlbGVnYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbVNvdW5kRGVs
ZWdhdGU6OnN5c3RlbUJlZXApOgorICAgICAgICAqIHBsYXRmb3JtL1N5c3RlbVNvdW5kTWFuYWdl
ci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtU291bmRNYW5hZ2VyOjpzaW5n
bGV0b24pOgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtU291bmRNYW5hZ2VyOjpzZXRTeXN0ZW1T
b3VuZERlbGVnYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbVNvdW5kTWFuYWdlcjo6c3lz
dGVtQmVlcCk6CisgICAgICAgICogcGxhdGZvcm0vU3lzdGVtU291bmRNYW5hZ2VyLmg6IEFkZGVk
LgorCiAyMDIwLTExLTAyICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4K
IAogICAgICAgICBbR0xJQl0gUkVHUkVTU0lPTihyMjY5MTQ0KSBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbEludG9WaWV3LXNjcm9sbE1hcmdpbi5o
dG1sIGlzIGZhaWxpbmcKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNjkyNDYpCisrKyBT
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTgxNiw2ICsxODE2
LDcgQEAgcGxhdGZvcm0vU2hhcmVkQnVmZmVyQ2h1bmtSZWFkZXIuY3BwCiBwbGF0Zm9ybS9TaGFy
ZWRTdHJpbmdIYXNoLmNwcAogcGxhdGZvcm0vU2xlZXBEaXNhYmxlci5jcHAKIHBsYXRmb3JtL1Ns
ZWVwRGlzYWJsZXJDbGllbnQuY3BwCitwbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuY3BwCiBw
bGF0Zm9ybS9TdGF0aWNQYXN0ZWJvYXJkLmNwcAogcGxhdGZvcm0vVGhlbWUuY3BwCiBwbGF0Zm9y
bS9UaGVtZVR5cGVzLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXJQcm92aWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJvdmlkZXIuaAkocmV2aXNpb24g
MjY5MjQ2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVj
b3JkZXJQcm92aWRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw4IEBACiAKICNwcmFn
bWEgb25jZQogCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgTWVkaWFSZWNvcmRlclByaXZhdGU7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAy
NjkyNDYpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHdvcmtpbmcgY29weSkKQEAgLTQ5OTQsNiArNDk5NCw4IEBACiAJCUUzQjJGMEVFMUQ3RjRD
QTkwMEIwQzlEMSAvKiBMb2FkYWJsZVNjcmlwdENsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNCMkYwRTgxRDdGMzVFQzAwQjBDOUQxIC8qIExv
YWRhYmxlU2NyaXB0Q2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJRTNCMkYwRjAxRDdGNENCNTAwQjBDOUQxIC8qIExvYWRhYmxlQ2xhc3Np
Y1NjcmlwdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTNCMkYwRTQxRDdGMzVFQzAwQjBDOUQxIC8qIExvYWRhYmxlQ2xhc3NpY1NjcmlwdC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzQkJDMjQ3MjM4
MzU1MjYwMDZFQzM5RiAvKiBDU1NWYWx1ZUtleS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTNCQkMyNDUyMzgzNTUxQTAwNkVDMzlGIC8qIENTU1ZhbHVl
S2V5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
RTNDMDQxMkYyNTRDQTI5QjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDMDQxMkQyNTRDQTI5QjAw
MjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzQzA0MTM4MjU0Q0IzMEQwMDIxRDBFNiAvKiBTeXN0
ZW1Tb3VuZERlbGVnYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFM0MwNDEzMTI1NENBNjY2MDAyMUQwRTYgLyogU3lzdGVtU291bmREZWxlZ2F0ZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzQzk5
QTA5MURDM0Q0MUMwMDc5NEFEMyAvKiBET01KSVRDaGVja0RPTS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDOTlBMDgxREMzRDQxNzAwNzk0QUQzIC8q
IERPTUpJVENoZWNrRE9NLmggKi87IH07CiAJCUUzQzlBRUNCMjExMzE0OTkwMDQxOUI5MiAvKiBK
U01pY3JvdGFza0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFM0M5QUVDOTIxMTMxNDc0MDA0MTlCOTIgLyogSlNNaWNyb3Rhc2tDYWxsYmFj
ay5oICovOyB9OwogCQlFM0U0RTJBODFFM0IxNzEwMDAyM0JCOEEgLyogU2NyaXB0RWxlbWVudENh
Y2hlZFNjcmlwdEZldGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEUzRTRFMkE2MUUzQjE2RkMwMDIzQkI4QSAvKiBTY3JpcHRFbGVtZW50Q2FjaGVk
U2NyaXB0RmV0Y2hlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CkBAIC0xNTk4OCw2ICsxNTk5MCw5IEBACiAJCUUzQkYxOUU1MjJBRjJGRjQwMDlDOTky
NiAvKiBCZWZvcmVMb2FkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQmVmb3JlTG9hZEV2
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNCRjE5RTYyMkFGMzAyQTAw
OUM5OTI2IC8qIEhhc2hDaGFuZ2VFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIYXNoQ2hh
bmdlRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0JGMTlFNzIyQUYz
MDlGMDA5Qzk5MjYgLyogU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRTNDMDQxMkQyNTRDQTI5QjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5k
TWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTeXN0ZW1Tb3VuZE1h
bmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTNDMDQxMzEyNTRDQTY2NjAw
MjFEMEU2IC8qIFN5c3RlbVNvdW5kRGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3lzdGVtU291
bmREZWxlZ2F0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFM0MwNDEzMjI1NENB
NzExMDAyMUQwRTYgLyogU3lzdGVtU291bmRNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFN5c3RlbVNvdW5kTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUz
Qzk5QTA4MURDM0Q0MTcwMDc5NEFEMyAvKiBET01KSVRDaGVja0RPTS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBET01KSVRDaGVja0RPTS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFM0M5QUVDOTIxMTMxNDc0MDA0MTlCOTIgLyogSlNNaWNyb3Rhc2tDYWxsYmFj
ay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01pY3JvdGFza0NhbGxiYWNr
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzRDA0OTkzMURBREMwNDUwMDcxOEYz
QyAvKiBOb2RlQ29uc3RhbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5v
ZGVDb25zdGFudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI3MzE3LDYgKzI3
MzIyLDkgQEAKIAkJCQlGNDMzRTkwMjFEQkJEQkEyMDBFRjBEMTQgLyogU3RhdGljUGFzdGVib2Fy
ZC5oICovLAogCQkJCTkzQjJEODE1MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlv
bi5oICovLAogCQkJCTk3NjI3Qjk3MTRGQjU0MjQwMDJDRENBMSAvKiBTdXBwbGVtZW50YWJsZS5o
ICovLAorCQkJCUUzQzA0MTMxMjU0Q0E2NjYwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZERlbGVnYXRl
LmggKi8sCisJCQkJRTNDMDQxMzIyNTRDQTcxMTAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdl
ci5jcHAgKi8sCisJCQkJRTNDMDQxMkQyNTRDQTI5QjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFu
YWdlci5oICovLAogCQkJCTdDQzU2NEI2MThCQUJFQTYwMDFCOTY1MiAvKiBUZWxlcGhvbmVOdW1i
ZXJEZXRlY3Rvci5oICovLAogCQkJCUJDRTY1RDMxMEVBRDEyMTEwMDdFNDUzMyAvKiBUaGVtZS5j
cHAgKi8sCiAJCQkJQkNFNjU4RkUwRUE5MjQ4QTAwN0U0NTMzIC8qIFRoZW1lLmggKi8sCkBAIC0z
NDU0MCw2ICszNDU0OCw4IEBACiAJCQkJQzE2OTJERDUyM0QyM0UwODAwNkU4OEY3IC8qIFN5c3Rl
bUJhdHRlcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0RThCNEVDMjE2Qjc5RTUwMEI4ODM0RCAv
KiBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYwM0Mw
NzQxODg0Njk1RTAwQTVGOENBIC8qIFN5c3RlbU1lbW9yeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
RTNDMDQxMzgyNTRDQjMwRDAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kRGVsZWdhdGUuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUUzQzA0MTJGMjU0Q0EyOUIwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFn
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTVENTk3NUIzMTk2MzVGMTEwMEQwMDg3OCAvKiBTeXN0
ZW1WZXJzaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOENGRjA1MTBBMTU0RjA5MDAwQTQyMzQg
LyogVGFibGVMYXlvdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTZGMTcyNjRGMjQ3MEM2MEIwMDUx
OEM5NiAvKiBUYWJsZVdyYXBwZXJCbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmggaW4gSGVhZGVycyAq
LywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAJKHJldmlzaW9uIDI2OTI0NikKKysr
IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAz
LDYgKzEwMyw3IEBACiAjaW5jbHVkZSAiU3BlbGxpbmdDb3JyZWN0aW9uQ29tbWFuZC5oIgogI2lu
Y2x1ZGUgIlN0YXRpY1Bhc3RlYm9hcmQuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMuaCIK
KyNpbmNsdWRlICJTeXN0ZW1Tb3VuZE1hbmFnZXIuaCIKICNpbmNsdWRlICJUZWxlcGhvbmVOdW1i
ZXJEZXRlY3Rvci5oIgogI2luY2x1ZGUgIlRleHQuaCIKICNpbmNsdWRlICJUZXh0Q2hlY2tlckNs
aWVudC5oIgpAQCAtMTE1LDcgKzExNiw2IEBACiAjaW5jbHVkZSAiVmlzaWJsZVVuaXRzLmgiCiAj
aW5jbHVkZSAibWFya3VwLmgiCiAjaW5jbHVkZSA8cGFsL0ZpbGVTaXplRm9ybWF0dGVyLmg+Ci0j
aW5jbHVkZSA8cGFsL3N5c3RlbS9Tb3VuZC5oPgogI2luY2x1ZGUgPHBhbC90ZXh0L0tpbGxSaW5n
Lmg+CiAjaW5jbHVkZSA8d3RmL1NldEZvclNjb3BlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUv
Q2hhcmFjdGVyTmFtZXMuaD4KQEAgLTEzNjYsNyArMTM2Niw3IEBAIHZvaWQgRWRpdG9yOjpjdXQo
RnJvbU1lbnVPcktleUJpbmRpbmcgZnIKICAgICBpZiAodHJ5REhUTUxDdXQoKSkKICAgICAgICAg
cmV0dXJuOyAvLyBESFRNTCBkaWQgdGhlIHdob2xlIG9wZXJhdGlvbgogICAgIGlmICghY2FuQ3V0
KCkpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1CZWVwKCk7CisgICAgICAgIFN5c3RlbVNvdW5kTWFu
YWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
CkBAIC0xMzc5LDcgKzEzNzksNyBAQCB2b2lkIEVkaXRvcjo6Y29weShGcm9tTWVudU9yS2V5Qmlu
ZGluZyBmCiAgICAgaWYgKHRyeURIVE1MQ29weSgpKQogICAgICAgICByZXR1cm47IC8vIERIVE1M
IGRpZCB0aGUgd2hvbGUgb3BlcmF0aW9uCiAgICAgaWYgKCFjYW5Db3B5KCkpIHsKLSAgICAgICAg
UEFMOjpzeXN0ZW1CZWVwKCk7CisgICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9u
KCkuc3lzdGVtQmVlcCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xNTE2LDcgKzE1
MTYsNyBAQCB2b2lkIEVkaXRvcjo6cXVvdGVGcmFnbWVudEZvclBhc3RpbmcoRG9jCiB2b2lkIEVk
aXRvcjo6cGVyZm9ybURlbGV0ZSgpCiB7CiAgICAgaWYgKCFjYW5EZWxldGUoKSkgewotICAgICAg
ICBQQUw6OnN5c3RlbUJlZXAoKTsKKyAgICAgICAgU3lzdGVtU291bmRNYW5hZ2VyOjpzaW5nbGV0
b24oKS5zeXN0ZW1CZWVwKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAkocmV2aXNpb24gMjY5MjQ2KQorKysg
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTYsMTIgKzU2LDEyIEBACiAjaW5jbHVkZSAiU2Nyb2xsYmFyLmgiCiAjaW5jbHVkZSAiU2V0
dGluZ3MuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMuaCIKKyNpbmNsdWRlICJTeXN0ZW1T
b3VuZE1hbmFnZXIuaCIKICNpbmNsdWRlICJUeXBpbmdDb21tYW5kLmgiCiAjaW5jbHVkZSAiVW5s
aW5rQ29tbWFuZC5oIgogI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9yLmgiCiAjaW5jbHVk
ZSAiVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaCIKICNpbmNsdWRlICJtYXJrdXAuaCIKLSNp
bmNsdWRlIDxwYWwvc3lzdGVtL1NvdW5kLmg+CiAjaW5jbHVkZSA8cGFsL3RleHQvS2lsbFJpbmcu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CiAKQEAgLTEwNDMsNyArMTA0Myw3
IEBAIHN0YXRpYyBib29sIGV4ZWN1dGVTZWxlY3RUb01hcmsoRnJhbWUmIGYKICAgICBhdXRvIG1h
cmtSYW5nZSA9IGVkaXRvci5tYXJrKCkudG9Ob3JtYWxpemVkUmFuZ2UoKTsKICAgICBhdXRvIHNl
bGVjdGlvblJhbmdlID0gc2VsZWN0aW9uLnNlbGVjdGlvbigpLnRvTm9ybWFsaXplZFJhbmdlKCk7
CiAgICAgaWYgKCFtYXJrUmFuZ2UgfHwgIXNlbGVjdGlvblJhbmdlKSB7Ci0gICAgICAgIFBBTDo6
c3lzdGVtQmVlcCgpOworICAgICAgICBTeXN0ZW1Tb3VuZE1hbmFnZXI6OnNpbmdsZXRvbigpLnN5
c3RlbUJlZXAoKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBzZWxlY3Rpb24u
c2V0U2VsZWN0ZWRSYW5nZSh1bmlvblJhbmdlKCptYXJrUmFuZ2UsICpzZWxlY3Rpb25SYW5nZSks
IEFmZmluaXR5OjpEb3duc3RyZWFtLCBGcmFtZVNlbGVjdGlvbjo6U2hvdWxkQ2xvc2VUeXBpbmc6
Olllcyk7CkBAIC0xMTAzLDcgKzExMDMsNyBAQCBzdGF0aWMgYm9vbCBleGVjdXRlU3dhcFdpdGhN
YXJrKEZyYW1lJiBmCiAgICAgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgbWFyayA9IGZyYW1lLmVk
aXRvcigpLm1hcmsoKTsKICAgICBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24gPSBm
cmFtZS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKTsKICAgICBpZiAobWFyay5pc05vbmUoKSB8fCBz
ZWxlY3Rpb24uaXNOb25lKCkpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1CZWVwKCk7CisgICAgICAg
IFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIGZyYW1lLnNlbGVjdGlvbigpLnNldFNlbGVjdGlvbiht
YXJrKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRWRpdG9yQ29jb2EubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5t
bQkocmV2aXNpb24gMjY5MjQ2KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0
b3JDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNTMsMTIgKzUzLDEyIEBACiAjaW1wb3J0ICJS
ZW5kZXJFbGVtZW50LmgiCiAjaW1wb3J0ICJSZW5kZXJTdHlsZS5oIgogI2ltcG9ydCAiU2V0dGlu
Z3MuaCIKKyNpbXBvcnQgIlN5c3RlbVNvdW5kTWFuYWdlci5oIgogI2ltcG9ydCAiVGV4dC5oIgog
I2ltcG9ydCAiVVRJVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJXZWJDb250ZW50UmVhZGVyLmgiCiAj
aW1wb3J0ICJtYXJrdXAuaCIKICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvTlNBdHRyaWJ1dGVkU3Ry
aW5nU1BJLmg+Ci0jaW1wb3J0IDxwYWwvc3lzdGVtL1NvdW5kLmg+CiAjaW1wb3J0IDx3dGYvQmxv
Y2tPYmpDRXhjZXB0aW9ucy5oPgogI2ltcG9ydCA8d3RmL2NvY29hL05TVVJMRXh0cmFzLmg+CiAK
QEAgLTIzOSw3ICsyMzksNyBAQCBSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gRWRpdG9yOjp3ZWJD
b250CiB2b2lkIEVkaXRvcjo6dGFrZUZpbmRTdHJpbmdGcm9tU2VsZWN0aW9uKCkKIHsKICAgICBp
ZiAoIWNhbkNvcHlFeGNsdWRpbmdTdGFuZGFsb25lSW1hZ2VzKCkpIHsKLSAgICAgICAgUEFMOjpz
eXN0ZW1CZWVwKCk7CisgICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lz
dGVtQmVlcCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAkocmV2aXNpb24g
MjY5MjQ2KQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9z
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDcgQEAKICNpbmNsdWRlICJQYXN0ZWJv
YXJkLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgor
I2luY2x1ZGUgIlN5c3RlbVNvdW5kTWFuYWdlci5oIgogI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5k
aWNhdG9yLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0RnVuY3Rpb25DYWxsLmg+
CiAjaW5jbHVkZSA8cGFsL3N5c3RlbS9Tb3VuZC5oPgpAQCAtNTU1LDcgKzU1Niw3IEBAIHZvaWQg
SW5zcGVjdG9yRnJvbnRlbmRIb3N0Ojp1bmJ1ZmZlcmVkTG8KIAogdm9pZCBJbnNwZWN0b3JGcm9u
dGVuZEhvc3Q6OmJlZXAoKQogewotICAgIFBBTDo6c3lzdGVtQmVlcCgpOworICAgIFN5c3RlbVNv
dW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogfQogCiB2b2lkIEluc3BlY3Rv
ckZyb250ZW5kSG9zdDo6aW5zcGVjdEluc3BlY3RvcigpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TeXN0ZW1Tb3VuZERlbGVnYXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU3lzdGVtU291bmREZWxlZ2F0ZS5oCShub25leGlzdGVudCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNvdW5kRGVsZWdhdGUuaAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDM3IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6
CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09N
UFVURVIsIElOQy4gT1IKKyogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8K
KworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU3lzdGVtU291
bmREZWxlZ2F0ZSB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+U3lzdGVtU291bmREZWxlZ2F0ZSgp
IHsgfQorCisgICAgdmlydHVhbCB2b2lkIHN5c3RlbUJlZXAoKSB7IH0KK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNvdW5k
TWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3lzdGVt
U291bmRNYW5hZ2VyLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TeXN0ZW1Tb3VuZE1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTUgQEAK
Ky8qCisqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgor
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiU3lzdGVtU291bmRNYW5hZ2VyLmgiCisKKyNpbmNsdWRlICJTeXN0
ZW1Tb3VuZERlbGVnYXRlLmgiCisKKyNpbmNsdWRlIDxwYWwvc3lzdGVtL1NvdW5kLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworU3lzdGVtU291bmRNYW5hZ2VyJiBTeXN0ZW1Tb3VuZE1hbmFn
ZXI6OnNpbmdsZXRvbigpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFN5c3RlbVNvdW5k
TWFuYWdlcj4gc3lzdGVtU291bmRNYW5hZ2VyOworICAgIHJldHVybiBzeXN0ZW1Tb3VuZE1hbmFn
ZXI7Cit9CisgICAgCit2b2lkIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2V0U3lzdGVtU291bmREZWxl
Z2F0ZShzdGQ6OnVuaXF1ZV9wdHI8U3lzdGVtU291bmREZWxlZ2F0ZT4mJiBkZWxlZ2F0ZSkKK3sK
KyAgICBtX2RlbGVnYXRlID0gV1RGTW92ZShkZWxlZ2F0ZSk7Cit9CisgICAgCit2b2lkIFN5c3Rl
bVNvdW5kTWFuYWdlcjo6c3lzdGVtQmVlcCgpCit7CisgICAgaWYgKG1fZGVsZWdhdGUpIHsKKyAg
ICAgICAgbV9kZWxlZ2F0ZS0+c3lzdGVtQmVlcCgpOworICAgICAgICByZXR1cm47CisgICAgfQor
ICAgIFBBTDo6c3lzdGVtQmVlcCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuaAkobm9uZXhp
c3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ5IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMjAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisqIGFyZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0
cm95ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTeXN0ZW1Tb3VuZERlbGVn
YXRlOworCitjbGFzcyBTeXN0ZW1Tb3VuZE1hbmFnZXIgeworICAgIGZyaWVuZCBOZXZlckRlc3Ry
b3llZDxTeXN0ZW1Tb3VuZE1hbmFnZXI+OworcHVibGljOgorICAgIFdFQkNPUkVfRVhQT1JUIHN0
YXRpYyBTeXN0ZW1Tb3VuZE1hbmFnZXImIHNpbmdsZXRvbigpOworICAgIAorICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgc2V0U3lzdGVtU291bmREZWxlZ2F0ZShzdGQ6OnVuaXF1ZV9wdHI8U3lzdGVt
U291bmREZWxlZ2F0ZT4mJik7CisgICAgCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzeXN0ZW1C
ZWVwKCk7CisgICAgCitwcml2YXRlOgorICAgIFN5c3RlbVNvdW5kTWFuYWdlcigpID0gZGVmYXVs
dDsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxTeXN0ZW1Tb3VuZERlbGVnYXRlPiBtX2RlbGVnYXRl
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vU3RlcmVvUGFubmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9TdGVyZW9QYW5uZXIuY3BwCShyZXZpc2lvbiAyNjkyNDYpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9TdGVyZW9QYW5uZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpZiBFTkFCTEUoV0VCX0FVRElPKQogCisjaW5jbHVk
ZSAiU2hhcmVkQnVmZmVyLmgiCiAjaW5jbHVkZSAiVmVjdG9yTWF0aC5oIgogI2luY2x1ZGUgPHd0
Zi9NYXRoRXh0cmFzLmg+CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJ
KHJldmlzaW9uIDI2OTI0NikKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTkyLDYgKzE5Miw3IEBACiAjaW5jbHVkZSAiU3R5bGVSdWxl
LmgiCiAjaW5jbHVkZSAiU3R5bGVTY29wZS5oIgogI2luY2x1ZGUgIlN0eWxlU2hlZXRDb250ZW50
cy5oIgorI2luY2x1ZGUgIlN5c3RlbVNvdW5kTWFuYWdlci5oIgogI2luY2x1ZGUgIlRleHRJdGVy
YXRvci5oIgogI2luY2x1ZGUgIlRleHRQbGFjZWhvbGRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJU
cmVlU2NvcGUuaCIKQEAgLTYwMDEsNSArNjAwMiw5IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVy
bmFsczo6c2VuZE1lZGlhU2UKIH0KICNlbmRpZgogCit2b2lkIEludGVybmFsczo6c3lzdGVtQmVl
cCgpCit7CisgICAgU3lzdGVtU291bmRNYW5hZ2VyOjpzaW5nbGV0b24oKS5zeXN0ZW1CZWVwKCk7
Cit9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaAkocmV2aXNpb24gMjY5MjQ2KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaAkod29ya2luZyBjb3B5KQpAQCAtMTA2Myw2ICsxMDYzLDggQEAgcHVibGljOgogICAg
IEV4Y2VwdGlvbk9yPHZvaWQ+IHNlbmRNZWRpYVNlc3Npb25BY3Rpb24oTWVkaWFTZXNzaW9uJiwg
Y29uc3QgTWVkaWFTZXNzaW9uQWN0aW9uRGV0YWlscyYpOwogI2VuZGlmCiAKKyAgICB2b2lkIHN5
c3RlbUJlZXAoKTsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBJbnRlcm5hbHMoRG9jdW1lbnQm
KTsKICAgICBEb2N1bWVudCogY29udGV4dERvY3VtZW50KCkgY29uc3Q7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCShyZXZpc2lvbiAyNjkyNDYpCisrKyBTb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTk1OCw0ICs5NTgs
NiBAQCBlbnVtIENvbnRlbnRTaXplQ2F0ZWdvcnkgewogCiAgICAgW0NvbmRpdGlvbmFsPU1FRElB
X1NFU1NJT04sIE1heVRocm93RXhjZXB0aW9uXSBkb3VibGUgY3VycmVudE1lZGlhU2Vzc2lvblBv
c2l0aW9uKE1lZGlhU2Vzc2lvbiBzZXNzaW9uKTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU0VT
U0lPTiwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZW5kTWVkaWFTZXNzaW9uQWN0aW9u
KE1lZGlhU2Vzc2lvbiBzZXNzaW9uLCBNZWRpYVNlc3Npb25BY3Rpb25EZXRhaWxzIGFjdGlvbkRl
dGFpbHMpOworCisgICAgdW5kZWZpbmVkIHN5c3RlbUJlZXAoKTsKIH07CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwko
cmV2aXNpb24gMjY5MjQ2KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwyMyBAQAorMjAyMC0xMC0zMCAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxh
bkBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBTeXN0ZW0gc291bmRzIHNob3VsZCBiZSBw
bGF5ZWQgaW4gdGhlIFVJIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxODQwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFN1YmNsYXNzIFN5c3RlbVNvdW5kRGVsZWdhdGUsIHdoaWNoIHdpbGwg
Zm9yd2FyZCBzeXN0ZW0gc291bmQgcmVxdWVzdHMgdG8gdGhlIFVJIHByb2Nlc3MuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Byb3h5OjpzeXN0ZW1CZWVwKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9jb2NvYS9XZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJLaXQ6OldlYlN5c3RlbVNvdW5kRGVsZWdhdGU6OnN5c3RlbUJlZXApOgorICAgICAgICAq
IFdlYlByb2Nlc3MvY29jb2EvV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oOiBBZGRlZC4KKwogMjAy
MC0xMS0wMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU3Rv
cCBzZW5kaW5nIG9yaWdpbnMgZnJvbSBXZWJQcm9jZXNzIHRvIFVJUHJvY2VzcyBmb3IgZ2V0VXNl
ck1lZGlhIHJlcXVlc3RzCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvU291cmNlcy50eHQJKHJldmlzaW9uIDI2OTI0NikKKysrIFNv
dXJjZS9XZWJLaXQvU291cmNlcy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTQ4OCw2ICs0ODgsNyBA
QCBXZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QCiBXZWJQcm9jZXNzL1dl
YkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcy5jcHAKIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKIFdl
YlByb2Nlc3MvV2ViU2xlZXBEaXNhYmxlckNsaWVudC5jcHAKK1dlYlByb2Nlc3MvV2ViU3lzdGVt
U291bmREZWxlZ2F0ZS5jcHAKIAogLy8gRklYTUUoMjA2MjY2KTogQXV0b21hdGlvblByb3RvY29s
T2JqZWN0cy5oJ3MgIm5hbWVzcGFjZSBQcm90b2NvbCIgY29uZmxpY3RzIHdpdGggb2JqYy9ydW50
aW1lLmgncyAidHlwZWRlZiBzdHJ1Y3Qgb2JqY19vYmplY3QgUHJvdG9jb2wiCiBXZWJQcm9jZXNz
L0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5jcHAgQG5vLXVuaWZ5CkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAJKHJldmlzaW9u
IDI2OTI0NikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTY1LDYgKzY1LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1ByZXdh
cm1JbmZvcm1hdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHVibGljU3VmZml4Lmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9TdWRkZW5UZXJtaW5hdGlvbi5oPgorI2luY2x1ZGUgPHBhbC9zeXN0ZW0v
U291bmQuaD4KICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPHd0Zi9BbGdvcml0aG1zLmg+
CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CkBAIC0xODg1LDYgKzE4ODYsMTEgQEAg
Ym9vbCBXZWJQcm9jZXNzUHJveHk6Omhhc1NsZWVwRGlzYWJsZXIoKQogICAgIHJldHVybiAhbV9z
bGVlcERpc2FibGVycy5pc0VtcHR5KCk7CiB9CiAKK3ZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpzeXN0
ZW1CZWVwKCkKK3sKKyAgICBQQUw6OnN5c3RlbUJlZXAoKTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CiAKICN1bmRlZiBNRVNTQUdFX0NIRUNLCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkocmV2aXNpb24gMjY5MjQ2KQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTUwNCw2ICs1
MDQsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkQ3JlYXRlU2xlZXBEaXNhYmxlcihXZWJDb3Jl
OjpTbGVlcERpc2FibGVySWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiByZWFzb24sIGJvb2wgZGlz
cGxheSk7CiAgICAgdm9pZCBkaWREZXN0cm95U2xlZXBEaXNhYmxlcihXZWJDb3JlOjpTbGVlcERp
c2FibGVySWRlbnRpZmllcik7CiAKKyAgICB2b2lkIHN5c3RlbUJlZXAoKTsKKyAgICAKICAgICBl
bnVtIGNsYXNzIElzV2VhayB7IE5vLCBZZXMgfTsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBj
bGFzcyBXZWFrT3JTdHJvbmdQdHIgewogICAgIHB1YmxpYzoKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4JKHJldmlzaW9u
IDI2OTI0NikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNz
YWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAtODcsNCArODcsNiBAQCBtZXNzYWdlcyAtPiBXZWJQ
cm9jZXNzUHJveHkgTGVnYWN5UmVjZWl2CiAKICAgICBEaWRDcmVhdGVTbGVlcERpc2FibGVyKFdl
YkNvcmU6OlNsZWVwRGlzYWJsZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIFN0cmluZyByZWFzb24s
IGJvb2wgZGlzcGxheSkKICAgICBEaWREZXN0cm95U2xlZXBEaXNhYmxlcihXZWJDb3JlOjpTbGVl
cERpc2FibGVySWRlbnRpZmllciBpZGVudGlmaWVyKQorCisgICAgU3lzdGVtQmVlcCgpCiB9Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHJldmlzaW9uIDI2OTI0NikKKysrIFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTUzODksNiArNTM4OSw4IEBACiAJCUUzOTYy
OERDMjM5NjBDQzYwMDY1OEVDRCAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkRldmljZU9yaWVu
dGF0aW9uVXBkYXRlUHJvdmlkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
Mzk2MjhFNDIzOTcxRjM0MDA2NThFQ0QgLyogV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92
aWRlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJEZXZpY2VPcmllbnRh
dGlvblVwZGF0ZVByb3ZpZGVyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFM0NBQUE0MzI0MTMyNzhBMDBDRUQyRTIgLyogQWNjZXNzaWJpbGl0eVN1cHBvcnRTUEku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eVN1cHBvcnRT
UEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTNFRkIwMkMyNTUwNjE3QzAwM0My
Rjk2IC8qIFdlYlN5c3RlbVNvdW5kRGVsZWdhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
U3lzdGVtU291bmREZWxlZ2F0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUz
RUZCMDJEMjU1MDYxN0MwMDNDMkY5NiAvKiBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdlYlN5c3RlbVNvdW5kRGVsZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTQwNDkwNzAyMURFNjVGNzAwMzdGMERCIC8qIFNjcm9sbGVyUGFpck1hYy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxlclBhaXJNYWMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQwNDkwNzEyMURFNjVGNzAwMzdGMERCIC8qIFNjcm9s
bGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVNYWMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90
ZU1hYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0MDQ5MDcyMjFERTY1Rjcw
MDM3RjBEQiAvKiBTY3JvbGxlclBhaXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBTY3JvbGxlclBhaXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC04OTcwLDYgKzg5NzIsOCBAQAogCQkJCUJDRTBFNDI0MTY4QjdBMjgwMDU3RTY2QSAv
KiBXZWJQcm9jZXNzU3VwcGxlbWVudC5oICovLAogCQkJCUMxOEZCNTFEMjQyRjlGNzYwMDdFOTg3
NSAvKiBXZWJTbGVlcERpc2FibGVyQ2xpZW50LmNwcCAqLywKIAkJCQlDMThGQjUxRTI0MkY5Rjc3
MDA3RTk4NzUgLyogV2ViU2xlZXBEaXNhYmxlckNsaWVudC5oICovLAorCQkJCUUzRUZCMDJDMjU1
MDYxN0MwMDNDMkY5NiAvKiBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcCAqLywKKwkJCQlFM0VG
QjAyRDI1NTA2MTdDMDAzQzJGOTYgLyogV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oICovLAogCQkJ
KTsKIAkJCXBhdGggPSBXZWJQcm9jZXNzOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViU3lzdGVtU291bmREZWxl
Z2F0ZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlN5
c3RlbVNvdW5kRGVsZWdhdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKKy8q
CisqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisq
CisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisq
CisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oIgorCisjaW5jbHVkZSAiV2Vi
UHJvY2Vzcy5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmgiCisKK25hbWVz
cGFjZSBXZWJLaXQgeworCit2b2lkIFdlYlN5c3RlbVNvdW5kRGVsZWdhdGU6OnN5c3RlbUJlZXAo
KQoreworICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9u
KCktPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6U3lzdGVtQmVlcCgpLCAwKTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlN5c3RlbVNvdW5kRGVsZWdhdGUuaAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDM4IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBt
ZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
Q09NUFVURVIsIElOQy4gT1IKKyogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxXZWJDb3JlL1N5c3RlbVNvdW5kRGVsZWdh
dGUuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlN5c3RlbVNvdW5kRGVsZWdh
dGUgOiBwdWJsaWMgV2ViQ29yZTo6U3lzdGVtU291bmREZWxlZ2F0ZSB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgdm9pZCBzeXN0ZW1CZWVwKCkgb3ZlcnJpZGU7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlc291cmNl
Q2FjaGVQcm94eS5jcHAJKHJldmlzaW9uIDI2OTI0NikKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzAsNiArMzAsOCBAQAogCiAjaW5jbHVkZSAiUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZFByb3h5LmgiCiAKKyNpbmNsdWRlIDxXZWJDb3JlL0ltYWdlQnVmZmVyLmg+CisKIG5hbWVzcGFj
ZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclBy
aXZhdGUuaAkocmV2aXNpb24gMjY5MjQ2KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjgsNyAr
NjgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc3RvcmFnZUNoYW5nZWQoU2hhcmVkTWVtb3J5Kik7
CiAKICAgICBNZWRpYVJlY29yZGVySWRlbnRpZmllciBtX2lkZW50aWZpZXI7Ci0gICAgUmVmPE1l
ZGlhU3RyZWFtUHJpdmF0ZT4gbV9zdHJlYW07CisgICAgUmVmPFdlYkNvcmU6Ok1lZGlhU3RyZWFt
UHJpdmF0ZT4gbV9zdHJlYW07CiAgICAgUmVmPElQQzo6Q29ubmVjdGlvbj4gbV9jb25uZWN0aW9u
OwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkNBUmluZ0J1ZmZlcj4gbV9yaW5nQnVm
ZmVyOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2Nv
YS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJv
Y2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyNjkyNDYpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00Niw2ICs0Niw3
IEBACiAjaW1wb3J0ICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NQ
cm94eU1lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXZWJTbGVlcERpc2FibGVyQ2xpZW50LmgiCisjaW1w
b3J0ICJXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmgiCiAjaW1wb3J0ICJXZWJzaXRlRGF0YVN0b3Jl
UGFyYW1ldGVycy5oIgogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvQ29uZmlnRmlsZS5oPgogI2lt
cG9ydCA8SmF2YVNjcmlwdENvcmUvT3B0aW9ucy5oPgpAQCAtNjcsNiArNjgsNyBAQAogI2ltcG9y
dCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KICNpbXBvcnQgPFdlYkNvcmUv
U1dDb250ZXh0TWFuYWdlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9TeXN0ZW1CYXR0ZXJ5Lmg+Cisj
aW1wb3J0IDxXZWJDb3JlL1N5c3RlbVNvdW5kTWFuYWdlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9V
VElVdGlsaXRpZXMuaD4KICNpbXBvcnQgPFdlYkNvcmUvVmVyc2lvbkNoZWNrcy5oPgogI2ltcG9y
dCA8YWxnb3JpdGhtPgpAQCAtMzYwLDYgKzM2Miw4IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZv
cm1Jbml0aWFsaXplV2ViUHIKICNlbmRpZgogCiAgICAgdXBkYXRlUHJvY2Vzc05hbWUoKTsKKyAg
ICAKKyAgICBTeXN0ZW1Tb3VuZE1hbmFnZXI6OnNpbmdsZXRvbigpLnNldFN5c3RlbVNvdW5kRGVs
ZWdhdGUobWFrZVVuaXF1ZTxXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlPigpKTsKIH0KIAogdm9pZCBX
ZWJQcm9jZXNzOjpwbGF0Zm9ybVNldFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzKFdlYlByb2Nl
c3NEYXRhU3RvcmVQYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKSW5kZXg6IFRvb2xzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTI0NykKKysrIFRv
b2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDIwLTExLTAy
ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1Nd
IFN5c3RlbSBzb3VuZHMgc2hvdWxkIGJlIHBsYXllZCBpbiB0aGUgVUkgcHJvY2VzcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NDA1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9TeXN0ZW1CZWVwLm1tOiBBZGRlZC4KKyAgICAgICAgKFRF
U1QpOgorCiAyMDIwLTExLTAxICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZW1vdmUgcmVtYWluaW5nIGFsdGVybmF0aXZlIHByZWZlcmVuY2Ugc2V0dGluZyBtZWNo
YW5pc21zIGZyb20gTGF5b3V0VGVzdHMKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZp
c2lvbiAyNjkyNDYpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTA4Niw2ICsxMDg2LDcgQEAK
IAkJRTNBMUU3ODUyMUIyNUI5MTAwOEM2MDA3IC8qIFVSTFBhcnNlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0ExRTc4NDIxQjI1QjkxMDA4QzYw
MDcgLyogVVJMUGFyc2VyLmNwcCAqLzsgfTsKIAkJRTNDMjFBN0MyMUIyNUNBMjAwM0IzMUEzIC8q
IFVSTEV4dHJhcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUzQzIxQTdCMjFCMjVDQTIwMDNCMzFBMyAvKiBVUkxFeHRyYXMubW0gKi87IH07CiAJCUUz
REVBODExMUYwQTU4OTAwMENCQzJFOCAvKiBUaHJlYWRHcm91cC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0RFQTgxMDFGMEE1ODgwMDBDQkMyRTgg
LyogVGhyZWFkR3JvdXAuY3BwICovOyB9OworCQlFM0VGQjAyRjI1NTA2NTAzMDAzQzJGOTYgLyog
U3lzdGVtQmVlcC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUzRUZCMDJFMjU1MDY1MDMwMDNDMkY5NiAvKiBTeXN0ZW1CZWVwLm1tICovOyB9OwogCQlF
M0Y4QUI5MjI0MUFCOUNFMDAzRTJBN0UgLyogQWNjZXNzaWJpbGl0eVJlbW90ZVVJQXBwLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNGOEFCOTEyNDFB
QjlDRTAwM0UyQTdFIC8qIEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbSAqLzsgfTsKIAkJRTUw
MzZGNzgyMTFCQzI1NDAwQkZEQkUyIC8qIGNvbG9yLWRyb3AuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNTAzNkY3NzIxMUJDMjI4MDBC
RkRCRTIgLyogY29sb3ItZHJvcC5odG1sICovOyB9OwogCQlFNTg5MTgzQzI1MkJDOTBBMDA0MURF
RDUgLyogRGF0ZVRpbWVJbnB1dHNBY2Nlc3NvcnlWaWV3VGVzdHMubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNTg5MTgzQjI1MkJDOTBBMDA0MURFRDUg
LyogRGF0ZVRpbWVJbnB1dHNBY2Nlc3NvcnlWaWV3VGVzdHMubW0gKi87IH07CkBAIC0yODAzLDYg
KzI4MDQsNyBAQAogCQlFM0ExRTc4NDIxQjI1QjkxMDA4QzYwMDcgLyogVVJMUGFyc2VyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVSTFBhcnNlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzQzIxQTdCMjFCMjVDQTIwMDNCMzFBMyAvKiBVUkxF
eHRyYXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVUkxFeHRy
YXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzREVBODEwMUYwQTU4ODAwMENC
QzJFOCAvKiBUaHJlYWRHcm91cC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBUaHJlYWRHcm91cC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzRUZC
MDJFMjU1MDY1MDMwMDNDMkY5NiAvKiBTeXN0ZW1CZWVwLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gU3lzdGVtQmVlcC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNGOEFCOTEy
NDFBQjlDRTAwM0UyQTdFIC8qIEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRTQwMDE5MzAxQUNFOUI1QzAwMUIwQTJBIC8qIEJsb29tRmlsdGVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJsb29tRmlsdGVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ5MDI5NjcxNEUyRTNBNDAwMkJFREQxIC8q
IFR5cGluZ1N0eWxlQ3Jhc2gubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBUeXBpbmdTdHlsZUNyYXNoLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MzEzMiw2ICszMTM0LDcgQEAKIAkJCQlFMzI1QzkwNjIzRTM4NzAyMDBCQzdEM0IgLyogUGljdHVy
ZUluUGljdHVyZVN1cHBvcnQubW0gKi8sCiAJCQkJQzE1Q0JCM0UyM0ZCMTc3QTAwMzAwQ0M3IC8q
IFByZWZlcmVuY2VDaGFuZ2VzLm1tICovLAogCQkJCUMxNDlENTRGMjQyRTk4NDQwMDNFQkIxMiAv
KiBTbGVlcERpc2FibGVyLm1tICovLAorCQkJCUUzRUZCMDJFMjU1MDY1MDMwMDNDMkY5NiAvKiBT
eXN0ZW1CZWVwLm1tICovLAogCQkJCTBGMTM5RTc1MUE0MjNBNTMwMEY1OTBGNSAvKiBXZWFrT2Jq
Q1B0ci5tbSAqLywKIAkJCQlDMUZGOUVEQTI0NDY0NEYwMDA4MzlBRTQgLyogV2ViRmlsdGVyLm1t
ICovLAogCQkJCUMxNEQzMDQ1MjRCNEMzQkEwMDQ4MDM4NyAvKiBYUENFbmRwb2ludC5tbSAqLywK
QEAgLTU0MzQsNiArNTQzNyw3IEBACiAJCQkJNTFFQjEyNjcyNENCODc1MzAwMENCMDMwIC8qIFN1
bkxpZ2h0QXBwbGljYXRpb25HZW5lcmljTkVTLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDQzM0Ez
OTYyMDgwNDQxNDAwOTFFRDU3IC8qIFN5bmNocm9ub3VzVGltZW91dFRlc3RzLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJN0NDRTdFQTgxQTQxMUExOTAwNDQ3QzRDIC8qIFN5bnRoZXRpY0JhY2tpbmdT
Y2FsZUZhY3RvcldpbmRvdy5tIGluIFNvdXJjZXMgKi8sCisJCQkJRTNFRkIwMkYyNTUwNjUwMzAw
M0MyRjk2IC8qIFN5c3RlbUJlZXAubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQzczNEI1MzIwNzg4
QzQ4MDBGNDMwRUEgLyogU3lzdGVtQ29sb3JzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFCNzZF
NDMyMzI5OEUyQzAwN0ZFRDJDIC8qIFN5c3RlbVByZXZpZXcubW0gaW4gU291cmNlcyAqLywKIAkJ
CQkyRDcwMDU5NjIxRURBMEM2MDAzNDYzQ0IgLyogVGFiT3V0T2ZXZWJWaWV3Lm1tIGluIFNvdXJj
ZXMgKi8sCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9TeXN0ZW1CZWVw
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1N5c3Rl
bUJlZXAubW0JKG5vbmV4aXN0ZW50KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvU3lzdGVtQmVlcC5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgor
I2ltcG9ydCAiVGVzdFdLV2ViVmlldy5oIgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld0NvbmZp
Z3VyYXRpb25Qcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZS5oPgor
I2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nLmg+CisjaW1wb3J0IDx3
dGYvVGhyZWFkaW5nLmg+CisKKyNpZiBXS19IQVZFX0NfU1BJCisKK1RFU1QoV2ViS2l0LCBTeXN0
ZW1CZWVwKQoreworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdD
b25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVm
PiBjb250ZXh0ID0gYWRvcHRXSyhUZXN0V2ViS2l0QVBJOjpVdGlsOjpjcmVhdGVDb250ZXh0Rm9y
SW5qZWN0ZWRCdW5kbGVUZXN0KCJJbnRlcm5hbHNJbmplY3RlZEJ1bmRsZVRlc3QiKSk7CisgICAg
Y29uZmlndXJhdGlvbi5nZXQoKS5wcm9jZXNzUG9vbCA9IChXS1Byb2Nlc3NQb29sICopY29udGV4
dC5nZXQoKTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxv
Y10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9u
OmNvbmZpZ3VyYXRpb24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisKKyAgICBbd2ViVmlldyBz
dHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAid2luZG93LmludGVybmFscy5zeXN0ZW1CZWVw
KCkiXTsKK30KKworI2VuZGlmIC8vIFdLX0hBVkVfQ19TUEkK
</data>
<flag name="commit-queue"
          id="429452"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412932</attachid>
            <date>2020-11-02 09:21:46 -0800</date>
            <delta_ts>2020-11-03 11:22:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218405-20201102092146.patch</filename>
            <type>text/plain</type>
            <size>39459</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTI0NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDIwLTEwLTMwICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFN5c3RlbSBz
b3VuZHMgc2hvdWxkIGJlIHBsYXllZCBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NDA1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gcHJlcGFyYXRpb24gb2YgYmxvY2tp
bmcgdGhlIHN5c3RlbSBzb3VuZCBzZXJ2ZXIgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2Vzcywgc3lz
dGVtIHNvdW5kcyBzaG91bGQgYmUgcGxheWVkIGluIHRoZSBVSSBwcm9jZXNzLgorICAgICAgICBU
aGlzIHBhdGNoIGNyZWF0ZXMgYSBzeXN0ZW0gc291bmQgbWFuYWdlciwgd2hpY2ggZGVsZWdhdGVz
IHRoZSBzb3VuZCByZXF1ZXN0IGlmIGEgZGVsZWdhdGUgaXMgcHJlc2VudCwgb3RoZXJ3aXNlIHRo
ZSBmdW5jdGlvbgorICAgICAgICBQQUw6OnN5c3RlbUJlZXAgd2lsbCBiZSBjYWxsZWQuCisKKyAg
ICAgICAgQVBJIHRlc3Q6IFdlYktpdC5TeXN0ZW1CZWVwCisKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpjdXQpOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9y
Ojpjb3B5KToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cGVyZm9ybURlbGV0ZSk6CisgICAg
ICAgICogZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmV4ZWN1
dGVTZWxlY3RUb01hcmspOgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZVN3YXBXaXRoTWFyayk6
CisgICAgICAgICogZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbToKKyAgICAgICAgKFdlYkNv
cmU6OkVkaXRvcjo6dGFrZUZpbmRTdHJpbmdGcm9tU2VsZWN0aW9uKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvckZyb250ZW5kSG9zdDo6YmVlcCk6CisgICAgICAgICogcGxhdGZvcm0vU3lzdGVtU291bmRE
ZWxlZ2F0ZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbVNvdW5kRGVsZWdhdGU6
On5TeXN0ZW1Tb3VuZERlbGVnYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbVNvdW5kRGVs
ZWdhdGU6OnN5c3RlbUJlZXApOgorICAgICAgICAqIHBsYXRmb3JtL1N5c3RlbVNvdW5kTWFuYWdl
ci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtU291bmRNYW5hZ2VyOjpzaW5n
bGV0b24pOgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtU291bmRNYW5hZ2VyOjpzZXRTeXN0ZW1T
b3VuZERlbGVnYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbVNvdW5kTWFuYWdlcjo6c3lz
dGVtQmVlcCk6CisgICAgICAgICogcGxhdGZvcm0vU3lzdGVtU291bmRNYW5hZ2VyLmg6IEFkZGVk
LgorCiAyMDIwLTExLTAyICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4K
IAogICAgICAgICBbR0xJQl0gUkVHUkVTU0lPTihyMjY5MTQ0KSBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbEludG9WaWV3LXNjcm9sbE1hcmdpbi5o
dG1sIGlzIGZhaWxpbmcKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQkocmV2aXNpb24gMjY5MjQ2KQor
KysgU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTA0Niw2
ICsxMDQ2LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHBs
YXRmb3JtL1NsZWVwRGlzYWJsZXJJZGVudGlmaWVyLmgKICAgICBwbGF0Zm9ybS9TdWRkZW5UZXJt
aW5hdGlvbi5oCiAgICAgcGxhdGZvcm0vU3VwcGxlbWVudGFibGUuaAorICAgIHBsYXRmb3JtL1N5
c3RlbVNvdW5kRGVsZWdhdGUuaAogICAgIHBsYXRmb3JtL1RoZW1lVHlwZXMuaAogICAgIHBsYXRm
b3JtL1RocmVhZENoZWNrLmgKICAgICBwbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmgKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNjkyNDYpCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTgxNiw2ICsxODE2LDcgQEAgcGxhdGZvcm0vU2hhcmVk
QnVmZmVyQ2h1bmtSZWFkZXIuY3BwCiBwbGF0Zm9ybS9TaGFyZWRTdHJpbmdIYXNoLmNwcAogcGxh
dGZvcm0vU2xlZXBEaXNhYmxlci5jcHAKIHBsYXRmb3JtL1NsZWVwRGlzYWJsZXJDbGllbnQuY3Bw
CitwbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuY3BwCiBwbGF0Zm9ybS9TdGF0aWNQYXN0ZWJv
YXJkLmNwcAogcGxhdGZvcm0vVGhlbWUuY3BwCiBwbGF0Zm9ybS9UaGVtZVR5cGVzLmNwcApJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcm92
aWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRl
ci9NZWRpYVJlY29yZGVyUHJvdmlkZXIuaAkocmV2aXNpb24gMjY5MjQ2KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcm92aWRlci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw4IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTWVk
aWFSZWNvcmRlclByaXZhdGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNjkyNDYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAg
LTQ5OTQsNiArNDk5NCw4IEBACiAJCUUzQjJGMEVFMUQ3RjRDQTkwMEIwQzlEMSAvKiBMb2FkYWJs
ZVNjcmlwdENsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTNCMkYwRTgxRDdGMzVFQzAwQjBDOUQxIC8qIExvYWRhYmxlU2NyaXB0Q2xpZW50Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTNCMkYw
RjAxRDdGNENCNTAwQjBDOUQxIC8qIExvYWRhYmxlQ2xhc3NpY1NjcmlwdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNCMkYwRTQxRDdGMzVFQzAwQjBD
OUQxIC8qIExvYWRhYmxlQ2xhc3NpY1NjcmlwdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzQkJDMjQ3MjM4MzU1MjYwMDZFQzM5RiAvKiBDU1NW
YWx1ZUtleS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTNCQkMyNDUyMzgzNTUxQTAwNkVDMzlGIC8qIENTU1ZhbHVlS2V5LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTNDMDQxMkYyNTRDQTI5QjAwMjFE
MEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTNDMDQxMkQyNTRDQTI5QjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5k
TWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCUUzQzA0MTM4MjU0Q0IzMEQwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZERlbGVnYXRlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0MwNDEzMTI1NENB
NjY2MDAyMUQwRTYgLyogU3lzdGVtU291bmREZWxlZ2F0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzQzk5QTA5MURDM0Q0MUMwMDc5NEFEMyAv
KiBET01KSVRDaGVja0RPTS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTNDOTlBMDgxREMzRDQxNzAwNzk0QUQzIC8qIERPTUpJVENoZWNrRE9NLmggKi87
IH07CiAJCUUzQzlBRUNCMjExMzE0OTkwMDQxOUI5MiAvKiBKU01pY3JvdGFza0NhbGxiYWNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0M5QUVDOTIx
MTMxNDc0MDA0MTlCOTIgLyogSlNNaWNyb3Rhc2tDYWxsYmFjay5oICovOyB9OwogCQlFM0U0RTJB
ODFFM0IxNzEwMDAyM0JCOEEgLyogU2NyaXB0RWxlbWVudENhY2hlZFNjcmlwdEZldGNoZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRTRFMkE2MUUz
QjE2RkMwMDIzQkI4QSAvKiBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hlci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNTk4OCw2ICsx
NTk5MCw5IEBACiAJCUUzQkYxOUU1MjJBRjJGRjQwMDlDOTkyNiAvKiBCZWZvcmVMb2FkRXZlbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQmVmb3JlTG9hZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTNCRjE5RTYyMkFGMzAyQTAwOUM5OTI2IC8qIEhhc2hDaGFuZ2VF
dmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIYXNoQ2hhbmdlRXZlbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlFM0JGMTlFNzIyQUYzMDlGMDA5Qzk5MjYgLyogU2VjdXJp
dHlQb2xpY3lWaW9sYXRpb25FdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZWN1cml0eVBv
bGljeVZpb2xhdGlvbkV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTND
MDQxMkQyNTRDQTI5QjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTeXN0ZW1Tb3VuZE1hbmFnZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRTNDMDQxMzEyNTRDQTY2NjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5k
RGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3lzdGVtU291bmREZWxlZ2F0ZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlFM0MwNDEzMjI1NENBNzExMDAyMUQwRTYgLyogU3lzdGVt
U291bmRNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN5c3RlbVNvdW5kTWFuYWdlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzQzk5QTA4MURDM0Q0MTcwMDc5NEFE
MyAvKiBET01KSVRDaGVja0RPTS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBE
T01KSVRDaGVja0RPTS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0M5QUVDOTIx
MTMxNDc0MDA0MTlCOTIgLyogSlNNaWNyb3Rhc2tDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU01pY3JvdGFza0NhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUUzRDA0OTkzMURBREMwNDUwMDcxOEYzQyAvKiBOb2RlQ29uc3RhbnRzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5vZGVDb25zdGFudHMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI3MzE3LDYgKzI3MzIyLDkgQEAKIAkJCQlGNDMzRTkw
MjFEQkJEQkEyMDBFRjBEMTQgLyogU3RhdGljUGFzdGVib2FyZC5oICovLAogCQkJCTkzQjJEODE1
MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oICovLAogCQkJCTk3NjI3Qjk3
MTRGQjU0MjQwMDJDRENBMSAvKiBTdXBwbGVtZW50YWJsZS5oICovLAorCQkJCUUzQzA0MTMxMjU0
Q0E2NjYwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZERlbGVnYXRlLmggKi8sCisJCQkJRTNDMDQxMzIy
NTRDQTcxMTAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdlci5jcHAgKi8sCisJCQkJRTNDMDQx
MkQyNTRDQTI5QjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdlci5oICovLAogCQkJCTdDQzU2
NEI2MThCQUJFQTYwMDFCOTY1MiAvKiBUZWxlcGhvbmVOdW1iZXJEZXRlY3Rvci5oICovLAogCQkJ
CUJDRTY1RDMxMEVBRDEyMTEwMDdFNDUzMyAvKiBUaGVtZS5jcHAgKi8sCiAJCQkJQkNFNjU4RkUw
RUE5MjQ4QTAwN0U0NTMzIC8qIFRoZW1lLmggKi8sCkBAIC0zNDU0MCw2ICszNDU0OCw4IEBACiAJ
CQkJQzE2OTJERDUyM0QyM0UwODAwNkU4OEY3IC8qIFN5c3RlbUJhdHRlcnkuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUU0RThCNEVDMjE2Qjc5RTUwMEI4ODM0RCAvKiBTeXN0ZW1Gb250RGF0YWJhc2VD
b3JlVGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYwM0MwNzQxODg0Njk1RTAwQTVGOENBIC8q
IFN5c3RlbU1lbW9yeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTNDMDQxMzgyNTRDQjMwRDAwMjFE
MEU2IC8qIFN5c3RlbVNvdW5kRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUUzQzA0MTJG
MjU0Q0EyOUIwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTVENTk3NUIzMTk2MzVGMTEwMEQwMDg3OCAvKiBTeXN0ZW1WZXJzaW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBOENGRjA1MTBBMTU0RjA5MDAwQTQyMzQgLyogVGFibGVMYXlvdXQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTZGMTcyNjRGMjQ3MEM2MEIwMDUxOEM5NiAvKiBUYWJsZVdyYXBwZXJC
bG9ja0Zvcm1hdHRpbmdDb250ZXh0LmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRWRpdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvci5jcHAJKHJldmlzaW9uIDI2OTI0NikKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAzLDYgKzEwMyw3IEBACiAjaW5jbHVk
ZSAiU3BlbGxpbmdDb3JyZWN0aW9uQ29tbWFuZC5oIgogI2luY2x1ZGUgIlN0YXRpY1Bhc3RlYm9h
cmQuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMuaCIKKyNpbmNsdWRlICJTeXN0ZW1Tb3Vu
ZE1hbmFnZXIuaCIKICNpbmNsdWRlICJUZWxlcGhvbmVOdW1iZXJEZXRlY3Rvci5oIgogI2luY2x1
ZGUgIlRleHQuaCIKICNpbmNsdWRlICJUZXh0Q2hlY2tlckNsaWVudC5oIgpAQCAtMTE1LDcgKzEx
Niw2IEBACiAjaW5jbHVkZSAiVmlzaWJsZVVuaXRzLmgiCiAjaW5jbHVkZSAibWFya3VwLmgiCiAj
aW5jbHVkZSA8cGFsL0ZpbGVTaXplRm9ybWF0dGVyLmg+Ci0jaW5jbHVkZSA8cGFsL3N5c3RlbS9T
b3VuZC5oPgogI2luY2x1ZGUgPHBhbC90ZXh0L0tpbGxSaW5nLmg+CiAjaW5jbHVkZSA8d3RmL1Nl
dEZvclNjb3BlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KQEAg
LTEzNjYsNyArMTM2Niw3IEBAIHZvaWQgRWRpdG9yOjpjdXQoRnJvbU1lbnVPcktleUJpbmRpbmcg
ZnIKICAgICBpZiAodHJ5REhUTUxDdXQoKSkKICAgICAgICAgcmV0dXJuOyAvLyBESFRNTCBkaWQg
dGhlIHdob2xlIG9wZXJhdGlvbgogICAgIGlmICghY2FuQ3V0KCkpIHsKLSAgICAgICAgUEFMOjpz
eXN0ZW1CZWVwKCk7CisgICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lz
dGVtQmVlcCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xMzc5LDcgKzEzNzksNyBA
QCB2b2lkIEVkaXRvcjo6Y29weShGcm9tTWVudU9yS2V5QmluZGluZyBmCiAgICAgaWYgKHRyeURI
VE1MQ29weSgpKQogICAgICAgICByZXR1cm47IC8vIERIVE1MIGRpZCB0aGUgd2hvbGUgb3BlcmF0
aW9uCiAgICAgaWYgKCFjYW5Db3B5KCkpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1CZWVwKCk7Cisg
ICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xNTE2LDcgKzE1MTYsNyBAQCB2b2lkIEVkaXRvcjo6
cXVvdGVGcmFnbWVudEZvclBhc3RpbmcoRG9jCiB2b2lkIEVkaXRvcjo6cGVyZm9ybURlbGV0ZSgp
CiB7CiAgICAgaWYgKCFjYW5EZWxldGUoKSkgewotICAgICAgICBQQUw6OnN5c3RlbUJlZXAoKTsK
KyAgICAgICAgU3lzdGVtU291bmRNYW5hZ2VyOjpzaW5nbGV0b24oKS5zeXN0ZW1CZWVwKCk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dG9yQ29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0
b3JDb21tYW5kLmNwcAkocmV2aXNpb24gMjY5MjQ2KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0b3JDb21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsMTIgKzU2LDEyIEBACiAj
aW5jbHVkZSAiU2Nyb2xsYmFyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJT
dHlsZVByb3BlcnRpZXMuaCIKKyNpbmNsdWRlICJTeXN0ZW1Tb3VuZE1hbmFnZXIuaCIKICNpbmNs
dWRlICJUeXBpbmdDb21tYW5kLmgiCiAjaW5jbHVkZSAiVW5saW5rQ29tbWFuZC5oIgogI2luY2x1
ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9yLmgiCiAjaW5jbHVkZSAiVXNlclR5cGluZ0dlc3R1cmVJ
bmRpY2F0b3IuaCIKICNpbmNsdWRlICJtYXJrdXAuaCIKLSNpbmNsdWRlIDxwYWwvc3lzdGVtL1Nv
dW5kLmg+CiAjaW5jbHVkZSA8cGFsL3RleHQvS2lsbFJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9BdG9tU3RyaW5nLmg+CiAKQEAgLTEwNDMsNyArMTA0Myw3IEBAIHN0YXRpYyBib29sIGV4ZWN1
dGVTZWxlY3RUb01hcmsoRnJhbWUmIGYKICAgICBhdXRvIG1hcmtSYW5nZSA9IGVkaXRvci5tYXJr
KCkudG9Ob3JtYWxpemVkUmFuZ2UoKTsKICAgICBhdXRvIHNlbGVjdGlvblJhbmdlID0gc2VsZWN0
aW9uLnNlbGVjdGlvbigpLnRvTm9ybWFsaXplZFJhbmdlKCk7CiAgICAgaWYgKCFtYXJrUmFuZ2Ug
fHwgIXNlbGVjdGlvblJhbmdlKSB7Ci0gICAgICAgIFBBTDo6c3lzdGVtQmVlcCgpOworICAgICAg
ICBTeXN0ZW1Tb3VuZE1hbmFnZXI6OnNpbmdsZXRvbigpLnN5c3RlbUJlZXAoKTsKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBzZWxlY3Rpb24uc2V0U2VsZWN0ZWRSYW5nZSh1bmlv
blJhbmdlKCptYXJrUmFuZ2UsICpzZWxlY3Rpb25SYW5nZSksIEFmZmluaXR5OjpEb3duc3RyZWFt
LCBGcmFtZVNlbGVjdGlvbjo6U2hvdWxkQ2xvc2VUeXBpbmc6Olllcyk7CkBAIC0xMTAzLDcgKzEx
MDMsNyBAQCBzdGF0aWMgYm9vbCBleGVjdXRlU3dhcFdpdGhNYXJrKEZyYW1lJiBmCiAgICAgY29u
c3QgVmlzaWJsZVNlbGVjdGlvbiYgbWFyayA9IGZyYW1lLmVkaXRvcigpLm1hcmsoKTsKICAgICBj
b25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24gPSBmcmFtZS5zZWxlY3Rpb24oKS5zZWxl
Y3Rpb24oKTsKICAgICBpZiAobWFyay5pc05vbmUoKSB8fCBzZWxlY3Rpb24uaXNOb25lKCkpIHsK
LSAgICAgICAgUEFMOjpzeXN0ZW1CZWVwKCk7CisgICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6
c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQog
ICAgIGZyYW1lLnNlbGVjdGlvbigpLnNldFNlbGVjdGlvbihtYXJrKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvY29jb2EvRWRpdG9yQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbQkocmV2aXNpb24gMjY5MjQ2KQor
KysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbQkod29ya2luZyBj
b3B5KQpAQCAtNTMsMTIgKzUzLDEyIEBACiAjaW1wb3J0ICJSZW5kZXJFbGVtZW50LmgiCiAjaW1w
b3J0ICJSZW5kZXJTdHlsZS5oIgogI2ltcG9ydCAiU2V0dGluZ3MuaCIKKyNpbXBvcnQgIlN5c3Rl
bVNvdW5kTWFuYWdlci5oIgogI2ltcG9ydCAiVGV4dC5oIgogI2ltcG9ydCAiVVRJVXRpbGl0aWVz
LmgiCiAjaW1wb3J0ICJXZWJDb250ZW50UmVhZGVyLmgiCiAjaW1wb3J0ICJtYXJrdXAuaCIKICNp
bXBvcnQgPHBhbC9zcGkvY29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5nU1BJLmg+Ci0jaW1wb3J0IDxw
YWwvc3lzdGVtL1NvdW5kLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tPYmpDRXhjZXB0aW9ucy5oPgog
I2ltcG9ydCA8d3RmL2NvY29hL05TVVJMRXh0cmFzLmg+CiAKQEAgLTIzOSw3ICsyMzksNyBAQCBS
ZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gRWRpdG9yOjp3ZWJDb250CiB2b2lkIEVkaXRvcjo6dGFr
ZUZpbmRTdHJpbmdGcm9tU2VsZWN0aW9uKCkKIHsKICAgICBpZiAoIWNhbkNvcHlFeGNsdWRpbmdT
dGFuZGFsb25lSW1hZ2VzKCkpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1CZWVwKCk7CisgICAgICAg
IFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRIb3N0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAkocmV2aXNpb24gMjY5MjQ2KQorKysgU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTU2LDYgKzU2LDcgQEAKICNpbmNsdWRlICJQYXN0ZWJvYXJkLmgiCiAjaW5jbHVkZSAiU2Ny
aXB0U3RhdGUuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIlN5c3RlbVNvdW5k
TWFuYWdlci5oIgogI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9yLmgiCiAjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvU2NyaXB0RnVuY3Rpb25DYWxsLmg+CiAjaW5jbHVkZSA8cGFsL3N5c3Rl
bS9Tb3VuZC5oPgpAQCAtNTU1LDcgKzU1Niw3IEBAIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0
Ojp1bmJ1ZmZlcmVkTG8KIAogdm9pZCBJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OmJlZXAoKQogewot
ICAgIFBBTDo6c3lzdGVtQmVlcCgpOworICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9u
KCkuc3lzdGVtQmVlcCgpOwogfQogCiB2b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6aW5zcGVj
dEluc3BlY3RvcigpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1Tb3VuZERl
bGVnYXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3lzdGVtU291
bmREZWxlZ2F0ZS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5
c3RlbVNvdW5kRGVsZWdhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM3IEBACisvKgor
KiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgor
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgor
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI3ByYWdtYSBvbmNlCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU3lzdGVtU291bmREZWxlZ2F0ZSB7CitwdWJsaWM6
CisgICAgdmlydHVhbCB+U3lzdGVtU291bmREZWxlZ2F0ZSgpIHsgfQorCisgICAgdmlydHVhbCB2
b2lkIHN5c3RlbUJlZXAoKSB7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNvdW5kTWFuYWdlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3lzdGVtU291bmRNYW5hZ2VyLmNwcAkobm9u
ZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisqIENvcHlyaWdodCAoQykg
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU3lz
dGVtU291bmRNYW5hZ2VyLmgiCisKKyNpbmNsdWRlICJTeXN0ZW1Tb3VuZERlbGVnYXRlLmgiCisK
KyNpbmNsdWRlIDxwYWwvc3lzdGVtL1NvdW5kLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
U3lzdGVtU291bmRNYW5hZ2VyJiBTeXN0ZW1Tb3VuZE1hbmFnZXI6OnNpbmdsZXRvbigpCit7Cisg
ICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFN5c3RlbVNvdW5kTWFuYWdlcj4gc3lzdGVtU291bmRN
YW5hZ2VyOworICAgIHJldHVybiBzeXN0ZW1Tb3VuZE1hbmFnZXI7Cit9CisgICAgCit2b2lkIFN5
c3RlbVNvdW5kTWFuYWdlcjo6c2V0U3lzdGVtU291bmREZWxlZ2F0ZShzdGQ6OnVuaXF1ZV9wdHI8
U3lzdGVtU291bmREZWxlZ2F0ZT4mJiBkZWxlZ2F0ZSkKK3sKKyAgICBtX2RlbGVnYXRlID0gV1RG
TW92ZShkZWxlZ2F0ZSk7Cit9CisgICAgCit2b2lkIFN5c3RlbVNvdW5kTWFuYWdlcjo6c3lzdGVt
QmVlcCgpCit7CisgICAgaWYgKG1fZGVsZWdhdGUpIHsKKyAgICAgICAgbV9kZWxlZ2F0ZS0+c3lz
dGVtQmVlcCgpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIFBBTDo6c3lzdGVtQmVlcCgp
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQ5IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBV
VEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIs
IElOQy4gT1IKKyogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBTeXN0ZW1Tb3VuZERlbGVnYXRlOworCitjbGFzcyBTeXN0ZW1T
b3VuZE1hbmFnZXIgeworICAgIGZyaWVuZCBOZXZlckRlc3Ryb3llZDxTeXN0ZW1Tb3VuZE1hbmFn
ZXI+OworcHVibGljOgorICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBTeXN0ZW1Tb3VuZE1hbmFn
ZXImIHNpbmdsZXRvbigpOworICAgIAorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U3lzdGVt
U291bmREZWxlZ2F0ZShzdGQ6OnVuaXF1ZV9wdHI8U3lzdGVtU291bmREZWxlZ2F0ZT4mJik7Cisg
ICAgCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzeXN0ZW1CZWVwKCk7CisgICAgCitwcml2YXRl
OgorICAgIFN5c3RlbVNvdW5kTWFuYWdlcigpID0gZGVmYXVsdDsKKworICAgIHN0ZDo6dW5pcXVl
X3B0cjxTeXN0ZW1Tb3VuZERlbGVnYXRlPiBtX2RlbGVnYXRlOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vU3RlcmVvUGFu
bmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9TdGVy
ZW9QYW5uZXIuY3BwCShyZXZpc2lvbiAyNjkyNDYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9TdGVyZW9QYW5uZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBA
CiAKICNpZiBFTkFCTEUoV0VCX0FVRElPKQogCisjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAj
aW5jbHVkZSAiVmVjdG9yTWF0aC5oIgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHJldmlzaW9uIDI2OTI0NikKKysr
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTkyLDYgKzE5Miw3IEBACiAjaW5jbHVkZSAiU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiU3R5bGVT
Y29wZS5oIgogI2luY2x1ZGUgIlN0eWxlU2hlZXRDb250ZW50cy5oIgorI2luY2x1ZGUgIlN5c3Rl
bVNvdW5kTWFuYWdlci5oIgogI2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlRl
eHRQbGFjZWhvbGRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJUcmVlU2NvcGUuaCIKQEAgLTYwMDEs
NSArNjAwMiw5IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsczo6c2VuZE1lZGlhU2UKIH0K
ICNlbmRpZgogCit2b2lkIEludGVybmFsczo6c3lzdGVtQmVlcCgpCit7CisgICAgU3lzdGVtU291
bmRNYW5hZ2VyOjpzaW5nbGV0b24oKS5zeXN0ZW1CZWVwKCk7Cit9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNpb24gMjY5
MjQ2KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkod29ya2luZyBjb3B5
KQpAQCAtMTA2Myw2ICsxMDYzLDggQEAgcHVibGljOgogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNl
bmRNZWRpYVNlc3Npb25BY3Rpb24oTWVkaWFTZXNzaW9uJiwgY29uc3QgTWVkaWFTZXNzaW9uQWN0
aW9uRGV0YWlscyYpOwogI2VuZGlmCiAKKyAgICB2b2lkIHN5c3RlbUJlZXAoKTsKKwogcHJpdmF0
ZToKICAgICBleHBsaWNpdCBJbnRlcm5hbHMoRG9jdW1lbnQmKTsKICAgICBEb2N1bWVudCogY29u
dGV4dERvY3VtZW50KCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsCShyZXZpc2lvbiAyNjkyNDYpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTk1OCw0ICs5NTgsNiBAQCBlbnVtIENvbnRlbnRTaXpl
Q2F0ZWdvcnkgewogCiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NFU1NJT04sIE1heVRocm93RXhj
ZXB0aW9uXSBkb3VibGUgY3VycmVudE1lZGlhU2Vzc2lvblBvc2l0aW9uKE1lZGlhU2Vzc2lvbiBz
ZXNzaW9uKTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU0VTU0lPTiwgTWF5VGhyb3dFeGNlcHRp
b25dIHVuZGVmaW5lZCBzZW5kTWVkaWFTZXNzaW9uQWN0aW9uKE1lZGlhU2Vzc2lvbiBzZXNzaW9u
LCBNZWRpYVNlc3Npb25BY3Rpb25EZXRhaWxzIGFjdGlvbkRldGFpbHMpOworCisgICAgdW5kZWZp
bmVkIHN5c3RlbUJlZXAoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjY5MjQ2KQorKysg
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMyBAQAor
MjAyMC0xMC0zMCAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgW21hY09TXSBTeXN0ZW0gc291bmRzIHNob3VsZCBiZSBwbGF5ZWQgaW4gdGhlIFVJIHByb2Nl
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODQw
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN1YmNs
YXNzIFN5c3RlbVNvdW5kRGVsZWdhdGUsIHdoaWNoIHdpbGwgZm9yd2FyZCBzeXN0ZW0gc291bmQg
cmVxdWVzdHMgdG8gdGhlIFVJIHByb2Nlc3MuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpzeXN0ZW1C
ZWVwKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dl
YlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1J
bml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJTeXN0
ZW1Tb3VuZERlbGVnYXRlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlN5c3RlbVNv
dW5kRGVsZWdhdGU6OnN5c3RlbUJlZXApOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2Vi
U3lzdGVtU291bmREZWxlZ2F0ZS5oOiBBZGRlZC4KKwogMjAyMC0xMS0wMiAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcCBzZW5kaW5nIG9yaWdpbnMgZnJv
bSBXZWJQcm9jZXNzIHRvIFVJUHJvY2VzcyBmb3IgZ2V0VXNlck1lZGlhIHJlcXVlc3RzCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
U291cmNlcy50eHQJKHJldmlzaW9uIDI2OTI0NikKKysrIFNvdXJjZS9XZWJLaXQvU291cmNlcy50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTQ4OCw2ICs0ODgsNyBAQCBXZWJBdXRoblByb2Nlc3MvV2Vi
QXV0aG5Qcm9jZXNzQ3JlYXRpb25QCiBXZWJQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vz
cy5jcHAKIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKIFdlYlByb2Nlc3MvV2ViU2xlZXBEaXNh
YmxlckNsaWVudC5jcHAKK1dlYlByb2Nlc3MvV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5jcHAKIAog
Ly8gRklYTUUoMjA2MjY2KTogQXV0b21hdGlvblByb3RvY29sT2JqZWN0cy5oJ3MgIm5hbWVzcGFj
ZSBQcm90b2NvbCIgY29uZmxpY3RzIHdpdGggb2JqYy9ydW50aW1lLmgncyAidHlwZWRlZiBzdHJ1
Y3Qgb2JqY19vYmplY3QgUHJvdG9jb2wiCiBXZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21h
dGlvblNlc3Npb25Qcm94eS5jcHAgQG5vLXVuaWZ5CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAJKHJldmlzaW9uIDI2OTI0NikKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY1
LDYgKzY1LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1ByZXdhcm1JbmZvcm1hdGlvbi5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUHVibGljU3VmZml4Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TdWRkZW5U
ZXJtaW5hdGlvbi5oPgorI2luY2x1ZGUgPHBhbC9zeXN0ZW0vU291bmQuaD4KICNpbmNsdWRlIDxz
dGRpby5oPgogI2luY2x1ZGUgPHd0Zi9BbGdvcml0aG1zLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVy
RGVzdHJveWVkLmg+CkBAIC0xODg1LDYgKzE4ODYsMTEgQEAgYm9vbCBXZWJQcm9jZXNzUHJveHk6
Omhhc1NsZWVwRGlzYWJsZXIoKQogICAgIHJldHVybiAhbV9zbGVlcERpc2FibGVycy5pc0VtcHR5
KCk7CiB9CiAKK3ZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpzeXN0ZW1CZWVwKCkKK3sKKyAgICBQQUw6
OnN5c3RlbUJlZXAoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBNRVNT
QUdFX0NIRUNLCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
aAkocmV2aXNpb24gMjY5MjQ2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTUwNCw2ICs1MDQsOCBAQCBwcml2YXRlOgogICAg
IHZvaWQgZGlkQ3JlYXRlU2xlZXBEaXNhYmxlcihXZWJDb3JlOjpTbGVlcERpc2FibGVySWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiByZWFzb24sIGJvb2wgZGlzcGxheSk7CiAgICAgdm9pZCBkaWRE
ZXN0cm95U2xlZXBEaXNhYmxlcihXZWJDb3JlOjpTbGVlcERpc2FibGVySWRlbnRpZmllcik7CiAK
KyAgICB2b2lkIHN5c3RlbUJlZXAoKTsKKyAgICAKICAgICBlbnVtIGNsYXNzIElzV2VhayB7IE5v
LCBZZXMgfTsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBXZWFrT3JTdHJvbmdQdHIg
ewogICAgIHB1YmxpYzoKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4JKHJldmlzaW9uIDI2OTI0NikKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5
KQpAQCAtODcsNCArODcsNiBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzUHJveHkgTGVnYWN5UmVj
ZWl2CiAKICAgICBEaWRDcmVhdGVTbGVlcERpc2FibGVyKFdlYkNvcmU6OlNsZWVwRGlzYWJsZXJJ
ZGVudGlmaWVyIGlkZW50aWZpZXIsIFN0cmluZyByZWFzb24sIGJvb2wgZGlzcGxheSkKICAgICBE
aWREZXN0cm95U2xlZXBEaXNhYmxlcihXZWJDb3JlOjpTbGVlcERpc2FibGVySWRlbnRpZmllciBp
ZGVudGlmaWVyKQorCisgICAgU3lzdGVtQmVlcCgpCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI2OTI0NikKKysr
IFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcg
Y29weSkKQEAgLTUzODksNiArNTM4OSw4IEBACiAJCUUzOTYyOERDMjM5NjBDQzYwMDY1OEVDRCAv
KiBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzk2MjhFNDIzOTcxRjM0MDA2NThF
Q0QgLyogV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5tZXNzYWdlcy5pbiAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLm1l
c3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0NBQUE0MzI0MTMyNzhB
MDBDRUQyRTIgLyogQWNjZXNzaWJpbGl0eVN1cHBvcnRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eVN1cHBvcnRTUEkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRTNFRkIwMkMyNTUwNjE3QzAwM0MyRjk2IC8qIFdlYlN5c3RlbVNvdW5k
RGVsZWdhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzRUZCMDJEMjU1MDYxN0MwMDNDMkY5
NiAvKiBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlN5c3RlbVNv
dW5kRGVsZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQwNDkwNzAyMURF
NjVGNzAwMzdGMERCIC8qIFNjcm9sbGVyUGFpck1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTY3JvbGxlclBhaXJNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTQwNDkwNzEyMURFNjVGNzAwMzdGMERCIC8qIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGlu
Z05vZGVSZW1vdGVNYWMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZU1hYy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUU0MDQ5MDcyMjFERTY1RjcwMDM3RjBEQiAvKiBTY3JvbGxlclBh
aXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTY3JvbGxl
clBhaXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04OTcwLDYgKzg5NzIs
OCBAQAogCQkJCUJDRTBFNDI0MTY4QjdBMjgwMDU3RTY2QSAvKiBXZWJQcm9jZXNzU3VwcGxlbWVu
dC5oICovLAogCQkJCUMxOEZCNTFEMjQyRjlGNzYwMDdFOTg3NSAvKiBXZWJTbGVlcERpc2FibGVy
Q2xpZW50LmNwcCAqLywKIAkJCQlDMThGQjUxRTI0MkY5Rjc3MDA3RTk4NzUgLyogV2ViU2xlZXBE
aXNhYmxlckNsaWVudC5oICovLAorCQkJCUUzRUZCMDJDMjU1MDYxN0MwMDNDMkY5NiAvKiBXZWJT
eXN0ZW1Tb3VuZERlbGVnYXRlLmNwcCAqLywKKwkJCQlFM0VGQjAyRDI1NTA2MTdDMDAzQzJGOTYg
LyogV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oICovLAogCQkJKTsKIAkJCXBhdGggPSBXZWJQcm9j
ZXNzOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5jcHAJKG5vbmV4aXN0ZW50
KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlN5c3RlbVNvdW5kRGVsZWdhdGUuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViU3lz
dGVtU291bmREZWxlZ2F0ZS5oIgorCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUg
IldlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lk
IFdlYlN5c3RlbVNvdW5kRGVsZWdhdGU6OnN5c3RlbUJlZXAoKQoreworICAgIFdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6Oldl
YlByb2Nlc3NQcm94eTo6U3lzdGVtQmVlcCgpLCAwKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViU3lzdGVtU291bmREZWxlZ2F0
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJTeXN0ZW1Tb3Vu
ZERlbGVnYXRlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlN5c3RlbVNvdW5kRGVsZWdhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM4IEBACisv
KgorKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
KgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
KgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlIDxXZWJDb3JlL1N5c3RlbVNvdW5kRGVsZWdhdGUuaD4KKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK2NsYXNzIFdlYlN5c3RlbVNvdW5kRGVsZWdhdGUgOiBwdWJsaWMgV2ViQ29yZTo6
U3lzdGVtU291bmREZWxlZ2F0ZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJs
aWM6CisgICAgdm9pZCBzeXN0ZW1CZWVwKCkgb3ZlcnJpZGU7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVt
b3RlUmVzb3VyY2VDYWNoZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlc291cmNlQ2FjaGVQcm94eS5jcHAJKHJldmlz
aW9uIDI2OTI0NikKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVt
b3RlUmVzb3VyY2VDYWNoZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsOCBA
QAogCiAjaW5jbHVkZSAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmgiCiAKKyNpbmNsdWRl
IDxXZWJDb3JlL0ltYWdlQnVmZmVyLmg+CisKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2Vi
cnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuaAkocmV2aXNpb24gMjY5
MjQ2KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRl
clByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjgsNyArNjgsNyBAQCBwcml2YXRlOgogICAg
IHZvaWQgc3RvcmFnZUNoYW5nZWQoU2hhcmVkTWVtb3J5Kik7CiAKICAgICBNZWRpYVJlY29yZGVy
SWRlbnRpZmllciBtX2lkZW50aWZpZXI7Ci0gICAgUmVmPE1lZGlhU3RyZWFtUHJpdmF0ZT4gbV9z
dHJlYW07CisgICAgUmVmPFdlYkNvcmU6Ok1lZGlhU3RyZWFtUHJpdmF0ZT4gbV9zdHJlYW07CiAg
ICAgUmVmPElQQzo6Q29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwogCiAgICAgc3RkOjp1bmlxdWVf
cHRyPFdlYkNvcmU6OkNBUmluZ0J1ZmZlcj4gbV9yaW5nQnVmZmVyOwpJbmRleDogU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lv
biAyNjkyNDYpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0Nv
Y29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00Niw2ICs0Niw3IEBACiAjaW1wb3J0ICJXZWJQcm9j
ZXNzTWVzc2FnZXMuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmgiCiAjaW1w
b3J0ICJXZWJTbGVlcERpc2FibGVyQ2xpZW50LmgiCisjaW1wb3J0ICJXZWJTeXN0ZW1Tb3VuZERl
bGVnYXRlLmgiCiAjaW1wb3J0ICJXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycy5oIgogI2ltcG9y
dCA8SmF2YVNjcmlwdENvcmUvQ29uZmlnRmlsZS5oPgogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUv
T3B0aW9ucy5oPgpAQCAtNjcsNiArNjgsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBw
bGljYXRpb25DaGVja3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvU1dDb250ZXh0TWFuYWdlci5oPgog
I2ltcG9ydCA8V2ViQ29yZS9TeXN0ZW1CYXR0ZXJ5Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1N5c3Rl
bVNvdW5kTWFuYWdlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9VVElVdGlsaXRpZXMuaD4KICNpbXBv
cnQgPFdlYkNvcmUvVmVyc2lvbkNoZWNrcy5oPgogI2ltcG9ydCA8YWxnb3JpdGhtPgpAQCAtMzYw
LDYgKzM2Miw4IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHIKICNl
bmRpZgogCiAgICAgdXBkYXRlUHJvY2Vzc05hbWUoKTsKKyAgICAKKyAgICBTeXN0ZW1Tb3VuZE1h
bmFnZXI6OnNpbmdsZXRvbigpLnNldFN5c3RlbVNvdW5kRGVsZWdhdGUobWFrZVVuaXF1ZTxXZWJT
eXN0ZW1Tb3VuZERlbGVnYXRlPigpKTsKIH0KIAogdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybVNl
dFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzKFdlYlByb2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJz
JiYgcGFyYW1ldGVycykKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTI0NykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDIwLTExLTAyICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFN5c3RlbSBzb3VuZHMgc2hvdWxk
IGJlIHBsYXllZCBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NDA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dC9TeXN0ZW1CZWVwLm1tOiBBZGRlZC4KKyAgICAgICAgKFRFU1QpOgorCiAyMDIwLTExLTAxICBT
YW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgcmVtYWluaW5n
IGFsdGVybmF0aXZlIHByZWZlcmVuY2Ugc2V0dGluZyBtZWNoYW5pc21zIGZyb20gTGF5b3V0VGVz
dHMKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNjkyNDYpCisrKyBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
d29ya2luZyBjb3B5KQpAQCAtMTA4Niw2ICsxMDg2LDcgQEAKIAkJRTNBMUU3ODUyMUIyNUI5MTAw
OEM2MDA3IC8qIFVSTFBhcnNlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFM0ExRTc4NDIxQjI1QjkxMDA4QzYwMDcgLyogVVJMUGFyc2VyLmNwcCAq
LzsgfTsKIAkJRTNDMjFBN0MyMUIyNUNBMjAwM0IzMUEzIC8qIFVSTEV4dHJhcy5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQzIxQTdCMjFCMjVDQTIw
MDNCMzFBMyAvKiBVUkxFeHRyYXMubW0gKi87IH07CiAJCUUzREVBODExMUYwQTU4OTAwMENCQzJF
OCAvKiBUaHJlYWRHcm91cC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFM0RFQTgxMDFGMEE1ODgwMDBDQkMyRTggLyogVGhyZWFkR3JvdXAuY3BwICov
OyB9OworCQlFM0VGQjAyRjI1NTA2NTAzMDAzQzJGOTYgLyogU3lzdGVtQmVlcC5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRUZCMDJFMjU1MDY1MDMw
MDNDMkY5NiAvKiBTeXN0ZW1CZWVwLm1tICovOyB9OwogCQlFM0Y4QUI5MjI0MUFCOUNFMDAzRTJB
N0UgLyogQWNjZXNzaWJpbGl0eVJlbW90ZVVJQXBwLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNGOEFCOTEyNDFBQjlDRTAwM0UyQTdFIC8qIEFjY2Vz
c2liaWxpdHlSZW1vdGVVSUFwcC5tbSAqLzsgfTsKIAkJRTUwMzZGNzgyMTFCQzI1NDAwQkZEQkUy
IC8qIGNvbG9yLWRyb3AuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFNTAzNkY3NzIxMUJDMjI4MDBCRkRCRTIgLyogY29sb3ItZHJvcC5o
dG1sICovOyB9OwogCQlFNTg5MTgzQzI1MkJDOTBBMDA0MURFRDUgLyogRGF0ZVRpbWVJbnB1dHNB
Y2Nlc3NvcnlWaWV3VGVzdHMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFNTg5MTgzQjI1MkJDOTBBMDA0MURFRDUgLyogRGF0ZVRpbWVJbnB1dHNBY2Nl
c3NvcnlWaWV3VGVzdHMubW0gKi87IH07CkBAIC0yODAzLDYgKzI4MDQsNyBAQAogCQlFM0ExRTc4
NDIxQjI1QjkxMDA4QzYwMDcgLyogVVJMUGFyc2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFVSTFBhcnNlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUzQzIxQTdCMjFCMjVDQTIwMDNCMzFBMyAvKiBVUkxFeHRyYXMubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVUkxFeHRyYXMubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUUzREVBODEwMUYwQTU4ODAwMENCQzJFOCAvKiBUaHJlYWRHcm91cC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUaHJlYWRHcm91cC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzRUZCMDJFMjU1MDY1MDMwMDNDMkY5NiAv
KiBTeXN0ZW1CZWVwLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3lzdGVtQmVlcC5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNGOEFCOTEyNDFBQjlDRTAwM0UyQTdFIC8qIEFj
Y2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFjY2Vzc2li
aWxpdHlSZW1vdGVVSUFwcC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQwMDE5
MzAxQUNFOUI1QzAwMUIwQTJBIC8qIEJsb29tRmlsdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEJsb29tRmlsdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTQ5MDI5NjcxNEUyRTNBNDAwMkJFREQxIC8qIFR5cGluZ1N0eWxlQ3Jhc2gubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBUeXBpbmdTdHlsZUNyYXNo
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzEzMiw2ICszMTM0LDcgQEAKIAkJ
CQlFMzI1QzkwNjIzRTM4NzAyMDBCQzdEM0IgLyogUGljdHVyZUluUGljdHVyZVN1cHBvcnQubW0g
Ki8sCiAJCQkJQzE1Q0JCM0UyM0ZCMTc3QTAwMzAwQ0M3IC8qIFByZWZlcmVuY2VDaGFuZ2VzLm1t
ICovLAogCQkJCUMxNDlENTRGMjQyRTk4NDQwMDNFQkIxMiAvKiBTbGVlcERpc2FibGVyLm1tICov
LAorCQkJCUUzRUZCMDJFMjU1MDY1MDMwMDNDMkY5NiAvKiBTeXN0ZW1CZWVwLm1tICovLAogCQkJ
CTBGMTM5RTc1MUE0MjNBNTMwMEY1OTBGNSAvKiBXZWFrT2JqQ1B0ci5tbSAqLywKIAkJCQlDMUZG
OUVEQTI0NDY0NEYwMDA4MzlBRTQgLyogV2ViRmlsdGVyLm1tICovLAogCQkJCUMxNEQzMDQ1MjRC
NEMzQkEwMDQ4MDM4NyAvKiBYUENFbmRwb2ludC5tbSAqLywKQEAgLTU0MzQsNiArNTQzNyw3IEBA
CiAJCQkJNTFFQjEyNjcyNENCODc1MzAwMENCMDMwIC8qIFN1bkxpZ2h0QXBwbGljYXRpb25HZW5l
cmljTkVTLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDQzM0EzOTYyMDgwNDQxNDAwOTFFRDU3IC8q
IFN5bmNocm9ub3VzVGltZW91dFRlc3RzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQTgx
QTQxMUExOTAwNDQ3QzRDIC8qIFN5bnRoZXRpY0JhY2tpbmdTY2FsZUZhY3RvcldpbmRvdy5tIGlu
IFNvdXJjZXMgKi8sCisJCQkJRTNFRkIwMkYyNTUwNjUwMzAwM0MyRjk2IC8qIFN5c3RlbUJlZXAu
bW0gaW4gU291cmNlcyAqLywKIAkJCQkxQzczNEI1MzIwNzg4QzQ4MDBGNDMwRUEgLyogU3lzdGVt
Q29sb3JzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFCNzZFNDMyMzI5OEUyQzAwN0ZFRDJDIC8q
IFN5c3RlbVByZXZpZXcubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDcwMDU5NjIxRURBMEM2MDAz
NDYzQ0IgLyogVGFiT3V0T2ZXZWJWaWV3Lm1tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9TeXN0ZW1CZWVwLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1N5c3RlbUJlZXAubW0JKG5vbmV4aXN0ZW50
KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvU3lzdGVtQmVlcC5tbQkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmln
LmgiCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdFdLV2ViVmll
dy5oIgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg+Cisj
aW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2Vi
Vmlld1ByaXZhdGVGb3JUZXN0aW5nLmg+CisjaW1wb3J0IDx3dGYvVGhyZWFkaW5nLmg+CisKKyNp
ZiBXS19IQVZFX0NfU1BJCisKK1RFU1QoV2ViS2l0LCBTeXN0ZW1CZWVwKQoreworICAgIGF1dG8g
Y29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBp
bml0XSk7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJJ
bnRlcm5hbHNJbmplY3RlZEJ1bmRsZVRlc3QiKSk7CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5w
cm9jZXNzUG9vbCA9IChXS1Byb2Nlc3NQb29sICopY29udGV4dC5nZXQoKTsKKyAgICBhdXRvIHdl
YlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01h
a2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCkg
YWRkVG9XaW5kb3c6WUVTXSk7CisKKyAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZh
U2NyaXB0OkAid2luZG93LmludGVybmFscy5zeXN0ZW1CZWVwKCkiXTsKK30KKworI2VuZGlmIC8v
IFdLX0hBVkVfQ19TUEkK
</data>
<flag name="review"
          id="429451"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413299</attachid>
            <date>2020-11-05 08:13:54 -0800</date>
            <delta_ts>2020-11-05 08:34:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218405-20201105081353.patch</filename>
            <type>text/plain</type>
            <size>38841</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTQzMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBACisyMDIwLTExLTA1ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFN5c3RlbSBz
b3VuZHMgc2hvdWxkIGJlIHBsYXllZCBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NDA1CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83MDg5ODg0Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKwor
ICAgICAgICBJbiBwcmVwYXJhdGlvbiBvZiBibG9ja2luZyB0aGUgc3lzdGVtIHNvdW5kIHNlcnZl
ciBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBzeXN0ZW0gc291bmRzIHNob3VsZCBiZSBwbGF5
ZWQgaW4gdGhlIFVJIHByb2Nlc3MuCisgICAgICAgIFRoaXMgcGF0Y2ggY3JlYXRlcyBhIHN5c3Rl
bSBzb3VuZCBtYW5hZ2VyLCB3aGljaCBkZWxlZ2F0ZXMgdGhlIHNvdW5kIHJlcXVlc3QgaWYgYSBk
ZWxlZ2F0ZSBpcyBwcmVzZW50LCBvdGhlcndpc2UgdGhlIGZ1bmN0aW9uCisgICAgICAgIFBBTDo6
c3lzdGVtQmVlcCB3aWxsIGJlIGNhbGxlZC4KKworICAgICAgICBBUEkgdGVzdDogV2ViS2l0LlN5
c3RlbUJlZXAKKworICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogU291cmNlcy50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6Y3V0KToK
KyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6Y29weSk6CisgICAgICAgIChXZWJDb3JlOjpFZGl0
b3I6OnBlcmZvcm1EZWxldGUpOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlU2VsZWN0VG9NYXJrKToKKyAgICAgICAgKFdlYkNv
cmU6OmV4ZWN1dGVTd2FwV2l0aE1hcmspOgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvRWRpdG9y
Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OnRha2VGaW5kU3RyaW5nRnJvbVNl
bGVjdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OmJlZXApOgorICAgICAg
ICAqIHBsYXRmb3JtL1N5c3RlbVNvdW5kRGVsZWdhdGUuaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpTeXN0ZW1Tb3VuZERlbGVnYXRlOjp+U3lzdGVtU291bmREZWxlZ2F0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpTeXN0ZW1Tb3VuZERlbGVnYXRlOjpzeXN0ZW1CZWVwKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3Rl
bVNvdW5kTWFuYWdlcjo6c2V0U3lzdGVtU291bmREZWxlZ2F0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTeXN0ZW1Tb3VuZE1hbmFnZXI6OnN5c3RlbUJlZXApOgorICAgICAgICAqIHBsYXRmb3JtL1N5
c3RlbVNvdW5kTWFuYWdlci5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9TdGVy
ZW9QYW5uZXIuY3BwOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsczo6c3lzdGVtQmVlcCk6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAtMTEtMDUg
IFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJbnRlZ3Jh
dGlvbl0gQWRkIHZpc3VhbCBzdXBwb3J0IGZvciB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcwpJbmRl
eDogU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9IZWFkZXJzLmNtYWtlCShyZXZpc2lvbiAyNjk0MzEpCisrKyBTb3VyY2UvV2ViQ29yZS9I
ZWFkZXJzLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0xMDU3LDYgKzEwNTcsNyBAQCBzZXQoV2Vi
Q29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgcGxhdGZvcm0vU2xlZXBEaXNhYmxl
cklkZW50aWZpZXIuaAogICAgIHBsYXRmb3JtL1N1ZGRlblRlcm1pbmF0aW9uLmgKICAgICBwbGF0
Zm9ybS9TdXBwbGVtZW50YWJsZS5oCisgICAgcGxhdGZvcm0vU3lzdGVtU291bmREZWxlZ2F0ZS5o
CiAgICAgcGxhdGZvcm0vVGhlbWVUeXBlcy5oCiAgICAgcGxhdGZvcm0vVGhyZWFkQ2hlY2suaAog
ICAgIHBsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaApJbmRleDogU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlz
aW9uIDI2OTQzMSkKKysrIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xODE4LDYgKzE4MTgsNyBAQCBwbGF0Zm9ybS9TaGFyZWRCdWZmZXJDaHVua1JlYWRlci5j
cHAKIHBsYXRmb3JtL1NoYXJlZFN0cmluZ0hhc2guY3BwCiBwbGF0Zm9ybS9TbGVlcERpc2FibGVy
LmNwcAogcGxhdGZvcm0vU2xlZXBEaXNhYmxlckNsaWVudC5jcHAKK3BsYXRmb3JtL1N5c3RlbVNv
dW5kTWFuYWdlci5jcHAKIHBsYXRmb3JtL1N0YXRpY1Bhc3RlYm9hcmQuY3BwCiBwbGF0Zm9ybS9U
aGVtZS5jcHAKIHBsYXRmb3JtL1RoZW1lVHlwZXMuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNjk0MzEp
CisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdv
cmtpbmcgY29weSkKQEAgLTUwMDQsNiArNTAwNCw4IEBACiAJCUUzQjJGMEVFMUQ3RjRDQTkwMEIw
QzlEMSAvKiBMb2FkYWJsZVNjcmlwdENsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTNCMkYwRTgxRDdGMzVFQzAwQjBDOUQxIC8qIExvYWRhYmxl
U2NyaXB0Q2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJRTNCMkYwRjAxRDdGNENCNTAwQjBDOUQxIC8qIExvYWRhYmxlQ2xhc3NpY1Njcmlw
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNCMkYw
RTQxRDdGMzVFQzAwQjBDOUQxIC8qIExvYWRhYmxlQ2xhc3NpY1NjcmlwdC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzQkJDMjQ3MjM4MzU1MjYw
MDZFQzM5RiAvKiBDU1NWYWx1ZUtleS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTNCQkMyNDUyMzgzNTUxQTAwNkVDMzlGIC8qIENTU1ZhbHVlS2V5Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTNDMDQx
MkYyNTRDQTI5QjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDMDQxMkQyNTRDQTI5QjAwMjFEMEU2
IC8qIFN5c3RlbVNvdW5kTWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCUUzQzA0MTM4MjU0Q0IzMEQwMDIxRDBFNiAvKiBTeXN0ZW1Tb3Vu
ZERlbGVnYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFM0MwNDEzMTI1NENBNjY2MDAyMUQwRTYgLyogU3lzdGVtU291bmREZWxlZ2F0ZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzQzk5QTA5MURD
M0Q0MUMwMDc5NEFEMyAvKiBET01KSVRDaGVja0RPTS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDOTlBMDgxREMzRDQxNzAwNzk0QUQzIC8qIERPTUpJ
VENoZWNrRE9NLmggKi87IH07CiAJCUUzQzlBRUNCMjExMzE0OTkwMDQxOUI5MiAvKiBKU01pY3Jv
dGFza0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFM0M5QUVDOTIxMTMxNDc0MDA0MTlCOTIgLyogSlNNaWNyb3Rhc2tDYWxsYmFjay5oICov
OyB9OwogCQlFM0U0RTJBODFFM0IxNzEwMDAyM0JCOEEgLyogU2NyaXB0RWxlbWVudENhY2hlZFNj
cmlwdEZldGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUzRTRFMkE2MUUzQjE2RkMwMDIzQkI4QSAvKiBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0
RmV0Y2hlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CkBAIC0xNjAxMiw2ICsxNjAxNCw5IEBACiAJCUUzQkYxOUU1MjJBRjJGRjQwMDlDOTkyNiAvKiBC
ZWZvcmVMb2FkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQmVmb3JlTG9hZEV2ZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNCRjE5RTYyMkFGMzAyQTAwOUM5OTI2
IC8qIEhhc2hDaGFuZ2VFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIYXNoQ2hhbmdlRXZl
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0JGMTlFNzIyQUYzMDlGMDA5
Qzk5MjYgLyogU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRTNDMDQxMkQyNTRDQTI5QjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTeXN0ZW1Tb3VuZE1hbmFnZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTNDMDQxMzEyNTRDQTY2NjAwMjFEMEU2
IC8qIFN5c3RlbVNvdW5kRGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3lzdGVtU291bmREZWxl
Z2F0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFM0MwNDEzMjI1NENBNzExMDAy
MUQwRTYgLyogU3lzdGVtU291bmRNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN5c3Rl
bVNvdW5kTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzQzk5QTA4
MURDM0Q0MTcwMDc5NEFEMyAvKiBET01KSVRDaGVja0RPTS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBET01KSVRDaGVja0RPTS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFM0M5QUVDOTIxMTMxNDc0MDA0MTlCOTIgLyogSlNNaWNyb3Rhc2tDYWxsYmFjay5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01pY3JvdGFza0NhbGxiYWNrLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzRDA0OTkzMURBREMwNDUwMDcxOEYzQyAvKiBO
b2RlQ29uc3RhbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5vZGVDb25z
dGFudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI3MzU3LDYgKzI3MzYyLDkg
QEAKIAkJCQlGNDMzRTkwMjFEQkJEQkEyMDBFRjBEMTQgLyogU3RhdGljUGFzdGVib2FyZC5oICov
LAogCQkJCTkzQjJEODE1MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oICov
LAogCQkJCTk3NjI3Qjk3MTRGQjU0MjQwMDJDRENBMSAvKiBTdXBwbGVtZW50YWJsZS5oICovLAor
CQkJCUUzQzA0MTMxMjU0Q0E2NjYwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZERlbGVnYXRlLmggKi8s
CisJCQkJRTNDMDQxMzIyNTRDQTcxMTAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdlci5jcHAg
Ki8sCisJCQkJRTNDMDQxMkQyNTRDQTI5QjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdlci5o
ICovLAogCQkJCTdDQzU2NEI2MThCQUJFQTYwMDFCOTY1MiAvKiBUZWxlcGhvbmVOdW1iZXJEZXRl
Y3Rvci5oICovLAogCQkJCUJDRTY1RDMxMEVBRDEyMTEwMDdFNDUzMyAvKiBUaGVtZS5jcHAgKi8s
CiAJCQkJQkNFNjU4RkUwRUE5MjQ4QTAwN0U0NTMzIC8qIFRoZW1lLmggKi8sCkBAIC0zNDU5MCw2
ICszNDU5OCw4IEBACiAJCQkJQzE2OTJERDUyM0QyM0UwODAwNkU4OEY3IC8qIFN5c3RlbUJhdHRl
cnkuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0RThCNEVDMjE2Qjc5RTUwMEI4ODM0RCAvKiBTeXN0
ZW1Gb250RGF0YWJhc2VDb3JlVGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYwM0MwNzQxODg0
Njk1RTAwQTVGOENBIC8qIFN5c3RlbU1lbW9yeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTNDMDQx
MzgyNTRDQjMwRDAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kRGVsZWdhdGUuaCBpbiBIZWFkZXJzICov
LAorCQkJCUUzQzA0MTJGMjU0Q0EyOUIwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFnZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTVENTk3NUIzMTk2MzVGMTEwMEQwMDg3OCAvKiBTeXN0ZW1WZXJz
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOENGRjA1MTBBMTU0RjA5MDAwQTQyMzQgLyogVGFi
bGVMYXlvdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTZGMTcyNjRGMjQ3MEM2MEIwMDUxOEM5NiAv
KiBUYWJsZVdyYXBwZXJCbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmggaW4gSGVhZGVycyAqLywKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAJKHJldmlzaW9uIDI2OTQzMSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAzLDYgKzEw
Myw3IEBACiAjaW5jbHVkZSAiU3BlbGxpbmdDb3JyZWN0aW9uQ29tbWFuZC5oIgogI2luY2x1ZGUg
IlN0YXRpY1Bhc3RlYm9hcmQuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMuaCIKKyNpbmNs
dWRlICJTeXN0ZW1Tb3VuZE1hbmFnZXIuaCIKICNpbmNsdWRlICJUZWxlcGhvbmVOdW1iZXJEZXRl
Y3Rvci5oIgogI2luY2x1ZGUgIlRleHQuaCIKICNpbmNsdWRlICJUZXh0Q2hlY2tlckNsaWVudC5o
IgpAQCAtMTE1LDcgKzExNiw2IEBACiAjaW5jbHVkZSAiVmlzaWJsZVVuaXRzLmgiCiAjaW5jbHVk
ZSAibWFya3VwLmgiCiAjaW5jbHVkZSA8cGFsL0ZpbGVTaXplRm9ybWF0dGVyLmg+Ci0jaW5jbHVk
ZSA8cGFsL3N5c3RlbS9Tb3VuZC5oPgogI2luY2x1ZGUgPHBhbC90ZXh0L0tpbGxSaW5nLmg+CiAj
aW5jbHVkZSA8d3RmL1NldEZvclNjb3BlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFj
dGVyTmFtZXMuaD4KQEAgLTEzNjYsNyArMTM2Niw3IEBAIHZvaWQgRWRpdG9yOjpjdXQoRnJvbU1l
bnVPcktleUJpbmRpbmcgZnIKICAgICBpZiAodHJ5REhUTUxDdXQoKSkKICAgICAgICAgcmV0dXJu
OyAvLyBESFRNTCBkaWQgdGhlIHdob2xlIG9wZXJhdGlvbgogICAgIGlmICghY2FuQ3V0KCkpIHsK
LSAgICAgICAgUEFMOjpzeXN0ZW1CZWVwKCk7CisgICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6
c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0x
Mzc5LDcgKzEzNzksNyBAQCB2b2lkIEVkaXRvcjo6Y29weShGcm9tTWVudU9yS2V5QmluZGluZyBm
CiAgICAgaWYgKHRyeURIVE1MQ29weSgpKQogICAgICAgICByZXR1cm47IC8vIERIVE1MIGRpZCB0
aGUgd2hvbGUgb3BlcmF0aW9uCiAgICAgaWYgKCFjYW5Db3B5KCkpIHsKLSAgICAgICAgUEFMOjpz
eXN0ZW1CZWVwKCk7CisgICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lz
dGVtQmVlcCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xNTE2LDcgKzE1MTYsNyBA
QCB2b2lkIEVkaXRvcjo6cXVvdGVGcmFnbWVudEZvclBhc3RpbmcoRG9jCiB2b2lkIEVkaXRvcjo6
cGVyZm9ybURlbGV0ZSgpCiB7CiAgICAgaWYgKCFjYW5EZWxldGUoKSkgewotICAgICAgICBQQUw6
OnN5c3RlbUJlZXAoKTsKKyAgICAgICAgU3lzdGVtU291bmRNYW5hZ2VyOjpzaW5nbGV0b24oKS5z
eXN0ZW1CZWVwKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAkocmV2aXNpb24gMjY5NDMxKQorKysgU291cmNl
L1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYs
MTIgKzU2LDEyIEBACiAjaW5jbHVkZSAiU2Nyb2xsYmFyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3Mu
aCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMuaCIKKyNpbmNsdWRlICJTeXN0ZW1Tb3VuZE1h
bmFnZXIuaCIKICNpbmNsdWRlICJUeXBpbmdDb21tYW5kLmgiCiAjaW5jbHVkZSAiVW5saW5rQ29t
bWFuZC5oIgogI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9yLmgiCiAjaW5jbHVkZSAiVXNl
clR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaCIKICNpbmNsdWRlICJtYXJrdXAuaCIKLSNpbmNsdWRl
IDxwYWwvc3lzdGVtL1NvdW5kLmg+CiAjaW5jbHVkZSA8cGFsL3RleHQvS2lsbFJpbmcuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CiAKQEAgLTEwNDMsNyArMTA0Myw3IEBAIHN0
YXRpYyBib29sIGV4ZWN1dGVTZWxlY3RUb01hcmsoRnJhbWUmIGYKICAgICBhdXRvIG1hcmtSYW5n
ZSA9IGVkaXRvci5tYXJrKCkudG9Ob3JtYWxpemVkUmFuZ2UoKTsKICAgICBhdXRvIHNlbGVjdGlv
blJhbmdlID0gc2VsZWN0aW9uLnNlbGVjdGlvbigpLnRvTm9ybWFsaXplZFJhbmdlKCk7CiAgICAg
aWYgKCFtYXJrUmFuZ2UgfHwgIXNlbGVjdGlvblJhbmdlKSB7Ci0gICAgICAgIFBBTDo6c3lzdGVt
QmVlcCgpOworICAgICAgICBTeXN0ZW1Tb3VuZE1hbmFnZXI6OnNpbmdsZXRvbigpLnN5c3RlbUJl
ZXAoKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBzZWxlY3Rpb24uc2V0U2Vs
ZWN0ZWRSYW5nZSh1bmlvblJhbmdlKCptYXJrUmFuZ2UsICpzZWxlY3Rpb25SYW5nZSksIEFmZmlu
aXR5OjpEb3duc3RyZWFtLCBGcmFtZVNlbGVjdGlvbjo6U2hvdWxkQ2xvc2VUeXBpbmc6Olllcyk7
CkBAIC0xMTAzLDcgKzExMDMsNyBAQCBzdGF0aWMgYm9vbCBleGVjdXRlU3dhcFdpdGhNYXJrKEZy
YW1lJiBmCiAgICAgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgbWFyayA9IGZyYW1lLmVkaXRvcigp
Lm1hcmsoKTsKICAgICBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24gPSBmcmFtZS5z
ZWxlY3Rpb24oKS5zZWxlY3Rpb24oKTsKICAgICBpZiAobWFyay5pc05vbmUoKSB8fCBzZWxlY3Rp
b24uaXNOb25lKCkpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1CZWVwKCk7CisgICAgICAgIFN5c3Rl
bVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgfQogICAgIGZyYW1lLnNlbGVjdGlvbigpLnNldFNlbGVjdGlvbihtYXJrKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRWRpdG9yQ29jb2EubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbQkocmV2
aXNpb24gMjY5NDMxKQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2Nv
YS5tbQkod29ya2luZyBjb3B5KQpAQCAtNTMsMTIgKzUzLDEyIEBACiAjaW1wb3J0ICJSZW5kZXJF
bGVtZW50LmgiCiAjaW1wb3J0ICJSZW5kZXJTdHlsZS5oIgogI2ltcG9ydCAiU2V0dGluZ3MuaCIK
KyNpbXBvcnQgIlN5c3RlbVNvdW5kTWFuYWdlci5oIgogI2ltcG9ydCAiVGV4dC5oIgogI2ltcG9y
dCAiVVRJVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJXZWJDb250ZW50UmVhZGVyLmgiCiAjaW1wb3J0
ICJtYXJrdXAuaCIKICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5nU1BJ
Lmg+Ci0jaW1wb3J0IDxwYWwvc3lzdGVtL1NvdW5kLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tPYmpD
RXhjZXB0aW9ucy5oPgogI2ltcG9ydCA8d3RmL2NvY29hL05TVVJMRXh0cmFzLmg+CiAKQEAgLTIz
OSw3ICsyMzksNyBAQCBSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gRWRpdG9yOjp3ZWJDb250CiB2
b2lkIEVkaXRvcjo6dGFrZUZpbmRTdHJpbmdGcm9tU2VsZWN0aW9uKCkKIHsKICAgICBpZiAoIWNh
bkNvcHlFeGNsdWRpbmdTdGFuZGFsb25lSW1hZ2VzKCkpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1C
ZWVwKCk7CisgICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVl
cCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAkocmV2aXNpb24gMjY5NDMx
KQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDcgQEAKICNpbmNsdWRlICJQYXN0ZWJvYXJkLmgi
CiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1
ZGUgIlN5c3RlbVNvdW5kTWFuYWdlci5oIgogI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9y
LmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0RnVuY3Rpb25DYWxsLmg+CiAjaW5j
bHVkZSA8cGFsL3N5c3RlbS9Tb3VuZC5oPgpAQCAtNTU1LDcgKzU1Niw3IEBAIHZvaWQgSW5zcGVj
dG9yRnJvbnRlbmRIb3N0Ojp1bmJ1ZmZlcmVkTG8KIAogdm9pZCBJbnNwZWN0b3JGcm9udGVuZEhv
c3Q6OmJlZXAoKQogewotICAgIFBBTDo6c3lzdGVtQmVlcCgpOworICAgIFN5c3RlbVNvdW5kTWFu
YWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogfQogCiB2b2lkIEluc3BlY3RvckZyb250
ZW5kSG9zdDo6aW5zcGVjdEluc3BlY3RvcigpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TeXN0ZW1Tb3VuZERlbGVnYXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU3lzdGVtU291bmREZWxlZ2F0ZS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1N5c3RlbVNvdW5kRGVsZWdhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDM3IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBV
VEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIs
IElOQy4gT1IKKyogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI3By
YWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU3lzdGVtU291bmREZWxl
Z2F0ZSB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+U3lzdGVtU291bmREZWxlZ2F0ZSgpIHsgfQor
CisgICAgdmlydHVhbCB2b2lkIHN5c3RlbUJlZXAoKSB7IH0KK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNvdW5kTWFuYWdl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3lzdGVtU291bmRN
YW5hZ2VyLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0
ZW1Tb3VuZE1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisq
IENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiU3lzdGVtU291bmRNYW5hZ2VyLmgiCisKKyNpbmNsdWRlICJTeXN0ZW1Tb3Vu
ZERlbGVnYXRlLmgiCisKKyNpbmNsdWRlIDxwYWwvc3lzdGVtL1NvdW5kLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworU3lzdGVtU291bmRNYW5hZ2VyJiBTeXN0ZW1Tb3VuZE1hbmFnZXI6OnNp
bmdsZXRvbigpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFN5c3RlbVNvdW5kTWFuYWdl
cj4gc3lzdGVtU291bmRNYW5hZ2VyOworICAgIHJldHVybiBzeXN0ZW1Tb3VuZE1hbmFnZXI7Cit9
CisgICAgCit2b2lkIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2V0U3lzdGVtU291bmREZWxlZ2F0ZShz
dGQ6OnVuaXF1ZV9wdHI8U3lzdGVtU291bmREZWxlZ2F0ZT4mJiBkZWxlZ2F0ZSkKK3sKKyAgICBt
X2RlbGVnYXRlID0gV1RGTW92ZShkZWxlZ2F0ZSk7Cit9CisgICAgCit2b2lkIFN5c3RlbVNvdW5k
TWFuYWdlcjo6c3lzdGVtQmVlcCgpCit7CisgICAgaWYgKG1fZGVsZWdhdGUpIHsKKyAgICAgICAg
bV9kZWxlZ2F0ZS0+c3lzdGVtQmVlcCgpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIFBB
TDo6c3lzdGVtQmVlcCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuaAkobm9uZXhpc3RlbnQp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDQ5IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisq
IGFyZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTeXN0ZW1Tb3VuZERlbGVnYXRlOwor
CitjbGFzcyBTeXN0ZW1Tb3VuZE1hbmFnZXIgeworICAgIGZyaWVuZCBOZXZlckRlc3Ryb3llZDxT
eXN0ZW1Tb3VuZE1hbmFnZXI+OworcHVibGljOgorICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBT
eXN0ZW1Tb3VuZE1hbmFnZXImIHNpbmdsZXRvbigpOworICAgIAorICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2V0U3lzdGVtU291bmREZWxlZ2F0ZShzdGQ6OnVuaXF1ZV9wdHI8U3lzdGVtU291bmRE
ZWxlZ2F0ZT4mJik7CisgICAgCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzeXN0ZW1CZWVwKCk7
CisgICAgCitwcml2YXRlOgorICAgIFN5c3RlbVNvdW5kTWFuYWdlcigpID0gZGVmYXVsdDsKKwor
ICAgIHN0ZDo6dW5pcXVlX3B0cjxTeXN0ZW1Tb3VuZERlbGVnYXRlPiBtX2RlbGVnYXRlOworfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vU3RlcmVvUGFubmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9TdGVyZW9QYW5uZXIuY3BwCShyZXZpc2lvbiAyNjk0MzEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9TdGVyZW9QYW5uZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yOSw2ICsyOSw3IEBACiAKICNpZiBFTkFCTEUoV0VCX0FVRElPKQogCisjaW5jbHVkZSAiU2hh
cmVkQnVmZmVyLmgiCiAjaW5jbHVkZSAiVmVjdG9yTWF0aC5oIgogI2luY2x1ZGUgPHd0Zi9NYXRo
RXh0cmFzLmg+CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHJldmlz
aW9uIDI2OTQzMSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTkyLDYgKzE5Miw3IEBACiAjaW5jbHVkZSAiU3R5bGVSdWxlLmgiCiAj
aW5jbHVkZSAiU3R5bGVTY29wZS5oIgogI2luY2x1ZGUgIlN0eWxlU2hlZXRDb250ZW50cy5oIgor
I2luY2x1ZGUgIlN5c3RlbVNvdW5kTWFuYWdlci5oIgogI2luY2x1ZGUgIlRleHRJdGVyYXRvci5o
IgogI2luY2x1ZGUgIlRleHRQbGFjZWhvbGRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJUcmVlU2Nv
cGUuaCIKQEAgLTQ3MjksNiArNDczMCwxMCBAQCBFeGNlcHRpb25PcjxTdHJpbmc+IEludGVybmFs
czo6cGF0aFN0cmluCiAgICAgcmV0dXJuIGJ1aWxkZXIucmVzdWx0KCk7CiB9CiAKK3ZvaWQgSW50
ZXJuYWxzOjpzeXN0ZW1CZWVwKCkKK3sKKyAgICBTeXN0ZW1Tb3VuZE1hbmFnZXI6OnNpbmdsZXRv
bigpLnN5c3RlbUJlZXAoKTsKK30KIAogU3RyaW5nIEludGVybmFsczo6Z2V0Q3VycmVudE1lZGlh
Q29udHJvbHNTdGF0dXNGb3JFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQmIG1lZGlhRWxlbWVudCkK
IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNpb24gMjY5NDMxKQor
KysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkod29ya2luZyBjb3B5KQpAQCAt
MTA2OSw2ICsxMDY5LDggQEAgcHVibGljOgogICAgIGJvb2wgcmFuZ2VDb250YWluc05vZGUoY29u
c3QgQWJzdHJhY3RSYW5nZSYsIE5vZGUmLCBUcmVlVHlwZSk7CiAgICAgYm9vbCByYW5nZUNvbnRh
aW5zUmFuZ2UoY29uc3QgQWJzdHJhY3RSYW5nZSYsIGNvbnN0IEFic3RyYWN0UmFuZ2UmLCBUcmVl
VHlwZSk7CiAKKyAgICB2b2lkIHN5c3RlbUJlZXAoKTsKKwogcHJpdmF0ZToKICAgICBleHBsaWNp
dCBJbnRlcm5hbHMoRG9jdW1lbnQmKTsKICAgICBEb2N1bWVudCogY29udGV4dERvY3VtZW50KCkg
Y29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCShyZXZpc2lvbiAy
Njk0MzEpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTk2OCw0ICs5NjgsNiBAQCBlbnVtIFRyZWVUeXBlIHsKICAgICBET01TdHJpbmcg
dHJlZU9yZGVyKE5vZGUgYSwgTm9kZSBiLCBvcHRpb25hbCBUcmVlVHlwZSB0cmVlID0gIlRyZWUi
KTsKICAgICBib29sZWFuIHJhbmdlQ29udGFpbnNOb2RlKEFic3RyYWN0UmFuZ2UgcmFuZ2UsIE5v
ZGUgbm9kZSwgb3B0aW9uYWwgVHJlZVR5cGUgdHJlZSA9ICJUcmVlIik7CiAgICAgYm9vbGVhbiBy
YW5nZUNvbnRhaW5zUmFuZ2UoQWJzdHJhY3RSYW5nZSBvdXRlclJhbmdlLCBBYnN0cmFjdFJhbmdl
IGlubmVyUmFuZ2UsIG9wdGlvbmFsIFRyZWVUeXBlIHRyZWUgPSAiVHJlZSIpOworCisgICAgdW5k
ZWZpbmVkIHN5c3RlbUJlZXAoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjY5NDMxKQor
KysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNiBA
QAorMjAyMC0xMS0wNSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgW21hY09TXSBTeXN0ZW0gc291bmRzIHNob3VsZCBiZSBwbGF5ZWQgaW4gdGhlIFVJIHBy
b2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
ODQwNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzA4OTg4NDY+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgU3ViY2xhc3MgU3lzdGVtU291bmREZWxlZ2F0
ZSwgd2hpY2ggd2lsbCBmb3J3YXJkIHN5c3RlbSBzb3VuZCByZXF1ZXN0cyB0byB0aGUgVUkgcHJv
Y2Vzcy4KKworICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OnN5c3Rl
bUJlZXApOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL2dy
YXBoaWNzL1JlbW90ZVJlc291cmNlQ2FjaGVQcm94eS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Oldl
YlN5c3RlbVNvdW5kRGVsZWdhdGU6OnN5c3RlbUJlZXApOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL2Nv
Y29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxh
dGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisKIDIwMjAtMTEtMDUgIENhcmxvcyBHYXJjaWEg
Q2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFdlYkRyaXZlcjogaGFuZGxl
IHN1cnJvZ2F0ZSBwYWlycyBpbiBrZXlib2FyZCBhY3Rpb25zCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU291cmNlcy50eHQJKHJl
dmlzaW9uIDI2OTQzMSkKKysrIFNvdXJjZS9XZWJLaXQvU291cmNlcy50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTQ4OSw2ICs0ODksNyBAQCBXZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzQ3Jl
YXRpb25QCiBXZWJQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcy5jcHAKIFdlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAKIFdlYlByb2Nlc3MvV2ViU2xlZXBEaXNhYmxlckNsaWVudC5jcHAK
K1dlYlByb2Nlc3MvV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5jcHAKIAogLy8gRklYTUUoMjA2MjY2
KTogQXV0b21hdGlvblByb3RvY29sT2JqZWN0cy5oJ3MgIm5hbWVzcGFjZSBQcm90b2NvbCIgY29u
ZmxpY3RzIHdpdGggb2JqYy9ydW50aW1lLmgncyAidHlwZWRlZiBzdHJ1Y3Qgb2JqY19vYmplY3Qg
UHJvdG9jb2wiCiBXZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb25Qcm94
eS5jcHAgQG5vLXVuaWZ5CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5jcHAJKHJldmlzaW9uIDI2OTQzMSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2LDYgKzY2LDcgQEAKICNp
bmNsdWRlIDxXZWJDb3JlL1ByZXdhcm1JbmZvcm1hdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UHVibGljU3VmZml4Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TdWRkZW5UZXJtaW5hdGlvbi5oPgor
I2luY2x1ZGUgPHBhbC9zeXN0ZW0vU291bmQuaD4KICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1
ZGUgPHd0Zi9BbGdvcml0aG1zLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CkBA
IC0xOTAxLDYgKzE5MDIsMTEgQEAgYm9vbCBXZWJQcm9jZXNzUHJveHk6Omhhc1NsZWVwRGlzYWJs
ZXIoKQogICAgIHJldHVybiAhbV9zbGVlcERpc2FibGVycy5pc0VtcHR5KCk7CiB9CiAKK3ZvaWQg
V2ViUHJvY2Vzc1Byb3h5OjpzeXN0ZW1CZWVwKCkKK3sKKyAgICBQQUw6OnN5c3RlbUJlZXAoKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBNRVNTQUdFX0NIRUNLCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkocmV2aXNpb24gMjY5
NDMxKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgJKHdvcmtp
bmcgY29weSkKQEAgLTUwOCw2ICs1MDgsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgY3JlYXRlU3Bl
ZWNoUmVjb2duaXRpb25TZXJ2ZXIoU3BlZWNoUmVjb2duaXRpb25TZXJ2ZXJJZGVudGlmaWVyKTsK
ICAgICB2b2lkIGRlc3Ryb3lTcGVlY2hSZWNvZ25pdGlvblNlcnZlcihTcGVlY2hSZWNvZ25pdGlv
blNlcnZlcklkZW50aWZpZXIpOwogCisgICAgdm9pZCBzeXN0ZW1CZWVwKCk7CisgICAgCiAgICAg
ZW51bSBjbGFzcyBJc1dlYWsgeyBObywgWWVzIH07CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4g
Y2xhc3MgV2Vha09yU3Ryb25nUHRyIHsKICAgICBwdWJsaWM6CkluZGV4OiBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCShyZXZpc2lv
biAyNjk0MzEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVz
c2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTkwLDQgKzkwLDYgQEAgbWVzc2FnZXMgLT4gV2Vi
UHJvY2Vzc1Byb3h5IExlZ2FjeVJlY2VpdgogCiAgICAgQ3JlYXRlU3BlZWNoUmVjb2duaXRpb25T
ZXJ2ZXIoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgaWRlbnRpZmllcikKICAgICBEZXN0cm95U3Bl
ZWNoUmVjb2duaXRpb25TZXJ2ZXIoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgaWRlbnRpZmllcikK
KworICAgIFN5c3RlbUJlZXAoKQogfQpJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNjk0MzEpCisrKyBTb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC01
NDEzLDYgKzU0MTMsOCBAQAogCQlFMzk2MjhEQzIzOTYwQ0M2MDA2NThFQ0QgLyogV2ViRGV2aWNl
T3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM5NjI4RTQyMzk3MUYzNDAwNjU4RUNEIC8qIFdlYkRl
dmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5tZXNzYWdlcy5pbjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNDQUFBNDMyNDEzMjc4QTAwQ0VEMkUyIC8q
IEFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUUzRUZCMDJDMjU1MDYxN0MwMDNDMkY5NiAvKiBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlN5c3RlbVNvdW5kRGVsZWdhdGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlFM0VGQjAyRDI1NTA2MTdDMDAzQzJGOTYgLyogV2ViU3lz
dGVtU291bmREZWxlZ2F0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0MDQ5MDcwMjFERTY1RjcwMDM3RjBE
QiAvKiBTY3JvbGxlclBhaXJNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U2Nyb2xsZXJQYWlyTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0MDQ5MDcx
MjFERTY1RjcwMDM3RjBEQiAvKiBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3Rl
TWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVNYWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFNDA0OTA3MjIxREU2NUY3MDAzN0YwREIgLyogU2Nyb2xsZXJQYWlyTWFjLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2Nyb2xsZXJQYWlyTWFjLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTAwMSw2ICs5MDAzLDggQEAKIAkJCQlC
Q0UwRTQyNDE2OEI3QTI4MDA1N0U2NkEgLyogV2ViUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLywKIAkJ
CQlDMThGQjUxRDI0MkY5Rjc2MDA3RTk4NzUgLyogV2ViU2xlZXBEaXNhYmxlckNsaWVudC5jcHAg
Ki8sCiAJCQkJQzE4RkI1MUUyNDJGOUY3NzAwN0U5ODc1IC8qIFdlYlNsZWVwRGlzYWJsZXJDbGll
bnQuaCAqLywKKwkJCQlFM0VGQjAyQzI1NTA2MTdDMDAzQzJGOTYgLyogV2ViU3lzdGVtU291bmRE
ZWxlZ2F0ZS5jcHAgKi8sCisJCQkJRTNFRkIwMkQyNTUwNjE3QzAwM0MyRjk2IC8qIFdlYlN5c3Rl
bVNvdW5kRGVsZWdhdGUuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gV2ViUHJvY2VzczsKIAkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
U3lzdGVtU291bmREZWxlZ2F0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlN5c3RlbVNvdW5kRGVsZWdhdGUuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDM5IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFy
ZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgQ09NUFVURVIsIElOQy4gT1IKKyogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlN5c3RlbVNvdW5kRGVs
ZWdhdGUuaCIKKworI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNz
UHJveHlNZXNzYWdlcy5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBXZWJTeXN0ZW1T
b3VuZERlbGVnYXRlOjpzeXN0ZW1CZWVwKCkKK3sKKyAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJv
eHk6OlN5c3RlbUJlZXAoKSwgMCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDog
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlN5c3RlbVNvdW5kRGVsZWdhdGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5o
CShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJTeXN0ZW1Tb3Vu
ZERlbGVnYXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOCBAQAorLyoKKyogQ29weXJp
Z2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8
V2ViQ29yZS9TeXN0ZW1Tb3VuZERlbGVnYXRlLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitj
bGFzcyBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlIGZpbmFsIDogcHVibGljIFdlYkNvcmU6OlN5c3Rl
bVNvdW5kRGVsZWdhdGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgor
ICAgIHZvaWQgc3lzdGVtQmVlcCgpIGZpbmFsOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlc291
cmNlQ2FjaGVQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9ncmFwaGljcy9SZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkuY3BwCShyZXZpc2lvbiAyNjk0
MzEpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlc291
cmNlQ2FjaGVQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDggQEAKIAogI2lu
Y2x1ZGUgIlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oIgogCisjaW5jbHVkZSA8V2ViQ29y
ZS9JbWFnZUJ1ZmZlci5oPgorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vz
c0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI2OTQzMSkKKysrIFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYg
KzQ2LDcgQEAKICNpbXBvcnQgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViUHJv
Y2Vzc1Byb3h5TWVzc2FnZXMuaCIKICNpbXBvcnQgIldlYlNsZWVwRGlzYWJsZXJDbGllbnQuaCIK
KyNpbXBvcnQgIldlYlN5c3RlbVNvdW5kRGVsZWdhdGUuaCIKICNpbXBvcnQgIldlYnNpdGVEYXRh
U3RvcmVQYXJhbWV0ZXJzLmgiCiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9Db25maWdGaWxlLmg+
CiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9PcHRpb25zLmg+CkBAIC02Nyw2ICs2OCw3IEBACiAj
aW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9TV0NvbnRleHRNYW5hZ2VyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1N5c3RlbUJhdHRlcnku
aD4KKyNpbXBvcnQgPFdlYkNvcmUvU3lzdGVtU291bmRNYW5hZ2VyLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1VUSVV0aWxpdGllcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9WZXJzaW9uQ2hlY2tzLmg+CiAj
aW1wb3J0IDxhbGdvcml0aG0+CkBAIC0zNjAsNiArMzYyLDggQEAgdm9pZCBXZWJQcm9jZXNzOjpw
bGF0Zm9ybUluaXRpYWxpemVXZWJQcgogI2VuZGlmCiAKICAgICB1cGRhdGVQcm9jZXNzTmFtZSgp
OworICAgIAorICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc2V0U3lzdGVtU291
bmREZWxlZ2F0ZShtYWtlVW5pcXVlPFdlYlN5c3RlbVNvdW5kRGVsZWdhdGU+KCkpOwogfQogCiB2
b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtU2V0V2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMoV2Vi
UHJvY2Vzc0RhdGFTdG9yZVBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQpJbmRleDogVG9vbHMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjY5NDMxKQor
KysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAt
MTEtMDUgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtt
YWNPU10gU3lzdGVtIHNvdW5kcyBzaG91bGQgYmUgcGxheWVkIGluIHRoZSBVSSBwcm9jZXNzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg0MDUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1N5c3RlbUJlZXAubW06IEFkZGVkLgorICAgICAgICAo
VEVTVCk6CisKIDIwMjAtMTEtMDUgIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0dUS10gVGVzdCAvd2Via2l0L1dlYktpdFdlYnNpdGVEYXRhL2NvbmZpZ3VyYXRp
b24gaXMgZmxha3kKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNjk0MzEp
CisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTA4Nyw2ICsxMDg3LDcgQEAKIAkJRTNBMUU3ODUy
MUIyNUI5MTAwOEM2MDA3IC8qIFVSTFBhcnNlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0ExRTc4NDIxQjI1QjkxMDA4QzYwMDcgLyogVVJMUGFy
c2VyLmNwcCAqLzsgfTsKIAkJRTNDMjFBN0MyMUIyNUNBMjAwM0IzMUEzIC8qIFVSTEV4dHJhcy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQzIxQTdC
MjFCMjVDQTIwMDNCMzFBMyAvKiBVUkxFeHRyYXMubW0gKi87IH07CiAJCUUzREVBODExMUYwQTU4
OTAwMENCQzJFOCAvKiBUaHJlYWRHcm91cC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFM0RFQTgxMDFGMEE1ODgwMDBDQkMyRTggLyogVGhyZWFkR3Jv
dXAuY3BwICovOyB9OworCQlFM0VGQjAyRjI1NTA2NTAzMDAzQzJGOTYgLyogU3lzdGVtQmVlcC5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRUZCMDJF
MjU1MDY1MDMwMDNDMkY5NiAvKiBTeXN0ZW1CZWVwLm1tICovOyB9OwogCQlFM0Y4QUI5MjI0MUFC
OUNFMDAzRTJBN0UgLyogQWNjZXNzaWJpbGl0eVJlbW90ZVVJQXBwLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNGOEFCOTEyNDFBQjlDRTAwM0UyQTdF
IC8qIEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbSAqLzsgfTsKIAkJRTUwMzZGNzgyMTFCQzI1
NDAwQkZEQkUyIC8qIGNvbG9yLWRyb3AuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNTAzNkY3NzIxMUJDMjI4MDBCRkRCRTIgLyogY29s
b3ItZHJvcC5odG1sICovOyB9OwogCQlFNTg5MTgzQzI1MkJDOTBBMDA0MURFRDUgLyogRGF0ZVRp
bWVJbnB1dHNBY2Nlc3NvcnlWaWV3VGVzdHMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFNTg5MTgzQjI1MkJDOTBBMDA0MURFRDUgLyogRGF0ZVRpbWVJ
bnB1dHNBY2Nlc3NvcnlWaWV3VGVzdHMubW0gKi87IH07CkBAIC0yODA1LDYgKzI4MDYsNyBAQAog
CQlFM0ExRTc4NDIxQjI1QjkxMDA4QzYwMDcgLyogVVJMUGFyc2VyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVSTFBhcnNlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUUzQzIxQTdCMjFCMjVDQTIwMDNCMzFBMyAvKiBVUkxFeHRyYXMubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVUkxFeHRyYXMubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzREVBODEwMUYwQTU4ODAwMENCQzJFOCAvKiBUaHJl
YWRHcm91cC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUaHJlYWRH
cm91cC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzRUZCMDJFMjU1MDY1MDMw
MDNDMkY5NiAvKiBTeXN0ZW1CZWVwLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3lzdGVtQmVl
cC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNGOEFCOTEyNDFBQjlDRTAwM0Uy
QTdFIC8qIEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTQwMDE5MzAxQUNFOUI1QzAwMUIwQTJBIC8qIEJsb29tRmlsdGVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJsb29tRmlsdGVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTQ5MDI5NjcxNEUyRTNBNDAwMkJFREQxIC8qIFR5cGluZ1N0eWxl
Q3Jhc2gubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBUeXBpbmdT
dHlsZUNyYXNoLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzEzNCw2ICszMTM2
LDcgQEAKIAkJCQlFMzI1QzkwNjIzRTM4NzAyMDBCQzdEM0IgLyogUGljdHVyZUluUGljdHVyZVN1
cHBvcnQubW0gKi8sCiAJCQkJQzE1Q0JCM0UyM0ZCMTc3QTAwMzAwQ0M3IC8qIFByZWZlcmVuY2VD
aGFuZ2VzLm1tICovLAogCQkJCUMxNDlENTRGMjQyRTk4NDQwMDNFQkIxMiAvKiBTbGVlcERpc2Fi
bGVyLm1tICovLAorCQkJCUUzRUZCMDJFMjU1MDY1MDMwMDNDMkY5NiAvKiBTeXN0ZW1CZWVwLm1t
ICovLAogCQkJCTBGMTM5RTc1MUE0MjNBNTMwMEY1OTBGNSAvKiBXZWFrT2JqQ1B0ci5tbSAqLywK
IAkJCQlDMUZGOUVEQTI0NDY0NEYwMDA4MzlBRTQgLyogV2ViRmlsdGVyLm1tICovLAogCQkJCUMx
NEQzMDQ1MjRCNEMzQkEwMDQ4MDM4NyAvKiBYUENFbmRwb2ludC5tbSAqLywKQEAgLTU0NDUsNiAr
NTQ0OCw3IEBACiAJCQkJNTFFQjEyNjcyNENCODc1MzAwMENCMDMwIC8qIFN1bkxpZ2h0QXBwbGlj
YXRpb25HZW5lcmljTkVTLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDQzM0EzOTYyMDgwNDQxNDAw
OTFFRDU3IC8qIFN5bmNocm9ub3VzVGltZW91dFRlc3RzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
N0NDRTdFQTgxQTQxMUExOTAwNDQ3QzRDIC8qIFN5bnRoZXRpY0JhY2tpbmdTY2FsZUZhY3Rvcldp
bmRvdy5tIGluIFNvdXJjZXMgKi8sCisJCQkJRTNFRkIwMkYyNTUwNjUwMzAwM0MyRjk2IC8qIFN5
c3RlbUJlZXAubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQzczNEI1MzIwNzg4QzQ4MDBGNDMwRUEg
LyogU3lzdGVtQ29sb3JzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFCNzZFNDMyMzI5OEUyQzAw
N0ZFRDJDIC8qIFN5c3RlbVByZXZpZXcubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDcwMDU5NjIx
RURBMEM2MDAzNDYzQ0IgLyogVGFiT3V0T2ZXZWJWaWV3Lm1tIGluIFNvdXJjZXMgKi8sCkluZGV4
OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9TeXN0ZW1CZWVwLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1N5c3RlbUJlZXAubW0JKG5v
bmV4aXN0ZW50KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvU3lzdGVtQmVl
cC5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9y
dCAiY29uZmlnLmgiCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVz
dFdLV2ViVmlldy5oIgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2
YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZS5oPgorI2ltcG9ydCA8V2Vi
S2l0L1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nLmg+CisjaW1wb3J0IDx3dGYvVGhyZWFkaW5n
Lmg+CisKKyNpZiBXS19IQVZFX0NfU1BJCisKK1RFU1QoV2ViS2l0LCBTeXN0ZW1CZWVwKQorewor
ICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9u
IGFsbG9jXSBpbml0XSk7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0g
YWRvcHRXSyhUZXN0V2ViS2l0QVBJOjpVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5k
bGVUZXN0KCJJbnRlcm5hbHNJbmplY3RlZEJ1bmRsZVRlc3QiKSk7CisgICAgY29uZmlndXJhdGlv
bi5nZXQoKS5wcm9jZXNzUG9vbCA9IChXS1Byb2Nlc3NQb29sICopY29udGV4dC5nZXQoKTsKKyAg
ICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhG
cmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRp
b24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisKKyAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1
YXRpbmdKYXZhU2NyaXB0OkAid2luZG93LmludGVybmFscy5zeXN0ZW1CZWVwKCkiXTsKK30KKwor
I2VuZGlmIC8vIFdLX0hBVkVfQ19TUEkK
</data>
<flag name="commit-queue"
          id="429862"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413303</attachid>
            <date>2020-11-05 08:32:19 -0800</date>
            <delta_ts>2020-11-09 09:01:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218405-20201105083218.patch</filename>
            <type>text/plain</type>
            <size>39465</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTQzMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBACisyMDIwLTExLTA1ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFN5c3RlbSBz
b3VuZHMgc2hvdWxkIGJlIHBsYXllZCBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NDA1CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83MDg5ODg0Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKwor
ICAgICAgICBJbiBwcmVwYXJhdGlvbiBvZiBibG9ja2luZyB0aGUgc3lzdGVtIHNvdW5kIHNlcnZl
ciBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBzeXN0ZW0gc291bmRzIHNob3VsZCBiZSBwbGF5
ZWQgaW4gdGhlIFVJIHByb2Nlc3MuCisgICAgICAgIFRoaXMgcGF0Y2ggY3JlYXRlcyBhIHN5c3Rl
bSBzb3VuZCBtYW5hZ2VyLCB3aGljaCBkZWxlZ2F0ZXMgdGhlIHNvdW5kIHJlcXVlc3QgaWYgYSBk
ZWxlZ2F0ZSBpcyBwcmVzZW50LCBvdGhlcndpc2UgdGhlIGZ1bmN0aW9uCisgICAgICAgIFBBTDo6
c3lzdGVtQmVlcCB3aWxsIGJlIGNhbGxlZC4KKworICAgICAgICBBUEkgdGVzdDogV2ViS2l0LlN5
c3RlbUJlZXAKKworICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogU291cmNlcy50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6Y3V0KToK
KyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6Y29weSk6CisgICAgICAgIChXZWJDb3JlOjpFZGl0
b3I6OnBlcmZvcm1EZWxldGUpOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlU2VsZWN0VG9NYXJrKToKKyAgICAgICAgKFdlYkNv
cmU6OmV4ZWN1dGVTd2FwV2l0aE1hcmspOgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvRWRpdG9y
Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OnRha2VGaW5kU3RyaW5nRnJvbVNl
bGVjdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OmJlZXApOgorICAgICAg
ICAqIHBsYXRmb3JtL1N5c3RlbVNvdW5kRGVsZWdhdGUuaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpTeXN0ZW1Tb3VuZERlbGVnYXRlOjp+U3lzdGVtU291bmREZWxlZ2F0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpTeXN0ZW1Tb3VuZERlbGVnYXRlOjpzeXN0ZW1CZWVwKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3Rl
bVNvdW5kTWFuYWdlcjo6c2V0U3lzdGVtU291bmREZWxlZ2F0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTeXN0ZW1Tb3VuZE1hbmFnZXI6OnN5c3RlbUJlZXApOgorICAgICAgICAqIHBsYXRmb3JtL1N5
c3RlbVNvdW5kTWFuYWdlci5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9TdGVy
ZW9QYW5uZXIuY3BwOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsczo6c3lzdGVtQmVlcCk6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAtMTEtMDUg
IFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJbnRlZ3Jh
dGlvbl0gQWRkIHZpc3VhbCBzdXBwb3J0IGZvciB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcwpJbmRl
eDogU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9IZWFkZXJzLmNtYWtlCShyZXZpc2lvbiAyNjk0MzEpCisrKyBTb3VyY2UvV2ViQ29yZS9I
ZWFkZXJzLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0xMDU3LDYgKzEwNTcsNyBAQCBzZXQoV2Vi
Q29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgcGxhdGZvcm0vU2xlZXBEaXNhYmxl
cklkZW50aWZpZXIuaAogICAgIHBsYXRmb3JtL1N1ZGRlblRlcm1pbmF0aW9uLmgKICAgICBwbGF0
Zm9ybS9TdXBwbGVtZW50YWJsZS5oCisgICAgcGxhdGZvcm0vU3lzdGVtU291bmREZWxlZ2F0ZS5o
CiAgICAgcGxhdGZvcm0vVGhlbWVUeXBlcy5oCiAgICAgcGxhdGZvcm0vVGhyZWFkQ2hlY2suaAog
ICAgIHBsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaApJbmRleDogU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlz
aW9uIDI2OTQzMSkKKysrIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xODE4LDYgKzE4MTgsNyBAQCBwbGF0Zm9ybS9TaGFyZWRCdWZmZXJDaHVua1JlYWRlci5j
cHAKIHBsYXRmb3JtL1NoYXJlZFN0cmluZ0hhc2guY3BwCiBwbGF0Zm9ybS9TbGVlcERpc2FibGVy
LmNwcAogcGxhdGZvcm0vU2xlZXBEaXNhYmxlckNsaWVudC5jcHAKK3BsYXRmb3JtL1N5c3RlbVNv
dW5kTWFuYWdlci5jcHAKIHBsYXRmb3JtL1N0YXRpY1Bhc3RlYm9hcmQuY3BwCiBwbGF0Zm9ybS9U
aGVtZS5jcHAKIHBsYXRmb3JtL1RoZW1lVHlwZXMuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNjk0MzEp
CisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdv
cmtpbmcgY29weSkKQEAgLTUwMDQsNiArNTAwNCw4IEBACiAJCUUzQjJGMEVFMUQ3RjRDQTkwMEIw
QzlEMSAvKiBMb2FkYWJsZVNjcmlwdENsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTNCMkYwRTgxRDdGMzVFQzAwQjBDOUQxIC8qIExvYWRhYmxl
U2NyaXB0Q2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJRTNCMkYwRjAxRDdGNENCNTAwQjBDOUQxIC8qIExvYWRhYmxlQ2xhc3NpY1Njcmlw
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNCMkYw
RTQxRDdGMzVFQzAwQjBDOUQxIC8qIExvYWRhYmxlQ2xhc3NpY1NjcmlwdC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzQkJDMjQ3MjM4MzU1MjYw
MDZFQzM5RiAvKiBDU1NWYWx1ZUtleS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTNCQkMyNDUyMzgzNTUxQTAwNkVDMzlGIC8qIENTU1ZhbHVlS2V5Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTNDMDQx
MkYyNTRDQTI5QjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDMDQxMkQyNTRDQTI5QjAwMjFEMEU2
IC8qIFN5c3RlbVNvdW5kTWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCUUzQzA0MTM4MjU0Q0IzMEQwMDIxRDBFNiAvKiBTeXN0ZW1Tb3Vu
ZERlbGVnYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFM0MwNDEzMTI1NENBNjY2MDAyMUQwRTYgLyogU3lzdGVtU291bmREZWxlZ2F0ZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzQzk5QTA5MURD
M0Q0MUMwMDc5NEFEMyAvKiBET01KSVRDaGVja0RPTS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDOTlBMDgxREMzRDQxNzAwNzk0QUQzIC8qIERPTUpJ
VENoZWNrRE9NLmggKi87IH07CiAJCUUzQzlBRUNCMjExMzE0OTkwMDQxOUI5MiAvKiBKU01pY3Jv
dGFza0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFM0M5QUVDOTIxMTMxNDc0MDA0MTlCOTIgLyogSlNNaWNyb3Rhc2tDYWxsYmFjay5oICov
OyB9OwogCQlFM0U0RTJBODFFM0IxNzEwMDAyM0JCOEEgLyogU2NyaXB0RWxlbWVudENhY2hlZFNj
cmlwdEZldGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUzRTRFMkE2MUUzQjE2RkMwMDIzQkI4QSAvKiBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0
RmV0Y2hlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CkBAIC0xNjAxMiw2ICsxNjAxNCw5IEBACiAJCUUzQkYxOUU1MjJBRjJGRjQwMDlDOTkyNiAvKiBC
ZWZvcmVMb2FkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQmVmb3JlTG9hZEV2ZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNCRjE5RTYyMkFGMzAyQTAwOUM5OTI2
IC8qIEhhc2hDaGFuZ2VFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIYXNoQ2hhbmdlRXZl
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0JGMTlFNzIyQUYzMDlGMDA5
Qzk5MjYgLyogU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRTNDMDQxMkQyNTRDQTI5QjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTeXN0ZW1Tb3VuZE1hbmFnZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTNDMDQxMzEyNTRDQTY2NjAwMjFEMEU2
IC8qIFN5c3RlbVNvdW5kRGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3lzdGVtU291bmREZWxl
Z2F0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFM0MwNDEzMjI1NENBNzExMDAy
MUQwRTYgLyogU3lzdGVtU291bmRNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN5c3Rl
bVNvdW5kTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzQzk5QTA4
MURDM0Q0MTcwMDc5NEFEMyAvKiBET01KSVRDaGVja0RPTS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBET01KSVRDaGVja0RPTS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFM0M5QUVDOTIxMTMxNDc0MDA0MTlCOTIgLyogSlNNaWNyb3Rhc2tDYWxsYmFjay5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01pY3JvdGFza0NhbGxiYWNrLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzRDA0OTkzMURBREMwNDUwMDcxOEYzQyAvKiBO
b2RlQ29uc3RhbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5vZGVDb25z
dGFudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI3MzU3LDYgKzI3MzYyLDkg
QEAKIAkJCQlGNDMzRTkwMjFEQkJEQkEyMDBFRjBEMTQgLyogU3RhdGljUGFzdGVib2FyZC5oICov
LAogCQkJCTkzQjJEODE1MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oICov
LAogCQkJCTk3NjI3Qjk3MTRGQjU0MjQwMDJDRENBMSAvKiBTdXBwbGVtZW50YWJsZS5oICovLAor
CQkJCUUzQzA0MTMxMjU0Q0E2NjYwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZERlbGVnYXRlLmggKi8s
CisJCQkJRTNDMDQxMzIyNTRDQTcxMTAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdlci5jcHAg
Ki8sCisJCQkJRTNDMDQxMkQyNTRDQTI5QjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kTWFuYWdlci5o
ICovLAogCQkJCTdDQzU2NEI2MThCQUJFQTYwMDFCOTY1MiAvKiBUZWxlcGhvbmVOdW1iZXJEZXRl
Y3Rvci5oICovLAogCQkJCUJDRTY1RDMxMEVBRDEyMTEwMDdFNDUzMyAvKiBUaGVtZS5jcHAgKi8s
CiAJCQkJQkNFNjU4RkUwRUE5MjQ4QTAwN0U0NTMzIC8qIFRoZW1lLmggKi8sCkBAIC0zNDU5MCw2
ICszNDU5OCw4IEBACiAJCQkJQzE2OTJERDUyM0QyM0UwODAwNkU4OEY3IC8qIFN5c3RlbUJhdHRl
cnkuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0RThCNEVDMjE2Qjc5RTUwMEI4ODM0RCAvKiBTeXN0
ZW1Gb250RGF0YWJhc2VDb3JlVGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYwM0MwNzQxODg0
Njk1RTAwQTVGOENBIC8qIFN5c3RlbU1lbW9yeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTNDMDQx
MzgyNTRDQjMwRDAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kRGVsZWdhdGUuaCBpbiBIZWFkZXJzICov
LAorCQkJCUUzQzA0MTJGMjU0Q0EyOUIwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFnZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTVENTk3NUIzMTk2MzVGMTEwMEQwMDg3OCAvKiBTeXN0ZW1WZXJz
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOENGRjA1MTBBMTU0RjA5MDAwQTQyMzQgLyogVGFi
bGVMYXlvdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTZGMTcyNjRGMjQ3MEM2MEIwMDUxOEM5NiAv
KiBUYWJsZVdyYXBwZXJCbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmggaW4gSGVhZGVycyAqLywKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAJKHJldmlzaW9uIDI2OTQzMSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAzLDYgKzEw
Myw3IEBACiAjaW5jbHVkZSAiU3BlbGxpbmdDb3JyZWN0aW9uQ29tbWFuZC5oIgogI2luY2x1ZGUg
IlN0YXRpY1Bhc3RlYm9hcmQuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMuaCIKKyNpbmNs
dWRlICJTeXN0ZW1Tb3VuZE1hbmFnZXIuaCIKICNpbmNsdWRlICJUZWxlcGhvbmVOdW1iZXJEZXRl
Y3Rvci5oIgogI2luY2x1ZGUgIlRleHQuaCIKICNpbmNsdWRlICJUZXh0Q2hlY2tlckNsaWVudC5o
IgpAQCAtMTE1LDcgKzExNiw2IEBACiAjaW5jbHVkZSAiVmlzaWJsZVVuaXRzLmgiCiAjaW5jbHVk
ZSAibWFya3VwLmgiCiAjaW5jbHVkZSA8cGFsL0ZpbGVTaXplRm9ybWF0dGVyLmg+Ci0jaW5jbHVk
ZSA8cGFsL3N5c3RlbS9Tb3VuZC5oPgogI2luY2x1ZGUgPHBhbC90ZXh0L0tpbGxSaW5nLmg+CiAj
aW5jbHVkZSA8d3RmL1NldEZvclNjb3BlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFj
dGVyTmFtZXMuaD4KQEAgLTEzNjYsNyArMTM2Niw3IEBAIHZvaWQgRWRpdG9yOjpjdXQoRnJvbU1l
bnVPcktleUJpbmRpbmcgZnIKICAgICBpZiAodHJ5REhUTUxDdXQoKSkKICAgICAgICAgcmV0dXJu
OyAvLyBESFRNTCBkaWQgdGhlIHdob2xlIG9wZXJhdGlvbgogICAgIGlmICghY2FuQ3V0KCkpIHsK
LSAgICAgICAgUEFMOjpzeXN0ZW1CZWVwKCk7CisgICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6
c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0x
Mzc5LDcgKzEzNzksNyBAQCB2b2lkIEVkaXRvcjo6Y29weShGcm9tTWVudU9yS2V5QmluZGluZyBm
CiAgICAgaWYgKHRyeURIVE1MQ29weSgpKQogICAgICAgICByZXR1cm47IC8vIERIVE1MIGRpZCB0
aGUgd2hvbGUgb3BlcmF0aW9uCiAgICAgaWYgKCFjYW5Db3B5KCkpIHsKLSAgICAgICAgUEFMOjpz
eXN0ZW1CZWVwKCk7CisgICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lz
dGVtQmVlcCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xNTE2LDcgKzE1MTYsNyBA
QCB2b2lkIEVkaXRvcjo6cXVvdGVGcmFnbWVudEZvclBhc3RpbmcoRG9jCiB2b2lkIEVkaXRvcjo6
cGVyZm9ybURlbGV0ZSgpCiB7CiAgICAgaWYgKCFjYW5EZWxldGUoKSkgewotICAgICAgICBQQUw6
OnN5c3RlbUJlZXAoKTsKKyAgICAgICAgU3lzdGVtU291bmRNYW5hZ2VyOjpzaW5nbGV0b24oKS5z
eXN0ZW1CZWVwKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAkocmV2aXNpb24gMjY5NDMxKQorKysgU291cmNl
L1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYs
MTIgKzU2LDEyIEBACiAjaW5jbHVkZSAiU2Nyb2xsYmFyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3Mu
aCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMuaCIKKyNpbmNsdWRlICJTeXN0ZW1Tb3VuZE1h
bmFnZXIuaCIKICNpbmNsdWRlICJUeXBpbmdDb21tYW5kLmgiCiAjaW5jbHVkZSAiVW5saW5rQ29t
bWFuZC5oIgogI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9yLmgiCiAjaW5jbHVkZSAiVXNl
clR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaCIKICNpbmNsdWRlICJtYXJrdXAuaCIKLSNpbmNsdWRl
IDxwYWwvc3lzdGVtL1NvdW5kLmg+CiAjaW5jbHVkZSA8cGFsL3RleHQvS2lsbFJpbmcuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CiAKQEAgLTEwNDMsNyArMTA0Myw3IEBAIHN0
YXRpYyBib29sIGV4ZWN1dGVTZWxlY3RUb01hcmsoRnJhbWUmIGYKICAgICBhdXRvIG1hcmtSYW5n
ZSA9IGVkaXRvci5tYXJrKCkudG9Ob3JtYWxpemVkUmFuZ2UoKTsKICAgICBhdXRvIHNlbGVjdGlv
blJhbmdlID0gc2VsZWN0aW9uLnNlbGVjdGlvbigpLnRvTm9ybWFsaXplZFJhbmdlKCk7CiAgICAg
aWYgKCFtYXJrUmFuZ2UgfHwgIXNlbGVjdGlvblJhbmdlKSB7Ci0gICAgICAgIFBBTDo6c3lzdGVt
QmVlcCgpOworICAgICAgICBTeXN0ZW1Tb3VuZE1hbmFnZXI6OnNpbmdsZXRvbigpLnN5c3RlbUJl
ZXAoKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBzZWxlY3Rpb24uc2V0U2Vs
ZWN0ZWRSYW5nZSh1bmlvblJhbmdlKCptYXJrUmFuZ2UsICpzZWxlY3Rpb25SYW5nZSksIEFmZmlu
aXR5OjpEb3duc3RyZWFtLCBGcmFtZVNlbGVjdGlvbjo6U2hvdWxkQ2xvc2VUeXBpbmc6Olllcyk7
CkBAIC0xMTAzLDcgKzExMDMsNyBAQCBzdGF0aWMgYm9vbCBleGVjdXRlU3dhcFdpdGhNYXJrKEZy
YW1lJiBmCiAgICAgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgbWFyayA9IGZyYW1lLmVkaXRvcigp
Lm1hcmsoKTsKICAgICBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24gPSBmcmFtZS5z
ZWxlY3Rpb24oKS5zZWxlY3Rpb24oKTsKICAgICBpZiAobWFyay5pc05vbmUoKSB8fCBzZWxlY3Rp
b24uaXNOb25lKCkpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1CZWVwKCk7CisgICAgICAgIFN5c3Rl
bVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgfQogICAgIGZyYW1lLnNlbGVjdGlvbigpLnNldFNlbGVjdGlvbihtYXJrKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRWRpdG9yQ29jb2EubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbQkocmV2
aXNpb24gMjY5NDMxKQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2Nv
YS5tbQkod29ya2luZyBjb3B5KQpAQCAtNTMsMTIgKzUzLDEyIEBACiAjaW1wb3J0ICJSZW5kZXJF
bGVtZW50LmgiCiAjaW1wb3J0ICJSZW5kZXJTdHlsZS5oIgogI2ltcG9ydCAiU2V0dGluZ3MuaCIK
KyNpbXBvcnQgIlN5c3RlbVNvdW5kTWFuYWdlci5oIgogI2ltcG9ydCAiVGV4dC5oIgogI2ltcG9y
dCAiVVRJVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJXZWJDb250ZW50UmVhZGVyLmgiCiAjaW1wb3J0
ICJtYXJrdXAuaCIKICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5nU1BJ
Lmg+Ci0jaW1wb3J0IDxwYWwvc3lzdGVtL1NvdW5kLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tPYmpD
RXhjZXB0aW9ucy5oPgogI2ltcG9ydCA8d3RmL2NvY29hL05TVVJMRXh0cmFzLmg+CiAKQEAgLTIz
OSw3ICsyMzksNyBAQCBSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gRWRpdG9yOjp3ZWJDb250CiB2
b2lkIEVkaXRvcjo6dGFrZUZpbmRTdHJpbmdGcm9tU2VsZWN0aW9uKCkKIHsKICAgICBpZiAoIWNh
bkNvcHlFeGNsdWRpbmdTdGFuZGFsb25lSW1hZ2VzKCkpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1C
ZWVwKCk7CisgICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVl
cCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAkocmV2aXNpb24gMjY5NDMx
KQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDcgQEAKICNpbmNsdWRlICJQYXN0ZWJvYXJkLmgi
CiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1
ZGUgIlN5c3RlbVNvdW5kTWFuYWdlci5oIgogI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9y
LmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0RnVuY3Rpb25DYWxsLmg+CiAjaW5j
bHVkZSA8cGFsL3N5c3RlbS9Tb3VuZC5oPgpAQCAtNTU1LDcgKzU1Niw3IEBAIHZvaWQgSW5zcGVj
dG9yRnJvbnRlbmRIb3N0Ojp1bmJ1ZmZlcmVkTG8KIAogdm9pZCBJbnNwZWN0b3JGcm9udGVuZEhv
c3Q6OmJlZXAoKQogewotICAgIFBBTDo6c3lzdGVtQmVlcCgpOworICAgIFN5c3RlbVNvdW5kTWFu
YWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogfQogCiB2b2lkIEluc3BlY3RvckZyb250
ZW5kSG9zdDo6aW5zcGVjdEluc3BlY3RvcigpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TeXN0ZW1Tb3VuZERlbGVnYXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU3lzdGVtU291bmREZWxlZ2F0ZS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1N5c3RlbVNvdW5kRGVsZWdhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDM3IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBV
VEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIs
IElOQy4gT1IKKyogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI3By
YWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU3lzdGVtU291bmREZWxl
Z2F0ZSB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+U3lzdGVtU291bmREZWxlZ2F0ZSgpIHsgfQor
CisgICAgdmlydHVhbCB2b2lkIHN5c3RlbUJlZXAoKSB7IH0KK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNvdW5kTWFuYWdl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3lzdGVtU291bmRN
YW5hZ2VyLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0
ZW1Tb3VuZE1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisq
IENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiU3lzdGVtU291bmRNYW5hZ2VyLmgiCisKKyNpbmNsdWRlICJTeXN0ZW1Tb3Vu
ZERlbGVnYXRlLmgiCisKKyNpbmNsdWRlIDxwYWwvc3lzdGVtL1NvdW5kLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworU3lzdGVtU291bmRNYW5hZ2VyJiBTeXN0ZW1Tb3VuZE1hbmFnZXI6OnNp
bmdsZXRvbigpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFN5c3RlbVNvdW5kTWFuYWdl
cj4gc3lzdGVtU291bmRNYW5hZ2VyOworICAgIHJldHVybiBzeXN0ZW1Tb3VuZE1hbmFnZXI7Cit9
CisgICAgCit2b2lkIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2V0U3lzdGVtU291bmREZWxlZ2F0ZShz
dGQ6OnVuaXF1ZV9wdHI8U3lzdGVtU291bmREZWxlZ2F0ZT4mJiBkZWxlZ2F0ZSkKK3sKKyAgICBt
X2RlbGVnYXRlID0gV1RGTW92ZShkZWxlZ2F0ZSk7Cit9CisgICAgCit2b2lkIFN5c3RlbVNvdW5k
TWFuYWdlcjo6c3lzdGVtQmVlcCgpCit7CisgICAgaWYgKG1fZGVsZWdhdGUpIHsKKyAgICAgICAg
bV9kZWxlZ2F0ZS0+c3lzdGVtQmVlcCgpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIFBB
TDo6c3lzdGVtQmVlcCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuaAkobm9uZXhpc3RlbnQp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDQ5IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisq
IGFyZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTeXN0ZW1Tb3VuZERlbGVnYXRlOwor
CitjbGFzcyBTeXN0ZW1Tb3VuZE1hbmFnZXIgeworICAgIGZyaWVuZCBOZXZlckRlc3Ryb3llZDxT
eXN0ZW1Tb3VuZE1hbmFnZXI+OworcHVibGljOgorICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBT
eXN0ZW1Tb3VuZE1hbmFnZXImIHNpbmdsZXRvbigpOworICAgIAorICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2V0U3lzdGVtU291bmREZWxlZ2F0ZShzdGQ6OnVuaXF1ZV9wdHI8U3lzdGVtU291bmRE
ZWxlZ2F0ZT4mJik7CisgICAgCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzeXN0ZW1CZWVwKCk7
CisgICAgCitwcml2YXRlOgorICAgIFN5c3RlbVNvdW5kTWFuYWdlcigpID0gZGVmYXVsdDsKKwor
ICAgIHN0ZDo6dW5pcXVlX3B0cjxTeXN0ZW1Tb3VuZERlbGVnYXRlPiBtX2RlbGVnYXRlOworfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vU3RlcmVvUGFubmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9TdGVyZW9QYW5uZXIuY3BwCShyZXZpc2lvbiAyNjk0MzEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9TdGVyZW9QYW5uZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yOSw2ICsyOSw3IEBACiAKICNpZiBFTkFCTEUoV0VCX0FVRElPKQogCisjaW5jbHVkZSAiU2hh
cmVkQnVmZmVyLmgiCiAjaW5jbHVkZSAiVmVjdG9yTWF0aC5oIgogI2luY2x1ZGUgPHd0Zi9NYXRo
RXh0cmFzLmg+CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHJldmlz
aW9uIDI2OTQzMSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTkyLDYgKzE5Miw3IEBACiAjaW5jbHVkZSAiU3R5bGVSdWxlLmgiCiAj
aW5jbHVkZSAiU3R5bGVTY29wZS5oIgogI2luY2x1ZGUgIlN0eWxlU2hlZXRDb250ZW50cy5oIgor
I2luY2x1ZGUgIlN5c3RlbVNvdW5kTWFuYWdlci5oIgogI2luY2x1ZGUgIlRleHRJdGVyYXRvci5o
IgogI2luY2x1ZGUgIlRleHRQbGFjZWhvbGRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJUcmVlU2Nv
cGUuaCIKQEAgLTQ3MjksNiArNDczMCwxMCBAQCBFeGNlcHRpb25PcjxTdHJpbmc+IEludGVybmFs
czo6cGF0aFN0cmluCiAgICAgcmV0dXJuIGJ1aWxkZXIucmVzdWx0KCk7CiB9CiAKK3ZvaWQgSW50
ZXJuYWxzOjpzeXN0ZW1CZWVwKCkKK3sKKyAgICBTeXN0ZW1Tb3VuZE1hbmFnZXI6OnNpbmdsZXRv
bigpLnN5c3RlbUJlZXAoKTsKK30KIAogU3RyaW5nIEludGVybmFsczo6Z2V0Q3VycmVudE1lZGlh
Q29udHJvbHNTdGF0dXNGb3JFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQmIG1lZGlhRWxlbWVudCkK
IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNpb24gMjY5NDMxKQor
KysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkod29ya2luZyBjb3B5KQpAQCAt
MTA2OSw2ICsxMDY5LDggQEAgcHVibGljOgogICAgIGJvb2wgcmFuZ2VDb250YWluc05vZGUoY29u
c3QgQWJzdHJhY3RSYW5nZSYsIE5vZGUmLCBUcmVlVHlwZSk7CiAgICAgYm9vbCByYW5nZUNvbnRh
aW5zUmFuZ2UoY29uc3QgQWJzdHJhY3RSYW5nZSYsIGNvbnN0IEFic3RyYWN0UmFuZ2UmLCBUcmVl
VHlwZSk7CiAKKyAgICB2b2lkIHN5c3RlbUJlZXAoKTsKKwogcHJpdmF0ZToKICAgICBleHBsaWNp
dCBJbnRlcm5hbHMoRG9jdW1lbnQmKTsKICAgICBEb2N1bWVudCogY29udGV4dERvY3VtZW50KCkg
Y29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCShyZXZpc2lvbiAy
Njk0MzEpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTk2OCw0ICs5NjgsNiBAQCBlbnVtIFRyZWVUeXBlIHsKICAgICBET01TdHJpbmcg
dHJlZU9yZGVyKE5vZGUgYSwgTm9kZSBiLCBvcHRpb25hbCBUcmVlVHlwZSB0cmVlID0gIlRyZWUi
KTsKICAgICBib29sZWFuIHJhbmdlQ29udGFpbnNOb2RlKEFic3RyYWN0UmFuZ2UgcmFuZ2UsIE5v
ZGUgbm9kZSwgb3B0aW9uYWwgVHJlZVR5cGUgdHJlZSA9ICJUcmVlIik7CiAgICAgYm9vbGVhbiBy
YW5nZUNvbnRhaW5zUmFuZ2UoQWJzdHJhY3RSYW5nZSBvdXRlclJhbmdlLCBBYnN0cmFjdFJhbmdl
IGlubmVyUmFuZ2UsIG9wdGlvbmFsIFRyZWVUeXBlIHRyZWUgPSAiVHJlZSIpOworCisgICAgdW5k
ZWZpbmVkIHN5c3RlbUJlZXAoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjY5NDMxKQor
KysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNiBA
QAorMjAyMC0xMS0wNSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgW21hY09TXSBTeXN0ZW0gc291bmRzIHNob3VsZCBiZSBwbGF5ZWQgaW4gdGhlIFVJIHBy
b2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
ODQwNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzA4OTg4NDY+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgU3ViY2xhc3MgU3lzdGVtU291bmREZWxlZ2F0
ZSwgd2hpY2ggd2lsbCBmb3J3YXJkIHN5c3RlbSBzb3VuZCByZXF1ZXN0cyB0byB0aGUgVUkgcHJv
Y2Vzcy4KKworICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OnN5c3Rl
bUJlZXApOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL2dy
YXBoaWNzL1JlbW90ZVJlc291cmNlQ2FjaGVQcm94eS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Oldl
YlN5c3RlbVNvdW5kRGVsZWdhdGU6OnN5c3RlbUJlZXApOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL2Nv
Y29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxh
dGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisKIDIwMjAtMTEtMDUgIENhcmxvcyBHYXJjaWEg
Q2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFdlYkRyaXZlcjogaGFuZGxl
IHN1cnJvZ2F0ZSBwYWlycyBpbiBrZXlib2FyZCBhY3Rpb25zCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU291cmNlcy50eHQJKHJl
dmlzaW9uIDI2OTQzMSkKKysrIFNvdXJjZS9XZWJLaXQvU291cmNlcy50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTQ4OSw2ICs0ODksNyBAQCBXZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzQ3Jl
YXRpb25QCiBXZWJQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcy5jcHAKIFdlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAKIFdlYlByb2Nlc3MvV2ViU2xlZXBEaXNhYmxlckNsaWVudC5jcHAK
K1dlYlByb2Nlc3MvV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5jcHAKIAogLy8gRklYTUUoMjA2MjY2
KTogQXV0b21hdGlvblByb3RvY29sT2JqZWN0cy5oJ3MgIm5hbWVzcGFjZSBQcm90b2NvbCIgY29u
ZmxpY3RzIHdpdGggb2JqYy9ydW50aW1lLmgncyAidHlwZWRlZiBzdHJ1Y3Qgb2JqY19vYmplY3Qg
UHJvdG9jb2wiCiBXZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb25Qcm94
eS5jcHAgQG5vLXVuaWZ5CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5jcHAJKHJldmlzaW9uIDI2OTQzMSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2LDYgKzY2LDcgQEAKICNp
bmNsdWRlIDxXZWJDb3JlL1ByZXdhcm1JbmZvcm1hdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UHVibGljU3VmZml4Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TdWRkZW5UZXJtaW5hdGlvbi5oPgor
I2luY2x1ZGUgPHBhbC9zeXN0ZW0vU291bmQuaD4KICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1
ZGUgPHd0Zi9BbGdvcml0aG1zLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CkBA
IC0xOTAxLDYgKzE5MDIsMTEgQEAgYm9vbCBXZWJQcm9jZXNzUHJveHk6Omhhc1NsZWVwRGlzYWJs
ZXIoKQogICAgIHJldHVybiAhbV9zbGVlcERpc2FibGVycy5pc0VtcHR5KCk7CiB9CiAKK3ZvaWQg
V2ViUHJvY2Vzc1Byb3h5OjpzeXN0ZW1CZWVwKCkKK3sKKyAgICBQQUw6OnN5c3RlbUJlZXAoKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBNRVNTQUdFX0NIRUNLCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkocmV2aXNpb24gMjY5
NDMxKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgJKHdvcmtp
bmcgY29weSkKQEAgLTUwOCw2ICs1MDgsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgY3JlYXRlU3Bl
ZWNoUmVjb2duaXRpb25TZXJ2ZXIoU3BlZWNoUmVjb2duaXRpb25TZXJ2ZXJJZGVudGlmaWVyKTsK
ICAgICB2b2lkIGRlc3Ryb3lTcGVlY2hSZWNvZ25pdGlvblNlcnZlcihTcGVlY2hSZWNvZ25pdGlv
blNlcnZlcklkZW50aWZpZXIpOwogCisgICAgdm9pZCBzeXN0ZW1CZWVwKCk7CisgICAgCiAgICAg
ZW51bSBjbGFzcyBJc1dlYWsgeyBObywgWWVzIH07CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4g
Y2xhc3MgV2Vha09yU3Ryb25nUHRyIHsKICAgICBwdWJsaWM6CkluZGV4OiBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCShyZXZpc2lv
biAyNjk0MzEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVz
c2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTkwLDQgKzkwLDYgQEAgbWVzc2FnZXMgLT4gV2Vi
UHJvY2Vzc1Byb3h5IExlZ2FjeVJlY2VpdgogCiAgICAgQ3JlYXRlU3BlZWNoUmVjb2duaXRpb25T
ZXJ2ZXIoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgaWRlbnRpZmllcikKICAgICBEZXN0cm95U3Bl
ZWNoUmVjb2duaXRpb25TZXJ2ZXIoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgaWRlbnRpZmllcikK
KworICAgIFN5c3RlbUJlZXAoKQogfQpJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNjk0MzEpCisrKyBTb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC01
NDEzLDYgKzU0MTMsOCBAQAogCQlFMzk2MjhEQzIzOTYwQ0M2MDA2NThFQ0QgLyogV2ViRGV2aWNl
T3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM5NjI4RTQyMzk3MUYzNDAwNjU4RUNEIC8qIFdlYkRl
dmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5tZXNzYWdlcy5pbjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNDQUFBNDMyNDEzMjc4QTAwQ0VEMkUyIC8q
IEFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUUzRUZCMDJDMjU1MDYxN0MwMDNDMkY5NiAvKiBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlN5c3RlbVNvdW5kRGVsZWdhdGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlFM0VGQjAyRDI1NTA2MTdDMDAzQzJGOTYgLyogV2ViU3lz
dGVtU291bmREZWxlZ2F0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0MDQ5MDcwMjFERTY1RjcwMDM3RjBE
QiAvKiBTY3JvbGxlclBhaXJNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U2Nyb2xsZXJQYWlyTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0MDQ5MDcx
MjFERTY1RjcwMDM3RjBEQiAvKiBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3Rl
TWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVNYWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFNDA0OTA3MjIxREU2NUY3MDAzN0YwREIgLyogU2Nyb2xsZXJQYWlyTWFjLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2Nyb2xsZXJQYWlyTWFjLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTAwMSw2ICs5MDAzLDggQEAKIAkJCQlC
Q0UwRTQyNDE2OEI3QTI4MDA1N0U2NkEgLyogV2ViUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLywKIAkJ
CQlDMThGQjUxRDI0MkY5Rjc2MDA3RTk4NzUgLyogV2ViU2xlZXBEaXNhYmxlckNsaWVudC5jcHAg
Ki8sCiAJCQkJQzE4RkI1MUUyNDJGOUY3NzAwN0U5ODc1IC8qIFdlYlNsZWVwRGlzYWJsZXJDbGll
bnQuaCAqLywKKwkJCQlFM0VGQjAyQzI1NTA2MTdDMDAzQzJGOTYgLyogV2ViU3lzdGVtU291bmRE
ZWxlZ2F0ZS5jcHAgKi8sCisJCQkJRTNFRkIwMkQyNTUwNjE3QzAwM0MyRjk2IC8qIFdlYlN5c3Rl
bVNvdW5kRGVsZWdhdGUuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gV2ViUHJvY2VzczsKIAkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
U3lzdGVtU291bmREZWxlZ2F0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlN5c3RlbVNvdW5kRGVsZWdhdGUuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDM5IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFy
ZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgQ09NUFVURVIsIElOQy4gT1IKKyogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlN5c3RlbVNvdW5kRGVs
ZWdhdGUuaCIKKworI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNz
UHJveHlNZXNzYWdlcy5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBXZWJTeXN0ZW1T
b3VuZERlbGVnYXRlOjpzeXN0ZW1CZWVwKCkKK3sKKyAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJv
eHk6OlN5c3RlbUJlZXAoKSwgMCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDog
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlN5c3RlbVNvdW5kRGVsZWdhdGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5o
CShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJTeXN0ZW1Tb3Vu
ZERlbGVnYXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOCBAQAorLyoKKyogQ29weXJp
Z2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8
V2ViQ29yZS9TeXN0ZW1Tb3VuZERlbGVnYXRlLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitj
bGFzcyBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlIGZpbmFsIDogcHVibGljIFdlYkNvcmU6OlN5c3Rl
bVNvdW5kRGVsZWdhdGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgor
ICAgIHZvaWQgc3lzdGVtQmVlcCgpIGZpbmFsOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlc291
cmNlQ2FjaGVQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9ncmFwaGljcy9SZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkuY3BwCShyZXZpc2lvbiAyNjk0
MzEpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlc291
cmNlQ2FjaGVQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDggQEAKIAogI2lu
Y2x1ZGUgIlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oIgogCisjaW5jbHVkZSA8V2ViQ29y
ZS9JbWFnZUJ1ZmZlci5oPgorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViU3BlZWNoUmVjb2duaXRpb25Db25uZWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViU3BlZWNoUmVjb2duaXRpb25Db25u
ZWN0aW9uLmNwcAkocmV2aXNpb24gMjY5NDMxKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYlNwZWVjaFJlY29nbml0aW9uQ29ubmVjdGlvbi5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJXZWJTcGVlY2hSZWNvZ25pdGlv
bkNvbm5lY3Rpb24uaCIKIAogI2luY2x1ZGUgIlNwZWVjaFJlY29nbml0aW9uU2VydmVyTWVzc2Fn
ZXMuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5
TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJTcGVlY2hSZWNvZ25pdGlvbkNvbm5lY3Rpb25NZXNz
YWdlcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvU3BlZWNoUmVjb2duaXRpb25Db25uZWN0aW9uQ2xp
ZW50Lmg+CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0Nv
Y29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
cm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI2OTQzMSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2
LDcgQEAKICNpbXBvcnQgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViUHJvY2Vz
c1Byb3h5TWVzc2FnZXMuaCIKICNpbXBvcnQgIldlYlNsZWVwRGlzYWJsZXJDbGllbnQuaCIKKyNp
bXBvcnQgIldlYlN5c3RlbVNvdW5kRGVsZWdhdGUuaCIKICNpbXBvcnQgIldlYnNpdGVEYXRhU3Rv
cmVQYXJhbWV0ZXJzLmgiCiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9Db25maWdGaWxlLmg+CiAj
aW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9PcHRpb25zLmg+CkBAIC02Nyw2ICs2OCw3IEBACiAjaW1w
b3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9TV0NvbnRleHRNYW5hZ2VyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1N5c3RlbUJhdHRlcnkuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvU3lzdGVtU291bmRNYW5hZ2VyLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1VUSVV0aWxpdGllcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9WZXJzaW9uQ2hlY2tzLmg+CiAjaW1w
b3J0IDxhbGdvcml0aG0+CkBAIC0zNjAsNiArMzYyLDggQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0
Zm9ybUluaXRpYWxpemVXZWJQcgogI2VuZGlmCiAKICAgICB1cGRhdGVQcm9jZXNzTmFtZSgpOwor
ICAgIAorICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc2V0U3lzdGVtU291bmRE
ZWxlZ2F0ZShtYWtlVW5pcXVlPFdlYlN5c3RlbVNvdW5kRGVsZWdhdGU+KCkpOwogfQogCiB2b2lk
IFdlYlByb2Nlc3M6OnBsYXRmb3JtU2V0V2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMoV2ViUHJv
Y2Vzc0RhdGFTdG9yZVBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQpJbmRleDogVG9vbHMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjY5NDMxKQorKysg
VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMTEt
MDUgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNP
U10gU3lzdGVtIHNvdW5kcyBzaG91bGQgYmUgcGxheWVkIGluIHRoZSBVSSBwcm9jZXNzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg0MDUKKworICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1N5c3RlbUJlZXAubW06IEFkZGVkLgorICAgICAgICAoVEVT
VCk6CisKIDIwMjAtMTEtMDUgIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dUS10gVGVzdCAvd2Via2l0L1dlYktpdFdlYnNpdGVEYXRhL2NvbmZpZ3VyYXRpb24g
aXMgZmxha3kKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNjk0MzEpCisr
KyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTA4Nyw2ICsxMDg3LDcgQEAKIAkJRTNBMUU3ODUyMUIy
NUI5MTAwOEM2MDA3IC8qIFVSTFBhcnNlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFM0ExRTc4NDIxQjI1QjkxMDA4QzYwMDcgLyogVVJMUGFyc2Vy
LmNwcCAqLzsgfTsKIAkJRTNDMjFBN0MyMUIyNUNBMjAwM0IzMUEzIC8qIFVSTEV4dHJhcy5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQzIxQTdCMjFC
MjVDQTIwMDNCMzFBMyAvKiBVUkxFeHRyYXMubW0gKi87IH07CiAJCUUzREVBODExMUYwQTU4OTAw
MENCQzJFOCAvKiBUaHJlYWRHcm91cC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFM0RFQTgxMDFGMEE1ODgwMDBDQkMyRTggLyogVGhyZWFkR3JvdXAu
Y3BwICovOyB9OworCQlFM0VGQjAyRjI1NTA2NTAzMDAzQzJGOTYgLyogU3lzdGVtQmVlcC5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRUZCMDJFMjU1
MDY1MDMwMDNDMkY5NiAvKiBTeXN0ZW1CZWVwLm1tICovOyB9OwogCQlFM0Y4QUI5MjI0MUFCOUNF
MDAzRTJBN0UgLyogQWNjZXNzaWJpbGl0eVJlbW90ZVVJQXBwLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNGOEFCOTEyNDFBQjlDRTAwM0UyQTdFIC8q
IEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbSAqLzsgfTsKIAkJRTUwMzZGNzgyMTFCQzI1NDAw
QkZEQkUyIC8qIGNvbG9yLWRyb3AuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNTAzNkY3NzIxMUJDMjI4MDBCRkRCRTIgLyogY29sb3It
ZHJvcC5odG1sICovOyB9OwogCQlFNTg5MTgzQzI1MkJDOTBBMDA0MURFRDUgLyogRGF0ZVRpbWVJ
bnB1dHNBY2Nlc3NvcnlWaWV3VGVzdHMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFNTg5MTgzQjI1MkJDOTBBMDA0MURFRDUgLyogRGF0ZVRpbWVJbnB1
dHNBY2Nlc3NvcnlWaWV3VGVzdHMubW0gKi87IH07CkBAIC0yODA1LDYgKzI4MDYsNyBAQAogCQlF
M0ExRTc4NDIxQjI1QjkxMDA4QzYwMDcgLyogVVJMUGFyc2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVSTFBhcnNlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUUzQzIxQTdCMjFCMjVDQTIwMDNCMzFBMyAvKiBVUkxFeHRyYXMubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVUkxFeHRyYXMubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzREVBODEwMUYwQTU4ODAwMENCQzJFOCAvKiBUaHJlYWRH
cm91cC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUaHJlYWRHcm91
cC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzRUZCMDJFMjU1MDY1MDMwMDND
MkY5NiAvKiBTeXN0ZW1CZWVwLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3lzdGVtQmVlcC5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNGOEFCOTEyNDFBQjlDRTAwM0UyQTdF
IC8qIEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFj
Y2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RTQwMDE5MzAxQUNFOUI1QzAwMUIwQTJBIC8qIEJsb29tRmlsdGVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJsb29tRmlsdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRTQ5MDI5NjcxNEUyRTNBNDAwMkJFREQxIC8qIFR5cGluZ1N0eWxlQ3Jh
c2gubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBUeXBpbmdTdHls
ZUNyYXNoLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzEzNCw2ICszMTM2LDcg
QEAKIAkJCQlFMzI1QzkwNjIzRTM4NzAyMDBCQzdEM0IgLyogUGljdHVyZUluUGljdHVyZVN1cHBv
cnQubW0gKi8sCiAJCQkJQzE1Q0JCM0UyM0ZCMTc3QTAwMzAwQ0M3IC8qIFByZWZlcmVuY2VDaGFu
Z2VzLm1tICovLAogCQkJCUMxNDlENTRGMjQyRTk4NDQwMDNFQkIxMiAvKiBTbGVlcERpc2FibGVy
Lm1tICovLAorCQkJCUUzRUZCMDJFMjU1MDY1MDMwMDNDMkY5NiAvKiBTeXN0ZW1CZWVwLm1tICov
LAogCQkJCTBGMTM5RTc1MUE0MjNBNTMwMEY1OTBGNSAvKiBXZWFrT2JqQ1B0ci5tbSAqLywKIAkJ
CQlDMUZGOUVEQTI0NDY0NEYwMDA4MzlBRTQgLyogV2ViRmlsdGVyLm1tICovLAogCQkJCUMxNEQz
MDQ1MjRCNEMzQkEwMDQ4MDM4NyAvKiBYUENFbmRwb2ludC5tbSAqLywKQEAgLTU0NDUsNiArNTQ0
OCw3IEBACiAJCQkJNTFFQjEyNjcyNENCODc1MzAwMENCMDMwIC8qIFN1bkxpZ2h0QXBwbGljYXRp
b25HZW5lcmljTkVTLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDQzM0EzOTYyMDgwNDQxNDAwOTFF
RDU3IC8qIFN5bmNocm9ub3VzVGltZW91dFRlc3RzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0ND
RTdFQTgxQTQxMUExOTAwNDQ3QzRDIC8qIFN5bnRoZXRpY0JhY2tpbmdTY2FsZUZhY3RvcldpbmRv
dy5tIGluIFNvdXJjZXMgKi8sCisJCQkJRTNFRkIwMkYyNTUwNjUwMzAwM0MyRjk2IC8qIFN5c3Rl
bUJlZXAubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQzczNEI1MzIwNzg4QzQ4MDBGNDMwRUEgLyog
U3lzdGVtQ29sb3JzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFCNzZFNDMyMzI5OEUyQzAwN0ZF
RDJDIC8qIFN5c3RlbVByZXZpZXcubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDcwMDU5NjIxRURB
MEM2MDAzNDYzQ0IgLyogVGFiT3V0T2ZXZWJWaWV3Lm1tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9TeXN0ZW1CZWVwLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1N5c3RlbUJlZXAubW0JKG5vbmV4
aXN0ZW50KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvU3lzdGVtQmVlcC5t
bQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAi
Y29uZmlnLmgiCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdFdL
V2ViVmlldy5oIgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRl
Lmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0
L1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nLmg+CisjaW1wb3J0IDx3dGYvVGhyZWFkaW5nLmg+
CisKKyNpZiBXS19IQVZFX0NfU1BJCisKK1RFU1QoV2ViS2l0LCBTeXN0ZW1CZWVwKQoreworICAg
IGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFs
bG9jXSBpbml0XSk7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRv
cHRXSyhUZXN0V2ViS2l0QVBJOjpVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVU
ZXN0KCJJbnRlcm5hbHNJbmplY3RlZEJ1bmRsZVRlc3QiKSk7CisgICAgY29uZmlndXJhdGlvbi5n
ZXQoKS5wcm9jZXNzUG9vbCA9IChXS1Byb2Nlc3NQb29sICopY29udGV4dC5nZXQoKTsKKyAgICBh
dXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFt
ZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24u
Z2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisKKyAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRp
bmdKYXZhU2NyaXB0OkAid2luZG93LmludGVybmFscy5zeXN0ZW1CZWVwKCkiXTsKK30KKworI2Vu
ZGlmIC8vIFdLX0hBVkVfQ19TUEkK
</data>
<flag name="commit-queue"
          id="430220"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413605</attachid>
            <date>2020-11-09 11:17:27 -0800</date>
            <delta_ts>2020-11-09 11:21:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>218405.patch</filename>
            <type>text/plain</type>
            <size>13942</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2ODgyNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBACisyMDIwLTExLTA5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFN5c3RlbSBz
b3VuZHMgc2hvdWxkIGJlIHBsYXllZCBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NDA1CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83MDg5ODg0Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKwor
ICAgICAgICBJbiBwcmVwYXJhdGlvbiBvZiBibG9ja2luZyB0aGUgc3lzdGVtIHNvdW5kIHNlcnZl
ciBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBzeXN0ZW0gc291bmRzIHNob3VsZCBiZSBwbGF5
ZWQgaW4gdGhlIFVJIHByb2Nlc3MuCisgICAgICAgIFRoaXMgcGF0Y2ggY3JlYXRlcyBhIHN5c3Rl
bSBzb3VuZCBtYW5hZ2VyLCB3aGljaCBkZWxlZ2F0ZXMgdGhlIHNvdW5kIHJlcXVlc3QgaWYgYSBk
ZWxlZ2F0ZSBpcyBwcmVzZW50LCBvdGhlcndpc2UgdGhlIGZ1bmN0aW9uCisgICAgICAgIFBBTDo6
c3lzdGVtQmVlcCB3aWxsIGJlIGNhbGxlZC4KKworICAgICAgICBBUEkgdGVzdDogV2ViS2l0LlN5
c3RlbUJlZXAKKworICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogU291cmNlcy50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6Y3V0KToK
KyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6Y29weSk6CisgICAgICAgIChXZWJDb3JlOjpFZGl0
b3I6OnBlcmZvcm1EZWxldGUpOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlU2VsZWN0VG9NYXJrKToKKyAgICAgICAgKFdlYkNv
cmU6OmV4ZWN1dGVTd2FwV2l0aE1hcmspOgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvRWRpdG9y
Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OnRha2VGaW5kU3RyaW5nRnJvbVNl
bGVjdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OmJlZXApOgorICAgICAg
ICAqIHBsYXRmb3JtL1N5c3RlbVNvdW5kRGVsZWdhdGUuaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpTeXN0ZW1Tb3VuZERlbGVnYXRlOjp+U3lzdGVtU291bmREZWxlZ2F0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpTeXN0ZW1Tb3VuZERlbGVnYXRlOjpzeXN0ZW1CZWVwKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3Rl
bVNvdW5kTWFuYWdlcjo6c2V0U3lzdGVtU291bmREZWxlZ2F0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTeXN0ZW1Tb3VuZE1hbmFnZXI6OnN5c3RlbUJlZXApOgorICAgICAgICAqIHBsYXRmb3JtL1N5
c3RlbVNvdW5kTWFuYWdlci5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9TdGVy
ZW9QYW5uZXIuY3BwOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsczo6c3lzdGVtQmVlcCk6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAtMTAtMjEg
IFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJbnRlZ3Jh
dGlvbl0gQWRkIGNvbnRlbnQgZGVwZW5kZW50IHZlcnRpY2FsIGxpbmUgc25hcHBpbmcKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvSGVhZGVycy5jbWFrZQkocmV2aXNpb24gMjY4ODI1KQorKysgU291cmNlL1dlYkNvcmUvSGVh
ZGVycy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTA0MCw2ICsxMDQwLDcgQEAKICAgICBwbGF0
Zm9ybS9TbGVlcERpc2FibGVySWRlbnRpZmllci5oCiAgICAgcGxhdGZvcm0vU3VkZGVuVGVybWlu
YXRpb24uaAogICAgIHBsYXRmb3JtL1N1cHBsZW1lbnRhYmxlLmgKKyAgICBwbGF0Zm9ybS9TeXN0
ZW1Tb3VuZERlbGVnYXRlLmgKICAgICBwbGF0Zm9ybS9UaGVtZVR5cGVzLmgKICAgICBwbGF0Zm9y
bS9UaHJlYWRDaGVjay5oCiAgICAgcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAkocmV2aXNpb24gMjY4ODI1KQorKysgU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTE4MDgsNiArMTgwOCw3IEBACiBwbGF0Zm9ybS9TaGFyZWRT
dHJpbmdIYXNoLmNwcAogcGxhdGZvcm0vU2xlZXBEaXNhYmxlci5jcHAKIHBsYXRmb3JtL1NsZWVw
RGlzYWJsZXJDbGllbnQuY3BwCitwbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuY3BwCiBwbGF0
Zm9ybS9TdGF0aWNQYXN0ZWJvYXJkLmNwcAogcGxhdGZvcm0vVGhlbWUuY3BwCiBwbGF0Zm9ybS9U
aGVtZVR5cGVzLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjY4ODI1KQorKysgU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00OTkx
LDYgKzQ5OTEsOCBAQAogCQlFM0IyRjBFRTFEN0Y0Q0E5MDBCMEM5RDEgLyogTG9hZGFibGVTY3Jp
cHRDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUzQjJGMEU4MUQ3RjM1RUMwMEIwQzlEMSAvKiBMb2FkYWJsZVNjcmlwdENsaWVudC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzQjJGMEYwMUQ3
RjRDQjUwMEIwQzlEMSAvKiBMb2FkYWJsZUNsYXNzaWNTY3JpcHQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQjJGMEU0MUQ3RjM1RUMwMEIwQzlEMSAv
KiBMb2FkYWJsZUNsYXNzaWNTY3JpcHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlFM0JCQzI0NzIzODM1NTI2MDA2RUMzOUYgLyogQ1NTVmFsdWVL
ZXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQkJD
MjQ1MjM4MzU1MUEwMDZFQzM5RiAvKiBDU1NWYWx1ZUtleS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzQzA0MTJGMjU0Q0EyOUIwMDIxRDBFNiAv
KiBTeXN0ZW1Tb3VuZE1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzQzA0MTJEMjU0Q0EyOUIwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFn
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlF
M0MwNDEzODI1NENCMzBEMDAyMUQwRTYgLyogU3lzdGVtU291bmREZWxlZ2F0ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDMDQxMzEyNTRDQTY2NjAw
MjFEMEU2IC8qIFN5c3RlbVNvdW5kRGVsZWdhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFM0M5OUEwOTFEQzNENDFDMDA3OTRBRDMgLyogRE9N
SklUQ2hlY2tET00uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUzQzk5QTA4MURDM0Q0MTcwMDc5NEFEMyAvKiBET01KSVRDaGVja0RPTS5oICovOyB9Owog
CQlFM0M5QUVDQjIxMTMxNDk5MDA0MTlCOTIgLyogSlNNaWNyb3Rhc2tDYWxsYmFjay5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDOUFFQzkyMTEzMTQ3
NDAwNDE5QjkyIC8qIEpTTWljcm90YXNrQ2FsbGJhY2suaCAqLzsgfTsKIAkJRTNFNEUyQTgxRTNC
MTcxMDAwMjNCQjhBIC8qIFNjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0U0RTJBNjFFM0IxNkZD
MDAyM0JCOEEgLyogU2NyaXB0RWxlbWVudENhY2hlZFNjcmlwdEZldGNoZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTU5NjUsNiArMTU5Njcs
OSBAQAogCQlFM0JGMTlFNTIyQUYyRkY0MDA5Qzk5MjYgLyogQmVmb3JlTG9hZEV2ZW50LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEJlZm9yZUxvYWRFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUUzQkYxOUU2MjJBRjMwMkEwMDlDOTkyNiAvKiBIYXNoQ2hhbmdlRXZlbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGFzaENoYW5nZUV2ZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTNCRjE5RTcyMkFGMzA5RjAwOUM5OTI2IC8qIFNlY3VyaXR5UG9s
aWN5VmlvbGF0aW9uRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2VjdXJpdHlQb2xpY3lW
aW9sYXRpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzQzA0MTJE
MjU0Q0EyOUIwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU3lzdGVtU291bmRNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUUzQzA0MTMxMjU0Q0E2NjYwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZERlbGVn
YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN5c3RlbVNvdW5kRGVsZWdhdGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRTNDMDQxMzIyNTRDQTcxMTAwMjFEMEU2IC8qIFN5c3RlbVNvdW5k
TWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTeXN0ZW1Tb3VuZE1hbmFnZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0M5OUEwODFEQzNENDE3MDA3OTRBRDMgLyog
RE9NSklUQ2hlY2tET00uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSklU
Q2hlY2tET00uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNDOUFFQzkyMTEzMTQ3
NDAwNDE5QjkyIC8qIEpTTWljcm90YXNrQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNNaWNyb3Rhc2tDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFM0QwNDk5MzFEQURDMDQ1MDA3MThGM0MgLyogTm9kZUNvbnN0YW50cy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOb2RlQ29uc3RhbnRzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0yNzI3NCw2ICsyNzI3OSw5IEBACiAJCQkJRjQzM0U5MDIxREJC
REJBMjAwRUYwRDE0IC8qIFN0YXRpY1Bhc3RlYm9hcmQuaCAqLywKIAkJCQk5M0IyRDgxNTBGOTky
MEQyMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24uaCAqLywKIAkJCQk5NzYyN0I5NzE0RkI1
NDI0MDAyQ0RDQTEgLyogU3VwcGxlbWVudGFibGUuaCAqLywKKwkJCQlFM0MwNDEzMTI1NENBNjY2
MDAyMUQwRTYgLyogU3lzdGVtU291bmREZWxlZ2F0ZS5oICovLAorCQkJCUUzQzA0MTMyMjU0Q0E3
MTEwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFnZXIuY3BwICovLAorCQkJCUUzQzA0MTJEMjU0
Q0EyOUIwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFnZXIuaCAqLywKIAkJCQk3Q0M1NjRCNjE4
QkFCRUE2MDAxQjk2NTIgLyogVGVsZXBob25lTnVtYmVyRGV0ZWN0b3IuaCAqLywKIAkJCQlCQ0U2
NUQzMTBFQUQxMjExMDA3RTQ1MzMgLyogVGhlbWUuY3BwICovLAogCQkJCUJDRTY1OEZFMEVBOTI0
OEEwMDdFNDUzMyAvKiBUaGVtZS5oICovLApAQCAtMzQ0OTIsNiArMzQ1MDAsOCBAQAogCQkJCUMx
NjkyREQ1MjNEMjNFMDgwMDZFODhGNyAvKiBTeXN0ZW1CYXR0ZXJ5LmggaW4gSGVhZGVycyAqLywK
IAkJCQlFNEU4QjRFQzIxNkI3OUU1MDBCODgzNEQgLyogU3lzdGVtRm9udERhdGFiYXNlQ29yZVRl
eHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMDNDMDc0MTg4NDY5NUUwMEE1RjhDQSAvKiBTeXN0
ZW1NZW1vcnkuaCBpbiBIZWFkZXJzICovLAorCQkJCUUzQzA0MTM4MjU0Q0IzMEQwMDIxRDBFNiAv
KiBTeXN0ZW1Tb3VuZERlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQlFM0MwNDEyRjI1NENB
MjlCMDAyMUQwRTYgLyogU3lzdGVtU291bmRNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
RDU5NzVCMzE5NjM1RjExMDBEMDA4NzggLyogU3lzdGVtVmVyc2lvbi5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQThDRkYwNTEwQTE1NEYwOTAwMEE0MjM0IC8qIFRhYmxlTGF5b3V0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk2RjE3MjY0RjI0NzBDNjBCMDA1MThDOTYgLyogVGFibGVXcmFwcGVyQmxvY2tG
b3JtYXR0aW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0b3IuY3BwCShyZXZpc2lvbiAyNjg4MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Vk
aXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMyw2ICsxMDMsNyBAQAogI2luY2x1ZGUgIlNw
ZWxsaW5nQ29ycmVjdGlvbkNvbW1hbmQuaCIKICNpbmNsdWRlICJTdGF0aWNQYXN0ZWJvYXJkLmgi
CiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0aWVzLmgiCisjaW5jbHVkZSAiU3lzdGVtU291bmRNYW5h
Z2VyLmgiCiAjaW5jbHVkZSAiVGVsZXBob25lTnVtYmVyRGV0ZWN0b3IuaCIKICNpbmNsdWRlICJU
ZXh0LmgiCiAjaW5jbHVkZSAiVGV4dENoZWNrZXJDbGllbnQuaCIKQEAgLTExNSw3ICsxMTYsNiBA
QAogI2luY2x1ZGUgIlZpc2libGVVbml0cy5oIgogI2luY2x1ZGUgIm1hcmt1cC5oIgogI2luY2x1
ZGUgPHBhbC9GaWxlU2l6ZUZvcm1hdHRlci5oPgotI2luY2x1ZGUgPHBhbC9zeXN0ZW0vU291bmQu
aD4KICNpbmNsdWRlIDxwYWwvdGV4dC9LaWxsUmluZy5oPgogI2luY2x1ZGUgPHd0Zi9TZXRGb3JT
Y29wZS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL0NoYXJhY3Rlck5hbWVzLmg+CkBAIC0xMzY2
LDcgKzEzNjYsNyBAQAogICAgIGlmICh0cnlESFRNTEN1dCgpKQogICAgICAgICByZXR1cm47IC8v
IERIVE1MIGRpZCB0aGUgd2hvbGUgb3BlcmF0aW9uCiAgICAgaWYgKCFjYW5DdXQoKSkgewotICAg
ICAgICBQQUw6OnN5c3RlbUJlZXAoKTsKKyAgICAgICAgU3lzdGVtU291bmRNYW5hZ2VyOjpzaW5n
bGV0b24oKS5zeXN0ZW1CZWVwKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTEzNzks
NyArMTM3OSw3IEBACiAgICAgaWYgKHRyeURIVE1MQ29weSgpKQogICAgICAgICByZXR1cm47IC8v
IERIVE1MIGRpZCB0aGUgd2hvbGUgb3BlcmF0aW9uCiAgICAgaWYgKCFjYW5Db3B5KCkpIHsKLSAg
ICAgICAgUEFMOjpzeXN0ZW1CZWVwKCk7CisgICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2lu
Z2xldG9uKCkuc3lzdGVtQmVlcCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xNTE2
LDcgKzE1MTYsNyBAQAogdm9pZCBFZGl0b3I6OnBlcmZvcm1EZWxldGUoKQogewogICAgIGlmICgh
Y2FuRGVsZXRlKCkpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1CZWVwKCk7CisgICAgICAgIFN5c3Rl
bVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAJ
KHJldmlzaW9uIDI2ODgyNSkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFu
ZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDEyICs1NiwxMiBAQAogI2luY2x1ZGUgIlNjcm9s
bGJhci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0aWVz
LmgiCisjaW5jbHVkZSAiU3lzdGVtU291bmRNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiVHlwaW5nQ29t
bWFuZC5oIgogI2luY2x1ZGUgIlVubGlua0NvbW1hbmQuaCIKICNpbmNsdWRlICJVc2VyR2VzdHVy
ZUluZGljYXRvci5oIgogI2luY2x1ZGUgIlVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgiCiAj
aW5jbHVkZSAibWFya3VwLmgiCi0jaW5jbHVkZSA8cGFsL3N5c3RlbS9Tb3VuZC5oPgogI2luY2x1
ZGUgPHBhbC90ZXh0L0tpbGxSaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbVN0cmluZy5o
PgogCkBAIC0xMDQzLDcgKzEwNDMsNyBAQAogICAgIGF1dG8gbWFya1JhbmdlID0gZWRpdG9yLm1h
cmsoKS50b05vcm1hbGl6ZWRSYW5nZSgpOwogICAgIGF1dG8gc2VsZWN0aW9uUmFuZ2UgPSBzZWxl
Y3Rpb24uc2VsZWN0aW9uKCkudG9Ob3JtYWxpemVkUmFuZ2UoKTsKICAgICBpZiAoIW1hcmtSYW5n
ZSB8fCAhc2VsZWN0aW9uUmFuZ2UpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1CZWVwKCk7CisgICAg
ICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIHNlbGVjdGlvbi5zZXRTZWxlY3RlZFJhbmdlKHVu
aW9uUmFuZ2UoKm1hcmtSYW5nZSwgKnNlbGVjdGlvblJhbmdlKSwgQWZmaW5pdHk6OkRvd25zdHJl
YW0sIEZyYW1lU2VsZWN0aW9uOjpTaG91bGRDbG9zZVR5cGluZzo6WWVzKTsKQEAgLTExMDMsNyAr
MTEwMyw3IEBACiAgICAgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgbWFyayA9IGZyYW1lLmVkaXRv
cigpLm1hcmsoKTsKICAgICBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24gPSBmcmFt
ZS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKTsKICAgICBpZiAobWFyay5pc05vbmUoKSB8fCBzZWxl
Y3Rpb24uaXNOb25lKCkpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1CZWVwKCk7CisgICAgICAgIFN5
c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgfQogICAgIGZyYW1lLnNlbGVjdGlvbigpLnNldFNlbGVjdGlvbihtYXJr
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRWRpdG9yQ29jb2EubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbQko
cmV2aXNpb24gMjY4ODI1KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JD
b2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNTMsMTIgKzUzLDEyIEBACiAjaW1wb3J0ICJSZW5k
ZXJFbGVtZW50LmgiCiAjaW1wb3J0ICJSZW5kZXJTdHlsZS5oIgogI2ltcG9ydCAiU2V0dGluZ3Mu
aCIKKyNpbXBvcnQgIlN5c3RlbVNvdW5kTWFuYWdlci5oIgogI2ltcG9ydCAiVGV4dC5oIgogI2lt
cG9ydCAiVVRJVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJXZWJDb250ZW50UmVhZGVyLmgiCiAjaW1w
b3J0ICJtYXJrdXAuaCIKICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5n
U1BJLmg+Ci0jaW1wb3J0IDxwYWwvc3lzdGVtL1NvdW5kLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tP
YmpDRXhjZXB0aW9ucy5oPgogI2ltcG9ydCA8d3RmL2NvY29hL05TVVJMRXh0cmFzLmg+CiAKQEAg
LTIzOSw3ICsyMzksNyBAQAogdm9pZCBFZGl0b3I6OnRha2VGaW5kU3RyaW5nRnJvbVNlbGVjdGlv
bigpCiB7CiAgICAgaWYgKCFjYW5Db3B5RXhjbHVkaW5nU3RhbmRhbG9uZUltYWdlcygpKSB7Ci0g
ICAgICAgIFBBTDo6c3lzdGVtQmVlcCgpOworICAgICAgICBTeXN0ZW1Tb3VuZE1hbmFnZXI6OnNp
bmdsZXRvbigpLnN5c3RlbUJlZXAoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApJbmRleDog
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5j
cHAJKHJldmlzaW9uIDI2ODgyNSkKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZEhvc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBACiAjaW5j
bHVkZSAiUGFzdGVib2FyZC5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAjaW5jbHVkZSAi
U2V0dGluZ3MuaCIKKyNpbmNsdWRlICJTeXN0ZW1Tb3VuZE1hbmFnZXIuaCIKICNpbmNsdWRlICJV
c2VyR2VzdHVyZUluZGljYXRvci5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdEZ1
bmN0aW9uQ2FsbC5oPgogI2luY2x1ZGUgPHBhbC9zeXN0ZW0vU291bmQuaD4KQEAgLTU1NSw3ICs1
NTYsNyBAQAogCiB2b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6YmVlcCgpCiB7Ci0gICAgUEFM
OjpzeXN0ZW1CZWVwKCk7CisgICAgU3lzdGVtU291bmRNYW5hZ2VyOjpzaW5nbGV0b24oKS5zeXN0
ZW1CZWVwKCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OjppbnNwZWN0SW5zcGVj
dG9yKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1N0ZXJlb1Bhbm5lci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vU3RlcmVvUGFu
bmVyLmNwcAkocmV2aXNpb24gMjY4ODI1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vU3RlcmVvUGFubmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogCiAj
aWYgRU5BQkxFKFdFQl9BVURJTykKIAorI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1
ZGUgIlZlY3Rvck1hdGguaCIKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCShyZXZpc2lvbiAyNjg4MjUpCisrKyBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5Miw2
ICsxOTIsNyBAQAogI2luY2x1ZGUgIlN0eWxlUnVsZS5oIgogI2luY2x1ZGUgIlN0eWxlU2NvcGUu
aCIKICNpbmNsdWRlICJTdHlsZVNoZWV0Q29udGVudHMuaCIKKyNpbmNsdWRlICJTeXN0ZW1Tb3Vu
ZE1hbmFnZXIuaCIKICNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKICNpbmNsdWRlICJUZXh0UGxh
Y2Vob2xkZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiVHJlZVNjb3BlLmgiCkBAIC00NzIxLDYgKzQ3
MjIsMTAgQEAKICAgICByZXR1cm4gYnVpbGRlci5yZXN1bHQoKTsKIH0KIAordm9pZCBJbnRlcm5h
bHM6OnN5c3RlbUJlZXAoKQoreworICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCku
c3lzdGVtQmVlcCgpOworfQogCiBTdHJpbmcgSW50ZXJuYWxzOjpnZXRDdXJyZW50TWVkaWFDb250
cm9sc1N0YXR1c0ZvckVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCYgbWVkaWFFbGVtZW50KQogewpJ
bmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCShyZXZpc2lvbiAyNjg4MjUpCisrKyBT
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDU4
LDYgKzEwNTgsOCBAQAogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNlbmRNZWRpYVNlc3Npb25BY3Rp
b24oTWVkaWFTZXNzaW9uJiwgY29uc3QgTWVkaWFTZXNzaW9uQWN0aW9uRGV0YWlscyYpOwogI2Vu
ZGlmCiAKKyAgICB2b2lkIHN5c3RlbUJlZXAoKTsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBJ
bnRlcm5hbHMoRG9jdW1lbnQmKTsKICAgICBEb2N1bWVudCogY29udGV4dERvY3VtZW50KCkgY29u
c3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCShyZXZpc2lvbiAyNjg4
MjUpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTk1Niw0ICs5NTYsNiBAQAogCiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NFU1NJT04s
IE1heVRocm93RXhjZXB0aW9uXSBkb3VibGUgY3VycmVudE1lZGlhU2Vzc2lvblBvc2l0aW9uKE1l
ZGlhU2Vzc2lvbiBzZXNzaW9uKTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU0VTU0lPTiwgTWF5
VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZW5kTWVkaWFTZXNzaW9uQWN0aW9uKE1lZGlhU2Vz
c2lvbiBzZXNzaW9uLCBNZWRpYVNlc3Npb25BY3Rpb25EZXRhaWxzIGFjdGlvbkRldGFpbHMpOwor
CisgICAgdW5kZWZpbmVkIHN5c3RlbUJlZXAoKTsKIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413608</attachid>
            <date>2020-11-09 11:32:22 -0800</date>
            <delta_ts>2020-11-09 11:37:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>218405.patch</filename>
            <type>text/plain</type>
            <size>38449</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTU4OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBACisyMDIwLTExLTA5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFN5c3RlbSBz
b3VuZHMgc2hvdWxkIGJlIHBsYXllZCBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NDA1CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83MDg5ODg0Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKwor
ICAgICAgICBJbiBwcmVwYXJhdGlvbiBvZiBibG9ja2luZyB0aGUgc3lzdGVtIHNvdW5kIHNlcnZl
ciBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBzeXN0ZW0gc291bmRzIHNob3VsZCBiZSBwbGF5
ZWQgaW4gdGhlIFVJIHByb2Nlc3MuCisgICAgICAgIFRoaXMgcGF0Y2ggY3JlYXRlcyBhIHN5c3Rl
bSBzb3VuZCBtYW5hZ2VyLCB3aGljaCBkZWxlZ2F0ZXMgdGhlIHNvdW5kIHJlcXVlc3QgaWYgYSBk
ZWxlZ2F0ZSBpcyBwcmVzZW50LCBvdGhlcndpc2UgdGhlIGZ1bmN0aW9uCisgICAgICAgIFBBTDo6
c3lzdGVtQmVlcCB3aWxsIGJlIGNhbGxlZC4KKworICAgICAgICBBUEkgdGVzdDogV2ViS2l0LlN5
c3RlbUJlZXAKKworICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogU291cmNlcy50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6Y3V0KToK
KyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6Y29weSk6CisgICAgICAgIChXZWJDb3JlOjpFZGl0
b3I6OnBlcmZvcm1EZWxldGUpOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlU2VsZWN0VG9NYXJrKToKKyAgICAgICAgKFdlYkNv
cmU6OmV4ZWN1dGVTd2FwV2l0aE1hcmspOgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvRWRpdG9y
Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OnRha2VGaW5kU3RyaW5nRnJvbVNl
bGVjdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OmJlZXApOgorICAgICAg
ICAqIHBsYXRmb3JtL1N5c3RlbVNvdW5kRGVsZWdhdGUuaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpTeXN0ZW1Tb3VuZERlbGVnYXRlOjp+U3lzdGVtU291bmREZWxlZ2F0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpTeXN0ZW1Tb3VuZERlbGVnYXRlOjpzeXN0ZW1CZWVwKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3Rl
bVNvdW5kTWFuYWdlcjo6c2V0U3lzdGVtU291bmREZWxlZ2F0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTeXN0ZW1Tb3VuZE1hbmFnZXI6OnN5c3RlbUJlZXApOgorICAgICAgICAqIHBsYXRmb3JtL1N5
c3RlbVNvdW5kTWFuYWdlci5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9TdGVy
ZW9QYW5uZXIuY3BwOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsczo6c3lzdGVtQmVlcCk6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAtMTEtMDkg
IEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW1Rl
eHR1cmVNYXBwZXJdIFRoZSB0b3AgYW5kIGxlZnQgc2lkZXMgb2YgZHJvcC1zaGFkb3cgYXJlIGNs
aXBwZWQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQkocmV2aXNpb24gMjY5NTg4KQorKysgU291cmNl
L1dlYkNvcmUvSGVhZGVycy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTA1Nyw2ICsxMDU3LDcg
QEAKICAgICBwbGF0Zm9ybS9TbGVlcERpc2FibGVySWRlbnRpZmllci5oCiAgICAgcGxhdGZvcm0v
U3VkZGVuVGVybWluYXRpb24uaAogICAgIHBsYXRmb3JtL1N1cHBsZW1lbnRhYmxlLmgKKyAgICBw
bGF0Zm9ybS9TeXN0ZW1Tb3VuZERlbGVnYXRlLmgKICAgICBwbGF0Zm9ybS9UaGVtZVR5cGVzLmgK
ICAgICBwbGF0Zm9ybS9UaHJlYWRDaGVjay5oCiAgICAgcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0
YS5oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkocmV2aXNpb24gMjY5NTg4KQorKysgU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE4MjAsNiArMTgyMCw3IEBACiBwbGF0
Zm9ybS9TaGFyZWRTdHJpbmdIYXNoLmNwcAogcGxhdGZvcm0vU2xlZXBEaXNhYmxlci5jcHAKIHBs
YXRmb3JtL1NsZWVwRGlzYWJsZXJDbGllbnQuY3BwCitwbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFn
ZXIuY3BwCiBwbGF0Zm9ybS9TdGF0aWNQYXN0ZWJvYXJkLmNwcAogcGxhdGZvcm0vVGhlbWUuY3Bw
CiBwbGF0Zm9ybS9UaGVtZVR5cGVzLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjY5NTg4KQorKysgU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC01MDA1LDYgKzUwMDUsOCBAQAogCQlFM0IyRjBFRTFEN0Y0Q0E5MDBCMEM5RDEgLyog
TG9hZGFibGVTY3JpcHRDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzQjJGMEU4MUQ3RjM1RUMwMEIwQzlEMSAvKiBMb2FkYWJsZVNjcmlwdENs
aWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUUzQjJGMEYwMUQ3RjRDQjUwMEIwQzlEMSAvKiBMb2FkYWJsZUNsYXNzaWNTY3JpcHQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQjJGMEU0MUQ3RjM1
RUMwMEIwQzlEMSAvKiBMb2FkYWJsZUNsYXNzaWNTY3JpcHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFM0JCQzI0NzIzODM1NTI2MDA2RUMzOUYg
LyogQ1NTVmFsdWVLZXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUzQkJDMjQ1MjM4MzU1MUEwMDZFQzM5RiAvKiBDU1NWYWx1ZUtleS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzQzA0MTJGMjU0Q0Ey
OUIwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQzA0MTJEMjU0Q0EyOUIwMDIxRDBFNiAvKiBTeXN0
ZW1Tb3VuZE1hbmFnZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQlFM0MwNDEzODI1NENCMzBEMDAyMUQwRTYgLyogU3lzdGVtU291bmREZWxlZ2F0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDMDQx
MzEyNTRDQTY2NjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kRGVsZWdhdGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFM0M5OUEwOTFEQzNENDFDMDA3
OTRBRDMgLyogRE9NSklUQ2hlY2tET00uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUzQzk5QTA4MURDM0Q0MTcwMDc5NEFEMyAvKiBET01KSVRDaGVja0RP
TS5oICovOyB9OwogCQlFM0M5QUVDQjIxMTMxNDk5MDA0MTlCOTIgLyogSlNNaWNyb3Rhc2tDYWxs
YmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTND
OUFFQzkyMTEzMTQ3NDAwNDE5QjkyIC8qIEpTTWljcm90YXNrQ2FsbGJhY2suaCAqLzsgfTsKIAkJ
RTNFNEUyQTgxRTNCMTcxMDAwMjNCQjhBIC8qIFNjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRj
aGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0U0
RTJBNjFFM0IxNkZDMDAyM0JCOEEgLyogU2NyaXB0RWxlbWVudENhY2hlZFNjcmlwdEZldGNoZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTYw
MTcsNiArMTYwMTksOSBAQAogCQlFM0JGMTlFNTIyQUYyRkY0MDA5Qzk5MjYgLyogQmVmb3JlTG9h
ZEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJlZm9yZUxvYWRFdmVudC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzQkYxOUU2MjJBRjMwMkEwMDlDOTkyNiAvKiBIYXNo
Q2hhbmdlRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGFzaENoYW5nZUV2ZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNCRjE5RTcyMkFGMzA5RjAwOUM5OTI2IC8q
IFNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Vj
dXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUUzQzA0MTJEMjU0Q0EyOUIwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFnZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3lzdGVtU291bmRNYW5hZ2VyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzQzA0MTMxMjU0Q0E2NjYwMDIxRDBFNiAvKiBTeXN0
ZW1Tb3VuZERlbGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN5c3RlbVNvdW5kRGVsZWdhdGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTNDMDQxMzIyNTRDQTcxMTAwMjFEMEU2IC8q
IFN5c3RlbVNvdW5kTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTeXN0ZW1Tb3VuZE1h
bmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0M5OUEwODFEQzNENDE3
MDA3OTRBRDMgLyogRE9NSklUQ2hlY2tET00uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRE9NSklUQ2hlY2tET00uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTND
OUFFQzkyMTEzMTQ3NDAwNDE5QjkyIC8qIEpTTWljcm90YXNrQ2FsbGJhY2suaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNaWNyb3Rhc2tDYWxsYmFjay5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFM0QwNDk5MzFEQURDMDQ1MDA3MThGM0MgLyogTm9kZUNvbnN0
YW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOb2RlQ29uc3RhbnRzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNzM2Nyw2ICsyNzM3Miw5IEBACiAJCQkJ
RjQzM0U5MDIxREJCREJBMjAwRUYwRDE0IC8qIFN0YXRpY1Bhc3RlYm9hcmQuaCAqLywKIAkJCQk5
M0IyRDgxNTBGOTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24uaCAqLywKIAkJCQk5
NzYyN0I5NzE0RkI1NDI0MDAyQ0RDQTEgLyogU3VwcGxlbWVudGFibGUuaCAqLywKKwkJCQlFM0Mw
NDEzMTI1NENBNjY2MDAyMUQwRTYgLyogU3lzdGVtU291bmREZWxlZ2F0ZS5oICovLAorCQkJCUUz
QzA0MTMyMjU0Q0E3MTEwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFnZXIuY3BwICovLAorCQkJ
CUUzQzA0MTJEMjU0Q0EyOUIwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFnZXIuaCAqLywKIAkJ
CQk3Q0M1NjRCNjE4QkFCRUE2MDAxQjk2NTIgLyogVGVsZXBob25lTnVtYmVyRGV0ZWN0b3IuaCAq
LywKIAkJCQlCQ0U2NUQzMTBFQUQxMjExMDA3RTQ1MzMgLyogVGhlbWUuY3BwICovLAogCQkJCUJD
RTY1OEZFMEVBOTI0OEEwMDdFNDUzMyAvKiBUaGVtZS5oICovLApAQCAtMzQ2MDQsNiArMzQ2MTIs
OCBAQAogCQkJCUMxNjkyREQ1MjNEMjNFMDgwMDZFODhGNyAvKiBTeXN0ZW1CYXR0ZXJ5LmggaW4g
SGVhZGVycyAqLywKIAkJCQlFNEU4QjRFQzIxNkI3OUU1MDBCODgzNEQgLyogU3lzdGVtRm9udERh
dGFiYXNlQ29yZVRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMDNDMDc0MTg4NDY5NUUwMEE1
RjhDQSAvKiBTeXN0ZW1NZW1vcnkuaCBpbiBIZWFkZXJzICovLAorCQkJCUUzQzA0MTM4MjU0Q0Iz
MEQwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZERlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQlF
M0MwNDEyRjI1NENBMjlCMDAyMUQwRTYgLyogU3lzdGVtU291bmRNYW5hZ2VyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1RDU5NzVCMzE5NjM1RjExMDBEMDA4NzggLyogU3lzdGVtVmVyc2lvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQThDRkYwNTEwQTE1NEYwOTAwMEE0MjM0IC8qIFRhYmxlTGF5b3V0
LmggaW4gSGVhZGVycyAqLywKIAkJCQk2RjE3MjY0RjI0NzBDNjBCMDA1MThDOTYgLyogVGFibGVX
cmFwcGVyQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0b3IuY3BwCShyZXZpc2lvbiAyNjk1ODgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMyw2ICsxMDMsNyBAQAog
I2luY2x1ZGUgIlNwZWxsaW5nQ29ycmVjdGlvbkNvbW1hbmQuaCIKICNpbmNsdWRlICJTdGF0aWNQ
YXN0ZWJvYXJkLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0aWVzLmgiCisjaW5jbHVkZSAiU3lz
dGVtU291bmRNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiVGVsZXBob25lTnVtYmVyRGV0ZWN0b3IuaCIK
ICNpbmNsdWRlICJUZXh0LmgiCiAjaW5jbHVkZSAiVGV4dENoZWNrZXJDbGllbnQuaCIKQEAgLTEx
NSw3ICsxMTYsNiBAQAogI2luY2x1ZGUgIlZpc2libGVVbml0cy5oIgogI2luY2x1ZGUgIm1hcmt1
cC5oIgogI2luY2x1ZGUgPHBhbC9GaWxlU2l6ZUZvcm1hdHRlci5oPgotI2luY2x1ZGUgPHBhbC9z
eXN0ZW0vU291bmQuaD4KICNpbmNsdWRlIDxwYWwvdGV4dC9LaWxsUmluZy5oPgogI2luY2x1ZGUg
PHd0Zi9TZXRGb3JTY29wZS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL0NoYXJhY3Rlck5hbWVz
Lmg+CkBAIC0xMzY2LDcgKzEzNjYsNyBAQAogICAgIGlmICh0cnlESFRNTEN1dCgpKQogICAgICAg
ICByZXR1cm47IC8vIERIVE1MIGRpZCB0aGUgd2hvbGUgb3BlcmF0aW9uCiAgICAgaWYgKCFjYW5D
dXQoKSkgewotICAgICAgICBQQUw6OnN5c3RlbUJlZXAoKTsKKyAgICAgICAgU3lzdGVtU291bmRN
YW5hZ2VyOjpzaW5nbGV0b24oKS5zeXN0ZW1CZWVwKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKQEAgLTEzNzksNyArMTM3OSw3IEBACiAgICAgaWYgKHRyeURIVE1MQ29weSgpKQogICAgICAg
ICByZXR1cm47IC8vIERIVE1MIGRpZCB0aGUgd2hvbGUgb3BlcmF0aW9uCiAgICAgaWYgKCFjYW5D
b3B5KCkpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1CZWVwKCk7CisgICAgICAgIFN5c3RlbVNvdW5k
TWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCkBAIC0xNTE2LDcgKzE1MTYsNyBAQAogdm9pZCBFZGl0b3I6OnBlcmZvcm1EZWxldGUoKQog
ewogICAgIGlmICghY2FuRGVsZXRlKCkpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1CZWVwKCk7Cisg
ICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRv
ckNvbW1hbmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9y
Q29tbWFuZC5jcHAJKHJldmlzaW9uIDI2OTU4OCkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RWRpdG9yQ29tbWFuZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDEyICs1NiwxMiBAQAogI2lu
Y2x1ZGUgIlNjcm9sbGJhci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3R5
bGVQcm9wZXJ0aWVzLmgiCisjaW5jbHVkZSAiU3lzdGVtU291bmRNYW5hZ2VyLmgiCiAjaW5jbHVk
ZSAiVHlwaW5nQ29tbWFuZC5oIgogI2luY2x1ZGUgIlVubGlua0NvbW1hbmQuaCIKICNpbmNsdWRl
ICJVc2VyR2VzdHVyZUluZGljYXRvci5oIgogI2luY2x1ZGUgIlVzZXJUeXBpbmdHZXN0dXJlSW5k
aWNhdG9yLmgiCiAjaW5jbHVkZSAibWFya3VwLmgiCi0jaW5jbHVkZSA8cGFsL3N5c3RlbS9Tb3Vu
ZC5oPgogI2luY2x1ZGUgPHBhbC90ZXh0L0tpbGxSaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
QXRvbVN0cmluZy5oPgogCkBAIC0xMDQzLDcgKzEwNDMsNyBAQAogICAgIGF1dG8gbWFya1Jhbmdl
ID0gZWRpdG9yLm1hcmsoKS50b05vcm1hbGl6ZWRSYW5nZSgpOwogICAgIGF1dG8gc2VsZWN0aW9u
UmFuZ2UgPSBzZWxlY3Rpb24uc2VsZWN0aW9uKCkudG9Ob3JtYWxpemVkUmFuZ2UoKTsKICAgICBp
ZiAoIW1hcmtSYW5nZSB8fCAhc2VsZWN0aW9uUmFuZ2UpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1C
ZWVwKCk7CisgICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVl
cCgpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIHNlbGVjdGlvbi5zZXRTZWxl
Y3RlZFJhbmdlKHVuaW9uUmFuZ2UoKm1hcmtSYW5nZSwgKnNlbGVjdGlvblJhbmdlKSwgQWZmaW5p
dHk6OkRvd25zdHJlYW0sIEZyYW1lU2VsZWN0aW9uOjpTaG91bGRDbG9zZVR5cGluZzo6WWVzKTsK
QEAgLTExMDMsNyArMTEwMyw3IEBACiAgICAgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgbWFyayA9
IGZyYW1lLmVkaXRvcigpLm1hcmsoKTsKICAgICBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxl
Y3Rpb24gPSBmcmFtZS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKTsKICAgICBpZiAobWFyay5pc05v
bmUoKSB8fCBzZWxlY3Rpb24uaXNOb25lKCkpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1CZWVwKCk7
CisgICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIGZyYW1lLnNlbGVjdGlvbigpLnNldFNl
bGVjdGlvbihtYXJrKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRWRpdG9y
Q29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0
b3JDb2NvYS5tbQkocmV2aXNpb24gMjY5NTg4KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9j
b2NvYS9FZGl0b3JDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNTMsMTIgKzUzLDEyIEBACiAj
aW1wb3J0ICJSZW5kZXJFbGVtZW50LmgiCiAjaW1wb3J0ICJSZW5kZXJTdHlsZS5oIgogI2ltcG9y
dCAiU2V0dGluZ3MuaCIKKyNpbXBvcnQgIlN5c3RlbVNvdW5kTWFuYWdlci5oIgogI2ltcG9ydCAi
VGV4dC5oIgogI2ltcG9ydCAiVVRJVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJXZWJDb250ZW50UmVh
ZGVyLmgiCiAjaW1wb3J0ICJtYXJrdXAuaCIKICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvTlNBdHRy
aWJ1dGVkU3RyaW5nU1BJLmg+Ci0jaW1wb3J0IDxwYWwvc3lzdGVtL1NvdW5kLmg+CiAjaW1wb3J0
IDx3dGYvQmxvY2tPYmpDRXhjZXB0aW9ucy5oPgogI2ltcG9ydCA8d3RmL2NvY29hL05TVVJMRXh0
cmFzLmg+CiAKQEAgLTIzOSw3ICsyMzksNyBAQAogdm9pZCBFZGl0b3I6OnRha2VGaW5kU3RyaW5n
RnJvbVNlbGVjdGlvbigpCiB7CiAgICAgaWYgKCFjYW5Db3B5RXhjbHVkaW5nU3RhbmRhbG9uZUlt
YWdlcygpKSB7Ci0gICAgICAgIFBBTDo6c3lzdGVtQmVlcCgpOworICAgICAgICBTeXN0ZW1Tb3Vu
ZE1hbmFnZXI6OnNpbmdsZXRvbigpLnN5c3RlbUJlZXAoKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9z
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kSG9zdC5jcHAJKHJldmlzaW9uIDI2OTU4OCkKKysrIFNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1
Niw3IEBACiAjaW5jbHVkZSAiUGFzdGVib2FyZC5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgi
CiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKKyNpbmNsdWRlICJTeXN0ZW1Tb3VuZE1hbmFnZXIuaCIK
ICNpbmNsdWRlICJVc2VyR2VzdHVyZUluZGljYXRvci5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL1NjcmlwdEZ1bmN0aW9uQ2FsbC5oPgogI2luY2x1ZGUgPHBhbC9zeXN0ZW0vU291bmQuaD4K
QEAgLTU1NSw3ICs1NTYsNyBAQAogCiB2b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6YmVlcCgp
CiB7Ci0gICAgUEFMOjpzeXN0ZW1CZWVwKCk7CisgICAgU3lzdGVtU291bmRNYW5hZ2VyOjpzaW5n
bGV0b24oKS5zeXN0ZW1CZWVwKCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0Ojpp
bnNwZWN0SW5zcGVjdG9yKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNv
dW5kRGVsZWdhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0
ZW1Tb3VuZERlbGVnYXRlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU3lzdGVtU291bmREZWxlZ2F0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzcgQEAK
Ky8qCisqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgor
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjcHJhZ21hIG9uY2UK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTeXN0ZW1Tb3VuZERlbGVnYXRlIHsKK3B1
YmxpYzoKKyAgICB2aXJ0dWFsIH5TeXN0ZW1Tb3VuZERlbGVnYXRlKCkgeyB9CisKKyAgICB2aXJ0
dWFsIHZvaWQgc3lzdGVtQmVlcCgpIHsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3lzdGVtU291bmRNYW5hZ2VyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuY3Bw
CShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNvdW5kTWFu
YWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NSBAQAorLyoKKyogQ29weXJpZ2h0
IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworKiBhcmUgbWV0OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJTeXN0ZW1Tb3VuZE1hbmFnZXIuaCIKKworI2luY2x1ZGUgIlN5c3RlbVNvdW5kRGVsZWdhdGUu
aCIKKworI2luY2x1ZGUgPHBhbC9zeXN0ZW0vU291bmQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitTeXN0ZW1Tb3VuZE1hbmFnZXImIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkK
K3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3lzdGVtU291bmRNYW5hZ2VyPiBzeXN0ZW1T
b3VuZE1hbmFnZXI7CisgICAgcmV0dXJuIHN5c3RlbVNvdW5kTWFuYWdlcjsKK30KKyAgICAKK3Zv
aWQgU3lzdGVtU291bmRNYW5hZ2VyOjpzZXRTeXN0ZW1Tb3VuZERlbGVnYXRlKHN0ZDo6dW5pcXVl
X3B0cjxTeXN0ZW1Tb3VuZERlbGVnYXRlPiYmIGRlbGVnYXRlKQoreworICAgIG1fZGVsZWdhdGUg
PSBXVEZNb3ZlKGRlbGVnYXRlKTsKK30KKyAgICAKK3ZvaWQgU3lzdGVtU291bmRNYW5hZ2VyOjpz
eXN0ZW1CZWVwKCkKK3sKKyAgICBpZiAobV9kZWxlZ2F0ZSkgeworICAgICAgICBtX2RlbGVnYXRl
LT5zeXN0ZW1CZWVwKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgUEFMOjpzeXN0ZW1C
ZWVwKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1N5c3RlbVNvdW5kTWFuYWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1N5c3RlbVNvdW5kTWFuYWdlci5oCShub25leGlzdGVudCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNvdW5kTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNDkgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoK
KyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
Q09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBPUgorKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLwor
CisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFN5c3RlbVNvdW5kRGVsZWdhdGU7CisKK2NsYXNzIFN5
c3RlbVNvdW5kTWFuYWdlciB7CisgICAgZnJpZW5kIE5ldmVyRGVzdHJveWVkPFN5c3RlbVNvdW5k
TWFuYWdlcj47CitwdWJsaWM6CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFN5c3RlbVNvdW5k
TWFuYWdlciYgc2luZ2xldG9uKCk7CisgICAgCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRT
eXN0ZW1Tb3VuZERlbGVnYXRlKHN0ZDo6dW5pcXVlX3B0cjxTeXN0ZW1Tb3VuZERlbGVnYXRlPiYm
KTsKKyAgICAKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN5c3RlbUJlZXAoKTsKKyAgICAKK3By
aXZhdGU6CisgICAgU3lzdGVtU291bmRNYW5hZ2VyKCkgPSBkZWZhdWx0OworCisgICAgc3RkOjp1
bmlxdWVfcHRyPFN5c3RlbVNvdW5kRGVsZWdhdGU+IG1fZGVsZWdhdGU7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9TdGVy
ZW9QYW5uZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L1N0ZXJlb1Bhbm5lci5jcHAJKHJldmlzaW9uIDI2OTU4OCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL1N0ZXJlb1Bhbm5lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5
LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfQVVESU8pCiAKKyNpbmNsdWRlICJTaGFyZWRCdWZmZXIu
aCIKICNpbmNsdWRlICJWZWN0b3JNYXRoLmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4K
IApJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkocmV2aXNpb24gMjY5NTg4
KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xOTIsNiArMTkyLDcgQEAKICNpbmNsdWRlICJTdHlsZVJ1bGUuaCIKICNpbmNsdWRlICJT
dHlsZVNjb3BlLmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVldENvbnRlbnRzLmgiCisjaW5jbHVkZSAi
U3lzdGVtU291bmRNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCiAjaW5jbHVk
ZSAiVGV4dFBsYWNlaG9sZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlRyZWVTY29wZS5oIgpAQCAt
NDcyOSw2ICs0NzMwLDEwIEBACiAgICAgcmV0dXJuIGJ1aWxkZXIucmVzdWx0KCk7CiB9CiAKK3Zv
aWQgSW50ZXJuYWxzOjpzeXN0ZW1CZWVwKCkKK3sKKyAgICBTeXN0ZW1Tb3VuZE1hbmFnZXI6OnNp
bmdsZXRvbigpLnN5c3RlbUJlZXAoKTsKK30KIAogU3RyaW5nIEludGVybmFsczo6Z2V0Q3VycmVu
dE1lZGlhQ29udHJvbHNTdGF0dXNGb3JFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQmIG1lZGlhRWxl
bWVudCkKIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNpb24gMjY5
NTg4KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkod29ya2luZyBjb3B5
KQpAQCAtMTA3MCw2ICsxMDcwLDggQEAKICAgICBib29sIHJhbmdlQ29udGFpbnNOb2RlKGNvbnN0
IEFic3RyYWN0UmFuZ2UmLCBOb2RlJiwgVHJlZVR5cGUpOwogICAgIGJvb2wgcmFuZ2VDb250YWlu
c1JhbmdlKGNvbnN0IEFic3RyYWN0UmFuZ2UmLCBjb25zdCBBYnN0cmFjdFJhbmdlJiwgVHJlZVR5
cGUpOwogCisgICAgdm9pZCBzeXN0ZW1CZWVwKCk7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQg
SW50ZXJuYWxzKERvY3VtZW50Jik7CiAgICAgRG9jdW1lbnQqIGNvbnRleHREb2N1bWVudCgpIGNv
bnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAkocmV2aXNpb24gMjY5
NTg4KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC05NjksNCArOTY5LDYgQEAKICAgICBET01TdHJpbmcgdHJlZU9yZGVyQm91bmRhcnlQ
b2ludHMoTm9kZSBjb250YWluZXJBLCB1bnNpZ25lZCBsb25nIG9mZnNldEEsIE5vZGUgY29udGFp
bmVyQiwgdW5zaWduZWQgbG9uZyBvZmZzZXRCLCBvcHRpb25hbCBUcmVlVHlwZSB0cmVlID0gIlRy
ZWUiKTsKICAgICBib29sZWFuIHJhbmdlQ29udGFpbnNOb2RlKEFic3RyYWN0UmFuZ2UgcmFuZ2Us
IE5vZGUgbm9kZSwgb3B0aW9uYWwgVHJlZVR5cGUgdHJlZSA9ICJUcmVlIik7CiAgICAgYm9vbGVh
biByYW5nZUNvbnRhaW5zUmFuZ2UoQWJzdHJhY3RSYW5nZSBvdXRlclJhbmdlLCBBYnN0cmFjdFJh
bmdlIGlubmVyUmFuZ2UsIG9wdGlvbmFsIFRyZWVUeXBlIHRyZWUgPSAiVHJlZSIpOworCisgICAg
dW5kZWZpbmVkIHN5c3RlbUJlZXAoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjY5NTg4
KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwy
NiBAQAorMjAyMC0xMS0wOSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW21hY09TXSBTeXN0ZW0gc291bmRzIHNob3VsZCBiZSBwbGF5ZWQgaW4gdGhlIFVJ
IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxODQwNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzA4OTg4NDY+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgU3ViY2xhc3MgU3lzdGVtU291bmREZWxl
Z2F0ZSwgd2hpY2ggd2lsbCBmb3J3YXJkIHN5c3RlbSBzb3VuZCByZXF1ZXN0cyB0byB0aGUgVUkg
cHJvY2Vzcy4KKworICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OnN5
c3RlbUJlZXApOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BV
L2dyYXBoaWNzL1JlbW90ZVJlc291cmNlQ2FjaGVQcm94eS5jcHA6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6
OldlYlN5c3RlbVNvdW5kRGVsZWdhdGU6OnN5c3RlbUJlZXApOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6
cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisKIDIwMjAtMTEtMDkgIERldmluIFJvdXNz
byAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIGF1dG9mb2N1cyBvZiB0ZXh0IGlucHV0
IHNob3VsZCBub3Qgc2VsZWN0IHRleHQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU291cmNlcy50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAkocmV2aXNpb24gMjY5NTg4
KQorKysgU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNDkwLDYg
KzQ5MCw3IEBACiBXZWJQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcy5jcHAKIFdlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAKIFdlYlByb2Nlc3MvV2ViU2xlZXBEaXNhYmxlckNsaWVudC5j
cHAKK1dlYlByb2Nlc3MvV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5jcHAKIAogLy8gRklYTUUoMjA2
MjY2KTogQXV0b21hdGlvblByb3RvY29sT2JqZWN0cy5oJ3MgIm5hbWVzcGFjZSBQcm90b2NvbCIg
Y29uZmxpY3RzIHdpdGggb2JqYy9ydW50aW1lLmgncyAidHlwZWRlZiBzdHJ1Y3Qgb2JqY19vYmpl
Y3QgUHJvdG9jb2wiCiBXZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb25Q
cm94eS5jcHAgQG5vLXVuaWZ5CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5jcHAJKHJldmlzaW9uIDI2OTU4OCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2LDYgKzY2LDcgQEAK
ICNpbmNsdWRlIDxXZWJDb3JlL1ByZXdhcm1JbmZvcm1hdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUHVibGljU3VmZml4Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TdWRkZW5UZXJtaW5hdGlvbi5o
PgorI2luY2x1ZGUgPHBhbC9zeXN0ZW0vU291bmQuaD4KICNpbmNsdWRlIDxzdGRpby5oPgogI2lu
Y2x1ZGUgPHd0Zi9BbGdvcml0aG1zLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+
CkBAIC0xOTAxLDYgKzE5MDIsMTEgQEAKICAgICByZXR1cm4gIW1fc2xlZXBEaXNhYmxlcnMuaXNF
bXB0eSgpOwogfQogCit2b2lkIFdlYlByb2Nlc3NQcm94eTo6c3lzdGVtQmVlcCgpCit7CisgICAg
UEFMOjpzeXN0ZW1CZWVwKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5kZWYg
TUVTU0FHRV9DSEVDSwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmgJKHJldmlzaW9uIDI2OTU4OCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC01MDgsNiArNTA4LDggQEAKICAgICB2b2lk
IGNyZWF0ZVNwZWVjaFJlY29nbml0aW9uU2VydmVyKFNwZWVjaFJlY29nbml0aW9uU2VydmVySWRl
bnRpZmllcik7CiAgICAgdm9pZCBkZXN0cm95U3BlZWNoUmVjb2duaXRpb25TZXJ2ZXIoU3BlZWNo
UmVjb2duaXRpb25TZXJ2ZXJJZGVudGlmaWVyKTsKIAorICAgIHZvaWQgc3lzdGVtQmVlcCgpOwor
ICAgIAogICAgIGVudW0gY2xhc3MgSXNXZWFrIHsgTm8sIFllcyB9OwogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIFdlYWtPclN0cm9uZ1B0ciB7CiAgICAgcHVibGljOgpJbmRleDogU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5p
bgkocmV2aXNpb24gMjY5NTg4KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5Lm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC05MCw0ICs5MCw2IEBACiAKICAg
ICBDcmVhdGVTcGVlY2hSZWNvZ25pdGlvblNlcnZlcihXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBp
ZGVudGlmaWVyKQogICAgIERlc3Ryb3lTcGVlY2hSZWNvZ25pdGlvblNlcnZlcihXZWJDb3JlOjpQ
YWdlSWRlbnRpZmllciBpZGVudGlmaWVyKQorCisgICAgU3lzdGVtQmVlcCgpCiB9CkluZGV4OiBT
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlz
aW9uIDI2OTU4OCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTU0MTYsNiArNTQxNiw4IEBACiAJCUUzOTYyOERDMjM5
NjBDQzYwMDY1OEVDRCAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkRldmljZU9yaWVudGF0aW9u
VXBkYXRlUHJvdmlkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzk2MjhF
NDIzOTcxRjM0MDA2NThFQ0QgLyogV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5t
ZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJEZXZpY2VPcmllbnRhdGlvblVw
ZGF0ZVByb3ZpZGVyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
M0NBQUE0MzI0MTMyNzhBMDBDRUQyRTIgLyogQWNjZXNzaWJpbGl0eVN1cHBvcnRTUEkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eVN1cHBvcnRTUEkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTNFRkIwMkMyNTUwNjE3QzAwM0MyRjk2IC8q
IFdlYlN5c3RlbVNvdW5kRGVsZWdhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViU3lzdGVt
U291bmREZWxlZ2F0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzRUZCMDJE
MjU1MDYxN0MwMDNDMkY5NiAvKiBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYlN5c3RlbVNvdW5kRGVsZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTQwNDkwNzAyMURFNjVGNzAwMzdGMERCIC8qIFNjcm9sbGVyUGFpck1hYy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxlclBhaXJNYWMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTQwNDkwNzEyMURFNjVGNzAwMzdGMERCIC8qIFNjcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVNYWMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZU1hYy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0MDQ5MDcyMjFERTY1RjcwMDM3RjBE
QiAvKiBTY3JvbGxlclBhaXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBTY3JvbGxlclBhaXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC05MDA4LDYgKzkwMTAsOCBAQAogCQkJCUJDRTBFNDI0MTY4QjdBMjgwMDU3RTY2QSAvKiBXZWJQ
cm9jZXNzU3VwcGxlbWVudC5oICovLAogCQkJCUMxOEZCNTFEMjQyRjlGNzYwMDdFOTg3NSAvKiBX
ZWJTbGVlcERpc2FibGVyQ2xpZW50LmNwcCAqLywKIAkJCQlDMThGQjUxRTI0MkY5Rjc3MDA3RTk4
NzUgLyogV2ViU2xlZXBEaXNhYmxlckNsaWVudC5oICovLAorCQkJCUUzRUZCMDJDMjU1MDYxN0Mw
MDNDMkY5NiAvKiBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcCAqLywKKwkJCQlFM0VGQjAyRDI1
NTA2MTdDMDAzQzJGOTYgLyogV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oICovLAogCQkJKTsKIAkJ
CXBhdGggPSBXZWJQcm9jZXNzOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VDYWNoZVBy
b3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBo
aWNzL1JlbW90ZVJlc291cmNlQ2FjaGVQcm94eS5jcHAJKHJldmlzaW9uIDI2OTU4OCkKKysrIFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VDYWNoZVBy
b3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsOCBAQAogI2luY2x1ZGUgIlJlbW90
ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvSW1hZ2VCdWZmZXIu
aD4KIAorI2luY2x1ZGUgPFdlYkNvcmUvSW1hZ2VCdWZmZXIuaD4KKwogbmFtZXNwYWNlIFdlYktp
dCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApJbmRleDogU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlN5c3RlbVNvdW5kRGVsZWdhdGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcAkobm9uZXhpc3RlbnQp
CisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOSBAQAorLyoKKyogQ29weXJpZ2h0IChDKSAyMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworKiBhcmUgbWV0OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJTeXN0
ZW1Tb3VuZERlbGVnYXRlLmgiCisKKyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAi
V2ViUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQg
V2ViU3lzdGVtU291bmREZWxlZ2F0ZTo6c3lzdGVtQmVlcCgpCit7CisgICAgV2ViUHJvY2Vzczo6
c2luZ2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2Vi
UHJvY2Vzc1Byb3h5OjpTeXN0ZW1CZWVwKCksIDApOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJTeXN0ZW1Tb3VuZERlbGVnYXRl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlN5c3RlbVNvdW5k
RGVsZWdhdGUuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
U3lzdGVtU291bmREZWxlZ2F0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzggQEAKKy8q
CisqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisq
CisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisq
CisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjcHJhZ21hIG9uY2UKKwor
I2luY2x1ZGUgPFdlYkNvcmUvU3lzdGVtU291bmREZWxlZ2F0ZS5oPgorCituYW1lc3BhY2UgV2Vi
S2l0IHsKKworY2xhc3MgV2ViU3lzdGVtU291bmREZWxlZ2F0ZSBmaW5hbCA6IHB1YmxpYyBXZWJD
b3JlOjpTeXN0ZW1Tb3VuZERlbGVnYXRlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
K3B1YmxpYzoKKyAgICB2b2lkIHN5c3RlbUJlZXAoKSBmaW5hbDsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nl
c3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2Ev
V2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyNjk1ODgpCisrKyBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00Niw2
ICs0Niw3IEBACiAjaW1wb3J0ICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbXBvcnQgIldlYlBy
b2Nlc3NQcm94eU1lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXZWJTbGVlcERpc2FibGVyQ2xpZW50Lmgi
CisjaW1wb3J0ICJXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmgiCiAjaW1wb3J0ICJXZWJzaXRlRGF0
YVN0b3JlUGFyYW1ldGVycy5oIgogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvQ29uZmlnRmlsZS5o
PgogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvT3B0aW9ucy5oPgpAQCAtNjcsNiArNjgsNyBAQAog
I2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KICNpbXBvcnQgPFdl
YkNvcmUvU1dDb250ZXh0TWFuYWdlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9TeXN0ZW1CYXR0ZXJ5
Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1N5c3RlbVNvdW5kTWFuYWdlci5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9VVElVdGlsaXRpZXMuaD4KICNpbXBvcnQgPFdlYkNvcmUvVmVyc2lvbkNoZWNrcy5oPgog
I2ltcG9ydCA8YWxnb3JpdGhtPgpAQCAtMzYwLDYgKzM2Miw4IEBACiAjZW5kaWYKIAogICAgIHVw
ZGF0ZVByb2Nlc3NOYW1lKCk7CisgICAgCisgICAgU3lzdGVtU291bmRNYW5hZ2VyOjpzaW5nbGV0
b24oKS5zZXRTeXN0ZW1Tb3VuZERlbGVnYXRlKG1ha2VVbmlxdWU8V2ViU3lzdGVtU291bmREZWxl
Z2F0ZT4oKSk7CiB9CiAKIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1TZXRXZWJzaXRlRGF0YVN0
b3JlUGFyYW1ldGVycyhXZWJQcm9jZXNzRGF0YVN0b3JlUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMp
CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNjk1ODgpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
NSArMSwxNiBAQAogMjAyMC0xMS0wOSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5j
b20+CiAKKyAgICAgICAgW21hY09TXSBTeXN0ZW0gc291bmRzIHNob3VsZCBiZSBwbGF5ZWQgaW4g
dGhlIFVJIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxODQwNQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvU3lzdGVtQmVlcC5tbTog
QWRkZWQuCisgICAgICAgIChURVNUKToKKworMjAyMC0xMS0wOSAgUGVyIEFybmUgVm9sbGFuICA8
cHZvbGxhbkBhcHBsZS5jb20+CisKICAgICAgICAgW21hY09TXSBTZXQgcHJlZmVyZW5jZSBmb3Ig
b3ZlcnJpZGRlbiBsYW5ndWFnZXMgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBhZnRlciBlbnRl
cmluZyB0aGUgc2FuZGJveC4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxODA5NwogCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24g
MjY5NTg4KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEwODgsNiArMTA4OCw3IEBACiAJCUUz
QTFFNzg1MjFCMjVCOTEwMDhDNjAwNyAvKiBVUkxQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNBMUU3ODQyMUIyNUI5MTAwOEM2MDA3IC8q
IFVSTFBhcnNlci5jcHAgKi87IH07CiAJCUUzQzIxQTdDMjFCMjVDQTIwMDNCMzFBMyAvKiBVUkxF
eHRyYXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
M0MyMUE3QjIxQjI1Q0EyMDAzQjMxQTMgLyogVVJMRXh0cmFzLm1tICovOyB9OwogCQlFM0RFQTgx
MTFGMEE1ODkwMDBDQkMyRTggLyogVGhyZWFkR3JvdXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNERUE4MTAxRjBBNTg4MDAwQ0JDMkU4IC8qIFRo
cmVhZEdyb3VwLmNwcCAqLzsgfTsKKwkJRTNFRkIwMkYyNTUwNjUwMzAwM0MyRjk2IC8qIFN5c3Rl
bUJlZXAubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
M0VGQjAyRTI1NTA2NTAzMDAzQzJGOTYgLyogU3lzdGVtQmVlcC5tbSAqLzsgfTsKIAkJRTNGOEFC
OTIyNDFBQjlDRTAwM0UyQTdFIC8qIEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRjhBQjkxMjQxQUI5Q0Uw
MDNFMkE3RSAvKiBBY2Nlc3NpYmlsaXR5UmVtb3RlVUlBcHAubW0gKi87IH07CiAJCUU1MDM2Rjc4
MjExQkMyNTQwMEJGREJFMiAvKiBjb2xvci1kcm9wLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTUwMzZGNzcyMTFCQzIyODAwQkZEQkUy
IC8qIGNvbG9yLWRyb3AuaHRtbCAqLzsgfTsKIAkJRTU4OTE4M0MyNTJCQzkwQTAwNDFERUQ1IC8q
IERhdGVUaW1lSW5wdXRzQWNjZXNzb3J5Vmlld1Rlc3RzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTU4OTE4M0IyNTJCQzkwQTAwNDFERUQ1IC8qIERh
dGVUaW1lSW5wdXRzQWNjZXNzb3J5Vmlld1Rlc3RzLm1tICovOyB9OwpAQCAtMjgwOCw2ICsyODA5
LDcgQEAKIAkJRTNBMUU3ODQyMUIyNUI5MTAwOEM2MDA3IC8qIFVSTFBhcnNlci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVUkxQYXJzZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFM0MyMUE3QjIxQjI1Q0EyMDAzQjMxQTMgLyogVVJMRXh0cmFz
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVVJMRXh0cmFzLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0RFQTgxMDFGMEE1ODgwMDBDQkMyRTgg
LyogVGhyZWFkR3JvdXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
VGhyZWFkR3JvdXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFM0VGQjAyRTI1
NTA2NTAzMDAzQzJGOTYgLyogU3lzdGVtQmVlcC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5
c3RlbUJlZXAubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzRjhBQjkxMjQxQUI5
Q0UwMDNFMkE3RSAvKiBBY2Nlc3NpYmlsaXR5UmVtb3RlVUlBcHAubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBBY2Nlc3NpYmlsaXR5UmVtb3RlVUlBcHAubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUU0MDAxOTMwMUFDRTlCNUMwMDFCMEEyQSAvKiBCbG9vbUZpbHRlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCbG9vbUZpbHRlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0OTAyOTY3MTRFMkUzQTQwMDJCRUREMSAvKiBUeXBp
bmdTdHlsZUNyYXNoLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
VHlwaW5nU3R5bGVDcmFzaC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMxMzks
NiArMzE0MSw3IEBACiAJCQkJRTMyNUM5MDYyM0UzODcwMjAwQkM3RDNCIC8qIFBpY3R1cmVJblBp
Y3R1cmVTdXBwb3J0Lm1tICovLAogCQkJCUMxNUNCQjNFMjNGQjE3N0EwMDMwMENDNyAvKiBQcmVm
ZXJlbmNlQ2hhbmdlcy5tbSAqLywKIAkJCQlDMTQ5RDU0RjI0MkU5ODQ0MDAzRUJCMTIgLyogU2xl
ZXBEaXNhYmxlci5tbSAqLywKKwkJCQlFM0VGQjAyRTI1NTA2NTAzMDAzQzJGOTYgLyogU3lzdGVt
QmVlcC5tbSAqLywKIAkJCQkwRjEzOUU3NTFBNDIzQTUzMDBGNTkwRjUgLyogV2Vha09iakNQdHIu
bW0gKi8sCiAJCQkJQzFGRjlFREEyNDQ2NDRGMDAwODM5QUU0IC8qIFdlYkZpbHRlci5tbSAqLywK
IAkJCQlDMTREMzA0NTI0QjRDM0JBMDA0ODAzODcgLyogWFBDRW5kcG9pbnQubW0gKi8sCkBAIC01
NDUzLDYgKzU0NTYsNyBAQAogCQkJCTUxRUIxMjY3MjRDQjg3NTMwMDBDQjAzMCAvKiBTdW5MaWdo
dEFwcGxpY2F0aW9uR2VuZXJpY05FUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQ0MzNBMzk2MjA4
MDQ0MTQwMDkxRUQ1NyAvKiBTeW5jaHJvbm91c1RpbWVvdXRUZXN0cy5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTdDQ0U3RUE4MUE0MTFBMTkwMDQ0N0M0QyAvKiBTeW50aGV0aWNCYWNraW5nU2NhbGVG
YWN0b3JXaW5kb3cubSBpbiBTb3VyY2VzICovLAorCQkJCUUzRUZCMDJGMjU1MDY1MDMwMDNDMkY5
NiAvKiBTeXN0ZW1CZWVwLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUM3MzRCNTMyMDc4OEM0ODAw
RjQzMEVBIC8qIFN5c3RlbUNvbG9ycy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTMxQjc2RTQzMjMy
OThFMkMwMDdGRUQyQyAvKiBTeXN0ZW1QcmV2aWV3Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ3
MDA1OTYyMUVEQTBDNjAwMzQ2M0NCIC8qIFRhYk91dE9mV2ViVmlldy5tbSBpbiBTb3VyY2VzICov
LApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvU3lzdGVtQmVlcC5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9TeXN0ZW1CZWVw
Lm1tCShub25leGlzdGVudCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1N5
c3RlbUJlZXAubW0JKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBv
cnQgIlRlc3RXS1dlYlZpZXcuaCIKKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdDb25maWd1cmF0
aW9uUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KKyNpbXBv
cnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oPgorI2ltcG9ydCA8d3RmL1Ro
cmVhZGluZy5oPgorCisjaWYgV0tfSEFWRV9DX1NQSQorCitURVNUKFdlYktpdCwgU3lzdGVtQmVl
cCkKK3sKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmln
dXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29u
dGV4dCA9IGFkb3B0V0soVGVzdFdlYktpdEFQSTo6VXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVj
dGVkQnVuZGxlVGVzdCgiSW50ZXJuYWxzSW5qZWN0ZWRCdW5kbGVUZXN0IikpOworICAgIGNvbmZp
Z3VyYXRpb24uZ2V0KCkucHJvY2Vzc1Bvb2wgPSAoV0tQcm9jZXNzUG9vbCAqKWNvbnRleHQuZ2V0
KCk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGlu
aXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAzMDAsIDMwMCkgY29uZmlndXJhdGlvbjpjb25m
aWd1cmF0aW9uLmdldCgpIGFkZFRvV2luZG93OllFU10pOworCisgICAgW3dlYlZpZXcgc3RyaW5n
QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAIndpbmRvdy5pbnRlcm5hbHMuc3lzdGVtQmVlcCgpIl07
Cit9CisKKyNlbmRpZiAvLyBXS19IQVZFX0NfU1BJCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413610</attachid>
            <date>2020-11-09 11:38:01 -0800</date>
            <delta_ts>2020-11-09 12:20:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>218405.patch</filename>
            <type>text/plain</type>
            <size>37887</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTU4OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBACisyMDIwLTExLTA5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFN5c3RlbSBz
b3VuZHMgc2hvdWxkIGJlIHBsYXllZCBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NDA1CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83MDg5ODg0Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKwor
ICAgICAgICBJbiBwcmVwYXJhdGlvbiBvZiBibG9ja2luZyB0aGUgc3lzdGVtIHNvdW5kIHNlcnZl
ciBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBzeXN0ZW0gc291bmRzIHNob3VsZCBiZSBwbGF5
ZWQgaW4gdGhlIFVJIHByb2Nlc3MuCisgICAgICAgIFRoaXMgcGF0Y2ggY3JlYXRlcyBhIHN5c3Rl
bSBzb3VuZCBtYW5hZ2VyLCB3aGljaCBkZWxlZ2F0ZXMgdGhlIHNvdW5kIHJlcXVlc3QgaWYgYSBk
ZWxlZ2F0ZSBpcyBwcmVzZW50LCBvdGhlcndpc2UgdGhlIGZ1bmN0aW9uCisgICAgICAgIFBBTDo6
c3lzdGVtQmVlcCB3aWxsIGJlIGNhbGxlZC4KKworICAgICAgICBBUEkgdGVzdDogV2ViS2l0LlN5
c3RlbUJlZXAKKworICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogU291cmNlcy50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6Y3V0KToK
KyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6Y29weSk6CisgICAgICAgIChXZWJDb3JlOjpFZGl0
b3I6OnBlcmZvcm1EZWxldGUpOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlU2VsZWN0VG9NYXJrKToKKyAgICAgICAgKFdlYkNv
cmU6OmV4ZWN1dGVTd2FwV2l0aE1hcmspOgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvRWRpdG9y
Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OnRha2VGaW5kU3RyaW5nRnJvbVNl
bGVjdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OmJlZXApOgorICAgICAg
ICAqIHBsYXRmb3JtL1N5c3RlbVNvdW5kRGVsZWdhdGUuaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpTeXN0ZW1Tb3VuZERlbGVnYXRlOjp+U3lzdGVtU291bmREZWxlZ2F0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpTeXN0ZW1Tb3VuZERlbGVnYXRlOjpzeXN0ZW1CZWVwKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3Rl
bVNvdW5kTWFuYWdlcjo6c2V0U3lzdGVtU291bmREZWxlZ2F0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTeXN0ZW1Tb3VuZE1hbmFnZXI6OnN5c3RlbUJlZXApOgorICAgICAgICAqIHBsYXRmb3JtL1N5
c3RlbVNvdW5kTWFuYWdlci5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9TdGVy
ZW9QYW5uZXIuY3BwOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsczo6c3lzdGVtQmVlcCk6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAtMTEtMDkg
IEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW1Rl
eHR1cmVNYXBwZXJdIFRoZSB0b3AgYW5kIGxlZnQgc2lkZXMgb2YgZHJvcC1zaGFkb3cgYXJlIGNs
aXBwZWQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQkocmV2aXNpb24gMjY5NTg4KQorKysgU291cmNl
L1dlYkNvcmUvSGVhZGVycy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTA1Nyw2ICsxMDU3LDcg
QEAKICAgICBwbGF0Zm9ybS9TbGVlcERpc2FibGVySWRlbnRpZmllci5oCiAgICAgcGxhdGZvcm0v
U3VkZGVuVGVybWluYXRpb24uaAogICAgIHBsYXRmb3JtL1N1cHBsZW1lbnRhYmxlLmgKKyAgICBw
bGF0Zm9ybS9TeXN0ZW1Tb3VuZERlbGVnYXRlLmgKICAgICBwbGF0Zm9ybS9UaGVtZVR5cGVzLmgK
ICAgICBwbGF0Zm9ybS9UaHJlYWRDaGVjay5oCiAgICAgcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0
YS5oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkocmV2aXNpb24gMjY5NTg4KQorKysgU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE4MjAsNiArMTgyMCw3IEBACiBwbGF0
Zm9ybS9TaGFyZWRTdHJpbmdIYXNoLmNwcAogcGxhdGZvcm0vU2xlZXBEaXNhYmxlci5jcHAKIHBs
YXRmb3JtL1NsZWVwRGlzYWJsZXJDbGllbnQuY3BwCitwbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFn
ZXIuY3BwCiBwbGF0Zm9ybS9TdGF0aWNQYXN0ZWJvYXJkLmNwcAogcGxhdGZvcm0vVGhlbWUuY3Bw
CiBwbGF0Zm9ybS9UaGVtZVR5cGVzLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjY5NTg4KQorKysgU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC01MDA1LDYgKzUwMDUsOCBAQAogCQlFM0IyRjBFRTFEN0Y0Q0E5MDBCMEM5RDEgLyog
TG9hZGFibGVTY3JpcHRDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzQjJGMEU4MUQ3RjM1RUMwMEIwQzlEMSAvKiBMb2FkYWJsZVNjcmlwdENs
aWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUUzQjJGMEYwMUQ3RjRDQjUwMEIwQzlEMSAvKiBMb2FkYWJsZUNsYXNzaWNTY3JpcHQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQjJGMEU0MUQ3RjM1
RUMwMEIwQzlEMSAvKiBMb2FkYWJsZUNsYXNzaWNTY3JpcHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFM0JCQzI0NzIzODM1NTI2MDA2RUMzOUYg
LyogQ1NTVmFsdWVLZXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUzQkJDMjQ1MjM4MzU1MUEwMDZFQzM5RiAvKiBDU1NWYWx1ZUtleS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzQzA0MTJGMjU0Q0Ey
OUIwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQzA0MTJEMjU0Q0EyOUIwMDIxRDBFNiAvKiBTeXN0
ZW1Tb3VuZE1hbmFnZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQlFM0MwNDEzODI1NENCMzBEMDAyMUQwRTYgLyogU3lzdGVtU291bmREZWxlZ2F0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDMDQx
MzEyNTRDQTY2NjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5kRGVsZWdhdGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFM0M5OUEwOTFEQzNENDFDMDA3
OTRBRDMgLyogRE9NSklUQ2hlY2tET00uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUzQzk5QTA4MURDM0Q0MTcwMDc5NEFEMyAvKiBET01KSVRDaGVja0RP
TS5oICovOyB9OwogCQlFM0M5QUVDQjIxMTMxNDk5MDA0MTlCOTIgLyogSlNNaWNyb3Rhc2tDYWxs
YmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTND
OUFFQzkyMTEzMTQ3NDAwNDE5QjkyIC8qIEpTTWljcm90YXNrQ2FsbGJhY2suaCAqLzsgfTsKIAkJ
RTNFNEUyQTgxRTNCMTcxMDAwMjNCQjhBIC8qIFNjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRj
aGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0U0
RTJBNjFFM0IxNkZDMDAyM0JCOEEgLyogU2NyaXB0RWxlbWVudENhY2hlZFNjcmlwdEZldGNoZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTYw
MTcsNiArMTYwMTksOSBAQAogCQlFM0JGMTlFNTIyQUYyRkY0MDA5Qzk5MjYgLyogQmVmb3JlTG9h
ZEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJlZm9yZUxvYWRFdmVudC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzQkYxOUU2MjJBRjMwMkEwMDlDOTkyNiAvKiBIYXNo
Q2hhbmdlRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGFzaENoYW5nZUV2ZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNCRjE5RTcyMkFGMzA5RjAwOUM5OTI2IC8q
IFNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Vj
dXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUUzQzA0MTJEMjU0Q0EyOUIwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFnZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3lzdGVtU291bmRNYW5hZ2VyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzQzA0MTMxMjU0Q0E2NjYwMDIxRDBFNiAvKiBTeXN0
ZW1Tb3VuZERlbGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN5c3RlbVNvdW5kRGVsZWdhdGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTNDMDQxMzIyNTRDQTcxMTAwMjFEMEU2IC8q
IFN5c3RlbVNvdW5kTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTeXN0ZW1Tb3VuZE1h
bmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0M5OUEwODFEQzNENDE3
MDA3OTRBRDMgLyogRE9NSklUQ2hlY2tET00uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRE9NSklUQ2hlY2tET00uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTND
OUFFQzkyMTEzMTQ3NDAwNDE5QjkyIC8qIEpTTWljcm90YXNrQ2FsbGJhY2suaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNaWNyb3Rhc2tDYWxsYmFjay5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFM0QwNDk5MzFEQURDMDQ1MDA3MThGM0MgLyogTm9kZUNvbnN0
YW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOb2RlQ29uc3RhbnRzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNzM2Nyw2ICsyNzM3Miw5IEBACiAJCQkJ
RjQzM0U5MDIxREJCREJBMjAwRUYwRDE0IC8qIFN0YXRpY1Bhc3RlYm9hcmQuaCAqLywKIAkJCQk5
M0IyRDgxNTBGOTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24uaCAqLywKIAkJCQk5
NzYyN0I5NzE0RkI1NDI0MDAyQ0RDQTEgLyogU3VwcGxlbWVudGFibGUuaCAqLywKKwkJCQlFM0Mw
NDEzMTI1NENBNjY2MDAyMUQwRTYgLyogU3lzdGVtU291bmREZWxlZ2F0ZS5oICovLAorCQkJCUUz
QzA0MTMyMjU0Q0E3MTEwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFnZXIuY3BwICovLAorCQkJ
CUUzQzA0MTJEMjU0Q0EyOUIwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZE1hbmFnZXIuaCAqLywKIAkJ
CQk3Q0M1NjRCNjE4QkFCRUE2MDAxQjk2NTIgLyogVGVsZXBob25lTnVtYmVyRGV0ZWN0b3IuaCAq
LywKIAkJCQlCQ0U2NUQzMTBFQUQxMjExMDA3RTQ1MzMgLyogVGhlbWUuY3BwICovLAogCQkJCUJD
RTY1OEZFMEVBOTI0OEEwMDdFNDUzMyAvKiBUaGVtZS5oICovLApAQCAtMzQ2MDQsNiArMzQ2MTIs
OCBAQAogCQkJCUMxNjkyREQ1MjNEMjNFMDgwMDZFODhGNyAvKiBTeXN0ZW1CYXR0ZXJ5LmggaW4g
SGVhZGVycyAqLywKIAkJCQlFNEU4QjRFQzIxNkI3OUU1MDBCODgzNEQgLyogU3lzdGVtRm9udERh
dGFiYXNlQ29yZVRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMDNDMDc0MTg4NDY5NUUwMEE1
RjhDQSAvKiBTeXN0ZW1NZW1vcnkuaCBpbiBIZWFkZXJzICovLAorCQkJCUUzQzA0MTM4MjU0Q0Iz
MEQwMDIxRDBFNiAvKiBTeXN0ZW1Tb3VuZERlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQlF
M0MwNDEyRjI1NENBMjlCMDAyMUQwRTYgLyogU3lzdGVtU291bmRNYW5hZ2VyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1RDU5NzVCMzE5NjM1RjExMDBEMDA4NzggLyogU3lzdGVtVmVyc2lvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQThDRkYwNTEwQTE1NEYwOTAwMEE0MjM0IC8qIFRhYmxlTGF5b3V0
LmggaW4gSGVhZGVycyAqLywKIAkJCQk2RjE3MjY0RjI0NzBDNjBCMDA1MThDOTYgLyogVGFibGVX
cmFwcGVyQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0b3IuY3BwCShyZXZpc2lvbiAyNjk1ODgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMyw2ICsxMDMsNyBAQAog
I2luY2x1ZGUgIlNwZWxsaW5nQ29ycmVjdGlvbkNvbW1hbmQuaCIKICNpbmNsdWRlICJTdGF0aWNQ
YXN0ZWJvYXJkLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0aWVzLmgiCisjaW5jbHVkZSAiU3lz
dGVtU291bmRNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiVGVsZXBob25lTnVtYmVyRGV0ZWN0b3IuaCIK
ICNpbmNsdWRlICJUZXh0LmgiCiAjaW5jbHVkZSAiVGV4dENoZWNrZXJDbGllbnQuaCIKQEAgLTEx
NSw3ICsxMTYsNiBAQAogI2luY2x1ZGUgIlZpc2libGVVbml0cy5oIgogI2luY2x1ZGUgIm1hcmt1
cC5oIgogI2luY2x1ZGUgPHBhbC9GaWxlU2l6ZUZvcm1hdHRlci5oPgotI2luY2x1ZGUgPHBhbC9z
eXN0ZW0vU291bmQuaD4KICNpbmNsdWRlIDxwYWwvdGV4dC9LaWxsUmluZy5oPgogI2luY2x1ZGUg
PHd0Zi9TZXRGb3JTY29wZS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL0NoYXJhY3Rlck5hbWVz
Lmg+CkBAIC0xMzY2LDcgKzEzNjYsNyBAQAogICAgIGlmICh0cnlESFRNTEN1dCgpKQogICAgICAg
ICByZXR1cm47IC8vIERIVE1MIGRpZCB0aGUgd2hvbGUgb3BlcmF0aW9uCiAgICAgaWYgKCFjYW5D
dXQoKSkgewotICAgICAgICBQQUw6OnN5c3RlbUJlZXAoKTsKKyAgICAgICAgU3lzdGVtU291bmRN
YW5hZ2VyOjpzaW5nbGV0b24oKS5zeXN0ZW1CZWVwKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKQEAgLTEzNzksNyArMTM3OSw3IEBACiAgICAgaWYgKHRyeURIVE1MQ29weSgpKQogICAgICAg
ICByZXR1cm47IC8vIERIVE1MIGRpZCB0aGUgd2hvbGUgb3BlcmF0aW9uCiAgICAgaWYgKCFjYW5D
b3B5KCkpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1CZWVwKCk7CisgICAgICAgIFN5c3RlbVNvdW5k
TWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCkBAIC0xNTE2LDcgKzE1MTYsNyBAQAogdm9pZCBFZGl0b3I6OnBlcmZvcm1EZWxldGUoKQog
ewogICAgIGlmICghY2FuRGVsZXRlKCkpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1CZWVwKCk7Cisg
ICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRv
ckNvbW1hbmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9y
Q29tbWFuZC5jcHAJKHJldmlzaW9uIDI2OTU4OCkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RWRpdG9yQ29tbWFuZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDEyICs1NiwxMiBAQAogI2lu
Y2x1ZGUgIlNjcm9sbGJhci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3R5
bGVQcm9wZXJ0aWVzLmgiCisjaW5jbHVkZSAiU3lzdGVtU291bmRNYW5hZ2VyLmgiCiAjaW5jbHVk
ZSAiVHlwaW5nQ29tbWFuZC5oIgogI2luY2x1ZGUgIlVubGlua0NvbW1hbmQuaCIKICNpbmNsdWRl
ICJVc2VyR2VzdHVyZUluZGljYXRvci5oIgogI2luY2x1ZGUgIlVzZXJUeXBpbmdHZXN0dXJlSW5k
aWNhdG9yLmgiCiAjaW5jbHVkZSAibWFya3VwLmgiCi0jaW5jbHVkZSA8cGFsL3N5c3RlbS9Tb3Vu
ZC5oPgogI2luY2x1ZGUgPHBhbC90ZXh0L0tpbGxSaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
QXRvbVN0cmluZy5oPgogCkBAIC0xMDQzLDcgKzEwNDMsNyBAQAogICAgIGF1dG8gbWFya1Jhbmdl
ID0gZWRpdG9yLm1hcmsoKS50b05vcm1hbGl6ZWRSYW5nZSgpOwogICAgIGF1dG8gc2VsZWN0aW9u
UmFuZ2UgPSBzZWxlY3Rpb24uc2VsZWN0aW9uKCkudG9Ob3JtYWxpemVkUmFuZ2UoKTsKICAgICBp
ZiAoIW1hcmtSYW5nZSB8fCAhc2VsZWN0aW9uUmFuZ2UpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1C
ZWVwKCk7CisgICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVl
cCgpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIHNlbGVjdGlvbi5zZXRTZWxl
Y3RlZFJhbmdlKHVuaW9uUmFuZ2UoKm1hcmtSYW5nZSwgKnNlbGVjdGlvblJhbmdlKSwgQWZmaW5p
dHk6OkRvd25zdHJlYW0sIEZyYW1lU2VsZWN0aW9uOjpTaG91bGRDbG9zZVR5cGluZzo6WWVzKTsK
QEAgLTExMDMsNyArMTEwMyw3IEBACiAgICAgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgbWFyayA9
IGZyYW1lLmVkaXRvcigpLm1hcmsoKTsKICAgICBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxl
Y3Rpb24gPSBmcmFtZS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKTsKICAgICBpZiAobWFyay5pc05v
bmUoKSB8fCBzZWxlY3Rpb24uaXNOb25lKCkpIHsKLSAgICAgICAgUEFMOjpzeXN0ZW1CZWVwKCk7
CisgICAgICAgIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkuc3lzdGVtQmVlcCgpOwog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIGZyYW1lLnNlbGVjdGlvbigpLnNldFNl
bGVjdGlvbihtYXJrKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRWRpdG9y
Q29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0
b3JDb2NvYS5tbQkocmV2aXNpb24gMjY5NTg4KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9j
b2NvYS9FZGl0b3JDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNTMsMTIgKzUzLDEyIEBACiAj
aW1wb3J0ICJSZW5kZXJFbGVtZW50LmgiCiAjaW1wb3J0ICJSZW5kZXJTdHlsZS5oIgogI2ltcG9y
dCAiU2V0dGluZ3MuaCIKKyNpbXBvcnQgIlN5c3RlbVNvdW5kTWFuYWdlci5oIgogI2ltcG9ydCAi
VGV4dC5oIgogI2ltcG9ydCAiVVRJVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJXZWJDb250ZW50UmVh
ZGVyLmgiCiAjaW1wb3J0ICJtYXJrdXAuaCIKICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvTlNBdHRy
aWJ1dGVkU3RyaW5nU1BJLmg+Ci0jaW1wb3J0IDxwYWwvc3lzdGVtL1NvdW5kLmg+CiAjaW1wb3J0
IDx3dGYvQmxvY2tPYmpDRXhjZXB0aW9ucy5oPgogI2ltcG9ydCA8d3RmL2NvY29hL05TVVJMRXh0
cmFzLmg+CiAKQEAgLTIzOSw3ICsyMzksNyBAQAogdm9pZCBFZGl0b3I6OnRha2VGaW5kU3RyaW5n
RnJvbVNlbGVjdGlvbigpCiB7CiAgICAgaWYgKCFjYW5Db3B5RXhjbHVkaW5nU3RhbmRhbG9uZUlt
YWdlcygpKSB7Ci0gICAgICAgIFBBTDo6c3lzdGVtQmVlcCgpOworICAgICAgICBTeXN0ZW1Tb3Vu
ZE1hbmFnZXI6OnNpbmdsZXRvbigpLnN5c3RlbUJlZXAoKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9z
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kSG9zdC5jcHAJKHJldmlzaW9uIDI2OTU4OCkKKysrIFNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1
Niw3IEBACiAjaW5jbHVkZSAiUGFzdGVib2FyZC5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgi
CiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKKyNpbmNsdWRlICJTeXN0ZW1Tb3VuZE1hbmFnZXIuaCIK
ICNpbmNsdWRlICJVc2VyR2VzdHVyZUluZGljYXRvci5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL1NjcmlwdEZ1bmN0aW9uQ2FsbC5oPgogI2luY2x1ZGUgPHBhbC9zeXN0ZW0vU291bmQuaD4K
QEAgLTU1NSw3ICs1NTYsNyBAQAogCiB2b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6YmVlcCgp
CiB7Ci0gICAgUEFMOjpzeXN0ZW1CZWVwKCk7CisgICAgU3lzdGVtU291bmRNYW5hZ2VyOjpzaW5n
bGV0b24oKS5zeXN0ZW1CZWVwKCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0Ojpp
bnNwZWN0SW5zcGVjdG9yKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNv
dW5kRGVsZWdhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0
ZW1Tb3VuZERlbGVnYXRlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU3lzdGVtU291bmREZWxlZ2F0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzcgQEAK
Ky8qCisqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgor
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjcHJhZ21hIG9uY2UK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTeXN0ZW1Tb3VuZERlbGVnYXRlIHsKK3B1
YmxpYzoKKyAgICB2aXJ0dWFsIH5TeXN0ZW1Tb3VuZERlbGVnYXRlKCkgeyB9CisKKyAgICB2aXJ0
dWFsIHZvaWQgc3lzdGVtQmVlcCgpIHsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3lzdGVtU291bmRNYW5hZ2VyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1Tb3VuZE1hbmFnZXIuY3Bw
CShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNvdW5kTWFu
YWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NSBAQAorLyoKKyogQ29weXJpZ2h0
IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworKiBhcmUgbWV0OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJTeXN0ZW1Tb3VuZE1hbmFnZXIuaCIKKworI2luY2x1ZGUgIlN5c3RlbVNvdW5kRGVsZWdhdGUu
aCIKKworI2luY2x1ZGUgPHBhbC9zeXN0ZW0vU291bmQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitTeXN0ZW1Tb3VuZE1hbmFnZXImIFN5c3RlbVNvdW5kTWFuYWdlcjo6c2luZ2xldG9uKCkK
K3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3lzdGVtU291bmRNYW5hZ2VyPiBzeXN0ZW1T
b3VuZE1hbmFnZXI7CisgICAgcmV0dXJuIHN5c3RlbVNvdW5kTWFuYWdlcjsKK30KKyAgICAKK3Zv
aWQgU3lzdGVtU291bmRNYW5hZ2VyOjpzZXRTeXN0ZW1Tb3VuZERlbGVnYXRlKHN0ZDo6dW5pcXVl
X3B0cjxTeXN0ZW1Tb3VuZERlbGVnYXRlPiYmIGRlbGVnYXRlKQoreworICAgIG1fZGVsZWdhdGUg
PSBXVEZNb3ZlKGRlbGVnYXRlKTsKK30KKyAgICAKK3ZvaWQgU3lzdGVtU291bmRNYW5hZ2VyOjpz
eXN0ZW1CZWVwKCkKK3sKKyAgICBpZiAobV9kZWxlZ2F0ZSkgeworICAgICAgICBtX2RlbGVnYXRl
LT5zeXN0ZW1CZWVwKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgUEFMOjpzeXN0ZW1C
ZWVwKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1N5c3RlbVNvdW5kTWFuYWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1N5c3RlbVNvdW5kTWFuYWdlci5oCShub25leGlzdGVudCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNvdW5kTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNDkgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoK
KyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
Q09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBPUgorKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLwor
CisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFN5c3RlbVNvdW5kRGVsZWdhdGU7CisKK2NsYXNzIFN5
c3RlbVNvdW5kTWFuYWdlciB7CisgICAgZnJpZW5kIE5ldmVyRGVzdHJveWVkPFN5c3RlbVNvdW5k
TWFuYWdlcj47CitwdWJsaWM6CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFN5c3RlbVNvdW5k
TWFuYWdlciYgc2luZ2xldG9uKCk7CisgICAgCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRT
eXN0ZW1Tb3VuZERlbGVnYXRlKHN0ZDo6dW5pcXVlX3B0cjxTeXN0ZW1Tb3VuZERlbGVnYXRlPiYm
KTsKKyAgICAKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN5c3RlbUJlZXAoKTsKKyAgICAKK3By
aXZhdGU6CisgICAgU3lzdGVtU291bmRNYW5hZ2VyKCkgPSBkZWZhdWx0OworCisgICAgc3RkOjp1
bmlxdWVfcHRyPFN5c3RlbVNvdW5kRGVsZWdhdGU+IG1fZGVsZWdhdGU7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9TdGVy
ZW9QYW5uZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L1N0ZXJlb1Bhbm5lci5jcHAJKHJldmlzaW9uIDI2OTU4OCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL1N0ZXJlb1Bhbm5lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5
LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfQVVESU8pCiAKKyNpbmNsdWRlICJTaGFyZWRCdWZmZXIu
aCIKICNpbmNsdWRlICJWZWN0b3JNYXRoLmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4K
IApJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkocmV2aXNpb24gMjY5NTg4
KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xOTIsNiArMTkyLDcgQEAKICNpbmNsdWRlICJTdHlsZVJ1bGUuaCIKICNpbmNsdWRlICJT
dHlsZVNjb3BlLmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVldENvbnRlbnRzLmgiCisjaW5jbHVkZSAi
U3lzdGVtU291bmRNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCiAjaW5jbHVk
ZSAiVGV4dFBsYWNlaG9sZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlRyZWVTY29wZS5oIgpAQCAt
NDcyOSw2ICs0NzMwLDEwIEBACiAgICAgcmV0dXJuIGJ1aWxkZXIucmVzdWx0KCk7CiB9CiAKK3Zv
aWQgSW50ZXJuYWxzOjpzeXN0ZW1CZWVwKCkKK3sKKyAgICBTeXN0ZW1Tb3VuZE1hbmFnZXI6OnNp
bmdsZXRvbigpLnN5c3RlbUJlZXAoKTsKK30KIAogU3RyaW5nIEludGVybmFsczo6Z2V0Q3VycmVu
dE1lZGlhQ29udHJvbHNTdGF0dXNGb3JFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQmIG1lZGlhRWxl
bWVudCkKIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNpb24gMjY5
NTg4KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkod29ya2luZyBjb3B5
KQpAQCAtMTA3MCw2ICsxMDcwLDggQEAKICAgICBib29sIHJhbmdlQ29udGFpbnNOb2RlKGNvbnN0
IEFic3RyYWN0UmFuZ2UmLCBOb2RlJiwgVHJlZVR5cGUpOwogICAgIGJvb2wgcmFuZ2VDb250YWlu
c1JhbmdlKGNvbnN0IEFic3RyYWN0UmFuZ2UmLCBjb25zdCBBYnN0cmFjdFJhbmdlJiwgVHJlZVR5
cGUpOwogCisgICAgdm9pZCBzeXN0ZW1CZWVwKCk7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQg
SW50ZXJuYWxzKERvY3VtZW50Jik7CiAgICAgRG9jdW1lbnQqIGNvbnRleHREb2N1bWVudCgpIGNv
bnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAkocmV2aXNpb24gMjY5
NTg4KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC05NjksNCArOTY5LDYgQEAKICAgICBET01TdHJpbmcgdHJlZU9yZGVyQm91bmRhcnlQ
b2ludHMoTm9kZSBjb250YWluZXJBLCB1bnNpZ25lZCBsb25nIG9mZnNldEEsIE5vZGUgY29udGFp
bmVyQiwgdW5zaWduZWQgbG9uZyBvZmZzZXRCLCBvcHRpb25hbCBUcmVlVHlwZSB0cmVlID0gIlRy
ZWUiKTsKICAgICBib29sZWFuIHJhbmdlQ29udGFpbnNOb2RlKEFic3RyYWN0UmFuZ2UgcmFuZ2Us
IE5vZGUgbm9kZSwgb3B0aW9uYWwgVHJlZVR5cGUgdHJlZSA9ICJUcmVlIik7CiAgICAgYm9vbGVh
biByYW5nZUNvbnRhaW5zUmFuZ2UoQWJzdHJhY3RSYW5nZSBvdXRlclJhbmdlLCBBYnN0cmFjdFJh
bmdlIGlubmVyUmFuZ2UsIG9wdGlvbmFsIFRyZWVUeXBlIHRyZWUgPSAiVHJlZSIpOworCisgICAg
dW5kZWZpbmVkIHN5c3RlbUJlZXAoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjY5NTg4
KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwy
NSBAQAorMjAyMC0xMS0wOSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW21hY09TXSBTeXN0ZW0gc291bmRzIHNob3VsZCBiZSBwbGF5ZWQgaW4gdGhlIFVJ
IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxODQwNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzA4OTg4NDY+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgU3ViY2xhc3MgU3lzdGVtU291bmREZWxl
Z2F0ZSwgd2hpY2ggd2lsbCBmb3J3YXJkIHN5c3RlbSBzb3VuZCByZXF1ZXN0cyB0byB0aGUgVUkg
cHJvY2Vzcy4KKworICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OnN5
c3RlbUJlZXApOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
U3lzdGVtU291bmREZWxlZ2F0ZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJTeXN0
ZW1Tb3VuZERlbGVnYXRlOjpzeXN0ZW1CZWVwKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlN5
c3RlbVNvdW5kRGVsZWdhdGUuaDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3Jt
SW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorCiAyMDIwLTExLTA5ICBEZXZpbiBSb3Vzc28gIDxkcm91
c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBhdXRvZm9jdXMgb2YgdGV4dCBpbnB1dCBzaG91bGQg
bm90IHNlbGVjdCB0ZXh0CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvU291cmNlcy50eHQJKHJldmlzaW9uIDI2OTU4OCkKKysrIFNv
dXJjZS9XZWJLaXQvU291cmNlcy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTQ5MCw2ICs0OTAsNyBA
QAogV2ViUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuY3BwCiBXZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwCiBXZWJQcm9jZXNzL1dlYlNsZWVwRGlzYWJsZXJDbGllbnQuY3BwCitXZWJQ
cm9jZXNzL1dlYlN5c3RlbVNvdW5kRGVsZWdhdGUuY3BwCiAKIC8vIEZJWE1FKDIwNjI2Nik6IEF1
dG9tYXRpb25Qcm90b2NvbE9iamVjdHMuaCdzICJuYW1lc3BhY2UgUHJvdG9jb2wiIGNvbmZsaWN0
cyB3aXRoIG9iamMvcnVudGltZS5oJ3MgInR5cGVkZWYgc3RydWN0IG9iamNfb2JqZWN0IFByb3Rv
Y29sIgogV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuY3Bw
IEBuby11bmlmeQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuY3BwCShyZXZpc2lvbiAyNjk1ODgpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Niw2ICs2Niw3IEBACiAjaW5jbHVk
ZSA8V2ViQ29yZS9QcmV3YXJtSW5mb3JtYXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1B1Ymxp
Y1N1ZmZpeC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU3VkZGVuVGVybWluYXRpb24uaD4KKyNpbmNs
dWRlIDxwYWwvc3lzdGVtL1NvdW5kLmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDx3
dGYvQWxnb3JpdGhtcy5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpAQCAtMTkw
MSw2ICsxOTAyLDExIEBACiAgICAgcmV0dXJuICFtX3NsZWVwRGlzYWJsZXJzLmlzRW1wdHkoKTsK
IH0KIAordm9pZCBXZWJQcm9jZXNzUHJveHk6OnN5c3RlbUJlZXAoKQoreworICAgIFBBTDo6c3lz
dGVtQmVlcCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIE1FU1NBR0Vf
Q0hFQ0sKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCShy
ZXZpc2lvbiAyNjk1ODgpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuaAkod29ya2luZyBjb3B5KQpAQCAtNTA4LDYgKzUwOCw4IEBACiAgICAgdm9pZCBjcmVhdGVT
cGVlY2hSZWNvZ25pdGlvblNlcnZlcihTcGVlY2hSZWNvZ25pdGlvblNlcnZlcklkZW50aWZpZXIp
OwogICAgIHZvaWQgZGVzdHJveVNwZWVjaFJlY29nbml0aW9uU2VydmVyKFNwZWVjaFJlY29nbml0
aW9uU2VydmVySWRlbnRpZmllcik7CiAKKyAgICB2b2lkIHN5c3RlbUJlZXAoKTsKKyAgICAKICAg
ICBlbnVtIGNsYXNzIElzV2VhayB7IE5vLCBZZXMgfTsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBjbGFzcyBXZWFrT3JTdHJvbmdQdHIgewogICAgIHB1YmxpYzoKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4JKHJldmlz
aW9uIDI2OTU4OCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5t
ZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAtOTAsNCArOTAsNiBAQAogCiAgICAgQ3JlYXRl
U3BlZWNoUmVjb2duaXRpb25TZXJ2ZXIoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgaWRlbnRpZmll
cikKICAgICBEZXN0cm95U3BlZWNoUmVjb2duaXRpb25TZXJ2ZXIoV2ViQ29yZTo6UGFnZUlkZW50
aWZpZXIgaWRlbnRpZmllcikKKworICAgIFN5c3RlbUJlZXAoKQogfQpJbmRleDogU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNjk1
ODgpCisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3
b3JraW5nIGNvcHkpCkBAIC01NDE2LDYgKzU0MTYsOCBAQAogCQlFMzk2MjhEQzIzOTYwQ0M2MDA2
NThFQ0QgLyogV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVBy
b3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM5NjI4RTQyMzk3MUYz
NDAwNjU4RUNEIC8qIFdlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIubWVzc2FnZXMu
aW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92
aWRlci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNDQUFBNDMy
NDEzMjc4QTAwQ0VEMkUyIC8qIEFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzRUZCMDJDMjU1MDYxN0MwMDNDMkY5NiAvKiBXZWJTeXN0
ZW1Tb3VuZERlbGVnYXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlN5c3RlbVNvdW5kRGVs
ZWdhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFM0VGQjAyRDI1NTA2MTdD
MDAzQzJGOTYgLyogV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJT
eXN0ZW1Tb3VuZERlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0MDQ5
MDcwMjFERTY1RjcwMDM3RjBEQiAvKiBTY3JvbGxlclBhaXJNYWMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xsZXJQYWlyTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUU0MDQ5MDcxMjFERTY1RjcwMDM3RjBEQiAvKiBTY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlUmVtb3RlTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVNYWMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDA0OTA3MjIxREU2NUY3MDAzN0YwREIgLyogU2Ny
b2xsZXJQYWlyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
U2Nyb2xsZXJQYWlyTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTAwOCw2
ICs5MDEwLDggQEAKIAkJCQlCQ0UwRTQyNDE2OEI3QTI4MDA1N0U2NkEgLyogV2ViUHJvY2Vzc1N1
cHBsZW1lbnQuaCAqLywKIAkJCQlDMThGQjUxRDI0MkY5Rjc2MDA3RTk4NzUgLyogV2ViU2xlZXBE
aXNhYmxlckNsaWVudC5jcHAgKi8sCiAJCQkJQzE4RkI1MUUyNDJGOUY3NzAwN0U5ODc1IC8qIFdl
YlNsZWVwRGlzYWJsZXJDbGllbnQuaCAqLywKKwkJCQlFM0VGQjAyQzI1NTA2MTdDMDAzQzJGOTYg
LyogV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5jcHAgKi8sCisJCQkJRTNFRkIwMkQyNTUwNjE3QzAw
M0MyRjk2IC8qIFdlYlN5c3RlbVNvdW5kRGVsZWdhdGUuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0g
V2ViUHJvY2VzczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlN5c3RlbVNvdW5kRGVsZWdhdGUuY3BwCShub25l
eGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJTeXN0ZW1Tb3VuZERlbGVn
YXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACisvKgorKiBDb3B5cmlnaHQg
KEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IldlYlN5c3RlbVNvdW5kRGVsZWdhdGUuaCIKKworI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNp
bmNsdWRlICJXZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsK
Kwordm9pZCBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlOjpzeXN0ZW1CZWVwKCkKK3sKKyAgICBXZWJQ
cm9jZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3Nh
Z2VzOjpXZWJQcm9jZXNzUHJveHk6OlN5c3RlbUJlZXAoKSwgMCk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlN5c3RlbVNvdW5k
RGVsZWdhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViU3lz
dGVtU291bmREZWxlZ2F0ZS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
OCBAQAorLyoKKyogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0OgorKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMu
IE9SCisqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNwcmFnbWEg
b25jZQorCisjaW5jbHVkZSA8V2ViQ29yZS9TeXN0ZW1Tb3VuZERlbGVnYXRlLmg+CisKK25hbWVz
cGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlIGZpbmFsIDogcHVi
bGljIFdlYkNvcmU6OlN5c3RlbVNvdW5kRGVsZWdhdGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworcHVibGljOgorICAgIHZvaWQgc3lzdGVtQmVlcCgpIGZpbmFsOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2Ev
V2ViUHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI2OTU4OCkKKysrIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkK
QEAgLTQ2LDYgKzQ2LDcgQEAKICNpbXBvcnQgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2ltcG9y
dCAiV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIKICNpbXBvcnQgIldlYlNsZWVwRGlzYWJsZXJD
bGllbnQuaCIKKyNpbXBvcnQgIldlYlN5c3RlbVNvdW5kRGVsZWdhdGUuaCIKICNpbXBvcnQgIldl
YnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzLmgiCiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9Db25m
aWdGaWxlLmg+CiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9PcHRpb25zLmg+CkBAIC02Nyw2ICs2
OCw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2lt
cG9ydCA8V2ViQ29yZS9TV0NvbnRleHRNYW5hZ2VyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1N5c3Rl
bUJhdHRlcnkuaD4KKyNpbXBvcnQgPFdlYkNvcmUvU3lzdGVtU291bmRNYW5hZ2VyLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1VUSVV0aWxpdGllcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9WZXJzaW9uQ2hl
Y2tzLmg+CiAjaW1wb3J0IDxhbGdvcml0aG0+CkBAIC0zNjAsNiArMzYyLDggQEAKICNlbmRpZgog
CiAgICAgdXBkYXRlUHJvY2Vzc05hbWUoKTsKKyAgICAKKyAgICBTeXN0ZW1Tb3VuZE1hbmFnZXI6
OnNpbmdsZXRvbigpLnNldFN5c3RlbVNvdW5kRGVsZWdhdGUobWFrZVVuaXF1ZTxXZWJTeXN0ZW1T
b3VuZERlbGVnYXRlPigpKTsKIH0KIAogdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybVNldFdlYnNp
dGVEYXRhU3RvcmVQYXJhbWV0ZXJzKFdlYlByb2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJzJiYgcGFy
YW1ldGVycykKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDI2OTU4OCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDE2IEBACiAyMDIwLTExLTA5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFu
QGFwcGxlLmNvbT4KIAorICAgICAgICBbbWFjT1NdIFN5c3RlbSBzb3VuZHMgc2hvdWxkIGJlIHBs
YXllZCBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE4NDA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIu
CisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9TeXN0ZW1C
ZWVwLm1tOiBBZGRlZC4KKyAgICAgICAgKFRFU1QpOgorCisyMDIwLTExLTA5ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKwogICAgICAgICBbbWFjT1NdIFNldCBwcmVmZXJl
bmNlIGZvciBvdmVycmlkZGVuIGxhbmd1YWdlcyBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFm
dGVyIGVudGVyaW5nIHRoZSBzYW5kYm94LgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MDk3CiAKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShy
ZXZpc2lvbiAyNjk1ODgpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTA4OCw2ICsxMDg4LDcg
QEAKIAkJRTNBMUU3ODUyMUIyNUI5MTAwOEM2MDA3IC8qIFVSTFBhcnNlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0ExRTc4NDIxQjI1QjkxMDA4
QzYwMDcgLyogVVJMUGFyc2VyLmNwcCAqLzsgfTsKIAkJRTNDMjFBN0MyMUIyNUNBMjAwM0IzMUEz
IC8qIFVSTEV4dHJhcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUzQzIxQTdCMjFCMjVDQTIwMDNCMzFBMyAvKiBVUkxFeHRyYXMubW0gKi87IH07CiAJ
CUUzREVBODExMUYwQTU4OTAwMENCQzJFOCAvKiBUaHJlYWRHcm91cC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0RFQTgxMDFGMEE1ODgwMDBDQkMy
RTggLyogVGhyZWFkR3JvdXAuY3BwICovOyB9OworCQlFM0VGQjAyRjI1NTA2NTAzMDAzQzJGOTYg
LyogU3lzdGVtQmVlcC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUzRUZCMDJFMjU1MDY1MDMwMDNDMkY5NiAvKiBTeXN0ZW1CZWVwLm1tICovOyB9Owog
CQlFM0Y4QUI5MjI0MUFCOUNFMDAzRTJBN0UgLyogQWNjZXNzaWJpbGl0eVJlbW90ZVVJQXBwLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNGOEFCOTEy
NDFBQjlDRTAwM0UyQTdFIC8qIEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbSAqLzsgfTsKIAkJ
RTUwMzZGNzgyMTFCQzI1NDAwQkZEQkUyIC8qIGNvbG9yLWRyb3AuaHRtbCBpbiBDb3B5IFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNTAzNkY3NzIxMUJDMjI4
MDBCRkRCRTIgLyogY29sb3ItZHJvcC5odG1sICovOyB9OwogCQlFNTg5MTgzQzI1MkJDOTBBMDA0
MURFRDUgLyogRGF0ZVRpbWVJbnB1dHNBY2Nlc3NvcnlWaWV3VGVzdHMubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNTg5MTgzQjI1MkJDOTBBMDA0MURF
RDUgLyogRGF0ZVRpbWVJbnB1dHNBY2Nlc3NvcnlWaWV3VGVzdHMubW0gKi87IH07CkBAIC0yODA4
LDYgKzI4MDksNyBAQAogCQlFM0ExRTc4NDIxQjI1QjkxMDA4QzYwMDcgLyogVVJMUGFyc2VyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVSTFBhcnNlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzQzIxQTdCMjFCMjVDQTIwMDNCMzFBMyAvKiBV
UkxFeHRyYXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVUkxF
eHRyYXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzREVBODEwMUYwQTU4ODAw
MENCQzJFOCAvKiBUaHJlYWRHcm91cC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBUaHJlYWRHcm91cC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUz
RUZCMDJFMjU1MDY1MDMwMDNDMkY5NiAvKiBTeXN0ZW1CZWVwLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gU3lzdGVtQmVlcC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNGOEFC
OTEyNDFBQjlDRTAwM0UyQTdFIC8qIEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTQwMDE5MzAxQUNFOUI1QzAwMUIwQTJBIC8qIEJsb29tRmlsdGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJsb29tRmlsdGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ5MDI5NjcxNEUyRTNBNDAwMkJFREQx
IC8qIFR5cGluZ1N0eWxlQ3Jhc2gubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBUeXBpbmdTdHlsZUNyYXNoLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMzEzOSw2ICszMTQxLDcgQEAKIAkJCQlFMzI1QzkwNjIzRTM4NzAyMDBCQzdEM0IgLyogUGlj
dHVyZUluUGljdHVyZVN1cHBvcnQubW0gKi8sCiAJCQkJQzE1Q0JCM0UyM0ZCMTc3QTAwMzAwQ0M3
IC8qIFByZWZlcmVuY2VDaGFuZ2VzLm1tICovLAogCQkJCUMxNDlENTRGMjQyRTk4NDQwMDNFQkIx
MiAvKiBTbGVlcERpc2FibGVyLm1tICovLAorCQkJCUUzRUZCMDJFMjU1MDY1MDMwMDNDMkY5NiAv
KiBTeXN0ZW1CZWVwLm1tICovLAogCQkJCTBGMTM5RTc1MUE0MjNBNTMwMEY1OTBGNSAvKiBXZWFr
T2JqQ1B0ci5tbSAqLywKIAkJCQlDMUZGOUVEQTI0NDY0NEYwMDA4MzlBRTQgLyogV2ViRmlsdGVy
Lm1tICovLAogCQkJCUMxNEQzMDQ1MjRCNEMzQkEwMDQ4MDM4NyAvKiBYUENFbmRwb2ludC5tbSAq
LywKQEAgLTU0NTMsNiArNTQ1Niw3IEBACiAJCQkJNTFFQjEyNjcyNENCODc1MzAwMENCMDMwIC8q
IFN1bkxpZ2h0QXBwbGljYXRpb25HZW5lcmljTkVTLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDQz
M0EzOTYyMDgwNDQxNDAwOTFFRDU3IC8qIFN5bmNocm9ub3VzVGltZW91dFRlc3RzLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJN0NDRTdFQTgxQTQxMUExOTAwNDQ3QzRDIC8qIFN5bnRoZXRpY0JhY2tp
bmdTY2FsZUZhY3RvcldpbmRvdy5tIGluIFNvdXJjZXMgKi8sCisJCQkJRTNFRkIwMkYyNTUwNjUw
MzAwM0MyRjk2IC8qIFN5c3RlbUJlZXAubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQzczNEI1MzIw
Nzg4QzQ4MDBGNDMwRUEgLyogU3lzdGVtQ29sb3JzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFC
NzZFNDMyMzI5OEUyQzAwN0ZFRDJDIC8qIFN5c3RlbVByZXZpZXcubW0gaW4gU291cmNlcyAqLywK
IAkJCQkyRDcwMDU5NjIxRURBMEM2MDAzNDYzQ0IgLyogVGFiT3V0T2ZXZWJWaWV3Lm1tIGluIFNv
dXJjZXMgKi8sCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9TeXN0ZW1C
ZWVwLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1N5
c3RlbUJlZXAubW0JKG5vbmV4aXN0ZW50KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvU3lzdGVtQmVlcC5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5o
IgorI2ltcG9ydCAiVGVzdFdLV2ViVmlldy5oIgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb25Qcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZS5o
PgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nLmg+CisjaW1wb3J0
IDx3dGYvVGhyZWFkaW5nLmg+CisKKyNpZiBXS19IQVZFX0NfU1BJCisKK1RFU1QoV2ViS2l0LCBT
eXN0ZW1CZWVwKQoreworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZp
ZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0
UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhUZXN0V2ViS2l0QVBJOjpVdGlsOjpjcmVhdGVDb250ZXh0
Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJJbnRlcm5hbHNJbmplY3RlZEJ1bmRsZVRlc3QiKSk7Cisg
ICAgY29uZmlndXJhdGlvbi5nZXQoKS5wcm9jZXNzUG9vbCA9IChXS1Byb2Nlc3NQb29sICopY29u
dGV4dC5nZXQoKTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBh
bGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0
aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisKKyAgICBbd2ViVmll
dyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAid2luZG93LmludGVybmFscy5zeXN0ZW1C
ZWVwKCkiXTsKK30KKworI2VuZGlmIC8vIFdLX0hBVkVfQ19TUEkK
</data>

          </attachment>
      

    </bug>

</bugzilla>