<?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>231694</bug_id>
          
          <creation_ts>2021-10-13 12:51:58 -0700</creation_ts>
          <short_desc>[macOS][GPUP] Remove access in sandbox to com.apple.audio.AudioComponentRegistrar</short_desc>
          <delta_ts>2022-01-29 13:29:55 -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>REOPENED</bug_status>
          <resolution></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>
          <dependson>232864</dependson>
    
    <dependson>233724</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gavin.p</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>mazander</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1803920</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-10-13 12:51:58 -0700</bug_when>
    <thetext>After https://trac.webkit.org/changeset/274435/webkit, there is no need to allow access to this service.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803922</commentid>
    <comment_count>1</comment_count>
      <attachid>441121</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-10-13 12:54:38 -0700</bug_when>
    <thetext>Created attachment 441121
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803924</commentid>
    <comment_count>2</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-10-13 12:55:30 -0700</bug_when>
    <thetext>&lt;rdar://75225923&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803975</commentid>
    <comment_count>3</comment_count>
      <attachid>441121</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-10-13 14:39:22 -0700</bug_when>
    <thetext>Comment on attachment 441121
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804855</commentid>
    <comment_count>4</comment_count>
      <attachid>441387</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-10-15 09:46:22 -0700</bug_when>
    <thetext>Created attachment 441387
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804858</commentid>
    <comment_count>5</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-10-15 09:47:19 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #3)
&gt; Comment on attachment 441121 [details]
&gt; Patch
&gt; 
&gt; r=me

I have uploaded a revised patch for review.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804869</commentid>
    <comment_count>6</comment_count>
      <attachid>441391</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-10-15 09:58:21 -0700</bug_when>
    <thetext>Created attachment 441391
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805060</commentid>
    <comment_count>7</comment_count>
      <attachid>441391</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-10-15 15:21:50 -0700</bug_when>
    <thetext>Comment on attachment 441391
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805061</commentid>
    <comment_count>8</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-10-15 15:22:27 -0700</bug_when>
    <thetext>Can you clean up the error in the header file noted by the style check script?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806263</commentid>
    <comment_count>9</comment_count>
      <attachid>441779</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-10-19 13:10:26 -0700</bug_when>
    <thetext>Created attachment 441779
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806266</commentid>
    <comment_count>10</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-10-19 13:18:33 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #8)
&gt; Can you clean up the error in the header file noted by the style check
&gt; script?

In the current form of the patch, I believe this include is needed, since the implementation of the template should be in the header file. I will look closer into fixing this style error.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806310</commentid>
    <comment_count>11</comment_count>
      <attachid>441797</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-10-19 14:16:20 -0700</bug_when>
    <thetext>Created attachment 441797
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807192</commentid>
    <comment_count>12</comment_count>
      <attachid>442039</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-10-21 09:16:54 -0700</bug_when>
    <thetext>Created attachment 442039
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812658</commentid>
    <comment_count>13</comment_count>
      <attachid>443559</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-11-08 09:48:54 -0800</bug_when>
    <thetext>Created attachment 443559
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812660</commentid>
    <comment_count>14</comment_count>
      <attachid>443560</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-11-08 09:54:28 -0800</bug_when>
    <thetext>Created attachment 443560
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812663</commentid>
    <comment_count>15</comment_count>
      <attachid>443563</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-11-08 09:57:10 -0800</bug_when>
    <thetext>Created attachment 443563
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812689</commentid>
    <comment_count>16</comment_count>
      <attachid>443569</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-11-08 10:34:44 -0800</bug_when>
    <thetext>Created attachment 443569
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812842</commentid>
    <comment_count>17</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-08 14:28:31 -0800</bug_when>
    <thetext>Committed r285432 (243988@main): &lt;https://commits.webkit.org/243988@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 443569.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812974</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-11-08 20:21:12 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 232864</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816020</commentid>
    <comment_count>19</comment_count>
      <attachid>444538</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-11-17 11:11:10 -0800</bug_when>
    <thetext>Created attachment 444538
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816674</commentid>
    <comment_count>20</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-18 15:54:27 -0800</bug_when>
    <thetext>Committed r286037 (244425@main): &lt;https://commits.webkit.org/244425@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 444538.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819403</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-12-01 13:59:59 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 233724</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819410</commentid>
    <comment_count>22</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-12-01 14:11:45 -0800</bug_when>
    <thetext>Note to self: this should be tested on test.webrtc.org.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833499</commentid>
    <comment_count>23</comment_count>
      <attachid>449861</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-24 14:49:10 -0800</bug_when>
    <thetext>Created attachment 449861
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835312</commentid>
    <comment_count>24</comment_count>
      <attachid>450334</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-29 13:29:32 -0800</bug_when>
    <thetext>Created attachment 450334
Patch</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441121</attachid>
            <date>2021-10-13 12:54:38 -0700</date>
            <delta_ts>2021-10-15 09:46:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231694-20211013125437.patch</filename>
            <type>text/plain</type>
            <size>2074</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODQxMjEpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDIxLTEwLTEzICBQZXIgQXJuZSAg
PHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU11bR1BVUF0gUmVtb3ZlIGFjY2Vz
cyBpbiBzYW5kYm94IHRvIGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxNjk0Cisg
ICAgICAgIDxyZGFyOi8vNzUyMjU5MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWZ0ZXIgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0
LzI3NDQzNS93ZWJraXQsIHRoZXJlIGlzIG5vIG5lZWQgdG8gYWxsb3cgYWNjZXNzIHRvIHRoaXMg
c2VydmljZS4KKworICAgICAgICAqIEdQVVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BV
UHJvY2Vzcy5zYi5pbjoKKyAgICAgICAgKiBXZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5X
ZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluOgorCiAyMDIxLTEwLTEzICBQZXIgQXJuZSAgPHB2
b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlc3RyaWN0ICJkYXJ3aW4tbm90aWZpY2F0aW9u
LXBvc3QiIHRvIGEgbWluaW1hbCBzZXQgaW4gdGhlIFdQIHNhbmRib3gKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktp
dC5HUFVQcm9jZXNzLnNiLmluCShyZXZpc2lvbiAyODMzNzQpCisrKyBTb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYi5pbgkod29ya2luZyBj
b3B5KQpAQCAtNjY3LDkgKzY2Nyw2IEBACiAoYWxsb3cgaXBjLXBvc2l4LXNobS1yZWFkKiBpcGMt
cG9zaXgtc2htLXdyaXRlLWRhdGEgKHdpdGggdGVsZW1ldHJ5KQogICAgIChpcGMtcG9zaXgtbmFt
ZS1yZWdleCAjIl5BdWRpb0lPIikpCiAKLShhbGxvdyBtYWNoLWxvb2t1cAotICAgIChnbG9iYWwt
bmFtZSAiY29tLmFwcGxlLmF1ZGlvLkF1ZGlvQ29tcG9uZW50UmVnaXN0cmFyIikpCi0KICNpZiAh
RU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCiAoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGggdGVs
ZW1ldHJ5KQogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmNmcHJlZnNkLmFnZW50IikKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0Lldl
YkF1dGhuUHJvY2Vzcy5zYi5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYkF1dGhu
UHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW4JKHJldmlz
aW9uIDI4Mzg4NykKKysrIFNvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20uYXBw
bGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYi5pbgkod29ya2luZyBjb3B5KQpAQCAtMzIzLDcg
KzMyMyw2IEBACiAjaWYgUExBVEZPUk0oTUFDKQogICAgICh3aXRoIHJlcG9ydCkgKHdpdGggdGVs
ZW1ldHJ5KQogI2VuZGlmCi0gICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuYXVkaW8uQXVkaW9D
b21wb25lbnRSZWdpc3RyYXIiKQogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmF3ZGQiKQog
I2lmICFFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5h
cHBsZS5jZnByZWZzZC5hZ2VudCIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441387</attachid>
            <date>2021-10-15 09:46:22 -0700</date>
            <delta_ts>2021-10-15 09:58:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231694-20211015094621.patch</filename>
            <type>text/plain</type>
            <size>20414</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODQyNTApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDIxLTEwLTE1ICBQZXIgQXJuZSBW
b2xsYW4gPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU11bR1BVUF0gUmVtb3Zl
IGFjY2VzcyBpbiBzYW5kYm94IHRvIGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lz
dHJhcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMx
Njk0CisgICAgICAgIDxyZGFyOi8vNzUyMjU5MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWZ0ZXIgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hh
bmdlc2V0LzI3NDQzNS93ZWJraXQsIHRoZXJlIGlzIG5vIG5lZWQgdG8gYWxsb3cgYWNjZXNzIHRv
IHRoaXMgc2VydmljZS4gVGhpcyBwYXRjaCBhbHNvIGltcGxlbWVudHMgc2VuZGluZworICAgICAg
ICB0aGUgQXVkaW8gY29tcG9uZW50IHJlZ2lzdHJhdGlvbnMgdG8gdGhlIEdQVSBwcm9jZXNzLCB3
aGljaCBpcyBhIHJlcXVpcmVtZW50IGJlZm9yZSBibG9ja2luZyB0aGUgc2VydmljZSBpbiB0aGUg
R1BVIHByb2Nlc3MuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MuaDoKKyAgICAg
ICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJv
Y2Vzcy9jb2NvYS9HUFVQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nl
c3M6OmNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorICAgICAgICAqIEdQVVBy
b2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYi5pbjoKKyAgICAgICAgKiBT
aGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYktpdDo6Y29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisgICAgICAg
ICogU2hhcmVkL0NvY29hL0F1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmg6IEFkZGVkLgorICAg
ICAgICAoV2ViS2l0OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW06CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3NQcm94eTo6c2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyk6IERl
bGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6OmRpZEZpbmlzaExhdW5jaGluZyk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Bvb2w6OmluaXRpYWxpemVOZXdXZWJQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6
cmV2b2tlQXVkaW9DYXB0dXJlRXh0ZW5zaW9uKToKKyAgICAgICAgKiBXZWJBdXRoblByb2Nlc3Mv
bWFjL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluOgorICAgICAgICAqIFdl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29j
b2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpjb25z
dW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKToKKwogMjAyMS0xMC0xNSAgQWxleCBDaHJp
c3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEV4cGxpY2l0bHkg
bGluayB3ZWJwdXNoZCB3aXRoIEZvdW5kYXRpb24gYW5kIENvcmVGb3VuZGF0aW9uCkluZGV4OiBT
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgJKHJldmlzaW9uIDI4MzM3NCkKKysrIFNv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4
LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCiAKICNpbmNsdWRlICJBdXhpbGlh
cnlQcm9jZXNzLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIlNhbmRi
b3hFeHRlbnNpb24uaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHlJZGVudGlmaWVyLmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9MaWJXZWJSVENFbnVtVHJhaXRzLmg+CkBAIC0xMDAsNiArMTAxLDEwIEBA
IHB1YmxpYzoKIAogICAgIGNvbnN0IFN0cmluZyYgYXBwbGljYXRpb25WaXNpYmxlTmFtZSgpIGNv
bnN0IHsgcmV0dXJuIG1fYXBwbGljYXRpb25WaXNpYmxlTmFtZTsgfQogCisjaWYgUExBVEZPUk0o
Q09DT0EpCisgICAgdm9pZCBjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKGNvbnN0
IElQQzo6RGF0YVJlZmVyZW5jZSYpOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgdm9pZCBsb3dN
ZW1vcnlIYW5kbGVyKENyaXRpY2FsLCBTeW5jaHJvbm91cyk7CiAKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCShyZXZpc2lvbiAyODMz
NzQpCisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgko
d29ya2luZyBjb3B5KQpAQCAtNjgsNiArNjgsMTAgQEAgbWVzc2FnZXMgLT4gR1BVUHJvY2VzcyBM
ZWdhY3lSZWNlaXZlciB7CiAjaWYgRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCiAgICAgTm90
aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKFN0cmluZyBkb21haW4sIFN0cmluZyBrZXksIHN0ZDo6b3B0
aW9uYWw8U3RyaW5nPiBlbmNvZGVkVmFsdWUpCiAjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09B
KQorICAgIENvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoSVBDOjpTaGFyZWRCdWZm
ZXJEYXRhUmVmZXJlbmNlIHJlZ2lzdHJhdGlvbkRhdGEpCisjZW5kaWYKIH0KIAogI2VuZGlmIC8v
IEVOQUJMRShHUFVfUFJPQ0VTUykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9jb2Nv
YS9HUFVQcm9jZXNzQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbQkocmV2aXNpb24gMjgzMzc0KQorKysgU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5
KQpAQCAtMzAsNiArMzAsNyBAQAogCiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBQTEFURk9S
TShDT0NPQSkKIAorI2ltcG9ydCAiQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCIKICNpbXBv
cnQgIkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIKICNpbXBvcnQgIlJlbW90ZVJlbmRlcmlu
Z0JhY2tlbmQuaCIKICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTc4LDYgKzc5LDExIEBA
IHZvaWQgR1BVUHJvY2Vzczo6ZGlzcGF0Y2hTaW11bGF0ZWROb3RpZmkKIAogI2VuZGlmIC8vIEVO
QUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogCit2b2lkIEdQVVByb2Nlc3M6OmNvbnN1bWVBdWRp
b0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhKQor
eworICAgIFdlYktpdDo6Y29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhkYXRhKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NF
U1MpICYmIFBMQVRGT1JNKENPQ09BKQpJbmRleDogU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21h
Yy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4J
KHJldmlzaW9uIDI4MzM3NCkKKysrIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMvY29tLmFw
cGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluCSh3b3JraW5nIGNvcHkpCkBAIC02NjcsOCArNjY3
LDEwIEBACiAoYWxsb3cgaXBjLXBvc2l4LXNobS1yZWFkKiBpcGMtcG9zaXgtc2htLXdyaXRlLWRh
dGEgKHdpdGggdGVsZW1ldHJ5KQogICAgIChpcGMtcG9zaXgtbmFtZS1yZWdleCAjIl5BdWRpb0lP
IikpCiAKKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTIwMDAwCiAoYWxs
b3cgbWFjaC1sb29rdXAKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hdWRpby5BdWRpb0Nv
bXBvbmVudFJlZ2lzdHJhciIpKQorI2VuZGlmCiAKICNpZiAhRU5BQkxFKENGUFJFRlNfRElSRUNU
X01PREUpCiAoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGggdGVsZW1ldHJ5KQpJbmRleDogU291cmNl
L1dlYktpdC9TaGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0F1ZGlvQ29tcG9uZW50UmVnaXN0
cmF0aW9uLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9B
dWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1
MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBdWRpb0Nv
bXBvbmVudFJlZ2lzdHJhdGlvbi5oIgorCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKwordm9pZCBjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKGNv
bnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSkKK3sKKyAgICBpZiAoIVBBTDo6aXNBdWRpb1Rv
b2xib3hDb3JlRnJhbWV3b3JrQXZhaWxhYmxlKCkgfHwgIVBBTDo6Y2FuTG9hZF9BdWRpb1Rvb2xi
b3hDb3JlX0F1ZGlvQ29tcG9uZW50QXBwbHlTZXJ2ZXJSZWdpc3RyYXRpb25zKCkpCisgICAgICAg
IHJldHVybjsKKworICAgIGF1dG8gcmVnaXN0cmF0aW9ucyA9IGFkb3B0Q0YoQ0ZEYXRhQ3JlYXRl
KGtDRkFsbG9jYXRvckRlZmF1bHQsIGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSkpOworICAgIGlm
ICghcmVnaXN0cmF0aW9ucykKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byBlcnIgPSBQQUw6
OkF1ZGlvQ29tcG9uZW50QXBwbHlTZXJ2ZXJSZWdpc3RyYXRpb25zKHJlZ2lzdHJhdGlvbnMuZ2V0
KCkpOworICAgIGlmIChub0VyciA9PSBlcnIpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBS
RUxFQVNFX0xPR19FUlJPUihQcm9jZXNzLCAiQ291bGQgbm90IGFwcGx5IEF1ZGlvQ29tcG9uZW50
IHJlZ2lzdHJhdGlvbnMsIGVyciglbGQpIiwgc3RhdGljX2Nhc3Q8bG9uZz4oZXJyKSk7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYktpdAorCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2Nv
YS9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL0NvY29hL0F1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgJKG5vbmV4aXN0ZW50
KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRp
b24uaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbXBvcnQgIkF1eGlsaWFyeVByb2Nlc3NQcm94eS5oIgorI2ltcG9ydCAiRGF0
YVJlZmVyZW5jZS5oIgorI2ltcG9ydCA8V2ViQ29yZS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5o
PgorI2ltcG9ydCA8d3RmL0Jsb2NrUHRyLmg+CisjaW1wb3J0IDxwYWwvY2YvQXVkaW9Ub29sYm94
U29mdExpbmsuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+
IHZvaWQgc2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhBdXhpbGlhcnlQcm9jZXNzUHJv
eHkmIHByb2Nlc3MpCit7CisgICAgaWYgKCFQQUw6OmlzQXVkaW9Ub29sYm94Q29yZUZyYW1ld29y
a0F2YWlsYWJsZSgpIHx8ICFQQUw6OmNhbkxvYWRfQXVkaW9Ub29sYm94Q29yZV9BdWRpb0NvbXBv
bmVudEZldGNoU2VydmVyUmVnaXN0cmF0aW9ucygpKQorICAgICAgICByZXR1cm47CisKKyAgICBk
aXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfZ2xvYmFsX3F1ZXVlKERJU1BBVENIX1FVRVVFX1BS
SU9SSVRZX0RFRkFVTFQsIDApLCBtYWtlQmxvY2tQdHIoW3Byb2Nlc3MgPSBSZWYgeyBwcm9jZXNz
IH1dICgpIG11dGFibGUgeworICAgICAgICBDRkRhdGFSZWYgcmVnaXN0cmF0aW9ucyB7IG51bGxw
dHIgfTsKKworICAgICAgICBXZWJDb3JlOjpyZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsK
KyAgICAgICAgV2ViQ29yZTo6cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKTsKKyAgICAg
ICAgaWYgKG5vRXJyICE9IFBBTDo6QXVkaW9Db21wb25lbnRGZXRjaFNlcnZlclJlZ2lzdHJhdGlv
bnMoJnJlZ2lzdHJhdGlvbnMpIHx8ICFyZWdpc3RyYXRpb25zKQorICAgICAgICAgICAgcmV0dXJu
OworCisgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbcHJvY2VzcyA9IFdURk1vdmUo
cHJvY2VzcyksIHJlZ2lzdHJhdGlvbnMgPSBhZG9wdENGKHJlZ2lzdHJhdGlvbnMpXSAoKSBtdXRh
YmxlIHsKKyAgICAgICAgICAgIGF1dG8gcmVnaXN0cmF0aW9uRGF0YSA9IFdlYkNvcmU6OlNoYXJl
ZEJ1ZmZlcjo6Y3JlYXRlKHJlZ2lzdHJhdGlvbnMuZ2V0KCkpOworICAgICAgICAgICAgcHJvY2Vz
cy0+c2VuZChUKHsgcmVnaXN0cmF0aW9uRGF0YSB9KSwgMCk7CisgICAgICAgIH0pOworICAgIH0p
LmdldCgpKTsKK30KKwordm9pZCBjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKGNv
bnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpOworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHJldmlzaW9uIDI4
MzM3NCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTMxLDYgKzEzMSw3IEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENP
Q09BKQorI2luY2x1ZGUgIkF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgiCiAjaW5jbHVkZSAi
RGVmYXVsdFdlYkJyb3dzZXJDaGVja3MuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0dhbWVDb250cm9s
bGVyR2FtZXBhZFByb3ZpZGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9ISURHYW1lcGFkUHJvdmlk
ZXIuaD4KQEAgLTg1MSw3ICs4NTIsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjppbml0aWFsaXpl
TmV3V2ViUHJvCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIHByb2Nlc3Muc2Vu
ZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucygpOworICAgIHNlbmRBdWRpb0NvbXBvbmVudFJl
Z2lzdHJhdGlvbnM8TWVzc2FnZXM6OldlYlByb2Nlc3M6OkNvbnN1bWVBdWRpb0NvbXBvbmVudFJl
Z2lzdHJhdGlvbnM+KHByb2Nlc3MpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShNQUMpCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkocmV2aXNpb24gMjgz
Mzc0KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgJKHdvcmtp
bmcgY29weSkKQEAgLTMzOSw4ICszMzksNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNBdWRpb0Nh
cHR1cmVFeHRlbnNpb24oKSBjb25zdCB7IHJldHVybiBtX21lZGlhQ2FwdHVyZVNhbmRib3hFeHRl
bnNpb25zICYgQXVkaW87IH0KICAgICB2b2lkIGdyYW50QXVkaW9DYXB0dXJlRXh0ZW5zaW9uKCkg
eyBtX21lZGlhQ2FwdHVyZVNhbmRib3hFeHRlbnNpb25zIHw9IEF1ZGlvOyB9CiAgICAgdm9pZCBy
ZXZva2VBdWRpb0NhcHR1cmVFeHRlbnNpb24oKSB7IG1fbWVkaWFDYXB0dXJlU2FuZGJveEV4dGVu
c2lvbnMgJj0gfkF1ZGlvOyB9Ci0KLSAgICB2b2lkIHNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJh
dGlvbnMoKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpICYmIFBMQVRG
T1JNKENPQ09BKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vz
c1Byb3h5Q29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0JKHJldmlzaW9uIDI4MzM3NCkKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC0zOSw3ICszOSw2IEBACiAjaW1wb3J0ICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNp
bXBvcnQgIldlYlByb2Nlc3NQb29sLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNh
dGlvbkNoZWNrcy5oPgotI2ltcG9ydCA8V2ViQ29yZS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5o
PgogI2ltcG9ydCA8c3lzL3N5c2N0bC5oPgogI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVkLmg+
CiAjaW1wb3J0IDx3dGYvU2NvcGUuaD4KQEAgLTY0LDggKzYzLDYgQEAKICNpbmNsdWRlICJUQ0NT
b2Z0TGluay5oIgogI2VuZGlmCiAKLSNpbXBvcnQgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0TGlu
ay5oPgotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogc3RhdGljIGNvbnN0IFNlY29uZHMgdW5leHBl
Y3RlZEFjdGl2aXR5RHVyYXRpb24gPSAxMF9zOwpAQCAtMjg5LDI4ICsyODYsNiBAQCB2b2lkIFdl
YlByb2Nlc3NQcm94eTo6aXNBWEF1dGhlbnRpY2F0ZWQoCiB9CiAjZW5kaWYKIAotdm9pZCBXZWJQ
cm9jZXNzUHJveHk6OnNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoKQotewotICAgIHVz
aW5nIG5hbWVzcGFjZSBQQUw7Ci0KLSAgICBpZiAoIVBBTDo6aXNBdWRpb1Rvb2xib3hDb3JlRnJh
bWV3b3JrQXZhaWxhYmxlKCkgfHwgIVBBTDo6Y2FuTG9hZF9BdWRpb1Rvb2xib3hDb3JlX0F1ZGlv
Q29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zKCkpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9nbG9iYWxfcXVldWUoRElTUEFUQ0hfUVVF
VUVfUFJJT1JJVFlfREVGQVVMVCwgMCksIFtwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfV0g
KCkgbXV0YWJsZSB7Ci0gICAgICAgIENGRGF0YVJlZiByZWdpc3RyYXRpb25zIHsgbnVsbHB0ciB9
OwotCi0gICAgICAgIFdlYkNvcmU6OnJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgpOwotICAg
ICAgICBXZWJDb3JlOjpyZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpOwotICAgICAgICBp
ZiAobm9FcnIgIT0gQXVkaW9Db21wb25lbnRGZXRjaFNlcnZlclJlZ2lzdHJhdGlvbnMoJnJlZ2lz
dHJhdGlvbnMpIHx8ICFyZWdpc3RyYXRpb25zKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAg
ICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbcHJvdGVjdGVkVGhpcyA9IFdURk1vdmUocHJv
dGVjdGVkVGhpcyksIHJlZ2lzdHJhdGlvbnMgPSBhZG9wdENGKHJlZ2lzdHJhdGlvbnMpXSAoKSBt
dXRhYmxlIHsKLSAgICAgICAgICAgIGF1dG8gcmVnaXN0cmF0aW9uRGF0YSA9IFdlYkNvcmU6OlNo
YXJlZEJ1ZmZlcjo6Y3JlYXRlKHJlZ2lzdHJhdGlvbnMuZ2V0KCkpOwotICAgICAgICAgICAgcHJv
dGVjdGVkVGhpcy0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6Q29uc3VtZUF1ZGlvQ29tcG9u
ZW50UmVnaXN0cmF0aW9ucyh7IHJlZ2lzdHJhdGlvbkRhdGEgfSksIDApOwotICAgICAgICB9KTsK
LSAgICB9KTsKLX0KLQogYm9vbCBXZWJQcm9jZXNzUHJveHk6Om1lc3NhZ2VTb3VyY2VJc1ZhbGlk
V2ViQ29udGVudFByb2Nlc3MoKQogewogICAgIGlmICghaGFzQ29ubmVjdGlvbigpKSB7CkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcAko
cmV2aXNpb24gMjgzMzc0KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nl
c3NQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDEwIEBACiAjaW5jbHVkZSA8
d3RmL0ZpbGVTeXN0ZW0uaD4KICNlbmRpZgogCisjaWYgUExBVEZPUk0oQ09DT0EpCisjaW5jbHVk
ZSAiQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCIKKyNlbmRpZgorCiAjZGVmaW5lIE1FU1NB
R0VfQ0hFQ0soYXNzZXJ0aW9uKSBNRVNTQUdFX0NIRUNLX0JBU0UoYXNzZXJ0aW9uLCB0aGlzLT5j
b25uZWN0aW9uKCkpCiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDM5LDYgKzQ0Myw3IEBAIHZv
aWQgR1BVUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcKICAgICAgICAgYXV0byB3ZWJT
aXRlRGF0YVN0b3JlID0gV2Vic2l0ZURhdGFTdG9yZTo6ZXhpc3RpbmdEYXRhU3RvcmVGb3JTZXNz
aW9uSUQoKm1fc2Vzc2lvbklEcy5iZWdpbigpKTsKICAgICAgICAgd2ViU2l0ZURhdGFTdG9yZS0+
c2VuZE5ldHdvcmtQcm9jZXNzWFBDRW5kcG9pbnRUb1Byb2Nlc3MoKnRoaXMpOwogICAgIH0KKyAg
ICBzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zPE1lc3NhZ2VzOjpHUFVQcm9jZXNzOjpD
b25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zPigqdGhpcyk7CiAjZW5kaWYKIH0KIApJ
bmRleDogU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQu
V2ViQXV0aG5Qcm9jZXNzLnNiLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViQXV0
aG5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYi5pbgkocmV2
aXNpb24gMjgzODg3KQorKysgU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5h
cHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluCSh3b3JraW5nIGNvcHkpCkBAIC0zMjMs
NyArMzIzLDYgQEAKICNpZiBQTEFURk9STShNQUMpCiAgICAgKHdpdGggcmVwb3J0KSAod2l0aCB0
ZWxlbWV0cnkpCiAjZW5kaWYKLSAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hdWRpby5BdWRp
b0NvbXBvbmVudFJlZ2lzdHJhciIpCiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuYXdkZCIp
CiAjaWYgIUVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogICAgIChnbG9iYWwtbmFtZSAiY29t
LmFwcGxlLmNmcHJlZnNkLmFnZW50IikKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjgzMzc0KQorKysgU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAt
Myw3ICszLDcgQEAKIAlhcmNoaXZlVmVyc2lvbiA9IDE7CiAJY2xhc3NlcyA9IHsKIAl9OwotCW9i
amVjdFZlcnNpb24gPSA1MjsKKwlvYmplY3RWZXJzaW9uID0gNTQ7CiAJb2JqZWN0cyA9IHsKIAog
LyogQmVnaW4gUEJYQWdncmVnYXRlVGFyZ2V0IHNlY3Rpb24gKi8KQEAgLTIwMTIsNiArMjAxMiw3
IEBACiAJCUUzOTYyOEREMjM5NjBDQzYwMDY1OEVDRCAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblVw
ZGF0ZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMzk2MjhEQjIzOTYwQ0M1MDA2NThFQ0QgLyogV2ViRGV2aWNlT3JpZW50YXRpb25VcGRh
dGVQcm92aWRlci5oICovOyB9OwogCQlFMzk2MjhERTIzOTYwQ0M2MDA2NThFQ0QgLyogV2ViRGV2
aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzk2MjhEQzIzOTYwQ0M2MDA2NThFQ0QgLyogV2ViRGV2
aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5jcHAgKi87IH07CiAJCUUzQ0FBQTQ0MjQxMzI3
OTkwMENFRDJFMiAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDQUFBNDMyNDEzMjc4QTAwQ0VEMkUyIC8q
IEFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmggKi87IH07CisJCUUzRUVFQ0I1MjcxOEE3MjAwMDIw
NjM5RiAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0VFRUNCNDI3MThBNzIwMDAyMDYzOUYgLyog
QXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwICovOyB9OwogCQlFNDEzRjU5RDFBQzFBREM0
MDAzNDUzNjAgLyogTmV0d29ya0NhY2hlRW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MTNGNTlCMUFDMUFEQjYwMDM0NTM2MCAvKiBOZXR3b3Jr
Q2FjaGVFbnRyeS5oICovOyB9OwogCQlFNDJFMDYxMDFBQTc1MjNCMDBCMTE2OTkgLyogTmV0d29y
a0NhY2hlSU9DaGFubmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFNDJFMDYwQjFBQTc0NDBEMDBCMTE2OTkgLyogTmV0d29ya0NhY2hlSU9DaGFubmVs
LmggKi87IH07CiAJCUU0MkUwNjEyMUFBNzVBQkQwMEIxMTY5OSAvKiBOZXR3b3JrQ2FjaGVEYXRh
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDJFMDYx
MTFBQTc1QUJEMDBCMTE2OTkgLyogTmV0d29ya0NhY2hlRGF0YS5oICovOyB9OwpAQCAtNjAzOSw2
ICs2MDQwLDggQEAKIAkJRTNCQ0U4NzcyNjcyNTIxMjAwMTFEOERCIC8qIEFjY2Vzc2liaWxpdHlQ
cmVmZXJlbmNlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5UHJlZmVyZW5j
ZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0JDRTg3ODI2NzI1MjEyMDAx
MUQ4REIgLyogQWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vz
c2liaWxpdHlQcmVmZXJlbmNlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0NB
QUE0MzI0MTMyNzhBMDBDRUQyRTIgLyogQWNjZXNzaWJpbGl0eVN1cHBvcnRTUEkuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eVN1cHBvcnRTUEkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTNFRUVDQjMyNzE4Nzc4ODAwMjA2MzlGIC8qIEF1
ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlvQ29tcG9uZW50
UmVnaXN0cmF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzRUVFQ0I0Mjcx
OEE3MjAwMDIwNjM5RiAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUUzRUZCMDJDMjU1MDYxN0MwMDNDMkY5NiAvKiBXZWJTeXN0ZW1Tb3Vu
ZERlbGVnYXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlN5c3RlbVNvdW5kRGVsZWdhdGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0VGQjAyRDI1NTA2MTdDMDAzQzJG
OTYgLyogV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJTeXN0ZW1T
b3VuZERlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0MDQ5MDcwMjFE
RTY1RjcwMDM3RjBEQiAvKiBTY3JvbGxlclBhaXJNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU2Nyb2xsZXJQYWlyTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC04NDczLDYgKzg0NzYsOCBAQAogCQkJCTM3OEUxQTNCMTgxRUQ2RkYwMDMxMDA3QSAvKiBB
UElPYmplY3QubW0gKi8sCiAJCQkJQTE3NUM0NDkyMUFBMzE3MDAwMDAzN0QwIC8qIEFyZ3VtZW50
Q29kZXJzQ29jb2EuaCAqLywKIAkJCQlBMTc1QzQ0QjIxQUEzMzFCMDAwMDM3RDAgLyogQXJndW1l
bnRDb2RlcnNDb2NvYS5tbSAqLywKKwkJCQlFM0VFRUNCNDI3MThBNzIwMDAyMDYzOUYgLyogQXVk
aW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwICovLAorCQkJCUUzRUVFQ0IzMjcxODc3ODgwMDIw
NjM5RiAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oICovLAogCQkJCTFBNjk4RjE3MUU0
OTEwMjIwMDY0RTg4MSAvKiBBdXhpbGlhcnlQcm9jZXNzQ29jb2EubW0gKi8sCiAJCQkJQ0UxMUFE
NTExQ0JDNDgyRjAwNjgxRUU1IC8qIENvZGVTaWduaW5nLmggKi8sCiAJCQkJQ0UxMUFENEYxQ0JD
NDdGODAwNjgxRUU1IC8qIENvZGVTaWduaW5nLm1tICovLApAQCAtMTQ0MjYsNiArMTQ0MzEsNyBA
QAogCQkJCTJEOTJBNzdCMjEyQjZBNzEwMEY0OTNGRCAvKiBBcmd1bWVudENvZGVycy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkyREVCMUQyRTIxMjc0NzM2MDA5MzM5MDYgLyogQXJndW1lbnRDb2Rl
cnNDRi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkyQTc3QzIxMkI2QTcxMDBGNDkzRkQgLyog
QXR0YWNobWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlFM0VFRUNCNTI3MThBNzIwMDAyMDYz
OUYgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
Q0Q0NTcwRDQyNDQxMUQwRjAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9y
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNENDU3MEQzMjQ0MTEzQjUwMEEzRENFQiAvKiBBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTUxMkY1OEEyMTJBODgzQUQwMDYyOTUzMCAvKiBBdXRoZW50aWNhdGlvbk1h
bmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9u
IDI4MzM3NCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29j
b2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbXBvcnQgIldlYlByb2Nl
c3MuaCIKIAogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eVN1cHBvcnRTUEkuaCIKKyNpbXBvcnQgIkF1
ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgiCiAjaW1wb3J0ICJHUFVQcm9jZXNzQ29ubmVjdGlv
blBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlci5oIgog
I2ltcG9ydCAiTG9nSW5pdGlhbGl6YXRpb24uaCIKQEAgLTEyNzMsMTggKzEyNzQsNyBAQCB2b2lk
IFdlYlByb2Nlc3M6OnN5c3RlbURpZFdha2UoKQogCiB2b2lkIFdlYlByb2Nlc3M6OmNvbnN1bWVB
dWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRh
KQogewotICAgIHVzaW5nIG5hbWVzcGFjZSBQQUw7Ci0KLSAgICBpZiAoIVBBTDo6aXNBdWRpb1Rv
b2xib3hDb3JlRnJhbWV3b3JrQXZhaWxhYmxlKCkgfHwgIVBBTDo6Y2FuTG9hZF9BdWRpb1Rvb2xi
b3hDb3JlX0F1ZGlvQ29tcG9uZW50QXBwbHlTZXJ2ZXJSZWdpc3RyYXRpb25zKCkpCi0gICAgICAg
IHJldHVybjsKLQotICAgIGF1dG8gcmVnaXN0cmF0aW9ucyA9IGFkb3B0Q0YoQ0ZEYXRhQ3JlYXRl
KGtDRkFsbG9jYXRvckRlZmF1bHQsIGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSkpOwotICAgIGlm
ICghcmVnaXN0cmF0aW9ucykKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0byBlcnIgPSBBdWRp
b0NvbXBvbmVudEFwcGx5U2VydmVyUmVnaXN0cmF0aW9ucyhyZWdpc3RyYXRpb25zLmdldCgpKTsK
LSAgICBpZiAobm9FcnIgIT0gZXJyKQotICAgICAgICBXRUJQUk9DRVNTX1JFTEVBU0VfTE9HX0VS
Uk9SKFByb2Nlc3MsICJDb3VsZCBub3QgYXBwbHkgQXVkaW9Db21wb25lbnQgcmVnaXN0cmF0aW9u
cywgZXJyKCVsZCkiLCBzdGF0aWNfY2FzdDxsb25nPihlcnIpKTsKKyAgICBXZWJLaXQ6OmNvbnN1
bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoZGF0YSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441391</attachid>
            <date>2021-10-15 09:58:21 -0700</date>
            <delta_ts>2021-10-19 13:11:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231694-20211015095821.patch</filename>
            <type>text/plain</type>
            <size>21410</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODQyNTEpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDIxLTEwLTE1ICBQZXIgQXJuZSAg
PHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU11bR1BVUF0gUmVtb3ZlIGFjY2Vz
cyBpbiBzYW5kYm94IHRvIGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxNjk0Cisg
ICAgICAgIDxyZGFyOi8vNzUyMjU5MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWZ0ZXIgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0
LzI3NDQzNS93ZWJraXQsIHRoZXJlIGlzIG5vIG5lZWQgdG8gYWxsb3cgYWNjZXNzIHRvIHRoaXMg
c2VydmljZS4gVGhpcyBwYXRjaCBhbHNvIGltcGxlbWVudHMgc2VuZGluZworICAgICAgICB0aGUg
QXVkaW8gY29tcG9uZW50IHJlZ2lzdHJhdGlvbnMgdG8gdGhlIEdQVSBwcm9jZXNzLCB3aGljaCBp
cyBhIHJlcXVpcmVtZW50IGJlZm9yZSBibG9ja2luZyB0aGUgc2VydmljZSBpbiB0aGUgR1BVIHBy
b2Nlc3MuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MuaDoKKyAgICAgICAgKiBH
UFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vzcy9j
b2NvYS9HUFVQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3M6OmNv
bnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorICAgICAgICAqIEdQVVByb2Nlc3Mv
bWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYi5pbjoKKyAgICAgICAgKiBTaGFyZWQv
Q29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YktpdDo6Y29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisgICAgICAgICogU2hh
cmVkL0NvY29hL0F1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmg6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3NQcm94eTo6c2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyk6IERlbGV0ZWQu
CisgICAgICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAo
V2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6OmRpZEZpbmlzaExhdW5jaGluZyk6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c1Bvb2w6OmluaXRpYWxpemVOZXdXZWJQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6cmV2b2tl
QXVkaW9DYXB0dXJlRXh0ZW5zaW9uKToKKyAgICAgICAgKiBXZWJBdXRoblByb2Nlc3MvbWFjL2Nv
bS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluOgorICAgICAgICAqIFdlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2Vi
UHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpjb25zdW1lQXVk
aW9Db21wb25lbnRSZWdpc3RyYXRpb25zKToKKwogMjAyMS0xMC0xNSAgS2F0ZSBDaGVuZXkgIDxr
YXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIG1hY2NhdGFs
eXN0IGJ1aWxkIGZpeC4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaAko
cmV2aXNpb24gMjg0MjUxKQorKysgU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3Mu
aAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VT
UykKIAogI2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3MuaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJl
bmNlLmgiCiAjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgogI2luY2x1ZGUgIldlYlBhZ2VQ
cm94eUlkZW50aWZpZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ0VudW1UcmFpdHMu
aD4KQEAgLTEwMCw2ICsxMDEsMTAgQEAgcHVibGljOgogCiAgICAgY29uc3QgU3RyaW5nJiBhcHBs
aWNhdGlvblZpc2libGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9hcHBsaWNhdGlvblZpc2libGVO
YW1lOyB9CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIGNvbnN1bWVBdWRpb0NvbXBv
bmVudFJlZ2lzdHJhdGlvbnMoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJik7CisjZW5kaWYKKwog
cHJpdmF0ZToKICAgICB2b2lkIGxvd01lbW9yeUhhbmRsZXIoQ3JpdGljYWwsIFN5bmNocm9ub3Vz
KTsKIApJbmRleDogU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMu
aW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVz
c2FnZXMuaW4JKHJldmlzaW9uIDI4NDI1MSkKKysrIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC02OCw2ICs2OCwxMCBAQCBt
ZXNzYWdlcyAtPiBHUFVQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICNpZiBFTkFCTEUoQ0ZQUkVG
U19ESVJFQ1RfTU9ERSkKICAgICBOb3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoU3RyaW5nIGRvbWFp
biwgU3RyaW5nIGtleSwgc3RkOjpvcHRpb25hbDxTdHJpbmc+IGVuY29kZWRWYWx1ZSkKICNlbmRp
ZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgQ29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0
cmF0aW9ucyhJUEM6OlNoYXJlZEJ1ZmZlckRhdGFSZWZlcmVuY2UgcmVnaXN0cmF0aW9uRGF0YSkK
KyNlbmRpZgogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQpJbmRleDogU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvY29jb2EvR1BVUHJvY2Vzc0NvY29hLm1tCShyZXZp
c2lvbiAyODQyNTEpCisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvY29jb2EvR1BVUHJvY2Vz
c0NvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAKICNpZiBFTkFCTEUo
R1BVX1BST0NFU1MpICYmIFBMQVRGT1JNKENPQ09BKQogCisjaW1wb3J0ICJBdWRpb0NvbXBvbmVu
dFJlZ2lzdHJhdGlvbi5oIgogI2ltcG9ydCAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgog
I2ltcG9ydCAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oIgogI2ltcG9ydCA8d3RmL1JldGFpblB0
ci5oPgpAQCAtNzUsNiArNzYsMTEgQEAgdm9pZCBHUFVQcm9jZXNzOjpkaXNwYXRjaFNpbXVsYXRl
ZE5vdGlmaQogCiAjZW5kaWYgLy8gRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCiAKK3ZvaWQg
R1BVUHJvY2Vzczo6Y29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhjb25zdCBJUEM6
OkRhdGFSZWZlcmVuY2UmIGRhdGEpCit7CisgICAgV2ViS2l0Ojpjb25zdW1lQXVkaW9Db21wb25l
bnRSZWdpc3RyYXRpb25zKGRhdGEpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2Vu
ZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgUExBVEZPUk0oQ09DT0EpCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYi5p
bgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5X
ZWJLaXQuR1BVUHJvY2Vzcy5zYi5pbgkocmV2aXNpb24gMjg0MjUxKQorKysgU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4JKHdvcmtp
bmcgY29weSkKQEAgLTcxOCw4ICs3MTgsMTAgQEAKIChhbGxvdyBpcGMtcG9zaXgtc2htLXJlYWQq
IGlwYy1wb3NpeC1zaG0td3JpdGUtZGF0YSAod2l0aCB0ZWxlbWV0cnkpCiAgICAgKGlwYy1wb3Np
eC1uYW1lLXByZWZpeCAiQXVkaW9JTyIpKQogCisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA8IDEyMDAwMAogKGFsbG93IG1hY2gtbG9va3VwCiAgICAgKGdsb2JhbC1uYW1lICJj
b20uYXBwbGUuYXVkaW8uQXVkaW9Db21wb25lbnRSZWdpc3RyYXIiKSkKKyNlbmRpZgogCiAjaWYg
IUVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogKGFsbG93IG1hY2gtbG9va3VwICh3aXRoIHRl
bGVtZXRyeSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0F1ZGlvQ29tcG9uZW50
UmVnaXN0cmF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2Nv
YS9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNl
L1dlYktpdC9TaGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCIKKworI2luY2x1ZGUg
IkxvZ2dpbmcuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgY29uc3VtZUF1ZGlvQ29t
cG9uZW50UmVnaXN0cmF0aW9ucyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEpCit7Cisg
ICAgaWYgKCFQQUw6OmlzQXVkaW9Ub29sYm94Q29yZUZyYW1ld29ya0F2YWlsYWJsZSgpIHx8ICFQ
QUw6OmNhbkxvYWRfQXVkaW9Ub29sYm94Q29yZV9BdWRpb0NvbXBvbmVudEFwcGx5U2VydmVyUmVn
aXN0cmF0aW9ucygpKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIHJlZ2lzdHJhdGlvbnMg
PSBhZG9wdENGKENGRGF0YUNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBkYXRhLmRhdGEoKSwg
ZGF0YS5zaXplKCkpKTsKKyAgICBpZiAoIXJlZ2lzdHJhdGlvbnMpCisgICAgICAgIHJldHVybjsK
KworICAgIGF1dG8gZXJyID0gUEFMOjpBdWRpb0NvbXBvbmVudEFwcGx5U2VydmVyUmVnaXN0cmF0
aW9ucyhyZWdpc3RyYXRpb25zLmdldCgpKTsKKyAgICBpZiAobm9FcnIgPT0gZXJyKQorICAgICAg
ICByZXR1cm47CisgICAgCisgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIkNvdWxkIG5v
dCBhcHBseSBBdWRpb0NvbXBvbmVudCByZWdpc3RyYXRpb25zLCBlcnIoJWxkKSIsIHN0YXRpY19j
YXN0PGxvbmc+KGVycikpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwpJbmRleDogU291
cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9BdWRpb0NvbXBvbmVudFJlZ2lz
dHJhdGlvbi5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0F1
ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2MCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW1wb3J0ICJBdXhpbGlhcnlQcm9jZXNz
UHJveHkuaCIKKyNpbXBvcnQgIkRhdGFSZWZlcmVuY2UuaCIKKyNpbXBvcnQgPFdlYkNvcmUvV2Vi
TUF1ZGlvVXRpbGl0aWVzQ29jb2EuaD4KKyNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5oPgorI2ltcG9y
dCA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewor
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIHNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlv
bnMoQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5JiBwcm9jZXNzKQoreworICAgIGlmICghUEFMOjppc0F1
ZGlvVG9vbGJveENvcmVGcmFtZXdvcmtBdmFpbGFibGUoKSB8fCAhUEFMOjpjYW5Mb2FkX0F1ZGlv
VG9vbGJveENvcmVfQXVkaW9Db21wb25lbnRGZXRjaFNlcnZlclJlZ2lzdHJhdGlvbnMoKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X2dsb2JhbF9x
dWV1ZShESVNQQVRDSF9RVUVVRV9QUklPUklUWV9ERUZBVUxULCAwKSwgbWFrZUJsb2NrUHRyKFt3
ZWFrVGhpcyA9IFdlYWtQdHIgeyBwcm9jZXNzIH1dICgpIG11dGFibGUgeworICAgICAgICBDRkRh
dGFSZWYgcmVnaXN0cmF0aW9ucyB7IG51bGxwdHIgfTsKKworICAgICAgICBXZWJDb3JlOjpyZWdp
c3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKKyAgICAgICAgV2ViQ29yZTo6cmVnaXN0ZXJWb3Ji
aXNEZWNvZGVySWZOZWVkZWQoKTsKKyAgICAgICAgaWYgKG5vRXJyICE9IFBBTDo6QXVkaW9Db21w
b25lbnRGZXRjaFNlcnZlclJlZ2lzdHJhdGlvbnMoJnJlZ2lzdHJhdGlvbnMpIHx8ICFyZWdpc3Ry
YXRpb25zKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5k
aXNwYXRjaChbd2Vha1RoaXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwgcmVnaXN0cmF0aW9ucyA9IGFk
b3B0Q0YocmVnaXN0cmF0aW9ucyldICgpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKCF3ZWFr
VGhpcykKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBhdXRvIHJlZ2lzdHJh
dGlvbkRhdGEgPSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0ZShyZWdpc3RyYXRpb25zLmdl
dCgpKTsKKyAgICAgICAgICAgIHdlYWtUaGlzLT5zZW5kKFQoeyByZWdpc3RyYXRpb25EYXRhIH0p
LCAwKTsKKyAgICAgICAgfSk7CisgICAgfSkuZ2V0KCkpOworfQorCit2b2lkIGNvbnN1bWVBdWRp
b0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJik7CisKK30g
Ly8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcAkocmV2aXNpb24gMjg0MjUxKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzEsNiArMTMxLDcgQEAK
ICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCisjaW5jbHVkZSAiQXVkaW9Db21wb25lbnRS
ZWdpc3RyYXRpb24uaCIKICNpbmNsdWRlICJEZWZhdWx0V2ViQnJvd3NlckNoZWNrcy5oIgogI2lu
Y2x1ZGUgPFdlYkNvcmUvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0hJREdhbWVwYWRQcm92aWRlci5oPgpAQCAtODYyLDcgKzg2Myw3IEBAIHZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OmluaXRpYWxpemVOZXdXZWJQcm8KICNlbmRpZgogCiAjaWYgUExBVEZP
Uk0oQ09DT0EpCi0gICAgcHJvY2Vzcy5zZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKCk7
CisgICAgc2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uczxNZXNzYWdlczo6V2ViUHJvY2Vz
czo6Q29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucz4ocHJvY2Vzcyk7CiAjZW5kaWYK
IAogI2lmIFBMQVRGT1JNKE1BQykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5oCShyZXZpc2lvbiAyODQyNTEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMzM5LDggKzMzOSw2IEBAIHB1
YmxpYzoKICAgICBib29sIGhhc0F1ZGlvQ2FwdHVyZUV4dGVuc2lvbigpIGNvbnN0IHsgcmV0dXJu
IG1fbWVkaWFDYXB0dXJlU2FuZGJveEV4dGVuc2lvbnMgJiBBdWRpbzsgfQogICAgIHZvaWQgZ3Jh
bnRBdWRpb0NhcHR1cmVFeHRlbnNpb24oKSB7IG1fbWVkaWFDYXB0dXJlU2FuZGJveEV4dGVuc2lv
bnMgfD0gQXVkaW87IH0KICAgICB2b2lkIHJldm9rZUF1ZGlvQ2FwdHVyZUV4dGVuc2lvbigpIHsg
bV9tZWRpYUNhcHR1cmVTYW5kYm94RXh0ZW5zaW9ucyAmPSB+QXVkaW87IH0KLQotICAgIHZvaWQg
c2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucygpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUo
UkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oQ09DT0EpCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQkocmV2
aXNpb24gMjg0MjUxKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vz
c1Byb3h5Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDYgQEAKICNpbXBvcnQg
IldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViUHJvY2Vzc1Bvb2wuaCIKICNpbXBv
cnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+Ci0jaW1wb3J0IDxXZWJDb3Jl
L1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmg+CiAjaW1wb3J0IDxzeXMvc3lzY3RsLmg+CiAjaW1w
b3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9TY29wZS5oPgpAQCAtNjQs
OCArNjMsNiBAQAogI2luY2x1ZGUgIlRDQ1NvZnRMaW5rLmgiCiAjZW5kaWYKIAotI2ltcG9ydCA8
cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiBz
dGF0aWMgY29uc3QgU2Vjb25kcyB1bmV4cGVjdGVkQWN0aXZpdHlEdXJhdGlvbiA9IDEwX3M7CkBA
IC0yODksMzEgKzI4Niw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojppc0FYQXV0aGVudGljYXRl
ZCgKIH0KICNlbmRpZgogCi12b2lkIFdlYlByb2Nlc3NQcm94eTo6c2VuZEF1ZGlvQ29tcG9uZW50
UmVnaXN0cmF0aW9ucygpCi17Ci0gICAgdXNpbmcgbmFtZXNwYWNlIFBBTDsKLQotICAgIGlmICgh
UEFMOjppc0F1ZGlvVG9vbGJveENvcmVGcmFtZXdvcmtBdmFpbGFibGUoKSB8fCAhUEFMOjpjYW5M
b2FkX0F1ZGlvVG9vbGJveENvcmVfQXVkaW9Db21wb25lbnRGZXRjaFNlcnZlclJlZ2lzdHJhdGlv
bnMoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0
X2dsb2JhbF9xdWV1ZShESVNQQVRDSF9RVUVVRV9QUklPUklUWV9ERUZBVUxULCAwKSwgW3dlYWtU
aGlzID0gV2Vha1B0ciB7ICp0aGlzIH1dICgpIG11dGFibGUgewotICAgICAgICBDRkRhdGFSZWYg
cmVnaXN0cmF0aW9ucyB7IG51bGxwdHIgfTsKLQotICAgICAgICBXZWJDb3JlOjpyZWdpc3Rlck9w
dXNEZWNvZGVySWZOZWVkZWQoKTsKLSAgICAgICAgV2ViQ29yZTo6cmVnaXN0ZXJWb3JiaXNEZWNv
ZGVySWZOZWVkZWQoKTsKLSAgICAgICAgaWYgKG5vRXJyICE9IEF1ZGlvQ29tcG9uZW50RmV0Y2hT
ZXJ2ZXJSZWdpc3RyYXRpb25zKCZyZWdpc3RyYXRpb25zKSB8fCAhcmVnaXN0cmF0aW9ucykKLSAg
ICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW3dl
YWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIHJlZ2lzdHJhdGlvbnMgPSBhZG9wdENGKHJlZ2lz
dHJhdGlvbnMpXSAoKSBtdXRhYmxlIHsKLSAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBhdXRvIHJlZ2lzdHJhdGlvbkRhdGEg
PSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0ZShyZWdpc3RyYXRpb25zLmdldCgpKTsKLSAg
ICAgICAgICAgIHdlYWtUaGlzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpDb25zdW1lQXVk
aW9Db21wb25lbnRSZWdpc3RyYXRpb25zKHsgcmVnaXN0cmF0aW9uRGF0YSB9KSwgMCk7Ci0gICAg
ICAgIH0pOwotICAgIH0pOwotfQotCiBib29sIFdlYlByb2Nlc3NQcm94eTo6bWVzc2FnZVNvdXJj
ZUlzVmFsaWRXZWJDb250ZW50UHJvY2VzcygpCiB7CiAgICAgaWYgKCFoYXNDb25uZWN0aW9uKCkp
IHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJv
eHkuY3BwCShyZXZpc2lvbiAyODQyNTEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUv
R1BVUHJvY2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsMTAgQEAKICNp
bmNsdWRlIDx3dGYvRmlsZVN5c3RlbS5oPgogI2VuZGlmCiAKKyNpZiBQTEFURk9STShDT0NPQSkK
KyNpbmNsdWRlICJBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oIgorI2VuZGlmCisKICNkZWZp
bmUgTUVTU0FHRV9DSEVDSyhhc3NlcnRpb24pIE1FU1NBR0VfQ0hFQ0tfQkFTRShhc3NlcnRpb24s
IHRoaXMtPmNvbm5lY3Rpb24oKSkKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00MzksNiArNDQz
LDcgQEAgdm9pZCBHUFVQcm9jZXNzUHJveHk6OmRpZEZpbmlzaExhdW5jaGluZwogICAgICAgICBh
dXRvIHdlYlNpdGVEYXRhU3RvcmUgPSBXZWJzaXRlRGF0YVN0b3JlOjpleGlzdGluZ0RhdGFTdG9y
ZUZvclNlc3Npb25JRCgqbV9zZXNzaW9uSURzLmJlZ2luKCkpOwogICAgICAgICB3ZWJTaXRlRGF0
YVN0b3JlLT5zZW5kTmV0d29ya1Byb2Nlc3NYUENFbmRwb2ludFRvUHJvY2VzcygqdGhpcyk7CiAg
ICAgfQorICAgIHNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnM8TWVzc2FnZXM6OkdQVVBy
b2Nlc3M6OkNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnM+KCp0aGlzKTsKICNlbmRp
ZgogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMvY29tLmFwcGxl
LldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNi
LmluCShyZXZpc2lvbiAyODQyNTEpCisrKyBTb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9t
YWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW4JKHdvcmtpbmcgY29weSkK
QEAgLTMyOSw3ICszMjksNiBAQAogI2lmIFBMQVRGT1JNKE1BQykKICAgICAod2l0aCByZXBvcnQp
ICh3aXRoIHRlbGVtZXRyeSkKICNlbmRpZgotICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmF1
ZGlvLkF1ZGlvQ29tcG9uZW50UmVnaXN0cmFyIikKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBs
ZS5hd2RkIikKICNpZiAhRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCiAgICAgKGdsb2JhbC1u
YW1lICJjb20uYXBwbGUuY2ZwcmVmc2QuYWdlbnQiKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyODQyNTEpCisrKyBT
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC0yMDQzLDYgKzIwNDMsNyBAQAogCQlFMzk2MjhERDIzOTYwQ0M2MDA2NThFQ0QgLyog
V2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM5NjI4REIyMzk2MENDNTAwNjU4RUNEIC8qIFdl
YkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuaCAqLzsgfTsKIAkJRTM5NjI4REUyMzk2
MENDNjAwNjU4RUNEIC8qIFdlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM5NjI4REMyMzk2
MENDNjAwNjU4RUNEIC8qIFdlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuY3BwICov
OyB9OwogCQlFM0NBQUE0NDI0MTMyNzk5MDBDRUQyRTIgLyogQWNjZXNzaWJpbGl0eVN1cHBvcnRT
UEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQ0FB
QTQzMjQxMzI3OEEwMENFRDJFMiAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNQSS5oICovOyB9Owor
CQlFM0VFRUNCNTI3MThBNzIwMDAyMDYzOUYgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24u
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNFRUVD
QjQyNzE4QTcyMDAwMjA2MzlGIC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmNwcCAqLzsg
fTsKIAkJRTQxM0Y1OUQxQUMxQURDNDAwMzQ1MzYwIC8qIE5ldHdvcmtDYWNoZUVudHJ5LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDEzRjU5QjFBQzFB
REI2MDAzNDUzNjAgLyogTmV0d29ya0NhY2hlRW50cnkuaCAqLzsgfTsKIAkJRTQyRTA2MTAxQUE3
NTIzQjAwQjExNjk5IC8qIE5ldHdvcmtDYWNoZUlPQ2hhbm5lbC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQyRTA2MEIxQUE3NDQwRDAwQjExNjk5IC8q
IE5ldHdvcmtDYWNoZUlPQ2hhbm5lbC5oICovOyB9OwogCQlFNDJFMDYxMjFBQTc1QUJEMDBCMTE2
OTkgLyogTmV0d29ya0NhY2hlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTQyRTA2MTExQUE3NUFCRDAwQjExNjk5IC8qIE5ldHdvcmtDYWNoZURh
dGEuaCAqLzsgfTsKQEAgLTYxMTYsNiArNjExNyw4IEBACiAJCUUzQkNFODc3MjY3MjUyMTIwMDEx
RDhEQiAvKiBBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
QWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTNCQ0U4NzgyNjcyNTIxMjAwMTFEOERCIC8qIEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTNDQUFBNDMyNDEzMjc4QTAwQ0VEMkUyIC8qIEFjY2Vzc2liaWxp
dHlTdXBwb3J0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2li
aWxpdHlTdXBwb3J0U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzRUVFQ0Iz
MjcxODc3ODgwMDIwNjM5RiAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlFM0VFRUNCNDI3MThBNzIwMDAyMDYzOUYgLyogQXVkaW9Db21wb25lbnRSZWdp
c3RyYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXVkaW9Db21wb25lbnRSZWdpc3RyYXRp
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0VGQjAyQzI1NTA2MTdDMDAz
QzJGOTYgLyogV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
ZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RTNFRkIwMkQyNTUwNjE3QzAwM0MyRjk2IC8qIFdlYlN5c3RlbVNvdW5kRGVsZWdhdGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFNDA0OTA3MDIxREU2NUY3MDAzN0YwREIgLyogU2Nyb2xsZXJQYWlyTWFjLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9sbGVyUGFpck1hYy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtODU4MSw2ICs4NTg0LDggQEAKIAkJCQkzNzhFMUEz
QjE4MUVENkZGMDAzMTAwN0EgLyogQVBJT2JqZWN0Lm1tICovLAogCQkJCUExNzVDNDQ5MjFBQTMx
NzAwMDAwMzdEMCAvKiBBcmd1bWVudENvZGVyc0NvY29hLmggKi8sCiAJCQkJQTE3NUM0NEIyMUFB
MzMxQjAwMDAzN0QwIC8qIEFyZ3VtZW50Q29kZXJzQ29jb2EubW0gKi8sCisJCQkJRTNFRUVDQjQy
NzE4QTcyMDAwMjA2MzlGIC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmNwcCAqLywKKwkJ
CQlFM0VFRUNCMzI3MTg3Nzg4MDAyMDYzOUYgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24u
aCAqLywKIAkJCQkxQTY5OEYxNzFFNDkxMDIyMDA2NEU4ODEgLyogQXV4aWxpYXJ5UHJvY2Vzc0Nv
Y29hLm1tICovLAogCQkJCUNFMTFBRDUxMUNCQzQ4MkYwMDY4MUVFNSAvKiBDb2RlU2lnbmluZy5o
ICovLAogCQkJCUNFMTFBRDRGMUNCQzQ3RjgwMDY4MUVFNSAvKiBDb2RlU2lnbmluZy5tbSAqLywK
QEAgLTEyMzE0LDcgKzEyMzE5LDYgQEAKIAkJCQk3Qzg5RDI5NDFBNjcxMjJGMDAzQTVGREUgLyog
QVBJVXNlclNjcmlwdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ4Nzg2MjQxQkRCNThGRjAwRDAy
QUJCIC8qIEFQSVVzZXJTdHlsZVNoZWV0LmggaW4gSGVhZGVycyAqLywKIAkJCQlDNUUxQUZFRDE2
QjIxMDE3MDA2Q0MxRjIgLyogQVBJV2ViQXJjaGl2ZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTEy
NzE0ODMyNzAyNEYwMzAwMTk3MDM0IC8qIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyQ29jb2EuaCBp
biBIZWFkZXJzICovLAogCQkJCUM1RTFBRkVGMTZCMjEwMjkwMDZDQzFGMiAvKiBBUElXZWJBcmNo
aXZlUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3OUYxQkZDMjNDODExQ0YwMEM3RDRC
NCAvKiBBUElXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1N0VCRTI2QTIzNDY3NkM1MDA4RDhBRjkgLyogQVBJV2ViQXV0aGVudGljYXRpb25Q
YW5lbC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMzAxNiw2ICsxMzAyMCw3IEBACiAJCQkJMzFCQTky
NEUxNDg4MzEyNjAwNjJFREI1IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMzFBMkVDNEIxNDg5OTdDMjAwODEwRDcxIC8qIFdlYk5vdGlmaWNh
dGlvbk1hbmFnZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFBMkVDNEUxNDg5OTdDMjAw
ODEwRDcxIC8qIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk1
MTI3MTQ4MzI3MDI0RjAzMDAxOTcwMzQgLyogV2ViTm90aWZpY2F0aW9uUHJvdmlkZXJDb2NvYS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkM4NTdGODUxMkI4MkQwQjAwRURFQjJFIC8qIFdlYk9wZW5Q
YW5lbFJlc3VsdExpc3RlbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzFERkVBNDEyQjMxRjg3
MDA1REY3MzAgLyogV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkMwMzJEOEYxMEY0MzdBMDAwNThDMTVBIC8qIFdlYlBhZ2UuaCBpbiBIZWFkZXJz
ICovLApAQCAtMTQ3MDUsNiArMTQ3MTAsNyBAQAogCQkJCTJEOTJBNzdCMjEyQjZBNzEwMEY0OTNG
RCAvKiBBcmd1bWVudENvZGVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyREVCMUQyRTIxMjc0
NzM2MDA5MzM5MDYgLyogQXJndW1lbnRDb2RlcnNDRi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQky
RDkyQTc3QzIxMkI2QTcxMDBGNDkzRkQgLyogQXR0YWNobWVudC5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQlFM0VFRUNCNTI3MThBNzIwMDAyMDYzOUYgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRp
b24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0Q0NTcwRDQyNDQxMUQwRjAwQTNEQ0VCIC8qIEF1
ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNENDU3
MEQzMjQ0MTEzQjUwMEEzRENFQiAvKiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMkY1OEEyMTJBODgzQUQw
MDYyOTUzMCAvKiBBdXRoZW50aWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vz
c0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI4NDI1MSkKKysrIFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTI3LDYg
KzI3LDcgQEAKICNpbXBvcnQgIldlYlByb2Nlc3MuaCIKIAogI2ltcG9ydCAiQWNjZXNzaWJpbGl0
eVN1cHBvcnRTUEkuaCIKKyNpbXBvcnQgIkF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgiCiAj
aW1wb3J0ICJHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIkxlZ2Fj
eUN1c3RvbVByb3RvY29sTWFuYWdlci5oIgogI2ltcG9ydCAiTG9nSW5pdGlhbGl6YXRpb24uaCIK
QEAgLTEyNzUsMTggKzEyNzYsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OnN5c3RlbURpZFdha2UoKQog
CiB2b2lkIFdlYlByb2Nlc3M6OmNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoY29u
c3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhKQogewotICAgIHVzaW5nIG5hbWVzcGFjZSBQQUw7
Ci0KLSAgICBpZiAoIVBBTDo6aXNBdWRpb1Rvb2xib3hDb3JlRnJhbWV3b3JrQXZhaWxhYmxlKCkg
fHwgIVBBTDo6Y2FuTG9hZF9BdWRpb1Rvb2xib3hDb3JlX0F1ZGlvQ29tcG9uZW50QXBwbHlTZXJ2
ZXJSZWdpc3RyYXRpb25zKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGF1dG8gcmVnaXN0cmF0
aW9ucyA9IGFkb3B0Q0YoQ0ZEYXRhQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGRhdGEuZGF0
YSgpLCBkYXRhLnNpemUoKSkpOwotICAgIGlmICghcmVnaXN0cmF0aW9ucykKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgYXV0byBlcnIgPSBBdWRpb0NvbXBvbmVudEFwcGx5U2VydmVyUmVnaXN0cmF0
aW9ucyhyZWdpc3RyYXRpb25zLmdldCgpKTsKLSAgICBpZiAobm9FcnIgIT0gZXJyKQotICAgICAg
ICBXRUJQUk9DRVNTX1JFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3MsICJDb3VsZCBub3QgYXBwbHkg
QXVkaW9Db21wb25lbnQgcmVnaXN0cmF0aW9ucywgZXJyKCVsZCkiLCBzdGF0aWNfY2FzdDxsb25n
PihlcnIpKTsKKyAgICBXZWJLaXQ6OmNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMo
ZGF0YSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441779</attachid>
            <date>2021-10-19 13:10:26 -0700</date>
            <delta_ts>2021-10-19 14:13:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231694-20211019131025.patch</filename>
            <type>text/plain</type>
            <size>13789</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODQ0ODApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDIxLTEwLTE5ICBQZXIgQXJuZSAg
PHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU11bR1BVUF0gUmVtb3ZlIGFjY2Vz
cyBpbiBzYW5kYm94IHRvIGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxNjk0Cisg
ICAgICAgIDxyZGFyOi8vNzUyMjU5MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVs
Z2hhbS4KKworICAgICAgICBBZnRlciBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQv
Mjc0NDM1L3dlYmtpdCwgdGhlcmUgaXMgbm8gbmVlZCB0byBhbGxvdyBhY2Nlc3MgdG8gdGhpcyBz
ZXJ2aWNlLiBUaGlzIHBhdGNoIGFsc28gaW1wbGVtZW50cyBzZW5kaW5nCisgICAgICAgIHRoZSBB
dWRpbyBjb21wb25lbnQgcmVnaXN0cmF0aW9ucyB0byB0aGUgR1BVIHByb2Nlc3MsIHdoaWNoIGlz
IGEgcmVxdWlyZW1lbnQgYmVmb3JlIGJsb2NraW5nIHRoZSBzZXJ2aWNlIGluIHRoZSBHUFUgcHJv
Y2Vzcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAgICAgICAqIEdQ
VVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2Nv
Y29hL0dQVVByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzczo6Y29u
c3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisgICAgICAgICogR1BVUHJvY2Vzcy9t
YWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluOgorICAgICAgICAqIFNoYXJlZC9D
b2NvYS9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2Vi
S2l0Ojpjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKToKKyAgICAgICAgKiBTaGFy
ZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaDogQWRkZWQuCisgICAgICAgIChX
ZWJLaXQ6OnNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Byb3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKTogRGVsZXRlZC4K
KyAgICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1bmNoaW5nKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
UG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpyZXZva2VB
dWRpb0NhcHR1cmVFeHRlbnNpb24pOgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9tYWMvY29t
LmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW46CisgICAgICAgICogV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
cm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmNvbnN1bWVBdWRp
b0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorCiAyMDIxLTEwLTE5ICBXZW5zb24gSHNpZWggIDx3
ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyODQwNzkpOiBm
YXN0L2NhbnZhcy9ncmFkaWVudC13aXRoLWNsaXAuaHRtbCBhbmQgZmFzdC9jYW52YXMvZ3JhZGll
bnQtdGV4dC13aXRoLXNoYWRvdy5odG1sIGFyZSBmbGFreSBmYWlsdXJlcwpJbmRleDogU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCShyZXZpc2lvbiAyODQ0ODApCisrKyBTb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsy
OCw3IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCiAjaW5jbHVkZSAiQXV4aWxpYXJ5UHJv
Y2Vzcy5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0
ZW5zaW9uLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5SWRlbnRpZmllci5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvTGliV2ViUlRDRW51bVRyYWl0cy5oPgpAQCAtMTAwLDYgKzEwMSwxMCBAQCBwdWJs
aWM6CiAKICAgICBjb25zdCBTdHJpbmcmIGFwcGxpY2F0aW9uVmlzaWJsZU5hbWUoKSBjb25zdCB7
IHJldHVybiBtX2FwcGxpY2F0aW9uVmlzaWJsZU5hbWU7IH0KIAorI2lmIFBMQVRGT1JNKENPQ09B
KQorICAgIHZvaWQgY29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhjb25zdCBJUEM6
OkRhdGFSZWZlcmVuY2UmKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIHZvaWQgbG93TWVtb3J5
SGFuZGxlcihDcml0aWNhbCwgU3luY2hyb25vdXMpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgkocmV2aXNpb24gMjg0NDgwKQor
KysgU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4JKHdvcmtp
bmcgY29weSkKQEAgLTY4LDYgKzY4LDEwIEBAIG1lc3NhZ2VzIC0+IEdQVVByb2Nlc3MgTGVnYWN5
UmVjZWl2ZXIgewogI2lmIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogICAgIE5vdGlmeVBy
ZWZlcmVuY2VzQ2hhbmdlZChTdHJpbmcgZG9tYWluLCBTdHJpbmcga2V5LCBzdGQ6Om9wdGlvbmFs
PFN0cmluZz4gZW5jb2RlZFZhbHVlKQogI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyAg
ICBDb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKElQQzo6U2hhcmVkQnVmZmVyRGF0
YVJlZmVyZW5jZSByZWdpc3RyYXRpb25EYXRhKQorI2VuZGlmCiB9CiAKICNlbmRpZiAvLyBFTkFC
TEUoR1BVX1BST0NFU1MpCkluZGV4OiBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvY29jb2EvR1BV
UHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9j
b2NvYS9HUFVQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI4NDQ4MCkKKysrIFNvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9jb2NvYS9HUFVQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAg
LTMwLDYgKzMwLDcgQEAKIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgUExBVEZPUk0oQ09D
T0EpCiAKKyNpbXBvcnQgIkF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgiCiAjaW1wb3J0ICJH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCiAjaW1wb3J0ICJSZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kLmgiCiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CkBAIC03NSw2ICs3NiwxMSBAQCB2b2lk
IEdQVVByb2Nlc3M6OmRpc3BhdGNoU2ltdWxhdGVkTm90aWZpCiAKICNlbmRpZiAvLyBFTkFCTEUo
Q0ZQUkVGU19ESVJFQ1RfTU9ERSkKIAordm9pZCBHUFVQcm9jZXNzOjpjb25zdW1lQXVkaW9Db21w
b25lbnRSZWdpc3RyYXRpb25zKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSkKK3sKKyAg
ICBXZWJLaXQ6OmNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoZGF0YSk7Cit9CisK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAm
JiBQTEFURk9STShDT0NPQSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMvY29t
LmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluCShyZXZp
c2lvbiAyODQ0ODApCisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5X
ZWJLaXQuR1BVUHJvY2Vzcy5zYi5pbgkod29ya2luZyBjb3B5KQpAQCAtNzE3LDggKzcxNywxMCBA
QAogKGFsbG93IGlwYy1wb3NpeC1zaG0tcmVhZCogaXBjLXBvc2l4LXNobS13cml0ZS1kYXRhICh3
aXRoIHRlbGVtZXRyeSkKICAgICAoaXBjLXBvc2l4LW5hbWUtcHJlZml4ICJBdWRpb0lPIikpCiAK
KyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTIwMDAwCiAoYWxsb3cgbWFj
aC1sb29rdXAKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVu
dFJlZ2lzdHJhciIpKQorI2VuZGlmCiAKICNpZiAhRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUp
CiAoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGggdGVsZW1ldHJ5KQpJbmRleDogU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkocmV2aXNpb24gMjg0NDgwKQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMzEsNiArMTMxLDcgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCisjaW5jbHVk
ZSAiQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCIKICNpbmNsdWRlICJEZWZhdWx0V2ViQnJv
d3NlckNoZWNrcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJv
dmlkZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hJREdhbWVwYWRQcm92aWRlci5oPgpAQCAtODYy
LDcgKzg2Myw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmluaXRpYWxpemVOZXdXZWJQcm8KICNl
bmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgcHJvY2Vzcy5zZW5kQXVkaW9Db21wb25l
bnRSZWdpc3RyYXRpb25zKCk7CisgICAgc2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uczxN
ZXNzYWdlczo6V2ViUHJvY2Vzczo6Q29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucz4o
cHJvY2Vzcyk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCShyZXZpc2lvbiAyODQ0ODApCisrKyBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAt
MzM5LDggKzMzOSw2IEBAIHB1YmxpYzoKICAgICBib29sIGhhc0F1ZGlvQ2FwdHVyZUV4dGVuc2lv
bigpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFDYXB0dXJlU2FuZGJveEV4dGVuc2lvbnMgJiBBdWRp
bzsgfQogICAgIHZvaWQgZ3JhbnRBdWRpb0NhcHR1cmVFeHRlbnNpb24oKSB7IG1fbWVkaWFDYXB0
dXJlU2FuZGJveEV4dGVuc2lvbnMgfD0gQXVkaW87IH0KICAgICB2b2lkIHJldm9rZUF1ZGlvQ2Fw
dHVyZUV4dGVuc2lvbigpIHsgbV9tZWRpYUNhcHR1cmVTYW5kYm94RXh0ZW5zaW9ucyAmPSB+QXVk
aW87IH0KLQotICAgIHZvaWQgc2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucygpOwogI2Vu
ZGlmCiAKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oQ09DT0EpCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNz
UHJveHlDb2NvYS5tbQkocmV2aXNpb24gMjg0NDgwKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTM5LDcg
KzM5LDYgQEAKICNpbXBvcnQgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViUHJv
Y2Vzc1Bvb2wuaCIKICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+
Ci0jaW1wb3J0IDxXZWJDb3JlL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmg+CiAjaW1wb3J0IDxz
eXMvc3lzY3RsLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0
Zi9TY29wZS5oPgpAQCAtNjQsOCArNjMsNiBAQAogI2luY2x1ZGUgIlRDQ1NvZnRMaW5rLmgiCiAj
ZW5kaWYKIAotI2ltcG9ydCA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+Ci0KIG5hbWVz
cGFjZSBXZWJLaXQgewogCiBzdGF0aWMgY29uc3QgU2Vjb25kcyB1bmV4cGVjdGVkQWN0aXZpdHlE
dXJhdGlvbiA9IDEwX3M7CkBAIC0yODksMzEgKzI4Niw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5
Ojppc0FYQXV0aGVudGljYXRlZCgKIH0KICNlbmRpZgogCi12b2lkIFdlYlByb2Nlc3NQcm94eTo6
c2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucygpCi17Ci0gICAgdXNpbmcgbmFtZXNwYWNl
IFBBTDsKLQotICAgIGlmICghUEFMOjppc0F1ZGlvVG9vbGJveENvcmVGcmFtZXdvcmtBdmFpbGFi
bGUoKSB8fCAhUEFMOjpjYW5Mb2FkX0F1ZGlvVG9vbGJveENvcmVfQXVkaW9Db21wb25lbnRGZXRj
aFNlcnZlclJlZ2lzdHJhdGlvbnMoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgZGlzcGF0Y2hf
YXN5bmMoZGlzcGF0Y2hfZ2V0X2dsb2JhbF9xdWV1ZShESVNQQVRDSF9RVUVVRV9QUklPUklUWV9E
RUZBVUxULCAwKSwgW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH1dICgpIG11dGFibGUgewot
ICAgICAgICBDRkRhdGFSZWYgcmVnaXN0cmF0aW9ucyB7IG51bGxwdHIgfTsKLQotICAgICAgICBX
ZWJDb3JlOjpyZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKLSAgICAgICAgV2ViQ29yZTo6
cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKTsKLSAgICAgICAgaWYgKG5vRXJyICE9IEF1
ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zKCZyZWdpc3RyYXRpb25zKSB8fCAh
cmVnaXN0cmF0aW9ucykKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBSdW5Mb29wOjpt
YWluKCkuZGlzcGF0Y2goW3dlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIHJlZ2lzdHJhdGlv
bnMgPSBhZG9wdENGKHJlZ2lzdHJhdGlvbnMpXSAoKSBtdXRhYmxlIHsKLSAgICAgICAgICAgIGlm
ICghd2Vha1RoaXMpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBhdXRv
IHJlZ2lzdHJhdGlvbkRhdGEgPSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0ZShyZWdpc3Ry
YXRpb25zLmdldCgpKTsKLSAgICAgICAgICAgIHdlYWtUaGlzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
cm9jZXNzOjpDb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKHsgcmVnaXN0cmF0aW9u
RGF0YSB9KSwgMCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfQotCiBib29sIFdlYlByb2Nlc3NQ
cm94eTo6bWVzc2FnZVNvdXJjZUlzVmFsaWRXZWJDb250ZW50UHJvY2VzcygpCiB7CiAgICAgaWYg
KCFoYXNDb25uZWN0aW9uKCkpIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9H
UFVQcm9jZXNzUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCShyZXZpc2lvbiAyODQ0ODApCisrKyBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NjIsNiArNjIsMTAgQEAKICNpbmNsdWRlIDx3dGYvRmlsZVN5c3RlbS5oPgogI2VuZGlmCiAKKyNp
ZiBQTEFURk9STShDT0NPQSkKKyNpbmNsdWRlICJBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5o
IgorI2VuZGlmCisKICNkZWZpbmUgTUVTU0FHRV9DSEVDSyhhc3NlcnRpb24pIE1FU1NBR0VfQ0hF
Q0tfQkFTRShhc3NlcnRpb24sIHRoaXMtPmNvbm5lY3Rpb24oKSkKIAogbmFtZXNwYWNlIFdlYktp
dCB7CkBAIC00ODEsNiArNDg1LDcgQEAgc3RhdGljIGlubGluZSBHUFVQcm9jZXNzU2Vzc2lvblBh
cmFtZXRlcgogICAgICAgICBpZiAoYXV0byBoYW5kbGUgPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVh
dGVIYW5kbGVXaXRob3V0UmVzb2x2aW5nUGF0aChwYXJhbWV0ZXJzLm1lZGlhS2V5c1N0b3JhZ2VE
aXJlY3RvcnksIFNhbmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRXcml0ZSkpCiAgICAgICAgICAg
ICBwYXJhbWV0ZXJzLm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFu
ZGxlID0gV1RGTW92ZSgqaGFuZGxlKTsKICAgICB9CisgICAgc2VuZEF1ZGlvQ29tcG9uZW50UmVn
aXN0cmF0aW9uczxNZXNzYWdlczo6R1BVUHJvY2Vzczo6Q29uc3VtZUF1ZGlvQ29tcG9uZW50UmVn
aXN0cmF0aW9ucz4oKnRoaXMpOwogI2VuZGlmCiAKICAgICByZXR1cm4gcGFyYW1ldGVyczsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0Lldl
YkF1dGhuUHJvY2Vzcy5zYi5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYkF1dGhu
UHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW4JKHJldmlz
aW9uIDI4NDQ4MCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20uYXBw
bGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYi5pbgkod29ya2luZyBjb3B5KQpAQCAtMzI3LDcg
KzMyNyw2IEBACiAjaWYgUExBVEZPUk0oTUFDKQogICAgICh3aXRoIHJlcG9ydCkgKHdpdGggdGVs
ZW1ldHJ5KQogI2VuZGlmCi0gICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuYXVkaW8uQXVkaW9D
b21wb25lbnRSZWdpc3RyYXIiKQogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmF3ZGQiKQog
I2lmICFFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5h
cHBsZS5jZnByZWZzZC5hZ2VudCIpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI4NDQ4MCkKKysrIFNvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTIw
MjEsNiArMjAyMSw3IEBACiAJCUUzOTYyOEREMjM5NjBDQzYwMDY1OEVDRCAvKiBXZWJEZXZpY2VP
cmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMzk2MjhEQjIzOTYwQ0M1MDA2NThFQ0QgLyogV2ViRGV2aWNlT3Jp
ZW50YXRpb25VcGRhdGVQcm92aWRlci5oICovOyB9OwogCQlFMzk2MjhERTIzOTYwQ0M2MDA2NThF
Q0QgLyogV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzk2MjhEQzIzOTYwQ0M2MDA2NThF
Q0QgLyogV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5jcHAgKi87IH07CiAJCUUz
Q0FBQTQ0MjQxMzI3OTkwMENFRDJFMiAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNQSS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDQUFBNDMyNDEzMjc4
QTAwQ0VEMkUyIC8qIEFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmggKi87IH07CisJCUUzRUVFQ0I1
MjcxOEE3MjAwMDIwNjM5RiAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0VFRUNCNDI3MThBNzIw
MDAyMDYzOUYgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwICovOyB9OwogCQlFNDEz
RjU5RDFBQzFBREM0MDAzNDUzNjAgLyogTmV0d29ya0NhY2hlRW50cnkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MTNGNTlCMUFDMUFEQjYwMDM0NTM2
MCAvKiBOZXR3b3JrQ2FjaGVFbnRyeS5oICovOyB9OwogCQlFNDJFMDYxMDFBQTc1MjNCMDBCMTE2
OTkgLyogTmV0d29ya0NhY2hlSU9DaGFubmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFNDJFMDYwQjFBQTc0NDBEMDBCMTE2OTkgLyogTmV0d29ya0Nh
Y2hlSU9DaGFubmVsLmggKi87IH07CiAJCUU0MkUwNjEyMUFBNzVBQkQwMEIxMTY5OSAvKiBOZXR3
b3JrQ2FjaGVEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFNDJFMDYxMTFBQTc1QUJEMDBCMTE2OTkgLyogTmV0d29ya0NhY2hlRGF0YS5oICovOyB9
OwpAQCAtNjA5NCw2ICs2MDk1LDggQEAKIAkJRTNCQ0U4NzcyNjcyNTIxMjAwMTFEOERCIC8qIEFj
Y2Vzc2liaWxpdHlQcmVmZXJlbmNlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmls
aXR5UHJlZmVyZW5jZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0JDRTg3
ODI2NzI1MjEyMDAxMUQ4REIgLyogQWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFM0NBQUE0MzI0MTMyNzhBMDBDRUQyRTIgLyogQWNjZXNzaWJpbGl0eVN1cHBvcnRT
UEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eVN1cHBv
cnRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTNFRUVDQjMyNzE4Nzc4ODAw
MjA2MzlGIC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1
ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUUzRUVFQ0I0MjcxOEE3MjAwMDIwNjM5RiAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzRUZCMDJDMjU1MDYxN0MwMDNDMkY5NiAvKiBX
ZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlN5c3RlbVNv
dW5kRGVsZWdhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0VGQjAyRDI1
NTA2MTdDMDAzQzJGOTYgLyogV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUU0MDQ5MDcwMjFERTY1RjcwMDM3RjBEQiAvKiBTY3JvbGxlclBhaXJNYWMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xsZXJQYWlyTWFjLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC04NTU2LDYgKzg1NTksOCBAQAogCQkJCTM3OEUxQTNCMTgxRUQ2RkYw
MDMxMDA3QSAvKiBBUElPYmplY3QubW0gKi8sCiAJCQkJQTE3NUM0NDkyMUFBMzE3MDAwMDAzN0Qw
IC8qIEFyZ3VtZW50Q29kZXJzQ29jb2EuaCAqLywKIAkJCQlBMTc1QzQ0QjIxQUEzMzFCMDAwMDM3
RDAgLyogQXJndW1lbnRDb2RlcnNDb2NvYS5tbSAqLywKKwkJCQlFM0VFRUNCNDI3MThBNzIwMDAy
MDYzOUYgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwICovLAorCQkJCUUzRUVFQ0Iz
MjcxODc3ODgwMDIwNjM5RiAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oICovLAogCQkJ
CTFBNjk4RjE3MUU0OTEwMjIwMDY0RTg4MSAvKiBBdXhpbGlhcnlQcm9jZXNzQ29jb2EubW0gKi8s
CiAJCQkJQ0UxMUFENTExQ0JDNDgyRjAwNjgxRUU1IC8qIENvZGVTaWduaW5nLmggKi8sCiAJCQkJ
Q0UxMUFENEYxQ0JDNDdGODAwNjgxRUU1IC8qIENvZGVTaWduaW5nLm1tICovLApAQCAtMTQ2NTQs
NiArMTQ2NTksNyBAQAogCQkJCTJEOTJBNzdCMjEyQjZBNzEwMEY0OTNGRCAvKiBBcmd1bWVudENv
ZGVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyREVCMUQyRTIxMjc0NzM2MDA5MzM5MDYgLyog
QXJndW1lbnRDb2RlcnNDRi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkyQTc3QzIxMkI2QTcx
MDBGNDkzRkQgLyogQXR0YWNobWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlFM0VFRUNCNTI3
MThBNzIwMDAyMDYzOUYgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQ0Q0NTcwRDQyNDQxMUQwRjAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRp
bmdBcmJpdHJhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNENDU3MEQzMjQ0MTEzQjUwMEEz
RENFQiAvKiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5TWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMkY1OEEyMTJBODgzQUQwMDYyOTUzMCAvKiBBdXRo
ZW50aWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCg==
</data>
<flag name="commit-queue"
          id="466154"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441797</attachid>
            <date>2021-10-19 14:16:20 -0700</date>
            <delta_ts>2021-10-21 09:25:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231694-20211019141620.patch</filename>
            <type>text/plain</type>
            <size>20494</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODQ0ODApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDIxLTEwLTE5ICBQZXIgQXJuZSAg
PHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU11bR1BVUF0gUmVtb3ZlIGFjY2Vz
cyBpbiBzYW5kYm94IHRvIGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxNjk0Cisg
ICAgICAgIDxyZGFyOi8vNzUyMjU5MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVs
Z2hhbS4KKworICAgICAgICBBZnRlciBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQv
Mjc0NDM1L3dlYmtpdCwgdGhlcmUgaXMgbm8gbmVlZCB0byBhbGxvdyBhY2Nlc3MgdG8gdGhpcyBz
ZXJ2aWNlLiBUaGlzIHBhdGNoIGFsc28gaW1wbGVtZW50cyBzZW5kaW5nCisgICAgICAgIHRoZSBB
dWRpbyBjb21wb25lbnQgcmVnaXN0cmF0aW9ucyB0byB0aGUgR1BVIHByb2Nlc3MsIHdoaWNoIGlz
IGEgcmVxdWlyZW1lbnQgYmVmb3JlIGJsb2NraW5nIHRoZSBzZXJ2aWNlIGluIHRoZSBHUFUgcHJv
Y2Vzcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAgICAgICAqIEdQ
VVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2Nv
Y29hL0dQVVByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzczo6Y29u
c3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisgICAgICAgICogR1BVUHJvY2Vzcy9t
YWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluOgorICAgICAgICAqIFNoYXJlZC9D
b2NvYS9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2Vi
S2l0Ojpjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKToKKyAgICAgICAgKiBTaGFy
ZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaDogQWRkZWQuCisgICAgICAgIChX
ZWJLaXQ6OnNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Byb3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKTogRGVsZXRlZC4K
KyAgICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1bmNoaW5nKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
UG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpyZXZva2VB
dWRpb0NhcHR1cmVFeHRlbnNpb24pOgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9tYWMvY29t
LmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW46CisgICAgICAgICogV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
cm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmNvbnN1bWVBdWRp
b0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorCiAyMDIxLTEwLTE5ICBXZW5zb24gSHNpZWggIDx3
ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyODQwNzkpOiBm
YXN0L2NhbnZhcy9ncmFkaWVudC13aXRoLWNsaXAuaHRtbCBhbmQgZmFzdC9jYW52YXMvZ3JhZGll
bnQtdGV4dC13aXRoLXNoYWRvdy5odG1sIGFyZSBmbGFreSBmYWlsdXJlcwpJbmRleDogU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCShyZXZpc2lvbiAyODQ0ODApCisrKyBTb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsy
OCw3IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCiAjaW5jbHVkZSAiQXV4aWxpYXJ5UHJv
Y2Vzcy5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0
ZW5zaW9uLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5SWRlbnRpZmllci5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvTGliV2ViUlRDRW51bVRyYWl0cy5oPgpAQCAtMTAwLDYgKzEwMSwxMCBAQCBwdWJs
aWM6CiAKICAgICBjb25zdCBTdHJpbmcmIGFwcGxpY2F0aW9uVmlzaWJsZU5hbWUoKSBjb25zdCB7
IHJldHVybiBtX2FwcGxpY2F0aW9uVmlzaWJsZU5hbWU7IH0KIAorI2lmIFBMQVRGT1JNKENPQ09B
KQorICAgIHZvaWQgY29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhjb25zdCBJUEM6
OkRhdGFSZWZlcmVuY2UmKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIHZvaWQgbG93TWVtb3J5
SGFuZGxlcihDcml0aWNhbCwgU3luY2hyb25vdXMpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgkocmV2aXNpb24gMjg0NDgwKQor
KysgU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4JKHdvcmtp
bmcgY29weSkKQEAgLTY4LDYgKzY4LDEwIEBAIG1lc3NhZ2VzIC0+IEdQVVByb2Nlc3MgTGVnYWN5
UmVjZWl2ZXIgewogI2lmIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogICAgIE5vdGlmeVBy
ZWZlcmVuY2VzQ2hhbmdlZChTdHJpbmcgZG9tYWluLCBTdHJpbmcga2V5LCBzdGQ6Om9wdGlvbmFs
PFN0cmluZz4gZW5jb2RlZFZhbHVlKQogI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyAg
ICBDb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKElQQzo6U2hhcmVkQnVmZmVyRGF0
YVJlZmVyZW5jZSByZWdpc3RyYXRpb25EYXRhKQorI2VuZGlmCiB9CiAKICNlbmRpZiAvLyBFTkFC
TEUoR1BVX1BST0NFU1MpCkluZGV4OiBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvY29jb2EvR1BV
UHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9j
b2NvYS9HUFVQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI4NDQ4MCkKKysrIFNvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9jb2NvYS9HUFVQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAg
LTMwLDYgKzMwLDcgQEAKIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgUExBVEZPUk0oQ09D
T0EpCiAKKyNpbXBvcnQgIkF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgiCiAjaW1wb3J0ICJH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCiAjaW1wb3J0ICJSZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kLmgiCiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CkBAIC03NSw2ICs3NiwxMSBAQCB2b2lk
IEdQVVByb2Nlc3M6OmRpc3BhdGNoU2ltdWxhdGVkTm90aWZpCiAKICNlbmRpZiAvLyBFTkFCTEUo
Q0ZQUkVGU19ESVJFQ1RfTU9ERSkKIAordm9pZCBHUFVQcm9jZXNzOjpjb25zdW1lQXVkaW9Db21w
b25lbnRSZWdpc3RyYXRpb25zKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSkKK3sKKyAg
ICBXZWJLaXQ6OmNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoZGF0YSk7Cit9CisK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAm
JiBQTEFURk9STShDT0NPQSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMvY29t
LmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluCShyZXZp
c2lvbiAyODQ0ODApCisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5X
ZWJLaXQuR1BVUHJvY2Vzcy5zYi5pbgkod29ya2luZyBjb3B5KQpAQCAtNzE3LDggKzcxNywxMCBA
QAogKGFsbG93IGlwYy1wb3NpeC1zaG0tcmVhZCogaXBjLXBvc2l4LXNobS13cml0ZS1kYXRhICh3
aXRoIHRlbGVtZXRyeSkKICAgICAoaXBjLXBvc2l4LW5hbWUtcHJlZml4ICJBdWRpb0lPIikpCiAK
KyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTIwMDAwCiAoYWxsb3cgbWFj
aC1sb29rdXAKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVu
dFJlZ2lzdHJhciIpKQorI2VuZGlmCiAKICNpZiAhRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUp
CiAoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGggdGVsZW1ldHJ5KQpJbmRleDogU291cmNlL1dlYktp
dC9TaGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0F1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9u
LmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9BdWRpb0Nv
bXBvbmVudFJlZ2lzdHJhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBdWRpb0NvbXBvbmVu
dFJlZ2lzdHJhdGlvbi5oIgorCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorCituYW1lc3BhY2UgV2Vi
S2l0IHsKKwordm9pZCBjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKGNvbnN0IElQ
Qzo6RGF0YVJlZmVyZW5jZSYgZGF0YSkKK3sKKyAgICBpZiAoIVBBTDo6aXNBdWRpb1Rvb2xib3hD
b3JlRnJhbWV3b3JrQXZhaWxhYmxlKCkgfHwgIVBBTDo6Y2FuTG9hZF9BdWRpb1Rvb2xib3hDb3Jl
X0F1ZGlvQ29tcG9uZW50QXBwbHlTZXJ2ZXJSZWdpc3RyYXRpb25zKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIGF1dG8gcmVnaXN0cmF0aW9ucyA9IGFkb3B0Q0YoQ0ZEYXRhQ3JlYXRlKGtDRkFs
bG9jYXRvckRlZmF1bHQsIGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSkpOworICAgIGlmICghcmVn
aXN0cmF0aW9ucykKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byBlcnIgPSBQQUw6OkF1ZGlv
Q29tcG9uZW50QXBwbHlTZXJ2ZXJSZWdpc3RyYXRpb25zKHJlZ2lzdHJhdGlvbnMuZ2V0KCkpOwor
ICAgIGlmIChub0VyciA9PSBlcnIpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBSRUxFQVNF
X0xPR19FUlJPUihQcm9jZXNzLCAiQ291bGQgbm90IGFwcGx5IEF1ZGlvQ29tcG9uZW50IHJlZ2lz
dHJhdGlvbnMsIGVyciglbGQpIiwgc3RhdGljX2Nhc3Q8bG9uZz4oZXJyKSk7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYktpdAorCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9BdWRp
b0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hh
cmVkL0NvY29hL0F1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgJKG5vbmV4aXN0ZW50KQorKysg
U291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpbXBvcnQgIkF1eGlsaWFyeVByb2Nlc3NQcm94eS5oIgorI2ltcG9ydCAiRGF0YVJlZmVy
ZW5jZS5oIgorI2ltcG9ydCA8V2ViQ29yZS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oPgorI2lt
cG9ydCA8d3RmL0Jsb2NrUHRyLmg+CisjaW1wb3J0IDxwYWwvY2YvQXVkaW9Ub29sYm94U29mdExp
bmsuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQg
c2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhBdXhpbGlhcnlQcm9jZXNzUHJveHkmIHBy
b2Nlc3MpCit7CisgICAgaWYgKCFQQUw6OmlzQXVkaW9Ub29sYm94Q29yZUZyYW1ld29ya0F2YWls
YWJsZSgpIHx8ICFQQUw6OmNhbkxvYWRfQXVkaW9Ub29sYm94Q29yZV9BdWRpb0NvbXBvbmVudEZl
dGNoU2VydmVyUmVnaXN0cmF0aW9ucygpKQorICAgICAgICByZXR1cm47CisKKyAgICBkaXNwYXRj
aF9hc3luYyhkaXNwYXRjaF9nZXRfZ2xvYmFsX3F1ZXVlKERJU1BBVENIX1FVRVVFX1BSSU9SSVRZ
X0RFRkFVTFQsIDApLCBtYWtlQmxvY2tQdHIoW3dlYWtUaGlzID0gV2Vha1B0ciB7IHByb2Nlc3Mg
fV0gKCkgbXV0YWJsZSB7CisgICAgICAgIENGRGF0YVJlZiByZWdpc3RyYXRpb25zIHsgbnVsbHB0
ciB9OworCisgICAgICAgIFdlYkNvcmU6OnJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgpOwor
ICAgICAgICBXZWJDb3JlOjpyZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpOworICAgICAg
ICBpZiAobm9FcnIgIT0gUEFMOjpBdWRpb0NvbXBvbmVudEZldGNoU2VydmVyUmVnaXN0cmF0aW9u
cygmcmVnaXN0cmF0aW9ucykgfHwgIXJlZ2lzdHJhdGlvbnMpCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFt3ZWFrVGhpcyA9IFdURk1vdmUo
d2Vha1RoaXMpLCByZWdpc3RyYXRpb25zID0gYWRvcHRDRihyZWdpc3RyYXRpb25zKV0gKCkgbXV0
YWJsZSB7CisgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgIGF1dG8gcmVnaXN0cmF0aW9uRGF0YSA9IFdlYkNvcmU6OlNoYXJlZEJ1
ZmZlcjo6Y3JlYXRlKHJlZ2lzdHJhdGlvbnMuZ2V0KCkpOworICAgICAgICAgICAgd2Vha1RoaXMt
PnNlbmQoVCh7IHJlZ2lzdHJhdGlvbkRhdGEgfSksIDApOworICAgICAgICB9KTsKKyAgICB9KS5n
ZXQoKSk7Cit9CisKK3ZvaWQgY29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhjb25z
dCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCShyZXZpc2lvbiAyODQ0
ODApCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEzMSw2ICsxMzEsNyBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NP
QSkKKyNpbmNsdWRlICJBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oIgogI2luY2x1ZGUgIkRl
ZmF1bHRXZWJCcm93c2VyQ2hlY2tzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9HYW1lQ29udHJvbGxl
ckdhbWVwYWRQcm92aWRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSElER2FtZXBhZFByb3ZpZGVy
Lmg+CkBAIC04NjIsNyArODYzLDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5l
d1dlYlBybwogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKLSAgICBwcm9jZXNzLnNlbmRB
dWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoKTsKKyAgICBzZW5kQXVkaW9Db21wb25lbnRSZWdp
c3RyYXRpb25zPE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpDb25zdW1lQXVkaW9Db21wb25lbnRSZWdp
c3RyYXRpb25zPihwcm9jZXNzKTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQpJbmRleDog
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgJKHJldmlzaW9uIDI4NDQ4
MCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMzksOCArMzM5LDYgQEAgcHVibGljOgogICAgIGJvb2wgaGFzQXVkaW9DYXB0
dXJlRXh0ZW5zaW9uKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYUNhcHR1cmVTYW5kYm94RXh0ZW5z
aW9ucyAmIEF1ZGlvOyB9CiAgICAgdm9pZCBncmFudEF1ZGlvQ2FwdHVyZUV4dGVuc2lvbigpIHsg
bV9tZWRpYUNhcHR1cmVTYW5kYm94RXh0ZW5zaW9ucyB8PSBBdWRpbzsgfQogICAgIHZvaWQgcmV2
b2tlQXVkaW9DYXB0dXJlRXh0ZW5zaW9uKCkgeyBtX21lZGlhQ2FwdHVyZVNhbmRib3hFeHRlbnNp
b25zICY9IH5BdWRpbzsgfQotCi0gICAgdm9pZCBzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRp
b25zKCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKSAmJiBQTEFURk9S
TShDT0NPQSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQ
cm94eUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCShyZXZpc2lvbiAyODQ0ODApCisrKyBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQkod29ya2luZyBjb3B5
KQpAQCAtMzksNyArMzksNiBAQAogI2ltcG9ydCAiV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW1w
b3J0ICJXZWJQcm9jZXNzUG9vbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRp
b25DaGVja3MuaD4KLSNpbXBvcnQgPFdlYkNvcmUvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaD4K
ICNpbXBvcnQgPHN5cy9zeXNjdGwuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgog
I2ltcG9ydCA8d3RmL1Njb3BlLmg+CkBAIC02NCw4ICs2Myw2IEBACiAjaW5jbHVkZSAiVENDU29m
dExpbmsuaCIKICNlbmRpZgogCi0jaW1wb3J0IDxwYWwvY2YvQXVkaW9Ub29sYm94U29mdExpbmsu
aD4KLQogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0YXRpYyBjb25zdCBTZWNvbmRzIHVuZXhwZWN0
ZWRBY3Rpdml0eUR1cmF0aW9uID0gMTBfczsKQEAgLTI4OSwzMSArMjg2LDYgQEAgdm9pZCBXZWJQ
cm9jZXNzUHJveHk6OmlzQVhBdXRoZW50aWNhdGVkKAogfQogI2VuZGlmCiAKLXZvaWQgV2ViUHJv
Y2Vzc1Byb3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKCkKLXsKLSAgICB1c2lu
ZyBuYW1lc3BhY2UgUEFMOwotCi0gICAgaWYgKCFQQUw6OmlzQXVkaW9Ub29sYm94Q29yZUZyYW1l
d29ya0F2YWlsYWJsZSgpIHx8ICFQQUw6OmNhbkxvYWRfQXVkaW9Ub29sYm94Q29yZV9BdWRpb0Nv
bXBvbmVudEZldGNoU2VydmVyUmVnaXN0cmF0aW9ucygpKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfZ2xvYmFsX3F1ZXVlKERJU1BBVENIX1FVRVVF
X1BSSU9SSVRZX0RFRkFVTFQsIDApLCBbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfV0gKCkg
bXV0YWJsZSB7Ci0gICAgICAgIENGRGF0YVJlZiByZWdpc3RyYXRpb25zIHsgbnVsbHB0ciB9Owot
Ci0gICAgICAgIFdlYkNvcmU6OnJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgpOwotICAgICAg
ICBXZWJDb3JlOjpyZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpOwotICAgICAgICBpZiAo
bm9FcnIgIT0gQXVkaW9Db21wb25lbnRGZXRjaFNlcnZlclJlZ2lzdHJhdGlvbnMoJnJlZ2lzdHJh
dGlvbnMpIHx8ICFyZWdpc3RyYXRpb25zKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAg
IFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbd2Vha1RoaXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwg
cmVnaXN0cmF0aW9ucyA9IGFkb3B0Q0YocmVnaXN0cmF0aW9ucyldICgpIG11dGFibGUgewotICAg
ICAgICAgICAgaWYgKCF3ZWFrVGhpcykKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAg
ICAgICAgIGF1dG8gcmVnaXN0cmF0aW9uRGF0YSA9IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3Jl
YXRlKHJlZ2lzdHJhdGlvbnMuZ2V0KCkpOwotICAgICAgICAgICAgd2Vha1RoaXMtPnNlbmQoTWVz
c2FnZXM6OldlYlByb2Nlc3M6OkNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoeyBy
ZWdpc3RyYXRpb25EYXRhIH0pLCAwKTsKLSAgICAgICAgfSk7Ci0gICAgfSk7Ci19Ci0KIGJvb2wg
V2ViUHJvY2Vzc1Byb3h5OjptZXNzYWdlU291cmNlSXNWYWxpZFdlYkNvbnRlbnRQcm9jZXNzKCkK
IHsKICAgICBpZiAoIWhhc0Nvbm5lY3Rpb24oKSkgewpJbmRleDogU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAJKHJldmlzaW9uIDI4NDQ4MCkKKysr
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC02Miw2ICs2MiwxMCBAQAogI2luY2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CiAj
ZW5kaWYKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorI2luY2x1ZGUgIkF1ZGlvQ29tcG9uZW50UmVn
aXN0cmF0aW9uLmgiCisjZW5kaWYKKwogI2RlZmluZSBNRVNTQUdFX0NIRUNLKGFzc2VydGlvbikg
TUVTU0FHRV9DSEVDS19CQVNFKGFzc2VydGlvbiwgdGhpcy0+Y29ubmVjdGlvbigpKQogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKQEAgLTQ4MSw2ICs0ODUsNyBAQCBzdGF0aWMgaW5saW5lIEdQVVByb2Nl
c3NTZXNzaW9uUGFyYW1ldGVyCiAgICAgICAgIGlmIChhdXRvIGhhbmRsZSA9IFNhbmRib3hFeHRl
bnNpb246OmNyZWF0ZUhhbmRsZVdpdGhvdXRSZXNvbHZpbmdQYXRoKHBhcmFtZXRlcnMubWVkaWFL
ZXlzU3RvcmFnZURpcmVjdG9yeSwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVhZFdyaXRlKSkK
ICAgICAgICAgICAgIHBhcmFtZXRlcnMubWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeVNhbmRib3hF
eHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKCpoYW5kbGUpOwogICAgIH0KKyAgICBzZW5kQXVkaW9D
b21wb25lbnRSZWdpc3RyYXRpb25zPE1lc3NhZ2VzOjpHUFVQcm9jZXNzOjpDb25zdW1lQXVkaW9D
b21wb25lbnRSZWdpc3RyYXRpb25zPigqdGhpcyk7CiAjZW5kaWYKIAogICAgIHJldHVybiBwYXJh
bWV0ZXJzOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBs
ZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5z
Yi5pbgkocmV2aXNpb24gMjg0NDgwKQorKysgU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3Mv
bWFjL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluCSh3b3JraW5nIGNvcHkp
CkBAIC0zMjcsNyArMzI3LDYgQEAKICNpZiBQTEFURk9STShNQUMpCiAgICAgKHdpdGggcmVwb3J0
KSAod2l0aCB0ZWxlbWV0cnkpCiAjZW5kaWYKLSAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5h
dWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciIpCiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBw
bGUuYXdkZCIpCiAjaWYgIUVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogICAgIChnbG9iYWwt
bmFtZSAiY29tLmFwcGxlLmNmcHJlZnNkLmFnZW50IikKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjg0NDgwKQorKysg
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBj
b3B5KQpAQCAtMjAyMSw2ICsyMDIxLDcgQEAKIAkJRTM5NjI4REQyMzk2MENDNjAwNjU4RUNEIC8q
IFdlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOTYyOERCMjM5NjBDQzUwMDY1OEVDRCAvKiBX
ZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmggKi87IH07CiAJCUUzOTYyOERFMjM5
NjBDQzYwMDY1OEVDRCAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOTYyOERDMjM5
NjBDQzYwMDY1OEVDRCAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmNwcCAq
LzsgfTsKIAkJRTNDQUFBNDQyNDEzMjc5OTAwQ0VEMkUyIC8qIEFjY2Vzc2liaWxpdHlTdXBwb3J0
U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0NB
QUE0MzI0MTMyNzhBMDBDRUQyRTIgLyogQWNjZXNzaWJpbGl0eVN1cHBvcnRTUEkuaCAqLzsgfTsK
KwkJRTNFRUVDQjUyNzE4QTcyMDAwMjA2MzlGIC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9u
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRUVF
Q0I0MjcxOEE3MjAwMDIwNjM5RiAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHAgKi87
IH07CiAJCUU0MTNGNTlEMUFDMUFEQzQwMDM0NTM2MCAvKiBOZXR3b3JrQ2FjaGVFbnRyeS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQxM0Y1OUIxQUMx
QURCNjAwMzQ1MzYwIC8qIE5ldHdvcmtDYWNoZUVudHJ5LmggKi87IH07CiAJCUU0MkUwNjEwMUFB
NzUyM0IwMEIxMTY5OSAvKiBOZXR3b3JrQ2FjaGVJT0NoYW5uZWwuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MkUwNjBCMUFBNzQ0MEQwMEIxMTY5OSAv
KiBOZXR3b3JrQ2FjaGVJT0NoYW5uZWwuaCAqLzsgfTsKIAkJRTQyRTA2MTIxQUE3NUFCRDAwQjEx
Njk5IC8qIE5ldHdvcmtDYWNoZURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEU0MkUwNjExMUFBNzVBQkQwMEIxMTY5OSAvKiBOZXR3b3JrQ2FjaGVE
YXRhLmggKi87IH07CkBAIC02MDk0LDYgKzYwOTUsOCBAQAogCQlFM0JDRTg3NzI2NzI1MjEyMDAx
MUQ4REIgLyogQWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUzQkNFODc4MjY3MjUyMTIwMDExRDhEQiAvKiBBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUUzQ0FBQTQzMjQxMzI3OEEwMENFRDJFMiAvKiBBY2Nlc3NpYmls
aXR5U3VwcG9ydFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3Np
YmlsaXR5U3VwcG9ydFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFM0VFRUNC
MzI3MTg3Nzg4MDAyMDYzOUYgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRTNFRUVDQjQyNzE4QTcyMDAwMjA2MzlGIC8qIEF1ZGlvQ29tcG9uZW50UmVn
aXN0cmF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0
aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNFRkIwMkMyNTUwNjE3QzAw
M0MyRjk2IC8qIFdlYlN5c3RlbVNvdW5kRGVsZWdhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V2ViU3lzdGVtU291bmREZWxlZ2F0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUUzRUZCMDJEMjU1MDYxN0MwMDNDMkY5NiAvKiBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdlYlN5c3RlbVNvdW5kRGVsZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTQwNDkwNzAyMURFNjVGNzAwMzdGMERCIC8qIFNjcm9sbGVyUGFpck1hYy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxlclBhaXJNYWMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTg1NTYsNiArODU1OSw4IEBACiAJCQkJMzc4RTFB
M0IxODFFRDZGRjAwMzEwMDdBIC8qIEFQSU9iamVjdC5tbSAqLywKIAkJCQlBMTc1QzQ0OTIxQUEz
MTcwMDAwMDM3RDAgLyogQXJndW1lbnRDb2RlcnNDb2NvYS5oICovLAogCQkJCUExNzVDNDRCMjFB
QTMzMUIwMDAwMzdEMCAvKiBBcmd1bWVudENvZGVyc0NvY29hLm1tICovLAorCQkJCUUzRUVFQ0I0
MjcxOEE3MjAwMDIwNjM5RiAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHAgKi8sCisJ
CQkJRTNFRUVDQjMyNzE4Nzc4ODAwMjA2MzlGIC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9u
LmggKi8sCiAJCQkJMUE2OThGMTcxRTQ5MTAyMjAwNjRFODgxIC8qIEF1eGlsaWFyeVByb2Nlc3ND
b2NvYS5tbSAqLywKIAkJCQlDRTExQUQ1MTFDQkM0ODJGMDA2ODFFRTUgLyogQ29kZVNpZ25pbmcu
aCAqLywKIAkJCQlDRTExQUQ0RjFDQkM0N0Y4MDA2ODFFRTUgLyogQ29kZVNpZ25pbmcubW0gKi8s
CkBAIC0xNDY1NCw2ICsxNDY1OSw3IEBACiAJCQkJMkQ5MkE3N0IyMTJCNkE3MTAwRjQ5M0ZEIC8q
IEFyZ3VtZW50Q29kZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJERUIxRDJFMjEyNzQ3MzYw
MDkzMzkwNiAvKiBBcmd1bWVudENvZGVyc0NGLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTJB
NzdDMjEyQjZBNzEwMEY0OTNGRCAvKiBBdHRhY2htZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CUUzRUVFQ0I1MjcxOEE3MjAwMDIwNjM5RiAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlDRDQ1NzBENDI0NDExRDBGMDBBM0RDRUIgLyogQXVkaW9T
ZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0Q0NTcwRDMy
NDQxMTNCNTAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHlNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEyRjU4QTIxMkE4ODNBRDAwNjI5
NTMwIC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLywKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29j
b2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlBy
b2Nlc3NDb2NvYS5tbQkocmV2aXNpb24gMjg0NDgwKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcs
NyBAQAogI2ltcG9ydCAiV2ViUHJvY2Vzcy5oIgogCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5U3Vw
cG9ydFNQSS5oIgorI2ltcG9ydCAiQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCIKICNpbXBv
cnQgIkdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiTGVnYWN5Q3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyLmgiCiAjaW1wb3J0ICJMb2dJbml0aWFsaXphdGlvbi5oIgpAQCAt
MTI3NSwxOCArMTI3Niw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6c3lzdGVtRGlkV2FrZSgpCiAKIHZv
aWQgV2ViUHJvY2Vzczo6Y29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhjb25zdCBJ
UEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEpCiB7Ci0gICAgdXNpbmcgbmFtZXNwYWNlIFBBTDsKLQot
ICAgIGlmICghUEFMOjppc0F1ZGlvVG9vbGJveENvcmVGcmFtZXdvcmtBdmFpbGFibGUoKSB8fCAh
UEFMOjpjYW5Mb2FkX0F1ZGlvVG9vbGJveENvcmVfQXVkaW9Db21wb25lbnRBcHBseVNlcnZlclJl
Z2lzdHJhdGlvbnMoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0byByZWdpc3RyYXRpb25z
ID0gYWRvcHRDRihDRkRhdGFDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgZGF0YS5kYXRhKCks
IGRhdGEuc2l6ZSgpKSk7Ci0gICAgaWYgKCFyZWdpc3RyYXRpb25zKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBhdXRvIGVyciA9IEF1ZGlvQ29tcG9uZW50QXBwbHlTZXJ2ZXJSZWdpc3RyYXRpb25z
KHJlZ2lzdHJhdGlvbnMuZ2V0KCkpOwotICAgIGlmIChub0VyciAhPSBlcnIpCi0gICAgICAgIFdF
QlBST0NFU1NfUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIkNvdWxkIG5vdCBhcHBseSBBdWRp
b0NvbXBvbmVudCByZWdpc3RyYXRpb25zLCBlcnIoJWxkKSIsIHN0YXRpY19jYXN0PGxvbmc+KGVy
cikpOworICAgIFdlYktpdDo6Y29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhkYXRh
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>
<flag name="commit-queue"
          id="466174"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442039</attachid>
            <date>2021-10-21 09:16:54 -0700</date>
            <delta_ts>2021-11-08 09:49:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231694-20211021091652.patch</filename>
            <type>text/plain</type>
            <size>33608</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODQ2MDQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDIxLTEwLTIxICBQZXIgQXJuZSBW
b2xsYW4gPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU11bR1BVUF0gUmVtb3Zl
IGFjY2VzcyBpbiBzYW5kYm94IHRvIGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lz
dHJhcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMx
Njk0CisgICAgICAgIDxyZGFyOi8vNzUyMjU5MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJl
bnQgRnVsZ2hhbS4KKworICAgICAgICBBZnRlciBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvMjc0NDM1L3dlYmtpdCwgdGhlcmUgaXMgbm8gbmVlZCB0byBhbGxvdyBhY2Nlc3MgdG8g
dGhpcyBzZXJ2aWNlLiBUaGlzIHBhdGNoIGFsc28gaW1wbGVtZW50cyBzZW5kaW5nCisgICAgICAg
IHRoZSBBdWRpbyBjb21wb25lbnQgcmVnaXN0cmF0aW9ucyB0byB0aGUgR1BVIHByb2Nlc3MsIHdo
aWNoIGlzIGEgcmVxdWlyZW1lbnQgYmVmb3JlIGJsb2NraW5nIHRoZSBzZXJ2aWNlIGluIHRoZSBH
UFUgcHJvY2Vzcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAgICAg
ICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9j
ZXNzL2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vz
czo6Y29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisgICAgICAgICogR1BVUHJv
Y2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluOgorICAgICAgICAqIFNo
YXJlZC9Db2NvYS9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViS2l0Ojpjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKToKKyAgICAgICAg
KiBTaGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaDogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OnNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc1Byb3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1bmNoaW5nKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojpy
ZXZva2VBdWRpb0NhcHR1cmVFeHRlbnNpb24pOgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9t
YWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW46CisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmNvbnN1
bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorCiAyMDIxLTEwLTIxICBDaHJpcyBMb3Jk
ICA8Y2xvcmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV1BFXVtHVEtdIEVuYWJsZSBzbW9vdGgg
c2Nyb2xsaW5nIGJ5IGRlZmF1bHQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQ
cm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nl
c3MuaAkocmV2aXNpb24gMjg0NjAzKQorKysgU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVBy
b2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogI2lmIEVOQUJMRShHUFVf
UFJPQ0VTUykKIAogI2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3MuaCIKKyNpbmNsdWRlICJEYXRh
UmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgogI2luY2x1ZGUgIldl
YlBhZ2VQcm94eUlkZW50aWZpZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ0VudW1U
cmFpdHMuaD4KQEAgLTEwMCw2ICsxMDEsMTAgQEAgcHVibGljOgogCiAgICAgY29uc3QgU3RyaW5n
JiBhcHBsaWNhdGlvblZpc2libGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9hcHBsaWNhdGlvblZp
c2libGVOYW1lOyB9CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIGNvbnN1bWVBdWRp
b0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJik7CisjZW5k
aWYKKwogcHJpdmF0ZToKICAgICB2b2lkIGxvd01lbW9yeUhhbmRsZXIoQ3JpdGljYWwsIFN5bmNo
cm9ub3VzKTsKIApJbmRleDogU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVz
c2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nl
c3MubWVzc2FnZXMuaW4JKHJldmlzaW9uIDI4NDYwMykKKysrIFNvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC02OCw2ICs2OCwx
MCBAQCBtZXNzYWdlcyAtPiBHUFVQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICNpZiBFTkFCTEUo
Q0ZQUkVGU19ESVJFQ1RfTU9ERSkKICAgICBOb3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoU3RyaW5n
IGRvbWFpbiwgU3RyaW5nIGtleSwgc3RkOjpvcHRpb25hbDxTdHJpbmc+IGVuY29kZWRWYWx1ZSkK
ICNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgQ29uc3VtZUF1ZGlvQ29tcG9uZW50
UmVnaXN0cmF0aW9ucyhJUEM6OlNoYXJlZEJ1ZmZlckRhdGFSZWZlcmVuY2UgcmVnaXN0cmF0aW9u
RGF0YSkKKyNlbmRpZgogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQpJbmRleDog
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvY29jb2EvR1BVUHJvY2Vzc0NvY29hLm1t
CShyZXZpc2lvbiAyODQ2MDMpCisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvY29jb2EvR1BV
UHJvY2Vzc0NvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAKICNpZiBF
TkFCTEUoR1BVX1BST0NFU1MpICYmIFBMQVRGT1JNKENPQ09BKQogCisjaW1wb3J0ICJBdWRpb0Nv
bXBvbmVudFJlZ2lzdHJhdGlvbi5oIgogI2ltcG9ydCAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5oIgogI2ltcG9ydCAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oIgogI2ltcG9ydCA8d3RmL1Jl
dGFpblB0ci5oPgpAQCAtNzUsNiArNzYsMTEgQEAgdm9pZCBHUFVQcm9jZXNzOjpkaXNwYXRjaFNp
bXVsYXRlZE5vdGlmaQogCiAjZW5kaWYgLy8gRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCiAK
K3ZvaWQgR1BVUHJvY2Vzczo6Y29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhjb25z
dCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEpCit7CisgICAgV2ViS2l0Ojpjb25zdW1lQXVkaW9D
b21wb25lbnRSZWdpc3RyYXRpb25zKGRhdGEpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IAogI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgUExBVEZPUk0oQ09DT0EpCkluZGV4
OiBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vz
cy5zYi5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL2NvbS5h
cHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYi5pbgkocmV2aXNpb24gMjg0NjAzKQorKysgU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4J
KHdvcmtpbmcgY29weSkKQEAgLTcxNyw4ICs3MTcsMTAgQEAKIChhbGxvdyBpcGMtcG9zaXgtc2ht
LXJlYWQqIGlwYy1wb3NpeC1zaG0td3JpdGUtZGF0YSAod2l0aCB0ZWxlbWV0cnkpCiAgICAgKGlw
Yy1wb3NpeC1uYW1lLXByZWZpeCAiQXVkaW9JTyIpKQogCisjaWYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA8IDEyMDAwMAogKGFsbG93IG1hY2gtbG9va3VwCiAgICAgKGdsb2JhbC1u
YW1lICJjb20uYXBwbGUuYXVkaW8uQXVkaW9Db21wb25lbnRSZWdpc3RyYXIiKSkKKyNlbmRpZgog
CiAjaWYgIUVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogKGFsbG93IG1hY2gtbG9va3VwICh3
aXRoIHRlbGVtZXRyeSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0F1ZGlvQ29t
cG9uZW50UmVnaXN0cmF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJl
ZC9Db2NvYS9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHAJKG5vbmV4aXN0ZW50KQorKysg
U291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCIKKworI2lu
Y2x1ZGUgIkxvZ2dpbmcuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgY29uc3VtZUF1
ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEp
Cit7CisgICAgaWYgKCFQQUw6OmlzQXVkaW9Ub29sYm94Q29yZUZyYW1ld29ya0F2YWlsYWJsZSgp
IHx8ICFQQUw6OmNhbkxvYWRfQXVkaW9Ub29sYm94Q29yZV9BdWRpb0NvbXBvbmVudEFwcGx5U2Vy
dmVyUmVnaXN0cmF0aW9ucygpKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIHJlZ2lzdHJh
dGlvbnMgPSBhZG9wdENGKENGRGF0YUNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBkYXRhLmRh
dGEoKSwgZGF0YS5zaXplKCkpKTsKKyAgICBpZiAoIXJlZ2lzdHJhdGlvbnMpCisgICAgICAgIHJl
dHVybjsKKworICAgIGF1dG8gZXJyID0gUEFMOjpBdWRpb0NvbXBvbmVudEFwcGx5U2VydmVyUmVn
aXN0cmF0aW9ucyhyZWdpc3RyYXRpb25zLmdldCgpKTsKKyAgICBpZiAobm9FcnIgPT0gZXJyKQor
ICAgICAgICByZXR1cm47CisgICAgCisgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIkNv
dWxkIG5vdCBhcHBseSBBdWRpb0NvbXBvbmVudCByZWdpc3RyYXRpb25zLCBlcnIoJWxkKSIsIHN0
YXRpY19jYXN0PGxvbmc+KGVycikpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwpJbmRl
eDogU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24u
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9BdWRpb0NvbXBvbmVu
dFJlZ2lzdHJhdGlvbi5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0Nv
Y29hL0F1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW1wb3J0ICJBdXhpbGlhcnlQ
cm9jZXNzUHJveHkuaCIKKyNpbXBvcnQgIkRhdGFSZWZlcmVuY2UuaCIKKyNpbXBvcnQgPFdlYkNv
cmUvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaD4KKyNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5oPgor
I2ltcG9ydCA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CisKK25hbWVzcGFjZSBXZWJL
aXQgeworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIHNlbmRBdWRpb0NvbXBvbmVudFJlZ2lz
dHJhdGlvbnMoQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5JiBwcm9jZXNzKQoreworICAgIGlmICghUEFM
Ojppc0F1ZGlvVG9vbGJveENvcmVGcmFtZXdvcmtBdmFpbGFibGUoKSB8fCAhUEFMOjpjYW5Mb2Fk
X0F1ZGlvVG9vbGJveENvcmVfQXVkaW9Db21wb25lbnRGZXRjaFNlcnZlclJlZ2lzdHJhdGlvbnMo
KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X2ds
b2JhbF9xdWV1ZShESVNQQVRDSF9RVUVVRV9QUklPUklUWV9ERUZBVUxULCAwKSwgbWFrZUJsb2Nr
UHRyKFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyBwcm9jZXNzIH1dICgpIG11dGFibGUgeworICAgICAg
ICBDRkRhdGFSZWYgcmVnaXN0cmF0aW9ucyB7IG51bGxwdHIgfTsKKworICAgICAgICBXZWJDb3Jl
OjpyZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKKyAgICAgICAgV2ViQ29yZTo6cmVnaXN0
ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKTsKKyAgICAgICAgaWYgKG5vRXJyICE9IFBBTDo6QXVk
aW9Db21wb25lbnRGZXRjaFNlcnZlclJlZ2lzdHJhdGlvbnMoJnJlZ2lzdHJhdGlvbnMpIHx8ICFy
ZWdpc3RyYXRpb25zKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIFJ1bkxvb3A6Om1h
aW4oKS5kaXNwYXRjaChbd2Vha1RoaXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwgcmVnaXN0cmF0aW9u
cyA9IGFkb3B0Q0YocmVnaXN0cmF0aW9ucyldICgpIG11dGFibGUgeworICAgICAgICAgICAgaWYg
KCF3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBhdXRvIHJl
Z2lzdHJhdGlvbkRhdGEgPSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0ZShyZWdpc3RyYXRp
b25zLmdldCgpKTsKKyAgICAgICAgICAgIHdlYWtUaGlzLT5zZW5kKFQoeyByZWdpc3RyYXRpb25E
YXRhIH0pLCAwKTsKKyAgICAgICAgfSk7CisgICAgfSkuZ2V0KCkpOworfQorCit2b2lkIGNvbnN1
bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJik7
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmNwcAkocmV2aXNpb24gMjg0NjAzKQorKysgU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzEsNiArMTMx
LDcgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCisjaW5jbHVkZSAiQXVkaW9Db21w
b25lbnRSZWdpc3RyYXRpb24uaCIKICNpbmNsdWRlICJEZWZhdWx0V2ViQnJvd3NlckNoZWNrcy5o
IgogI2luY2x1ZGUgPFdlYkNvcmUvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0hJREdhbWVwYWRQcm92aWRlci5oPgpAQCAtODYyLDcgKzg2Myw3IEBA
IHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmluaXRpYWxpemVOZXdXZWJQcm8KICNlbmRpZgogCiAjaWYg
UExBVEZPUk0oQ09DT0EpCi0gICAgcHJvY2Vzcy5zZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRp
b25zKCk7CisgICAgc2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uczxNZXNzYWdlczo6V2Vi
UHJvY2Vzczo6Q29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucz4ocHJvY2Vzcyk7CiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5oCShyZXZpc2lvbiAyODQ2MDMpCisrKyBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMzM5LDggKzMzOSw2
IEBAIHB1YmxpYzoKICAgICBib29sIGhhc0F1ZGlvQ2FwdHVyZUV4dGVuc2lvbigpIGNvbnN0IHsg
cmV0dXJuIG1fbWVkaWFDYXB0dXJlU2FuZGJveEV4dGVuc2lvbnMgJiBBdWRpbzsgfQogICAgIHZv
aWQgZ3JhbnRBdWRpb0NhcHR1cmVFeHRlbnNpb24oKSB7IG1fbWVkaWFDYXB0dXJlU2FuZGJveEV4
dGVuc2lvbnMgfD0gQXVkaW87IH0KICAgICB2b2lkIHJldm9rZUF1ZGlvQ2FwdHVyZUV4dGVuc2lv
bigpIHsgbV9tZWRpYUNhcHR1cmVTYW5kYm94RXh0ZW5zaW9ucyAmPSB+QXVkaW87IH0KLQotICAg
IHZvaWQgc2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucygpOwogI2VuZGlmCiAKICNpZiBF
TkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oQ09DT0EpCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5t
bQkocmV2aXNpb24gMjg0NjAzKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UHJvY2Vzc1Byb3h5Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDYgQEAKICNp
bXBvcnQgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViUHJvY2Vzc1Bvb2wuaCIK
ICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+Ci0jaW1wb3J0IDxX
ZWJDb3JlL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmg+CiAjaW1wb3J0IDxzeXMvc3lzY3RsLmg+
CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9TY29wZS5oPgpA
QCAtNjQsOCArNjMsNiBAQAogI2luY2x1ZGUgIlRDQ1NvZnRMaW5rLmgiCiAjZW5kaWYKIAotI2lt
cG9ydCA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+Ci0KIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBzdGF0aWMgY29uc3QgU2Vjb25kcyB1bmV4cGVjdGVkQWN0aXZpdHlEdXJhdGlvbiA9IDEw
X3M7CkBAIC0yODksMzEgKzI4Niw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojppc0FYQXV0aGVu
dGljYXRlZCgKIH0KICNlbmRpZgogCi12b2lkIFdlYlByb2Nlc3NQcm94eTo6c2VuZEF1ZGlvQ29t
cG9uZW50UmVnaXN0cmF0aW9ucygpCi17Ci0gICAgdXNpbmcgbmFtZXNwYWNlIFBBTDsKLQotICAg
IGlmICghUEFMOjppc0F1ZGlvVG9vbGJveENvcmVGcmFtZXdvcmtBdmFpbGFibGUoKSB8fCAhUEFM
OjpjYW5Mb2FkX0F1ZGlvVG9vbGJveENvcmVfQXVkaW9Db21wb25lbnRGZXRjaFNlcnZlclJlZ2lz
dHJhdGlvbnMoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0
Y2hfZ2V0X2dsb2JhbF9xdWV1ZShESVNQQVRDSF9RVUVVRV9QUklPUklUWV9ERUZBVUxULCAwKSwg
W3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH1dICgpIG11dGFibGUgewotICAgICAgICBDRkRh
dGFSZWYgcmVnaXN0cmF0aW9ucyB7IG51bGxwdHIgfTsKLQotICAgICAgICBXZWJDb3JlOjpyZWdp
c3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKLSAgICAgICAgV2ViQ29yZTo6cmVnaXN0ZXJWb3Ji
aXNEZWNvZGVySWZOZWVkZWQoKTsKLSAgICAgICAgaWYgKG5vRXJyICE9IEF1ZGlvQ29tcG9uZW50
RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zKCZyZWdpc3RyYXRpb25zKSB8fCAhcmVnaXN0cmF0aW9u
cykKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0
Y2goW3dlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIHJlZ2lzdHJhdGlvbnMgPSBhZG9wdENG
KHJlZ2lzdHJhdGlvbnMpXSAoKSBtdXRhYmxlIHsKLSAgICAgICAgICAgIGlmICghd2Vha1RoaXMp
Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBhdXRvIHJlZ2lzdHJhdGlv
bkRhdGEgPSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0ZShyZWdpc3RyYXRpb25zLmdldCgp
KTsKLSAgICAgICAgICAgIHdlYWtUaGlzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpDb25z
dW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKHsgcmVnaXN0cmF0aW9uRGF0YSB9KSwgMCk7
Ci0gICAgICAgIH0pOwotICAgIH0pOwotfQotCiBib29sIFdlYlByb2Nlc3NQcm94eTo6bWVzc2Fn
ZVNvdXJjZUlzVmFsaWRXZWJDb250ZW50UHJvY2VzcygpCiB7CiAgICAgaWYgKCFoYXNDb25uZWN0
aW9uKCkpIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJv
eHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9j
ZXNzUHJveHkuY3BwCShyZXZpc2lvbiAyODQ2MDMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsMTAg
QEAKICNpbmNsdWRlIDx3dGYvRmlsZVN5c3RlbS5oPgogI2VuZGlmCiAKKyNpZiBQTEFURk9STShD
T0NPQSkKKyNpbmNsdWRlICJBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oIgorI2VuZGlmCisK
ICNkZWZpbmUgTUVTU0FHRV9DSEVDSyhhc3NlcnRpb24pIE1FU1NBR0VfQ0hFQ0tfQkFTRShhc3Nl
cnRpb24sIHRoaXMtPmNvbm5lY3Rpb24oKSkKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00Mzks
NiArNDQzLDcgQEAgdm9pZCBHUFVQcm9jZXNzUHJveHk6OmRpZEZpbmlzaExhdW5jaGluZwogICAg
ICAgICBhdXRvIHdlYlNpdGVEYXRhU3RvcmUgPSBXZWJzaXRlRGF0YVN0b3JlOjpleGlzdGluZ0Rh
dGFTdG9yZUZvclNlc3Npb25JRCgqbV9zZXNzaW9uSURzLmJlZ2luKCkpOwogICAgICAgICBtX2hh
c1NlbnRMYXVuY2hTZXJ2aWNlc0RhdGFiYXNlID0gd2ViU2l0ZURhdGFTdG9yZS0+c2VuZE5ldHdv
cmtQcm9jZXNzWFBDRW5kcG9pbnRUb1Byb2Nlc3MoKnRoaXMpOwogICAgIH0KKyAgICBzZW5kQXVk
aW9Db21wb25lbnRSZWdpc3RyYXRpb25zPE1lc3NhZ2VzOjpHUFVQcm9jZXNzOjpDb25zdW1lQXVk
aW9Db21wb25lbnRSZWdpc3RyYXRpb25zPigqdGhpcyk7CiAjZW5kaWYKIH0KIApJbmRleDogU291
cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Q
cm9jZXNzLnNiLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNz
L21hYy9jb20uYXBwbGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYi5pbgkocmV2aXNpb24gMjg0
NjAzKQorKysgU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJL
aXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluCSh3b3JraW5nIGNvcHkpCkBAIC0zMjcsNyArMzI3LDYg
QEAKICNpZiBQTEFURk9STShNQUMpCiAgICAgKHdpdGggcmVwb3J0KSAod2l0aCB0ZWxlbWV0cnkp
CiAjZW5kaWYKLSAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVu
dFJlZ2lzdHJhciIpCiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuYXdkZCIpCiAjaWYgIUVO
QUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmNm
cHJlZnNkLmFnZW50IikKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjg0NjAzKQorKysgU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTA1NSwxMiAr
MTA1NSwxMiBAQAogCQk1MTNFNDYyRDFBRDgzNzU2MDAxNjIzNEEgLyogV0tTaGFyaW5nU2Vydmlj
ZVBpY2tlckRlbGVnYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MTNFNDYyQjFBRDgzNzU2MDAxNjIzNEEgLyogV0tTaGFyaW5nU2VydmljZVBpY2tl
ckRlbGVnYXRlLmggKi87IH07CiAJCTUxM0ZGQjkxMjAxNDU5QzYwMDI1OTZFQSAvKiBXZWJNZXNz
YWdlUG9ydENoYW5uZWxQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTEzRkZCOEYyMDE0NTlDMjAwMjU5NkVBIC8qIFdlYk1lc3NhZ2VQb3J0
Q2hhbm5lbFByb3ZpZGVyLmggKi87IH07CiAJCTUxNDEyOTk0MUM2NDI4QkIwMDU5RTcxNCAvKiBX
ZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxNDEyOTkyMUM2NDI4MTAwMDU5RTcxNCAvKiBXZWJJREJDb25uZWN0
aW9uVG9TZXJ2ZXIuaCAqLzsgfTsKKwkJNTE0NTI2RUQyNzFFMTY0NzAwMDQ2N0I2IC8qIE5ldHdv
cmtOb3RpZmljYXRpb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MTQ1MjZFQjI3MUUxNjI2MDAwNDY3QjYgLyogTmV0d29ya05vdGlmaWNh
dGlvbk1hbmFnZXIuaCAqLzsgfTsKIAkJNTE0NTI2RkYyNzFGQjdFQzAwMDQ2N0I2IC8qIE5vdGlm
aWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0NTI2RkUyNzFGQjdFODAwMDQ2N0I2IC8qIE5vdGlmaWNh
dGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlci5oICovOyB9OwogCQk1MTQ1MjcwMzI3MUZCQTNBMDAw
NDY3QjYgLyogTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyTWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNDUy
NzAyMjcxRkJBMzYwMDA0NjdCNiAvKiBOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQk1MTQ1MjcwNDI3MUZCQTQwMDAwNDY3QjYgLyog
Tm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyTWVzc2FnZXNSZXBsaWVzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTQ1MjcwMDI3MUZCQTM0
MDAwNDY3QjYgLyogTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyTWVzc2FnZXNSZXBs
aWVzLmggKi87IH07CiAJCTUxNDUyNzA1MjcxRkJBNDAwMDA0NjdCNiAvKiBOb3RpZmljYXRpb25N
YW5hZ2VyTWVzc2FnZUhhbmRsZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0NTI3MDEyNzFGQkEzNTAwMDQ2N0I2IC8qIE5vdGlmaWNh
dGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlck1lc3NhZ2VzLmggKi87IH07CiAJCTUxNDUyNzA4Mjcx
RkJFQzYwMDA0NjdCNiAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNDUyNzA3Mjcx
RkJFQzEwMDA0NjdCNiAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIuaCAq
LzsgfTsKLQkJNTE0NTI2RUQyNzFFMTY0NzAwMDQ2N0I2IC8qIE5ldHdvcmtOb3RpZmljYXRpb25N
YW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTQ1MjZFQjI3MUUxNjI2MDAwNDY3QjYgLyogTmV0d29ya05vdGlmaWNhdGlvbk1hbmFnZXIuaCAq
LzsgfTsKIAkJNTE0ODlDQzMyMzcwREJGQTAwNDRFNjhBIC8qIFdLRmluZFJlc3VsdC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0ODlDQzEyMzcwREFD
QzAwNDRFNjhBIC8qIFdLRmluZFJlc3VsdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFB1YmxpYywgKTsgfTsgfTsKIAkJNTE0ODlDQzcyMzcyMzc4MDAwNDRFNjhBIC8qIFdLRmluZFJl
c3VsdEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MTQ4OUNDNjIzNzIzNzc4MDA0NEU2OEEgLyogV0tGaW5kUmVzdWx0SW50ZXJuYWwuaCAq
LzsgfTsKIAkJNTE0QUI5RjAyMzYwRDJBOTAwRURDMzk2IC8qIFdLRmluZENvbmZpZ3VyYXRpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNEFCOUVG
MjM1RkE1OUIwMEVEQzM5NiAvKiBXS0ZpbmRDb25maWd1cmF0aW9uLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwpAQCAtMjAyNyw2ICsyMDI3LDggQEAKIAkJ
RTM4QTFGQzAyM0E1NTFCRjAwRDIzNzRGIC8qIFVzZXJJbnRlcmZhY2VJZGlvbS5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOEExRkJGMjNBNTUxQkYw
MEQyMzc0RiAvKiBVc2VySW50ZXJmYWNlSWRpb20ubW0gKi87IH07CiAJCUUzOTYyOEREMjM5NjBD
QzYwMDY1OEVDRCAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzk2MjhEQjIzOTYwQ0M1
MDA2NThFQ0QgLyogV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5oICovOyB9Owog
CQlFMzk2MjhERTIzOTYwQ0M2MDA2NThFQ0QgLyogV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQ
cm92aWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFMzk2MjhEQzIzOTYwQ0M2MDA2NThFQ0QgLyogV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQ
cm92aWRlci5jcHAgKi87IH07CisJCUUzQzIzOTZEMjcyMUM5QzIwMEUzNzUzNyAvKiBBdWRpb0Nv
bXBvbmVudFJlZ2lzdHJhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFM0MyMzk2QjI3MjFDOUMxMDBFMzc1MzcgLyogQXVkaW9Db21wb25lbnRS
ZWdpc3RyYXRpb24uY3BwICovOyB9OworCQlFM0MyMzk2RTI3MjFDOUMyMDBFMzc1MzcgLyogQXVk
aW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUzQzIzOTZDMjcyMUM5QzIwMEUzNzUzNyAvKiBBdWRpb0NvbXBvbmVu
dFJlZ2lzdHJhdGlvbi5oICovOyB9OwogCQlFM0NBQUE0NDI0MTMyNzk5MDBDRUQyRTIgLyogQWNj
ZXNzaWJpbGl0eVN1cHBvcnRTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzQ0FBQTQzMjQxMzI3OEEwMENFRDJFMiAvKiBBY2Nlc3NpYmlsaXR5U3Vw
cG9ydFNQSS5oICovOyB9OwogCQlFNDEzRjU5RDFBQzFBREM0MDAzNDUzNjAgLyogTmV0d29ya0Nh
Y2hlRW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEU0MTNGNTlCMUFDMUFEQjYwMDM0NTM2MCAvKiBOZXR3b3JrQ2FjaGVFbnRyeS5oICovOyB9Owog
CQlFNDJFMDYxMDFBQTc1MjNCMDBCMTE2OTkgLyogTmV0d29ya0NhY2hlSU9DaGFubmVsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDJFMDYwQjFBQTc0
NDBEMDBCMTE2OTkgLyogTmV0d29ya0NhY2hlSU9DaGFubmVsLmggKi87IH07CkBAIC00MTY3LDYg
KzQxNjksOCBAQAogCQk1MTQxMjk5MjFDNjQyODEwMDA1OUU3MTQgLyogV2ViSURCQ29ubmVjdGlv
blRvU2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYklEQkNvbm5l
Y3Rpb25Ub1NlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTQzQjI1RTFE
RENERkQxMDAxNEZBQzYgLyogX1dLSWNvbkxvYWRpbmdEZWxlZ2F0ZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBfV0tJY29uTG9hZGluZ0RlbGVnYXRlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTUxNDNCMjYxMURERDBEQTAwMDE0RkFDNiAvKiBBUElJY29uTG9h
ZGluZ0NsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBUElJY29uTG9h
ZGluZ0NsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTQ1MjZFQjI3MUUx
NjI2MDAwNDY3QjYgLyogTmV0d29ya05vdGlmaWNhdGlvbk1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0d29ya05vdGlmaWNhdGlvbk1hbmFnZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTE0NTI2RUMyNzFFMTYyNzAwMDQ2N0I2IC8qIE5ldHdv
cmtOb3RpZmljYXRpb25NYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE5ldHdvcmtOb3RpZmljYXRpb25NYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTE0NTI2RkMyNzFGQjdFODAwMDQ2N0I2IC8qIE5vdGlmaWNhdGlvbk1hbmFn
ZXJNZXNzYWdlSGFuZGxlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOb3Rp
ZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTUxNDUyNkZFMjcxRkI3RTgwMDA0NjdCNiAvKiBOb3RpZmljYXRpb25N
YW5hZ2VyTWVzc2FnZUhhbmRsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Tm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTUxNDUyNzAwMjcxRkJBMzQwMDA0NjdCNiAvKiBOb3RpZmljYXRpb25NYW5hZ2Vy
TWVzc2FnZUhhbmRsZXJNZXNzYWdlc1JlcGxpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyTWVzc2FnZXNSZXBsaWVz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MTc0LDggKzQxNzgsNiBAQAogCQk1
MTQ1MjcwMjI3MUZCQTM2MDAwNDY3QjYgLyogTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5k
bGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlck1lc3NhZ2VSZWNlaXZlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxNDUyNzA2MjcxRkJFQzEwMDA0NjdCNiAv
KiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5k
bGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE0NTI3MDcyNzFGQkVDMTAw
MDQ2N0I2IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhh
bmRsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTE0NTI2RUIyNzFFMTYyNjAw
MDQ2N0I2IC8qIE5ldHdvcmtOb3RpZmljYXRpb25NYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtOb3RpZmljYXRpb25NYW5hZ2VyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTUxNDUyNkVDMjcxRTE2MjcwMDA0NjdCNiAvKiBOZXR3b3JrTm90
aWZpY2F0aW9uTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBOZXR3b3JrTm90aWZpY2F0aW9uTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTUxNDg5Q0MxMjM3MERBQ0MwMDQ0RTY4QSAvKiBXS0ZpbmRSZXN1bHQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tGaW5kUmVzdWx0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTUxNDg5Q0MyMjM3MERBQ0MwMDQ0RTY4QSAvKiBXS0ZpbmRSZXN1bHQu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS0ZpbmRSZXN1bHQu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxNDg5Q0M2MjM3MjM3NzgwMDQ0RTY4
QSAvKiBXS0ZpbmRSZXN1bHRJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXS0ZpbmRSZXN1bHRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtNjEwOSw2ICs2MTExLDggQEAKIAkJRTNBODZGQkMyNjk1OEUzMzAwNTkyNjREIC8qIFdlYkNh
cHRpb25QcmVmZXJlbmNlc0RlbGVnYXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNhcHRp
b25QcmVmZXJlbmNlc0RlbGVnYXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RTNCQ0U4NzcyNjcyNTIxMjAwMTFEOERCIC8qIEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlFM0JDRTg3ODI2NzI1MjEyMDAxMUQ4REIgLyogQWNjZXNz
aWJpbGl0eVByZWZlcmVuY2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlQcmVmZXJl
bmNlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFM0MyMzk2QjI3MjFDOUMxMDBF
Mzc1MzcgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFM0MyMzk2QzI3MjFDOUMyMDBFMzc1MzcgLyogQXVk
aW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTNDQUFBNDMyNDEzMjc4QTAwQ0VEMkUyIC8qIEFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJ
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTdXBwb3J0
U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzRUZCMDJDMjU1MDYxN0MwMDND
MkY5NiAvKiBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdl
YlN5c3RlbVNvdW5kRGVsZWdhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
M0VGQjAyRDI1NTA2MTdDMDAzQzJGOTYgLyogV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC04NTc1LDYgKzg1NzksOCBAQAogCQkJCTM3OEUxQTNCMTgxRUQ2RkYwMDMxMDA3
QSAvKiBBUElPYmplY3QubW0gKi8sCiAJCQkJQTE3NUM0NDkyMUFBMzE3MDAwMDAzN0QwIC8qIEFy
Z3VtZW50Q29kZXJzQ29jb2EuaCAqLywKIAkJCQlBMTc1QzQ0QjIxQUEzMzFCMDAwMDM3RDAgLyog
QXJndW1lbnRDb2RlcnNDb2NvYS5tbSAqLywKKwkJCQlFM0MyMzk2QjI3MjFDOUMxMDBFMzc1Mzcg
LyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwICovLAorCQkJCUUzQzIzOTZDMjcyMUM5
QzIwMEUzNzUzNyAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oICovLAogCQkJCTFBNjk4
RjE3MUU0OTEwMjIwMDY0RTg4MSAvKiBBdXhpbGlhcnlQcm9jZXNzQ29jb2EubW0gKi8sCiAJCQkJ
Q0UxMUFENTExQ0JDNDgyRjAwNjgxRUU1IC8qIENvZGVTaWduaW5nLmggKi8sCiAJCQkJQ0UxMUFE
NEYxQ0JDNDdGODAwNjgxRUU1IC8qIENvZGVTaWduaW5nLm1tICovLApAQCAtMTIzNDQsNiArMTIz
NTAsNyBAQAogCQkJCTdCMURCMjY2MjU2NjhDRTEwMDBFMjZCQyAvKiBBcnJheVJlZmVyZW5jZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQUFGQTYzNEYyMzRGN0M2NDAwRkZBODY0IC8qIEFzeW5jUmV2
YWxpZGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VFOTY2RDExMkZBRjU3MDA2QkNDMjQg
LyogQXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTNDMjM5NkUyNzIxQzlDMjAwRTM3
NTM3IC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MTJGNTg5NzEyQTg4Mzg4MDA2Mjk1MzAgLyogQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTEyRjU4OTkxMkE4ODM4ODAwNjI5NTMwIC8qIEF1dGhlbnRp
Y2F0aW9uRGVjaXNpb25MaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4RThFRjkxNkIy
MDkxQzAwRTkxNDI5IC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCkBA
IC0xMjUyNiw3ICsxMjUzMyw2IEBACiAJCQkJMUE2RDg2QzIxREY3NTI2NTAwNzc0NUU4IC8qIE1h
Y2hNZXNzYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0M1NkY3OTExNTk5NTdEMDAxQ0NBRjkg
LyogTWFjaFBvcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMjRCNUYzMTFGNTMxRTgwMEMzODI2
OSAvKiBNYWNoVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MTQ1MjZGRjI3MUZCN0VD
MDAwNDY3QjYgLyogTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBMTU3OTlCRTI1ODQ0MzMyMDA1MjgyMzYgLyogTWVkaWFGb3JtYXRSZWFkZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTlBQ0MwN0IxMjVDODE1RDgwMERDNjM4NiAvKiBNZWRpYUtl
eVN5c3RlbVBlcm1pc3Npb25SZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5QUNDMDdBRDI1
QzgxMzJEMDBEQzYzODYgLyogTWVkaWFLZXlTeXN0ZW1QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIu
aCBpbiBIZWFkZXJzICovLApAQCAtMTI1NjEsNyArMTI1NjcsNiBAQAogCQkJCTFBRENCODZCMTg5
ODMxQjMwMDIyRUU1QSAvKiBOYXZpZ2F0aW9uQWN0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTdGRDMxODAyMkIzNTE1ODAwOEQwRThCIC8qIE5hdmlnYXRpb25TT0F1dGhvcml6YXRpb25T
ZXNzaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUJDM0RGNjE4OTlFNDM3MDA0RjA2MjYgLyog
TmF2aWdhdGlvblN0YXRlLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MTQ1MjcwODI3MUZCRUM2MDAw
NDY3QjYgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1N0I4MjY0NDIzMDRGMTQwMDBCNzJFQjAgLyogTmVhckZpZWxkU29mdExpbmsu
aCBpbiBIZWFkZXJzICovLAogCQkJCTU3QjgyNjQxMjMwNEVCM0UwMEI3MkVCMCAvKiBOZWFyRmll
bGRTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNkZCQTJBMTFFNjg2MjcwMERCMTM3MSAvKiBO
ZXRzY2FwZUJyb3dzZXJGdW5jcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMjU5Miw5ICsxMjU5Nyw5
IEBACiAJCQkJODNENDU0RDcxQkU5RDNDNDAwNkM5M0JEIC8qIE5ldHdvcmtMb2FkQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk4MzkxNDk2NTFCRUE4Mzg1MDBEMkQ5NTMgLyogTmV0d29ya0xv
YWRQYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDdGQzhBMDI1QjgzMzFDMDA1NDk1
RkMgLyogTmV0d29ya0xvYWRTY2hlZHVsZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxNDUyNkVE
MjcxRTE2NDcwMDA0NjdCNiAvKiBOZXR3b3JrTm90aWZpY2F0aW9uTWFuYWdlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTE3OTU1NkExNjI4NzZGMzAwRkE0M0I2IC8qIE5ldHdvcmtQcm9jZXNzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MTdDRjBFNDE2M0E0ODZDMDBDMjk1MEUgLyogTmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAotCQkJCTUxNDUyNzA0Mjcx
RkJBNDAwMDA0NjdCNiAvKiBOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXJNZXNzYWdl
c1JlcGxpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDMTQyNkVEMUMyM0Y4MDkwMEQ0MTE4MyAv
KiBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTE2MzE5OTUxNjI4OUE2MzAwRTIyRjAwIC8qIE5ldHdvcmtQcm9jZXNzTWVzc2FnZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUUxNEE5NTRBMTZFMDE2QTQwMDY4REU4MiAvKiBOZXR3b3JrUHJvY2Vz
c1BsYXRmb3JtU3RyYXRlZ2llcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMjYxNSw2ICsxMjYyMCw5
IEBACiAJCQkJOTMwODVEREYyNkU1QkNGMTAwMEVDNkE3IC8qIE5ldHdvcmtTdG9yYWdlTWFuYWdl
ck1lc3NhZ2VzUmVwbGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTcwREFBQzIyMzAzNzMwMzAw
RThGQzA0IC8qIE5mY0Nvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MERBQUFFMjMw
MjZGNUMwMEU4RkMwNCAvKiBOZmNTZXJ2aWNlLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTQ1MjZG
RjI3MUZCN0VDMDAwNDY3QjYgLyogTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk1MTQ1MjcwNTI3MUZCQTQwMDAwNDY3QjYgLyogTm90aWZpY2F0
aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTUx
NDUyNzA0MjcxRkJBNDAwMDA0NjdCNiAvKiBOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRs
ZXJNZXNzYWdlc1JlcGxpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxQTJFQzU2MTQ4OTlDMDkw
MDgxMEQ3MSAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMzEzMTI2MUYxNDhGRjgyQzAwQkEyQTM5IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEyRDg0OEIxMjdGNkE0OTAwMUVC
OTYyIC8qIE5QSWRlbnRpZmllckRhdGEuaCBpbiBIZWFkZXJzICovLApAQCAtMTI2OTEsNiArMTI2
OTksNyBAQAogCQkJCUMxNUNCQjM2MjNGMzc3NzEwMDMwMENDNyAvKiBQcmVmZXJlbmNlT2JzZXJ2
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUFBQjE0NUU2MjIzRjkzMTIwMEU0ODlEOCAvKiBQcmVm
ZXRjaENhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUNDMUI5MDEyRDdFQURGMDA2MjU4Mzgg
LyogUHJpbnRJbmZvLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTJFQ0MzNTI3MTk2QURCMDAwODlC
NjYgLyogUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQk1QzgyNkQ2QzI2RDQ4MkYyMDA4QUVDOTEgLyogUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRE
YXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkJEMDU4NjUyMjBDRThDMjAwMEJFRDVDIC8q
IFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTdG
RTY4OEMyNjBBQkIzRDAwQkY0NUU0IC8qIFByaXZhdGVDbGlja01lYXN1cmVtZW50TmV0d29ya0xv
YWRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMjc1NCw3ICsxMjc2Myw2IEBACiAJCQkJRjQ1MTdE
N0IyNkZCQ0QzOTAwNEM4NDc1IC8qIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRNZXNzYWdlc1JlcGxp
ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUY0MTRDRTJEMjY5REU2RUEwMEJEMjE2QSAvKiBSZW1v
dGVSZW5kZXJpbmdCYWNrZW5kU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNTk0NzkwMTg3
QjNCM0EwMDQzNzg1NyAvKiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvci5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJNTEyRUNDMzUyNzE5NkFEQjAwMDg5QjY2IC8qIFByaXZhdGVDbGlja01lYXN1cmVt
ZW50Q29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1OTQ3QTgxODdCNTE3NjAwNDM3
ODU3IC8qIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yTWVzc2FnZXMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTBGNTk0NzlCMTg3QjNCNjAwMDQzNzg1NyAvKiBSZW1vdGVTY3JvbGxpbmdDb29yZGlu
YXRvclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjU5NDdBNDE4N0IzQjdEMDA0Mzc4NTcg
LyogUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8s
CkBAIC0xMjgyNyw3ICsxMjgzNSw2IEBACiAJCQkJOTM2OEVFREYyMzAzQTlFRDAwQkRCMTFBIC8q
IFN0b3JhZ2VNYW5hZ2VyU2V0TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ2NUY0RTA2
MjMwQjJFOTUwMDNDRURCNyAvKiBTdG9yYWdlTmFtZXNwYWNlSWRlbnRpZmllci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJN0I3MzEyM0MyNUNDODUyNTAwM0IyNzk2IC8qIFN0cmVhbUNsaWVudENvbm5l
Y3Rpb24uaCBpbiBIZWFkZXJzICovLAotCQkJCTUxNDUyNzA1MjcxRkJBNDAwMDA0NjdCNiAvKiBO
b3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZUhhbmRsZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJN0I3MzEyM0EyNUNDODUyNTAwM0IyNzk2IC8qIFN0cmVhbUNvbm5lY3Rpb25CdWZmZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdCNzMxMjQyMjVDQzg1MjUwMDNCMjc5NiAvKiBTdHJlYW1D
b25uZWN0aW9uRW5jb2Rlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0I3MzEyM0UyNUNDODUyNTAw
M0IyNzk2IC8qIFN0cmVhbUNvbm5lY3Rpb25Xb3JrUXVldWUuaCBpbiBIZWFkZXJzICovLApAQCAt
MTI4OTUsNyArMTI5MDIsNiBAQAogCQkJCTU3NDJBMzE4MjUzNjQ4RTUwMEI3QkExNCAvKiBXZWJB
dXRoblByb2Nlc3MuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MkVCQkQ1MjUzNkM4ODUwMDA1NTJC
MyAvKiBXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzJF
QkJDQzI1MzZCMDRGMDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbkluZm8uaCBp
biBIZWFkZXJzICovLAotCQkJCTUxNDUyNkVEMjcxRTE2NDcwMDA0NjdCNiAvKiBOZXR3b3JrTm90
aWZpY2F0aW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc0MkEzMDgyNTM1OEEwNDAw
QjdCQTE0IC8qIFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNTcyRUJCQzIyNTM2QTYwQTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc01lc3Nh
Z2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzJFQkJDOTI1MzZBRkQ1MDAwNTUyQjMgLyogV2Vi
QXV0aG5Qcm9jZXNzUHJveHkuaCBpbiBIZWFkZXJzICovLApAQCAtMTMwMjgsNiArMTMwMzQsNyBA
QAogCQkJCTMxQTJFQzQ5MTQ4OTk3QzIwMDgxMEQ3MSAvKiBXZWJOb3RpZmljYXRpb24uaCBpbiBI
ZWFkZXJzICovLAogCQkJCTMxMDk5OUM3MTQ2QzlFM0QwMDI5REVCOSAvKiBXZWJOb3RpZmljYXRp
b25DbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxMzEyNjIxMTQ4RkY4MkMwMEJBMkEzOSAv
KiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTQ1MjcwODI3
MUZCRUM2MDAwNDY3QjYgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VIYW5kbGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkzMUJBOTI0RTE0ODgzMTI2MDA2MkVEQjUgLyogV2ViTm90aWZp
Y2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUEyRUM0QjE0ODk5
N0MyMDA4MTBENzEgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAq
LywKIAkJCQkzMUEyRUM0RTE0ODk5N0MyMDA4MTBENzEgLyogV2ViTm90aWZpY2F0aW9uUHJvdmlk
ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMTQ2NzksNyArMTQ2ODYsNiBAQAogCQkJYnVpbGRBY3Rp
b25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAogCQkJCTU3OTBBNjcxMjU2NzlGMUEw
MDc3QzVBNyAvKiBfV0tBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMubW0gaW4g
U291cmNlcyAqLywKLQkJCQk1MTQ1MjcwMzI3MUZCQTNBMDAwNDY3QjYgLyogTm90aWZpY2F0aW9u
TWFuYWdlck1lc3NhZ2VIYW5kbGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTU3OTBBNjdEMjU2N0ExM0UwMDc3QzVBNyAvKiBfV0tBdXRoZW50aWNhdGlvbkV4dGVuc2lv
bnNDbGllbnRPdXRwdXRzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTc5MEE2ODkyNTY3QTI4QTAw
NzdDNUE3IC8qIF9XS0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTU3OTBBNjg1MjU2N0EyMUUwMDc3QzVBNyAvKiBfV0tBdXRoZW50aWNhdG9yQXR0
ZXN0YXRpb25SZXNwb25zZS5tbSBpbiBTb3VyY2VzICovLApAQCAtMTQ3MDEsNiArMTQ3MDcsNyBA
QAogCQkJCTJEOTJBNzdCMjEyQjZBNzEwMEY0OTNGRCAvKiBBcmd1bWVudENvZGVycy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkyREVCMUQyRTIxMjc0NzM2MDA5MzM5MDYgLyogQXJndW1lbnRDb2Rl
cnNDRi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkyQTc3QzIxMkI2QTcxMDBGNDkzRkQgLyog
QXR0YWNobWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlFM0MyMzk2RDI3MjFDOUMyMDBFMzc1
MzcgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
Q0Q0NTcwRDQyNDQxMUQwRjAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9y
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNENDU3MEQzMjQ0MTEzQjUwMEEzRENFQiAvKiBBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTUxMkY1OEEyMTJBODgzQUQwMDYyOTUzMCAvKiBBdXRoZW50aWNhdGlvbk1h
bmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xNDc2NSw2ICsxNDc3
Miw3IEBACiAJCQkJMzFGMDYwRTExNjU0MzE4NTAwRjMyODFDIC8qIE5ldHdvcmtTb2NrZXRDaGFu
bmVsTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVDMEIxNzc4MUU3Qzg4
MEUwMEU5MTIzQyAvKiBOZXR3b3JrU29ja2V0U3RyZWFtTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTkzMDg1REQyMjZFMkY1OEQwMDBFQzZBNyAvKiBOZXR3b3JrU3RvcmFn
ZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTE0NTI3MDMy
NzFGQkEzQTAwMDQ2N0I2IC8qIE5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlSGFuZGxlck1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkyQTc5MDIxMkI2QUQ0MDBGNDkz
RkQgLyogTlBJZGVudGlmaWVyRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkxMzQ0NjIx
MkNGOUYwMDAxMjhBRkQgLyogTlBKU09iamVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDky
QTc5MTIxMkI2QUQ0MDBGNDkzRkQgLyogTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vz
c0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI4NDYwMykKKysrIFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTI3LDYg
KzI3LDcgQEAKICNpbXBvcnQgIldlYlByb2Nlc3MuaCIKIAogI2ltcG9ydCAiQWNjZXNzaWJpbGl0
eVN1cHBvcnRTUEkuaCIKKyNpbXBvcnQgIkF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgiCiAj
aW1wb3J0ICJHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIkxlZ2Fj
eUN1c3RvbVByb3RvY29sTWFuYWdlci5oIgogI2ltcG9ydCAiTG9nSW5pdGlhbGl6YXRpb24uaCIK
QEAgLTEyNzgsMTggKzEyNzksNyBAQCB2b2lkIFdlYlByb2Nlc3M6OnN5c3RlbURpZFdha2UoKQog
CiB2b2lkIFdlYlByb2Nlc3M6OmNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoY29u
c3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhKQogewotICAgIHVzaW5nIG5hbWVzcGFjZSBQQUw7
Ci0KLSAgICBpZiAoIVBBTDo6aXNBdWRpb1Rvb2xib3hDb3JlRnJhbWV3b3JrQXZhaWxhYmxlKCkg
fHwgIVBBTDo6Y2FuTG9hZF9BdWRpb1Rvb2xib3hDb3JlX0F1ZGlvQ29tcG9uZW50QXBwbHlTZXJ2
ZXJSZWdpc3RyYXRpb25zKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGF1dG8gcmVnaXN0cmF0
aW9ucyA9IGFkb3B0Q0YoQ0ZEYXRhQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGRhdGEuZGF0
YSgpLCBkYXRhLnNpemUoKSkpOwotICAgIGlmICghcmVnaXN0cmF0aW9ucykKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgYXV0byBlcnIgPSBBdWRpb0NvbXBvbmVudEFwcGx5U2VydmVyUmVnaXN0cmF0
aW9ucyhyZWdpc3RyYXRpb25zLmdldCgpKTsKLSAgICBpZiAobm9FcnIgIT0gZXJyKQotICAgICAg
ICBXRUJQUk9DRVNTX1JFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3MsICJDb3VsZCBub3QgYXBwbHkg
QXVkaW9Db21wb25lbnQgcmVnaXN0cmF0aW9ucywgZXJyKCVsZCkiLCBzdGF0aWNfY2FzdDxsb25n
PihlcnIpKTsKKyAgICBXZWJLaXQ6OmNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMo
ZGF0YSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>
<flag name="commit-queue"
          id="466510"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443559</attachid>
            <date>2021-11-08 09:48:54 -0800</date>
            <delta_ts>2021-11-08 09:51:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231694-20211108094853.patch</filename>
            <type>text/plain</type>
            <size>14500</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODQ5OTEpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDIxLTExLTA4ICBQZXIgQXJuZSBW
b2xsYW4gPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU11bR1BVUF0gUmVtb3Zl
IGFjY2VzcyBpbiBzYW5kYm94IHRvIGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lz
dHJhcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMx
Njk0CisgICAgICAgIDxyZGFyOi8vNzUyMjU5MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJl
bnQgRnVsZ2hhbS4KKworICAgICAgICBBZnRlciBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvMjc0NDM1L3dlYmtpdCwgdGhlcmUgaXMgbm8gbmVlZCB0byBhbGxvdyBhY2Nlc3MgdG8g
dGhpcyBzZXJ2aWNlLiBUaGlzIHBhdGNoIGFsc28gaW1wbGVtZW50cyBzZW5kaW5nCisgICAgICAg
IHRoZSBBdWRpbyBjb21wb25lbnQgcmVnaXN0cmF0aW9ucyB0byB0aGUgR1BVIHByb2Nlc3MsIHdo
aWNoIGlzIGEgcmVxdWlyZW1lbnQgYmVmb3JlIGJsb2NraW5nIHRoZSBzZXJ2aWNlIGluIHRoZSBH
UFUgcHJvY2Vzcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAgICAg
ICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9j
ZXNzL2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vz
czo6Y29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisgICAgICAgICogR1BVUHJv
Y2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluOgorICAgICAgICAqIFNo
YXJlZC9Db2NvYS9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViS2l0Ojpjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKToKKyAgICAgICAg
KiBTaGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaDogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OnNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc1Byb3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1bmNoaW5nKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojpy
ZXZva2VBdWRpb0NhcHR1cmVFeHRlbnNpb24pOgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9t
YWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW46CisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmNvbnN1
bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorCiAyMDIxLTEwLTI4ICBUaW0gSG9ydG9u
ICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIERPTSBHUFVQOiBZYWhvby5j
b20gaGFzIGZyYWdtZW50cyBvZiB3cm9uZ2x5LXNjYWxlZCBjb250ZW50IHRocm91Z2hvdXQKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaAkocmV2aXNpb24gMjg0NzgzKQor
KysgU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaAkod29ya2luZyBjb3B5KQpA
QCAtMjgsNiArMjgsNyBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKIAogI2luY2x1ZGUgIkF1
eGlsaWFyeVByb2Nlc3MuaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAi
U2FuZGJveEV4dGVuc2lvbi5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eUlkZW50aWZpZXIuaCIK
ICNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ0VudW1UcmFpdHMuaD4KQEAgLTEwMCw2ICsxMDEs
MTAgQEAgcHVibGljOgogCiAgICAgY29uc3QgU3RyaW5nJiBhcHBsaWNhdGlvblZpc2libGVOYW1l
KCkgY29uc3QgeyByZXR1cm4gbV9hcHBsaWNhdGlvblZpc2libGVOYW1lOyB9CiAKKyNpZiBQTEFU
Rk9STShDT0NPQSkKKyAgICB2b2lkIGNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMo
Y29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJik7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICB2b2lk
IGxvd01lbW9yeUhhbmRsZXIoQ3JpdGljYWwsIFN5bmNocm9ub3VzKTsKIApJbmRleDogU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4JKHJldmlzaW9u
IDI4NDc4MykKKysrIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2Vz
LmluCSh3b3JraW5nIGNvcHkpCkBAIC02OCw2ICs2OCwxMCBAQCBtZXNzYWdlcyAtPiBHUFVQcm9j
ZXNzIExlZ2FjeVJlY2VpdmVyIHsKICNpZiBFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKICAg
ICBOb3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoU3RyaW5nIGRvbWFpbiwgU3RyaW5nIGtleSwgc3Rk
OjpvcHRpb25hbDxTdHJpbmc+IGVuY29kZWRWYWx1ZSkKICNlbmRpZgorCisjaWYgUExBVEZPUk0o
Q09DT0EpCisgICAgQ29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhJUEM6OlNoYXJl
ZEJ1ZmZlckRhdGFSZWZlcmVuY2UgcmVnaXN0cmF0aW9uRGF0YSkKKyNlbmRpZgogfQogCiAjZW5k
aWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQpJbmRleDogU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvY29jb2EvR1BVUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyODQ3ODMpCisrKyBT
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvY29jb2EvR1BVUHJvY2Vzc0NvY29hLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIFBM
QVRGT1JNKENPQ09BKQogCisjaW1wb3J0ICJBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oIgog
I2ltcG9ydCAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgogI2ltcG9ydCAiUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZC5oIgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpAQCAtNzUsNiArNzYs
MTEgQEAgdm9pZCBHUFVQcm9jZXNzOjpkaXNwYXRjaFNpbXVsYXRlZE5vdGlmaQogCiAjZW5kaWYg
Ly8gRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCiAKK3ZvaWQgR1BVUHJvY2Vzczo6Y29uc3Vt
ZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRh
dGEpCit7CisgICAgV2ViS2l0Ojpjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKGRh
dGEpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShHUFVf
UFJPQ0VTUykgJiYgUExBVEZPUk0oQ09DT0EpCkluZGV4OiBTb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYi5pbgo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5z
Yi5pbgkocmV2aXNpb24gMjg0NzgzKQorKysgU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9j
b20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4JKHdvcmtpbmcgY29weSkKQEAgLTcxNyw4
ICs3MTcsMTAgQEAKIChhbGxvdyBpcGMtcG9zaXgtc2htLXJlYWQqIGlwYy1wb3NpeC1zaG0td3Jp
dGUtZGF0YSAod2l0aCB0ZWxlbWV0cnkpCiAgICAgKGlwYy1wb3NpeC1uYW1lLXByZWZpeCAiQXVk
aW9JTyIpKQogCisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEyMDAwMAog
KGFsbG93IG1hY2gtbG9va3VwCiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuYXVkaW8uQXVk
aW9Db21wb25lbnRSZWdpc3RyYXIiKSkKKyNlbmRpZgogCiAjaWYgIUVOQUJMRShDRlBSRUZTX0RJ
UkVDVF9NT0RFKQogKGFsbG93IG1hY2gtbG9va3VwICh3aXRoIHRlbGVtZXRyeSkKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHJldmlzaW9uIDI4NDc4
MykKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTMxLDYgKzEzMSw3IEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09B
KQorI2luY2x1ZGUgIkF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgiCiAjaW5jbHVkZSAiRGVm
YXVsdFdlYkJyb3dzZXJDaGVja3MuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0dhbWVDb250cm9sbGVy
R2FtZXBhZFByb3ZpZGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9ISURHYW1lcGFkUHJvdmlkZXIu
aD4KQEAgLTg2Miw3ICs4NjMsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjppbml0aWFsaXplTmV3
V2ViUHJvCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIHByb2Nlc3Muc2VuZEF1
ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucygpOworICAgIHNlbmRBdWRpb0NvbXBvbmVudFJlZ2lz
dHJhdGlvbnM8TWVzc2FnZXM6OldlYlByb2Nlc3M6OkNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lz
dHJhdGlvbnM+KHByb2Nlc3MpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShNQUMpCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkocmV2aXNpb24gMjg0Nzgz
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTMzOSw4ICszMzksNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNBdWRpb0NhcHR1
cmVFeHRlbnNpb24oKSBjb25zdCB7IHJldHVybiBtX21lZGlhQ2FwdHVyZVNhbmRib3hFeHRlbnNp
b25zICYgQXVkaW87IH0KICAgICB2b2lkIGdyYW50QXVkaW9DYXB0dXJlRXh0ZW5zaW9uKCkgeyBt
X21lZGlhQ2FwdHVyZVNhbmRib3hFeHRlbnNpb25zIHw9IEF1ZGlvOyB9CiAgICAgdm9pZCByZXZv
a2VBdWRpb0NhcHR1cmVFeHRlbnNpb24oKSB7IG1fbWVkaWFDYXB0dXJlU2FuZGJveEV4dGVuc2lv
bnMgJj0gfkF1ZGlvOyB9Ci0KLSAgICB2b2lkIHNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlv
bnMoKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpICYmIFBMQVRGT1JN
KENPQ09BKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1By
b3h5Q29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0JKHJldmlzaW9uIDI4NDc4MykKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0zOSw3ICszOSw2IEBACiAjaW1wb3J0ICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbXBv
cnQgIldlYlByb2Nlc3NQb29sLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrcy5oPgotI2ltcG9ydCA8V2ViQ29yZS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oPgog
I2ltcG9ydCA8c3lzL3N5c2N0bC5oPgogI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAj
aW1wb3J0IDx3dGYvU2NvcGUuaD4KQEAgLTY0LDggKzYzLDYgQEAKICNpbmNsdWRlICJUQ0NTb2Z0
TGluay5oIgogI2VuZGlmCiAKLSNpbXBvcnQgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0TGluay5o
PgotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogc3RhdGljIGNvbnN0IFNlY29uZHMgdW5leHBlY3Rl
ZEFjdGl2aXR5RHVyYXRpb24gPSAxMF9zOwpAQCAtMjg5LDMxICsyODYsNiBAQCB2b2lkIFdlYlBy
b2Nlc3NQcm94eTo6aXNBWEF1dGhlbnRpY2F0ZWQoCiB9CiAjZW5kaWYKIAotdm9pZCBXZWJQcm9j
ZXNzUHJveHk6OnNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoKQotewotICAgIHVzaW5n
IG5hbWVzcGFjZSBQQUw7Ci0KLSAgICBpZiAoIVBBTDo6aXNBdWRpb1Rvb2xib3hDb3JlRnJhbWV3
b3JrQXZhaWxhYmxlKCkgfHwgIVBBTDo6Y2FuTG9hZF9BdWRpb1Rvb2xib3hDb3JlX0F1ZGlvQ29t
cG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zKCkpCi0gICAgICAgIHJldHVybjsKLQotICAg
IGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9nbG9iYWxfcXVldWUoRElTUEFUQ0hfUVVFVUVf
UFJJT1JJVFlfREVGQVVMVCwgMCksIFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9XSAoKSBt
dXRhYmxlIHsKLSAgICAgICAgQ0ZEYXRhUmVmIHJlZ2lzdHJhdGlvbnMgeyBudWxscHRyIH07Ci0K
LSAgICAgICAgV2ViQ29yZTo6cmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVkKCk7Ci0gICAgICAg
IFdlYkNvcmU6OnJlZ2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKCk7Ci0gICAgICAgIGlmIChu
b0VyciAhPSBBdWRpb0NvbXBvbmVudEZldGNoU2VydmVyUmVnaXN0cmF0aW9ucygmcmVnaXN0cmF0
aW9ucykgfHwgIXJlZ2lzdHJhdGlvbnMpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAg
UnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFt3ZWFrVGhpcyA9IFdURk1vdmUod2Vha1RoaXMpLCBy
ZWdpc3RyYXRpb25zID0gYWRvcHRDRihyZWdpc3RyYXRpb25zKV0gKCkgbXV0YWJsZSB7Ci0gICAg
ICAgICAgICBpZiAoIXdlYWtUaGlzKQotICAgICAgICAgICAgICAgIHJldHVybjsKLQotICAgICAg
ICAgICAgYXV0byByZWdpc3RyYXRpb25EYXRhID0gV2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpjcmVh
dGUocmVnaXN0cmF0aW9ucy5nZXQoKSk7Ci0gICAgICAgICAgICB3ZWFrVGhpcy0+c2VuZChNZXNz
YWdlczo6V2ViUHJvY2Vzczo6Q29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyh7IHJl
Z2lzdHJhdGlvbkRhdGEgfSksIDApOwotICAgICAgICB9KTsKLSAgICB9KTsKLX0KLQogYm9vbCBX
ZWJQcm9jZXNzUHJveHk6Om1lc3NhZ2VTb3VyY2VJc1ZhbGlkV2ViQ29udGVudFByb2Nlc3MoKQog
ewogICAgIGlmICghaGFzQ29ubmVjdGlvbigpKSB7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcAkocmV2aXNpb24gMjg0NzgzKQorKysg
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTYyLDYgKzYyLDEwIEBACiAjaW5jbHVkZSA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNl
bmRpZgogCisjaWYgUExBVEZPUk0oQ09DT0EpCisjaW5jbHVkZSAiQXVkaW9Db21wb25lbnRSZWdp
c3RyYXRpb24uaCIKKyNlbmRpZgorCiAjZGVmaW5lIE1FU1NBR0VfQ0hFQ0soYXNzZXJ0aW9uKSBN
RVNTQUdFX0NIRUNLX0JBU0UoYXNzZXJ0aW9uLCB0aGlzLT5jb25uZWN0aW9uKCkpCiAKIG5hbWVz
cGFjZSBXZWJLaXQgewpAQCAtNDkzLDYgKzQ5Nyw3IEBAIHN0YXRpYyBpbmxpbmUgR1BVUHJvY2Vz
c1Nlc3Npb25QYXJhbWV0ZXIKICAgICAgICAgaWYgKGF1dG8gaGFuZGxlID0gU2FuZGJveEV4dGVu
c2lvbjo6Y3JlYXRlSGFuZGxlV2l0aG91dFJlc29sdmluZ1BhdGgocGFyYW1ldGVycy5tZWRpYUtl
eXNTdG9yYWdlRGlyZWN0b3J5LCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpSZWFkV3JpdGUpKQog
ICAgICAgICAgICAgcGFyYW1ldGVycy5tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5U2FuZGJveEV4
dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUoKmhhbmRsZSk7CiAgICAgfQorICAgIHNlbmRBdWRpb0Nv
bXBvbmVudFJlZ2lzdHJhdGlvbnM8TWVzc2FnZXM6OkdQVVByb2Nlc3M6OkNvbnN1bWVBdWRpb0Nv
bXBvbmVudFJlZ2lzdHJhdGlvbnM+KCp0aGlzKTsKICNlbmRpZgogCiAgICAgcmV0dXJuIHBhcmFt
ZXRlcnM7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMvY29tLmFwcGxl
LldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNi
LmluCShyZXZpc2lvbiAyODQ3ODMpCisrKyBTb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9t
YWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW4JKHdvcmtpbmcgY29weSkK
QEAgLTMyNyw3ICszMjcsNiBAQAogI2lmIFBMQVRGT1JNKE1BQykKICAgICAod2l0aCByZXBvcnQp
ICh3aXRoIHRlbGVtZXRyeSkKICNlbmRpZgotICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmF1
ZGlvLkF1ZGlvQ29tcG9uZW50UmVnaXN0cmFyIikKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBs
ZS5hd2RkIikKICNpZiAhRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCiAgICAgKGdsb2JhbC1u
YW1lICJjb20uYXBwbGUuY2ZwcmVmc2QuYWdlbnQiKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyODQ3ODMpCisrKyBT
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC0yMDI3LDYgKzIwMjcsOCBAQAogCQlFMzhBMUZDMDIzQTU1MUJGMDBEMjM3NEYgLyog
VXNlckludGVyZmFjZUlkaW9tLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTM4QTFGQkYyM0E1NTFCRjAwRDIzNzRGIC8qIFVzZXJJbnRlcmZhY2VJZGlv
bS5tbSAqLzsgfTsKIAkJRTM5NjI4REQyMzk2MENDNjAwNjU4RUNEIC8qIFdlYkRldmljZU9yaWVu
dGF0aW9uVXBkYXRlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzOTYyOERCMjM5NjBDQzUwMDY1OEVDRCAvKiBXZWJEZXZpY2VPcmllbnRh
dGlvblVwZGF0ZVByb3ZpZGVyLmggKi87IH07CiAJCUUzOTYyOERFMjM5NjBDQzYwMDY1OEVDRCAv
KiBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOTYyOERDMjM5NjBDQzYwMDY1OEVDRCAv
KiBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmNwcCAqLzsgfTsKKwkJRTNDMjM5
NkQyNzIxQzlDMjAwRTM3NTM3IC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQzIzOTZCMjcyMUM5
QzEwMEUzNzUzNyAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHAgKi87IH07CisJCUUz
QzIzOTZFMjcyMUM5QzIwMEUzNzUzNyAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDMjM5NkMyNzIx
QzlDMjAwRTM3NTM3IC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmggKi87IH07CiAJCUUz
Q0FBQTQ0MjQxMzI3OTkwMENFRDJFMiAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNQSS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDQUFBNDMyNDEzMjc4
QTAwQ0VEMkUyIC8qIEFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmggKi87IH07CiAJCUU0MTNGNTlE
MUFDMUFEQzQwMDM0NTM2MCAvKiBOZXR3b3JrQ2FjaGVFbnRyeS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQxM0Y1OUIxQUMxQURCNjAwMzQ1MzYwIC8q
IE5ldHdvcmtDYWNoZUVudHJ5LmggKi87IH07CiAJCUU0MkUwNjEwMUFBNzUyM0IwMEIxMTY5OSAv
KiBOZXR3b3JrQ2FjaGVJT0NoYW5uZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEU0MkUwNjBCMUFBNzQ0MEQwMEIxMTY5OSAvKiBOZXR3b3JrQ2FjaGVJ
T0NoYW5uZWwuaCAqLzsgfTsKQEAgLTYxMTAsNiArNjExMiw4IEBACiAJCUUzQTg2RkJDMjY5NThF
MzMwMDU5MjY0RCAvKiBXZWJDYXB0aW9uUHJlZmVyZW5jZXNEZWxlZ2F0ZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWJDYXB0aW9uUHJlZmVyZW5jZXNEZWxlZ2F0ZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUUzQkNFODc3MjY3MjUyMTIwMDExRDhEQiAvKiBBY2Nlc3NpYmls
aXR5UHJlZmVyZW5jZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eVByZWZl
cmVuY2VzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNCQ0U4NzgyNjcyNTIx
MjAwMTFEOERCIC8qIEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBB
Y2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RTNDMjM5NkIyNzIxQzlDMTAwRTM3NTM3IC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1ZGlvQ29tcG9uZW50UmVn
aXN0cmF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTNDMjM5NkMyNzIx
QzlDMjAwRTM3NTM3IC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzQ0FBQTQzMjQxMzI3OEEwMENFRDJFMiAvKiBBY2Nl
c3NpYmlsaXR5U3VwcG9ydFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBB
Y2Nlc3NpYmlsaXR5U3VwcG9ydFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
M0VGQjAyQzI1NTA2MTdDMDAzQzJGOTYgLyogV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTNFRkIwMkQyNTUwNjE3QzAwM0MyRjk2IC8qIFdlYlN5c3RlbVNv
dW5kRGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtODU3Niw2ICs4NTgwLDggQEAKIAkJCQkzNzhF
MUEzQjE4MUVENkZGMDAzMTAwN0EgLyogQVBJT2JqZWN0Lm1tICovLAogCQkJCUExNzVDNDQ5MjFB
QTMxNzAwMDAwMzdEMCAvKiBBcmd1bWVudENvZGVyc0NvY29hLmggKi8sCiAJCQkJQTE3NUM0NEIy
MUFBMzMxQjAwMDAzN0QwIC8qIEFyZ3VtZW50Q29kZXJzQ29jb2EubW0gKi8sCisJCQkJRTNDMjM5
NkIyNzIxQzlDMTAwRTM3NTM3IC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmNwcCAqLywK
KwkJCQlFM0MyMzk2QzI3MjFDOUMyMDBFMzc1MzcgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRp
b24uaCAqLywKIAkJCQkxQTY5OEYxNzFFNDkxMDIyMDA2NEU4ODEgLyogQXV4aWxpYXJ5UHJvY2Vz
c0NvY29hLm1tICovLAogCQkJCUNFMTFBRDUxMUNCQzQ4MkYwMDY4MUVFNSAvKiBDb2RlU2lnbmlu
Zy5oICovLAogCQkJCUNFMTFBRDRGMUNCQzQ3RjgwMDY4MUVFNSAvKiBDb2RlU2lnbmluZy5tbSAq
LywKQEAgLTEyMzQ2LDYgKzEyMzUyLDcgQEAKIAkJCQk3QjFEQjI2NjI1NjY4Q0UxMDAwRTI2QkMg
LyogQXJyYXlSZWZlcmVuY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUFBRkE2MzRGMjM0RjdDNjQw
MEZGQTg2NCAvKiBBc3luY1JldmFsaWRhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFRTk2
NkQxMTJGQUY1NzAwNkJDQzI0IC8qIEF0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUUz
QzIzOTZFMjcyMUM5QzIwMEUzNzUzNyAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTEyRjU4OTcxMkE4ODM4ODAwNjI5NTMwIC8qIEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMkY1ODk5MTJBODgzODgw
MDYyOTUzMCAvKiBBdXRoZW50aWNhdGlvbkRlY2lzaW9uTGlzdGVuZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCTUxOEU4RUY5MTZCMjA5MUMwMEU5MTQyOSAvKiBBdXRoZW50aWNhdGlvbk1hbmFnZXIu
aCBpbiBIZWFkZXJzICovLApAQCAtMTQ3MDIsNiArMTQ3MDksNyBAQAogCQkJCTJEOTJBNzdCMjEy
QjZBNzEwMEY0OTNGRCAvKiBBcmd1bWVudENvZGVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQky
REVCMUQyRTIxMjc0NzM2MDA5MzM5MDYgLyogQXJndW1lbnRDb2RlcnNDRi5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkyRDkyQTc3QzIxMkI2QTcxMDBGNDkzRkQgLyogQXR0YWNobWVudC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlFM0MyMzk2RDI3MjFDOUMyMDBFMzc1MzcgLyogQXVkaW9Db21wb25l
bnRSZWdpc3RyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0Q0NTcwRDQyNDQxMUQwRjAw
QTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUNENDU3MEQzMjQ0MTEzQjUwMEEzRENFQiAvKiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJi
aXRyYXRvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMkY1
OEEyMTJBODgzQUQwMDYyOTUzMCAvKiBBdXRoZW50aWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443560</attachid>
            <date>2021-11-08 09:54:28 -0800</date>
            <delta_ts>2021-11-08 10:12:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231694-20211108095427.patch</filename>
            <type>text/plain</type>
            <size>14544</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODU0MDgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDIxLTExLTA4ICBQZXIgQXJuZSBW
b2xsYW4gPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU11bR1BVUF0gUmVtb3Zl
IGFjY2VzcyBpbiBzYW5kYm94IHRvIGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lz
dHJhcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMx
Njk0CisgICAgICAgIDxyZGFyOi8vNzUyMjU5MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJl
bnQgRnVsZ2hhbS4KKworICAgICAgICBBZnRlciBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvMjc0NDM1L3dlYmtpdCwgdGhlcmUgaXMgbm8gbmVlZCB0byBhbGxvdyBhY2Nlc3MgdG8g
dGhpcyBzZXJ2aWNlLiBUaGlzIHBhdGNoIGFsc28gaW1wbGVtZW50cyBzZW5kaW5nCisgICAgICAg
IHRoZSBBdWRpbyBjb21wb25lbnQgcmVnaXN0cmF0aW9ucyB0byB0aGUgR1BVIHByb2Nlc3MsIHdo
aWNoIGlzIGEgcmVxdWlyZW1lbnQgYmVmb3JlIGJsb2NraW5nIHRoZSBzZXJ2aWNlIGluIHRoZSBH
UFUgcHJvY2Vzcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAgICAg
ICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9j
ZXNzL2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vz
czo6Y29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisgICAgICAgICogR1BVUHJv
Y2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluOgorICAgICAgICAqIFNo
YXJlZC9Db2NvYS9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViS2l0Ojpjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKToKKyAgICAgICAg
KiBTaGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaDogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OnNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc1Byb3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1bmNoaW5nKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojpy
ZXZva2VBdWRpb0NhcHR1cmVFeHRlbnNpb24pOgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9t
YWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW46CisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmNvbnN1
bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorCiAyMDIxLTExLTA4ICBLYXRlIENoZW5l
eSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgogCiAgICAgICAgIHRydXN0ZCBuZXR3b3Jr
IGNvbm5lY3Rpb25zIG9jY2FzaW9uYWxseSBvbWl0dGVkIGZyb20gQXBwIFByaXZhY3kgcmVwb3J0
CkluZGV4OiBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgJKHJldmlzaW9uIDI4NTQw
OCkKKysrIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCiAKICNpbmNsdWRl
ICJBdXhpbGlhcnlQcm9jZXNzLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1
ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHlJZGVudGlmaWVy
LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENFbnVtVHJhaXRzLmg+CkBAIC0xMDksNiAr
MTEwLDEwIEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFN0cmluZyYgYXBwbGljYXRpb25WaXNpYmxl
TmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbGljYXRpb25WaXNpYmxlTmFtZTsgfQogCisjaWYg
UExBVEZPUk0oQ09DT0EpCisgICAgdm9pZCBjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRp
b25zKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpOworI2VuZGlmCisKICAgICB2b2lkIHdlYlBy
b2Nlc3NDb25uZWN0aW9uQ291bnRGb3JUZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQodWlu
dDY0X3QpPiYmKTsKIAogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCShyZXZpc2lvbiAyODU0MDgpCisrKyBTb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpA
QCAtNzIsNiArNzIsMTAgQEAgbWVzc2FnZXMgLT4gR1BVUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7
CiAgICAgTm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKFN0cmluZyBkb21haW4sIFN0cmluZyBrZXks
IHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiBlbmNvZGVkVmFsdWUpCiAjZW5kaWYKIAorI2lmIFBMQVRG
T1JNKENPQ09BKQorICAgIENvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoSVBDOjpT
aGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNlIHJlZ2lzdHJhdGlvbkRhdGEpCisjZW5kaWYKKwogICAg
IFdlYlByb2Nlc3NDb25uZWN0aW9uQ291bnRGb3JUZXN0aW5nKCkgLT4gKHVpbnQ2NF90IGNvdW50
KSBBc3luYwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvY29jb2EvR1BVUHJv
Y2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9jb2Nv
YS9HUFVQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI4NTQwOCkKKysrIFNvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9jb2NvYS9HUFVQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTMw
LDYgKzMwLDcgQEAKIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgUExBVEZPUk0oQ09DT0Ep
CiAKKyNpbXBvcnQgIkF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgiCiAjaW1wb3J0ICJHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCiAjaW1wb3J0ICJSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
LmgiCiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CkBAIC03NSw2ICs3NiwxMSBAQCB2b2lkIEdQ
VVByb2Nlc3M6OmRpc3BhdGNoU2ltdWxhdGVkTm90aWZpCiAKICNlbmRpZiAvLyBFTkFCTEUoQ0ZQ
UkVGU19ESVJFQ1RfTU9ERSkKIAordm9pZCBHUFVQcm9jZXNzOjpjb25zdW1lQXVkaW9Db21wb25l
bnRSZWdpc3RyYXRpb25zKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSkKK3sKKyAgICBX
ZWJLaXQ6OmNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoZGF0YSk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBQ
TEFURk9STShDT0NPQSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMvY29tLmFw
cGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluCShyZXZpc2lv
biAyODU0MDgpCisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJL
aXQuR1BVUHJvY2Vzcy5zYi5pbgkod29ya2luZyBjb3B5KQpAQCAtNzE3LDggKzcxNywxMCBAQAog
KGFsbG93IGlwYy1wb3NpeC1zaG0tcmVhZCogaXBjLXBvc2l4LXNobS13cml0ZS1kYXRhICh3aXRo
IHRlbGVtZXRyeSkKICAgICAoaXBjLXBvc2l4LW5hbWUtcHJlZml4ICJBdWRpb0lPIikpCiAKKyNp
ZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTIwMDAwCiAoYWxsb3cgbWFjaC1s
b29rdXAKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJl
Z2lzdHJhciIpKQorI2VuZGlmCiAKICNpZiAhRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCiAo
YWxsb3cgbWFjaC1sb29rdXAgKHdpdGggdGVsZW1ldHJ5KQpJbmRleDogU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkocmV2aXNpb24gMjg1NDA4KQorKysgU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MzAsNiArMTMwLDcgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCisjaW5jbHVkZSAi
QXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCIKICNpbmNsdWRlICJEZWZhdWx0V2ViQnJvd3Nl
ckNoZWNrcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlk
ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hJREdhbWVwYWRQcm92aWRlci5oPgpAQCAtODY1LDcg
Kzg2Niw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmluaXRpYWxpemVOZXdXZWJQcm8KICNlbmRp
ZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgcHJvY2Vzcy5zZW5kQXVkaW9Db21wb25lbnRS
ZWdpc3RyYXRpb25zKCk7CisgICAgc2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uczxNZXNz
YWdlczo6V2ViUHJvY2Vzczo6Q29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucz4ocHJv
Y2Vzcyk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCShyZXZpc2lvbiAyODU0MDgpCisrKyBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMzM4
LDggKzMzOCw2IEBAIHB1YmxpYzoKICAgICBib29sIGhhc0F1ZGlvQ2FwdHVyZUV4dGVuc2lvbigp
IGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFDYXB0dXJlU2FuZGJveEV4dGVuc2lvbnMgJiBBdWRpbzsg
fQogICAgIHZvaWQgZ3JhbnRBdWRpb0NhcHR1cmVFeHRlbnNpb24oKSB7IG1fbWVkaWFDYXB0dXJl
U2FuZGJveEV4dGVuc2lvbnMgfD0gQXVkaW87IH0KICAgICB2b2lkIHJldm9rZUF1ZGlvQ2FwdHVy
ZUV4dGVuc2lvbigpIHsgbV9tZWRpYUNhcHR1cmVTYW5kYm94RXh0ZW5zaW9ucyAmPSB+QXVkaW87
IH0KLQotICAgIHZvaWQgc2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucygpOwogI2VuZGlm
CiAKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oQ09DT0EpCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJv
eHlDb2NvYS5tbQkocmV2aXNpb24gMjg1NDA4KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5
LDYgQEAKICNpbXBvcnQgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViUHJvY2Vz
c1Bvb2wuaCIKICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+Ci0j
aW1wb3J0IDxXZWJDb3JlL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmg+CiAjaW1wb3J0IDxzeXMv
c3lzY3RsLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9T
Y29wZS5oPgpAQCAtNjQsOCArNjMsNiBAQAogI2luY2x1ZGUgIlRDQ1NvZnRMaW5rLmgiCiAjZW5k
aWYKIAotI2ltcG9ydCA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+Ci0KIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiBzdGF0aWMgY29uc3QgU2Vjb25kcyB1bmV4cGVjdGVkQWN0aXZpdHlEdXJh
dGlvbiA9IDEwX3M7CkBAIC0yODksMzEgKzI4Niw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojpp
c0FYQXV0aGVudGljYXRlZCgKIH0KICNlbmRpZgogCi12b2lkIFdlYlByb2Nlc3NQcm94eTo6c2Vu
ZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucygpCi17Ci0gICAgdXNpbmcgbmFtZXNwYWNlIFBB
TDsKLQotICAgIGlmICghUEFMOjppc0F1ZGlvVG9vbGJveENvcmVGcmFtZXdvcmtBdmFpbGFibGUo
KSB8fCAhUEFMOjpjYW5Mb2FkX0F1ZGlvVG9vbGJveENvcmVfQXVkaW9Db21wb25lbnRGZXRjaFNl
cnZlclJlZ2lzdHJhdGlvbnMoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgZGlzcGF0Y2hfYXN5
bmMoZGlzcGF0Y2hfZ2V0X2dsb2JhbF9xdWV1ZShESVNQQVRDSF9RVUVVRV9QUklPUklUWV9ERUZB
VUxULCAwKSwgW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH1dICgpIG11dGFibGUgewotICAg
ICAgICBDRkRhdGFSZWYgcmVnaXN0cmF0aW9ucyB7IG51bGxwdHIgfTsKLQotICAgICAgICBXZWJD
b3JlOjpyZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKLSAgICAgICAgV2ViQ29yZTo6cmVn
aXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKTsKLSAgICAgICAgaWYgKG5vRXJyICE9IEF1ZGlv
Q29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zKCZyZWdpc3RyYXRpb25zKSB8fCAhcmVn
aXN0cmF0aW9ucykKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBSdW5Mb29wOjptYWlu
KCkuZGlzcGF0Y2goW3dlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIHJlZ2lzdHJhdGlvbnMg
PSBhZG9wdENGKHJlZ2lzdHJhdGlvbnMpXSAoKSBtdXRhYmxlIHsKLSAgICAgICAgICAgIGlmICgh
d2Vha1RoaXMpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBhdXRvIHJl
Z2lzdHJhdGlvbkRhdGEgPSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0ZShyZWdpc3RyYXRp
b25zLmdldCgpKTsKLSAgICAgICAgICAgIHdlYWtUaGlzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9j
ZXNzOjpDb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKHsgcmVnaXN0cmF0aW9uRGF0
YSB9KSwgMCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfQotCiBib29sIFdlYlByb2Nlc3NQcm94
eTo6bWVzc2FnZVNvdXJjZUlzVmFsaWRXZWJDb250ZW50UHJvY2VzcygpCiB7CiAgICAgaWYgKCFo
YXNDb25uZWN0aW9uKCkpIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQ
cm9jZXNzUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQ
VS9HUFVQcm9jZXNzUHJveHkuY3BwCShyZXZpc2lvbiAyODU0MDgpCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjMs
NiArNjMsMTAgQEAKICNpbmNsdWRlIDx3dGYvRmlsZVN5c3RlbS5oPgogI2VuZGlmCiAKKyNpZiBQ
TEFURk9STShDT0NPQSkKKyNpbmNsdWRlICJBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oIgor
I2VuZGlmCisKICNkZWZpbmUgTUVTU0FHRV9DSEVDSyhhc3NlcnRpb24pIE1FU1NBR0VfQ0hFQ0tf
QkFTRShhc3NlcnRpb24sIHRoaXMtPmNvbm5lY3Rpb24oKSkKIAogbmFtZXNwYWNlIFdlYktpdCB7
CkBAIC00OTksNiArNTAzLDcgQEAgc3RhdGljIGlubGluZSBHUFVQcm9jZXNzU2Vzc2lvblBhcmFt
ZXRlcgogICAgICAgICBpZiAoYXV0byBoYW5kbGUgPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVI
YW5kbGVXaXRob3V0UmVzb2x2aW5nUGF0aChwYXJhbWV0ZXJzLm1lZGlhS2V5c1N0b3JhZ2VEaXJl
Y3RvcnksIFNhbmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRXcml0ZSkpCiAgICAgICAgICAgICBw
YXJhbWV0ZXJzLm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFuZGxl
ID0gV1RGTW92ZSgqaGFuZGxlKTsKICAgICB9CisgICAgc2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0
cmF0aW9uczxNZXNzYWdlczo6R1BVUHJvY2Vzczo6Q29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0
cmF0aW9ucz4oKnRoaXMpOwogI2VuZGlmCiAKICAgICByZXR1cm4gcGFyYW1ldGVyczsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LldlYkF1
dGhuUHJvY2Vzcy5zYi5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJv
Y2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW4JKHJldmlzaW9u
IDI4NTQwOCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20uYXBwbGUu
V2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYi5pbgkod29ya2luZyBjb3B5KQpAQCAtMzI3LDcgKzMy
Nyw2IEBACiAjaWYgUExBVEZPUk0oTUFDKQogICAgICh3aXRoIHJlcG9ydCkgKHdpdGggdGVsZW1l
dHJ5KQogI2VuZGlmCi0gICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuYXVkaW8uQXVkaW9Db21w
b25lbnRSZWdpc3RyYXIiKQogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmF3ZGQiKQogI2lm
ICFFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBs
ZS5jZnByZWZzZC5hZ2VudCIpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI4NTQwOCkKKysrIFNvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTE5Mzks
NiArMTkzOSw4IEBACiAJCUUzOEExRkMwMjNBNTUxQkYwMEQyMzc0RiAvKiBVc2VySW50ZXJmYWNl
SWRpb20ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
MzhBMUZCRjIzQTU1MUJGMDBEMjM3NEYgLyogVXNlckludGVyZmFjZUlkaW9tLm1tICovOyB9Owog
CQlFMzk2MjhERDIzOTYwQ0M2MDA2NThFQ0QgLyogV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQ
cm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTM5NjI4REIyMzk2MENDNTAwNjU4RUNEIC8qIFdlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJv
dmlkZXIuaCAqLzsgfTsKIAkJRTM5NjI4REUyMzk2MENDNjAwNjU4RUNEIC8qIFdlYkRldmljZU9y
aWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTM5NjI4REMyMzk2MENDNjAwNjU4RUNEIC8qIFdlYkRldmljZU9y
aWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuY3BwICovOyB9OworCQlFM0MyMzk2RDI3MjFDOUMyMDBF
Mzc1MzcgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDMjM5NkIyNzIxQzlDMTAwRTM3NTM3IC8q
IEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmNwcCAqLzsgfTsKKwkJRTNDMjM5NkUyNzIxQzlD
MjAwRTM3NTM3IC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0MyMzk2QzI3MjFDOUMyMDBFMzc1Mzcg
LyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCAqLzsgfTsKIAkJRTNDQUFBNDQyNDEzMjc5
OTAwQ0VEMkUyIC8qIEFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0NBQUE0MzI0MTMyNzhBMDBDRUQyRTIgLyog
QWNjZXNzaWJpbGl0eVN1cHBvcnRTUEkuaCAqLzsgfTsKIAkJRTQxM0Y1OUQxQUMxQURDNDAwMzQ1
MzYwIC8qIE5ldHdvcmtDYWNoZUVudHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFNDEzRjU5QjFBQzFBREI2MDAzNDUzNjAgLyogTmV0d29ya0NhY2hl
RW50cnkuaCAqLzsgfTsKIAkJRTQyRTA2MTAxQUE3NTIzQjAwQjExNjk5IC8qIE5ldHdvcmtDYWNo
ZUlPQ2hhbm5lbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTQyRTA2MEIxQUE3NDQwRDAwQjExNjk5IC8qIE5ldHdvcmtDYWNoZUlPQ2hhbm5lbC5oICov
OyB9OwpAQCAtNTg1Niw2ICs1ODU4LDggQEAKIAkJRTNBODZGQkMyNjk1OEUzMzAwNTkyNjREIC8q
IFdlYkNhcHRpb25QcmVmZXJlbmNlc0RlbGVnYXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdl
YkNhcHRpb25QcmVmZXJlbmNlc0RlbGVnYXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTNCQ0U4NzcyNjcyNTIxMjAwMTFEOERCIC8qIEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNl
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0JDRTg3ODI2NzI1MjEyMDAxMUQ4REIgLyog
QWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlQ
cmVmZXJlbmNlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFM0MyMzk2QjI3MjFD
OUMxMDBFMzc1MzcgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFM0MyMzk2QzI3MjFDOUMyMDBFMzc1Mzcg
LyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTNDQUFBNDMyNDEzMjc4QTAwQ0VEMkUyIC8qIEFjY2Vzc2liaWxpdHlTdXBw
b3J0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlT
dXBwb3J0U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzRUZCMDJDMjU1MDYx
N0MwMDNDMkY5NiAvKiBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFdlYlN5c3RlbVNvdW5kRGVsZWdhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFM0VGQjAyRDI1NTA2MTdDMDAzQzJGOTYgLyogV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC04MTQ0LDYgKzgxNDgsOCBAQAogCQkJCTM3OEUxQTNCMTgxRUQ2RkYw
MDMxMDA3QSAvKiBBUElPYmplY3QubW0gKi8sCiAJCQkJQTE3NUM0NDkyMUFBMzE3MDAwMDAzN0Qw
IC8qIEFyZ3VtZW50Q29kZXJzQ29jb2EuaCAqLywKIAkJCQlBMTc1QzQ0QjIxQUEzMzFCMDAwMDM3
RDAgLyogQXJndW1lbnRDb2RlcnNDb2NvYS5tbSAqLywKKwkJCQlFM0MyMzk2QjI3MjFDOUMxMDBF
Mzc1MzcgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwICovLAorCQkJCUUzQzIzOTZD
MjcyMUM5QzIwMEUzNzUzNyAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oICovLAogCQkJ
CTFBNjk4RjE3MUU0OTEwMjIwMDY0RTg4MSAvKiBBdXhpbGlhcnlQcm9jZXNzQ29jb2EubW0gKi8s
CiAJCQkJQ0UxMUFENTExQ0JDNDgyRjAwNjgxRUU1IC8qIENvZGVTaWduaW5nLmggKi8sCiAJCQkJ
Q0UxMUFENEYxQ0JDNDdGODAwNjgxRUU1IC8qIENvZGVTaWduaW5nLm1tICovLApAQCAtMTE4Njgs
NiArMTE4NzQsNyBAQAogCQkJCTdCMURCMjY2MjU2NjhDRTEwMDBFMjZCQyAvKiBBcnJheVJlZmVy
ZW5jZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUFGQTYzNEYyMzRGN0M2NDAwRkZBODY0IC8qIEFz
eW5jUmV2YWxpZGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VFOTY2RDExMkZBRjU3MDA2
QkNDMjQgLyogQXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTNDMjM5NkUyNzIxQzlD
MjAwRTM3NTM3IC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQk1MTJGNTg5NzEyQTg4Mzg4MDA2Mjk1MzAgLyogQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQ
cm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEyRjU4OTkxMkE4ODM4ODAwNjI5NTMwIC8qIEF1
dGhlbnRpY2F0aW9uRGVjaXNpb25MaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4RThF
RjkxNkIyMDkxQzAwRTkxNDI5IC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0xNDExOCw2ICsxNDEyNSw3IEBACiAJCQkJMkQ5MkE3N0IyMTJCNkE3MTAwRjQ5M0ZE
IC8qIEFyZ3VtZW50Q29kZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJERUIxRDJFMjEyNzQ3
MzYwMDkzMzkwNiAvKiBBcmd1bWVudENvZGVyc0NGLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJE
OTJBNzdDMjEyQjZBNzEwMEY0OTNGRCAvKiBBdHRhY2htZW50LmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUUzQzIzOTZEMjcyMUM5QzIwMEUzNzUzNyAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlv
bi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRDQ1NzBENDI0NDExRDBGMDBBM0RDRUIgLyogQXVk
aW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0Q0NTcw
RDMyNDQxMTNCNTAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEyRjU4QTIxMkE4ODNBRDAw
NjI5NTMwIC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLywK
</data>
<flag name="commit-queue"
          id="468320"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443563</attachid>
            <date>2021-11-08 09:57:10 -0800</date>
            <delta_ts>2021-11-08 10:35:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231694-20211108095709.patch</filename>
            <type>text/plain</type>
            <size>19970</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODU0MDgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDIxLTExLTA4ICBQZXIgQXJuZSBW
b2xsYW4gPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU11bR1BVUF0gUmVtb3Zl
IGFjY2VzcyBpbiBzYW5kYm94IHRvIGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lz
dHJhcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMx
Njk0CisgICAgICAgIDxyZGFyOi8vNzUyMjU5MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJl
bnQgRnVsZ2hhbS4KKworICAgICAgICBBZnRlciBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvMjc0NDM1L3dlYmtpdCwgdGhlcmUgaXMgbm8gbmVlZCB0byBhbGxvdyBhY2Nlc3MgdG8g
dGhpcyBzZXJ2aWNlLiBUaGlzIHBhdGNoIGFsc28gaW1wbGVtZW50cyBzZW5kaW5nCisgICAgICAg
IHRoZSBBdWRpbyBjb21wb25lbnQgcmVnaXN0cmF0aW9ucyB0byB0aGUgR1BVIHByb2Nlc3MsIHdo
aWNoIGlzIGEgcmVxdWlyZW1lbnQgYmVmb3JlIGJsb2NraW5nIHRoZSBzZXJ2aWNlIGluIHRoZSBH
UFUgcHJvY2Vzcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAgICAg
ICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9j
ZXNzL2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vz
czo6Y29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisgICAgICAgICogR1BVUHJv
Y2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluOgorICAgICAgICAqIFNo
YXJlZC9Db2NvYS9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViS2l0Ojpjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKToKKyAgICAgICAg
KiBTaGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaDogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OnNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc1Byb3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1bmNoaW5nKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojpy
ZXZva2VBdWRpb0NhcHR1cmVFeHRlbnNpb24pOgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9t
YWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW46CisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmNvbnN1
bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorCiAyMDIxLTExLTA4ICBLYXRlIENoZW5l
eSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgogCiAgICAgICAgIHRydXN0ZCBuZXR3b3Jr
IGNvbm5lY3Rpb25zIG9jY2FzaW9uYWxseSBvbWl0dGVkIGZyb20gQXBwIFByaXZhY3kgcmVwb3J0
CkluZGV4OiBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgJKHJldmlzaW9uIDI4NTQw
OCkKKysrIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCiAKICNpbmNsdWRl
ICJBdXhpbGlhcnlQcm9jZXNzLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1
ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHlJZGVudGlmaWVy
LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENFbnVtVHJhaXRzLmg+CkBAIC0xMDksNiAr
MTEwLDEwIEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFN0cmluZyYgYXBwbGljYXRpb25WaXNpYmxl
TmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbGljYXRpb25WaXNpYmxlTmFtZTsgfQogCisjaWYg
UExBVEZPUk0oQ09DT0EpCisgICAgdm9pZCBjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRp
b25zKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpOworI2VuZGlmCisKICAgICB2b2lkIHdlYlBy
b2Nlc3NDb25uZWN0aW9uQ291bnRGb3JUZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQodWlu
dDY0X3QpPiYmKTsKIAogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCShyZXZpc2lvbiAyODU0MDgpCisrKyBTb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpA
QCAtNzIsNiArNzIsMTAgQEAgbWVzc2FnZXMgLT4gR1BVUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7
CiAgICAgTm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKFN0cmluZyBkb21haW4sIFN0cmluZyBrZXks
IHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiBlbmNvZGVkVmFsdWUpCiAjZW5kaWYKIAorI2lmIFBMQVRG
T1JNKENPQ09BKQorICAgIENvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoSVBDOjpT
aGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNlIHJlZ2lzdHJhdGlvbkRhdGEpCisjZW5kaWYKKwogICAg
IFdlYlByb2Nlc3NDb25uZWN0aW9uQ291bnRGb3JUZXN0aW5nKCkgLT4gKHVpbnQ2NF90IGNvdW50
KSBBc3luYwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvY29jb2EvR1BVUHJv
Y2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9jb2Nv
YS9HUFVQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI4NTQwOCkKKysrIFNvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9jb2NvYS9HUFVQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTMw
LDYgKzMwLDcgQEAKIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgUExBVEZPUk0oQ09DT0Ep
CiAKKyNpbXBvcnQgIkF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgiCiAjaW1wb3J0ICJHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCiAjaW1wb3J0ICJSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
LmgiCiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CkBAIC03NSw2ICs3NiwxMSBAQCB2b2lkIEdQ
VVByb2Nlc3M6OmRpc3BhdGNoU2ltdWxhdGVkTm90aWZpCiAKICNlbmRpZiAvLyBFTkFCTEUoQ0ZQ
UkVGU19ESVJFQ1RfTU9ERSkKIAordm9pZCBHUFVQcm9jZXNzOjpjb25zdW1lQXVkaW9Db21wb25l
bnRSZWdpc3RyYXRpb25zKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSkKK3sKKyAgICBX
ZWJLaXQ6OmNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoZGF0YSk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBQ
TEFURk9STShDT0NPQSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMvY29tLmFw
cGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluCShyZXZpc2lv
biAyODU0MDgpCisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJL
aXQuR1BVUHJvY2Vzcy5zYi5pbgkod29ya2luZyBjb3B5KQpAQCAtNzE3LDggKzcxNywxMCBAQAog
KGFsbG93IGlwYy1wb3NpeC1zaG0tcmVhZCogaXBjLXBvc2l4LXNobS13cml0ZS1kYXRhICh3aXRo
IHRlbGVtZXRyeSkKICAgICAoaXBjLXBvc2l4LW5hbWUtcHJlZml4ICJBdWRpb0lPIikpCiAKKyNp
ZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTIwMDAwCiAoYWxsb3cgbWFjaC1s
b29rdXAKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJl
Z2lzdHJhciIpKQorI2VuZGlmCiAKICNpZiAhRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCiAo
YWxsb3cgbWFjaC1sb29rdXAgKHdpdGggdGVsZW1ldHJ5KQpJbmRleDogU291cmNlL1dlYktpdC9T
aGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0F1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmNw
cAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9BdWRpb0NvbXBv
bmVudFJlZ2lzdHJhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBdWRpb0NvbXBvbmVudFJl
Z2lzdHJhdGlvbi5oIgorCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorCituYW1lc3BhY2UgV2ViS2l0
IHsKKwordm9pZCBjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKGNvbnN0IElQQzo6
RGF0YVJlZmVyZW5jZSYgZGF0YSkKK3sKKyAgICBpZiAoIVBBTDo6aXNBdWRpb1Rvb2xib3hDb3Jl
RnJhbWV3b3JrQXZhaWxhYmxlKCkgfHwgIVBBTDo6Y2FuTG9hZF9BdWRpb1Rvb2xib3hDb3JlX0F1
ZGlvQ29tcG9uZW50QXBwbHlTZXJ2ZXJSZWdpc3RyYXRpb25zKCkpCisgICAgICAgIHJldHVybjsK
KworICAgIGF1dG8gcmVnaXN0cmF0aW9ucyA9IGFkb3B0Q0YoQ0ZEYXRhQ3JlYXRlKGtDRkFsbG9j
YXRvckRlZmF1bHQsIGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSkpOworICAgIGlmICghcmVnaXN0
cmF0aW9ucykKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byBlcnIgPSBQQUw6OkF1ZGlvQ29t
cG9uZW50QXBwbHlTZXJ2ZXJSZWdpc3RyYXRpb25zKHJlZ2lzdHJhdGlvbnMuZ2V0KCkpOworICAg
IGlmIChub0VyciA9PSBlcnIpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBSRUxFQVNFX0xP
R19FUlJPUihQcm9jZXNzLCAiQ291bGQgbm90IGFwcGx5IEF1ZGlvQ29tcG9uZW50IHJlZ2lzdHJh
dGlvbnMsIGVyciglbGQpIiwgc3RhdGljX2Nhc3Q8bG9uZz4oZXJyKSk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9BdWRpb0Nv
bXBvbmVudFJlZ2lzdHJhdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVk
L0NvY29hL0F1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgJKG5vbmV4aXN0ZW50KQorKysgU291
cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbXBvcnQgIkF1eGlsaWFyeVByb2Nlc3NQcm94eS5oIgorI2ltcG9ydCAiRGF0YVJlZmVyZW5j
ZS5oIgorI2ltcG9ydCA8V2ViQ29yZS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oPgorI2ltcG9y
dCA8d3RmL0Jsb2NrUHRyLmg+CisjaW1wb3J0IDxwYWwvY2YvQXVkaW9Ub29sYm94U29mdExpbmsu
aD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgc2Vu
ZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhBdXhpbGlhcnlQcm9jZXNzUHJveHkmIHByb2Nl
c3MpCit7CisgICAgaWYgKCFQQUw6OmlzQXVkaW9Ub29sYm94Q29yZUZyYW1ld29ya0F2YWlsYWJs
ZSgpIHx8ICFQQUw6OmNhbkxvYWRfQXVkaW9Ub29sYm94Q29yZV9BdWRpb0NvbXBvbmVudEZldGNo
U2VydmVyUmVnaXN0cmF0aW9ucygpKQorICAgICAgICByZXR1cm47CisKKyAgICBkaXNwYXRjaF9h
c3luYyhkaXNwYXRjaF9nZXRfZ2xvYmFsX3F1ZXVlKERJU1BBVENIX1FVRVVFX1BSSU9SSVRZX0RF
RkFVTFQsIDApLCBtYWtlQmxvY2tQdHIoW3dlYWtUaGlzID0gV2Vha1B0ciB7IHByb2Nlc3MgfV0g
KCkgbXV0YWJsZSB7CisgICAgICAgIENGRGF0YVJlZiByZWdpc3RyYXRpb25zIHsgbnVsbHB0ciB9
OworCisgICAgICAgIFdlYkNvcmU6OnJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgpOworICAg
ICAgICBXZWJDb3JlOjpyZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpOworICAgICAgICBp
ZiAobm9FcnIgIT0gUEFMOjpBdWRpb0NvbXBvbmVudEZldGNoU2VydmVyUmVnaXN0cmF0aW9ucygm
cmVnaXN0cmF0aW9ucykgfHwgIXJlZ2lzdHJhdGlvbnMpCisgICAgICAgICAgICByZXR1cm47CisK
KyAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFt3ZWFrVGhpcyA9IFdURk1vdmUod2Vh
a1RoaXMpLCByZWdpc3RyYXRpb25zID0gYWRvcHRDRihyZWdpc3RyYXRpb25zKV0gKCkgbXV0YWJs
ZSB7CisgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgIGF1dG8gcmVnaXN0cmF0aW9uRGF0YSA9IFdlYkNvcmU6OlNoYXJlZEJ1ZmZl
cjo6Y3JlYXRlKHJlZ2lzdHJhdGlvbnMuZ2V0KCkpOworICAgICAgICAgICAgd2Vha1RoaXMtPnNl
bmQoVCh7IHJlZ2lzdHJhdGlvbkRhdGEgfSksIDApOworICAgICAgICB9KTsKKyAgICB9KS5nZXQo
KSk7Cit9CisKK3ZvaWQgY29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhjb25zdCBJ
UEM6OkRhdGFSZWZlcmVuY2UmKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCShyZXZpc2lvbiAyODU0MDgp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEzMCw2ICsxMzAsNyBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkK
KyNpbmNsdWRlICJBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oIgogI2luY2x1ZGUgIkRlZmF1
bHRXZWJCcm93c2VyQ2hlY2tzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9HYW1lQ29udHJvbGxlckdh
bWVwYWRQcm92aWRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSElER2FtZXBhZFByb3ZpZGVyLmg+
CkBAIC04NjUsNyArODY2LDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dl
YlBybwogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKLSAgICBwcm9jZXNzLnNlbmRBdWRp
b0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoKTsKKyAgICBzZW5kQXVkaW9Db21wb25lbnRSZWdpc3Ry
YXRpb25zPE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpDb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3Ry
YXRpb25zPihwcm9jZXNzKTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQpJbmRleDogU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgJKHJldmlzaW9uIDI4NTQwOCkK
KysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zMzgsOCArMzM4LDYgQEAgcHVibGljOgogICAgIGJvb2wgaGFzQXVkaW9DYXB0dXJl
RXh0ZW5zaW9uKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYUNhcHR1cmVTYW5kYm94RXh0ZW5zaW9u
cyAmIEF1ZGlvOyB9CiAgICAgdm9pZCBncmFudEF1ZGlvQ2FwdHVyZUV4dGVuc2lvbigpIHsgbV9t
ZWRpYUNhcHR1cmVTYW5kYm94RXh0ZW5zaW9ucyB8PSBBdWRpbzsgfQogICAgIHZvaWQgcmV2b2tl
QXVkaW9DYXB0dXJlRXh0ZW5zaW9uKCkgeyBtX21lZGlhQ2FwdHVyZVNhbmRib3hFeHRlbnNpb25z
ICY9IH5BdWRpbzsgfQotCi0gICAgdm9pZCBzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25z
KCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKSAmJiBQTEFURk9STShD
T0NPQSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94
eUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dl
YlByb2Nlc3NQcm94eUNvY29hLm1tCShyZXZpc2lvbiAyODU0MDgpCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQkod29ya2luZyBjb3B5KQpA
QCAtMzksNyArMzksNiBAQAogI2ltcG9ydCAiV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW1wb3J0
ICJXZWJQcm9jZXNzUG9vbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25D
aGVja3MuaD4KLSNpbXBvcnQgPFdlYkNvcmUvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaD4KICNp
bXBvcnQgPHN5cy9zeXNjdGwuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2lt
cG9ydCA8d3RmL1Njb3BlLmg+CkBAIC02NCw4ICs2Myw2IEBACiAjaW5jbHVkZSAiVENDU29mdExp
bmsuaCIKICNlbmRpZgogCi0jaW1wb3J0IDxwYWwvY2YvQXVkaW9Ub29sYm94U29mdExpbmsuaD4K
LQogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0YXRpYyBjb25zdCBTZWNvbmRzIHVuZXhwZWN0ZWRB
Y3Rpdml0eUR1cmF0aW9uID0gMTBfczsKQEAgLTI4OSwzMSArMjg2LDYgQEAgdm9pZCBXZWJQcm9j
ZXNzUHJveHk6OmlzQVhBdXRoZW50aWNhdGVkKAogfQogI2VuZGlmCiAKLXZvaWQgV2ViUHJvY2Vz
c1Byb3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKCkKLXsKLSAgICB1c2luZyBu
YW1lc3BhY2UgUEFMOwotCi0gICAgaWYgKCFQQUw6OmlzQXVkaW9Ub29sYm94Q29yZUZyYW1ld29y
a0F2YWlsYWJsZSgpIHx8ICFQQUw6OmNhbkxvYWRfQXVkaW9Ub29sYm94Q29yZV9BdWRpb0NvbXBv
bmVudEZldGNoU2VydmVyUmVnaXN0cmF0aW9ucygpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBk
aXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfZ2xvYmFsX3F1ZXVlKERJU1BBVENIX1FVRVVFX1BS
SU9SSVRZX0RFRkFVTFQsIDApLCBbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfV0gKCkgbXV0
YWJsZSB7Ci0gICAgICAgIENGRGF0YVJlZiByZWdpc3RyYXRpb25zIHsgbnVsbHB0ciB9OwotCi0g
ICAgICAgIFdlYkNvcmU6OnJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgpOwotICAgICAgICBX
ZWJDb3JlOjpyZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpOwotICAgICAgICBpZiAobm9F
cnIgIT0gQXVkaW9Db21wb25lbnRGZXRjaFNlcnZlclJlZ2lzdHJhdGlvbnMoJnJlZ2lzdHJhdGlv
bnMpIHx8ICFyZWdpc3RyYXRpb25zKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIFJ1
bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbd2Vha1RoaXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwgcmVn
aXN0cmF0aW9ucyA9IGFkb3B0Q0YocmVnaXN0cmF0aW9ucyldICgpIG11dGFibGUgewotICAgICAg
ICAgICAgaWYgKCF3ZWFrVGhpcykKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAg
ICAgIGF1dG8gcmVnaXN0cmF0aW9uRGF0YSA9IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRl
KHJlZ2lzdHJhdGlvbnMuZ2V0KCkpOwotICAgICAgICAgICAgd2Vha1RoaXMtPnNlbmQoTWVzc2Fn
ZXM6OldlYlByb2Nlc3M6OkNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoeyByZWdp
c3RyYXRpb25EYXRhIH0pLCAwKTsKLSAgICAgICAgfSk7Ci0gICAgfSk7Ci19Ci0KIGJvb2wgV2Vi
UHJvY2Vzc1Byb3h5OjptZXNzYWdlU291cmNlSXNWYWxpZFdlYkNvbnRlbnRQcm9jZXNzKCkKIHsK
ICAgICBpZiAoIWhhc0Nvbm5lY3Rpb24oKSkgewpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAJKHJldmlzaW9uIDI4NTQwOCkKKysrIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02Myw2ICs2MywxMCBAQAogI2luY2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjZW5k
aWYKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorI2luY2x1ZGUgIkF1ZGlvQ29tcG9uZW50UmVnaXN0
cmF0aW9uLmgiCisjZW5kaWYKKwogI2RlZmluZSBNRVNTQUdFX0NIRUNLKGFzc2VydGlvbikgTUVT
U0FHRV9DSEVDS19CQVNFKGFzc2VydGlvbiwgdGhpcy0+Y29ubmVjdGlvbigpKQogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKQEAgLTQ5OSw2ICs1MDMsNyBAQCBzdGF0aWMgaW5saW5lIEdQVVByb2Nlc3NT
ZXNzaW9uUGFyYW1ldGVyCiAgICAgICAgIGlmIChhdXRvIGhhbmRsZSA9IFNhbmRib3hFeHRlbnNp
b246OmNyZWF0ZUhhbmRsZVdpdGhvdXRSZXNvbHZpbmdQYXRoKHBhcmFtZXRlcnMubWVkaWFLZXlz
U3RvcmFnZURpcmVjdG9yeSwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVhZFdyaXRlKSkKICAg
ICAgICAgICAgIHBhcmFtZXRlcnMubWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeVNhbmRib3hFeHRl
bnNpb25IYW5kbGUgPSBXVEZNb3ZlKCpoYW5kbGUpOwogICAgIH0KKyAgICBzZW5kQXVkaW9Db21w
b25lbnRSZWdpc3RyYXRpb25zPE1lc3NhZ2VzOjpHUFVQcm9jZXNzOjpDb25zdW1lQXVkaW9Db21w
b25lbnRSZWdpc3RyYXRpb25zPigqdGhpcyk7CiAjZW5kaWYKIAogICAgIHJldHVybiBwYXJhbWV0
ZXJzOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5X
ZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
V2ViQXV0aG5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYi5p
bgkocmV2aXNpb24gMjg1NDA4KQorKysgU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFj
L2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluCSh3b3JraW5nIGNvcHkpCkBA
IC0zMjcsNyArMzI3LDYgQEAKICNpZiBQTEFURk9STShNQUMpCiAgICAgKHdpdGggcmVwb3J0KSAo
d2l0aCB0ZWxlbWV0cnkpCiAjZW5kaWYKLSAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hdWRp
by5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciIpCiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUu
YXdkZCIpCiAjaWYgIUVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogICAgIChnbG9iYWwtbmFt
ZSAiY29tLmFwcGxlLmNmcHJlZnNkLmFnZW50IikKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjg1NDA4KQorKysgU291
cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5
KQpAQCAtMTkzOSw2ICsxOTM5LDggQEAKIAkJRTM4QTFGQzAyM0E1NTFCRjAwRDIzNzRGIC8qIFVz
ZXJJbnRlcmZhY2VJZGlvbS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEUzOEExRkJGMjNBNTUxQkYwMEQyMzc0RiAvKiBVc2VySW50ZXJmYWNlSWRpb20u
bW0gKi87IH07CiAJCUUzOTYyOEREMjM5NjBDQzYwMDY1OEVDRCAvKiBXZWJEZXZpY2VPcmllbnRh
dGlvblVwZGF0ZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFMzk2MjhEQjIzOTYwQ0M1MDA2NThFQ0QgLyogV2ViRGV2aWNlT3JpZW50YXRp
b25VcGRhdGVQcm92aWRlci5oICovOyB9OwogCQlFMzk2MjhERTIzOTYwQ0M2MDA2NThFQ0QgLyog
V2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzk2MjhEQzIzOTYwQ0M2MDA2NThFQ0QgLyog
V2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5jcHAgKi87IH07CisJCUUzQzIzOTZE
MjcyMUM5QzIwMEUzNzUzNyAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0MyMzk2QjI3MjFDOUMx
MDBFMzc1MzcgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwICovOyB9OworCQlFM0My
Mzk2RTI3MjFDOUMyMDBFMzc1MzcgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQzIzOTZDMjcyMUM5
QzIwMEUzNzUzNyAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oICovOyB9OwogCQlFM0NB
QUE0NDI0MTMyNzk5MDBDRUQyRTIgLyogQWNjZXNzaWJpbGl0eVN1cHBvcnRTUEkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQ0FBQTQzMjQxMzI3OEEw
MENFRDJFMiAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNQSS5oICovOyB9OwogCQlFNDEzRjU5RDFB
QzFBREM0MDAzNDUzNjAgLyogTmV0d29ya0NhY2hlRW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MTNGNTlCMUFDMUFEQjYwMDM0NTM2MCAvKiBO
ZXR3b3JrQ2FjaGVFbnRyeS5oICovOyB9OwogCQlFNDJFMDYxMDFBQTc1MjNCMDBCMTE2OTkgLyog
TmV0d29ya0NhY2hlSU9DaGFubmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFNDJFMDYwQjFBQTc0NDBEMDBCMTE2OTkgLyogTmV0d29ya0NhY2hlSU9D
aGFubmVsLmggKi87IH07CkBAIC01ODU2LDYgKzU4NTgsOCBAQAogCQlFM0E4NkZCQzI2OTU4RTMz
MDA1OTI2NEQgLyogV2ViQ2FwdGlvblByZWZlcmVuY2VzRGVsZWdhdGUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gV2ViQ2FwdGlvblByZWZlcmVuY2VzRGVsZWdhdGUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFM0JDRTg3NzI2NzI1MjEyMDAxMUQ4REIgLyogQWNjZXNzaWJpbGl0
eVByZWZlcmVuY2VzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlQcmVmZXJl
bmNlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzQkNFODc4MjY3MjUyMTIw
MDExRDhEQiAvKiBBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNj
ZXNzaWJpbGl0eVByZWZlcmVuY2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUz
QzIzOTZCMjcyMUM5QzEwMEUzNzUzNyAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBdWRpb0NvbXBvbmVudFJlZ2lz
dHJhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzQzIzOTZDMjcyMUM5
QzIwMEUzNzUzNyAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlFM0NBQUE0MzI0MTMyNzhBMDBDRUQyRTIgLyogQWNjZXNz
aWJpbGl0eVN1cHBvcnRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNj
ZXNzaWJpbGl0eVN1cHBvcnRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNF
RkIwMkMyNTUwNjE3QzAwM0MyRjk2IC8qIFdlYlN5c3RlbVNvdW5kRGVsZWdhdGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUUzRUZCMDJEMjU1MDYxN0MwMDNDMkY5NiAvKiBXZWJTeXN0ZW1Tb3Vu
ZERlbGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlN5c3RlbVNvdW5kRGVsZWdhdGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTgxNDQsNiArODE0OCw4IEBACiAJCQkJMzc4RTFB
M0IxODFFRDZGRjAwMzEwMDdBIC8qIEFQSU9iamVjdC5tbSAqLywKIAkJCQlBMTc1QzQ0OTIxQUEz
MTcwMDAwMDM3RDAgLyogQXJndW1lbnRDb2RlcnNDb2NvYS5oICovLAogCQkJCUExNzVDNDRCMjFB
QTMzMUIwMDAwMzdEMCAvKiBBcmd1bWVudENvZGVyc0NvY29hLm1tICovLAorCQkJCUUzQzIzOTZC
MjcyMUM5QzEwMEUzNzUzNyAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHAgKi8sCisJ
CQkJRTNDMjM5NkMyNzIxQzlDMjAwRTM3NTM3IC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9u
LmggKi8sCiAJCQkJMUE2OThGMTcxRTQ5MTAyMjAwNjRFODgxIC8qIEF1eGlsaWFyeVByb2Nlc3ND
b2NvYS5tbSAqLywKIAkJCQlDRTExQUQ1MTFDQkM0ODJGMDA2ODFFRTUgLyogQ29kZVNpZ25pbmcu
aCAqLywKIAkJCQlDRTExQUQ0RjFDQkM0N0Y4MDA2ODFFRTUgLyogQ29kZVNpZ25pbmcubW0gKi8s
CkBAIC0xMTg2OCw2ICsxMTg3NCw3IEBACiAJCQkJN0IxREIyNjYyNTY2OENFMTAwMEUyNkJDIC8q
IEFycmF5UmVmZXJlbmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBQUZBNjM0RjIzNEY3QzY0MDBG
RkE4NjQgLyogQXN5bmNSZXZhbGlkYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRUU5NjZE
MTEyRkFGNTcwMDZCQ0MyNCAvKiBBdHRhY2htZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlFM0My
Mzk2RTI3MjFDOUMyMDBFMzc1MzcgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxMkY1ODk3MTJBODgzODgwMDYyOTUzMCAvKiBBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZVByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJGNTg5OTEyQTg4Mzg4MDA2
Mjk1MzAgLyogQXV0aGVudGljYXRpb25EZWNpc2lvbkxpc3RlbmVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQk1MThFOEVGOTE2QjIwOTFDMDBFOTE0MjkgLyogQXV0aGVudGljYXRpb25NYW5hZ2VyLmgg
aW4gSGVhZGVycyAqLywKQEAgLTE0MTE4LDYgKzE0MTI1LDcgQEAKIAkJCQkyRDkyQTc3QjIxMkI2
QTcxMDBGNDkzRkQgLyogQXJndW1lbnRDb2RlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkRF
QjFEMkUyMTI3NDczNjAwOTMzOTA2IC8qIEFyZ3VtZW50Q29kZXJzQ0YuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkQ5MkE3N0MyMTJCNkE3MTAwRjQ5M0ZEIC8qIEF0dGFjaG1lbnQuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJRTNDMjM5NkQyNzIxQzlDMjAwRTM3NTM3IC8qIEF1ZGlvQ29tcG9uZW50
UmVnaXN0cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNENDU3MEQ0MjQ0MTFEMEYwMEEz
RENFQiAvKiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlDRDQ1NzBEMzI0NDExM0I1MDBBM0RDRUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0
cmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTJGNThB
MjEyQTg4M0FEMDA2Mjk1MzAgLyogQXV0aGVudGljYXRpb25NYW5hZ2VyTWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovLAo=
</data>
<flag name="commit-queue"
          id="468323"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443569</attachid>
            <date>2021-11-08 10:34:44 -0800</date>
            <delta_ts>2021-11-08 14:28:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231694-20211108103443.patch</filename>
            <type>text/plain</type>
            <size>19851</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODU0MTEpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDIxLTExLTA4ICBQZXIgQXJuZSBW
b2xsYW4gPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU11bR1BVUF0gUmVtb3Zl
IGFjY2VzcyBpbiBzYW5kYm94IHRvIGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lz
dHJhcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMx
Njk0CisgICAgICAgIDxyZGFyOi8vNzUyMjU5MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJl
bnQgRnVsZ2hhbS4KKworICAgICAgICBBZnRlciBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvMjc0NDM1L3dlYmtpdCwgdGhlcmUgaXMgbm8gbmVlZCB0byBhbGxvdyBhY2Nlc3MgdG8g
dGhpcyBzZXJ2aWNlLiBUaGlzIHBhdGNoIGFsc28gaW1wbGVtZW50cyBzZW5kaW5nCisgICAgICAg
IHRoZSBBdWRpbyBjb21wb25lbnQgcmVnaXN0cmF0aW9ucyB0byB0aGUgR1BVIHByb2Nlc3MsIHdo
aWNoIGlzIGEgcmVxdWlyZW1lbnQgYmVmb3JlIGJsb2NraW5nIHRoZSBzZXJ2aWNlIGluIHRoZSBH
UFUgcHJvY2Vzcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAgICAg
ICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9j
ZXNzL2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vz
czo6Y29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisgICAgICAgICogR1BVUHJv
Y2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluOgorICAgICAgICAqIFNo
YXJlZC9Db2NvYS9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViS2l0Ojpjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKToKKyAgICAgICAg
KiBTaGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaDogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OnNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc1Byb3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1bmNoaW5nKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojpy
ZXZva2VBdWRpb0NhcHR1cmVFeHRlbnNpb24pOgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9t
YWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW46CisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmNvbnN1
bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorCiAyMDIxLTExLTA4ICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIEVuYWJsaW5nICJtZWRpYSBz
b3VyY2UgaW5saW5lIHBhaW50aW5nIiBieSBkZWZhdWx0IHNob3VsZCB3b3JrIHdoZW4gdXNpbmcg
R1BVIFByb2Nlc3MgZm9yIG1lZGlhCkluZGV4OiBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BV
UHJvY2Vzcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9j
ZXNzLmgJKHJldmlzaW9uIDI4NTQwOCkKKysrIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQ
cm9jZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoR1BV
X1BST0NFU1MpCiAKICNpbmNsdWRlICJBdXhpbGlhcnlQcm9jZXNzLmgiCisjaW5jbHVkZSAiRGF0
YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbmNsdWRlICJX
ZWJQYWdlUHJveHlJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENFbnVt
VHJhaXRzLmg+CkBAIC0xMDksNiArMTEwLDEwIEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFN0cmlu
ZyYgYXBwbGljYXRpb25WaXNpYmxlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbGljYXRpb25W
aXNpYmxlTmFtZTsgfQogCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgdm9pZCBjb25zdW1lQXVk
aW9Db21wb25lbnRSZWdpc3RyYXRpb25zKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpOworI2Vu
ZGlmCisKICAgICB2b2lkIHdlYlByb2Nlc3NDb25uZWN0aW9uQ291bnRGb3JUZXN0aW5nKENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQodWludDY0X3QpPiYmKTsKIAogcHJpdmF0ZToKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCShyZXZpc2lv
biAyODU0MDgpCisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdl
cy5pbgkod29ya2luZyBjb3B5KQpAQCAtNzIsNiArNzIsMTAgQEAgbWVzc2FnZXMgLT4gR1BVUHJv
Y2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgTm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKFN0cmlu
ZyBkb21haW4sIFN0cmluZyBrZXksIHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiBlbmNvZGVkVmFsdWUp
CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIENvbnN1bWVBdWRpb0NvbXBvbmVu
dFJlZ2lzdHJhdGlvbnMoSVBDOjpTaGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNlIHJlZ2lzdHJhdGlv
bkRhdGEpCisjZW5kaWYKKwogICAgIFdlYlByb2Nlc3NDb25uZWN0aW9uQ291bnRGb3JUZXN0aW5n
KCkgLT4gKHVpbnQ2NF90IGNvdW50KSBBc3luYwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvY29jb2EvR1BVUHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9jb2NvYS9HUFVQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI4NTQw
OCkKKysrIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9jb2NvYS9HUFVQcm9jZXNzQ29jb2EubW0J
KHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VT
UykgJiYgUExBVEZPUk0oQ09DT0EpCiAKKyNpbXBvcnQgIkF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0
aW9uLmgiCiAjaW1wb3J0ICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCiAjaW1wb3J0ICJS
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmgiCiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CkBAIC03
NSw2ICs3NiwxMSBAQCB2b2lkIEdQVVByb2Nlc3M6OmRpc3BhdGNoU2ltdWxhdGVkTm90aWZpCiAK
ICNlbmRpZiAvLyBFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKIAordm9pZCBHUFVQcm9jZXNz
Ojpjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKGNvbnN0IElQQzo6RGF0YVJlZmVy
ZW5jZSYgZGF0YSkKK3sKKyAgICBXZWJLaXQ6OmNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJh
dGlvbnMoZGF0YSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5B
QkxFKEdQVV9QUk9DRVNTKSAmJiBQTEFURk9STShDT0NPQSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQ
cm9jZXNzLnNiLmluCShyZXZpc2lvbiAyODU0MDgpCisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYi5pbgkod29ya2luZyBjb3B5KQpA
QCAtNzE3LDggKzcxNywxMCBAQAogKGFsbG93IGlwYy1wb3NpeC1zaG0tcmVhZCogaXBjLXBvc2l4
LXNobS13cml0ZS1kYXRhICh3aXRoIHRlbGVtZXRyeSkKICAgICAoaXBjLXBvc2l4LW5hbWUtcHJl
Zml4ICJBdWRpb0lPIikpCiAKKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwg
MTIwMDAwCiAoYWxsb3cgbWFjaC1sb29rdXAKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5h
dWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciIpKQorI2VuZGlmCiAKICNpZiAhRU5BQkxFKENG
UFJFRlNfRElSRUNUX01PREUpCiAoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGggdGVsZW1ldHJ5KQpJ
bmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRp
b24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0F1ZGlvQ29t
cG9uZW50UmVnaXN0cmF0aW9uLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0L1No
YXJlZC9Db2NvYS9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oIgorCisjaW5jbHVkZSAiTG9nZ2luZy5o
IgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBjb25zdW1lQXVkaW9Db21wb25lbnRSZWdp
c3RyYXRpb25zKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSkKK3sKKyAgICBpZiAoIVBB
TDo6aXNBdWRpb1Rvb2xib3hDb3JlRnJhbWV3b3JrQXZhaWxhYmxlKCkgfHwgIVBBTDo6Y2FuTG9h
ZF9BdWRpb1Rvb2xib3hDb3JlX0F1ZGlvQ29tcG9uZW50QXBwbHlTZXJ2ZXJSZWdpc3RyYXRpb25z
KCkpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8gcmVnaXN0cmF0aW9ucyA9IGFkb3B0Q0Yo
Q0ZEYXRhQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGRhdGEuZGF0YSgpLCBkYXRhLnNpemUo
KSkpOworICAgIGlmICghcmVnaXN0cmF0aW9ucykKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0
byBlcnIgPSBQQUw6OkF1ZGlvQ29tcG9uZW50QXBwbHlTZXJ2ZXJSZWdpc3RyYXRpb25zKHJlZ2lz
dHJhdGlvbnMuZ2V0KCkpOworICAgIGlmIChub0VyciA9PSBlcnIpCisgICAgICAgIHJldHVybjsK
KyAgICAKKyAgICBSRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzLCAiQ291bGQgbm90IGFwcGx5IEF1
ZGlvQ29tcG9uZW50IHJlZ2lzdHJhdGlvbnMsIGVyciglbGQpIiwgc3RhdGljX2Nhc3Q8bG9uZz4o
ZXJyKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1NoYXJlZC9Db2NvYS9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0F1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgJ
KG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXVkaW9Db21wb25l
bnRSZWdpc3RyYXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYwIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpbXBvcnQgIkF1eGlsaWFyeVByb2Nlc3NQcm94eS5oIgor
I2ltcG9ydCAiRGF0YVJlZmVyZW5jZS5oIgorI2ltcG9ydCA8V2ViQ29yZS9XZWJNQXVkaW9VdGls
aXRpZXNDb2NvYS5oPgorI2ltcG9ydCA8d3RmL0Jsb2NrUHRyLmg+CisjaW1wb3J0IDxwYWwvY2Yv
QXVkaW9Ub29sYm94U29mdExpbmsuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3RlbXBsYXRl
PHR5cGVuYW1lIFQ+IHZvaWQgc2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhBdXhpbGlh
cnlQcm9jZXNzUHJveHkmIHByb2Nlc3MpCit7CisgICAgaWYgKCFQQUw6OmlzQXVkaW9Ub29sYm94
Q29yZUZyYW1ld29ya0F2YWlsYWJsZSgpIHx8ICFQQUw6OmNhbkxvYWRfQXVkaW9Ub29sYm94Q29y
ZV9BdWRpb0NvbXBvbmVudEZldGNoU2VydmVyUmVnaXN0cmF0aW9ucygpKQorICAgICAgICByZXR1
cm47CisKKyAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfZ2xvYmFsX3F1ZXVlKERJU1BB
VENIX1FVRVVFX1BSSU9SSVRZX0RFRkFVTFQsIDApLCBtYWtlQmxvY2tQdHIoW3dlYWtUaGlzID0g
V2Vha1B0ciB7IHByb2Nlc3MgfV0gKCkgbXV0YWJsZSB7CisgICAgICAgIENGRGF0YVJlZiByZWdp
c3RyYXRpb25zIHsgbnVsbHB0ciB9OworCisgICAgICAgIFdlYkNvcmU6OnJlZ2lzdGVyT3B1c0Rl
Y29kZXJJZk5lZWRlZCgpOworICAgICAgICBXZWJDb3JlOjpyZWdpc3RlclZvcmJpc0RlY29kZXJJ
Zk5lZWRlZCgpOworICAgICAgICBpZiAobm9FcnIgIT0gUEFMOjpBdWRpb0NvbXBvbmVudEZldGNo
U2VydmVyUmVnaXN0cmF0aW9ucygmcmVnaXN0cmF0aW9ucykgfHwgIXJlZ2lzdHJhdGlvbnMpCisg
ICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFt3
ZWFrVGhpcyA9IFdURk1vdmUod2Vha1RoaXMpLCByZWdpc3RyYXRpb25zID0gYWRvcHRDRihyZWdp
c3RyYXRpb25zKV0gKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAg
ICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGF1dG8gcmVnaXN0cmF0aW9uRGF0YSA9
IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKHJlZ2lzdHJhdGlvbnMuZ2V0KCkpOworICAg
ICAgICAgICAgd2Vha1RoaXMtPnNlbmQoVCh7IHJlZ2lzdHJhdGlvbkRhdGEgfSksIDApOworICAg
ICAgICB9KTsKKyAgICB9KS5nZXQoKSk7Cit9CisKK3ZvaWQgY29uc3VtZUF1ZGlvQ29tcG9uZW50
UmVnaXN0cmF0aW9ucyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wu
Y3BwCShyZXZpc2lvbiAyODU0MDgpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMCw2ICsxMzAsNyBAQAogI2VuZGlmCiAK
ICNpZiBQTEFURk9STShDT0NPQSkKKyNpbmNsdWRlICJBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlv
bi5oIgogI2luY2x1ZGUgIkRlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLmgiCiAjaW5jbHVkZSA8V2Vi
Q29yZS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
SElER2FtZXBhZFByb3ZpZGVyLmg+CkBAIC04NjUsNyArODY2LDcgQEAgdm9pZCBXZWJQcm9jZXNz
UG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlBybwogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkK
LSAgICBwcm9jZXNzLnNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoKTsKKyAgICBzZW5k
QXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zPE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpDb25zdW1l
QXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zPihwcm9jZXNzKTsKICNlbmRpZgogCiAjaWYgUExB
VEZPUk0oTUFDKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
LmgJKHJldmlzaW9uIDI4NTQwOCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMzgsOCArMzM4LDYgQEAgcHVibGljOgogICAg
IGJvb2wgaGFzQXVkaW9DYXB0dXJlRXh0ZW5zaW9uKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYUNh
cHR1cmVTYW5kYm94RXh0ZW5zaW9ucyAmIEF1ZGlvOyB9CiAgICAgdm9pZCBncmFudEF1ZGlvQ2Fw
dHVyZUV4dGVuc2lvbigpIHsgbV9tZWRpYUNhcHR1cmVTYW5kYm94RXh0ZW5zaW9ucyB8PSBBdWRp
bzsgfQogICAgIHZvaWQgcmV2b2tlQXVkaW9DYXB0dXJlRXh0ZW5zaW9uKCkgeyBtX21lZGlhQ2Fw
dHVyZVNhbmRib3hFeHRlbnNpb25zICY9IH5BdWRpbzsgfQotCi0gICAgdm9pZCBzZW5kQXVkaW9D
b21wb25lbnRSZWdpc3RyYXRpb25zKCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShSRU1PVEVfSU5T
UEVDVE9SKSAmJiBQTEFURk9STShDT0NPQSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCShyZXZpc2lvbiAyODU0
MDgpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2Nv
YS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzksNyArMzksNiBAQAogI2ltcG9ydCAiV2ViUHJvY2Vz
c01lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNzUG9vbC5oIgogI2ltcG9ydCA8V2ViQ29y
ZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KLSNpbXBvcnQgPFdlYkNvcmUvV2ViTUF1ZGlv
VXRpbGl0aWVzQ29jb2EuaD4KICNpbXBvcnQgPHN5cy9zeXNjdGwuaD4KICNpbXBvcnQgPHd0Zi9O
ZXZlckRlc3Ryb3llZC5oPgogI2ltcG9ydCA8d3RmL1Njb3BlLmg+CkBAIC02NCw4ICs2Myw2IEBA
CiAjaW5jbHVkZSAiVENDU29mdExpbmsuaCIKICNlbmRpZgogCi0jaW1wb3J0IDxwYWwvY2YvQXVk
aW9Ub29sYm94U29mdExpbmsuaD4KLQogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0YXRpYyBjb25z
dCBTZWNvbmRzIHVuZXhwZWN0ZWRBY3Rpdml0eUR1cmF0aW9uID0gMTBfczsKQEAgLTI4OSwzMSAr
Mjg2LDYgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmlzQVhBdXRoZW50aWNhdGVkKAogfQogI2Vu
ZGlmCiAKLXZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRp
b25zKCkKLXsKLSAgICB1c2luZyBuYW1lc3BhY2UgUEFMOwotCi0gICAgaWYgKCFQQUw6OmlzQXVk
aW9Ub29sYm94Q29yZUZyYW1ld29ya0F2YWlsYWJsZSgpIHx8ICFQQUw6OmNhbkxvYWRfQXVkaW9U
b29sYm94Q29yZV9BdWRpb0NvbXBvbmVudEZldGNoU2VydmVyUmVnaXN0cmF0aW9ucygpKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfZ2xvYmFsX3F1
ZXVlKERJU1BBVENIX1FVRVVFX1BSSU9SSVRZX0RFRkFVTFQsIDApLCBbd2Vha1RoaXMgPSBXZWFr
UHRyIHsgKnRoaXMgfV0gKCkgbXV0YWJsZSB7Ci0gICAgICAgIENGRGF0YVJlZiByZWdpc3RyYXRp
b25zIHsgbnVsbHB0ciB9OwotCi0gICAgICAgIFdlYkNvcmU6OnJlZ2lzdGVyT3B1c0RlY29kZXJJ
Zk5lZWRlZCgpOwotICAgICAgICBXZWJDb3JlOjpyZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRl
ZCgpOwotICAgICAgICBpZiAobm9FcnIgIT0gQXVkaW9Db21wb25lbnRGZXRjaFNlcnZlclJlZ2lz
dHJhdGlvbnMoJnJlZ2lzdHJhdGlvbnMpIHx8ICFyZWdpc3RyYXRpb25zKQotICAgICAgICAgICAg
cmV0dXJuOwotCi0gICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbd2Vha1RoaXMgPSBX
VEZNb3ZlKHdlYWtUaGlzKSwgcmVnaXN0cmF0aW9ucyA9IGFkb3B0Q0YocmVnaXN0cmF0aW9ucyld
ICgpIG11dGFibGUgewotICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKLSAgICAgICAgICAgICAg
ICByZXR1cm47Ci0KLSAgICAgICAgICAgIGF1dG8gcmVnaXN0cmF0aW9uRGF0YSA9IFdlYkNvcmU6
OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKHJlZ2lzdHJhdGlvbnMuZ2V0KCkpOwotICAgICAgICAgICAg
d2Vha1RoaXMtPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkNvbnN1bWVBdWRpb0NvbXBvbmVu
dFJlZ2lzdHJhdGlvbnMoeyByZWdpc3RyYXRpb25EYXRhIH0pLCAwKTsKLSAgICAgICAgfSk7Ci0g
ICAgfSk7Ci19Ci0KIGJvb2wgV2ViUHJvY2Vzc1Byb3h5OjptZXNzYWdlU291cmNlSXNWYWxpZFdl
YkNvbnRlbnRQcm9jZXNzKCkKIHsKICAgICBpZiAoIWhhc0Nvbm5lY3Rpb24oKSkgewpJbmRleDog
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAJKHJl
dmlzaW9uIDI4NTQwOCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNz
UHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Myw2ICs2MywxMCBAQAogI2luY2x1ZGUgPHd0
Zi9GaWxlU3lzdGVtLmg+CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorI2luY2x1ZGUg
IkF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgiCisjZW5kaWYKKwogI2RlZmluZSBNRVNTQUdF
X0NIRUNLKGFzc2VydGlvbikgTUVTU0FHRV9DSEVDS19CQVNFKGFzc2VydGlvbiwgdGhpcy0+Y29u
bmVjdGlvbigpKQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ0OSw2ICs0NTMsOCBAQCB2b2lk
IEdQVVByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1bmNoaW5nCiAgICAgaWYgKCFzdG9yZSkKICAg
ICAgICAgcmV0dXJuOwogICAgIG1faGFzU2VudE5ldHdvcmtQcm9jZXNzWFBDRW5kcG9pbnQgPSBz
dG9yZS0+c2VuZE5ldHdvcmtQcm9jZXNzWFBDRW5kcG9pbnRUb1Byb2Nlc3MoKnRoaXMpOworCisg
ICAgc2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uczxNZXNzYWdlczo6R1BVUHJvY2Vzczo6
Q29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucz4oKnRoaXMpOwogI2VuZGlmCiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0
LldlYkF1dGhuUHJvY2Vzcy5zYi5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYkF1
dGhuUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW4JKHJl
dmlzaW9uIDI4NTQwOCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20u
YXBwbGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYi5pbgkod29ya2luZyBjb3B5KQpAQCAtMzI3
LDcgKzMyNyw2IEBACiAjaWYgUExBVEZPUk0oTUFDKQogICAgICh3aXRoIHJlcG9ydCkgKHdpdGgg
dGVsZW1ldHJ5KQogI2VuZGlmCi0gICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuYXVkaW8uQXVk
aW9Db21wb25lbnRSZWdpc3RyYXIiKQogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmF3ZGQi
KQogI2lmICFFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKICAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS5jZnByZWZzZC5hZ2VudCIpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI4NTQwOCkKKysrIFNvdXJjZS9X
ZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAg
LTE5MzksNiArMTkzOSw4IEBACiAJCUUzOEExRkMwMjNBNTUxQkYwMEQyMzc0RiAvKiBVc2VySW50
ZXJmYWNlSWRpb20ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMzhBMUZCRjIzQTU1MUJGMDBEMjM3NEYgLyogVXNlckludGVyZmFjZUlkaW9tLm1tICov
OyB9OwogCQlFMzk2MjhERDIzOTYwQ0M2MDA2NThFQ0QgLyogV2ViRGV2aWNlT3JpZW50YXRpb25V
cGRhdGVQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTM5NjI4REIyMzk2MENDNTAwNjU4RUNEIC8qIFdlYkRldmljZU9yaWVudGF0aW9uVXBk
YXRlUHJvdmlkZXIuaCAqLzsgfTsKIAkJRTM5NjI4REUyMzk2MENDNjAwNjU4RUNEIC8qIFdlYkRl
dmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM5NjI4REMyMzk2MENDNjAwNjU4RUNEIC8qIFdlYkRl
dmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuY3BwICovOyB9OworCQlFM0MyMzk2RDI3MjFD
OUMyMDBFMzc1MzcgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDMjM5NkIyNzIxQzlDMTAwRTM3
NTM3IC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmNwcCAqLzsgfTsKKwkJRTNDMjM5NkUy
NzIxQzlDMjAwRTM3NTM3IC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0MyMzk2QzI3MjFDOUMyMDBF
Mzc1MzcgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCAqLzsgfTsKIAkJRTNDQUFBNDQy
NDEzMjc5OTAwQ0VEMkUyIC8qIEFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0NBQUE0MzI0MTMyNzhBMDBDRUQy
RTIgLyogQWNjZXNzaWJpbGl0eVN1cHBvcnRTUEkuaCAqLzsgfTsKIAkJRTQxM0Y1OUQxQUMxQURD
NDAwMzQ1MzYwIC8qIE5ldHdvcmtDYWNoZUVudHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDEzRjU5QjFBQzFBREI2MDAzNDUzNjAgLyogTmV0d29y
a0NhY2hlRW50cnkuaCAqLzsgfTsKIAkJRTQyRTA2MTAxQUE3NTIzQjAwQjExNjk5IC8qIE5ldHdv
cmtDYWNoZUlPQ2hhbm5lbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTQyRTA2MEIxQUE3NDQwRDAwQjExNjk5IC8qIE5ldHdvcmtDYWNoZUlPQ2hhbm5l
bC5oICovOyB9OwpAQCAtNTg1Niw2ICs1ODU4LDggQEAKIAkJRTNBODZGQkMyNjk1OEUzMzAwNTky
NjREIC8qIFdlYkNhcHRpb25QcmVmZXJlbmNlc0RlbGVnYXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFdlYkNhcHRpb25QcmVmZXJlbmNlc0RlbGVnYXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTNCQ0U4NzcyNjcyNTIxMjAwMTFEOERCIC8qIEFjY2Vzc2liaWxpdHlQcmVm
ZXJlbmNlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0JDRTg3ODI2NzI1MjEyMDAxMUQ4
REIgLyogQWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2li
aWxpdHlQcmVmZXJlbmNlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFM0MyMzk2
QjI3MjFDOUMxMDBFMzc1MzcgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXVkaW9Db21wb25lbnRSZWdpc3RyYXRp
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFM0MyMzk2QzI3MjFDOUMyMDBF
Mzc1MzcgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTNDQUFBNDMyNDEzMjc4QTAwQ0VEMkUyIC8qIEFjY2Vzc2liaWxp
dHlTdXBwb3J0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2li
aWxpdHlTdXBwb3J0U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzRUZCMDJD
MjU1MDYxN0MwMDNDMkY5NiAvKiBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYlN5c3RlbVNvdW5kRGVsZWdhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFM0VGQjAyRDI1NTA2MTdDMDAzQzJGOTYgLyogV2ViU3lzdGVtU291bmREZWxl
Z2F0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04MTQ0LDYgKzgxNDgsOCBAQAogCQkJCTM3OEUxQTNCMTgx
RUQ2RkYwMDMxMDA3QSAvKiBBUElPYmplY3QubW0gKi8sCiAJCQkJQTE3NUM0NDkyMUFBMzE3MDAw
MDAzN0QwIC8qIEFyZ3VtZW50Q29kZXJzQ29jb2EuaCAqLywKIAkJCQlBMTc1QzQ0QjIxQUEzMzFC
MDAwMDM3RDAgLyogQXJndW1lbnRDb2RlcnNDb2NvYS5tbSAqLywKKwkJCQlFM0MyMzk2QjI3MjFD
OUMxMDBFMzc1MzcgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwICovLAorCQkJCUUz
QzIzOTZDMjcyMUM5QzIwMEUzNzUzNyAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oICov
LAogCQkJCTFBNjk4RjE3MUU0OTEwMjIwMDY0RTg4MSAvKiBBdXhpbGlhcnlQcm9jZXNzQ29jb2Eu
bW0gKi8sCiAJCQkJQ0UxMUFENTExQ0JDNDgyRjAwNjgxRUU1IC8qIENvZGVTaWduaW5nLmggKi8s
CiAJCQkJQ0UxMUFENEYxQ0JDNDdGODAwNjgxRUU1IC8qIENvZGVTaWduaW5nLm1tICovLApAQCAt
MTE4NjgsNiArMTE4NzQsNyBAQAogCQkJCTdCMURCMjY2MjU2NjhDRTEwMDBFMjZCQyAvKiBBcnJh
eVJlZmVyZW5jZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUFGQTYzNEYyMzRGN0M2NDAwRkZBODY0
IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VFOTY2RDExMkZB
RjU3MDA2QkNDMjQgLyogQXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTNDMjM5NkUy
NzIxQzlDMjAwRTM3NTM3IC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1MTJGNTg5NzEyQTg4Mzg4MDA2Mjk1MzAgLyogQXV0aGVudGljYXRpb25DaGFs
bGVuZ2VQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEyRjU4OTkxMkE4ODM4ODAwNjI5NTMw
IC8qIEF1dGhlbnRpY2F0aW9uRGVjaXNpb25MaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTE4RThFRjkxNkIyMDkxQzAwRTkxNDI5IC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIGluIEhl
YWRlcnMgKi8sCkBAIC0xNDExOCw2ICsxNDEyNSw3IEBACiAJCQkJMkQ5MkE3N0IyMTJCNkE3MTAw
RjQ5M0ZEIC8qIEFyZ3VtZW50Q29kZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJERUIxRDJF
MjEyNzQ3MzYwMDkzMzkwNiAvKiBBcmd1bWVudENvZGVyc0NGLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTJEOTJBNzdDMjEyQjZBNzEwMEY0OTNGRCAvKiBBdHRhY2htZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCUUzQzIzOTZEMjcyMUM5QzIwMEUzNzUzNyAvKiBBdWRpb0NvbXBvbmVudFJlZ2lz
dHJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRDQ1NzBENDI0NDExRDBGMDBBM0RDRUIg
LyogQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
Q0Q0NTcwRDMyNDQxMTNCNTAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9y
UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEyRjU4QTIxMkE4
ODNBRDAwNjI5NTMwIC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAg
aW4gU291cmNlcyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444538</attachid>
            <date>2021-11-17 11:11:10 -0800</date>
            <delta_ts>2021-11-18 15:54:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231694-20211117111109.patch</filename>
            <type>text/plain</type>
            <size>19963</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODU5MzApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDIxLTExLTE3ICBQZXIgQXJuZSBW
b2xsYW4gPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU11bR1BVUF0gUmVtb3Zl
IGFjY2VzcyBpbiBzYW5kYm94IHRvIGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lz
dHJhcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMx
Njk0CisgICAgICAgIDxyZGFyOi8vNzUyMjU5MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJl
bnQgRnVsZ2hhbS4KKworICAgICAgICBBZnRlciBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvMjc0NDM1L3dlYmtpdCwgdGhlcmUgaXMgbm8gbmVlZCB0byBhbGxvdyBhY2Nlc3MgdG8g
dGhpcyBzZXJ2aWNlLiBUaGlzIHBhdGNoIGFsc28gaW1wbGVtZW50cyBzZW5kaW5nCisgICAgICAg
IHRoZSBBdWRpbyBjb21wb25lbnQgcmVnaXN0cmF0aW9ucyB0byB0aGUgR1BVIHByb2Nlc3MsIHdo
aWNoIGlzIGEgcmVxdWlyZW1lbnQgYmVmb3JlIGJsb2NraW5nIHRoZSBzZXJ2aWNlIGluIHRoZSBH
UFUgcHJvY2Vzcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAgICAg
ICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9j
ZXNzL2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vz
czo6Y29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisgICAgICAgICogR1BVUHJv
Y2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluOgorICAgICAgICAqIFNo
YXJlZC9Db2NvYS9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViS2l0Ojpjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKToKKyAgICAgICAg
KiBTaGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaDogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OnNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc1Byb3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1bmNoaW5nKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojpy
ZXZva2VBdWRpb0NhcHR1cmVFeHRlbnNpb24pOgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9t
YWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW46CisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmNvbnN1
bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorCiAyMDIxLTExLTE3ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gQ3JlYXRlIGlPUyBN
b2RlbFBsYXllciBpbXBsZW1lbnRhdGlvbgpJbmRleDogU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVVByb2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BV
UHJvY2Vzcy5oCShyZXZpc2lvbiAyODU4OTIpCisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
R1BVUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgRU5BQkxF
KEdQVV9QUk9DRVNTKQogCiAjaW5jbHVkZSAiQXV4aWxpYXJ5UHJvY2Vzcy5oIgorI2luY2x1ZGUg
IkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW5jbHVk
ZSAiV2ViUGFnZVByb3h5SWRlbnRpZmllci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRD
RW51bVRyYWl0cy5oPgpAQCAtMTA5LDYgKzExMCwxMCBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBT
dHJpbmcmIGFwcGxpY2F0aW9uVmlzaWJsZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX2FwcGxpY2F0
aW9uVmlzaWJsZU5hbWU7IH0KIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHZvaWQgY29uc3Vt
ZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsK
KyNlbmRpZgorCiAgICAgdm9pZCB3ZWJQcm9jZXNzQ29ubmVjdGlvbkNvdW50Rm9yVGVzdGluZyhD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKHVpbnQ2NF90KT4mJik7CiAKIHByaXZhdGU6CkluZGV4OiBT
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgkocmV2
aXNpb24gMjg1ODkyKQorKysgU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVz
c2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTc2LDYgKzc2LDEwIEBAIG1lc3NhZ2VzIC0+IEdQ
VVByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIE5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZChT
dHJpbmcgZG9tYWluLCBTdHJpbmcga2V5LCBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gZW5jb2RlZFZh
bHVlKQogI2VuZGlmCiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBDb25zdW1lQXVkaW9Db21w
b25lbnRSZWdpc3RyYXRpb25zKElQQzo6U2hhcmVkQnVmZmVyRGF0YVJlZmVyZW5jZSByZWdpc3Ry
YXRpb25EYXRhKQorI2VuZGlmCisKICAgICBXZWJQcm9jZXNzQ29ubmVjdGlvbkNvdW50Rm9yVGVz
dGluZygpIC0+ICh1aW50NjRfdCBjb3VudCkgQXN5bmMKIH0KIApJbmRleDogU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvY29jb2EvR1BVUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAy
ODU4OTIpCisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvY29jb2EvR1BVUHJvY2Vzc0NvY29h
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAKICNpZiBFTkFCTEUoR1BVX1BS
T0NFU1MpICYmIFBMQVRGT1JNKENPQ09BKQogCisjaW1wb3J0ICJBdWRpb0NvbXBvbmVudFJlZ2lz
dHJhdGlvbi5oIgogI2ltcG9ydCAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgogI2ltcG9y
dCAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oIgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpA
QCAtNzUsNiArNzYsMTEgQEAgdm9pZCBHUFVQcm9jZXNzOjpkaXNwYXRjaFNpbXVsYXRlZE5vdGlm
aQogCiAjZW5kaWYgLy8gRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCiAKK3ZvaWQgR1BVUHJv
Y2Vzczo6Y29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhjb25zdCBJUEM6OkRhdGFS
ZWZlcmVuY2UmIGRhdGEpCit7CisgICAgV2ViS2l0Ojpjb25zdW1lQXVkaW9Db21wb25lbnRSZWdp
c3RyYXRpb25zKGRhdGEpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8v
IEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgUExBVEZPUk0oQ09DT0EpCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYi5pbgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQu
R1BVUHJvY2Vzcy5zYi5pbgkocmV2aXNpb24gMjg1ODkyKQorKysgU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4JKHdvcmtpbmcgY29w
eSkKQEAgLTYyNSw4ICs2MjUsMTAgQEAKIChhbGxvdyBpcGMtcG9zaXgtc2htLXJlYWQqIGlwYy1w
b3NpeC1zaG0td3JpdGUtZGF0YQogICAgIChpcGMtcG9zaXgtbmFtZS1wcmVmaXggIkF1ZGlvSU8i
KSkKIAorI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMjAwMDAKIChhbGxv
dyBtYWNoLWxvb2t1cAogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmF1ZGlvLkF1ZGlvQ29t
cG9uZW50UmVnaXN0cmFyIikpCisjZW5kaWYKIAogI2lmICFFTkFCTEUoQ0ZQUkVGU19ESVJFQ1Rf
TU9ERSkKIChhbGxvdyBtYWNoLWxvb2t1cCAod2l0aCB0ZWxlbWV0cnkpCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Db2NvYS9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3Ry
YXRpb24uY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0F1
ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUw
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkF1ZGlvQ29t
cG9uZW50UmVnaXN0cmF0aW9uLmgiCisKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCit2b2lkIGNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoY29u
c3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhKQoreworICAgIGlmICghUEFMOjppc0F1ZGlvVG9v
bGJveENvcmVGcmFtZXdvcmtBdmFpbGFibGUoKSB8fCAhUEFMOjpjYW5Mb2FkX0F1ZGlvVG9vbGJv
eENvcmVfQXVkaW9Db21wb25lbnRBcHBseVNlcnZlclJlZ2lzdHJhdGlvbnMoKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgYXV0byByZWdpc3RyYXRpb25zID0gYWRvcHRDRihDRkRhdGFDcmVhdGUo
a0NGQWxsb2NhdG9yRGVmYXVsdCwgZGF0YS5kYXRhKCksIGRhdGEuc2l6ZSgpKSk7CisgICAgaWYg
KCFyZWdpc3RyYXRpb25zKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIGVyciA9IFBBTDo6
QXVkaW9Db21wb25lbnRBcHBseVNlcnZlclJlZ2lzdHJhdGlvbnMocmVnaXN0cmF0aW9ucy5nZXQo
KSk7CisgICAgaWYgKG5vRXJyID09IGVycikKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIFJF
TEVBU0VfTE9HX0VSUk9SKFByb2Nlc3MsICJDb3VsZCBub3QgYXBwbHkgQXVkaW9Db21wb25lbnQg
cmVnaXN0cmF0aW9ucywgZXJyKCVsZCkiLCBzdGF0aWNfY2FzdDxsb25nPihlcnIpKTsKK30KKwor
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29h
L0F1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9TaGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaAkobm9uZXhpc3RlbnQp
CisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlv
bi5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2ltcG9ydCAiQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmgiCisjaW1wb3J0ICJEYXRh
UmVmZXJlbmNlLmgiCisjaW1wb3J0IDxXZWJDb3JlL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmg+
CisjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KKyNpbXBvcnQgPHBhbC9jZi9BdWRpb1Rvb2xib3hT
b2Z0TGluay5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4g
dm9pZCBzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKEF1eGlsaWFyeVByb2Nlc3NQcm94
eSYgcHJvY2VzcykKK3sKKyAgICBpZiAoIVBBTDo6aXNBdWRpb1Rvb2xib3hDb3JlRnJhbWV3b3Jr
QXZhaWxhYmxlKCkgfHwgIVBBTDo6Y2FuTG9hZF9BdWRpb1Rvb2xib3hDb3JlX0F1ZGlvQ29tcG9u
ZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGRp
c3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9nbG9iYWxfcXVldWUoRElTUEFUQ0hfUVVFVUVfUFJJ
T1JJVFlfREVGQVVMVCwgMCksIG1ha2VCbG9ja1B0cihbd2Vha1RoaXMgPSBXZWFrUHRyIHsgcHJv
Y2VzcyB9XSAoKSBtdXRhYmxlIHsKKyAgICAgICAgQ0ZEYXRhUmVmIHJlZ2lzdHJhdGlvbnMgeyBu
dWxscHRyIH07CisKKyAgICAgICAgV2ViQ29yZTo6cmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVk
KCk7CisgICAgICAgIFdlYkNvcmU6OnJlZ2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKCk7Cisg
ICAgICAgIGlmIChub0VyciAhPSBQQUw6OkF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3Ry
YXRpb25zKCZyZWdpc3RyYXRpb25zKSB8fCAhcmVnaXN0cmF0aW9ucykKKyAgICAgICAgICAgIHJl
dHVybjsKKworICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW3dlYWtUaGlzID0gV1RG
TW92ZSh3ZWFrVGhpcyksIHJlZ2lzdHJhdGlvbnMgPSBhZG9wdENGKHJlZ2lzdHJhdGlvbnMpXSAo
KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgYXV0byByZWdpc3RyYXRpb25EYXRhID0gV2ViQ29yZTo6U2hh
cmVkQnVmZmVyOjpjcmVhdGUocmVnaXN0cmF0aW9ucy5nZXQoKSk7CisgICAgICAgICAgICB3ZWFr
VGhpcy0+c2VuZChUKHsgcmVnaXN0cmF0aW9uRGF0YSB9KSwgMCk7CisgICAgICAgIH0pOworICAg
IH0pLmdldCgpKTsKK30KKwordm9pZCBjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25z
KGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpOworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHJldmlzaW9u
IDI4NTg5MikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTMwLDYgKzEzMCw3IEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JN
KENPQ09BKQorI2luY2x1ZGUgIkF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgiCiAjaW5jbHVk
ZSAiRGVmYXVsdFdlYkJyb3dzZXJDaGVja3MuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0dhbWVDb250
cm9sbGVyR2FtZXBhZFByb3ZpZGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9ISURHYW1lcGFkUHJv
dmlkZXIuaD4KQEAgLTg3OCw3ICs4NzksNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjppbml0aWFs
aXplTmV3V2ViUHJvCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIHByb2Nlc3Mu
c2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucygpOworICAgIHNlbmRBdWRpb0NvbXBvbmVu
dFJlZ2lzdHJhdGlvbnM8TWVzc2FnZXM6OldlYlByb2Nlc3M6OkNvbnN1bWVBdWRpb0NvbXBvbmVu
dFJlZ2lzdHJhdGlvbnM+KHByb2Nlc3MpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShNQUMpCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkocmV2aXNpb24g
Mjg1ODkyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgJKHdv
cmtpbmcgY29weSkKQEAgLTMzOSw4ICszMzksNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNBdWRp
b0NhcHR1cmVFeHRlbnNpb24oKSBjb25zdCB7IHJldHVybiBtX21lZGlhQ2FwdHVyZVNhbmRib3hF
eHRlbnNpb25zICYgQXVkaW87IH0KICAgICB2b2lkIGdyYW50QXVkaW9DYXB0dXJlRXh0ZW5zaW9u
KCkgeyBtX21lZGlhQ2FwdHVyZVNhbmRib3hFeHRlbnNpb25zIHw9IEF1ZGlvOyB9CiAgICAgdm9p
ZCByZXZva2VBdWRpb0NhcHR1cmVFeHRlbnNpb24oKSB7IG1fbWVkaWFDYXB0dXJlU2FuZGJveEV4
dGVuc2lvbnMgJj0gfkF1ZGlvOyB9Ci0KLSAgICB2b2lkIHNlbmRBdWRpb0NvbXBvbmVudFJlZ2lz
dHJhdGlvbnMoKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpICYmIFBM
QVRGT1JNKENPQ09BKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJv
Y2Vzc1Byb3h5Q29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0JKHJldmlzaW9uIDI4NTg5MikKKysrIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0zOSw3ICszOSw2IEBACiAjaW1wb3J0ICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIK
ICNpbXBvcnQgIldlYlByb2Nlc3NQb29sLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrcy5oPgotI2ltcG9ydCA8V2ViQ29yZS9XZWJNQXVkaW9VdGlsaXRpZXNDb2Nv
YS5oPgogI2ltcG9ydCA8c3lzL3N5c2N0bC5oPgogI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVk
Lmg+CiAjaW1wb3J0IDx3dGYvU2NvcGUuaD4KQEAgLTY0LDggKzYzLDYgQEAKICNpbmNsdWRlICJU
Q0NTb2Z0TGluay5oIgogI2VuZGlmCiAKLSNpbXBvcnQgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0
TGluay5oPgotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogc3RhdGljIGNvbnN0IFNlY29uZHMgdW5l
eHBlY3RlZEFjdGl2aXR5RHVyYXRpb24gPSAxMF9zOwpAQCAtMjg5LDMxICsyODYsNiBAQCB2b2lk
IFdlYlByb2Nlc3NQcm94eTo6aXNBWEF1dGhlbnRpY2F0ZWQoCiB9CiAjZW5kaWYKIAotdm9pZCBX
ZWJQcm9jZXNzUHJveHk6OnNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoKQotewotICAg
IHVzaW5nIG5hbWVzcGFjZSBQQUw7Ci0KLSAgICBpZiAoIVBBTDo6aXNBdWRpb1Rvb2xib3hDb3Jl
RnJhbWV3b3JrQXZhaWxhYmxlKCkgfHwgIVBBTDo6Y2FuTG9hZF9BdWRpb1Rvb2xib3hDb3JlX0F1
ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zKCkpCi0gICAgICAgIHJldHVybjsK
LQotICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9nbG9iYWxfcXVldWUoRElTUEFUQ0hf
UVVFVUVfUFJJT1JJVFlfREVGQVVMVCwgMCksIFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9
XSAoKSBtdXRhYmxlIHsKLSAgICAgICAgQ0ZEYXRhUmVmIHJlZ2lzdHJhdGlvbnMgeyBudWxscHRy
IH07Ci0KLSAgICAgICAgV2ViQ29yZTo6cmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVkKCk7Ci0g
ICAgICAgIFdlYkNvcmU6OnJlZ2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKCk7Ci0gICAgICAg
IGlmIChub0VyciAhPSBBdWRpb0NvbXBvbmVudEZldGNoU2VydmVyUmVnaXN0cmF0aW9ucygmcmVn
aXN0cmF0aW9ucykgfHwgIXJlZ2lzdHJhdGlvbnMpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAg
ICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFt3ZWFrVGhpcyA9IFdURk1vdmUod2Vha1Ro
aXMpLCByZWdpc3RyYXRpb25zID0gYWRvcHRDRihyZWdpc3RyYXRpb25zKV0gKCkgbXV0YWJsZSB7
Ci0gICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQotICAgICAgICAgICAgICAgIHJldHVybjsKLQot
ICAgICAgICAgICAgYXV0byByZWdpc3RyYXRpb25EYXRhID0gV2ViQ29yZTo6U2hhcmVkQnVmZmVy
OjpjcmVhdGUocmVnaXN0cmF0aW9ucy5nZXQoKSk7Ci0gICAgICAgICAgICB3ZWFrVGhpcy0+c2Vu
ZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6Q29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9u
cyh7IHJlZ2lzdHJhdGlvbkRhdGEgfSksIDApOwotICAgICAgICB9KTsKLSAgICB9KTsKLX0KLQog
Ym9vbCBXZWJQcm9jZXNzUHJveHk6Om1lc3NhZ2VTb3VyY2VJc1ZhbGlkV2ViQ29udGVudFByb2Nl
c3MoKQogewogICAgIGlmICghaGFzQ29ubmVjdGlvbigpKSB7CkluZGV4OiBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcAkocmV2aXNpb24gMjg1ODky
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTYzLDYgKzYzLDEwIEBACiAjaW5jbHVkZSA8d3RmL0ZpbGVTeXN0ZW0u
aD4KICNlbmRpZgogCisjaWYgUExBVEZPUk0oQ09DT0EpCisjaW5jbHVkZSAiQXVkaW9Db21wb25l
bnRSZWdpc3RyYXRpb24uaCIKKyNlbmRpZgorCiAjZGVmaW5lIE1FU1NBR0VfQ0hFQ0soYXNzZXJ0
aW9uKSBNRVNTQUdFX0NIRUNLX0JBU0UoYXNzZXJ0aW9uLCB0aGlzLT5jb25uZWN0aW9uKCkpCiAK
IG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDM5LDYgKzQ0Myw4IEBAIHZvaWQgR1BVUHJvY2Vzc1By
b3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCisg
ICAgc2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uczxNZXNzYWdlczo6R1BVUHJvY2Vzczo6
Q29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucz4oKnRoaXMpOworCiAgICAgLy8gVXNl
IGFueSBzZXNzaW9uIElEIHRvIGdldCBhbnkgV2Vic2l0ZSBkYXRhIHN0b3JlLiBJdCBpcyBPSyB0
byB1c2UgYW55IFdlYnNpdGUgZGF0YSBzdG9yZSwKICAgICAvLyBzaW5jZSB3ZSBhcmUgdXNpbmcg
aXQgdG8gYWNjZXNzIGFueSBOZXR3b3JraW5nIHByb2Nlc3MsIHdoaWNoIGFsbCBoYXZlIHRoZSBY
UEMgZW5kcG9pbnQuCiAgICAgLy8gVGhlIFhQQyBlbmRwb2ludCBpcyB1c2VkIHRvIHJlY2VpdmUg
dGhlIExhdW5jaCBTZXJ2aWNlcyBkYXRhYmFzZSBmcm9tIHRoZSBOZXR3b3JrIHByb2Nlc3MuCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5X
ZWJBdXRoblByb2Nlc3Muc2IuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJBdXRo
blByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluCShyZXZp
c2lvbiAyODU4OTIpCisrKyBTb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMvY29tLmFw
cGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW4JKHdvcmtpbmcgY29weSkKQEAgLTMyNiw3
ICszMjYsNiBAQAogI2lmIFBMQVRGT1JNKE1BQykKICAgICAod2l0aCByZXBvcnQpICh3aXRoIHRl
bGVtZXRyeSkKICNlbmRpZgotICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmF1ZGlvLkF1ZGlv
Q29tcG9uZW50UmVnaXN0cmFyIikKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hd2RkIikK
ICNpZiAhRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCiAgICAgKGdsb2JhbC1uYW1lICJjb20u
YXBwbGUuY2ZwcmVmc2QuYWdlbnQiKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyODU4OTIpCisrKyBTb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0x
OTQyLDYgKzE5NDIsOCBAQAogCQlFMzhBMUZDMDIzQTU1MUJGMDBEMjM3NEYgLyogVXNlckludGVy
ZmFjZUlkaW9tLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTM4QTFGQkYyM0E1NTFCRjAwRDIzNzRGIC8qIFVzZXJJbnRlcmZhY2VJZGlvbS5tbSAqLzsg
fTsKIAkJRTM5NjI4REQyMzk2MENDNjAwNjU4RUNEIC8qIFdlYkRldmljZU9yaWVudGF0aW9uVXBk
YXRlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUzOTYyOERCMjM5NjBDQzUwMDY1OEVDRCAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0
ZVByb3ZpZGVyLmggKi87IH07CiAJCUUzOTYyOERFMjM5NjBDQzYwMDY1OEVDRCAvKiBXZWJEZXZp
Y2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOTYyOERDMjM5NjBDQzYwMDY1OEVDRCAvKiBXZWJEZXZp
Y2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmNwcCAqLzsgfTsKKwkJRTNDMjM5NkQyNzIxQzlD
MjAwRTM3NTM3IC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQzIzOTZCMjcyMUM5QzEwMEUzNzUz
NyAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHAgKi87IH07CisJCUUzQzIzOTZFMjcy
MUM5QzIwMEUzNzUzNyAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDMjM5NkMyNzIxQzlDMjAwRTM3
NTM3IC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmggKi87IH07CiAJCUUzQ0FBQTQ0MjQx
MzI3OTkwMENFRDJFMiAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNQSS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDQUFBNDMyNDEzMjc4QTAwQ0VEMkUy
IC8qIEFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmggKi87IH07CiAJCUU0MTNGNTlEMUFDMUFEQzQw
MDM0NTM2MCAvKiBOZXR3b3JrQ2FjaGVFbnRyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTQxM0Y1OUIxQUMxQURCNjAwMzQ1MzYwIC8qIE5ldHdvcmtD
YWNoZUVudHJ5LmggKi87IH07CiAJCUU0MkUwNjEwMUFBNzUyM0IwMEIxMTY5OSAvKiBOZXR3b3Jr
Q2FjaGVJT0NoYW5uZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEU0MkUwNjBCMUFBNzQ0MEQwMEIxMTY5OSAvKiBOZXR3b3JrQ2FjaGVJT0NoYW5uZWwu
aCAqLzsgfTsKQEAgLTU5NzEsNiArNTk3Myw4IEBACiAJCUUzQTg2RkJDMjY5NThFMzMwMDU5MjY0
RCAvKiBXZWJDYXB0aW9uUHJlZmVyZW5jZXNEZWxlZ2F0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXZWJDYXB0aW9uUHJlZmVyZW5jZXNEZWxlZ2F0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUUzQkNFODc3MjY3MjUyMTIwMDExRDhEQiAvKiBBY2Nlc3NpYmlsaXR5UHJlZmVy
ZW5jZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNCQ0U4NzgyNjcyNTIxMjAwMTFEOERC
IC8qIEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmls
aXR5UHJlZmVyZW5jZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTNDMjM5NkIy
NzIxQzlDMTAwRTM3NTM3IC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9u
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTNDMjM5NkMyNzIxQzlDMjAwRTM3
NTM3IC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUUzQ0FBQTQzMjQxMzI3OEEwMENFRDJFMiAvKiBBY2Nlc3NpYmlsaXR5
U3VwcG9ydFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmls
aXR5U3VwcG9ydFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0VGQjAyQzI1
NTA2MTdDMDAzQzJGOTYgLyogV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTNFRkIwMkQyNTUwNjE3QzAwM0MyRjk2IC8qIFdlYlN5c3RlbVNvdW5kRGVsZWdh
dGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtODM4Miw2ICs4Mzg2LDggQEAKIAkJCQkzNzhFMUEzQjE4MUVE
NkZGMDAzMTAwN0EgLyogQVBJT2JqZWN0Lm1tICovLAogCQkJCUExNzVDNDQ5MjFBQTMxNzAwMDAw
MzdEMCAvKiBBcmd1bWVudENvZGVyc0NvY29hLmggKi8sCiAJCQkJQTE3NUM0NEIyMUFBMzMxQjAw
MDAzN0QwIC8qIEFyZ3VtZW50Q29kZXJzQ29jb2EubW0gKi8sCisJCQkJRTNDMjM5NkIyNzIxQzlD
MTAwRTM3NTM3IC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmNwcCAqLywKKwkJCQlFM0My
Mzk2QzI3MjFDOUMyMDBFMzc1MzcgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCAqLywK
IAkJCQkxQTY5OEYxNzFFNDkxMDIyMDA2NEU4ODEgLyogQXV4aWxpYXJ5UHJvY2Vzc0NvY29hLm1t
ICovLAogCQkJCUNFMTFBRDUxMUNCQzQ4MkYwMDY4MUVFNSAvKiBDb2RlU2lnbmluZy5oICovLAog
CQkJCUNFMTFBRDRGMUNCQzQ3RjgwMDY4MUVFNSAvKiBDb2RlU2lnbmluZy5tbSAqLywKQEAgLTEy
MTI5LDYgKzEyMTM1LDcgQEAKIAkJCQk3QjFEQjI2NjI1NjY4Q0UxMDAwRTI2QkMgLyogQXJyYXlS
ZWZlcmVuY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUFBRkE2MzRGMjM0RjdDNjQwMEZGQTg2NCAv
KiBBc3luY1JldmFsaWRhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFRTk2NkQxMTJGQUY1
NzAwNkJDQzI0IC8qIEF0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUUzQzIzOTZFMjcy
MUM5QzIwMEUzNzUzNyAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNTEyRjU4OTcxMkE4ODM4ODAwNjI5NTMwIC8qIEF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMkY1ODk5MTJBODgzODgwMDYyOTUzMCAv
KiBBdXRoZW50aWNhdGlvbkRlY2lzaW9uTGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
OEU4RUY5MTZCMjA5MUMwMEU5MTQyOSAvKiBBdXRoZW50aWNhdGlvbk1hbmFnZXIuaCBpbiBIZWFk
ZXJzICovLApAQCAtMTQzOTksNiArMTQ0MDYsNyBAQAogCQkJCTJEOTJBNzdCMjEyQjZBNzEwMEY0
OTNGRCAvKiBBcmd1bWVudENvZGVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyREVCMUQyRTIx
Mjc0NzM2MDA5MzM5MDYgLyogQXJndW1lbnRDb2RlcnNDRi5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkyRDkyQTc3QzIxMkI2QTcxMDBGNDkzRkQgLyogQXR0YWNobWVudC5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlFM0MyMzk2RDI3MjFDOUMyMDBFMzc1MzcgLyogQXVkaW9Db21wb25lbnRSZWdpc3Ry
YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0Q0NTcwRDQyNDQxMUQwRjAwQTNEQ0VCIC8q
IEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNE
NDU3MEQzMjQ0MTEzQjUwMEEzRENFQiAvKiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclBy
b3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMkY1OEEyMTJBODgz
QUQwMDYyOTUzMCAvKiBBdXRoZW50aWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449861</attachid>
            <date>2022-01-24 14:49:10 -0800</date>
            <delta_ts>2022-01-29 13:29:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231694-20220124144910.patch</filename>
            <type>text/plain</type>
            <size>22513</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODgzODMpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDIyLTAxLTI0ICBQZXIgQXJuZSBW
b2xsYW4gPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU11bR1BVUF0gUmVtb3Zl
IGFjY2VzcyBpbiBzYW5kYm94IHRvIGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lz
dHJhcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMx
Njk0CisgICAgICAgIDxyZGFyOi8vNzUyMjU5MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJl
bnQgRnVsZ2hhbS4KKworICAgICAgICBBZnRlciBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvMjc0NDM1L3dlYmtpdCwgdGhlcmUgaXMgbm8gbmVlZCB0byBhbGxvdyBhY2Nlc3MgdG8g
dGhpcyBzZXJ2aWNlLiBUaGlzIHBhdGNoIGFsc28gaW1wbGVtZW50cyBzZW5kaW5nCisgICAgICAg
IHRoZSBBdWRpbyBjb21wb25lbnQgcmVnaXN0cmF0aW9ucyB0byB0aGUgR1BVIHByb2Nlc3MsIHdo
aWNoIGlzIGEgcmVxdWlyZW1lbnQgYmVmb3JlIGJsb2NraW5nIHRoZSBzZXJ2aWNlIGluIHRoZSBH
UFUgcHJvY2Vzcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAgICAg
ICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9j
ZXNzL2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vz
czo6Y29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisgICAgICAgICogR1BVUHJv
Y2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluOgorICAgICAgICAqIFNo
YXJlZC9Db2NvYS9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViS2l0Ojpjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKToKKyAgICAgICAg
KiBTaGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaDogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OnNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc1Byb3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1bmNoaW5nKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojpy
ZXZva2VBdWRpb0NhcHR1cmVFeHRlbnNpb24pOgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9t
YWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW46CisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmNvbnN1
bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorCiAyMDIyLTAxLTIxICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbbWFjT1NdW0dQVVBdIEFkZCBh
Y2Nlc3MgdG8gSU9LaXQgcHJvcGVydHkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVBy
b2Nlc3MuaAkocmV2aXNpb24gMjg4MjQ2KQorKysgU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQ
VVByb2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsOSBAQAogI2lmIEVOQUJMRShH
UFVfUFJPQ0VTUykKIAogI2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3MuaCIKKyNpbmNsdWRlICJE
YXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgorI2luY2x1ZGUg
IlNoYXJlZEJ1ZmZlckNvcHkuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHlJZGVudGlmaWVyLmgi
CiAjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENFbnVtVHJhaXRzLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9UaW1lci5oPgpAQCAtMTA5LDYgKzExMSwxMCBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBT
dHJpbmcmIGFwcGxpY2F0aW9uVmlzaWJsZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX2FwcGxpY2F0
aW9uVmlzaWJsZU5hbWU7IH0KIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHZvaWQgY29uc3Vt
ZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhjb25zdCBJUEM6OlNoYXJlZEJ1ZmZlckNvcHkm
KTsKKyNlbmRpZgorCiAgICAgdm9pZCB3ZWJQcm9jZXNzQ29ubmVjdGlvbkNvdW50Rm9yVGVzdGlu
ZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHVpbnQ2NF90KT4mJik7CiAKICNpZiBQTEFURk9STShD
T0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCShyZXZpc2lvbiAyODgyNDYpCisrKyBT
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgkod29ya2luZyBj
b3B5KQpAQCAtNzYsNiArNzYsMTAgQEAgbWVzc2FnZXMgLT4gR1BVUHJvY2VzcyBMZWdhY3lSZWNl
aXZlciB7CiAgICAgTm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKFN0cmluZyBkb21haW4sIFN0cmlu
ZyBrZXksIHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiBlbmNvZGVkVmFsdWUpCiAjZW5kaWYKIAorI2lm
IFBMQVRGT1JNKENPQ09BKQorICAgIENvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMo
SVBDOjpTaGFyZWRCdWZmZXJDb3B5IHJlZ2lzdHJhdGlvbkRhdGEpCisjZW5kaWYKKwogICAgIFdl
YlByb2Nlc3NDb25uZWN0aW9uQ291bnRGb3JUZXN0aW5nKCkgLT4gKHVpbnQ2NF90IGNvdW50KSBB
c3luYwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvY29jb2EvR1BVUHJvY2Vz
c0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9jb2NvYS9H
UFVQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI4ODI0NikKKysrIFNvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9jb2NvYS9HUFVQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTMwLDYg
KzMwLDcgQEAKIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgUExBVEZPUk0oQ09DT0EpCiAK
KyNpbXBvcnQgIkF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgiCiAjaW1wb3J0ICJHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmgiCiAjaW1wb3J0ICJSZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmgi
CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CkBAIC03NSw2ICs3NiwxMSBAQCB2b2lkIEdQVVBy
b2Nlc3M6OmRpc3BhdGNoU2ltdWxhdGVkTm90aWZpCiAKICNlbmRpZiAvLyBFTkFCTEUoQ0ZQUkVG
U19ESVJFQ1RfTU9ERSkKIAordm9pZCBHUFVQcm9jZXNzOjpjb25zdW1lQXVkaW9Db21wb25lbnRS
ZWdpc3RyYXRpb25zKGNvbnN0IElQQzo6U2hhcmVkQnVmZmVyQ29weSYgZGF0YSkKK3sKKyAgICBX
ZWJLaXQ6OmNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoZGF0YSk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBQ
TEFURk9STShDT0NPQSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMvY29tLmFw
cGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluCShyZXZpc2lv
biAyODgyNDYpCisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJL
aXQuR1BVUHJvY2Vzcy5zYi5pbgkod29ya2luZyBjb3B5KQpAQCAtNjI4LDggKzYyOCwxMCBAQAog
KGFsbG93IGlwYy1wb3NpeC1zaG0tcmVhZCogaXBjLXBvc2l4LXNobS13cml0ZS1kYXRhCiAgICAg
KGlwYy1wb3NpeC1uYW1lLXByZWZpeCAiQXVkaW9JTyIpKQogCisjaWYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA8IDEyMDAwMAogKGFsbG93IG1hY2gtbG9va3VwCiAgICAgKGdsb2Jh
bC1uYW1lICJjb20uYXBwbGUuYXVkaW8uQXVkaW9Db21wb25lbnRSZWdpc3RyYXIiKSkKKyNlbmRp
ZgogCiAjaWYgIUVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogKGFsbG93IG1hY2gtbG9va3Vw
ICh3aXRoIHRlbGVtZXRyeSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0F1ZGlv
Q29tcG9uZW50UmVnaXN0cmF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1No
YXJlZC9Db2NvYS9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHAJKG5vbmV4aXN0ZW50KQor
KysgU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCIKKwor
I2luY2x1ZGUgIkxvZ2dpbmcuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgY29uc3Vt
ZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhjb25zdCBJUEM6OlNoYXJlZEJ1ZmZlckNvcHkm
IGRhdGEpCit7CisgICAgdXNpbmcgbmFtZXNwYWNlIFBBTDsKKworICAgIGlmICghUEFMOjppc0F1
ZGlvVG9vbGJveENvcmVGcmFtZXdvcmtBdmFpbGFibGUoKSB8fCAhUEFMOjpjYW5Mb2FkX0F1ZGlv
VG9vbGJveENvcmVfQXVkaW9Db21wb25lbnRBcHBseVNlcnZlclJlZ2lzdHJhdGlvbnMoKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaWYgKCFkYXRhLmJ1ZmZlcigpKQorICAgICAgICByZXR1cm47
CisgICAgYXV0byByZWdpc3RyYXRpb25zID0gZGF0YS5idWZmZXIoKS0+Y3JlYXRlQ0ZEYXRhKCk7
CisKKyAgICBhdXRvIGVyciA9IEF1ZGlvQ29tcG9uZW50QXBwbHlTZXJ2ZXJSZWdpc3RyYXRpb25z
KHJlZ2lzdHJhdGlvbnMuZ2V0KCkpOworICAgIGlmIChub0VyciAhPSBlcnIpCisgICAgICAgIFJF
TEVBU0VfTE9HX0VSUk9SKFByb2Nlc3MsICJDb3VsZCBub3QgYXBwbHkgQXVkaW9Db21wb25lbnQg
cmVnaXN0cmF0aW9ucywgZXJyKCVsZCkiLCBzdGF0aWNfY2FzdDxsb25nPihlcnIpKTsKK30KKwor
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29h
L0F1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9TaGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaAkobm9uZXhpc3RlbnQp
CisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlv
bi5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2ltcG9ydCAiQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmgiCisjaW1wb3J0ICJEYXRh
UmVmZXJlbmNlLmgiCisjaW1wb3J0ICJTaGFyZWRCdWZmZXJDb3B5LmgiCisjaW1wb3J0IDxXZWJD
b3JlL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmg+CisjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4K
KyNpbXBvcnQgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0TGluay5oPgorCituYW1lc3BhY2UgV2Vi
S2l0IHsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBzZW5kQXVkaW9Db21wb25lbnRSZWdp
c3RyYXRpb25zKEF1eGlsaWFyeVByb2Nlc3NQcm94eSYgcHJvY2VzcykKK3sKKyAgICBpZiAoIVBB
TDo6aXNBdWRpb1Rvb2xib3hDb3JlRnJhbWV3b3JrQXZhaWxhYmxlKCkgfHwgIVBBTDo6Y2FuTG9h
ZF9BdWRpb1Rvb2xib3hDb3JlX0F1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25z
KCkpCisgICAgICAgIHJldHVybjsKKworICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9n
bG9iYWxfcXVldWUoRElTUEFUQ0hfUVVFVUVfUFJJT1JJVFlfREVGQVVMVCwgMCksIG1ha2VCbG9j
a1B0cihbd2Vha1RoaXMgPSBXZWFrUHRyIHsgcHJvY2VzcyB9XSAoKSBtdXRhYmxlIHsKKyAgICAg
ICAgQ0ZEYXRhUmVmIHJlZ2lzdHJhdGlvbnMgeyBudWxscHRyIH07CisKKyAgICAgICAgV2ViQ29y
ZTo6cmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVkKCk7CisgICAgICAgIFdlYkNvcmU6OnJlZ2lz
dGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKCk7CisgICAgICAgIGlmIChub0VyciAhPSBQQUw6OkF1
ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zKCZyZWdpc3RyYXRpb25zKSB8fCAh
cmVnaXN0cmF0aW9ucykKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBSdW5Mb29wOjpt
YWluKCkuZGlzcGF0Y2goW3dlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIHJlZ2lzdHJhdGlv
bnMgPSBhZG9wdENGKHJlZ2lzdHJhdGlvbnMpXSAoKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlm
ICghd2Vha1RoaXMpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgYXV0byBy
ZWdpc3RyYXRpb25EYXRhID0gV2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpjcmVhdGUocmVnaXN0cmF0
aW9ucy5nZXQoKSk7CisgICAgICAgICAgICB3ZWFrVGhpcy0+c2VuZChUKHsgSVBDOjpTaGFyZWRC
dWZmZXJDb3B5KFdURk1vdmUocmVnaXN0cmF0aW9uRGF0YSkpIH0pLCAwKTsKKyAgICAgICAgfSk7
CisgICAgfSkuZ2V0KCkpOworfQorCit2b2lkIGNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJh
dGlvbnMoY29uc3QgSVBDOjpTaGFyZWRCdWZmZXJDb3B5Jik7CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAko
cmV2aXNpb24gMjg4MjQ2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzEsNiArMTMxLDcgQEAKICNlbmRpZgogCiAjaWYg
UExBVEZPUk0oQ09DT0EpCisjaW5jbHVkZSAiQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCIK
ICNpbmNsdWRlICJEZWZhdWx0V2ViQnJvd3NlckNoZWNrcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUv
R2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hJREdh
bWVwYWRQcm92aWRlci5oPgpAQCAtODg5LDcgKzg5MCw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6
OmluaXRpYWxpemVOZXdXZWJQcm8KICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAg
cHJvY2Vzcy5zZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKCk7CisgICAgc2VuZEF1ZGlv
Q29tcG9uZW50UmVnaXN0cmF0aW9uczxNZXNzYWdlczo6V2ViUHJvY2Vzczo6Q29uc3VtZUF1ZGlv
Q29tcG9uZW50UmVnaXN0cmF0aW9ucz4ocHJvY2Vzcyk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JN
KE1BQykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCShy
ZXZpc2lvbiAyODgyNDYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuaAkod29ya2luZyBjb3B5KQpAQCAtMzQyLDggKzM0Miw2IEBAIHB1YmxpYzoKICAgICBib29s
IGhhc0F1ZGlvQ2FwdHVyZUV4dGVuc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFDYXB0dXJl
U2FuZGJveEV4dGVuc2lvbnMgJiBBdWRpbzsgfQogICAgIHZvaWQgZ3JhbnRBdWRpb0NhcHR1cmVF
eHRlbnNpb24oKSB7IG1fbWVkaWFDYXB0dXJlU2FuZGJveEV4dGVuc2lvbnMgfD0gQXVkaW87IH0K
ICAgICB2b2lkIHJldm9rZUF1ZGlvQ2FwdHVyZUV4dGVuc2lvbigpIHsgbV9tZWRpYUNhcHR1cmVT
YW5kYm94RXh0ZW5zaW9ucyAmPSB+QXVkaW87IH0KLQotICAgIHZvaWQgc2VuZEF1ZGlvQ29tcG9u
ZW50UmVnaXN0cmF0aW9ucygpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RP
UikgJiYgUExBVEZPUk0oQ09DT0EpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQkocmV2aXNpb24gMjg4MjQ2KQor
KysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0J
KHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDYgQEAKICNpbXBvcnQgIldlYlByb2Nlc3NNZXNz
YWdlcy5oIgogI2ltcG9ydCAiV2ViUHJvY2Vzc1Bvb2wuaCIKICNpbXBvcnQgPFdlYkNvcmUvUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1dlYk1BdWRpb1V0aWxp
dGllc0NvY29hLmg+CiAjaW1wb3J0IDxzeXMvc3lzY3RsLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJE
ZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9TY29wZS5oPgpAQCAtNjUsOCArNjQsNiBAQAogI2lu
Y2x1ZGUgIlRDQ1NvZnRMaW5rLmgiCiAjZW5kaWYKIAotI2ltcG9ydCA8cGFsL2NmL0F1ZGlvVG9v
bGJveFNvZnRMaW5rLmg+Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiBzdGF0aWMgY29uc3QgU2Vj
b25kcyB1bmV4cGVjdGVkQWN0aXZpdHlEdXJhdGlvbiA9IDEwX3M7CkBAIC0yODcsMzEgKzI4NCw2
IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojppc0FYQXV0aGVudGljYXRlZCgKIH0KICNlbmRpZgog
Ci12b2lkIFdlYlByb2Nlc3NQcm94eTo6c2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucygp
Ci17Ci0gICAgdXNpbmcgbmFtZXNwYWNlIFBBTDsKLQotICAgIGlmICghUEFMOjppc0F1ZGlvVG9v
bGJveENvcmVGcmFtZXdvcmtBdmFpbGFibGUoKSB8fCAhUEFMOjpjYW5Mb2FkX0F1ZGlvVG9vbGJv
eENvcmVfQXVkaW9Db21wb25lbnRGZXRjaFNlcnZlclJlZ2lzdHJhdGlvbnMoKSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X2dsb2JhbF9xdWV1ZShE
SVNQQVRDSF9RVUVVRV9QUklPUklUWV9ERUZBVUxULCAwKSwgW3dlYWtUaGlzID0gV2Vha1B0ciB7
ICp0aGlzIH1dICgpIG11dGFibGUgewotICAgICAgICBDRkRhdGFSZWYgcmVnaXN0cmF0aW9ucyB7
IG51bGxwdHIgfTsKLQotICAgICAgICBXZWJDb3JlOjpyZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVk
ZWQoKTsKLSAgICAgICAgV2ViQ29yZTo6cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKTsK
LSAgICAgICAgaWYgKG5vRXJyICE9IEF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRp
b25zKCZyZWdpc3RyYXRpb25zKSB8fCAhcmVnaXN0cmF0aW9ucykKLSAgICAgICAgICAgIHJldHVy
bjsKLQotICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW3dlYWtUaGlzID0gV1RGTW92
ZSh3ZWFrVGhpcyksIHJlZ2lzdHJhdGlvbnMgPSBhZG9wdENGKHJlZ2lzdHJhdGlvbnMpXSAoKSB7
Ci0gICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQotICAgICAgICAgICAgICAgIHJldHVybjsKLQot
ICAgICAgICAgICAgYXV0byByZWdpc3RyYXRpb25EYXRhID0gV2ViQ29yZTo6U2hhcmVkQnVmZmVy
OjpjcmVhdGUocmVnaXN0cmF0aW9ucy5nZXQoKSk7Ci0gICAgICAgICAgICB3ZWFrVGhpcy0+c2Vu
ZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6Q29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9u
cyhJUEM6OlNoYXJlZEJ1ZmZlckNvcHkoV1RGTW92ZShyZWdpc3RyYXRpb25EYXRhKSkpLCAwKTsK
LSAgICAgICAgfSk7Ci0gICAgfSk7Ci19Ci0KIGJvb2wgV2ViUHJvY2Vzc1Byb3h5OjptZXNzYWdl
U291cmNlSXNWYWxpZFdlYkNvbnRlbnRQcm9jZXNzKCkKIHsKICAgICBpZiAoIWhhc0Nvbm5lY3Rp
b24oKSkgewpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94
eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nl
c3NQcm94eS5jcHAJKHJldmlzaW9uIDI4ODI0NikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Myw2ICs2MywxMCBA
QAogI2luY2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKENP
Q09BKQorI2luY2x1ZGUgIkF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgiCisjZW5kaWYKKwog
I2RlZmluZSBNRVNTQUdFX0NIRUNLKGFzc2VydGlvbikgTUVTU0FHRV9DSEVDS19CQVNFKGFzc2Vy
dGlvbiwgdGhpcy0+Y29ubmVjdGlvbigpKQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ0MSw2
ICs0NDUsOCBAQCB2b2lkIEdQVVByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1bmNoaW5nCiAjZW5k
aWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJh
dGlvbnM8TWVzc2FnZXM6OkdQVVByb2Nlc3M6OkNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJh
dGlvbnM+KCp0aGlzKTsKKwogICAgIC8vIFVzZSBhbnkgc2Vzc2lvbiBJRCB0byBnZXQgYW55IFdl
YnNpdGUgZGF0YSBzdG9yZS4gSXQgaXMgT0sgdG8gdXNlIGFueSBXZWJzaXRlIGRhdGEgc3RvcmUs
CiAgICAgLy8gc2luY2Ugd2UgYXJlIHVzaW5nIGl0IHRvIGFjY2VzcyBhbnkgTmV0d29ya2luZyBw
cm9jZXNzLCB3aGljaCBhbGwgaGF2ZSB0aGUgWFBDIGVuZHBvaW50LgogICAgIC8vIFRoZSBYUEMg
ZW5kcG9pbnQgaXMgdXNlZCB0byByZWNlaXZlIHRoZSBMYXVuY2ggU2VydmljZXMgZGF0YWJhc2Ug
ZnJvbSB0aGUgTmV0d29yayBwcm9jZXNzLgpJbmRleDogU291cmNlL1dlYktpdC9XZWJBdXRoblBy
b2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0
LldlYkF1dGhuUHJvY2Vzcy5zYi5pbgkocmV2aXNpb24gMjg4MjQ2KQorKysgU291cmNlL1dlYktp
dC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNi
LmluCSh3b3JraW5nIGNvcHkpCkBAIC0zMjYsNyArMzI2LDYgQEAKICNpZiBQTEFURk9STShNQUMp
CiAgICAgKHdpdGggcmVwb3J0KSAod2l0aCB0ZWxlbWV0cnkpCiAjZW5kaWYKLSAgICAoZ2xvYmFs
LW5hbWUgImNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciIpCiAgICAgKGds
b2JhbC1uYW1lICJjb20uYXBwbGUuYXdkZCIpCiAjaWYgIUVOQUJMRShDRlBSRUZTX0RJUkVDVF9N
T0RFKQogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmNmcHJlZnNkLmFnZW50IikKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2
aXNpb24gMjg4MjQ2KQorKysgU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTk1Miw2ICsxOTUyLDcgQEAKIAkJRTFEMjZBNTMx
NzU5NjREOTAwOTVCRkQxIC8qIFdlYkNvbnRlbnRQcm9jZXNzLnhpYiBpbiBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFEMjZBNEMxNzU5NjM0RTAwOTVCRkQx
IC8qIFdlYkNvbnRlbnRQcm9jZXNzLnhpYiAqLzsgfTsKIAkJRTFFNTUyQzUxNkFFMDY1RjAwNEVE
NjUzIC8qIFNhbmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRTU1MkMzMTZBRTA2NUUwMDRFRDY1MyAv
KiBTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLmggKi87IH07CiAJCUUxRUU1M0UzMTFG
OENGQzAwMENDQkVFNCAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRUU1M0RDMTFGOENGOUYw
MENDQkVFNCAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuaCAqLzsgfTsKKwkJRTM1
Nzg4NEMyNzlGNUIxRDAwRDVGQjQwIC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQzIzOTZCMjcy
MUM5QzEwMEUzNzUzNyAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHAgKi87IH07CiAJ
CUUzODY2QUU1MjM5NzQwMDQwMEY4OEZFOSAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVBy
b3ZpZGVyUHJveHkubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMzg2NkFFNDIzOTc0MDA0MDBGODhGRTkgLyogV2ViRGV2aWNlT3JpZW50YXRpb25VcGRh
dGVQcm92aWRlclByb3h5Lm1tICovOyB9OwogCQlFMzg2NkFFNzIzOTc0MDUzMDBGODhGRTkgLyog
V2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlclByb3h5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzg2NkFFNjIzOTc0MDUzMDBGODhGRTkg
LyogV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlclByb3h5LmggKi87IH07CiAJCUUz
ODY2QjA4MjM5OUEyRDEwMEY4OEZFOSAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3Zp
ZGVyUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTM4NjZCMDUyMzk5OTc5QzAwRjg4RkU5IC8qIFdlYkRldmljZU9yaWVudGF0aW9u
VXBkYXRlUHJvdmlkZXJQcm94eU1lc3NhZ2VzLmggKi87IH07CkBAIC0xOTYxLDYgKzE5NjIsNyBA
QAogCQlFMzhBMUZDMDIzQTU1MUJGMDBEMjM3NEYgLyogVXNlckludGVyZmFjZUlkaW9tLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM4QTFGQkYyM0E1
NTFCRjAwRDIzNzRGIC8qIFVzZXJJbnRlcmZhY2VJZGlvbS5tbSAqLzsgfTsKIAkJRTM5NjI4REQy
Mzk2MENDNjAwNjU4RUNEIC8qIFdlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOTYyOERCMjM5
NjBDQzUwMDY1OEVDRCAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmggKi87
IH07CiAJCUUzOTYyOERFMjM5NjBDQzYwMDY1OEVDRCAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblVw
ZGF0ZVByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUzOTYyOERDMjM5NjBDQzYwMDY1OEVDRCAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblVw
ZGF0ZVByb3ZpZGVyLmNwcCAqLzsgfTsKKwkJRTNDMjM5NkUyNzIxQzlDMjAwRTM3NTM3IC8qIEF1
ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFM0MyMzk2QzI3MjFDOUMyMDBFMzc1MzcgLyogQXVkaW9Db21wb25l
bnRSZWdpc3RyYXRpb24uaCAqLzsgfTsKIAkJRTNDQUFBNDQyNDEzMjc5OTAwQ0VEMkUyIC8qIEFj
Y2Vzc2liaWxpdHlTdXBwb3J0U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFM0NBQUE0MzI0MTMyNzhBMDBDRUQyRTIgLyogQWNjZXNzaWJpbGl0eVN1
cHBvcnRTUEkuaCAqLzsgfTsKIAkJRTQxM0Y1OUQxQUMxQURDNDAwMzQ1MzYwIC8qIE5ldHdvcmtD
YWNoZUVudHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFNDEzRjU5QjFBQzFBREI2MDAzNDUzNjAgLyogTmV0d29ya0NhY2hlRW50cnkuaCAqLzsgfTsK
IAkJRTQyRTA2MTAxQUE3NTIzQjAwQjExNjk5IC8qIE5ldHdvcmtDYWNoZUlPQ2hhbm5lbC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQyRTA2MEIxQUE3
NDQwRDAwQjExNjk5IC8qIE5ldHdvcmtDYWNoZUlPQ2hhbm5lbC5oICovOyB9OwpAQCAtNjM1MSw2
ICs2MzUzLDggQEAKIAkJRTNBODZGQkMyNjk1OEUzMzAwNTkyNjREIC8qIFdlYkNhcHRpb25QcmVm
ZXJlbmNlc0RlbGVnYXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNhcHRpb25QcmVmZXJl
bmNlc0RlbGVnYXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNCQ0U4Nzcy
NjcyNTIxMjAwMTFEOERCIC8qIEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlFM0JDRTg3ODI2NzI1MjEyMDAxMUQ4REIgLyogQWNjZXNzaWJpbGl0eVBy
ZWZlcmVuY2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFM0MyMzk2QjI3MjFDOUMxMDBFMzc1MzcgLyog
QXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlFM0MyMzk2QzI3MjFDOUMyMDBFMzc1MzcgLyogQXVkaW9Db21wb25l
bnRSZWdpc3RyYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXVkaW9D
b21wb25lbnRSZWdpc3RyYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTND
QUFBNDMyNDEzMjc4QTAwQ0VEMkUyIC8qIEFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzRUZCMDJDMjU1MDYxN0MwMDNDMkY5NiAvKiBX
ZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlN5c3RlbVNv
dW5kRGVsZWdhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0VGQjAyRDI1
NTA2MTdDMDAzQzJGOTYgLyogV2ViU3lzdGVtU291bmREZWxlZ2F0ZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJTeXN0ZW1Tb3VuZERlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC04OTUxLDYgKzg5NTUsOCBAQAogCQkJCTM3OEUxQTNCMTgxRUQ2RkYwMDMxMDA3QSAvKiBBUElP
YmplY3QubW0gKi8sCiAJCQkJQTE3NUM0NDkyMUFBMzE3MDAwMDAzN0QwIC8qIEFyZ3VtZW50Q29k
ZXJzQ29jb2EuaCAqLywKIAkJCQlBMTc1QzQ0QjIxQUEzMzFCMDAwMDM3RDAgLyogQXJndW1lbnRD
b2RlcnNDb2NvYS5tbSAqLywKKwkJCQlFM0MyMzk2QjI3MjFDOUMxMDBFMzc1MzcgLyogQXVkaW9D
b21wb25lbnRSZWdpc3RyYXRpb24uY3BwICovLAorCQkJCUUzQzIzOTZDMjcyMUM5QzIwMEUzNzUz
NyAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oICovLAogCQkJCTFBNjk4RjE3MUU0OTEw
MjIwMDY0RTg4MSAvKiBBdXhpbGlhcnlQcm9jZXNzQ29jb2EubW0gKi8sCiAJCQkJQ0UxMUFENTEx
Q0JDNDgyRjAwNjgxRUU1IC8qIENvZGVTaWduaW5nLmggKi8sCiAJCQkJQ0UxMUFENEYxQ0JDNDdG
ODAwNjgxRUU1IC8qIENvZGVTaWduaW5nLm1tICovLApAQCAtMTI4MTksNiArMTI4MjUsNyBAQAog
CQkJCTdCMURCMjY2MjU2NjhDRTEwMDBFMjZCQyAvKiBBcnJheVJlZmVyZW5jZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQUFGQTYzNEYyMzRGN0M2NDAwRkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9u
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VFOTY2RDExMkZBRjU3MDA2QkNDMjQgLyogQXR0YWNo
bWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTNDMjM5NkUyNzIxQzlDMjAwRTM3NTM3IC8qIEF1
ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJGNTg5NzEy
QTg4Mzg4MDA2Mjk1MzAgLyogQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTEyRjU4OTkxMkE4ODM4ODAwNjI5NTMwIC8qIEF1dGhlbnRpY2F0aW9uRGVj
aXNpb25MaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4RThFRjkxNkIyMDkxQzAwRTkx
NDI5IC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0xNTQyNCw2
ICsxNTQzMSw3IEBACiAJCQkJNTcyRUJCREEyNTM4RjZCNDAwMDU1MkIzIC8qIEFwcEF0dGVzdElu
dGVybmFsU29mdExpbmsubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTdCNUY3RTI3NUU5N0I2MDAy
REMyMkQgLyogQXBwQnVuZGxlUmVxdWVzdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJERUIxRDJF
MjEyNzQ3MzYwMDkzMzkwNiAvKiBBcmd1bWVudENvZGVyc0NGLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUUzNTc4ODRDMjc5RjVCMUQwMEQ1RkI0MCAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlv
bi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRDQ1NzBENDI0NDExRDBGMDBBM0RDRUIgLyogQXVk
aW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0Q0NTcw
RDMyNDQxMTNCNTAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEyRjU4QTIxMkE4ODNBRDAw
NjI5NTMwIC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNz
Q29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dl
YlByb2Nlc3NDb2NvYS5tbQkocmV2aXNpb24gMjg4MjQ2KQorKysgU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMjcsNiAr
MjcsNyBAQAogI2ltcG9ydCAiV2ViUHJvY2Vzcy5oIgogCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5
U3VwcG9ydFNQSS5oIgorI2ltcG9ydCAiQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCIKICNp
bXBvcnQgIkdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyLmgiCiAjaW1wb3J0ICJMb2dJbml0aWFsaXphdGlvbi5oIgpA
QCAtMTI1MCwxOCArMTI1MSw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6c3lzdGVtRGlkV2FrZSgpCiAK
IHZvaWQgV2ViUHJvY2Vzczo6Y29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhjb25z
dCBJUEM6OlNoYXJlZEJ1ZmZlckNvcHkmIGRhdGEpCiB7Ci0gICAgdXNpbmcgbmFtZXNwYWNlIFBB
TDsKLQotICAgIGlmICghUEFMOjppc0F1ZGlvVG9vbGJveENvcmVGcmFtZXdvcmtBdmFpbGFibGUo
KSB8fCAhUEFMOjpjYW5Mb2FkX0F1ZGlvVG9vbGJveENvcmVfQXVkaW9Db21wb25lbnRBcHBseVNl
cnZlclJlZ2lzdHJhdGlvbnMoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKCFkYXRhLmJ1
ZmZlcigpKQotICAgICAgICByZXR1cm47Ci0gICAgYXV0byByZWdpc3RyYXRpb25zID0gZGF0YS5i
dWZmZXIoKS0+Y3JlYXRlQ0ZEYXRhKCk7Ci0KLSAgICBhdXRvIGVyciA9IEF1ZGlvQ29tcG9uZW50
QXBwbHlTZXJ2ZXJSZWdpc3RyYXRpb25zKHJlZ2lzdHJhdGlvbnMuZ2V0KCkpOwotICAgIGlmIChu
b0VyciAhPSBlcnIpCi0gICAgICAgIFdFQlBST0NFU1NfUkVMRUFTRV9MT0dfRVJST1IoUHJvY2Vz
cywgIkNvdWxkIG5vdCBhcHBseSBBdWRpb0NvbXBvbmVudCByZWdpc3RyYXRpb25zLCBlcnIoJWxk
KSIsIHN0YXRpY19jYXN0PGxvbmc+KGVycikpOworICAgIFdlYktpdDo6Y29uc3VtZUF1ZGlvQ29t
cG9uZW50UmVnaXN0cmF0aW9ucyhkYXRhKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450334</attachid>
            <date>2022-01-29 13:29:32 -0800</date>
            <delta_ts>2022-01-29 13:29:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231694-20220129132931.patch</filename>
            <type>text/plain</type>
            <size>21709</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODg3OTMpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDIyLTAxLTI5ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdW0dQVVBdIFJlbW92
ZSBhY2Nlc3MgaW4gc2FuZGJveCB0byBjb20uYXBwbGUuYXVkaW8uQXVkaW9Db21wb25lbnRSZWdp
c3RyYXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
MTY5NAorICAgICAgICA8cmRhcjovLzc1MjI1OTIzPgorCisgICAgICAgIFJldmlld2VkIGJ5IEJy
ZW50IEZ1bGdoYW0uCisKKyAgICAgICAgQWZ0ZXIgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hh
bmdlc2V0LzI3NDQzNS93ZWJraXQsIHRoZXJlIGlzIG5vIG5lZWQgdG8gYWxsb3cgYWNjZXNzIHRv
IHRoaXMgc2VydmljZS4gVGhpcyBwYXRjaCBhbHNvIGltcGxlbWVudHMgc2VuZGluZworICAgICAg
ICB0aGUgQXVkaW8gY29tcG9uZW50IHJlZ2lzdHJhdGlvbnMgdG8gdGhlIEdQVSBwcm9jZXNzLCB3
aGljaCBpcyBhIHJlcXVpcmVtZW50IGJlZm9yZSBibG9ja2luZyB0aGUgc2VydmljZSBpbiB0aGUg
R1BVIHByb2Nlc3MuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MuaDoKKyAgICAg
ICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJv
Y2Vzcy9jb2NvYS9HUFVQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nl
c3M6OmNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorICAgICAgICAqIEdQVVBy
b2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYi5pbjoKKyAgICAgICAgKiBT
aGFyZWQvQ29jb2EvQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYktpdDo6Y29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisgICAgICAg
ICogU2hhcmVkL0NvY29hL0F1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmg6IEFkZGVkLgorICAg
ICAgICAoV2ViS2l0OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW06CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3NQcm94eTo6c2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyk6IERl
bGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6OmRpZEZpbmlzaExhdW5jaGluZyk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Bvb2w6OmluaXRpYWxpemVOZXdXZWJQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6
cmV2b2tlQXVkaW9DYXB0dXJlRXh0ZW5zaW9uKToKKyAgICAgICAgKiBXZWJBdXRoblByb2Nlc3Mv
bWFjL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluOgorICAgICAgICAqIFdl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29j
b2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpjb25z
dW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKToKKwogMjAyMi0wMS0yOCAgRnVqaWkgSGly
b25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbV2luQ2Fpcm9dIFdl
YktpdFRlc3RSdW5uZXIgc2hvdWxkIHN1cHBvcnQgcGl4ZWwgZHVtcCBmb3IgYWNjZWxlcmF0ZWQg
Y29tcG9zaXRpbmcgbW9kZQpJbmRleDogU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nl
c3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5o
CShyZXZpc2lvbiAyODg3OTMpCisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vz
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw5IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9D
RVNTKQogCiAjaW5jbHVkZSAiQXV4aWxpYXJ5UHJvY2Vzcy5oIgorI2luY2x1ZGUgIkRhdGFSZWZl
cmVuY2UuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0ZW5zaW9uLmgiCisjaW5jbHVkZSAiU2hhcmVk
QnVmZmVyQ29weS5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eUlkZW50aWZpZXIuaCIKICNpbmNs
dWRlIDxXZWJDb3JlL0xpYldlYlJUQ0VudW1UcmFpdHMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Rp
bWVyLmg+CkBAIC0xMDksNiArMTExLDEwIEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFN0cmluZyYg
YXBwbGljYXRpb25WaXNpYmxlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbGljYXRpb25WaXNp
YmxlTmFtZTsgfQogCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgdm9pZCBjb25zdW1lQXVkaW9D
b21wb25lbnRSZWdpc3RyYXRpb25zKGNvbnN0IElQQzo6U2hhcmVkQnVmZmVyQ29weSYpOworI2Vu
ZGlmCisKICAgICB2b2lkIHdlYlByb2Nlc3NDb25uZWN0aW9uQ291bnRGb3JUZXN0aW5nKENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQodWludDY0X3QpPiYmKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKSAm
JiBFTkFCTEUoTUVESUFfU1RSRUFNKQpJbmRleDogU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQ
VVByb2Nlc3MubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4JKHJldmlzaW9uIDI4ODc5MykKKysrIFNvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBA
IC03Niw2ICs3NiwxMCBAQCBtZXNzYWdlcyAtPiBHUFVQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsK
ICAgICBOb3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoU3RyaW5nIGRvbWFpbiwgU3RyaW5nIGtleSwg
c3RkOjpvcHRpb25hbDxTdHJpbmc+IGVuY29kZWRWYWx1ZSkKICNlbmRpZgogCisjaWYgUExBVEZP
Uk0oQ09DT0EpCisgICAgQ29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhJUEM6OlNo
YXJlZEJ1ZmZlckNvcHkgcmVnaXN0cmF0aW9uRGF0YSkKKyNlbmRpZgorCiAgICAgV2ViUHJvY2Vz
c0Nvbm5lY3Rpb25Db3VudEZvclRlc3RpbmcoKSAtPiAodWludDY0X3QgY291bnQpIEFzeW5jCiB9
CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9jb2NvYS9HUFVQcm9jZXNzQ29jb2Eu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2NvY29hL0dQVVByb2Nl
c3NDb2NvYS5tbQkocmV2aXNpb24gMjg4NzkzKQorKysgU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBA
QAogCiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBQTEFURk9STShDT0NPQSkKIAorI2ltcG9y
dCAiQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCIKICNpbXBvcnQgIkdQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuaCIKICNpbXBvcnQgIlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaCIKICNpbXBv
cnQgPHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTc1LDYgKzc2LDExIEBAIHZvaWQgR1BVUHJvY2Vzczo6
ZGlzcGF0Y2hTaW11bGF0ZWROb3RpZmkKIAogI2VuZGlmIC8vIEVOQUJMRShDRlBSRUZTX0RJUkVD
VF9NT0RFKQogCit2b2lkIEdQVVByb2Nlc3M6OmNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJh
dGlvbnMoY29uc3QgSVBDOjpTaGFyZWRCdWZmZXJDb3B5JiBkYXRhKQoreworICAgIFdlYktpdDo6
Y29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhkYXRhKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpICYmIFBMQVRGT1JN
KENPQ09BKQpJbmRleDogU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9jb20uYXBwbGUuV2Vi
S2l0LkdQVVByb2Nlc3Muc2IuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4JKHJldmlzaW9uIDI4ODc5
MykKKysrIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQ
cm9jZXNzLnNiLmluCSh3b3JraW5nIGNvcHkpCkBAIC02MjksOCArNjI5LDEwIEBACiAoYWxsb3cg
aXBjLXBvc2l4LXNobS1yZWFkKiBpcGMtcG9zaXgtc2htLXdyaXRlLWRhdGEKICAgICAoaXBjLXBv
c2l4LW5hbWUtcHJlZml4ICJBdWRpb0lPIikpCiAKKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEIDwgMTIwMDAwCiAoYWxsb3cgbWFjaC1sb29rdXAKICAgICAoZ2xvYmFsLW5hbWUg
ImNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciIpKQorI2VuZGlmCiAKICNp
ZiAhRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCiAoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGgg
dGVsZW1ldHJ5KQpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXVkaW9Db21wb25l
bnRSZWdpc3RyYXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0Nv
Y29hL0F1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oIgorCisjaW5jbHVk
ZSAiTG9nZ2luZy5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBjb25zdW1lQXVkaW9D
b21wb25lbnRSZWdpc3RyYXRpb25zKGNvbnN0IElQQzo6U2hhcmVkQnVmZmVyQ29weSYgZGF0YSkK
K3sKKyAgICB1c2luZyBuYW1lc3BhY2UgUEFMOworCisgICAgaWYgKCFQQUw6OmlzQXVkaW9Ub29s
Ym94Q29yZUZyYW1ld29ya0F2YWlsYWJsZSgpIHx8ICFQQUw6OmNhbkxvYWRfQXVkaW9Ub29sYm94
Q29yZV9BdWRpb0NvbXBvbmVudEFwcGx5U2VydmVyUmVnaXN0cmF0aW9ucygpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpZiAoIWRhdGEuYnVmZmVyKCkpCisgICAgICAgIHJldHVybjsKKyAgICBh
dXRvIHJlZ2lzdHJhdGlvbnMgPSBkYXRhLmJ1ZmZlcigpLT5jcmVhdGVDRkRhdGEoKTsKKworICAg
IGF1dG8gZXJyID0gQXVkaW9Db21wb25lbnRBcHBseVNlcnZlclJlZ2lzdHJhdGlvbnMocmVnaXN0
cmF0aW9ucy5nZXQoKSk7CisgICAgaWYgKG5vRXJyICE9IGVycikKKyAgICAgICAgUkVMRUFTRV9M
T0dfRVJST1IoUHJvY2VzcywgIkNvdWxkIG5vdCBhcHBseSBBdWRpb0NvbXBvbmVudCByZWdpc3Ry
YXRpb25zLCBlcnIoJWxkKSIsIHN0YXRpY19jYXN0PGxvbmc+KGVycikpOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKKwpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXVkaW9D
b21wb25lbnRSZWdpc3RyYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJl
ZC9Db2NvYS9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0F1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmgJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW1wb3J0ICJBdXhpbGlhcnlQcm9jZXNzUHJveHkuaCIKKyNpbXBvcnQgIkRhdGFSZWZlcmVu
Y2UuaCIKKyNpbXBvcnQgIlNoYXJlZEJ1ZmZlckNvcHkuaCIKKyNpbXBvcnQgPFdlYkNvcmUvV2Vi
TUF1ZGlvVXRpbGl0aWVzQ29jb2EuaD4KKyNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5oPgorI2ltcG9y
dCA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewor
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIHNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlv
bnMoQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5JiBwcm9jZXNzKQoreworICAgIGlmICghUEFMOjppc0F1
ZGlvVG9vbGJveENvcmVGcmFtZXdvcmtBdmFpbGFibGUoKSB8fCAhUEFMOjpjYW5Mb2FkX0F1ZGlv
VG9vbGJveENvcmVfQXVkaW9Db21wb25lbnRGZXRjaFNlcnZlclJlZ2lzdHJhdGlvbnMoKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X2dsb2JhbF9x
dWV1ZShESVNQQVRDSF9RVUVVRV9QUklPUklUWV9ERUZBVUxULCAwKSwgbWFrZUJsb2NrUHRyKFt3
ZWFrVGhpcyA9IFdlYWtQdHIgeyBwcm9jZXNzIH1dICgpIG11dGFibGUgeworICAgICAgICBDRkRh
dGFSZWYgcmVnaXN0cmF0aW9ucyB7IG51bGxwdHIgfTsKKworICAgICAgICBXZWJDb3JlOjpyZWdp
c3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKKyAgICAgICAgV2ViQ29yZTo6cmVnaXN0ZXJWb3Ji
aXNEZWNvZGVySWZOZWVkZWQoKTsKKyAgICAgICAgaWYgKG5vRXJyICE9IFBBTDo6QXVkaW9Db21w
b25lbnRGZXRjaFNlcnZlclJlZ2lzdHJhdGlvbnMoJnJlZ2lzdHJhdGlvbnMpIHx8ICFyZWdpc3Ry
YXRpb25zKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5k
aXNwYXRjaChbd2Vha1RoaXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwgcmVnaXN0cmF0aW9ucyA9IGFk
b3B0Q0YocmVnaXN0cmF0aW9ucyldICgpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKCF3ZWFr
VGhpcykKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBhdXRvIHJlZ2lzdHJh
dGlvbkRhdGEgPSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0ZShyZWdpc3RyYXRpb25zLmdl
dCgpKTsKKyAgICAgICAgICAgIHdlYWtUaGlzLT5zZW5kKFQoeyBJUEM6OlNoYXJlZEJ1ZmZlckNv
cHkoV1RGTW92ZShyZWdpc3RyYXRpb25EYXRhKSkgfSksIDApOworICAgICAgICB9KTsKKyAgICB9
KS5nZXQoKSk7Cit9CisKK3ZvaWQgY29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhj
b25zdCBJUEM6OlNoYXJlZEJ1ZmZlckNvcHkmKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCShyZXZpc2lv
biAyODg3OTMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEzMSw2ICsxMzEsNyBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9S
TShDT0NPQSkKKyNpbmNsdWRlICJBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5oIgogI2luY2x1
ZGUgIkRlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9HYW1lQ29u
dHJvbGxlckdhbWVwYWRQcm92aWRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSElER2FtZXBhZFBy
b3ZpZGVyLmg+CkBAIC04OTYsNyArODk3LDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6aW5pdGlh
bGl6ZU5ld1dlYlBybwogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKLSAgICBwcm9jZXNz
LnNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoKTsKKyAgICBzZW5kQXVkaW9Db21wb25l
bnRSZWdpc3RyYXRpb25zPE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpDb25zdW1lQXVkaW9Db21wb25l
bnRSZWdpc3RyYXRpb25zPihwcm9jZXNzKTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQpJ
bmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgJKHJldmlzaW9u
IDI4ODc5MykKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zNDIsOCArMzQyLDYgQEAgcHVibGljOgogICAgIGJvb2wgaGFzQXVk
aW9DYXB0dXJlRXh0ZW5zaW9uKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYUNhcHR1cmVTYW5kYm94
RXh0ZW5zaW9ucyAmIEF1ZGlvOyB9CiAgICAgdm9pZCBncmFudEF1ZGlvQ2FwdHVyZUV4dGVuc2lv
bigpIHsgbV9tZWRpYUNhcHR1cmVTYW5kYm94RXh0ZW5zaW9ucyB8PSBBdWRpbzsgfQogICAgIHZv
aWQgcmV2b2tlQXVkaW9DYXB0dXJlRXh0ZW5zaW9uKCkgeyBtX21lZGlhQ2FwdHVyZVNhbmRib3hF
eHRlbnNpb25zICY9IH5BdWRpbzsgfQotCi0gICAgdm9pZCBzZW5kQXVkaW9Db21wb25lbnRSZWdp
c3RyYXRpb25zKCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKSAmJiBQ
TEFURk9STShDT0NPQSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBy
b2Nlc3NQcm94eUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCShyZXZpc2lvbiAyODg3OTMpCisrKyBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMzksNyArMzksNiBAQAogI2ltcG9ydCAiV2ViUHJvY2Vzc01lc3NhZ2VzLmgi
CiAjaW1wb3J0ICJXZWJQcm9jZXNzUG9vbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBw
bGljYXRpb25DaGVja3MuaD4KLSNpbXBvcnQgPFdlYkNvcmUvV2ViTUF1ZGlvVXRpbGl0aWVzQ29j
b2EuaD4KICNpbXBvcnQgPHN5cy9zeXNjdGwuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3ll
ZC5oPgogI2ltcG9ydCA8d3RmL1Njb3BlLmg+CkBAIC02NSw4ICs2NCw2IEBACiAjaW5jbHVkZSAi
VENDU29mdExpbmsuaCIKICNlbmRpZgogCi0jaW1wb3J0IDxwYWwvY2YvQXVkaW9Ub29sYm94U29m
dExpbmsuaD4KLQogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0YXRpYyBjb25zdCBTZWNvbmRzIHVu
ZXhwZWN0ZWRBY3Rpdml0eUR1cmF0aW9uID0gMTBfczsKQEAgLTI4NywzMSArMjg0LDYgQEAgdm9p
ZCBXZWJQcm9jZXNzUHJveHk6OmlzQVhBdXRoZW50aWNhdGVkKAogfQogI2VuZGlmCiAKLXZvaWQg
V2ViUHJvY2Vzc1Byb3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKCkKLXsKLSAg
ICB1c2luZyBuYW1lc3BhY2UgUEFMOwotCi0gICAgaWYgKCFQQUw6OmlzQXVkaW9Ub29sYm94Q29y
ZUZyYW1ld29ya0F2YWlsYWJsZSgpIHx8ICFQQUw6OmNhbkxvYWRfQXVkaW9Ub29sYm94Q29yZV9B
dWRpb0NvbXBvbmVudEZldGNoU2VydmVyUmVnaXN0cmF0aW9ucygpKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfZ2xvYmFsX3F1ZXVlKERJU1BBVENI
X1FVRVVFX1BSSU9SSVRZX0RFRkFVTFQsIDApLCBbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMg
fV0gKCkgbXV0YWJsZSB7Ci0gICAgICAgIENGRGF0YVJlZiByZWdpc3RyYXRpb25zIHsgbnVsbHB0
ciB9OwotCi0gICAgICAgIFdlYkNvcmU6OnJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgpOwot
ICAgICAgICBXZWJDb3JlOjpyZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpOwotICAgICAg
ICBpZiAobm9FcnIgIT0gQXVkaW9Db21wb25lbnRGZXRjaFNlcnZlclJlZ2lzdHJhdGlvbnMoJnJl
Z2lzdHJhdGlvbnMpIHx8ICFyZWdpc3RyYXRpb25zKQotICAgICAgICAgICAgcmV0dXJuOwotCi0g
ICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbd2Vha1RoaXMgPSBXVEZNb3ZlKHdlYWtU
aGlzKSwgcmVnaXN0cmF0aW9ucyA9IGFkb3B0Q0YocmVnaXN0cmF0aW9ucyldICgpIHsKLSAgICAg
ICAgICAgIGlmICghd2Vha1RoaXMpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAg
ICAgICBhdXRvIHJlZ2lzdHJhdGlvbkRhdGEgPSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0
ZShyZWdpc3RyYXRpb25zLmdldCgpKTsKLSAgICAgICAgICAgIHdlYWtUaGlzLT5zZW5kKE1lc3Nh
Z2VzOjpXZWJQcm9jZXNzOjpDb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKElQQzo6
U2hhcmVkQnVmZmVyQ29weShXVEZNb3ZlKHJlZ2lzdHJhdGlvbkRhdGEpKSksIDApOwotICAgICAg
ICB9KTsKLSAgICB9KTsKLX0KLQogYm9vbCBXZWJQcm9jZXNzUHJveHk6Om1lc3NhZ2VTb3VyY2VJ
c1ZhbGlkV2ViQ29udGVudFByb2Nlc3MoKQogewogICAgIGlmICghaGFzQ29ubmVjdGlvbigpKSB7
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5
LmNwcAkocmV2aXNpb24gMjg4NzkzKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQ
VVByb2Nlc3NQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDYgKzYzLDEwIEBACiAjaW5j
bHVkZSA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNlbmRpZgogCisjaWYgUExBVEZPUk0oQ09DT0EpCisj
aW5jbHVkZSAiQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCIKKyNlbmRpZgorCiAjZGVmaW5l
IE1FU1NBR0VfQ0hFQ0soYXNzZXJ0aW9uKSBNRVNTQUdFX0NIRUNLX0JBU0UoYXNzZXJ0aW9uLCB0
aGlzLT5jb25uZWN0aW9uKCkpCiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDQxLDYgKzQ0NSw3
IEBAIHZvaWQgR1BVUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcKICNlbmRpZgogCiAj
aWYgUExBVEZPUk0oQ09DT0EpCisgICAgc2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uczxN
ZXNzYWdlczo6R1BVUHJvY2Vzczo6Q29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucz4o
KnRoaXMpOwogICAgIGlmIChhdXRvIG5ldHdvcmtQcm9jZXNzID0gTmV0d29ya1Byb2Nlc3NQcm94
eTo6ZGVmYXVsdE5ldHdvcmtQcm9jZXNzKCkpCiAgICAgICAgIG5ldHdvcmtQcm9jZXNzLT5zZW5k
WFBDRW5kcG9pbnRUb1Byb2Nlc3MoKnRoaXMpOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1dlYkF1dGhuUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2Iu
aW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5h
cHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluCShyZXZpc2lvbiAyODg3OTMpCisrKyBT
b3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRo
blByb2Nlc3Muc2IuaW4JKHdvcmtpbmcgY29weSkKQEAgLTMyNiw3ICszMjYsNiBAQAogI2lmIFBM
QVRGT1JNKE1BQykKICAgICAod2l0aCByZXBvcnQpICh3aXRoIHRlbGVtZXRyeSkKICNlbmRpZgot
ICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmF1ZGlvLkF1ZGlvQ29tcG9uZW50UmVnaXN0cmFy
IikKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hd2RkIikKICNpZiAhRU5BQkxFKENGUFJF
RlNfRElSRUNUX01PREUpCiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuY2ZwcmVmc2QuYWdl
bnQiKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCShyZXZpc2lvbiAyODg3OTMpCisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xOTU2LDYgKzE5NTYsOCBAQAog
CQlFMUQyNkE1MzE3NTk2NEQ5MDA5NUJGRDEgLyogV2ViQ29udGVudFByb2Nlc3MueGliIGluIFJl
c291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUQyNkE0QzE3NTk2
MzRFMDA5NUJGRDEgLyogV2ViQ29udGVudFByb2Nlc3MueGliICovOyB9OwogCQlFMUU1NTJDNTE2
QUUwNjVGMDA0RUQ2NTMgLyogU2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFFNTUyQzMxNkFFMDY1
RTAwNEVENjUzIC8qIFNhbmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMuaCAqLzsgfTsKIAkJ
RTFFRTUzRTMxMUY4Q0ZDMDAwQ0NCRUU0IC8qIEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFFRTUz
REMxMUY4Q0Y5RjAwQ0NCRUU0IC8qIEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudC5oICov
OyB9OworCQlFMzc0RDg1NDI3QTA4M0E1MDBDRDBEMzIgLyogQXVkaW9Db21wb25lbnRSZWdpc3Ry
YXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTM3NEQ4NTIyN0EwODNBNTAwQ0QwRDMyIC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9uLmNw
cCAqLzsgfTsKKwkJRTM3NEQ4NTUyN0EwODNBNTAwQ0QwRDMyIC8qIEF1ZGlvQ29tcG9uZW50UmVn
aXN0cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFMzc0RDg1MzI3QTA4M0E1MDBDRDBEMzIgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24u
aCAqLzsgfTsKIAkJRTM4NjZBRTUyMzk3NDAwNDAwRjg4RkU5IC8qIFdlYkRldmljZU9yaWVudGF0
aW9uVXBkYXRlUHJvdmlkZXJQcm94eS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUzODY2QUU0MjM5NzQwMDQwMEY4OEZFOSAvKiBXZWJEZXZpY2VPcmll
bnRhdGlvblVwZGF0ZVByb3ZpZGVyUHJveHkubW0gKi87IH07CiAJCUUzODY2QUU3MjM5NzQwNTMw
MEY4OEZFOSAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyUHJveHkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzODY2QUU2MjM5NzQw
NTMwMEY4OEZFOSAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyUHJveHkuaCAq
LzsgfTsKIAkJRTM4NjZCMDgyMzk5QTJEMTAwRjg4RkU5IC8qIFdlYkRldmljZU9yaWVudGF0aW9u
VXBkYXRlUHJvdmlkZXJQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFMzg2NkIwNTIzOTk5NzlDMDBGODhGRTkgLyogV2ViRGV2aWNl
T3JpZW50YXRpb25VcGRhdGVQcm92aWRlclByb3h5TWVzc2FnZXMuaCAqLzsgfTsKQEAgLTYzNTgs
NiArNjM2MCw4IEBACiAJCUUzMTM2NjREMjY1RUU1QUYwMDUxMDg0RiAvKiBjb20uYXBwbGUuV2Vi
S2l0LldlYkNvbnRlbnQuc2IuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gY29tLmFwcGxlLldl
YktpdC5XZWJDb250ZW50LnNiLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzQz
OUI2MzIzNDU0NjNBMDAxMURFMEIgLyogTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uSW5mby5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb25JbmZvLmg7IHBhdGggPSBOZXR3
b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbkluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTM2MTJGRjAyNkY5MDg2MjAwN0IxMTc1IC8qIFNhbmRib3ggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmb2xkZXI7IHBhdGggPSBTYW5k
Ym94OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzc0RDg1MjI3QTA4M0E1MDBDRDBE
MzIgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlFMzc0RDg1MzI3QTA4M0E1MDBDRDBEMzIgLyogQXVkaW9D
b21wb25lbnRSZWdpc3RyYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
QXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTM4NjZBRTQyMzk3NDAwNDAwRjg4RkU5IC8qIFdlYkRldmljZU9yaWVudGF0aW9uVXBkYXRl
UHJvdmlkZXJQcm94eS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9
IFdlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXJQcm94eS5tbTsgcGF0aCA9IGlvcy9X
ZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyUHJveHkubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUUzODY2QUU2MjM5NzQwNTMwMEY4OEZFOSAvKiBXZWJEZXZpY2VPcmll
bnRhdGlvblVwZGF0ZVByb3ZpZGVyUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlclByb3h5Lmg7IHBhdGggPSBp
b3MvV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlclByb3h5Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUUzODY2QUVEMjM5ODQ3MUEwMEY4OEZFOSAvKiBXZWJEZXZpY2VP
cmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyUHJveHkubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBuYW1lID0gV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlclByb3h5Lm1lc3NhZ2Vz
LmluOyBwYXRoID0gaW9zL1dlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXJQcm94eS5t
ZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTkwMDAsNiArOTAwNCw4
IEBACiAJCQkJQTE3NUM0NEIyMUFBMzMxQjAwMDAzN0QwIC8qIEFyZ3VtZW50Q29kZXJzQ29jb2Eu
bW0gKi8sCiAJCQkJNTJFQjY4Q0IyNzlFMjE0NTAwNUM5OEQ5IC8qIEFSS2l0U29mdExpbmsuaCAq
LywKIAkJCQk1MkVCNjhDQzI3OUUyMTQ1MDA1Qzk4RDkgLyogQVJLaXRTb2Z0TGluay5tbSAqLywK
KwkJCQlFMzc0RDg1MjI3QTA4M0E1MDBDRDBEMzIgLyogQXVkaW9Db21wb25lbnRSZWdpc3RyYXRp
b24uY3BwICovLAorCQkJCUUzNzREODUzMjdBMDgzQTUwMENEMEQzMiAvKiBBdWRpb0NvbXBvbmVu
dFJlZ2lzdHJhdGlvbi5oICovLAogCQkJCTFBNjk4RjE3MUU0OTEwMjIwMDY0RTg4MSAvKiBBdXhp
bGlhcnlQcm9jZXNzQ29jb2EubW0gKi8sCiAJCQkJQ0UxMUFENTExQ0JDNDgyRjAwNjgxRUU1IC8q
IENvZGVTaWduaW5nLmggKi8sCiAJCQkJQ0UxMUFENEYxQ0JDNDdGODAwNjgxRUU1IC8qIENvZGVT
aWduaW5nLm1tICovLApAQCAtMTI4NzUsNiArMTI4ODEsNyBAQAogCQkJCTdCMURCMjY2MjU2NjhD
RTEwMDBFMjZCQyAvKiBBcnJheVJlZmVyZW5jZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUFGQTYz
NEYyMzRGN0M2NDAwRkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQ0VFOTY2RDExMkZBRjU3MDA2QkNDMjQgLyogQXR0YWNobWVudC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJRTM3NEQ4NTUyN0EwODNBNTAwQ0QwRDMyIC8qIEF1ZGlvQ29tcG9uZW50UmVnaXN0
cmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJGNTg5NzEyQTg4Mzg4MDA2Mjk1MzAgLyog
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEyRjU4
OTkxMkE4ODM4ODAwNjI5NTMwIC8qIEF1dGhlbnRpY2F0aW9uRGVjaXNpb25MaXN0ZW5lci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTE4RThFRjkxNkIyMDkxQzAwRTkxNDI5IC8qIEF1dGhlbnRpY2F0
aW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0xNTM5Niw2ICsxNTQwMyw3IEBACiAJCQkJ
NTcyRUJCREEyNTM4RjZCNDAwMDU1MkIzIC8qIEFwcEF0dGVzdEludGVybmFsU29mdExpbmsubW0g
aW4gU291cmNlcyAqLywKIAkJCQk1MTdCNUY3RTI3NUU5N0I2MDAyREMyMkQgLyogQXBwQnVuZGxl
UmVxdWVzdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJERUIxRDJFMjEyNzQ3MzYwMDkzMzkwNiAv
KiBBcmd1bWVudENvZGVyc0NGLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUUzNzREODU0MjdBMDgz
QTUwMENEMEQzMiAvKiBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbi5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlDRDQ1NzBENDI0NDExRDBGMDBBM0RDRUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0Q0NTcwRDMyNDQxMTNCNTAwQTNEQ0VC
IC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNTEyRjU4QTIxMkE4ODNBRDAwNjI5NTMwIC8qIEF1dGhlbnRp
Y2F0aW9uTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQko
cmV2aXNpb24gMjg4NzkzKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlBy
b2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2ltcG9ydCAi
V2ViUHJvY2Vzcy5oIgogCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5U3VwcG9ydFNQSS5oIgorI2lt
cG9ydCAiQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb24uaCIKICNpbXBvcnQgIkdQVVByb2Nlc3ND
b25uZWN0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiTGF1bmNoU2VydmljZXNEYXRhYmFzZU1h
bmFnZXIuaCIKICNpbXBvcnQgIkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlci5oIgpAQCAtMTI3
NywxOCArMTI3OCw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6c3lzdGVtRGlkV2FrZSgpCiAKIHZvaWQg
V2ViUHJvY2Vzczo6Y29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhjb25zdCBJUEM6
OlNoYXJlZEJ1ZmZlckNvcHkmIGRhdGEpCiB7Ci0gICAgdXNpbmcgbmFtZXNwYWNlIFBBTDsKLQot
ICAgIGlmICghUEFMOjppc0F1ZGlvVG9vbGJveENvcmVGcmFtZXdvcmtBdmFpbGFibGUoKSB8fCAh
UEFMOjpjYW5Mb2FkX0F1ZGlvVG9vbGJveENvcmVfQXVkaW9Db21wb25lbnRBcHBseVNlcnZlclJl
Z2lzdHJhdGlvbnMoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKCFkYXRhLmJ1ZmZlcigp
KQotICAgICAgICByZXR1cm47Ci0gICAgYXV0byByZWdpc3RyYXRpb25zID0gZGF0YS5idWZmZXIo
KS0+Y3JlYXRlQ0ZEYXRhKCk7Ci0KLSAgICBhdXRvIGVyciA9IEF1ZGlvQ29tcG9uZW50QXBwbHlT
ZXJ2ZXJSZWdpc3RyYXRpb25zKHJlZ2lzdHJhdGlvbnMuZ2V0KCkpOwotICAgIGlmIChub0VyciAh
PSBlcnIpCi0gICAgICAgIFdFQlBST0NFU1NfUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIkNv
dWxkIG5vdCBhcHBseSBBdWRpb0NvbXBvbmVudCByZWdpc3RyYXRpb25zLCBlcnIoJWxkKSIsIHN0
YXRpY19jYXN0PGxvbmc+KGVycikpOworICAgIFdlYktpdDo6Y29uc3VtZUF1ZGlvQ29tcG9uZW50
UmVnaXN0cmF0aW9ucyhkYXRhKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>