<?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>218097</bug_id>
          
          <creation_ts>2020-10-22 13:19:26 -0700</creation_ts>
          <short_desc>[macOS] Set preference for overridden languages in the WebContent process after entering the sandbox.</short_desc>
          <delta_ts>2020-11-09 10:00:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1700793</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-10-22 13:19:26 -0700</bug_when>
    <thetext>Currently, the preference for overridden languages in the WebContent process is set before entering the sandbox, which leaves behind an open connection to opendirectoryd. This preference should be set after entering the sandbox to avoid this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700794</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-22 13:19:48 -0700</bug_when>
    <thetext>&lt;rdar://problem/70586545&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700809</commentid>
    <comment_count>2</comment_count>
      <attachid>412126</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-10-22 13:42:10 -0700</bug_when>
    <thetext>Created attachment 412126
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701059</commentid>
    <comment_count>3</comment_count>
      <attachid>412126</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-10-23 10:35:26 -0700</bug_when>
    <thetext>Comment on attachment 412126
Patch

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

&gt; Source/WebKit/ChangeLog:9
&gt; +        Currently, the preference for overridden languages in the WebContent process is set before entering the sandbox,

How did you test that the functionality still works? This is not really covered by regression tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701135</commentid>
    <comment_count>4</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-10-23 13:41:18 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #3)
&gt; Comment on attachment 412126 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=412126&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:9
&gt; &gt; +        Currently, the preference for overridden languages in the WebContent process is set before entering the sandbox,
&gt; 
&gt; How did you test that the functionality still works? This is not really
&gt; covered by regression tests.

That is a good point. This was tested manually, but I can look into creating an API test for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701137</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-10-23 13:44:40 -0700</bug_when>
    <thetext>How did you test this manually?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701144</commentid>
    <comment_count>6</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-10-23 14:19:27 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #5)
&gt; How did you test this manually?

I verified in the debugger that the languages read from the preference &apos;AppleLanguages&apos; in the UI process was written to preferences in the WebContent process. I aim to create an API test for this next, where the language preference will be overridden in memory in the UI process.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701156</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-10-23 15:33:31 -0700</bug_when>
    <thetext>This amount of manual testing is not sufficient, please test end to end that the language is set and honored. 

It was very intentional that variables were set form bootstrap message, as letting any CFBundle code run permanently fixes it on the value that is in effect at the time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701870</commentid>
    <comment_count>8</comment_count>
      <attachid>412421</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-10-27 07:47:54 -0700</bug_when>
    <thetext>Created attachment 412421
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701871</commentid>
    <comment_count>9</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-10-27 07:50:54 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #7)
&gt; This amount of manual testing is not sufficient, please test end to end that
&gt; the language is set and honored. 
&gt; 

I have added a regression test in the latest patch.

&gt; It was very intentional that variables were set form bootstrap message, as
&gt; letting any CFBundle code run permanently fixes it on the value that is in
&gt; effect at the time.

Thanks, that is very helpful information. I believe the latest patch does not alter the previous behavior in that regard.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701897</commentid>
    <comment_count>10</comment_count>
      <attachid>412425</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-10-27 09:06:25 -0700</bug_when>
    <thetext>Created attachment 412425
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701946</commentid>
    <comment_count>11</comment_count>
      <attachid>412438</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-10-27 10:16:21 -0700</bug_when>
    <thetext>Created attachment 412438
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701975</commentid>
    <comment_count>12</comment_count>
      <attachid>412438</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-10-27 10:50:01 -0700</bug_when>
    <thetext>Comment on attachment 412438
Patch

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

&gt; Tools/TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm:39
&gt; +    [[NSUserDefaults standardUserDefaults] setVolatileDomain:dict forName:NSArgumentDomain];

This part is good I think.

&gt; Tools/TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm:47
&gt; +        return [webView stringByEvaluatingJavaScript:@&quot;window.internals.userPreferredLanguages()[0]&quot;];

This test does not verify the challenging side of the proposed change, which is using correct localization resources. While I&apos;m not 100% certain that it&apos;s wrong, I recall that CFBundle was initialized right after calling XPCServiceMain, so event handler is too late.

Please at least verify manually that the right localization is picked when setting AppleLanguages in UI process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702083</commentid>
    <comment_count>13</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-10-27 14:19:22 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #12)
&gt; Comment on attachment 412438 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=412438&amp;action=review
&gt; 
&gt; &gt; Tools/TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm:39
&gt; &gt; +    [[NSUserDefaults standardUserDefaults] setVolatileDomain:dict forName:NSArgumentDomain];
&gt; 
&gt; This part is good I think.
&gt; 
&gt; &gt; Tools/TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm:47
&gt; &gt; +        return [webView stringByEvaluatingJavaScript:@&quot;window.internals.userPreferredLanguages()[0]&quot;];
&gt; 
&gt; This test does not verify the challenging side of the proposed change, which
&gt; is using correct localization resources. While I&apos;m not 100% certain that
&gt; it&apos;s wrong, I recall that CFBundle was initialized right after calling
&gt; XPCServiceMain, so event handler is too late.
&gt; 

I was able to verify in the debugger that the CFBundle localization code related to the XPC bootstrap message was run after the initialization function, so I think we should be ok.

&gt; Please at least verify manually that the right localization is picked when
&gt; setting AppleLanguages in UI process.

What is the best way to verify this? It seems the WebContent process has only one localization (en.lproj).

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702154</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-10-27 17:08:29 -0700</bug_when>
    <thetext>I usually copy localization directories from shipping Safari.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702714</commentid>
    <comment_count>15</comment_count>
      <attachid>412645</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-10-29 07:28:51 -0700</bug_when>
    <thetext>Created attachment 412645
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702718</commentid>
    <comment_count>16</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-10-29 07:34:57 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #14)
&gt; I usually copy localization directories from shipping Safari.

I have confirmed locally that the correct localization is picked up with this patch.

This was tested by manually adding localized strings in Spanish and Norwegian in the Xcode IDE to WebCore.framework. I then set the system language to Spanish, and launched Safari in the debugger with the command line option &apos;-AppleLanguages (nb)&apos;. Safari was then started with Norwegian localization, and I confirmed in the debugger that the function CFBundleCopyLocalizedString returned Norwegian strings in the WebContent process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702729</commentid>
    <comment_count>17</comment_count>
      <attachid>412651</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-10-29 08:15:18 -0700</bug_when>
    <thetext>Created attachment 412651
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702742</commentid>
    <comment_count>18</comment_count>
      <attachid>412657</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-10-29 09:09:01 -0700</bug_when>
    <thetext>Created attachment 412657
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702799</commentid>
    <comment_count>19</comment_count>
      <attachid>412669</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-10-29 11:37:50 -0700</bug_when>
    <thetext>Created attachment 412669
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702828</commentid>
    <comment_count>20</comment_count>
      <attachid>412674</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-10-29 13:13:17 -0700</bug_when>
    <thetext>Created attachment 412674
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702861</commentid>
    <comment_count>21</comment_count>
      <attachid>412684</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-10-29 14:17:33 -0700</bug_when>
    <thetext>Created attachment 412684
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702876</commentid>
    <comment_count>22</comment_count>
      <attachid>412684</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-10-29 14:45:07 -0700</bug_when>
    <thetext>Comment on attachment 412684
Patch

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

Thank you for testing! It would be useful to check the full scenario with localizations in the API test. But it doesn&apos;t have to be part of this patch to test something that&apos;s preexisting behavior.

&gt; LayoutTests/ChangeLog:8
&gt; +        Add test for sandbox access to cfprefsd.daemon, and mark cfprefsd tests as failing for Mojave, since CFPrefs

This is surprising. CFPREFS_DIRECT_MODE is not enabled on Catalina either, so doesn&apos;t the failing result need to be in platform/mac-catalina?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702886</commentid>
    <comment_count>23</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-10-29 15:01:39 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #22)
&gt; Comment on attachment 412684 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=412684&amp;action=review
&gt; 
&gt; Thank you for testing! It would be useful to check the full scenario with
&gt; localizations in the API test. But it doesn&apos;t have to be part of this patch
&gt; to test something that&apos;s preexisting behavior.
&gt; 
&gt; &gt; LayoutTests/ChangeLog:8
&gt; &gt; +        Add test for sandbox access to cfprefsd.daemon, and mark cfprefsd tests as failing for Mojave, since CFPrefs
&gt; 
&gt; This is surprising. CFPREFS_DIRECT_MODE is not enabled on Catalina either,
&gt; so doesn&apos;t the failing result need to be in platform/mac-catalina?

Ah, yes! I will move the expectation file to the Catalina folder.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703110</commentid>
    <comment_count>24</comment_count>
      <attachid>412766</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-10-30 10:10:41 -0700</bug_when>
    <thetext>Created attachment 412766
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703566</commentid>
    <comment_count>25</comment_count>
      <attachid>412934</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-11-02 09:59:14 -0800</bug_when>
    <thetext>Created attachment 412934
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705748</commentid>
    <comment_count>26</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-09 10:00:45 -0800</bug_when>
    <thetext>Committed r269584: &lt;https://trac.webkit.org/changeset/269584&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 412934.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412126</attachid>
            <date>2020-10-22 13:42:10 -0700</date>
            <delta_ts>2020-10-27 07:47:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218097-20201022134209.patch</filename>
            <type>text/plain</type>
            <size>8482</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjg4OTApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDIwLTEwLTIyICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFNldCBwcmVmZXJl
bmNlIGZvciBvdmVycmlkZGVuIGxhbmd1YWdlcyBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFm
dGVyIGVudGVyaW5nIHRoZSBzYW5kYm94LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MDk3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MDU4NjU0
NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJy
ZW50bHksIHRoZSBwcmVmZXJlbmNlIGZvciBvdmVycmlkZGVuIGxhbmd1YWdlcyBpbiB0aGUgV2Vi
Q29udGVudCBwcm9jZXNzIGlzIHNldCBiZWZvcmUgZW50ZXJpbmcgdGhlIHNhbmRib3gsCisgICAg
ICAgIHdoaWNoIGxlYXZlcyBiZWhpbmQgYW4gb3BlbiBjb25uZWN0aW9uIHRvIG9wZW5kaXJlY3Rv
cnlkLiBUaGlzIHByZWZlcmVuY2Ugc2hvdWxkIGJlIHNldCBhZnRlciBlbnRlcmluZyB0aGUKKyAg
ICAgICAgc2FuZGJveCB0byBhdm9pZCB0aGlzLiBUaGlzIHBhdGNoIGFkZHJlc3NlcyB0aGlzIGJ5
IHNlbmRpbmcgdGhlIHBsYXRmb3JtIG92ZXJyaWRlIGxhbmd1YWdlcyB0byB0aGUgV2ViQ29udGVu
dAorICAgICAgICBwcm9jZXNzIGluIHRoZSBXZWIgcHJvY2VzcyBjcmVhdGlvbiBwYXJhbWV0ZXJz
LCBpbnN0ZWFkIG9mIGluIHRoZSBib290c3RyYXAgWFBDIG1lc3NhZ2UuCisKKyAgICAgICAgKiBT
aGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWlu
Lm1tOgorICAgICAgICAoV2ViS2l0OjpYUENTZXJ2aWNlTWFpbik6CisgICAgICAgICogU2hhcmVk
L1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJl
ZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmluaXRp
YWxpemVOZXdXZWJQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpnZXRMYXVuY2hPcHRpb25z
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorCiAyMDIwLTEwLTIyICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIElQQyB0ZXN0aW5nIEFQSSBz
aG91bGQgaGF2ZSB0aGUgY2FwYWJpbGl0eSB0byBvYnNlcnZlIG1lc3NhZ2VzIGJlaW5nIHNlbnQg
YW5kIHJlY2VpdmVkCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkocmV2aXNpb24gMjY4ODI1KQorKysgU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE5OCw2ICsxOTgsOCBAQCB2b2lkIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnM6OmVuY29kCiAjaWYgSEFWRShDQVRBTFlTVF9VU0VSX0lOVEVSRkFDRV9JRElPTV9BTkRfU0NB
TEVfRkFDVE9SKQogICAgIGVuY29kZXIgPDwgb3ZlcnJpZGVVc2VySW50ZXJmYWNlSWRpb21BbmRT
Y2FsZTsKICNlbmRpZgorCisgICAgZW5jb2RlciA8PCBwbGF0Zm9ybU92ZXJyaWRlTGFuZ3VhZ2Vz
OwogfQogCiBib29sIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6OkRl
Y29kZXImIGRlY29kZXIsIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMp
CkBAIC01NDQsNiArNTQ2LDkgQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpk
ZWNvZAogICAgIHBhcmFtZXRlcnMub3ZlcnJpZGVVc2VySW50ZXJmYWNlSWRpb21BbmRTY2FsZSA9
IFdURk1vdmUoKm92ZXJyaWRlVXNlckludGVyZmFjZUlkaW9tQW5kU2NhbGUpOwogI2VuZGlmCiAK
KyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMucGxhdGZvcm1PdmVycmlkZUxhbmd1
YWdlcykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIHJldHVybiB0cnVlOwogfQogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oCShyZXZpc2lvbiAyNjg4MjUpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzNiw2ICsyMzYs
OCBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAjaWYgSEFWRShDQVRB
TFlTVF9VU0VSX0lOVEVSRkFDRV9JRElPTV9BTkRfU0NBTEVfRkFDVE9SKQogICAgIHN0ZDo6cGFp
cjxpbnQ2NF90LCBkb3VibGU+IG92ZXJyaWRlVXNlckludGVyZmFjZUlkaW9tQW5kU2NhbGU7CiAj
ZW5kaWYKKworICAgIFZlY3RvcjxTdHJpbmc+IHBsYXRmb3JtT3ZlcnJpZGVMYW5ndWFnZXM7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0Vu
dHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29h
L1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4ubW0JKHJldmlzaW9uIDI2ODgyNSkKKysrIFNvdXJj
ZS9XZWJLaXQvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENT
ZXJ2aWNlTWFpbi5tbQkod29ya2luZyBjb3B5KQpAQCAtMTc1LDIwICsxNzUsNiBAQCBpbnQgWFBD
U2VydmljZU1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIqCiAgICAgICAgICAgICBjcmFzaER1ZVdl
YktpdEZyYW1ld29ya1ZlcnNpb25NaXNtYXRjaCgpOwogICAgICAgICB9CiAjZW5kaWYKLQotICAg
ICAgICBpZiAoeHBjX29iamVjdF90IGxhbmd1YWdlcyA9IHhwY19kaWN0aW9uYXJ5X2dldF92YWx1
ZShib290c3RyYXAuZ2V0KCksICJPdmVycmlkZUxhbmd1YWdlcyIpKSB7Ci0gICAgICAgICAgICBA
YXV0b3JlbGVhc2Vwb29sIHsKLSAgICAgICAgICAgICAgICBOU0RpY3Rpb25hcnkgKmV4aXN0aW5n
QXJndW1lbnRzID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gdm9sYXRp
bGVEb21haW5Gb3JOYW1lOk5TQXJndW1lbnREb21haW5dOwotICAgICAgICAgICAgICAgIE5TTXV0
YWJsZURpY3Rpb25hcnkgKm5ld0FyZ3VtZW50cyA9IFtleGlzdGluZ0FyZ3VtZW50cyBtdXRhYmxl
Q29weV07Ci0gICAgICAgICAgICAgICAgUmV0YWluUHRyPE5TTXV0YWJsZUFycmF5PiBuZXdMYW5n
dWFnZXMgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRdKTsKLSAgICAgICAg
ICAgICAgICB4cGNfYXJyYXlfYXBwbHkobGFuZ3VhZ2VzLCBeKHNpemVfdCBpbmRleCwgeHBjX29i
amVjdF90IHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAgIFtuZXdMYW5ndWFnZXMgYWRkT2Jq
ZWN0OltOU1N0cmluZyBzdHJpbmdXaXRoQ1N0cmluZzp4cGNfc3RyaW5nX2dldF9zdHJpbmdfcHRy
KHZhbHVlKSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ11dOwotICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICBb
bmV3QXJndW1lbnRzIHNldFZhbHVlOm5ld0xhbmd1YWdlcy5nZXQoKSBmb3JLZXk6QCJBcHBsZUxh
bmd1YWdlcyJdOwotICAgICAgICAgICAgICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2Vy
RGVmYXVsdHNdIHNldFZvbGF0aWxlRG9tYWluOm5ld0FyZ3VtZW50cyBmb3JOYW1lOk5TQXJndW1l
bnREb21haW5dOwotICAgICAgICAgICAgfQotICAgICAgICB9CiAgICAgfQogCiAjaWYgUExBVEZP
Uk0oTUFDKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNw
cAkocmV2aXNpb24gMjY4ODI1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MzAsNiArODMwLDggQEAgdm9pZCBXZWJQcm9j
ZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlBybwogICAgIGlmICh3ZWJzaXRlRGF0YVN0b3JlKQog
ICAgICAgICBwYXJhbWV0ZXJzLndlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzID0gd2ViUHJvY2Vz
c0RhdGFTdG9yZVBhcmFtZXRlcnMocHJvY2VzcywgKndlYnNpdGVEYXRhU3RvcmUpOwogCisgICAg
cGFyYW1ldGVycy5wbGF0Zm9ybU92ZXJyaWRlTGFuZ3VhZ2VzID0gcHJvY2Vzcy5wbGF0Zm9ybU92
ZXJyaWRlTGFuZ3VhZ2VzKCk7CisKICAgICBwcm9jZXNzLnNlbmQoTWVzc2FnZXM6OldlYlByb2Nl
c3M6OkluaXRpYWxpemVXZWJQcm9jZXNzKHBhcmFtZXRlcnMpLCAwKTsKICNpZiBQTEFURk9STShD
T0NPQSkKICAgICBwcm9jZXNzLnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlNldFFPUyh3ZWJQ
cm9jZXNzTGF0ZW5jeVFPUygpLCB3ZWJQcm9jZXNzVGhyb3VnaHB1dFFPUygpKSwgMCk7CkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAJKHJldmlzaW9u
IDI2ODgyNSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMzOCwxOSArMzM4LDYgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6
OmdldExhdW5jaE9wdGlvbnMoUAogICAgIGlmIChXZWJLaXQ6OmlzSW5zcGVjdG9yUHJvY2Vzc1Bv
b2wocHJvY2Vzc1Bvb2woKSkpCiAgICAgICAgIGxhdW5jaE9wdGlvbnMuZXh0cmFJbml0aWFsaXph
dGlvbkRhdGEuYWRkKCJpbnNwZWN0b3ItcHJvY2VzcyJfcywgIjEiX3MpOwogCi0gICAgYXV0byBv
dmVycmlkZUxhbmd1YWdlcyA9IG1fcHJvY2Vzc1Bvb2wtPmNvbmZpZ3VyYXRpb24oKS5vdmVycmlk
ZUxhbmd1YWdlcygpOwotICAgIGlmIChvdmVycmlkZUxhbmd1YWdlcy5pc0VtcHR5KCkpCi0gICAg
ICAgIG92ZXJyaWRlTGFuZ3VhZ2VzID0gcGxhdGZvcm1PdmVycmlkZUxhbmd1YWdlcygpOwotICAg
IGlmICghb3ZlcnJpZGVMYW5ndWFnZXMuaXNFbXB0eSgpKSB7Ci0gICAgICAgIFN0cmluZ0J1aWxk
ZXIgbGFuZ3VhZ2VTdHJpbmc7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgb3ZlcnJp
ZGVMYW5ndWFnZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIGlmIChpKQotICAgICAgICAg
ICAgICAgIGxhbmd1YWdlU3RyaW5nLmFwcGVuZCgnLCcpOwotICAgICAgICAgICAgbGFuZ3VhZ2VT
dHJpbmcuYXBwZW5kKG92ZXJyaWRlTGFuZ3VhZ2VzW2ldKTsKLSAgICAgICAgfQotICAgICAgICBs
YXVuY2hPcHRpb25zLmV4dHJhSW5pdGlhbGl6YXRpb25EYXRhLmFkZCgiT3ZlcnJpZGVMYW5ndWFn
ZXMiX3MsIGxhbmd1YWdlU3RyaW5nLnRvU3RyaW5nKCkpOwotICAgIH0KLQogICAgIGxhdW5jaE9w
dGlvbnMubm9uVmFsaWRJbmplY3RlZENvZGVBbGxvd2VkID0gc2hvdWxkQWxsb3dOb25WYWxpZElu
amVjdGVkQ29kZSgpOwogCiAgICAgaWYgKGlzUHJld2FybWVkKCkpCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkocmV2aXNpb24gMjY4ODI1KQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgJKHdvcmtpbmcgY29weSkKQEAg
LTM5NCw2ICszOTQsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJZ25vcmVJbnZhbGlkTWVzc2Fn
ZUZvclRlc3RpbmcoKTsKICNlbmRpZgogCisgICAgVmVjdG9yPFN0cmluZz4gcGxhdGZvcm1PdmVy
cmlkZUxhbmd1YWdlcygpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgV2ViUHJvY2Vzc1Byb3h5
KFdlYlByb2Nlc3NQb29sJiwgV2Vic2l0ZURhdGFTdG9yZSosIElzUHJld2FybWVkKTsKIApAQCAt
NDkyLDcgKzQ5NCw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZUZv
clJlc291cmNlTGltaXRUZXJtaW5hdGlvbihjb25zdCBTdHJpbmcmIGxpbWl0S2V5KTsKICAgICAK
ICAgICB2b2lkIHVwZGF0ZVJlZ2lzdHJhdGlvbldpdGhEYXRhU3RvcmUoKTsKLSAgICBWZWN0b3I8
U3RyaW5nPiBwbGF0Zm9ybU92ZXJyaWRlTGFuZ3VhZ2VzKCkgY29uc3Q7CiAKICAgICB2b2lkIG1h
eWJlU2h1dERvd24oKTsKIApJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dl
YlByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Y29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyNjg4MjUpCisrKyBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0zNjAsNiArMzYwLDIwIEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2Vi
UHIKICNlbmRpZgogCiAgICAgdXBkYXRlUHJvY2Vzc05hbWUoKTsKKworICAgIE5TRGljdGlvbmFy
eSAqZXhpc3RpbmdBcmd1bWVudHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1
bHRzXSB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisgICAgTlNNdXRh
YmxlRGljdGlvbmFyeSAqbmV3QXJndW1lbnRzID0gW2V4aXN0aW5nQXJndW1lbnRzIG11dGFibGVD
b3B5XTsKKyAgICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+IG5ld0xhbmd1YWdlcyA9IGFkb3B0
TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOworICAgIGZvciAoYXV0byYgbGFuZ3Vh
Z2UgOiBwYXJhbWV0ZXJzLm92ZXJyaWRlTGFuZ3VhZ2VzKSB7CisgICAgICAgIFtuZXdMYW5ndWFn
ZXMgYWRkT2JqZWN0Omxhbmd1YWdlXTsKKyAgICB9OworICAgIGlmIChwYXJhbWV0ZXJzLm92ZXJy
aWRlTGFuZ3VhZ2VzLmlzRW1wdHkoKSkgeworICAgICAgICBmb3IgKGF1dG8mIGxhbmd1YWdlIDog
cGFyYW1ldGVycy5wbGF0Zm9ybU92ZXJyaWRlTGFuZ3VhZ2VzKSB7CisgICAgICAgICAgICBbbmV3
TGFuZ3VhZ2VzIGFkZE9iamVjdDpsYW5ndWFnZV07CisgICAgICAgIH07CisgICAgfQorICAgIFtu
ZXdBcmd1bWVudHMgc2V0VmFsdWU6bmV3TGFuZ3VhZ2VzLmdldCgpIGZvcktleTpAIkFwcGxlTGFu
Z3VhZ2VzIl07CisgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0
Vm9sYXRpbGVEb21haW46bmV3QXJndW1lbnRzIGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CiB9
CiAKIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1TZXRXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVy
cyhXZWJQcm9jZXNzRGF0YVN0b3JlUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412421</attachid>
            <date>2020-10-27 07:47:54 -0700</date>
            <delta_ts>2020-10-27 09:06:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218097-20201027074753.patch</filename>
            <type>text/plain</type>
            <size>13023</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IGVtcHR5LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09CkluZGV4OiBTb3VyY2UvV1RGL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwkocmV2aXNpb24gMjY5MDM4KQorKysg
U291cmNlL1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAy
MC0xMC0yNyAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAg
W21hY09TXSBTZXQgcHJlZmVyZW5jZSBmb3Igb3ZlcnJpZGRlbiBsYW5ndWFnZXMgaW4gdGhlIFdl
YkNvbnRlbnQgcHJvY2VzcyBhZnRlciBlbnRlcmluZyB0aGUgc2FuZGJveC4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODA5NworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERpc2FibGUgQ0ZQcmVmcyBkaXJl
Y3QgbW9kZSBmb3Igb2xkZXIgdmVyc2lvbnMgb2YgbWFjT1MuIEluIHByYWN0aWNlLCBpdCB3YXMg
YWxyZWFkeSBkaXNhYmxlZCBzaW5jZSBhIG1hY2ggY29ubmVjdGlvbiB0byBjZnByZWZzZAorICAg
ICAgICB3YXMgZXN0YWJsaXNoZWQgYmVmb3JlIGVudGVyaW5nIHRoZSBzYW5kYm94IG9uIG9sZGVy
IHZlcnNpb25zIG9uIG1hY09TLCBidXQgdGhhdCBpcyBmaXhlZCBpbiB0aGlzIHBhdGNoLgorCisg
ICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKwogMjAyMC0xMC0xNSAgVGFkZXUg
WmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNvbT4KIAogICAgICAgICBTaWduIE1hY3JvQXNzZW1i
bGVyOjpqdW1wc1RvTGluawpJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2Nv
YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaAko
cmV2aXNpb24gMjY4ODI1KQorKysgU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDMsNyArMTAzLDcgQEAKICNkZWZpbmUgRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORyAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9DRlBSRUZTX0RJ
UkVDVF9NT0RFKQorI2lmICFkZWZpbmVkKEVOQUJMRV9DRlBSRUZTX0RJUkVDVF9NT0RFKSAmJiAo
UExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkKICNkZWZpbmUgRU5BQkxFX0NGUFJFRlNfRElSRUNU
X01PREUgMQogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjkwMzgpCisrKyBTb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDIw
LTEwLTI3ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBb
bWFjT1NdIFNldCBwcmVmZXJlbmNlIGZvciBvdmVycmlkZGVuIGxhbmd1YWdlcyBpbiB0aGUgV2Vi
Q29udGVudCBwcm9jZXNzIGFmdGVyIGVudGVyaW5nIHRoZSBzYW5kYm94LgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MDk3CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS83MDU4NjU0NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDdXJyZW50bHksIHRoZSBwcmVmZXJlbmNlIGZvciBvdmVycmlkZGVuIGxh
bmd1YWdlcyBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGlzIHNldCBiZWZvcmUgZW50ZXJpbmcg
dGhlIHNhbmRib3gsCisgICAgICAgIHdoaWNoIGxlYXZlcyBiZWhpbmQgYW4gb3BlbiBjb25uZWN0
aW9uIHRvIG9wZW5kaXJlY3RvcnlkLiBUaGlzIHByZWZlcmVuY2Ugc2hvdWxkIGJlIHNldCBhZnRl
ciBlbnRlcmluZyB0aGUKKyAgICAgICAgc2FuZGJveCB0byBhdm9pZCB0aGlzLiBUaGlzIHBhdGNo
IHNldHMgdGhlIHByZWZlcmVuY2UgYWZ0ZXIgdGhlIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGhh
cyBiZWVuIGV4ZWN1dGVkLgorCisgICAgICAgIEFQSSB0ZXN0OiBXZWJLaXQuT3ZlcnJpZGVBcHBs
ZUxhbmd1YWdlc1ByZWZlcmVuY2UKKworICAgICAgICAqIFNoYXJlZC9FbnRyeVBvaW50VXRpbGl0
aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4ubW06CisgICAgICAgIChXZWJLaXQ6
OnNldEFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZSk6CisgICAgICAgIChXZWJLaXQ6OlhQQ1NlcnZp
Y2VFdmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViS2l0OjpYUENTZXJ2aWNlTWFpbik6CisKIDIw
MjAtMTAtMjcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFdlYkRyaXZlcjogc2VxdWVuY2Ugb2YgY2hhciBrZXkgcHJlc3MgaXMgbm90IHN1cHBv
cnRlZApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2Nv
YS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNl
TWFpbi5tbQkocmV2aXNpb24gMjY4ODI1KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQ
b2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0zOSw2ICszOSwyNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorc3RhdGlj
IHZvaWQgc2V0QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKCkKK3sKKyAgICBhdXRvIGJvb3RzdHJh
cCA9IGFkb3B0T1NPYmplY3QoeHBjX2NvcHlfYm9vdHN0cmFwKCkpOworICAgIGlmICghYm9vdHN0
cmFwKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoeHBjX29iamVjdF90IGxhbmd1YWdlcyA9
IHhwY19kaWN0aW9uYXJ5X2dldF92YWx1ZShib290c3RyYXAuZ2V0KCksICJPdmVycmlkZUxhbmd1
YWdlcyIpKSB7CisgICAgICAgIEBhdXRvcmVsZWFzZXBvb2wgeworICAgICAgICAgICAgTlNEaWN0
aW9uYXJ5ICpleGlzdGluZ0FyZ3VtZW50cyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2Vy
RGVmYXVsdHNdIHZvbGF0aWxlRG9tYWluRm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKKyAgICAg
ICAgICAgIE5TTXV0YWJsZURpY3Rpb25hcnkgKm5ld0FyZ3VtZW50cyA9IFtleGlzdGluZ0FyZ3Vt
ZW50cyBtdXRhYmxlQ29weV07CisgICAgICAgICAgICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+
IG5ld0xhbmd1YWdlcyA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOwor
ICAgICAgICAgICAgeHBjX2FycmF5X2FwcGx5KGxhbmd1YWdlcywgXihzaXplX3QgaW5kZXgsIHhw
Y19vYmplY3RfdCB2YWx1ZSkgeworICAgICAgICAgICAgICAgIFtuZXdMYW5ndWFnZXMgYWRkT2Jq
ZWN0OltOU1N0cmluZyBzdHJpbmdXaXRoQ1N0cmluZzp4cGNfc3RyaW5nX2dldF9zdHJpbmdfcHRy
KHZhbHVlKSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ11dOworICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBbbmV3QXJndW1lbnRz
IHNldFZhbHVlOm5ld0xhbmd1YWdlcy5nZXQoKSBmb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOwor
ICAgICAgICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9s
YXRpbGVEb21haW46bmV3QXJndW1lbnRzIGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisgICAg
ICAgIH0KKyAgICB9Cit9CisKIHN0YXRpYyB2b2lkIFhQQ1NlcnZpY2VFdmVudEhhbmRsZXIoeHBj
X2Nvbm5lY3Rpb25fdCBwZWVyKQogewogICAgIHN0YXRpYyB4cGNfb2JqZWN0X3QgcHJpb3JpdHlC
b29zdE1lc3NhZ2UgPSBudWxscHRyOwpAQCAtOTgsNiArMTE5LDggQEAgc3RhdGljIHZvaWQgWFBD
U2VydmljZUV2ZW50SGFuZGxlcih4cGNfYwogCiAgICAgICAgICAgICAgICAgZGlzcGF0Y2hfc3lu
YyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBeewogICAgICAgICAgICAgICAgICAgICBpbml0
aWFsaXplckZ1bmN0aW9uUHRyKHBlZXIsIGV2ZW50LCBwcmlvcml0eUJvb3N0TWVzc2FnZSk7CisK
KyAgICAgICAgICAgICAgICAgICAgc2V0QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKCk7CiAgICAg
ICAgICAgICAgICAgfSk7CiAKICAgICAgICAgICAgICAgICBpZiAocHJpb3JpdHlCb29zdE1lc3Nh
Z2UpCkBAIC0xNzYsMTkgKzE5OSw2IEBAIGludCBYUENTZXJ2aWNlTWFpbihpbnQgYXJnYywgY29u
c3QgY2hhcioKICAgICAgICAgfQogI2VuZGlmCiAKLSAgICAgICAgaWYgKHhwY19vYmplY3RfdCBs
YW5ndWFnZXMgPSB4cGNfZGljdGlvbmFyeV9nZXRfdmFsdWUoYm9vdHN0cmFwLmdldCgpLCAiT3Zl
cnJpZGVMYW5ndWFnZXMiKSkgewotICAgICAgICAgICAgQGF1dG9yZWxlYXNlcG9vbCB7Ci0gICAg
ICAgICAgICAgICAgTlNEaWN0aW9uYXJ5ICpleGlzdGluZ0FyZ3VtZW50cyA9IFtbTlNVc2VyRGVm
YXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHZvbGF0aWxlRG9tYWluRm9yTmFtZTpOU0FyZ3Vt
ZW50RG9tYWluXTsKLSAgICAgICAgICAgICAgICBOU011dGFibGVEaWN0aW9uYXJ5ICpuZXdBcmd1
bWVudHMgPSBbZXhpc3RpbmdBcmd1bWVudHMgbXV0YWJsZUNvcHldOwotICAgICAgICAgICAgICAg
IFJldGFpblB0cjxOU011dGFibGVBcnJheT4gbmV3TGFuZ3VhZ2VzID0gYWRvcHROUyhbW05TTXV0
YWJsZUFycmF5IGFsbG9jXSBpbml0XSk7Ci0gICAgICAgICAgICAgICAgeHBjX2FycmF5X2FwcGx5
KGxhbmd1YWdlcywgXihzaXplX3QgaW5kZXgsIHhwY19vYmplY3RfdCB2YWx1ZSkgewotICAgICAg
ICAgICAgICAgICAgICBbbmV3TGFuZ3VhZ2VzIGFkZE9iamVjdDpbTlNTdHJpbmcgc3RyaW5nV2l0
aENTdHJpbmc6eHBjX3N0cmluZ19nZXRfc3RyaW5nX3B0cih2YWx1ZSkgZW5jb2Rpbmc6TlNVVEY4
U3RyaW5nRW5jb2RpbmddXTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
ICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgW25ld0FyZ3VtZW50cyBzZXRWYWx1ZTpu
ZXdMYW5ndWFnZXMuZ2V0KCkgZm9yS2V5OkAiQXBwbGVMYW5ndWFnZXMiXTsKLSAgICAgICAgICAg
ICAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRWb2xhdGlsZURv
bWFpbjpuZXdBcmd1bWVudHMgZm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQogICAgIH0KIAogI2lmIFBMQVRGT1JNKE1BQykKSW5kZXg6IFRvb2xzL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTAzOCkK
KysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDIw
LTEwLTI3ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBb
bWFjT1NdIFNldCBwcmVmZXJlbmNlIGZvciBvdmVycmlkZGVuIGxhbmd1YWdlcyBpbiB0aGUgV2Vi
Q29udGVudCBwcm9jZXNzIGFmdGVyIGVudGVyaW5nIHRoZSBzYW5kYm94LgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MDk3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9PdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbTogQWRk
ZWQuCisgICAgICAgIChURVNUKToKKwogMjAyMC0xMC0yNiAgRmVkZXJpY28gQnVjY2hpICA8ZmJ1
Y2NoaUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIEZlZGVyaWNvIEJ1Y2NoaSB0byBsaXN0IG9m
IFdlYktpdCBjb250cmlidXRvcnMKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lv
biAyNjg4MjUpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtOTM5LDYgKzkzOSw3IEBACiAJCUMw
QURCRTk2MTJGQ0E3OUIwMEQyQzEyOSAvKiBzaW1wbGUtZm9ybS5odG1sIGluIENvcHkgUmVzb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwQURCRTg0MTJGQ0E2QjYw
MEQyQzEyOSAvKiBzaW1wbGUtZm9ybS5odG1sICovOyB9OwogCQlDMEJENjY5RjEzMUQzQ0ZGMDBF
MThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseV9CdW5kbGUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBCRDY2OUUxMzFE
M0NGRjAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxl
LmNwcCAqLzsgfTsKIAkJQzBDNUQzQzYxNDU5OTEyOTAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2Fs
ZUZhY3Rvcl9CdW5kbGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDMEM1RDNCRDE0NTk4QjZGMDBBODAyQTYgLyogR2V0QmFja2luZ1NjYWxlRmFjdG9y
X0J1bmRsZS5tbSAqLzsgfTsKKwkJQzEwNEJDMUYyNTQ3MjM3MTAwQzA3OEM5IC8qIE92ZXJyaWRl
QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzEwNEJDMUUyNTQ3MjM3MTAwQzA3OEM5IC8qIE92ZXJyaWRlQXBw
bGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tICovOyB9OwogCQlDMTNEODJEOTI0MTZGMTMyMDBBNjI3
OTMgLyogRW5hYmxlQWNjZXNzaWJpbGl0eS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEMxM0Q4MkQ4MjQxNkYxMzIwMEE2Mjc5MyAvKiBFbmFibGVBY2Nl
c3NpYmlsaXR5Lm1tICovOyB9OwogCQlDMTQ5RDU1MDI0MkU5OERGMDAzRUJCMTIgLyogU2xlZXBE
aXNhYmxlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEMxNDlENTRGMjQyRTk4NDQwMDNFQkIxMiAvKiBTbGVlcERpc2FibGVyLm1tICovOyB9OwogCQlD
MTREMzA0NjI0QjRDM0JBMDA0ODAzODcgLyogWFBDRW5kcG9pbnQubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTREMzA0NTI0QjRDM0JBMDA0ODAzODcg
LyogWFBDRW5kcG9pbnQubW0gKi87IH07CkBAIC0yNjMyLDYgKzI2MzMsNyBAQAogCQlDMEJENjY5
RTEzMUQzQ0ZGMDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseV9C
dW5kbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVzcG9uc2l2
ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseV9CdW5kbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDMEM1RDNCQzE0NTk4QjZGMDBBODAyQTYgLyogR2V0QmFja2luZ1NjYWxlRmFj
dG9yLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gR2V0QmFja2lu
Z1NjYWxlRmFjdG9yLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMEM1RDNCRDE0
NTk4QjZGMDBBODAyQTYgLyogR2V0QmFja2luZ1NjYWxlRmFjdG9yX0J1bmRsZS5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEdldEJhY2tpbmdTY2FsZUZhY3Rvcl9C
dW5kbGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMxMDRCQzFFMjU0NzIzNzEw
MEMwNzhDOSAvKiBPdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDMTNEODJEODI0MTZGMTMyMDBBNjI3OTMgLyogRW5hYmxl
QWNjZXNzaWJpbGl0eS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEVuYWJsZUFjY2Vzc2liaWxp
dHkubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxNDlENTRGMjQyRTk4NDQwMDNF
QkIxMiAvKiBTbGVlcERpc2FibGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gU2xlZXBEaXNhYmxlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QzE0RDMwNDUyNEI0QzNCQTAwNDgwMzg3IC8qIFhQQ0VuZHBvaW50Lm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gWFBDRW5kcG9pbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0z
MTMwLDYgKzMxMzIsNyBAQAogCQkJCUUzOTRBRTZFMjNGMjMwM0UwMDVCNDkzNiAvKiBHcmFudEFj
Y2Vzc1RvTW9iaWxlQXNzZXRzLm1tICovLAogCQkJCUUzNEE2RDE4MjQxMkRFMzkwMDEyQUI2RSAv
KiBHcmFudEFjY2Vzc1RvUHJlZmVyZW5jZXNTZXJ2aWNlLm1tICovLAogCQkJCUUzNUI5MDgxMjNG
NjBERDAwMDAwMTFGRiAvKiBMb2NhbGl6ZWREZXZpY2VNb2RlbC5tbSAqLywKKwkJCQlDMTA0QkMx
RTI1NDcyMzcxMDBDMDc4QzkgLyogT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0g
Ki8sCiAJCQkJRTMyNUM5MDYyM0UzODcwMjAwQkM3RDNCIC8qIFBpY3R1cmVJblBpY3R1cmVTdXBw
b3J0Lm1tICovLAogCQkJCUMxNUNCQjNFMjNGQjE3N0EwMDMwMENDNyAvKiBQcmVmZXJlbmNlQ2hh
bmdlcy5tbSAqLywKIAkJCQlDMTQ5RDU0RjI0MkU5ODQ0MDAzRUJCMTIgLyogU2xlZXBEaXNhYmxl
ci5tbSAqLywKQEAgLTUzMTAsNiArNTMxMyw3IEBACiAJCQkJN0NDRTdGMjUxQTQxMUFGNjAwNDQ3
QzRDIC8qIE9wZW5BbmRDbG9zZVdpbmRvdy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFDQjJGMjdD
MjRGODgzNzkwMDBBNUJDMSAvKiBPcnRob2dvbmFsRmxvd0F2YWlsYWJsZVNpemUubW0gaW4gU291
cmNlcyAqLywKIAkJCQkwRjM0MDc3NjIzMDM3RkRDMDA2MEExQTAgLyogT3ZlcmZsb3dTY3JvbGxW
aWV3VGVzdHMubW0gaW4gU291cmNlcyAqLywKKwkJCQlDMTA0QkMxRjI1NDcyMzcxMDBDMDc4Qzkg
LyogT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0gaW4gU291cmNlcyAqLywKIAkJ
CQlDRUJDQTEyRjFFM0E2NjAxMDBDNzMyOTMgLyogT3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xp
Y3kubW0gaW4gU291cmNlcyAqLywKIAkJCQkyREEyNTg2RjIyNUM2N0RDMDBCNDVDMUMgLyogT3Zl
cnJpZGVWaWV3cG9ydEFyZ3VtZW50cy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0I0REE5MUM4
M0FFNzMwMENDNjkxOCAvKiBQYWdlR3JvdXAuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9PdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVy
ZW5jZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9P
dmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbQkobm9uZXhpc3RlbnQpCisrKyBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9PdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVy
ZW5jZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lt
cG9ydCAiY29uZmlnLmgiCisKKyNpZiBXS19IQVZFX0NfU1BJCisKKyNpbXBvcnQgIlBsYXRmb3Jt
VXRpbGl0aWVzLmgiCisjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCisKK1RFU1QoV2ViS2l0LCBP
dmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZSkKK3sKKyAgICBOU0RpY3Rpb25hcnkgKmRp
Y3QgPSBAeworICAgICAgICBAIkFwcGxlTGFuZ3VhZ2VzIjogQFsgQCJlbi1HQiIgXSwKKyAgICB9
OworCisgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRp
bGVEb21haW46ZGljdCBmb3JOYW1lOk5TQXJndW1lbnREb21haW5dOworCisgICAgYXV0byBjb25m
aWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRd
KTsKKyAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQgPSBhZG9wdFdLKFRlc3RX
ZWJLaXRBUEk6OlV0aWw6OmNyZWF0ZUNvbnRleHRGb3JJbmplY3RlZEJ1bmRsZVRlc3QoIkludGVy
bmFsc0luamVjdGVkQnVuZGxlVGVzdCIpKTsKKyAgICBjb25maWd1cmF0aW9uLmdldCgpLnByb2Nl
c3NQb29sID0gKFdLUHJvY2Vzc1Bvb2wgKiljb250ZXh0LmdldCgpOworICAgIGF1dG8gd2ViVmll
dyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJl
Y3QoMCwgMCwgMzAwLCAzMDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKSBhZGRU
b1dpbmRvdzpZRVNdKTsKKworICAgIGF1dG8gcHJlZmVycmVkTGFuZ3VhZ2UgPSBbJl0geworICAg
ICAgICByZXR1cm4gW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAIndpbmRv
dy5pbnRlcm5hbHMudXNlclByZWZlcnJlZExhbmd1YWdlcygpWzBdIl07CisgICAgfTsKKworICAg
IEFTU0VSVF9UUlVFKFtwcmVmZXJyZWRMYW5ndWFnZSgpIGlzRXF1YWw6QCJlbi1nYiJdKTsKK30K
KworI2VuZGlmIC8vIFdLX0hBVkVfQ19TUEkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412425</attachid>
            <date>2020-10-27 09:06:25 -0700</date>
            <delta_ts>2020-10-27 10:37:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218097-20201027090624.patch</filename>
            <type>text/plain</type>
            <size>13681</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IGVtcHR5LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09CkluZGV4OiBTb3VyY2UvV1RGL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwkocmV2aXNpb24gMjY5MDM4KQorKysg
U291cmNlL1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAy
MC0xMC0yNyAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAg
W21hY09TXSBTZXQgcHJlZmVyZW5jZSBmb3Igb3ZlcnJpZGRlbiBsYW5ndWFnZXMgaW4gdGhlIFdl
YkNvbnRlbnQgcHJvY2VzcyBhZnRlciBlbnRlcmluZyB0aGUgc2FuZGJveC4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODA5NworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERpc2FibGUgQ0ZQcmVmcyBkaXJl
Y3QgbW9kZSBmb3Igb2xkZXIgdmVyc2lvbnMgb2YgbWFjT1MuIEluIHByYWN0aWNlLCBpdCB3YXMg
YWxyZWFkeSBkaXNhYmxlZCBzaW5jZSBhIG1hY2ggY29ubmVjdGlvbiB0byBjZnByZWZzZAorICAg
ICAgICB3YXMgZXN0YWJsaXNoZWQgYmVmb3JlIGVudGVyaW5nIHRoZSBzYW5kYm94IG9uIG9sZGVy
IHZlcnNpb25zIG9uIG1hY09TLCBidXQgdGhhdCBpcyBmaXhlZCBpbiB0aGlzIHBhdGNoLgorCisg
ICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKwogMjAyMC0xMC0xNSAgVGFkZXUg
WmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNvbT4KIAogICAgICAgICBTaWduIE1hY3JvQXNzZW1i
bGVyOjpqdW1wc1RvTGluawpJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2Nv
YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaAko
cmV2aXNpb24gMjY4ODI1KQorKysgU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDMsNyArMTAzLDcgQEAKICNkZWZpbmUgRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORyAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9DRlBSRUZTX0RJ
UkVDVF9NT0RFKQorI2lmICFkZWZpbmVkKEVOQUJMRV9DRlBSRUZTX0RJUkVDVF9NT0RFKSAmJiAo
UExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkKICNkZWZpbmUgRU5BQkxFX0NGUFJFRlNfRElSRUNU
X01PREUgMQogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjkwMzgpCisrKyBTb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDIw
LTEwLTI3ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBb
bWFjT1NdIFNldCBwcmVmZXJlbmNlIGZvciBvdmVycmlkZGVuIGxhbmd1YWdlcyBpbiB0aGUgV2Vi
Q29udGVudCBwcm9jZXNzIGFmdGVyIGVudGVyaW5nIHRoZSBzYW5kYm94LgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MDk3CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS83MDU4NjU0NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDdXJyZW50bHksIHRoZSBwcmVmZXJlbmNlIGZvciBvdmVycmlkZGVuIGxh
bmd1YWdlcyBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGlzIHNldCBiZWZvcmUgZW50ZXJpbmcg
dGhlIHNhbmRib3gsCisgICAgICAgIHdoaWNoIGxlYXZlcyBiZWhpbmQgYW4gb3BlbiBjb25uZWN0
aW9uIHRvIG9wZW5kaXJlY3RvcnlkLiBUaGlzIHByZWZlcmVuY2Ugc2hvdWxkIGJlIHNldCBhZnRl
ciBlbnRlcmluZyB0aGUKKyAgICAgICAgc2FuZGJveCB0byBhdm9pZCB0aGlzLiBUaGlzIHBhdGNo
IHNldHMgdGhlIHByZWZlcmVuY2UgYWZ0ZXIgdGhlIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGhh
cyBiZWVuIGV4ZWN1dGVkLgorCisgICAgICAgIEFQSSB0ZXN0OiBXZWJLaXQuT3ZlcnJpZGVBcHBs
ZUxhbmd1YWdlc1ByZWZlcmVuY2UKKworICAgICAgICAqIFNoYXJlZC9FbnRyeVBvaW50VXRpbGl0
aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4ubW06CisgICAgICAgIChXZWJLaXQ6
OnNldEFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZSk6CisgICAgICAgIChXZWJLaXQ6OlhQQ1NlcnZp
Y2VFdmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViS2l0OjpYUENTZXJ2aWNlTWFpbik6CisKIDIw
MjAtMTAtMjcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFdlYkRyaXZlcjogc2VxdWVuY2Ugb2YgY2hhciBrZXkgcHJlc3MgaXMgbm90IHN1cHBv
cnRlZApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2Nv
YS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNl
TWFpbi5tbQkocmV2aXNpb24gMjY4ODI1KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQ
b2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0zOSw2ICszOSwyNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorc3RhdGlj
IHZvaWQgc2V0QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKCkKK3sKKyAgICBhdXRvIGJvb3RzdHJh
cCA9IGFkb3B0T1NPYmplY3QoeHBjX2NvcHlfYm9vdHN0cmFwKCkpOworICAgIGlmICghYm9vdHN0
cmFwKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoeHBjX29iamVjdF90IGxhbmd1YWdlcyA9
IHhwY19kaWN0aW9uYXJ5X2dldF92YWx1ZShib290c3RyYXAuZ2V0KCksICJPdmVycmlkZUxhbmd1
YWdlcyIpKSB7CisgICAgICAgIEBhdXRvcmVsZWFzZXBvb2wgeworICAgICAgICAgICAgTlNEaWN0
aW9uYXJ5ICpleGlzdGluZ0FyZ3VtZW50cyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2Vy
RGVmYXVsdHNdIHZvbGF0aWxlRG9tYWluRm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKKyAgICAg
ICAgICAgIE5TTXV0YWJsZURpY3Rpb25hcnkgKm5ld0FyZ3VtZW50cyA9IFtleGlzdGluZ0FyZ3Vt
ZW50cyBtdXRhYmxlQ29weV07CisgICAgICAgICAgICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+
IG5ld0xhbmd1YWdlcyA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOwor
ICAgICAgICAgICAgeHBjX2FycmF5X2FwcGx5KGxhbmd1YWdlcywgXihzaXplX3QgaW5kZXgsIHhw
Y19vYmplY3RfdCB2YWx1ZSkgeworICAgICAgICAgICAgICAgIFtuZXdMYW5ndWFnZXMgYWRkT2Jq
ZWN0OltOU1N0cmluZyBzdHJpbmdXaXRoQ1N0cmluZzp4cGNfc3RyaW5nX2dldF9zdHJpbmdfcHRy
KHZhbHVlKSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ11dOworICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBbbmV3QXJndW1lbnRz
IHNldFZhbHVlOm5ld0xhbmd1YWdlcy5nZXQoKSBmb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOwor
ICAgICAgICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9s
YXRpbGVEb21haW46bmV3QXJndW1lbnRzIGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisgICAg
ICAgIH0KKyAgICB9Cit9CisKIHN0YXRpYyB2b2lkIFhQQ1NlcnZpY2VFdmVudEhhbmRsZXIoeHBj
X2Nvbm5lY3Rpb25fdCBwZWVyKQogewogICAgIHN0YXRpYyB4cGNfb2JqZWN0X3QgcHJpb3JpdHlC
b29zdE1lc3NhZ2UgPSBudWxscHRyOwpAQCAtOTgsNiArMTE5LDggQEAgc3RhdGljIHZvaWQgWFBD
U2VydmljZUV2ZW50SGFuZGxlcih4cGNfYwogCiAgICAgICAgICAgICAgICAgZGlzcGF0Y2hfc3lu
YyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBeewogICAgICAgICAgICAgICAgICAgICBpbml0
aWFsaXplckZ1bmN0aW9uUHRyKHBlZXIsIGV2ZW50LCBwcmlvcml0eUJvb3N0TWVzc2FnZSk7CisK
KyAgICAgICAgICAgICAgICAgICAgc2V0QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKCk7CiAgICAg
ICAgICAgICAgICAgfSk7CiAKICAgICAgICAgICAgICAgICBpZiAocHJpb3JpdHlCb29zdE1lc3Nh
Z2UpCkBAIC0xNzYsMTkgKzE5OSw2IEBAIGludCBYUENTZXJ2aWNlTWFpbihpbnQgYXJnYywgY29u
c3QgY2hhcioKICAgICAgICAgfQogI2VuZGlmCiAKLSAgICAgICAgaWYgKHhwY19vYmplY3RfdCBs
YW5ndWFnZXMgPSB4cGNfZGljdGlvbmFyeV9nZXRfdmFsdWUoYm9vdHN0cmFwLmdldCgpLCAiT3Zl
cnJpZGVMYW5ndWFnZXMiKSkgewotICAgICAgICAgICAgQGF1dG9yZWxlYXNlcG9vbCB7Ci0gICAg
ICAgICAgICAgICAgTlNEaWN0aW9uYXJ5ICpleGlzdGluZ0FyZ3VtZW50cyA9IFtbTlNVc2VyRGVm
YXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHZvbGF0aWxlRG9tYWluRm9yTmFtZTpOU0FyZ3Vt
ZW50RG9tYWluXTsKLSAgICAgICAgICAgICAgICBOU011dGFibGVEaWN0aW9uYXJ5ICpuZXdBcmd1
bWVudHMgPSBbZXhpc3RpbmdBcmd1bWVudHMgbXV0YWJsZUNvcHldOwotICAgICAgICAgICAgICAg
IFJldGFpblB0cjxOU011dGFibGVBcnJheT4gbmV3TGFuZ3VhZ2VzID0gYWRvcHROUyhbW05TTXV0
YWJsZUFycmF5IGFsbG9jXSBpbml0XSk7Ci0gICAgICAgICAgICAgICAgeHBjX2FycmF5X2FwcGx5
KGxhbmd1YWdlcywgXihzaXplX3QgaW5kZXgsIHhwY19vYmplY3RfdCB2YWx1ZSkgewotICAgICAg
ICAgICAgICAgICAgICBbbmV3TGFuZ3VhZ2VzIGFkZE9iamVjdDpbTlNTdHJpbmcgc3RyaW5nV2l0
aENTdHJpbmc6eHBjX3N0cmluZ19nZXRfc3RyaW5nX3B0cih2YWx1ZSkgZW5jb2Rpbmc6TlNVVEY4
U3RyaW5nRW5jb2RpbmddXTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
ICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgW25ld0FyZ3VtZW50cyBzZXRWYWx1ZTpu
ZXdMYW5ndWFnZXMuZ2V0KCkgZm9yS2V5OkAiQXBwbGVMYW5ndWFnZXMiXTsKLSAgICAgICAgICAg
ICAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRWb2xhdGlsZURv
bWFpbjpuZXdBcmd1bWVudHMgZm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQogICAgIH0KIAogI2lmIFBMQVRGT1JNKE1BQykKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbgo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4JKHJl
dmlzaW9uIDI2ODgyNSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2Vi
UHJvY2Vzcy5zYi5pbgkod29ya2luZyBjb3B5KQpAQCAtNDcwLDYgKzQ3MCwxNCBAQAogKQogI2Vu
ZGlmCiAKKyNpZiAhRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCisoYWxsb3cgbWFjaC1sb29r
dXAKKyAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5jZnByZWZzZC5hZ2VudCIpCisgICAgKGds
b2JhbC1uYW1lICJjb20uYXBwbGUuY2ZwcmVmc2QuZGFlbW9uIikKKykKKyNlbmRpZgorCisKIDs7
IFV0aWxpdHkgZnVuY3Rpb25zIGZvciBob21lIGRpcmVjdG9yeSByZWxhdGl2ZSBwYXRoIGZpbHRl
cnMKIChkZWZpbmUgKGhvbWUtcmVnZXggaG9tZS1yZWxhdGl2ZS1yZWdleCkKICAgKHJlZ2V4IChz
dHJpbmctYXBwZW5kICJeIiAocmVnZXgtcXVvdGUgKHBhcmFtICJIT01FX0RJUiIpKSBob21lLXJl
bGF0aXZlLXJlZ2V4KSkpCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjkwMzgpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0xMC0yNyAgUGVyIEFybmUgVm9sbGFuICA8
cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBTZXQgcHJlZmVyZW5jZSBmb3Ig
b3ZlcnJpZGRlbiBsYW5ndWFnZXMgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBhZnRlciBlbnRl
cmluZyB0aGUgc2FuZGJveC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxODA5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3ZlcnJpZGVB
cHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW06IEFkZGVkLgorICAgICAgICAoVEVTVCk6CisKIDIw
MjAtMTAtMjYgIEZlZGVyaWNvIEJ1Y2NoaSAgPGZidWNjaGlAYXBwbGUuY29tPgogCiAgICAgICAg
IEFkZCBGZWRlcmljbyBCdWNjaGkgdG8gbGlzdCBvZiBXZWJLaXQgY29udHJpYnV0b3JzCkluZGV4
OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjY4ODI1KQorKysgVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcg
Y29weSkKQEAgLTkzOSw2ICs5MzksNyBAQAogCQlDMEFEQkU5NjEyRkNBNzlCMDBEMkMxMjkgLyog
c2ltcGxlLWZvcm0uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDMEFEQkU4NDEyRkNBNkI2MDBEMkMxMjkgLyogc2ltcGxlLWZvcm0uaHRt
bCAqLzsgfTsKIAkJQzBCRDY2OUYxMzFEM0NGRjAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGlt
ZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEMwQkQ2NjlFMTMxRDNDRkYwMEUxOEYyQSAvKiBSZXNwb25zaXZl
bmVzc1RpbWVyRG9lc250RmlyZUVhcmx5X0J1bmRsZS5jcHAgKi87IH07CiAJCUMwQzVEM0M2MTQ1
OTkxMjkwMEE4MDJBNiAvKiBHZXRCYWNraW5nU2NhbGVGYWN0b3JfQnVuZGxlLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBDNUQzQkQxNDU5OEI2RjAw
QTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvcl9CdW5kbGUubW0gKi87IH07CisJCUMxMDRC
QzFGMjU0NzIzNzEwMEMwNzhDOSAvKiBPdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxMDRCQzFF
MjU0NzIzNzEwMEMwNzhDOSAvKiBPdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbSAq
LzsgfTsKIAkJQzEzRDgyRDkyNDE2RjEzMjAwQTYyNzkzIC8qIEVuYWJsZUFjY2Vzc2liaWxpdHku
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTNEODJE
ODI0MTZGMTMyMDBBNjI3OTMgLyogRW5hYmxlQWNjZXNzaWJpbGl0eS5tbSAqLzsgfTsKIAkJQzE0
OUQ1NTAyNDJFOThERjAwM0VCQjEyIC8qIFNsZWVwRGlzYWJsZXIubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTQ5RDU0RjI0MkU5ODQ0MDAzRUJCMTIg
LyogU2xlZXBEaXNhYmxlci5tbSAqLzsgfTsKIAkJQzE0RDMwNDYyNEI0QzNCQTAwNDgwMzg3IC8q
IFhQQ0VuZHBvaW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzE0RDMwNDUyNEI0QzNCQTAwNDgwMzg3IC8qIFhQQ0VuZHBvaW50Lm1tICovOyB9OwpA
QCAtMjYzMiw2ICsyNjMzLDcgQEAKIAkJQzBCRDY2OUUxMzFEM0NGRjAwRTE4RjJBIC8qIFJlc3Bv
bnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlf
QnVuZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBDNUQzQkMxNDU5OEI2
RjAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IEdldEJhY2tpbmdTY2FsZUZhY3Rvci5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBDNUQzQkQxNDU5OEI2RjAwQTgwMkE2IC8qIEdldEJhY2tp
bmdTY2FsZUZhY3Rvcl9CdW5kbGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBHZXRCYWNraW5nU2NhbGVGYWN0b3JfQnVuZGxlLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDMTA0QkMxRTI1NDcyMzcxMDBDMDc4QzkgLyogT3ZlcnJpZGVBcHBsZUxh
bmd1YWdlc1ByZWZlcmVuY2UubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBPdmVycmlkZUFwcGxl
TGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzEz
RDgyRDgyNDE2RjEzMjAwQTYyNzkzIC8qIEVuYWJsZUFjY2Vzc2liaWxpdHkubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBFbmFibGVBY2Nlc3NpYmlsaXR5Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDMTQ5RDU0RjI0MkU5ODQ0MDAzRUJCMTIgLyogU2xlZXBEaXNhYmxlci5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNsZWVwRGlzYWJsZXIubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxNEQzMDQ1MjRCNEMzQkEwMDQ4MDM4NyAv
KiBYUENFbmRwb2ludC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFhQQ0VuZHBvaW50Lm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzEzMCw2ICszMTMyLDcgQEAKIAkJCQlFMzk0
QUU2RTIzRjIzMDNFMDA1QjQ5MzYgLyogR3JhbnRBY2Nlc3NUb01vYmlsZUFzc2V0cy5tbSAqLywK
IAkJCQlFMzRBNkQxODI0MTJERTM5MDAxMkFCNkUgLyogR3JhbnRBY2Nlc3NUb1ByZWZlcmVuY2Vz
U2VydmljZS5tbSAqLywKIAkJCQlFMzVCOTA4MTIzRjYwREQwMDAwMDExRkYgLyogTG9jYWxpemVk
RGV2aWNlTW9kZWwubW0gKi8sCisJCQkJQzEwNEJDMUUyNTQ3MjM3MTAwQzA3OEM5IC8qIE92ZXJy
aWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tICovLAogCQkJCUUzMjVDOTA2MjNFMzg3MDIw
MEJDN0QzQiAvKiBQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydC5tbSAqLywKIAkJCQlDMTVDQkIzRTIz
RkIxNzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gKi8sCiAJCQkJQzE0OUQ1NEYy
NDJFOTg0NDAwM0VCQjEyIC8qIFNsZWVwRGlzYWJsZXIubW0gKi8sCkBAIC01MzEwLDYgKzUzMTMs
NyBAQAogCQkJCTdDQ0U3RjI1MUE0MTFBRjYwMDQ0N0M0QyAvKiBPcGVuQW5kQ2xvc2VXaW5kb3cu
bW0gaW4gU291cmNlcyAqLywKIAkJCQkxQ0IyRjI3QzI0Rjg4Mzc5MDAwQTVCQzEgLyogT3J0aG9n
b25hbEZsb3dBdmFpbGFibGVTaXplLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYzNDA3NzYyMzAz
N0ZEQzAwNjBBMUEwIC8qIE92ZXJmbG93U2Nyb2xsVmlld1Rlc3RzLm1tIGluIFNvdXJjZXMgKi8s
CisJCQkJQzEwNEJDMUYyNTQ3MjM3MTAwQzA3OEM5IC8qIE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQ
cmVmZXJlbmNlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0VCQ0ExMkYxRTNBNjYwMTAwQzczMjkz
IC8qIE92ZXJyaWRlQ29udGVudFNlY3VyaXR5UG9saWN5Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MkRBMjU4NkYyMjVDNjdEQzAwQjQ1QzFDIC8qIE92ZXJyaWRlVmlld3BvcnRBcmd1bWVudHMubW0g
aW4gU291cmNlcyAqLywKIAkJCQk3Q0NCNERBOTFDODNBRTczMDBDQzY5MTggLyogUGFnZUdyb3Vw
LmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZl
cmVuY2UubW0JKG5vbmV4aXN0ZW50KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0JKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisjaWYgV0tf
SEFWRV9DX1NQSQorCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVz
dFdLV2ViVmlldy5oIgorCitURVNUKFdlYktpdCwgT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZl
cmVuY2UpCit7CisgICAgTlNEaWN0aW9uYXJ5ICpkaWN0ID0gQHsKKyAgICAgICAgQCJBcHBsZUxh
bmd1YWdlcyI6IEBbIEAiZW4tR0IiIF0sCisgICAgfTsKKworICAgIFtbTlNVc2VyRGVmYXVsdHMg
c3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldFZvbGF0aWxlRG9tYWluOmRpY3QgZm9yTmFtZTpOU0Fy
Z3VtZW50RG9tYWluXTsKKworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dl
YlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgV0tSZXRhaW5QdHI8V0tDb250
ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhUZXN0V2ViS2l0QVBJOjpVdGlsOjpjcmVhdGVDb250
ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJJbnRlcm5hbHNJbmplY3RlZEJ1bmRsZVRlc3QiKSk7
CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5wcm9jZXNzUG9vbCA9IChXS1Byb2Nlc3NQb29sICop
Y29udGV4dC5nZXQoKTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1
cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisKKyAgICBhdXRv
IHByZWZlcnJlZExhbmd1YWdlID0gWyZdIHsKKyAgICAgICAgcmV0dXJuIFt3ZWJWaWV3IHN0cmlu
Z0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ3aW5kb3cuaW50ZXJuYWxzLnVzZXJQcmVmZXJyZWRM
YW5ndWFnZXMoKVswXSJdOworICAgIH07CisKKyAgICBBU1NFUlRfVFJVRShbcHJlZmVycmVkTGFu
Z3VhZ2UoKSBpc0VxdWFsOkAiZW4tZ2IiXSk7Cit9CisKKyNlbmRpZiAvLyBXS19IQVZFX0NfU1BJ
Cg==
</data>
<flag name="commit-queue"
          id="428899"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412438</attachid>
            <date>2020-10-27 10:16:21 -0700</date>
            <delta_ts>2020-10-29 07:28:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218097-20201027101620.patch</filename>
            <type>text/plain</type>
            <size>15593</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IGVtcHR5LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09CkluZGV4OiBTb3VyY2UvV1RGL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwkocmV2aXNpb24gMjY5MDM4KQorKysg
U291cmNlL1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAy
MC0xMC0yNyAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAg
W21hY09TXSBTZXQgcHJlZmVyZW5jZSBmb3Igb3ZlcnJpZGRlbiBsYW5ndWFnZXMgaW4gdGhlIFdl
YkNvbnRlbnQgcHJvY2VzcyBhZnRlciBlbnRlcmluZyB0aGUgc2FuZGJveC4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODA5NworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERpc2FibGUgQ0ZQcmVmcyBkaXJl
Y3QgbW9kZSBmb3Igb2xkZXIgdmVyc2lvbnMgb2YgbWFjT1MuIEluIHByYWN0aWNlLCBpdCB3YXMg
YWxyZWFkeSBkaXNhYmxlZCBzaW5jZSBhIG1hY2ggY29ubmVjdGlvbiB0byBjZnByZWZzZAorICAg
ICAgICB3YXMgZXN0YWJsaXNoZWQgYmVmb3JlIGVudGVyaW5nIHRoZSBzYW5kYm94IG9uIG9sZGVy
IHZlcnNpb25zIG9uIG1hY09TLCBidXQgdGhhdCBpcyBmaXhlZCBpbiB0aGlzIHBhdGNoLgorCisg
ICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKwogMjAyMC0xMC0xNSAgVGFkZXUg
WmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNvbT4KIAogICAgICAgICBTaWduIE1hY3JvQXNzZW1i
bGVyOjpqdW1wc1RvTGluawpJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2Nv
YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaAko
cmV2aXNpb24gMjY4ODI1KQorKysgU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDMsNyArMTAzLDcgQEAKICNkZWZpbmUgRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORyAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9DRlBSRUZTX0RJ
UkVDVF9NT0RFKQorI2lmICFkZWZpbmVkKEVOQUJMRV9DRlBSRUZTX0RJUkVDVF9NT0RFKSAmJiAo
UExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkKICNkZWZpbmUgRU5BQkxFX0NGUFJFRlNfRElSRUNU
X01PREUgMQogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjkwMzgpCisrKyBTb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDIw
LTEwLTI3ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBb
bWFjT1NdIFNldCBwcmVmZXJlbmNlIGZvciBvdmVycmlkZGVuIGxhbmd1YWdlcyBpbiB0aGUgV2Vi
Q29udGVudCBwcm9jZXNzIGFmdGVyIGVudGVyaW5nIHRoZSBzYW5kYm94LgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MDk3CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS83MDU4NjU0NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDdXJyZW50bHksIHRoZSBwcmVmZXJlbmNlIGZvciBvdmVycmlkZGVuIGxh
bmd1YWdlcyBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGlzIHNldCBiZWZvcmUgZW50ZXJpbmcg
dGhlIHNhbmRib3gsCisgICAgICAgIHdoaWNoIGxlYXZlcyBiZWhpbmQgYW4gb3BlbiBjb25uZWN0
aW9uIHRvIG9wZW5kaXJlY3RvcnlkLiBUaGlzIHByZWZlcmVuY2Ugc2hvdWxkIGJlIHNldCBhZnRl
ciBlbnRlcmluZyB0aGUKKyAgICAgICAgc2FuZGJveCB0byBhdm9pZCB0aGlzLiBUaGlzIHBhdGNo
IHNldHMgdGhlIHByZWZlcmVuY2UgYWZ0ZXIgdGhlIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGhh
cyBiZWVuIGV4ZWN1dGVkLgorCisgICAgICAgIEFQSSB0ZXN0OiBXZWJLaXQuT3ZlcnJpZGVBcHBs
ZUxhbmd1YWdlc1ByZWZlcmVuY2UKKworICAgICAgICAqIFNoYXJlZC9FbnRyeVBvaW50VXRpbGl0
aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4ubW06CisgICAgICAgIChXZWJLaXQ6
OnNldEFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZSk6CisgICAgICAgIChXZWJLaXQ6OlhQQ1NlcnZp
Y2VFdmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViS2l0OjpYUENTZXJ2aWNlTWFpbik6CisKIDIw
MjAtMTAtMjcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFdlYkRyaXZlcjogc2VxdWVuY2Ugb2YgY2hhciBrZXkgcHJlc3MgaXMgbm90IHN1cHBv
cnRlZApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2Nv
YS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNl
TWFpbi5tbQkocmV2aXNpb24gMjY4ODI1KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQ
b2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0zOSw2ICszOSwyNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorc3RhdGlj
IHZvaWQgc2V0QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKCkKK3sKKyAgICBhdXRvIGJvb3RzdHJh
cCA9IGFkb3B0T1NPYmplY3QoeHBjX2NvcHlfYm9vdHN0cmFwKCkpOworICAgIGlmICghYm9vdHN0
cmFwKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoeHBjX29iamVjdF90IGxhbmd1YWdlcyA9
IHhwY19kaWN0aW9uYXJ5X2dldF92YWx1ZShib290c3RyYXAuZ2V0KCksICJPdmVycmlkZUxhbmd1
YWdlcyIpKSB7CisgICAgICAgIEBhdXRvcmVsZWFzZXBvb2wgeworICAgICAgICAgICAgTlNEaWN0
aW9uYXJ5ICpleGlzdGluZ0FyZ3VtZW50cyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2Vy
RGVmYXVsdHNdIHZvbGF0aWxlRG9tYWluRm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKKyAgICAg
ICAgICAgIE5TTXV0YWJsZURpY3Rpb25hcnkgKm5ld0FyZ3VtZW50cyA9IFtleGlzdGluZ0FyZ3Vt
ZW50cyBtdXRhYmxlQ29weV07CisgICAgICAgICAgICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+
IG5ld0xhbmd1YWdlcyA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOwor
ICAgICAgICAgICAgeHBjX2FycmF5X2FwcGx5KGxhbmd1YWdlcywgXihzaXplX3QgaW5kZXgsIHhw
Y19vYmplY3RfdCB2YWx1ZSkgeworICAgICAgICAgICAgICAgIFtuZXdMYW5ndWFnZXMgYWRkT2Jq
ZWN0OltOU1N0cmluZyBzdHJpbmdXaXRoQ1N0cmluZzp4cGNfc3RyaW5nX2dldF9zdHJpbmdfcHRy
KHZhbHVlKSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ11dOworICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBbbmV3QXJndW1lbnRz
IHNldFZhbHVlOm5ld0xhbmd1YWdlcy5nZXQoKSBmb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOwor
ICAgICAgICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9s
YXRpbGVEb21haW46bmV3QXJndW1lbnRzIGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisgICAg
ICAgIH0KKyAgICB9Cit9CisKIHN0YXRpYyB2b2lkIFhQQ1NlcnZpY2VFdmVudEhhbmRsZXIoeHBj
X2Nvbm5lY3Rpb25fdCBwZWVyKQogewogICAgIHN0YXRpYyB4cGNfb2JqZWN0X3QgcHJpb3JpdHlC
b29zdE1lc3NhZ2UgPSBudWxscHRyOwpAQCAtOTgsNiArMTE5LDggQEAgc3RhdGljIHZvaWQgWFBD
U2VydmljZUV2ZW50SGFuZGxlcih4cGNfYwogCiAgICAgICAgICAgICAgICAgZGlzcGF0Y2hfc3lu
YyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBeewogICAgICAgICAgICAgICAgICAgICBpbml0
aWFsaXplckZ1bmN0aW9uUHRyKHBlZXIsIGV2ZW50LCBwcmlvcml0eUJvb3N0TWVzc2FnZSk7CisK
KyAgICAgICAgICAgICAgICAgICAgc2V0QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKCk7CiAgICAg
ICAgICAgICAgICAgfSk7CiAKICAgICAgICAgICAgICAgICBpZiAocHJpb3JpdHlCb29zdE1lc3Nh
Z2UpCkBAIC0xNzYsMTkgKzE5OSw2IEBAIGludCBYUENTZXJ2aWNlTWFpbihpbnQgYXJnYywgY29u
c3QgY2hhcioKICAgICAgICAgfQogI2VuZGlmCiAKLSAgICAgICAgaWYgKHhwY19vYmplY3RfdCBs
YW5ndWFnZXMgPSB4cGNfZGljdGlvbmFyeV9nZXRfdmFsdWUoYm9vdHN0cmFwLmdldCgpLCAiT3Zl
cnJpZGVMYW5ndWFnZXMiKSkgewotICAgICAgICAgICAgQGF1dG9yZWxlYXNlcG9vbCB7Ci0gICAg
ICAgICAgICAgICAgTlNEaWN0aW9uYXJ5ICpleGlzdGluZ0FyZ3VtZW50cyA9IFtbTlNVc2VyRGVm
YXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHZvbGF0aWxlRG9tYWluRm9yTmFtZTpOU0FyZ3Vt
ZW50RG9tYWluXTsKLSAgICAgICAgICAgICAgICBOU011dGFibGVEaWN0aW9uYXJ5ICpuZXdBcmd1
bWVudHMgPSBbZXhpc3RpbmdBcmd1bWVudHMgbXV0YWJsZUNvcHldOwotICAgICAgICAgICAgICAg
IFJldGFpblB0cjxOU011dGFibGVBcnJheT4gbmV3TGFuZ3VhZ2VzID0gYWRvcHROUyhbW05TTXV0
YWJsZUFycmF5IGFsbG9jXSBpbml0XSk7Ci0gICAgICAgICAgICAgICAgeHBjX2FycmF5X2FwcGx5
KGxhbmd1YWdlcywgXihzaXplX3QgaW5kZXgsIHhwY19vYmplY3RfdCB2YWx1ZSkgewotICAgICAg
ICAgICAgICAgICAgICBbbmV3TGFuZ3VhZ2VzIGFkZE9iamVjdDpbTlNTdHJpbmcgc3RyaW5nV2l0
aENTdHJpbmc6eHBjX3N0cmluZ19nZXRfc3RyaW5nX3B0cih2YWx1ZSkgZW5jb2Rpbmc6TlNVVEY4
U3RyaW5nRW5jb2RpbmddXTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
ICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgW25ld0FyZ3VtZW50cyBzZXRWYWx1ZTpu
ZXdMYW5ndWFnZXMuZ2V0KCkgZm9yS2V5OkAiQXBwbGVMYW5ndWFnZXMiXTsKLSAgICAgICAgICAg
ICAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRWb2xhdGlsZURv
bWFpbjpuZXdBcmd1bWVudHMgZm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQogICAgIH0KIAogI2lmIFBMQVRGT1JNKE1BQykKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbgo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4JKHJl
dmlzaW9uIDI2ODgyNSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2Vi
UHJvY2Vzcy5zYi5pbgkod29ya2luZyBjb3B5KQpAQCAtNDcwLDYgKzQ3MCwxNCBAQAogKQogI2Vu
ZGlmCiAKKyNpZiAhRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCisoYWxsb3cgbWFjaC1sb29r
dXAKKyAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5jZnByZWZzZC5hZ2VudCIpCisgICAgKGds
b2JhbC1uYW1lICJjb20uYXBwbGUuY2ZwcmVmc2QuZGFlbW9uIikKKykKKyNlbmRpZgorCisKIDs7
IFV0aWxpdHkgZnVuY3Rpb25zIGZvciBob21lIGRpcmVjdG9yeSByZWxhdGl2ZSBwYXRoIGZpbHRl
cnMKIChkZWZpbmUgKGhvbWUtcmVnZXggaG9tZS1yZWxhdGl2ZS1yZWdleCkKICAgKHJlZ2V4IChz
dHJpbmctYXBwZW5kICJeIiAocmVnZXgtcXVvdGUgKHBhcmFtICJIT01FX0RJUiIpKSBob21lLXJl
bGF0aXZlLXJlZ2V4KSkpCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjkwMzgpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0xMC0yNyAgUGVyIEFybmUgVm9sbGFuICA8
cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBTZXQgcHJlZmVyZW5jZSBmb3Ig
b3ZlcnJpZGRlbiBsYW5ndWFnZXMgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBhZnRlciBlbnRl
cmluZyB0aGUgc2FuZGJveC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxODA5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3ZlcnJpZGVB
cHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW06IEFkZGVkLgorICAgICAgICAoVEVTVCk6CisKIDIw
MjAtMTAtMjYgIEZlZGVyaWNvIEJ1Y2NoaSAgPGZidWNjaGlAYXBwbGUuY29tPgogCiAgICAgICAg
IEFkZCBGZWRlcmljbyBCdWNjaGkgdG8gbGlzdCBvZiBXZWJLaXQgY29udHJpYnV0b3JzCkluZGV4
OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjY4ODI1KQorKysgVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcg
Y29weSkKQEAgLTkzOSw2ICs5MzksNyBAQAogCQlDMEFEQkU5NjEyRkNBNzlCMDBEMkMxMjkgLyog
c2ltcGxlLWZvcm0uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDMEFEQkU4NDEyRkNBNkI2MDBEMkMxMjkgLyogc2ltcGxlLWZvcm0uaHRt
bCAqLzsgfTsKIAkJQzBCRDY2OUYxMzFEM0NGRjAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGlt
ZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEMwQkQ2NjlFMTMxRDNDRkYwMEUxOEYyQSAvKiBSZXNwb25zaXZl
bmVzc1RpbWVyRG9lc250RmlyZUVhcmx5X0J1bmRsZS5jcHAgKi87IH07CiAJCUMwQzVEM0M2MTQ1
OTkxMjkwMEE4MDJBNiAvKiBHZXRCYWNraW5nU2NhbGVGYWN0b3JfQnVuZGxlLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBDNUQzQkQxNDU5OEI2RjAw
QTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvcl9CdW5kbGUubW0gKi87IH07CisJCUMxMDRC
QzFGMjU0NzIzNzEwMEMwNzhDOSAvKiBPdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxMDRCQzFF
MjU0NzIzNzEwMEMwNzhDOSAvKiBPdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbSAq
LzsgfTsKIAkJQzEzRDgyRDkyNDE2RjEzMjAwQTYyNzkzIC8qIEVuYWJsZUFjY2Vzc2liaWxpdHku
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTNEODJE
ODI0MTZGMTMyMDBBNjI3OTMgLyogRW5hYmxlQWNjZXNzaWJpbGl0eS5tbSAqLzsgfTsKIAkJQzE0
OUQ1NTAyNDJFOThERjAwM0VCQjEyIC8qIFNsZWVwRGlzYWJsZXIubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTQ5RDU0RjI0MkU5ODQ0MDAzRUJCMTIg
LyogU2xlZXBEaXNhYmxlci5tbSAqLzsgfTsKIAkJQzE0RDMwNDYyNEI0QzNCQTAwNDgwMzg3IC8q
IFhQQ0VuZHBvaW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzE0RDMwNDUyNEI0QzNCQTAwNDgwMzg3IC8qIFhQQ0VuZHBvaW50Lm1tICovOyB9OwpA
QCAtMjYzMiw2ICsyNjMzLDcgQEAKIAkJQzBCRDY2OUUxMzFEM0NGRjAwRTE4RjJBIC8qIFJlc3Bv
bnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlf
QnVuZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBDNUQzQkMxNDU5OEI2
RjAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IEdldEJhY2tpbmdTY2FsZUZhY3Rvci5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBDNUQzQkQxNDU5OEI2RjAwQTgwMkE2IC8qIEdldEJhY2tp
bmdTY2FsZUZhY3Rvcl9CdW5kbGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBHZXRCYWNraW5nU2NhbGVGYWN0b3JfQnVuZGxlLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDMTA0QkMxRTI1NDcyMzcxMDBDMDc4QzkgLyogT3ZlcnJpZGVBcHBsZUxh
bmd1YWdlc1ByZWZlcmVuY2UubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBPdmVycmlkZUFwcGxl
TGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzEz
RDgyRDgyNDE2RjEzMjAwQTYyNzkzIC8qIEVuYWJsZUFjY2Vzc2liaWxpdHkubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBFbmFibGVBY2Nlc3NpYmlsaXR5Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDMTQ5RDU0RjI0MkU5ODQ0MDAzRUJCMTIgLyogU2xlZXBEaXNhYmxlci5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNsZWVwRGlzYWJsZXIubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxNEQzMDQ1MjRCNEMzQkEwMDQ4MDM4NyAv
KiBYUENFbmRwb2ludC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFhQQ0VuZHBvaW50Lm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzEzMCw2ICszMTMyLDcgQEAKIAkJCQlFMzk0
QUU2RTIzRjIzMDNFMDA1QjQ5MzYgLyogR3JhbnRBY2Nlc3NUb01vYmlsZUFzc2V0cy5tbSAqLywK
IAkJCQlFMzRBNkQxODI0MTJERTM5MDAxMkFCNkUgLyogR3JhbnRBY2Nlc3NUb1ByZWZlcmVuY2Vz
U2VydmljZS5tbSAqLywKIAkJCQlFMzVCOTA4MTIzRjYwREQwMDAwMDExRkYgLyogTG9jYWxpemVk
RGV2aWNlTW9kZWwubW0gKi8sCisJCQkJQzEwNEJDMUUyNTQ3MjM3MTAwQzA3OEM5IC8qIE92ZXJy
aWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tICovLAogCQkJCUUzMjVDOTA2MjNFMzg3MDIw
MEJDN0QzQiAvKiBQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydC5tbSAqLywKIAkJCQlDMTVDQkIzRTIz
RkIxNzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gKi8sCiAJCQkJQzE0OUQ1NEYy
NDJFOTg0NDAwM0VCQjEyIC8qIFNsZWVwRGlzYWJsZXIubW0gKi8sCkBAIC01MzEwLDYgKzUzMTMs
NyBAQAogCQkJCTdDQ0U3RjI1MUE0MTFBRjYwMDQ0N0M0QyAvKiBPcGVuQW5kQ2xvc2VXaW5kb3cu
bW0gaW4gU291cmNlcyAqLywKIAkJCQkxQ0IyRjI3QzI0Rjg4Mzc5MDAwQTVCQzEgLyogT3J0aG9n
b25hbEZsb3dBdmFpbGFibGVTaXplLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYzNDA3NzYyMzAz
N0ZEQzAwNjBBMUEwIC8qIE92ZXJmbG93U2Nyb2xsVmlld1Rlc3RzLm1tIGluIFNvdXJjZXMgKi8s
CisJCQkJQzEwNEJDMUYyNTQ3MjM3MTAwQzA3OEM5IC8qIE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQ
cmVmZXJlbmNlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0VCQ0ExMkYxRTNBNjYwMTAwQzczMjkz
IC8qIE92ZXJyaWRlQ29udGVudFNlY3VyaXR5UG9saWN5Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MkRBMjU4NkYyMjVDNjdEQzAwQjQ1QzFDIC8qIE92ZXJyaWRlVmlld3BvcnRBcmd1bWVudHMubW0g
aW4gU291cmNlcyAqLywKIAkJCQk3Q0NCNERBOTFDODNBRTczMDBDQzY5MTggLyogUGFnZUdyb3Vw
LmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvQWNjZXNzaWJpbGl0eVJlZHVjZU1vdGlvbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9BY2Nlc3NpYmlsaXR5UmVkdWNlTW90aW9uLm1tCShyZXZp
c2lvbiAyNjg4MjUpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9BY2Nlc3Np
YmlsaXR5UmVkdWNlTW90aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAK
ICNpbXBvcnQgImNvbmZpZy5oIgogCi0jaWYgV0tfSEFWRV9DX1NQSQorI2lmIFdLX0hBVkVfQ19T
UEkgJiYgRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCiAKICNpbXBvcnQgIlBsYXRmb3JtVXRp
bGl0aWVzLmgiCiAjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCkluZGV4OiBUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9FbmFibGVBY2Nlc3NpYmlsaXR5Lm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0VuYWJsZUFjY2Vzc2liaWxpdHkubW0J
KHJldmlzaW9uIDI2ODgyNSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0Vu
YWJsZUFjY2Vzc2liaWxpdHkubW0JKHdvcmtpbmcgY29weSkKQEAgLTc2LDYgKzc2LDcgQEAgVEVT
VChXZWJLaXQsIEFjY2Vzc2liaWxpdHlIYXNQcmVmZXJlbmNlcwogICAgIFtOU0FwcCBhY2Nlc3Np
YmlsaXR5U2V0RW5oYW5jZWRVc2VySW50ZXJmYWNlQXR0cmlidXRlOkAoTk8pXTsKIH0KIAorI2lm
IEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogVEVTVChXZWJLaXQsIEFjY2Vzc2liaWxpdHlI
YXNOb1ByZWZlcmVuY2VzU2VydmljZUFjY2Vzc1doZW5Qb3N0aW5nTm90aWZpY2F0aW9uKQogewog
ICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9u
IGFsbG9jXSBpbml0XSk7CkBAIC05NSw2ICs5Niw3IEBAIFRFU1QoV2ViS2l0LCBBY2Nlc3NpYmls
aXR5SGFzTm9QcmVmZXJlbmMKIAogICAgIEFTU0VSVF9UUlVFKCFzYW5kYm94QWNjZXNzKCkpOwog
fQorI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogVEVTVChXZWJLaXQsIEFjY2Vz
c2liaWxpdHlIYXNGcm9udGJvYXJkU2VydmljZUFjY2VzcykKSW5kZXg6IFRvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBw
bGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tCShub25leGlzdGVudCkKKysrIFRvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25m
aWcuaCIKKworI2lmIFdLX0hBVkVfQ19TUEkKKworI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMu
aCIKKyNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKworVEVTVChXZWJLaXQsIE92ZXJyaWRlQXBw
bGVMYW5ndWFnZXNQcmVmZXJlbmNlKQoreworICAgIE5TRGljdGlvbmFyeSAqZGljdCA9IEB7Cisg
ICAgICAgIEAiQXBwbGVMYW5ndWFnZXMiOiBAWyBAImVuLUdCIiBdLAorICAgIH07CisKKyAgICBb
W05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRWb2xhdGlsZURvbWFpbjpk
aWN0IGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24g
PSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIFdL
UmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0soVGVzdFdlYktpdEFQSTo6
VXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVjdGVkQnVuZGxlVGVzdCgiSW50ZXJuYWxzSW5qZWN0
ZWRCdW5kbGVUZXN0IikpOworICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkucHJvY2Vzc1Bvb2wgPSAo
V0tQcm9jZXNzUG9vbCAqKWNvbnRleHQuZ2V0KCk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHRO
UyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAz
MDAsIDMwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpIGFkZFRvV2luZG93OllF
U10pOworCisgICAgYXV0byBwcmVmZXJyZWRMYW5ndWFnZSA9IFsmXSB7CisgICAgICAgIHJldHVy
biBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAid2luZG93LmludGVybmFs
cy51c2VyUHJlZmVycmVkTGFuZ3VhZ2VzKClbMF0iXTsKKyAgICB9OworCisgICAgQVNTRVJUX1RS
VUUoW3ByZWZlcnJlZExhbmd1YWdlKCkgaXNFcXVhbDpAImVuLWdiIl0pOworfQorCisjZW5kaWYg
Ly8gV0tfSEFWRV9DX1NQSQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
UHJlZmVyZW5jZUNoYW5nZXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQvUHJlZmVyZW5jZUNoYW5nZXMubW0JKHJldmlzaW9uIDI2ODgyNSkKKysrIFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1ByZWZlcmVuY2VDaGFuZ2VzLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zODEsNiArMzgxLDcgQEAgVEVTVChXZWJLaXQsIFByZWZlcmVuY2VDaGFu
Z2VzTmlsKQogICAgIENMRUFSX0RFRkFVTFRTKCk7CiB9CiAKKyNpZiBFTkFCTEUoQ0ZQUkVGU19E
SVJFQ1RfTU9ERSkKIHN0YXRpYyBJTVAgc2hhcmVkSW5zdGFuY2VNZXRob2RPcmlnaW5hbCA9IG5p
bDsKIHN0YXRpYyBib29sIHNoYXJlZEluc3RhbmNlQ2FsbGVkID0gZmFsc2U7CiAKQEAgLTQxMCw1
ICs0MTEsNiBAQCBURVNUKFdlYktpdCwgUHJlZmVyZW5jZU9ic2VydmVyU3RhcnRlZE9uCiAKICAg
ICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJnNoYXJlZEluc3RhbmNlQ2FsbGVkKTsKIH0KKyNl
bmRpZgogCiAjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412645</attachid>
            <date>2020-10-29 07:28:51 -0700</date>
            <delta_ts>2020-10-29 08:15:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218097-20201029072850.patch</filename>
            <type>text/plain</type>
            <size>16638</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IGVtcHR5LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09CkluZGV4OiBTb3VyY2UvV1RGL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwkocmV2aXNpb24gMjY5MDM4KQorKysg
U291cmNlL1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAy
MC0xMC0yNyAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAg
W21hY09TXSBTZXQgcHJlZmVyZW5jZSBmb3Igb3ZlcnJpZGRlbiBsYW5ndWFnZXMgaW4gdGhlIFdl
YkNvbnRlbnQgcHJvY2VzcyBhZnRlciBlbnRlcmluZyB0aGUgc2FuZGJveC4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODA5NworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERpc2FibGUgQ0ZQcmVmcyBkaXJl
Y3QgbW9kZSBmb3Igb2xkZXIgdmVyc2lvbnMgb2YgbWFjT1MuIEluIHByYWN0aWNlLCBpdCB3YXMg
YWxyZWFkeSBkaXNhYmxlZCBzaW5jZSBhIG1hY2ggY29ubmVjdGlvbiB0byBjZnByZWZzZAorICAg
ICAgICB3YXMgZXN0YWJsaXNoZWQgYmVmb3JlIGVudGVyaW5nIHRoZSBzYW5kYm94IG9uIG9sZGVy
IHZlcnNpb25zIG9uIG1hY09TLCBidXQgdGhhdCBpcyBmaXhlZCBpbiB0aGlzIHBhdGNoLgorCisg
ICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKwogMjAyMC0xMC0xNSAgVGFkZXUg
WmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNvbT4KIAogICAgICAgICBTaWduIE1hY3JvQXNzZW1i
bGVyOjpqdW1wc1RvTGluawpJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2Nv
YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaAko
cmV2aXNpb24gMjY4ODI1KQorKysgU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDMsNyArMTAzLDcgQEAKICNkZWZpbmUgRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORyAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9DRlBSRUZTX0RJ
UkVDVF9NT0RFKQorI2lmICFkZWZpbmVkKEVOQUJMRV9DRlBSRUZTX0RJUkVDVF9NT0RFKSAmJiAo
UExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkKICNkZWZpbmUgRU5BQkxFX0NGUFJFRlNfRElSRUNU
X01PREUgMQogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjkwMzgpCisrKyBTb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDIw
LTEwLTI3ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBb
bWFjT1NdIFNldCBwcmVmZXJlbmNlIGZvciBvdmVycmlkZGVuIGxhbmd1YWdlcyBpbiB0aGUgV2Vi
Q29udGVudCBwcm9jZXNzIGFmdGVyIGVudGVyaW5nIHRoZSBzYW5kYm94LgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MDk3CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS83MDU4NjU0NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDdXJyZW50bHksIHRoZSBwcmVmZXJlbmNlIGZvciBvdmVycmlkZGVuIGxh
bmd1YWdlcyBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGlzIHNldCBiZWZvcmUgZW50ZXJpbmcg
dGhlIHNhbmRib3gsCisgICAgICAgIHdoaWNoIGxlYXZlcyBiZWhpbmQgYW4gb3BlbiBjb25uZWN0
aW9uIHRvIG9wZW5kaXJlY3RvcnlkLiBUaGlzIHByZWZlcmVuY2Ugc2hvdWxkIGJlIHNldCBhZnRl
ciBlbnRlcmluZyB0aGUKKyAgICAgICAgc2FuZGJveCB0byBhdm9pZCB0aGlzLiBUaGlzIHBhdGNo
IHNldHMgdGhlIHByZWZlcmVuY2UgYWZ0ZXIgdGhlIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGhh
cyBiZWVuIGV4ZWN1dGVkLgorCisgICAgICAgIEFQSSB0ZXN0OiBXZWJLaXQuT3ZlcnJpZGVBcHBs
ZUxhbmd1YWdlc1ByZWZlcmVuY2UKKworICAgICAgICAqIFNoYXJlZC9FbnRyeVBvaW50VXRpbGl0
aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4ubW06CisgICAgICAgIChXZWJLaXQ6
OnNldEFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZSk6CisgICAgICAgIChXZWJLaXQ6OlhQQ1NlcnZp
Y2VFdmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViS2l0OjpYUENTZXJ2aWNlTWFpbik6CisKIDIw
MjAtMTAtMjcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFdlYkRyaXZlcjogc2VxdWVuY2Ugb2YgY2hhciBrZXkgcHJlc3MgaXMgbm90IHN1cHBv
cnRlZApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2Nv
YS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNl
TWFpbi5tbQkocmV2aXNpb24gMjY4ODI1KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQ
b2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0zOSw2ICszOSwyNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorc3RhdGlj
IHZvaWQgc2V0QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKCkKK3sKKyAgICBhdXRvIGJvb3RzdHJh
cCA9IGFkb3B0T1NPYmplY3QoeHBjX2NvcHlfYm9vdHN0cmFwKCkpOworICAgIGlmICghYm9vdHN0
cmFwKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoeHBjX29iamVjdF90IGxhbmd1YWdlcyA9
IHhwY19kaWN0aW9uYXJ5X2dldF92YWx1ZShib290c3RyYXAuZ2V0KCksICJPdmVycmlkZUxhbmd1
YWdlcyIpKSB7CisgICAgICAgIEBhdXRvcmVsZWFzZXBvb2wgeworICAgICAgICAgICAgTlNEaWN0
aW9uYXJ5ICpleGlzdGluZ0FyZ3VtZW50cyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2Vy
RGVmYXVsdHNdIHZvbGF0aWxlRG9tYWluRm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKKyAgICAg
ICAgICAgIE5TTXV0YWJsZURpY3Rpb25hcnkgKm5ld0FyZ3VtZW50cyA9IFtleGlzdGluZ0FyZ3Vt
ZW50cyBtdXRhYmxlQ29weV07CisgICAgICAgICAgICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+
IG5ld0xhbmd1YWdlcyA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOwor
ICAgICAgICAgICAgeHBjX2FycmF5X2FwcGx5KGxhbmd1YWdlcywgXihzaXplX3QgaW5kZXgsIHhw
Y19vYmplY3RfdCB2YWx1ZSkgeworICAgICAgICAgICAgICAgIFtuZXdMYW5ndWFnZXMgYWRkT2Jq
ZWN0OltOU1N0cmluZyBzdHJpbmdXaXRoQ1N0cmluZzp4cGNfc3RyaW5nX2dldF9zdHJpbmdfcHRy
KHZhbHVlKSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ11dOworICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBbbmV3QXJndW1lbnRz
IHNldFZhbHVlOm5ld0xhbmd1YWdlcy5nZXQoKSBmb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOwor
ICAgICAgICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9s
YXRpbGVEb21haW46bmV3QXJndW1lbnRzIGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisgICAg
ICAgIH0KKyAgICB9Cit9CisKIHN0YXRpYyB2b2lkIFhQQ1NlcnZpY2VFdmVudEhhbmRsZXIoeHBj
X2Nvbm5lY3Rpb25fdCBwZWVyKQogewogICAgIHN0YXRpYyB4cGNfb2JqZWN0X3QgcHJpb3JpdHlC
b29zdE1lc3NhZ2UgPSBudWxscHRyOwpAQCAtOTgsNiArMTE5LDggQEAgc3RhdGljIHZvaWQgWFBD
U2VydmljZUV2ZW50SGFuZGxlcih4cGNfYwogCiAgICAgICAgICAgICAgICAgZGlzcGF0Y2hfc3lu
YyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBeewogICAgICAgICAgICAgICAgICAgICBpbml0
aWFsaXplckZ1bmN0aW9uUHRyKHBlZXIsIGV2ZW50LCBwcmlvcml0eUJvb3N0TWVzc2FnZSk7CisK
KyAgICAgICAgICAgICAgICAgICAgc2V0QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKCk7CiAgICAg
ICAgICAgICAgICAgfSk7CiAKICAgICAgICAgICAgICAgICBpZiAocHJpb3JpdHlCb29zdE1lc3Nh
Z2UpCkBAIC0xNDQsMTUgKzE2NywxNSBAQCBpbnQgWFBDU2VydmljZU1haW4oaW50IGFyZ2MsIGNv
bnN0IGNoYXIqCiAjZW5kaWYKIAogICAgIGF1dG8gYm9vdHN0cmFwID0gYWRvcHRPU09iamVjdCh4
cGNfY29weV9ib290c3RyYXAoKSk7Ci0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBhdXRv
IGNvbnRhaW5lckVudmlyb25tZW50VmFyaWFibGVzID0geHBjX2RpY3Rpb25hcnlfZ2V0X3ZhbHVl
KGJvb3RzdHJhcC5nZXQoKSwgIkNvbnRhaW5lckVudmlyb25tZW50VmFyaWFibGVzIik7Ci0gICAg
eHBjX2RpY3Rpb25hcnlfYXBwbHkoY29udGFpbmVyRW52aXJvbm1lbnRWYXJpYWJsZXMsIF4oY29u
c3QgY2hhciAqa2V5LCB4cGNfb2JqZWN0X3QgdmFsdWUpIHsKLSAgICAgICAgc2V0ZW52KGtleSwg
eHBjX3N0cmluZ19nZXRfc3RyaW5nX3B0cih2YWx1ZSksIDEpOwotICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICB9KTsKLSNlbmRpZgogCiAgICAgaWYgKGJvb3RzdHJhcCkgeworI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCisgICAgICAgIGF1dG8gY29udGFpbmVyRW52aXJvbm1lbnRWYXJpYWJsZXMg
PSB4cGNfZGljdGlvbmFyeV9nZXRfdmFsdWUoYm9vdHN0cmFwLmdldCgpLCAiQ29udGFpbmVyRW52
aXJvbm1lbnRWYXJpYWJsZXMiKTsKKyAgICAgICAgeHBjX2RpY3Rpb25hcnlfYXBwbHkoY29udGFp
bmVyRW52aXJvbm1lbnRWYXJpYWJsZXMsIF4oY29uc3QgY2hhciAqa2V5LCB4cGNfb2JqZWN0X3Qg
dmFsdWUpIHsKKyAgICAgICAgICAgIHNldGVudihrZXksIHhwY19zdHJpbmdfZ2V0X3N0cmluZ19w
dHIodmFsdWUpLCAxKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9KTsKKyNl
bmRpZgogI2lmIFBMQVRGT1JNKE1BQykKICNpZiBBU0FOX0VOQUJMRUQKICAgICAgICAgLy8gRVhD
X1JFU09VUkNFIG9uIEFTQU4gYnVpbGRzIGZyZWV6ZXMgdGhlIHByb2Nlc3MgZm9yIHNldmVyYWwg
bWludXRlczogcmRhcjovLzY1MDI3NTk2CkBAIC0xNzUsMjAgKzE5OCw2IEBAIGludCBYUENTZXJ2
aWNlTWFpbihpbnQgYXJnYywgY29uc3QgY2hhcioKICAgICAgICAgICAgIGNyYXNoRHVlV2ViS2l0
RnJhbWV3b3JrVmVyc2lvbk1pc21hdGNoKCk7CiAgICAgICAgIH0KICNlbmRpZgotCi0gICAgICAg
IGlmICh4cGNfb2JqZWN0X3QgbGFuZ3VhZ2VzID0geHBjX2RpY3Rpb25hcnlfZ2V0X3ZhbHVlKGJv
b3RzdHJhcC5nZXQoKSwgIk92ZXJyaWRlTGFuZ3VhZ2VzIikpIHsKLSAgICAgICAgICAgIEBhdXRv
cmVsZWFzZXBvb2wgewotICAgICAgICAgICAgICAgIE5TRGljdGlvbmFyeSAqZXhpc3RpbmdBcmd1
bWVudHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2b2xhdGlsZURv
bWFpbkZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07Ci0gICAgICAgICAgICAgICAgTlNNdXRhYmxl
RGljdGlvbmFyeSAqbmV3QXJndW1lbnRzID0gW2V4aXN0aW5nQXJndW1lbnRzIG11dGFibGVDb3B5
XTsKLSAgICAgICAgICAgICAgICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+IG5ld0xhbmd1YWdl
cyA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOwotICAgICAgICAgICAg
ICAgIHhwY19hcnJheV9hcHBseShsYW5ndWFnZXMsIF4oc2l6ZV90IGluZGV4LCB4cGNfb2JqZWN0
X3QgdmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgW25ld0xhbmd1YWdlcyBhZGRPYmplY3Q6
W05TU3RyaW5nIHN0cmluZ1dpdGhDU3RyaW5nOnhwY19zdHJpbmdfZ2V0X3N0cmluZ19wdHIodmFs
dWUpIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXV07Ci0gICAgICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIFtuZXdB
cmd1bWVudHMgc2V0VmFsdWU6bmV3TGFuZ3VhZ2VzLmdldCgpIGZvcktleTpAIkFwcGxlTGFuZ3Vh
Z2VzIl07Ci0gICAgICAgICAgICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZh
dWx0c10gc2V0Vm9sYXRpbGVEb21haW46bmV3QXJndW1lbnRzIGZvck5hbWU6TlNBcmd1bWVudERv
bWFpbl07Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KICAgICB9CiAKICNpZiBQTEFURk9STShN
QUMpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Mu
c2IuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5X
ZWJQcm9jZXNzLnNiLmluCShyZXZpc2lvbiAyNjg4MjUpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4JKHdvcmtpbmcgY29weSkKQEAgLTQ3MCw2
ICs0NzAsMTQgQEAKICkKICNlbmRpZgogCisjaWYgIUVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RF
KQorKGFsbG93IG1hY2gtbG9va3VwCisgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuY2ZwcmVm
c2QuYWdlbnQiKQorICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmNmcHJlZnNkLmRhZW1vbiIp
CispCisjZW5kaWYKKworCiA7OyBVdGlsaXR5IGZ1bmN0aW9ucyBmb3IgaG9tZSBkaXJlY3Rvcnkg
cmVsYXRpdmUgcGF0aCBmaWx0ZXJzCiAoZGVmaW5lIChob21lLXJlZ2V4IGhvbWUtcmVsYXRpdmUt
cmVnZXgpCiAgIChyZWdleCAoc3RyaW5nLWFwcGVuZCAiXiIgKHJlZ2V4LXF1b3RlIChwYXJhbSAi
SE9NRV9ESVIiKSkgaG9tZS1yZWxhdGl2ZS1yZWdleCkpKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjY5MDM4KQorKysgVG9v
bHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMTAtMjcg
IFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10g
U2V0IHByZWZlcmVuY2UgZm9yIG92ZXJyaWRkZW4gbGFuZ3VhZ2VzIGluIHRoZSBXZWJDb250ZW50
IHByb2Nlc3MgYWZ0ZXIgZW50ZXJpbmcgdGhlIHNhbmRib3guCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTgwOTcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tOiBBZGRlZC4KKyAg
ICAgICAgKFRFU1QpOgorCiAyMDIwLTEwLTI2ICBGZWRlcmljbyBCdWNjaGkgIDxmYnVjY2hpQGFw
cGxlLmNvbT4KIAogICAgICAgICBBZGQgRmVkZXJpY28gQnVjY2hpIHRvIGxpc3Qgb2YgV2ViS2l0
IGNvbnRyaWJ1dG9ycwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI2ODgy
NSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC05MzksNiArOTM5LDcgQEAKIAkJQzBBREJFOTYx
MkZDQTc5QjAwRDJDMTI5IC8qIHNpbXBsZS1mb3JtLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBBREJFODQxMkZDQTZCNjAwRDJDMTI5
IC8qIHNpbXBsZS1mb3JtLmh0bWwgKi87IH07CiAJCUMwQkQ2NjlGMTMxRDNDRkYwMEUxOEYyQSAv
KiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5X0J1bmRsZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEJENjY5RTEzMUQzQ0ZGMDBF
MThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseV9CdW5kbGUuY3BwICov
OyB9OwogCQlDMEM1RDNDNjE0NTk5MTI5MDBBODAyQTYgLyogR2V0QmFja2luZ1NjYWxlRmFjdG9y
X0J1bmRsZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEMwQzVEM0JEMTQ1OThCNkYwMEE4MDJBNiAvKiBHZXRCYWNraW5nU2NhbGVGYWN0b3JfQnVuZGxl
Lm1tICovOyB9OworCQlDMTA0QkMxRjI1NDcyMzcxMDBDMDc4QzkgLyogT3ZlcnJpZGVBcHBsZUxh
bmd1YWdlc1ByZWZlcmVuY2UubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDMTA0QkMxRTI1NDcyMzcxMDBDMDc4QzkgLyogT3ZlcnJpZGVBcHBsZUxhbmd1
YWdlc1ByZWZlcmVuY2UubW0gKi87IH07CiAJCUMxM0Q4MkQ5MjQxNkYxMzIwMEE2Mjc5MyAvKiBF
bmFibGVBY2Nlc3NpYmlsaXR5Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQzEzRDgyRDgyNDE2RjEzMjAwQTYyNzkzIC8qIEVuYWJsZUFjY2Vzc2liaWxp
dHkubW0gKi87IH07CiAJCUMxNDlENTUwMjQyRTk4REYwMDNFQkIxMiAvKiBTbGVlcERpc2FibGVy
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE0OUQ1
NEYyNDJFOTg0NDAwM0VCQjEyIC8qIFNsZWVwRGlzYWJsZXIubW0gKi87IH07CiAJCUMxNEQzMDQ2
MjRCNEMzQkEwMDQ4MDM4NyAvKiBYUENFbmRwb2ludC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxNEQzMDQ1MjRCNEMzQkEwMDQ4MDM4NyAvKiBYUENF
bmRwb2ludC5tbSAqLzsgfTsKQEAgLTI2MzIsNiArMjYzMyw3IEBACiAJCUMwQkQ2NjlFMTMxRDND
RkYwMEUxOEYyQSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5X0J1bmRsZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNwb25zaXZlbmVzc1Rp
bWVyRG9lc250RmlyZUVhcmx5X0J1bmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUMwQzVEM0JDMTQ1OThCNkYwMEE4MDJBNiAvKiBHZXRCYWNraW5nU2NhbGVGYWN0b3IubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBHZXRCYWNraW5nU2NhbGVG
YWN0b3IubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMwQzVEM0JEMTQ1OThCNkYw
MEE4MDJBNiAvKiBHZXRCYWNraW5nU2NhbGVGYWN0b3JfQnVuZGxlLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gR2V0QmFja2luZ1NjYWxlRmFjdG9yX0J1bmRsZS5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzEwNEJDMUUyNTQ3MjM3MTAwQzA3OEM5
IC8qIE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUMxM0Q4MkQ4MjQxNkYxMzIwMEE2Mjc5MyAvKiBFbmFibGVBY2Nlc3Np
YmlsaXR5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRW5hYmxlQWNjZXNzaWJpbGl0eS5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzE0OUQ1NEYyNDJFOTg0NDAwM0VCQjEyIC8q
IFNsZWVwRGlzYWJsZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBTbGVlcERpc2FibGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMTREMzA0
NTI0QjRDM0JBMDA0ODAzODcgLyogWFBDRW5kcG9pbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBYUENFbmRwb2ludC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMxMzAsNiAr
MzEzMiw3IEBACiAJCQkJRTM5NEFFNkUyM0YyMzAzRTAwNUI0OTM2IC8qIEdyYW50QWNjZXNzVG9N
b2JpbGVBc3NldHMubW0gKi8sCiAJCQkJRTM0QTZEMTgyNDEyREUzOTAwMTJBQjZFIC8qIEdyYW50
QWNjZXNzVG9QcmVmZXJlbmNlc1NlcnZpY2UubW0gKi8sCiAJCQkJRTM1QjkwODEyM0Y2MEREMDAw
MDAxMUZGIC8qIExvY2FsaXplZERldmljZU1vZGVsLm1tICovLAorCQkJCUMxMDRCQzFFMjU0NzIz
NzEwMEMwNzhDOSAvKiBPdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbSAqLywKIAkJ
CQlFMzI1QzkwNjIzRTM4NzAyMDBCQzdEM0IgLyogUGljdHVyZUluUGljdHVyZVN1cHBvcnQubW0g
Ki8sCiAJCQkJQzE1Q0JCM0UyM0ZCMTc3QTAwMzAwQ0M3IC8qIFByZWZlcmVuY2VDaGFuZ2VzLm1t
ICovLAogCQkJCUMxNDlENTRGMjQyRTk4NDQwMDNFQkIxMiAvKiBTbGVlcERpc2FibGVyLm1tICov
LApAQCAtNTMxMCw2ICs1MzEzLDcgQEAKIAkJCQk3Q0NFN0YyNTFBNDExQUY2MDA0NDdDNEMgLyog
T3BlbkFuZENsb3NlV2luZG93Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUNCMkYyN0MyNEY4ODM3
OTAwMEE1QkMxIC8qIE9ydGhvZ29uYWxGbG93QXZhaWxhYmxlU2l6ZS5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTBGMzQwNzc2MjMwMzdGREMwMDYwQTFBMCAvKiBPdmVyZmxvd1Njcm9sbFZpZXdUZXN0
cy5tbSBpbiBTb3VyY2VzICovLAorCQkJCUMxMDRCQzFGMjU0NzIzNzEwMEMwNzhDOSAvKiBPdmVy
cmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNFQkNB
MTJGMUUzQTY2MDEwMEM3MzI5MyAvKiBPdmVycmlkZUNvbnRlbnRTZWN1cml0eVBvbGljeS5tbSBp
biBTb3VyY2VzICovLAogCQkJCTJEQTI1ODZGMjI1QzY3REMwMEI0NUMxQyAvKiBPdmVycmlkZVZp
ZXdwb3J0QXJndW1lbnRzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDQjREQTkxQzgzQUU3MzAw
Q0M2OTE4IC8qIFBhZ2VHcm91cC5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0FjY2Vzc2liaWxpdHlSZWR1Y2VNb3Rpb24ubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQWNjZXNzaWJpbGl0eVJl
ZHVjZU1vdGlvbi5tbQkocmV2aXNpb24gMjY4ODI1KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQvQWNjZXNzaWJpbGl0eVJlZHVjZU1vdGlvbi5tbQkod29ya2luZyBjb3B5KQpA
QCAtMjUsNyArMjUsNyBAQAogCiAjaW1wb3J0ICJjb25maWcuaCIKIAotI2lmIFdLX0hBVkVfQ19T
UEkKKyNpZiBXS19IQVZFX0NfU1BJICYmIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogCiAj
aW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgogI2ltcG9ydCAiVGVzdFdLV2ViVmlldy5oIgpJ
bmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRW5hYmxlQWNjZXNzaWJpbGl0
eS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9FbmFi
bGVBY2Nlc3NpYmlsaXR5Lm1tCShyZXZpc2lvbiAyNjg4MjUpCisrKyBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9FbmFibGVBY2Nlc3NpYmlsaXR5Lm1tCSh3b3JraW5nIGNvcHkpCkBA
IC03Niw2ICs3Niw3IEBAIFRFU1QoV2ViS2l0LCBBY2Nlc3NpYmlsaXR5SGFzUHJlZmVyZW5jZXMK
ICAgICBbTlNBcHAgYWNjZXNzaWJpbGl0eVNldEVuaGFuY2VkVXNlckludGVyZmFjZUF0dHJpYnV0
ZTpAKE5PKV07CiB9CiAKKyNpZiBFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKIFRFU1QoV2Vi
S2l0LCBBY2Nlc3NpYmlsaXR5SGFzTm9QcmVmZXJlbmNlc1NlcnZpY2VBY2Nlc3NXaGVuUG9zdGlu
Z05vdGlmaWNhdGlvbikKIHsKICAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwpAQCAtOTUsNiArOTYsNyBAQCBURVNU
KFdlYktpdCwgQWNjZXNzaWJpbGl0eUhhc05vUHJlZmVyZW5jCiAKICAgICBBU1NFUlRfVFJVRSgh
c2FuZGJveEFjY2VzcygpKTsKIH0KKyNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
IFRFU1QoV2ViS2l0LCBBY2Nlc3NpYmlsaXR5SGFzRnJvbnRib2FyZFNlcnZpY2VBY2Nlc3MpCklu
ZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9PdmVycmlkZUFwcGxlTGFuZ3Vh
Z2VzUHJlZmVyZW5jZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9PdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbQkobm9uZXhpc3RlbnQp
CisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9PdmVycmlkZUFwcGxlTGFuZ3Vh
Z2VzUHJlZmVyZW5jZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUzIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNpZiBXS19IQVZFX0NfU1BJCisKKyNpbXBvcnQg
IlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCisKK1RFU1Qo
V2ViS2l0LCBPdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZSkKK3sKKyAgICBOU0RpY3Rp
b25hcnkgKmRpY3QgPSBAeworICAgICAgICBAIkFwcGxlTGFuZ3VhZ2VzIjogQFsgQCJlcy1FUyIg
XSwKKyAgICB9OworCisgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10g
c2V0Vm9sYXRpbGVEb21haW46ZGljdCBmb3JOYW1lOk5TQXJndW1lbnREb21haW5dOworCisgICAg
YXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxs
b2NdIGluaXRdKTsKKyAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQgPSBhZG9w
dFdLKFRlc3RXZWJLaXRBUEk6OlV0aWw6OmNyZWF0ZUNvbnRleHRGb3JJbmplY3RlZEJ1bmRsZVRl
c3QoIkludGVybmFsc0luamVjdGVkQnVuZGxlVGVzdCIpKTsKKyAgICBjb25maWd1cmF0aW9uLmdl
dCgpLnByb2Nlc3NQb29sID0gKFdLUHJvY2Vzc1Bvb2wgKiljb250ZXh0LmdldCgpOworICAgIGF1
dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1l
Ok5TTWFrZVJlY3QoMCwgMCwgMzAwLCAzMDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5n
ZXQoKSBhZGRUb1dpbmRvdzpZRVNdKTsKKworICAgIGF1dG8gcHJlZmVycmVkTGFuZ3VhZ2UgPSBb
Jl0geworICAgICAgICByZXR1cm4gW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlw
dDpAIndpbmRvdy5pbnRlcm5hbHMudXNlclByZWZlcnJlZExhbmd1YWdlcygpWzBdIl07CisgICAg
fTsKKworICAgIEFTU0VSVF9UUlVFKFtwcmVmZXJyZWRMYW5ndWFnZSgpIGlzRXF1YWw6QCJlbi1n
YiJdKTsKK30KKworI2VuZGlmIC8vIFdLX0hBVkVfQ19TUEkKSW5kZXg6IFRvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0L1ByZWZlcmVuY2VDaGFuZ2VzLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1ByZWZlcmVuY2VDaGFuZ2VzLm1tCShyZXZp
c2lvbiAyNjg4MjUpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9QcmVmZXJl
bmNlQ2hhbmdlcy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzgxLDYgKzM4MSw3IEBAIFRFU1QoV2Vi
S2l0LCBQcmVmZXJlbmNlQ2hhbmdlc05pbCkKICAgICBDTEVBUl9ERUZBVUxUUygpOwogfQogCisj
aWYgRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCiBzdGF0aWMgSU1QIHNoYXJlZEluc3RhbmNl
TWV0aG9kT3JpZ2luYWwgPSBuaWw7CiBzdGF0aWMgYm9vbCBzaGFyZWRJbnN0YW5jZUNhbGxlZCA9
IGZhbHNlOwogCkBAIC00MTAsNSArNDExLDYgQEAgVEVTVChXZWJLaXQsIFByZWZlcmVuY2VPYnNl
cnZlclN0YXJ0ZWRPbgogCiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZzaGFyZWRJbnN0
YW5jZUNhbGxlZCk7CiB9CisjZW5kaWYKIAogI2VuZGlmIC8vIFdLX0hBVkVfQ19TUEkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412651</attachid>
            <date>2020-10-29 08:15:18 -0700</date>
            <delta_ts>2020-10-29 09:08:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218097-20201029081518.patch</filename>
            <type>text/plain</type>
            <size>17464</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IGVtcHR5LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09CkluZGV4OiBTb3VyY2UvV1RGL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwkocmV2aXNpb24gMjY5MDM4KQorKysg
U291cmNlL1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAy
MC0xMC0yNyAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAg
W21hY09TXSBTZXQgcHJlZmVyZW5jZSBmb3Igb3ZlcnJpZGRlbiBsYW5ndWFnZXMgaW4gdGhlIFdl
YkNvbnRlbnQgcHJvY2VzcyBhZnRlciBlbnRlcmluZyB0aGUgc2FuZGJveC4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODA5NworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERpc2FibGUgQ0ZQcmVmcyBkaXJl
Y3QgbW9kZSBmb3Igb2xkZXIgdmVyc2lvbnMgb2YgbWFjT1MuIEluIHByYWN0aWNlLCBpdCB3YXMg
YWxyZWFkeSBkaXNhYmxlZCBzaW5jZSBhIG1hY2ggY29ubmVjdGlvbiB0byBjZnByZWZzZAorICAg
ICAgICB3YXMgZXN0YWJsaXNoZWQgYmVmb3JlIGVudGVyaW5nIHRoZSBzYW5kYm94IG9uIG9sZGVy
IHZlcnNpb25zIG9uIG1hY09TLCBidXQgdGhhdCBpcyBmaXhlZCBpbiB0aGlzIHBhdGNoLgorCisg
ICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKwogMjAyMC0xMC0xNSAgVGFkZXUg
WmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNvbT4KIAogICAgICAgICBTaWduIE1hY3JvQXNzZW1i
bGVyOjpqdW1wc1RvTGluawpJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2Nv
YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaAko
cmV2aXNpb24gMjY4ODI1KQorKysgU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDMsNyArMTAzLDcgQEAKICNkZWZpbmUgRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORyAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9DRlBSRUZTX0RJ
UkVDVF9NT0RFKQorI2lmICFkZWZpbmVkKEVOQUJMRV9DRlBSRUZTX0RJUkVDVF9NT0RFKSAmJiAo
UExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkKICNkZWZpbmUgRU5BQkxFX0NGUFJFRlNfRElSRUNU
X01PREUgMQogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjkwMzgpCisrKyBTb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDIw
LTEwLTI3ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBb
bWFjT1NdIFNldCBwcmVmZXJlbmNlIGZvciBvdmVycmlkZGVuIGxhbmd1YWdlcyBpbiB0aGUgV2Vi
Q29udGVudCBwcm9jZXNzIGFmdGVyIGVudGVyaW5nIHRoZSBzYW5kYm94LgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MDk3CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS83MDU4NjU0NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDdXJyZW50bHksIHRoZSBwcmVmZXJlbmNlIGZvciBvdmVycmlkZGVuIGxh
bmd1YWdlcyBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGlzIHNldCBiZWZvcmUgZW50ZXJpbmcg
dGhlIHNhbmRib3gsCisgICAgICAgIHdoaWNoIGxlYXZlcyBiZWhpbmQgYW4gb3BlbiBjb25uZWN0
aW9uIHRvIG9wZW5kaXJlY3RvcnlkLiBUaGlzIHByZWZlcmVuY2Ugc2hvdWxkIGJlIHNldCBhZnRl
ciBlbnRlcmluZyB0aGUKKyAgICAgICAgc2FuZGJveCB0byBhdm9pZCB0aGlzLiBUaGlzIHBhdGNo
IHNldHMgdGhlIHByZWZlcmVuY2UgYWZ0ZXIgdGhlIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGhh
cyBiZWVuIGV4ZWN1dGVkLgorCisgICAgICAgIEFQSSB0ZXN0OiBXZWJLaXQuT3ZlcnJpZGVBcHBs
ZUxhbmd1YWdlc1ByZWZlcmVuY2UKKworICAgICAgICAqIFNoYXJlZC9FbnRyeVBvaW50VXRpbGl0
aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4ubW06CisgICAgICAgIChXZWJLaXQ6
OnNldEFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZSk6CisgICAgICAgIChXZWJLaXQ6OlhQQ1NlcnZp
Y2VFdmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViS2l0OjpYUENTZXJ2aWNlTWFpbik6CisKIDIw
MjAtMTAtMjcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFdlYkRyaXZlcjogc2VxdWVuY2Ugb2YgY2hhciBrZXkgcHJlc3MgaXMgbm90IHN1cHBv
cnRlZApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2Nv
YS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNl
TWFpbi5tbQkocmV2aXNpb24gMjY4ODI1KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQ
b2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0zOSw2ICszOSwyNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorc3RhdGlj
IHZvaWQgc2V0QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKCkKK3sKKyAgICBhdXRvIGJvb3RzdHJh
cCA9IGFkb3B0T1NPYmplY3QoeHBjX2NvcHlfYm9vdHN0cmFwKCkpOworICAgIGlmICghYm9vdHN0
cmFwKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoeHBjX29iamVjdF90IGxhbmd1YWdlcyA9
IHhwY19kaWN0aW9uYXJ5X2dldF92YWx1ZShib290c3RyYXAuZ2V0KCksICJPdmVycmlkZUxhbmd1
YWdlcyIpKSB7CisgICAgICAgIEBhdXRvcmVsZWFzZXBvb2wgeworICAgICAgICAgICAgTlNEaWN0
aW9uYXJ5ICpleGlzdGluZ0FyZ3VtZW50cyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2Vy
RGVmYXVsdHNdIHZvbGF0aWxlRG9tYWluRm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKKyAgICAg
ICAgICAgIE5TTXV0YWJsZURpY3Rpb25hcnkgKm5ld0FyZ3VtZW50cyA9IFtleGlzdGluZ0FyZ3Vt
ZW50cyBtdXRhYmxlQ29weV07CisgICAgICAgICAgICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+
IG5ld0xhbmd1YWdlcyA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOwor
ICAgICAgICAgICAgeHBjX2FycmF5X2FwcGx5KGxhbmd1YWdlcywgXihzaXplX3QgaW5kZXgsIHhw
Y19vYmplY3RfdCB2YWx1ZSkgeworICAgICAgICAgICAgICAgIFtuZXdMYW5ndWFnZXMgYWRkT2Jq
ZWN0OltOU1N0cmluZyBzdHJpbmdXaXRoQ1N0cmluZzp4cGNfc3RyaW5nX2dldF9zdHJpbmdfcHRy
KHZhbHVlKSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ11dOworICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBbbmV3QXJndW1lbnRz
IHNldFZhbHVlOm5ld0xhbmd1YWdlcy5nZXQoKSBmb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOwor
ICAgICAgICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9s
YXRpbGVEb21haW46bmV3QXJndW1lbnRzIGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisgICAg
ICAgIH0KKyAgICB9Cit9CisKIHN0YXRpYyB2b2lkIFhQQ1NlcnZpY2VFdmVudEhhbmRsZXIoeHBj
X2Nvbm5lY3Rpb25fdCBwZWVyKQogewogICAgIHN0YXRpYyB4cGNfb2JqZWN0X3QgcHJpb3JpdHlC
b29zdE1lc3NhZ2UgPSBudWxscHRyOwpAQCAtOTgsNiArMTE5LDggQEAgc3RhdGljIHZvaWQgWFBD
U2VydmljZUV2ZW50SGFuZGxlcih4cGNfYwogCiAgICAgICAgICAgICAgICAgZGlzcGF0Y2hfc3lu
YyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBeewogICAgICAgICAgICAgICAgICAgICBpbml0
aWFsaXplckZ1bmN0aW9uUHRyKHBlZXIsIGV2ZW50LCBwcmlvcml0eUJvb3N0TWVzc2FnZSk7CisK
KyAgICAgICAgICAgICAgICAgICAgc2V0QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKCk7CiAgICAg
ICAgICAgICAgICAgfSk7CiAKICAgICAgICAgICAgICAgICBpZiAocHJpb3JpdHlCb29zdE1lc3Nh
Z2UpCkBAIC0xNDQsMTUgKzE2NywxNSBAQCBpbnQgWFBDU2VydmljZU1haW4oaW50IGFyZ2MsIGNv
bnN0IGNoYXIqCiAjZW5kaWYKIAogICAgIGF1dG8gYm9vdHN0cmFwID0gYWRvcHRPU09iamVjdCh4
cGNfY29weV9ib290c3RyYXAoKSk7Ci0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBhdXRv
IGNvbnRhaW5lckVudmlyb25tZW50VmFyaWFibGVzID0geHBjX2RpY3Rpb25hcnlfZ2V0X3ZhbHVl
KGJvb3RzdHJhcC5nZXQoKSwgIkNvbnRhaW5lckVudmlyb25tZW50VmFyaWFibGVzIik7Ci0gICAg
eHBjX2RpY3Rpb25hcnlfYXBwbHkoY29udGFpbmVyRW52aXJvbm1lbnRWYXJpYWJsZXMsIF4oY29u
c3QgY2hhciAqa2V5LCB4cGNfb2JqZWN0X3QgdmFsdWUpIHsKLSAgICAgICAgc2V0ZW52KGtleSwg
eHBjX3N0cmluZ19nZXRfc3RyaW5nX3B0cih2YWx1ZSksIDEpOwotICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICB9KTsKLSNlbmRpZgogCiAgICAgaWYgKGJvb3RzdHJhcCkgeworI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCisgICAgICAgIGF1dG8gY29udGFpbmVyRW52aXJvbm1lbnRWYXJpYWJsZXMg
PSB4cGNfZGljdGlvbmFyeV9nZXRfdmFsdWUoYm9vdHN0cmFwLmdldCgpLCAiQ29udGFpbmVyRW52
aXJvbm1lbnRWYXJpYWJsZXMiKTsKKyAgICAgICAgeHBjX2RpY3Rpb25hcnlfYXBwbHkoY29udGFp
bmVyRW52aXJvbm1lbnRWYXJpYWJsZXMsIF4oY29uc3QgY2hhciAqa2V5LCB4cGNfb2JqZWN0X3Qg
dmFsdWUpIHsKKyAgICAgICAgICAgIHNldGVudihrZXksIHhwY19zdHJpbmdfZ2V0X3N0cmluZ19w
dHIodmFsdWUpLCAxKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9KTsKKyNl
bmRpZgogI2lmIFBMQVRGT1JNKE1BQykKICNpZiBBU0FOX0VOQUJMRUQKICAgICAgICAgLy8gRVhD
X1JFU09VUkNFIG9uIEFTQU4gYnVpbGRzIGZyZWV6ZXMgdGhlIHByb2Nlc3MgZm9yIHNldmVyYWwg
bWludXRlczogcmRhcjovLzY1MDI3NTk2CkBAIC0xNzUsMjAgKzE5OCw2IEBAIGludCBYUENTZXJ2
aWNlTWFpbihpbnQgYXJnYywgY29uc3QgY2hhcioKICAgICAgICAgICAgIGNyYXNoRHVlV2ViS2l0
RnJhbWV3b3JrVmVyc2lvbk1pc21hdGNoKCk7CiAgICAgICAgIH0KICNlbmRpZgotCi0gICAgICAg
IGlmICh4cGNfb2JqZWN0X3QgbGFuZ3VhZ2VzID0geHBjX2RpY3Rpb25hcnlfZ2V0X3ZhbHVlKGJv
b3RzdHJhcC5nZXQoKSwgIk92ZXJyaWRlTGFuZ3VhZ2VzIikpIHsKLSAgICAgICAgICAgIEBhdXRv
cmVsZWFzZXBvb2wgewotICAgICAgICAgICAgICAgIE5TRGljdGlvbmFyeSAqZXhpc3RpbmdBcmd1
bWVudHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2b2xhdGlsZURv
bWFpbkZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07Ci0gICAgICAgICAgICAgICAgTlNNdXRhYmxl
RGljdGlvbmFyeSAqbmV3QXJndW1lbnRzID0gW2V4aXN0aW5nQXJndW1lbnRzIG11dGFibGVDb3B5
XTsKLSAgICAgICAgICAgICAgICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+IG5ld0xhbmd1YWdl
cyA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOwotICAgICAgICAgICAg
ICAgIHhwY19hcnJheV9hcHBseShsYW5ndWFnZXMsIF4oc2l6ZV90IGluZGV4LCB4cGNfb2JqZWN0
X3QgdmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgW25ld0xhbmd1YWdlcyBhZGRPYmplY3Q6
W05TU3RyaW5nIHN0cmluZ1dpdGhDU3RyaW5nOnhwY19zdHJpbmdfZ2V0X3N0cmluZ19wdHIodmFs
dWUpIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXV07Ci0gICAgICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIFtuZXdB
cmd1bWVudHMgc2V0VmFsdWU6bmV3TGFuZ3VhZ2VzLmdldCgpIGZvcktleTpAIkFwcGxlTGFuZ3Vh
Z2VzIl07Ci0gICAgICAgICAgICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZh
dWx0c10gc2V0Vm9sYXRpbGVEb21haW46bmV3QXJndW1lbnRzIGZvck5hbWU6TlNBcmd1bWVudERv
bWFpbl07Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KICAgICB9CiAKICNpZiBQTEFURk9STShN
QUMpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01hYy5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vz
c01hYy5tbQkocmV2aXNpb24gMjY4ODI1KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F1
eGlsaWFyeVByb2Nlc3NNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTY5NCw2ICs2OTQsMTEgQEAg
c3RhdGljIHZvaWQgaW5pdGlhbGl6ZVNhbmRib3hQYXJhbWV0ZXJzKAogCiB2b2lkIEF1eGlsaWFy
eVByb2Nlc3M6OmluaXRpYWxpemVTYW5kYm94KGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFs
aXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIFNhbmRib3hJbml0aWFsaXphdGlvblBhcmFt
ZXRlcnMmIHNhbmRib3hQYXJhbWV0ZXJzKQogeworICAgIGNvbnN0IGNoYXIqIHMgPSAiKHZlcnNp
b24gMSkoZGVueSBkZWZhdWx0KShkZW55IG1hY2gtbG9va3VwICh3aXRoIHNlbmQtc2lnbmFsIFNJ
R1RFUk0pKSI7CisgICAgY2hhciogZXJyb3IgPSBudWxscHRyOworICAgIHNhbmRib3hfcHJvZmls
ZV90IHAgPSBzYW5kYm94X2NvbXBpbGVfc3RyaW5nKHMsIG51bGxwdHIsICZlcnJvcik7CisgICAg
UkVMRUFTRV9BU1NFUlQoIXNhbmRib3hfYXBwbHkocCkpOworCiAgICAgVHJhY2VTY29wZSB0cmFj
ZVNjb3BlKEluaXRpYWxpemVTYW5kYm94U3RhcnQsIEluaXRpYWxpemVTYW5kYm94RW5kKTsKIAog
I2lmIFVTRShDQUNIRV9DT01QSUxFRF9TQU5EQk9YKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbgkocmV2aXNpb24gMjY4
ODI1KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNi
LmluCSh3b3JraW5nIGNvcHkpCkBAIC00NzAsNiArNDcwLDE0IEBACiApCiAjZW5kaWYKIAorI2lm
ICFFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKKyhhbGxvdyBtYWNoLWxvb2t1cAorICAgIChn
bG9iYWwtbmFtZSAiY29tLmFwcGxlLmNmcHJlZnNkLmFnZW50IikKKyAgICAoZ2xvYmFsLW5hbWUg
ImNvbS5hcHBsZS5jZnByZWZzZC5kYWVtb24iKQorKQorI2VuZGlmCisKKwogOzsgVXRpbGl0eSBm
dW5jdGlvbnMgZm9yIGhvbWUgZGlyZWN0b3J5IHJlbGF0aXZlIHBhdGggZmlsdGVycwogKGRlZmlu
ZSAoaG9tZS1yZWdleCBob21lLXJlbGF0aXZlLXJlZ2V4KQogICAocmVnZXggKHN0cmluZy1hcHBl
bmQgIl4iIChyZWdleC1xdW90ZSAocGFyYW0gIkhPTUVfRElSIikpIGhvbWUtcmVsYXRpdmUtcmVn
ZXgpKSkKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDI2OTAzOCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE0IEBACisyMDIwLTEwLTI3ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFw
cGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFNldCBwcmVmZXJlbmNlIGZvciBvdmVycmlkZGVu
IGxhbmd1YWdlcyBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFmdGVyIGVudGVyaW5nIHRoZSBz
YW5kYm94LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE4MDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9PdmVycmlkZUFwcGxlTGFuZ3Vh
Z2VzUHJlZmVyZW5jZS5tbTogQWRkZWQuCisgICAgICAgIChURVNUKToKKwogMjAyMC0xMC0yNiAg
RmVkZXJpY28gQnVjY2hpICA8ZmJ1Y2NoaUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIEZlZGVy
aWNvIEJ1Y2NoaSB0byBsaXN0IG9mIFdlYktpdCBjb250cmlidXRvcnMKSW5kZXg6IFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNjg4MjUpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAt
OTM5LDYgKzkzOSw3IEBACiAJCUMwQURCRTk2MTJGQ0E3OUIwMEQyQzEyOSAvKiBzaW1wbGUtZm9y
bS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEMwQURCRTg0MTJGQ0E2QjYwMEQyQzEyOSAvKiBzaW1wbGUtZm9ybS5odG1sICovOyB9Owog
CQlDMEJENjY5RjEzMUQzQ0ZGMDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZp
cmVFYXJseV9CdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzBCRDY2OUUxMzFEM0NGRjAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJE
b2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCAqLzsgfTsKIAkJQzBDNUQzQzYxNDU5OTEyOTAwQTgw
MkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvcl9CdW5kbGUubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEM1RDNCRDE0NTk4QjZGMDBBODAyQTYgLyog
R2V0QmFja2luZ1NjYWxlRmFjdG9yX0J1bmRsZS5tbSAqLzsgfTsKKwkJQzEwNEJDMUYyNTQ3MjM3
MTAwQzA3OEM5IC8qIE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzEwNEJDMUUyNTQ3MjM3MTAw
QzA3OEM5IC8qIE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tICovOyB9OwogCQlD
MTNEODJEOTI0MTZGMTMyMDBBNjI3OTMgLyogRW5hYmxlQWNjZXNzaWJpbGl0eS5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxM0Q4MkQ4MjQxNkYxMzIw
MEE2Mjc5MyAvKiBFbmFibGVBY2Nlc3NpYmlsaXR5Lm1tICovOyB9OwogCQlDMTQ5RDU1MDI0MkU5
OERGMDAzRUJCMTIgLyogU2xlZXBEaXNhYmxlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxNDlENTRGMjQyRTk4NDQwMDNFQkIxMiAvKiBTbGVlcERp
c2FibGVyLm1tICovOyB9OwogCQlDMTREMzA0NjI0QjRDM0JBMDA0ODAzODcgLyogWFBDRW5kcG9p
bnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTRE
MzA0NTI0QjRDM0JBMDA0ODAzODcgLyogWFBDRW5kcG9pbnQubW0gKi87IH07CkBAIC0yNjMyLDYg
KzI2MzMsNyBAQAogCQlDMEJENjY5RTEzMUQzQ0ZGMDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NU
aW1lckRvZXNudEZpcmVFYXJseV9CdW5kbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseV9CdW5kbGUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMEM1RDNCQzE0NTk4QjZGMDBBODAyQTYg
LyogR2V0QmFja2luZ1NjYWxlRmFjdG9yLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gR2V0QmFja2luZ1NjYWxlRmFjdG9yLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDMEM1RDNCRDE0NTk4QjZGMDBBODAyQTYgLyogR2V0QmFja2luZ1NjYWxlRmFj
dG9yX0J1bmRsZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEdl
dEJhY2tpbmdTY2FsZUZhY3Rvcl9CdW5kbGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUMxMDRCQzFFMjU0NzIzNzEwMEMwNzhDOSAvKiBPdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJl
ZmVyZW5jZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQ
cmVmZXJlbmNlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMTNEODJEODI0MTZG
MTMyMDBBNjI3OTMgLyogRW5hYmxlQWNjZXNzaWJpbGl0eS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IEVuYWJsZUFjY2Vzc2liaWxpdHkubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUMxNDlENTRGMjQyRTk4NDQwMDNFQkIxMiAvKiBTbGVlcERpc2FibGVyLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2xlZXBEaXNhYmxlci5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzE0RDMwNDUyNEI0QzNCQTAwNDgwMzg3IC8qIFhQQ0VuZHBv
aW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gWFBDRW5kcG9pbnQubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0zMTMwLDYgKzMxMzIsNyBAQAogCQkJCUUzOTRBRTZFMjNGMjMw
M0UwMDVCNDkzNiAvKiBHcmFudEFjY2Vzc1RvTW9iaWxlQXNzZXRzLm1tICovLAogCQkJCUUzNEE2
RDE4MjQxMkRFMzkwMDEyQUI2RSAvKiBHcmFudEFjY2Vzc1RvUHJlZmVyZW5jZXNTZXJ2aWNlLm1t
ICovLAogCQkJCUUzNUI5MDgxMjNGNjBERDAwMDAwMTFGRiAvKiBMb2NhbGl6ZWREZXZpY2VNb2Rl
bC5tbSAqLywKKwkJCQlDMTA0QkMxRTI1NDcyMzcxMDBDMDc4QzkgLyogT3ZlcnJpZGVBcHBsZUxh
bmd1YWdlc1ByZWZlcmVuY2UubW0gKi8sCiAJCQkJRTMyNUM5MDYyM0UzODcwMjAwQkM3RDNCIC8q
IFBpY3R1cmVJblBpY3R1cmVTdXBwb3J0Lm1tICovLAogCQkJCUMxNUNCQjNFMjNGQjE3N0EwMDMw
MENDNyAvKiBQcmVmZXJlbmNlQ2hhbmdlcy5tbSAqLywKIAkJCQlDMTQ5RDU0RjI0MkU5ODQ0MDAz
RUJCMTIgLyogU2xlZXBEaXNhYmxlci5tbSAqLywKQEAgLTUzMTAsNiArNTMxMyw3IEBACiAJCQkJ
N0NDRTdGMjUxQTQxMUFGNjAwNDQ3QzRDIC8qIE9wZW5BbmRDbG9zZVdpbmRvdy5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTFDQjJGMjdDMjRGODgzNzkwMDBBNUJDMSAvKiBPcnRob2dvbmFsRmxvd0F2
YWlsYWJsZVNpemUubW0gaW4gU291cmNlcyAqLywKIAkJCQkwRjM0MDc3NjIzMDM3RkRDMDA2MEEx
QTAgLyogT3ZlcmZsb3dTY3JvbGxWaWV3VGVzdHMubW0gaW4gU291cmNlcyAqLywKKwkJCQlDMTA0
QkMxRjI1NDcyMzcxMDBDMDc4QzkgLyogT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2Uu
bW0gaW4gU291cmNlcyAqLywKIAkJCQlDRUJDQTEyRjFFM0E2NjAxMDBDNzMyOTMgLyogT3ZlcnJp
ZGVDb250ZW50U2VjdXJpdHlQb2xpY3kubW0gaW4gU291cmNlcyAqLywKIAkJCQkyREEyNTg2RjIy
NUM2N0RDMDBCNDVDMUMgLyogT3ZlcnJpZGVWaWV3cG9ydEFyZ3VtZW50cy5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTdDQ0I0REE5MUM4M0FFNzMwMENDNjkxOCAvKiBQYWdlR3JvdXAuY3BwIGluIFNv
dXJjZXMgKi8sCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9BY2Nlc3Np
YmlsaXR5UmVkdWNlTW90aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0L0FjY2Vzc2liaWxpdHlSZWR1Y2VNb3Rpb24ubW0JKHJldmlzaW9uIDI2ODgy
NSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0FjY2Vzc2liaWxpdHlSZWR1
Y2VNb3Rpb24ubW0JKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2ltcG9ydCAi
Y29uZmlnLmgiCiAKLSNpZiBXS19IQVZFX0NfU1BJCisjaWYgV0tfSEFWRV9DX1NQSSAmJiBFTkFC
TEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKIAogI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIK
ICNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L0VuYWJsZUFjY2Vzc2liaWxpdHkubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRW5hYmxlQWNjZXNzaWJpbGl0eS5tbQkocmV2aXNpb24g
MjY4ODI1KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRW5hYmxlQWNjZXNz
aWJpbGl0eS5tbQkod29ya2luZyBjb3B5KQpAQCAtNzYsNiArNzYsNyBAQCBURVNUKFdlYktpdCwg
QWNjZXNzaWJpbGl0eUhhc1ByZWZlcmVuY2VzCiAgICAgW05TQXBwIGFjY2Vzc2liaWxpdHlTZXRF
bmhhbmNlZFVzZXJJbnRlcmZhY2VBdHRyaWJ1dGU6QChOTyldOwogfQogCisjaWYgRU5BQkxFKENG
UFJFRlNfRElSRUNUX01PREUpCiBURVNUKFdlYktpdCwgQWNjZXNzaWJpbGl0eUhhc05vUHJlZmVy
ZW5jZXNTZXJ2aWNlQWNjZXNzV2hlblBvc3RpbmdOb3RpZmljYXRpb24pCiB7CiAgICAgYXV0byBj
b25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGlu
aXRdKTsKQEAgLTk1LDYgKzk2LDcgQEAgVEVTVChXZWJLaXQsIEFjY2Vzc2liaWxpdHlIYXNOb1By
ZWZlcmVuYwogCiAgICAgQVNTRVJUX1RSVUUoIXNhbmRib3hBY2Nlc3MoKSk7CiB9CisjZW5kaWYK
IAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiBURVNUKFdlYktpdCwgQWNjZXNzaWJpbGl0eUhh
c0Zyb250Ym9hcmRTZXJ2aWNlQWNjZXNzKQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQvT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3ZlcnJpZGVBcHBsZUxhbmd1YWdl
c1ByZWZlcmVuY2UubW0JKG5vbmV4aXN0ZW50KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQvT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisj
aWYgV0tfSEFWRV9DX1NQSQorCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9y
dCAiVGVzdFdLV2ViVmlldy5oIgorCitURVNUKFdlYktpdCwgT3ZlcnJpZGVBcHBsZUxhbmd1YWdl
c1ByZWZlcmVuY2UpCit7CisgICAgTlNEaWN0aW9uYXJ5ICpkaWN0ID0gQHsKKyAgICAgICAgQCJB
cHBsZUxhbmd1YWdlcyI6IEBbIEAiZW4tR0IiIF0sCisgICAgfTsKKworICAgIFtbTlNVc2VyRGVm
YXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldFZvbGF0aWxlRG9tYWluOmRpY3QgZm9yTmFt
ZTpOU0FyZ3VtZW50RG9tYWluXTsKKworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMo
W1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgV0tSZXRhaW5QdHI8
V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhUZXN0V2ViS2l0QVBJOjpVdGlsOjpjcmVh
dGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJJbnRlcm5hbHNJbmplY3RlZEJ1bmRsZVRl
c3QiKSk7CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5wcm9jZXNzUG9vbCA9IChXS1Byb2Nlc3NQ
b29sICopY29udGV4dC5nZXQoKTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdL
V2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBj
b25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisKKyAg
ICBhdXRvIHByZWZlcnJlZExhbmd1YWdlID0gWyZdIHsKKyAgICAgICAgcmV0dXJuIFt3ZWJWaWV3
IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ3aW5kb3cuaW50ZXJuYWxzLnVzZXJQcmVm
ZXJyZWRMYW5ndWFnZXMoKVswXSJdOworICAgIH07CisKKyAgICBBU1NFUlRfVFJVRShbcHJlZmVy
cmVkTGFuZ3VhZ2UoKSBpc0VxdWFsOkAiZW4tZ2IiXSk7Cit9CisKKyNlbmRpZiAvLyBXS19IQVZF
X0NfU1BJCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9QcmVmZXJlbmNl
Q2hhbmdlcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dC9QcmVmZXJlbmNlQ2hhbmdlcy5tbQkocmV2aXNpb24gMjY4ODI1KQorKysgVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvUHJlZmVyZW5jZUNoYW5nZXMubW0JKHdvcmtpbmcgY29weSkK
QEAgLTM4MSw2ICszODEsNyBAQCBURVNUKFdlYktpdCwgUHJlZmVyZW5jZUNoYW5nZXNOaWwpCiAg
ICAgQ0xFQVJfREVGQVVMVFMoKTsKIH0KIAorI2lmIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RF
KQogc3RhdGljIElNUCBzaGFyZWRJbnN0YW5jZU1ldGhvZE9yaWdpbmFsID0gbmlsOwogc3RhdGlj
IGJvb2wgc2hhcmVkSW5zdGFuY2VDYWxsZWQgPSBmYWxzZTsKIApAQCAtNDEwLDUgKzQxMSw2IEBA
IFRFU1QoV2ViS2l0LCBQcmVmZXJlbmNlT2JzZXJ2ZXJTdGFydGVkT24KIAogICAgIFRlc3RXZWJL
aXRBUEk6OlV0aWw6OnJ1bigmc2hhcmVkSW5zdGFuY2VDYWxsZWQpOwogfQorI2VuZGlmCiAKICNl
bmRpZiAvLyBXS19IQVZFX0NfU1BJCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412657</attachid>
            <date>2020-10-29 09:09:01 -0700</date>
            <delta_ts>2020-10-29 11:37:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218097-20201029090900.patch</filename>
            <type>text/plain</type>
            <size>16570</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNjkwMzgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDIwLTEwLTI3ICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFNldCBwcmVmZXJlbmNlIGZvciBv
dmVycmlkZGVuIGxhbmd1YWdlcyBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFmdGVyIGVudGVy
aW5nIHRoZSBzYW5kYm94LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE4MDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRGlzYWJsZSBDRlByZWZzIGRpcmVjdCBtb2RlIGZvciBvbGRlciB2ZXJzaW9ucyBv
ZiBtYWNPUy4gSW4gcHJhY3RpY2UsIGl0IHdhcyBhbHJlYWR5IGRpc2FibGVkIHNpbmNlIGEgbWFj
aCBjb25uZWN0aW9uIHRvIGNmcHJlZnNkCisgICAgICAgIHdhcyBlc3RhYmxpc2hlZCBiZWZvcmUg
ZW50ZXJpbmcgdGhlIHNhbmRib3ggb24gb2xkZXIgdmVyc2lvbnMgb24gbWFjT1MsIGJ1dCB0aGF0
IGlzIGZpeGVkIGluIHRoaXMgcGF0Y2guCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1FbmFibGVD
b2NvYS5oOgorCiAyMDIwLTEwLTE1ICBUYWRldSBaYWdhbGxvICA8dHphZ2FsbG9AYXBwbGUuY29t
PgogCiAgICAgICAgIFNpZ24gTWFjcm9Bc3NlbWJsZXI6Omp1bXBzVG9MaW5rCkluZGV4OiBTb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCShyZXZpc2lvbiAyNjg4MjUpCisrKyBTb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMyw3ICsx
MDMsNyBAQAogI2RlZmluZSBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HIDEKICNlbmRpZgogCi0j
aWYgIWRlZmluZWQoRU5BQkxFX0NGUFJFRlNfRElSRUNUX01PREUpCisjaWYgIWRlZmluZWQoRU5B
QkxFX0NGUFJFRlNfRElSRUNUX01PREUpICYmIChQTEFURk9STShJT1NfRkFNSUxZKSB8fCBQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKQog
I2RlZmluZSBFTkFCTEVfQ0ZQUkVGU19ESVJFQ1RfTU9ERSAxCiAjZW5kaWYKIApJbmRleDogU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cJKHJldmlzaW9uIDI2OTE0OCkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjAtMTAtMjkgIFBlciBBcm5lIFZvbGxhbiAgPHB2
b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gU2V0IHByZWZlcmVuY2UgZm9yIG92
ZXJyaWRkZW4gbGFuZ3VhZ2VzIGluIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgYWZ0ZXIgZW50ZXJp
bmcgdGhlIHNhbmRib3guCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTgwOTcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcwNTg2NTQ1PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSwgdGhl
IHByZWZlcmVuY2UgZm9yIG92ZXJyaWRkZW4gbGFuZ3VhZ2VzIGluIHRoZSBXZWJDb250ZW50IHBy
b2Nlc3MgaXMgc2V0IGJlZm9yZSBlbnRlcmluZyB0aGUgc2FuZGJveCwKKyAgICAgICAgd2hpY2gg
bGVhdmVzIGJlaGluZCBhbiBvcGVuIGNvbm5lY3Rpb24gdG8gb3BlbmRpcmVjdG9yeWQuIFRoaXMg
cHJlZmVyZW5jZSBzaG91bGQgYmUgc2V0IGFmdGVyIGVudGVyaW5nIHRoZQorICAgICAgICBzYW5k
Ym94IHRvIGF2b2lkIHRoaXMuIFRoaXMgcGF0Y2ggc2V0cyB0aGUgcHJlZmVyZW5jZSBhZnRlciB0
aGUgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gaGFzIGJlZW4gZXhlY3V0ZWQuCisKKyAgICAgICAg
QVBJIHRlc3Q6IFdlYktpdC5PdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZQorCisgICAg
ICAgICogU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2
aWNlTWFpbi5tbToKKyAgICAgICAgKFdlYktpdDo6c2V0QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNl
KToKKyAgICAgICAgKFdlYktpdDo6WFBDU2VydmljZUV2ZW50SGFuZGxlcik6CisgICAgICAgIChX
ZWJLaXQ6OlhQQ1NlcnZpY2VNYWluKToKKwogMjAyMC0xMC0yOSAgQ2hyaXMgTG9yZCAgPGNsb3Jk
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gU21vb3RoIHNjcm9sbGluZyBzaG91bGQgbm90
IGFwcGx5IHRvIGNvbnRpbnVvdXMgc2Nyb2xsaW5nIHdpdGggc3luYyBzY3JvbGxpbmcKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2Vydmlj
ZS9YUENTZXJ2aWNlTWFpbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9F
bnRyeVBvaW50VXRpbGl0aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4ubW0JKHJl
dmlzaW9uIDI2ODgyNSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRp
ZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5tbQkod29ya2luZyBjb3B5KQpAQCAt
MzksNiArMzksMjcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK3N0YXRpYyB2b2lkIHNldEFw
cGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZSgpCit7CisgICAgYXV0byBib290c3RyYXAgPSBhZG9wdE9T
T2JqZWN0KHhwY19jb3B5X2Jvb3RzdHJhcCgpKTsKKyAgICBpZiAoIWJvb3RzdHJhcCkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaWYgKHhwY19vYmplY3RfdCBsYW5ndWFnZXMgPSB4cGNfZGljdGlv
bmFyeV9nZXRfdmFsdWUoYm9vdHN0cmFwLmdldCgpLCAiT3ZlcnJpZGVMYW5ndWFnZXMiKSkgewor
ICAgICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKKyAgICAgICAgICAgIE5TRGljdGlvbmFyeSAqZXhp
c3RpbmdBcmd1bWVudHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2
b2xhdGlsZURvbWFpbkZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisgICAgICAgICAgICBOU011
dGFibGVEaWN0aW9uYXJ5ICpuZXdBcmd1bWVudHMgPSBbZXhpc3RpbmdBcmd1bWVudHMgbXV0YWJs
ZUNvcHldOworICAgICAgICAgICAgUmV0YWluUHRyPE5TTXV0YWJsZUFycmF5PiBuZXdMYW5ndWFn
ZXMgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRdKTsKKyAgICAgICAgICAg
IHhwY19hcnJheV9hcHBseShsYW5ndWFnZXMsIF4oc2l6ZV90IGluZGV4LCB4cGNfb2JqZWN0X3Qg
dmFsdWUpIHsKKyAgICAgICAgICAgICAgICBbbmV3TGFuZ3VhZ2VzIGFkZE9iamVjdDpbTlNTdHJp
bmcgc3RyaW5nV2l0aENTdHJpbmc6eHBjX3N0cmluZ19nZXRfc3RyaW5nX3B0cih2YWx1ZSkgZW5j
b2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmddXTsKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgW25ld0FyZ3VtZW50cyBzZXRWYWx1ZTpu
ZXdMYW5ndWFnZXMuZ2V0KCkgZm9yS2V5OkAiQXBwbGVMYW5ndWFnZXMiXTsKKyAgICAgICAgICAg
IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldFZvbGF0aWxlRG9tYWlu
Om5ld0FyZ3VtZW50cyBmb3JOYW1lOk5TQXJndW1lbnREb21haW5dOworICAgICAgICB9CisgICAg
fQorfQorCiBzdGF0aWMgdm9pZCBYUENTZXJ2aWNlRXZlbnRIYW5kbGVyKHhwY19jb25uZWN0aW9u
X3QgcGVlcikKIHsKICAgICBzdGF0aWMgeHBjX29iamVjdF90IHByaW9yaXR5Qm9vc3RNZXNzYWdl
ID0gbnVsbHB0cjsKQEAgLTk4LDYgKzExOSw4IEBAIHN0YXRpYyB2b2lkIFhQQ1NlcnZpY2VFdmVu
dEhhbmRsZXIoeHBjX2MKIAogICAgICAgICAgICAgICAgIGRpc3BhdGNoX3N5bmMoZGlzcGF0Y2hf
Z2V0X21haW5fcXVldWUoKSwgXnsKICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6ZXJGdW5j
dGlvblB0cihwZWVyLCBldmVudCwgcHJpb3JpdHlCb29zdE1lc3NhZ2UpOworCisgICAgICAgICAg
ICAgICAgICAgIHNldEFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZSgpOwogICAgICAgICAgICAgICAg
IH0pOwogCiAgICAgICAgICAgICAgICAgaWYgKHByaW9yaXR5Qm9vc3RNZXNzYWdlKQpAQCAtMTQ0
LDE1ICsxNjcsMTUgQEAgaW50IFhQQ1NlcnZpY2VNYWluKGludCBhcmdjLCBjb25zdCBjaGFyKgog
I2VuZGlmCiAKICAgICBhdXRvIGJvb3RzdHJhcCA9IGFkb3B0T1NPYmplY3QoeHBjX2NvcHlfYm9v
dHN0cmFwKCkpOwotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgYXV0byBjb250YWluZXJF
bnZpcm9ubWVudFZhcmlhYmxlcyA9IHhwY19kaWN0aW9uYXJ5X2dldF92YWx1ZShib290c3RyYXAu
Z2V0KCksICJDb250YWluZXJFbnZpcm9ubWVudFZhcmlhYmxlcyIpOwotICAgIHhwY19kaWN0aW9u
YXJ5X2FwcGx5KGNvbnRhaW5lckVudmlyb25tZW50VmFyaWFibGVzLCBeKGNvbnN0IGNoYXIgKmtl
eSwgeHBjX29iamVjdF90IHZhbHVlKSB7Ci0gICAgICAgIHNldGVudihrZXksIHhwY19zdHJpbmdf
Z2V0X3N0cmluZ19wdHIodmFsdWUpLCAxKTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfSk7
Ci0jZW5kaWYKIAogICAgIGlmIChib290c3RyYXApIHsKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQorICAgICAgICBhdXRvIGNvbnRhaW5lckVudmlyb25tZW50VmFyaWFibGVzID0geHBjX2RpY3Rp
b25hcnlfZ2V0X3ZhbHVlKGJvb3RzdHJhcC5nZXQoKSwgIkNvbnRhaW5lckVudmlyb25tZW50VmFy
aWFibGVzIik7CisgICAgICAgIHhwY19kaWN0aW9uYXJ5X2FwcGx5KGNvbnRhaW5lckVudmlyb25t
ZW50VmFyaWFibGVzLCBeKGNvbnN0IGNoYXIgKmtleSwgeHBjX29iamVjdF90IHZhbHVlKSB7Cisg
ICAgICAgICAgICBzZXRlbnYoa2V5LCB4cGNfc3RyaW5nX2dldF9zdHJpbmdfcHRyKHZhbHVlKSwg
MSk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfSk7CisjZW5kaWYKICNpZiBQ
TEFURk9STShNQUMpCiAjaWYgQVNBTl9FTkFCTEVECiAgICAgICAgIC8vIEVYQ19SRVNPVVJDRSBv
biBBU0FOIGJ1aWxkcyBmcmVlemVzIHRoZSBwcm9jZXNzIGZvciBzZXZlcmFsIG1pbnV0ZXM6IHJk
YXI6Ly82NTAyNzU5NgpAQCAtMTc1LDIwICsxOTgsNiBAQCBpbnQgWFBDU2VydmljZU1haW4oaW50
IGFyZ2MsIGNvbnN0IGNoYXIqCiAgICAgICAgICAgICBjcmFzaER1ZVdlYktpdEZyYW1ld29ya1Zl
cnNpb25NaXNtYXRjaCgpOwogICAgICAgICB9CiAjZW5kaWYKLQotICAgICAgICBpZiAoeHBjX29i
amVjdF90IGxhbmd1YWdlcyA9IHhwY19kaWN0aW9uYXJ5X2dldF92YWx1ZShib290c3RyYXAuZ2V0
KCksICJPdmVycmlkZUxhbmd1YWdlcyIpKSB7Ci0gICAgICAgICAgICBAYXV0b3JlbGVhc2Vwb29s
IHsKLSAgICAgICAgICAgICAgICBOU0RpY3Rpb25hcnkgKmV4aXN0aW5nQXJndW1lbnRzID0gW1tO
U1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gdm9sYXRpbGVEb21haW5Gb3JOYW1l
Ok5TQXJndW1lbnREb21haW5dOwotICAgICAgICAgICAgICAgIE5TTXV0YWJsZURpY3Rpb25hcnkg
Km5ld0FyZ3VtZW50cyA9IFtleGlzdGluZ0FyZ3VtZW50cyBtdXRhYmxlQ29weV07Ci0gICAgICAg
ICAgICAgICAgUmV0YWluUHRyPE5TTXV0YWJsZUFycmF5PiBuZXdMYW5ndWFnZXMgPSBhZG9wdE5T
KFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRdKTsKLSAgICAgICAgICAgICAgICB4cGNfYXJy
YXlfYXBwbHkobGFuZ3VhZ2VzLCBeKHNpemVfdCBpbmRleCwgeHBjX29iamVjdF90IHZhbHVlKSB7
Ci0gICAgICAgICAgICAgICAgICAgIFtuZXdMYW5ndWFnZXMgYWRkT2JqZWN0OltOU1N0cmluZyBz
dHJpbmdXaXRoQ1N0cmluZzp4cGNfc3RyaW5nX2dldF9zdHJpbmdfcHRyKHZhbHVlKSBlbmNvZGlu
ZzpOU1VURjhTdHJpbmdFbmNvZGluZ11dOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICBbbmV3QXJndW1lbnRzIHNl
dFZhbHVlOm5ld0xhbmd1YWdlcy5nZXQoKSBmb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOwotICAg
ICAgICAgICAgICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldFZv
bGF0aWxlRG9tYWluOm5ld0FyZ3VtZW50cyBmb3JOYW1lOk5TQXJndW1lbnREb21haW5dOwotICAg
ICAgICAgICAgfQotICAgICAgICB9CiAgICAgfQogCiAjaWYgUExBVEZPUk0oTUFDKQpJbmRleDog
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5z
Yi5pbgkocmV2aXNpb24gMjY4ODI1KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5h
cHBsZS5XZWJQcm9jZXNzLnNiLmluCSh3b3JraW5nIGNvcHkpCkBAIC00NzAsNiArNDcwLDE0IEBA
CiApCiAjZW5kaWYKIAorI2lmICFFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKKyhhbGxvdyBt
YWNoLWxvb2t1cAorICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmNmcHJlZnNkLmFnZW50IikK
KyAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5jZnByZWZzZC5kYWVtb24iKQorKQorI2VuZGlm
CisKKwogOzsgVXRpbGl0eSBmdW5jdGlvbnMgZm9yIGhvbWUgZGlyZWN0b3J5IHJlbGF0aXZlIHBh
dGggZmlsdGVycwogKGRlZmluZSAoaG9tZS1yZWdleCBob21lLXJlbGF0aXZlLXJlZ2V4KQogICAo
cmVnZXggKHN0cmluZy1hcHBlbmQgIl4iIChyZWdleC1xdW90ZSAocGFyYW0gIkhPTUVfRElSIikp
IGhvbWUtcmVsYXRpdmUtcmVnZXgpKSkKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTAzOCkKKysrIFRvb2xzL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDIwLTEwLTI3ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFNldCBwcmVmZXJl
bmNlIGZvciBvdmVycmlkZGVuIGxhbmd1YWdlcyBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFm
dGVyIGVudGVyaW5nIHRoZSBzYW5kYm94LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9P
dmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbTogQWRkZWQuCisgICAgICAgIChURVNU
KToKKwogMjAyMC0xMC0yNiAgRmVkZXJpY28gQnVjY2hpICA8ZmJ1Y2NoaUBhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkIEZlZGVyaWNvIEJ1Y2NoaSB0byBsaXN0IG9mIFdlYktpdCBjb250cmlidXRv
cnMKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNjg4MjUpCisrKyBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
d29ya2luZyBjb3B5KQpAQCAtOTM5LDYgKzkzOSw3IEBACiAJCUMwQURCRTk2MTJGQ0E3OUIwMEQy
QzEyOSAvKiBzaW1wbGUtZm9ybS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwQURCRTg0MTJGQ0E2QjYwMEQyQzEyOSAvKiBzaW1wbGUt
Zm9ybS5odG1sICovOyB9OwogCQlDMEJENjY5RjEzMUQzQ0ZGMDBFMThGMkEgLyogUmVzcG9uc2l2
ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseV9CdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBCRDY2OUUxMzFEM0NGRjAwRTE4RjJBIC8qIFJl
c3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCAqLzsgfTsKIAkJQzBD
NUQzQzYxNDU5OTEyOTAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvcl9CdW5kbGUubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEM1RDNCRDE0
NTk4QjZGMDBBODAyQTYgLyogR2V0QmFja2luZ1NjYWxlRmFjdG9yX0J1bmRsZS5tbSAqLzsgfTsK
KwkJQzEwNEJDMUYyNTQ3MjM3MTAwQzA3OEM5IC8qIE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVm
ZXJlbmNlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QzEwNEJDMUUyNTQ3MjM3MTAwQzA3OEM5IC8qIE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJl
bmNlLm1tICovOyB9OwogCQlDMTNEODJEOTI0MTZGMTMyMDBBNjI3OTMgLyogRW5hYmxlQWNjZXNz
aWJpbGl0eS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEMxM0Q4MkQ4MjQxNkYxMzIwMEE2Mjc5MyAvKiBFbmFibGVBY2Nlc3NpYmlsaXR5Lm1tICovOyB9
OwogCQlDMTQ5RDU1MDI0MkU5OERGMDAzRUJCMTIgLyogU2xlZXBEaXNhYmxlci5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxNDlENTRGMjQyRTk4NDQw
MDNFQkIxMiAvKiBTbGVlcERpc2FibGVyLm1tICovOyB9OwogCQlDMTREMzA0NjI0QjRDM0JBMDA0
ODAzODcgLyogWFBDRW5kcG9pbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDMTREMzA0NTI0QjRDM0JBMDA0ODAzODcgLyogWFBDRW5kcG9pbnQubW0g
Ki87IH07CkBAIC0yNjMyLDYgKzI2MzMsNyBAQAogCQlDMEJENjY5RTEzMUQzQ0ZGMDBFMThGMkEg
LyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseV9CdW5kbGUuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZp
cmVFYXJseV9CdW5kbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMEM1RDNC
QzE0NTk4QjZGMDBBODAyQTYgLyogR2V0QmFja2luZ1NjYWxlRmFjdG9yLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gR2V0QmFja2luZ1NjYWxlRmFjdG9yLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMEM1RDNCRDE0NTk4QjZGMDBBODAyQTYgLyog
R2V0QmFja2luZ1NjYWxlRmFjdG9yX0J1bmRsZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IEdldEJhY2tpbmdTY2FsZUZhY3Rvcl9CdW5kbGUubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUMxMDRCQzFFMjU0NzIzNzEwMEMwNzhDOSAvKiBPdmVycmlk
ZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE92ZXJy
aWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlDMTNEODJEODI0MTZGMTMyMDBBNjI3OTMgLyogRW5hYmxlQWNjZXNzaWJpbGl0eS5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IEVuYWJsZUFjY2Vzc2liaWxpdHkubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUMxNDlENTRGMjQyRTk4NDQwMDNFQkIxMiAvKiBTbGVlcERpc2Fi
bGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2xlZXBEaXNh
Ymxlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzE0RDMwNDUyNEI0QzNCQTAw
NDgwMzg3IC8qIFhQQ0VuZHBvaW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gWFBDRW5kcG9p
bnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMTMwLDYgKzMxMzIsNyBAQAog
CQkJCUUzOTRBRTZFMjNGMjMwM0UwMDVCNDkzNiAvKiBHcmFudEFjY2Vzc1RvTW9iaWxlQXNzZXRz
Lm1tICovLAogCQkJCUUzNEE2RDE4MjQxMkRFMzkwMDEyQUI2RSAvKiBHcmFudEFjY2Vzc1RvUHJl
ZmVyZW5jZXNTZXJ2aWNlLm1tICovLAogCQkJCUUzNUI5MDgxMjNGNjBERDAwMDAwMTFGRiAvKiBM
b2NhbGl6ZWREZXZpY2VNb2RlbC5tbSAqLywKKwkJCQlDMTA0QkMxRTI1NDcyMzcxMDBDMDc4Qzkg
LyogT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0gKi8sCiAJCQkJRTMyNUM5MDYy
M0UzODcwMjAwQkM3RDNCIC8qIFBpY3R1cmVJblBpY3R1cmVTdXBwb3J0Lm1tICovLAogCQkJCUMx
NUNCQjNFMjNGQjE3N0EwMDMwMENDNyAvKiBQcmVmZXJlbmNlQ2hhbmdlcy5tbSAqLywKIAkJCQlD
MTQ5RDU0RjI0MkU5ODQ0MDAzRUJCMTIgLyogU2xlZXBEaXNhYmxlci5tbSAqLywKQEAgLTUzMTAs
NiArNTMxMyw3IEBACiAJCQkJN0NDRTdGMjUxQTQxMUFGNjAwNDQ3QzRDIC8qIE9wZW5BbmRDbG9z
ZVdpbmRvdy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFDQjJGMjdDMjRGODgzNzkwMDBBNUJDMSAv
KiBPcnRob2dvbmFsRmxvd0F2YWlsYWJsZVNpemUubW0gaW4gU291cmNlcyAqLywKIAkJCQkwRjM0
MDc3NjIzMDM3RkRDMDA2MEExQTAgLyogT3ZlcmZsb3dTY3JvbGxWaWV3VGVzdHMubW0gaW4gU291
cmNlcyAqLywKKwkJCQlDMTA0QkMxRjI1NDcyMzcxMDBDMDc4QzkgLyogT3ZlcnJpZGVBcHBsZUxh
bmd1YWdlc1ByZWZlcmVuY2UubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRUJDQTEyRjFFM0E2NjAx
MDBDNzMyOTMgLyogT3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xpY3kubW0gaW4gU291cmNlcyAq
LywKIAkJCQkyREEyNTg2RjIyNUM2N0RDMDBCNDVDMUMgLyogT3ZlcnJpZGVWaWV3cG9ydEFyZ3Vt
ZW50cy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0I0REE5MUM4M0FFNzMwMENDNjkxOCAvKiBQ
YWdlR3JvdXAuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdC9BY2Nlc3NpYmlsaXR5UmVkdWNlTW90aW9uLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0FjY2Vzc2liaWxpdHlSZWR1Y2VNb3Rpb24u
bW0JKHJldmlzaW9uIDI2ODgyNSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L0FjY2Vzc2liaWxpdHlSZWR1Y2VNb3Rpb24ubW0JKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1
LDcgQEAKIAogI2ltcG9ydCAiY29uZmlnLmgiCiAKLSNpZiBXS19IQVZFX0NfU1BJCisjaWYgV0tf
SEFWRV9DX1NQSSAmJiBFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKIAogI2ltcG9ydCAiUGxh
dGZvcm1VdGlsaXRpZXMuaCIKICNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKSW5kZXg6IFRvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0VuYWJsZUFjY2Vzc2liaWxpdHkubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRW5hYmxlQWNjZXNzaWJp
bGl0eS5tbQkocmV2aXNpb24gMjY4ODI1KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvRW5hYmxlQWNjZXNzaWJpbGl0eS5tbQkod29ya2luZyBjb3B5KQpAQCAtNzYsNiArNzYs
NyBAQCBURVNUKFdlYktpdCwgQWNjZXNzaWJpbGl0eUhhc1ByZWZlcmVuY2VzCiAgICAgW05TQXBw
IGFjY2Vzc2liaWxpdHlTZXRFbmhhbmNlZFVzZXJJbnRlcmZhY2VBdHRyaWJ1dGU6QChOTyldOwog
fQogCisjaWYgRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCiBURVNUKFdlYktpdCwgQWNjZXNz
aWJpbGl0eUhhc05vUHJlZmVyZW5jZXNTZXJ2aWNlQWNjZXNzV2hlblBvc3RpbmdOb3RpZmljYXRp
b24pCiB7CiAgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZp
Z3VyYXRpb24gYWxsb2NdIGluaXRdKTsKQEAgLTk1LDYgKzk2LDcgQEAgVEVTVChXZWJLaXQsIEFj
Y2Vzc2liaWxpdHlIYXNOb1ByZWZlcmVuYwogCiAgICAgQVNTRVJUX1RSVUUoIXNhbmRib3hBY2Nl
c3MoKSk7CiB9CisjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiBURVNUKFdlYktp
dCwgQWNjZXNzaWJpbGl0eUhhc0Zyb250Ym9hcmRTZXJ2aWNlQWNjZXNzKQpJbmRleDogVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVu
Y2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3Zl
cnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0JKG5vbmV4aXN0ZW50KQorKysgVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVu
Y2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBv
cnQgImNvbmZpZy5oIgorCisjaWYgV0tfSEFWRV9DX1NQSQorCisjaW1wb3J0ICJQbGF0Zm9ybVV0
aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdFdLV2ViVmlldy5oIgorCitURVNUKFdlYktpdCwgT3Zl
cnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UpCit7CisgICAgTlNEaWN0aW9uYXJ5ICpkaWN0
ID0gQHsKKyAgICAgICAgQCJBcHBsZUxhbmd1YWdlcyI6IEBbIEAiZW4tR0IiIF0sCisgICAgfTsK
KworICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldFZvbGF0aWxl
RG9tYWluOmRpY3QgZm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKKworICAgIGF1dG8gY29uZmln
dXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7
CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhUZXN0V2Vi
S2l0QVBJOjpVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJJbnRlcm5h
bHNJbmplY3RlZEJ1bmRsZVRlc3QiKSk7CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5wcm9jZXNz
UG9vbCA9IChXS1Byb2Nlc3NQb29sICopY29udGV4dC5nZXQoKTsKKyAgICBhdXRvIHdlYlZpZXcg
PSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0
KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCkgYWRkVG9X
aW5kb3c6WUVTXSk7CisKKyAgICBhdXRvIHByZWZlcnJlZExhbmd1YWdlID0gWyZdIHsKKyAgICAg
ICAgcmV0dXJuIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ3aW5kb3cu
aW50ZXJuYWxzLnVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKVswXSJdOworICAgIH07CisKKyAgICBB
U1NFUlRfVFJVRShbcHJlZmVycmVkTGFuZ3VhZ2UoKSBpc0VxdWFsOkAiZW4tZ2IiXSk7Cit9CisK
KyNlbmRpZiAvLyBXS19IQVZFX0NfU1BJCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9QcmVmZXJlbmNlQ2hhbmdlcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9QcmVmZXJlbmNlQ2hhbmdlcy5tbQkocmV2aXNpb24gMjY4ODI1
KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUHJlZmVyZW5jZUNoYW5nZXMu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTM4MSw2ICszODEsNyBAQCBURVNUKFdlYktpdCwgUHJlZmVy
ZW5jZUNoYW5nZXNOaWwpCiAgICAgQ0xFQVJfREVGQVVMVFMoKTsKIH0KIAorI2lmIEVOQUJMRShD
RlBSRUZTX0RJUkVDVF9NT0RFKQogc3RhdGljIElNUCBzaGFyZWRJbnN0YW5jZU1ldGhvZE9yaWdp
bmFsID0gbmlsOwogc3RhdGljIGJvb2wgc2hhcmVkSW5zdGFuY2VDYWxsZWQgPSBmYWxzZTsKIApA
QCAtNDEwLDUgKzQxMSw2IEBAIFRFU1QoV2ViS2l0LCBQcmVmZXJlbmNlT2JzZXJ2ZXJTdGFydGVk
T24KIAogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmc2hhcmVkSW5zdGFuY2VDYWxsZWQp
OwogfQorI2VuZGlmCiAKICNlbmRpZiAvLyBXS19IQVZFX0NfU1BJCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412669</attachid>
            <date>2020-10-29 11:37:50 -0700</date>
            <delta_ts>2020-10-29 13:13:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218097-20201029113749.patch</filename>
            <type>text/plain</type>
            <size>16814</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNjkwMzgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDIwLTEwLTI5ICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFNldCBwcmVmZXJlbmNlIGZvciBv
dmVycmlkZGVuIGxhbmd1YWdlcyBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFmdGVyIGVudGVy
aW5nIHRoZSBzYW5kYm94LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE4MDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRGlzYWJsZSBDRlByZWZzIGRpcmVjdCBtb2RlIGZvciBvbGRlciB2ZXJzaW9ucyBv
ZiBtYWNPUy4gSW4gcHJhY3RpY2UsIGl0IHdhcyBhbHJlYWR5IGRpc2FibGVkIHNpbmNlIGEgbWFj
aCBjb25uZWN0aW9uIHRvIGNmcHJlZnNkCisgICAgICAgIHdhcyBlc3RhYmxpc2hlZCBiZWZvcmUg
ZW50ZXJpbmcgdGhlIHNhbmRib3ggb24gb2xkZXIgdmVyc2lvbnMgb24gbWFjT1MsIGJ1dCB0aGF0
IGlzIGZpeGVkIGluIHRoaXMgcGF0Y2guCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1FbmFibGVD
b2NvYS5oOgorCiAyMDIwLTEwLTE1ICBUYWRldSBaYWdhbGxvICA8dHphZ2FsbG9AYXBwbGUuY29t
PgogCiAgICAgICAgIFNpZ24gTWFjcm9Bc3NlbWJsZXI6Omp1bXBzVG9MaW5rCkluZGV4OiBTb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCShyZXZpc2lvbiAyNjg4MjUpCisrKyBTb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMyw3ICsx
MDMsNyBAQAogI2RlZmluZSBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HIDEKICNlbmRpZgogCi0j
aWYgIWRlZmluZWQoRU5BQkxFX0NGUFJFRlNfRElSRUNUX01PREUpCisjaWYgIWRlZmluZWQoRU5B
QkxFX0NGUFJFRlNfRElSRUNUX01PREUpICYmIChQTEFURk9STShJT1NfRkFNSUxZKSB8fCBQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKQog
I2RlZmluZSBFTkFCTEVfQ0ZQUkVGU19ESVJFQ1RfTU9ERSAxCiAjZW5kaWYKIApJbmRleDogU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cJKHJldmlzaW9uIDI2OTE0OSkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMTAtMjkgIFBlciBBcm5lIFZvbGxhbiAgPHB2
b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gU2V0IHByZWZlcmVuY2UgZm9yIG92
ZXJyaWRkZW4gbGFuZ3VhZ2VzIGluIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgYWZ0ZXIgZW50ZXJp
bmcgdGhlIHNhbmRib3guCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTgwOTcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcwNTg2NTQ1PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSwgdGhl
IHByZWZlcmVuY2UgZm9yIG92ZXJyaWRkZW4gbGFuZ3VhZ2VzIGluIHRoZSBXZWJDb250ZW50IHBy
b2Nlc3MgaXMgc2V0IGJlZm9yZSBlbnRlcmluZyB0aGUgc2FuZGJveCwKKyAgICAgICAgd2hpY2gg
bGVhdmVzIGJlaGluZCBhbiBvcGVuIGNvbm5lY3Rpb24gdG8gb3BlbmRpcmVjdG9yeWQuIFRoaXMg
cHJlZmVyZW5jZSBzaG91bGQgYmUgc2V0IGFmdGVyIGVudGVyaW5nIHRoZQorICAgICAgICBzYW5k
Ym94IHRvIGF2b2lkIHRoaXMuIFRoaXMgcGF0Y2ggc2V0cyB0aGUgcHJlZmVyZW5jZSBhZnRlciB0
aGUgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gaGFzIGJlZW4gZXhlY3V0ZWQuCisKKyAgICAgICAg
QVBJIHRlc3Q6IFdlYktpdC5PdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZQorCisgICAg
ICAgICogU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2
aWNlTWFpbi5tbToKKyAgICAgICAgKFdlYktpdDo6c2V0QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNl
KToKKyAgICAgICAgKFdlYktpdDo6WFBDU2VydmljZUV2ZW50SGFuZGxlcik6CisgICAgICAgIChX
ZWJLaXQ6OlhQQ1NlcnZpY2VNYWluKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvbS5hcHBsZS5X
ZWJQcm9jZXNzLnNiLmluOgorCiAyMDIwLTEwLTI5ICBDaHJpcyBMb3JkICA8Y2xvcmRAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbR1RLXSBTbW9vdGggc2Nyb2xsaW5nIHNob3VsZCBub3QgYXBwbHkg
dG8gY29udGludW91cyBzY3JvbGxpbmcgd2l0aCBzeW5jIHNjcm9sbGluZwpJbmRleDogU291cmNl
L1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1Nl
cnZpY2VNYWluLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0VudHJ5UG9p
bnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5tbQkocmV2aXNpb24g
MjY4ODI1KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2Nv
YS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2ICsz
OSwyNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorc3RhdGljIHZvaWQgc2V0QXBwbGVMYW5n
dWFnZXNQcmVmZXJlbmNlKCkKK3sKKyAgICBhdXRvIGJvb3RzdHJhcCA9IGFkb3B0T1NPYmplY3Qo
eHBjX2NvcHlfYm9vdHN0cmFwKCkpOworICAgIGlmICghYm9vdHN0cmFwKQorICAgICAgICByZXR1
cm47CisKKyAgICBpZiAoeHBjX29iamVjdF90IGxhbmd1YWdlcyA9IHhwY19kaWN0aW9uYXJ5X2dl
dF92YWx1ZShib290c3RyYXAuZ2V0KCksICJPdmVycmlkZUxhbmd1YWdlcyIpKSB7CisgICAgICAg
IEBhdXRvcmVsZWFzZXBvb2wgeworICAgICAgICAgICAgTlNEaWN0aW9uYXJ5ICpleGlzdGluZ0Fy
Z3VtZW50cyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHZvbGF0aWxl
RG9tYWluRm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKKyAgICAgICAgICAgIE5TTXV0YWJsZURp
Y3Rpb25hcnkgKm5ld0FyZ3VtZW50cyA9IFtleGlzdGluZ0FyZ3VtZW50cyBtdXRhYmxlQ29weV07
CisgICAgICAgICAgICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+IG5ld0xhbmd1YWdlcyA9IGFk
b3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOworICAgICAgICAgICAgeHBjX2Fy
cmF5X2FwcGx5KGxhbmd1YWdlcywgXihzaXplX3QgaW5kZXgsIHhwY19vYmplY3RfdCB2YWx1ZSkg
eworICAgICAgICAgICAgICAgIFtuZXdMYW5ndWFnZXMgYWRkT2JqZWN0OltOU1N0cmluZyBzdHJp
bmdXaXRoQ1N0cmluZzp4cGNfc3RyaW5nX2dldF9zdHJpbmdfcHRyKHZhbHVlKSBlbmNvZGluZzpO
U1VURjhTdHJpbmdFbmNvZGluZ11dOworICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICBbbmV3QXJndW1lbnRzIHNldFZhbHVlOm5ld0xhbmd1
YWdlcy5nZXQoKSBmb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOworICAgICAgICAgICAgW1tOU1Vz
ZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRpbGVEb21haW46bmV3QXJn
dW1lbnRzIGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisgICAgICAgIH0KKyAgICB9Cit9CisK
IHN0YXRpYyB2b2lkIFhQQ1NlcnZpY2VFdmVudEhhbmRsZXIoeHBjX2Nvbm5lY3Rpb25fdCBwZWVy
KQogewogICAgIHN0YXRpYyB4cGNfb2JqZWN0X3QgcHJpb3JpdHlCb29zdE1lc3NhZ2UgPSBudWxs
cHRyOwpAQCAtOTgsNiArMTE5LDggQEAgc3RhdGljIHZvaWQgWFBDU2VydmljZUV2ZW50SGFuZGxl
cih4cGNfYwogCiAgICAgICAgICAgICAgICAgZGlzcGF0Y2hfc3luYyhkaXNwYXRjaF9nZXRfbWFp
bl9xdWV1ZSgpLCBeewogICAgICAgICAgICAgICAgICAgICBpbml0aWFsaXplckZ1bmN0aW9uUHRy
KHBlZXIsIGV2ZW50LCBwcmlvcml0eUJvb3N0TWVzc2FnZSk7CisKKyAgICAgICAgICAgICAgICAg
ICAgc2V0QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKCk7CiAgICAgICAgICAgICAgICAgfSk7CiAK
ICAgICAgICAgICAgICAgICBpZiAocHJpb3JpdHlCb29zdE1lc3NhZ2UpCkBAIC0xNDQsMTUgKzE2
NywxNSBAQCBpbnQgWFBDU2VydmljZU1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIqCiAjZW5kaWYK
IAogICAgIGF1dG8gYm9vdHN0cmFwID0gYWRvcHRPU09iamVjdCh4cGNfY29weV9ib290c3RyYXAo
KSk7Ci0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBhdXRvIGNvbnRhaW5lckVudmlyb25t
ZW50VmFyaWFibGVzID0geHBjX2RpY3Rpb25hcnlfZ2V0X3ZhbHVlKGJvb3RzdHJhcC5nZXQoKSwg
IkNvbnRhaW5lckVudmlyb25tZW50VmFyaWFibGVzIik7Ci0gICAgeHBjX2RpY3Rpb25hcnlfYXBw
bHkoY29udGFpbmVyRW52aXJvbm1lbnRWYXJpYWJsZXMsIF4oY29uc3QgY2hhciAqa2V5LCB4cGNf
b2JqZWN0X3QgdmFsdWUpIHsKLSAgICAgICAgc2V0ZW52KGtleSwgeHBjX3N0cmluZ19nZXRfc3Ry
aW5nX3B0cih2YWx1ZSksIDEpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9KTsKLSNlbmRp
ZgogCiAgICAgaWYgKGJvb3RzdHJhcCkgeworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAg
ICAgIGF1dG8gY29udGFpbmVyRW52aXJvbm1lbnRWYXJpYWJsZXMgPSB4cGNfZGljdGlvbmFyeV9n
ZXRfdmFsdWUoYm9vdHN0cmFwLmdldCgpLCAiQ29udGFpbmVyRW52aXJvbm1lbnRWYXJpYWJsZXMi
KTsKKyAgICAgICAgeHBjX2RpY3Rpb25hcnlfYXBwbHkoY29udGFpbmVyRW52aXJvbm1lbnRWYXJp
YWJsZXMsIF4oY29uc3QgY2hhciAqa2V5LCB4cGNfb2JqZWN0X3QgdmFsdWUpIHsKKyAgICAgICAg
ICAgIHNldGVudihrZXksIHhwY19zdHJpbmdfZ2V0X3N0cmluZ19wdHIodmFsdWUpLCAxKTsKKyAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9KTsKKyNlbmRpZgogI2lmIFBMQVRGT1JN
KE1BQykKICNpZiBBU0FOX0VOQUJMRUQKICAgICAgICAgLy8gRVhDX1JFU09VUkNFIG9uIEFTQU4g
YnVpbGRzIGZyZWV6ZXMgdGhlIHByb2Nlc3MgZm9yIHNldmVyYWwgbWludXRlczogcmRhcjovLzY1
MDI3NTk2CkBAIC0xNzUsMjAgKzE5OCw2IEBAIGludCBYUENTZXJ2aWNlTWFpbihpbnQgYXJnYywg
Y29uc3QgY2hhcioKICAgICAgICAgICAgIGNyYXNoRHVlV2ViS2l0RnJhbWV3b3JrVmVyc2lvbk1p
c21hdGNoKCk7CiAgICAgICAgIH0KICNlbmRpZgotCi0gICAgICAgIGlmICh4cGNfb2JqZWN0X3Qg
bGFuZ3VhZ2VzID0geHBjX2RpY3Rpb25hcnlfZ2V0X3ZhbHVlKGJvb3RzdHJhcC5nZXQoKSwgIk92
ZXJyaWRlTGFuZ3VhZ2VzIikpIHsKLSAgICAgICAgICAgIEBhdXRvcmVsZWFzZXBvb2wgewotICAg
ICAgICAgICAgICAgIE5TRGljdGlvbmFyeSAqZXhpc3RpbmdBcmd1bWVudHMgPSBbW05TVXNlckRl
ZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNBcmd1
bWVudERvbWFpbl07Ci0gICAgICAgICAgICAgICAgTlNNdXRhYmxlRGljdGlvbmFyeSAqbmV3QXJn
dW1lbnRzID0gW2V4aXN0aW5nQXJndW1lbnRzIG11dGFibGVDb3B5XTsKLSAgICAgICAgICAgICAg
ICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+IG5ld0xhbmd1YWdlcyA9IGFkb3B0TlMoW1tOU011
dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOwotICAgICAgICAgICAgICAgIHhwY19hcnJheV9hcHBs
eShsYW5ndWFnZXMsIF4oc2l6ZV90IGluZGV4LCB4cGNfb2JqZWN0X3QgdmFsdWUpIHsKLSAgICAg
ICAgICAgICAgICAgICAgW25ld0xhbmd1YWdlcyBhZGRPYmplY3Q6W05TU3RyaW5nIHN0cmluZ1dp
dGhDU3RyaW5nOnhwY19zdHJpbmdfZ2V0X3N0cmluZ19wdHIodmFsdWUpIGVuY29kaW5nOk5TVVRG
OFN0cmluZ0VuY29kaW5nXV07Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAg
ICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIFtuZXdBcmd1bWVudHMgc2V0VmFsdWU6
bmV3TGFuZ3VhZ2VzLmdldCgpIGZvcktleTpAIkFwcGxlTGFuZ3VhZ2VzIl07Ci0gICAgICAgICAg
ICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRpbGVE
b21haW46bmV3QXJndW1lbnRzIGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0KICAgICB9CiAKICNpZiBQTEFURk9STShNQUMpCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCShy
ZXZpc2lvbiAyNjg4MjUpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldl
YlByb2Nlc3Muc2IuaW4JKHdvcmtpbmcgY29weSkKQEAgLTQ3MCw2ICs0NzAsMTIgQEAKICkKICNl
bmRpZgogCisjaWYgIUVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQorKGFsbG93IG1hY2gtbG9v
a3VwCisgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuY2ZwcmVmc2QuZGFlbW9uIikKKykKKyNl
bmRpZgorCiA7OyBVdGlsaXR5IGZ1bmN0aW9ucyBmb3IgaG9tZSBkaXJlY3RvcnkgcmVsYXRpdmUg
cGF0aCBmaWx0ZXJzCiAoZGVmaW5lIChob21lLXJlZ2V4IGhvbWUtcmVsYXRpdmUtcmVnZXgpCiAg
IChyZWdleCAoc3RyaW5nLWFwcGVuZCAiXiIgKHJlZ2V4LXF1b3RlIChwYXJhbSAiSE9NRV9ESVIi
KSkgaG9tZS1yZWxhdGl2ZS1yZWdleCkpKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjY5MTU4KQorKysgVG9vbHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMTAtMjkgIFBlciBBcm5l
IFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gU2V0IHByZWZl
cmVuY2UgZm9yIG92ZXJyaWRkZW4gbGFuZ3VhZ2VzIGluIHRoZSBXZWJDb250ZW50IHByb2Nlc3Mg
YWZ0ZXIgZW50ZXJpbmcgdGhlIHNhbmRib3guCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMTgwOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L0FjY2Vzc2liaWxpdHlSZWR1Y2VNb3Rpb24ubW06CisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQvRW5hYmxlQWNjZXNzaWJpbGl0eS5tbToKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9PdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbTogQWRk
ZWQuCisgICAgICAgIChURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dC9QcmVmZXJlbmNlQ2hhbmdlcy5tbToKKwogMjAyMC0xMC0yOSAgU2FtIFdlaW5pZyAgPHdlaW5p
Z0BhcHBsZS5jb20+CiAKICAgICAgICAgW1Rlc3RpbmddIFJlbW92ZSByZXF1aXJlbWVudCBvZiBh
ZGRpbmcgbmV3IFNQSSBmb3IgZWFjaCBwcmVmZXJlbmNlIHRoYXQgbmVlZHMgdGVzdGluZyAoV2Vi
S2l0TGVnYWN5IFdpbmRvd3MpCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24g
MjY4ODI1KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTkzOSw2ICs5MzksNyBAQAogCQlDMEFE
QkU5NjEyRkNBNzlCMDBEMkMxMjkgLyogc2ltcGxlLWZvcm0uaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEFEQkU4NDEyRkNBNkI2MDBE
MkMxMjkgLyogc2ltcGxlLWZvcm0uaHRtbCAqLzsgfTsKIAkJQzBCRDY2OUYxMzFEM0NGRjAwRTE4
RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwQkQ2NjlFMTMxRDND
RkYwMEUxOEYyQSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5X0J1bmRsZS5j
cHAgKi87IH07CiAJCUMwQzVEM0M2MTQ1OTkxMjkwMEE4MDJBNiAvKiBHZXRCYWNraW5nU2NhbGVG
YWN0b3JfQnVuZGxlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzBDNUQzQkQxNDU5OEI2RjAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvcl9C
dW5kbGUubW0gKi87IH07CisJCUMxMDRCQzFGMjU0NzIzNzEwMEMwNzhDOSAvKiBPdmVycmlkZUFw
cGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEMxMDRCQzFFMjU0NzIzNzEwMEMwNzhDOSAvKiBPdmVycmlkZUFwcGxl
TGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbSAqLzsgfTsKIAkJQzEzRDgyRDkyNDE2RjEzMjAwQTYyNzkz
IC8qIEVuYWJsZUFjY2Vzc2liaWxpdHkubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDMTNEODJEODI0MTZGMTMyMDBBNjI3OTMgLyogRW5hYmxlQWNjZXNz
aWJpbGl0eS5tbSAqLzsgfTsKIAkJQzE0OUQ1NTAyNDJFOThERjAwM0VCQjEyIC8qIFNsZWVwRGlz
YWJsZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
MTQ5RDU0RjI0MkU5ODQ0MDAzRUJCMTIgLyogU2xlZXBEaXNhYmxlci5tbSAqLzsgfTsKIAkJQzE0
RDMwNDYyNEI0QzNCQTAwNDgwMzg3IC8qIFhQQ0VuZHBvaW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE0RDMwNDUyNEI0QzNCQTAwNDgwMzg3IC8q
IFhQQ0VuZHBvaW50Lm1tICovOyB9OwpAQCAtMjYzMiw2ICsyNjMzLDcgQEAKIAkJQzBCRDY2OUUx
MzFEM0NGRjAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVu
ZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc3BvbnNpdmVu
ZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQzBDNUQzQkMxNDU5OEI2RjAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rv
ci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEdldEJhY2tpbmdT
Y2FsZUZhY3Rvci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBDNUQzQkQxNDU5
OEI2RjAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvcl9CdW5kbGUubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBHZXRCYWNraW5nU2NhbGVGYWN0b3JfQnVu
ZGxlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMTA0QkMxRTI1NDcyMzcxMDBD
MDc4QzkgLyogT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBPdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzEzRDgyRDgyNDE2RjEzMjAwQTYyNzkzIC8qIEVuYWJsZUFj
Y2Vzc2liaWxpdHkubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBFbmFibGVBY2Nlc3NpYmlsaXR5
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMTQ5RDU0RjI0MkU5ODQ0MDAzRUJC
MTIgLyogU2xlZXBEaXNhYmxlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFNsZWVwRGlzYWJsZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMx
NEQzMDQ1MjRCNEMzQkEwMDQ4MDM4NyAvKiBYUENFbmRwb2ludC5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFhQQ0VuZHBvaW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzEz
MCw2ICszMTMyLDcgQEAKIAkJCQlFMzk0QUU2RTIzRjIzMDNFMDA1QjQ5MzYgLyogR3JhbnRBY2Nl
c3NUb01vYmlsZUFzc2V0cy5tbSAqLywKIAkJCQlFMzRBNkQxODI0MTJERTM5MDAxMkFCNkUgLyog
R3JhbnRBY2Nlc3NUb1ByZWZlcmVuY2VzU2VydmljZS5tbSAqLywKIAkJCQlFMzVCOTA4MTIzRjYw
REQwMDAwMDExRkYgLyogTG9jYWxpemVkRGV2aWNlTW9kZWwubW0gKi8sCisJCQkJQzEwNEJDMUUy
NTQ3MjM3MTAwQzA3OEM5IC8qIE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tICov
LAogCQkJCUUzMjVDOTA2MjNFMzg3MDIwMEJDN0QzQiAvKiBQaWN0dXJlSW5QaWN0dXJlU3VwcG9y
dC5tbSAqLywKIAkJCQlDMTVDQkIzRTIzRkIxNzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5n
ZXMubW0gKi8sCiAJCQkJQzE0OUQ1NEYyNDJFOTg0NDAwM0VCQjEyIC8qIFNsZWVwRGlzYWJsZXIu
bW0gKi8sCkBAIC01MzEwLDYgKzUzMTMsNyBAQAogCQkJCTdDQ0U3RjI1MUE0MTFBRjYwMDQ0N0M0
QyAvKiBPcGVuQW5kQ2xvc2VXaW5kb3cubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQ0IyRjI3QzI0
Rjg4Mzc5MDAwQTVCQzEgLyogT3J0aG9nb25hbEZsb3dBdmFpbGFibGVTaXplLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMEYzNDA3NzYyMzAzN0ZEQzAwNjBBMUEwIC8qIE92ZXJmbG93U2Nyb2xsVmll
d1Rlc3RzLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQzEwNEJDMUYyNTQ3MjM3MTAwQzA3OEM5IC8q
IE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
Q0VCQ0ExMkYxRTNBNjYwMTAwQzczMjkzIC8qIE92ZXJyaWRlQ29udGVudFNlY3VyaXR5UG9saWN5
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkRBMjU4NkYyMjVDNjdEQzAwQjQ1QzFDIC8qIE92ZXJy
aWRlVmlld3BvcnRBcmd1bWVudHMubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NCNERBOTFDODNB
RTczMDBDQzY5MTggLyogUGFnZUdyb3VwLmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQWNjZXNzaWJpbGl0eVJlZHVjZU1vdGlvbi5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9BY2Nlc3NpYmls
aXR5UmVkdWNlTW90aW9uLm1tCShyZXZpc2lvbiAyNjg4MjUpCisrKyBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9BY2Nlc3NpYmlsaXR5UmVkdWNlTW90aW9uLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbXBvcnQgImNvbmZpZy5oIgogCi0jaWYgV0tfSEFW
RV9DX1NQSQorI2lmIFdLX0hBVkVfQ19TUEkgJiYgRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUp
CiAKICNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJUZXN0V0tXZWJWaWV3
LmgiCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9FbmFibGVBY2Nlc3Np
YmlsaXR5Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L0VuYWJsZUFjY2Vzc2liaWxpdHkubW0JKHJldmlzaW9uIDI2ODgyNSkKKysrIFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0VuYWJsZUFjY2Vzc2liaWxpdHkubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTc2LDYgKzc2LDcgQEAgVEVTVChXZWJLaXQsIEFjY2Vzc2liaWxpdHlIYXNQcmVmZXJl
bmNlcwogICAgIFtOU0FwcCBhY2Nlc3NpYmlsaXR5U2V0RW5oYW5jZWRVc2VySW50ZXJmYWNlQXR0
cmlidXRlOkAoTk8pXTsKIH0KIAorI2lmIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogVEVT
VChXZWJLaXQsIEFjY2Vzc2liaWxpdHlIYXNOb1ByZWZlcmVuY2VzU2VydmljZUFjY2Vzc1doZW5Q
b3N0aW5nTm90aWZpY2F0aW9uKQogewogICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMo
W1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CkBAIC05NSw2ICs5Niw3IEBA
IFRFU1QoV2ViS2l0LCBBY2Nlc3NpYmlsaXR5SGFzTm9QcmVmZXJlbmMKIAogICAgIEFTU0VSVF9U
UlVFKCFzYW5kYm94QWNjZXNzKCkpOwogfQorI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQogVEVTVChXZWJLaXQsIEFjY2Vzc2liaWxpdHlIYXNGcm9udGJvYXJkU2VydmljZUFjY2Vz
cykKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVM
YW5ndWFnZXNQcmVmZXJlbmNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tCShub25leGlz
dGVudCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVM
YW5ndWFnZXNQcmVmZXJlbmNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTMgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKworI2lmIFdLX0hBVkVfQ19TUEkKKworI2lt
cG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKwor
VEVTVChXZWJLaXQsIE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKQoreworICAgIE5T
RGljdGlvbmFyeSAqZGljdCA9IEB7CisgICAgICAgIEAiQXBwbGVMYW5ndWFnZXMiOiBAWyBAImVu
LUdCIiBdLAorICAgIH07CisKKyAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1
bHRzXSBzZXRWb2xhdGlsZURvbWFpbjpkaWN0IGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisK
KyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlv
biBhbGxvY10gaW5pdF0pOworICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dCA9
IGFkb3B0V0soVGVzdFdlYktpdEFQSTo6VXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVjdGVkQnVu
ZGxlVGVzdCgiSW50ZXJuYWxzSW5qZWN0ZWRCdW5kbGVUZXN0IikpOworICAgIGNvbmZpZ3VyYXRp
b24uZ2V0KCkucHJvY2Vzc1Bvb2wgPSAoV0tQcm9jZXNzUG9vbCAqKWNvbnRleHQuZ2V0KCk7Cisg
ICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRo
RnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAzMDAsIDMwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0
aW9uLmdldCgpIGFkZFRvV2luZG93OllFU10pOworCisgICAgYXV0byBwcmVmZXJyZWRMYW5ndWFn
ZSA9IFsmXSB7CisgICAgICAgIHJldHVybiBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZh
U2NyaXB0OkAid2luZG93LmludGVybmFscy51c2VyUHJlZmVycmVkTGFuZ3VhZ2VzKClbMF0iXTsK
KyAgICB9OworCisgICAgQVNTRVJUX1RSVUUoW3ByZWZlcnJlZExhbmd1YWdlKCkgaXNFcXVhbDpA
ImVuLWdiIl0pOworfQorCisjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQpJbmRleDogVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUHJlZmVyZW5jZUNoYW5nZXMubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUHJlZmVyZW5jZUNoYW5nZXMubW0J
KHJldmlzaW9uIDI2ODgyNSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1By
ZWZlcmVuY2VDaGFuZ2VzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zODEsNiArMzgxLDcgQEAgVEVT
VChXZWJLaXQsIFByZWZlcmVuY2VDaGFuZ2VzTmlsKQogICAgIENMRUFSX0RFRkFVTFRTKCk7CiB9
CiAKKyNpZiBFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKIHN0YXRpYyBJTVAgc2hhcmVkSW5z
dGFuY2VNZXRob2RPcmlnaW5hbCA9IG5pbDsKIHN0YXRpYyBib29sIHNoYXJlZEluc3RhbmNlQ2Fs
bGVkID0gZmFsc2U7CiAKQEAgLTQxMCw1ICs0MTEsNiBAQCBURVNUKFdlYktpdCwgUHJlZmVyZW5j
ZU9ic2VydmVyU3RhcnRlZE9uCiAKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJnNoYXJl
ZEluc3RhbmNlQ2FsbGVkKTsKIH0KKyNlbmRpZgogCiAjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412674</attachid>
            <date>2020-10-29 13:13:17 -0700</date>
            <delta_ts>2020-10-29 14:17:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218097-20201029131316.patch</filename>
            <type>text/plain</type>
            <size>21684</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNjkwMzgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDIwLTEwLTI5ICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFNldCBwcmVmZXJlbmNlIGZvciBv
dmVycmlkZGVuIGxhbmd1YWdlcyBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFmdGVyIGVudGVy
aW5nIHRoZSBzYW5kYm94LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE4MDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRGlzYWJsZSBDRlByZWZzIGRpcmVjdCBtb2RlIGZvciBvbGRlciB2ZXJzaW9ucyBv
ZiBtYWNPUy4gSW4gcHJhY3RpY2UsIGl0IHdhcyBhbHJlYWR5IGRpc2FibGVkIHNpbmNlIGEgbWFj
aCBjb25uZWN0aW9uIHRvIGNmcHJlZnNkCisgICAgICAgIHdhcyBlc3RhYmxpc2hlZCBiZWZvcmUg
ZW50ZXJpbmcgdGhlIHNhbmRib3ggb24gb2xkZXIgdmVyc2lvbnMgb24gbWFjT1MsIGJ1dCB0aGF0
IGlzIGZpeGVkIGluIHRoaXMgcGF0Y2guCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1FbmFibGVD
b2NvYS5oOgorCiAyMDIwLTEwLTE1ICBUYWRldSBaYWdhbGxvICA8dHphZ2FsbG9AYXBwbGUuY29t
PgogCiAgICAgICAgIFNpZ24gTWFjcm9Bc3NlbWJsZXI6Omp1bXBzVG9MaW5rCkluZGV4OiBTb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCShyZXZpc2lvbiAyNjg4MjUpCisrKyBTb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMyw3ICsx
MDMsNyBAQAogI2RlZmluZSBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HIDEKICNlbmRpZgogCi0j
aWYgIWRlZmluZWQoRU5BQkxFX0NGUFJFRlNfRElSRUNUX01PREUpCisjaWYgIWRlZmluZWQoRU5B
QkxFX0NGUFJFRlNfRElSRUNUX01PREUpICYmIChQTEFURk9STShJT1NfRkFNSUxZKSB8fCBQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKQog
I2RlZmluZSBFTkFCTEVfQ0ZQUkVGU19ESVJFQ1RfTU9ERSAxCiAjZW5kaWYKIApJbmRleDogU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cJKHJldmlzaW9uIDI2OTE0OSkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMTAtMjkgIFBlciBBcm5lIFZvbGxhbiAgPHB2
b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gU2V0IHByZWZlcmVuY2UgZm9yIG92
ZXJyaWRkZW4gbGFuZ3VhZ2VzIGluIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgYWZ0ZXIgZW50ZXJp
bmcgdGhlIHNhbmRib3guCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTgwOTcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcwNTg2NTQ1PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSwgdGhl
IHByZWZlcmVuY2UgZm9yIG92ZXJyaWRkZW4gbGFuZ3VhZ2VzIGluIHRoZSBXZWJDb250ZW50IHBy
b2Nlc3MgaXMgc2V0IGJlZm9yZSBlbnRlcmluZyB0aGUgc2FuZGJveCwKKyAgICAgICAgd2hpY2gg
bGVhdmVzIGJlaGluZCBhbiBvcGVuIGNvbm5lY3Rpb24gdG8gb3BlbmRpcmVjdG9yeWQuIFRoaXMg
cHJlZmVyZW5jZSBzaG91bGQgYmUgc2V0IGFmdGVyIGVudGVyaW5nIHRoZQorICAgICAgICBzYW5k
Ym94IHRvIGF2b2lkIHRoaXMuIFRoaXMgcGF0Y2ggc2V0cyB0aGUgcHJlZmVyZW5jZSBhZnRlciB0
aGUgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gaGFzIGJlZW4gZXhlY3V0ZWQuCisKKyAgICAgICAg
QVBJIHRlc3Q6IFdlYktpdC5PdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZQorCisgICAg
ICAgICogU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2
aWNlTWFpbi5tbToKKyAgICAgICAgKFdlYktpdDo6c2V0QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNl
KToKKyAgICAgICAgKFdlYktpdDo6WFBDU2VydmljZUV2ZW50SGFuZGxlcik6CisgICAgICAgIChX
ZWJLaXQ6OlhQQ1NlcnZpY2VNYWluKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvbS5hcHBsZS5X
ZWJQcm9jZXNzLnNiLmluOgorCiAyMDIwLTEwLTI5ICBDaHJpcyBMb3JkICA8Y2xvcmRAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbR1RLXSBTbW9vdGggc2Nyb2xsaW5nIHNob3VsZCBub3QgYXBwbHkg
dG8gY29udGludW91cyBzY3JvbGxpbmcgd2l0aCBzeW5jIHNjcm9sbGluZwpJbmRleDogU291cmNl
L1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1Nl
cnZpY2VNYWluLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0VudHJ5UG9p
bnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5tbQkocmV2aXNpb24g
MjY4ODI1KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2Nv
YS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2ICsz
OSwyNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorc3RhdGljIHZvaWQgc2V0QXBwbGVMYW5n
dWFnZXNQcmVmZXJlbmNlKCkKK3sKKyAgICBhdXRvIGJvb3RzdHJhcCA9IGFkb3B0T1NPYmplY3Qo
eHBjX2NvcHlfYm9vdHN0cmFwKCkpOworICAgIGlmICghYm9vdHN0cmFwKQorICAgICAgICByZXR1
cm47CisKKyAgICBpZiAoeHBjX29iamVjdF90IGxhbmd1YWdlcyA9IHhwY19kaWN0aW9uYXJ5X2dl
dF92YWx1ZShib290c3RyYXAuZ2V0KCksICJPdmVycmlkZUxhbmd1YWdlcyIpKSB7CisgICAgICAg
IEBhdXRvcmVsZWFzZXBvb2wgeworICAgICAgICAgICAgTlNEaWN0aW9uYXJ5ICpleGlzdGluZ0Fy
Z3VtZW50cyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHZvbGF0aWxl
RG9tYWluRm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKKyAgICAgICAgICAgIE5TTXV0YWJsZURp
Y3Rpb25hcnkgKm5ld0FyZ3VtZW50cyA9IFtleGlzdGluZ0FyZ3VtZW50cyBtdXRhYmxlQ29weV07
CisgICAgICAgICAgICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+IG5ld0xhbmd1YWdlcyA9IGFk
b3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOworICAgICAgICAgICAgeHBjX2Fy
cmF5X2FwcGx5KGxhbmd1YWdlcywgXihzaXplX3QgaW5kZXgsIHhwY19vYmplY3RfdCB2YWx1ZSkg
eworICAgICAgICAgICAgICAgIFtuZXdMYW5ndWFnZXMgYWRkT2JqZWN0OltOU1N0cmluZyBzdHJp
bmdXaXRoQ1N0cmluZzp4cGNfc3RyaW5nX2dldF9zdHJpbmdfcHRyKHZhbHVlKSBlbmNvZGluZzpO
U1VURjhTdHJpbmdFbmNvZGluZ11dOworICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICBbbmV3QXJndW1lbnRzIHNldFZhbHVlOm5ld0xhbmd1
YWdlcy5nZXQoKSBmb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOworICAgICAgICAgICAgW1tOU1Vz
ZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRpbGVEb21haW46bmV3QXJn
dW1lbnRzIGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisgICAgICAgIH0KKyAgICB9Cit9CisK
IHN0YXRpYyB2b2lkIFhQQ1NlcnZpY2VFdmVudEhhbmRsZXIoeHBjX2Nvbm5lY3Rpb25fdCBwZWVy
KQogewogICAgIHN0YXRpYyB4cGNfb2JqZWN0X3QgcHJpb3JpdHlCb29zdE1lc3NhZ2UgPSBudWxs
cHRyOwpAQCAtOTgsNiArMTE5LDggQEAgc3RhdGljIHZvaWQgWFBDU2VydmljZUV2ZW50SGFuZGxl
cih4cGNfYwogCiAgICAgICAgICAgICAgICAgZGlzcGF0Y2hfc3luYyhkaXNwYXRjaF9nZXRfbWFp
bl9xdWV1ZSgpLCBeewogICAgICAgICAgICAgICAgICAgICBpbml0aWFsaXplckZ1bmN0aW9uUHRy
KHBlZXIsIGV2ZW50LCBwcmlvcml0eUJvb3N0TWVzc2FnZSk7CisKKyAgICAgICAgICAgICAgICAg
ICAgc2V0QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKCk7CiAgICAgICAgICAgICAgICAgfSk7CiAK
ICAgICAgICAgICAgICAgICBpZiAocHJpb3JpdHlCb29zdE1lc3NhZ2UpCkBAIC0xNDQsMTUgKzE2
NywxNSBAQCBpbnQgWFBDU2VydmljZU1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIqCiAjZW5kaWYK
IAogICAgIGF1dG8gYm9vdHN0cmFwID0gYWRvcHRPU09iamVjdCh4cGNfY29weV9ib290c3RyYXAo
KSk7Ci0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBhdXRvIGNvbnRhaW5lckVudmlyb25t
ZW50VmFyaWFibGVzID0geHBjX2RpY3Rpb25hcnlfZ2V0X3ZhbHVlKGJvb3RzdHJhcC5nZXQoKSwg
IkNvbnRhaW5lckVudmlyb25tZW50VmFyaWFibGVzIik7Ci0gICAgeHBjX2RpY3Rpb25hcnlfYXBw
bHkoY29udGFpbmVyRW52aXJvbm1lbnRWYXJpYWJsZXMsIF4oY29uc3QgY2hhciAqa2V5LCB4cGNf
b2JqZWN0X3QgdmFsdWUpIHsKLSAgICAgICAgc2V0ZW52KGtleSwgeHBjX3N0cmluZ19nZXRfc3Ry
aW5nX3B0cih2YWx1ZSksIDEpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9KTsKLSNlbmRp
ZgogCiAgICAgaWYgKGJvb3RzdHJhcCkgeworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAg
ICAgIGF1dG8gY29udGFpbmVyRW52aXJvbm1lbnRWYXJpYWJsZXMgPSB4cGNfZGljdGlvbmFyeV9n
ZXRfdmFsdWUoYm9vdHN0cmFwLmdldCgpLCAiQ29udGFpbmVyRW52aXJvbm1lbnRWYXJpYWJsZXMi
KTsKKyAgICAgICAgeHBjX2RpY3Rpb25hcnlfYXBwbHkoY29udGFpbmVyRW52aXJvbm1lbnRWYXJp
YWJsZXMsIF4oY29uc3QgY2hhciAqa2V5LCB4cGNfb2JqZWN0X3QgdmFsdWUpIHsKKyAgICAgICAg
ICAgIHNldGVudihrZXksIHhwY19zdHJpbmdfZ2V0X3N0cmluZ19wdHIodmFsdWUpLCAxKTsKKyAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9KTsKKyNlbmRpZgogI2lmIFBMQVRGT1JN
KE1BQykKICNpZiBBU0FOX0VOQUJMRUQKICAgICAgICAgLy8gRVhDX1JFU09VUkNFIG9uIEFTQU4g
YnVpbGRzIGZyZWV6ZXMgdGhlIHByb2Nlc3MgZm9yIHNldmVyYWwgbWludXRlczogcmRhcjovLzY1
MDI3NTk2CkBAIC0xNzUsMjAgKzE5OCw2IEBAIGludCBYUENTZXJ2aWNlTWFpbihpbnQgYXJnYywg
Y29uc3QgY2hhcioKICAgICAgICAgICAgIGNyYXNoRHVlV2ViS2l0RnJhbWV3b3JrVmVyc2lvbk1p
c21hdGNoKCk7CiAgICAgICAgIH0KICNlbmRpZgotCi0gICAgICAgIGlmICh4cGNfb2JqZWN0X3Qg
bGFuZ3VhZ2VzID0geHBjX2RpY3Rpb25hcnlfZ2V0X3ZhbHVlKGJvb3RzdHJhcC5nZXQoKSwgIk92
ZXJyaWRlTGFuZ3VhZ2VzIikpIHsKLSAgICAgICAgICAgIEBhdXRvcmVsZWFzZXBvb2wgewotICAg
ICAgICAgICAgICAgIE5TRGljdGlvbmFyeSAqZXhpc3RpbmdBcmd1bWVudHMgPSBbW05TVXNlckRl
ZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNBcmd1
bWVudERvbWFpbl07Ci0gICAgICAgICAgICAgICAgTlNNdXRhYmxlRGljdGlvbmFyeSAqbmV3QXJn
dW1lbnRzID0gW2V4aXN0aW5nQXJndW1lbnRzIG11dGFibGVDb3B5XTsKLSAgICAgICAgICAgICAg
ICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+IG5ld0xhbmd1YWdlcyA9IGFkb3B0TlMoW1tOU011
dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOwotICAgICAgICAgICAgICAgIHhwY19hcnJheV9hcHBs
eShsYW5ndWFnZXMsIF4oc2l6ZV90IGluZGV4LCB4cGNfb2JqZWN0X3QgdmFsdWUpIHsKLSAgICAg
ICAgICAgICAgICAgICAgW25ld0xhbmd1YWdlcyBhZGRPYmplY3Q6W05TU3RyaW5nIHN0cmluZ1dp
dGhDU3RyaW5nOnhwY19zdHJpbmdfZ2V0X3N0cmluZ19wdHIodmFsdWUpIGVuY29kaW5nOk5TVVRG
OFN0cmluZ0VuY29kaW5nXV07Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAg
ICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIFtuZXdBcmd1bWVudHMgc2V0VmFsdWU6
bmV3TGFuZ3VhZ2VzLmdldCgpIGZvcktleTpAIkFwcGxlTGFuZ3VhZ2VzIl07Ci0gICAgICAgICAg
ICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRpbGVE
b21haW46bmV3QXJndW1lbnRzIGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0KICAgICB9CiAKICNpZiBQTEFURk9STShNQUMpCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCShy
ZXZpc2lvbiAyNjg4MjUpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldl
YlByb2Nlc3Muc2IuaW4JKHdvcmtpbmcgY29weSkKQEAgLTQ3MCw2ICs0NzAsMTQgQEAKICkKICNl
bmRpZgogCisjaWYgIUVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQorKGFsbG93IG1hY2gtbG9v
a3VwCisgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuY2ZwcmVmc2QuYWdlbnQiKQorICAgIChn
bG9iYWwtbmFtZSAiY29tLmFwcGxlLmNmcHJlZnNkLmRhZW1vbiIpCispCisjZW5kaWYKKworCiA7
OyBVdGlsaXR5IGZ1bmN0aW9ucyBmb3IgaG9tZSBkaXJlY3RvcnkgcmVsYXRpdmUgcGF0aCBmaWx0
ZXJzCiAoZGVmaW5lIChob21lLXJlZ2V4IGhvbWUtcmVsYXRpdmUtcmVnZXgpCiAgIChyZWdleCAo
c3RyaW5nLWFwcGVuZCAiXiIgKHJlZ2V4LXF1b3RlIChwYXJhbSAiSE9NRV9ESVIiKSkgaG9tZS1y
ZWxhdGl2ZS1yZWdleCkpKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjY5MTU4KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMTAtMjkgIFBlciBBcm5lIFZvbGxhbiAg
PHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gU2V0IHByZWZlcmVuY2UgZm9y
IG92ZXJyaWRkZW4gbGFuZ3VhZ2VzIGluIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgYWZ0ZXIgZW50
ZXJpbmcgdGhlIHNhbmRib3guCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTgwOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0FjY2Vzc2li
aWxpdHlSZWR1Y2VNb3Rpb24ubW06CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvRW5hYmxlQWNjZXNzaWJpbGl0eS5tbToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9PdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbTogQWRkZWQuCisgICAg
ICAgIChURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9QcmVmZXJl
bmNlQ2hhbmdlcy5tbToKKwogMjAyMC0xMC0yOSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5j
b20+CiAKICAgICAgICAgW1Rlc3RpbmddIFJlbW92ZSByZXF1aXJlbWVudCBvZiBhZGRpbmcgbmV3
IFNQSSBmb3IgZWFjaCBwcmVmZXJlbmNlIHRoYXQgbmVlZHMgdGVzdGluZyAoV2ViS2l0TGVnYWN5
IFdpbmRvd3MpCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjY4ODI1KQor
KysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTkzOSw2ICs5MzksNyBAQAogCQlDMEFEQkU5NjEyRkNB
NzlCMDBEMkMxMjkgLyogc2ltcGxlLWZvcm0uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEFEQkU4NDEyRkNBNkI2MDBEMkMxMjkgLyog
c2ltcGxlLWZvcm0uaHRtbCAqLzsgfTsKIAkJQzBCRDY2OUYxMzFEM0NGRjAwRTE4RjJBIC8qIFJl
c3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwQkQ2NjlFMTMxRDNDRkYwMEUxOEYy
QSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5X0J1bmRsZS5jcHAgKi87IH07
CiAJCUMwQzVEM0M2MTQ1OTkxMjkwMEE4MDJBNiAvKiBHZXRCYWNraW5nU2NhbGVGYWN0b3JfQnVu
ZGxlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBD
NUQzQkQxNDU5OEI2RjAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvcl9CdW5kbGUubW0g
Ki87IH07CisJCUMxMDRCQzFGMjU0NzIzNzEwMEMwNzhDOSAvKiBPdmVycmlkZUFwcGxlTGFuZ3Vh
Z2VzUHJlZmVyZW5jZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEMxMDRCQzFFMjU0NzIzNzEwMEMwNzhDOSAvKiBPdmVycmlkZUFwcGxlTGFuZ3VhZ2Vz
UHJlZmVyZW5jZS5tbSAqLzsgfTsKIAkJQzEzRDgyRDkyNDE2RjEzMjAwQTYyNzkzIC8qIEVuYWJs
ZUFjY2Vzc2liaWxpdHkubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDMTNEODJEODI0MTZGMTMyMDBBNjI3OTMgLyogRW5hYmxlQWNjZXNzaWJpbGl0eS5t
bSAqLzsgfTsKIAkJQzE0OUQ1NTAyNDJFOThERjAwM0VCQjEyIC8qIFNsZWVwRGlzYWJsZXIubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTQ5RDU0RjI0
MkU5ODQ0MDAzRUJCMTIgLyogU2xlZXBEaXNhYmxlci5tbSAqLzsgfTsKIAkJQzE0RDMwNDYyNEI0
QzNCQTAwNDgwMzg3IC8qIFhQQ0VuZHBvaW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzE0RDMwNDUyNEI0QzNCQTAwNDgwMzg3IC8qIFhQQ0VuZHBv
aW50Lm1tICovOyB9OwpAQCAtMjYzMiw2ICsyNjMzLDcgQEAKIAkJQzBCRDY2OUUxMzFEM0NGRjAw
RTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc3BvbnNpdmVuZXNzVGltZXJE
b2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QzBDNUQzQkMxNDU5OEI2RjAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvci5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEdldEJhY2tpbmdTY2FsZUZhY3Rv
ci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBDNUQzQkQxNDU5OEI2RjAwQTgw
MkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvcl9CdW5kbGUubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBHZXRCYWNraW5nU2NhbGVGYWN0b3JfQnVuZGxlLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMTA0QkMxRTI1NDcyMzcxMDBDMDc4QzkgLyog
T3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBPdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQzEzRDgyRDgyNDE2RjEzMjAwQTYyNzkzIC8qIEVuYWJsZUFjY2Vzc2liaWxp
dHkubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBFbmFibGVBY2Nlc3NpYmlsaXR5Lm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMTQ5RDU0RjI0MkU5ODQ0MDAzRUJCMTIgLyogU2xl
ZXBEaXNhYmxlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNs
ZWVwRGlzYWJsZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxNEQzMDQ1MjRC
NEMzQkEwMDQ4MDM4NyAvKiBYUENFbmRwb2ludC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFhQ
Q0VuZHBvaW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzEzMCw2ICszMTMy
LDcgQEAKIAkJCQlFMzk0QUU2RTIzRjIzMDNFMDA1QjQ5MzYgLyogR3JhbnRBY2Nlc3NUb01vYmls
ZUFzc2V0cy5tbSAqLywKIAkJCQlFMzRBNkQxODI0MTJERTM5MDAxMkFCNkUgLyogR3JhbnRBY2Nl
c3NUb1ByZWZlcmVuY2VzU2VydmljZS5tbSAqLywKIAkJCQlFMzVCOTA4MTIzRjYwREQwMDAwMDEx
RkYgLyogTG9jYWxpemVkRGV2aWNlTW9kZWwubW0gKi8sCisJCQkJQzEwNEJDMUUyNTQ3MjM3MTAw
QzA3OEM5IC8qIE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tICovLAogCQkJCUUz
MjVDOTA2MjNFMzg3MDIwMEJDN0QzQiAvKiBQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydC5tbSAqLywK
IAkJCQlDMTVDQkIzRTIzRkIxNzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gKi8s
CiAJCQkJQzE0OUQ1NEYyNDJFOTg0NDAwM0VCQjEyIC8qIFNsZWVwRGlzYWJsZXIubW0gKi8sCkBA
IC01MzEwLDYgKzUzMTMsNyBAQAogCQkJCTdDQ0U3RjI1MUE0MTFBRjYwMDQ0N0M0QyAvKiBPcGVu
QW5kQ2xvc2VXaW5kb3cubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQ0IyRjI3QzI0Rjg4Mzc5MDAw
QTVCQzEgLyogT3J0aG9nb25hbEZsb3dBdmFpbGFibGVTaXplLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMEYzNDA3NzYyMzAzN0ZEQzAwNjBBMUEwIC8qIE92ZXJmbG93U2Nyb2xsVmlld1Rlc3RzLm1t
IGluIFNvdXJjZXMgKi8sCisJCQkJQzEwNEJDMUYyNTQ3MjM3MTAwQzA3OEM5IC8qIE92ZXJyaWRl
QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0VCQ0ExMkYx
RTNBNjYwMTAwQzczMjkzIC8qIE92ZXJyaWRlQ29udGVudFNlY3VyaXR5UG9saWN5Lm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJMkRBMjU4NkYyMjVDNjdEQzAwQjQ1QzFDIC8qIE92ZXJyaWRlVmlld3Bv
cnRBcmd1bWVudHMubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NCNERBOTFDODNBRTczMDBDQzY5
MTggLyogUGFnZUdyb3VwLmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQvQWNjZXNzaWJpbGl0eVJlZHVjZU1vdGlvbi5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9BY2Nlc3NpYmlsaXR5UmVkdWNl
TW90aW9uLm1tCShyZXZpc2lvbiAyNjg4MjUpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9BY2Nlc3NpYmlsaXR5UmVkdWNlTW90aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0y
NSw3ICsyNSw3IEBACiAKICNpbXBvcnQgImNvbmZpZy5oIgogCi0jaWYgV0tfSEFWRV9DX1NQSQor
I2lmIFdLX0hBVkVfQ19TUEkgJiYgRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCiAKICNpbXBv
cnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCkluZGV4
OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9FbmFibGVBY2Nlc3NpYmlsaXR5Lm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0VuYWJsZUFj
Y2Vzc2liaWxpdHkubW0JKHJldmlzaW9uIDI2ODgyNSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0L0VuYWJsZUFjY2Vzc2liaWxpdHkubW0JKHdvcmtpbmcgY29weSkKQEAgLTc2
LDYgKzc2LDcgQEAgVEVTVChXZWJLaXQsIEFjY2Vzc2liaWxpdHlIYXNQcmVmZXJlbmNlcwogICAg
IFtOU0FwcCBhY2Nlc3NpYmlsaXR5U2V0RW5oYW5jZWRVc2VySW50ZXJmYWNlQXR0cmlidXRlOkAo
Tk8pXTsKIH0KIAorI2lmIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogVEVTVChXZWJLaXQs
IEFjY2Vzc2liaWxpdHlIYXNOb1ByZWZlcmVuY2VzU2VydmljZUFjY2Vzc1doZW5Qb3N0aW5nTm90
aWZpY2F0aW9uKQogewogICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZp
ZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CkBAIC05NSw2ICs5Niw3IEBAIFRFU1QoV2Vi
S2l0LCBBY2Nlc3NpYmlsaXR5SGFzTm9QcmVmZXJlbmMKIAogICAgIEFTU0VSVF9UUlVFKCFzYW5k
Ym94QWNjZXNzKCkpOwogfQorI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogVEVT
VChXZWJLaXQsIEFjY2Vzc2liaWxpdHlIYXNGcm9udGJvYXJkU2VydmljZUFjY2VzcykKSW5kZXg6
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQ
cmVmZXJlbmNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tCShub25leGlzdGVudCkKKysr
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQ
cmVmZXJlbmNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW1wb3J0ICJjb25maWcuaCIKKworI2lmIFdLX0hBVkVfQ19TUEkKKworI2ltcG9ydCAiUGxh
dGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKworVEVTVChXZWJL
aXQsIE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKQoreworICAgIE5TRGljdGlvbmFy
eSAqZGljdCA9IEB7CisgICAgICAgIEAiQXBwbGVMYW5ndWFnZXMiOiBAWyBAImVuLUdCIiBdLAor
ICAgIH07CisKKyAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRW
b2xhdGlsZURvbWFpbjpkaWN0IGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisKKyAgICBhdXRv
IGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10g
aW5pdF0pOworICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0so
VGVzdFdlYktpdEFQSTo6VXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVjdGVkQnVuZGxlVGVzdCgi
SW50ZXJuYWxzSW5qZWN0ZWRCdW5kbGVUZXN0IikpOworICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCku
cHJvY2Vzc1Bvb2wgPSAoV0tQcm9jZXNzUG9vbCAqKWNvbnRleHQuZ2V0KCk7CisgICAgYXV0byB3
ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNN
YWtlUmVjdCgwLCAwLCAzMDAsIDMwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgp
IGFkZFRvV2luZG93OllFU10pOworCisgICAgYXV0byBwcmVmZXJyZWRMYW5ndWFnZSA9IFsmXSB7
CisgICAgICAgIHJldHVybiBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAi
d2luZG93LmludGVybmFscy51c2VyUHJlZmVycmVkTGFuZ3VhZ2VzKClbMF0iXTsKKyAgICB9Owor
CisgICAgQVNTRVJUX1RSVUUoW3ByZWZlcnJlZExhbmd1YWdlKCkgaXNFcXVhbDpAImVuLWdiIl0p
OworfQorCisjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvUHJlZmVyZW5jZUNoYW5nZXMubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUHJlZmVyZW5jZUNoYW5nZXMubW0JKHJldmlzaW9u
IDI2ODgyNSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1ByZWZlcmVuY2VD
aGFuZ2VzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zODEsNiArMzgxLDcgQEAgVEVTVChXZWJLaXQs
IFByZWZlcmVuY2VDaGFuZ2VzTmlsKQogICAgIENMRUFSX0RFRkFVTFRTKCk7CiB9CiAKKyNpZiBF
TkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKIHN0YXRpYyBJTVAgc2hhcmVkSW5zdGFuY2VNZXRo
b2RPcmlnaW5hbCA9IG5pbDsKIHN0YXRpYyBib29sIHNoYXJlZEluc3RhbmNlQ2FsbGVkID0gZmFs
c2U7CiAKQEAgLTQxMCw1ICs0MTEsNiBAQCBURVNUKFdlYktpdCwgUHJlZmVyZW5jZU9ic2VydmVy
U3RhcnRlZE9uCiAKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJnNoYXJlZEluc3RhbmNl
Q2FsbGVkKTsKIH0KKyNlbmRpZgogCiAjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQpJbmRleDogTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwko
cmV2aXNpb24gMjY5MTYxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMTAtMjkgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5A
YXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gU2V0IHByZWZlcmVuY2UgZm9yIG92ZXJyaWRk
ZW4gbGFuZ3VhZ2VzIGluIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgYWZ0ZXIgZW50ZXJpbmcgdGhl
IHNhbmRib3guCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTgwOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgdGVzdCBmb3Igc2FuZGJveCBhY2Nlc3MgdG8gY2ZwcmVmc2QuZGFlbW9uLCBhbmQgbWFy
ayBjZnByZWZzZCB0ZXN0cyBhcyBmYWlsaW5nIGZvciBNb2phdmUsIHNpbmNlIENGUHJlZnMKKyAg
ICAgICAgZGlyZWN0IG1vZGUgaXMgbm90IGVuYWJsZWQgb24gdGhhdCB2ZXJzaW9uIG9mIG1hY09T
LgorCisgICAgICAgICogZmFzdC9zYW5kYm94L21hYy9zYW5kYm94LW1hY2gtbG9va3VwLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L3NhbmRib3gvbWFjL3NhbmRib3gtbWFjaC1sb29rdXAu
aHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbW9qYXZlL2Zhc3Qvc2FuZGJveDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vbWFjLW1vamF2ZS9mYXN0L3NhbmRib3gvbWFjOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbW9qYXZlL2Zhc3Qvc2FuZGJveC9tYWMvc2FuZGJveC1t
YWNoLWxvb2t1cC1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDIwLTEwLTI5ICBTYWlkIEFib3Ut
SGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04oMjY5MDY1KTog
W0dQVSBQcm9jZXNzXTogT3JkZXIgb2YgZHJhd2luZyBoYXMgdG8gYmUgcHJlc2VydmVkIHdoZW4g
ZHJhd2luZyBhIGNhbnZhcyB0byBhbm90aGVyIGNhbnZhcwpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9zYW5kYm94L21hYy9zYW5kYm94LW1hY2gtbG9va3VwLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NhbmRib3gvbWFjL3NhbmRib3gtbWFjaC1sb29rdXAtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAyNjg4MjUpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NhbmRib3gv
bWFjL3NhbmRib3gtbWFjaC1sb29rdXAtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00
LDYgKzQsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBCiAKIAog
UEFTUyBpbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUoImNv
bS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCIsICJjb20uYXBwbGUuY2ZwcmVmc2QuYWdlbnQiKSBp
cyBmYWxzZQorUEFTUyBpbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29rdXBBY2Nlc3NUb0dsb2Jh
bE5hbWUoImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCIsICJjb20uYXBwbGUuY2ZwcmVmc2Qu
ZGFlbW9uIikgaXMgZmFsc2UKIFBBU1MgaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9va3VwQWNj
ZXNzVG9HbG9iYWxOYW1lKCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiLCAiY29tLmFwcGxl
Lm5laGVscGVyIikgaXMgZmFsc2UKIFBBU1MgaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9va3Vw
QWNjZXNzVG9HbG9iYWxOYW1lKCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiLCAiY29tLmFw
cGxlLm5lc2Vzc2lvbm1hbmFnZXIiKSBpcyBmYWxzZQogUEFTUyBpbnRlcm5hbHMuaGFzU2FuZGJv
eE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUoImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVu
dCIsICJjb20uYXBwbGUubmVzZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciIpIGlzIGZhbHNl
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NhbmRib3gvbWFjL3NhbmRib3gtbWFjaC1sb29rdXAu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NhbmRib3gvbWFjL3NhbmRib3gt
bWFjaC1sb29rdXAuaHRtbAkocmV2aXNpb24gMjY4ODI1KQorKysgTGF5b3V0VGVzdHMvZmFzdC9z
YW5kYm94L21hYy9zYW5kYm94LW1hY2gtbG9va3VwLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTcs
NiArNyw3IEBAIGRlc2NyaXB0aW9uKCdSZWdyZXNzaW9uIHRlc3RzIGZvciBtYWNoIGwKIAogaWYg
KHdpbmRvdy5pbnRlcm5hbHMpIHsKICAgICBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaGFzU2Fu
ZGJveE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUoXCJjb20uYXBwbGUuV2ViS2l0LldlYkNv
bnRlbnRcIiwgXCJjb20uYXBwbGUuY2ZwcmVmc2QuYWdlbnRcIikiKTsKKyAgICBzaG91bGRCZUZh
bHNlKCJpbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUoXCJj
b20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnRcIiwgXCJjb20uYXBwbGUuY2ZwcmVmc2QuZGFlbW9u
XCIpIik7CiAgICAgc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9va3Vw
QWNjZXNzVG9HbG9iYWxOYW1lKFwiY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50XCIsIFwiY29t
LmFwcGxlLm5laGVscGVyXCIpIik7CiAgICAgc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmhhc1Nh
bmRib3hNYWNoTG9va3VwQWNjZXNzVG9HbG9iYWxOYW1lKFwiY29tLmFwcGxlLldlYktpdC5XZWJD
b250ZW50XCIsIFwiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXJcIikiKTsKICAgICBzaG91bGRC
ZUZhbHNlKCJpbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUo
XCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnRcIiwgXCJjb20uYXBwbGUubmVzZXNzaW9ubWFu
YWdlci5jb250ZW50LWZpbHRlclwiKSIpOwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LW1vamF2ZS9mYXN0L3NhbmRib3gvbWFjL3NhbmRib3gtbWFjaC1sb29rdXAtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1tb2phdmUvZmFzdC9zYW5k
Ym94L21hYy9zYW5kYm94LW1hY2gtbG9va3VwLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbW9qYXZlL2Zhc3Qvc2FuZGJveC9tYWMvc2FuZGJv
eC1tYWNoLWxvb2t1cC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNSBA
QAorUmVncmVzc2lvbiB0ZXN0cyBmb3IgbWFjaCBsb29rdXAgc2FuZGJveCBjaGFuZ2VzIG9uIG1h
Y09TCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitGQUlMIGludGVybmFscy5oYXNT
YW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFtZSgiY29tLmFwcGxlLldlYktpdC5XZWJD
b250ZW50IiwgImNvbS5hcHBsZS5jZnByZWZzZC5hZ2VudCIpIGlzIHRydWUKK0ZBSUwgaW50ZXJu
YWxzLmhhc1NhbmRib3hNYWNoTG9va3VwQWNjZXNzVG9HbG9iYWxOYW1lKCJjb20uYXBwbGUuV2Vi
S2l0LldlYkNvbnRlbnQiLCAiY29tLmFwcGxlLmNmcHJlZnNkLmRhZW1vbiIpIGlzIHRydWUKK1BB
U1MgaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9va3VwQWNjZXNzVG9HbG9iYWxOYW1lKCJjb20u
YXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiLCAiY29tLmFwcGxlLm5laGVscGVyIikgaXMgZmFsc2UK
K1BBU1MgaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9va3VwQWNjZXNzVG9HbG9iYWxOYW1lKCJj
b20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiLCAiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIi
KSBpcyBmYWxzZQorUEFTUyBpbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29rdXBBY2Nlc3NUb0ds
b2JhbE5hbWUoImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCIsICJjb20uYXBwbGUubmVzZXNz
aW9ubWFuYWdlci5jb250ZW50LWZpbHRlciIpIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5oYXNT
YW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFtZSgiY29tLmFwcGxlLldlYktpdC5XZWJD
b250ZW50IiwgImNvbS5hcHBsZS5zeXN0ZW0ubG9nZ2VyIikgaXMgZmFsc2UKK1BBU1MgaW50ZXJu
YWxzLmhhc1NhbmRib3hNYWNoTG9va3VwQWNjZXNzVG9HbG9iYWxOYW1lKCJjb20uYXBwbGUuV2Vi
S2l0LldlYkNvbnRlbnQiLCAiY29tLmFwcGxlLmF3ZGQiKSBpcyBmYWxzZQorUEFTUyBpbnRlcm5h
bHMuaGFzU2FuZGJveE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUoImNvbS5hcHBsZS5XZWJL
aXQuV2ViQ29udGVudCIsICJjb20uYXBwbGUuY29va2llZCIpIGlzIGZhbHNlCitQQVNTIGludGVy
bmFscy5oYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvWFBDU2VydmljZU5hbWUoImNvbS5hcHBs
ZS5XZWJLaXQuV2ViQ29udGVudCIsICJjb20uYXBwbGUuUGVyZm9ybWFuY2VBbmFseXNpcy5hbmlt
YXRpb25wZXJmZCIpIGlzIGZhbHNlCisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412684</attachid>
            <date>2020-10-29 14:17:33 -0700</date>
            <delta_ts>2020-10-29 14:45:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218097-20201029141732.patch</filename>
            <type>text/plain</type>
            <size>21722</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNjkwMzgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDIwLTEwLTI5ICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFNldCBwcmVmZXJlbmNlIGZvciBv
dmVycmlkZGVuIGxhbmd1YWdlcyBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFmdGVyIGVudGVy
aW5nIHRoZSBzYW5kYm94LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE4MDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRGlzYWJsZSBDRlByZWZzIGRpcmVjdCBtb2RlIGZvciBvbGRlciB2ZXJzaW9ucyBv
ZiBtYWNPUy4gSW4gcHJhY3RpY2UsIGl0IHdhcyBhbHJlYWR5IGRpc2FibGVkIHNpbmNlIGEgbWFj
aCBjb25uZWN0aW9uIHRvIGNmcHJlZnNkCisgICAgICAgIHdhcyBlc3RhYmxpc2hlZCBiZWZvcmUg
ZW50ZXJpbmcgdGhlIHNhbmRib3ggb24gb2xkZXIgdmVyc2lvbnMgb24gbWFjT1MsIGJ1dCB0aGF0
IGlzIGZpeGVkIGluIHRoaXMgcGF0Y2guCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1FbmFibGVD
b2NvYS5oOgorCiAyMDIwLTEwLTE1ICBUYWRldSBaYWdhbGxvICA8dHphZ2FsbG9AYXBwbGUuY29t
PgogCiAgICAgICAgIFNpZ24gTWFjcm9Bc3NlbWJsZXI6Omp1bXBzVG9MaW5rCkluZGV4OiBTb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCShyZXZpc2lvbiAyNjg4MjUpCisrKyBTb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMyw3ICsx
MDMsNyBAQAogI2RlZmluZSBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HIDEKICNlbmRpZgogCi0j
aWYgIWRlZmluZWQoRU5BQkxFX0NGUFJFRlNfRElSRUNUX01PREUpCisjaWYgIWRlZmluZWQoRU5B
QkxFX0NGUFJFRlNfRElSRUNUX01PREUpICYmIChQTEFURk9STShJT1NfRkFNSUxZKSB8fCBQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKQog
I2RlZmluZSBFTkFCTEVfQ0ZQUkVGU19ESVJFQ1RfTU9ERSAxCiAjZW5kaWYKIApJbmRleDogU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cJKHJldmlzaW9uIDI2OTE0OSkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMTAtMjkgIFBlciBBcm5lIFZvbGxhbiAgPHB2
b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gU2V0IHByZWZlcmVuY2UgZm9yIG92
ZXJyaWRkZW4gbGFuZ3VhZ2VzIGluIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgYWZ0ZXIgZW50ZXJp
bmcgdGhlIHNhbmRib3guCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTgwOTcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcwNTg2NTQ1PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSwgdGhl
IHByZWZlcmVuY2UgZm9yIG92ZXJyaWRkZW4gbGFuZ3VhZ2VzIGluIHRoZSBXZWJDb250ZW50IHBy
b2Nlc3MgaXMgc2V0IGJlZm9yZSBlbnRlcmluZyB0aGUgc2FuZGJveCwKKyAgICAgICAgd2hpY2gg
bGVhdmVzIGJlaGluZCBhbiBvcGVuIGNvbm5lY3Rpb24gdG8gb3BlbmRpcmVjdG9yeWQuIFRoaXMg
cHJlZmVyZW5jZSBzaG91bGQgYmUgc2V0IGFmdGVyIGVudGVyaW5nIHRoZQorICAgICAgICBzYW5k
Ym94IHRvIGF2b2lkIHRoaXMuIFRoaXMgcGF0Y2ggc2V0cyB0aGUgcHJlZmVyZW5jZSBhZnRlciB0
aGUgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gaGFzIGJlZW4gZXhlY3V0ZWQuCisKKyAgICAgICAg
QVBJIHRlc3Q6IFdlYktpdC5PdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZQorCisgICAg
ICAgICogU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2
aWNlTWFpbi5tbToKKyAgICAgICAgKFdlYktpdDo6c2V0QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNl
KToKKyAgICAgICAgKFdlYktpdDo6WFBDU2VydmljZUV2ZW50SGFuZGxlcik6CisgICAgICAgIChX
ZWJLaXQ6OlhQQ1NlcnZpY2VNYWluKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvbS5hcHBsZS5X
ZWJQcm9jZXNzLnNiLmluOgorCiAyMDIwLTEwLTI5ICBDaHJpcyBMb3JkICA8Y2xvcmRAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbR1RLXSBTbW9vdGggc2Nyb2xsaW5nIHNob3VsZCBub3QgYXBwbHkg
dG8gY29udGludW91cyBzY3JvbGxpbmcgd2l0aCBzeW5jIHNjcm9sbGluZwpJbmRleDogU291cmNl
L1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1Nl
cnZpY2VNYWluLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0VudHJ5UG9p
bnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5tbQkocmV2aXNpb24g
MjY4ODI1KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2Nv
YS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2ICsz
OSwyNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorc3RhdGljIHZvaWQgc2V0QXBwbGVMYW5n
dWFnZXNQcmVmZXJlbmNlKCkKK3sKKyAgICBhdXRvIGJvb3RzdHJhcCA9IGFkb3B0T1NPYmplY3Qo
eHBjX2NvcHlfYm9vdHN0cmFwKCkpOworICAgIGlmICghYm9vdHN0cmFwKQorICAgICAgICByZXR1
cm47CisKKyAgICBpZiAoeHBjX29iamVjdF90IGxhbmd1YWdlcyA9IHhwY19kaWN0aW9uYXJ5X2dl
dF92YWx1ZShib290c3RyYXAuZ2V0KCksICJPdmVycmlkZUxhbmd1YWdlcyIpKSB7CisgICAgICAg
IEBhdXRvcmVsZWFzZXBvb2wgeworICAgICAgICAgICAgTlNEaWN0aW9uYXJ5ICpleGlzdGluZ0Fy
Z3VtZW50cyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHZvbGF0aWxl
RG9tYWluRm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKKyAgICAgICAgICAgIE5TTXV0YWJsZURp
Y3Rpb25hcnkgKm5ld0FyZ3VtZW50cyA9IFtleGlzdGluZ0FyZ3VtZW50cyBtdXRhYmxlQ29weV07
CisgICAgICAgICAgICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+IG5ld0xhbmd1YWdlcyA9IGFk
b3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOworICAgICAgICAgICAgeHBjX2Fy
cmF5X2FwcGx5KGxhbmd1YWdlcywgXihzaXplX3QgaW5kZXgsIHhwY19vYmplY3RfdCB2YWx1ZSkg
eworICAgICAgICAgICAgICAgIFtuZXdMYW5ndWFnZXMgYWRkT2JqZWN0OltOU1N0cmluZyBzdHJp
bmdXaXRoQ1N0cmluZzp4cGNfc3RyaW5nX2dldF9zdHJpbmdfcHRyKHZhbHVlKSBlbmNvZGluZzpO
U1VURjhTdHJpbmdFbmNvZGluZ11dOworICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICBbbmV3QXJndW1lbnRzIHNldFZhbHVlOm5ld0xhbmd1
YWdlcy5nZXQoKSBmb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOworICAgICAgICAgICAgW1tOU1Vz
ZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRpbGVEb21haW46bmV3QXJn
dW1lbnRzIGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisgICAgICAgIH0KKyAgICB9Cit9CisK
IHN0YXRpYyB2b2lkIFhQQ1NlcnZpY2VFdmVudEhhbmRsZXIoeHBjX2Nvbm5lY3Rpb25fdCBwZWVy
KQogewogICAgIHN0YXRpYyB4cGNfb2JqZWN0X3QgcHJpb3JpdHlCb29zdE1lc3NhZ2UgPSBudWxs
cHRyOwpAQCAtOTgsNiArMTE5LDggQEAgc3RhdGljIHZvaWQgWFBDU2VydmljZUV2ZW50SGFuZGxl
cih4cGNfYwogCiAgICAgICAgICAgICAgICAgZGlzcGF0Y2hfc3luYyhkaXNwYXRjaF9nZXRfbWFp
bl9xdWV1ZSgpLCBeewogICAgICAgICAgICAgICAgICAgICBpbml0aWFsaXplckZ1bmN0aW9uUHRy
KHBlZXIsIGV2ZW50LCBwcmlvcml0eUJvb3N0TWVzc2FnZSk7CisKKyAgICAgICAgICAgICAgICAg
ICAgc2V0QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKCk7CiAgICAgICAgICAgICAgICAgfSk7CiAK
ICAgICAgICAgICAgICAgICBpZiAocHJpb3JpdHlCb29zdE1lc3NhZ2UpCkBAIC0xNDQsMTUgKzE2
NywxNSBAQCBpbnQgWFBDU2VydmljZU1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIqCiAjZW5kaWYK
IAogICAgIGF1dG8gYm9vdHN0cmFwID0gYWRvcHRPU09iamVjdCh4cGNfY29weV9ib290c3RyYXAo
KSk7Ci0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBhdXRvIGNvbnRhaW5lckVudmlyb25t
ZW50VmFyaWFibGVzID0geHBjX2RpY3Rpb25hcnlfZ2V0X3ZhbHVlKGJvb3RzdHJhcC5nZXQoKSwg
IkNvbnRhaW5lckVudmlyb25tZW50VmFyaWFibGVzIik7Ci0gICAgeHBjX2RpY3Rpb25hcnlfYXBw
bHkoY29udGFpbmVyRW52aXJvbm1lbnRWYXJpYWJsZXMsIF4oY29uc3QgY2hhciAqa2V5LCB4cGNf
b2JqZWN0X3QgdmFsdWUpIHsKLSAgICAgICAgc2V0ZW52KGtleSwgeHBjX3N0cmluZ19nZXRfc3Ry
aW5nX3B0cih2YWx1ZSksIDEpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9KTsKLSNlbmRp
ZgogCiAgICAgaWYgKGJvb3RzdHJhcCkgeworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAg
ICAgIGF1dG8gY29udGFpbmVyRW52aXJvbm1lbnRWYXJpYWJsZXMgPSB4cGNfZGljdGlvbmFyeV9n
ZXRfdmFsdWUoYm9vdHN0cmFwLmdldCgpLCAiQ29udGFpbmVyRW52aXJvbm1lbnRWYXJpYWJsZXMi
KTsKKyAgICAgICAgeHBjX2RpY3Rpb25hcnlfYXBwbHkoY29udGFpbmVyRW52aXJvbm1lbnRWYXJp
YWJsZXMsIF4oY29uc3QgY2hhciAqa2V5LCB4cGNfb2JqZWN0X3QgdmFsdWUpIHsKKyAgICAgICAg
ICAgIHNldGVudihrZXksIHhwY19zdHJpbmdfZ2V0X3N0cmluZ19wdHIodmFsdWUpLCAxKTsKKyAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9KTsKKyNlbmRpZgogI2lmIFBMQVRGT1JN
KE1BQykKICNpZiBBU0FOX0VOQUJMRUQKICAgICAgICAgLy8gRVhDX1JFU09VUkNFIG9uIEFTQU4g
YnVpbGRzIGZyZWV6ZXMgdGhlIHByb2Nlc3MgZm9yIHNldmVyYWwgbWludXRlczogcmRhcjovLzY1
MDI3NTk2CkBAIC0xNzUsMjAgKzE5OCw2IEBAIGludCBYUENTZXJ2aWNlTWFpbihpbnQgYXJnYywg
Y29uc3QgY2hhcioKICAgICAgICAgICAgIGNyYXNoRHVlV2ViS2l0RnJhbWV3b3JrVmVyc2lvbk1p
c21hdGNoKCk7CiAgICAgICAgIH0KICNlbmRpZgotCi0gICAgICAgIGlmICh4cGNfb2JqZWN0X3Qg
bGFuZ3VhZ2VzID0geHBjX2RpY3Rpb25hcnlfZ2V0X3ZhbHVlKGJvb3RzdHJhcC5nZXQoKSwgIk92
ZXJyaWRlTGFuZ3VhZ2VzIikpIHsKLSAgICAgICAgICAgIEBhdXRvcmVsZWFzZXBvb2wgewotICAg
ICAgICAgICAgICAgIE5TRGljdGlvbmFyeSAqZXhpc3RpbmdBcmd1bWVudHMgPSBbW05TVXNlckRl
ZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNBcmd1
bWVudERvbWFpbl07Ci0gICAgICAgICAgICAgICAgTlNNdXRhYmxlRGljdGlvbmFyeSAqbmV3QXJn
dW1lbnRzID0gW2V4aXN0aW5nQXJndW1lbnRzIG11dGFibGVDb3B5XTsKLSAgICAgICAgICAgICAg
ICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+IG5ld0xhbmd1YWdlcyA9IGFkb3B0TlMoW1tOU011
dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOwotICAgICAgICAgICAgICAgIHhwY19hcnJheV9hcHBs
eShsYW5ndWFnZXMsIF4oc2l6ZV90IGluZGV4LCB4cGNfb2JqZWN0X3QgdmFsdWUpIHsKLSAgICAg
ICAgICAgICAgICAgICAgW25ld0xhbmd1YWdlcyBhZGRPYmplY3Q6W05TU3RyaW5nIHN0cmluZ1dp
dGhDU3RyaW5nOnhwY19zdHJpbmdfZ2V0X3N0cmluZ19wdHIodmFsdWUpIGVuY29kaW5nOk5TVVRG
OFN0cmluZ0VuY29kaW5nXV07Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAg
ICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIFtuZXdBcmd1bWVudHMgc2V0VmFsdWU6
bmV3TGFuZ3VhZ2VzLmdldCgpIGZvcktleTpAIkFwcGxlTGFuZ3VhZ2VzIl07Ci0gICAgICAgICAg
ICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRpbGVE
b21haW46bmV3QXJndW1lbnRzIGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0KICAgICB9CiAKICNpZiBQTEFURk9STShNQUMpCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCShy
ZXZpc2lvbiAyNjg4MjUpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldl
YlByb2Nlc3Muc2IuaW4JKHdvcmtpbmcgY29weSkKQEAgLTQ3MCw2ICs0NzAsMTQgQEAKICkKICNl
bmRpZgogCisjaWYgIUVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQorKGFsbG93IG1hY2gtbG9v
a3VwCisgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuY2ZwcmVmc2QuYWdlbnQiKQorICAgIChn
bG9iYWwtbmFtZSAiY29tLmFwcGxlLmNmcHJlZnNkLmRhZW1vbiIpCispCisjZW5kaWYKKworCiA7
OyBVdGlsaXR5IGZ1bmN0aW9ucyBmb3IgaG9tZSBkaXJlY3RvcnkgcmVsYXRpdmUgcGF0aCBmaWx0
ZXJzCiAoZGVmaW5lIChob21lLXJlZ2V4IGhvbWUtcmVsYXRpdmUtcmVnZXgpCiAgIChyZWdleCAo
c3RyaW5nLWFwcGVuZCAiXiIgKHJlZ2V4LXF1b3RlIChwYXJhbSAiSE9NRV9ESVIiKSkgaG9tZS1y
ZWxhdGl2ZS1yZWdleCkpKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjY5MTU4KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMTAtMjkgIFBlciBBcm5lIFZvbGxhbiAg
PHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gU2V0IHByZWZlcmVuY2UgZm9y
IG92ZXJyaWRkZW4gbGFuZ3VhZ2VzIGluIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgYWZ0ZXIgZW50
ZXJpbmcgdGhlIHNhbmRib3guCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTgwOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0FjY2Vzc2li
aWxpdHlSZWR1Y2VNb3Rpb24ubW06CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvRW5hYmxlQWNjZXNzaWJpbGl0eS5tbToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9PdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbTogQWRkZWQuCisgICAg
ICAgIChURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9QcmVmZXJl
bmNlQ2hhbmdlcy5tbToKKwogMjAyMC0xMC0yOSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5j
b20+CiAKICAgICAgICAgW1Rlc3RpbmddIFJlbW92ZSByZXF1aXJlbWVudCBvZiBhZGRpbmcgbmV3
IFNQSSBmb3IgZWFjaCBwcmVmZXJlbmNlIHRoYXQgbmVlZHMgdGVzdGluZyAoV2ViS2l0TGVnYWN5
IFdpbmRvd3MpCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjY4ODI1KQor
KysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTkzOSw2ICs5MzksNyBAQAogCQlDMEFEQkU5NjEyRkNB
NzlCMDBEMkMxMjkgLyogc2ltcGxlLWZvcm0uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEFEQkU4NDEyRkNBNkI2MDBEMkMxMjkgLyog
c2ltcGxlLWZvcm0uaHRtbCAqLzsgfTsKIAkJQzBCRDY2OUYxMzFEM0NGRjAwRTE4RjJBIC8qIFJl
c3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwQkQ2NjlFMTMxRDNDRkYwMEUxOEYy
QSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5X0J1bmRsZS5jcHAgKi87IH07
CiAJCUMwQzVEM0M2MTQ1OTkxMjkwMEE4MDJBNiAvKiBHZXRCYWNraW5nU2NhbGVGYWN0b3JfQnVu
ZGxlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBD
NUQzQkQxNDU5OEI2RjAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvcl9CdW5kbGUubW0g
Ki87IH07CisJCUMxMDRCQzFGMjU0NzIzNzEwMEMwNzhDOSAvKiBPdmVycmlkZUFwcGxlTGFuZ3Vh
Z2VzUHJlZmVyZW5jZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEMxMDRCQzFFMjU0NzIzNzEwMEMwNzhDOSAvKiBPdmVycmlkZUFwcGxlTGFuZ3VhZ2Vz
UHJlZmVyZW5jZS5tbSAqLzsgfTsKIAkJQzEzRDgyRDkyNDE2RjEzMjAwQTYyNzkzIC8qIEVuYWJs
ZUFjY2Vzc2liaWxpdHkubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDMTNEODJEODI0MTZGMTMyMDBBNjI3OTMgLyogRW5hYmxlQWNjZXNzaWJpbGl0eS5t
bSAqLzsgfTsKIAkJQzE0OUQ1NTAyNDJFOThERjAwM0VCQjEyIC8qIFNsZWVwRGlzYWJsZXIubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTQ5RDU0RjI0
MkU5ODQ0MDAzRUJCMTIgLyogU2xlZXBEaXNhYmxlci5tbSAqLzsgfTsKIAkJQzE0RDMwNDYyNEI0
QzNCQTAwNDgwMzg3IC8qIFhQQ0VuZHBvaW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzE0RDMwNDUyNEI0QzNCQTAwNDgwMzg3IC8qIFhQQ0VuZHBv
aW50Lm1tICovOyB9OwpAQCAtMjYzMiw2ICsyNjMzLDcgQEAKIAkJQzBCRDY2OUUxMzFEM0NGRjAw
RTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc3BvbnNpdmVuZXNzVGltZXJE
b2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QzBDNUQzQkMxNDU5OEI2RjAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvci5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEdldEJhY2tpbmdTY2FsZUZhY3Rv
ci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBDNUQzQkQxNDU5OEI2RjAwQTgw
MkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvcl9CdW5kbGUubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBHZXRCYWNraW5nU2NhbGVGYWN0b3JfQnVuZGxlLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMTA0QkMxRTI1NDcyMzcxMDBDMDc4QzkgLyog
T3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBPdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQzEzRDgyRDgyNDE2RjEzMjAwQTYyNzkzIC8qIEVuYWJsZUFjY2Vzc2liaWxp
dHkubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBFbmFibGVBY2Nlc3NpYmlsaXR5Lm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMTQ5RDU0RjI0MkU5ODQ0MDAzRUJCMTIgLyogU2xl
ZXBEaXNhYmxlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNs
ZWVwRGlzYWJsZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxNEQzMDQ1MjRC
NEMzQkEwMDQ4MDM4NyAvKiBYUENFbmRwb2ludC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFhQ
Q0VuZHBvaW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzEzMCw2ICszMTMy
LDcgQEAKIAkJCQlFMzk0QUU2RTIzRjIzMDNFMDA1QjQ5MzYgLyogR3JhbnRBY2Nlc3NUb01vYmls
ZUFzc2V0cy5tbSAqLywKIAkJCQlFMzRBNkQxODI0MTJERTM5MDAxMkFCNkUgLyogR3JhbnRBY2Nl
c3NUb1ByZWZlcmVuY2VzU2VydmljZS5tbSAqLywKIAkJCQlFMzVCOTA4MTIzRjYwREQwMDAwMDEx
RkYgLyogTG9jYWxpemVkRGV2aWNlTW9kZWwubW0gKi8sCisJCQkJQzEwNEJDMUUyNTQ3MjM3MTAw
QzA3OEM5IC8qIE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tICovLAogCQkJCUUz
MjVDOTA2MjNFMzg3MDIwMEJDN0QzQiAvKiBQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydC5tbSAqLywK
IAkJCQlDMTVDQkIzRTIzRkIxNzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gKi8s
CiAJCQkJQzE0OUQ1NEYyNDJFOTg0NDAwM0VCQjEyIC8qIFNsZWVwRGlzYWJsZXIubW0gKi8sCkBA
IC01MzEwLDYgKzUzMTMsNyBAQAogCQkJCTdDQ0U3RjI1MUE0MTFBRjYwMDQ0N0M0QyAvKiBPcGVu
QW5kQ2xvc2VXaW5kb3cubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQ0IyRjI3QzI0Rjg4Mzc5MDAw
QTVCQzEgLyogT3J0aG9nb25hbEZsb3dBdmFpbGFibGVTaXplLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMEYzNDA3NzYyMzAzN0ZEQzAwNjBBMUEwIC8qIE92ZXJmbG93U2Nyb2xsVmlld1Rlc3RzLm1t
IGluIFNvdXJjZXMgKi8sCisJCQkJQzEwNEJDMUYyNTQ3MjM3MTAwQzA3OEM5IC8qIE92ZXJyaWRl
QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0VCQ0ExMkYx
RTNBNjYwMTAwQzczMjkzIC8qIE92ZXJyaWRlQ29udGVudFNlY3VyaXR5UG9saWN5Lm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJMkRBMjU4NkYyMjVDNjdEQzAwQjQ1QzFDIC8qIE92ZXJyaWRlVmlld3Bv
cnRBcmd1bWVudHMubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NCNERBOTFDODNBRTczMDBDQzY5
MTggLyogUGFnZUdyb3VwLmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQvQWNjZXNzaWJpbGl0eVJlZHVjZU1vdGlvbi5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9BY2Nlc3NpYmlsaXR5UmVkdWNl
TW90aW9uLm1tCShyZXZpc2lvbiAyNjg4MjUpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9BY2Nlc3NpYmlsaXR5UmVkdWNlTW90aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0y
NSw3ICsyNSw3IEBACiAKICNpbXBvcnQgImNvbmZpZy5oIgogCi0jaWYgV0tfSEFWRV9DX1NQSQor
I2lmIFdLX0hBVkVfQ19TUEkgJiYgRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCiAKICNpbXBv
cnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCkluZGV4
OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9FbmFibGVBY2Nlc3NpYmlsaXR5Lm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0VuYWJsZUFj
Y2Vzc2liaWxpdHkubW0JKHJldmlzaW9uIDI2ODgyNSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0L0VuYWJsZUFjY2Vzc2liaWxpdHkubW0JKHdvcmtpbmcgY29weSkKQEAgLTc2
LDYgKzc2LDcgQEAgVEVTVChXZWJLaXQsIEFjY2Vzc2liaWxpdHlIYXNQcmVmZXJlbmNlcwogICAg
IFtOU0FwcCBhY2Nlc3NpYmlsaXR5U2V0RW5oYW5jZWRVc2VySW50ZXJmYWNlQXR0cmlidXRlOkAo
Tk8pXTsKIH0KIAorI2lmIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogVEVTVChXZWJLaXQs
IEFjY2Vzc2liaWxpdHlIYXNOb1ByZWZlcmVuY2VzU2VydmljZUFjY2Vzc1doZW5Qb3N0aW5nTm90
aWZpY2F0aW9uKQogewogICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZp
ZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CkBAIC05NSw2ICs5Niw3IEBAIFRFU1QoV2Vi
S2l0LCBBY2Nlc3NpYmlsaXR5SGFzTm9QcmVmZXJlbmMKIAogICAgIEFTU0VSVF9UUlVFKCFzYW5k
Ym94QWNjZXNzKCkpOwogfQorI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogVEVT
VChXZWJLaXQsIEFjY2Vzc2liaWxpdHlIYXNGcm9udGJvYXJkU2VydmljZUFjY2VzcykKSW5kZXg6
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQ
cmVmZXJlbmNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tCShub25leGlzdGVudCkKKysr
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQ
cmVmZXJlbmNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW1wb3J0ICJjb25maWcuaCIKKworI2lmIFdLX0hBVkVfQ19TUEkKKworI2ltcG9ydCAiUGxh
dGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKworVEVTVChXZWJL
aXQsIE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKQoreworICAgIE5TRGljdGlvbmFy
eSAqZGljdCA9IEB7CisgICAgICAgIEAiQXBwbGVMYW5ndWFnZXMiOiBAWyBAImVuLUdCIiBdLAor
ICAgIH07CisKKyAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRW
b2xhdGlsZURvbWFpbjpkaWN0IGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisKKyAgICBhdXRv
IGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10g
aW5pdF0pOworICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0so
VGVzdFdlYktpdEFQSTo6VXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVjdGVkQnVuZGxlVGVzdCgi
SW50ZXJuYWxzSW5qZWN0ZWRCdW5kbGVUZXN0IikpOworICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCku
cHJvY2Vzc1Bvb2wgPSAoV0tQcm9jZXNzUG9vbCAqKWNvbnRleHQuZ2V0KCk7CisgICAgYXV0byB3
ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNN
YWtlUmVjdCgwLCAwLCAzMDAsIDMwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgp
IGFkZFRvV2luZG93OllFU10pOworCisgICAgYXV0byBwcmVmZXJyZWRMYW5ndWFnZSA9IFsmXSB7
CisgICAgICAgIHJldHVybiBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAi
d2luZG93LmludGVybmFscy51c2VyUHJlZmVycmVkTGFuZ3VhZ2VzKClbMF0iXTsKKyAgICB9Owor
CisgICAgQVNTRVJUX1RSVUUoW3ByZWZlcnJlZExhbmd1YWdlKCkgaXNFcXVhbDpAImVuLWdiIl0p
OworfQorCisjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvUHJlZmVyZW5jZUNoYW5nZXMubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUHJlZmVyZW5jZUNoYW5nZXMubW0JKHJldmlzaW9u
IDI2ODgyNSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1ByZWZlcmVuY2VD
aGFuZ2VzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zODEsNiArMzgxLDcgQEAgVEVTVChXZWJLaXQs
IFByZWZlcmVuY2VDaGFuZ2VzTmlsKQogICAgIENMRUFSX0RFRkFVTFRTKCk7CiB9CiAKKyNpZiBF
TkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKIHN0YXRpYyBJTVAgc2hhcmVkSW5zdGFuY2VNZXRo
b2RPcmlnaW5hbCA9IG5pbDsKIHN0YXRpYyBib29sIHNoYXJlZEluc3RhbmNlQ2FsbGVkID0gZmFs
c2U7CiAKQEAgLTQxMCw1ICs0MTEsNiBAQCBURVNUKFdlYktpdCwgUHJlZmVyZW5jZU9ic2VydmVy
U3RhcnRlZE9uCiAKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJnNoYXJlZEluc3RhbmNl
Q2FsbGVkKTsKIH0KKyNlbmRpZgogCiAjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQpJbmRleDogTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwko
cmV2aXNpb24gMjY5MTYxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMTAtMjkgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5A
YXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gU2V0IHByZWZlcmVuY2UgZm9yIG92ZXJyaWRk
ZW4gbGFuZ3VhZ2VzIGluIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgYWZ0ZXIgZW50ZXJpbmcgdGhl
IHNhbmRib3guCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTgwOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgdGVzdCBmb3Igc2FuZGJveCBhY2Nlc3MgdG8gY2ZwcmVmc2QuZGFlbW9uLCBhbmQgbWFy
ayBjZnByZWZzZCB0ZXN0cyBhcyBmYWlsaW5nIGZvciBNb2phdmUsIHNpbmNlIENGUHJlZnMKKyAg
ICAgICAgZGlyZWN0IG1vZGUgaXMgbm90IGVuYWJsZWQgb24gdGhhdCB2ZXJzaW9uIG9mIG1hY09T
LgorCisgICAgICAgICogZmFzdC9zYW5kYm94L21hYy9zYW5kYm94LW1hY2gtbG9va3VwLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L3NhbmRib3gvbWFjL3NhbmRib3gtbWFjaC1sb29rdXAu
aHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbW9qYXZlL2Zhc3Qvc2FuZGJveDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vbWFjLW1vamF2ZS9mYXN0L3NhbmRib3gvbWFjOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbW9qYXZlL2Zhc3Qvc2FuZGJveC9tYWMvc2FuZGJveC1t
YWNoLWxvb2t1cC1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDIwLTEwLTI5ICBTYWlkIEFib3Ut
SGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04oMjY5MDY1KTog
W0dQVSBQcm9jZXNzXTogT3JkZXIgb2YgZHJhd2luZyBoYXMgdG8gYmUgcHJlc2VydmVkIHdoZW4g
ZHJhd2luZyBhIGNhbnZhcyB0byBhbm90aGVyIGNhbnZhcwpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9zYW5kYm94L21hYy9zYW5kYm94LW1hY2gtbG9va3VwLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NhbmRib3gvbWFjL3NhbmRib3gtbWFjaC1sb29rdXAtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAyNjg4MjUpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NhbmRib3gv
bWFjL3NhbmRib3gtbWFjaC1sb29rdXAtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00
LDYgKzQsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBCiAKIAog
UEFTUyBpbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUoImNv
bS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCIsICJjb20uYXBwbGUuY2ZwcmVmc2QuYWdlbnQiKSBp
cyBmYWxzZQorUEFTUyBpbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29rdXBBY2Nlc3NUb0dsb2Jh
bE5hbWUoImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCIsICJjb20uYXBwbGUuY2ZwcmVmc2Qu
ZGFlbW9uIikgaXMgZmFsc2UKIFBBU1MgaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9va3VwQWNj
ZXNzVG9HbG9iYWxOYW1lKCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiLCAiY29tLmFwcGxl
Lm5laGVscGVyIikgaXMgZmFsc2UKIFBBU1MgaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9va3Vw
QWNjZXNzVG9HbG9iYWxOYW1lKCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiLCAiY29tLmFw
cGxlLm5lc2Vzc2lvbm1hbmFnZXIiKSBpcyBmYWxzZQogUEFTUyBpbnRlcm5hbHMuaGFzU2FuZGJv
eE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUoImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVu
dCIsICJjb20uYXBwbGUubmVzZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciIpIGlzIGZhbHNl
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NhbmRib3gvbWFjL3NhbmRib3gtbWFjaC1sb29rdXAu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NhbmRib3gvbWFjL3NhbmRib3gt
bWFjaC1sb29rdXAuaHRtbAkocmV2aXNpb24gMjY4ODI1KQorKysgTGF5b3V0VGVzdHMvZmFzdC9z
YW5kYm94L21hYy9zYW5kYm94LW1hY2gtbG9va3VwLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTcs
NiArNyw3IEBAIGRlc2NyaXB0aW9uKCdSZWdyZXNzaW9uIHRlc3RzIGZvciBtYWNoIGwKIAogaWYg
KHdpbmRvdy5pbnRlcm5hbHMpIHsKICAgICBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaGFzU2Fu
ZGJveE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUoXCJjb20uYXBwbGUuV2ViS2l0LldlYkNv
bnRlbnRcIiwgXCJjb20uYXBwbGUuY2ZwcmVmc2QuYWdlbnRcIikiKTsKKyAgICBzaG91bGRCZUZh
bHNlKCJpbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUoXCJj
b20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnRcIiwgXCJjb20uYXBwbGUuY2ZwcmVmc2QuZGFlbW9u
XCIpIik7CiAgICAgc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9va3Vw
QWNjZXNzVG9HbG9iYWxOYW1lKFwiY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50XCIsIFwiY29t
LmFwcGxlLm5laGVscGVyXCIpIik7CiAgICAgc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmhhc1Nh
bmRib3hNYWNoTG9va3VwQWNjZXNzVG9HbG9iYWxOYW1lKFwiY29tLmFwcGxlLldlYktpdC5XZWJD
b250ZW50XCIsIFwiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXJcIikiKTsKICAgICBzaG91bGRC
ZUZhbHNlKCJpbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUo
XCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnRcIiwgXCJjb20uYXBwbGUubmVzZXNzaW9ubWFu
YWdlci5jb250ZW50LWZpbHRlclwiKSIpOwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LW1vamF2ZS9mYXN0L3NhbmRib3gvbWFjL3NhbmRib3gtbWFjaC1sb29rdXAtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1tb2phdmUvZmFzdC9zYW5k
Ym94L21hYy9zYW5kYm94LW1hY2gtbG9va3VwLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbW9qYXZlL2Zhc3Qvc2FuZGJveC9tYWMvc2FuZGJv
eC1tYWNoLWxvb2t1cC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNSBA
QAorUmVncmVzc2lvbiB0ZXN0cyBmb3IgbWFjaCBsb29rdXAgc2FuZGJveCBjaGFuZ2VzIG9uIG1h
Y09TCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitGQUlMIGludGVybmFscy5oYXNT
YW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFtZSgiY29tLmFwcGxlLldlYktpdC5XZWJD
b250ZW50IiwgImNvbS5hcHBsZS5jZnByZWZzZC5hZ2VudCIpIHNob3VsZCBiZSBmYWxzZS4gV2Fz
IHRydWUuCitGQUlMIGludGVybmFscy5oYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvR2xvYmFs
TmFtZSgiY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IiwgImNvbS5hcHBsZS5jZnByZWZzZC5k
YWVtb24iKSBzaG91bGQgYmUgZmFsc2UuIFdhcyB0cnVlLgorUEFTUyBpbnRlcm5hbHMuaGFzU2Fu
ZGJveE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUoImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29u
dGVudCIsICJjb20uYXBwbGUubmVoZWxwZXIiKSBpcyBmYWxzZQorUEFTUyBpbnRlcm5hbHMuaGFz
U2FuZGJveE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUoImNvbS5hcHBsZS5XZWJLaXQuV2Vi
Q29udGVudCIsICJjb20uYXBwbGUubmVzZXNzaW9ubWFuYWdlciIpIGlzIGZhbHNlCitQQVNTIGlu
dGVybmFscy5oYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFtZSgiY29tLmFwcGxl
LldlYktpdC5XZWJDb250ZW50IiwgImNvbS5hcHBsZS5uZXNlc3Npb25tYW5hZ2VyLmNvbnRlbnQt
ZmlsdGVyIikgaXMgZmFsc2UKK1BBU1MgaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9va3VwQWNj
ZXNzVG9HbG9iYWxOYW1lKCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiLCAiY29tLmFwcGxl
LnN5c3RlbS5sb2dnZXIiKSBpcyBmYWxzZQorUEFTUyBpbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hM
b29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUoImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCIsICJj
b20uYXBwbGUuYXdkZCIpIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5oYXNTYW5kYm94TWFjaExv
b2t1cEFjY2Vzc1RvR2xvYmFsTmFtZSgiY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IiwgImNv
bS5hcHBsZS5jb29raWVkIikgaXMgZmFsc2UKK1BBU1MgaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNo
TG9va3VwQWNjZXNzVG9YUENTZXJ2aWNlTmFtZSgiY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50
IiwgImNvbS5hcHBsZS5QZXJmb3JtYW5jZUFuYWx5c2lzLmFuaW1hdGlvbnBlcmZkIikgaXMgZmFs
c2UKKwo=
</data>
<flag name="review"
          id="429170"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412766</attachid>
            <date>2020-10-30 10:10:41 -0700</date>
            <delta_ts>2020-11-02 09:59:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218097-20201030101041.patch</filename>
            <type>text/plain</type>
            <size>21667</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNjkxOTApCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDIwLTEwLTMwICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFNldCBwcmVmZXJlbmNlIGZvciBv
dmVycmlkZGVuIGxhbmd1YWdlcyBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFmdGVyIGVudGVy
aW5nIHRoZSBzYW5kYm94LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE4MDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtv
di4KKworICAgICAgICBEaXNhYmxlIENGUHJlZnMgZGlyZWN0IG1vZGUgZm9yIG9sZGVyIHZlcnNp
b25zIG9mIG1hY09TLiBJbiBwcmFjdGljZSwgaXQgd2FzIGFscmVhZHkgZGlzYWJsZWQgc2luY2Ug
YSBtYWNoIGNvbm5lY3Rpb24gdG8gY2ZwcmVmc2QKKyAgICAgICAgd2FzIGVzdGFibGlzaGVkIGJl
Zm9yZSBlbnRlcmluZyB0aGUgc2FuZGJveCBvbiBvbGRlciB2ZXJzaW9ucyBvbiBtYWNPUywgYnV0
IHRoYXQgaXMgZml4ZWQgaW4gdGhpcyBwYXRjaC4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybUVu
YWJsZUNvY29hLmg6CisKIDIwMjAtMTAtMjkgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxl
LmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5dIE1ha2UgV2ViQ29udGVudCBwcm9jZXNzIHRhbGsg
dG8gdGhlIFdlYkF1dGhuIHByb2Nlc3MgZm9yIFdlYkF1dGhuIHJlcXVlc3RzCkluZGV4OiBTb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCShyZXZpc2lvbiAyNjkxOTApCisrKyBTb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMyw3ICsx
MDMsNyBAQAogI2RlZmluZSBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HIDEKICNlbmRpZgogCi0j
aWYgIWRlZmluZWQoRU5BQkxFX0NGUFJFRlNfRElSRUNUX01PREUpCisjaWYgIWRlZmluZWQoRU5B
QkxFX0NGUFJFRlNfRElSRUNUX01PREUpICYmIChQTEFURk9STShJT1NfRkFNSUxZKSB8fCBQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKQog
I2RlZmluZSBFTkFCTEVfQ0ZQUkVGU19ESVJFQ1RfTU9ERSAxCiAjZW5kaWYKIApJbmRleDogU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cJKHJldmlzaW9uIDI2OTE5MCkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMTAtMzAgIFBlciBBcm5lIFZvbGxhbiAgPHB2
b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gU2V0IHByZWZlcmVuY2UgZm9yIG92
ZXJyaWRkZW4gbGFuZ3VhZ2VzIGluIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgYWZ0ZXIgZW50ZXJp
bmcgdGhlIHNhbmRib3guCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTgwOTcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcwNTg2NTQ1PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCisKKyAgICAgICAgQ3VycmVudGx5
LCB0aGUgcHJlZmVyZW5jZSBmb3Igb3ZlcnJpZGRlbiBsYW5ndWFnZXMgaW4gdGhlIFdlYkNvbnRl
bnQgcHJvY2VzcyBpcyBzZXQgYmVmb3JlIGVudGVyaW5nIHRoZSBzYW5kYm94LAorICAgICAgICB3
aGljaCBsZWF2ZXMgYmVoaW5kIGFuIG9wZW4gY29ubmVjdGlvbiB0byBvcGVuZGlyZWN0b3J5ZC4g
VGhpcyBwcmVmZXJlbmNlIHNob3VsZCBiZSBzZXQgYWZ0ZXIgZW50ZXJpbmcgdGhlCisgICAgICAg
IHNhbmRib3ggdG8gYXZvaWQgdGhpcy4gVGhpcyBwYXRjaCBzZXRzIHRoZSBwcmVmZXJlbmNlIGFm
dGVyIHRoZSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiBoYXMgYmVlbiBleGVjdXRlZC4KKworICAg
ICAgICBBUEkgdGVzdDogV2ViS2l0Lk92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlCisK
KyAgICAgICAgKiBTaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQ
Q1NlcnZpY2VNYWluLm1tOgorICAgICAgICAoV2ViS2l0OjpzZXRBcHBsZUxhbmd1YWdlc1ByZWZl
cmVuY2UpOgorICAgICAgICAoV2ViS2l0OjpYUENTZXJ2aWNlRXZlbnRIYW5kbGVyKToKKyAgICAg
ICAgKFdlYktpdDo6WFBDU2VydmljZU1haW4pOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29tLmFw
cGxlLldlYlByb2Nlc3Muc2IuaW46CisKIDIwMjAtMTAtMzAgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQ29udmVydCBTY3JvbGxpbmdUcmVlTm9kZSBj
aGFuZ2UgZmxhZ3MgdG8gYW4gT3B0aW9uU2V0PD4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVk
L0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL0Nv
Y29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4ubW0JKHJldmlzaW9uIDI2OTE5MCkKKysrIFNv
dXJjZS9XZWJLaXQvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9Y
UENTZXJ2aWNlTWFpbi5tbQkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksMjcgQEAKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKK3N0YXRpYyB2b2lkIHNldEFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5j
ZSgpCit7CisgICAgYXV0byBib290c3RyYXAgPSBhZG9wdE9TT2JqZWN0KHhwY19jb3B5X2Jvb3Rz
dHJhcCgpKTsKKyAgICBpZiAoIWJvb3RzdHJhcCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYg
KHhwY19vYmplY3RfdCBsYW5ndWFnZXMgPSB4cGNfZGljdGlvbmFyeV9nZXRfdmFsdWUoYm9vdHN0
cmFwLmdldCgpLCAiT3ZlcnJpZGVMYW5ndWFnZXMiKSkgeworICAgICAgICBAYXV0b3JlbGVhc2Vw
b29sIHsKKyAgICAgICAgICAgIE5TRGljdGlvbmFyeSAqZXhpc3RpbmdBcmd1bWVudHMgPSBbW05T
VXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2b2xhdGlsZURvbWFpbkZvck5hbWU6
TlNBcmd1bWVudERvbWFpbl07CisgICAgICAgICAgICBOU011dGFibGVEaWN0aW9uYXJ5ICpuZXdB
cmd1bWVudHMgPSBbZXhpc3RpbmdBcmd1bWVudHMgbXV0YWJsZUNvcHldOworICAgICAgICAgICAg
UmV0YWluUHRyPE5TTXV0YWJsZUFycmF5PiBuZXdMYW5ndWFnZXMgPSBhZG9wdE5TKFtbTlNNdXRh
YmxlQXJyYXkgYWxsb2NdIGluaXRdKTsKKyAgICAgICAgICAgIHhwY19hcnJheV9hcHBseShsYW5n
dWFnZXMsIF4oc2l6ZV90IGluZGV4LCB4cGNfb2JqZWN0X3QgdmFsdWUpIHsKKyAgICAgICAgICAg
ICAgICBbbmV3TGFuZ3VhZ2VzIGFkZE9iamVjdDpbTlNTdHJpbmcgc3RyaW5nV2l0aENTdHJpbmc6
eHBjX3N0cmluZ19nZXRfc3RyaW5nX3B0cih2YWx1ZSkgZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5j
b2RpbmddXTsKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgW25ld0FyZ3VtZW50cyBzZXRWYWx1ZTpuZXdMYW5ndWFnZXMuZ2V0KCkgZm9y
S2V5OkAiQXBwbGVMYW5ndWFnZXMiXTsKKyAgICAgICAgICAgIFtbTlNVc2VyRGVmYXVsdHMgc3Rh
bmRhcmRVc2VyRGVmYXVsdHNdIHNldFZvbGF0aWxlRG9tYWluOm5ld0FyZ3VtZW50cyBmb3JOYW1l
Ok5TQXJndW1lbnREb21haW5dOworICAgICAgICB9CisgICAgfQorfQorCiBzdGF0aWMgdm9pZCBY
UENTZXJ2aWNlRXZlbnRIYW5kbGVyKHhwY19jb25uZWN0aW9uX3QgcGVlcikKIHsKICAgICBzdGF0
aWMgeHBjX29iamVjdF90IHByaW9yaXR5Qm9vc3RNZXNzYWdlID0gbnVsbHB0cjsKQEAgLTk4LDYg
KzExOSw4IEBAIHN0YXRpYyB2b2lkIFhQQ1NlcnZpY2VFdmVudEhhbmRsZXIoeHBjX2MKIAogICAg
ICAgICAgICAgICAgIGRpc3BhdGNoX3N5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXnsK
ICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6ZXJGdW5jdGlvblB0cihwZWVyLCBldmVudCwg
cHJpb3JpdHlCb29zdE1lc3NhZ2UpOworCisgICAgICAgICAgICAgICAgICAgIHNldEFwcGxlTGFu
Z3VhZ2VzUHJlZmVyZW5jZSgpOwogICAgICAgICAgICAgICAgIH0pOwogCiAgICAgICAgICAgICAg
ICAgaWYgKHByaW9yaXR5Qm9vc3RNZXNzYWdlKQpAQCAtMTQ0LDE1ICsxNjcsMTUgQEAgaW50IFhQ
Q1NlcnZpY2VNYWluKGludCBhcmdjLCBjb25zdCBjaGFyKgogI2VuZGlmCiAKICAgICBhdXRvIGJv
b3RzdHJhcCA9IGFkb3B0T1NPYmplY3QoeHBjX2NvcHlfYm9vdHN0cmFwKCkpOwotI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCi0gICAgYXV0byBjb250YWluZXJFbnZpcm9ubWVudFZhcmlhYmxlcyA9
IHhwY19kaWN0aW9uYXJ5X2dldF92YWx1ZShib290c3RyYXAuZ2V0KCksICJDb250YWluZXJFbnZp
cm9ubWVudFZhcmlhYmxlcyIpOwotICAgIHhwY19kaWN0aW9uYXJ5X2FwcGx5KGNvbnRhaW5lckVu
dmlyb25tZW50VmFyaWFibGVzLCBeKGNvbnN0IGNoYXIgKmtleSwgeHBjX29iamVjdF90IHZhbHVl
KSB7Ci0gICAgICAgIHNldGVudihrZXksIHhwY19zdHJpbmdfZ2V0X3N0cmluZ19wdHIodmFsdWUp
LCAxKTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfSk7Ci0jZW5kaWYKIAogICAgIGlmIChi
b290c3RyYXApIHsKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgICAgICBhdXRvIGNvbnRh
aW5lckVudmlyb25tZW50VmFyaWFibGVzID0geHBjX2RpY3Rpb25hcnlfZ2V0X3ZhbHVlKGJvb3Rz
dHJhcC5nZXQoKSwgIkNvbnRhaW5lckVudmlyb25tZW50VmFyaWFibGVzIik7CisgICAgICAgIHhw
Y19kaWN0aW9uYXJ5X2FwcGx5KGNvbnRhaW5lckVudmlyb25tZW50VmFyaWFibGVzLCBeKGNvbnN0
IGNoYXIgKmtleSwgeHBjX29iamVjdF90IHZhbHVlKSB7CisgICAgICAgICAgICBzZXRlbnYoa2V5
LCB4cGNfc3RyaW5nX2dldF9zdHJpbmdfcHRyKHZhbHVlKSwgMSk7CisgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICAgICAgfSk7CisjZW5kaWYKICNpZiBQTEFURk9STShNQUMpCiAjaWYgQVNB
Tl9FTkFCTEVECiAgICAgICAgIC8vIEVYQ19SRVNPVVJDRSBvbiBBU0FOIGJ1aWxkcyBmcmVlemVz
IHRoZSBwcm9jZXNzIGZvciBzZXZlcmFsIG1pbnV0ZXM6IHJkYXI6Ly82NTAyNzU5NgpAQCAtMTc1
LDIwICsxOTgsNiBAQCBpbnQgWFBDU2VydmljZU1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIqCiAg
ICAgICAgICAgICBjcmFzaER1ZVdlYktpdEZyYW1ld29ya1ZlcnNpb25NaXNtYXRjaCgpOwogICAg
ICAgICB9CiAjZW5kaWYKLQotICAgICAgICBpZiAoeHBjX29iamVjdF90IGxhbmd1YWdlcyA9IHhw
Y19kaWN0aW9uYXJ5X2dldF92YWx1ZShib290c3RyYXAuZ2V0KCksICJPdmVycmlkZUxhbmd1YWdl
cyIpKSB7Ci0gICAgICAgICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKLSAgICAgICAgICAgICAgICBO
U0RpY3Rpb25hcnkgKmV4aXN0aW5nQXJndW1lbnRzID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFy
ZFVzZXJEZWZhdWx0c10gdm9sYXRpbGVEb21haW5Gb3JOYW1lOk5TQXJndW1lbnREb21haW5dOwot
ICAgICAgICAgICAgICAgIE5TTXV0YWJsZURpY3Rpb25hcnkgKm5ld0FyZ3VtZW50cyA9IFtleGlz
dGluZ0FyZ3VtZW50cyBtdXRhYmxlQ29weV07Ci0gICAgICAgICAgICAgICAgUmV0YWluUHRyPE5T
TXV0YWJsZUFycmF5PiBuZXdMYW5ndWFnZXMgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJyYXkgYWxs
b2NdIGluaXRdKTsKLSAgICAgICAgICAgICAgICB4cGNfYXJyYXlfYXBwbHkobGFuZ3VhZ2VzLCBe
KHNpemVfdCBpbmRleCwgeHBjX29iamVjdF90IHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAg
IFtuZXdMYW5ndWFnZXMgYWRkT2JqZWN0OltOU1N0cmluZyBzdHJpbmdXaXRoQ1N0cmluZzp4cGNf
c3RyaW5nX2dldF9zdHJpbmdfcHRyKHZhbHVlKSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGlu
Z11dOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgICAgICB9
KTsKLSAgICAgICAgICAgICAgICBbbmV3QXJndW1lbnRzIHNldFZhbHVlOm5ld0xhbmd1YWdlcy5n
ZXQoKSBmb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOwotICAgICAgICAgICAgICAgIFtbTlNVc2Vy
RGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldFZvbGF0aWxlRG9tYWluOm5ld0FyZ3Vt
ZW50cyBmb3JOYW1lOk5TQXJndW1lbnREb21haW5dOwotICAgICAgICAgICAgfQotICAgICAgICB9
CiAgICAgfQogCiAjaWYgUExBVEZPUk0oTUFDKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbgkocmV2aXNpb24gMjY5MTkw
KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmlu
CSh3b3JraW5nIGNvcHkpCkBAIC00ODIsNiArNDgyLDE0IEBACiApCiAjZW5kaWYKIAorI2lmICFF
TkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKKyhhbGxvdyBtYWNoLWxvb2t1cAorICAgIChnbG9i
YWwtbmFtZSAiY29tLmFwcGxlLmNmcHJlZnNkLmFnZW50IikKKyAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS5jZnByZWZzZC5kYWVtb24iKQorKQorI2VuZGlmCisKKwogOzsgVXRpbGl0eSBmdW5j
dGlvbnMgZm9yIGhvbWUgZGlyZWN0b3J5IHJlbGF0aXZlIHBhdGggZmlsdGVycwogKGRlZmluZSAo
aG9tZS1yZWdleCBob21lLXJlbGF0aXZlLXJlZ2V4KQogICAocmVnZXggKHN0cmluZy1hcHBlbmQg
Il4iIChyZWdleC1xdW90ZSAocGFyYW0gIkhPTUVfRElSIikpIGhvbWUtcmVsYXRpdmUtcmVnZXgp
KSkKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDI2OTE5MCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE3IEBACisyMDIwLTEwLTMwICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxl
LmNvbT4KKworICAgICAgICBbbWFjT1NdIFNldCBwcmVmZXJlbmNlIGZvciBvdmVycmlkZGVuIGxh
bmd1YWdlcyBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFmdGVyIGVudGVyaW5nIHRoZSBzYW5k
Ym94LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4
MDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0FjY2Vzc2liaWxpdHlSZWR1
Y2VNb3Rpb24ubW06CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRW5hYmxl
QWNjZXNzaWJpbGl0eS5tbToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9P
dmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbTogQWRkZWQuCisgICAgICAgIChURVNU
KToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9QcmVmZXJlbmNlQ2hhbmdl
cy5tbToKKwogMjAyMC0xMC0zMCAgTGF1cm8gTW91cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4KIAog
ICAgICAgICB3ZWJraXRweTogU3luYyBwYWNrYWdlIHZlcnNpb25zIHdpdGggV1BUIHN1aXRlCklu
ZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEku
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjY5MTkwKQorKysgVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtp
bmcgY29weSkKQEAgLTkzOSw2ICs5MzksNyBAQAogCQlDMEFEQkU5NjEyRkNBNzlCMDBEMkMxMjkg
Lyogc2ltcGxlLWZvcm0uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDMEFEQkU4NDEyRkNBNkI2MDBEMkMxMjkgLyogc2ltcGxlLWZvcm0u
aHRtbCAqLzsgfTsKIAkJQzBCRDY2OUYxMzFEM0NGRjAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNz
VGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwQkQ2NjlFMTMxRDNDRkYwMEUxOEYyQSAvKiBSZXNwb25z
aXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5X0J1bmRsZS5jcHAgKi87IH07CiAJCUMwQzVEM0M2
MTQ1OTkxMjkwMEE4MDJBNiAvKiBHZXRCYWNraW5nU2NhbGVGYWN0b3JfQnVuZGxlLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBDNUQzQkQxNDU5OEI2
RjAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvcl9CdW5kbGUubW0gKi87IH07CisJCUMx
MDRCQzFGMjU0NzIzNzEwMEMwNzhDOSAvKiBPdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5j
ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxMDRC
QzFFMjU0NzIzNzEwMEMwNzhDOSAvKiBPdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5t
bSAqLzsgfTsKIAkJQzEzRDgyRDkyNDE2RjEzMjAwQTYyNzkzIC8qIEVuYWJsZUFjY2Vzc2liaWxp
dHkubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTNE
ODJEODI0MTZGMTMyMDBBNjI3OTMgLyogRW5hYmxlQWNjZXNzaWJpbGl0eS5tbSAqLzsgfTsKIAkJ
QzE0OUQ1NTAyNDJFOThERjAwM0VCQjEyIC8qIFNsZWVwRGlzYWJsZXIubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTQ5RDU0RjI0MkU5ODQ0MDAzRUJC
MTIgLyogU2xlZXBEaXNhYmxlci5tbSAqLzsgfTsKIAkJQzE0RDMwNDYyNEI0QzNCQTAwNDgwMzg3
IC8qIFhQQ0VuZHBvaW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzE0RDMwNDUyNEI0QzNCQTAwNDgwMzg3IC8qIFhQQ0VuZHBvaW50Lm1tICovOyB9
OwpAQCAtMjYzMSw2ICsyNjMyLDcgQEAKIAkJQzBCRDY2OUUxMzFEM0NGRjAwRTE4RjJBIC8qIFJl
c3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFy
bHlfQnVuZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBDNUQzQkMxNDU5
OEI2RjAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvci5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEdldEJhY2tpbmdTY2FsZUZhY3Rvci5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBDNUQzQkQxNDU5OEI2RjAwQTgwMkE2IC8qIEdldEJh
Y2tpbmdTY2FsZUZhY3Rvcl9CdW5kbGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBHZXRCYWNraW5nU2NhbGVGYWN0b3JfQnVuZGxlLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDMTA0QkMxRTI1NDcyMzcxMDBDMDc4QzkgLyogT3ZlcnJpZGVBcHBs
ZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBPdmVycmlkZUFw
cGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QzEzRDgyRDgyNDE2RjEzMjAwQTYyNzkzIC8qIEVuYWJsZUFjY2Vzc2liaWxpdHkubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBFbmFibGVBY2Nlc3NpYmlsaXR5Lm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDMTQ5RDU0RjI0MkU5ODQ0MDAzRUJCMTIgLyogU2xlZXBEaXNhYmxlci5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNsZWVwRGlzYWJsZXIu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxNEQzMDQ1MjRCNEMzQkEwMDQ4MDM4
NyAvKiBYUENFbmRwb2ludC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFhQQ0VuZHBvaW50Lm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzEyOSw2ICszMTMxLDcgQEAKIAkJCQlF
Mzk0QUU2RTIzRjIzMDNFMDA1QjQ5MzYgLyogR3JhbnRBY2Nlc3NUb01vYmlsZUFzc2V0cy5tbSAq
LywKIAkJCQlFMzRBNkQxODI0MTJERTM5MDAxMkFCNkUgLyogR3JhbnRBY2Nlc3NUb1ByZWZlcmVu
Y2VzU2VydmljZS5tbSAqLywKIAkJCQlFMzVCOTA4MTIzRjYwREQwMDAwMDExRkYgLyogTG9jYWxp
emVkRGV2aWNlTW9kZWwubW0gKi8sCisJCQkJQzEwNEJDMUUyNTQ3MjM3MTAwQzA3OEM5IC8qIE92
ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tICovLAogCQkJCUUzMjVDOTA2MjNFMzg3
MDIwMEJDN0QzQiAvKiBQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydC5tbSAqLywKIAkJCQlDMTVDQkIz
RTIzRkIxNzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gKi8sCiAJCQkJQzE0OUQ1
NEYyNDJFOTg0NDAwM0VCQjEyIC8qIFNsZWVwRGlzYWJsZXIubW0gKi8sCkBAIC01MzEwLDYgKzUz
MTMsNyBAQAogCQkJCTdDQ0U3RjI1MUE0MTFBRjYwMDQ0N0M0QyAvKiBPcGVuQW5kQ2xvc2VXaW5k
b3cubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQ0IyRjI3QzI0Rjg4Mzc5MDAwQTVCQzEgLyogT3J0
aG9nb25hbEZsb3dBdmFpbGFibGVTaXplLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYzNDA3NzYy
MzAzN0ZEQzAwNjBBMUEwIC8qIE92ZXJmbG93U2Nyb2xsVmlld1Rlc3RzLm1tIGluIFNvdXJjZXMg
Ki8sCisJCQkJQzEwNEJDMUYyNTQ3MjM3MTAwQzA3OEM5IC8qIE92ZXJyaWRlQXBwbGVMYW5ndWFn
ZXNQcmVmZXJlbmNlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0VCQ0ExMkYxRTNBNjYwMTAwQzcz
MjkzIC8qIE92ZXJyaWRlQ29udGVudFNlY3VyaXR5UG9saWN5Lm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMkRBMjU4NkYyMjVDNjdEQzAwQjQ1QzFDIC8qIE92ZXJyaWRlVmlld3BvcnRBcmd1bWVudHMu
bW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NCNERBOTFDODNBRTczMDBDQzY5MTggLyogUGFnZUdy
b3VwLmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvQWNjZXNzaWJpbGl0eVJlZHVjZU1vdGlvbi5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9BY2Nlc3NpYmlsaXR5UmVkdWNlTW90aW9uLm1tCShy
ZXZpc2lvbiAyNjkxOTApCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9BY2Nl
c3NpYmlsaXR5UmVkdWNlTW90aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBA
CiAKICNpbXBvcnQgImNvbmZpZy5oIgogCi0jaWYgV0tfSEFWRV9DX1NQSQorI2lmIFdLX0hBVkVf
Q19TUEkgJiYgRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCiAKICNpbXBvcnQgIlBsYXRmb3Jt
VXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCkluZGV4OiBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9FbmFibGVBY2Nlc3NpYmlsaXR5Lm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0VuYWJsZUFjY2Vzc2liaWxpdHku
bW0JKHJldmlzaW9uIDI2OTE5MCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L0VuYWJsZUFjY2Vzc2liaWxpdHkubW0JKHdvcmtpbmcgY29weSkKQEAgLTc2LDYgKzc2LDcgQEAg
VEVTVChXZWJLaXQsIEFjY2Vzc2liaWxpdHlIYXNQcmVmZXJlbmNlcwogICAgIFtOU0FwcCBhY2Nl
c3NpYmlsaXR5U2V0RW5oYW5jZWRVc2VySW50ZXJmYWNlQXR0cmlidXRlOkAoTk8pXTsKIH0KIAor
I2lmIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogVEVTVChXZWJLaXQsIEFjY2Vzc2liaWxp
dHlIYXNOb1ByZWZlcmVuY2VzU2VydmljZUFjY2Vzc1doZW5Qb3N0aW5nTm90aWZpY2F0aW9uKQog
ewogICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0
aW9uIGFsbG9jXSBpbml0XSk7CkBAIC05NSw2ICs5Niw3IEBAIFRFU1QoV2ViS2l0LCBBY2Nlc3Np
YmlsaXR5SGFzTm9QcmVmZXJlbmMKIAogICAgIEFTU0VSVF9UUlVFKCFzYW5kYm94QWNjZXNzKCkp
OwogfQorI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogVEVTVChXZWJLaXQsIEFj
Y2Vzc2liaWxpdHlIYXNGcm9udGJvYXJkU2VydmljZUFjY2VzcykKSW5kZXg6IFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRl
QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tCShub25leGlzdGVudCkKKysrIFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJj
b25maWcuaCIKKworI2lmIFdLX0hBVkVfQ19TUEkKKworI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRp
ZXMuaCIKKyNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKworVEVTVChXZWJLaXQsIE92ZXJyaWRl
QXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlKQoreworICAgIE5TRGljdGlvbmFyeSAqZGljdCA9IEB7
CisgICAgICAgIEAiQXBwbGVMYW5ndWFnZXMiOiBAWyBAImVuLUdCIiBdLAorICAgIH07CisKKyAg
ICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRWb2xhdGlsZURvbWFp
bjpkaWN0IGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisKKyAgICBhdXRvIGNvbmZpZ3VyYXRp
b24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAg
IFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0soVGVzdFdlYktpdEFQ
STo6VXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVjdGVkQnVuZGxlVGVzdCgiSW50ZXJuYWxzSW5q
ZWN0ZWRCdW5kbGVUZXN0IikpOworICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkucHJvY2Vzc1Bvb2wg
PSAoV0tQcm9jZXNzUG9vbCAqKWNvbnRleHQuZ2V0KCk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRv
cHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAw
LCAzMDAsIDMwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpIGFkZFRvV2luZG93
OllFU10pOworCisgICAgYXV0byBwcmVmZXJyZWRMYW5ndWFnZSA9IFsmXSB7CisgICAgICAgIHJl
dHVybiBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAid2luZG93LmludGVy
bmFscy51c2VyUHJlZmVycmVkTGFuZ3VhZ2VzKClbMF0iXTsKKyAgICB9OworCisgICAgQVNTRVJU
X1RSVUUoW3ByZWZlcnJlZExhbmd1YWdlKCkgaXNFcXVhbDpAImVuLWdiIl0pOworfQorCisjZW5k
aWYgLy8gV0tfSEFWRV9DX1NQSQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvUHJlZmVyZW5jZUNoYW5nZXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvUHJlZmVyZW5jZUNoYW5nZXMubW0JKHJldmlzaW9uIDI2OTE5MCkKKysr
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1ByZWZlcmVuY2VDaGFuZ2VzLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0zODEsNiArMzgxLDcgQEAgVEVTVChXZWJLaXQsIFByZWZlcmVuY2VD
aGFuZ2VzTmlsKQogICAgIENMRUFSX0RFRkFVTFRTKCk7CiB9CiAKKyNpZiBFTkFCTEUoQ0ZQUkVG
U19ESVJFQ1RfTU9ERSkKIHN0YXRpYyBJTVAgc2hhcmVkSW5zdGFuY2VNZXRob2RPcmlnaW5hbCA9
IG5pbDsKIHN0YXRpYyBib29sIHNoYXJlZEluc3RhbmNlQ2FsbGVkID0gZmFsc2U7CiAKQEAgLTQx
MCw1ICs0MTEsNiBAQCBURVNUKFdlYktpdCwgUHJlZmVyZW5jZU9ic2VydmVyU3RhcnRlZE9uCiAK
ICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJnNoYXJlZEluc3RhbmNlQ2FsbGVkKTsKIH0K
KyNlbmRpZgogCiAjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQpJbmRleDogTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjY5
MTkwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTkgQEAKKzIwMjAtMTAtMzAgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgor
CisgICAgICAgIFttYWNPU10gU2V0IHByZWZlcmVuY2UgZm9yIG92ZXJyaWRkZW4gbGFuZ3VhZ2Vz
IGluIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgYWZ0ZXIgZW50ZXJpbmcgdGhlIHNhbmRib3guCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTgwOTcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgorCisgICAgICAgIEFkZCB0
ZXN0IGZvciBzYW5kYm94IGFjY2VzcyB0byBjZnByZWZzZC5kYWVtb24sIGFuZCBtYXJrIGNmcHJl
ZnNkIHRlc3RzIGFzIGZhaWxpbmcgZm9yIE1vamF2ZSwgc2luY2UgQ0ZQcmVmcworICAgICAgICBk
aXJlY3QgbW9kZSBpcyBub3QgZW5hYmxlZCBvbiB0aGF0IHZlcnNpb24gb2YgbWFjT1MuCisKKyAg
ICAgICAgKiBmYXN0L3NhbmRib3gvbWFjL3NhbmRib3gtbWFjaC1sb29rdXAtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3Qvc2FuZGJveC9tYWMvc2FuZGJveC1tYWNoLWxvb2t1cC5odG1sOgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L3NhbmRib3g6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L3NhbmRib3gvbWFjOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9zYW5kYm94L21hYy9zYW5kYm94LW1h
Y2gtbG9va3VwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMjAtMTAtMzAgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXN5bmMgd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcyB0ZXN0cyBmcm9tIHVwc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3Nh
bmRib3gvbWFjL3NhbmRib3gtbWFjaC1sb29rdXAtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3Qvc2FuZGJveC9tYWMvc2FuZGJveC1tYWNoLWxvb2t1cC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDI2OTE5MCkKKysrIExheW91dFRlc3RzL2Zhc3Qvc2FuZGJveC9tYWMv
c2FuZGJveC1tYWNoLWxvb2t1cC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTQsNiAr
NCw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEEKIAogCiBQQVNT
IGludGVybmFscy5oYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFtZSgiY29tLmFw
cGxlLldlYktpdC5XZWJDb250ZW50IiwgImNvbS5hcHBsZS5jZnByZWZzZC5hZ2VudCIpIGlzIGZh
bHNlCitQQVNTIGludGVybmFscy5oYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFt
ZSgiY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IiwgImNvbS5hcHBsZS5jZnByZWZzZC5kYWVt
b24iKSBpcyBmYWxzZQogUEFTUyBpbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29rdXBBY2Nlc3NU
b0dsb2JhbE5hbWUoImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCIsICJjb20uYXBwbGUubmVo
ZWxwZXIiKSBpcyBmYWxzZQogUEFTUyBpbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29rdXBBY2Nl
c3NUb0dsb2JhbE5hbWUoImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCIsICJjb20uYXBwbGUu
bmVzZXNzaW9ubWFuYWdlciIpIGlzIGZhbHNlCiBQQVNTIGludGVybmFscy5oYXNTYW5kYm94TWFj
aExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFtZSgiY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50Iiwg
ImNvbS5hcHBsZS5uZXNlc3Npb25tYW5hZ2VyLmNvbnRlbnQtZmlsdGVyIikgaXMgZmFsc2UKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3Qvc2FuZGJveC9tYWMvc2FuZGJveC1tYWNoLWxvb2t1cC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2FuZGJveC9tYWMvc2FuZGJveC1tYWNo
LWxvb2t1cC5odG1sCShyZXZpc2lvbiAyNjkxOTApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NhbmRi
b3gvbWFjL3NhbmRib3gtbWFjaC1sb29rdXAuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNyw2ICs3
LDcgQEAgZGVzY3JpcHRpb24oJ1JlZ3Jlc3Npb24gdGVzdHMgZm9yIG1hY2ggbAogCiBpZiAod2lu
ZG93LmludGVybmFscykgewogICAgIHNob3VsZEJlRmFsc2UoImludGVybmFscy5oYXNTYW5kYm94
TWFjaExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFtZShcImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVu
dFwiLCBcImNvbS5hcHBsZS5jZnByZWZzZC5hZ2VudFwiKSIpOworICAgIHNob3VsZEJlRmFsc2Uo
ImludGVybmFscy5oYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFtZShcImNvbS5h
cHBsZS5XZWJLaXQuV2ViQ29udGVudFwiLCBcImNvbS5hcHBsZS5jZnByZWZzZC5kYWVtb25cIiki
KTsKICAgICBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29rdXBBY2Nl
c3NUb0dsb2JhbE5hbWUoXCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnRcIiwgXCJjb20uYXBw
bGUubmVoZWxwZXJcIikiKTsKICAgICBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaGFzU2FuZGJv
eE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUoXCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRl
bnRcIiwgXCJjb20uYXBwbGUubmVzZXNzaW9ubWFuYWdlclwiKSIpOwogICAgIHNob3VsZEJlRmFs
c2UoImludGVybmFscy5oYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFtZShcImNv
bS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudFwiLCBcImNvbS5hcHBsZS5uZXNlc3Npb25tYW5hZ2Vy
LmNvbnRlbnQtZmlsdGVyXCIpIik7CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtY2F0
YWxpbmEvZmFzdC9zYW5kYm94L21hYy9zYW5kYm94LW1hY2gtbG9va3VwLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9zYW5k
Ym94L21hYy9zYW5kYm94LW1hY2gtbG9va3VwLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9zYW5kYm94L21hYy9zYW5k
Ym94LW1hY2gtbG9va3VwLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1
IEBACitSZWdyZXNzaW9uIHRlc3RzIGZvciBtYWNoIGxvb2t1cCBzYW5kYm94IGNoYW5nZXMgb24g
bWFjT1MKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0ZBSUwgaW50ZXJuYWxzLmhh
c1NhbmRib3hNYWNoTG9va3VwQWNjZXNzVG9HbG9iYWxOYW1lKCJjb20uYXBwbGUuV2ViS2l0Lldl
YkNvbnRlbnQiLCAiY29tLmFwcGxlLmNmcHJlZnNkLmFnZW50Iikgc2hvdWxkIGJlIGZhbHNlLiBX
YXMgdHJ1ZS4KK0ZBSUwgaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9va3VwQWNjZXNzVG9HbG9i
YWxOYW1lKCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiLCAiY29tLmFwcGxlLmNmcHJlZnNk
LmRhZW1vbiIpIHNob3VsZCBiZSBmYWxzZS4gV2FzIHRydWUuCitQQVNTIGludGVybmFscy5oYXNT
YW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFtZSgiY29tLmFwcGxlLldlYktpdC5XZWJD
b250ZW50IiwgImNvbS5hcHBsZS5uZWhlbHBlciIpIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5o
YXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFtZSgiY29tLmFwcGxlLldlYktpdC5X
ZWJDb250ZW50IiwgImNvbS5hcHBsZS5uZXNlc3Npb25tYW5hZ2VyIikgaXMgZmFsc2UKK1BBU1Mg
aW50ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9va3VwQWNjZXNzVG9HbG9iYWxOYW1lKCJjb20uYXBw
bGUuV2ViS2l0LldlYkNvbnRlbnQiLCAiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIuY29udGVu
dC1maWx0ZXIiKSBpcyBmYWxzZQorUEFTUyBpbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29rdXBB
Y2Nlc3NUb0dsb2JhbE5hbWUoImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCIsICJjb20uYXBw
bGUuc3lzdGVtLmxvZ2dlciIpIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5oYXNTYW5kYm94TWFj
aExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFtZSgiY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50Iiwg
ImNvbS5hcHBsZS5hd2RkIikgaXMgZmFsc2UKK1BBU1MgaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNo
TG9va3VwQWNjZXNzVG9HbG9iYWxOYW1lKCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiLCAi
Y29tLmFwcGxlLmNvb2tpZWQiKSBpcyBmYWxzZQorUEFTUyBpbnRlcm5hbHMuaGFzU2FuZGJveE1h
Y2hMb29rdXBBY2Nlc3NUb1hQQ1NlcnZpY2VOYW1lKCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRl
bnQiLCAiY29tLmFwcGxlLlBlcmZvcm1hbmNlQW5hbHlzaXMuYW5pbWF0aW9ucGVyZmQiKSBpcyBm
YWxzZQorCg==
</data>
<flag name="commit-queue"
          id="429293"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412934</attachid>
            <date>2020-11-02 09:59:14 -0800</date>
            <delta_ts>2020-11-09 10:00:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218097-20201102095913.patch</filename>
            <type>text/plain</type>
            <size>23670</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNjkyNDYpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDIwLTExLTAyICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFNldCBwcmVmZXJlbmNlIGZvciBv
dmVycmlkZGVuIGxhbmd1YWdlcyBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFmdGVyIGVudGVy
aW5nIHRoZSBzYW5kYm94LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE4MDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtv
di4KKworICAgICAgICBEaXNhYmxlIENGUHJlZnMgZGlyZWN0IG1vZGUgZm9yIG9sZGVyIHZlcnNp
b25zIG9mIG1hY09TLiBJbiBwcmFjdGljZSwgaXQgd2FzIGFscmVhZHkgZGlzYWJsZWQgc2luY2Ug
YSBtYWNoIGNvbm5lY3Rpb24gdG8gY2ZwcmVmc2QKKyAgICAgICAgd2FzIGVzdGFibGlzaGVkIGJl
Zm9yZSBlbnRlcmluZyB0aGUgc2FuZGJveCBvbiBvbGRlciB2ZXJzaW9ucyBvbiBtYWNPUywgYnV0
IHRoYXQgaXMgZml4ZWQgaW4gdGhpcyBwYXRjaC4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybUVu
YWJsZUNvY29hLmg6CisKIDIwMjAtMTAtMzAgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBh
cHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI2NzY4OSk6IFJpc2Ugb2YgdGhlIFRv
bWIgUmFpZGVyIGdldHMgc3R1Y2sgd2hpbGUgbGF1bmNoaW5nCkluZGV4OiBTb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvUGxh
dGZvcm1FbmFibGVDb2NvYS5oCShyZXZpc2lvbiAyNjkyNDYpCisrKyBTb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybUVuYWJsZUNvY29hLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMyw3ICsxMDMsNyBAQAog
I2RlZmluZSBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HIDEKICNlbmRpZgogCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0NGUFJFRlNfRElSRUNUX01PREUpCisjaWYgIWRlZmluZWQoRU5BQkxFX0NGUFJF
RlNfRElSRUNUX01PREUpICYmIChQTEFURk9STShJT1NfRkFNSUxZKSB8fCBQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKQogI2RlZmluZSBF
TkFCTEVfQ0ZQUkVGU19ESVJFQ1RfTU9ERSAxCiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlz
aW9uIDI2OTI0NikKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMjAtMTEtMDIgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBw
bGUuY29tPgorCisgICAgICAgIFttYWNPU10gU2V0IHByZWZlcmVuY2UgZm9yIG92ZXJyaWRkZW4g
bGFuZ3VhZ2VzIGluIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgYWZ0ZXIgZW50ZXJpbmcgdGhlIHNh
bmRib3guCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTgwOTcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcwNTg2NTQ1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCisKKyAgICAgICAgQ3VycmVudGx5LCB0aGUgcHJl
ZmVyZW5jZSBmb3Igb3ZlcnJpZGRlbiBsYW5ndWFnZXMgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2Vz
cyBpcyBzZXQgYmVmb3JlIGVudGVyaW5nIHRoZSBzYW5kYm94LAorICAgICAgICB3aGljaCBsZWF2
ZXMgYmVoaW5kIGFuIG9wZW4gY29ubmVjdGlvbiB0byBvcGVuZGlyZWN0b3J5ZC4gVGhpcyBwcmVm
ZXJlbmNlIHNob3VsZCBiZSBzZXQgYWZ0ZXIgZW50ZXJpbmcgdGhlCisgICAgICAgIHNhbmRib3gg
dG8gYXZvaWQgdGhpcy4gVGhpcyBwYXRjaCBzZXRzIHRoZSBwcmVmZXJlbmNlIGFmdGVyIHRoZSBp
bml0aWFsaXphdGlvbiBmdW5jdGlvbiBoYXMgYmVlbiBleGVjdXRlZC4KKworICAgICAgICBBUEkg
dGVzdDogV2ViS2l0Lk92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlCisKKyAgICAgICAg
KiBTaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VN
YWluLm1tOgorICAgICAgICAoV2ViS2l0OjpzZXRBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UpOgor
ICAgICAgICAoV2ViS2l0OjpYUENTZXJ2aWNlRXZlbnRIYW5kbGVyKToKKyAgICAgICAgKFdlYktp
dDo6WFBDU2VydmljZU1haW4pOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29tLmFwcGxlLldlYlBy
b2Nlc3Muc2IuaW46CisKIDIwMjAtMTEtMDIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFN0b3Agc2VuZGluZyBvcmlnaW5zIGZyb20gV2ViUHJvY2VzcyB0byBV
SVByb2Nlc3MgZm9yIGdldFVzZXJNZWRpYSByZXF1ZXN0cwpJbmRleDogU291cmNlL1dlYktpdC9T
aGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWlu
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRp
ZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5tbQkocmV2aXNpb24gMjY5MjQ2KQor
KysgU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2
aWNlL1hQQ1NlcnZpY2VNYWluLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2ICszOSwyNyBAQAog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorc3RhdGljIHZvaWQgc2V0QXBwbGVMYW5ndWFnZXNQcmVm
ZXJlbmNlKCkKK3sKKyAgICBhdXRvIGJvb3RzdHJhcCA9IGFkb3B0T1NPYmplY3QoeHBjX2NvcHlf
Ym9vdHN0cmFwKCkpOworICAgIGlmICghYm9vdHN0cmFwKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpZiAoeHBjX29iamVjdF90IGxhbmd1YWdlcyA9IHhwY19kaWN0aW9uYXJ5X2dldF92YWx1ZShi
b290c3RyYXAuZ2V0KCksICJPdmVycmlkZUxhbmd1YWdlcyIpKSB7CisgICAgICAgIEBhdXRvcmVs
ZWFzZXBvb2wgeworICAgICAgICAgICAgTlNEaWN0aW9uYXJ5ICpleGlzdGluZ0FyZ3VtZW50cyA9
IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHZvbGF0aWxlRG9tYWluRm9y
TmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKKyAgICAgICAgICAgIE5TTXV0YWJsZURpY3Rpb25hcnkg
Km5ld0FyZ3VtZW50cyA9IFtleGlzdGluZ0FyZ3VtZW50cyBtdXRhYmxlQ29weV07CisgICAgICAg
ICAgICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+IG5ld0xhbmd1YWdlcyA9IGFkb3B0TlMoW1tO
U011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOworICAgICAgICAgICAgeHBjX2FycmF5X2FwcGx5
KGxhbmd1YWdlcywgXihzaXplX3QgaW5kZXgsIHhwY19vYmplY3RfdCB2YWx1ZSkgeworICAgICAg
ICAgICAgICAgIFtuZXdMYW5ndWFnZXMgYWRkT2JqZWN0OltOU1N0cmluZyBzdHJpbmdXaXRoQ1N0
cmluZzp4cGNfc3RyaW5nX2dldF9zdHJpbmdfcHRyKHZhbHVlKSBlbmNvZGluZzpOU1VURjhTdHJp
bmdFbmNvZGluZ11dOworICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICBbbmV3QXJndW1lbnRzIHNldFZhbHVlOm5ld0xhbmd1YWdlcy5nZXQo
KSBmb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOworICAgICAgICAgICAgW1tOU1VzZXJEZWZhdWx0
cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRpbGVEb21haW46bmV3QXJndW1lbnRzIGZv
ck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisgICAgICAgIH0KKyAgICB9Cit9CisKIHN0YXRpYyB2
b2lkIFhQQ1NlcnZpY2VFdmVudEhhbmRsZXIoeHBjX2Nvbm5lY3Rpb25fdCBwZWVyKQogewogICAg
IHN0YXRpYyB4cGNfb2JqZWN0X3QgcHJpb3JpdHlCb29zdE1lc3NhZ2UgPSBudWxscHRyOwpAQCAt
OTgsNiArMTE5LDggQEAgc3RhdGljIHZvaWQgWFBDU2VydmljZUV2ZW50SGFuZGxlcih4cGNfYwog
CiAgICAgICAgICAgICAgICAgZGlzcGF0Y2hfc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgp
LCBeewogICAgICAgICAgICAgICAgICAgICBpbml0aWFsaXplckZ1bmN0aW9uUHRyKHBlZXIsIGV2
ZW50LCBwcmlvcml0eUJvb3N0TWVzc2FnZSk7CisKKyAgICAgICAgICAgICAgICAgICAgc2V0QXBw
bGVMYW5ndWFnZXNQcmVmZXJlbmNlKCk7CiAgICAgICAgICAgICAgICAgfSk7CiAKICAgICAgICAg
ICAgICAgICBpZiAocHJpb3JpdHlCb29zdE1lc3NhZ2UpCkBAIC0xNDQsMTUgKzE2NywxNSBAQCBp
bnQgWFBDU2VydmljZU1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIqCiAjZW5kaWYKIAogICAgIGF1
dG8gYm9vdHN0cmFwID0gYWRvcHRPU09iamVjdCh4cGNfY29weV9ib290c3RyYXAoKSk7Ci0jaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBhdXRvIGNvbnRhaW5lckVudmlyb25tZW50VmFyaWFi
bGVzID0geHBjX2RpY3Rpb25hcnlfZ2V0X3ZhbHVlKGJvb3RzdHJhcC5nZXQoKSwgIkNvbnRhaW5l
ckVudmlyb25tZW50VmFyaWFibGVzIik7Ci0gICAgeHBjX2RpY3Rpb25hcnlfYXBwbHkoY29udGFp
bmVyRW52aXJvbm1lbnRWYXJpYWJsZXMsIF4oY29uc3QgY2hhciAqa2V5LCB4cGNfb2JqZWN0X3Qg
dmFsdWUpIHsKLSAgICAgICAgc2V0ZW52KGtleSwgeHBjX3N0cmluZ19nZXRfc3RyaW5nX3B0cih2
YWx1ZSksIDEpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9KTsKLSNlbmRpZgogCiAgICAg
aWYgKGJvb3RzdHJhcCkgeworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgICAgIGF1dG8g
Y29udGFpbmVyRW52aXJvbm1lbnRWYXJpYWJsZXMgPSB4cGNfZGljdGlvbmFyeV9nZXRfdmFsdWUo
Ym9vdHN0cmFwLmdldCgpLCAiQ29udGFpbmVyRW52aXJvbm1lbnRWYXJpYWJsZXMiKTsKKyAgICAg
ICAgeHBjX2RpY3Rpb25hcnlfYXBwbHkoY29udGFpbmVyRW52aXJvbm1lbnRWYXJpYWJsZXMsIF4o
Y29uc3QgY2hhciAqa2V5LCB4cGNfb2JqZWN0X3QgdmFsdWUpIHsKKyAgICAgICAgICAgIHNldGVu
dihrZXksIHhwY19zdHJpbmdfZ2V0X3N0cmluZ19wdHIodmFsdWUpLCAxKTsKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICB9KTsKKyNlbmRpZgogI2lmIFBMQVRGT1JNKE1BQykKICNp
ZiBBU0FOX0VOQUJMRUQKICAgICAgICAgLy8gRVhDX1JFU09VUkNFIG9uIEFTQU4gYnVpbGRzIGZy
ZWV6ZXMgdGhlIHByb2Nlc3MgZm9yIHNldmVyYWwgbWludXRlczogcmRhcjovLzY1MDI3NTk2CkBA
IC0xNzUsMjAgKzE5OCw2IEBAIGludCBYUENTZXJ2aWNlTWFpbihpbnQgYXJnYywgY29uc3QgY2hh
cioKICAgICAgICAgICAgIGNyYXNoRHVlV2ViS2l0RnJhbWV3b3JrVmVyc2lvbk1pc21hdGNoKCk7
CiAgICAgICAgIH0KICNlbmRpZgotCi0gICAgICAgIGlmICh4cGNfb2JqZWN0X3QgbGFuZ3VhZ2Vz
ID0geHBjX2RpY3Rpb25hcnlfZ2V0X3ZhbHVlKGJvb3RzdHJhcC5nZXQoKSwgIk92ZXJyaWRlTGFu
Z3VhZ2VzIikpIHsKLSAgICAgICAgICAgIEBhdXRvcmVsZWFzZXBvb2wgewotICAgICAgICAgICAg
ICAgIE5TRGljdGlvbmFyeSAqZXhpc3RpbmdBcmd1bWVudHMgPSBbW05TVXNlckRlZmF1bHRzIHN0
YW5kYXJkVXNlckRlZmF1bHRzXSB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNBcmd1bWVudERvbWFp
bl07Ci0gICAgICAgICAgICAgICAgTlNNdXRhYmxlRGljdGlvbmFyeSAqbmV3QXJndW1lbnRzID0g
W2V4aXN0aW5nQXJndW1lbnRzIG11dGFibGVDb3B5XTsKLSAgICAgICAgICAgICAgICBSZXRhaW5Q
dHI8TlNNdXRhYmxlQXJyYXk+IG5ld0xhbmd1YWdlcyA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJh
eSBhbGxvY10gaW5pdF0pOwotICAgICAgICAgICAgICAgIHhwY19hcnJheV9hcHBseShsYW5ndWFn
ZXMsIF4oc2l6ZV90IGluZGV4LCB4cGNfb2JqZWN0X3QgdmFsdWUpIHsKLSAgICAgICAgICAgICAg
ICAgICAgW25ld0xhbmd1YWdlcyBhZGRPYmplY3Q6W05TU3RyaW5nIHN0cmluZ1dpdGhDU3RyaW5n
OnhwY19zdHJpbmdfZ2V0X3N0cmluZ19wdHIodmFsdWUpIGVuY29kaW5nOk5TVVRGOFN0cmluZ0Vu
Y29kaW5nXV07Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAg
ICAgIH0pOwotICAgICAgICAgICAgICAgIFtuZXdBcmd1bWVudHMgc2V0VmFsdWU6bmV3TGFuZ3Vh
Z2VzLmdldCgpIGZvcktleTpAIkFwcGxlTGFuZ3VhZ2VzIl07Ci0gICAgICAgICAgICAgICAgW1tO
U1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRpbGVEb21haW46bmV3
QXJndW1lbnRzIGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0KICAgICB9CiAKICNpZiBQTEFURk9STShNQUMpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCShyZXZpc2lvbiAy
NjkyNDYpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Mu
c2IuaW4JKHdvcmtpbmcgY29weSkKQEAgLTQ4Miw2ICs0ODIsMTQgQEAKICkKICNlbmRpZgogCisj
aWYgIUVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQorKGFsbG93IG1hY2gtbG9va3VwCisgICAg
KGdsb2JhbC1uYW1lICJjb20uYXBwbGUuY2ZwcmVmc2QuYWdlbnQiKQorICAgIChnbG9iYWwtbmFt
ZSAiY29tLmFwcGxlLmNmcHJlZnNkLmRhZW1vbiIpCispCisjZW5kaWYKKworCiA7OyBVdGlsaXR5
IGZ1bmN0aW9ucyBmb3IgaG9tZSBkaXJlY3RvcnkgcmVsYXRpdmUgcGF0aCBmaWx0ZXJzCiAoZGVm
aW5lIChob21lLXJlZ2V4IGhvbWUtcmVsYXRpdmUtcmVnZXgpCiAgIChyZWdleCAoc3RyaW5nLWFw
cGVuZCAiXiIgKHJlZ2V4LXF1b3RlIChwYXJhbSAiSE9NRV9ESVIiKSkgaG9tZS1yZWxhdGl2ZS1y
ZWdleCkpKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5n
ZUxvZwkocmV2aXNpb24gMjY5MjQ3KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMTEtMDIgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5A
YXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gU2V0IHByZWZlcmVuY2UgZm9yIG92ZXJyaWRk
ZW4gbGFuZ3VhZ2VzIGluIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgYWZ0ZXIgZW50ZXJpbmcgdGhl
IHNhbmRib3guCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTgwOTcKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgorCisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQWNjZXNzaWJpbGl0
eVJlZHVjZU1vdGlvbi5tbToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9F
bmFibGVBY2Nlc3NpYmlsaXR5Lm1tOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L092ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tOiBBZGRlZC4KKyAgICAgICAg
KFRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1ByZWZlcmVuY2VD
aGFuZ2VzLm1tOgorCiAyMDIwLTExLTAxICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZW1vdmUgcmVtYWluaW5nIGFsdGVybmF0aXZlIHByZWZlcmVuY2Ugc2V0dGlu
ZyBtZWNoYW5pc21zIGZyb20gTGF5b3V0VGVzdHMKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CShyZXZpc2lvbiAyNjkyNDYpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEku
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtOTM5LDYgKzkzOSw3
IEBACiAJCUMwQURCRTk2MTJGQ0E3OUIwMEQyQzEyOSAvKiBzaW1wbGUtZm9ybS5odG1sIGluIENv
cHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwQURCRTg0
MTJGQ0E2QjYwMEQyQzEyOSAvKiBzaW1wbGUtZm9ybS5odG1sICovOyB9OwogCQlDMEJENjY5RjEz
MUQzQ0ZGMDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseV9CdW5k
bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBC
RDY2OUUxMzFEM0NGRjAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFy
bHlfQnVuZGxlLmNwcCAqLzsgfTsKIAkJQzBDNUQzQzYxNDU5OTEyOTAwQTgwMkE2IC8qIEdldEJh
Y2tpbmdTY2FsZUZhY3Rvcl9CdW5kbGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDMEM1RDNCRDE0NTk4QjZGMDBBODAyQTYgLyogR2V0QmFja2luZ1Nj
YWxlRmFjdG9yX0J1bmRsZS5tbSAqLzsgfTsKKwkJQzEwNEJDMUYyNTQ3MjM3MTAwQzA3OEM5IC8q
IE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzEwNEJDMUUyNTQ3MjM3MTAwQzA3OEM5IC8qIE92
ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1tICovOyB9OwogCQlDMTNEODJEOTI0MTZG
MTMyMDBBNjI3OTMgLyogRW5hYmxlQWNjZXNzaWJpbGl0eS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxM0Q4MkQ4MjQxNkYxMzIwMEE2Mjc5MyAvKiBF
bmFibGVBY2Nlc3NpYmlsaXR5Lm1tICovOyB9OwogCQlDMTQ5RDU1MDI0MkU5OERGMDAzRUJCMTIg
LyogU2xlZXBEaXNhYmxlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEMxNDlENTRGMjQyRTk4NDQwMDNFQkIxMiAvKiBTbGVlcERpc2FibGVyLm1tICov
OyB9OwogCQlDMTREMzA0NjI0QjRDM0JBMDA0ODAzODcgLyogWFBDRW5kcG9pbnQubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTREMzA0NTI0QjRDM0JB
MDA0ODAzODcgLyogWFBDRW5kcG9pbnQubW0gKi87IH07CkBAIC0yNjMxLDYgKzI2MzIsNyBAQAog
CQlDMEJENjY5RTEzMUQzQ0ZGMDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZp
cmVFYXJseV9CdW5kbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseV9CdW5kbGUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDMEM1RDNCQzE0NTk4QjZGMDBBODAyQTYgLyogR2V0QmFja2lu
Z1NjYWxlRmFjdG9yLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
R2V0QmFja2luZ1NjYWxlRmFjdG9yLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
MEM1RDNCRDE0NTk4QjZGMDBBODAyQTYgLyogR2V0QmFja2luZ1NjYWxlRmFjdG9yX0J1bmRsZS5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEdldEJhY2tpbmdTY2Fs
ZUZhY3Rvcl9CdW5kbGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMxMDRCQzFF
MjU0NzIzNzEwMEMwNzhDOSAvKiBPdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5jZS5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IE92ZXJyaWRlQXBwbGVMYW5ndWFnZXNQcmVmZXJlbmNlLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMTNEODJEODI0MTZGMTMyMDBBNjI3OTMg
LyogRW5hYmxlQWNjZXNzaWJpbGl0eS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEVuYWJsZUFj
Y2Vzc2liaWxpdHkubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxNDlENTRGMjQy
RTk4NDQwMDNFQkIxMiAvKiBTbGVlcERpc2FibGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gU2xlZXBEaXNhYmxlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQzE0RDMwNDUyNEI0QzNCQTAwNDgwMzg3IC8qIFhQQ0VuZHBvaW50Lm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gWFBDRW5kcG9pbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0zMTI5LDYgKzMxMzEsNyBAQAogCQkJCUUzOTRBRTZFMjNGMjMwM0UwMDVCNDkzNiAv
KiBHcmFudEFjY2Vzc1RvTW9iaWxlQXNzZXRzLm1tICovLAogCQkJCUUzNEE2RDE4MjQxMkRFMzkw
MDEyQUI2RSAvKiBHcmFudEFjY2Vzc1RvUHJlZmVyZW5jZXNTZXJ2aWNlLm1tICovLAogCQkJCUUz
NUI5MDgxMjNGNjBERDAwMDAwMTFGRiAvKiBMb2NhbGl6ZWREZXZpY2VNb2RlbC5tbSAqLywKKwkJ
CQlDMTA0QkMxRTI1NDcyMzcxMDBDMDc4QzkgLyogT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZl
cmVuY2UubW0gKi8sCiAJCQkJRTMyNUM5MDYyM0UzODcwMjAwQkM3RDNCIC8qIFBpY3R1cmVJblBp
Y3R1cmVTdXBwb3J0Lm1tICovLAogCQkJCUMxNUNCQjNFMjNGQjE3N0EwMDMwMENDNyAvKiBQcmVm
ZXJlbmNlQ2hhbmdlcy5tbSAqLywKIAkJCQlDMTQ5RDU0RjI0MkU5ODQ0MDAzRUJCMTIgLyogU2xl
ZXBEaXNhYmxlci5tbSAqLywKQEAgLTUzMTAsNiArNTMxMyw3IEBACiAJCQkJN0NDRTdGMjUxQTQx
MUFGNjAwNDQ3QzRDIC8qIE9wZW5BbmRDbG9zZVdpbmRvdy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTFDQjJGMjdDMjRGODgzNzkwMDBBNUJDMSAvKiBPcnRob2dvbmFsRmxvd0F2YWlsYWJsZVNpemUu
bW0gaW4gU291cmNlcyAqLywKIAkJCQkwRjM0MDc3NjIzMDM3RkRDMDA2MEExQTAgLyogT3ZlcmZs
b3dTY3JvbGxWaWV3VGVzdHMubW0gaW4gU291cmNlcyAqLywKKwkJCQlDMTA0QkMxRjI1NDcyMzcx
MDBDMDc4QzkgLyogT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0gaW4gU291cmNl
cyAqLywKIAkJCQlDRUJDQTEyRjFFM0E2NjAxMDBDNzMyOTMgLyogT3ZlcnJpZGVDb250ZW50U2Vj
dXJpdHlQb2xpY3kubW0gaW4gU291cmNlcyAqLywKIAkJCQkyREEyNTg2RjIyNUM2N0RDMDBCNDVD
MUMgLyogT3ZlcnJpZGVWaWV3cG9ydEFyZ3VtZW50cy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdD
Q0I0REE5MUM4M0FFNzMwMENDNjkxOCAvKiBQYWdlR3JvdXAuY3BwIGluIFNvdXJjZXMgKi8sCklu
ZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9BY2Nlc3NpYmlsaXR5UmVkdWNl
TW90aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L0FjY2Vzc2liaWxpdHlSZWR1Y2VNb3Rpb24ubW0JKHJldmlzaW9uIDI2OTI0NikKKysrIFRvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0FjY2Vzc2liaWxpdHlSZWR1Y2VNb3Rpb24ubW0J
KHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2ltcG9ydCAiY29uZmlnLmgiCiAK
LSNpZiBXS19IQVZFX0NfU1BJCisjaWYgV0tfSEFWRV9DX1NQSSAmJiBFTkFCTEUoQ0ZQUkVGU19E
SVJFQ1RfTU9ERSkKIAogI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKICNpbXBvcnQgIlRl
c3RXS1dlYlZpZXcuaCIKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0Vu
YWJsZUFjY2Vzc2liaWxpdHkubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQvRW5hYmxlQWNjZXNzaWJpbGl0eS5tbQkocmV2aXNpb24gMjY5MjQ2KQorKysg
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRW5hYmxlQWNjZXNzaWJpbGl0eS5tbQko
d29ya2luZyBjb3B5KQpAQCAtNzYsNiArNzYsNyBAQCBURVNUKFdlYktpdCwgQWNjZXNzaWJpbGl0
eUhhc1ByZWZlcmVuY2VzCiAgICAgW05TQXBwIGFjY2Vzc2liaWxpdHlTZXRFbmhhbmNlZFVzZXJJ
bnRlcmZhY2VBdHRyaWJ1dGU6QChOTyldOwogfQogCisjaWYgRU5BQkxFKENGUFJFRlNfRElSRUNU
X01PREUpCiBURVNUKFdlYktpdCwgQWNjZXNzaWJpbGl0eUhhc05vUHJlZmVyZW5jZXNTZXJ2aWNl
QWNjZXNzV2hlblBvc3RpbmdOb3RpZmljYXRpb24pCiB7CiAgICAgYXV0byBjb25maWd1cmF0aW9u
ID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKQEAgLTk1
LDYgKzk2LDcgQEAgVEVTVChXZWJLaXQsIEFjY2Vzc2liaWxpdHlIYXNOb1ByZWZlcmVuYwogCiAg
ICAgQVNTRVJUX1RSVUUoIXNhbmRib3hBY2Nlc3MoKSk7CiB9CisjZW5kaWYKIAogI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCiBURVNUKFdlYktpdCwgQWNjZXNzaWJpbGl0eUhhc0Zyb250Ym9hcmRT
ZXJ2aWNlQWNjZXNzKQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3Zl
cnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2Uu
bW0JKG5vbmV4aXN0ZW50KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvT3Zl
cnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisjaWYgV0tfSEFWRV9D
X1NQSQorCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdFdLV2Vi
Vmlldy5oIgorCitURVNUKFdlYktpdCwgT3ZlcnJpZGVBcHBsZUxhbmd1YWdlc1ByZWZlcmVuY2Up
Cit7CisgICAgTlNEaWN0aW9uYXJ5ICpkaWN0ID0gQHsKKyAgICAgICAgQCJBcHBsZUxhbmd1YWdl
cyI6IEBbIEAiZW4tR0IiIF0sCisgICAgfTsKKworICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRh
cmRVc2VyRGVmYXVsdHNdIHNldFZvbGF0aWxlRG9tYWluOmRpY3QgZm9yTmFtZTpOU0FyZ3VtZW50
RG9tYWluXTsKKworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdD
b25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVm
PiBjb250ZXh0ID0gYWRvcHRXSyhUZXN0V2ViS2l0QVBJOjpVdGlsOjpjcmVhdGVDb250ZXh0Rm9y
SW5qZWN0ZWRCdW5kbGVUZXN0KCJJbnRlcm5hbHNJbmplY3RlZEJ1bmRsZVRlc3QiKSk7CisgICAg
Y29uZmlndXJhdGlvbi5nZXQoKS5wcm9jZXNzUG9vbCA9IChXS1Byb2Nlc3NQb29sICopY29udGV4
dC5nZXQoKTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxv
Y10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9u
OmNvbmZpZ3VyYXRpb24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisKKyAgICBhdXRvIHByZWZl
cnJlZExhbmd1YWdlID0gWyZdIHsKKyAgICAgICAgcmV0dXJuIFt3ZWJWaWV3IHN0cmluZ0J5RXZh
bHVhdGluZ0phdmFTY3JpcHQ6QCJ3aW5kb3cuaW50ZXJuYWxzLnVzZXJQcmVmZXJyZWRMYW5ndWFn
ZXMoKVswXSJdOworICAgIH07CisKKyAgICBBU1NFUlRfVFJVRShbcHJlZmVycmVkTGFuZ3VhZ2Uo
KSBpc0VxdWFsOkAiZW4tZ2IiXSk7Cit9CisKKyNlbmRpZiAvLyBXS19IQVZFX0NfU1BJCkluZGV4
OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9QcmVmZXJlbmNlQ2hhbmdlcy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9QcmVmZXJlbmNl
Q2hhbmdlcy5tbQkocmV2aXNpb24gMjY5MjQ2KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQvUHJlZmVyZW5jZUNoYW5nZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM4MSw2ICsz
ODEsNyBAQCBURVNUKFdlYktpdCwgUHJlZmVyZW5jZUNoYW5nZXNOaWwpCiAgICAgQ0xFQVJfREVG
QVVMVFMoKTsKIH0KIAorI2lmIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogc3RhdGljIElN
UCBzaGFyZWRJbnN0YW5jZU1ldGhvZE9yaWdpbmFsID0gbmlsOwogc3RhdGljIGJvb2wgc2hhcmVk
SW5zdGFuY2VDYWxsZWQgPSBmYWxzZTsKIApAQCAtNDEwLDUgKzQxMSw2IEBAIFRFU1QoV2ViS2l0
LCBQcmVmZXJlbmNlT2JzZXJ2ZXJTdGFydGVkT24KIAogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6
OnJ1bigmc2hhcmVkSW5zdGFuY2VDYWxsZWQpOwogfQorI2VuZGlmCiAKICNlbmRpZiAvLyBXS19I
QVZFX0NfU1BJCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjkyNDYpCisrKyBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMiBAQAorMjAyMC0xMS0wMiAgUGVyIEFy
bmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBTZXQgcHJl
ZmVyZW5jZSBmb3Igb3ZlcnJpZGRlbiBsYW5ndWFnZXMgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2Vz
cyBhZnRlciBlbnRlcmluZyB0aGUgc2FuZGJveC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODA5NworCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXhl
eSBQcm9za3VyeWFrb3YuCisKKyAgICAgICAgQWRkIHRlc3QgZm9yIHNhbmRib3ggYWNjZXNzIHRv
IGNmcHJlZnNkLmRhZW1vbiwgYW5kIG1hcmsgY2ZwcmVmc2QgdGVzdHMgYXMgZmFpbGluZyBmb3Ig
TW9qYXZlIGFuZCBDYXRhbGluYSwgc2luY2UgQ0ZQcmVmcworICAgICAgICBkaXJlY3QgbW9kZSBp
cyBub3QgZW5hYmxlZCBvbiB0aG9zZSB2ZXJzaW9ucyBvZiBtYWNPUy4KKworICAgICAgICAqIGZh
c3Qvc2FuZGJveC9tYWMvc2FuZGJveC1tYWNoLWxvb2t1cC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9zYW5kYm94L21hYy9zYW5kYm94LW1hY2gtbG9va3VwLmh0bWw6CisgICAgICAgICog
cGxhdGZvcm0vbWFjLWNhdGFsaW5hL2Zhc3Qvc2FuZGJveDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vbWFjLWNhdGFsaW5hL2Zhc3Qvc2FuZGJveC9tYWM6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L3NhbmRib3gvbWFjL3NhbmRib3gtbWFjaC1sb29rdXAt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbW9qYXZlL2Zhc3Qv
c2FuZGJveDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLW1vamF2ZS9mYXN0L3NhbmRi
b3gvbWFjOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbW9qYXZlL2Zhc3Qvc2FuZGJv
eC9tYWMvc2FuZGJveC1tYWNoLWxvb2t1cC1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDIwLTEx
LTAyICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBb
R0xJQl0gUkVHUkVTU0lPTihyMjY5MTQ0KSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3NvbS12aWV3L3Njcm9sbEludG9WaWV3LXNjcm9sbE1hcmdpbi5odG1sIGlzIGZhaWxp
bmcKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2FuZGJveC9tYWMvc2FuZGJveC1tYWNoLWxvb2t1
cC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zYW5kYm94L21h
Yy9zYW5kYm94LW1hY2gtbG9va3VwLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjY5MjQ2KQorKysg
TGF5b3V0VGVzdHMvZmFzdC9zYW5kYm94L21hYy9zYW5kYm94LW1hY2gtbG9va3VwLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtNCw2ICs0LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQQogCiAKIFBBU1MgaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9v
a3VwQWNjZXNzVG9HbG9iYWxOYW1lKCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiLCAiY29t
LmFwcGxlLmNmcHJlZnNkLmFnZW50IikgaXMgZmFsc2UKK1BBU1MgaW50ZXJuYWxzLmhhc1NhbmRi
b3hNYWNoTG9va3VwQWNjZXNzVG9HbG9iYWxOYW1lKCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRl
bnQiLCAiY29tLmFwcGxlLmNmcHJlZnNkLmRhZW1vbiIpIGlzIGZhbHNlCiBQQVNTIGludGVybmFs
cy5oYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFtZSgiY29tLmFwcGxlLldlYktp
dC5XZWJDb250ZW50IiwgImNvbS5hcHBsZS5uZWhlbHBlciIpIGlzIGZhbHNlCiBQQVNTIGludGVy
bmFscy5oYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFtZSgiY29tLmFwcGxlLldl
YktpdC5XZWJDb250ZW50IiwgImNvbS5hcHBsZS5uZXNlc3Npb25tYW5hZ2VyIikgaXMgZmFsc2UK
IFBBU1MgaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9va3VwQWNjZXNzVG9HbG9iYWxOYW1lKCJj
b20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiLCAiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIu
Y29udGVudC1maWx0ZXIiKSBpcyBmYWxzZQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zYW5kYm94
L21hYy9zYW5kYm94LW1hY2gtbG9va3VwLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9zYW5kYm94L21hYy9zYW5kYm94LW1hY2gtbG9va3VwLmh0bWwJKHJldmlzaW9uIDI2OTI0
NikKKysrIExheW91dFRlc3RzL2Zhc3Qvc2FuZGJveC9tYWMvc2FuZGJveC1tYWNoLWxvb2t1cC5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC03LDYgKzcsNyBAQCBkZXNjcmlwdGlvbignUmVncmVzc2lv
biB0ZXN0cyBmb3IgbWFjaCBsCiAKIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgc2hvdWxk
QmVGYWxzZSgiaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9va3VwQWNjZXNzVG9HbG9iYWxOYW1l
KFwiY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50XCIsIFwiY29tLmFwcGxlLmNmcHJlZnNkLmFn
ZW50XCIpIik7CisgICAgc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9v
a3VwQWNjZXNzVG9HbG9iYWxOYW1lKFwiY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50XCIsIFwi
Y29tLmFwcGxlLmNmcHJlZnNkLmRhZW1vblwiKSIpOwogICAgIHNob3VsZEJlRmFsc2UoImludGVy
bmFscy5oYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFtZShcImNvbS5hcHBsZS5X
ZWJLaXQuV2ViQ29udGVudFwiLCBcImNvbS5hcHBsZS5uZWhlbHBlclwiKSIpOwogICAgIHNob3Vs
ZEJlRmFsc2UoImludGVybmFscy5oYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFt
ZShcImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudFwiLCBcImNvbS5hcHBsZS5uZXNlc3Npb25t
YW5hZ2VyXCIpIik7CiAgICAgc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNo
TG9va3VwQWNjZXNzVG9HbG9iYWxOYW1lKFwiY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50XCIs
IFwiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIuY29udGVudC1maWx0ZXJcIikiKTsKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L3NhbmRib3gvbWFjL3NhbmRi
b3gtbWFjaC1sb29rdXAtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L3NhbmRib3gvbWFjL3NhbmRib3gtbWFjaC1sb29rdXAt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1j
YXRhbGluYS9mYXN0L3NhbmRib3gvbWFjL3NhbmRib3gtbWFjaC1sb29rdXAtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTUgQEAKK1JlZ3Jlc3Npb24gdGVzdHMgZm9yIG1h
Y2ggbG9va3VwIHNhbmRib3ggY2hhbmdlcyBvbiBtYWNPUworCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworRkFJTCBpbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29rdXBBY2Nlc3NUb0ds
b2JhbE5hbWUoImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCIsICJjb20uYXBwbGUuY2ZwcmVm
c2QuYWdlbnQiKSBzaG91bGQgYmUgZmFsc2UuIFdhcyB0cnVlLgorRkFJTCBpbnRlcm5hbHMuaGFz
U2FuZGJveE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUoImNvbS5hcHBsZS5XZWJLaXQuV2Vi
Q29udGVudCIsICJjb20uYXBwbGUuY2ZwcmVmc2QuZGFlbW9uIikgc2hvdWxkIGJlIGZhbHNlLiBX
YXMgdHJ1ZS4KK1BBU1MgaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9va3VwQWNjZXNzVG9HbG9i
YWxOYW1lKCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiLCAiY29tLmFwcGxlLm5laGVscGVy
IikgaXMgZmFsc2UKK1BBU1MgaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9va3VwQWNjZXNzVG9H
bG9iYWxOYW1lKCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiLCAiY29tLmFwcGxlLm5lc2Vz
c2lvbm1hbmFnZXIiKSBpcyBmYWxzZQorUEFTUyBpbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29r
dXBBY2Nlc3NUb0dsb2JhbE5hbWUoImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCIsICJjb20u
YXBwbGUubmVzZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciIpIGlzIGZhbHNlCitQQVNTIGlu
dGVybmFscy5oYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFtZSgiY29tLmFwcGxl
LldlYktpdC5XZWJDb250ZW50IiwgImNvbS5hcHBsZS5zeXN0ZW0ubG9nZ2VyIikgaXMgZmFsc2UK
K1BBU1MgaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9va3VwQWNjZXNzVG9HbG9iYWxOYW1lKCJj
b20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiLCAiY29tLmFwcGxlLmF3ZGQiKSBpcyBmYWxzZQor
UEFTUyBpbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUoImNv
bS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCIsICJjb20uYXBwbGUuY29va2llZCIpIGlzIGZhbHNl
CitQQVNTIGludGVybmFscy5oYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvWFBDU2VydmljZU5h
bWUoImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCIsICJjb20uYXBwbGUuUGVyZm9ybWFuY2VB
bmFseXNpcy5hbmltYXRpb25wZXJmZCIpIGlzIGZhbHNlCisKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy1tb2phdmUvZmFzdC9zYW5kYm94L21hYy9zYW5kYm94LW1hY2gtbG9va3VwLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbW9qYXZl
L2Zhc3Qvc2FuZGJveC9tYWMvc2FuZGJveC1tYWNoLWxvb2t1cC1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLW1vamF2ZS9mYXN0L3NhbmRib3gv
bWFjL3NhbmRib3gtbWFjaC1sb29rdXAtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMTUgQEAKK1JlZ3Jlc3Npb24gdGVzdHMgZm9yIG1hY2ggbG9va3VwIHNhbmRib3ggY2hh
bmdlcyBvbiBtYWNPUworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworRkFJTCBpbnRl
cm5hbHMuaGFzU2FuZGJveE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUoImNvbS5hcHBsZS5X
ZWJLaXQuV2ViQ29udGVudCIsICJjb20uYXBwbGUuY2ZwcmVmc2QuYWdlbnQiKSBzaG91bGQgYmUg
ZmFsc2UuIFdhcyB0cnVlLgorRkFJTCBpbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29rdXBBY2Nl
c3NUb0dsb2JhbE5hbWUoImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCIsICJjb20uYXBwbGUu
Y2ZwcmVmc2QuZGFlbW9uIikgc2hvdWxkIGJlIGZhbHNlLiBXYXMgdHJ1ZS4KK1BBU1MgaW50ZXJu
YWxzLmhhc1NhbmRib3hNYWNoTG9va3VwQWNjZXNzVG9HbG9iYWxOYW1lKCJjb20uYXBwbGUuV2Vi
S2l0LldlYkNvbnRlbnQiLCAiY29tLmFwcGxlLm5laGVscGVyIikgaXMgZmFsc2UKK1BBU1MgaW50
ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9va3VwQWNjZXNzVG9HbG9iYWxOYW1lKCJjb20uYXBwbGUu
V2ViS2l0LldlYkNvbnRlbnQiLCAiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIiKSBpcyBmYWxz
ZQorUEFTUyBpbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUo
ImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCIsICJjb20uYXBwbGUubmVzZXNzaW9ubWFuYWdl
ci5jb250ZW50LWZpbHRlciIpIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5oYXNTYW5kYm94TWFj
aExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFtZSgiY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50Iiwg
ImNvbS5hcHBsZS5zeXN0ZW0ubG9nZ2VyIikgaXMgZmFsc2UKK1BBU1MgaW50ZXJuYWxzLmhhc1Nh
bmRib3hNYWNoTG9va3VwQWNjZXNzVG9HbG9iYWxOYW1lKCJjb20uYXBwbGUuV2ViS2l0LldlYkNv
bnRlbnQiLCAiY29tLmFwcGxlLmF3ZGQiKSBpcyBmYWxzZQorUEFTUyBpbnRlcm5hbHMuaGFzU2Fu
ZGJveE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUoImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29u
dGVudCIsICJjb20uYXBwbGUuY29va2llZCIpIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5oYXNT
YW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvWFBDU2VydmljZU5hbWUoImNvbS5hcHBsZS5XZWJLaXQu
V2ViQ29udGVudCIsICJjb20uYXBwbGUuUGVyZm9ybWFuY2VBbmFseXNpcy5hbmltYXRpb25wZXJm
ZCIpIGlzIGZhbHNlCisK
</data>

          </attachment>
      

    </bug>

</bugzilla>